IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

<>
  • 特許-顔面表情による遠隔アバターの操縦 図1
  • 特許-顔面表情による遠隔アバターの操縦 図2A
  • 特許-顔面表情による遠隔アバターの操縦 図2B
  • 特許-顔面表情による遠隔アバターの操縦 図2C
  • 特許-顔面表情による遠隔アバターの操縦 図2D
  • 特許-顔面表情による遠隔アバターの操縦 図2E
  • 特許-顔面表情による遠隔アバターの操縦 図2F
  • 特許-顔面表情による遠隔アバターの操縦 図3
  • 特許-顔面表情による遠隔アバターの操縦 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-15
(45)【発行日】2022-06-23
(54)【発明の名称】顔面表情による遠隔アバターの操縦
(51)【国際特許分類】
   G06T 19/00 20110101AFI20220616BHJP
   G06T 7/20 20170101ALI20220616BHJP
【FI】
G06T19/00 A
G06T7/20 300B
【請求項の数】 21
(21)【出願番号】P 2020560922
(86)(22)【出願日】2019-05-01
(65)【公表番号】
(43)【公表日】2021-09-02
(86)【国際出願番号】 US2019030218
(87)【国際公開番号】W WO2019217177
(87)【国際公開日】2019-11-14
【審査請求日】2021-03-04
(31)【優先権主張番号】62/667,767
(32)【優先日】2018-05-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】ヘフニー,タレク
(72)【発明者】
【氏名】レイター,ニコラス
(72)【発明者】
【氏名】ヤング,ブランドン
(72)【発明者】
【氏名】カンドア,アルン
(72)【発明者】
【氏名】カワー,ディロン
【審査官】片岡 利延
(56)【参考文献】
【文献】米国特許出願公開第2015/0042743(US,A1)
【文献】特表2017-531242(JP,A)
【文献】特開2011-210118(JP,A)
【文献】特表2002-507033(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06T 7/20
(57)【特許請求の範囲】
【請求項1】
方法(300)であって、
データ処理ハードウェア(154)において、第1の顔フレームワーク(144a)と中立の顔面表情(22)を有するユーザ(10)の顔(20)の第1の取り込み画像(130a)とを受け取るステップを備え、前記第1の顔フレームワーク(144a)は、第1のフレームにおける前記ユーザ(10)の前記顔(20)に対応し、顔情報(140)の第1の顔メッシュ(142a)を備え、前記方法(300)はさらに、
前記データ処理ハードウェア(154)が、前記顔の前記第1の取り込み画像(130a)を前記第1の顔フレームワーク(144a)上に投影するステップと、
前記データ処理ハードウェア(154)が、前記投影された第1の取り込み画像(130a)に基づいて、前記ユーザ(10)の前記顔(20)に対応する顔テクスチャ(212)を判断するステップと、
前記データ処理ハードウェア(154)において、第2の顔フレームワーク(144b)を受け取るステップとを備え、前記第2の顔フレームワーク(144b)は、第2のフレームにおける前記ユーザ(10)の前記顔(20)に対応し、顔情報(140)の第2の顔メッシュ(142b)を備え、前記方法(300)はさらに、
前記データ処理ハードウェア(154)が、前記受け取られた第2の顔フレームワーク(144b)に基づいて、前記顔テクスチャ(212)を更新するステップと、
前記データ処理ハードウェア(154)が、前記更新された顔テクスチャ(212)を三次元アバター(160)として表示するステップとを備え、前記三次元アバター(160)は、前記ユーザ(10)の前記顔(20)の仮想表現に対応し、
前記方法は、前記データ処理ハードウェア(154)において、前記ユーザ(10)の前記顔(20)の第2の取り込み画像(130b)を受け取るステップをさらに備え、前記第2の取り込み画像(130b)は、前記ユーザの顔面表情(22)として笑顔を取り込み、
前記方法は、前記データ処理ハードウェア(154)において、前記ユーザ(10)の前記顔(20)の第3の取り込み画像(130c)を受け取るステップをさらに備え、前記第3の取り込み画像(130c)は、前記ユーザの前記顔面表情(22)として両方の眉を上げた状態を取り込み、
前記方法は、前記データ処理ハードウェア(154)において、前記ユーザ(10)の前記顔(20)の第4の取り込み画像(130d)を受け取るステップをさらに備え、前記第4の取り込み画像(130d)は、前記ユーザの前記顔面表情(22)として笑顔および両方の眉を上げた状態を取り込み、
前記方法は、
各々の取り込み画像について、前記データ処理ハードウェア(154)が、前記ユーザ(10)の前記顔(20)に対応する顔面表情(22)テクスチャを判断するステップと、
前記データ処理ハードウェア(154)が、前記受け取られた第2の顔フレームワーク(144b)に基づいて、各々の取り込み画像の前記顔面表情(22)テクスチャと前記更新された顔テクスチャ(212)とをブレンドして、ブレンドされた顔テクスチャ(212)を生成するステップと、
前記データ処理ハードウェア(154)が、前記ブレンドされた顔テクスチャ(212)により前記三次元アバター(160)をレンダリングするステップとをさらに備え、
ブレンドするステップは、
各々の取り込み画像についてテクスチャベクトル(232)を判断するステップをさらに備え、前記テクスチャベクトル(232)は、前記中立の顔面表情(22)を有する前記第1の取り込み画像(130a)との差のベクトル表現に対応し、ブレンドするステップはさらに、
前記受け取られた第2の顔フレームワーク(144b)に基づいて、現在のテクスチャベクトル(232)を判断するステップと、
前記現在のテクスチャベクトル(232)と各々の取り込み画像の前記テクスチャベクトル(232)との間の差に基づいて、レンダリング重み(244)を割り当てるステップと、
前記レンダリング重み(244)に基づいて、前記ブレンドされた顔テクスチャ(212)により前記三次元アバター(160)をレンダリングするステップとを備える、方法(300)。
【請求項2】
前記レンダリング重み(244)は、1に等しい合計を有する、請求項に記載の方法(300)。
【請求項3】
前記現在のテクスチャベクトル(232)および各々の取り込み画像の前記テクスチャベクトル(232)の各々は、52変数からなる浮動ベクトルに対応する、請求項またはに記載の方法(300)。
【請求項4】
前記レンダリング重み(244)は、前記現在のテクスチャベクトル(232)と各々の取り込み画像の前記テクスチャベクトル(232)との間の前記差が増加するにつれて、大きさが小さくなる、請求項に記載の方法(300)。
【請求項5】
前記データ処理ハードウェア(154)において、前記第2のフレームにおける顔情報(140)の現在の顔面表情(22)メッシュを有する前記ユーザ(10)の前記顔(20)の取り込まれた現在の画像を受け取るステップと、
前記データ処理ハードウェア(154)が、前記受け取られた顔フレームワークおよび前記取り込まれた現在の画像に基づいて、前記顔テクスチャ(212)を更新するステップとをさらに備える、請求項1~のいずれか1項に記載の方法(300)。
【請求項6】
前記受け取られた取り込まれた現在の画像は、減少させた分量の顔テクスチャ(212)に対応する、請求項に記載の方法(300)。
【請求項7】
前記データ処理ハードウェア(154)が、前記受け取られた取り込まれた現在の画像に基づいて、前記ユーザ(10)の前記顔(20)の遮られた部分を判断するステップと、
前記データ処理ハードウェア(154)が、前記ユーザ(10)の前記顔(20)の前記遮られた部分、以前のフレームからの遮られていない取り込まれた画像から生成された顔テクスチャ(212)で置換するステップとをさらに備える、請求項に記載の方法(300)。
【請求項8】
方法(300)であって、
データ処理ハードウェア(154)において、第1の顔フレームワーク(144a)と中立の顔面表情(22)を有するユーザ(10)の顔(20)の第1の取り込み画像(130a)とを受け取るステップを備え、前記第1の顔フレームワーク(144a)は、第1のフレームにおける前記ユーザ(10)の前記顔(20)に対応し、顔情報(140)の第1の顔メッシュ(142a)を備え、前記方法(300)はさらに、
前記データ処理ハードウェア(154)が、前記顔の前記第1の取り込み画像(130a)を前記第1の顔フレームワーク(144a)上に投影するステップと、
前記データ処理ハードウェア(154)が、前記投影された第1の取り込み画像(130a)に基づいて、前記ユーザ(10)の前記顔(20)に対応する顔テクスチャ(212)を判断するステップと、
前記データ処理ハードウェア(154)において、第2の顔フレームワーク(144b)を受け取るステップとを備え、前記第2の顔フレームワーク(144b)は、第2のフレームにおける前記ユーザ(10)の前記顔(20)に対応し、顔情報(140)の第2の顔メッシュ(142b)を備え、前記方法(300)はさらに、
前記データ処理ハードウェア(154)が、前記受け取られた第2の顔フレームワーク(144b)に基づいて、前記顔テクスチャ(212)を更新するステップと、
前記データ処理ハードウェア(154)が、前記更新された顔テクスチャ(212)を三次元アバター(160)として表示するステップとを備え、前記三次元アバター(160)は、前記ユーザ(10)の前記顔(20)の仮想表現に対応し、
前記方法は、前記データ処理ハードウェア(154)が、前記ユーザの眼または口の描出を生成するステップをさらに備え、前記生成するステップは、
前記データ処理ハードウェア(154)が、前記眼または前記口のエッジを検出するステップと、
前記データ処理ハードウェア(154)が、前記眼または前記口の前記エッジに関連付けられた角度の合計が2π(360度)に対応することを判断するステップと、
前記データ処理ハードウェア(154)が、2πに対応する前記検出されたエッジに基づいて、前記眼または前記口の位置を近似するステップと、
前記データ処理ハードウェア(154)が、前記顔の前記取り込み画像から前記近似された位置における前記口または前記眼を抽出するステップと、
前記データ処理ハードウェア(154)が、前記近似された位置における前記抽出された口または前記抽出された眼をフィルでレンダリングするステップとによって行われる、方法(300)。
【請求項9】
前記第1の取り込み画像(130a)は、携帯電話(100)からの赤、緑および青の(RGB)画像を備える、請求項1~のいずれか1項に記載の方法(300)。
【請求項10】
前記三次元アバター(160)は、拡張現実(AR)デバイス(100)上に表示される、請求項1~のいずれか1項に記載の方法(300)。
【請求項11】
システム(100)であって、
データ処理ハードウェア(154)と、
前記データ処理ハードウェア(154)と通信するメモリハードウェア(156)とを備え、前記メモリハードウェア(156)は、命令を格納し、前記命令は、前記データ処理ハードウェア(154)上で実行されると、前記データ処理ハードウェア(154)にオペレーションを実行させ、前記オペレーションは、
第1の顔フレームワーク(144a)と中立の顔面表情(22)を有するユーザ(10)の顔(20)の第1の取り込み画像(130a)とを受け取るステップを備え、前記第1の顔フレームワーク(144a)は、第1のフレームにおける前記ユーザ(10)の前記顔(20)に対応し、顔情報(140)の第1の顔メッシュ(142a)を備え、前記オペレーションはさらに、
前記顔の前記第1の取り込み画像(130a)を前記第1の顔フレームワーク(144a)上に投影するステップと、
前記投影された第1の取り込み画像(130a)に基づいて、前記ユーザ(10)の前記顔(20)に対応する顔テクスチャ(212)を判断するステップと、
第2の顔フレームワーク(144b)を受け取るステップとを備え、前記第2の顔フレームワーク(144b)は、第2のフレームにおける前記ユーザ(10)の前記顔(20)に対応し、顔情報(140)の第2の顔メッシュ(142b)を備え、前記オペレーションはさらに、
前記受け取られた第2の顔フレームワーク(144b)に基づいて、前記顔テクスチャ(212)を更新するステップと、
前記更新された顔テクスチャ(212)を三次元アバター(160)として表示するステップとを備え、前記三次元アバター(160)は、前記ユーザ(10)の前記顔(20)の仮想表現に対応
前記オペレーションは、
前記ユーザ(10)の前記顔(20)の第2の取り込み画像(130b)を受け取るステップをさらに備え、前記第2の取り込み画像(130b)は、前記ユーザの顔面表情(22)として笑顔を取り込み、前記オペレーションはさらに、
前記ユーザ(10)の前記顔(20)の第3の取り込み画像(130c)を受け取るステップを備え、前記第3の取り込み画像(130c)は、前記ユーザの前記顔面表情(22)として両方の眉を上げた状態を取り込み、前記オペレーションはさらに、
前記ユーザ(10)の前記顔(20)の第4の取り込み画像(130d)を受け取るステップを備え、前記第4の取り込み画像(130d)は、前記ユーザの前記顔面表情(22)として笑顔および両方の眉を上げた状態を取り込み、前記オペレーションはさらに、
各々の取り込み画像について、前記ユーザ(10)の前記顔(20)に対応する顔面表情(22)テクスチャを判断するステップと、
前記受け取られた第2の顔フレームワーク(144b)に基づいて、各々の取り込み画像の前記顔面表情(22)テクスチャと前記更新された顔テクスチャ(212)とをブレンドして、ブレンドされた顔テクスチャ(212)を生成するステップと、
前記ブレンドされた顔テクスチャ(212)により前記三次元アバター(160)をレンダリングするステップとを備え、
ブレンドするステップは、
各々の取り込み画像についてテクスチャベクトル(232)を判断するステップをさらに備え、前記テクスチャベクトル(232)は、前記中立の顔面表情(22)を有する前記第1の取り込み画像(130a)との差のベクトル表現に対応し、ブレンドするステップはさらに、
前記受け取られた第2の顔フレームワーク(144b)に基づいて、現在のテクスチャベクトル(232)を判断するステップと、
前記現在のテクスチャベクトル(232)と各々の取り込み画像の前記テクスチャベクトル(232)との間の差に基づいて、レンダリング重み(244)を割り当てるステップと、
前記レンダリング重み(244)に基づいて、前記ブレンドされた顔テクスチャ(212)により前記三次元アバター(160)をレンダリングするステップとを備える、システム(100)。
【請求項12】
前記レンダリング重み(244)は、1に等しい合計を有する、請求項11に記載のシステム(100)。
【請求項13】
前記現在のテクスチャベクトル(232)および各々の取り込み画像の前記テクスチャベクトル(232)の各々は、52変数からなる浮動ベクトルに対応する、請求項11または12に記載のシステム(100)。
【請求項14】
前記レンダリング重み(244)は、前記現在のテクスチャベクトル(232)と各々の取り込み画像の前記テクスチャベクトル(232)との間の前記差が増加するにつれて、大きさが小さくなる、請求項13に記載のシステム(100)。
【請求項15】
前記オペレーションは、
前記第2のフレームにおける顔情報(140)の現在の顔面表情(22)メッシュを有する前記ユーザ(10)の前記顔(20)の取り込まれた現在の画像を受け取るステップと、
前記受け取られた顔フレームワークおよび前記取り込まれた現在の画像に基づいて、前記顔テクスチャ(212)を更新するステップとをさらに備える、請求項1114のいずれか1項に記載のシステム(100)。
【請求項16】
前記受け取られた取り込まれた現在の画像は、減少させた分量の顔テクスチャ(212)に対応する、請求項15に記載のシステム(100)。
【請求項17】
前記オペレーションは、
前記データ処理ハードウェア(154)が、前記受け取られた取り込まれた現在の画像に基づいて、前記ユーザ(10)の前記顔(20)の遮られた部分を判断するステップと、
前記データ処理ハードウェア(154)が、前記ユーザ(10)の前記顔(20)の前記遮られた部分、以前のフレームからの遮られていない取り込まれた画像から生成された顔テクスチャ(212)で置換するステップとをさらに備える、請求項16に記載のシステム(100)。
【請求項18】
システム(100)であって、
データ処理ハードウェア(154)と、
前記データ処理ハードウェア(154)と通信するメモリハードウェア(156)とを備え、前記メモリハードウェア(156)は、命令を格納し、前記命令は、前記データ処理ハードウェア(154)上で実行されると、前記データ処理ハードウェア(154)にオペレーションを実行させ、前記オペレーションは、
第1の顔フレームワーク(144a)と中立の顔面表情(22)を有するユーザ(10)の顔(20)の第1の取り込み画像(130a)とを受け取るステップを備え、前記第1の顔フレームワーク(144a)は、第1のフレームにおける前記ユーザ(10)の前記顔(20)に対応し、顔情報(140)の第1の顔メッシュ(142a)を備え、前記オペレーションはさらに、
前記顔の前記第1の取り込み画像(130a)を前記第1の顔フレームワーク(144a)上に投影するステップと、
前記投影された第1の取り込み画像(130a)に基づいて、前記ユーザ(10)の前記顔(20)に対応する顔テクスチャ(212)を判断するステップと、
第2の顔フレームワーク(144b)を受け取るステップとを備え、前記第2の顔フレームワーク(144b)は、第2のフレームにおける前記ユーザ(10)の前記顔(20)に対応し、顔情報(140)の第2の顔メッシュ(142b)を備え、前記オペレーションはさらに、
前記受け取られた第2の顔フレームワーク(144b)に基づいて、前記顔テクスチャ(212)を更新するステップと、
前記更新された顔テクスチャ(212)を三次元アバター(160)として表示するステップとを備え、前記三次元アバター(160)は、前記ユーザ(10)の前記顔(20)の仮想表現に対応し、
前記オペレーションは、前記ユーザの眼または口の描出を生成するステップをさらに備え、前記生成するステップは、
前記眼または前記口のエッジを検出するステップと、
前記眼または前記口の前記エッジに関連付けられた角度の合計が2π(360度)に対応することを判断するステップと、
2πに対応する前記検出されたエッジに基づいて、前記眼または前記口の位置を近似するステップと、
前記顔の前記取り込み画像から前記近似された位置における前記口または前記眼を抽出するステップと、
前記近似された位置における前記抽出された口または前記抽出された眼をフィルでレンダリングするステップとによって行われる、システム(100)。
【請求項19】
前記第1の取り込み画像(130)は、携帯電話(110)からの赤、緑および青の(RGB)画像を備える、請求項1118のいずれか1項に記載のシステム(100)。
【請求項20】
前記三次元アバター(160)は、拡張現実(AR)デバイス(110)上に表示される、請求項1119のいずれか1項に記載のシステム(100)。
【請求項21】
方法(300)であって、
データ処理ハードウェア(154)において、第1の顔フレームワーク(144a)と中立の顔面表情(22)を有するユーザ(10)の顔(20)の第1の取り込み画像(130a)とを受け取るステップを備え、前記第1の顔フレームワーク(144a)は、第1のフレームにおける前記ユーザ(10)の前記顔(20)に対応し、顔情報(140)の第1の顔メッシュ(142a)を備え、前記方法(300)はさらに、
前記データ処理ハードウェア(154)が、前記顔の前記第1の取り込み画像(130a)を前記第1の顔フレームワーク(144a)上に投影するステップと、
前記データ処理ハードウェア(154)が、前記投影された第1の取り込み画像(130a)に基づいて、前記ユーザ(10)の前記顔(20)に対応する顔テクスチャ(212)を判断するステップと、
前記データ処理ハードウェア(154)が、前記判断された顔テクスチャ(212)を三次元アバター(160)として表示するステップとを備え、前記三次元アバター(160)は、前記ユーザ(10)の前記顔(20)の仮想表現に対応し、
前記方法は、前記データ処理ハードウェア(154)が、前記ユーザの眼または口の描出を生成するステップをさらに備え、前記生成するステップは、
前記データ処理ハードウェア(154)が、前記眼または前記口のエッジを検出するステップと、
前記データ処理ハードウェア(154)が、前記眼または前記口の前記エッジに関連付けられた角度の合計が2π(360度)に対応することを判断するステップと、
前記データ処理ハードウェア(154)が、2πに対応する前記検出されたエッジに基づいて、前記眼または前記口の位置を近似するステップと、
前記データ処理ハードウェア(154)が、前記顔の前記取り込み画像から前記近似された位置における前記口または前記眼を抽出するステップと、
前記データ処理ハードウェア(154)が、前記近似された位置における前記抽出された口または前記抽出された眼をフィルでレンダリングするステップとによって行われる、方法(300)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、顔面表情による遠隔アバターの操縦に関する。
【背景技術】
【0002】
背景
技術が発展するにつれて、人々は技術をコミュニケーションの一形態として利用し続けている。たとえば、技術によってコミュニケーションが単純な物理的な会話からリモートのリアルタイムでの会話へと発展することが可能になった。しかし、この発展に伴って、リモート形式のコミュニケーションは、概して、物理的な会話に含まれる表情および感情をつかむ能力が多少欠如している。たとえば、電子メールまたはテキスト会話から感情的文脈を解読することはしばしば困難であることが分かっている。これらの欠陥を克服するために、コミュニケーションの方法は、感情および表情を表現する方法を提供しようとしてきた。たとえば、テキストアプリケーションは、今では、気分、意見を表現したり、単に気まぐれな遊びを提供したりするために、幅広い絵文字およびアニメーションを含んでいる。人々はますますリアルタイムでの音声および映像接続を使用してコミュニケーションをとるようになっているので、これらのコミュニケーションチャネルの中にユーザの個性および性格を反映する方法に対する需要が高まっている。
【発明の概要】
【課題を解決するための手段】
【0003】
概要
本開示の一局面は、遠隔アバターを操縦するための方法を提供する。上記方法は、データ処理ハードウェアにおいて、第1の顔フレームワークと中立の顔面表情を有するユーザの顔の第1の取り込み画像とを受け取るステップを含む。上記第1の顔フレームワークは、第1のフレームにおける上記ユーザの上記顔に対応し、顔情報の第1の顔メッシュを含む。また、上記方法は、上記データ処理ハードウェアが、上記顔の上記第1の取り込み画像を上記第1の顔フレームワーク上に投影するステップと、上記データ処理ハードウェアが、上記投影された取り込み画像に基づいて、上記ユーザの上記顔に対応する顔テクスチャを判断するステップとを含む。上記方法は、上記データ処理ハードウェアにおいて、第2の顔フレームワークを受け取るステップも含み、上記第2の顔フレームワークは、第2のフレームにおける上記ユーザの上記顔に対応する。上記第2の顔フレームワークは、顔情報の第2の顔メッシュを含む。また、上記方法は、上記データ処理ハードウェアが、上記受け取られた第2の顔フレームワークに基づいて、上記顔テクスチャを更新するステップと、上記データ処理ハードウェアが、上記更新された顔テクスチャを三次元アバターとして表示するステップとを含む。上記三次元アバターは、上記ユーザの上記顔の仮想表現に対応する。
【0004】
本開示の実現例は、以下の任意の特徴のうちの1つまたは複数を含んでもよい。いくつかの実現例では、上記方法は、上記データ処理ハードウェアにおいて、上記ユーザの上記顔の第2の取り込み画像を受け取るステップも含み、上記第2の取り込み画像は、上記ユーザの顔面表情として笑顔を取り込み、上記方法は、上記データ処理ハードウェアにおいて、上記ユーザの上記顔の第3の取り込み画像を受け取るステップも含み、上記第3の取り込み画像は、上記ユーザの上記顔面表情として両方の眉を上げた状態を取り込み、上記方法は、上記データ処理ハードウェアにおいて、上記ユーザの上記顔の第4の取り込み画像を受け取るステップも含み、上記第4の取り込み画像は、上記ユーザの上記顔面表情として笑顔および両方の眉を上げた状態を取り込み、上記方法は、各々の取り込み画像について、上記データ処理ハードウェアが、上記ユーザの上記顔に対応する顔面表情テクスチャを判断するステップと、上記データ処理ハードウェアが、上記受け取られた第2の顔フレームワークに基づいて、各々の取り込み画像の上記顔面表情テクスチャと上記更新された顔テクスチャとをブレンドして、ブレンドされた顔テクスチャを生成するステップと、上記データ処理ハードウェアが、上記ブレンドされた顔テクスチャにより上記三次元アバターをレンダリングするステップとを含む。これらの実現例では、ブレンドするステップは、各々の取り込み画像についてテクスチャベクトルを判断するステップをさらに含み、上記テクスチャベクトルは、上記中立の顔面表情を有する上記第1の取り込み画像との差のベクトル表現に対応し、ブレンドするステップはさらに、上記受け取られた第2の顔フレームワークに基づいて、現在のテクスチャベクトルを判断するステップと、上記現在のテクスチャベクトルと各々の取り込み画像の上記テクスチャベクトルとの間の差に基づいて、レンダリング重みを割り当てるステップと、上記レンダリング重みに基づいて、上記ブレンドされた顔テクスチャにより上記三次元アバターをレンダリングするステップとを含む。上記レンダリング重みは、1に等しい合計を有してもよい。いくつかの例では、上記現在のテクスチャベクトルおよび各々の取り込み画像の上記テクスチャベクトルの各々は、52変数浮動ベクトルに対応してもよい。これらの例では、上記レンダリング重みは、上記現在のテクスチャベクトルと各々の取り込み画像の上記テクスチャベクトルとの間の上記差が増加するにつれて、大きさが小さくなる。
【0005】
また、いくつかの例では、上記方法は、上記データ処理ハードウェアにおいて、上記第2のフレームにおける顔情報の現在の顔面表情メッシュを有する上記ユーザの上記顔の取り込まれた現在の画像を受け取るステップと、上記データ処理ハードウェアが、上記受け取られた顔フレームワークおよび上記取り込まれた現在の画像に基づいて、上記顔テクスチャを更新するステップとを含む。いくつかの実現例では、上記受け取られた取り込まれた現在の画像は、減少させた分量の顔テクスチャに対応する。また、これらの実現例では、上記方法は、上記データ処理ハードウェアが、上記受け取られた取り込まれた現在の画像に基づいて、上記ユーザの上記顔の遮られた部分を判断するステップと、上記データ処理ハードウェアが、上記ユーザの上記顔の上記遮られた部分と、以前のフレームからの遮られていない取り込まれた画像から生成された顔テクスチャとをブレンドするステップとを含んでもよい。
【0006】
いくつかの実現例では、上記方法は、上記データ処理ハードウェアが、上記ユーザの眼または口の描出を生成するステップも含み、上記生成するステップは、上記データ処理ハードウェアが、上記眼または上記口のエッジを検出するステップと、上記データ処理ハードウェアが、上記眼または上記口の上記エッジに関連付けられた角度の合計が2π(360度)に対応することを判断するステップと、上記データ処理ハードウェアが、2πに対応する上記検出されたエッジに基づいて、上記眼または上記口の位置を近似するステップと、上記データ処理ハードウェアが、上記顔の上記取り込み画像から上記近似された位置における上記口または上記眼を抽出するステップと、上記データ処理ハードウェアが、上記近似された位置における上記抽出された口または上記抽出された眼をフィルでレンダリングするステップとによって行われる。上記取り込み画像は、携帯電話からの赤、緑および青の(RGB)画像を含んでもよい。上記三次元アバターは、拡張現実(AR)デバイス上に表示されてもよい。
【0007】
本開示の別の局面は、遠隔アバターを操縦するためのシステムを提供する。上記システムは、データ処理ハードウェアと、上記データ処理ハードウェアと通信するメモリハードウェアとを含み、上記メモリハードウェアは、命令を格納し、上記命令は、上記データ処理ハードウェア上で実行されると、上記データ処理ハードウェアにオペレーションを実行させ、上記オペレーションは、第1の顔フレームワークと中立の顔面表情を有するユーザの顔の第1の取り込み画像とを受け取るステップを含む。上記第1の顔フレームワークは、第1のフレームにおける上記ユーザの上記顔に対応し、顔情報の第1の顔メッシュを含む。また、上記オペレーションは、上記顔の上記第1の取り込み画像を上記第1の顔フレームワーク上に投影するステップと、上記投影された取り込み画像に基づいて、上記ユーザの上記顔に対応する顔テクスチャを判断するステップとを含む。上記オペレーションは、第2の顔フレームワークを受け取るステップも含み、上記第2の顔フレームワークは、第2のフレームにおける上記ユーザの上記顔に対応する。上記第2の顔フレームワークは、顔情報の第2の顔メッシュを含む。また、上記オペレーションは、上記受け取られた第2の顔フレームワークに基づいて、上記顔テクスチャを更新するステップと、上記更新された顔テクスチャを三次元アバターとして表示するステップとを含む。上記三次元アバターは、上記ユーザの上記顔の仮想表現に対応する。
【0008】
この局面は、以下の任意の特徴のうちの1つまたは複数を含んでもよい。いくつかの実現例では、上記オペレーションは、上記ユーザの上記顔の第2の取り込み画像を受け取るステップも含み、上記第2の取り込み画像は、上記ユーザの顔面表情として笑顔を取り込み、上記オペレーションは、上記ユーザの上記顔の第3の取り込み画像を受け取るステップも含み、上記第3の取り込み画像は、上記ユーザの上記顔面表情として両方の眉を上げた状態を取り込み、上記オペレーションは、上記ユーザの上記顔の第4の取り込み画像を受け取るステップも含み、上記第4の取り込み画像は、上記ユーザの上記顔面表情として笑顔および両方の眉を上げた状態を取り込み、上記オペレーションは、各々の取り込み画像について、上記ユーザの上記顔に対応する顔面表情テクスチャを判断するステップと、上記受け取られた第2の顔フレームワークに基づいて、各々の取り込み画像の上記顔面表情テクスチャと上記更新された顔テクスチャとをブレンドして、ブレンドされた顔テクスチャを生成するステップと、上記ブレンドされた顔テクスチャにより上記三次元アバターをレンダリングするステップとを含む。これらの実現例では、ブレンドするステップは、各々の取り込み画像についてテクスチャベクトルを判断するステップをさらに含み、上記テクスチャベクトルは、上記中立の顔面表情を有する上記第1の取り込み画像との差のベクトル表現に対応し、ブレンドするステップはさらに、上記受け取られた第2の顔フレームワークに基づいて、現在のテクスチャベクトルを判断するステップと、上記現在のテクスチャベクトルと各々の取り込み画像の上記テクスチャベクトルとの間の差に基づいて、レンダリング重みを割り当てるステップと、上記レンダリング重みに基づいて、上記ブレンドされた顔テクスチャにより上記三次元アバターをレンダリングするステップとを含む。上記レンダリング重みは、1に等しい合計を有してもよい。いくつかの例では、上記現在のテクスチャベクトルおよび各々の取り込み画像の上記テクスチャベクトルの各々は、52変数浮動ベクトルに対応してもよい。これらの例では、上記レンダリング重みは、上記現在のテクスチャベクトルと各々の取り込み画像の上記テクスチャベクトルとの間の上記差が増加するにつれて、大きさが小さくなる。
【0009】
また、いくつかの例では、上記オペレーションは、上記第2のフレームにおける顔情報の現在の顔面表情メッシュを有する上記ユーザの上記顔の取り込まれた現在の画像を受け取るステップと、上記受け取られた顔フレームワークおよび上記取り込まれた現在の画像に基づいて、上記顔テクスチャを更新するステップとを含む。いくつかの実現例では、上記受け取られた取り込まれた現在の画像は、減少させた分量の顔テクスチャに対応する。また、これらの実現例では、上記オペレーションは、上記受け取られた取り込まれた現在の画像に基づいて、上記ユーザの上記顔の遮られた部分を判断するステップと、上記ユーザの上記顔の上記遮られた部分と、以前のフレームからの遮られていない取り込まれた画像から生成された顔テクスチャとをブレンドするステップとを含んでもよい。
【0010】
いくつかの実現例では、上記オペレーションは、上記ユーザの眼または口の描出を生成するステップも含み、上記生成するステップは、上記眼または上記口のエッジを検出するステップと、上記眼または上記口の上記エッジに関連付けられた角度の合計が2π(360度)に対応することを判断するステップと、2πに対応する上記検出されたエッジに基づいて、上記眼または上記口の位置を近似するステップと、上記顔の上記取り込み画像から上記近似された位置における上記口または上記眼を抽出するステップと、上記近似された位置における上記抽出された口または上記抽出された眼をフィルでレンダリングするステップとによって行われる。上記取り込み画像は、携帯電話からの赤、緑および青の(RGB)画像を含んでもよい。上記三次元アバターは、拡張現実(AR)デバイス上に表示されてもよい。
【0011】
本開示の別の局面は、遠隔アバターを操縦するための方法を提供し、上記方法は、データ処理ハードウェアにおいて、第1の顔フレームワークと中立の顔面表情を有するユーザの顔の第1の取り込み画像とを受け取るステップを含む。上記第1の顔フレームワークは、第1のフレームにおける上記ユーザの上記顔に対応し、顔情報の第1の顔メッシュを含む。また、上記方法は、上記データ処理ハードウェアが、上記顔の上記第1の取り込み画像を上記第1の顔フレームワーク上に投影するステップと、上記データ処理ハードウェアが、上記投影された第1の取り込み画像に基づいて、上記ユーザの上記顔に対応する顔テクスチャを判断するステップとを含む。上記方法は、上記データ処理ハードウェアが、上記判断された顔テクスチャを三次元アバターとして表示するステップを含み、上記三次元アバターは、上記ユーザの上記顔の仮想表現に対応する。
【0012】
本開示の1または複数の実現例の詳細は、添付の図面および以下の説明に記載されている。他の局面、特徴および利点は、説明および図面、ならびに特許請求の範囲から明らかであろう。
【図面の簡単な説明】
【0013】
図1】アバター操縦環境の一例の概略図である。
図2A図1のアバター操縦環境においてアバターを操縦するためのパペティアの一例の概略図である。
図2B図1のアバター操縦環境においてアバターを操縦するためのパペティアの一例の概略図である。
図2C図1のアバター操縦環境においてアバターを操縦するためのパペティアの一例の概略図である。
図2D図1のアバター操縦環境においてアバターを操縦するためのパペティアの一例の概略図である。
図2E図1のアバター操縦環境においてアバターを操縦するためのパペティアの一例の概略図である。
図2F図1のアバター操縦環境においてアバターを操縦するためのパペティアの一例の概略図である。
図3】顔面表情による遠隔アバターの操縦方法のためのオペレーションの構成の一例のフローチャートである。
図4】本明細書に記載されているシステムおよび方法を実現するために使用され得るコンピューティングデバイスの一例の概略図である。
【発明を実施するための形態】
【0014】
さまざまな図面内の同様の参照符号は同様の要素を示している。
詳細な説明
図1は、アバター操縦環境100の一例である。アバター操縦環境100は、ユーザ10,10a-bがユーザデバイス110,110a-bを介してネットワーク120を通じて会話12を行う環境である。ネットワーク120は、ユーザデバイス110に関連付けられたアドレス間でデータをルーティングするように構成された任意のタイプの通信ネットワーク(たとえば、パケット交換網)を含む。
【0015】
会話12は、一般に、少なくとも2人のユーザ10aと10bとの間の聞き取れる一連の発話のことである。各ユーザ10に関連付けられたユーザデバイス110は、会話12を取り込んでネットワーク120を介して通信するように構成される。ユーザデバイス110は、会話12の発話の音声を取り込むだけでなく、ユーザ10が会話中に話しているときのユーザ10の顔20の画像130および顔情報140も取り込む。顔20の取り込み画像130および顔情報140に基づいて、各ユーザデバイス110は、関連付けられたユーザ10の顔面表情22を生成するようにさらに構成される。したがって、ユーザデバイス110は、遠隔のユーザ10同士を接続してリアルタイムの会話12に参加させることを可能にする。
【0016】
ユーザデバイス110は、(1)顔画像130および顔情報140をネットワーク120および/またはリモートシステム150に通信することができ、(2)(たとえば、拡張現実(AR)機能によって)三次元(3D)アバター160を表示することができる任意のコンピューティングデバイスまたはデータ処理ハードウェアであり得る。いくつかの例では、第1のユーザ10aに関連付けられたユーザデバイス110aは、第1のユーザ10aに関連付けられた顔画像130および顔情報140を通信するように構成されるのに対して、第2のユーザ10bに関連付けられた第2のユーザデバイス110bは、第1のユーザ10aに関連付けられた3Dアバター160を表示するように構成される。示されている例では、各ユーザデバイス110は、データ処理ハードウェア112と、メモリハードウェア114と、1または複数の撮像デバイス116とを含む。撮像デバイス116のいくつかの例は、カメラ(たとえば、深度カメラもしくはRGBカメラ)または画像センサ(たとえば、レーザ画像センサ)である。ユーザデバイス110は、拡張現実(AR)デバイス、デスクトップコンピューティングデバイス、およびモバイルコンピューティングデバイス(ラップトップ、タブレット、スマートフォンおよびウェアラブルコンピューティングデバイス(たとえば、ヘッドセットおよび/または時計)など)を含むが、これらに限定されるものではない。ユーザデバイス110は、それらの撮像デバイス116を利用して、遠隔のユーザ10同士がネットワーク120を介して会話12に参加することを可能にするように構成される。
【0017】
引き続き図1を参照して、各ユーザデバイス110は、リアルタイム通信(RTC)アプリケーション30を実行して(すなわち、データ処理ハードウェア112を介して実行して)、第1および第2のユーザ10a,10bが互いに会話12を行うことを可能にする。会話12中に第1のユーザ10aが第2のユーザ10bに話しかけると、第1のユーザデバイス110aは、聞き取れる発話(すなわち、音声)25、第1のユーザ10aの顔20の1または複数の顔画像130、および/または、第1のユーザ10aの顔20に対応する顔情報140を取り込む。その後、いくつかの例では、第1のユーザデバイス110aは、取り込まれた聞き取れる発話25、1または複数の顔画像130および/または顔情報140を含む出力118を、映像チャネルCh,Vではなく対応する音声チャネルCh,AおよびデータチャネルCh,Dを介して第2のユーザデバイス110bに送信する。ここで、データチャネルCh,Dは、顔画像130および/または顔情報140を送信するように構成された損失のあるデータチャネルを含むのに対して、音声チャネルCh,Aは、音声25を通信するように構成される。音声チャネルCh,Aを介して送信された聞き取れる発話25は、第1のユーザ10aによって話された発話のデジタル表現を含む。他の例では、第1のユーザデバイス110aは、音声25、1または複数の顔画像130および/または顔情報140を含む出力118を、対応する映像チャネルCh,Vを介して第2のユーザデバイス110bに送信して、会話12からの関連する音声25との同期を保証する。たとえば、映像チャネルCh,Vを介して顔画像130および/または顔情報140を音声25と同期させることは、大きなデータセット(たとえば、顔画像130および顔面情報140からの大きなデータセット)がリアルタイムでの会話中にレイテンシの問題を回避するのに望ましいであろう。任意に、RTCアプリケーション30の構成は、ユーザデバイスによって使用される通信チャネルCHを左右する。
【0018】
第1のユーザデバイス110aから送信された出力118に基づいて、第2のユーザデバイス110bは、第1のユーザ10aの顔20および顔面表情に対応する3Dアバター160を第2のユーザデバイス110bのディスプレイ119上に表示するように構成される。示されている例では、第2のユーザデバイス110bで実行されるRTCアプリケーション30は、パペティア200との通信を容易にし、パペティア200は、出力118に基づいて第1のユーザ10aのアバター160を生成し、生成されたアバター160をディスプレイ119上での表示のために第2のユーザデバイス110bに提供するように構成される。パペティア200によって生成される3Dアバター160は、第1のユーザ20aの顔20の仮想表現に対応する。パペティア200は、第1のユーザデバイス110aからの出力160に基づいて、3Dアバター160をリアルタイム3Dアバター160として生成する。いくつかの実現例では、第2のユーザデバイス110bは、取り込まれた聞き取れる発話25、1または複数の顔画像130および/または顔情報140を含む出力118をネットワーク120を介して第1のユーザデバイス110aから受け取って、出力118をパペティア200に提供する。他の実現例では、第1のユーザデバイス110aは、出力118をパペティア200に直接送信する。これらの実現例では、第1のユーザデバイス110aで実行されるRTCアプリケーション30は、対応する3Dアバター特徴を起動して、第1のユーザデバイス110aが第1のユーザ10aの顔20および顔面表情に対応する3Dアバター160を生成するためのパペティア200に出力118を直接提供することを可能にしてもよい。
【0019】
いくつかの実現例では、パペティア200は、ユーザデバイス110を介してアクセスされる、クラウド環境の分散システムなどのリモートシステム150によってホストされるアプリケーションを含む。他の実現例では、パペティア200は、ユーザデバイス110のメモリハードウェア114にダウンロードされるアプリケーションを含む。パペティア200は、顔画像130および/または顔情報140から3Dアバター160を生成するためにリモートシステム150と通信してリソース152(たとえば、データ処理ハードウェア154またはメモリハードウェア156)にアクセスするように構成されてもよい。加えてまたは代替的に、パペティア200は、生成された3Dアバター300をユーザデバイス110のメモリハードウェア114および/またはリモートシステム150のメモリハードウェア156にローカルに格納してもよい。たとえば、パペティア200および/またはユーザデバイス110は、その後、後に受け取られた顔画像130および/または顔情報140に基づいて、格納された3Dアバター160を拡張またはさらにレンダリングしてもよい。任意に、ユーザデバイス110で実行されるRTCアプリケーション30は、リモートシステム150のリソース152へのアクセスを必要とすることなくローカルにパペティア200を実行してもよい。
【0020】
各々の顔画像130は、撮像デバイス116によって取り込まれるユーザ10の顔20の画像のことである。取り込まれた顔画像130は、顔画像130を取り込む撮像デバイス116のタイプによって、解像度および埋め込みデータの両方の点で異なっていてもよい。たとえば、深度機能を有するカメラまたはセンサがユーザ10の顔画像130を取り込む場合、取り込まれた画像130は、顔の特徴および/または顔テクスチャ(たとえば、影、明暗、肌のきめなど)間の関係を識別する深度データを含む。深度データとともに、取り込まれた画像130は、顔メッシュ142を形成するための顔情報140をもともと含んでいてもよい。たとえば、深度カメラまたはセンサの中には、表面再構成アルゴリズムを使用して、取り込まれた画像130からメッシュを生成するように構成されたものもある。他の例では、深度機能を持たないカメラまたはセンサ(たとえば、RBGカメラ)によって生成される取り込まれた画像130は、顔情報140を生成するために、顔ランドマーク検出および/または顔特徴検出などの技術を用いた一層の分析を必要とする。
【0021】
顔情報140は、一般に、顔20に関連するデータのポイントクラウドのことである。顔情報140とともに、表面再構成アルゴリズムは、顔情報140に対応する顔メッシュ142を生成してもよい。いくつかの例では、顔情報140と顔メッシュ142との組み合わせは、顔フレームワーク144と称される。なぜなら、この組み合わせは、顔情報140に関連付けられた境界を有する顔構造に対応するからである。顔フレームワーク144は、ユーザ10と似ているが、顔メッシュ142は、一般に、顔情報140の滑らかな表現である。言い換えれば、しわ、えくぼ、滑らかな肌、乾燥肌、脂性肌、毛穴などの、ユーザ10の顔20のいくつかの固有の特徴は、ユーザ10を顔フレームワーク144に変換することにより失われる。これらの無くなってしまった側面を考慮に入れるために、パペティア200は、顔フレームワーク144および少なくとも1つの取り込み画像130に基づいて、これらの固有の特徴に対応する顔テクスチャ212を生成するように構成される。
【0022】
図2A図2Fは、取り込み画像130および顔情報140を含む受け取られた出力118に基づいて3Dアバター160を生成するパペティア200の例である。パペティア200は、テクスチャラ210と、アップデータ220とを含む。テクスチャラ210は、顔テクスチャ212を判断するように構成されるのに対して、アップデータ220は、その後に受け取られた顔フレームワーク144および/または取り込み画像130に基づいて顔テクスチャ212を更新するように構成される。図2Aを参照して、パペティア200は、ユーザ10の顔20の第1の取り込み画像130およびユーザ10の顔情報140の第1の顔メッシュ142を含む第1の顔フレームワーク144aに対応する出力118を受け取る。第1の顔フレームワーク144aは、第1のフレームFiにおけるユーザ10の顔20に対応する。取り込み画像130は、ユーザ10の顔面表情22を取り込んでもよい。たとえば、取り込み画像130は、ユーザ10の中立の顔面表情22aを含んでもよい。示されている例では、テクスチャラ210は、顔20の第1の取り込み画像130を第1の顔フレームワーク144a上に投影して、顔20の中立の顔面表情22,22aに対応する顔テクスチャ212,212aを判断する。テクスチャラ210が顔テクスチャ212(たとえば、第1の顔テクスチャ212a)を判断した後、アップデータ220は、次いで、時間的に第1のフレームFiの後に生じる会話12からの後続フレームFに基づいて顔テクスチャ212を更新して、更新された顔テクスチャ212,212Uを形成してもよい。この更新された顔テクスチャ212Uに基づいて、パペティア200は、表示された3Dアバター160を更新する。なぜなら、ユーザ10は、会話を続けて顔面表情22をリアルタイムで変化させるからである。
【0023】
実現例は、最小の帯域幅要件で動作するパペティア200を含む。帯域幅を意識して、テクスチャラ210によって判断される顔テクスチャ212は、もっぱら顔フレームワーク144などの顔情報140に基づいて更新される静的なテクスチャを含む。言い換えれば、パペティア200における大容量の取り込み画像ファイルに頼るのではなく、パペティア200は、会話12における後続のフレームF(たとえば、第2のフレームF)の顔情報に基づいて顔テクスチャ212を更新することによって3Dアバター160を生成する。この静的なアプローチは、アバター操縦環境100の帯域幅要件の増加を生じさせることなく、リアルタイムでの顔メッシュ142および顔面構造144に対する更新を可能にする。たとえば、図2Aは、パペティア200のアップデータ220が、第2のフレームFにおけるユーザ10の顔20に対応する第2の顔フレームワーク144bと組み合わせて顔テクスチャ212aを受け取ることを示している。ここで、第1のフレームFiと同様に、第2の顔フレームワーク144bは、第2のフレームFにおける顔情報140の第2の顔メッシュ142bを含む。この構成では、アップデータ220は、受け取られた第2の顔フレームワーク144bに基づいて顔テクスチャ212,212aを更新して、更新された顔テクスチャ212Uを形成する。その後、パペティア200は、更新された顔テクスチャ212Uを使用して3Dアバター160を生成して(または、既存の3Dアバター160を更新して)、生成された3Dアバター160をディスプレイ119上での表示のためにユーザデバイス110に提供する。いくつかの例では、パペティア200は、更新された顔テクスチャ212Uをユーザデバイス110に提供し、ユーザデバイス110は、(たとえば、RTCアプリケーション30を介して)3Dアバター160を生成するか、または既存の3Dアバター160を更新する。
【0024】
図2Bを参照して、いくつかの実現例では、パペティア200は、ユーザ20の顔20の複数の取り込み画像130,130a-dを受け取って、顔20の取り込み画像130を第1の顔フレームワーク140a上に投影することによって、各々の取り込み画像130について対応する顔テクスチャ212,212a-dを判断する。その後、パペティア200は、第2の顔フレームワーク140bに基づいて各々の顔テクスチャ212a-dを更新およびブレンドして、ブレンドされた顔テクスチャ212blendを生成する。図2Bは、4つの取り込み画像130a-dを使用して、ブレンドされた顔テクスチャ212blendを生成することを示しているが、本開示の範囲から逸脱することなく任意の数の取り込み画像130が使用されてもよい。したがって、2つ以上の取り込み画像130を顔テクスチャの生成に組み込むことによって、パペティア200は、図2Aの単一の中立の顔面表情22aに加えてまたはその代わりに、他のベースライン顔面表情22,22a-dを考慮に入れることができる。
【0025】
示されている例では、パペティア200は、ユーザ10の顔20の4つの取り込み画像130,130a-dおよび第1のフレームFiにおけるユーザ10の顔情報140の第1の顔メッシュ142を含む第1の顔フレームワーク144aに対応する出力118を受け取る。第1の顔フレームワーク144aは、第1のフレームFiにおけるユーザ10の顔20に対応する。ここで、各々の取り込み画像130a-dは、ユーザ10のユーザ顔面表情22の異なる顔面表情22,22a-dに対応する。たとえば、第1の取り込み画像130aは、中立の顔面表情22aに対応し、第2の取り込み画像130bは、笑顔の顔面表情22bに対応し、第3の取り込み画像130cは、両方の眉を上げた顔面表情22cに対応し、第4の取り込み画像130dは、両方の眉を上げた笑顔の顔面表情22dに対応する。したがって、テクスチャラ210は、取り込み画像130を第1の顔フレームワーク144a上に投影することによって、各々の取り込み画像130について対応する顔テクスチャ212,212a-dを判断するように構成される。
【0026】
引き続き図2Bを参照して、アップデータ220は、テクスチャラ210から顔テクスチャ212a-dを受け取る。いくつかの例では、アップデータ220は、受け取られた第2の顔フレームワーク144bに基づいて各顔テクスチャ212a-dを更新し、対応する更新された顔テクスチャ212Uをブレンドして、第2のフレームFにおいてブレンドされた顔テクスチャ212blendを生成する。その後、パペティア200は、ブレンドされた顔テクスチャ212blendを使用して3Dアバター160を生成して(または、既存の3Dアバター160を更新して)、生成された3Dアバター160をディスプレイ119上での表示のためにユーザデバイス110に提供する。いくつかの例では、パペティア200は、ブレンドされた顔テクスチャ212blendをユーザデバイス110に提供し、ユーザデバイス110は、(たとえば、RTCアプリケーション30を介して)3Dアバター160を生成するか、または既存の3Dアバター160を更新する。
【0027】
図2Cを参照して、いくつかの例では、パペティア200は、テクスチャラ210から出力された4つの顔テクスチャ212a-dを更新およびブレンドして、現在のフレームF(たとえば、図2Cでは第2のフレームF)においてブレンドされた顔テクスチャ212blendを生成するためのレンダリング重み244をアップデータ220に提供するように協働するベクトル生成部230および重み生成部240をさらに含む。示されている例では、ベクトル生成部230は、テクスチャラ210から出力された各顔テクスチャ212a-dを受け取って、ベースライン顔テクスチャ212に対する対応するテクスチャベクトル232を生成する。たとえば、ベースライン顔テクスチャ212は、中立の顔面表情22aに対応する第1の取り込み画像130aに関連付けられた第1の顔テクスチャ212aに対応してもよい。したがって、ベクトル生成部230は、第1の顔テクスチャ212aに対して第2の顔テクスチャ212bに基づいて第1のテクスチャベクトル232baを生成し、第1の顔テクスチャ212aに対して第3の顔テクスチャ212cに基づいて第2のテクスチャベクトル232caを生成し、第1の顔テクスチャ212aに対して第4の顔テクスチャ212dに基づいて第3のテクスチャベクトル232daを生成してもよい。さらに、ベクトル生成部230は、最近のフレームF(たとえば、第2のフレームF)における顔情報140に対応する現在のテクスチャベクトル232,232currentを生成する。たとえば、ベクトル生成部230は、第1のフレームFiにおける第1の顔フレームワーク144aと第2のフレームFにおける第2の顔フレームワーク144bとの間の現在のテクスチャベクトル232currentを生成する。
【0028】
重み生成部240は、ベクトル生成部230から現在のテクスチャベクトル232currentおよびテクスチャベクトル232ba-daの各々を受け取って、現在のテクスチャベクトル232currentと各テクスチャベクトル232ba-daとの間のそれぞれの差242に基づいてレンダリング重み244を生成する。言い換えれば、レンダリング重み244は、顔テクスチャ212,212a-dに対する現在のフレームにおけるずれを考慮に入れる。レンダリング重み244は、既知の検出された顔面表情に対応するように構成されてもよい。たとえば、レンダリング重み244は、顔ランドマークの位置に関連付けられたベクトルを含んでもよく、そのため、各ベクトルは、顔ランドマークのベースライン位置(たとえば、中立の顔面表情22,22aの第1の顔フレームワーク144aから第2のフレームFにおける顔面表情22の第2の顔フレームワーク144bまで)からの大きさおよび方向を表す。一例では、レンダリング重み244は、52変数浮動ベクトルを形成する。いくつかの例では、レンダリング重み244は、ブレンド割合に対応するため、レンダリング重み244の値は、合計が1に等しいそれぞれの比率を含む。
【0029】
いくつかの実現例では、重み生成部240は、テクスチャベクトル232が現在のテクスチャベクトル232currentに最も近い場合に、レンダリング重み244内の値に対して最も高い値を割り当てる。たとえば、ユーザ10の現在の顔面表情22が笑顔(たとえば、第2のテクスチャベクトル232baに関連付けられた第2の顔面表情22b)に近づいていることを第2の顔フレームワーク144bが示す場合、現在のテクスチャベクトル232currentと笑顔の顔面表情22bに関連付けられた第2のテクスチャベクトル232baとの間のそれぞれの差は、現在のテクスチャベクトル232currentと他のテクスチャベクトル232ca,232daとの間の差よりも小さい。この場合、重み生成部240は、笑顔の顔面表情22bの方へのレンダリング重み244バイアスに対して値を割り当てる(たとえば、より高いレンダリング重み値)。したがって、アップデータ220は、重み生成部240によって割り当てられたこれらのレンダリング重み244を使用して、笑顔の顔面表情22bに関連付けられた第2の顔テクスチャ212bの方により近付いたブレンドされた顔テクスチャ222blendを生成する。
【0030】
最小の帯域幅要件で動作する図2Aのパペティア200とは異なって、図2Bおよび図2Cのパペティア200は、ユーザ10の顔20のより正確な視覚表現を実現するためにユーザ10の顔20のより多くの取り込み画像130a-dを考慮に入れることによって、より大きな帯域幅を必要とする。ここで、有限数の取り込み画像130(たとえば、4つの取り込み画像130a-d)を有するパペティア200は、(図2Dに示されているように)現在の取り込み画像130,130currentから顔テクスチャ212を更新するのではなく、現在のフレーム(たとえば、第2のフレームF)における顔情報140(たとえば、第2の顔フレームワーク144b)に基づいて3Dアバター160を更新することによって、依然として帯域幅を最小限に抑えながら精度を向上させることができる。
【0031】
図2Dは、第2のフレームFにおける現在の取り込み画像130,130currentを受け取るパペティア200の一例である。この構成では、パペティア200は、アップデータ220が第2の顔フレームワーク144bおよび現在の取り込み画像130currentの両方に基づいて第1の顔テクスチャ212aを更新すること以外は、図2Aのパペティア200と同様に動作する。いくつかの実現例では、ユーザ10の現在の取り込み画像130currentを利用する場合、パペティア200は、現在の取り込み画像130currentに関連付けられたある分量の顔テクスチャ212を受け取るおよび/または減少させる。たとえば、アップデータ220は、(たとえば、第1の顔テクスチャ212aと比較した場合に)顔テクスチャ212の3分の1を有する現在の取り込み画像130currentに基づいて、更新された顔テクスチャ212Uを生成する。現在の取り込み画像130current内の顔テクスチャ212の分量を減少させることによって、パペティア200は、その動作帯域幅要件を減少させてもよい。
【0032】
図2Eを参照して、いくつかの例では、顔情報140および/または顔フレームワーク144は、ユーザ10の顔20の部分取り込み(たとえば、遮られた画像214)に対応する。たとえば、ユーザ10は、視野内を移動するか、または撮像デバイス116を移動させる。これらの例では、パペティア200は、さらに、これらの問題を考慮に入れるように構成されてもよい。いくつかの構成では、テクスチャラ210は、現在の取り込み画像130currentおよび/または第2の顔フレームワーク144bが遮られた画像に対応するか否かを識別する。たとえば、テクスチャラ210は、平均してどのぐらいの顔情報140が受け取られるかを追跡および分析して、このデータと現在の取り込み画像130currentおよび/または第2の顔フレームワーク144bとを比較する。テクスチャラ210が遮られた画像および/または遮られた顔情報を識別すると、テクスチャラ210は、遮られていない先行するフレームFn-1を識別して、遮られた取り込み214の遮られた部分のための顔テクスチャ212を生成する。たとえば、第2のフレームFが遮られた画像214を含み、第1のフレームFiが遮られていない画像(たとえば、第1の取り込み画像130a)を含むとテクスチャラ210が判断すると、テクスチャラ210は、遮られた画像214(たとえば、受け取られた現在の取り込み画像130current)を、第1のフレームFiに関連付けられた顔情報140によりレンダリングしてもよい。
【0033】
図2Fを参照して、いくつかの実現例では、パペティア200は、特徴フィラー250を含む。特徴フィラー250は、眼または口のような、しばしば厄介な特徴を識別し、これらの特徴に関連付けられた空洞を塗りつぶす(すなわち、視覚的に表現する)。図2Fは、特徴フィラー250に焦点を当てるために単純化されたパペティア200を示している。いくつかの例では、特徴フィラー250は、特徴のエッジを検出する。たとえば、特徴フィラー250は、頂点を中心とした全ての角度を合計する。この合計が2πまたは360度に等しい場合、特徴フィラー250は、特徴が眼または口などの空洞であると判断する。合計が2πに等しくない場合、特徴フィラー250は、特徴をエッジの頂点として識別する。特徴が空洞として識別されると、特徴フィラー250は、顔の割合および/または検出されたエッジの位置に基づいて空洞の位置を近似する。ここで、近似された位置において、特徴フィラー250は、特徴を抽出して、抽出された特徴をフィルでレンダリングする。いくつかの例では、特徴フィラー250のエッジ検出中に使用される頂点を顔テクスチャ212がマッピングしている間に、トゥーイヤーアプローチ(two-ear approach)を使用して特徴を塗りつぶす。
【0034】
図3は、遠隔アバター160の操縦方法300のためのオペレーションの構成の一例のフローチャートである。オペレーション302において、方法300は、第1の顔フレームワーク144,144aと、中立の顔面表情22,22aを有するユーザ10の顔20の第1の取り込み画像130とを受け取る。第1の顔フレームワーク144aは、第1のフレームFiにおけるユーザ10の顔20に対応し、顔情報140の第1の顔メッシュ142,142aを含む。オペレーション304において、方法300は、顔20の第1の取り込み画像130を第1の顔フレームワーク144a上に投影する。オペレーション306において、方法300は、投影された取り込み画像130に基づいて、ユーザ10の顔20に対応する顔テクスチャ212を判断する。オペレーション308において、方法300は、第2のフレームFにおけるユーザ10の顔20に対応する第2の顔フレームワーク144bを受け取る。第2の顔フレームワーク144bは、顔情報140の第2の顔メッシュ142,142bを含む。オペレーション310において、方法300は、受け取られた第2の顔フレームワーク144bに基づいて、顔テクスチャ212を更新する。オペレーション312において、方法300は、更新された顔テクスチャ212を3Dアバター160として表示する。3Dアバター160は、ユーザ10の顔20の仮想表現に対応する。
【0035】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアのことであってもよい。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」または「プログラム」と称されてもよい。アプリケーションの例としては、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、ワードプロセシングアプリケーション、スプレッドシートアプリケーション、メッセージングアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、およびゲームアプリケーションが挙げられるが、これらに限定されるものではない。
【0036】
図4は、たとえば本明細書に記載されているユーザデバイス110、リモートシステム150およびパペティア200のシステムおよび方法を実現するために使用され得るコンピューティングデバイス400の一例の概略図である。コンピューティングデバイス400は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームおよび他の適切なコンピュータなどのさまざまな形態のデジタルコンピュータを表すよう意図されている。ここに示されているコンポーネント、それらの接続および関係、ならびにそれらの機能は、単に例示的であるよう意図されており、本明細書に記載および/またはクレームされている発明の実現例を限定するよう意図されたものではない。
【0037】
コンピューティングデバイス400は、プロセッサ410と、メモリ420と、記憶装置430と、メモリ420および高速拡張ポート450に接続する高速インターフェイス/コントローラ440と、低速バス470および記憶装置430に接続する低速インターフェイス/コントローラ460とを含む。コンポーネント410,420,430,440,450および460の各々は、さまざまなバスを使用して相互接続されており、共通のマザーボード上にまたは適宜他の態様で取り付けられていてもよい。プロセッサ410は、コンピューティングデバイス400内での実行のための命令を処理することができ、これらの命令は、グラフィカルユーザインターフェイス(GUI)のためのグラフィカル情報を、高速インターフェイス440に結合されたディスプレイ480などの外部入力/出力デバイス上に表示するための、メモリ420内または記憶装置430上に格納された命令を含む。他の実現例では、複数のメモリおよび複数のタイプのメモリとともに、複数のプロセッサおよび/または複数のバスが適宜使用されてもよい。また、複数のコンピューティングデバイス400が、各デバイスが(たとえば、サーババンク、ブレードサーバの群またはマルチプロセッサシステムとして)必要なオペレーションの一部を提供する状態で、接続されてもよい。
【0038】
メモリ420は、情報をコンピューティングデバイス400内に非一時的に格納する。メモリ420は、コンピュータ読取可能媒体、揮発性メモリユニットまたは不揮発性メモリユニットであってもよい。非一時的なメモリ420は、コンピューティングデバイス400による使用のために、プログラム(たとえば、命令のシーケンス)またはデータ(たとえば、プログラム状態情報)を一時的または永久的に格納するために使用される物理デバイスであってもよい。不揮発性メモリの例としては、フラッシュメモリおよびリードオンリメモリ(ROM)/プログラマブルリードオンリメモリ(PROM)/消去可能プログラマブルリードオンリメモリ(EPROM)/電子的消去可能プログラマブルリードオンリメモリ(EEPROM)(たとえば、一般に、ブートプログラムなどのファームウェアに使用される)が挙げられるが、これらに限定されるものではない。揮発性メモリの例としては、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)およびディスクまたはテープが挙げられるが、これらに限定されるものではない。
【0039】
記憶装置430は、コンピューティングデバイス400に対して大容量記憶を提供することができる。いくつかの実現例では、記憶装置430は、コンピュータ読取可能媒体である。さまざまな異なる実現例では、記憶装置430は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイスもしくはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはデバイスのアレイ(ストレージエリアネットワークもしくは他の構成のデバイスを含む)であってもよい。さらに他の実現例では、コンピュータプログラム製品は、情報担体の形で有形に具体化される。コンピュータプログラム製品は、実行されると上記の方法などの1または複数の方法を実行する命令を含む。情報担体は、メモリ420、記憶装置430またはメモリオンプロセッサ410などのコンピュータまたは機械読取可能媒体である。
【0040】
高速コントローラ440は、コンピューティングデバイス400のための帯域幅集中型オペレーションを管理するのに対して、低速コントローラ460は、より低い帯域幅集中型オペレーションを管理する。このようなデューティの割り当ては例示に過ぎない。いくつかの実現例では、高速コントローラ440は、メモリ420に結合され、ディスプレイ480に(たとえば、グラフィックスプロセッサまたはアクセレレータを介して)結合され、さまざまな拡張カード(図示せず)を受け付け得る高速拡張ポート450に結合されている。いくつかの実現例では、低速コントローラ460は、記憶装置430および低速拡張ポート490に結合されている。さまざまな通信ポート(たとえば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット)を含み得る低速拡張ポート490は、たとえばネットワークアダプタを介して、1または複数の入力/出力デバイス(キーボード、ポインティングデバイス、スキャナ、またはネットワーキングデバイス(スイッチもしくはルータなど)など)に結合されてもよい。
【0041】
コンピューティングデバイス400は、図に示されているように、いくつかの異なる形態で実現されてもよい。たとえば、それは、標準的なサーバ400aとしてもしくはこのようなサーバ400aの群で複数回実現されてもよく、ラップトップコンピュータ400bとして実現されてもよく、またはラックサーバシステム400cの一部として実現されてもよい。
【0042】
本明細書に記載されているシステムおよび技術のさまざまな実現例は、デジタル電子および/もしくは光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、ならびに/または、それらの組み合わせの形で実現可能である。これらのさまざまな実現例は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1または複数のコンピュータプログラムの形での実現例を含み得て、プログラマブルプロセッサは、特殊目的であってもよく、または汎用であってもよく、ストレージシステム、少なくとも1つの入力デバイスおよび少なくとも1つの出力デバイスに対してデータおよび命令を送受信するように結合されている。
【0043】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)は、プログラマブルプロセッサのための機械命令を含み、高レベル手続き型プログラミング言語および/またはオブジェクト指向プログラミング言語および/またはアセンブリ/機械言語の形で実現可能である。本明細書における「機械読取可能媒体」および「コンピュータ読取可能媒体」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、非一時的なコンピュータ読取可能媒体、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を意味するものとし、機械命令を機械読取可能信号として受信する機械読取可能媒体を含む。「機械読取可能信号」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を意味するものとする。
【0044】
本明細書に記載されているプロセスおよびロジックフローは、入力データ上で動作して出力を生成することによって機能を実行するように1または複数のコンピュータプログラムを実行する1または複数のプログラマブルプロセッサによって実行可能である。これらのプロセスおよびロジックフローは、特殊目的論理回路(たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路))によっても実行可能である。コンピュータプログラムの実行に好適なプロセッサの例としては、汎用および特殊目的マイクロプロセッサ、ならびに任意の種類のデジタルコンピュータの任意の1または複数のプロセッサが挙げられる。一般に、プロセッサは、リードオンリメモリまたはランダムアクセスメモリまたはそれら両方から命令およびデータを受信する。コンピュータの不可欠な要素は、命令を実行するためのプロセッサ、ならびに、命令およびデータを格納するための1または複数のメモリデバイスである。一般に、コンピュータは、データを格納するための1または複数の大容量記憶装置(たとえば、磁気ディスク、光磁気ディスクまたは光ディスク)も含んでおり、または、1または複数の大容量記憶装置からデータを受信したり、1または複数の大容量記憶装置にデータを送信したり、1または複数の大容量記憶装置に対してデータを送受信したりするように動作可能に結合される。しかし、コンピュータは、このような装置を有していなくてもよい。コンピュータプログラム命令およびデータの格納に好適なコンピュータ読取可能媒体は、全ての形態の不揮発性メモリ、媒体およびメモリデバイスを含み、これらの例としては、半導体メモリデバイス(たとえば、EPROM、EEPROMおよびフラッシュメモリデバイス)、磁気ディスク(たとえば、内部ハードディスクまたはリムーバブルディスク)、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクが挙げられる。プロセッサおよびメモリは、特殊目的論理回路によって補完されてもよく、または特殊目的論理回路に組み込まれてもよい。
【0045】
ユーザとの対話を提供するために、本開示の1または複数の局面は、情報をユーザに表示するためのディスプレイデバイス(たとえば、CRT(陰極線管)、LCD(液晶ディスプレイ)モニタまたはタッチスクリーン)と、任意にユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)とを有するコンピュータ上で実現可能である。ユーザとの対話を提供するために他の種類のデバイスも使用されてもよい。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバックまたは触覚フィードバック)であってもよく、ユーザからの入力は、音響入力、発話入力または触覚入力を含む任意の形態で受信されてもよい。また、コンピュータは、ユーザによって使用されるデバイスに対してドキュメントを送受信することによって、たとえばウェブブラウザから受け取られた要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0046】
上記の説明に付け加えて、ユーザは、本明細書に記載されているシステム、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、社会的行為もしくは社会活動、職業、ユーザの嗜好、またはユーザの現在位置)の収集を可能にするか否かおよびいつ可能にするか、ならびに、ユーザがサーバからコンテンツまたは通信を送信されるか否かについてユーザが選択を行うことを可能にする制御を提供されてもよい。また、特定のデータは、格納または使用される前に1または複数の方法で処理されてもよく、その結果、個人を特定できる情報は取り除かれる。たとえば、ユーザのアイデンティティは、当該ユーザについて個人を特定できる情報を突き止めることができないように処理されてもよく、または、ユーザの地理的位置は、位置情報(市、郵便番号または州レベルなど)が得られる場合には、ユーザの特定の位置を突き止めることができないように一般化されてもよい。したがって、ユーザは、どのような情報がユーザについて収集されるか、当該情報がどのように使用されるか、およびどのような情報がユーザに提供されるかを制御し得る。
【0047】
いくつかの実現例について説明してきた。しかし、本開示の精神および範囲から逸脱することなくさまざまな変更がなされてもよいということが理解されるであろう。したがって、他の実現例は、以下の特許請求の範囲の範囲内である。
図1
図2A
図2B
図2C
図2D
図2E
図2F
図3
図4