(57)【要約】【課題】  効率良く光学歪み補正する。【解決手段】  光学歪み補正時にメインメモリ３８から読み出す各ブロック８４の画像データのＤＭＡ転送開始位置を、各ブロック８４の先頭の画素ではなく、この画素の水平方向の光学歪み量に相当する画素数離れた画素とすると共に、この画素を先頭とする１ブロック８４分の各画素の画素値をＤＭＡ転送して水平方向の光学歪みを補正すると共に、水平方向の光学歪みが補正された複数ブロック８４の画像データに基づいて垂直方向の光学歪みを補正することができるので、光学歪みの補正に用いる画素数を抑制することができるので、画像データの画素数が大きくなった場合であっても、効率よく光学歪みを補正することができる。【選択図】  図６
2006139350.tif 000002
【特許請求の範囲】
【請求項１】
収差を有する光学系を介して被写体を撮影することにより得られた画像データであって、複数の画素が所定方向に配列された画素列を前記所定方向と交差する方向に複数列配列して前記被写体像を表示する画像データを記憶した記憶手段と、
前記各画素列の画素各々について、前記所定方向の第１の光学歪み量及び前記所定方向と交差する方向の第２の光学歪み量を演算する演算手段と、
前記画素列各々について、各画素列の先頭に位置する画素から該画素の前記第１の光学歪み量に相当する画素数分前記所定方向に移動した位置に位置する画素を先頭として、前記所定方向に向かって連続する各画素の画素値を前記記憶手段から順次読み出し、前記画像データの前記第１の光学歪みを補正する第１の補正手段と、
前記第１の補正手段により補正された画像データに対して、前記第２の光学歪み補正を行う第２の補正手段と、
を含む光学歪み補正装置。
【請求項２】
前記第１の補正手段は、各画素列の先頭に位置する画素から該画素の前記第１の光学歪み量に相当する画素数分前記所定方向に移動した位置に位置する画素を先頭として、各画素の画素値を各画素列毎に所定画素数ずつ分割して前記記憶手段から読み出すと共に、読み出した所定画素数の画素値毎に前記第１の光学歪み量を補正する請求項１に記載の光学歪み補正装置。
【請求項３】
前記第１の補正手段は、前記記憶手段に記憶された画像データを前記所定方向の幅が予め定めた所定画素数となるように前記所定方向と交差する方向に複数の短冊領域に分割する分割手段を含み、前記分割手段によって分割された各短冊領域内の前記所定方向の画素列毎に、各短冊領域内の所定方向の各画素列各々について、各画素列の先頭に位置する画素から該画素の前記第１の光学歪み量に相当する画素数分前記所定方向に移動した位置に位置する画素を先頭として、前記所定方向に向かって連続する各画素の画素値を前記記憶手段から順次読み出し、前記画像データの前記第１の光学歪み量を補正する請求項１に記載の光学歪み補正装置。
【請求項４】
収差を有する光学系を介して被写体を撮影することにより得られた画像データであって、複数の画素が所定方向に配列された画素列を前記所定方向と交差する方向に複数列配列して前記被写体像を表示する画像データを記憶し、
前記各画素列の画素各々について、前記所定方向の第１の光学歪み量及び前記所定方向と交差する方向の第２の光学歪み量を演算し、
各画素列の先頭に位置する画素から該画素の前記第１の光学歪み量に相当する画素数分前記所定方向に移動した位置に位置する画素を先頭として、前記所定方向に向かって連続する各画素の画素値を前記記憶手段から順次読み出し、前記画像データの前記第１の光学歪みを補正し、
前記第１の光学歪みが補正された画像データに対して、前記第２の光学歪みを補正する、
光学歪み補正方法。
【請求項５】
収差を有する光学系を介して被写体を撮影することにより得られた画像データであって、複数の画素が所定方向に配列された画素列を前記所定方向と交差する方向に複数列配列して前記被写体像を表示する画像データを記憶した記憶手段と、
前記各画素列の画素各々について、前記所定方向の第１の光学歪み量及び前記所定方向と交差する方向の第２の光学歪み量を演算する演算手段と、
各画素列の先頭に位置する画素から該画素の前記第１の光学歪み量に相当する画素数分前記所定方向に移動した位置に位置する画素を先頭として、前記所定方向に向かって連続する各画素の画素値を前記記憶手段から順次読み出し、前記画像データの前記第１の光学歪みを補正する第１の補正手段と、
前記第１の補正手段により補正された画像データに対して、前記第２の光学歪み補正を行う第２の補正手段と、
を含む撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学歪み補正装置、光学歪み補正方法、及び撮像装置に係り、特に、光学歪みを有する光学系を介して被写体を撮影することによって得られた画像データの光学歪みを補正する光学歪み補正装置、光学歪み補正方法、及び撮像装置に関する。
【背景技術】
【０００２】
従来より、撮像装置、特にデジタルカメラでは、撮像によって、光学系を介してＣＣＤ等の撮像素子に被写体像を結像させることによって、被写体像の画像データを得ている。このような撮像装置では、光学レンズの歪曲収差に起因する光学歪み（ディストーション）が発生することが知られている。光学歪みは、画像の角部が外側に伸びて表示される「糸巻き型」と、角部が縮むように表示される「たる型」の２種類に分けられ、何れも光学中心からの距離によって歪み量が決められている。
【０００３】
このような光学歪みを補正する技術として、例えば特許文献１の技術では、撮影によって得られた、複数の画素が水平方向に配列された画素列を垂直方向に複数列配列して被写体像を表示する画像データを記憶し、この記憶された画像データの内、各画素列各々の先頭に位置する画素から各画素列毎に各画素の画素値（画素データ）を読み出し、読み出した各画素列の画素の画素値に基づいて、水平方向及び垂直方向双方の光学歪みを補正する技術が知られている。光学歪みの補正は、水平方向をＸ軸方向、垂直方向をＹ軸方向とすると、光学歪みが無いとき（光学歪みが補正された後）の画像データの画像の座標（ｘ，ｙ）に対応する光学歪みの補正前の画像データの画像の座標（Ｘ，Ｙ）を求めて、求めた座標（Ｘ，Ｙ）に対応する光学歪みの補正前の画像データの画像の画素の画素値を光学歪みが補正された後の画像の座標（ｘ，ｙ）の画素の画素値とすることによって行われる。このとき、光学歪みを有する画像データの画像の座標（Ｘ，Ｙ）に対応する画素が存在しない事が多く、実際には、光学歪みの補正前の画像の座標（Ｘ、Ｙ）近傍のＸ軸方向及びＹ軸方向に隣接する画素の画素値から、最近傍補間法や線形補間法などを用いて補間することによって、画素値を求めている。
【特許文献１】特開２００３―３３３５８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術では、光学歪み補正時には、水平方向の光学歪み及び垂直方向の光学歪みの双方を同時に補正するので、対応する補正前画像の座標近傍の水平方向及び垂直方向に隣接する画素の画素値から補間することによって対応する座標の画素の画素値を求める必要があるため、撮影によって得られた光学歪みを有する画像データから、この画像データの画像の各画素列各々の先頭に位置する画素から各画素列の画素値を読み出すと共に複数画素列の画素の画素値を読み出す必要があり、得られる画像データの高画素化が進むほど光学歪み補正処理効率が低下する恐れがあった。
【０００５】
本発明は、上記問題点を解消するためになされたもので、効率良く光学歪み補正を行うことを可能とした光学歪み補正装置、光学歪み補正方法、及び撮像装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明の光学歪み補正装置及び撮像装置は、収差を有する光学系を介して被写体を撮影することにより得られた画像データであって、複数の画素が所定方向に配列された画素列を前記所定方向と交差する方向に複数列配列して前記被写体像を表示する画像データを記憶した記憶手段と、前記各画素列の画素各々について、前記所定方向の第１の光学歪み量及び前記所定方向と交差する方向の第２の光学歪み量を演算する演算手段と、各画素列の先頭に位置する画素から該画素の前記第１の光学歪み量に相当する画素数分前記所定方向に移動した位置に位置する画素を先頭として、前記所定方向に向かって連続する各画素の画素値を前記記憶手段から順次読み出し、前記画像データの前記第１の光学歪みを補正する第１の補正手段と、前記第１の補正手段により補正された画像データに対して、前記第２の光学歪み補正を行う第２の補正手段と、を含んで構成されている。
【０００７】
本発明の光学歪み補正装置及び撮像装置の記憶手段には、光学歪みを有する光学系を介して被写体を撮影することにより得られ、複数の画素が所定方向に配列された画素列を所定方向と交差する方向に複数配列して被写体像を表示する画像データが記憶されている。第１の補正手段は、画素列各々について、各画素列の先頭に位置する画素から該画素の前記第１の光学歪み量に相当する画素数分前記所定方向に移動した位置に位置する画素を先頭として、前記所定方向に向かって連続する各画素の画素値を前記記憶手段から順次読み出し、読み出した画像データの第１の光学歪み量を補正する。第１の光学歪み補正は、演算手段によって求められた所定方向の第１の光学歪み量に基づいて、第１の光学歪み補正後の被写体像上の位置とこの位置に対応する第１の光学歪み補正前の被写体像上の位置とを求め、この第１の光学歪み補正前の被写体像の位置に位置する画素の画素値を第１の光学歪み補正後の被写体像上の位置の画素の画素値とすることによって行うことができる。この第１の光学歪み補正前の被写体像上の位置に位置する画素が存在しない場合には、この画素の画素値は、記憶手段から各画素列毎に読み出した各画素の内の、第１の光学歪み補正前の被写体像上の位置の水平方向に隣接する画素の画素値から補間することにより求める。
【０００８】
第２の補正手段は、第１の補正手段によって所定方向の第１の光学歪み量が補正された画像データに対して、第２の光学歪み補正を行う。第２の補正手段は、演算手段によって求められた所定方向に直交する方向の第２の光学歪み量に基づいて、第２の光学歪み補正後の被写体像上の位置とこの位置に対応する第２の光学歪み補正前の被写体像上の位置とを求め、光学歪み補正前の被写体像上の位置に位置する画素の画素値を第２の光学歪み補正後の被写体像上の位置の画素の画素値とすることによって行うことができる。この第２の光学歪み補正前の被写体像上の位置に位置する画素が存在しない場合には、この画素の画素値は、第１の補正手段によって第１の光学歪み量が補正された複数画素列の、第２の光学歪み補正前の被写体像上の位置の垂直方向に隣接する画素の画素値から補間することにより求める。
【０００９】
このように、撮影によって得られた画像データの各画素列の先頭に位置する画素から該画素の前記第１の光学歪み量に相当する画素数分前記所定方向に移動した位置に位置する画素を先頭として、所定方向に向かって連続する各画素の画素値を記憶手段から順次読み出し、所定方向の光学歪み補正を行っているので、記憶手段に記憶された画像データから読み出す画素数を減少させて光学歪み補正を行うことができる。
【００１０】
前記第１の補正手段は、各画素列の先頭に位置する画素から該画素の前記第１の光学歪み量に相当する画素数分前記所定方向に移動した位置に位置する画素を先頭として、前記所定方向に向かって連続する各画素の画素値を前記記憶手段から順次読み出すと共に、読み出した所定画素数の画素値毎に前記第１の光学歪み量を補正することができる。このように、分割して読み出した所定画素数の画素値毎に第１の光学歪み量を補正することにより、１列分の画素列の第１の光学歪み量を補正する場合に比較して、効率良く光学歪み補正を行うことができる。
【００１１】
前記第１の補正手段は、前記記憶手段に記憶された画像データを前記所定方向の幅が予め定めた所定画素数となるように前記所定方向と交差する方向に複数の短冊領域に分割する分割手段を含み、前記分割手段によって分割された各短冊領域内の前記所定方向の画素列毎に、各短冊領域内の所定方向の各画素列各々について、各画素列の先頭に位置する画素から該画素の前記第１の光学歪み量に相当する画素数分前記所定方向に移動した位置に位置する画素を先頭として、前記所定方向に向かって連続する各画素の画素値を前記記憶手段から順次読み出し、前記画像データの前記第１の光学歪み量を補正することができる。
【００１２】
第１の補正手段の分割手段は、記憶手段に記憶された画像データを前記所定方向の幅が予め定めた所定画素数となるように前記所定方向と交差する方向に複数の短冊領域に分割する。第１の補正手段は、分割手段によって分割された各短冊領域内の所定方向の画素列毎に、各短冊領域内の各画素列の先頭に位置する画素から該画素の第１の光学歪み量に相当する画素数分前記所定方向に移動した位置に位置する画素から、所定方向に向かって連続する各画素の画素値を記憶手段から順次読み出すことができるので、記憶手段に記憶された画像データから読み出す画素数を減少させて光学歪み補正を行うことができる。
【００１３】
なお、下記光学歪み補正方法によって、記憶手段に記憶された画像データから読み出す画素数を減少させて光学歪み補正を行うことができる。具体的には、収差を有する光学系を介して被写体を撮影することにより得られた画像データであって、複数の画素が所定方向に配列された画素列を前記所定方向と交差する方向に複数列配列して前記被写体像を表示する画像データを記憶し、前記各画素列の画素各々について、前記所定方向の第１の光学歪み量及び前記所定方向と交差する方向の第２の光学歪み量を演算し、各画素列の先頭に位置する画素から該画素の前記第１の光学歪み量に相当する画素数分前記所定方向に移動した位置に位置する画素を先頭として、前記所定方向に向かって連続する各画素の画素値を前記記憶手段から順次読み出し、前記画像データの前記第１の光学歪みを補正し、前記第１の光学歪みが補正された画像データに対して、前記第２の光学歪みを補正する。
【発明の効果】
【００１４】
上記に示したように、本発明の光学歪み補正装置、光学歪み補正方法、及び撮像装置によれば、撮影によって得られた画像データの各画素列の先頭に位置する画素から該画素の所定方向の光学歪み量だけ離れた画素を先頭として各画素の画素値を各画素列毎に読み出して所定方向の光学歪み補正を行っているので、光学歪みの補正に必要な画素の画素値の読み出しを少なくして光学歪み補正を行うことができ、効率良く光学歪み補正を行うことができる、という効果を有する。
【発明を実施するための最良の形態】
【００１５】
以下、本発明をデジタルカメラに適用した実施の形態を図面に基づき説明する。
【００１６】
図１に示すように、本実施の形態に係るデジタルカメラ１０は、被写体像を結像させるための光学ユニット１２、及び光学ユニット１２の光軸後方に配設され光学ユニット１２により得られる被写体からの反射光を撮影画像を示すアナログ画像データに変換して出力するためのＣＣＤ（Charge  Coupled  Device）１４を備えている。
【００１７】
光学ユニット１２は、光学歪みを有する光学ユニット１２であって、図示を省略するズームレンズ群、フォーカスレンズ、こられのズームレンズ群及びフォーカスレンズ各々を光軸方向に移動させるレンズ移動機構を含んで構成され、焦点距離の変更（変倍）が可能なズームレンズとして構成されている。光学ユニット１２は、Ａ／Ｆ制御回路３２と接続されており、Ａ／Ｆ制御回路３２の制御により所望のズーム倍率になるようにズームレンズ群が光軸方向に移動され、光学ユニット１２を通過した被写体像を示す入射光がＣＣＤ１４の受光面上に結像するようにフォーカスレンズが光軸方向に移動可能に構成されている。
【００１８】
また、デジタルカメラ１０は、ＣＣＤ１４から出力された被写体像を示すアナログ画像データをデジタル画像データ（以下、画像データという）に変換して出力するためのＡ／Ｄ変換器１６と、Ａ／Ｄ変換器１６から入力された画像データに対して、ホワイトバランス調整、ガンマ補正、シャープネス補正等の各種補正処理、及びＲＧＢデータをＹＣ信号に変換するＹＣ変換処理等の所定のデジタル信号処理を施すための信号処理プロセッサ２２と、信号処理プロセッサ２２によって信号処理された画像データを格納するためのメインメモリ３８と、を備えている。メインメモリ３８には、例えばＳＲＡＭやＳＤＲＡＭといった大容量のメモリを一般に用いることができる。
【００１９】
また、デジタルカメラ１０は、光学歪みを有する光学ユニット１２を介して被写体を撮影することにより得られた画像データの画像の光学歪みを補正するためのディストーション補正部２４（詳細後述）と、各種情報や画像データの画像を表示するためのＬＣＤ１８の表示制御を行うためのＬＣＤ制御部２６と、スマートメディア、及びＩＣカード等の光学歪みが補正された画像データを記憶するための外部記録メディア２８に対する各種情報の読み書きを制御するためのメディア制御部３０と、撮影を指示するときにユーザによって押圧操作されるレリーズボタンや電源スイッチ等の操作手段２０に接続されたＩ／Ｆ（インタフェース）部３４と、デジタルカメラ１０の全体の制御を司るＣＰＵ３６と、各種プログラム及び後述する処理ルーチン（図６参照）等を予め記憶したＲＯＭ４０と、を備えている。
【００２０】
上記信号処理プロセッサ２２、ディストーション補正部２４、ＬＣＤ制御部２６、メディア制御部３０、Ａ／Ｆ制御回路３２、Ｉ／Ｆ部３４、ＣＰＵ３６、メインメモリ３８、及びＲＯＭ４０は、データバス等のバス４２を介して各種データや信号を授受可能に接続されている。
【００２１】
図２に示すように、ディストーション補正部２４は、メインメモリ３８に格納されている画像データを読み出し、演算処理部５４へＤＭＡ（Direct  Memory  Access）転送するためのＤＭＡ入力制御部５２と、ＤＭＡ入力制御部５２から転送された画像データについて画像の光学歪みを補正するための演算処理部５４と、演算処理部５４によって光学歪みが補正された補正後の画像データをメインメモリ３８へ転送するためのＤＭＡ出力制御部５８と、を含んで構成されている。
【００２２】
ここで、画像データは、複数の画素が所定方向としての水平方向（Ｘ軸方向）に配列された画素列を、この所定方向と交差する方向としての垂直方向（Ｙ軸方向）に複数列配列することで、被写体像を示す画像を表示する画像データである。ＤＭＡ入力制御部５２は、図４に示すように、メインメモリ３８に格納されている、複数の画素が水平方向（Ｘ軸方向）に配列された画素列を、垂直方向（Ｙ軸方向）に配列することで撮影によって得られた被写体像を示す画像を表示可能な画像データ８０を、Ｘ軸方向の幅が所定の画素数となるようにブロックに区切って複数のブロック領域８２に分割し、各ブロック領域８２毎の、ブロック領域８２内の１画素列（以下、画像全体における１画素列と区別するために「ブロック」と称する）８４毎に演算処理部２４へＤＭＡ転送する。ＤＭＡ入力制御部５２は、転送時には、１ブロック８４分の画像データの各画素の画素値を水平方向（Ｘ軸方向）にスキャンすることによって、順次各画素の画素値を読み出す。
【００２３】
演算処理部５４は、ＤＭＡ入力制御部５２から転送された１ブロック８４分の画像データを格納するためのラインバッファ７０を含んで構成された入力ラインメモリ６４と、ラインバッファ７０に格納された１ブロック８４分の画像データについて、水平方向の光学歪み補正を行うための水平方向ディストーション補正部６０と、水平方向の光学歪みが補正された各ブロック８４の画像データを、各ブロック８４毎に各々格納するためのラインバッファ７２1〜3を複数含んで構成される出力ラインメモリ６６と、出力ラインメモリ６６の複数のラインバッファ７２1〜3各々に格納された複数の水平方向の光学歪み補正済みのブロック８４の画像データに基づいて、垂直方向の光学歪み補正を行うための垂直方向ディストーション補正部６２と、を含んで構成されている。
【００２４】
なお、本実施の形態では、出力ラインメモリ６６には、説明を簡略化するために３個のラインバッファ７２1〜3が設けられているが、複数のラインバッファが設けられれば良く、３個に限られるものではない。
【００２５】
なお、上記各ラインバッファ７０、及びラインバッファ７２1〜3各々は、本実施の形態では、１ブロック８４分の画素数の画素値からなる画像データを記憶可能な容量を備えている。
【００２６】
水平方向ディストーション補正部６０は、次のＤＭＡ転送対象となるブロック８４の先頭に位置する画素の水平方向の光学歪み量を算出するための歪み量算出部６８を含んで構成されている。ＤＭＡ入力制御部５２は、次のＤＭＡ転送対象となるブロック８４の先頭に位置する画素から、歪み量算出部６８によって算出された光学歪み量に相当する画素数離れた画素をＤＭＡ転送開始位置として設定するためのＤＭＡ転送開始位置設定部５６を含んで構成されている。
【００２７】
ここで、光学歪みとしては、図３（Ａ）に示すように画像の角部が外側に伸びて表示される「糸巻き型」と、図３（Ｂ）に示すように角部が縮むように表示される「たる型」の２種類が知られており、何れも光学中心からの距離によって光学歪み量が決まる。光学歪み量は、図３（Ｃ）に示すように非線形カーブ（以下、ディストーションカーブという）で示され、正の光学歪み量の場合は、各画素は、光学歪みの無いときの位置から中心より遠ざかる位置にずれるので「糸巻き型」となり、負の光学歪み量の場合は、各画素は、光学歪みの無いときの位置から中心へ近づく位置になるので「たる型」となる。「糸巻き型」と「たる型」の何れの光学歪みを有するかは、光学ユニット１２によって定まり、本実施の形態の光学ユニット１２では、「たる型」の光学歪みが生ずる収差を有しているので、たる型を示す情報が予めＲＯＭ４０に記憶されている。
【００２８】
光学歪みの光学歪み率は、各画素の画像中心からの距離に対する多次関数で近似表現することができる。例えば、光学中心からの距離をｄとしたときの、たる型の場合の光学歪み率Ｆ（ｄ）は、下記式（１）によって示される。
【００２９】
Ｆ（ｄ）＝α+β×ｄ＋γ×ｄ2＋…    …（１）
なお、ｄは、光学中心からの距離を示し、α、β、γは係数である。
【００３０】
光学歪みが無い状態、すなわち水平方向及び垂直方向の光学歪みが補正された画像データの画像における座標を（ｘ，ｙ）とした場合に（ｘ，ｙは整数）、この座標（ｘ，ｙ）に対応する光学歪み補正前の画像の座標（Ｘ，Ｙ）は、以下の式（２）で表される。
【００３１】
（Ｘ，Ｙ）＝（ｘ×Ｆ（ｄ），ｙ×Ｆ（ｄ））、ｄ＝（ｘ2＋ｙ2）1/2…（２）
ここで、水平方向の光学歪み量Δｄｘと、垂直方向の光学歪み量Δｄｙは、下記式（３）によって示される。
【００３２】
（Δｄｘ，Δｄｙ）＝（ｘ―Ｘ，ｙ―Ｙ）  …（３）
なお、光学歪み量Δｄは、下記（４）式によって示され、
Δｄ＝α×ｄ＋β×ｄ2＋γ×ｄ3＋…      …（４）
この場合、座標（ｘ，ｙ）に対応する光学歪み補正前の画像の座標（Ｘ，Ｙ）は、下記（５）式によって示されることから、
（Ｘ，Ｙ）＝（ｘ＋Δｄ×ｘ／ｄ，ｙ＋Δｄ×ｙ／ｄ）    …（５）
水平方向の光学歪み量Δｄｘと、垂直方向の光学歪み量Δｄｙは、下記（６）式によって示される。
【００３３】
（Δｄｘ，Δｄｙ）＝（Δｄ×ｘ／ｄ，Δｄ×ｙ／ｄ）  …（６）
水平方向ディストーション補正部６０は、上記式（１）、式（２）、及び式（３）、または上記式（４）、式（５）、及び式（６）に基づいて、水平方向及び垂直方向の光学歪み補正後の画像の補正対象となるブロック８４の内の座標（ｘ，ｙ）に対応する、水平方向の光学歪み補正前の画像の座標（Ｘ，ｙ）（以下、補正前座標という）を求める。次に、水平方向ディストーション補正部６０は、補正前座標（Ｘ，ｙ）に対応する画素の画素値（画素データ）を、ラインバッファ７０に転送されたブロック８４の画像データから求めて、求めた画素値を補正後の画像における座標（ｘ，ｙ）の水平方向の光学歪みのみが補正された画素値とすることで、水平方向の光学歪みを補正する。
【００３４】
垂直方向ディストーション補正部６２は、上記式（１）及び式（２）、または上記式（４）及び式（５）に基づいて、水平方向及び垂直方向のディストーション補正後の画像における座標（ｘ，ｙ）に対応する、垂直方向の光学歪み補正前の画像の補正前座標（ｘ，Ｙ）を求める。次に、垂直方向ディストーション補正部６２は、この補正前座標（ｘ，Ｙ）に対応する画素値を、ラインバッファ７２1〜3各々に転送された水平方向の光学歪みが補正されている複数のブロック８４の画像データから求めて、求めた画素値を補正後の画像における座標（ｘ，ｙ）の画素値とすることで垂直方向のディストーションを補正する。
【００３５】
上記水平方向ディストーション補正部６０及び垂直方向ディストーション補正部６２によって、ブロック８４の画像データの水平方向及び垂直方向の光学歪みが補正される。
【００３６】
なお、通常、上記式（１）、式（２）、及び式（３）、または上記式（４）、式（５）、及び式（６）により求めた補正前座標（Ｘ，ｙ）及び（ｘ，Ｙ）は整数値にはならず、補正前の画像には対応する画素が存在しないことが多い。このため、求めた補正前の画像の座標（Ｘ，ｙ）に対応する画素の画素値は、補正前の画像の座標（Ｘ，ｙ）近傍の水平方向に隣接する実在の画素の画素データから補間し、補正前の画像の座標（ｘ，Ｙ）に対応する画素の画素値は、補正前の画像の座標（ｘ，Ｙ）近傍の水平方向及び垂直方向に隣接する実在の画素の画素データから最近傍補間法や線形補間法等を用いて補間することによって求めるようにすればよい。
【００３７】
次に、上記実施の形態に係るデジタルカメラ１０の作用を説明する。
【００３８】
図６には、ＣＰＵ３６で実行されるディストーション補正処理を示す処理ルーチンを示した。被写体を撮影することによりメインメモリ３９へ画像データが記憶されると、ステップ１００では、ＲＯＭ４０に記憶されている光学ユニット１２の光学歪みの種類を読み取ることによって、光学ユニット１２が「たる型」及び「糸巻き型」の何れの光学歪みを有するかを読み取る。
【００３９】
次のステップ１０２では、ＤＭＡ転送入力制御部５２へ、次の補正対象となるブロック８４の設定指示を実行する。ステップ１０２の処理によって、次に補正するブロック８４が設定される。
【００４０】
次のステップ１０４では、歪み量算出部６８へ、上記ステップ１０２で設定したブロック８４の先頭に位置する画素の水平方向（Ｘ軸方向）の光学歪み量の演算指示を出力する。歪み量算出部６８は、水平方向の光学歪み量の演算指示が入力されると、上記ステップ１０２により設定されたブロック８４の先頭に位置する画素の水平方向の光学歪み量を上記式（１）に基づいて演算する。ステップ１０４の指示によって、図５に示すように、ブロック８４の先頭（座標（ｘ，ｙ））の画素の水平方向の光学歪み量Δｄｘが算出される。
【００４１】
次のステップ１０５では、ブロック８４の先頭画素の座標（ｘ，ｙ）が、光学中心Ａ（図４参照）を通るＹ軸よりＸ軸方向マイナス側（反読み出し方向）の座標であるか否かを判別し、肯定されるとステップ１０６へ進む。
【００４２】
次のステップ１０６では、ＤＭＡ転送開始位置設定部５６へ、ＤＭＡ転送開始位置を設定するための指示信号を出力する。指示信号は、上記ステップ１０４の処理によって歪み量算出部６８で算出された、水平方向の光学歪み量Δｄｘ及び水平方向の画素補間等に必要な予め定められた所定画素数に基づいて、ブロック８４の先頭画素の座標（ｘ，ｙ）が、光学中心Ａ（図４参照）を通るＹ軸よりＸ軸方向マイナス側（反読み出し方向）の座標であるブロック８４のＤＭＡ転送開始位置を設定するように指示するための信号である。
【００４３】
ＤＭＡ転送開始位置を設定するための指示信号が入力されると、ＤＭＡ転送開始位置設定部５６は、図５に示すように、上記ステップ１０２で設定したブロック８４の先頭の画素の座標（ｘ，ｙ）から、この画素の水平方向の光学歪み量ΔｄｘだけＸ軸方向の読み出し方向に移動した位置（Ｘ，ｙ）から、更に反移動方向に、画素補間に必要な画素数ｆ分移動した位置（Ｘ−ｆ，ｙ）を、ＤＭＡ転送開始位置として設定する。
【００４４】
一方、上記ステップ１０５で否定されると、ステップ１０７へ進み、ＤＭＡ転送開始位置設定部５６へ、ＤＭＡ転送開始位置を設定するための指示信号を出力する。指示信号は、上記ステップ１０４の処理によって歪み量算出部６８で算出された、水平方向の光学歪み量Δｄｘ及び水平方向の画素補間等に必要な予め定められた所定画素数に基づいて、ブロック８４の先頭画素の座標（ｘ，ｙ）が、光学中心Ａ（図４参照）を通るＹ軸よりＸ軸方向プラス側（読み出し方向）の座標であるブロック８４のＤＭＡ転送開始位置を設定するように指示するための信号である。
【００４５】
ＤＭＡ転送開始位置を設定するための指示信号が入力されると、ＤＭＡ転送開始位置設定部５６は、上記ステップ１０２で設定したブロック８４の先頭の画素の座標（ｘ，ｙ）から、この画素の水平方向の光学歪み量ΔｄｘだけＸ軸方向の反読み出し方向に移動した位置（Ｘ，ｙ）から、更に移動方向（読み出し方向）に、画素補間に必要な画素数ｆ分移動した位置（Ｘ＋ｆ，ｙ）を、ＤＭＡ転送開始位置として設定する。
【００４６】
次のステップ１０８では、ＤＭＡ入力制御部５２へ、メインメモリ３８に格納された画像データの内の１ブロック８４分の画像データとして、上記ステップ１０６の処理によりＤＭＡ転送開始位置設定部５６によって設定された位置の画素から水平方向へ１ブロック８４分の画素数の画素各々の画素値の転送を指示する転送指示信号を出力する。転送指示信号が入力されると、ＤＭＡ転送入力制御部５２は、メインメモリ３８に格納された光学歪み補正前の画像データから、該画像データの画像の上記ステップ１０６の処理によりＤＭＡ転送開始位置設定部５６によって設定された位置の画素から水平方向へ１ブロック８４分の画素数の画素各々の画素値を、メインメモリ３８に格納された画像データの内の１ブロック８４分の画像データとして、入力ラインメモリ６４のラインバッファ７０へ転送する。
【００４７】
次のステップ１１０では、水平方向ディストーション補正部６０へ、上記ステップ１０８の処理によってラインバッファ７０に格納された１ブロック８４分の画像データについて、水平方向の光学歪みの補正を指示する光学歪み補正指示信号を出力する。光学歪み補正指示信号が入力されると、水平方向ディストーション補正部６０では、ラインバッファ７０に格納されている１ブロック８４分の画像データについて、水平方向の光学歪みを補正する。水平方向の光学歪みが補正された１ブロック８４分の画像データは、出力ラインメモリ６６のラインバッファ７２1〜3内の、１ブロック８４分の画像データが未格納のラインバッファ７２1〜3に格納される。このラインバッファ７２1〜3各々には、水平方向の光学歪みが補正された１ブロック８４分の画像データ各々が順次格納される。
【００４８】
次のステップ１１２では、複数のラインバッファ７２1〜3の全てに、異なるブロック８４分の画像データが格納されているか否かを判別し、否定されると上記ステップ１０２へ戻り、肯定されるとステップ１１４へ進む。
【００４９】
ステップ１１４では、垂直方向ディストーション補正部６２へ、複数のラインバッファ７２1〜3に格納された異なる複数のブロック８４分の、水平方向の光学歪みが補正された画像データに基づいて、垂直方向の光学歪み補正を指示する光学歪み指示信号を出力する。光学歪み指示信号が入力されると、垂直方向ディストーション補正部６２では、複数のラインバッファ７２1〜3に格納された異なる複数のブロック８４分の、水平方向の光学歪みが補正された画像データに基づいて、各画像データの垂直方向の光学歪みを補正する。
【００５０】
次のステップ１１６では、ＤＭＡ出力制御部５８へ、水平方向及び垂直方向双方の光学歪みが補正された各ブロック８４分の画像データをＤＭＡ転送するためのＤＭＡ転送指示信号を出力する。ＤＭＡ出力制御部５８は、ＤＭＡ転送指示信号が入力されると、水平方向ディストーション補正部６０によって水平方向の光学歪みが補正されると共に、垂直方向ディストーション補正部６２によって垂直方向の光学歪みが補正された各ブロック８４分の画像データを、光学歪みが補正された各ブロック８４分の画像データとしてメインメモリ３８へ転送する。
【００５１】
次のステップ１１８では、画像データ８０の画像の全てのブロック８４の光学歪みの補正が終了したか否かを判別し、否定されると、上記ステップ１０２へ戻り、肯定されると、本ルーチンを終了する。
【００５２】
以上説明したように、本発明によれば、光学歪み補正時にメインメモリ３８から読み出す各ブロック８４の画像データのＤＭＡ転送開始位置を、各ブロック８４の先頭の画素ではなく、この画素の水平方向の光学歪み量に相当する画素数離れた画素とすると共に、この画素を先頭とする１ブロック８４分の各画素の画素値をＤＭＡ転送して水平方向の光学歪みを補正すると共に、水平方向の光学歪みが補正された複数ブロック８４の画像データに基づいて垂直方向の光学歪みを補正することができるので、光学歪みの補正に用いる画素数を抑制することができるので、画像データの画素数が大きくなった場合であっても、効率よく光学歪みを補正することができる。
【００５３】
また、メインメモリ３８から読み出す各ブロック８４の画像データのＤＭＡ転送開始位置を、ＤＭＡ転送の対象となるブロック８４の先頭に位置する画素から、この画素の水平方向の光学歪み量Δｄｘに相当する画素数だけ水平方向に移動した位置から反移動方向に補間に必要な画素数分移動した位置をＤＭＡ転送開始位置とすることによって、画素値の補間精度の低下を抑制することができる。
【００５４】
なお、上記実施の形態では、光学ユニット１２の光学歪みの種類は「たる型」であるものとして説明したが、「糸巻き型」の場合についても同様の処理を行うことによって、効率よく光学歪みを補正することができる。「糸巻き型」の場合は、図３（Ｃ）に示す糸巻き型のディストーションカーブに基づいて、各画素の光学歪み量を求めるようにすればよい。
【００５５】
なお、本実施の形態では、ブロック領域８２の幅寸法に相当する画素数ずつＤＭＡ転送するものとして説明したが、光学歪み量に応じて、光学歪み量が大きくなるほど少ない画素数をＤＭＡ転送するようにしてもよい。
【図面の簡単な説明】
【００５６】
【図１】本実施の形態に係わるデジタルカメラの概略構成を示すブロック図である。
【図２】ディストーション補正部の詳細構成を示すブロック図である。
【図３】（Ａ）は、糸巻き型の光学歪みを示す模式図であり、（Ｂ）は、たる型の光学歪みを示す模式図であり、（Ｃ）は、糸巻き型及びたる型各々のディストーションカーブを示す線図である。
【図４】たる型の光学歪みを有する画像の画素の配列を示す模式図である。
【図５】図４の一部を拡大した拡大図である。
【図６】本実施の形態の光学歪みの補正処理を示すフローチャートである。
【符号の説明】
【００５７】
１０  デジタルカメラ
２４  ディストーション補正部
３８  メインメモリ
６０  水平方向ディストーション補正部
６２  垂直方向ディストーション補正部
【図１】
2006139350.tif 000003
【図２】
2006139350.tif 000004
【図３】
2006139350.tif 000005
【図４】
2006139350.tif 000006
【図５】
2006139350.tif 000007
【図６】
2006139350.tif 000008