(57)【特許請求の範囲】
【請求項１】
第１方向成分補正テーブルを用いて歪み画像データに生じている樽型歪みの第１方向成分を補正して、中間画像データを作成する第１方向成分補正部と、
第１方向に垂直な第２方向に関する第２方向成分補正テーブルを用いて前記中間画像データに生じている前記樽型歪みの第２方向成分を補正して、補正画像データを作成する第２方向成分補正部と、
を備え、
前記第１方向成分補正テーブルは、前記中間画像データの中間画素と、前記中間画素に対応する前記歪み画像データの歪み画素を特定するための第１方向歪み情報とを対応付けており、
前記第２方向成分補正テーブルは、前記補正画像データの補正画素と、前記補正画素に対応する前記中間画素を特定するための第２方向歪み情報とを対応付けており、
前記第１方向歪み情報は、前記中間画素に対応する前記歪み画素と、前記中間画素に隣接する画素のうち、前記中間画像データの画像中心を通る第２方向軸側に隣接する隣接中間画素に対応する前記歪み画素との距離を示し、
前記第１方向成分補正部は、
前記中間画素に対応する前記第１方向歪み情報を、前記隣接中間画素に対応する前記歪み画素のアドレスに加算することにより、前記中間画素に対応する前記歪み画素のアドレスを特定する歪み画素特定部、
を含むことを特徴とする画像処理装置。
【請求項２】
第１方向成分補正テーブルを用いて歪み画像データに生じている樽型歪みの第１方向成分を補正して、中間画像データを作成する第１方向成分補正部と、
第１方向に垂直な第２方向に関する第２方向成分補正テーブルを用いて前記中間画像データに生じている前記樽型歪みの第２方向成分を補正して、補正画像データを作成する第２方向成分補正部と、
を備え、
前記第１方向成分補正テーブルは、前記中間画像データの中間画素と、前記中間画素に対応する前記歪み画像データの歪み画素を特定するための第１方向歪み情報とを対応付けており、
前記第２方向成分補正テーブルは、前記補正画像データの補正画素と、前記補正画素に対応する前記中間画素を特定するための第２方向歪み情報とを対応付けており、
前記中間画素に対応する前記歪み画素と、前記中間画素に隣接する画素のうち前記中間画像データの画像中心を通る第２方向軸側に隣接する隣接中間画素に対応する前記歪み画素との距離を、前記中間画素に対応する第１方向距離とした場合、前記中間画素に対応する前記第１方向歪み情報は、前記中間画素に対応する第１方向距離と、前記隣接中間画素に対応する第１方向距離との差分であり、
前記第１方向成分補正部は、
前記中間画素に対応する第１方向歪み情報を、前記隣接中間画素に対応する第１方向距離に加算することにより、前記中間画素に対応する第１方向距離を算出する距離算出部と、
前記距離算出部により算出された第１方向距離を、前記隣接中間画素に対応する前記歪み画素のアドレスに加算することにより、前記中間画素に対応する前記歪み画素のアドレスを特定する歪み画素特定部と、
を含むことを特徴とする画像処理装置。
【請求項３】
請求項１または請求項２に記載の画像処理装置において、
前記補正画素に隣接する画素のうち、前記補正画像データの画像中心を通る第１方向軸側に隣接する画素を隣接補正画素とした場合、
前記第２方向成分補正部は、
前記補正画素に対応する前記中間画素を、前記補正画素に対応する前記第２方向歪み情報と、前記隣接補正画素に対応する前記中間画素のアドレスとを用いて特定する中間画素特定部、
を含むことを特徴とする画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記第２方向歪み情報は、前記補正画素に対応する前記中間画素と、前記隣接補正画素に対応する前記中間画素との距離であることを特徴とする画像処理装置。
【請求項５】
請求項３に記載の画像処理装置において、
前記補正画素に対応する第２方向距離が、前記補正画素に対応する前記中間画素と、前記隣接補正画素に対応する前記中間画素との距離で表わされる場合、
前記第２方向歪み情報は、
前記補正画素に対応する前記第２方向距離と、前記隣接中間画素に対応する前記第２方向距離との差分情報であることを特徴とする画像処理装置。
【請求項６】
請求項１ないし請求項５のいずれかに記載の画像処理装置において、
前記第１方向成分補正テーブルは、
前記中間画像データの画像中心を通る第１方向軸および第２方向軸によって分割される複数の第１方向補正領域のうち、いずれか一つの第１方向補正領域に対応しており、
前記第１方向成分補正部は、
各第１方向補正領域における前記樽型歪みの第１方向成分の補正に、前記第１方向成分補正テーブルを用いることを特徴とする画像処理装置。
【請求項７】
請求項６に記載の画像処理装置において、
前記第１方向成分補正部は、
前記いずれか一つの第１方向補正領域と異なる第１方向補正領域において前記樽型歪みの第１方向成分を補正する場合、前記異なる第１方向補正領域の中間画素のアドレスを前記いずれか一つの第１方向補正領域の中間画素のアドレスに変換する中間画素アドレス変換部、
を含み、
前記第１方向成分補正部は、前記異なる第１方向補正領域の中間画素に対応する前記第１方向歪み情報を、変換された中間画素のアドレスを用いて取得することを特徴とする画像処理装置。
【請求項８】
請求項１ないし請求項７のいずれかに記載の画像処理装置において、
前記第２方向成分補正テーブルは、
前記補正画像データの画像中心を通る第１方向軸および第２方向軸によって分割される複数の第２方向補正領域のうち、いずれか一つの第２方向補正領域に対応しており、
前記第２方向成分補正部は、
各第２方向補正領域における前記樽型歪みの第２方向成分の補正に、前記第２方向成分補正テーブルを用いることを特徴とする画像処理装置。
【請求項９】
請求項８に記載の画像処理装置において、
前記第２方向成分補正部は、
前記いずれか一つの第２方向補正領域と異なる第２方向補正領域において前記樽型歪みの第２方向成分を補正する場合、前記異なる第２方向補正領域の補正画素のアドレスを前記いずれか一つの第２方向補正領域の補正画素のアドレスに変換する補正画素アドレス変換部、
を含み、
前記第２方向成分補正部は、前記異なる第２方向補正領域の補正画素に対応する前記第２方向歪み情報を、変換された補正画素のアドレスを用いて取得することを特徴とする画像処理装置。
【請求項１０】
請求項１ないし請求項９のいずれかに記載の画像処理装置において、
前記第１方向は、水平方向および垂直方向のいずれかであることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに生じた樽型歪みを補正する画像処理装置に関する。
【背景技術】
【０００２】
デジタルカメラなどによって撮像した画像データには、レンズの収差に起因した樽型歪みが発生する。樽型歪みが生じた画像データは、球状に膨らんで見える。つまり、樽型歪みが生じた画像データでは直線が曲がって見えるので、樽型歪みは、画像データの見た目に大きな影響を与える。このため、デジタルカメラなどには、樽型歪みを補正する画像処理装置が従来から搭載されている。
【０００３】
樽型歪みに伴う画像の変位は、画像データの画像中心からの距離の三乗に比例して大きくなる性質がある。従来の画像処理装置は、この性質を利用して、画像データの画素のアドレスを画像中心からの距離に応じて変換することで樽型歪みを補正している。しかし、画像中心からの距離に応じた変換処理では、画像データを格納したフレームメモリに対するランダムアクセスが頻発するという問題がある。
【０００４】
【特許文献１】特開平５−１７６２１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
また、上述した従来の画像処理装置とは異なる処理によって、樽型歪みを補正する処理装置が上記特許文献１に開示されている。
【０００６】
特許文献１に係る処理装置では、歪み補正後の画素のアドレスと、歪み補正前の画素のアドレスとを対応付けたアドレス補正テーブルを保持している。アドレス補正テーブルは、画像中心を通る水平軸と垂直軸とによって分割された４つの領域のうちいずれか一つの領域に対応している。特許文献１に係る画像処理装置は、アドレス補正テーブルを用いて歪み補正前の画素のアドレスを、歪み補正後の画素のアドレスに変換する。また、アドレス補正テーブルは、他の領域における補正にも繰り返し使用される。
【０００７】
しかしながら、特許文献１に係る処理装置では、歪み補正後の画素に対応する歪み補正前の画素のアドレスが小数値で表わされる場合、対応する歪み補正前の画素を補間する必要がある。つまり、対応する歪み補正前の画素を、水平方向に隣接する二つの歪み補正前の画素と、垂直方向に隣接する二つの歪み補正前の画素とによって補間しなければならない。この結果、補間処理が複雑となり、処理装置の回路規模が大きくなるという問題があった。
【０００８】
そこで、本発明は前記問題点に鑑み、樽型歪みの補正処理を簡素化することができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、請求項１記載の発明は、画像処理装置であって、第１方向成分補正テーブルを用いて歪み画像データに生じている樽型歪みの第１方向成分を補正して、中間画像データを作成する第１方向成分補正部と、第１方向に垂直な第２方向に関する第２方向成分補正テーブルを用いて前記中間画像データに生じている前記樽型歪みの第２方向成分を補正して、補正画像データを作成する第２方向成分補正部と、を備え、前記第１方向成分補正テーブルは、前記中間画像データの中間画素と、前記中間画素に対応する前記歪み画像データの歪み画素を特定するための第１方向歪み情報とを対応付けており、前記第２方向成分補正テーブルは、前記補正画像データの補正画素と、前記補正画素に対応する前記中間画素を特定するための第２方向歪み情報とを対応付けており、前記第１方向歪み情報は、前記中間画素に対応する前記歪み画素と、前記中間画素に隣接する画素のうち、前記中間画像データの画像中心を通る第２方向軸側に隣接する隣接中間画素に対応する前記歪み画素との距離を示し、前記第１方向成分補正部は、前記中間画素に対応する前記第１方向歪み情報を、前記隣接中間画素に対応する前記歪み画素のアドレスに加算することにより、前記中間画素に対応する前記歪み画素のアドレスを特定する歪み画素特定部、を含むことを特徴とする。
【００１０】
請求項２記載の発明は、画像処理装置であって、第１方向成分補正テーブルを用いて歪み画像データに生じている樽型歪みの第１方向成分を補正して、中間画像データを作成する第１方向成分補正部と、第１方向に垂直な第２方向に関する第２方向成分補正テーブルを用いて前記中間画像データに生じている前記樽型歪みの第２方向成分を補正して、補正画像データを作成する第２方向成分補正部と、を備え、前記第１方向成分補正テーブルは、前記中間画像データの中間画素と、前記中間画素に対応する前記歪み画像データの歪み画素を特定するための第１方向歪み情報とを対応付けており、前記第２方向成分補正テーブルは、前記補正画像データの補正画素と、前記補正画素に対応する前記中間画素を特定するための第２方向歪み情報とを対応付けており、前記中間画素に対応する前記歪み画素と、前記中間画素に隣接する画素のうち前記中間画像データの画像中心を通る第２方向軸側に隣接する隣接中間画素に対応する前記歪み画素との距離を、前記中間画素に対応する第１方向距離とした場合、前記中間画素に対応する前記第１方向歪み情報は、前記中間画素に対応する第１方向距離と、前記隣接中間画素に対応する第１方向距離との差分であり、前記第１方向成分補正部は、前記中間画素に対応する第１方向歪み情報を、前記隣接中間画素に対応する第１方向距離に加算することにより、前記中間画素に対応する第１方向距離を算出する距離算出部と、前記距離算出部により算出された第１方向距離を、前記隣接中間画素に対応する前記歪み画素のアドレスに加算することにより、前記中間画素に対応する前記歪み画素のアドレスを特定する歪み画素特定部と、を含むことを特徴とする。
【００１３】
請求項３記載の発明は、請求項１または請求項２に記載の画像処理装置において、前記補正画素に隣接する画素のうち、前記補正画像データの画像中心を通る第１方向軸側に隣接する画素を隣接補正画素とした場合、前記第２方向成分補正部は、前記補正画素に対応する前記中間画素を、前記補正画素に対応する前記第２方向歪み情報と、前記隣接補正画素に対応する前記中間画素のアドレスとを用いて特定する中間画素特定部、を含むことを特徴とする。
【００１４】
請求項４記載の発明は、請求項３に記載の画像処理装置において、前記第２方向歪み情報は、前記補正画素に対応する前記中間画素と、前記隣接補正画素に対応する前記中間画素との距離であることを特徴とする。
【００１５】
請求項５記載の発明は、請求項３に記載の画像処理装置において、前記補正画素に対応する第２方向距離が、前記補正画素に対応する前記中間画素と、前記隣接補正画素に対応する前記中間画素との距離で表わされる場合、前記第２方向歪み情報は、前記補正画素に対応する前記第２方向距離と、前記隣接中間画素に対応する前記第２方向距離との差分情報であることを特徴とする。
【００１６】
請求項６記載の発明は、請求項１ないし請求項５のいずれかに記載の画像処理装置において、前記第１方向成分補正テーブルは、前記中間画像データの画像中心を通る第１方向軸および第２方向軸によって分割される複数の第１方向補正領域のうち、いずれか一つの第１方向補正領域に対応しており、前記第１方向成分補正部は、各第１方向補正領域における前記樽型歪みの第１方向成分の補正に、前記第１方向成分補正テーブルを用いることを特徴とする。
【００１７】
請求項７記載の発明は、請求項６に記載の画像処理装置において、前記第１方向成分補正部は、前記いずれか一つの第１方向補正領域と異なる第１方向補正領域において前記樽型歪みの第１方向成分を補正する場合、前記異なる第１方向補正領域の中間画素のアドレスを前記いずれか一つの第１方向補正領域の中間画素のアドレスに変換する中間画素アドレス変換部、を含み、前記第１方向成分補正部は、前記異なる第１方向補正領域の中間画素に対応する前記第１方向歪み情報を、変換された中間画素のアドレスを用いて取得することを特徴とする。
【００１８】
請求項８記載の発明は、請求項１ないし請求項７のいずれかに記載の画像処理装置において、前記第２方向成分補正テーブルは、前記補正画像データの画像中心を通る第１方向軸および第２方向軸によって分割される複数の第２方向補正領域のうち、いずれか一つの第２方向補正領域に対応しており、前記第２方向成分補正部は、各第２方向補正領域における前記樽型歪みの第２方向成分の補正に、前記第２方向成分補正テーブルを用いることを特徴とする。
【００１９】
請求項９記載の発明は、請求項８に記載の画像処理装置において、前記第２方向成分補正部は、前記いずれか一つの第２方向補正領域と異なる第２方向補正領域において前記樽型歪みの第２方向成分を補正する場合、前記異なる第２方向補正領域の補正画素のアドレスを前記いずれか一つの第２方向補正領域の補正画素のアドレスに変換する補正画素アドレス変換部、を含み、前記第２方向成分補正部は、前記異なる第２方向補正領域の補正画素に対応する前記第２方向歪み情報を、変換された補正画素のアドレスを用いて取得することを特徴とする。
【００２０】
請求項１０記載の発明は、請求項１ないし請求項９のいずれかに記載の画像処理装置において、前記第１方向は、水平方向および垂直方向のいずれかであることを特徴とする。
【発明の効果】
【００２１】
本発明の画像処理装置は、樽型歪みの補正処理において、樽型歪みの水平成分を補正して中間画像データを作成した後で、中間画像データに生じている樽型歪みの垂直成分を補正する。これにより、水平成分の補正における中間画素の補間処理に水平方向に隣接する二つの歪み画素を用い、垂直成分の補正における補正画素の補間処理に垂直方向に隣接する二つの中間画素を用いることができる。つまり、本発明の画像処理装置は、樽型歪みの補正における画素の補間処理を簡素化することができる。
【００２２】
また、水平成分補正テーブルは、中間画素と水平歪み情報とを対応付けており、水平歪み情報は、中間画素に対応する歪み画素と隣接中間画素に対応する歪み画素との距離を示す情報である。このため、水平歪み情報として記録される数値の範囲が限定されるため、水平成分補正テーブルのデータサイズを小さくすることができる。
【００２３】
同様に、垂直成分補正テーブルは、補正画素と垂直歪み情報とを対応付けており、垂直歪み情報は、補正画素に対応する中間画素と隣接補正画素に対応する中間画素との距離を示す情報である。このため、垂直歪み情報として記録される数値の範囲が限定されるため、垂直成分補正テーブルのデータサイズを小さくすることができる。
【発明を実施するための最良の形態】
【００２４】
以下、図面を参照しつつ本発明の実施の形態について説明する。図１は、本実施の形態に係る画像処理装置１の機能的構成を示すブロック図である。画像処理装置１は、デジタルカメラなどに搭載され、画像データに生じた樽型歪みを補正する装置である。
【００２５】
画像処理装置１は、水平成分補正部１１と、垂直成分補正部１２と、フレームメモリ１３、１４と、補正テーブル保持部１５とを備える。なお、本実施の形態において、画像処理装置１は、二つのフレームメモリ１３、１４を備えた構成としているが、一つのフレームメモリを備えた構成としてもよい。また、水平成分補正部１１と垂直成分補正部１２とが、単一の回路によって実現されてもよい。
【００２６】
水平成分補正部１１は、歪み画像データ２０に生じている樽型歪みの水平成分を補正する水平成分補正処理を実行して、中間画像データ３０を作成する。水平成分補正部１１は、補正制御部１１１と、水平ライン読出部１１２と、歪み画素特定部１１３と、アドレス変換部１１４とを備えている。
【００２７】
補正制御部１１１は、水平成分を補正する領域、読出ラインなどを指定する。水平ライン読出部１１２は、補正制御部１１１の指示に基づいて、フレームメモリ１３から歪み画像データ２０の画素を読み出す。歪み画素特定部１１３は、中間画像データ３０の画素に対応する歪み画像データ２０の画素を特定する。アドレス変換部１１４は、中間画像データ３０の画素のアドレスを、水平成分補正テーブル５０が対応するアドレスに変換する。
【００２８】
垂直成分補正部１２は、中間画像データ３０に残っている樽型歪みの垂直成分を補正する垂直成分補正処理を実行して、樽型歪みが補正された補正画像データ４０を作成する。垂直成分補正部１２は、補正制御部１２１と、垂直ライン読出部１２２と、中間画素特定部１２３と、アドレス変換部１２４とを備えている。
【００２９】
補正制御部１２１は、垂直成分を補正する領域、読出ラインなどを指定する。垂直ライン読出部１２２は、補正制御部１２１の指示に基づいて、フレームメモリ１４から中間画像データ３０の画素を読み出す。中間画素特定部１２３は、補正画像データ４０の画素に対応する中間画像データ３０の画素を特定する。アドレス変換部１２４は、補正画像データ４０の画素のアドレスを、垂直成分補正テーブル６０が対応するアドレスに変換する。
【００３０】
フレームメモリ１３は、歪み画像データ２０あるいは中間画像データ３０を格納する。フレームメモリ１４は、中間画像データ３０あるいは補正画像データ４０を格納する。補正テーブル保持部１５は、水平成分補正テーブル５０と、垂直成分補正テーブル６０とを保持している。
【００３１】
＜座標系の定義＞
まず、樽型歪みの補正処理に用いる座標系を定義する。なお、歪み画像データ２０に生じている樽型歪みは、後述するｘ軸およびｙ軸に対してそれぞれ対称であるものとする。
【００３２】
図２は、樽型歪みの補正処理に用いる座標系を示す図である。歪み画像データ２０の画像中心を原点Ｏとし、中間画像データ３０および補正画像データ４０の各画像中心を、原点Ｏに一致させる。なお、図２に示す各画像データの水平ラインおよび垂直ラインは、それぞれ一致している。原点Ｏを通過する水平軸、垂直軸を、それぞれｘ軸、ｙ軸とする。
【００３３】
歪み画像データ２０の画素を歪み画素Ａとし、座標（ｘ，ｙ）の歪み画素Ａを歪み画素Ａ（ｘ，ｙ）と記述する。中間画像データ３０の画素を中間画素Ｂとし、座標（ｘ，ｙ）の中間画素Ｂを中間画素Ｂ（ｘ，ｙ）と記述する。補正画像データ４０の画素を補正画素Ｃとし、座標（ｘ，ｙ）の補正画素Ｃを補正画素Ｃ（ｘ，ｙ）と記述する。歪み画素Ａにおけるｘ、ｙの最大値を、それぞれＸａ、Ｙａとし、補正画素Ｃにおけるｘ、ｙの最大値を、それぞれＸｃ、Ｙｃとする。
【００３４】
ｘ≧０、ｙ≧０の領域を領域Ｐとし、ｘ≧０、ｙ＜０の領域を領域Ｑとし、ｘ＜０、ｙ＜０の領域を領域Ｒとし、ｘ＜０、ｙ≧０の領域を領域Ｓとする。
【００３５】
領域Ｐ、Ｑ、Ｒ、Ｓに対応する歪み画像データ２０を、それぞれ歪み画像データ２０ｐ、２０ｑ、２０ｒ、２０ｓとする。同様に、各領域に対応する中間画像データ３０を、それぞれ中間画像データ３０ｐ、３０ｑ、３０ｒ、３０ｓとする。各領域に対応する補正画像データ４０を、それぞれ補正画像データ４０ｐ、４０ｑ、４０ｒ、４０ｓとする。
【００３６】
＜樽型歪みの補正処理の概要＞
次に、樽型歪みの補正処理の概要について説明する。画像処理装置１は、歪み画像データ２０に生じた樽型歪みの補正処理を、水平成分補正処理、垂直成分補正処理の順に実行する。
【００３７】
図３は、水平成分補正処理における歪み画像データ２０の変化を示す図である。水平成分補正処理は、領域Ｐ、Ｑ、Ｒ、Ｓごとに個別に行われる。まず、領域Ｐの歪み画素Ａがｘ軸の正の方向に移動することによって、歪み画像データ２０ｐが中間画像データ３０ｐに置き換わる。続いて、領域Ｑの歪み画素Ａがｘ軸の正の方向に移動することによって、歪み画像データ２０ｑが中間画像データ３０ｑに置き換わる。領域Ｒの歪み画素Ａがｘ軸の負の方向に移動することによって、歪み画像データ２０ｒが中間画像データ３０ｒに置き換わる。領域Ｓの歪み画素Ａがｘ軸の負の方向に移動することによって、歪み画像データ２０ｓが中間画像データ３０ｓに置き換わる。このようにして、歪み画像データ２０に生じている樽型歪みの水平成分が補正された中間画像データ３０が作成される。
【００３８】
図４は、垂直成分補正処理における中間画像データ３０の変化を示す図である。垂直成分補正処理は、水平成分補正処理と同様に、領域Ｐ、Ｑ、Ｒ、Ｓごとに個別に行われる。まず、領域Ｐの中間画素Ｂがｙ軸の正の方向に移動することによって、中間画像データ３０ｐが補正画像データ４０ｐに置き変わる。続いて、領域Ｑの中間画素Ｂがｙ軸の負の方向に移動することによって、中間画像データ３０ｑが補正画像データ４０ｑに置き換わる。領域Ｒの中間画素Ｂがｙ軸の負の方向に移動することによって、中間画像データ３０ｒが補正画像データ４０ｒに置き換わる。領域Ｓの中間画素Ｂがｙ軸の正の方向に移動することによって、中間画像データ３０ｓが補正画像データ４０ｓに置き換わる。このように、中間画像データ３０に残っている樽型歪みの垂直成分が補正されることによって、樽型歪みの補正処理が完了する。
【００３９】
＜水平成分補正テーブルおよび垂直成分補正テーブル＞
次に、水平成分補正テーブル５０および垂直成分補正テーブル６０について説明する。水平成分補正テーブル５０を用いた水平成分補正処理、垂直成分補正テーブル６０を用いた垂直成分補正処理の詳細については、後述する。
【００４０】
図５は、水平成分補正テーブル５０の一例を示す図である。水平成分補正テーブル５０は、領域Ｐにおける中間画素Ｂと、中間画素Ｂに対応する歪み画素Ａを特定するための水平歪み情報とを対応付けている。図５に示すように、水平成分補正テーブル５０では、各中間画素Ｂに対して、水平歪み情報としてピッチデータＤｘが割り当てられている。
【００４１】
ピッチデータＤｘは、中間画素Ｂに対応する歪み画素Ａと、中間画素Ｂのｙ軸側に隣接する中間画素Ｂ’に対応する歪み画素Ａとの距離を示している。中間画素Ｂ（ｘ，ｙ）に歪み画素Ａ（ｘａ，ｙ）が対応し、中間画素Ｂ’（ｘ−１，ｙ）に歪み画素Ａ’（ｘｂ，ｙ）が対応する場合、中間画素Ｂ（ｘ，ｙ）に対応するピッチデータＤｘは、ｘａ−ｘｂで表わされる。たとえば、中間画素Ｂ（３，１）に対応するピッチデータＤｘの値は、０．９である。これは、中間画素Ｂ（３，１）に対応する歪み画素Ａと、中間画素Ｂ（２，１）に対応する歪み画素Ａとの距離が、０．９であることを示している。
【００４２】
図６は、垂直成分補正テーブル６０の一例を示す図である。垂直成分補正テーブル６０は、領域Ｐにおける補正画素Ｃと、補正画素Ｃに対応する中間画素Ｂを特定するための垂直歪み情報とを対応付けている。図６に示すように、垂直成分補正テーブル６０では、各補正画素Ｃに対して、垂直歪み情報としてピッチデータＤｙが割り当てられている。
【００４３】
ピッチデータＤｙは、補正画素Ｃに対応する中間画素Ｂと、補正画素Ｃのｘ軸側に隣接する補正画素Ｃ’に対応する中間画素Ｂ’との距離を示している。補正画素Ｃ（ｘ，ｙ）に中間画素Ｂ（ｘ，ｙａ）が対応し、補正画素Ｃ’（ｘ，ｙ−１）に中間画素Ｂ’（ｘ，ｙｂ）が対応する場合、補正画素Ｃ（ｘ，ｙ）に対応するピッチデータＤｙは、ｙａ−ｙｂとなる。たとえば、補正画素Ｃ（１，２）に対応するピッチデータＤｘの値は、０．９５である。これは、補正画素Ｃ（１，２）に対応する中間画素Ｂと、補正画素Ｃ（１，１）に対応する中間画素Ｂとの距離が、０．９５であることを示している。
【００４４】
ここで、ピッチデータＤｘ、Ｄｙの算出方法について簡単に説明する。ピッチデータＤｘ、Ｄｙの算出には、デジタルカメラのレンズの収差が画像中心Ｏからの距離の３乗に比例する性質を用いる。デジタルカメラのレンズの収差に伴う歪み率をγ、補正画素Ｃの画像中心Ｏからの距離をｕとする。この場合、補正画素Ｃに対応する歪み画素Ａは、補正画素Ｃから原点Ｏ方向にγｕ３の距離だけ移動した位置に存在する。この関係を用いて、ピッチデータＤｘ、Ｄｙを求めることができる。
【００４５】
＜水平成分補正処理の流れ＞
次に、水平成分補正部１１が実行する水平成分補正処理について詳しく説明する。図７は、領域Ｐにおける水平成分補正処理の流れを示すフローチャートである。
【００４６】
歪み画像データ２０が画像処理装置１に入力されることで、水平成分補正処理が開始される。水平成分補正部１１は、歪み画像データ２０をフレームメモリ１３に格納し、水平成分補正テーブル５０を補正テーブル保持部１５から取得する。
【００４７】
補正制御部１１１は、水平成分補正処理の対象領域として領域Ｐを指定し、図７に示す処理を開始する。具体的には、補正制御部１１１が、中間画素Ｂを作成する水平ライン（以下、「対象水平ライン」という）として、ｘ≧０かつｙ＝０の水平ラインを指定する（ステップＳ１０１）。水平ライン読出部１１２は、対象水平ラインに対応する歪み画素Ａをフレームメモリ１３から読み出す（ステップＳ１０２）。つまり、水平成分補正処理において、歪み画素Ａはｘ軸方向に読み出される。
【００４８】
水平成分補正処理では、対象水平ラインごとに、中間画素Ｂに対応する歪み画素Ａを特定して中間画素Ｂを作成する処理が行われる。歪み画素特定部１１３は、ピッチデータ累積値Ｄｘ＿ｓ＝０、ｘ＝０とする（ステップＳ１０３）。
【００４９】
次に、ｘ＝０の場合（ステップＳ１０４においてＹｅｓ）、歪み画素特定部１１３は、中間画素Ｂ（０，ｙ）の画素値に、歪み画素Ａ（０，ｙ）の画素値を割り当てる（ステップＳ１１４）。これは、ｙ軸上に位置する歪み画素Ａ（０，ｙ）には、樽型歪みの水平成分が存在しないためである。
【００５０】
一方、ｘ＝０でない場合（ステップＳ１０４においてＮｏ）、歪み画素特定部１１３は、水平成分補正テーブル５０を参照して、中間画素Ｂ（ｘ，ｙ）に対応するピッチデータＤｘを取得する（ステップＳ１０５）。取得したピッチデータＤｘがピッチデータ累積値Ｄｘ＿ｓに加算される（ステップＳ１０６）。歪み画素特定部１１３は、中間画素Ｂ（ｘ，ｙ）に歪み画素Ａ（Ｄｘ＿ｓ，ｙ）が対応すると判定し、中間画素Ｂ（ｘ，ｙ）の画素値を取得する（ステップＳ１０７）。
【００５１】
ステップＳ１０５〜Ｓ１０７の処理についてさらに詳しく説明する。図８は、領域Ｐにおける中間画素Ｂと歪み画素Ａとの対応関係を示す図である。図８に示すピッチデータＤｘの値は、図５に示す水平成分補正テーブル５０に対応している。
【００５２】
ここで、中間画素Ｂ（４，０）を例にして説明する。ステップＳ１０５において、中間画素Ｂ（４，０）に対応するピッチデータＤｘ（＝０．９）が取得される。中間画素Ｂ（３，０）に対応するピッチデータ累積値Ｄｘ＿ｓは、２．９である。このため、ステップＳ１０６の処理によって、中間画素Ｂ（４，０）に対応するピッチデータ累積値Ｄｘ＿ｓは、３．８となる。この結果、ステップＳ１０７において、中間画素Ｂ（４，０）に対応する歪み画素Ａは、歪み画素Ａ（３．８，０）と特定され、歪み画素Ａ（３．８，０）の画素値が、中間画素Ｂ（４，０）の画素値として割り当てられる。中間画素Ｂ（３，０）、Ｂ（５，０）のそれぞれに対応する歪み画素Ａも、同様にして特定することができる。
【００５３】
また、歪み画素Ａ（３，０）、Ａ（４，０）の画素値をそれぞれＶａ、Ｖｂとした場合、歪み画素Ａ（３．８，０）の画素値Ｖｃは、Ｖｃ＝０．２Ｖａ＋０．８Ｖｂとなる。このように、特定された歪み画素Ａのｘ座標が小数値の場合、特定された歪み画素のｘ軸方向両側に存在し、かつｘ座標が整数値である二つの歪み画素Ａを用いて、特定された歪み画素Ａの補間処理が行われる。
【００５４】
次に、歪み画素特定部１１３は、ｘをインクリメントする（ステップＳ１０８）。ｘ＞Ｘｃでない場合（ステップＳ１０９においてＮｏ）、歪み画素特定部１１３は、ステップＳ１０５に示す処理に戻る。
【００５５】
一方、ｘ＞Ｘｃである場合（ステップＳ１０９においてＹｅｓ）、歪み画素特定部１１３は、対象水平ラインにおける中間画素Ｂの作成が終了したと判断し、作成した中間画素Ｂを、フレームメモリ１３に格納する（ステップＳ１１０）。このとき、フレームメモリ１３に格納されている対象水平ラインの歪み画素Ａが、作成した中間画素Ｂに書き換えられる。
【００５６】
次に、補正制御部１１１は、ｙをインクリメントする（ステップＳ１１１）。ｙ＞Ｙａでない場合（ステップＳ１１２においてＮｏ）、インクリメントされたｙの値に基づく新たな対象水平ラインが指定される（ステップＳ１１３）。これにより、水平成分補正部１１は、ステップＳ１０２に示す処理に戻る。一方、ｙ＞Ｙａとなった場合（ステップＳ１１２においてＹｅｓ）、補正制御部１１１は、中間画像データ３０ｐの作成が完了したと判断し、図７に示す処理を終了する。
【００５７】
領域Ｐに対する水平成分補正処理が終了した後で、水平成分補正部１１は、水平成分補正テーブル５０を用いて、領域Ｑ、Ｒ、Ｓの順に、各領域に対する水平成分補正処理を実行する。なお、領域Ｑ、Ｒ、Ｓにおける水平成分補正処理は、基本的には、上述した領域Ｐにおける水平成分補正処理と同様である。
【００５８】
ただし、ｘの符号、ｙの符号、対象水平ラインの指定順序および中間画素Ｂを作成する処理の処理方向が、各領域で異なる。このため、ｘ、ｙの演算処理の内容が、各領域で異なる。図９は、各領域における対象水平ラインの指定順序と、中間画素Ｂを作成する処理の処理方向とを示す図である。各領域において、対象水平ラインは、ｘ軸側に位置する水平ラインから順次指定される。また、中間画素Ｂを作成する処理が、ｙ軸側から順次行われる。
【００５９】
また、図９に示す一点鎖線は、各領域の境界線を示している。ｘ軸上の画素は領域Ｐ、領域Ｓに含まれ、ｙ軸上の画素は、領域Ｐ、領域Ｑに含まれる。このため、図７に示すフローチャートにおけるｘ、ｙの初期値が各領域で変化する。
【００６０】
この結果、領域Ｑ、Ｒ、Ｓにおける水平成分補正処理は、上述した領域Ｐにおける水平成分補正処理と、以下に示す点がそれぞれ異なる。
【００６１】
水平成分補正テーブル５０は、領域Ｐの中間画素Ｂに対応している。このため、領域Ｑ、Ｒ、Ｓの中間画素Ｂに対応するピッチデータＤｘを取得する場合、領域Ｑ、Ｒ、Ｓの中間画素Ｂのアドレスを変換した上で、水平成分補正テーブル５０を参照する必要がある。このため、ステップＳ１０５に示す処理では、アドレス変換部１１４が中間画素Ｂのアドレスを領域Ｐに対応するアドレスに変換し、歪み画素特定部１１３は、変換されたアドレスに基づいてピッチデータＤｘを取得する。
【００６２】
領域Ｑの場合、ステップＳ１０１においてｙ＝−１となる。ステップＳ１１１においてｙはデクリメントされ、ステップＳ１１２における条件式は、ｙ＜−Ｙｃとなる。
【００６３】
領域Ｒの場合、ステップＳ１０１においてｙ＝−１、ステップＳ１０３においてｘ＝−１となる。ステップＳ１０６に示す式は、Ｄｘ＿ｓ＝Ｄｘ＿ｓ−Ｄｘとなる。ステップＳ１０８においてｘはデクリメントされ、ステップＳ１０９における条件式は、ｘ＜−Ｘｃとなる。ステップＳ１１１においてｙはデクリメントされ、ステップＳ１１２における条件式は、ｙ＜−Ｙｃとなる。
【００６４】
領域Ｓの場合、ステップＳ１０３においてｘ＝−１となる。ステップＳ１０６に示す式は、Ｄｘ＿ｓ＝Ｄｘ＿ｓ−Ｄｘとなる。ステップＳ１０８においてｘはデクリメントされ、ステップＳ１０９における条件式は、ｘ＜−Ｘｃとなる。
【００６５】
このようにして、水平成分補正処理が行われることによって、樽型歪みの水平成分が補正された中間画像データ３０が作成される。
【００６６】
＜垂直成分補正処理の流れ＞
次に、垂直成分補正部１２が実行する垂直成分補正処理について詳しく説明する。図１０は、領域Ｐにおける垂直成分補正処理の流れを示すフローチャートである。
【００６７】
水平成分補正処理の終了後、垂直成分補正部１２は、中間画像データ３０をフレームメモリ１４に格納し、垂直成分補正テーブル６０を補正テーブル保持部１５から取得する。
【００６８】
補正制御部１２１は、垂直成分補正処理の対象領域として領域Ｐを指定し、図１０に示す処理を開始する。具体的には、補正制御部１２１が、補正画素Ｃを作成する垂直ライン（以下、「対象垂直ライン」という）として、ｘ＝０かつｙ≧０の垂直ラインを指定する（ステップＳ２０１）。垂直ライン読出部１２２は、対象垂直ラインに対応する中間画素Ｂをフレームメモリ１４から読み出す（ステップＳ２０２）。つまり、垂直成分補正処理では、中間画素Ｂがｙ軸方向に読み出される。
【００６９】
垂直成分補正処理では、対象垂直ラインごとに、補正画素Ｃに対応する中間画素Ｂを特定して補正画素Ｃを作成する処理が行われる。まず、中間画素特定部１２３は、ピッチデータ累積値Ｄｙ＿ｓ＝０、ｙ＝０とする（ステップＳ２０３）。
【００７０】
次に、ｙ＝０の場合（ステップＳ２０４においてＹｅｓ）、中間画素特定部１２３は、補正画素Ｃ（ｘ，０）の画素値に、中間画素Ｂ（ｘ，０）の画素値を割り当てる（ステップＳ２１４）。これは、ｘ軸上に位置する中間画素Ｂ（ｘ，０）には、樽型歪みの垂直成分が存在しないためである。
【００７１】
一方、ｙ＝０でない場合（ステップＳ２０４においてＮｏ）、中間画素特定部１２３は、垂直成分補正テーブル６０を参照して、補正画素Ｃ（ｘ，ｙ）に対応するピッチデータＤｙを取得する（ステップＳ２０５）。取得したピッチデータＤｙがピッチデータ累積値Ｄｙ＿ｓに加算される（ステップＳ２０６）。中間画素特定部１２３は、補正画素Ｃ（ｘ，ｙ）に中間画素Ｂ（ｘ，Ｄｙ＿ｓ）が対応すると判定し、中間画素Ｂ（ｘ，Ｄｙ＿ｓ）の画素値を、補正画素Ｃ（ｘ，ｙ）の画素値として割り当てる（ステップＳ２０７）。
【００７２】
ここで、補正画素Ｃ（０，３）を例にして、中間画素Ｂを特定する処理をさらに詳しく説明する。図１１は、領域Ｐにおける、補正画素Ｃと中間画素Ｂとの対応関係を示す図である。なお、図１１に示すピッチデータＤｙの値は、図６に示す垂直成分補正テーブル６０の値に対応している。
【００７３】
補正画素Ｃ（０，３）に対応するピッチデータＤｙは、０．９５であり、補正画素Ｃ（０，３）に対応するピッチデータ累積値Ｄｙ＿ｓの値は、２．９となる。したがって、補正画素Ｃ（０，３）に対応する歪み画素Ａとして、中間画素Ｂ（０，２．９）が特定される。なお、中間画素Ｂ（０，２）の画素値をＶｄ、中間画素Ｂ（０、３）の画素値をＶｅとした場合、中間画素（０，２．９）の画素値Ｖｆは、Ｖｆ＝０．１Ｖｄ＋０．９Ｖｅとなる。このように、補正画素Ｃの画素値は、水平成分補正処理における中間画素Ｂの画素値と同様にして求めることができる。
【００７４】
次に、中間画素特定部１２３は、ｙをインクリメントする（ステップＳ２０８）。ｙ＞Ｙｃでない場合（ステップＳ２０９においてＮｏ）、中間画素特定部１２３は、ステップＳ２０５に示す処理に戻る。
【００７５】
一方、ｙ＞Ｙｃである場合（ステップＳ２０９においてＹｅｓ）、中間画素特定部１２３は、対象垂直ラインにおける補正画素Ｃの作成が終了したと判断し、作成した補正画素Ｃをフレームメモリ１４に格納する（ステップＳ２１０）。このとき、フレームメモリ１４に格納されている対象垂直ラインの中間画素Ｂが、作成された補正画素Ｃに書き換えられる。
【００７６】
次に、補正制御部１２１は、ｘをインクリメントする（ステップＳ２１１）。ｘ＞Ｘｃでない場合（ステップＳ２１２においてＮｏ）、インクリメントされたｘの値に基づく新たな対象垂直ラインが指定される（ステップＳ２１３）。これにより、垂直成分補正部１２は、ステップＳ２０２に示す処理に戻る。このように、領域Ｐの垂直成分補正処理では、対象垂直ラインは、ｙ軸に近い側の垂直ラインから順次指定される。一方、ｘ＞Ｘｃとなった場合（ステップＳ２１２においてＹｅｓ）、補正制御部１２１は、補正画像データ４０ｐの作成が完了したと判断し、図１０に示す処理を終了する。
【００７７】
領域Ｐに対する垂直成分補正処理が終了した後で、垂直成分補正部１２は、垂直成分補正テーブル６０を用いて、領域Ｑ、Ｒ、Ｓの順に各領域に対する垂直成分補正処理を実行する。なお、領域Ｑ、Ｒ、Ｓにおける垂直成分補正処理は、基本的には、上述した領域Ｐにおける垂直成分補正処理と同様である。
【００７８】
ただし、ｘの符号、ｙの符号、対象垂直ラインの指定順序および補正画素Ｃを作成する処理の処理方向が、各領域で異なる。このため、ｘ、ｙの演算処理の内容が、各領域で異なる。図１２は、各領域における対象垂直ラインの指定順序と、補正画素を作成する処理の処理方向を示す図である。各領域において、対象垂直ラインは、ｙ軸側に位置する垂直ラインから順次指定される。また、補正画素Ｃを作成する処理が、ｘ軸側から順次実行される。
【００７９】
また、図１２に示す一点鎖線は、各領域の境界線を示している。各領域におけるｘ軸上およびｙ軸上の画素の有無によって、図１２に示すフローチャートにおけるｘ、ｙの初期値が変化する。
【００８０】
この結果、領域Ｑ、Ｒ、Ｓにおける垂直成分補正処理は、上述した領域Ｐにおける垂直成分補正処理と、以下に示す点がそれぞれ異なる。
【００８１】
領域Ｑ、Ｒ、Ｓに共通する点として、ステップＳ２０５では、アドレス変換部１２４が補正画素Ｃのアドレスを領域Ｐに対応するアドレスに変換し、中間画素特定部１２３は、変換されたアドレスに基づいてピッチデータＤｙを取得する。
【００８２】
垂直成分補正テーブル６０は、領域Ｐの補正画素Ｃに対応している。このため、領域Ｑ、Ｒ、Ｓの補正画素Ｃに対応するピッチデータＤｙを取得する場合、領域Ｑ、Ｒ、Ｓの補正画素Ｃのアドレスを変換した上で、垂直成分補正テーブル６０を参照する必要がある。このため、ステップＳ２０５に示す処理では、アドレス変換部１２４が補正画素Ｃのアドレスを領域Ｐに対応するアドレスに変換し、補正画素特定部１２３は、変換されたアドレスに基づいてピッチデータＤｙを取得する。
【００８３】
領域Ｑの場合、ステップＳ２０３においてｙ＝−１となる。ステップＳ２０６における式は、Ｄｙ＿ｓ＝Ｄｙ＿ｓ−Ｄｙとなる。ステップＳ２０８においてｙはデクリメントされ、ステップＳ２０９における条件式は、ｙ＜−Ｙｃとなる。
【００８４】
領域Ｒの場合、ステップＳ２０１においてｘ＝−１、ステップＳ２０３においてｙ＝−１となる。ステップＳ２０６における式は、Ｄｙ＿ｓ＝Ｄｙ＿ｓ−Ｄｙとなる。ステップＳ２０８においてｙはデクリメントされ、ステップＳ２０９における条件式は、ｙ＜−Ｙｃとなる。ステップＳ２１１においてｘはデクリメントされ、ステップＳ２１２における条件式は、ｘ＜−Ｘｃとなる。
【００８５】
領域Ｓの場合、ステップＳ２０１においてｘ＝−１となる。ステップＳ２１１においてｘはデクリメントされ、ステップＳ２１２における条件式は、ｘ＜−Ｘｃとなる。
【００８６】
このようにして、垂直成分補正部１２は、各領域における垂直成分補正処理を実行して、中間画像データ３０に残っている樽型歪みの垂直成分を補正する。この結果、樽型歪みが補正された補正画像データ４０が、画像処理装置１から出力される。
【００８７】
以上説明したように、本実施の形態に係る画像処理装置１は、歪み画像データ２０に生じた樽型歪みの補正において、水平成分補正処理と、垂直成分補正処理とを個別に実行する。水平成分補正処理において、中間画素Ｂは二つの歪み画素Ａの内分によって補間され、垂直成分補正処理において、補正画素Ｃは、ｙ軸方向に隣接する中間画素Ｂの内分によって補間される。これにより、画素の補間処理を簡素化することができるため、画像処理装置１の回路規模を小さくすることができる。
【００８８】
また、水平成分補正テーブル５０は、中間画素ＢとピッチデータＤｘとを対応付けたテーブルであり、垂直成分補正テーブル６０は、補正画素ＣとピッチデータＤｙとを対応付けたテーブルである。ピッチデータＤｘ、Ｄｙの値は、それぞれ１．０〜０．７程度となる。このため、水平成分補正テーブル５０および垂直成分補正テーブル６０を合わせたデータサイズを、歪み画素Ａと補正画素Ｃとを単純に対応付けた補正テーブルと比較して小さくすることができる。
【００８９】
なお、本実施の形態において、水平成分補正処理および垂直成分補正処理を、それぞれ領域Ｐ、Ｑ、Ｒ、Ｓの順に実行する場合を例にして説明したが、これに限られない。水平成分補正処理および垂直成分補正処理を実行する順序は、任意に指定することができる。
【００９０】
なお、本実施の形態において、水平成分補正テーブル５０に、中間画素Ｂ（ｘ，ｙ）に対応するピッチデータＤｘを格納する例について説明したが、これに限られない。たとえば、水平成分補正テーブル５０は、中間画素Ｂ（ｘ−１、ｙ）のピッチデータＤｘと中間画素Ｂ（ｘ，ｙ）に対応するピッチデータＤｘとの差分値Ｅを、中間画素Ｂ（ｘ，ｙ）と対応付けてもよい。この場合、歪み画素特定部１１３は、中間画素Ｂ（ｘ−１）に対応するピッチデータＤｘと差分値Ｅとの和を、中間画素Ｂ（ｘ，ｙ）のピッチデータＤｘとすればよい。これにより、水平成分補正テーブル５０に格納する数値の範囲をさらに限定することができるため、テーブルの格納に必要なメモリ容量をさらに削減することができる。なお、垂直成分補正テーブル６０においても、同様のことがいえる。
【００９１】
なお、本実施の形態において、樽型歪みの補正を、水平成分補正処理、垂直成分補正処理の順に実行する場合を例にして説明したが、これに限られない。樽型歪みの補正を、垂直成分補正処理、水平成分補正処理の順に実行してもよい。
【図面の簡単な説明】
【００９２】
【図１】本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
【図２】樽型歪みの補正処理における座標系を示す図である。
【図３】水平成分補正処理における歪み画像データの変化を示す図である。
【図４】垂直成分補正処理における中間画像データの変化を示す図である。
【図５】水平成分補正テーブルの一例を示す図である。
【図６】垂直成分補正テーブルの一例を示す図である。
【図７】水平成分補正処理の流れを示すフローチャートである。
【図８】歪み画素と中間画素との対応関係の一例を示す図である。
【図９】各領域における対象水平ラインの指定順序と、中間画素を作成する処理の方向とを示す図である。
【図１０】垂直成分補正処理の流れを示すフローチャートである。
【図１１】中間画素と補正画素との対応関係の一例を示す図である。
【図１２】各領域における対象垂直ラインの指定順序と、中間画素を特定する処理の方向とを示す図である。
【符号の説明】
【００９３】
１  画像処理装置
１１  水平成分補正部
１２  垂直成分補正部
１３、１４  フレームメモリ
１５  補正テーブル保持部
１１１、１２１  補正制御部
１１２  水平ライン読出部
１１３  歪み画素特定部
１２２  垂直ライン読出し部
１２３  中間画素特定部
２０、２０ｐ、２０ｑ、２０ｒ、２０ｓ  歪み画像データ
３０、３０ｐ、３０ｑ、３０ｒ、３０ｓ  中間画像データ
４０、４０ｐ、４０ｑ、４０ｒ、４０ｓ  補正画像データ
５０  水平成分補正テーブル
６０  垂直成分補正テーブル
【図１】
0005141960.tif 000002
【図２】
0005141960.tif 000003
【図３】
0005141960.tif 000004
【図４】
0005141960.tif 000005
【図５】
0005141960.tif 000006
【図６】
0005141960.tif 000007
【図７】
0005141960.tif 000008
【図８】
0005141960.tif 000009
【図９】
0005141960.tif 000010
【図１０】
0005141960.tif 000011
【図１１】
0005141960.tif 000012
【図１２】
0005141960.tif 000013