(57)【要約】【課題】オクルージョン領域の視差ベクトルをより簡易に安定させることができる技術が求められていた。【解決手段】本開示によれば、右目用視差マップ及び左目用視差マップのうち、一方の視差マップ中のオクルージョン画素に近似する近似画素を、他方の視差マップに基づいて探索し、近似画素の視差ベクトルに基づいて、オクルージョン画素の補正視差ベクトルを算出する補正部を備える、画像処理装置が提供される。【選択図】図１
2014078095.tif 000002
【特許請求の範囲】
【請求項１】
右目用視差マップ及び左目用視差マップのうち、一方の視差マップ中のオクルージョン画素に近似する近似画素を、他方の視差マップに基づいて探索し、前記近似画素の視差ベクトルに基づいて、前記オクルージョン画素の補正視差ベクトルを算出する補正部を備える、画像処理装置。
【請求項２】
前記補正部は、前記オクルージョン画素の視差ベクトルと、前記他方の視差マップとに基づいて、前記近似画素を探索する、請求項１記載の画像処理装置。
【請求項３】
前記補正部は、前記他方の視差マップから、前記オクルージョン画素の視差ベクトルが示す対応画素を抽出し、前記オクルージョン画素の視差ベクトルと、前記対応画素の視差ベクトルとに基づいて、前記近似画素を探索する、請求項２記載の画像処理装置。
【請求項４】
前記補正部は、前記オクルージョン画素を基準画素とし、前記他方の視差マップから、前記基準画素の視差ベクトルが示す対応画素を抽出し、前記オクルージョン画素の視差ベクトルと、前記対応画素の視差ベクトルとの整合性を判定するベクトル追跡処理を行い、前記オクルージョン画素の視差ベクトルと、前記対応画素の視差ベクトルとが整合しないと判定した場合には、前記一方の視差マップから前記対応画素の視差ベクトルが示す画素を新たな前記基準画素として抽出し、前記ベクトル追跡処理を繰り返して行う、請求項３記載の画像処理装置。
【請求項５】
前記補正部は、前記オクルージョン画素の視差ベクトルの算出に使用されたマッチング方法の種類に基づいて、前記近似画素の探索を行うか否かを決定する、請求項１記載の画像処理装置。
【請求項６】
前記補正部は、前記オクルージョン画素の視差ベクトルがローカルマッチングにより算出された場合には、前記近似画素の探索を行う、請求項５記載の画像処理装置。
【請求項７】
前記補正部は、前記オクルージョン画素を含む所定領域内の視差ベクトルのうち、所定時間内の値が最小となる時間最小ベクトルを検出し、前記時間最小ベクトルと、前記近似画素の視差ベクトルと、前記オクルージョン画素の視差ベクトルとに基づいて、前記オクルージョン画素の補正視差ベクトルを算出する、請求項１記載の画像処理装置。
【請求項８】
前記補正部は、前記時間最小ベクトル、前記近似画素の視差ベクトル、及び前記オクルージョン画素の視差ベクトルの信頼度に応じた重みづけを行い、重み付けされたベクトルに基づいて、前記オクルージョン画素の補正視差ベクトルを算出する、請求項７記載の画像処理装置。
【請求項９】
前記補正部は、重み付けされたベクトルの中間値を前記オクルージョン画素の補正視差ベクトルとして算出する、請求項８記載の画像処理装置。
【請求項１０】
前記補正部は、前記オクルージョン画素の演算特徴量を算出し、前記演算特徴量と、前記時間最小ベクトル、前記近似画素の視差ベクトル、及び前記オクルージョン画素の視差ベクトルとの相関関係を学習し、学習結果に基づいて、前記オクルージョン画素の補正視差ベクトルを算出する、請求項７記載の画像処理装置。
【請求項１１】
前記補正部は、前記時間最小ベクトル、前記近似画素の視差ベクトル、及び前記オクルージョン画素の視差ベクトルを判別するためのスコアを算出し、当該スコアと、隣接する画素同士のベクトル値の差分とに基づいて、前記オクルージョン画素の補正視差ベクトルを算出する、請求項７記載の画像処理装置。
【請求項１２】
右目用視差マップ及び左目用視差マップのうち、一方の視差マップ中のオクルージョン画素に近似する近似画素を、他方の視差マップに基づいて探索し、前記近似画素の視差ベクトルに基づいて、前記オクルージョン画素の補正視差ベクトルを算出することを含む、画像処理方法。
【請求項１３】
コンピュータに、
右目用視差マップ及び左目用視差マップのうち、一方の視差マップ中のオクルージョン画素に近似する近似画素を、他方の視差マップに基づいて探索し、前記近似画素の視差ベクトルに基づいて、前記オクルージョン画素の補正視差ベクトルを算出する補正機能を実現させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１、２は、カラーセグメンテーションを用いて右目用画像及び左目用画像を複数のセグメントに分割し、セグメントごとに視差（深さ）を設定する技術を開示する。これらの技術によれば、セグメント内にオクルージョン領域が存在する場合であっても、セグメント内の他の画素の視差を用いて、オクルージョン領域の視差を補間することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１２３２１９号公報
【特許文献２】特開２００６−１２１６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、これらの技術の性能は、カラーセグメンテーションの性能に大きく依存しており、かつ、カラーセグメンテーションは非常に重い処理であった。このため、オクルージョン領域の視差（視差ベクトル）をより簡易に安定させることができる技術が求められていた。
【課題を解決するための手段】
【０００５】
本開示によれば、右目用視差マップ及び左目用視差マップのうち、一方の視差マップ中のオクルージョン画素に近似する近似画素を、他方の視差マップに基づいて探索し、近似画素の視差ベクトルに基づいて、オクルージョン画素の補正視差ベクトルを算出する補正部を備える、画像処理装置が提供される。
【０００６】
本開示によれば、右目用視差マップ及び左目用視差マップのうち、一方の視差マップ中のオクルージョン画素に近似する近似画素を、他方の視差マップに基づいて探索し、近似画素の視差ベクトルに基づいて、オクルージョン画素の補正視差ベクトルを算出することを含む、画像処理方法が提供される。
【０００７】
本開示によれば、コンピュータに、右目用視差マップ及び左目用視差マップのうち、一方の視差マップ中のオクルージョン画素に近似する近似画素を、他方の視差マップに基づいて探索し、近似画素の視差ベクトルに基づいて、オクルージョン画素の補正視差ベクトルを算出する補正機能を実現させる、プログラムが提供される。
【０００８】
本開示によれば、オクルージョン画素に近似する近似画素を、他方の視差マップに基づいて探索し、近似画素の視差ベクトルに基づいて、オクルージョン画素の補正視差ベクトルを算出する。
【発明の効果】
【０００９】
以上説明したように本開示によれば、オクルージョン領域の視差ベクトルをより簡易に安定させることができる。
【図面の簡単な説明】
【００１０】
【図１】裸眼立体視表示装置による処理の概要を示すフローチャートである。
【図２】入力画像同士の色ズレを示す説明図である。
【図３】入力画像同士の幾何ズレを示す説明図である。
【図４】視差マップ（ディスパリティマップ）及び多視点画像が生成される様子を示す説明図である。
【図５】本開示の実施形態に係る画像処理装置の構成を示すブロック図である。
【図６】第１の視差検出部の構成を示すブロック図である。
【図７】垂直視差候補格納テーブルの一例を示す説明図である。
【図８】経路構築部の構成を示す説明図である。
【図９】視差マッチングを行なう際に使用されるＤＰマップである。
【図１０】評価部の構成を示すブロック図である。
【図１１】ニューラルネット処理部の構成を示すブロック図である。
【図１２】周辺化処理部による処理を説明するための説明図である。
【図１３】比較信頼度マップの一例を示す説明図である。
【図１４】クラス分けテーブルの一例を示す説明図である。
【図１５】クラス０に分類される画像の一例を示す説明図である。
【図１６】クラス４に分類される画像の一例を示す説明図である。
【図１７】補正値対応テーブルの一例を示す説明図である。
【図１８】視差検出の手順を示すフローチャートである。
【図１９】各ディスパリティマップの精度が時間の経過に応じて向上する様子を示す説明図である。
【図２０】補正部の構成を示すブロック図である。
【図２１】補正部による処理の手順を示すフローチャートである。
【図２２】オクルージョン領域及び引き込みベクトル等の具体例を示す説明図である。
【図２３】オクルージョン領域の補正を行う前の信頼度マップの一例を示す説明図である。
【図２４】オクルージョン領域の補正を行った後の信頼度マップの一例を示す説明図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１２】
なお、説明は以下の順序で行うものとする。
１．裸眼立体視表示装置が行なう処理の概要
２．画像処理装置の構成
３．画像処理装置による処理
４．画像処理装置による効果
５．各種変形例
【００１３】
＜１．裸眼立体視表示装置が行なう処理の概要＞
本願の発明者は、立体視専用の眼鏡がなくても、画像の立体視表示が可能な裸眼立体視表示装置について鋭意研究を重ね、その過程において、本実施の形態に係る画像処理装置に想到するに至った。ここで、立体視表示とは、視認者に両眼視差を生じさせることで、画像を立体的に表示することを意味する。
【００１４】
そこで、まず、画像処理装置を含む裸眼立体視表示装置が行なう処理の概要について、図１に示すフローチャートに沿って説明する。
【００１５】
ステップＳ１において、裸眼立体視表示装置は、入力画像ＶＬ、ＶＲを取得する。図２、図３に入力画像ＶＬ、ＶＲの一例を示す。なお、本実施の形態では、入力画像ＶＬ、ＶＲの左上端の画素を原点とし、水平方向をｘ軸、垂直方向をｙ軸とする。右方向がｘ軸の正方向であり、下方向がｙ軸の正方向である。各画素は、座標情報（ｘ、ｙ）と、色情報（輝度（明度）、彩度、色相）とを有している。以下、入力画像ＶＬ上の画素を「左側画素」とも称し、入力画像ＶＲ上の画素を「右側画素」とも称する。また、以下の説明では、入力画像ＶＬを基準画像とし、入力画像ＶＲを参照画像とする例について主に説明するが、入力画像ＶＬを参照画像とし、入力画像ＶＲを基準画像としても良いのは勿論である。
【００１６】
図２、図３に示すように、入力画像ＶＬ、ＶＲには同じ被写体（例えば海、魚、ペンギン）が互いに異なる水平位置（ｘ座標）に描かれている。
【００１７】
ただし、入力画像ＶＬ、ＶＲは、図２に示すように、互いに色ズレが起こっている場合がある。すなわち、同じ被写体が入力画像ＶＬと入力画像ＶＲとで異なる色で描かれている。例えば、被写体画像ＶＬ１と被写体画像ＶＲ１とはいずれも同じ海を示すが、色が互いに異なっている。
【００１８】
一方、入力画像ＶＬ、ＶＲは、図３に示すように、互いに幾何ズレが起こっている場合がある。すなわち、同じ被写体が異なる高さ位置（ｙ座標）に描かれている。例えば、被写体画像ＶＬ２と被写体画像ＶＲ２とはいずれも同じペンギンを示すが、被写体画像ＶＬ２のｙ座標と被写体画像ＶＲ２のｙ座標とは互いに異なっている。図３には、幾何ズレの理解を容易にするために、直線Ｌ１が描かれている。そこで、裸眼立体視表示装置は、これらのズレに対応した視差検出を行なう。すなわち、裸眼立体視表示装置は、色ズレや幾何ズレに対するキャリブレーションを行わなくても、正確な視差検出を行なうことができる。
【００１９】
ステップＳ２において、裸眼立体視表示装置は、入力画像ＶＬ、ＶＲに基づいて、視差検出を行なう。視差検出の様子を図４に示す。
【００２０】
図４に示すように、裸眼立体視表示装置は、エピポーラ線ＥＰＲ１またはエピポーラ線ＥＰＲ１から垂直方向（ｙ方向）にずれた位置に存在する各右側画素から、左側画素ＰＬ１に対応する対応画素の候補となる候補画素を複数抽出する。なお、エピポーラ線ＥＰＲ１は、入力画像ＶＲ上に描かれ、左側画素ＰＬ１と同じｙ座標を有し、水平方向に伸びる直線である。また、裸眼立体視表示装置は、入力画像ＶＬ、ＶＲの色ズレに応じた補正値を設定し、この補正値に基づいて、候補画素を抽出する。対応画素は、左側画素ＰＬ１と同じ被写体を示す画素である。
【００２１】
そして、裸眼立体視表示装置は、これらの候補画素から対応画素となる右側画素ＰＲ１を抽出する。裸眼立体視表示装置は、右側画素ＰＲ１のｘ座標から左側画素ＰＬ１のｘ座標を減算した値を水平視差ｄ１とし、右側画素ＰＲ１のｙ座標から左側画素ＰＬ１のｙ座標を減算した値を垂直視差ｄ２とする。
【００２２】
このように、裸眼立体視表示装置は、入力画像ＶＲを構成する各右側画素のうち、左側画素と同じｙ座標（垂直位置）を有する画素のみならず、左側画素と異なるｙ座標を有する画素も探索する。したがって、裸眼立体視表示装置は、色ズレ及び幾何ズレに対応した視差検出を行なうことができる。
【００２３】
裸眼立体視表示装置は、入力画像ＶＬ上のすべての画素について水平視差ｄ１及び垂直視差ｄ２を検出することで、グローバル視差マップ（グローバルディスパリティマップ）を生成する。さらに、裸眼立体視表示装置は、後述するように、上記の方法（即ち、グローバルマッチング）とは別の方法（即ち、ローカルマッチング）により、入力画像ＶＬ上を構成する各画素の水平視差ｄ１及び垂直視差ｄ２を算出する。そして、裸眼立体視表示装置は、ローカルマッチングにより算出された水平視差ｄ１及び垂直視差ｄ２に基づいて、ローカル視差マップを生成する。そして、裸眼立体視表示装置は、これらの視差マップを統合することで、統合視差マップを生成する。図４に、統合視差マップの一例である統合視差マップＤＭを示す。図４では、水平視差ｄ１の程度がハッチングの濃淡で示されている。各視差マップは、複数の画素で構成され、各画素は、視差ベクトル（水平視差ｄ２及び垂直視差ｄ２を示すベクトル）を有する。
【００２４】
視差マップのうち、オクルージョン画素（オクルージョン領域を構成する画素）以外の画素は、両方の入力画像ＶＬ、ＶＲで表示されている（見えている）ので、視差ベクトルが整合する。一方、オクルージョン画素は、一方の入力画像では表示されているが、他方の入力画像では表示されていない画素となるので、視差ベクトルが整合しない。
【００２５】
ここで、視差ベクトルの整合性について、図２２に基づいて説明する。入力画像ＶＬ中の左側画素ＰＬ１０は、入力画像ＶＲ中の右側画素ＰＲ１０に対応する。すなわち、いずれも被写体画像ＶＬ２のくちばし部分を示す。言い換えれば、左側画素ＰＬ１０は入力画像ＶＲでも表示されている。
【００２６】
このため、左側画素ＰＬ１０の視差ベクトルＶＬ１０は、入力画像ＶＲ中の右側画素ＰＲ１０を示す。すなわち、左側画素ＰＬ１０の座標値に視差ベクトルＶＬ１０の各成分値を加算することで得られる座標値は、右側画素ＰＲ１０の座標値に一致する。同様に、右側画素ＰＲ１０の視差ベクトルＶＲ１０は、入力画像ＶＬ中の左側画素ＰＬ１０を示す。したがって、左側画素ＰＬ１０の視差ベクトルＶＬ１０は、右側画素ＰＲ１０の視差ベクトルＶＲ１０に整合する。このように、「視差ベクトルが整合する」とは、２つの画素の視差ベクトルが互いの画素を示すことを意味する。
【００２７】
一方、左側画素ＰＬ２０は、入力画像ＶＲでは被写体画像ＶＲ３に隠れて見えなくなっているので、オクルージョン画素となっている。すなわち、左側画素ＰＬ２０の対応画素は厳密には存在しない。しかし、裸眼立体視表示装置は、左側画素がオクルージョン画素であるか否かにかかわらず、左側画素に近似する右側画素を対応画素とし、視差ベクトルを設定する。
【００２８】
したがって、左側画素ＰＬ２０の視差ベクトルＶＬ２０は、左側画素ＰＬ２０に近似する右側画素ＰＲ３０を示す。ただし、左側画素ＰＬ２０と右側画素ＰＲ３０とは別の被写体を示すので、右側画素ＰＲ３０の視差ベクトルＶＲ３０は、左側画素ＰＬ２０とは異なる左側画素ＰＬ３０を示す。したがって、左側画素ＰＬ２０及び右側画素ＰＲ３０の視差ベクトルは整合していない。
【００２９】
このように、オクルージョン画素では視差ベクトルが整合しないので、オクルージョン画素の視差ベクトルは時間的、空間的に非常に不安定になる。この結果、ステップＳ３以降で生成される多視点画像ＶＶは、オクルージョン領域で画像が乱れる等の現象が発生しうる。そこで、特許文献１、２に開示された技術では、カラーセグメンテーションを用いてオクルージョン画素の視差ベクトルを補間する。ただし、この方法では、補間の性能がカラーセグメンテーションの性能に依存し、かつ、カラーセグメンテーション自体が非常に重い処理となっていた。
【００３０】
そこで、裸眼立体視表示装置は、オクルージョン画素の視差ベクトルを以下のように補正（算出）する。すなわち、裸眼立体視表示装置は、左目用視差マップ及び右目用視差マップに基づいて、オクルージョン画素に近似する近似画素を探索する。具体的には、裸眼立体視表示装置は、オクルージョン画素の左側画素を起点として視差ベクトルを順次トレースする（追いかける）ことで、視差ベクトルが整合する左側画素を探索する。そして、裸眼立体視表示装置は、視差ベクトルが整合する左側画素を近似画素とし、近似画素の視差ベクトルに基づいて、オクルージョン画素の補正視差ベクトルを算出する。そして、裸眼立体視表示装置は、オクルージョン画素の視差ベクトルを補正視差ベクトルで置き換える。例えば、裸眼立体視表示装置は、近似画素の視差ベクトルを補正視差ベクトルとし、オクルージョン画素の視差ベクトルを近似画素の視差ベクトルで置き換える。（近似画素の視差ベクトルをオクルージョン画素に引きこむ）。近似画素の視差ベクトルは、「引き込みベクトル」とも称される。
【００３１】
図２２に示す例では、左側画素ＰＬ３０の視差ベクトルＶＬ３０は右側画素ＰＲ３０を示すので、左側画素ＰＬ３０及び右側画素ＰＲ３０の視差ベクトルは整合している。そこで、裸眼立体視表示装置は、視差ベクトルＶＬ３０に基づいて、左側画素ＰＬ２０の補正視差ベクトルを算出する。そして、裸眼立体視表示装置は、左側画素ＰＬ２０の視差ベクトルを補正視差ベクトルで置き換える。
【００３２】
ステップＳ３において、裸眼立体視表示装置は、統合視差マップと、入力画像ＶＬ、ＶＲとに基づいて、多視点画像ＶＶを複数生成する。例えば、図４に示す多視点画像ＶＶは、入力画像ＶＬと入力画像ＶＲとの間を補間する画像である。したがって、左側画素ＰＬ１に対応する画素ＰＶ１は、左側画素ＰＬ１と右側画素ＰＲ１との間に存在する。
【００３３】
ここで、各多視点画像ＶＶは、裸眼立体視表示装置によって立体視表示される画像であり、それぞれ異なる視点（視認者の目の位置）に対応する。すなわち、視認者の目が視認する多視点画像ＶＶは、視認者の目の位置に応じて異なる。例えば、視認者の右目と左目とは異なる位置に存在するので、互いに異なる各多視点画像ＶＶを視認する。これにより、視認者は、多視点画像ＶＶを立体視することができる。また、視認者が移動することによって、視認者の視点が変わっても、その視点に対応する多視点画像ＶＶがあれば、視認者は多視点画像ＶＶを立体視することができる。このように、多視点画像ＶＶの数が多いほど、視認者はより多くの位置で多視点画像ＶＶを立体視することができる。また、多視点画像ＶＶが多いほど、逆視、即ち視認者が本来右目で視認すべき多視点画像ＶＶを左目で視認するという現象が生じにくくなる。また、多視点画像ＶＶを複数生成することによって、運動視差の表現が可能となる。
【００３４】
ステップＳ４において、裸眼立体視表示装置は、フォールバック（リファインメント）を行なう。この処理は、概略的には、各多視点画像ＶＶをその内容に応じて再度補正する処理である。ステップＳ５において、裸眼立体視表示装置は、各多視点画像ＶＶを立体視表示する。
【００３５】
＜２．画像処理装置の構成＞
次に、本実施の形態に係る画像処理装置１の構成を図面に基づいて説明する。図５に示すように、画像処理装置１は、画像取得部１０と、第１の視差検出部２０と、第２の視差検出部３０と、評価部４０と、マップ生成部（補正値算出部）５０と、補正部６０とを備える。即ち、画像処理装置１は、ＣＰＵ、ＲＯＭ、ＲＡＭ、及びハードディスク等のハードウェア構成を備え、これらのハードウェア構成によって、上記の各構成要素が実現される。即ち、画像処理装置１に、画像取得部１０と、第１の視差検出部２０と、第２の視差検出部３０と、評価部４０と、マップ生成部５０と、補正部６０とを実現させるためのプログラムがＲＯＭに記憶されている。画像処理装置１は、上述したステップＳ１〜ステップＳ２の処理を行うものである。
【００３６】
画像処理装置１では、概略以下の処理が行われる。即ち、画像取得部１０は、入力画像ＶＬ、ＶＲを取得し、画像処理装置１の各構成要素に出力する。第１の視差検出部２０は、入力画像ＶＬ、ＶＲに対してグローバルマッチングを行なうことで、入力画像ＶＬを構成する左側画素毎に、水平視差ｄ１及び垂直視差ｄ２を検出する。一方、第２の視差検出部３０は、入力画像ＶＬ、ＶＲに対してローカルマッチングを行なうことで、入力画像ＶＬを構成する左側画素毎に、水平視差ｄ１及び垂直視差ｄ２を検出する。
【００３７】
すなわち、画像処理装置１は、グローバルマッチングと、ローカルマッチングとを並行して行う。ここで、ローカルマッチングは、精度の良否が入力画像ＶＬ、ＶＲの品質（色ズレや幾何ズレの程度等）に依存しないという長所があるものの、オクルージョンに弱い、安定性が悪い（精度がばらつきやすい）といった短所もある。一方、グローバルマッチングは、オクルージョンに強い、安定しているという長所があるものの、精度の良否が入力画像ＶＬ、ＶＲの品質に依存しやすいという短所もある。そこで、画像処理装置１は、両者を並行して行い、結果として得られる視差マップを画素ごとに対比し、これらを統合するようにしている。
【００３８】
（画像取得部の構成）
画像取得部１０は、入力画像ＶＬ、ＶＲを取得し、画像処理装置１内の各構成要素に出力する。画像取得部１０は、入力画像ＶＬ、ＶＲを裸眼立体視表示装置内のメモリから取得しても良いし、他の装置と通信を行なうことで取得してもよい。なお、本実施形態において、「現フレーム」は、画像処理装置１が現在処理中のフレームを意味する。「前フレーム」は、現フレームの１フレーム前のフレームを意味する。「次フレーム」は、現フレームの１フレーム後のフレームを意味する。画像処理装置１の処理に対するフレームが特に指示されない場合、画像処理装置１は現フレームに対する処理を行っているものとする。
【００３９】
（第１の視差検出部の構成）
第１の視差検出部２０は、図６に示すように、垂直視差候補記憶部２１と、ＤＳＡＤ（Ｄｙｎａｍｉｃ  Ｓｕｍ  Ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）算出部２２と、最小値選択部２３と、アンカーベクトル構築部２４と、コスト算出部２５と、経路構築部２６と、バックトラック部２７とを備える。
【００４０】
（垂直視差候補記憶部の構成）
垂直視差候補記憶部２１は、図７に示す垂直視差候補格納テーブルを記憶する。垂直視差候補格納テーブルには、水平視差候補△ｘと、垂直視差候補△ｙとが関連付けて記録される。水平視差候補△ｘは、候補画素のｘ座標から左側画素のｘ座標を減算した値を示す。一方、垂直視差候補△ｙは、候補画素のｙ座標から左側画素のｙ座標を減算した値を示す。詳細は後述する。垂直視差候補格納テーブルは、左側画素毎に用意される。
【００４１】
（ＤＳＡＤ算出部の構成）
ＤＳＡＤ算出部２２は、マップ生成部５０から、補正値α１に関する補正値情報を取得する。ここで、補正値α１は、概略的には、前フレームの入力画像ＶＬと入力画像ＶＲとの色ズレの度合いに応じて設定され、色ズレが大きいほど、補正値α１が小さくなる。なお、ＤＳＡＤ算出部２２は、補正値情報を取得できない場合（例えば、最初のフレーム（第０フレーム）に対する処理を行う場合）には、補正値α１を０に設定する。
【００４２】
ＤＳＡＤ算出部２２は、いずれかの左側画素を基準画素とし、バックトラック部２７から前フレームのグローバル視差マップを取得する。そして、ＤＳＡＤ算出部２２は、基準画素の前フレームの水平視差ｄ１及び垂直視差ｄ２を前フレームのグローバル視差マップから検索する。そして、ＤＳＡＤ算出部２２は、基準画素に対して前フレームの垂直視差ｄ２を有するいずれかの右側画素、即ち、基準画素のｙ座標に前フレームの垂直視差ｄ２を加えたｙ座標を有するいずれかの右側画素を、第１の参照画素とする。このように、ＤＳＡＤ算出部２２は、前フレームのグローバル視差マップに基づいて、第１の参照画素を決定する。即ち、ＤＳＡＤ算出部２２は、リカーシブ処理を行なう。なお、ＤＳＡＤ算出部２２は、前フレームのグローバル視差マップを取得できない場合、基準画素と同じｙ座標を有する右側画素を第１の参照画素とする。
【００４３】
そして、ＤＳＡＤ算出部２２は、第１の参照画素に対してｙ方向の所定範囲内に存在する右側画素を第２の参照画素とする。所定範囲は、例えば、第１の参照画素のｙ座標を中心とした±１の範囲となるが、この範囲は、ロバスト性と精度とのバランスに応じて任意に変更される。第１の参照画素及び第２の参照画素からなる画素群は、参照画素群を構成する。
【００４４】
このように、第１の参照画素のｙ座標は、フレームが進むに従って順次更新されるので、より正解に近い（基準画素に近い）画素が第１の参照画素として選択されるようになる。さらに、更新された第１の参照画素を基準として、参照画素群が設定されるので、ｙ方向の探索範囲が実質的に拡大される。例えば、第０フレームで第１の参照画素のｙ座標が５となる場合、第２の参照画素のｙ座標はそれぞれ４、６となる。その後、第１フレームで第１の参照画素のｙ座標が６に更新された場合、第２の参照画素のｙ座標はそれぞれ５、７となる。この場合、第０フレームで第１の参照画素のｙ座標は５となるのに対し、第２の参照画素のｙ座標は、フレームが第０フレームから第１フレームに進むことで７まで増加する。即ち、ｙ方向の探索範囲が正方向に実質的に１拡大される。これにより、画像処理装置１は、幾何ズレに強い視差検出を行なうことができる。なお、ＤＳＡＤ算出部２２は、第１の参照画素を決定する際に、前フレームのグローバル視差マップを使用したが、前フレームの統合視差マップを使用してもよい。この場合、ＤＳＡＤ算出部２２は、第１の参照画素をより精度よく決定することができる。
【００４５】
ＤＳＡＤ算出部２２は、基準画素と、第１の参照画素及び第２の参照画素を含む参照画素群と、補正値α１とに基づいて、以下の式（１）で示されるＤＳＡＤ（△ｘ、ｊ）（第１の評価値、第２の評価値）を算出する。
【００４６】
【数１】
2014078095.tif 000003
【００４７】
ここで、△ｘは、第１の参照画素のｘ座標から基準画素のｘ座標を減算した値である。なお、後述するように、△ｘ毎に最小のＤＳＡＤ（△ｘ，ｊ）が選択され、最小のＤＳＡＤ（△ｘ，ｊ）に対応する右側画素が候補画素とされる。したがって、△ｘは、候補画素のｘ座標から基準画素のｘ座標を減算した値、即ち水平視差候補でもある。ｊは−１〜＋１の整数であり、ｉは−２〜２の整数である。Ｌ（ｉ）は、基準画素とｙ座標がｉ異なる左側画素の輝度である。すなわち、Ｌ（ｉ）は、基準画素を中心とした基準領域内の基準画素特徴量を示す。Ｒ（ｉ，０）は、第１の参照画素を中心とした第１の参照領域内の第１の参照画素特徴量を示す。したがって、ＤＳＡＤ（△ｘ，０）は、基準画素特徴量と第１の参照画素特徴量との差分を評価する値、即ち第１の評価値を示す。
【００４８】
一方、Ｒ（ｉ，１）、Ｒ（ｉ，−１）は、第２の参照画素を中心とした第２の参照領域内の第１の参照画素特徴量を示す。したがって、ＤＳＡＤ（△ｘ，１）、ＤＳＡＤ（△ｘ，−１）は、基準画素特徴量と第２の参照画素特徴量との差分を評価する値、即ち第２の評価値を示す。αは上述した補正値である。
【００４９】
したがって、ＤＳＡＤ算出部２２は、基準画素、第１の参照画素、及び第２の参照画素の輝度のみならず、これらの画素からｙ方向にずれた画素の輝度をも参照することで、ＤＳＡＤを算出する。即ち、ＤＳＡＤ算出部２２は、基準画素、第１の参照画素、及び第２の参照画素のｙ座標を振ることで、これらの画素の周辺の輝度を参照している。したがって、画像処理装置１は、この点でも、幾何ズレに強い視差検出を行なうことができる。なお、上記の処理では、ｙ座標を振る量を、各画素のｙ座標に対して上下２画素としたが、この範囲は、ロバスト性と精度とのバランスに応じて任意に変更される。さらに、ＤＳＡＤ算出部２２は、ＤＳＡＤの算出に色ズレに応じた補正値を利用するので、色ズレに強い視差検出が可能となる。
【００５０】
ＤＳＡＤ算出部２２は、全ての水平視差候補△ｘについてＤＳＡＤ（△ｘ，ｊ）を算出する。即ち、ＤＳＡＤ算出部２２は、水平位置の異なる第１の参照画素毎に、参照画素群を生成し、各参照画素群についてＤＳＡＤ（△ｘ，ｊ）を算出する。そして、ＤＳＡＤ算出部２２は、基準画素を変更し、上記の処理を繰り返す。これにより、ＤＳＡＤ算出部２２は、全ての基準画素についてＤＳＡＤ（△ｘ，ｊ）を算出する。そして、ＤＳＡＤ算出部２２は、ＤＳＡＤ（△ｘ、ｊ）と基準画素とが関連付けられたＤＳＡＤ情報を生成し、最小値選択部２３に出力する。
【００５１】
（最小値選択部の構成）
最小値選択部２３は、ＤＳＡＤ情報に基づいて、以下の処理を行なう。即ち、最小値選択部２３は、水平視差候補△ｘ毎に、最小のＤＳＡＤ（△ｘ，ｊ）を選択する。最小値選択部２３は、選択されたＤＳＡＤ（△ｘ，ｊ）を図９に示す視差検出用ＤＰマップの各ノードＰ（ｘ、△ｘ）に格納する。したがって、最小のＤＳＡＤ（△ｘ，ｊ）がノードＰ（ｘ、△ｘ）のスコアとなる。
【００５２】
視差検出用ＤＰマップは、横軸が左側画素のｘ座標、縦軸が水平視差候補△ｘとなっており、複数のノードＰ（ｘ、△ｘ）を有している。視差検出用ＤＰマップは、左側画素の水平視差ｄ１を算出する際に使用される。また、視差検出用ＤＰマップは、左側画素のｙ座標毎に生成される。したがって、いずれかの視差検出用ＤＰマップ内のいずれかのノードＰ（ｘ、△ｘ）は、いずれかの左側画素に対応する。
【００５３】
さらに、最小値選択部２３は、最小のＤＳＡＤ（△ｘ，ｊ）に対応する参照画素を候補画素として特定する。そして、最小値選択部２３は、候補画素のｙ座標から基準画素のｙ座標を減算した値を垂直視差候補△ｙとする。そして、最小値選択部２３は、水平視差候補△ｘと垂直視差候補△ｙとを関連付けて、垂直視差候補格納テーブルに格納する。最小値選択部２３は、全ての基準画素について、上記の処理を行う。
【００５４】
（アンカーベクトル構築部の構成）
図６に示すアンカーベクトル構築部２４は、評価部４０から前フレームの時間信頼度マップを取得し、マップ生成部５０から前フレームの統合視差マップを取得する。現フレームの時間信頼度マップは、現フレームの統合視差マップが示す各左側画素の水平視差ｄ１及び垂直視差ｄ２を次フレームでも参照可能か否かを示すマップである。したがって、前フレームの時間信頼度マップは、前フレームで検出された水平視差ｄ１及び垂直視差ｄ２を現フレームでも参照可能か否かを左側画素毎に示すこととなる。アンカーベクトル構築部２４は、前フレームの時間信頼度マップに基づいて、現フレームで水平視差ｄ１及び垂直視差ｄ２を参照可能な左側画素、即ち視差安定左側画素を特定する。そして、アンカーベクトル構築部２４は、前フレームの統合視差マップに基づいて、視差安定左側画素の前フレームの水平視差ｄ１、即ち安定水平視差ｄ１’を特定する。そして、アンカーベクトル構築部２４は、視差安定左側画素毎に、例えば以下の式（２）で示されるアンカーベクトルを生成する。
【００５５】
【数２】
2014078095.tif 000004
【００５６】
ここで、α２はボーナス値を示し、行列Ｍｄは、視差安定左側画素の前フレームの水平視差ｄ１を示す。即ち、行列Ｍｄの各列は、それぞれ異なる水平視差候補△ｘを示し、成分が１となっている列は、その列に対応する垂直視差候補△ｘが安定水平視差ｄ１’であることを示す。視差安定左側画素が存在しない場合、行列Ｍｄのすべての成分が０になる。なお、アンカーベクトル構築部２４は、前フレームの時間信頼度マップ及び統合視差マップを取得することができない場合（例えば、第０フレームに対する処理を行う場合）、行列Ｍｄの成分を全て０とする。アンカーベクトル構築部２４は、アンカーベクトルと視差安定左側画素とが関連付けられたアンカーベクトル情報を生成し、コスト算出部２５に出力する。
【００５７】
（コスト算出部の構成）
図６に示すコスト算出部２５は、アンカーベクトル情報に基づいて、視差検出用ＤＰマップの各ノードＰ（ｘ、ｄ）の値を更新する。即ち、コスト算出部２５は、視差安定左側画素毎に、安定水平視差ｄ１’に対応するノード（ｘ、△ｘ（＝ｄ１’））を特定し、このノードのスコアから、ボーナス値α２を減算する。これにより、安定水平視差ｄ１’と同じ視差を有するノードは、最短経路を通りやすくなる。言い換えれば、安定水平視差ｄ１’は、現フレームにおいても選択されやすくなる。
【００５８】
（経路構築部の構成）
図６に示す経路構築部２６は、図８に示すように、左目用画像水平差分算出部２６１と、右目用画像水平差分算出部２６２と、重み算出部２６３と、経路算出部２６４とを備える。
【００５９】
左目用画像水平差分算出部２６１は、画像取得部１０から入力画像ＶＬを取得し、入力画像ＶＬを構成する左側画素毎に、以下の処理を行なう。すなわち、左目用画像水平差分算出部２６１は、いずれかの左側画素を基準画素とし、基準画素の輝度から、基準画素よりｘ座標が１大きい左側画素の輝度を減算する。左目用画像水平差分算出部２６１は、これにより得られた値を輝度水平差分ｄｗＬとし、輝度水平差分ｄｗＬに関する輝度水平差分情報を生成する。そして、左目用画像水平差分算出部２６１は、輝度水平差分情報を重み算出部２６３に出力する。
【００６０】
右目用画像水平差分算出部２６２は、画像取得部１０から入力画像ＶＲを取得する。そして、右目用画像水平差分算出部２６２は、入力画像ＶＲに対して上述した左目用画像水平差分算出部２６１と同様の処理を行なう。そして、右目用画像水平差分算出部２６２は、この処理により生成された輝度水平差分情報を重み算出部２６３に出力する。
【００６１】
重み算出部２６３は、輝度水平差分情報に基づいて、左側画素の重みｗｔＬ、右側画素のｗｔＲをすべての左側画素及び右側画素について算出する。具体的には、重み算出部２６３は、左側画素の輝度水平差分ｄｗＬをシグモイド関数に代入することで、輝度水平差分ｄｗＬを０〜１の値に正規化し、これを重みｗｔＬとする。同様に、重み算出部２６３は、右側画素の輝度水平差分ｄｗＲをシグモイド関数に代入することで、輝度水平差分ｄｗＲを０〜１の値に正規化し、これを重みｗｔＲとする。そして、重み算出部２６３は、算出された重みｗｔＬ、ｗｔＲに関する重み情報を生成し、経路算出部２６４に出力する。重みｗｔＬ、ｗｔＲは画像のエッヂ（輪郭）の部分で小さくなり、平坦部分で大きくなる。なお、シグモイド関数は、例えば、以下の式（２−１）で与えられる。
【００６２】
【数３】
2014078095.tif 000005
【００６３】
経路算出部２６４は、重み算出部２６３から与えられた重み情報に基づいて、視差検出用ＤＰマップの始点から各ノードＰ（ｘ、△ｘ）に至るまでの累積コストを計算する。具体的には、経路算出部２６４は、ノード（０、０）を始点、ノード（ｘｍａｘ、０）を終点とし、始点からノードＰ（ｘ、△ｘ）に至るまでの累積コストを以下のように定義する。ここで、ｘｍａｘは、左側画素のｘ座標の最大値である。
【００６４】
【数４】
2014078095.tif 000006
【００６５】
ここで、ＤＦＩ（ｘ、△ｘ）０は、経路ＰＡｄ０を通ってノードＰ（ｘ、△ｘ）に至るときの累積コストであり、ＤＦＩ（ｘ、△ｘ）１は、経路ＰＡｄ１を通ってノードＰ（ｘ、△ｘ）に至るときの累積コストであり、ＤＦＩ（ｘ、△ｘ）２は、経路ＰＡｄ２を通ってノードＰ（ｘ、△ｘ）に至るときの累積コストである。また、ＤＦＩ（ｘ、△ｘ−１）は始点からノードＰ（ｘ、△ｘ−１）に至るまでの累積コストである。ＤＦＩ（ｘ−１、△ｘ）は始点からノードＰ（ｘ−１、△ｘ）に至るまでの累積コストである。ＤＦＩ（ｘ−１、△ｘ＋１）は始点からノードＰ（ｘ−１、△ｘ＋１）に至るまでの累積コストである。また、ｏｃｃＣｏｓｔ０、ｏｃｃＣｏｓｔ１は、それぞれコストの値を示す所定値であり、例えば４．０である。ｗｔＬは、ノードＰ（ｘ、△ｘ）に対応する左側画素の重みであり、ｗｔＲは、この左側画素と同じ座標を有する右側画素の重みである。
【００６６】
そして、経路算出部２６４は、算出された累積コストＤＦＩ（ｘ、△ｘ）０〜ＤＦＩ（ｘ、△ｘ）２のうち、最小のものを選択し、選択されたものをノードＰ（ｘ、△ｘ）の累積コストＤＦＩ（ｘ、△ｘ）とする。経路算出部２６４は、すべてのノードＰ（ｘ、△ｘ）について累積コストＤＦＩ（ｘ、△ｘ）を算出し、視差検出用ＤＰマップに格納する。
【００６７】
バックトラック部２７は、累積コストが最小となる経路を終点から始点に向かって逆にたどることで、最短経路、即ち始点から終点までの累積コストが最小となる経路を算出する。この最短経路上のノードは、当該ノードに対応する左側画素の水平視差ｄ１となる。したがって、バックトラック部２７は、最短経路を算出することで、各左側画素の水平視差ｄ１を検出する。
【００６８】
バックトラック部２７は、いずれかの左側画素に対応する垂直視差候補格納テーブルを垂直視差候補記憶部２１から取得する。バックトラック部２７は、取得した垂直視差候補格納テーブルに基づいて、左側画素の水平視差ｄ１に対応する垂直視差候補△ｙを特定し、特定された垂直視差候補△ｙを左側画素の垂直視差ｄ２とする。これにより、バックトラック部２７は、垂直視差ｄ２を検出する。そして、バックトラック部２７は、全ての左側画素について垂直視差ｄ２を検出し、検出された水平視差ｄ１及び垂直視差ｄ２に基づいて、グローバル視差マップを生成する。グローバル視差マップは、左側画素毎に水平視差ｄ１及び垂直視差ｄ２（すなわち、視差ベクトル）を示す。バックトラック部２７は、生成されたグローバル視差マップをＤＳＡＤ算出部２２、図５に示す評価部４０、及びマップ生成部５０に出力する。ＤＳＡＤ算出部２２に出力されたグローバル視差マップは、次フレームで使用される。
【００６９】
（第２の視差検出部の構成）
図５に示す第２の視差検出部３０は、第１の視差検出部と異なる方法、即ちローカルマッチングにより、各左側画素の水平視差ｄ１及び垂直視差ｄ２を算出する。第２の視差検出部３０は、具体的には、以下の処理を行なう。第２の視差検出部３０は、画像取得部１０から入力画像ＶＬ、ＶＲを取得する。さらに、第２の視差検出部３０は、評価部４０から前フレームの時間信頼度マップを取得し、マップ生成部５０から前フレームの統合視差マップを取得する。
【００７０】
第２の視差検出部３０は、前フレームの時間信頼度マップに基づいて、現フレームで水平視差ｄ１及び垂直視差ｄ２を参照可能な左側画素、即ち視差安定左側画素を特定する。そして、第２の視差検出部３０は、前フレームの統合視差マップに基づいて、視差安定左側画素の前フレームの水平視差ｄ１及び垂直視差ｄ２、即ち安定水平視差ｄ１’及び安定垂直視差ｄ２’を特定する。そして、アンカーベクトル構築部２４は、視差安定左側画素のｘｙ座標にそれぞれ安定水平視差ｄ１’及び安定垂直視差ｄ２’を加算し、これにより得られたｘｙ座標を有する右側画素を、視差安定右側画素とする。
【００７１】
さらに、第２の視差検出部３０は、入力画像ＶＬ、ＶＲをそれぞれ複数の画素ブロックに分割する。例えば、第２の視差検出部３０は、入力画像ＶＬを６４個の左側画素ブロックに分割し、入力画像ＶＲを６４個の右側画素ブロックに分割する。
【００７２】
そして、第２の視差検出部３０は、左側画素ブロック内の各左側画素に対応する対応画素を、左側画素ブロックに対応する右側画素ブロックから検出する。例えば、第２の視差検出部３０は、左側画素に輝度が最も近い右側画素を対応画素として検出する。ここで、第２の視差検出部３０は、視差安定左側画素に対応する対応画素を検出する際には、視差安定右側画素を優先的に対応画素として検出する。例えば、第２の視差検出部３０は、左側画素に輝度が最も近い右側画素が視差安定右側画素となる場合、視差安定右側画素を対応画素として検出する。一方、第２の視差検出部３０は、左側画素に輝度が最も近い右側画素が視差安定右側画素以外の右側画素となる場合、その右側画素と視差安定左側画素との輝度差と所定の輝度範囲とを比較する。第２の視差検出部３０は、輝度差が所定の輝度範囲内となる場合、当該右側画素を対応画素として検出する。第２の視差検出部３０は、輝度差が所定の輝度範囲を外れる場合、視差安定右側画素を対応画素として検出する。
【００７３】
第２の視差検出部３０は、対応画素のｘ座標から左側画素のｘ座標を減算した値を左側画素の水平視差ｄ１とし、対応画素のｙ座標から左側画素のｙ座標を減算した値を右側画素の垂直視差ｄ２とする。第２の視差検出部３０は、検出結果に基づいて、ローカル視差マップを生成する。ローカル視差マップは、左側画素毎に水平視差ｄ１及び垂直視差ｄ２（すなわち、視差ベクトル）を示す。第２の視差検出部３０は、生成されたローカル視差マップを評価部４０及びマップ生成部５０に出力する。
【００７４】
なお、第２の視差検出部３０は、前フレームの時間信頼度マップ及び統合視差マップを取得することができない場合（例えば、第０フレームに対する処理を行う場合）、視差安定左側画素を検出せずに、上記の処理を行なう。また、第２の視差検出部３０は、左側画素ブロック毎に上述した第１の視差検出部２０と同様の処理を行うことで、左側画素の水平視差ｄ１及び垂直視差ｄ２を検出しても良い。
【００７５】
（評価部の構成）
評価部４０は、図１０に示すように、特徴量算出部４１と、ニューラルネット処理部４２と、周辺化処理部４３とを備える。
【００７６】
（特徴量算出部の構成）
特徴量算出部４１は、第１の視差検出部２０及び第２の視差検出部３０から与えられた視差マップ等に基づいて、各種の特徴量マップ（演算特徴量）を生成する。例えば、特徴量算出部４１は、ローカル視差マップに基づいて、ローカルオクルージョンマップを生成する。ここで、ローカルオクルージョンマップは、左側画素毎にローカルオクルージョン情報を示す。ローカルオクルージョン情報は、任意の基準位置（例えば、被写体を撮影した撮影素子の位置）から、左側画素に描かれた被写体までの距離を示す。
【００７７】
同様に、特徴量算出部４１は、グローバル視差マップに基づいて、グローバルオクルージョンマップを生成する。グローバルオクルージョンマップは、左側画素毎にグローバルオクルージョン情報を示す。グローバルオクルージョン情報は、任意の基準位置（例えば、被写体を撮影した撮影素子の位置）から、左側画素に描かれた被写体までの距離を示す。さらに、特徴量算出部４１は、ローカルオクルージョンマップ及びグローバルオクルージョンマップに基づいて、絶対値オクルージョンマップを生成する。絶対値オクルージョンマップは、左側画素毎に絶対値オクルージョン情報を示す。絶対値オクルージョン情報は、ローカルオクルージョン情報とグローバルオクルージョン情報との差分値の絶対値を示す。
【００７８】
さらに、特徴量算出部４１は、絶対値視差マップを生成する。絶対値視差マップは、左側画素毎に水平視差差分の絶対値を示す。ここで、水平視差差分は、グローバル視差マップの水平視差ｄ１からローカル視差マップの水平視差ｄ１を減算した値である。
【００７９】
さらに、特徴量算出部４１は、画像取得部１０から与えられた入力画像ＶＬ、ＶＲと、ローカル視差マップと、に基づいて、ローカルＳＡＤ（Ｓｕｍ  Ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）マップを生成する。ローカルＳＡＤマップは、左側画素毎にローカルＳＡＤを示す。ローカルＳＡＤは、対応画素の輝度から左側画素の輝度を減算した値である。対応画素は、左側画素のｘ座標にローカル視差マップが示す水平視差ｄ１を加算したｘ座標と、左側画素のｙ座標にローカル視差マップが示す垂直視差ｄ２を加算したｙ座標とを有する右側画素である。
【００８０】
同様に、特徴量算出部４１は、画像取得部１０から与えられた入力画像ＶＬ、ＶＲと、グローバル視差マップと、に基づいて、グローバルＳＡＤ（Ｓｕｍ  Ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）マップを生成する。グローバルＳＡＤマップは、左側画素毎にグローバルＳＡＤを示す。グローバルＳＡＤは、対応画素の輝度から左側画素の輝度を減算した値である。対応画素は、左側画素のｘ座標にグローバル視差マップが示す水平視差ｄ１を加算したｘ座標と、左側画素のｙ座標にグローバル視差マップが示す垂直視差ｄ２を加算したｙ座標とを有する右側画素である。
【００８１】
そして、特徴量算出部４１は、ローカルＳＡＤマップとグローバルＳＡＤマップとに基づいて、絶対値ＳＡＤマップを生成する。絶対値ＳＡＤマップは、左側画素毎に絶対値ＳＡＤを示す。絶対値ＳＡＤは、ローカルＳＡＤからグローバルＳＡＤを減算した値の絶対値を示す。
【００８２】
また、特徴量算出部４１は、グローバル視差マップが示す水平視差ｄ１とローカル視差マップが示す水平視差ｄ１との算術平均を左側画素毎に算出することで、平均視差マップを生成する。平均視差マップは、左側画素毎に上記の算術平均値を示す。
【００８３】
また、特徴量算出部４１は、グローバル視差マップが示す水平視差ｄ１の分散値（上記の算術平均値に対する分散値）を左側画素毎に算出することで、分散視差マップを生成する。特徴量算出部４１は、特徴量マップをニューラルネット処理部４２に出力する。なお、特徴量算出部４１は、特徴量マップを少なくとも２つ以上生成すればよい。
【００８４】
（ニューラルネット処理部）
ニューラルネット処理部４２は、特徴量マップをニューラルネットワークの入力値Ｉｎ０〜Ｉｎ（ｍ−１）とすることで、出力値Ｏｕｔ０〜Ｏｕｔ２を取得するものである。ここで、ｍは２以上１１以下の整数である。
【００８５】
具体的には、ニューラルネット処理部４２は、各特徴量マップを構成する左側画素のうち、いずれかの左側画素を評価対象画素とし、当該評価対象画素に対応する値を各特徴量マップから取得する。そして、ニューラルネット処理部４２は、これらの値を入力値とする。
【００８６】
出力値Ｏｕｔ０は、統合視差マップが示す評価対象画素の水平視差ｄ１及び垂直視差ｄ２が次フレームでも参照可能か否かを示す。即ち、出力値Ｏｕｔ０は、時間信頼度を示す。出力値Ｏｕｔ０は、具体的には、「０」または「１」となる。「０」は、例えば、水平視差ｄ１及び垂直視差ｄ２が次フレームで参照不可であることを示し、「１」は、例えば、水平視差ｄ１及び垂直視差ｄ２が次フレームで参照可能であることを示す。
【００８７】
出力値Ｏｕｔ１は、グローバル視差マップが示す評価対象画素の水平視差ｄ１及び垂直視差ｄ２と、ローカル視差マップ示す評価対象画素の水平視差ｄ１及び垂直視差ｄ２と、のうちどちらの信頼度が高いかを示す。即ち、出力値Ｏｕｔ１は、比較信頼度を示す。出力値Ｏｕｔ１は、具体的には、「０」または「１」となる。「０」は、例えば、ローカル視差マップの方がグローバル視差マップよりも信頼度が高いことを示し、「１」は、例えば、グローバル視差マップの方がローカル視差マップよりも信頼度が高いことを示す。
【００８８】
出力値Ｏｕｔ２は、特に制限されず、例えば、各種アプリケーションに利用可能な情報となりうる。より詳細には、出力値Ｏｕｔ２は、評価対象画素のオクルージョン情報となりうる。評価対象画素のオクルージョン情報は、任意の基準位置（例えば、被写体を撮影した撮影素子の位置）から、評価対象画素に描かれた被写体までの距離を示し、裸眼立体視表示装置による多視点画像生成に利用可能である。また、出力値Ｏｕｔ２は、評価対象画素の動き情報となりうる。評価対象画素の動き情報は、評価対象画素に描かれた被写体の動きに関する情報（例えば、動きの大きさと方向とを示すベクトル情報）である。動き情報は、２Ｄ３Ｄ変換アプリケーションに利用可能である。また、出力値Ｏｕｔ２は、評価対象画素の輝度切り替え情報となりうる。評価対象画素の輝度切り替え情報は、評価対象画素をどのような輝度で表示するかを示す情報であり、ハイダイナミックレンジアプリケーションで利用可能である。
【００８９】
また、出力値Ｏｕｔ２は、多視点画像生成時に利用可能な各種の信頼度情報となりうる。例えば、出力値Ｏｕｔ２は、多視点画像生成時に評価対象画素の水平視差ｄ１及び垂直視差ｄ２が参照可能であるか否かを示す信頼度情報となりうる。裸眼立体視表示装置は、評価対象画素の水平視差ｄ１及び垂直視差ｄ２が参照できない場合、評価対象画素の水平視差ｄ１及び垂直視差ｄ２を、評価対象画素の周辺画素の水平視差ｄ１及び垂直視差ｄ２で補間する。また、出力値Ｏｕｔ２は、多視点画像のリファインメント時に評価対象画素の輝度を足しこみ可能か否かを示す信頼度情報となりうる。裸眼立体視表示装置は、各画素の輝度のうち、足しこみ可能な輝度のみを足し込むことで、リファインメントを行なう。
【００９０】
ニューラルネット処理部４２は、評価対象画素を順次変更することで、新たな入力値Ｉｎ０〜Ｉｎ（ｍ−１）を生成し、出力値Ｏｕｔ０〜Ｏｕｔ２を取得する。したがって、出力値Ｏｕｔ０は、複数の左側画素の各々についての時間信頼度、即ち時間信頼度マップとして与えられる。出力値Ｏｕｔ１は、複数の左側画素の各々についての比較信頼度、即ち比較信頼度マップとして与えられる。出力値Ｏｕｔ２は、複数の左側画素の各々についての各種情報、即ち各種情報マップとして与えられる。ニューラルネット処理部４２は、これらのマップを周辺化処理部４３に出力する。図１３に、比較信頼度マップの一例である比較信頼度マップＥＭ１を示す。領域ＥＭ１１は、グローバル視差マップの方がローカル視差マップよりも信頼度が高い領域を示し、領域ＥＭ１２は、ローカル視差マップの方がグローバル視差マップよりも信頼度が高い領域を示す。
【００９１】
上述したように、ローカルマッチングは、精度の良否が入力画像ＶＬ、ＶＲの品質（色ズレや幾何ズレの程度等）に依存しないという長所があるものの、オクルージョンに弱い、安定性が悪い（精度がばらつきやすい）といった短所もある。一方、グローバルマッチングは、オクルージョンに強い、安定しているという長所があるものの、精度の良否が入力画像ＶＬ、ＶＲの品質に依存しやすいという短所もある。しかし、第１の視差検出部２０は、グローバルマッチングを行なう際に、垂直方向への検索も行ない、かつ、色ズレに応じた補正も行う。即ち、第１の視差検出部２０は、第１の参照画素を決定する際に、基準画素と同じｙ座標を有する右側画素のみならず、基準画素に対してｙ方向にずれた位置に存在する画素も検索する。さらに、第１の視差検出部２０は、ＤＳＡＤを算出する際に、色ズレに応じた補正値α１を使用する。このように、第１の視差検出部２０は、精度の良否が入力画像ＶＬ、ＶＲの品質に依存しにくいグローバルマッチングを行なうことができる。したがって、本実施形態では、グローバルマッチングの方がローカルマッチングよりも信頼度が高い場合が多いので、領域ＥＭ１１は、領域ＥＭ１２よりも広くなっている。
【００９２】
ニューラルネット処理部４２は、例えば図１１に示すように、ｎ個の層を有する。ここで、ｎは３以上の整数である。第０層が入力層であり、第１〜第（ｎ−２）層が中間層であり、第（ｎ−１）層が出力層である。各層は、複数のノード４２１を有する。即ち、入力層及び中間層は、入力値Ｉｎ０〜Ｉｎ（ｍ−１）分のノード（第０〜第（ｍ−１）ノード）を有する。出力層は３つのノード（第０〜第２ノード）を有する。出力層は、出力値Ｏｕｔ０〜Ｏｕｔ２を出力する。各ノード４２１は、当該ノード４２１に隣接する層の全てのノード４２１に連結されている。第ｋ層（１≦ｋ≦ｎ−１）の第ｊノードからの出力値は、例えば以下の式（６）で表される。
【００９３】
【数５】
2014078095.tif 000007
【００９４】
なお、ニューラルネット処理部４２は、適切な出力値Ｏｕｔ０〜Ｏｕｔ２を取得するため、事前に学習を行っておく。この学習は、例えばバックプロパゲーションにより行われる。即ち、ニューラルネット処理部４２は、以下の式（８）、（９）に基づいて、第（ｎ−２）層と出力層との間の伝播係数を更新する。
【００９５】
【数６】
2014078095.tif 000008
【００９６】
そして、ニューラルネット処理部４２は、以下の式（１０）〜（１３）に基づいて、第（ｎ−２）層より前の伝播係数を、出力層に近い側から更新していく。
【００９７】
【数７】
2014078095.tif 000009
【００９８】
ここで、教師情報としては、テンプレートとして予め用意された教師用左目画像、教師用右目画像、左目基準視差マップ、及び右目基準視差マップを使用することができる。ここで、教師用左側画素は、入力画像ＶＬに相当し、教師用右目画像は入力画像ＶＲに想到する。左目基準視差マップは、教師用左目画像を構成する左側画素を基準画素として作成された視差マップであり、右目基準視差マップは、教師用右目画像を構成する右目画素を基準として作成された視差マップである。即ち、これらのテンプレートに基づいて、入力値Ｉｎ０〜Ｉｎ（ｍ−１）及び出力値Ｏｕｔ０〜Ｏｕｔ２の教師情報を算出する。さらに、これらのテンプレートを改変したもの（例えば、各画像にノイズを乗せたもの、一方の画像に色ズレ及び幾何ズレのうち少なくとも一方を起こさせたもの）に基づいて、入力値Ｉｎ０〜Ｉｎ（ｍ−１）及び出力値Ｏｕｔ０〜Ｏｕｔ２の教師情報を算出する。教師情報の算出は、裸眼立体視表示装置内部で行ってもよいが、外部の装置に行わせてもよい。そして、これらの教師情報をニューラルネット処理部４２に順次与えることで、ニューラルネット処理部４２に学習を行わせる。ニューラルネット処理部４２にこのような学習を行わせることで、色ズレ及び幾何ズレに強い出力値Ｏｕｔ０〜Ｏｕｔ２が得られる。
【００９９】
なお、ユーザは、所望の出力値Ｏｕｔ０〜Ｏｕｔ２を得ることができるように、テンプレートを改変させることができる。即ち、教師情報と出力値Ｏｕｔ０〜Ｏｕｔ２との関係は２項分布に従うので、尤度関数Ｌは以下の式（１４）で与えられる。
【０１００】
【数８】
2014078095.tif 000010
【０１０１】
教師情報の分布は、尤度関数Ｌに依存する。したがって、ユーザは、所望の出力値Ｏｕｔ０〜Ｏｕｔ２が得られるときの尤度が最大となるように、テンプレートを改変（重み付け）すればよい。教師情報を重み付けした時の尤度関数Ｌ’は、以下の式（１５）で与えられる。
【０１０２】
【数９】
2014078095.tif 000011
【０１０３】
なお、ニューラルネット処理部４２の一部は、ハードウェアにて実現されても良い。例えば、入力層から第１層までの処理を固定化し、その部分をハードウェアにて実現してもよい。また、特徴量算出部４１及びニューラルネット処理部４２は、以下の方法により出力値Ｏｕｔ１、即ち比較信頼度マップを生成してもよい。なお、この処理では、ニューラルネット処理部４２は、ニューラルネットワークによる処理を行わない。即ち、特徴量算出部４１は、現フレームのグローバル視差マップと、前フレームのグローバル視差マップとの差分を示す第１の差分マップを生成する。第１の差分マップは、現フレームのグローバル視差マップの水平視差ｄ１から前フレームのグローバル視差マップの水平視差ｄ１を減算した値を、左側画素毎に示すものである。次いで、ニューラルネット処理部４２は、第１の差分マップを２値化することで、第１の２値化差分マップを生成する。そして、ニューラルネット処理部４２は、第１の２値化差分マップの各値に所定の重み（例えば８）を乗じることで、第１の差分スコアマップを生成する。
【０１０４】
さらに、特徴量算出部４１は、現フレームのグローバル視差マップと、現フレームの入力画像ＶＬとのエッジ画像を生成し、これらの相関を示す相関マップを生成する。グローバル視差マップのエッジ画像は、グローバル視差マップのエッジ部分（グローバル視差マップに描かれた各画像の輪郭部分）を示す。同様に、入力画像ＶＬのエッジ画像は、入力画像ＶＬのエッジ部分（入力画像ＶＬに描かれた各画像の輪郭部分）を示す。エッジ画像同士の相関を算出する手法としては、例えば、ＮＣＣ等のような相関関係を算出する手法が任意に用いられる。そして、ニューラルネット処理部４２は、相関マップを２値化することで、２値化相関マップを生成する。そして、ニューラルネット処理部４２は、２値化相関マップの各値に所定の重み（例えば２６）を乗じることで、相関スコアマップを生成する。
【０１０５】
そして、ニューラルネット処理部４２は、第１の差分スコアマップと相関スコアマップとを統合し、ＩＩＲフィルタを掛けることで、グローバルマッチング用信頼度マップを生成する。グローバルマッチング用信頼度マップの各左側画素の値は、第１の差分スコアマップと相関スコアマップとの値のうち、大きい方の値を示す。
【０１０６】
一方、特徴量算出部４１は、現フレームのローカル視差マップと、前フレームのローカル視差マップとの差分を示す第２の差分マップを生成する。第２の差分マップは、現フレームのローカル視差マップの水平視差ｄ１から前フレームのローカル視差マップの水平視差ｄ１を減算した値を、左側画素毎に示すものである。次いで、ニューラルネット処理部４２は、第２の差分マップを２値化することで、第２の２値化差分マップを生成する。そして、ニューラルネット処理部４２は、第２の２値化差分マップの各値に所定の重み（例えば１６）を乗じることで、第２の差分スコアマップを生成する。
【０１０７】
さらに、特徴量算出部４１は、現フレームの入力画像ＶＬのエッジ画像を生成する。このエッジ画像は、入力画像ＶＬのエッジ部分（入力画像ＶＬに描かれた各画像の輪郭部分）を示す。ニューラルネット処理部４２は、このエッジ画像を２値化することで、２値化エッジマップを生成する。そして、ニューラルネット処理部４２は、２値化エッジマップの各値に所定の重み（例えば８）を乗じることで、エッジスコアマップを生成する。
【０１０８】
そして、ニューラルネット処理部４２は、第２の差分スコアマップとエッジスコアマップとを統合し、ＩＩＲフィルタを掛けることで、ローカルマッチング用信頼度マップを生成する。ローカルマッチング用信頼度マップの各左側画素の値は、第２の差分スコアマップとエッジスコアマップとの値のうち、大きい方の値を示す。
【０１０９】
このように、ニューラルネット処理部４２は、グローバル視差マップを異なる評価手法により評価し、それらの結果を統合することで、グローバルマッチング用信頼度マップを生成する。同様に、ニューラルネット処理部４２は、ローカル視差マップを異なる評価手法により評価し、それらの結果を統合することで、ローカルマッチング用信頼度マップを生成する。ここで、グローバル視差マップの評価手法とローカル視差マップの評価手法とは互いに異なっている。また、評価手法により異なる重み付けが行われている。
【０１１０】
そして、ニューラルネット処理部４２は、グローバルマッチング用信頼度マップと、ローカルマッチング用信頼度マップとを対比することで、左側画素毎に、グローバル視差マップとローカル視差マップとのどちらの信頼度が高いかを判定する。ニューラルネット処理部４２は、判定の結果に基づいて、信頼度の高い視差マップを左側画素毎に示す比較信頼度マップを生成する。
【０１１１】
周辺化処理部４３は、ニューラルネット処理部４２から与えられた各マップに周辺化（平滑化）処理を施す。具体的には、周辺化処理部４３は、マップを構成するいずれかの画素を積算基準画素とし、積算基準画素及びその周辺画素の値（例えば、比較信頼度、時間信頼度等）を積算する。周辺化処理部４３は、積算値を０〜１の範囲に正規化し、積算基準画素に隣接する画素に伝播させる。ここで、周辺化処理の例を図１２に基づいて説明する。例えば、周辺化処理部４３は、画素ＰＭ１を積算基準画素とし、積算基準画素ＰＭ１及びその周辺の画素ＰＭ２〜ＰＭ４の値を積算する。そして、周辺化処理部４３は、積算値を０〜１の範囲に正規化する。周辺化処理部４３は、積算基準画素ＰＭ１の値が「０」または「１」となる場合、積算値を上述した式（７）に代入することで、正規化を行なう。一方、周辺化処理部４３は、積算基準画素ＰＭ１の値が０〜１の範囲内の実数となる場合、積算値をシグモイド関数に代入することで、正規化を行なう。
【０１１２】
そして、周辺化処理部４３は、正規化された積算値を積算基準画素ＰＭ１の右側に隣接する画素ＰＭ５に伝播させる。具体的には、周辺化処理部４３は、積算値と画素ＰＭ５の値との算術平均値を算出し、算術平均値を画素ＰＭ５の値とする。周辺化処理部４３は、積算値をそのまま画素ＰＭ５の値としてもよい。なお、周辺化処理部４３は、このような周辺化処理を行う場合、積算基準画素の初期値（スタート地点）を、マップの左端を構成する画素（ｘ＝０となる画素）とする。この例では、伝播方向を右方向としたが、他の方向（左方向、上方向、下方向）であってもよい。
【０１１３】
周辺化処理部４３は、マップの全範囲に対して周辺化処理を行ってもよいが、一部の範囲に対して周辺化処理を行ってもよい。なお、マップの周辺化処理はローパスフィルタによって行なうこともできるが、周辺化処理部４３が上記のような処理を行うことで、以下の効果が得られる。即ち、ローパスフィルタは、周辺化処理の対象となるマップのうち、画素の値が所定値以上となる部分にしか周辺化処理を行なうことができない。これに対し、周辺化処理部４３は、マップの全範囲または所望の範囲に対して周辺化処理を行なうことができる。また、ローパスフィルタによる周辺化処理は、単に各画素の中間値を出力するだけなので、周辺化処理によってかえってマップに不具合が生じる可能性がある。例えば、マップの特徴部分（例えば、マップのエッジ部分や被写体が描かれている部分）が不自然に周辺化される可能性がある。これに対し、周辺化処理部４３は、複数の画素の値を積算し、これにより得られた積算値を用いて周辺化を行うので、マップの特徴部分を生かした周辺化を行なうことができる。
【０１１４】
周辺化処理部４３は、周辺化処理を施した比較信頼度マップを図５に示すマップ生成部５０に出力する。さらに、周辺化処理部４３は、周辺化処理を施した時間信頼度マップを第１の視差検出部２０及び第２の視差検出部３０に出力する。第１の視差検出部２０及び第２の視差検出部３０に出力された時間信頼度マップは、次フレームで使用される。また、周辺化処理部４３は、周辺化処理を施した各種情報マップを、当該各種情報マップを必要とするアプリケーションに提供する。
【０１１５】
（マップ生成部の構成）
マップ生成部５０は、グローバル視差マップ、ローカル視差マップ、及び比較信頼度マップに基づいて、統合視差マップを生成する。統合視差マップの各左側画素の水平視差ｄ１及び垂直視差ｄ２は、グローバル視差マップ及びローカル視差マップが示す値のうち、信頼度が高い方の値を示す。ここで、上記の処理で生成される統合視差マップは、入力画像ＶＬに対応する左目用統合視差マップである。画像処理装置１は、入力画像ＶＲを基準として上記の処理を行うことで、入力画像ＶＲに対応する右目用統合視差マップを生成する。マップ生成部５０は、右目用統合視差マップ及び左目用統合視差マップを補正部６０に出力する。補正部６０は、これらの統合視差マップに基づいて、オクルージョン画素の視差ベクトルを補正し、補正後の右目用統合視差マップ及び左目用統合視差マップをマップ生成部５０に出力する。マップ生成部５０は、補正後の統合視差マップを裸眼立体視表示装置内の多視点画像生成アプリケーションに提供する。また、マップ生成部５０は、補正後の統合視差マップを第１の視差検出部２０に出力する。第１の視差検出部２０に出力された統合視差マップは、次フレームで使用される。
【０１１６】
さらに、マップ生成部５０は、入力画像ＶＬ、ＶＲ及び補正後の統合視差マップに基づいて、補正値α１を算出する。即ち、マップ生成部５０は、統合視差マップに基づいて、左側画素に対応する対応画素を入力画像ＶＲから検索する。対応画素のｘ座標は、左側画素のｘ座標に水平視差ｄ１を加えた値であり、対応画素のｙ座標は、左側画素のｙ座標に垂直視差ｄ２を加えた値である。マップ生成部５０は、全ての左側画素について、対応画素を検索する。
【０１１７】
マップ生成部５０は、左側画素と対応画素との輝度差△Ｌｘ（差分値）を算出し、輝度差△Ｌｘの算術平均値Ｅ（ｘ）と、輝度差△Ｌｘのべき乗の算術平均値Ｅ（ｘ２）とを算出する。そして、マップ生成部５０は、算出された算術平均値Ｅ（ｘ）、Ｅ（ｘ２）と、例えば図１４に示すクラス分けテーブルとに基づいて、入力画像ＶＬ、ＶＲのクラスを決定する。ここで、クラス分けテーブルは、算術平均値Ｅ（ｘ）と、Ｅ（ｘ２）と、入力画像ＶＬ、ＶＲのクラスとを関連付けて示すものである。入力画像ＶＬ、ＶＲのクラスは、クラス０〜クラス４に区分され、各クラスは、入力画像ＶＬ、ＶＲの明瞭度を示す。クラスの値が小さいほど、入力画像ＶＬ、ＶＲは明瞭となる。例えば、図１５に示す画像Ｖ１は、クラス０に分類される。画像Ｖ１は、スタジオで撮影されたものであり、被写体が比較的明瞭に描かれている。一方、図１６に示す画像Ｖ２は、クラス４に分類される。画像Ｖ２は、屋外で撮影されたものであり、一部の被写体（特に背景部分）が比較的不明瞭に描かれている。
【０１１８】
マップ生成部５０は、図１７に示す補正値対応テーブルと、入力画像ＶＬ、ＶＲのクラスとに基づいて、補正値α１を決定する。ここで、補正値対応テーブルは、入力画像ＶＬ、ＶＲのクラスと補正値α１との対応関係を示すテーブルである。マップ生成部５０は、決定された補正値α１に関する補正値情報を第１の視差検出部２０に出力する。補正値α１は、次フレームで使用される。
【０１１９】
（補正部の構成）
補正部６０は、右目用統合視差マップ及び左目用統合視差マップに基づいて、オクルージョン画素の視差ベクトルを補正する。具体的には、補正部６０は、左側画素を起点として視差ベクトルを順次トレースする。
【０１２０】
より具体的には、補正部６０は、以下のベクトル追跡処理を行う。すなわち、補正部６０は、左側画素を基準画素とし、右目用統合視差マップから、基準画素の視差ベクトルが示す対応画素を抽出する。そして、補正部６０は、基準画素の視差ベクトルと対応画素の視差ベクトルとの整合性を判定する。以上がベクトル追跡処理の内容である。
【０１２１】
そして、補正部６０は、基準画素の視差ベクトルと対応画素の視差ベクトルとが整合する場合には、基準画素をオクルージョン画素に近似する近似画素とする。補正部６０は、近似画素の視差ベクトルに基づいて、オクルージョン画素の補正視差ベクトルを算出する。具体的には、補正部６０は、近似画素の視差ベクトルを補正視差ベクトルとし、オクルージョン画素の視差ベクトルを近似画素の視差ベクトルで置き換える。（近似画素の視差ベクトルをオクルージョン画素に引きこむ）。
【０１２２】
一方、補正部６０は、基準画素の視差ベクトルと対応画素の視差ベクトルとが整合しない場合には、対応画素の視差ベクトルが示す画素を左目用統合視差マップから抽出し、この画素を新たな基準画素とする。そして、補正部６０は、視差ベクトルの整合性が成立するまで、ベクトル追跡処理を繰り返して行う。
【０１２３】
図２２に示す例では、補正部６０は、左側画素ＰＬ２０を基準画素としてベクトル追跡処理を開始する。そして、補正部６０は、ベクトル追跡処理を繰り返して（この例では２回）行うことで、視差ベクトルが整合する左側画素ＰＬ３０を発見する。そして、補正部６０は、左側画素ＰＬ３０の視差ベクトルを補正視差ベクトルとし、左側画素ＰＬ２０の視差ベクトルを左側画素ＰＬ３０の視差ベクトルで置き換える。
【０１２４】
補正部６０は、上記の処理を左目用統合視差マップの全左側画素について行うことで、左目用統合視差マップを補正する。補正部６０は、右目用統合視差マップも同様にして補正する。補正部６０は、補正後の各統合視差マップをマップ生成部５０に出力する。このように、補正部６０は、各左側画素（または右側画素）がオクルージョン画素であるか否かの明示的な判定は行わず、全左側画素（または右側画素）について上述したベクトル追跡処理を行う。
【０１２５】
＜３．画像処理装置による処理＞
次に、画像処理装置１による処理の手順を、図１８に示すフローチャートに沿って説明する。
【０１２６】
ステップＳ１０において、画像取得部１０は、入力画像ＶＬ、ＶＲを取得し、画像処理装置１内の各構成要素に出力する。ステップＳ２０において、ＤＳＡＤ算出部２２は、マップ生成部５０から、補正値α１に関する補正値情報を取得する。なお、ＤＳＡＤ算出部２２は、補正値情報を取得できない場合（例えば、最初のフレーム（第０フレーム）に対する処理を行う場合）には、補正値α１を０に設定する。
【０１２７】
ＤＳＡＤ算出部２２は、バックトラック部２７から前フレームのグローバル視差マップを取得する。そして、ＤＳＡＤ算出部２２は、いずれかの左側画素を基準画素とし、基準画素の前フレームの水平視差ｄ１及び垂直視差ｄ２を前フレームのグローバル視差マップから検索する。そして、ＤＳＡＤ算出部２２は、基準画素に対して当該垂直視差ｄ２を有するいずれかの右側画素を第１の参照画素とする。なお、ＤＳＡＤ算出部２２は、前フレームのグローバル視差マップを取得できない場合（例えば、第０フレームに対する処理を行う場合）、基準画素と同じｙ座標を有する右側画素を第１の参照画素とする。
【０１２８】
そして、ＤＳＡＤ算出部２２は、第１の参照画素に対してｙ方向の所定範囲内に存在する右側画素を第２の参照画素とする。ＤＳＡＤ算出部２２は、基準画素と、第１の参照画素及び第２の参照画素を含む参照画素群と、補正値α１とに基づいて、上述した式（１）で示されるＤＳＡＤ（△ｘ、ｊ）を算出する。
【０１２９】
ＤＳＡＤ算出部２２は、全ての水平視差候補△ｘについてＤＳＡＤ（△ｘ，ｊ）を算出する。そして、ＤＳＡＤ算出部２２は、基準画素を変更し、上記の処理を繰り返す。これにより、ＤＳＡＤ算出部２２は、全ての基準画素についてＤＳＡＤ（△ｘ，ｊ）を算出する。そして、ＤＳＡＤ算出部２２は、ＤＳＡＤ（△ｘ、ｊ）と基準画素とが関連付けられたＤＳＡＤ情報を生成し、最小値選択部２３に出力する。
【０１３０】
ステップＳ３０において、最小値選択部２３は、ＤＳＡＤ情報に基づいて、以下の処理を行なう。即ち、最小値選択部２３は、水平視差候補△ｘ毎に、最小のＤＳＡＤ（△ｘ，ｊ）を選択する。最小値選択部２３は、選択されたＤＳＡＤ（△ｘ，ｊ）を図９に示す視差検出用ＤＰマップの各ノードＰ（ｘ、△ｘ）に格納する。
【０１３１】
さらに、最小値選択部２３は、最小のＤＳＡＤ（△ｘ，ｊ）に対応する参照画素を候補画素として特定する。そして、最小値選択部２３は、候補画素のｙ座標から基準画素のｙ座標を減算した値を垂直視差候補△ｙとする。そして、最小値選択部２３は、水平視差候補△ｘと垂直視差候補△ｙとを関連付けて、垂直視差候補格納テーブルに格納する。最小値選択部２３は、全ての基準画素について、上記の処理を行う。
【０１３２】
ステップＳ４０において、アンカーベクトル構築部２４は、評価部４０から前フレームの時間信頼度マップを取得し、マップ生成部５０から前フレームの統合視差マップを取得する。アンカーベクトル構築部２４は、前フレームの時間信頼度マップに基づいて、視差安定左側画素を特定する。そして、アンカーベクトル構築部２４は、前フレームの統合視差マップに基づいて、視差安定左側画素の前フレームの水平視差ｄ１、即ち安定水平視差ｄ１’を特定する。そして、アンカーベクトル構築部２４は、視差安定左側画素毎に、例えば上記の式（２）で示されるアンカーベクトルを生成する。なお、アンカーベクトル構築部２４は、前フレームの時間信頼度マップ及び統合視差マップを取得することができない場合、行列Ｍｄの成分を全て０とする。アンカーベクトル構築部２４は、アンカーベクトルと視差安定左側画素とが関連付けられたアンカーベクトル情報を生成し、コスト算出部２５に出力する。次いで、コスト算出部２５は、アンカーベクトル情報に基づいて、視差検出用ＤＰマップの各ノードＰ（ｘ、ｄ）の値を更新する。
【０１３３】
ステップＳ５０において、左目用画像水平差分算出部２６１は、画像取得部１０から入力画像ＶＬを取得する。左目用画像水平差分算出部２６１は、入力画像ＶＬを構成する左側画素毎に、輝度水平差分ｄｗＬを算出し、輝度水平差分ｄｗＬに関する輝度水平差分情報を生成する。そして、左目用画像水平差分算出部２６１は、輝度水平差分情報を重み算出部２６３に出力する。
【０１３４】
一方、右目用画像水平差分算出部２６２は、画像取得部１０から入力画像ＶＲを取得し、入力画像ＶＲに対して上述した左目用画像水平差分算出部２６１と同様の処理を行なう。そして、右目用画像水平差分算出部２６２は、この処理により生成された輝度水平差分情報を重み算出部２６３に出力する。
【０１３５】
次いで、重み算出部２６３は、輝度水平差分情報に基づいて、左側画素の重みｗｔＬ、右側画素のｗｔＲをすべての左側画素及び右側画素について算出する。
【０１３６】
次いで、経路算出部２６４は、重み算出部２６３から与えられた重み情報に基づいて、視差検出用ＤＰマップの始点から各ノードＰ（ｘ、△ｘ）に至るまでの累積コストを計算する。
【０１３７】
そして、経路算出部２６４は、算出された累積コストＤＦＩ（ｘ、△ｘ）０〜ＤＦＩ（ｘ、△ｘ）２のうち、最小のものを選択し、選択されたものをノードＰ（ｘ、△ｘ）の累積コストＤＦＩ（ｘ、△ｘ）とする。経路算出部２６４は、すべてのノードＰ（ｘ、△ｘ）について累積コストＤＦＩ（ｘ、△ｘ）を算出し、視差検出用ＤＰマップに格納する。
【０１３８】
次いで、バックトラック部２７は、累積コストが最小となる経路を終点から始点に向かって逆にたどることで、最短経路、即ち始点から終点までの累積コストが最小となる経路を算出する。この最短経路上のノードは、当該ノードに対応する左側画素の水平視差ｄ１となる。したがって、バックトラック部２７は、最短経路を算出することで、各左側画素の水平視差ｄ１を検出する。
【０１３９】
ステップＳ６０において、バックトラック部２７は、いずれかの左側画素に対応する垂直視差候補格納テーブルを垂直視差候補記憶部２１から取得する。バックトラック部２７は、取得した垂直視差候補格納テーブルに基づいて、左側画素の水平視差ｄ１に対応する垂直視差候補△ｙを特定し、特定された垂直視差候補△ｙを左側画素の垂直視差ｄ２とする。これにより、バックトラック部２７は、垂直視差ｄ２を検出する。そして、バックトラック部２７は、全ての左側画素について垂直視差ｄ２を検出し、検出された水平視差ｄ１及び垂直視差ｄ２に基づいて、グローバル視差マップを生成する。バックトラック部２７は、生成されたグローバル視差マップをＤＳＡＤ算出部２２、評価部４０、及びマップ生成部５０に出力する。
【０１４０】
一方、第２の視差検出部３０は、画像取得部１０から入力画像ＶＬ、ＶＲを取得する。さらに、第２の視差検出部３０は、評価部４０から前フレームの時間信頼度マップを取得し、マップ生成部５０から前フレームの統合視差マップを取得する。
【０１４１】
次いで、第２の視差検出部３０は、前フレームの時間信頼度マップに基づいて、視差安定左側画素を特定する。そして、第２の視差検出部３０は、前フレームの統合視差マップに基づいて、視差安定左側画素の前フレームの水平視差ｄ１及び垂直視差ｄ２、即ち安定水平視差ｄ１’及び安定垂直視差ｄ２’を特定する。そして、アンカーベクトル構築部２４は、視差安定左側画素のｘｙ座標にそれぞれ安定水平視差ｄ１’及び安定垂直視差ｄ２’を加算し、これにより得られたｘｙ座標を有する右側画素を、視差安定右側画素とする。
【０１４２】
さらに、第２の視差検出部３０は、入力画像ＶＬ、ＶＲをそれぞれ複数の画素ブロックに分割する。そして、第２の視差検出部３０は、左側画素ブロック内の各左側画素に対応する対応画素を、左側画素ブロックに対応する右側画素ブロックから検出する。ここで、第２の視差検出部３０は、視差安定左側画素に対応する対応画素を検出する際には、視差安定右側画素を優先的に対応画素として検出する。第２の視差検出部３０は、対応画素のｘ座標から左側画素のｘ座標を減算した値を左側画素の水平視差ｄ１とし、対応画素のｙ座標から左側画素のｙ座標を減算した値を右側画素の垂直視差ｄ２とする。第２の視差検出部３０は、検出結果に基づいて、ローカル視差マップを生成する。第２の視差検出部３０は、生成されたローカル視差マップを評価部４０に出力する。
【０１４３】
なお、第２の視差検出部３０は、前フレームの時間信頼度マップ及び統合視差マップを取得することができない場合、視差安定左側画素を検出せずに、上記の処理を行なう。
【０１４４】
ステップＳ７０において、特徴量算出部４１は、第１の視差検出部２０及び第２の視差検出部３０から与えられた視差マップ等に基づいて、２以上の特徴量マップを生成し、ニューラルネット処理部４２に出力する。
【０１４５】
次いで、ニューラルネット処理部４２は、各特徴量マップを構成する左側画素のうち、いずれかの左側画素を評価対象画素とし、当該評価対象画素に対応する値を各特徴量マップから取得する。そして、ニューラルネット処理部４２は、これらの値を入力値Ｉｎ０〜Ｉｎ（ｍ−１）とすることで、出力値Ｏｕｔ０〜Ｏｕｔ２を取得する。
【０１４６】
ニューラルネット処理部４２は、評価対象画素を順次変更することで、新たな入力値Ｉｎ０〜Ｉｎ（ｍ−１）を生成し、出力値Ｏｕｔ０〜Ｏｕｔ２を取得する。これにより、ニューラルネット処理部４２は、時間信頼度マップ、比較信頼度マップ、及び各種情報マップを生成する。ニューラルネット処理部４２は、これらのマップを周辺化処理部４３に出力する。
【０１４７】
次いで、周辺化処理部４３は、ニューラルネット処理部４２から与えられた各マップに周辺化（平滑化）処理を施す。周辺化処理部４３は、周辺化処理を施した比較信頼度マップをマップ生成部５０に出力する。さらに、周辺化処理部４３は、周辺化処理を施した時間信頼度マップを第１の視差検出部２０及び第２の視差検出部３０に出力する。また、周辺化処理部４３は、周辺化処理を施した各種情報マップを、当該各種情報マップを必要とするアプリケーションに提供する。
【０１４８】
ステップＳ８０において、マップ生成部５０は、グローバル視差マップ、ローカル視差マップ、及び比較信頼度マップに基づいて、統合視差マップを生成する。ここで、上記の処理で生成される統合視差マップは、入力画像ＶＬに対応する左目用統合視差マップである。画像処理装置１は、入力画像ＶＲを基準として上記の処理を行うことで、入力画像ＶＲに対応する右目用統合視差マップを生成する。マップ生成部５０は、右目用統合視差マップ及び左目用統合視差マップを補正部６０に出力する。補正部６０は、これらの統合視差マップに基づいて、オクルージョン画素の視差ベクトルを補正し、補正後の右目用統合視差マップ及び左目用統合視差マップをマップ生成部５０に出力する。マップ生成部５０は、補正後の統合視差マップを裸眼立体視表示装置内の多視点画像生成アプリケーションに提供する。また、マップ生成部５０は、補正後の統合視差マップを第１の視差検出部２０に出力する。多視点画像生成アプリケーションは、オクルージョン画素の視差ベクトルが安定した統合視差マップに基づいた処理を行うことができるので、多視点画像を安定して生成することができる。
【０１４９】
さらに、マップ生成部５０は、入力画像ＶＬ、ＶＲ及び補正後の統合視差マップに基づいて、補正値α１を算出する。即ち、マップ生成部５０は、入力画像ＶＬ、ＶＲ及び統合視差マップに基づいて、輝度差△Ｌｘの算術平均値Ｅ（ｘ）と、輝度差△Ｌｘのべき乗の算術平均値Ｅ（ｘ２）とを算出する。そして、マップ生成部５０は、算出された算術平均値Ｅ（ｘ）、Ｅ（ｘ２）と、図１４に示すクラス分けテーブルとに基づいて、入力画像ＶＬ、ＶＲのクラスを決定する。
【０１５０】
次いで、マップ生成部５０は、図１７に示す補正値対応テーブルと、入力画像ＶＬ、ＶＲのクラスとに基づいて、補正値α１を決定する。マップ生成部５０は、決定された補正値α１に関する補正値情報を第１の視差検出部２０に出力する。その後、画像処理装置１は、処理を終了する。
【０１５１】
図１９に、ローカル視差マップ、グローバル視差マップ、及び補正後の統合視差マップが時間の経過に応じて更新される様子を示す。図１１（ａ）は、ローカル視差マップが更新される様子を示し、図１１（ｂ）は、グローバル視差マップが更新される様子を示し、図１１（ｃ）は、統合視差マップが更新される様子を示す。
【０１５２】
第０フレーム（＃０）のローカル視差マップＤＭＬ０には、ドットノイズが見受けられる。ローカルマッチングは、オクルージョンに弱い、安定性が悪い（精度がばらつきやすい）という短所があり、かつ、第０フレームでは、時間信頼度マップを参照することができないからである。
【０１５３】
同様に、第０フレームのグローバル視差マップＤＭＧ０には、若干のストリーキング（スジ状のノイズ）が見受けられる。ローカルマッチングは、精度の良否が入力画像ＶＬ、ＶＲの品質に依存しやすく、かつ、ｙ方向の探索範囲が後のフレームに比べて若干狭いからである。
【０１５４】
第０フレーム（＃０）の統合視差マップＤＭ０には、上記のドットノイズ及びストリーキングはほぼ見受けられない。上記の通り、統合視差マップＤＭ０は、ローカル視差マップＤＭＬ０及びグローバル視差マップＤＭＧ０のうち、信頼度が高い部分を統合したものだからである。
【０１５５】
第１フレーム（＃１）のローカル視差マップＤＭＬ１には、ドットノイズはほぼ見受けられない。上述したように、第２の視差検出部３０は、第０フレームの時間信頼度マップ及び統合視差マップに基づいてローカル視差マップＤＭＬ１を生成することができるからである。
【０１５６】
同様に、第１フレームのグローバル視差マップＤＭＧ１には、ストリーキングはほぼ見受けられない。例えば、領域Ａ１でのストリーキングが特に減少している。この理由は、第１に、第１の視差検出部２０は、ＤＳＡＤを算出する際に、第０フレームのグローバル視差マップＤＭＧ０に基づいて、ｙ方向の探索範囲を実質的に拡大するからである。第２に、第１の視差検出部２０は、前フレームの安定水平視差ｄ１’を現フレームにおいても優先的に選択するからである。
【０１５７】
第１フレーム（＃１）の統合視差マップＤＭ１は、第０フレームの統合視差マップＤＭ０よりもさらに精度が向上している。上記の通り、統合視差マップＤＭ１は、ローカル視差マップＤＭＬ１及びグローバル視差マップＤＭＧ１のうち、信頼度が高い部分を統合したものだからである。
【０１５８】
第２フレームでの各マップＤＭＬ２、ＤＭＧ２、ＤＭ２は、第１フレームの結果を反映したものになっているので、精度がさらに向上している。例えば、グローバル視差マップＤＭＧ２のうち、領域Ａ２及びＡ３では、ストリーキングが特に減少している。
【０１５９】
（補正部による処理）
次に、補正部６０による処理の手順を図２１に示すフローチャートに沿って説明する。なお、補正部６０が左目用統合視差マップを補正する場合、フローチャート中の（ｘ，ｙ，ｓｉｄｅ）は、左目用統合視差マップの画素、すなわち左側画素を示し、（ｘ，ｙ，！ｓｉｄｅ）は、右目用統合視差マップの画素、すなわち右側画素を示す。一方、補正部６０が右目用統合視差マップを補正する場合、（ｘ，ｙ，ｓｉｄｅ）は、右側画素を示し、（ｘ，ｙ，！ｓｉｄｅ）は、左側画素を示す。また、補正部６０は、以下の処理を原点（０，０，ｓｉｄｅ）から行う。また、ここでは、左目用統合視差マップを補正する場合を一例として説明する。
【０１６０】
ステップＳ１００において、補正部６０は、左側画素（ｘ，ｙ，ｓｉｄｅ）を基準画素（ｃｘ，ｃｙ，ｃｓｉｄｅ）とし、カウント値（ｃｎｔ）を１にセットする。ステップＳ１１０において、補正部６０は、基準画素の視差ベクトル（ｒｘ，ｒｙ）を取得する。ステップＳ１２０において、補正部６０は、右目用統合視差マップから基準画素の視差ベクトルが示す対応画素（ｃｘ＋ｒｘ，ｃｙ＋ｒｙ，！ｃｓｉｄｅ）を取得する。さらに、補正部６０は、対応画素の視差ベクトル（ｐｘ，ｐｙ）を取得する。
【０１６１】
ステップＳ１３０において、補正部６０は、基準画素と対応画素との整合性、すなわち基準画素の視差ベクトル（ｒｙ，ｒｙ）と対応画素の視差ベクトル（ｐｘ，ｐｙ）との整合性を計算する。具体的には、補正部６０は、以下の式（１６）に示される差分ｄを算出する。
【０１６２】
【数１０】
2014078095.tif 000012
【０１６３】
ステップＳ１４０において、補正部６０は、基準画素の視差ベクトル（ｒｙ，ｒｙ）と対応画素の視差ベクトル（ｐｘ，ｐｙ）とが整合しているか否かを判定する。具体的には、補正部６０は、差分ｄが予め設定された整合性しきい値ｔｈ未満であるか否かを判定する。補正部６０は、差分ｄが整合性しきい値ｔｈ未満である、すなわち基準画素の視差ベクトルが整合していると判定した場合には、ステップＳ１５０に進む。
【０１６４】
一方、補正部６０は、差分ｄが整合性しきい値ｔｈ以上である、すなわち基準画素の視差ベクトルが整合していないと判定した場合には、カウント値と予め設定されたカウント上限値（ｌｉｍｉｔ）とを比較する。補正部６０は、カウント値がカウント上限値以上であると判定した場合には、ステップＳ１５０に進む。補正部６０は、カウント値がカウント上限値未満であると判定した場合には、対応画素の視差ベクトルが示す画素を左目用統合視差マップから抽出し、この画素を新たな基準画素とする。新たな基準画素は、以下の式（１７）で示される。さらに、補正部６０は、カウント値を１インクリメントする。その後、補正部６０は、ステップＳ１１０に戻る。カウント上限値の値は任意であるが、画像処理装置１がハードウェアで実現される場合、例えば１とされる。この場合であっても、オクルージョン画素の視差ベクトルはかなり改善される。
【０１６５】
【数１１】
2014078095.tif 000013
【０１６６】
ステップＳ１５０において、補正部６０は、基準画素を左側画素（ｘ，ｙ，ｓｉｄｅ）に近似する近似画素とし、近似画素の視差ベクトル（ｒｘ，ｒｙ）を補正視差ベクトルとする。そして、補正部６０は、左側画素（ｘ，ｙ，ｓｉｄｅ）の視差ベクトルを補正視差ベクトル、すなわち近似画素の視差ベクトルで置き換える。
【０１６７】
ステップＳ１６０において、補正部６０は、左側画素のｘ座標が左目用統合視差マップの幅（ｗｉｄｔｈ）未満であるか否かを判定する。補正部６０は、左側画素のｘ座標が左目用統合視差マップの幅（ｗｉｄｔｈ）未満であると判定した場合には、ｘ座標を１インクリメントし、ステップＳ１００に戻る。補正部６０は、左側画素のｘ座標が左目用統合視差マップの幅（ｗｉｄｔｈ）以上であると判定した場合には、ステップＳ１７０に進む。
【０１６８】
ステップＳ１７０において、補正部６０は、左側画素のｙ座標が左目用統合視差マップの高さ（ｈｅｉｇｈｔ）未満であるか否かを判定する。補正部６０は、左側画素のｙ座標が左目用統合視差マップの高さ（ｈｅｉｇｈｔ）未満であると判定した場合には、ｘ座標を０にリセットし、ｙ座標を１インクリメントし、ステップＳ１００に戻る。補正部６０は、左側画素のｙ座標が左目用統合視差マップの高さ（ｈｅｉｇｈｔ）以上であると判定した場合には、本処理を終了する。
【０１６９】
したがって、ステップＳ１００〜Ｓ１４０が上述したベクトル追跡処理に相当する。また、補正部６０は、左側画素がオクルージョン画素であるか否かを考慮せず、全ての左側画素に関して視差ベクトルの整合性を判定する。
【０１７０】
図２３は、補正部６０による処理を行わなかった場合に出力される左目用時間信頼度マップを示す。黒く描かれた箇所は、視差ベクトルが安定しない箇所、すなわちオクルージョン領域を示す。図２４は、カウント上限値を１として補正部６０による処理を行った場合に出力される左目用時間信頼度マップを示す。なお、ベースとなる入力画像ＶＬはいずれも同じものである。枠Ｐで示される箇所は、図２３では黒で描かれるが、図２４では白く描かれている。また、図２４では全体的に黒部分が減少している。したがって、補正部６０による処理によって、オクルージョン領域の視差ベクトルが安定した事がわかる。また、カウント上限値が１であっても十分な効果が見込まれる。
【０１７１】
＜４．画像処理装置による効果＞
次に、画像処理装置１による効果を説明する。画像処理装置１は、右目用統合視差マップ及び左目用統合視差マップのうち、一方の視差マップ中のオクルージョン画素に近似する近似画素を、他方の視差マップに基づいて探索する。そして、画像処理装置１は、近似画素の視差ベクトルに基づいて、オクルージョン画素の補正視差ベクトルを算出する。したがって、画像処理装置１は、近似画素の視差ベクトルを他方の視差マップに基づいて探索するので、近似画素の視差ベクトルを簡易に探索することができる。そして、画像処理装置１は、オクルージョン画素の視差ベクトルを、近似画素の視差ベクトルで置き換えるので、オクルージョン画素の視差ベクトルをより簡易に安定させることができる。
【０１７２】
さらに、画像処理装置１は、オクルージョン画素の視差ベクトルと、他方の視差マップとに基づいて、近似画素を探索するので、近似画素を簡易に探索することができる。
【０１７３】
さらに、画像処理装置１は、他方の視差マップから、基準画素の視差ベクトルが示す対応画素を抽出し、オクルージョン画素の視差ベクトルと、対応画素の視差ベクトルとに基づいて、近似画素を探索する。したがって、画像処理装置１は、近似画素を簡易に探索することができる。
【０１７４】
さらに、画像処理装置１は、ベクトル追跡処理を行い、オクルージョン画素の視差ベクトルと、対応画素の視差ベクトルとが整合しないと判定した場合には、一方の視差マップから対応画素の視差ベクトルが示す画素を新たな基準画素として抽出する。そして、画像処理装置１は、基準画素の視差ベクトルが整合するまでベクトル追跡処理を繰り返して行い、基準画素の視差ベクトルが整合した場合には、基準画素を近似画素とする。したがって、画像処理装置１は、近似画素をより簡易に探索することができる。
【０１７５】
さらに、画像処理装置１は、入力画像ＶＲを構成する第１の参照画素、及び第１の参照画素と垂直位置が異なる第２の参照画素を含む参照画素群から、対応画素の候補となる候補画素を検出する。そして、画像処理装置１は、基準画素の垂直位置から候補画素の垂直位置までの距離を示す垂直視差候補△ｙを垂直視差候補格納テーブルに格納する。
【０１７６】
このように、画像処理装置１は、対応画素の候補となる候補画素を垂直方向（ｙ方向）に探索し、この結果である垂直視差候補△ｙを垂直視差候補格納テーブルに格納する。したがって、画像処理装置１は、基準画素と同じ垂直位置にある右側画素のみならず、基準画素と異なる垂直位置にある右側画素も探索することができるので、ロバスト性及び精度の高い水平視差の検出を行なうことができる。
【０１７７】
さらに、画像処理装置１は、第１の参照画素から垂直方向の所定範囲内に存在する画素を第２の画素として参照画素群に含めるので、ｙ方向の探索範囲が過剰に広くなることを防止することができる。即ち、画像処理装置１は、最適化問題の爆発が起こることを防止することができる。
【０１７８】
さらに、画像処理装置１は、水平位置の異なる第１の参照画素毎に、参照画素群を生成し、垂直視差候補△ｙを、水平視差候補△ｘに関連付けて垂直視差候補格納テーブルに格納する。これにより、画像処理装置１は、より精度の高い垂直視差候補格納テーブルを生成することができる。
【０１７９】
このように、画像処理装置１は、入力画像ＶＬ、ＶＲを対比する（即ち、マッチング処理を行なう）ことで、垂直視差候補格納テーブルに垂直視差候補△ｙを格納する。しかし、画像処理装置１は、垂直視差候補格納テーブルに垂直視差候補△ｙをひと通り格納した後は、最短経路の算出等を行なうことで、水平視差ｄ１を検出する。即ち、画像処理装置１は、マッチング処理を１回だけ行なうことで、水平視差ｄ１を検出するので、水平視差ｄ１を迅速に検出することができる。
【０１８０】
そして、画像処理装置１は、垂直視差候補格納テーブルに格納された垂直視差候補△ｙのうち、水平視差ｄ１に対応する垂直視差候補△ｙを基準画素の垂直視差ｄ２として検出する。これにより、画像処理装置１は、垂直視差ｄ２を精度よく検出することができる。即ち、画像処理装置１は、幾何ズレに強い視差検出を行うことができる。
【０１８１】
さらに、画像処理装置１は、現フレームの右側画素のうち、現フレームの基準画素に対して前フレームで検出された垂直視差ｄ２を有する画素を、現フレームの第１の参照画素とする。これにより、画像処理装置１は、第１の参照画素を更新することができ、この第１の参照画素を基準として参照画素群を形成することができる。したがって、画像処理装置１は、候補画素を探索する範囲を実質的に拡大することができる。
【０１８２】
さらに、画像処理装置１は、入力画像ＶＬ、ＶＲの輝度差△Ｌｘ、即ち色ズレに応じた補正値α１に基づいて、ＤＳＡＤ（△ｘ、ｊ）を算出し、ＤＳＡＤ（△ｘ、ｊ）に基づいて、候補画素を検出する。したがって、画像処理装置１は、色ズレに強い視差検出を行うことができる。
【０１８３】
さらに、画像処理装置１は、基準画素、第１の参照画素、及び第２の参照画素のみならず、これらの画素の周辺の画素の輝度に基づいて、ＤＳＡＤ（△ｘ、ｊ）を算出するので、ＤＳＡＤ（△ｘ、ｊ）を精度よく算出することができる。特に、画像処理装置１は、基準画素、第１の参照画素、及び第２の参照画素に対してｙ方向にずれた位置に存在する画素の輝度に基づいて、ＤＳＡＤ（△ｘ、ｊ）を算出するので、この点でも、幾何ズレに強い視差検出を行うことができる。
【０１８４】
さらに、画像処理装置１は、入力画像ＶＬ、ＶＲの輝度差△Ｌｘ及び輝度差△Ｌｘのべき乗に基づいて、補正値α１を算出するので、補正値α１を精度よく算出することができる。特に、画像処理装置１は、輝度差△Ｌｘ及び輝度差△Ｌｘのべき乗を左側画素毎に算出し、これらの算術平均値をＥ（ｘ）、Ｅ（ｘ２）を算出する。そして、画像処理装置１は、算術平均値Ｅ（ｘ）、Ｅ（ｘ２）に基づいて、補正値α１を算出するので、補正値α１を精度よく算出することができる。
【０１８５】
特に、画像処理装置１は、クラス分けテーブルに基づいて、前フレームの入力画像ＶＬ、ＶＲのクラスを判定し、前フレームの入力画像ＶＬ、ＶＲのクラスに基づいて、補正値α１を算出する。このクラスは、入力画像ＶＬ、ＶＲの明瞭度を示す。したがって、画像処理装置１は、補正値α１をより精度よく算出することができる。
【０１８６】
さらに、画像処理装置１は、各種の特徴量マップを算出し、特徴量マップの値をニューラルネット処理部４２の入力値Ｉｎ０〜Ｉｎ（ｍ−１）とする。そして、画像処理装置１は、グローバル視差マップ及びローカル視差マップのうち、信頼度が高い方を示す比較信頼度を出力値Ｏｕｔ１として算出する。これにより、画像処理装置１は、より精度の高い視差検出を行うことができる。すなわち、画像処理装置１は、これらのマップのうち、信頼度の高い部分同士が組み合わされた統合視差マップを生成することができる。
【０１８７】
さらに、画像処理装置１は、ニューラルネットワークにより出力値Ｏｕｔ０〜Ｏｕｔ２を算出するので、出力値Ｏｕｔ０〜Ｏｕｔ２の精度が向上する。さらに、ニューラルネット処理部４２のメンテナンス性が向上する（即ち、メンテナンスが容易となる）。さらに、ノード４２１同士は複雑に連結しているので、ノード４２１同士の組み合わせは膨大となる。したがって、画像処理装置１は、比較信頼度の精度を向上させることができる。
【０１８８】
さらに、画像処理装置１は、統合視差マップを次フレームで参照可能か否かを示す時間信頼度を出力値Ｏｕｔ０として算出する。したがって、画像処理装置１は、次フレームの視差検出を、当該時間信頼度に基づいて行うことができる。これにより、画像処理装置１は、より精度の高い視差検出を行うことができる。具体的には、画像処理装置１は、時間信頼度を左側画素毎に示す時間信頼度マップを生成する。したがって、画像処理装置１は、統合視差マップが示す各左側画素の水平視差ｄ１及び垂直視差ｄ２のうち、時間信頼度の高い視差を次フレームでも優先的に選択することができる。
【０１８９】
また、画像処理装置１は、ＤＳＡＤを視差検出用ＤＰマップのスコアとするので、単にＳＡＤのみをスコアとする場合よりも、視差検出用ＤＰマップのスコアを精度良く算出することができ、ひいては、視差検出を精度良く行なうことができる。
【０１９０】
また、画像処理装置１は、各ノードＰ（ｘ、ｄ）の累積コストを算出する際に、水平差分に応じた重みｗｔＬ、ｗｔＲを考慮するので、累積コストを精度良く算出することができる。この重みｗｔＬ、ｗｔＲは、エッジ部では小さくなり、平坦部では大きくなるので、スムージングが画像に応じて適切に行われるようになる。
【０１９１】
また、画像処理装置１は、グローバル視差マップと入力画像ＶＬとのエッジ画像の相関を示す相関マップを生成し、この相関マップに基づいてグローバル視差マップの信頼度を算出する。したがって、画像処理装置１は、グローバル視差マップのいわゆるストリーキング領域での信頼度を算出することができる。このため、画像処理装置１は、ストリーキング領域において、視差検出を精度良く行うことができる。
【０１９２】
また、画像処理装置１は、グローバル視差マップとローカル視差マップとを評価する際に、それぞれ異なる評価手法にてグローバル視差マップとローカル視差マップとを評価するので、これらの特性を考慮した評価を行うことができる。
【０１９３】
また、画像処理装置１は、それぞれの評価手法により得られたマップにＩＩＲフィルタを掛けることで、グローバルマッチング用信頼度マップと、ローカルマッチング用信頼度マップとを生成するので、時間的に安定した信頼度マップを生成することができる。
【０１９４】
また、画像処理装置１は、グローバル視差マップとローカル視差マップとのうち、信頼度の高い方を用いて統合視差マップを生成する。したがって、画像処理装置１は、グローバルマッチングでは正確な視差が検出されにくい領域、及びローカルマッチングでは正確な視差が検出されにくい領域において、正確な視差を検出することができる。
【０１９５】
また、画像処理装置１は、生成された統合視差マップを次フレームで考慮するので、単に複数のマッチング手法を並行して行う場合よりも、視差検出を精度良く行なうことができる。
【０１９６】
＜５．各種変形例＞
次に、本実施形態の各種変形例を説明する。
【０１９７】
（第１の変形例）
第１の変形例に係る補正部６０は、オクルージョン画素の視差ベクトルがローカルマッチングにより算出されたものである場合に、補正視差ベクトルの算出、置き換えを行う。この理由は以下の通りである。すなわち、ローカルマッチングでは、ある制限された領域内でマッチングが行われているので、近似画素とオクルージョン画素とが近い位置にある場合が多い。言い換えれば、近似画素の信頼度が高い。
【０１９８】
一方、グローバルマッチングでは、入力画像全体を対象としてマッチングが行われているので、オクルージョン画素の視差ベクトルがオクルージョン画素とは全く関係のない（非常に距離が離れている）画素を示している可能性がある。この場合、補正部６０がオクルージョン画素の視差ベクトルを起点として視差ベクトルを追いかけると、オクルージョン画素とは全く関係のない画素を近似画素とする可能性がある。すなわち、近似画素の信頼度が低くなる可能性がある。
【０１９９】
したがって、第１の変形例では、画像処理装置１は、オクルージョン画素の視差ベクトルの算出に使用されたマッチング方法の種類に基づいて、近似画素の探索を行うか否かを決定する。これにより、画像処理装置１は、より信頼度の高い近似画素を探索することができる。
【０２００】
具体的には、画像処理装置１は、オクルージョン画素の視差ベクトルがローカルマッチングにより算出された場合には、近似画素の探索を行う。したがって、画像処理装置１は、より信頼度の高い近似画素を探索することができる。
【０２０１】
（第２の変形例）
第２の変形例では、補正部６０は、ローカル視差マップ内のオクルージョン画素に対して補正視差ベクトルの算出、置き換えを行う。すなわち、第２の変形例では、マップ生成部５０は、ローカル視差マップを補正部６０に出力し、補正部６０は、ローカル視差マップに対して図２１に示す処理を行う。そして、補正部６０は、補正後のローカル視差マップをマップ生成部５０に出力する。マップ生成部５０は、グローバル視差マップと、補正後のローカル視差マップとを時間信頼度マップに基づいて合成する。なお、マップ生成部５０は、オクルージョン画素を合成する際には、時間信頼度マップの値にかかわらず、ローカル視差マップの視差ベクトルを優先してもよい。第２の変形例でも、第１の変形例と同様の効果が得られる。
【０２０２】
（第３の変形例）
次に、第３の変形例を説明する。まず、図２０に基づいて、補正部６０の構成について説明する。補正部６０は、時間最小ベクトル（時間Ｍｉｎベクトル）算出部６１と、引き込みベクトル算出部６２と、ベクトル統合部６３とを備える。なお、以下の説明では、左目用視差マップ（左目用統合視差マップ等）を補正する処理を一例として説明するが、右目用視差マップも同様に補正されうる。
【０２０３】
時間最小ベクトル算出部６１は、現フレームの左目用統合視差マップと前フレームの左目用統合視差マップとを取得する。時間最小ベクトル算出部６１は、予め全ての視差ベクトル（前フレームの視差ベクトル含む）の符号を逆転させる（正規化する）。なお、右目用統合視差マップが補正される場合には、このような正規化は不要である。そして、時間最小ベクトル算出部６１は、現フレームの統合視差マップのうち、いずれかの画素を注目画素とする。
【０２０４】
そして、時間最小ベクトル算出部６１は、注目画素を含む所定領域（パッチ）を設定する。そして、時間最小ベクトル算出部６１は、所定領域内における現フレームの視差ベクトル（Ｄｘ、Ｄｙ）及び前フレームの視差ベクトル（Ｒｅｌ）のうち、符号を含めた最小のベクトルを注目画素の時間最小ベクトル（ＭｉｎＤｘ、ＭｉｎＤｙ）とする。そして、時間最小ベクトル算出部６１は、現フレームの左目用統合視差マップの全画素について、時間最小ベクトルを算出する。ここで、時間最小ベクトルは、所定領域内に存在する被写体のうち最も奥に存在する被写体の視差ベクトルとなっている可能性がある。この理由は以下の通りである。
【０２０５】
すなわち、立体視された被写体は、ユーザからの距離が大きい（奥に存在する）ほど、他の被写体によって隠れやすい。そして、被写体の視差ベクトルは、ユーザからの距離が大きいほど、符号を含めて小さくなる。一方、あるフレームで隠れている被写体は、他のフレームで見えている（入力画像ＶＬ、ＶＲの両方で表示されている）可能性がある。したがって、時間最小ベクトルは、所定領域内に存在する被写体のうち最も奥に存在する被写体の視差ベクトルとなっている可能性がある。時間最小ベクトルは、オクルージョン領域では信頼度が高く、非オクルージョン領域では信頼度が低いという特性がある。時間最小ベクトル算出部６１は、時間最小ベクトルをベクトル統合部６３に出力する。なお、時間最小ベクトル算出部６１は、前フレームだけでなく、より多くの過去フレームに基づいて、時間最小ベクトルを抽出してもよい。これにより、時間最小ベクトルの信頼度が向上する。
【０２０６】
引き込みベクトル算出部６２は、現フレームの左目用統合視差マップに基づいて、上述した引き込みベクトル（ＰｕｌｌＤｘ、ＰｕｌｌＤｙ）を算出し、ベクトル統合部６３に出力する。なお、引き込みベクトルは、オクルージョン領域及び非オクルージョン領域の両方で信頼度が高いという特性がある。
【０２０７】
ベクトル統合部６３は、左目用統合視差マップを取得し、左目用統合視差マップの視差ベクトル、すなわちオリジナルベクトル（Ｄｘ、Ｄｙ）と、時間最小ベクトルと、引き込みベクトルとを統合することで、補正視差ベクトルを算出する。ここで、ベクトル統合部６３は、全画素について補正視差ベクトルを算出する。すなわち、ベクトル統合部６３は、左目用統合視差マップの各画素がオクルージョン画素であるか否かの明示的な判定は行わず、全画素について補正視差ベクトルを算出する。
【０２０８】
具体的には、ベクトル統合部６３は、３つのオリジナルベクトル（Ｄｘ、Ｄｙ）と、３つの時間最小ベクトルと、３つの引き込みベクトルとのメディアン（中間値）を算出し、この中間値を補正視差ベクトル（Ｄｘ’、Ｄｙ’）とする。ここで、オリジナルベクトルは、オクルージョン領域での信頼度が低いが、非オクルージョン領域での信頼度が高いという特性がある。また、ベクトル統合部６３は、３つのベクトルを同じ数だけ加算すればよい。例えば、ベクトル統合部６３は、３つのベクトルをそれぞれ４つずつ加算してもよい。このように、第３の変形例では、３つのベクトルを同じ数だけ加算する。このような処理を行う理由は以下の通りである。
【０２０９】
すなわち、ベクトル統合部６３は、各画素がオクルージョン画素であるか否かの明示的な判定は行わない。言い換えれば、ベクトル統合部６３は、３つのベクトルの信頼度を判定しない。一方、３つのベクトルは、オクルージョン画素及び非オクルージョン画素のいずれかで信頼度が高くなる。このため、ベクトル統合部６３にとっては、３つのベクトルの信頼度が高くなる確からしさは同じ程度となる。そこで、ベクトル統合部６３は、３つのベクトルを同じ数だけ加算する。なお、後述する第４の変形例のように、一部のベクトルの信頼度が低いことが明らかであれば、ベクトル統合部６３は、そのベクトルの加算数（中間値の算出に用いるベクトルの数）を小さくする。
【０２１０】
このように、第３の変形例では、補正部６０は、オクルージョン画素のオリジナルベクトル、時間最小ベクトル、及び引き込みベクトルに基づいて、オクルージョン画素の補正視差ベクトルを算出する。ここで、左目用統合視差マップのあらゆる領域で、３つのベクトル（オリジナルベクトル、時間最小ベクトル、及び引き込みベクトル）のうち、２つのベクトルの信頼度が高い。したがって、補正視差ベクトルの信頼度も高くなる。したがって、補正部６０は、オクルージョン画素の視差ベクトルをより確実に安定させることができる。特に、補正視差ベクトルは時間最小ベクトルに基づいて算出されるため、より時間的に安定する。
【０２１１】
本変形例は、引き込みベクトルの算出時のカウント上限値が低い場合、すなわち引き込みベクトルが整合していない（収束していない）可能性がある場合に特に好適である。この場合、引き込みベクトルの精度（安定性）は十分でない可能性があるが、不足分を他のベクトル、すなわち時間最小ベクトル及びオリジナルベクトルで補間することができるからである。
【０２１２】
（第４の変形例）
第４の変形例では、３つのベクトルのうち、いずれか１つ（または２つ）のベクトルがグローバル視差マップに基づいて算出され、残りのベクトルがローカル視差マップに基づいて算出される。例えば、時間最小ベクトルのみがグローバル視差マップに基づいて算出され、他のベクトルがローカル視差マップに基づいて算出される。上述したように、グローバル視差マップの視差ベクトルは、ローカル視差マップの視差ベクトルよりも信頼度が低い。
【０２１３】
この場合、ベクトル統合部６３は、時間最小ベクトルの加算数を他のベクトルよりも低くする。例えば、ベクトル統合部６３は、オリジナルベクトル及び引き込みベクトルの加算数をそれぞれ４とし、時間最小ベクトルの加算数を１とする。なお、加算数の総数は第３の変形例と同数であってもよく、異なっていてもよい。
【０２１４】
したがって、ベクトル統合部６３は、オクルージョン画素の時間最小ベクトル、引き込みベクトル、及びオリジナルベクトルの信頼度に応じた重みづけを行い、重み付けされたベクトルに基づいて、補正視差ベクトルを算出する。これにより、ベクトル統合部６３は、オクルージョン画素の視差ベクトルをより確実に安定させることができる。
【０２１５】
（第５の変形例）
第５の変形例では、いわゆる機械学習により３つのベクトルからいずれかのベクトルを選択するものである。具体的には、まず、ベクトル統合部６３は、上述した特徴量算出部４１（図１０参照）と同様に特徴量マップ（演算特徴量）を生成する。そして、ベクトル統合部６３は、以下の式（１８）に示されるｌａｂｅｌを画素毎に算出する。
【０２１６】
【数１２】
2014078095.tif 000014
【０２１７】
ここで、ｌａｂｅｌは、３つのベクトルのいずれかを示すクラス値であり、ｉ、ｊは１〜３のいずれかの整数である。ｉ、ｊは、３つのベクトルのいずれかを示す。例えば、ｉ、ｊ＝１の場合、ｉ、ｊはオリジナルベクトルを示し、ｉ、ｊ＝２の場合、ｉ、ｊは時間最小ベクトルを示し、ｉ、ｊ＝３の場合、ｉ、ｊは引き込みベクトルを示す。ωｊはｊで示されるベクトルに対応する係数であり、ωｉはｉで示されるベクトルに対応する係数である。ｘは演算特徴量である。従って、式（１８）は、演算特徴量と３つのベクトルとの相関関係を示す式であるといえる。
【０２１８】
ベクトル統合部６３は、上述したニューラルネットと同様に、予め用意された教師関数により係数ωｉ、ωｊを学習する。すなわち、ベクトル統合部６３は、演算特徴量と３つのベクトルとの相関関係を学習する。なお、ニューラルネット処理部４２は、上述した出力値Ｏｕｔ２を本変形例のクラス値としてもよい。
【０２１９】
そして、ベクトル統合部６３は、ｌａｂｅｌに基づいて、３つのベクトルからいずれかのベクトルを選択し、選択したベクトルを補正視差ベクトルとする。このように、本変形例でも、ベクトル統合部６３は、各画素がオクルージョン画素であるか否かの明示的な判定を行わず、全画素について補正視差ベクトルを算出する。本変形例によれば、ベクトル統合部６３は、演算特徴量と３つのベクトルとの相関関係を学習し、学習結果に基づいて、補正視差ベクトルを算出するので、オクルージョン画素の視差ベクトルをより確実に安定させることができる。
【０２２０】
（第６の変形例）
第６の変形例は、補正視差ベクトルの空間的な連続性を考慮して補正視差ベクトルを算出するものである。具体的には、ベクトル統合部６３は、以下の式（１９）で示されるｅｒｒｏｒを画素毎に算出する。
【０２２１】
【数１３】
2014078095.tif 000015
【０２２２】
ここで、ｅｒｒｏｒは、３つのベクトルのいずれかを示すクラス値である。ｉは１〜３の整数であり、その意義は第５の変形例と同様である。ｘｉは出力値、ｙｉは入力値である。具体的には、ｘｉは、３つのベクトルのいずれかである。ｙｉは、ｘｉの算出に使用された視差ベクトル（例えば統合視差マップの視差ベクトル、ローカル視差マップの視差ベクトル、グローバル視差マップの視差ベクトル等）である。
【０２２３】
式（１９）の前段の式は、３つのベクトルを判別するためのスコアであり、後段の式は、隣接する画素同士のクラス値の差分、すなわち、隣接する画素同士のベクトル値の差分を意味する。すなわち、後段の式は、補正視差ベクトルの空間的な連続性を考慮した式となっている。
【０２２４】
そして、ベクトル統合部６３は、ｅｒｒｏｒに基づいて、３つのベクトルからいずれかのベクトルを選択し、選択したベクトルを補正視差ベクトルとする。このように、本変形例でも、ベクトル統合部６３は、各画素がオクルージョン画素であるか否かの明示的な判定を行わず、全画素について補正視差ベクトルを算出する。本変形例によれば、ベクトル統合部６３は、３つのベクトルを判別するためのスコアを算出し、当該スコアと、隣接する画素同士のベクトル値の差分とに基づいて、オクルージョン画素の補正視差ベクトルを算出する。したがって、ベクトル統合部６３は、オクルージョン画素の視差ベクトルをより確実に安定させることができる。
【０２２５】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０２２６】
例えば、上記実施形態では、補正部６０は、視差ベクトルを追いかけることで、視差ベクトルが整合する近似画素を探索したが、本技術はかかる例に限定されない。例えば、補正部６０は、右目用統合視差マップの全画素を順次調べることで、近似画素を探索するようにしてもよい。また、上記の各変形例を組み合わせてもよい。例えば、第５の変形例と第６の変形例を組み合わせてもよい。この場合、算出されたＬａｂｅｌは、各画素のＬａｂｅｌの空間的な連続性を考慮して補正される。
【０２２７】
また、上記実施形態では、右目用視差マップ及び左目用視差マップのオクルージョン領域の視差ベクトルを補正したが、オプティカルフローに本技術を適用してもよい。この場合、例えば、現フレームのオプティカルフローは左目用視差マップに相当し、前フレームのオプティカルフローは右目用視差マップに相当する。現フレームの各画素のモーションベクトルは、前フレームの対応画素を示し、前フレームの各画素のモーションベクトルは現フレームの対応画素を示す。したがって、モーションベクトルは視差ベクトルに相当する。本実施形態の技術をオプティカルフローに適用した場合、オプティカルフロー中のオクルージョン領域のモーションベクトルを、例えば引き込みベクトル、時間最小ベクトル、及びオリジナルベクトルに基づいて補正することができる。
【０２２８】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
右目用視差マップ及び左目用視差マップのうち、一方の視差マップ中のオクルージョン画素に近似する近似画素を、他方の視差マップに基づいて探索し、前記近似画素の視差ベクトルに基づいて、前記オクルージョン画素の補正視差ベクトルを算出する補正部を備える、画像処理装置。
（２）
前記補正部は、前記オクルージョン画素の視差ベクトルと、前記他方の視差マップとに基づいて、前記近似画素を探索する、前記（１）記載の画像処理装置。
（３）
前記補正部は、前記他方の視差マップから、前記オクルージョン画素の視差ベクトルが示す対応画素を抽出し、前記オクルージョン画素の視差ベクトルと、前記対応画素の視差ベクトルとに基づいて、前記近似画素を探索する、前記（２）記載の画像処理装置。
（４）
前記補正部は、前記オクルージョン画素を基準画素とし、前記他方の視差マップから、前記基準画素の視差ベクトルが示す対応画素を抽出し、前記オクルージョン画素の視差ベクトルと、前記対応画素の視差ベクトルとの整合性を判定するベクトル追跡処理を行い、前記オクルージョン画素の視差ベクトルと、前記対応画素の視差ベクトルとが整合しないと判定した場合には、前記一方の視差マップから前記対応画素の視差ベクトルが示す画素を新たな前記基準画素として抽出し、前記ベクトル追跡処理を繰り返して行う、前記（３）記載の画像処理装置。
（５）
前記補正部は、前記オクルージョン画素の視差ベクトルの算出に使用されたマッチング方法の種類に基づいて、前記近似画素の探索を行うか否かを決定する、前記（１）〜（４）のいずれか１項に記載の画像処理装置。
（６）
前記補正部は、前記オクルージョン画素の視差ベクトルがローカルマッチングにより算出された場合には、前記近似画素の探索を行う、前記（５）記載の画像処理装置。
（７）
前記補正部は、前記オクルージョン画素を含む所定領域内の視差ベクトルのうち、所定時間内の値が最小となる時間最小ベクトルを検出し、前記時間最小ベクトルと、前記近似画素の視差ベクトルと、前記オクルージョン画素の視差ベクトルとに基づいて、前記オクルージョン画素の補正視差ベクトルを算出する、前記（１）〜（６）のいずれか１項に記載の画像処理装置。
（８）
前記補正部は、前記時間最小ベクトル、前記近似画素の視差ベクトル、及び前記オクルージョン画素の視差ベクトルの信頼度に応じた重みづけを行い、重み付けされたベクトルに基づいて、前記オクルージョン画素の補正視差ベクトルを算出する、前記（７）記載の画像処理装置。
（９）
前記補正部は、重み付けされたベクトルの中間値を前記オクルージョン画素の補正視差ベクトルとして算出する、前記（８）記載の画像処理装置。
（１０）
前記補正部は、前記オクルージョン画素の演算特徴量を算出し、前記演算特徴量と、前記時間最小ベクトル、前記近似画素の視差ベクトル、及び前記オクルージョン画素の視差ベクトルとの相関関係を学習し、学習結果に基づいて、前記オクルージョン画素の補正視差ベクトルを算出する、前記（７）記載の画像処理装置。
（１１）
前記補正部は、前記時間最小ベクトル、前記近似画素の視差ベクトル、及び前記オクルージョン画素の視差ベクトルを判別するためのスコアを算出し、当該スコアと、隣接する画素同士のベクトル値の差分とに基づいて、前記オクルージョン画素の補正視差ベクトルを算出する、前記（７）記載の画像処理装置。
（１２）
右目用視差マップ及び左目用視差マップのうち、一方の視差マップ中のオクルージョン画素に近似する近似画素を、他方の視差マップに基づいて探索し、前記近似画素の視差ベクトルに基づいて、前記オクルージョン画素の補正視差ベクトルを算出することを含む、画像処理方法。
（１３）
コンピュータに、
右目用視差マップ及び左目用視差マップのうち、一方の視差マップ中のオクルージョン画素に近似する近似画素を、他方の視差マップに基づいて探索し、前記近似画素の視差ベクトルに基づいて、前記オクルージョン画素の補正視差ベクトルを算出する補正機能を実現させる、プログラム。
【符号の説明】
【０２２９】
１      画像処理装置
１０    画像取得部
２０    第１の視差検出部
３０    第２の視差検出部
４０    評価部
５０    マップ生成部
６０    補正部
６１    時間最小ベクトル算出部
６２    引き込みベクトル算出部
【図１】
2014078095.tif 000016
【図２】
2014078095.tif 000017
【図３】
2014078095.tif 000018
【図４】
2014078095.tif 000019
【図５】
2014078095.tif 000020
【図６】
2014078095.tif 000021
【図７】
2014078095.tif 000022
【図８】
2014078095.tif 000023
【図９】
2014078095.tif 000024
【図１０】
2014078095.tif 000025
【図１１】
2014078095.tif 000026
【図１２】
2014078095.tif 000027
【図１４】
2014078095.tif 000028
【図１５】
2014078095.tif 000029
【図１６】
2014078095.tif 000030
【図１７】
2014078095.tif 000031
【図１８】
2014078095.tif 000032
【図２０】
2014078095.tif 000033
【図２１】
2014078095.tif 000034
【図２２】
2014078095.tif 000035
【図１３】
2014078095.tif 000036
【図１９】
2014078095.tif 000037
【図２３】
2014078095.tif 000038
【図２４】
2014078095.tif 000039