(57)【要約】      （修正有）【課題】姿勢をとる人体または動物体をシミュレートするための簡単で高速な方法を提供する。【解決手段】回転関節によって繋がれた複数の骨を備えた骨格を含む身体のモデル（ＡＶ）の少なくとも１つの運動連鎖を形成し、アクティブ運動連鎖と呼ばれる運動連鎖の、骨格の各回転関節に対する開始位置および開始回転状態、並びにエフェクタと呼ばれる点に対する目標位置を定義し、アクティブ運動連鎖の複数の関節のそれぞれ１つの少なくとも１つの回転軸に対して、作動順序、目標回転に対する最大部分的寄与、及び最大回転角度を定義し、エフェクタを目標位置（Ｔ）に近づけるために、アクティブ運動連鎖の関節に、作動順序に従って、回転軸の周りに回転を反復して適用し、回転軸の周りの関節の各回転は、対応する最大回転角度、及びエフェクタとその目標位置との間の距離を最小にし得る目標回転に対する対応する最大部分的寄与のうちの１つによって制限する。【選択図】図５Ｂ
2018092623.tif 000002
【特許請求の範囲】
【請求項１】
姿勢をとる人体または動物体をシミュレートするためにコンピュータが実施する方法であって、
ａ）回転関節（Ａ〜Ｄ）によって繋がれた複数の骨（ｂ０〜ｂ４）を備えた骨格を含む前記人体または動物体のモデル（ＡＶ）を提供して、少なくとも１つの運動連鎖を形成するステップであって、各回転関節が２つの骨を接続し、１と３との間に含まれる複数の回転軸を有する、ステップと、
ｂ）アクティブ運動連鎖と呼ばれる運動連鎖の、前記骨格の各回転関節に対する開始位置および開始回転状態、ならびにエフェクタ（ＥＦ）と呼ばれる点に対する目標位置（Ｔ）を定義するステップと、
ｃ）前記アクティブ運動連鎖の複数の関節のそれぞれ１つの少なくとも１つの回転軸に対して、
−  作動順序、
−  目標回転に対する最大部分的寄与、および
−  最大回転角度
を定義するステップと、
ｄ）前記エフェクタをその目標位置（Ｔ）に近づけるために、前記アクティブ運動連鎖の前記関節に、それらの作動順序に従って、それらの回転軸の周りに回転を反復して適用するステップであって、回転軸の周りの関節の各回転は、前記対応する最大回転角度、および前記エフェクタとその目標位置との間の距離を最小にする前記目標回転に対する前記対応する最大部分的寄与のうちの１つによって制限される、ステップと
を含む方法。
【請求項２】
ステップｄ）の後に遂行される以下のステップ、
ｅ）ステップｄ）の終わりにおいてすでに収束が達成されていない限り、循環座標降下アルゴリズムを適用して、前記エフェクタを前記目標点に収束させるステップ
をさらに含む請求項１に記載のコンピュータによって実施される方法。
【請求項３】
回転軸の周りの関節の各回転は、前記対応する最大回転角度、および前記エフェクタとその目標位置との間の距離を最小にする前記目標回転に対する前記対応する最大部分的寄与のうちの最も大きいものによって制限される請求項１または２に記載のコンピュータによって実施される方法。
【請求項４】
ステップｄ）において少なくとも１つの回転は、人体または動物体の生理学的制約をモデル化する少なくとも１つの制約によって制限される請求項１乃至３のいずれか一項に記載のコンピュータによって実施される方法。
【請求項５】
ステップｃ）は、要素の順序付きリストを作成するステップを含み、前記リストの各要素は、少なくとも、
−  回転関節およびその回転軸の識別子、
−  目標回転に対する前記対応する最大部分的寄与を示す数値、および
−  前記対応する最大回転角度を示す数値
を備える請求項１乃至４のいずれか一項に記載のコンピュータによって実施される方法。
【請求項６】
前記目標は、前記人体または動物体の前記モデルを含んだ３次元シーン内を移動し、ステップｄ）は、前記目標の複数の連続した位置に対して、リアルタイムに繰り返して遂行される請求項１乃至５のいずれか一項に記載のコンピュータによって実施される方法。
【請求項７】
前記人体または動物体のグラフィック表示を表示するステップをさらに含む請求項１乃至６のいずれか一項に記載のコンピュータによって実施される方法。
【請求項８】
前記エフェクタは、前記人体または動物体の手、指、足、つま先、頭、またはそれらの一部分のうちから選択された要素に対応する請求項１乃至７のいずれか一項に記載のコンピュータによって実施される方法。
【請求項９】
コンピュータシステムに請求項１乃至８のいずれか一項に記載の方法を遂行させるためのコンピュータ実行可能命令を備えた、非一時的コンピュータ可読データ記憶媒体（Ｍ１〜Ｍ４）に記憶された、コンピュータプログラム製品。
【請求項１０】
コンピュータシステムに請求項１乃至８のいずれか一項に記載の方法を遂行させるためのコンピュータ実行可能命令（ＥＸＰ）を含んだ、非一時的コンピュータ可読データ記憶媒体（Ｍ１〜Ｍ４）。
【請求項１１】
メモリ（Ｍ１〜Ｍ４）およびグラフィカルユーザインターフェース（ＫＢ、ＰＤ、ＤＣ、ＤＹ）に結合されたプロセッサ（Ｐ）を備えたコンピュータシステムであって、前記メモリは、前記コンピュータシステムに請求項１乃至８のいずれか一項に記載の方法を遂行させるためのコンピュータ実行可能命令（ＥＸＰ）を記憶する、コンピュータシステム。
【請求項１２】
請求項１乃至８のいずれか一項の方法を用いてシミュレートされる、姿勢をとる人体または動物体のモデル。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、姿勢をとる人間（または動物）の動きをシミュレートするためのコンピュータによって実施される方法に関する。それはコンピュータグラフィックスの分野に関し、コンピュータ支援設計（ＣＡＤ）、人間工学、ビデオゲームなどのいくつかの応用分野に役立つ。
【背景技術】
【０００２】
人体または動物体を、「スキン」によって覆われた「骨格」を備えたデジタルモデルによって表すことが知られている。骨格は、それらが必ずしも実際の解剖学的な骨に対応しなくても「骨」と呼ばれるセグメントのセットによって構成され、１つ、２つ、または３つの回転自由度を有する回転関節によって繋がれる。「アバター」としても知られるこのようなモデルは通常、人体モデルに対するいわゆる「Ｔ字ポーズ」（部分的に広げられた脚、水平に伸ばされた腕）などの標準姿勢においてもたらされる。
【０００３】
アバターに、もとのものとは異なる特定の姿勢をとらせるために、所望の結果に至る、それの骨格の骨を繋ぐ関節の回転のセットを決定する必要がある。これは容易な作業ではない。
【０００４】
多くのケースにおいて、所望の姿勢を完全に指定する代わりに、骨格の１つまたは複数の特定の点（「エフェクタ」と呼ばれる）に制約を課すのみとする。例えばアバターの手（例えばそれの前腕を表す骨の終点に対応する）が、特定の位置をとることを課すことができる。理論的な観点から、これは逆運動学（ＩＫ）の問題に対応する。
【０００５】
順運動学は、連鎖の関節の回転角度を定義するパラメータθのセットの関数として、運動連鎖（骨格またはその一部分など）の１つまたは複数のエフェクタの位置Ｘを計算することを可能にし、
Ｘ＝ｆ（θ）
【０００６】
一方、逆運動学は、エフェクタの指定された目標位置Ｘに至る、パラメータθを計算することを目的とする。  
θ＝ｆ-1（Ｘ）
【０００７】
順運動学問題は通常、単一の解を可能にするが、逆運動学問題は、ゼロまたは無限の解を有し得る。第１のケースにおいて目標位置Ｘは到達することが不可能であり、第２のもの（拘束下の系）において、それは「解空間」定義する無限個の異なる姿勢（冗長性）に対応し、それらの１つが任意に、または何らかの基準に基づいて選別されなければならない。
【０００８】
逆運動学問題は、非常に短い運動連鎖に対する解析解を可能にするのみであり、これは通常、実用的関心は少ない。
【０００９】
より複雑なケースでは、順運動学関数ｆを局所的に線形化し、それを逆変換することができる。実際、系が拘束下にある場合、（線形化された）順運動学関数の擬似逆変換のみが見出されることができ、冗長性は、適切に選択されたコスト関数を最小化する解を選択することによって対処される。この方法は非常に強力で柔軟性があり、実際、多くのコンピュータグラフィックアプリケーションによって要求されるものをはるかに超えるが、リアルタイム実装形態とは適合しない複雑な計算が関わる。
【００１０】
より高速に、およびより実用的に逆運動学問題を解くための、他の手法が存在する。
【００１１】
よく知られている手法は、逆運動学問題を最小化問題に帰着させることにあり、最小化されることになる関数はエフェクタと目標位置との間の距離であり、後者を循環座標降下（ＣＣＤ）アルゴリズムを用いて解く（例えば、非特許文献１参照）。循環座標降下逆運動学（ＣＣＤ−ＩＫ）は、実際は関節に対して局所的調整を行ってエフェクタの位置および方向の誤差を最小化する、反復アルゴリズムである。各反復は、先端から根元まで運動連鎖をくまなく調べ、各関節を個々に修正する。その結果、この適応は解析的に行われるのに十分に簡単になる。
【００１２】
この方法の主な利点は、その収束時に特異性がないことである。しかし、それはいくつかの主な欠点を有する。まず第１に、それは、冗長性を考慮に入れた可能な解の空間をもたらさず、単一の解をもたらすだけであり、これは人体または動物体の現実的な姿勢に対応しない場合がある。最後に、適応化は関節の間で一様に配分されない。実際、修正されることになる第１の関節は最も大きな回転を受け、これは現実的な姿勢に至るためにはしばしばずっと大きくなり過ぎる。この手法は、姿勢自体ではなくエフェクタの最終位置のみが重要な、ロボット工学によく適している。
【００１３】
誘導型逆運動学アルゴリズム（例えば、非特許文献２参照）は、より現実的な姿勢に至るＣＣＤの修正された形である。そうするために、それはＣＣＤアルゴリズムを起動する前に、いわゆる「統合姿勢マップ」に記憶された予め計算された姿勢における運動連鎖を初期化する。この手法の欠点は、単一の運動連鎖に対して非常に多数の予め計算された姿勢を記憶することを必要とすることである。これを人体または動物体のモデル化に適用することは、それぞれが複数の運動連鎖を備える、いくつかの異なる骨格（例えば異なる個人に対応して）に対して、統合姿勢マップを計算することを必要とすることになり、負担をさらに増加させ、これはすぐに耐えられなくなる。
【００１４】
三角法逆運動学アルゴリズム（例えば、非特許文献３参照）は、ＣＣＤをベースとする方法は、適応されることになる第１のパラメータが最も大きな変化を受けるという主な理由により非現実的な姿勢を与えるという認識の後に導入された。「三角法」は、余弦法則によって目標に向かって各関節の回転を決定することにより、この欠点を低減する。アルゴリズムは容易で実装するのが速いが、十分に現実的な姿勢に至らない。
【先行技術文献】
【非特許文献】
【００１５】
【非特許文献１】Ｄａｖｉｄ  Ｇ．  Ｌｕｅｎｂｅｒｇｅｒ  ａｎｄ  Ｙｉｎｙｕ  Ｙｅ  “Ｌｉｎｅａｒ  ａｎｄ  Ｎｏｎｌｉｎｅａｒ  Ｐｒｏｇｒａｍｍｉｎｇ”  ｔｈｉｒｄ  ｅｄｉｔｉｏｎ，  Ｓｐｒｉｎｇｅｒ  （２００８）
【非特許文献２】Ｊ．Ｏ．  Ｋｉｍ  ｅｔ  ａｌ．  “Ｔｈｅ  Ｉｎｄｕｃｔｉｖｅ  Ｉｎｖｅｒｓｅ  Ｋｉｎｅｍａｔｉｃｓ  Ａｌｇｏｒｉｔｈｍ  ｔｏ  Ｍａｎｉｐｕｌａｔｅ  ｔｈｅ  Ｐｏｓｔｕｒｅ  ｏｆ  ａｎ  Ａｒｔｉｃｕｌａｔｅｄ  Ｂｏｄｙ”，  ＩＣＣＳ  ２００３
【非特許文献３】Ｒ．Ｍｕｌｌｅｒ−Ｃａｊａｒ  ａｎｄ  Ｒ．Ｍｕｋｕｎｄａｎ  “Ｔｒｉａｎｇｕｌａｔｉｏｎ：  Ａ  ｎｅｗ  ａｌｇｏｒｉｔｈｍ  ｆｏｒ  Ｉｎｖｅｒｓｅ  Ｋｉｎｅｍａｔｉｃｓ，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｉｍａｇｅ  ａｎｄ  Ｖｉｓｉｏｎ  Ｃｏｍｐｕｔｉｎｇ  Ｎｅｗ  Ｚｅａｌａｎｄ  ２００７
【発明の概要】
【発明が解決しようとする課題】
【００１６】
本発明は、従来技術の欠点を克服することを目的とする。より正確には、それは、たとえ必ずしも解剖学的に正確でなくても現実的な結果に至る、姿勢をとる人体または動物体をシミュレートするための簡単で高速な（リアルタイム要件に適合する）方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
この目的を達成することを可能にする本発明の目的は、姿勢をとる人体または動物体をシミュレートするためにコンピュータが実施する方法であって、
ａ）回転関節によって繋がれた複数の骨を備えた骨格を含む前記人体または動物体のモデルを提供し、少なくとも１つの運動連鎖を形成するステップであって、各回転関節が２つの骨を接続し、１と３との間に含まれるいくつかの回転軸を有するステップと、
ｂ）アクティブ運動連鎖と呼ばれる運動連鎖の、骨格の各回転関節に対する開始位置および開始回転状態、ならびにエフェクタと呼ばれる点に対する目標位置を定義するステップと、
ｃ）アクティブ運動連鎖の複数の関節のそれぞれ１つの少なくとも１つの回転軸に対して、
−  作動順序、
−  目標回転に対する最大部分的寄与、および
−  最大回転角度
を定義するステップと、
ｄ）エフェクタをその目標位置に近づけるために、アクティブ運動連鎖の関節に、それらの作動順序に従って、それらの回転軸の周りに回転を反復して適用するステップであって、回転軸の周りの関節の各回転は、対応する最大回転角度、およびエフェクタとその目標位置との間の距離を最小にする目標回転に対する対応する最大部分的寄与のうちの１つによって制限される、ステップと
を含む。
【００１８】
本発明の他の目的は、コンピュータシステムにこのような方法を遂行させるためのコンピュータ実行可能命令を備えた、非一時的コンピュータ可読データ記憶媒体に記憶された、コンピュータプログラム製品である。
【００１９】
本発明の他の目的は、またコンピュータシステムにこのような方法を遂行させるためのコンピュータ実行可能命令を含んだ、非一時的コンピュータ可読データ記憶媒体である。
【００２０】
本発明のさらなる目的は、メモリおよびグラフィカルユーザインターフェースに結合されたプロセッサを備えたコンピュータシステムであって、メモリは、コンピュータシステムにこのような方法を遂行させるためのコンピュータ実行可能命令を記憶する、コンピュータシステムである。
【００２１】
本発明の他の目的は、このような方法を用いてシミュレートされる、姿勢をとる人体または動物体のモデルである。
【図面の簡単な説明】
【００２２】
本発明のさらなる特徴および利点は、添付の図面と併せ読まれるこの後の説明から明らかになるであろう。
【００２３】
【図１】本発明の方法の例示的実施形態による、目標に向かってエフェクタを移動するために骨格の運動連鎖に適用される回転のシーケンスを示す図である。
【図２Ａ】本発明の方法の例示的実施形態による、目標に向かってエフェクタを移動するために骨格の運動連鎖に適用される回転のシーケンスを示す図である。
【図２Ｂ】本発明の方法の例示的実施形態による、目標に向かってエフェクタを移動するために骨格の運動連鎖に適用される回転のシーケンスを示す図である。
【図３Ａ】本発明の方法の例示的実施形態による、目標に向かってエフェクタを移動するために骨格の運動連鎖に適用される回転のシーケンスを示す図である。
【図３Ｂ】本発明の方法の例示的実施形態による、目標に向かってエフェクタを移動するために骨格の運動連鎖に適用される回転のシーケンスを示す図である。
【図４Ａ】本発明の方法の例示的実施形態による、目標に向かってエフェクタを移動するために骨格の運動連鎖に適用される回転のシーケンスを示す図である。
【図４Ｂ】本発明の方法の例示的実施形態による、目標に向かってエフェクタを移動するために骨格の運動連鎖に適用される回転のシーケンスを示す図である。
【図５Ａ】本発明の方法の例示的応用を示す図である。
【図５Ｂ】本発明の方法の例示的応用を示す図である。
【図５Ｃ】本発明の方法の例示的応用を示す図である。
【図６】本発明の異なる実施形態による方法を遂行するために適したコンピュータシステムのブロック図である。
【図７】本発明の異なる実施形態による方法を遂行するために適したコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００２４】
本発明は図１に示される非常に簡単な例を参照して述べられ、運動連鎖は４つの骨ｂ１、ｂ２、ｂ３、ｂ４、固定された基部ｂ０（これは骨と見なされることができる）、およびそれぞれが単一の回転軸を有する４つの回転関節Ａ、Ｂ、Ｃ、Ｄからなる。回転軸は互いに並行であり、したがって、連鎖の動きは平面内に拘束される。エフェクタＥＦは、基部ｂ０から最も遠い、骨ｂ４の終点である。より複雑なおよび３次元のケースへの一般化は、直接的である。図１は初期姿勢における運動連鎖を表し、すべての関節は０°の初期回転角度を有し、すべての骨は整列される。
【００２５】
本発明の方法は、２つの段階を含む。常に遂行される第１のものは、エフェクタＥＦの位置が目標点Ｔに正確に一致しない場合がある、現実的な姿勢に収束する。任意選択である第２のものは、エフェクタが目標に到達することを確実にするように、この姿勢を修正する。
【００２６】
本発明のアルゴリズムを用いる前に、要素の順序付きリストである簡単なデータ構造体を作成する必要があり、各要素は以下を備える：
−  関節およびその回転軸の識別子、
−  目標回転に対する関節の最大部分的寄与を示す数値、および
−  関節の最大回転角度を示す数値。
以下の表１はこのようなリストの例を与えるが、図１の例では１自由度関節のみが考察されるので、関節の回転軸の識別子はない。
【００２７】
【表１】
2018092623.tif 000003
【００２８】
アルゴリズムの第１の段階は反復して遂行され、ＣＣＤアルゴリズムにいくらか似ている。しかし、各回転軸に対して定義される「最大部分的寄与」および「最大回転角度」は、よりバランスのとれた、およびユーザによって自由に調整される、関節回転の配分を確実にする。
【００２９】
リストの第１の要素は、関節Ｂに対応する。第１の段階の第１のステップは、次いでエフェクタＥＦを目標Ｔに向かって移動させるために、この関節を回転することにある。図２Ａにおいて破線２０は、関節Ｂが、ＥＦ−Ｔ距離を真に最小化するために回転されたならば部分連鎖ｂ２−ｂ３−ｂ４がとるであろう構成を表す。しかし、リストは、関節Ｂが３０％の最大部分的寄与、および２０°の最大回転角度によって特性化されることを示す。これは関節の実際の回転は、「最大限」の回転の３０％（破線２１を参照）または２０°の回転（破線２２を参照）のいずれかに制限されることを意味する。２つの制限のうちの大きい方、このケースでは２０°の回転が選択される。結果としての構成（「姿勢」）は、図２Ｂに示される。
【００３０】
作動されることになる次の節点は、Ａである。図３Ａにおいて直線３０は、「最大限」の回転に対応する姿勢を示し、直線３１は、３０％の最大部分的寄与によって制限された回転に対応する。直線３２は原理的に最大回転角度すなわち６０°に対応するべきであるが、これは「最大限」の回転を超えることになり、目標を過ぎてエフェクタを移動させることになるので許容されない。したがって、直線３２は、直線３０と整列され、関節Ａの実際の回転を決定する（図３Ｂ）。
【００３１】
作動されることになる第３の節点は、Ｄである。図４Ａに示される状況は前のステップのものと同様であり、直線４０は最大限の回転に、直線４１は最大部分的寄与に、および直線４０と一致した直線４２は最大限の回転によって制限された最大回転角度に対応する。図４Ｂは、この第３のステップの後に得られるポーズを示す。
【００３２】
本発明のこの例示的実施形態において、アルゴリズムの第１の段階はここで終了する。より複雑な実施形態では関節Ｃも作動されることができ、および／またはいくつかの反復が行われることができ、すなわちリストの関節は複数回処理され得る。
【００３３】
図４Ｂで、この第１のステップの終わりにおいて、エフェクタは目標に到達していないことが分かる。ステップをさらに反復することは、この問題を解決し得ない。したがって、エフェクタを目標と一致させるために、従来のＣＣＤアルゴリズムを用いた第２のステップが遂行される。ＣＣＤは比較的小さな微調整をもたらすことだけが必要であるので、第１のステップによって生成された姿勢の現実的な外観を「損なう」ことはない。
【００３４】
例えば三角法と比べた本発明の方法の主な利点は、その安定性であり、ユーザは、リストの関節の順序、ならびにそれぞれの上記の関節に対する最大部分的寄与および最大回転角度の数値を、自由に変更できることが理解されることができる。ポーズの計算は非常に高速であり、ユーザは最も現実的な姿勢を見出すために異なる設定を容易に試みることができる。
【００３５】
ここまで、「抽象的」な運動連鎖のケースのみが考察されてきた。方法の実際の実装形態において運動連鎖は、例えば腕などの肢に対応する骨格の一部を表すことになる。一般に骨格は、複数の運動連鎖から構成されると考えられることになる。本発明の方法は、単一の「アクティブ」連鎖に対して作用することを可能にし、その他は固定と見なされる。本方法がアバターに適用されるときはさらに、モデル化された人体または動物体の生理学的制約を反映して、関節の回転に対して追加の制約を課すことが必要になり得る。
【００３６】
図５Ａ〜５Ｃは、複数の運動連鎖を備えた骨格（図示せず）を有するアバターＡＶを示す。左腕（各図の右側）を表す連鎖は「アクティブ」なものであり、そのエフェクタは右手首に対応し、身体の残りは固定された基部を構成する。目標Ｔはカーソルからなり、これはユーザによって、例えばマウスを用いて、アバターを含んだ３次元シーン内で移動される。理解されるように、目標の連続した位置に対して本発明の方法を繰り返して遂行することで、エフェクタがそれにリアルタイムで追従することを可能にし、アバターの姿勢は常に非常に自然に見える。
【００３７】
最終的な姿勢は現実的となるが、それに到達するように運動連鎖によって行われる動きは、小さな変位を除いて必ずしもそうではないことを留意することが重要である。したがって、アニメーションを行うために、それが、本発明の方法が用いられ、エフェクタの近くに位置する目標点から開始して、その最終位置に向かってそれを徐々に移動させることが推奨される。
【００３８】
エフェクタが肢の先端に対応する必要はない。例えばアバターの手の位置を固定し（すなわち手を基部とする）、肩または身体の中心をエフェクタと見なすことが可能となり得る。
【００３９】
ここまで、関節の回転を制限するために、最大回転角度、および目標回転に対する対応する最大部分的寄与の大きい方が、選択されるケースのみが考察されてきた。この選択は収束を加速する。しかし、逆の選択（すなわち最大回転角度、および目標回転に対する対応する最大部分的寄与の小さい方）も可能である。また「複合」手法を採用する、例えば最初の反復に対して大きな制限、および最後のものに対して小さなものを選択することも可能である。
【００４０】
本発明の方法は、適切なプログラムをハードディスク、ソリッドステートディスク、またはＣＤ−ＲＯＭなどのコンピュータ可読媒体に非一時的な形で記憶し、そのマイクロプロセッサおよびメモリを用いて上記プログラムを実行する、場合によってはコンピュータネットワークを含む、適切にプログラムされた汎用コンピュータまたはコンピュータシステムによって行われることができる。
【００４１】
本発明の例示的実施形態による方法を遂行するために適したコンピュータは、図６を参照して述べられる。図６でコンピュータは、上述のプロセスを行う中央処理装置ＣＰＵを含む。プロセスは、実行可能プログラムすなわちコンピュータ可読命令のセットとして、ＲＡＭ  Ｍ１またはＲＯＭ  Ｍ２などのメモリに、またはハードディスクドライブ（ＨＤＤ）Ｍ３、ＤＶＤ／ＣＤドライブＭ４上に記憶されることができ、または遠隔に記憶されることができる。さらに少なくとも１つの人体または動物体のデジタルモデル（アバター）、および／または上記モデルが埋め込まれる状態に３次元シーンを定義する、１つまたは複数のコンピュータファイルも、メモリデバイスＭ１からＭ４の１つまたは複数上に、または遠隔に記憶されることができる。
【００４２】
特許請求される本発明は、本発明のプロセスのコンピュータ可読命令および／またはデジタルファイルが記憶される、コンピュータ可読媒体の形によって限定されない。例えば命令およびファイルは、ＣＤ、ＤＶＤ上に、フラッシュメモリ、ＲＡＭ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ハードディスク、またはサーバもしくはコンピュータなど、コンピュータ支援設計またはイラストレーションオーサリングステーションがそれと通信する任意の他の情報処理デバイスに記憶され得る。プログラムおよびファイルは、同じメモリデバイス上に、または異なるメモリデバイス上に記憶されることができる。
さらに本発明の方法を遂行するために適したコンピュータプログラムは、ＣＰＵ８００と、Ｍｉｃｒｏｓｏｆｔ  ＶＩＳＴＡ、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  ８、ＵＮＩＸ、Ｓｏｌａｒｉｓ、ＬＩＮＵＸ、Ａｐｐｌｅ  ＭＡＣ−ＯＳ、および当業者に知られている他のシステムなどのオペレーティングシステムとに連動して実行する、ユーティリティアプリケーション、バックグラウンドデーモン、またはオペレーティングシステムの構成要素、またはそれらの組み合わせとして提供されることができる。
【００４３】
中央処理装置ＣＰＵは、米国のＩｎｔｅｌ製のＸｅｎｏｎプロセッサもしくは米国のＡＭＤ製のＯｐｔｅｒｏｎプロセッサとすることができ、または米国のＦｒｅｅｓｃａｌｅ  Ｃｏｒｐｏｒａｔｉｏｎ製のＦｒｅｅｓｃａｌｅ  ＣｏｌｄＦｉｒｅ、ＩＭＸ、またはＡＲＭプロセッサなどの他のプロセッサタイプとすることができる。あるいは中央処理装置は、米国のＩｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ製のＣｏｒｅ２  Ｄｕｏなどのプロセッサとすることができ、または当業者は認識し得るようにＦＰＧＡ、ＡＳＩＣ、ＰＬＤ上に、または個別論理回路を用いて実施されることができる。さらに中央処理装置は、上述の本発明のプロセスのコンピュータ可読命令を行うように協調して動作する、複数のプロセッサとして実施されることができる。
【００４４】
図６のコンピュータはまた、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、インターネットなどのネットワークとインターフェースするための、米国のＩｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎ製のＩｎｔｅｌ  Ｅｔｈｅｒｎｅｔ  ＰＲＯネットワークインターフェースカードなどの、ネットワークインターフェースＮＩを含む。コンピュータ支援設計ステーションはさらに、Ｈｅｗｌｅｔｔ  Ｐａｃｋａｒｄ  ＨＰＬ２４４５ｗ  ＬＣＤモニタなどのディスプレイＤＹとインターフェースするための、米国のＮＶＩＤＩＡ  Ｃｏｒｐｏｒａｔｉｏｎ製のＮＶＩＤＩＡ  ＧｅＦｏｒｃｅ  ＧＴＸグラフィックスアダプタなどの、ディスプレイコントローラＤＣを含む。汎用Ｉ／ＯインターフェースＩＦは、キーボードＫＢ、およびローラーボール、マウス、タッチパッドなどのポインティングデバイスＰＤとインターフェースする。ディスプレイ、キーボード、およびポインティングデバイスは、ディスプレイコントローラおよびＩ／Ｏインターフェースと一緒に、例えばポインタツールを移動させる、パラメータの値を定義するなどのための入力コマンドをもたらすためにユーザによって、およびアバターを含む３次元シーンを表示するためにコンピュータ支援設計ステーションに用いられる、グラフィカルユーザインターフェースを形成する。
【００４５】
ディスクコントローラＤＫＣはＨＤＤ  Ｍ３およびＤＶＤ／ＣＤ  Ｍ４を通信バスＣＢＳに接続し、これはコンピュータ支援設計ステーションの構成要素のすべてを相互接続するためのＩＳＡ、ＥＩＳＡ、ＶＥＳＡ、ＰＣＩ、または同様のものとすることができる。
ディスプレイ、キーボード、ポインティングデバイス、ならびにディスプレイコントローラ、ディスクコントローラ、ネットワークインターフェースおよびＩ／Ｏインターフェースの一般的な特徴および機能の説明は、これらの特徴は知られているので簡潔にするために本明細書では省略される。
【００４６】
図７は、本発明の異なる例示的実施形態による方法を遂行するために適したコンピュータシステムのブロック図である。
【００４７】
図７において実行可能プログラムＥＸＰ、ならびにアバターおよび場合によっては３次元シーンを定義するコンピュータファイルは、サーバＳＣに接続されたメモリデバイス上に記憶される。メモリデバイス、およびサーバの全体的なアーキテクチャは、サーバにはディスプレイコントローラ、ディスプレイ、キーボードおよび／またはポインティングデバイスがない場合があることを除いて、図６を参照して上記で論じられたものと同じとすることができる。
【００４８】
サーバＳＣは次いで、ネットワークＮＷを経由して管理者システムＡＤＳおよびエンドユーザコンピュータＥＵＣに接続される。
【００４９】
管理者システムおよびエンドユーザコンピュータの全体的なアーキテクチャは、管理者システムおよびエンドユーザコンピュータのメモリデバイスが、実行可能プログラムＥＸＰおよび／または、アバターおよび／または３次元シーンを定義するコンピュータファイルを記憶しないことを除いて、図６を参照して上記で論じられたものと同じとすることができる。しかし、エンドユーザコンピュータは、以下で論じられるようにサーバの実行可能プログラムと協力するように設計されたクライアントプログラムを記憶する。
【００５０】
理解されるように、ネットワークＮＷは、インターネットなどのパブリックネットワーク、またはＬＡＮもしくはＷＡＮネットワークなどのプライベートネットワーク、またはそれらの任意の組み合わせとすることができ、またＰＳＴＮまたはＩＳＤＮサブネットワークを含むことができる。ネットワークＮＷはまた、イーサネットネットワークなどの有線とすることができ、またはＥＤＧＥ、３Ｇおよび４Ｇ無線セルラシステムを含むセルラネットワークなどの無線とすることができる。無線ネットワークはまたＷｉ−Ｆｉ、ブルートゥース、または知られている任意の他の通信の無線形式とすることができる。したがって、ネットワークＮＷは単に例示的であり、本発明の進歩の範囲を全く限定しない。
【００５１】
エンドユーザコンピュータのメモリデバイスに記憶され、そのＣＰＵによって実行されるクライアントプログラムは、ネットワークＮＷを経由してサーバＳＣによって記憶され、３次元シーン、アバター、またはそれらの要素を定義するファイルを含んだ、データベースＤＢにアクセスする。サーバは上述のように処理を行い、やはりネットワークＮＷを用いてエンドユーザコンピュータに、シーンの所望の表示に対応するイメージファイルを送信する。
【００５２】
１つの管理者システムＡＤＳ、および１つのエンドユーザシステムＥＵＸのみが示されるが、システムは任意の数の管理者システムおよび／またはエンドユーザシステムを制限なしにサポートすることができる。同様にまた本発明の範囲から逸脱せずに、複数のサーバがシステム内に実施されることができる。
【００５３】
本明細書で述べられるいずれのプロセスも、特定の論理機能、またはプロセスにおけるステップを実施するための、１つまたは複数の実行可能命令を含むモジュール、セグメント、またはコードの部分を表すものと理解されるべきであり、代替の実装形態は本発明の例示的実施形態の範囲に含まれる。
【図１】
2018092623.tif 000004
【図２Ａ】
2018092623.tif 000005
【図２Ｂ】
2018092623.tif 000006
【図３Ａ】
2018092623.tif 000007
【図３Ｂ】
2018092623.tif 000008
【図４Ａ】
2018092623.tif 000009
【図４Ｂ】
2018092623.tif 000010
【図５Ａ】
2018092623.tif 000011
【図５Ｂ】
2018092623.tif 000012
【図５Ｃ】
2018092623.tif 000013
【図６】
2018092623.tif 000014
【図７】
2018092623.tif 000015
【手続補正書】
【提出日】平成30年1月22日(2018.1.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
姿勢をとる人体または動物体をシミュレートするためにコンピュータが実施する方法であって、
ａ）回転関節（Ａ〜Ｄ）によって繋がれた複数の骨（ｂ０〜ｂ４）を備えた骨格を含む前記人体または動物体のモデル（ＡＶ）を提供し、少なくとも１つの運動連鎖を形成するステップであって、各回転関節が２つの骨を接続し、１と３との間に含まれる複数の回転軸を有するステップと、
ｂ）アクティブ運動連鎖と呼ばれる運動連鎖の、前記骨格の各回転関節に対する開始位置および開始回転状態、ならびにエフェクタ（ＥＦ）と呼ばれる点に対する目標位置（Ｔ）を定義するステップと、
ｃ）前記アクティブ運動連鎖の複数の関節のそれぞれ１つの少なくとも１つの回転軸に対して、
−  作動順序、
−  目標回転に対する最大部分的寄与、および
−  最大回転角度
を定義するステップと、
ｄ）前記エフェクタをその目標位置（Ｔ）に近づけるために、前記アクティブ運動連鎖の前記関節に、それらの作動順序に従って、それらの回転軸の周りに回転を反復して適用するステップであって、回転軸の周りの関節の各回転は、対応する前記最大回転角度、および前記エフェクタとその目標位置との間の距離を最小にする前記目標回転に対する前記対応する最大部分的寄与のうちの１つによって制限される、ステップと
を含む方法。
【請求項２】
ステップｄ）の後に遂行される以下のステップ、
ｅ）ステップｄ）の終わりにおいてすでに収束が達成されていない限り、循環座標降下アルゴリズムを適用して、前記エフェクタを前記目標位置に収束させるステップ
をさらに含む請求項１に記載のコンピュータによって実施される方法。
【請求項３】
回転軸の周りの関節の各回転は、対応する前記最大回転角度、および前記エフェクタとその目標位置との間の距離を最小にする前記目標回転に対する前記対応する最大部分的寄与のうちの最も大きいものによって制限される請求項１または２に記載のコンピュータによって実施される方法。
【請求項４】
ステップｄ）において少なくとも１つの回転は、人体または動物体の生理学的制約をモデル化する少なくとも１つの制約によって制限される請求項１乃至３のいずれか一項に記載のコンピュータによって実施される方法。
【請求項５】
ステップｃ）は、要素の順序付きリストを作成するステップを含み、前記リストの各要素は、少なくとも、
−  回転関節およびその回転軸の識別子、
−  目標回転に対する前記対応する最大部分的寄与を示す数値、および
−  対応する前記最大回転角度を示す数値
を備える請求項１乃至４のいずれか一項に記載のコンピュータによって実施される方法。
【請求項６】
目標は、前記人体または動物体の前記モデルを含んだ３次元シーン内を移動し、ステップｄ）は、前記目標の複数の連続した位置に対して、リアルタイムに繰り返して遂行される請求項１乃至５のいずれか一項に記載のコンピュータによって実施される方法。
【請求項７】
前記人体または動物体のグラフィック表示を表示するステップをさらに含む請求項１乃至６のいずれか一項に記載のコンピュータによって実施される方法。
【請求項８】
前記エフェクタは、前記人体または動物体の手、指、足、つま先、頭、またはそれらの一部分のうちから選択された要素に対応する請求項１乃至７のいずれか一項に記載のコンピュータによって実施される方法。
【請求項９】
コンピュータシステムに請求項１乃至８のいずれか一項に記載の方法を遂行させるためのコンピュータ実行可能命令を備えた、非一時的コンピュータ可読データ記憶媒体（Ｍ１〜Ｍ４）に記憶された、コンピュータプログラム。
【請求項１０】
コンピュータシステムに請求項１乃至８のいずれか一項に記載の方法を遂行させるためのコンピュータ実行可能命令（ＥＸＰ）を含んだ、非一時的コンピュータ可読データ記憶媒体（Ｍ１〜Ｍ４）。
【請求項１１】
メモリ（Ｍ１〜Ｍ４）およびグラフィカルユーザインターフェース（ＫＢ、ＰＤ、ＤＣ、ＤＹ）に結合されたプロセッサ（Ｐ）を備えたコンピュータシステムであって、前記メモリは、前記コンピュータシステムに請求項１乃至８のいずれか一項に記載の方法を遂行させるためのコンピュータ実行可能命令（ＥＸＰ）を記憶する、コンピュータシステム。
【請求項１２】
請求項１乃至８のいずれか一項の方法を用いてシミュレートされる、姿勢をとる人体または動物体のモデル。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
最終的な姿勢は現実的となるが、それに到達するように運動連鎖によって行われる動きは、小さな変位を除いて必ずしもそうではないことを留意することが重要である。したがって、アニメーションを行うために、本発明の方法が用いられる場合、エフェクタの近くに位置する目標点から開始して、その最終位置に向かってそれを徐々に移動させることが推奨される。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
本発明の例示的実施形態による方法を遂行するために適したコンピュータは、図６を参照して述べられる。図６でコンピュータは、上述のプロセスを行う中央処理装置ＣＰＵを含む。プロセスは、実行可能プログラムすなわちコンピュータ可読命令のセットとして、ＲＡＭ  Ｍ１またはＲＯＭ  Ｍ２などのメモリに、またはハードディスクドライブ（ＨＤＤ）Ｍ３、ＤＶＤ／ＣＤドライブＭ４上に記憶されることができ、または遠隔に記憶されることができる。さらに少なくとも１つの人体または動物体のデジタルモデル（アバター）、および／または上記モデルが埋め込まれる状態にある３次元シーンを定義する、１つまたは複数のコンピュータファイルも、メモリデバイスＭ１からＭ４の１つまたは複数上に、または遠隔に記憶されることができる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
特許請求される本発明は、本発明のプロセスのコンピュータ可読命令および／またはデジタルファイルが記憶される、コンピュータ可読媒体の形によって限定されない。例えば命令およびファイルは、ＣＤ、ＤＶＤ上に、フラッシュメモリ、ＲＡＭ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ハードディスク、またはサーバもしくはコンピュータなど、コンピュータ支援設計またはイラストレーションオーサリングステーションがそれと通信する任意の他の情報処理デバイスに記憶され得る。プログラムおよびファイルは、同じメモリデバイス上に、または異なるメモリデバイス上に記憶されることができる。
さらに本発明の方法を遂行するために適したコンピュータプログラムは、ＣＰＵと、Ｍｉｃｒｏｓｏｆｔ  ＶＩＳＴＡ、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  ８、ＵＮＩＸ、Ｓｏｌａｒｉｓ、ＬＩＮＵＸ、Ａｐｐｌｅ  ＭＡＣ−ＯＳ、および当業者に知られている他のシステムなどのオペレーティングシステムとに連動して実行する、ユーティリティアプリケーション、バックグラウンドデーモン、またはオペレーティングシステムの構成要素、またはそれらの組み合わせとしてもたらされることができる。
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2018092623.tif 000016
【外国語明細書】
2018092623000001.pdf