(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-26
(54)【発明の名称】深度マップを処理する装置及び方法
(51)【国際特許分類】
G06T 7/60 20170101AFI20231219BHJP
H04N 13/128 20180101ALI20231219BHJP
【FI】
G06T7/60 150Z
H04N13/128
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023534953
(86)(22)【出願日】2021-12-07
(85)【翻訳文提出日】2023-06-08
(86)【国際出願番号】 EP2021084516
(87)【国際公開番号】W WO2022122701
(87)【国際公開日】2022-06-16
(32)【優先日】2020-12-09
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】590000248
【氏名又は名称】コーニンクレッカ フィリップス エヌ ヴェ
【氏名又は名称原語表記】Koninklijke Philips N.V.
【住所又は居所原語表記】High Tech Campus 52, 5656 AG Eindhoven,Netherlands
(74)【代理人】
【識別番号】110001690
【氏名又は名称】弁理士法人M&Sパートナーズ
(72)【発明者】
【氏名】ヴァーエカンプ クリスティアン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA09
5L096CA05
5L096FA64
5L096FA66
5L096FA67
5L096GA51
(57)【要約】
深度マップの処理は、深度マップの少なくとも第1のピクセルについて、深度マップの他の深度値を含む候補深度値のセットを決定し(105)、コスト関数に応じて候補深度値のそれぞれに対してコスト値を決定し(107)、候補深度値のセットに対するコスト値に応じて第1の深度値を選択し(109)、第1の深度値に応じて、第1のピクセルに対して更新された深度値を決定する(111)ステップを行う。候補深度値のセットは、候補深度値のセットに含まれない又は第1の候補深度値よりも高いコスト関数を有する第1の方向に沿った少なくとも1つのピクセルよりも第1のピクセルからさらに離れている第1の方向に沿った第1の候補深度値を含む。
【特許請求の範囲】
【請求項1】
深度マップを処理する方法であって、前記方法は、
前記深度マップを受信するステップと、
前記深度マップの少なくとも第1のピクセルについて、
候補深度値のセットを決定するステップであって、前記候補深度値のセットは前記第1のピクセル以外の前記深度マップの他のピクセルに対する深度値を含む、ステップと、
コスト関数に応じて、前記候補深度値のセットにおける前記候補深度値のそれぞれに対するコスト値を決定するステップと、
前記候補深度値のセットに対する前記コスト値に応じて、前記候補深度値のセットから第1の深度値を選択するステップと、
前記第1の深度値に応じて前記第1のピクセルに対して更新された深度値を決定するステップとを有し、
前記候補深度値のセットは、前記第1のピクセルからの第1の方向に沿った第1の候補深度値を含み、前記第1の方向に沿って少なくとも1つのピクセルの第1の介在するピクセルセットが、候補深度値に対する前記コスト関数が前記第1の候補深度値に対する前記コスト関数を超えない前記候補深度値のセットのうちの当該候補深度値を含まず、前記第1のピクセルから前記第1の候補深度値までの距離が、前記第1のピクセルから前記第1の介在するピクセルセットまでの距離よりも大きい、方法。
【請求項2】
前記第1の方向に沿った前記コスト関数は、前記距離が距離閾値より下である場合に前記第1のピクセルからの距離の関数としての単調に増加するコスト勾配と、前記第1のピクセルからの少なくとも1つの距離が閾値より上である場合に前記第1のピクセルからの距離の関数としての減少するコスト勾配とを有する、請求項1に記載の方法。
【請求項3】
前記第1の介在するピクセルセットは、深度値が前記候補深度値のセットに含まれないピクセルのセットである、請求項1に記載の方法。
【請求項4】
前記コスト関数は、前記コスト関数が適用される前記候補深度値に一致する視差によってオフセットされたピクセルに対するマルチビュー画像の画像値間の差に依存しているコスト寄与を含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記第1の方向を前記深度マップの重力方向として決定するステップをさらに有し、前記重力方向は、前記深度マップによって表されるシーンにおける重力の方向と一致する前記深度マップにおける方向である、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記第1の方向は、前記深度マップにおける垂直方向である、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記深度マップによって表されたシーンの少なくとも一部に対して深度モデルを決定するステップをさらに有し、深度値に対する前記コスト関数は、前記深度値と前記深度モデルから決定されたモデル深度値との間の差に依存している、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記コスト関数は、前記深度値が前記モデル深度値を超えるか、又は前記モデル深度値より下であるかに関して、非対称である、請求項7に記載の方法。
【請求項9】
前記深度モデルは、前記シーンに対する背景モデルである、請求項7又は8に記載の方法。
【請求項10】
前記深度マップからではない前記候補深度値のセット内に候補深度値を含むステップと、
深度マップの時間的シーケンスの別の深度マップからの深度値であって、前記シーケンスは前記深度マップを含む、深度値、
前記深度マップによって表されるシーンから独立している深度値、及び
前記第1のピクセルに対する深度値のオフセットに応じて決定された深度値
のうちの少なくとも1つの深度値を含むステップとをさらに有する、請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記深度値に対する前記コスト関数は、前記深度値のタイプに依存し、前記タイプは、
前記深度マップの深度値、
距離閾値よりも近い前記深度マップの深度値、
距離閾値よりも遠く離れた前記深度マップの深度値、
前記深度マップを含む深度マップの時間的シーケンスの別の深度マップからの深度値、
前記第1の深度値の深度値に関してオフセットされたシーン独立深度値を有する深度値、
前記深度マップによって表されるシーンから独立している深度値、及び
前記第1のピクセルに対する深度値のオフセットに応じて決定された深度値
のうちの少なくとも1つを含むタイプのグループのうちの1つである、請求項1から10のいずれか一項に記載の方法。
【請求項12】
複数のピクセルから新しい第1のピクセルを反復して選択し、新しい第1のピクセルごとに各ステップを行うことによって、前記深度マップの複数のピクセルを処理する、請求項1から11のいずれか一項に記載の方法。
【請求項13】
前記第1のピクセルからの第2の方向に対する前記候補深度値のセットは、第2の候補深度値に対する前記第2の方向に沿った少なくとも1つのピクセルのピクセルセットが、候補深度値に対するコスト関数が当該第2の候補深度値に対する前記コスト関数を超えない前記候補深度値のセットのうちの当該候補深度値を含まない当該第2の候補深度値を含まず、前記第1のピクセルから前記第2の候補深度値までの距離が、前記第1のピクセルから前記ピクセルセットまでの距離よりも大きい、請求項1に記載の方法。
【請求項14】
深度マップを処理する装置であって、前記装置は、
深度マップを受信する受信器と、
前記深度マップを処理する処理器とを備え、前記処理は、
前記深度マップの少なくとも第1のピクセルについて、
候補深度値のセットを決定するステップであって、前記候補深度値のセットは前記第1のピクセル以外の前記深度マップの他のピクセルに対する深度値を含む、ステップと、
コスト関数に応じて、前記候補深度値のセットにおける前記候補深度値のそれぞれに対してコスト値を決定するステップと、
前記候補深度値のセットに対する前記コスト値に応じて、前記候補深度値のセットから第1の深度値を選択するステップと、
前記第1の深度値に応じて前記第1のピクセルに対して更新された深度値を決定するステップとを行うことを有し、
前記候補深度値のセットは、前記第1のピクセルから第1の方向に沿った第1の候補深度値を含み、前記第1の方向に沿って少なくとも1つのピクセルの第1の介在するピクセルセットは、候補深度値に対する前記コスト関数が前記第1の候補深度値に対する前記コスト関数を超えない前記候補深度値のセットのうちの当該候補深度値を含まず、前記第1のピクセルから前記第1の候補深度値までの距離が、前記第1のピクセルから前記第1の介在するピクセルセットまでの距離よりも大きい、装置。
【請求項15】
コンピュータ上で実行されるときに請求項14に記載の装置の全てのステップを行うのに適応したコンピュータプログラムコード手段を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、深度マップを処理する装置及び方法に関し、特に、排他的ではないが、マルチビューの深度/視差推定を行うための深度マップの処理に関する。
【背景技術】
【0002】
従来、画像の技術的処理及び使用は2次元撮像に基づいていたが、第3次元が画像処理では明示的に考慮されることが多くなっている。
【0003】
例えば、視る者の2つの目に、見られているシーンの異なるビューを供給することにより、視る体験へ第3次元を追加する3次元(3D)表示器が開発された。これは、ユーザが眼鏡を着用して、表示されている2つのビューを分離することによって達成できる。しかしながら、これはユーザにとって不便であると考えられるので、多くのシナリオでは、ビューを分離するために表示器での手段(レンチキュラーレンズ、又は障壁など)を使用する自動立体表示器を使用し、ユーザの目に個々に届く異なる方向にビューを送ることが好ましい。立体表示器の場合、2つのビューが必要とされるが、自動立体表示器は通常、より多くのビュー(例えば、9つのビューなど)を必要とする。
【0004】
別の例は、複数のカメラによって捕捉されたシーンの空間ナビゲーションを(制限内で)可能にする自由視点の使用の場合である。これは、例えば、スマートフォン又はタブレットのいずれかでなされることができ、ゲームのような体験を提供する。代替えとして、データは拡張現実(AR)又は仮想現実(VR)ヘッドセット上で視られる。
【0005】
多くの用途では、新しい視る方向に対してビュー画像を生成することが望ましい。画像及び深度情報に基づいてそのような新しいビュー画像を生成するための様々なアルゴリズムが知られているが、それらは提供された(又は導出された)深度情報の正確さに大きく依存する傾向がある。
【0006】
実際に、3次元画像情報は、シーンに対する異なる視る方向に対応する複数の画像によって提供される。このような情報は、オフセットカメラ位置から2つ以上の同時画像を捕捉する専用の3Dカメラシステムを使用して捕捉できる。
【0007】
しかしながら、多くの用途では、提供される画像は所望の方向に直接対応しないことがあり、又はより多くの画像が必要とされる。例えば、自動立表示器について、2つよりも多くの画像が必要とされ、実際には9~26のビュー画像が使用されることがよくある。
【0008】
異なる視る方向に対応する画像を生成するために、視点移動処理が採用されてよい。これは通常、単一の視る方向の画像を、関連する深度情報(又はおそらく複数の画像及び関連する深度情報)とともに使用する視線移動アルゴリズムによって行われる。しかしながら、重要なアーチファクトのない新しいビュー画像を生成するためには、提供された深度情報は十分に正確でなければならない。
【0009】
他の例示的な用途は、ユーザによる動き及び向きの変化に一致させるために仮想現実ヘッドセットに対して右目及び左目のビューが連続的に生成される仮想現実体験を含む。動的仮想現実ビューのそのような生成は、多くの場合、関連の深度情報を提供する関連する深度マップと組み合わせて光強度画像に基づいてよい。
【0010】
新しいビューから提示された1つ以上の3次元画像の品質は、受信した画像及び深度データの品質に依存し、具体的には、3次元知覚は、受信した深度情報の品質に依存する。画像の深度情報に依存する他のアルゴリズム又は処理が知られており、これらも深度情報の正確さ及び信頼性に非常に敏感である傾向がある。
【0011】
しかしながら、多くの実用的な用途及びシナリオでは、提供された深度情報は最適でない傾向がある。実際、多くの実用的な用途及び使用シナリオでは、深度情報は所望されるほどには正確ではなく、これにより、処理において及び生成された画像へ、エラー、アーチファクト、及び/又はノイズが導入される場合がある。
【0012】
多くの用途では、現実世界のシーンを記述する深度情報は、捕捉された画像から決定される深度のきっかけから推定される。例えば、深度情報は、異なるビュー位置についてビュー画像を比較することによって深度値を推定且つ抽出することによって生成されてよい。
【0013】
例えば、多くの用途では、3次元シーンは、わずかに異なる位置にある2つのカメラを使用して立体画像として捕捉される。次いで、2つの画像における対応する画像物体間の視差を推定することによって、特定の深度値が生成される。しかしながら、このような深度の抽出及び推定には問題があり、理想的ではない深度値になる傾向がある。これにより、再び、アーチファクト、及び3次元画像品質の低下が生じる。
【0014】
深度情報を改良するために、深度推定及び/又は深度マップを後処理且つ/或いは改良するためのいくつかの技術が提案された。しかしながら、これらは全て最適であるわけではない傾向があり、最適な正確さ及び信頼性がない傾向があり、且つ/又は例えば、必要とされる計算リソースのために実施が困難である場合がある。このようなアルゴリズムの例は、WO2020/178289A1及びEP3396949A1に記載される。
【0015】
現在のピクセルの深度が、通常、隣接するピクセルの深度値である候補深度値の候補セットに基づいて更新される走査アプローチを使用して、深度マップが初期化され、その後反復的に更新される指定のアプローチが提案された。現在のピクセルの深度値の更新は、コスト関数に依存している。しかしながら、このようなアプローチは多くのシナリオでは深度マップを改良するが、常に最適に正確な深度マップを生成するとは限らないことを含む、全てのシナリオで最適ではない傾向がある。また、多数の候補ピクセルを考慮しなければならないため、計算量が多い傾向がある。
【0016】
このゆえに、深度情報を生成/処理/修正する改良されたアプローチが有利であり、特に、深度マップを処理するアプローチが向上した柔軟性、容易にされた実施、低減された複雑さ、低減されたリソース要件、改良された深度情報、より信頼性の高い及び/若しくは正確な深度情報、改良された3D体験、深度情報に基づくレンダリングされた画像の改良された品質、並びに/或いは改良された性能を可能にするので有利である。
【発明の概要】
【発明が解決しようとする課題】
【0017】
したがって、本発明は、好ましくは、上述した不利益のうちの1つ又は複数を単独で又は任意の組み合わせで緩和、軽減又は除去することを目的とする。
【課題を解決するための手段】
【0018】
本発明の態様によれば、深度マップを処理する方法が提供され、本方法は、深度マップを受信することと、深度マップの少なくとも第1のピクセルについて、候補深度値のセットを決定し、候補深度値のセットは第1のピクセル以外の深度マップの他のピクセルに対する深度値を含み、コスト関数に応じて、候補深度値のセットにおける候補深度値のそれぞれに対してコスト値を決定し、候補深度値のセットのコスト値に応じて、候補深度値のセットから第1の深度値を選択し、第1の深度値に応じて第1のピクセルに対して更新された深度値を決定するステップを行うこととを有し、候補深度値のセットは、第1のピクセルから第1の方向に沿った第1の候補深度値を含み、第1の方向に沿って、少なくとも1つのピクセルの第1の介在するピクセルセットが、候補深度値に対するコスト関数が第1の候補深度値に対するコスト関数を超えない候補深度値のセットのうちの当該候補深度値を含まず、第1のピクセルから第1の候補深度値までの距離が、第1のピクセルから第1の介在するピクセルセットまでの距離よりも大きい。
【0019】
本発明は、深度マップを改良して改良された3次元画像処理及び知覚レンダリング品質をもたらす。特に、本アプローチは、多くの実施形態及びシナリオにおいて、より一貫性のある及び/又は正確な深度マップを提供する。本処理は、多くの実施形態では、十分に低い複雑さ及び/又はリソース要求を維持しながら、改良された深度マップを提供する。
【0020】
多くの実施形態における利点は、本アプローチが、立体又はマルチビューの画像を使用して視差ベースの深度推定など、深度推定技術との使用及び統合に非常に好適であることである。
【0021】
本アプローチは、特に、相対的に低い複雑さ及び低リソース要求アプローチを使用して深度マップを改良する。本アプローチは、例えば、全体的な正確さを高めるのに十分であるピクセル当たりの相対的に少ない決定で、順次ビット走査及び処理を可能にする。
【0022】
深度マップは、画像のピクセルについて深度値を示す。深度値は、例えば、視差値、z座標、又は視点値からの距離を含む、深度を示す任意の値であってよい。
【0023】
第1のピクセルの処理は、反復ごとに選択される深度マップの新しいピクセルで反復されてよい。第1のピクセルの選択は、深度マップに対する走査シーケンスによる。ピクセルは、深度値が設けられる深度マップにおける位置/エリアに対応する。深度マップにおけるピクセルは、深度マップが深度を示す関連画像における1つ又は複数のピクセルに対応する。深度マップは、ピクセルごとに設けられる深度値を持つピクセルの2次元構成部によって形成される。このように、各ピクセル/深度値は、深度マップの(ピクセル)エリアについて設けられる。ピクセルへの言及は、(ピクセルに対する)深度値への言及であり、その逆でもある。ピクセルへの言及は、深度値に対する深度マップにおける位置への言及である。深度マップの各ピクセルは、1つの深度値につなげられる(その逆でもある)。
【0024】
コスト関数はメリット関数として実施され、コスト値はメリット値によって示される。コスト値に応じた第1の深度値の選択は、メリット関数から決定されたメリット値に応じた第1の深度値の選択として実施される。増加するメリット値/関数は、減少するコスト値/関数である。第1の深度値の選択は、最も高いメリット値を有する候補深度値のセットの候補深度値の選択である第1の深度値の選択と対応する/同等である、最低コスト値を有する候補深度値のセットの候補深度値の選択である。
【0025】
更新された深度値は、第1の深度値に依存している値を有する。これは、状況によっては、また、場合によりピクセルによっては、処理前の第1のピクセルの深度値と同じである更新された深度値になる。いくつかの実施形態では、更新された深度値は、第1の深度値の関数として、具体的には、第1の深度値よりも深度マップの他の深度値に依存しない関数として決定される。多くの実施形態では、更新された深度値は、第1の深度値と等しくなるように設定される。
【0026】
いくつかの実施形態では、第1の方向は、説明されるようなピクセルの介在するセットが存在する唯一の方向であってよい。いくつかの実施形態では、第1の方向は、説明されるようなピクセルの介在するセットが存在する第1のピクセルからの方向の角度間隔の方向であってよい。角度間隔は、1°、2°、3°、5°、10°、又は15°を超えないスパン/幅/範囲である又は有する。第1の方向は、そのような実施形態では、そのような角度間隔内の方向への言及に置き換えられてよい。
【0027】
候補深度値のセットは、候補深度値のセットに含まれない又は第1の候補深度値よりも高いコスト関数を有する第1の方向に沿った少なくとも1つのピクセルよりも第1のピクセルからさらに離れている第1の方向に沿った第1の候補深度値を含む。
【0028】
本発明の任意の特徴によれば、第1の方向に沿ったコスト関数は、距離が距離閾値より下である場合に第1のピクセルからの距離の関数としての単調に増加するコスト勾配と、第1のピクセルからの少なくとも1つの距離が閾値より上である場合に第1のピクセルからの距離の関数としての減少するコスト勾配とを有する。
【0029】
これは、多くの実施形態において改良された性能及び/又は実施を提供する。候補深度値に対するコスト関数が第1の候補深度値に対するコスト関数を超えない候補深度値のセットのうちの当該候補深度値を含まない少なくとも1つのピクセルの第1の介在するピクセルセットが存在し、第1のピクセルから第1の候補深度値までの距離が、第1のピクセルから第1の介在するピクセルセットまでの距離よりも大きいことを確実にする。
【0030】
距離の関数としての単調に増加する勾配は、距離を増加させるために常に増加するか、又は一定のままである勾配である。
【0031】
本発明の任意の特徴によれば、第1の介在するピクセルセットは、深度値が候補値のセットに含まれないピクセルのセットである。
【0032】
これにより、多くの実施形態では、改良された性能及び/又は実施を提供する。候補深度値に対するコスト関数が第1の候補深度値に対するコスト関数を超えない候補深度値のセットのうちの当該候補深度値を含まない少なくとも1つのピクセルの第1の介在するピクセルセットが存在し、第1のピクセルから第1の候補深度値までの距離が、第1のピクセルから第1の介在するピクセルセットまでの距離よりも大きいことを確実にする。
【0033】
本発明の任意の特徴によれば、コスト関数は、コスト関数が適用される候補深度値に一致する視差によってオフセットされたピクセルに対するマルチビュー画像の画像値間の差に依存しているコスト寄与を含む。
【0034】
本アプローチは、マルチビューの視差の考慮と組み合わされてマルチビュー画像に基づく有利な深度推定アプローチを提供する。本アプローチにより、例えば、初期深度マップは、マルチビュー画像の異なる画像間の一致に基づいて反復的に更新できる。
【0035】
本発明の任意の特徴によれば、本方法は、第1の方向を深度マップの重力方向として決定することをさらに有し、重力方向は、深度マップによって表されるシーンにおける重力の方向と一致する深度マップにおける方向である。
【0036】
これは、特に効率的な性能及び改良された深度マップを提供し、改良され且つしばしばより正確な深度マップを提供するためにシーンの典型的な特性を活用する。
【0037】
本発明の任意の特徴によれば、第1の方向は、深度マップにおける垂直方向である。
【0038】
これは、特に効率的な性能及び改良された深度マップを提供し、改良され且つしばしばより正確な深度マップを提供するためにシーンの典型的な特性を活用する。
【0039】
本発明の任意の特徴によれば、本方法は、深度マップによって表されたシーンの少なくとも一部に対して深度モデルを決定することをさらに有し、深度値に対するコスト関数は、深度値と深度モデルから決定されたモデル深度値との間の差に依存している。
【0040】
これは、特に効率的な性能及び改良された深度マップを提供し、改良され且つしばしばより正確な深度マップを提供するためにシーン物体の典型的な特性を活用する。コスト関数は、深度値とモデル深度値との間の差を増加するためにコストを増加させる。
【0041】
本発明の任意の特徴によれば、コスト関数は、深度値がモデル深度値を超えるか、又はモデル深度値より下であるかに関して非対称である。
【0042】
これは、多くの実施形態及びシナリオでは、特に有利な深度マップを提供する。
【0043】
本発明の任意の特徴によれば、深度モデルは、シーンに対する背景モデルである。
【0044】
これは、多くの実施形態及びシナリオでは、特に有利な深度マップを提供する。
【0045】
本発明の任意の特徴によれば、本方法は、深度マップからではない候補深度値のセットに候補深度値を含むことと、深度マップの時間的シーケンスの別の深度マップからの深度値、シーケンスは深度マップを含み、深度マップによって表されるシーンから独立している深度値、及び第1のピクセルに対する深度値のオフセットに応じて決定された深度値のうちの少なくとも1つの深度値を含むこととを、さらに有する。
【0046】
これは、多くの実施形態及びシナリオでは、特に有利な深度マップを提供する。
【0047】
本発明の任意の特徴によれば、深度値に対するコスト関数は、深度値のタイプに依存し、タイプは、深度マップの深度値、距離閾値よりも近い深度マップの深度値、距離閾値よりも遠く離れた深度マップの深度値、深度マップを含む深度マップの時間的シーケンスの別の深度マップからの深度値、第1の深度値の深度値に関してオフセットされたシーン独立深度値を有する深度値、深度マップによって表されるシーンから独立している深度値、及び第1のピクセルに対する深度値のオフセットに応じて決定された深度値のうちの少なくとも1つを含むタイプのグループのうちの1つである。
【0048】
これは、多くの実施形態及びシナリオでは、特に有利な深度マップを提供する。
【0049】
本発明の任意の特徴によれば、本方法は、複数のピクセルから新しい第1のピクセルを反復して選択し、新しい第1のピクセルごとにステップを行うことによって、深度マップの複数のピクセルを処理するように構成される。
【0050】
本発明の任意の特徴によれば、第1のピクセルからの第2の方向の候補深度値のセットは、第2の方向に沿った少なくとも1つのピクセルのピクセルセットが、候補深度値に対するコスト関数が第2の候補深度値に対するコスト関数を超えない候補深度値のセットのうちの当該候補深度値を含まない第2の候補深度値を含まず、第1のピクセルから第2の候補深度値までの距離が、第1のピクセルからピクセルセットまでの距離よりも大きい。
【0051】
これは、多くの実施形態及びシナリオでは、特に有利な深度マップを提供する。いくつかの実施形態では、第1の方向は、説明されるようなピクセルの介在セットが存在する唯一の方向であってよい。
【0052】
本発明の態様によれば、深度マップを処理する装置が提供され、本装置は、深度マップを受信する受信器と、深度マップを処理する処理器とを含み、処理は、深度マップの少なくとも第1のピクセルについて、候補深度値のセットを決定し、候補深度値のセットは第1のピクセル以外の深度マップの他のピクセルに対する深度値を含み、コスト関数に応じて、候補深度値のセットにおける候補深度値のそれぞれに対してコスト値を決定し、候補深度値のセットに対するコスト値に応じて、候補深度値のセットから第1の深度値を選択し、第1の深度値に応じて第1のピクセルに対して更新された深度値を決定するステップを行うことを有し、候補深度値のセットは、第1のピクセルから第1の方向に沿った第1の候補深度値を含み、第1の方向に沿って、少なくとも1つのピクセルの第1の介在するピクセルセットは、候補深度値に対するコスト関数が第1の候補深度値に対するコスト関数を超えない候補深度値のセットのうちの当該候補深度値を含まず、第1のピクセルから第1の候補深度値までの距離が、第1のピクセルから第1の介在するピクセルセットまでの距離よりも大きい。
【0053】
本発明のこれらの及び他の態様、特徴及び利点は、以下に説明される実施形態を参照して明らかにされ、解明される。
【0054】
本発明の実施形態は、一例としてのみ、以下の図面を参照して説明される。
【図面の簡単な説明】
【0055】
【
図1】本発明のいくつかの実施形態による深度マップを処理する方法の一例を示す。
【
図2】本発明のいくつかの実施形態による深度マップを処理する装置の例を示す。
【
図4】深度マップのいくつかのピクセルと深度値との例を示す。
【
図5】深度マップのいくつかのピクセルと深度値との例を示す。
【
図6】本発明のいくつかの実施形態による方法のための方向に沿ったコスト関数の例を示す。
【
図7】異なるプロセスによって生成された深度マップの例を示す。
【発明を実施するための形態】
【0056】
以下の説明は、画像の深度マップの処理に適用可能である本発明の実施形態、具体的には、マルチビュー深度推定方法の一部としてそのような深度マップを処理することに焦点を当てる。しかしながら、本発明は本出願に限定されず、他の多くのシナリオへ適用されることが理解されるだろう。
【0057】
シーンを表す画像は、今日、シーンにおける画像物体の深度の情報を提供する、即ち、画像に対して追加の深度データを提供する深度マップによって補完される。そのような追加情報は、例えば、視点移動、3D表現などを可能にすることによって多くの追加サービスを提供する。深度マップは、複数のピクセルのそれぞれに対して深度値を提供する傾向があり、ピクセルは、通常、第1の数の水平行及び第2の数の垂直列を持つ配列に配置される。深度値は、関連する画像のピクセルの深度情報を提供する。多くの実施形態では、深度マップの解像度は、画像の解像度と同じであるので、画像の各ピクセルは、深度マップの1つの深度値への1対1のつながりを有する。しかしながら、多くの実施形態では、深度マップの解像度は、画像のものよりも低く、いくつかの実施形態では、深度マップの深度値が、画像の複数のピクセルに対して共通である(具体的には、深度マップピクセルは、画像ピクセルよりも大きい)。
【0058】
深度値は、具体的には深度座標値(例えば、ピクセルのz値を直接提供する)又は視差値を含む、深度を示す任意の値である。多くの実施形態では、深度マップは、各ピクセルが深度(/視差)値を提供するピクセルの(行及び列を持つ)矩形配列である。
【0059】
シーンの深度の表現の正確さは、ユーザによってレンダリング且つ知覚される画像の結果として得られる品質における重要なパラメータである。したがって、正確な深度情報の生成が重要である。人工的なシーン(例えば、コンピュータゲーム)について、正確な値を達成することは相対的に容易であるが、例えば、現実世界のシーンの捕捉を要する用途については、これは非常に困難である。
【0060】
深度を推定するためのいくつかの異なるアプローチが提案された。1つのアプローチは、異なる視点からシーンを捕捉する異なる画像間の視差を推定することである。しかしながら、そのような視差推定は本質的に不完全である。さらに、本アプローチは、シーンが複数の方向から捕捉されることを必要とするが、例えば、レガシー捕捉については、そうではない。別の選択肢は、(一連の画像において)画像物体の動きが、さらに離れた物体に対してよりもカメラへ近い物体に対して、より高い傾向があることを活用する動きベースの深度推定を行うことである(例えば、並進カメラの場合、おそらくシーンにおける対応する物体の実際の動きを補正した後)。第3のアプローチは、シーンにおける深度の予め定められた(想定された)情報を活用することである。例えば、屋外シーン(及び実際にはほとんどの典型的な屋内シーン)では、画像における、より低い物体は、画像における、より高い物体よりも近くなる傾向がある(例えば、床又は地面は、高さを増加させるためにカメラまでの距離が増加し、空は、例えば、低い地面よりもさらに後方になる傾向がある)。したがって、予め定められた深度プロファイルは、好適な深度マップ値を推定するために使用される。
【0061】
しかしながら、ほとんどの深度推定技術は、完全な深度推定ではない傾向であるが、改良され且つ、通常、より高い信頼性及び/又は正確さの深度値が多くの用途にとって有利である。
【0062】
以下では、深度マップを処理且つ更新するアプローチについて説明する。本アプローチは、いくつかの実施形態では、深度推定の一部、具体的には、異なる視点からシーンを捕捉する複数の画像間の視差を考慮する深度推定アルゴリズムなどとして使用され、実際に、プロセスは、マルチビュー画像から深度を決定する深度推定アルゴリズムの統合された部分であってよい。しかしながら、これは本アプローチにとって必須ではなく、いくつかの実施形態では、本アプローチは、例えば、推定された深度マップの後処理として適用されることが理解される。
【0063】
本アプローチは、多くのシナリオでは、深度マップを改良し、より正確な深度情報を提供する。さらに、異なる深度推定考慮事項及びアプローチを組み合わせるためには好適であり、深度推定を改良するために使用される。
【0064】
本アプローチは、深度マップを処理する方法のフローチャートを示す
図1、及び本方法を実行する対応する装置の要素を示す
図2を参照して説明する。
【0065】
図2の装置は、具体的には、コンピュータ又は処理モジュールなどの処理ユニットであってよい。そのように、CPU、MPU、DSPなどの好適な処理器によって実施される。本装置は、当業者に知られるように処理器へ結合された揮発性及び不揮発性メモリをさらに備えてよい。さらに、好適な入力及び出力回路、例えば、ユーザインターフェース、ネットワークインターフェースなどが含まれてよい。
【0066】
図1の方法は、受信器201が深度マップを受信するステップ101で開始する。多くの実施形態では、深度マップは、関連する画像と共に受信される。さらに、多くの実施形態では、深度マップは、別個の深度マップにさらに関連する1つ又は複数の画像と共に画像に対して受信される。例えば、異なる視点からシーンを表す他の画像が受信される。いくつかの実施形態では、画像及び深度マップは、例えば、画像が映像シーケンスの画像又はフレームであるなど、画像及び深度マップの時間的シーケンスの一部である。このように、いくつかの実施形態では、受信器201は、他の時のために画像及び/又は深度マップを受信する。処理される深度マップ及び画像は、以降、それぞれ、第1若しくは現在の深度マップ、及び第1若しくは現在の画像とも称される。
【0067】
受信された第1の深度マップは、より正確な深度マップを生成するために処理される最初の第1の画像であってよく、具体的には、いくつかの実施形態では、深度推定プロセスへの初期入力である。以下の説明は、本方法が、マルチビュー深度推定プロセスの一部として使用される例に焦点を当て、深度推定は、異なる視点からの同じシーンの異なる画像間の視差の考慮を含む。このプロセスは、画像の可能な深度の非常に大まかな指示を提供する初期深度マップで初期化される。
【0068】
例えば、初期深度マップは、画像における画像物体を検出し、画像を画像物体及び背景に分割することによって簡単に生成される。背景セクションには予め定められた深度が割り当てられ、画像物体は、それらがさらに前方にあることを示す異なる予め定められた深度が決定されて、又は、例えば、別の画像における対応する画像物体の検索に基づいて大まかな視差推定が行われ、結果として得られる推定深度が画像物体全体に割り当てられる。結果として得られる深度マップの一例が
図3(a)に示される。
【0069】
別の例として、画像において高さを増加させるために増加深度などの深度の予め定められたパターンが割り当てられる。このような深度マップの例は、
図3(b)に示され、例えば、風景シーン及び画像に好適である。
図3(c)に示されるように、これらのアプローチは組み合わされてよい。
【0070】
多くの実施形態では、左/右の画像対は、例えば、事前に適合された3D深度モデルを使用して、ブロックベースの2D視差ベクトルフィールドを初期化するために使用される。このような実施形態では、深度値は、視点からの距離を直接示す視差値若しくは深度値であってよく、又はこれらから計算されてよい。このアプローチでは、地表及び背景などのシーンの幾何学的構造に関する知識を考慮する。例えば、3Dモデルに基づいて、2D視差フィールドが生成され、初期深度マップとして使用される。
【0071】
このように、説明されるアプローチでは、大まかで通常は不正確な初期第1の深度マップを有する初期第1の画像が受信器201によって、例では、異なる視点からシーンを表す少なくとも1つの他の画像と共に、受信される。アプローチは、次に、この深度マップを処理して、深度マップの異なるピクセルの実際の深度をよりよく反映する、より正確な深度マップを生成する。
【0072】
(1つ以上の)深度マップ及び(任意で)(1つ以上の)画像は、受信器201から処理器203へ供給され、処理器は、
図1を参照して以下に説明されるように残りの方法のステップを行うように配置される。
【0073】
次のアプローチは、原則として深度マップの深度値/ピクセルのサブセットのみに、又は、実際に、原則として深度マップの単一ピクセルのみに適用されることもできるが、このプロセスは通常、深度マップの全て又はほぼ全てのピクセルに適用される。用途は、通常、順次である。例えば、プロセスは、深度マップを通して走査して、処理するためにピクセルを順次選択する。例えば、方法は、左上隅から開始し、右下隅のピクセルが処理されるまで、まず水平に次に垂直に走査し、即ち、左から右へ、上から下への走査が適用される。
【0074】
さらに、多くの実施形態では、アプローチは反復されてよく、同じ深度マップへ反復的に適用されてよい。このように、1つの処理/更新から結果として得られる深度マップは、後続のプロセス/更新の入力深度マップとして使用される。多くの実施形態では、深度値の結果として生じる更新を伴う深度マップの走査は、複数回、繰り返され/反復され、例えば、5~10回の反復が行われる。
【0075】
本方法はステップ101で開始し、受信器201は上述のように深度マップを受信し、処理器203へ転送する。
【0076】
ステップ103では、次のピクセルが選択される。深度マップのプロセスを開始すると、次のピクセルは、通常、右上のピクセルなどの予め定められたピクセルである。そうでなければ、次のピクセルは、具体的には予め定められた走査シーケンス/順序などの、適用された処理のシーケンスによる次のピクセルであってよい。
【0077】
識別されたピクセルは、以降、第1若しくは現在のピクセルとも称されるが、本方法は次に進んで、このピクセルに対して深度値を決定する。第1若しくは現在のピクセルの深度値は、第1若しくは現在の深度値とも称され、初期及び更新された深度値という用語は、ピクセルの処理前後の値をそれぞれ、即ち、現在の反復の前後の深度マップの深度値をそれぞれ称するために使用される。
【0078】
ステップ105では、処理器203は進んで、候補深度値のセットを決定/選択する。候補深度値のセットは、候補ピクセルのセットに対する深度値を含むように選択される。現在の深度マップのピクセルの候補セットは、深度マップにおけるいくつかの他のピクセルを含む。例えば、候補セットは、例えば、現在のピクセルの所与の距離内、又は現在のピクセルの周囲のウィンドウ/カーネル内のピクセルのセットなど、現在のピクセルの周囲の近傍におけるピクセルに対する深度値を含むように選択される。
【0079】
多くの実施形態では、ピクセルの候補セットは、現在のピクセル自体の深度値も含み、即ち、第1の深度値は、それ自体、セットの候補深度値のうちの1つである。
【0080】
さらに、多くの実施形態では、候補深度値のセットは、他の深度マップからの深度値も含む。例えば、画像が映像ストリームの一部である多くの実施形態では、前の及び/又は後のフレーム/画像からの1つ又は複数の深度値も、候補深度値のセットに含まれ、或いは、深度マップが同時に推定される他のビューからの深度値が含まれる。
【0081】
いくつかの実施形態では、候補深度値のセットは、直接、深度マップの深度値ではない値をさらに含む。例えば、いくつかの実施形態では、候補深度値のセットは、1つ若しくは複数の固定深度値、又は、例えば、固定されたオフセットによって現在の初期深度値よりも大きい若しくは小さい深度値などの相対的なオフセット深度値を含む。別の例では、候補深度値のセットが、1つ又は複数のランダム又は半ランダムな深度値を含む。
【0082】
ステップ105に続いて、ステップ107では、コスト値が候補深度値のセットに対して決定され、具体的には、コスト値が候補深度値のセットの候補深度値ごとに決定される。
【0083】
コスト値は、後でより詳細に説明されるように、いくつかの異なるパラメータに依存しているコスト関数に基づいて決定される。多くの実施形態では、現在の深度マップのピクセルに対する候補深度値のコスト関数は、深度値に対応する視差によってオフセットされるマルチビュー画像の画像値間の差に依存する。このように、第1の深度値、又はおそらく候補深度値のセットに属する候補深度値のセットの候補深度値ごとについて、コスト関数は、候補深度値に一致する2つの画像ビュー間の視差を有する画像エリアにおけるマルチビュー画像の2つのビュー画像間の差の関数として単調に減少する。画像エリアは、具体的には、現在のピクセル及び/又は候補深度値のピクセルを含む画像エリアであってよい。画像エリアは、通常、例えば、画像の1%、2%、5%、若しくは10%以下の、及び/又は、例えば、100、1000、2000、5000、若しくは10000ピクセル以下のように、相対的に小さい。
【0084】
いくつかの実施形態では、処理器203は、所与の候補深度値に対して、深度値と一致する2つの画像間の視差を決定する。次に、この視差を適用して、その視差によって他の画像におけるエリアへオフセットされる、2つの画像のうちの1つにおけるエリアを識別する。2つのエリアにおける画像信号値、例えば、RGB値間の差の尺度が決定される。このように、候補深度値が正しいという仮定に基づいて、2つの画像/画像エリアに対して差の尺度が決定される。差が小さいほど、候補深度値が深度の正確な反映である可能性が高くなる。このように、差の尺度が低いほど、コスト関数は低くなる。
【0085】
画像エリアは、通常、第1/現在のピクセルの周囲の小さなエリアであり、実際に、いくつかの実施形態では、第1/現在のピクセルのみを含む。
【0086】
現在の深度マップに対応する候補深度値について、コスト関数は、したがって、候補深度値に対応する視差に対する、2つのマルチビュー画像間の一致に依存しているコスト寄与を含む。
【0087】
多くの実施形態では、時間的にオフセットされた深度マップ及び画像などの、画像に関連する他の深度マップの候補深度値に対するコスト値は、対応する画像一致コスト寄与も含む。
【0088】
いくつかの実施形態では、候補深度値のうちのいくつかのコストは、画像一致コスト寄与を含まない。例えば、深度マップ又は画像に関連していない予め定められた固定深度オフセットについて、例えば、固定されたコスト値が割り当てられる。
【0089】
コスト関数は、通常、深度値が現在のピクセルに対する正確な又は正しい深度値を反映する可能性を示すように決定される。
【0090】
メリット関数に基づくメリット値の決定、及び/又はメリット値に基づく候補深度値の選択は、本質的にコスト関数に基づくコスト値の決定、及び/又はコスト値に基づく候補深度値の選択でもあることが理解される。メリット値は、関数が任意の単調に減少する関数であるメリット値へ関数を適用するだけで、コスト関数に変換できる。メリット値が高いほどコスト値が低くなり、例えば、メリット値が最も高い候補深度値の選択は、最低値のコスト値を選択することと直接的に同じである。
【0091】
候補深度値のセットの候補深度値ごとにコスト値を決定するステップ107に続いて、ステップ109により、候補深度値のセットからの深度値が候補深度値のセットに対するコスト値に応じて選択される。選択された候補深度値は、以降、選択された深度値と称される。
【0092】
多くの実施形態では、選択は、最低コスト値が決定された候補深度値の選択である。いくつかの実施形態では、より複雑な規準が、他のパラメータも考慮して評価される(同等に、そのような考慮は、通常、(修正された)コスト関数の一部と考えられる)。
【0093】
したがって、現在のピクセルについて、本アプローチは、コスト関数によって決定される現在のピクセルに対して正しい深度値を反映する可能性が最も高いと考えられる候補深度値を選択する。
【0094】
ステップ109に続いて、ステップ111では、選択された深度値に基づいて現在のピクセルに対して更新された深度値が決定される。的確な更新は、個々の実施形態の特定の要件及び好みに依存する。例えば、多くの実施形態では、第1のピクセルに対する以前の深度値は、選択された深度値によって単に置き換えられてよい。他の実施形態では、更新は、初期深度値を考慮してよく、例えば、更新された深度値は、初期深度値と選択された深度値との重み付けされた組み合わせとして決定され、例えば、重みは、選択された深度値に対する絶対コスト値に依存している。
【0095】
したがって、続くステップ111では、現在のピクセルに対して更新又は修正された深度値が決定された。ステップ113では、処理されるべき現在の深度マップの全てのピクセルが実際に処理されたかどうかが評価される。通常、これは、画像における全てのピクセルが処理されたかどうかの決定、具体的には、走査シーケンスが終了に達したかどうかの検出に対応する。
【0096】
そうでない場合、本方法は、次のピクセルが選択されるステップ103へ戻り、この次のピクセルに対してプロセスが繰り返される。そうでなければ、本方法はステップ115へ進み、さらなる反復が深度マップへ適用されるべきかどうかが評価される。いくつかの実施形態では、1回の反復のみが行われ、ステップ115は省略される。他の実施形態では、プロセスは、例えば、ある停止規準が達成される(例えば、以前の反復で生じる変化の全体的な量が閾値より下になる)まで、又は予め定められた数の反復が行われるまで、反復して深度マップへ適用される。
【0097】
別の反復が必要とされる場合、本方法はステップ103へ戻り、次のピクセルは新しい反復における第1のピクセルとして決定される。具体的には、次のピクセルは、走査シーケンスにおける第1のピクセルである。それ以上の反復が必要とされない場合、本方法はステップ117へ進み、更新され且つ通常、改良された深度マップで終了する。深度マップは、例えば、出力回路205を介して、ビュー合成処理器などの別の機能へ出力できる。
【0098】
上記の説明が単一ピクセルへの適用に焦点を当てているのに対し、例えば、決定された更新深度値が第1のピクセルを含むブロック内の全ての深度値へ適用されるブロックプロセスが適用されることが理解される。
【0099】
候補深度値の特定の選択は、特定の用途に対する所望の動作及び性能に依存する。通常、候補深度値のセットは、現在のピクセルの近傍にある、いくつかのピクセルを含む。カーネル、エリア、又はテンプレートは、現在のピクセルを覆い、カーネル/エリア/テンプレート内のピクセルは、候補セットに含まれてよい。さらに、異なる時間フレーム(通常、深度マップが設けられる現在のフレームの直前又は直後)における同じピクセルが含まれ、並びに潜在的に、通常、現在の深度マップのカーネルよりも大幅に小さい近傍ピクセルのカーネルに含まれる。通常、少なくとも2つのオフセット深度値(それぞれ増加及び減少した深度に対応する)がさらに含まれる。
【0100】
しかしながら、計算の複雑さ及びリソース要求を低減するために、候補セットに含まれる深度値の数は、通常、大幅に、制限される。特に、全ての候補深度値が新しいピクセルごと、及び通常、反復ごとの深度マップの全てのピクセルについて評価されるので、追加の候補値ごとに多数の追加の処理ステップが生じる。
【0101】
しかしながら、達成できる深度マップの改良は、候補の特定の選択及び重みに大きく依存する傾向があり、実際、これは最終的な深度マップの品質に大きな影響を与える傾向があることも判明した。このように、品質/性能と計算リソース要件との間の相殺は非常に困難であり、候補深度値の決定に非常に敏感である。
【0102】
多くの典型的な用途では、ピクセルごとの候補深度値のセットにおいて約5~20以下の候補深度値を有することがしばしば好まれる。多くの実用的なシナリオでは、映像シーケンスに対して実時間処理を達成するために、約10の候補へ候補深度値の数を制限する必要がある。しかしながら、候補深度値の数が相対的に少ないことにより、どの候補深度値をセットに含むかの決定/選択が非常に重大になる。
【0103】
現在の深度値を更新するために考慮する深度マップの候補深度値のセットを決定するときの直感的なアプローチは、現在のピクセルへ近い深度値を含むことであり、重み付けは、さらに離れた深度値を選択する可能性が低く(又は少なくともそれ以上ではない)ようにすることであり、即ち、他の全てのパラメータが同じ場合、さらに離れたものよりも現在のピクセルへより近い候補深度値が選択される。このように、直感的なアプローチは、現在のピクセルの周囲の(通常は非常に小さい)近傍にピクセルを含むカーネルとして候補深度値のセットを生成することであり、コスト関数は現在のピクセルからの距離とともに単調に増加する。例えば、候補深度値のセットは、現在のピクセルから1又は2ピクセルの距離の予め定められた距離内にある全てのピクセルとして決定されてよく、第1のピクセルからの距離とともに増加するコスト関数が適用されてよい。
【0104】
しかしながら、このような直感的なアプローチが多くの実施形態では有利な性能を提供するが、発明者は、多くの用途では、方向においてより近いピクセルよりも、その方向に沿って、より離れたピクセルを選択するバイアスを増加させるという直感に反するアプローチをとることによって有利な性能が達成できることを認識した。このアプローチでは、このように、より離れたピクセルを選択する確率は、方向に沿ってより近いピクセルに関して増加する。
【0105】
いくつかの実施形態では、これは、候補深度値のセットに含まれない1つ又は複数のピクセルよりも1つ又は複数のさらに離れたピクセルを含むように選択/生成/作成/決定される又は含む方向に沿った候補深度値のセットによって達成される。例えば、方向に沿って最も近い1つ又は複数のピクセルが候補深度値のセットに含まれ、続いて候補深度値のセットに含まれない1つ又は複数のピクセルが続き、次に候補深度値のセットに含まれる1つ又は複数のさらに離れたピクセルが続く。
【0106】
そのようなアプローチの一例は
図4に示される。この例では、現在の深度値/ピクセル403を囲む4つの近傍深度値/ピクセル401が、候補深度値のセットに含まれる。候補深度値のセットは、現在の深度値がさらに含まれてよい。しかしながら、さらに候補深度値のセットは、所与の方向407に沿って遠く離れた深度値/ピクセル405を含むように配置される。遠く離れた深度値/ピクセル405は、現在のピクセル403からΔピクセルの距離にあり、Δ>2であり、通常、はるかに大きい。この例では、候補深度値のセットは、時間的隣接深度マップにおいて同じ位置にあるピクセル409に対する深度値をさらに含む。
【0107】
したがって、この例では、7つの深度値のみを含む候補深度値のセットが作成され、システムは、次に進んで、これらの深度値のそれぞれについてコスト関数を評価することによってコスト値を決定する。次に、最低コスト値を有する深度値を選択し、例えば、これを選択された候補深度値の値へ設定することによって、現在の深度値を更新する。候補深度値の数が少ないため、非常に速い及び/又は低いリソースを要求する処理が行われることができる。
【0108】
さらに、どれだけ多くの候補深度値が評価されるかにおける制約にもかかわらず、近接深度値だけではなく1つ又は複数の遠く離れた深度値も含むアプローチは、実際には、例えば、生成される、より一貫性のある及び/又は正確な更新された深度マップをしばしば提供する特に有利な性能を提供することが判明した。例えば、多くの深度値は、シーンに存在し且つ実質上、同じ距離にある物体を表す。さらに離れた深度値を考慮すると、多くの状況では、同じ物体に属すが、例えば、局所画像ノイズが少ないので、より良い深度推定を提供する深度値が含まれることになる。特定の方向の考慮には、例えば、幾何学的特性又は画像に対する捕捉の向きとの関係などの、物体のありそうな特性が反映される。例えば、背景について、深度は水平に相対的に一定であり、垂直に変化する傾向があるので、水平方向にさらに離れたピクセルを識別すると、現在のピクセルとさらに離れたピクセルとの両方が同じ(背景)深度を表す可能性が高くなる。
【0109】
したがって、いくつかの実施形態では、候補深度値のセットは、介在するピクセルのセットよりもさらに離れた現在のピクセルからの方向に沿った第1の候補深度値を含むように決定されるが、その方向に沿って、介在するセットは、第1の候補深度値よりも現在のピクセルへ近いが、深度値は候補深度値に含まれない1つ又は複数のピクセルを含む。いくつかの実施形態では、したがって、第1の候補深度値のピクセル位置と、候補深度値のセットに含まれない1つ又は複数のピクセルが存在する現在のピクセルとの間の方向に沿った間隙がある。多くの実施形態では、間隙は、第1の候補深度値と、候補深度値のセットに含まれる1つ又は複数の近接ピクセルとの間にある。
【0110】
いくつかの実施形態では、候補セットは、現在のピクセルが属する画像物体又は画像物体タイプに基づいて適合される。例えば、処理器203は、深度マップにおいて画像物体を検出するために(例えば、関連する画像においてそれらを検出することによって)画像物体検出プロセスを行うように配置される。次いで、検出された画像物体によって候補セットを調整する。また、いくつかの実施形態では、第1の方向は、現在のピクセルが属する画像物体の特性に応じて適合されてよい。例えば、ピクセルは特定の画像物体又は物体タイプに属することが知られ、第1の方向は、例えば、画像物体に対する最長方向などの、この物体の特性に応じて決定されてよい。例えば、水上のボートは、垂直方向よりも水平方向に大幅により長い延長を有する傾向があるので、第1の方向は水平方向として決定される。また、垂直方向よりも水平方向にさらに延びる候補セットが選択されてよい。
【0111】
いくつかの実施形態では、システムは、あるタイプの物体(車、飛行機など)を検出し、次に進んで、分類されたピクセルのカテゴリに基づいて候補セットを調整する。
【0112】
いくつかの実施形態では、方向に沿ったより近い深度値よりも少なくとも1つのさらに離れた深度値の重み付けの増加は、方向に沿った1つ又は複数のピクセルを候補深度値のセットに含まれることから除外することによって達成されない。いくつかの実施形態では、第1の方向に沿った全てのピクセルは、現在のピクセルからさらに離れたピクセルまで含まれてよく、以後、それぞれ、第1の候補深度値及び第1の候補ピクセルと称される。
【0113】
このような実施形態では、より低いバイアスを持つ候補深度値の介在するセットに属する深度値に対する第1の候補深度値のバイアスの増加は、コスト関数を適切に設計することによって達成される。具体的には、コスト関数は、第1の候補深度値に対して、コスト関数が、第1のピクセルへ近い1つ又は複数の深度値に対するコスト関数よりも低くなる。
【0114】
いくつかの実施形態では、方向に沿ったコスト関数は、第1のピクセルから候補深度値までの、コスト関数が距離閾値より下である距離に対して評価される距離に関して単調に増加するコスト勾配と、閾値より上である、第1のピクセルからの少なくとも1つの距離に対する距離に関して減少するコスト勾配とを有する。したがって、距離閾値までは、コスト関数は、第1のピクセルまでの距離の増加に伴って増加し、又は一定である。しかしながら、距離閾値を超える少なくとも1つの距離について、代わりに、コスト関数は減少する。
【0115】
例えば、距離閾値は、介在するセットの最後のピクセルまでの距離に対応する。このように、コスト関数は、介在するセットの最も遠いピクセルまでの且つそのピクセルを含むピクセルに対して増加する(又は一定になる)。しかしながら、この最も遠いピクセルと第1の候補ピクセルとの間の距離に伴うコスト勾配は減少する。したがって、第1の候補深度値に対するコスト関数は、現在のピクセルへより近い方向に沿った少なくとも1つのピクセルよりも低くなる。
【0116】
1つのピクセルに対するコスト関数が別のピクセルに対するよりも小さい又は低いということは、コスト関数によって決定された結果として得られるコスト値が、他の全てのパラメータが同じである場合、即ち、位置以外の全てのパラメータが、同じである2つのピクセルに対している場合、より小さい/低いことを意味する。同様に、1つのピクセルのコスト関数が別のピクセルに対してよりも大きい又は高いということは、コスト関数によって決定された結果として得られるコスト値が、他の全てのパラメータが同じである2つのピクセルに対して考慮される場合、より大きい/高いことを意味する。また、1つのピクセルに対するコスト関数が別のピクセルを超えるということは、コスト関数によって決定された結果として得られるコスト値は、他の全てのパラメータが、同じである2つのピクセルに対して考慮される場合、他を超えることを意味する。
【0117】
例えば、コスト関数は通常、いくつかの異なるパラメータを考慮し、例えば、コスト値はC=f(d,a,b,c,...)として決定され、ここで、dは、現在のピクセルに関するピクセルの位置(距離など)を称し、a,b,c,...は、関連する画像の画像信号値、他の深度値の値、滑らかさパラメータなど、考慮される他のパラメータを反映する。
【0118】
ピクセルAに対するコスト関数f(d,a,b,c,...)は、パラメータa,b,c,...が2つのピクセルに対して同じである場合にC=f(d,a,b,c,...)がピクセルBに対してよりもピクセルAに対して、より低いと、ピクセルBに対してよりも低い(他の項についても同様である)。
【0119】
コスト関数を使用してさらに離れたピクセルをバイアスする例が
図5に示される。この例は、
図4の例に対応するが、候補深度値のセットは、方向に沿った全てのピクセルをさらに含み、即ち、ピクセル501~507も含む。しかしながら、この例では、コスト関数は、いくつかの介在するピクセル、具体的にはピクセル501~507よりも高い第1の候補深度値をバイアスするように配置される。
【0120】
可能なコスト関数及び第1のピクセルからの距離dへの依存性の一例が
図6に例示される。この例では、コスト関数は隣接ピクセル401に対して非常に低く、次に、ピクセル501に対して距離とともに増加する。しかしながら、第1の候補ピクセルについて、コスト関数は、ピクセル501に関して減少するが、依然として隣接ピクセル401に対してより高いままである。したがって、このコスト関数を適用することにより、第1の候補深度値は、介在するピクセル501よりも高くバイアスするが、隣接ピクセル401ほどではない。
【0121】
したがって、本アプローチでは、候補深度値のセットは、介在するピクセルセットよりも、現在のピクセルから大きな距離にある第1のピクセルから第1の方向に沿って第1の候補深度値を含む。介在するピクセルセットは、少なくとも1つのピクセルを含み、介在するセットの全てのピクセルは、候補深度値のセットに含まれていないか、又は第1の候補深度値よりも高いコスト関数を有するかのいずれかである。このように、介在するピクセルセットは、候補深度値に対するコスト関数が第1の候補深度値に対するコスト関数を超えない当該候補深度値を含まない。したがって、候補深度値のセットは、候補深度値のセットに含まれない、又は第1の候補深度値よりも高いコスト関数を有する第1の方向に沿った少なくとも1つのピクセルよりも、第1のピクセルからさらに離れた第1の方向に沿った第1の候補深度値を含む。
【0122】
いくつかの実施形態では、これは、深度値が候補値のセットに含まれないピクセルのセットである介在するピクセルセットに直接対応する。いくつかの実施形態では、これは、候補ピクセル/深度値に対するコスト関数が第1の候補深度値のコスト関数を超える少なくとも1つの当該候補ピクセル/深度値を含む介在セットに直接対応する。いくつかの実施形態では、これは、距離が距離閾値より下である場合、第1のピクセルから候補深度値までの(コスト値が決定される)距離に関して単調に増加するコスト勾配と、第1のピクセルからの少なくとも1つの距離が閾値より上である場合、距離に関して減少するコスト勾配とを有する方向に沿ったコスト関数に直接対応する。
【0123】
的確なコスト関数は、特定の実施形態に依存する。多くの実施形態では、コスト関数は、深度値に一致する視差によってオフセットされるピクセルに対するマルチビュー画像の画像値間の差に依存するコスト寄与を含む。前述したように、深度マップは、異なる視点からシーンを捕捉するマルチビュー画像セットの画像(又は画像のセット)に対するマップであってよい。したがって、異なる画像間で同じ物体の位置間に視差があり、その視差は物体の深度に依存している。したがって、所与の深度値について、マルチビュー画像の2つ以上の画像間の視差を計算できる。したがって、いくつかの実施形態では、所与の候補深度値について、他の画像への視差が決定されるので、深度値が正しいと仮定して、第1のピクセル位置の他の画像における位置が決定できる。それぞれの位置にある1つ又は複数のピクセルに対して、色又は輝度値などの画像値が比較され、好適な差尺度が決定できる。深度値が実際に正しい場合は、深度値が正しい深度ではない場合よりも、画像値が同じであり且つ差尺度が小さい可能性が高くなる。したがって、コスト関数は、画像値間の差の考慮を含んでもよく、具体的には、コスト関数は、増加する差尺度に対して増加するコストを反映する。
【0124】
このような一致規準を含むことによって、このアプローチは、マルチビュー画像の画像間の視差に基づく深度推定の不可欠な構成要素として使用される。深度マップは初期化され、次に、繰り返し処理され、更新は、画像値の差が小さくなる方へバイアスする。このように、本アプローチは、統合された深度の決定及び異なる画像間の検索/一致を効果的に行う。
【0125】
アプローチでは、第1の方向における、さらに離れた深度値は、したがって、第1の方向に沿って、第1のピクセルへより近い少なくとも1つの深度値よりも高くバイアス/重み付けする。いくつかの実施形態では、これはおそらく複数の方向について当てはまるが、多くの実施形態では、1つの方向又は小さな間隔内、例えば、1°、2°、3°、5°、10°、又は15°の間隔内の方向について(のみ)当てはまる。同等に、方向は、1°、2°、3°、5°、10°、又は15°以下の角度間隔の程度を有すると考えられる。
【0126】
したがって、多くの実施形態では、アプローチは、第1のピクセルから第2の方向に沿った任意の候補深度値について、第1のピクセルまでの距離がより短い第2の方向に沿った全ての深度値が候補深度値のセットに属し、第2の方向に沿ったコスト関数が距離とともに単調に増加する(他の全てのパラメータが同じである場合)というものである。
【0127】
ほとんどの実施形態について、第1のピクセルからの第2の方向に対する候補深度値のセットは、第2の方向に沿った少なくとも1つのピクセルのピクセルセットが、コスト関数が第2の候補深度値に対するコスト関数を超えない候補深度値のセットのうちの候補深度値を含まない第2の候補深度値を含まず、第1のピクセルから第2の候補深度値までの距離は第1のピクセルからピクセルセットまでの距離よりも大きい。
【0128】
実際に、通常、1つの方向のみが、候補深度値のセットに含まれない、又は含まれているがより高いコスト関数を有する1つ又は複数のピクセルよりもさらに離れた候補深度値を含む。
【0129】
さらに離れた深度値/ピクセルが(潜在的に小さい角度間隔を含む)一方向へ制限されると考慮することにより、多くの実施形態では、特に有利な性能を可能にする。それにより、アプローチは、さらに離れたピクセルを考慮することを、さらに離れたピクセルが正しい深度を反映する可能性が特に高い状況へ制約するシーンの特定の特性に適合されることができる。
【0130】
特に、多くの実施形態では、第1の方向は、深度マップ/画像/シーンにおける重力の方向に対応する。本発明者は、重力の方向に沿ってさらに離れたピクセルを考慮することによって、そのような深度値が正しい可能性が大幅に増加されるので、有利な動作が達成されることを認識した。
【0131】
特に、発明者は、多くの実用的なシーンでは、物体が地面上に位置づけられ又は立ち、そのようなシーンでは、物体全体の深度は、通常、重力の方向において最も遠い物体の部分での深度に匹敵することを認識した。本発明者はさらに、これは通常、物体に対する深度値が、局所近傍の深度値よりも深度マップにおいて重力の方向における深度値へ、しばしば、より類似している深度マップにおける対応する関係に変換されることを認識した。例えば、平らな面上に立っている人の頭は、深度が足の深度とほぼ同じになる。しかしながら、頭の周囲の近傍の深度は、遠い背景に対応するピクセルを含むため、大幅に異なる。したがって、近傍の深度のみに基づく深度処理は、足に対するよりも頭に対して信頼性及び正確さが低くなる可能性がある。しかしながら、記載されたアプローチにより、本方法は、近傍だけでなく、重力の方向におけるさらに離れた深度値及びピクセルも含むことができる。例えば、人の頭に対する深度値を処理するとき、記載されたアプローチにより、1つの候補深度値が人の足からの深度値となる(これは、特に数回の反復後に、正確な深度をより正確に反映する)。
【0132】
図7は、達成される改良の一例を例示する。この図は、画像、遠方重力方向候補を考慮しない対応するプロセスの適用後の対応する深度マップ、及び最後に、遠方重力方向候補を考慮しないプロセスの適用後の深度マップを例示する。部分701と703とを比較すると、左端の選手の頭が第1の例では間違った深度値を有するが、第2の例では適切な深度値を有することがわかる。
【0133】
いくつかの実施形態では、深度マップにおける重力の方向は、予め決定されてよく、第1の方向は、予め決定されてよい。特に、多くの典型的な深度マップ及び画像について、水平捕捉が行われ(又は、後処理が画像とシーンとの水平方向を揃えるように行われ)、方向は、深度マップ/画像の垂直方向として予め決定されてよい。特に、方向は、画像における上下方向であってよい。
【0134】
いくつかの実施形態では、処理器203は、深度マップにおける重力方向が深度マップによって表されるシーンにおいて重力の方向に対応する方向である深度マップにおいて、重力方向として第1の方向を決定するように配置される。
【0135】
いくつかの実施形態では、そのような決定は、例えば、深度マップが更新される画像を捕捉するカメラのレベルインジケータからなどの入力の評価に基づいてよい。例えば、立体カメラが水平に関して例えば30°の角度にあることを示すデータが受信された場合、第1の方向は、深度マップ及び画像において垂直方向に対して30°オフセットされた方向として決定される。
【0136】
多くの実施形態では、深度マップにおける重力方向は、深度マップ及び/又は画像の解析に基づいてよい。例えば、重力方向は、ピクセルの色の青の量に比例するピクセルごとの重み付けで、画像の中心から平均加重画像のピクセル位置までを指すベクトルと反対に選択される。これは、写真における青い空を使用して重力方向を決定する簡単なやり方である。いわゆるエピポーラ線が水平になるように立体画像の対(又はマルチビュー画像)を整流するアプローチが知られている。重力は常に、エピポーラ線へ直交していると仮定されてよい。
【0137】
いくつかの実施形態では、コスト関数は、シーンの少なくとも一部に対する深度モデルの考慮を含んでよい。そのような実施形態では、処理器203は、予想される深度モデルを決定するために深度モデルを評価するように配置される。コスト関数は、次に、深度値と深度モデルから決定されたモデル深度値との差に依存する。
【0138】
深度モデルは、深度マップの少なくともいくつかの深度値に深度制約を課すモデルであってよく、深度制約は絶対的又は相対的であってよい。例えば、深度モデルは、深度マップ上へ投影されると、画像物体に対応するピクセルに対する深度値間の対応する深度関係をもたらすシーン物体の3Dモデルであってよい。このように、シーン物体の絶対深度は知られていないが、どのタイプの物体がシーン物体によって表されているかが知られている場合は、深度関係が暗示できる。別の例として、深度モデルは、静的接地平面及び/又は静的背景に対して推定される視差モデルであってよく、或いは、例えば、動的に移動する平面状又は円筒状物体のセットの(例えば、競技場上の運動選手を表す)視差モデルであってよい。
【0139】
コスト関数は、このように、モデルを評価して、深度モデルにより候補深度値に対する期待される深度値を決定する。次に、実際の深度値を期待値と比較し、(少なくともいくつかの深度値に対して)差が増加するにつれて単調に増加するコスト寄与を決定する。
【0140】
いくつかの実施形態では、コスト寄与は、非対称であってよいので、深度値が期待値よりも高いか低いかに依存して異なってよい。例えば、モデルよりさらに離れる深度値が、モデルよりも近い深度値よりも大幅に高いコスト寄与をもたらすように、異なる関数が適用されてよい。これにより、モデルよりもさらに前方の深度へ向かって更新をバイアスする。このようなアプローチは、モデルが背景深度の指示/推定を提供する背景モデルであるときに特に有利である。このような場合、コスト寄与により、深度マップが更新されて深度を反映する可能性が低くなり、その結果、物体が深度背景よりもさらに後方にレンダリングされる知覚的に重要なアーチファクト/エラーが生じる。
【0141】
実際に、場合によっては、背景深度よりも高い深度を示す深度値に対するコスト寄与は、高いので、この深度値が選択される可能性が非常に低く、例えば、モデル比較からのコスト寄与は、そのような場合、非常に高い値へ(原則として無限大でさえ)設定される。
【0142】
例として、モデル評価に対するコスト寄与は、以下によって与えられる。
【数1】
ここで、D
candidateは視差として表された候補深度値であり、D
modelは視差として表されたモデル深度値であり、z
candidate及びz
modelは視点からの距離として与えられる対応する深度であり、ここで、Kは、推定された深度プロファイルが適合されたモデルよりもカメラからさらに離れることを回避するために非常に高い値へ設定できる設計パラメータである。その場合、適合されたモデルは事前背景モデルとして働き、その上にアルゴリズムが深度マップに対して画像物体を置く。モデル寄与は、モデルからの大きな視差偏差にさらにペナルティを科す。
【0143】
いくつかの実施形態では、深度マップ自体からの候補深度値のみが、候補深度値のセットに対して考慮される。しかしながら、いくつかの実施形態では、候補深度値のセットは、他の候補深度値を含むように生成される。先に述べたように、候補深度値のセットは、深度マップを含む深度マップの時間的シーケンスの別の深度マップからの1つ又は複数の深度値を含む。具体的には、映像シーケンスにおける前及び/又は後のフレームの深度マップからの深度値が含まれる。いくつかの実施形態では、候補深度値のセットは、第1のピクセルに対する深度値のオフセットに応じて決定された深度値を含んでよい。例えば、候補深度値のセットは、現在のピクセルに対する深度値へ予め定められたオフセットを付加することによって生成された深度値、及び/又は現在のピクセルに対する深度値から予め定められたオフセットを減算することによって生成された深度値を含んでよい。
【0144】
異なるタイプの深度値を含めると、多くの用途及びシナリオでは改良された性能を提供し、具体的には、しばしば、制約の少ない、より大幅な更新が可能になる。さらに、異なるタイプの深度値は、現在のピクセルに対する正しい深度を示す異なるタイプの潜在的な可能性を考慮するコスト関数を設計することによって含まれてよい。具体的には、コスト関数は深度値のタイプに依存してよいので、コスト関数が適用される深度値のタイプを考慮に入れてよい。より具体的には、コスト関数は、深度値が、深度マップの深度値、距離閾値よりも近い(例えば、すぐ近傍における)深度マップの深度値、距離閾値よりも遠く離れた深度マップの深度値(例えば、重力方向に沿ってさらに離れたピクセル)、深度マップを含む深度マップの時間的シーケンスの別の深度マップからの深度値、深度マップによって表されるシーンから独立している深度値、又は第1のピクセルに対する深度値のオフセットに応じて決定された深度値であるかどうかを考慮に入れる。当然、多くの実施形態では、これらのサブセットのみが考慮される。
【0145】
一例として、以下のコスト関数は、候補深度値のセットの各候補深度値に対して評価されてよい。
Ctotal=w1Cmatch+w2Csmoothness+w3Cmodel+w4Ccandidate
ここで、Cmatchは、現在のビューと他の1つ又は複数のビューとの一致エラーに依存するコストであり、Csmoothnessは空間的な滑らかさの両方に重み付けし、一定の色の強度を持つ領域内の深度遷移にペナルティを科す。そのようなコスト値/寄与を決定するいくつかの異なるアプローチは、当業者に知られており、簡潔にするために、これらはこれ以上説明しない。コスト構成要素Cmodelは、記載されたモデルコスト寄与度であり、事前の既知又は推定視差モデルからの視差の偏差を反映してよい。Ccandidateは、例えば、時間的隣接深度マップなど、同じ深度マップからであるかどうかなど深度値のタイプに依存するコスト寄与を導入してよい。
【0146】
一例として、C
candidateは、以下によって与えられる。
【数2】
ここで、全ての候補の合計された候補コストは1に等しい。
Σ
kp
k=1
別個の候補に対する典型的なコスト値の一例は以下である。
p
1=0,p
2=0.05,p
3=0.9,p
2=0.05
【0147】
局所近傍候補のコストは、そのような隣接が良い予測因子である可能性が非常に高いため、通常、小さくなる。同じことが時間的な隣接候補にも当てはまるが、コストは、速く移動する物体に対してエラーを回避するために少し高くなる。オフセット更新のコストは、ノイズの導入を回避するために高くしなければならない。最後に、遠く離れた(重力)候補のコストは、空間距離が大きいので、通常の局所近傍候補のコストよりも通常、高い。異なる低い位置での複数のそのような候補(Δに対する異なる値)が使用されてよい。この場合、処理中のピクセルからの距離Δを増やす関数としてコストを増加できる。
【0148】
明確にするための上記の説明は、異なる機能回路、ユニット及び処理器を参照して本発明の実施形態を説明したことが理解されよう。しかしながら、異なる機能回路、ユニット又は処理器間の機能の任意性の好適な配分が、本発明を損なうことなく使用されることは明らかであろう。例えば、別個の処理器又は制御器によって行われるように例示された機能性は、同じ処理器又は制御器によって行われてよい。このゆえに、特定の機能ユニット又は回路への参照は、厳密な論理的又は物理的構造又は組織を示すのではなく、説明された機能性を提供するための好適な手段への参照としてのみ見られるべきである。
【0149】
本発明は、ハードウェア、ソフトウェア、ファームウェア又はこれらの任意の組み合わせを含む任意の好適な形態で実施できる。本発明は、任意で、1つ又は複数のデータ処理器及び/又はデジタル信号処理器上で実行するコンピュータソフトウェアとして少なくとも部分的に実施されてよい。本発明の実施形態の要素及び構成要素は、任意の適切なやり方で物理的、機能的及び論理的に実施されてよい。実際に、機能性は、単一のユニットで、複数のユニットで、又は他の機能ユニットの一部として実施されてよい。そのため、本発明は、単一のユニットで実施されてよく、又は異なるユニット、回路及び処理器間で物理的及び機能的に配分されてよい。
【0150】
本発明はいくつかの実施形態に関連して説明されたが、本明細書に記載される特定の形態に限定されることは意図されない。むしろ、本発明の範囲は、添付の特許請求の範囲によってのみ限定される。さらに、特徴が指定の実施形態に関連して説明されているように見えるが、当業者であれば、説明された実施形態の様々な特徴が本発明により組み合わされることを認める。特許請求の範囲において、含むという用語は、他の要素又はステップの存在を排除するものではない。
【0151】
さらに、個々に列挙されているが、複数の手段、要素、回路又は方法のステップは、例えば、単一の回路、ユニット又は処理器によって実施される。さらに、個々の特徴が異なる請求項に含まれてよいが、これらはおそらく有利に組み合わされてよく、異なる請求項に含まれることは、特徴の組み合わせが実現可能及び/又は有利ではないことを暗示するものではない。また、請求項の1つのカテゴリに特徴を含めることは、このカテゴリへの制限を暗示するものではなく、むしろ、その特徴が必要に応じて他の請求項カテゴリにも等しく適用可能であることを示す。さらに、請求項における特徴の順序は、特徴が働かなければならない特定の順序を暗示するものではなく、特に方法請求項における個々のステップの順序は、ステップがこの順序で行わなければならないことを暗示するものではない。むしろ、ステップは任意の好適な順序で行われてよい。さらに、単数形の参照は複数を除外しない。このように「1つの」、「第1の」、「第2の」などへの言及は、複数を排除するものではない。請求項における参照記号は、単に明確な例として提供され、特許請求の範囲をいかなるようにでも限定するものとは解釈されない。
【国際調査報告】