(57)【特許請求の範囲】
【請求項１】
深度およびカラーのカメラ画像同期のための方法であって、
第1の画像タイプと前記第1の画像タイプとは異なる第2の画像タイプとを含む複数の入力画像を取得するステップであって、
画像タイプが深度カメラ画像タイプまたはカラーカメラ画像タイプのいずれかであり、
各画像タイプが他のタイプの画像に対して非同期であり、
前記第1の画像タイプと前記第2の画像タイプとの前記複数の入力画像の各々が入力画像の実際の作成時刻の識別情報を有していない、ステップと、
前記第1の画像タイプの入力画像からターゲット画像を選択するステップと、
前記第2の画像タイプの入力画像から比較画像を選択するステップと、
前記比較画像が前記ターゲット画像との同期に適合するかどうかを判定するステップと、
前記比較画像が前記ターゲット画像との同期に適合するという判定に応答して、同期画像ペアとして前記ターゲット画像および前記比較画像を特定するステップと、
拡張現実出力において使用するために、前記第1の画像タイプの前記ターゲット画像と前記第2の画像タイプの前記比較画像とを含む前記同期画像ペアをともに処理するステップと
を含む、方法。
【請求項２】
前記ターゲット画像がカラーカメラ画像タイプであり、前記比較画像が深度カメラ画像タイプであり、前記比較画像が前記ターゲット画像との同期に適合するかどうかを判定するステップが、
前記カラーカメラ画像タイプの前記複数の入力画像からの3次元(3D)座標を追跡するステップであって、前記3D座標が深度値を含む、ステップと、
前記比較画像内で、前記ターゲット画像内の追跡された前記座標に幾何学的に等価な点を有する各点に関する深度値を判定するステップと、
前記比較画像内の前記深度値を、前記ターゲット画像内の深度値と比較するステップと、
前記ターゲット画像と前記比較画像との間の深度値マッチング部の数に従って適合性スコアを判定するステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記比較画像が前記ターゲット画像との同期に適合するかどうかを判定するステップが、
前記ターゲット画像および前記比較画像上でエッジ検出を実行するステップと、
前記ターゲット画像と前記比較画像との間の同じエッジマッチング部の数に従って適合性スコアを判定するステップと
をさらに含む、請求項1に記載の方法。
【請求項４】
前記複数の入力画像の各々に関する受信時刻を判定するステップと、
前記複数の入力画像からの画像のサブセットを含む比較待ち行列を作成するステップであって、前記比較待ち行列内の画像の前記サブセットが、前記ターゲット画像の受信からしきい値時間内に受信した前記第2の画像タイプの画像を含み、前記比較画像が前記比較待ち行列から選択される、ステップと
をさらに含む、請求項1に記載の方法。
【請求項５】
前記比較待ち行列が、前記ターゲット画像の受信の前および後に受信された前記第2の画像タイプのしきい値画像数を含む、請求項4に記載の方法。
【請求項６】
前記比較画像の受信時刻と、前記ターゲット画像の受信時刻との間のタイミングオフセットを決定するステップと、
次の同期ペアを判定するために前記タイミングオフセットを参照するステップと
をさらに含む、請求項1に記載の方法。
【請求項７】
経過した時間量または処理された画像数の一方または両方を追跡するステップと、
経過したしきい値時間量または処理されたしきい値画像数の一方または両方が満たされたと判定するステップと、
次のターゲット画像と次の比較画像との間の適合性を判定するステップと、
前記拡張現実出力において使用するために次の同期画像ペアをともに割り当てるステップと
をさらに含む、請求項6に記載の方法。
【請求項８】
前記ターゲット画像または前記比較画像の一方または両方から抽出されたパラメータに従って前記ターゲット画像または前記比較画像の一方または両方を変換するステップ
をさらに含む、請求項1に記載の方法。
【請求項９】
深度およびカラーのカメラ画像同期のためのデバイスであって、
メモリと、
前記メモリに結合されたプロセッサであって、
前記メモリから、第1の画像タイプと前記第1の画像タイプとは異なる第2の画像タイプとを含む複数の入力画像を取得することであって、
画像タイプが深度カメラ画像タイプまたはカラーカメラ画像タイプのいずれかであり、
各画像タイプが他のタイプの画像に対して非同期であり、
前記第1の画像タイプと前記第2の画像タイプとの前記複数の入力画像の各々が入力画像の実際の作成時刻の識別情報を有していない、ことと、
前記第1の画像タイプの入力画像からターゲット画像を選択することと、
前記第2の画像タイプの入力画像から比較画像を選択することと、
前記比較画像が前記ターゲット画像との同期に適合するかどうかを判定することと、
前記比較画像が前記ターゲット画像との同期に適合するという判定に応答して、同期画像ペアとして前記ターゲット画像および前記比較画像を特定することと、
拡張現実出力において使用するために、前記第1の画像タイプの前記ターゲット画像と前記第2の画像タイプの前記比較画像とを含む前記同期画像ペアをともに処理することと
を行うように構成されたプロセッサと
を含む、デバイス。
【請求項１０】
前記ターゲット画像がカラーカメラ画像タイプであり、前記比較画像が深度カメラ画像タイプであり、前記比較画像が前記ターゲット画像との同期に適合するかどうかを判定するために、前記プロセッサが、
前記ターゲット画像の前記複数の入力画像からの3次元(3D)座標を追跡することであって、前記3D座標が深度値を含む、ことと、
前記比較画像内で、前記ターゲット画像内の追跡された前記座標に幾何学的に等価な点を有する各点に関する深度値を判定することと、
前記比較画像内の前記深度値を、前記ターゲット画像内の深度値と比較することと、
前記ターゲット画像と前記比較画像との間の深度値マッチング部の数に従って適合性スコアを判定することと
を行うようにさらに構成される、請求項9に記載のデバイス。
【請求項１１】
前記比較画像が前記ターゲット画像との同期に適合するかどうかを判定するために、前記プロセッサが、
前記ターゲット画像および前記比較画像上でエッジ検出を実行することと、
前記ターゲット画像と前記比較画像との間の同じエッジマッチング部の数に従って適合性スコアを判定することと
を行うようにさらに構成される、請求項9に記載のデバイス。
【請求項１２】
前記プロセッサが、
前記複数の入力画像の各々に関する受信時刻を判定することと、
前記複数の入力画像からの画像のサブセットを含む比較待ち行列を作成することであって、前記比較待ち行列内の画像の前記サブセットが、前記ターゲット画像の受信からしきい値時間内に受信した前記第2の画像タイプの画像を含み、前記比較画像が前記比較待ち行列から選択される、ことと
を行うようにさらに構成される、請求項9に記載のデバイス。
【請求項１３】
前記比較待ち行列が、前記ターゲット画像の受信の前および後に受信された前記第2の画像タイプのしきい値画像数を含む、請求項12に記載のデバイス。
【請求項１４】
前記プロセッサが、
前記比較画像の受信時刻と、前記ターゲット画像の受信時刻との間のタイミングオフセットを決定することと、
次の同期ペアを判定するために前記タイミングオフセットを参照することと
を行うようにさらに構成される、請求項9に記載のデバイス。
【請求項１５】
前記プロセッサが、
経過した時間量または処理された画像数の一方または両方を追跡することと、
経過したしきい値時間量または処理されたしきい値画像数の一方または両方が満たされたと判定することと、
次のターゲット画像と次の比較画像との間の適合性を判定することと、
前記拡張現実出力において使用するために次の同期画像ペアをともに割り当てることと
を行うようにさらに構成される、請求項14に記載のデバイス。
【請求項１６】
前記プロセッサが、
前記ターゲット画像または前記比較画像の一方または両方から抽出されたパラメータに従って前記ターゲット画像または前記比較画像の一方または両方を変換すること
を行うようにさらに構成される、請求項9に記載のデバイス。
【請求項１７】
第1の画像タイプと前記第1の画像タイプとは異なる第2の画像タイプとを含む複数の入力画像を取得することであって、
画像タイプが深度カメラ画像タイプまたはカラーカメラ画像タイプのいずれかであり、
各画像タイプが他のタイプの画像に対して非同期であり、
前記第1の画像タイプと前記第2の画像タイプとの前記複数の入力画像の各々が入力画像の実際の作成時刻の識別情報を有していない、ことと、
前記第1の画像タイプの入力画像からターゲット画像を選択することと、
前記第2の画像タイプの入力画像から比較画像を選択することと、
前記比較画像が前記ターゲット画像との同期に適合するかどうかを判定することと、
前記比較画像が前記ターゲット画像との同期に適合するという判定に応答して、同期画像ペアとして前記ターゲット画像および前記比較画像を特定することと、
拡張現実出力において使用するために、前記第1の画像タイプの前記ターゲット画像と前記第2の画像タイプの前記比較画像とを含む前記同期画像ペアをともに処理することと
を行うためにプロセッサによって実行可能なプログラム命令を記憶した機械可読非一時的記憶媒体。
【請求項１８】
前記ターゲット画像がカラーカメラ画像タイプであり、前記比較画像が深度カメラ画像タイプであり、前記比較画像が前記ターゲット画像との同期に適合するかどうかを判定するために、前記プログラム命令が、
前記ターゲット画像の前記複数の入力画像からの3次元(3D)座標を追跡することであって、前記3D座標が深度値を含む、ことと、
前記比較画像内で、前記ターゲット画像内の追跡された前記座標に幾何学的に等価な点を有する各点に関する深度値を判定することと、
前記比較画像内の前記深度値を、前記ターゲット画像内の深度値と比較することと、
前記ターゲット画像と前記比較画像との間の深度値マッチング部の数に従って適合性スコアを判定することと
を行うために前記プロセッサによってさらに実行可能である、請求項17に記載の媒体。
【請求項１９】
前記比較画像が前記ターゲット画像との同期に適合するかどうかを判定するために、前記プログラム命令が、
前記ターゲット画像および前記比較画像上でエッジ検出を実行することと、
前記ターゲット画像と前記比較画像との間の同じエッジマッチング部の数に従って適合性スコアを判定することと
を行うために前記プロセッサによってさらに実行可能である、請求項17に記載の媒体。
【請求項２０】
前記プログラム命令が、
前記複数の入力画像の各々に関する受信時刻を判定することと、
前記複数の入力画像からの画像のサブセットを含む比較待ち行列を作成することであって、前記比較待ち行列内の画像の前記サブセットが、前記ターゲット画像の受信からしきい値時間内に受信した前記第2の画像タイプの画像を含み、前記比較画像が前記比較待ち行列から選択される、ことと
を行うために前記プロセッサによってさらに実行可能である、請求項17に記載の媒体。
【請求項２１】
前記比較待ち行列が、前記ターゲット画像の受信の前および後に受信された前記第2の画像タイプのしきい値画像数を含む、請求項20に記載の媒体。
【請求項２２】
前記プログラム命令が、
前記比較画像の受信時刻と、前記ターゲット画像の受信時刻との間のタイミングオフセットを決定することと、
次の同期ペアを判定するために前記タイミングオフセットを参照することと、
経過した時間量または処理された画像数の一方または両方を追跡することと、
経過したしきい値時間量または処理されたしきい値画像数の一方または両方が満たされたと判定することと、
次のターゲット画像と次の比較画像との間の適合性を判定することと、
前記拡張現実出力において使用するために次の同期画像ペアをともに割り当てることと
を行うために前記プロセッサによってさらに実行可能である、請求項17に記載の媒体。
【請求項２３】
前記プログラム命令が、
前記ターゲット画像または前記比較画像の一方または両方から抽出されたパラメータに従って前記ターゲット画像または前記比較画像の一方または両方を変換すること
を行うために前記プロセッサによってさらに実行可能である、請求項17に記載の媒体。
【請求項２４】
深度およびカラーのカメラ画像を同期させるための装置であって、
第1の画像タイプと前記第1の画像タイプとは異なる第2の画像タイプとを含む複数の入力画像を取得するための手段であって、
画像タイプが深度カメラ画像タイプまたはカラーカメラ画像タイプのいずれかであり、
各画像タイプが他のタイプの画像に対して非同期で受信され、
前記第1の画像タイプと前記第2の画像タイプとの前記複数の入力画像の各々が入力画像の実際の作成時刻の識別情報なしに受信される、手段と、
前記第1の画像タイプの入力画像からターゲット画像を選択するための手段と、
前記第2の画像タイプの入力画像から比較画像を選択するための手段と、
前記比較画像が前記ターゲット画像との同期に適合するかどうかを判定するための手段と、
前記比較画像が前記ターゲット画像との同期に適合するという判定に応答して、同期画像ペアとして前記ターゲット画像および前記比較画像を特定するための手段と、
拡張現実出力において使用するために、前記第1の画像タイプの前記ターゲット画像と前記第2の画像タイプの前記比較画像とを含む前記同期画像ペアをともに処理するための手段と
を含む、装置。
【請求項２５】
前記ターゲット画像がカラーカメラ画像タイプであり、前記比較画像が深度カメラ画像タイプであり、
前記ターゲット画像の前記複数の入力画像からの3次元(3D)座標を追跡するための手段であって、前記3D座標が深度値を含む、手段と、
前記比較画像内で、前記ターゲット画像内の追跡された前記座標に幾何学的に等価な点を有する各点に関する深度値を判定するための手段と、
前記比較画像内の前記深度値を、前記ターゲット画像内の深度値と比較するための手段と、
前記ターゲット画像と前記比較画像との間の深度値マッチング部の数に従って適合性スコアを判定するための手段と
をさらに含む、請求項24に記載の装置。
【請求項２６】
前記ターゲット画像および前記比較画像上でエッジ検出を実行するための手段と、
前記ターゲット画像と前記比較画像との間の同じエッジマッチング部の数に従って適合性スコアを判定するための手段と
をさらに含む、請求項25に記載の装置。
【請求項２７】
前記複数の入力画像の各々に関する受信時刻を判定するための手段と、
前記複数の入力画像からの画像のサブセットを含む比較待ち行列を作成するための手段であって、前記比較待ち行列内の画像の前記サブセットが、前記ターゲット画像の受信からしきい値時間内に受信した前記第2の画像タイプの画像を含み、前記比較画像が前記比較待ち行列から選択される、手段と
をさらに含む、請求項25に記載の装置。
【請求項２８】
前記比較待ち行列が、前記ターゲット画像の受信の前および後に受信された前記第2の画像タイプのしきい値画像数を含む、請求項27に記載の装置。
【請求項２９】
前記比較画像の受信時刻と、前記ターゲット画像の受信時刻との間のタイミングオフセットを決定するための手段と、
次の同期ペアを判定するために前記タイミングオフセットを参照するための手段と、
経過した時間量または処理された画像数の一方または両方を追跡するための手段と、
経過したしきい値時間量または処理されたしきい値画像数の一方または両方が満たされたと判定するための手段と、
次のターゲット画像と次の比較画像との間の適合性を判定するための手段と、
前記拡張現実出力において使用するために次の同期画像ペアをともに割り当てるための手段と
をさらに含む、請求項25に記載の装置。
【請求項３０】
前記ターゲット画像または前記比較画像の一方または両方から抽出されたパラメータに従って前記ターゲット画像または前記比較画像の一方または両方を変換するための手段
をさらに含む、請求項25に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照により本明細書に組み込まれる、2014年12月12日に出願された「METHOD AND APPARATUS FOR IMAGE PROCESSING IN AUGMENTED REALITY SYSTEMS」という名称の米国特許出願第14/569,549号からの優先権の利益を主張する。
【０００２】
本明細書で開示する主題は、一般に、拡張現実システムに適用され得る画像処理技法に関する。
【背景技術】
【０００３】
拡張現実(AR)システムは、しばしば、適合性および性能を確保するためにテストされる、特別に選択されたハードウェア構成要素および/またはソフトウェア構成要素とともに実装される。たとえば、ARシステムは、画像フレームの出力ペア(たとえば、等価の視点において撮られた1つのカラー(color)および1つの深度(depth))を同時に提供するために設計されたプロプライエタリなカラーカメラセンサおよび深度センサを有し得る。AR機能は、一般的なモバイルデバイス、またはスマートフォンなどの多機能モバイルデバイスにおける特徴として含まれる場合もある。しかしながら、これらのモバイルデバイスは、一般に、カラーカメラセンサと深度センサとからの出力画像フレームを同期させることができず、その理由は、現在のモバイルデバイスの動作環境が、時刻同期または異なるデバイスカメラからの正確な作成時刻識別子を有したタイムスタンプをサポートしないからである。現在のモバイルデバイスカメラからの出力は、一般に、作成時刻を示す任意の信頼できるタイムスタンプを見失っている。
【０００４】
システム内に非同期カメラを有するため、最良の組合せでない場合がある画像ペアを処理することによりAR出力の精度を損なう可能性がある。カメラは、カメラセンサが特定の画像をキャプチャしたときをシステムが判定することができないとき、同期していない場合がある。たとえば、モバイルデバイス内のシステムは、作成時刻からの様々な遅延量を有するカメラ出力を取得し得る。たとえば、時刻T1において作成されたセンサ画像フレームは、これらのフレームが後の時刻T2において受信されるまで、モバイルデバイスのAR構成要素による処理には利用できない場合がある。カラーセンサおよび深度センサは各々、画像フレームの作成と出力との間の異なる時間遅延を有し、出力の頻度は、各センサで異なる場合もある。したがって、カラー画像および深度画像を処理するための新規の改善された技法が望まれる。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書で開示する実施形態は、深度およびカラーのカメラ同期のための方法に関し得る。本方法は、第1の画像タイプと第1の画像タイプとは異なる第2の画像タイプとを含む複数の入力画像を取得するステップであって、画像タイプが深度カメラ画像タイプまたはカラーカメラ画像タイプのいずれかであり、各画像タイプが他のタイプの画像に対して非同期であり、複数の入力画像の各々が入力画像の実際の作成時刻の識別情報を有していない、ステップと、第1の画像タイプの入力画像からターゲット画像を選択するステップとを含み得る。本方法は、第2の画像タイプの入力画像から比較画像を選択するステップと、比較画像がターゲット画像との同期に適合するかどうかを判定するステップとを含む場合もある。本方法は、比較画像がターゲット画像との同期に適合するという判定に応答して、同期画像ペアとしてターゲット画像および比較画像を特定するステップをさらに含む場合もある。本方法は、拡張現実出力において使用するために同期画像ペアをともに処理するステップをさらに含む場合がある。
【０００６】
本明細書で開示する実施形態は、第1の画像タイプと第1の画像タイプとは異なる第2の画像タイプとを含む複数の入力画像を取得するためのプロセッサによって実行可能なプログラム命令を記憶した機械可読非一時的記憶媒体に関する場合もある。画像タイプは深度カメラ画像タイプまたはカラーカメラ画像タイプのいずれかである場合があり、各画像タイプは他のタイプの画像に対して非同期である場合がある。複数の入力画像の各々は、入力画像の実際の作成時刻の識別情報を有していない場合がある。この機械可読非一時的記憶媒体は、第1の画像タイプの入力画像からターゲット画像を選択し、第2の画像タイプの入力画像から比較画像を選択するためのプロセッサによって実行可能な命令を有する場合もある。この機械可読非一時的記憶媒体は、比較画像がターゲット画像との同期に適合するかどうかを判定するためのプロセッサによって実行可能な命令を有する場合もある。実施形態は、比較画像がターゲット画像との同期に適合するという判定に応答して、同期画像ペアとしてターゲット画像および比較画像を特定し、拡張現実出力において使用するために同期画像ペアをともに処理する場合がある。
【０００７】
本明細書で開示する実施形態は、メモリと、メモリに結合され、メモリから、第1の画像タイプと第1の画像タイプとは異なる第2の画像タイプとを含む複数の入力画像を取得するように構成されたプロセッサとを含む、深度およびカラーのカメラ画像同期のためのデバイスにさらに関する場合がある。画像タイプは深度カメラ画像タイプまたはカラーカメラ画像タイプのいずれかである場合があり、各画像タイプは他のタイプの画像に対して非同期である場合がある。複数の入力画像の各々は、入力画像の実際の作成時刻の識別情報を有していない場合がある。本デバイスは、第1の画像タイプの入力画像からターゲット画像を選択し、第2の画像タイプの入力画像から比較画像を選択するようにさらに構成される場合がある。本デバイスは、比較画像がターゲット画像との同期に適合するかどうかを判定し、比較画像がターゲット画像との同期に適合するという判定に応答して、同期画像ペアとしてターゲット画像および比較画像を特定するようにさらに構成される場合がある。本デバイスは、拡張現実出力において使用するために同期画像ペアをともに処理するように構成される場合もある。
【０００８】
本明細書で開示する実施形態は、深度およびカラーのカメラ同期を実行するための手段を有する装置にさらに関し得る。本装置は、第1の画像タイプと第1の画像タイプとは異なる第2の画像タイプとを含む複数の入力画像を取得するための手段であって、画像タイプが深度カメラ画像タイプまたはカラーカメラ画像タイプのいずれかであり、各画像タイプが他のタイプの画像に対して非同期であり、複数の入力画像の各々が入力画像の実際の作成時刻の識別情報を有していない、手段を含み得る。本装置は、第1の画像タイプの入力画像からターゲット画像を選択するための手段を含む場合もある。本装置は、第2の画像タイプの入力画像から比較画像を選択し、比較画像がターゲット画像との同期に適合するかどうかを判定するための手段を含む場合もある。本装置は、比較画像がターゲット画像との同期に適合するという判定に応答して、同期画像ペアとしてターゲット画像および比較画像を特定するための手段をさらに含む場合もある。本装置は、拡張現実出力において使用するために同期画像ペアをともに処理するための手段をさらに含む場合がある。
【０００９】
他の特徴および利点は、添付の図面および詳細な説明から、明らかになるであろう。
【図面の簡単な説明】
【００１０】
【図１Ａ】一実施形態における、深度およびカラーの出力同期(DCOS:Depth and Color Output Synchronization)の態様が実施され得るシステムのブロック図である。
【図１Ｂ】一実施形態における、DCOSを実行するための方法の流れ図である。
【図２】一実施形態における、固定レートカラーカメラストリームおよび固定レート深度画像ストリームの受信タイミングを示す図である。
【図３】一実施形態における、変動するカラー画像フレームを伴った、一定の深度マップフレームの受信タイミングを示す図である。
【図４】一実施形態における、カラー画像ストリームと深度画像ストリームとの間のタイミングおよびマッチングを示す図である。
【図５】一実施形態における、固定グリッド選択による、カラー画像ストリームと深度画像ストリームとの間のタイミングおよびマッチングを示す図である。
【図６】別の実施形態における、固定グリッド選択による、カラー画像ストリームと深度画像ストリームとの間のタイミングおよびマッチングを示す図である。
【図７】例示的な一実施形態における、深度による選択を示す図である。
【図８】別の実施形態における、DCOSを実行するための方法の流れ図である。
【発明を実施するための形態】
【００１１】
拡張現実(AR)システムは、ユーザにディスプレイ上の仮想オブジェクト表示を提供するために複数カメラ入力を活用し得る。デバイスメーカーは、新規のARシステムを作製するための意外な方法でハードウェアとソフトウェアをミックスし得る。たとえば、いくつかのシステムは、モジュール式であり、相手先商標製品製造業者でも予測することができない構成で使用される場合がある。残念ながら、一般的なデバイスのオペレーティングシステムは、システムのすべての構成要素が共通のAR出力目標に向かってともに機能することを厳密に守るためのタイミングおよび同期内で装備されない場合がある。たとえば、一般的なシステムは、実装され得る様々なカメラセンサの組合せを同期させることができない場合がある。より詳細には、AR出力を提供するために使用される深度カメラ画像およびカラーカメラ画像は、一般的なARデバイスハードウェアおよびソフトウェア実装形態において元々同期されないか、またはタイムスタンプされない場合がある。
【００１２】
一実施形態では、深度およびカラーの出力同期(DCOS)は、カラーカメラセンサデータと深度カメラセンサデータ(たとえば、それぞれのカメラからの画像フレーム)を同期させる。DCOSは、異なるタイプのセンサからの比較画像に対するマッチングのために、あるタイプのセンサからターゲット画像を選択することができる。DCOSは、それぞれのセンサから画像を受信するためのモジュールまたはエンジンとして実装され得る。DCOSは、受信時刻を追跡し、その受信時刻に従ってカラーセンサ画像と深度センサ画像との比較を開始する場合がある。たとえば、時刻T1において受信されたRGB画像が、時刻T1の前および後に受信された深度センサ画像と比較される場合がある。受信時刻が作成時刻と異なる場合があるが、受信時刻は、比較のための最初の開始点として役に立つ可能性がある。
【００１３】
一実施形態では、DCOSは、本明細書で説明するエッジ検出技法によって、ターゲット画像を比較画像とマッチングする。いくつかの実施形態では、DCOSは、同時位置決め地図作成(SLAM)または他の追跡システムを使用して、ターゲット画像を比較画像とマッチングする。一実施形態では、DCOSは、同期をテストする(たとえば、エッジ検出を実行する)前に、時間量または画像数に関してカラーカメラと深度カメラとの間の固定された同期時間差を設定する。たとえば、DCOSは、2つのマッチングセンサの間のフレームオフセット(すなわち、タイミングオフセット)を決定するために各センサに関する1秒当りの固定フレーム数を仮定することができる。フレームオフセットは、プロセッサ稼働率またはフレームオフセットからのドリフトの検出に応じて(たとえば、再実行選択マッチングによって)更新される場合がある。
【００１４】
一実施形態では、画像のペアを同期させることに応答して、この実施形態は、随意に、他の(マッチング)画像とのマッチングを精密化するためにペア内の画像の一方を変換する。この変換は、画像のペア間のいかなる残りの差も低減し、さらにマッチング精度を増加させる。いくつかの実施形態では、この変換は、デバイスのハードウェア構成、またはデバイス上のプロセッサの現在のサイクル稼働率に応じて初期化される。
【００１５】
図1Aは、一実施形態における、DCOSの態様が実施され得るシステムのブロック図である。このシステムは、汎用プロセッサ161など、DCOS170、およびメモリ164を含み得るデバイス100であってもよい。いくつかの実施形態では、DCOS170は、セレクタモジュール171、精密化モジュール173、マネージャモジュール174、SLAMモジュール175、および深度プロセッサモジュール176をさらに含む場合がある。デバイス100は、少なくともセレクタモジュール171、精密化モジュール173、マネージャモジュール174、SLAMモジュール175、および深度プロセッサモジュール176にさらに結合される1つまたは複数のバス177または信号線に結合されたいくつかのデバイスセンサも含み得る。DCOS170(および含まれるモジュール171〜176)は、明確にするためにプロセッサ161および/またはハードウェア162とは別に示されているが、これらは、ソフトウェア165およびファームウェア163の中の命令に基づいて、プロセッサ161および/またはハードウェア162の中で結合および/または実装され得る。制御ユニット160は、本明細書で説明するようにDCOSを実行する方法を実装するように構成することができる。たとえば、デバイス100および制御ユニット160は、図8において説明する機能を実施するように構成することができる。
【００１６】
デバイス100は、モバイルデバイス、ワイヤレスデバイス、セル電話、拡張現実感デバイス(AR:Augmented Reality)、パーソナルデジタルアシスタント、着用可能デバイス(たとえば眼鏡、腕時計、帽子または同様の身体装着デバイス)、モバイルコンピュータ、タブレット、パーソナルコンピュータ、ラップトップコンピュータ、データ処理デバイス/システム、または処理能力を有する任意のタイプのデバイスであってもよい。
【００１７】
デバイス100は、3D画像を含むカラー画像をレンダリングすることが可能なスクリーンまたはディスプレイ112を含み得る。いくつかの実施形態では、ディスプレイ112は、カメラ114によってキャプチャされたライブ画像、拡張現実(AR)画像、グラフィカルユーザインターフェース(GUI)、プログラム出力等を表示するために使用され得る。いくつかの実施形態では、ディスプレイ112は、ユーザが仮想キーボード、アイコン、メニューもしくは他のグラフィカルユーザインターフェース(GUI)、ユーザのジェスチャー、および/または入力デバイス、たとえば筆および他の筆記用具の何らかの組合せを介してデータを入力できるように、タッチスクリーンを含み、かつ/またはタッチスクリーンとともに格納され得る。いくつかの実施形態では、ディスプレイ112は、液晶画面(LCD)ディスプレイまたは発光ダイオード(LED)ディスプレイ、たとえば有機LED(OLED)ディスプレイを使用して実装され得る。他の実施形態では、ディスプレイ112は、デバイス100内の他の機能ユニットに動作可能に結合され得るが、それとは別個に収容される、ウェアラブルディスプレイであり得る。いくつかの実施形態では、デバイス100は、デバイス100に結合された別個のモニターによる3D再構成画像の表示を可能にするためのポートを含み得る。
【００１８】
ユーザインターフェース150は、キーボード、キーパッド152、またはユーザが情報をデバイス100中に入力することができる他の入力デバイスを含む場合もある。必要に応じて、タッチスクリーン/センサを有するディスプレイ112内に仮想キーパッドを統合することにより、キーボードまたはキーパッド152を除去し得る。たとえば、デバイス100がセルラー電話などのモバイルプラットフォームである場合、ユーザインターフェース150は、マイクロフォン154およびスピーカ156を含む場合もある。デバイス100は、衛星位置システム受信機、電力デバイス(たとえば電池)などの本開示には無関係の他の要素、ならびに典型的には携帯型電子デバイスおよび非携帯型電子デバイスに結合された他の構成要素を含み得る。
【００１９】
デバイス100は、モバイル/ポータブルプラットフォームまたはワイヤレスデバイスとして機能する場合があり、任意の適切なワイヤレス通信技術に基づく、またはさもなければ任意の適切なワイヤレス通信技術をサポートする1つまたは複数のワイヤレス通信リンクを介して、ワイヤレスネットワークにより通信してもよい。たとえば、いくつかの態様では、デバイス100は、クライアントまたはサーバである場合があり、ワイヤレスネットワークに関連し得る。いくつかの態様では、ネットワークは、ボディエリアネットワークまたはパーソナルエリアネットワーク(たとえば超広帯域ネットワーク)を含み得る。いくつかの態様では、ネットワークは、ローカルエリアネットワークまたはワイドエリアネットワークを含み得る。ワイヤレスデバイスは、様々なワイヤレス通信技術、プロトコル、またはたとえば3G、LTE、Advanced LTE、4G、CDMA、TDMA、OFDM、OFDMA、WiMAXおよびWi-Fiなどの規格のうちの1つまたは複数をサポートするか、またはさもなければ使用する場合がある。同様に、ワイヤレスデバイスは、様々な対応する変調スキームまたは多重化スキームのうちの1つまたは複数をサポートするか、またはさもなければ使用する場合がある。モバイルワイヤレスデバイスは、他のモバイルデバイス、セルフォン、他のワイヤードコンピュータおよびワイヤレスコンピュータ、インターネットウェブサイト、等々とワイヤレスに通信する場合がある。
【００２０】
上述のように、デバイス100は、ポータブル電子デバイス(たとえば、スマートフォン、専用の拡張現実(AR)デバイス、ゲームデバイス、またはAR処理および表示機能を備える他のデバイス)とすることができる。本明細書で説明するARシステムを実装するデバイスは、様々な環境(たとえば、ショッピングモール、道路、事務所、家庭、またはユーザがこれらのポータブルデバイスを持ち運ぶ任意の場所)において使用され得る。ユーザは、多種多様な状況においてデバイス100の複数の特徴とインターフェースすることができる。ARコンテキストでは、ユーザは、実世界の表示された表現を見るために、自分のデバイスを使用し得る。ユーザは、自分のデバイスのカメラを使用して実世界画像/ビデオを受信し、かつ、デバイス上に表示された実世界画像/ビデオの上に追加情報または代替情報を重ねる方法で画像を処理することにより、自分のAR可能デバイスと対話し得る。ユーザは、自分のデバイス上でAR実装形態を見る際に、実世界のオブジェクトまたはシーンをデバイスディスプレイ上で、リアルタイムに置き換えるか、または変更し得る。仮想オブジェクト(たとえばテキスト、画像、ビデオ)は、デバイスディスプレイ上に描写されたシーンの表現の中に挿入され得る。
【００２１】
いくつかの実施形態では、デバイス100は、電荷結合デバイス(CCD)センサもしくは補型金属酸化膜半導体(CMOS)センサなどの画像センサ、および/または、以下「カラーカメラ114」と呼ばれるカメラ114を含み得る。カラーカメラ114は、光画像を電子画像またはデジタル画像に変換する場合があり、キャプチャされた画像をプロセッサ161に送る場合がある。
【００２２】
一般に、カラーカメラ114は、カラーまたはグレースケールのカメラであってもよく、これは「カラー情報」を提供する一方、「深度情報」は深度センサ(たとえば、深度センサ115)によって提供され得る。本明細書で使用する「カラー情報」という用語は、カラー情報、グレースケール情報、モノクローム情報など、またはそれらの何らかの組合せを指す。一般に、本明細書で使用するカラー画像またはカラー情報は、1〜N個のチャネルを含むものと見なされてもよく、このNは、画像を記憶するために使用されている色空間に依存する何らかの整数である。たとえば、RGB画像は、3つのチャネルを含む場合があり、赤情報、青情報、および緑情報に各々1つのチャネルがある。
【００２３】
深度情報は、深度センサ(たとえば、深度センサ115)を使用して様々な方法でキャプチャされ得る。「深度センサ」という用語は、カラーカメラ114から独立して深度情報を取得するために使用され得る機能ユニットを指すために使用される。たとえば、深度センサ115は、物理的にカメラ114と同じ概略位置に取り付けられる場合があるが、深度センサ115は、カメラ114とは異なる周波数またはフレームレートで動作する場合がある。いくつかの実施形態では、深度センサ115とカメラ114は、同時にまたはほぼ同時にトリガまたは初期化されるが、異なるシーンをキャプチャし得る。たとえば、視点が(たとえば、あるセンサが別のセンサの左または右に)シフトされる場合があり、各カメラの焦点距離が異なる場合があるので、得られた画像は、深度対カラーコンテンツそのものとはかなり異なる場合がある。
【００２４】
さらなる例として、深度センサ115は、デバイス100に結合された光源の形をとり得る。一実施形態では、光源は、光の1つまたは複数の狭帯域からなり得る構造化またはテクスチャ加工された光のパターンを、シーンにおけるオブジェクトに投影し得る。次いでオブジェクトの表面の形状によって引き起こされた投影されたパターンの幾何学的歪曲を活用することによって、深度情報が取得され得る。一実施形態では、深度情報は、赤外線構造化光プロジェクタとRGBカメラに登録された赤外線カメラとの組合せなどのステレオセンサから取得され得る。
【００２５】
いくつかの実施形態では、デバイス100は、様々なセンサを組み込むこともある、二重前面カメラおよび/または前面/後面カメラなどの複数のカメラを含み得る。いくつかの実施形態では、カメラは、静止画像とビデオ画像の両方をキャプチャ可能であってもよい。いくつかの実施形態では、カメラは、非限定的な例として、30フレーム/秒(fps)で画像をキャプチャすることが可能なRGBDまたは立体視ビデオカメラであり得る。一実施形態では、カメラによってキャプチャされた画像は、生の未圧縮フォーマットで存在する場合があり、(さらに)処理され、かつ/またはメモリ164内に記憶される前に圧縮されるか、またはさもなければ何らかの形で処理される場合がある。いくつかの実施形態では、画像圧縮は、可逆的な圧縮技法または不可逆的な圧縮技法を使用して、プロセッサ161によって実行され得る。
【００２６】
いくつかの実施形態では、プロセッサ161は、センサ111から入力を受信する場合もある。センサ111は、ほんの数例を挙げると、1つまたは複数の加速度計、1つまたは複数のジャイロスコープ、1つまたは複数の磁力計などを含み得る。いくつかの事例では、加速度計は3D加速度計を含む場合があり、および/または、ジャイロスコープは3Dジャイロスコープを含む場合がある。センサ111は、速度、方位、および/または他の位置関連情報をプロセッサ161に提供し得る。いくつかの実施形態では、センサ111は、カメラ114および深度センサ115による各画像フレームのキャプチャと関連する測定情報を出力し得る。いくつかの実施形態では、センサ111の出力は、カメラ114および深度センサ115および/またはデバイス100の姿勢を判定するために、プロセッサ161によって部分的に使用され得る。
【００２７】
カメラ114の姿勢は、座標系に対するカメラ114の位置および方位を指す。いくつかの実施形態では、3つの並進成分(座標系のX、Y、Z座標によって与えられ得る)と3つの角度成分(たとえば、同じ座標系に対するロール、ピッチ、およびヨー)とを指す6自由度(6DOF)に関して、カメラ姿勢が判定され得る。
【００２８】
いくつかの実施形態では、カメラ114および/またはデバイス100の姿勢は、カメラ114によってキャプチャされた画像に基づいて、視覚追跡ソリューションを使用して、プロセッサ161によって判定および/または追跡され得る。たとえば、プロセッサ161上で動作しているSLAMモジュール175は、コンピュータビジョンベースの追跡、モデルベースの追跡、および/またはSLAM方法を実装および実行し得る。SLAMは、デバイス100によってモデル化されている環境のマップなどの環境のマップが作成される一方でそのマップに対するカメラの姿勢を同時に追跡する技法の一種を指す。いくつかの実施形態では、SLAMモジュール175によって実施される方法は、カメラ114によってキャプチャされたカラーまたはグレースケールの画像データに基づく場合があり、カメラの6DOF姿勢測定の推定値を生成するために使用される場合がある。いくつかの実施形態では、センサ111の出力は、推定された姿勢を推定、訂正、および/または他の方法で調整するために使用され得る。さらに、いくつかの実施形態では、カメラ114および深度センサ115によってキャプチャされた画像は、センサ111用にバイアス調整を再較正または実行するために使用され得る。
【００２９】
一実施形態では、DCOSは、入力画像のペアリングを容易にするための選択モジュールまたは選択エンジン(たとえば、セレクタモジュール171)を含む。たとえば、セレクタモジュール171は、どのカラー画像および深度画像がマッチングモジュール172によって処理されるべきかを判定することができる。セレクタモジュール171のさらなる詳細について、以下でより詳細に説明する。
【００３０】
一実施形態では、DCOSは、マッチングモジュールまたはマッチングエンジン(たとえば、マッチングモジュール172)を含む。マッチングモジュール172は、以下でより詳細に説明するように、入力画像のペア(たとえば、1つのカラー画像に対する1つの深度画像)間でエッジベースのマッチングおよび/または深度ベースのマッチングを実行し得る。
【００３１】
一実施形態では、DCOSは、精密化モジュールまたは精密化エンジン(たとえば、精密化モジュール173)を含む。精密化モジュール173は、マッチング誤差をさらに最小化し、画像ペア間の適合性を増加させるために同期画像ペア(たとえば、深度画像またはカラー画像)内の画像を変換する場合がある。たとえば、精密化モジュール173は、深度画像を、同期ペア内のそれぞれのカラー画像と同じ位置において撮られたかのように見える出力に変換する場合がある。精密化モジュール173のさらなる詳細について、以下で説明する。
【００３２】
一実施形態では、DCOSは、マネージャモジュールまたはマネージャエンジン(たとえば、マネージャモジュール174)を含む。マネージャモジュール174は、DCOSのための適合可能な作業負荷機能を実装する。たとえば、マネージャモジュール174は、デバイス100のプロセッサおよびメモリ負荷を判定し、セレクタモジュール171にメッセージを送り、選択ストラテジを調整する場合がある。マネージャモジュール174の適合可能な作業負荷機能のさらなる詳細について、以下で説明する。
【００３３】
一実施形態では、DCOSは、深度プロセッサモジュールまたは深度プロセッサエンジン(たとえば、深度プロセッサモジュール176)を含む。深度プロセッサモジュール176は、受信した各深度カメラ画像内の個々の点の深度を計算し得る。
【００３４】
一実施形態では、DCOSは、SLAMマップの追跡およびマッピングを含む、6DOF SLAM(たとえば、SLAMモジュール175)を実行することができる。一実施形態では、6DOF SLAM(たとえば、6DOF追跡)は、キーフレームから観測された特徴(たとえば、カラーカメラ114からの入力画像)をSLAMマップに結合することができる。6DOF SLAM(たとえば、6DOF追跡)は、この特徴点結合を使用して、それぞれのカメラ画像に関連するカメラ位置および方位(すなわち、姿勢)を判定することができる。6DOFマッピングは、SLAMマップを更新/維持することもできる。上記で説明したように、6DOF SLAMによって維持されるSLAMマップは、2つ以上のキーフレームから三角測量された3D特徴点を含み得る。たとえば、キーフレームは、観測されたシーンを表現するために、画像またはビデオストリームまたはフィードから選択され得る。DCOSは、キーフレームごとに、画像に結合されたそれぞれの6DOFカメラ姿勢を計算することができる。DCOSは、3Dマップからの特徴を画像フレームまたはビデオフレーム中に投影し、かつ、確証された2D-3D符合からのカメラ姿勢を更新することによってカメラ姿勢を判定することができる。
【００３５】
一実施形態では、DCOSは、キーフレーム画像から特徴を抽出する。本明細書において使用される特徴(たとえば、特徴点または注目点)は、画像の注目部分または顕著な部分である。キャプチャされた画像から抽出される特徴は、三次元空間(たとえば軸X、Y、およびZの座標)に沿った異なる点を表す場合があり、すべての特徴点は、関連する特徴位置を有する場合がある。キーフレーム内の特徴は、すでにキャプチャされたキーフレームの特徴とマッチングしているか、またはマッチングに失敗しているかのいずれかである(すなわち、すでにキャプチャされたキーフレームの特徴と同じか、または対応している)。特徴検出は、すべてのピクセルを調べて、特定のピクセルに特徴が存在しているかどうかを判定するための画像処理動作であってもよい。特徴検出は、キャプチャされた画像全体、または代替的にキャプチャされた画像の特定の部分または一部を処理し得る。
【００３６】
キャプチャされた画像またはビデオフレームごとに特徴が検出されると、その特徴の周囲の局所画像パッチを抽出することができる。特徴を局所化し、それらの記述を生成する、Scale Invariant Feature Transform(SIFT)などのよく知られている技法を使用して、特徴が抽出され得る。必要に応じて、Speed Up Robust Features(SURF)、Gradient Location-Orientation histogram(GLOH)、Normalized Cross Correlation(NCC)または他の匹敵し得る技法などの他の技法が使用され得る。
【００３７】
図1Bは、一実施形態における、DCOSを実行するための方法の流れ図を示す。ブロック181では、この実施形態(たとえば、DCOS)は、第1および第2の画像タイプを有する、複数の非同期入力画像および未確認の入力画像を受信する。たとえば、第1のタイプはカラーカメラタイプである場合があり、第2の画像タイプは深度カメラタイプである場合がある。
【００３８】
ブロック182では、この実施形態は、第1の画像タイプの入力画像からターゲット画像を選択し、第2の画像タイプの画像から比較画像を選択する。
【００３９】
ブロック184では、この実施形態は、ターゲット画像と比較画像を同期させる。一実施形態では、DCOSは、ブロック185においてターゲット画像特徴点と比較画像特徴点とをマッチングすることによって、またはブロック187において3D座標を追跡し深度値を比較することによってターゲット画像と比較画像とを同期させ得る。
【００４０】
ブロック185では、この実施形態は、ターゲット画像および比較画像上でエッジ検出を実行する。ターゲット画像特徴点と比較画像特徴点をマッチングするためのエッジ検出は、様々な実装形態において機能することができるフレキシブルな同期技法である。一実施形態では、DCOSは、ターゲット画像と比較画像の両方によって共有される共通のエッジ(たとえば、または他の画像特徴点)を検出する。一実施形態では、DCOSは、エッジ検出ではなく、経時的に2つ以上のカラー画像を使用して深度マップを作成し、その深度マップを深度センサからの深度マップとマッチングする。
【００４１】
一実施形態では、DCOSは、エッジ検出を実行する前に、ブロック181からの複数の入力画像の各々に関する受信時刻を最初に判定することによって比較待ち行列を設定する。DCOSは、複数の入力画像からの画像のサブセットを含む比較待ち行列を作成することができ、比較待ち行列内の画像のサブセットは、ターゲット画像の受信からしきい値時間内に受信した第2の画像タイプの画像を含み、比較画像は比較待ち行列から選択される。言い換えれば、DCOSは各画像の作成の正確な時刻が未知なので、またターゲット画像が役に立ち得る前および後の様々な時刻に受信した画像との同期ペア比較を見出すために、比較すべき画像の範囲を設定する。たとえば、カラーカメラからのターゲット画像は、時刻C1において作成され得るが、DCOSによる処理のために時刻A1に到着する場合がある。C1がA1の前または後の時刻であるかどうかが最初は未知であるので、前および後に到着する画像は、マッチングのためにテストされ、したがって、比較待ち行列に入れられる場合がある。いくつかの実施形態では、比較待ち行列は、ターゲット画像の受信の前および後に受信された第2の画像タイプのしきい値画像数(a threshold number of images)によって定義される。たとえば、しきい値は、1であり得る(ターゲット画像が受信される前に受信された比較画像と、ターゲット画像が受信された後に続く比較画像が、ターゲット画像とのマッチングのためにテストされることを意味する)。
【００４２】
ブロック187では、この実施形態は、座標を追跡し、深度値を比較する。たとえば、DCOSは、ブロック185において特徴点をマッチングする代わりに、SLAMを実行し得る。いくつかの実施形態では、SLAMは、カラー画像を有する3D参照マップを追跡するとき、ブロック185において特徴点をマッチングする代わりに使用され得る。一実施形態では、DCOSは、カラーカメラ画像タイプの複数の入力画像からの3次元(3D)座標を追跡するが、3D座標は深度値を含む。DCOSは、比較画像内で、ターゲット画像内の追跡された座標と幾何学的に等価な点を有する各点に関する深度値を判定する。たとえば、DCOSは、3D座標を比較深度画像に投影することができる。DCOSは、比較深度画像内の深度値を、ターゲット画像内の(追跡された)深度値と比較することができる。いくつかの実施形態では、DCOSは、ターゲット画像と比較画像との間の深度値マッチング部(depth value matches)の数に応じて適合性スコアを判定する。
【００４３】
ブロック189では、この実施形態は、しきい値時刻または画像カウント単位で次の同期テストを遅延させる。たとえば、ブロック184におけるターゲット画像と比較画像との同期に応答して、2つの画像間のフレームオフセットが決定され得る。たとえば、フレームオフセットは、ターゲット画像をフレームオフセット値単位で(たとえば、1フレーム前に、2フレーム後に、など)オフセットされた比較画像と同期させることをARシステムに知らせる特性であり得る。一実施形態では、フレームオフセットは、比較画像の受信時刻と、ターゲット画像の受信時刻との間のタイミングオフセットである。DCOSは、次の同期ペアを判定するためにタイミングオフセット(たとえば、フレームオフセット)を参照することができる。
【００４４】
フレームオフセットは、エッジ検出を頻繁に実行するか、または同期フレームオフセットを再確立するように3D座標を追跡する代わりにDCOSが経時的に同期を維持することを支援することができる。たとえば、いくつかの実施形態では、カラーカメラおよび深度カメラは、他方の画像タイプの前または後に1つまたは2つの画像フレーム単位で最初に「同期外れ」である場合がある。フレームオフセットに応じてカラーセンサ出力と深度センサ出力とを同期させることに応答して、同期は、2つの画像センサフィードが「同期外れ」でないことを検証するために時々の同期テストによって一定に維持し得る。
【００４５】
ブロック191では、この実施形態は、ターゲット画像または比較画像の一方または両方から抽出されたパラメータに応じてターゲット画像または比較画像の一方または両方を変換する。たとえば、DCOSは、カラーフレームと深度フレームとの間の直接変換を計算し、次いで、画像の同期ペア間のより十分な重複を実現するために推定された変換によって深度フレームを変換するように機能する。いくつかの実施形態では、DCOSは、変換を実行するために追加されたコストが、ホストデバイスのハードウェアプロファイルのために、または現在のプロセッサ待ち行列の(たとえば、デバイスが過負荷であるか、またはビジーである)ためにスキップされるべきであると判定する。
【００４６】
図2は、一実施形態における、固定レートカラーカメラストリームおよび固定レート深度画像ストリームの受信タイミングを示す。図2に示すように、カラー画像は、固定時間期間C1〜C8(205)において受信される。たとえば、カラーカメラが明るい環境または採光の良い環境の画像をキャプチャする場合、カラー画像カメラは、ほぼ同時に各画像をキャプチャし処理することができる。追加の光をキャプチャするための(たとえば、シャッターまたはローリングシャッターを介した)より長い/多様な露出時間が、必要でなく、キャプチャ時間をフレームごとに変化させないので、画像キャプチャ時間は一定である場合がある。図示のように、DCOSは、220においてカラー画像のキャプチャを初期化することができ、カラー画像キャプチャは、225においてDCOSによって受信される場合がある。
【００４７】
いくつかの実施形態では、深度センサは、それ自体のIR光源を組み込み、各フレームにおいて一貫した/一定の露出時間を有することができる。各個々の深度センサ画像のキャプチャ時刻は、深度画像D1〜D8(210)の一定の間隔と一定の深度キャプチャ受信時刻230とによって示すように同じまたはほぼ同じであり得る。
【００４８】
いくつかの実施形態では、カラー画像完了時刻は未知であり、たとえば、画像が作成されたときを判定するための信頼できる方法は存在しない。したがって、DCOSは、各カラー画像の完了時刻の代わりに受信時刻を判定し得る。したがって、カメラセンサからの送信遅延および他の遅延のために、受信時刻は、画像キャプチャの時刻を示さない場合がある。画像キャプチャの時刻が未知である場合があるので、DCOSは、以下でより詳細に説明するように、入って来る画像を同期させるための様々な方法を使用する。
【００４９】
図3は、一実施形態における、変動するカラー画像フレームを伴った、一定の深度マップフレームの受信タイミングを示す。図3に示すように、カラーカメラ114による未知で可変の処理時間330は、320における画像キャプチャの初期化に続く場合がある。したがって、カラーキャプチャC2は、ある後の時刻325において受信される場合がある。たとえば、カメラ画像は、明暗の光源のミックスを記録する場合があり、その結果、露出時間がフレームごとに変化する。したがって、非同期拡張現実システムは、それぞれのカラー画像が実際にキャプチャされたときに直接関係することなく、時々カラー画像を受信する場合がある。
【００５０】
図4は、一実施形態における、カラー画像ストリームと深度画像ストリームとの間のタイミングおよびマッチングを示す。図4に示すように、カラー画像405は、深度画像410からの前または後の受信深度画像と一貫してマッチングされるとは限らない。たとえば、カラー画像C5とカラー画像C6は、どちらも深度画像D6に最も良くマッチングされる(それぞれ、ペア425および430)が、カラー画像C4は後の受信深度画像D5に最も良くマッチングされ、カラー画像C7は前の受信深度画像D7に最も良くマッチングされる。
【００５１】
図5は、一実施形態における、固定グリッド選択による、カラー画像(505)ストリームと深度画像(510)ストリームとの間のタイミングおよびマッチングを示す。一実施形態では、DCOSは、1つまたは複数の考えられる同期ペアを比較することに応答して最良の利用可能なマッチングオフセット(たとえば、前の受信フレーム、後の受信フレーム、または何らかの他の位置もしくは指定された時間のオフセット)を決定することができる。一実施形態では、DCOSは、いくつかのフレームに関する最適なペア選択を実行し、次いで、得られたオフセットが一定であると判定することに応答して、所定の時間期間またはフレームカウントのオフセットを設定する。たとえば、図5に示すように、DCOSは、(前の図4で説明した分析によって)C2とD2が最も良く適合するマッチング部であると判定し、これらを同期ペアに分類することができる。次に、DCOSは、最良のマッチング部ならびにC3とD3のペアおよびC4とD4を判定し続けることができる。次に、DCOSは、隣接する前の受信深度フレームを使用するパターンが将来の同期ペアに関して最も良くマッチングするカラーフレームである可能性があることを判定し、カラー画像と深度画像との間の後続のマッチング比較をバイパスすることができる。したがって、図5に示すように、ペアは最良のマッチング520に従って決定される場合があり、ある時間経過後、または所定のセット数の画像フレームの経過後、DCOSは、フレームオフセット525を固定することができる。フレームオフセットを固定することに応答して、後続の同期ペアが、所定の固定オフセットに従って作成される。たとえば、図5に関して、固定オフセットは、カラー画像フレームを(受信時刻における)前の隣接する深度画像とペアリングするために設定される。
【００５２】
図6は、別の実施形態における、固定グリッド選択による、カラー画像ストリームと深度画像ストリームとの間のタイミングおよびマッチングを示す。図6に示すように、カラー画像605は、深度画像610との固定オフセットを維持する。たとえば、深度画像は、(受信時刻において)深度画像の後の2つの場所に到着するカラー画像と同期される。他の実施形態では、後続の深度画像(たとえば、次の画像、受信時刻または他のオフセットよりも進んだ2つの画像)は、図示された2つの画像先行マッチング部の代わりに最良のマッチング部になる場合がある。図示された2つの場所先行マッチング部は、カラー画像ストリームと深度画像ストリームとの間の考えられる同期マッチング部の一例にすぎない。
【００５３】
一実施形態では、DCOSは、ペアリングオフセットが割り当てられてから、経過した時間または処理された画像の数を追跡する。DCOSは、時間または画像のしきい値量が経過したと判定することに応答して、次のターゲット画像と次の比較画像との間の適合性を判定することができる。DCOSは、たとえば、オフセットからドリフトが生じたかどうかを判定することなく経過した10分に応答して、先行する画像マッチングオフセットが依然として最良の考えられるマッチング部であるかどうかを判定するために1つまたは複数の同期ペアをチェックすることができる。最良のマッチング部が依然としてこのマッチングオフセットによって与えられる場合、次の時間しきい値が延長される場合がある。たとえば、DCOSは、マッチングオフセットが正しいと判定し、次に開始されるマッチングまで2分間、1つのカウンタを設定することができる。いくつかの実施形態では、DCOSは、すべての将来のマッチング部を単純に無効にし、現在のマッチングオフセットを無期限に維持することができる。
【００５４】
いくつかの実施形態では、このオフセットは、特定のモバイルデバイスの最初のハードウェア構成およびセンサ構成の結果である。たとえば、モバイルデバイスAは、センサBおよびCとペアリングされ得る。DCOSは、モバイルデバイスA上のセンサBとCを同期させるためのオフセットを決定することができる。オフセットが様々な環境のもとで維持される場合、さらなるマッチングが起こる必要がない。したがって、この構成および含まれるオフセットは、センサBおよびCを含むモバイルデバイスAを有するクライアントのリモートサーバ上で利用可能である場合がある。
【００５５】
図7は、一実施形態における、深度による選択を示す。一実施形態では、DCOSは、モバイルデバイス(たとえば、デバイス100)上の局所SLAMシステムとインターフェースするか、またはその局所SLAMシステムと一体化される。DCOSは、受信したカラー画像内のランドマークまたは特徴点を追跡するためにSLAM(または他の追跡システム)を活用することができる。SLAMシステム内の追跡された特徴点またはランドマークは、既知の2D座標および関連の深度(たとえば、3D座標)を有する場合がある。深度は、特定の視点において、空間のある点から、カメラセンサ平面上に投影された点までの距離と見なされる場合もある。したがって、DCOSは、カラーカメラセンサによってキャプチャされた各カラー画像内の各点またはピクセルに関する、深度またはカメラ距離を判定することができる。この深度は、2D座標平面内の(たとえば、深度画像内のx-y座標における)同じまたは同様の位置における点またはピクセルに関する、深度カメラによって記録された深度と比較される場合がある。一実施形態では、画像同期/ペアリング方法に加えて、またはそれから独立して、DCOSは、カラー画像内の特徴点またはランドマークの深度を深度画像内の同じ位置における深度と比較する。DCOSは、同期されたペアを、深度値の最小量の差でカラー画像と深度画像のペアに割り当てることができる。
【００５６】
図7の例示的な実施形態に示すように、点「A」750および点「B」755を有するカラー画像705は、1つまたは複数の点を1つまたは複数の深度画像(たとえば、第1の深度画像710および第2の深度画像715)に投影する場合がある。点「A」750および点「B」は各々、カラー画像705内の異なる一意のx-y座標を有する。点「A」750および点「B」755のx-y座標は、第1の深度画像710および第2の深度画像715内の等価な点(たとえば、同じまたは同様のx-y座標における点)を見出すために使用される場合がある。DCOSは、これらの等価なx-y座標点の深度を比較し、どの深度画像が深度において最も近いマッチング部であるかを判定する場合がある。たとえば、点「A」750は、5フィートの深度を有する場合があり、第1の深度画像710の点「A」760は、4.9フィートの深度を有する第2の深度画像715からの点「A」770に対して4.8フィートの深度を有し得る。4.9フィートの深度画像深度値は、(たとえば、SLAMによって与えられた3D座標値を介して決定された)5フィートのカラー画像深度により近い。したがって、DCOSは、他の深度画像と比較して最も近いマッチング点である選択された/特定の点に関する深度値の類似性に応じて最も適合するマッチング部として第2の深度画像715を選択し得る。DCOSは、1つまたは複数の他の点をテストする場合もある。たとえば、DCOSは、点「B」755の深度を1つまたは複数の深度画像内の深度と(たとえば、第1および第2の深度画像からのそれぞれ点「B」765と点「B」775とを)テスト/比較する場合がある。DCOSは、ペアリング/マッチングに適合する深度画像を選択する前に深度値の全体、平均、類似性を判定するためにカラーおよび深度の画像ペア内の任意の数の点をテストし得る。いくつかの実施形態では、DCOSは、第1の点の比較深度をテストする場合があり、その深度点値比較が決定的でない(たとえば、複数の深度画像がカラー画像深度値と同様の値を有する)場合、DCOSは、最良のマッチング部が決定されるまで追加の点をテストし続けることができる。
【００５７】
図8は、別の実施形態における、DCOSを実行するための方法の流れ図を示す。ブロック805では、一実施形態(たとえば、DCOS)は第1の画像タイプと、第1の画像タイプとは異なる第2の画像タイプとを含む複数の入力画像を取得する。画像タイプは、深度カメラ画像タイプまたはカラーカメラ画像タイプのいずれかである場合がある。たとえば、深度カメラは深度画像を作り出す場合があるが、カラーカメラはカラー(またはグレースケール)画像を作り出す。各画像タイプが、他のタイプの画像には非同期で取得されるか、または受信される場合があり、複数の入力画像の各々が、入力画像の実際の作成時刻の識別情報なしに取得されるか、または受信される場合がある。たとえば、第1の画像の作成は、時刻T1に起こる場合があり、拡張現実システム中に処理するための画像の実際の受信は、後の時刻T2に起こる場合がある。
【００５８】
ブロック810では、この実施形態は、第1の画像タイプの入力画像からターゲット画像を選択する。たとえば、ターゲット画像は、深度画像またはカラー画像であり得る。
【００５９】
ブロック815では、この実施形態は、第2の画像タイプの入力画像から比較画像を選択する。第2の画像タイプは、ターゲット画像に関連する第1の画像タイプとは異なる画像タイプであり得る。たとえば、ターゲット画像がカラー画像である場合、DCOSは、ターゲット(たとえば、カラー)画像に対する比較または分析のために1つまたは複数の深度画像を選択することができる。
【００６０】
ブロック820では、この実施形態は、比較画像がターゲット画像との同期に適合するかどうかを判定する。一実施形態では、適合性を判定することは、ターゲット画像と比較画像の両方の中に存在する幾何学的エッジを検出することを含む。エッジ検出は、2つの異なるカメラタイプによってキャプチャされた2つのシーンの間の類似性を判定する一例であるが、他のタイプのマッチング検出も可能であり、本明細書で説明する実施形態の範囲内である。他の実施形態では、DCOSは、深度値を含む3D座標が各カラー画像に関して既知となるように、入力カラー画像の3D追跡を実行する。したがって、DCOSは、カラー画像の3D追跡(たとえば、SLAM追跡)から取得された深度値を、比較深度画像内の同様の点から計算された深度値と比較することができる。
【００６１】
ブロック825では、この実施形態は、比較画像がターゲット画像との同期に適合するという判定に応答して、同期画像ペアとしてターゲット画像および比較画像を特定する。たとえば、ターゲット画像と比較画像を同期させることは、2つの画像をリンクさせること、または共通のIDもしくはタグを両方の画像に関連付けることを含み得る。
【００６２】
一実施形態では、DCOSは、同期画像ペアを形成することに応答して、このペアの任意のマッチング誤差をさらに最小化するために、この同期ペアを精密化する。一実施形態では、DCOSは、ターゲット画像および比較画像の一方または両方から抽出されたパラメータに応じてターゲット画像または比較画像の一方または両方を変換することによって同期画像ペア間のマッチング部を精密化する。カラー画像Cおよび深度画像Dが与えられれば、変換θは、考えられるマッチング誤差を最小化する。たとえば、以下の式1において詳述する。
【００６３】
【数１】
0006276475.tif 000002
【００６４】
式1に関して、Xiは深度マップからの幾何学的エッジ内の輪郭点であり、xiはカラー画像内のEiへの対応する輪郭点であり、θは6DOF運動パラメータである。
【００６５】
ブロック830では、この実施形態は、拡張現実出力において使用するために同期画像ペアをともに処理する。たとえば、処理は、深度画像から抽出された深度情報を組み込みながら、ディスプレイ上にカラー画像を表示することを含み得る。
【００６６】
上記で説明したように、デバイス100は、携帯型電子デバイス(たとえばスマートフォン、専用拡張現実感(AR)デバイス、ゲームデバイス、眼鏡などの着用可能デバイス、またはAR処理能力および表示能力を有する他のデバイス)であってもよい。本明細書において説明されているARシステムを実施するデバイスは、ショッピングモール、道路、部屋、またはユーザが携帯型デバイスを持っていく場合があるあらゆる場所などの様々な環境で使用され得る。ARコンテキストでは、ユーザは、自分のデバイスのディスプレイを介して実世界の表現を見るために、デバイス100を使用し得る。ユーザは、自分のデバイスのカメラを使用して実世界画像/ビデオを受信し、かつ、デバイス上に表示された実世界画像/ビデオの上に追加情報または代替情報を重ねるか、または重畳させることにより、自分のAR対応デバイスと対話し得る。ユーザは、自分のデバイス上でAR実施を見る際に、実世界オブジェクトまたはシーンをデバイスディスプレイ上で、リアルタイムで置き換えるか、あるいは変更し得る。仮想オブジェクト(たとえばテキスト、画像、ビデオ)は、デバイスディスプレイ上に描写された場面の表現の中に挿入され得る。
【００６７】
一実施形態では、DCOSは、SLAMマップにおけるターゲット(たとえば、1つまたは複数のオブジェクトまたはシーン)の更新されたリアルタイム拡張を表示するために、デバイス100の運動、カラーカメラ114からの入力、および深度センサ115からの入力を処理する。デバイスが初期基準画像位置から離れて移動すると、デバイスは、代替ビューから追加画像を捕獲することができる。特徴を抽出し、追加のキーフレームから三角測量した後、向上した拡張精度を達成することができる(たとえば、オブジェクトの周囲の境界がより正確に適合する場合があり、シーン内のオブジェクトの表現がより写実的に出現し、ターゲットの配置をカメラ114の姿勢に対してより正確にすることができる)。
【００６８】
一実施形態では、DCOSは、カメラ114によってキャプチャされ、かつ、ディスプレイ112上に表示されたビデオストリームまたは画像中にオブジェクトまたは図形を挿入するか、または統合する。DCOSは、随意に、ターゲットを拡張するための追加情報をユーザに促す場合がある。たとえば、ユーザは、ターゲットの表現を拡張するためにユーザコンテンツを追加することができ得る。ユーザコンテンツは、画像、3Dオブジェクト、ビデオ、テキスト、またはターゲットの表現と統合し、重畳し、あるいは置き換えることができる他のコンテンツタイプであってもよい。
【００６９】
ディスプレイは、リアルタイムで、継目のない追跡で元のシーンから更新する場合がある。たとえば、サイン上のテキストは、代替テキストと置き換えられる場合があり、または3Dオブジェクトは、戦略的にシーンの中に置いてデバイス100上に表示され得る。ユーザがカメラ114の位置および方位を変更すると、カメラ114の相対移動とマッチングさせるために図形またはオブジェクトを調整または拡張することができる。たとえば、仮想オブジェクトが拡張現実ディスプレイ中に挿入される場合、仮想オブジェクトから離れるカメラ移動は、カメラ114が移動した距離に対して仮想オブジェクトのサイズを低減することができる。たとえば、仮想オブジェクトから4歩ステップバックすると、仮想オブジェクトから半歩ステップバックした場合と比較して仮想オブジェクトのサイズがより大きく低減することになり、他のすべての変数についても同様である。運動図形または動画は、DCOSによって表現されたシーン内で動画にすることができる。たとえば、動画化されたオブジェクトは、ARディスプレイ中に描写されたシーン内で「動かす」ことができる。本明細書で説明する実施形態を、AR(たとえば、ロボット位置決め)以外の方法で実装することができることを当業者は認識されよう。
【００７０】
DCOSは、ソフトウェア、ファームウェア、ハードウェア、モジュール、またはエンジンとして実装され得る。一実施形態では、上記DCOSの説明は、上記所望の機能(たとえば、少なくとも図1Bおよび図8に示す方法)を達成するためにデバイス100内の汎用プロセッサ161によって実施される。一実施形態では、DCOSは、追加の下位構成要素を含み得るエンジンまたはモジュールとして実装され得る。他の実施形態では、説明された下位構成要素のうちの1つまたは複数の特徴を組み合わせ、あるいは分割して、異なる個々の構成要素、モジュール、またはエンジンにする場合がある。
【００７１】
本明細書の教示は、様々な装置(たとえば、デバイス)内に組み込まれる場合がある(たとえば、その中に実装され、またはそれによって実行される場合がある)。一実施形態では、DCOSは、画像またはビデオを入力として受信するためにプロセッサによって実行されるエンジンまたはモジュールである。本明細書で教示された1つまたは複数の態様は、電話(たとえば、携帯電話)、携帯情報端末(「PDA」)、タブレット、モバイルコンピュータ、ラップトップコンピュータ、タブレット、エンターテインメントデバイス(たとえば、音楽デバイスもしくはビデオデバイス)、ヘッドセット(たとえば、ヘッドフォン、イヤピースなど)、ユーザI/Oデバイス、コンピュータ、サーバ、POSデバイス、エンターテインメントデバイス、セットトップボックス、または任意の他の適切なデバイスに組み込まれ得る。これらのデバイスは、異なる電力要件およびデータ要件を有し、各特徴または特徴のセットに対して生成される異なる電力プロファイルをもたらす場合がある。
【００７２】
いくつかの態様では、ワイヤレスデバイスは、通信システムのためのアクセスデバイス(たとえば、Wi-Fiアクセスポイント)を含み得る。そのようなアクセスデバイスは、たとえば、有線またはワイヤレス通信リンクを介した、トランシーバ140を介した別のネットワーク(たとえば、インターネットまたはセルラーネットワークなどの広域ネットワーク)への接続を提供し得る。したがってアクセスデバイスは、別のデバイス(たとえば、Wi-Fi局)による他のネットワークまたは何らかの他の機能へのアクセスを可能にし得る。さらに、デバイスのうちの1つまたは両方は、携帯型であっても、あるいはいくつかのケースでは比較的非携帯型であってもよいことを理解されたい。
【００７３】
様々な異なる技術および技法のいずれかを使用して情報および信号が表され得ることは、当業者であれば理解されよう。たとえば、上記の説明全体を通して言及されることがあるデータ、命令、指令、情報、信号、ビット、シンボルおよびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表される場合がある。
【００７４】
当業者は、本明細書に開示された実施形態に関連して説明される様々な例示的な論理ブロック、モジュール、エンジン、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることをさらに理解するであろう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な実例構成要素、ブロック、モジュール、エンジン、回路およびステップは、上では、一般に、それらの機能に関して説明されている。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、システム全体に課される具体的な適用例および設計制約に依存する。当業者は、説明した機能を特定のアプリケーションごとに様々な方法で実装し得るが、そのような実装決定は本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【００７５】
1つまたは複数の例示的実施形態では、説明される機能またはモジュールは、ハードウェア(たとえばハードウェア162)、ソフトウェア(たとえばソフトウェア165)、ファームウェア(たとえばファームウェア163)またはそれらの任意の組合せの中で実施され得る。コンピュータプログラム製品としてソフトウェアに実装される場合、機能またはモジュールは、非一時的コンピュータ可読媒体上の1つまたは複数の命令(たとえば、プログラム命令またはコード)として記憶され、または伝送されてもよい。コンピュータ可読実行可能媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含むことができる。記憶媒体は、コンピュータまたはデータ処理デバイス/システムによってアクセスするか、または実行することができる任意の利用可能媒体であってもよい。限定ではなく例として、そのような非一時的コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形態の所望のプログラムコードを搬送もしくは記憶するために使用されコンピュータによってアクセスされることがある任意の他の媒体を含むことが可能である。また、あらゆる接続が、適切にコンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するとき、ディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せも、非一時的コンピュータ可読媒体の範囲内に含まれるべきである。
【００７６】
開示した実施形態の先の説明は、当業者が本明細書内の実施形態を作成または使用することができるように提供される。これらの実施形態への様々な修正が当業者には容易に明らかであり、本明細書で定義された一般的な原理は、本明細書で説明した実施形態の趣旨および範囲を逸脱することなく、他の実施形態に適用されてもよい。したがって、本説明は、本明細書に示す実施形態に限定されることは意図されておらず、本明細書で開示する原理および新規の特徴に一致する最も広い範囲を与えられるべきである。
【符号の説明】
【００７７】
100  デバイス
111  センサ
112  ディスプレイ
114  カメラ、カラーカメラ
115  深度センサ
140  トランシーバ
150  ユーザインターフェース
152  キーパッド
154  マイクロフォン
156  スピーカ
160  制御ユニット
161  汎用プロセッサ
162  ハードウェア
163  ファームウェア
164  メモリ
165  ソフトウェア
170  深度およびカラーの出力同期
171  セレクタモジュール
172  マッチングモジュール
173  精密化モジュール
174  マネージャモジュール
175  SLAMモジュール
176  深度プロセッサモジュール
177  バス
205  カラー画像
210  深度画像
305  カラー画像
310  深度画像
330  カラー画像処理時間
405  カラー画像
410  深度画像
425  最良のマッチングペア
430  最良のマッチングペア
505  カラー画像
510  深度画像
520  マッチングによって決定されたペア
530  固定オフセットによって決定されたペア
605  カラー画像
610  深度画像
705  カラー画像
710  第1の深度画像
715  第2の深度画像
750  点「A」
755  点「B」
760  点「A」
765  点「B」
770  点「A」
775  点「B」
【図１Ａ】
0006276475.tif 000003
【図１Ｂ】
0006276475.tif 000004
【図２】
0006276475.tif 000005
【図３】
0006276475.tif 000006
【図４】
0006276475.tif 000007
【図５】
0006276475.tif 000008
【図６】
0006276475.tif 000009
【図７】
0006276475.tif 000010
【図８】
0006276475.tif 000011