(57)【要約】【課題】バスのデータ転送量やメモリ容量を増大させることなく歪補正処理を行うことができる画像処理装置を提供する。【解決手段】光学系による光像をＣＣＤ１で撮像して得られる画像データをバス１１を介して入力し記憶するフレームメモリ４と、このフレームメモリ４から画像データをブロック単位で行方向に読み出して入力し列方向に変換して出力する第１データ順序変換部５と、この第１データ順序変換部５とパイプライン処理可能に接続され画像処理を行うイメージプロセス部６と、このイメージプロセス部６とパイプライン処理可能に接続され歪補正処理を行う歪補正処理部７と、この歪補正処理部７とパイプライン処理可能に接続され列方向のブロックデータを行方向のブロックデータに戻して上記フレームメモリ４へ出力する第２データ順序変換部８と、を備えたデジタルカメラに適用された画像処理装置。【選択図】  図１
2004362069.tif 000002
【特許請求の範囲】
【請求項１】
光学系を介して撮像することにより得られた電子的な画像データであって、画素データが行方向および列方向に２次元的に配列された画像データ、を処理する画像処理装置において、
上記画像データを、少なくとも画像処理を行う前に格納するとともに、画像処理を行った後にも格納し得るメモリと、
上記画像データの上記２次元的な配列におけるブロックを単位として、上記メモリからバスを介して該ブロック内の画素データを行方向に読み出し、その後に、該ブロック内の画素データを列方向に出力する第１のデータ順序変換部と、
上記第１のデータ順序変換部と上記バスとは異なる情報伝達経路でパイプライン処理可能なように接続されていて、該第１のデータ順序変換部から列方向に出力される画像データを入力して画像処理した後に該列方向に出力する画像処理部と、
上記画像処理部とパイプライン処理可能なように接続されていて、該画像処理部から列方向に出力される画像データを、行方向の画像データに変換して出力する第２のデータ順序変換部と、
を具備したことを特徴とする画像処理装置。
【請求項２】
上記画像処理部は、上記光学系に起因する歪曲収差を補正するための歪補正処理部を有して構成されたものであることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
上記歪補正処理部は、
補間座標を生成する補間座標生成部と、
上記画像データの一部を記憶するための内部メモリ部と、
上記補間座標生成部により生成された補間座標に基づき上記内部メモリ部に記憶された画像データから該補間座標の画素データを生成する補間演算部と、
を有して構成されたものであることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
上記補間座標生成部は、
歪補正後の画像において補間の対象とする画素の座標を生成する補間位置生成部と、
この補間位置生成部により生成された座標に対応する、歪補正前の画像における座標を求める歪補正座標変換部と、
を有して構成されたものであることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
上記補間座標生成部は、さらに、上記補間位置生成部により生成された座標と、上記歪補正座標変換部により求められた座標と、の何れかを選択して上記補間演算部へ出力するセレクタを有して構成されたものであることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
上記歪補正座標変換部は、上記補間位置生成部により生成された座標に対応する、歪補正前の画像における座標を、歪中心から補間位置までの距離の整数乗を線形結合して得られる多項式を含む所定の補正式を用いて求めるものであることを特徴とする請求項４または請求項５に記載の画像処理装置。
【請求項７】
上記多項式は、上記距離の２次項を越える高次項を含んだものであることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
上記画像処理部は、上記歪補正処理部以外の他の画像処理部をさらに含んで構成されており、
上記歪補正座標変換部は、上記歪中心から補間位置までの距離に関する情報を、上記他の画像処理部へ出力するものであることを特徴とする請求項６または請求項７に記載の画像処理装置。
【請求項９】
上記他の画像処理部は、シェーディング補正部と、ローパスフィルタ処理部と、エッジ強調処理部と、の内の１つ以上を含むものであることを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
上記第１のデータ順序変換部は、上記メモリから読み出すブロック単位の画像データの行方向のサイズと列方向のサイズとの少なくとも一方を変更し得るものであることを特徴とする請求項１から請求項９の何れか１項に記載の画像処理装置。
【請求項１１】
上記画像処理を行う前の画像データは、光学系により結像された被写体光像を撮像手段により光電変換して出力される撮像データと、該撮像データに圧縮処理を除く所定の処理を必要に応じて施した非圧縮画像データと、上記撮像データに圧縮処理を除く所定の処理を必要に応じて施した後に圧縮処理した圧縮画像データと、の内の何れかであることを特徴とする請求項１から請求項１０の何れか１項に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置、より詳しくは、光学系を介して撮像された電子的な画像データを処理する画像処理装置に関する。
【０００２】
【従来の技術】
デジタルカメラ等の電子的撮像装置においては、光学系により結像された被写体像を、ＣＣＤ等の撮像素子により光電変換して撮像データを取得し、この撮像データに種々の画像処理を施した後に、ＪＰＥＧ等の圧縮方式で圧縮してメモリカード等の記録媒体に記録するのが一般的であり、該デジタルカメラ等の電子的撮像装置は、画像処理装置を兼ねたものとなっている。
【０００３】
図１４は画像処理装置における一般的な画像処理の手順を示す図である。
【０００４】
ＣＣＤ等の撮像素子は、光学系により結像された光学的な被写体像を光電変換して電気的な撮像信号を生成する。この撮像信号は、画素欠陥の補正やＡ／Ｄ変換などのプリプロセス処理が行われた後に、フレームメモリに記憶される。
【０００５】
次に、フレームメモリに記憶された画像データが、読み出されて、第１のイメージプロセス、第２のイメージプロセス、…、第Ｎのイメージプロセス等により、単板信号から３板信号への変換処理や、ローパスフィルタ処理、エッジ強調処理、拡大縮小処理などの各種の画像処理が行われる。
【０００６】
画像処理後の画像信号は、さらにＪＰＥＧなどの圧縮方式で圧縮されて、画像ファイルとしてメモリカードへ記録される。
【０００７】
図１５は、上記図１４に示したような一般的な画像処理を行うための従来の画像処理装置の構成を示すブロック図である。
【０００８】
この画像処理装置は、ＣＣＤ９１と、プリプロセス部９２と、フレームメモリ９４と、第１イメージプロセス部９５ａ，第２イメージプロセス部９５ｂ，…，第Ｎイメージプロセス部９５ｎと、ＪＰＥＧ処理部９６と、メモリカード等９７と、上記ＣＣＤ９１を除く上記各回路と後述するＣＰＵ９３とが接続されているバス９８と、上述した各回路を含むこの画像処理装置を統括的に制御するＣＰＵ９３と、を有して構成されている。
【０００９】
この図１５に示したような構成の画像処理装置により、上記図１４に示したような処理を行う場合には、具体的には次のような手順になる。
【００１０】
まず、プリプロセス部９２からの画像データをバス９８を介してフレームメモリ９４に一旦記憶させる。
【００１１】
次に、該フレームメモリ９４から画像データを読み出して、バス９８を介して第１イメージプロセス部９５ａに入力し、第１の画像処理を行って、処理後の画像データをフレームメモリ９４上の元の画像データがあったところに上書きする。
【００１２】
同様にして、該フレームメモリ９４から第１の画像処理後の画像データを読み出して、バス９８を介して第２イメージプロセス部９５ｂに入力し、第２の画像処理を行って、処理後の画像データをフレームメモリ９４上の第１の画像処理後の画像データがあったところに上書きする、という処理を行い、同様の処理を各イメージプロセス部毎に繰り返して行う。
【００１３】
このように、画像処理を行う際には、画像データが何度もバス９８を流れることになるが、画像データは一般的にデータサイズが大きいために、バス９８には大きな負荷がかかることになる。このようなバス９８に対する大きな負荷は、連写機能を使用しているときなどに、より顕著である。
【００１４】
こうした観点から、複数のイメージプロセス部をパイプライン処理可能なように接続して、フレームメモリからの画像をパイプライン処理することにより、バスの負荷を減らすようにした技術が、例えば特開２０００−３１１２４１号公報に記載されていて、バスの負荷を減らしながら、メモリ容量を増やすことなく拡大縮小処理を含む画像処理をリアルタイムで行うことができるようになっている。
【００１５】
さらに、特開２０００−３１２３２７号公報には、フレームメモリに記憶されている画像をブロック単位で所定方向（列方向）に読み出すことで、パイプライン処理を行う際のバッファ量を減らす技術も記載されていて、低消費電力、省メモリの画像処理装置を構成することができるようになっている。
【００１６】
ところで、デジタルカメラや銀塩カメラを含むカメラの光学系においては、大小の差こそあれ、歪曲収差を生じるのが一般的である。この歪曲収差は、例えば、格子状の被写体を撮影すると、樽型、糸巻き型などとして観測される（本発明の実施形態に係る図３（Ａ）、図３（Ｂ）、図３（Ｃ）参照）。また、現在発売されているカメラは、光学ズームを行い得る機種が多いが、こうしたズーム可能な光学系は、ワイド端からテレ端にかけてのズームレンジ内で焦点距離を変更すると、歪曲収差の状態が変化することが多い。
【００１７】
このような現象に対し、画像処理の一部として歪補正を行う技術が、従来より開発されており、その一例として、例えば特開平６−１８１５３０号公報に記載されたものが挙げられる。該公報に記載されたような通常の画像処理では、フレームメモリから例えばライン単位でデータを読み出すようになっている。
【００１８】
また、画像処理の一部として歪補正を行う他の技術として、例えば特開平１０−２２４６９５号公報には、各イメージプロセス部がフレームメモリにランダムにアクセスするようにした技術が記載されている。この技術によれば、イメージプロセス部内にバッファを設ける必要がなくなるために、該イメージプロセス部の回路規模を小さくすることができる利点がある。
【００１９】
【特許文献１】
特開２０００−３１１２４１号公報
【００２０】
【特許文献２】
特開２０００−３１２３２７号公報
【００２１】
【特許文献３】
特開平６−１８１５３０号公報
【００２２】
【特許文献４】
特開平１０−２２４６９５号公報
【００２３】
【発明が解決しようとする課題】
上記特開平６−１８１５３０号公報に記載されたものでは、画像処理としての歪補正を、補正後の画像の１ライン分について行うためには、図１６に示すような、補正前の画像データを、歪補正に必要な複数ライン分だけ、画像全体の横方向の幅に渡って読み出す必要がある。この図１６は、従来において歪補正処理を行うために必要なメモリ量を説明するための図である。これら複数ライン分の画像データは、イメージプロセス部の内部に設けられたバッファに一旦蓄積されてから処理されるために、１ライン分の補正画像を得るには、バッファとして比較的大きな容量が必要になり、回路規模が大きくなって製造コストが増すとともに消費電力も増加してしまう。さらに、イメージプロセス部内のバッファメモリ容量によって、処理可能な画像サイズが制限されてしまうことになる。
【００２４】
また、上記特開平１０−２２４６９５号公報に記載されたものでは、ＳＤＲＡＭ等で構成されたフレームメモリにランダムにアクセスしようとすると、バースト転送ができないために、その度毎にアドレスの転送が必要となって、結局バスの負荷が増大し、消費電力も増加してしまう。さらに、ランダムにアクセスするため、ＳＤＲＡＭから高速に読み出せるバースト転送に比べて、データの転送時間が全体の処理時間を増大させる要因となる。
【００２５】
本発明は上記事情に鑑みてなされたものであり、バスのデータ転送量やメモリ容量を増大させることなく、画像処理を行うことができる画像処理装置を提供することを目的としている。
【００２６】
【課題を解決するための手段】
上記の目的を達成するために、第１の発明による画像処理装置は、光学系を介して撮像することにより得られた電子的な画像データであって画素データが行方向および列方向に２次元的に配列された画像データを処理する画像処理装置において、上記画像データを少なくとも画像処理を行う前に格納するとともに画像処理を行った後にも格納し得るメモリと、上記画像データの上記２次元的な配列におけるブロックを単位として上記メモリからバスを介して該ブロック内の画素データを行方向に読み出しその後に該ブロック内の画素データを列方向に出力する第１のデータ順序変換部と、上記第１のデータ順序変換部と上記バスとは異なる情報伝達経路でパイプライン処理可能なように接続されていて該第１のデータ順序変換部から列方向に出力される画像データを入力して画像処理した後に該列方向に出力する画像処理部と、上記画像処理部とパイプライン処理可能なように接続されていて該画像処理部から列方向に出力される画像データを行方向の画像データに変換して出力する第２のデータ順序変換部と、を具備したものである。
【００２７】
また、第２の発明による画像処理装置は、上記第１の発明による画像処理装置において、上記画像処理部が、上記光学系に起因する歪曲収差を補正するための歪補正処理部を有して構成されたものである。
【００２８】
さらに、第３の発明による画像処理装置は、上記第２の発明による画像処理装置において、上記歪補正処理部が、補間座標を生成する補間座標生成部と、上記画像データの一部を記憶するための内部メモリ部と、上記補間座標生成部により生成された補間座標に基づき上記内部メモリ部に記憶された画像データから該補間座標の画素データを生成する補間演算部と、を有して構成されたものである。
【００２９】
第４の発明による画像処理装置は、上記第３の発明による画像処理装置において、上記補間座標生成部が、歪補正後の画像において補間の対象とする画素の座標を生成する補間位置生成部と、この補間位置生成部により生成された座標に対応する歪補正前の画像における座標を求める歪補正座標変換部と、を有して構成されたものである。
【００３０】
第５の発明による画像処理装置は、上記第４の発明による画像処理装置において、上記補間座標生成部が、さらに、上記補間位置生成部により生成された座標と、上記歪補正座標変換部により求められた座標と、の何れかを選択して上記補間演算部へ出力するセレクタを有して構成されたものである。
【００３１】
第６の発明による画像処理装置は、上記第４または第５の発明による画像処理装置において、上記歪補正座標変換部が、上記補間位置生成部により生成された座標に対応する歪補正前の画像における座標を、歪中心から補間位置までの距離の整数乗を線形結合して得られる多項式を含む所定の補正式を用いて求めるものである。
【００３２】
第７の発明による画像処理装置は、上記第６の発明による画像処理装置において、上記多項式が、上記距離の２次項を越える高次項を含んだものである。
【００３３】
第８の発明による画像処理装置は、上記第６または第７の発明による画像処理装置において、上記画像処理部が、上記歪補正処理部以外の他の画像処理部をさらに含んで構成されており、上記歪補正座標変換部は、上記歪中心から補間位置までの距離に関する情報を、上記他の画像処理部へ出力するものである。
【００３４】
第９の発明による画像処理装置は、上記第８の発明による画像処理装置において、上記他の画像処理部が、シェーディング補正部と、ローパスフィルタ処理部と、エッジ強調処理部と、の内の１つ以上を含むものである。
【００３５】
第１０の発明による画像処理装置は、上記第１から第９の発明による画像処理装置において、上記第１のデータ順序変換部が、上記メモリから読み出すブロック単位の画像データの行方向のサイズと列方向のサイズとの少なくとも一方を変更し得るものである。
【００３６】
第１１の発明による画像処理装置は、上記第１から第１０の発明による画像処理装置において、上記画像処理を行う前の画像データが、光学系により結像された被写体光像を撮像手段により光電変換して出力される撮像データと、該撮像データに圧縮処理を除く所定の処理を必要に応じて施した非圧縮画像データと、上記撮像データに圧縮処理を除く所定の処理を必要に応じて施した後に圧縮処理した圧縮画像データと、の内の何れかである。
【００３７】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
図１から図１３は本発明の一実施形態を示したものであり、図１は画像処理装置の構成を示すブロック図である。
【００３８】
この画像処理装置は、光学系により結像された光学的な被写体像を光電変換して電気的な撮像信号を生成する撮像素子たるＣＣＤ１と、このＣＣＤ１から出力される撮像信号に画素欠陥の補正やＡ／Ｄ変換などのプリプロセス処理を行うプリプロセス部２と、このプリプロセス部２により処理された後のフレーム画像を記憶するフレームメモリ４と、このフレームメモリ４に記憶された画像データを後述するバス１１を介して所定ブロック毎に読み出し一旦記憶してその後に読み出し順序を変更し出力する第１データ順序変換部５と、この第１データ順序変換部５から出力される画像データに所定の画像処理を施す画像処理部たるイメージプロセス部６と、このイメージプロセス部６による処理後の画像データに歪み補正の処理を行う画像処理部たる歪補正処理部７と、この歪補正処理部７から出力されるブロック毎の画像データを一旦記憶して、上記第１データ順序変換部５によりフレームメモリ４から読み出したときと同じ方向に読み出して出力する第２データ順序変換部８と、この第２データ順序変換部８から出力される画像データをＪＰＥＧ等の圧縮方式により圧縮するＪＰＥＧ処理部９と、このＪＰＥＧ処理部９により圧縮された画像データを後述するバス１１を介して一旦フレームメモリ４に書き込み、この書き込まれた画像データをバス１１を介して読み出して入力し画像ファイルとして記憶する不揮発性の記憶手段たるメモリカード等１０と、上記ＣＣＤ１を除く上記各回路と後述するＣＰＵ３とが接続されているバス１１と、上述した各回路を含むこの画像処理装置を統括的に制御する制御手段たるＣＰＵ３と、を有して構成されている。
【００３９】
ここに、上記第１データ順序変換部５からＪＰＥＧ処理部９までは、バス１１を介することなく、該バス１１とは異なる情報伝達経路でパイプライン処理可能なように接続されていて、画像データを、２次元的な画素配列における所定のブロック単位で転送して処理するようになっている。これにより、データ量の大きい画像データが、各プロセス毎にバス１１を何度も転送されることがなくなるために、バス１１の負荷を大幅に軽減することが可能であるとともに、処理をブロック単位で行うことにより画像処理部の内部バッファ部の容量を小さくすることが可能となっている。
【００４０】
また、この図１に示す例においては、画像処理を行うイメージプロセス部６を１つのみ設けているが、複数の画像処理に対応した複数のイメージプロセス部を、上記パイプライン処理経路上に配置するようにしても構わないことは勿論である。ここに画像処理の例としては、上述と同様に、単板信号から３板信号への変換処理や、ローパスフィルタ処理、エッジ強調処理、拡大縮小処理などが挙げられ、さらに、歪補正処理部７の後にイメージプロセス部を設けても良い。
【００４１】
次に、図２は、上記歪補正処理部７の構成を示すブロック図である。
【００４２】
この歪補正処理部７は、前段ブロックから画像データを所定ブロック単位で受け取って、歪補正を行った後に、後段ブロックへ出力するものであり、上記図１に示したような構成例においては、前段ブロックがイメージプロセス部６に対応し、後段ブロックが第２データ順序変換部８に対応している。
【００４３】
この歪補正処理部７には、制御レジスタ７ａが付随して設けられており、ＣＰＵ３からの該歪補正処理部７に対する設定値や各種データなどが設定され、同時に処理結果のステータスなどをＣＰＵ３から読み取ることができるようになっている。
【００４４】
該歪補正処理部７の処理の概要は、図４にも示すように、おおよそ、次のようになっている。図４は、歪補正を含む補間処理の概要を説明するための図である。
【００４５】
まず、図４（Ｂ）に示すような歪補正処理後の画像の座標系（Ｘ，Ｙ）を予め準備しておく。この座標系（Ｘ，Ｙ）における画像データは、歪補正処理を開始する前は、当然にしてまだ何も求められていない。
【００４６】
該座標系（Ｘ，Ｙ）における着目点（これは、歪補正処理後の画像における各画素の座標に対応しており、同様に、（Ｘ，Ｙ）と表す。）を設定して、該着目点（Ｘ，Ｙ）に対応する画像データの座標（Ｘ’，Ｙ’）を座標変換により求める（図４（Ａ）参照）。この（Ｘ，Ｙ）と（Ｘ’，Ｙ’）との対応関係は、上記ＣＣＤ１へ被写体像を結像するための光学系の光学的性質により決まるものであり、該対応関係を定義付けるパラメータ等は、光学系の設計値から、あるいは製造後の光学系の検査から、予め求められて、図示しない不揮発性メモリ等に記憶されている。そして、上記ＣＰＵ３が、この不揮発性メモリ等からパラメータを読み出して、上記制御レジスタ７ａに設定するようになっている。
【００４７】
こうして対応関係により座標（Ｘ’，Ｙ’）を求めると、該座標（Ｘ’，Ｙ’）における画像データを求めるために必要な周辺の画像データの座標が決定される。例えば、Ｃｕｂｉｃ補間処理を行う場合には、図４（Ｃ）に示すように、該座標（Ｘ’，Ｙ’）（図４（Ｃ）における画像データがＤｏｕｔ  となっている点）に対して周辺の１６点の座標が決定される。
【００４８】
従って、これら１６点の座標における画像データＤ０〜Ｄ１５から、×印で示されている座標（Ｘ’，Ｙ’）の点の画像データＤｏｕｔ  を所定の補間式を用いて求めることにより、それが歪補正処理後の画像の着目点（Ｘ，Ｙ）における画像データとなる。
【００４９】
上記着目点（Ｘ，Ｙ）を移動させながら、必要な範囲の全ての画像データを算出することにより、歪補正後の画像データが生成される。
【００５０】
このような処理を行うための歪補正処理部７は、図２に示すように、着目点（Ｘ，Ｙ）の座標を生成するための補間位置生成部２１と、この補間位置生成部２１により生成された着目点（Ｘ，Ｙ）の座標から歪み補正処理前の画像データの座標（Ｘ’，Ｙ’）を算出するための歪補正座標変換部２２と、歪補正処理を行わない場合には上記補間位置生成部２１から出力される座標（Ｘ，Ｙ）を選択し歪補正処理を行う場合には上記歪補正座標変換部２２から出力される座標（Ｘ’，Ｙ’）を選択するセレクタ２３と、前段ブロックからの画像データの読み出しを制御するとともに上記セレクタ２３から出力される座標に対応して補間処理を行うのに必要な周辺画素の画像データを送出するように後述する内部メモリ部２５を制御するメモリ制御部２４と、前段ブロックからのブロック単位の画像データを蓄積するものであり上記メモリ制御部２４の制御により補間に必要な周辺画素の画像データを後述する補間演算部２６へ出力する内部メモリ部２５と、この内部メモリ部２５から出力される着目点近傍の画像データと上記セレクタ２３から出力される着目点の座標とに基づき該着目点における画像データを上述したように例えばＣｕｂｉｃ補間により求めて後段ブロックへ出力する補間演算部２６と、を有して構成されている。
【００５１】
これらの構成ブロックの内の上記補間位置生成部２１と、歪補正座標変換部２２と、セレクタ２３とは、補間座標生成部を構成する要素となっている。
【００５２】
上記補間位置生成部２１は、上記ＣＰＵ３から上記制御レジスタ７ａに設定される補間開始位置（ＸＳＴ，ＹＳＴ）および補間ステップ（ΔＸ，ΔＹ）を用いて、次の数式１に示すように、補間を行う着目点（Ｘ，Ｙ）の座標を算出するものである。
【数１】
2004362069.tif 000003
ここに、ｋは着目点をＸ方向にΔＸだけ移動させる際にインクリメントされる変数、ｌは着目点をＹ方向にΔＹだけ移動させる際にインクリメントされる変数である。
【００５３】
なお、上記補間開始位置（ＸＳＴ，ＹＳＴ）は、画像内の任意の位置に設定することが可能である。また、上記補間ステップ（ΔＸ，ΔＹ）は、上記ＣＰＵ３が適宜に設定することにより、画像の拡大や縮小を行うことが可能である。
【００５４】
上記歪補正座標変換部２２は、上記補間位置生成部２１から出力される歪補正処理後の着目点の座標（Ｘ，Ｙ）から、歪補正処理前の着目点の座標（Ｘ’，Ｙ’）を次のように算出するものである。
【００５５】
すなわち、まず、処理対象の画像における歪中心位置の座標（Ｘｄ  ，Ｙｄ  ）と、歪補正処理後に該歪補正に起因して被写体の位置が撮影時とずれてしまうのを補正するための中心ずれ補正量（Ｘｏｆｆ  ，Ｙｏｆｆ  ）と、光学系の光学的な性質を示すパラメータを用いて歪補正処理を行った場合に補正後の画像が画像データとして必要な範囲からはみ出したり不足したりするのを補正するための範囲補正倍率Ｍと、を用いて、次の数式２に示すような中間的な算出値（Ｘ（ドット），Ｙ（ドット））（ここに、文字の上に付す点を文章中では（ドット）などとして表している。）を求める。
【数２】
2004362069.tif 000004
【００５６】
なお、上記歪中心位置の座標（Ｘｄ  ，Ｙｄ  ）は、上記ＣＣＤ１に被写体光像を結像する光学系の光軸が交わる画像上の位置に相当する座標である。
【００５７】
また、上記歪中心位置の座標（Ｘｄ  ，Ｙｄ  ）、中心ずれ補正量（Ｘｏｆｆ  ，Ｙｏｆｆ  ）、範囲補正倍率Ｍは、上記ＣＰＵ３により、上記制御レジスタ７ａに設定されるようになっている。
【００５８】
次に、求めた算出値（Ｘ（ドット），Ｙ（ドット））と、上記歪中心位置の座標（Ｘｄ  ，Ｙｄ  ）と、画像データを間引いて取り込んだ場合などに画像の縦方向と横方向とで空間的なサンプリングが異なるのを補正するための係数（ＳＸ  ，ＳＹ  ）と、を用いて、歪中心からの距離を示すＺ（より正確にはＺの２乗）を次の数式３に示すように計算する。
【数３】
2004362069.tif 000005
【００５９】
こうして算出されたＺと、上記ＣＰＵ３から上記制御レジスタ７ａに設定される光学系の歪曲収差に関する光学的性質を示すパラメータである歪補正係数Ａ，Ｂ，Ｃ，Ｄ，Ｅと、上記算出値（Ｘ（ドット），Ｙ（ドット））と、上記歪中心位置の座標（Ｘｄ  ，Ｙｄ  ）と、を用いて、歪補正処理後の着目点の座標（Ｘ，Ｙ）に対応する歪補正処理前の着目点の座標（Ｘ’，Ｙ’）を、次の数式４に示すように算出する。
【数４】
2004362069.tif 000006
【００６０】
ここで図３は、格子状の被写体を光学系を介して撮像したときの歪曲収差の例を示す図である。まず、図３（Ａ）は、格子状の被写体の例を示している。従来は、Ｚの２次項までしか考慮していないために、図３（Ａ）に示すような被写体を光学系を介して撮像したときに生じ得る、図３（Ｂ）に示すような樽型の歪曲収差や、図３（Ｃ）に示すような糸巻き型の歪曲収差をある程度補正することは可能であったが、図３（Ｄ）に示すような陣笠型の歪曲収差を補正することはできなかった。しかし、本実施形態では、この数式４に示すように、Ｚの２次項を越える次数まで、つまり例えば４次項、または６次項まで考慮するようにしているために、このようなより高次の収差も高精度に補正することが可能となっている。さらに、より一層、高次の項まで考慮しても構わない。
【００６１】
上述したような補間位置生成部２１により算出された座標（Ｘ，Ｙ）、または歪補正座標変換部２２により算出された座標（Ｘ’，Ｙ’）は、セレクタ２３に入力されて、歪補正を行うか否かに応じて、必要なものが選択される。
【００６２】
また、上記補間演算部２６は、上記セレクタ２３から出力される座標に基づき、該座標の近傍の画素の画像データＤ０  〜Ｄ１５を上記内部メモリ部２５から読み出して、次のような数式５を用いることにより、該着目点に係る歪補正処理後の画像データＤｏｕｔ  を算出して、後段ブロックへ出力する。
【数５】
2004362069.tif 000007
ここに、ｋｘ０〜ｋｘ３，ｋｙ０〜ｋｙ３は、例えばＣｕｂｉｃ補間を行う際に定められた所定の係数である。
【００６３】
次に、図５は、本実施形態における画像データの読出順序を示す図である。
【００６４】
画像データは、通常は、ライン方向、つまり行方向に読み出されるようになっており、１ラインの画像データを全て読み出して、次に隣接するラインの画像データを全て読み出すといった動作を繰り返して行うのが一般的である。
【００６５】
これに対して、本実施形態の画像処理装置は、行方向に所定長さだけ読み出して、次の行に移動して同様に所定長さだけ読み出し、これを所定の行数がまとまってから、列方向に順番に出力することにより、所定のブロック単位で、縦方向に画像データを読み出したようにデータ順序を変換したものとなっている。この行方向への所定の長さは、フレームメモリ４から高速に読み出せる幅を単位として決定される。
【００６６】
その後に続いて読み出すブロックは、行方向に隣接する（図５において右隣となる）ブロックとなっていて、画像データの右端まで到達したところで、今まで読み出した一連のブロック群と縦方向に重複するように、少し下にずれて、次のブロック群を読み出すようになっている。第２データ順序変換部８で出力される隣接する行（横方向）のデータをそれぞれ生成するために必要な画像データは、一部重複する。そのために、第１データ順序変換部５では、その分を考慮して読み出す必要がある。
【００６７】
画像データの読み出し命令は連続的に発行されるために、このようなブロック単位の読み出しは、実際には、連続的に行われ、図５における行方向に細長の矩形内のデータは、実線の矢印のように、縦方向に連続して流れることとなる。
【００６８】
こうした画像データの読み出しを可能にするための第１データ順序変換部５と、第２データ順序変換部８との構成を、図６を参照して説明する。図６は、データ順序変換部の構成を示すブロック図である。
【００６９】
第１データ順序変換部５は、図６（Ａ）に示すように、ブロック単位の画像データを記憶可能なメモリを複数、ここでは２つ備えており、メモリ５ａとメモリ５ｂとなっている。フレームメモリ４は、これらのメモリ５ａとメモリ５ｂとに切換可能に接続されているとともに、イメージプロセス部６もこれらのメモリ５ａとメモリ５ｂとに切換可能に接続されていて、フレームメモリ４がメモリ５ａとメモリ５ｂとの一方に接続されているときには、該メモリ５ａとメモリ５ｂとの他方がイメージプロセス部６に接続されるように切り換えられる。すなわち、メモリ５ａ，５ｂは、フレームメモリ４とイメージプロセス部６との両方に同時に接続されることがないようにスイッチングされるようになっている。
【００７０】
フレームメモリ４に記憶されているフレーム画像の一部は、ブロック単位でライン方向に読み出され、一方のメモリ、ここでは例えばメモリ５ａに記憶される。
【００７１】
これと並列して、メモリ５ｂからは、既にフレームメモリ４から読み出されて記憶されているブロック単位の画像データが、列方向（縦方向）に順に読み出されて、イメージプロセス部６へ出力される。
【００７２】
フレームメモリ４からメモリ５ａへの書き込みと、メモリ５ｂからイメージプロセス部６への読み出しが終了すると、書き込み側のスイッチおよび読み出し側のスイッチが切り換えられて、次に、フレームメモリ４からメモリ５ｂへ次のブロック単位の画像データの書き込みが開始されるとともに、メモリ５ａからイメージプロセス部６へのブロック単位の画像データの読み出しが開始される。
【００７３】
第２データ順序変換部８も、図６（Ｂ）に示すように、上記第１データ順序変換部５とほぼ同様に構成されていて、ほぼ同様に動作するようになっている。
【００７４】
すなわち、第２データ順序変換部８は、メモリ８ａとメモリ８ｂとを有して構成されている。
【００７５】
そして、該第２データ順序変換部８の動作時には、歪補正処理部７からの書き込みがメモリ８ａとメモリ８ｂとの一方に対して列方向（縦方向）に行われ、メモリ８ａとメモリ８ｂとの他方からは行方向（横方向）に読み出しが行われてＪＰＥＧ処理部９へ出力されるようになっている。
【００７６】
また、図２の内部メモリ部２５として必要なバッファの量は、図７に示すようになっている。図７は、補正画像と撮影画像との対応関係と、処理に必要なバッファ量と、を示す図である。
【００７７】
図７における点線同士が交差する点は、イメージプロセス部６から歪補正処理部７へ入力される画像データ（つまり、歪補正処理が行われる前の画像データであり、ひいてはフレームメモリ４から読み出される画像データ）を示している。また、黒点は、歪補正処理後の着目点の座標（Ｘ，Ｙ）から算出された歪補正処理前の着目点の座標（Ｘ’，Ｙ’）を示していて、処理対象となる複数の点（図７に示す例においては、横４×縦５ドットでなる点）を示している。これらの点は、例えば、縦方向に並んだ５ドット単位で歪補正処理が行われるようになっており、例えば横４×縦５ドットのブロックの内の一番右側の縦５ドット（図７において太い実線上に配置された５ドット）を処理するために必要なバッファ量は、図７中の矢印で示すような範囲、つまり縦９×横７ドットでなる入力画像データのブロックとなっている（ただし、これはＣｕｂｉｃ補間を行う際に、着目点の周囲１６点の画像データが必要な場合であり、補間方法を変更すれば、当然、必要なバッファ量は変わることになる。）。
【００７８】
なお、バッファ（内部メモリ部２５）の大きさ（記憶容量）は、歪曲収差が最も大きい画像の４隅部分を補間処理することができるような大きさとして確保する必要があるのは勿論である。
【００７９】
また、図５に示した例では、縦方向に読み出す画素数を、フレーム画面内の何れの位置においても等しく取っていたが、これに限らず、図８に示すように、位置に応じて異ならせるようにしても構わない。図８は、歪中心からの距離に応じて読み出す画像データの幅を縦方向に異ならせる例を示す図である。つまり、歪曲収差による歪みは、歪中心から離れるほど大きくなり、逆に歪中心に近ければ小さくなる。従って、歪中心に遠い場所では縦方向に読み出す画素数を多くし、歪中心に近い場所では縦方向に読み出す画素数を少なくするようにすれば、より処理を高速化することが可能となる。
【００８０】
さらに、図９は、歪中心からの距離に応じて読み出す画像データのサイズおよび読出開始位置を異ならせる例を示す図である。この図９に示す例は、縦方向に読み出す画素数を、横方向の位置に応じて変更するとともに、画像データを読み出す開始位置をもブロック単位で変更するようにしたものである。
【００８１】
すなわち、歪中心が画面のほぼ中央部にある場合を例に取ると、同一ライン上であっても、中央部ほど歪中心に近く、左右端ほど歪中心から遠くなる。従って、歪中心に近い中央部は縦方向に読み出す画素数を少なくし、歪中心に遠い左右端部は縦方向に読み出す画素数を多くしている。さらに、図示のような樽型の歪曲収差が発生している場合には、その収差に基づく曲線の形状に合わせて、左右端ではブロック単位の画像データを読み出す開始位置を縦方向やや下側とし、中央部ではブロック単位の画像データを読み出す開始位置を縦方向やや上側としている。ここでは樽型の歪曲収差が発生している場合を例に示したが、糸巻き型や陣笠型の歪曲収差が発生している場合であっても、発生している歪み形状に合わせて、読み出す画素数を変更することが可能であるのは勿論である。
【００８２】
なお、読み出すブロックにおいて、読み出す画素数を、縦方向に異ならせるだけでなく、横方向に異ならせるようにしても構わない。
【００８３】
また、上述では、イメージプロセス部６により処理された後の画像データを歪補正するようにしていたが、これに限るものではない。
【００８４】
図１０は、画像処理装置の構成の第１変形例を示すブロック図である。この図１０は、ＣＣＤ１から出力される撮像データ（例えば、ベイヤーデータ）を、一旦フレームメモリ４に蓄積した後に、３板化する前に歪補正するようにした構成例を示しており、上記図１に示した構成に比して、イメージプロセス部６と歪補正処理部７との位置が交換されたものとなっている。上記図１においては、例えばイメージプロセス部６により３板化した画像データを各色毎に処理することになるが、これに限らず、この図１０に示すように、ベイヤー配列のカラーフィルタを備えたＣＣＤ１から出力されるベイヤーデータを歪補正処理するようにしても構わない。この場合には、隣接する複数画素（例えば１６画素）を用いて補間処理を行うのではなく、ベイヤー配列における同色の隣接する１６画素を用いて補間処理を行うことになる。この構成によれば、３板化した後の画像データに比して、歪補正を行うデータ量を１／３に減らすことができる。
【００８５】
次に、図１１は、画像処理装置の構成の第２変形例を示すブロック図である。この図１１は、メモリカード等１０に記録されている画像データを歪補正処理するようにした構成例を示している。この構成例では、第１データ順序変換部５の前段にＪＰＥＧ処理部９が配置されていて、メモリカード等１０から読み出したＪＰＥＧ等の圧縮方式により圧縮されている画像データを伸張するようになっている。伸張された画像データは、該第１データ順序変換部５やイメージプロセス部６を介して、歪補正処理部７により上述したように処理され、第２データ順序変換部８で元のデータ順序に変換される。なお、メモリカード等１０にＴＩＦＦ等の非圧縮データとして記録が行われている場合には、特に伸張処理することなく歪補正を含む画像処理を実行することも可能である。
【００８６】
続いて、図１２は、画像処理装置の構成の第３変形例を示すブロック図である。この図１２は、歪補正処理後の画像データを圧縮することなく、画像表示するためなどに出力するようにした構成例を示している。第２データ順序変換部８により元のデータ順序に変換された画像データは、ＪＰＥＧ等の圧縮方式により圧縮されることなく、バス１１を介してビデオメモリ１２に書き込まれ、画像として表示されるようになっている。
【００８７】
さらに、図１３は、画像処理装置の構成の第４変形例を示すブロック図である。この図１３は、歪補正処理に用いる距離情報（上述した歪中心から補間位置までの距離Ｚ）を、他の画像処理にも用いるようにした構成例を示している。この構成例では、イメージプロセス部６の後段に、上記光学系に起因する周辺光量不足を補正するための画像処理部たるシェーディング補正部１４、不要な高周波成分をカットするための画像処理部たるローパスフィルタ（ＬＰＦ）処理部１５、上記歪補正処理部７、画像中のエッジ部分を強調するための画像処理部たるエッジ強調処理部１６、をこの順にパイプライン処理経路上に配置している。そして、距離情報が、歪補正処理部７からシェーディング補正部１４、ローパスフィルタ（ＬＰＦ）処理部１５、エッジ強調処理部１６に出力されて、必要に応じてこれらの処理において用いられるようになっている。
【００８８】
これにより、歪中心からの距離に応じて発生する周辺光量不足を、シェーディング補正部１４が適切に補正することができる。また、歪中心からの距離に応じて発生する歪曲収差が、例えば樽型である場合には、歪曲収差を補正したときに画像の周辺部が引き延ばされて画像の鮮明さが低下する可能性があるが、これをローパスフィルタ処理部１５やエッジ強調処理部１６により、適切に補正することができる。そして、これらシェーディング補正部１４、ローパスフィルタ処理部１５、エッジ強調処理部１６が、それぞれ個別に距離情報を算出する必要がなくなるために、回路規模を縮小することが可能となる。
【００８９】
なお、図示上は、歪補正処理部７から、それよりもパイプライン処理経路上の前段にあるシェーディング補正部１４やローパスフィルタ処理部１５に距離情報を出力するようになっているが、処理順序を考慮して、距離Ｚを算出するための処理ブロックを別構成として、距離情報を使用する各ブロックよりも前段側に配置するようにしても構わない。
【００９０】
なお、上述では、デジタルカメラに画像処理装置を適用した例について説明したが、これに限らず、専用の画像処理装置であっても構わないし、コンピュータ等の増設ボードなどとして提供されるタイプの画像処理装置とすることも可能である。
【００９１】
また、画像処理の対象とするのは、デジタルカメラやビデオカメラにおいて、光学系により結像された被写体像を撮像素子であるＣＣＤ等の撮像手段により光電変換して得られる画像データ、または該画像データを処理して得られる非圧縮画像データ、あるいは該画像データを処理した後に圧縮して得られる圧縮画像データ、に限るものではなく、例えば、銀塩カメラで撮影したフィルム、もしくはプリントを、スキャナ等の撮像手段で取り込むことにより得られる画像データ等であっても、上述したような歪補正処理の対象とすることができる。
【００９２】
さらに、画像処理の対象とするのは、画素データが行方向および列方向に完全に整列している画像データに限るものではない。例えば、ハニカムタイプの画素配列を備えた撮像素子で撮像された画像データであっても、実質的に行方向および列方向に処理を行うことができるような画像データとなっていれば、上述したような歪補正処理を行うことが可能である。
【００９３】
このような実施形態によれば、イメージプロセス部や歪補正処理部への画像データの転送は、バスとは異なる情報伝達経路を介してパイプライン処理可能なように行い、さらに、データ転送をブロック単位で行うとともにその読み出し方向を工夫するようにしたために、バスのデータ転送量やメモリ容量を増大させることなく、歪補正を含む画像処理を行うことが可能となる。
【００９４】
そして、歪補正処理後の着目点の座標に対応する歪補正処理前の着目点の座標を、歪中心から補間位置までの距離の４次項、６次項、またはそれ以上の高次項まで考慮して計算するようにしたために、陣笠型の歪曲収差等の、より高次の収差も高精度に補正することが可能となる。
【００９５】
また、補間位置生成部により生成された座標と、歪補正座標変換部により変換された座標と、をセレクタにより選択することができるようにしたために、歪補正を行うか否かを必要に応じて所望に選択することが可能となる。これにより、ひいては、撮像時には歪補正処理を行うことなく画像データをメモリカード等に一旦記憶しておき、後の時点で、該メモリカードから画像データを読み出して歪補正処理を行うなどが可能となる。このような選択を行えば、撮像時に歪補正処理を省略することができるために、より高速な処理が可能となる。
【００９６】
さらに、歪補正処理部により算出した距離情報を、シェーディング補正部やローパスフィルタ、エッジ強調処理部に出力することにより、周辺光量不足を適切に補正したり、画像の不鮮明さを適切に補正したりすることが、回路規模を増大させることなく可能となる。
【００９７】
また、歪中心からの距離により異なる歪曲収差の大きさに合わせて、メモリから読み出すブロック単位の画像データの行方向のサイズと列方向のサイズとの少なくとも一方を適切に変更することにより、処理に必要最小限のデータを読み出すことができるために、処理を高速化することが可能となる。
【００９８】
なお、本発明は上述した実施形態に限定されるものではなく、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能であることは勿論である。
【００９９】
【発明の効果】
以上説明したように本発明の画像処理装置によれば、バスのデータ転送量やメモリ容量を増大させることなく画像処理を行うことができる。
【図面の簡単な説明】
【図１】本発明の一実施形態における画像処理装置の構成を示すブロック図。
【図２】上記実施形態における歪補正処理部の構成を示すブロック図。
【図３】上記実施形態において、格子状の被写体を光学系で撮影したときの歪曲収差の例を示す図。
【図４】上記実施形態において、歪補正を含む補間処理の概要を説明するための図。
【図５】上記実施形態における画像データの読出順序を示す図。
【図６】上記実施形態におけるデータ順序変換部の構成を示すブロック図。
【図７】上記実施形態において、補正画像と撮影画像との対応関係と、処理に必要なバッファ量と、を示す図。
【図８】上記実施形態において、歪中心からの距離に応じて読み出す画像データの幅を縦方向に異ならせる例を示す図。
【図９】上記実施形態において、歪中心からの距離に応じて読み出す画像データのサイズおよび読出開始位置を異ならせる例を示す図。
【図１０】上記実施形態における画像処理装置の構成の第１変形例を示すブロック図。
【図１１】上記実施形態における画像処理装置の構成の第２変形例を示すブロック図。
【図１２】上記実施形態における画像処理装置の構成の第３変形例を示すブロック図。
【図１３】上記実施形態における画像処理装置の構成の第４変形例を示すブロック図。
【図１４】画像処理装置における一般的な画像処理の手順を示す図。
【図１５】上記図１４に示したような一般的な画像処理を行うための従来の画像処理装置の構成を示すブロック図。
【図１６】従来において歪補正処理を行うために必要なメモリ量を説明するための図。
【符号の説明】
１…ＣＣＤ（撮像手段）
２…プリプロセス部
３…ＣＰＵ
４…フレームメモリ
５…第１データ順序変換部
６…イメージプロセス部（画像処理部）
７…歪補正処理部（画像処理部）
７ａ…制御レジスタ
８…第２データ順序変換部
９…ＪＰＥＧ処理部
１０…メモリカード等
１１…バス
１２…ビデオメモリ
１４…シェーディング補正部（画像処理部）
１５…ＬＰＦ（ローパスフィルタ）処理部（画像処理部）
１６…エッジ強調処理部（画像処理部）
２１…補間位置生成部（補間座標生成部の一部）
２２…歪補正座標変換部（補間座標生成部の一部）
２３…セレクタ（補間座標生成部の一部）
２４…メモリ制御部
２５…内部メモリ部
２６…補間演算部
【図１】
2004362069.tif 000008
【図２】
2004362069.tif 000009
【図３】
2004362069.tif 000010
【図４】
2004362069.tif 000011
【図５】
2004362069.tif 000012
【図６】
2004362069.tif 000013
【図７】
2004362069.tif 000014
【図８】
2004362069.tif 000015
【図９】
2004362069.tif 000016
【図１０】
2004362069.tif 000017
【図１１】
2004362069.tif 000018
【図１２】
2004362069.tif 000019
【図１３】
2004362069.tif 000020
【図１４】
2004362069.tif 000021
【図１５】
2004362069.tif 000022
【図１６】
2004362069.tif 000023