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