(57)【特許請求の範囲】
【請求項１】
オブジェクトの複数のキーフレームをキャプチャするステップと、
前記オブジェクトのための表面メッシュモデルを備える前記オブジェクトの三次元(「3D」)表現にアクセスするステップであって、前記表面メッシュモデルが複数のポリゴンを備える、ステップと、
前記複数のポリゴンのうちのポリゴンの第1のセット内の各ポリゴンに関して、前記ポリゴンに対応する前記キーフレームの一部に関連付けられた1つまたは複数の画像品質特性に基づいて、前記ポリゴンに前記複数のキーフレームのうちの1つを割り当てるステップと、
割り当てられたキーフレームと前記複数のポリゴンのうちのポリゴンの第2のセットとの間の関連付けを変更することによって、割り当てられたキーフレームの数を低減するステップであって、ポリゴンの前記第2のセットのうちの第1のポリゴンが、前記低減された数の割り当てられたキーフレームのうちの第1のキーフレームに割り当てられ、ポリゴンの前記第2のセットのうちの第2のポリゴンが、前記低減された数の割り当てられたキーフレームのうちの第2のキーフレームに割り当てられ、前記第1のポリゴンおよび前記第2のポリゴンが少なくとも第1の頂点によって定義される、ステップと、
割り当てられたキーフレームを有する前記表面メッシュモデルの各ポリゴンに関して、
前記ポリゴンに割り当てられた前記キーフレームに少なくとも部分的に基づいて、前記ポリゴンの少なくとも一部のテクスチャ色を等化するステップと、
前記オブジェクトの前記3D表現に前記等化されたテクスチャ色を割り当てるステップと
を備え、
前記第1のポリゴンのテクスチャ色を等化するステップが、前記第1のキーフレームに基づく前記第1の頂点のための第1のピクセル値に基づき、前記第2のポリゴンのテクスチャ色を等化するステップが、前記第2のキーフレームに基づく前記第1の頂点のための第2のピクセル値に基づき、前記第1のピクセル値が前記第2のピクセル値と異なる、ビュー非依存色等化三次元シーンテクスチャ処理のための方法。
【請求項２】
前記ポリゴンのテクスチャ色を等化する前記ステップが、
前記複数のキーフレームのサブセットに基づいて前記ポリゴンの各頂点のための加重平均テクスチャ色を計算するステップであって、前記サブセットが、前記ポリゴンの少なくとも1つの頂点に関連付けられたピクセルを有するキーフレームを備える、ステップと、
各頂点の前記加重平均テクスチャ色を、それぞれの割り当てられたキーフレームからの前記オブジェクト上の関連する点のテクスチャ色と比較することによって、各頂点の前記加重平均テクスチャ色を使用してテクスチャ色等化乗数を計算するステップと、
前記ポリゴンにテクスチャ色を適用するステップであって、前記適用するステップが、前記ポリゴンの前記頂点に基づいて、前記ポリゴン内のピクセルにわたって前記テクスチャ色等化乗数を補間するステップを備える、ステップと
を備える、請求項1に記載の方法。
【請求項３】
前記複数のキーフレームのサブセットに基づいて前記ポリゴンの各頂点のための前記加重平均テクスチャ色を計算するステップが、
各頂点に関して、
前記サブセットの各キーフレームに関して、
前記ポリゴンに対して垂直なベクトルとカメラ平面に対して垂直なベクトルとの間の角度に基づいて、前記キーフレームに関連付けられた重みを決定するステップと、
前記頂点に関連付けられた前記キーフレーム内の前記オブジェクト上の対応する点の前記テクスチャ色に前記重みを適用することによって、重み付けされたテクスチャ色を決定するステップと、
前記サブセットの各キーフレームの前記重み付けされたテクスチャ色を合計するステップと、
前記合計に基づいて、前記頂点のための前記加重平均テクスチャ色を計算するステップと
を備える、請求項2に記載の方法。
【請求項４】
前記ポリゴンの前記テクスチャ色を等化するステップが、(1)前記ポリゴンに関連付けられた前記低減されたキーフレームのセットのうちの前記キーフレームの前記一部と、(2)前記複数のキーフレームの各々の対応する部分からのピクセルに関連付けられるように、新しいテクスチャの前記一部における各ピクセルのための前記複数のキーフレームからの加重平均テクスチャ色とに基づいて、前記複数のポリゴンのうちの前記ポリゴンのための前記新しいテクスチャを計算するステップを備える、請求項1に記載の方法。
【請求項５】
前記複数のキーフレームのうちの1つを選択するステップが、
前記複数のキーフレームの各々のスコアを決定するステップと、
最高のスコアを有するキーフレームを選択するステップと
を備える、請求項1に記載の方法。
【請求項６】
スコアを決定するステップが、
前記ポリゴンに対して垂直なベクトルとカメラ平面に対して垂直なベクトルとの間の角度を決定するステップと、
前記キーフレームに関連付けられた奥行きマップに基づいて、カメラから前記オブジェクトまでの距離を決定するステップと、
前記奥行きマップに関連付けられた奥行きマップ誤差を決定するステップと、
前記キーフレームに関連付けられた姿勢を決定するステップと、
式:スコア=角度*(距離)2*奥行きマップ誤差*姿勢、を使用して前記スコアを決定するステップと
を備える、請求項5に記載の方法。
【請求項７】
前記画像品質特性が、閉塞値、オブジェクトの距離、照明品質、またはキーフレーム角度のうちの少なくとも1つを備える、請求項1に記載の方法。
【請求項８】
割り当てられたキーフレームと前記複数のポリゴンとの間の関連付けを変更することによって、少なくとも1つのポリゴンに関連付けられた割り当てられたキーフレームの数を低減するステップが、少なくとも1つのポリゴンがどのキーフレームにも関連付けられないように、前記少なくとも1つのポリゴンのためのすべての関連付けを除去するステップを備える、請求項1に記載の方法。
【請求項９】
コンピュータ可読記録媒体と、
前記コンピュータ可読記録媒体と通信する電子プロセッサとを備え、前記電子プロセッサが、
オブジェクトの複数のキーフレームを受信することと、
前記オブジェクトのための表面メッシュモデルを備える前記オブジェクトの三次元(「3D」)表現にアクセスすることであって、前記表面メッシュモデルが複数のポリゴンを備える、ことと、
前記複数のポリゴンのうちのポリゴンの第1のセット内の各ポリゴンに関して、前記ポリゴンに対応する前記キーフレームの一部に関連付けられた1つまたは複数の画像品質特性に基づいて、前記ポリゴンに前記複数のキーフレームのうちの1つを割り当てることと、
割り当てられたキーフレームと前記複数のポリゴンのうちのポリゴンの第2のセットとの間の関連付けを変更することによって、割り当てられたキーフレームの数を低減することであって、ポリゴンの前記第2のセットのうちの第1のポリゴンが、前記低減された数の割り当てられたキーフレームのうちの第1のキーフレームに割り当てられ、ポリゴンの前記第2のセットのうちの第2のポリゴンが、前記低減された数の割り当てられたキーフレームのうちの第2のキーフレームに割り当てられ、前記第1のポリゴンおよび前記第2のポリゴンが少なくとも第1の頂点によって定義される、ことと、
割り当てられたキーフレームを有する前記表面メッシュモデルの各ポリゴンに関して、
前記ポリゴンに割り当てられた前記キーフレームに少なくとも部分的に基づいて、前記ポリゴンの少なくとも一部のテクスチャ色を等化することと、
前記オブジェクトの前記3D表現に前記等化されたテクスチャ色を割り当てることと
を行うように構成され、
前記第1のポリゴンのテクスチャ色を等化するステップが、前記第1のキーフレームに基づく前記第1の頂点のための第1のピクセル値に基づき、前記第2のポリゴンのテクスチャ色を等化するステップが、前記第2のキーフレームに基づく前記第1の頂点のための第2のピクセル値に基づき、前記第1のピクセル値が前記第2のピクセル値と異なる、ビュー非依存色等化三次元シーンテクスチャ処理のためのシステム。
【請求項１０】
前記プロセッサが、
前記複数のキーフレームのサブセットに基づいて前記ポリゴンの各頂点のための加重平均テクスチャ色を計算することであって、前記サブセットが、前記ポリゴンの少なくとも1つの頂点に関連付けられたピクセルを有するキーフレームを備える、ことと、
各頂点の前記加重平均テクスチャ色を、それぞれの割り当てられたキーフレームからの前記オブジェクト上の関連する点のテクスチャ色と比較することによって、各頂点の前記加重平均テクスチャ色を使用してテクスチャ色等化乗数を計算することと、
前記ポリゴンにテクスチャ色を適用することであって、前記適用することが、前記ポリゴンの前記テクスチャ色を等化するために、前記ポリゴンの前記頂点に基づいて、前記ポリゴン内のピクセルにわたって前記テクスチャ色等化乗数を補間することを備える、ことと
を行うようにさらに構成された、請求項9に記載のシステム。
【請求項１１】
前記プロセッサが、各頂点に関して、
前記サブセットの各キーフレームに関して、
前記ポリゴンに対して垂直なベクトルとカメラ平面に対して垂直なベクトルとの間の角度に基づいて、前記キーフレームに関連付けられた重みを決定することと、
前記頂点に関連付けられた前記キーフレーム内の前記オブジェクト上の対応する点の前記テクスチャ色に前記重みを適用することによって、重み付けされたテクスチャ色を決定することと、
前記サブセットの各キーフレームの前記重み付けされたテクスチャ色を合計することと、
前記複数のキーフレームのサブセットに基づいて、前記ポリゴンの各頂点のための前記加重平均テクスチャ色を計算するために、前記合計に基づいて、前記頂点のための前記加重平均テクスチャ色を計算することと
を行うようにさらに構成された、請求項10に記載のシステム。
【請求項１２】
前記プロセッサが、前記ポリゴンの前記テクスチャ色を等化するために、(1)前記ポリゴンに関連付けられた前記低減されたキーフレームのセットのうちの前記キーフレームの前記一部と、(2)前記複数のキーフレームの各々の対応する部分からのピクセルに関連付けられるように、新しいテクスチャの前記一部における各ピクセルのための前記複数のキーフレームからの加重平均テクスチャ色とに基づいて、前記複数のポリゴンのうちの前記ポリゴンのための前記新しいテクスチャを計算するようにさらに構成された、請求項9に記載のシステム。
【請求項１３】
前記プロセッサが、
前記複数のキーフレームの各々のスコアを決定し、
前記複数のキーフレームのうちの1つを選択するために、最高のスコアを有するキーフレームを選択するようにさらに構成された、請求項9に記載のシステム。
【請求項１４】
前記プロセッサが、
前記ポリゴンに対して垂直なベクトルとカメラ平面に対して垂直なベクトルとの間の角度を決定し、
前記キーフレームに関連付けられた奥行きマップに基づいて、カメラから前記オブジェクトまでの距離を決定し、
前記奥行きマップに関連付けられた奥行きマップ誤差を決定し、
前記キーフレームに関連付けられた姿勢を決定し、
式:スコア=角度*(距離)2*奥行きマップ誤差*姿勢、を使用して前記スコアを決定するようにさらに構成された、請求項13に記載のシステム。
【請求項１５】
前記画像品質特性が、閉塞値、オブジェクトの距離、照明品質、またはキーフレーム角度のうちの少なくとも1つを備える、請求項9に記載のシステム。
【請求項１６】
割り当てられたキーフレームと前記複数のポリゴンとの間の関連付けを交換することによって、前記少なくとも1つのポリゴンが、少なくとも1つのポリゴンに関連付けられた割り当てられたキーフレームの数を低減するためにどのキーフレームにも関連付けられないように、前記プロセッサが、少なくとも1つのポリゴンのためのすべての関連付けを除去するようにさらに構成された、請求項9に記載のシステム。
【請求項１７】
ビュー非依存色等化三次元シーンテクスチャ処理のための方法をプロセッサに実行させるように構成されたプロセッサ実行可能命令を備えるコンピュータ可読記録媒体であって、前記プロセッサ実行可能命令が、前記プロセッサに、
オブジェクトの複数のキーフレームをキャプチャすることと、
前記オブジェクトのための表面メッシュモデルを備える前記オブジェクトの三次元(「3D」)表現にアクセスすることであって、前記表面メッシュモデルが複数のポリゴンを備える、ことと、
前記複数のポリゴンのうちのポリゴンの第1のセット内の各ポリゴンに関して、前記ポリゴンに対応する前記キーフレームの一部に関連付けられた1つまたは複数の画像品質特性に基づいて、前記ポリゴンに前記複数のキーフレームのうちの1つを割り当てることと、
割り当てられたキーフレームと前記複数のポリゴンのうちのポリゴンの第2のセットとの間の関連付けを変更することによって、割り当てられたキーフレームの数を低減することであって、ポリゴンの前記第2のセットのうちの第1のポリゴンが、前記低減された数の割り当てられたキーフレームのうちの第1のキーフレームに割り当てられ、ポリゴンの前記第2のセットのうちの第2のポリゴンが、前記低減された数の割り当てられたキーフレームのうちの第2のキーフレームに割り当てられ、前記第1のポリゴンおよび前記第2のポリゴンが少なくとも第1の頂点によって定義される、ことと、
割り当てられたキーフレームを有する前記表面メッシュモデルの各ポリゴンに関して、前記ポリゴンに割り当てられた前記キーフレームに少なくとも部分的に基づいて、前記ポリゴンの少なくとも一部のテクスチャ色を等化することと、
割り当てられたキーフレームを有する前記表面メッシュモデルの各ポリゴンに関して、前記オブジェクトの前記3D表現に前記等化されたテクスチャ色を割り当てることと
を行わせるように構成され、
前記第1のポリゴンのテクスチャ色を等化することが、前記第1のキーフレームに基づく前記第1の頂点のための第1のピクセル値に基づき、前記第2のポリゴンのテクスチャ色を等化することが、前記第2のキーフレームに基づく前記第1の頂点のための第2のピクセル値に基づき、前記第1のピクセル値が前記第2のピクセル値と異なる、コンピュータ可読記録媒体。
【請求項１８】
前記プロセッサに前記ポリゴンの前記テクスチャ色を等化させるように構成されたプロセッサ実行可能命令が、前記プロセッサに
前記複数のキーフレームのサブセットに基づいて前記ポリゴンの各頂点のための加重平均テクスチャ色を計算することであって、前記サブセットが、前記ポリゴンの少なくとも1つの頂点に関連付けられたピクセルを有するキーフレームを備える、ことと、
各頂点の加重平均テクスチャ色を、それぞれの割り当てられたキーフレームからの前記オブジェクト上の関連する点のテクスチャ色と比較することによって、各頂点の前記加重平均テクスチャ色を使用してテクスチャ色等化乗数を計算することと、
前記ポリゴンにテクスチャ色を適用することであって、前記適用することが、前記ポリゴンの前記頂点に基づいて、前記ポリゴン内のピクセルにわたって前記テクスチャ色等化乗数を補間することを備える、ことと
を行わせるようにさらに構成される、請求項17に記載のコンピュータ可読記録媒体。
【請求項１９】
前記プロセッサに前記複数のキーフレームのサブセットに基づいて前記ポリゴンの各頂点のための前記加重平均テクスチャ色を計算させるように構成されたプロセッサ実行可能命令が、前記プロセッサに、
各頂点に関して、および前記サブセットの各キーフレームに関して、前記ポリゴンに対して垂直なベクトルとカメラ平面に対して垂直なベクトルとの間の角度に基づいて、前記キーフレームに関連付けられた重みを決定することと、
各頂点に関して、および前記サブセットの各キーフレームに関して、前記頂点に関連付けられた前記キーフレーム内のオブジェクト上の対応する点の前記テクスチャ色に前記重みを適用することによって、重み付けされたテクスチャ色を決定することと、
各頂点に関して、前記サブセットの各キーフレームの前記重み付けされたテクスチャ色を合計することと、
各頂点に関して、前記合計に基づいて、前記頂点のための前記加重平均テクスチャ色を計算することとを行わせるようにさらに構成される、請求項18に記載のコンピュータ可読記録媒体。
【請求項２０】
前記プロセッサに前記ポリゴンの前記テクスチャ色を等化させるように構成されたプロセッサ実行可能命令が、前記プロセッサに、(1)前記ポリゴンに関連付けられた前記低減されたキーフレームのセットのうちの前記キーフレームの前記一部と、(2)前記複数のキーフレームの各々の対応する部分からのピクセルに関連付けられるように、新しいテクスチャの前記一部における各ピクセルのための前記複数のキーフレームからの加重平均テクスチャ色とに基づいて、前記複数のポリゴンのうちの前記ポリゴンのための前記新しいテクスチャを計算させるように構成されたプロセッサ実行可能命令を備える、請求項17に記載のコンピュータ可読記録媒体。
【請求項２１】
前記プロセッサに前記複数のキーフレームのうちの1つを選択せるように構成されたプロセッサ実行可能命令が、前記プロセッサに
前記複数のキーフレームの各々のスコアを決定することと、
最高のスコアを有するキーフレームを選択することとを行わせるプロセッサ実行可能命令を備える、請求項17に記載のコンピュータ可読記録媒体。
【請求項２２】
前記プロセッサに前記スコアを決定させるように構成されたプロセッサ実行可能命令が、前記プロセッサに、
前記ポリゴンに対して垂直なベクトルとカメラ平面に対して垂直なベクトルとの間の角度を決定することと、
前記キーフレームに関連付けられた奥行きマップに基づいて、カメラから前記オブジェクトまでの距離を決定することと、
前記奥行きマップに関連付けられた奥行きマップ誤差を決定することと、
前記キーフレームに関連付けられた姿勢を決定することと、
式:スコア=角度*(距離)2*奥行きマップ誤差*姿勢、を使用して前記スコアを決定することと
を行わせるように構成されたプロセッサ実行可能命令を備える、請求項21に記載のコンピュータ可読記録媒体。
【請求項２３】
前記画像品質特性が、閉塞値、オブジェクトの距離、照明品質、またはキーフレーム角度のうちの少なくとも1つを備える、請求項17に記載のコンピュータ可読記録媒体。
【請求項２４】
割り当てられたキーフレームと前記複数のポリゴンとの間の関連付けを変更することによって、少なくとも1つのポリゴンに関連付けられた割り当てられたキーフレームの数を低減させるように構成されたプロセッサ実行可能命令が、前記プロセッサに少なくとも1つのポリゴンがどのキーフレームにも関連付けられないように、前記少なくとも1つのポリゴンのためのすべての関連付けを除去させるように構成されたプロセッサ実行可能命令を備える、請求項17に記載のコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビュー非依存色等化３Ｄシーンテクスチャ処理に関する。
【背景技術】
【０００２】
RGB-Dカメラまたは他の感知デバイスなどのデバイスは、三次元環境内のオブジェクトを追跡し、デバイスによってキャプチャされたオブジェクトまたはシーンのモデルを作成する際に使用するための情報を収集するために使用されてもよい。このキャプチャされた情報は、画像化されたシーンまたはシーン内のオブジェクトの再構成が必要とされる様々な目的のために使用されてもよい。
【０００３】
このタイプの情報をキャプチャするビューベースの三次元(「3D」)システムは、関心対象のオブジェクトの良好な幾何学的表現をもたらすが、それらが少しでも色情報をキャプチャした場合、それらの色を良好に表さない。多くの以前から知られているシステムは、モデルの頂点の色を計算する。これは、モデルが近くで見られたとき、ぼやけたオブジェクトをもたらす。他の公知のシステムは、シーンの表現をできる限りリアルに保つために、ビュー依存テクスチャ処理を使用することがあるが、ビュー依存テクスチャ処理は、照明、影、露光時間、および、モデルを作成するために使用されてもよい複数のビューにわたって変化することがある他の問題により、モデルにわたって不均一な特性をもたらすことがある。オブジェクト全体の色を補正する公知の色補正システムは、これらの問題を適切に補償しない。
【０００４】
ビュー非依存色等化3Dシーンテクスチャ処理のためのシステムおよび方法は、3Dシーンまたはオブジェクトの再構成のための色およびモデル全体の品質の改善を提供することができる。
【発明の概要】
【課題を解決するための手段】
【０００５】
様々な例は、ビュー非依存色等化3Dシーンテクスチャ処理のために記載される。1つの開示される例示的な方法は、オブジェクトの複数のキーフレームをキャプチャするステップと、オブジェクトのための表面メッシュモデルを備えるオブジェクトの三次元(「3D」)表現にアクセスするステップであって、表面メッシュモデルが複数のポリゴンを備える、ステップと、複数のポリゴンのうちのポリゴンの第1のセット内の各ポリゴンに関して、ポリゴンに対応するキーフレームの一部に関連付けられた1つまたは複数の画像品質特性に基づいて、ポリゴンに複数のキーフレームのうちの1つを割り当てるステップと、割り当てられたキーフレームと複数のポリゴンのうちのポリゴンの第2のセットとの間の関連付けを変更することによって、割り当てられたキーフレームの数を低減するステップと、割り当てられたキーフレームを有する表面メッシュモデルの各ポリゴンに関して、ポリゴンに関連付けられた複数のキーフレームの1つまたは複数の画像品質特性に少なくとも部分的に基づいて、ポリゴンの少なくとも一部のテクスチャ色を等化するステップと、オブジェクトの3D表現に等化されたテクスチャ色を割り当てるステップとを備える。別の例では、コンピュータ可読媒体は、そのような方法をプロセッサに実行させるプログラムコードで符号化される。
【０００６】
ビュー非依存色等化三次元シーンテクスチャ処理のための別の開示される例示的な方法は、オブジェクトの複数のキーフレームをキャプチャするステップと、オブジェクトのための表面メッシュモデルを備えるオブジェクトの三次元(「3D」)表現にアクセスするステップであって、表面メッシュモデルが複数のポリゴンを備える、ステップと、表面メッシュモデルの複数のポリゴンのうちのポリゴンの第1のセット内の各ポリゴンに関して、ポリゴンに関連付けられたキーフレームを識別するステップと、複数のポリゴンのうちのポリゴンの第2のセットに、識別されたキーフレームの1つまたは複数の画像品質特性に基づいて、識別されたキーフレームのうちの1つまたは複数のキーフレームを割り当てるステップと、ポリゴンの第2のセット内の各ポリゴンの各ピクセルに関して、1つまたは複数の割り当てられたキーフレームの各々におけるオブジェクト上の対応する点のテクスチャ色に基づいて、ピクセルの加重平均テクスチャ色を計算するステップと、オブジェクトの3D表現に加重平均テクスチャ色を割り当てるステップとを備える。別の例では、コンピュータ可読媒体は、そのような方法をプロセッサに実行させるプログラムコードで符号化される。
【０００７】
ビュー非依存色等化三次元シーンテクスチャ処理のための1つの開示される例示的なシステムは、コンピュータ可読媒体と、コンピュータ可読媒体と通信する電子プロセッサとを備え、電子プロセッサが、オブジェクトの複数のキーフレームを受信することと、オブジェクトのための表面メッシュモデルを備えるオブジェクトの三次元(「3D」)表現にアクセスすることであって、表面メッシュモデルが複数のポリゴンを備える、ことと、複数のポリゴンのうちのポリゴンの第1のセット内の各ポリゴンに関して、ポリゴンに対応するキーフレームの一部に関連付けられた1つまたは複数の画像品質特性に基づいて、ポリゴンに複数のキーフレームのうちの1つを割り当てることと、割り当てられたキーフレームと複数のポリゴンのうちのポリゴンの第2のセットとの間の関連付けを変更することによって、割り当てられたキーフレームの数を低減することと、割り当てられたキーフレームを有する表面メッシュモデルの各ポリゴンに関して、ポリゴンに関連付けられた複数のキーフレームの1つまたは複数の画像品質特性に少なくとも部分的に基づいて、ポリゴンの少なくとも一部のテクスチャ色を等化することと、オブジェクトの3D表現に等化されたテクスチャ色を割り当てることとを行うように構成される。
【０００８】
これらの例示的な例は、本開示の範囲を限定または定義するためには記載されておらず、その理解を助けるために例を提供するために記載されている。例示的な例は、さらなる説明を提供する詳細な説明において説明される。様々な例によって提供される利点は、本明細書を検討することによってさらに理解され得る。
【０００９】
本明細書に組み込まれ、本明細書の一部を構成する添付図面は、1つまたは複数の特定の例を例示し、例の説明と一緒に、特定の例の原理および実施態様を説明するのに役立つ。
【図面の簡単な説明】
【００１０】
【図１】例示的なシーンを示す図である。
【図２Ａ】ビュー非依存色等化3Dテクスチャ処理のための例示的な方法を示す図である。
【図２Ｂ】ビュー非依存色等化3Dテクスチャ処理のための例示的な方法を示す図である。
【図３】ビュー非依存色等化3Dテクスチャ処理のための例示的な方法を示す図である。
【図４Ａ】例示的なオブジェクトと、オブジェクトの3D表現とを示す図である。
【図４Ｂ】オブジェクトの3D表現を含むオブジェクトの例示的なキーフレームを示す図である。
【図４Ｃ】オブジェクトの3D表現を含むオブジェクトの例示的なキーフレームを示す図である。
【図４Ｄ】オブジェクトの3D表現のポリゴンに割り当てられたキーフレームからのテクスチャを有するオブジェクトの例示的な3D表現を示す図である。
【図５】ビュー非依存色等化3Dシーンテクスチャ処理のための例示的な方法を示す図である。
【図６】ビュー非依存色等化3Dシーンテクスチャ処理のための例示的な方法を示す図である。
【図７】ビュー非依存色等化3Dシーンテクスチャ処理のための例示的なコンピューティングデバイスを示す図である。
【図８】ビュー非依存色等化3Dシーンテクスチャ処理のための例示的なコンピューティングデバイスを示す図である。
【図９】ビュー非依存色等化3Dシーンテクスチャ処理のための例示的な分散環境を示す図である。
【発明を実施するための形態】
【００１１】
例は、ビュー非依存色等化3Dシーンテクスチャ処理の文脈において本明細書で説明される。当業者は、以下の説明が単なる例示であり、どんな形であれ限定的であることを意図していないことを理解するであろう。参照は、ここで、添付図面に示すように例の実施態様に対して詳細に行われる。同じ参照指標は、同じまたは同様の項目を指すために、図面および以下の説明を通じて使用される。
【００１２】
明瞭にするために、本明細書で説明される例のルーチンな機能のすべてが示され、説明されるというわけではない。もちろん、任意のそのような実際の実施態様の開発において、用途およびビジネスに関連する制約の遵守などの開発者の特定の目標を達成するために、多数の実施態様固有の決定がなされなければならないこと、ならびに、これらの特定の目標が実施態様間および開発者間で変化することは、理解されるであろう。
【００１３】
以下は、ビュー非依存色等化3Dシーンテクスチャ処理のための例示的な方法を説明する。この例では、異なる視点(または、パースペクティブ)からの三次元オブジェクトの複数の画像がキャプチャされる。たとえば、図1は、その各々がそれぞれのテクスチャ121、131を有する2つのオブジェクト120、130を有するシーン100を示す。異なる視点116、118からのシーン100の複数の画像がキャプチャされる。たとえば、カメラデバイス110は、シーンの画像をキャプチャするために使用されてもよく、異なる視点からシーンをキャプチャするために、異なる場所に移動されてもよい。これらの画像の一部またはすべては、次いで、ビュー非依存色等化3Dシーンテクスチャ処理を決定するために使用され得る情報を提供するために使用されてもよいキーフレームとして指定されてもよい。
【００１４】
オブジェクト120、130の画像がキャプチャされた後、三角形メッシュなどの3Dメッシュ表現が、画像内のキャプチャされたシーン全体に対して生成されるが、いくつかの場合では、3Dメッシュ表現は、1つまたは複数のオブジェクトのためにのみ生成されてもよい。次いで、オブジェクト130などの特定のオブジェクトのためのメッシュ内の各ポリゴンに関して、キーフレームのうちの1つが、そのポリゴンのための最適なキーフレームであるとして識別される。この場合のキーフレームの最適性は、ポリゴンがキーフレーム内に閉塞されている(occluded)かどうか、ポリゴンからカメラデバイス110までの距離、画像の平面に対するポリゴンの角度、ならびに、奥行きマップおよびシーン内のオブジェクトのポーズに基づくビュー誤差(view error)などの、画像品質特徴と呼ばれる、ポリゴンおよびキーフレームのいくつかの属性のうちの1つまたは複数に基づいて决定される。ポリゴンが特定のキーフレーム内で部分的または完全に閉塞されていないと仮定すると、これらのパラメータの各々は、重み付けされ、各ポリゴンに対する各キーフレームのスコアを計算するために使用される。各ポリゴンに関して、最高のスコアを有するキーフレームがポリゴンに割り当てられる。
【００１５】
すべてのポリゴンが分析された後、割り当てられたキーフレームの数は、次いで、プロセスの残りの計算の複雑さを低減するために低減される。たとえば、他のキーフレームは、多数のポリゴンに割り当てられているが、割り当てられたキーフレームの一部は、少数のポリゴンに割り当てられているだけである可能性がある。したがって、比較的少数のポリゴンに割り当てられたこれらのキーフレームを識別し、これらのポリゴンの割り当てを、多くの数の割り当てられたポリゴンを有するキーフレームに変更し、次いで、不要なキーフレームを排除することが有利であることがある。
【００１６】
このプロセスは、もともと割り当てられたキーフレームよりも低いスコアを有するキーフレームに割り当てられたポリゴンをもたらす可能性があるが、以前に决定された最適なキーフレームから最適性の許容レベル内のキーフレームが識別された場合、ポリゴンの割り当ては、変更されてもよい。さらに、他の許容可能なキーフレームが利用可能でないいくつかの場合では、計算効率の改善を得るために、ポリゴンを排除し、割り当てられたキーフレームを除去することが好ましいことがある。いくつかの例では、10%などの、ポリゴンの許容可能なしきい値数まで、割り当てられたキーフレームを有しなくてもよい。
【００１７】
キーフレームの数が低減されたら、各ポリゴンのためのテクスチャは、以下に説明するように、その割り当てられたキーフレームに基づいて决定されてもよい。各ポリゴンのためのテクスチャは、次いで、ポリゴンが閉塞されないすべての利用可能なキーフレームを使用して等化される。ポリゴンのためのテクスチャを決定するために、ポリゴンの各頂点は、ポリゴンが閉塞されないすべてのキーフレームに基づいて、重み付けされたテクスチャ色値を割り当てられ、重みは、ポリゴンの法線ベクトルとキーフレームの平面との間の角度に基づく。たとえば、ポリゴンの法線ベクトルがキーフレームの平面に対して垂直である場合、キーフレームのためのテクスチャ色値は、重く重み付けされてもよく、10度のポリゴンに対する入射角を有するキーフレームは、非常に低い重みを割り当てられてもよい。重み付けされたテクスチャの色値は、それぞれの頂点のためのテクスチャ色を提供するために、合計され、平均化される。
【００１８】
テクスチャ色等化乗数は、次いで、各頂点のための加重平均テクスチャ色を、それぞれの割り当てられたキーフレームからのオブジェクト上の関連する点のテクスチャ色と比較することによって、各頂点のための加重平均テクスチャ色を使用して計算される。ポリゴンに関する頂点のすべてが割り当てられた重み付けされたテクスチャ色値を有していると、ポリゴンが後でレンダリングされるとき、ポリゴン内のピクセルのためのテクスチャ色値は、ポリゴンの頂点のテクスチャ色と、テクスチャ色等化乗数とに基づいて補間される。したがって、オブジェクトの3Dメッシュ表現内の頂点のためのテクスチャ色は、オブジェクトが後でレンダリングされるまで記憶されてもよい。さらに、3Dメッシュ内の頂点のためのテクスチャ色は、複数の異なるパースペクティブからのテクスチャ色情報に基づいているので、色情報は、オブジェクトのビュー非依存の色をより良好に表す。
【００１９】
本明細書で説明する例は、ビュー非依存3Dメッシュモデルを作成するために選択される特定のポリゴンのテクスチャにおける特殊化された色等化で3Dメッシュモデルを作成してもよい。これは、異なる画像特性を有してもよいいくつかのキーフレームから集められたテクスチャを使用してモデルポリゴンのビュー非依存テクスチャ処理のための色補正を可能にする。これは、コントラストの変化、照明に依存する色の変化、または、3Dモデルを作成するために使用される画像に影響を及ぼす可能性がある他の問題を補償しながら、3Dモデル内のオブジェクトの正確な色表現をさらに可能にすることができる。加えて、本明細書で説明する例は、3Dモデルのための色情報を等化するために使用される画像の数を低減しながら、3Dモデルの態様を最良に表す可能性がある画像からデータを選択することによって、計算の複雑性または効率を改善することができる。
【００２０】
本明細書で説明する例示的な色等化方法に従って作成された3Dモデルは、(任意の所望の向きで)画像もしくはビデオに組み込まれた仮想世界で使用され得る、またはカラー3D印刷のためにさえ使用され得るオブジェクトのフォトリアリスティック再構成のために使用されてもよい。
【００２１】
ここで図2Aを参照すると、図2Aは、ビュー非依存色等化3Dシーンテクスチャ処理のための例示的な方法200を示す。図2Aの方法200は、図7〜図9に関連して以下に説明するものなどの、任意の適切なコンピューティングデバイスによって、または適切なコンピューティング環境内で実行されてもよい。様々な例の一部として、適切なデバイスまたはシステムが使用されてもよい。特定の例は、キャプチャされたオブジェクトまたはシーンに対するカメラのカメラ位置または姿勢を識別する手段として、SLAM(同時位置推定およびマッピング:Simultaneous Location and Mapping)またはPTAM(並列追跡およびマッピング:Parallel Tracking and Mapping)システムの態様を使用してもよい。様々な代替例はまた、システムの幾何学的モデルを作成するために、または3Dモデルの作成のために使用されてもよい様々なデータを収集するために、これらのマッピングシステムを使用してもよい。
【００２２】
図2Aの方法200は、ブロック210で、カメラを有するコンピューティングデバイス110などのコンピューティングデバイスがオブジェクトの複数のキーフレームをキャプチャしたときに開始する。この例では、コンピューティングデバイス110は、複数の異なる透視点からオブジェクトの画像をキャプチャするために、そのカメラ、またはキーフレームをキャプチャするための他の適切な手段を用いる。再び図1を参照すると、シーン100は、2つのオブジェクト120、130を含み、異なる点116、118およびパースペクティブからオブジェクト120、130の2つの異なる画像をキャプチャするコンピューティングデバイス110を示す。いくつかの場合では、コンピューティングデバイス110は、オブジェクト120、130の2つよりも多くの画像をキャプチャしてもよい。たとえば、コンピューティングデバイス110は、コンピューティングデバイスが異なる場所に移動されるにつれて、ビデオをキャプチャするように構成されてもよく、オブジェクトのビデオを記録してもよい。そのような場合には、コンピューティングデバイス110が1秒当たりビデオの30フレームをキャプチャし、オブジェクト120、130のビデオの5秒を記録する場合、コンピューティングデバイス110は、オブジェクト120、130の150の画像をキャプチャすることになる。いくつかの例では、コンピューティングデバイス110自体は、カメラを有しなくてもよいが、代わりに、別のデバイスからキーフレームを受信してもよく、または、ハードドライブまたはフラッシュメモリデバイスなどのコンピュータ可読媒体からキーフレームを取得してもよい。これらの例では、コンピューティングデバイス110は、コンピューティングデバイス110が他のデバイスから画像を受信するとき、または、コンピューティングデバイス110がコンピュータ可読媒体から画像を読み取るとき、画像をキャプチャする。たとえば、キーフレームをキャプチャするためのいくつかの適切な手段は、ネットワークインターフェースと、ネットワークインターフェースとコンピューティングデバイスのプロセッサとの間の電気的相互接続とを含む。キーフレームをキャプチャするためのいくつかの他の適切な手段は、ハードディスクもしくはフラッシュドライブなどのコンピュータ可読媒体上に、またはデータベース内に記憶された画像にアクセスするための回路を含む。
【００２３】
特定の画像は、本明細書では「キーフレーム」と呼ばれることもある。本明細書で説明するようにキーフレームのセットは、オブジェクトもしくはシーン、またはオブジェクトもしくはシーンの一部の3Dモデルを作成するのに十分な情報をキャプチャする画像のセットを指す。そのようなキーフレームは、単に定期的に取り込まれてもよく、プロセッサによる分析の後に選択されてもよく、または、ユーザによって手動で選択されてもよい。特定の例では、キーフレームは、1つのキーフレームからのオブジェクトまたはシーンの閉塞部分が少なくとも1つの他のキーフレームによってキャプチャされることが検証されるように選択されてもよい。特定の例では、キーフレームは、ぶれに関連するしきい値特性、奥行き誤差に関するしきい値特性、閉塞特性に関連するしきい値特性、オブジェクト距離に関連するしきい値特性、オブジェクト角度に関連するしきい値特性、または任意の他のそのような関連する特性に関連するしきい値特性を満たすフレームであってもよい。
【００２４】
コンピューティングデバイス110は、キーフレームをキャプチャし、方法は、ブロック220に進む。
【００２５】
ブロック220では、コンピューティングデバイスは、オブジェクトのための表面メッシュモデルを備えるオブジェクトの3D表現にアクセスする。たとえば、図2Aを参照すると、コンピューティングデバイス110がシーン100およびオブジェクト130の画像をキャプチャした後、コンピューティングデバイス110は、オブジェクトを含むシーンの3D三角形メッシュ表現を生成するが、いくつかの例では、コンピューティングデバイスは、オブジェクト自体の3D三角形メッシュ表現を生成するだけでもよい。たとえば、コンピューティングデバイス110は、公知の方法に従ってシーンのための3D三角形メッシュを計算してもよく、または、シーンの3D三角形メッシュを生成する別のコンピューティングデバイスに情報を送信してもよい。ここで図4Aを参照すると、オブジェクト130のための例示的な表面メッシュ402が示されている。この例では、表面メッシュ402は、いくつかのポリゴン133a〜133f、この例では各々が3つの頂点を有する三角形を含む。他の例では、3D表現は、他の種類のポリゴンを含む表面メッシュを含んでもよい。
【００２６】
いくつかの態様では、コンピューティングデバイス110は、コンピュータ可読媒体内の、またはデータストアからのオブジェクトの以前に生成された3D表現にアクセスしてもよい。いくつかの態様では、コンピューティングデバイス110は、三角形以外のポリゴンを使用して3Dメッシュを生成してもよく、三角形以外のポリゴンを備える3Dメッシュにアクセスしてもよい。たとえば、表面メッシュモデルを備えるオブジェクトの3D表現にアクセスするための適切な手段は、ハードディスクもしくはフラッシュドライブなどのコンピュータ可読媒体上に、またはデータベース内の3D表現にアクセスするための回路を含む。
【００２７】
コンピューティングデバイス110がオブジェクトの3D表現にアクセスした後、方法は、ブロック230に進む。
【００２８】
ブロック230では、コンピューティングデバイス110は、オブジェクトの3D表現内のポリゴンを処理することを開始する。コンピューティングデバイスは、3D表現内の各ポリゴンにブロック232の機能を実行する。したがって、ブロック230では、コンピューティングデバイス110は、3D表現内のポリゴンが処理されていないかどうかを決定する。任意のポリゴンが処理されずに残っている場合、コンピューティングデバイスは、3D表現からポリゴンを選択し、方法300は、ブロック232に進み、そうでない場合、方法300は、ブロック240に進む。
【００２９】
ブロック232では、コンピューティングデバイス110は、ポリゴンに対応するキーフレームの部分に関連する1つまたは複数の画像品質特性に基づいて、ポリゴンに複数のキーフレームのうちの1つを割り当てる。この例によれば、コンピューティングデバイス110は、キーフレームがポリゴンに割り当てられるべきかどうかを決定するために、各キーフレームを分析する。ここで図2Bを参照すると、図2Bは、ポリゴンにキーフレームを割り当てるための例示的な方法202を示す。図2Bに示す方法202は、図2Aの方法200のブロック230、232の機能の一部として用いられてもよい。いくつかの例では、ポリゴンの複数のキーフレームのうちの1つを割り当てるための手段は、プロセッサによって実行されるソフトウェアとして図2Bの方法202を実施してもよい。
【００３０】
図2Bの方法202は、コンピューティングデバイス110がオブジェクトの3D表現からポリゴンを選択するブロック230で開始する。ポリゴンが選択された後、方法は、ブロック232aに進む。
【００３１】
ブロック232aでは、コンピューティングデバイス110は、任意のキーフレームが分析されずに残っているかどうかを決定する。いくつかの態様では、方法200に関連してより詳細に説明するように、いくつかのキーフレームは、ポリゴンに割り当てるために処理されていないにもかかわらず、残っているとして考慮されない、割り当てるのに不適格であるとしてマークされてもよい。たとえば、コンピューティングデバイス110は、図4Bおよび図4Cに示す2つのキーフレーム410、420などの、異なるパースペクティブからキャプチャされた2つのキーフレームを有してもよい。ブロック232aでは、これらのキーフレーム410、420のうちの1つは、処理するために選択されてもよい。キーフレームが分析されずに残っている場合、コンピューティングデバイス110は、キーフレームのうちの1つを選択し、方法202は、ブロック232bに進み、そうでない場合、方法202は、ブロック232gに進む。
【００３２】
ブロック232bでは、コンピューティングデバイス110は、ポリゴンがキーフレーム内で可視であるかどうかを決定する。この例では、コンピューティングデバイス110は、ポリゴンがキーフレーム内で完全に可視であるかどうか、または、ポリゴンが部分的または完全に閉塞されているかどうかを決定する。ポリゴンがキーフレーム内で完全には可視ではない場合、キーフレームは、さらなる処理のために不適切であるであると决定される。いくつかの例では、しかしながら、ポリゴンが部分的にのみ閉塞されている場合、コンピューティングデバイス110は、ポリゴンがキーフレーム内でどれくらい可視であるのかを決定してもよく、ポリゴンの十分な割合または十分な数の頂点が可視である場合、キーフレームは、さらなる処理に適切であってもよい。ポリゴンが十分に可視であるかどうかを決定するために、コンピューティングデバイスは、キーフレーム内で可視であるポリゴンの割合、または可視であるポリゴンの頂点の数を、事前定義されたまたは調節可能なしきい値と比較してもよい。いくつかの態様では、各々、しきい値と比較するために、またはスコアを決定するために、可視であるポリゴンの割合、可視であるポリゴンの頂点の数、視点からポリゴンまでの距離、または他の特性などの、複数の特性が分析されてもよく、スコアは、次いで、しきい値と比較される。1つまたは複数のしきい値は、ユーザなどによって、事前定義されてもよく、または調節可能であってもよい。
【００３３】
ポリゴンがキーフレーム内で十分に可視である場合、方法202は、ブロック232cに進む。ポリゴンがキーフレーム内で十分に可視ではない場合、コンピューティングデバイス110は、キーフレームに最小スコアを割り当て、またはそうでない場合、さらなる考慮からキーフレームを除外し、方法202は、ブロック232aに戻る。
【００３４】
ブロック232cでは、コンピューティングデバイス110は、ポリゴンの平面と画像の平面との間の角度を計算する。たとえば、角度を計算するために、コンピューティングデバイス110は、ポリゴンに対して垂直なベクトルと、画像の平面に対して垂直な光線とを計算し、法線ベクトルと光線との間の角度を計算してもよい。角度を計算した後、方法202は、ブロック232dに進む。
【００３５】
ブロック232dでは、コンピューティングデバイス110は、視点からポリゴンまでの距離を決定する。一例では、コンピューティングデバイス110は、シーンに関連付けられた奥行きマップにアクセスし、奥行きマップに基づいて距離を決定する。いくつかの例では、コンピューティングデバイス110は、キーフレームのための視点に最も近い頂点の位置に基づいて、ピクセルの奥行きなどのオブジェクトの3D表現における他のポリゴンに対する視点からの距離を計算してもよい。いくつかの態様では、3D表現は、各ポリゴンの(x,y,z)座標を含んでもよく、距離は、キーフレームのための視点に最も近い頂点から、ポリゴンの重心などのポリゴン内の位置まで計算されてもよい。コンピューティングデバイス110が視点からポリゴンまでの距離を決定した後、方法は、ブロック232eに進む。
【００３６】
ブロック232eでは、コンピューティングデバイス110は、キーフレームに関連付けられたビュー誤差を決定する。この例では、コンピューティングデバイス110は、キーフレーム内のオブジェクトの姿勢と、奥行きマップにおける誤差とに基づいてビュー誤差を決定する。たとえば、コンピューティングデバイス110は、3D表現とキーフレームとに基づいて姿勢を決定してもよい。さらに、いくつかの例では、コンピューティングデバイス110は、別のプロセッサ、または同時位置推定およびマッピング(「SLAM」)ソフトウェアなどのソフトウェアからオブジェクトの姿勢を受信してもよい。さらに、上記で説明したように、いくつかの例では、コンピューティングデバイス110はまた、ビュー誤差を計算するために使用されてもよい奥行きマップへのアクセスを有してもよい。奥行きマップが利用可能である態様では、コンピューティングデバイス110は、キーフレーム内のオブジェクトの姿勢のみに基づいて、または姿勢および他のパラメータに基づいてビュー誤差を決定してもよい。たとえば、コンピューティングデバイス110は、姿勢パラメータと奥行きマップ誤差パラメータとを計算することによってビュー誤差を決定してもよく、ビュー誤差:ビュー誤差=姿勢*奥行きマップ誤差、を決定してもよい。他の例では、異なる計算が、ビュー誤差を決定するために用いられてもよい。
【００３７】
コンピューティングデバイス110がブロック232eでビュー誤差を決定した後、方法202は、ブロック232fに進む。
【００３８】
ブロック232fでは、コンピューティングデバイス110は、キーフレームスコアを計算する。キーフレームスコアは、いくつかの例では、1つまたは複数の入力に基づくキーフレームのための品質パラメータを表す。この例では、キーフレームスコアは、ブロック232c〜232eの出力に基づくが、他の例では、これらのブロック232c〜232eのうちの1つまたは複数は、除去されてもよく、または、キーフレームの品質に関連する他の適切な測定法によって置き換えられてもよい。たとえば、いくつかの例では、オブジェクトの3D表現は、キーフレームよりも多くのポリゴンを備えてもよいので、キーフレームは、2つ以上のポリゴンに割り当てられてもよい。したがって、いくつかの態様では、キーフレームスコアのための重み係数は、キーフレームがすでにポリゴンに割り当てられているかどうかに基づいて使用されてもよい。いくつかの場合では、重み係数は、キーフレームがすでに割り当てられているポリゴンの数に基づいて変更されてもよい。
【００３９】
この例では、コンピューティングデバイス110は、式:スコア=角度*(距離)2*ビュー誤差、に従って、キーフレームスコアを計算する。コンピューティングデバイス110がブロック232fでキーフレームスコアを計算した後、方法202は、ブロック232aに戻る。
【００４０】
ブロック232gでは、コンピューティングデバイス110は、ポリゴンにキーフレームを割り当てる。コンピューティングデバイス110がポリゴンのためのキーフレームのすべてを処理した後、コンピューティングデバイス110は、どのキーフレームが最高のスコアを有するのかを決定する。いくつかの態様では、より低いスコアは、より良好なキーフレームを表してもよく、他の態様では、より高いスコアは、より良好なキーフレームを表してもよい。したがって、キーフレームのスコアに基づいて、コンピューティングデバイス110は、ポリゴンに割り当てるキーフレームを決定する。たとえば、キーフレームスコアのうち最良のまたは最適なスコアを有するキーフレームは、ポリゴンに割り当てられる。
【００４１】
いくつかの場合では、しかしながら、キーフレームは、ポリゴンに割り当てられなくてもよい。たとえば、ポリゴンがすべてのキーフレーム内で閉塞されている場合、キーフレームは、そのポリゴンに割り当てられないことになる。そのようなポリゴンは、タグ付けされ、この例による任意のさらなる処理から削除されることになる。
【００４２】
コンピューティングデバイス110がキーフレームを割り当てた後、方法202は、完了する。方法202が図2Aに示す方法200の一部として実行されたとき、コンピューティングデバイス110は、図2Aの方法200における次のステップに進む。
【００４３】
再び図2Aを参照すると、コンピューティングデバイス110がブロック232でポリゴンにキーフレームを割り当てた後、方法は、任意の残りのポリゴンを処理するためにブロック230に戻る。この例では、任意の残りのポリゴンは、ブロック232に関して上記で説明したように処理される。すべてのポリゴンがキーフレームに割り当てられたら、方法200は、ブロック240に進む。
【００４４】
ブロック240では、コンピューティングデバイス110は、ブロック240〜244を備える処理ループに入ることによって、ポリゴンに割り当てられたキーフレームの数を低減するためにキーフレームを処理し始める。いくつかの態様では、割り当てられたキーフレームと複数のポリゴンとの間で関連付けを変更することによって、割り当てられたキーフレームの数を低減するための手段は、プロセッサ上でブロック240〜244を備える処理ループを実行するためのソフトウェアを備える。ブロック240では、コンピューティングデバイス110は、残りのキーフレームの数を決定し、残りのキーフレームの数をしきい値と比較することなどによって、追加のキーフレームが除去されるべきであるかどうかを決定する。いくつかの態様では、しきい値は、ユーザなどによって、事前設定されてもよく、または調整可能であってもよい。いくつかの態様では、コンピューティングデバイス110は、処理ブロック230および232から生じる割り当てられたキーフレームの総数の割合を確立することなどによって、除去するキーフレームの数を確立する。
【００４５】
この例では、コンピューティングデバイス110は、各キーフレームに関連付けられたポリゴンの数に従ってキーフレームをランク付けする。コンピューティングデバイス110は、次いで、最も少ない数の関連付けられたポリゴンを有するキーフレームを選択し、関連付けられたポリゴンの数がしきい値を超えたかどうかを決定する。関連付けられたポリゴンの数がしきい値と一致する、またはしきい値を超えた場合、コンピューティングデバイス110は、追加のキーフレームが除去されるべきではないことを決定するが、関連付けられたポリゴンの数がしきい値未満である場合、コンピューティングデバイスは、追加のキーフレームが除去されるべきであることを決定する。
【００４６】
いくつかの例では、コンピューティングデバイス110は、ブロック230〜232の処理ループを実行しながら、各ポリゴンについて、ポリゴンに関するキーフレームおよび関連するスコアのリストを記憶してもよい。コンピューティングデバイス110は、次いで、ポリゴンが、関連付けられたキーフレームのスコアのしきい値割合内のスコアを有する代替のキーフレームを有するかどうかを決定するために、特定のキーフレームに関連付けられた各ポリゴンを検査してもよい。許容可能な代替のキーフレームを有する各ポリゴンについて、コンピューティングデバイスは、カウンタをインクリメントしてもよく、キーフレームに関連付けられた各ポリゴンを分析した後、カウンタが、しきい値割合を満たす許容可能な代替のキーフレームに関連付けられたポリゴンの割合を表すかどうかを分析してもよい。したがって、コンピューティングデバイス110は、削除されるべきキーフレームを選択する前に、特定のキーフレームを除去することが、出力の品質における実質的な減少をもたらすかどうかを決定することができてもよい。
【００４７】
コンピューティングデバイス110が、追加のキーフレームが除去されるべきであることを決定した場合、方法200は、ブロック242に進む。コンピューティングデバイス110が、追加のキーフレームが除去されるべきではないことを決定した場合、方法200は、ブロック250に進む。
【００４８】
ブロック242では、コンピューティングデバイス110は、除去するキーフレームを識別する。この例では、コンピューティングデバイス110は、各キーフレームに関連付けられたポリゴンの数に従って、キーフレームをランク付けする。コンピューティングデバイス110は、次いで、最も少ない数の関連付けられたポリゴンを有するキーフレームを選択する。いくつかの例では、コンピューティングデバイス110は、しきい値数よりも少ないポリゴンに割り当てられた任意のキーフレームを選択してもよい。いくつかの例では、コンピューティングデバイス110は、単一のステップで、除去されるべき複数のキーフレームを選択してもよい。たとえば、コンピューティングデバイス110は、しきい値数よりも少ないポリゴンに関連付けられたすべてのキーフレームを選択してもよい。
【００４９】
除去されるべきキーフレームを選択した後、方法200は、ブロック244に進む。
【００５０】
ブロック244では、コンピューティングデバイス110は、除去されるべきキーフレームに関連付けられたポリゴンを再割り当てする。この例においてポリゴンを再割り当てするために、コンピューティングデバイス110は、除去されるべきキーフレームに割り当てられた各ポリゴンについて、処理ループ230〜232の機能を再実行するが、最小のスコアを有するように除去されるべきキーフレームをプリセットし、または、割り当てるのに不適格であるとして除去されるべきキーフレームをマークする。したがって、処理ループ230〜232が新しいキーフレームにポリゴンを再割り当てするために実行するとき、すべてのキーフレームが処理されるわけではなく、不適格であるとしてマークされていないキーフレームのみが処理される。さらに、上記で説明したように、いくつかの場合では、代替の適切なキーフレームは、1つまたは複数のポリゴンのために利用可能ではない場合がある。いくつかの例では、そのようなポリゴンは、方法200の一部としてコンピューティングデバイス110によってさらに処理されない。いくつかの例では、コンピューティングデバイス110は、キーフレームに関係付けられていないポリゴンの数のパラメータまたはカウントを維持してもよい。ここで、図4Dを参照すると、図4Dは、キーフレームおよびキーフレームからの関連するテクスチャへのポリゴンの例示的な割り当てを示す。図4Dに示す例では、ポリゴン131a〜131b、131e〜131fは、1つのキーフレーム320に割り当てられており、ポリゴン131c〜131dは、他のキーフレーム330に割り当てられている。
【００５１】
選択されたキーフレームに割り当てられたポリゴンが除去された後、方法は、ブロック240に戻る。
【００５２】
ブロック250では、コンピューティングデバイス110は、別の処理ループに入る。ブロック250では、コンピューティングデバイス110は、ポリゴンのためのテクスチャ色を等化するためにポリゴンを処理し始める。ブロック250では、コンピューティングデバイス110は、追加のポリゴンが処理されずに残っているかどうかを決定する。この例では、コンピューティングデバイス110は、任意のキーフレームに関連付けられていない任意のポリゴンを処理から除外する。追加のポリゴンが処理されずに残っている場合、方法200は、ブロック252に進み、そうでない場合、方法200は、終了する。
【００５３】
ブロック252では、コンピューティングデバイス110は、ポリゴンに関連付けられたキーフレームの一部のテクスチャ色に基づいてポリゴンの少なくとも一部のテクスチャ色を等化し、オブジェクトの3D表現に等化されたテクスチャ色を割り当てる。
【００５４】
この例では、コンピューティングデバイス110は、頂点が閉塞されていないすべてのキーフレームからのポリゴンのテクスチャに基づいて、ポリゴンの各頂点に関連付けられた重み付けされたテクスチャ色を決定する。いくつかの態様では、コンピューティングデバイス110は、ポリゴンの法線ベクトルとキーフレームの平面との間の角度が、事前定義されてもよい、または調節可能であってもよい、85度などのしきい値未満であるキーフレームのみを用いてもよい。この例では、コンピューティングデバイス110は、以前に生成されたポリゴンの縮小セットではなく、このステップにすべてのキーフレームを使用するが、いくつかの態様では、コンピューティングデバイス110は、ポリゴンの縮小セットを使用してもよい。
【００５５】
この例においてポリゴンの頂点の重み付けされたテクスチャ色を計算するために、コンピューティングデバイス110は、各キーフレームについて、ポリゴンの法線ベクトルとキーフレームの平面との間の角度を決定する。角度は、次いで、重みパラメータに変換され、キーフレーム内の閉塞されていないポリゴンの各頂点について、頂点に対応するキーフレーム内のピクセルのテクスチャ色に対して乗算される。重み付けされたテクスチャ色は、次いで、頂点のためのテクスチャ色を生成するために、合計され、平均化される。
【００５６】
ポリゴンの頂点のための重み付けされたテクスチャ色を決定した後、コンピューティングデバイス110は、各頂点の加重平均テクスチャ色を、ポリゴンに関連付けられたキーフレーム内の対応するピクセルのテクスチャ色と比較し、頂点の計算された加重平均テクスチャ色とピクセルのテクスチャ色との間の差に基づいて、等化乗数を決定し、したがって、ポリゴンの各頂点のための等化乗数を生成する。いくつかの態様では、等化乗数は、ピクセルの加重平均テクスチャ色と、ポリゴンに関連付けられたキーフレーム内の対応するピクセルのテクスチャ色との間の比として計算されてもよく、いくつかの態様では、等化乗数は、そのような比と、ポリゴンに関するキーフレームのスコアなどの他のパラメータとに基づいてもよい。等化乗数は、次いで、頂点に関連付けられる。コンピューティングデバイス110がブロック252でポリゴンの頂点のテクスチャ色を等化した後、方法200は、ブロック250に戻る。
【００５７】
すべてのポリゴンが処理されたら、方法200は、ブロック260に進む。
【００５８】
ブロック260では、コンピューティングデバイス110は、等化テクスチャ色情報を記憶する。たとえば、コンピューティングデバイス110は、3D表現内の頂点パラメータとして等化乗数を記憶してもよい。いくつかの例では、コンピューティングデバイス110は、別個のファイルまたは別個のデータベースレコード内などの、3D表現に関連付けられた別個のデータ構造内に等化乗数を記憶してもよい。
【００５９】
等化テクスチャ色情報が記憶された後、方法200は、終了する。
【００６０】
ここで図3を参照すると、図3は、ビュー非依存色等化3Dシーンテクスチャ処理のための例示的な方法300を示す。図3の方法300は、図7〜図9に関連して以下に説明するものなどの、任意の適切なコンピューティングデバイスによって、または適切なコンピューティング環境内で実行されてもよい。様々な例の一部として、適切なデバイスまたはシステムが使用されてもよい。特定の例は、キャプチャされたオブジェクトまたはシーンに対するカメラのカメラ位置または姿勢を識別する手段として、SLAM(同時位置推定およびマッピング)またはPTAM(並列追跡およびマッピング)システムの態様を使用してもよい。様々な代替例はまた、システムの幾何学的モデルを作成するために、または3Dモデルの作成のために使用されてもよい様々なデータを収集するために、これらのマッピングシステムを使用してもよい。
【００６１】
図3の方法300は、ブロック310で、図2のブロック210に関して上記で説明したように、カメラを有するコンピューティングデバイス110などのコンピューティングデバイスがオブジェクトの複数のキーフレームをキャプチャしたときに開始する。
【００６２】
コンピューティングデバイス110がキーフレームをキャプチャした後、方法は、ブロック320に進む。
【００６３】
ブロック320では、コンピューティングデバイス110は、図2のブロック220に関して上記で説明したように、オブジェクトのための表面メッシュモデルを備えるオブジェクトの3D表現にアクセスする。
【００６４】
コンピューティングデバイス110がオブジェクトの3D表現にアクセスした後、方法は、ブロック330に進む。
【００６５】
ブロック330では、コンピューティングデバイス110は、複数のポリゴンのうちのポリゴンの第1のセット内の各ポリゴンについて、図2Aの方法200または図2Bの方法202のブロック230〜232に関して上記で説明したように、ポリゴンに対応するキーフレームの一部に関連する1つまたは複数の画像品質特性に基づいて、ポリゴンに複数のキーフレームのうちの1つを割り当てる。いくつかの例では、上記で説明したように、キーフレームは、すべてのキーフレーム内でのポリゴンの閉塞などにより、ポリゴンに関連付けられなくてもよい。したがって、複数のポリゴンのうちのポリゴンの第1のセットは、少なくとも1つのキーフレーム内で閉塞されていないポリゴンを備えてもよい。いくつかの例では、キーフレームが少なくとも1つのキーフレーム内で可視である間、そのようなキーフレームのスコアは、しきい値未満であってもよく、したがって、キーフレームは、ポリゴンに割り当てられなくてもよい。したがって、複数のポリゴンのうちのポリゴンの第1のセットは、割り当てられたポリゴンを有するポリゴンを備えてもよい。
【００６６】
コンピューティングデバイス110がブロック330でポリゴンにキーフレームを割り当てた後、方法は、ブロック340に進む。
【００６７】
ブロック340では、コンピューティングデバイス110は、図2Aの方法200のブロック240〜244に関して上記で説明したように、割り当てられたキーフレームと複数のポリゴンのうちのポリゴンの第2のセットとの間の関連付けを変更することによって、割り当てられたキーフレームの数を低減する。一例では、コンピューティングデバイス110は、除去するキーフレームを識別する。この例では、コンピューティングデバイス110は、各キーフレームに関連付けられたポリゴンの数に従って、キーフレームをランク付けする。コンピューティングデバイス110は、次いで、最も少ない数の関連付けられたポリゴンを有するキーフレームを選択する。いくつかの例では、コンピューティングデバイス110は、しきい値数よりも少ないポリゴンに関連付けられた任意のキーフレームを選択してもよい。いくつかの例では、コンピューティングデバイス110は、単一のステップで、除去されるべき複数のキーフレームを選択してもよい。たとえば、コンピューティングデバイス110は、しきい値数よりも少ないポリゴンに関連付けられたすべてのキーフレームを選択してもよい。
【００６８】
コンピューティングデバイス110は、次いで、除去されるべきキーフレームに関連付けられたポリゴンを再割り当てする。この例においてポリゴンを再割り当てするために、コンピューティングデバイス110は、除去されるべきキーフレームに割り当てられた各ポリゴンについて、処理ループ230〜232の機能を再実行するが、最小のスコアを有するように除去されるべきキーフレームをプリセットし、または、割り当てるのに不適格であるとして除去されるべきキーフレームをマークする。したがって、処理ループ230〜232が新しいキーフレームにポリゴンを再割り当てするために実行するとき、すべてのキーフレームが処理されるわけではなく、不適格であるとしてマークされていないキーフレームのみが処理される。さらに、上記で説明したように、いくつかの場合では、代替の適切なキーフレームは、1つまたは複数のポリゴンのために利用可能ではない場合がある。いくつかの例では、そのようなポリゴンは、方法200の一部としてコンピューティングデバイス110によってさらに処理されない。いくつかの例では、コンピューティングデバイス110は、キーフレームに関係付けられていないポリゴンの数のパラメータまたはカウントを維持してもよい。
【００６９】
この例およびいくつかの例では、キーフレームの数を低減した後、1つまたは複数のポリゴンは、もはや割り当てられたキーフレームを持たなくてもよい。したがって、割り当てられたキーフレームを有する残りのポリゴンは、複数のポリゴンのうちのポリゴンの第2のセットを表す。
【００７０】
所定のしきい値に基づくなどしてキーフレームの数が十分に低減された後、方法300は、ブロック350に進む。
【００７１】
ブロック350では、割り当てられたキーフレームを有する表面メッシュモデルの各ポリゴンについて、コンピューティングデバイス110は、図2の方法200のブロック250〜252に関して上記で説明したように、ポリゴンに関連付けられた複数のキーフレームの1つまたは複数の画像品質特性に基づいて、ポリゴンの少なくとも一部のテクスチャ色を等化する。
【００７２】
コンピューティングデバイス110がブロック350での処理を完了した後、方法300は、ブロック360に進む。
【００７３】
ブロック360では、コンピューティングデバイス110は、図2Aの方法200のブロック250〜260に関して上記で説明したように、オブジェクトの3D表現に等化されたテクスチャ色を割り当てる。
【００７４】
ここで図5を参照すると、図5は、ビュー非依存色等化3Dシーンテクスチャ処理のための例示的な方法500を示す。図5の方法500は、図7〜図9に関連して以下に説明するものなどの、任意の適切なコンピューティングデバイスによって、または適切なコンピューティング環境内で実行されてもよい。様々な例の一部として、適切なデバイスまたはシステムが使用されてもよい。特定の例は、キャプチャされたオブジェクトまたはシーンに対するカメラのカメラ位置または姿勢を識別する手段として、SLAM(同時位置推定およびマッピング)またはPTAM(並列追跡およびマッピング)システムの態様を使用してもよい。様々な代替例はまた、システムの幾何学的モデルを作成するために、または3Dモデルの作成のために使用されてもよい様々なデータを収集するために、これらのマッピングシステムを使用してもよい。
【００７５】
図5の方法500は、ブロック510で、図2のブロック210に関して上記で説明したように、カメラを有するコンピューティングデバイス110などのコンピューティングデバイスがオブジェクトの複数のキーフレームをキャプチャしたときに開始する。
【００７６】
コンピューティングデバイス110がキーフレームをキャプチャした後、方法は、ブロック520に進む。
【００７７】
ブロック520では、コンピューティングデバイス110は、図2のブロック220に関して上記で説明したように、オブジェクトのための表面メッシュモデルを備えるオブジェクトの3D表現にアクセスする。
【００７８】
コンピューティングデバイス110がオブジェクトの3D表現にアクセスした後、方法は、ブロック530に進む。
【００７９】
ブロック530では、コンピューティングデバイス110は、オブジェクトの3D表現内のポリゴンを処理し始める。コンピューティングデバイスは、3D表現内の各ポリゴンにブロック532の機能を実行する。したがって、ブロック530では、コンピューティングデバイス110は、3D表現内の任意のポリゴンが処理されていないかどうかを決定する。任意のポリゴンが処理されずに残っている場合、コンピューティングデバイスは、3D表現からポリゴンを選択し、方法500は、ブロック531に進み、そうでない場合、方法は、ブロック540に進む。
【００８０】
ブロック531では、コンピューティングデバイス110は、オブジェクトの3D表現内のポリゴンのうちの1つのテクスチャ色を等化する。この例によれば、コンピューティングデバイス110は、ポリゴン内のピクセルのため(ポリゴンの頂点のみとは対照的に)、いくつかの例ではポリゴン内のすべてのピクセルのための等化されたテクスチャ色を決定するために、各ポリゴンを分析する。
【００８１】
ブロック532では、コンピューティングデバイス110は、選択されたポリゴン内の各ピクセルのための加重平均テクスチャ色を計算する。この例では、コンピューティングデバイス110は、ピクセルが閉塞されていないすべてのキーフレームに基づいて、ピクセルに関連付けられた重み付けされたテクスチャ色を決定する。いくつかの態様では、コンピューティングデバイス110は、ポリゴンの法線ベクトルとキーフレームの平面との間の角度が、事前定義されてもよい、または調節可能であってもよい、85度などのしきい値未満であるキーフレームのみを用いてもよい。この例では、しかしながら、コンピューティングデバイス110は、このステップに関してすべてのキーフレームを使用する。
【００８２】
この例においてピクセルの重み付けされたテクスチャ色を計算するために、コンピューティングデバイス110は、各キーフレームについて、ポリゴンの法線ベクトルとキーフレームの平面との間の角度を決定する。角度は、次いで、重みパラメータと、キーフレーム内のピクセルのテクスチャ色に対して乗算される。重み付けされたテクスチャ色は、次いで、ピクセルのためのテクスチャ色を生成するために、合計され、平均化される。决定されたテクスチャ色は、次いで、3D表現の一部としてピクセルに割り当てられる。たとえば、コンピューティングデバイス110は、3D表現内のポリゴンに適用されるべきテクスチャの一部としてテクスチャ色値を記憶してもよい。いくつかの例では、コンピューティングデバイス110は、別個のファイルまたは別個のデータベースレコードなどの、3D表現に関連付けられた別個のデータ構造内にテクスチャ色値を記憶してもよい。
【００８３】
図5の方法500は、ビュー非依存色等化3Dシーンテクスチャ処理に対するより計算上コストの高い手法を提供することができるが、テクスチャ色を等化するときに追加のデータを考慮してもよい。さらに、いくつかの例では、図2Aの方法200は、図5の方法500と組み合わされてもよい。たとえば、図2Aの方法がポリゴンにキーフレームを割り当てる間、図5の方法は、ポリゴン単位ではなくピクセル単位で、個々のピクセルにキーフレームを割り当て、図2Bに示す方法202の機能を実行するように拡張されてもよい。さらに、そのような組み合わされた方法は、キーフレームの数を低減しない可能性があるが、いくつかの例では、個々のピクセルにキーフレームを割り当てることに加えて、コンピューティングデバイス110はまた、ピクセル単位でブロック240〜244の機能を実行することによってキーフレームの数を低減してもよい。したがって、図5で説明したようにピクセル単位の分析を実行するが、図2A〜図2Bに関して説明したようにキーフレーム割り当て、キーフレーム再割り当て、またはテクスチャ色等化の1つまたは複数の態様を組み込んだハイブリッド方法は、1つまたは複数の例に従って実施されてもよい。
【００８４】
ここで図6を参照すると、図6は、ビュー非依存色等化3Dシーンテクスチャ処理のための例示的な方法600を示す。図6の方法600は、図7〜図9に関連して以下に説明するものなどの、任意の適切なコンピューティングデバイスによって、または任意の適切なコンピューティング環境内で実行されてもよい。様々な例の一部として、適切なデバイスまたはシステムが使用されてもよい。特定の例は、キャプチャされたオブジェクトまたはシーンに対するカメラのカメラ位置または姿勢を識別する手段として、SLAM(同時位置推定およびマッピング)またはPTAM(並列追跡およびマッピング)システムの態様を使用してもよい。様々な代替例はまた、システムの幾何学的モデルを作成するために、または3Dモデルの作成のために使用されてもよい様々なデータを収集するために、これらのマッピングシステムを使用してもよい。
【００８５】
図6の方法600は、ブロック610で、図2のブロック210に関して上記で説明したように、カメラを有するコンピューティングデバイス110などのコンピューティングデバイスがオブジェクトの複数のキーフレームをキャプチャしたときに開始する。
【００８６】
コンピューティングデバイス110がキーフレームをキャプチャした後、方法は、ブロック620に進む。
【００８７】
ブロック620では、コンピューティングデバイス110は、図2のブロック220に関して上記で説明したように、オブジェクトのための表面メッシュモデルを備えるオブジェクトの3D表現にアクセスする。
【００８８】
コンピューティングデバイス110がオブジェクトの3D表現にアクセスした後、方法は、ブロック630に進む。
【００８９】
ブロック630では、コンピューティングデバイス110は、複数のポリゴンのうちのポリゴンの第1のセット内の各ポリゴンについて、ポリゴンに関連付けられた1つまたは複数のキーフレームを識別する。たとえば、コンピューティングデバイス110は、ポリゴンが閉塞されていないすべてのキーフレームを識別する。いくつかの例では、コンピューティングデバイス110は、ポリゴンの法線ベクトルとキーフレームの平面との間の角度が、事前定義されてもよい、または調節可能であってもよい、85度などのしきい値未満である1つまたは複数のキーフレームを識別する。上記で説明したように、いくつかの場合では、1つまたは複数のポリゴンは、任意のキーフレーム内で可視ではない可能性があり、または、説明した角度しきい値などの1つまたは複数の品質測定基準を満たさない可能性がある。したがって、そのようなポリゴンは、ポリゴンの第1のセット内に含まれなくてもよい。
【００９０】
コンピューティングデバイス110がポリゴンに関連付けられた1つまたは複数のキーフレームを識別した後、方法600は、ブロック640に進む。
【００９１】
ブロック640では、コンピューティングデバイス110は、複数のポリゴンのうちのポリゴンの第2のセットについて、識別されたキーフレームの1つまたは複数の画像品質特性に基づいて、識別されたキーフレームのうちの1つまたは複数のキーフレームを割り当てる。たとえば、コンピューティングデバイス110は、図2の方法200のブロック230〜232の機能を実行してもよいが、コンピューティングデバイス110は、最良のスコアを有するキーフレームのみではなく、ポリゴンに十分なスコアを有するすべてのキーフレームを割り当ててもよい。上記で説明したように、いくつかのポリゴンは、最小しきい値スコアを超えないキーフレームのスコアにより、キーフレームに割り当てられない可能性がある。したがって、1つまたは複数のキーフレームが割り当てられたポリゴンは、ポリゴンの第2のセットを含む。
【００９２】
コンピューティングデバイス110がブロック640でポリゴンにキーフレームを割り当てた後、方法は、ブロック650に進む。
【００９３】
ブロック650では、コンピューティングデバイス110は、ポリゴンの第2のセット内の各ポリゴンの各ピクセルについて、図5の方法500のブロック530〜532の機能を実行することによって、1つまたは複数の割り当てられたキーフレームの各々におけるオブジェクト上の対応する点のテクスチャ色に基づいて、ピクセルの加重平均テクスチャ色を計算する。
【００９４】
コンピューティングデバイス110が加重平均テクスチャ色を計算した後、方法600は、ブロック660に進む。
【００９５】
ブロック660では、コンピューティングデバイスは、データベース内のオブジェクトの3D表現に関連付けられた加重平均テクスチャ色を、または3D表現の一部として加重平均テクスチャ色を記憶することなどによって、オブジェクトの3D表現に加重平均テクスチャ色を割り当てる。
【００９６】
ここで図7を参照すると、図7は、ビュー非依存色等化3Dシーンテクスチャ処理のためのコンピューティングデバイス700の一例を示す。この例では、コンピューティングデバイス700は、プロセッサ710と、WANワイヤレストランシーバ712および関連するアンテナ714と、カメラ701と、LANワイヤレストランシーバ742および関連するアンテナ744と、ディスプレイ出力703と、ユーザ入力モジュール704と、オペレーティングシステム723を記憶するように構成された1つまたは複数のメモリと、キーフレーム割り当てモジュール721と、色等化モジュール722と、データベース724とを含む、スマートフォンなどのモバイルデバイスを備える。この例では、コンピューティングデバイス700は、カメラのパースペクティブからの実世界の環境またはシーンの画像またはビデオをキャプチャするように構成される。プロセッサ710は、ビュー非依存色等化3Dシーンテクスチャ処理を提供するために、キーフレーム割り当てモジュール721と色等化モジュール722とを実行するように構成される。たとえば、カメラ701は、シーン内のオブジェクトの画像またはビデオをキャプチャしてもよく、キーフレーム割り当てモジュール721は、オブジェクトの3Dポリゴンメッシュ表現内のポリゴンにキーフレームを割り当ててもよく、色等化モジュール722は、オブジェクトの3D表現のための等化色情報を生成してもよく、データベース724内に等化色情報を記憶してもよく、または本明細書で説明した実施形態に従って出力703を表示してもよい。いくつかの例では、コンピューティングデバイス700は、WANワイヤレストランシーバ712またはLANトランシーバ742を使用して、等化色情報を送信するように構成されてもよい。
【００９７】
図8は、ビュー非依存色等化3Dシーンテクスチャ処理のためのコンピューティングデバイス800の一例を示す。図1のコンピューティングデバイス110は、コンピューティングデバイス800などのデバイスに接続されてもよく、または、コンピューティングデバイス110は、コンピューティングデバイス800の詳細に従って代替の実施形態において実施されてもよい。コンピューティングデバイス800は、この例では、1つまたは複数のプロセッサ810と、1つまたは複数の記憶デバイス825と、1つまたは複数の入力デバイス815と、1つまたは複数の出力デバイス820と、通信サブシステム830と、メモリ835とを含み、そのすべては、1つまたは複数の通信バス805を介して互いに通信する。メモリ835は、オペレーティングシステム840および1つまたは複数のアプリケーション845などの、1つまたは複数のプロセッサ810によって実行するためのプログラムコードを記憶するように構成される。たとえば、メモリ835は、本開示による、ビュー非依存色等化3Dシーンテクスチャ処理を提供するためのソフトウェアアプリケーションを記憶してもよい。
【００９８】
図9は、ビュー非依存色等化3Dシーンテクスチャ処理のための様々な例とともに使用されてもよいネットワークを示し、ここで、コンピューティングデバイス110は、図9に示すネットワークの部分に結合されてもよく、または、図2A〜図2Bの方法の一部がネットワーク化されたリソースを使用して実施されてもよい実施態様の一部として、実行する処理にネットワークなどのリソースを使用してもよい。一例では、コンピューティングデバイス110などの1つまたは複数のデバイスは、ネットワーク910に接続される。コンピューティングデバイス110は、データベース920a〜920bなどの1つまたは複数のデータストアからのオブジェクトの3D表現にアクセスするように構成される。いくつかの例では、デバイスは、3Dオブジェクト表現を取得するため、または色等化情報を記憶するために、インターネットにアクセスするように構成されてもよい。
【００９９】
方法およびシステムは、本明細書では様々な機械上で実行するソフトウェアの観点から説明されているが、方法およびシステムはまた、特に様々な方法を実行するためのフィールドプログラマブルゲートアレイ(FPGA)などの特定的に構成されたハードウェアとして実装されてもよい。たとえば、例は、デジタル電子回路において、または、コンピュータハードウェア、ファームウェア、ソフトウェア、もしくはそれらの組合せにおいて実装され得る。一例では、デバイスは、プロセッサを含んでもよい。プロセッサは、プロセッサに結合されたランダムアクセスメモリ(RAM)などのコンピュータ可読媒体を備える。プロセッサは、画像を編集するための1つまたは複数のコンピュータプログラムを実行するなど、メモリ内に記憶されたコンピュータ実行可能プログラム命令を実行する。そのようなプロセッサは、マイクロプロセッサと、デジタル信号プロセッサ(DSP)と、特定用途向け集積回路(ASIC)と、フィールドプログラマブルゲートアレイ(FPGA)と、状態機械とを含むことができる。そのようなプロセッサには、PLC、プログラマブル割込コントローラ(PIC)、プログラマブル論理デバイス(PLD)、プログラマブル読取り専用メモリ(PROM)、電子的プログラマブル読取り専用メモリ(EPROMまたはEEPROM)、または他の同様のデバイスなどのプログラマブル電子デバイスがさらに含まれ得る。
【０１００】
そのようなプロセッサは、プロセッサによって実行されたとき、プロセッサに、プロセッサによって実行または支援されるように本明細書で説明したステップを実行させることができる命令を記憶してもよい媒体、たとえば、コンピュータ可読記憶媒体を備えてもよく、またはそのような媒体と通信してもよい。コンピュータ可読媒体の例は、限定はしないが、ウェブサーバ内のプロセッサなどのプロセッサにコンピュータ可読命令を提供することができる電子的、光学的、磁気的、または他の記憶デバイスを含んでもよい。媒体の他の例には、限定はしないが、フロッピー(登録商標)ディスク、CD-ROM、磁気ディスク、メモリチップ、ROM、RAM、ASIC、構成されたプロセッサ、すべての光学媒体、すべての磁気テープもしくは他の磁気媒体、またはコンピュータプロセッサが読み取ることができる任意の他の媒体が含まれる。説明したプロセッサおよび処理は、1つまたは複数の構造で存在する可能性があり、1つまたは複数の構造を介して分散される可能性がある。プロセッサは、本明細書で説明した方法のうちの1つまたは複数(または方法の一部)を実行するためのコードを含み得る。
【０１０１】
いくつかの例の前述の説明は、例示および説明の目的のためにのみ提示されており、網羅的であること、または開示された正確な形態に本開示を限定することを意図していない。その多くの修正および適応は、本開示の要旨および範囲から逸脱することなく当業者には明らかであろう。
【０１０２】
本明細書での例および実施態様への参照は、例に関連して説明した特定の特徴、構造、動作、または他の特質が、本開示の少なくとも1つの実施態様に含まれてもよいことを意味する。本開示は、そのように説明された特定の例または実施態様に限定されない。本明細書の様々な場所における「一例における」、「例における」、「一実施態様における」、もしくは「実施態様における」という語句、またはその変形の出現は、必ずしも同じ例または実施態様を指さない。一例または実施態様に関連して本明細書で説明した任意の特定の特徴、構造、動作、または他の特質は、任意の他の例または実施態様に関連して説明した他の特徴、構造、動作、または他の特質と組み合わされてもよい。
【符号の説明】
【０１０３】
100  シーン
110  カメラデバイス
116  視点
118  視点
120  オブジェクト
121  テクスチャ
130  オブジェクト
131  テクスチャ
131a  ポリゴン
131b  ポリゴン
131c  ポリゴン
131d  ポリゴン
131e  ポリゴン
131f  ポリゴン
133a  ポリゴン
133b  ポリゴン
133c  ポリゴン
133d  ポリゴン
133e  ポリゴン
133f  ポリゴン
402  表面メッシュ
410  キーフレーム
420  キーフレーム
512  WANワイヤレストランシーバ
523  オペレーティングシステム
605  通信バス
700  コンピューティングデバイス
701  カメラ
703  ディスプレイ出力
704  ユーザ入力モジュール
710  プロセッサ
714  アンテナ
721  キーフレーム割り当てモジュール
722  色等化モジュール
724  データベース
742  LANワイヤレストランシーバ
744  アンテナ
800  コンピューティングデバイス
810  プロセッサ
815  入力デバイス
820  出力デバイス
825  記憶デバイス
830  通信サブシステム
835  メモリ
840  オペレーティングシステム
845  アプリケーション
910  ネットワーク
920a  データベース
920b  データベース
【図１】
0006400720.tif 000002
【図２Ａ】
0006400720.tif 000003
【図２Ｂ】
0006400720.tif 000004
【図３】
0006400720.tif 000005
【図４Ａ】
0006400720.tif 000006
【図４Ｂ】
0006400720.tif 000007
【図４Ｃ】
0006400720.tif 000008
【図４Ｄ】
0006400720.tif 000009
【図５】
0006400720.tif 000010
【図６】
0006400720.tif 000011
【図７】
0006400720.tif 000012
【図８】
0006400720.tif 000013
【図９】
0006400720.tif 000014