(57)【特許請求の範囲】
【請求項１】
二つの視点から得られた画像間の画像ずれとしての視差を算出する視差算出装置において、
前記画像それぞれを複数の領域に分割する画像分割部と、
該画像分割部により分割された領域毎に二つの視点を結ぶ方向に垂直な方向における前記画像間の画像ずれ量を算出し、画像ずれ量に対応する補正量を決定する補正量決定部と、
該補正量決定部により決定された補正量に基づき前記領域毎に画像を補正し、補正された画像に基づき視差を算出する視差算出部と
を備えることを特徴とする視差算出装置。
【請求項２】
前記補正量決定部に補正量の決定を指示する補正指示部を更に備え、
前記補正量決定部は、該補正指示部からの指示に従って補正量を決定するようにしてある
ことを特徴とする請求項１に記載の視差算出装置。
【請求項３】
前記補正指示部は、前記画像が動画像データである場合に、所定数のフレームを取得する度に、前記補正量決定部に補正量の決定を指示するようにしてある
ことを特徴とする請求項２に記載の視差算出装置。
【請求項４】
前記補正指示部は、映像シーンの切り替えを検知し、映像シーンの切り替えを検知した場合、前記補正量決定部に補正量の決定を指示するようにしてある
ことを特徴とする請求項２に記載の視差算出装置。
【請求項５】
前記補正指示部は、加速度を検出し、所定の閾値以上の加速度を検出した場合、前記補正量決定部に補正量の決定を指示するようにしてある
ことを特徴とする請求項２に記載の視差算出装置。
【請求項６】
前記各領域の補正量を記憶する記憶部を更に備え、
前記補正量決定部は、該記憶部に記憶されている過去の補正量に基づき補正量を決定するようにしてある
ことを特徴とする請求項１から５のいずれか１項に記載の視差算出装置。
【請求項７】
前記領域毎の画像ずれの方向が同一方向である場合、
前記視差算出部は、領域毎に算出された画像ずれ量の中から最小値を選択し、該最小値に従い画像全体を補正してから、領域毎に画像を補正するようにしてある
ことを特徴とする請求項１から６のいずれか１項に記載の視差算出装置。
【請求項８】
前記画像分割部は、大きさが異なるように領域を分割することを特徴とする請求項１から７のいずれか１項に記載の視差算出装置。
【請求項９】
前記画像分割部は、前記画像の中央部分の領域が大きく、前記画像の周辺部分の領域が小さくなるように分割するようにしてある
ことを特徴とする請求項８に記載の視差算出装置。
【請求項１０】
前記補正量決定部が決定した前記各領域の補正量に基づいて、隣接する領域間における補正量の差分を算出する差分算出部を備え、
前記画像分割部は、該差分算出部が算出した領域間における差分が所定の閾値以上である場合、該領域各々を更に分割するようにしてある
ことを特徴とする請求項１から７のいずれか１項に記載の視差算出装置。
【請求項１１】
前記画像分割部は、前記差分算出部が算出した差分に応じて隣接する前記領域各々を分割する分割数を決定し、決定した分割数で更に分割するようにしてある
ことを特徴とする請求項１０に記載の視差算出装置。
【請求項１２】
請求項１から１１のいずれか１項に記載の視差算出装置と、
該視差算出装置により算出された視差に基づき、前記視点及び被写体間の距離を算出する距離算出部と
を備えることを特徴とする距離算出装置。
【請求項１３】
二つの視点から得られた画像それぞれを複数の領域に分割する画像分割ステップと、
該画像分割ステップにより分割された領域毎に二つの視点を結ぶ方向に垂直な方向における前記画像間の画像ずれ量を算出し、画像ずれ量に対応する補正量を決定する補正量決定ステップと、
該補正量決定ステップにより決定された補正量に基づき前記領域毎に画像を補正し、補正された画像に基づき、前記二つの視点から得られた画像間の視差を算出する視差算出ステップと
を含むことを特徴とする視差算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のカメラで被写体を撮影し、各カメラ画像から視差を算出する視差算出装置、カメラ及び被写体間の距離を算出する距離算出装置及び視差算出方法に関する。
【背景技術】
【０００２】
複数の視点から同一被写体をカメラで撮像して得られる複数の画像に基づいて立体画像又は自由視点画像を生成する撮像システムが知られている。この撮像システムでは、画像間の相対的なずれ量である視差から三角測量の原理を用いて被写体の距離情報（奥行き情報）を算出し、その距離情報に基づき、任意の仮想視点から見た画像を生成する処理が行われる。
【０００３】
２つの画像間の視差を算出する場合、一般的に、２つの画像間における対応点の検出が行われる。対応点を検出する方法としては、例えば、差分絶対値和（SAD：Sum Of Absolute Difference）を用いたＳＡＤ法又は差分二乗和（SSD:Sum of Squared Difference）を用いたＳＳＤ法が知られている。これらの方法では、先ず、２つの画像の内、一方の画像を基準画像とし、他方の画像を参照画像とする。また、基準画像内の注目点に対して、この注目点を含む領域を設定し、参照画像内にもその領域と同じ大きさの領域を複数設定する。そして、基準画像内の領域と、参照画像内の各領域との間の相関度をブロックマッチングにより求め、相関度が最も高い参照画像内の領域の中心点を当該注目点に対応する対応点として検出する。対応点の検出は、エピポーラ線上を探索することにより行われる。エピポーラ線とは、２つの視点及び空間中又は物体上の対象点を含む平面であるエピポーラ面が、それぞれの画像と交わった直線である。
【０００４】
図２３は、エピポーラ面とエピポーラ線を示す模式図である。
空間中の対象点３を左カメラである第一カメラ１及び右カメラである第二カメラ２により撮影した場合を例にして説明する。この場合、エピポーラ線７及び８は、空間中の対象点３及び２つの視点（第一カメラ１及び第二カメラ２それぞれのレンズの中心）の３点と、それらを結ぶ３つの線分からなる三角形の平面（エピポーラ平面）４と、第一カメラ１が撮影した画像平面５及び第二カメラ２が撮影した画像平面６との交線のことである。一方の画像内の注目点に対応する他方の画像内の対応点はエピポーラ線上に存在するためエピポーラ線上を探索すれば対応点を検出できる。
図２４Ａ，Ｂは、第一カメラ１及び第二カメラ２の光軸が平行になるように第一カメラ１及び第二カメラ２を配置した場合を示す模式図である。この場合、エピポーラ線７及び８は両画像面において同じ高さの水平な直線になるため、両画像において同一ライン上で対応点を探索すればよい。
【０００５】
しかし、２台のカメラの取り付け精度、あるいはレンズの歪み等により２つの画像間に画像ずれが生じる場合があり、各カメラにおけるエピポーラ線は、２つの画像内において同一ラインになるとは限らない。ずれが大きい場合、対応点を見つけることができず、正確な視差が算出できない領域が増える。正確に視差を算出するためには画像ずれを補正する必要があるが、例えば画面全体を移動して調整するといった単純な方法は補正の精度が低く、カメラの取り付け精度又はレンズの歪み等に起因した画像ずれを十分に補正することができない。
【０００６】
一方、特許文献１には、画像の回転ずれ又は並進ずれを幾何学的な座標変換であるアフィン変換を用いてリアルタイムで補正する装置が記載されている。また、特許文献２には、一方の画像内の第１のパターンと相関が最も高い第２のパターンを他方の画像内の複数の水平及び垂直ライン中から検出し、第１及び第２のパターンの第１及び第２の位置情報から視差を算出する装置が記載されている。この装置によれば、画像内の水平ライン及び垂直ライン上で対応点の探索を行うため、画像全体を補正しなくとも、画像ずれによる誤測距を防止することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１-８２９５５号公報
【特許文献２】特開２００３-４４４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
画像表示装置の解像度が高まるのに伴いカメラの解像度も高まっている。そのため高解像度画像に関しても精度の高い視差を算出する必要がある。しかし、特許文献１に記載の装置にあっては、画像全体に対して補正が行われるため、高解像度画像に対する補正に要する計算量は大きい。
【０００９】
特許文献２に記載の装置にあっては、画像に対して水平方向及び垂直方向の探索を行っているため、画素数が多い高解像度画像の場合、低解像度画像の場合と比べて視差が大きくなり、それに伴い対応点の探索範囲が広まる。つまり、画像の解像度が上がるにつれて対応点の探索範囲が広まり、対応点探索に要する計算量は膨大になる。
【００１０】
本発明は、斯かる事情に鑑みてなされたものであり、画像を複数の領域に分割し、領域毎に画像ずれを補正することにより、正確な視差を簡易に算出する視差算出装置、その正確な視差に基づきカメラ及び被写体間の距離を算出する距離算出装置及び視差算出方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の視差算出装置は、二つの視点から得られた画像間の画像ずれとしての視差を算出する視差算出装置において、前記画像それぞれを複数の領域に分割する画像分割部と、該画像分割部により分割された領域毎に二つの視点を結ぶ方向に垂直な方向における前記画像間の画像ずれ量を算出し、画像ずれ量に対応する補正量を決定する補正量決定部と、該補正量決定部により決定された補正量に基づき前記領域毎に画像を補正し、補正された画像に基づき視差を算出する視差算出部とを備えることを特徴とする。
【００１２】
本発明によれば、画像を複数の領域に分割し、垂直方向の画像ずれの補正を領域毎に行うため、正確な視差を簡易に算出することができる。
【００１３】
本発明の視差算出装置は、前記補正量決定部に補正量の決定を指示する補正指示部を更に備え、前記補正量決定部は、該補正指示部からの指示に従って補正量を決定するようにしてあることを特徴とする。
【００１４】
本発明によれば、外部条件に応じて適切なタイミングで画像ずれを補正することができる。
【００１５】
本発明の視差算出装置にあっては、前記補正指示部は、前記画像が動画像データである場合に、所定数のフレームを取得する度に、前記補正量決定部に補正量の決定を指示するようにしてあることを特徴とする。
【００１６】
本発明によれば、視差算出のための処理量を少なくすることができ、消費電力を削減することができる。
【００１７】
本発明の視差算出装置にあっては、前記補正指示部は、映像シーンの切り替えを検知し、映像シーンの切り替えを検知した場合、前記補正量決定部に補正量の決定を指示するようにしてあることを特徴とする。
【００１８】
本発明によれば、画像ずれ量が変わる映像シーンの切り替わり時に補正量を決定することができる。
【００１９】
本発明の視差算出装置にあっては、前記補正指示部は、加速度を検出し、所定の閾値以上の加速度を検出した場合、前記補正量決定部に補正量の決定を指示するようにしてあることを特徴とする。
【００２０】
本発明によれば、撮影シーンの変更又は外部からの衝撃等によりカメラが移動した場合の画像ずれを補正することができる。
【００２１】
本発明の視差算出装置は、前記各領域の補正量を記憶する記憶部を更に備え、前記補正量決定部は、該記憶部に記憶されている過去の補正量に基づき補正量を決定するようにしてあることを特徴とする。
【００２２】
本発明によれば、補正量を決定する処理を軽減できる。
【００２３】
本発明の視差算出装置は、前記領域毎の画像ずれの方向が同一方向である場合、前記視差算出部は、領域毎に算出された画像ずれ量の中から最小値を選択し、該最小値に従い画像全体を補正してから、領域毎に画像を補正するようにしてあることを特徴とする。
【００２４】
本発明によれば、領域毎の画像ずれの方向が同一方向である場合、最小の画像ずれ量に基づいて全領域に対する補正を行うことにより領域毎の画像ずれ量を減らしているため、視差を算出する際の対応点探索範囲を狭めることができ、そのための計算量を減らすことができる。
【００２５】
本発明の視差算出装置は、前記画像分割部は、大きさが異なるように領域を分割するようにしてあることを特徴とする。
【００２６】
本発明によれば、画像ずれ量が画像内の場所によって大きく異なるような場合であって、画像内の場所によって異なる大きさの領域を設定するため、画像ずれ量の大きさに応じ、きめ細かく補正を行うことができる。
【００２７】
本発明の視差算出装置は、前記画像分割部は、前記画像の中央部分の領域が大きく、前記画像の周辺部分の領域が小さくなるように分割するようにしてあることを特徴とする。
【００２８】
本発明によれば、レンズの歪みにより画像ずれ量が大きくなる画像周辺部分においては領域を小さくしているため、きめ細かく補正を行うことができ、精度の高い視差を得ることができる。
【００２９】
本発明の視差算出装置は、前記補正量決定部が決定した前記各領域の補正量に基づいて、隣接する領域間における補正量の差分を算出する差分算出部を備え、前記画像分割部は、該差分算出部が算出した領域間における差分が所定の閾値以上である場合、該領域各々を更に分割するようにしてあることを特徴とする。
【００３０】
本発明によれば、補正量の差分から特定される画像ずれ量が大きい領域を更に分割することにより、より正確に補正を行うことができる。
【００３１】
本発明の視差算出装置は、前記画像分割部は、前記差分算出部が算出した差分に応じて隣接する前記領域各々を分割する分割数を決定し、決定した分割数で更に分割するようにしてあることを特徴とする。
【００３２】
本発明によれば、レンズの歪みによる画像ずれ量が大きいほど分割数を多く設定することにより、正確に補正を行い、視差を算出し易くすることができる。
【００３３】
本発明の距離算出装置は、前記視差算出装置と、該視差算出装置により算出された視差に基づき、前記視点及び被写体間の距離を算出する距離算出部とを備えることを特徴とする。
【００３４】
本発明によれば、正確な被写体距離を簡易に算出することができる。
【００３５】
本発明の視差算出方法は、二つの視点から得られた画像それぞれを複数の領域に分割する画像分割ステップと、該画像分割ステップにより分割された領域毎に二つの視点を結ぶ方向に垂直な方向における前記画像間の画像ずれ量を算出し、画像ずれ量に対応する補正量を決定する補正量決定ステップと、該補正量決定ステップにより決定された補正量に基づき前記領域毎に画像を補正し、補正された画像に基づき、前記二つの視点から得られた画像間の視差を算出する視差算出ステップとを含むことを特徴とする。
【００３６】
本発明によれば、正確な視差を簡易に算出することができる。
【発明の効果】
【００３７】
本発明によれば、画像を複数の領域に分割し、領域毎に画像の補正を行うことにより、正確な視差を簡易に算出することができる。また、本発明によれば、その正確な視差に基づきカメラ及び被写体間の距離を算出することができる。
【図面の簡単な説明】
【００３８】
【図１】実施の形態１に係る視差算出装置の構成例を示すブロック図である。
【図２】分割基準画像及び分割参照画像を模式的に示す説明図である。
【図３】図２に示す分割基準画像及び分割参照画像内の一領域、及びそれに含まれる被写体画像の一部を模式的に示す説明図である。
【図４】ブロックマッチングを模式的に示す説明図である。
【図５】分割基準画像及び分割参照画像を模式的に示す説明図である。
【図６】図５に示す分割基準画像及び分割参照画像内の一領域、及びそれに含まれる被写体画像の一部を模式的に示す説明図である。
【図７】分割基準画像及び分割参照画像内の一領域及びそれに含まれる被写体画像の一部を模式的に示す説明図である。
【図８】垂直方向の画像ずれの補正について説明するための説明図である。
【図９】分割参照画像内の９つの領域毎の画像ずれ量を示す説明図である。
【図１０】実施の形態２に係る視差算出装置の構成例を示すブロック図である。
【図１１】基準画像及び参照画像を模式的に示す説明図である。
【図１２】ブロックマッチングを模式的に示す説明図である。
【図１３】基準画像及び参照画像を示す説明図である。
【図１４】基準画像及び参照画像を示す説明図である。
【図１５】基準画像及び参照画像の一領域における被写体画像の垂直方向の画像ずれを模式的に示す説明図である。
【図１６】実施の形態３に係る視差算出装置の構成例を示すブロック図である。
【図１７】基準画像及び参照画像を模式的に示した説明図である。
【図１８】実施の形態４に係る視差算出装置の構成例を示すブロック図である。
【図１９】実施の形態５に係る視差算出装置の構成例を示すブロック図である。
【図２０】基準画像及び参照画像を示す説明図である。
【図２１】補正量決定部が算出した各領域の補正量を示す説明図である。
【図２２】図２０Ａ及び図２０Ｂそれぞれにおける左上領域及び被写体画像を重ね合わせた状態を模式的に示す説明図である。
【図２３】エピポーラ面とエピポーラ線を示す模式図である。
【図２４】第一カメラ及び第二カメラの光軸が平行になるように第一カメラ及び第二カメラを配置した場合を示す模式図である。
【発明を実施するための形態】
【００３９】
実施の形態１
以下、図面を参照して実施の形態１を具体的に説明する。
図１は、実施の形態１に係る視差算出装置の構成例を示すブロック図である。
第一カメラ１及び第二カメラ２は、同一の被写体を同じタイミングで撮影し、撮影した左右一対の基準画像及び参照画像を視差算出装置１００に与える。ここでは、被写体に対して左寄りに位置する第一カメラの画像を基準画像、その被写体に対して右寄りに位置する第二カメラの画像を参照画像とする。また、第一カメラ及び第二カメラは平行法により配置されているものとする。平行法とは、２台のカメラの向き、すなわちそれらの光軸が略平行になるように、同じ高さで各カメラを配置する方法である。
視差算出装置１００は、第一カメラ１及び第二カメラ２が撮影した基準画像及び参照画像を入力し、基準画像及び参照画像を用いて対応点探索処理及び視差算出処理を実行する。
視差算出装置１００は、画像分割部１０１、条件設定部１０２、補正量決定部１０３、視差算出部１０４及び視差統合部１０５を有する。
【００４０】
画像分割部１０１は、条件設定部１０２により設定された分割数に従い基準画像及び参照画像を複数の領域に分割し、分割された基準画像（以下、分割基準画像と呼ぶ）及び分割された参照画像（以下、分割参照画像と呼ぶ）を画像メモリ（図示せず）の所定領域に記憶させる。
画像分割部１０１は、分割基準画像及び分割参照画像を補正量決定部１０３及び視差算出部１０４に与える。条件設定部１０２は、画像の分割数を設定する。分割数は、例えば、９個（縦３×横３）、１６個（縦４×横４）、２５個（縦５×横５）等である。つまり、画像分割部１０１は、基準画像及び参照画像それぞれを９領域、１６領域又は２５領域等に分割する。
【００４１】
補正量決定部１０３は、画像分割部１０１から分割基準画像及び分割参照画像を取得する。補正量決定部１０３は、分割基準画像及び分割参照画像間に各カメラ１、２の取り付け精度又はそれらのレンズの精度の違い等に起因した垂直方向の画像ずれがある場合、分割基準画像及び分割参照画像間の画像ずれ量を算出し、画像ずれを軽減するための補正量を領域毎に決定する。補正量決定部１０３は、領域毎の補正量を視差算出部１０４に与える。ここで、垂直方向の画像ずれとは、例えば二台のカメラが離れている方向に対して垂直方向に存在する二つの撮像画像間のずれを意味する。これは、人が画像を見る場合で言うと、二つの視点を結ぶ方向に垂直な方向における画像間の画像ずれである。
【００４２】
視差算出部１０４は、補正量決定部１０３から領域毎の補正量を受け取り、その補正量に応じて画像メモリから分割基準画像及び分割参照画像を読み出す。具体的には、視差算出部１０４は、分割基準画像の各領域の画像が記憶された記憶領域から当該画像を読み出すと共に、分割参照画像の各領域の画像が記憶された記憶領域から分割参照画像を読み出し、補正量に応じて対応点探索を行うラインを変えて視差を算出する。
【００４３】
視差算出部１０４は、補正量決定部１０３から受け取った補正量に従って、分割参照画像を補正し、分割基準画像及び補正後の分割参照画像を用いて対応点探索を行い、領域毎に視差を算出する。視差算出部１０４は、算出した領域毎の視差を視差統合部１０５へ与える。なお、ここでの視差とは、右目及び左目で夫々見える像の位置の差異の意味であり、画像間における相対的な像のずれ量である。
視差統合部１０５は、視差算出部１０４から受け取った領域毎の視差を統合し、分割前の画像サイズに合わせた視差を求める。これを統合視差とする。
【００４４】
まず、分割基準画像及び分割参照画像間に垂直方向の画像ずれが生じていない場合の視差の算出方法について説明する。
図２は、分割基準画像及び分割参照画像を模式的に示す説明図である。
図２Ａは分割基準画像、図２Ｂは分割参照画像を示す。画像分割部１０１は、基準画像及び参照画像それぞれを例えば９領域に分割する。
【００４５】
分割基準画像１０及び分割参照画像２０は同一の被写体を示す被写体画像１１及び被写体画像２１を含む。ここでは、被写体画像以外の背景部分は一様な色の背景であるとする。被写体画像１１及び２１は、３個の横長の矩形から成るとする。第一カメラ１及び第二カメラ２のレンズ位置（視点）が異なるため、被写体に対して右寄りに位置する第二カメラで撮影された分割参照画像２０内の被写体画像２１は、被写体に対して左寄りに位置する第一カメラで撮影された分割基準画像１０内の被写体画像１１に対して左方向にずれた位置に存在する。ここで分割基準画像１０内の領域１０ａ及び分割参照画像２０内の領域２０ａに着目した場合、分割参照画像２０の領域２０ａ内の被写体画像２１の一部は、分割基準画像１０の領域１０ａ内の被写体画像１１の一部に対して左方向に幅Ｄずれた位置に存在する。幅Ｄは分割基準画像及び分割参照画像間の視差であり、画素数で表される。本例では、視差はＤ画素である。第一カメラ１及び第二カメラ２は輻輳をもたない平行な配置とされているため、視差は無限遠で０となり、カメラに近い被写体ほど大きな視差となる。輻輳とは、眼球運動の一種であり、対象に視線を交差させようとする両眼の動きであり、カメラにおいては各カメラの光軸が交わることを意味する。
【００４６】
図３は、図２に示す分割基準画像及び分割参照画像内の一領域、及びそれに含まれる被写体画像の一部を模式的に示す説明図である。
図３Ａは分割基準画像内の一領域及びそれに含まれる被写体画像の一部、図３Ｂは分割参照画像内の一領域及びそれに含まれる被写体画像の一部、図３Ｃは図３Ａ及び図３Ｂそれぞれが示す一領域及び被写体画像の一部を重ね合わせた状態を模式的に示す。
図３において、分割基準画像１０内の領域１０ａは被写体画像１１の一部を含み、分割参照画像２０内の領域２０ａは被写体画像２１の一部を含む。領域１５ａは、領域１０ａ及び領域２０ａを重ね合わせた状態を仮想的に表したものである。領域１５ａからわかるように、領域１０ａ及び領域２０ａには視差Ｄがある。
以下、視差Ｄを求める手法を説明する。
【００４７】
分割基準画像１０内の領域１０ａに含まれる被写体画像１１の一部及び分割参照画像２０内の領域２０ａに含まれる被写体画像２１の一部は、両画像内における垂直方向の座標が同一である水平ライン（以下、「同一ライン」と呼ぶ）上に位置する。そこで、視差算出部１０４は、分割基準画像１０内の領域１０ａに含まれる被写体画像１１の一部内に注目点（任意の点）を設定し、被写体画像２１の一部内において注目点に対応する対応点を探索する。具体的には、視差算出部１０４は、被写体画像１１の一部及び被写体画像２１の一部に対して所定サイズの画素ブロックを用いたブロックマッチングを行う。視差算出部１０４は、ブロックマッチングを同一ライン上で行い、対応する画素ブロック間の相関度を求め、対応点を検出する。
【００４８】
視差算出部１０４は、相関度に基づいて注目点に対応する対応点を検出し、注目点及び対応点の距離、つまり視差を求める。視差算出部１０４は、分割基準画像１０及び分割参照画像２０内の他の領域においても同様にブロックマッチングを行うことにより対応点を検出し、注目点及び対応点から領域毎の視差を求める。
【００４９】
次に、上述の対応点探索について説明する。
図４は、ブロックマッチングを模式的に示す説明図である。
視差算出部１０４は、分割基準画像１０内の領域１０ａに基準画像ウインドウ１０ｗを設定し、分割参照画像２０内の領域２０ａに参照画像ウインドウ２０ｗを設定する。基準画像ウインドウ１０ｗ及び参照画像ウインドウ２０ｗは同一ライン（点線）上に位置する。図４において、基準画像ウインドウ１０ｗ及び参照画像ウインドウ２０ｗそれぞれは、領域１０ａ及び領域２０ａに含まれる画像から３×３画素から成る画素ブロックを抽出する。注目点は、基準画像ウインドウ１０ｗにより抽出される画素ブロックの重心位置（中心位置）に存在する。
【００５０】
視差算出部１０４は、基準画像ウインドウ１０ｗを用いて抽出した画素ブロックから当該画素ブロックに含まれる画素の画素値を求める。同様に、視差算出部１０４は、参照画像ウインドウ２０ｗを用いて抽出した画素ブロックから当該画素ブロックに含まれる画素の画素値を求める。
【００５１】
視差算出部１０４は、基準画像ウインドウ１０ｗ及び参照画像ウインドウ２０ｗを水平方向に移動させながら、領域１０ａ及び領域２０ａそれぞれから同一サイズ（３×３画素）の画素ブロックを抽出し、抽出した画素ブロックに対してブロックマッチングを行い、両画素ブロックの相関度を求める。相関度は、例えばＳＡＤ法による相関値演算により求めることができる。ＳＡＤ法において相関度はＳＡＤ値で表される。ＳＡＤ値とは、基準画像ウインドウ１０ｗ及び参照画像ウインドウ２０ｗにより抽出された２つの画素ブロックにおける対応画素の画素値の差分絶対値を対応画素毎に求め、それらの差分絶対値を両ウインドウ内の全画素にわたって加算した値である。
【００５２】
基準画像ウインドウ１０ｗにより抽出される画素ブロックが画素値Ｘ０〜Ｘ８を有し、参照画像ウインドウ２０ｗにより抽出される画素ブロックが画素値Ｘ’０〜Ｘ’８を有する場合、ＳＡＤ値は、次の式から得られる。
【数１】
0005792662.tif 000002
上式からわかるように、ＳＡＤ値が小さいほど両画素ブロックの相関度は高く、ＳＡＤ値が大きいほど相関度は低い。つまり、ＳＡＤ値の大小に基づいて基準画像ウインドウ１０ｗ及び参照画像ウインドウ２０ｗそれぞれにより抽出される画素ブロックの相関度が判定される。
尚、基準画像及び参照画像がモノクロ画像である場合には、モノクロ画像の画素値を用いてＳＡＤ値を算出し、基準画像及び参照画像がＲＧＢ画像の場合には、Ｒ（赤）、Ｇ（緑）、Ｂ（青）の内の少なくとも１色の画素値を用いてＳＡＤ値を算出すればよい。また、ＲＧＢの情報を輝度情報等に変換し、それを用いてＳＡＤ値を算出してもよい。
【００５３】
図４を用いて対応点検出の処理を具体的に説明する。
視差算出部１０４は、先ず、基準画像ウインドウ１０ｗを領域１０ａの右端から距離Ｗ離れた位置に設定し、その位置に基準画像ウインドウ１０ｗを固定する。視差算出部１０４は、参照画像ウインドウ２０ｗを領域２０ａの右端から距離（Ｗ＋Ｓ）離れた位置に設定する。視差算出部１０４は、幅Ｓを探索範囲として、その探索範囲で参照画像ウインドウ２０ｗを１画素数ずつ移動させながら基準画像ウインドウ１０ｗ内及び参照画像ウインドウ２０ｗ内の画素ブロック間でブロックマッチングを行う。
【００５４】
尚、本実施の形態のようにカメラを平行に設置した場合には、視差はカメラ基線長が長いほど大きくなる。また、視差は被写体の奥行き距離が短くなるほど大きくなり、無限遠に近づくほど０に近づいていく。したがって、カメラ基線長又はカメラから被写体までの奥行き距離に応じて探索範囲を設定するのが好ましく、基線長が長くなるほど、あるいは奥行き距離が長くなるほど大きい値となる。例えば、探索範囲の最大値を予め設定しておき、被写体の奥行き距離が１メートル以下の場合には探索範囲を最大値に、１メートル以上の場合には探索範囲をその最大値の半分程度に設定するといった方法がある。
【００５５】
視差算出部１０４は、基準画像ウインドウ１０ｗを領域１０ａの右端から距離Ｗ離れた位置に固定した状態で、参照画像ウインドウ２０ｗを領域２０ａの右端から距離（Ｗ＋Ｓ）離れた位置から、当該右端から距離Ｗ離れた位置まで右方向に１画素ずつ移動させながらブロックマッチングを行う。視差算出部１０４は、領域１０ａ内に固定された基準画像ウインドウ１０ｗにより抽出される画素ブロックと最も小さいＳＡＤ値（最小ＳＡＤ値）、つまり、最も高い相関度を有する画素ブロックを領域２０ａ内に特定する。基準画像ウインドウ１０ｗにより抽出された画素ブロックの中心に位置する注目点に対応する対応点は、その特定された画素ブロックの中心に位置する。このようにして、視差算出部１０４は対応点を検出する。
【００５６】
視差算出部１０４は、領域毎に注目点とその対応点との距離から視差を算出し、基準画像１０の全ての画素において視差を算出する。
【００５７】
尚、図４で示した例では、基準画像ウインドウ１０ｗ及び参照画像ウインドウ２０ｗを３×３画素の画素ブロックに対応するサイズにしたが、各ウインドウのサイズを５×５画素又は９×９画素の画素ブロックに対応するサイズ、又は４×４画素等の縦横画素数が偶数である画素ブロックに対応するサイズなど様々なウインドウサイズとしてよい。
上記の例では、参照画像ウインドウ２０ｗを右方向に移動させたが、左方向に移動させるようにしてもよい。つまり、領域２０ａの右端から距離Ｗ離れた位置から当該右端から距離（Ｗ＋Ｓ）離れた位置まで左方向に１画素ずつ参照画像ウインドウ２０ｗを移動させながらブロックマッチングを行ってもよい。
以上、分割基準画像及び分割参照画像間に垂直方向の画像ずれがない場合の対応点探索の手法を説明した。上述のように、画像ずれが存在しない場合、両画像間で同一ライン上を単に対応点探索を行えばよい。
【００５８】
次に、分割基準画像及び分割参照画像間に垂直方向の画像ずれがある場合の対応点探索の手法を説明する。垂直方向の画像ずれは、レンズに歪みが存在する場合、カメラの取り付け精度が低く、本来であれば平行にずれなく配置すべきところでカメラ自体が傾いている場合、又はカメラが垂直方向にずれて配置されている場合などに生ずる。垂直方向の画像ずれをそのままにして上述のように同一ライン上で対応点探索を行った場合、対応点が同一ライン上に存在しないことにより対応点を誤検出する可能性が高く、正確な視差を算出できない。そこで、視差算出部１０４は、垂直方向の画像ずれを補正した後に対応点探索を行い、視差を算出する。以下、垂直方向の画像ずれを補正する処理等について詳細に説明する。
【００５９】
垂直方向の画像ずれがない場合、注目点とそれに対応する対応点は同一ライン上に存在するが、垂直方向の画像ずれがある場合、注目点とそれに対応する対応点は同一ライン上に存在しない。そこで、補正量決定部１０３は、分割基準画像及び分割参照画像間の垂直方向の画像ずれ量を領域毎に算出し、その領域毎の画像ずれ量に基づき分割参照画像の補正量を決定する。視差算出部１０４は、補正量決定部１０３から補正量を受け取り、その補正量に基づき分割参照画像を補正し、分割基準画像及び補正後の分割参照画像を用いた対応点探索を行う。
【００６０】
先ず、分割基準画像及び分割参照画像間に垂直方向の画像ずれがある状態を例に挙げて説明する。
図５は、分割基準画像及び分割参照画像を模式的に示す説明図である。
図５Ａは分割基準画像、図５Ｂは分割参照画像を示す。画像分割部１０１は、基準画像及び参照画像それぞれを例えば９領域に分割する。
【００６１】
分割基準画像３０及び分割参照画像４０それぞれは被写体画像３１及び被写体画像４１を含む。被写体画像３１及び４１は、例えば３個の横長の矩形から成る。第一カメラ１及び第二カメラ２のレンズ位置（視点）が異なり、且つ、各カメラの取り付け精度又はレンズの精度の違い等があるため、分割参照画像４０内の被写体画像４１は、分割基準画像３０内の被写体画像３１に対して左方向且つ下方向にずれた位置に存在する。つまり、分割基準画像３０及び参照画像４０間には垂直方向の画像ずれが存在する。
【００６２】
図６は、図５に示す分割基準画像及び分割参照画像内の一領域、及びそれに含まれる被写体画像の一部を模式的に示す説明図である。
図６Ａは分割基準画像内の一領域及びそれに含まれる被写体画像の一部、図６Ｂは分割参照画像内の一領域及びそれに含まれる被写体画像の一部、図６Ｃは、図６Ａ及び図６Ｂそれぞれが示す領域及び被写体画像を重ね合わせた状態を模式的に示す。
領域３０ａは被写体画像３１の一部を含み、領域４０ａは被写体画像４１の一部を含む。
【００６３】
図６Ｃからわかるように、領域４０a内の被写体画像４１は、領域３０ａ内の被写体画
像３１に対して左方向にＥ画素数ずれ、且つ、下方向にＦ画素数ずれている。左方向のずれは視差であり、下方向のずれは各カメラの取り付け精度又はレンズの精度の違い等に起因した垂直方向の画像ずれである。このように部分的な垂直方向の画像ずれが生じている状態で上述の水平方向のブロックマッチングを行う場合、対応点を検出できず、正しい視差を算出できないことがある。被写体画像３１の左端の垂直方向エッジにおける中央近傍部分の形状及び色は、被写体画像４１の左端の形状及び色とほぼ同一であるため、当該部分に位置する注目点に対応する視差は、上述の水平方向のブロックマッチングにより正しく検出できる可能性がある。しかし、被写体画像３１の左上角隅の部分に位置する注目点に対応する対応点は同一ライン上には存在しない為、誤検出される可能性が高い。そのため、分割基準画像３０及び分割参照画像４０の画像全体から得られる視差の確度は高くない。
【００６４】
続いて、分割基準画像３０及び分割参照画像４０間に大きな垂直方向の画像ずれが生じている状態を例に挙げて説明する。
図７は、分割基準画像及び分割参照画像内の一領域及びそれに含まれる被写体画像の一部を模式的に示す説明図である。
図７Ａは分割基準画像内の一領域及びそれに含まれる被写体画像の一部、図７Ｂは分割参照画像内の一領域及びそれに含まれる被写体画像の一部を示す。
領域５０ａは分割基準画像３０内の領域であり、領域６０ａは分割参照画像４０内の領域である。領域５０ａは被写体画像５１の一部を含み、領域６０ａは被写体画像６１の一部を含む。
【００６５】
図７からわかるように、領域６０ａ内の被写体画像６１は、領域５０ａ内の被写体画像５１に対して垂直方向に大きくずれている。分割基準画像３０及び分割参照画像４０間に完全な垂直方向の画像ずれが生じている状態で上述の水平方向のブロックマッチングを行った場合、対応点を誤検出する可能性は非常に高い。そのため、分割基準画像３０及び分割参照画像４０間に部分的な垂直方向の画像ずれがある場合と比べて、正確な視差を算出することが一層困難になる。
【００６６】
このように分割基準画像３０及び分割参照画像４０間に垂直方向の画像ずれがある場合、対応点を誤検出する可能性があり、正確な視差を算出することが困難になる。そこで、補正量決定部１０３は、分割基準画像３０内の各領域の水平方向の中心線を基準にして分割基準画像３０及び分割参照画像４０間の垂直方向の画像ずれ量を領域毎に算出し、領域毎の画像ずれ量に基づき補正量を決定し、視差算出部１０４に与える。視差算出部１０４は、補正量決定部１０３から受け取った補正量に基づき分割参照画像４０を補正し、補正後の分割参照画像を用いて対応点探索を行う。以下、その処理を具体的に説明する。
【００６７】
図８は、垂直方向の画像ずれの補正について説明するための説明図である。
図８Ａは分割基準画像及び分割参照画像内の一領域、図８Ｂは分割基準画像及び補正後の分割参照画像内の一領域を示す。
図８Ａにおいて、分割基準画像３０内の領域３０ａは被写体画像３１の一部を含み、分割参照画像４０内の領域４０ａは被写体画像４１の一部を含む。
【００６８】
補正量決定部１０３は、分割基準画像３０内の領域３０ａの中心線（点線）上に対して、３×３画素の画像ブロックを抽出する基準画像ウインドウを設定し、分割参照画像４０内の領域４０ａの中心線上に対して３×３画素の画素ブロックを抽出する参照画像ウインドウを設定する。
【００６９】
補正量決定部１０３は、基準画像ウインドウの位置を固定し、参照画像ウインドウの位置を中心線に沿って水平方向に１画素ずつ移動させながらブロックマッチングを行い、各位置におけるＳＡＤ値を求める。ある１つの注目点に対応する対応点を検出するまでの探索範囲が例えば１０画素の長さであれば、補正量決定部１０３は、１０個のＳＡＤ値を求め、それらのＳＡＤ値の中から最小ＳＡＤ値を選択する。
【００７０】
補正量決定部１０３は、基準画像ウインドウを水平方向に１画素数移動させて固定し、再び、参照画像ウインドウを水平方向に１画素数ずつ移動させながら、ブロックマッチングを行い最小ＳＡＤ値の算出を繰り返していく。
【００７１】
このように、補正量決定部１０３は基準画像の各画素において探索範囲分のＳＡＤ値を求め、そのＳＡＤ値の中から最小ＳＡＤ値を算出する。すなわち、補正量決定部１０３は、基準画像ウインドウを移動させた移動量である画素数と等しい数の最小ＳＡＤ値を得ることになる。補正量決定部１０３は、得られた最小ＳＡＤ値を全て加算し、最小ＳＡＤ値の総和を求める。この最小ＳＡＤ値の総和は、図８Ａに示す状態でブロックマッチングしたことにより得られる値である。
【００７２】
次に、補正量決定部１０３は、分割参照画像４０内の領域４０ａを上方向に１画素移動させ、上記と同じ処理を行い最小ＳＡＤ値の総和を求める。移動は、基本的な対応点探索の方法で説明した同一ラインでの対応点探索と異なり、基準画像ウインドウの中心となるラインに対して、対応点探索を行う参照画像ウインドウの中心ラインを垂直方向にずらすことに相当し、これは簡易な処理である。ここでは、補正量決定部１０３は、分割参照画像４０内の領域４０ａを上下方向に５画素ずつ移動させるものとする。
【００７３】
補正量決定部１０３は、１画素数移動させる毎に最小ＳＡＤ値の総和を求める。その結果、補正量決定部１０３は、最小ＳＡＤ値の総和をＦ個得る。補正量決定部１０３は、それらの最小ＳＡＤ値の総和の中から最も小さい最小ＳＡＤ値の総和を選択する。その最も小さい最小ＳＡＤ値の総和が得られたときの領域４０ａの移動量が垂直方向の画像ずれ量に相当する。
【００７４】
例えば、補正量決定部１０３は、分割参照画像４０を垂直方向に−５画素〜＋５画素の範囲で１画素ずつ移動させる毎に最小ＳＡＤ値の総和を求め、最小ＳＡＤ値の総和が最小となる場合を特定し、その場合の領域４０ａの移動量を画像ずれ量とする。領域４０ａを上方向に例えば２画素数移動したときの最小ＳＡＤ値の総和が最も小さい場合、図８Ｂに示す画像ずれ量Ｆは２画素数であり、補正量を＋２と決定する。尚、領域４０ａを上方向に移動する場合の補正量の符号を＋とし、下方向に移動する場合の補正量の符号を−とする。
【００７５】
このように、補正量決定部１０３は、領域毎に分割基準画像と分割参照画像の画像ずれ量を求めて補正量を決定し、視差算出部１０４へ送る。視差算出部１０４は、分割参照画像を補正量にしたがって移動した後に対応点探索を行う。これにより、各画像の対応点が同一ライン上に存在する可能性が増加することから、補正前に対し正確な視差を算出することが可能となる。
【００７６】
視差算出部１０４は、領域毎に算出された視差を視差統合部１０５へ与える。視差統合部１０５は、視差算出部１０４から受け取った領域毎の視差を統合し、分割前の画像サイズに合わせた統合視差を求める。つまり、視差統合部１０５において、領域毎の視差は、基準画像の各画素に対応した視差データ（視差マップ）として統合される。
【００７７】
分割参照画像４０内の全ての領域の画像が分割基準画像３０内の対応領域の画像に対して、画像ずれ量は異なるが全て同じ方向（上方向又は下方向のいずれか一方）にずれている場合、補正量決定部１０３は、領域毎に求めた画像ずれ量の中から最小の画像ずれ量を選択し、その最小の画像ずれ量に応じて補正量を決定してもよい。その場合、視差算出部１０４は、分割参照画像内の全ての領域の画像に対して、その最小画像ずれ量分だけ移動した後に、移動後の画像に対する各領域の補正量に従い補正したのちに対応点探索を行い、視差を算出する。以下、その処理を具体的に説明する。
【００７８】
図９は、分割参照画像内の９つの領域毎の画像ずれ量を示す説明図である。
図９Ａは、補正前の分割参照画像内の９つの領域の画像ずれ量を領域毎に示す。ここでは、分割参照画像４０内の領域１〜３は、分割基準画像３０内の領域１〜３に対して下方向に３画素数ずれ、分割参照画像４０内の領域４〜６は、分割基準画像３０内の領域４〜６に対して下方向に４画素数ずれ、分割参照画像４０内の領域７〜９は、分割基準画像３０内の領域７〜９に対して下方向に５画素数ずれているものとする。この場合、最小画像ずれ量は３画素であるため、分割参照画像内の９つの領域全てを上方向に３画素数移動させる。
【００７９】
図９Ｂは、分割参照画像の９つの領域全てを上方向に３画素数移動させた後の各領域の画像ずれ量を示す。図９Ｂからわかるように、分割参照画像の９つの領域の全てを３画素数上方向に移動させることにより、分割参照画像４０内の領域１〜３の画像ずれ量は０、領域４〜６の画像ずれ量は１画素、領域７〜９の画像ずれ量は２画素になる。つまり、分割参照画像内の全ての領域を最小の画像ずれ量分だけ移動させておくことにより、画像ずれ量の最大値は２画素になり、画像ずれ量は全体的に小さくなる。よって、次回の補正量算出の際には、上下方向により狭い範囲で画像ずれ量を算出すればよく、高解像度画像における処理量の削減に繋がる。また、例えばカメラ起動時には画像全体に対して前述の最小の画像ずれ量分の補正を行い画像ずれ量を小さくしておく。これにより、衝撃等がカメラに加わり新たな画像ずれが発生した場合、もともとの画像ずれ量を小さくしてある為、大きなずれが発生した場合でも比較的狭い上下方向の範囲で画像ずれ量を算出できる。
【００８０】
実施の形態１は、画素単位で画像ずれを補正する手法とは異なり、領域単位で画像ずれを補正しているため、画素数の多い画像、つまり高解像度画像を処理する場合であっても処理量が大幅に増えることはない。したがって、画像の解像度が高くなるにつれ、実施の形態１における処理量と、画素単位で画像ずれを補正する手法における処理量との差は大きくなる。
【００８１】
尚、補正量決定部１０３は分割参照画像４０内の各領域を上下方向に所定範囲ずらすことにより垂直方向の画像ずれ量を算出するが、その所定範囲をどの程度にするかは、カメラの取り付け精度に応じて設定すればよい。例えば、カメラの取り付け精度が低い場合には広い範囲に設定し、精度が高い場合には狭い範囲に設定すればよく、本実施の形態で示した５画素に限定するものではない。また、本実施の形態では上下方向に画像ずれ量の算出を行っているが、いずれか一方の方向に画像ずれが発生しているか予め判明している場合は、上方向の範囲又は下方向の範囲のいずれか一方の範囲に対してのみ画像ずれ量の算出を行ってもよい。
【００８２】
また、本実施の形態では最初の補正量決定時に各領域で補正方向が同じであった場合、その各領域の補正量の最小値分補正しておくとしたが、これ以外にも、領域毎に前回の補正量を元に、その補正位置から相関値を算出して画像ずれ量を算出するようにしてもよい。例えば、ある領域で補正量が＋２であった場合、この値を記憶装置に記憶させておき、次回の補正量決定時に、その補正量の位置から最小ＳＡＤ値の総和の算出を始めてもよい。そして、その最小ＳＡＤ値の総和が一定値（例えば、予め設定済みの規定値や、横のピクセル数とブロックサイズに応じた閾値）以下になった時点で画像ずれ量の算出をやめてもよい。この場合、前回の補正量付近で相関を調べ、充分な相関が得られた場合にはそれ以外のラインに対して相関を調べる為の探索を行わなくなる為、処理量が削減でき、すばやく補正量を決定することができる。
【００８３】
画像分割部１０１は、基準画像及び参照画像を上下左右均等に分割しなくてもよい。レンズの歪みによる画像ずれの場合、基準画像及び参照画像の端近傍の領域の画像ずれ量が大きいため、その領域での分割数を多くし、中央近辺の分割数を小さくしてもよい。画像内の位置に応じて分割数を異ならせることにより、画像ずれを画像内の位置に応じてきめ細かく補正することができ、対応点探索の精度を向上させることができる。
また、本実施の形態では被写体に対して左側に寄ったカメラである第一カメラの画像を基準画像、つまり第一カメラを基準として視差データを算出した。しかし、これに限らず、視差の関係から探索範囲の方向は変化するが、被写体に対して右側に寄ったカメラである第二カメラの画像を基準画像、つまり第二カメラを基準として視差データを算出してもよい。
【００８４】
また、本実施の形態では、画像内の１ラインにおけるＳＡＤ値の総和が最小となる位置を特定することによって、基準画像及び参照画像間の画像ずれ量を算出したが、これ以外の手法を用いて画像ずれ量を算出してもよい。例えば、ブロックマッチング時に最小ＳＡＤ値に近いＳＡＤ値が複数存在する場合、算出された視差の信頼度は低いとみなし、その視差をエラーとしてエラー処理する。このエラー処理を行うことにより、信頼度の高い視差だけを抽出し、抽出された信頼度の高い視差の数が最大となるように補正量を決定してもよい。また、ＳＡＤに限らずＳＳＤなどの他の手法を用いても良い。
【００８５】
また、例えばエッジ抽出などの特徴点抽出を行い、抽出した特徴点の対応度に従って補正量を決定してもよい。例えば、基準画像及び参照画像に対してエッジ検出処理を行い、基準画像及び参照画像それぞれのエッジ画像を作成する。次いで、各エッジ画像を領域分割し、領域毎にエッジの対応度を求める。基準画像及び参照画像の水平方向には視差が存在するため、基準画像及び参照画像のエッジ画像を領域毎にそのまま重ね合わせても、両画像のエッジの位置は一致しない。そこで、分割参照画像を領域毎に垂直方向に１画素移動する毎に、分割参照画像を水平方向に予め決められた探索範囲分移動する。そして、分割参照画像を移動させながら分割基準画像と分割参照画像とを重ね合わせ、エッジが一致した位置の数を算出する。この処理を繰り返し、エッジが一致した位置の数を求め、この数を基準画像及び参照画像の垂直方向の対応度とする。つまり、エッジが一致した位置の数が多い程、対応度が大きいと判断する。この対応度が最も大きくなる垂直方向の位置を特定することで、垂直方向の画像ずれ量を算出し、補正量を決定する。そして、その補正量に基づいて画像を補正することにより、正確な視差を算出することができる。
【００８６】
実施の形態２
以下、図面を参照して実施の形態２を具体的に説明する。
図１０は、実施の形態２に係る視差算出装置の構成例を示すブロック図である。
第一カメラ１及び第二カメラ２は、同一の被写体を同じタイミングで撮影し、撮影した左右一対の基準画像及び参照画像を視差算出装置２００に与える。視差算出装置２００は、第一カメラ１及び第二カメラ２が撮影した基準画像及び参照画像を入力し、基準画像及び参照画像を用いて対応点探索処理及び視差算出処理を実行する
視差算出装置２００は、画像分割部２０１、補正量決定部２０２、映像シーン検出部２０３、視差算出部２０４及び視差統合部２０５を有する。
【００８７】
画像分割部２０１及び補正量決定部２０２それぞれは、第一カメラ１及び第二カメラ２から基準画像及び参照画像を受け取る。基準画像及び参照画像は動画像である。
映像シーン検出部２０３は、第一カメラ１から基準画像を受け取り、基準画像に対して映像シーン解析を行い、映像シーンの切り替わりを検出する。映像シーンの切り替わりは、輝度又は色情報、又は第一カメラ１の動作において一時停止又は動作再開等に操作が行われたかによって検出する。映像シーン検出部２０３は、映像シーンの切り替わりを検出した場合、補正量決定部２０２に補正指示を与える。映像シーン検出部２０３は、補正量決定部２０２に補正指示を与える補正指示部としての機能を有する。
【００８８】
第一カメラ１及び第二カメラ２の位置が垂直方向にずれている場合、カメラと被写体との距離（奥行き距離）に応じて垂直方向に画像ずれが生じる。第一カメラ１及び第二カメラ２と被写体との距離が短いほど、基準画像及び参照画像間の垂直方向の画像ずれ量は大きくなり、その距離が長いほど基準画像及び参照画像間の垂直方向の画像ずれ量は小さくなる。つまり、第一カメラ１及び第二カメラ２と被写体との距離が大きく変わるような映像シーンの切り替え時、基準画像及び参照画像間の垂直方向の画像ずれ量は大きく変化する。そのため、映像シーンの切り替え前後の画像ずれ量は大きく異なる。そこで、補正量決定部２０２は、映像シーンが切り替わった後、基準画像及び参照画像間の垂直方向の画像ずれ量を算出し、その画像ずれ量に対応する補正量を決定し、画像分割部２０１に与える。画像分割部２０１は、補正量決定部２０２から受け取った補正量に基づき、基準画像及び参照画像を分割し、分割基準画像及び分割参照画像を視差算出部２０４に与える。視差算出部２０４は、分割基準画像及び分割参照画像を用いて対応点探索処理及び視差算出処理を行う。
【００８９】
実施の形態１では、画像分割部１０１が基準画像及び参照画像を所定の領域に分割した後、補正量決定部１０３は領域毎の補正量を決定する。これに対して、実施の形態２では、補正量決定部２０２は、画像分割部２０１で分割されることになる領域毎に画像ずれ量を算出し、その画像ずれ量に対応する補正量を決定し、画像分割部２０１に与える。画像分割部２０１は、補正量決定部２０２から補正量を受け取り、その補正量に基づいて基準画像及び参照画像を分割し、分割基準画像及び分割参照画像を視差算出部２０４に与える。視差算出部２０４及び視差統合部２０５の構成及び動作は、実施の形態１で示したものと同様であるため説明は省略する。
【００９０】
図１１は、基準画像及び参照画像を模式的に示す説明図である。
図１１Ａは、基準画像５０に含まれる３領域５０ａ、５０ｂ、５０ｃ及び各領域の中心線５１ｃ〜５３ｃ、図１１Ｂは、参照画像６０に含まれる３領域６０ａ、６０ｂ、６０ｃ及び各領域の中心線６１ｃ〜６３ｃを示す。この３領域は、後に画像分割部２０１により分割されることにより得られる領域である。図１１Ｂにおいて、領域６０ａ〜６０ｃは、中心線６１ｃ〜６３ｃ及びそれらの上下２ラインから成る３つの領域６０ｄ、６０ｅ、６０ｆを含む。
補正量決定部２０２は、基準画像ウインドウを中心線５１ｃ、５２ｃ、５３ｃ上に設定し、参照画像ウインドウを領域６０ｄ、６０ｅ、６０ｆ上に設定し、画像ずれ量を算出するためブロックマッチングを行う。
【００９１】
図１２は、ブロックマッチングを模式的に示す説明図である。
補正量決定部２０２は、基準画像５０内の領域５０ａの中心線５１ｃを中心にして３×３画素の画像ブロックに対応する基準画像ウインドウ５０ｗを設定し、参照画像６０内の領域６０ａの中心線６１ｃ及び中心線６１ｃ及びその上下２ラインを含む３ライン内に参照画像ウインドウ６０ｗを設定し、基準画像ウインドウ５０ｗ及び参照画像ウインドウ６０ｗそれぞれにより抽出される画素ブロック間でブロックマッチングを行い、ＳＡＤ値を算出する。
【００９２】
補正量決定部２０２は、領域５０ａの中心線５１ｃに対して基準画像ウインドウ５０ｗを設定し、領域６０ａの中心線６１ｃの上の２ライン目に参照画像ウインドウ６０ｗの中心が位置するように参照画像ウインドウを設定する。
補正量決定部２０２は、基準画像ウインドウ５０ｗ及び参照画像ウインドウ６０ｗをそれぞれ右方向に移動させながらブロックマッチングを行い、最小ＳＡＤ値を算出する。基準画像５０及び参照画像６０の水平方向の画素数が１２０画素であり、且つ、画像分割部２０１による水平方向の分割数が３である場合、補正量決定部２０２は、左から４０画素の長さ毎の探索範囲で最小ＳＡＤ値の総和を算出する。補正量決定部２０２は、同様な処理を中心線５２ｃ、５３ｃ及び領域６０ｅ、６０ｆに対して行い、最小ＳＡＤ値の総和を算出する。次いで、補正量決定部２０２は、最小ＳＡＤ値の総和が最も小さくなるときのラインを４０画素幅の領域毎に特定し、基準画像５０及び参照画像６０間の垂直方向の画像ずれ量を４０画素幅の領域毎に算出する。
補正量決定部２０２は、画像分割部２０４で分割されることになる９個の領域毎の画像ずれ量を算出し、それらの画像ずれ量に対応する領域毎の補正量を決定する。
【００９３】
補正量決定部２０２は、決定した領域毎の補正量を内蔵する記憶部（図示せず）に記憶させる。補正量決定部２０２は、映像シーン検出部２０３から補正指示を受ける度に、上記処理を行い、領域毎の補正量を決定し、記憶部に記憶している領域毎の補正量を更新する。
【００９４】
画像分割部２０１は、補正量決定部２０２の記憶部から領域毎の補正量を読み出し、その領域毎の補正量に応じて参照画像を分割する。具体的には、画像分割部２０１は、内蔵する画像メモリ（図示せず）から基準画像及び参照画像を読み出す際、領域毎の補正量により特定される記憶領域から参照画像の領域毎の画像を読み出す。
【００９５】
図１３は、基準画像及び参照画像を示す説明図である。
図１３Ａは基準画像５０、図１３Ｂは参照画像６０を示す。
画像分割部２０１は、基準画像５０及び参照画像６０それぞれが例えば９領域に分割された画像を画像メモリから読み出す。補正量決定部２０２が基準画像５０内の領域５０ｘに対応する参照画像６０の領域６０ｘの補正量を例えば−２画素と決定した場合、画像分割部２０１は、その補正量に基づき、参照画像６０が記憶されている記憶領域から領域６０ｘに対応する領域に含まれる画像を読み出し、視差算出部２０４へ与える。
【００９６】
補正量決定部２０２が基準画像５０の領域５０ｙに対応する参照画像６０の領域６０ｙの補正量を例えば−２画素と決定した場合、画像分割部２０１は、その補正量に基づき、参照画像６０が記憶されている記憶領域から領域６０ｙに対応する領域に含まれる画像を読み出し、視差算出部２０４へ与える。このように、画像分割部２０１は、画像メモリから参照画像６０を読み出す際、補正量決定部２０２が決定した補正量に応じて画像の読み出し位置をずらす。
【００９７】
図１４は、基準画像及び参照画像を示す説明図である。
図１４Ａは基準画像５０、図１４Ｂは参照画像６０を示す。
基準画像５０及び参照画像６０内には同一の被写体画像５１及び６１が含まれる。被写体画像５１及び６１は、カメラの視点位置又はカメラの姿勢により異なる位置に存在する。ここでは、第一カメラ１に対し第二カメラ２が傾いているものとする。上述したように、画像分割部２０１は、基準画像５０内の領域５０ｘに対して、参照画像内の領域６０ｘに含まれる画像を画像メモリから読み出す。
【００９８】
図１５は、基準画像及び参照画像の一領域における被写体画像の垂直方向の画像ずれを模式的に示す説明図である。
図１５Ａは、基準画像５０の領域５０ｘに含まれる画像及び領域５０ｘに対応する参照画像６０の領域に含まれる画像を重ねた状態を模式的に示す。図１５Ｂは基準画像５０の領域５０ｘに含まれる画像及び領域６０ｘに含まれる画像を重ねた状態を模式的に示す。換言すると、図１５Ａは基準画像５０及び補正前の参照画像６０を示し、図１５Ｂは基準画像５０及び補正後の参照画像６０を示す。
【００９９】
基準画像５０内に含まれる被写体画像５１及び参照画像６０内に含まれる被写体画像６１の左側角部分の垂直方向の画像ずれ量を比較した場合、図１５Ａで示す画像ずれ量はＦであり、図１５Ｂで示す画像ずれ量はＧである。ここでＦ＞Ｇであるため、参照画像６０を補正することにより、基準画像及び参照画像間の垂直方向の画像ずれは減少する。それにより対応点探索の範囲が狭まるため、対応点探索に要する処理時間を短くすることができる。
【０１００】
実施の形態１では画像を分割した後、分割画像毎に補正量を求め、分割参照画像を移動するため、対応点の存在しない領域が出てくる場合がある。例えば、図８Ｂに示す例では、分割参照画像を上方向に移動させた結果、分割基準画像の最下部に対応する分割参照画像がなくなり、同様に、分割参照画像の最上部に対応する分割基準画像がなくなる現象が生じる。これに対して、実施の形態２では、補正量を求めた後に画像を分割するため、中間部分の分割領域では、補正量に応じて読出し位置を変更することで、そのような現象の発生を抑えることができる。
【０１０１】
尚、実施の形態２では、映像シーン検出部２０３に補正指示部としての機能をもたせているが、カメラ自体への衝撃又はカメラ位置の変化を検出する加速度検出部に補正指示部の機能をもたせてもよい。すなわち、カメラに設けられた加速度検出部が所定の閾値以上の加速度を検出した場合、加速度検出部が補正量決定部２０２に補正指示を与えるようにしてもよい。これにより、撮影シーンが変わったことをカメラの移動によって判断することができる他、大きな衝撃を受けカメラの位置関係が崩れて配置が変わったときに補正することが可能となる。
補正指示部の機能を有する加速度検出部をカメラ自体に設ける必要はなく、カメラを搭載した携帯情報機器に設けてもよい。これによって、携帯情報機器に強い衝撃等が加わり、カメラの位置ずれが起きた場合、携帯情報機器は、加速度検出部が検出した動きに応じて補正量を算出し、カメラの位置ずれを補正することができる。
【０１０２】
補正指示部は、画像が動画像データであった場合に補正量決定部２０２に対してフレーム毎に補正指示を送るのではなく、予め設定された複数のフレーム単位又は、例えばユーザによって必要に応じて設定された複数のフレーム単位に補正指示を送ってもよい。このように複数のフレーム単位に補正指示を送ることにより、補正量決定部２０２は、フレーム毎に補正を行う場合よりも処理量を減らすことができる。更に、補正量決定部２０２の処理量を減らすことにより、携帯情報端末の消費電力を節約させることができる。また、補正指示部はカメラの起動を判断し、起動時のみ補正指示を送ってもよい。このように撮影前の起動時に補正量の算出を行うことによって、常に精度良く視差を算出できるようになる。
補正指示部は、単にユーザからの指示を受け取り、補正指示を補正量決定部２０２に与えるようにしてもよい。
【０１０３】
本実施の形態では、説明の簡略化のため、図１３に示すように、領域分割を行う際に、基準画像（被写体に対して左側に寄った第一カメラから得られる画像）の一領域と、対応する参照画像（被写体に対して右側に寄った第二カメラから得られる画像）の一領域とは、各画像の横端から等距離の位置で分割されるようにしている。しかし実際には、基準画像の対応点は、参照画像上ではより左側の位置に存在する。そのため、視差算出時に参照画像から切り出す領域は、被写体の最大視差を考慮し、参照画像の分割位置を左側に最大視差分ずらしたところに設定されるのが好ましい。そのように領域を設定しない場合、基準画像内の領域内の左端付近に関しては、参照画像から切り出した領域内に対応点が含まれない状況が起こり、正しい視差が算出できなくなる。このように基準画像の領域に対応する参照画像の領域を左側にずらして分割することにより、視差の算出できない領域を減少させることができる。また、ＳＡＤの場合、左右とも分割する領域をウインドウサイズ分大きく設定し、分割する各領域の一部が重複するように切り出した方が、正確なＳＡＤ値を算出することができる。
【０１０４】
また、縦方向に画像ずれが存在する場合、被写体距離に応じて縦方向に視差が存在することになる。すなわち、被写体距離が短いほど上下の画像ずれ量が大きくなり、被写体距離が長いほど上下の画像ずれ量が小さくなる。そのため、被写体距離が大きく変わるような映像シーンの切り替え時において補正量を決定することは有効である。尚、縦方向の画像ずれの影響以外にも回転又は歪みの影響があるため、前述のように被写体距離に応じて画像ずれ量の大小が決定されるとは限らないが、映像シーン切り替え毎に画像ずれ量が変化することには変わりはない。よって、映像シーン切り替え毎に画像ずれ量を算出し、補正量を決定することは有効である。
【０１０５】
実施の形態３
以下、図面を参照して実施の形態３を具体的に説明する。
図１６は、実施の形態３に係る視差算出装置の構成例を示すブロック図である。
第一カメラ１及び第二カメラ２は、同一の被写体を同じタイミングで撮影し、撮影した左右一対の基準画像及び参照画像を視差算出装置３００に与える。視差算出装置３００は、第一カメラ１及び第二カメラ２が撮影した基準画像及び参照画像を入力し、基準画像及び参照画像を用いて対応点探索処理及び視差算出処理を実行する。
視差算出装置３００は、画像分割部３０１、補正量決定部３０２、映像シーン検出部３０３、画像縮小部３０４、視差算出部３０５及び視差統合部３０６を有する。
【０１０６】
画像分割部３０１、映像シーン検出部３０３及び視差算出部３０５の構成及び動作は、実施の形態２で示したものと同様であるため説明は省略する。
以下、補正量決定部３０２、画像縮小部３０４及び視差統合部３０６の構成及び動作を説明する。
【０１０７】
図１７は、基準画像及び参照画像を模式的に示した説明図である。
図１７Ａは基準画像７０を上下２つの領域に分割した状態を示し、図１７Ｂは参照画像８０を上下２つの領域に分割した状態を示す。以下、基準画像７０及び参照画像８０の上半分の領域に対する補正量の算出処理について説明する。基準画像７０及び参照画像８０の下半分の領域に対する補正量の算出処理は、上半分の領域に対する処理と同様であるため説明は省略する。
【０１０８】
補正量決定部３０２は、基準画像７０内の水平ライン７１及び７２上及び参照画像８０内の水平ライン８１及び８２上でブロックマッチングを行い、垂直方向の画像ずれ量を算出し、参照画像８０に対する補正量を決定する。具体的には、実施の形態２で説明したように、補正量決定部３０２は、基準画像７０内の水平ライン７１上に３×３画素の画素ブロックを抽出する基準画像ウインドウを設定し、参照画像８０内の水平ライン８１上に３×３画素の画素ブロックを抽出する参照画像ウインドウを設定する。
【０１０９】
補正量決定部３０２は、実施の形態２と同様に、基準画像ウインドウを水平方向に移動させると共に参照画像ウインドウを水平方向及び垂直方向に移動させながらブロックマッチングを行い、最小ＳＡＤ値の総和が最小となる場合を特定し、その場合の画像ずれ量を求め、補正量を決定する。
【０１１０】
実施の形態３では、補正量決定部３０２は、基準画像７０内の水平ライン７１に対して決定された参照画像８０の補正量と、水平ライン７２に対して決定された参照画像８０の補正量とが異なる場合、両補正量の平均値を画像分割部３０１に与える。
【０１１１】
画像分割部３０１は、実施の形態２と同様に、補正量決定部３０２から受け取った補正量に基づいて基準画像７０及び参照画像８０を分割し、分割基準画像及び分割参照画像を画像縮小部３０４へ与える。
【０１１２】
画像縮小部３０４は、分割基準画像及び分割参照画像に対して縮小処理を行う。例えば、画像縮小部３０４は、分割基準画像及び分割参照画像それぞれの縦横長を半分にし、それらの画像サイズを縮小前の画像サイズの１／４にする。つまり、画像縮小部３０４は、分割基準画像及び分割参照画像の解像度を縮小前の解像度の１／４にする。分割基準画像及び分割参照画像の水平方向の画素数は半分になるため、分割基準画像及び分割参照画像を縮小しない場合と比べて、視差算出部３０５により算出される視差も半分になる。一方、分割基準画像及び分割参照画像の垂直方向の画素数も半分になるため、分割基準画像及び分割参照画像間の垂直方向の画像ずれ量も半分になる。つまり、図１５Ｂで示したように参照画像を補正した後の画像ずれ量がＧである場合、縮小処理を行うことで更に画像ずれ量は半分、つまりＧ／２になる。
【０１１３】
画像縮小部３０４により視差が半分になったため、視差統合部３０６は、視差算出部３０５から受け取った視差に対して拡大処理を施し、その視差を２倍にする。拡大処理としては、例えば、バイリニア補間又はニアレストネイバー補間等がある。
【０１１４】
実施の形態３では、分割基準画像及び分割参照画像の画像サイズを縮小することにより画像ずれ量を小さくする。その結果、画像ずれ量が小さくなることで視差が算出できる可能性が上がるとともに、対応点探索の検索範囲が狭まり、対応点探索に要する処理時間を短くすることができる。
【０１１５】
尚、上記例では、分割基準画像及び分割参照画像の画像サイズを縮小しているが、基準画像及び参照画像を縮小した後に分割を行ってもよい。予め基準画像及び参照画像を所定の縮小率で縮小した場合、両画像の縮小に伴い画像ずれ量も縮小率に応じて小さくなる。よって、画像の上下方向の短い範囲でブロックマッチングを行うことで画像ずれ量を算出できる。縮小後の画像に対して上下方向の短い範囲でブロックマッチングを行い画像ずれ量を算出することは、縮小前の画像に対して上下方向の広い範囲で画像ずれ量を算出することと同じであるため、両画像が大きくずれている場合の画像ずれ量の算出が容易になる。また、上記例では、基準画像及び参照画像内の２つの水平ラインを用いて補正量を決定したが、より多くの水平ラインを用いて補正量を決定してもよい。例えば、３つの水平ラインを用いて補正量を決定する場合、ライン毎に算出される補正量の中央値を補正量として決定してもよい。
【０１１６】
実施の形態４
以下、図面を参照して実施の形態４を具体的に説明する。
図１８は、実施の形態４に係る視差算出装置の構成例を示すブロック図である。
第一カメラ１及び第二カメラ２は、同一の被写体を同じタイミングで撮影し、撮影した左右一対の基準画像及び参照画像を視差算出装置４００に与える。視差算出装置４００は、第一カメラ１及び第二カメラ２が撮影した基準画像及び参照画像を入力し、基準画像及び参照画像を用いて対応点探索処理及び視差算出処理を実行する。
視差算出装置４００は、画像分割部４０１、補正量決定部４０２、色情報算出部４０３、視差算出部４０４及び視差統合部４０５を有する。
【０１１７】
画像分割部４０１、視差算出部４０４、視差統合部４０５の構成及び動作は、実施の形態２で示したものと同様であるため説明は省略する。
【０１１８】
以下、補正量決定部４０２及び色情報算出部４０３の構成及び動作を説明する。
色情報算出部４０３は基準画像を入力し、画像分割部４０１が分割すると想定される領域毎に、画像を解析し色情報を算出する。例えば、色情報算出部４０３は、各領域に含まれるＲＧＢ画像のＲＧＢそれぞれの画素値の平均（以下、「ＲＧＢの平均値」と呼ぶ）を算出し、ＲＧＢの平均値を色情報として出力する。この色情報からは、各領域内においてどのような色合いの被写体が多いかがわかる。例えば、被写体として空が大半を占める領域においては、ＲＧＢの平均値のＢの値が高くなるため、その領域の画像の色は大半が青色であることがわかる。色情報算出部４０３は、色情報を補正量決定部４０２に与える。
【０１１９】
補正量決定部４０２では、画像ずれ量を算出するためのブロックマッチングを行うが、その際に色情報を用いて、ブロックマッチングに用いる色を領域毎に決定する。例えば、前述のようにＲＧＢの平均値のＢの値が高い場合、青色の被写体が多い領域であることがわかり、Ｂを使って相関値を算出した場合、どれも似たような色であるため、相関値がどれも高くなり、正確な画像ずれ量が算出されない可能性がある。そこで、Ｒ又はＧを用いて相関度を算出することで、正確な画像ずれ量を算出できるようになる。
尚、色情報に応じて何色を利用して画像ずれ量を算出するかは、予め内部メモリ（図示せず）に色情報の参照テーブルを格納しておき、その参照テーブルを参照することにより、ブロックマッチングで使用する色を決定するようにすればよい。また、ＲＧＢそれぞれの平均値を比較し、平均値が最も小さい色を用いてブロックマッチングを行ってもよい。
このように、色情報に応じてブロックマッチングで用いる色を選択することにより、より正確に画像ずれ量を算出し補正量を決定することができる。
【０１２０】
また、上記の例では色情報を領域毎のＲＧＢの平均値としたが、これに限らず、色情報に基づいて各領域を更に複数の小領域に分割し、それらの複数の領域の中で最も大きな面積を有する領域のＲＧＢの平均値を色情報としてもよい。また、各領域を更に複数の小領域に分割し、各小領域のＲＧＢ値の画素値において、例えばＲが２００以上である、Ｇ及びＢが５０以下である場合、その小領域の色は赤であるとし、赤の小領域の数が所定数以上の場合には、領域の色を赤として扱ってもよい。
【０１２１】
実施の形態１〜４では、２台のカメラを用いた視差算出装置を例として挙げたが、３台以上のカメラを用いてもよい。すなわち、基準となるカメラを１台決め、そのカメラから基準画像を得、他のカメラから参照画像を得るようにしてもよい。
【０１２２】
実施の形態１〜４によれば水平方向の画像ずれ量を示す視差データを正確に算出することができるが、更に、その視差データに基づき距離データを算出する構成を追加してもよい。具体的には、カメラ間の間隔である基線長、カメラの傾き、解像度等のカメラパラメータが判明している場合、視差データを算出した後、公知の計算法を用いて視差データから距離データ（奥行データ）を算出する距離算出装置の構成にしてもよい。
【０１２３】
実施の形態１〜４では、２台のカメラを平行法により配置する例を示したが、２台のカメラの光軸が輻輳を持つように配置してもよい。２台のカメラの光軸が輻輳するようにカメラが配置されている場合、平行法を用いてカメラが配置されている場合と異なり、基準画像上の注目点に対応する対応点が参照画像上の左側に存在するとは限らない。よって、そのような場合には参照画像上において左右両方向に対して対応点探索を行う。また、２台のカメラの光軸が輻輳している場合、撮影された画像は最初から歪みを有しており、注目点及び対応点は同一直線上に存在しないため、そのままでは正確な視差を算出できない。しかし、実施の形態１〜４によれば、基準画像及び参照画像を分割して上下方向の位置調整を行い、参照画像上において左右両方向に対する対応点探索を行う処理を行うため正確な視差を算出できる。
【０１２４】
実施の形態１〜４は、２つのカメラモジュールを備えるカメラシステム又はそのカメラシステムを備えた携帯端末、表示装置、車載用カメラシステム若しくは距離検出装置等に適用することができる。
また、カメラでの撮影画像をパーソナルコンピュータ等の計算機に入力して処理してもよく、記憶装置に画像を保存し、その画像を用いて視差又は距離を算出してもよい。
【０１２５】
実施の形態５
以下、図面を参照して実施の形態５を具体的に説明する。
図１９は、実施の形態５に係る視差算出装置の構成例を示すブロック図である。
第一カメラ１及び第二カメラ２は、同一の被写体を同じタイミングで撮影し、撮影した左右一対の基準画像及び参照画像を視差算出装置５００に与える。実施の形態１と同様、被写体に対して左寄りに位置する第一カメラ１の画像を基準画像、その被写体に対して右寄りに位置する第二カメラ２の画像を参照画像とする。また、第一カメラ１及び第二カメラ２は平行法により被写体を撮影するように配置されている。
視差算出装置５００は、第一カメラ１及び第二カメラ２が撮影した基準画像及び参照画像を入力し、入力した基準画像及び参照画像を用いて対応点探索処理及び視差算出処理を実行する。
【０１２６】
視差算出装置５００は、画像分割部５０１、条件設定部５０２、補正量決定部５０３、補正量解析部（差分算出部）５０４、視差算出部５０５、視差統合部５０６及び記憶部５０９を有する。
視差算出部５０５、視差統合部５０６の構成及び動作は、実施の形態１で示したものと同様であるため説明は省略する。
【０１２７】
記憶部５０９は、実施の形態２において補正量決定部２０２が決定した領域毎の補正量を記憶するメモリである。また、記憶部５０９は、画像分割部５０１が分割した分割基準画像及び分割参照画像を記憶する画像メモリである。
【０１２８】
画像分割部５０１は、条件設定部５０２により設定された分割数に従い基準画像及び参照画像を複数の領域に分割し、分割した分割基準画像及び分割参照画像を記憶部５０９の所定領域に記憶させる。
画像分割部５０１は、分割した分割基準画像及び分割参照画像を補正量決定部５０３及び視差算出部５０５に与える。条件設定部５０２は、画像の分割数を設定する。当初の分割数は例えば９（縦３×横３）である。つまり、画像分割部５０１は、基準画像及び参照画像それぞれを９領域に分割する。
【０１２９】
補正量決定部５０３は、画像分割部５０１又は記憶部５０９から分割基準画像及び分割参照画像を取得する。補正量決定部５０３は、分割基準画像及び分割参照画像間における垂直方向の画像ずれ量を算出し、算出した画像ずれを軽減するための補正量を領域毎に決定する。
補正量解析部５０４は、補正量決定部５０３が決定した領域毎の補正量を解析する。補正量解析部５０４は、解析した領域毎の補正量に基づいて、画像を分割する分割数を変更するように条件設定部５０２に通知する。
【０１３０】
条件設定部５０２は、補正量解析部５０４から分割数の変更に係る通知を受け付けた場合、画像の分割数を再設定する。画像分割部５０１は、条件設定部５０２が再設定した分割数に従い、基準画像及び参照画像を複数の領域に再度分割する。画像分割部５０１は、再度分割した分割基準画像及び分割参照画像を補正量決定部５０３及び視差算出部５０５に与える。
【０１３１】
以下、視差算出装置５００の各構成部の動作について詳細に説明する。
図２０は、基準画像及び参照画像を示す説明図である。図２０は、第一カメラ１で撮影した左画像である基準画像５０７と、第二カメラ２で撮影した右画像である参照画像５０８とを示している。ここで、参照画像５０８には、第二カメラ２が備えるレンズによるたる型歪みが存在しているものとする。そのため、参照画像５０８の左右端に近い画像部分又は画像領域ほど、たる型歪みの影響により、基準画像５０７に対する垂直方向のずれ量が大きい。
【０１３２】
図２０に示す基準画像５０７及び参照画像５０８において、画像分割部５０１は、図２０において点線で示すように基準画像５０７及び参照画像５０８を９分割する。補正量決定部５０３は、画像分割部５０１が９分割した基準画像５０７及び参照画像５０８に基づいて、補正量を算出する。補正量決定部５０３は、算出した補正量のデータを補正量解析部５０４へ与える。
【０１３３】
図２１は、補正量決定部が算出した各領域の補正量を示す説明図である。
図２１における数値は、補正量決定部５０３が算出した補正量（ピクセル）を表す。図２１において、符合の＋は参照画像５０８を補正のためにずらす方向が上方向であることを、符号の−は参照画像５０８を補正のためにずらす方向が下方向であることを意味する。図２１Ａは、一回目の画像の分割に対応する各領域について算出された補正量を示す。図２１Ｂは、再分割された画像に対応する各領域について算出された補正量を示す。
【０１３４】
補正量解析部５０４は、補正量決定部５０３が算出した補正量を受け取る。補正量解析部５０４は、受け取った補正量に基づいて、左右の隣接する画像の領域間における補正量の差分を解析する。例えば、図２１Ａにおける左上の領域に着目した場合、当該左上領域の補正量は＋３である。また、左上領域に対して右側の隣接領域（上部中央の領域）における補正量は０である。これら各領域における補正量の差分の絶対値は、３となる。画像における各領域全体が同一の方向に対応するずれ量を持つ場合には、各領域の補正量はほぼ同一になることから、各領域における補正量の差分の絶対値が大きいほど、画像が大きく歪んでいることがわかる。
【０１３５】
図２２は、図２０Ａ及び図２０Ｂそれぞれにおける左上領域及び被写体画像を重ね合わせた状態を模式的に示す説明図である。
画像の歪みが大きい場合、図２２に示すように左上領域における上下方向のずれが被写体画像の中央付近でなくなるように補正しても、被写体画像の左右でずれが残存し、かつ残存するずれの方向も被写体画像の左右で逆方向となる。
そこで、画像における歪みが大きい場合には、画像を既に分割した数よりも多い数でより細かく画像を分割する手法が考えられる。より細かく分割した画像の領域において、補正量の算出を再び実行することにより、基準画像５０７及び参照画像５０８の視差を算出し易くすることが可能となる。これは、細かく分割することにより分割後の領域において上下方向のずれがより小さくなるためである。ずれが小さくなることにより、ある一定のブロックサイズで対応点を探索することから、視差が算出され易くなる。
【０１３６】
ここでは、補正量解析部５０４が画像の再分割を行うか否かを判定するための閾値をあらかじめ設定しておくものとし、この閾値を例えば２とする。補正量解析部５０４は、例えば図２１Ａにおける左上領域と上部中央領域との補正量の差分は閾値２よりも大きい３であるため、左上領域と上部中央領域との間の歪みは大きく、当該領域各々について再分割を行うと判定する。そこで、補正量解析部５０４は、条件設定部５０２に分割数の変更を通知する。条件設定部５０２は、補正量解析部５０４からの通知に基づいて、隣接領域との補正量の差分が大きい領域における分割数を増大させる。画像分割部５０１は、条件設定部５０２が再設定した各領域の分割数に基づいて、基準画像５０７及び参照画像５０８を再び分割する。そして、補正量決定部５０３は、画像分割部５０１が再び分割した分割基準画像及び分割参照画像に基づいて、より細かく補正量の算出及び決定を行う。
【０１３７】
条件設定部５０２は、図２０Ａ及び図２０Ｂの画像上部と画像下部とのそれぞれの領域において、分割数を左右方向に当初の例えば２倍に再設定する。なお、歪みが大きい隣接領域における再分割のための分割数は、当初の２倍に限らず、２倍より多くてもよいことは勿論である。
【０１３８】
画像分割部５０１は、条件設定部が再設定した各領域の分割数に基づいて、基準画像５０７及び参照画像５０８を再度分割する。補正量決定部５０３は、画像分割部５０１が再度分割した領域毎に補正量の算出を行う。その結果を示した説明図が図２１Ｂである。条件設定部５０２が歪みの大きな領域の分割数を増加させたことにより、補正量決定部５０３は補正量をより正確に算出できる。そして、視差算出装置５００は、基準画像５０７に対する補正後の参照画像５０８における上下方向のずれ量を少なくすることにより、視差を算出し易くすることができる。
【０１３９】
実施の形態５では、カメラのレンズにたる型歪みが存在しているとした。しかし、視差算出装置５００はあくまで補正量の差分が大きい領域における分割数を増大させるため、カメラのレンズに例えば糸巻き型歪み又はピンクッション歪みが存在していても、正確に視差を算出することができる。
【０１４０】
実施の形態５では、補正量解析部５０４が画像を再度分割するか否かを判定するための閾値を２とした。しかし、この閾値は、画像の解像度、視差等を算出する際のブロックサイズ、画像を縮小するか否か等のパラメータに応じて、適宜変更されてよい。そして、視差算出装置５００は、これらのパラメータに応じて、ユーザが閾値を適宜変更することができる手段を備えていてもよい。あるいは、視差算出装置５００は、ユーザが適宜変更した閾値を記憶部５０９に保持し、管理するようにしてもよい。
また、視差算出装置５００は、閾値を複数設定し、設定した複数の閾値に応じて、分割数を変更するようにしてもよい。視差算出装置５００は、隣接領域との補正量の差分が大きいほど分割数をより多く増やすことで、歪み量に応じてより正確にずれ量を補正し、視差を算出し易くすることができる。
【０１４１】
立体画像を構成する左画像及び右画像において、被写体が撮影されている画像上の位置は異なる。このことから、歪みが大きい画像ほど被写体の位置毎に上下のずれ量が大きいため、通常のステレオマッチング、オブジェクトを認識することにより対応点を探す手法等では、正確な視差の算出は困難である。しかし、実施の形態５に係る手法では、このような場合にも対応が可能である。
また、ソフトウェア処理においては最初から分割数を多くした場合、補正量の算出に多大な時間を要する。しかし、視差算出装置５００によれば、画像に応じて適応的に補正量を算出できるようになるため、処理量、処理時間等の短縮に資する。
また、画像中央部にはカメラからの距離が近い被写体が撮影されている場合が多く、大きく被写体が写っていることが多い。このような画像に対して分割数を多く設定し過ぎた場合、視差を算出する手がかりとなる被写体の特徴量に乏しい領域が分割されることになり、補正量を誤る可能性がある。しかし、視差算出装置５００によれば、補正量を算出した後に画像の分割数を再設定し、補正量を再度決定することにより、このような誤動作を防止する効果も奏する。
【０１４２】
尚、今回開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１４３】
１      第一カメラ
２      第二カメラ
１００  視差算出装置
１０１  画像分割部
１０２  条件設定部
１０３  補正量決定部
１０４  視差算出部
１０５  視差統合部
２００  視差算出装置
２０１  画像分割部
２０２  補正量決定部
２０３  映像シーン検出部
２０４  視差算出部
２０５  視差統合部
３００  視差算出装置
３０１  画像分割部
３０２  補正量決定部
３０３  映像シーン検出部
３０４  画像縮小部
３０５  視差算出部
３０６  視差統合部
４００  視差算出装置
４０１  画像分割部
４０２  補正量決定部
４０３  色情報算出部
４０４  視差算出部
４０５  視差統合部
５００  視差算出装置
５０１  画像分割部
５０２  条件設定部
５０３  補正量決定部
５０４  補正量解析部（差分算出部）
５０５  視差算出部
５０６  視差統合部
５０９  記憶部
【図１】
0005792662.tif 000003
【図２】
0005792662.tif 000004
【図３】
0005792662.tif 000005
【図４】
0005792662.tif 000006
【図５】
0005792662.tif 000007
【図６】
0005792662.tif 000008
【図７】
0005792662.tif 000009
【図８】
0005792662.tif 000010
【図９】
0005792662.tif 000011
【図１０】
0005792662.tif 000012
【図１１】
0005792662.tif 000013
【図１２】
0005792662.tif 000014
【図１３】
0005792662.tif 000015
【図１４】
0005792662.tif 000016
【図１５】
0005792662.tif 000017
【図１６】
0005792662.tif 000018
【図１７】
0005792662.tif 000019
【図１８】
0005792662.tif 000020
【図１９】
0005792662.tif 000021
【図２０】
0005792662.tif 000022
【図２１】
0005792662.tif 000023
【図２２】
0005792662.tif 000024
【図２３】
0005792662.tif 000025
【図２４】
0005792662.tif 000026