(57)【要約】 【課題】画像全域の位置ずれ補正を高精度で行うとともに位置ずれ補正で用いるメモリの容量を低減する。【解決手段】画像処理装置は、第１取得部と第２取得部と第３取得部と補正部とを備える。第１取得部は、カメラによる撮像で得られた画像を示す撮像画像を取得する。第２取得部は、撮像画像を少なくとも１つの画素以上のサイズごとに分割して得られる複数の単位領域ごとに対応付けられた第１の位置ずれ量を取得する。第３取得部は補正式を取得する。補正部は、撮像画像における座標位置と、補正式を用いて当該座標位置を補正した後の位置との差分を示す第２の位置ずれ量、および、当該座標位置を含む単位領域に対応付けられた第１の位置ずれ量に基づいて、当該座標位置を補正する。【選択図】図２
2015170204.tif 000002
【特許請求の範囲】
【請求項１】
カメラによる撮像で得られた画像を示す撮像画像を取得する第１取得部と、
前記撮像画像を少なくとも１つの画素以上のサイズごとに分割して得られる複数の単位領域ごとに対応付けられた第１の位置ずれ量を取得する第２取得部と、
前記撮像画像における座標位置を補正する補正式を取得する第３取得部と、
前記撮像画像における座標位置と、前記補正式を用いて当該座標位置を補正した後の位置との差分を示す第２の位置ずれ量、および、当該座標位置を含む前記単位領域に対応付けられた前記第１の位置ずれ量に基づいて、当該座標位置を補正する補正部と、を備える、
画像処理装置。
【請求項２】
前記単位領域のサイズは、複数の画素を含むサイズである、
請求項１に記載の画像処理装置。
【請求項３】
前記単位領域に対応付けられた前記第１の位置ずれ量は、前記単位領域に含まれる複数の画素の各々の座標位置に対する前記第１の位置ずれ量の平均値である、
請求項２に記載の画像処理装置。
【請求項４】
前記補正部は、前記撮像画像における座標位置に対応する前記第２の位置ずれ量と、当該座標位置を含む前記単位領域に対応付けられた前記第１の位置ずれ量とを加算することで、当該座標位置を補正するための第１補正量を算出する、
請求項１乃至３のうちの何れか１項に記載の画像処理装置。
【請求項５】
前記第２取得部は、前記単位領域の頂点位置ごとに対応付けられた前記第１の位置ずれ量を取得し、
前記補正部は、前記撮像画像における座標位置に近接する１以上４以下の前記頂点位置に対応付けられた前記第１の位置ずれ量を用いて、当該座標位置と、当該座標位置に近接する１以上４以下の前記頂点位置との距離に応じた線形補間を行うことで得られた位置ずれ量を示す第３の位置ずれ量、および、当該座標位置に対応する前記第２の位置ずれ量に基づいて、当該座標位置を補正する、
請求項２に記載の画像処理装置。
【請求項６】
前記撮像画像における複数の座標位置ごとに、当該座標位置と、理想の位置を示す目標位置との差分を示す第２補正量を対応付けた第２対応情報に基づいて、前記補正式を算出するとともに、前記単位領域ごとに、前記補正式では補正し切れない分の位置ずれ量を示す前記第１の位置ずれ量を対応付けた第１対応情報を生成する生成部をさらに備える、
請求項１乃至５のうちの何れか１項に記載の画像処理装置。
【請求項７】
前記カメラは、ステレオカメラに含まれる複数のカメラのうちの何れかである、
請求項１乃至６のうちの何れか１項に記載の画像処理装置。
【請求項８】
カメラと、
前記カメラによる撮像で得られた画像を示す撮像画像を取得する第１取得部と、
前記撮像画像を少なくとも１つの画素以上のサイズごとに分割して得られる複数の単位領域ごとに対応付けられた第１の位置ずれ量を取得する第２取得部と、
前記撮像画像における座標位置を補正する補正式を取得する第３取得部と、
前記撮像画像における座標位置と、前記補正式を用いて当該座標位置を補正した後の位置との差分を示す第２の位置ずれ量、および、当該座標位置を含む前記単位領域に対応付けられた前記第１の位置ずれ量に基づいて、当該座標位置を補正する補正部と、を備える、
システム。
【請求項９】
カメラによる撮像で得られた画像を示す撮像画像を取得する第１取得ステップと、
前記撮像画像を少なくとも１つの画素以上のサイズごとに分割して得られる複数の単位領域ごとに対応付けられた第１の位置ずれ量を取得する第２取得ステップと、
前記撮像画像における座標位置を補正する補正式を取得する第３取得ステップと、
前記撮像画像における座標位置と、前記補正式を用いて当該座標位置を補正した後の位置との差分を示す第２の位置ずれ量、および、当該座標位置を含む前記単位領域に対応付けられた前記第１の位置ずれ量に基づいて、当該座標位置を補正する補正ステップと、を含む、
画像処理方法。
【請求項１０】
コンピュータを、
カメラによる撮像で得られた画像を示す撮像画像を取得する第１取得手段と、
前記撮像画像を少なくとも１つの画素以上のサイズごとに分割して得られる複数の単位領域ごとに対応付けられた第１の位置ずれ量を取得する第２取得手段と、
前記撮像画像における座標位置を補正する補正式を取得する第３取得手段と、
前記撮像画像における座標位置と、前記補正式を用いて当該座標位置を補正した後の位置との差分を示す第２の位置ずれ量、および、当該座標位置を含む前記単位領域に対応付けられた前記第１の位置ずれ量に基づいて、当該座標位置を補正する補正手段として機能させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、システム、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
例えばカメラによる撮像対象の被写体は、レンズなどの影響で歪んで撮像される。その歪みをとる校正技術として、アフィン変換などの多項式に基づく補正方式が既に知られている。また、例えば画素ごとに（撮像画像の座標位置ごとに）補正量を対応付けたルックアップテーブル（ＬＵＴ）に基づく補正方式も既に知られている（特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、アフィン変換などの多項式に基づく補正方式では、画像全域がその多項式の補正で最適化されることは殆どなく、補正の精度が十分ではなかった。さらに、多項式による計算が多く、演算コストが大きくなるという問題もある。また、画素ごとに補正量を対応付けたルックアップテーブルに基づく補正方式では、補正量のレンジが大きい場合や、補正の精度を上げるために補正の刻み幅を小さくする場合は、補正量を表すパターン数が増大するので、ルックアップテーブルのデータ量が増加してしまう。その結果、ルックアップテーブルを保持するメモリの容量が増大して製品コストを上げるという問題がある。
【０００４】
本発明は、上記に鑑みてなされたものであって、画像全域の位置ずれ補正を高精度で行うとともに位置ずれ補正で用いるメモリの容量を低減することが可能な画像処理装置、システム、画像処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明は、カメラによる撮像で得られた画像を示す撮像画像を取得する第１取得部と、前記撮像画像を少なくとも１つの画素以上のサイズごとに分割して得られる複数の単位領域ごとに対応付けられた第１の位置ずれ量を取得する第２取得部と、前記撮像画像における座標位置を補正する補正式を取得する第３取得部と、前記撮像画像における座標位置と、前記補正式を用いて当該座標位置を補正した後の位置との差分を示す第２の位置ずれ量、および、当該座標位置を含む前記単位領域に対応付けられた前記第１の位置ずれ量に基づいて、当該座標位置を補正する補正部と、を備える。
【発明の効果】
【０００６】
本発明によれば、画像全域の位置ずれ補正を高精度で行うとともに位置ずれ補正で用いるメモリの容量を低減することができる。
【図面の簡単な説明】
【０００７】
【図１】図１は、実施形態のシステムの構成の一例を示す図である。
【図２】図２は、画像補正処理部の機能構成の一例を示す図である。
【図３】図３は、第２対応情報の一例を示す図である。
【図４】図４は、撮像画像を分割して得られるブロックの一例を示す図である。
【図５】図５は、第１対応情報を生成する際のフローを示す図である。
【図６】図６は、変形例を説明するための図である。
【図７】図７は、実施形態の効果を説明するための図である。
【図８】図８は、一の座標位置が４つの頂点位置に近接している場合を示す模式図である。
【図９】図９は、一の座標位置が１つの頂点位置に近接している場合を示す模式図である。
【図１０】図１０は、一の座標位置が２つの頂点位置に近接している場合を示す模式図である。
【図１１】図１１は、変形例のシステムの構成の一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照しながら、本発明に係る画像処理装置、システム、画像処理方法およびプログラムの実施形態を詳細に説明する。
【０００９】
図１は、本実施形態のシステム１の構成の一例を示す図である。図１に示すように、システム１は、カメラ１０と、画像補正処理部２０と、第１記憶部３０と、第２記憶部４０とを備える。
【００１０】
カメラ１０は、レンズが向けられた撮像対象（被写体）を撮像する機能を有する。なお、本明細書において、「撮像」とは、レンズなどの光学系により結像された被写体（撮像対象）の像を、電気信号に変換することを指す。
【００１１】
画像補正処理部２０は、カメラ１０による撮像で得られた画像（以下の説明では、「撮像画像」と称する場合がある）における複数の座標位置を補正（校正）する機能を有する。以下、画像補正処理部２０の具体的な内容について説明する。なお、この例では、画像補正処理部２０は、請求項の「画像処理装置」に対応していると考えることができる。
【００１２】
図２は、画像補正処理部２０の機能構成の一例を示す図である。図２に示すように、画像補正処理部２０は、第３記憶部２１と、生成部２２と、第１取得部２３と、第２取得部２４と、第３取得部２５と、補正部２６と、出力部２７とを備える。
【００１３】
第３記憶部２１は、撮像画像における複数の座標位置ごとに、当該座標位置と、撮像画像の歪みを生じさせない理想の位置を示す目標位置との差分を示す第２補正量を対応付けた第２対応情報を記憶する。第２対応情報は、公知の様々な技術を用いて生成することができる。
【００１４】
生成部２２は、第３記憶部２１に予め記憶された第２対応情報に基づいて、撮像画像の座標位置を補正する補正式（撮像画像の座標位置を目標位置に近い位置に補正するための補正式）を算出するとともに、撮像画像を、少なくとも１つの画素以上のサイズごとに分割して得られる複数の単位領域（以下の説明では、「ブロック」と称する場合がある）ごとに、補正式を用いた補正では補正し切れない分の位置ずれ量を示す第１位置ずれ量を対応付けた第１対応情報を生成する。より具体的には以下のとおりである。
【００１５】
図３は、第３記憶部２１に予め記憶された第２対応情報の一例を示す図である。図３の例では、「ｘ」は、撮像画像の水平方向（以下、「ｘ方向」と称する場合がある）における座標位置を表し、「ｙ」は、撮像画像の垂直方向（以下、「ｙ方向」と称する場合がある）における座標位置を表し、「ｄｘ」はｘ方向の第２補正量を表し、「ｄｙ」はｙ方向の第２補正量を表すものとする。なお、座標位置の基準となる原点の位置は任意に設定可能であり、例えば撮像画像の中心（重心位置）を原点として設定することもできるし、左上の位置や左下の位置を原点として設定することもできる。
【００１６】
図３の例では、Ｎｏ．「１」で識別される座標位置（ｘ，ｙ）は、（−５００，−１００）であり、この座標位置に対応付けられた第２補正量（ｄｘ，ｄｙ）は、（０．１，０．２）である。また、Ｎｏ．「２」で識別される座標位置（ｘ，ｙ）は、（１，２）であり、この座標位置に対応付けられた第２補正量（ｄｘ，ｄｙ）は、（０．１，０．１）である。また、Ｎｏ．「３」で識別される座標位置（ｘ，ｙ）は、（１，６）であり、この座標位置に対応付けられた第２補正量（ｄｘ，ｄｙ）は、（０．０５，０．１２）である。また、Ｎｏ．「４」で識別される座標位置（ｘ，ｙ）は、（３，４）であり、この座標位置に対応付けられた第２補正量（ｄｘ，ｄｙ）は、（０．０３，０．０９）である。また、Ｎｏ．「５」で識別される座標位置（ｘ，ｙ）は、（６，５）であり、この座標位置に対応付けられた第２補正量（ｄｘ，ｄｙ）は、（０．１５，０．２４）である。さらに、Ｎｏ．「６」で識別される座標位置（ｘ，ｙ）は、（３００，６０）であり、この座標位置に対応付けられた第２補正量（ｄｘ，ｄｙ）は、（０．１４，０．２）である。
【００１７】
生成部２２は、図３に例示された第２対応情報を用いて、最小二乗法により所定の多項式に近似することで、撮像画像の座標位置を目標位置に近い位置に補正するための補正式を算出する。この例における補正式は、以下の式１で表すことができる。
【００１８】
【数１】
2015170204.tif 000003
【００１９】
上記式１において、ｘ’は、補正式を用いてｘ方向の座標位置ｘを補正した後の位置を表し、ｙ’は、補正式を用いてｙ方向の座標位置ｙを補正した後の位置を表している。ここでは、座標位置ｘと、補正式による補正後の位置ｘ’との差分（ｘ’−ｘ）を示す位置ずれ量（以下の説明では、「第２の位置ずれ量」と称する場合がある）は、補正式によるｘ方向の補正量を表していると考えることができる。同様に、座標位置ｙと、補正式による補正後の位置ｙ’との差分（ｙ’−ｙ）を示す第２の位置ずれ量は、補正式によるｙ方向の補正量を表していると考えることができる。生成部２２は、以上のようにして算出した補正式の係数を、補正パラメータとして図１に示す第１記憶部３０に記録する。
【００２０】
生成部２２は、補正式を算出した後、撮像画像を少なくとも１つの画素以上のサイズごとに分割して得られる複数のブロックごとに、上述の補正式を用いた補正では補正し切れない分の位置ずれ量を示す第１の位置ずれ量を対応付けた第１対応情報を生成する。本実施形態では、各ブロックのサイズは、複数の画素を含むサイズである。より具体的には、各ブロックのサイズは、ｘ方向３２ピクセル（１ピクセル＝１つの画素のサイズ）×ｙ方向３２ピクセルである。この例では、図４に示すように、撮像画像の全体のサイズは、ｘ方向１２８０ピクセル×ｙ方向９８０ピクセルであるとする。ｘ方向３２ピクセル×ｙ方向３２ピクセルを１つのブロックのサイズとして撮像画像を分割すると、ｘ方向４０個×ｙ方向３０個＝１２００個のブロックが得られる。
【００２１】
生成部２２は、以上のようにして得られた複数のブロックごとに、第１の位置ずれ量を対応付けた第１対応情報を生成するが、この例では、１つのブロックに対応付けられる第１の位置ずれ量は、当該ブロックに含まれる複数の画素の各々の座標位置に対する第１の位置ずれ量の平均値で表される。例えば図３に示すＮｏ．「２」〜Ｎｏ．「５」で識別される座標位置（ｘ，ｙ）が、同一のブロックに含まれている場合を想定する。この場合、生成部２２は、図３に示すＮｏ．「２」〜Ｎｏ．「５」で識別される座標位置（ｘ，ｙ）の各々に対する第１の位置ずれ量を算出し、それらの平均値を、図３に示すＮｏ．「２」〜Ｎｏ．「５」で識別される座標位置（ｘ，ｙ）を含むブロックに対応付けるという具合である。
【００２２】
まず、図３に示すＮｏ．「２」で識別される座標位置（ｘ，ｙ）のｘ方向の座標位置ｘに対する第１の位置ずれ量の算出方法を説明する。ｘ方向の座標位置（ｘ＝１）、ｙ方向の座標位置（ｙ＝２）を上記式１に代入すると、補正式による補正後の位置ｘ’は、０．０８＋１．０２×１−０．０１×２＝１．０８となる。そして、上述の第２の位置ずれ量（ｘ’−ｘ）は、１．０８−１＝０．０８となる。ここで、図３に示すように、Ｎｏ．「２」で識別される座標位置（ｘ，ｙ）に対応付けられた第２補正量ｄｘ（座標位置ｘと目標位置との差分）＝０．１なので、補正式を用いた補正では補正し切れない分の位置ずれ量を示す第１の位置ずれ量は、０．１−０．０８＝０．０２と算出することができる。
【００２３】
次に、図３に示すＮｏ．「３」で識別される座標位置（ｘ，ｙ）のｘ方向の座標位置ｘに対する第１の位置ずれ量の算出方法を説明する。ｘ方向の座標位置（ｘ＝１）、ｙ方向の座標位置（ｙ＝６）を上記式１に代入すると、補正式による補正後の位置ｘ’は、０．０８＋１．０２×１−０．０１×６＝１．０４となる。そして、上述の第２の位置ずれ量（ｘ’−ｘ）は、１．０４−１＝０．０４となる。ここで、図３に示すように、Ｎｏ．「３」で識別される座標位置（ｘ，ｙ）に対応付けられた第２補正量ｄｘ＝０．０５なので、補正式を用いた補正では補正し切れない分の位置ずれ量を示す第１の位置ずれ量は、０．０５−０．０４＝０．０１と算出することができる。
【００２４】
次に、図３に示すＮｏ．「４」で識別される座標位置（ｘ，ｙ）のｘ方向の座標位置ｘに対する第１の位置ずれ量の算出方法を説明する。ｘ方向の座標位置（ｘ＝３）、ｙ方向の座標位置（ｙ＝４）を上記式１に代入すると、補正式による補正後の位置ｘ’は、０．０８＋１．０２×３−０．０１×４＝３．１となる。そして、上述の第２の位置ずれ量（ｘ’−ｘ）は、３．１−３＝０．１となる。ここで、図３に示すように、Ｎｏ．「４」で識別される座標位置（ｘ，ｙ）に対応付けられた第２補正量ｄｘ＝０．０３なので、補正式を用いた補正では補正し切れない分の位置ずれ量を示す第１の位置ずれ量は、０．０３−０．１＝−０．０７と算出することができる。
【００２５】
次に、図３に示すＮｏ．「５」で識別される座標位置（ｘ，ｙ）のｘ方向の座標位置ｘに対する第１の位置ずれ量の算出方法を説明する。ｘ方向の座標位置（ｘ＝６）、ｙ方向の座標位置（ｙ＝５）を上記式１に代入すると、補正式による補正後の位置ｘ’は、０．０８＋１．０２×６−０．０１×５＝６．１５となる。そして、上述の第２の位置ずれ量（ｘ’−ｘ）は、６．１５−６＝０．１５となる。ここで、図３に示すように、Ｎｏ．「５」で識別される座標位置（ｘ，ｙ）に対応付けられた第２補正量ｄｘ＝０．１５なので、補正式を用いた補正では補正し切れない分の位置ずれ量を示す第１の位置ずれ量は、０．１５−０．１５＝０．００と算出することができる。
【００２６】
生成部２２は、以上のようにして算出した、図３に示すＮｏ．「２」〜Ｎｏ．「５」で識別される座標位置（ｘ，ｙ）のｘ方向の座標位置ｘに対する第１の位置ずれ量を平均した値（（０．０２＋０．０１−０．０７＋０．００）／４＝−０．０１）を、Ｎｏ．「２」〜Ｎｏ．「５」で識別される座標位置（ｘ，ｙ）を含むブロックに対応付けられるｘ方向の第１の位置ずれ量として算出する。当該ブロックに対応付けられるｙ方向の第１の位置ずれ量も、同様にして算出することができる。以上のようにして、生成部２２は、複数のブロックごとに、第１の位置ずれ量を対応付けた第１対応情報を生成し、生成した第１対応情報を図１に示す第２記憶部４０に記録する。
【００２７】
図５は、第１対応情報を生成する際のフローを示す図である。まず、生成部２２は、第３記憶部２１から第２対応情報を取得する（ステップＳ１）。次に、生成部２２は、ステップＳ１で取得した第２対応情報に基づいて、補正式を算出し（ステップＳ２）、算出した補正式の係数を、補正パラメータとして第１記憶部３０に記録する。次に、生成部２２は、撮像画像を分割して得られる上述の複数のブロックごとに、ステップＳ２で算出した補正式を用いた補正では補正し切れない分の位置ずれ量を示す第１の位置ずれ量を対応付けた第１対応情報を生成し（ステップＳ３）、生成した第１対応情報を第２記憶部４０に記録する。
【００２８】
図２に戻って説明を続ける。第１取得部２３は、カメラ１０から撮像画像を取得する。第２取得部２４は、撮像画像を少なくとも１つの画素以上のサイズごとに分割して得られる複数の単位領域（ブロック）ごとに対応付けられた第１の位置ずれ量を取得する。本実施形態では、第２取得部２４は、第２記憶部４０から上述の第１対応情報を取得し、取得した第１対応情報を補正部２６へ渡す。第３取得部２５は、第１記憶部３０から補正式の係数を示す補正パラメータ（見方を変えれば補正式を示す情報であると考えることもできる）を取得し、取得した補正パラメータ（補正式）を補正部２６へ渡す。
【００２９】
補正部２６は、撮像画像における座標位置と、上述の補正式を用いて当該座標位置を補正した後の位置との差分を示す第２の位置ずれ量、および、当該座標位置を含む単位領域（ブロック）に対応付けられた第１の位置ずれ量に基づいて、当該座標位置を補正する。補正部２６は、以上の補正を、撮像画像における複数の座標位置ごとに実行する。また、本実施形態では、補正部２６は、撮像画像における座標位置に対応する第２の位置ずれ量と、当該座標位置を含むブロックに対応付けられた第１の位置ずれ量とを加算することで、当該座標位置を補正するための第１補正量を算出する。
【００３０】
以下、１つの座標位置に着目して、具体的な内容を説明する。補正部２６は、当該座標位置と、第３取得部２５により取得された補正パラメータから導かれる補正式を用いて当該座標位置を補正した後の位置との差分を示す第２の位置ずれ量を求める（ｘ方向およびｙ方向の各々の第２の位置ずれ量を求める）。そして、当該座標位置がどのブロックに含まれるのかを特定し、第２取得部２４により取得された第１対応情報を参照して、特定したブロックに対応付けられた第１の位置ずれ量を求める（ｘ方向およびｙ方向の各々の第１の位置ずれ量を求める）。そして、以上のようにして求めた第２の位置ずれ量と第１の位置ずれ量とを加算して第１補正量を算出する（ｘ方向およびｙ方向の各々の第１補正量を算出する）。そして、補正部２６は、当該座標位置のｘ方向の座標位置、および、ｙ方向の座標位置の各々に対して、算出した第１補正量だけシフトさせる補正を行うといった具合である。
【００３１】
一例として、図３に示すＮｏ．「２」で識別される座標位置（ｘ，ｙ）＝（１，２）のｘ方向の座標位置ｘを補正するための第１補正量の算出方法を説明する。補正部２６は、第３取得部２５により取得された補正パラメータから上記式１で表される補正式を導いた上で、ｘ方向の座標位置（ｘ＝１）、ｙ方向の座標値（ｙ＝２）を補正式に代入する。これにより、補正式による補正後の位置ｘ’＝０．０８＋１．０２×１−０．０１×２＝１．０８が得られるので、座標位置ｘに対応する第２の位置ずれ量（ｘ’−ｘ）は、１．０８−１＝０．０８となる。ここでは、上述したように、図３に示すＮｏ．「２」〜Ｎｏ．「５」で識別される座標位置（ｘ，ｙ）は、同一のブロックに含まれているものとし、当該ブロックに対応付けられたｘ方向の第１の位置ずれ量は、−０．０１であるとする。補正部２６は、Ｎｏ．「２」で識別される座標位置（ｘ，ｙ）が含まれるブロックに対応付けられたｘ方向の第１の位置ずれ量（＝−０．０１）と、ｘ方向の座標位置ｘに対応する第２の位置ずれ量（＝０．０８）とを加算して、第１補正量（＝０．０７）を算出することができる。ｙ方向の座標位置ｙや他の座標位置についても、同様にして第１補正量を算出することができる。
【００３２】
図２の説明を続ける。出力部２７は、補正部２６による補正が行われた後の撮像画像（以下の説明では、「補正後画像」と称する場合がある）を出力する。出力の態様は任意であるが、出力の一例として、例えば出力部２７は、メモリなどの外部装置（不図示）に対して、補正後画像を送信する形態であってもよい。
【００３３】
本実施形態では、以上に説明した画像補正処理部２０は、ＣＰＵ、ＲＯＭやＲＡＭ等の記憶装置、カメラ１０等と通信するための通信Ｉ／Ｆを含むコンピュータ装置で構成され、上述した画像補正処理部２０の各部の機能（生成部２２、第１取得部２３、第２取得部２４、第３取得部２５、補正部２６および出力部２７）は、ＣＰＵが記憶装置に格納されたプログラムを実行することにより実現される。なお、これに限らず、例えば上述した画像補正処理部２０の各部の機能のうちの少なくとも一部が専用のハードウェア回路（例えば半導体集積回路等）で実現されてもよい。また、上述の第３記憶部２１は、例えばＲＯＭや外部記憶装置（例えばＨＤＤ）等により実現することができる。
【００３４】
また、例えば上述の第１記憶部３０および第２記憶部４０が、画像補正処理部２０に搭載される形態であってもよい。さらに、例えば上述の第３記憶部２１および生成部２２が、画像補正処理部２０とは別の装置に搭載される形態であってもよい。何れの形態であっても、上述の第１取得部２３、第２取得部２４、第３取得部２５および補正部２６が少なくとも搭載された装置が、請求項の「画像処理装置」に対応していると考えることができる。
【００３５】
以上に説明したように、本実施形態の画像補正処理部２０は、撮像画像を所定のサイズ（この例では複数の画素を含むサイズ）ごとに分割して得られる複数のブロックごとに対応付けられた第１の位置ずれ量と、補正式の係数を示す補正パラメータとを取得する。そして、撮像画像における座標位置と、取得した補正パラメータから導き出される補正式を用いて当該座標位置を補正した後の位置との差分を示す第２の位置ずれ量、および、当該座標位置を含むブロックに対応付けられた第１の位置ずれ量に基づいて、当該座標位置を補正する。以上の補正を、撮像画像における複数の座標位置ごとに実行することにより、画像全域の位置ずれ補正を高精度で行うとともに位置ずれ補正で用いるメモリの容量を低減することができる。
【００３６】
ここで、対比例として、補正式を用いた補正を行わずに、ルックアップテーブルのみを用いて補正を行う構成を想定する。ここでは、±４０ピクセルまでは補正する可能性があり、かつ、補正の単位は０．１ピクセル単位であることを前提とする。このルックアップテーブルは、図６に示すように、ｘ方向３２ピクセル×ｙ方向３２ピクセルを１つのブロックのサイズとして撮像画像を分割して得られる複数（ｘ方向４０個×ｙ方向３０個＝１２００個）のブロックごとに、当該ブロックに含まれる複数の座標位置と１対１に対応する複数の第２補正量（座標位置と目標位置との差分）の平均値（以下の説明では、「補正すべき量」と称する場合がある）を対応付けて記憶しているものとする。ルックアップテーブルは、複数のブロックごとに、当該ブロックの補正すべき量（ｘ方向およびｙ方向の各々の補正すべき量）を対応付けて記憶し、例えば図６に示すブロック０に対しては、ｘ方向（あるいはｙ方向）の補正すべき量として「２８．５」を対応付けて記憶し、ブロック１に対しては、ｘ方向（あるいはｙ方向）の補正すべき量として「２９．２」を対応付けて記憶し、ブロック２に対しては、ｘ方向（あるいはｙ方向）の補正すべき量として「３０．８」を対応付けて記憶し、ブロック１１９９に対しては、ｘ方向（あるいはｙ方向）の補正すべき量として「−２８．０」を対応付けて記憶するといった具合である。
【００３７】
この例では、ルックアップテーブルは、ブロック単位で−４０．０〜＋４０．０の値を記憶する必要があるので、０．１刻みで取り得るパターン（−４０．０，−３９．９，−３９．８，−３９．７，・・・，＋３９．９，＋４０．０）は、８０１通りとなる。８０１通りのパターンを表現するためには、最低限１０ｂｉｔの情報が必要になるので（２９＜８０１＜２１０）、ブロック単位で、ｘ方向およびｙ方向の各々の補正すべき量を表すためには、それぞれ１０ｂｉｔずつの情報を必要とする。前述したように、ブロックの総数は１２００個であるので、ルックアップテーブル全体としては、１２００×１０×２＝２４０００ｂｉｔの情報を必要とする。したがって、このルックアップテーブルを保持するためには、２４０００ｂｉｔ＝３０００Ｂｙｔｅのメモリ容量が必要になる。
【００３８】
これに対して、本実施形態における第１対応情報（ルックアップテーブル）は、複数のブロックごとに、補正式を用いた補正では補正し切れなかった分の位置ずれ量を示す第１の位置ずれ量（以下の説明では、「不足分の補正量」と称する場合がある）を対応付けて記憶するので、例えば図７に示すブロック０に対しては、不足分の補正量として「０．１」を対応付けて記憶し、ブロック１に対しては、不足分の補正量として「０．２」を対応付けて記憶し、ブロック２に対しては、不足分の補正量として「０．８」を対応付けて記憶し、ブロック１１９９に対しては、不足分の補正量として「−０．２」を対応付けて記憶するといった具合である。補正式により大まかな補正が行われているため、第１対応情報がブロック単位で記憶する情報のレンジは、対比例に比べて狭くなり、仮に±１ピクセルで十分だとすれば、０．１刻みで取り得るパターン（−１．０，−０．９，−０．８，−０．７，・・・，＋０．９，＋１．０）は、２１通りとなる。２１通りのパターンを表現するためには、最低限５ｂｉｔの情報が必要になるので（２４＜２１＜２５）、ブロック単位で、ｘ方向およびｙ方向の各々の不足分の補正量を表すためには、それぞれ５ｂｉｔずつの情報を必要とする。前述したように、ブロックの総数は１２００個であるので、第１対応情報全体としては、１２００×５×２＝１２０００ｂｉｔの情報を必要とする。したがって、この第１対応情報を保持するために必要なメモリの容量は、１２０００ｂｉｔ＝１５００Ｂｙｔｅとなり、対比例に比べて半分で済む。
【００３９】
なお、上述の実施形態では、撮像画像を分割する各ブロックのサイズは、複数の画素を含むサイズであるが、これに限らず、例えば各ブロックのサイズは、１つの画素分のサイズ（＝１ピクセル分のサイズ）であっても構わない。要するに、各ブロック（単位領域）は、撮像画像を少なくとも１つの画素以上のサイズごとに分割して得られるものであればよい。この場合、対比例におけるルックアップテーブルを保持するために必要なメモリ容量は、１２８０×９６０×２×１０＝２４５７６００＝３０７２０００Ｂｙｔｅ（約３ＭＢｙｔｅ）となる。これに対して、上述の実施形態における第１対応情報を保持するために必要なメモリ容量は、１２８０×９６０×２×５＝１２２８８０００＝１５３６０００（約１．５ＭＢｙｔｅ）となり、約１．５ＭＢｙｔｅ分のメモリ容量を削減することができる。したがって、複数のブロックごとに、補正式を用いた補正では補正し切れなかった分の位置ずれ量を示す第１の位置ずれ量（不足分の補正量）を対応付けた第１対応情報を用意するという本実施形態の構成によれば、ブロックサイズが小さいほど、第１対応情報を保持するために必要になるメモリ容量自体は大きくなるものの、対比例に比べてメモリ容量を削減できる量は大きくなることが分かる。
【００４０】
以上、本発明に係る実施形態について説明したが、本発明は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【００４１】
（変形例１）
例えば第２取得部２４は、単位領域（ブロック）の頂点位置ごとに対応付けられた第１の位置ずれ量を取得する形態であってもよい。より具体的には、第２取得部２４が取得する上述の第１対応情報は、複数のブロックの各々の頂点位置ごとに、第１の位置ずれ量を対応付けた情報であってもよい。一例として、図４に示す各ブロックの中心位置（重心位置）を新たなブロックの頂点位置とし、その頂点位置に対して、第１の位置ずれ量を対応付ける形態とすることもできるが、これに限られるものではない。
【００４２】
そして、補正部２６は、撮像画像における座標位置に近接する１以上４以下の頂点位置に対応付けられた第１の位置ずれ量を用いて、当該座標位置と、当該座標位置に近接する１以上４以下の頂点位置との距離に応じた線形補間を行うことで得られた位置ずれ量を示す第３の位置ずれ量と、当該座標位置に対応する第２の位置ずれ量とに基づいて、当該座標位置を補正することもできる。補正部２６は、以上の補正を、撮像画像における複数の座標位置ごとに実行することができる。例えば図８に示すように、一の座標位置が、４つの頂点位置に近接している（囲まれている）場合を想定する。なお、一の座標位置が頂点位置に近接しているとは、例えば当該一の座標位置と、頂点位置との間の距離が閾値以下である場合に相当すると考えてもよい。図８の例では、説明の便宜上、一の座標位置の左上に位置する頂点位置に対応付けられた第１の位置ずれ量をＬＵＴ値（１）と表記し、右上に位置する頂点位置に対応付けられた第１の位置ずれ量をＬＵＴ値（２）表記し、左下に位置する頂点位置に対応付けられた第１の位置ずれ量をＬＵＴ値（３）と表記し、右下に位置する頂点位置に対応付けられた第１の位置ずれ量をＬＵＴ値（４）と表記する。
【００４３】
この場合、補正部２６は、ＬＵＴ値（１）、ＬＵＴ値（２）、ＬＵＴ値（３）およびＬＵＴ値（４）を用いて、一の座標位置と、ＬＵＴ値（１）に対応する頂点位置、ＬＵＴ値（２）に対応する頂点位置、ＬＵＴ値（３）に対応する頂点位置、および、ＬＵＴ値（４）に対応する頂点位置の各々との距離に応じた線形補間を行うことで、第３の位置ずれ量を算出する。例えば以下の式２を用いて、第３の位置ずれ量を算出することもできる。
【００４４】
【数２】
2015170204.tif 000004
【００４５】
そして、補正部２６は、上述の実施形態と同様に、当該一の座標位置と、第３取得部２５により取得された補正パラメータから導かれる補正式を用いて当該一の座標位置を補正した後の位置との差分を示す第２の位置ずれ量を求め、その求めた第２の位置ずれ量と第３の位置ずれ量とを加算することで、当該一の座標位置を補正するための第１補正量を算出することができる。
【００４６】
次に、例えば図９に示すように、一の座標位置が、１つの頂点位置に近接している場合を想定する。図９の例では、ＬＵＴ値（１）が対応付けられた頂点位置が、一の座標位置に近接しているものとする。この例では、補正部２６は、ＬＵＴ値（１）を、一の座標値に対応する第３の位置ずれ量として算出する。この場合、上記式２において、ｍ＝０、ｎ＝０となる。そして、補正部２６は、上述の実施形態と同様に、当該一の座標位置と、第３取得部２５により取得された補正パラメータから導かれる補正式を用いて当該一の座標位置を補正した後の位置との差分を示す第２の位置ずれ量を求め、その求めた第２の位置ずれ量と第３の位置ずれ量とを加算することで、当該一の座標位置を補正するための第１補正量を算出することができる。
【００４７】
次に、例えば図１０に示すように、一の座標位置が、２つの頂点位置に近接している場合を想定する。図１０の例では、ＬＵＴ値（１）に対応付けられた頂点位置と、ＬＵＴ値（３）に対応付けられた頂点位置とが、一の座標位置に近接しているものとする。この例では、補正部２６は、ＬＵＴ値（１）とＬＵＴ値（３）とを用いて、一の座標位置と、ＬＵＴ値（１）に対応付けられた頂点位置、および、ＬＵＴ値（３）に対応付けられた頂点位置の各々との間の距離に応じた線形補間を行うことで、第３の位置ずれ量を算出する。この場合、上記式２において、ｎ＝０となる。そして、補正部２６は、上述の実施形態と同様に、当該一の座標位置と、第３取得部２５により取得された補正パラメータから導かれる補正式を用いて当該一の座標位置を補正した後の位置との差分を示す第２の位置ずれ量を求め、その求めた第２の位置ずれ量と第３の位置ずれ量とを加算することで、当該一の座標位置を補正するための第１補正量を算出することができる。
【００４８】
（変形例２）
例えば図１１に示すように、システム１は、ステレオカメラ１００と、画像補正処理部２０と、第１記憶部３０と、第２記憶部４０とを備える形態であってもよい。図１１の例では、ステレオカメラ１００は、水平方向に所定の距離（基線長）Ｂを設けて配置された一対の第１カメラ１０ａおよび第２カメラ１０ｂを有しているが、これに限らず、例えばステレオカメラ１００に含まれるカメラの数は３つ以上であってもよい。
【００４９】
この例では、図２に示す第３記憶部２１は、第１カメラ１０ａ用の第２対応情報（第１カメラ１０ａによる撮像で得られた撮像画像における複数の座標位置ごとに、当該座標位置と、理想の視差を得るための理想の位置を示す目標位置との差分を示す第２補正量を対応付けた情報）と、第２カメラ１０ｂ用の第２対応情報（第２カメラ１０ｂによる撮像で得られた撮像画像における複数の座標位置ごとに、当該座標位置と、理想の視差を得るための理想の位置を示す目標位置との差分を示す第２補正量を対応付けた情報）とを別々に記憶している。第１カメラ１０ａ用の第２対応情報、および、第２カメラ１０ｂ用の第２対応情報の各々の作成方法は任意であるが、例えば距離が既知である被写体（チャート）を第１カメラ１０ａまたは第２カメラ１０ｂで撮像し、撮像により得られた撮像画像内の複数の特徴点と１対１に対応する複数の座標位置ごとに、距離に応じた適正な視差を得るための目標位置を対応付けることで作成することができる。また、例えば特願２０１３−２６２８３６に開示された技術のように、異なる距離に設置される被写体を用いて、第１カメラ１０ａ用の第２対応情報、および、第２カメラ１０ｂ用の第２対応情報を作成することもできる。
【００５０】
また、この例では、図２に示す生成部２２は、第１カメラ１０ａ用の第２対応情報に基づいて、第１カメラ１０ａによる撮像で得られる撮像画像（以下、「第１撮像画像」と称する場合がある）の座標位置を目標位置に近い位置に補正するための補正式（以下、「第１補正式」と称する場合がある）を算出するとともに、第１撮像画像を、少なくとも１つの画素以上のサイズごとに分割して得られる複数のブロックごとに、第１補正式を用いた補正では補正し切れない分の位置ずれ量を示す第１位置ずれ量を対応付けた第１対応情報（以下、「第１撮像画像用の第１対応情報」と称する）を生成する。また、生成部２２は、第２カメラ１０ｂ用の第２対応情報に基づいて、第２カメラ１０ｂによる撮像で得られる撮像画像（以下、「第２撮像画像」と称する場合がある）の座標位置を目標位置に近い位置に補正するための補正式（以下、「第２補正式」と称する場合がある）を算出するとともに、第２撮像画像を、少なくとも１つの画素以上のサイズごとに分割して得られる複数のブロックごとに、第２補正式を用いた補正では補正し切れない分の位置ずれ量を示す第１位置ずれ量を対応付けた第１対応情報（以下、「第２撮像画像用の第１対応情報」と称する）を生成する。
【００５１】
つまり、生成部２２は、第１撮像画像用の補正式および第１対応情報を生成するとともに、第２撮像画像用の補正式および第１対応情報を生成することになるので、補正式の係数を示す補正パラメータを記憶する第１記憶部３０、および、第１対応情報を記憶する第２記憶部４０の各々に必要な容量は、上述の実施形態の２倍になる。
【００５２】
また、この例では、図２に示す第１取得部２３は、第１カメラ１０ａから第１撮像画像を取得し、第２カメラ１０ｂから第２撮像画像を取得する。また、図２に示す第２取得部２４は、第２記憶部４０から、第１撮像画像用の第１対応情報および第２撮像画像用の第１対応情報を取得する。また、図２に示す第３取得部２５は、第１記憶部３０から、第１補正式の係数を示す補正パラメータ（以下、「第１補正パラメータ」と称する場合がある）および第２補正式の係数を示す補正パラメータ（以下、「第２補正パラメータ」と称する場合がある）を取得する。
【００５３】
さらに、この例では、図２に示す補正部２６は、第１撮像画像用の第１対応情報と第１補正式とを用いて、第１撮像画像の補正を行い、かつ、第２撮像画像用の第１対応情報と第２補正式とを用いて、第２撮像画像の補正を行う。なお、この例における画像補正処理部２０の各部の機能は、基本的には上述の実施形態と同様である。見方を変えれば、上述の実施形態のカメラ１０は、ステレオカメラに含まれる複数のカメラのうちの何れかで構成されてもよいと考えることもできる。
【００５４】
本変形例において、ｘ方向３２ピクセル×ｙ方向３２ピクセルを１つのブロックのサイズとして撮像画像（第１撮像画像または第２撮像画像）を分割した場合、上述の実施形態と同様に、１２００個のブロックが得られる。第１対応情報は、複数のブロックごとに、ｘ方向およびｙ方向の第１の位置ずれ量を対応付けているが、この例では、第１撮像画像用の第１対応情報と、第２撮像画像用の第１対応情報とが設けられるので、第１対応情報を保持するメモリ（第２記憶部４０）に必要な容量は、上述の実施形態の２倍になる。
【００５５】
したがって、補正式を用いた補正を行わずに、ルックアップテーブルのみを用いて補正を行う対比例においては、ルックアップテーブル全体としては、１２００×１０×４＝４８０００ｂｉｔの情報を必要とする。したがって、このルックアップテーブルを保持するためには、４８０００ｂｉｔ＝６０００Ｂｙｔｅのメモリ容量が必要になる。
【００５６】
これに対して、本変形例においては、第１撮像画像用の第１対応情報と第２撮像画像用の第１対応情報とを合わせて、１２００×５×２×２＝２４０００ｂｉｔの情報を必要とする。したがって、第１撮像画像用の第１対応情報と第２撮像画像用の第１対応情報とを保持するためには、２４０００ｂｉｔ＝３０００Ｂｙｔｅのメモリ容量が必要になり、対比例に比べて半分で済む。また、本変形例によれば、メモリ容量の削減量（６０００Ｂｙｔｅ−３０００Ｂｙｔｅ＝３０００Ｂｙｔｅ）を、上述の実施形態での削減量（＝１５００Ｂｙｔｅ）に比べて大きくすることができる。
【００５７】
以上の本変形例によれば、第１撮像画像用の第１対応情報と第２撮像画像用の第１対応情報とを保持する必要があるので、第１対応情報を保持するために必要になるメモリの容量は上述の実施形態に比べて大きくなるものの、メモリ容量の削減量は上述の第１実施形態に比べて大きくすることができる。
【００５８】
（プログラム）
上述した実施形態の画像補正処理部２０で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【符号の説明】
【００５９】
１    システム
１０  カメラ
２０  画像補正処理部
２１  第３記憶部
２２  生成部
２３  第１取得部
２４  第２取得部
２５  第３取得部
２６  補正部
２７  出力部
３０  第１記憶部
４０  第２記憶部
【先行技術文献】
【特許文献】
【００６０】
【特許文献１】特開２００５−２９２０８０号公報
【図１】
2015170204.tif 000005
【図２】
2015170204.tif 000006
【図３】
2015170204.tif 000007
【図４】
2015170204.tif 000008
【図５】
2015170204.tif 000009
【図６】
2015170204.tif 000010
【図７】
2015170204.tif 000011
【図８】
2015170204.tif 000012
【図９】
2015170204.tif 000013
【図１０】
2015170204.tif 000014
【図１１】
2015170204.tif 000015