(57)【要約】【課題】多層シフトを使用してステレオビジョンを容易にするための方法、装置およびコンピュータ・プログラム・プロダクトの提供。【解決手段】本願方法の１つの例は、それぞれ異なる位置からキャプチャした第１のＲＧＢ画像および第２のＲＧＢ画像を受信するステップと、対応する深度画像を生成するステップと、その深度画像において第１のセグメント化を実行するステップと、第１のオブジェクトマスクおよび第１のオブジェクトマスクをもたらすＲＧＢ画像において第２のセグメント化を実行するステップと、背景層を形成するために背景層のステッチを行うステップと、前記背景層のシフトよりも速い速度で行われるオブジェクト層のシフトを示す、第１の位置からのビューを表す第１の画像および第２の位置からのビューを表す第２の画像を含む一連の画像を生成するステップと、を含む。【選択図】図３
2019534599.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも、第１の位置からキャプチャされたオブジェクトを含む第１の画像および第２の位置からキャプチャされた前記オブジェクトを含む第２の画像を受信するステップであって、該第１位置は該第２位置とは異なる、ステップと、
少なくとも、前記第１の画像に対応する第１の深度画像および、前記第２の画像に対応する第２の深度画像を受信するステップと、
前記第１の深度画像および前記第２の深度画像に対して、予め定義された閾値に基づいて実行される第１のセグメント化をさせるステップであって、該第１のセグメント化は、第１のオブジェクトマスクと第２のオブジェクトマスクとを含む一組の画像をもたらす、ステップと、
前記第１の深度画像および前記第２の深度画像に対して、前記第１のオブジェクトマスクと前記第２のオブジェクトマスクを制約条件として利用して、実行される第２のセグメンテト化をさせるステップであって、該第２のセグメント化は、第１のオブジェクト画像、第２のオブジェクト画像、第１の背景層、および、第２の背景層を含む一組の画像をもたらす、ステップと、
背景層を形成するために、前記第１の背景層と前記第２の背景層とをステッチさせるステップと、
前記第１の位置からのビューを表す第１の画像および前記第２の位置からのビューを表す第２の画像を含む、一連の画像を生成するステップであって、該一連の画像は、前記背景層のシフトよりも速い速度でおこるオブジェクト層のシフトを示す、ステップと、
を含む方法。
【請求項２】
前記第１の画像は、前記背景層で補間された前記第１のオブジェクト画像を含み、前記第２の画像は、前記背景層で補間された前記第２のオブジェクト画像を含む、請求項１に記載の方法。
【請求項３】
第２のセグメント化は最大フロー最小カットアルゴリズムにしたがって行われる、請求項１に記載の方法。
【請求項４】
前記第１の背景層と前記第２の背景層とのステッチから生じる第１の穴埋めのステップと、近傍の有効画素に関連する値を平均するためのプロセスを実行するステップと、黒領域における前記ピクセルに対する新しい値として該平均を設定するステップとを含む第２の穴埋めのステップと、をさらに含む請求項１に記載の方法。
【請求項５】
前記第１のセグメント化のステップは、さらに、前記第１の画像および前記第２の画像から、それぞれ、前記第１深度画像および前記第２深度画像を生成するステップを含む、請求項１に記載の方法。
【請求項６】
距離に対応する前記所定の閾値を設定するステップと、前記深度画像セグメント化から、前記人物の形状マスクを利用してオブジェクト層を識別するステップと、前記画像の反転を決定し、該反転を前記背景マスクにするステップと、をさらに含む請求項１に記載の方法。
【請求項７】
層の前記シフトが異なる前記速度は、前記オブジェクト層と前記背景層との間の距離に間接的に比例する、請求項１に記載の方法。
【請求項８】
少なくとも１つのプロセッサと、コンピュータ・プログラム・コードを含む少なくとも１つのメモリとを備える装置であって、前記少なくとも１つのメモリおよび前記コンピュータ・プログラム・コードは、該プロセッサを用いて、該装置に、少なくとも、
少なくとも、第１の位置からキャプチャされたオブジェクトを含む第１の画像、および、第２の位置からキャプチャされたオブジェクトを含む第２の画像を受信させ、ここで、該第１の位置は該第２の位置とは異なるものであり、
少なくとも、前記第１の画像に対応する第１の深度画像、および、前記第２の画像に対応する第２の深度画像を受信させ、前記第１の深度画像および前記第２の深度画像に対して実行され、予め定められた閾値に基づいて、前記第１のセグメント化は、第１のオブジェクトマスクと第２のオブジェクトマスクとを含む一組の画像をもたらす、第１のセグメント化をさせ、前記第１のオブジェクトマスクと前記第２のオブジェクトマスクを制約として利用して、前記第１の画像と前記第２の画像に対して実行され、第１のオブジェクト画像、第２のオブジェクト画像、第１の背景層、および、第２の背景層を含む一組のセグメントをもたらす、第２のセグメント化をさせ、
背景層を形成するために前記第１の背景層と前記第２の背景層とをステッチさせ、前記第１の位置からのビューを表す第１の画像と、前記第２の位置からのビューを表す第２の画像とを含み、前記背景層のシフトよりも速い速度で行われるオブジェクト層のシフトを示す一連の画像を生成させるように構成される、
装置。
【請求項９】
前記第１の画像は、前記背景層で補間された前記第１のオブジェクト画像を含み、前記第２の画像は、前記背景層で補間された前記第２のオブジェクト画像を含む、請求項８に記載の装置。
【請求項１０】
前記第２のセグメント化は、最大フロー最小カットアルゴリズムにしたがって実行される、請求項８に記載の装置。
【請求項１１】
前記少なくとも１つのメモリおよび前記コンピュータ・プログラム・コードは、前記プロセッサを用いて、前記装置に、前記第１の背景層と前記第２の背景層との前記ステッチングから生じる第１の穴埋めステップを実行させ、近傍の有効画素に関連する値を平均するためのプロセスをインプリメントすること、および、前記平均値を、黒領域の前記ピクセルの新しい値として設定することを含む第２の穴埋めステップを実行させるようにさらに構成される、請求項８に記載の装置。
【請求項１２】
前記第１セグメント化は、さらに、前記第１の画像および前記第２の画像からそれぞれ前記第１の深度画像および前記第２の深度画像を生成することを含む、請求項８に記載の装置。
【請求項１３】
前記少なくとも１つのメモリおよび前記コンピュータ・プログラム・コードは、前記装置に、前記プロセッサを用いて、さらに、距離に対応する前記所定の閾値を設定させ、前記深度画像セグメント化から、前記人物の形状マスクを利用してオブジェクト層を識別し、前記画像の反転を決定し、該反転を前記背景マスクにさせるように構成される、請求項８に記載の装置。
【請求項１４】
層の前記シフトが異なる前記速度は、前記オブジェクト層と前記背景層との間の距離に間接的に比例する、請求項８に記載の装置。
【請求項１５】
その中に格納されたコンピュータ実行可能プログラム・コード命令を有する少なくとも１つの固定コンピュータ読取り可能記憶媒体を備えるコンピュータ・プログラム・プロダクトであって、該コンピュータ実行可能プログラム・コード命令は、少なくとも、
第１の位置からキャプチャされたオブジェクトを含む第１の画像および第２の位置からキャプチャされた前記オブジェクトを含む第２の画像を受信することであって、該第１の位置は該第２の位置とは異なるものである、受信することと、少なくとも、前記第１の画像に対応する第１の深度画像、および、前記第２の画像に対応する第２の深度画像を受信することと、前記第１の深度画像および前記第２の深度画像に対して、予め定義された閾値に基づいて実行される第１のセグメント化をさせることであって、該第１のセグメント化は、第１のオブジェクトマスクと第２のオブジェクトマスクとを含む一組の画像をもたらす、第１のセグメント化をさせることと、
前記第１の深度画像および前記第２の深度画像に対して、前記第１のオブジェクトマスクと前記第２のオブジェクトマスクを制約条件として利用して、実行される第２のセグメンテト化をさせることであって、該第２のセグメント化は、第１のオブジェクト画像、第２のオブジェクト画像、第１の背景層、および、第２の背景層を含む一組の画像をもたらす、第２のセグメンテト化をさせることと、
背景層を形成するために前記第１の背景層と前記第２の背景層とをステッチさせるステップと、前記第１の位置からのビューを表す第１の画像と、前記第２の位置からのビューを表す第２の画像と、を含む、一連の画像を生成することであって、前記背景層のシフトよりも速い速度で行われるオブジェクト層のシフトを示す一連の画像を生成することと、
のためのプログラム・コード命令を備える、コンピュータ・プログラム・プロダクト。
【請求項１６】
前記第１の画像は、前記背景層で補間された前記第１のオブジェクト画像を含み、前記第２の画像は、前記背景層で補間された前記第２のオブジェクト画像を含む、請求項１５に記載のコンピュータ・プログラム・プロダクト。
【請求項１７】
前記第２のセグメント化は、最大フロー最小カットアルゴリズムにしたがって実行される、請求項１５に記載のコンピュータ・プログラム・プロダクト。
【請求項１８】
該コンピュータ実行可能プログラム・コード命令は、さらに、前記第１の背景層と前記第２の背景層とのステッチから生じる第１の穴埋めすることと、
近傍の有効画素に関連する値を平均するためのプロセスをインプリメントすること、前記平均値を、黒領域の前記ピクセルの新しい値として設定することを含む第２の穴埋めすることと、
のためのプログラム・コード命令を備える、請求項１５に記載のコンピュータ・プログラム・プロダクト。
【請求項１９】
前記第１セグメント化は、さらに、前記第１の画像および前記第２の画像からそれぞれ前記第１の深度画像および前記第２の深度画像を生成することを含む、請求項１５に記載のコンピュータ・プログラム・プロダクト。
【請求項２０】
該コンピュータ実行可能プログラム・コード命令は、さらに、
距離に対応する前記所定の閾値を設定することと、
前記深度画像セグメント化から、前記人物の形状マスクを利用してオブジェクト層を識別することと、
前記画像の反転を決定し、該反転を前記背景マスクにすることと、
のためのプログラム・コード命令を備える、請求項１５に記載のコンピュータ・プログラム・プロダクト。
【請求項２１】
層の前記シフトが異なる前記速度は、前記オブジェクト層と前記背景層との間の距離に間接的に比例する、請求項１５に記載のコンピュータ・プログラム・プロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明の実施形態は、概して、オクルージョンの影響を打ち消すための画像処理、立体視、画像セグメント化技術の利用に関する。特に、多層シフトを使用して立体視を容易にするための様々な方法、装置、およびコンピュータ・プログラム製品に関する。
【背景技術】
【０００２】
従来の技術は、ステレオビジョンビューを構築するためにシーンパノラマを利用しようと試みることがあるが、ビューの移動中にオクルージョンが発生し、したがって、そのシーンは現実性を欠いている。本出願は、オクルージョン効果を考慮して異なる位置から撮影された２つのシーン間のビューの補間を提供し、それはより現実的なシーンの生成をもたらす。
【０００３】
図５は、従来の技法がシーンを生成するために使用されるときのオクルージョンを実証する図を示す。例えば、位置Ａにある撮像装置が２つの球体が重なり合う画像を取り込む一方、位置Ｂにあるとき、撮像装置は２つの球体が重ならない画像を取り込む。図６Ａは位置Ａにおける２つの重なり合った球の画像を示し、一方、図６Ｂは２つの球が存在する場合の画像を示す。パノラマ画像を使用している場合は、ユーザが位置Ｂに移動したときにオーバーラップすることになるが、唯一の変更はパノラマ画像の表示が移動することである。図２Ｂに示す図は現実性を欠いている。
【０００４】
これに関して、既知および既存のシステムを改善するための領域が特定されている。適用された努力、創意工夫、および革新を通じて、そのようなシステムを改善するための解決策が実現されており、本願発明の実施形態に関連して説明されている。
【発明の概要】
【０００５】
したがって、多層シフトを使用することによって立体視を容易にするための方法、装置およびコンピュータ・プログラム製品が本願発明の例示的な実施形態にしたがって提供される。すなわち、本願発明の実施形態は、画像をいくつかの層に切断し、異なる層を異なる速度でシフトさせることによって立体視におけるオクルージョンの問題を解決することを目的とする。これは、現実の世界における動きの見方と同じまたは類似の効果をもたらすことができる。
【０００６】
いくつかの実施形態では、本明細書に記載の方法の利点は、立体視におけるオクルージョンの問題が解決され得る。さらに、本明細書に記載の実施形態は、低い計算複雑性しか必要としない。
【０００７】
いくつかの実施形態では、少なくとも第１の画像を受け取ることを含む方法を提供することができ、第１の画像は、第１の位置からキャプチャされたオブジェクトを含む。第２の画像は、第２の位置からキャプチャされたオブジェクトを含み、第２の位置とは異なる。少なくとも第１の深度画像を受け取り、第１の深度画像は第１の画像に対応し、第２の深度画像は第２の画像に対応する。第１のセグメント化を引き起こし、この第１のセグメント化は、第１の深度画像および第２の深度画像に対して実行され、所定の閾値に基づいて、第１のオブジェクトマスクおよび第２のオブジェクトマスクを含む一組の画像をもたらす。第２のセグメント化を引き起こし、この第２のセグメント化は第１の画像と第２の画像に対して実行され、第１のオブジェクトマスクと第２のオブジェクトマスクを制約条件として利用する。第２のセグメント化は、第１のオブジェクト画像、第２のオブジェクト画像、第１の背景層、および第２の背景層を含むセグメントのセットをもたらす。第１の背景層と第２の背景層とのステッチングを引き起こし、背景層を形成し、一連の画像を生成する。一連の画像は、第１の位置からのビューを表す第１の画像および第２の位置からのビューを表す第２の画像を含む。一連の画像は、背景層のシフトよりも高速で行われるオブジェクト層のシフトを示す。
【０００８】
いくつかの実施形態では、第１の画像は背景層で補間された第１のオブジェクト画像を含み、第２の画像は背景層で補間された第２のオブジェクト画像を含む。いくつかの実施形態では、第２のセグメント化は最大フロー最小カットアルゴリズムにしたがって実行される。
【０００９】
いくつかの実施形態では、本願方法は、第１の背景層と第２の背景層とのステッチングから生じる第１の穴埋めステップと、近くの有効画素に関連する値を平均するためのプロセスを実行し、その平均を黒領域内の画素に対する新しい値として設定することを含む第２の穴埋めステップとをさらに含むことができる。
【００１０】
いくつかの実施形態では、第１のセグメント化ステップはさらに、第１の画像および第２の画像からそれぞれ第１の深度画像および第２の深度画像を生成することを含む。いくつかの実施形態では、本願方法は、距離に対応する所定の閾値を設定することをさらに含み得る。深度画像セグメント化から人の形状マスクを利用してオブジェクト層を識別し、画像の逆行列を決定し、その逆行列を背景マスクにする。いくつかの実施形態では、層のシフトの異なる速度は、オブジェクト層と背景層との間の距離に間接的に比例する。
【００１１】
いくつかの実施形態では、少なくとも１つのプロセッサと、コンピュータ・プログラム・コードを含む少なくとも１つのメモリとを備える装置が提供されることができる。コンピュータ・プログラム・コードは、プロセッサと共に、少なくとも、第１の位置からキャプチャされたオブジェクトを含む第１の画像、および、第２の位置からキャプチャされたオブジェクトを含む第２の画像であって、第１の位置は第２の位置とは異なる、第２の画像を装置に受信させるように構成され、装置は、少なくとも第１の深度画像を受け取るように構成され、第１の深度画像は第１の画像に対応し、第２の深度画像は、第２の画像に対応する。装置は、第１のセグメント化を生じさせるように構成され、第１のセグメント化は第１の深度画像および第２の深度画像に対して行われる。また、予め定められた閾値に基づいて、第１のセグメント化は、第１のオブジェクトマスクと第２のオブジェクトマスクとを含む一組の画像をもたらす。装置は、第２のセグメント化を引き起こすように構成され、第２のセグメント化は第１の画像と第２の画像に対して実行され、第１のオブジェクトマスクと第２のオブジェクトマスクを制約として利用する。第２のセグメント化は、第１のオブジェクト画像、第２のオブジェクト画像、第１の背景層、および第２の背景層を含むセグメントのセットをもたらす。第１の背景層と第２の背景層とをつなぎ合わせて背景層を形成し、一連の画像を生成する。一連の画像は、第１の位置からのビューを表す第１の画像と、第２の位置からのビューを表す第２の画像とを含む。一連の画像は、背景層のシフトよりも速い速度で行われるオブジェクト層のシフトを示す。
【００１２】
いくつかの実施形態では、第１の画像は背景層で補間された第１のオブジェクト画像を含み、第２の画像は背景層で補間された第２のオブジェクト画像を含む。いくつかの実施形態では、第２のセグメント化は最大フロー最小カットアルゴリズムにしたがって実行される。
【００１３】
いくつかの実施形態では、少なくとも１つのメモリおよびコンピュータ・プログラム・コードは、プロセッサを用いて、第１の背景層と第２の背景層とのステッチングから生じる第１の穴埋めステップを装置に実行させ、近傍の有効画素に関連する値を平均するためのプロセスを実行し、その平均を黒領域内の画素に対する新しい値として設定することを含む第２の穴埋めステップを実行させる。
【００１４】
いくつかの実施形態では、第１のセグメント化ステップはさらに、第１の画像および第２の画像からそれぞれ第１の深度画像および第２の深度画像を生成することを含む。いくつかの実施形態では、少なくとも１つのメモリおよびコンピュータ・プログラム・コードは、プロセッサを用いて、距離に対応する所定の閾値を装置に設定させるようにさらに構成される。深度画像セグメント化から人の形状マスクを利用してオブジェクト層を識別し、画像の逆行列を決定し、その逆行列を背景マスクにする。
【００１５】
いくつかの実施形態では、層のシフトが異なる速度は、オブジェクト層と背景層との間の距離に間接的に比例する。
【００１６】
いくつかの実施形態では、コンピュータ実行可能プログラム・コード命令を格納した少なくとも１つの非一時的コンピュータ可読記憶媒体を含むコンピュータ・プログラム製品を提供することができる。コンピュータ実行可能プログラム・コード命令は、少なくとも第１の画像を受け取るためのプログラム・コード命令を含み、第１の画像は、第１の位置からキャプチャされたオブジェクトを含み、第２の画像は、第２の位置からキャプチャされたオブジェクトを含み、第１の位置は第２の位置とは異なる。さらに、第１画像に対応する第１深度画像および第２の画像に対応する第２の深度画像を受け取るためのプログラム・コード命令を含む。さらに、第１の深度画像および第２の深度画像に対して実行される第１のセグメント化を引き起こすためのプログラム・コード命令を含む。予め定められた閾値に基づいて、第１のセグメント化は、第１のオブジェクトマスクと第２のオブジェクトマスクとを含む一組の画像をもたらす。さらに、第１の画像と第２の画像に対して実行される第２のセグメント化を引き起こすためのプログラム・コード命令を含む。第２のセグメント化は、第１のオブジェクトマスクと第２のオブジェクトマスクを制約条件として利用する。第２のセグメント化は、第１のオブジェクト画像、第２のオブジェクト画像、第１の背景層、および第２の背景層を含むセグメントのセットをもたらす。そして、第１の背景層および第２の背景層のステッチを引き起こして背景層を形成するためのプログラム・コード命令を含む。前記一連の画像は、前記第１の位置からのビューを表す第１の画像と前記第２の位置からのビューを表す第２の画像とを含む。一連の画像は、背景層のシフトよりも速い速度で行われるオブジェクト層のシフトを示す。
【００１７】
いくつかの実施形態では、第１の画像は背景層で補間された第１のオブジェクト画像を含み、第２の画像は背景層で補間された第２のオブジェクト画像を含む。いくつかの実施形態では、第２のセグメント化は最大フロー最小カットアルゴリズムにしたがって実行される。
【００１８】
いくつかの実施形態では、コンピュータ実行可能プログラム・コード命令は、第１の背景層のステッチングから生じる第１の穴埋めステップのためのプログラム・コード命令をさらに含む。第２の穴埋めステップは、近隣の有効画素に関連する値を平均するためのプロセスを実行し、その平均を黒領域内の画素に対する新しい値として設定するステップを含む。
【００１９】
いくつかの実施形態では、第１のセグメント化ステップはさらに、第１の画像および第２の画像からそれぞれ第１の深度画像および第２の深度画像を生成することを含む。いくつかの実施形態では、コンピュータ実行可能プログラム・コード命令は、距離に対応する所定の閾値を設定するためのプログラム・コード命令をさらに含む。深度画像セグメント化から人の形状マスクを利用してオブジェクト層を識別し、画像の逆行列を決定し、その逆行列を背景マスクにする。
【００２０】
いくつかの実施形態では、層のシフトが異なる速度は、オブジェクト層と背景層との間の距離に間接的に比例する。
【図面の簡単な説明】
【００２１】
このように本願発明の実施形態を一般的な用語で説明してきたが、次に、必ずしも一定の縮尺で描かれていない添付の図面を参照する。
【図１】本願発明の例示的な実施形態にしたがって構成することができるシステムのブロック図である。
【図２】本願発明の例示の実施形態にしたがって構成することができる装置のブロック図である。
【図３】本願発明の一実施形態による装置例を動作させる例示的方法を示すフローチャートである。
【図４】本願発明の一実施形態による装置例を動作させる例示的方法を示すフローチャートである。
【図５】図５、６Ａ、および６Ｂは、オクルージョン効果を説明する一連の図である。
【図６Ａ】図５、６Ａ、および６Ｂは、オクルージョン効果を説明する一連の図である。
【図６Ｂ】図５、６Ａ、および６Ｂは、オクルージョン効果を説明する一連の図である。
【発明を実施するための形態】
【００２２】
いくつかの例示的な実施形態が、添付の図面を参照して以下により詳細に説明される。全ての実施形態ではなくいくつかの実施形態が示される。実際に、例示の実施形態は多くの異なる形態をとることができ、本明細書に記載の実施形態に限定されると解釈されるべきではない。むしろ、これらの実施形態は、本開示が適用可能な法的要件を満たすように提供されている。全体を通して、同じ参照番号は同じ要素を指す。用語「データ」、「コンテンツ」、「情報」、および同様の用語は、いくつかの例示的実施形態によれば、交換可能に使用され得、送信、受信、操作、および／または格納され得るデータを指す。さらに、本明細書で使用されることがある「例示的」という用語は、いかなる定性的評価も伝達するために提供されているのではなく、単に例の説明を伝達するために提供されている。したがって、そのような用語の使用は、本願発明の実施形態の趣旨および範囲を限定するものと解釈されるべきではない。
【００２３】
本明細書で使用されているように、「回路」という用語は、以下のすべてを指す。
（ａ）ハードウェアのみの回路実装（アナログおよび／またはデジタル回路のみでの実装など）、
（ｂ）次のような回路とソフトウェア（および／またはファームウェア）の組み合わせ、
（ｉ）プロセッサを組み合わせたもの、または
（ｉｉ）さまざまな機能を実行する携帯電話やサーバなど、ソフトウェア、およびメモリを組み合わせて装置を生成するプロセッサ／ソフトウェアの一部（デジタル信号プロセッサを含む）、
（ｃ）ソフトウェアまたはファームウェアが物理的に存在しなくても、動作のためにソフトウェアまたはファームウェアを必要とするマイクロプロセッサまたはマイクロプロセッサの一部などの回路。
【００２４】
「回路」のこの定義は、任意の請求項を含む本出願におけるこの用語のすべての使用に適用される。さらなる例として、本出願で使用されるように、「回路」という用語は、単にプロセッサ（または複数のプロセッサ）またはプロセッサの一部、ならびにその（またはそれらの）付随するソフトウェアおよび／またはファームウェアの実装形態も含む。「回路」という用語は、例えば、特定の特許請求の範囲の要素に適用可能であるならば、携帯電話用のベースバンド集積回路または特定用途向け集積回路、あるいはサーバ、セルラーネットワークデバイス、または他のネットワークデバイス内の同様の集積回路もカバーする。
【００２５】
ここで図１を参照すると、コンピューティングデバイス１０、サーバ１２、または他のネットワークエンティティ（以下、「サーバ」と総称する）とユーザデバイス１６との間において、無線でまたは有線を介してのいずれかで通信をサポートするシステムが示される。ここで示されるように、コンピューティングデバイス１０、サーバ１２、およびユーザデバイス１６は、セルラーネットワークまたはインターネットなどの広域ネットワークまたはローカルエリアネットワークなどのネットワーク１４を介して通信することができる。しかしながら、コンピューティングデバイスとサーバとは、コンピューティングデバイスとサーバとの間の直接通信を介するなど、他の方法で通信することができる。
【００２６】
コンピューティングデバイス１０またはユーザデバイス１６は、携帯情報端末（ＰＤＡ）、携帯電話、スマートフォン、ラップトップコンピュータ、タブレットコンピュータ、またはこれらの任意の組み合わせ、ならびに他の種類の音声およびテキスト通信システムなどのモバイルコンピューティングデバイスを含むいくつかの異なるデバイスによって具体化することができる。あるいは、コンピューティングデバイス１０および／またはユーザデバイス１６は、パーソナルコンピュータ、コンピュータワークステーションなどのような固定コンピューティングデバイスであり得る。サーバ１２は、コンピューティング装置によっても具体化することができ、一実施形態では、ウェブサーバによって具体化される。さらに、図１のシステムは単一のサーバを示しているが、サーバは、コンピューティングデバイスによって行われるブラウズ活動をサポートするために協働することができる複数のサーバから構成することができる。ユーザ装置１６は、コンピューティング装置１０によって具現化することができ、一実施形態では、複数のコンピューティング装置から構成することができる。
【００２７】
ネットワーク１４は、媒体（例えば、ツイストペア、同軸、光ファイバ、無線周波数）、ハードウェア（例えば、ルータ、スイッチ、リピータ、トランシーバ）、および、遠隔地にいる人間および／または装置間の通信を容易にするプロトコル（例えば、ＴＣＰ／ＩＰ、ＵＤＰ、イーサネット（登録商標）、Ｗｉ−Ｆｉ、ＷｉＭＡＸ）の任意の組み合わせとすることができる。これに関して、通信インタフェース３０８は、１つ以上のエアインタフェース規格、通信プロトコル、変調タイプ、アクセスタイプなどで動作することが可能であり得る。より具体的には、システム３０２、通信インタフェース３０８などは、さまざまな第１世代（１Ｇ）、第２世代（２Ｇ）、２．５Ｇ、および、第３世代（３Ｇ）通信プロトコル、第４世代（４Ｇ）通信プロトコル、インターネットプロトコルマルチメディアサブシステム（ＩＭＳ）通信プロトコル（例えば、セッション開始プロトコル（ＳＩＰ））などにしたがって動作することが可能であり得る。例えば、移動端末は、２Ｇ無線通信プロトコルＩＳ−１３６（時分割多元接続（ＴＤＭＡ））、グローバル移動体通信システム（ＧＳＭ（登録商標））、ＩＳ−９５（符号分割多元接続（ＣＤＭＡ））などにしたがって動作することが可能であり得る。また、例えば、移動端末は、２．５Ｇ無線通信プロトコル一般パケット無線サービス（ＧＰＲＳ）、拡張データＧＳＭ（登録商標）環境（ＥＤＧＥ）などにしたがって動作することが可能であり得る。さらに、例えば、移動端末は、ユニバーサル移動体通信システム（ＵＭＴＳ）、符号分割多元接続２０００（ＣＤＭＡ２０００）、広帯域符号分割多元接続（ＷＣＤＭＡ）、時分割同期符号分割多元接続（ＴＤ  −ＳＣＤＭＡ）などの３Ｇ無線通信プロトコルにしたがって動作することが可能であり得る。移動端末はさらに、ロングタームエボリューション（ＬＴＥ）またはエボルブドユニバーサル地上無線アクセスネットワーク（Ｅ−ＵＴＲＡＮ）などの３．９Ｇ無線通信プロトコルにしたがって動作することができる。さらに、例えば、移動端末は、将来開発されるかもしれない同様の無線通信プロトコルと同様に、第４世代（４Ｇ）無線通信プロトコルおよび／または同様のものにしたがって動作することが可能であり得る。
【００２８】
コンピューティングデバイス１０またはユーザデバイス１６を具現化するデバイスの種類にかかわらず、コンピューティングデバイス１０またはユーザデバイス１６は、図２に示されるように装置２０を含むかまたは装置２０と関連付けることができる。これに関して、装置は、プロセッサ２２、メモリ装置２４、通信インタフェース２６、およびユーザインタフェース２８を含むか、またはそれらと通信することができる。したがって、いくつかの実施形態では、装置または要素は互いに通信しているように示されているが、以下では、そのような装置または要素は同じ装置または要素内で実施可能であると見なされる。通信で示されている装置または要素は、代替的に同じ装置または要素の一部であると理解されるべきである。
【００２９】
いくつかの実施形態では、プロセッサ２２（および／またはコプロセッサ、またはプロセッサを支援する、またはそうでなければプロセッサに関連する任意の他の処理回路）は、その装置の構成要素間で情報を渡すためにバスを介してメモリ装置２４と通信することができる。メモリデバイスは、例えば、１つ以上の揮発性および／または不揮発性メモリを含み得る。言い換えれば、例えば、メモリデバイスは、マシン（例えば、プロセッサのようなコンピューティングデバイス）によって検索可能であり得るデータ（例えば、ビット）を記憶するように構成されたゲートを含む電子記憶デバイス（例えば、コンピュータ可読記憶媒体）であり得る。メモリデバイスは、本願発明の例示的な実施形態にしたがって装置２０が様々な機能を実行することを可能にするために、情報、データ、コンテンツ、アプリケーション、命令などを格納するように構成することができる。例えば、メモリデバイスは、プロセッサによる処理のために入力データをバッファリングするように構成され得る。追加的または代替的に、メモリ装置は、プロセッサによる実行のための命令を格納するように構成され得る。
【００３０】
上記のように、装置２０は、本願発明の例示の実施形態を採用するように構成されたコンピューティングデバイス１０によって具現化することができる。しかしながら、いくつかの実施形態では、装置はチップまたはチップセットとして具体化されてもよい。言い換えれば、装置は、構造アセンブリ（たとえばベースボード）上に材料、構成要素および／またはワイヤを含む１つ以上の物理パッケージ（たとえばチップ）を備えることができる。構造アセンブリは、その上に含まれる構成要素回路に対して物理的強度、サイズの保存、および／または電気的相互作用の制限を提供することができる。したがって、装置は、場合によっては、本願発明の実施形態を単一のチップ上で、または単一の「システムオンチップ」として実装するように構成され得る。したがって、場合によっては、チップまたはチップセットは、本明細書で説明されている機能を提供するための１つまたは複数の動作を実行するための手段を構成することができる。
【００３１】
プロセッサ２２は、いくつかの異なる方法で具現化することができる。例えば、プロセッサは、コプロセッサ、マイクロプロセッサ、コントローラ、デジタル信号プロセッサ（ＤＳＰ）、付随するＤＳＰを有するあるいは有さない処理要素、または、例えばＡＳＩＣ（特定用途向け集積回路）のような集積回路を含む様々な他の処理回路、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、マイクロコントローラユニット（ＭＣＵ）、ハードウェアアクセラレータ、または専用コンピュータチップなどの１つ以上の様々なハードウェア処理手段として実施することができる。したがって、いくつかの実施形態では、プロセッサは、独立して実行するように構成された１つまたは複数の処理コアを含み得る。マルチコアプロセッサは、単一の物理パッケージ内でマルチプロセッシングを可能にし得る。それに加えてまたはその代わりに、プロセッサは、命令の独立した実行、パイプライン化、および／またはマルチスレッド化を可能にするためにバスを介して直列に構成される１つ以上のプロセッサを含み得る。
【００３２】
例示の実施形態では、プロセッサ２２は、メモリデバイス２４に格納されているか、そうでなければプロセッサにアクセス可能な命令を実行するように構成することができる。代替的または追加的に、プロセッサはハードコードされた機能を実行するように構成されてもよい。したがって、ハードウェアまたはソフトウェアの方法、あるいはそれらの組み合わせのいずれによって構成されたとしても、プロセッサはエンティティを表すことができる（例えば、回路内に物理的に具現化されている）。それに応じて構成されながら、本願発明の実施形態にしたがって動作を実行することができる。したがって、例えば、プロセッサがＡＳＩＣ、ＦＰＧＡなどとして具現化されるとき、プロセッサは、本明細書で説明される動作を実行するために特に構成されたハードウェアであり得る。あるいは、別の例として、プロセッサがソフトウェア命令の実行者として具体化されるとき、命令は、命令が実行されたときに本明細書に記載のアルゴリズムおよび／または動作を実行するようにプロセッサを特に構成することができる。しかしながら、場合によっては、プロセッサは、本明細書に記載のアルゴリズムおよび／または動作を実行するための命令によるプロセッサのさらなる構成によって、本願発明の実施形態を採用するように構成された特定の装置（例えば、ヘッドマウントディスプレイ）のプロセッサであり得る。そのプロセッサは、とりわけ、プロセッサの動作をサポートするように構成されたクロック、算術論理装置（ＡＬＵ）および論理ゲートを含むことができる。一実施形態では、プロセッサは、ユーザインタフェース２８の１つ以上の要素の少なくともいくつかの機能を制御するように構成されたユーザインタフェース回路も含むことができる。
【００３３】
一方、通信インタフェース２６は、ハードウェアまたはハードウェアとソフトウェアの組み合わせのいずれかで具現化されたデバイスまたは回路などの任意の手段であり得る。それは、コンピューティングデバイス１０とサーバ１２との間でデータを送受信するように構成されている。この点に関して、通信インタフェース２６は、例えば、無線で通信を可能にするためのアンテナ（または複数のアンテナ）およびサポートハードウェアおよび／またはソフトウェアを含むことができる。それに加えてまたはその代わりに、通信インタフェースは、アンテナを介して信号を送信するため、またはアンテナを介して受信された信号の受信を処理するために、アンテナと対話するための回路を含み得る。例えば、通信インタフェースは、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）または他の無線通信技術などを介してヘッドマウントディスプレイ１０と無線通信するように構成されてもよい。いくつかの事例では、通信インタフェースは、代替的にまたは有線通信をサポートすることもできる。したがって、例えば、通信インタフェースは、ケーブル、デジタル加入者線（ＤＳＬ）、ユニバーサルシリアルバス（ＵＳＢ）または他の機構を介した通信をサポートするための通信モデムおよび／または他のハードウェア／ソフトウェアを含み得る。例えば、通信インタフェースは、有線通信を介してコンピューティングデバイスの他の構成要素と通信するように構成され得る。
【００３４】
ユーザインタフェース２８は、ユーザインタフェース回路などのプロセッサ２２と通信して、ユーザ入力の指示を受け取り、かつ／または可聴、視覚、機械的、または他の出力をユーザに提供することができる。したがって、ユーザインタフェースは、例えば、キーボード、マウス、ジョイスティック、ディスプレイ、タッチスクリーンディスプレイ、マイクロフォン、スピーカ、および／または他の入出力機構を含むことができる。いくつかの実施形態では、ディスプレイは、スクリーン上、壁上、眼鏡上（例えば、目に近いディスプレイ）、空中などでの表示を指すことがある。ユーザインタフェースはまた、バスを介するなどして、メモリ２４および／または通信インタフェース２６と通信することができる。
【００３５】
例示の実施形態では、装置２０の構成要素／モジュールは、標準的なプログラミング技法を使用して実施することができる。例えば、装置２０は、１つ以上の静的または動的ライブラリとともに、プロセッサ２２上で実行される「ネイティブ」実行可能ファイルとして実装することができる。一般に、様々なプログラミング言語パラダイムの代表的な実装形態を含む、そのような例示的な実施形態を実装するために、オブジェクト指向（例：Ｊａｖａ（登録商標）、Ｃ＋＋、Ｃ＃、Ｖｉｓｕａｌ  Ｂａｓｉｃ．ＮＥＴ、Ｓｍａｌｌｔａｌｋなど）、機能的（例：ＭＬ、Ｌｉｓｐ、Ｓｃｈｅｍｅなど）、手続き型（例：Ｃ）、Ｐａｓｃａｌ、Ａｄａ、Ｍｏｄｕｌａなど）、スクリプティング（例えば、Ｐｅｒｌ、Ｒｕｂｙ、Ｐｙｔｈｏｎ、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ、ＶＢＳｃｒｉｐｔなど）、および宣言的（例えば、ＳＱＬ、Ｐｒｏｌｏｇなど）当技術分野において知られている様々なプログラミング言語を使用することができる。
【００３６】
さらに、装置２０の一部として格納されたデータへのプログラミングインタフェースは、Ｃ、Ｃ＋＋、Ｃ＃、およびＪａｖａ（登録商標）ＡＰＩ、ファイル、データベース、または他のデータリポジトリにアクセスするためのライブラリなどを介した標準的なメカニズムによって、ＸＭＬなどの言語を通じて、あるいは、Ｗｅｂサーバ、ＦＴＰサーバ、または保存されたデータへのアクセスを提供する他の種類のサーバを介して利用可能にすることができる。データストアも含まれてもよく、それは１つ以上のデータベースシステム、ファイルシステム、またはそのような情報を格納するための任意の他の技術、あるいは、分散コンピューティング技術を使用する実装を含む、上記の任意の組合せとして実装されてもよい。
【００３７】
本明細書に記載の技法と共に使用するためのプログラムおよびデータの異なる構成および場所が考えられている。例示の実施形態の構成要素を分散方式で実装するためには、ＴＣＰ／ＩＰソケット、ＲＰＣ、ＲＭＩ、ＨＴＴＰ、Ｗｅｂサービス（ＸＭＬ−ＲＰＣ、ＪＡＸ−ＲＰＣ、ＳＯＡＰなど）を含む様々な分散コンピューティング技術が適切である。しかし、これらに限定されるものではない。他のバリエーションも可能である。また、各構成要素／モジュールによって他の機能を提供することができ、あるいは既存の機能を構成要素／モジュール間で異なる方法で分散させることができる。それでもなお本明細書に記載の機能を達成することができる。
【００３８】
さらに、いくつかの実施形態では、装置２０の構成要素のうちのいくつかまたはすべては、少なくとも部分的にファームウェアおよび／またはハードウェア内など、他の方法で実装または提供され得る。１つ以上の特定用途向け集積回路（「ＡＳＩＣ」）、標準の集積回路、適切な命令を実行するコントローラ、およびマイクロコントローラおよび／または組み込みコントローラ、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）、複合プログラマブルロジックデバイス（「ＣＰＬＤ」）などを含むが、これらに限定されない。システムコンポーネントおよび／またはデータ構造のいくつかまたはすべては、コンテンツとして（たとえば実行可能または他のマシン可読ソフトウェア命令または構造化データとして）コンピュータ可読媒体（たとえばハードディスクなど）、メモリ、コンピュータネットワークまたはセルラ無線ネットワークまたは他のデータ伝送媒体、コンピュータ可読媒体を使用可能にするかまたは構成するために、適切なドライブによって、または適切な接続（ＤＶＤもしくはフラッシュメモリデバイスなど）を介して読み取られる可搬媒体物品、および／または、記載された技法のうちの少なくともいくつかを実行するために、コンテンツを実行する、またはそうでなければ使用する、または提供するための、１つまたは複数の関連するコンピューティングシステムまたはデバイスに格納することもできる。システム構成要素およびデータ構造のうちのいくつかまたはすべては、無線ベースの媒体および有線／ケーブルベースの媒体を含む、さまざまなコンピュータ可読伝送媒体上の（たとえば、搬送波の一部として符号化されることによって、あるいは、アナログまたはデジタル伝搬信号の一部として含まれる）データ信号としても記憶され得る。そして、（例えば、単一のまたは多重化されたアナログ信号の一部として、または複数の個別のデジタルパケットまたはフレームとして）様々な形態を取り得る。システムコンポーネントやデータ構造の一部または全部を、ＨＴＭＬ５のようなブラウザでレンダリングされたマークアップ言語と組み合わせると、アプリケーションを実行可能にするために一般的なＷｅｂブラウザに依存する、ブラウザでサポートされているプログラミング言語（Ｊａｖａ（登録商標）Ｓｃｒｉｐｔなど）でコーディングされているコンピュータソフトウェアアプリケーションなど、Ｗｅｂアプリケーション、「ａｐｐ」、あるいはＨＴＭＬ５やＪａｖａ（登録商標）Ｓｃｒｉｐｔとして格納することもできる。ウェブページまたは「アプリ」を開くことは、コンピューティングデバイス１０上のウェブブラウザによって実行され得る。ＨＴＭＬ５かＪａｖａ（登録商標）Ｓｃｒｉｐｔ「ａｐｐ」は、ウェブページ全体を再ダウンロードする必要なしにデータを記憶し検索するために、ウェブページスクリプトが図１に示すようなサーバ１２に連絡することを可能にする。システムコンポーネントおよびデータ構造のうちのいくつかまたはすべてはまた、特権ウェブアプリケーションまたは特権ウェブアプリケーションとして格納されることができる。特権のあるＷｅｂアプリは、たとえば１つまたは複数のアプリストアによって検証された、または信頼できるソースであるソースから取得またはダウンロードされた可能性のあるＷｅｂコンテンツである。信頼されたソースは、デフォルトのパワー設定を上書きすることを可能にされ得る特権的なウェブアプリケーションを提供し得る。そのようなコンピュータ・プログラム製品はまた、他の実施形態では他の形態を取り得る。したがって、本開示の実施形態は他のコンピュータシステム構成を用いて実施することができる。
【００３９】
図３および図４は、本願発明の一実施形態による方法、装置およびコンピュータ・プログラム製品によって実行される例示的な動作の例示的なフローチャートを示している。フローチャートの各ブロック、およびフローチャート中のブロックの組み合わせは、ハードウェア、ファームウェア、プロセッサ、回路、および／または１つ以上のコンピュータ・プログラム命令を含むソフトウェアの実行に関連する他のデバイスなど様々な手段によって実施され得ることが理解される。例えば、上記の手順のうちの１つ以上は、コンピュータ・プログラム命令によって実施することができる。これに関して、上記の手順を具体化するコンピュータ・プログラム命令は、本願発明の実施形態を採用する装置のメモリ２６によって記憶され、装置内のプロセッサ２４によって実行されることができる。ここで、理解されるように、任意のそのようなコンピュータ・プログラム命令は、コンピュータまたは他のプログラム可能な装置（例えば、ハードウェア）にロードされて、結果として得られるコンピュータまたは他のプログラム可能な装置が、フローチャートブロックにおいて指定された機能の実装を提供するようになるようにマシンを作成することができる。これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラム可能な装置に特定の方法で機能するように指示することができる非一時的コンピュータ可読記憶メモリにも記憶することができる。そのようにして、コンピュータ可読記憶メモリに記憶された命令は製品を生成し、その実行はフローチャートブロックにおいて指定された機能を実行する。コンピュータ・プログラム命令はまた、コンピュータまたは他のプログラム可能装置上にロードされて、コンピュータまたは他のプログラム可能な装置上で実行される命令が、フローチャートブロックにおいて特定された機能を実施するための動作を提供するように、コンピュータ実施プロセスを生成するために、コンピュータまたは他のプログラム可能装置上で一連の動作を実行させることができる。したがって、図３および図４の動作は、実行されると、コンピュータまたは処理回路を本願発明の例示の実施形態を実行するように構成された特定のマシンに変換する。したがって、図３および図４の動作は、例示的実施形態を実行するためのコンピュータまたは処理を構成するためのアルゴリズムを定義する。場合によっては、汎用コンピュータに、汎用コンピュータを例示の実施形態を実行するように構成された特定のマシンに変換するために、図３および図４のアルゴリズムを実行するプロセッサのインスタンスを設けることができる。
【００４０】
したがって、フローチャートのブロックは、指定された機能を実行するための手段の組合せおよび指定された機能を実行するための動作の組合せをサポートする。フローチャートの１つ以上のブロック、およびフローチャート内のブロックの組み合わせは、指定された機能、または特殊用途のハードウェアとコンピュータの命令の組み合わせを実行する特殊目的のハードウェアベースのコンピュータシステムによって実施することができることも理解される。
【００４１】
いくつかの実施形態では、本明細書の動作のうちのいくつかは、以下で説明されるように修正またはさらに拡張され得る。さらに、いくつかの実施形態では、追加の任意の動作も含まれてもよい。以下の修正、任意選択の追加、または増幅のそれぞれは、単独で、または本明細書に記載されている特徴のうちの任意の他のものと組み合わせてのいずれかで、上記の動作に含まれ得る。
【００４２】
一例示的実施形態では、多層シフトを使用することによって立体視を容易にするための方法、装置、および／またはコンピュータ・プログラム製品を提供することができる。図３は、本願発明の実施形態にしたがって実行される、例示的な携帯端末を動作させる方法を示す例示的なフローチャートである。具体的には、図３は、背景層のシフトよりも高速で行われるオブジェクト層のシフトを示す一連の画像を生成するための例示的な方法を示す。
【００４３】
まず、図３のブロック３０５に示すように、コンピューティングデバイス１０によって具現化された装置２０は、少なくとも第１の画像および第２の画像を受信するか、そうでなければアクセスするように構成され得る。したがって、コンピューティングデバイスによって具現化される装置は、少なくとも第１の画像および第２の画像を受信および／またはアクセスするための、プロセッサ２２、通信インタフェース２６などのような手段を含み得る。いくつかの実施形態では、第１の画像は第１の位置から取り込まれたオブジェクトを含み、第２の画像は第２の位置から取り込まれたオブジェクトを含み、第１の位置は第２の位置とは異なる。いくつかの実施形態では、第１の画像と第２の画像を取り込む画像取込装置またはレンズの光軸は平行である。第１の画像および第２の画像は、赤−緑−青（ＲＧＢ）画像であり得る。
【００４４】
このプロセスはまた、ＲＧＢ画像から別々に取り込まれるかまたは生成され得る深度画像を利用する。したがって、図３のブロック３１０に示されるように、コンピューティングデバイス１０によって具現化される装置２０は、少なくとも第１の深度画像および第２の深度画像を受け取るか、そうでなければアクセスするように構成され得る。したがって、コンピューティングデバイスによって具現化される装置は、少なくとも第１の深度画像を受信またはアクセスするための、プロセッサ２２、通信インタフェース２６などのような手段を含み得る。第１の深度画像は第１の画像に対応し、第２の深度画像は第２の画像に対応する。いくつかの実施形態では、深度画像は、例えば深度カメラによってキャプチャされ、および／またはそこから受信されることができる。他の実施形態では、深度画像は、第１および第２の画像（例えば、ＲＧＢ画像）によって構築されることができ、またはそれらを使用して生成されることができる。
【００４５】
図３のブロック３１５に示されるように、コンピューティングデバイス１０によって具現化される装置２０は、したがって、第１のセグメント化を引き起こすように構成され得る。したがって、コンピューティングデバイスによって具現化される装置は、第１のセグメント化を引き起こすための、プロセッサ２２、通信インタフェース２６などのような手段を含み得る。当業者が理解するように、セグメント化は、画像（例えば、デジタル画像）を複数のセグメントにセグメント化するプロセスである。たとえば、イメージの分析が容易になるように、または異なる方法で分析できるように、イメージの表現を変更する。いくつかの実施形態では、第１のセグメント化は、事前定義された閾値に基づいてもよく、例えば、例えば、第１のオブジェクトマスク、第１のオブジェクトマスクの反転（例えば、第１の画像の背景マスク）および第２のオブジェクトマスク、ならびに第２のオブジェクトマスクの反転（例えば、第２の画像の背景マスク）のうちの任意の組み合わせを含み得る一組の画像をもたらすことができる。
【００４６】
以下に説明される図４は、本願発明の実施形態にしたがって実行される、例示的な移動端末を動作させる例示的な方法を示すフローチャートである。具体的には、図４は、第１のセグメント化を実行するための例示的な方法を示す。すなわち、以下に説明されるように、第２のセグメント化が実行され得る。しかしながら、第２のセグメント化の前に、が第２のセグメント化の実行に使用される第１のオブジェクトマスクと第２のオブジェクトマスクとが提供される。たとえば、いくつかの実施形態では、第１のセグメント化は、各深度画像の大まかなセグメント化を取得するために、（たとえば、レンズまたは画像キャプチャデバイスなどからの深さまたは距離に対応する）予め定義された閾値の設定を含む。さらに、いくつかの実施形態では、装置は、例えば、１つの画像の最大面積（例えば、第１の画像）を１つのオブジェクト層として識別する（例えば、第１の画像内の人物を識別する）ように構成される。この識別は、深度画像セグメント化からの形状マスクを利用すること、画像の逆行列を決定すること、およびその逆行列を背景マスクにすることを含む。
【００４７】
ここで図３に戻ると、図３のブロック３２０に示されるように、コンピューティングデバイス１０によって具現化される装置２０は、したがって、第２のセグメント化の実行を引き起こすように構成され得る。したがって、コンピューティングデバイスによって具現化される装置は、第２のセグメント化の実行を引き起こすための、プロセッサ２２、通信インタフェース２６などのような手段を含み得る。第２のセグメント化は、第１の画像と第２の画像（例えば、ＲＧＢ画像）に対して実行されることができる。いくつかの実施形態では、第２のセグメント化は、例えば最大フロー最小カットアルゴリズムを使用して実行されることができる。しかしながら、当業者は、セグメント化が任意の数のプロセスによって実行され得ることを理解する。第２のセグメント化は、第１のオブジェクト画像、第１の背景画像、第２のオブジェクト画像、および第２の背景画像をもたらし得る。
【００４８】
図３のブロック３２５に示すように、上述したセグメント化ステップの出力を使用して、コンピューティングデバイス１０によって具現化された装置２０。次に、第１の背景層と第２の背景層とをステッチまたはステッチするように構成することができる。したがって、コンピューティングデバイスによって具現化される装置は、プロセッサ２２、通信インタフェース２６などのような手段を含み得る。第１の背景層と第２の背景層とをステッチする、またはステッチするためのものである。
【００４９】
第１の背景層と第２の背景層とを一緒にステッチする際に、存在する穴の一部が埋められる。図３のブロック３３０に示されるように、コンピューティングデバイス１０によって具現化される装置２０は、したがって、穴埋めプロセスの実行を引き起こすように構成され得る。したがって、コンピューティングデバイスによって具現化される装置は、穴埋めプロセスの実行を引き起こすための、プロセッサ２２、通信インタフェース２６などのような手段を含み得る。例えば、ワープ効果のために、ステッチ後に穴を埋める必要があるかもしれない穴の部分がまだあり得る。いくつかの実施形態では、装置は、黒領域（すなわち塗りつぶしが必要な領域）内の画素についての新しい値として近くの有効画素の値を平均するためのプロセスを実装するように構成され得る。
【００５０】
上述したように、現実性を実証するために、ビューが第１の位置から第２の位置へ変化するにつれて、前景のオブジェクトは一般に、背景のオブジェクトとは異なる速度で動くことが要求される。図３のブロック３３５に示されるように、コンピューティングデバイス１０によって具現化される装置２０は、したがって、オブジェクト層とは異なる速度でステッチされた背景層をシフトさせるように構成され得る。したがって、コンピューティングデバイスによって具現化される装置は、プロセッサ２２、通信インタフェース２６などのような手段を含み得る。オブジェクト層とは異なる速度でステッチされた背景層を移動させるため。
【００５１】
いくつかの実施形態では、オブジェクト層がシフトされる速度は、例えば、距離が近いほど速い場合がある。特定の速度パラメータは、画像キャプチャデバイスまたはレンズの距離、およびいくつかの実施形態ではさらに、ユーザの移動速度に依存し得る。
【００５２】
図３のブロック３４０に示されるように、コンピューティングデバイス１０によって具現化される装置２０は、したがって、以下のように構成されてもよい。背景層のシフトよりも高速で行われるオブジェクト層のシフトを示す一連の画像を生成する。したがって、コンピューティングデバイスによって具現化される装置は、一連の画像を生成するための、プロセッサ２２、通信インタフェース２６などのような手段を含み得る。一連の画像は、第１の位置からのビューを表す第１の画像と、第２の位置からのビューを表す第２の画像とを含む。一連の画像は、背景層のシフトよりも速い速度で行われるオブジェクト層のシフトを示す。いくつかの実施形態では、第１の画像は背景層で補間された第１のオブジェクト画像を含み、第２の画像は背景層で補間された第２のオブジェクト画像を含む。
【００５３】
上述のように、図４は、本願発明の実施形態にしたがって実行される、例示的な移動端末を動作させる例示的な方法を示すフローチャートである。具体的には、図４は、第１のセグメント化を実行するための例示的な方法を示す。上述のように、第２のセグメント化に先立って、第１のセグメント化が実行されてもよい。図４のブロック４０５に示すように、コンピューティングデバイス１０によって具現化される装置２０は、したがって、それぞれの深度画像のセグメント化を実行するために所定の閾値を設定するように構成され得る。したがって、コンピューティングデバイスによって具現化される装置は、プロセッサ２２、通信インタフェース２６などのような手段を含み得る。（例えば、レンズまたは画像キャプチャデバイスからの深さまたは距離に対応する）所定の閾値を設定して、各深さ画像の大まかなセグメント化を取得する。
【００５４】
続いて、図４のブロック４１０に示すように、コンピュータ装置１０によって具現化された装置２０は、たとえば、１つの画像の最大面積（たとえば、第１の深度画像または深度第２の画像）を１つのオブジェクト層として識別するように（たとえば、第１の深度画像内の人を識別するように）構成することができる。したがって、コンピューティングデバイスによって具現化される装置は、１つの画像の最大面積を１つのオブジェクト層として識別するための、プロセッサ２２、通信インタフェース２６などの手段を含み得る。
【００５５】
図４のブロック４１５に示すように、計算装置１０によって具現化された装置２０は、したがって、深度画像セグメント化からの形状マスクを利用して画像の逆を決定するように構成されてもよい。したがって、コンピューティングデバイスによって具現化される装置は、画像の反転を決定するために、深度画像セグメント化から形状マスクを利用するためプロセッサ２２、通信インタフェース２６などのような手段を含み得る。図４のブロック４２０に示されるように、計算装置１０によって具現化される装置２０は、したがって、その逆から背景マスクを生成するように構成されることができる。したがって、コンピューティングデバイスによって具現化される装置は、反転を背景マスクにするための、プロセッサ２２、通信インタフェース２６などの手段を含むことができる。
【００５６】
本明細書に記載されている本願発明の多くの修正および他の実施形態は、これらの発明が関係し、前述の説明および関連する図面に提示された教示の恩恵を受ける当業者には思い浮かぶ。したがって、本願発明は開示された特定の実施形態に限定されるものではなく、修正および他の実施形態は添付の特許請求の範囲内に含まれることが意図されていることを理解されたい。さらに、前述の説明および関連する図面は、要素および／または機能の特定の例示的な組み合わせの文脈で例示的な実施形態を説明しているが、添付の特許請求の範囲から逸脱することなく、要素および／または機能の異なる組み合わせが代替の実施形態によって提供され得ることを理解されたい。これに関して、例えば、添付の特許請求の範囲のいくつかに記載されているように、要素および／または機能の上記とは明示的に記載されたものとは異なる組み合わせも考えられる。本明細書では特定の用語が使用されているが、それらは一般的かつ説明的な意味でのみ使用されており、限定の目的では使用されていない。
【図１】
2019534599.tif 000003
【図２】
2019534599.tif 000004
【図３】
2019534599.tif 000005
【図４】
2019534599.tif 000006
【図５】
2019534599.tif 000007
【図６Ａ】
2019534599.tif 000008
【図６Ｂ】
2019534599.tif 000009
【手続補正書】
【提出日】平成31年4月18日(2019.4.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも、第１の位置からキャプチャされたオブジェクトを含む第１の画像を受信するステップと、
第２の位置からキャプチャされたオブジェクトを含む第２の画像を受信するステップであって、該第１の位置は該第２の位置とは異なるものである、ステップと、
少なくとも、前記第１の画像に対応する第１の深度画像を受信するステップと、
前記第２の画像に対応する第２の深度画像を受信するステップと、
予め定義された閾値に基づいて、前記第１の深度画像および前記第２の深度画像に対して、実行される第１のセグメント化をさせるステップであって、該第１のセグメント化は、第１のオブジェクト・マスクと第２のオブジェクト・マスクとを含む一組の画像をもたらす、ステップと、
前記第１の深度画像および前記第２の深度画像に対して、前記第１のオブジェクト・マスクおよび制約としての第２のオブジェクト・マスクに基づいて実行される第２のセグメント化をさせるステップであって、該第２のセグメント化は、第１のオブジェクト画像、第２のオブジェクト画像、第１の背景層、および、第２の背景層を含む一組の画像をもたらす、ステップと、
背景層を形成するために前記第１の背景層と前記第２の背景層とをステッチさせるステップと、
前記第１の位置からのビューを表す第１の画像および前記第２の位置からのビューを表す第２の画像を含む、一連の画像を生成するステップであって、前記背景層のシフトよりも速い速度で行われるオブジェクト層のシフトを示すステップと、
を含む方法。
【請求項２】
前記第１の画像は、前記背景層で補間された前記第１のオブジェクト画像を含み、前記第２の画像は、前記背景層で補間された前記第２のオブジェクト画像を含む、請求項１に記載の方法。
【請求項３】
前記第２のセグメント化は、最大フロー最小カットアルゴリズムにしたがって実行される、請求項１に記載の方法。
【請求項４】
前記第１の背景層と前記第２の背景層とのステッチから生じる第１の穴埋めするステップと、
近傍の有効画素に関連する値を平均するためのプロセスをインプリメントすること、および、埋めるのに必要な近傍領域におけるピクセルに対する新しい値として該平均を設定することを含む第２の穴埋めするステップと
をさらに含む請求項１に記載の方法。
【請求項５】
前記第１のセグメント化は、さらに、前記第１の画像および前記第２の画像から前記第１の深度画像および前記第２の深度画像を生成するステップを含む、請求項１に記載の方法。
【請求項６】
距離に対応する前記予め定義された閾値を設定するステップと、
前記第１の深度画像および前記第２の深度画像のセグメント化から、人物の形状マスクを利用してオブジェクト層を識別し、前記画像の反転を決定し、該反転を前記背景層にするステップと、
をさらに含む請求項１に記載の方法。
【請求項７】
層の前記シフトでの異なる速度は、前記オブジェクト層と前記背景層との間の距離に間接的に比例する、請求項１に記載の方法。
【請求項８】
少なくとも、第１の位置からキャプチャされたオブジェクトを含む第１の画像を受信する手段と、
第２の位置からキャプチャされたオブジェクトを含む第２の画像を受信する手段であって、該第１の位置は該第２の位置とは異なるものである、手段と、
少なくとも、前記第１の画像に対応する第１の深度画像を受信する手段と、
前記第２の画像に対応する第２の深度画像を受信する手段と、
前記第１の深度画像および前記第２の深度画像に対して実行され、予め定義された閾値に基づいて、第１のオブジェクト・マスクと第２のオブジェクト・マスクとを含む一組の画像をもたらす、第１のセグメント化をさせる手段と、
前記第１のオブジェクト・マスクおよび制約としての第２のオブジェクト・マスクに基づいて前記第１の画像と前記第２の画像に対して実行され、第１のオブジェクト画像、第２のオブジェクト画像、第１の背景層、および、第２の背景層を含む一組のセグメントをもたらす、第２のセグメント化をさせる手段と、
背景層を形成するために前記第１の背景層と前記第２の背景層とをステッチさせる手段と、
前記第１の位置からのビューを表す第１の画像と、前記第２の位置からのビューを表す第２の画像とを含み、
前記背景層のシフトよりも速い速度で行われるオブジェクト層のシフトを示す一連の画像を生成する手段と、
を備える装置。
【請求項９】
前記第１の画像は、前記背景層で補間された前記第１のオブジェクト画像を含み、前記第２の画像は、前記背景層で補間された前記第２のオブジェクト画像を含む、請求項８に記載の装置。
【請求項１０】
前記第２のセグメント化は、最大フロー最小カットアルゴリズムにしたがって実行される、請求項８に記載の装置。
【請求項１１】
前記装置は、前記第１の背景層と前記第２の背景層との前記ステッチから生じる第１の穴埋めステップを実行させる手段と、
近傍の有効画素に関連する値を平均するためのプロセスを実行するステップ、および、埋めるのに必要な近傍領域におけるピクセルに対する新しい値として該平均を設定するステップを含む第２の穴埋めステップを実行する手段と
を更に備える、請求項８に記載の装置。
【請求項１２】
前記第１のセグメント化をさせる手段は、前記第１の画像および前記第２の画像から前記第１の深度画像および前記第２の深度画像を生成する手段を備える、請求項８に記載の装置。
【請求項１３】
前記装置は、コンピュータプログラムコードを含む少なくとも１つのメモリを備え、
前記少なくとも１つのメモリおよび前記コンピュータプログラムコードは、前記装置に、プロセッサを用いて、
距離に対応する前記予め定義された閾値を設定させ、
前記第１の深度画像および前記第２の深度画像のセグメント化から、人物の形状マスクを利用してオブジェクト層を識別し、前記画像の反転を決定し、
該反転を前記背景層にさせるように構成される、
請求項８に記載の装置。
【請求項１４】
層の前記シフトでの異なる速度は、前記オブジェクト層と前記背景層との間の距離に間接的に比例する、請求項８に記載の装置。
【請求項１５】
実行されると、装置に、請求項１から７のいずれかに記載の方法を実行させるコンピュータ実行可能プログラムコード命令を備えるコンピュータプログラム。
【国際調査報告】
2019534599.tif 000010
2019534599.tif 000011
2019534599.tif 000012
2019534599.tif 000013