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

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

▶ ソウル マシーンズ リミティドの特許一覧

<>
  • 特許-発話アニメーションのリアルタイム生成 図1
  • 特許-発話アニメーションのリアルタイム生成 図2
  • 特許-発話アニメーションのリアルタイム生成 図3
  • 特許-発話アニメーションのリアルタイム生成 図4
  • 特許-発話アニメーションのリアルタイム生成 図5
  • 特許-発話アニメーションのリアルタイム生成 図6
  • 特許-発話アニメーションのリアルタイム生成 図7
  • 特許-発話アニメーションのリアルタイム生成 図8
  • 特許-発話アニメーションのリアルタイム生成 図9
  • 特許-発話アニメーションのリアルタイム生成 図10
  • 特許-発話アニメーションのリアルタイム生成 図11
  • 特許-発話アニメーションのリアルタイム生成 図12
  • 特許-発話アニメーションのリアルタイム生成 図13
  • 特許-発話アニメーションのリアルタイム生成 図14
  • 特許-発話アニメーションのリアルタイム生成 図15
  • 特許-発話アニメーションのリアルタイム生成 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-07
(45)【発行日】2024-06-17
(54)【発明の名称】発話アニメーションのリアルタイム生成
(51)【国際特許分類】
   G06T 13/40 20110101AFI20240610BHJP
   G06T 13/20 20110101ALI20240610BHJP
   G10L 25/57 20130101ALI20240610BHJP
   G10L 21/10 20130101ALI20240610BHJP
