(57)【特許請求の範囲】
【請求項１】
撮像されてフレームメモリに格納された画像データに対して歪補正処理を行う歪補正部と、
前記歪補正部が前記画像データのブロックライン毎に歪補正処理を行うために必要な矩形範囲を歪補正範囲として前記ブロックライン毎に算出する歪補正範囲算出部と、
前記歪補正部における現在の歪補正処理対象である現ブロックラインについて前記歪補正範囲算出部により算出された現歪補正範囲と、前記現ブロックラインから連続する少なくとも１つのブロックラインについて前記歪補正範囲算出部により算出された次歪補正範囲とから、前記現ブロックラインとして前記歪補正部に入力する画像データの範囲を入力画像範囲として求める制御部と、
前記現歪補正範囲と前記次歪補正範囲とから、前記入力画像範囲に対応した画像データのうちで、前記歪補正部における次の歪補正処理対象である次ブロックラインにおいても必要となる画像データの範囲を求める記憶制御部と、
前記記憶制御部によって求められた範囲の画像データを糊代画像データとして格納する糊代保存メモリと、
を具備し、
前記歪補正部に入力される前記入力画像範囲に対応した画像データは、前記フレームメモリから読み出される画像データと前記糊代保存メモリから読み出される糊代画像データの両方を含み、
前記制御部は、前記現歪補正範囲における水平方向に沿った幅と前記次歪補正範囲における水平方向に沿った幅の両方を含む範囲を前記入力画像範囲における水平方向に沿った幅とし、前記現歪補正範囲における垂直方向に沿った幅を前記入力画像範囲における垂直方向に沿った幅とすることを特徴とする画像処理装置。
【請求項２】
前記歪補正範囲算出部で算出された歪補正範囲を順次保持するレジスタを有し、
前記制御部は、前記レジスタに保持された歪補正範囲を前記現歪補正範囲として用いることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記歪補正範囲算出部は、前記現ブロックラインが前記画像データにおける上端のブロックラインである場合のみ前記現歪補正範囲と前記次歪補正範囲とをそれぞれ算出し、前記現ブロックラインが前記画像データにおける上端のブロックライン以外のブロックラインである場合には前記次歪補正範囲のみを算出することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
被写体の光学像を集光するレンズと、
前記レンズにより集光された前記被写体の光学像を画像データに変換する撮像部と、
前記撮像部おいて変換された画像データを格納するフレームメモリと、
前記フレームメモリに格納された画像データに対して歪補正処理を行う歪補正部と、
前記レンズの歪情報に基づいて、前記歪補正部が前記画像データのブロックライン毎に歪補正処理を行うために必要な矩形範囲を歪補正範囲として前記ブロックライン毎に算出する歪補正範囲算出部と、
前記歪補正部における現在の歪補正処理対象である現ブロックラインについて前記歪補正範囲算出部により算出された現歪補正範囲と、前記現ブロックラインから連続する少なくとも１つのブロックラインについて前記歪補正範囲算出部により算出された次歪補正範囲とから、前記現ブロックラインとして前記歪補正部に入力する画像データの範囲を入力画像範囲として求める制御部と、
前記現歪補正範囲と前記次歪補正範囲とから、前記入力画像範囲に対応した画像データのうちで、前記歪補正部における次の歪補正処理対象である次ブロックラインにおいても必要となる画像データの範囲を求める記憶制御部と、
前記記憶制御部によって求められた範囲の画像データを糊代画像データとして格納する糊代保存メモリと、
を具備し、
前記歪補正部に入力される前記入力画像範囲に対応した画像データは、前記フレームメモリから読み出される画像データと前記糊代保存メモリから読み出される糊代画像データの両方を含み、
前記制御部は、前記現歪補正範囲における水平方向に沿った幅と前記次歪補正範囲における水平方向に沿った幅の両方を含む範囲を前記入力画像範囲における水平方向に沿った幅とし、前記現歪補正範囲における垂直方向に沿った幅を前記入力画像範囲における垂直方向に沿った幅とすることを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、歪補正処理を行うための画像処理装置及びそのような画像処理装置を備えた撮像装置に関する。
【背景技術】
【０００２】
デジタルカメラ等の撮像装置はレンズを用いて被写体からの光を撮像素子上に集光させて画像を得るようにしている。この場合、レンズには歪曲収差があるため、撮像素子を介して得られる画像は、撮影対象に対して相似形とはならずに歪みを持ってしまう。近年の撮像装置においては、このような歪みのある画像をデジタル処理によって歪みのない画像に補正する、所謂歪補正処理機能を搭載したものが増加してきている。また、このような歪補正処理に関する提案も各種なされている。
【０００３】
例えば、特許文献１においては、フレームメモリに格納された１フレーム分の画像データを複数のブロック（ブロックライン）に分割して歪補正処理を行うようにしている。また、この特許文献１においては、歪補正処理によって所望の矩形範囲に対応したブロックラインの画像データが得られるような画像データの入力範囲を、歪補正処理に先だって決定するようにしている。このようにして画像データの入力範囲を決定してからブロックライン毎の歪補正処理を行うことにより、必要最低限の入力画像データを用いて歪補正処理を行うことができる。
【０００４】
歪補正処理回路における処理の簡素化等を考慮した場合、歪補正処理回路に入力すべき画像データの入力範囲は、歪補正処理を施すべき部分を含む矩形範囲とすることが望ましい。このような矩形範囲のブロックラインの画像データを入力する構成とした場合、現在処理中のブロックラインの下端部と次回処理すべきブロックラインの上端部とで重複して処理する必要のある部分が生じることになる。このような重複処理を行うと画像処理の効率としては低下してしまう。
【０００５】
特許文献２には、空間フィルタ処理における画像データの重複処理をなくすための提案がなされている。この特許文献２においては、フィルタ処理手段で処理中の中間データのうちで、次の分割画像の処理に対しても用いる重複部分の中間データをフレームメモリ（画像メモリ）に格納するようにしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−４４０９８号公報
【特許文献２】特開２００２−３０４６２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ここで、特許文献２の手法を特許文献１のブロックライン毎の歪補正処理に適用する場合を考える。一般に、歪補正処理の際に入力すべきブロックラインの画像データの入力範囲はブロックライン毎に異なるものとなる。このため、単純に特許文献２の手法を特許文献１のブロック毎の歪補正処理に適用してしまうと、例えば、現在処理すべきブロックラインの入力範囲に対して次回処理すべきブロックラインの入力範囲が左方向にずれていた場合、その左方向にずれた部分はフレームメモリに格納されていないので、その左方向にずれた部分だけ新たに入力する必要が生じる。
【０００８】
本発明は、上記の事情に鑑みてなされたもので、歪補正処理をブロックライン単位で行う場合に、ブロックライン毎の重複処理をなくすことが可能な画像処理装置及びそのような画像処理装置を備えた撮像装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明の第１の態様の画像処理装置は、撮像されてフレームメモリに格納された画像データに対して歪補正処理を行う歪補正部と、前記歪補正部が前記画像データのブロックライン毎に歪補正処理を行うために必要な矩形範囲を歪補正範囲として前記ブロックライン毎に算出する歪補正範囲算出部と、前記歪補正部における現在の歪補正処理対象である現ブロックラインについて前記歪補正範囲算出部により算出された現歪補正範囲と、前記現ブロックラインから連続する少なくとも１つのブロックラインについて前記歪補正範囲算出部により算出された次歪補正範囲とから、前記現ブロックラインとして前記歪補正部に入力する画像データの範囲を入力画像範囲として求める制御部と、前記現歪補正範囲と前記次歪補正範囲とから、前記入力画像範囲に対応した画像データのうちで、前記歪補正部における次の歪補正処理対象である次ブロックラインにおいても必要となる画像データの範囲を求める記憶制御部と、前記記憶制御部によって求められた範囲の画像データを糊代画像データとして格納する糊代保存メモリとを具備し、前記歪補正部に入力される前記入力画像範囲に対応した画像データは、前記フレームメモリから読み出される画像データと前記糊代保存メモリから読み出される糊代画像データの両方を含み、前記制御部は、前記現歪補正範囲における水平方向に沿った幅と前記次歪補正範囲における水平方向に沿った幅の両方を含む範囲を前記入力画像範囲における水平方向に沿った幅とし、前記現歪補正範囲における垂直方向に沿った幅を前記入力画像範囲における垂直方向に沿った幅とすることを特徴とする。
【００１０】
また、上記の目的を達成するために、本発明の第２の態様の撮像装置は、被写体の光学像を集光するレンズと、前記レンズにより集光された前記被写体の光学像を画像データに変換する撮像部と、前記撮像部おいて変換された画像データを格納するフレームメモリと、前記フレームメモリに格納された画像データに対して歪補正処理を行う歪補正部と、前記レンズの歪情報に基づいて、前記歪補正部が前記画像データのブロックライン毎に歪補正処理を行うために必要な矩形範囲を歪補正範囲として前記ブロックライン毎に算出する歪補正範囲算出部と、前記歪補正部における現在の歪補正処理対象である現ブロックラインについて前記歪補正範囲算出部により算出された現歪補正範囲と、前記現ブロックラインから連続する少なくとも１つのブロックラインについて前記歪補正範囲算出部により算出された次歪補正範囲とから、前記現ブロックラインとして前記歪補正部に入力する画像データの範囲を入力画像範囲として求める制御部と、前記現歪補正範囲と前記次歪補正範囲とから、前記入力画像範囲に対応した画像データのうちで、前記歪補正部における次の歪補正処理対象である次ブロックラインにおいても必要となる画像データの範囲を求める記憶制御部と、前記記憶制御部によって求められた範囲の画像データを糊代画像データとして格納する糊代保存メモリとを具備し、前記歪補正部に入力される前記入力画像範囲に対応した画像データは、前記フレームメモリから読み出される画像データと前記糊代保存メモリから読み出される糊代画像データの両方を含み、前記制御部は、前記現歪補正範囲における水平方向に沿った幅と前記次歪補正範囲における水平方向に沿った幅の両方を含む範囲を前記入力画像範囲における水平方向に沿った幅とし、前記現歪補正範囲における垂直方向に沿った幅を前記入力画像範囲における垂直方向に沿った幅とすることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、歪補正処理をブロックライン単位で行う場合に、ブロックライン毎の重複処理をなくすことが可能な画像処理装置及びそのような画像処理装置を備えた撮像装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係る画像処理装置を備えた撮像装置の一例の構成を示す図である。
【図２】本発明の一実施形態における歪補正処理回路の構成を示す図である。
【図３】ブロックライン毎の歪と歪補正範囲との関係を示す図である。
【図４】歪補正部の構成を示す図である。
【図５】本発明の一実施形態における歪補正処理回路の動作について示すタイミングチャートである。
【図６】歪補正処理の具体例を示す図である。
【図７】ダミーデータの読み出しについて説明するための図である。
【図８】糊代画像データの書き込み手法の一例を示す図である。
【図９】列方向に分割したブロックラインについて示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施形態を説明する。  
図１は、本発明の一実施形態に係る画像処理装置を備えた撮像装置の一例の構成を示す図である。図１に示す撮像装置は、レンズ１０１と、シャッタ絞り１０２と、撮像素子１０３と、前処理部１０４と、バス１０５と、フレームメモリ１０６と、画像処理部１０７と、圧縮伸長処理部１０８と、メモリインターフェース（ＩＦ）１０９と、記録媒体１１０と、表示制御部１１１と、表示部１１２と、マイクロコンピュータ１１３と、操作部１１４と、Ｆｌａｓｈメモリ１１５と、タイミングジェネレータ（ＴＧ）１１６とを有している。
【００１４】
レンズ１０１は、被写体の光学像を撮像素子１０３に集光させる。シャッタ絞り１０２は、レンズ１０１の近傍に設けられている。このシャッタ絞り１０２は、マイクロコンピュータ１１３の制御に従って、レンズ１０１から撮像素子１０３への光の入射量（撮像素子１０３の露光量）を調節するシャッタ兼用絞りである。勿論、シャッタと絞りとが別体として設けられていても良い。
【００１５】
撮像素子１０３は、フォトダイオード等の光電変換素子が２次元に配されて構成される受光面に例えばベイヤ配列をなすカラーフィルタが貼り付けられて構成されている。この撮像素子１０３は、レンズ１０１により受光面上に集光された光を電気信号（画像信号）に変換して前処理部１０４へ出力する。前処理部１０４は、撮像素子１０３からの画像信号に対して相関二重サンプリング（ＣＤＳ）処理やゲイン制御（ＡＧＣ）処理等の種々のアナログ処理を施す。また、前処理部は、アナログ処理後の画像信号をデジタルの画像信号（以降、画像データという）に変換した後、この画像データを、バス１０５を介してフレームメモリ１０６に転送する。
【００１６】
バス１０５は、撮像装置の内部で発生した各種データを撮像装置内の各ブロックに転送するための転送路である。このバス１０５は、前処理部１０４と、フレームメモリ１０６と、画像処理部１０７と、圧縮伸長処理部１０８と、メモリＩＦ１０９と、表示制御部１１１と、マイクロコンピュータ１１３とに接続されている。
【００１７】
フレームメモリ１０６は、前処理部１０４において得られた画像データや、画像処理部１０７、圧縮伸長処理部１０８において処理された画像データ等の各種データを一時的に格納する。
【００１８】
本実施形態における画像処理部１０７は、フレームメモリ１０６に格納された画像データに対して各種の画像処理を施す。本実施形態における画像処理部１０７は、レンズ１０１の歪曲収差によって画像データに生じる歪みを補正する歪補正処理回路を少なくとも有し、この他に、ＹＣ処理回路（ベイヤ配列の画像データをＹＣ（輝度・色差）データに変換する回路）やホワイトバランス補正処理回路（画像データの色バランスを補正する回路）、ノイズ低減処理回路（画像データにおけるノイズを低減する処理を行う回路）等の各種の画像処理回路を有している。これらの画像処理回路は、例えば、個別にバス１０５に接続されている。なお、各画像処理回路を、小容量のバッファメモリを介して直列的に接続するようにしても良い。
【００１９】
圧縮伸長処理部１０８は、画像データの記録時には、画像処理部１０７において処理された画像データを、バス１０５を介してフレームメモリ１０６から読み出し、読み出した画像データを例えばＪＰＥＧ方式に従って圧縮する。さらに、圧縮伸長処理部１０８は、画像データの再生時には、記録媒体１１０に記録された圧縮済みの画像データを、バス１０５を介してフレームメモリ１０６から読み出し、読み出した画像データを伸長することも行う。
【００２０】
メモリＩＦ１０９は記録媒体１１０への画像データの書き込み及び読み出しの制御を行う。記録媒体１１０は、例えば撮像装置に着脱可能なメモリカードからなる記録媒体であり、圧縮伸長処理部１０８において圧縮された画像データ等が記録される。
【００２１】
表示制御部１１１は、フレームメモリ１０６から画像データを読み出して映像信号に変換し、変換した映像信号を表示部１１２に出力して表示部１１２における画像の表示を行う。表示部１１２は、例えばＴＦＴ液晶ディスプレイ等であり、表示制御部１１１からの映像信号に基づく画像を表示する。
【００２２】
マイクロコンピュータ１１３は、デジタルカメラ本体の各種シーケンスを統括的に制御する。このマイクロコンピュータ１１３には、操作部１１４、Ｆｌａｓｈメモリ１１５が接続されている。
【００２３】
操作部１１４は、ユーザが図１に示す撮像装置を操作するための各種の操作部材である。ユーザにより操作部１１４の何れかの操作部材が操作されることにより、マイクロコンピュータ１１３は、ユーザの操作に応じた各種シーケンスを実行する。Ｆｌａｓｈメモリ１１５は、撮像装置の動作に必要な各種パラメータを記憶している。また、Ｆｌａｓｈメモリ１１５は、マイクロコンピュータ１１３にて実行する各種プログラムも記憶している。マイクロコンピュータ１１３は、Ｆｌａｓｈメモリ１１５に記憶されているプログラムに従い、またＦｌａｓｈメモリ１１５から各種シーケンスに必要なパラメータを読み込み、各処理を実行する。
【００２４】
ＴＧ１１６は、マイクロコンピュータ１１３からの制御信号に従って撮像素子１０３の動作タイミングを制御するための同期信号を生成する。
【００２５】
次に、画像処理部１０７における歪補正処理について説明する。図２は、本実施形態における歪補正処理回路の構成を示す図である。
【００２６】
図２に示す歪補正処理回路１０７ａは、歪補正範囲算出部２０１と、現歪補正範囲情報レジスタ２０２と、入力ＤＭＡ２０３と、歪補正部２０４と、出力ＤＭＡ２０５と、シーケンサ２０６とを有している。
【００２７】
歪補正範囲算出部２０１は、シーケンサ２０６からの開始トリガを受けてブロックライン単位の歪補正処理を行うために必要な画像データの座標情報である歪補正範囲をブロックライン単位で算出し、算出した歪補正範囲情報をシーケンサ２０６に出力する。ここで、レンズ１０１の歪情報から撮像素子１０３を介して得られる画像データにおける歪みの度合いについては予測することが可能である。例えば、歪補正処理後の画像が図３（ａ）に示すような同じ列方向画素数を有する複数の矩形ブロック（ブロックライン）から構成されるとする。この場合、例えば図３（ａ）に示すブロックライン１のような歪補正処理結果を得るためには、図３（ｂ）で示すような歪んだブロックライン１に対応した画像データに対して歪補正処理を行う必要がある。実際には、歪補正部２０４における処理の簡素化等を考慮した場合、歪んだブロックライン１の画像データを含む矩形ブロック３０１に対して歪補正処理を行うことが望ましい。同様に、図３（ａ）に示すブロックライン２のような歪補正処理結果を得るためには、図３（ｂ）で示す矩形ブロック３０２に対して歪補正処理を行うことが望ましい。これらのような歪補正処理に必要な矩形ブロックの範囲を算出するのが歪補正範囲算出部２０１である。歪補正処理後の画像の位置と歪み補正前の画像の位置とには対応関係があるので、歪補正範囲算出部２０１は、レンズ１０１の歪情報等から歪補正処理後の画像を予測し、この予測結果から歪補正処理前の歪んだブロックラインを含む矩形ブロックの座標情報を歪補正範囲情報として算出する。
【００２８】
図３（ｂ）からも分かるように、矩形ブロック３０１と矩形ブロック３０２とには重複している部分があり、ブロックライン１に対する歪補正処理とブロックライン２に対する歪補正処理の両方で重複部分の画像データをフレームメモリ１０６から読み出して処理するのは画像処理効率の低下に繋がる。本実施形態においては、このような矩形ブロックにおける重複読み出しの量を減らすために、あるブロックラインに対する処理中に、そのブロックラインと次のブロックラインとの間で処理が重複する部分を糊代画像データとして歪補正部２０４内の糊代保存メモリ（詳細は後述する）に格納しておく。そして、次のブロックラインの処理の際には、前のブロックラインに対して処理が重複しない部分の画像データのみをフレームメモリ１０６から読み出し、残りを糊代保存メモリから読み出して処理する。これにより、フレームメモリ１０６からの無駄な画像データの読み出しを最低限とする。
【００２９】
さらに、本実施形態においては、フレームメモリ１０６から歪補正部２０４内の歪補正回路（詳細は後述する）に入力する画像データの入力範囲と糊代保存メモリに格納する画像データの範囲とを、歪補正部２０４の現在の歪補正処理の対象となっているブロックラインに対応した歪補正範囲情報である現歪補正範囲情報と、歪補正部２０４の次の歪補正処理の対象のブロックラインに対応した歪補正範囲情報である次歪補正範囲情報とから求める。これにより、画像データにおける歪みの度合いによって糊代画像データの位置がずれたとしても、糊代保存メモリに矩形範囲の糊代画像データを正しく格納できる。
【００３０】
現歪補正範囲情報レジスタ２０２は、歪補正範囲算出部２０１において算出された現歪補正範囲情報を保持する。
【００３１】
入力ＤＭＡ（Direct Memory Access）２０３は、シーケンサ２０６からの入力ＤＭＡ開始トリガを受けてフレームメモリ１０６からブロックライン単位の歪補正処理を行うために必要な画像データを読み出すためのＤＭＡ転送を行う。
【００３２】
歪補正部２０４は、図４に示すように、入力バッファ４０１と、歪補正回路４０２と、糊代保存メモリ４０３と、糊代保存メモリコントローラ４０４とを有している。
【００３３】
入力バッファ４０１は、入力ＤＭＡ２０３を介してフレームメモリ１０６から読み出された画像データ又は糊代保存メモリ４０３から読み出された画像データを一時的に保持しておくためのバッファメモリである。歪補正部としての歪補正回路４０２は、入力バッファ４０１から入力され画像データに対して歪補正処理を施す。この歪補正処理は、例えば図３（ｂ）のような歪んだ状態のブロックラインの画像データの各点を、図３（ａ）のような歪みのない状態のブロックラインの画像データの各点に置き換えるような座標変換によって行う。
【００３４】
糊代保存メモリ４０３は、歪補正部２０４の現在の歪補正処理の対象となっているブロックラインに対応して歪補正部２０４に入力されてきた画像データのうち、次のブロックラインに対応した歪補正処理においても用いられる部分を糊代画像データとして格納する。記憶制御部としての機能を有する糊代保存メモリコントローラ４０４は、現歪補正範囲情報と次歪補正範囲情報とから、糊代保存メモリ４０３に格納すべき糊代画像データの範囲を求め、この求めた糊代画像データの範囲に応じて、歪補正部２０４に入力されてくる画像データの糊代保存メモリ４０３への書き込みを制御する。また、歪補正回路４０２における歪補正処理のために、糊代保存メモリ４０３からの糊代画像データの読み出しを制御する。
【００３５】
出力ＤＭＡ２０５は、シーケンサ２０６からの出力ＤＭＡ開始トリガを受けて歪補正部２０４で歪補正処理がなされた画像データをフレームメモリ１０６へ書き込むためのＤＭＡ転送を行う。
【００３６】
シーケンサ２０６は、図２に示す歪補正処理回路の各部の動作を制御する。また、本実施形態におけるシーケンサ２０６は制御部としての機能も有する。即ち、シーケンサ２０６は、現歪補正範囲情報と次歪補正範囲情報とから歪補正処理のためにフレームメモリ１０６から読み出す画像データの範囲（入力範囲）を求める。
【００３７】
次に、図２〜図４で示した歪補正処理回路１０７ａの動作について説明する。図５は、歪補正処理回路１０７ａの動作について示すタイミングチャートである。なお、図５の例は図６に示す３個のブロックライン（ＢＬ）１〜３に対する処理について示したものである。
【００３８】
まず、フレームメモリ１０６に格納された画像データの上端のブロックラインであるブロックライン１に対する歪補正処理を行う。この際、シーケンサ２０６は、ブロックライン１に対応した歪補正範囲を算出させるように歪補正範囲算出部２０１の設定を行い、設定終了後に、歪補正範囲算出部２０１に開始トリガを入力する。この開始トリガを受けて、歪補正範囲算出部２０１は、ブロックライン１に対応した歪補正範囲を算出する。上述したように、歪補正範囲は、歪んだ状態のブロックライン１を囲む矩形ブロックに対応した範囲である。したがって、例えば、図６に示すブロックライン１に対応した歪補正範囲は範囲５０１となる。歪補正範囲算出部２０１において算出されたブロックライン１に対応した歪補正範囲を示す座標情報（歪補正範囲情報）は、ブロックライン１における現歪補正範囲情報としてシーケンサ２０６に出力される。
【００３９】
上述したように、シーケンサ２０６において画像データの入力範囲を求めるためには、現歪補正範囲情報と次歪補正範囲情報の２つの歪補正範囲情報が必要となる。したがって、ブロックライン１における歪補正範囲の算出後、シーケンサ２０６は、ブロックライン２に対応した歪補正範囲を算出させるように歪補正範囲算出部２０１の設定を行い、設定終了後に、歪補正範囲算出部２０１に開始トリガを入力する。この開始トリガを受けて、歪補正範囲算出部２０１は、ブロックライン２に対応した歪補正範囲を算出する。例えば、図６に示すブロックライン２については範囲５０２が歪補正範囲となる。歪補正範囲算出部２０１において算出されたブロックライン２に対応した歪補正範囲情報は、ブロックライン１における次歪補正範囲情報としてシーケンサ２０６に出力される。
【００４０】
ブロックライン１についての歪補正範囲とブロックライン２についての歪補正範囲とが算出された後、シーケンサ２０６は、ブロックライン１の処理のために歪補正回路４０２に入力する画像データの入力範囲を求める。ここで、現在の歪補正処理の対象となっているブロックラインＢＬｎについての画像データの入力範囲は、ブロックラインＢＬｎの歪補正範囲（即ち現歪補正範囲情報）とブロックラインＢＬｎの次のブロックラインＢＬｎ＋１の歪補正範囲（即ち次歪補正範囲情報）とから、以下のように求める。  
入力範囲の垂直方向の幅：ブロックラインＢＬｎの歪補正範囲の垂直方向の幅  
入力範囲の水平方向の幅：ブロックラインＢＬｎの歪補正範囲の水平方向の幅とブロックラインＢＬｎ＋１の歪補正範囲の水平方向の幅の両方を含む幅  
例えば、図６の場合、ブロックライン１についての入力範囲の垂直方向の幅は、ブロックライン１の歪補正範囲５０１の垂直方向の幅となる。また、入力範囲の水平方向の幅は、ブロックライン１の歪補正範囲５０１の水平方向の幅とブロックライン２の歪補正範囲５０２の水平方向の幅の両方を含む幅となる。したがって、ブロックライン１の処理のために必要な入力範囲は図６に示す入力範囲５０３となる。入力範囲を求めた後、シーケンサ２０６は、ブロックライン２の歪補正範囲情報を、次のブロックライン２における処理の際に用いる現歪補正範囲情報として、現歪補正範囲情報レジスタ２０２に保持する。
【００４１】
また、シーケンサ２０６は、ブロックライン１の歪補正範囲情報とブロックライン２の歪補正範囲情報とを糊代保存メモリコントローラ４０４にも入力する。糊代保存メモリコントローラ４０４は、ブロックライン１の歪補正範囲情報とブロックライン２の歪補正範囲情報とから、入力範囲５０３に対応した画像データのうちで、ブロックライン２の歪補正処理についても必要となる糊代画像データの範囲を算出する。この範囲は、現在のブロックラインにおける入力範囲と次のブロックラインについての歪補正範囲とで重複している範囲とする。例えば、図６の場合は、入力範囲５０３と歪補正範囲５０２とで重複している範囲、即ち範囲５０４がブロックライン２の歪補正処理についても必要となる糊代画像データの範囲となる。この範囲の画像データを糊代画像データとして糊代保存メモリ４０３に格納しておくことにより、ブロックライン２の歪補正処理の際に、ブロックライン１と処理が重複する範囲の画像データについてはフレームメモリ１０６から読み出す必要がない。
【００４２】
画像データの入力範囲５０３及び糊代画像データの範囲５０４が算出された後、シーケンサ２０６は、入力ＤＭＡ２０３に対して入力ＤＭＡ開始トリガを入力して、フレームメモリ１０６から入力範囲５０３に対応した画像データの読み出しを行う。入力ＤＭＡ２０３を介して読み出された画像データは、順次、歪補正部２０４の入力バッファ４０１に入力される。また、この際、糊代保存メモリコントローラ４０４は、入力ＤＭＡ２０３を介して読み出された画像データのうちで、糊代画像データに対応した範囲５０４の画像データが書き込まれるように糊代保存メモリ４０３の書き込みを制御する。
【００４３】
入力バッファ４０１に入力された画像データは歪補正回路４０２に逐次入力される。歪補正回路４０２は、入力された画像データについて歪補正処理を実行する。歪補正回路４０２における歪補正処理の実行後、シーケンサ２０６は、出力ＤＭＡ２０５に対して出力ＤＭＡ開始トリガを入力して、歪補正部２０４の歪補正回路４０２からフレームメモリ１０６への画像データの書き込みを行う。画像データの書き込み終了後、転送完了の割り込み信号がシーケンサ２０６に入力される。これにより、ブロックライン１に対する歪補正処理が終了する。
【００４４】
以上のようなブロックライン１の画像データに対する歪補正処理と並行して、シーケンサ２０６は、ブロックライン２の次のブロックラインであるブロックライン３に対応した歪補正範囲を算出させるように歪補正範囲算出部２０１の設定を行い、設定終了後に、歪補正範囲算出部２０１の動作を開始させるべく、歪補正範囲算出部２０１に開始トリガを入力する。この開始トリガを受けて、歪補正範囲算出部２０１は、ブロックライン３に対応した歪補正範囲を算出する。例えば、図６に示すブロックライン３については範囲５１２が歪補正範囲となる。歪補正範囲算出部２０１において算出されたブロックライン３に対応した歪補正範囲情報は、ブロックライン２における次歪補正範囲情報としてシーケンサ２０６に出力される。
【００４５】
ブロックライン３に対応した歪補正範囲情報が入力された後、シーケンサ２０６は、歪補正範囲算出部２０１において算出されたブロックライン３の歪補正範囲情報と現歪補正範囲情報レジスタ２０２に保持されているブロックライン２の歪補正範囲情報とから、ブロックライン２の処理のために歪補正回路４０２に入力する画像データの入力範囲を求める。例えば、図６の場合、ブロックライン２についての入力範囲の垂直方向の幅は、ブロックライン２の歪補正範囲５１１の垂直方向の幅である。また、入力範囲の水平方向の幅は、ブロックライン２の歪補正範囲５１１の水平方向の幅とブロックライン３の歪補正範囲５１２の水平方向の幅とを合わせた幅である。したがって、ブロックライン２の処理のために必要な入力範囲は図６に示す入力範囲５１３となる。入力範囲を求めた後、シーケンサ２０６は、ブロックライン３の歪補正範囲情報を、次のブロックライン３における処理の際に用いる現歪補正範囲情報として、現歪補正範囲情報レジスタ２０２に保持する。
【００４６】
また、シーケンサ２０６は、ブロックライン２の歪補正範囲情報とブロックライン３の歪補正範囲情報とを糊代保存メモリコントローラ４０４にも入力する。糊代保存メモリコントローラ４０４は、ブロックライン２の歪補正範囲情報とブロックライン３の歪補正範囲情報とから、入力範囲５１３に対応した画像データのうちで、ブロックライン３の歪補正処理についても必要となる糊代画像データの範囲を算出する。例えば、図６の場合は、入力範囲５１３と歪補正範囲５１２とで重複している範囲５１７がブロックライン２の歪補正処理についても必要となる糊代画像データの範囲となる。
【００４７】
ブロックライン２の処理のために必要な入力範囲５１３のうち、範囲５１４に対応した画像データについては既に糊代保存メモリ４０３に格納されている。したがって、範囲５１４に対応した画像データについては糊代保存メモリ４０３から読み出す。しかしながら、入力範囲５０３に対して入力範囲５１３は左にずれているため、範囲５１４の左隣に隣接する範囲５１５に対応した画像データは糊代保存メモリ４０３には格納されてはいない。このような範囲５１５を含む、糊代保存メモリ４０３に格納されていない範囲の画像データをフレームメモリ１０６から読み出すとすると、フレームメモリ１０６からＬ字状に画像データを読み出す必要が生じる。このようなＬ字状の読み出しを可能とすると回路の複雑化に繋がってしまう。
【００４８】
ここで、範囲５１５に対応した画像データは次のブロックライン３の歪補正処理において必要となる画像データを入力するために必要な範囲を確保するための画像データであって、歪補正処理そのものには寄与しない。このため、糊代保存メモリ４０３からは範囲５１５に対応したダミーのデータを読み出すことで、見掛け上、矩形の糊代画像データの読み出しを行う。例えば、図７（ａ）に示すようにして糊代保存メモリ４０３の所定アドレスに糊代画像データが格納されている状態で、範囲５１４と範囲５１５とを含む範囲に対応したアドレスを指定して糊代画像データを読み出した場合、図７（ｂ）に示すように、アドレスがひっくり返った位置から範囲５１５に対応したダミーデータが読み出される。なお、このダミーデータとしては特に限定されるものではなく、例えば過去に使用した糊代画像データ等を利用することができる。
【００４９】
このような構成とすることにより、フレームメモリ１０６からは範囲５１６で示す矩形の画像データのみを読み出せば良い。
【００５０】
このような画像データの読み出しを行うべく、シーケンサ２０６は、入力ＤＭＡ２０３に対して入力ＤＭＡ開始トリガを入力してフレームメモリ１０６から範囲５１６に対応した画像データの読み出しを行う。また、シーケンサ２０６は、糊代保存メモリコントローラ４０４を制御して糊代画像データの読み出しを行う。入力ＤＭＡ２０３を介して読み出された画像データ及び糊代保存メモリ４０３から読み出された画像データは、順次、歪補正部２０４の入力バッファ４０１に入力される。また、この際、糊代保存メモリコントローラ４０４は、入力ＤＭＡ２０３を介して読み出された画像データのうちで、糊代画像データに対応した範囲５１７の画像データが書き込まれるように糊代保存メモリ４０３の書き込みを制御する。このように、本実施形態においては、現在のブロックラインｎの処理のための糊代画像データの読み出しと次のブロックラインｎ＋１の処理のための糊代画像データの書き込みとは並行して行われる。したがって、ブロックラインｎのための糊代画像データの読み出しが終了するまではこのブロックラインｎのための糊代画像データが上書きされないようにする必要がある。なお、現在のブロックラインｎの処理のための糊代画像データと次のブロックラインｎ＋１の処理のための糊代画像データとで重複する部分がある場合には、図８のように、糊代画像データを重複して書き込むようにしても良い。
【００５１】
入力バッファ４０１に入力された画像データは歪補正回路４０２に逐次入力される。歪補正回路４０２は、入力された画像データについて歪補正処理を実行する。歪補正回路４０２における歪補正処理の実行後、シーケンサ２０６は、出力ＤＭＡ２０５に対して出力ＤＭＡ開始トリガを入力して、歪補正部２０４の歪補正回路４０２からフレームメモリ１０６への画像データの書き込みを行う。画像データの書き込み終了後、転送完了の割り込み信号がシーケンサ２０６に入力される。
【００５２】
ブロックライン３についての処理もブロックライン２についての処理と同様にして行われる。ただし、ブロックライン３は最後のブロックラインであるため、次のブロックラインのために糊代画像データを格納する必要がない。したがって、画像データの入力範囲はブロックライン３の歪補正範囲５２１となる。また、範囲５２１のうち、範囲５２４の部分については糊代保存メモリ４０３に保存されており、範囲５２５の部分については糊代保存メモリ４０３からダミーデータを読み出せば良い。したがって、フレームメモリ１０６からは、範囲５２６に対応した画像データのみを読み出せば良い。
【００５３】
以上説明したように、本実施形態によれば、現在の歪補正処理の対象のブロックラインの歪補正範囲と次の歪補正処理の対象のブロックラインの歪補正範囲とから、現在の歪補正処理の対象のブロックラインに対応して歪補正回路に入力する画像データの入力範囲を求めることにより、画像データにおける歪みの度合いによって糊代画像データの位置がずれたとしても、糊代保存メモリに矩形範囲の糊代画像データを正しく格納することが可能となる。
【００５４】
また、現歪補正範囲情報レジスタ２０２に現歪補正範囲情報を逐次保持しておくことにより、２回目以後の歪補正処理においては、２回の歪補正範囲の算出を行う必要がない。なお、各ブロックラインにおける歪補正処理のたびに２回の歪補正範囲の算出を行うようにすれば、現歪補正範囲情報レジスタ２０２はなくとも良い。
【００５５】
また、糊代画像データとして格納されていない一部のデータをダミーデータとして糊代保存メモリ４０３から読み出すことにより、フレームメモリ１０６からは常に矩形の画像データを読み出すことができる。これにより、回路の簡素化を図ることが可能である。
【００５６】
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。例えば、上述の実施形態においては、画像データの入力範囲を現歪補正範囲情報と次歪補正範囲情報の２つから求めるようにしている。これに対し、現歪補正範囲情報と、現在の歪補正処理の対象となっているブロックラインから連続する複数のブロックラインの歪補正範囲情報とから入力範囲を求めるようにしても良い。例えば、ブロックラインＢＬｎ、ＢＬｎ＋１、ＢＬｎ＋２の歪補正範囲情報に基づいて入力範囲を求める場合には、入力範囲の垂直方向の幅はブロックラインＢＬｎの歪補正範囲の垂直方向の幅とすれば良く、入力範囲の水平方向の幅はブロックラインＢＬｎの歪補正範囲の水平方向の幅とブロックラインＢＬｎ＋１の歪補正範囲の水平方向の幅とブロックラインＢＬｎ＋２の歪補正範囲の水平方向の幅の全てを含む幅とすれば良い。
【００５７】
また、上述の実施形態においては、画像データを行方向に分割してブロックラインを構成している。これに対し図９のようにして画像データを列方向にも分割してブロックラインを構成するようにしても良い。なお、図９の例において、ブロックライン１−１、２−１、３−１、…、１０−１、１−２、２−２、…、１０−２の順で歪補正処理を行うとすると、上端のブロックライン１−１、２−１における処理の際には、歪補正範囲算出部２０１を２回動作させる必要がある。
【符号の説明】
【００５８】
１０１…レンズ、１０２…シャッタ絞り、１０３…撮像素子、１０４…前処理部、１０５…バス、１０６…フレームメモリ、１０７…画像処理部、１０７ａ…歪補正処理回路、１０８…圧縮伸長処理部、１０９…メモリインターフェース（ＩＦ）、１１０…記録媒体、１１１…表示制御部、１１２…表示部、１１３…マイクロコンピュータ、１１４…操作部、１１５…Ｆｌａｓｈメモリ、１１６…タイミングジェネレータ（ＴＧ）、２０１…歪補正範囲算出部、２０２…現歪補正範囲情報レジスタ、２０３…入力ＤＭＡ、２０４…歪補正部、２０５…出力ＤＭＡ、２０６…シーケンサ、４０１…入力バッファ、４０２…歪補正回路、４０３…糊代保存メモリ、４０４…糊代保存メモリコントローラ
【図１】
0005443844.tif 000002
【図２】
0005443844.tif 000003
【図３】
0005443844.tif 000004
【図４】
0005443844.tif 000005
【図５】
0005443844.tif 000006
【図６】
0005443844.tif 000007
【図７】
0005443844.tif 000008
【図８】
0005443844.tif 000009
【図９】
0005443844.tif 000010