(57)【特許請求の範囲】
【請求項１】
コンピュータ実行可能な命令が組み込まれた１つまたは複数のコンピュータ記憶媒体であって、前記命令は、実行されると、カメラによって取り込まれたオブジェクトをディジタル化し、前記方法が、
画像に関係する色データおよび深さ(depth)データを前記カメラから受信するステップと、
前記深さデータに基づいて、前記カメラまでの、前記画像内の最も近い点を特定するステップと、
隣接ポイント間の、深さにおける激しい差を探索するために、前記最も近い点から外側方向に移動しながら複数のポイントの深さを分析することによって、前記最も近い点から開始して、前記画像内のオブジェクトのエッジを特定するステップと、
複数の前記エッジの前記深さデータを使用して前記オブジェクトのポイントクラウド構成(a point cloud construction)を生成するステップと、
前記ポイントクラウド構成を使用して、前記オブジェクトのディジタル化を生成するステップと
を含む、１つまたは複数のコンピュータ記憶媒体。
【請求項２】
前記カメラまでの、前記画像内の最も近い点を特定するステップが、
前記カメラの絞り(aperture)と前記画像内の複数の点との間の距離を計算するサブステップと、
前記距離の中で、最短距離を選択するサブステップと
をさらに含む、請求項１に記載の１つまたは複数のコンピュータ記憶媒体。
【請求項３】
前記最短距離のところでオブジェクトにひも付けられる(connected)形状(feature)を特定するサブステップと、
前記カメラまでの、前記オブジェクトの最も近い部分を表す前記形状の指標(indication)を記憶するサブステップ
をさらに含む、請求項２に記載の１つまたは複数のコンピュータ記憶媒体。
【請求項４】
前記オブジェクトの第２の画像についての色データおよび深さデータを受信するステップと、
前記第２の画像内の第２の最も近い点を決定するステップと、
前記第２の最も近い点のところで前記オブジェクトを特定するステップと、
前記第２の画像内に向けられるように(as oriented in)、前記オブジェクトの第２のポイントクラウド構成を生成するステップと、
をさらに含む、請求項１に記載の１つまたは複数のコンピュータ記憶媒体。
【請求項５】
前記ポイントクラウド構成と前記第２のポイントクラウド構成との間のシーム(seam)を特定するステップと、
前記シームの一部分を塗る(fill)ために塗りつぶし色(filler color)を決定するステップと、
前記ポイントクラウド構成と前記第２のポイントクラウド構成との間にシームレスエッジを有する前記３Ｄ表示(rendition)を作成するために前記塗りつぶし色で前記シームの前記部分を塗るステップと、
前記３Ｄ表示を記憶するステップと、
をさらに含む、請求項４に記載の１つまたは複数のコンピュータ記憶媒体。
【請求項６】
前記オブジェクトのエッジの周りであり、且つ、所定のしきい値より少ない隣接点しか有さない点を除去し、深さピクセルのマスクを得るステップをさらに含む、請求項１に記載の１つまたは複数のコンピュータ記憶媒体。
【請求項７】
リングバッファ(ring buffer)内に、フレーム毎に、前記深さピクセルの前記マスクを記憶し、全てのフレームを全体として平均して、最終的な深さ画像を生成するステップをさらに含む、請求項６に記載の１つまたは複数のコンピュータ記憶媒体。
【請求項８】
少なくとも１つのカメラによってキャプチャされたオブジェクトをデジタル化する方法であって、当該方法が、
少なくとも１つの画像に関係する色データおよび深さ(depth)データを少なくとも１つのカメラから受信するステップと、
前記深さデータに基づいて、前記少なくとも１つのカメラまでの、前記少なくとも１つの画像内の最も近い点を特定するステップと、
隣接ポイント間の、深さにおける激しい差を探索するために、前記最も近い点から外側方向に移動しながら複数のポイントの深さを分析することによって、前記最も近い点から開始して、前記少なくとも１つの画像内のオブジェクトのエッジを特定するステップと、
複数の前記エッジの前記深さデータを使用して前記オブジェクトのポイントクラウド構成(a point cloud construction)を生成するステップと、
前記ポイントクラウド構成を使用して、前記オブジェクトのディジタル化を生成するステップと、
を含む方法。
【請求項９】
請求項８に記載の方法であって、
前記少なくとも１つのカメラまでの、前記画像内の最も近い点を特定するステップが、
前記少なくとも１つのカメラの絞り(aperture)と前記画像内の複数の点との間の距離を計算するサブステップと、
前記距離の中で、最短距離を選択するサブステップと
前記最短距離のところでオブジェクトにひも付けられる(connected)形状(feature)を特定するサブステップと、
前記カメラまでの、前記オブジェクトの最も近い部分を表す前記形状の指標(indication)を記憶するサブステップ
をさらに含む、
を含む方法。
【請求項１０】
請求項８に記載の方法であって、
前記オブジェクトの第２の画像についての色データおよび深さデータを受信するステップと、
前記第２の画像内の第２の最も近い点を決定するステップと、
前記第２の最も近い点のところで前記オブジェクトを特定するステップと、
前記第２の画像内に向けられるように(as oriented in)、前記オブジェクトの第２のポイントクラウド構成を生成するステップと、
前記ポイントクラウド表現と、前記第２のポイントクラウド構成を結合して、前記オブジェクトの３Ｄ表示を生成するステップと、
前記ポイントクラウド構成と前記第２のポイントクラウド構成との間のシーム(seam)を特定するステップと、
前記シームの一部分を塗る(fill)ために塗りつぶし色(filler color)を決定するステップと、
前記ポイントクラウド構成と前記第２のポイントクラウド構成との間にシームレスエッジを有する前記３Ｄ表示(rendition)を作成するために前記塗りつぶし色で前記シームの前記部分を塗るステップと、
前記３Ｄ表示を記憶するステップと、
をさらに含む、
方法。
【請求項１１】
請求項１０に記載の方法であって、
１組の規則を用いて、前記３次元再製の異なった特徴の移動を管理するステップと、
１つ又は複数の前記規則に従って前記３次元再製を移動させるステップと、
を更に含む方法。
【請求項１２】
コンピューティングデバイスであって、
1つ又は複数のプロセッサを備え、当該1つ又は複数のプロセッサが、
少なくとも1つのカメラから、少なくとも1つの画像に関連する色及び深さデータを受信し、
前記深さデータに基づいて、前記少なくとも1つの画像において、前記少なくとも1つのカメラに最も近いポイントを特定し、
隣接ポイント間の、深さにおける激しい差を探索するために、前記最も近い点から外側方向に移動しながら複数のポイントの深さを分析することによって、前記少なくとも1つの画像における前記オブジェクトのエッジを特定し、
複数の前記エッジの前記深さデータを使用して前記オブジェクトのポイントクラウド構成(a point cloud construction)を生成し、
前記ポイントクラウド構成を使用して、前記オブジェクトのディジタル化を生成する、
ように構成される、
コンピューティングデバイス。
【請求項１３】
前記隣接するポイントの間の、深さにおける激しい差が、少なくとも０．５ｍを含む、請求項１に記載の１つまたは複数のコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明の一実施例は、例えば、仮想環境におけるオブジェクトの制御に関する。
【背景技術】
【０００２】
[0001]近年のゲームおよびインターネットの技術は、過去においてこれらの技術が有するよりもはるかに個人的な用途においてユーザと対話する。ゲームコンソールに接続されたコントローラ上のボタンを単に押すのでなく、今日のゲームシステムは、カメラの前に立っているプレーヤの動作またはワイヤレスコントローラとのプレーヤが行うアクション（例えば、野球のバットのようにコントローラを振ること）を読み取ることができる。この個人的な対話は、ゲームの新しい領域全体を広げる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本願発明の一実施例は、例えば、仮想環境におけるオブジェクトの制御に関する。
【課題を解決するための手段】
【０００４】
[0002]この「発明の概要」は、「発明を実施するための形態」において下記にさらに説明される概念の選択を単純化した形態で紹介するために提供される。この「発明の概要」は、特許請求した主題の鍵となる特徴または本質的な特徴を特定することを目的としない。また、この「発明の概要」は、特許請求した主題の範囲を決定する際に補助として使用されることも目的としない。
【０００５】
[0003]一態様は、画像内のオブジェクトのディジタル表現（「ディジタル化」）を作成することを対象とする。ユーザは、カメラにオブジェクトを提示し、カメラは、オブジェクトの前面および裏面についての色データおよび深さデータを含む画像を取り込む。前面画像と裏面画像の両方について、カメラまでの最も近い点が、深さデータを解析することによって決定される。最も近い点から、オブジェクトのエッジは、深さデータにおける大きな差異に注目することによって見つけられる。深さデータはまた、オブジェクトの前面および裏面のポイントクラウド構成を構築するために使用される。さまざまな技術を適用して、エッジを外挿し、シームを除去し、インテリジェントに色を広げ、ノイズをフィルタリングし、オブジェクトにスケルトンの構造をあて、ディジタル化をさらに最適化する。最終的に、ディジタル表現が、ユーザに提示され、さまざまなアプリケーション（例えば、ゲーム、ウェブ、等）において潜在的に使用される。
【０００６】
[0004]本発明の例示の実施形態は、添付した図面を参照して下記に詳細に説明される。
【図面の簡単な説明】
【０００７】
【図１】[0005]本明細書で論じられる実施形態を実装するのに適した例示的なコンピューティング環境のブロック図である。
【図２】[0006]一実施形態による、ディジタル化のためのオブジェクトを提示するユーザの図である。
【図３】[0007]一実施形態による、オブジェクトをディジタル化するための作業の流れの図である。
【図４】[0008]図４Ａは、一実施形態による、ディジタル化のためにオブジェクトを提示するユーザのカメラ視野像である。
【０００８】
図４Ｂは、一実施形態による、ディジタル化のためにオブジェクトを提示するユーザのカメラ視野像である。
【図５】[0009]一実施形態による、オブジェクトをディジタル化するために利用可能なセグメント化した深さ画像である。
【図６】[0010]一実施形態による、深さと色のオフセットの図である。
【図７】[0011]一実施形態による、オブジェクトをディジタル化するために利用可能なソースカラー画像である。
【図８】[0012]一実施形態による、取り込んだオブジェクトの色セグメント化の図である。
【図９】[0013]一実施形態による、ディジタル化すべきオブジェクトを保持するために指図を与えるユーザインターフェース（ＵＩ）の図である。
【図１０】一実施形態による、ディジタル化すべきオブジェクトを保持するために指図を与えるユーザインターフェース（ＵＩ）の図である。
【図１１】[0014]一実施形態による、オブジェクトの三次元（３Ｄ）ポイントクラウド構成の図である。
【図１２】[0015]一実施形態による、位置を合わせたポイントシートの２つの視野の図である。
【図１３】[0016]一実施形態による、最終的なポイントクラウド構成の図である。
【図１４】[0017]一実施形態による、ユーザに表示されたディジタル化したオブジェクトの確認画像を表示するＵＩの図である。
【図１５】[0018]一実施形態による、取り込んだ画像のメッシュ出力の図である。
【図１６】[0019]一実施形態による、オブジェクトのスムージングし処理した画像である。
【図１７】[0020]一実施形態による、ＵＶ座標を有する画像である。
【図１８】[0021]一実施形態による、最終的なテクスチャマップのセクションへと描かれた前向きの三角形エッジの図である。
【図１９】[0022]図１９Ａは、一実施形態による、生成したスケルトンの構造の骨に加えられた重み付けを示す図である。図１９Ｂは、一実施形態による、生成したスケルトンの構造の骨に加えられた重み付けを示す図である。図１９Ｃは、一実施形態による、生成したスケルトンの構造の骨に加えられた重み付けを示す図である。図１９Ｄは、一実施形態による、生成したスケルトンの構造の骨に加えられた重み付けを示す図である。図１９Ｅは、一実施形態による、生成したスケルトンの構造の骨に加えられた重み付けを示す図である。
【図２０】[0023]図２０Ａは、一実施形態による、輝度／彩度処理前の画像の図である。図２０Ｂは、一実施形態による、輝度／彩度処理後の画像である。
【図２１】[0024]図２１Ａは、一実施形態による、ソース画像の図である。図２１Ｂは、一実施形態による、エッジがフィルタリングされた後の出力画像である。
【図２２】[0025]図２２Ａは、一実施形態による、エッジ修復フィルタが背景色になる色を見つけた場合の画像の図である。図２２Ｂは、一実施形態による、エッジ修復フィルタが対象になる色を見つけた場合の画像である。
【図２３】[0026]図２３Ａは、一実施形態による、エッジから問題となる領域までの距離を示す画像である。図２３Ｂは、一実施形態による、計算した背景確率値を示す画像である。
【図２４】[0027]一実施形態による、最終的な合成テクスチャマップの図である。
【図２５】[0028]図２５Ａは、一実施形態による、マスクされた値の図である。図２５Ｂは、一実施形態による、ひどくぼけた頂点の色の図である。
【図２６】[0029]図２６Ａは、一実施形態による、テクスチャだけを有するメッシュの図である。図２６Ｂは、一実施形態による、頂点の色がマスク値によって混ぜ合わさったテクスチャを有するメッシュの図である。
【図２７】[0030]一実施形態による、ディジタル化したオブジェクトの最終的なレンダリングの図である。
【図２８】[0031]一実施形態による、オブジェクトをディジタル化するための作業の流れを詳細に説明する流れ図である。
【図２９】[0032]一実施形態による、オブジェクトをディジタル化するための作業の流れを詳細に説明する流れ図である。
【発明を実施するための形態】
【０００９】
[0033]本発明の実施形態の主題は、法的要件を満たすように本明細書において特異性と共に説明される。しかし、説明それ自体は必ずしも、特許請求の範囲を限定することを目的としない。むしろ、特許請求した主題が、他の方法で具体化されて、他の現在の技術または将来の技術と協働して、本明細書に説明するものとは異なるステップまたは類似のステップの組合せを含み得る。これらの用語は、個々のステップの順序が明確に記載されない限りおよび記載されるときを除いて、本明細書中に開示したさまざまなステップ間でいずれかの特定の順序を示唆するようには解釈されるべきではない。
【００１０】
[0034]本明細書において説明する実施形態は、全般に、カメラによって取り込まれたオブジェクトのディジタル表現を作成することに関係する。一実施形態では、ユーザは、カメラの前でオブジェクトを保持し、カメラは、オブジェクトの画像を取り込み、デバイスは、取り込んだ画像を、例えば、テレビゲームにおいてエンティティとしてディジタル的に表示可能な３Ｄ表示へとディジタル化する。説明するために、下記の例を考える。ユーザは、カメラを装着したゲームデバイスに対しておもちゃのタコをかざす。カメラを使用して、ゲームデバイスは、オブジェクトの前面および裏面の写真を撮り、各々の側についての色データと深さデータの両方を取り込む。深さデータに基づいて、タコの３Ｄ表示が構成され、色データが、次に３Ｄ表示に付け加えられ、タコのディジタル表示（本明細書においては「ディジタル化」と呼ぶ）を作成する。ディジタル化は、その後、タコの表示が役に立つゲームまたはいずれかの別のソフトウェアもしくはウェブアプリケーションにおいて使用され得る。
【００１１】
[0035]少なくとも１つの実施形態は、オブジェクトをディジタル化することを対象とする。ユーザは、（ゲームコンソールなどの）コンピューティングデバイス上のカメラにオブジェクトを提示する。デバイスは、表示のためのオブジェクトの場所を決めるためにユーザに指図することができ、例えば、カメラで見られる画像を反映するスクリーン上に輪郭線を置き、ユーザが輪郭線の中へとオブジェクトを動かすべきであることを指示することによって、取り込む画像を最適化する。最終的には、デバイスは、オブジェクトの１つまたは複数の画像を取り込む。ユーザは、次に、取り込むためにカメラに対してオブジェクトの裏側を提示するように指示されることがある。デバイスは、次に、オブジェクトの裏側の１つまたは複数の画像を取り込むことができる。取り込んだ前面画像および裏面画像は、オブジェクトの３Ｄディジタル化を構成するために処理される。
【００１２】
[0036]一実施形態では、処理は、カメラによって取り込まれた画像の深さデータを使用する。深さデータは、ピクセルごとにまたは他の空間的表現で画像内に取り込まれた物体の近さを記述する。深さデータを使用して、画像内のオブジェクトの最も近い点が位置決めされる。この実施形態は、画像の最も近いオブジェクトが、ユーザが取り込もうと目を向けているオブジェクトであると仮定し、例えば、カメラに対してタコを保持するユーザは、タコがカメラに対して最も近い物体であることをおそらく意味するであろう。
【００１３】
[0037]本発明の概要において手短に説明した、本発明のさまざまな態様が実装され得る例示的な動作環境が、ここで説明される。全体的に図面を、特に最初に図１を参照すると、本発明の実施形態を実装するための例示的な動作環境が示され、全体的にコンピューティングデバイス１００として指定されている。コンピューティングデバイス１００は、適したコンピューティング環境のほんの一例であり、本発明の使用または機能の範囲に関して何らかの限定を示唆しないものとする。コンピューティングデバイス１００が、示したコンポーネントのいずれか１つまたは組合せに関係する何らかの依存性または必要条件を有するように解釈されるべきではない。
【００１４】
[0038]本発明の実施形態は、コンピュータ、またはパーソナルデータアシスタントもしくは他のハンドヘルドデバイスなどの他のマシンによって実行される、プログラムモジュールなどのコンピュータ実行可能な命令を含むコンピュータコードまたはマシン使用可能な命令の概括的なコンテキストにおいて説明することができる。概して、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、等を含むプログラムモジュールとは、特定のタスクを実行するまたは特定の抽象データタイプを実装するコードを言う。本発明の実施形態は、ハンドヘルドデバイス、家庭用電気製品、汎用コンピュータ、より専門的なコンピューティングデバイス、等を含むさまざまなシステム構成において実行可能である。本発明の実施形態はまた、通信ネットワークを介してリンクされるリモート処理デバイスによってタスクが実行される分散型コンピューティング環境において実行可能である。
【００１５】
[0039]図１を参照し続けると、コンピューティングデバイス１００は、下記のデバイス：メモリ１０２、１つまたは複数のプロセッサ１０３、１つまたは複数のプレゼンテーションコンポーネント１０４、入力／出力（Ｉ／Ｏ）ポート１０５、Ｉ／Ｏコンポーネント１０６、および例示の電源１０７、を直接的にまたは間接的につなげるバス１０１を含む。バス１０１は、何であろうとも（アドレスバス、データバス、またはこれらの組合せなどの）１つまたは複数のバスを表す。図１のさまざまなブロックが明確化のために線で示されるが、実際には、描かれているさまざまなコンポーネントは、それほど明確ではなく、例えて言えば、線は、さらに正確な表現をすれば、灰色であり曖昧であるはずである。例えば、Ｉ／Ｏコンポーネントになる表示デバイスなどのプレゼンテーションコンポーネントを考えることができる。加えて、多くのプロセッサはメモリを有する。本発明の発明者らは、このようなものが本技術の本質であることを認識し、図１の図が本発明の１つまたは複数の実施形態とともに使用され得る例示的なコンピューティングデバイスの単なる例示であることを繰り返す。下記のすべてが、図１および「コンピューティングデバイス」への言及の範囲内であると考えられるので、「ワークステーション」、「サーバ」、「ラップトップ」、「ゲームコンソール」、「ハンドヘルドデバイス」、等などのカテゴリー間で、区別は行われない。
【００１６】
[0040]コンピューティングデバイス１００は、典型的にはさまざまなコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピューティングデバイス１００によってアクセス可能な任意の利用可能な媒体である場合があり、揮発性媒体と不揮発性媒体の両方、リムーバブル媒体およびノンリムーバブル媒体を含む。例として、限定ではなく、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報の記憶のための任意の方法または技術において実装された揮発性媒体と不揮発性媒体の両方、リムーバブル媒体およびノンリムーバブル媒体を含む。コンピュータ記憶媒体は、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、電気的消去書込み可能読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、ディジタル多用途ディスク（ＤＶＤ）もしくは他のホログラフィックメモリ、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または所望の情報をエンコードするために使用されること可能であり、コンピューティングデバイス１００によってアクセス可能な任意の他の媒体を含むが、これらに限定されない。
【００１７】
[0041]メモリ１０２は、揮発性メモリおよび／または不揮発性メモリの形態のコンピュータ記憶媒体を含む。メモリ１０２は、リムーバブル、ノンリムーバブル、またはこれらの組合せであってもよい。例示的なハードウェアデバイスは、固体メモリ、ハードドライブ、光ディスクドライブ、等を含む。コンピューティングデバイス１００は、メモリ１０２またはＩ／Ｏコンポーネント１０６などのさまざまなエンティティからデータを読み出す１つまたは複数のプロセッサを含む。（１つまたは複数の）プレゼンテーションコンポーネント１０４は、ユーザまたは他のデバイスにデータ表示を提示する。例示的なプレゼンテーションコンポーネントは、表示デバイス、スピーカ、印刷コンポーネント、振動コンポーネント、等を含む。
【００１８】
[0042]Ｉ／Ｏコンポーネント１０６は、静止画またはビデオを撮ることができるカメラを備えることができる。一実施形態では、カメラは、写真を撮るときに、色データ（例えば、赤、緑、青）および深さデータを取り込む。深さデータは、カメラによってカメラそれ自体に取り込まれるオブジェクトの−一実施形態では、ピクセルごとのベースで−近さを示す。深さデータは、投影したＩＲ光を読み取るため赤外線（ＩＲ）カメラを使用すること、投影したレーザ光を読み取ること、等のような多くの方法で取り込まれることがある。深さデータは、センチメートルごとに、メートルごとに、または他の空間的表現で記憶されることがある。例えば、ＩＲドットは、投影されることがあり、ＩＲカメラによって読み取られ、カメラのすぐ前の領域内の画像の深さを詳細に説明する出力ファイルを生成し、メートルごとの向きで測定されることがある。加えて、深さデータはまた、深さが測定されるスクリーン領域のピクセルを記録することによって、取り込んだオブジェクトの特定の部分の向きを示すことができる。カラーカメラおよび深さカメラが相互に別々に設置されることがあるという理由で、変換は、取得した色データを対応する深さデータにマッピングするために行われることがある。
【００１９】
[0043]Ｉ／Ｏポート１１８は、コンピューティングデバイス１００がＩ／Ｏコンポーネント１２０を含む他のデバイスに論理的につなげられることを可能にし、他のデバイスのいくつかは、ビルトインであってもよい。例示のＩ／Ｏコンポーネント１２０は、マイクロフォン、ジョイスティック、ゲームパッド、衛星用パラボラアンテナ、スキャナ、プリンタ、ワイヤレスデバイス、等を含む。
【００２０】
[0044]前に示したように、いくつかの実施形態は、仮想環境においてオブジェクトのディジタル表示を作成することを対象とする。図２は、一実施形態による、オブジェクト２０６のディジタル表現を作成するためのユーザ２０４のための環境２００の図である。本明細書において説明するこの配置および他の配置が例としてのみ示されることを理解すべきである。別の配置および要素（例えば、マシン、インターフェース、機能、順序、および機能のグループ分け、等）が、示したものに加えてまたは代わりに使用されても、いくつかの要素は、完全に省略されてもよい。さらに、本明細書において説明する要素の多くは、独立したコンポーネントもしくは分散型コンポーネントとして、または他のコンポーネントとともに、ならびに任意の適した組合せおよび場所に実装されることがある機能エンティティである。１つまたは複数のエンティティによって実行されるように本明細書において説明するさまざまな機能は、ハードウェア、ファームウェア、および／またはソフトウェアによって実行されることがある。例えば、さまざまな機能は、メモリ内に記憶された命令を実行するプロセッサによって実行されることがある。
【００２１】
[0045]図２に注目すると、環境２００は、コンピューティングデバイス２０２へタコの人形として示されたオブジェクト２０６を提示するユーザ２０４を示し、コンピューティングデバイス２０２は、２つのカメラすなわちカラーカメラ２０８および深さカメラ２１０を搭載している。環境２００において、コンピューティングデバイス２０２は、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（登録商標）によって作られたＭｉｃｒｏｓｏｆｔ  Ｋｉｎｅｃｔ（商標）などのゲームコンソールである。コンピューティングデバイス２０２上のカメラは、オブジェクト２０６を含む１つまたは複数の画像を取り込む。カラーカメラ２０８は、画像用の色データを取り込み、深さカメラ２１０は、深さデータを取り込む。代替実施形態では、コンピューティングデバイス２０２は、色データおよび深さデータの両方を取り込む１つのカメラを有するだけであってもよい。
【００２２】
[0046]スタンドアロンデバイスとして示されるとしても、コンピューティングデバイス２０２は、他のコンピューティングデバイス（例えば、ゲームコンソール、サーバ、等）に一体化されるまたは通信で接続されることがある。コンピューティングシステム２００のコンポーネントは、ネットワークを介して相互に通信することができ、ネットワークは、限定ではなく、１つもしくは複数のローカルエリアネットワーク（ＬＡＮ）および／またはワイドエリアネットワーク（ＷＡＮ）を含むことができる。このようなネットワーク環境は、事務所、会社規模のコンピュータネットワーク、イントラネット、およびインターネットにおいて普通である。いくつかの実施形態が追加のコンピューティングデバイス２０２を含むことができることを、理解すべきである。１つのデバイス／インターフェースまたは分散型環境において協働する複数のデバイス／インターフェースを、各々が含むことができる。
【００２３】
[0047]いくつかの実施形態では、本明細書において説明するディジタル化技術の１つまたは複数は、スタンドアロンアプリケーションによって実装されることがある。あるいは、ディジタル化技術の１つまたは複数は、インターネットなどのネットワークの全体にわたる異種のコンピューティングデバイスによって、またはゲームシステム内部のモジュールによって実装され得る。図２に示されたコンポーネント／モジュールは、性質においておよび数において例示的であり、限定するようには解釈されるべきでないことが、当業者には理解されるであろう。任意の数のコンポーネント／モジュールが、本発明の実施形態の範囲内で所望の機能を実現するために採用されることがある。さらに、コンポーネント／モジュールは、任意の数のサーバまたはクライアントコンピューティングデバイス上に設置され得る。
【００２４】
[0048]ユーザ２０４が、コンピューティングデバイス２０２にオブジェクト２０６の前側を提示するように図２には示されているが、ユーザ２０４は、コンピューティングデバイス２０２にオブジェクト２０６の裏側を提示することができ、そのため、オブジェクト２０６の裏側画像を、取り込むことができる。裏側画像は、次に、オブジェクト２０６の表側画像と結合可能であり、オブジェクト２０６の３Ｄ表示を生成することが可能である。各々の取り込まれた画像は、色データおよび深さデータを含むことができ、その両方は、コンピューティングデバイス２０２がオブジェクト１０６の３Ｄ表示を正確に作成することを可能にする。
【００２５】
[0049]オブジェクト１０６の追加の画像視野が、異なる実施形態では、ディジタル化を助けるためにやはり使用され得る。オブジェクト１０６は、任意の異なる角度から写真撮影されても、ビデオ撮影されてもよい。例えば、数枚の画像が、よりしっかりとした３Ｄディジタル化を生成するために、前面視野および裏面視野に加えて、または代わりに、画像１０６の右、左、底部、および上部から撮られることがある。例えば、いくつかの側面視野が、オブジェクト１０６の特定の側面をディジタル化するために使用されることがある。少なくとも実施形態では、使用されるオブジェクト１０６の視野が多いほど、３Ｄ表示は、より完全または正確である。
【００２６】
[0050]図３は、一実施形態による、オブジェクトをディジタル化するための作業の流れ３００の図である。最初に、３０２において示したように、ユーザは、画像が撮られるように、コンピューティングデバイス上のカメラにオブジェクトを提示する。コンピューティングデバイスは、いくつかの実施形態では、画像の最適画像を取り込むために特定の領域へとオブジェクトを動かすようにユーザに指示することができる。例えば、ディスプレイ上に外形線を形成することを問い合わせ、ユーザおよびオブジェクトのリアルタイム画像を示し、次に外形線へとオブジェクトを動かすようにユーザに指示する。一旦、初期画像が撮られると、３０４において示したように、コンピューティングデバイスは、取り込むためにオブジェクトの裏側を提示するようにユーザに指示することができる。裏側を取り込むための指図は、コンピューティングデバイスによって同様に行われることがある。取り込まれた各画像について、色データおよび深さデータが、記憶され、表示されるオブジェクトをディジタル化するために使用される。その上、複数の画像が、オブジェクトの前側像および裏側像用に取り込まれることがある。例えば、コンピューティングデバイスは、１０枚の前面画像および１０枚の裏面画像を撮るように、そしておそらく前面の１０枚を一緒におよび裏面の１０枚を一緒にマージするように、または画像をディジタル化するために２０枚すべてを使用するように構成され得る。１０枚の画像が、オブジェクトをディジタル化するための画像の理想的な数であるように示しているが、別の実施形態は、異なる数の取り込んだ画像を使用することができる。
【００２７】
[0051]一旦、オブジェクトの前面画像および裏面画像がカメラによって取り込まれると、一実施形態は、３０６において示したように、カメラまでの画像内で最も近接した点を画像の深さデータを使用して検索することによって、オブジェクトをディジタル化することを始める。ユーザは、ユーザの前にディジタル化するオブジェクトをおそらく保持し、そのためオブジェクトは、他のものよりもカメラに近いはずである。いったん図２に戻ると、ユーザ２０４が自分の前にオブジェクト２０６を保持し、そのため、コンピューティングデバイス２０２により近いことに気付くことがある。画像内で最も近接したオブジェクトの場所を見つけることは、画像に関係する深さデータを使用して実現されることがあり、いくつかの実施形態は、前側画像および裏側画像の両者について処理を実行し、両者の中で最も近接したオブジェクトを特定する。
【００２８】
[0052]３０８において示したように、画像内で特定された最も近接したオブジェクトは、次に、オブジェクト端がどこであるかを特定するためにエッジを検索される。深さデータは、画像中のオブジェクトのエッジの位置を見つけるために再び使用される。エッジ検索は、最も近接した点から外へ向かって始められ、複数の点の深さの著しい違いを探す。例えば、図２中のタコのエッジは、ユーザ２０４の肩を表す隣接する点よりもほぼ０．５メートル近い点を有することがある。このような著しい違いは、隣接する点がオブジェクトの一部ではなく、したがってさらに先のディジタル化ステップには含まれるべきではないという読み取り可能な信号を表す。このような方法でオブジェクトのすべてのエッジの位置を見つけることは、コンピューティングデバイスが画像内のオブジェクトを特定することを可能にする。
【００２９】
[0053]一旦、オブジェクトが決定されると、一実施形態は、画像の残り（すなわち、オブジェクトとして特定されない画像の部分）に関係する色データをオフに切り替える。いくつかの実施形態では、複数の画像（例えば、オブジェクトの前面の１０枚の画像および裏面の１０枚の画像）を取り込むことが必要である場合があり、そのため、３１０において示したように、スムージング技術が、フレーム間の見つけたエッジを混ぜ合わせるために必要とされることがある。例えば、オブジェクトは、フレーム１とフレーム４との間で動くことがあり、そのためフレーム間のエッジのスムージングが、オブジェクトの正確な表示を得るために必要とされることがある。加えて、ノイズ、低解像度、および深さと色の位置合わせにおける不完全性がまた、エッジの追加のスムージングおよび／またはフィルタリングを必要とさせることがある。
【００３０】
[0054]一実施形態では、３１２において示したように、結果として得られたスムージングしおよび／またはフィルタリングしたオブジェクトは、確認のためにユーザに提示される。ユーザは、次に、結果として得られたオブジェクトを受容するまたは拒絶することが可能である。受容された場合には、追加の処理が、オブジェクトをディジタル化するために続くことがある。拒絶された場合には、実施形態は、オブジェクトの新しい写真を撮ることによって処理全体を始めるかどうかをユーザに問い合わせることができる、または単純にオブジェクトを再スムージングするまたは再フィルタリングすることができる。
【００３１】
[0055]最終的に、前面画像および裏面画像は、３Ｄでのオブジェクトのポイントクラウド構成を生成するために使用される。図１１に詳細に示される「ポイントクラウド構成」は、特定されたオブジェクトの各点またはピクセルの深さを用いた、３Ｄ空間へのオブジェクトの前面画像および／または裏面画像のマッピングである。ポイントクラウド構成は、オブジェクトのさらに先のディジタル化の際に使用される。とは言え、代替実施形態は、深さデータのおよび色データの別の表現または空間集合体を使用することができ、さまざまな画像からオブジェクトの構成物または別のタイプの表現を作成することができる。
【００３２】
[0056]図４〜図２６は、ディジタル化プロセスにおけるさまざまなステップの画像を示し、さまざまな実施形態によって使用される処理を図説するために下記にさらに詳細に論じられる。具体的に、図４Ａおよび図４Ｂは、一実施形態による、ディジタル化のためにオブジェクトを提示するユーザのカメラ視野像である。図示した実施形態では、オブジェクトの２つの視野が取り込まれる。カラーカメラは、対象になるオブジェクトの周りの６４０×４８０の色ウィンドウを得るためにフレームの中心上にズームインされ、色ウィンドウの角は、次に（角が、対象になるオブジェクトの前面にあると仮定して）深さフレーム座標へと変換される。一致する１６０×１２０のウィンドウが、次に、深さフレームから捉えられる。（カメラまでの対象になるオブジェクトの距離に依存して）この事前フレームウィンドウ調節を用いないと、深さウィンドウおよび色ウィンドウは、可能な限り十分には重ならないことがある。その上、生の色および生の深さは、深さと色の位置合わせまたは色と深さの位置合わせを実行しないで取り込まれ得る。さまざまな他の解像度が代わりに使用され得るので、この解像度数およびウィンドウは、単に例示の目的で与えられる。
【００３３】
[0057]一実施形態では、深さ画像は、対象になるオブジェクトにセグメント化される。そうするために、カメラに最も近接した深さピクセルが、このような点が対象になるオブジェクト上にあると仮定して、検索され、見つけられる。この実施形態は、次に、見つけた最も近接した点から外へ向かって、深さエッジ（すなわち、深さがオブジェクトの前面から遠すぎる場合、または深さデータがない場合）にぶつかるまで塗りつぶす。加えて、大きな勾配の領域の周りでありかつ非常に少ない隣接点しか有さない点は、除かれることがある。結果は、図５に示したように、対象になるオブジェクト上にある深さピクセルのマスク（本明細書においては「セグメント化した深さ画像」と呼ばれる）である。セグメント化した深さ画像は、深さフレーム（１０のリングバッファサイズで出荷されたＢＡＢ／ＧＯＥ）のリングバッファ中に記憶され、最も古い深さフレームを書き換え、すべてのフレームを全体として平均して最終的な深さ画像を得る。一実施形態では、セグメント化した深さピクセルだけが、最終的な平均に寄与する。結果として、ノイズはスムージングされ、より安定なオブジェクトエッジをもたらし、オブジェクトの複数の部分がノイズまたはＩＲ反射の悪い物質のために点滅しセグメント化から外れるシナリオを改善する。
【００３４】
[0058]図６は、一実施形態による、深さと色のオフセットの図である。図示したように、一実施形態は、緑色（最上部の右角に示される）、赤色（下側左角に示される）、およびその間に２つの混合色を有する深さと色のオフセットテーブルを作る。各ピクセルの深さ空間座標と色空間座標との間のオフセットは、色セグメント化およびメッシュ処理中に迅速なルックアップのためにテーブル中に記憶され、同様に、特定のカメラの較正設定にかかわらず、２枚の取り込んだカラー画像だけを使用して出力メッシュを完全に再生することを助ける。オブジェクトセグメント化の外のテーブルの領域は、外に向かうセグメント化のエッジのところのオフセットをコピーすることによって埋められることがある。エッジにおけるコピーしたオフセットは、深さ画像へと投影された出力メッシュ中の頂点が深さセグメント化の境界線の外側になるケースを取り扱うために後で使用され得る。
【００３５】
[0059]一実施形態に従って、図７は、ソースカラー画像であり、図８は、取り込んだオブジェクトの色セグメント化の図である。深さ空間におけるセグメント化から始めると、一実施形態は、星形分配パターンを使用して、各々のセグメント化した深さピクセルを３２０×２４０の色セグメント化バッファへと分配する。結果として得られたパターンは、次に、６４０×４８０へと「アップサンプル」され、ソース深さピクセルが「理想的な」距離からどれだけ遠いかを記述する「理想からの距離」値が、次に各々のセグメント化した色ピクセルについて計算される。理想的な距離は、可能な限り色／深さデータを多く取得するために、ユーザが対象になるオブジェクトをどれだけカメラに近づけて保持すべきかを、深さカメラの前面クリップ平面を横切らずに表す。これらの値は、取込みプロセス中にユーザへのフィードバックとして表示され得る。理想からさらに遠くのピクセルは、理想に近いピクセルよりももっとひどくぼかされ汚されることがある。理想からの距離値は、リアルタイムプレビューのために使用されるカラー画像のアルファチャネルへと最終的にはコピーされる。
【００３６】
[0060]図９および図１０は、一実施形態による、ディジタル化されるオブジェクトを保持するための指図を与えるユーザインターフェース（ＵＩ）の図である。図９は、図示した実施形態が、セグメント化したピクセルの数、カメラまでの距離、カメラ視野の中心からの距離、ピクセル安定性、オブジェクトサイズを解析し、オブジェクトをどのようにして最良の位置に置くかについての視覚フィードバックおよびテキストフィードバックを与えることを示す。フィードバックは、スクリーン上の外形線の形態であってもよい。図１０は、上記のものと同じプロセスを使用する、対象になるオブジェクトの裏面の画像の色データおよび深さデータを示す。一実施形態は、セグメント化した前面取込み画像の外形線を使用してオブジェクトを正しく向けるようにユーザに指図する。前面取込み画像および裏面取込み画像が後で自動的に位置合わせ可能であるという理由で、ユーザは、正確に外形線を一致させなければならないことはない。
【００３７】
[0061]図１１は、一実施形態による、ポイントクラウド構成を示す。この時点で、２つの色データ画像および深さデータ画像は、対象になるオブジェクトへとセグメント化されている。これらの画像を使用して、対象になるオブジェクトの表面上の点のポイントクラウド構成が、作られることが可能であり、三角形メッシュを再構成するために後で使用され得る。前面深さ画像中のセグメント化したピクセルは、３Ｄポイント「シート」へと変換される。一実施形態では、位置は、深さデータを使用して深さ画像空間からモデル空間へと投影されずに、原点はシートの裏面中心である。シートのエッジは、追加の点を加えることによって裏に向かって突き出し、オブジェクトの側面を形成する。オブジェクトがどれだけ「深い」かを推測するために、ＢＡＢ／ＧＯＥでは、突き出した距離についての一定値が使用され得る。
【００３８】
[0062]同様に、裏面深さ画像からの３Ｄポイントシートは、原点として前面取込み画像の裏面中心を使用して作られる。図１２は、一実施形態による、位置を合わせられたポイントシートの２つの視野である。シートの位置を合わせるために、初期変換は、上向きの軸の周りで１８０度このシートを回転して計算され、その結果、ポイントクラウドの裏面を形成する。一実施形態では、前面シートおよび裏面シートのエッジを可能な限り近くに位置を合わせる別の変換が、計算される。位置合わせプロセスは、裏面シートの重心が前面シートの重心と一致するように裏面シートを移動することがある。ブルートフォース反復は、次に、各前面エッジ点からその最も近接した裏面エッジ点までの距離の総和として計算される「位置合わせ誤差」値を最小にするために、移動および回転の範囲全体にわたって使用される。反復は、マルチパス（各パスで、１回に１つ各々の移動および回転軸についての最良値を計算することを試みる）で行われることがあり、各軸を横切る検索は、効率性のために２段の階層的な手法を使用して行われる。最近接点検索は、３Ｄセル空間区分を使用して加速される。一実施形態はまた、高速のきめ細かい位置合わせ用の反復最近接点（「ＩＣＰ」）アルゴリズムを実装する、または代替で、より優れた制御の必要性が、ブルートフォース法反復だけの使用を指示することがある。
【００３９】
[0063]裏面シート中に対応する点を有さない前面シートからの点は、最も近い裏面点を見つけるために各前面点から後ろに向かって検索するために抜粋されることがある。同じように、前面シート中に対応する点を有さない裏面シートからの点は、抜粋されることがある。これが、ユーザの手が取込み画像内にあるが、取込み画像間で位置を変える場合に、またはオブジェクトが前面取込み画像と裏面取込み画像との間で形状を変える場合に生じることがあるような、前面取込み画像と裏面取込み画像との間で一致しないシートの部分を取り除く。
【００４０】
[0064]一実施形態では、残りの点は、最終的なポイントクラウドへと一緒にマージされ、点に対する法線は、各点およびその右隣りと下隣りによって形成される平面を使用して計算される。図１３は、一実施形態による、最終的なポイントクラウド構成を示す。
【００４１】
[0065]確認画像は、図１４に示したように、次に、ユーザに提示され得る。確認画像は、シート位置合わせおよび点抜粋の結果を組み入れて、取込み、位置合わせ、または抜粋がひどく失敗したケースを検出すること、および構成プロセスの残りを経ずに再び取り込むことをユーザに可能にする。画像は、最終的なポイントクラウド中の点を前面カラー画像および裏面カラー画像のアルファチャネルへと投影しかつ分配し、位置合わせ変換に基づいて裏面画像を回転し、ある追加の画像のクリーンアップを行うことによって、作られる。
【００４２】
[0066]表面再構成ステップは、最終的なポイントクラウドを撮り、三角形メッシュを生成する。図１５は、表面再構成を用いたメッシュ出力の図を示す。一実施形態は、ＭＲＳ−ＢｅｉｊｉｎｇのＸｉｎ  Ｔｏｎｇのグループ内のＭｉｎｍｉｎ  Ｇｏｎｇによって開発され、Ｋａｚｈｄａｎ、Ｂｏｌｉｔｈｏ、およびＨｏｐｐｅによる「Ｐｏｉｓｓｏｎ  Ｓｕｒｆａｃｅ  Ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ（ポアソン表面再構成）」、ならびにＺｈｏｕ、Ｇｏｎｇ、Ｈｕａｎｇ、およびＧｕｏによる「Ｈｉｇｈｌｙ  Ｐａｒａｌｌｅｌ  Ｓｕｒｆａｃｅ  Ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ（非常に平行な表面再構成）」に詳細に記載されたＰｏｉｓｓｏｎ  Ｓｕｒｆａｃｅ  ＲｅｃｏｎｓｔｒｕｃｔｉｏｎアルゴリズムのハイブリッドＣＰＵ／ＧＰＵ実装形態を使用する。これは、メモリと時間の両方においてディジタル化の計算的に見て最も激しい部分である場合があり、いくつかの実施形態では、ほぼ２０，０００点の典型的なポイントクラウドデータに対して１０〜２０秒かかる。穴埋めの量は、制御下にメモリ使用量を保つために再構成中には制限され得るが、ポイントクラウド中に大きな穴がある場合には、このような制限は、水漏れの多いメッシュのような状態を結果としてもたらすことがある。
【００４３】
[0067]図１６は、一実施形態による、オブジェクトのスムージングし処理した画像である。頂点隣接リストが作られ、面法線および頂点法線が計算される。次に、一実施形態は、ラプラスアルゴリズムを使用して、いくつかの制約をスムージングする。結果として、オブジェクトの側面は丸められ、ノイズが除去され、ポイントシートが完全には整列していな領域は、クリーンアップされる。
【００４４】
[0068]ポイントクラウドの品質に応じて、表面再構成は、単一の大きなメッシュの代わりに形状の小さな「島」を作ることが可能である。一実施形態は、接続されたコンポーネントのラベルを使用して、島を見つけ、その体積を計算し、最も大きな島よりも著しく小さな島を除去する。
【００４５】
[0069]各頂点について、一実施形態は、その頂点の法線と前面取込み視野方向および裏面取込み視野方向との間のドット積を考察する。前面視野方向は、モデル空間の負のＺ軸に沿うことがあり、裏面視野方向は、シート位置合わせプロセスの結果に依存することがあり、正のＺ軸に沿わないことがある。結果として、いくつかの頂点は、前面取込み視野および裏面取込み視野の両方に見られことがあり、いくつかの頂点は、どちらの視野にも見られないことがある。いくつかの頂点は、その法線が裏面よりも前面に向いている場合には「前面」として分類されることがあり、逆もまた同様である。これはやはり、「シーム」頂点（すなわち、オブジェクトの前面視野および裏面視野にまたがる頂点）の位置決定を可能にする。
【００４６】
[0070]最終的なメッシュ上へと適用するテクスチャマップを作るために、一実施形態は、前面取込み画像からのカラー画像をテクスチャの最上部に置き、裏面取込み画像からのカラー画像を前面取込み画像のすぐ下に置く。テクスチャの最上部部分からのテクセルは、次に、主として前向きの三角形上へとマッピングされ、主として裏向きの三角形についても同様である。頂点は、最初には、ちょうど前面裏面のシームに沿った前面三角形と裏面三角形との間で共有されることがあり、後に、これらの共有された頂点は、複製されることがあり、その結果、前面三角形と対比して裏面三角形にテクスチャの異なる部分をマッピングする。
【００４７】
[0071]一実施形態に従って、図１７は、ＵＶ座標を有する画像を示し、図１８は、最終的なテクスチャマップの一部へと描かれた前向きの三角形エッジの図を示す。ＵＶ座標を計算するために、前向き三角形は、前面取込みカラー画像が置かれるテクスチャの最上部部分にマッピングされ、底部についても同様である。頂点位置は、深さカメラの空間内にあるが、カラー画像は、カラーカメラの空間内にあり、そのため、前面深さ画像／裏面深さ画像上へと頂点を投影した後で、一実施形態は、深さと色のオフセットテーブルを使用して、座標をカラーカメラ空間へと変換する。
【００４８】
[0072]一実施形態では、メッシュは、中心位置を変更され、上向きの軸に関してミラーリングされ、最大幅／高さアスペクト比を守るためにスケーリングされる。取り込んだカラー画像および深さ画像は、実際の物理的なオブジェクトと比較するためにミラーリングされ、そのために別のミラーリングが、これを反転するために使用される。スケルトンは、最適化されることがあり、アニメーションが、幅の広いオブジェクトよりもむしろ背の高いオブジェクトに対して追加されることがあり、そのため、幅／高さアスペクト比制限が、ある種のスケルトンとは一致しない幅の広いオブジェクトをアニメ化することによって生じるアーティファクト上に境界線を引く。
【００４９】
[0073]一実施形態では、１つのスケルトンが、スケルトンのすべてのアニメーションに対して使用される。スケルトンは、対象になるオブジェクトがはるかに多くの形状を有することを必要とせずに、動き（歩くこと、ジャンプすること、はうこと、ダンスすること、左右を見ること、等）の良い範囲を与える骨を有することができる。
【００５０】
[0074]ディジタル化した画像に肌を付けるために、メッシュは、スケーリングし直され、位置決めされ、その結果、スケルトンは、最上部の骨がオブジェクトの最上部からある割合（例えば、ほぼ９０％）に位置し（最上部の骨をオブジェクトの「頭部」の大雑把に内側に置き）、底部の骨をオブジェクトの底部範囲のところに置いた状態で、その内側にぴったりと一致する。骨インデックスが、次に計算されることが可能であり、各頂点への上向きの軸に沿って最も近い骨を見つけることによってスケルトンに重みが付け加えられ、フォールオフ曲線を使用して骨を重み付けする。図１９Ａ〜図１９Ｅは、一実施形態による、生成したスケルトン構造のさまざまな骨に加えられた重み付けを示す図である。
【００５１】
[0075]カラー画像および／または深さ画像は、ノイズを減少させ品質を向上させるために処理される。処理は、一実施形態では、前面画像および裏面画像に独立に行われ、結果が、最終的なテクスチャマップへとマージされ、このマップは追加の処理を必要とすることがある。いくつかの実験およびアーティストからのフィードバックの後で、下記のステップが最適であることが見出された。ｓＲＧＢ色を線形空間へと変換し、「グレイワールド」自動ホワイトバランスを適用し、エッジアーティファクトを修復し、輝度値および彩度値を計算し、輝度に対してバイラテラルフィルタリング、ヒストグラムイコライゼーション、およびシャープニングを適用し、彩度に中央値フィルタリングを適用し、ｓＲＧＢに変換して戻し、最後に、画像のセグメント化していない領域へと外に向かって色のエッジを延伸する。他のステップが、追加されてもよく、上記のいくつかは、別の実施形態では削除されてもよい。
【００５２】
[0076]図２０Ａおよび図２０Ｂは、一実施形態による、輝度／彩度処理前後の画像を示す。独立に輝度／彩度を処理することは、輝度画像中の詳細を保存しながら彩度をはるかに強くフィルタリングすることを可能にし、これは画像をノイズ除去することに効果的である。ヒストグラムイコライゼーションは、露出の悪い画像を補償するために非常に軽く適用され得る。
【００５３】
[0077]図２１Ａおよび図２１Ｂは、一実施形態による、ソース画像およびエッジがフィルタリングされた後の出力画像を示す。一実施形態では、「エッジ修復フィルタ」は、実際には背景からでありオブジェクト自体ではないものに由来する対象になるオブジェクトのエッジのところの色を置き換えるように試みる。悪い色は、深さ画像の比較的低い解像度および大きなノイズならびに不完全な深さと色の位置合わせに起因して紛れ込むことがある。エッジ修復フィルタは、オブジェクトエッジのすぐ周りのピクセルの「議論の領域」上に動作する。議論の領域の内側のピクセルは、明確に対象になるオブジェクトの一部分であり、もっと外部のピクセルは背景の一部分であるという仮定を使用すると、「背景確率」値は、議論の領域のピクセルごとに計算され、高確率背景ピクセルを内側の色に対して混ぜるために使用される。
【００５４】
[0078]図２２Ａおよび図２２Ｂは、一実施形態による、エッジ修復フィルタが背景色および対象になる色を見つける画像を示す。対象になる色は、外側から議論の領域へと外挿される。
【００５５】
[0079]図２３Ａおよび図２３Ｂは、一実施形態による、エッジから議論の領域までの距離および計算した背景確率値を示す画像である。さらにその上、図２４は、一実施形態による、最終処理をしていない画像上にテクスチャ加工を行った画像の最終的な合成テクスチャマップを示す。
【００５６】
[0080]前面画像および裏面画像を一緒に置くことから生じるシームは、修復される必要がある場合がある。メッシュ処理のわずかな残りは、前面と裏面シームの近くでありかつ取込み中にカラーカメラに見えない領域内のオブジェクトの外見を改善するために使用される。最初に、テクスチャ色が頂点においてどれだけ「悪い」かを表す頂点ごとのマスク値が計算される。この値は、（前面画像および裏面画像が接触するが、概して、上手く並んでない）シームまでの距離と、（カメラ視野から遠くに向いている表面に起因して、およびやはり不十分なテクセル密度から、テクスチャ色が分解される）取り込んだ画像のいずれかに対して頂点がどれだけ裏に向いているかとの積である。これらの値は、頂点色アルファチャネル内に記憶され得る。次に、表面色のぼかしたバージョンが、計算され、頂点色ＲＧＢチャネル中に記憶される。これらの色は、（細部においては低いが）かなり良い品質である。修復を必要とする負のアーティファクトは、比較的局在化され、高い頻度のものであり、ぼかすことは、より全体的な、低い頻度の色を与える。
【００５７】
[0081]図２５Ａおよび図２５Ｂは、一実施形態による、マスクした値およびひどくぼけた頂点の色を示す。実行時間において、マスク値は、一実施形態では、ソーステクスチャとぼけた頂点の色とを混ぜ合わせるために使用される。図２６Ａおよび図２６Ｂは、一実施形態による、テクスチャだけを有するメッシュ（図２６Ａ）および頂点の色がマスク値によって混ぜ合わさったメッシュ（図２６Ｂ）を示す。
【００５８】
[0082]図２７は、一実施形態による、ディジタル化したオブジェクトの最終的なレンダリングを示す。一実施形態では、一旦、最終的なメッシュおよびテクスチャが完成すると、Ｕｎｒｅａｌ  Ｅｎｇｉｎｅ３メッシュが、作られ、環境ならびにリム照明、自己遮蔽、およびアニメーションでレンダリングされる。ＧＯＥアプリもまた、Ｎｕｉスケルトンをスケルトン上へとマッピングすることによってオブジェクトをアバター化することを可能にする。
【００５９】
[0083]上記のステップは、ユーザビリティ、ＣＰＵ／ＧＰＵ／メモリ制約、出力品質、芸術的な配慮、センサ精度、および開発時間のバランスを取る。トレードオフが行われ、これは、各シナリオに固有でないこともある。そのようなものとして、最終的なディジタル化の速度または品質を向上させるために、さまざまなステップが付け加えられても、または上記のいくつかが削除されてもよい。
【００６０】
[0084]図２８は、一実施形態による、オブジェクトをディジタル化するための作業の流れ２８００を示す。２８０２において示したように、ある画像についての色データおよび深さデータが受信される。深さデータを解析して、ユーザが、取込み用のカメラにオブジェクトを提示する可能性が最も高いという仮定に基づいて、カメラまでの画像の最も近い点を特定することによって、対象のオブジェクトが見つけられる。対象のオブジェクトを決定するための代替方法が、代わりにまたは追加して使用されることがある。実施形態は、画像内でオブジェクトを位置決めするためのいずれかの特定のタイプの手段に限定されないので、さまざまな画像認識技術またはアルゴリズミックマッチング技術が、画像内でオブジェクトを位置決めするために使用されることがある。また、実施形態は、オブジェクトを位置決めするために深さデータに加えてまたは代わりに画像の色データを使用することができる。例えば、コカコーラ缶は、赤のトレードマーク色を含むことがあり、写真内に缶を位置決めしようとするときに、色データを特に関係させる。このように、対象のオブジェクトは、多くの異なる方法で見つけることができる。
【００６１】
[0085]一旦、対象のオブジェクトが位置決めされると、２８０６において示したように、オブジェクトのエッジが特定される。このような決定は、オブジェクトの周りの画像内の色、深さ、またはコントラストの差異を解析することによって行われることがある。一旦、エッジが位置決めされると、オブジェクトのポイントクラウド構成が、２８０８において示したように、画像の色データおよび深さデータを使用して実行されることがある。３Ｄにオブジェクトをディジタル化するために、オブジェクトのさまざまな面についての複数のポイントクラウド構成が、複数の画像（例えば、裏面、前面、上面、底面、等）の色データおよび深さデータに基づいて構成されることがある。複数のポイントクラウド構成は、一旦作られると、２８１０において示したように、オブジェクトの最終的なディジタル化を作成するために集計され得る。
【００６２】
[0086]図２９は、一実施形態による、オブジェクトをディジタル化するための作業の流れ２９００を示す。一旦、オブジェクトの画像が受信されると、２９０２において示したように、画像の複数の最も近い点が、２９０４において示したように特定される。オブジェクトの側面（例えば、左、右、北、南、上部、底部、等）が、２９０６において示したように特定される。複数の画像の複数のポイントクラウド構成が、２９０８において示したように作られ、２９１０において示したように１つの表現へとマージされる。得られた表現は、次に、２９１２において示したように保存され得、表示デバイス上に提示される。
【００６３】
[0087]示したさまざまなコンポーネント、ならびに示されていないコンポーネントの多くの異なる配置が、別記の特許請求の範囲の範囲から逸脱せずに可能である。我々の技術の実施形態は、限定的であるというよりは例示であることを目的として説明されてきている。代替実施形態は、この開示を読んだ後、およびその理由により明らかになるであろう。前述の内容を実装する代替手段は、別記の特許請求の範囲の範囲から逸脱せずに完成することができる。ある種の特徴および部分的組合せが有用なものであり、他の特徴および部分的組合せを参照せずに利用される場合があり、特許請求の範囲の範囲内であると考えられる。
【図１】
0005985620.tif 000002
【図２】
0005985620.tif 000003
【図３】
0005985620.tif 000004
【図５】
0005985620.tif 000005
【図６】
0005985620.tif 000006
【図７】
0005985620.tif 000007
【図８】
0005985620.tif 000008
【図９】
0005985620.tif 000009
【図１０】
0005985620.tif 000010
【図１１】
0005985620.tif 000011
【図１２】
0005985620.tif 000012
【図１３】
0005985620.tif 000013
【図１４】
0005985620.tif 000014
【図１５】
0005985620.tif 000015
【図１６】
0005985620.tif 000016
【図１７】
0005985620.tif 000017
【図１８】
0005985620.tif 000018
【図１９Ａ−１９Ｅ】
0005985620.tif 000019
【図２０Ａ】
0005985620.tif 000020
【図２０Ｂ】
0005985620.tif 000021
【図２１Ａ】
0005985620.tif 000022
【図２１Ｂ】
0005985620.tif 000023
【図２２Ａ】
0005985620.tif 000024
【図２２Ｂ】
0005985620.tif 000025
【図２３Ａ】
0005985620.tif 000026
【図２３Ｂ】
0005985620.tif 000027
【図２４】
0005985620.tif 000028
【図２５Ａ−２５Ｂ】
0005985620.tif 000029
【図２６Ａ−２６Ｂ】
0005985620.tif 000030
【図２７】
0005985620.tif 000031
【図２８】
0005985620.tif 000032
【図２９】
0005985620.tif 000033
【図４】
0005985620.tif 000034