(57)【特許請求の範囲】
【請求項１】
少なくとも2つの画像から推定され、かつ、1組の行および列を形成する画素の行列を有する、深度マップまたは視差マップの遮蔽領域を充填する方法において、前記マップの各画素は、画素値と呼ばれる深度値または視差値と関連し、無効画素と呼ばれる遮蔽領域の任意の画素は、無効であると識別可能な画素値に関連し、
前記マップの各行を1画素ずつ既定の方向に処理するステップ(E1、E2、E10)と、現在行で遭遇する(E3)各無効画素Piに画素値を割り当てるステップ(E4〜E9)とを含み、前記現在行で前記無効画素Piに続き、かつ、前記現在行で前記無効画素Piに先行する最後の有効画素P0がある場合に、その値V(P0)に対して値V(P1)がより大きな深度またはより小さな視差に対応する、最初の有効画素P1がある場合、その周りの既定の近傍内の画素に関連する値の関数として、前記画素値は決定され、有効画素P0はある(E5)が有効画素P1はない場合、または有効画素P0がない(E5)場合、画素値が前記無効画素Piに割り当てられ、前記現在行で前記無効画素Piに続く最初の有効画素P2がある場合、その周りの既定の近傍内の画素に関連する値の関数として、前記画素値は決定されることを特徴とする方法。
【請求項２】
有効画素P2がない場合(E22)、前記画素P0の周りの既定の近傍内の画素に関連する値の関数として決定される画素値が、前記無効画素Piに割り当てられる(E24、E25、E9)、またはデフォルト値Vdが前記無効画素Piに割り当てられる(E14)請求項1に記載の方法。
【請求項３】
前記無効画素Piに割り当てられる前記画素値は、当該の画素の近傍内の画素に関連する値の関数として、当該の近傍内の画素の前記値に対するメディアンまたは平均値の数学関数の適用により決定される請求項1または2に記載の方法。
【請求項４】
当該の画素の周りの近傍は、前記当該の画素を中心とした有効画素のブロックからなる請求項1から3のいずれか1項に記載の方法。
【請求項５】
前記深度マップまたは視差マップは、1対の右側画像および左側画像から得られ、前記マップの画素の行を処理する前記既定の方向は、前記マップが前記左側画像から推定される場合は、右から左の方向に、前記マップが前記右側画像から推定される場合は、左から右の方向に対応する請求項1から4のいずれか1項に記載の方法。
【請求項６】
請求項1から5のいずれか1項に記載の方法を用いて、遮蔽領域を充填する動作(D)を含むことを特徴とする深度マップまたは視差マップをデジタル処理する方法。
【請求項７】
前記遮蔽領域を充填する前記動作(D)の前に、前記マップの遮蔽領域内の推定エラーを除去することを意図する、クロージャモルフォロジフィルタリングの動作(B)が先行する請求項6に記載の処理する方法。
【請求項８】
前記遮蔽領域を充填する前記作用(D)の前に、前記マップの全体にわたる、既定のサイズのブロックごとに解析される画素の値のメディアンフィルタリングを用いた、前記マップの局所的均一化の動作(C)が先行する、請求項6または7に記載の処理する方法。
【請求項９】
深度マップまたは視差マップをデジタル処理する装置において、請求項1から5のいずれか1項に記載の充填方法を使用するように構成された前記マップの遮蔽領域を充填するモジュール(63)を含むことを特徴とする装置。
【請求項１０】
遮蔽領域の前記充填の前に、前記マップの前記遮蔽領域内の推定エラーを除去するクロージャモルフォロジフィルタモジュール(61)をさらに含むことを特徴とする請求項9に記載の装置。
【請求項１１】
前記遮蔽領域の前記充填の前に、前記マップの全体にわたる、既定のサイズのブロックごとに解析される前記画素値のメディアンフィルタリングを用いた、前記マップの局所的均一化を行うモジュール(62)をさらに含むことを特徴とする請求項9または10に記載の装置。
【請求項１２】
デジタル画像を処理するコンピュータプログラムにおいて、前記プログラムがコンピュータシステムで実行されるときに、請求項1から5のいずれか1項に記載の方法を実行するように構成された命令を含むことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像の処理、および詳細には、少なくとも2つの画像から推定される深度マップまたは視差マップ内の遮蔽領域を充填するための技術に関する。
【背景技術】
【０００２】
深度マップ(depth map)または視差マップとして知られているマップは、浮彫効果表示(display in relief)、3次元でのシーンの再構成、および映像画像での仮想空間移動等の3次元映像(3D映像)で従来から使用されている。これらのマップは、複数のビデオカメラにより取得される、または同じ映像での異なる時間に対応する、立体視映像(stereoscopic video)または多視点映像(multiview video)が元になる同じシーンの少なくとも2つの画像からの推定の処理により得られる。
【０００３】
一般的には、立体視コンテンツを送信する特定の場合で、2つの方法が使用されている。第1の方法では、人間の視覚システムを再現するように配置された1対の従来型のビデオカメラが使用され、各カメラは1つの目に対応している。ユーザには、取得された2つの単眼映像シーケンスが送信される。別の方法では、各画素に関連する深度情報が付随する、ただ1つの単眼カラー映像シーケンスが送信される。この場合、深度マップに基づくレンダリングアルゴリズムにより、ユーザエンドでは1つまたは複数の仮想視点を合成することができる。この深度マップの方法は、送信のために使用される帯域幅全体を低減するという特別の利点を有しており、データ圧縮を伴う映像符号化に直接適用可能である。
【０００４】
従来から何が深度マップおよび視差マップと呼ばれているかを定義し、かつ説明を簡単にするために、例えばビデオカメラにより、2つの異なる視点から同じシーンの2つの画像が生成される、2眼式立体視の特定の場合を考えてみる。2つの画像は、従来から右側画像および左側画像と呼ばれている。本明細書の文脈では、所与の画像(例えば、右側画像または左側画像)に対応する深度マップは、各画素が、当該の画素のカメラからの距離に特有な色(例えば灰色の陰影(shade of grey))を示す値に関連しているデジタル画像である。
【０００５】
図1は深度マップを示しており、そこでは、画像内に出現する物体の、シーンを撮影したカメラに対する距離が、最も近い物体に対する白から最も遠い物体に対する黒までの濃淡階調で示される。すなわちこの例では、テーブルおよび花が入った花瓶は、より薄い色合いであるが、このシーンの最も近い物体(前景)であり、示されているスクリーンは、最も遠い物体(背景)のように見える。
【０００６】
図2aおよび図2bは、それから深度マップを推定することが可能な、1対の立体視画像を示す。図2aは左側画像を示し、図2bは右側画像を示す。
【０００７】
視差マップは、上述の2つの画像のステレオスコピックマッチング(stereoscopic matching)の結果を具体的に表現したものである。ステレオスコピックマッチングは、左側画像および右側画像の中に、相同である画素、すなわちシーンでの同じ実体の映像である画素を探し出すことである。視差マップは、このマッチングの結果を視覚的に示す1つの方法であり、視差マップの各画素は、視差の大きさ、すなわち左側画像内の画素の位置と、右側画像内でそれに対応するものの位置との間の距離を示す。このように、視差マップの各画素は、視差の大きさの色特性を示す値に関連している。この従来型の処理は、ここでも灰色の色合いを使用する。例えば、画素が暗くなるにつれて、視差は小さくなり、完全に白い画素は、2つの画像の1つの中に対応するものがない画素を示す。
【０００８】
画像の所与の画素に関連する深度値が高くなるにつれて、対応する視差値は低くなることを説明するのは容易である。このように、深度と視差は大きさが両者で反比例の関係にあるが、本発明は、深度マップまたは視差マップに対し等しく適用することができる。残りの説明では、深度マップおよび視差マップは交替可能に言及され、マップという用語は、これらのマップのどちらかを指す。
【０００９】
深度マップまたは視差マップの使用は、映像での仮想空間移動、浮彫効果表示、3Dモデリング、および映像符号化等の新興の技術の流れの中では、最も重要なものである。異なる視界からの予測により得られる深度マップは、深度マップを用いて視界を予測することにより圧縮を実行する圧縮の応用例に対しても使用することができる。このタイプの方法では、冗長な情報の送信を制限する目的で、同じシーンの他の映像内の対応する視界を予測するために深度マップが使用されるが、特に、複数の映像および関連する深度マップからなるMVD(多視点映像および深度)データが用いられる。最終的な応用例が何であっても、したがってこれらのマップの精度は、再構成される視界の品質に対して、および符号化の応用例での効率的な映像圧縮に対して、クリティカルである。
【００１０】
特に、深度/視差マップの品質は、当該のマップ内の遮蔽領域(occluded area)の存在と結びついている。遮蔽領域は、マップの領域であって、それに対して画素が当該画像のうち1つの画像中に対応するものを持たず、ただ1つの画像内で見える部分を有するものである。これらの遮蔽領域は、本質的には、シーン内の遮蔽物体と呼ばれる物体により発生するものである。遮蔽物体は、すなわち、2つの画像(右側または左側)の一方で、示されたシーンの、他方の画像では直接見ることができる特定の領域をマスクする物体である。遮蔽領域は、本質的には、マップ内で深度の不連続により発生する境界の周りに見られる。
【００１１】
図3は、グラフカットに基づく周知のアルゴリズムを用いて推定される、視差マップの一例を示す。より正確には、使用されるアルゴリズムは、例えば非特許文献1の文書内で説明されているものである。
【００１２】
示された画像では、白い領域が上述のグラフカットアルゴリズムにより検出された遮蔽領域であり、それのために、画素値を決定することは、図2aおよび図2bでそれぞれ示される左側画像および右側画像内に対応するものがないため、可能ではなかった。
【００１３】
したがって、深度マップまたは視差マップ内のこれらの遮蔽領域を考慮することは、これらのマップに基づく再構成または合成の処理により得られる画像の品質を高めるために必要である。特に、欠けている情報に対応する遮蔽領域内の空白部を検出かつ/または充填することが課題である。
【００１４】
上述の深度マップまたは視差マップの欠陥を処理するための周知の技術は、特に、深度マップまたは視差マップから再構成される画像に作用する技術の第1の種類を含む。
【００１５】
この第1の種類の解決方法は、例えば非特許文献2の文書で説明されている。これらの解決方法によれば、再構成される画像内の空白部は、それらの近傍から得られる値を伝搬させること(propagating)により充填される。しかしながら、深度マップまたは視差マップから再構成される画像に作用するこの種類の技術は、深度マップの特有の特徴を利用するにしてもほとんど利用しないという欠点を有する。それらのマップは、テクスチャの細部、および物体の相対的な位置の深度への影響がない等、テクスチャ付きの2次元(2D)画像とは異なる特徴を有するデータを示す。
【００１６】
周知の技術の第2の種類は、深度マップまたは視差マップに直接作用する。例えば、非特許文献3の文書では、遮蔽領域またはテクスチャのない領域を高めるために、深度マップに対し適用可能な後処理が説明されている。この後処理は、非線形拡散、すなわち、エッジ検出と組み合わされたガウス平滑化による充填に基づいている。
【００１７】
非特許文献4の文書で説明されている別の技術では、遮蔽画素に最も近い2つの有効画素の深度値を比較することにより、背景を伝搬させる。
【００１８】
図4aおよび図4bはそれぞれ、図3からの視差マップの細部、およびグラフカットに基づく周知の技術を用いて遮蔽領域を充填した後の同じ細部を示す。図4bで示される画像は、すなわち、図3からの視差マップと同じ細部であるが、画像を1行ずつ取り扱い、遮蔽領域の無効画素を、現在行(行が沿う方向は、深度マップが関連する画像の関数である)でその無効画素に続く最初の有効(非遮蔽)画素で充填するアルゴリズムを用いて、遮蔽領域を充填した後のものを示す。そのような充填アルゴリズムは、例えば、非特許文献5の文書で説明されている。
【００１９】
充填後に得られた図4bの画像で、人物の左に、特にその右手の周りに見える白い領域は、遮蔽領域を充填する際に発生したエラーに対応する。これらのエラーは、主として、間違った値が割り当てられていて、そのために充填処理を混乱させた遮蔽領域の画素により、でなければ、例えば画像で示された人物の右手の周りのように、細部の損失を発生させた充填中の不正確な値の伝搬により発生する。
【先行技術文献】
【非特許文献】
【００２０】
【非特許文献１】「Multi-camera scene reconstruction via graph cuts」、V. KolmogorovおよびR. Zabih、Proceedings of the European Conference on Computer Vision、2002
【非特許文献２】「Stereoscopic imaging: Filling disoccluded areas in image-based rendering」、C. Vazquez、W.J. Tam、およびF. Speranza、Proceedings of the SPIE Three-Dimensional TV, Video, and Display、第6392巻、0D1〜0D12頁、2006
【非特許文献３】「Improving depth maps by nonlinear diffusion」、J. YinおよびJ.R. Cooperstock、Proc. 12th International Conference Computer Graphics, Visualization and Computer Vision、Pizen、Czech Republic、2004年2月
【非特許文献４】「Design Considerations for View Interpolation in a 3D Video Coding Framework」、Yannick Morvan、Dirk Farin、およびPeter H.N. de With、27th Symposium on Information Theory in The Benelux、第1巻、2006年6月、Noordwijk、Netherlands
【非特許文献５】「Occlusions in motion processing」、Abhijit Ogale、Cornelia Fermuller、およびYiannis Aloimonos、SpatioTemporal Image Processing、2004年3月、London、UK
【発明の概要】
【発明が解決しようとする課題】
【００２１】
深度マップまたは視差マップに直接作用する技術は、このように、遮蔽領域内のエラーやアーチファクト(artifact)を適切に処理できない、および/または、特に示された物体のエッジで、適用された処理のために、不鮮明な外見を生じさせるという欠点を有する。さらに、無効画素に隣接する最初の有効画素の値のみを比較することにより、特に凹形の物体に関して、背景の伝搬は確かなものではない。
【００２２】
したがって、上述の技術は深度マップまたは視差マップの欠陥、ならびにこれらのマップの欠陥から結果として生じるアーチファクト、不正確な値の伝搬、および細部の損失を部分的にのみ処理する。というのは、深度/視差マップから予測される画像を用いた、再構成される画像で、および浮彫効果表示(display in relief)の間、遮蔽領域の存在により矛盾が発生するためである。
【００２３】
そのため、視差マップおよび深度マップの品質を、特に物体の輪郭の周りのそれらの精度に関して向上させる真の必要性がある。
【課題を解決するための手段】
【００２４】
特に上述した必要性に対処するために、本発明の第1の側面は、深度マップまたは視差マップの遮蔽領域を充填する方法を提供する。
【００２５】
この方法では、マップは少なくとも2つの画像から推定され、1組の行および列を形成する画素の行列からなり、マップの各画素は、「画素値」と呼ばれる深度値または視差値と関連し、「無効画素」と呼ばれる遮蔽領域の任意の画素は、無効であると識別可能な画素値に関連している。
【００２６】
本発明によれば、この方法は、
・マップの各行を1画素ずつ既定の方向に処理するステップと、
・現在行で遭遇する各無効画素Piに値を割り当てるステップであって、前記値は、現在行で無効画素Piに続き、かつ、現在行で無効画素Piに先行する最後の有効画素P0がある場合にその値V(P0)に対して値V(P1)がより大きな深度またはより小さな視差に対応する、最初の有効画素P1がある場合、その周りの既定の近傍内の画素に関連する値の関数として決定されるステップと
を含む。
【００２７】
無効画素に対して、上で説明したようにして得られた値を割り当てることにより行われる、遮蔽領域のそのような充填により、背景(すなわち、最大の深度値または最低の視差値)、および背景のみを伝搬することが可能になる。というのは、遮蔽物体により発生する遮蔽領域は、遮蔽物体の後側の位置にある物体と同じ側の位置に常にあり、そのことが、既定の方向で行を処理する際に考慮されるからである。無効画素に割り当てられる深度(視差)値を、行からの遮蔽領域の前での最後の値より非常に高い(低い)ように強制することにより、空白部を充填するために使用される値が背景に対応することが確かなものになる。本発明のこの方法により空白部を充填することで、特に、背景ではなく、物体の画素が伝搬するのを防止することが可能になり、かつ、必要に応じて、特に凹形の物体に関して頻繁に発生することであるが、画像の部分が結合すべきでないときに結合するのを防止することが可能になる。したがって、特に、同じ凹形の物体内の細部を保存すること、例えば人物では、特に腕と手との間の区別を保存することが可能である。
【００２８】
本発明の方法の好ましい特徴によれば、
・有効画素P0はあるが有効画素P1はない場合、画素値が無効画素Piに割り当てられ、この画素値は、現在行で無効画素Piに続く最初の有効画素P2がある場合、その周りの既定の近傍内の画素に関連する値の関数として決定される。
・有効画素P2がない場合、画素値が無効画素Piに割り当てられ、この画素値は、画素P0の周りの既定の近傍内の画素に関連する値の関数として決定される。
・有効画素P0がない場合、画素値が無効画素Piに割り当てられ、この画素値は、現在行で無効画素Piに続く最初の有効画素P2がある場合、その周りの既定の近傍内の画素に関連する値の関数として決定され、そうではなく、有効画素P2がない場合、デフォルト値Vdが無効画素Piに割り当てられる。
【００２９】
本発明の好ましい実装では、無効画素Piに割り当てられる画素値は、当該の画素の近傍内の画素に関連する値の関数として、当該の近傍内の画素の値に対するメディアンまたは平均値の数学関数の適用により決定される。
【００３０】
実際には、画素の周りの近傍は、当該の画素を中心とした有効画素のブロックからなる。
【００３１】
深度マップまたは視差マップが1対の右側画像および左側画像から得られる、ある特定の応用例では、マップの画素の行を処理する既定の方向は、マップが左側画像から推定される場合は、右から左の方向に、マップが右側画像から推定される場合は、左から右の方向に対応する。
【００３２】
遮蔽領域は、一方のカメラから他方に移れば覆われていない領域であり、したがって基本的には、並列画像または補正(rectified)画像(すなわち、カメラを収束させた(converging cameras)画像取得に対応するが、ここでは2つの画像のエピポーラ線はそろえられている)に対しては、右側(または(respectively to)左側)画像に対しては、物体の左に(または右に)位置する。
【００３３】
本発明はまた、上で簡潔に定義されたような充填方法によりマップの遮蔽領域を充填するステップを含む、深度マップまたは視差マップをデジタル処理する方法を提供する。
【００３４】
本発明のデジタル処理方法の特定の特徴によれば、遮蔽領域を充填する作用の前に、
・マップの遮蔽領域内の推定エラーを除去することを意図する、クロージャモルフォロジフィルタリング(closure morphological filtering)の作用、および/または、
・マップの全体にわたる、既定のサイズのブロックごとに解析される画素の値のメディアンフィルタリングを用いた、マップの局所的均一化(local uniformization)の作用
が先行することができる。
【００３５】
関連する方法では、本発明は、深度マップまたは視差マップをデジタル処理するための装置を提供し、この装置は、上で簡潔に定義されたような本発明の充填方法を使用するように構成された、マップの遮蔽領域を充填するためのモジュールを含むという点で注目される。
【００３６】
本発明はさらに、コンピュータシステムで実行されるときに、深度マップまたは視差マップをデジタル処理するために、本発明の方法を実行するための命令を含むという点で注目される、デジタル画像処理コンピュータプログラムを提供する。ここで、コンピュータシステムという表現は、デジタルデータを処理するように構成された、任意のプロセッサに基づく装置を意味する。
【００３７】
本発明のコンピュータプログラムおよびデジタル処理装置により得られる利点は、特に、本発明の充填方法、または深度/視差マップをデジタル処理するための本発明の方法に関して上で述べたことを含む。
【００３８】
本発明は、単に例として与えられる以下の詳細な説明を読み、および各図面を参照すれば、よりよく理解することができる。
【図面の簡単な説明】
【００３９】
【図１】深度マップの一例を示す図である。
【図２ａ】深度マップを推定することが可能な、1対の立体視画像の一方を示す図である。
【図２ｂ】深度マップを推定することが可能な、1対の立体視画像の他方を示す図である。
【図３】グラフカットに基づく周知のアルゴリズムを用いて推定される、視差マップの一例を示す図である。
【図４ａ】図3の視差マップからの細部を示す図である。
【図４ｂ】従来型の技術を用いて遮蔽領域を充填した後の同じ細部を示す図である。
【図５ａ】深度マップまたは視差マップ内の遮蔽領域を充填する、本発明の方法のメインステップを示すフローチャートである。
【図５ｂ】深度マップまたは視差マップ内の遮蔽領域を充填する、本発明の方法のメインステップを示すフローチャートである。
【図６】充填作用の前に、マップの推定エラーの除去の作用、およびマップの局所的均一化の作用が先行する、本発明の1つの実装での深度/視差マップをデジタル処理するための方法および装置を示す図である。
【図７ａ】モルフォロジフィルタの適用前の、図4aで示されたマップの同じ細部を示す図である。
【図７ｂ】モルフォロジフィルタの適用後の、図4aで示されたマップの同じ細部を示す図である。
【図８ａ】モルフォロジフィルタの適用後に得られた視差マップに対する局所的均一化フィルタの適用の結果に関し、局所的均一化フィルタの適用前のマップを示す図である。
【図８ｂ】モルフォロジフィルタの適用後に得られた視差マップに対する局所的均一化フィルタの適用の結果に関し、局所的均一化フィルタの適用後のマップを示す図である。
【図９】遮蔽領域を充填するための本発明による処理後の、図8bからの視差マップを示す図である。
【発明を実施するための形態】
【００４０】
図5aおよび図5bは、深度マップまたは視差マップ内の遮蔽領域を充填するための、本発明の方法のメインステップのフローチャートを示す。上述のように、深度マップおよび視差マップは反比例のデータに対応するので、本発明は深度マップまたは視差マップに対し交替可能に適用される。
【００４１】
本発明の方法は、少なくとも2つの画像、例えば右側画像および左側画像から推定されるか、そうでなければ、例えば圧縮アルゴリズムに基づいた異なる視界からの予測でのように、別の視界からの予測により得られる、深度マップまたは視差マップに対し適用される。
【００４２】
問題のマップは、従来から、1組の行および列を形成する画素の行列からなる。マップの各画素は、画素値と呼ばれる深度値または視差値と関連している。この値は、典型的には、8ビットで符号化される2進数値であり、0から255までの10進数値とみなすことができる。この範囲内の値で、いくつかは有効な深度/視差値であり、特定の値が無効値である。したがって、遮蔽領域を示すために選択された色が白である場合、関連する深度/視差値は、典型的には10進数値255である。したがって、マップの遮蔽領域に対応する画素は、関連する画素値から無効であると識別可能である。
【００４３】
実際には、深度/視差マップの遮蔽領域を充填するための本発明の方法は、データ処理システム内で実行されるコンピュータプログラムにより実施され、処理すべきマップは、あらかじめデータ処理システム内に格納されている。本発明の方法は、深度/視差マップ(以下ではマップと呼ばれる)を1行ずつとみなし、各行に対しては1画素ずつとみなす。マップの各行は、1画素ずつ既定の方向に処理される。
【００４４】
したがって、実際には、マップが右側画像および左側画像を備える1対の画像から得られた場合、マップの画素の行を処理する方向は、マップが左側画像から推定された場合は右から左の方向に対応する。一方、マップが右側画像から推定された場合は、マップの画素の行を処理する方向は、左から右である。
【００４５】
図5aに示されるように、深度/視差マップの遮蔽領域を充填するための本発明の方法は、マップの行を選択するステップ(E1)から開始され、この行は現在行と呼ばれる。次いで、選択された行から画素を選択するステップ(E2)に進み、この画素は現在画素Pcと呼ばれる。
【００４６】
検査ステップE3では、現在画素Pcが無効画素か否かが、関連する画素値が無効値(例えば、白に対応する値255)に対応するか否かに応じて判定される。その結果、現在画素が有効である場合(検査E3、'0')、それは遮蔽領域にはないので、次いで検査ステップE10が実行され、現在行の処理が完了したかどうか、およびマップが完全に処理されたかどうかが判定される。
【００４７】
そうして、ステップE10で現在行の処理が完了していないと判定された場合(E10、'00')、現在行の次の画素を選択するためにステップE2に戻る。現在行のすべてが処理されたがマップのすべての行は処理されていない場合(E10、'10')、マップから別の行、例えば処理された行の直下の行を選択するためにステップE1に戻る。最後に、マップのすべての行が処理された場合、マップの処理は完了したことになる(E10、'11')。
【００４８】
現在画素Pcが、ステップE3で無効であると判定された場合(Pc=Pi; E3、'1')、P0と記される、行上で無効画素Piに先行する最後の有効画素に対する検索(ステップE4)が行われる。実際には、マップの任意の行を処理するとき、検査された画素のそれぞれに関する情報(位置、有効性、関連する値など)が格納され、それにより、すでに検査された画素に関する情報を後から非常に迅速に得ることが可能になる。
【００４９】
そのような画素P0が存在する場合(E5、'1')、現在行を既定の方向に処理することにより、最初の有効画素P1に対する検索(ステップE6)が行われる。この最初の有効画素P1は、行上で無効画素Piに続き、関連する画素値V(P1)が、画素P0の値V(P0)より大きな深度(または、視差マップを処理する場合は、より低い視差)に対応するようになっている。画素P0に対してより大きな深度に対応する、検索された画素P1は、図5aでは、不等式V(P1) > V(P0)の条件により記号化される。
【００５０】
実際には、当該の無効画素Piの後の位置にある有効画素に対する検索は、本発明の方法のユーザが変更することが可能な、複数の画素、例えば50画素により定義される固定した範囲内でなされる。
【００５１】
そのような画素P1が存在する場合(ステップE7、'1')、ステップE8では、画素P1の周りの画素の近傍N1が決定され、その後ステップE9で、Vcal(Pi)と記される、無効画素Piに割り当てるべき深度(または視差)値が計算される。
【００５２】
本発明によれば、深度値Vcal(Pi)は、画素P1の周りの画素の近傍N1内にある画素に関連する深度(または視差)値の関数として決定され、ステップE8での式「Ncal=N1」は、深度値Vcal(Pi)の計算に対する画素の近傍N1の割り当てを記号により示している。
【００５３】
実際には、画素の周りに決定される近傍は、問題の画素を中心とした画素のブロック、例えば5つの有効画素からなるブロックからなることが可能である。
【００５４】
本発明の好ましい実装では、当該の無効画素Piに割り当てるべき値Vcal(Pi)は、当該の画素の近傍にある画素の値の数学的メディアンを計算することにより決定される。あるいは、数学的メディアンの代わりに数学的平均値を使用することができる。このように、画素P1の周りの画素の近傍N1に対して、近傍N1の画素に関連する深度(または視差)値のメディアンが計算される。
【００５５】
ステップE7に戻ると、マップの現在行で、無効画素Piに続き、画素P0に対してより大きな深度に対応する有効画素P1がない場合(ステップE7、'0')、適用される処理はケース2と表され、図5bに示される。この場合、現在行上で無効画素Piに続く最初の有効画素P2に対する検索が行われる(ステップE21)。そのような画素P2がある場合(E22、'1')、画素P2の周りの画素の近傍N2が上述のように決定され(ステップE23)、その後で、(図5bのステップE25を経由して)ステップE9(図5a)に戻る。ステップE9(「Val_Pi」と記される)では、Vcal(Pi)と記され、無効画素Piに割り当てるべき深度値または視差値が、画素P2の周りの画素の近傍N2内の画素に関連する深度(または視差)値の関数として計算される。実際には、近傍N2の画素に関連する深度(または視差)値の数学的メディアンが計算される。
【００５６】
一方、そのような画素P2がない場合(ステップE22、'0')、あらかじめ(ステップE4)決定された画素P0が使用され、それによって、N0と記される、画素P0の周りの画素の近傍が上で説明されたように決定される(ステップE24)。その後で、(図5bのステップE25を経由して)図5aのステップE9に戻る。ステップE9では、無効画素Piに割り当てるべき深度(または視差)値Vcal(Pi)は、画素P0の周りの画素の近傍N0内の画素に関連する深度(または視差)値の関数として計算される。実際には、近傍N0の画素に関連する深度(または視差)値の数学的メディアンが計算される。
【００５７】
最後に、図5aのステップE5で、現在行上で無効画素Piに先行する有効画素P0がない場合(E5、'0')、ケース1と表され、図5bに示された処理が適用される。この場合、現在行上で無効画素Piに続く最初の有効画素P2に対する検索が行われる(ステップE11)。そのような画素P2が存在する場合(E12、'1')、画素P2の周りの画素の近傍N2が先に説明したように決定され(ステップE13)、その後で、(図5bのステップE16を経由して)図5aのステップE9に戻る。ステップE9では、Vcal(Pi)と記され、無効画素Piに割り当てるべき深度(または視差)値が、画素P2の周りの画素の近傍N2内の画素に関連する深度(または視差)値の関数として計算される。実際には、近傍N2の画素に関連する深度(または視差)値の数学的メディアンが計算される。
【００５８】
一方、そのような画素P2がない場合(ステップE12、'0')、画素Piには、Val_defと記されるデフォルト値が割り当てられる(ステップE14)。この後、上で説明された図5aの検査E10に戻る(ステップE15)。
【００５９】
実際には、無効画素Piに割り当てられるデフォルト値Val_defは、例えば、平均の深度(または視差)に対応する128に等しいように決められる。
【００６０】
図6は、充填作用の前に、マップの推定エラーを除去する作用、およびマップを局所的に均一にする作用が先行する、深度/視差マップをデジタル処理するための本発明の1つの実装の方法および装置を示す。
【００６１】
図6に示されるように、深度マップまたは視差マップをデジタル処理するための本発明の装置は、マップの遮蔽領域を充填するためのモジュール63を含み、さらに、以下に説明するそれぞれの機能の2つの追加のモジュール61および62の1つまたは両方を含むことができる。最後に、深度/視差マップをデジタル処理するための本発明の装置はまた、複数の画像から深度マップまたは視差マップを推定するためのモジュール60を含むことができる。
【００６２】
1つの好ましい実装では、これらのモジュールは、実際には、深度/視差マップをデジタル処理するための本発明の方法を実行するように構成された命令を含む、1組のコンピュータプログラムからなる。それにより、この方法は、上述の組のプログラムが、コンピュータまたはデータ処理システム内で実行されるときに実行される。
【００６３】
図6に示される実施形態では、同じシーンの2つの(右側および左側)画像Imは、Aと記される、2つの画像Imから視差マップを推定する作用を実行するために、ソフトウェアモジュール60に供給される。例えば、モジュール60はグラフカットに基づくアルゴリズムで、例えば上で言及され、かつ非特許文献1の文書内で説明されたものを使用することができる。図3に示すように、モジュール60は結果として、その出力に視差マップCinを供給する。
【００６４】
示され、かつ説明された実施形態では、入力画像(Im)に対して視差(または深度)マップを推定する間に、モジュール60により発生した推定エラー(アウトライア(outlier)として知られる)を除去するために、視差マップCinはモジュール61に引き継がれる。これらのエラーは、本質的には、視差マップ内の遮蔽領域により発生する。1つの実施形態では、モジュール61は視差マップに対し、視差推定アルゴリズムにより充填されなかった遮蔽領域内にのみ、周知のクロージャモルフォロジフィルタを適用する。図4aおよび図4bに示したように、このフィルタリングにより、遮蔽領域内のアウトライアがそれらの領域の充填を妨げないように、そのアウトライアを除去することが可能になる。モルフォロジフィルタは、マップ内の空白部を平滑化し、それによって、無効画素の近傍からの値を用いた、後に続く遮蔽領域の充填によるエラーの伝搬を防ぐことが可能になる。
【００６５】
図7aおよび図7bはそれぞれ、モルフォロジフィルタの適用前の(図7a)、およびモルフォロジフィルタの適用後の(図7b)、図4aで示された視差マップの同じ詳細を示す。このように、左側画像(図7a)内の環状領域内の2つの灰色の点は、その画像内に示される人物の右手親指の周りに存在する推定エラーに対応するが、右側画像(図7b)内では消失してしまった。
【００６６】
再び図6を参照すると、説明された実施形態では、上述のモルフォロジフィルタリング(作用B)を受けた後で、視差マップは、局所的均一化モジュール62により実行される局所的均一化作用Cを受ける。
【００６７】
フィルタリングの第2段階が、この作用Cの間に視差マップに適用される。作用Bの間に適用されるフィルタリングに対して、この第2段階のフィルタリングは、視差マップを局所的に均一化し、その上に物体の輪郭のすべての細部を保存するように、マップの全体に対し適用される。こうして、適用されたフィルタリングにより、特に映像に関して、視差/深度マップを時間的にきわめて変わりやすくする、非常に詳細な物体(例えば木)により発生する小さな遮蔽領域を、除去または統合することが特に可能になる。
【００６８】
モジュール62により適用されるフィルタリングの第2段階は、以下の方法で作用する。アウトライアは、視差/深度画像全体から検出される。マップの各画素に対し、近傍Vは、当該の画素を中心としたブロック内に含まれるすべての近傍画素viに対応するものとする。ブロック内の近傍画素viは、当該の画素pに関連する値に対して、類似する値を有する、および異なる値を有するブロックの画素の数を評価するために調査される。当該の画素のブロックは、例えば1辺の長さが7画素の正方形であってよいが、ブロックのサイズは、処理される画像の種類の関数として、本発明の画像処理装置のユーザにより変更することができる。
【００６９】
画素値の類似性および相違性の概念は、処理をより堅牢にするために、しきい値s1およびs3に基づいて定義される。すなわち、画素pの周りの近傍V内の画素viは、それらの値の間の差が、以下の式で表されるように、しきい値s1(例えば、10に設定できる)より小さい場合、類似しているものとする。
【００７０】
【数１】
0005474061.tif 000002
【００７１】
同様に、例えば40に設定できるしきい値s3に基づいた、値の相違性の概念は、以下のように定義される。
【００７２】
【数２】
0005474061.tif 000003
【００７３】
解析されたブロックの当該の各画素に対して、ブロック内の類似する画素の割合がしきい値s2以下である場合、および/または、異なる画素の割合がしきい値s4より大きい場合、当該の画素はアウトライア(エラー画素)として検出される。以下の値、例えばs2=30%およびs4=60%を使用することができる。アウトライアであると識別された画素に割り当てるべき補正値は、エラーを検出するために使用されたブロックのメディアンフィルタリングにより得られるものである。
【００７４】
適用される処理は、以下の式により要約される。
【００７５】
【数３】
0005474061.tif 000004
【００７６】
使用されるしきい値s1、s2、s3、およびs4は、当該の画像またはシーケンスの関数として、ユーザにより変更することができる。
【００７７】
図8aおよび図8bは、上述のフィルタモジュール61により使用されるようなモルフォロジフィルタの適用後に得られた視差マップに対する、上で説明したような局所的均一化フィルタの適用の結果を示す。特に、図8aは全体として視差マップを示し、図7bで示された細部はそこから得られる。図8bは、均一化フィルタの図8aのマップへの適用後に得られるマップを示す。
【００７８】
図8aおよび図8bを比較すればわかるように、図8aの画像に存在する白い点が、図8bの画像では消失してしまった。したがって、上で説明したフィルタモジュール62による局所的均一化フィルタリングにより、図8aのマップ内に存在する画素であって、それらの近傍と幾何学的に矛盾がある画素が、図8bのマップ内で処理されている。
【００７９】
最後に、図9は、遮蔽領域を充填するための本発明による、上で説明した充填モジュール63が処理した後の、図8bからの視差マップを示す。
【００８０】
図9のマップを、図3に示される初期のマップ、および、図4bで示され、従来技術の充填方法によるマップの処理後に得られる同じマップの細部と比較すると、本発明により得られる図9のマップに関して、特に以下の点が認められる。
・はるかに均一であるように見える。
・人物の周りの遮蔽領域は、例えば人物の右手の周りで、細部の精度を失うことなく消失した。
【符号の説明】
【００８１】
60  ソフトウェアモジュール
61  フィルタモジュール
62  局所的均一化モジュール
63  充填モジュール
【図１】
0005474061.tif 000005
【図２ａ】
0005474061.tif 000006
【図２ｂ】
0005474061.tif 000007
【図３】
0005474061.tif 000008
【図４ａ】
0005474061.tif 000009
【図４ｂ】
0005474061.tif 000010
【図５ａ】
0005474061.tif 000011
【図５ｂ】
0005474061.tif 000012
【図７ａ】
0005474061.tif 000013
【図７ｂ】
0005474061.tif 000014
【図８ａ】
0005474061.tif 000015
【図８ｂ】
0005474061.tif 000016
【図９】
0005474061.tif 000017
【図６】
0005474061.tif 000018