(57)【要約】【課題】  可視性エネルギーモデルに基づいた視差推定装置及び方法を提供する。【解決手段】  視差推定装置はステレオイメージを構成する左側イメージと右側イメージそれぞれのステレオマッチングに関連するエネルギーを算出するエネルギー算出部と、前記エネルギーを用いて左側イメージと右側イメージとの間の視差のエラーを判断するための可視性マップを生成するマップ生成部と、前記可視性マップで可視性エラーが存在する領域に対してエネルギーを再算出するエネルギー再算出部と、前記左側イメージと右側イメージの最終的なエネルギーを用いてステレオイメージから視差を決定する視差決定部を含んでもよい。【選択図】      図１
2013176052.tif 000002
【特許請求の範囲】
【請求項１】
ステレオイメージを構成する左側イメージと右側イメージそれぞれのステレオマッチングに関連するエネルギーを算出するエネルギー算出部と、
前記エネルギーを用いて左側イメージと右側イメージとの間の視差のエラーを判断するための可視性マップを生成するマップ生成部と、
前記可視性マップで視差のエラーによって可視性エラーが存在する領域に対してエネルギーを再算出するエネルギー再算出部と、
前記左側イメージと右側イメージの最終的なエネルギーを用いてステレオイメージから視差を決定する視差決定部と、
を備えることを特徴とする視差推定装置。
【請求項２】
前記エネルギー算出部は、
左側イメージと右側イメージそれぞれに対してフォワード方向のエネルギーを算出する第１エネルギー算出部と、
左側イメージと右側イメージそれぞれに対してバックワード方向のエネルギーを算出する第２エネルギー算出部と、
前記フォワード方向のエネルギーと前記バックワード方向のエネルギーを併合するエネルギー併合部と、
を備えることを特徴とする請求項１に記載の視差推定装置。
【請求項３】
前記マップ生成部は、
前記左側イメージと右側イメージのエネルギーを用いて前記左側イメージと右側イメージそれぞれの初期視差を算出する初期視差算出部と、
前記左側イメージと右側イメージそれぞれの初期視差を用いて前記左側イメージと右側イメージそれぞれの可視性マップを決定するマップ決定部と、
を備えることを特徴とする請求項１又は２に記載の視差推定装置。
【請求項４】
前記マップ決定部は、
前記右側イメージの初期視差を用いて左側イメージの可視性マップを決定する第１マップ決定部と、
前記左側イメージの初期視差を用いて右側イメージの可視性マップを決定する第２マップ決定部と、
を備えることを特徴とする請求項３に記載の視差推定装置。
【請求項５】
前記エネルギー再算出部は、前記左側イメージと右側イメージそれぞれの初期視差を用いて可視性エラーが存在する領域でエネルギーの拡散方向を決定する拡散方向決定部と、
前記可視性エラーが存在する領域で代表エネルギーを決定し、代表エネルギーに基づいたエネルギー拡散を行うエネルギー拡散部と、
を備えることを特徴とする請求項１乃至４のいずれか一項に記載の視差推定装置。
【請求項６】
前記拡散方向決定部は、前記可視性エラーが存在する領域の左側境界に位置するピクセルの視差と右側境界に位置するピクセルの視差との間の差が可視性エラーが存在する領域の広さと同一であるか否かに応じてエネルギーの拡散方向を決定することを特徴とする請求項５に記載の視差推定装置。
【請求項７】
前記エネルギー拡散部は、（ｉ）可視性エラーが存在する領域の左側境界に位置するピクセルの左側ピクセル、または（ｉｉ）可視性エラーが存在する領域の右側境界に位置するピクセルの右側ピクセルのうち少なくとも１つを代表エネルギーに設定し、左側方向、右側方向または双方向のうちいずれか１つの方向にエネルギー拡散を行うことを特徴とする請求項５に記載の視差推定装置。
【請求項８】
ステレオイメージを構成する左側イメージと右側イメージそれぞれのステレオマッチングに関連するエネルギーを並列的に算出するエネルギー算出部と、
前記エネルギーを用いて左側イメージと右側イメージとの間の視差のエラーを判断するための可視性マップを生成するマップ生成部と、
前記左側イメージと右側イメージそれぞれの可視性マップで視差のエラーによって可視性エラーが存在する領域に対してエネルギーを再算出するエネルギー再算出部と、
前記左側イメージと右側イメージの最終的なエネルギーを用いてローカルマッチングを行ない、ローカルマッチングされたステレオイメージから視差を決定する視差決定部と、
を備えることを特徴とする視差推定装置。
【請求項９】
ステレオイメージを構成する左側イメージと右側イメージそれぞれのステレオマッチングに関連するエネルギーを算出するステップと、
前記エネルギーを用いて左側イメージと右側イメージとの間の視差のエラーを判断するための可視性マップを生成するステップと、
前記可視性マップで視差のエラーによって可視性エラーが存在する領域に対してエネルギーを再算出するステップと、
前記左側イメージと右側イメージの最終的なエネルギーを用いてステレオイメージから視差を決定するステップと、
を含むことを特徴とする視差推定方法。
【請求項１０】
前記左側イメージと右側イメージそれぞれのエネルギーを算出するステップは、
左側イメージと右側イメージそれぞれに対してフォワード方向のエネルギーを算出するステップと、
左側イメージと右側イメージそれぞれに対してバックワード方向のエネルギーを算出するステップと、
前記フォワード方向のエネルギーと前記バックワード方向のエネルギーを併合するステップと、
を含むことを特徴とする請求項９に記載の視差推定方法。
【請求項１１】
前記可視性マップを生成するステップは、
前記左側イメージと右側イメージのエネルギーを用いて前記左側イメージと右側イメージそれぞれの初期視差を算出するステップと、
前記左側イメージと右側イメージそれぞれの初期視差を用いて前記左側イメージと右側イメージそれぞれの可視性マップを決定するステップと、
を含むことを特徴とする請求項９又は１０に記載の視差推定方法。
【請求項１２】
前記左側イメージと右側イメージそれぞれの可視性マップを決定するステップは、
前記右側イメージの初期視差を用いて左側イメージの可視性マップを決定するステップと、
前記左側イメージの初期視差を用いて右側イメージの可視性マップを決定するステップと、
を含むことを特徴とする請求項１１に記載の視差推定方法。
【請求項１３】
前記可視性エラーが存在する領域に対してエネルギーを再算出するステップは、
前記左側イメージと右側イメージそれぞれの初期視差を用いて可視性エラーが存在する領域でエネルギーの拡散方向を決定するステップと、
前記可視性エラーが存在する領域で代表エネルギーを決定し、代表エネルギーに基づいたエネルギー拡散を行うステップと、
を含むことを特徴とする請求項９乃至１２のいずれか一項に記載の視差推定方法。
【請求項１４】
前記エネルギーの拡散方向を決定するステップは、前記可視性エラーが存在する領域の左側境界に位置するピクセルの視差と右側境界に位置するピクセルの視差との間の差が可視性エラーが存在する領域の広さと同一であるか否かに応じてエネルギーの拡散方向を決定することを特徴とする請求項１３に記載の視差推定方法。
【請求項１５】
前記エネルギー拡散を行うステップは、（ｉ）可視性エラーが存在する領域の左側境界に位置するピクセルの左側ピクセル、または（ｉｉ）可視性エラーが存在する領域の右側境界に位置するピクセルの右側ピクセルのうち少なくとも１つを代表エネルギーに設定し、左側方向、右側方向または双方向のうちいずれか１つの方向にエネルギー拡散を行うことを特徴とする請求項１３に記載の視差推定方法。
【請求項１６】
ステレオイメージを構成する左側イメージと右側イメージそれぞれのステレオマッチングに関連するエネルギーを並列的に算出するステップと、
前記エネルギーを用いて左側イメージと右側イメージとの間の視差のエラーを判断するための可視性マップを生成するステップと、
前記左側イメージと右側イメージそれぞれの可視性マップで視差のエラーによって可視性エラーが存在する領域に対してエネルギーを再算出するステップと、
前記左側イメージと右側イメージの最終的なエネルギーを用いてローカルマッチングを行い、ローカルマッチングされたステレオイメージから視差を決定するステップと、
を含むことを特徴とする視差推定方法。
【請求項１７】
請求項９から請求項１６のいずれか一項に記載の方法を実行するためのプログラムが記録されたコンピュータで読み出し可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一実施形態は視差推定装置及び方法に関し、より詳しくは、ダイナミックプログラムを活用したエネルギーモデルに基づいてステレオイメージで視差を推定する装置及び方法に関する。
【背景技術】
【０００２】
３次元映像を生成するためにはカラー映像で深度情報を復元することが必要である。特に、ステレオイメージのように２つのイメージ（左側イメージと右側イメージ）で深度情報を復元する技術が研究されている。深度情報を復元するためには左側イメージと右側イメージとの間の視差を抽出することが必要である。
【０００３】
従来の場合、イメージの全ての領域に対して同じエネルギーモデルを適用するため隠れ領域では視差の抽出が困難である。その理由は、隠れ領域は、左側イメージと右側イメージとの間にマッチングされる領域が存在しないからである。
【０００４】
したがって、左側イメージと右側イメージとの間にマッチングポイントが存在しない隠れ領域でも正確な視差を抽出することが求められる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、可視性エラーを発生させる領域に対して新しいエネルギーモデルを構成し、可視性エラーが発生する隠れ領域ではエネルギーモデルのマッチング費用よりもスムージング費用に優先的に適用して隠れ領域に対してより正確に視差を抽出することにある。
【課題を解決するための手段】
【０００６】
本発明の一実施形態に係る視差推定装置は、ステレオイメージを構成する左側イメージと右側イメージそれぞれのステレオマッチングに関連するエネルギーを算出するエネルギー算出部と、前記エネルギーを用いて左側イメージと右側イメージとの間の視差のエラーを判断するための可視性マップを生成するマップ生成部と、前記可視性マップで視差のエラーによって可視性エラーが存在する領域に対してエネルギーを再算出するエネルギー再算出部と、前記左側イメージと右側イメージの最終的なエネルギーを用いてステレオイメージから視差を決定する視差決定部とを備える。
【０００７】
本発明の他の一実施形態に係る視差推定装置は、ステレオイメージを構成する左側イメージと右側イメージそれぞれのステレオマッチングに関連するエネルギーを並列的に算出するエネルギー算出部と、前記エネルギーを用いて左側イメージと右側イメージとの間の視差のエラーを判断するための可視性マップを生成するマップ生成部と、前記左側イメージと右側イメージそれぞれの可視性マップで視差のエラーによって可視性エラーが存在する領域に対してエネルギーを再算出するエネルギー再算出部と、前記左側イメージと右側イメージの最終的なエネルギーを用いてローカルマッチングを行ない、ローカルマッチングされたステレオイメージから視差を決定する視差決定部とを備える。
【０００８】
本発明の一実施形態に係る視差推定方法は、ステレオイメージを構成する左側イメージと右側イメージそれぞれのステレオマッチングに関連するエネルギーを算出するステップと、前記エネルギーを用いて左側イメージと右側イメージとの間の視差のエラーを判断するための可視性マップを生成するステップと、前記可視性マップで視差のエラーによって可視性エラーが存在する領域に対してエネルギーを再算出するステップと、前記左側イメージと右側イメージの最終的なエネルギーを用いてステレオイメージから視差を決定するステップとを含む。
【０００９】
本発明の他の一実施形態に係る視差推定方法は、ステレオイメージを構成する左側イメージと右側イメージそれぞれのステレオマッチングに関連するエネルギーを並列的に算出するステップと、前記エネルギーを用いて左側イメージと右側イメージとの間の視差のエラーを判断するための可視性マップを生成するステップと、前記左側イメージと右側イメージそれぞれの可視性マップで視差のエラーによって可視性エラーが存在する領域に対してエネルギーを再算出するステップと、前記左側イメージと右側イメージの最終的なエネルギーを用いてローカルマッチングを行い、ローカルマッチングされたステレオイメージから視差を決定するステップとを含む。
【発明の効果】
【００１０】
本発明の一実施形態によれば、可視性エラーを発生させる領域に対して新しいエネルギーモデルを構成し、可視性エラーが発生する隠れ領域ではエネルギーモデルをマッチング費用よりもスムージング費用に優先的に適用して、隠れ領域に対してより正確に視差を抽出することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る視差推定装置を示すブロックダイアグラムである。
【図２】本発明の一実施形態に係るステレオマッチングを説明するための図である。
【図３】本発明の一実施形態に係るダイナミックプログラミングを用いて推定された視差マップを示す図である。
【図４】本発明の一実施形態に係る図１の視差推定装置のエネルギー算出部を具体化したブロックダイアグラムである。
【図５】本発明の一実施形態に係るフォワード方向にエネルギーを算出する過程を説明するための図である。
【図６】本発明の一実施形態に係るフォワード方向とバックワード方向を同時に考慮してエネルギーを算出する過程を説明するための図である。
【図７】本発明の一実施形態に係る図１に示すマップ生成部を具体化したブロックダイアグラムである。
【図８】本発明の一実施形態に係る図７に示すマップ決定部を具体化したブロックダイアグラムである。
【図９】本発明の一実施形態に係る図１に示すエネルギー再算出部を具体化したブロックダイアグラムである。
【図１０】本発明の一実施形態に係るフォワード方向のエネルギーを用いて導き出された視差マップを示す図である。
【図１１】本発明の一実施形態に係るバックワード方向のエネルギーを用いて導き出された視差マップを示す図である。
【図１２】本発明の一実施形態に係るフォワード方向とバックワード方向を同時に考慮した視差マップとダイナミックプログラミングの最適化方式を用いた視差マップを示す図である。
【図１３】本発明の一実施形態に係る可視性マップの有効な領域と無効な領域を説明するための図である。
【図１４】本発明の一実施形態に係るダイナミックプログラミングのエネルギーを用いたローカルマッチングを説明するための図である。
【図１５】本発明の一実施形態に係る視差推定方法を示すフローチャートである。
【図１６】本発明の一実施形態に係るローカルマッチングを活用した視差推定方法を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について添付の図面を参照しながら詳細に説明する。
【００１３】
図１は、本発明の一実施形態に係る視差推定装置を示すブロックダイアグラムである。図１を参照すると、視差推定装置１００は、エネルギー算出部１０１、マップ生成部１０２、エネルギー再算出部１０３、及び視差決定部１０４を備える。本発明の一実施形態に係る視差推定装置１００は、左側イメージと右側イメージとの間の視差エラーを判断するために可視性を用いて、より正確な深度を復元することができる。特に、視差推定装置１００は、隠れ領域及び視差推定エラー領域のように可視性エラーが発生する領域に対して、マッチング費用よりもスムージング費用にエネルギーモデルを優先的に適用することによって、エネルギーモデルに基づいて精密に視差を推定することができる。ここで、視差推定装置１００はダイナミックプログラミング（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｉｎｇ：ＤＰ）に基づいたエネルギーモデリング方法を活用してもよい。
【００１４】
エネルギー算出部１０１は、ステレオイメージを構成する左側イメージと右側イメージそれぞれのエネルギーを算出する。エネルギー算出部１０１については図４を参照して具体的に説明することにする。ここで、左側イメージと右側イメージはカラーイメージであり、エネルギーはステレオマッチングに関連する。
【００１５】
マップ生成部１０２は、エネルギーを用いて左側イメージと右側イメージとの間の視差エラーを判断するための可視性マップを生成する。マップ生成部１０２については図７〜図８を参照して具体的に説明する。エネルギー再算出部１０３は、可視性マップに基づき判断された可視性エラーが存在する領域に対してエネルギーを再算出する。エネルギー再算出部１０３については図９を参照して具体的に説明する。ここで、可視性エラーが存在しない領域についてはエネルギーが再算出されない。本発明の一実施形態によれば、可視性エラーが存在する隠れ領域では新しいエネルギーモデルを提示し、マッチング費用よりもスムージング費用を優先的に適用することによって隠れ領域について正確に視差を推定することができる。
【００１６】
視差決定部１０４は、左側イメージと右側イメージの最終的なエネルギーを用いてステレオイメージから視差を決定する。ここで、最終的なエネルギーは、エネルギー算出部１０１によって導き出されたエネルギー、またはエネルギー再算出部１０３によって導き出されたエネルギーを意味する。
【００１７】
図２は、本発明の一実施形態に係るステレオマッチングを説明するための図である。ステレオマッチングは、多視点のカラー映像に深度映像を復元することを意味する。ステレオマッチングは左側イメージと右側イメージから深度映像を復元するものであり、多視点イメージから深度映像の復元まで拡張されている。
【００１８】
ステレオマッチングによって深度映像を復元する方法は次の通りである。具体的に、互いに異なる視点のイメージの左側イメージと右側イメージを用いて、同一の３次元ポイントを示すマッチングポイントを多視点イメージから探すことによって視差が決定される。これにより、決定された視差を用いて３次元ポイントの深度を推定することができる。
【００１９】
図２を参考すると、ステレオマッチングは、左側イメージと右側イメージのように他の視点のイメージで同一の３次元ポイントを探し、左側イメージに位置する３次元ポイントと右側イメージに位置する３次元ポイントとの間の距離の視差を推定する。
【００２０】
ステレオマッチングによって３次元情報を取得する方式は、グローバル方式とローカル方式がある。グローバル方式はイメージの全てのピクセルをノードに設定し、それぞれのノードで４個の隣接ピクセルが存在する領域を仮定する。これによって、グローバル方式は、４個の隣接ピクセルが存在する領域で最適の視差を探す。ローカル方式は、イメージ全体を考慮せずにイメージのローカル領域で最もマッチングが円満に行われるように視差を抽出する。
【００２１】
＜エネルギー算出＞
グローバル方式を用いてステレオマッチングを行うためにはエネルギーを算出する必要がある。エネルギーは、それぞれのピクセルに可能な視差が割り当てられたときの費用である。具体的に、横ピクセル数ｗと縦ピクセル数ｈ、及び可能な視差個数ｄのステレオイメージが入力される場合、ｗ×ｈ×ｄに対応する費用が導出可能なソリューションの場合の数となる。グローバル方式によれば、このようなソリューションのうち、最も小さい値に対応する視差が推定されてもよい。すなわち、ｗ×ｈ×ｄに対応する全ての場合の数を算出せず、最も小さい値を選択する方式がグローバル方式に基づいた最適化された方法である。
【００２２】
イメージ全体を同時に最適化するためには、隣接ピクセルだけではなく離れたピクセルまで考慮しなければならない。しかし、前述したように４個の隣接ピクセルが存在する領域のエネルギーを定義すれば、下記の式（１）のようにエネルギーが算出される。
【００２３】
【数１】
2013176052.tif 000003
式（１）はステレオマッチングのためのグローバルエネルギーモデルを意味する。式（１）において、Ｅ（ｄ）はグローバルエネルギーとして、特定ピクセルに関連するエネルギーEdata(d)と特定ピクセルの周辺に位置する隣接ピクセルに関連するエネルギーEsmoothness(d)を用いて決定される。具体的に、Edata(d)は、左側イメージ内の特定ピクセルと右側イメージ内の特定ピクセルとの間のカラー差または視差に決定される。そして、Esmoothness(d)は左側イメージで特定ピクセルの周辺に位置する隣接ピクセルと右側イメージで特定ピクセルの周辺に位置する隣接ピクセルとの間のカラーまたは視差に決定される。ここで、ｄは左側イメージと右側イメージとの間の視差を意味する。このようなグローバルエネルギーは、絶対差、合計絶対差に決定されてもよい。式（１）において、Esmoothness(d)は、特定ピクセルに隣接する隣接ピクセルが類似の視差を有しなければならないことを意味する。
【００２４】
＜ダイナミックプログラミング（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｉｎｇ：ＤＰ）＞
ダイナミックプログラミングの最適化方式は全ての変数を同時に処理せず、それぞれを順次的なサブ問題を作ってそのサブ問題を最小化する最適値を探すものである。
【００２５】
【数２】
2013176052.tif 000004
式（２）はダイナミックプログラムを用いてエネルギーを最小化する方法を示す。変数f1,f2,...,fmの分布を示すエネルギーE(f1,...,fm)の最小値を探すための解法（ｓｏｌｖｅｒ）がない場合、全ての変数f1,f2,...,fmが生成し得る全てのエネルギーを算出した後、最も小さい値が選択されなければならない。
【００２６】
このような方法は、変数と変数が有し得る範囲に応じて算出量が幾何級数的に多くなる。このような問題を解決するために、グローバル方式におけるダイナミックプログラミングは全ての値を代入してエネルギーを最小化する値を探さない。具体的には、ダイナミックプログラミングは、式（２）のように全ての変数のエネルギーをそれぞれのエネルギーで処理することなく、式（３）のようなサブ問題を解く。
【００２７】
（３）は順次行われるサブ問題の最小値と最小値を生成する変数f1,f2,...,fmのエネルギー値を格納するステップを示す。最後に、式（４）のように各ステップを最小化する変数として式（３）のサブ問題の最小値を追跡すれば、式（２）のE(f1,...,fm)を最小化することのできるグローバルの最適化結果が導出される。
【００２８】
＜ダイナミックプログラミングを用いたステレオマッチング＞
式（２）〜（４）を式（１）に適用すれば、下記の式（５）の通りである。
【００２９】
【数３】
2013176052.tif 000005
式（５）でＰ（ｘ、ｙ）は特定ピクセルを意味し、Ｐ（ｘ−１、ｙ）は特定ピクセルで視差ｄｉだけ離れた隣接ピクセルを意味する。ｄｉは特定ピクセルと隣接ピクセル間の視差であって、最大値はｄとなる。イメージに含まれたそれぞれのピクセルが式（２）〜（４）の変数になり、変数は視差範囲内でいずれの値を有してもよい。ステレオマッチングのサブ問題では、特定ピクセルｐ（ｘ）と以前に位置する隣接ピクセルｐ（ｘ−１）の変数をエネルギー関数である式（４）を最小化させ得るピクセルｐ（ｘ−１）の視差とエネルギーを求めることができる。このような方法によって、式（４）を用いてイメージの最初のピクセルから最後のピクセルまでの全てのピクセルに対して各視差とエネルギーを決定することによって、イメージ全体を最小化する各ピクセルの視差を導出することができる。図３は、本発明の一実施形態に係るダイナミックプログラミングを用いて推定された視差マップを示す図である。
【００３０】
前述したダイナミックプログラミングを利用すれば、グローバル方式を単純化することができるが、ダイナミックプログラミングは、イメージ全体を順次的なサブ問題に分類する場合に隣接ピクセルは１つだけ存在しなければならない。
【００３１】
これによって、ダイナミックプログラミングをステレオマッチングに適用させるためには、マッチングをスキャンライン単位で実行させる必要がある。このようなスキャンライン単位のステレオマッチングによれば、図３に示すようにアーチファクトが発生する視差マップが導き出されてもよい。
【００３２】
そのために、本発明の一実施形態によれば、ダイナミックプログラミングを適用しながらもアーチファクトを除去することのできる方案を提供する。
【００３３】
図４は、本発明の一実施形態に係る図１の視差推定装置のエネルギー算出部を具体化したブロックダイアグラムである。図４を参考すると、エネルギー算出部１０１は、第２エネルギー算出部４０２及びエネルギー併合部４０３を備える。
【００３４】
第１エネルギー算出部４０１は、左側イメージと右側イメージそれぞれに対してフォワード方向のエネルギーを算出する。第２エネルギー算出部４０２は、左側イメージと右側イメージそれぞれに対してバックワード方向のエネルギーを算出する。ここで、第１エネルギー算出部４０１と第２エネルギー算出部４０２は、式（４）を用いてエネルギーを算出する。ここで、第１算出部４０１は、図５に示すように、フォワード方向にエネルギーを算出し、第２算出部４０２は、図５と同じ方式によってバックワード方向にエネルギーを算出する。先に説明したようにエネルギーは、ステレオマッチングに関連して左側イメージと右側イメージに存在するピクセル間の視差またはカラー差に決定される。
【００３５】
エネルギー併合部４０３は、フォワード方向のエネルギーとバックワード方向のエネルギーを併合する。エネルギー併合部４０３は、図６に示すように、横ラインのダイナミックプログラミングによりエネルギーを求めることができる。ここで、最終的に併合されたエネルギーは下記の式（６）のように算出される。
【００３６】
【数４】
2013176052.tif 000006
式（６）において、Ｅ（ｐ（ｘ、ｙ）、ｄ）は特定ピクセルｐ（ｘ、ｙ）と特定ピクセルｐ（ｘ、ｙ）の視差ｄに基づいたエネルギーを意味する。そして、Ｅｆ（ｐ（ｘ、ｙ）、ｄ）は特定ピクセルｐ（ｘ、ｙ）に対して特定ピクセルｐ（ｘ、ｙ）と隣接ピクセルｐ（ｘ−１、ｙ）に基づいたフォワード方向のエネルギーを意味し、Ｅｂ（ｐ（ｘ、ｙ）、ｄ）は特定ピクセルｐ（ｘ、ｙ）に対して特定ピクセルｐ（ｘ、ｙ）と隣接ピクセルｐ（ｘ＋１、ｙ）に基づいたバックワード方向のエネルギーを意味する。ｄｉは特定ピクセルと隣接ピクセルとの間の視差として、最大値はｄとなる。
【００３７】
イメージに含まれたそれぞれのピクセルｐ（ｘ、ｙ）は視差範囲ｄだけ変動可能な変数ｄｉが含まれ、変数ｄｉには式（５）によって導き出された最小エネルギーが割り当てられる。ここで、式（３）を利用しなければ、
（外１）
2013176052.tif 000007
を満たすｄの値が変数ｐ（ｘ，ｙ）の視差となる。
【００３８】
式（５）は片方向のエネルギー費用のみを算出するが、この場合に視差が急激に変わる領域でスムージングの項によるエラーが発生することがある。ここで、エラーは、図１０と図１１に示す円形状の領域を意味する。そのために、本発明の一実施形態によれば、式（６）のように特定ピクセルに対してフォワード方向のエネルギーとバックワード方向のエネルギーが併合された結果がダイナミックプログラミング（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｉｎｇ：ＤＰ）のエネルギー費用として活用されてもよい。ここで、図１０はフォワード方向に応じて導き出された視差を示し、図１１はバックワード方向により導き出された視差を示す。図１２は、ダイナミックプログラミングの最適化で求めた視差マップとフォワード方向のエネルギー及びバックワード方向のエネルギー和である式（６）から導出された視差を示す。すなわち、図１２を参考すると、図１０と図１１に示すエラーのアーチファクトが発生しないことを確認することができる。
【００３９】
図７は、本発明の一実施形態に係る図１に示すマップ生成部を具体化したブロックダイアグラムである。ステレオマッチングでグローバルエネルギーを求めた後、可視性エラーが発生する領域のエネルギーを再び算出するためエラーが発生する領域を明示する必要がある。エラーが発生しない領域のエネルギーは、最適化されたものであるためそのまま用いられる。可視性マップにおけるエラーを導き出すためには左側イメージと右側イメージの初期視差を算出する必要がある。その後、可視性チェックを介してエラーが発生する領域を識別する。可視性マップは、視差のエラーを判断するために活用される。隠れ領域により視差のエラーが発生すると、可視性エラーが存在すると判断される。ここで、視差のエラーはオン／オフに区分される。
【００４０】
図７を参考すると、マップ生成部１０２は、初期視差算出部７０１及びマップ決定部７０２を備える。
【００４１】
初期視差算出部７０１は、左側イメージと右側イメージのエネルギーを用いて左側イメージと右側イメージそれぞれの初期視差を算出する。具体的に、初期視差算出部７０１は、
（外２）
2013176052.tif 000008
を用いて左側イメージと右側イメージそれぞれの初期視差を算出する。
【００４２】
マップ決定部７０２は、左側イメージと右側イメージそれぞれの初期視差を用いて左側イメージと右側イメージそれぞれの可視性マップを決定する。マップ決定部７０２については図８を参照して具体的に説明することにする。
【００４３】
図８は、本発明の一実施形態に係る図７に示すマップ決定部を具体化したブロックダイアグラムである。図８を参考すると、マップ決定部７０２は、第１マップ決定部８０１及び第２マップ決定部８０２を備える。
【００４４】
第１マップ決定部８０１は、右側イメージの初期視差を用いて左側イメージに対する可視性マップを決定する。反対に、第２マップ決定部８０２は、左側イメージの初期視差を用いて右側イメージに対する可視性マップを決定する。一例として、第１マップ決定部８０１と第２マップ決定部８０２は、下記の式（７）〜（８）により可視性マップを決定する。
【００４５】
【数５】
2013176052.tif 000009
式（７）〜（８）でＤLは左側イメージにおける視差を示し、ＤRは右側イメージにおける視差を示す。式（７）は左側イメージと右側イメージが互いにマッチングされる領域を示し、式（８）は左側イメージと右側イメージが互いにマッチングされない領域の隠れ領域を意味する。
【００４６】
すなわち、左側イメージと右側イメージがマッチングされる場合、式（７）のように左側イメージで第１ピクセルの視差と前記視差だけ移動した位置に対応する右側イメージで第２ピクセルの視差は同じでなければならない。そして、左側イメージの隠されない領域は、右側イメージで前景によって遮られた領域である。したがって、左側イメージの隠されていない領域の視差だけ移動した位置に対応するピクセルを右側イメージで探す場合、式（８）のように右側イメージにおける視差が左側イメージにおける視差よりも大きくなければならない。
【００４７】
しかし、式（８）とは異なって左側イメージにおける視差がより大きい場合、右側イメージで見られる部分でなければならないが、実際に右側イメージで見られないため可視性エラーが発生した領域といえる。ここで、図１３は、本発明の一実施形態に係る可視性マップの有効な領域（エラーが発生しない領域）と無効な領域（エラーが発生する領域）を示す。前述したように、可視性マップは、左側イメージと右側イメージに関連して視差エラーを判断するために活用される。
【００４８】
図９は、本発明の一実施形態に係る図１に示すエネルギー再算出部を具体化したブロックダイアグラムである。図９を参考すると、エネルギー再算出部１０３は、拡散方向決定部９０１及びエネルギー拡散部９０２を備える。エネルギー再算出部１０３は、可視性マップで可視性エラーが発生した領域（Ｖｉｓｉｂｉｌｉｔｙ  Ｅｒｒｏｒ  Ｒｅｇｉｏｎ：ＶＥＲ））のエネルギーを再算出する。
【００４９】
エネルギー再算出部１０３は、下記の式（９）によってエネルギーを再算出する。
【００５０】
【数６】
2013176052.tif 000010
式（９）は式（１）に比べて可視性の項であるEvisibility(d)が追加される。ステレオマッチングでは左側イメージと右側イメージとの間にマッチングされない隠れ領域が存在してもよい。式（１）によれば、スムージングの項であるEsmoothness(d)によってピクセル間のカラーが類似すれば、特定ピクセルの視差は隣接する隣接ピクセルの視差と類似の値を有する。ピクセル間カラーが大きく相異すれば、特定ピクセルは隣接する隣接ピクセルの視差と異なる値に割り当てるエネルギー分布を有する。しかし、スムージングの項であるEsmoothness(d)だけで隠れ領域の視差を推定することは限界があるため、式（１０）によりエネルギーを再算出する。
【００５１】
【数７】
2013176052.tif 000011
式（１０）は可視性を考慮してダイナミックプログラミングに基づいたステレオマッチング関数を示す。可視性は、隣接ピクセルｐ（ｘ−１、ｙ）またはｐ（ｘ＋１、ｙ）と独立的であるため、特定ピクセルｐ（ｘ、ｙ）でのみ考慮される。
【００５２】
拡散方向決定部９０１は、左側イメージと右側イメージそれぞれの初期視差を用いて可視性エラーが存在する領域でエネルギーの拡散方向を決定する。すなわち、拡散方向決定部９０１は、可視性エラーが発生した領域に割り当てられるエネルギーの電波方向を決定する。
【００５３】
ステレオマッチングを行うとき可視性エラーが発生する領域は、隠れ領域とエラー領域である。隠れ領域は、左側イメージと右側イメージとの間にマッチングポイントが存在しないため、エネルギーモデルでデータの項であるEdata(d)よりスムージングの項のEsmoothness(d)のペナルティがさらに高くなければならない。
【００５４】
【数８】
2013176052.tif 000012
式（１１）はスムージングの項であるEsmoothness(d)のペナルティを可視性マップでエラーが発生する無効な領域に調整する形を示す。ｄは特定ピクセルｐで最大視差を意味し、ｄｉは変数に該当する視差を意味する。Ｖ（ｐ）は可視性マップで特定ピクセルｐの有効性の有無を示す。もし、Ｖ（ｐ）が１であれば、可視性マップで特定ピクセルに無効な領域に位置することを意味し、Ｖ（ｐ）が０であれば、可視性マップで特定ピクセルが有効な領域に位置することを意味する。特定ピクセルが無効な領域に存在する場合、式（１１）によりスムージングの項であるEsmoothness(d)の係数をより高めてより大きいペナルティを与えることができる。
【００５５】
しかし、左側イメージと右側イメージとの間のカラー差によりスムージングの項であるEsmoothness(d)にペナルティを与えるだけでマッチングポイントを探すことができない。ここで、特定ピクセルに隣接する隣接ピクセルのカラーが特定ピクセルのカラーに類似すれば、隣接する隣接ピクセルに特定ピクセルの視差に類似の視差を割り当て（ＴｙｐｅＩ）、特定ピクセルに隣接する隣接ピクセルのカラーが特定ピクセルのカラーと相異すれば、隣接する隣接ピクセルに特定ピクセルの視差と異なる視差を割り当ててもよい（ＴｙｐｅＩＩ）。
【００５６】
【数９】
2013176052.tif 000013
式（１２）において、ＶＥＲ＿ｗｉｄｔｈは可視性エラーが発生する無効な領域の広さを意味する。XL(D)は可視性エラーが発生した無効な領域に対して横方向の開始点に対応する左側ピクセルの視差である。XＲ(D)は可視性エラーが発生した無効な領域に対して横方向の終了地点に対応する右側ピクセルの視差である。式（１２）を満足すれば、無効な領域はＴｙｐｅＩあるいはＴｙｐｅＩＩになる。この場合、式（１２）を満足する領域は順序制限が満足される領域に背景領域でエネルギー拡散を行う。もし、式（１２）を満足しない領域は、ＴｙｐｅＩＩＩに右側方向と左側方向に全てエネルギー拡散を行ってもよい。
【００５７】
すなわち、式（１２）によれば、拡散方向決定部９０１は、可視性エラーが存在する無効な領域の左側境界に位置するピクセルの視差と右側境界に位置するピクセルの視差と間の差が可視性エラーが存在する領域の広さと同一であるか否かに応じてエネルギーの拡散方向を決定する。
【００５８】
エネルギー拡散部９０２は可視性エラーが存在する領域で代表エネルギーを決定し、代表エネルギーに基づいたエネルギー拡散を行う。すなわち、エネルギー拡散部９０２は、伝搬するエネルギーを決定してエネルギーを伝搬する方法を決定する。
【００５９】
一例として、エネルギー拡散部９０２は、（ｉ）可視性エラーが存在する領域の左側境界に位置するピクセルの左側ピクセル、または、（ｉｉ）可視性エラーが存在する領域の右側境界に位置するピクセルの右側ピクセルのうち少なくとも１つを代表エネルギーに設定して左側方向、右側方向、または双方向のいずれか１つの方向にエネルギー拡散を行ってもよい。
【００６０】
具体的に、ＴｙｐｅＩの場合、エネルギー拡散部９０２は、可視性エラーが発生した領域の左側開始ピクセルであるピクセル左側に位置するピクセルのエネルギーを代表エネルギーとして設定してもよい。これによって、エネルギー拡散部９０２は式（１０）と式（１１）によりエネルギーを再び算出する。
【００６１】
ＴｙｐｅＩＩの場合、エネルギー拡散部９０２は、可視性エラーが発生した領域の右側終了ピクセルであるピクセル右側に位置するピクセルのエネルギーを代表エネルギーとして設定してもよい。これによって、エネルギー拡散部９０２は、式（１０）と式（１１）によりエネルギーを再び算出する。
【００６２】
ＴｙｐｅＩＩＩの場合、エネルギー拡散部９０２は、（ｉ）可視性エラーが発生した領域の左側開始ピクセルであるピクセル左側に位置するピクセルのエネルギーと、（ｉｉ）可視性エラーが発生した領域の右側終了ピクセルであるピクセル右側に位置するピクセルのエネルギーを全て代表エネルギーとして設定する。これによって、エネルギー拡散部９０２は、左側と右側双方向にエネルギー拡散を行った後、２つのエネルギーの和でエネルギーを再び算出する。
【００６３】
図１０は、本発明の一実施形態に係るフォワード方向のエネルギーを用いて導き出された視差マップを示す図である。そして、図１１は、本発明の一実施形態に係るバックワード方向のエネルギーを用いて導き出された視差マップを示す図である。
【００６４】
図１０及び図１１で円の部分は可視性エラーが発生した領域を示す。図１０及び図１１に示すように、前景から背景に移動する経路で可視性エラーが発生する。ここで、式（６）のようにフォワード方向とバックワード方向が互いに異なるため、図１０及び図１１で確認されるようにエラーが発生する領域も異なる。
【００６５】
図１２は、本発明の一実施形態に係るフォワード方向とバックワード方向を同時に考慮した視差マップとダイナミックプログラミングの最適化方式を用いた視差マップを示す図である。図１２に示すように、フォワード方向とバックワード方向を同時に考慮した視差マップとダイナミックプログラミングの最適化方式を用いた視差マップが類似していることが分かる。そして、図３で確認されたアーチファクトも図１２で発生しないことが確認される。
【００６６】
図１４は、本発明の一実施形態に係るダイナミックプログラミングのエネルギーを用いたローカルマッチングを説明するための図である。図１４に示すローカルマッチングは、左側イメージと右側イメージのエネルギーが並列的に導出された後、可視性マップで生成される初期視差が左側イメージ及び右側イメージ間に相互的に用いられることによって導出される。具体的に、左側視差マップは右側初期視差に基づいて生成され、右側視差マップは左側初期視差に基づいて生成される。その後、可視性エラーが発生する無効な領域でエネルギーを再算出するときには再び左側イメージと右側イメージが並列的に処理される。
【００６７】
図１４に示されたローカルマッチングは、下記の式（１３）により行われてもよい。
【００６８】
【数１０】
2013176052.tif 000014
Ｄ（ｐ）は特定ピクセルｐでローカルマッチングが発生するときの視差を示す。そして、ｑは特定ピクセルｐを中心に視差ｄに対応する３×３領域に属する隣接ピクセルを意味する。そして、E(q,d)は式（９）により導き出されてもよい。
【００６９】
図１５は、本発明の一実施形態に係る視差推定方法を示すフローチャートである。ステップＳ１５０１において、視差推定装置はステレオイメージを構成する左側イメージと右側イメージそれぞれのエネルギーを算出する。一例として、視差推定装置は、左側イメージと右側イメージそれぞれに対してフォワード方向とバックワード方向のエネルギーを算出する。その後、視差推定装置はフォワード方向とバックワード方向のエネルギーを合算する。
【００７０】
ステップＳ１５０２において、視差推定装置はエネルギーを用いて可視性マップを生成する。一例として、視差推定装置は、左側イメージと右側イメージのエネルギーを用いて左側イメージと右側イメージそれぞれの初期視差を算出する。また、視差推定装置は、左側イメージと右側イメージそれぞれの初期視差を用いて左側イメージと右側イメージそれぞれの可視性マップを決定してもよい。
【００７１】
ここで、視差推定装置は、右側イメージの初期視差を用いて左側イメージの可視性マップを決定する。そして、視差推定装置は、左側イメージの初期視差を用いて右側イメージの可視性マップを決定する。
【００７２】
ステップＳ１５０３において、視差推定装置は、可視性マップで可視性エラーが発生する領域を抽出する。
【００７３】
もし、可視性エラーが発生した場合、ステップＳ１５０４において、視差推定装置は、可視性エラーが存在する領域に対してエネルギーを再算出する。一例として、視差推定装置は、左側イメージと右側イメージそれぞれの初期視差を用いて可視性エラーが存在する領域でエネルギーの拡散方向を決定する。その次に、視差推定装置は、可視性エラーが存在する領域で代表エネルギーを決定し、代表エネルギーに基づいたエネルギー拡散を行う。
【００７４】
ここで、視差推定装置は、可視性エラーが存在する領域の左側境界に位置するピクセルの視差と右側境界に位置するピクセルの視差との間の差が可視性エラーが存在する領域の広さと同一であるか否かに応じてエネルギーの拡散方向が決定される。
【００７５】
そして、視差推定装置は、（ｉ）可視性エラーが存在する領域の左側境界に位置するピクセルの左側ピクセル、または（ｉｉ）可視性エラーが存在する領域の右側境界に位置するピクセルの右側ピクセルのうち少なくとも１つを代表エネルギーとして設定して左側方向、右側方向、または双方向のいずれか１つの方向にエネルギーを拡散する。
【００７６】
このような過程を介してステップＳ１５０５において、視差推定装置は最終的に決定されたエネルギーに最適化を行い、ステップＳ１５０６において、視差推定装置はステレオイメージに対する視差を決定する。
【００７７】
図１６は、本発明の一実施形態に係るローカルマッチングを活用した視差推定方法を示すフローチャートである。図１６は、図１５に示す過程を左側イメージと右側イメージが並列的に行われることを示す。したがって、ステップＳ１６０１〜ステップＳ１６０６とステップＳ１６０７〜ステップＳ１６１２は、図１５に示すステップＳ１５０１〜ステップＳ１５０６と実質的に同一に動作する。
【００７８】
ただし、可視性マップを生成するステップＳ１６０２とステップＳ１６０８を行うときには、左側イメージと右側イメージとの間に相互作用を行う必要がある。すなわち、視差推定装置は左側イメージに対する可視性マップを生成するとき右側イメージを参考にし、右側イメージに対する可視性マップを生成するとき左側イメージを参考にしてもよい。
【００７９】
そして、ローカルマッチングを行うステップＳ１６０５とステップＳ１６１１を行うときにも左側イメージと右側イメージとの間に相互作用を行う必要がある。すなわち、視差推定装置は、左側イメージをローカルマッチングするとき右側イメージを参考にし、右側イメージをローカルマッチングするとき左側イメージを参考にしてもよい。
【００８０】
本発明の実施形態に係る方法は、多様なコンピュータ手段によって行うことができるプログラム命令の形態で実現されても良く、かかるプログラム命令は、コンピュータ読み出し可能媒体に記録されてもよい。記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせたものを含んでもよい。前記記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。
【００８１】
上述したように本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
【００８２】
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【００８３】
１０１      エネルギー算出部
１０２      マップ生成部
１０３      エネルギー再算出部
１０４      視差決定部
【図１】
2013176052.tif 000015
【図２】
2013176052.tif 000016
【図４】
2013176052.tif 000017
【図５】
2013176052.tif 000018
【図６】
2013176052.tif 000019
【図７】
2013176052.tif 000020
【図８】
2013176052.tif 000021
【図９】
2013176052.tif 000022
【図１３】
2013176052.tif 000023
【図１４】
2013176052.tif 000024
【図１５】
2013176052.tif 000025
【図１６】
2013176052.tif 000026
【図３】
2013176052.tif 000027
【図１０】
2013176052.tif 000028
【図１１】
2013176052.tif 000029
【図１２】
2013176052.tif 000030