(57)【要約】【課題】画像データの歪補正をオンザフライの状態で実行する場合において、歪補正に必要なメモリの面積を削減することができる撮像装置、歪補正回路及び歪補正方法を提供すること【解決手段】本発明にかかる撮像装置は、記憶部、歪情報記憶部、歪補正処理部及び制御部を備える。歪補正処理部は、記憶部が記憶した、１フレームの画像データの一部に基づいて、前記画像データの歪補正処理を実行する。制御部は、歪情報記憶部が記憶する画像データにおける歪補正領域の位置を示す歪情報に基づいて、画像のフレームを分割した複数のブロックライン毎に、記憶部に設けられた前記ブロックラインに含まれる画素のライン数分のメモリに対して、前記ブロックラインの各ラインにおける前記歪補正領域にかかるデータを記憶させる。【選択図】図３
2014116746.tif 000002
【特許請求の範囲】
【請求項１】
撮像素子を介して取得した１フレームの画像にかかる画像データの一部を記憶する記憶部と、
前記画像の歪補正領域の位置を示す情報を歪情報として記憶する第１の歪情報記憶部と、
前記記憶部に記憶された前記画像データの一部に基づいて、前記画像の歪補正処理を実行する歪補正処理部と、
前記第１の歪情報記憶部が記憶する前記歪情報に基づいて、前記画像のフレームを分割した複数のブロックライン毎に、前記画像データ中における前記歪補正領域にかかるデータを前記画像データの一部として前記記憶部に記憶させる制御をする制御部と、を備え、
前記記憶部には、前記ブロックラインに含まれる画素のライン数分のメモリが設けられ、前記制御部は、前記ブロックラインの各ラインにおける前記歪補正領域にかかるデータがそれぞれ前記メモリに記憶されるよう制御する、
撮像装置。
【請求項２】
前記制御部は、複数のブロックラインにおいて同一のラインにある前記歪補正領域にかかるデータが、同一の前記メモリに記憶されるように制御する、
請求項１に記載の撮像装置。
【請求項３】
前記撮像装置は、前記記憶部に前記画像のどのブロックラインにかかるデータが入力されているかを判定して、前記記憶部に入力されているブロックラインにかかるデータの情報を入力情報として前記第１の歪情報記憶部に出力する第１の入力データ判定部をさらに備え、
前記第１の歪情報記憶部は、前記入力情報に基づいて、前記記憶部に入力されているブロックラインの前記歪補正領域にかかるデータについて、その前記画像におけるアドレス情報を前記歪情報として前記制御部に出力し、
前記制御部は、前記第１の歪情報記憶部が出力した前記歪情報に基づいて、前記ブロックラインの各ラインにおける前記歪補正領域にかかるデータがそれぞれ前記メモリに記憶されるよう制御する、
請求項１又は２に記載の撮像装置。
【請求項４】
前記制御部は、前記歪補正領域にかかるデータを前記メモリに記憶させるよう制御するときに、前記歪補正領域にかかるデータの前記画像におけるアドレスを前記メモリ内部のアドレスに変換して、前記メモリのその変換したアドレスにデータを記憶させる、
請求項１ないし３のいずれか一項に記載の撮像装置。
【請求項５】
前記撮像装置は、
前記歪補正処理部の歪補正処理の実行状況を認識して、前記歪補正処理部が歪補正処理において必要とする前記記憶部に記憶されたデータの情報を出力する第２の入力データ判定部と、
前記データの情報に基づいて、前記歪補正処理において必要とするデータの前記画像におけるアドレス情報を前記制御部に出力する第２の歪情報記憶部と、をさらに備え、
前記制御部は、前記第２の歪情報記憶部が出力した前記アドレス情報に基づいて、前記歪補正処理において必要とするデータの前記画像におけるアドレスを、前記メモリ内部のアドレスに変換して、前記メモリのその変換されたアドレスに記憶されたデータを前記記憶部から出力させるように前記記憶部を制御する、
請求項１ないし４のいずれか一項に記載の撮像装置。
【請求項６】
撮像装置に備えられ、前記撮像装置が撮影した１フレームの画像の歪みを補正する歪補正回路であって、
前記画像にかかる画像データの一部を記憶する記憶部と、
前記画像における歪補正領域の位置を示す情報を歪情報として記憶する歪情報記憶部と、
前記記憶部に記憶された前記画像データの一部に基づいて、前記画像の歪補正処理を実行する歪補正処理部と、
前記歪情報記憶部が記憶する前記歪情報に基づいて、前記画像のフレームを分割した複数のブロックライン毎に、前記画像データ中における前記歪補正領域にかかるデータを前記画像データの一部として前記記憶部に記憶させる制御をする制御部と、を備え、
前記記憶部には、前記ブロックラインに含まれる画素のライン数分のメモリが設けられ、前記制御部は、前記ブロックラインの各ラインにおける前記歪補正領域にかかるデータがそれぞれ前記メモリに記憶されるよう制御する、
歪補正回路。
【請求項７】
撮像装置が撮影した１フレームの画像の歪みを補正する歪補正方法であって、
前記画像における歪補正領域の位置を示す情報を歪情報として記憶するステップと、
前記画像のフレームを分割した複数のブロックライン毎に、前記ブロックラインに含まれる画素のライン数分備えられたメモリが、画像データ中における前記歪補正領域にかかるデータを、前記画像データの一部として記憶するステップと、
記憶した前記画像データの一部に基づいて、前記画像の歪補正処理を実行するステップと、
を備える歪補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は撮像装置、歪補正回路及び歪補正方法に関する。
【背景技術】
【０００２】
デジタルカメラ、デジタルビデオカメラ等の撮像装置においては、レンズからの入射光を撮像素子で光電変換し、得られた電気信号からデジタル画像を生成する。そして、撮像装置は、このデジタル画像を記録メディアや内蔵メモリに記憶する。
【０００３】
このとき、撮像されたデジタル画像においては、レンズに起因する歪が生じる。そのため、デジタル画像におけるこのような歪を補正する技術が検討されている。
【０００４】
特許文献１は、撮像カメラが取り込んだ画像信号に関して、その撮像カメラの外部のコントローラが画像の歪を補正する画像歪補正装置を開示している。
【０００５】
特許文献２〜４は、撮像装置において撮像素子で画像を撮影してデジタル画像を生成する段階で、画像データの歪を補正する撮像装置を開示している。換言すれば、特許文献２〜４に開示された撮像装置は、歪補正をいわゆるオンザフライの状態で実行可能な撮像装置である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第３４０５３０２号公報
【特許文献２】特開２００８−２３６５４４号公報
【特許文献３】特開２００５−４４０９８号公報
【特許文献４】特開２０１１−２９４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
歪補正をオンザフライの状態で実行する撮像装置においては、そのコストの削減や小型化が求められているため、必要な回路の面積を削減することが望ましい。従って、撮像装置においてデジタル画像における歪を補正する歪補正回路においても、その面積を削減することが望ましい。
【０００８】
特許文献１に記載の画像歪補正装置は、撮像カメラで一旦取り込んだ画像信号に関して画像の歪を補正する装置であり、オンザフライの状態で画像の歪補正を実行する装置ではない。
【０００９】
特許文献２〜４に記載の撮像装置は、歪補正をオンザフライの状態で実行可能ではあるものの、歪補正において用いられる画像データをメモリに記憶するときに、全ての画像データがメモリに記憶されてしまう。つまり、メモリは全ての画像データが記憶されるだけの容量を有する必要があるため、必要なメモリの面積が大きくなってしまう。
【００１０】
従って、従来技術では、歪補正をオンザフライの状態で実行する撮像装置において、歪補正に必要なメモリの面積を削減することができないという問題があった。
【課題を解決するための手段】
【００１１】
本発明にかかる撮像装置は、記憶部、歪情報記憶部及び制御部を備える。記憶部は、撮像素子を介して取得した１フレームの画像にかかる画像データの一部を記憶する。歪情報記憶部は、前記画像の歪補正領域を歪情報として記憶する。歪補正処理部は、前記記憶部に記憶された前記画像データの一部に基づいて、前記画像の歪補正処理を実行する。制御部は、前記歪情報記憶部が記憶する前記歪情報に基づいて、前記画像のフレームを分割した複数のブロックライン毎に、前記画像データ中における前記歪補正領域にかかるデータを前記画像データの一部として前記記憶部に記憶させる制御をする。ここで記憶部には、前記ブロックラインに含まれる画素のライン数分のメモリが設けられており、制御部は、前記ブロックラインの各ラインにおける前記歪補正領域にかかるデータがそれぞれ前記メモリに記憶されるよう制御する。
【００１２】
本発明にかかる歪補正回路は、撮像装置に備えられ、前記撮像装置が撮像した１フレームの画像の歪みを補正する歪補正回路であって、記憶部、歪情報記憶部、歪補正処理部及び制御部を備える。記憶部は、前記画像にかかる画像データの一部を記憶する。歪情報記憶部は、前記画像における歪補正領域を歪情報として記憶する。歪補正部処理は、前記記憶部に記憶された前記画像データの一部に基づいて、前記画像の歪補正を実行する。制御部は、前記歪情報記憶部が記憶する前記歪情報に基づいて、前記画像のフレームを分割した複数のブロックライン毎に、前記画像データ中における前記歪補正領域にかかるデータを前記画像データの一部として前記記憶部に記憶させる制御をする。ここで記憶部には、前記ブロックラインに含まれる画素のライン数分のメモリが設けられ、制御部は、前記ブロックラインの各ラインにおける前記歪補正領域にかかるデータがそれぞれ前記メモリに記憶されるよう制御する。
【００１３】
本発明にかかる歪補正方法は、撮像装置が撮像した１フレームの画像の歪みを補正する歪補正方法である。この歪補正方法は、前記画像における歪補正領域を歪情報として記憶するステップと、前記画像のフレームを分割した複数のブロックライン毎に、前記ブロックラインに含まれる画素のライン数分備えられたメモリが、前記画像データ中における前記歪補正領域にかかるデータを、前記画像にかかる画像データの一部として記憶するステップと、記憶した前記画像データの一部に基づいて、前記画像の歪補正を実行するステップと、を備える。
【発明の効果】
【００１４】
本発明により、画像データの歪補正をオンザフライの状態で実行する場合において、歪補正に必要なメモリの面積を削減することができる撮像装置、歪補正回路及び歪補正方法を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１にかかる画像の歪の例を説明するための説明図である。
【図２】実施の形態１にかかる撮像装置の構成例を示したブロック図である。
【図３】実施の形態１にかかる歪補正部の構成例を示したブロック図である。
【図４】実施の形態１にかかる制御信号の例を示した説明図である。
【図５】実施の形態１にかかる歪補正領域の例を示した説明図である。
【図６】実施の形態１にかかる歪補正領域とそのアドレスの例を示した説明図である。
【図７】実施の形態１にかかるラインメモリに書き込まれた歪補正領域にかかるデータの例を示した説明図である。
【図８】実施の形態１にかかる、歪補正エンジンに読み込まれる画素と歪補正により生成される画素の例を示した説明図である。
【図９】実施の形態１にかかる、新たなビデオカウンタ及び歪情報テーブルをさらに備えた歪補正部の構成例を示したブロック図である。
【図１０】実施の形態１にかかる、歪補正エンジンに読み込まれるデータとラインメモリに書き込まれたデータの関係例を示した説明図である。
【図１１】実施の形態１にかかる歪補正部の処理例を示したフローチャートである。
【図１２】実施の形態２にかかる歪補正領域の例を示した説明図である。
【発明を実施するための形態】
【００１６】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。なお、以下の説明で、同一の要素には同一の符号を付して説明する。
【００１７】
図１は、画像の歪みの例を説明するための説明図である。図１（１）は、画像がいわゆる樽型に歪んだことを示した画像の図であり、図１（２）は、画像がいわゆる糸巻型に歪んだことを示した画像の図である。図１（１）においてフレーム１００ａは、撮像素子によって取得された歪補正前の画像のフレームを示し、枠１００ｂは、撮像された画像の歪みの大きさを示している。ここで、歪補正のために必要な画像データ（画素のデータ）は、枠１００ｂ内の領域に含まれる画素データであり、フレーム１００ａ内全体の画像データは必要ではない。
【００１８】
図１（２）においてフレーム２００ａは、撮像素子によって取得された歪補正前の画像のフレームを示し、枠２００ｂは、撮像された画像の歪みの大きさを示している。この場合も、図１（１）と同様、歪補正のために必要な画像データは、枠２００ｂ内の領域に含まれる画素データであり、フレーム２００ａ内全体の画像データは必要ではない。
【００１９】
以下の説明では、図１（１）に示した樽型の歪みが生じた画像において、その歪みを補正する撮像装置について説明する。
【００２０】
図２は、実施の形態１にかかる撮像装置の構成例を示したブロック図である。実施の形態１にかかる撮像装置１は、光学系１１、撮像素子１２、プリプロセス部１３、Ｂ２Ｙ部１４、リサイズ部１５、歪補正部１６、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）コントローラ１７、ＳＤＲＡＭ１８、ビデオコーデック部１９及びメモリカード２０を備える。撮像装置１は、デジタルカメラ、デジタルビデオカメラ等の、撮像素子で撮影した画像又は動画をデジタルデータとして記録する撮像装置である。
【００２１】
光学系１１は、レンズや反射鏡を有しており、入射された光を撮像素子１２に導く働きをする。換言すれば、光学系１０１は、撮像素子１２の撮像面に光学像を結像する。
【００２２】
撮像素子１２は、光学系１１により導かれた光を電気信号に変換する（光電変換を実行する）役割をする。そして、撮像素子１２は、内蔵するアナログ／デジタル変換器（Ａ／Ｄ変換器）によって、電気信号に対するＡ／Ｄ変換を実行する。その結果、ベイヤパターンのＲＡＷデータ（１フレームの画像データ）が得られる。撮像素子１２は、例えばＣＣＤ（Charge Coupled Device Image Sensor）イメージセンサであってもよいし、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサであってもよい。
【００２３】
プリプロセス部１３は、撮像素子１２から出力されたベイヤパターンのＲＡＷデータに対するプリプロセスを実行する。例えば、プリプロセス部１３は、ＲＡＷデータに対するシェーディング補正、欠陥補正、ノイズ除去等といったアナログ信号処理を実行する。
【００２４】
Ｂ２Ｙ部１４は、プリプロセス部１３によりプリプロセスがなされたＲＡＷデータを、輝度信号（Ｙ）及び色差（Ｃｂ、Ｃｒ）で表される１フレームのＹＣｂＣｒ画像に変換する。このＹＣｂＣｒ画像は、光学系１０１に起因して生じた歪みを伴う画像である。
【００２５】
リサイズ部１５は、Ｂ２Ｙ部１４によって得られたＹＣｂＣｒ画像のサイズを変換して、１フレームの画像データを歪補正部１６に出力する。
【００２６】
歪補正部１６（歪補正回路）は、リサイズ部１５から出力された１フレームの画像データのうちの一部の範囲のデータ（すなわち画素値）を、歪補正部１６内部のラインメモリに順次記憶させる。そして、歪補正部１６は、ラインメモリに記憶されたデータを用いて、歪補正された画像を生成する。この詳細については、後に詳述する。なお、歪補正部１６は、例えば１つのチップとして撮像装置１に搭載されている。
【００２７】
ＳＤＲＡＭコントローラ１７は、ＳＤＲＡＭ１８への書き込み及びＳＤＲＡＭ１８からの読み込みを制御する。例えば、ＳＤＲＡＭコントローラ１７は、歪補正部１６により出力される歪補正画像の画素値のＳＤＲＡＭ１８への書き込みを制御する。さらに、ＳＤＲＡＭコントローラ１７は、歪補正画像の画素値のビデオコーデック部１９への読み込みを制御する。
【００２８】
ＳＤＲＡＭ１８は、撮像装置１内で、一時的に保存すべき画像を記憶する。例えばＳＤＲＡＭ１８は、歪補正部１６から出力された、歪補正処理を実行することにより得られた歪補正画像を記憶する。
【００２９】
ビデオコーデック部１９は、ＳＤＲＡＭ１８に記憶される歪補正画像に対して、ＭＰＥＧ（Moving Picture Experts Group；例えばＭＰＥＧ２、ＭＰＥＧ４、Ｈ．２４６等）等の圧縮符号化を実行する。そして、ビデオコーデック部１９は、例えば、圧縮符号化後の画像をメモリカード２０に出力する。なお、撮像装置１が映像や動画像ではなく静止画像を撮像する場合には、ビデオコーデック部１９は、例えば、歪補正画像をＪＰＥＧ（Joint Photographic Experts Group）、ＴＩＦＦ（Tagged Image File Format）等により圧縮符号化する。
【００３０】
メモリカード２０は、ビデオコーデック部１９により圧縮符号化された画像を記憶する。メモリカード２０は、例えばフラッシュメモリやメモリースティックである。
【００３１】
図３は、歪補正部１６の構成例を示したブロック図である。以下、歪補正部１６の構成について詳述する。
【００３２】
歪補正部１６は、ラインメモリ２１、ビデオカウンタ２２、歪情報テーブル２３、アドレス変換部２４及び歪補正エンジン２５を備える。
【００３３】
ラインメモリ２１は、入力される画像データの一部を記憶する。具体的には、ラインメモリ２１は画像の１ブロックラインのうち、画像の歪補正領域の部分のみにかかるデータを、アドレス変換部２４の制御に基づいて記憶する。ブロックラインは、ラインメモリ２１が画像データを読み込むときの１単位であり、画素の複数のラインが含まれた画像データの列（ブロック）をいう。画像データは、複数列のブロックラインに分割される。また、歪補正領域とは、歪補正画像を生成するために必要なデータを含む画像内の領域である。例えば、図１（１）における歪補正領域は枠１００ｂ内の領域であり、図１（２）における歪補正領域は枠２００ｂ内の領域である。
【００３４】
実施の形態１では、１ブロックラインにおいて画素が４ライン分含まれており、ラインメモリ２１はライン数に対応して４個設けられている。ラインメモリ２１−１〜２１−４には、それぞれ１ブロックライン中の各ラインにおける歪補正領域の部分にかかるデータが書き込まれ、記憶される。なお、ラインメモリ２１−１〜２１−４には、歪補正部１６に画像データのブロックラインが読み込まれる順にデータが記憶される。以上から、ラインメモリ２１−１〜２１−４全体は、画像データの一部を記憶する記憶部として機能する。
【００３５】
なお、ラインメモリ２１は、最低でも歪補正部１６のカーネル個数分が設けられている必要がある。ラインメモリ２１は、例えばＳＲＡＭ（Static Random Access Memory）である。
【００３６】
ビデオカウンタ２２（入力データ判定部）は、入力される制御信号に基づいて、画像データの読み込み状況を監視する。例えば、ビデオカウンタ２２は、ＤＭＡ（Direct Memory Access）による制御信号によって、画像データのうちで、ラインメモリ２１に現在読み込まれているデータの行及び列の情報（以下、読み込み情報という）を取得する。この制御信号は、例えば画像データにおけるＶＳＹＮＣ（Vertical Synchronizing signal）及びＨＳＹＮＣ（Horizontal Synchronizing signal）である。
【００３７】
図４は、制御信号の例であるＶＳＹＮＣとＨＳＹＮＣを示した説明図である。図４（１）は、ＶＳＹＮＣの例であり、時刻ｔ１と、その後の時刻ｔ２とに、それぞれパルス信号がビデオカウンタ２２に入力されることを示している。図４（２）は、ＨＳＹＮＣの例であり、時刻ｔ１及び時刻ｔ２、そしてその間にパルス信号がビデオカウンタ２２に入力されることを示している。
【００３８】
図４（１）のＶＳＹＮＣにおける時刻ｔ１のパルス信号は、１フレームの画像データの入力が開始されたことを示すパルス信号であり、時刻ｔ２のパルス信号は、１フレームの画像データの入力が終了したことを示すパルス信号である。ビデオカウンタ２２は、このパルス信号に基づいて、１フレームの画像データの入力の開始及び終了を認識する。
【００３９】
図４（２）のＨＳＹＮＣにおける時刻ｔ１のパルス信号は、１フレームの画像データのうち、１つのブロックラインの入力が開始されたことを示すパルス信号である。時系列でその次にあるパルス信号は、そのブロックラインの入力が終了したとともに、次のブロックラインの入力が開始されたことを示すパルス信号である。以下、同様に、１つのブロックラインの入力が終了し、次のブロックラインの入力が開始されるとともに、図４（２）のＨＳＹＮＣにおいてパルス信号が生ずる。そして、最後に時刻ｔ２において、１フレームの画像データのうち、最後のブロックラインの入力が終了したことを示すパルス信号が生ずる。ビデオカウンタ２２は、以上の制御信号から、ラインメモリ２１に画像のどのブロックラインにかかるデータが入力されているかを認識する。
【００４０】
そして、ビデオカウンタ２２は、読み込み情報（入力情報）を歪情報テーブル２３とアドレス変換部２４に出力する。
【００４１】
歪情報テーブル２３（歪情報記憶部）は、対象となる画像データ（即ち、歪みを伴う画像における画像データ）における歪補正領域の位置を示す情報を、歪情報としてテーブルに記憶する。上述の通り、この歪補正領域は、歪みなしの画像である歪補正画像を生成するのに用いられるデータである。歪情報テーブル２３は、ビデオカウンタ２２から入力された読み込み情報に基づいて、ラインメモリ２１に現在入力されているデータの行及び列を認識する。歪情報テーブル２３は、このブロックラインにおける歪補正領域の位置を示す歪情報（即ち、歪補正領域の画像における画像アドレス情報）を、アドレス変換部２４に対して出力する。なお、画像アドレスとは、少なくともデータの画像における列を特定する、データの画像内における位置情報である。
【００４２】
なお、光学系１１を通してどのように対象画像が歪むか、即ち歪補正画像のどのデータが歪補正領域に含まれるかは、光学系１１の特性及び焦点距離によって決まる。よって、撮像装置１は、光学系１１の種類又は焦点距離に応じた歪情報を、例えばＣＰＵ（Central Processing Unit）により設定することにより、歪情報テーブル２３に予め記憶させることが可能である。この歪情報が歪情報テーブル２３に保持されていることにより、歪補正部１６は、歪補正処理を実行することができる。
【００４３】
アドレス変換部２４（制御部）は、４個のラインメモリ２１−１〜２１−４に対応して、アドレス変換部２４−１〜２４−４の４個設けられている。アドレス変換部２４は、ビデオカウンタ２２から入力された読み込み情報に基づいて、歪補正部１６（ラインメモリ２１）に現在入力されているデータの行及び列（すなわち画像における位置）を認識する。それとともに、アドレス変換部２４は、歪情報テーブル２３から入力された歪情報に基づいて、現在入力されているブロックラインにおける歪補正領域を認識し、その歪補正領域にかかるデータのみを、対応するラインメモリ２１が内部に書き込むように制御信号を出力する。例えばアドレス変換部２４−１は、ブロックラインの１本のラインにおける歪補正領域にかかるデータが、ラインメモリ２１−１に記憶されるよう制御する。アドレス変換部２４−２〜２４−４も、同様の制御を実行する。
【００４４】
まとめると、アドレス変換部２４は、歪情報テーブルが記憶する歪情報に基づいて、画像データのフレームを分割した複数のブロックライン毎に、画像データ中における歪補正領域にかかるデータを、画像データの一部としてラインメモリ２１に記憶させる制御をする。さらに、アドレス変換部２４は、ラインメモリ２１が歪補正領域にかかる画素を記憶するときに、画素のアドレスを画像アドレスからラインメモリ２１内部のアドレスに変換して、ラインメモリ２１にその変換したアドレスにデータを書き込ませるように制御する。
【００４５】
歪補正エンジン２５（歪補正処理部）は、ラインメモリ２１に記憶された画像データの一部に基づいて、画像データの歪補正処理を実行する。この詳細については後述する。
【００４６】
以上に説明した歪補正部１６が実行する処理の詳細について、例を挙げて説明する。歪補正部１６は、上述の通り、樽型の歪みが生じた画像の歪の補正を実行する。
【００４７】
図５は、歪情報テーブル２３に記憶された歪補正領域の例を示した説明図である。対象となる画像は、ブロックライン１０１、１０２、１０３、１０４、・・・１０５、１０６、・・・１０７、１０８、１０９、１１０により分割される。ブロックライン１０１は画像の上端にあり、ブロックライン１０２はそのすぐ下に並ぶ。ブロックライン１０３、１０４は、ブロックライン１０２のすぐ下に順に並ぶ。ブロックライン１０５、１０６は画像の真ん中にある。ブロックライン１０７〜１１０は画像の下端にあり、上からブロックライン１０７、１０８、１０９、１１０の順に並んでいる。
【００４８】
ここで、各ブロックライン１０１〜１１０毎について、歪補正領域ａ〜ｊが、画像における歪補正領域として歪情報テーブル２３に記憶されている。ここで歪補正領域ａ〜ｊは、枠１００ｂ内の領域に含まれる画素データ（歪補正のために必要な画像データ）を含んでおり、かつ、ブロックライン１０１〜１１０における一部の領域である。従って、ラインメモリ２１は、歪補正のために、画像データの全てではなく、歪補正領域ａ〜ｊに示された部分にかかるデータを記憶すればよい。フレーム１００ａ内にあるものの、歪補正領域ａ〜ｊ内にない除外領域１２１については、ラインメモリ２１は記憶する必要はない。
【００４９】
なお、ブロックラインは、ここでは４ラインの幅を有する長方形の形状である。ここで、ブロックラインが枠１００ｂ内の領域に含まれる画素データを確実に含むためには、ブロックラインは、ブロックラインの一方の長辺においてその長辺の角と枠１００ｂとが交わるとともに、他方の長辺において長辺上の点と枠１００ｂとが交わるような長辺の長さを最低限有する必要がある。
【００５０】
なお、画像データにおいて、画像のブロックラインにかかるデータがラインメモリに入力される順番は任意である。ただし実施の形態１では、図１（１）に示した画像において、その上端のブロックラインから下端のブロックラインまでのデータが順番にラインメモリ２１へ入力される例を説明する。
【００５１】
図６は、歪補正領域とそのアドレスの例を示した説明図である。図６（１）は、図５に示した画像の上端を拡大した図であり、図６（２）は、図６（１）に示されたブロックラインの画像におけるアドレス（以下、画像アドレスとも記載）を示した図である。
【００５２】
図６（１）において、画像の上端には、画像の上から順にブロックライン１０１〜１０３が並んでおり、ブロックライン１０１〜１０３には歪補正領域ａ〜ｃが設定されている。ここで、図６（１）における画像アドレスは、左端が０、右端が１０００である。図６（２）に示す通り、歪補正領域ａは画像アドレス４００〜６００にかかるデータ、歪補正領域ｂは画像アドレス３５０〜６５０にかかるデータ、歪補正領域ｂは画像アドレス３００〜７００にかかるデータである。歪補正領域ａ、ｂ、ｃは、それぞれライン１〜４（図６ではＬ１〜Ｌ４と記載）に分けられる。後に説明する通り、各歪補正領域におけるライン１のデータは、ラインメモリ２１−１に記憶される。同様に、各歪補正領域におけるライン２のデータはラインメモリ２１−２に、各歪補正領域におけるライン３のデータはラインメモリ２１−３に、各歪補正領域におけるライン４のデータはラインメモリ２１−４に、それぞれ記憶される。このように、各ブロックラインにおける歪補正領域は画像アドレスにより特定され、歪情報テーブル２３はその画像アドレスを記憶している。
【００５３】
このように歪情報テーブル２３に歪補正領域の画像アドレスが記憶されている状態で、歪補正部１６に画像データが入力されたと仮定する。このとき、ビデオカウンタ２２は、上述の通り、画像データが入力されたことを認識し、読み込み情報を歪情報テーブル２３及びアドレス変換部２４に出力する。
【００５４】
歪情報テーブル２３は、現在どのブロックラインがラインメモリに入力されているかを判定し、そのブロックラインにかかる歪補正領域を特定する歪情報をアドレス変換部２４に出力する。ここで、画像データがラインメモリ２１に入力され始めたとき、ラインメモリ２１に入力されるのはブロックライン１０１なので、歪情報テーブル２３は歪補正領域ａを特定する歪情報（画像アドレス４００〜６００を示す情報）をアドレス変換部２４−１〜２４−４に出力する。
【００５５】
アドレス変換部２４−１〜２４−４は、取得した歪情報に応じて、ラインメモリ２１−１〜２１−４に対し、現在入力されているブロックラインにおいて、画像アドレス４００〜６００のデータのみを記憶するよう制御させる。それとともに、アドレス変換部２４−１〜２４−４は、画像アドレス４００〜６００のデータを、メモリのアドレス（以下メモリアドレスとも記載）０〜２００のデータとして記憶させるよう、ラインメモリ２１−１〜２１−４を制御する。このようにして、ラインメモリ２１−１〜２１−４は、メモリアドレス０〜２００のデータを記憶する。なお、ラインメモリ２１−１は歪補正領域ａにおけるライン１のデータを、ラインメモリ２１−２は歪補正領域ａにおけるライン２のデータを、ラインメモリ２１−３は歪補正領域ａにおけるライン３のデータを、ラインメモリ２１−４は歪補正領域ａにおけるライン４のデータを、それぞれ記憶する。
【００５６】
次に、ラインメモリ２１に対して、ブロックライン１０２のデータが入力され始める。ここで歪情報テーブル２３は、歪補正領域ｂを特定する歪情報（画像アドレス３５０〜６５０を示す情報）をアドレス変換部２４−１〜２４−４に出力する。
【００５７】
アドレス変換部２４−１〜２４−４は、取得した歪情報に応じて、ラインメモリ２１−１〜２１−４に対し、画像アドレス３５０〜６５０のデータのみを記憶するよう制御させる。それとともに、アドレス変換部２４−１〜２４−４は、画像アドレス３５０〜６５０のデータを、メモリアドレス２００〜５００のデータとして記憶させるよう、ラインメモリ２１−１〜２１−４を制御する。ラインメモリ２１−１〜２１−４は、歪補正領域ｂのデータを、メモリアドレス２００から書き込みを開始する。これは、前回記憶された歪補正領域ａのデータの最後のメモリアドレスが２００であるためである。このようにして、ラインメモリ２１−１〜２１−４は、メモリアドレス２００〜５００のデータを記憶する。なお、ラインメモリ２１−１〜２１−４は、前回と同様、歪補正領域ｂにおけるライン１〜４のデータをそれぞれ記憶する。
【００５８】
次に、ラインメモリ２１−１〜２１−４に対して、ブロックライン１０３のデータが入力され始める。ここで歪情報テーブル２３は、歪補正領域ｃを特定する歪情報（画像アドレス３００〜７００を示す情報）をアドレス変換部２４−１〜２４−４に出力する。
【００５９】
アドレス変換部２４−１〜２４−４は、取得した歪情報に応じて、ラインメモリ２１−１〜２１−４に対し、画像アドレス３００〜７００のデータのみを記憶するよう制御させる。それとともに、アドレス変換部２４−１〜２４−４は、画像アドレス３００〜７００のデータを、メモリアドレス５００〜９００のデータとして記憶させるよう、ラインメモリ２１−１〜２１−４を制御する。ラインメモリ２１−１〜２１−４は、歪補正領域ｃのデータを、メモリアドレス５００から書き込みを開始する。これは、前回記憶された歪補正領域ｂのデータの最後のメモリアドレスが５００であるためである。このようにして、ラインメモリ２１は、メモリアドレス５００〜９００のデータを記憶する。なお、ラインメモリ２１−１〜２１−４は、前回と同様、歪補正領域ｂにおけるライン１〜４のデータをそれぞれ記憶する。
【００６０】
図７は、以上のようにして各ラインメモリに書き込まれた歪補正領域にかかるデータの例を示した説明図である。図７の通り、ラインメモリ２１−１には、歪補正領域ａ、ｂ、ｃにおけるライン１のデータが記憶される。同様に、ラインメモリ２１−２には各歪補正領域におけるライン２のデータ、ラインメモリ２１−３には各歪補正領域におけるライン３のデータ、ラインメモリ２１−４には各歪補正領域におけるライン４のデータがそれぞれ記憶される。なお、図７ではライン１〜４をＬ１〜４と表記し、ラインメモリ２１−１〜２１−４をＬＭ１〜４と表記している。
【００６１】
ラインメモリ２１、ビデオカウンタ２２、歪情報テーブル２３及びアドレス変換部２４は、以上の処理をブロックライン毎に繰り返すことにより、歪補正に用いる画像データの一部をラインメモリ２１に記憶させる。
【００６２】
歪補正エンジン２５は、ラインメモリ２１に歪補正領域ａ〜ｈの全部が記憶される前に、ラインメモリ２１に記憶された歪補正領域に基づいて、画像の歪補正を実行する。
【００６３】
図８は、歪補正エンジン２５に読み込まれるデータとラインメモリ２１に書き込まれたデータの関係例を示した説明図である。図８における四角で示した点は、ラインメモリ２１に書き込まれた、画像の画素データを示している。図８における丸で示した点は、歪補正エンジン２５が歪補正において生成する画素データを示している。歪補正エンジン２５は、例えば画素データ１１２を生成する場合に、画素データ１１２を囲む４×４の画像の画素データ（画素データ領域１１８）に基づいて、画素データ１１２を生成する。つまり、歪補正エンジン２５は、画素データ領域１１８にある画素データをラインメモリ２１から取得することによって、画素データ１１２を生成する。
【００６４】
同様に、歪補正エンジン２５は、画素データ１１３を生成する場合に、画素データ領域１１９にある画素データをラインメモリ２１から取得することによって、画素データ１１３を生成する。歪補正エンジン２５は、画素データ１１４を生成する場合に、画素データ領域１２０にある画素データをラインメモリ２１から取得することによって、画素データ１１４を生成する。歪補正エンジン２５は、画素データ１１５〜１１７を生成する場合にも、同様の処理を実行する。
【００６５】
歪補正エンジン２５は、図１における枠１００ｂの右端又は左端に沿って、左右いずれかの方向に歪補正処理を実行することが考えられる。その場合に、ラインメモリ２１に書き込まれた順番ではなく、書き込まれた順番と異なる順番で、ラインメモリ２１からデータが読み出される。
【００６６】
以上のような場合に、歪補正部１６は、ラインメモリ２１からの歪補正エンジン２５のデータの読み出しのために、ビデオカウンタ２２、歪情報テーブル２３と同じ機能を有するビデオカウンタ及び歪情報テーブルをさらに有することが望ましい。
【００６７】
図９は、ラインメモリ２１からの歪補正エンジン２５のデータの読み出しのために、新たなビデオカウンタ２６（第２の入力データ判定部）及び歪情報テーブル２７（第２の歪情報記憶部）をさらに備えた歪補正部１６の構成例を示したブロック図である。ビデオカウンタ２６は、歪補正エンジン２５における歪補正の実行状況を監視する。具体的には、歪補正エンジン２５からの制御信号によって、歪補正エンジン２５の歪補正処理の実行状況を認識する。そして、歪補正処理の画素データの生成に必要なラインメモリ２１に記憶された画素データ領域の行及び列の情報（生成情報）を歪情報テーブル２７に出力する。
【００６８】
歪情報テーブル２７は、歪情報テーブル２３と同様、対象となる画像データにおける歪補正領域の位置情報を歪情報として記憶する。歪情報テーブル２７は、ビデオカウンタ２６から入力された生成情報に基づいて、歪補正エンジン２５が歪補正を実行するために現在必要とする画素データ領域の行及び列（すなわち画面における位置情報）を認識する。歪情報テーブル２７は、この画素データ領域における個々のデータが、それぞれどのブロックラインに属し、どのラインにあり、元の画像データにおいてどのアドレスにあるかを判定する。すなわち、歪情報テーブル２７は、それぞれの画素データがどのラインメモリ２１に記憶されているかを判定する。そして歪情報テーブル２７は、それぞれの画素データについて、その画素データが記憶されているラインメモリ２１に対応するアドレス変換部２４に対して、歪補正エンジン２５が要求する画素データの位置情報（ブロックライン及びアドレス）を通知する。
【００６９】
アドレス変換部２４は、その位置情報を受信した場合に、その位置情報で示された画素データが、ラインメモリ２１のどのアドレスにあるかを判定する。つまりアドレス変換部２４は、取得したデータの位置情報のアドレス（画像アドレス）を、ラインメモリ２１の内部のアドレス（メモリアドレス）に変換するアドレス変換を実行する。アドレス変換部２４は、その変換されたメモリアドレスに記憶されたデータを出力するように、ラインメモリ２１を制御する制御情報を出力する。ラインメモリ２１はその制御に応じて、歪補正エンジン２５にデータを出力する。これにより、歪補正エンジン２５は、歪補正に必要となるデータをラインメモリ２１から取得することができる。
【００７０】
例えば、歪補正エンジン２５において、ライン１〜４における画像のアドレス１００〜１０３のデータ（ここでは、全て同じブロックラインに属するデータ）が歪補正のために必要となったとする。ここでビデオカウンタ２６は、歪補正エンジン２５が現在ライン１〜４における画像アドレス１００〜１０３のデータを必要としていることを取得し、この位置情報を歪情報テーブル２７に出力する。歪情報テーブル２７は、ライン１に対応するラインメモリ２１−１のデータ出力を制御するアドレス変換部２４−１に対し、歪補正エンジン２５が要求する画素データの位置情報として、ブロックライン及び画像アドレス１００〜１０３の情報を通知する。歪情報テーブル２７は同様に、アドレス変換部２４−２、２４−３、２４−４に対し、歪補正エンジン２５が要求する画素データの位置情報として、ブロックライン及び画像アドレス１００〜１０３の情報を通知する。
【００７１】
アドレス変換部２４は、以上の位置情報を受信した場合に、その位置情報で示されたアドレス１００〜１０３の画素データが、ラインメモリ２１のどのアドレスにあるかを判定する。例えば、アドレス変換部２４−１は、画像アドレス１００〜１０３の画素データが、ラインメモリ２１−１のメモリアドレス９００〜９０３にあると判定した場合、アドレス変換部２４−１は、ラインメモリ２１−１のメモリアドレス９００〜９０３に記憶されたデータを出力するようにラインメモリ２１−１を制御する。アドレス変換部２４−２〜２４−４も、同様の制御を実行する。ここで、歪補正エンジン２５において要求されているデータは、全て画像の同じブロックラインに属するデータである。そのため、アドレス変換部２４−２〜２４−４は、それぞれラインメモリ２１−２〜２１−４のメモリアドレス９００〜９０３に記憶されたデータを出力するように、ラインメモリ２１−２〜２１−４を制御する。ラインメモリ２１−１〜２１−４は以上の制御に応じて、歪補正エンジン２５にデータを出力する。これにより、歪補正エンジン２５は、歪補正に必要となるデータをラインメモリ２１から取得することができる。
【００７２】
歪補正エンジン２５は、歪補正を実行するときに、前述のブロックラインにまたがる画素データを必要とする（すなわち、異なるブロックラインに属するデータを必要とする）場合がある。このような場合でも、上述の処理により、アドレス変換部２４は、対応するデータをラインメモリ２１に出力させるように制御することができる。
【００７３】
以上の処理の例について説明する。図１０は、歪補正エンジンに読み込まれるデータとラインメモリに書き込まれたデータの関係例を示した説明図である。図１０（１）は、歪補正の対象とする画像における歪補正領域を抜き出した説明図であり、図１０（２）は、図１０（１）で示した歪補正領域をラインメモリに記憶させた状態を示した説明図である。
【００７４】
ラインメモリ２１−１〜２１−４（図１０ではＬＭ１〜４と表記）には、歪補正領域ｄ、ｅのライン１〜４（図１０ではＬ１〜４と表記）のデータが記憶されている。ここで歪補正エンジン２５は、歪補正領域ｄのライン２〜４及び歪補正領域ｅのライン１における画像アドレス２００〜２０３のデータが歪補正のために必要となったと仮定する。ここでビデオカウンタ２６は、歪補正エンジン２５が現在必要としているデータの情報を取得し、この情報を歪情報テーブル２７に出力する。
【００７５】
歪情報テーブル２７は、ライン１に対応するラインメモリ２１−１のデータ出力を制御するアドレス変換部２４−１に対し、歪補正エンジン２５が要求する画素データの位置情報として、ブロックライン及び画像アドレス２００〜２０３の情報を通知する。歪情報テーブル２７は同様に、アドレス変換部２４−２、２４−３、２４−４に対し、歪補正エンジン２５が要求する画素データの位置情報として、ブロックライン及び画像アドレス２００〜２０３の情報を通知する。
【００７６】
アドレス変換部２４は、以上の位置情報を受信した場合に、その位置情報で示されたアドレス２００〜２０３の画素データが、ラインメモリ２１のどのアドレスにあるかを判定する。例えば、アドレス変換部２４−１は、画像アドレス２００〜２０３の画素データが、ラインメモリ２１−１のメモリアドレス７００〜７０３にあると判定した場合、アドレス変換部２４−１は、ラインメモリ２１−１のメモリアドレス７００〜７０３に記憶されたデータを出力するようにラインメモリ２１−１を制御する。アドレス変換部２４−２は、画像アドレス２００〜２０３の画素データが、ラインメモリ２１−２のメモリアドレス４００〜４０３にあると判定した場合、アドレス変換部２４−２は、ラインメモリ２１−２のメモリアドレス４００〜４０３に記憶されたデータを出力するようにラインメモリ２１−２を制御する。
【００７７】
アドレス変換部２４−３、２４−４も、アドレス変換部２４−２と同様の制御を実行する。ここで、歪補正エンジン２５において要求されているラインメモリ２１−２〜２１−４に属するデータは、全て画像の同じブロックラインに属するデータである。そのため、アドレス変換部２４−３、２４−４は、それぞれラインメモリ２１−３、２１−４のメモリアドレス４００〜４０３に記憶されたデータを出力するように、ラインメモリ２１−３、２１−４を制御する。ラインメモリ２１−３、２１−４は以上の制御に応じて、歪補正エンジン２５にデータを出力する。これにより、歪補正エンジン２５は、歪補正に必要となるデータをラインメモリ２１から取得することができる。図１０（１）、（２）においては、以上のようにして歪補正エンジン２５が取得したデータが示されている。
【００７８】
図１１は、歪補正部１６の処理例を示したフローチャートである。以上に説明した歪補正部１６の処理（撮像装置が撮像した１フレームの画像の歪みを補正する歪補正処理）について、図１１を用いて概略的に説明する。フローチャートで示した処理の詳細については前述の通りである。
【００７９】
歪補正部１６の歪情報テーブル２３は、撮像素子１２が撮像した画像における歪補正領域を、予め歪情報として記憶する（ステップＳ１）。
【００８０】
次に、画像のフレームを分割した複数のブロックライン毎に、ブロックラインに含まれる画素のライン数分備えられたラインメモリ２１が、画像データ中における歪補正領域にかかるデータを、画像にかかる画像データの一部として記憶する（ステップＳ２）。
【００８１】
最後に、ラインメモリ２１が記憶した画像データの一部に基づいて、歪補正エンジン２５が、画像の歪補正を実行する（ステップＳ３）。
【００８２】
以上により、実施の形態１にかかる撮像装置１は、撮像素子が撮像した画像の歪補正を画像データ生成のときに実行する（オンザフライに実行する）とともに、その歪補正に使用するメモリの容量を削減することができる。
【００８３】
さらに、備えられているラインメモリは、４つにまとまった状態で、撮像装置１に設けられている。そのため、同じ容量のメモリをさらに細かく分割した状態で撮像装置１に設けるのに比較すると、メモリの面積効率が向上する。すなわち、少ない面積で、同じ容量のメモリを構成することができる。以上の効果により、発明者は、歪補正部１６におけるラインメモリ２１の面積を従来の半分程度に削減できることを見出した。これにより、撮像装置１の回路の大幅なコスト削減や、撮像装置１の小型化に寄与することができる。
【００８４】
ラインメモリ２１が設けられている個数は、４個に限らず、５個、６個、・・・でもよい。しかし、上述の理由により、ラインメモリ２１の個数を削減して、ブロックラインに含まれるライン数だけ撮像装置１に設けるようにすることによって、撮像装置１のコスト削減等の効果をより良く得ることができる。
【００８５】
アドレス変換部２４は、複数のブロックラインにおいて同一のラインにある歪補正領域にかかるデータが、同一のラインメモリ２１に記憶されるように制御する。この構成は撮像装置１において必須ではないものの、歪補正エンジン２５が歪補正処理を実行するときに、ラインメモリ２１からデータを取得する処理を早くすることができるという効果を奏する。
【００８６】
歪補正領域にかかるデータが、ラインに関係なくばらばらのラインメモリ２１に記憶された場合には、上述の画素データ領域のデータを記憶するラインメモリが３個以下になってしまう（すなわちデータを記憶しないラインメモリが生じてしまう）ことがありえる。例えば、異なるライン上にあるライン１とライン３を、同じラインメモリ２１−２に記憶されてしまうことが考えられる。そのような場合に、歪補正エンジン２５が歪補正処理を実行するとき、同じラインメモリから２ライン分のデータが出力されるのを歪補正エンジン２５は待たなくてはならない。従って、歪補正処理に遅れが生ずる。しかし、複数のブロックラインにおいて同一のラインにある歪補正領域にかかるデータが、同一のラインメモリ２１に記憶される（つまり画素データ領域にあるデータが、全てのラインメモリに均等に記憶されている）場合には、歪補正エンジン２５は遅れなく歪補正処理を実行することができる。なお、ラインメモリ２１−１に記憶されるデータのラインは、上述ではライン１としたが、ライン２、３、４など他のラインでもよい。これはラインメモリ２１−２〜２１−４でも同様である。
【００８７】
歪補正部１６は、読み込み情報を出力するビデオカウンタ２２、その読み込み情報に基づいてアドレス変換部２４に歪補正領域の位置情報を歪情報として通知する歪情報テーブル２３、その位置情報に基づいて歪補正領域にかかるデータがラインメモリに記憶されるよう制御するアドレス変換部２４を備える。これにより、歪補正処理の実行を簡易な構成で実現することができる。
【００８８】
アドレス変換部２４は、歪補正領域にかかるデータをラインメモリ２１に記憶させるよう制御するときに、歪補正領域にかかるデータの画像におけるアドレスを、ラインメモリ２１内部のアドレスに変換してラインメモリ２１に記憶させる。これにより、ラインメモリ２１へのデータの書き込みを簡易な方法で実現することができる。
【００８９】
撮像装置１は、歪補正エンジン２５が歪補正処理において必要なデータを認識するビデオカウンタ２６、その必要なデータの画像アドレス情報をアドレス変換部２４に出力する歪情報テーブル２７、その必要なデータの画像アドレス情報に基づいて、対応するラインメモリ２１のアドレスから必要なデータを取得するアドレス変換部２４を備える。これにより、簡易な構成で、歪補正エンジン２５が歪補正処理において必要なデータを取得することができる。
【００９０】
実施の形態２
実施の形態１では、図１（１）に示した樽型の歪みが生じた画像において、その歪みを補正する方法について説明した。しかし、図１（２）に示した糸巻型の歪みが生じた画像においても、同様に画像の歪みを補正することができる。
【００９１】
画像の歪みを補正する撮像装置の構成は、図２、図３に示した通りであり、説明を省略する。
【００９２】
図１２は、実施の形態２において、歪情報テーブル２３に記憶される歪補正領域の例を示した説明図である。図１２の画像において、フレーム２００ａは、ブロックライン２０１〜２０８によって分割される。ブロックライン２０１〜２０８には、それぞれ歪補正領域ｋ〜ｒが設定されており、歪情報テーブル２３はこの歪補正領域を記憶している。ブロックライン、歪補正領域についての説明は、実施の形態１と同様であるため省略する。
【００９３】
歪補正領域ｉは、画面の左端と右端に分離した構成になっている。そのため、図１０におけるアドレスを、左端が０、右端が１０００とすると、歪補正領域ｋは、例えば画像アドレス０〜１００及び９００〜１０００にかかるデータとなる。歪補正領域ｌは、例えば画像アドレス２０〜３００及び７００〜９８０にかかるデータであり、歪補正領域ｍは、例えば画像アドレス５０〜９５０にかかるデータとなる。歪補正領域がこのような形状であっても、実施の形態１と同様にして、歪補正部１６は歪補正を実行することができる。これにより、実施の形態２にかかる撮像装置は、実施の形態１に記載した効果と同じ効果を奏することができる。
【００９４】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、図２に示した撮像装置１の構成において、画像の撮像に必要な構成要素を適宜追加してもよいし、不要な構成要素を適宜削除してもよい。実施の形態１において、歪補正エンジン２５は、ラインメモリ２１に歪補正領域ａ〜ｊの全部が記憶された後に、ラインメモリ２１に記憶された歪補正領域に基づいて、画像の歪補正を実行してもよい。
【００９５】
実施の形態１に示した処理は、制御方法の１つとして、撮像装置に実行させることができる。例えば、実施の形態１に示した処理のフローを、制御プログラムとして撮像装置に実行させてもよい。ここでプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、例えばハードディスクドライブ等の磁気記録媒体、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、フラッシュＲＯＭやＲＡＭ（Random Access Memory）などのメモリである。
【符号の説明】
【００９６】
１  撮像装置
１１  光学系
１２  撮像素子
１３  プリプロセス部
１４  Ｂ２Ｙ部
１５  リサイズ部
１６  歪補正部
１７  ＳＤＲＡＭコントローラ
１８  ＳＤＲＡＭ
１９  ビデオコーデック部
２０  メモリカード
２１  ラインメモリ
２２、２６  ビデオカウンタ
２３、２７  歪情報テーブル
２４  アドレス変換部
２５  歪補正エンジン
【図１】
2014116746.tif 000003
【図２】
2014116746.tif 000004
【図３】
2014116746.tif 000005
【図４】
2014116746.tif 000006
【図５】
2014116746.tif 000007
【図６】
2014116746.tif 000008
【図７】
2014116746.tif 000009
【図８】
2014116746.tif 000010
【図９】
2014116746.tif 000011
【図１０】
2014116746.tif 000012
【図１１】
2014116746.tif 000013
【図１２】
2014116746.tif 000014