(57)【要約】【課題】歪補正と色収差補正とを行い得る回路規模が小さく低消費電力な画像処理装置を提供する。【解決手段】光学系により撮像された複数の成分で構成される電子的な画像データを処理する画像処理装置において、上記光学系に起因する歪曲収差を補正するための歪補正係数を歪中心位置からの距離に基づき上記成分毎に算出する単一の歪補正係数算出回路２２ａと、この歪補正係数算出回路２２ａにより算出された歪補正係数を用いて成分毎の画像データを歪補正する歪補正回路７Ａ１，７Ｂ１，７Ｃ１と、これら歪補正回路７Ａ１，７Ｂ１，７Ｃ１の全てからの歪補正処理開始要求信号ｔｒｏｋが揃った後に歪補正係数算出回路２２ａに許可信号ｅ＿ｇｒａｎｔを出力して全ての歪補正回路７Ａ１，７Ｂ１，７Ｃ１に歪補正処理を開始させるように制御するグラント同期回路２７と、を有して構成される歪補正処理部を備えた画像処理装置。【選択図】  図１０
2005011269.tif 000002
【特許請求の範囲】
【請求項１】
光学系を介して撮像することにより得られた電子的な画像データであって、複数の成分で構成される画像データ、を処理する画像処理装置において、
上記光学系に起因する歪曲収差を補正するのに用いるための歪補正係数を、歪中心位置からの距離に基づき、上記成分毎に算出する歪補正係数算出手段と、
上記歪補正係数算出手段により算出された成分毎の歪補正係数を用いて、上記画像データを成分毎に歪補正する歪補正演算手段と、
を有して構成される歪補正処理手段を具備したことを特徴とする画像処理装置。
【請求項２】
上記歪補正演算手段は、上記画像データを構成する全ての成分に一対一に対応して複数設けられたものであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
上記歪補正演算手段は、画像データを記憶するための内部バッファを有して構成されるとともに、歪補正処理を行うに必要な画像データが該内部バッファに蓄積された段階で歪補正処理開始要求を出力するものであり、
上記複数の歪補正演算手段の全てからの歪補正処理開始要求が揃った後に、これら全ての歪補正演算手段に対して歪補正処理を開始させるように制御するグラント同期手段をさらに具備したことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
上記グラント同期手段は、歪補正係数の算出処理を許可するための許可信号を上記歪補正係数算出手段に出力して、該歪補正係数算出手段による全ての成分に係る歪補正係数の算出を開始させることにより、全ての歪補正演算手段に対して歪補正処理を開始させるように制御するものであることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
上記歪補正係数算出手段は、その少なくとも一部が、上記成分毎の歪補正係数を算出する際に全ての成分に対して共通に用いられる部分として構成されたものであることを特徴とする請求項１から請求項４の何れか一項に記載の画像処理装置。
【請求項６】
上記歪補正係数算出手段は、上記歪中心位置からの距離の２乗値を算出して、該２乗値に基づき上記歪補正係数を成分毎に求めるものであり、
上記全ての成分に対して共通に用いられる部分は、この歪中心位置からの距離の２乗値を算出する部分であることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
上記歪補正係数算出手段は、上記歪中心位置からの距離の２乗値と上記歪補正係数との対応関係を記憶するルックアップテーブルを上記成分毎に有して構成されており、
上記算出した距離の２乗値に基づき上記成分毎のルックアップテーブルを参照することにより、上記歪補正係数を成分毎に求めるものであることを特徴とする請求項６に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置、より詳しくは、光学系を介して撮像された電子的な画像データを処理する画像処理装置に関する。
【０００２】
【従来の技術】
デジタルカメラ等の電子的撮像装置においては、光学系により結像された被写体像を、ＣＣＤ等の撮像素子により光電変換して撮像データを取得し、この撮像データに種々の画像処理を施した後に、ＪＰＥＧ等の圧縮方式で圧縮してメモリカード等の記録媒体に記録するのが一般的であり、該デジタルカメラ等の電子的撮像装置は、画像処理装置を兼ねたものとなっている。
【０００３】
図１７は画像処理装置における一般的な画像処理の手順を示す図である。
【０００４】
ＣＣＤ等の撮像素子は、光学系により結像された光学的な被写体像を光電変換して電気的な撮像信号を生成する。この撮像信号は、画素欠陥の補正やＡ／Ｄ変換などのプリプロセス処理が行われた後に、フレームメモリに記憶される。
【０００５】
次に、フレームメモリに記憶された画像データが、読み出されて、第１のイメージプロセス、第２のイメージプロセス、…、第Ｎのイメージプロセス等により、単板信号から３板信号への変換処理や、ローパスフィルタ処理、エッジ強調処理、拡大縮小処理などの各種の画像処理が行われる。
【０００６】
画像処理後の画像信号は、さらにＪＰＥＧなどの圧縮方式により圧縮されて、画像ファイルとしてメモリカードへ記録される。
【０００７】
図１８は、上記図１７に示したような一般的な画像処理を行うための従来の画像処理装置の構成を示すブロック図である。
【０００８】
この画像処理装置は、ＣＣＤ９１と、プリプロセス部９２と、フレームメモリ９４と、第１イメージプロセス部９５ａ，第２イメージプロセス部９５ｂ，…，第Ｎイメージプロセス部９５ｎと、ＪＰＥＧ処理部９６と、メモリカード等９７と、上記ＣＣＤ９１を除く上記各回路と後述するＣＰＵ９３とが接続されているバス９８と、上述した各回路を含むこの画像処理装置を統括的に制御するＣＰＵ９３と、を有して構成されている。
【０００９】
この図１８に示したような構成の画像処理装置により、上記図１７に示したような処理を行う場合には、具体的には次のような手順になる。
【００１０】
まず、プリプロセス部９２からの画像データをバス９８を介してフレームメモリ９４に一旦記憶させる。
【００１１】
次に、該フレームメモリ９４から画像データを読み出して、バス９８を介して第１イメージプロセス部９５ａに入力し、第１の画像処理を行って、処理後の画像データをフレームメモリ９４上に書き込む。
【００１２】
同様にして、該フレームメモリ９４から第１の画像処理後の画像データを読み出して、バス９８を介して第２イメージプロセス部９５ｂに入力し、第２の画像処理を行って、処理後の画像データをフレームメモリ９４上に書き込む、という処理を行い、同様の処理を各イメージプロセス部毎に繰り返して行う。
【００１３】
このように、画像処理を行う際には、画像データが何度もバス９８を流れることになるが、画像データは一般的にデータサイズが大きいために、バス９８には大きな負荷がかかることになる。このようなバス９８に対する大きな負荷は、連写機能を使用しているときなどに、より顕著である。
【００１４】
こうした観点から、複数のイメージプロセス部をパイプライン処理可能なように接続して、フレームメモリからの画像をパイプライン処理することにより、バスの負荷を減らすようにした技術が、例えば特開２０００−３１１２４１号公報に記載されていて、バスの負荷を減らしながら、メモリ容量を増やすことなく拡大縮小処理を含む画像処理をリアルタイムで行うことができるようになっている。
【００１５】
さらに、特開２０００−３１２３２７号公報には、フレームメモリに記憶されている画像をブロック単位で所定方向（列方向）に読み出すことで、パイプライン処理を行う際のバッファ量を減らす技術も記載されていて、低消費電力、省メモリの画像処理装置を構成することができるようになっている。
【００１６】
ところで、デジタルカメラや銀塩カメラを含むカメラの光学系においては、大小の差こそあれ、歪曲収差を生じるのが一般的である。この歪曲収差は、例えば、格子状の被写体を撮影すると、樽型、糸巻き型などとして観測される（本発明の実施形態に係る図４（Ａ）、図４（Ｂ）、図４（Ｃ）参照）。また、現在発売されているカメラは、光学ズームを行い得る機種が多いが、こうしたズーム可能な光学系は、ワイド端からテレ端にかけてのズームレンジ内で焦点距離を変更すると、歪曲収差の状態が変化することが多い。
【００１７】
このような現象に対し、画像処理の一部として歪補正を行う技術が、従来より開発されており、その一例として、例えば特開平６−１８１５３０号公報に記載されたものが挙げられる。該公報に記載されたような通常の画像処理では、フレームメモリから例えばライン単位でデータを読み出すようになっている。
【００１８】
また、画像処理の一部として歪補正を行う他の技術として、例えば特開平１０−２２４６９５号公報には、各イメージプロセス部がフレームメモリにランダムにアクセスするようにした技術が記載されている。この技術によれば、イメージプロセス部内にバッファを設ける必要がなくなるために、該イメージプロセス部の回路規模を小さくすることができる利点がある。
【００１９】
さらに、上記カメラの光学系においては、色収差が発生することが知られている。この色収差は、光学系に光が入射するときに、光の波長によって屈折率が異なることに起因して発生するものであり、光学系により光学像を結像する際に、波長毎に結像される光学像が微妙にずれる現象となって現れる。光学系は、この色収差ができるだけ小さくなるように設計されるが、配置スペースや重量、コストなどの観点から、色収差を全てなくすことは困難となっている。
【００２０】
【特許文献１】
特開２０００−３１１２４１号公報
【００２１】
【特許文献２】
特開２０００−３１２３２７号公報
【００２２】
【特許文献３】
特開平６−１８１５３０号公報
【００２３】
【特許文献４】
特開平１０−２２４６９５号公報
【００２４】
【発明が解決しようとする課題】
上記特開平６−１８１５３０号公報に記載されたものでは、画像処理としての歪補正を、補正後の画像の１ライン分について行うためには、図１９に示すような、補正前の画像データを、歪補正に必要な複数ライン分だけ、画像全体の横方向の幅に渡って読み出す必要がある。この図１９は、従来において歪補正処理を行うために必要なメモリ量を説明するための図である。これら複数ライン分の画像データは、イメージプロセス部の内部に設けられたバッファに一旦蓄積されてから処理されるために、１ライン分の補正画像を得るには、バッファとして比較的大きな容量が必要になり、回路規模が大きくなって製造コストが増すとともに消費電力も増加してしまう。さらに、イメージプロセス部内のバッファメモリ容量によって、処理可能な画像サイズが制限されてしまうことになる。
【００２５】
また、上記特開平１０−２２４６９５号公報に記載されたものでは、ＳＤＲＡＭ等で構成されたフレームメモリにランダムにアクセスしようとすると、バースト転送ができないために、その度毎にアドレスの転送が必要となって、結局バスの負荷が増大し、消費電力も増加してしまう。さらに、ランダムにアクセスするため、ＳＤＲＡＭから高速に読み出せるバースト転送に比べて、データの転送時間が全体の処理時間を増大させる要因となる。
【００２６】
そして、上述したような色収差についても、コスト等をあまり増加させることなく、良好に補正することができることが望ましい。
【００２７】
本発明は上記事情に鑑みてなされたものであり、歪補正と色収差補正とを行い得る回路規模が小さく低消費電力な画像処理装置を提供することを目的としている。
【００２８】
【課題を解決するための手段】
上記の目的を達成するために、第１の発明による画像処理装置は、光学系を介して撮像することにより得られた電子的な画像データであって複数の成分で構成される画像データを処理する画像処理装置において、上記光学系に起因する歪曲収差を補正するのに用いるための歪補正係数を歪中心位置からの距離に基づき上記成分毎に算出する歪補正係数算出手段と、上記歪補正係数算出手段により算出された成分毎の歪補正係数を用いて上記画像データを成分毎に歪補正する歪補正演算手段と、を有して構成される歪補正処理手段を具備したものである。
【００２９】
また、第２の発明による画像処理装置は、上記第１の発明による画像処理装置において、上記歪補正演算手段が、上記画像データを構成する全ての成分に一対一に対応して複数設けられたものである。
【００３０】
さらに、第３の発明による画像処理装置は、上記第２の発明による画像処理装置において、上記歪補正演算手段が、画像データを記憶するための内部バッファを有して構成されるとともに歪補正処理を行うに必要な画像データが該内部バッファに蓄積された段階で歪補正処理開始要求を出力するものであり、上記複数の歪補正演算手段の全てからの歪補正処理開始要求が揃った後にこれら全ての歪補正演算手段に対して歪補正処理を開始させるように制御するグラント同期手段をさらに具備したものである。
【００３１】
第４の発明による画像処理装置は、上記第３の発明による画像処理装置において、上記グラント同期手段が、歪補正係数の算出処理を許可するための許可信号を上記歪補正係数算出手段に出力して、該歪補正係数算出手段による全ての成分に係る歪補正係数の算出を開始させることにより、全ての歪補正演算手段に対して歪補正処理を開始させるように制御するものである。
【００３２】
第５の発明による画像処理装置は、上記第１から第４の発明による画像処理装置において、上記歪補正係数算出手段が、その少なくとも一部が、上記成分毎の歪補正係数を算出する際に全ての成分に対して共通に用いられる部分として構成されたものである。
【００３３】
第６の発明による画像処理装置は、上記第５の発明による画像処理装置において、上記歪補正係数算出手段が、上記歪中心位置からの距離の２乗値を算出して該２乗値に基づき上記歪補正係数を成分毎に求めるものであり、上記全ての成分に対して共通に用いられる部分は、この歪中心位置からの距離の２乗値を算出する部分である。
【００３４】
第７の発明による画像処理装置は、上記第６の発明による画像処理装置において、上記歪補正係数算出手段が、上記歪中心位置からの距離の２乗値と上記歪補正係数との対応関係を記憶するルックアップテーブルを上記成分毎に有して構成されており、上記算出した距離の２乗値に基づき上記成分毎のルックアップテーブルを参照することにより上記歪補正係数を成分毎に求めるものである。
【００３５】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
図１から図１６は本発明の一実施形態を示したものであり、図１は画像処理装置の構成を示すブロック図である。
【００３６】
この画像処理装置は、光学系により結像された光学的な被写体像を光電変換して電気的な撮像信号を生成する撮像素子たるＣＣＤ１と、このＣＣＤ１から出力される撮像信号に画素欠陥の補正やＡ／Ｄ変換などのプリプロセス処理を行うプリプロセス部２と、このプリプロセス部２により処理された後のフレーム画像を記憶するフレームメモリ４と、このフレームメモリ４に記憶された画像データを後述するバス１１を介して所定ブロック毎に読み出し所定の画像処理を施す画像処理部たるイメージプロセス部６と、このイメージプロセス部６による処理後の画像データに歪補正処理や拡大縮小処理を行うための画像処理部であり歪補正処理手段たる歪補正処理部７と、この歪補正処理部７から出力される画像データをＪＰＥＧ等の圧縮方式により圧縮する画像処理部たるＪＰＥＧ処理部９と、このＪＰＥＧ処理部９により圧縮された画像データを後述するバス１１を介して一旦フレームメモリ４に書き込み、この書き込まれた画像データをバス１１を介して読み出して入力し画像ファイルとして記憶する不揮発性の記憶手段たるメモリカード等１０と、上記ＣＣＤ１を除く上記各回路と後述するＣＰＵ３とが接続されているバス１１と、上述した各回路を含むこの画像処理装置を統括的に制御する制御手段たるＣＰＵ３と、を有して構成されている。
【００３７】
ここに、上記イメージプロセス部６、歪補正処理部７、ＪＰＥＧ処理部９は、バス１１を介することなく、該バス１１とは異なる情報伝達経路でパイプライン処理可能なように接続されていて、画像データを、２次元的な画素配列における所定のブロック単位で転送して処理するようになっている。これにより、データ量の大きい画像データが、各プロセス毎にバス１１を何度も転送されることがなくなるために、バス１１の負荷を大幅に軽減することが可能であるとともに、処理をブロック単位で行うことにより画像処理部の内部バッファ（後述する図３に示す内部メモリ部２５または図１４に示す２ポートＳＲＡＭ２５ａ）の容量を小さくすることが可能となっている。
【００３８】
また、この図１に示す例においては、画像処理を行うイメージプロセス部６を１つのみ設けているが、複数の画像処理に対応した複数のイメージプロセス部を、上記パイプライン処理経路上に配置するようにしても構わないことは勿論である。ここに画像処理の例としては、上述と同様に、単板信号から３板信号への変換処理や、ローパスフィルタ処理、エッジ強調処理、拡大縮小処理などが挙げられる。このときの配置は、上記歪補正処理部７よりも前段側であっても構わないし、後段側であっても構わない。
【００３９】
図２は、上記歪補正処理部７の構成の概要を示すブロック図である。
【００４０】
カラー画像データは、通常、ＲＧＢやＹＣｂＣｒなどの３つ（もしくはそれ以上）の独立した信号成分に分解され、各成分毎に処理が行われるようになっている。ここでは、３つの独立した信号成分のそれぞれが処理される経路（チャンネル）をＣｈ．０、Ｃｈ．１、Ｃｈ．２として説明するが、具体的には、例えばＣｈ．０で処理される信号がＲ、Ｃｈ．１で処理される信号がＧ、Ｃｈ．２で処理される信号がＢなどとなる。
【００４１】
この歪補正処理部７は、各チャンネル毎の歪補正処理部が、前段の対応するチャンネルの処理ブロックへリクエストを送信し、該リクエストに応じて前段の処理ブロックから送信される画像データを所定ブロック単位で受け取って、歪補正を行った後に、後段の対応するチャンネルの処理ブロックへ出力するようになっている。具体的には、Ｃｈ．０データを処理するための歪補正処理部が７Ａ、Ｃｈ．１データを処理するための歪補正処理部が７Ｂ、Ｃｈ．２データを処理するための歪補正処理部が７Ｃ、となっていて、これらが上記歪補正処理部７に含まれている。なお、これらの歪補正処理部７Ａ，７Ｂ，７Ｃは、後段のブロックから画像データを送信して欲しい旨のリクエストを受信すると、送信可能になった段階で、画像データを所定のブロック単位で該後段のブロックへ送信するようになっている。
【００４２】
なお、上記図１に示したような構成例においては、前段の処理ブロックがイメージプロセス部６に対応し、後段の処理ブロックがＪＰＥＧ処理部９に対応していて、これらの前段および後段の処理ブロックも、各チャンネル毎に処理を行うように構成されている。
【００４３】
歪補正処理部７には、制御レジスタ７ａが付随して設けられており、ＣＰＵ３からの該歪補正処理部７に対する設定値や各種データなどが上記歪補正処理部７Ａ，７Ｂ，７Ｃへ設定され、同時に処理結果のステータスなどをＣＰＵ３から読み取ることができるようになっている。
【００４４】
上記歪補正処理部７の１つのチャンネルに係る部分の処理の概要は、おおよそ、次のようになっている。図５は歪補正を含む補間処理の概要を説明するための図、図６は１６点補間による処理を説明するための図である。
【００４５】
まず、図５（Ｂ）に示すような歪補正処理後の画像の座標系（Ｘ，Ｙ）を予め準備しておく。この座標系（Ｘ，Ｙ）における画像データは、歪補正処理を開始する前は、当然にしてまだ何も求められていない。
【００４６】
該座標系（Ｘ，Ｙ）における着目点（注目画素）（これは、歪補正処理後の画像における各画素の座標に対応しており、同様に、（Ｘ，Ｙ）と表す。）を設定して、該着目点（Ｘ，Ｙ）に対応する画像データの座標（補間座標データ）（Ｘ’，Ｙ’）を座標変換により求める（図５（Ａ）参照）。この（Ｘ，Ｙ）と（Ｘ’，Ｙ’）との対応関係は、上記ＣＣＤ１へ被写体像を結像するための光学系の光学的性質により決まるものであり、該対応関係を定義付けるパラメータ等は、光学系の設計値から、あるいは製造後の光学系の検査から、予め求められて、図示しない不揮発性メモリ等に記憶されている。そして、上記ＣＰＵ３が、この不揮発性メモリ等からパラメータを読み出して、上記制御レジスタ７ａに設定するようになっている。
【００４７】
こうして対応関係により座標（Ｘ’，Ｙ’）を求めると、該座標（Ｘ’，Ｙ’）における画像データを求めるために必要な周辺の画像データの座標が決定される。例えば、Ｃｕｂｉｃ補間処理を行う場合には、図６に示すように、該座標（Ｘ’，Ｙ’）（図６における画像データがＤｏｕｔ  となっている点）に対して周辺の１６点の座標が決定される。
【００４８】
従って、これら１６点の座標における画像データＤ０〜Ｄ１５から、白丸で示されている座標（Ｘ’，Ｙ’）の点の画像データＤｏｕｔ  を所定の補間式を用いて求めることにより、それが歪補正処理後の画像の着目点（Ｘ，Ｙ）における画像データとなる。
【００４９】
上記着目点（Ｘ，Ｙ）を移動させながら、必要な範囲の全ての画像データを算出することにより、歪補正後の画像データが生成される。
【００５０】
図３は、１つのチャンネルに係る歪補正処理部の構成を示すブロック図である。
【００５１】
このような処理を行うための１つのチャンネルに係る歪補正処理部７は、図３に示すように、着目点の座標（Ｘ，Ｙ）を生成するための補間位置生成部２１と、この補間位置生成部２１により生成された着目点の座標（Ｘ，Ｙ）から歪補正処理前の画像データの座標（Ｘ’，Ｙ’）を算出するための歪補正座標変換部２２と、歪補正処理を行わない場合には上記補間位置生成部２１から出力される座標（Ｘ，Ｙ）を選択し歪補正処理を行う場合には上記歪補正座標変換部２２から出力される座標（Ｘ’，Ｙ’）を選択するセレクタ２３と、前段の処理ブロックからの画像データの読み出しを制御するとともに上記セレクタ２３から出力される座標に対応して補間処理を行うのに必要な周辺画素の画像データを送出するように後述する内部メモリ部２５を制御するメモリ制御部２４と、前段の処理ブロックからの画像データを蓄積するものであり上記メモリ制御部２４の制御により補間に必要な周辺画素の画像データを後述する補間演算部２６へ出力する内部メモリ部２５と、この内部メモリ部２５から出力される着目点近傍の画像データと上記セレクタ２３から出力される着目点の座標とに基づき該着目点における画像データを上述したように例えばＣｕｂｉｃ補間により求めて後段の処理ブロックへ出力する補間演算部２６と、を有して構成されている。
【００５２】
これらの構成ブロックの内の上記補間位置生成部２１と、歪補正座標変換部２２と、セレクタ２３とは、補間座標生成部２０を構成する要素となっている。
【００５３】
ここで、上記補間位置生成部２１と歪補正座標変換部２２とにおいて、座標を算出する際の基本的な数式と、それを変形することにより回路規模を縮小することができるようにした実用的な数式と、について説明する。
【００５４】
まず、基本的な数式について説明する。
【００５５】
上記補間位置生成部２１は、基本的に、上記ＣＰＵ３から上記制御レジスタ７ａに設定される補間開始位置（ＸＳＴ，ＹＳＴ）および補間ステップ（ΔＸ，ΔＹ）を用いて、次の数式１に示すように、補間を行う着目点の座標（Ｘ，Ｙ）を算出するものである。
【数１】
2005011269.tif 000003
ここに、ｋは着目点をＸ方向にΔＸだけ移動させる際にインクリメントされる変数、ｌは着目点をＹ方向にΔＹだけ移動させる際にインクリメントされる変数である。
【００５６】
なお、上記補間開始位置（ＸＳＴ，ＹＳＴ）は、画像内の任意の位置に設定することが可能である。また、上記補間ステップ（ΔＸ，ΔＹ）は、上記ＣＰＵ３が適宜に設定することにより、画像の拡大や縮小を行うことが可能である。
【００５７】
上記歪補正座標変換部２２は、基本的に、上記補間位置生成部２１から出力される歪補正処理後の着目点の座標（Ｘ，Ｙ）から、歪補正処理前の着目点の座標（Ｘ’，Ｙ’）を次のように算出するものである。
【００５８】
すなわち、まず、処理対象の画像における歪中心位置の座標（Ｘｄ  ，Ｙｄ  ）と、歪補正処理後に該歪補正に起因して被写体の位置が撮影時とずれてしまうのを補正するための中心ずれ補正量（Ｘｏｆｆ  ，Ｙｏｆｆ  ）と、光学系の光学的な性質を示すパラメータを用いて歪補正処理を行った場合に補正後の画像が画像データとして必要な範囲からはみ出したり不足したりするのを補正するための範囲補正倍率Ｍと、を用いて、次の数式２に示すような中間的な算出値（Ｘ（ドット），Ｙ（ドット））（ここに、文字の上に付す点を文章中では（ドット）などとして表している。）を求める。
【数２】
2005011269.tif 000004
【００５９】
なお、上記歪中心位置の座標（Ｘｄ  ，Ｙｄ  ）は、上記ＣＣＤ１に被写体光像を結像する光学系の光軸が交わる画像上の位置に相当する座標である。
【００６０】
また、上記歪中心位置の座標（Ｘｄ  ，Ｙｄ  ）、中心ずれ補正量（Ｘｏｆｆ  ，Ｙｏｆｆ  ）、範囲補正倍率Ｍは、上記ＣＰＵ３により、上記制御レジスタ７ａに設定されるようになっている。
【００６１】
次に、求めた算出値（Ｘ（ドット），Ｙ（ドット））と、上記歪中心位置の座標（Ｘｄ  ，Ｙｄ  ）と、画像データを間引いて取り込んだ場合などに画像の縦方向と横方向とで空間的なサンプリングが異なるのを補正するための係数（ＳＸ  ，ＳＹ  ）と、を用いて、歪中心からの距離を示すＺ（より正確にはＺの２乗）を次の数式３に示すように計算する。
【数３】
2005011269.tif 000005
【００６２】
こうして算出されたＺと、上記ＣＰＵ３から上記制御レジスタ７ａに設定される光学系の歪曲収差に関する光学的性質を示すパラメータである歪補正係数Ａ，Ｂ，Ｃと、上記算出値（Ｘ（ドット），Ｙ（ドット））と、上記歪中心位置の座標（Ｘｄ  ，Ｙｄ  ）と、を用いて、歪補正処理後の着目点の座標（Ｘ，Ｙ）に対応する歪補正処理前の着目点の座標（Ｘ’，Ｙ’）を、次の数式４に示すように算出する。
【数４】
2005011269.tif 000006
【００６３】
ここで図４は、格子状の被写体を光学系を介して撮像したときの歪曲収差の例を示す図である。まず、図４（Ａ）は、格子状の被写体の例を示している。従来は、Ｚの２次項までしか考慮していないために、図４（Ａ）に示すような被写体を光学系を介して撮像したときに生じ得る、図４（Ｂ）に示すような樽型の歪曲収差や、図４（Ｃ）に示すような糸巻き型の歪曲収差をある程度補正することは可能であったが、図４（Ｄ）に示すような陣笠型の歪曲収差を補正することはできなかった。しかし、本実施形態では、この数式４に示すように、Ｚの２次項を越える次数まで、つまり例えば４次項、または６次項まで考慮するようにしているために、このようなより高次の収差も高精度に補正することが可能となっている。なお、ここでは６次項まで考慮する例を示したが、８次項、１０次項等の、より一層高次の収差も補正するようにしても構わない。
【００６４】
上述したような補間位置生成部２１により算出された座標（Ｘ，Ｙ）、または歪補正座標変換部２２により算出された座標（Ｘ’，Ｙ’）は、セレクタ２３に入力されて、歪補正を行うか否かに応じて、必要なものが選択される。
【００６５】
次に、回路規模を縮小することができるようにした実用的な数式について説明する。
【００６６】
まず、上記数式３に数式２および数式１を代入して、次の数式５に示すように変形する。
【数５】
2005011269.tif 000007
【００６７】
そして、数式６に示すような新たな定数式を導入して、上記数式５を数式７に示すように変形する。
【数６】
2005011269.tif 000008
【数７】
2005011269.tif 000009
【００６８】
ここに、数式７におけるＺ（２ドット）は、次の数式８に示すように定義され、Ｘ２，Ｙ２（補間座標データ）は次の数式９に示すように定義される。
【数８】
2005011269.tif 000010
【数９】
2005011269.tif 000011
【００６９】
この数式８および数式７に示すように定義されたＺ（２ドット）を用いると、上記数式４は次の数式１０に示すように変形される。
【数１０】
2005011269.tif 000012
【００７０】
ここに、この数式１０においては、次の数式１１から数式１４に示すように定義された定数式または変数式を用いている。
【数１１】
2005011269.tif 000013
【数１２】
2005011269.tif 000014
【数１３】
2005011269.tif 000015
【数１４】
2005011269.tif 000016
【００７１】
上記数式１〜数式４に示したような基本的な数式に沿って演算を行う場合には、係数が１４個で乗算回数が１３回となる。すなわち、係数は、歪中心位置（Ｘｄ  ，Ｙｄ  ）、中心ずれ補正量（Ｘｏｆｆ  ，Ｙｏｆｆ  ）、範囲補正倍率Ｍ、係数（Ｓｘ，Ｓｙ）、歪補正係数Ａ，Ｂ，Ｃ、補間開始位置（ＸＳＴ，ＹＳＴ）、補間ステップ（ΔＸ，ΔＹ）の合計１４個である。また、乗算回数は、数式２におけるＭとの乗算が２回、数式３におけるＳｘ，Ｓｙとの各乗算と２つの２乗式とで乗算が４回、数式４における歪補正係数Ａ，Ｂ，Ｃとの乗算が３回、Ｚの４乗および６乗の算出に乗算が２回、大括弧と小括弧との乗算が２回、で合計１３回となる。
【００７２】
これに対して、上記数式５〜数式１４に示したような実用的な数式に沿って演算を行う場合には、係数が１３個で乗算回数が９回となる。すなわち、係数は、Ｘ（２ドット）ＳＴ，Ｙ（２ドット）ＳＴ，ΔＸ（２ドット），ΔＹ（２ドット），Ｘ（３ドット），Ｙ（３ドット），ΔＸ（３ドット），ΔＹ（３ドット），Ａ（ドット），Ｂ（ドット），Ｃ（ドット），Ｘｄ  ，Ｙｄ  の合計１３個である。また、乗算回数は、数式７の中括弧内における２つの２乗式で２回、数式１４におけるＡ（ドット），Ｂ（ドット），Ｃ（ドット）との乗算が３回、該数式１４におけるＺ（ドット）の４乗および６乗の算出に乗算が２回、数式１０におけるＦとの乗算が２回、で合計９回となる。
【００７３】
このような演算で扱う数は、ダイナミックレンジが大きく、計算回数が少し増えるだけでも回路規模が大きくなってしまうために、上記に示したような実用的な数式に沿って演算を行うことにより、乗算器の個数を減少させるとともに、係数を設定するためのレジスタを削減することができ、回路規模を効果的に縮小することが可能となる。
【００７４】
このように変形された実用的な数式に基づいて、上記補間位置生成部２１に対応する補間位置算出回路２１ａ（後述する図１４参照）は、上記ＣＰＵ３から上記制御レジスタ７ａに設定される補間開始位置（Ｘ（３ドット），Ｙ（３ドット））および補間ステップ（ΔＸ（３ドット），ΔＹ（３ドット））を用いて、上記数式１３に示すように、補間を行う着目点の座標（補間位置）（Ｘ１，Ｙ１）を算出するようになっている。
【００７５】
また、上記歪補正座標変換部２２の歪補正係数算出手段たる歪補正係数算出回路２２ａ（後述する図１１参照）は、上記ＣＰＵ３から上記制御レジスタ７ａに設定されるＡ（ドット），Ｂ（ドット），Ｃ（ドット）を用いて、上記数式１４に示すように歪補正係数Ｆを算出するようになっている。なお、後述するように、該図１１に示す構成に代えて、図１３に示すような構成により、歪補正係数Ｆを算出することも可能となっている。
【００７６】
さらに、上記歪補正座標変換部２２の補間位置補正回路２２ｂ（後述する図１４参照）は、算出された歪補正係数Ｆと、上記ＣＰＵ３から上記制御レジスタ７ａに設定される歪中心位置の座標（Ｘｄ  ，Ｙｄ  ）と、を用いて上記着目点の座標（補間位置）（Ｘ１，Ｙ１）から上記数式１０により歪補正処理前の着目点の座標（補間座標データ）（Ｘ’，Ｙ’）を算出するようになっている。
【００７７】
次に、上記補間演算部２６は、上記セレクタ２３から出力される座標に基づき、該座標の近傍の画素の画像データＤ０  〜Ｄ１５を上記内部メモリ部２５から読み出して、次のような数式１５を用いることにより、該着目点に係る歪補正処理後の画像データＤｏｕｔ  を算出して、後段の処理ブロックへ出力する。
【数１５】
2005011269.tif 000017
ここに、ｋｘ０〜ｋｘ３，ｋｙ０〜ｋｙ３は、例えばＣｕｂｉｃ補間を行う際に定められた所定の補間係数である。
【００７８】
図７は、光学系により画像を撮影したときに発生する色収差の一例を示す図である。
【００７９】
この図７に示す例においては、糸巻き型の歪曲収差が発生するとともに、赤Ｒが歪中心から見て緑Ｇの内側に、青Ｂが歪中心から見て緑Ｇの外側に、それぞれずれるような色収差が発生している。そして、この色収差によるずれは、歪中心からの距離が遠いほど大きくなっている。
【００８０】
このように、色収差は各色毎に異なるために、補間処理も上記図２に示したように、各色毎に行っている。図１０は、上記歪補正処理部７のより詳細な構成を示すブロック図である。
【００８１】
上記歪補正処理部７ＡはＣｈ．０用歪補正回路７Ａ１を、上記歪補正処理部７ＢはＣｈ．１用歪補正回路７Ｂ１を、上記歪補正処理部７ＣはＣｈ．２用歪補正回路７Ｃ１を、それぞれ歪補正演算手段として有して構成されている。
【００８２】
また、歪補正係数Ｆを算出するための歪補正係数算出回路２２ａは、上記歪補正座標変換部２２の一部を構成するものであり、歪補正処理部７Ａ，７Ｂ，７Ｃにおいて共通化することができるために、３つのチャンネルに共通な単一の回路として設けられていて、Ｃｈ．０用の歪補正係数Ｆ０、Ｃｈ．１用の歪補正係数Ｆ１、Ｃｈ．２用の歪補正係数Ｆ２を算出して、上記Ｃｈ．０用歪補正回路７Ａ１、Ｃｈ．１用歪補正回路７Ｂ１、Ｃｈ．２用歪補正回路７Ｃ１へそれぞれ出力するようになっている。
【００８３】
また、歪補正処理や拡大縮小処理に係る補間処理を行った後に、後段の処理ブロックに対して画像データを出力する際には、該後段の処理ブロックの処理内容によっては、３つのチャンネルの画像データが同時に必要となる場合がある。ところが、上記図７に示したように、色収差がある場合には注目画素の位置が色によって異なるために、３つのデータが同時に揃って出力されるとは限らない。
【００８４】
これを図８および図９を参照して説明する。図８はＢに係る補間データを算出可能となった時点での内部メモリ部に蓄積された画像データの様子を示す図、図９はＲ，Ｇ，Ｂのそれぞれに係る補間データを算出可能となった時点での内部メモリ部に蓄積された画像データの様子を示す図である。
【００８５】
３つのチャンネルで補間データの算出処理を同時に開始した場合には、前段の処理ブロックからの画像データが、各チャンネルの内部メモリ部２５（後述する図６に示す２ポートＳＲＡＭ２５ａ）に順次記憶され始める。このときに、既にデータとして記憶されている部分が、斜線で示している部分である。図８に示す時点では、青Ｂに関する補間データの算出が可能なところまで画像データの蓄積が行われているが、緑Ｇおよび赤Ｒに関する補間データの算出を行うことができる量にはまだ至っていない。
【００８６】
また、図９に示す時点では、赤Ｒ、緑Ｇ、青Ｂに関する補間データの算出を行うことが可能なところまで画像データの蓄積が行われている。
【００８７】
このように、３つのチャンネルの補間データを算出可能になった時点で、後段の処理ブロックへの画像データの転送を許可するように同期させるのが、グラント同期手段たるグラント同期回路２７である。
【００８８】
Ｃｈ．０がＲ、Ｃｈ．１がＧ、Ｃｈ．２がＢである場合を例にとると、上記図８に示すような状態になったところで上記Ｃｈ．０用歪補正回路７Ａ１が歪補正処理の開始を要求する要求信号ｔｒｏｋ＿０を出力し、図示はしないがＣｈ．１用歪補正回路７Ｂ１が歪補正処理可能となった時点で歪補正処理の開始を要求する要求信号ｔｒｏｋ＿１を出力し、上記図９に示すような状態になったところでＣｈ．２用歪補正回路７Ｃ１が歪補正処理の開始を要求する要求信号ｔｒｏｋ＿２を出力するようになっている。
【００８９】
グラント同期回路２７は、これらの要求信号ｔｒｏｋ＿０，ｔｒｏｋ＿１，ｔｒｏｋ＿２が全て揃った後に、すなわち、３つのチャンネルの全てで補間データを送信することが可能になったところで、後段の処理ブロックの、Ｃｈ．０に係る処理を行う部分に対して許可信号ＧＲＡＮＴ＿Ｎ０を、Ｃｈ．１に係る処理を行う部分に対して許可信号ＧＲＡＮＴ＿Ｎ１を、Ｃｈ．２に係る処理を行う部分に対して許可信号ＧＲＡＮＴ＿Ｎ２を、それぞれ出力するとともに、上記Ｃｈ．０用歪補正回路７Ａ１、Ｃｈ．１用歪補正回路７Ｂ１、Ｃｈ．２用歪補正回路７Ｃ１に対して後述するように歪補正処理を同時に開始させるよう制御するようになっている。
【００９０】
なお、該グラント同期回路２７は、後述するように、内部にスイッチを有しており、３つのチャンネルの出力を同期させるか否かを切り換えることができるようになっている。
【００９１】
図１１は、上記歪補正係数算出回路２２ａの構成を示すブロック図である。
【００９２】
この歪補正係数算出回路２２ａは、上記数式１４によって、歪補正係数Ｆを算出するためのものであり、該数式１４における光学系の光学的性質を反映するＡ（ドット），Ｂ（ドット），Ｃ（ドット）は、各チャンネル毎に、つまり例えばＲＧＢの各色成分毎に、上記ＣＰＵ３から制御レジスタ７ａに設定されるようになっている。
【００９３】
なお、この図１１および後述する図１２，図１３において、そして以下に示す図１１から図１３までの説明においては、Ｚは数式８の左辺に示すＺ（２ドット）のことを指し、係数Ａ，Ｂ，Ｃは数式１１の左辺に示すＡ（ドット），Ｂ（ドット），Ｃ（ドット）のことを指している。
【００９４】
歪補正係数算出回路２２ａは、上記グラント同期回路２７から許可信号ｅ＿ｇｒａｎｔが入力されたところで上記数式９に基づき補間座標Ｘ２，Ｙ２を算出する歪補正用座標算出回路３１と、この歪補正用座標算出回路３１により算出された補間座標Ｘ２を浮動小数に変換する浮動小数化回路３２ａと、上記歪補正用座標算出回路３１により算出された補間座標Ｙ２を浮動小数に変換する浮動小数化回路３２ｂと、上記浮動小数化回路３２ａにより浮動小数化された補間座標Ｘ２を２乗する２乗計算器３３ａと、上記浮動小数化回路３２ｂにより浮動小数化された補間座標Ｙ２を２乗する２乗計算器３３ｂと、上記２乗計算器３３ａにより算出された補間座標Ｘ２の２乗と上記２乗計算器３３ｂにより算出された補間座標Ｙ２の２乗とを加算することによりＺ（より正確には、上述したようにＺ（２ドット）。以下同様）の２乗を算出する加算器３４と、この加算器３４からの出力を２乗することによりＺの４乗を算出する２乗計算器３３ｃと、上記加算器３４からの出力を遅延させる遅延回路３５ｂと、上記２乗計算器３３ｃにより算出されたＺの４乗とこの遅延回路３５ｂにより遅延されタイミングを合わせて出力されるＺの２乗とを乗算することによりＺの６乗を算出する乗算器３６と、上記加算器３４からの出力を遅延させるとともに上記２乗計算器３３ｃからの出力を遅延させる遅延回路３５ａと、この遅延回路３５ａからタイミングを合わせて出力されるＺの２乗およびＺの４乗と上記乗算器３６から出力されるＺの６乗とを用いてＣｈ．０用，Ｃｈ．１用，Ｃｈ．２用の歪補正係数Ｆ０，Ｆ１，Ｆ２をそれぞれ算出する距離依存係数算出回路３７ａ，３７ｂ，３７ｃと、を有して構成されている。
【００９５】
図１２は上記距離依存係数算出回路３７ａ，３７ｂ，３７ｃの任意の１つである距離依存係数算出回路３７の構成を示すブロック図である。
【００９６】
この距離依存係数算出回路３７は、上記遅延回路３５ａから遅延されタイミングを合わせて出力されるＺの２乗に上記ＣＰＵ３から制御レジスタ７ａに設定される係数Ａ（より正確には、上述したようにＡ（ドット）。以下同様）を乗算する乗算器４１ａと、上記遅延回路３５ａから遅延されタイミングを合わせて出力されるＺの４乗に上記ＣＰＵ３から制御レジスタ７ａに設定される係数Ｂ（より正確には、上述したようにＢ（ドット）。以下同様）を乗算する乗算器４１ｂと、上記乗算器３６から出力されるＺの６乗に上記ＣＰＵ３から制御レジスタ７ａに設定される係数Ｃ（より正確には、上述したようにＣ（ドット）。以下同様）を乗算する乗算器４１ｃと、上記乗算器４１ａからの出力に上記ＣＰＵ３から制御レジスタ７ａに設定される上記係数Ａの符号ｓｉｇｎＡを与えて固定小数に変換する固定小数化回路４２ａと、上記乗算器４１ｂからの出力に上記ＣＰＵ３から制御レジスタ７ａに設定される上記係数Ｂの符号ｓｉｇｎＢを与えて固定小数に変換する固定小数化回路４２ｂと、上記乗算器４１ｃからの出力に上記ＣＰＵ３から制御レジスタ７ａに設定される上記係数Ｃの符号ｓｉｇｎＣを与えて固定小数に変換する固定小数化回路４２ｃと、上記固定小数化回路４２ａからの出力と上記固定小数化回路４２ｂからの出力と上記固定小数化回路４２ｃからの出力と上記ＣＰＵ３から制御レジスタ７ａに設定される定数１．０とを加算することにより上記数式１４に基づく歪補正係数Ｆ（すなわち、歪補正係数Ｆ０，Ｆ１，Ｆ２の何れか）を算出する加算器４３と、を有して構成されている。
【００９７】
なお、図１１および図１２において、２重線で示している部分が、浮動小数による演算処理を行っている部分であり、ダイナミックレンジの広いＸ２，Ｙ２やＺなどを浮動小数で扱うことにより、精度を保ちながら回路規模を縮小するようになっている。
【００９８】
このとき、上記図１１に示したように、歪補正係数算出回路２２ａの一部、すなわち、歪補正用座標算出回路３１、浮動小数化回路３２ａ，３２ｂ、２乗計算器３３ａ，３３ｂ，３３ｃ、加算器３４、遅延回路３５ａ，３５ｂ、乗算器３６は、チャンネルによらない共通した部分として構成されている。これにより、さらに回路規模の縮小を図って、消費電力を低減することができるようになっている。
【００９９】
また、図１３は、上記歪補正係数算出回路２２ａの構成の他の例を示すブロック図である。
【０１００】
この図１３に示す歪補正係数算出回路２２ａは、上記歪補正用座標算出回路３１と、上記浮動小数化回路３２ａと、上記浮動小数化回路３２ｂと、上記２乗計算器３３ａと、上記２乗計算器３３ｂと、上記加算器３４と、この加算器３４から出力される浮動小数化されたＺ（より正確には、上述したようにＺ（２ドット）。以下同様）の２乗を用いて参照を行うことにより固定小数化された歪補正係数Ｆ０，Ｆ１，Ｆ２をそれぞれ出力するＬＵＴ（ルックアップテーブル）３９ａ，３９ｂ，３９ｃと、を有して構成されている。
【０１０１】
この図１３においても、２重線で示している部分が、浮動小数による演算処理を行っている部分である。
【０１０２】
このように、この図１３に示す構成例は、ルックアップテーブルを用いることにより、歪補正係数Ｆ０，Ｆ１，Ｆ２を算出するための処理時間を短縮し回路の消費電力を低減するものとなっている。
【０１０３】
なお、この構成例を適用する場合には、チャンネル毎の上記係数Ａ，Ｂ，ＣはＣＰＵ３から設定されるものではなく、固定値となっている。もちろん、ルックアップテーブルの規模が大きくなっても構わない場合には、上記係数Ａ，Ｂ，Ｃの複数の組み合わせに対応するルックアップテーブルをチャンネル毎に用意しておいて、適切なものを用いるようにしても構わない。
【０１０４】
次に、図１４は、上記Ｃｈ．０用歪補正回路７Ａ１の構成を示すブロック図である。Ｃｈ．１用歪補正回路７Ｂ１、Ｃｈ．２用歪補正回路７Ｃ１の構成も、このＣｈ．０用歪補正回路７Ａ１の構成と同様であるために、ここではＣｈ．０用歪補正回路７Ａ１についてのみ説明する。
【０１０５】
補間位置算出回路２１ａは、上記着目点の座標（Ｘ１，Ｙ１）を上述したように算出するためのものであり、上記補間位置生成部２１に対応する回路部分である。
【０１０６】
補間位置補正回路２２ｂは、上記歪補正係数算出回路２２ａにより算出された歪補正係数Ｆ０を用いて上記数式１０に示したように歪補正処理前の着目点の座標（Ｘ’，Ｙ’）を算出するためのものであり、上記歪補正座標変換部２２の一部となっている。
【０１０７】
上記セレクタ２３は、歪補正処理を行わない場合には（拡大縮小処理を行うか否かに関わらず）上記補間位置算出回路２１ａからの座標（Ｘ１，Ｙ１）を選択し、歪補正処理を行う場合には（拡大縮小処理を伴うか否かに関わらず）上記補間位置補正回路２２ｂからの座標（Ｘ’，Ｙ’）を選択するものである。
【０１０８】
このセレクタ２３により選択された座標（Ｘ１，Ｙ１）または座標（Ｘ’，Ｙ’）には、制御レジスタ７ａを介して上記ＣＰＵ３により設定される歪中心位置の座標（Ｘｄ  ，Ｙｄ  ）が、加算器２７ａ，２７ｂによりそれぞれ加算されるようになっている。
【０１０９】
これら加算器２７ａ，２７ｂの出力は、読出しアドレス生成回路２４ａとバッファ開放量算出回路２４ｃとへ出力されるようになっている。
【０１１０】
この読出しアドレス生成回路２４ａには、さらに、上記補間位置算出回路２１ａにより算出された座標（Ｘ１，Ｙ１）も上記セレクタ２３を介する経路とは別途に入力されるようになっている。そして、該読出しアドレス生成回路２４ａは、この座標（Ｘ１，Ｙ１）に関連する画素データ（１６点補間を行う場合には、該座標（Ｘ１，Ｙ１）を中心とする１６個の画素データ）が記憶されているアドレスＡＤＲを２ポートＳＲＡＭ２５ａに出力するとともに、補間係数（例えば、上記数式１５に示したような補間係数ｋｘ０〜ｋｘ３，ｋｙ０〜ｋｙ３）と出力する画素データがＤ０  〜Ｄ１５のどの位置の画素データであるかを示すデータ列制御信号とを補間回路２６ａに出力するようになっている。さらに、該読出しアドレス生成回路２４ａは、書き込み許可信号ＷＥ＿Ｎ０を後段のＣｈ．０に対応する処理ブロックへ出力する。
【０１１１】
上記２ポートＳＲＡＭ２５ａは、上記図３に示した内部メモリ部２５に対応する回路部分である。
【０１１２】
補間回路２６ａは、上記図３に示した補間演算部２６に対応するものであり、上記２ポートＳＲＡＭ２５ａから読み出された画像データを用いて上記数式１５に示したような補間処理を行い、処理後の画像データを後段の処理ブロックに出力するものである。
【０１１３】
上記バッファ開放量算出回路２４ｃは、上記補間位置算出回路２１ａからの出力と、上記加算器２７ａ，２７ｂを介した上記セレクタ２３からの出力と、に基づいて、上記２ポートＳＲＡＭ２５ａにおいて開放可能な記憶容量（バッファ開放量）を算出するものである。
【０１１４】
バッファ空き容量監視回路２４ｄは、このバッファ開放量算出回路２４ｃの出力を参照して、上記２ポートＳＲＡＭ２５ａの空き容量の状況を把握するものである。
【０１１５】
書込みアドレス生成回路２４ｂは、前段の処理ブロックからのＣｈ．０に係る画像データを受けて、上記２ポートＳＲＡＭ２５ａに記録するものである。
【０１１６】
データ送信可否判定回路２４ｅは、Ｃｈ．０に係る後段の処理ブロックからの画像データを要求する要求信号ＲＥＱ＿Ｎ０を受けて、上記書込みアドレス生成回路２４ｂとバッファ開放量算出回路２４ｃとの出力に基づき画像データの送信が可能であるか否かを判断し、可能である場合に要求信号ｔｒｏｋ＿０を上記グラント同期回路２７へ出力するものである。
【０１１７】
次に、この図１４に示したような歪補正処理部７の動作について説明する。
【０１１８】
バッファ空き容量監視回路２４ｄは、バッファ開放量算出回路２４ｃを介して２ポートＳＲＡＭ２５ａの空き容量を監視し、所定の空き容量があると、Ｃｈ．０に係る前段の処理ブロックに対して所定のブロック単位の画像データ（以下、適宜、ユニットライン（ＵＬ）データという。）を送信するように要求信号ＲＥＱ＿０を出す（ステップＳ１）。
【０１１９】
Ｃｈ．０に係る前段の処理ブロックは、この要求信号ＲＥＱ＿０を受けて、画像データが送信可能になったところで許可信号ＧＲＡＮＴ＿０を送信し、上記バッファ空き容量監視回路２４ｄは、この許可信号ＧＲＡＮＴ＿０を受信する（ステップＳ２）。
【０１２０】
該バッファ空き容量監視回路２４ｄは、２ポートＳＲＡＭ２５ａの空き容量を、内部に保持するカウンタで把握するようになっており、許可信号ＧＲＡＮＴを受信すると同時に、この内部カウンタの値を１つ減らす。該バッファ空き容量監視回路２４ｄは、この内部カウンタが０になったら、上記要求信号ＲＥＱ＿０を取り下げるように動作する（ステップＳ３）。
【０１２１】
そして、Ｃｈ．０に係る前段の処理ブロックから、書き込み許可信号ＷＥ＿０が書込みアドレス生成回路２４ｂに入力され、続いて画像データが入力される。これに応じて、書込みアドレス生成回路２４ｂは、制御信号を２ポートＳＲＡＭ２５ａへ出力して、画像データＤＡＴＡを該２ポートＳＲＡＭ２５ａの、アドレスＡＤＤＲＥＳＳで指定される領域に書き込む。また、書込みアドレス生成回路２４ｂは、１ＵＬデータが入力される毎に、ＢＬＣカウンタ（内部バッファである２ポートＳＲＡＭ２５ａにどれだけのデータが溜められたかを示すカウンタ）をアップして、データ送信可否判定回路２４ｅへ出力する（ステップＳ４）。
【０１２２】
データ送信可否判定回路２４ｅは、Ｃｈ．０に係る後段の処理ブロックから要求信号ＲＥＱ＿Ｎ０を受信すると、次に送信することができるＵＬデータが２ポートＳＲＡＭ２５ａ内にあるか否かを判定し、あると判定した場合には、要求信号ｔｒｏｋ＿０を上記グラント同期回路２７へ送信する（ステップＳ５）。
【０１２３】
グラント同期回路２７は、後述するように、画像データの送信条件が整ったところで各チャンネルに係る後段の処理ブロックおよび各チャンネルに係る補間位置算出回路２１ａに対して許可信号ＧＲＡＮＴ＿Ｎ０，ＧＲＡＮＴ＿Ｎ１，ＧＲＡＮＴ＿Ｎ２を出力する。
【０１２４】
Ｃｈ．０に係る補間位置算出回路２１ａは、この許可信号ＧＲＡＮＴ＿Ｎ０を受けて動作を開始し、補間位置である座標（Ｘ１，Ｙ１）の算出動作を１ＵＬ分行ったところで、次のＵＬ先頭座標を算出して終了する（ステップＳ６）。
【０１２５】
上記グラント同期回路２７は、補間位置算出回路２１ａが動作を開始して座標（Ｘ１，Ｙ１）を出力するのと同期して歪補正係数算出回路２２ａが歪補正係数Ｆ０を出力することができるようなタイミングで、許可信号ｅ＿ｇｒａｎｔを該歪補正係数算出回路２２ａへ出力する（ステップＳ７）。
【０１２６】
歪補正係数算出回路２２ａは、許可信号ｅ＿ｇｒａｎｔを受けると、各チャンネルに係る歪補正係数Ｆ０，Ｆ１，Ｆ２を上記数式１４に基づき算出し、各チャンネルの補間位置補正回路２２ｂへ出力する。この歪補正係数算出回路２２ａも、上記補間位置算出回路２１ａと同様に、１ＵＬ分の動作を行ったところで、次のＵＬ先頭座標を算出して終了する（ステップＳ８）。
【０１２７】
Ｃｈ．０に係る補間位置補正回路２２ｂは、この歪補正係数算出回路２２ａから受け取った歪補正係数Ｆ０と、上記補間位置算出回路２１ａから受け取った座標（Ｘ１，Ｙ１）と、を用いて、上記数式１０に基づき座標（Ｘ’，Ｙ’）を算出する。この補間位置補正回路２２ｂも、上記歪補正係数算出回路２２ａに従って、１ＵＬ分の動作を行ったところで、次のＵＬ先頭座標を算出して終了する（ステップＳ９）。
【０１２８】
セレクタ２３は、上記制御レジスタ７ａを介して上記ＣＰＵ３により設定された動作モードに従って、歪補正処理を行う場合には上記補間位置補正回路２２ｂからの座標（Ｘ’，Ｙ’）を選択し、歪補正処理を行わない場合には上記補間位置算出回路２１ａからの座標（Ｘ１，Ｙ１）を選択する（ステップＳ１０）。
【０１２９】
加算器２７ａ，２７ｂは、このセレクタ２３により選択された座標（Ｘ１，Ｙ１）または座標（Ｘ’，Ｙ’）に、歪中心位置の座標（Ｘｄ  ，Ｙｄ  ）をそれぞれ加算する（ステップＳ１１）。
【０１３０】
読み出しアドレス生成回路２４ａは、加算器２７ａ，２７ｂから受け取った座標に基づいて、補間に用いるために２ポートＳＲＡＭ２５ａから読み出す画素データのアドレスＡＤＲを該２ポートＳＲＡＭ２５ａに出力するとともに、補間係数とデータ列制御信号とを補間回路２６ａに出力する（ステップＳ１２）。
【０１３１】
補間回路２６ａは、読み出しアドレス生成回路２４ａから受け取った補間係数およびデータ列制御信号と、２ポートＳＲＡＭ２５ａから受け取った画素データと、を用いて、上記数式１５に示すように、補間された画素データを算出し、Ｃｈ．０に係る後段の処理ブロックへ出力する（ステップＳ１３）。
【０１３２】
バッファ開放量算出回路２４ｃは、上記補間位置算出回路２１ａおよび加算器２７ａ，２７ｂの出力に基づいて、ＵＬデータを最後まで出力したことが確認されたら、今処理を終えたＵＬ先頭座標と、次のＵＬ先頭座標との差を計算して、必要なくなったデータが蓄積されているバッファ（２ポートＳＲＡＭ２５ａ内の領域）を開放するために、バッファ開放量をバッファ空き容量監視回路２４ｄへ出力するとともに、次のＵＬ処理を行うために後どれだけのデータをＣｈ．０に係る前段の処理ブロックから受けることが必要であるかを、上記データ送信可否判定回路２４ｅへ送信する（ステップＳ１４）。
【０１３３】
バッファ空き容量監視回路２４ｄは、上記ステップＳ１４において内部バッファである２ポートＳＲＡＭ２５ａに記憶領域の空きができたことが確認されたところで、上記ステップＳ１へ戻って、上述したような処理を繰り返して行う（ステップＳ１５）。
【０１３４】
データ送信可否判定回路２４ｅは、上記書込みアドレス生成回路２４ｂからのＢＬＣカウンタの値と、バッファ開放量算出回路２４ｃからの出力と、に基づいて、次のＵＬデータを後段の処理ブロックに送信することができるか否かを判定し、送信することができると判定した場合には、上記ステップＳ５の処理を行う（ステップＳ１６）。
【０１３５】
図１５はグラント同期回路２７の構成を示すブロック図、図１６はグラント同期回路２７の動作を説明するためのタイミングチャートである。
【０１３６】
まず、上記制御レジスタ７ａを参照することにより得られるＤＴ＿ＯＮは、歪補正を行うか否かを示すブール値を保持するものであり、０（偽）の場合にはローレベル、１（真）の場合にはハイレベルの信号として取得されるように構成されている。
【０１３７】
このグラント同期回路２７は、Ｃｈ．０用歪補正回路７Ａ１からの要求信号ｔｒｏｋ＿０とＣｈ．１用歪補正回路７Ｂ１からの要求信号ｔｒｏｋ＿１とＣｈ．２用歪補正回路７Ｃ１からの要求信号ｔｒｏｋ＿２との論理積をとるためのＡＮＤ回路５１と、上記要求信号ｔｒｏｋ＿０，ｔｒｏｋ＿１，ｔｒｏｋ＿２とＡＮＤ回路５１の出力との立ち上がりを検出するための微分回路５２と、ＤＴ＿ＯＮがローレベルである場合には要求信号ｔｒｏｋ＿０に係る微分回路５２の出力側に接続され該ＤＴ＿ＯＮがハイレベルである場合には上記ＡＮＤ回路５１に係る微分回路５２の出力側に接続されるように切り換えられるスイッチ５３ａと、ＤＴ＿ＯＮがローレベルである場合には要求信号ｔｒｏｋ＿１に係る微分回路５２の出力側に接続され該ＤＴ＿ＯＮがハイレベルである場合には上記ＡＮＤ回路５１に係る微分回路５２の出力側に接続されるように切り換えられるスイッチ５３ｂと、ＤＴ＿ＯＮがローレベルである場合には要求信号ｔｒｏｋ＿２に係る微分回路５２の出力側に接続され該ＤＴ＿ＯＮがハイレベルである場合には上記ＡＮＤ回路５１に係る微分回路５２の出力側に接続されるように切り換えられるスイッチ５３ｃと、上記ＡＮＤ回路５１に係る微分回路５２の出力とＤＴ＿ＯＮとの論理積をとって上記歪補正係数算出回路２２ａの歪補正用座標算出回路３１へ許可信号ｅ＿ｇｒａｎｔとして出力するＡＮＤ回路５４と、を有して構成されている。
【０１３８】
このようなグラント同期回路２７の動作は、次のようになっている。
【０１３９】
まず、ＤＴ＿ＯＮがローレベルであるとき、つまり歪補正を行わない場合には、上記スイッチ５３ａ，５３ｂ，５３ｃは、要求信号ｔｒｏｋ＿０，ｔｒｏｋ＿１，ｔｒｏｋ＿２に係る検出する微分回路５２の出力側にそれぞれ切り換えられている。
【０１４０】
このときに、図１６の左側に示すように、要求信号ｔｒｏｋ＿０にハイレベルの信号が入力されると、微分回路５２でその立ち上がりが検出されて、ＧＲＡＮＴ＿Ｎ０として出力される。次に、要求信号ｔｒｏｋ＿１にハイレベルの信号が入力されると、微分回路５２でその立ち上がりが検出されて、ＧＲＡＮＴ＿Ｎ１として出力され、さらにその後に、要求信号ｔｒｏｋ＿２にハイレベルの信号が入力されると、微分回路５２でその立ち上がりが検出されて、ＧＲＡＮＴ＿Ｎ２として出力される。このように、ＤＴ＿ＯＮがローレベルであるときには、３つのチャンネルからの画像データの出力は、各チャンネル毎にそれぞれのタイミングで行われる。
【０１４１】
また、ＤＴ＿ＯＮがローレベルとなっているときには、ＡＮＤ回路５１の出力如何に関わらず、ＡＮＤ回路５４の出力はローレベルのままとなり、許可信号ｅ＿ｇｒａｎｔは出力されない（あるいは不許可の出力となる）ために、上記歪補正係数算出回路２２ａは歪補正係数Ｆ０，Ｆ１，Ｆ２の算出を行わない。従って、各チャンネルに係る補間位置補正回路２２ｂも動作せず、結局、歪補間処理は行われないことになる。
【０１４２】
次に、ＤＴ＿ＯＮがハイレベルであるとき、つまり歪補正を行う場合には、上記スイッチ５３ａ，５３ｂ，５３ｃは、ＡＮＤ回路５１に係る微分回路５２の出力側に切り換えられている。
【０１４３】
このときに、図１６の右側に示すように、要求信号ｔｒｏｋ＿０にハイレベルの信号が入力されても、その時点では、要求信号ｔｒｏｋ＿１，ｔｒｏｋ＿２はローレベルのままであるために、該ＡＮＤ回路５１の出力はローレベルのまま維持される。
【０１４４】
その後、要求信号ｔｒｏｋ＿０がハイレベルであって、かつ要求信号ｔｒｏｋ＿１がハイレベルとなった時点でも、要求信号ｔｒｏｋ＿２がローレベルである間は、ＡＮＤ回路５１の出力はローレベルのままである。
【０１４５】
そして、要求信号ｔｒｏｋ＿０，ｔｒｏｋ＿１，ｔｒｏｋ＿２の全てがハイレベルとなった時点で、ＡＮＤ回路５１の出力がハイレベルとなり、微分回路５２でその立ち上がりが検出される。
【０１４６】
この微分回路５２の出力は、許可信号ＧＲＡＮＴ＿Ｎ０，ＧＲＡＮＴ＿Ｎ１，ＧＲＡＮＴ＿Ｎ２として同時に出力されるとともに、ＡＮＤ回路５４にも出力されて、ハイレベルとなっているＤＴ＿ＯＮと論理積がとられ、許可信号ｅ＿ｇｒａｎｔとして上記歪補正係数算出回路２２ａへ出力される。
【０１４７】
このようにして、ＤＴ＿ＯＮがハイレベルであるときには、３つのチャンネルからの画像データの出力は、同期したタイミングで行われる。
【０１４８】
このような実施形態によれば、歪補正と色収差補正とを行い得る回路規模が小さく低消費電力な画像処理装置となる。
【０１４９】
特に、歪補正係数算出回路の少なくとも一部を複数のチャンネルに対して共通化することにより、回路規模を効果的に小さくし、低消費電力化を図ることができる。このとき、ダイナミックレンジが広い数を浮動小数として扱って演算を行っているために、精度を保ちながら回路規模を縮小することが可能となる。そして、歪補正係数をルックアップテーブルを参照して求める場合には、処理時間を短縮しながら回路規模を縮小することが可能となる。
【０１５０】
また、グラント同期回路を設けて、各チャンネルからの画像データ出力を同時に行うことができるようにしたために、後段の処理ブロックにおいて複数チャンネルの画像データを同時に必要とする場合に良好に対応することができる。このとき、グラント同期回路は、スイッチングにより複数チャンネルの画像データがそれぞれのタイミングで出力されるように処理することも可能であるために、必要に応じた選択を行うことが可能となる。
【０１５１】
加えて、基本的な数式に基づく場合よりも乗算の回数が減るように変形した実用的な数式に基づいて、補間座標データを生成するようにしたために、補間位置生成部や歪補正座標変換部の内部に設ける乗算器の個数を削減することができ、回路規模の縮小を図ることができる。
【０１５２】
さらに、拡大縮小処理も、歪補正処理と同一の回路で同時に行うことが可能となる利点がある。
【０１５３】
なお、本発明は上述した実施形態に限定されるものではなく、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能であることは勿論である。
【０１５４】
【発明の効果】
以上説明したように本発明によれば、歪補正と色収差補正とを行い得る回路規模が小さく低消費電力な画像処理装置となる。
【図面の簡単な説明】
【図１】本発明の一実施形態における画像処理装置の構成を示すブロック図。
【図２】上記実施形態における歪補正処理部の構成の概要を示すブロック図。
【図３】上記実施形態において、１つのチャンネルに係る歪補正処理部の構成を示すブロック図。
【図４】上記実施形態において、格子状の被写体を光学系を介して撮像したときの歪曲収差の例を示す図。
【図５】上記実施形態において、歪補正を含む補間処理の概要を説明するための図。
【図６】上記実施形態において、１６点補間による処理を説明するための図。
【図７】上記実施形態において、光学系により画像を撮影したときに発生する色収差の一例を示す図。
【図８】上記実施形態において、Ｂに係る補間データを算出可能となった時点での内部メモリ部に蓄積された画像データの様子を示す図。
【図９】上記実施形態において、Ｒ，Ｇ，Ｂのそれぞれに係る補間データを算出可能となった時点での内部メモリ部に蓄積された画像データの様子を示す図。
【図１０】上記実施形態における歪補正処理部のより詳細な構成を示すブロック図。
【図１１】上記実施形態における歪補正係数算出回路の構成を示すブロック図。
【図１２】上記実施形態における距離依存係数算出回路の構成を示すブロック図。
【図１３】上記実施形態における歪補正係数算出回路の構成の他の例を示すブロック図。
【図１４】上記実施形態におけるＣｈ．０用歪補正回路の構成を示すブロック図。
【図１５】上記実施形態におけるグラント同期回路の構成を示すブロック図。
【図１６】上記実施形態におけるグラント同期回路の動作を説明するためのタイミングチャート。
【図１７】上記実施形態の画像処理装置における一般的な画像処理の手順を示す図。
【図１８】上記図１７に示したような一般的な画像処理を行うための従来の画像処理装置の構成を示すブロック図。
【図１９】従来において歪補正処理を行うために必要なメモリ量を説明するための図。
【符号の説明】
１…ＣＣＤ
２…プリプロセス部
３…ＣＰＵ
４…フレームメモリ
６…イメージプロセス部（画像処理部）
７，７Ａ，７Ｂ，７Ｃ…歪補正処理部（歪補正処理手段、画像処理部）
７ａ…制御レジスタ
７Ａ１…Ｃｈ．０用歪補正回路（歪補正演算手段、画像処理部）
７Ｂ１…Ｃｈ．１用歪補正回路（歪補正演算手段、画像処理部）
７Ｃ１…Ｃｈ．２用歪補正回路（歪補正演算手段、画像処理部）
９…ＪＰＥＧ処理部（画像処理部）
１０…メモリカード等
１１…バス
２０…補間座標生成部
２１…補間位置生成部（補間座標生成部の一部）
２１ａ…補間位置算出回路
２２…歪補正座標変換部（補間座標生成部の一部）
２２ａ…歪補正係数算出回路（歪補正係数算出手段）
２２ｂ…補間位置補正回路
２３…セレクタ（補間座標生成部の一部）
２４…メモリ制御部
２４ａ…読出しアドレス生成回路
２４ｂ…書込みアドレス生成回路
２４ｃ…バッファ開放量算出回路
２４ｄ…バッファ空き容量監視回路
２４ｅ…データ送信可否判定回路
２５…内部メモリ部
２５ａ…２ポートＳＲＡＭ（内部バッファ）
２６…補間演算部
２６ａ…補間回路
２７…グラント同期回路（グラント同期手段）
３１…歪補正用座標算出回路
３２ａ，３２ｂ…浮動小数化回路
３７，３７ａ，３７ｂ，３７ｃ…距離依存係数算出回路
４２ａ，４２ｂ，４２ｃ…固定小数化回路
３９ａ，３９ｂ，３９ｃ…ＬＵＴ（ルックアップテーブル）
【図１】
2005011269.tif 000018
【図２】
2005011269.tif 000019
【図３】
2005011269.tif 000020
【図４】
2005011269.tif 000021
【図５】
2005011269.tif 000022
【図６】
2005011269.tif 000023
【図７】
2005011269.tif 000024
【図８】
2005011269.tif 000025
【図９】
2005011269.tif 000026
【図１０】
2005011269.tif 000027
【図１１】
2005011269.tif 000028
【図１２】
2005011269.tif 000029
【図１３】
2005011269.tif 000030
【図１４】
2005011269.tif 000031
【図１５】
2005011269.tif 000032
【図１６】
2005011269.tif 000033
【図１７】
2005011269.tif 000034
【図１８】
2005011269.tif 000035
【図１９】
2005011269.tif 000036