(57)【要約】  概して、移動体デバイスにおいて深度マップ画像の処理を促進する技術を説明する。移動体デバイスは、本技術のさまざまな態様を実行するように構成されていてもよい、深度カメラと、カメラと、プロセッサとを備えている。深度カメラは、シーンの深度マップ画像を捕捉するように構成されてもよい。カメラは、カメラに入る光を直線的に偏光するように構成されている直線偏光ユニットを含んでいてもよい。カメラは、シーンの捕捉の間、直線偏光ユニットを回転させ、異なる偏光方向を有するシーンの直線偏光画像のシーケンスを発生させるように構成されてもよい。プロセッサは、直線偏光画像のシーケンスに関して、画像登録を実行し、整列した直線偏光画像のシーケンスを発生させ、深度マップ画像と整列した直線偏光画像のシーケンスとに基づいて、向上した深度マップ画像を発生させるように構成されてもよい。【選択図】図６
2019534515.tif 000002
【特許請求の範囲】
【請求項１】
深度マップ画像を処理するように構成されている移動体デバイスにおいて、
シーンの深度マップ画像を捕捉するように構成されている深度カメラと、
カメラに入る光を直線的に偏光するように構成されている直線偏光ユニットを含むカメラと、
プロセッサとを具備し、
前記カメラは、前記シーンの捕捉の間、前記直線偏光ユニットを回転させ、異なる偏光方向を有する前記シーンの直線偏光画像のシーケンスを発生させるように構成され、
前記プロセッサは、
前記直線偏光画像のシーケンスに関して、画像登録を実行し、整列した直線偏光画像のシーケンスを発生させ、
前記深度マップ画像と前記整列した直線偏光画像のシーケンスとに基づいて、向上した深度マップ画像を発生させるように構成されている移動体デバイス。
【請求項２】
前記プロセッサは、前記直線偏光画像のシーケンスのそれぞれの偏光方向を決定するようにさらに構成され、
前記プロセッサは、前記深度マップ画像と、前記整列した直線偏光画像のシーケンスと、前記決定した偏光方向とに基づいて、前記向上した深度マップ画像を発生させるように構成されている請求項１記載の移動体デバイス。
【請求項３】
前記カメラは、連続する直線偏光画像間の偏光方向における差が固定されるように、前記直線偏光ユニットの回転と前記直線偏光画像のシーケンスの捕捉とを同期させるようにさらに構成され、
前記プロセッサは、前記直線偏光画像のシーケンスのそれぞれに対して固定した偏光方向として、前記直線偏光画像のシーケンスのそれぞれの偏光方向を決定するように構成されている請求項２記載の移動体デバイス。
【請求項４】
前記プロセッサは、前記直線偏光画像のシーケンスのそれぞれの捕捉のときの、前記直線偏光ユニットの回転の範囲の関数として、前記直線偏光画像のシーケンスのそれぞれの偏光方向を決定するように構成されている請求項２記載の移動体デバイス。
【請求項５】
前記移動体デバイスの移動、方向、および、ロケーションのうちの１つ以上を表すセンサデータを発生させるように構成されている１つ以上のセンサをさらに具備し、
前記プロセッサは、前記センサデータに基づいて、前記直線偏光画像のシーケンス関して、前記画像登録を実行し、前記整列した直線偏光画像のシーケンスを発生させるように構成されている請求項１記載の移動体デバイス。
【請求項６】
前記カメラは、前記直線偏光ユニットを回転させるように構成されているモーターを備える請求項１記載の移動体デバイス。
【請求項７】
前記直線偏光ユニットは、直線偏光レンズまたは直線偏光フィルタのうちの１つを含む請求項１記載の移動体デバイス。
【請求項８】
前記プロセッサは、
前記直線偏光画像のシーケンスと前記深度マップ画像とに関して、前記画像登録を実行し、整列した直線偏光画像のシーケンスと整列した深度マップ画像とを発生させ、
前記整列した深度マップ画像と前記整列した直線偏光画像のシーケンスとに基づいて、前記向上した深度マップ画像を発生させるように構成されている請求項１記載の移動体デバイス。
【請求項９】
前記プロセッサは、前記向上した深度マップ画像に基づいて、前記シーンのうちの少なくとも１つの態様の三次元モデルを構築するようにさらに構成されている請求項１記載の移動体デバイス。
【請求項１０】
深度マップ画像を処理する方法において、
深度カメラによって、シーンの深度マップ画像を捕捉することと、
カラーカメラによって、前記シーンの捕捉の間、直線偏光ユニットを回転させ、異なる偏光方向を有する前記シーンの直線偏光画像のシーケンスを発生させることと、
前記直線偏光画像のシーケンスに関して、画像登録を実行し、整列した直線偏光画像のシーケンスを発生させることと、
前記深度マップ画像と前記整列した直線偏光画像のシーケンスとに基づいて、向上した深度マップ画像を発生させることとを含む方法。
【請求項１１】
前記直線偏光画像のシーケンスのそれぞれの偏光方向を決定することをさらに含み、
前記向上した深度マップ画像を発生させることは、前記深度マップ画像と、前記整列した直線偏光画像のシーケンスと、前記決定した偏光方向とに基づいて、前記向上した深度マップ画像を発生させることを含む請求項１０記載の方法。
【請求項１２】
連続する直線偏光画像間の偏光方向における差が固定されるように、前記直線偏光ユニットの回転と前記直線偏光画像のシーケンスの捕捉とを同期させることをさらに含み、
前記偏光方向を決定することは、前記直線偏光画像のシーケンスのそれぞれに対して固定した偏光方向として、前記直線偏光画像のシーケンスのそれぞれの偏光方向を決定することを含む請求項１１記載の方法。
【請求項１３】
前記偏光方向を決定することは、前記直線偏光画像のシーケンスのそれぞれの捕捉のときの、前記直線偏光ユニットの回転の範囲の関数として、前記直線偏光画像のシーケンスのそれぞれの偏光方向を決定することを含む請求項１１記載の方法。
【請求項１４】
移動体デバイスの移動、方向、および、ロケーションのうちの１つ以上を表すセンサデータを取得することをさらに含み、
前記画像登録を実行することは、前記センサデータに基づいて、前記直線偏光画像のシーケンス関して、前記画像登録を実行し、前記整列した直線偏光画像のシーケンスを発生させることを含む請求項１０記載の方法。
【請求項１５】
前記直線偏光ユニットを回転させることをさらに含む請求項１０記載の方法。
【請求項１６】
前記直線偏光ユニットは、直線偏光レンズまたは直線偏光フィルタのうちの１つを含む請求項１０記載の方法。
【請求項１７】
前記画像登録を実行することは、前記直線偏光画像のシーケンスと前記深度マップ画像とに関して、前記画像登録を実行し、整列した直線偏光画像のシーケンスと整列した深度マップ画像とを発生させることを含み、
前記向上した深度マップ画像を発生させることは、前記整列した深度マップ画像と前記整列した直線偏光画像のシーケンスとに基づいて、前記向上した深度マップ画像を発生させることを含む請求項１０記載の方法。
【請求項１８】
前記向上した深度マップ画像に基づいて、前記シーンのうちの少なくとも１つの態様の三次元モデルを構築することをさらに含む請求項１０記載の方法。
【請求項１９】
深度マップ画像を処理するように構成されているデバイスにおいて、
シーンの深度マップ画像を捕捉する手段と、
異なる偏光方向を有する前記シーンの直線偏光画像のシーケンスを捕捉する手段と、
前記直線偏光画像のシーケンスに関して、画像登録を実行し、整列した直線偏光画像のシーケンスを発生させる手段と、
前記深度マップ画像と前記整列した直線偏光画像のシーケンスとに基づいて、向上した深度マップ画像を発生させる手段とを具備するデバイス。
【請求項２０】
前記直線偏光画像のシーケンスのそれぞれの偏光方向を決定する手段をさらに具備し、
前記向上した深度マップ画像を発生させる手段は、前記深度マップ画像と、前記整列した直線偏光画像のシーケンスと、前記決定した偏光方向とに基づいて、前記向上した深度マップ画像を発生させる手段を備える請求項１９記載のデバイス。
【請求項２１】
連続する直線偏光画像間の偏光方向における差が固定されるように、直線偏光ユニットの回転と前記直線偏光画像のシーケンスの捕捉とを同期させる手段をさらに具備し、
前記偏光方向を決定する手段は、前記直線偏光画像のシーケンスのそれぞれに対して固定した偏光方向として、前記直線偏光画像のシーケンスのそれぞれの偏光方向を決定する手段を備える請求項２０記載のデバイス。
【請求項２２】
前記偏光方向を決定する手段は、前記直線偏光画像のシーケンスのそれぞれの捕捉のときの、直線偏光ユニットの回転の範囲の関数として、前記直線偏光画像のシーケンスのそれぞれの偏光方向を決定する手段を備える請求項２０記載のデバイス。
【請求項２３】
移動体デバイスの移動、方向、および、ロケーションのうちの１つ以上を表すセンサデータを取得する手段をさらに具備し、
前記画像登録を実行する手段は、前記センサデータに基づいて、前記直線偏光画像のシーケンス関して、前記画像登録を実行し、前記整列した直線偏光画像のシーケンスを発生させる手段を備える請求項１９記載のデバイス。
【請求項２４】
直線偏光ユニットを回転させる手段をさらに具備する請求項１９記載のデバイス。
【請求項２５】
直線偏光ユニットは、直線偏光レンズまたは直線偏光フィルタのうちの１つを含む請求項１９記載のデバイス。
【請求項２６】
前記画像登録を実行する手段は、前記直線偏光画像のシーケンスと前記深度マップ画像とに関して、前記画像登録を実行し、整列した直線偏光画像のシーケンスと整列した深度マップ画像とを発生させる手段を備え、
前記向上した深度マップ画像を発生させる手段は、前記整列した深度マップ画像と前記整列した直線偏光画像のシーケンスとに基づいて、前記向上した深度マップ画像を発生させる手段を含む請求項１９記載のデバイス。
【請求項２７】
前記向上した深度マップ画像に基づいて、前記シーンのうちの少なくとも１つの態様の三次元モデルを構築する手段をさらに具備する請求項１９記載のデバイス。
【請求項２８】
命令を記憶している非一時的コンピュータ読取可能記憶媒体において、
前記命令は、実行されるとき、移動体デバイスの１つ以上のプロセッサに、
深度カメラとインターフェースさせて、シーンの深度マップ画像を捕捉させ、
カラーカメラとインターフェースさせて、異なる偏光方向を有する前記シーンの直線偏光画像のシーケンスを捕捉させ、
前記直線偏光画像のシーケンスに関して、画像登録を実行させて、整列した直線偏光画像のシーケンスを発生させ、
前記深度マップ画像と前記整列した直線偏光画像のシーケンスとに基づいて、向上した深度マップ画像を発生させる非一時的コンピュータ読取可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［０００１］
本開示は、画像発生に関連し、より具体的には、深度マップ画像発生に関連する。
【背景】
【０００２】
［０００２］
スマートフォンまたはカメラフォンのような移動体通信デバイスは、ますます消費者に選択されるカメラになっている。このような移動体通信デバイスに含まれるカメラの光学は、より良い写真およびビデオの捕捉を可能にするように向上を続けており、消費者は、デジタル一眼レフ（ＤＳＬＲ）カメラのような、より伝統的なカメラを使用することから離れるかもしれない。消費者に選択されるカメラとしてスマートフォンの採用を促進することを継続するために、３次元印刷、仮想現実のための物体のレンダリング、コンピュータビジョン、および、これらに類するもののようなさまざまな目的のために、物体の３次元モデルを生成させるようにカメラが使用される新たなアプリケーションが開発されている。
【概要】
【０００３】
［０００３］
本説明において説明する技術は、移動体コンピューティングデバイスの現在のカメラに対するミリメートル範囲の精度よりもむしろ、移動体コンピューティングデバイスのカメラを使用するミリメートル未満の精度を有する、向上した深度マップを提供できる。ミリメートル未満の精度を可能にすることにより、本技術は、鋭い角、平面、狭い物体、隆起、溝等のような、より細かいモデルジオメトリの捕捉を可能する。このより高い解像度は、仮想現実（ＶＲ）、拡張現実（ＡＲ）、３次元（３Ｄ）モデリング、向上した３次元（３Ｄ）画像捕捉等のようなアプリケーションに対して、移動体コンピューティングデバイスにおけるカメラの採用を促進する結果を可能にする。
【０００４】
［０００４］
１つの例において、技術のさまざまな態様は、深度マップ画像を処理するように構成されている移動体デバイスに向けられており、移動体デバイスは、シーンの深度マップ画像を捕捉するように構成されている深度カメラと、カメラに入る光を直線的に偏光するように構成されている直線偏光ユニットを含むカメラと、プロセッサとを具備し、カメラは、シーンの捕捉の間、直線偏光ユニットを回転させ、異なる偏光方向を有するシーンの直線偏光画像のシーケンスを発生させるように構成されている。プロセッサは、直線偏光画像のシーケンスに関して、画像登録を実行し、整列した直線偏光画像のシーケンスを発生させ、深度マップ画像と整列した直線偏光画像のシーケンスとに基づいて、向上した深度マップ画像を発生させるように構成されていてもよい。
【０００５】
［０００５］
別の例において、本技術のさまざまな態様は、深度マップ画像を処理する方法に向けられており、方法は、深度カメラによって、シーンの深度マップ画像を捕捉することと、カラーカメラによって、シーンの捕捉の間、直線偏光ユニットを回転させ、異なる偏光方向を有するシーンの直線偏光画像のシーケンスを発生させることとを含んでいる。方法は、直線偏光画像のシーケンスに関して、画像登録を実行し、整列した直線偏光画像のシーケンスを発生させることと、深度マップ画像と整列した直線偏光画像のシーケンスとに基づいて、向上した深度マップ画像を発生させることとも含んでいる。
【０００６】
［０００６］
別の例において、本技術のさまざまな態様は、深度マップ画像を処理するように構成されているデバイスに向けられており、デバイスは、シーンの深度マップ画像を捕捉する手段と、異なる偏光方向を有するシーンの直線偏光画像のシーケンスを捕捉する手段と、直線偏光画像のシーケンスに関して、画像登録を実行し、整列した直線偏光画像のシーケンスを発生させる手段と、深度マップ画像と整列した直線偏光画像のシーケンスとに基づいて、向上した深度マップ画像を発生させる手段とを具備している。
【０００７】
［０００７］
別の例において、本技術のさまざまな態様は、命令を記憶している非一時的コンピュータ読取可能記憶媒体に向けられており、命令は、実行されるとき、移動体デバイスの１つ以上のプロセッサに、深度カメラとインターフェースさせて、シーンの深度マップ画像を捕捉させ、カラーカメラとインターフェースさせて、異なる偏光方向を有するシーンの直線偏光画像のシーケンスを捕捉させ、直線偏光画像のシーケンスに関して、画像登録を実行させて、整列した直線偏光画像のシーケンスを発生させ、深度マップ画像と整列した直線偏光画像のシーケンスとに基づいて、向上した深度マップ画像を発生させる。
【０００８】
［０００８］
本技術の１つ以上の例の詳細は、添付図面および以下の記述において述べられる。本技術の他の特徴、目的、および、利点は、その説明、図面、および、特許請求の範囲から明らかになるだろう。
【図面の簡単な説明】
【０００９】
【図１】［０００９］  図１は、本開示で説明する１つ以上の例示的な技術を実行するように構成されている画像処理のためのデバイスのブロックダイヤグラムである。
【図２】［００１０］  図２は、図１の移動体コンピューティングデバイスのカラーカメラの例をさらに詳細に図示したブロックダイヤグラムである。
【図３Ａ】［００１１］  図３Ａは、本開示で説明する技術のさまざまな態様にしたがった、異なる偏光方向を有する直線偏光画像のシーケンスを捕捉するように、図１中に示した直線偏光ユニットの例示的な回転を図示したダイヤグラムである。
【図３Ｂ】図３Ｂは、本開示で説明する技術のさまざまな態様にしたがった、異なる偏光方向を有する直線偏光画像のシーケンスを捕捉するように、図１中に示した直線偏光ユニットの例示的な回転を図示したダイヤグラムである。
【図３Ｃ】図３Ｃは、本開示で説明する技術のさまざまな態様にしたがった、異なる偏光方向を有する直線偏光画像のシーケンスを捕捉するように、図１中に示した直線偏光ユニットの例示的な回転を図示したダイヤグラムである。
【図３Ｄ】図３Ｄは、本開示で説明する技術のさまざまな態様にしたがった、異なる偏光方向を有する直線偏光画像のシーケンスを捕捉するように、図１中に示した直線偏光ユニットの例示的な回転を図示したダイヤグラムである。
【図４】［００１２］  図４は、画像を捕捉するために、図１中に示した移動体コンピューティングデバイスのカラーカメラを用いるときに生じるさまざまなオフセットを示すために、互いにオーバーレイされたカラー画像データの２つの直線偏光画像のシーケンスの合成を図示したダイヤグラムである。
【図５】［００１３］  図５は、例示的なアルゴリズムを図示しており、アルゴリズムは、実行されるとき、図１の移動体コンピューティングデバイスに、本開示で説明する技術のさまざまな態様を実行するように構成させる。
【図６】［００１４］  図６は、本開示で説明する技術のさまざまな態様を実行する際の、図１の移動体コンピューティングデバイスの例示的な動作を図示したフローチャートである。
【詳細な説明】
【００１０】
［００１５］
本説明において説明する技術は、移動体コンピューティングデバイスの現在のカメラに対するミリメートル範囲の精度よりもむしろ、移動体コンピューティングデバイスのカメラを使用するミリメートル未満の精度を有する、向上した深度マップを提供できる。ミリメートル未満の精度を可能にすることにより、技術は、鋭い角、平面、狭い物体、隆起、溝等のような、より細かいモデルジオメトリの捕捉を可能にする。より高い解像度は、仮想現実、拡張現実、３次元モデリング、向上した３次元（３Ｄ）画像捕捉等のようなアプリケーションに対して、移動体コンピューティングデバイスにおけるカメラの採用を促進する結果を可能にする。
【００１１】
［００１６］
動作において、移動体通信デバイスは、回転可能直線偏光フィルタまたは回転可能直線偏光レンズを含む、カメラを備えていてもよい。直線偏光フィルタは、フィルタの偏光と整列しない偏光を有する光波を取り除く、または言い換えると、ブロックするフィルタを指していてもよい。すなわち、直線偏光フィルタは、規定されていないまたは混合されている偏光の光のビームを、明確に規定されている偏光のビームに変換してもよく、これは、何らかの線に沿って向いている偏光を有している直線偏光フィルタのケースである。移動体通信デバイスは、回転可能直線偏光フィルタまたはレンズを回転させるための回転モーターも含んでいてもよい。移動体通信デバイスは、回転可能直線偏光フィルタまたは回転可能直線偏光レンズの回転がカメラのフレーム捕捉レートと同期するように、回転モーターを動作させてもよい。いくつかの例では、回転可能直線偏光フィルタまたはレンズの回転をフレーム捕捉レートと同期させるよりもむしろ、移動体通信デバイスは、フレーム捕捉のときの回転角度を決定してもよい。
【００１２】
［００１７］
（異なる回転角度で位置付けられている直線偏光フィルタまたはレンズでそれぞれが捕捉されている）直線偏光画像のシーケンスを捕捉した後、移動体通信デバイスは、画像整列を実行して、画像のシーケンスを捕捉するときの移動体通信デバイスまたはカメラのわずかな動きを補正してもよい。いくつかの例では、移動体通信デバイスは、運動情報を出力する、ジャイロスコープおよび／または加速度計のような１つ以上の運動センサを含んでいてもよい。移動体通信デバイスは、運動センサによって発生させた運動情報に基づいて、画像整列を実行してもよい。
【００１３】
［００１８］
移動体通信デバイスは、直線偏光画像のセットの捕捉と同時に１つ以上の画像を捕捉して、粗い深度画像を発生させる、深度カメラも含んでいてもよい。移動体通信デバイスは、直線偏光画像のシーケンスと粗い深度画像との間で画像整列も実行してもよく、これは、いくつかの例では、運動情報に基づいていてもよい。画像整列は、「登録」または「画像登録」と呼ばれることがある。
【００１４】
［００１９］
画像整列を実行した後、移動体通信デバイスは、例えば、「偏光３Ｄ：偏光キューによる高品質深度感知」と題され、２０１５年１２月１３〜１６日にチリのサンチアゴにおけるコンピュータビジョンに関する国際会議（ＩＣＣＶ）の間に提示されたＫａｄａｍｂｉ氏他による研究論文中で説明されているような、偏光からの形状深度マップ拡張プロセスを実行して、向上した深度マップ画像を発生させてもよい。
【００１５】
［００２０］
図１は、本開示で説明する１つ以上の例示的な技術を実行するように構成されている画像処理のための移動体コンピューティングデバイスのブロックダイヤグラムである。移動体コンピューティングデバイス１０の例は、ラップトップコンピュータ、（例えば、移動体電話機、セルラ電話機、いわゆる「スマートフォン」、衛星電話機、および／または、移動体電話ハンドセットのような）ワイヤレス通信デバイスまたはハンドセット、ポータブルビデオゲームデバイスまたはパーソナルデジタルアシスタント（ＰＤＡ）、ポータブルミュージックプレーヤー、タブレットコンピュータ、ポータブルビデオプレーヤー、ポータブルディスプレイデバイス、スタンドアローンカメラのような−ハンドヘルドデバイス、あるいは、写真または他のタイプの画像データを捕捉するためのカメラを含む他の何らかのタイプの移動体デバイスを含んでいる。移動体コンピューティングデバイス１０に関して説明したが、いくつかの例を提供するための、デスクトップコンピュータ、ワークステーション、セットトップボックス、または、テレビによるような、移動体であると考えられようとなかろうと、任意のタイプのデバイスによって技術を実現してもよい。
【００１６】
［００２１］
図１の例において図示しているように、デバイス１０は、カラーカメラ８、深度カメラ１２、カメラプロセッサ１４、中央処理ユニット（ＣＰＵ）１６、グラフィカル処理ユニット（ＧＰＵ）１８およびＧＰＵ１８のローカルメモリ２０、ユーザインターフェース２２、システムメモリ３０へのアクセスを提供するメモリ制御装置２４、ならびに、グラフィカルデータをディスプレイ２８上に表示させる信号を出力するディスプレイインターフェース２６を含んでいる。
【００１７】
［００２２］
また、さまざまなコンポーネントが別々のコンポーネントとして図示されているが、いくつかの例では、コンポーネントは、システムオンチップ（ＳｏＣ）を形成するために組み合わされてもよい。例として、カメラプロセッサ１４、ＣＰＵ１６、ＧＰＵ１８、および、ディスプレイインターフェース２６は、共通チップ上に形成してもよい。いくつかの例では、カメラプロセッサ１４、ＣＰＵ１６、ＧＰＵ１８、および、ディスプレイインターフェース２６のうちの１つ以上は、別々のチップ中にあってもよい。
【００１８】
［００２３］
図１中に図示したさまざまなコンポーネントは、１つ以上のマイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラム可能ゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、あるいは、他の均等な集積回路またはディスクリート論理回路で形成してもよい。さまざまなコンポーネントも、機能論理、プログラム可能論理、または、これらの組み合わせを含む、前述の任意の組み合わせであってもよい。ローカルメモリ２０の例は、ランダムアクセスメモリ（ＲＡＭ）、静的ＲＡＭ（ＳＲＡＭ）、動的ＲＡＭ（ＤＲＡＭ）、消去可能プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラム可能ＲＯＭ（ＥＥＰＲＯＭ（登録商標））、フラッシュメモリ、磁気データ媒体、または光記憶媒体のような、１つ以上の揮発性または不揮発性メモリあるいは記憶デバイスを含んでいてもよい。
【００１９】
［００２４］
図１中に図示したさまざまなユニットは、バス３２を使用して互いに通信する。バス３２は、第３世代バス（例えば、ＨｙｐｅｒＴｒａｎｓｐｏｒｔバスまたはＩｎｆｉｎｉＢａｎｄバス）、第２世代バス（例えば、Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔバス、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）エクスプレスバス、または、Ａｄｖａｎｃｅｄ  ｅＸｅｎｔｉｓｉｂｌｅ  Ｉｎｔｅｒｆａｃｅ（ＡＸＩ）バス）、あるいは、別のタイプのバスまたはデバイス相互接続のような、さまざまなバス構造のうちのいずれかであってもよい。図１中に示す異なるユニット間のバスと通信インターフェースの特定のコンフィギュレーションは例に過ぎず、同じまたは異なるコンポーネントを有する、コンピューティングデバイスおよび／または他の画像処理システムの他のコンフィギュレーションを使用して、本開示の技術を実現してもよいことに留意すべきである。
【００２０】
［００２５］
図示しているように、デバイス１０は、カラーカメラ８と深度カメラ１２を含んでいる。カメラ８と１２は、必ずしもデバイス１０の一部である必要はなく、デバイス１０の外部にあってもよい。このような例において、カメラプロセッサ１４は、同様にデバイス１０の外部にあってもよいが、いくつかの例では、カメラプロセッサ１４がデバイス１０の内部にあることも可能であってもよい。説明を容易にするために、例は、（例えば、デバイス１０が、スマートフォン、タブレットコンピュータ、ハンドセット、移動体通信ハンドセット、または、これらに類するもののような移動体通信デバイスである例におけるように）デバイス１０の一部である、カメラ８および１２とカメラプロセッサ１４とに関して説明している。
【００２１】
［００２６］
本開示で使用されるようなカラーカメラ８は、ピクセルのセットを指す。いくつかの例では、カラーカメラ８は、複数のセンサを含むように考えてもよく、各センサは複数のピクセルを含む。例えば、各センサは、３つのピクセル（例えば、赤に対するピクセル、緑に対するピクセル、および、青に対するピクセル）を含んでいる。別の例として、各センサは、４つのピクセル（例えば、赤に対するピクセル、緑の強度と全体的なルミナンスを決定するために使用される緑に対する２つのピクセル、および、ベイヤーフィルタで構成される青に対するピクセル）を含んでいる。カラーカメラ８は、画像コンテンツを捕捉して、１つの画像を発生させてもよい。
【００２２】
［００２７］
単一のカラーカメラ８に関して説明したが、技術は、複数のカメラを有するデバイス、複数の異なるセンサを有する単一のカラーカメラを有するデバイス、または、カラーカメラおよびモノクロカメラを有するデバイスによって実行してもよい。本開示の技術を実行するように構成されているデバイスが複数のカラーおよび／またはモノクロカメラを含む例では、各カメラが画像を捕捉してもよく、カメラプロセッサ１４は、この画像に対して画像登録を実行して、潜在的により高い解像度を有する、シーンの単一の画像を発生させてもよい。さらに、カラーカメラ８に関して説明したが、技術はまた、カラーカメラ８の代わりに、１つ以上のモノクロカメラを有するデバイスによって実行してもよい。
【００２３】
［００２８］
カラーカメラ８のピクセルを、画像ピクセルと混同すべきでない。画像ピクセルは、カラーカメラ８によって捕捉されたコンテンツから発生させた画像上の単一の「ドット」を規定するために使用される用語である。例えば、任意のカラーカメラ８によって捕捉されたコンテンツに基づいて発生させた画像は、決定された数のピクセル（例えば、メガピクセル）を含んでいる。しかしながら、カラーカメラ８のピクセルは、光伝導性を有する実際の光センサ要素（例えば、目視スペクトル中のまたは目視スペクトル外の光粒子を捕捉する要素）である。カラーカメラ８のピクセルは、ピクセルの表面に当たる光エネルギー（例えば、赤外光または可視光）の強度に基づいて、電気を通す。ピクセルは、いくつかの非限定的な例として、ドーパントを有する、ゲルマニウム、ガリウム、セレン、シリコン、または、ある金属酸化物および硫化物により、形成してもよい。
【００２４】
［００２９］
いくつかの例では、カラーカメラ８のピクセルは、ベイヤーフィルタにしたがって、赤−緑−青（ＲＧＢ）のカラーフィルタでカバーしてもよい。ベイヤーフィルタリングにより、ピクセルのそれぞれは、特定のカラー成分（例えば、赤、緑、または、青）に対する光エネルギーを受け取ることができる。したがって、各ピクセルによって発生される電流は、捕捉された光の、赤、緑、または、青のカラー成分の強度を示す。
【００２５】
［００３０］
深度カメラ１２は、深度マップを発生させるように構成されているカメラを表す。深度カメラ１２は、赤外レーザープロジェクタとモノクロセンサを含んでいてもよい。赤外レーザープロジェクタは、赤外光点のグリッドをシーン上に投影してもよい。モノクロセンサ（または、代替的に、カラーセンサ）は、シーン上への赤外光点の投影からの反射を検出してもよい。モノクロセンサは、赤外光点反射を検出したときを示す、センサの各ピクセルに対する電気信号を発生させてもよい。
【００２６】
［００３１］
カメラプロセッサ１４は、光のスピードと、各赤外光点が投影された時間と、各赤外光点反射が検出された時間とに基づいて、シーン上に投影される赤外光点のそれぞれに対応する１つにおける深度を決定してもよい。カメラプロセッサ１４は、その後、グリッド中の各赤外光点における決定された深度に基づいて、深度マップを構築する。光点の赤外投影に関して説明したが、深度カメラ１２は深度マップを発生させることができる任意のタイプのカメラを表すことができ、赤外光を用いるカメラに厳密に限定すべきではない。
【００２７】
［００３２］
カメラプロセッサ１４は、カラーカメラ８と深度カメラ１２のそれぞれのピクセルから電流を受け取り、電流を処理して、カラー画像データ９（ＣＩＤ）と深度マップデータ（ＤＭＤ）１３を発生させるように構成されている。１つのカメラプロセッサ１４が図示されているが、いくつかの例では、複数のカメラプロセッサ（例えば、カラーカメラ８と深度カメラ１２毎に１つ）があってもよい。したがって、いくつかの例では、デバイス１０中にカメラプロセッサ１４のような１つ以上のカメラプロセッサがあってもよい。
【００２８】
［００３３］
いくつかの例では、カメラプロセッサ１４は、単一入力複数データ（ＳＩＭＤ）アーキテクチャとして構成してもよい。カメラプロセッサ１４は、カメラ８および１２のそれぞれにおいてピクセルのそれぞれから受け取った電流で同じ動作を実行してもよい。ＳＩＭＤアーキテクチャの各レーンは、画像パイプラインを含む。画像パイプラインは、ピクセルの出力を処理する固定機能回路および／またはプログラム可能回路を含む。
【００２９】
［００３４］
例えば、カメラプロセッサ１４の各画像パイプラインは、電流を電圧に変換するそれぞれのトランスインピーダンス増幅器（ＴＩＡ）と、アナログ電圧出力をデジタル値に変換するそれぞれのアナログデジタル変換器（ＡＤＣ）とを含んでいてもよい。可視スペクトルの例では、各ピクセルによって出力される電流が、赤、緑、または、青の成分の強度を示すことから、カメラ８の３つのピクセルからのデジタル値（例えば、３または４ピクセルを含む１つのセンサからのデジタル値）は、１つの画像ピクセルを発生させるために使用することができる。
【００３０】
［００３５］
アナログ電流出力をデジタル値に変換することに加えて、カメラプロセッサ１４は、最終的な画像の品質を高めるためにいくつかの追加の後処理を実行してもよい。例えば、カメラプロセッサ１４は、隣接する画像ピクセルのカラーおよび輝度データを評価して、デモザイクを実行し、画像ピクセルのカラーと輝度を更新してもよい。カメラプロセッサ１４はまた、追加の例として、ノイズ低減と画像鮮明化を実行してもよい。カメラプロセッサ１４は、メモリ制御装置２４を介して、結果として生じた画像（例えば、画像ピクセルのそれぞれに対するピクセル値）をシステムメモリ３０に出力する。
【００３１】
［００３６］
ＣＰＵ１６は、デバイス１０の動作を制御する汎用プロセッサまたは専用プロセッサを備えていてもよい。ユーザは、コンピューティングデバイス１０に入力を提供して、ＣＰＵ１６に１つ以上のソフトウェアアプリケーションを実行させてもよい。ＣＰＵ１６によって提供される実行環境内で実行するソフトウェアアプリケーションは、例えば、オペレーティングシステム、ワードプロセッサアプリケーション、ｅメールアプリケーション、スプレッドシートアプリケーション、メディアプレーヤアプリケーション、ビデオゲームアプリケーション、グラフィカルユーザインターフェースアプリケーション、または、別のプログラムを含んでいてもよい。ユーザは、キーボード、マウス、マイクロフォン、タッチパッド、タッチ感応スクリーン、物理的入力ボタン、または、ユーザインターフェース２２を介して移動体コンピューティングデバイス１０に結合されている別の入力デバイスのような（示していない）１つ以上の入力デバイスを介して、コンピューティングデバイス１０に入力を提供してもよい。
【００３２】
［００３７］
１つの例として、ユーザは、アプリケーションを実行して、画像を捕捉してもよい。アプリケーションは、画像を撮る前に、ユーザが見るために、リアルタイム画像コンテンツをディスプレイ２８上に提示してもよい。いくつかの例において、ディスプレイ２８上に表示されるリアルタイム画像コンテンツは、カラーカメラ８、深度カメラ１２からのコンテンツ、または、カラーカメラ８と深度カメラ１２とからのコンテンツの融合であってもよい。画像を捕捉するために使用されるアプリケーションに対するソフトウェアコードは、システムメモリ３０上に記憶されていてもよく、ＣＰＵ１６は、アプリケーションに対するオブジェクトコードを取り出して実行してもよく、または、ソースコードを取り出してコンパイルし、オブジェクトコードを取得してもよく、これは、アプリケーションを提示するためにＣＰＵ１６が実行してもよい。
【００３３】
［００３８］
ユーザがリアルタイムの画像コンテンツに満足するとき、ユーザは、（ディスプレイ２８上に表示されるグラフィカルボタンであってもよい）ユーザインターフェース２２と対話し、画像コンテンツを捕捉してもよい。これに応答して、１つ以上のカメラ８および１２は、画像コンテンツを捕捉してもよく、カメラプロセッサ１４は、受け取った画像コンテンツを処理して、１つ以上の画像を発生させてもよい。
【００３４】
［００３９］
メモリ制御装置２４は、システムメモリ３０に出入りするデータの転送を促進する。例えば、メモリ制御装置２４は、メモリサービスをコンピューティングデバイス１０中のコンポーネントに提供するために、メモリ読取および書込コマンドを受け取り、メモリ３０に関するこのようなコマンドをサービス提供してもよい。メモリ制御装置２４は、システムメモリ３０に通信可能に結合されている。メモリ制御装置２４は、ＣＰＵ１６およびシステムメモリ３０の両方とは別個の処理モジュールとして、図１の例示的なコンピューティングデバイス中に図示されているが、他の例では、メモリ制御装置２４の機能性のうちのいくつかまたはすべては、ＣＰＵ１６およびシステムメモリ３０のうちの１つまたは両方において実現してもよい。
【００３５】
［００４０］
システムメモリ３０は、カメラプロセッサ１４、ＣＰＵ１６、および、ＧＰＵ１８によってアクセス可能である、プログラムモジュールおよび／または命令および／またはデータを記憶してもよい。例えば、システムメモリ３０は、ユーザアプリケーション、カメラプロセッサ１４から結果として生じた画像、中間データ、および、これらに類するものを記憶してもよい。システムメモリ３０は、移動体コンピューティングデバイス１０の他の構成コンポーネントによる使用のための情報を、および／または、これらによって発生させた情報を、追加的に記憶してもよい。例えば、システムメモリ３０は、カメラプロセッサ１４のためのデバイスメモリとして機能してもよい。システムメモリ３０は、例えば、ランダムアクセスメモリ（ＲＡＭ）、静的ＲＡＭ（ＳＲＡＭ）、動的ＲＡＭ（ＤＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、消去可能プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラム可能ＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、磁気データ媒体また光記憶媒体のような、１つ以上の揮発性または不揮発性メモリあるいは記憶デバイスを含んでいてもよい。
【００３６】
［００４１］
いくつかの態様では、システムメモリ３０は、本開示におけるこれらのコンポーネントに与えられた機能を、カメラプロセッサ１４、ＣＰＵ１６、ＧＰＵ１８、および、ディスプレイインターフェース２６に実行させる命令を含んでいてもよい。したがって、システムメモリ３０は、命令を記憶しているコンピュータ読取可能記憶媒体を表してもよく、命令は、実行されるとき、１つ以上のプロセッサ（例えば、カメラプロセッサ１４、ＣＰＵ１６、ＧＰＵ１８、および、ディスプレイインターフェース２６）に、本開示で説明する技術のさまざまな態様を実行させる。
【００３７】
［００４２］
いくつかの例では、システムメモリ３０は、非一時的コンピュータ読取可能記憶媒体を表していてもよい。用語「非一時的」は、記憶媒体が、搬送波または伝播信号で具現化されていないことを示す。しかしながら、用語「非一時的」は、システムメモリ３０が移動不可能である、または、そのコンテンツが静的であることを意味するように解釈すべきではない。１つの例として、システムメモリ３０をデバイス１０から取り除き、別のデバイスに移動してもよい。別の例として、システムメモリ３０と実質的に同様のメモリが、デバイス１０に挿入されてもよい。ある例では、非一時的記憶媒体は、（例えば、ＲＡＭにおいて）経時的に変化できるデータを記憶してもよい。
【００３８】
［００４３］
カメラプロセッサ１４、ＣＰＵ１６、および、ＧＰＵ１８は、画像データおよびこれに類するものを、システムメモリ３０内に割り振られているそれぞれのバッファ中に記憶させてもよい。ディスプレイインターフェース２６は、システムメモリ３０からデータを取り出し、レンダリングされた画像データによって表される画像を表示するようにディスプレイ２８を構成してもよい。いくつかの例では、ディスプレイインターフェース２６は、システムメモリ３０から取り出されたデジタル値を、ディスプレイ２８によって消費可能なアナログ信号へと変換するように構成されているデジタルアナログ変換器（ＤＡＣ）を含んでいてもよい。他の例では、ディスプレイインターフェース２６は、処理のために、デジタル値を直接ディスプレイ２８にパスしてもよい。
【００３９】
［００４４］
ディスプレイ２８は、モニタ、テレビジョン、投影デバイス、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイパネル、発光ダイオード（ＬＥＤ）アレイ、ブラウン管（ＣＲＴ）ディスプレイ、電子ペーパー、表面伝導型電子放出ディスプレイ（ＳＥＤ）、レーザテレビジョンディスプレイ、ナノ結晶ディスプレイ、または、別のタイプのディスプレイユニットを含んでいてもよい。ディスプレイ２８は、移動体コンピューティングデバイス１０内に一体化されていてもよい。例えば、ディスプレイ２８は、移動体電話ハンドセットまたはタブレットコンピュータのスクリーンであってもよい。代替的に、ディスプレイ２８は、ワイヤードまたはワイヤレス通信リンクを介して移動体コンピューティングデバイス１０に結合されているスタンドアローンデバイスであってよい。例えば、ディスプレイ２８は、ケーブルまたはワイヤレスリンクを介してパーソナルコンピュータに接続されている、コンピュータモニタまたはフラットパネルディスプレイであってもよい。
【００４０】
［００４５］
本開示で説明する技術にしたがうと、移動体コンピューティングデバイス１０は、カメラ８および１２を使用して、ミリメートル未満の精度を有する向上した深度マップを提供してもよい。図１中に示すように、カラーカメラ８は、回転可能な直線偏光ユニット３２（「ＬＰＵ３２」）を含んでいてもよく、これは、直線偏光フィルタおよび／または直線偏光レンズを表していてもよい。カラーカメラ８は、ＬＰＵ３２を回転させるように構成されているモーター３４も含んでいてもよい。ＬＰＵ３２の回転がカメラのフレーム捕捉レートと同期するように、カラーカメラ８は、モーター３４を動作させてもよい。いくつかの例では、ＬＰＵ３２の回転をフレーム捕捉レートに同期させるよりもむしろ、カメラプロセッサ１４は、フレーム捕捉のときの回転角度を決定してもよい。
【００４１】
［００４６］
（異なる回転角度で位置付けられている直線偏光フィルタまたはレンズでそれぞれが捕捉される）直線偏光画像のシーケンスをＣＩＤ９として捕捉した後、カメラプロセッサ１４は、画像整列を実行して、ＣＩＤ９を捕捉するときの移動体通信デバイス１０またはカメラ８のわずかな動きを補正してもよい。いくつかの例では、移動体通信デバイス１０は、運動情報を出力する、ジャイロスコープおよび／または加速度計のような１つ以上の運動センサ３６を含んでいてもよい。カメラプロセッサ１４は、運動センサ３６によって発生された運動情報に基づいて、フレームの捕捉と同時に画像整列を実行してもよい。
【００４２】
［００４７］
（直線偏光画像のセットを指していてもよい）ＣＩＤ９の捕捉と同時に、カメラプロセッサ１４は、深度カメラ１２とインターフェースして、１つ以上の画像を捕捉し、図１において深度マップデータ１３（「ＤＭＤ１３」）として示されている、粗い深度画像を発生させてもよい。カメラプロセッサ１４はまた、ＣＩＤ９とＤＭＤ１３との間の画像整列を実行してもよく、これはまた、いくつかの例では、運動センサ３６からの運動情報に基づいていてもよい。画像整列はまた、本開示では、「登録」または「画像登録」と呼ばれることがある。
【００４３】
［００４８］
画像整列（または、画像登録）は、画像データ（例えば、ＣＩＤ９および／またはＤＭＤ１３）の異なるセットを１つの座標系に変換するプロセスを指していてもよい。カメラプロセッサ１４は、強度ベースの画像整列または特徴ベースの画像整列のような画像整列の異なるバリエーションを実行してもよい。強度ベースの画像整列は、相関メトリックを使用する、ＣＩＤ９および／またはＤＭＤ１３間の強度パターンの比較を含んでいてもよい。特徴ベースの画像整列は、ＣＩＤ９および／またはＤＭＤ１３から抽出された画像特徴間の対応の決定を含んでいてもよく、このような特徴は、点、線、輪郭を含んでいてもよい。強度パターンの比較や特徴対応に基づいて、カメラプロセッサ１４は、幾何変換を決定して、ＣＩＤ９および／またはＤＭＤ１３を、基準画像として選択されたＣＩＤ９および／またはＤＭＤ１３のうちの１つにマッピングしてもよい。カメラプロセッサ１４は、幾何変換を非基準ＣＩＤ９および／またはＤＭＤ１３のそれぞれに適用して、非基準ＣＩＤ９および／またはＤＭＤ１３のピクセルを、基準ＣＩＤ９および／またはＤＭＤ１３にシフトしてもよく、またはそうでなければ、整列させてもよい。
【００４４】
［００４９］
画像整列を実行した後、カメラプロセッサ１４は、上記で参照したＫａｄａｍｂｉ氏の研究論文で説明されている偏光からの形状深度マップ拡張プロセスを実行して、向上した深度マップデータ（「ＥＤＭＤ１５］」）を発生させてもよい。一般的に、Ｋａｄａｍｂｉ氏の研究論文は、偏光キューからの形状情報を使用してＤＭＤ１３を向上できるプロセスを説明している。Ｋａｄａｍｂｉ氏の研究論文によって述べられているフレームワークは、（偏光後の法線のような）面法線形態偏光を整列した深度マップと組み合わせる。Ｋａｄａｍｂｉ氏の研究論文は、偏光法線が、方位の不明確性、屈折のひずみ、および、フロントパラレル信号劣化のような、物理ベースのアーティファクトをこうむるかもしれず、これらの物理ベースのアーティファクトを潜在的に克服して、ＥＤＭＤ１５の発生を可能にすることを認識している。
【００４５】
［００５０］
ＥＤＭＤ１５に基づいて、カメラプロセッサ１４、ＣＰＵ１６およびＧＰＵ１８のうちの１つ以上は、シーンの少なくとも１つの態様の３次元モデルを構築してもよい。例えば、シーンは、移動体コンピューティングデバイス１０のオペレータが（例えば、小売ウェブサイト上のディスプレイを介してモデルを提示し、グラフィカルに発生させた仮想現実シーン等に配置する目的で）モデリングに興味を持つようなアイテムを備えていてもよい。移動体コンピューティングデバイス１０は、３次元モデルを提示するために（例えば、ユーザインターフェース２２またはディスプレイインターフェース２６のような）ディスプレイとインターフェースしてもよく、またはさもなければ、ディスプレイを組み込んでいてもよい。
【００４６】
［００５１］
この点において、移動体コンピューティングデバイス１０は、粗い深度マップ画像（例えば、ＤＭＤ１３）を処理し、向上した深度マップ画像（例えば、ＥＤＭＤ１５）を発生させるように構成されている移動体デバイスの１つの例を表してもよい。ＥＤＭＤ１５の発生を促進するためのカラーカメラ８は、カメラに入る光を直線的に偏光するように構成されているＬＰＵ３２を含む。カラーカメラ８はさらに、モーター３４を含み、これは、シーンの捕捉の間、ＬＰＵ３２を回転させて、異なる偏光方向を有する、シーンの直線偏光画像のシーケンスを発生させるように構成されている。ＣＩＤ９は、異なる偏光方向を有する、シーンの直線偏光画像のシーケンスを表していてもよい。
【００４７】
［００５２］
カメラプロセッサ１４は、ＣＩＤ９に関して上記で着目した画像登録を実行するように構成されているプロセッサの１つの例を表していてもよい。画像登録の後、ＣＩＤ９は、整列した直線偏光画像のシーケンスも表していてもよい。このように、カメラプロセッサ１４は、登録を実行して、ＣＩＤ１９を発生させてもよい。カメラプロセッサ１４は、次に、Ｋａｄａｍｂｉ氏の偏光からの形状深度マップ拡張プロセスを実行して、ＤＭＤ１３と整列したＣＩＤ１９とに基づいて、ＥＤＭＤ１５を発生させてもよい。
【００４８】
［００５３］
このような方法で、本説明において説明する技術は、移動体コンピューティングデバイスの現在のカメラに対するミリメートル範囲の精度よりもむしろ、移動体コンピューティングデバイスのカメラを使用するミリメートル未満の精度を有する、向上した深度マップを提供できる。ミリメートル未満の精度を可能にすることにより、技術は、鋭い角、平面、狭い物体、隆起、溝等のような、より細かいモデルジオメトリの捕捉を可能にする。より高い解像度は、仮想現実、拡張現実、３次元モデリング、向上した３次元モデリング（３Ｄ）画像捕捉等のようなアプリケーションに対して、移動体コンピューティングデバイスにおけるカメラの採用を促進する結果を可能にする。
【００４９】
［００５４］
図２は、図１のカラーカメラ８の例をより詳細に図示したブロックダイヤグラムである。カラーカメラ８は、以前に説明したように、ＬＰＵ３２とモーター３４とを含んでいる。モーター３４は、ギア４０に結合され、これは、ＬＰＵ３２のギアと適合する。モーター３４は、ギア４０を駆動して、ＬＰＵ３２を回転させてもよい。モーター３４は、予め定められた、設定された増加で、および十分なスピードで、ギア４０を駆動して、カラーカメラ８のセンサ４２による画像の捕捉と同期してもよく、したがって、ＣＩＤ１９は、異なる既知の直線方向を有する直線偏光画像のシーケンスを含んでいてもよい。代替的に、カメラプロセッサ１４は、少なくとも部分的に、モーター３４がＬＰＵ３２を回転させるスピードと、ＣＩＤ１９の直線偏光画像のシーケンスにおけるそれぞれ連続する画像の捕捉間の時間との関数として偏光方向を導出してもよい。
【００５０】
［００５５］
図３Ａ〜３Ｄは、本開示で説明する技術のさまざまな態様にしたがった、異なる偏光方向を有する直線偏光画像のシーケンスを捕捉するように、モーター３４によるＬＰＵ３２の例示的な回転を図示したダイヤグラムである。図３Ａの例において、矢印５０は、直線偏光方向を表す一方で、破線矢印５２Ａおよび５２Ｂは、それぞれ、ｘ軸とｙ軸を表している。カラーカメラ８は、図３Ａの例で示すように、ゼロ度（０°）の偏光方向を有する直線偏光画像のシーケンスにおける第１の直線偏光画像を捕捉してもよい。
【００５１】
［００５６］
図３Ｂの例を参照すると、カラーカメラ８は、第１の直線偏画像に対して４５度（４５°）の偏光方向を有する、直線偏光画像のシーケンスにおける第２の直線偏光画像を捕捉してもよい。直線偏光が無指向性であることから、４５度の偏光方向は、２２５度の偏光方向と同じであると考えてもよい。
【００５２】
［００５７］
図３Ｃの例では、カラーカメラ８は、第１の直線偏光画像に対して９０度（９０°）の偏光方向を有する、直線偏光画像のシーケンスの第３の直線偏光画像を捕捉してもよい。直線偏光が無指向性であることから、９０度の偏光方向は、２７０度の偏光方向と同じであると考えてもよい。
【００５３】
［００５８］
図３Ｄの例を参照すると、カラーカメラ８は、第１の直線偏光画像に対して１３５度（１３５°）の偏光方向を有する、直線偏光画像のシーケンスにおける第４の直線偏光画像を捕捉してもよい。直線偏光が無指向性であることから、１３５度の偏光方向は、３１５度の偏光方向と同じであると考えてもよい。
【００５４】
［００５９］
この点において、カメラプロセッサ８は、カメラ８とインターフェースして、連続する直線偏光画像間の偏光方向における差が（例えば、４５度の増加に）固定されるように、直線偏光ユニットの回転と、ＣＩＤ９によって規定される直線偏光画像のシーケンスの捕捉とを同期させてもよい。カメラプロセッサ８は、その後、偏光方向を、この例では４５°増加の関数として決定してもよい。
【００５５】
［００６０］
偏光方向の４５°の増加に関して説明したが、カラーカメラ８は、異なる偏光方向の増加を有する、または、上記で着目したような、設定度の増加の関数ではない可変偏光方向を有する、直線偏光画像のシーケンスを捕捉してもよい。この点において、カメラプロセッサ１４は、例えば、モーター３４がＬＰＵ３２を回転させることができるスピードと、ＣＩＤ９の直線偏光画像のシ−ケンスにおける各連続画像の捕捉の間の時間との関数として、ＣＩＤ９によって規定される直線偏光画像のシーケンスのそれぞれの偏光方向を決定するように構成されていてもよい。固定偏光方向を用いようと可変偏光方向を用いようと、カメラプロセッサ１４は、ＤＭＤ１３、ＣＩＤ９、および、決定した偏光方向に基づいて、ＥＤＭＤ１５を決定してもよい。
【００５６】
［００６１］
さらに、偏光方向は、カラーカメラ８のレンズに平行であり、ＬＰＵ３２の３次元方向ではない、２次元平面（例えば、ｘおよびｙ軸５２Ａと５２Ｂによって規定されるＸ−Ｙ平面）における偏光の方向を指していてもよい。このように、偏光方向は、（２次元の座標系がＬＰＵ３２とともに移動し、ＬＰＵ３２の中央に、または、ＬＰＵ３２の他の何らかのロケーションに、中心を有することを意味する）ＬＰＵ３２における空間に固定された２次元の座標系中で規定されたＬＰＵ３２の回転の度を指す。座標系が、ＬＰＵ３２のロケーションに対するものであり、空間中の絶対的ロケーションではないことを考えると、ＬＰＵ３２の移動にかかわらず、偏光方向は変化しないかもしれない。
【００５７】
［００６２］
図４は、移動体コンピューティングデバイスのカラーカメラ８を用いて画像を捕捉するときに生じるさまざまなオフセットを示すために、互いの上にオーバーレイしたＣＩＤ９の２つの直線偏光画像のシーケンスの合成を図示したダイヤグラムである。図４の例において示すように、ぼやけた縁および他の視覚的アーティファクトを結果的にもたらす２つのオーバーレイ画像間のオフセットがある。カメラプロセッサ１４は、ＣＩＤ９の２つの直線偏光画像に関して画像登録を実行し、ぼやけた縁と他の視覚的アーティファクトを低減させてもよく、そうでなければ、無くしてもよい。画像登録に関するより多くの情報は、シンガポール国立大学のコンピュータサイエンス学科のコンピュータビジョンとパターン認識のクラスで「画像登録」と題し、Ｋｈｅｎｇ教授によって提示されたスライドと、２０００年９月に発行された「Ｌｏｇ−Ｐｏｌａｒ変換を使用するロバストな画像登録」と題された、Ｇｅｏｒｇｅ  Ｗｏｌｂｅｒｇ氏他による論文で見つけることができる。
【００５８】
［００６３］
図５は、例示的なアルゴリズムを図示しており、アルゴリズムが実行されるとき、本開示で説明する技術のさまざまな態様を実行するように、移動体コンピューティングデバイス１０を構成させる。移動体コンピューティングデバイス１０のカラーカメラ８は、最初に、ＬＰＵ３２とインターフェースして、ＬＰＵ３２を既知の状態（例えば、ゼロ度の偏光方向）に初期化してもよく、（「回転モーター３４」とも呼ばれることがある）モーター３４を起動して、ＬＰＵ３２（フィルタまたはレンズ）を既知の状態に回転させる（６０、６２）。ＬＰＵ３２を初期化した後、カラーカメラ８は、ＣＩＤ９によって表される直線偏光画像のシーケンスにおける、（直線生画像のような）最初の画像の捕捉を開始してもよい（６４）。カラーカメラ８は、モーターを回転させ、画像捕捉を開始し、いくらかの固定した度数（例えば、４５度）だけ偏光方向を増加させる前述のステップを繰り返して、ＣＩＤ９によって表される直線偏光画像のシーケンスのそれぞれを捕捉してもよい。ＣＩＤ９は、偏光画像の関連するセットを表すものとして呼ばれることがある。カラーカメラ８は、（偏光画像の関連するセットを表していてもよい）ＣＩＤ９をカメラプロセッサ１４に出力してもよい（６６）。
【００５９】
［００６４］
ＣＩＤ９の捕捉と同時に、移動体コンピューティングデバイス１０の運動センサ３６は、移動体コンピューティングデバイス１０のロケーション（例えば、グローバルポジショニングシステム−ＧＰＳ−情報）、（ジャイロスコープ−ジャイロ−情報のような）方向、および、運動（例えば、加速度計情報）のうちの１つ以上を表すセンサデータをカメラプロセッサ１４に出力してもよい（６８）。また、ＣＩＤ９の捕捉と同時に、カメラプロセッサ１４は、深度カメラ１２によるＤＭＤ１３の捕捉を開始してもよい（７０、７２）。ＤＭＤ１３は、粗い深度画像を表していてもよい（７２）。
【００６０】
［００６５］
カメラプロセッサ１４は、ＣＩＤ９、センサデータ、および、ＤＭＤ１３を受け取ってもよい。カメラプロセッサ１４は、ＣＩＤ９とＤＭＤ１３に関して、および、（このようなセンサデータが利用可能であるとき、または、いくつかの例では、正確であるとアセスされるとき）潜在的なセンサデータに基づいて、画像整列を実行してもよい（７４）。運動情報を使用して画像整列を実行するとき、カメラプロセッサ１４は、現在基準画像と整列している各画像の捕捉の時間の、または、その時間の前後の、センサデータを選択してもよい。
【００６１】
［００６６］
カメラプロセッサ１４はまた、基準画像の捕捉の時間の、または、その時間の前後の、センサデータを利用してもよい。いくつかの例では、カメラプロセッサ１４は、基準画像の捕捉の時間の、または、その時間の前後のセンサデータと、現在整列している画像の捕捉の時間の、または、その時間の前後のセンサデータとにおける差を決定してもよい。カメラプロセッサ１４は、この差に基づいて、画像整列を実行してもよい。画像登録を促進するためのセンサデータの使用に関するより多くの情報は、２０１４年５月付で「いくつかの画像処理アプリケーションのための運動データデータの利用」と題された、Ｓ．Ｒ．Ｖ．Ｖｉｓｈｗａｎａｔｈ氏によるプロジェクトレポート中に見つけることができる。
【００６２】
［００６７］
この点において、カメラプロセッサ１４は、（ＣＩＤ９によって表されていてもよい）整列した直線偏光画像のシーケンスと、（ＤＭＤ１３によって表されていてもよい）整列した深度マップ画像とを発生させてもよい。カメラプロセッサ１４は、次に、整列させたＤＭＤ１３に関して、および、整列させたＣＩＤ１９に基づいて、Ｋａｄａｍｂｉ氏の研究論文で述べられている偏光からの形状深度マップ拡張プロセスを実行し（７６）、（「細かい深度マップ画像」と呼ばれることがある）ＥＤＭＤ１５を発生させてもよい（７８）。
【００６３】
［００６８］
図６は、本開示で説明する技術のさまざまな態様を実行する際の、図１の移動体コンピューティングデバイスの例示的な動作を図示したフローチャートである。最初に、移動体コンピューティングデバイス１０のカラーカメラ８は、ＬＰＵ３２とインターフェースして、ＬＰＵ３２を既知の状態（例えば、ゼロ度の偏光方向）に初期化してもよく、（「回転モーター３４」と呼ばれることがある）モーター３４を起動して、ＬＰＵ３２を既知の状態に回転させる（１００）。
【００６４】
［００６９］
ＬＰＵ３２を初期化した後、カラーカメラ８は、ＣＩＤ９によって表される直線偏光画像のシーケンスにおける最初の画像の捕捉を開始してもよい（１０２）。カラーカメラ８は、予め定められた数の画像が捕捉されるまでまたはさもなければ捕捉が完了するまで、前述のステップを繰り返して、いくらかの固定した度数（例えば、４５度）だけ偏光方向を増加させ、ＣＩＤ９によって表される直線偏光画像のシーケンスのそれぞれを捕捉してもよい（「ＹＥＳ」１０４、１０６、１０２）。
【００６５】
［００７０］
いくつかの例では、カメラプロセッサ１４は、画像のそれぞれを分析して、ＣＩＤ９の画像がＫａｄａｍｂｉ氏の研究論文で述べられている偏光からの形状偏光深度マップ拡張プロセスにおいて使用するために十分な品質のものであるか否かを決定してもよい。すなわち、カメラプロセッサ１４は、鮮明さ、ぼけ、焦点、光に関するメトリックを、または、画像に共通の他の何らかのメトリックを決定して、メトリックのうちの１つ以上をメトリックしきい値と比較してもよい。メトリックが対応するしきい値を下回る、または、いくつかの例では、上回るとき、カメラプロセッサ１４は、（対応するしきい値を下回る、または、いくつかの例では、上回るメトリックを有する画像を指していてもよい）不適当な画像を廃棄して、追加の画像を捕捉することを継続してもよい。カメラプロセッサ１４は、画像の品質評価の間、Ｋａｄａｍｂｉ氏の研究論文で述べられている偏光からの形状深度マップ拡張プロセスに関してより有益になると決定されるメトリックに対してより多くの重み付けを適用して、メトリックに関して重み付けられた平均化を実行してもよい。
【００６６】
［００７１］
ＣＩＤ９の捕捉と同時に、移動体コンピューティングデバイスの運動センサ３６は、移動体コンピューティングデバイス１０のロケーション（例えば、グローバルポジショニングシステム−ＧＰＳ−情報）、（ジャイロスコープ−ジャイロ−情報のような）方向、運動（例えば、加速度計情報）のうちの１つ以上を表すセンサデータをカメラプロセッサ１４に出力してもよい。カメラプロセッサ１４は、運動センサ３６により出力されるセンサデータを取得してもよい（１０８）。また、ＣＩＤ９の捕捉と同時に、カメラプロセッサ１４は、深度カメラ１２によるＤＭＤ１３の捕捉を開始してもよい（７０、７２）（１１０）。
【００６７】
［００７２］
カメラプロセッサ１４は、ＣＩＤ９、センサデータ、および、ＤＭＤ１３を受け取ってもよい。カメラプロセッサ１４は、（このようなセンサデータが利用可能であるとき、または、いくつかの例では、正確であるとアセスされるとき）センサデータに基づいて、ＣＩＤ９とＤＭＤ１３を整列させてもよい（１１２）。この点において、カメラプロセッサ１４は、（ＣＩＤ９によって表されていてもよい）整列した直線偏光画像のシーケンスと、（ＤＭＤ１３によって表されていてもよい）整列した深度マップ画像とを発生させてもよい。カメラプロセッサ１４は、次に、整列したＤＭＤ１３に関して、Ｋａｄａｍｂｉ氏の研究論文で述べられている偏光からの形状深度マップ拡張プロセスを実行して、ＥＤＭＤ１５を発生させてもよい（１１４）。
【００６８】
［００７３］
この点において、本説明において記述した技術は、移動体コンピューティングデバイスの現在のカメラに対するミリメートル範囲の精度よりもむしろ、移動体コンピューティングデバイスのカメラを使用するミリメートル未満の精度を有する、向上した深度マップを提供できる。ミリメートル未満の精度を可能にすることにより、技術は、鋭い角、平面、狭い物体、隆起、溝等のような、より細かいモデルジオメトリの捕捉を可能にする。より高い解像度は、仮想現実、拡張現実、３次元モデリング、向上した３次元モデリング（３Ｄ）画像捕捉等のようなアプリケーションに対して、移動体コンピューティングデバイスにおけるカメラの採用を促進する結果を可能にする。
【００６９】
［００７４］
１つ以上の例において、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、または、これらの任意の組み合わせで実現してもよい。ソフトウェアで実行される場合、機能は、１つ以上の命令またはコードとして、コンピュータ読取可能媒体上に記憶され、ハードウェアベースの処理ユニットによって実行してもよい。コンピュータ読取可能媒体は、データ記憶媒体のような、有形媒体に対応するコンピュータ読取可能記憶媒体を含んでいてもよい。このように、コンピュータ読取可能媒体は、一般的に、非一時的である、有形コンピュータ読取可能記憶媒体に対応していてもよい。データ記憶媒体は、本開示で説明した技術を実現するための命令、コード、および／または、データ構造を取り出すために、１つ以上のコンピュータまたは１つ以上のプロセッサによってアクセスすることができる任意の利用可能な媒体であってもよい。コンピュータプログラム製品は、コンピュータ読取可能媒体を含んでいてもよい。
【００７０】
［００７５］
限定ではなく例として、このようなコンピュータ読取可能記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光学ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、フラッシュメモリ、あるいは、命令またはデータ構造の形態で所望のプログラムコードを記憶するために使用され、コンピュータによってアクセスできる他の何らかの媒体を備えることができる。コンピュータ読取可能記憶媒体およびデータ記憶媒体は、搬送波、信号、または、他の一時的な媒体を含まないが、代わりに、非一時的な有形の記憶媒体に向けられることを理解すべきである。ここで使用したようなディスク（ｄｉｓｋおよびｄｉｓｃ）は、コンパクトディスク（ＣＤ）、レーザーディスク（登録商標）、光ディスク、デジタル汎用ディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、および、ブルーレイ（登録商標）ディスクを含むが、通常、ディスク（ｄｉｓｋ）はデータを磁気的に再生する一方で、ディスク（ｄｉｓｃ）はデータをレーザにより光学的に再生する。上記の組み合わせもまた、コンピュータ読取可能媒体の範囲内に含まれるべきである。
【００７１】
［００７６］
命令は、１つ以上のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラム可能論理アレイ（ＦＰＧＡ）、または、他の均等な集積またはディスクリート論理回路のような、１つ以上のプロセッサによって実行してもよい。したがって、ここで使用されるように、用語「プロセッサ」は、前述の構造、または、ここで説明した技術のインプリメンテーションに適した他の何らかの構造のうちのいずれかを指してもよい。加えて、いくつかの態様では、ここで説明した機能性を、エンコードおよびデコードするように構成されている専用のハードウェアおよび／またはソフトウェアモジュール内に提供することができ、あるいは、組み合わされたコーデック中に組み込むことができる。また、技術は、１つ以上の回路または論理要素において、完全に実現することができる。
【００７２】
［００７７］
本開示の技術は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（例えば、チップセット）を含む、幅広いさまざまなデバイスまたは装置で実現してもよい。さまざまなコンポーネント、モジュール、または、ユニットは、開示した技術を実行するように構成されているデバイスの機能的な態様を強調するために本開示で説明されているが、異なるハードウェアユニットによる実現を必ずしも必要としない。むしろ、上記で説明したように、さまざまなユニットは、コーデックハードウェアユニットにおいて組み合わされるか、または、適切なソフトウェアおよび／またはファームウェアとともに、上記で説明したような１つ以上のプロセッサを含む、相互動作可能ハードウェアユニットの集合によって提供してもよい。
【００７３】
［００７８］
さまざまな例を説明してきた。これらおよび他の例は、以下の特許請求の範囲の範囲内にある。
【図１】
2019534515.tif 000003
【図２】
2019534515.tif 000004
【図３Ａ】
2019534515.tif 000005
【図３Ｂ】
2019534515.tif 000006
【図３Ｃ】
2019534515.tif 000007
【図３Ｄ】
2019534515.tif 000008
【図４】
2019534515.tif 000009
【図５】
2019534515.tif 000010
【図６】
2019534515.tif 000011
【国際調査報告】
2019534515.tif 000012
2019534515.tif 000013
2019534515.tif 000014