(57)【要約】モーションキャプチャボリュームデータにラベル付けする方法は：ラベル付けされていないボディポイント、及びラベル付けされていない顔面ポイントを含むモーション撮影ビートを受信するステップと；所定のボディモデルテンプレートに高精度にフィッティングするラベル付けされていないボディポイントにラベル付けするステップと；ラベル付けされたボディポイントを伸縮率解析を使用して検証するステップと；ラベル付けされていないボディポイントに骨格運動解析を使用してラベル付けするステップと；ラベル付けされていない顔面ポイントを分離するステップと；ラベル付けされていない顔面ポイントを安定化させるステップと；ラベル付けされていない顔面ポイントにラベル付けするステップと；そしてラベル付けされた顔面ポイント及びラベル付けされたボディポイントを統合するステップと、を含む。【選択図】図１
2009506441.tif 000002
【特許請求の範囲】
【請求項１】
モーションキャプチャラベリングシステムであって：
モーションキャプチャボリュームデータを受信し、そしてラベル付けされたボディデータを生成するように構成されるボディラベリングモジュールと；
ラベル付けされた前記ボディデータを含む前記モーションキャプチャボリュームデータを受信し、ラベル付けされた顔面データを生成し、そしてラベル付けされた前記ボディデータ、及びラベル付けされた前記顔面データを含むラベル付けされたモーションキャプチャボリュームデータを生成するように構成される相対ラベリングモジュールと、
を備えるモーションキャプチャラベリングシステム。
【請求項２】
前記ボディラベリングモジュールは更に、前記モーションキャプチャボリュームデータを所定のボディモデルテンプレートにフィッティングし、そして前記モーションキャプチャボリュームデータの内、前記所定のボディモデルテンプレートに高精度にフィッティングするデータにラベル付けすることにより、ラベル付けされた前記ボディデータを決定するように構成される、請求項１記載のモーションキャプチャラベリングシステム。
【請求項３】
前記ボディラベリングモジュールは更に、ラベル付けされた前記ボディデータを検証するように構成される伸縮率解析（stretch analysis）モジュールを含む、請求項２記載のモーションキャプチャラベリングシステム。
【請求項４】
前記伸縮率解析モジュールは更に、
ラベル付けされた前記ボディデータの第２データポイントに対するラベル付けされた前記ボディデータの第１データポイントの剛性を求め；
前記剛性を所定の許容誤差と比較し；
前記剛性が前記所定の許容誤差を超える場合に前記第１データポイントのラベルを剥がすように構成される、請求項３記載のモーションキャプチャラベリングシステム。
【請求項５】
前記ボディラベリングモジュールは更に運動骨格モジュールを含み、
前記運動骨格モジュールは：
骨格を、ラベル付けされた前記ボディデータに非隣接フレームにおいてフィッティングし；
前記骨格の位置推定値及び速度推定値を、ラベル付けされていないボディデータを含み、かつ前記非隣接フレームの間に位置する中間フレームにおいて補間し；
ラベル付けされていない前記ボディデータを各前記中間フレームにおいて、骨格の姿勢が前記位置推定値及び速度推定値に従って調整されている前記骨格にフィッティングし；
各前記中間フレームにおいて前記骨格にフィッティングされた前記ボディデータにラベル付けする、請求項１記載のモーションキャプチャラベリングシステム。
【請求項６】
前記ボディラベリングモジュールは更に運動骨格モジュールを含み、
前記運動骨格モジュールは：
骨格を所定の姿勢に前記モーションキャプチャボリュームデータの第１フレームにおいてフィッティングし；
前記骨格が前記モーションキャプチャボリュームデータに前記モーションキャプチャボリュームデータの各後続フレームにおいて最も良くフィッティングする仮説を設定し；
前記モーションキャプチャボリュームデータのポイントを前記各後続フレームにおいて、最良の仮説に従ってラベル付けするように構成される、請求項１記載のモーションキャプチャラベリングシステム。
【請求項７】
前記相対ラベリングモジュールは更に：
前記モーションキャプチャボリュームデータの一つの顔に対応する顔面データを分離するように構成される顔面分離モジュールと；
運動による影響を前記顔面データから除去するように構成される顔画像安定化モジュールと；
前記顔面データにラベル付けするように構成されるラベリングモジュールと；
そしてラベル付けされた前記顔面データをラベル付けされた前記ボディデータと統合する統合モジュールと、を含む、請求項１記載のモーションキャプチャラベリングシステム。
【請求項８】
前記顔面分離モジュールは更に：
ラベル付けされたボディデータを前記モーションキャプチャボリュームデータから除去し；
前記顔に対応する前記モーションキャプチャボリュームデータのコピーを生成し；
前記モーションキャプチャボリュームデータの前記コピーの前記顔を、前記顔の周りの所定サイズの球の外側に位置する前記モーションキャプチャボリュームデータのポイントを除去することにより分離するように構成される、請求項７記載のモーションキャプチャラベリングシステム。
【請求項９】
モーションキャプチャラベリング方法であって：
ラベル付けされていないボディポイント、及びラベル付けされていない顔面ポイントを含むモーション撮影ビートを受信するステップと；
所定のボディモデルテンプレートに有効にフィッティングする前記ラベル付けされていないボディポイントにラベル付けすることにより、ラベル付けされたボディポイントを生成するステップと；
ラベル付けされた前記ボディポイントを、伸縮率解析（stretch analysis）を使用して検証するステップと；
ラベル付けされていないボディポイントに骨格運動解析（kinematic skeleton analysis）を使用してラベル付けすることにより、ラベル付けされた更に別のボディポイントを生成するステップと；
ラベル付けされていない前記顔面ポイントを分離するステップと；
ラベル付けされていない前記顔面ポイントを安定化させるステップと；
ラベル付けされていない前記顔面ポイントにラベル付けするステップと；
ラベル付けされた前記顔面ポイント及びラベル付けされた前記ボディポイントを統合するステップと、
を含むモーションキャプチャラベリング方法。
【請求項１０】
前記伸縮率解析は：
ラベル付けされた前記ボディデータの第２データポイントに対するラベル付けされた前記ボディポイントの第１データポイントの剛性を求め；
前記剛性を所定の許容誤差と比較し；
前記剛性が前記所定の許容誤差を超える場合に前記第１データポイントのラベルを剥がす、請求項９記載のモーションキャプチャラベリング方法。
【請求項１１】
前記骨格運動解析は：
骨格を、ラベル付けされた前記ボディポイントに非隣接フレームにおいてフィッティングし；
前記骨格の位置推定値及び速度推定値を、ラベル付けされていないボディポイントを含み、かつ前記非隣接フレームの間に位置する中間フレームにおいて補間し；
ラベル付けされていない前記ボディデータを各前記中間フレームにおいて、前記位置推定値及び速度推定値に従って調整されている前記骨格にフィッティングし；
各前記中間フレームにおいて前記骨格にフィッティングされたラベル付けされていない前記ボディポイントにラベル付けする、請求項９記載のモーションキャプチャラベリング方法。
【請求項１２】
前記分離するステップは：
ラベル付けされたボディデータを除去し；
顔に一致するビートコピーを生成し；
前記ビートコピーの前記顔を、前記顔の周りの所定サイズの球の外側に位置する前記モーションキャプチャボリュームデータのポイントを除去することにより分離する、請求項９記載のモーションキャプチャラベリング方法。
【請求項１３】
前記安定化させるステップは、
運動による影響を各前記ビートコピーの前記顔から除去する、請求項９記載のモーションキャプチャラベリング方法。
【請求項１４】
コンピュータ読み取り可能な記憶媒体に格納されるモーションキャプチャラベリングコンピュータプログラムであって、プログラムは実行可能命令を含み、実行可能命令によってコンピュータは：
ラベル付けされていないボディポイント及びラベル付けされていない顔面ポイントを含むモーション撮影ビートを受信し；
所定のボディモデルテンプレートに高精度にフィッティングするラベル付けされていない前記ボディポイントにラベル付けすることにより、ラベル付けされたボディポイントを生成し；
ラベル付けされた前記ボディポイントを伸縮率解析を使用して検証し；
ラベル付けされていないボディポイントに骨格運動解析を使用してラベル付けすることにより、ラベル付けされた更に別のボディポイントを生成し；
ラベル付けされていない顔面ポイントを分離し；
ラベル付けされていない前記顔面ポイントを安定化させ；
ラベル付けされていない前記顔面ポイントにラベル付けし；
ラベル付けされた前記顔面ポイント及びラベル付けされた前記ボディポイントを統合する、コンピュータプログラム。
【請求項１５】
モーションキャプチャラベリング装置であって： 
ラベル付けされていないボディポイント及びラベル付けされていない顔面ポイントを含むモーション撮影ビートを受信する手段と；
所定のボディモデルテンプレートに高精度にフィッティングするラベル付けされていない前記ボディポイントにラベル付けすることにより、ラベル付けされたボディポイントを生成する手段と；
ラベル付けされた前記ボディポイントを伸縮率解析を使用して検証する手段と；
ラベル付けされていないボディポイントに骨格運動解析を使用してラベル付けすることにより、ラベル付けされたボディポイントを生成する手段と；
ラベル付けされていない前記顔面ポイントを分離する手段と；
ラベル付けされていない前記顔面ポイントを安定化させる手段と；
ラベル付けされていない前記顔面ポイントにラベル付けする手段と；
ラベル付けされた前記顔面ポイント及びラベル付けされた前記ボディポイントを統合する手段と、
を備える装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００５年８月２６日出願の「モーションキャプチャに使用され、かつラベリングを利用するレンダリングファーム」と題する同時係属中の米国仮特許出願第６０／７１２，０８２号、２００５年８月２６日出願の「相対位置関係を考慮したラベリング」と題する同時係属中の米国仮特許出願第６０／７１１，９６８号、及び２００５年８月２６日出願の「モーションキャプチャにおける身体拘束システム」と題する米国仮特許出願第６０／７１１，８４８号の優先権の利益を主張するものである。上記参照特許出願の開示内容は本明細書において参照することにより本明細書に組み込まれる。
【０００２】
本発明は概して、モーションキャプチャに関し、特にモーションキャプチャによって作成されるデータポイントのラベル付けに関する。
【背景技術】
【０００３】
モーションキャプチャ（ｍｏｔｉｏｎ  ｃａｐｔｕｒｅ：ＭＯＣＡＰ）システムを使用して実際のオブジェクトの動きを撮影し、そしてこの動きを、コンピュータにより表現されるオブジェクトにマッピングする。このようなシステムは、動画及びビデオゲームの作成に使用されることが多く、人のデジタル表示を行なってコンピュータグラフィックス（ＣＧ）アニメーションを作成するためのソースデータとして使用する。通常のシステムでは、アクターが、マーカを種々の位置に取り付けた衣服（例えば、小さな光反射マーカを体及び四肢に取り付けた衣服）を纏い、そして複数のデジタルカメラがアクターの動きを異なるアングルから、マーカを照明しながら記録する。次に、システムは画像を分析してアクターの衣服に取り付けられたマーカの位置及び向きを（例えば、空間座標として）各フレームで求める。これらのマーカの位置をトラッキング（追跡的記録）することにより、システムはこれらのマーカに関する時間軸を考慮した空間表示を行ない、そして動いているアクターのデジタル表示を実現する。次に、この動きをデジタルモデルに適用し、次にこのデジタルモデルで質感を表現し、そしてモデルをレンダリングして、アクター及び／又は演技のＣＧ表示を実現することができる。この技法は、リアルなアニメーションを多くの人気のある映画に収めるために特殊効果会社によって使用されている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、マーカの位置のトラッキングは難しい作業である。非常に多くのマーカが使用され、かつ複数のアクターが群がってモーション撮影空間に現われる場合に種々の困難が重なってしまう。
【課題を解決するための手段】
【０００５】
本発明の実施形態は、モーションキャプチャデータポイントにラベル付けするラベリングシステムを実現する。
【０００６】
一の実施形態では、モーションキャプチャラベリングシステムは：ラベル付けされていないボディデータ及びラベル付けされていない顔面データを含むモーションキャプチャデータを受信し、そしてラベル付けされたボディデータを生成するように構成されるボディラベリングモジュールと；そしてモーションキャプチャボリュームデータを受信し、ラベル付けされた顔面データを生成し、そしてラベル付けされたボディデータ及びラベル付けされた顔面データを含むラベル付けされたモーションキャプチャボリュームデータを生成するように構成される相対ラベリングモジュールと、を備える。
【０００７】
別の実施形態では、モーションキャプチャラベリングシステムは更に：ボディラベリングモジュールと、伸縮チェックモジュールと、運動骨格モジュールと、そして相対ラベリングモジュールと、を備える。
【０００８】
別の実施形態では、モーションキャプチャラベリング方法が提供され、前記方法は：ラベル付けされていないボディポイント、及びラベル付けされていない顔面ポイントを含むモーション撮影ビートを受信するステップと；所定のボディモデルテンプレートに高精度にフィッティングするラベル付けされていないボディポイントにラベル付けすることにより、ラベル付けされたボディポイントを生成するステップと；ラベル付けされたボディポイントを伸縮率解析を使用して検証するステップと；ラベル付けされていないボディポイントに骨格運動解析を使用してラベル付けすることにより、ラベル付けされた更に別のボディポイントを生成するステップと；ラベル付けされていない顔面ポイントを分離するステップと；ラベル付けされていない顔面ポイントを安定化させるステップと；ラベル付けされていない顔面ポイントにラベル付けするステップと；そしてラベル付けされた顔面ポイント及びラベル付けされたボディポイントを統合するステップと、を含む。
【０００９】
本発明の他の特徴及び利点は、この技術分野の当業者であれば、次の詳細な記述、及び添付の図を吟味することにより一層容易に理解できるものと思われる。
【発明を実施するための最良の形態】
【００１０】
アクター（達）に取り付けられたマーカをモーションキャプチャカメラによって撮影した画像が３次元ボリュームを作成するために再構成において使用され、３次元ボリュームの中では、一つの「ポイント」が一つのマーカを表わす。ポイントの動きを３次元ボリュームで撮影するためには、ポイント群を、ショット（モーション撮影「ビート」とも表記される）を構成するフレームシーケンスに特定する必要がある。しかしながら、これらのポイントのほとんどは多くの場合、区別することができない。ポイント群にラベル付けすることにより、識別情報を提供することができ、この識別情報によって各ポイントの動きが求め易くなる。
【００１１】
従って、本発明の実施形態では、モーションキャプチャに使用されるラベリングシステム及び方法について、ボディラベリングモジュール及び相対ラベリングモジュール（例えば、顔にラベル付けする）に関する記述を行ないながら説明する。従って、ラベリングシステムは、顔面データ及び／又はボディ（身体）データに対して適用することができる。ラベリングシステムは、誰がビートにおけるアクターであるか、出力される種々のファイルの呼称をどのようにすべきか、これらのファイルをどこに保存するか、そしてどのプロセスがビートに対して既に実行されているかを指定する。一の実施形態では、モーションキャプチャに使用されるラベリングシステムは情報をモーションキャプチャデータベースから受信する。
【００１２】
この説明を一読した後、この技術分野の当業者には、本発明を種々の別の実施形態及びアプリケーションにおいてどのようにして実施するかが明らかになると思われる。しかしながら、本発明の種々の実施形態についてここに説明するが、これらの実施形態は一例として提示されるのに過ぎず、制限的に解釈されるべきではないことを理解されたい。従って、種々の別の実施形態についてのこの詳細な説明は、添付の請求項に示される本発明の技術範囲、または本発明が包含する範囲を制限するものとして捉えられるべきではない。
【００１３】
図１は、モーションキャプチャに使用されるラベリングシステム１００を示すブロック図である。ラベリングシステム１００は、ボディラベリングモジュール（ｂｏｄｙ  ｌａｂｅｌｉｎｇ  ｍｏｄｕｌｅ）１１０及び相対ラベリングモジュール（ｒｅｌａｔｉｖｅ  ｌａｂｅｌｉｎｇ  ｍｏｄｕｌｅ）１２０を含む。一の実施形態では、ボディラベリングモジュール１１０を使用するかどうかは任意である。別の実施形態では、相対ラベリングモジュール１２０を使用するかどうかは任意である。
【００１４】
図１に示す実施形態では、ラベリングシステム１００はモーションキャプチャボリュームデータを受信し、モーションキャプチャボリュームデータは、ポイント群を３次元空間に含み、これらのポイントは普通、再構成システムが元のモーションキャプチャカメラ画像に基づいて生成する。上に説明したように、ラベリングシステム１００は、ビート（すなわち、モーションキャプチャショット）におけるアクターが誰であるか、出力される種々のファイルにどのように命名すべきか、これらのファイルをどこに保存するか、そしてどのプロセスがビートに対して実行されているかを指定することができる。別の実施形態では、ラベリングシステム１００はモーションキャプチャデータベース（図示せず）にクエリーを出し、そしてモーションキャプチャデータベースを更新する。
【００１５】
ボディラベリングモジュール１１０は、ラベル付けされていないボディデータを含むモーションキャプチャボリュームデータを受信し、そしてラベル付けされたボディデータを含むモーションキャプチャボリュームデータを出力する。ボディラベリングモジュール１１０は、アクターの姿勢のボディモデルテンプレートを維持し、非常に類似する姿勢を廃棄し、そして固有の姿勢のみを維持する。多くの姿勢はフルモーションの範囲（ｆｕｌｌ  ｒａｎｇｅ  ｏｆ  ｍｏｔｉｏｎ：ｆｕｌｌ  ＲＯＭ）、すなわちアクターがモーション撮影ビートの始点で演じる一連の動きに含まれる姿勢に基づいて生成される。ボディラベリングモジュール１１０はまた、拘束空間を定義して正しい関係を複数のボディポイントの間に成立させる。ボディラベリングモジュール１１０は、異なる日のビートから入力される同じアクターの姿勢を、新規かつ固有の姿勢を付加する前に正規化することができる。本明細書において使用するように、「ボディデータ（ｂｏｄｙ  ｄａｔａ）」及び「ボディポイント（ｂｏｄｙ  ｐｏｉｎｔｓ）」という用語は共に、アクターのボディ（身体）に関連付けられる「ポイント集合（ｐｏｉｎｔ  ｃｌｏｕｄｓ）」を指す。更に、「ボディ（ｂｏｄｙ）」データは、ほとんど全ての形態を表わすデータ、または「動いている」または「静止している」かどうかに拘わらず、一つ以上の要素を有するオブジェクトを表わすデータを含む。
【００１６】
相対ラベリングモジュール１２０は、ラベル付けされたボディデータ及びラベル付けされていない顔面データを含むモーションキャプチャボリュームデータをボディラベリングモジュール１１０から受信し、そしてラベル付けされた顔面データを含むモーションキャプチャボリュームデータを出力する。一の実施形態では、相対ラベリングモジュール１２０は、顔または頭に関するデータにラベル付けし、当該データはラベル付けされたボディデータと統合される。別の実施形態では、相対ラベリングモジュール１２０は、ボディの他のパーツにラベル付けして３次元再構成及び３次元ラベリングを行なうように拡張することができる（手の動きの撮影を含む）。
【００１７】
相対ラベリングモジュール１２０を通常、再構成の前に使用して（２００５年８月２６日出願の「モーションキャプチャに使用される再構成レンダリングファーム」と題する米国仮特許出願第６０／７１１，９７１号を参照）、顔面マーカを対象から外す。従って、ラベリングシステムが考察対象とするボディマーカのみに再構成が施される。
【００１８】
図２は、モーションキャプチャに使用されるボディラベリングモジュール１１０を示すブロック図である。ボディラベリングモジュール１１０はボディモデリングモジュール２１０と、伸縮チェックモジュール２２０と、そして運動骨格モジュール２３０と、を含む。
【００１９】
ボディモデリングモジュール２１０は、ラベル付けされていないモーションキャプチャボリュームデータを受信し、そして、ラベル付けされたボディポイント群を含むタグ付けされたフレームを生成する。ラベル付けされていない入力モーションキャプチャボリュームデータは一つのビートを含み、このビートはデータフレーム列を含む。各フレームは、マーカを表わすポイント群を含む３次元ボリュームを表わす。
【００２０】
一の実施形態では、ボディモデリングモジュール２１０は、ビートの各フレームをスキャンし、そしてラベル付けされていないボディデータを所定のボディモデルテンプレートに一致させる。有効な一致が検出されると、関連フレームにタグ付けし、そしてタグ付けされたフレームのボディポイント群にラベル付けする。これ以外に有効な一致を示すパーツを構成しない個々のポイントは余分である、または誤りであると見なされるので使用することができない。ボディモデリングモジュール２１０の出力は、ビートに含まれるタグ付けされたフレーム及びタグ付けされていないフレームを含む。タグ付けされたフレームは多くの場合、フレーム列に散在し、そして「キーフレーム（ｋｅｙｆｒａｍｅｓ）」と表記される。複数のキーフレームの間のタグ付けされていないフレームはギャップ（ｇａｐｓ）を構成する。
【００２１】
伸縮チェックモジュール２２０はキーフレーム及びタグ付けされていないフレームをボディモデリングモジュール２１０から受信する。伸縮チェックモジュール２２０は、アクターのボディモデルを使用して、ボディデータに関する有効な伸縮（及び剛性）値を求め、そして限度を超えて伸縮しているマーカを全て消去する。伸縮チェックモジュールは、キーフレームのボディデータのみを分析して、移動マーカ（すなわちポイント）が正しく動いていることを検証する。複数のキーフレームの間のギャップフレームはこの段階では分析されない。伸縮チェックモジュール２２０は更に、伸縮率解析（ｓｔｒｅｔｃｈ  ａｎａｌｙｓｉｓ）で不合格になる（すなわち、間違って動いている）ラベル付けされた全てのポイントのラベルを剥がす。伸縮チェックモジュール２２０は、ビートを構成するキーフレーム及びギャップグレームを出力し、この場合、キーフレームは検証された／ラベル付けされたボディポイント、及びラベルを剥がすことができるポイントを有する。
【００２２】
伸縮チェックモジュール２２０は更に、マーカが時間と共にどのようにして伸縮するかについての「時間に即した」（すなわち、「ほぼリアルタイムの」）分析結果、及び情報を供給する。ほぼ時間に即した機能によって、ボリューム内の他のマーカがプロップ及びセットシーンレイアウトに使用される場合のトラッキングが容易になる。このようなマーカはほとんど伸縮することがないので、伸縮率解析を使用して配置することができる。次に、これらのマーカは、マーカにラベル付けしないことにより消去する、または無視することができる。一の実施形態では、ラベル付けされたポイントのファイルは取り出すことができ、そして伸縮チェックを当該ファイルを使用して実行することができる。
【００２３】
運動骨格モジュール２３０は、キーフレーム及びギャップフレームを含むビートを構成するフレーム群を伸縮チェックモジュール２２０から受信する。運動骨格モジュール２３０は、モデル化された骨格、速度予測値、正しい関節角度に関する情報、及び拘束空間を含む種々のパラメータ（以下に説明する）をアクターのボディモデルにおいて使用して、ビートフレームのボディポイント群にラベル付けする。一の実施形態では、運動骨格モジュール２３０は、キーフレーム群の間の骨格の動きを補間して、中間ギャップフレームにおける骨格の位置及び速度を推定し易くする。次に、ボディポイント群に、骨格に対するこれらのポイントの空間的関係及び運動学的関係に従ってラベル付けすることができる。
【００２４】
運動骨格モジュール２３０は、「不要なものが取り除かれ（cleaned）」、かつ検証されたボディポイント群を有するキーフレーム、及び新規にラベル付けされた（運動骨格モジュール２３０で）が検証されていない（伸縮チェックモジュール２２０で）ボディポイント群を有する中間ギャップフレームを含むラベル付けされたボディボリュームデータを出力する。これらの出力フレームは伸縮チェックモジュール２２０に戻される。伸縮チェックモジュール２２０では、フレームの全てを分析し、そしてボディポイント群を検証する、またはボディポイント群のラベルを剥がす。次に、結果として得られ、かつこの時点で検証され、かつラベル付けされているボディポイント群を有するフレームを運動骨格モジュール２３０に渡す。
【００２５】
運動骨格モジュール２３０がビートに関して再度処理を実行する場合、運動骨格モジュール２３０を最初に実行した後に伸縮チェックモジュール２２０が特定のフレームに対して行なったラベル剥がしの対象となったマーカ群に、これらのマーカが同じフレームの中で前にラベル付けされた方法と同じ方法でラベル付けすることは許されない。
【００２６】
各ビートが終了し、そして全体を通じて正しくラベル付けされていると検証された後、結果をボディモデルに取り込んで当該モデルを更に堅固なものにする。従って、一の実施形態では、運動骨格モジュール２３０が出力し、「不要なものが取り除かれ」、かつラベル付けされたボディボリュームデータは、ボディモデリングモジュール２１０に戻される。新規の姿勢は、「不要なものが取り除かれ」、かつラベル付けされたボディポイント群を有するこれらのフレームから生成することができ、そして当該姿勢をボディモデリングモジュール２１０で使用することにより、利用可能なボディモデルテンプレートを更新し、そして当該テンプレートに付加することができる。アクターのボディモデルは全ての姿勢を付加することによって更に堅固になる。ハンドトラッキングは、新規の各ビートが終了し、分析され、そして新規の姿勢が、当該アクターのボディモデルテンプレートに付加されるので行なう機会が少なくなる。
【００２７】
一の特定の実施形態では、マスターボディモデルは、アクターのボディモデルを調整し、そしてマスターボディモデルを正規化することにより構築される。次に、ほぼ完全に複製された姿勢を選択することができる。別の特定の実施形態では、被写界深度分析が、特定のボディに不要となったマーカ（ポイント）を消去し易くするために行なわれる。ボディラベリングモジュール１１０でボディラベリングを行なう前に、３次元再構成（図示せず）に対して、カメラに近接する小さい２次元マーカ画像を無視する指示が出される。例えば、４〜５ｍｍの顔面マーカは１９ｍｍのボディマーカよりもずっと物理サイズが小さいのではあるが、モーションキャプチャ画像において、小さいマーカ画像が、近接する顔面マーカであるか、それとも遠く離れたボディマーカであるかを判断するのは難しい。ビートにおいてマーカ画像を投影するカメラ光線は、小さい円形サイズの短距離カメラ光線を禁止し（すなわち、カメラに近接する顔面マーカを廃棄する）、かつ小さい円形サイズの長距離カメラ光線を許可する（すなわち、カメラから遠く離れたボディマーカを保持する）ルールに従って使用される。不所望のマーカを再構成を行なっている間に消去することにより、所望のマーカにラベリングシステム１００でラベル付けする作業を大幅に簡易化することができる。
【００２８】
図３は、モーションキャプチャに使用することができるボディモデリングモジュール２１０を示すブロック図である。ボディモデリングモジュール２１０は、モデルフィッティングモジュール３１０と、モデル構築モジュール３２０と、マーカ閾値設定モジュール３３０と、そして初期モデルモジュール３４０と、を含む。
【００２９】
図３に示す実施形態では、モデルフィッティングモジュール３１０は、ラベル付けされていないモーションキャプチャボリュームデータを含む入力ビート、及び入力ビートに撮影されているシーン中のアクターに関連付けられるボディモデルテンプレートを受信する。モデルフィッティングモジュール３１０は、ラベル付けされたボディポイントを含むタグ付けフレームを出力する。
【００３０】
一の実施形態では、ラベル付けされていないポイント集合として表わされるボディデータが最初に、３つのマーカに手動でラベル付けすることにより特定される。３人のアクターを見分けるために、例えば３つのマーカを固有のパターンで配置することができる。３つのマーカを頭（顔用）または腰（ボディ用）に取り付けることができる。別の構成として、これらのマーカが手動でラベル付けされない場合、アクティブマーカシステムを使用して、安定化のために使用される座標系を生成することができる。一旦、座標系が局所的に動いている（ラベル付けされることになる情報の残りの部分に対して）ことが判明すると、シーン中の各オブジェクトが相対的にラベル付けされることになる場合に、ファイル全体のバージョンが保存される。アクティブマーカは、ＬＥＤ，ＲＦタグ、超音波チャープデバイス（ｓｏｎｉｃ  ｃｈｉｒｐ  ｄｅｖｉｃｅｓ）、磁気センサ、及び慣性誘導用センサを含む。更に、固有の特徴を有し、かつ暗闇で光る形状マーカを含むパッシブマーカを使用することができる。
【００３１】
別の実施形態では、一人のアクターを表わすポイント群はボリューム内の残りのポイント群から分離される。一つのコピーが、ラベル付けされていないモーションキャプチャボリュームデータから作成される。当該コピー内では、一つの球がアクターのポイント群の周りに形成され、そして球の外側の全てのポイントが削除される。次に、ラベル付けを進め、当該コピーに対して行なうが、この場合、注目するアクターは１人だけである。
【００３２】
一旦、一人のアクターがシーン中に特定されると、当該アクターのボディモデルテンプレートをモデルフィッティングモジュール３１０が受信する。一の実施形態では、ボディモデルテンプレートは、骨を移動させるマーカと、ボディが異なる姿勢になっている（例えば、異なる関節角度になっている）ときの当該骨に対するマーカのずれ、距離、及び伸縮との間の正しい関係を記述する拘束空間を含む。モデルフィッティングモジュール３１０はボリュームデータの各フレームを通じて実行され、そしてアクターのボディポイント群をテンプレートに、最良の一致が得られるまでフィッティングさせる。別の実施形態では、アクターの骨格をボディモデルテンプレートに取り込み、そしてボディポイント群に最良の一致が得られるまで適合させる。最良の一致がボディポイント群に関して特定のフレームにおいて得られる場合、当該フレームにタグ付けし、そしてボディポイント群にラベル付けする。最良の一致が得られない場合、モデルフィッティングモジュール３１０は次のフレームに進む。
【００３３】
モデル構築モジュール３２０はボディモデルテンプレート、及びボディポイント群がラベル付けされた状態のモーションキャプチャボリュームデータのフレームを受信し、そしてボディモデルテンプレートを出力する。ボディモデルテンプレートは、「不要なものが取り除かれ」、かつラベル付けされたボディポイント群及び骨格だけでなく、他の情報も含む。一人のアクターに関するラベル付けされたボディデータのフレームが、ボディモデルテンプレートによってこれまでには表現されていない新規の、かつ特異な姿勢に関して自動的に分析され、そして判明する全ての情報が付加される。一の実施形態では、モデル構築モジュール３２０は、新規の姿勢をボディモデルテンプレートに加える前に、同じアクターの姿勢を異なる日に撮影されるビートに基づいて正規化する機能を備える。別の実施形態では、モデル構築モジュール３２０は、非常に類似性の高い姿勢を廃棄して、特異な姿勢のみを保持する。
【００３４】
マーカ閾値モジュール３３０は、ラベル付けされていないモーションキャプチャボリュームデータを受信し、そして複数のボディモデルテンプレートを出力するが、これらのボディモデルテンプレートは各ボディマーカの剛性閾値（図４参照）を取り入れ、かつこれらのボディモデルテンプレートを使用することにより、モデルフィッティングモジュール３１０に関する上に議論した拘束空間を表わすことができる。
【００３５】
初期モデルモジュール３４０はラベル付けされていないモーションキャプチャボリュームデータを受信し、そしてラベル付けされ、かつ「不要なものが取り除かれた」ボディポイント群を含むフレームを生成する。一の実施形態では、各アクターは各ビートの始点において、「フルレンジモーション（ｆｕｌｌ  ｒａｎｇｅ  ｏｆ  ｍｏｔｉｏｎ：ｆｕｌｌ  ＲＯＭ）」と呼ばれる或る範囲の動き、及び姿勢を採る。フルＲＯＭは、例えばＴ字姿勢（「Ｔｐｏｓｅ」）のような既知の姿勢を含む。初期モデルモジュール３４０を使用して、フルＲＯＭに含まれる或る範囲の姿勢を撮影したボディモデルテンプレートを作成する。別の実施形態では、初期モデルモジュール３４０によって、マスタースケルトン（ｍａｓｔｅｒ  ｓｋｅｌｅｔｏｎ）を手動で大雑把な自由度（ｒｏｕｇｈ  ｄｅｇｒｅｅｓ  ｏｆ  ｆｒｅｅｄｏｍ：ＤＯＦｓ）で作成する操作が容易になる。フルＲＯＭのフレーム群を選択し、そしてマスタースケルトンを、これらのフレームの中でアクターのボディポイント群にフィッティングし、そしてサイズを合わせると、マスタースケルトンが当該アクターの「アクターの骨格」になる。アクターの骨格の定義及びＤＯＦｓ（大雑把な自由度）は、アクターのボディモデルテンプレートに関して保持される。アクターの骨格には、更に別のＤＯＦｓ（大雑把な自由度）を「学習によって」、当該アクターの他のボディモデルテンプレートに基づいて付与することができる。
【００３６】
初期モデルモジュール３４０を使用してフルＲＯＭ（フルレンジモーション）に手動でラベル付けし、そしてフルＲＯＭから全ての「不要なものを取り除いて」（全ての不要なポイントを取り除く）、初期ボディモデルテンプレート集合を作成するために適するラベル付けされたボディポイント群のフレームを生成することができる。マーカ閾値モジュール３３０を使用してボディモデルテンプレートを、手動でＤＯＦｓ（大雑把な自由度）でフィッティングを行なう初期モデルモジュール３４０で選択されなかったフルＲＯＭ（フルレンジモーション）の残余フレームを使用して作成することができる。
【００３７】
図４は、マーカ閾値を決定する方法４００を示すフローチャートであり、マーカ閾値は、ここに説明する種々の実施形態と連動させて使用することができる。一の実施形態では、図４に記述される方法は、ラベル付けされていないモーションキャプチャボリュームデータを受信するマーカ閾値モジュール３３０において使用される（図３参照）。ラベル付けされていないこのモーションキャプチャボリュームデータは、一人以上のアクターを表わすボディポイント群を含む３次元ボリュームフレーム列を含む。
【００３８】
一つのボディをフレーム列の中からステップ４１０で選択する。選択は、特異なマーカパターン及びアクティブマーカを使用することにより容易になる。ボディのボディポイント群の互いに対する剛性を経時的に（すなわち、或る範囲のフレームに渡って）求める。所定の許容度に従った「剛性を示す」ボディポイント群をステップ４２０で見付け出す。高剛性のボディポイント群を「剛性グループ群」にステップ４３０で分類する。一の実施形態では、剛性グループ群は前腕及び上腕のような身体の四肢の各部分に対応する。各剛性グループにおける各ボディポイントに関する剛性閾値をステップ４４０で設定する。これにより、他のフレーム及び姿勢において分析されるボディポイント群に関する伸縮限界が設定され、この閾値を用いて、ボディポイントが特定の剛性グループに属するかどうかを判断する。
【００３９】
フレームを複数の姿勢（ｐｏｓｅｓ）にステップ４５０で分類する。例えば、初期フルＲＯＭ（フルレンジモーション）のフレーム群を分析すると、非常に広い範囲の姿勢を発見することができる。種々のフレームを、特異な姿勢を表わすものとして分類することができる。ボディポイント閾値リストをボディに関してステップ４６０で作成する。ボディポイント閾値リストを、ボディに関するボディモデルテンプレートの一部分に取り入れ、そして当該リストがボディモデルテンプレートの一部分となる。一の実施形態では、ボディポイント閾値リストをファイルに保存し、このファイルをボディモデルテンプレートに関連付ける。別の実施形態では、ボディポイントの剛性閾値が初期値であり、これらの初期値は後の時点で調整することができる。ビートにおける最後のボディが分析されたかどうかについての判断をステップ４７０で行なう。ビートが分析されていない場合、フレーム列の次のボディをステップ４８０で選択し、そして本方法をステップ４２０に進める。ビートがステップ４７０で分析されている場合、本方法を終了させる。
【００４０】
図５は、伸縮チェックを行なう方法５００を示すフローチャートであり、この伸縮チェックは、ここに説明する種々の実施形態と連動させて使用することができる。一の実施形態では、図５に記述される方法５００は伸縮チェックモジュール２２０（図２参照）において使用される。
【００４１】
ラベル付けされたボディポイント群によって表わされる一つのボディを入力ビートにおいてステップ５１０で選択する。ボディポイント群の互いに対する剛性を経時的に（すなわち、或る範囲のフレームに亘って）求める。例えば、アクターの上腕の２つのボディポイントは互いに対して非常に高い剛性を示すが、これらのボディポイントは両方とも、アクターの前腕のボディポイントよりも剛性が低い。しかしながら、上腕のような共通の身体要素のどの部位の２つのボディポイントも通常、互いに対してはるかに高い剛性を示すということはない。従って、剛性を、或る範囲の値を使用して、または一の実施形態では、所定の許容度によって表現することができる。従って、ラベル付けされたボディポイント群の剛性を所定の許容度に従って求める。別の構成として、ラベル付けされたボディポイント群の剛性を、既に決定しているボディポイント閾値のリストに基づいて作成される伸縮テンプレートと比較することにより求める。十分高い剛性を持つと判断されるボディポイント群をステップ５２０で見付け出す。
【００４２】
ポイントの剛性許容度に収まることが判明しているラベル付けされたボディポイント群は、「検証済み」ボディポイント群と見なされる。これとは異なり、ポイントの剛性許容度に収まらないことが判明しているラベル付けされたボディポイント群のラベルをステップ５３０で剥がし、これによって当該ボディポイントを特定のボディから切り離す。
【００４３】
ビートにおける最後のボディが分析されたかどうかについての判断をステップ５４０で行なう。最後のボディが分析されていない場合、当該ビートの次のボディをステップ５５０で選択し、そして本方法をステップ５２０に進める。最後のボディがステップ５４０で分析されている場合、本方法を終了させる。
【００４４】
図６は、一の実施形態による骨格運動解析を行なう方法６００を示すフローチャートである。図６に記述される方法６００は運動骨格モジュール２３０（図２参照）において使用することができる。運動骨格モジュール２３０はフレーム列を受信し、このフレーム列の幾つかのフレームまたは全てのフレームが、検証済みのラベル付けされたボディポイント群を含む。
【００４５】
一旦、ビートにおける一つのボディをステップ６２０で選択すると、第１キーフレームペアをステップ６２０で選択する。選択したキーフレーム群がフレーム列の隣接フレームである場合、次のキーフレームペアを選択し、そして選択したペアの間に、選択したボディに関連付けられ、かつラベル付けされていないボディポイント群を含む中間ギャップフレームが挟まれるようになるまで同様の操作を繰り返す。
【００４６】
一の実施形態では、骨格（例えば、アクターの骨格）、有効な関節角度、及び拘束空間をボディモデルテンプレートからステップ６３０で取得する。中間ギャップフレームにおける骨格の位置及び速度を、キーフレームペアを使用してステップ６４０で補間する。各中間ギャップフレームでは、選択したボディのボディポイント群を補間済の骨格に、位置、速度、有効な関節角度、及び拘束空間を使用してステップ６５０でフィッティングする。このキーフレームペアが最後のキーフレームペアであるかどうかについての判断をステップ６６０で行なう。このキーフレームペアが最後のキーフレームペアではない場合、次のキーフレームペアをステップ６７０で選択し、そして本方法をステップ６４０に進める。このキーフレームペアが最後のキーフレームペアである場合、ボディがビートにおける最後のボディであるかどうかについての判断をステップ６８０で行なう。ボディが最後のボディではない場合、ビートにおける次のボディを選択し、そして本方法をステップ６２０に進める。ボディが最後のボディである場合、本方法を終了させる。
【００４７】
図７は、別の実施形態による骨格運動解析を行なう方法７００を示すフローチャートである。図７に記述される方法７００は運動骨格モジュール２３０（図２参照）において使用することができる。運動骨格モジュール２３０はフレーム列を受信し、このフレーム列の幾つかのフレームまたは全てのフレームが、検証済みのラベル付けされたボディポイント群を含む。
【００４８】
一旦、ビートにおける一つのボディをステップ７１０で選択すると、ビートの第１フレームをステップ７２０で選択する。一つの骨格を、第１フレームのラベル付けされたボディポイント群にステップ７３０でフィッティングさせる。一の実施形態では、一つのビートの第１フレーム群は、例えばＴ字姿勢（「Ｔｐｏｓｅ」）のような公知の姿勢で演技しているアクターを表わすボディポイント群を含む。この場合、骨格を、ビートの第１フレームの公知の「Ｔｐｏｓｅ」を構成するラベル付けされたボディポイント群にフィッティングさせる。骨格がどのようにすれば各後続フレームのボディポイント群に最も良くフィッティングするかについての仮説をステップ７４０で設定する。仮説が設定された各骨格は、逆運動学を使用して検証することができ、そして最小二乗誤差を計算して仮説に「スコアを与える」。別の実施形態では、キーフレームのような、既にラベル付けされたボディポイント群を含むフレーム群を使用して仮説の誤差を小さくする。キーフレームのラベル付けされたボディポイント群は、第１フレームのアクターの姿勢「Ｔｐｏｓｅ」に非常に似た公知の姿勢情報となる。ビートの最後のボディが分析されたかどうかについての判断をステップ７５０で行なう。最後のボディが分析されていない場合、次のボディをステップ７６０で選択し、そして本方法をステップ７２０に進める。最後のボディが分析されていた場合、最も高いスコアが与えられた仮説を使用して、ビートのボディポイント群にステップ７７０でラベル付けする。
【００４９】
一つの骨格をラベル付けに使用することができない場合（この状況は、マーカデータの有効性が非常に低いために発生し得る）、該当するフレームのラベル付けをスキップする。これは、ポイント群に間違ったラベル付けが行なわれることによって、誤差が後続のフレームを通して増大するからである。
【００５０】
図８は、相対ラベリングモジュール１２０を示すブロック図であり、このモジュールは、ここに説明する種々の実施形態と連動させて使用することができる。相対ラベリングモジュール１２０は顔面分離モジュール８１０と、顔画像安定化モジュール８２０と、ラベリングモジュール８３０と、そして統合モジュール８４０と、を含む。相対ラベリングモジュール１２０は、ラベル付けされたボディポイント群及びラベル付けされていない顔面ポイント群のフレーム群を含む一つのビートを受信する。上に議論したように、「ボディ」ポイント群は、人物またはオブジェクトを表わす全ての３次元ポイントデータを含むことを理解されたい。「顔面」ポイント群も同様に、人物またはオブジェクトを表わす３次元ポイントデータを含む。更に、相対ラベリングは、ラベル付けされていないボディポイント群に適用することができる。ボディデータ及び顔面データの区別は、ボディデータ及び顔面データの各々に使用されるマーカの差異を利用して行なうことができる。一つの例では、ボディマーカは相対的に大きいのに対して、顔面マーカは、かすかな動きを撮影するために相対的に小さくなっている。
【００５１】
顔面分離モジュール８１０は、ラベル付けされたボディポイント群及びラベル付けされていない顔面ポイント群を受信し、そしてボディ及び他のアクターの頭から分離されたアクターの頭を表わすラベル付けされていない顔面ポイント群を出力する。各アクターがビートに含まれる場合、顔面分離モジュール８１０は、アクターのラベル付けされていないボディポイント群を、ボディにつながる「頭」から分離する。次に、顔面分離モジュール８１０は、頭に関連付けされたラベル付けされていない顔面ポイント群を含む各頭を分離する。一の実施形態では、分離された頭、及びラベル付けされていない顔面ポイント群を、頭に関連するアクターに対応するファイルに格納する。
【００５２】
顔画像安定化モジュール８２０は、ボディ及び他のアクターの頭から分離されたアクターの頭を表わすラベル付けされていない顔面ポイント群を受信し、そして空間で安定化させたラベル付けされていない顔面ポイント群を出力する。従って、顔画像安定化モジュール８２０は、アクターの頭を表わす顔面ポイントのポイント集合を保持し、これによって後続のラベル付けを簡易化することができる。一の実施形態においては、分離された一つの頭を含む保存ファイル群の各ファイルでは、ファイルのポイント集合を、頭に関する既知の相対情報を利用して安定化させる。既知の相対情報は、例えばシーンにおけるアクターの頭の総合並進移動速度を含む。従って、顔面ポイント群は、並進移動速度をポイント集合から切り離すと安定化する。この操作は、並進移動速度をポイント集合の運動状態の速度から減算することにより行なうことができる。一の実施形態では、ポイント集合は、ラベル付けされていないボディポイント群を含むことができる。安定化の後、動いているアクターは、動かないトルソーとなって現われる。
【００５３】
分離され、かつ安定化した顔面ポイント群を顔面ラベリングモジュール８３０が受信し、この顔面ラベリングモジュールがラベル付けされた顔面ポイント群を出力する。一の実施形態では、ラベリングモジュール８３０は他の自動ラベル付与ソフトウェアを使用する。
【００５４】
統合モジュール８４０は、ビートから顔面分離モジュール８１０で切り離されたラベル付けされた顔面ポイント群、及びラベル付けされたボディポイント群を受信する。統合モジュール８４０は、ラベル付けされた顔面ポイント群をラベル付けされたボディポイント群と統合して、ラベル付けされたモーションキャプチャボリュームデータ（出力ビート）を生成する。一の実施形態では、統合をアクター１人に対して１回の割合で行なって、個別の出力ビートを各アクターに関して生成する。
【００５５】
図９は、顔面分離方法９００を示すフローチャートであり、顔面分離方法９００はここに説明する種々の実施形態と連動させて使用することができる。一の実施形態では、図９に示す方法９００は相対ラベリングモジュール１２０（図８参照）において使用される。
【００５６】
ラベル付けされたボディポイント群及びラベル付けされていない顔面ポイント群を含む一つのビートをステップ９１０で受信する。ラベル付けされたボディポイント群をビートからステップ９２０で消去して、ビートのラベル付けされていない頭部ポイント群を残す。次に、ビートのコピーをビートの各頭に関してステップ９３０で作成する。一つのコピーを各アクターの頭に関連付ける。
【００５７】
一の実施形態では、頭の識別を容易にするために、「ハット」を各アクターが被る。各ハットは、マーカの固有パターンのような識別用の標識を含む（「ハットマーカ」）。別の実施形態では、シーン中の複数の頭は、頭に取り付けられる３つのマーカに手作業でラベル付けすることにより識別される。別の構成として、アクティブマーカを使用して各頭または各ハットを識別する。
【００５８】
ビートの各コピーでは、関連するアクターの頭をステップ９４０で分離する。一の実施形態では、分離は、約２０インチの球を、ラベル付けされたハットマーカの周りに生成することにより行なわれる。球の外側に位置する全てのデータは、アクターの頭の一部分ではないと推定されるので、取り込まない。別の実施形態では、ボディを分離するために、ボディの腰またはトルソーの周りの約７フィートの球の外側に位置する全てのボディポイント群を取り込まない。ここに説明する分離によって、ファイルサイズを大幅に小さくし、そして自動ラベル付与ソフトウェアの速度を上げることができる。
【００５９】
図１０は、モーションキャプチャラベリングシステム１００の方法１０００を示すフローチャートであり、この方法１０００はここに説明する種々の実施形態と連動させて使用することができる。
【００６０】
ラベル付けされていないモーションキャプチャボリュームデータを含む一つの入力ビートをステップ１０１０で受信する。所定のボディモデルテンプレートに高精度にフィッティングするボディポイント群にステップ１０２０でラベル付けする。一の実施形態では、初期ボディモデルテンプレートを、Ｔｐｏｓｅを含む、アクターの姿勢のフルモーションの範囲に基づいてビートの始点で生成する。
【００６１】
ラベル付けされたボディポイント群を、伸縮率解析（stretch analysis）を使用してステップ１０３０で検証する。ボディポイント群の剛性を互いに決定し、これらのボディポイントを剛性グループに分類する。ステップ１０４０では、更に別のボディポイント群に対するラベル付けを、骨格運動解析を使用して行なう。一の実施形態では、骨格をラベル付けされたボディポイント群にフィッティングし、そして補間を行なって骨格位置、及びラベル付けされたボディポイント群を含むフレームの間の速度を推定する。ラベル付けされていないボディポイント群を補間済みの骨格にフィッティングし、そしてこれらのボディポイントにラベル付けする。別の実施形態では、一つの骨格を、初期Ｔｐｏｓｅを表わすボディポイント群にフィッティングする。骨格を、ビートの残りのフレームに関して推定し、そしてラベル付けされていないボディポイント群が、推定済みの骨格に最も良くフィッティングするような仮説を設定する。ボディポイント群に各フレームにおいて、最高のスコアを持つ仮説に従ってラベル付けする。
【００６２】
ラベル付けされたボディポイント群をここでも同じように、伸縮率解析を使用してステップ１０３０で検証する。更に多くのボディポイントに対して、骨格運動解析を使用してラベル付けする。一の実施形態では、ステップ１０３０での伸縮率解析を使用する検証、及びステップ１０４０での骨格運動解析を使用する更なるラベル付けを、「不要な」ボディポイントが十分に「取り除かれる」まで継続する。
【００６３】
顔面ポイント群をステップ１０５０で分離する。一の実施形態では、顔の周りの所定の球の内側の顔面ポイント群を保持するが、顔面ポイント群の周りの球の外側のポイント群は保持しない。ステップ１０６０において、顔面ポイント群を空間内で、並進移動速度を各顔面ポイントの運動状態の速度から減算することにより安定化させる。顔面ポイント群にステップ１０７０でラベル付けする。ラベル付けされた顔面ポイント群及びラベル付けされたボディポイント群をステップ１０８０で統合する。
【００６４】
種々の実施形態は主としてハードウェアとして、例えば特定用途向け集積回路（「ＡＳＩＣ」）、またはフィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）のようなコンポーネントを使用して実現することもできる。ここに説明する機能を実行することができるハードウェアステートマシンを実装することも、関連分野の当業者には容易に想到できるであろう。種々の実施形態は、ハードウェア及びソフトウェアの両方の組み合わせを使用して実現することもできる。
【００６５】
更に、この技術分野の当業者であれば、上に説明した図、及びここに開示する実施形態に関連付けながら説明した種々の例示としての論理ブロック、モジュール、コネクタ、データパス、回路、及び方法ステップは多くの場合、電子ハードウェア、コンピュータソフトウェア、または電子ハードウェア及びコンピュータソフトウェアの両方の組み合わせとして実現することができることが理解できるであろう。ハードウェアとソフトウェアがこのように入れ替え可能であることを明示するために、種々の例示としてのコンポーネント、ブロック、モジュール、回路、及びステップを、これらの要素の機能に関して概要を上に説明してきた。このような機能がハードウェアまたはソフトウェアとして実装されるかどうかは、システム全体に課される適用上及び設計上の特定の制限によって変わる。当業者であれば、説明した機能を各特定用途に対して種々の方法で実装することができるが、このようにして実装が決定される機能が、本発明の技術範囲に包含されなくなるものと解釈されるべきではない。更に、複数の機能を一つのモジュール、ブロック、回路、またはステップにグループ化しているのは、説明を分かり易くするためである。特定の機能またはステップは一つのモジュール、ブロック、または回路から別のモジュール、ブロック、または回路に、本発明から逸脱しない範囲で移動させることができる。
【００６６】
更に、ここに開示する実施形態に関連付けながら説明した種々の例示としての論理ブロック、モジュール、コネクタ、データパス、回路、及び方法ステップは、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、ＡＳＩＣ，ＦＰＧＡ，または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、またはここに説明する機能を実行するように構成されるこれらの要素のいずれかの組み合わせを用いて実現する、または実行することができる。汎用プロセッサはマイクロプロセッサとすることができるが、別の構成として、プロセッサはいずれかのプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンとすることができる。プロセッサは、コンピューティングデバイスの組み合わせ、例えばＤＳＰ及びマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと連動する一つ以上のマイクロプロセッサ、または他のいずれかのこのような構成として実装することもできる。
【００６７】
更に、ここに開示する実施形態に関連付けながら説明した方法のステップは、ハードウェアで直接実行する、プロセッサが実行するソフトウェアモジュールで実行する、またはこれらの２つの形態の組み合わせで実行することができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、またはネットワーク記憶媒体を含む他のいずれかの形態の記憶媒体に格納することができる。例えば、記憶媒体はプロセッサに接続することができるので、このようなプロセッサは情報を記憶媒体から読み出すことができ、そして情報を記憶媒体に書き込むことができる。別の構成として、記憶媒体はプロセッサに一体化することができる。プロセッサ及び記憶媒体はＡＳＩＣに形成することもできる。
【００６８】
開示する実施形態に関する説明を上に行なうことにより、この技術分野の当業者であれば必ず本発明を実施する、または使用することができる。これらの実施形態に対する種々の変更は、この技術分野の当業者であれば容易に想到することができ、そしてここに説明する一般原理は他の実施形態に、本発明の技術思想または技術範囲から逸脱しない限り適用することができる。従って、ここに示す記述及び図は、本発明の現時点での好適な実施形態を表わしているので、本発明が広義に意図する主題の代表例であることを理解されたい。更に、本発明の技術範囲は、この技術分野の当業者であれば容易に想到し得る他の実施形態を完全に包含し、従って本発明の技術範囲は、添付の請求項によってのみ規定されることを理解されたい。
【図面の簡単な説明】
【００６９】
本発明の構造及び動作の両方に関する本発明の詳細は、添付の図を分析することにより部分的に説明することができ、これらの図では、同様の参照番号は同様の構成要素を指す。
【図１】本明細書で説明する種々の実施形態に関連して使用することができる例示としてのラベリングシステムを示す機能ブロック図である。
【図２】本明細書で説明する種々の実施形態に関連して使用することができる例示としてのボディラベリングモジュールを示す機能ブロック図である。
【図３】本明細書で説明する種々の実施形態に関連して使用することができる例示としてのボディモデリングモジュールを示す機能ブロック図である。
【図４】本明細書で説明する種々の実施形態に関連して使用することができるマーカ閾値を決定する例示としての方法を示すフローチャートである。
【図５】本明細書で説明する種々の実施形態に関連して使用することができる伸縮チェックを行なう例示としての方法を示すフローチャートである。
【図６】本明細書で説明する種々の実施形態に関連して使用することができる骨格運動解析を行なう例示としての方法を示すフローチャートである。
【図７】本明細書で説明する種々の実施形態に関連して使用することができる骨格運動解析を行なう例示としての別の方法を示すフローチャートである。
【図８】本明細書で説明する種々の実施形態に関連して使用することができる例示としての相対ラベリングモジュールを示す機能ブロック図である。
【図９】本明細書で説明する種々の実施形態に関連して使用することができる例示としての顔パーツ分離方法を示すフローチャートである。
【図１０】本明細書で説明する種々の実施形態に関連して使用することができるラベリングシステムにおける例示としての方法を示すフローチャートである。
【図１】
2009506441.tif 000003
【図２】
2009506441.tif 000004
【図３】
2009506441.tif 000005
【図４】
2009506441.tif 000006
【図５】
2009506441.tif 000007
【図６】
2009506441.tif 000008
【図７】
2009506441.tif 000009
【図８】
2009506441.tif 000010
【図９】
2009506441.tif 000011
【図１０】
2009506441.tif 000012