(57)【要約】【課題】従来よりも多様な画像に適用でき、かつ、時間的なロバスト性が従来よりも高い幾何補正用情報を生成することが可能な、新規かつ改良された画像処理装置等を提供する。【解決手段】画像処理装置は、同じ被写体が描かれた第１の画像及び第２の画像のうち、第２の画像を構成する第２の画素を、第１の画像を構成する画素のうち、第２の画素に対応する第１の画素が近接するエピポーラ線に変換する変換行列をフレーム毎に算出し、かつ、現フレームの変換行列を前フレームの変換行列に拘束させる。【選択図】図２１
2012203851.tif 000002
【特許請求の範囲】
【請求項１】
同じ被写体が描かれた第１の画像及び第２の画像のうち、前記第２の画像を構成する第２の画素を、前記第１の画像を構成する画素のうち、前記第２の画素に対応する第１の画素が近接するエピポーラ線に変換する変換行列をフレーム毎に算出し、かつ、現フレームの前記変換行列を前フレームの前記変換行列に拘束させる変換行列算出部を備える、画像処理装置。
【請求項２】
前記変換行列算出部は、前記第１の画素の座標を成分とする第１のベクトルと、前記第２の画素の座標を成分とする第２のベクトルを現フレームの前記変換行列で変換することで得られるエピポーラベクトルとの内積の最小二乗問題を解くことで、現フレームの前記変換行列を算出する、請求項１記載の画像処理装置。
【請求項３】
前記変換行列算出部は、前記第１のベクトルと前記エピポーラベクトルとの内積の最小二乗問題である第１の最小二乗問題を解き、かつ、現フレームの前記変換行列と、前フレームの前記変換行列の直交ベクトル群との相関の最小二乗問題である第２の最小二乗問題を解くことで、現フレームの前記変換行列を算出する、請求項２記載の画像処理装置。
【請求項４】
前記変換行列は、前記第１の画素を変換する第１のホモグラフィー行列と、固定値で構成される固定値行列と、前記第２の画素を変換する第２のホモグラフィー行列との積であり、
前記変換行列算出部は、前記第１のベクトルを前フレームの前記第１のホモグラフィー行列で変換することで第１の変換ベクトルを算出し、前記第２のベクトルを前フレームの前記第２のホモグラフィー行列で変換することで第２の変換ベクトルを算出し、現フレームの前記変換行列のうち、前記固定値行列に相当する固定値相当ベクトルと、前フレームの固定値ベクトルの直交ベクトル群との相関の最小二乗問題を前記第２の最小二乗問題として解くことで、前記固定値相当ベクトルを算出し、前記固定値相当ベクトルと、前フレームの前記第１のホモグラフィー行列及び前記第２のホモグラフィー行列と、に基づいて、現フレームの前記変換行列を算出する、請求項３記載の画像処理装置。
【請求項５】
前記変換行列算出部は、現フレームの前記変換行列を前フレームの前記変換行列に所定の重みを乗じた行列に拘束させる、請求項１記載の画像処理装置。
【請求項６】
前記変換行列算出部は、前記第１の画像及び前記第２の画像の状況に基づいて、前記重みの値を調整する、請求項５記載の画像処理装置。
【請求項７】
前記変換行列算出部は、前記第１の画素及び前記第２の画素の状況に基づいて調整された前記重みの値を基準として、前記重みの値を再調整する、請求項６記載の画像処理装置。
【請求項８】
前記第１の画像及び前記第２の画像をそれぞれ複数の第１の画素ブロック及び第２の画素ブロックに分割し、前記第１の画素ブロックから特徴量が所定値以上の第１の特徴点を抽出し、前記第２の画素ブロックから前記第１の特徴点に対応する第２の特徴点を抽出する特徴量マッチング部と、
前記第１の特徴点と前記第２の特徴点との組である特徴点ペアのうち、前記第１の特徴点と前記第２の特徴点とを連結する特徴量ベクトルの頻度が所定値以上となる特徴点ペアである代表点ペアを、前記第１の画素ブロック毎に抽出する対応点リファインメント部と、を備え、
前記変換行列算出部は、前記対応点リファインメント部により抽出された前記代表点ペアに基づいて、現フレームの前記変換行列を算出する、請求項１記載の画像処理装置。
【請求項９】
前記変換行列算出部は、現フレームの前記変換行列を成分ごとに算出する、請求項１記載の画像処理装置。
【請求項１０】
前記変換行列算出部は、前記変換行列の各成分が格納された更新テーブルからいずれかの成分を抽出し、抽出された成分を用いて前フレームの前記変換行列を更新することで、現フレームの前記変換行列を算出する、請求項１記載の画像処理装置。
【請求項１１】
前記第１の画素から前記エピポーラ線に下ろした垂線と、前記エピポーラ線との交点を算出し、前記第１の画素の周辺パッチと、前記交点の周辺パッチとの相関が最大となるように、現フレームの前記変換行列を調整する変換行列調整部を備える、請求項１記載の画像処理装置。
【請求項１２】
同じ被写体が描かれた第１の画像及び第２の画像のうち、前記第２の画像を構成する第２の画素を、前記第１の画像を構成する画素のうち、前記第２の画素に対応する第１の画素が近接するエピポーラ線に変換する変換行列をフレーム毎に算出し、かつ、現フレームの前記変換行列を前フレームの前記変換行列に拘束させるステップを含む、画像処理方法。
【請求項１３】
コンピュータに、
同じ被写体が描かれた第１の画像及び第２の画像のうち、前記第２の画像を構成する第２の画素を、前記第１の画像を構成する画素のうち、前記第２の画素に対応する第１の画素が近接するエピポーラ線に変換する変換行列をフレーム毎に算出し、かつ、現フレームの前記変換行列を前フレームの前記変換行列に拘束させる変換行列算出機能を実現させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
ある被写体が異なる撮影条件（例えば、異なる撮影機器あるいは撮影方向）で撮影された場合、当該撮影によって生成された複数の画像には、同じ被写体が異なる位置に描かれていることがある。
【０００３】
そこで、特許文献１及び非特許文献１記載の技術は、これらの画像のうち、被写体が描かれた部分、即ち被写体画像の位置を所定の幾何補正用情報を用いて補正する。即ち、特許文献１記載の技術は、既知パターンを用いて被写体画像の位置を補正する。したがって、特許文献１記載の技術では、既知パターンが幾何補正用情報となる。一方、非特許文献１記載の技術は、ＤＬＴ（Ｄｉｒｅｃｔ  Ｌｉｎｅａｒ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ）法を用いて変換パラメータを算出し、この変換パラメータを用いて、被写体画像の位置を補正する。したがって、非特許文献１記載の技術では、ＤＬＴ法による変換パラメータが幾何補正用情報となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１９７１９８
【非特許文献１】Ｚｈａｎｇ  １９９５，  ’’Ａ  ｒｏｂｕｓｔ  ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  ｍａｔｃｈｉｎｇ  ｔｗｏ  ｕｎ−ｃａｌｉｂｒａｔｅｄ  ｉｍａｇｅｓ  ｔｈｒｏｕｇｈ  ｔｈｅ  ｒｅｃｏｖｅｒｙ  ｏｆ  ｔｈｅ  ｕｎｋｎｏｗｎ  ｅｐｉｐｏｌａｒ  ｇｅｏｍｅｔｒｙ’’
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、既知パターンはあらゆる画像に適用できるわけではないので、特許文献１記載の技術には、既知パターンが適用できない画像に対して補正を行うことができないという問題があった。また、ＤＬＴ法による変換パラメータは、時間的なロバスト性が低い（即ち、時間の経過によりパラメータの値がばらつく）ので、非特許文献１記載の技術には、安定した補正を行うことができないという問題があった。
【０００６】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、従来よりも多様な画像に適用でき、かつ、時間的なロバスト性が従来よりも高い幾何補正用情報を生成することが可能な、新規かつ改良された画像処理装置、画像処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある観点によれば、同じ被写体が描かれた第１の画像及び第２の画像のうち、第２の画像を構成する第２の画素を、第１の画像を構成する画素のうち、第２の画素に対応する第１の画素が近接するエピポーラ線に変換する変換行列をフレーム毎に算出し、かつ、現フレームの変換行列を前フレームの変換行列に拘束させる変換行列算出部を備える、画像処理装置が提供される。
【０００８】
ここで、変換行列算出部は、第１の画素の座標を成分とする第１のベクトルと、第２の画素の座標を成分とする第２のベクトルを現フレームの変換行列で変換することで得られるエピポーラベクトルとの内積の最小二乗問題を解くことで、現フレームの変換行列を算出するようにしてもよい。
【０００９】
また、変換行列算出部は、第１のベクトルとエピポーラベクトルとの内積の最小二乗問題である第１の最小二乗問題を解き、かつ、現フレームの変換行列と、前フレームの変換行列の直交ベクトル群との相関の最小二乗問題である第２の最小二乗問題を解くことで、現フレームの変換行列を算出するようにしてもよい。
【００１０】
また、変換行列は、第１の画素を変換する第１のホモグラフィー行列と、固定値で構成される固定値行列と、第２の画素を変換する第２のホモグラフィー行列との積であり、変換行列算出部は、第１のベクトルを前フレームの第１のホモグラフィー行列で変換することで第１の変換ベクトルを算出し、第２のベクトルを前フレームの第２のホモグラフィー行列で変換することで第２の変換ベクトルを算出し、現フレームの変換行列のうち、固定値行列に相当する固定値相当ベクトルと、前フレームの固定値ベクトルの直交ベクトル群との相関の最小二乗問題を第２の最小二乗問題として解くことで、固定値相当ベクトルを算出し、固定値相当ベクトルと、前フレームの第１のホモグラフィー行列及び第２のホモグラフィー行列と、に基づいて、現フレームの変換行列を算出するようにしてもよい。
【００１１】
また、変換行列算出部は、現フレームの変換行列を前フレームの変換行列に所定の重みを乗じた行列に拘束させるようにしてもよい。
【００１２】
また、変換行列算出部は、第１の画像及び第２の画像の状況に基づいて、重みの値を調整するようにしてもよい。
【００１３】
また、変換行列算出部は、第１の画素及び第２の画素の状況に基づいて調整された重みの値を基準として、重みの値を再調整するようにしてもよい。
【００１４】
また、第１の画像及び第２の画像をそれぞれ複数の第１の画素ブロック及び第２の画素ブロックに分割し、第１の画素ブロックから特徴量が所定値以上の第１の特徴点を抽出し、第２の画素ブロックから第１の特徴点に対応する第２の特徴点を抽出する特徴量マッチング部と、第１の特徴点と第２の特徴点との組である特徴点ペアのうち、第１の特徴点と第２の特徴点とを連結する特徴量ベクトルの頻度が所定値以上となる特徴点ペアである代表点ペアを、第１の画素ブロック毎に抽出する対応点リファインメント部と、を備え、変換行列算出部は、対応点リファインメント部により抽出された代表点ペアに基づいて、現フレームの変換行列を算出するようにしてもよい。
【００１５】
また、変換行列算出部は、現フレームの変換行列を成分ごとに算出するようにしてもよい。
【００１６】
また、変換行列算出部は、変換行列の各成分が格納された更新テーブルからいずれかの成分を抽出し、抽出された成分を用いて前フレームの変換行列を更新することで、現フレームの変換行列を算出するようにしてもよい。
【００１７】
また、第１の画素からエピポーラ線に下ろした垂線と、エピポーラ線との交点を算出し、第１の画素の周辺パッチと、交点の周辺パッチとの相関が最大となるように、現フレームの変換行列を調整する変換行列調整部を備えるようにしてもよい。
【００１８】
本発明の他の観点によれば、同じ被写体が描かれた第１の画像及び第２の画像のうち、第２の画像を構成する第２の画素を、第１の画像を構成する画素のうち、第２の画素に対応する第１の画素が近接するエピポーラ線に変換する変換行列をフレーム毎に算出し、かつ、現フレームの変換行列を前フレームの変換行列に拘束させるステップを含む、画像処理方法が提供される。
【００１９】
本発明の他の観点によれば、コンピュータに、同じ被写体が描かれた第１の画像及び第２の画像のうち、第２の画像を構成する第２の画素を、第１の画像を構成する画素のうち、第２の画素に対応する第１の画素が近接するエピポーラ線に変換する変換行列をフレーム毎に算出し、かつ、現フレームの変換行列を前フレームの変換行列に拘束させる変換行列算出機能を実現させる、プログラムが提供される。
【発明の効果】
【００２０】
以上説明したように本発明は、幾何補正用情報として変換行列を算出する。この変換行列は、エピポーラ拘束条件、即ち、第２の画素を変換行列によって変換することで得られるエピポーラ線に第１の画素が近接するという条件をみたすので、従来の既知パターンよりも多様な画像に適用可能である。また、変換行列は、前フレームの変換行列に拘束されるので、従来よりも時間的なロバスト性が高くなる。
【図面の簡単な説明】
【００２１】
【図１】裸眼立体視表示装置による処理の概要を示すフローチャートである。
【図２】入力画像同士の色ズレを示す説明図である。
【図３】入力画像同士の幾何ズレを示す説明図である。
【図４】視差マップ（ディスパリティマップ）及び多視点画像が生成される様子を示す説明図である。
【図５】本発明の実施形態に係る画像処理装置の構成を示すブロック図である。
【図６】カラーキャリブレーション部の構成を示すブロック図である。
【図７】ヒストグラムマッチング部の構成を示すブロック図である。
【図８】入力画像が複数のブロックに分割される様子を示す説明図である。
【図９】ブロックごとに生成されるカラーヒストグラムである。
【図１０】カラーヒストグラムマッチングに使用される色対応検出用ＤＰマップである。
【図１１】線形カラーパラメータフィッティング部の構成を示すブロック図である。
【図１２】カラーキャリブレーションを行った画像とカラーキャリブレーションを行っていない画像とのそれぞれにおけるガンマ曲線を対比して示す説明図である。
【図１３】非線形カラーパラメータフィッティング部の構成を示すブロック図である。
【図１４】評価部の構成を示すブロック図である。
【図１５】カラーキャリブレーションを行った後に生成された多視点画像とカラーキャリブレーションを行わずに生成された多視点画像とを対比して示す説明図である。
【図１６】幾何キャリブレーション部の構成を示すブロック図である。
【図１７】特徴量マッチング処理が行われた入力画像を示す説明図である。
【図１８】対応点リファインメント部の構成を示すブロック図である。
【図１９】各ブロック内のベクトルの頻度分布を示すヒストグラムである。
【図２０】ミーンシフト（Ｍｅａｎ  Ｓｈｉｆｔ）処理の様子を示す説明図である。
【図２１】線形幾何パラメータフィッティング部の構成を示すブロック図である。
【図２２】初期化部の構成を示すブロック図である。
【図２３】Ｆ行列に時間的な拘束をどの程度作用させるかを示す重みを決定するためのグラフである。
【図２４】線形幾何パラメータ算出部の構成を示すブロック図である。
【図２５】非線形幾何パラメータフィッティング部の構成を示すブロック図である。
【図２６】時間的に拘束されていないＦ行列のパラメータと、時間的に拘束されたＦ行列のパラメータとが時間の経過に応じて変動する様子を示すグラフである。
【図２７】Ｆ行列が時間の経過に応じて収束する様子を示すグラフである。
【図２８】線形幾何パラメータフィッティング部の他の例を示すブロック図である。
【図２９】射影成分算出部の構成を示すブロック図である。
【図３０】回転成分算出部の構成を示すブロック図である。
【図３１】並進成分算出部の構成を示すブロック図である。
【図３２】線形幾何パラメータフィッティング部の他の例を示すブロック図である。
【図３３】Ｆ行列を更新する際に使用される更新テーブルである。
【図３４】更新テーブルにより更新されたＦ行列が時間の経過に応じて収束する様子を示すグラフである。
【図３５】幾何キャリブレーションを行ったＦ行列の成分と、エラー値との対応関係を示すグラフである。
【図３６】画像擦り合わせによる幾何キャリブレーションの様子を示す説明図である。
【図３７】視差検出部の構成を示すブロック図である。
【図３８】グローバルマッチング部の構成を示すブロック図である。
【図３９】モーション記述部の構成を示すブロック図である。
【図４０】アンカーベクトル構築部の構成を示すブロック図である。
【図４１】視差の頻度を示すローカルヒストグラムである。
【図４２】経路構築部の構成を示すブロック図である。
【図４３】視差マッチングを行なう際に使用されるＤＰマップである。
【図４４】信頼度マップを示す説明図である。
【図４５】各種の視差マップに基づいて生成された多視点画像を示す説明図である。
【図４６】カラーキャリブレーションの手順を示すフローチャートである。
【図４７】幾何キャリブレーションの手順を示すフローチャートである。
【図４８】視差検出の手順を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２３】
なお、説明は以下の順序で行うものとする。
１．裸眼立体視表示装置が行なう処理の概要
２．画像処理装置の構成
２−１．カラーキャリブレーション部の構成
２−２．幾何キャリブレーション部の構成
２−３．視差検出部の構成
３．画像処理装置が行なう処理
【００２４】
＜１．裸眼立体視表示装置が行なう処理の概要＞
本願の発明者は、立体視専用の眼鏡がなくても、画像の立体視表示が可能な裸眼立体視表示装置について鋭意研究を重ね、その過程において、本実施の形態に係る画像処理装置を発明するに至った。ここで、立体視表示とは、視認者に両眼視差を生じさせることで、画像を立体的に表示することを意味する。
【００２５】
そこで、まず、画像処理装置を含む裸眼立体視表示装置が行なう処理について、図１に示すフローチャートに沿って説明する。
【００２６】
ステップＳ１において、裸眼立体視表示装置は、現フレームの入力画像ＶＬ、ＶＲを取得する。図２、図３に入力画像ＶＬ、ＶＲの一例を示す。なお、本実施の形態では、入力画像ＶＬ、ＶＲの左上端の画素を原点とし、水平方向をｘ軸、垂直方向をｙ軸とする。右方向がｘ軸の正方向であり、下方向がｙ軸の正方向である。各画素は、座標情報（ｘ、ｙ）と、色情報（輝度（明度）、彩度、色相）とを有している。以下、入力画像ＶＬ（及び入力画像ＶＬに各キャリブレーションを行なうことで得られる画像）上の画素を「左側座標点」とも称し、入力画像ＶＲ（及び入力画像ＶＲに各キャリブレーションを行なうことで得られる画像）上の画素を「右側座標点」とも称する。
【００２７】
図２、図３に示すように、入力画像ＶＬ、ＶＲには同じ被写体（例えば海、魚、ペンギン）が互いに異なる水平位置（ｘ座標）に描かれている。
【００２８】
図２に示す入力画像ＶＬ、ＶＲは、互いに色ズレが起こっている。すなわち、同じ被写体が入力画像ＶＬと入力画像ＶＲとで異なる色で描かれている。例えば、被写体画像ＶＬ１と被写体画像ＶＲ１とはいずれも同じ海を示すが、色が互いに異なっている。一方、図３に示す入力画像ＶＬ、ＶＲは、互いに幾何ズレが起こっている。すなわち、同じ被写体が異なる高さ位置（ｙ座標）に描かれている。例えば、被写体画像ＶＬ２と被写体画像ＶＲ２とはいずれも同じペンギンを示すが、被写体画像ＶＬ２のｙ座標と被写体画像ＶＲ２のｙ座標とは互いに異なっている。図３には、幾何ズレの理解を容易にするために、直線Ｌ１、Ｌ２が描かれている。
【００２９】
そこで、裸眼立体視表示装置は、カラーキャリブレーション及び幾何キャリブレーションを行なうことで、これらのズレを低減する。すなわち、カラーキャリブレーションは、入力画像ＶＬ、ＶＲの色ズレを補正する処理であり、幾何キャリブレーションは、入力画像ＶＬ、ＶＲの幾何ズレを補正する処理である。
【００３０】
ステップＳ２において、裸眼立体視表示装置は、カラーキャリブレーション及び幾何キャリブレーション済みの入力画像ＶＬ、ＶＲであるキャリブレーション済み画像ＶＬ−２、ＶＲ−２に基づいて、視差検出を行なう。視差検出の様子を図４に示す。
【００３１】
図４に示すように、裸眼立体視表示装置は、キャリブレーション済み画像ＶＬ−２上の座標点ＰＬ−２１と、エピポーラ線ＥＰＲ−２１上の各点との水平視差ｄ１（ｘ座標の差）を算出し、これらのうち最適なもの、即ち座標点ＰＲ−２１との水平視差ｄ１を座標点ＰＬ−２１の水平視差ｄ１とする。ここで、エピポーラ線ＥＰＲ−２１は、キャリブレーション済み画像ＶＲ−２上に描かれ、座標点ＰＬ−２１と同じｙ座標を有し、水平方向に伸びる直線である。このような探索が可能になるのは、裸眼立体視表示装置が予め幾何キャリブレーションを行なうことで、キャリブレーション済み画像ＶＬ−２とキャリブレーション済み画像ＶR−２との幾何ズレが低減されているからである。
【００３２】
裸眼立体視表示装置は、キャリブレーション済み画像ＶＬ−２上のすべての画素について水平視差ｄ１を算出することで、視差マップ（ディスパリティマップ）ＤＭを生成する。視差マップＤＭには、キャリブレーション済み画像ＶＬ−２上のすべての画素について水平視差ｄ１が記述されている。図４では、水平視差ｄ１の程度がハッチングの濃淡で示されている。
【００３３】
ステップＳ３において、裸眼立体視表示装置は、視差マップＤＭと、キャリブレーション済み画像ＶＬ−２、ＶＲ−２とに基づいて、多視点画像ＶＶを複数生成する。例えば、図４に示す多視点画像ＶＶは、キャリブレーション済み画像ＶＬ−２とキャリブレーション済み画像ＶＲ−２との間を補間する画像である。したがって、画素ＰＬ−２１が示す被写体上の点と同じ点を示す画素ＰＶ１は、画素ＰＬ−２１と画素ＰＲ−２１との間に存在する。
【００３４】
ここで、各多視点画像ＶＶは、裸眼立体視表示装置によって立体視表示される画像であり、それぞれ異なる視点（視認者の目の位置）に対応する。すなわち、視認者の目が視認する多視点画像ＶＶは、視認者の目の位置に応じて異なる。例えば、視認者の右目と左目とは異なる位置に存在するので、互いに異なる各多視点画像ＶＶを視認する。これにより、視認者は、多視点画像ＶＶを立体視することができる。また、視認者が移動することによって、視認者の視点が変わっても、その視点に対応する多視点画像ＶＶがあれば、視認者は多視点画像ＶＶを立体視することができる。このように、多視点画像ＶＶの数が多いほど、視認者はより多くの位置で多視点画像ＶＶを立体視することができる。また、多視点画像ＶＶが多いほど、逆視、即ち視認者が本来右目で視認すべき多視点画像ＶＶを左目で視認するという現象が生じにくくなる。また、多視点画像ＶＶを複数生成することによって、運動視差の表現が可能となる。
【００３５】
ステップＳ４において、裸眼立体視表示装置は、フォールバックを行なう。この処理は、概略的には、各多視点画像ＶＶをその内容に応じて再度補正する処理である。ステップＳ５において、裸眼立体視表示装置は、各多視点画像ＶＶを立体視表示する。
【００３６】
＜２．画像処理装置の構成＞
次に、本実施の形態に係る画像処理装置１の構成を図面に基づいて説明する。図５に示すように、画像処理装置１は、カラーキャリブレーション部２と、幾何キャリブレーション部３と、視差検出部４とを備える。カラーキャリブレーション部２は、現フレームの入力画像ＶＬ、ＶＲに対して上述したカラーキャリブレーションを行い、幾何キャリブレーション部３は、カラーキャリブレーション済みの入力画像ＶＬ、ＶＲであるカラーキャリブレーション済み画像ＶＬ−１、ＶＲ−１に対して上述した幾何キャリブレーションを行う。視差検出部４は、キャリブレーション済み画像ＶＬ−２、ＶＲ−２に対して上述した視差検出を行なう。したがって、画像処理装置１は、裸眼立体視表示装置が行う処理のうち、上述したステップＳ１〜Ｓ２の処理を行う。
【００３７】
＜２−１．カラーキャリブレーション部の構成＞
次に、カラーキャリブレーション部２の構成を図６に基づいて説明する。図６に示すように、カラーキャリブレーション部２は、ヒストグラムマッチング部２０１と、線形カラーパラメータフィッティング部２０２と、特徴量マッチング部２０３と、非線形カラーパラメータフィッティング部２０４と、評価部２０５と、カラーキャリブレーション実行部２０６とを備える。
【００３８】
［ヒストグラムマッチング部の構成］
ヒストグラムマッチング部２０１は、図７に示すように、ブロック分割部２０７と、ヒストグラム生成部２０８と、ＤＰ（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｉｎｇ）マッチング部２０９と、カラーペア算出部２１０とを備える。
【００３９】
ブロック分割部２０７は、図８（ａ）に示すように、入力画像ＶＬを８つの画素ブロックＢＬ−１に分割する。ここで、各画素ブロックＢＬ−１は矩形となっており、すべて同じ大きさである。また、ブロック分割部２０７は、各画素ブロックＢＬ−１の中心点となる画素を抽出し、抽出された画素の座標を各画素ブロックＢＬ−１の座標とする。
【００４０】
同様に、ブロック分割部２０７は、図８（ｂ）に示すように、入力画像ＶＲを８つの画素ブロックＢＲ−１に分割する。ここで、各画素ブロックＢＲ−１は画素ブロックＢＬ−１と同じ大きさ、形状となっている。また、ブロック分割部２０７は、各画素ブロックＢＲ−１の中心点となる画素を抽出し、抽出された画素の座標を各画素ブロックＢＲ−１の座標とする。したがって、各画素ブロックＢＬ−１には、同じ座標を有する画素ブロックＢＲ−１が存在する。言い換えれば、画素ブロックＢＬ−１と画素ブロックＢＲ−１とは１対１で対応する。そこで、ブロック分割部２０７は、画素ブロックＢＬ−１と画素ブロックＢＲ−１とを対応付ける。なお、画素ブロックＢＬ−１、ＢＲ−１の数は８に限定されない。
【００４１】
そして、ブロック分割部２０７は、各画素ブロックＢＬ−１、ＢＲ−１内の階調を６４階調に落とす。なお、各画素ブロックＢＬ−１、ＢＲ−１内の階調は６４階調に限定されない。元の入力画像ＶＬ、ＶＲの階調も特に限定されるものではないが、例えば１０２４階調となる。そして、ブロック分割部２０７は、各画素ブロックＢＬ−１、ＢＲ−１に関するブロック情報をヒストグラム生成部２０８に出力する。
【００４２】
ヒストグラム生成部２０８は、ブロック情報に基づいて、以下の処理を行う。すなわち、ヒストグラム生成部２０８は、画素ブロックＢＬ−１毎に、図９（ａ）に示すようなカラーヒストグラムＣＨＬを生成する。このカラーヒストグラムＣＨＬは、画素ブロックＢＬ−１内の輝度分布、即ち、輝度と、その輝度を有する画素の数（頻度）との対応関係を示す。ここでは、輝度は０〜６３の整数値で与えられる。同様に、ヒストグラム生成部２０８は、画素ブロックＢＲ−１毎に、図９（ｂ）に示すようなカラーヒストグラムＣＨＲを生成する。このカラーヒストグラムＣＨＲは、画素ブロックＢＲ−１内の輝度分布、即ち、輝度と、その輝度を有する画素の数（頻度）との対応関係を示す。画素ブロックＢＬ−１と画素ブロックＢＲ−１とが１対１で対応するので、カラーヒストグラムＣＨＬとカラーヒストグラムＣＨＲとは１対１で対応する。そこで、ヒストグラム生成部２０８は、カラーヒストグラムＣＨＬとカラーヒストグラムＣＨＲとを対応付ける。そして、ヒストグラム生成部２０８は、カラーヒストグラムＣＨＬ、ＣＨＲに関するカラーヒストグラム情報を生成し、ＤＰマッチング部２０９に出力する。
【００４３】
ＤＰマッチング部２０９（マッチング部）は、カラーヒストグラム情報に基づいて、画素ブロックＢＬ−１と、画素ブロックＢＬ−１に対応する画素ブロックＢＲ−１との組毎に、以下の処理を行なう。すなわち、ＤＰマッチング部２０９は、まず、図１０に示すような色対応検出用ＤＰマップを生成する。色対応検出用ＤＰマップの縦軸は、画素ブロックＢＬ−１内の輝度毎の頻度を示す。たとえば、ＦＬ（ｎＬ）は、輝度ｎＬ（ｎＬは０〜６３の整数）の頻度を示す。一方、色対応検出用ＤＰマップの横軸は、画素ブロックＢＲ−１内の輝度毎の頻度を示す。たとえば、ＦＬ（ｎＲ）は、輝度ｎＲ（ｎＲは０〜６３の整数）の頻度を示す。また、頻度ＦＬ（ｎＬ）、頻度ＦＬ（ｎＲ）を示すノードは、Ｐ（ｎＬ、ｎＲ）で表される。
【００４４】
そして、ＤＰマッチング部２０９は、ノードＰ（０、０）を始点、ノードＰ（６３、６３）を終点とし、始点からノードＰ（ｎＬ、ｎＲ）に至るまでの累積コストを以下のように定義する。
【００４５】
【数１】
2012203851.tif 000003
【００４６】
ここで、ＤＦＩ（ｎＬ、ｎＲ）０は、経路ＰＡＣ０を通ってノードＰ（ｎＬ、ｎＲ）に至るときの累積コストであり、ＤＦＩ（ｎＬ、ｎＲ）１は、経路ＰＡＣ１を通ってノードＰ（ｎＬ、ｎＲ）に至るときの累積コストであり、ＤＦＩ（ｎＬ、ｎＲ）２は、経路ＰＡＣ２を通ってノードＰ（ｎＬ、ｎＲ）に至るときの累積コストである。また、ＤＦＩ（ｎＬ、ｎＲ−１）は始点からノードＰ（ｎＬ、ｎＲ−１）に至るまでの累積コストである。ＤＦＩ（ｎＬ−１、ｎＲ）は始点からノードＰ（ｎＬ−１、ｎＲ）に至るまでの累積コストである。ＤＦＩ（ｎＬ−１、ｎＲ−１）は始点からノードＰ（ｎＬ−１、ｎＲ−１）に至るまでの累積コストである。
【００４７】
ＤＰマッチング部２０９は、始点から終点を含む各ノードまでの累積コストを計算し、最小の累積コストとなる経路を終点から始点に向かって逆にたどることで、最短経路、即ち始点から終点までの累積コストが最小となる経路を算出する。この最短経路上のノードは、互いに類似する輝度のペアを示す。例えば、最短経路がノードＰ（ｎＬ、ｎＲ）を通る場合、輝度ｎＬと輝度ｎＲとが類似することになる。ＤＰマッチング部２０９は、画素ブロックＢＬ−１、ＢＲ−１の組毎に算出された最短経路に関する最短経路情報を生成し、カラーペア算出部２１０に出力する。
【００４８】
カラーペア算出部２１０は、最短経路情報に基づいて、画素ブロックＢＬ−１、ＢＲ−１の組毎にカラーペアを算出する。即ち、カラーペア算出部２１０は、最短経路上のノードが示す輝度のペア、即ち互いに類似する輝度のペアをカラーペアとして算出する。カラーペア算出部２１０は、１つの画素ブロックＢＬ−１あたり２５０個程度のカラーペアを算出し、合計で２０００個程度のカラーペアを算出する。カラーペア算出部２１０は、算出されたカラーペアに関するカラーペア情報を生成し、線形カラーパラメータフィッティング部２０２及び非線形カラーパラメータフィッティング部２０４に出力する。
【００４９】
したがって、ヒストグラムマッチング部２０１は、画素ブロックＢＬ−１、ＢＲ−１内の階調を入力画像ＶＬ、ＶＲの階調よりも落とすので、ヒストグラムＣＨＬ、ＣＨＲ等のデータ量を低減することができる。なお、階調が落ちることによって、入力画像ＶＬ、ＶＲの複数種類の輝度が１つの輝度に分類されることになるので、カラーキャリブレーションの精度が低下することが想定される。そこで、ヒストグラムマッチング部２０１は、精度の低下を、複数の画素ブロックＢＬ−１、ＢＲ−１でカラーペアを算出する、即ちカラーペアの数を増やすことで賄っている。
【００５０】
［線形カラーパラメータフィッティング部の構成］
線形カラーパラメータフィッティング部２０２は、図１１に示すように、足し込み行列算出部２１１と、係数算出部２１２と、フィルタ部２１３と、係数保持部２１４とを備える。
【００５１】
線形カラーパラメータフィッティング部２０２は、カラーペア情報に基づいて、入力画像ＶＬの輝度と入力画像ＶＲの輝度との対応関係を示すモデル式を線形演算により算出する。そこで、まず、このモデル式について説明する。
【００５２】
入力画像ＶＬ、ＶＲのガンマ値が１近傍であると仮定すると、入力画像ＶＬの輝度は、入力画像ＶＲの輝度を用いて以下のように表される。
【００５３】
【数２】
2012203851.tif 000004
【００５４】
ここで、Ｌは入力画像ＶＬの輝度であり、Ｒは入力画像ＶＲの輝度である。αは裸眼立体視表示装置のゲインであり、γは裸眼立体視表示装置のガンマ値である。即ち、入力画像ＶＬ、ＶＲの輝度がゲイン及びガンマ値で拘束されている。このようにすることで、くすみのない画像が得られる。式（４）をテイラー展開すると、以下の式（６）が得られる。
【００５５】
【数３】
2012203851.tif 000005
【００５６】
ここで、ｗｉ（ｉは０以上の整数）は係数、即ちカラー補正係数である。式（６）がモデル式となる。なお、式（６）にオフセット項ｗａを加えた以下の式（７）は、式（６）よりも入力画像ＶＬ、ＶＲの輝度の変化に正確に追従することができる。そこで、線形カラーパラメータフィッティング部２０２は、式（６）または式（７）をモデル式（即ち近似式）とする。
【００５７】
【数４】
2012203851.tif 000006
【００５８】
ここで、ｃｏｅｆ（ｗ）はカラー補正係数ｗｉ、ｗａを示す。
【００５９】
次に、各構成要素が行う処理について説明する。足し込み行列算出部２１１は、以下の式（８）で表される行列をすべてのカラーペアについて算出する。
【００６０】
【数５】
2012203851.tif 000007
【００６１】
ここで、ｎ１は２以上の任意の整数であり、ｎ１の値が大きいほど、算出される係数の数が大きくなり、モデル式の精度が向上する。ｎ１の値は、要求される精度、及び処理速度等に応じて決定され、例えば２〜５となる。
【００６２】
次に、足し込み行列算出部２１１は、算出された行列をすべて足し込むことで、以下の式（９）で示される足し込み行列Ｍ１を算出する。
【００６３】
【数６】
2012203851.tif 000008
【００６４】
足し込み行列算出部２１１は、算出された足し込み行列Ｍ１に関する足し込み行列情報を生成し、カラーペア情報と共に係数算出部２１２に出力する。
【００６５】
係数算出部２１２（モデル式算出部）は、カラーペア情報に基づいて、以下の式（１０）で表される行列をすべてのカラーペアについて算出する。
【００６６】
【数７】
2012203851.tif 000009
【００６７】
係数算出部２１２は、算出された行列をすべて足し込むことで、以下の式（１１）で示される係数算出用行列Ａを算出する。
【００６８】
【数８】
2012203851.tif 000010
【００６９】
次に、係数算出部２１２は、以下の式（１２）に基づいて、カラー補正係数ｗｉ、ｗａの第１初期値ｃｏｅｆ（ｗ）１を算出する。
【００７０】
【数９】
2012203851.tif 000011
【００７１】
係数算出部２１２は、算出された第１初期値ｃｏｅｆ（ｗ）１に関する第１初期値情報を生成し、フィルタ部２１３に出力する。
【００７２】
フィルタ部２１３は、係数算出部２１２から与えられた第１初期値情報と、係数保持部２１４から与えられた前フレーム（現フレームよりも１つ前のフレーム）の線形補正係数情報と、以下の式（１３）とに基づいて、カラー補正係数ｗｉ、ｗａの第２初期値ｃｏｅｆ（ｗ）２を算出する。
【００７３】
【数１０】
2012203851.tif 000012
【００７４】
ここで、ｏｌｄｃｏｅｆ（ｌｉｎｅａｒ）は、前フレームの線形補正係数、即ち前フレームのカラー補正係数ｗｉ、ｗａであり、ｗｂは前フレームの線形補正係数ｏｌｄｃｏｅｆ（ｌｉｎｅａｒ）を第２初期値ｃｏｅｆ（ｗ）２にどの程度作用させるかを示す重みである。重みｗｂの値が大きい（重みが大きい）ほど、第２初期値ｃｏｅｆ（ｗ）２に前フレームの線形補正係数ｏｌｄｃｏｅｆ（ｌｉｎｅａｒ）が大きく作用することになる。重みｗｂの値は、例えば０．５〜０．９となる。
【００７５】
次いで、フィルタ部２１３は、第２初期値ｃｏｅｆ（ｗ）２にＩＩＲフィルタを作用させる。フィルタ部２１３は、これにより得られたカラー補正係数ｗｉ、ｗａを線形補正係数ｃｏｅｆ（ｌｉｎｅａｒ）とし、線形補正係数ｃｏｅｆ（ｌｉｎｅａｒ）に関する線形補正係数情報を係数保持部２１４、非線形カラーパラメータフィッティング部２０４、評価部２０５、カラーキャリブレーション実行部２０６に出力する。
【００７６】
係数保持部２１４は、フィルタ部２１３から与えられた線形補正係数情報を保持し、次フレームの第２初期値ｃｏｅｆ（ｗ）２が算出される際に、当該保持された線形補正係数情報を前フレームの線形補正係数情報としてフィルタ部２１３に出力する。
【００７７】
図１２に、線形補正係数ｃｏｅｆ（ｌｉｎｅａｒ）によって補正された入力画像ＶＬ、ＶＲのガンマ曲線Ｌ１と、補正を行わなかった時の入力画像ＶＬ、ＶＲのガンマ曲線Ｌ２とをガンマ値毎に対比して示す。即ち、図１２（ａ）ではγ＝０．６、図１２（ｂ）ではγ＝０．８、図１２（ｃ）ではγ＝１．２、図１２（ｄ）ではγ＝１．４となっている。なお、図１２では、式（６）がモデル式となっており、ｎ１＝２となっている。図１２によれば、カラーキャリブレーション部２は、線形補正係数ｃｏｅｆ（ｌｉｎｅａｒ）を用いてカラーキャリブレーションを行なうことで、入力画像ＶＬ、ＶＲの明るさや鮮やかさを実質的に維持しつつ、輝度の補正を行うことができる。
【００７８】
［特徴量マッチング部の構成］
図６に示す特徴量マッチング部２０３は、現フレームの入力画像ＶＬ、ＶＲの輝度をマッチングさせることで、カラーペアを抽出する。具体的には、特徴量マッチング部２０３は、入力画像ＶＬ、ＶＲから、所定値（例えば、３２〜1024）以上の輝度を有する特徴点を抽出する。次いで、特徴量マッチング部２０３は、入力画像ＶＬの各特徴点について、以下の処理を行なう。すなわち、特徴量マッチング部２０３は、入力画像ＶＬの特徴点の近傍に存在する（すなわち、ｘ座標の差分の絶対値が６４〜２５６以下で、かつ、ｙ座標の差分の絶対値が８〜６４以下となる）入力画像ＶＲの特徴点のうち、輝度が最も類似する（即ち、輝度の差分の絶対値が最も小さい）特徴点を抽出し、この特徴点と入力画像ＶＬの特徴点とを特徴点のペア、すなわちカラーペアとする。ついで、特徴量マッチング部２０３は、抽出されたカラーペアに関するカラーペア情報を生成し、非線形カラーパラメータフィッティング部２０４及び評価部２０５に出力する。
【００７９】
［非線形カラーパラメータフィッティング部の構成］
非線形カラーパラメータフィッティング部２０４は、ヒストグラムマッチング部２０１及び特徴量マッチング部２０３から与えられたカラーペア情報と、線形カラーパラメータフィッティング部２０２から与えられた線形補正係数情報とに基づいて、カラー補正係数ｗｉ、ｗａを非線形演算により算出する。
【００８０】
具体的には、非線形カラーパラメータフィッティング部２０４は、図１３に示すように、ヤコビ行列算出部２１５と、ヘッセ行列算出部２１６と、係数更新部２１７とを備える。
【００８１】
ヤコビ行列算出部２１５は、線形カラーパラメータフィッティング部２０２から与えられた線形補正係数情報と、ヒストグラムマッチング部２０１及び特徴量マッチング部２０３から与えられたカラーペア情報とに基づいて、以下の式（１４）で表されるヤコビ行列Ｊ１を算出する。
【００８２】
【数１１】
2012203851.tif 000013
【００８３】
ここで、Ｌは入力画像ＶＬの輝度であり、Ｒは入力画像ＶＲの輝度であり、ｃｏｅｆ（ｗ）はカラー補正係数ｗｉ、ｗａを示す。ｆｅ１（Ｌ，Ｒ，ｃｏｅｆ（ｗ））は、いわゆるエラー関数であり、以下の式（１５）で表される。ｆｅ１０〜ｆｅ１ｍは、エラー関数ｆｅ１（Ｌ，Ｒ，ｃｏｅｆ（ｗ））にそれぞれ異なるカラーペア情報を代入したものである。
【００８４】
【数１２】
2012203851.tif 000014
【００８５】
ここで、ｇ１（Ｒ，ｃｏｅｆ（ｗ））は、式（７）に示すように、入力画像ＶＬの輝度を入力画像ＶＲの輝度及びカラー補正係数ｗｉ、ｗａで近似した式であるので、（Ｌ−ｇ１（Ｒ，ｃｏｅｆ（ｗ）））の値は、入力画像ＶＬの実際の値と近似値との誤差（ｅｒｒｏｒ）を示す。また、ＲｏｂｕｓｔＦｕｎｃは誤差を０〜１の範囲内の値に正規化する関数であり、例えば以下の式（１６）で表される。
【００８６】
【数１３】
2012203851.tif 000015
【００８７】
ここで、ｗｃは係数（重み）であり、例えば０．１〜８．０となる。なお、式（１５）では、誤差が（Ｌ−ｇ１（Ｒ，ｃｏｅｆ（ｗ）））とされているが、誤差は他の値、例えば（ｇ１（Ｌ，ｃｏｅｆ（ｗ））−ｇ１（Ｒ，ｃｏｅｆ（ｗ）））であってもよい。ここで、ｇ１（Ｌ，ｃｏｅｆ（ｗ））は、入力画像ＶＲの輝度を入力画像ＶＬの輝度及びカラー補正係数ｗｉ、ｗａで近似した値であり、以下の式（７−１）及び（７−２）で表される。
【００８８】
【数１４】
2012203851.tif 000016
【００８９】
そして、ヤコビ行列算出部２１５は、算出されたヤコビ行列Ｊ１に関するヤコビ行列情報を生成し、ヘッセ行列算出部２１６に出力する。
【００９０】
また、ヤコビ行列算出部２１５は、後述する係数更新部２１６から非線形補正係数情報を与えられた場合には、当該非線形補正係数情報が示す非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）と、カラーペア情報とに基づいて、上述したヤコビ行列Ｊ１を算出する。そして、ヤコビ行列算出部２１５は、算出されたヤコビ行列Ｊ１に関するヤコビ行列情報を生成し、ヘッセ行列算出部２１６に出力する。
【００９１】
ヘッセ行列算出部２１６は、ヤコビ行列算出部２１６から与えられた情報に基づいて、以下の式（１７）で示されるヘッセ行列Ｈ１を算出する。
【００９２】
【数１５】
2012203851.tif 000017
【００９３】
次いで、ヘッセ行列算出部２１６は、算出されたヘッセ行列Ｈ１に関するヘッセ行列情報を生成し、ヤコビ行列算出部２１５から与えられた情報と共に係数更新部２１７に出力する。
【００９４】
係数更新部２１７は、ヘッセ行列算出部２１６から与えられた情報と、以下の式（１８）とに基づいて、カラー補正係数ｗｉ、ｗａを非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）として算出する。
【００９５】
【数１６】
2012203851.tif 000018
【００９６】
ここで、Ｉは単位行列である。ｗｄは係数（重み）であり、例えば１．０〜０．０となる。
【００９７】
次いで、係数更新部２１７は、算出された非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）に関する非線形補正係数情報を生成し、非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）が一定の値に収束したかを判定する。係数更新部２１７は、非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）が収束したと判定した場合には、非線形補正係数情報を評価部２０５及びカラーキャリブレーション実行部２０６に出力し、非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）が収束していないと判定した場合には、非線形補正係数情報をヤコビ行列算出部２１５に出力する。その後、非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）が再計算される。したがって、非線形カラーパラメータフィッティング部２０４は、線形補正係数ｃｏｅｆ（ｌｉｎｅａｒ）を初期値として非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）を算出し、非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）が一定の値に収束するまで非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）の算出を繰り返す。
【００９８】
［評価部の構成］
評価部１４（補正信頼度算出部）は、図１４に示すように、カラーコンバート部２１８と、ヒストグラムベース信頼度算出部２１９と、特徴点ベース信頼度算出部２２０と、信頼度マップ生成部２２１とを備える。
【００９９】
カラーコンバート部２１８は、現フレームの入力画像ＶＬ、ＶＲを取得する。カラーコンバート部２１８は、入力画像ＶＬ、ＶＲと、線形カラーパラメータフィッティング部２０２から与えられた線形補正係数情報と、に基づいて、入力画像ＶＲの輝度を補正する。具体的には、カラーコンバート部２１８は、入力画像ＶＲの輝度と、線形補正係数ｃｏｅｆ（ｌｉｎｅａｒ）とを式（７）のｇ１（Ｒ，ｃｏｅｆ）に代入することで、ｇ１（Ｒ，ｃｏｅｆ）の値を算出する。算出された値は、入力画像ＶＲの輝度に対応する入力画像ＶＬの輝度を示すので、カラーコンバート部２１８は、この値を新たな入力画像ＶＲの輝度とする。これにより、入力画像ＶＬの輝度と入力画像ＶＲの輝度との差分が低減される。カラーコンバート部２１８は、入力画像ＶＬと補正後の入力画像ＶＲとを線形カラーキャリブレーション済み画像ＶＬ−１ａ、ＶＲ−１ａとしてヒストグラムベース信頼度算出部２１９に出力する。
【０１００】
ヒストグラムベース信頼度算出部２１９は、線形カラーキャリブレーション済み画像ＶＬ−１ａ、ＶＲ−１ａをそれぞれ８つの画素ブロックＢＬ−１、ＢＲ−１に分割する。ここで、画素ブロックＢＬ−１、ＢＲ−１は、ヒストグラムマッチング部２０１が生成したものと同じである。そして、ヒストグラムベース信頼度算出部２１９は、輝度と、その輝度を有する画素の数（頻度）との対応関係を示す補正後カラーヒストグラムを、画素ブロックＢＬ−１、ＢＲ−１毎に生成する。
【０１０１】
そして、ヒストグラムベース信頼度算出部２１９は、画素ブロックＢＬ−１の補正後カラーヒストグラムと、画素ブロックＢＲ−１の補正後カラーヒストグラムとの類似度を、正規化相互相関（ＮＣＣ）を用いて算出する。なお、類似度の算出手法は特に限定されず、例えばインターセクションやＢｈａｔｔａｃｈａｒｙｙａ等を用いてもよい。
【０１０２】
ヒストグラムベース信頼度算出部２１９は、画素ブロックＢＬ−１毎に類似度を算出し、これらの類似度を例えば上述した式（１６）のｅｒｒｏｒに代入することで、類似度を０〜１の範囲内の値に正規化する。そして、ヒストグラムベース信頼度算出部２１９は、正規化された値を線形補正係数ｃｏｅｆ（ｌｉｎｅａｒ）の信頼度とする。そして、ヒストグラムベース信頼度算出部２１９は、算出された各画素ブロックＢＬ−１の信頼度に関する線形補正係数信頼度情報を生成し、信頼度マップ生成部２２１に出力する。
【０１０３】
特徴点ベース信頼度算出部２２０は、特徴量マッチング部２０３から与えられたカラーペア情報に基づいて、入力画像ＶＬ内の特徴点を８つの画素ブロックＢＬ−１のそれぞれに分類する。ここで、画素ブロックＢＬ−１はヒストグラムマッチング部２０１が生成したものと同じである。そして、特徴点ベース信頼度算出部２２０は、非線形カラーパラメータフィッティング部２０４から与えられた非線形補正係数情報に基づいて、画素ブロックＢＬ−１毎に非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）の信頼度を算出する。
【０１０４】
すなわち、特徴点ベース信頼度算出部２２０は、画素ブロックＢＬ−１内の各特徴点について、上述したエラー関数ｆｅ１（Ｌ、Ｒ、ｃｏｅｆ）を用いて誤差を算出する。すなわち、特徴点ベース信頼度算出部２２０は、ｆｅ１（Ｌ、Ｒ、ｃｏｅｆ）のＬ、Ｒにカラーペア情報の値を、ｃｏｅｆに非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）の値を代入して演算することで、誤差を算出する。そして、特徴点ベース信頼度算出部２２０は、誤差が所定値（例えば０．５〜８．０）以下となる特徴点を抽出し、抽出した特徴点について、誤差の平均値を算出する。そして、特徴点ベース信頼度算出部２２０は、算出された平均値を非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）の信頼度とする。なお、特徴点ベース信頼度算出部２２０は、誤差が所定値以下となる特徴点の数が所定値（例えば、０〜８）以下となる場合には、信頼度をゼロとする。これにより、特徴点ベース信頼度算出部２２０は、画素ブロックＢＬ−１毎に非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）の信頼度を算出する。特徴点ベース信頼度算出部２２０は、算出された各画素ブロックＢＬ−１の信頼度に関する非線形補正係数信頼度情報を生成し、信頼度マップ生成部２２１に出力する。
【０１０５】
信頼度マップ生成部２２１は、ヒストグラムベース信頼度算出部２１９及び特徴点ベース信頼度算出部２２０から与えられた情報に基づいて、カラーキャリブレーション用信頼度マップを生成する。具体的には、信頼度マップ生成部２２１は、画素ブロックＢＬ−１毎に、線形補正係数ｃｏｅｆ（ｌｉｎｅａｒ）の信頼度と非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）の信頼度とを比較し、大きい方の信頼度をその画素ブロックＢＬ−１の信頼度とする。また、信頼度マップ生成部２２１は、大きい信頼度を有する補正係数をその画素ブロックＢＬ−１に関連付ける。これにより、信頼度マップ生成部２２１は、各画素ブロックＢＬ−１に信頼度及び補正係数が関連付けられたカラーキャリブレーション用信頼度マップを生成する。そして、信頼度マップ生成部２２１は、生成されたカラーキャリブレーション用信頼度マップに関する信頼度マップ情報を生成し、カラーキャリブレーション実行部２０６及び視差検出部４に出力する。
【０１０６】
［カラーキャリブレーション実行部の構成］
図６に示すカラーキャリブレーション実行部２０６（補正実行部）は、現フレームの入力画像ＶＬ、ＶＲを取得する。さらに、カラーキャリブレーション実行部２０６は、信頼度マップ情報に基づいて、画素ブロックＢＬ−１毎にどちらの補正係数を使用するかを決定する。そして、カラーキャリブレーション実行部２０６は、線形補正係数情報と、非線形補正係数情報とに基づいて、画素ブロックＢＬ−１毎にカラーキャリブレーションを実行する。
【０１０７】
具体的には、カラーキャリブレーション実行部２０６は、画素ブロックＢＲ−１から画素を抽出し、抽出された画素の輝度と、決定された補正係数とを上述した近似式ｇ１（Ｒ，ｃｏｅｆ）に代入して演算し、これにより得られた値を、当該画素の輝度とする。カラーキャリブレーション実行部２０６は、入力画像ＶＲを構成するすべての画素についてこの処理を行なうことで、カラーキャリブレーションを実行する。カラーキャリブレーション実行部２０６は、カラーキャリブレーション済みの入力画像ＶＬ、ＶＲをカラーキャリブレーション済み画像ＶＬ−１、ＶＲ−１とし、図５に示す幾何キャリブレーション部３に出力する。
【０１０８】
図１５（ａ）に、裸眼立体視表示装置がカラーキャリブレーションを実行せずに生成した多視点画像ＶＶ１を示す。同様に、図１５（ｂ）に、裸眼立体視表示装置がカラーキャリブレーションを実行した後に生成した多視点画像ＶＶ２を示す。多視点画像ＶＶ１では、被写体画像ＶＶ１１が破綻しているが、多視点画像ＶＶ２では、被写体画像ＶＶ１２が破綻していない。したがって、裸眼立体視表示装置は、カラーキャリブレーションを実行することで、破綻のない多視点画像を生成することができる。
【０１０９】
［カラーキャリブレーション部による効果］
次に、カラーキャリブレーション部２による効果について説明する。なお、以下の説明では、一部の効果を、特表２００７−５３５８２９号公報、特開２００９−１２２８４２号公報と対比して説明する。特表２００７−５３５８２９号公報記載の技術は、色の分布を示すヒストグラムを画像毎に生成し、これらのヒストグラムをＤＰマッチングによりマッチングさせることで、色対応テーブルを生成する。そして、特表２００７−５３５８２９号公報記載の技術は、色対応テーブルに基づいて、各画像の色を補正する。一方、特開２００９−１２２８４２号公報記載の技術は、複数の画像から特徴点（例えば、人物の肩が描かれた点）を抽出し、特徴点同士の色の対応関係に基づいて、色変換用のモデル式を算出する。そして、特開２００９−１２２８４２号公報記載の技術は、算出されたモデル式に基づいて、各画像の色を補正する。
【０１１０】
カラーキャリブレーション部２は、カラーペア情報に基づいて、入力画像ＶＲの輝度を入力画像ＶＬの輝度に変換するためのモデル式を算出する。ここで、カラーペア情報には、特徴点以外の画素が有する輝度情報も含まれている。そして、カラーキャリブレーション部２は、このモデル式にＩＩＲフィルタをかけるので、ロバストなモデル式、特に時間的にロバストなモデル式を算出することができる。このため、カラーキャリブレーション部２は、従来よりもロバスト性の高い色情報の補正を行なうことができる。
【０１１１】
また、特開２００９−１２２８４２号公報記載の技術は、色変換パラメータが単純なゲインや多項式で表されるものであったので、補正の精度が低いという問題があった。例えば、色変換パラメータは、ガンマ値の変化を表現しきれていなかった。これに対し、本実施形態のモデル式は、パラメータとして少なくともゲイン、及びガンマ値を含むので、カラーキャリブレーション部２は、精度良くカラーキャリブレーション、即ち色情報の補正を行なうことができる。特に、式（７）は、パラメータとしてこれらの他にオフセット項も含まれるので、より正確な色情報の補正を行うことができる。
【０１１２】
また、カラーキャリブレーション部２は、入力画像ＶＬ、ＶＲを複数の画素ブロックＢＬ−１、ＢＲ−１に分割し、画素ブロックＢＬ−１、ＢＲ−１の階調を落とす。そして、カラーキャリブレーション部２は、画素ブロックＢＬ−１、ＢＲ−１毎にカラーヒストグラムＣＨＬ、ＣＨＲを生成し、これらのカラーヒストグラムＣＨＬ、ＣＨＲに基づいて、カラーペア情報を生成する。したがって、カラーキャリブレーション部２は、階調を落とした画素ブロックＢＬ−１、ＢＲ−１に基づいて、カラーペア情報を生成するので、処理負荷の軽いカラーキャリブレーション（色情報の補正）を行なうことができる。また、カラーキャリブレーション部２は、カラーヒストグラムＣＨＬ、ＣＨＲをマッチングさせ、この結果に基づいてカラーペア情報を算出するので、より精度の高いカラーペア情報を算出することができる。特に、カラーキャリブレーション部２は、カラーヒストグラムＣＨＬ、ＣＨＲをＤＰマッチングによりマッチングさせるので、より精度の高いマッチングを行うことができる。
【０１１３】
また、特表２００７−５３５８２９号公報記載の技術は、画像全体の色分布を示すヒストグラムを生成していたので、画像の解像度が高くなるに従ってヒストグラムのデータ量が大きくなり、処理負荷が重くなるという問題があった。これに対し、カラーキャリブレーション部２は、画素ブロックＢＬ−１、ＢＲ−１の階調を落とすので、入力画像ＶＬ、ＶＲの解像度によらず、処理負荷の軽いカラーキャリブレーション（色情報の補正）を行なうことができる。
【０１１４】
また、カラーキャリブレーション部２は、画素ブロックＢＬ−１、ＢＲ−１の階調を落とすことによる精度の低下を、画素ブロックＢＬ−１毎にカラーペア情報を生成することでカバーすることができる。
【０１１５】
さらに、カラーキャリブレーション部２は、線形演算で算出したパラメータ、即ちカラー補正係数ｗｉ、ｗａを初期値として、非線形演算を行うので、より精度の高いパラメータ、即ちモデル式を算出することができる。
【０１１６】
さらに、カラーキャリブレーション部２は、線形演算で算出されたパラメータと、非線形演算で算出されたパラメータとのそれぞれについて信頼度を算出し、信頼度が高い方のパラメータに基づいてカラーキャリブレーションを行うので、精度の高い色情報の補正を行うことができる。
【０１１７】
＜２−２．幾何キャリブレーション部の構成＞
次に、幾何キャリブレーション部３の構成を図面に基づいて説明する。図１６に示すように、幾何キャリブレーション部３は、特徴量マッチング部３０１と、対応点リファインメント部３０２と、線形幾何パラメータフィッティング部３０３と、非線形幾何パラメータフィッティング部３０４と、パラメータ選択部３０５と、幾何キャリブレーション実行部３０６とを備える。
【０１１８】
［特徴量マッチング部の構成］
特徴量マッチング部３０１は、カラーキャリブレーション済み画像ＶＬ−１、ＶＲ−１の輝度をマッチングさせることで、特徴量ベクトルを算出する。具体的には、特徴量マッチング部３０１は、カラーキャリブレーション済み画像ＶＬ−１、ＶＲ−１をそれぞれ６４個の画素ブロックＢＬ−２、ＢＲ−２に分割する。ここで、各画素ブロックＢＬ−２、ＢＲ−２は矩形となっており、すべて同じ大きさである。また、特徴量マッチング部３０１は、各画素ブロックＢＬ−２、ＢＲ−２の中心点となる画素を抽出し、抽出された画素の座標を各画素ブロックＢＬ−２、ＢＲ−２の座標とする。したがって、各画素ブロックＢＬ−２、と、各画素ブロックＢＲ−２とは１対１で対応する。特徴量マッチング部３０１は、画素ブロックＢＬ−２、ＢＲ−２毎に、所定値（例えば、３２〜1024）以上の輝度を有する特徴点を抽出する。以下、カラーキャリブレーション済み画像ＶＬ−１の特徴点を「左側特徴点」とも称し、カラーキャリブレーション済み画像ＶＲ−１の特徴点を「右側特徴点」とも称する。次いで、特徴量マッチング部３０１は、各左側特徴点について、以下の処理を行なう。すなわち、特徴量マッチング部３０１は、左側特徴点の近傍に存在する（すなわち、ｘ座標の差分の絶対値が６４〜２５６以下で、かつ、ｙ座標の差分の絶対値が８〜６４以下となる）右側特徴点のうち、輝度が最も類似する（即ち、輝度の差分の絶対値が最も小さい）特徴点を抽出し、この右側特徴点と左側特徴点とを特徴点ペアとする。
【０１１９】
そして、特徴量マッチング部３０１は、特徴点ペアに基づいて、特徴量ベクトルＶＥ１を算出する。ここで、特徴量ベクトルＶＥ１の始点は、左側特徴点の座標（ｕＬ、ｖＬ）であり、成分は、（ｕＲ−ｕＬ、ｖＲ−ｖＬ）である。ｕＲは右側特徴点のｘ座標であり、ｖＲは右側特徴点のｙ座標である。図１７に、特徴量ベクトルＶＥ１及び画素ブロックＢＬ−２の一例を示す。なお、ここでは、画素ブロックＢＬ−２はカラーキャリブレーション済み画像ＶＬ−１を４つに分割している。
【０１２０】
図１７に示されるように、何らかのオブジェクトが描かれている部分には、同じ成分を有する多数の特徴量ベクトルＶＥ１が存在する。特徴量マッチング部３０１は、画素ブロックＢＬ−２、ＢＲ−２及び特徴量ベクトルＶＥ１に関する特徴量ベクトル情報を生成し、対応点リファインメント部３０２及び非線形幾何パラメータフィッティング部３０４に出力する。なお、本実施の形態では、カラーキャリブレーションの後に幾何キャリブレーションを行うので、特徴量マッチング部３０１は、精度良く輝度のマッチングを行なうことができる。このため、幾何キャリブレーションの精度が向上する。もちろん、幾何キャリブレーションをカラーキャリブレーションの前に行ってもよい。この場合、カラーキャリブレーションにおいて、精度良く輝度のマッチングを行なうことができ、ひいては、カラーキャリブレーションの精度が向上する。
【０１２１】
［対応点リファインメント部の構成］
対応点リファインメント部３０２は、図１８に示すように、ヒストグラム生成部３０７と、フィルタ部３０８と、最大頻度検出部３０９と、座標付与部３１０と、対応点選択部３１１とを備える。
【０１２２】
ヒストグラム生成部３０７は、特徴量ベクトル情報に基づいて、特徴量ベクトルＶＥ１の成分毎の頻度を示すベクトル成分ヒストグラムを画素ブロックＢＬ−２毎に生成する。図１９に、ベクトル成分ヒストグラムの例を示す。ｘ軸、ｙ軸はそれぞれ特徴量ベクトルＶＥ１のｘ成分、ｙ成分を示し、ｚ軸は、成分ごとの頻度を示す。画素ブロックＢＬ−２内に何らかのオブジェクトが描かれている場合、そのオブジェクトが描かれている部分には、同じ成分を有する多数の特徴量ベクトルＶＥ１が存在する。したがって、この場合、ベクトル成分ヒストグラムは大きなピークを有する。ヒストグラム生成部３０７は、ベクトル成分ヒストグラムに関するベクトル成分ヒストグラム情報を生成し、フィルタ部３０８に出力する。
【０１２３】
フィルタ部３０８は、ベクトル成分ヒストグラム情報にガウシアンフィルタを複数回作用させることで、ベクトル成分ヒストグラムを平滑化させる。フィルタ部３０８は、平滑化されたベクトル成分ヒストグラムに関する平滑化ヒストグラム情報を生成し、最大頻度検出部３０９及び対応点選択部３１１に出力する。
【０１２４】
最大頻度検出部３０９は、平滑化ヒストグラム情報に基づいて、各ベクトル成分ヒストグラムから、頻度が最大となるｘ成分、ｙ成分を特定する。そして、このようなｘ成分、ｙ成分を有する特徴量ベクトルＶＥ１を、当該特徴量ベクトルＶＥ１が属する画素ブロックＢＬ−２の代表ベクトルＶＥ２とする。これにより、最大頻度検出部３０９は、画素ブロックＢＬ−２毎に代表ベクトルＶＥ２を算出する。最大頻度検出部３０９は、代表ベクトルＶＥ２の成分に関する代表ベクトル成分情報を生成し、座標付与部３１０に出力する。
【０１２５】
座標付与部３１０は、代表ベクトル成分情報に基づいて、各代表ベクトルＶＥ２の座標（始点の座標）を決定する。すなわち、代表ベクトルＶＥ２は、ベクトル成分ヒストグラムから算出されるものであるが、ベクトル成分ヒストグラムは、各特徴量ベクトルＶＥ１の座標情報を持っていないので、最大頻度検出部３０９が代表ベクトルＶＥ２を算出した時点では、代表ベクトルＶＥ２は座標情報を有していない。そこで、座標付与部３１０は、代表ベクトル情報に基づいて、各代表ベクトルＶＥ２の座標（始点の座標）を決定する。具体的には、座標付与部３１０は、図２０に示すように、画素ブロックＢＬ−２の中心点ＰＬ−１１１を代表ベクトルＶＥ２の座標の初期値とし、ミーンシフト処理を繰り返し行なう。ここで、ミーンシフト処理は、代表ベクトルＶＥ２の座標と、代表ベクトルＶＥ２と同じ成分を有する特徴量ベクトルＶＥ１の座標との平均値を算出し、この平均値を代表ベクトルＶＥ２の新たな座標とする処理である。したがって、ミーンシフト処理が繰り返されることで、代表ベクトルＶＥ２の座標は、代表ベクトルＶＥ２と同じ成分を有する特徴量ベクトルＶＥ１が密集している領域、すなわち密集領域に移動していく。座標付与部３１０は、代表ベクトルＶＥ２の座標が収束するまでミーンシフト処理を繰り返し行なう（例えば１０回程度）。これにより、座標付与部３１０は、代表ベクトルＶＥ２の座標を決定する。このとき、代表ベクトルＶＥ２の座標は、密集領域の中心ＰＬ−１２１となっている。そして、座標付与部３１０は、代表ベクトルＶＥ２の成分及び座標に関する代表ベクトル情報を生成し、対応点選択部３１１に出力する。
【０１２６】
対応点選択部３１１は、代表ベクトル情報及び平滑化ヒストグラム情報に基づいて、複数の代表ベクトルＶＥ２のうち、最大頻度が所定値（例えば，０．１〜０．４）未満となるものを消去する（すなわち、足切りを行なう）。これにより、対応点選択部３１１は、信頼性の低い代表ベクトルＶＥ２、例えばオブジェクトが何ら描かれていない画素ブロックＢＬ−２から算出された代表ベクトルＶＥ２を除外することができる。そして、対応点選択部３１１は、選択された代表ベクトルＶＥ２を構成する特徴点ペア、すなわち代表点ペアに関する対応点選択情報を生成し、線形幾何パラメータフィッティング部３０３に出力する。以下、代表点ペアを構成する座標点のうち、左側座標点を左側代表点、右側座標点を右側代表点とも称する。左側代表点の座標は代表ベクトルの始点（ｕＬ、ｖＬ）であり、右側代表点の座標は、代表ベクトルの成分に始点の座標を加えた（ｕＲ、ｖＲ）である。
【０１２７】
このように、特徴量ベクトルＶＥ１から代表ベクトルＶＥ２を抽出するようにしたのは、線形演算がアウトライヤに弱いからである。すなわち、後述するように、線形幾何パラメータフィッティング部３０３は、代表ベクトルＶＥ２を用いた線形演算を行なうことで、変換行列Ｆを算出する。この変換行列Ｆは、カラーキャリブレーション済み画像ＶＬ−１、ＶＲ−１の座標変換に使用されるものである。一方、特徴量ベクトルＶＥ１は、単に特徴点同士を連結したものであるので、値（成分）があばれやすい（即ち、ばらつきやすい）。したがって、仮に特徴量ベクトルＶＥ１を用いた線形演算が行われた場合、線形演算によって得られる変換行列Ｆの各成分もあばれやすくなってしまう。そこで、本実施の形態では、特徴量ベクトルＶＥ１から代表ベクトルＶＥ２を抽出するようにした。
【０１２８】
［線形幾何パラメータフィッティング部の構成］
線形幾何パラメータフィッティング部３０３（変換行列算出部）は、初期化部３１２と、重み算出部３１３と、線形幾何パラメータ算出部３１４とを備える。
【０１２９】
まず、線形幾何パラメータフィッティング部３０３が行う処理の概要について説明する。線形幾何パラメータフィッティング部３０３は、エピポーラ拘束条件及び時間軸拘束条件を満たす変換行列Ｆを算出し、変換行列Ｆを分解することで、ホモグラフィー行列ＨＬ、ＨＲを算出する。
【０１３０】
ここで、変換行列Ｆは、３×３の行列であり、ホモグラフィー行列ＨＬ、ＨＲを含む。ホモグラフィー行列ＨＬは、カラーキャリブレーション済み画像ＶＬ−１の座標変換を行なうための行列であり、ホモグラフィー行列ＨＲは、カラーキャリブレーション済み画像ＶＲ−１の座標変換を行なうための行列である。
【０１３１】
エピポーラ拘束条件は、右側座標点を変換行列Ｆによって変換したエピポーラ線上に左側座標点が近接する（好ましくは、乗る）という拘束、言い換えれば、ベクトルｕ’（ｕＲ、ｖＲ、１）に変換行列Ｆを乗じることで得られるエピポーラベクトルと、ベクトルｕ（ｕＬ、ｖＬ、１）との内積がゼロになるという拘束である。ここで、（ｕＬ、ｖＬ）は左側座標点の座標であり、（ｕＲ、ｖＲ）は右側座標点の座標である。
【０１３２】
エピポーラ拘束条件は、以下の式（１９）で表される。
【０１３３】
【数１７】
2012203851.tif 000019
【０１３４】
ここで、ｆ０〜ｆ８は変換行列Ｆの各成分である。線形幾何パラメータフィッティング部３０３は、式（１９）を裂くことで、エピポーラ拘束条件を以下の式（２０）で表される最小二乗問題に変換する。
【０１３５】
【数１８】
2012203851.tif 000020
ここで、Ｍは演算行列であり、以下の式（２１）で表される。
【０１３６】
【数１９】
2012203851.tif 000021
【０１３７】
演算行列Ｍの各行の（ｕＬ、ｖＬ）、（ｕＲ、ｖＲ）には、それぞれ異なる代表点ペアの座標が代入される。
【０１３８】
一方、時間軸拘束条件は、現フレームの変換行列Ｆｎを、前フレームの変換行列Ｆｎ−１に拘束させるという拘束、すなわち、現フレームの変換行列Ｆｎと、前フレームの変換行列Ｆｎ−１との相関を最大にするという拘束である。変換行列Ｆは単位ベクトルなので、これらの内積がそのまま相関となる。
【０１３９】
このような時間軸拘束条件を用いないで算出された変換行列Ｆは、時間軸方向にばたつく（各時点によって値がまちまちとなる）場合が多いので、本実施の形態では、時間軸拘束条件を用いて変換行列Ｆを算出することで、変換行列Ｆの時間軸方向のばたつきを低減している。これにより、変換行列Ｆの精度が向上する。時間軸拘束条件は、以下の式（２２）で表される。
【０１４０】
【数２０】
2012203851.tif 000022
【０１４１】
この時間軸拘束条件の式（２２）は、以下の式（２３）で表される最大二乗問題に置き換えられる。
【０１４２】
【数２１】
2012203851.tif 000023
【０１４３】
したがって、線形幾何パラメータフィッティング部３０３は、式（２０）で表される最小二乗問題と、式（２３）で表される最大二乗問題との混合問題を解くことになるが、このような混合問題を線形演算で解くことはできない。
【０１４４】
一方、変換行列Ｆｎと変換行列Ｆｎ−１との内積が１であるということは、変換行列Ｆｎと変換行列Ｆｎ−１の直交ベクトル群Ｆ’ｎ−１との内積が０になることと同義である。したがって、式（２３）の最大二乗問題は、以下の式（２４）で表される最小二乗問題に置き換えられる。
【０１４５】
【数２２】
2012203851.tif 000024
【０１４６】
したがって、エピポーラ拘束条件及び時間軸拘束条件は、以下の式（２５）で示される最小二乗問題にまとめられる。
【０１４７】
【数２３】
2012203851.tif 000025
【０１４８】
しかし、変換行列Ｆｎ−１はランダムな値なので、変換行列Ｆｎ−１の直交ベクトル群Ｆ’ｎ−１を直接算出することは容易でない。
【０１４９】
一方、変換行列Ｆは、ホモグラフィー行列ＨＬ、ＨＲを用いて、以下のように表される。
【０１５０】
【数２４】
2012203851.tif 000026
【０１５１】
ここで、行列Ｆ０は固定値のみで構成されるベクトルであり、以下の式（２７）で表される。
【０１５２】
【数２５】
2012203851.tif 000027
【０１５３】
式（１９）において、ホモグラフィー行列ＨＬ、ＨＲをそれぞれ代表点ペアの３次元座標（ｕＬ、ｖＬ、１）、（ｕＲ、ｖＲ、１）に乗じると、式（１９）は以下のように変換される。
【０１５４】
【数２６】
2012203851.tif 000028
【０１５５】
ここで、（ｕ’Ｌ、ｖ’Ｌ、１）、（ｕ’Ｒ、ｖ’Ｒ、１）は、代表点ペアの３次元座標（ｕＬ、ｖＬ、１）、（ｕＲ、ｖＲ、１）にホモグラフィー行列ＨＬ、ＨＲを乗じる（即ち、ホモグラフィー行列ＨＬ、ＨＲで座標変換する）ことで得られる座標（変換ベクトル）である。式（２８）を用いて式（２５）を書き換えると、以下のようになる。
【０１５６】
【数２７】
2012203851.tif 000029
【０１５７】
ここで、Ｍ’は、上述した演算行列Ｍの各成分を、座標変換後の値に変更したものであり、具体的には以下の式（３０）で表される。
【０１５８】
【数２８】
2012203851.tif 000030
【０１５９】
また、行列Ｆ’０は行列Ｆ０の直交ベクトル群である。行列Ｆ０は９成分の行列なので、行列Ｆ０の直交ベクトルは８つ存在する。なお、行列Ｆ０は固定値なので、直交ベクトル群も固定値となる。したがって、線形幾何パラメータフィッティング部３０３は、行列Ｆ’０を算出する必要がない。具体的には、線形幾何パラメータフィッティング部３０３は、予め行列Ｆ’０を記憶しておく。
【０１６０】
また、線形幾何パラメータフィッティング部３０３は、時間軸拘束条件をそのまま用いるのではなく、時間軸拘束条件に重みｗｅを乗じたものを用いる。この重みｗｅによって、式（２９）は以下のように書き換えられる。
【０１６１】
【数２９】
2012203851.tif 000031
【０１６２】
したがって、線形幾何パラメータフィッティング部３０３は、式（３１）の最小二乗問題を解くことで、行列Ｆ’ｎ（固定値相当ベクトル）を算出し、ひいては、変換行列Ｆを算出する。線形幾何パラメータフィッティング部３０３は、変換行列Ｆを分解することで、ホモグラフィー行列ＨＬ、ＨＲを算出する。カラーキャリブレーション済み画像ＶＬ−１の左側座標点をホモグラフィー行列ＨＬで座標変換し、カラーキャリブレーション済み画像ＶＲ−１の右側座標点をホモグラフィー行列ＨＲで座標変換することで、幾何ズレが低減される。このように、本実施の形態では、エピポーラ拘束条件及び時間軸拘束条件を満たす変換行列Ｆを算出するが、他の拘束条件、例えば入力画像ＶＬ、ＶＲが互いに平行になっているという拘束を拘束条件として追加してもよい。以下、線形幾何パラメータフィッティング部３０３の各構成を詳細に説明する。
【０１６３】
［初期化部の構成］
初期化部３１２は、図２２に示すように、エラー計算部３１５と、初期パラメータ選択部３１６と、座標ペア保持部３１７と、座標ペア統合部３１８とを備える。
【０１６４】
エラー計算部３１５は、対応点選択情報と、後述するパラメータ選択部３０５から与えられたパラメータ情報とに基づいて、エラー計算を行う。ここで、パラメータ情報には、前フレームで算出されたホモグラフィー行列ＨＬｎ−１、ＨＲｎ−１に関する情報が含まれる。
【０１６５】
具体的には、エラー計算部３１５は、以下の式（３２）、（３３）により、エラー値ｅ１、ｅ２を算出する。
【０１６６】
【数３０】
2012203851.tif 000032
【０１６７】
ここで、ｕ、ｕ’は代表点ペアの座標を３次元表記したもの、即ち（ｕＬ、ｖＬ、１）、（ｕＲ、ｖＲ、１）であり、Ｉは単位行列である。Σは、すべての代表点ペアについて値を合計することを意味する。
【０１６８】
式（３２）、（３３）は、エピポーラ拘束条件の式（１９）において、変換行列Ｆのホモグラフィー行列ＨＬ、ＨＲをそれぞれ前フレームのホモグラフィー行列ＨＬｎ−１、ＨＲｎ−１または単位行列Ｉに置き換えたものに対応している。
【０１６９】
したがって、エラー値ｅ１、ｅ２が小さいほど、ホモグラフィー行列ＨＬｎ−１、ＨＲｎ−１及び単位行列Ｉのホモグラフィー行列ＨＬ、ＨＲとしての精度が良いこととなる。
【０１７０】
一般的に、同じシーンが連続している場合には、エラー値ｅ１の方がエラー値ｅ２よりも小さくなるが、シーンチェンジが起こると、エラー値ｅ２の方がエラー値ｅ１よりも小さくなる。
【０１７１】
そして、エラー計算部３１５は、算出されたエラー値ｅ１、ｅ２に関するエラー値情報を生成し、対応点選択情報と共に初期パラメータ選択部３１６に出力する。また、エラー計算部３１５は、エラー値のうち、値が小さいものを選択し、選択されたエラー値に関する最小エラー値情報を生成する。そして、エラー計算部３１５は、最小エラー値情報及び対応点選択情報を重み算出部３１３に出力する。
【０１７２】
初期パラメータ選択部３１６は、エラー値情報に基づいて、初期パラメータとして前フレームのホモグラフィー行列ＨＬｎ−１、ＨＲｎ−１及び単位行列Ｉのうちどちらを使用するのかを決定する。具体的には、初期パラメータ選択部３１６は、エラー値が小さい方の行列を初期パラメータのホモグラフィー行列とする。
【０１７３】
初期パラメータ選択部３１６は、選択された初期パラメータに関する初期パラメータ情報を生成し、線形幾何パラメータ算出部３１４に出力する。また、初期パラメータ選択部３１６は、対応点選択情報を座標ペア保持部３１７及び座標ペア統合部３１８に出力する。また、初期パラメータ選択部３１６は、初期パラメータとして単位行列を選択した場合には、リセット情報を座標ペア保持部３１７に出力する。
【０１７４】
座標ペア保持部３１７は、初期パラメータ選択部３１６から与えられた対応点選択情報を保持し、保持された対応点選択情報のうち、過去４フレーム分の対応点選択情報を座標ペア統合部３１８に出力する。座標ペア保持部３１７は、初期パラメータ選択部３１６からリセット情報が与えられた場合に、対応点選択情報を消去する。初期パラメータ選択部３１６からリセット情報が与えられた場合には、シーンチェンジがあった可能性が高いので、過去フレームの対応点選択情報は使用されないほうが好ましいからである。
【０１７５】
座標ペア統合部３１８は、初期パラメータ選択部３１６及び座標ペア保持部３１７から与えられた対応点選択情報を統合する。これにより、座標ペア統合部３１８は、最大で５フレーム分の対応点選択情報を統合する。座標ペア統合部３１８は、統合された対応点選択情報を重み算出部３１３及び線形幾何パラメータ算出部３１４に出力する。
【０１７６】
［重み算出部の構成］
重み算出部３１３は、エラー計算部３１５から与えられた最小エラー値情報及び対応点選択情報に基づいて、変換行列Ｆの算出の際に時間軸拘束条件をどの程度考慮するかを示す重み、即ち時間軸拘束条件の重みｗｅを算出する。
【０１７７】
具体的には、重み算出部３１３は、エラー値（フレーム内初期値誤差）、代表ベクトルＶＥ２の数（サンプル数）、及び代表ベクトルＶＥ２の分散が０．０〜３．０の範囲（第１の範囲）内となる場合には、時間軸拘束条件の重みｗｅを第１の重みｗｅ１に決定し、エラー値、代表ベクトルＶＥ２の数、及び代表ベクトルＶＥ２の分散が３．０〜１６．０の範囲（第２の範囲）内となる場合には、重みｗｅを第２の重みｗｅに決定し、エラー値、代表ベクトルＶＥ２の数、及び代表ベクトルＶＥ２の分散が１６．０〜の範囲（第３の範囲）内となる場合には、重みｗｅを第３の重みｗｅ３に決定する。各重みの大小関係は、ｗｅ１＞ｗｅ３＞ｗｅ２となる。第１の重みｗｅ１の値は例えば１０．０〜１．０であり、第２の重みｗｅ２の値は例えば１．０〜０．１であり、第３の重みｗｅ３の値は例えば０．１〜０．０１である。
【０１７８】
なお、このように決定することが可能な理由を図２３に基づいて説明する。図２３は、エラー値、代表ベクトルＶＥ２の数、及び代表ベクトルＶＥ２の分散と、時間軸拘束条件の重みと、算出される変換行列Ｆの精度との対応関係を示すグラフである。即ち、グラフ中の各点は、エラー値、代表ベクトルＶＥ２の数、及び代表ベクトルＶＥ２の分散の対応関係を示す。また、これらの点は、重みが高い（例えば１）方が変換行列Ｆの精度が良かった場合には、点Ｐｗ１で示され、重みが低い（例えば０．０１）方が変換行列Ｆの精度が良かった場合には、点Ｐｗ２で示される。
【０１７９】
図２３によれば、エラー値、代表ベクトルＶＥ２の数、及び代表ベクトルＶＥ２の分散によって、変換行列Ｆの算出に適した重みが異なっている。また、点Ｐｗ１は領域ＡＲ１、ＡＲ２に分布しており、点Ｐｗ４は領域ＡＲ３に分布している。なお、点Ｐｗ１は、領域ＡＲ１、ＡＲ２から離れた領域ＡＲ４にも分布しているが、これはレンズ歪み（ｂｌｏｗ−ｆｉｓｈ）によるものである。
【０１８０】
領域ＡＲ１、ＡＲ２は、上述した第１の範囲を示し、領域ＡＲ３は、上述した第２の範囲を示す。そこで、重み算出部３１３は、エラー値、代表ベクトルＶＥ２の数、及び代表ベクトルＶＥ２の分散が領域ＡＲ１または領域ＡＲ２に属する場合、即ち第１の範囲内となる場合には、時間軸拘束条件の重みｗｅを最も重い第１の重みｗｅ１に決定する。また、重み算出部３１３は、エラー値、代表ベクトルＶＥ２の数、及び代表ベクトルＶＥ２の分散が領域ＡＲ３に属する場合、即ち第２の範囲内となる場合には、時間軸拘束条件の重みｗｅを最も軽い第２の重みｗｅ２に決定する。なお、例えば領域ＡＲ１に含まれる点は、小さいエラー値、すなわち前フレームのホモグラフィー行列ＨＬｎ−１、ＨＲｎ−１によって現フレームの代表点が精度良く幾何補正されることを示す。したがって、エラー値、代表ベクトルＶＥ２の数、及び代表ベクトルＶＥ２の分散が領域ＡＲ１に属する場合、現フレームの変換行列Ｆｎが前フレームの変換行列Ｆｎ−１に近付いている（即ち、変換行列Ｆが収束している）といえる。一方、領域ＡＲ３に含まれる点は、大きなエラー値、すなわち前フレームのホモグラフィー行列ＨＬｎ−１、ＨＲｎ−１によって現フレームの特徴点を幾何補正しても精度が悪いことを示す。したがって、エラー値、代表ベクトルＶＥ２の数、及び代表ベクトルＶＥ２の分散が領域ＡＲ３に属する場合、現フレームの変換行列Ｆｎが前フレームの変換行列Ｆｎ−１に近付いていない（即ち、変換行列Ｆが収束していない）といえる。
【０１８１】
一方、エラー値、代表ベクトルＶＥ２の数、及び代表ベクトルＶＥ２の分散が領域ＡＲ４に属する場合には、レンズ歪みが生じているので、時間軸拘束条件の重みｗｅを第１の重みｗｅ１及び第２の重みｗｅ２と異なるものにすることが望ましいと思われる。そこで、重み算出部３１３は、エラー値、代表ベクトルＶＥ２の数、及び代表ベクトルＶＥ２の分散が領域ＡＲ４に属する場合、即ち第３の範囲内となる場合には、時間軸拘束条件の重みｗｅを第１の重みｗｅ１と第２の重みｗｅ２との中間である第３の重みｗｅ３に決定する。
【０１８２】
重み算出部３１３は、決定された時間軸拘束条件の重みｗｅに関する時間軸拘束重み情報を生成し、線形幾何パラメータ算出部３１４に出力する。
【０１８３】
［線形幾何パラメータ算出部の構成］
線形幾何パラメータ算出部３１４は、図２４に示すように、座標変換部３１９と、マトリックス算出部３２０と、Ｆ行列算出部３２１と、Ｆ行列分解部３２２とを備える。
【０１８４】
座標変換部３１９は、初期化部３１５から与えられた情報に基づいて、各代表点ペアを座標変換する。具体的には、座標変換部３１９は、左側代表点を初期パラメータ、即ち前フレームのホモグラフィー行列ＨＬｎ−１または単位行列Ｉで座標変換し、右側代表点を初期パラメータ、即ち前フレームのホモグラフィー行列ＨＲｎ−１または単位行列Ｉで座標変換する。なお、単位行列Ｉでは、実質的には座標変換は行われない。
【０１８５】
なお、このような座標変換により、カラーキャリブレーション済み画像ＶＬ−１、ＶＲ−１の中心点、及び座標範囲がずれる場合がある。そこで、座標変換部３１９は、座標変換後の代表点ペアの座標及び初期パラメータを正規化する。具体的には、例えば、座標変換部３１９は、各代表点ペアの３次元座標及び初期パラメータに、正規化のための変換行列を乗じる。以下、正規化された３次元座標を正規化座標とも称し、正規化された初期パラメータを、正規化ホモグラフィー行列ＷＬ、ＷＲとも称する。
【０１８６】
座標変換部３１９は、各代表点ペアの正規化座標及び正規化ホモグラフィー行列ＷＬ、ＷＲに関する座標変換情報を生成し、マトリックス算出部３２０に出力する。
【０１８７】
マトリックス算出部３２０は、座標変換情報に基づいて、以下の式（３４）で表される演算行列Ｍ２を算出する。
【０１８８】
【数３１】
2012203851.tif 000033
【０１８９】
ここで、Σはすべての代表点ペアについて合計することを意味し、行列Ｃは上述した直交ベクトル群Ｆ’０を合成したものであり、以下の式（３５）で表される。
【０１９０】
【数３２】
2012203851.tif 000034
【０１９１】
マトリックス算出部３２０は、算出された演算行列Ｍ２に関する演算行列情報を生成し、Ｆ行列算出部３２１に出力する。
【０１９２】
Ｆ行列算出部３２１は、演算行列情報に基づいて、演算行列Ｍ２の最小固有ベクトルｖｍｉｎを算出する。なお、最小固有ベクトルｖｍｉｎの算出法は特に限定されないが、例えば特異値分解等が好ましい。
【０１９３】
さらに、Ｆ行列算出部３２１は、最小固有ベクトルｖｍｉｎの最小特異値が０に落ちるように、最小固有ベクトルｖｍｉｎを３×３の行列に特異値分解する。そして、Ｆ行列算出部３２１は、算出された行列ＳＶＤ（ｖｍｉｎ）と、以下の式（３６）とに基づいて、変換行列Ｆを算出する。
【０１９４】
【数３３】
2012203851.tif 000035
【０１９５】
さらに、Ｆ行列算出部３２１は、重みｗｅの値をいくつかの値、例えば２２×ｗｅ、２×ｗｅ、２−１×ｗｅ、２−２×ｗｅに振って、変換行列Ｆを算出する。そして、Ｆ行列算出部３２１は、算出された変換行列Ｆの各々について、上述した式（３２）を用いてエラー値を算出する。そして、Ｆ行列算出部３２１は、エラー値の最も小さいものを選択し、選択された変換行列Ｆに関する変換行列情報を生成し、座標変換情報と共にＦ行列分解部３２２に出力する。
【０１９６】
Ｆ行列分解部３２２は、変換行列情報に基づいて、変換行列Ｆをホモグラフィー行列ＨＬ、ＨＲ、行列Ｆ０に分解する。実質的には、Ｆ行列分解部３２２は、エピポーラ線を平行にする行列をホモグラフィー行列ＨＬ、ＨＲとして算出する。
【０１９７】
具体的には、Ｆ行列分解部３２２は、まず、エピポール計算を行うことで、エピポール点の座標を算出する。エピポール点は、エピポーラ線の交点である。撮像装置に入射される光線が１点に集約されると仮定すると、これらの光線をカラーキャリブレーション済み画像ＶＬ−１、ＶＲ−１に射影した直線、即ちエピポーラ線同士も１つのエピポール点で交わることになる。エピポール点は、任意のエピポーラ線上に乗るので、任意のエピポーラ線に対する内積が０になる。
【０１９８】
そこで、Ｆ行列分解部３２２は、エピポーラ線と、エピポール点の座標との内積の二乗が最小となるようなエピポール点の座標を算出する。具体的には、Ｆ行列分解部３２２は、変換行列Ｆの二乗を算出する。ついで、Ｆ行列分解部３２２は、算出された行列の最小固有ベクトルをエピポール点の座標とする。なお、エピポール点は、カラーキャリブレーション済み画像ＶＬ−１、ＶＲ−１のそれぞれに存在するので、これらのエピポール点の座標を算出する。すなわち、Ｆ行列分解部３２２は、以下の式（３７）で表される行列ＦＬの最小固有ベクトルｅｌを算出し、これをカラーキャリブレーション済み画像ＶＬ−１上のエピポール点、即ち左側エピポール点の座標とする。
【０１９９】
【数３４】
2012203851.tif 000036
【０２００】
ここで、ｔは転置である。
【０２０１】
同様に、Ｆ行列分解部３２２は、以下の式（３８）で表される行列ＦＲの最小固有ベクトルｅＲを算出し、これをカラーキャリブレーション済み画像ＶＲ−１上のエピポール点、即ち右側エピポール点の座標とする。
【０２０２】
【数３５】
2012203851.tif 000037
【０２０３】
そして、Ｆ行列分解部３２２は、左側エピポール点を無限遠に飛ばす（即ち、カラーキャリブレーション済み画像ＶＬ−１上のエピポーラ線を平行にする）行列をホモグラフィー行列ＨＬとして算出し、右側エピポール点を無限遠に飛ばす（即ち、カラーキャリブレーション済み画像ＶＲ−１上のエピポーラ線を平行にする）行列をホモグラフィー行列ＨＲとして算出する。
【０２０４】
具体的には、Ｆ行列分解部３２２は、ホモグラフィー行列ＨＬ、ＨＲの射影成分行列Ｈｐを、以下の式（３９）、（４０）により算出する。
【０２０５】
【数３６】
2012203851.tif 000038
【０２０６】
ここで、ｅ（２）はエピポールのｘ座標であり、ｅ（０）はエピポールのz座標である。
【０２０７】
そして、Ｆ行列分解部３２２は、Ｒｅｃｔｉｆｉｃａｔｉｏｎ．ｃｐｐのｃａｌｃＲｏｔａｔｉｏｎＯｆＲｅｃｔｉｆｙを用いて、ホモグラフィー行列ＨＬ、ＨＲの回転成分行列Ｈｒを算出し、Ｒｅｃｔｉｆｉｃａｔｉｏｎ．ｃｐｐのｃａｌｃＳｈｅａｒｉｎｇＯｆＲｅｃｔｉｆｙを用いて、ホモグラフィー行列ＨＬ、ＨＲの歪み（並進）成分行列Ｈｓｈを算出する。そして、Ｆ行列分解部３２２は、以下の式（４１）、（４２）に基づいて、ホモグラフィー行列ＨＬ、ＨＲの垂直スケール成分行列Ｈｓを算出する。
【０２０８】
【数３７】
2012203851.tif 000039
【０２０９】
ここで、「Ｖｅｒｔｉｃａｌ  Ｔｏｒｅｒａｎｃｅ」は、水平の並進移動量であり、「Ａｖｅｒａｇｅ  Ｅｒｒｏｒ」は、移動量に対する差分平均であり、σは、標準偏差である。
【０２１０】
そして、Ｆ行列分解部３２２は、ホモグラフィー行列ＨＬの射影成分行列Ｈｐ、回転成分行列Ｈｒ、歪み成分行列Ｈｓｈ、及び垂直スケール成分行列Ｈｓをかけ合わせることで、ホモグラフィー行列ＨＬを算出する。
【０２１１】
同様に、Ｆ行列分解部３２２は、ホモグラフィー行列ＨＲの射影成分行列Ｈｐ、回転成分行列Ｈｒ、歪み成分行列Ｈｓｈ、及び垂直スケール成分行列Ｈｓをかけ合わせることで、ホモグラフィー行列ＨＲを算出する。
【０２１２】
次いで、Ｆ行列分解部３２２は、算出されたホモグラフィー行列ＨＬ、ＨＲに関する線形補正係数情報を生成し非線形幾何パラメータフィッティング部３０４及びパラメータ選択部３０５に出力する。
【０２１３】
［非線形幾何パラメータフィッティング部の構成］
非線形幾何パラメータフィッティング部３０４は、図２５に示すように、ヤコビ行列算出部３２３と、ヘッセ行列算出部３２４と、係数更新部３２５とを備える。
【０２１４】
ヤコビ行列算出部３２３は、特徴量マッチング部３０１から与えられた特徴量ベクトル情報及び線形幾何パラメータフィッティング部３０３から与えられた線形補正係数情報に基づいて、以下の式（４３）で表されるヤコビ行列Ｊ２を算出する。
【０２１５】
【数３８】
2012203851.tif 000040
【０２１６】
ここで、ｕは左側特徴点の３次元座標を示すベクトルであり、ｕ’は右側特徴点の３次元座標を示すベクトルであり、ｃｏｅｆ（Ｆ）は変換行列Ｆの各成分を示す。ｆｅ２（ｕ，ｕ’，ｃｏｅｆ（Ｆ））は、いわゆるエラー関数であり、以下の式（４４）で表される。ｆｅ２０〜ｆｅ２ｍは、エラー関数ｆｅ２（ｕ，ｕ’，ｃｏｅｆ（Ｆ））にそれぞれ異なる特徴量ベクトル情報を代入したものである。
【０２１７】
【数３９】
2012203851.tif 000041
【０２１８】
ここで、ｇ２（ｕ，ｃｏｅｆ（Ｆ））は、左側特徴点の３次元座標に変換行列Ｆを乗じた値であり、ｇ２（ｕ’，ｃｏｅｆ（Ｆ））は、右側特徴点の３次元座標に変換行列Ｆを乗じた値である。
【０２１９】
また、ＲｏｂｕｓｔＦｕｎｃは上述した式（１６）で表される関数である。
【０２２０】
そして、ヤコビ行列算出部３２３は、算出されたヤコビ行列Ｊ２に関するヤコビ行列情報を生成し、ヘッセ行列算出部３２４に出力する。
【０２２１】
また、ヤコビ行列算出部３２３は、後述する係数更新部３２５から非線形補正係数情報を与えられた場合には、当該非線形補正係数情報が示す非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）と、特徴量ベクトル情報とに基づいて、上述したヤコビ行列Ｊ２を算出する。そして、ヤコビ行列算出部３２３は、算出されたヤコビ行列Ｊ２に関するヤコビ行列情報を生成し、ヘッセ行列算出部３２４に出力する。
【０２２２】
ヘッセ行列算出部３２４は、ヤコビ行列算出部３２３から与えられた情報に基づいて、以下の式（４５）で示されるヘッセ行列Ｈ２を算出する。
【０２２３】
【数４０】
2012203851.tif 000042
【０２２４】
次いで、ヘッセ行列算出部３２４は、算出されたヘッセ行列Ｈ２に関するヘッセ行列情報を生成し、ヤコビ行列算出部３２３から与えられた情報と共に係数更新部３２５に出力する。
【０２２５】
係数更新部３２５は、ヘッセ行列算出部３２４から与えられた情報と、以下の式（４６）とに基づいて、変換行列Ｆの各成分を非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）として算出する。
【０２２６】
【数４１】
2012203851.tif 000043
【０２２７】
ここで、Ｉは単位行列である。ｗｆは係数（重み）であり、例えば０．１となる。
【０２２８】
次いで、係数更新部３２５は、非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）を上述したＦ行列分解部３２２の処理と同様の処理により分解することでホモグラフィー行列ＨＬ、ＨＲを算出する。そして、係数更新部３２５は、算出されたホモグラフィー行列ＨＬ、ＨＲに関する非線形補正係数情報を生成する。そして、係数更新部３２５は、ホモグラフィー行列ＨＬ、ＨＲが一定の値に収束したかを判定し、ホモグラフィー行列ＨＬ、ＨＲが一定の値に収束した場合には、非線形補正係数情報をパラメータ選択部３０６に出力し、ホモグラフィー行列ＨＬ、ＨＲが収束していないと判定した場合には、非線形補正係数情報をヤコビ行列算出部３２３に出力する。その後、ホモグラフィー行列ＨＬ、ＨＲが再計算される。したがって、非線形幾何パラメータフィッティング部３０４は、線形幾何パラメータフィッティング部３０３が算出したホモグラフィー行列ＨＬ、ＨＲを初期値として、ホモグラフィー行列ＨＬ、ＨＲを非線形の演算手法により算出し、ホモグラフィー行列ＨＬ、ＨＲが一定の値に収束するまで、非線形の演算を繰り返す。
【０２２９】
［パラメータ選択部の構成］
図１６に示すパラメータ選択部３０５は、線形幾何パラメータフィッティング部３０３から与えられた線形補正係数情報と、非線形幾何パラメータフィッティング部３０４から与えられた非線形補正係数情報とのそれぞれについて、上述した式（３２）を用いて、画素ブロックＢＬ−２、ＢＲ−２の組毎にエラー値を算出する。そして、パラメータ選択部３０５は、エラー値が小さい方の情報をパラメータ情報として選択する。パラメータ選択部３０５は、画素ブロックＢＬ−２、ＢＲ−２の組毎に、パラメータ情報を選択し、幾何キャリブレーション実行部３０６及び線形幾何パラメータフィッティング部３０３に出力する。
【０２３０】
［幾何キャリブレーション実行部３０６の構成］
幾何キャリブレーション実行部３０６は、パラメータ情報に基づいて、カラーキャリブレーション済み画像ＶＬ−１、ＶＲ−１に対して幾何キャリブレーションを行なう。具体的には、幾何キャリブレーション実行部３０６は、カラーキャリブレーション済み画像ＶＬ−１の各座標点をホモグラフィー行列ＨＬで座標変換し、カラーキャリブレーション済み画像ＶＲ−１の各座標点をホモグラフィー行列ＨＲで座標変換する。幾何キャリブレーション実行部３０６は、幾何キャリブレーション後の各画像をそれぞれキャリブレーション済み画像ＶＬ−２、ＶＲ−２として、図５に示す視差検出部４に出力する。
【０２３１】
図２６に、時間軸拘束条件を用いることで変換行列Ｆのあばれが低減される様子を示す。図２６（ａ）の曲線Ｌ３は、時間軸拘束条件を用いずに算出された変換行列Ｆの成分が変動する様子を示し、図２６（ｂ）の曲線Ｌ４は、時間軸拘束条件を用いて算出された変換行列Ｆの成分が変動する様子を示す。図２６に示されるように、時間軸拘束条件を用いて算出された変換行列Ｆは、値のあばれが大きく低減されている。
【０２３２】
図２７は、変換行列Ｆが時間の経過に応じて収束していく様子を示す。曲線Ｌ５、Ｌ６は、式（３２）のエラー値が時間の経過に応じて収束していく様子を示す。なお、曲線Ｌ５は、１フレーム分の対応点選択情報を用いて変換行列Ｆが算出された場合を示し、曲線Ｌ６は、５フレーム分の対応点選択情報を用いて変換行列Ｆが算出された場合を示す。曲線Ｌ７は、式（３３）のエラー値を示す。図２７に示されるように、変換行列Ｆは時間の経過に応じて大きく収束していく。また、５フレーム分の対応点選択情報を用いて算出された変換行列Ｆは、１フレーム分の対応点選択情報を用いて算出された変換行列Ｆよりも大きく収束し、かつ、エラー値も安定しているといえる。
【０２３３】
［幾何キャリブレーション部３による効果］
次に、幾何キャリブレーション部３による効果について説明する。
【０２３４】
幾何キャリブレーション部３は、変換行列Ｆを算出し、この変換行列Ｆに基づいて幾何キャリブレーション（幾何補正）を行うので、既知パターン（既知モデル）がなくても幾何キャリブレーションを行なうことができる。また、変換行列Ｆはエピポーラ拘束条件をみたすので、既知パターンよりも多様な画像に適用可能である。幾何キャリブレーション部３は、上述した式（１９）を用いてエピポーラ拘束条件を解くので、変換行列Ｆを精度良く算出することができる。
【０２３５】
また、幾何キャリブレーション部３は、エピポーラ拘束条件の他、時間軸拘束条件をも満たす変換行列Ｆを算出するので、高精度かつ時間軸方向にロバストな（時間的なロバスト性の高い）変換行列Ｆを算出することができる。このため、幾何キャリブレーション部３は、時間的にロバストな幾何キャリブレーションを行なうことができる。なお、本発明者は、幾何キャリブレーションの手法として、ＲＡＮＳＡＣ推定及びＭ推定といった非線形の推定方法（これらの推定方法の詳細については、例えば、「Ｍａｈａｍｕｄ  ａｎｄ  Ｈｅｂｅｒｔ  ２０００，  ’’Ｉｔｅｒａｔｉｖｅ  ｐｒｏｊｅｃｔｉｖｅ  ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ｆｒｏｍ  ｍｕｌｔｉｐｌｅ  ｖｉｅｗｓ’’」、及び「Ｈａｒｔｌｅｙ  ａｎｄ  Ｚｉｓｓｅｒｍａｎ  ２０００，  ’’Ｍｕｌｔｉｐｌｅ  ｖｉｅｗ  ｇｅｏｍｅｔｒｙ  ｉｎ  ｃｏｍｐｕｔｅｒ  ｖｉｓｉｏｎ’’」等を参照）についても検討した。この結果、ＲＡＮＳＡＣ推定では、変換行列Ｆのパラメータが時間軸方向であばれやすい（ばたつきやすい）ことが判明した。また、Ｍ推定では、画像処理装置の処理負荷が非常に重くなることが判明した。これに対し、本実施の形態で算出される変換行列Ｆは、時間軸方向にあばれにくく、かつ、処理負荷も軽くなっている。
【０２３６】
また、幾何キャリブレーション部３は、前フレームで算出された変換行列Ｆとの相関を時間軸拘束とするので、変換行列Ｆを精度良く算出することができ、ひいては、幾何キャリブレーションを精度良く行なうことができる。
【０２３７】
また、幾何キャリブレーション部３は、前フレームで算出された変換行列Ｆｎ−１との相関を最大化するという最大二乗問題を、前フレームで算出された変換行列Ｆｎ−１の直交ベクトル群Ｆ’ｎ−１と相関を最小にする最小二乗問題に変換するので、エピポーラ拘束条件及び時間軸拘束を単一の最小二乗問題として解くことができる。
【０２３８】
また、幾何キャリブレーション部３は、時間軸拘束を重み付けし、時間軸拘束の重みｗｅを、代表点ペアの状況（サンプル数等）に応じて変更するので、変換行列Ｆを精度良く算出することができ、ひいては、変換行列Ｆの収束を早めることができる。
【０２３９】
また、幾何キャリブレーション部３は、時間軸拘束の重みｗｅをいくつか振り、それぞれの重みｗｅを用いて変換行列Ｆを算出し、エラー値が最小となる変換行列Ｆを選択するので、変換行列Ｆを精度良く算出することができる。
【０２４０】
また、幾何キャリブレーション部３は、特徴点ペアのうち、特に頻度が高い特徴点ペアを代表点ペアとし、この代表点ペアに基づいて変換行列Ｆを算出するので、変換行列Ｆを精度良く算出することができる。
【０２４１】
また、幾何キャリブレーション部３は、代表ベクトルＶＥ２の座標をミーンシフト処理により算出するので、代表ベクトルＶＥ２の座標を精度良く算出することができる。
【０２４２】
また、幾何キャリブレーション部３は、変換行列Ｆを算出する前に、左側代表点及び右側座標点の座標を初期パラメータ、例えばホモグラフィー行列ＨＬｎ−１、ＨＲｎ−１で座標変換するので、変換行列Ｆを容易に算出することができる。具体的には、幾何キャリブレーション部３は、上記の直交ベクトル群Ｆ’ｎ−１を固定値に変換することができる。
【０２４３】
また、幾何キャリブレーション部３は、線形演算で算出された変換行列Ｆのパラメータを初期値として非線形演算を行うので、変換行列Ｆを精度良く算出することができる。
【０２４４】
また、幾何キャリブレーション部３は、線形演算で算出された変換行列Ｆと非線形演算で算出された変換行列Ｆとのそれぞれについてエラー値を算出し、エラー値の小さい方の変換行列Ｆを用いて幾何キャリブレーションを行うので、幾何キャリブレーションを精度良く行なうことができる。
【０２４５】
［線形幾何パラメータフィッティング部の第１の変形例］
次に、線形幾何パラメータフィッティング部の第１の変形例を説明する。図２８に示すように、線形幾何パラメータフィッティング部３２６は、初期化部３２７と、重み算出部３２８と、座標変換部３２９と、射影成分算出部３３０と、回転成分算出部３３１と、並進成分算出部３３２と、Ｆ行列分解部３３３とを備える。線形幾何パラメータフィッティング部３２６は、概略的には、変換行列Ｆを成分毎、即ち射影成分、回転成分、及び並進成分毎に算出する点と、各成分を算出する際に、算出済みの他の成分を考慮する点とが上述した線形幾何パラメータフィッティング部３０３と異なる。
【０２４６】
初期化部３２７、重み算出部３２８、及び座標変換部３２９は、上述した初期化部３１２、重み算出部３１３、及び座標変換部３１９と同様の処理を行なう。ただし、重み算出部３２８は、上述した時間軸拘束重み情報を射影成分算出部３３０と、回転成分算出部３３１と、並進成分算出部３３２とに出力する。
【０２４７】
射影成分算出部３３０は、図２９に示すように、マトリックス算出部３３４と、Ｆ行列算出部３３５とを備える。マトリックス算出部３３４は、上述したマトリックス算出部３２０と同様の処理を行なう。ただし、マトリックス算出部３３４は、以下の式（４７）で示される演算行列Ｍ３を算出する。
【０２４８】
【数４２】
2012203851.tif 000044
【０２４９】
ここで、Σはすべての代表点ペアについて合計することを意味し、行列Ｃ１は上述した直交ベクトル群Ｆ’０の一部を合成したものであり、以下の式（４８）で表される。
【０２５０】
【数４３】
2012203851.tif 000045
【０２５１】
マトリックス算出部３３４は、算出された演算行列Ｍ３に関する演算行列情報を生成し、Ｆ行列算出部３３５に出力する。
【０２５２】
Ｆ行列算出部３３５は、演算行列情報に基づいて、上述したＦ行列算出部３２１と同様の処理を行う。これにより、以下の式（４９）で示される射影成分の変換行列Ｆｐを算出する。
【０２５３】
【数４４】
2012203851.tif 000046
【０２５４】
ここで、Ｐｊ１〜Ｐｊ５は任意の数値を示す。Ｆ行列算出部３３５は、射影成分の変換行列Ｆｐに関する射影成分変換行列情報を生成し、座標変換情報と共に回転成分算出部３３１に出力する。
【０２５５】
回転成分算出部３３１は、図３０に示すように、マトリックス算出部３３６と、Ｆ行列算出部３３６とを備える。マトリックス算出部３３６は、上述したマトリックス算出部３２０と同様の処理を行なう。ただし、マトリックス算出部３３６は、以下の式（５０）で示される演算行列Ｍ４を算出する。
【０２５６】
【数４５】
2012203851.tif 000047
【０２５７】
ここで、Σはすべての代表点ペアについて合計することを意味し、行列Ｃ２は上述した直交ベクトル群Ｆ’０の一部を合成したものであり、以下の式（５１）で表される。
【０２５８】
【数４６】
2012203851.tif 000048
【０２５９】
マトリックス算出部３３６は、算出された演算行列Ｍ４に関する演算行列情報を生成し、Ｆ行列算出部３３７に出力する。式（５０）に示すように、演算行列Ｍ４には、射影成分の変換行列ＦＰが含まれている。即ち、演算行列Ｍ４は、射影成分の変換行列ＦＰを考慮したものになっている。
【０２６０】
Ｆ行列算出部３３７は、演算行列情報に基づいて、上述したＦ行列算出部３２１と同様の処理を行う。これにより、以下の式（５２）で示される回転成分の変換行列ＦＲを算出する。ここで、演算行列Ｍ４には、射影成分の変換行列ＦＰが含まれているので、Ｆ行列算出部３３７は、射影成分の変換行列ＦＰに拘束された変換行列ＦＲを算出することができる。
【０２６１】
【数４７】
2012203851.tif 000049
【０２６２】
ここで、Ｒｏｔ１〜Ｒｏｔ４は任意の数値を示す。Ｆ行列算出部３３５は、回転成分の変換行列ＦＲに関する回転成分変換行列情報を生成し、座標変換情報と共に並進成分算出部３３２に出力する。
【０２６３】
並進成分算出部３３１は、図３１に示すように、マトリックス算出部３３８と、Ｆ行列算出部３３９とを備える。マトリックス算出部３３８は、上述したマトリックス算出部３２０と同様の処理を行なう。ただし、マトリックス算出部３３８は、以下の式（５３）で示される演算行列Ｍ５を算出する。
【０２６４】
【数４８】
2012203851.tif 000050
【０２６５】
ここで、Σはすべての代表点ペアについて合計することを意味し、行列Ｃ３は上述した直交ベクトル群Ｆ’０の一部を合成したものであり、以下の式（５４）で表される。
【０２６６】
【数４９】
2012203851.tif 000051
【０２６７】
マトリックス算出部３３６は、算出された演算行列Ｍ５に関する演算行列情報を生成し、Ｆ行列算出部３３９に出力する。式（５３）に示すように、演算行列Ｍ５には、回転成分の変換行列ＦＲが含まれている。即ち、演算行列Ｍ５は、回転成分の変換行列ＦＲを考慮したものになっている。なお、変換行列ＦＲは、射影成分の変換行列ＦＰに拘束されているので、演算行列Ｍ５は、実質的には、射影成分の変換行列ＦＰをも考慮したものになっている。
【０２６８】
Ｆ行列算出部３３９は、演算行列情報に基づいて、上述したＦ行列算出部３２１と同様の処理を行う。これにより、以下の式（５５）で示される並進成分の変換行列ＦＳｈを算出する。ここで、演算行列Ｍ５は、射影成分及び回転成分の変換行列ＦＰ、ＦＲを考慮したものになっているので、Ｆ行列算出部３３９は、射影成分及び回転成分の変換行列ＦＰ、ＦＲに拘束された変換行列ＦＳｈを算出することができる。
【０２６９】
【数５０】
2012203851.tif 000052
【０２７０】
ここで、ｖ１〜ｖ４は任意の数値を示す。Ｆ行列算出部３３９は、射影成分、回転成分、及び並進成分の変換行列ＦＰ、ＦＲ、ＦＳｈをかけ合わせることで、変換行列Ｆを算出する。そして、算出された変換行列Ｆに関する変換行列情報を生成し、座標変換情報と共にＦ行列分解部３２２に出力する。
【０２７１】
図２８に示すＦ行列分解部３３３は、上述したＦ行列分解部３２２と同様の処理を行なう。
【０２７２】
この変形例に係る線形幾何パラメータフィッティング部３２６は、変換行列Ｆを成分毎に算出するので、変換行列Ｆをロバストかつ精度良く算出することができる。また、線形幾何パラメータフィッティング部３２６は、各成分を算出する際に、すでに算出された成分を考慮する（拘束条件として用いる）ので、この点でも、変換行列Ｆを精度良く算出することができる。
【０２７３】
［線形幾何パラメータフィッティング部の第２の変形例］
次に、線形幾何パラメータフィッティング部の第２の変形例を説明する。図３２に示すように、第２の変形例に係る線形幾何パラメータフィッティング部３４０は、初期化部３４１と、座標変換部３４２と、線形幾何パラメータ更新部３４３とを備える。線形幾何パラメータフィッティング３４０は、概略的には、変換行列Ｆを算出する過程を簡略化した点が、線形幾何パラメータフィッティング部３０３と異なる。
【０２７４】
初期化部３４１及び座標変換部３４２は、上述した初期化部３１２及び座標変換部３１９と同様の処理を行なう。
【０２７５】
線形幾何パラメータ更新部３４３は、並進成分更新用テーブルと、回転成分更新用テーブルと、射影成分更新用テーブルとを記憶する。
【０２７６】
並進成分更新用テーブルには、−５から＋５までの値が０．５刻みで格納されている。回転成分更新用テーブル及び射影成分更新用テーブルは、図３３に示すように、５×５のマトリックス形状となっている。回転成分更新用テーブル及び射影成分更新用テーブルの各ブロックには、カラーキャリブレーション済み画像ＶＬ−１、ＶＲ−１を変換するために必要なパラメータの組み合わせ（Ｔａ、Ｔｂ）が格納されている。ここで、Ｔａは０、Ｓ、またはＪであり、Ｔｂは０、ｓ、またはｊである。「ｓ」及び「Ｓ」は、０近傍の値（刻み）を示し、「ｊ」及び「Ｊ」は、０から離れた値（ジャンプ）を示す。即ち、「ｓ」または「Ｓ」と「ｊ」または「Ｊ」との差分は、０と「ｓ」または「Ｓ」との差分よりも大きい。
【０２７７】
具体的には、回転成分更新用テーブルにおいては、Ｔａはカラーキャリブレーション済み画像ＶＬ−１の回転角度を示し、Ｔｂはカラーキャリブレーション済み画像ＶＲ−１の回転角度を示す。即ち、「Ｓ」は、例えばカラーキャリブレーション済み画像ＶＬ−１を右回転方向に０．０１度回転することを示し、「Ｊ」は、例えばカラーキャリブレーション済み画像ＶＬ−１を右回転方向に０．１度回転することを示す。「−」は左回転を示す。
【０２７８】
同様に、「ｓ」は、例えばカラーキャリブレーション済み画像ＶＲ−１を右回転方向に０．０１度回転することを示し、「ｊ」は、例えばカラーキャリブレーション済み画像ＶＲ−１画像を右回転方向に０．１度回転することを示す。「−」は左回転を示す。
【０２７９】
一方、射影成分更新用テーブルにおいては、Ｔａはカラーキャリブレーション済み画像ＶＬ−１を射影変換する大きさを示し、Ｔｂはカラーキャリブレーション済み画像ＶＲ−１を射影変換する大きさを示す。即ち、「Ｓ」は、上述した式（４９）のＰｊ１、Ｐｊ２の組み合わせまたはそれに相当する値を示し、「Ｊ」も、上述した式（４９）のＰｊ１、Ｐｊ２の組み合わせまたはそれに相当する値を示す。ただし、「Ｊ」が示すＰｊ１、Ｐｊ２の値は、「Ｓ」が示すＰｊ１、Ｐｊ２の値よりも大きくなっている。
【０２８０】
同様に、「ｓ」は、上述した式（４９）のＰｊ３、Ｐｊ４の組み合わせまたはそれに相当する値を示し、「ｊ」も、上述した式（４９）のＰｊ３、Ｐｊ４の組み合わせまたはそれに相当する値を示す。ただし、「ｊ」が示すＰｊ３、Ｐｊ４の値は、「ｓ」が示すＰｊ３、Ｐｊ４の値よりも大きくなっている。
【０２８１】
なお、ホモグラフィー行列ＨＬ、ＨＲの各成分、即ち並進成分、回転成分、及び射影成分がとりうる値をすべてテーブルに格納しようとすると、テーブルの大きさが爆発してしまう。そこで、本実施の形態では、各テーブルの大きさを上記のように制限している。なお、上記の大きさはあくまで一例であり、各テーブルは他の大きさであってもよいことはもちろんである。
【０２８２】
線形幾何パラメータ更新部３４３は、並進成分更新用テーブルの値と、回転成分更新用テーブルの値と、射影成分更新用テーブルの値とのすべての組み合わせについて、以下の式（５６）、（５７）で表されるホモグラフィー更新用行列ＤＬ、ＤＲを算出する。
【０２８３】
【数５１】
2012203851.tif 000053
【０２８４】
ここで、ｖＬ、ｖＲは、それぞれ並進成分更新用テーブルに格納された値を示す。ｒＬは、回転成分更新用テーブルのＴａを示し、ｖＲは回転成分更新用テーブルのＴｂを示す。ｐＬは、射影成分更新用テーブルのＴａを示し、ｐＲは射影成分更新用テーブルのＴｂを示す。
【０２８５】
そして、線形幾何パラメータ更新部３４３は、以下の式（５８）、（５９）に基づいて、ホモグラフィー行列ＨＬ、ＨＲを更新する。
【０２８６】
【数５２】
2012203851.tif 000054
【０２８７】
そして、線形幾何パラメータ更新部３４３は、算出されたすべてのホモグラフィー行列ＨＬ、ＨＲについて、上述した式（３２）を用いてエラー値を算出し、このエラー値が最も小さいホモグラフィー行列ＨＬ、ＨＲを選択する。そして、線形幾何パラメータ更新部３４３は、選択されたホモグラフィー行列ＨＬ、ＨＲに関する線形補正係数情報を生成し非線形幾何パラメータフィッティング部３０４及びパラメータ選択部３０５に出力する。
【０２８８】
図３４に、ホモグラフィー行列ＨＬ、ＨＲが収束する様子を示す。曲線Ｌ８は、式（３３）のエラー値が時間の経過に応じて変動する様子を示し、曲線Ｌ９は、ホモグラフィー行列ＨＬ、ＨＲの並進成分だけ更新したときのエラー値が時間の経過に応じて変動する様子を示し、曲線Ｌ１０は、ホモグラフィー行列ＨＬ、ＨＲの並進成分及び回転成分を更新したときのエラー値が時間の経過に応じて変動する様子を示す。図３４に示されるように、ホモグラフィー行列ＨＬ、ＨＲの並進成分及び回転成分を更新することで、ホモグラフィー行列ＨＬ、ＨＲが非常に小さい値に収束する。
【０２８９】
図３５は、ホモグラフィー行列ＨＬ、ＨＲが収束したときの値を示す。棒グラフＬ１１は、式（３３）のエラー値が収束した値を示し、棒グラフＬ１２は、ホモグラフィー行列ＨＬ、ＨＲの並進成分だけ更新したときのエラー値が収束した値を示す。棒グラフＬ１３は、ホモグラフィー行列ＨＬ、ＨＲの並進成分及び回転成分を更新したときのエラー値が収束した値を示し、棒グラフＬ１４は、ホモグラフィー行列ＨＬ、ＨＲの並進成分、回転成分、及び射影成分を更新したときのエラー値が収束した値を示す。また、閾値Ｔｈ１は、後述する視差検出が良好に行われるときのエラー値の上限を示す。即ち、後述する視差検出が良好に行われるためには、エラー値がこの閾値Ｔｈ１以下となる必要がある。図３５に示されるように、少なくともホモグラフィー行列ＨＬ、ＨＲの並進成分及び回転成分を更新することで、視差検出が良好に行われる。
【０２９０】
第２の変形例に係る線形幾何パラメータフィッティング部３４０は、更新テーブルを用いて変換行列Ｆを算出する。このため、線形幾何パラメータフィッティング部３４０は、変換行列Ｆ算出の際の処理負担を軽くすることができる。また、処理負担が軽くなる結果、パラメータのあばれが抑えられるので、線形幾何パラメータフィッティング部３４０は、ロバストな変換行列Ｆを算出することができる。
【０２９１】
また、線形幾何パラメータフィッティング部３４０は、更新テーブルの大きさを制限しているので、更新テーブルの大きさが爆発することを防止することができる。
【０２９２】
［パラメータ選択部の変形例］
次に、パラメータ選択部３０５の変形例（変換行列調整部）を説明する。この変形例に係るパラメータ選択部３０５は、上述した処理によってホモグラフィー行列ＨＬ、ＨＲを選択した後、さらに以下の画像擦り合わせ処理を行なう。
【０２９３】
即ち、図３６に示されるように、パラメータ選択部３０５は、ホモグラフィー行列ＨＬ、ＨＲに基づいて変換行列Ｆを算出し、左側代表点を変換行列Ｆで変換してエピポーラ線ＥＰＲ−１２とする。そして、パラメータ選択部３０５は、右側代表点ＰＲ−１２からエピポーラ線ＥＰＲ−１２に垂線をおろし、交点ＰＲ−１３を求める。そして、パラメータ選択部３０５は、右側代表点ＰＲ−１２を中心とした第１周辺パッチ（例えば、１０×１０画素のパッチ）Ｐａｔ１と、交点ＰＲ−１３を中心とした第２周辺パッチ（例えば、１０×１０画素のパッチ）Ｐａｔ２とを抽出する。そして、パラメータ選択部３０５は、これらのパッチの相関が最大となるように、ホモグラフィー行列ＨＬ、ＨＲを調整する。具体的には、パラメータ選択部３０５は、以下の式（６０）の値が最小となるように、ホモグラフィー行列ＨＬ、ＨＲを調整する。
【０２９４】
【数５３】
2012203851.tif 000055
【０２９５】
ここで、ａｊ、ａｉは第１パッチＰａｔ１内の各画素の輝度を示し、ｂｉ、ｂｋは第２パッチＰａｔ２内の各画素の輝度を示す。
【０２９６】
そして、パラメータ選択部３０５は、調整後のホモグラフィー行列ＨＬ、ＨＲと、他の代表的ペアと、を用いて上述した処理を繰り返す。そして、パラメータ選択部３０５は、すべての代表的ペアについて上述した処理を行った後、ホモグラフィー行列ＨＬ、ＨＲに関するパラメータ情報を生成し、線形幾何パラメータフィッティング部３０３及び幾何キャリブレーション実行部３０６に出力する。
【０２９７】
したがって、パラメータ選択部３０５は、ホモグラフィー行列ＨＬ、ＨＲ、ひいては変換行列Ｆをより精度良く算出することができる。
【０２９８】
なお、上述した変形例を任意に組み合わせてもよい。例えば、すべての変形例を組み合わせてもよい。この場合、線形幾何パラメータフィッティング部３０３は、複数の手法によってホモグラフィー行列ＨＬ、ＨＲをそれぞれ生成する。そして、パラメータ選択部３０５は、これらのホモグラフィー行列ＨＬ、ＨＲ及び非線形幾何パラメータフィッティング部３０４により生成されたホモグラフィー行列ＨＬ、ＨＲのうち、最適なものを選択し、さらに、上述した第３変形例の処理によって、ホモグラフィー行列ＨＬ、ＨＲの精度を向上する。このホモグラフィー行列ＨＬ、ＨＲは、次のフレームでの演算における初期パラメータとされる。
【０２９９】
＜２−３．視差検出部の構成＞
次に、図５に示す視差検出部４の構成について説明する。視差検出部４は、図３７に示すように、グローバルマッチング部４０１と、ローカルマッチング部４０２と、ディスパリティマップ統合部４０３とを備える。すなわち、視差検出部４は、グローバルマッチングと、ローカルマッチングとを並行して行う。ここで、ローカルマッチングは、精度の良否が上述したキャリブレーションの結果やモデル（例えば、入力画像ＶＬの輝度と入力画像ＶＲの輝度との対応関係を示すモデル式や、変換行列Ｆ）に依存しないという長所があるものの、オクルージョンに弱い、安定性が悪い（精度がばらつきやすい）といった短所もある。一方、グローバルマッチングは、オクルージョンに強い、安定しているという長所があるものの、精度の良否がキャリブレーションの結果やモデルに依存しやすいという短所もある。そこで、視差検出部４は、両者を並行して行い、結果として得られる視差マップを対比し、良好な視差マップを選択するようにしている。
【０３００】
［グローバルマッチング部の構成］
グローバルマッチング部４０１（第１の水平視差検出部）は、図３８に示すように、ＤＳＡＤ（Ｄｙｎａｍｉｃ  Ｓｕｍ  Ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）算出部４０４と、最小値選択部４０５と、モーション記述部４０６と、アンカーベクトル構築部４０７と、コスト算出部４０８と、経路構築部４０９と、バックトラック部４１０とを備える。
【０３０１】
［ＤＳＡＤ算出部の構成］
ＤＳＡＤ算出部４０４は、キャリブレーション済み画像ＶＬ−２、ＶＲ−２と、カラーキャリブレーション部２から与えられた信頼度マップ情報と基づいて、左側座標点毎に以下の処理を行なう。即ち、ＤＳＡＤ算出部４０４は、左側座標点を基準座標点とし、左側座標点と同じ高さ（同じｙ座標）の右側座標点を参照座標点としてすべて抽出する。そして、ＤＳＡＤ算出部４０４は、各参照座標点のｘ座標から基準座標点のｘ座標を減算し、これにより得られた値をそれぞれ基準座標点の水平視差ｄ１とする。そして、ＤＳＡＤ算出部４０４は、基準座標点のすべての水平視差ｄ１（即ち、すべての参照座標点）について、以下の式（６１）で示されるＤＳＡＤ（ｊ）（ｊは−２〜２の整数）を算出する。
【０３０２】
【数５４】
2012203851.tif 000056
【０３０３】
ここで、ｉは−２〜２の整数であり、Ｌ（ｉ，ｊ）は、基準座標点とｙ座標が（ｉ＋ｊ）異なる左側座標点の輝度であり、Ｒ（ｉ，ｊ）は、参照座標点とｙ座標が（ｉ＋ｊ）異なる右側座標点の輝度である。また、α１は、カラーキャリブレーション用信頼度マップが示す基準座標点の信頼度を、０〜１の値に正規化したものであり、信頼度が大きいほど１に近くなる。このように、ＤＳＡＤの算出にカラーキャリブレーション用信頼度マップの値を利用することで、色ズレに強い視差検出が可能となる。正規化は、信頼度を上述した式（１６）に代入することで得られる。
【０３０４】
したがって、ＤＳＡＤ算出部４０４は、基準座標点及び参照座標点のｙ座標を振ることで、いくつかのＤＳＡＤを算出することとなる。これにより、視差検出部３は、左側座標点と右側座標点との垂直ずれを考慮した視差マップを生成することができる。ＤＳＡＤ算出部４０４は、参照座標点のｙ座標を振る量を、基準座標点のｙ座標に対して上下２画素としたが、この範囲は、ロバスト性と精度とのバランスに応じて任意に変更される。
【０３０５】
ＤＳＡＤ算出部４０４は、算出されたＤＳＡＤ（−２）〜ＤＳＡＤ（＋２）に関するＤＳＡＤ情報を生成し、最小値選択部４０５に出力する。
【０３０６】
［最小値選択部の構成］
最小値選択部４０５は、ＤＳＡＤ情報に基づいて、すべての左側座標点及び水平視差ｄ１について、最小のＤＳＡＤを選択する。そして、最小値選択部４０５は、選択されたＤＳＡＤを図４３に示す視差検出用ＤＰマップの各ノードＰ（ｘ、ｄ）に格納する。したがって、最小のＤＳＡＤがノードＰ（ｘ、ｄ）のスコアとなる。視差検出用ＤＰマップは、横軸が左側座標点のｘ座標、縦軸が水平視差ｄ１となっており、複数のノードＰ（ｘ、ｄ）を有している。視差検出用ＤＰマップは、左側座標点の水平視差ｄ１を算出する際に使用される。また、視差検出用ＤＰマップは、左側座標点のｙ座標毎に生成される。したがって、いずれかの視差検出用ＤＰマップ内のいずれかのノードＰ（ｘ、ｄ）は、いずれかの左側座標点に対応する。
【０３０７】
［モーション記述部の構成］
モーション記述部４０６は、図３９に示すように、水平差分算出部４１１と、垂直差分算出部４１２と、時間差分算出部４１３と、フィルタ部４１４と、モーションスコア算出部４１５とを備える。
【０３０８】
水平差分算出部４１１は、キャリブレーション済み画像ＶＬ−２を取得し、キャリブレーション済み画像ＶＬ−２の画素、即ち左側座標点毎に、以下の処理を行なう。すなわち、水平差分算出部４１１は、左側座標点を基準座標点とし、基準座標点の輝度から、基準座標点よりｘ座標が１大きい参照座標点の輝度を減算する。水平差分算出部４１１は、これにより得られた値を水平差分ｄｘとし、水平差分ｄｘに関する水平差分情報を生成し、フィルタ部４１４に出力する。
【０３０９】
垂直差分算出部４１２は、キャリブレーション済み画像ＶＬ−２を取得し、キャリブレーション済み画像ＶＬ−２の画素、即ち左側座標点毎に、以下の処理を行なう。即ち、垂直差分算出部４１２は、左側座標点を基準座標点とし、基準座標点の輝度から、基準座標点よりｙ座標が１大きい参照座標点の輝度を減算する。垂直差分算出部４１２は、これにより得られた値を垂直差分ｄｙとし、算出された垂直差分ｄｙに関する垂直差分情報を生成し、フィルタ部４１４に出力する。
【０３１０】
時間差分算出部４１３は、キャリブレーション済み画像ＶＬ−２と、前フレームのキャリブレーション済み画像Ｖ’Ｌ−２とを取得し、キャリブレーション済み画像ＶＬ−２の画素、即ち左側座標点毎に、以下の処理を行なう。即ち、時間差分算出部４１３は、左側座標点を基準座標点とし、前フレームのキャリブレーション済み画像Ｖ’Ｌ−２の各画素のうち、基準座標点と同じ座標を有する画素を参照座標点とする。そして、時間差分算出部４１３は、基準座標点の輝度から参照座標点の輝度を減算する。時間差分算出部４１３は、これにより得られた値を時間差分ｄｔとし、算出された時間差分ｄｔに関する時間差分情報を生成し、フィルタ部４１４に出力する。
【０３１１】
フィルタ部４１４は、水平差分情報、垂直差分情報、及び時間差分情報にローパスフィルタを掛ける。その後、フィルタ部４１４は、これらの情報をモーションスコア算出部４１５に出力する。
【０３１２】
モーションスコア算出部４１５は、水平差分情報、垂直差分情報、及び時間差分情報に基づいて、左側座標点毎に静動判定を行い、この結果に応じたモーションスコアを決定する。
【０３１３】
具体的には、モーションスコア算出部４１５は、左側座標点毎に、輝度変化量の時間微分値（ｄｘ／ｄｔ＋ｄｙ／ｄｔ）（単位時間あたりの輝度変化量）を算出し、算出された微分値をシグモイド関数に代入することで、０〜１の値に正規化する。モーションスコア算出部４１５は、正規化された値をモーションスコアとし、モーションスコアに関するモーションスコア情報をアンカーベクトル構築部４０７に出力する。モーションスコアは、左側座標点の輝度の変動が激しくなるほど（即ち、画像の動きが激しくなるほど）小さくなる。
【０３１４】
なお、モーションスコア算出部４１５は、以下のようにモーションスコアを算出するようにしてもよい。
【０３１５】
すなわち、モーションスコア算出部４１５は、キャリブレーション済み画像ＶＬ−２の解像度を落とすことでモザイク画像Ｖ’’Ｌ−２を生成する。モーションスコア算出部４１５は、キャリブレーション済み画像ＶＬ−２の左側座標点を基準座標点とし、モザイク画像Ｖ’’Ｌ−２のうち、基準座標点と同じ座標を有する座標点を参照座標点とする。モーションスコア算出部４１５は、基準座標点の輝度から参照座標点の輝度を減算する。モーションスコア算出部４１５は、算出された差分値をシグモイド関数に代入することで、０〜１の値に正規化する。モーションスコア算出部４１５は、正規化された値をモーションスコアとする。この場合、モーションスコアは、キャリブレーション済み画像ＶＬ−２のうち、プレーンな部分で大きくなる。この手法では、処理負担が軽くなり、かつ、ロバストなモーションスコアが得られる。
【０３１６】
［アンカーベクトル構築部の構成］
図３８に示すアンカーベクトル構築部４０７は、図４０に示すように、ローカルヒストグラム作成部４１６と、アンカーベクトル算出部４１７とを備える。
【０３１７】
ローカルヒストグラム作成部４１６は、前フレームで作成された視差マップＤＭｎ−１を取得する。ローカルヒストグラム作成部４１６は、視差マップの座標点（これらの座標点は、左側座標点に対応する）毎に以下の処理を行なう。具体的には、ローカルヒストグラム作成部４１６は、視差マップのいずれかの座標点を基準座標点とし、基準座標点の周辺領域（例えば、基準座標点を中心とした５×５画素の領域）から水平視差情報を抽出する。そして、ローカルヒストグラム作成部４１６は、これらの水平視差情報に基づいて、図４１に示すローカルヒストグラムＤＨを生成する。ローカルヒストグラムＤＨは、水平視差ｄ１の値と、視差の値を有する画素の数（頻度）との対応関係を示す。
【０３１８】
ローカルヒストグラム作成部４１６は、ローカルヒストグラムＤＨに関するローカルヒストグラム情報を生成し、アンカーベクトル算出部４１７に出力する。
【０３１９】
アンカーベクトル算出部４１７は、ローカルヒストグラム情報に基づいて、左側座標点毎に以下の処理を行なう。即ち、アンカーベクトル算出部４１７は、図４１に示すように、頻度が所定の閾値Ｔｈ２以上となる水平視差ｄ１、即ち高頻度視差ｄ１’を検索する。アンカーベクトル算出部４１７は、モーションスコアに所定値を乗じたボーナス値と、高頻度視差ｄ１’とを示すアンカーベクトル情報を生成し、コスト算出部４０８に出力する。なお、アンカーベクトル情報は、例えば以下の式（６７）で表される。
【０３２０】
【数５５】
2012203851.tif 000057
【０３２１】
ここで、α２はボーナス値を示し、行列Ｍｄは、高頻度視差ｄ１’の位置を示す。即ち、行列Ｍｄの各列は、それぞれ異なる水平視差ｄ１を示し、成分が１となっている列は、その列に対応する水平視差ｄ１が高頻度視差ｄ１’であることを示す。高頻度視差ｄ１’が存在しない場合、行列Ｍｄのすべての成分が０になる。
【０３２２】
［コスト算出部の構成］
図３８に示すコスト算出部４０８は、アンカーベクトル情報に基づいて、視差検出用ＤＰマップの各ノードＰ（ｘ、ｄ）の値を更新する。即ち、コスト算出部４０８は、左側座標点毎に、高頻度視差ｄ１’に対応するノード（ｘ、ｄ（＝ｄ１’））を特定し、このノードのスコアから、ボーナス値α２を減算する。これにより、前フレームでの頻度が大きい視差と同じ視差を有するノードは、最短経路を通りやすくなる。言い換えれば、前フレームでの頻度が大きい視差は、現フレームにおいても選択されやすくなる。
【０３２３】
［経路構築部の構成］
図３８に示す経路構築部４０９は、図４２に示すように、左目用画像水平差分算出部４１８と、右目用画像水平差分算出部４１９と、重み算出部４２０と、経路算出部４２１とを備える。
【０３２４】
左目用画像水平差分算出部４１８は、上述した水平差分算出部４１１と同様の処理を行なう。そして、左目用画像水平差分算出部４１８は、この処理により生成された水平差分情報を重み算出部４２０に出力する。
【０３２５】
右目用画像水平差分算出部４１９は、キャリブレーション済み画像ＶＲ−２を取得する。そして、右目用画像水平差分算出部４１９は、キャリブレーション済み画像ＶＲ−２に対して上述した水平差分算出部４１１と同様の処理を行なう。そして、右目用画像水平差分算出部４１９は、この処理により生成された水平差分情報を重み算出部４２０に出力する。
【０３２６】
重み算出部４２０は、水平差分情報に基づいて、左側座標点の重みｗｔＬ、右側座標点のｗｔＲをすべての座標点について算出する。具体的には、重み算出部４２０は、左側座標点の水平差分ｄｗＬをシグモイド関数に代入することで、水平差分ｄｗＬを０〜１の値に正規化し、これを重みｗｔＬとする。同様に、重み算出部４２０は、右側座標点の水平差分ｄｗＲをシグモイド関数に代入することで、水平差分ｄｗＲを０〜１の値に正規化し、これを重みｗｔＲとする。そして、重み算出部４２０は、算出された重みｗｔＬ、ｗｔＲに関する重み情報を生成し、経路算出部４２１に出力する。重みｗｔＬ、ｗｔＲは画像のエッヂ（輪郭）の部分で小さくなり、平坦部分で大きくなる。
【０３２７】
経路算出部４２１は、重み算出部４２０から与えられた重み情報に基づいて、視差検出用ＤＰマップの各ノードＰ（ｘ、ｄ）に至るまでの累積コストを計算する。具体的には、経路算出部４２１は、ノード（０、０）を始点、ノード（ｘｍａｚ、０）を終点とし、始点からノードＰ（ｘ、ｄ）に至るまでの累積コストを以下のように定義する。ここで、ｘｍａｘは、左側座標点のｘ座標の最大値である。
【０３２８】
【数５６】
2012203851.tif 000058
【０３２９】
ここで、ＤＦＩ（ｘ、ｄ）０は、経路ＰＡｄ０を通ってノードＰ（ｘ、ｄ）に至るときの累積コストであり、ＤＦＩ（ｘ、ｄ）１は、経路ＰＡｄ１を通ってノードＰ（ｘ、ｄ）に至るときの累積コストであり、ＤＦＩ（ｘ、ｄ）２は、経路ＰＡｄ２を通ってノードＰ（ｘ、ｄ）に至るときの累積コストである。また、ＤＦＩ（ｘ、ｄ−１）は始点からノードＰ（ｘ、ｄ−１）に至るまでの累積コストである。ＤＦＩ（ｘ−１、ｄ）は始点からノードＰ（ｘ−１、ｄ）に至るまでの累積コストである。ＤＦＩ（ｘ−１、ｄ＋１）は始点からノードＰ（ｘ−１、ｄ＋１）に至るまでの累積コストである。また、ｏｃｃＣｏｓｔ０、ｏｃｃＣｏｓｔ１は、それぞれコストの値を示す所定値であり、例えば４．０である。ｗｔＬは、ノードＰ（ｘ、ｄ）に対応する左側座標点の重みであり、ｗｔＲは、この左側座標点と同じ座標を有する右側座標点の重みである。
【０３３０】
そして、経路算出部４２１は、算出された累積コストＤＦＩ（ｘ、ｄ）０〜ＤＦＩ（ｘ、ｄ）２のうち、最小のものを選択し、選択されたものをノードＰ（ｘ、ｄ）の累積コストＤＦＩ（ｘ、ｄ）とする。経路算出部４２１は、すべてのノードＰ（ｘ、ｄ）について累積コストＤＦＩ（ｘ、ｄ）を算出し、視差検出用ＤＰマップに格納する。
【０３３１】
バックトラック部４１０は、累積コストが最小となる経路を終点から始点に向かって逆にたどることで、最短経路、即ち始点から終点までの累積コストが最小となる経路を算出する。この最短経路上のノードは、対応する左側座標点の水平視差ｄ１となる。
【０３３２】
バックトラック部４１０は、算出された最短経路と、後述するローカルマッチング部から与えられた垂直視差情報とに基づいて、視差マップＤＭ１を生成する。視差マップＤＭ１は、左側座標点毎に水平視差ｄ１及び垂直視差ｄ２を示す。バックトラック部４１０は、生成された視差マップＤＭ１に関する視差マップ情報を生成し、図３７に示すディスパリティマップ統合部４０３に出力する。ここで、視差マップＤＭ１には、左側座標点のｙ座標と、左側座標点と同じｘ座標を有する右側座標点のｙ座標との差分、即ち垂直視差ｄ２のうち、ローカルマッチング部４０２により最適であると判断されたものが格納される。
【０３３３】
［ローカルマッチング部の構成］
ローカルマッチング部４０２（第２の水平視差検出部）は、いわゆるブロックマッチングを行なうことで、画素ブロックごとに視差マップＤＭ２を算出する。視差マップＤＭ２も、左側座標点毎に水平視差ｄ１及び垂直視差ｄ２を示す。
【０３３４】
具体的には、ローカルマッチング部４０２は、キャリブレーション済み画像ＶＬ−２、ＶＲ−２をそれぞれ複数の画素ブロックに分割する。例えば、ローカルマッチング部４０２は、上述した幾何キャリブレーション部３のように、キャリブレーション済み画像ＶＬ−２、ＶＲ−２をそれぞれ６４個の画素ブロックに分割する。そして、ローカルマッチング部４０２は、キャリブレーション済み画像ＶＬ−２の画素ブロック（以下、「左側画素ブロック」とも称する）ごとに、上述したグローバルマッチング部４０１と同様の処理を行う。ここで、ローカルマッチング部４０２は、左側座標点毎に垂直視差ｄ２も算出する。垂直視差ｄ２の算出方法は、上述したグローバルマッチング部４０１の処理と同様である。例えば、ローカルマッチング部４０２は、上述したＤＳＡＤを算出する処理において、基準座標点とｘ座標が同じ右側座標点を参照座標点とすることで、ｙ軸方向にもＤＳＡＤを算出する。その後、ローカルマッチング部４０２は、算出されたＤＳＡＤ等に基づいて、垂直視差ｄ２を算出するための視差検出用ＤＰマップを生成し、この視差検出用ＤＰマップの最短経路を算出し、この最短経路に基づいて、垂直視差ｄ２を左側座標点毎に算出する。
【０３３５】
ローカルマッチング部４０２は、生成された視差マップＤＭ２に関する視差マップ情報をディスパリティマップ統合部４０３に出力する一方で、垂直視差ｄ２に関する垂直視差情報を生成し、グローバルマッチング部４０１に出力する。
【０３３６】
［ディスパリティマップ統合部の構成］
ディスパリティマップ統合部４０３は、まず、視差マップ情報に基づいて、グローバルマッチング部４０１が生成した視差マップＤＭ１、及びローカルマッチング部４０２が生成した視差マップＤＭ２を評価する。
【０３３７】
具体的には、ディスパリティマップ統合部４０３は、現フレームの視差マップＤＭ１と、前フレームの視差マップＤＭ１との差分を示す第１の差分マップを生成する。第１の差分マップは、現フレームの視差マップＤＭ１の水平視差ｄ１から前フレームの視差マップＤＭ１の水平視差ｄ１を減算した値を、左側座標点毎に示すものである。次いで、ディスパリティマップ統合部４０３は、第１の差分マップを２値化することで、第１の２値化差分マップを生成する。そして、ディスパリティマップ統合部４０２は、第１の２値化差分マップの各値に所定の重み（例えば８）を乗じることで、第１の差分スコアマップを生成する。
【０３３８】
さらに、ディスパリティマップ統合部４０３は、現フレームの視差マップＤＭ１と、現フレームのキャリブレーション済み画像ＶＬ−２とのエッジ画像を生成し、これらの相関を示す相関マップを生成する。現フレームの視差マップＤＭ１のエッジ画像は、現フレームの視差マップＤＭ１のエッジ部分（現フレームの視差マップＤＭ１に描かれた各画像の輪郭部分）を示す。同様に、キャリブレーション済み画像ＶＬ−２のエッジ画像は、キャリブレーション済み画像ＶＬ−２のエッジ部分（キャリブレーション済み画像ＶＬ−２に描かれた各画像の輪郭部分）を示す。エッジ画像同士の相関を算出する手法としては、例えば、ＮＣＣ等のような相関関係を算出する手法が任意に用いられる。そして、ディスパリティマップ統合部４０３は、相関マップを２値化することで、２値化相関マップを生成する。そして、ディスパリティマップ統合部４０２は、２値化相関マップの各値に所定の重み（例えば２６）を乗じることで、相関スコアマップを生成する。
【０３３９】
そして、ディスパリティマップ統合部４０３は、第１の差分スコアマップと相関スコアマップとを統合し、ＩＩＲフィルタを掛けることで、グローバルマッチング用信頼度マップＥＭＧを生成する。グローバルマッチング用信頼度マップＥＭＧの各左側座標点の値は、第１の差分スコアマップと相関スコアマップとの値のうち、大きい方の値を示す。
【０３４０】
一方、ディスパリティマップ統合部４０３は、現フレームの視差マップＤＭ２と、前フレームの視差マップＤＭ２との差分を示す第２の差分マップを生成する。差分マップは、現フレームの視差マップＤＭ１の水平視差ｄ１から前フレームの視差マップＤＭ１の水平視差ｄ１を減算した値を、左側座標点毎に示すものである。次いで、ディスパリティマップ統合部４０３は、第２の差分マップを２値化することで、第２の２値化差分マップを生成する。そして、ディスパリティマップ統合部４０２は、第２の２値化差分マップの各値に所定の重み（例えば１６）を乗じることで、第２の差分スコアマップを生成する。
【０３４１】
さらに、ディスパリティマップ統合部４０３は、現フレームのキャリブレーション済み画像ＶＬ−２のエッジ画像を生成する。このエッジ画像は、キャリブレーション済み画像ＶＬ−２のエッジ部分（キャリブレーション済み画像ＶＬ−２に描かれた各画像の輪郭部分）を示す。ディスパリティマップ統合部４０３は、このエッジ画像を２値化することで、２値化エッジマップを生成する。そして、ディスパリティマップ統合部４０２は、２値化エッジマップの各値に所定の重み（例えば８）を乗じることで、エッジスコアマップを生成する。
【０３４２】
そして、ディスパリティマップ統合部４０３は、第２の差分スコアマップとエッジスコアマップとを統合し、ＩＩＲフィルタを掛けることで、ローカルマッチング用信頼度マップＥＭＬを生成する。ローカルマッチング用信頼度マップＥＭＬの各左側座標点の値は、第２の差分スコアマップとエッジスコアマップとの値のうち、大きい方の値を示す。
【０３４３】
このように、ディスパリティマップ統合部４０３は、グローバルマッチング部４０１により生成された視差マップＤＭ１を異なる評価手法により評価し、それらの結果を統合することで、グローバルマッチング用信頼度マップＥＭＧを生成する。同様に、ディスパリティマップ統合部４０３は、ローカルマッチング部４０２により生成された視差マップＤＭ２を異なる評価手法により評価し、それらの結果を統合することで、ローカルマッチング用信頼度マップＥＭＬを生成する。ここで、視差マップＤＭ１の評価手法と視差マップＤＭ２の評価手法とは互いに異なっている。また、評価手法によりことなる重み付けが行われている。
【０３４４】
そして、ディスパリティマップ統合部４０３は、グローバルマッチング用信頼度マップＥＭＧと、ローカルマッチング用信頼度マップＥＭＬとを対比することで、左側座標点毎に、視差マップＤＭ１と視差マップＤＭ２とのどちらの信頼度が高いかを判定する。ディスパリティマップ統合部４０３は、判定の結果に基づいて、信頼度の高い視差マップを左側座標点毎に示す視差検出用信頼度マップＥＭを生成する。
【０３４５】
図４４に、視差検出用信頼度マップＥＭの一例を示す。即ち、図４４（ａ）は、幾何キャリブレーションが行われなかった場合に生成された視差検出用信頼度マップＥＭ１を示し、図４４（ｂ）は、幾何キャリブレーションが行われた場合に生成された視差検出用信頼度マップＥＭ２を示す。領域ＥＭ１１は、視差マップＤＭ１の方が視差マップＤＭ２よりも信頼度が高い領域を示し、領域ＥＭ１２は、視差マップＤＭ２の方が視差マップＤＭ１よりも信頼度が高い領域を示す。
【０３４６】
ローカルマッチングは、上述したように、キャリブレーションの結果に依存しないので、視差検出用信頼度マップＥＭ１内の領域ＥＭ１２の方が視差検出用信頼度マップＥＭ２内の領域ＥＭ１２よりも広い。
【０３４７】
これに対し、グローバルマッチングは、本実施形態のように精度の良い幾何キャリブレーションが行われた場合には、良好な視差検出を行なうことができるので、視差検出用信頼度マップＥＭ２内の領域ＥＭ１１の方が視差検出用信頼度マップＥＭ１内の領域ＥＭ１１よりも広い。
【０３４８】
ディスパリティマップ統合部４０３は、生成された視差検出用信頼度マップに基づいて、視差マップＤＭを生成する。ここで、視差マップＤＭの各左側座標点の水平視差ｄ１は、視差マップＤＭ１及び視差マップＤＭ２のうち信頼度が高い方の値を示す。
【０３４９】
図４５は、視差検出用３による効果を説明するための図である。図４５（ａ）は、視差マップＤＭ１に基づいて生成された多視点画像ＶＶ１を示し、図４５（ｂ）は、視差マップＤＭ２に基づいて生成された多視点画像ＶＶ２を示し、図４５（ｃ）は、視差マップＤＭに基づいて生成された多視点画像ＶＶ３を示す。多視点画像ＶＶ１〜ＶＶ３には、被写体画像ＶＶ１０〜ＶＶ３０が描かれている。被写体画像ＶＶ１０〜ＶＶ３０の先端部ＶＶ１１〜ＶＶ３１は、上述したモデルが当てはまらない領域となっている。
【０３５０】
グローバルマッチングは、精度の良否がモデルに依存するので、端部ＶＶ１１が破綻している。しかし、しかし、ローカルマッチングは精度の良否がモデルに依存しないので、端部ＶＶ２１は破綻していない。視差マップＤＭは視差マップＤＭ１及び視差マップＤＭ２のうち信頼度が高い方の値を示すので、端部ＶＶ３１の領域では、視差マップＤＭ２の値を示す。したがって、端部ＶＶ３１は、視差マップＤＭ２に基づいて生成されている。このため、端部ＶＶ３１も破綻していない。
【０３５１】
［視差検出部による効果］
次に、視差検出部４による効果を説明する。
【０３５２】
視差検出部４は、ＤＳＡＤの算出の際に、ｙ軸方向の視差も考慮するので、幾何ズレ（垂直ズレ）に強い視差検出を行なうことができる。即ち、視差検出部４は、従来よりもロバスト性及び制度の高い水平視差の検出を行うことができる。また、視差検出部４は、ｙ軸方向の視差を考慮する範囲を制限するので（ここでは、基準座標点に対して上下２画素）、最適化問題の爆発が起こることを防止することができる。
【０３５３】
また、視差検出部４は、ＤＳＡＤを算出する際に、カラーキャリブレーションにおいて算出された信頼度を考慮するので、ロバスト性と精度とのバランスを考慮した視差検出を行うことができる。
【０３５４】
また、視差検出部４は、ＤＳＡＤを視差検出用ＤＰマップのスコアとするので、単にＳＡＤのみをスコアとする場合よりも、視差検出用ＤＰマップのスコアを精度良く算出することができ、ひいては、視差検出を精度良く行なうことができる。
【０３５５】
また、視差検出部４は、静動判定の結果に基づいて、視差検出用ＤＰマップの各スコアにボーナスを付与するので、視差検出用ＤＰマップのスコアを精度良く算出することができる。また、視差検出部４は、キャリブレーション済み画像ＶＬ−２の解像度を落とすことでモザイク画像Ｖ’’Ｌ−２を生成し、モザイク画像Ｖ’’Ｌ−２に基づいてモーションスコアを算出してもよい。この場合、処理負担が軽くなり、かつ、ロバストなモーションスコアが得られる。
【０３５６】
また、視差検出部４は、各ノードＰ（ｘ、ｄ）の累積コストを算出する際に、水平差分に応じた重みｗｔＬ、ｗｔＲを考慮するので、累積コストを精度良く算出することができる。この重みｗｔＬ、ｗｔＲは、エッジ部では小さくなり、平坦部では大きくなるので、スムージングが画像に応じて適切に行われるようになる。
【０３５７】
また、視差検出部４は、グローバルマッチングにより算出された視差マップＤＭ１に、ローカルマッチングにより算出された垂直視差ｄ２を含ませるので、視差マップＤＭ１の精度を向上させることができる。例えば、この視差マップＤＭ１は、入力画像ＶＬ、ＶＲのアライメントが取れていなくても、ロバストになる。
【０３５８】
また、視差検出部４は、視差マップＤＭ１とキャリブレーション済み画像ＶＬ−２とのエッジ画像の相関を示す相関マップを生成し、この相関マップに基づいて視差マップＤＭ１の信頼度を算出するので、視差マップＤＭ１のいわゆるストリーキング領域での信頼度を算出することができる。このため、視差検出部４は、ストリーキング領域において、視差検出を精度良く行うことができる。
【０３５９】
また、視差検出部４は、視差マップＤＭ１と視差マップＤＭ２とを評価する際に、それぞれ異なる評価手法にて視差マップＤＭ１と視差マップＤＭ２とを評価するので、これらの特性を考慮した評価を行うことができる。
【０３６０】
また、視差検出部４は、それぞれの評価手法により得られたマップにＩＩＲフィルタを掛けることで、グローバルマッチング用信頼度マップＥＭＧと、ローカルマッチング用信頼度マップＥＭＬとを生成するので、時間的に安定した信頼度マップを生成することができる。
【０３６１】
また、視差検出部４は、視差マップＤＭ１と視差マップＤＭ２とのうち、信頼度の高い方を用いて視差マップＤＭを生成するので、グローバルマッチングでは正確な視差が検出されにくい領域、及びローカルマッチングでは正確な視差が検出されにくい領域において、正確な視差を検出することができる。
【０３６２】
また、視差検出部４は、生成された視差マップＤＭを次フレームで考慮するので、単に複数のマッチング手法を並行して行う場合よりも、視差検出を精度良く行なうことができる。
【０３６３】
＜３．画像処理装置による処理＞
次に、画像処理装置１による処理を説明する。
【０３６４】
［カラーキャリブレーション部による処理］
まず、図４６に示すフローチャートに沿って、カラーキャリブレーション部２が行う処理について説明する。
【０３６５】
ステップＳ１０において、ブロック分割部２０７は、図８（ａ）に示すように、入力画像ＶＬを８つの画素ブロックＢＬ−１に分割する。同様に、ブロック分割部２０７は、図８（ｂ）に示すように、入力画像ＶＲを８つの画素ブロックＢＲ−１に分割する。
【０３６６】
次いで、ブロック分割部２０７は、各画素ブロックＢＬ−１、ＢＲ−１内の階調を６４階調に落とす。ブロック分割部２０７は、各画素ブロックＢＬ−１、ＢＲ−１に関するブロック情報をヒストグラム生成部２０８に出力する。
【０３６７】
次いで、ヒストグラム生成部２０８は、ブロック情報に基づいて、画素ブロックＢＬ−１毎に、図９（ａ）に示すようなカラーヒストグラムＣＨＬを生成する。同様に、ヒストグラム生成部２０８は、画素ブロックＢＲ−１毎に、図９（ｂ）に示すようなカラーヒストグラムＣＨＲを生成する。次いで、ヒストグラム生成部２０８は、カラーヒストグラムＣＨＬとカラーヒストグラムＣＨＲとを対応付ける。次いで、ヒストグラム生成部２０８は、カラーヒストグラムＣＨＬ、ＣＨＲに関するカラーヒストグラム情報を生成し、ＤＰマッチング部２０９に出力する。
【０３６８】
次いで、ＤＰマッチング部２０９は、カラーヒストグラム情報に基づいて、画素ブロックＢＬ−１、ＢＲ−１の組毎に、以下の処理を行なう。すなわち、ＤＰマッチング部２０９は、まず、図１０に示すような色対応検出用ＤＰマップを生成する。そして、ＤＰマッチング部２０９は、ノードＰ（０、０）を始点、ノードＰ（６３、６３）を終点とし、始点からノードＰ（ｎＬ、ｎＲ）に至るまでの累積コストを上記の式（１）〜（３）のように定義する。
【０３６９】
次いで、ＤＰマッチング部２０９は、始点から終点を含む各ノードまでの累積コストを計算し、最小の累積コストとなる経路を終点から始点に向かって逆にたどることで、最短経路、即ち始点から終点までの累積コストが最小となる経路を算出する。ＤＰマッチング部２０９は、画素ブロックＢＬ−１、ＢＲ−１の組毎に算出された最短経路に関する最短経路情報を生成し、カラーペア算出部２１０に出力する。
【０３７０】
次いで、カラーペア算出部２１０は、最短経路情報に基づいて、画素ブロックＢＬ−１、ＢＲ−１の組毎にカラーペアを算出する。カラーペア算出部２１０は、１つの画素ブロックＢＬ−１あたり２５０個程度のカラーペアを算出し、合計で２０００個程度のカラーペアを算出する。カラーペア算出部２１０は、算出されたカラーペアに関するカラーペア情報を生成し、線形カラーパラメータフィッティング部２０２及び非線形カラーパラメータフィッティング部２０４に出力する。
【０３７１】
ステップＳ２０において、線形カラーパラメータフィッティング部２０２は、カラーペア情報に基づいて、入力画像ＶＬの輝度と入力画像ＶＲの輝度との対応関係を示すモデル式を算出する。このモデル式は、上述した式（７）で表される。
【０３７２】
具体的には、まず、足し込み行列算出部２１１は、上述した式（８）で表される行列をすべてのカラーペアについて算出する。足し込み行列算出部２１１は、算出された行列をすべて足し込むことで、上述した式（９）で示される足し込み行列Ｍ１を算出する。
【０３７３】
次いで、足し込み行列算出部２１１は、算出された足し込み行列Ｍ１に関する足し込み行列情報を生成し、カラーペア情報と共に係数算出部２１２に出力する。
【０３７４】
次いで、係数算出部２１２は、カラーペア情報に基づいて、上述した式（１０）で表される行列をすべてのカラーペアについて算出する。係数算出部２１２は、算出された行列をすべて足し込むことで、上述した式（１１）で示される係数算出用行列Ａを算出する。
【０３７５】
次いで、係数算出部２１２は、上述した式（１２）に基づいて、カラー補正係数ｗｉ、ｗａの第１初期値ｃｏｅｆ（ｗ）１を算出する。
【０３７６】
次いで、係数算出部２１２は、算出された第１初期値ｃｏｅｆ（ｗ）１に関する第１初期値情報を生成し、フィルタ部２１３に出力する。
【０３７７】
次いで、フィルタ部２１３は、係数算出部２１２から与えられた第１初期値情報と、係数保持部２１４から与えられた前フレームの線形補正係数情報と、上述した式（１３）とに基づいて、カラー補正係数ｗｉ、ｗａの第２初期値ｃｏｅｆ（ｗ）２を算出する。
【０３７８】
次いで、フィルタ部２１３は、第２初期値ｃｏｅｆ（ｗ）２にＩＩＲフィルタを作用させることで、カラー補正係数ｗｉ、ｗａを線形補正係数ｃｏｅｆ（ｌｉｎｅａｒ）として算出する。フィルタ部２１３は、算出された線形補正係数ｃｏｅｆ（ｌｉｎｅａｒ）に関する線形補正係数情報を係数保持部２１４、非線形カラーパラメータフィッティング部２０４、評価部２０５、カラーキャリブレーション実行部２０６に出力する。
【０３７９】
一方、特徴量マッチング部２０３は、現フレームの入力画像ＶＬ、ＶＲの輝度をマッチングさせることで、カラーペアを抽出する。ついで、特徴量マッチング部２０３は、抽出されたカラーペアに関するカラーペア情報を生成し、非線形カラーパラメータフィッティング部２０４及び評価部２０５に出力する。
【０３８０】
ステップＳ３０において、非線形カラーパラメータフィッティング部２０４は、カラーペア情報と、線形補正係数情報または非線形補正係数情報とに基づいて、カラー補正係数ｗｉ、ｗａを非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）として算出する。
【０３８１】
具体的には、まず、ヤコビ行列算出部２１５は、線形補正係数情報または非線形補正係数情報と、ヒストグラムマッチング部２０１及び特徴量マッチング部２０３から与えられたカラーペア情報とに基づいて、上述した式（１４）で表されるヤコビ行列Ｊ１を算出する。そして、ヤコビ行列算出部２１５は、算出されたヤコビ行列Ｊ１に関するヤコビ行列情報を生成し、ヘッセ行列算出部２１６に出力する。
【０３８２】
次いで、ヘッセ行列算出部２１６は、ヤコビ行列算出部２１６から与えられた情報に基づいて、上述した式（１７）で示されるヘッセ行列Ｈ１を算出する。次いで、ヘッセ行列算出部２１６は、算出されたヘッセ行列Ｈ１に関するヘッセ行列情報を生成し、ヤコビ行列算出部２１５から与えられた情報と共に係数更新部２１７に出力する。
【０３８３】
次いで、係数更新部２１７は、ヘッセ行列算出部２１６から与えられた情報と、上述した式（１８）とに基づいて、カラー補正係数ｗｉ、ｗａを非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）として算出する。
【０３８４】
次いで、係数更新部２１７は、算出された非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）に関する非線形補正係数情報を生成し、非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）が一定の値に収束したかを判定する。係数更新部２１７は、非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）が収束したと判定した場合には、非線形補正係数情報を評価部２０５及びカラーキャリブレーション実行部２０６に出力し、非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）が収束していないと判定した場合には、非線形補正係数情報をヤコビ行列算出部２１５に出力する。その後、ステップＳ３０の処理が再度行われる。
【０３８５】
ステップＳ４０において、カラーコンバート部２１８は、現フレームの入力画像ＶＬ、ＶＲを取得する。カラーコンバート部２１８は、入力画像ＶＬ、ＶＲと、線形カラーパラメータフィッティング部２０２から与えられた線形補正係数情報と、に基づいて、入力画像ＶＲの輝度を補正する。カラーコンバート部２１８は、補正後の値を新たな入力画像ＶＲの輝度とする。カラーコンバート部２１８は、入力画像ＶＬと補正後の入力画像ＶＲとを線形カラーキャリブレーション済み画像ＶＬ−１ａ、ＶＲ−１ａとしてヒストグラムベース信頼度算出部２１９に出力する。
【０３８６】
次いで、ヒストグラムベース信頼度算出部２１９は、線形カラーキャリブレーション済み画像ＶＬ−１ａ、ＶＲ−１ａをそれぞれ８つの画素ブロックＢＬ−１、ＢＲ−１に分割する。そして、ヒストグラムベース信頼度算出部２１９は、輝度と、その輝度を有する画素の数（頻度）との対応関係を示す補正後カラーヒストグラムを、画素ブロックＢＬ−１、ＢＲ−１毎に生成する。
【０３８７】
次いで、ヒストグラムベース信頼度算出部２１９は、画素ブロックＢＬ−１の補正後カラーヒストグラムと、画素ブロックＢＲ−１の補正後カラーヒストグラムとの類似度を、正規化相互相関（ＮＣＣ）を用いて算出する。
【０３８８】
ヒストグラムベース信頼度算出部２１９は、画素ブロックＢＬ−１毎に類似度を算出し、これらの類似度を例えば上述した式（１６）のｅｒｒｏｒに代入することで、類似度を０〜１の範囲内の値に正規化する。そして、ヒストグラムベース信頼度算出部２１９は、正規化された値を線形補正係数ｃｏｅｆ（ｌｉｎｅａｒ）の信頼度とする。そして、ヒストグラムベース信頼度算出部２１９は、算出された各画素ブロックＢＬ−１の信頼度に関する線形補正係数信頼度情報を生成し、信頼度マップ生成部２２１に出力する。
【０３８９】
一方、特徴点ベース信頼度算出部２２０は、特徴量マッチング部２０３から与えられたカラーペア情報に基づいて、入力画像ＶＬ内の特徴点を８つの画素ブロックＢＬ−１にそれぞれ分類する。そして、特徴点ベース信頼度算出部２２０は、非線形カラーパラメータフィッティング部２０４から与えられた非線形補正係数情報に基づいて、画素ブロックＢＬ−１毎に非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）の信頼度を算出する。特徴点ベース信頼度算出部２２０は、算出された各画素ブロックＢＬ−１の信頼度に関する非線形補正係数信頼度情報を生成し、信頼度マップ生成部２２１に出力する。
【０３９０】
次いで、信頼度マップ生成部２２１は、ヒストグラムベース信頼度算出部２１９及び特徴点ベース信頼度算出部２２０から与えられた情報に基づいて、カラーキャリブレーション用信頼度マップを生成する。そして、信頼度マップ生成部２２１は、生成されたカラーキャリブレーション用信頼度マップに関する信頼度マップ情報を生成し、カラーキャリブレーション実行部２０６及び視差検出部４に出力する。
【０３９１】
ステップＳ５０において、カラーキャリブレーション実行部２０６は、現フレームの入力画像ＶＬ、ＶＲを取得する。さらに、カラーキャリブレーション実行部２０６は、信頼度マップ情報に基づいて、画素ブロックＢＬ−１毎にどちらの補正係数を使用するかを決定する。そして、カラーキャリブレーション実行部２０６は、線形補正係数情報と、非線形補正係数情報とに基づいて、画素ブロックＢＬ−１毎にカラーキャリブレーションを実行する。
【０３９２】
［幾何キャリブレーション部による処理］
次に、幾何キャリブレーション部３による処理の手順を、図４７に示すフローチャートに沿って説明する。
【０３９３】
ステップＳ６０において、特徴量マッチング部３０１は、カラーキャリブレーション済み画像ＶＬ−１、ＶＲ−１の輝度をマッチングさせることで、特徴量ベクトルＶＥ１を算出する。次いで、特徴量マッチング部３０１は、画素ブロックＢＬ−２、ＢＲ−２及び特徴量ベクトルＶＥ１に関する特徴量ベクトル情報を生成し、対応点リファインメント部３０２及び非線形幾何パラメータフィッティング部３０４に出力する。
【０３９４】
ステップＳ７０において、ヒストグラム生成部３０７は、特徴量ベクトル情報に基づいて、特徴量ベクトルＶＥ１の成分毎の頻度を示すベクトル成分ヒストグラムを画素ブロックＢＬ−２毎に生成する。ヒストグラム生成部３０７は、ベクトル成分ヒストグラムに関するベクトル成分ヒストグラム情報を生成し、フィルタ部３０８に出力する。
【０３９５】
次いで、フィルタ部３０８は、ベクトル成分ヒストグラム情報にガウシアンフィルタを複数回作用させることで、ベクトル成分ヒストグラムを平滑化させる。フィルタ部３０８は、平滑化されたベクトル成分ヒストグラムに関する平滑化ヒストグラム情報を生成し、最大頻度検出部３０９及び対応点選択部３１１に出力する。
【０３９６】
次いで、最大頻度検出部３０９は、平滑化ヒストグラム情報に基づいて、各ベクトル成分ヒストグラムから、頻度が最大となるｘ成分、ｙ成分を特定する。そして、このようなｘ成分、ｙ成分を有する特徴量ベクトルＶＥ１を、当該特徴量ベクトルＶＥ１が属する画素ブロックＢＬ−２の代表ベクトルＶＥ２とする。これにより、最大頻度検出部３０９は、画素ブロックＢＬ−２毎に代表ベクトルＶＥ２を算出する。最大頻度検出部３０９は、代表ベクトルＶＥ２の成分に関する代表ベクトル成分情報を生成し、座標付与部３１０に出力する。
【０３９７】
次いで、座標付与部３１０は、代表ベクトル成分情報に基づいて、各代表ベクトルＶＥ２の座標（始点の座標）をミーンシフト処理により決定する。そして、座標付与部３１０は、代表ベクトルＶＥ２の成分及び座標に関する代表ベクトル情報を生成し、対応点選択部３１１に出力する。
【０３９８】
次いで、対応点選択部３１１は、代表ベクトル情報及び平滑化ヒストグラム情報に基づいて、複数の代表ベクトルＶＥ２のうち、最大頻度が所定値未満となるものを消去する（すなわち、足切りを行なう）。そして、対応点選択部３１１は、選択された代表ベクトルＶＥ２を構成する特徴点ペア、すなわち代表点ペアに関する対応点選択情報を生成し、線形幾何パラメータフィッティング部３０３に出力する。
【０３９９】
ステップＳ８０において、エラー計算部３１５は、対応点選択情報と、パラメータ選択部３０５から与えられたパラメータ情報とに基づいて、上述した式（３２）、（３３）に示されるエラー値ｅ１、ｅ２を算出する。次いで、エラー計算部３１５は、算出されたエラー値ｅ１、ｅ２に関するエラー値情報を生成し、対応点選択情報と共に初期パラメータ選択部３１６に出力する。また、エラー計算部３１５は、エラー値のうち、値が小さいものを選択し、選択されたエラー値に関する最小エラー値情報を生成する。そして、エラー計算部３１５は、最小エラー値情報及び対応点選択情報を重み算出部３１３に出力する。
【０４００】
次いで、初期パラメータ選択部３１６は、エラー値情報に基づいて、初期パラメータとして前フレームのホモグラフィー行列ＨＬｎ−１、ＨＲｎ−１及び単位行列Ｉのうちどちらを使用するのかを決定する。具体的には、初期パラメータ選択部３１６は、エラー値が小さい方の行列を初期パラメータのホモグラフィー行列とする。
【０４０１】
次いで、初期パラメータ選択部３１６は、選択された初期パラメータに関する初期パラメータ情報を生成し、線形幾何パラメータ算出部３１４に出力する。また、初期パラメータ選択部３１６は、対応点選択情報を座標ペア保持部３１７及び座標ペア統合部３１８に出力する。また、初期パラメータ選択部３１６は、初期パラメータとして単位行列を選択した場合には、リセット情報を座標ペア保持部３１７に出力する。
【０４０２】
次いで、座標ペア統合部３１８は、初期パラメータ選択部３１６及び座標ペア保持部３１７から与えられた対応点選択情報を統合する。座標ペア統合部３１８は、統合された対応点選択情報を重み算出部３１３及び線形幾何パラメータ算出部３１４に出力する。
【０４０３】
次いで、重み算出部３１３は、変換行列Ｆの算出の際に時間軸拘束をどの程度考慮するかを示す重み、即ち時間軸拘束の重みｗｅを算出する。重み算出部３１３は、決定された時間軸拘束の重みｗｅに関する時間軸拘束重み情報を生成し、線形幾何パラメータ算出部３１４に出力する。
【０４０４】
次いで、座標変換部３１９は、初期化部３１５から与えられた情報に基づいて、各代表点ペアを座標変換する。具体的には、座標変換部３１９は、左側代表点を前フレームのホモグラフィー行列ＨＬｎ−１または単位行列Ｉで座標変換し、右側代表点を前フレームのホモグラフィー行列ＨＲｎ−１または単位行列Ｉで座標変換する。次いで、座標変換部３１９は、座標変換後の代表点ペアの座標及び初期パラメータを正規化する。次いで、座標変換部３１９は、各代表点ペアの正規化座標及び正規化ホモグラフィー行列ＷＬ、ＷＲに関する座標変換情報を生成し、マトリックス算出部３２０に出力する。
【０４０５】
次いで、マトリックス算出部３２０は、座標変換情報に基づいて、上述した式（３４）で表される演算行列Ｍ２を算出する。マトリックス算出部３２０は、算出された演算行列Ｍ２に関する演算行列情報を生成し、Ｆ行列算出部３２１に出力する。
【０４０６】
次いで、Ｆ行列算出部３２１は、演算行列情報に基づいて、演算行列Ｍ２の最小固有ベクトルｖｍｉｎを算出する。さらに、Ｆ行列算出部３２１は、最小固有ベクトルｖｍｉｎの最小特異値が０に落ちるように、最小固有ベクトルｖｍｉｎを３×３の行列に特異値分解する。そして、Ｆ行列算出部３２１は、算出された行列ＳＶＤ（ｖｍｉｎ）と、上述した式（３６）とに基づいて、変換行列Ｆを算出する。さらに、Ｆ行列算出部３２１は、重みｗｅの値をいくつかの値、例えば２２×ｗｅ、２×ｗｅ、２−１×ｗｅ、２−２×ｗｅに振って、変換行列Ｆを算出する。そして、Ｆ行列算出部３２１は、算出された変換行列Ｆの各々について、上述した式（３２）を用いてエラー値を算出する。そして、Ｆ行列算出部３２１は、エラー値の最も小さいものを選択し、選択された変換行列Ｆに関する変換行列情報を生成し、座標変換情報と共にＦ行列分解部３２２に出力する。
【０４０７】
次いで、Ｆ行列分解部３２２は、変換行列情報に基づいて、変換行列Ｆをホモグラフィー行列ＨＬ、ＨＲ、行列Ｆ０に分解する。実質的には、Ｆ行列分解部３２２は、エピポーラ線を平行にする行列をホモグラフィー行列ＨＬ、ＨＲとして算出する。次いで、Ｆ行列分解部３２２は、算出されたホモグラフィー行列ＨＬ、ＨＲに関する線形補正係数情報を生成し非線形幾何パラメータフィッティング部３０４及びパラメータ選択部３０５に出力する。
【０４０８】
ステップＳ９０において、ヤコビ行列算出部３２３は、特徴量ベクトル情報と、線形補正係数情報または非線形補正係数情報とに基づいて、上述した式（４３）で表されるヤコビ行列Ｊ２を算出する。そして、ヤコビ行列算出部３２３は、算出されたヤコビ行列Ｊ２に関するヤコビ行列情報を生成し、特徴量ベクトル情報及び線形補正係数情報と共にヘッセ行列算出部３２４に出力する。そして、ヤコビ行列算出部３２３は、算出されたヤコビ行列Ｊ２に関するヤコビ行列情報を生成し、ヘッセ行列算出部３２４に出力する。
【０４０９】
次いで、ヘッセ行列算出部３２４は、ヤコビ行列算出部３２３から与えられた情報に基づいて、上述した式（４５）で示されるヘッセ行列Ｈ２を算出する。次いで、ヘッセ行列算出部３２４は、算出されたヘッセ行列Ｈ２に関するヘッセ行列情報を生成し、ヤコビ行列算出部３２３から与えられた情報と共に係数更新部３２５に出力する。
【０４１０】
次いで、係数更新部３２５は、ヘッセ行列算出部３２４から与えられた情報と、上述した式（４６）とに基づいて、変換行列Ｆの各成分を非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）として算出する。
【０４１１】
次いで、係数更新部３２５は、非線形補正係数ｃｏｅｆ（ｎｏｎｌｉｎｅａｒ）を上述したＦ行列分解部３２２の処理と同様の処理により分解することでホモグラフィー行列ＨＬ、ＨＲを算出する。そして、係数更新部３２５は、算出されたホモグラフィー行列ＨＬ、ＨＲに関する非線形補正係数情報を生成する。そして、係数更新部３２５は、ホモグラフィー行列ＨＬ、ＨＲが一定の値に収束したかを判定し、ホモグラフィー行列ＨＬ、ＨＲが一定の値に収束した場合には、非線形補正係数情報をパラメータ選択部３０６に出力し、ホモグラフィー行列ＨＬ、ＨＲが収束していないと判定した場合には、非線形補正係数情報をヤコビ行列算出部３２３に出力する。その後、ステップＳ９０の処理が再度行われる。
【０４１２】
ステップＳ１００において、図１６に示すパラメータ選択部３０５は、線形幾何パラメータフィッティング部３０３から与えられた線形補正係数情報と、非線形幾何パラメータフィッティング部３０４から与えられた非線形補正係数情報とのそれぞれについて、上述した式（３２）を用いて、エラー値を算出する。そして、パラメータ選択部３０５は、エラー値が小さい方の情報をパラメータ情報として選択し、幾何キャリブレーション実行部３０６及び線形幾何パラメータフィッティング部３０３に出力する。
【０４１３】
ステップＳ１１０において、幾何キャリブレーション実行部３０６は、パラメータ情報に基づいて、カラーキャリブレーション済み画像ＶＬ−１、ＶＲ−１に対して幾何キャリブレーションを行なう。具体的には、幾何キャリブレーション実行部３０６は、カラーキャリブレーション済み画像ＶＬ−１の各座標点をホモグラフィー行列ＨＬで座標変換し、カラーキャリブレーション済み画像ＶＲ−１の各座標点をホモグラフィー行列ＨＲで座標変換する。幾何キャリブレーション実行部３０６は、幾何キャリブレーション後の各画像をそれぞれキャリブレーション済み画像ＶＬ−２、ＶＲ−２として、図５に示す視差検出部４に出力する。
【０４１４】
［視差検出部による処理］
次に、視差検出部４による処理の手順を、図４８に示すフローチャートに沿って説明する。
【０４１５】
ステップＳ１２０において、ＤＳＡＤ算出部４０４は、キャリブレーション済み画像ＶＬ−２、ＶＲ−２と、カラーキャリブレーション部２から与えられた信頼度マップ情報と基づいて、左側座標点及び水平視差ｄ１毎にＤＳＡＤ（−２）〜ＤＳＡＤ（＋２）を算出し、算出されたＤＳＡＤ（−２）〜ＤＳＡＤ（＋２）に関するＤＳＡＤ情報を生成し、最小値選択部４０５に出力する。
【０４１６】
ステップＳ１３０において、最小値選択部４０５は、ＤＳＡＤ情報に基づいて、すべての左側座標点及び水平視差ｄ１について、最小のＤＳＡＤを選択する。そして、最小値選択部４０５は、選択されたＤＳＡＤを図４３に示す視差検出用ＤＰマップの各ノードＰ（ｘ、ｄ）に格納する。
【０４１７】
一方、水平差分算出部４１１は、キャリブレーション済み画像ＶＬ−２を取得し、キャリブレーション済み画像ＶＬ−２の画素、即ち左側座標点毎に水平差分ｄｘを算出し、算出された水平差分ｄｘに関する水平差分情報を生成し、フィルタ部４１４に出力する。
【０４１８】
一方、垂直差分算出部４１２は、キャリブレーション済み画像ＶＬ−２を取得し、キャリブレーション済み画像ＶＬ−２の画素、即ち左側座標点毎に垂直差分ｄｙを算出し、算出された垂直差分ｄｙに関する垂直差分情報を生成し、フィルタ部４１４に出力する。
【０４１９】
一方、時間差分算出部４１３は、キャリブレーション済み画像ＶＬ−２と、前フレームのキャリブレーション済み画像Ｖ’Ｌ−２とを取得し、キャリブレーション済み画像ＶＬ−２の画素、即ち左側座標点毎に時間差分ｄｔを算出し、算出された時間差分ｄｔに関する時間差分情報を生成し、フィルタ部４１４に出力する。
【０４２０】
次いで、フィルタ部４１４は、水平差分情報、垂直差分情報、及び時間差分情報にローパスフィルタを掛ける。その後、フィルタ部４１４は、これらの情報をモーションスコア算出部４１５に出力する。
【０４２１】
次いで、モーションスコア算出部４１５は、水平差分情報、垂直差分情報、及び時間差分情報に基づいて、左側座標点毎に静動判定を行い、この結果に応じたモーションスコアを決定する。モーションスコア算出部４１５は、モーションスコアに関するモーションスコア情報をアンカーベクトル構築部４０７に出力する。モーションスコアは、左側座標点の輝度の変動が激しくなるほど（即ち、画像の動きが激しくなるほど）小さくなる。
【０４２２】
次いで、ローカルヒストグラム作成部４１６は、前フレームで作成された視差マップＤＭｎ−１を取得する。ローカルヒストグラム作成部４１６は、視差マップの座標点（これらの座標点は、左側座標点に対応する）毎に図４１に示すローカルヒストグラムＤＨを生成する。ローカルヒストグラム作成部４１６は、ローカルヒストグラムＤＨに関するローカルヒストグラム情報を生成し、アンカーベクトル算出部４１７に出力する。
【０４２３】
次いで、アンカーベクトル算出部４１７は、ローカルヒストグラム情報に基づいて、左側座標点毎に以下の処理を行なう。即ち、アンカーベクトル算出部４１７は、図４１に示すように、頻度が所定の閾値Ｔｈ２以上となる水平視差ｄ１、即ち高頻度視差ｄ１’を検索する。アンカーベクトル算出部４１７は、モーションスコアに所定値を乗じたボーナス値と、高頻度視差ｄ１’とを示すアンカーベクトル情報を生成し、コスト算出部４０８に出力する。
【０４２４】
ステップＳ１４０において、図４８に示すコスト算出部４０８は、アンカーベクトル情報に基づいて、視差検出用ＤＰマップの各ノードＰ（ｘ、ｄ）の値を更新する。即ち、コスト算出部４０８は、左側座標点毎に、高頻度視差ｄ１’に対応するノード（ｘ、ｄ（＝ｄ’））を特定し、このノードのスコアから、ボーナス値α２を減算する。
【０４２５】
ステップＳ１５０において、左目用画像水平差分算出部４１８は、上述した水平差分算出部４１１と同様の処理を行なう。そして、左目用画像水平差分算出部４１８は、この処理により生成された水平差分情報を重み算出部４２０に出力する。
【０４２６】
一方、右目用画像水平差分算出部４１９は、キャリブレーション済み画像ＶＲ−２を取得する。そして、右目用画像水平差分算出部４１９は、キャリブレーション済み画像ＶＲ−２に対して上述した水平差分算出部４１１と同様の処理を行なう。そして、右目用画像水平差分算出部４１９は、この処理により生成された水平差分情報を重み算出部４２０に出力する。
【０４２７】
次いで、重み算出部４２０は、水平差分情報に基づいて、左側座標点の重みｗｔＬ、右側座標点のｗｔＲをすべての座標点について算出する。重み算出部４２０は、算出された重みｗｔＬ、ｗｔＲに関する重み情報を生成し、経路算出部４２１に出力する。重みｗｔＬ、ｗｔＲは画像のエッヂ（輪郭）の部分で小さくなる。
【０４２８】
次いで、経路算出部４２１は、重み算出部４２０から与えられた重み情報に基づいて、視差検出用ＤＰマップの各ノードＰ（ｘ、ｄ）に至るまでの累積コストを計算する。具体的には、経路算出部４２１は、ノード（０、０）を始点、ノード（ｘｍａｚ、０）を終点とし、始点からノードＰ（ｘ、ｄ）に至るまでの累積コストを上述した式（６８）〜（７０）のように定義する。
【０４２９】
次いで、経路算出部４２１は、算出された累積コストＤＦＩ（ｘ、ｄ）０〜ＤＦＩ（ｘ、ｄ）２のうち、最小のものを選択し、選択されたものをノードＰ（ｘ、ｄ）の累積コストＤＦＩ（ｘ、ｄ）とする。経路算出部４２１は、すべてのノードＰ（ｘ、ｄ）について累積コストＤＦＩ（ｘ、ｄ）を算出し、視差検出用ＤＰマップに格納する。
【０４３０】
次いで、バックトラック部４１０は、累積コストが最小となる経路を終点から始点に向かって逆にたどることで、最短経路、即ち始点から終点までの累積コストが最小となる経路を算出する。
【０４３１】
一方、ローカルマッチング部４０２は、視差マップＤＭ２を生成し、生成された視差マップＤＭ２に関する視差マップ情報をディスパリティマップ統合部４０３に出力する。さらに、ローカルマッチング部４０２は、垂直視差ｄ２に関する垂直視差情報を生成し、グローバルマッチング部４０１に出力する。
【０４３２】
ステップＳ１６０において、バックトラック部４１０は、算出された最短経路と、ローカルマッチング部４０２から与えられた垂直視差情報とに基づいて、視差マップＤＭ１を生成する。バックトラック部４１０は、生成された視差マップＤＭ１に関する視差マップ情報を生成し、図３７に示すディスパリティマップ統合部４０３に出力する。
【０４３３】
ステップＳ１７０において、ディスパリティマップ統合部４０３は、まず、視差マップ情報に基づいて、グローバルマッチング部４０１が生成した視差マップＤＭ１、及びローカルマッチング部４０２が生成した視差マップＤＭ２を評価する。即ち、ディスパリティマップ統合部４０３は、グローバルマッチング部４０１により生成された視差マップＤＭ１を異なる評価手法により評価し、それらの結果を統合することで、グローバルマッチング用信頼度マップＥＭＧを生成する。同様に、ディスパリティマップ統合部４０３は、ローカルマッチング部４０２により生成された視差マップＤＭ２を異なる評価手法により評価し、それらの結果を統合することで、ローカルマッチング用信頼度マップＥＭＬを生成する。
【０４３４】
次いで、ディスパリティマップ統合部４０３は、グローバルマッチング用信頼度マップＥＭＧと、ローカルマッチング用信頼度マップＥＭＬとを対比することで、左側座標点毎に、視差マップＤＭ１と視差マップＤＭ２とのどちらの信頼度が高いかを判定する。ディスパリティマップ統合部４０３は、判定の結果に基づいて、信頼度の高い視差マップを左側画素ブロック毎に示す視差検出用信頼度マップＥＭを生成する。
【０４３５】
ディスパリティマップ統合部４０３は、生成された視差検出用信頼度マップに基づいて、視差マップＤＭを生成する。ここで、視差マップＤＭの各左側座標点の水平視差ｄ１は、視差マップＤＭ１及び視差マップＤＭ２のうち信頼度が高い方の値を示す。
【０４３６】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０４３７】
１  裸眼立体視表示装置
２  カラーキャリブレーション部
３  幾何キャリブレーション部
４  視差検出部
２０１  ヒストグラムマッチング部
２０２  線形カラーパラメータフィッティング部
２０３  特徴量マッチング部
２０４  非線形カラーパラメータフィッティング部
２０５  評価部
２０６  カラーキャリブレーション実行部
３０１  特徴量マッチング部
３０２  対応点リファインメント部
３０３  線形幾何パラメータフィッティング部
３０４  非線形幾何パラメータフィッティング部
３０５  パラメータ選択部
３０６  幾何キャリブレーション実行部
４０１  グローバルマッチング部
４０２  ローカルマッチング部
４０３  ディスパリティマップ統合部
４０４  ＤＳＡＤ算出部
４０５  最小値選択部
４０６  モーション記述部
４０７  アンカーベクトル構築部
４０８  コスト算出部
４０９  経路構築部
４１０  バックトラック部
【図１】
2012203851.tif 000059
【図２】
2012203851.tif 000060
【図３】
2012203851.tif 000061
【図４】
2012203851.tif 000062
【図５】
2012203851.tif 000063
【図６】
2012203851.tif 000064
【図７】
2012203851.tif 000065
【図８】
2012203851.tif 000066
【図９】
2012203851.tif 000067
【図１０】
2012203851.tif 000068
【図１１】
2012203851.tif 000069
【図１２】
2012203851.tif 000070
【図１３】
2012203851.tif 000071
【図１４】
2012203851.tif 000072
【図１５】
2012203851.tif 000073
【図１６】
2012203851.tif 000074
【図１７】
2012203851.tif 000075
【図１８】
2012203851.tif 000076
【図１９】
2012203851.tif 000077
【図２０】
2012203851.tif 000078
【図２１】
2012203851.tif 000079
【図２２】
2012203851.tif 000080
【図２４】
2012203851.tif 000081
【図２５】
2012203851.tif 000082
【図２６】
2012203851.tif 000083
【図２７】
2012203851.tif 000084
【図２８】
2012203851.tif 000085
【図２９】
2012203851.tif 000086
【図３０】
2012203851.tif 000087
【図３１】
2012203851.tif 000088
【図３２】
2012203851.tif 000089
【図３３】
2012203851.tif 000090
【図３４】
2012203851.tif 000091
【図３５】
2012203851.tif 000092
【図３６】
2012203851.tif 000093
【図３７】
2012203851.tif 000094
【図３８】
2012203851.tif 000095
【図３９】
2012203851.tif 000096
【図４０】
2012203851.tif 000097
【図４１】
2012203851.tif 000098
【図４２】
2012203851.tif 000099
【図４３】
2012203851.tif 000100
【図４５】
2012203851.tif 000101
【図４６】
2012203851.tif 000102
【図４７】
2012203851.tif 000103
【図４８】
2012203851.tif 000104
【図２３】
2012203851.tif 000105
【図４４】
2012203851.tif 000106