(57)【要約】【課題】小領域の空間的な位置を算出可能とし、小領域単位での歪補正処理を実現可能とし、更に、間引き取り込みされた画像データに対しても、任意領域を切り出したデータに対しても、正確な歪補正を行える画像処理装置及び歪補正方法を提供すること。【解決手段】画像データに対して歪補正処理を行う歪補正手段を有する画像処理装置において、補正画像の各画素に対応する座標系での第１の位置を生成し、この第１の位置を、歪補正座標変換［式１］に従って歪補正前の画像データ内における座標系での第２の位置に変換し、この歪補正前の画像データ内における座標系での第２の位置を、撮像面に対応する座標系を基準とする設定領域内での座標に変換した後、前記設定領域内での座標に基づいて補間処理を行い、補正画像の各画素のデータを生成するようにした。この歪補正では、補正画像に含まれる小領域を単位に処理を行う。【選択図】    図７
2005045513.tif 000002
【特許請求の範囲】
【請求項１】
画像データに対して歪補正処理を行う歪補正手段を有する画像処理装置において、
前記歪補正手段は、
補正前の画像データ内において、補正画像の各画素が対応する位置を所定の補正式に従って算出する際、撮像面における空間的な位置を記述可能な座標系において算出することを特徴とする画像処理装置。
【請求項２】
前記歪補正手段は、
補正画像に含まれる第１の小領域を単位に処理を行い、
前記第１の小領域の各画素の座標位置を前記補正式に従って変換した小領域を含む撮像面における第２の小領域について、前記撮像面に対応する座標系での位置を、前記第２の小領域での座標に変換した後に、
前記補正画像の各画素のデータを生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像データは、
撮像データの一部のみを取り込んだ部分画像データであることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記部分画像データは、
前記撮像データの一部を切り出したデータであることを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記部分画像データは、
前記撮像データの横または縦の少なくとも一方向に間引かれたデータであることを特徴とする請求項３記載の画像処理装置。
【請求項６】
前記画像データは、
前記撮像データに対してフィルタリング，空間サンプリングまたは補間処理の少なくともいずれか１つを行って生成されるデータであることを特徴とする請求項１記載の画像処理装置。
【請求項７】
前記画像データは、
各画素が撮像面で空間的に位置する間隔が縦方向及び横方向で異なることを特徴とする請求項１に記載の画像処理装置。
【請求項８】
画像データにおける各画素の空間的なサンプリング間隔が縦横で異なる場合、歪補正前の画像内における座標を求める補正式は、縦横でのサンプリング間隔の違いを補正する係数を含むことを特徴とする請求項１〜７のいずれか１つに記載の画像処理装置。
【請求項９】
歪補正前の画像内における座標を求める補正式は、
所定量のオフセット補正が可能であることを特徴とする請求項１〜８のいずれか１つに記載の画像処理装置。
【請求項１０】
前記オフセット補正は、
歪の中心と画像の中心が一致しない場合に行うことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
画像データに対して歪補正処理を行う歪補正手段を有する画像処理装置の歪補正方法であって、
前記歪補正方法は、
補正画像の各画素に対応する座標系での第１の位置を生成するステップと、
前記第１の位置を、歪補正式に従って歪補正前の画像データ内における座標系での第２の位置に変換するステップと、
前記歪補正前の画像データ内における座標系での第２の位置を、撮像面に対応する座標系を基準とする設定領域内での座標に変換するステップと、
前記設定領域内での座標に基づいて補間処理を行い、前記補正画像の各画素のデータを生成するステップと、
を有することを特徴とする歪補正方法。
【請求項１２】
前記請求項１１記載の歪補正方法においては、前記補正画像に含まれる小領域を単位に処理を行うことを特徴とする歪補正方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、主に、デジタルカメラ等の電子的撮像装置に用いられる画像処理装置及び歪補正方法に関し、特に、小領域（例えばブロックライン）単位での歪補正処理を行う場合に、小領域の空間的な位置を算出可能とした画像処理装置及び歪補正方法に関する。
【０００２】
【従来の技術】
デジタルカメラ，銀塩カメラを問わず、一般的にカメラの光学系においては歪曲収差が現れる。また、現在発売されているカメラでは、光学ズームが可能な機種が殆どであり、その場合、ワイド端からテレ端にかけて、歪曲収差の状態が変化する。ワイド端では樽型歪が多く、テレ端では糸巻き型歪が多い。
【０００３】
歪曲収差は、例えば格子状の被写体を撮影すると、樽型歪、糸巻き型歪として観測される。
【０００４】
図１４（ａ）は格子状の被写体、（ｂ）は樽型歪を生じた撮影画像、（ｃ）は糸巻き型歪を生じた撮影画像である。
【０００５】
ところで、デジタルカメラにおいては、ＣＣＤ等の撮像素子のデータに対し、様々な画像処理を行なった後、ＪＰＥＧ等の圧縮方式で圧縮したデータをメモリカード等の記録媒体に記録する。
【０００６】
図１５（ａ）は一般的なデジタルカメラで行われている画像処理手順の概念を示している。ＣＣＤから取り込まれた撮像信号は、プリプロセスで画素欠陥処理やＡ／Ｄ変換等の処理が行われ、ＳＤＲＡＭ等のフレームメモリに一旦記憶される。次に、フレームメモリに記憶された画像データが読み出されて、イメージプロセス１、イメージプロセス２、…、イメージプロセスＮにより各種の画像処理が行われる。画像処理後の画像データは、さらにＪＰＥＧ処理等の圧縮方式で圧縮されて、記録媒体としてのメモリカード等へ記録される。
【０００７】
図１５（ｂ）は従来のデジタルカメラの画像処理装置のブロック図（例えば特開２０００−３１２３２７号公報での従来例）を示している。
【０００８】
図１５（ｂ）において、従来の画像処理装置は、バス１０３にＣＰＵ１０４と共にプリプロセス回路１０２，複数のイメージプロセス回路１０６−１〜１０６−ｎ，ＪＰＥＧ処理部１０７，フレームメモリ１０５及び記録媒体としてのメモリカード等１０８が接続されている。そして、ＣＰＵ１０４の制御により、ＣＣＤ１０１からの撮像信号がプリプロセス回路１０２で画素欠陥処理やＡ／Ｄ変換等が施された後、バス１０３を通してフレームメモリ１０５に一旦記憶される。次に、フレームメモリ１０５から画像データを読み出し、バス１０３を通してイメージプロセス回路１０６−１に入力して所定の画像処理を行い、再びバス１０３を通してフレームメモリ１０５に書き直す。以下同様にして、バス１０３を介してフレームメモリ１０５とイメージプロセス回路１０６−２〜１０６−ｎとの間でデータのやり取りを順次行って、最後にＪＰＥＧ処理部１０７でＪＰＥＧ圧縮処理を行い、画像処理したデータをフレームメモリ１０５に一旦記憶し、フレームメモリ１０５から読み出した処理データをメモリカード等１０８に記録するようになっている。以上の各段のイメージプロセス及びＪＰＥＧ処理では、小領域（ブロックライン）を単位として画像処理が行われる。
【０００９】
一方、通常、ＣＣＤ等の撮像素子の読み出しは、（１）本撮影用の全画素読み出し、（２）スルー画用の間引き読み出し、の２種類の読み出しが可能である。間引き読み出し等によって、撮像したデータから一部を取り込んだ画像データは、アスペクト比が１：１ではないため、そのままでは正確な歪補正が行えない。
【００１０】
また、従来、この画像処理の一部として歪補正を行う先行技術が開示されている。例えば、特開６−１８１５３０号公報がある。
【００１１】
特開６−１８１５３０号公報には、撮影時における撮像ズームレンズの撮像ポジションが歪曲収差の大きいポジション内であることが検出手段にて検出されている場合には、この撮像ズームレンズによって生じた像の幾何学的歪みを、固体撮像素子の撮像データを幾何学的変形に基づき読み出すことにより補正することが記載されている。
【００１２】
【特許文献１】
特開２０００−３１２３２７号公報（第３頁、図１９）
【００１３】
【特許文献２】
特開６−１８１５３０号公報（第１，２頁、図２）
【００１４】
【発明が解決しようとする課題】
しかしながら、特許文献１の従来例では、フレームメモリと各イメージプロセス回路間のデータのやり取りが多く、バスのデータ転送量が増大するという問題がある。さらに、小領域（ブロックライン）単位での歪補正処理については全く記載されていない。
【００１５】
特許文献２では、歪補正処理を行うことが述べられているが、図１６に示すようにＣＣＤの撮像面における画素（黒丸印にて示される縦横の格子点）３１に対して、本来直線であるべき被写体像が光学レンズの歪曲収差により湾曲して結像（符号３２にて示す）すると、歪曲収差補正回路内のラインメモリに大容量バッファメモリが必要となる。さらに、バッファメモリの容量で処理できる画像サイズが制限されてしまう。さらに、バッファメモリに保持されているデータの空間的な位置の確定方法等についての記載がない。またさらに、特許文献２では、小領域（ブロックライン）単位での歪補正処理については全く記載されていない。
【００１６】
そこで、本発明は上記の問題に鑑み、小領域（例えばブロックライン）の空間的な位置を算出可能とし、小領域単位での歪補正処理を実現可能とした画像処理装置及び歪補正方法を提供することを目的とするものである。
【００１７】
また、本発明は、間引き取り込みされた画像データに対しても、正確な歪補正を行える一方、デジタルズームなど、任意領域を切り出したデータに対しても正確な歪補正を行える画像処理装置及び歪補正方法を提供することを目的とするものである。
【００１８】
【課題を解決するための手段】
請求項１の発明は、画像データに対して歪補正処理を行う歪補正手段を有する画像処理装置において、前記歪補正手段は、補正前の画像データ内において、補正画像の各画素が対応する位置を所定の補正式に従って算出する際、撮像面における空間的な位置を記述可能な座標系において算出することを特徴とする。
【００１９】
この構成では、補正前の画像データ内において、補正画像の各画素が対応する位置を算出する際、撮像面に対応する座標系（即ち２次元空間における位置）を基準にして計算を行う。
【００２０】
請求項２の発明は、請求項１に記載の画像処理装置において、前記歪補正手段は、補正画像に含まれる第１の小領域を単位に処理を行い、前記第１の小領域の各画素の座標位置を前記補正式に従って変換した小領域を含む撮像面における第２の小領域について、前記撮像面に対応する座標系での位置を、前記第２の小領域での座標に変換した後に、前記補正画像の各画素のデータを生成することを特徴とする。
【００２１】
この構成では、変換される小領域内での座標に基づいて、補間処理を行うことができる。
【００２２】
請求項３の発明は、請求項１又は２に記載の画像処理装置において、前記画像データは、撮像データの一部のみを取り込んだ部分画像データであることを特徴とする。
【００２３】
この構成では、画像データとしては、撮像したデータ全てではなくその一部、例えばデジタルズームの際に撮像データの中央部分から切り出されるデータや、撮像データから間引きによって生成される縮小データに対しても、適用することができる。
【００２４】
請求項４の発明は、請求項３記載の画像処理装置において、前記部分画像データは、前記撮像データの一部を切り出したデータであることを特徴とする。
【００２５】
この構成でのデータとしては、例えばデジタルズームの際に撮像データの中央部分から切り出されるデータや、監視カメラのように全画面データから取り込まれる画面の端部分に相当する領域のデータなどがある。
【００２６】
請求項５の発明は、請求項３記載の画像処理装置において、前記部分画像データは、前記撮像データの横または縦の少なくとも一方向に間引かれたデータであることを特徴とする。
【００２７】
この構成でのデータとしては、撮像データから間引きによって生成される解像度を低くした縮小データや、ＣＣＤのモニタリングモードでのラインが間引きかれたデータや、ＹＣ４２２データにおける色データのように横方向に間引かれたデータなどがある。縦，横両方向に間引かれたデータであってもよい。
【００２８】
請求項６の発明は、請求項１記載の画像処理装置において、前記画像データは、前記撮像データに対してフィルタリング，空間サンプリングまたは補間処理の少なくともいずれか１つを行って生成されるデータであることを特徴とする。
【００２９】
この構成では、画像データとしては、周波数的に制限するフィルタリングを行ったり、撮像デバイスの撮像面のような２次元的空間から適宜にサンプリングしたり、補間処理（標本化処理などで離散化した画素と画素の間に、周囲の画素からの推定によって画素を作り出す処理）したり、することによって得られるデータなどがある。
【００３０】
請求項７の発明は、請求項１に記載の画像処理装置において、前記画像データは、各画素が撮像面で空間的に位置する間隔が縦方向及び横方向で異なることを特徴とする。
【００３１】
この構成でのデータは、空間的なサンプリング間隔が縦方向及び横方向で異なる場合のデータである。例えば、ＣＣＤのモニタリングモードでのラインが間引きかれたデータや、ＹＣ４２２データにおける横方向に間引かれた色データなどがある。
【００３２】
請求項８の発明は、請求項１〜７のいずれか１つに記載の画像処理装置において、画像データにおける各画素の空間的なサンプリング間隔が縦横で異なる場合、歪補正前の画像内における座標を求める補正式は、縦横でのサンプリング間隔の違いを補正する係数を含むことを特徴とする。
【００３３】
この構成では、歪補正式における、縦横で空間的なサンプリング比が異なる現象を補正する補正係数Ｓｘ，Ｓｙを含むことを意味している。
【００３４】
請求項９の発明は、請求項１〜８のいずれか１つに記載の画像処理装置において、歪補正前の画像内における座標を求める補正式は、所定量のオフセット補正が可能であることを特徴とする。
【００３５】
この構成では、歪補正式における、歪補正処理によって、撮影時とは被写体位置がずれてしまう現象（オフセット現象）を補正することを意味している。
【００３６】
請求項１０の発明は、請求項９に記載の画像処理装置において、前記オフセット補正は、歪の中心と画像の中心が一致しない場合に行うことを特徴とする。
【００３７】
この構成では、例えば光学系レンズの幾何学的変形の中心に対応した歪中心（光軸）と撮影画像の中心（ＣＣＤの中心）が一致しない場合に、歪補正を行うと補正の前後で画像の中心がずれてしまう現象を、中心ずれの補正係数Ｘｏｆｆ，Ｙｏｆｆ  によって、出力画像範囲に対する画像の中心ずれを無くすことができる。
【００３８】
請求項１１の発明は、画像データに対して歪補正処理を行う歪補正手段を有する画像処理装置の歪補正方法であって、前記歪補正方法は、補正画像の各画素に対応する座標系での第１の位置を生成するステップと、前記第１の位置を、歪補正式に従って歪補正前の画像データ内における座標系での第２の位置に変換するステップと、前記歪補正前の画像データ内における座標系での第２の位置を、撮像面に対応する座標系を基準とする設定領域内での座標に変換するステップと、前記設定領域内での座標に基づいて補間処理を行い、前記補正画像の各画素のデータを生成するステップと、を有することを特徴とする。
【００３９】
この歪補正方法では、例えば撮像レンズによる幾何学的歪みを補正する補正式によって、補正画像の各画素のデータを得る際には、補正画像の各画素に対応する座標系での第１の位置に対して、歪補正式に従って歪補正前の画像データ内における座標系での第２の位置に変換し、この変換された第２の位置を、撮像面に対応する座標系を基準とする設定領域内での座標に変換し、この座標に基づいて補間処理を行って補正画像の画素データを生成する。
【００４０】
請求項１２の発明は、前記請求項１１記載の歪補正方法においては、前記補正画像に含まれる小領域を単位に処理を行うことを特徴とする。
【００４１】
この方法では、補正画像に含まれる小領域（例えばブロックラインと呼ばれる領域）を単位に処理を行うものである。
【００４２】
【発明の実施の形態】
発明の実施の形態について図面を参照して説明する。
図１は本発明の一実施の形態の画像処理装置の全体構成を示すブロック図である。図２は図１における歪補正処理部の構成を示すブロック図である。
【００４３】
図１の画像処理装置においては、バス３に接続された各部の制御を行うＣＰＵ４の制御により、ＣＣＤ１からの撮像信号をプリプロセス回路２で画素欠陥処理やＡ／Ｄ変換等を行い、得られた画像データを、バス３を介してフレームメモリ５に一旦記憶する。フレームメモリ５は、ＳＤＲＡＭ等で構成され、画像処理前のデータ及び画像処理後のデータを格納するメモリである。次いで、フレームメモリ５から読み出した画像データをバス３を介して、第１データ順序変換部６に入力する。第１データ順序変換部６は、後に図６（Ａ）で説明するように、ブロック単位のデータを記憶可能なメモリを複数、ここでは２つ備えている。第１データ順序変換部６は、  フレームメモリ５から行方向にデータを読み出して記憶した後、列方向にデータを順に読み出し、イメージプロセス回路７に出力する。
【００４４】
イメージプロセス回路７は入力したデータに対して所定の画像処理を行って次段の歪補正手段としての歪補正処理部８に転送する。歪補正処理部８は入力したデータに対して歪補正処理を行って次段の第２データ順序変換部９へ転送する。第２データ順序変換部９は、後に図６（Ｂ）で説明するように、ブロック単位のデータを記憶可能なメモリを複数、ここでは２つ備えている。第２データ順序変換部９は、  歪補正処理部８から列方向にデータを読み出して記憶した後、行方向にデータを順に読み出し、ＪＰＥＧ処理部１０に転送する。そして、ＪＰＥＧ処理部１０でＪＰＥＧ圧縮処理を行い、処理データをフレームメモリ５に一旦記憶し、フレームメモリ５から読み出した処理データをメモリカード等１１に記録するようになっている。
【００４５】
歪補正処理部８は、図２に示すように、歪補正後の補正画像の位置（補間位置という、Ｘ，Ｙ）とこれに対応した歪補正前の元の画像の位置（Ｘ’，Ｙ’）を生成する補間座標生成部８１と、歪補正処理部８の前段ブロックの回路からの画像データの一部を一時的に格納しておくバッファメモリ（以下、単にバッファ）としての内部メモリ部８２と、その内部メモリ部８２に対する書き込み及び読み出しの制御を行うメモリ制御部８３と、変換した歪補正前の画像位置の座標（Ｘ’，Ｙ’）に従って画像処理をしてデータの歪補正をする補間演算部８４と、を有して構成されている。
【００４６】
補間座標生成部８１は、図２に示すように、補間座標（Ｘ，Ｙ）を生成する座標生成部８１１と、生成された補間座標（Ｘ，Ｙ）に対して所定の歪補正式［式１］（後述する）を適用して変換した補正前の座標（Ｘ’，Ｙ’）を出力する歪補正座標変換部８１２と、座標生成部８１１からの補間座標（Ｘ，Ｙ）と歪補正座標変換部８１２からの変換座標（Ｘ’，Ｙ’）とを選択的に出力可能なセレクタ８１３と、で構成されている。歪補正処理部８における座標生成部８１１，歪補正座標変換部８１２，セレクタ８１３，メモリ制御部８３については、制御データを格納した制御レジスタ８５に設定された各ブロックに対する設定値に従って動作する。また、処理結果のステータスなどをＣＰＵから参照することができる。
【００４７】
以上のように構成された本発明による画像処理装置においては、上記第１データ順序変換部６からＪＰＥＧ処理部１０までは、バス３を介することなく、該バス３とは異なる情報伝達経路でパイプライン処理可能なように接続されていて、画像データを、２次元的な画素配列における所定のブロック単位で転送して処理するようになっている。このようにバス３を介したデータ転送は、フレームメモリ５から第１データ順序変換部６への転送と、ＪＰＥＧ処理部１０からフレームメモリ５への転送及びフレームメモリ５からメモリカード１１への転送だけとなり、したがってフレームメモリと各イメージプロセス回路との間でデータのやりとりを行っていた従来例（図１５（ｂ））と比べて、バス３によるデータ転送量を大幅に低減させることができ、バス３の負荷を大幅に軽減することが可能となる。また、この図１に示す例においては、画像処理を行うイメージプロセス回路７を１つのみ設けているが、複数あっても構わない。さらに、図では、イメージプロセス回路７の後段に歪補正処理部８が設けられているが、逆の構成であっても構わない。
【００４８】
初段のイメージプロセス回路７と２段目のイメージプロセス回路である歪補正処理部８で構成されるイメージプロセス回路部では、各イメージプロセス回路７，８の前段或いは内部にパイプラインレジスタとして、図示しない小容量のメモリが配置されていて、該小メモリを介して、各イメージプロセス回路７，８がパイプライン処理動作を行うように構成されている。これらの小容量のメモリは、各イメージプロセス回路７，８で空間的な画像処理を行う場合、画像処理に必要な周辺データの記憶をするために、また画像データをブロック単位で読み出して配列換えなどを行って処理する必要があるために、設けられている。
【００４９】
図３は歪補正処理部８における座標変換の概念図を示している。図３（ａ）は元データである撮像画像データ、同図（ｂ）は補正画像、同図（ｃ）は（ｂ）の補正画像の座標位置（Ｘ，Ｙ）に対して（ａ）の元データの座標上に変換された座標位置Ｐでのデータの座標（Ｘ’，Ｙ’）（この座標は元データを実際に構成する複数の画素の位置には必ずしも正確には一致しない座標位置にある）を示している。そのＰ点での座標位置（Ｘ’，Ｙ’）はそのＰ点の周辺の画素１６点の座標を使って算出されると共にＰ点での画像データはその周囲の前記１６点の画素データを用いて補間演算される。補間演算部８４にて点Ｐの位置のデータをその周囲の１６点の画素値（輝度データ）から補間演算するべく処理が行われる。図２の補間位置生成部８１１で補間座標を生成するというのは、図３（ｂ）の補正画像側でどこの画素位置（Ｘ，Ｙ）を指し示すか、ということである。
【００５０】
［式１］では、歪補正後の画素位置（Ｘ，Ｙ）に対する歪補正前の画素位置（Ｘ’，Ｙ’）を算出することができる。但し、歪補正前の画素位置（Ｘ’，Ｙ’）は元画像データ上の画素位置に対応した整数値になるとは限らないことは前述した通りである。
【００５１】
［式１］に従うと、図３（ｂ）の座標（Ｘ，Ｙ）が同図（ａ）のように座標（Ｘ’，Ｙ’）に変換される。これにより、元データの中のどこの座標位置のデータを作成すれば、よいかを知ることができ、その位置（Ｘ’，Ｙ’）のデータを１６点補間処理を行う補間式を用いて周囲１６点の既知の画素値（図３（ｃ）  の黒丸印の入力画像データ）から算出して得ることができる。
【００５２】
【式１】
2005045513.tif 000003
［式１］におけるＺは、歪中心（Ｘｄ，Ｙｄ）から今注目している点（Ｘ，Ｙ）までの距離である。［式１］によって、補正画像の点（Ｘ，Ｙ）に対して歪んでいる元画像の方の座標（Ｘ’，Ｙ’）が算出される。［式１］について補足説明すると、Ｍは光学系のデータを用いて理論的に補正した際、補正後に画像がはみ出したり、不足したりする現象を補正するための補正倍率である。Ｓｘ，Ｓｙは間引き取込みなど、縦横で空間的なサンプリング間隔が異なる現象の補正をするためのサンプリング比である。Ｘｏｆｆ，Ｙｏｆｆは歪補正処理によって、歪補正処理後に、被写体位置が撮影時の位置とはずれてしまう現象の補正をする中心ずれの値である。
【００５３】
本発明に係る［式１］では、高次項（具体的にはＺ４、Ｚ６、…）を考慮することで、より複雑な陣笠型の歪（図４参照）にも対応できるようにしている。また、中心が一致していても撮像素子の一部しかデータを取り込まない場合や、光軸中心と撮像素子中心がずれている場合など、歪中心（Ｘｄ，Ｙｄ）を考慮する必要がある。さらに、歪補正処理により被写体位置が撮影時の位置からずれる現象を補正するため、中心ずれ補正値（Ｘｏｆｆ，Ｙｏｆｆ）を考慮する必要がある。間引き取込みの場合や輝度データ（Ｙ）と色データ（Ｃｂ，Ｃｒ）からなるＹＣ画像を処理する場合は、Ｘ，Ｙで空間的なサンプリングが異なる。そこで係数としてサンプリング比（ＳＸ，Ｓｙ）を導入して、座標変換を補正するようにしている。
【００５４】
次に、図５，図６を参照して画像データの書き込み及び読み出しの処理及び順序について説明する。
【００５５】
図５は、本実施の形態におけるフレームメモリからの画像データの読み出し順序を説明する図である。
画像データは、通常は、ライン方向、つまり行方向にスイープさせて書き込まれていて、読み出し時は行方向に読み出されるようになっており、１ラインの画像データを全て読み出して、次に隣接するラインの画像データを全て読み出すといった動作を繰り返して行うのが普通である。
【００５６】
これに対して、本発明に係る画像処理装置は、行方向にスイープさせて書き込まれた画像データを、列方向にある一定の長さを単位に、行方向の画像データを順番にイメージプロセス部７に入力し、以降、順次隣の列をイメージプロセス部７に入力して、画像の右端まで繰り返して得られる小領域（矩形状の画像データ）をブロックライン（ＢＬ）と呼ぶ。
【００５７】
こうした画像データの読み出しを可能にするための第１データ順序変換部６と、第２データ順序変換部９との構成を、図６を参照して説明する。図６は、第１，第２データ順序変換部の構成を示すブロック図である。
【００５８】
第１データ順序変換部６は、図６（Ａ）に示すように、ブロック単位の画像データを記憶可能なメモリを複数、ここでは２つ備えており、この２つのメモリ６ａとメモリ６ｂが書き込み側，読み出し側の各スイッチにて書き込み，読み出しが交互に切り換えられるようになっている。すなわち、フレームメモリ５は、書き込み側のスイッチにて、これらメモリ６ａとメモリ６ｂとに切換可能に接続されているとともに、イメージプロセス部７も読み出し側のスイッチにてこれらのモリ６ａとメモリ６ｂとに切換可能に接続されていて、フレームメモリ５がメモリ６ａとメモリ６ｂとの一方に接続されているときには、該メモリ６ａとメモリ６ｂとの他方がイメージプロセス部７に接続されるように切り換えられる。すなわち、メモリ６ａ，６ｂは、フレームメモリ５とイメージプロセス部７との両方に同時に接続されることがないようにスイッチングされ、交互に書き込み，読み出しが行われるようになっている。
【００５９】
フレームメモリ５に記憶されているフレーム画像の一部は、ブロック単位でライン方向に読み出され、一方のメモリ、ここでは例えばメモリ６ａに記憶される。
【００６０】
これと並行して、メモリ６ｂからは、既にフレームメモリ５から読み出されて記憶されているブロック単位の画像データが、列方向（縦方向）に順に読み出されて、イメージプロセス部７へ出力される。
【００６１】
フレームメモリ５からメモリ６ａへの書き込みと、メモリ６ｂからイメージプロセス部７への読み出しが終了すると、書き込み側のスイッチおよび読み出し側のスイッチが切り換えられて、次に、フレームメモリ５からメモリ６ｂへ次のブロック単位の画像データの書き込みが開始されるとともに、メモリ６ａからイメージプロセス部７へのブロック単位の画像データの読み出しが開始される。
【００６２】
第２データ順序変換部９も、図６（Ｂ）に示すように、上記第１データ順序変換部６とほぼ同様に構成されていて、ほぼ同様に動作するようになっている。
【００６３】
すなわち、第２データ順序変換部９は、メモリ９ａ，メモリ９ｂと、書き込み側スイッチ，読み出し側スイッチとを有して構成されている。
【００６４】
そして、該第２データ順序変換部９の動作時には、歪補正処理部８からの書き込みがメモリ９ａとメモリ９ｂとの一方に対して列方向（縦方向）に行われ、メモリ９ａとメモリ９ｂとの他方からは行方向（横方向）に読み出しが行われて、ＪＰＥＧ処理部１０へ出力されるようになっている。
歪補正座標変換の［式１］は、あくまでも全画面の中の画像であって、補正画像についてもその座標変換結果の（Ｘ’，Ｙ’）の画像にしても、全画面中で何処に位置しているかを計算している。
【００６５】
ところが、歪補正処理部８に入力される画像データはブロックライン単位である。歪補正処理部８としては、入力される画像データの空間的な位置関係（２次元空間における位置）を知る必要がある。制御レジスタ８５は、歪補正処理部８で処理するブロックラインの位置を指定している。
【００６６】
図７は、補正前の撮像画像データと補正後の補正画像の関係を示している。図７（ａ）は撮影画像データ、同図（ｂ）は補正画像を示している。図７（ａ），（ｂ）は補正画像（出力側画像）の或るブロックラインＢＬの或る画素位置Ａに注目している場合の概念図である。補正画像（出力画像）内の位置Ａの座標（Ｘ，Ｙ）は、歪補正座標変換の［式１］を用いて（入力画像）内の位置Ａ’の座標（Ｘ’，Ｙ’）に変換される。
【００６７】
座標位置（Ｘ，Ｙ）及び（Ｘｂｌｓｔ，Ｙｂｌｓｔ）、座標位置（Ｘ’，Ｙ’）及び（Ｘ’ｂｌｓｔ，Ｙ’ｂｌｓｔ）は、全画面の原点からの位置を示している。ここでは、原点は、全画面の左上端部としている。
【００６８】
歪補正ブロックへ入力される画像データは、符号ＢＬにて示すブロックライン単位である。そのため、まず補正画像の例えば画素Ａを歪座標変換処理するには、最終的な補間処理ができるようにブロックラインＢＬ内での座標系における座標位置（ｘ’，ｙ’）に変換する必要がある。
【００６９】
まず、図７（ｂ）の補正画像（出力画像）の各画素に対する座標位置（Ｘ，Ｙ）は、下記の式２で生成する。
【００７０】
［式２］
Ｘ＝Ｘｂｌｓｔ＋ｍ×ΔＸ
Ｙ＝Ｙｂｌｓｔ＋ｎ×ΔＹ
ΔＸ，ΔＹは補間ピッチで、１．０以上なら縮小画像が生成され、１．０以下なら拡大画像が生成される。座標位置（Ｘｂｌｓｔ，Ｙｂｌｓｔ）は歪補正ブロックの出力側ブロックラインの左肩の位置、すなわち、ブロックラインのスタート位置に相当している。（ｍ，ｎ）＝（０，０）のとき、Ｘ＝Ｘｂｌｓｔ，Ｙ＝Ｙｂｌｓｔとなるので、［式２］から座標位置（Ｘｂｌｓｔ，Ｙｂｌｓｔ）を算出できることになる。ｍ＝０，ｎ＝０から始めて、ｍ，ｎを例えば交互に１ずつ増やしていけば、ブロックラインＢＬ内の全ての画素の座標位置（Ｘ，Ｙ）を生成することができる。
【００７１】
このＢＬに対し、ＢＬ内全ての画像の座標位置を式１に従って変換すると、図７（ａ）の変形したハッチング領域ＢＬ″にマッピングされる。図７（ａ）のＢＬ’は、図７（ｂ）のＢＬを処理するのに必要な入力データの範囲となる。（Ｘ’ｂｌｓｔ，Ｙ’ｂｌｓｔ）は、ＢＬ’の左上位置であり、補間に必要な画素等を考慮すると、変形したハッチング領域の左上位置とは一致しない。ＢＬ’は、本願と同日出願の特願２００３‐２０２４９３号に詳細を説明したサポート機能（歪補正範囲算出部）を利用して設定する。
【００７２】
［式２］で生成された補正後の出力画像の座標位置（Ｘ，Ｙ）を、［式１］で座標変換して図７（ａ）の補正前の入力画像の座標位置（Ｘ’，Ｙ’）を求める。そして、座標変換された座標位置（Ｘ’，Ｙ’）と、座標位置（Ｘ’ｂｌｓｔ，Ｙ’ｂｌｓｔ）との差分をとることにより、ブロックライン（太い点線の矩形）の左肩を原点とする座標位置（ｘ’，ｙ’）を求めることができる。
【００７３】
その結果、このブロックライン内での座標位置（ｘ’，ｙ’）に基づき、ブロックライン単位での補間処理を行えることになる。
【００７４】
図７（ａ）に示す入力画像側の太い点線で示すブロックラインＢＬ’はレジスタ８５によって設定するが、その値を生成するためには、歪の変形を考慮して画像データの入力範囲（歪補正範囲）を算出可能とするサポート機能が必要となる。このサポート機能は、歪補正処理部８の歪補正処理機能に付加するなどして設ければよい。
【００７５】
次に、図８を参照して歪補正処理フローを説明する。図８は図７の歪補正処理のフローチャートである。
【００７６】
まず、図７（ｂ）のハッチングを施したところのブロックライン処理を開始する（ステップＳ１）。前述の［式２］で、（ｍ，ｎ）＝（０，０）とおくことにより（ステップＳ２）、図７（ｂ）のハッチング領域の左肩、すなわちブロックラインのスタート座標位置（Ｘｂｌｓｔ，Ｙｂｌｓｔ）を求める。そして、［式２］から補正画像の座標位置（Ｘ，Ｙ）を求めることができる。この場合、ｍ，ｎをそれぞれ１ずつ増やしていけば、図７（ｂ）のハッチングで示すブロックラインＢＬ内の各画素の座標位置（Ｘ，Ｙ）を生成することができる（ステップＳ３）。
【００７７】
次に、［式１］を用いて補正画像における座標系の位置（Ｘ，Ｙ）を、補正前の撮影画像における座標系の位置（Ｘ’，Ｙ’）に変換する（ステップＳ４）。
【００７８】
そして、撮影画像における座標系の位置（Ｘ’，Ｙ’）を、前述した方法で入力ブロックラインＢＬ内の座標系の位置（ｘ’，ｙ’）に変換する（ステップＳ５）。
【００７９】
次に、このブロックラインＢＬ内での座標位置（ｘ’，ｙ’）に基づいて補間処理を行い、座標位置（Ｘ’，Ｙ’）における１６点補間などで周辺の複数の画素データから補間データを算出することで、１画素分の補正画像データが得られる（ステップＳ６）。
【００８０】
そして、以上のステップが、補正画像の座標系のＢＬ内全画素について行われたか否かについて判断し（ステップＳ７）、終了していなければ次のｍ，ｎを設定して（ステップＳ８）、ステップＳ３〜Ｓ７を繰り返し行い、ステップＳ７の判定で全画素について処理が終了していれば、ステップＳ９に移行する。
【００８１】
ステップＳ９では、全画面（フレーム）内の全てのブロックラインＢＬについて歪補正処理が終了したか否かを判断しており、終了していなければ次の入力ブロックラインＢＬを選択し、ステップＳ１〜ステップＳ９を繰り返し、ステップＳ９の判定で全画面ついて処理が終了していれば、終了する。
【００８２】
図９及び図１０は、図８の変形例とも言うべきものである。
デジタルズームを行う場合や注目する小領域のみを切り出す場合、撮像データの一部しか使わなくても構わない。選択的にＣＣＤから撮像データの一部を取り込むことでメモリを節約することができる。この場合に歪補正をブロックライン単位で行うためには、取り込まれたデータが、撮像素子上でどこに位置するかの情報（Ｘ’ｉｍｇｓｔ，Ｙ’ｉｍｇｓｔ）が必要である。
【００８３】
図９は、デジタルズームの場合を示し、撮像した画像データから中央部分のみを取り込むものである。図８の場合と異なる点は、上述したように、全画面の中で何処を取り込むかをプリプロセス回路２で設定している点である。この設定に基づいて必要な部分のみを取り込んでおり、その範囲を図９（ａ）のＥ’で示す。
【００８４】
まず、図９（ｂ）で全画面の中のデジタルズームする範囲Ｅの左肩に当たるスタート位置（Ｘｉｍｇｓｔ，Ｙｉｍｇｓｔ）を設定する。次に、ブロックラインＢＬを設定するが、ここでは梨地にて示す部分である。このとき、取り込み範囲Ｅの左肩を原点とする、位置座標（Ｘｂｌｓｔ，Ｙｂｌｓｔ）が決定し、［式２］と同様にｍ，ｎを変化させることで、ブロックラインＢＬ内における各画素の座標を生成することができる。
【００８５】
この結果、座標位置（Ｘｉｍｇｓｔ，Ｙｉｍｇｓｔ）、（Ｘｂｌｓｔ，Ｙｂｌｓｔ）、（ｍ×ΔＸ，ｎ×ΔＹ）から全画面の座標における位置（Ｘ，Ｙ）が決定される。
【００８６】
撮影画像における座標位置（Ｘ’，Ｙ’）は、上記のように決定された座標位置（Ｘ，Ｙ）から［式１］を用いて求めることができる。
【００８７】
そして次に、撮影画像データにおけるブロックラインＢＬ’の中での座標位置（ｘ’，ｙ’）を求める。
【００８８】
まず、取り込まれた撮像データの撮像面における設定範囲Ｅ’から左肩の座標（Ｘ’ｉｍｇｓｔ，Ｙ’ｉｍｇｓｔ）が分かる。取り込み範囲Ｅ’の左肩を原点とする座標で、ブロックラインＢＬ’の左肩の座標位置（Ｘ’ｂｌｓｔ，Ｙ’ｂｌｓｔ）はサポート機能を利用して予め求められており、ブロックラインＢＬ’内での座標における座標位置（ｘ’，ｙ’）が決定される。その結果、ブロックラインごとの補間処理が行われる。
【００８９】
図１０は撮像データから或る領域、例えば画面の端の方を切り出す場合である。これは、監視カメラなどにおいて、撮像データの端部分を取り込むような場合に相当する。図１０の場合も、図９と同様な符号を付してある。図９と切り出す位置が異なっているだけで、図９の場合と同様な動作となる。
【００９０】
なお、通常のデジタルカメラでは、ＣＰＵが制御レジスタに切り出す領域を設定するため、切り出し位置が分かっており、上記の変換が可能だが、記録後のデータに歪補正処理を行う場合ではタグ等に切り出し領域の位置とサイズを同時に記録する必要がある。このとき、同時に補正係数も記録しておく。
【００９１】
ところで、撮像素子としてのＣＣＤにはモニターモード（撮像した全画面を読み出さないモード）が用意されることが多い。モニターモードでは、ラインが間引かれることが多く、撮像素子における２次元空間的には同一でも、データ上ではサイズが異なることがある。また、プリプロセスにおいて、横方向の画素も間引かれることがある。また、ＣＣＤからの撮像データにローパスフィルタ（ＬＰＦ）などのフィルタリング処理をかけたり、補間処理をしてフレームメモリに取り込むことがある。この場合、縦横のサンプリング比が整数にならない場合が生じる。さらに、ＪＰＥＧにおけるＹＣｂＣｒの記録では、ＣｂやＣｒ成分の横方向は２倍の間隔でサンプリングされることが多く、データとしては横方向が縮んだ形になる。これらは、［式１］では、Ｓｘ，Ｓｙによって補正する。
【００９２】
図１１（ａ）は、撮像時のデータ取り込みにおいて、実際にＣＣＤから送られてくるデータが黒丸印のところしかなく、縦方向に３ライン間引いている状態を示している。モニターモードでは、このようにＣＣＤからは間引かれたデータしか出力されず、これをメモリに取り込むと、図１１（ｂ）のように間引きによって上下方向につぶれた画像データとなる。図１１（ｃ）のように、空間的に中心から同じ距離にあるデータを取り出しても、同図（ｂ）のように横方向に対して画像が短く出力されるという現象が現れる。この結果、［式１］による歪補正では、中心からの距離が遠いほど歪補正の効果が大きくなるようにしてあるので、縦と横で、歪補正の効果が変わってしまう。
【００９３】
このように縦と横で画像が非対称となるのを補正する目的で、補正係数Ｓｘ，Ｓｙが設けられている。図１１（ｂ）の場合には、縦方向に伸ばす必要があるため、Ｓｘ＝１，Ｓｙ＝４とする。
【００９４】
このＳｘ，Ｓｙの効果により、縦，横のサンプリング比が異なっても正確な歪補正が可能となる。
【００９５】
また、前述のように、サンプリング比が整数でない場合は、Ｓｘ，Ｓｙも非整数で設定すればよい。さらに、撮像素子の各画素の間隔が縦横で異なる場合でも可能（例えば長方画素）である。
【００９６】
ところで、通常、ＪＰＥＧだとＹＣｂＣｒというデータで記録されるのが一般的であるが、そのときの設定として、図１２に示すような場合が考えられる。例えば、ＹＣ４２２という形式のデータの場合は、輝度データに比べて色データについての解像度は横方向が１／２となっている。この場合は、色データについてはＳｘ＝２，Ｓｙ＝１と設定して、補正処理を行えばよい。
【００９７】
ところで、歪の中心と画像の中心が一致しない場合、補正前に中心にあった被写体が、補正後は中心からずれてしまう。［式１］  では、中心ずれ補正値（Ｘｏｆｆ，Ｙｏｆｆ）で補正することにより、補正前後で画像の中心に来る被写体が変化しないようにすることが可能である。
【００９８】
図１３は、画像の中心ずれを説明する図である。
図１３は補正画像を示す。前述の図３（ｂ）では、歪の中心と画像の中心が一致している、すなわち、ＣＣＤの中心（画像の中心）がレンズ光軸（歪の中心）に一致している場合であった。
【００９９】
図１３は、ＣＣＤの中心に対して歪の中心がずれている場合である。図１３では、歪中心（Ｘｄ，Ｙｄ）が画像の中心と異なるので、中心ずれを考慮せずに歪補正を行った場合、出力範囲Ｈに対する画像の中心ＰがＱ点（大きな黒丸にて示す）にずれる。ユーザにとっては、実際に撮影した画像と歪補正後に表示される画像の中心がずれると、非常に違和感を感じるものである。そこで、元々歪補正前に出力範囲Ｈの中心にあったデータを、出力範囲に対して中心の位置にくるようにするために、歪補正された画像データの切り出した方を変える。それを行うためには、画像の中心ずれを（Ｘｏｆｆ，Ｙｏｆｆ）で定義して、画像データの切り出した方を変えればよい。画像の中心ずれ（Ｘｏｆｆ，Ｙｏｆｆ）を設定することで出力範囲をＨからＨ’に移動させ、元々画像の中心Ｐにあった被写体を、補正後の出力範囲Ｈ’においても中心にくるように補正することができる。
【０１００】
図１３の実施の形態によれば、中央の被写体がずれることによる違和感を無くすことが出来る。
【０１０１】
【発明の効果】
以上述べたように本発明によれば、小領域（例えばブロックライン）の空間的な位置を算出可能とし、小領域単位での歪補正処理を実現することができる。また、間引き取り込みされた画像データに対しても、正確な歪補正を行える一方、デジタルズームなど、任意領域を切り出したデータに対しても正確な歪補正を行うことができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態の画像処理装置の全体構成を示すブロック図。
【図２】図１における歪補正処理部の構成を示すブロック図。
【図３】歪補正処理部における座標変換の概念図。
【図４】陣笠型の歪を生じた撮影画像を示す図。
【図５】本実施の形態におけるフレームメモリからの画像データの読み出し順序を説明する図。
【図６】第１，第２データ順序変換部の構成を示すブロック図。
【図７】補正前の撮像画像データと補正後の補正画像の関係を示す図。
【図８】図７の歪補正処理のフローチャート。
【図９】デジタルズームの場合で、補正前の撮像画像データと補正後の補正画像の関係を示す図。
【図１０】撮像データから或る領域を切り出す場合で、補正前の撮像画像データと補正後の補正画像の関係を示す図。
【図１１】ＣＣＤのモニターモードにおけるライン間引きを説明する図。
【図１２】ＹＣ４２２形式のデータにおける横方向の間引きを説明する図。
【図１３】画像の中心ずれを説明する図。
【図１４】格子状の被写体、樽型歪を生じた撮影画像、糸巻き型歪を生じた撮影画像を示す図。
【図１５】一般的なデジタルカメラの画像処理手順の概念、及び従来のデジタルカメラの画像処理装置におけるブロック構成を示す図。
【図１６】ＣＣＤの画素と像の関係を示す図。
【符号の説明】
１…ＣＣＤ
３…バス
４…ＣＰＵ
５…フレームメモリ
６…第１データ順序変換部
７…イメージプロセス回路
６…第１データ順序変換部
８…歪補正処理部（歪補正手段）
９…第２データ順序変換部
１０…ＪＰＥＧ処理部
１１…メモリカード（記録媒体）
８２…内部メモリ部（バッファ）
８３…メモリ制御部
８５…制御レジスタ
【図１】
2005045513.tif 000004
【図２】
2005045513.tif 000005
【図３】
2005045513.tif 000006
【図４】
2005045513.tif 000007
【図５】
2005045513.tif 000008
【図６】
2005045513.tif 000009
【図７】
2005045513.tif 000010
【図８】
2005045513.tif 000011
【図９】
2005045513.tif 000012
【図１０】
2005045513.tif 000013
【図１１】
2005045513.tif 000014
【図１２】
2005045513.tif 000015
【図１３】
2005045513.tif 000016
【図１４】
2005045513.tif 000017
【図１５】
2005045513.tif 000018
【図１６】
2005045513.tif 000019