(57)【要約】データ処理装置を用いてアバターをアニメ化するためのコンピュータ実行方法であって、ａ）２次元および／または３次元オブジェクトをアニメ化するように設計され、インターフェースを有するグラフィックスユニットを提供するステップであって、前記インターフェースを介して前記２次元および／または３次元オブジェクトをアニメ化するための制御データを前記グラフィックスユニットに送信されるステップと、ｂ）前記グラフィックスユニットがアドレス指定できる利用可能なメモリ領域でアバターを読み取ってロードして保持するステップと、ｃ）前記アバターをアニメ化するための制御データを受信するための受信ユニットを提供するステップと、ｄ）受信した制御データを前記グラフィックスユニットに連続的に順次送信するステップと、ｅ）前記現在それぞれ送信されている制御データに基づいて更新されたアバターを再計算し、その後前記グラフィックスユニットで前記アバターをレンダリングすることによって前記アバターをアニメ化するステップと、ｆ）前記更新されたアバターを連続的に表示装置に提示するステップと、を含む【選択図】図１
2022500795.tif 000002
【特許請求の範囲】
【請求項１】
データ処理装置を用いてアバターをアニメ化するためのコンピュータ実行方法であって、
ａ）２次元および／または３次元のオブジェクトをアニメ化するように設計され、インターフェースを有するグラフィックスユニットを提供するステップであって、前記インターフェースを介して前記２次元および／または３次元オブジェクトをアニメ化するための制御データを前記グラフィックスユニットに送信されるステップと、
ｂ）前記グラフィックスユニットによってアドレス指定できる利用可能なメモリ領域にアバターをロードして保持するステップと、
ｃ）前記アバターをアニメ化するための制御データを受信するための受信ユニットを提供するステップと、
ｄ）受信した制御データを前記グラフィックスユニットに連続かつ順に送信するステップと、
ｅ）前記現在それぞれ送信されている制御データに基づいて更新アバターを連続に再計算し、続いて前記グラフィックスユニットにおいて前記アバターをレンダリングすることによって、前記アバターをアニメ化するステップと、
ｆ）前記更新アバターを連続に出力デバイス上に提示するステップとを含む方法。
【請求項２】
前記方法は、前記データ処理装置で動作するウェブブラウザにおいて実行されることを特徴とする請求項１に記載の方法。
【請求項３】
前記アバターは、ステップｄ）〜ｆ）の間、前記メモリ領域において常時利用可能であることを特徴とする請求項１または２に記載の方法。
【請求項４】
前記ステップｄ）〜ｆ）はリアルタイムで実行されることを特徴とする請求項１乃至３のいずれか１項に記載の方法
【請求項５】
前記制御データは時間符号化を有し、ステップｄ）〜ｆ）は好ましくは前記時間符号化と同期して実行されることを特徴とする請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記アバターは、階層的に接続された一組のボーンおよび／またはジョイントおよび結合された頂点のメッシュの形態のスケルトンによって定義されることを特徴とする請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
前記アバターのキー画像、例えば、１０〜９０のキー画像が前記メモリ領域にロードされ、前記アバターと共に提供されることを特徴とする請求項１乃至６のいずれか１項に記載の方法。
【請求項８】
前記制御データは、前記ボーンおよび／またはジョイントの座標を表すことを特徴とする請求項１乃至７に記載の方法。
【請求項９】
前記制御データは１またはそれ以上の制御データレコードを含み、前記制御データレコードは特定の時間における前記アバターを定義することを特徴とする請求項１乃至８のいずれか１項に記載の方法。
【請求項１０】
前記アバターはｎ個よりも多いボーンおよび／またはジョイントを含む一方、制御データレコードはｎ個のボーンおよび／またはジョイントの前記座標を含み、前記アバターの前記ｎ個よりも多いボーンおよび／またはジョイントは、制御データレコードにおける前記ｎ個のボーンのそれぞれに割り当てられることを特徴とする請求項１乃至９のいずれか１項に記載の方法。
【請求項１１】
前記更新アバターを計算するとき、少なくとも２つのキー画像を補完することによって中間画像が生成されることを特徴とする請求項７乃至１０のいずれか１項に記載の方法。
【請求項１２】
ステップｅ）において、少なくとも１つのキー画像、特に複数のキー画像が、前記制御データ内の選択されたボーンおよび／またはジョイントにリンクされることを特徴とする請求項７乃至１１のいずれか１項に記載の方法。
【請求項１３】
前記制御データ内の選択されたボーンおよび／またはジョイントの位置は、少なくとも１つのリンクされたキー画像を用いた補間によって得られる中間画像に割り当てられることを特徴とする請求項７乃至１２のいずれか１項に記載の方法。
【請求項１４】
所定の基準値から選択されたボーンの前記位置の偏差は、前記補間における前記少なくとも１つのリンクされたキー画像の前記影響の前記強さを規定することを特徴とする請求項７乃至１３のいずれか１項に記載の方法。
【請求項１５】
前記個々の制御データは、前記所定のプロトコルに従って前記アバターの前記ボーンおよび／またはジョイントおよび／または前記キー画像に割り当てられ、前記プロトコルは好ましくは前記メモリ領域にロードされ、前記アバターと共に提供されることを特徴とする請求項７乃至１４のいずれか１項に記載の方法。
【請求項１６】
前記制御データは、リモートデータ処理装置、特にサーバに存在し、ネットワーク接続、特にインターネット接続を介して、受信されることを特徴とする請求項１乃至１５のいずれか１項に記載の方法。
【請求項１７】
２つ以上のアバターが同時にロードされ、互いに独立して利用可能であり、好ましくは、個別に割り当てられた制御データを用いて互いに独立してアニメ化されることを特徴とする請求項１乃至１６のいずれか１項に記載の方法。
【請求項１８】
本発明の別の態様は、データ処理装置を使用してアバターをアニメ化するための制御データを捕捉する方法に関し、前記制御データは、特に、請求項１乃至１７のいずれか１項に記載の方法で使用するように設計され、
ａ）２次元又は３次元空間内で移動可能である、物体の２次元又は３次元仮想モデルを提供するステップであって、前記モデルは、定義された方法で前記仮想モデルを変更するために使用することができる制御要素を有するステップと、
ｂ）時間分解する方法で実際の物体の前記動きおよび／または変化を捕捉するステップと、
ｃ）前記仮想モデルの前記制御要素の前記座標を決定することによって前記仮想モデル内の前記実際の物体の前記動きおよび／または変化をエミュレートするステップであって、
前記動きおよび／または変化は、時間分解法で与えられた時間における前記実際の物体の状態に対応するステップと、
ｄ）前記制御要素の前記決定された時間分解座標を制御データとして提供するステップとを含む方法。
【請求項１９】
前記方法は、前記データ処理装置で動作するウェブブラウザにおいて実行されることを特徴とする請求項１８に記載の方法。
【請求項２０】
ステップｂ）〜ｄ）はリアルタイムで実行されることを特徴とする請求項１８または１９に記載の方法。
【請求項２１】
定義された時間におけるすべての制御要素の前記座標は、前記定義された時間における前記モデルを完全に定義するデータレコードを形成することを特徴とする請求項１８乃至２０のいずれか１項に記載の方法。
【請求項２２】
前記仮想モデルは、階層的に接続された一組のボーンおよび／またはジョイント、およびそれに連結された頂点のメッシュの前記形態のスケルトンによって定義され、前記ボーンおよび／またはジョイントは、特に、前記制御要素を構成することを特徴とする請求項１８乃至２１のいずれか１項に記載の方法。
【請求項２３】
前記仮想モデルは、人間の身体、特に人間の頭部を表し、人間の身体、特に人間の頭部の前記動きおよび／または変化は、ステップｂ）において補足されることを特徴とする請求項１８乃至２２のいずれか１項に記載の方法。
【請求項２４】
ステップｂ）において、前記移動および／または変化する物体の個別のランドマークポイントの動きを検出することを特徴とする請求項１８乃至２３のいずれか１項に記載の方法。
【請求項２５】
前記ランドマークポイントは、前記モデルの前記メッシュの個別の頂点に割り当てられることを特徴とする請求項２４に記載の方法。
【請求項２６】
２Ｄビデオカメラは、前記物体の前記動きおよび／または変化を捕捉するとき、ステップｂ）において使用されることを特徴とする請求項１８乃至２５のいずれか１項に記載の方法。
【請求項２７】
前記実際の物体の動きおよび／または変化に加えて、音響信号、特に音声信号は、ステップｂ）において時間分解された方法で捕捉されることを特徴とする請求項１８乃至２６のいずれか１項に記載の方法。
【請求項２８】
ステップｄ）において提供される前記制御データ、特に前記モデルの前記ボーンおよび／またはジョイントの前記時間分解された座標は、特にデータベースで検索できるように、時間符号化された方法で記録および／または記憶されることを特徴とする請求項１８乃至２７のいずれか１項に記載の方法
【請求項２９】
前記制御データは、前記音響信号と並列に、時間符号化された方法で記録および／または記憶されることを特徴とする請求項２８に記載の方法。
【請求項３０】
請求項１８におけるステップａ）〜ｄ）は、ローカルデータ処理装置で完全に実行され、ステップｄ）において提供される前記制御データは、リモートデータ処理装置に記録されることを特徴とする請求項１８乃至２９のいずれか１項に記載の方法。
【請求項３１】
（ｉ）請求項１８乃至３０のいずれか１項に記載の方法を用いてアバターをアニメ化するための制御データを生成するステップと、（ｉｉ）請求項１乃至１７のいずれか１項に記載の方法を用いてアバターをアニメ化するステップとを含む方法であって、ステップ（ｉ）で提供された前記制御データは、特に、ステップ（ｉｉ）で制御データとして連続的に受信され、前記アバターをアニメ化するために用いられることを特徴とする方法。
【請求項３２】
請求項１乃至１７のいずれか１項に記載の方法を実行するための手段および／または請求項１８乃至３１のいずれか１項に記載の方法を実行するための手段を含むことを特徴とするデータ処理システム。
【請求項３３】
プログラムは、コンピュータによって実行されると、後者に請求項１乃至１７のいずれか１項に記載の方法および／または請求項１８乃至３１のいずれか１項に記載の方法を実行させる指示を含むことを特徴とするコンピュータプログラム。
【請求項３４】
請求項３３に記載の前記コンピュータプログラムが記録されていることを特徴とするコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置を用いてアバターをアニメ化するためのコンピュータ実行方法、およびアバターをアニメ化するための制御データを捕捉する方法に関する。本発明はまた、方法を実行するための手段を含むデータ処理システム及びコンピュータプログラムに関する。本発明は同様に、コンピュータプログラムを有するコンピュータ可読記憶媒体に関する。
【先行技術】
【０００２】
デジタル化の急速な進展に伴い、多くの地域で、実際の人物を仮想的なキャラクタやアバターで表現することが増えている。この場合、アバターは、典型的には、仮想世界における実際の人物に割り当てられた人工の人物または図形である。
【０００３】
アバターは、例えば、インターネットフォーラムにおいてユーザに割り当てられる静止画像の形で存在するものであってもよく、識別のために、ディスカッションへの投稿の横にそれぞれ表示される。動きおよび／または外観を具体的に変更することができる動的またはアニメ化可能なアバターも同様に知られている。この場合,複雑なアバターは現実的な方法で実際の人物の動きと表情を模倣することができる。
【０００４】
アバターはすでにコンピューターゲームに広く使われている。この場合、ユーザは、アニメ化可能な仮想キャラクタによって具体的に表現され、仮想ゲーム世界内を移動することができる。アバターはまた、特に映画産業において、オンラインサポートにおいて、仮想アシスタントとして、オーディオヴィジュアルコミュニケーションにおいて、例えば、アバターのビデオチャットにおいて、あるいはトレーニング目的のために、使用される。
【０００５】
米国特許第２０１３／０２３５０４５Ａ１号明細書には、例えば、ビデオカメラ、ネットワークインタフェース、アニメーションソフトウェアを含むメモリユニット、および３Ｄキャラクタまたはアバターのモデルを含むコンピュータシステムが記載されている。このソフトウェアは、顔の動きを実際の人物のビデオ画像で検出し、モーションデータに変換できるように構成されている。その後、これらのモーションデータを使用して、アバターがアニメ化される。アニメ化されたアバターは符号化されたビデオメッセージとしてレンダリングされ、ネットワークインタフェースを介してリモートデバイスに送信され、そこで受信される。
【０００６】
しかしながら、このようなシステムの欠点は、大量のデータを生成する符号化ビデオメッセージを処理する必要があることである。リアルタイムアニメーションは、特にリモートデバイスでは、インターネットやネットワーク接続を介した伝送速度が制限されているため、品質が制限される場合にのみ可能となる。
【０００７】
アバターはすでにトレーニングの分野でも利用されており、その場合、ビデオアニメーションで実際の教師の役割を引き受けたり、複雑な問題を具体的に説明することができる。このようなビデオアニメーションは、典型的には、３Ｄアニメーションプログラムによって予め制作され、ビデオクリップまたはビデオフィルムとして提供される。制作中、アバターまたはオブジェクトは、アニメーションデータと関連付けられ、３Ｄアニメーションプログラム内の背景に対して直接レンダリングされ、ビデオファイル内のユニットとして提供される。その結果、指定のあるいは変更不可能なアニメーションシーケンスと背景を持つ、定義された長さの完全にレンダリングされたビデオファイルが生成される。
【０００８】
しかしながら、アバターをアニメ化して提示するために使用することができる現在利用可能な３Ｄアニメーションプログラムは、通常、操作するのが非常に複雑であり、したがって、専門家によってのみ操作することができる。加えて、完全にレンダリングされたアバターしかロードおよび提示できないため、ロード時間が通常非常に長くなる。
【０００９】
従って、アバターをアニメ化して提示するための改良された、かつより柔軟な解決策が依然として必要である。
【発明の概要】
【００１０】
本発明の目的は、アバターをアニメ化する改良された方法を提供することであり、その方法は、上記に述べた技術分野に属する方法である。特に、この方法は、アバターのリアルタイムアニメーションを可能にすることを意図しており、好ましくは、可能な限り低いデータ量の柔軟な方法で高品質のアニメーションを提供することを意図している。
【００１１】
目的の達成は、請求項１に記載の特徴によって定義される。本発明によれば、データ処理装置を用いてアバターをアニメ化するためのコンピュータ実行方法は、以下の
ａ）２次元および／または３次元オブジェクトをアニメ化するように設計され、インターフェースを有するグラフィックスユニットを提供するステップであって、インターフェースを介して２次元および／または３次元オブジェクトをアニメ化するための制御データをグラフィックスユニットに送信されるステップと、
ｂ）グラフィックスユニットによってアドレス指定できる利用可能なメモリ領域でアバターをロードして保持するステップと、
ｃ）アバターをアニメ化するための制御データを受信するための受信ユニットを提供するステップと、
ｄ）受信した制御データをグラフィックスユニットに連続的に順次送信するステップと、
ｅ）現在それぞれ送信されている制御データに基づいて更新されたアバターを再計算し、その後グラフィックスユニットでアバターをレンダリングすることによってアバターをアニメ化するステップと、
ｆ）更新されレンダリングされたアバターを連続的に出力デバイス上に提示するステップ
を含む。
【００１２】
したがって、本発明によれば、アバターは、実際のアニメーションの前にグラフィックスユニットによってアドレス指定され得るメモリ領域にロードされ、利用可能な状態に維持される。特に、アバターは、ステップｄ）〜ｆ）の間、メモリ領域内で常時利用可能である。
【００１３】
アバターをアニメ化するための制御データは、受信ユニットを介して連続的に受信され、グラフィックスユニットに送信され得る。グラフィックスユニットでは、予めロードされたアバターは、次に、それぞれ現在送信されている制御データに基づいて連続的に再計算され、レンダリングされる。このようにして更新されレンダリングされたアバターは、出力デバイス上に提示される。
【００１４】
この方法は、アバターそのものまたはアバターのベースとなるモデルがロードされ、制御データとは独立して利用可能であるという大きな利点を有する。アバターは、時間的には、制御データの前に完全にロードされることが好ましい。利用可能なアバターをアニメ化するためには、制御データを受信し、それらを使用してアバターを更新することで十分である。これにより、データ量が大幅に削減され、伝送帯域幅が制限されている場合でも、高品質なリアルタイムアプリケーションが可能となる。したがって、本発明によるアプローチを用いることにより、リアルタイムでのユーザインタラクションを何ら問題なく実行することができる。
【００１５】
アバターは原則としてロード後回数無制限に利用可能であるため、制御データを使用していつでも任意の時間でアニメ化できる。また、制御データを異なるソースから得ることができるので、アニメーションにおいて高い柔軟性を達成することができることも強調されるべきである。例えば、制御データソースは、アバターの進行中のアニメーション中に問題なく変更することができる。また、追加の制御データを生成する追加のユーザ入力によって、特定の制御データソースに基づいて実行されるアニメーションに特定の影響を与えることも可能である。
【００１６】
更新アバターの連続的な提示のために、後者は、フレームなしで、および／または背景なしで提示することができ、および／または、原則的に、出力デバイス上の任意の場所、例えばスクリーンで、そのように切り抜くことができる。
【００１７】
したがって、本発明によるアプローチは、背景および／または所定のフレームを有する完全なアニメーションシーケンスの完全なビデオレンダリングがアバターを提示する前に実行されるアバターのビデオベースのアニメーションとは明らかに対照的である。
【００１８】
特に好ましい一実施形態によれば、本発明による方法は、データ処理装置上で動作するウェブブラウザで実行される。ユーザにとって、これは特に、通常存在する標準的なソフトウェア、例えばウェブブラウザとは別に、それ以上のプログラムを必要とせず、後者にコンピュータによる実行中に本発明による方法を実行させるコンピュータプログラムをウェブサイトとして提供できるという利点を有する。言い換えると、コンピュータによる実行中に、後者に本発明による方法を実行させるコンピュータプログラムは、ウェブアプリケーションとして存在してもよい。
【００１９】
この場合、ウェブブラウザは、特に、ワールドワイドウェブにおいて電子ハイパーテキストドキュメントまたはウェブサイトを提示するように設計されたコンピュータプログラムを意味するものとして理解されるべきである。ウェブブラウザは、特に、ＨＴＭＬベースのドキュメント（ＨＴＭＬ：Hypertext Markup Language）および／またはＣＳＳベースのドキュメント（ＣＳＳ：Cascading Style Sheets）が解釈および提示され得るように設計される。ウェブブラウザはさらに好ましくはプログラムのためのランタイム環境、特にＪａｖａランタイム環境を有する。
【００２０】
ウェブブラウザは、ウェブブラウザ内に２Ｄおよび／または３Ｄグラフィックスを提示するために使用することができるプログラミングインタフェースも有するのが好ましい。この場合、プログラミングインタフェースは、好ましくは、提示が、例えばグラフィックスプロセッサまたはグラフィックスカードを使用して、ハードウェア加速化で行われ、特に、追加の拡張なしに行われるように設計される。
【００２１】
本発明による方法のステップｄ）〜ｆ）は、例えば、以下のサブステップによって実行することができる。
（ｉ）グラフィックユニットへ第１受信制御データレコードを送信するステップと、
（ｉｉ）送信された制御データレコードおよびグラフィックスユニットでのアバターのレンダリングに基づいて更新されたアバターを計算するステップと、
（ｉｉｉ）出力デバイスでの更新されたアバターを提示するステップと、
（ｉｖ）グラフィックスユニットへ次の受信制御データレコードを送信するステップと、
（ｖ）特に事前に定義された中止条件が満たされるまで（ｉｉ）から（ｉｖ）までのステップを繰り返すステップ
この場合、サブステップは、特に、記載された順で実行される。
【００２２】
この場合、制御データは、好ましくは、１つ以上の制御データレコードを含み、各制御データレコードは、特定の時間にアバターを定義する。これは、特に、制御データレコードが、ある与えられた時間におけるアバターの状態を定義することを意味する。特に、制御データレコードは、特定の時間におけるアバターの可動制御要素の位置、例えば、ボーンおよび／またはジョイントの位置を直接的または間接的に定義する。間接的な定義または規定は、例えば、以下にさらに説明するように、キー画像によって行うことができる。
【００２３】
特に好ましい一実施形態によれば、ステップｄ）〜ｆ）および／またはサブステップ（ｉ）〜（ｉｖ）がリアルタイムで実行される。これにより、リアルなアニメーションと即座のユーザインタラクションが可能になる。しかし、特別な用途の場合には、ステップｄ）〜ｆ）および／またはサブステップ（ｉ）〜（ｉｖ）も、より速くまたはより遅く行うことができる。
【００２４】
ステップｄ）〜ｆ）および／またはステップ（ｉ）〜（ｉｖ）の各ステップ処理の繰り返し速度は、特に、少なくとも１０Ｈｚ、特に、少なくとも１５Ｈｚ、好ましくは少なくとも３０Ｈｚまたは少なくとも５０Ｈｚである。ステップｄ）〜ｆ）および／またはステップ（ｉ）〜（ｉｖ）の各ステップ処理は、同期して行われることが好ましい。これにより、特にリアルなリアルタイムアニメーションを実現できる。しかし、特別な場合には、より遅い繰返し速度も可能である。
【００２５】
また、制御データが時間符号化されており、ステップｄ）〜ｆ）および／またはサブステップ（ｉ）〜（ｉｖ）が時間符号化と同期して実行されることが好ましい。これにより、アバターの時間分解アニメーションが可能になり、その結果、リアルに近いという利点が得られる。
【００２６】
本発明において、「アバター」は、実際の物体または物体、例えば生物の人工モデルを意味するものとして理解される。特に、アバターという用語は、仮想世界において実在の人物に割り当てることができる人工の人物または図形を意味するものとして理解される。この場合、アバターは、生物を完全に又は部分的に、例えば人の頭部のみを表すことができる。
【００２７】
アバターは、特に、物体の２次元または３次元仮想モデルとして定義される。モデルは、特に、２次元又は３次元空間内で移動可能であり、および／または仮想モデルの形状を定義された方法で変更するために使用することができる制御要素を有する。
【００２８】
特に、アバターはスケルトンモデルに基づいている。しかし、原則的に他のモデルも同様に使用することができる。
【００２９】
アバターは、階層的に接続された一組のボーンおよび／またはジョイントおよび結合された頂点のメッシュの形態のスケルトンによって特に好ましくは定義される。
【００３０】
頂点の位置は、典型的には、２次元又は３次元ベクトルの形の位置表示によって予め定められる。位置表示に加えて、カラー値、テクスチャ、および／または割り当てられたボーンまたはジョイントなどの追加のパラメータを頂点に割り当てることもできる。頂点は、特にアバターの可視モデルを定義する。
【００３１】
ボーンおよび／またはジョイントの位置は、特に２次元または３次元座標によって定義される。
【００３２】
ボーンおよび／またはジョイントは、好ましくは、所定の動きを可能にするように定義される。例えば、選択されたボーンおよび／または選択されたジョイントは、ともに空間的に移動することができ、かつ回転を行うことができる、いわゆるルートとして定義され得る。他のすべてのボーンおよび／またはジョイントは、回転動作に制限される。この場合、各ジョイントおよび／またはボーンは、ローカル座標系を幾何学的に表すことができ、ジョイントおよび／またはボーンの変換は、すべての従属ジョイントおよび／またはボーンまたはその座標系にも影響を及ぼす。
【００３３】
対応するアバターは、例えば、Ｄａｚ  ３Ｄ（ソルトレイクシティ、アメリカ合衆国）あるいはＨｉｇｈ  Ｆｉｄｅｌｉｔｙ（サンフランシスコ、アメリカ合衆国）などの様々なプロバイダから市販されている。ただし、アバターは原則として自作することもできる。たとえば、Ａｕｔｏｄｅｓｋ社のＭａｙａまたは３ｄｓＭａｘ、Ｍａｘｏｎ社のＣｉｎｅｍａ４Ｄ、オープンソースソリューションのＢｌｅｎｄｅｒなどの専門的なソフトウェアを使用する。
【００３４】
アバターに適したデータフォーマットは、ＪＳＯＮ、ｇＩＴＦ２、ＦＢＸ、ＣＯＬＬＡＤＡなどで、特にＷｅｂＧＬと互換性がある。
【００３５】
また、アバターのキー画像（キーフレーム）、例えば１０〜９０個のキー画像がメモリ領域にロードされ、アバターと共に提供されるのが好ましい。キー画像は、予め定義された状態のアバターの仮想モデルに対応する。アバターが人体を表す場合、例えば、１つのキー画像は口を開いたアバターを提示することができ、別のキー画像は口を閉じたアバターを提示することができる。次に、口を開く動作は、いわゆるキー画像アニメーションによって達成することができ、これについては、以下でさらに詳細に説明する。
【００３６】
しかし、原則的にはキー画像を省略することが可能である。これは、例えば、送信帯域幅が十分である場合や、アバターの複雑性が制限される場合である。
【００３７】
特に、制御データは、１つ以上の制御データレコードを含み、制御データレコードは、特定の時間にアバターを定義する。
【００３８】
特に、制御データレコードはｎ個のボーンおよび／またはジョイントの座標を含み、一方、アバターはｎ個より多いボーンおよび／またはジョイントを含む。言い換えると、制御データレコードは、それぞれ、アバターのボーンおよび／またはジョイントの限定された選択の座標のみを含む。この場合、アバターのｎを超えるボーンおよび／またはジョイントのうちの１つが、特に、制御データレコードに含まれるｎ個のボーンのそれぞれに割り当てられる。
【００３９】
特に好ましい一実施形態によれば、更新アバターを計算するとき、少なくとも２つのキー画像を補間することによって中間画像が生成される。この場合、１つ以上の中間画像は、キー画像から始まる時間間隔で補間することができ、従って、各ボーンおよび／またはジョイントに対する制御データが各中間画像に対して必要とされることなく、完全で流動的な運動シーケンスを得ることができる。その代わりに、アバターに特定の動きを実行させる制御データで十分である。この場合、動きの強さと速度の両方を事前に定義することができる。上述の例に戻ると、アバターは、例えば、適切な制御データによって、口を開くように促すことができる。この場合、開き度合と開く速度の両方を予め設定することができる。
【００４０】
キー画像を使用すると、アニメーションの品質を著しく低下させることなく、データ量を大幅に低減できる。
【００４１】
制御データまたは制御データレコードからのボーンおよび／またはジョイントの位置および／または座標は、ステップｅ）において、アバターの１つ以上のボーンおよび／またはジョイントおよび／またはアバターの１つ以上のキー画像に割り当てられることが好ましい。
【００４２】
この目的のために、ステップｅ）において、少なくとも１つのキー画像、特に複数のキー画像が、制御データ内の選択されたボーンおよび／またはジョイントにリンクされ、または少なくとも１つのキー画像、特に複数のキー画像が、制御データ内の選択されたボーンおよび／またはジョイントの位置および／または座標にリンクされる。この場合、制御データ内の選択されたボーンおよび／またはジョイントの位置は、少なくとも１つのリンクされたキー画像を用いた補間によって得られる中間画像に割り当てられる。
【００４３】
所定の基準値から選択されたボーンおよび／またはジョイントの位置の偏差は、特に、補間における少なくとも１つのリンクされたキー画像の影響の強さを規定する。
【００４４】
個々の制御データは、有利には、所定のプロトコルに従ってアバターのボーンおよび／またはジョイントおよび／またはキー画像に割り当てられ、プロトコルは好ましくはメモリ領域にロードされ、アバターと共に提供される。したがって、アバターと割り当てられたプロトコルの両方が、無制限に、または、常時、利用可能である。したがって、制御データに対するデータ速度を最小化することができる。
【００４５】
使用されるプロトコルでは、制御データまたは制御データレコードからのボーンおよび／またはジョイントの座標は、アバターの１つ以上のボーンおよび／またはジョイントおよび／またはアバターの１つ以上のキー画像に割り当てられることが好ましい。
【００４６】
制御データは、特に、ＢＶＨ（Biovision Hierarchy）データフォーマットで存在する。これは、それ自体既知のデータフォーマットであり、特にアニメーション用に使用され、スケルトン構造とモーションデータを含む。
【００４７】
好ましい一実施形態によれば、本発明による方法のステップａ）〜ｆ）は、ローカルデータ処理装置上で完全に実行される。この場合、ローカルデータ処理装置は、例えば、パーソナルコンピュータ、ポータブルコンピュータ、特にラップトップまたはタブレットコンピュータ、またはモバイルデバイス、例えば、コンピュータ機能を有する携帯電話（スマートフォン）であってもよい。制御データおよび／またはロードされるアバターの可能な送信とは別に、データ処理装置間の追加のデータ交換は必要とされないので、このようなアプローチによってデータ通信量を低減することができる。
【００４８】
しかし、特殊な用途の場合には、本発明による方法の個々のステップのうちの１つ以上を、異なるデータ処理装置上で行うことが可能である。
【００４９】
特に、制御データ、ロードされるアバターおよび／またはプロトコルは、少なくとも部分的に、特に完全に、リモートデータ処理装置、特にサーバに存在し、ネットワーク接続、特にインターネット接続を介して、本発明による方法が実行される特にローカルデータ処理装置に受信される。
【００５０】
特に、ロードされる制御データおよびアバターの両方、および可能なプロトコルが、リモート処理装置に存在する。
【００５１】
このアプローチでは、ユーザは、原則として、ユーザが現在利用可能なデータ処理装置とは独立して、制御データおよび／またはアバターにいつでもアクセスすることができる。
【００５２】
しかし、原則として、制御データおよび／またはアバターが、本発明による方法が実行されるローカルデータ処理装置にロードされ存在することも可能である。
【００５３】
特に好ましい態様によれば、ロードされるアバターおよび／または受信される制御データは、操作要素を使用して予め選択され得るか、または選択される。操作要素は、例えば、ボタン、選択フィールド、テキスト入力および／または音声制御ユニットである。これは、データ処理装置のグラフィカルユーザインタフェースを介して、それ自体既知の方法で提供することができる。
【００５４】
このような操作要素は、ユーザが、各場合に関心のある制御データを使用してアニメ化されるアバターを意図的に選択するために使用することができる。
【００５５】
特に、アバターのアニメーションを制御するために使用することができる更なる操作要素がある。例えば、アニメーションは、更なる操作要素を使用して開始、一時停止および／または停止することができる。更なる操作要素も同様に、データ処理装置のグラフィカルユーザインタフェースに設けられることが好ましい。
【００５６】
特に、制御要素および更なる制御要素は、ＨＴＭＬおよび／またはＣＳＳ制御要素である。
【００５７】
アバターは特に好ましくはレンダリングされ、追加のオブジェクトと共にシーン内に提示される。したがって、リアルなアニメーションを作成することができる。追加のオブジェクトは、例えば、背景、床、部屋等であってもよい。本発明の方法によれば、既に実行中のアニメーションの場合であっても、追加のオブジェクトをいつでもシーンに統合することができる。
【００５８】
好ましい一実施形態によれば、２つ以上のアバターが同時にロードされ、互いに独立して利用可能であり、好ましくは、個別に割り当てられた制御データを用いて互いに独立してアニメ化される。これは、本発明の方法を用いることにより、何ら問題なく可能である。従って、例えば、複数のユーザ間のユーザインタラクション又はオーディオヴィジュアルコミュニケーションは、非常に柔軟な方法で実行されることができる。
【００５９】
更新アバターは、原則として、任意の所望の出力デバイス上に提示することができる。例えば、出力装置は、スクリーン、ビデオプロジェクタ、ホログラムプロジェクタ、および／または例えばビデオグラスまたはデータグラス等の頭に装着される出力デバイス（ヘッドマウントディスプレイ）等であってもよい。
【００６０】
本発明の別の態様は、データ処理装置を使用してアバターをアニメ化するための制御データを捕捉する方法に関し、前記制御データは、特に、上述の方法で使用するように設計され、次のステップを含む。
ａ）物体の２次元又は３次元仮想モデルを提供するステップであって、２次元又は３次元空間内で移動することができ、モデルは、定義された方法で仮想モデルを変更するために使用することができる制御要素を有するステップと、
ｂ）時間分解する方法で実際の物体の動きおよび／または変化を補足するステップと、
ｃ）前記仮想モデルの制御要素の座標を決定することによって仮想モデル内の実際の物体の動きおよび／または変化をエミュレートするステップであって、前記座標は、時間分解法で与えられた時間における実際の物体の状態に対応するステップと、
ｄ）制御要素の決定された時間分解座標を制御データとして提供するステップ
【００６１】
本発明に係る制御データを補足する方法によれば、制御データを柔軟に生成することができ、上述したアバターのアニメ化するための方法に用いることができる。
【００６２】
この方法は、好ましくは、データ処理装置で動作するウェブブラウザ内で実行される。この場合、ウェブブラウザは、特に、上述したように設計され、特に、上述した機能およびインターフェースを有する。これは、ユーザにとって、従来に存在する標準的なソフトウェア、例えばウェブブラウザとは別に、それ以上のプログラムを必要とせず、コンピュータによる実行中に、本発明による方法を実行させるコンピュータプログラムがウェブアプリケーションとして存在してもよいという利点を有する。これにより、ウェブブラウザのみに基づいてアバターをアニメ化するための制御データを生成することができる。
【００６３】
ウェブブラウザは、コンピュータ−コンピュータ接続を介したリアルタイム通信を可能にする通信プロトコルおよび／またはプログラミングインタフェースを有することが好ましい。例えば、Ｃｈｒｏｍｅ（Google）、Ｆｉｒｅｆｏｘ（Mozilla）、Ｓａｆａｒｉ（Apple）、Ｏｐｅｒａ（Opera software）、Ｅｄｇｅ（Microsoft）等のＷｅｂＲＴＣ規格に準拠したウェブブラウザが適している。
【００６４】
ステップｂ）において、物体の動きおよび／または変化を捕捉するために、原則として、実際の物体の動きおよび／または変化を追跡するために使用することができる任意の所望の手段を使用することが可能である。例えば、手段は、カメラおよび／またはセンサであってもよい。
【００６５】
カメラとしては、２Ｄカメラおよび／または３Ｄカメラが好適である。２Ｄビデオカメラおよび／または３Ｄビデオカメラが好ましい。今回の場合、３Ｄカメラとは、物体の距離を視覚的に表現することができるカメラを意味するものと理解される。具体的には、ステレオカメラ、三角測量システム、飛行時間測定カメラ（ＴＯＦカメラ）またはライトフィールドカメラである。従って、２Ｄカメラは、物体の完全な２次元の提示を可能にするカメラを意味するものと理解される。これは、例えば、単眼カメラであってもよい。
【００６６】
センサとして、曲げ、歪み、加速度、配置、位置および／またはジャイロセンサを使用することができる。特に、機械式、熱電式、抵抗式、圧電式、容量式、誘導式、光学式および／または磁気式センサが含まれる。光学センサおよび／または磁気センサ、例えばホールセンサは、特に顔認識に適している。これらは、実際の物体上の定められた位置で固定および／または装着することができ、したがって、物体の動きおよび／または変化を記録および送信することができる。例えば、センサは、動きおよび／または変化を捕捉することを意図された人が着用する衣類のアイテムに統合することができる。対応するシステムは市販されている。
【００６７】
ステップｂ）では、カメラ、特に２Ｄカメラを使用して、特に実際の人物の顔を撮影することが好ましい。この場合、ビデオカメラを用いることが好ましい。カメラに加えて、実際の物体の動きおよび／または変化を捕捉するために、１つまたは複数のセンサがステップｂ）で使用される場合にも有利であり得る。これは、例えば、制御データが人物の全身アニメーションのために生成されることを意図している場合には、例えば、センサスーツの形態のセンサを用いて、頭部の下の身体部分を容易に捕捉することができるので、有利である。
【００６８】
ステップｂ）〜ｄ）は、リアルタイムで行うことが好ましい。これにより、アバターのリアルで自然なアニメーションを可能とする制御データを生成することができる。
【００６９】
特に、定義された時間における全ての制御要素の座標は、定義された時間におけるモデルを完全に定義するデータレコードを形成する。
【００７０】
特に、制御データを補足する方法のための仮想モデルは、アバターをアニメ化する方法における上記のアバターの仮想モデルよりも少ない制御要素を含む。したがって、制御データ量を削減することができる。
【００７１】
仮想モデルは、好ましくは、スケルトンモデルによって定義される。しかし、原則として他のモデルも可能である。
【００７２】
仮想モデルは、好ましくは、階層的に接続された一組のボーンおよび／またはジョイント、およびそれに連結された頂点のメッシュの形態のスケルトンによって定義され、ボーンおよび／またはジョイントは、特に、制御要素を構成する。この場合、制御データを補足する方法の仮想モデルは、アバターをアニメ化する方法における上記アバターの仮想モデルよりも少ないボーン、ジョイントおよび頂点を含む。
【００７３】
制御データを捕捉するための方法のための仮想モデルは、特に、アバターをアニメ化するための上述の方法で受信することができる、または受信される制御データレコード内のボーンおよび／またはジョイントの座標の数と同数のボーンおよび／またはジョイントを有するように設計される。
【００７４】
特に、仮想モデルは、人体、特に頭部を表す。
【００７５】
この場合、ステップｂ）では、実際の人体、特に実際の人間の頭部の動きおよび／または変化を捉えることが好ましい。
【００７６】
ステップｂ）では、移動および／または変化する物体の個別のランドマークポイントの移動を検出することが好ましい。このアプローチは、例えば、米国特許第２０１３／０２３５０４５Ａ１号、特に、段落００６１〜００６４にも記載されている。
【００７７】
ランドマークポイントは、例えば、身体の定義された位置に光学マーカを適用することによって、事前に、例えば、実際の身体、例えば、顔に示すことができる。その後、各光学マーカをランドマークポイントとして使用することができる。ビデオカメラを用いて実際の身体の動きを追跡すれば、光学マーカの動きをカメラ画像内でそれ自体既知の方法で検出することができ、基準点に対するそれらの位置を決定することができる。
【００７８】
本文脈において、ランドマークポイントが自動画像認識、特に所定の物体を認識することによってカメラ画像内に定義され、次いで好ましくはカメラ画像に重ね合わされる場合が特に好ましいことが判明している。この場合、有利には、カメラ画像内の識別位置を確認し、それに基づいて、例えばＶｉｏｌａ―Ｊｏｎｅｓ法を用いて、カメラ画像にランドマークポイントを重ね合わせるパターンまたは顔認識アルゴリズムが使用される。対応するアプローチは、例えば、ＶｉｏｌａおよびＪｏｎｅｓによる刊行物「Robust Real-time Object Detection」、ＩＪＣＶ２００１に記載されている。
【００７９】
しかしながら、他の方法を使用してランドマークポイントを検出することもできる。
【００８０】
ウェブブラウザで本方法を実行する場合、ランドマークポイントを検出するために、対応するプログラムコードを実行前にネイティブ機械言語にコンパイルすることが好ましい。これは例えばＥｍｓｃｒｉｐｔｅｎのようなＡＯＴコンパイラ（ＡＯＴ：ahead of time）を使用して実行することができる。その結果、ランドマークポイントの検出を大幅に高速化することができる。例えば、ランドマークポイントを検出するためのプログラムコードは、ＯｐｅｎＣＶおよび／またはＯｐｅｎＶＸプログラムライブラリを使用して、Ｃ、Ｃ＋＋、ＰｈｙｔｏｎまたはＪａｖａＳｃｒｉｐｔに存在してもよい。
【００８１】
対応するソースコードはＡＯＴコンパイラを介してモジュラ方式でコンパイルおよび組み込むことができるので、他の画像認識または顔認識技術を柔軟に使用することも可能である。したがって、本方法を実行する実際のプログラムは変更されないままである一方、ＡＯＴコンパイラでコンパイルされたソースコードはいつでも変更できる。
【００８２】
特に、ランドマークポイントは、仮想モデルのメッシュの個別の頂点に割り当てられ、および／または個別のランドマークポイントは、モデルの個々の制御要素に直接および／または間接的に割り当てられる。例えば、制御要素を頂点にリンクすることによって、ランドマークポイントをモデルの個々の制御要素に間接的に割り当てることができます。
【００８３】
したがって、ランドマークポイントに関する幾何学的データは、対応する頂点の一および／または対応する制御要素の位置に変換され得る。
【００８４】
仮想モデルが、階層的に連結された一組のボーンおよび／またはジョイントおよびそれに連結された頂点のメッシュの形態のスケルトンによって定義される場合、ボーンおよび／またはジョイントのそれぞれの位置は、好ましくは、ステップｂ）において移動および／または変化する実際の物体の個別のランドマークポイントの動きを検出することによって決定される。
【００８５】
実際の物体の動きおよび／または変化に加えて、音響信号、特に音声信号は、ステップｂ）において時間分解法で有利に捕捉される。これは、例えば、マイクロホンを用いて実行することができる。したがって、例えば、音声情報を捕捉することができ、制御データと同期させることができる。
【００８６】
ステップｄ）で提供される制御データ、特にモデルのボーンおよび／またはジョイントの時間分解座標は、時間符号化された方法で、特にデータベースで検索できるように記録および／または記憶されることが好ましい。これにより、例えば上述したようなアバターをアニメ化する方法において、必要に応じて制御データにアクセスすることが可能となる。
【００８７】
音響信号が同時に捕捉される場合、制御データは、音響信号と並列に、時間符号化された方法で記録および／または記憶されることが好ましい。従って、音響信号及び制御データは、特に、同時にかつ別々に記録および／または記憶される。
【００８８】
特に、制御データを生成するための方法におけるステップａ）〜ｄ）は、ローカルデータ処理装置で完全に実行される。ステップｄ）で提供される制御データは、この場合、好ましくは、音響信号と共に、リモートデータ処理装置に記憶および／または記録される。
【００８９】
そのような方法で制御データを生成するための方法は、特に、ステップｄ）で提供された制御データを、上述したアバターのアニメ化するための方法の制御データとして用いることができるように実行される。
【００９０】
さらなる態様において、本発明は、（ｉ）上述の方法を用いてアバターをアニメ化するための制御データを生成するステップと、（ｉｉ）上述の方法を用いてアバターをアニメ化するステップとを含む方法に関する。この場合、特に、ステップ（ｉ）で生成された制御データは、ステップ（ｉｉ）で制御データとして受信される。
【００９１】
有利な一実施形態では、ステップ（ｉ）で提供された制御データは、ステップ（ｉｉ）で制御データとして連続的に受信され、アバターをアニメ化するために使用され、好ましくは同時に記録および／または記憶される。
【００９２】
この場合、ステップ（ｉｉ）で受信した制御データは、上述したプロトコルを考慮して、アバターのキー画像、ボーンおよび／またはジョイントに割り当てられることが好ましい。
【００９３】
特に、ステップ（ｉ）および（ｉｉ）は並行して行われ、その結果、ステップ（ｉｉ）のアニメ化されたアバターは、実質的に同時に、ステップ（ｉ）で捕捉された実際の物体の動きおよび／または変化に追従する。
【００９４】
ステップ（ｉ）および（ｉｉ）は、好ましくは、同じローカルデータ処理装置で実行される。したがって、ユーザは、特に、制御データが十分に正確に取り込まれているか否か、および、アニメーションが満足できるものであるか否かを、直ちに確認することができる。
【００９５】
本発明はまた、上述したようなアバターをアニメ化するための方法を実行する手段、および／または上述したようなアバターをアニメ化するための制御データを捕捉するための方法を実行する手段を含むデータ処理システムに関する。
【００９６】
データ処理システムは、特に、ＣＰＵ（central computing unit）と、メモリと、画像情報を提示する出力ユニットと、データを入力する入力ユニットとを含む。データ処理システムは、好ましくは、それ自体がメモリを有するグラフィックプロセッサ（ＧＰＵ）も有する。
【００９７】
システムはまた、好ましくは、実際の物体、特に上述したようなカメラおよび／またはセンサの動きおよび／または変化を捕捉するための手段を含む。特に、システムは、音響信号、特に話し言葉を捕捉するための少なくとも１つのマイクロホンも有する。
【００９８】
同様に、本発明は、コンピュータによって実行される場合に、上述のようなアバターをアニメ化するための方法および／または上述のようなアバターをアニメ化するための制御データを補足するための方法を実行させる命令を含むコンピュータプログラムに関する。
【００９９】
本発明は、上述したコンピュータプログラムを記録したコンピュータ可読記録媒体に関する。
【０１００】
本発明によるアプローチおよび方法は、販売員のための学習コンテンツを作成し、伝達するために特に有利である。
【０１０１】
例えば、トレーナーは、ビデオカメラを介して自身の販売主張のプレゼンテーションを記録することができ、本発明による方法を使用して、アバターをアニメ化するための制御データを生成することができる。売り込みにおいて特に関連する顔の表情およびジェスチャは、この場合、トレーナーによって図示することができ、同時に捕捉される。これは、ユーザフレンドリで直感的に理解可能なグラフィカルユーザインタフェースを備えたウェブアプリケーションを使用して、純粋にウェブベースの方法で、特別なソフトウェアなしに完全に実行することができる。
【０１０２】
制御データは、例えば、インターネットを介してアクセス可能なサーバに固定的に割り当てられ構造化された学習コンテンツとして記憶され、いつでも再生可能なトレーニングシーケンスを表すことができる。この場合、任意の所望の数の生徒が、異なる時間に制御データにアクセスすることができ、したがって、個人的に自由に選択可能なアバターをアニメ化することができる。これは、同様にユーザフレンドリで直感的に理解可能なグラフィカルユーザインタフェースを有するウェブアプリケーションを使用して、純粋にウェブベースの方法で行うことができる。したがって、生徒は追加のソフトウェアを必要としない。また、学習内容を必要な回数だけ繰り返すことができる。
【０１０３】
また、例えば、生徒自身が異なる販売状況を再現し、例えばラップトップに統合されたウェブカメラであってもよいビデオカメラを用いて後者を記録し、本発明による方法を用いて、アバターをアニメ化するための制御データを生成することも可能であり、制御データは生徒のコンピュータに局所的に格納することができ、そこから生徒はウェブプレゼンタを介してデータを選択し、ロードし、再生することができる。この場合、生徒は制御データを使用して、例えば販売状況を反映したアバターをアニメ化することができる。このアニメーションに基づいて、生徒は出演上の弱点を見つけ、それらを改善することができる。
【０１０４】
また、生徒にフィードバックを与えるために、生徒が再現した販売状況を、例えばトレーナーなど他の者が評価することも考えられる。
【０１０５】
本発明のさらなる有利な実施形態および特徴の組み合わせは、以下の詳細な説明および特許請求の範囲のすべてから得られる。
【図面の簡単な説明】
【０１０６】
例示的な実施形態を説明するために使用される図面である。
【図１】図１は、データ処理装置を用いてアバターをアニメ化するための本発明による方法を示すフローチャートを示す。
【図２】図２は、アバターをアニメ化するためのウェブベースのプログラムのグラフィカルユーザインタフェースを示しており、これは図１に示す方法に基づいている。
【図３】図３は、データ処理装置を用いてアバターをアニメ化するための制御データを補足する本発明による方法を示すフローチャートである。
【図４】図４は、アバターをアニメーション化するための制御データを捕捉するためのウェブベースのプログラムのグラフィカルユーザインタフェースを示し、これは、図３に示される方法に基づく。
【図５】図５は、ネットワーク接続を介して通信する３つのデータ処理装置を含む構成の概略図を示し、この構成は、図１〜４に示される方法またはプログラムを実行するように設計される。
【図６】図６は、図２からアバターをアニメ化するためのウェブベースのプログラムの変形であり、トレーニング用あるいは教育用のものを示している
【図７】図７は、図２からのウェブプレゼンタまたはユーザインタフェースの変形であり、タッチスクリーンを備えたモバイルデバイス用に設計されているものを示す。
【０１０７】
原則として、同一要素には同一符号を付している。
【発明を実施するための形態】
【０１０８】
図１は、一例として、データ処理装置を使用してアバターをアニメ化するための本発明による方法を示すフローチャート１である。
【０１０９】
最初のステップ１１では、ウェブサーバのウェブアプリケーションとして提供されるアバターをアニメ化するためのプログラムが、ウェブブラウザでウェブサイトを呼び出すことによって開始される。ここでは、ＷｅｂＧＬに対応したウェブブラウザ、例えばＣｈｒｏｍｅ（Ｇｏｏｇｌｅ）を用いる。
【０１１０】
次のステップ１２では、ＷｅｂＧＬがオープンされ、そのコンテンツがウェブサイトの他の部分と区別されるように、ウェブサイトのコンテナがＪａｖａＳｃｒｉｐｔによって構成される。その結果、プログラムを個別に実行できる領域が定義される。ＷｅｂＧＬのさまざまな要素がこの領域（スクリーンセクション）に統合され、例えば、基本要素としての３Ｄシーン、このカメラパースペクティブ、様々なライト、レンダリングエンジンなどが挙げられる。このような基本要素が作成されている場合は、別の更なる要素をこのシーンにロードして配置できる。これは、ＷｅｂＧＬやそのフレームワークを提供しサポートする多数のローダーを介して行われます。
【０１１１】
ローダーは、適切な技術規格をＷｅｂＧＬの操作方法に変換し、ＷｅｂＧＬによって解釈、提示、使用できるように統合するプログラムである。この場合、ローダーは、特別に拡張されたｔｈｒｅｅ．ｊｓ（Ｒｅｌｅａｓｅ  ｒ９０、２０１８年２月１４日）のＪａｖａＳｃｒｉｐｔプログラムライブラリであるＩｍａｇｅＬｏａｄｅｒ、ＪＳＯＮＬｏａｄｅｒ、ＡｕｄｉｏＬｏａｄｅｒ、ＡｎｉｍａｔｉｏｎＬｏａｄｅｒをベースにしており、その結果、特定のＢＶＨ制御データをロード、解釈、アバターに接続して、アサインプロトコルを含めることができる。
【０１１２】
ステップ１２では、例えば頭部の形態のキャラクタまたはアバターを初期化することができる。この場合、アバターは、階層的に接続された一組のボーン、例えば２５０個のボーンと、それに結合された頂点のメッシュとからなる三次元スケルトンの形態の仮想モデルによって定義され、プログラムのグラフィックスユニットによってアドレス指定可能なメモリ領域にロードされる。アバターは、ＪＳＯＮ、ｇＩＴＦ２またはＣＯＬＬＡＤＡの形式で存在することができ、アバターのキー画像、例えば８７キー画像と共にロードされる。
【０１１３】
さらに、ステップ１２において、プロトコルがメモリ領域にロードされ、このプロトコルを使用して、プログラムの受信ユニットを介して到着する制御データをアバターの一つ以上のボーンおよび／またはキー画像に割り当てることができる。
【０１１４】
したがって、全在的なアバター１３が提供され、プロトコルと共にプログラムの全ランタイム中に利用可能であり、キャンバスまたはコンテナ２１（図２参照）で画面に提示することができる。この開始位置において、アバターは、プログラムの受信ユニットを介して、いつでも制御データを受信することができる。
【０１１５】
ステップ１４において、制御データは、アバターをアニメ化するためのプログラムによって提供される従来のユーザインタフェースを介して、リモートウェブサーバで利用可能なデータベース１５から選択することができ、インターネットを介して送信することができる。
【０１１６】
この場合、制御データは複数の制御データレコードを含み、各制御データレコードは特定の時間にアバターを定義する。制御データレコードは、例えば４０個のボーンの時間符号化三次元座標からなり、メモリ領域にロードされたアバターに含まれる２５０個のボーンの数よりも少ない。制御データは、特に、ボーン階層とモーションデータを座標の形式で含むＢＶＨデータ形式で存在する。この場合、モーションデータの各行は、定義された時間にアバターを定義する。
【０１１７】
ステップ１６では、アバターを動かす制御データの任意の所望のデータストリームを、アバターをアニメ化するためのプログラムによって提供される共通のＨＴＭＬ５またはＣＳＳ制御要素２２、２４（図２参照）を介して開始およびチェックすることができる。したがって、考えられるすべてのシーケンスを構築することができる。データストリームは、チェックデータ１８、１９例えば、開始すること（再生）、停止すること（停止）、一時停止すること（一時停止）、リセットすること（リセット）、およびオプション選択のためのデータを含んでもよい。チェックデータは、テキスト入力（読み上げられるテキスト）または音声（読み上げられる音声）から生成することもできる。
【０１１８】
制御データが到着するとすぐに、アバターをアニメ化するためのプログラムの受信ユニットを介して、グラフィックスユニットに送信され、グラフィックスユニットは、それぞれ現在送信されている制御データに基づいて更新アバターを連続的に再計算し、その後、更新アバターのレンダリングを行い、後者をアニメ化されたアバター１７の形でスクリーンのウェブブラウザに提示する。これは以下のように実行される。
（ｉ）第１受信制御データレコードのグラフィックユニットへ送信するステップ
（ｉｉ）送信された制御データレコードに基づいて更新アバターを計算するステップであって、プロトコルを考慮してグラフィックスユニットにアバターをレンダリングする。制御データ内の選択されたボーンの座標は、キー画像または１つまたは複数のボーンに個別に割り当てられる。キー画像を考慮した補間により対応する中間画像を算出する。
（ｉｉｉ）画面のウェブブラウザでの更新アバターを表示するステップ
（ｉｖ）グラフィックスユニットへの次の受信制御データレコードを送信するステップ
（ｖ）（ｉｉ）から（ｉｖ）までを繰り返すステップ。
【０１１９】
これは、ユーザがアバターをアニメ化するためのプログラムを終了するまで継続される。サブステップ（ｉ）〜（ｉｖ）は、時間符号化された制御データに同期して行われ、リアルタイムアニメーションが生成される。（ｉ）〜（ｉｖ）の繰り返し周波数は、例えば３０Ｈｚ程度である。
【０１２０】
データ量が少ないため、アバターはスマートフォンやタブレットなどのモバイルデバイスで問題なくアニメ化でき、制御データはインターネット接続経由でリモートウェブサーバから得られる。
【０１２１】
図２は、図１に関連して説明した、アバターをアニメ化するためのプログラムのグラフィカルユーザインタフェース２０を示し、ウェブブラウザで実行されます。この場合、アバター２３は、ウェブブラウザ内のキャンバス２１の背景に対して提示される。この場合、アバター２３は、上述したように、制御データが到着したときにアニメ化されたアバター１７となる、全在的アバター１３の表現に対応する。制御のために、グラフィカルユーザインタフェース２０は、ボタンおよび選択フィールドの形態のＨＴＭＬ５またはＣＳＳ制御要素２２、２４を有する。
【０１２２】
図１、２に関連して説明されている方法は、したがって純粋なウェブアプリケーションとして、またはウェブサイトの形で実行することができ、ロード操作の後、ローカルデータ処理装置で完全に実行することができるウェブプレゼンタである。
【０１２３】
ユーザはまた、このようなウェブプレゼンタを自身のウェブサイトに組みこむこともできる。これは例えば、ユーザが自身のコンテンツ管理システム（ＣＭＳ）用のソフトウェアモジュール（プラグイン）を、定義されたウェブサイトにダウンロードし、自分のバックエンドに組み込む等である。
【０１２４】
これにより、ユーザは、ウェブプレゼンタのデザインの外観を自身のサイトで定義し（すなわち、フロントエンド）、どの制御要素をどこにいくつ配置するかを定義することができる。ユーザは、どの制御ユニットがどの動的テキストと共に提供されることを意図されるかを定義し、後者を作成することもできる。最後に、ユーザは制御ユニットをアドレス指定し、例えば、制御ユニットは、予め生成された制御データの格納場所を有するボタンである（ＢＶＨあるいはオーディオなど）。ボタンが操作されると、予め定義および／または選択され、ウェブサイトのオープン時にロードされたアバターが、到着した制御データを用いてアニメ化される。この場合、例えば、字幕、テキスト、画像等は、個別に、かつ、所望に応じて時間制御して表示することができる。
【０１２５】
図２に示されるようなグラフィカルユーザインタフェース２０は、特に、製品またはサービスの直接販売またはオンラインテストの実施に適している。アバターは、選択フィールドの形態で制御要素２４を介して顧客またはテスト対象者が回答することができる質問を顧客またはテスト対象者に直接尋ねることができる。
【０１２６】
選択または回答の後、顧客は制御要素２２の「次へ」ボタンを押し、アバターは次の質問等をする。全ての回答を顧客の要望に応じて個別に評価したり、テスト対象者の回答に応じて評価したりすることができ、例えば入札やテスト評価の形式のテキスト文書を作成することができる。
【０１２７】
制御要素は、任意の所望の方法で拡張することができ、ユーザまたはサービスプロバイダの要望に対応する方法でリンクすることができる。
【０１２８】
図３は、データ処理装置を使用してアバターをアニメ化するための制御データを捕捉する本発明による方法を示す第２のフローチャート２を示す。
【０１２９】
最初のステップ３１では、ウェブサーバにウェブアプリケーションとして提供されているアバターをアニメ化するための制御データを補足するためのプログラムを、ウェブブラウザでウェブサイトを呼び出して起動する。この場合、特に、ＷｅｂＧＬおよびＷｅｂＲＴＣをサポートするウェブブラウザ、例えば、Ｃｈｒｏｍｅ（Ｇｏｏｇｌｅ）が使用される。
【０１３０】
次のステップ３２では、ＷｅｂＧＬをオープンし、ＪａｖａＳｃｒｉｐｔを使用して、そのコンテンツがウェブサイトの他の部分と区別されるようにウェブサイトのキャンバスを構成する。
【０１３１】
次に、ステップ３３において、例えば頭部の形態のキャラクタまたはアバターが選択され、初期化される。この場合、アバターは、図１に関して上述したように定義され、アバターの関連するキー画像、例えば８７のキー画像と共に、プログラムのグラフィックスユニットによってアドレス指定可能なメモリ領域にロードされる。従って、アバターは、例えば２５０個の階層的に連結されたボーンとそれに連結された頂点のメッシュとを有する三次元スケルトンの形態で仮想モデルとしてメモリ領域に存在する。さらに、プログラムの受信ユニットを介して到着する制御データをアバターの１つまたは複数のボーンおよび／またはキー画像に割り当てるために使用できるプロトコルがメモリ領域にロードされる。
【０１３２】
ステップ３４では、アバターがウェブサイトのキャンバスに出力される。
【０１３３】
従って、全在的なアバターが提供され、プロトコルと共にプログラムの全ランタイム中に利用可能であり、画面上にキャンバス（図４参照、キャンバス６１）で提示することができる。この開始位置において、アバターは、並行して行われる処理で捕捉され、制御データ（以下の説明を参照）に変換された実際の人物の動きにリアルタイムに追従することができる。また、予め記憶され、データベースに記憶された制御データを用いて、現在利用可能なアバターをアニメ化することも可能である。
【０１３４】
ステップ３２と並行して、ステップ３７で可能なカメラ接続を検索し、初期化する。この場合、例えば、ウェブブラウザへのオンライン接続を確立することが可能なカメラを使用することができる。ウェブカメラまたはウェブカメラが特に適している。さらに、ステップ３８において、可能なオーディオ入力チャンネルが探索され、初期化される。
【０１３５】
ステップ３９では、Ｃ＋＋に存在するランドマークポイント検出のためのプログラムコードがＥｍｓｃｒｉｐｔｅｎまたはＯｐｅｎＣＶを使用する他の時間のＡＯＴコンパイラを介してコンパイルされ、ａｓｍ．ｊｓ中間コードとして提供され、開始される。したがって、ランドマークポイント検出のためのプログラムコードの速度を大幅に加速することができる。ランドマークポイント検出のためのプログラムコードは、例えば、Ｖｉｏｌａ―Ｊｏｎｅｓ法に基づくことができる。
【０１３６】
カメラおよびオーディオデータはＷｅｂＲＴＣに送信され、ステップ４０で組み込まれる。関連する出力は、ステップ４１で、ウェブブラウザの画面上のキャンバス（図４参照、キャンバス６２）に提示される。その結果、定義された多数のランドマークポイントを有するリアルタイムビデオストリームが得られる。これらは、カメラによって補足された実際の人物のすべての動きに追従する。
【０１３７】
ステップ４２では、空間において変化するランドマークポイントのすべての座標が、定義された０点または基準点に関して計算され、背景における動的値として出力される。この場合、ランドマークポイントは、実際の人物の仮想モデルのメッシュの個々の頂点に割り当てられる。したがって、ランドマークポイントは、頂点を個別の制御要素にリンクすることによって、仮想モデルの制御要素の座標に割り当てられる。
【０１３８】
アバターと同様に、実際の人物の仮想モデルも、階層的に接続された一組のボーンおよび／またはジョイントおよびそれに結合された頂点のメッシュの形態のスケルトンによって定義される。しかし、この仮想モデルはアバターの仮想モデルよりも制御要素が少ない。たとえば、実際の人物の仮想モデルは４０個のボーンのみで構成されていますが、アバターの仮想モデルは２５０個のボーンで構成されています。以上のように、プロトコルを用いて、アバターの制御要素及びキー画像に、具体的に、実在人物の仮想モデルの制御要素を割り当てることができる。
【０１３９】
動的制御データまたは座標は、ステップ４３で、それに応じてアニメ化されるアバターに送信される(上記のステップ３５、３６を参照)。したがって,アバターは実時間で実際の人物の動きに追従する。これは、実際の人物の動きが正しく補足され、対応する制御データに変換されているかどうかをチェックするために使用される。
【０１４０】
並列的に、生成された制御データは、さらなる処理または記憶の目的のために、ステップ４４で出力することができる。
【０１４１】
制御データを記憶するために、ステップ４４で出力された制御データは、統合レコーダユニット５０に供給される。この場合、ステップ５１で記録を開始することができる。記録中、すべての入力モーションデータまたは制御データまたは座標（座標の流れ）は、ステップ５２ａで時間基準が与えられ、タイムラインと同期される。そして、データ量をカウントする。
【０１４２】
同時に、オーディオデータ（オーディオストリーム）にもステップ５２ｂにおいて時間基準が与えられ、タイムラインと同期する。
【０１４３】
ステップ５３ａにおいて、すべてのモーションデータが任意のフォーマット、特にＢＶＨ制御データに直接送信される。同時に、ステップ５３ｂにおいて、全てのオーディオデータが任意のオーディオフォーマットに送信される。比較的少ないデータ量を高い等価性で生成するフォーマット、例えばＭＰ３フォーマットが好ましい。
【０１４４】
提供されたデータは、ステップ５４で視覚的に出力できる。これにより、チェックが可能になり、可能な調整に使用され得る。
【０１４５】
次いで、データは、ステップ５５において、例えばデータベース５６を用いて共に格納され、その結果、いつでも取り出すことができる。この場合、記憶されたデータは、図１、２に従ってアバターをアニメ化するため方法において使用することができるフォーマットにおける制御データを含む。記憶は、例えば、グラフィカルインターフェース（図４参照）でユーザが利用できるようにされた特別な制御要素によってチェックすることができる。
【０１４６】
図３、４に関連して説明されている方法は、純粋なウェブアプリケーションとして実行される。
【０１４７】
ステップ３１〜５４は、好ましくは、ローカルデータ処理装置、例えば、ウェブカメラを有するユーザのデスクトップコンピュータで行われ、一方、ステップ５５または記憶は、リモートデータ処理装置、例えば、ウェブサーバで行われる。
【０１４８】
オーディオデータを含めたデータの記憶容量は、アニメーションの場合、平均で毎分約２０ＭＢと非常に少ない。比較のために説明すると、現在広く普及している高解像度ビデオ（ＨＤ、７２０ｐ）では、約１００ＭＢ／分の記憶容量が一般的に期待される。
【０１４９】
図４は、制御データを生成するためのプログラムのグラフィカルユーザインタフェース６０を示し、このプログラムは図３に関連して説明されたものであり、ウェブブラウザで実行される。左側では、ステップ３６でアニメ化されたアバター（図３）が、ウェブブラウザ内の第一のキャンバス６１に表示される。ステップ４１で出力され、定義された多数のランドマークポイントを有するリアルタイムビデオストリーム（図３）が、図４の右側に示されている。
【０１５０】
ステップ５４で出力された制御データまたは座標および音声データ（図３）は、その下の領域の更なるキャンバス６３に提示される。制御データを生成するための方法を制御するために使用可能な制御要素６４は、キャンバス６３の下に配置される。この場合、例えば、記録ボタン、停止ボタン、および削除ボタンを設けることができる。
【０１５１】
図３、４に関連して説明されている方法は、ウェブレコーダを構成し、純粋なウェブアプリケーションとしてまたはウェブサイトの形で実行され、制御データの記憶とは別に、ロード操作後にローカルデータ処理装置でほぼ完全に実行することができる。
【０１５２】
具体的には、ユーザの視点からウェブレコーダを利用するには、例えば、ローカルコンピュータでウェブブラウザを開き、ウェブレコーダを提供するウェブサイトのＵＲＬ（Uniform Resource Locater）を入力する。
【０１５３】
任意のログインの後、予め選択されたレンダリングされたアバターを有するグラフィカルユーザインタフェース６０が、キャンバス６１内の画面の左側に表示される。顔のすべての動きに追従する適用されたランドマークポイントを有するユーザの顔が、コンピュータのウェブカメラおよびマイクロホンを有効にすることによって、例えば、キャンバス６２内の画面の右側に提示される。動きはアバターに直接送信されるので、アバターはユーザの顔の動きに自動的に追従する。
【０１５４】
ユーザは、この結果に満足する場合には、制御要素６４の領域の記録ボタンを押して記録を開始する。そして、ユーザが停止ボタンを押すと、記憶場所を選択してファイル名を割り当てた後に、生成された制御データ及び音声データが記憶される。ユーザが削除ボタンを押すと、ウェブレコーダは次の録音の準備を行う。
【０１５５】
したがって、ウェブレコーダは、純粋なウェブアプリケーションとして提供され、動作することができる。追加のソフトウェアをインストールする必要はない。
【０１５６】
ウェブレコーダは、例えば、ウェブデザイナーまたはゲーム開発者自身が制御データを記録することができるように、対応する課金と共にライセンス料を有するプラットフォームを介してオンラインで提供することができる。
【０１５７】
プレゼンターは、ＣＭＳプラグインの形で任意の所望のウェブサイトに統合することができ、自由に構成および接続することができ、その結果、無制限の数の多種多様なアプリケーションを迅速に実行することができるので、この問題は、ウェブデザイナーにとって特に関心がある。これらのプラグインと多種多様なアバターは、プラットフォームから簡単にダウンロードできる。
【０１５８】
図５は、第一のデータ処理装置７１、例えばデスクトップコンピュータを含む構成７０を概略的に示しており、プロセッサ７１ａと、メインメモリ７１ｂと、グラフィックスプロセッサ及びグラフィックスメモリを有するグラフィックスカード７１ｃとを有している。ビデオカメラ（ウェブカメラ）７２、マイクロホン７３およびスピーカ一体型スクリーンが接続される。
【０１５９】
データ処理装置７１は、第二のリモートデータ処理装置７５からデータを取得することができ、第三のリモートデータ処理装置７６にデータを送信することができるインターフェースも有する。第二のデータ処理装置７５は、例えば、アバターが、関連するキー画像およびアサインプロトコルとともに、検索可能な方法で記憶されているウェブサーバであってもよい。第三のデータ処理装置７６は、同様に、生成された制御データが記憶され、および／または制御データが再び検索されるウェブサーバであってもよい。
【０１６０】
図６は、図２からのウェブプレゼンタまたはユーザインタフェースの変形を示す。図６からウェブプレゼンタのユーザインタフェース２０ａが設計され、特にトレーニングまたは教育用の変形例として設計されている。この場合、アバター２３ａは、ウェブブラウザ内のキャンバス２１ａ内の背景に対して再び提示される。アバター２３ａは、同様に、上述したように、制御データが到着したときにアニメ化されたアバター１７となる全在的なアバター１３の表現に対応する。制御のために、グラフィカルユーザインタフェース２０ａは、ボタンの形態のＨＴＭＬ５またはＣＳＳ制御要素２２ａ、２４ａ、２５ａを有する。
【０１６１】
使用中、生徒は、例えば、「売り込みの場で率直な会話をする」のトピックにナビゲートし、そこで生徒は、制御要素２４ａを介して選択することができ、次いで、制御要素２２ａを介して再生することができる５つの専門的な例示的議論を提供される。次いで、アニメ化されたアバター２３ａは、生徒がどのようにして売り込みの会話を始めることができるかを生徒に示す。全体として、全ての関連トピックをカバーする数百の例示的な議論が利用可能である。その結果、生徒は自分が何に取り組まなければならないかという印象を提供される。ユーザインタフェースの設計は、任意の所望の方法で構成することができる。
【０１６２】
アニメーションの間、生徒はノートを作成し、自分の議論に取り組むことができる。そして、練習のためにこれらの議論を提示することができ、上述のウェブカメラおよびウェブレコーダを備えたマイクロホンを使用して制御データを記録および記憶することができる。生徒は、ウェブレコーダから生成された制御データを任意のディレクトリにローカルに格納できる。
【０１６３】
これらの自己生成制御データは、制御要素２５ａを介してウェブプレゼンタから選択することができ、いつでもロードすることができる。生徒は、自身が生成した制御データを再生することにより、アバター２３ａの表情や音声コンテンツを通じて、自身や自身のワークのリアルなイメージを作成することができる。この場合、生徒は、所定のトレーニング内容と自身のワークとを所望の方法で切り替えることができ、学習効果をさらに高めることができる。
【０１６４】
生徒はまた、制御データを、電子メールまたは他の方法で、ウェブプレゼンタを使用していつでもデータをロードし評価することができるトレーナーに送ることができる。
【０１６５】
生徒は、自身の録画中にカメラや少なくとも画面を覗かなければならないので、原則として、学習した内容も暗記しておく必要がある。したがって、生徒は、その資料を読まなくても再生できる場合にのみ、良好な記録を作成することができる。これにより、生徒は、学習した教材を、たとえば顧客との間で、より効果的に使用できるようになる。
【０１６６】
図７は、図２からのウェブプレゼンタまたはユーザインタフェースのさらなる変形例を示す。図７からのウェブプレゼンタのユーザインタフェース２０ｂは、タッチスクリーンを備えたモバイルデバイス用に設計される。この場合、アバター２３ｂは、ウェブブラウザまたは特別なアプリケーションのキャンバス２１ｂ内の背景に対して再び提示される。アバター２３ｂは、同様に、上述したように、制御データが到着すると、アニメ化されたアバター１７となる全在的アバター１７の表現に対応する。制御のために、グラフィカルユーザインタフェース２０ｂは、ボタンフィールドの形態のＨＴＭＬ５またはＣＳＳ制御要素２２ｂ、２４ｂを有する。操作方法は、図２からのユーザインタフェースまたはウェブプレゼンタに対応する。
【０１６７】
上述の例示的な実施形態は、いかなる点においても限定的であると理解されるべきではなく、本発明の範囲内で任意の所望の方法で適用することができる。
【０１６８】
例えば、図１〜４に関連して説明した方法を実行することを可能にするプログラムが可能であり、ウェブアプリケーションとしてではなく、データ処理インストールにローカルに格納され、ローカルで起動される。
【０１６９】
本方法が実施されるのと同じデータ処理装置にあるローカルデータベースから受信される制御データについて図１〜２に記載された方法においても可能である。
【０１７０】
同様に、図３〜４に記載された方法においても、本方法が実行されるのと同じデータ処理装置上にあるローカルデータベースに制御データが格納される。
【０１７１】
図３〜４に関連して説明した方法に関して、制御データを直ちにチェックする必要がない場合には、原則として、ステップ３２〜３６およびステップ４３を省略することも可能である。この場合、キャンバス６１を図４のユーザインタフェース６０内で省略することも可能である。
【０１７２】
図５の配置７０において、代替的または追加的に他の出力装置を使用することも可能であり、例えばスクリーン７４の代わりに、例えばプロジェクタまたはホログラフを使用することも可能である。
【０１７３】
図５の配置においても可能であり、第一のデータ処理装置として、例えば、ラップトップ、タブレット又は適当な機能を有する携帯電話のようなモバイル装置を使用することが可能である。
【０１７４】
要約すると、新規で特にアバターのための制御データを効率的に生成するために、及びアバターをアニメ化するために使用することができる有利な方法およびプログラムが提供されており、この場合、これらの方法で使用される制御データは、データ量が少なく、その結果、ネットワークを不必要にロードすることなく、サーバからクライアントに非常に迅速に送信することができる。したがって、追加コンテンツ、例えば、背景のためのさらなるアニメーション等を送信することができ、さらなる応用が可能となる。
【０１７５】
制御データにより、特に、トレーニング、販売、アドバイス、ゲーム等のための仮想アシスタントの形態の２Ｄまたは３Ｄアバターを使用することができる。
【０１７６】
その結果、アニメーションの制作時間が大幅に短縮され、特別な専門知識を必要とせず、素人でも制作することができる。プログラムをインストールするのを要しない。
【図１】
2022500795.tif 000003
【図２】
2022500795.tif 000004
【図３】
2022500795.tif 000005
【図４】
2022500795.tif 000006
【図５】
2022500795.tif 000007
【図６】
2022500795.tif 000008
【図７】
2022500795.tif 000009
【国際調査報告】
2022500795.tif 000010
2022500795.tif 000011
2022500795.tif 000012
2022500795.tif 000013
2022500795.tif 000014
2022500795.tif 000015