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