(57)【要約】少なくとも一つのモーションキャプチャ対象に取り付けられるマーカの動きを撮影する方法は：複数のコンフィグレーションを作成して、各コンフィグレーションが、パーティション分割に使用するパラメータを含むようにするステップと；モーションキャプチャビートを複数のビートパーティションに、複数のコンフィグレーションを使用してパーティション分割するステップと；これらのビートパーティションを再構成して、各ビートパーティションが各コンフィグレーション及び該当するモーションキャプチャカメラ校正情報を使用して再構成されて、マーカを表わすポイントデータが生成されるようにするステップと；そしてポイントデータを統合して少なくとも一つのマスターポイントファイルを形成するステップと、を含む。【選択図】図１
2009506440.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのモーションキャプチャ対象に取り付けられるマーカの動きを撮影する方法であって：
複数のコンフィグレーションを作成して、各コンフィグレーションが、パーティション分割に使用するパラメータを含むようにするステップと；
モーションキャプチャビートを複数のビートパーティションに、前記複数のコンフィグレーションを使用してパーティション分割するステップと；
前記複数のビートパーティションを再構成するステップであって、各ビートパーティションが前記各コンフィグレーション及び該当するモーションキャプチャカメラ校正情報を使用して再構成されて、マーカを表わすポイントデータが生成されるようにするステップと；
前記ポイントデータを統合して少なくとも一つのマスターポイントファイルを形成するステップと、
を含む方法。
【請求項２】
少なくとも一つのマスターポイントファイルは、前記少なくとも一つのモーションキャプチャ対象に取り付けられるマーカを表わす少なくとも一つの３次元データポイント集合を含む、請求項１記載の方法。
【請求項３】
パーティション分割に使用する前記パラメータは、少なくとも一つの所定のパーティションサイズに従って決定される、請求項１記載の方法。
【請求項４】
前記所定のパーティションサイズは一つの期間によって特徴付けられる、請求項３記載の方法。
【請求項５】
前記所定のパーティションサイズは、モーションキャプチャビートフレームの量によって特徴付けられる、請求項３記載の方法。
【請求項６】
前記各コンフィグレーションは更に、前記少なくとも一つのモーションキャプチャ対象に取り付けられるマーカの特徴に関連する少なくとも一つのパラメータを含み、前記特徴はマーカの許容サイズ、及びマーカの許容移動速度を含む、請求項１記載の方法。
【請求項７】
前記各コンフィグレーションは更に、モーションキャプチャ顔オブジェクトに対応する再構成処理パラメータを含む、請求項１記載の方法。
【請求項８】
前記各コンフィグレーションは更に、モーションキャプチャボディオブジェクトに対応する再構成処理パラメータを含む、請求項１記載の方法。
【請求項９】
前記各コンフィグレーションは更に、モーションキャプチャ手オブジェクトに対応する再構成処理パラメータを含む、請求項１記載の方法。
【請求項１０】
少なくとも一つのモーションキャプチャ対象に取り付けられるマーカの動きを撮影するシステムであって：
複数のビートファイルにパーティション分割するように構成される解析モジュールと；
複数のコンフィグレーションを作成するように構成されるコンフィグレーションモジュールであって、各コンフィグレーションが前記複数のビートファイルの少なくとも一つのビートファイルに関する位置情報を含む、コンフィグレーションモジュールと；
複数のビートファイルを再構成するように構成される再構成プロセスマネージャモジュールであって、各ビートファイルが、前記各コンフィグレーション及び該当するモーションキャプチャカメラ校正情報を使用して再構成されて、マーカを表わすポイントデータが生成される、再構成プロセスマネージャモジュールと；
前記ポイントデータを統合してマスターポイントファイルを形成するように構成される統合モジュールと、
を備えるシステム。
【請求項１１】
更に、前記モーションキャプチャビート及び前記複数のビートファイルを保存し、そして管理するように構成されるモーションキャプチャデータベースモジュールを備える、請求項１０記載のシステム。
【請求項１２】
更に、モーションキャプチャデータベースインターフェースモジュールを備え、モーションキャプチャデータベースインターフェースモジュールは：
前記モーションキャプチャビートを再構成処理に利用することができることを示すステータスを受信し；
再構成処理が完了したことを示すステータスを送信するように構成される、
請求項１１記載のシステム。
【請求項１３】
前記少なくとも一つのマスターポイントファイルは、前記少なくとも一つのモーションキャプチャ対象に取り付けられるマーカを表わす少なくとも一つの３次元データポイント集合を含む、請求項１０記載のシステム。
【請求項１４】
パーティション分割に使用する前記パラメータは、少なくとも一つの所定のパーティションサイズに従って決定される、請求項１０載のシステム。
【請求項１５】
前記所定のパーティションサイズは一つの期間によって特徴付けられる、請求項１４載のシステム。
【請求項１６】
前記所定のパーティションサイズは、モーションキャプチャビートフレームの量によって特徴付けられる、請求項１４載のシステム。
【請求項１７】
前記再構成プロセスマネージャモジュールは、前記複数のビートファイルを複数の再構成プロセスを使用して再構成する、請求項１０載のシステム。
【請求項１８】
前記複数の再構成プロセスの各再構成プロセスには、各ビートファイルのロケーションが通知される、請求項１７載のシステム。
【請求項１９】
各ビートファイルの前記ロケーションはディレクトリパスを含む、請求項１８載のシステム。
【請求項２０】
前記複数の再構成プロセスの各再構成プロセスには、前記モーションキャプチャカメラ校正情報が供給される、請求項１７載のシステム。
【請求項２１】
前記複数の再構成プロセスの少なくとも一つの再構成プロセスは、専用プロセッサによって実行される、請求項１７載のシステム。
【請求項２２】
前記各コンフィグレーションは更に、前記少なくとも一つのモーションキャプチャ対象に取り付けられるマーカの特徴に関連する少なくとも一つのパラメータを含み、前記特徴はマーカのサイズ、及びマーカの移動速度を含む、請求項１０載のシステム。
【請求項２３】
コンピュータ読み取り可能な記憶媒体に格納されて、少なくとも一つのモーションキャプチャ対象に取り付けられるマーカの動きを撮影するコンピュータプログラムであって、プログラムは実行可能命令を含み、実行可能命令によってコンピュータは：
複数のコンフィグレーションを作成して、各コンフィグレーションが、パーティション分割に使用するパラメータを含むようにし；
モーションキャプチャビートを複数のビートパーティションに、前記複数のコンフィグレーションを使用してパーティション分割し；
これらの前記ビートパーティションを再構成して、各ビートパーティションが、前記各コンフィグレーション及び該当するモーションキャプチャカメラ校正情報を使用して再構成されて、マーカを表わすポイントデータが生成されるようにし；
前記ポイントデータを統合して少なくとも一つのマスターポイントファイルを形成する、
コンピュータプログラム。
【請求項２４】
少なくとも一つのモーションキャプチャ対象に取り付けられるマーカの動きを撮影する装置であって、前記装置は：
複数のコンフィグレーションを作成して、各コンフィグレーションが、パーティション分割に使用するパラメータを含むようにする手段と；
モーションキャプチャビートを複数のビートパーティションに、前記複数のコンフィグレーションを使用してパーティション分割する手段と；
前記複数のビートパーティションを再構成する手段であって、各ビートパーティションが、前記各コンフィグレーション及び該当するモーションキャプチャカメラ校正情報を使用して再構成されて、マーカを表わすポイントデータが生成されるようにする手段と；
前記ポイントデータを統合して少なくとも一つのマスターポイントファイルを形成する手段と、
を備える装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００５年８月２６日出願の「モーションキャプチャに使用される再構成レンダリングファーム」と題する同時係属中の米国仮特許出願第６０／７１１，９７１号、及び２００５年８月２６日出願の「モーションキャプチャに使用されるデータベース」と題する同時係属中の米国仮特許出願第６０／７１１，９２２号の優先権の利益を主張するものである。上記参照特許出願の開示内容は本明細書において参照することにより本明細書に組み込まれる。
【０００２】
本発明は、３次元グラフィックス及びアニメーションに関するものであり、特に大規模モーションキャプチャデータファイルを処理する効率を高めることができるモーションキャプチャシステムに関するものである。
【背景技術】
【０００３】
モーションキャプチャ（ｍｏｔｉｏｎ  ｃａｐｔｕｒｅ：ＭＯＣＡＰ）システムを使用して実際のオブジェクトの動きを撮影し、そしてこの動きをコンピュータにより表現されるオブジェクトにマッピングする。このようなシステムは、コンピュータグラフィックス（ＣＧ）アニメーションを作成するためのソースデータとして使用する人のデジタル表現を生成して、動画及びビデオゲームの作成に使用されることが良くある。通常のシステムでは、アクターが、マーカを種々の位置に取り付けた（例えば、小さな光反射マーカを体及び四肢に取り付けた）衣服を纏い、そして複数のデジタルカメラがアクターの動きを異なるアングルから、マーカを照明しながら記録する。次に、システムは画像を分析してアクターの衣服に取り付けられたマーカの位置（例えば、空間座標として）及び向きを各フレームで求める。これらのマーカの位置をトラッキングすることにより、システムはこれらのマーカに関する時間軸を考慮した空間表示を行ない、そして動いているアクターのデジタル表現を実現する。次に、この動きをデジタルモデルに適用し、次にこのデジタルモデルで質感を表現し、そしてモデルをレンダリングして、アクター及び／又は演技のＣＧ表示を実現することができる。この技法は、リアルなアニメーションを多くの人気のある映画に収めるために特殊効果会社によって使用されている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、複数のＭＯＣＡＰ（モーションキャプチャ）カメラからの３次元データを再構成するシステム及び方法を提供する。
【課題を解決するための手段】
【０００５】
一の実施形態では、少なくとも一つのモーションキャプチャ対象に取り付けられるマーカの動きを撮影する方法が提供され、本方法は：
複数のコンフィグレーションを作成して、各コンフィグレーションが、パーティション分割に使用するパラメータを含むようにするステップと；モーションキャプチャビートを複数のビートパーティションに、複数のコンフィグレーションを使用してパーティション分割するステップと；これらのビートパーティションを再構成して、各ビートパーティションが各コンフィグレーション及び該当するモーションキャプチャカメラ校正情報を使用して再構成されて、マーカを表わすポイントデータが生成されるようにするステップと；そしてポイントデータを統合して少なくとも一つのマスターポイントファイルを形成するステップと、を含む。
【０００６】
別の実施形態では、少なくとも一つのモーションキャプチャ対象に取り付けられるマーカの動きを撮影するシステムが提供され、本システムは：モーションキャプチャビートを複数のビートファイルにパーティション分割するように構成される解析モジュールと；複数のコンフィグレーションを作成して、各コンフィグレーションが、複数のビートファイルの少なくとも一つのビートファイルに関する位置情報を含むようになるように構成されるコンフィグレーションモジュールと；複数のビートファイルを再構成して、各ビートファイルが、各コンフィグレーション及び該当するモーションキャプチャカメラ校正情報を使用して再構成されて、マーカを表わすポイントデータが生成されるようになるように構成される再構成プロセスマネージャモジュールと；そしてポイントデータを統合してマスターポイントファイルを形成するように構成される統合モジュールと、を備える。
【０００７】
本発明の他の特徴及び利点は、この技術分野の当業者であれば、次の詳細な記述、及び添付の図を吟味することにより一層容易に理解できるものと思われる。
【発明を実施するための最良の形態】
【０００８】
総じて、ＭＯＣＡＰ（モーションキャプチャ）カメラにより撮影されるビデオはＭＯＣＡＰ処理システムに渡され、この処理システムはビデオを使用して、カメラの視野内のターゲット（またはターゲット群）に取り付けられるマーカの位置及び動きを求める。処理システムは位置情報を使用して、ターゲット（群）を表わす３次元（３Ｄ）モデル（すなわち、「ポイント集合」）を構築し、そして更新する。３Ｄモデルの構築は多くの場合、「再構成（ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ）」と表記される。
【０００９】
従って、ＭＯＣＡＰ（モーションキャプチャ）再構成（ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ）は、複数のＭＯＣＡＰカメラからの画像データを統合して生データポイント集合を仮想３次元空間に形成するプロセスである。このプロセスでは普通、ＭＯＣＡＰ（モーションキャプチャ）データを撮影して複数のファイルとして保存し、これらのファイルは所定の「コンフィグレーション（Ｃｏｎｆｉｇｕｒａｔｉｏｎ）」と関連して使用される。本文では、コンフィグレーションは普通、特定タイプの再構成処理に関して調整される一連の処理ステップを含む。従って、コンフィグレーションは多くの場合、ＭＯＣＡＰ（モーションキャプチャ）マーカタイプ、及びデータによって表わされるボディのパーツ（例えば、「顔」、「身体」、または「手」）のようなデータの特徴に従って分類される。
【００１０】
再構成プロセスは通常、入力として一つの「ビート（ｂｅａｔ）」、一つのコンフィグレーション、及びＭＯＣＡＰ（モーションキャプチャ）カメラ校正情報を受信する。「ビート」は、ＭＯＣＡＰ（モーションキャプチャ）ショットによって撮影されるデジタル画像データを含む。ＭＯＣＡＰカメラ校正情報には、例えばカメラ位置、及びショットアングルが記述されている。ＭＯＣＡＰカメラ校正情報は、ビートを撮影するために使用されるＭＯＣＡＰカメラに対応する複数の校正ファイルで表現することができる。
【００１１】
大きな問題が、或るアプリケーションにおいて、ビート（すなわち、「ビートファイル」）を含むデジタル画像ファイルが大きすぎて当該ファイルを従来の再構成処理ではハンドリングすることができない場合に生じる。例えば、従来の再構成プロセスに関して管理することができる入力ボリュームは約１，０００フレームによって構成され、幾つかのＭＯＣＡＰ（モーションキャプチャ）ビートファイルは１３，０００以上のフレームを含むことができる。このような大きなファイルの読み込みに失敗すると多くの場合、システムが停止状態になり、復旧するには工数を増やす必要があり、かつ他のリソースが必要になる場合がある。
【００１２】
ここに開示する或る実施形態では、再構成レンダリングファーム（ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｒｅｎｄｅｒ  ｆａｒｍ：ＲＲＦ）が提供され、管理不能で、かつ一つのビートを含む大きなモーションキャプチャファイル（「ＭＯＣＡＰビートファイル」）を自動的にパーティション分割して、複数のＭＯＣＡＰ再構成プロセスによって個々に管理することができる複数のフレームサブセットとするものである。
【００１３】
一の実施形態においては、ＲＲＦ（再構成レンダリングファーム）では、ＭＯＣＡＰデータベースを使用して、どのビートを再構成する必要があり、かつどのタイプの再構成パラメータ（例えば、「顔」、「身体」、「手」）を適用すべきかを決定する。ＲＲＦ（再構成レンダリングファーム）では、ビートをトラッキングする役割を多くのコンピュータに分担させ、各コンピュータが少数のフレームを処理し、そしてビートが結果的により高速に再構成されるようにすることができる。再構成のために分割されたビートは、再構成が完了すると一つの切れ目のないファイルとして統合して元に戻される。
【００１４】
別の実施形態においては、ＲＲＦ（再構成レンダリングファーム）では、ＭＯＣＡＰデータベースを使用して、再構成する必要のあるデータをどこで取得し、そしてファイルが終了したときにファイルをどこに保存するかを決定する。ＲＲＦ（再構成レンダリングファーム）では更に、データベースをファイルのステータスに関して更新する。ファイルのステータスとしては、「ｒｅａｄｙ（処理を行なう状態になっている）」、「ｆｉｎｉｓｈｅｄ（処理が終了した）」、「ａｂｏｒｔｅｄ（ファイル処理が中断した）」、「ｆａｉｌｅｄ（処理が失敗した）」、「ｉｎ  ｐｒｏｇｒｅｓｓ（処理が進行中である）」、「ｓｕｃｃｅｓｓｆｕｌ（処理が成功した）」、その他を示すステータスを挙げることができる。
【００１５】
更に別の実施形態では、ＲＲＦ（再構成レンダリングファーム）によってＭＯＣＡＰ（モーションキャプチャ）データベースを構築することができ、ＭＯＣＡＰデータベースでは、複数のＭＯＣＡＰ（モーションキャプチャ）ビートファイルにマーキングして再構成を行ない、そしてこれらのファイルをほぼ完全に解析して複数のパーティションに格納する。一つのビートを分割して複数のパーティションとする処理は、「ｒｅａｄｙ」ステータスがＭＯＣＡＰ（モーションキャプチャ）データベースモジュールによって発行されると自動的に始まる。関連するコンフィグレーション（Ｃｏｎｆｉｇｕｒａｔｉｏｎ）及び校正情報を含む各パーティションは、再構成プロセス「ファーム」の中の一つの再構成プロセスに供給される。再構成プロセスが完了すると、ＲＲＦ（再構成レンダリングファーム）を利用して、結果として得られる処理データファイルを統合して連続ビート全体を復活させる。
【００１６】
本記述を一読した後、この技術分野の当業者には、本発明をどのようにして種々の別の実施形態及び別のアプリケーションにおいて実施すればよいかが明らかになるであろう。しかしながら、本発明の種々の実施形態についてここに説明するが、これらの実施形態は単なる例示として示されるのであり、制限的に解釈されるべきではないことを理解されたい。従って、種々の別の実施形態についてのこの詳細な記述は、添付の請求項に示される本発明の技術範囲または権利範囲を制限するものとして捉えられるべきではない。
【００１７】
図１は、ＭＯＣＡＰ（モーションキャプチャ）システムの構成要素を示す機能ブロック図であり、ＭＯＣＡＰシステムは、撮影空間１００の周りに配置されるデジタルＭＯＣＡＰカメラ１０４と、ＭＯＣＡＰ撮影モジュール１０８と、ＭＯＣＡＰデータベースモジュール１１０と、そして再構成レンダリングファーム（「ＲＲＦ」）１３０と、を含む。デジタルＭＯＣＡＰカメラ１０４は撮影空間１００の周りに種々の撮影アングルで設置される。撮影空間１００は、アクターが、例えば演技するエリアであり、アクターの動きは、取付けマーカの動きを上に議論したように記録することにより撮影される。更に、非動（無生物）オブジェクトを撮影空間１００に配置することができ、そして非動（無生物）オブジェクトには同様にしてマーカを取り付けることができる。ＭＯＣＡＰカメラ１０４の位置を正確に３次元物理空間で測定して、撮影マーカ位置に関する次の計算結果を、コンピュータにより表現されるオブジェクトに３次元仮想空間において高精度にマッピングすることができるようにする。
【００１８】
図を分かり易くするために、５台のＭＯＣＡＰカメラ１０４Ａ〜Ｅだけを示している。しかしながら、通常のＭＯＣＡＰ（モーションキャプチャ）セッションでは、２００台以上のカメラが使用される場合が多く、撮影空間１００に対して種々の方位角及び仰角に配置される。この構成により、マーカ位置を次の再構成処理において確実に正確に分解し易くなる。更に、カメラの台数を非常に多くすることによっても確実に、マーカが常にＭＯＣＡＰカメラ１０４Ａ〜Ｃの少なくとも一部分の視野に入るので、例えばマーカが或るビューアングルでアクターのボディに邪魔されて、例えばビート中に見えなくなることによる悪影響を大幅に低減する。注目の全てのマーカは、そのような状態でも他のＭＯＣＡＰカメラ１０４Ｄ〜Ｅによって撮影される必要がある。更に、異なるタイプのマーカを使用すると、特殊仕様ＭＯＣＡＰカメラにこれらの特定のマーカのみの画像を撮影させる必要がある。この構成は更に、ＭＯＣＡＰカメラ１０４Ａ〜Ｅの合計数に影響する。
【００１９】
ＭＯＣＡＰ撮影モジュール１０８は画像データをＭＯＣＡＰカメラ１０４Ａ〜Ｅから受信し、そして画像処理及び管理機能を実行してＭＯＣＡＰ画像ファイルを生成する。ＭＯＣＡＰデータベースモジュール１１０は、生成されたＭＯＣＡＰ画像ファイルを保存し、そしてＭＯＣＡＰ画像ファイルへのアクセスを可能にする。一の実施形態では、ＭＯＣＡＰ画像ファイルは、画像ファイルが獲得されるＭＯＣＡＰ「ビート」（すなわち、ＭＯＣＡＰセッション）に関連して参照され、かつ例えば、画像ファイルを生成するために使用される画像データを撮影したＭＯＣＡＰカメラ１０４Ａに関連して参照される。
【００２０】
ＭＯＣＡＰデータベースモジュール１１０は、少なくともビートファイル１１４Ａ〜Ｅ、ポイントファイル１３４、及び校正ファイル１２４Ａ〜Ｅを保存し、そして管理する。ＭＯＣＡＰデータベースモジュール１１０は更に、モーションキャプチャデータを受信し、そして保存し、更にステータスインジケータを更新するが、この動作については以下に更に詳細に説明する。ＭＯＣＡＰデータベースモジュール１１０は更に、「顔」、「ボディ」、及び「手」処理に関するビート再構成パラメータのような他のタイプのデータへのアクセスを管理する。
【００２１】
図１に示す実施形態では、ＭＯＣＡＰデータベースモジュール１１０において生成され、そしてＭＯＣＡＰデータベースモジュール１１０に保存されるビートファイル１１４Ａ〜Ｅは、該当するＭＯＣＡＰカメラ１０４Ａ〜Ｅによってそれぞれ、単一ビート中に撮影された画像データを表わす。各ビートファイル１１４Ａ〜Ｅに含まれるデータフレーム群は、ビートのほぼ全体に亘り、そしてこれらのデータフレームを時間軸で一致させる。すなわち、各ビートファイル１１４Ａ〜Ｅは複数の画像データフレームを含むことができ、この場合、各ビートファイル１１４Ａ〜Ｅの該当するフレーム群は、ほぼ同じ時点で撮影される。
【００２２】
ＲＲＦモジュール１３０は一つのビートの３次元再構成を、複数のＭＯＣＡＰカメラ１０４Ａ〜ＥからのＭＯＣＡＰ画像データを統合して、データポイント群として表現される生マーカデータを含む単一の３次元シーンとすることにより行なう。「データポイント群（ｄａｔａ  ｐｏｉｎｔｓ）」という用語は多くの場合、「ポイント集合（ｐｏｉｎｔ  ｃｌｏｕｄ）」と表記される。ＲＲＦモジュール１３０は通常、入力として１セットのビートファイル１１４Ａ〜Ｅ、コンフィグレーション１２０、及び各ビートパーティションに対応する校正ファイル１２４Ａ〜Ｅを受信するが、これについては以下に詳細に説明する。
【００２３】
コンフィグレーション１２０は、ビートファイル１１４Ａ〜Ｅに関して適用されることになる一連の処理ステップを含む。コンフィグレーション１２０は、例えばマーカ表示サイズに関する許容範囲を含むことができる。校正ファイル１２４Ａ〜Ｅは、ＭＯＣＡＰカメラ１０４Ａ〜Ｅの「現実の」物理空間における、通常は撮影空間１００に対する配置に関する情報を含む。例えば、ＭＯＣＡＰカメラ１０４Ａは固有の場所に配置する必要があるので、当該カメラの固有位置に関する情報を含む該当する校正ファイル１２４Ａを保存する必要がある。非常に多くの台数のＭＯＣＡＰカメラ１０４Ａ〜Ｅが使用されている場合、これに対応する形で非常に多くの関連する校正ファイル１２４Ａ〜Ｅを設ける必要もあることを理解されたい。
【００２４】
上に説明したように、ＲＲＦモジュール１３０はビートファイル１１４Ａ〜Ｅ、コンフィグレーション１２０、及び校正ファイル１２４Ａ〜Ｅの中の校正情報を使用して、複数の３次元生データポイント集合を仮想空間に生成し、各データポイント集合は、撮影空間１００におけるオブジェクトまたはアクターをほぼ表現する。一つ以上のデータポイント集合は通常、一つのポイントファイル１３４の中で表現され、このポイントファイルは、ＲＲＦモジュール１３０によって生成される。ポイントファイル１３４はＭＯＣＡＰデータベースモジュール１１０に格納することができ、かつ当該モジュールによって管理することができる。
【００２５】
図２は、例示としてのＲＲＦモジュール１３０を表わす詳細ブロック図であり、このＲＲＦモジュールは、ここに説明する種々の実施形態と連動させて使用することができる。図２に示す実施形態では、ＲＲＦモジュール１３０はＭＯＣＡＰデータベースインターフェースモジュール２００と、解析モジュール２０４と、コンフィグレーションモジュール２０８と、再構成マネージャモジュール２１２と、複数の再構成モジュール２３０Ａ〜Ｄと、そして統合モジュール２１６と、を含む。上に議論したように、ＭＯＣＡＰデータベースモジュール１１０は、一つのビート、すなわちビートファイル１１４Ａ〜Ｅを再構成処理に利用することができる時点を判断し、そして「処理を行なう状態になっている（ｒｅａｄｙ）」ステータスをＭＯＣＡＰデータベースインターフェースモジュール２００に送信する。
【００２６】
ＭＯＣＡＰデータベースインターフェースモジュール２００は、ＭＯＣＡＰデータベースモジュール１１０に格納されるデータに関する入力機能及び出力機能を実行する。ＭＯＣＡＰデータベースインターフェースモジュール２００は、ステータス情報をＭＯＣＡＰデータベースモジュール１１０から受信し、そして複数のステータスをＭＯＣＡＰデータベースモジュール１１０に送信する。これらのステータスは、ビート再構成処理が終了したことを示す「ｆｉｎｉｓｈｅｄ（処理が終了した）」ステータスだけでなく、「ａｂｏｒｔｅｄ（処理が中断した）」、「ｆａｉｌｅｄ（処理が失敗した）」、「ｉｎ  ｐｒｏｇｒｅｓｓ（処理が進行中である）」、及び「ｓｕｃｃｅｓｓｕｆｕｌ（処理が成功した）」のような処理状態を示すステータスを含む。他のステータスインジケータを使用することもできることを理解されたい。ＭＯＣＡＰデータベースインターフェースモジュール２００が、単一のＭＯＣＡＰデータベースモジュール１１０との接続を維持するように示されているが、ＭＯＣＡＰデータベースインターフェースモジュール２００は、他のＭＯＣＡＰデータベースを含む複数の他のデータベース（図示せず）との接続を維持することができる。
【００２７】
図示の実施形態では、解析モジュール２０４は、ビートファイル群（例えば、ビートファイル１１４Ａ〜Ｅ）を、再構成モジュール２３０Ａ〜Ｄにおける処理に効率的で、サイズの小さいユニット群にパーティション分割する。効率的なパーティションサイズは、リアルタイムで計算することができる。別の構成として、効率的なパーティションサイズは予め決定しておくことができる。
【００２８】
解析モジュール２０４はビートファイル１１４Ａ〜Ｅを、現在のビートの合計期間を細分割することによりパーティション分割する。各細分割部は、再構成モジュール２３０の動作を限定するために有効な一つの期間または多数のフレームを含む一つのパーティションを構成することができる。例えば、一つのビートを１９５秒の期間とし、そして一つの有効パーティションを約１５秒とする場合、１３個の有効パーティションが得られる。別の構成として、パーティション分割は、フレームの個数に従って行なうことができる。すなわち、一つのビートが約１３，０００個のフレームを含むことができ、かつ１，０００個のフレームサイズが有効なパーティションサイズであると判断された場合、１３個のこのような有効パーティションが同じようにして得られる。いずれの事例においても、一連のフレームインデックスを生成し、そして使用することによりビートファイル１１４Ａ〜Ｅの中にインデックスを付ける。すなわち、パーティション分割が時間軸で行なわれる場合には、時間細分割部に対応するフレームインデックスを決定することができる。
【００２９】
一つの有効パーティションサイズは、ビートを構成するフレームの個数に従って、または利用可能な再構成モジュール２３０Ａ〜Ｄの個数に従って、或いは両方の個数に従って決定することもできる。例えば、一つのビートが１９５秒の期間であり、かつ２０個の再構成モジュールを利用することができる場合、当該ビートは２０個のパーティションにパーティション分割することができ、各パーティションは約９．７５秒という短い時間長となる。別の構成として、パーティション分割がフレームの個数に従って行なわれる場合、同じ２０個の再構成モジュールに配分される１３，０００個のフレームを含む一つのビートは２０個のパーティションにパーティション分割することができ、各パーティションはパーティション当たり６５０個のフレームのパーティションサイズを有し、このサイズは、例えば約１，０００個のフレームという最大値よりもずっと小さい。従って、更に多くの再構成モジュールを利用することができる場合、ビート再構成作業負荷を更に広範囲に、小さいパーティションを使用して分散することができ、総合システム性能を更に高めることができる。
【００３０】
「ｒｅａｄｙ（処理を行なう状態になっている）」ステータスがＭＯＣＡＰデータベースインターフェースモジュール２００で受信されると、解析モジュール２０４は自動的にパーティションを、現時点で利用可能な一連のビートファイル１１４Ａ〜Ｅに関して決定することができる。別の構成として、ｒｅａｄｙステータスがＭＯＣＡＰデータベースインターフェースモジュール２００で受信されると、解析モジュール２０４は、再構成のためにマーキングされるビートファイル１１４Ａ〜Ｅを自動的に探索し、そして選択することができる。一の実施形態では、解析モジュール２０４は、再構成に利用することができるビートファイル１１４をフェッチし、パーティション分割をビートファイル１１４に対して行ない、ビートファイル１１４Ａ〜Ｅをパーティションに従って細分割し、そして結果として得られるパーティション分割ビートファイル１１４Ａ〜ＥをＭＯＣＡＰデータベースモジュール１１０に保存する。或る実施形態では、解析モジュール２０４を手動で呼び出して、一連のビートファイル１１４Ａ〜Ｅを処理させる。
【００３１】
一の実施形態では、コンフィグレーションモジュール２０８は、解析モジュール２０４で求めた各パーティションに対応するコンフィグレーション１２０を作成する。コンフィグレーション１２０は単一のパーティションに対応し、そして当該パーティションを特定するインデックス情報を指定する。コンフィグレーション１２０は普通、再構成モジュール２３０Ａ〜Ｄでの再構成処理の詳細を制御するために使用される複数のパラメータを更に含む。コンフィグレーションの他の例は、画像データに撮影されるマーカの最小サイズ及び最大サイズを示すパラメータを含む。極めて小さい、または極めて大きいマーカは、非常に遠く離れている、または非常に近接していると解釈されるので、再構成処理には役に立たない（すなわち、設定限界を超えている）として無視することができる。同様に、或る範囲のマーカモーション速度はコンフィグレーションパラメータによって指定することができ、これらのコンフィグレーションパラメータを使用して再構成処理に指示して、極めて敏速に、または極めて緩慢に動いているオブジェクトまたはアクターを間違った形態で表わす恐れのあるマーカデータを無視する。
【００３２】
一の実施形態では、コンフィグレーションモジュール２０８は、上に議論したコンフィグレーションパラメータデータのいくつか、または全てをＭＯＣＡＰデータベースモジュール１１０から取得する。別の実施形態では、コンフィグレーションモジュール２０８は、パラメータデータのいくつか、または全てを自律的に保存し、そして管理する。上に説明したように、コンフィグレーション２０８は一つのファイルを含むことができる。別の構成として、コンフィグレーション２０８は、ネットワークリンクを経由して、またはプロセス間通信手段により再構成マネージャモジュール２１２に送信されるように構成されるメッセージを含むことができる。
【００３３】
再構成マネージャモジュール２１２は、ビートファイル１１４Ａ〜Ｅの各パーティションに関するコンフィグレーション１２０を受信する。一の実施形態では、マネージャモジュール２１２は再構成モジュール２３０Ａ〜Ｄを、各コンフィグレーション１２０に関して、即ち解析モジュール２０４で求めた各パーティションに関して起動させる。各再構成モジュール２３０Ａ〜Ｄを起動すると、マネージャモジュール２１２は更に入力として各要素に：（１）処理に利用することができるＭＯＣＡＰデータベースモジュール１１０におけるビートファイル１１４Ａ〜Ｅのロケーション；（２）ビートファイルフレームインデックス（すなわち、パーティション分割）情報を含むコンフィグレーション１２０；及び（３）一連の関連校正ファイル１２４Ａ〜Ｅを供給することができる。ビートファイルロケーション情報は、ＭＯＣＡＰデータベースモジュール１１０へのディレクトリパスとして表現することができる、またはデータベースアクセス命令の中にＳＱＬのような言語を使用して指定することができる。更に、ビートファイルロケーション情報は再構成モジュール２３０Ａ〜Ｄの各ビートに、該当する再構成モジュールが起動されると付加される。４つの再構成モジュール２３０Ａ〜Ｄを図２に示して図が分かり易いようにしているが、これよりも少ない再構成要素が必要となるようにすることができることを理解されたい。極めて多くの再構成要素が、非常に多くのＭＯＣＡＰカメラ１０４Ａ〜Ｅに対応するビートファイルを処理するために必要となるようにすることもできる。この状況は、ビート期間が非常に長く、ビート期間に多数のフレームが含まれる場合に特に当てはまる。
【００３４】
一の実施形態では、再構成モジュール２３０Ａ〜Ｄはビートファイル１１４Ａ〜ＥをＭＯＣＡＰデータベースモジュール１１０から直接取得する。別の実施形態では、再構成モジュール２３０Ａ〜Ｄはビートファイル１１４Ａ〜ＥをＭＯＣＡＰデータベースインターフェースモジュール２００を経由して取得する。更に別の実施形態では、再構成モジュール２３０Ａ〜Ｄは関連するビートファイル１１４Ａ〜Ｅの指定パーティションのみにアクセスする。例えば、再構成モジュール２３０Ｃは、ＭＯＣＡＰデータベースモジュール１１０にコンフィグレーション１２０に含まれるインデックス情報を使用してアクセスすることにより、ビートデータを当該データに割り当てられるパーティションに対応する形で受信する。次に、ＭＯＣＡＰデータベースモジュール１１０はパーティション分割データをビートファイル１１４Ａ〜Ｅの該当するパーティションから抽出する。別の構成として、ビートデータには同様にしてＭＯＣＡＰデータベースモジュール１１０でインデックス情報及びＭＯＣＡＰデータベースインターフェースモジュール２００を使用してアクセスすることができる。
【００３５】
一旦、再構成モジュール２３０Ａ〜Ｄがパーティション分割ビートデータを取得すると、当該モジュールは再構成処理を、コンフィグレーション１２０及び校正ファイル１２４Ａ〜Ｅに含まれるパラメータ及び情報に従って実行する。再構成プロセスが完了すると、各再構成モジュール２３０Ａ〜Ｄは、ビートの該当するパーティションに撮影された動きを示す一つ以上のオブジェクト及び／又はアクターを表わすポイント集合データを生成することができる。通常、このようなポイント集合データはポイントファイル群として再構成モジュール２３０Ａ〜Ｄによって出力される。
【００３６】
図２に示す実施形態では、統合モジュール２１６は、複数のビートパーティションに関連付けられる複数の出力データポイント集合を受信し、そしてこれらのデータポイント集合を統合して、ビート全体をほぼ表わす包括的データ集合を形成する。統合モジュール２１６は、再構成モジュール２３０Ａ〜Ｄの複数の出力（例えば、ポイントファイルに格納されるデータ）を受信し、そしてこれらの出力を統合してマスターポイントファイル６３０（図６に示す）を形成する。しかしながら、統合モジュール２１６は、ビートの全長が１０００個のフレームの分割フレーム長よりも短い場合には必要ではなくなることに留意されたい。
【００３７】
図３は、ＭＯＣＡＰデータベースインターフェースモジュール２００を表わす機能ブロック図であり、ＭＯＣＡＰデータベースインターフェースモジュール２００はここに説明する種々の実施形態と連動する形で使用される。ＭＯＣＡＰデータベースインターフェースモジュール２００は、ＭＯＣＡＰデータベースモジュール１１０に機能的に接続され、そしてステータス受信モジュール３０２と、ステータス送信モジュール３０４と、ファイル受信モジュール３０６と、そしてファイル送信モジュール３０８と、を含む。
【００３８】
図示の実施形態では、ステータス受信モジュール３０２はステータス情報をＭＯＣＡＰデータベースモジュール１１０から受信する。上に議論したように、受信するステータス情報は「ｒｅａｄｙ（処理を行なう状態になっている）」ステータスを含み、「ｒｅａｄｙ」ステータスは、例えばビートファイル１１４Ａ〜ＥをＭＯＣＡＰデータベースモジュール１１０で再構成処理のために利用することができることを示す。ステータス送信モジュール３０４は、ステータス情報をＭＯＣＡＰデータベースモジュール１１０に送信する機能を実現する。一の実施形態では、ステータス送信モジュール３０４は「ｆｉｎｉｓｈｅｄ（処理が終了した）」ステータス、すなわち分散配置された再構成モジュール２３０Ａ〜Ｄから再構成マネージャモジュール２１２を経由して送信される、または統合モジュール２１６から送信される情報の結果を送信して、ビート再構成処理が完了していることを通知する。他のステータスとして、「ａｂｏｒｔｅｄ（処理が中断した）」ステータス、「ｆａｉｌｅｄ（処理が失敗した）」ステータス、「ｉｎ  ｐｒｏｇｒｅｓｓ（処理が進行中である）」ステータス、「ｓｕｃｃｅｓｓｆｕｌ（処理が成功した）」ステータスを挙げることができ、他のステータスによって、例えば処理状態またはシステムの健康状態を通知する。他のタイプのステータスをＭＯＣＡＰデータベースインターフェースモジュール２００で受信し、そして送信することができることを理解されたい。
【００３９】
ファイル受信モジュール３０６によって、再構成モジュール２３０Ａ〜Ｄはビートファイル１１４Ａ〜ＥをＭＯＣＡＰデータベースモジュール１１０から受信することができる。同様に、ファイル送信モジュール３０８によって、ポイントファイル１３４，６３４Ａ〜Ｄ、及び／又はマスターポイントファイル６３０を含む所定のファイル群をＭＯＣＡＰデータベースモジュール１１０に送信することができる。いずれの場合においても、これらのファイルは、ＭＯＣＡＰデータベースモジュール１１０にＭＯＣＡＰデータベースインターフェースモジュール２００を経由して送信される、またはＭＯＣＡＰデータベースモジュール１１０からＭＯＣＡＰデータベースインターフェースモジュール２００を経由して受信される。一の実施形態では、ＭＯＣＡＰデータベースインターフェースモジュール２００における送信及び受信機能は、ＳＱＬプログラミング言語で記述されるようなデータベースプロトコルに従って提供される。別の実施形態では、「フラットファイル（ｆｌａｔ  ｆｉｌｅ）」データベース管理方式を使用することができ、このデータベース管理方式に従って、ディレクトリパス及びファイルパスを使用してファイルに直接アクセスする。しかしながら、他の多くのファイルアクセス方式によっても、ＭＯＣＡＰデータベースインターフェースモジュール２００に関してここに説明する機能が実現することを理解されたい。
【００４０】
図４は、ＭＯＣＡＰ再構成方法を示すフローチャートであり、この再構成方法は、ここに説明する種々の実施形態と連動させて使用することができる。図４に示す実施形態では、「ｂｅａｔ  ｒｅａｄｙ（ビートを処理する状態になっている）」ステータスをステップ４００で受信する。コンフィグレーション１２０をステップ４０４で作成し、コンフィグレーション１２０は、ビートファイル１１４Ａ〜Ｅに含まれるビートデータを複数のビートパーティションにパーティション分割するパラメータを含む。すなわち、各ビートファイル１１４Ａ〜Ｅは、ビートに広がる（を構成する）画像フレーム列を含む。パーティション分割情報は、フレームインデックスとして表現されるサブフレーム長のフレーム群をフレーム列として含む。図２示す実施形態では、このステップは、解析モジュール２０４及びコンフィグレーションモジュール２０８が連携して実行する。ステップ４０８では、再構成プロセスを各コンフィグレーション１２０に関して起動する。ステップ４１２では、該当するコンフィグレーション１２０、及び該当するＭＯＣＡＰカメラ校正情報を、このようにして起動された各再構成プロセスに提供する。これらのステップは再構成マネージャモジュール２１２の機能に対応する。ビートデータの該当するパーティションを各再構成プロセスによってステップ４１６で取得する。再構成を各再構成プロセスにおいてステップ４１６で、ビートデータパーティション、コンフィグレーション１２０、及びＭＯＣＡＰカメラ校正情報を使用して行なう。これらの再構成プロセスの各々に関する出力データをステップ４２４で受信する。次に、このようにして受信する出力データを統合して、一つ以上の３次元データポイント集合をステップ４２８で形成し、これらの３次元データポイント集合はマスターポイントファイル６３０に含めることができる。図２に示す実施形態では、これらのステップを統合モジュール２１６によって行なう。次に、「ｆｉｎｉｓｈｅｄ（処理が終了した）」ステータスをステップ４３２でＭＯＣＡＰデータベースモジュール１１０に送信する。
【００４１】
図５Ａ及び５Ｂは、ＭＯＣＡＰ再構成に関するコンフィグレーション１２０を作成する方法の２つの実施形態を示している。更に詳細には、フローチャートに示すこれらの実施形態は、ビートデータパーティション分割情報を含むコンフィグレーション１２０の作成に関するものである（図４のステップ４０４を参照）。図５Ａに示す実施形態では、ビートパーティション分割を時間軸上で行ない、そして図５Ｂに示す実施形態では、ビートパーティション分割をフレームインデックスに対して行なう。
【００４２】
パーティション分割を時間軸上で行なう図５Ａの実施形態では、現在のビートの開始時刻及び終了時刻をステップ５００で取得する。これらの開始時刻及び終了時刻に基づいて、ビート期間をステップ５０４で求めることができる。所定のパーティション存続期間情報を使用して、ビートパーティションに関する開始時刻及び終了時刻をステップ５０８で求めることができる。一の実施形態では、所定のパーティション存続期間は再構成プロセスへの入力を制限するために非常に有効である。例えば、一つのパーティション存続期間に、再構成プロセスによって一度にハンドリングできるデータと同量のデータが含まれるべきである（一度にハンドリングできるデータよりも多くのデータが含まれるべきではない）。
【００４３】
次に、ビートパーティション開始時刻及び終了時刻を含むコンフィグレーション１２０をステップ５１２で作成する。ＭＯＣＡＰマーカの有効最小サイズ及び最大サイズを示すビート再構成パラメータもコンフィグレーションにステップ５３２で含める。同様に、ＭＯＣＡＰマーカの許容できる最小移動速度及び最大移動速度を示すビート再構成パラメータをコンフィグレーションにステップ５３６で含めることができる。更に、「顔」、「ボディ」、または「手」の処理、またはこれらの処理の全ての組み合わせを容易にするビート再構成パラメータをコンフィグレーションにステップ５４０で含めることができる。再構成プロセスで実行される他の機能に必要な種々のパラメータもコンフィグレーション１２０に含めることができることを理解されたい。
【００４４】
パーティション分割をフレームインデックスに対して行なう図５Ｂの実施形態では、現在のビートの開始フレームインデックス及び終了フレームインデックスをステップ５１６で取得する。これらの開始フレームインデックス及び終了フレームインデックスに基づいて、ビートの期間に含まれるフレームの個数をステップ５２０で求めることができる。所定のパーティション存続期間、またはフレームの所定の個数を使用して、パーティションに関する開始フレームインデックス及び終了フレームインデックスをステップ５２４で求めることができる。ここでも同じように、一の実施形態では、所定のパーティション存続期間は再構成プロセスへの入力を制限するために非常に有効である。例えば、パーティションの長さをフレーム数で表わす場合に、一つのパーティションは、再構成プロセスによって一度にハンドリングできるフレームよりも多くのフレームを含んではならない。
【００４５】
パーティション分割を時間軸上で行なう実施形態と同様に、ビートパーティション開始時刻及び終了時刻を含むコンフィグレーション１２０をステップ５２８で作成する。ＭＯＣＡＰマーカの有効最小サイズ及び最大サイズを示すビート再構成パラメータをコンフィグレーションにステップ５３２で含めることができる。同様に、ＭＯＣＡＰマーカの許容できる最小移動速度及び最大移動速度を示すビート再構成パラメータをコンフィグレーションにステップ５３６で含めることができる。更に、「顔」、「ボディ」、または「手」の処理、またはこれらの処理の全ての組み合わせを容易にするビート再構成パラメータをコンフィグレーションにステップ５４０で含めることができる。
【００４６】
種々のマッピングを時刻とフレーム番号との間で行なうことができる。従って、時刻ベース処理及びフレームベース処理の種々の組み合わせを実行するだけでなく、ビートファイル１１４Ａ〜Ｅに対する他の形態のインデックス付けを行なってパーティション分割を容易にすることができることも理解されたい。
【００４７】
図６は、ＭＯＣＡＰシステムを示す機能ブロック図であり、このＭＯＣＡＰシステムはここに説明する種々の実施形態と連動させて使用することができる。図６に示す実施形態は、図２に示す実施形態にほぼ対応し、かつビートパーティション分割についての別の観点を提供することができる。
【００４８】
図１に関して上に議論したように、一つの例では、ビートファイル１１４Ａ〜Ｅは、該当するＭＯＣＡＰカメラ１０４Ａ〜ＥでＭＯＣＡＰビートの間に同時に撮影した画像データを含む。５つのビートファイル１１４Ａ〜Ｅを示すが、実際には、ビートファイルの個数は多くの場合、ＭＯＣＡＰカメラの数百台の台数と直接的に対応している。
【００４９】
一の実施形態では、ビートファイル１１４Ａ〜Ｅを、解析モジュール２０４（図２参照）で決定されるパーティションに従って解析した結果は、パーティショングループ６０２Ａ〜Ｅ単位で考察することができ、各グループ６０２Ａ〜Ｅは一つのビートファイル１１４Ａ〜Ｅをほぼ表わす。例えば、ビートファイル１１４Ａが４，０００個のフレームを含む場合、ビートファイル１１４Ａをパーティション分割して、第１グループ６０２Ａに示す、それぞれが１，０００個のフレームから成る４つのパーティションとする。一般的に、パーティションはサイズまたは期間が均一である必要はない。しかしながら、ビートファイル１１４Ａ〜Ｅは、ほぼ一様になるようにパーティション分割する必要がある。グループ６０２Ａの複数のパーティションは更に、これらのパーティションが、ビートファイル１１４Ａの内容に基づいた開始時刻及び終了時刻またはフレームインデックスを設定する関係で存在するという意味で「仮想」パーティションと考えることができる。別の構成として、これらのパーティションは「物理」パーティションとすることができ、この場合、例えばビートファイル１１４Ａは実際に、パーティション分割に従った一連の新規の小規模ファイルに細分割される。
【００５０】
ビートファイル１１４Ａ〜Ｅに対応するグループ６０２Ａ〜Ｅのこれらのパーティションは、一つのビートファイルに従ってではなく、パーティションに従って分類される「パーティショングループ」６１０Ａ〜Ｄであるとも考えることができる。この考え方に基づいて、例えばパーティショングループ６１０Ａの全てのパーティションは、異なるビートファイル１１４Ａ〜Ｅに基づいて描かれるが、同じ始点フレームインデックス及び終点フレームインデックスにより定義される。このようにして、管理不能なほどに大きい大型ビートファイル１１４Ａを仮想的に多数の小規模パーティションに分割してほぼパラレルに処理することができる。
【００５１】
従って、一の実施形態では、各パーティショングループ６１０Ａ〜Ｄを一つの再構成モジュール２３０Ａ〜Ｄで使用することにより、該当するポイントファイル６３４Ａ〜Ｄを形成する。更に、該当するコンフィグレーション６２０Ａ〜Ｄ、及び校正ファイル１２４Ａ〜Ｅを再構成マネージャモジュール２１２が各再構成モジュール２３０Ａ〜Ｄに供給して再構成処理を行なうことができる。次に、ポイントファイル６３４Ａ〜Ｄを統合モジュール２１６で統合することにより、一つのマスターポイントファイル６３０を作成することができる。上に議論したように、マスターポイントファイル６３０は、撮影空間１００のオブジェクトまたはアクターに取り付けられるマーカを表わす一つ以上のデータポイント集合を含むことができる。ポイントファイル６３４Ａ〜Ｄ、及びマスターポイントファイル６３０は、ＭＯＣＡＰデータベースモジュール１１０が保存し、そして管理することができる。
【００５２】
図７は、ＭＯＣＡＰ（モーションキャプチャ）における例示としての再構成方法による複数の処理モジュールの間の関係を示す図である。この図は、図２，４，及び６に示す例示としての実施形態にほぼ対応する操作の順番を示している。
【００５３】
図示の実施形態では、デジタルＭＯＣＡＰカメラ１０４Ａ〜Ｅは、一つ以上のオブジェクトまたはアクターに取り付けられるマーカの画像を撮影空間１００において撮影する。これらの画像は、ＭＯＣＡＰ撮影モジュール１０８に転送され（リンク７００を使用して）、このＭＯＣＡＰ撮影モジュール１０８では、種々の従来の画像処理操作を行なうことができる。結果として得られる画像は、ファイル管理手段及びファイルアクセス手段となるＭＯＣＡＰデータベースモジュール１１０に転送される（リンク７０２を使用して）。
【００５４】
次に、「ｒｅａｄｙ（処理を行なう状態になっている）」ステータスをＭＯＣＡＰデータベースモジュール１１０が再構成レンダリングファーム（ＲＲＦ）モジュール１３０に発行することができる（リンク７０４を使用して）。ＲＲＦモジュール１３０は、図２に関連して説明したように、ＭＯＣＡＰデータベースインターフェースモジュール２００、解析モジュール２０４、コンフィグレーションモジュール２０８、及び再構成マネージャモジュール２１２の機能を含む。ｒｅａｄｙステータスは、ビートファイル１１４Ａ〜Ｅを再構成処理に利用することができることを示す。更に、ビートファイル１１４Ａ〜Ｅに関するロケーション情報を更に提供することができる。この情報は、ディレクトリパス及びファイル名を含むことができる。別の構成として、ＲＲＦモジュール１３０は、ＭＯＣＡＰデータベースモジュール１１０でマークを付けたビートファイル１１４Ａ〜Ｅを探索することができるので、これらのファイルのロケーションをマークに従って特定することができる。しかしながら、ビートファイルにＭＯＣＡＰデータベースモジュール１１０でアクセスする他の方式を利用することができることを理解されたい。
【００５５】
ＲＲＦモジュール１３０は、パーティション分割に使用するパラメータを含むコンフィグレーション６２０Ａ〜Ｄを作成する。ＲＲＦモジュール１３０は更に、再構成モジュール２３０Ａ〜Ｄを起動し（リンク７０６Ａ〜Ｄを使用して）、そして各再構成モジュールに関連ビートファイルロケーション情報、コンフィグレーション６２０Ａ〜Ｄ、及び校正ファイル１２４Ａ〜Ｅに普通含まれる校正情報を提供する。次に、各再構成モジュール２３０Ａ〜Ｄは、当該モジュールに関連するコンフィグレーション６２０Ａ〜Ｄによって割り当てられるビートファイルパーティションを使用して再構成を実行することができる。ビートファイルの関連パーティションは、ＭＯＣＡＰデータベースモジュール１１０から再構成モジュール２３０Ａ〜Ｄに送信することができる（リンク７０８Ａ〜Ｄを使用して）。
【００５６】
一の実施形態では、各再構成モジュール２３０Ａ〜Ｄは、個別プロセッサ上で、または専用プロセッサ上で実行することができる。別の実施形態では、再構成モジュール２３０Ａ〜Ｄは、個別プロセスとして、多数の共通プロセッサ上で実行することができる。更に、再構成モジュール２３０Ａ〜Ｄは互いに同期して、または非同期で実行することができ、かつＲＲＦモジュール１３０、ＭＯＣＡＰデータベースモジュール１１０、及び再構成モジュール内で実行される全てのサブプロセスに同期して、または非同期で実行することができる。
【００５７】
一の実施形態では、各再構成モジュール２３０Ａ〜Ｄは、ビート再構成機能の実行を完了すると、結果として得られるポイントファイル１３４が統合モジュール２１６に転送される（リンク７１２Ａ〜Ｄを使用して）。次に、パーティションに対応する３次元ポイントデータを含むポイントファイル６３４Ａ〜Ｄを統合して、普通は一つのマスターポイントファイル６３０を形成することができ、このマスターポイントファイル６３０はＲＲＦモジュール１３０に転送することができる（リンク７１４を使用して）。次に、ｆｉｎｉｓｈｅｄ（処理が終了した）ステータスをＭＯＣＡＰデータベースモジュール１１０に転送することができる（リンク７１６を使用して）。別の構成として、マスターポイントファイル６３０は、ｆｉｎｉｓｈｅｄステータスと共にＭＯＣＡＰデータベースモジュール１１０に転送することができる（リンク７１６を使用して）。
【００５８】
種々の実施形態は主としてハードウェアとして、例えば特定用途向け集積回路（「ＡＳＩＣ」）、またはフィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）のようなコンポーネントを使用して実現することもできる。ここに説明する機能を実行することができるハードウェアステートマシンを実装することも、関連分野の当業者には容易に想到できるであろう。種々の実施形態は、ハードウェア及びソフトウェアの両方の組み合わせを使用して実現することもできる。
【００５９】
更に、この技術分野の当業者であれば、上に説明した図、及びここに開示する実施形態に関連付けながら説明した種々の例示としての論理ブロック、モジュール、コネクタ、データパス、回路、及び方法ステップは多くの場合、電子ハードウェア、コンピュータソフトウェア、または電子ハードウェア及びコンピュータソフトウェアの両方の組み合わせとして実装することができることが理解できるであろう。ハードウェアとソフトウェアがこのように入れ替え可能であることを明示するために、種々の例示としてのコンポーネント、ブロック、モジュール、回路、及びステップを、これらの要素の機能に関して概要を上に説明してきた。このような機能がハードウェアまたはソフトウェアとして実装されるかどうかは、システム全体に課される適用上及び設計上の特定の制限によって変わる。当業者であれば、説明した機能を各特定用途に対して種々の方法で実装することができるが、このようにして実装が決定される機能が、本発明の技術範囲に包含されなくなるものと解釈されるべきではない。更に、複数の機能を一つのモジュール、ブロック、回路、またはステップにグループ化しているのは、説明を分かり易くするためである。特定の機能またはステップは一つのモジュール、ブロック、または回路から別のモジュール、ブロック、または回路に、本発明から逸脱しない範囲で移動させることができる。
【００６０】
更に、ここに開示する実施形態に関連付けながら説明した種々の例示としての論理ブロック、モジュール、コネクタ、データパス、回路、及び方法ステップは、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、ＡＳＩＣ，ＦＰＧＡ，または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、またはここに説明する機能を実行するように構成されるこれらの要素のいずれかの組み合わせを用いて実現する、または実行することができる。汎用プロセッサはマイクロプロセッサとすることができるが、別の構成として、プロセッサはいずれかのプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンとすることができる。プロセッサは、コンピューティングデバイスの組み合わせ、例えばＤＳＰ及びマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと連動する一つ以上のマイクロプロセッサ、または他のいずれかのこのような構成として実装することもできる。
【００６１】
更に、ここに開示する実施形態に関連付けながら説明した方法またはアルゴリズムのステップは、ハードウェアで直接実行する、プロセッサが実行するソフトウェアモジュールで実行する、またはこれらの２つの形態の組み合わせで実行することができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、またはネットワーク記憶媒体を含む他のいずれかの形態の記憶媒体に格納することができる。記憶媒体はプロセッサに接続することができるので、プロセッサは情報を記憶媒体から読み出すことができ、そして情報を記憶媒体に書き込むことができる。別の構成として、記憶媒体はプロセッサに一体化することができる。プロセッサ及び記憶媒体はＡＳＩＣに形成することもできる。
【００６２】
開示する実施形態に関する説明を上に行なうことにより、この技術分野の当業者であれば必ず本発明を実施する、または使用することができる。これらの実施形態に対する種々の変更は、この技術分野の当業者であれば容易に想到することができ、そしてここに説明する一般原理は他の実施形態に、本発明の技術思想または技術範囲から逸脱しない限り適用することができる。従って、ここに示す記述及び図は、本発明の現時点での好適な実施形態を表わしているので、本発明が広義に意図する主題の代表例であることを理解されたい。更に、本発明の技術範囲は、この技術分野の当業者であれば容易に想到し得る他の実施形態を全て包含し、従って本発明の技術範囲は、添付の請求項によってのみ規定されることを理解されたい。
【図面の簡単な説明】
【００６３】
本発明の構造及び動作の両方に関する本発明の詳細は、添付の図を分析することにより部分的に明らかになり、これらの図では、同様の参照番号は同様の構成要素を指す。
【図１】種々の実施形態に関連して使用することができるＭＯＣＡＰシステムの構成要素を示す機能ブロック図である。
【図２】種々の実施形態に関連して使用することができる例示としての再構成モジュールを表わす詳細ブロック図である。
【図３】種々の実施形態に関連して使用することができるＭＯＣＡＰデータベースインターフェースモジュールを表わす機能ブロック図である。
【図４】種々の実施形態に関連して使用することができるＭＯＣＡＰ再構成方法を示すフローチャートである。
【図５Ａ】ＭＯＣＡＰ再構成に関連するコンフィグレーションを作成する方法の２つの実施形態を示す。
【図５Ｂ】ＭＯＣＡＰ再構成に関連するコンフィグレーションを作成する方法の２つの実施形態を示す。
【図６】種々の実施形態に関連して使用することができるＭＯＣＡＰシステムを示す機能ブロック図である。
【図７】例示としてのＭＯＣＡＰ再構成方法による処理モジュール間の関係を示す図である。
【図１】
2009506440.tif 000003
【図２】
2009506440.tif 000004
【図３】
2009506440.tif 000005
【図４】
2009506440.tif 000006
【図５Ａ】
2009506440.tif 000007
【図５Ｂ】
2009506440.tif 000008
【図６】
2009506440.tif 000009
【図７】
2009506440.tif 000010
【国際調査報告】
2009506440.tif 000011
2009506440.tif 000012