(57)【特許請求の範囲】
【請求項１】
第１数の水平画素と水平画素位置に応じて異なる垂直歪とを有する画像データをメモリに書き込む書き込み手段、
前記書き込み手段によって前記メモリに格納された画像データを基準水平画素を含みかつ前記第１数よりも小さい第２数の水平画素ずつ垂直画素方向に読み出す読み出し手段、
前記読み出し手段によって読み出された画像データに垂直歪補正を施す補正手段、
前記基準水平画素に対応する垂直歪が小さいほど大きい数値を示すように前記第２数を決定して前記読み出し手段を起動する決定手段、および
前記補正手段の補正量に基づくタイミングで前記基準水平画素の位置を前記第２数に対応する位置に変更して前記決定手段を起動する変更手段を備える、歪補正装置。
【請求項２】
前記補正手段は前記画像データを一時的に保持する一時メモリを含み、
前記決定手段は前記一時メモリの容量を参照して前記第２数が示す数値を決定する、請求項１記載の歪補正装置。
【請求項３】
前記基準水平画素を参照して複数の水平画素位置を指定する指定手段、
前記指定手段によって指定された複数の水平画素位置にそれぞれ対応する複数の垂直画素位置を前記垂直歪を参照して特定する特定手段、および
前記指定手段によって指定された複数の水平画素位置と前記特定手段によって特定された複数の垂直画素位置とによって定義される部分エリアに属する画像データのデータ量を算出する算出手段をさらに備え、
前記決定手段は前記算出手段によって算出されたデータ量に基づいて前記第２数が示す数値を決定する、請求項１記載の歪補正装置。
【請求項４】
前記複数の水平画素位置の１つは前記基準水平画素に対応し、
前記指定手段は前記算出手段によって算出されたデータ量が閾値以下のとき前記複数の水平画素位置の他の１つを変更する変更手段を含む、請求項３記載の歪補正装置。
【請求項５】
前記決定手段は前記算出手段によって算出されたデータ量が前記閾値を上回るとき前記複数の水平画素位置の間隔に相当する数値を前記第２数として決定する、請求項４記載の歪補正装置。
【請求項６】
前記補正手段は前記閾値に対応する容量を有して前記画像データを一時的に保持する一時メモリを含む、請求項４または５記載の歪補正装置。
【請求項７】
前記読み出し手段はバーストアクセス態様で読み出し動作を行い、
前記第２数は１回のバーストアクセス量に相当する、請求項１ないし６のいずれかに記載の歪補正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、歪補正装置に関し、特にディジタルカメラに適用され、撮影された被写界像の歪を補正する、歪補正装置に関する。
【背景技術】
【０００２】
この種の装置の一例が、特許文献１に開示されている。この背景技術によれば、被写界を表す画像データは、まず水平歪補正回路によって水平画素方向の歪補正を施される。水平歪補正回路から出力された画像データは、ＳＤＲＡＭの動画像エリアに書き込まれる。動画像エリアは２つのメモリバンクによって形成され、画像データは垂直画素方向に隣接する画素間で書き込みバンクが相違するように２つのメモリバンクに書き込まれる。こうして動画像エリアに格納された画像データはその後、水平６４画素ずつ垂直画素方向に読み出される。読み出された画像データは、４８個のラインメモリを備える垂直歪補正回路によって、垂直画素方向の歪補正を施される。
【特許文献１】特開２００６−２７９１４４号公報［H04N 5/232, H04N 9/07］
【発明の開示】
【発明が解決しようとする課題】
【０００３】
被写界像の歪は、水平方向および垂直方向のいずれにおいても、長さ方向両端において最も大きく、長さ方向中央において最も小さい。にも関わらず、垂直歪補正のために動画像エリアから読み出される画素数は、６４画素に固定されている。このため、垂直歪補正の性能に限界がある。
【０００４】
それゆえに、この発明の主たる目的は、垂直歪補正の性能を向上させることができる、歪補正装置を提供することである。
【課題を解決するための手段】
【０００５】
この発明に従う歪補正装置(10：実施例で相当する参照符号。以下同じ)は、第１数の水平画素と水平画素位置に応じて異なる垂直歪とを有する画像データをメモリ(32)に書き込む書き込み手段(28)、書き込み手段によってメモリに格納された画像データを基準水平画素を含みかつ第１数よりも小さい第２数の水平画素ずつ垂直画素方向に読み出す読み出し手段(40)、読み出し手段によって読み出された画像データに垂直歪補正を施す補正手段(42)、基準水平画素に対応する垂直歪が小さいほど大きい数値を示すように第２数を決定して読み出し手段を起動する決定手段(S37)、および補正手段の補正量に基づくタイミングで基準水平画素の位置を第２数に対応する位置に変更して決定手段を起動する変更手段(S47)を備える。
【０００６】
書き込み手段は、第１数の水平画素と水平画素位置に応じて異なる垂直歪とを有する画像データをメモリに書き込む。読み出し手段は、書き込み手段によってメモリに格納された画像データを、基準水平画素を含みかつ第１数よりも小さい第２数の水平画素ずつ垂直画素方向に読み出す。読み出し手段によって読み出された画像データは、補正手段によって垂直歪補正を施される。決定手段は、基準水平画素に対応する垂直歪が小さいほど大きい数値を示すように第２数を決定して読み出し手段を起動する。変更手段は、補正手段の補正量に基づくタイミングで基準水平画素の位置を第２数に対応する位置に変更して決定手段を起動する。
【０００７】
このように、読み出し手段によって注目される第２数は、基準水平画素に対応する垂直歪が小さいほど大きい数値を示す。また、基準水平画素の位置は、補正手段の補正量に基づくタイミングで第２数に対応する位置に変更される。これによって、水平画素方向における垂直歪の変化を考慮した読み出し動作が実現され、垂直歪補正の性能が向上する。
【０００８】
好ましくは、補正手段は画像データを一時的に保持する一時メモリ(58a, 58b)を含み、決定手段は一時メモリの容量を参照して第２数が示す数値を決定する。これによって、読み出し動作の効率化が図られる。
【０００９】
好ましくは、基準水平画素を参照して複数の水平画素位置を指定する指定手段(S5, S7, S35)、指定手段によって指定された複数の水平画素位置にそれぞれ対応する複数の垂直画素位置を垂直歪を参照して特定する特定手段(S9~S25)、および指定手段によって指定された複数の水平画素位置と特定手段によって特定された複数の垂直画素位置とによって定義される矩形エリアに属する画像データのデータ量を算出する算出手段(S27)がさらに備えられ、決定手段は算出手段によって算出されたデータ量に基づいて第２数が示す数値を決定する。
【００１０】
さらに好ましくは、複数の水平画素位置の１つは基準水平画素に対応し、指定手段は算出手段によって算出されたデータ量が閾値以下のとき複数の水平画素位置の他の１つを変更する変更手段(S35)を含む。
【００１１】
より好ましくは、決定手段は算出手段によって算出されたデータ量が閾値を上回るとき複数の水平画素位置の間隔に相当する数値を第２数として決定する。
【００１２】
さらには、補正手段は閾値に対応する容量を有して画像データを一時的に保持する一時メモリ(58a, 58b)を含む。
【００１３】
好ましくは、読み出し手段はバーストアクセス態様で読み出し動作を行い、第２数は１回のバーストアクセス量に相当する。
【発明の効果】
【００１４】
この発明によれば、読み出し手段によって注目される第２数は、基準水平画素に対応する垂直歪が小さいほど大きい数値を示す。また、基準水平画素の位置は、補正手段の補正量に基づくタイミングで第２数に対応する位置に変更される。これによって、水平画素方向における垂直歪の変化を考慮した読み出し動作が実現され、垂直歪補正の性能が向上する。
【００１５】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００１６】
図１を参照して、この実施例のディジタルカメラ１０は、ズームレンズ１２を含む。被写界の光学像は、ズームレンズ１２を経て撮像装置１４の撮像面に照射される。撮像面は、水平６４０画素×垂直４８０画素を有し、かつ原色ベイヤ配列の色フィルタ（図示せず）によって覆われる。各画素で生成される電荷は、Ｒ(Red)，Ｇ(Green)およびＢ(Blue)のいずれか１つの色情報を有する。
【００１７】
電源が投入されると、被写界のリアルタイム動画像（スルー画像）をＬＣＤモニタ３８から出力するべく、スルー画像処理が実行される。ＣＰＵ２０は、露光動作および電荷読み出し動作の繰り返しをドライバ１８に命令する。ドライバ１８は、１／３０秒毎に発生する垂直同期信号Ｖｓｙｎｃに応答して撮像面を露光し、これによって生成された電荷をラスタ走査態様で撮像面から読み出す。撮像装置１４からは、読み出された電荷に基づく水平６４０画素×垂直４８０画素の生画像データが３０ｆｐｓのフレームレートで出力される。
【００１８】
信号処理回路２４は、撮像装置１４から出力された生画像データに白バランス調整，色分離，ＹＵＶ変換の一連の処理を施し、ＹＵＶ形式に対応する水平６４０画素×垂直４８０画素の画像データを作成する。作成された画像データは水平歪補正回路２６に与えられ、現時点のズーム倍率を考慮した水平歪補正を施される。
【００１９】
図３（Ａ）に示す被写界を表す光学像がズームレンズ１２を通過すると、撮像装置１４から出力される生画像データひいては信号処理回路２４から出力される画像データに、図３（Ｂ）に示すような樽型歪み（収差）が発生する。水平歪補正回路２６は、このような歪みのうち水平方向の歪みを補正し、図３（Ｃ）に示す画像データを作成する。
【００２０】
作成された画像データはバッファ回路２８に与えられ、その後、メモリ制御回路３０を通してＳＤＲＡＭ３２の動画像エリア３２ａ（図２参照）に書き込まれる。バッファ回路４０は、動画像エリア３２ａに格納された画像データをメモリ制御回路３０を通して読み出す。垂直歪補正回路４２は、バッファ回路４０によって読み出された画像データに現時点のズーム倍率を考慮した垂直歪補正を施す。この結果、図３（Ｄ）に示す画像データが作成される。
【００２１】
作成された画像データはバッファ回路４４に与えられ、その後、メモリ制御回路３０を通してＳＤＲＡＭ３２の動画像エリア３２ｂ（図２参照）に書き込まれる。バッファ回路３４は、動画像エリア３２ｂに格納された画像データをメモリ制御回路３０を通して読み出し、ＬＣＤドライバ３６は、読み出された画像データに基づいてＬＣＤモニタ３８を駆動する。この結果、３０ｆｐｓのフレームレートを有するスルー画像がモニタ画面に表示される。
【００２２】
なお、メモリ制御回路３０は、ＳＤＲＡＭ３２へのデータ書き込みおよびＳＤＲＡＭ３２からのデータ読み出しをバーストアクセス態様で実行する。したがって、書き込み開始アドレスおよび水平サイズが指定された場合、指定された水平サイズを有する画像データは、指定された書き込み開始アドレス以降のアドレスに１回のアクセス動作で書き込まれる。また、読み出し開始アドレスおよび水平サイズが指定された場合、指定された水平サイズを有する画像データは、指定された読み出し開始アドレス以降のアドレスから１回のアクセス動作で読み出される。
【００２３】
キー入力装置２２によってズーム操作が行われると、ＣＰＵ２０は、対応する命令をドライバ１６に与える。ズームレンズ１２はドライバ１６によって光軸方向に変位し、これによって撮像面に照射される光学像のズーム倍率が変化する。なお、水平歪補正回路２６および垂直歪補正回路４２の各々は、変化後のズーム倍率を考慮した歪補正を実行する。
【００２４】
キー入力装置２２によって記録開始操作が行われると、ＣＰＵ２０は、バッファ回路４６およびＩ／Ｆ４８を起動する。バッファ回路４６は、動画像エリア３２ｂに格納された画像データをメモリ制御回路３０を通して読み出し、Ｉ／Ｆ４８はバッファ回路４６によって読み出された画像データを記録媒体５０に形成された動画ファイルに書き込む。バッファ回路４６による読み出し動作およびＩ／Ｆ４６による書き込み動作は、キー入力装置２２によって記録終了操作が行われたとき終了される。
【００２５】
垂直歪補正回路４２は、図４に示すように構成される。バッファ制御回路７６は、読み出し開始アドレスと水平サイズとが記述された読み出し要求をバッファ回路４０に向けて発行する。読み出し開始アドレスを構成する水平アドレスは、図７に示すブロックＢ１〜Ｂ４のうち所望のブロックの左端の水平アドレスを定義する。また、水平サイズは、同じブロックのＢ１〜Ｂ４のうち所望のブロックの水平サイズを定義する。バッファ回路４０は、メモリ制御回路３０を通してＳＤＲＡＭ３２にアクセスし、所望のブロックに属する画像データをラスタ走査態様で読み出す。
【００２６】
バッファ回路４０から出力された画像データのうち、Ｙデータはセレクタ５２に与えられ、Ｕデータはセレクタ５４に与えられ、Ｖデータはセレクタ５６に与えられる。セレクタ５２は、奇数ラインのＹデータをＳＲＡＭ５８ａに書き込む一方、偶数ラインのＹデータをＳＲＡＭ５８ｂに書き込む。セレクタ５４は、奇数ラインのＵデータをＳＲＡＭ６０ａに書き込む一方、偶数ラインのＵデータをＳＲＡＭ６０ｂに書き込む。セレクタ５６は、奇数ラインのＶデータをＳＲＡＭ６２ａに書き込む一方、偶数ラインのＶデータをＳＲＡＭ６２ｂに書き込む。
【００２７】
なお、ＹＵＶデータはＹ：Ｕ：Ｖ＝４：２：２の比率を有する。このため、ＳＲＡＭ５８ａ〜５８ｂの容量はＳＲＡＭ６０ａ〜６０ｂの容量の２倍に相当し、ＳＲＡＭ６０ａ〜６０ｂの合計容量はＳＲＡＭ６２ａ〜６０ｂの容量に等しい。
【００２８】
図７から分かるように、画像データの垂直歪率は水平アドレスに応じて変化する。一方、ＳＲＡＭ５８ａ〜５８ｂ（６０ａ〜６０ｂ，６２ａ〜６２ｂ）の容量は有限である。そこで、この実施例では、図７に斜線で示すエリアＭ１〜Ｍ３の面積が共通しかつ上述のＳＲＡＭ容量に適合するように（あるいはエリアＭ１〜Ｍ３の各々の面積に相当する容量がＳＲＡＭ容量に近づくように）、ブロックＢ１〜Ｂ３の水平サイズを決定するようにしている（エリアＭ４の面積はＳＲＡＭ容量未満）。これによって、ＳＤＲＡＭ３２のアクセス速度の向上ひいては垂直歪補正の性能の向上が図られる。
【００２９】
バッファ制御回路７６は、図５〜図６に示すフロー図に従って、読み出し開始アドレスおよび水平サイズを算出し、かつバッファ制御回路４０に向けた読み出し要求を発行する。このフロー図に従う処理は、垂直同期信号Ｖｓｙｎｃが発生する毎に実行される。
【００３０】
以下の説明では、動画像エリア３２ａに格納された画像データを“元画像データ”と定義し、垂直歪補正を施された画像データを“補正画像データ”と定義する。また、図７に示すブロックＢ１〜Ｂ４のうち注目するブロックを“注目ブロック”と定義し、注目ブロックに属する補正画像データ上で注目する画素を“注目画素”と定義し、注目画素の作成に必要な元画像データ上の画素を“元画素”と定義する。
【００３１】
なお、後述するように、注目画素は、元画像データ上で垂直方向に隣接する２つの画素に補間演算を施すことで得られ、補正画像データ上の適切な位置（垂直歪が解消される位置）に配置される。元画素は、補間演算を施される２つの画素のうち下側の画素に相当する。
【００３２】
図５を参照して、まずステップＳ１でフラグＦＬＧを“０”にセットし、ステップＳ３で変数ＨａｄｒｓおよびＶａｄｒｓを“０”に設定する。ステップＳ５では変数Ｈａｄｒｓを変数Ｈｓｔａｒｔに設定し、ステップＳ７では変数Ｈａｄｒｓを変数Ｈｅｎｄに設定する。
【００３３】
変数ＨａｄｒｓおよびＶａｄｒｓはそれぞれ、注目画素の水平アドレスおよび垂直アドレスを示す変数であり、変数ＨｓｔａｒｔおよびＨｅｎｄはそれぞれ、注目ブロックの左端の水平アドレスおよび右端の水平アドレスを示す変数である。
【００３４】
ステップＳ９では、元画素の垂直アドレスを算出する。算出された垂直アドレスは、変数Ｖｏｒｉｇｎに設定される。ステップＳ１１では、フラグＦＬＧが“０”であるか否かを判別する。ここでＹＥＳであれば、ステップＳ１３〜Ｓ１５で変数Ｖｏｒｉｇｉｎを変数ＶｍａｘおよびＶｍｉｎに設定し、ステップＳ１７でフラグＦＬＧを“１”に設定し、その後にステップＳ２７に進む。
【００３５】
一方、ステップＳ１１でＮＯであれば、変数Ｖｏｒｉｇｉｎが変数Ｖｍａｘを上回るか否かをステップＳ１９で判別し、変数Ｖｏｒｉｇｉｎが変数Ｖｍｉｎを下回るか否かをステップＳ２３で判別する。ステップＳ１９でＹＥＳであれば、ステップＳ２１で変数Ｖｏｒｉｇｉｎを変数Ｖｍａｘに設定してからステップＳ２７に進む。ステップＳ２３でＹＥＳであれば、ステップＳ２５で変数Ｖｏｒｏｇｉｎを変数Ｖｍｉｎに設定してからステップＳ２７に進む。
【００３６】
ステップＳ２７では、数１に従ってデータ量ＤＴを算出する。
［数１］
ＤＴ＝（Ｈｅｎｄ−Ｈｓｔａｒｔ）×（Ｖｍａｘ−Ｖｍｉｎ）
【００３７】
ステップＳ２９ではデータ量ＤＴが上述のＳＲＡＭ容量に対応する閾値ＤＴｔｈを上回るか否かを判別し、ステップＳ３１では変数Ｈａｄｒｓが定数ＥＮＤ（＝６３９）に等しいか否かを判別する。ステップＳ２９およびＳ３１のいずれもＮＯであれば、ステップＳ３３で変数Ｈａｄｒｓをインクリメントし、ステップＳ３５で変数Ｈａｄｒｓを変数Ｈｅｎｄに設定してからステップＳ９に戻る。一方、ステップＳ２９またはＳ３１でＹＥＳであればステップＳ３７以降の処理に進む。
【００３８】
ステップＳ３７では、読み出し開始アドレスおよび水平サイズを決定する。読み出し開始サイズは（Ｈｓｔａｒｔ，Ｖｍａｘ）によって定義され、水平サイズは“Ｈｅｎｄ−Ｈｓｔａｒｔ”によって定義される。ステップＳ３９では、決定された読み出し開始アドレスおよび水平サイズを記述した読み出し要求をバッファ回路４０に向けて発行する。
【００３９】
ステップＳ４１では、ステップＳ３１と同様の判別処理を実行し、ＹＥＳであれば処理を終了する一方、ＮＯであればステップＳ４３で読み出し制御回路７８からの再起動要求を待つ。再起動要求が発行されれば、ステップＳ４５でフラグＦＬＧを“０”に設定し、ステップＳ４７で変数Ｈａｄｒｓをインクリメントしてから、ステップＳ５に戻る。なお、再起動要求は、補間演算のためにＳＲＡＭ５８ａ〜６２ｂから読み出される画素の水平アドレスが“Ｈｅｎｄ”に達するタイミングで発行される。
【００４０】
１回目のループにおけるステップＳ２９の判別結果がＹＥＳとなることで、エリアＭ１が図８（Ａ）に示す要領で確定し、２回目のループにおけるステップＳ２９の判別結果がＹＥＳとなることで、エリアＭ２が図８（Ｂ）に示す要領で確定する。また、３回目のループにおけるステップＳ２９の判別結果がＹＥＳとなることで、エリアＭ３が図８（Ｃ）に示す要領で確定し、４回目のループにおけるステップＳ３１の判別結果がＹＥＳとなることで、エリアＭ４が図８（Ｄ）に示す要領で確定する。
【００４１】
また、ブロックＢ１から読み出された各ラインの画像データは、図９（Ａ）に示す要領でＳＲＡＭ１（５８ａ，６０ａ，６２ａ）およびＳＲＡＭ２（５８ｂ，６０ｂ，６２ｂ）に書き込まれ、ブロックＢ２から読み出された各ラインの画像データは、図９（Ｂ）に示す要領でＳＲＡＭ１およびＳＲＡＭ２に書き込まれる。同様に、ブロックＢ３から読み出された各ラインの画像データは、図９（Ｃ）に示す要領でＳＲＡＭ１およびＳＲＡＭ２に書き込まれ、ブロックＢ４から読み出された各ラインの画像データは、図９（Ｄ）に示す要領でＳＲＡＭ１およびＳＲＡＭ２に書き込まれる。なお、図９（Ａ）〜図９（Ｄ）に示す数字はライン番号を示す。
【００４２】
図５に示すステップＳ９の処理は、図１０に示すサブルーチンに従って実行される。まずステップＳ５１で、数２に従って注目画素のアドレスをＨＶ座標系からＸＹ座標系に変換する。ステップＳ５３では、注目画素の像高比を数３に従って算出する。図１１を参照して、画像データ上の画素位置は、被写界像の左上頂角を原点とするＨＶ座標系を用いて特定される。これに対して、像高比は、ズームレンズ１２の中心つまり被写界像の中心を原点とするＸＹ座標系を用いて算出される。そこで、注目画素のアドレスをＨＶ座標系からＸＹ座標系に変換し、次に像高比を算出する。
［数２］
Ｘａｄｒｓ＝Ｈａｄｒｓ−Ｈｓｉｚｅ／２
Ｙａｄｒｓ＝Ｖａｄｒｓ−Ｖｓｉｚｅ／２
Ｘａｄｒｓ：注目画素のＸアドレス
Ｙａｄｒｓ：注目画素のＹアドレス
Ｈｓｉｚｅ：被写界像の水平サイズ
Ｖｓｉｚｅ：被写界像の垂直サイズ
［数３］
ｒ＝√｛Ｘａｄｒｓ２＋Ｙａｄｒｓ２｝
Ｒ＝√｛（Ｈｓｉｚｅ／２）２＋（Ｖｓｉｚｅ／２）２｝
ＲＤ＝ｒ／Ｒ
ＲＤ：像高比
【００４３】
ステップＳ５５では、ステップＳ５３で得られた像高比に対応する垂直歪率を図１２に示す曲線Ｃ１〜Ｃ３を参照して算出する。曲線Ｃ１は１．０倍のズーム倍率に対応する垂直歪率と像高比との関係を示し、曲線Ｃ２は２．０倍のズーム倍率に対応する垂直歪率と像高比との関係を示し、曲線Ｃ３は３．０倍のズーム倍率に対応する垂直歪率と像高比との関係を示す。曲線Ｃ１〜Ｃ３のいずれについても、垂直歪率は、像高比が“０．０”のとき“０．０”を示し、像高比の増大に従って減少する。ステップＳ５５では、このような曲線Ｃ１〜Ｃ３に基づいて現時点のズーム倍率に対応する曲線の近似式を作成し、作成された近似式を参照して垂直歪率を算出する。
【００４４】
ステップＳ５７では、ステップＳ５１およびＳ５５で得られた注目画素のＹアドレスおよび垂直歪率を参照して、注目画素に対応する元画像データ上の画素のＹアドレスを算出する。具体的には、数４に従う演算を実行する。
［数４］
Ｙｃｖｔ＝Ｙａｄｒｓ＊（１＋β）＊Ｋ
Ｙｃｖｔ：注目画素に対応する画素のＹアドレス
β：注目画素の垂直歪率
Ｋ：定数
【００４５】
ステップＳ５９では、ステップＳ５７で得られたＹアドレスを数５に従ってＨＶ座標系の垂直アドレスに変換する。また、ステップＳ６１では、変換された垂直アドレスに数６に従う演算を施して元画素の垂直アドレスを算出する。
［数５］
Ｖｃｖｔ＝Ｙｃｖｔ＋Ｖｓｉｚｅ／２
Ｖｃｖｔ：注目画素に対応する画素の垂直アドレス
［数６］
Ｖｏｒｉｇｎ＝ｉｎｔ（Ｖｃｖｔ）＋１
ｉｎｔ（Ｖｃｖｔ）：Ｖｃｖｔの整数部
Ｖｏｒｉｇｎ：元画素の垂直アドレス
【００４６】
図４に戻って、セレクタ５２〜５６に入力する画素データの水平アドレスおよび垂直アドレスは、バッファ回路４０から垂直アドレス変換回路８２に与えられる。また、同じ水平アドレスおよび垂直アドレスのうち水平アドレスのみが、読み出し制御回路７８に与えられる。
【００４７】
垂直アドレス変換回路８２は、図１０に示す処理と同じ要領で元画素の垂直アドレスを算出し、算出した垂直アドレスとこれよりも１つ小さい垂直アドレスとを読み出し制御回路７８および補間係数算出回路８０の各々に与える。
【００４８】
読み出し制御回路７８は、垂直アドレス変換回路８２から与えられた２つの垂直アドレスとバッファ回路４０から与えられた水平アドレスとよって定義される２画素を特定し、特定した２画素の読み出しをセレクタ６４，６６および６８に要求する。
【００４９】
セレクタ６４は要求された２画素のＹデータをＳＲＡＭ５８ａおよび５８ｂから読み出し、読み出された２画素のＹデータを線形補間回路７０に与える。セレクタ６６は、要求された２画素のＵデータをＳＲＡＭ６０ａおよび６０ｂから読み出し、読み出された２画素のＵデータを線形補間回路７２に与える。セレクタ６８は、要求された２画素のＶデータをＳＲＡＭ６２ａおよび６２ｂから読み出し、読み出された２画素のＶデータを線形補間回路７４に与える。
【００５０】
補間係数算出回路８０は、垂直アドレス変換回路８２から与えられた２つの垂直アドレスに基づいて垂直補間係数を算出し、算出された垂直補間係数を線形補間回路７０〜７４の各々に与える。
【００５１】
線形補間回路７０は、セレクタ６４から与えられた２画素のＹデータに補間係数算出回路８０から与えられた垂直補間係数に従う垂直補間演算を施す。また、線形補間回路７２は、セレクタ６６から与えられた２画素のＵデータに補間係数算出回路８０から与えられた垂直補間係数に従う垂直補間演算を施す。さらに、線形補間回路７４は、セレクタ６８から与えられた２画素のＶデータに補間係数算出回路８０から与えられた垂直補間係数に従う垂直補間演算を施す。垂直補間を施された画素は、図１３に示す位置に配置される。こうして得られた補正画像データは、バッファ回路４４に向けて出力される。
【００５２】
以上の説明から分かるように、バッファ回路２８は、第１数（＝６４０）の水平画素と水平画素位置（水平アドレス）に応じて異なる垂直歪とを有する画像データをＳＤＲＡＭ３２に書き込む。バッファ回路４０は、ＳＤＲＡＭ３２に格納された画像データを、基準水平画素（読み出し開始アドレスを定義する水平アドレスの画素）を含みかつ第１数よりも小さい第２数（＝ブロックＢ１〜Ｂ４の水平サイズ）の水平画素ずつ垂直画素方向に読み出す。バッファ回路４０によって読み出された画像データは、垂直歪補正回路４２によって垂直歪補正を施される。バッファ制御回路７６は、基準水平画素に対応する垂直歪が小さいほど大きい数値を示すように第２数を決定してバッファ回路４０を起動する(S37)。バッファ制御回路７６はまた、垂直歪補正回路４２の補正量に基づくタイミングで基準水平画素の位置を第２数に対応する位置に変更して上述の決定処理(S37)を起動する(S47)。
【００５３】
このように、バッファ回路４０によって注目される第２数は、基準水平画素に対応する垂直歪が小さいほど大きい数値を示す。また、基準水平画素の位置は、垂直歪補正回路４２の補正量に基づくタイミングで第２数に対応する位置に変更される。これによって、水平画素方向における垂直歪の変化を考慮した読み出し動作が実現され、垂直歪補正の性能が向上する。
【００５４】
なお、この実施例では動画像に対する歪補正を想定しているが、歪補正は静止画像に対して実行するようにしてもよい。
【図面の簡単な説明】
【００５５】
【図１】この発明の一実施例の構成を示すブロック図である。
【図２】図１実施例に適用されるＳＤＲＡＭのマッピング状態の一例を示す図解図である。
【図３】（Ａ）は被写界の一例を示す図解図であり、（Ｂ）は撮像装置または信号処理回路から出力される元画像の一例を示す図解図であり、（Ｃ）は水平歪補正を施された画像の一例を示す図解図であり、（Ｄ）は垂直歪補正を施された画像の一例を示す図解図である。
【図４】図１実施例に適用される垂直歪補正回路の構成の一例を示すブロック図である。
【図５】図４実施例に適用されるバッファ制御回路の動作の一部を示すフロー図である。
【図６】図４実施例に適用されるバッファ制御回路の動作の他の一部を示すフロー図である。
【図７】図４実施例の動作の一部を示す図解図である。
【図８】（Ａ）は図７に示すエリアＭ１に対応する図４実施例の動作の一部を示す図解図であり、（Ｂ）は図７に示すエリアＭ２に対応する図４実施例の動作の一部を示す図解図であり、（Ｃ）は図７に示すエリアＭ３に対応する図４実施例の動作の一部を示す図解図であり、（Ｄ）は図７に示すエリアＭ４に対応する図４実施例の動作の一部を示す図解図である。
【図９】（Ａ）は図７に示すブロックＢ１に対応する図４実施例の動作の他の一部を示す図解図であり、（Ｂ）は図７に示すブロックＢ２に対応する図４実施例の動作の他の一部を示す図解図であり、（Ｃ）は図７に示すブロックＢ３に対応する図４実施例の動作の他の一部を示す図解図であり、（Ｄ）は図７に示すブロックＢ４に対応する図４実施例の動作の他の一部を示す図解図である。
【図１０】図４実施例に適用されるバッファ制御回路の動作のその他の一部を示すフロー図である。
【図１１】ｈｖ座標系とｘｙ座標系との関係を示す図解図である。
【図１２】像高比と歪率との関係の一例を示すグラフである。
【図１３】図４実施例の動作の一部を示す図解図である。
【符号の説明】
【００５６】
１０  …ディジタルカメラ
１２  …ズームレンズ
１４  …撮像装置
３０  …メモリ制御回路
３２  …ＳＤＲＡＭ
４２  …垂直歪補正回路
【図１】
0004919978.tif 000002
【図２】
0004919978.tif 000003
【図３】
0004919978.tif 000004
【図４】
0004919978.tif 000005
【図５】
0004919978.tif 000006
【図６】
0004919978.tif 000007
【図７】
0004919978.tif 000008
【図８】
0004919978.tif 000009
【図９】
0004919978.tif 000010
【図１０】
0004919978.tif 000011
【図１１】
0004919978.tif 000012
【図１２】
0004919978.tif 000013
【図１３】
0004919978.tif 000014