(57)【要約】  奥行き画像コンシューマーと複数の異なる奥行き画像プロデューサーとの間の互換性が、奥行き画像コンシューマーとの互換性がないサポートされていないデプスカメラパラメーターを有する固有の奥行き画像を受信し、当該固有の奥行き画像を、奥行き画像コンシューマーと互換性のあるサポートされた仮想デプスカメラパラメーターを有する仮想的な奥行き画像へと変換することによって提供される。この仮想的な奥行き画像は奥行き画像コンシューマーへ出力される。
2013519089.tif 000002
【特許請求の範囲】
【請求項１】
奥行き画像コンシューマーについて、サポートされる仮想デプスカメラパラメーターを確認する初期化モジュールと、
奥行き画像プロデューサーから固有の奥行き画像を受信するキャプチャーモジュールと、
前記固有の奥行き画像を、前記奥行き画像コンシューマーと互換性のあるサポートされる仮想デプスカメラパラメーターを有する仮想的な奥行き画像に変換する仮想化モジュールと、
前記奥行き画像コンシューマーに前記仮想的な奥行き画像を出力する出力モジュールと
を具備するデプスカメラ互換性システム。
【請求項２】
前記初期化モジュールは、前記サポートされる仮想デプスカメラパラメーターの指示を前記奥行き画像コンシューマーから受信するように構成される請求項１に記載のデプスカメラ互換性システム。
【請求項３】
前記サポートされる仮想デプスカメラパラメーターの指示は仮想デプスカメラの視覚角錐を指定する請求項２に記載のデプスカメラ互換性システム。
【請求項４】
前記サポートされる仮想デプスカメラパラメーターの指示は仮想デプスカメラの解像度を指定する請求項２に記載のデプスカメラ互換性システム。
【請求項５】
前記サポートされる仮想デプスカメラパラメーターの指示は仮想デプスカメラが基づいている実際のデプスカメラのモデルを指定する請求項２に記載のデプスカメラ互換性システム。
【請求項６】
前記初期化モジュールは、デプスカメラに、前記奥行き画像コンシューマーの前記サポートされる仮想デプスカメラパラメーターとの互換性を目指させることを容易にする目標命令を生成するように構成される請求項１に記載のデプスカメラ互換性システム。
【請求項７】
前記初期化モジュールは前記デプスカメラに目標命令を送信するようにさらに構成される請求項６に記載のデプスカメラ互換性システム。
【請求項８】
前記仮想化モジュールは、前記固有の奥行き画像の視覚角錐をクリッピングすることにより、前記固有の奥行き画像を前記仮想的な奥行き画像に変換するように構成される請求項１に記載のデプスカメラ互換性システム。
【請求項９】
前記仮想化モジュールは、前記固有の奥行き画像の解像度を下げることにより、前記固有の奥行き画像を前記仮想的な奥行き画像に変換するように構成される請求項１に記載のデプスカメラ互換性システム。
【請求項１０】
前記奥行き画像プロデューサーは生のデプスカメラデータを前記固有の奥行き画像へと変換するオンカメラプロセッサーを含み、前記キャプチャーーモジュールは前記オンカメラを介して前記固有の奥行き画像を受信するように構成される請求項１に記載のデプスカメラ互換性システム。
【請求項１１】
前記奥行き画像プロデューサーは生のデプスカメラデータを前記固有の奥行き画像へと変換するオフカメラプロセッサーを含み、前記キャプチャーモジュールは前記オフカメラプロセッサーを介して前記固有の奥行き画像を受信するように構成される請求項１に記載のデプスカメラ互換性システム。
【請求項１２】
前記奥行き画像プロデューサーは、生のデプスカメラデータを前記固有の奥行き画像へと協働して変換するオンカメラプロセッサー及びオフカメラプロセッサーを含み、前記キャプチャーモジュールは、前記オンカメラプロセッサー及び前記オフカメラプロセッサーを介して前記固有の奥行き画像を受信するように構成される請求項１に記載のデプスカメラ互換性システム。
【請求項１３】
前記初期化モジュール、前記キャプチャーモジュール、前記仮想化モジュール、及び前記出力モジュールは、アプリケーションプログラミングインターフェースの一部として実施される請求項１に記載のデプスカメラ互換性システム。
【請求項１４】
奥行き画像コンシューマーと複数の異なる奥行き画像プロデューサーとの間の互換性を提供する方法であって、
奥行き画像コンシューマーとの互換性のないサポートされていないデプスカメラパラメーターを有する固有の奥行き画像を受信するステップと、
前記固有の奥行き画像を、前記奥行き画像コンシューマーと互換性のあるサポートされる仮想デプスカメラパラメーターを有する仮想的な奥行き画像に変換するステップと、
前記奥行き画像コンシューマーに前記仮想的な奥行き画像を出力するステップと
を含む方法。
【請求項１５】
仮想デプスカメラの視覚角錐、仮想デプスカメラの解像度、及び仮想デプスカメラが基づく実際のデプスカメラのモデルのうちの１つを指定する、前記サポートされる仮想デプスカメラパラメーターの指示を受信するステップをさらに含む請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デプスカメラの互換性に関する。
【背景技術】
【０００２】
[0001]カメラはシーンの静止画像をとらえるために使用することができる。立て続けに撮影されるいくつかの静止画像を、各々が異なる静止画像に対応する複数のフレームを含む動画を生成するために使用することができる。このような画像は異なる様々な用途において非常に有用であるが、そのような画像はいくつかの目的のためにはあまり適していない。特に、従来の静止画像及び動画は、シーン内のとらえられた様々な表面の相対的な奥行きを評価するのに十分な情報を提供しない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
様々な種類のデプス（depth）カメラがこのニーズを満たすために開発されてきた。しかし、様々な種類のデプスカメラは、1つまたは複数の点で互いに異なる奥行き画像を生成し得る。そのため、奥行き画像を要するアプリケーションは、予想される特性を持つ奥行き画像を生成する特定の種類のデプスカメラと互換性を持つにすぎない。
【課題を解決するための手段】
【０００４】
[0002]この概要は、詳細な説明において以下でさらに説明する概念のうちの選択されたものを簡略化した形式で紹介するために提供される。この概要は、特許請求される主題の重要な特徴及び不可欠な特徴を特定するようには意図されず、特許請求される主題の範囲を限定するために使用されるようにも意図されない。さらに、特許請求される主題は、本開示のいかなる部分に記載された任意の又はすべての不利益を解消する実施例にも限定されない。
【０００５】
[0003]本開示の一態様によれば、奥行き画像コンシューマー（consumer）と複数の異なる奥行き画像プロデューサーとの間の互換性は、奥行き画像コンシューマーとの互換性のないサポートされていないデプスカメラパラメーターを有する固有の（ネイティブの、native）奥行き画像を受信すること、及び固有の奥行き画像を奥行き画像コンシューマーと互換性のあるサポートされる仮想的なデプスカメラパラメーターを有する仮想的な奥行き画像へ変換することにより、提供することができる。この仮想的な奥行き画像は、次いで、奥行き画像コンシューマーに対して出力されてもよい。
【図面の簡単な説明】
【０００６】
【図１】[0004]例示的なデプスカメラの使用環境を示す。
【図２】[0005]本開示の実施例によるデプスカメラ互換性システムを示す。
【図３Ａ】[0006]デプスカメラ視界四角錐を概略的に示す。
【図３Ｂ】デプスカメラ視界四角錐を概略的に示す。
【図４Ａ】[0007]本開示による例示的な奥行き画像プロデューサーを示す。
【図４Ｂ】本開示による例示的な奥行き画像プロデューサーを示す。
【図４Ｃ】本開示による例示的な奥行き画像プロデューサーを示す。
【図５】[0008]奥行き画像コンシューマーと複数の異なる奥行き画像プロデューサーとの間の互換性を提供する例示的な方法を示す。
【図６】[0009]デプスカメラの互換性を提供する別の例示的な方法を示す。
【図７】[0010]光源から離れているセンサー上に作成される影効果の例を概略的に示す。
【図８】[0011]影合成アルゴリズムによって影になった画素を見つけることを示す例示的なプロットを概略的に示す。
【図９】[0012]奥行き抽象化レイヤー内の例示的な画像処理ブロックを概略的に示す。
【図１０】[0013]図９の例示的な画像処理ブロックをより詳細に概略的に示す。
【図１１】[0014]本開示の実施例によるコンピューティングシステムを概略的に示す。
【発明を実施するための形態】
【０００７】
[0015]本開示はデプスカメラの互換性を対象とする。本明細書に記載されるような互換性技術は、異なるモデルのデプスカメラが同じコンピューティングシステムによって使用されることを可能にする。アプリケーション開発者は、アプリケーション開発者がアプリケーションを作成する時には存在しないデプスカメラを含む、さまざまな異なるデプスカメラと互換性のあるアプリケーションを容易に作成することができる。本開示の一態様によれば、アプリケーション開発者は、汎用の仮想デプスカメラで動作するように構成されているアプリケーションを作成することができ、互換性技術によって、様々な異なるデプスカメラからの固有の入力を汎用の仮想デプスカメラと互換性のある形式に変換することができる。このように、アプリケーションは、まったく異なる奥行き探索技術（例えば、構造化された光、飛行時間、ステレオビジョンなど）を利用するデプスカメラを含む、さまざまな異なるデプスカメラと互換性をもつことができる。
【０００８】
[0016]本明細書に記載される技術を使用すれば、アプリケーション開発者は、様々な異なるデプスカメラをサポートする面倒で困難な仕事を気にする必要はなく、その代わりに、単一の汎用仮想デプスカメラを開発することができる。同時に、互換性技術によって、改善された性能、製造コスト及び／又は運用コストの低減、エネルギー効率の改善、及び／又は他の有用な特性を提供することができる新しいデプスカメラの開発及び実施が容易になる。そのため、新たなカメラ技術が開発されるので、そのような技術は以前に開発されたアプリケーションと下位互換性のある新たなカメラにおいて実施することができる。
【０００９】
[0017]図１は、上記で紹介されたカメラ互換性を提供するデプスカメラ互換性システムを用いて設計することができるコンピューティングシステム１０の限定的でない例を示す。特に、図１は、様々な異なるゲームをプレイし、１つもしくは複数の異なるメディアタイプを再生し、及び／又はゲームでないアプリケーションを制御もしくは操作するのに使用することができるゲーム機１２を示す。図１はまた、ユーザー１８などのユーザーに対して視覚情報を提示するために使用することができる高精細テレビ、すなわちＨＤＴＶ１６の形式のディスプレイ１４を示す。また、図1は、ユーザー１８などの一人又は複数のユーザーを視覚的に監視するために使用することができるデプスカメラ２０の形式のキャプチャー装置を示す。ゲームシステムの文脈で説明したが、デプスカメラ互換性システムは、デプスカメラからの奥行き画像を使用するように構成される実質的にすべてのコンピューティングシステムにおいて実施することができることが理解されるべきである。
【００１０】
[0018]ゲーム機１２などのコンピューティングシステムは、ユーザー１８などの１つ又は複数のターゲットを認識し、分析し、及び／又は追跡するために使用されることができる。ターゲットの動きは、オペレーティングシステム及び／又はアプリケーションの制御として解釈されてもよい。オペレーティングシステム及び／又はアプリケーションの実質的に任意の制御可能な態様は、ユーザー１８などのターゲットの動きによって制御することができる。
【００１１】
[0019]これに加えて又は代替的に、デプスカメラ２０を介して取得した奥行き情報は目標を追跡する以外の目的に使用することができる。例として、デプスカメラ２０は、部屋及び／又は１つ以上の物体を視覚的に調査するために使用することができる。デプスカメラ２０から取得した奥行き情報は、調査される部屋及び／又は物体の３次元のコンピューター読み取り可能なモデルを作成するために使用することができる。
【００１２】
[0020]別の例として、デプスカメラは、車両やロボットなどの移動するコンピューティングシステム上の近接センサーとして使用することができる。
[0021]デプスカメラ２０などのデプスカメラは、これら及び様々な他の有用な機能を提供するために使用することができる。特に、アプリケーションは、デプスカメラからの奥行き情報を利用する任意の数のさまざまな機能を提供するために開発して配置することができる。しかし、ほとんどのアプリケーションは、見られたシーンの現実の世界の特徴を奥行き情報から推定するための複雑なアルゴリズム及び処理戦略を含む。たとえば、骨格追跡（skeletal tracking）アルゴリズム及び処理戦略は、ターゲットを追跡する骨格の機械表現を用いてユーザー１８などのターゲットをモデル化するために使用することができる。別の例として、床面を見つけるアルゴリズムは、シーン内の床面を見つけるために使用することができる。
【００１３】
[0022]本明細書に記載のカメラ互換性技術を利用しないアプリケーションは、特定のフォーマットの及び／又は特定のパラメーターを持つ奥行き情報を受け取るように設計することができる。このようなアプリケーションは、望ましいフォーマット及び／又はパラメーターと一致しない奥行き情報を使用することができないかもしれない。いくつかの場合には、望ましいフォーマット及び／又はパラメーターと一致しない奥行き情報は、そのようなアプリケーションをクラッシュさせる可能性がある。
【００１４】
[0023]異なる種類のデプスカメラの各々は１つ又は複数のフォーマットの違い及び／又は異なるパラメーターを有する奥行き情報を生成することができる。そのため、現在に至るまで、アプリケーションは特定のデプスカメラ念頭に置いて設計されてきた。しかし、アプリケーションが特定のデプスカメラのみとともに使用するように設計される場合、そのアプリケーションはなじみのない形式の及び／又は予期しないパラメーターをもつ奥行き情報を出力し得る新しいカメラをサポートすることができない。
【００１５】
[0024]図２は、奥行き画像コンシューマー３２と複数の異なる奥行き画像プロデューサー３４（例えば、奥行き画像プロデューサー３４ａ、奥行き画像プロデューサー３４ｂ、及び奥行き画像プロデューサー３４ｃ）との間の互換性を提供するデプスカメラ互換性システム３０を示す。本明細書中で使用される場合、奥行き画像コンシューマーは、デプスカメラからの奥行き情報を利用するように構成される任意のオペレーティングシステム、アプリケーション、サービス、プロセス、モジュール、エンジン、又は他のオブジェクトを指す。
【００１６】
[0025]デプスカメラ互換性システム３０は、デプスカメラのどのモデルが奥行き画像コンシューマーで使用することができるかに関して大きな柔軟性を提供する。異なるパラメーターを有するカメラ、異なる奥行き発見（finding）技術に基づくカメラ、及び異なる種類の奥行き画像を生成するカメラは、デプスカメラ互換性システム３０と同じ意味で使用することができる。
【００１７】
[0026]例として、奥行き画像プロデューサー３４ａは、奥行き画像を評価するために構造化された光技術を使用するデプスカメラを含んでもよい。奥行き画像プロデューサー３４ｂは奥行き画像を評価するために飛行時間技術を使用するデプスカメラを含んでもよい。そのようなカメラの両方とも、デプスカメラ互換性システム３０のおかげで奥行き画像コンシューマー３２と互換性がある。奥行き画像コンシューマー３２はいずれかのカメラとの互換性のために特別に設計されている必要はない。いずれかのカメラがリリースされる前に奥行き画像コンシューマー３２を開発することができる。言い換えれば、デプスカメラ互換性システム３０は、奥行き画像コンシューマー、及び奥行き画像コンシューマーが開発された後に開発されるデプスカメラを含む様々な異なるデプスカメラとの互換性を容易にする。
【００１８】
[0027]図２に示すように、デプスカメラ互換性システム３０は、初期化モジュール３６、キャプチャーモジュール３８、仮想化モジュール４０、及び出力モジュール４２を含む。少なくともいくつかの実施例において、初期化モジュール、キャプチャーモジュール、仮想化モジュール、出力モジュール、及び／又はデプスカメラ互換性システム３０の他のコンポーネントは、アプリケーションプログラミングインターフェース（ＡＰＩ）の一部として実施することができる。ＡＰＩは、奥行き画像プロデューサーと奥行き画像コンシューマーとの間で使用する通信の規則を確立するために、オペレーティングシステム、アプリケーション、ライブラリー、及び／又は他のオブジェクトによって実施されてもよい。 ＡＰＩは、奥行き画像プロデューサーと奥行き画像コンシューマーとの間で通信するのに使用されるルーチン、データ構造、オブジェクトクラス及びプロトコルの仕様を含んでもよい。さらに、ＡＰＩは、例えば仮想化モジュール４０及びエミュレーションモジュール４４を参照して以下に説明するように、様々な態様の奥行き画像を処理するように構成される機能ブロックを含んでもよいし、又はインタフェースしてもよい。
【００１９】
[0028]初期化モジュール３６は、奥行き画像コンシューマー３２などの奥行き画像コンシューマーについてサポートされる仮想的なデプスカメラパラメーターを確認するように構成することができる。そのような確認（acknowledgement）を有効にするために、骨格追跡ゲームアプリケーションなどの奥行き画像コンシューマーは、特定のデプスカメラ（例えば、特定の種類又はモデルの構造化された光のデプスカメラ）に加えて、又はその代わりに、仮想的なデプスカメラとの互換性のために開発されてもよい。そのような例において、奥行き画像コンシューマーは、その奥行き画像コンシューマーによって予期される仮想的なデプスカメラパラメーター（例えば、ｘ−ｙ−ｚ解像度、視界角錐（view frustum）、奥行き画像の種類など）の指示を提供するように構成することができる。さらに、初期化モジュールは、奥行き画像コンシューマーからのサポートされる仮想的なデプスカメラパラメーターの指示を受信するように構成することができる。上述したように、初期化モジュールは、必要に応じて、奥行き画像コンシューマー及び奥行き画像プロデューサーが互いに通信するために使用できるＡＰＩの一部として実施されてもよい。
【００２０】
[0029]サポートされる仮想デプスカメラパラメーターの指示は、仮想デプスカメラの予期される視界角錐及び／又は仮想デプスカメラの予期される解像度を規定することができる。このような予想される視界角錐及び／又は予想される解像度は、特定のデプスカメラの固有の視覚角錐及び固有の解像度とは異なる場合がある。サポートされる仮想デプスカメラパラメーターの指示は、仮想的なデプスカメラが基づいている実際のデプスカメラのモデルを特定してもよい。以下の説明では、初期化モジュール３６によって確認することができる異なるパラメーターの限定的でないサンプリングについてまとめられている。
【００２１】
[0030]デプスカメラは、一般に、デプスカメラのセンサーに最も近い表面からの半径方向の距離を各画素において測定する。この距離は、奥行きカメラからの光線に沿った距離を現実世界をモデル化する３次元空間へと投影することにより、ワールド座標に変換することができる。このプロセスは、明確な線形の境界が存在しない様々な三次元のサンプルを生成する。代わりに、ポイントはデプスカメラの視覚角錐によって境界が示される−（レンズの歪みがないと仮定して）２つの同心球の２つの３次元円弧の間に挟まった空間。図３Ａは、例示的なデプスカメラ４８の例示的な視覚角錐４６を示す。
【００２２】
[0031]同心球の位置は、デプスカメラで測定可能な視野の奥行きによって決定される。小さい方の同心球はそのデプスカメラの最小の測定可能な距離と同等の半径を有し、大きな方の同心球はそのデプスカメラの最大の測定可能な距離と同等の半径を有する。空間内の三次元円弧の大きさは、そのデプスカメラの視野（すなわち、視野角）によって決定される。デプスカメラの視覚角錐の位置及び方向は、物理的な位置とデプスカメラの物理的な向きによって決定される。どれだけの数の異なる画素が視覚角錐に含まれるかは、デプスカメラの解像度によって決定される。奥行きの感度（分解能）はデプスカメラからの出力として受信される画素あたりのビット数に依存する。しかし、実際の感度が低くなる可能性がある。
【００２３】
[0032]パラメーター（例えば、視野の奥行き、視野、分解能、位置、方向、レンズの歪み等）は異なるカメラについて異なっていてもよい。奥行き画像コンシューマーがこのような違いに非常に敏感である可能性があるため、カメラ間のパラメーターの違いは困難をもたらす可能性がある。そのため、あるデプスカメラパラメーターを有する特定のデプスカメラから奥行き画像を受信するように開発される代わりに、奥行き画像コンシューマーは、仮想的なデプスカメラパラメーターを有する仮想的なデプスカメラとの互換性のために開発されてもよい。後述するように、デプスカメラ互換性システムは、実際のカメラからの奥行き情報が奥行き画像コンシューマーによって使用することができるように、仮想的なデプスカメラの仮想パラメーターに従って、実際のカメラから受信した奥行き情報を効果的に変換することができる。
【００２４】
[0033]いくつかの実施例において、初期化モジュール３６は、奥行き画像コンシューマーのサポートされる仮想的なデプスカメラパラメーターとの互換性を目指して奥行きカメラを向けることを容易にする目標命令（aiming instructions）３７を生成するように構成することができる。例として、奥行き画像コンシューマーは、ユーザーの足をスキャンすることができるようにデプスカメラが床に向かって下に向けられることを期待することがある。そのため、目標命令はこの期待を伝えるために生成することができる。自動的に自身を再配置する位置決めモーター又は他の手段をデプスカメラが含む実施例（例えば、奥行き画像プロデューサー３４ｃのデプスカメラ）において、初期化モジュールは、デプスカメラが目標命令に従って自身を再配置し得るように、デプスカメラに目標命令を送信するように構成されてもよい。いくつかの実施例では、目標命令は、ユーザーが手動でデプスカメラを再配置することができるように、視覚的及び／又は音声の指示を介してユーザーに伝えることができる。
【００２５】
[0034]いくつかの実施例では、奥行き画像コンシューマーが予想される座標系を有する奥行き画像を受け取るように、座標系を抽象化することができる。いくつかの例では、これは、視線（line of sight）を測定するハードウェアを使用するか又はカメラに対する床の角度を測定することによって、（例えば）床と整列されるように座標系を回転させることを含む。
【００２６】
[0035]キャプチャーモジュール３８は、奥行き画像プロデューサーから固有の奥行き画像を受け取るように構成することができる。限定的でない例として、キャプチャーモジュールは、飛行時間カメラを含む奥行き画像プロデューサーから固有の奥行き画像を受け取ってもよい。上述したように、キャプチャーモジュールは、必要に応じて、奥行き画像コンシューマー及び奥行き画像プロデューサーが互いに通信するために使用できるＡＰＩの一部として実施されてもよい。
【００２７】
[0036]奥行き画像プロデューサーは奥行きカメラのみを含んでもよいし、又は奥行き画像プロデューサーは、デプスカメラのほか、オフボードの（off-board）処理エンジンを含んでもよい。図４Ａに示すように、奥行き画像プロデューサー３４’は、生のデプスカメラのデータ（図示せず）を固有の奥行き画像５４に変換するように構成されるカメラ上の（オンカメラ）プロセッサー５２を含んでもよい。そのような場合には、キャプチャーモジュール３８’は、オンカメラ（on-camera）プロセッサー５２を介して固有の奥行き画像５４を受信するように構成することができる。図４Ｂに示すように、奥行き画像プロデューサー３４’’は、生のデプスカメラデータ６０を固有の奥行き画像５４’’に変換するオフカメラ（off-camera）プロセッサー５６を含んでもよい。オフカメラプロセッサー５６は、例えば奥行き画像コンシューマー３２’’が実行されるコンピューティングシステム１０’’の一部であってもよい。そのような場合には、キャプチャーモジュール３８’’は、オフカメラプロセッサー５６を介して固有の奥行き画像を受信するように構成することができる。図４Ｃに示すように、奥行き画像プロデューサー３４’’’が、協働して生のデプスカメラデータ（図示せず）を固有の奥行き画像５４’’’に変換するオンカメラプロセッサー５２’’’及びオフカメラプロセッサー５６’’’を含んでもよい。そのような場合には、キャプチャーモジュール３８’’’は、オンカメラプロセッサー５２’’’及びオフカメラプロセッサー５６’’’を介して固有の奥行き画像５４’’’を受け取るように構成することができる。特に、オンカメラプロセッサー５２’’’は、オフカメラプロセッサー５６’’’に、生のデプスカメラデータから部分的に処理された中間データ６２を渡すことができる。図４Ｂの例のように、オフカメラプロセッサー５６’’’は、例えば奥行き画像コンシューマー３２’’’が実行されるコンピューティングシステム１０’’’の一部であってもよい。
【００２８】
[0037]図２に戻ると、仮想化モジュール４０は、固有の奥行き画像を、奥行き画像コンシューマーと互換性のある、サポートされた仮想的なデプスカメラパラメーターを有する仮想的な奥行き画像に変換するように構成することができる。特に、仮想化モジュールは、奥行き画像コンシューマーから初期化モジュールを介して受信される仮想パラメーターの指示に従って、固有の奥行き画像を仮想的な奥行き画像に変換するように構成することができる。仮想化モジュールは、必要に応じて、ＡＰＩの一部として、又は奥行き画像コンシューマーと奥行き画像プロデューサーが通信に使用するＡＰＩと互換性のあるアプリケーションもしくはサービスとして実施することができる。
【００２９】
[0038]１つの例示的な変換として、仮想化モジュール４０は、固有の奥行き画像の視覚角錐（view frustum）をクリッピングすることにより、固有の奥行き画像を仮想的な奥行き画像に変換するように構成することができる。この例はやや概略的に図３Ｂに示されている。仮想的な視覚角錐７０が実線で示される。仮想的な視覚角錐７０は仮想的なデプスカメラパラメーターによって特定することができる。実際のデプスカメラ７４の固有の視覚角錐７２は同じ視野内で重ねられる。固有の視覚角錐７２は破線で示される。比較して見ることができるように、固有の視覚角錐７２は、仮想的な視覚角錐７０よりも広い視野と深い被写界深度を有する。このように、固有の視覚角錐７２は、仮想的な視覚角錐７０を予測する奥行き画像コンシューマーに対して互換性がないことがある。
【００３０】
[0039]仮想化モジュールは、仮想的な視覚角錐のそれに固有の視覚角錐をクリッピングすることができる。言い換えると、仮想的な視覚角錐の視野及び／又は被写界深度の外にあるデプスカメラ７４によって読み取られる奥行き情報は、奥行き画像から除去されてもよい。いくつかの実施例では、仮想的な視覚角錐の奥行き情報がそのまま残される一方、除去された奥行き情報を単に無視してもよい。いくつかの実施例では、除去された奥行き情報は、仮想的な視覚角錐における奥行き情報を選択的に修正するために使用することができる。
【００３１】
[0040]別の例示的な変換として、仮想化モジュール４０は、固有の奥行き画像の解像度を変更する（例えば、固有の奥行き画像の解像度を下げる）ことにより、固有の奥行き画像を仮想的な奥行き画像に変換するように構成することができる。実質的に任意の再サンプリングアルゴリズムを、解像度を変更するために使用することができる。限定的でない例として、所望の解像度を有するサンプルグリッドが実際のデプスカメラからの奥行き画像と概念的に整列される最近傍アルゴリズムを使用することができる。サンプルグリッドの各サンプル画素には、サンプル画素に最も近い実際のデプスカメラからの画素の深度値（奥行き値、depth value）を割り当てることができる。他の限定的でない例として、再サンプリングアルゴリズムは、最も近い画素の平均値又は距離で重み付けされた平均値をとってもよい。
【００３２】
[0041]視覚角錐をクリッピングし解像度を変更する上記の例は限定的なものではない。奥行き画像コンシューマーが任意の数の異なる仮想パラメーターをもつ仮想カメラを予期して設計することができ、奥行き画像コンシューマーの仮想デプスカメラとの互換性を達成するためにそのようなパラメーターに従って実際の奥行き画像を変換することができることが理解されるべきである。
【００３３】
[0042]図２に戻ると、いくつかの実施例において、仮想化モジュール４０は、奥行き画像コンシューマーによってサポートされるサポートされた型を持つエミュレーション奥行き画像へと固有の奥行き画像を処理することによって固有の奥行き画像を仮想的な奥行き画像に変換するように構成された、エミュレーションモジュール４４を含んでもよい。言い換えれば、奥行き画像コンシューマーは、特定のモデルのデプスカメラ及び／又は特定の奥行き取得技術（例えば、構造化された光又は飛行時間）を使用して作成される奥行き画像を予期するように設計することができる。異なる種類のデプスカメラからの奥行き画像は、各画素に深度値が割り当てられる奥行き画像を最終的に生成するかもしれないが、異なる種類のデプスカメラ間の差異は、各画素に割り当てられる深度値の間の様々な差異をもたらすかもしれない。奥行き画像コンシューマーは特定のデプスカメラからの特定の種類の奥行き画像を処理するように設計することができる。このように、エミュレーションモジュール４４は、サポートされていないデプスカメラからの奥行き画像を、サポートされているデプスカメラからもたらされたかのように見えるように変更するよう構成することができる。
【００３４】
[0043]例えば、エミュレーションモジュール４４は、飛行時間型デプスカメラ（time of flight depth camera）からの固有の奥行き画像を、構造化された光のデプスカメラ（structured light depth camera）によって生成される奥行き画像をエミュレートするエミュレーション奥行き画像に変換することができる。この例は限定的なものではない。エミュレーションモジュール４４は、実質的に任意のカメラ技術からの固有の奥行き画像を、実質的に任意の他の種類のカメラ技術によって生成される奥行き画像をエミュレートするエミュレーション奥行き画像に変換するように構成されてもよい。
【００３５】
[0044]エミュレーションモジュール４４は、いくつかの実施例では仮想化モジュール４０の一部であってもよいが、本明細書に記載されるエミュレーション技術は、視覚角錐クリッピング及び／又は解像度の変更などの任意の他の仮想化技術とは独立して実行することができることを理解すべきである。いずれの場合も、エミュレーションモジュール４４は、必要に応じて、ＡＰＩの一部として、又は奥行き画像コンシューマー及び奥行き画像プロデューサーが通信に使用するＡＰＩと互換性のあるアプリケーション又はサービスとして実施されてもよい。
【００３６】
[0045]エミュレーションモジュールは次のうちの１つ又は複数を含んでもよい：ノイズ抑制モジュール８０、エッジ強調モジュール８２、無効化モジュール８４、奥行き量子化モジュール８６、小型オブジェクト補正（small object correction）モジュール８８、影シミュレーションモジュール９０。
【００３７】
[0046]ノイズ抑制モジュール８０は、固有の奥行き画像中の異なる奥行き値をもつ隣接する画素領域間の奥行きエッジ（depth edge）を維持するように構成することができる。ノイズ抑制モジュール８０の機能は、図６の１１８を参照して以下により詳細に記載される。
【００３８】
[0047]エッジ強調モジュール８２は、固有の奥行き画像中の異なる奥行き値を持つ隣接する画素領域間の奥行きエッジを強調するように構成することができる。エッジ強調モジュール８２の機能は、図６の１２６を参照して以下により詳細に記載される。
【００３９】
[0048]無効化モジュール８４は、所定の範囲の外の結合された照明及び傾斜を有する画素を無効にするように構成することができる。無効化モジュール８４の機能は、図６の１２０−１２４を参照して以下により詳細に記載される。
【００４０】
[0049]奥行き量子化モジュール８６は深度値を量子化するように構成することができる。奥行き量子化モジュール８６の機能は、図６の１２８を参照して以下により詳細に記載される。
【００４１】
[0050]小型オブジェクト補正モジュール８８は、しきい値サイズ未満のオブジェクトに属する画素に、より深い深度値を割り当てるように構成することができる。小型オブジェクト補正モジュール８８の機能は、図６の１３０を参照して以下により詳細に記載される。
【００４２】
[0051]影シミュレーション（shadow simulation）モジュール９０は、飛行時間型デプスカメラから仮想的に間隔を空けられた仮想的な照明の仮想的な見晴らしのよい点から仮想的に塞がれた画素に影の画素値を割り当てるように構成することができる。影シミュレーションモジュール９０の機能は、図６の１３２を参照して以下により詳細に記載される。
【００４３】
[0052]仮想化モジュール４０は、実際のデプスカメラからの固有の奥行き画像を、奥行き画像コンシューマーと互換性のあるサポートされる仮想的なデプスカメラパラメーターを有する仮想的な奥行き画像に変換する。出力モジュール４２は、奥行き画像コンシューマーに、この仮想的な奥行き画像を出力するように構成される。奥行き画像コンシューマーは、その後、分析及び／又はさらなる処理のために、仮想的な奥行き画像を受け取ってもよい。出力モジュールは、必要に応じて、奥行き画像コンシューマー及び奥行き画像プロデューサーが互いに通信するために使用できるＡＰＩの一部として実施されてもよい。初期化モジュール３６、キャプチャーモジュール３８、仮想化モジュール４０、及び出力モジュール４２は、個別のモジュールとして上述されているが、２つ以上のモジュールが共通のＡＰＩへと動作可能に組み合わされてもよいことが理解されるべきである。
【００４４】
[0053]図５は、奥行き画像コンシューマーと複数の異なる奥行き画像プロデューサーとの間の互換性を提供する方法１００を示している。方法１００は、例えば、図２の奥行きカメラ互換性システム３０を使用して、実施することができる。
【００４５】
[0054]１０２において、方法１００は、サポートされている仮想的なデプスカメラパラメーターの指示を受信することを含む。上記のように、仮想的なデプスカメラパラメーターは、仮想デプスカメラの視覚角錐、仮想デプスカメラの解像度、仮想デプスカメラが基づいている実際のデプスカメラのモデル、及び／又は仮想デプスカメラの他の特性を指定してもよい。
【００４６】
[0055]１０４において、方法１００は、奥行き画像コンシューマーとの互換性がないサポートされないデプスカメラパラメーターを有する固有の奥行き画像を受信することを含む。 １０６において、方法１００は、奥行き画像コンシューマーと互換性のあるサポートされる仮想デプスカメラパラメーターを有する仮想的な奥行き画像へと固有の奥行き画像を変換することを含む。上記のように、固有の奥行き画像を変換することは、固有の奥行き画像の視覚角錐をクリッピングすること、固有の奥行き画像の解像度を下げること、及び／又は奥行き画像コンシューマーによってサポートされたサポートされるタイプを有するエミュレーション奥行き画像へと、固有の奥行き画像を処理すること、うちの１つ又は複数を含んでもよい。
【００４７】
[0056]１０８において、方法１００は、奥行き画像コンシューマーに仮想的な奥行き画像を出力することを含む。仮想的な奥行き画像はサポートされる仮想デプスカメラのパラメーターに対して調整されるので、奥行き画像コンシューマーによって使用することができる。しかし、方法１００は異なるデプスカメラからの様々な異なる固有の奥行き画像に適用することができるため、奥行き画像コンシューマーは、単一の特定の種類のデプスカメラから奥行き画像を受信することに限定されない。
【００４８】
[0057]図６はデプスカメラの互換性を提供する別の方法１１０を示す。１１２において、方法１１０は、奥行き画像コンシューマーについてのサポートされる仮想デプスカメラパラメーターを奥行き画像コンシューマーから受信することを含む。これは、例えば、奥行き画像コンシューマーと互換性のあるモデルのデプスカメラ（例えば、構造化された光のデプスカメラ）の指示を受信することを含んでもよい。
【００４９】
[0058]１１４において、方法１１０は、奥行き画像コンシューマーによってサポートされない、サポートされないタイプを有する固有の奥行き画像を受信することを含む。たとえば、固有の奥行き画像は、モデルのデプスカメラ以外のソースからのものであってもよい。このように、固有の奥行き画像は奥行き画像コンシューマーと互換性がないことがあり、したがって、サポートされないタイプを有し得る。上で紹介した例を続けると、奥行き画像コンシューマーは、構造化された光デプスカメラからの奥行き画像をサポートしてもよい。しかし、飛行時間型のデプスカメラなどの別のソースから固有の奥行き画像が受信されてもよく、したがって、固有の奥行き画像は奥行き画像コンシューマーについてサポートされないタイプを有する。
【００５０】
[0059]１１６において、方法１１０は、奥行き画像コンシューマーによってサポートされたサポートされるタイプを有するエミュレーション奥行き画像へと、固有の奥行き画像を処理することを含む。言い換えれば、エミュレーション奥行き画像は、モデルデプスカメラによって生成された奥行き画像などの、奥行き画像コンシューマーと互換性のある奥行き画像をエミュレートするように修正することができる。上で紹介した例を続けると、飛行時間型デプスカメラから受信される固有の奥行き画像は、例えば、構造化された光のデプスカメラによって生成される奥行き画像をエミュレートするエミュレーション奥行き画像へと処理することができる。 
【００５１】
[0060]図６に示すように、固有の奥行き画像をエミュレーション奥行き画像へと処理することは、以下により詳細に説明するように、さまざまな技術を利用してもよい。このような技術は限定的でないと理解することができる。さらに、図６に示されない追加の技術を、代替的に又は付加的に適用することができる。
【００５２】
[0061]１１８において、方法１１０は、固有の奥行き画像に対してエッジ保存フィルター（edge preserving filter）を適用することを含んでもよい。飛行時間型デプスカメラから受信した固有の奥行き画像を処理する場合は、このような固有の奥行き画像は、飛行時間型デプスカメラ間の標準的な副産物であるランダムノイズを有し得る。しかし、構造化された光のデプスカメラは本質的に滑らかな（平坦な）信号を有しており、このような信号をさらにソフトウェアでフィルタリングすることができる。したがって、この種のより滑らかな信号をエミュレートするために、飛行時間型デプスカメラから受信した固有の奥行き画像を、重要な奥行きの特徴を損なうことなく、飛行時間デプスマップからのノイズを抑制するように処理することができる。これを行うために、エッジ保持フィルタを、固有の奥行き画像からのノイズを抑制するために使用することができる。Perona-Malikの著作（異方性拡散を用いたスケールスペース及びエッジ検出、IEEE Transactions on Pattern Analysis and Machine Intelligence, v.12 n.7, p.629-639, 1990）及びWeickertらの著作（J. Weickert, B.M. ter Haar Romeny, M.A. Viergever, 非線形拡散フィルタリングのための効率的かつ信頼性の高いスキーム、IEEE Trans. Image Proc., v.7 n.3, pp. 398-410, 1998）に記載されているものに基づく非線形偏微分方程式を利用するなど、任意の適切な手法を使用することができる。エッジしきい値パラメーターは、カメラの奥行き精度の上限（例えば、Ｋ＝１０［ｃｍ］）に設定することができる。固有の奥行き画像にエッジ保存フィルターを適用することによって、固有の奥行き画像内のオブジェクト間の不連続性が良好に保たれる一方、固有の奥行き画像内のノイズレベルが大幅に低下し得る。
【００５３】
[0062]図６について続けると、１２０において、方法１１０は、（例えば、飛行時間解析においてシーンを照らすために使用される赤外光から測定されるような）照明画像（illumination image）上をメディアンフィルターを通過させることによって、信頼性マップ（confidence map）を構築することを含んでもよい。飛行時間型デプスカメラから受信した固有の奥行き画像を処理して構造化された光のデプスカメラのものをエミュレートする場合、そのような信頼性マップは、構造化された光のデプスカメラで発生する画素の無効化現象をエミュレートするために利用され得る。構造化光技術において、奥行きはパターン一致を見つけることによって計算される。一致が見つかれば奥行きを比較的正確に計算することができるが、一致が見つからない場合、奥行きは計算できず、その画素での測定は無効である。飛行時間技術において、奥行きは一般的にどこででも測定することができるが、（例えば、照明のレベルに応じて）異なる精度をもつ。したがって、奥行き測定が不正確になって（例えば、信号のノイズが暗領域において多くなりすぎる）構造化された光の奥行き画像をエミュレートする場合、飛行時間奥行き画像における照明のレベルは容易に予測することができる。これを行うために、入力として照明画像を用いて、信頼性マップを構築することができる。信頼性マップは、異常値を削除しノイズを抑制するために、最初に照明画像上をメジアンフィルターを通過させることによって、構築することができる。次いで、各画素に対して、次のようなソフト閾値関数（soft threshold function）を使用することができる。
【００５４】
【数１】
2013519089.tif 000003
【００５５】
ここで、パラメーターｋは、カメラのバージョンによって変更されてもよい。例として、ｋはいくつかの実施例では６０に設定することができる。
[0063]信頼性マップを構築することに加えて、画像内の他の領域を識別することが望ましいかもしれない。したがって、１２２において、方法１１０は、固有の奥行き画像から傾斜表面マップ（oblique surface map）を構築することを含んでもよい。構造化された光のデプスカメラの固有の奥行き画像をエミュレートするために飛行時間型デプスカメラから受信した固有の奥行き画像を処理する場合には、構造化された光のデプスカメラで発生する画素無効化現象がさらに、パターンマッチングの困難性に対応している可能性が高い領域を識別することによってエミュレートされてもよい。構造化された光照明装置によって投影されるパターンが傾いた物体（すなわち、照明の光線に対して鋭角の表面）上に現れることがあり、従って、パターン一致はしばしばそこで失敗し、無効な測定値を生むことがある。したがって、飛行時間型デプスカメラから受信した固有の奥行き画像は、傾斜面を識別するために傾斜面マップを構築することによって処理することができる。これは、例えば、視野及び解像度などのカメラパラメーターを使用して、画素ごとに世界表面角度（world surface angle）を計算すること、及び、次いでガウシアンフィルタリングによってこれを平滑化することを含んでもよい。さらに、ｋ＝４５で、上記で定義したＦｋなどのソフト閾値関数を使用することができる。
【００５６】
[0064]１２４において、方法１１０は、信頼性マップと傾斜面マップを無効化テストマップに一体化することを含んでもよい。信頼性マップと傾斜面マップの両方が０と１との間の値を有する場合は、当該２つのマップは、例えば、２つのマップを乗算し、０．５の閾値で閾値化する（thresholding）ことによって一体化することができる。メジアンフィルターは結果を正規化する（regularize）ために使用することができる。このような処理は、所定の範囲外にある画素を無効にするために使用することができる。
【００５７】
[0065]図６について続けると、１２６において、方法１１０は、固有の奥行き画像の異なる奥行き値を持つ隣接する画素領域間のエッジを強調することを含んでもよい。飛行時間型デプスカメラから受信した固有の奥行き画像を処理する場合には、この技術で計算されるような奥行き値は画素視野（pixel field of view）フィールドの奥行きの平均値であるので、そのような飛行時間型デプスカメラはエッジをぼかす傾向にある。しかし、構造化された光のデプスカメラのエッジ上の奥行きは、通常、測定されず、データは合成されて、オブジェクト間の急激な遷移を生成する。したがって、構造化された光のデプスカメラからの奥行き画像をエミュレートするために、飛行時間型デプスカメラからの固有の奥行き画像は、エッジをよりシャープにするために、異なる奥行き値を持つ隣接する画素領域間のエッジを強調するために処理することができる。任意の適切な手法をそのようなエッジの強調のために使用することができ、１つのそのような適切な手法は以下に詳細に記載される。
【００５８】
[0066]ｘ方向における前進差分Ｄ＋及び後退差分Ｄ−を画素毎に計算することができる。その後、次のようにマスクを決定することができる：Ｍａｓｋ＿ｘ＝１（ｍｉｎ（Ｄ＋，Ｄ−）＞４ｃｍの場合）、そうでなければ０、そればステップエッジを回避するために傾斜する。その後、同様の計算が、Ｍａｓｋ＿ｙを計算するためにｙ方向で行うことができる。その後、Ｍａｓｋ＿ｘ又はＭａｓｋ＿ｙのいずれか＝＝１の場合の各画素に対して、３×３の近傍における最大値がとられる。
【００５９】
[0067]図６について続けると、１２８において、方法１１０は、奥行き値を量子化することを含んでもよい。飛行時間型デプスカメラから受信した固有の奥行き画像を処理する場合には、奥行き値は、構造化された光のデプスカメラから受信される奥行き画像をエミュレートするために量子化することができる。構造化された光の技術は、奥行きを計算するために三角測量に基づく。奥行きは、固有のセンサー分解能が有限であるように量子化されたパターン変位の関数である。飛行時間の技術において、奥行き測定値は固有の解像度には関係しない。したがって、量子化効果を変形された奥行きマップに組み入れることが望まれる。これは任意の適切な手法によって行うことができる。１つのそのような適切な手法は、三角測量ベースのカメラで発生するものに類似した非線形量子化式を構築するために、構造化された光のデプスカメラのパラメーター（例えば、視野、固有のセンサー分解能、焦点距離、センサーと照明の中心との間の距離）及びデプスマップをとることを含む。例として、奥行きＤの関数として画素における変換Ｔは次のように定義される
【００６０】
【数２】
2013519089.tif 000004
【００６１】
ここで、focal_lengthは構造化された光のデプスカメラの焦点距離であり、pixel_sizeはセンサーの画素サイズであり、camera_illumはカメラセンサーと照明の中心との間の距離であり、angleはカメラセンサーの中心からの垂直な線に対する物体の角度である。次いで、量子化Ｑは、変換Ｔ（Ｄ）の関数として、次のように記述することができる
【００６２】
【数３】
2013519089.tif 000005
【００６３】
このように、奥行きマップは、構造化された光の技術において三角測量計算によって生成されるのと同様にして奥行きを量子化する。
[0068]図６について続けると、１３０において、方法１１０は、閾値のサイズ未満の物体に属する画素により深い奥行き値を割り当てることを含んでもよい。飛行時間型デプスカメラから受信した固有の奥行き画像を処理する場合には、構造化された光のデプスカメラから受信される奥行き画像をエミュレートするために、より深い奥行き値が小さな物体の画素に割り当てられてもよい。構造化された光のデプスカメラは、小さすぎる物体上にうまく投影することができないパターンに基づく。従って、このような小さな物体は、しばしば、バックグラウンドの奥行き値を割り当てられる。より深い奥行き値は、任意の適切な方法で、小さな物体の画素に割り当てることができる。１つのそのような手法は、形態学的閉鎖（morphological closing）を行うことを含む。このように、要素の構築は解像度に依存する。例として、おおよそ３×３のサイズのボールの要素を使用することができる。したがって、奥行き画像において観察することができる最小の物体のサイズを修正することができ、効果は構造化された光のデプスカメラで行われる後処理に類似する。
【００６４】
[0069]図６について続けると、１３２において、方法１１０は、飛行時間型デプスカメラ間から実質的に間隔を空けられた仮想的な照明の仮想的な視点（virtual vantage point）から実質的に閉塞された画素に影の画素値を割り当てることを含んでもよい。飛行時間型デプスカメラから受信した固有の奥行き画像を処理する場合には、影の画素値は、構造化された光のデプスカメラから受信される奥行き画像をエミュレートするために割り当てることができる。上記のように、構造化された光のデプスカメラは三角測量の原理で動作する。このため、光源はセンサーから離れており、「影」効果がカメラのセンサーに対して引き起こされる。したがって、「影になった画素」は、図７に示すように、センサーにとっては見ることができるが光源の位置からは直接的には見えない画素である。ここで、第１の物体１４０は、第２の物体１４２が発光体１４４から直接光を受けることを妨げる。したがって、第１の物体１４０の画像１４６及び第２の物体１４２の画像１４８を受信することに加えて、センサー１５０はまた、第２の物体１４２の影になった画素１５２を受信する。
【００６５】
[0070]したがって、飛行時間型デプスカメラから受信される固有の奥行き画像においてこの「影（shadowing）」アーティファクトをエミュレートすることが望ましい。センサーと周辺の発光体との間の短い距離のために、影効果はすでに飛行時間型デプスカメラにおいて生じているが、これはカメラにおいて正規化することができ、したがって、生成される奥行き動画においては見ることができない、と理解することができる。
【００６６】
[0071]影を合成するための例示的な解決策は軽量（lightweight）アルゴリズムを使用する。当該アルゴリズムは、発光体がモデル化されたデプスカメラにあるのと同じ場所に仮想カメラを作成する。アルゴリズムは、次いで、元のセンサーからこの仮想センサーへ奥行きのサンプルを変換する。この変換は次の式を用いて行うことができる
【００６７】
【数４】
2013519089.tif 000006
【００６８】
[0072]この仮想センサーに閉塞されるサンプルは影を付けられる。「発光体×画像」の各行をスキャンすることができ、すでにスキャンされた値のうち最大のXemitterImage値を有さない場合には画素に影をつけてもよい。図８は、影を付けられた画素１５２がXworldの値の減少のために影を付けられたものとして考慮されるアイデアを示す。
【００６９】
[0073]奥行き測定の不正確さに起因するいくつかの小さな変動を克服するために、形態学的「オープン」フィルタリングを「影を付けられた画素」のマップに適用することができる。このステップは、小さな影を除去し、エッジをより四角状に見えるようにして、したがって構造化された光デプスカメラからのエッジをエミュレートする。
【００７０】
[0074]図６について続けると、１３４において、方法１１０は、サポートされているタイプを有するエミュレーション奥行き画像を出力することを含む。そのようなエミュレーション奥行き画像は、デプスカメラからの固有の奥行き画像を処理できない奥行き画像コンシューマーによって使用することができる。上記の例を使用して、構造化された光デプスカメラからの構造化された光の奥行き画像を処理するように設計されたアプリケーションは、飛行時間型デプスカメラを用いて測定される固有の奥行き画像に基づいてエミュレーション奥行き画像を受信し、処理することができる。
【００７１】
[0075]図９は、奥行き抽象化層内の例示的な画像処理ブロック１６０を示す高レベルの実施例の図である。図１０は図９の画像処理ブロック１６０をより詳細に示す。図９及び１０に示すように、画像処理ブロック１６０は、入力として、生の奥行きマップ、赤外照明画像に関連する情報、及びデプスカメラパラメーターを受信してもよい。画像処理ブロックは、上述したように、奥行き画像コンシューマーによって使用することができる抽象化されたエミュレーション奥行き画像１６２を出力してもよい。
【００７２】
[0076]図１を参照して以下で説明するように、様々な異なるコンピューティングシステムを、本開示の趣旨から逸脱することなく使用することができる。図１を参照して説明される動作環境は例として提供されるが、いかなるようにも限定的なものであると意図されるものではない。そうではなく、示された動作環境は、本開示の範囲から逸脱することなく様々な異なる動作環境に適用することができる一般的な概念を示すことを意図したものである。同様に、図２に示すデプスカメラ互換性システムの概略図は、奥行き画像の仮想化及び奥行き画像のエミュレーションを説明するための簡略化されたフレームワークを提供するが、用途を図面に示すそれらの構成のみに限定することを意図されてはいない。逆に、本明細書に記載された方法及び処理は、様々な異なる種類のコンピューティングシステムに関連し得る。
【００７３】
[0077]図１は、ゲーム機１２及びデプスカメラ２０を備えるデプスカメラ互換性システムを実施するように構成することができる限定的でない例示的なコンピューティングシステムを示す。別のより一般的な例として、図１１は、本明細書に記載されるような、奥行き画像の抽象化及び／又は奥行き画像のエミュレーションを実行することができるコンピューティングシステム１７０を概略的に示す。コンピューティングシステム１７０は、とりわけ、ゲーム機、パーソナルコンピューティングシステム、軍事追跡及び／又は標的システム、グリーンスクリーン又はモーションキャプチャー機能を提供するキャラクターアクイジションシステムを含むがこれらに限定されない、さまざまな異なる形式をとってもよい。
【００７４】
[0078]コンピューティングシステム１７０は、論理サブシステム１７２、論理サブシステムに動作可能に接続されるデータ保持サブシステム１７４、ディスプレイサブシステム１７６、及び／又は奥行き画像プロデューサー１７８を含んでもよい。コンピューティングシステムは必要に応じて図１１に示されていないコンポーネントを含んでもよく、及び／又は図１１に示すいくつかのコンポーネントはコンピューティングシステムへと統合されない周辺コンポーネントであってもよい。
【００７５】
[0079]論理サブシステム１７２は、1つ又は複数の命令を実行するように構成された１つ又は複数の物理デバイスを含んでもよい。例えば、論理サブシステムは、１つ又は複数のプログラム、ルーチン、オブジェクト、コンポーネント、データ構造、アプリケーションプログラミングインターフェース又は他の論理的な構成の一部である１つ又は複数の命令を実行するように構成することができる。そのような命令は、タスクを実行し、データ型を実施し、１つ又は複数のデバイスの状態を変換し、異なるコンピューティングオブジェクトとの間で情報を通信し、又はそうでなければ望ましい結果に到達するために実施することができる。論理サブシステムは、ソフトウェア命令を実行するように構成される１つ又は複数のプロセッサーを含んでもよい。加えて又は代わりに、論理サブシステムは、ハードウェア命令又はファームウェア命令を実行するように構成された１つ又は複数のハードウェア又はファームウェア論理マシンを含んでもよい。論理サブシステムは、必要に応じて、いくつかの実施例においては遠隔に配置され得る２つ以上のデバイスにわたって分散される個々のコンポーネントを含んでもよい。
【００７６】
[0080]データ保持サブシステム１７４は、本明細書に記載された方法及びプロセスを実施するために論理サブシステムによって実行可能なデータ及び／又は命令を保持するように構成された１つ又は複数の物理的な持続性のデバイスを含んでもよい。そのような方法やプロセスが実施される場合、データ保持サブシステム１７４の状態は、（例えば、異なるデータを保持するために）変換することができる。データ保持サブシステム１７４は、取り外し可能な媒体及び／又は内蔵デバイスを含んでもよい。データ保持サブシステム１７４は、とりわけ、光メモリー装置、半導体メモリー装置（例えば、ＲＡＭ、ＥＥＰＲＯＭ、フラッシュなど）、及び／又は磁気メモリーデバイスを含んでもよい。データ保持サブシステム１７４は、次のような特徴のうちの１つ又は複数を備えたデバイスを含んでもよい：揮発性、不揮発性、動的、静的、読み取り／書き込み、読み取り専用、ランダムアクセス、シーケンシャルアクセス、位置アドレス指定可能、アドレス指定可能なファイル、及びアドレス指定可能なコンテンツ。いくつかの実施例では、論理サブシステム１７２及びデータ保持サブシステム１７４は、特定用途向け集積回路又はチップ上のシステムとして、１つ又は複数の共通のデバイスへと統合することができる。
【００７７】
[0081]「モジュール」及び「エンジン」という用語は、１つ又は複数の特定の機能を実行するように実施されるコンピューティングシステム１７０の態様を記述するために使用することができる。いくつかの場合には、このようなモジュールやエンジンは、データ保持サブシステム１７４によって保持される命令を実行する論理サブシステム１７２を介してインスタンス化することができる。異なるモジュール及び／又はエンジンを同じアプリケーション、コードブロック、オブジェクト、ルーチン、及び／又は関数からインスタンス化することができることが理解されるべきである。同様に、同一のモジュール及び／又はエンジンは、いくつかの場合には、異なるアプリケーション、コードブロック、オブジェクト、ルーチン、及び／又は関数によってインスタンス化することができる。例として、図２を参照して説明されるモジュールのうちの１つ又は複数をＡＰＩとして実施することができる。
【００７８】
[0082]ディスプレイサブシステム１７６は、データ保持サブシステム１７４によって保持されるデータの視覚的表現を提示するために使用することができる。本明細書に記載の方法とプロセスは、データ保持サブシステムによって保持されるデータを変更し、したがってデータ保持サブシステムの状態を変更するので、ディスプレイ・サブシステム１７６の状態は、同様に、基礎的データの変更を視覚的に表すように変換することができる。ディスプレイサブシステム１７６は、実質的に任意の種類の技術を利用する１つ又は複数のディスプレイデバイスを含んでもよい。このようなディスプレイデバイスは、共有される筐体において論理サブシステム１７２及び／もしくはデータ保持サブシステム１７４と組み合わせることができ、又はそのようなディスプレイデバイスは図１に示すように周辺ディスプレイデバイスであってもよい。
【００７９】
[0083]コンピューティングシステム１７０はさらに、１つ又は複数の目標及び／又はシーンの奥行き画像を取得するように構成される奥行き画像プロデューサー１７８を含む。奥行き画像プロデューサー１７８は、任意の適切な技術（例えば、飛行時間、構造化された光、ステレオ画像など）を介して奥行き情報をもつ動画をキャプチャーするように構成されてもよい。このように、奥行き画像プロデューサー１７８は、デプスカメラ、ビデオカメラ、ステレオカメラ、及び／又は他の適切なキャプチャー装置を含んでもよい。上で図４Ａ−４Ｃを参照して説明されるように、奥行き画像プロデューサーは、生のデプスカメラデータを奥行き画像へと変換する１つ又は複数のオンカメラプロセッサー及び／又はオフカメラプロセッサーを含んでもよい。言い換えれば、デプスカメラは、必要に応じて、1つ又は複数の奥行き分析機能を実行するように構成された１つ又は複数のオンボード処理ユニットを含んでもよい。デプスカメラは、そのようなオンボード処理論理の更新を容易にするためにファームウェアを含んでもよい。
【００８０】
[0084]例えば、飛行時間分析において、奥行き画像プロデューサー１７８は、赤外光をシーンに対して発するように構成される飛行時間型カメラを含んでもよく、シーンの表面からの後方散乱光を検出するためにセンサーを使用してもよい。いくつかの場合には、パルス赤外光を使用することができ、出射光パルスと対応する入射光のパルスとの間の時間を測定して、キャプチャー装置からシーン上の特定の位置までの物理的な距離を決定するために使用することができる。いくつかの場合には、出射光波の位相は位相シフトを決定するために入射光波の位相と比較することができ、位相シフトは、キャプチャー装置からシーン中の特定の位置への物理的な距離を決定するために使用することができる。
【００８１】
[0085]別の例では、飛行時間分析は、シャッター光パルスイメージング（shuttered light pulse imaging）などの技術によって時間にわたって反射された光ビームの強度を分析することによって、キャプチャー装置からシーン内の特定の位置への物理的な距離を間接的に決定するために使用されてもよい。
【００８２】
[0086]別の例では、構造化された光の分析を、奥行き情報を取得するために奥行き画像プロデューサー１７８によって利用することができる。そのような分析では、パターン光（すなわち、グリッドパターンやストライプパターンなどの既知のパターンとして表示される光）をシーン上に投影することができる。シーンの表面上で、パターンは変形されてもよく、パターンのこの変形は、キャプチャー装置からシーン内の特定の位置までの物理的な距離を決定するために検討することができる。
【００８３】
[0087]別の例では、キャプチャー装置は、視覚的なステレオデータを取得するために異なる角度からシーンを見る２つ以上の物理的に分離されたカメラを含んでもよい。このような場合には、視覚的なステレオデータは奥行き画像を生成するために分解することができる。他の実施例では、奥行き画像プロデューサー１７８は、奥行き値を測定及び／又は計算するために他の技術を利用することができる。
【００８４】
[0088]いくつかの実施例では、２つ以上の異なるカメラを、奥行き画像プロデューサーの一部として組み込むことができる。たとえば、デプスカメラやビデオカメラ（例えば、ＲＧＢビデオカメラ）を奥行き画像プロデューサーに組み込むことができる。ビデオカメラが使用される場合、それは、目標追跡データ、シーン解析、画像キャプチャー、顔認識、指（又は他の小さな特徴）の高精度追跡、光センシング、及び／又は他の機能のエラー訂正のための確認データを提供するために使用することができる。
【００８５】
[0089]さらに、上記の説明が単一のデプスカメラの使用／エミュレーションに向けられている一方、上記の互換性技術は、同時に２つ以上のデプスカメラを使用／エミュレートするために使用することができることを理解すべきである。例えば、２つのカメラを、隣接するシーンを表示するために使用することができ、ＡＰＩは、両方のカメラからの情報を効果的に組み合わせて、より広い視野を持つ単一のカメラをエミュレートすることができる。別の例として、単一の広角カメラを使用することができ、ＡＰＩは、異なる方向に見る狭い視野をもつ２つのカメラによって生成されたかのように、２つの別個の奥行き画像を生成することができる。
【００８６】
[0090]いくつかの実施例では、２つ以上のデプスカメラは、異なる視点から同じシーンを見るのに使用することができる。このような場合には、ＡＰＩは、両方のカメラからの情報を効果的に組み合わて、奥行き画像コンシューマーに対して透過的な方法で、より多くの／より良い３Ｄデータを提供することができる。
【００８７】
[0091]本明細書に記載された構成及び／又は手法が本質的に例示的なものであり、多くのバリエーションが可能であるので、これらの特定の実施例又は例は、限定的な意味で考慮されるべきではないことが理解されるべきである。本明細書に記載された特定のルーチン又は方法は、任意の数の処理方法のうちの１つ又は複数を表してもよい。このように、示された様々な動作は、示された順序で、他の順序で、並列に、実行されてもよく、又は他の場合には省略されてもよい。同様に、上記の処理の順序は変更されてもよい。
【００８８】
[0092]本開示の主題は、本明細書に開示された様々なプロセス、システム、構成、他の特徴、機能、動作、及び／又は特性のすべての新規で自明でない組み合わせ及びサブコンビネーションのほか、それらの任意の及びすべての均等物を含む。
【図１】
2013519089.tif 000007
【図２】
2013519089.tif 000008
【図３Ａ】
2013519089.tif 000009
【図３Ｂ】
2013519089.tif 000010
【図４Ａ】
2013519089.tif 000011
【図４Ｂ】
2013519089.tif 000012
【図４Ｃ】
2013519089.tif 000013
【図５】
2013519089.tif 000014
【図６】
2013519089.tif 000015
【図７】
2013519089.tif 000016
【図８】
2013519089.tif 000017
【図９】
2013519089.tif 000018
【図１０】
2013519089.tif 000019
【図１１】
2013519089.tif 000020
【国際調査報告】
2013519089.tif 000021
2013519089.tif 000022