(58)【調査した分野】(Int.Cl.,DB名)
前記深度処理ユニットが、第1の深度マップ及び第2の深度マップに対して画像位置合せを行って、第1の深度マップの前記画素に対応する第2の深度マップの前記変換座標を生成するステップは、
前記深度処理ユニットが、第1の深度マップの前記画素の座標を第1の深度取込み装置の第1の三次元座標系の座標に変換して、第1の深度取込み装置の内部パラメータに従って、第1の深度マップの前記画素の第1の三次元座標を生成するステップと、
前記深度処理ユニットが、第1の深度取込み装置及び第2の深度取込み装置の外部パラメータに従って、第1の深度マップの前記画素の第1の三次元座標を第2の深度取込み装置の第2の三次元座標系の第2の三次元座標に変換するステップと、
前記深度処理ユニットが、第2の深度取込み装置の内部パラメータに従って、第1の深度マップの前記画素の第2の三次元座標を、第1の深度マップの前記画素に対応する第2の深度マップの前記変換座標に変換するステップと、を含む、請求項1に記載の方法。
前記深度処理ユニットが、第1の深度マップの前記深度データと第2の深度マップの前記深度データとを位置合わせして、第1の深度マップの前記画素に対応する第2の深度マップの前記変換座標に従って、前記最適化された深度マップを生成するステップは、
第1の深度マップの第1の画素に対応する第2の深度マップの座標が第2の深度マップの第2の画素に対応しており、且つ第2の画素に不合理な深度値が与えられている場合に、前記深度処理ユニットが、前記最適化された深度マップにおける第1の画素及び第2の画素に対応する第3の画素に第1の画素の深度値に応じた深度値をレンダリングするステップを含む、請求項1に記載の方法。
前記深度処理ユニットが、第1の深度マップの前記深度データと第2の深度マップの前記深度データとを位置合わせして、第1の深度マップの前記画素に対応する第2の深度マップの前記変換座標に従って、前記最適化された深度マップを生成するステップは、
第1の深度マップの解像度が第2の深度マップの解像度より小さく、且つ第1の深度マップの第1の画素に対応する第2の深度マップの座標が第2の深度マップの複数の第2の画素に対応する場合に、前記深度処理ユニットが、前記最適化された深度マップにおける前記複数の第2の画素に対応する複数の第3の画素に第1の画素の深度値及び前記複数の第2の画素の深度値に応じた深度値をレンダリングするステップを含む、請求項1に記載の方法。
【発明を実施するための形態】
【0007】
図1は、本発明の一実施形態による深度データ処理システム100の図である。深度データ処理システム100は、第1の深度取込み装置110、第2の深度取込み装置120、及び深度処理ユニット130を有する。
【0008】
深度データ処理システム100は、第1の深度取込み装置110によって第1の深度マップD1を生成し、第2の深度取込み装置120によって第2の深度マップD2を生成することができる。
図1の実施形態では、第1の深度取込み装置110は、飛行時間(TOF)センサ又は構造化光センサであり得る内部深度センサ112によって第1の深度マップD1を生成することができる。第1の深度取込み装置110は、深度センサ112によって感知された結果を直接的に解析し、第1の深度マップD1を生成することができる。
【0009】
また、第2の深度取込み装置120は、共通の可視光カメラ122及び124を含み、これらカメラによって取り込まれた画像を深度処理ユニット130に送信することができる。深度処理ユニット130は、取り込んだ画像を左眼画像及び右眼画像として指定し、立体視(binocular vision)アルゴリズムを適用して、
図2に示されるような第2の深度マップD2を生成することができる。しかしながら、本発明は、第2の深度取込み装置120が2つのカメラ122及び124だけを含み、又は立体視アルゴリズムだけを適用して第2の深度マップD2を生成することに限定するものではない。他の実施形態では、第2の深度取込み装置120は、単一のカメラによって取り込まれた画像によって、及び他の相関アルゴリズムを使用することによって、第2の深度マップD2を生成することもできる。
【0010】
換言すれば、
図1の実施形態では、第1の深度取込み装置110は深度データを生成するように特に設計されたハードウェアを含み得、第2の深度取込み装置120は画像を取り込むために元々使用される可視光カメラを含み得る。従って、画像を取り込んだ後に深度処理ユニット130による更なる計算処理が必要となり、それによって深度データ処理システム100が必要とする第2の深度マップD2を生成することができる。このようにして、第1の深度取込み装置110に加えて、深度データ処理システム100は、既存の電子装置に設けられたカメラを使用して深度データ最適化のための追加の深度データを生成し、追加のハードウェア要素を減らすことができる。
【0011】
第1の深度マップD1及び第2の深度マップD2が生成された後に、深度処理ユニット130は、第1の深度マップD1及び第2の深度マップD2に対して画像位置合せを行い、第1の深度マップD1の画素に対応する第2の深度マップD2の変換座標を求めることができる。次に、その深度処理ユニット130は、第1の深度マップD1の深度データと第2の深度マップD2の深度データとを位置合わせして、
図5に示されるように変換座標に従って、最適化された深度マップDAを生成することができる。
【0012】
いくつかの実施形態では、深度処理ユニット130は、第1の深度マップD1の画素の座標を第1の深度取込み装置110の第1の三次元座標系の座標に変換して、第1の深度取込み装置110の内部パラメータに従って、第1の深度マップD1の画素の第1の三次元座標を生成することができる。次に、深度処理ユニット130は、第1の深度取込み装置110及び第2の深度取込み装置120の外部パラメータに従って、第1の深度マップD1の画素の第1の三次元座標を第2の深度取込み装置120の第2の三次元座標系の第2の三次元座標に変換することができる。最後に、深度処理ユニット130は、第2の深度取込み装置120の内部パラメータに従って、第1の深度マップD1の画素の第2の三次元座標を第1の深度マップD1の画素に対応する第2の深度マップD2の変換座標に変換することができる。
【0013】
図2は、一実施形態における第1の深度マップD1と第2の深度マップD2との相関図である。
図2において、第1の深度マップD1の画素P1を例にとると、画素P1の深度値が無限大に近づくと、画素P1は三次元空間内の点Aに対応し得る。第2の深度マップD2の点Aは、画素PAの位置にくる。画素P1の深度値がZ
dである場合に、画素P1は三次元空間内の点Bに対応し、点Bは第2の深度マップD2の画素PBの位置にくる。さらに、画素P1の深度が、第1の深度取込み装置110が取得することができる最小有効深度値Z
minである場合に、画素P1は、三次元空間内の点Cに対応し得、第2の深度マップD2の点Cは、画素PCの位置にくる。
【0014】
換言すれば、第1の深度マップD1の画素P1は、三次元空間内でのその深さの差のために、第2の深度マップD2の異なる位置に対応し得る。いくつかの実施形態では、第2の深度マップD2における画素P1に対応する画素PBと第2の深度マップD2の画素PAとの間の距離Δxは、式1によって表すことができる。
【数1】
【0015】
式1において、パラメータBは、第1の深度マップD1に対応するカメラと第2の深度マップD2に対応するカメラとの間のベースライン距離を表す。パラメータf2は、第2の深度取込み装置120の焦点距離を表し、パラメータZは、第2の深度マップD2における画素P1の深度値である。式1及び
図2によれば、深度値Zが無限大に近づくと、画素P1は第2の深度マップD2の画素PAの位置に対応し、こうして距離Δxはゼロに近づく。深度値Zが最小有効深度Z
minである場合に、画素P1は第2の深度マップD2の画素PCの位置に対応し、距離Δxは
図2に示される距離Δx
minに等しくなる。
【0016】
この場合に、第2の深度マップD2の画素PAの座標を(x
max,y
max)と表し、第2の深度マップD2の画素PCの座標を(x
min,y
min)と表すことができる場合に、次に、第2の深度マップD2の画素PBの座標は、(x
d,y
d)と表すことができる。座標は式2及び式3から導出することができる。
【数2】
【数3】
【0017】
このようにして、深度処理ユニット130は、第1の深度マップD1の画素に対応する第2の深度マップの変換座標を求めることができる。いくつかの実施形態では、深度処理ユニット130は、計算の複雑さを減らすためにルックアップテーブルを使用し得る。変換座標を求めた後に、深度処理ユニット130は、第1の深度マップD1の深度データと第2の深度マップD2の深度データとを位置合わせして、変換座標に従って、最適化された深度マップを生成することができる。
【0018】
図3は、一実施形態による第1の深度マップD1の図の一部を示す。
図4は、一実施形態による第2の深度マップD2の図の一部を示す。第1の深度マップD1及び第2の深度マップD2がそれぞれ第1の深度取込み装置110及び第2の深度取込み装置120によって生成されるので、2つの深度マップは、僅かに異なる可能性があり、互いに補完して最適化された深度マップDAを生成することができる。
図5は、第1の深度マップD1及び第2の深度マップD2に従って生成された最適化された深度マップDAを示す。
【0019】
なお、
図3〜
図5において、画素内の三角形は、その画素が深度マップの前景に属していることを示す。画素内の円は、その画素が深度マップの背景に属していることを示す。画素内の四角形は、その画素に不合理な(unreasonable)深度値(計算誤差)があることを示す。画素にマークがない場合は、画素に値が与えられていないことを意味する。
【0020】
第1の深度マップD1の画素PD1
Aが第2の深度マップD2の画素PD2
Aに対応しており、画素PD2
Aに深度値が与えられていないのならば、次に、深度処理ユニット130は、最適化された深度マップDAの対応する画素PDA
Aに画素PD1
Aの深度値に応じた深度値をレンダリングする。このようにして、最適化された深度マップDAにおける画素PD1
A及び画素PD2
Aに対応する画素PDA
Aは、画素PD1
Aの深度値に応じた深度値にレンダリングされ、円としてマークされることになる。
【0021】
同様に、第1の深度マップD1の画素PD1
Bが第2の深度マップD2の画素PD2
Bに対応しており、画素PD1
Bに深度値が与えられていないのならば、次に、深度処理ユニット130は、最適化された深度マップDAの対応する画素PDA
Bに画素PD2
Bの深度値に応じた深度値をレンダリングする。このようにして、最適化された深度マップDAにおける画素PD1
B及び画素PD2
Bに対応する画素PDA
Bは、画素PD2
Bの深度値に応じた深度値にレンダリングされ、円としてマークされることになる。
【0022】
さらに、第1の深度マップD1の画素PD1
Cが第2の深度マップD2の画素PD2
Cに対応しており、画素PD2
Cに不合理な深度値が与えられているのならば、次に、深度処理ユニット130は、最適化された深度マップDAの対応する画素PDA
Cに画素PD1
Cの深度値に応じた深度値をレンダリングする。このようにして、最適化された深度マップDAにおいて、画素PD1
C及び画素PD2
Cに対応する画素PDA
Cは、画素PD1
Cの深度値に応じた深度値にレンダリングされ、丸としてマークされることになる。
【0023】
いくつかの実施形態では、第1の深度取込み装置110が特に深度データを取得して第1の深度マップD1を生成するためのハードウェアであるため、第1の深度マップD1の信頼度は、第2の深度マップD2の信頼度より可能性が高い。この場合に、最適化された深度マップDAは、第1の深度マップD1に基づくものであり、且つ第2の深度マップD2によって補完され得る。第1の深度マップD1と第2の深度マップD2との両方に深度値が与えられている場合に、深度処理ユニット130は、深度マップDAの画素に第1の深度マップD1の深度データに応じた値を優先的にレンダリングしてもよい。しかしながら、他の実施形態では、深度処理ユニット130は、第2の深度マップD2によって第1の深度マップD1を補完して、システムの実際の状態に応じた最適化された深度マップDAを生成するようにも変更され得、又は適切な重付けで、両方の深度データを位置合わせしてもよい。
【0024】
以上の方法により、深度処理ユニット130は、第1の深度マップD1と第2の深度マップD2とを互いに補完することができ、それにより第1の深度マップD1及び第2の深度マップD2における空白画素及び不合理な深度値を減らすことができる。その深度処理ユニット130は、最適化された深度マップDAにより多くの有効な画素を与え、深度データ処理システム100がより完全で正確な深度マップを生成するのを可能にする。
【0025】
また、第1の深度マップD1及び第2の深度マップD2の解像度は異なる可能性がある。例えば、第1の深度マップD1の解像度が第2の深度マップD2の解像度より小さい場合に、第1の深度マップD1の各画素は、第2の深度マップD2の複数の画素に対応し得る。例えば、
図6は、一実施形態による第1の深度マップD1’と第2の深度マップD2’との相関図である。
【0026】
図6において、第1の深度マップD1’の画素PD1’は、第2の深度マップD2の複数の画素PD2’
A、PD2’
B、PD2’
C、及びPD2’
Dに実質的に対応する。この場合に、深度データ処理システム100は、最適化された深度マップDAの対応する画素に、第1の深度マップD1’の画素PD1’及び第2の深度マップD2’の画素PD2’
A、PD2’
B、PD2’
C、PD2’
Dの深度値に応じた値をレンダリングする。換言すれば、深度データ処理システム100は、第1の深度マップD1’及び第2の深度マップD2’の解像度に応じて、異なる深度マップの間の画素の相関を調整することができる。
【0027】
さらに、
図1の実施形態では、第1の深度取込み装置110は、深度データを取得して第1の深度マップD1を生成するように特に設計されたハードウェアであり、第2の深度取込み装置120は、画像を取り込む可視光カメラである。次に、ソフトウェア処理により第2の深度マップD2が生成される。しかしながら、本発明は、第1の深度取込み装置110が深度データを生成するように特に設計されたハードウェアであるように限定するものではない。
【0028】
図7は、別の実施形態による深度データ処理システム200の図である。深度データ処理システム100及び200は、同様の構成を有しており、且つ同様の原理に従って動作することができる。深度データ処理システム200は、第1の深度取込み装置210、第2の深度取込み装置220、及び深度処理ユニット230を含むことができる。第1の深度取込み装置210と第2の深度取込み装置220との両方は、可視光を用いて画像を取り込み、且つ深度処理ユニット230によって第1の深度マップD1及び第2の深度マップD2を生成することができる。
【0029】
換言すると、
図7において、第1の深度取込み装置210は、少なくとも1つのカメラで第1の画像IMGR1、IMGL1を取り込むことができるが、2つのカメラ212、214に限定されるものではない。深度処理ユニット230は、第1の画像IMGR1、IMGL1に従って第1の深度マップD1を生成することができる。同様に、第2の深度取込み装置220は、カメラ222及び224によって第2の画像IMGR2、IMGL2を取り込むことができ、深度処理ユニット230は、第2の画像IMGR2、IMGL2に従って第2の深度マップD2を生成することができる。
【0030】
図8の実施形態では、深度データ処理システム300は3つの深度取込み装置を含むことができるが、これら3つの深度取込み装置に限定されるものではない。いくつかの実施形態では、深度データ処理システムは、より多くの深度取込み装置を含み得る。
図8は、別の実施形態による深度データ処理システム300の図である。深度データ処理システム100及び300は、同様の構成を有しており、且つ同様の原理に従って動作することができる。もっとも、深度データ処理システム300は、第1の深度取込み装置310、第2の深度取込み装置320、深度処理ユニット330、及び第3の深度取込み装置340を含むことができる。第1の深度取込み装置310、第2の深度取込み装置320、及び第3の深度取込み装置340は、可視光カメラを用いて画像を取り込むことができ、深度処理ユニット330によって第1の深度マップD1、第2の深度マップD2、及び第3の深度マップD3を生成することができる。しかしながら、本発明は、これらに限定されるものではない。
【0031】
さらに、
図8の実施形態では、深度処理ユニット330は、第1の深度マップD1、第2の深度マップD2、及び第3の深度マップD3の深度データに応じて、最適化された深度マップを生成することができる。例えば、深度処理ユニット330は、第1の深度マップD1及び第2の深度マップD2に対して画像位置合せを行って、第1の深度マップの画素に対応する第2の深度マップの変換座標を求めることができる。同じ方法を使用して、その深度処理ユニット330は、第3の深度マップD3及び第2の深度マップD2に対して画像位置合せを行って、第3の深度マップD3の画素に対応する第2の深度マップD2の変換座標を求めることができる。次に、深度処理ユニット330は、第1の深度マップD1、第2の深度マップD2、及び第3の深度マップD3の深度データを位置合わせして、第1の深度マップD1及び第3の深度マップD3の画素に対応する第2の深度マップD2の変換座標に従って、最適化された深度マップを生成する。
【0032】
深度データ処理システム100及び200は、単一の深度マップ内の欠陥を補償するために異なる深度マップに対して画像位置合せを行うことができるので、最適化された深度マップを生成することができる。その最適化された深度マップは、深度データをより正確にするだけでなく、より広範囲の深度データも提供する。
【0033】
図9は、本発明の一実施形態による深度データ処理システム100(又は200)を動作させる方法400のフローチャートである。方法400はステップS410〜S440を含む。
S410:少なくとも第1の深度取込み装置110(又は210)によって第1の深度マップD1を生成する。
S420:少なくとも第2の深度取込み装置120(又は220)によって第2の深度マップD2を生成する。
S430:深度処理ユニット130(又は230)は、第1の深度マップD1及び第2の深度マップD2に対して画像位置合せを行い、第1の深度マップD1の画素に対応する第2の深度マップD2の変換座標を求める。
S440:深度処理ユニット130(又は230)は、第1の深度マップD1の深度データと第2の深度マップD2の深度データとを位置合わせして、変換座標に従って最適化された深度マップDAを生成する。
【0034】
図10は、ステップS430におけるサブステップS432〜S436のフローチャートである。
S432:第1の深度マップD1の画素の座標を第1の深度取込み装置110(又は210)の第1の三次元座標系の座標に変換して、第1の深度取込み装置110(又は210)の内部パラメータに従って第1の深度マップの画素の第1の三次元座標を生成する。
S434:第1の深度取込み装置110(又は210)及び第2の深度取込み装置120(又は220)の外部パラメータに従って、第1の深度マップD1の画素の第1の三次元座標を、第2の深度取込み装置120(又は220)の第2の三次元座標系の第2の三次元座標に変換する。
S436:第2の深度取込み装置120(又は220)の内部パラメータに従って、第1の深度マップD1の画素の第2の三次元座標を、第1の深度マップD1の画素に対応する第2の深度マップD2の変換座標に変換する。
【0035】
図2を例にとると、深度処理ユニット130は、S432〜S436において第1の深度マップD1及び第2の深度マップD2に対応するそれら三次元座標を位置合わせし、次に、その深度処理ユニット130は、第1の深度マップD1の画素の第2の三次元座標を、式2及び式3に従って、第1の深度マップD1の画素に対応する第2の深度マップD2の変換座標に変換する。
【0036】
また、ステップS440において、第1の深度マップの解像度が第2の深度マップの解像度よりも小さい場合に、第1の深度マップの第1の画素に対応する第2の深度マップの変換座標は、第2の深度マップの複数の第2の画素に対応する。最適化された深度マップにおける複数の第2の画素に対応する複数の第3の画素に、第1の画素の深度値及び複数の第2の画素の深度値に応じた深度値をレンダリングすることができる。
図6を例にとると、深度データ処理システム100は、画素PD2’
A、PD2’
B、PD2’
C、及びPD2’
Dに対応する最適化された深度マップにおける画素に、第1の深度マップD1’の画素PD1’の深度値、及び第2の深度マップD2’の画素PD2’
A、PD2’
B、PD2’
C、PD2’
Dの深度値に応じた深度値をレンダリングする。換言すれば、深度データ処理システム100は、第1の深度マップD1’及び第2の深度マップD2’の解像度に従って、異なる深度マップの画素同士の間の相関を調整することができる。
【0037】
さらに、ステップS440において、第1の深度マップの第1の画素が第2の深度マップの第2の画素に対応しており、第2の画素に深度値が与えられていないのならば、次に、深度処理ユニットは、最適化された深度マップにおける第1の画素及び第2の画素に対応する第3の画素に第1の画素の深度値に応じた深度値をレンダリングするだろう。さらに、第1の深度マップの第1の画素が第2の深度マップの第2の画素に対応しており、第2の画素に不合理な深度値が与えられているのならば、深度処理ユニットは、最適化された深度マップにおける第1の画素及び第2の画素に対応する第3の画素に第1の画素の深度値に応じた深度値をレンダリングするだろう。
【0038】
図3〜
図5を例にとると、第1の深度マップD1の画素PD1
Bは第2の深度マップD2の画素PD2
Bに対応しており、画素PD1
Bには深度値が与えられていない。サブステップS444において、深度処理ユニット130は、最適化された深度マップDAの対応する画素PDA
Bに画素PD2
Bの深度値に応じた深度値をレンダリングすることができる。
【0039】
方法400によって、深度データ処理システム100及び200は、単一の深度マップ内の欠陥を補償するために異なる深度マップに対して画像位置合せを行って、最適化された深度マップを生成することができる。その深度データ処理システムは、深度データをより正確にするだけでなく、より広範囲の深度データも提供する。
【0040】
さらに、方法400は、深度データ処理システム300にも適用することができる。ステップS430と同様の方法で、その深度データ処理システム300は、第2の深度マップD2及び第3の深度マップD3に対して画像位置合せを行って、第3の深度マップD3の各画素に対応する第2の深度マップD2の変換座標を求めることができる。次に、深度処理ユニット330は、第1の深度マップD1、第2の深度マップD2、及び第3の深度マップD3の深度データを位置合わせして、第1の深度マップD1及び第3の深度マップD3の画素に対応する第2の深度マップD2の変換座標に従って、最適化された深度マップを生成する。
【0041】
要約すると、本発明の実施形態によって提供される深度データ処理システム及びその動作方法は、異なる深度マップの深度データを補完し、それによって最適化された深度マップを生成することができる。その深度データ処理システム及びその動作方法は、深度データをより正確にするだけでなく、より広範囲の深度データも提供し、これは様々な用途によってより効率的に使用され得る。
【0042】
当業者は、本発明の教示を保持しながら、装置及び方法の多数の修正及び変更をなし得ることを容易に理解するであろう。従って、上記の開示は、添付の特許請求の範囲の境界及び範囲によってのみ限定されると解釈すべきである。