【FI】
G06T13/40
G06T13/20 500
G10L25/57
G10L21/10
【請求項の数】 9
(21)【出願番号】P 2021541507
(86)(22)【出願日】2020-01-27
(65)【公表番号】
(43)【公表日】2022-03-16
(86)【国際出願番号】 IB2020050620
(87)【国際公開番号】W WO2020152657
(87)【国際公開日】2020-07-30
【審査請求日】2023-01-26
(31)【優先権主張番号】750233
(32)【優先日】2019-01-25
(33)【優先権主張国・地域又は機関】NZ
(73)【特許権者】
【識別番号】519327490
【氏名又は名称】ソウル マシーンズ リミティド
(74)【代理人】
【識別番号】110002848
【氏名又は名称】弁理士法人NIP&SBPJ国際特許事務所
(72)【発明者】
【氏名】サガー、マーク
(72)【発明者】
【氏名】ウー、ティム
(72)【発明者】
【氏名】タン、シアニ
(72)【発明者】
【氏名】チャン、シュエユアン
【審査官】松永 隆志
(56)【参考文献】
【文献】特開平11-226050(JP,A)
【文献】米国特許出願公開第2012/0130717(US,A1)
【文献】米国特許第06919892(US,B1)
【文献】特開2003-248841(JP,A)
【文献】特開2016-042362(JP,A)
【文献】特開2007-299300(JP,A)
【文献】金子 正秀 ほか2名,テキスト情報に対応した口形状変化を有する顔動画像の合成,電子情報通信学会論文誌 ,1992年02月25日,第J75-D-II巻、 第2号,p.203~215
【文献】須崎 昌彦 ほか3名,顔面像を用いたヒューマンインタフェースの構築,第25回 ヒューマンインタフェースと認知モデル研究会資料,社団法人人工知能学会 ,1995年05月19日,SIG-HICG-9501,p.30~37
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/20
G06T 13/40
G10L 21/10
G10L 25/57
(57)【特許請求の範囲】
【請求項1】
伝達発声をアニメーション化するための方法であって、
アニメーション化される一連の伝達発声の内容を含むストリングと、
複数のコレクションであって、それぞれのコレクションは、前記ストリングを言語的又は音声的に区分した項目に基づいて階層的に整理し、前記項目に関するアニメーションの断片を示すアニメーションスニペットを含み、複数の音素に関する前記アニメーションスニペットを含む音素コレクションを含む、複数のコレクションと、
受信することと、
前記コレクションで前記ストリングを区分した、前記ストリングの一部分であるサブストリングと一致する項目を階層的に検索することと、
一致した項目に対するアニメーションスニペットを取得することと、
前記取得したアニメーションスニペットを組み合わせて、前記ストリングをアニメーション化することと、を含
前部の音節の最後の音素の右半分と、後部の音節の最初の音素の左半分と、を含む、2つの連続音節のそれぞれの対の間の間隙には、前記音素コレクション内の一致するアニメーションスニペットを組み合わせる、
方法。
【請求項2】
前記伝達発声が発話である、請求項1に記載の方法。
【請求項3】
前記階層的な順序により長い項目が優先される、請求項1に記載の方法。
【請求項4】
少なくとも1つの項目が複数のアニメーションスニペットを含み、アニメーションスニペットは、その持続時間に基づいて取得される、請求項1に記載の方法。
【請求項5】
少なくとも1つの項目が複数のアニメーションスニペットを含み、アニメーションスニペットは、対応する発話特徴に基づいて取得される、請求項1に記載の方法。
【請求項6】
アニメーションスニペットは、前記アニメーションに対応する音声に関連付けられている、請求項1に記載の方法。
【請求項7】
アニメーションスニペットを圧縮及び/又は伸張して、前記アニメーションに対応する前記音声と一致させる工程を含む、請求項6に記載の方法。
【請求項8】
前記項目が部分音素ストリングを含む、請求項1に記載の方法。
【請求項9】
アニメーションスニペットは、筋肉ベースの記述子の重みを記憶する、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、発話アニメーションのリアルタイム生成に関する。
【背景技術】
【0002】
発話をアニメーション化するための顔アニメーションコンピュータ技術としては、手続き型、データ駆動型、又はパフォーマンスキャプチャベースの技術が挙げられる。
【0003】
コーパス(テキストのコレクション)内のそれぞれの文は、音素のシーケンス(別個の発話/音声の単位)として、及び口形素のシーケンス(発音されている音素を示す音素の視覚的等価物)として表すことができる。手続き型発話アニメーションは、音素を口形素に変換するルール又はルックアップテーブルを含む。発話に対する3Dアニメーション曲線のオンラインリアルタイム生成は、音素を使用して、口形素のアニメーションシーケンスを探索することによって実行され得る。このようなアプローチは、アニメーションシーケンスのわずかなセットによって制限され、ロボットのような非現実的な反復式アニメーションが、特に口形素の遷移で頻繁に観察される。
【0004】
データ駆動型(統計的)方法は、大きなコーパスからの顔アニメーションデータのスニペットをつなぎ合わせて、入力発話トラックに一致させる。顔の動態は、多次元モーフィングモデル、隠れマルコフモデル、及びアクティブアピアランスモデル(active appearance model、AAM)によってキャプチャされる。データ駆動型アプローチの質は、多くの場合、利用可能なデータによって制限される。統計的モデルは、アニメータから制御権を奪い、顔を直接駆動する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
パフォーマンスキャプチャベースの発話アニメーションは、人間のパフォーマから取得したモーションデータをデジタル顔モデルに転送する。1つのアプローチは、リアルタイムでオーディオ入力から音素確率を抽出するように訓練されたディープニューラルネットワークと共に、事前にキャプチャされたデータベースを使用してパフォーマンスキャプチャを補正する。このようなモデルを訓練するには、手作りのアニメーションシーケンス又はパフォーマンスの大きなデータセットが必要とされる。結果として得られるモデルは、複雑であることが多く、再生及び推論をリアルタイムで達成することが困難になる。アニメーションの質は、キャプチャされる発話者の能力によって制限され、アニメータが改良することは困難である。
【0006】
従来の発話アニメーション技術はまた、発話アニメーションと感情表現アニメーションとの組み合わせに適切に適応することができない。
【0007】
本発明の目的は、発話アニメーションのリアルタイム生成を改善すること、又は少なくとも公衆若しくは業界に有用な選択肢を提供することである。
【0008】
発話をアニメーション化するための方法であって、アニメーション化されるストリングであって、ストリングは、複数の伝達発声(例えば、発話)アトムを含む、ストリングと、複数のコレクションであって、それぞれのコレクションは、一意のアトムストリングを含む複数の項目を含み、それぞれのコレクションは、異なる長さの項目を記憶する、複数のコレクションと、項目の少なくとも1つのアニメーションスニペットを含むそれぞれの項目と、を受信することと、ストリングのサブストリングに一致する項目のコレクションを階層的に検索することと、一致した項目のアニメーションスニペットを取得して、発話アトムを包含することと、取得したアニメーションスニペットを組み合わせてストリングをアニメーション化することと、を含む、方法。
【0009】
発話をアニメーション化するための方法であって、アニメーション化される音素のストリングと、音素の最も安定している部分で又はその部分付近で連結されるように構成された多音字(polyphone)及び部分音素のストリングを含む複数のアニメーションスニペットと、を受信することと、音素のストリングのサブストリングに一致するアニメーションスニペットを検索して取得し、音素のストリングを包含することと、取得したアニメーションスニペットを組み合わせてストリングをアニメーション化することと、を含む、方法。
【0010】
文脈の中で音素をアニメーション化するための方法であって、モデル口形素と、文脈の中で発音される音素のアニメーションの重みの時系列に対応するアニメーションスニペットと、を受信することと、モデル口形素のアニメーションの重みとアニメーションスニペットのアニメーションの重みとをブレンドして文脈の中で音素をアニメーション化することと、を含む、方法。
【0011】
表情のある発話アニメーションのための方法であって、筋肉ベースの記述子情報に関連付けられた第1のアニメーション入力と、筋肉ベースの記述子情報に関連付けられた第2のアニメーション入力と、を受信することと、表情のある発話アニメーションをアニメーション化するために、アニメーション入力を筋肉ベースの記述子の重み付けにマッピングするように構成された出力重み付け関数の引数として、第1のアニメーション入力及び第2のアニメーション入力を使用することであって、出力重み付け関数は、第1及び第2のアニメーション入力からの筋肉ベースの記述子情報を調整するように構成されている、ことと、マッピングされた筋肉ベースの記述子の重み付けを使用してアニメーション化することと、を含む、方法。
【図面の簡単な説明】
【0012】
図1図1は、発話アニメーションを生成するためのプロセスのフロー図を示す。
図2図2は、ルックアップテーブルを作製するフロー図を示す。
図3図3は、発話をアニメーション化する方法のフロー図を示す。
図4図4は、ルックアップテーブルの構築のためのテキスト処理を示す。
図5図5は、異なるコレクションのサブストリングを文に一致させる例を示す。
図6図6は、図5のストリングをアニメーション化するために取得されたアニメーションスニペットの組み合わせを示す。
図7図7は、異なるコレクションのサブストリングを文に一致させる例を示す。
図8図8は、図7のストリングをアニメーション化するために取得されたアニメーションスニペットの組み合わせを示す。
図9図9は、口形素ポーズの例を示す。
図10図10は、修正ガウスの例を示す。
図11図11は、2つの重なり合うガウス曲線の例を示す。
図12図12は、アニメーションシステムを示す。
図13図13は、一実施形態によるアニメーションの優先度値の表を示す。
図14図14は、アニメーションコンポーザで使用される乗数値の表を示す。
図15図15は、発話を優先して嬉しい表情とブレンドされた口形素ポーズの例を示す。
図16図16は、発話を優先して不安な表情にブレンドさせた口形素ポーズの例を示す。
【発明を実施するための形態】
【0013】
パート1「階層的ルックアップ及び多音字連結」に記載されているように、記録されたパフォーマンスからアニメーションシーケンスが再生されて、口形素シーケンスが作製され、ルックアップテーブルに入力される。これにより、口形素の遷移の動態に変化がもたらされ、個人のスタイルが組み込まれる。記録されたアニメーションシーケンスの選択は、(階層的検索アルゴリズムを使用して)計算効率的な連結単位選択モデルに基づく。
【0014】
手動で作製されるか又は具体的に選択された口形素の(モデル)アニメーションシーケンスが、読唇を目的とした視覚的キューの完全な開発を確実にするために、音素(パート1に記載されている方法から得られたアニメーションシーケンスとブレンドされた)の始まりに導入されてもよい。これは、パート2「モデル口形素とのブレンド」で詳細に記載されている。生成された発話アニメーションシーケンスは、視覚的アーチファクトを低減するために、平滑化されブレンドされてもよい。パート3は、パート1及びパート2に開示されている方法が、発話のアニメーションを超えてジェスチャのアニメーションにどのように適用され得るかを説明する。
【0015】
パート4は、感情的変化を発話に導入するために、顔の表情を発話アニメーション上に重ね合わせることを可能にするための技術を記載する。出力重み付け関数は、発話及び表情の筋肉が矛盾しないように表現されることを確実にする。
【0016】
本明細書に記載される技術は、アバター、デジタルキャラクタ、又は自律エージェントとしても知られる仮想キャラクタ又はデジタルエンティティの発話をアニメーション化するために使用されてもよい。
1.階層的ルックアップ及び多音字連結
技術的問題
【0017】
手続き型発話アニメーション及び3Dアニメーションのオンラインリアルタイム生成は、アニメーションシーケンスのわずかなセットによって制限され、ロボットのような非現実的な反復式アニメーションが、特に口形素の遷移で頻繁に観察される。
【0018】
発話のアニメーション化における更なる課題は、人間が調音結合していること、換言すれば、口形素が互いに重なり合い、混ざり合う場合があり、発話の視覚的表現を複雑にしていることである。口の動きはそれらの文脈(先行及び/又は後続の口形素など)に従って変化し得るため、口形素シーケンスを一緒につなぎ合わせるだけでは、発話で生じる自然な変化をキャプチャすることはできない。すなわち、音素に対応する口形状は、発せられる音素自体だけでなく、瞬間的音素の前及び/又は後に発せられる音素に依存する。口形状は、それらの口形状の使用と矛盾しない文脈の中で発せられる音素と併せて使用され得るため、調音結合効果を考慮しないアニメーション方法は、観る側から人工として知覚されるであろう。
【0019】
更に、従来の発話アニメーション技術は、発話スタイル、すなわち、発話の意図的な変化によって現れる連続した口形素形状、及び/又は人に依存する発話スタイル(視覚的アクセントに類似)を明示的にモデル化することができない。
技術的解決法
【0020】
発話のストリング(文など)を現実的にアニメーション化するために、ストリングのサブストリングの記憶された例(アニメーションスニペット)をサブストリングの長さの降順で検索し、取得したサブストリングを一緒につなぎ合わせて、それらが発話アニメーションのストリングを完成させるようにするための階層的検索アルゴリズムが提供される。
【0021】
サブストリングは、多音字及び部分(又は半)音素の一意な部分音素ストリングであってもよい。サブストリングは、一般に音素の最も安定した部分である(少なくとも隣接する音素に関係なく変化する)音素の中間点で連結されてもよく、連結されたサブストリング間の平滑な遷移の可能性を高める。
詳細な説明
モデルの作製
【0022】
音素に富んだコーパスは、ルックアップテーブル内の項目ごとにアニメーションスニペットの複数の例が密に入力されたルックアップテーブルを生成する。図2は、ルックアップテーブルを作製するためのフロー図を示す。工程202で、発話者による音素に富んだコーパスの発話パフォーマンスのモーションキャプチャが実行される。発話者は、ニュートラルの顔の表情で発話パフォーマンスを実施する(例えば、コーパスを読む)。顔のランドマークが、発話パフォーマンス中に追跡されてもよい。話すときの顔の筋肉の動きを追跡する基準ランドマークが識別され、例えば、明るい色の顔用塗料を使用して発話者の顔面にマークが付けられてもよい。基準ランドマークは、好ましくは、顔、特に口領域内の良好な適用範囲と、ビデオ記録内の発話者の顔の特徴に対する良好なコントラストと、を有する。基準ランドマークは、ビデオ記録の全てのフレーム内で手動又は自動で追跡されてもよい。
【0023】
工程204は、発話の文脈情報、例えば、韻律及び品詞タグを生成する自然言語処理などにより、タイムスタンプを用いた発話パフォーマンスの自動音素ラベリングを含む。工程206は、ブレンドシェイプの重みの時系列を生成するため、発話パフォーマンスへの3Dブレンドシェイプリグの顔の再標的化を含む。顔の基準ランドマークの動きは、FACS動作単位(action unit、AU)に再標的化される。国際公開第2017044499A1号(本出願人によって所有され、参照により本明細書に組み込まれる)に記載されている画像規則化及び再標的化システムは、連結モデルのためのデータを作製する際に顔のパフォーマンスを再標的化するために使用されてもよい。工程208は、顔のブレンドシェイプの重みの時系列を記憶するルックアップテーブルの作製を含む。
ルックアップテーブルの作製
【0024】
発話アニメーションモデルのルックアップテーブルは、コーパス内の音素、音節、単語、及び文に基づいて階層的に整理され、構築される。このような情報は、トークン化、テキスト正規化、品詞タグ付け、及び音素生成を含むテキスト処理モジュールから得られ得る。一実施形態では、ルックアップテーブルは、9つの項目のコレクション、すなわち、左半音素(halfpho)、右半音素、二音素(dipho)、文境界の二音素、母音中心の三音素(tripho)、子音中心の三音素、文境界の三音素、音節、及び単語のコレクションを含む。ルックアップテーブルのそれぞれのコレクションには、コレクションの説明に合う1つ以上の項目が存在し得る。ルックアップテーブル内の項目は、部分(例えば、半)音素のストリングであってもよい。
【0025】
ダイフォン(diphone)連結システムは、発話合成において、音素は左半音素及び右半音素に分割されてもよい、という特徴をもつ。ダイフォン(又は二音素)は、ある音素の中間から次の音素の中間まで延在する音響単位である(すなわち、前部の右半音素及び後部の左半音素で構成され、それぞれの部分(又は半)音素間の遷移を含む)。それぞれのダイフォンは、始まりの音素及び終わりの音素が定常状態に達している隣接するダイフォンと連結されるため、かつそれぞれのダイフォンは音素から音素への実際の遷移を記録するため、ダイフォンの連結を使用する合成は、良質な音質を提供する。同様の方法で、発話アニメーションでは、口形素画像をダイフォンにマッピングするため、唇、歯、及び舌の位置決めを動的に描写する一続きの画像を含む「ディセーム(diseme)」が2つの口形素間の遷移を捉える。ディセームは(ダイフォンと同様)、1つの口形素(音)中のどこかで始まり、続く口形素(音)中のどこかで終わる。
【0026】
多音字及び半音素を含むコレクションによって分類された項目への文の分解を示す例が、図4に示されている。図4は、アニメーションスニペットをルックアップテーブルに追加するための、「Author of the danger trail Phillip Steels et cetera」という文のテキスト処理を示す。ルックアップテーブルを構築するとき、コーパス内のそれぞれの文は、発話分析を受けて、その文の音声の生成に関与する音素のシーケンスを明らかにする。音素のシーケンスが網羅的に検索されて、ルックアップテーブルの項目のコレクションごとに例示的なアニメーションスニペットが提供される。ルックアップテーブルのそれぞれのコレクション内の項目は、アニメーションスニペットのいずれの例も含まないか、又はそれらの持続時間に従ってソートされた1つ又は複数の例を含み得る。
【0027】
一実施形態では、コレクションは、異なる多音字単位の項目を含む。多音字は、2つ(ダイフォン)、3つ(トライフォン)(triphone)又はより多くの音からなる群を含み、安定領域(一般的に中間音素)において所望の音の群を分節化することによって記憶され得る。したがって、多音字を基本の副単位として処理することによって、2つの隣接する音の間の遷移は、記録された副単位内に保存され、類似した発話ポーズ間の連結が実施される。したがって、ルックアップテーブル内のアニメーションスニペットの最初の音素及び最後の音素は、それぞれ右半音素及び左半音素であり、異なる時点のアニメーションスニペットが、音素の中間点で又はその中間点付近でブレンドされる。ある音素から別の音素への遷移は、生成されたアニメーションの平滑な流れを確実にするために、連続したアニメーションスニペット片から得られる。
【0028】
単語コレクションは、2つ以上の音節の単語に対するアニメーションスニペットを含む。例文「Author of the danger trail Philip Steels et cetera.」は、2つ以上の音節を有する4つの単語を有していた。これらの単語のアニメーションスニペットは、単語コレクション内の別個のルックアップテーブルの項目である。この例にはない反復単語及び同音単語は、異なる例として同じルックアップ項目に入ることになる。音節は、1つ以上の音素を含む発音単位であるが、それらのうちの1つのみが母音である。音節コレクションは、音節及び単一音節の単語のアニメーションスニペットを含む。
【0029】
図4の例文は、単一音節の5つの単語を有する。これらの単語のアニメーションスニペットは、音節コレクション内の別個/独自のルックアップテーブルの項目である。複数の音節を有する単語も音節に分割されて、音節ルックアップ項目の例示的なアニメーションスニペットを提供する。例えば、単語「author」は、音節「O」及び「D@」に分割される。これらの音節のそれぞれは、異なるルックアップ項目に入っている。同音の音節は、異なる例として同じルックアップ項目に入ることになる。
【0030】
三音素は、前部の右半音素、中間部の全音素、及び後部の右半音素からなる音声の単位である。母音中心の三音素コレクションは、中央の音素が母音である全ての三音素のアニメーションスニペットを含む。例文における音素のシーケンスからは、母音中心の三音素が網羅的に検索される。音素を有する例文における最初の母音中心の三音素「/D @ O/」は、単語「author」の母音音素「@」を有していた。「@」の前及び後の音素は、それぞれ単語「author」の「D」及び単語「of」の「O」である。子音中心の三音素コレクションは、中央の音素が子音である全ての三音素に対するアニメーションスニペットを含む。文境界の三音素コレクションは、文の始まり又は文の終わりの三音素に対するアニメーションスニペットを含む。このコレクションでは、沈黙の前又は後の沈黙は、半音素と見なされる。それぞれの文には2つの文境界の三音素があり、これは文中の最初の音素及び最後の音素に由来する。例文では、それらは、単語「author」の/O T/及び単語「cetera」の/r @/である。このコレクションでは、文の前又は後の沈黙も半音素と見なされるため、/O T/例は、文の前の沈黙の右半分、音素/O/の全体、及び/T/の左半音素を含んでいた。同様に、/r @/例は、/r/の右半音素、音素/@/の全体、及び文の後の沈黙の左半分を含んでいた。
【0031】
二音素コレクションは、全ての二音素に対するアニメーションスニペットを含む。文境界の二音素コレクションは、文の始まり又は文の終わりのアニメーションスニペットを含む。このコレクションでは、沈黙の前及び後の沈黙は、半音素と見なされる。したがって、このコレクションは、文の始まりの最初の半音素に対するアニメーションスニペットと、文の終わりの最後の右半音素に対するアニメーションスニペットと、を含む。それぞれの文には2つの文境界の二音素があり、これらは文中の最初の音素及び最後の音素に由来する。例文では、第1の文境界の二音素は、文の前の沈黙の左半分、単語「author」の右半音素/O/である。第2の文境界の二音素は、単語「cetera」の右半音素/@/、及び文の後の沈黙の左半分である。
【0032】
左半音素コレクションは、全ての左半音素に対するアニメーションスニペットを含み、右半音素コレクションは、全ての右半音素に対するアニメーションスニペットを含む。
【0033】
上記のコレクションの分類は、あくまでも1つの可能な分類であり、他の実施形態では、コレクションは、文コレクション又は複数語コレクションなどのより粒度の低いコレクションを含んでもよい。
アニメーションのリアルタイム生成:
【0034】
図3は、発話をアニメーション化する方法のフロー図を示す。工程302では、入力文の音素タイムスタンプ及び文脈情報が生成される。文脈情報は、ピッチ、強調、音節、及び単語情報などを含む。工程304では、工程302で提供された情報に基づいて選択された顔のブレンドシェイプの重みの時系列が連結されて、「発話アニメーションの生成」で説明したように連続的な「データ駆動型」発話アニメーションの一片が形成される。工程306では、明確な口形状(例えば、p、b、m、f、w)に関連する音素が、より良好な視覚的キューを得るために手動でポージングされた口形素例とブレンドされる(パート2「モデル口形素とのブレンド」で更に詳細に記載される)。工程308では、アニメーションが平滑化され、ブレンドされる。工程310では、発話アニメーションがエネルギに基づいて変調される。工程312では、アニメーションが再生され、オーディオに同期される。
発話アニメーションの生成
【0035】
発話に変換されるテキストを受信した後、発話分析ソフトウェアによって音素のシーケンスが生成される。ルックアップテーブルからのアニメーションスニペットの選択は、階層的アルゴリズムを使用して実行される。アニメーションスニペットのより大きな連続片が、可能なときはいつでも使用される。ルックアップテーブルのコレクションの検索は網羅的であり、追加の一致が見つからない場合のみ、階層内で次に下のコレクションに進む。
【0036】
図5及び図7は、1231文のコーパスを使用して構築されたルックアップテーブルからの、アニメーションスニペット連結の例を示す。
【0037】
図7は文「And we will go meet her Wednesday at the train station」を示す。702では、ルックアップテーブルの単語コレクションで一致する単語が検索される。2音節以上の単語が例文中で特定されている。単語「wednesday」及び「station」は、コーパス内に存在し、それらの対応するアニメーションスニペットが選択される。これらのアニメーションスニペットの最初の半音素及び最後の半音素でブレンドが実行される。704では、ルックアップテーブルの音節コレクションで、工程702で検出された単語によって既に扱われている音節以外の音節が検索される。単一音節の単語及び複数音節語の個々の音節が、階層的検索プロセスを受ける。一致する音節は、図の「音節」行に列挙されている。706では、母音中心の三音素コレクションが検索される。単語及び音節コレクションを使用して、音素のほとんどに対して一致するアニメーションスニペットが検出されたが、音節コレクション内の単語「train」(/t r EI n/)について一致は見つからなかった。したがって、検索階層は、母音中心の三音素コレクションに進み、/r EI n/に対する例を検出した。例文中に選択されたアニメーションスニペットを有さない残りの半音素から、一致する子音中心の三音素708シーケンス/@ s d/が検出されている。文の最初の音素の右半音素と文の最後の音素の左半音素に対するアニメーションは既に割り当てられているため、文境界の三音素コレクション内で一致する例は取得されない。
【0038】
前部の音節の最後の音素の右半分と、後部の音節の最初の音素の左半分と、を含む、2つの連続音節のそれぞれの対の間の間隙には、二音素710コレクション内の一致するアニメーションスニペットが入力される。2つの例文の最初の半音素及び最後の半音素には、文境界の二音素コレクション内の一致するアニメーションスニペットが入力される。2つの例文にいずれの間隙も残っていない場合、階層的検索は完了する。全ての間隙には、分類内のより上位のコレクションからのアニメーションスニペットが完全に入力されているため、左半音素及び右半音素コレクションでの検索は不要である。
アニメーションスニペットの選択
【0039】
発話パフォーマンスの記録における記録インデックス、開始時間、及び終了時間が、ルックアップテーブル内のアニメーションスニペットごとに記録される。照会されている所与の項目に対して2つ以上のアニメーションスニペットが存在する場合、アニメーションスニペットは任意の好適な方法で取得されてもよい。一実施形態では、アニメーションスニペットはランダムに取得される。別の実施形態では、対応する発話スニペットに最も近い持続時間(終了時間から開始時間を引いたもの)を有するアニメーションスニペットである。アニメーションスニペットは、発話特徴、又は生成される入力文の文脈情報に基づいて選択されてもよい。文脈情報は、ピッチ、強調、音節、及び単語情報などを含んでもよい。一実施形態では、アニメーションスニペットの選択は、対応する発話スニペットの持続時間と一定範囲内で一致するが、特定の対応する発話スニペットの長さを与えられた同じ(すなわち、最も近い)アニメーションスニペットを確定的に戻さないように擬似ランダム化されてもよい。
【0040】
ソース(関連付けられたアニメーションスニペット記録)発話及びターゲット(合成された)発話は、ほとんどの場合、異なるオーディオ持続時間を有する。したがって、ソースアニメーションは、ターゲットオーディオ持続時間内に収まるように伸張される(又は圧縮される)。この伸張(又は圧縮)は、ソースアニメーション上の音素境界が、ターゲットオーディオに一致するように変換される区分的多項式補間を使用して行われてもよい。
【0041】
一実施形態では、アニメーションスニペットは、それらが描写する元の発話及び/又は他の音/オーディオに関連付けられる。これは、例えば、工程202の工程で記載されるように、発話者が発話パフォーマンスを実施するときに、ビデオと共にオーディオをキャプチャすることによって達成され得る。カメラ(単数又は複数)が発話者の口の動きの記録を妨害しないように、高品質のマイクロホンブームが発話者の周りに位置付けられてもよい。代替的及び/又は追加的に、画像/ビデオキャプチャ装置全体が、オーディオ記録用に構成された防音室内にあってもよい。したがって、アニメーションスニペットは、連結された視覚情報及びオーディオ情報の組み合わせとして記憶されてもよく、又はアニメーションスニペットは、それらの対応するソースオーディオ情報に関連付けられてもよい。
【0042】
ビタビ(Viterbi)ベースの動的プログラミングを適用して、ターゲットコスト及び接合コストを併せて最小化することもできる。この場合のターゲットコストは、ソース(コレクション)とターゲット(合成された)発話との間の音素持続時間、エネルギ及びピッチなどの差として定義され得る。接合コストは、2つの音素を連結するときの筋肉チャネルの差の合計である。
2.モデル口形素とのブレンド
技術的問題
【0043】
発話アニメーションのいくつかの手続き型モデルは、現実的な調音結合方式、例えば、重なり合う優位関数を使用する優位モデルを含む場合があり、所与の口形素が、その近隣の音素を考えた場合にそのターゲット形状にどのくらいで達するかを示す値を与える。しかしながら、優位モデルは、両唇の唇閉鎖(/m b p/)及び特定の他の音素の適切な描写を十分に確実にすることができない。
技術的解決法
【0044】
一実施形態では、発話アニメーションのリアルタイム生成は、モデル口形素を使用して、口形素の始まりのアニメーションシーケンスを予測し、ルックアップテーブルに基づいた(データ駆動型)アルゴリズムを使用して、口形素の遷移における動態を予測する。具体的にポージングされたモデル口形素は、それらの口形素が表現されるときに、アニメーション内の対応する時点で別の方法(パート1「階層的ルックアップ及び多音字連結」で記載した方法など)を使用して生成された発話アニメーションとブレンドされてもよい。
詳細な説明
モデル口形素
【0045】
口形素として知られる1つ以上の音素の視覚的な例は、口形素をそれらの始まりに現実的に示すモデルの視覚的例(以降「モデル口形素」)として手動でポージングされるか又は意図的に選択されてもよい。モデル口形素は、明確な口形状に関連する音素に対して作製される読唇可能な口形素であってもよく、読唇を目的として完全に開発された視覚的キューを描写する助けとなり得る。口形素の静的ポーズは、単一フレームの表情の重みを変更することによって、経験豊富なアーティストによって手動で作製されてもよい。図9は、ニュートラルな音素/m/、音素/f/、音素/w/の口形素ポーズ例(左から右)を示す。
【0046】
口形素の静的ポーズは、経験豊富なアーティストが表情(FACS)の重みを変更することによって、又は実際の対象をスキャンし、ブレンドシェイプモデル内に漸進的な組み合わせのブレンドシェイプとして追加することによって、手動で作製されてもよい。一実施形態では、唇又は歯をくっつける必要がある音素、例えば、/b/、/p/、/m/、/f/、及び/v/と、唇を漏斗形にする必要がある音素、例えば、/o/及び/w/の口形素が作製される。それらの対応する音素の持続時間にわたるこれらのスナップショットの活性化のレベルは、フラットトップ及びピーク1(完全活性化)を有する修正ガウス関数によって記載される。
【0047】
フラットトップガウス関数は、ユーザに可視であるように、音素の視覚的描写が、その完全活性化にて一定の持続時間(例えば、少なくとも1つのフレーム)保持されることを確実にする。この修正ガウス関数は、左に歪んでいてもよい。これは、口形素の完全活性化が音声中の任意の点で生じ得るという事実を反映したものである。例えば、唇は、音素「b」又は「p」の音声が生成される前に、完全にくっつけられる。ガウス分布の歪み及び広がりは、現在の音素の持続時間、並びに現在の音素の前(左)及び後(右)の持続時間に基づいて自動的に調整される。
活性化曲線
【0048】
それらの対応する音素の持続時間にわたるこれらのスナップショットの活性化のレベルは、フラップトップ(これはフラップトップガウス関数と異なることに注意されたい)及びピーク1(完全活性化)を有する修正ガウス関数によって説明される。修正ガウス関数の重みはまた、連結されたアニメーションスニペットと、口形素の手動でポージングされたスナップショットとの間のブレンドの重みとして機能する。フレームにおける修正ガウス関数の重みが1であるとき、このフレームの表情の重みは、対応する口形素の手動で作製されたスナップショットのみに由来する。修正ガウス関数の重みが0であるとき、表情の重みは、連結されたアニメーションスニペットのみに由来する。
【0049】
複数のガウス関数が重なり合う場合、より優先度の低い形状の強度を調整するために正規化工程が実行される。この正規化は、ユーザがそれぞれの音素に割り当てた優先度の重みに基づいて実行される。例えば、/b/の口形素ガウス曲線が/o/の口形素ガウス曲線と重なり合う場合、/b/音素を発する間の唇の閉鎖を維持するために、/b/がアニメーションで優位に立つように、それらの強度が調整され得る。図11は、2つの重なり合うガウス曲線の(a)正規化前及び(b)正規化後の例を示す。これらのパラメータは、経験を通して、又は調音の場所などの生理学的及び解剖学的観察に基づいて割り当てられ得る。
【0050】
一実施形態では、アニメーションは、FACS AUなどの筋肉ベースの記述子のブレンドシェイプに基づき、モデル口形素は、上記の「階層的ルックアップ及び多音字連結」を使用して生成されるアニメーションシーケンスとブレンドされる。結果として得られた音素ガウス曲線は、アーティストによって定義されたマッピングを使用してFACSにマッピングされ、連結されたアニメーションスニペットにブレンドされる。修正ガウス関数の重みは、連結されたアニメーションスニペットと、口形素の手動でポージングされたスナップショットとの間のブレンドの重みとして機能する。フレームにおける修正ガウス関数の重みが1であるとき、このフレームの表情の重みは、対応する口形素の手動で作製されたスナップショットのみに由来する。修正ガウス関数の重みが0であるとき、表情の重みは、連結されたアニメーションスニペットのみに由来する。
【0051】
より一般的なアプローチでは、修正ガウス関数の代わりに、音素の形成のそれぞれの段階における唇形状を説明するパラメータ化されたスプラインモデルが使用され得る。
連結されたアニメーションの平滑化
【0052】
一実施形態では、生成されたFACSアニメーションは、2段階の平滑化及び拡張プロセスを受ける。平滑化の第1段階は、音節の領域にわたる表情の重みに作用する。追加の平滑化が必要とされる場合、平滑化の第2段階は、文の領域にわたる表情の重みに作用する。
【0053】
平滑化の第1の段階は、階層的フィルタリング方法を使用し、ローパスのバターワースフィルタがそれぞれの音節に、次いでそれぞれの単語に、次いでそれぞれのフレーズに適用される。それぞれのレベルにおいて、バターワースフィルタのカットオフ周波数は、前のレベルから高められる。これにより、音節境界と比較してより高い平滑化が音節内に適用され、同様に単語境界と比較してより高い平滑化が単語内に適用されることが確実になる。加えて、音節及び単語のカットオフ周波数は、複合音素の平均持続時間に基づいて調整される。これにより、平滑度が発話の速度とは無関係に維持されることが確実になる。
【0054】
平滑化の第2の段階は、アニメーションの重みを制限する、スプライン曲線を当てはめて外れ値を除去する、及び口形状が発話終了後に所望の静止位置に戻ることを確実にするために、シグモイドウィンドウイング操作を適用するなど、標準的なアニメーションクリーンアップ操作の集まりで構成される。加えて、アニメーションの重みは、発話のエネルギに基づいて更に拡張される。例えば、より大きい声の発話は、顎の開きなどのいくつかのアニメーションチャネルに対するより大きな動きに変換される。
3.連結を介した頭部及び眉のアニメーションの生成
【0055】
頭部の動き及び眉のアニメーションは、「階層的ルックアップ及び多音字連結」に記載されているものと同様の方法で生成される。頭部の動きのアニメーションの場合、傾斜、ピッチ、及びヨー、並びに肩の並進運動が連結される。眉のアニメーションの場合、眉の運動に関連するAU(例えば、眉の内側及び外側を上げる、眉を下げる、など)が連結される。しかしながら、リップシンクアニメーションとは異なり、頭部及び眉のアニメーションは、フレーズ単位で動作する。
【0056】
頭部及び眉のアニメーションのリアルタイム生成は、以下の工程を含む。
1.文及び単語のタイムスタンプ並びに入力文の文脈情報を生成する。
2.工程1で提供された情報に基づいて選択された、頭部の回転及び並進運動の時系列を連結する。
3.工程1で提供された情報に基づいて選択される、眉のアニメーションの時系列を連結する。
4.アニメーションを平滑化し、ブレンドする。
5.アニメーション信号に感情を追加する。
6.オーディオに同期したアニメーションを再生する。
フレーズコレクション
【0057】
フレーズのそれぞれの音節数を集めて、一致するアニメーションスニペットを検出する。複数のアニメーションスニペットが検出された場合、それらは、フレーズ内の強調音節位置の類似性に基づいてランク付けされる。一致する強調音節位置を有する複数のフレーズが検出された場合、それらはフレーズの持続時間によって再びランク付けされる。一致するアニメーションスニペットが入力フレーズ上で検出されない場合、フレーズは、複合語の単語境界でサブフレーズに分離される。複合語が検出されない場合、システムは、フレーズ内の強調の数のみを一致させるように切り替える。依然として一致が検出されない場合、システムは、フレーズの中点に最も近い単語境界でフレーズの破断(すなわち、二分裂)を開始する。
キーワードコレクション
【0058】
Good、bad、yes、及びnoなどの一定のキーワードは、多くの場合、特定の頭部及び眉の動き(すなわち、うなずく、頭を振る、眉を上げるなど)に関連付けられる。これらのキーワードがフレーズ内で検出された場合、これらの単語のアニメーションは、このコレクション内で検出されたアニメーションスニペットに置き換えられる。アニメーションが生成されると、次に、ノイズを平滑化し、連結アーチファクトを除去するために、アニメーションシーケンスがフィルタリングされる。
例示的ポーズからの舌のアニメーションの生成
【0059】
通常の発話中に舌の動きをモーションキャプチャすることは困難であるため、舌のアニメーションは、音素ごとに手動で作製された例示的ポーズから生成される。例示的ポーズは、「モデル口形素とのブレンド」に記載されているようにアニメーションとブレンドされてもよい。同様に、正規化重みは、それらの音素の調音の場所に基づいて導出されてもよい。
4.感情的な発話
技術的問題
【0060】
従来のアプローチは、種々の感情状態で取られた発話アニメーションのいくつかの例を予め記録し、所望の感情を有する発話アニメーションを選択することによって感情的な発話を生成していた。しかしながら、記録される発話の量には、発話中に表わされ得る感情状態の数が乗じられるため、このようなアニメーションモデルを作製するには時間がかかる。これは拡張性がなく、微妙な感情状態を容易に散在させ、発話と統合させることができない。他のアプローチは、顔を話し領域及び感情表現領域に分割し、それらの領域を別々に制御して感情及び発話の両方をアニメーション化してきた。その結果は、顔全体が感情を表現し得るため、自然にも現実的にも見えず、関与する筋肉は相互に排他的ではない。
技術的解決法
【0061】
出力重み付け関数を使用して、筋肉ベースの記述子の重み付けへの発話入力及び表情入力をマッピングする。
詳細な説明
【0062】
発話アニメーションは、表情のある発話アニメーションを形成するために表情アニメーションと複合され得る。図12は、アニメーションシステムを示す。簡略化された実施形態では、アニメーションコンポーザ1205は、発話アニメーション及び表情アニメーションを含む2つのアニメーション入力を受信する。アニメーションコンポーザ1205は、出力重み付け関数を使用して、受信したアニメーション入力を調整する。例えば、発話アニメーションが表情アニメーションと同時に受信されるときは常に、「発話優位」として定義されるアニメーションチャネル(動作単位)が抑制され(又は制約される、換言すれば、重み付け基準で抑止される/重みが引き下げられる)、それらのアニメーションチャネルの出力アニメーションは、発話アニメーションエンジンからのそれぞれの入力のみ又は主にその入力による影響を受けるようになる。
【0063】
表情アニメーションは、任意の好適な方法で生成され得る。一実施形態では、アニメーションは、アニメーション化されている対象の内部感情状態をモデリングする神経行動モデル/仮想中枢神経系を使用して生成される。仮想オブジェクト又はデジタルエンティティをアニメーション化するための神経行動モデルの使用は、本発明の譲受人にも譲渡された国際公開第2015016723A1号に更に開示され、参照により本明細書に組み込まれる。別の実施形態では、アニメーションは、相互作用中に対象の共感的ミラーリングを介して提供されてもよい。代替的及び/又は追加的に、感情表現又は伝達表現の事前記録されたアニメーションが提供されてもよい。任意の好適なアニメーション入力の組み合わせが、上記のように、ないしは別の方法で提供されてもよい。表情アニメーションは、発話(リップシンク)アニメーションに追加される、時間的に変化するFACS AUの重みの集まりとして提示されてもよい。
筋肉ベースの記述子クラスの重み付け
【0064】
表情アニメーションが発話リップシンクアニメーションに干渉すること又はその逆を防止するために、2つの筋肉ベースの記述子クラス、すなわち、表情AU及び発話AUが定義される。次いで、それぞれのAUに、2つのクラスの重み付け(合計1.0にする)が割り当てられ、異なるタイプのアニメーションシーケンス(発話シーケンス又は表情シーケンスなど)を表現する際のそれぞれのAUの相対的重要性が決定される。いくつかの実施形態では、筋肉ベースの記述子クラスの重み付けは、出力重み付け関数における発話アニメーション入力及び表情アニメーション入力に対する係数であってもよい。
【0065】
いくつかの実施形態では、アニメーションに対する最終的な筋肉の重みが1以下、すなわちSum(AU)<=1に制約されるように、制約が適用され得る。例えば、発話駆動型の大頬骨筋AU12の活性化と組み合わされる笑顔の完全活性化(大頬骨筋AU12の活性化)は、感情の重み付けと発話の重み付けとの両方の活性化を使用して最終的なアニメーションを駆動するが、大頬骨筋の最終活性化を1に制約することによって活性化されてもよい。例えば、半笑い(AU12=0.5)、及び単語「sheep」を発すること(AU12=0.75)は、Sum(AU12)=0.5+0.75=1.25となり、これが1に制約される。
優先度の重み付け
【0066】
アニメーションの複合中、それぞれのアニメーション入力は、クラスごとの優先度値を有してもよい(同じく合計1.0にする)。この優先度値は、優先順位付けされるか又はより明確に描写されることが望ましいアニメーションシーケンスのタイプとして考えられ得る。例えば、アニメーションが明確かつ理解可能な方法で発話を示すことを意図する場合、発話に対する優先度の重み付けは増加されてもよい。逆に、アニメーションが、デジタルキャラクタはデジタルキャラクタの発話を妨げるほど感情的であることを示すことを意図する場合、表情又は感情に対する優先度の重み付けは、発話のものよりも大きくてもよく、又は少なくとも増加されてもよい。
アニメーションコンポーザ
【0067】
アニメーションコンポーザは、優先度の重み付けを受信し、また、アニメーションコンポーザは、入力シーケンスを拡張するために使用する乗数を決定する。一実施形態では、関数は以下のように定義される。
w=α.w+α.w
α=p+p.(c-c
α=p+p.(c-c
式中、
=入力発話の重み
=入力表情の重み
=発話に対する優先度の重み付け
=表情に対する優先度の重み付け
=発話に対する筋肉ベースの記述子クラスの重み付け(分類の重み)
=表情に対する筋肉ベースの記述子クラスの重み付け
α=発話に対する出力乗数
α=表情に対する出力乗数
並びにα及びαは、0~1の間に制限される。
【0068】
図13は、AU12、AU22、及びAU26(それぞれ、口角を引き上げる、漏斗型にする、及び顎を下げるAU)のアニメーション優先度を示す。この例では、AU12は、高い表情クラスの重み付けを有し、発話クラスの重み付けを有さないが、AU22は、高い発話クラスの重み付けを有し、表情クラスの重み付けを有さない。一方、AU26は、この2つの混合である。表情アニメーションに優先度が与えられると、表情アニメーションエンジンからのAU12は(単位乗数を用いて)通過するが、発話アニメーションエンジンからのAU12は完全に抑制され、それが表情優位アニメーションに干渉することが防止される(例えば、これは、対象が悲しい表情をしているときに、対象が口角を引き上げることを防止する)。しかしながら、対象は話し言葉を形成しようとする(例えば、泣きながら話そうとする)ため、発話アニメーションエンジンからのAU22は通過を許可される。AU22は、感情と矛盾しないため、妨げられない。クラスの重み付けが等しい(すなわち、AU26)場合、発話チャネルはまた、それが二重活性化して、表情アニメーションが壊れることを防止するために抑止される。
【0069】
発話アニメーションに優先度が与えられると、表情アニメーションエンジン及び発話アニメーションエンジンの両方のAU12が通過する。これは、AU12が、表情優位のAUであり、発話アニメーションに干渉しないためである。発話アニメーションエンジンからのAU22は、話し言葉を形成するために通過を許可されるが、表情アニメーションエンジンは、干渉を防止するために抑止される。同様に、表情アニメーションエンジンからのAU26もまた抑止されるが、発話アニメーションエンジンからのAU26は通過する。
【0070】
他のクラスの重み付けの組み合わせ(例えば、AU24(唇を押さえ付ける)は、表情アニメーション及び発話アニメーションにおいてクラスの重み付け0.2及び0.8をそれぞれ有する)について、アニメーションコンポーザは、干渉を軽減するために入力アニメーションシーケンスに0~1の非単位乗数を適用する。
【0071】
図14は、AU24に対するアニメーションコンポーザの拡張の例を示す。図15は、発話に優先度を有する嬉しい表情とブレンドされた口形素ポーズの例、(左上)嬉しい表情、(右上)音素/m/、(左下)音素/f/、(右下)音素/w/を示す。AU26(顎を下げる)は抑制されるが、AU06(頬を持ち上げる)及びAU12(口角を引き上げる)は、口形素形状を形成する際に存在したままである。図16は、発話に優先度を有する不安な表情とブレンドされた口形素ポーズの例、(左上)不安な表情、(右上)音素/m/、(左下)音素/f/、(右下)音素/w/を示す。AU24(唇を押さえ付ける)は抑制されるが、AU04(眉を下げる)は、口形素形状を形成する際に存在したままである。
発話アニメーションの「アクセント」のカスタマイズ
【0072】
口形素の例示的なポーズ及びガウス関数修飾子のカスタマイズ性は、ユーザがアバターの発話スタイル及び個性を調整することを可能にする。これは、解剖学的構造、顔の表情、並びに肌のきめを変形させ得るデジタルキャラクタブレンドシステム(ニュージーランド仮特許出願第747626号に記載される)と組み合わせて、一意の発話個性を用いて新しいキャラクタを作製することを可能にする。
【0073】
加えて、このシステムは、異なる言語、アクセント、又は発音スタイルで話す異なる人々からのキャプチャである、複数のルックアップテーブルを組み込むことができる。アニメーション生成段階で、ユーザは、ブレンドされたアバターの視覚的外観に一致させるために、アニメーションを再構成するためのテーブルを選択し得る。
補間との組み合わせ
【0074】
結果として得られた発話アニメーションをBendshape Interpolation and Animation Framework[ニュージーランド仮特許出願第747627号]に供給して、組み合わせ及び漸進的形状の非線形補間を用いた信用できるブレンドシェイプアニメーションを生成する。加えて、口形素の例示的なポーズを発話者の3Dスキャンから作製することも、デジタルアーティストがスカルプトすることもできる。次いで、これらの例示的なポーズを漸進的な組み合わせ形状として追加して、これらの音素に対して結果として得られる唇形状への追加のカスタマイズを可能にすることができる。
【0075】
更に、FACSブレンドシェイプで操作する代わりに、口形素ベースのブレンド形状を使用することができる。ニュージーランド仮特許出願第747627号で定義された名前付け方式を使用して、Animation Frameworkにより、アニメーション段階で口形素ベースのブレンドシェイプをFACS AUに分解することができる。このアプローチの利点は、ユーザにとってより直感的な制御を提供することである。加えて、これにより、口形素ベースのブレンドシェイプでのみ解決するように顔の再標的化システムを制約することにもなり、したがって、発話シーケンスに対してよりクリーンな解決結果がもたらされる。
例示的実施形態
【0076】
一実施形態では、AUチャネルは、以下の群に分類される。
・発話の口のAU。例えば、AU08(唇を互いに接近させる)、AU18(唇をすぼめる)、AU22(唇を漏斗型にする)など。
・感情の口のAU、例えば、AU12(口角を引き上げる)、AU15(口角を下げる)、AU21(首を引き締める)など。
・他の口のAU、例えば、AU16(下唇を下げる)、AU25(唇を離す)、AU35(頬を吸い込む)など。
・口以外のAU、例えば、AU01(眉の内側を上げる)、AU05(上瞼を上げる)、AU09(鼻にしわを寄せる)など。
【0077】
一実施形態では、アニメーション化されているデジタルキャラクタ/仮想エンティティが話し始めると、時間的に平滑化された抑止信号が活性化される。抑止信号は最初にゼロであり、アバターが話を進めるにつれて最大1まで徐々に増加する(増加速度は、約100msに設定され得る調整可能なパラメータである)。抑止信号は、感情の流れ(表情アニメーション入力)に由来する特定のAU群の寄与を低減する。抑止率は、他のネットワークによって手動で設定されてもよく、かつ/又は動的に変更されてもよい。一実施形態では、上に定義されたAU分類は、以下のように低減される。
・発話の口のAU-100%低減
・感情の口のAU-50%低減
・他の口のAU-100%低減
・口以外のAU-10%低減
【0078】
AU群に加えて、個々のAUに特定の低減係数が設定され得る。アバターが話し終えると、抑止信号は徐々に減少し、ゼロに戻る。減少速度は、通常はより遅いペース(約500ms)に設定され、アバターが話し終えた後に完全な表現度を顔に戻すことを可能にする。
【0079】
解釈
上記の方法及び技術は、英語を基準にして記載されてきたが、本発明はこの点において限定されない。実施形態は、任意の言語の発話アニメーションを促進するように変更されてもよい。骨ベースのアニメーションリギング、又は任意の他の好適なアニメーション技術が、ブレンドシェイプアニメーションの代わりに使用されてもよい。
【0080】
上記の実施形態のうちのいくつかにおいて、筋肉変形記述子は、Facial Action Coding System(FACS)によって特定される動作単位(AU)420である。動作単位の例としては、「眉の内側を上げる」、「眉の外側を上げる」、「口角を引き上げる」、「顎を下げる」、及び「口角を引き上げて顎を下げる」が挙げられる。しかしながら、筋肉変形記述子の任意の好適な分類法が使用されてもよい。例えば、筋肉変形記述子はまた、統計的に計算されてもよい。例えば、アニメーション内のフレームのメッシュ形状の変化の主成分は、主成分分析(PCA)を使用して計算することができる。対象とする筋肉のみがアニメーションに関与する場合、計算された主成分は、筋肉変形記述子として使用され得る。
【0081】
記載の方法及びシステムは、任意の好適な電子コンピューティングシステム上で利用されてもよい。以下に記載される実施形態によれば、電子コンピューティングシステムは、様々なモジュール及びエンジンを使用して本発明の方法を利用する。
【0082】
電子コンピューティングシステムは、少なくとも1つのプロセッサ、1つ以上のメモリデバイス、又は1つ以上のメモリデバイスに接続するためのインターフェースと、システムが1人以上のユーザ又は1つ以上の外部システムからの命令を受信し操作することを可能にするために外部デバイスに接続するための入力及び出力インターフェースと、様々な構成要素間の内部及び外部通信用のデータバスと、好適な電源と、を含んでもよい。更に、電子コンピューティングシステムは、外部及び内部デバイスと通信するための1つ以上の通信デバイス(有線又は無線)と、ディスプレイ、ポインティングデバイス、キーボード、又は印刷デバイスなどの1つ以上の入出力デバイスと、を含んでもよい。
【0083】
プロセッサは、メモリデバイス内のプログラム命令として記憶されたプログラムの工程を実行するように配置される。プログラム命令は、本明細書に記載されるような本発明を実行する様々な方法が実行されることを可能にする。プログラム命令は、例えば、Cベースの言語及びコンパイラなどの任意の好適なソフトウェアプログラミング言語及びツールキットを使用して開発又は実装されてもよい。更に、プログラム命令は、例えば、コンピュータ可読媒体上に記憶されるなど、メモリデバイスに転送される又はプロセッサによって読み取られることが可能であるように、任意の好適な方法で記憶されてもよい。コンピュータ可読媒体は、例えば、ソリッドステートメモリ、磁気テープ、コンパクトディスク(CD-ROM又はCD-R/W)、メモリカード、フラッシュメモリ、光ディスク、磁気ディスク、又は任意の他の好適なコンピュータ可読媒体などのプログラム命令を有形に記憶するための任意の好適な媒体であってもよい。電子コンピューティングシステムは、関連データを取得するために、データ記憶システム又はデバイス(例えば、外部データ記憶システム又はデバイス)と通信するように配置される。
【0084】
本明細書に記載されるシステムは、本明細書に記載される様々な機能及び方法を実行するように配置された1つ以上の要素を含むことが理解されよう。本明細書に記載される実施形態は、システムの要素を構成する様々なモジュール及び/又はエンジンが、機能の実装を可能にするためにどのように相互接続され得るかを示す例を読者に提供することを目的とする。更に、記載される実施形態は、システム関連詳細において、本明細書に記載される方法の工程がどのように実行され得るかを説明する。概念図は、様々な異なるモジュール及び/又はエンジンによって様々なデータ要素が異なる段階でどのように処理されるかを読者に示すために提供される。
【0085】
したがって、モジュール又はエンジンの配置及び構成は、様々な機能が本明細書に記載されるものとは異なるモジュール又はエンジンによって実行され得るように、かつ、特定のモジュール又はエンジンが単一のモジュール又はエンジンに組み合わされ得るように、システム及びユーザ要件に応じて適合され得ることが理解されよう。
【0086】
記載されるモジュール及び/又はエンジンは、任意の好適な形態の技術を使用して実装され、命令を提供され得ることが理解されよう。例えば、モジュール又はエンジンは、任意の好適な言語で書かれた任意の好適なソフトウェアコードを使用して実装又は作製されてもよく、コードはその後、任意の好適なコンピューティングシステム上で実行され得る実行可能プログラムを生成するようにコンパイルされる。代替的に、又は実行可能プログラムと併せて、モジュール又はエンジンは、ハードウェア、ファームウェア、及びソフトウェアの任意の好適な混合物を使用して実装されてもよい。例えば、モジュールの一部は、特定用途向け集積回路(ASIC)、システムオンチップ(SoC)、フィールドプログラマブルゲートアレイ(FPGA)、又は任意の他の好適な適応可能若しくはプログラム可能な処理デバイスを使用して実装されてもよい。
【0087】
本明細書に記載される方法は、記載された工程を実行するように具体的にプログラムされた汎用コンピューティングシステムを使用して実装されてもよい。あるいは、本明細書に記載される方法は、データ分類及び可視化コンピュータ、データベースクエリコンピュータ、グラフィック分析コンピュータ、データ分析コンピュータ、製造データ分析コンピュータ、ビジネスインテリジェンスコンピュータ、人工知能コンピュータシステムなど、特定の分野に関連付けられた環境からキャプチャされた特異的なデータに対して、記載された工程を実行するように具体的に適合されている、特定の電子コンピュータシステムを使用して実装されてもよい。
【符号の説明】
【0088】
1 アニメーションスニペット
2 ルックアップテーブル
3 コレクション
4 項目
5 インスタンス
6 モデル口形素
7 ストリング
8 筋肉ベースの記述子クラスの重み付け
9 優先度の重み付け
10 出力重み付け関数
11 発話
12 表情
13 筋肉ベースの記述子
14 アニメーションコンポーザ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16