JP2005045513A - Image processor and distortion correction method - Google Patents

Image processor and distortion correction method Download PDF

Info

Publication number
JP2005045513A
JP2005045513A JP2003202663A JP2003202663A JP2005045513A JP 2005045513 A JP2005045513 A JP 2005045513A JP 2003202663 A JP2003202663 A JP 2003202663A JP 2003202663 A JP2003202663 A JP 2003202663A JP 2005045513 A JP2005045513 A JP 2005045513A
Authority
JP
Japan
Prior art keywords
image
data
distortion correction
processing apparatus
image processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003202663A
Other languages
Japanese (ja)
Inventor
Masaki Higure
正樹 日暮
Hideaki Furukawa
英明 古川
Akira Ueno
晃 上野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Olympus Corp
Original Assignee
Olympus Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olympus Corp filed Critical Olympus Corp
Priority to JP2003202663A priority Critical patent/JP2005045513A/en
Priority to EP04771117.1A priority patent/EP1650705B1/en
Priority to EP12006314.4A priority patent/EP2533192B1/en
Priority to PCT/JP2004/011010 priority patent/WO2005010818A1/en
Priority to US10/566,408 priority patent/US7813585B2/en
Publication of JP2005045513A publication Critical patent/JP2005045513A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processor and a distortion correction method for calculating a spatial position of a small region, realizing distortion correction processing in units of small regions, and applying accurate distortion correction even to image data captured through thinning and also data obtained by segmenting an optional region. <P>SOLUTION: The image processor with a distortion correction means for applying the distortion correction processing to image data generates a first position in a coordinate system corresponding to each pixel of a corrected image, converts the first position into a second position in the coordinate system in the image data before distortion correction according to the distortion correction coordinate conversion [formula 1], converts the second position in the coordinate system in the image data before the distortion correction into a coordinate in a setting region whose reference coordinate system corresponds to the coordinate system of an imaging face and thereafter carries out interpolation processing on the basis of the coordinate in the setting region to generate data of each pixel of the corrected image. The image processor carries out the distortion correction processing in units of the small regions included in the corrected image. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、主に、デジタルカメラ等の電子的撮像装置に用いられる画像処理装置及び歪補正方法に関し、特に、小領域(例えばブロックライン)単位での歪補正処理を行う場合に、小領域の空間的な位置を算出可能とした画像処理装置及び歪補正方法に関する。
【0002】
【従来の技術】
デジタルカメラ,銀塩カメラを問わず、一般的にカメラの光学系においては歪曲収差が現れる。また、現在発売されているカメラでは、光学ズームが可能な機種が殆どであり、その場合、ワイド端からテレ端にかけて、歪曲収差の状態が変化する。ワイド端では樽型歪が多く、テレ端では糸巻き型歪が多い。
【0003】
歪曲収差は、例えば格子状の被写体を撮影すると、樽型歪、糸巻き型歪として観測される。
【0004】
図14(a)は格子状の被写体、(b)は樽型歪を生じた撮影画像、(c)は糸巻き型歪を生じた撮影画像である。
【0005】
ところで、デジタルカメラにおいては、CCD等の撮像素子のデータに対し、様々な画像処理を行なった後、JPEG等の圧縮方式で圧縮したデータをメモリカード等の記録媒体に記録する。
【0006】
図15(a)は一般的なデジタルカメラで行われている画像処理手順の概念を示している。CCDから取り込まれた撮像信号は、プリプロセスで画素欠陥処理やA/D変換等の処理が行われ、SDRAM等のフレームメモリに一旦記憶される。次に、フレームメモリに記憶された画像データが読み出されて、イメージプロセス1、イメージプロセス2、…、イメージプロセスNにより各種の画像処理が行われる。画像処理後の画像データは、さらにJPEG処理等の圧縮方式で圧縮されて、記録媒体としてのメモリカード等へ記録される。
【0007】
図15(b)は従来のデジタルカメラの画像処理装置のブロック図(例えば特開2000−312327号公報での従来例)を示している。
【0008】
図15(b)において、従来の画像処理装置は、バス103にCPU104と共にプリプロセス回路102,複数のイメージプロセス回路106−1〜106−n,JPEG処理部107,フレームメモリ105及び記録媒体としてのメモリカード等108が接続されている。そして、CPU104の制御により、CCD101からの撮像信号がプリプロセス回路102で画素欠陥処理やA/D変換等が施された後、バス103を通してフレームメモリ105に一旦記憶される。次に、フレームメモリ105から画像データを読み出し、バス103を通してイメージプロセス回路106−1に入力して所定の画像処理を行い、再びバス103を通してフレームメモリ105に書き直す。以下同様にして、バス103を介してフレームメモリ105とイメージプロセス回路106−2〜106−nとの間でデータのやり取りを順次行って、最後にJPEG処理部107でJPEG圧縮処理を行い、画像処理したデータをフレームメモリ105に一旦記憶し、フレームメモリ105から読み出した処理データをメモリカード等108に記録するようになっている。以上の各段のイメージプロセス及びJPEG処理では、小領域(ブロックライン)を単位として画像処理が行われる。
【0009】
一方、通常、CCD等の撮像素子の読み出しは、(1)本撮影用の全画素読み出し、(2)スルー画用の間引き読み出し、の2種類の読み出しが可能である。間引き読み出し等によって、撮像したデータから一部を取り込んだ画像データは、アスペクト比が1:1ではないため、そのままでは正確な歪補正が行えない。
【0010】
また、従来、この画像処理の一部として歪補正を行う先行技術が開示されている。例えば、特開6−181530号公報がある。
【0011】
特開6−181530号公報には、撮影時における撮像ズームレンズの撮像ポジションが歪曲収差の大きいポジション内であることが検出手段にて検出されている場合には、この撮像ズームレンズによって生じた像の幾何学的歪みを、固体撮像素子の撮像データを幾何学的変形に基づき読み出すことにより補正することが記載されている。
【0012】
【特許文献1】
特開2000−312327号公報(第3頁、図19)
【0013】
【特許文献2】
特開6−181530号公報(第1,2頁、図2)
【0014】
【発明が解決しようとする課題】
しかしながら、特許文献1の従来例では、フレームメモリと各イメージプロセス回路間のデータのやり取りが多く、バスのデータ転送量が増大するという問題がある。さらに、小領域(ブロックライン)単位での歪補正処理については全く記載されていない。
【0015】
特許文献2では、歪補正処理を行うことが述べられているが、図16に示すようにCCDの撮像面における画素(黒丸印にて示される縦横の格子点)31に対して、本来直線であるべき被写体像が光学レンズの歪曲収差により湾曲して結像(符号32にて示す)すると、歪曲収差補正回路内のラインメモリに大容量バッファメモリが必要となる。さらに、バッファメモリの容量で処理できる画像サイズが制限されてしまう。さらに、バッファメモリに保持されているデータの空間的な位置の確定方法等についての記載がない。またさらに、特許文献2では、小領域(ブロックライン)単位での歪補正処理については全く記載されていない。
【0016】
そこで、本発明は上記の問題に鑑み、小領域(例えばブロックライン)の空間的な位置を算出可能とし、小領域単位での歪補正処理を実現可能とした画像処理装置及び歪補正方法を提供することを目的とするものである。
【0017】
また、本発明は、間引き取り込みされた画像データに対しても、正確な歪補正を行える一方、デジタルズームなど、任意領域を切り出したデータに対しても正確な歪補正を行える画像処理装置及び歪補正方法を提供することを目的とするものである。
【0018】
【課題を解決するための手段】
請求項1の発明は、画像データに対して歪補正処理を行う歪補正手段を有する画像処理装置において、前記歪補正手段は、補正前の画像データ内において、補正画像の各画素が対応する位置を所定の補正式に従って算出する際、撮像面における空間的な位置を記述可能な座標系において算出することを特徴とする。
【0019】
この構成では、補正前の画像データ内において、補正画像の各画素が対応する位置を算出する際、撮像面に対応する座標系(即ち2次元空間における位置)を基準にして計算を行う。
【0020】
請求項2の発明は、請求項1に記載の画像処理装置において、前記歪補正手段は、補正画像に含まれる第1の小領域を単位に処理を行い、前記第1の小領域の各画素の座標位置を前記補正式に従って変換した小領域を含む撮像面における第2の小領域について、前記撮像面に対応する座標系での位置を、前記第2の小領域での座標に変換した後に、前記補正画像の各画素のデータを生成することを特徴とする。
【0021】
この構成では、変換される小領域内での座標に基づいて、補間処理を行うことができる。
【0022】
請求項3の発明は、請求項1又は2に記載の画像処理装置において、前記画像データは、撮像データの一部のみを取り込んだ部分画像データであることを特徴とする。
【0023】
この構成では、画像データとしては、撮像したデータ全てではなくその一部、例えばデジタルズームの際に撮像データの中央部分から切り出されるデータや、撮像データから間引きによって生成される縮小データに対しても、適用することができる。
【0024】
請求項4の発明は、請求項3記載の画像処理装置において、前記部分画像データは、前記撮像データの一部を切り出したデータであることを特徴とする。
【0025】
この構成でのデータとしては、例えばデジタルズームの際に撮像データの中央部分から切り出されるデータや、監視カメラのように全画面データから取り込まれる画面の端部分に相当する領域のデータなどがある。
【0026】
請求項5の発明は、請求項3記載の画像処理装置において、前記部分画像データは、前記撮像データの横または縦の少なくとも一方向に間引かれたデータであることを特徴とする。
【0027】
この構成でのデータとしては、撮像データから間引きによって生成される解像度を低くした縮小データや、CCDのモニタリングモードでのラインが間引きかれたデータや、YC422データにおける色データのように横方向に間引かれたデータなどがある。縦,横両方向に間引かれたデータであってもよい。
【0028】
請求項6の発明は、請求項1記載の画像処理装置において、前記画像データは、前記撮像データに対してフィルタリング,空間サンプリングまたは補間処理の少なくともいずれか1つを行って生成されるデータであることを特徴とする。
【0029】
この構成では、画像データとしては、周波数的に制限するフィルタリングを行ったり、撮像デバイスの撮像面のような2次元的空間から適宜にサンプリングしたり、補間処理(標本化処理などで離散化した画素と画素の間に、周囲の画素からの推定によって画素を作り出す処理)したり、することによって得られるデータなどがある。
【0030】
請求項7の発明は、請求項1に記載の画像処理装置において、前記画像データは、各画素が撮像面で空間的に位置する間隔が縦方向及び横方向で異なることを特徴とする。
【0031】
この構成でのデータは、空間的なサンプリング間隔が縦方向及び横方向で異なる場合のデータである。例えば、CCDのモニタリングモードでのラインが間引きかれたデータや、YC422データにおける横方向に間引かれた色データなどがある。
【0032】
請求項8の発明は、請求項1〜7のいずれか1つに記載の画像処理装置において、画像データにおける各画素の空間的なサンプリング間隔が縦横で異なる場合、歪補正前の画像内における座標を求める補正式は、縦横でのサンプリング間隔の違いを補正する係数を含むことを特徴とする。
【0033】
この構成では、歪補正式における、縦横で空間的なサンプリング比が異なる現象を補正する補正係数Sx,Syを含むことを意味している。
【0034】
請求項9の発明は、請求項1〜8のいずれか1つに記載の画像処理装置において、歪補正前の画像内における座標を求める補正式は、所定量のオフセット補正が可能であることを特徴とする。
【0035】
この構成では、歪補正式における、歪補正処理によって、撮影時とは被写体位置がずれてしまう現象(オフセット現象)を補正することを意味している。
【0036】
請求項10の発明は、請求項9に記載の画像処理装置において、前記オフセット補正は、歪の中心と画像の中心が一致しない場合に行うことを特徴とする。
【0037】
この構成では、例えば光学系レンズの幾何学的変形の中心に対応した歪中心(光軸)と撮影画像の中心(CCDの中心)が一致しない場合に、歪補正を行うと補正の前後で画像の中心がずれてしまう現象を、中心ずれの補正係数Xoff,Yoff によって、出力画像範囲に対する画像の中心ずれを無くすことができる。
【0038】
請求項11の発明は、画像データに対して歪補正処理を行う歪補正手段を有する画像処理装置の歪補正方法であって、前記歪補正方法は、補正画像の各画素に対応する座標系での第1の位置を生成するステップと、前記第1の位置を、歪補正式に従って歪補正前の画像データ内における座標系での第2の位置に変換するステップと、前記歪補正前の画像データ内における座標系での第2の位置を、撮像面に対応する座標系を基準とする設定領域内での座標に変換するステップと、前記設定領域内での座標に基づいて補間処理を行い、前記補正画像の各画素のデータを生成するステップと、を有することを特徴とする。
【0039】
この歪補正方法では、例えば撮像レンズによる幾何学的歪みを補正する補正式によって、補正画像の各画素のデータを得る際には、補正画像の各画素に対応する座標系での第1の位置に対して、歪補正式に従って歪補正前の画像データ内における座標系での第2の位置に変換し、この変換された第2の位置を、撮像面に対応する座標系を基準とする設定領域内での座標に変換し、この座標に基づいて補間処理を行って補正画像の画素データを生成する。
【0040】
請求項12の発明は、前記請求項11記載の歪補正方法においては、前記補正画像に含まれる小領域を単位に処理を行うことを特徴とする。
【0041】
この方法では、補正画像に含まれる小領域(例えばブロックラインと呼ばれる領域)を単位に処理を行うものである。
【0042】
【発明の実施の形態】
発明の実施の形態について図面を参照して説明する。
図1は本発明の一実施の形態の画像処理装置の全体構成を示すブロック図である。図2は図1における歪補正処理部の構成を示すブロック図である。
【0043】
図1の画像処理装置においては、バス3に接続された各部の制御を行うCPU4の制御により、CCD1からの撮像信号をプリプロセス回路2で画素欠陥処理やA/D変換等を行い、得られた画像データを、バス3を介してフレームメモリ5に一旦記憶する。フレームメモリ5は、SDRAM等で構成され、画像処理前のデータ及び画像処理後のデータを格納するメモリである。次いで、フレームメモリ5から読み出した画像データをバス3を介して、第1データ順序変換部6に入力する。第1データ順序変換部6は、後に図6(A)で説明するように、ブロック単位のデータを記憶可能なメモリを複数、ここでは2つ備えている。第1データ順序変換部6は、 フレームメモリ5から行方向にデータを読み出して記憶した後、列方向にデータを順に読み出し、イメージプロセス回路7に出力する。
【0044】
イメージプロセス回路7は入力したデータに対して所定の画像処理を行って次段の歪補正手段としての歪補正処理部8に転送する。歪補正処理部8は入力したデータに対して歪補正処理を行って次段の第2データ順序変換部9へ転送する。第2データ順序変換部9は、後に図6(B)で説明するように、ブロック単位のデータを記憶可能なメモリを複数、ここでは2つ備えている。第2データ順序変換部9は、 歪補正処理部8から列方向にデータを読み出して記憶した後、行方向にデータを順に読み出し、JPEG処理部10に転送する。そして、JPEG処理部10でJPEG圧縮処理を行い、処理データをフレームメモリ5に一旦記憶し、フレームメモリ5から読み出した処理データをメモリカード等11に記録するようになっている。
【0045】
歪補正処理部8は、図2に示すように、歪補正後の補正画像の位置(補間位置という、X,Y)とこれに対応した歪補正前の元の画像の位置(X’,Y’)を生成する補間座標生成部81と、歪補正処理部8の前段ブロックの回路からの画像データの一部を一時的に格納しておくバッファメモリ(以下、単にバッファ)としての内部メモリ部82と、その内部メモリ部82に対する書き込み及び読み出しの制御を行うメモリ制御部83と、変換した歪補正前の画像位置の座標(X’,Y’)に従って画像処理をしてデータの歪補正をする補間演算部84と、を有して構成されている。
【0046】
補間座標生成部81は、図2に示すように、補間座標(X,Y)を生成する座標生成部811と、生成された補間座標(X,Y)に対して所定の歪補正式[式1](後述する)を適用して変換した補正前の座標(X’,Y’)を出力する歪補正座標変換部812と、座標生成部811からの補間座標(X,Y)と歪補正座標変換部812からの変換座標(X’,Y’)とを選択的に出力可能なセレクタ813と、で構成されている。歪補正処理部8における座標生成部811,歪補正座標変換部812,セレクタ813,メモリ制御部83については、制御データを格納した制御レジスタ85に設定された各ブロックに対する設定値に従って動作する。また、処理結果のステータスなどをCPUから参照することができる。
【0047】
以上のように構成された本発明による画像処理装置においては、上記第1データ順序変換部6からJPEG処理部10までは、バス3を介することなく、該バス3とは異なる情報伝達経路でパイプライン処理可能なように接続されていて、画像データを、2次元的な画素配列における所定のブロック単位で転送して処理するようになっている。このようにバス3を介したデータ転送は、フレームメモリ5から第1データ順序変換部6への転送と、JPEG処理部10からフレームメモリ5への転送及びフレームメモリ5からメモリカード11への転送だけとなり、したがってフレームメモリと各イメージプロセス回路との間でデータのやりとりを行っていた従来例(図15(b))と比べて、バス3によるデータ転送量を大幅に低減させることができ、バス3の負荷を大幅に軽減することが可能となる。また、この図1に示す例においては、画像処理を行うイメージプロセス回路7を1つのみ設けているが、複数あっても構わない。さらに、図では、イメージプロセス回路7の後段に歪補正処理部8が設けられているが、逆の構成であっても構わない。
【0048】
初段のイメージプロセス回路7と2段目のイメージプロセス回路である歪補正処理部8で構成されるイメージプロセス回路部では、各イメージプロセス回路7,8の前段或いは内部にパイプラインレジスタとして、図示しない小容量のメモリが配置されていて、該小メモリを介して、各イメージプロセス回路7,8がパイプライン処理動作を行うように構成されている。これらの小容量のメモリは、各イメージプロセス回路7,8で空間的な画像処理を行う場合、画像処理に必要な周辺データの記憶をするために、また画像データをブロック単位で読み出して配列換えなどを行って処理する必要があるために、設けられている。
【0049】
図3は歪補正処理部8における座標変換の概念図を示している。図3(a)は元データである撮像画像データ、同図(b)は補正画像、同図(c)は(b)の補正画像の座標位置(X,Y)に対して(a)の元データの座標上に変換された座標位置Pでのデータの座標(X’,Y’)(この座標は元データを実際に構成する複数の画素の位置には必ずしも正確には一致しない座標位置にある)を示している。そのP点での座標位置(X’,Y’)はそのP点の周辺の画素16点の座標を使って算出されると共にP点での画像データはその周囲の前記16点の画素データを用いて補間演算される。補間演算部84にて点Pの位置のデータをその周囲の16点の画素値(輝度データ)から補間演算するべく処理が行われる。図2の補間位置生成部811で補間座標を生成するというのは、図3(b)の補正画像側でどこの画素位置(X,Y)を指し示すか、ということである。
【0050】
[式1]では、歪補正後の画素位置(X,Y)に対する歪補正前の画素位置(X’,Y’)を算出することができる。但し、歪補正前の画素位置(X’,Y’)は元画像データ上の画素位置に対応した整数値になるとは限らないことは前述した通りである。
【0051】
[式1]に従うと、図3(b)の座標(X,Y)が同図(a)のように座標(X’,Y’)に変換される。これにより、元データの中のどこの座標位置のデータを作成すれば、よいかを知ることができ、その位置(X’,Y’)のデータを16点補間処理を行う補間式を用いて周囲16点の既知の画素値(図3(c) の黒丸印の入力画像データ)から算出して得ることができる。
【0052】
【式1】

Figure 2005045513
[式1]におけるZは、歪中心(Xd,Yd)から今注目している点(X,Y)までの距離である。[式1]によって、補正画像の点(X,Y)に対して歪んでいる元画像の方の座標(X’,Y’)が算出される。[式1]について補足説明すると、Mは光学系のデータを用いて理論的に補正した際、補正後に画像がはみ出したり、不足したりする現象を補正するための補正倍率である。Sx,Syは間引き取込みなど、縦横で空間的なサンプリング間隔が異なる現象の補正をするためのサンプリング比である。Xoff,Yoffは歪補正処理によって、歪補正処理後に、被写体位置が撮影時の位置とはずれてしまう現象の補正をする中心ずれの値である。
【0053】
本発明に係る[式1]では、高次項(具体的にはZ、Z、…)を考慮することで、より複雑な陣笠型の歪(図4参照)にも対応できるようにしている。また、中心が一致していても撮像素子の一部しかデータを取り込まない場合や、光軸中心と撮像素子中心がずれている場合など、歪中心(Xd,Yd)を考慮する必要がある。さらに、歪補正処理により被写体位置が撮影時の位置からずれる現象を補正するため、中心ずれ補正値(Xoff,Yoff)を考慮する必要がある。間引き取込みの場合や輝度データ(Y)と色データ(Cb,Cr)からなるYC画像を処理する場合は、X,Yで空間的なサンプリングが異なる。そこで係数としてサンプリング比(SX,Sy)を導入して、座標変換を補正するようにしている。
【0054】
次に、図5,図6を参照して画像データの書き込み及び読み出しの処理及び順序について説明する。
【0055】
図5は、本実施の形態におけるフレームメモリからの画像データの読み出し順序を説明する図である。
画像データは、通常は、ライン方向、つまり行方向にスイープさせて書き込まれていて、読み出し時は行方向に読み出されるようになっており、1ラインの画像データを全て読み出して、次に隣接するラインの画像データを全て読み出すといった動作を繰り返して行うのが普通である。
【0056】
これに対して、本発明に係る画像処理装置は、行方向にスイープさせて書き込まれた画像データを、列方向にある一定の長さを単位に、行方向の画像データを順番にイメージプロセス部7に入力し、以降、順次隣の列をイメージプロセス部7に入力して、画像の右端まで繰り返して得られる小領域(矩形状の画像データ)をブロックライン(BL)と呼ぶ。
【0057】
こうした画像データの読み出しを可能にするための第1データ順序変換部6と、第2データ順序変換部9との構成を、図6を参照して説明する。図6は、第1,第2データ順序変換部の構成を示すブロック図である。
【0058】
第1データ順序変換部6は、図6(A)に示すように、ブロック単位の画像データを記憶可能なメモリを複数、ここでは2つ備えており、この2つのメモリ6aとメモリ6bが書き込み側,読み出し側の各スイッチにて書き込み,読み出しが交互に切り換えられるようになっている。すなわち、フレームメモリ5は、書き込み側のスイッチにて、これらメモリ6aとメモリ6bとに切換可能に接続されているとともに、イメージプロセス部7も読み出し側のスイッチにてこれらのモリ6aとメモリ6bとに切換可能に接続されていて、フレームメモリ5がメモリ6aとメモリ6bとの一方に接続されているときには、該メモリ6aとメモリ6bとの他方がイメージプロセス部7に接続されるように切り換えられる。すなわち、メモリ6a,6bは、フレームメモリ5とイメージプロセス部7との両方に同時に接続されることがないようにスイッチングされ、交互に書き込み,読み出しが行われるようになっている。
【0059】
フレームメモリ5に記憶されているフレーム画像の一部は、ブロック単位でライン方向に読み出され、一方のメモリ、ここでは例えばメモリ6aに記憶される。
【0060】
これと並行して、メモリ6bからは、既にフレームメモリ5から読み出されて記憶されているブロック単位の画像データが、列方向(縦方向)に順に読み出されて、イメージプロセス部7へ出力される。
【0061】
フレームメモリ5からメモリ6aへの書き込みと、メモリ6bからイメージプロセス部7への読み出しが終了すると、書き込み側のスイッチおよび読み出し側のスイッチが切り換えられて、次に、フレームメモリ5からメモリ6bへ次のブロック単位の画像データの書き込みが開始されるとともに、メモリ6aからイメージプロセス部7へのブロック単位の画像データの読み出しが開始される。
【0062】
第2データ順序変換部9も、図6(B)に示すように、上記第1データ順序変換部6とほぼ同様に構成されていて、ほぼ同様に動作するようになっている。
【0063】
すなわち、第2データ順序変換部9は、メモリ9a,メモリ9bと、書き込み側スイッチ,読み出し側スイッチとを有して構成されている。
【0064】
そして、該第2データ順序変換部9の動作時には、歪補正処理部8からの書き込みがメモリ9aとメモリ9bとの一方に対して列方向(縦方向)に行われ、メモリ9aとメモリ9bとの他方からは行方向(横方向)に読み出しが行われて、JPEG処理部10へ出力されるようになっている。
歪補正座標変換の[式1]は、あくまでも全画面の中の画像であって、補正画像についてもその座標変換結果の(X’,Y’)の画像にしても、全画面中で何処に位置しているかを計算している。
【0065】
ところが、歪補正処理部8に入力される画像データはブロックライン単位である。歪補正処理部8としては、入力される画像データの空間的な位置関係(2次元空間における位置)を知る必要がある。制御レジスタ85は、歪補正処理部8で処理するブロックラインの位置を指定している。
【0066】
図7は、補正前の撮像画像データと補正後の補正画像の関係を示している。図7(a)は撮影画像データ、同図(b)は補正画像を示している。図7(a),(b)は補正画像(出力側画像)の或るブロックラインBLの或る画素位置Aに注目している場合の概念図である。補正画像(出力画像)内の位置Aの座標(X,Y)は、歪補正座標変換の[式1]を用いて(入力画像)内の位置A’の座標(X’,Y’)に変換される。
【0067】
座標位置(X,Y)及び(Xblst,Yblst)、座標位置(X’,Y’)及び(X’blst,Y’blst)は、全画面の原点からの位置を示している。ここでは、原点は、全画面の左上端部としている。
【0068】
歪補正ブロックへ入力される画像データは、符号BLにて示すブロックライン単位である。そのため、まず補正画像の例えば画素Aを歪座標変換処理するには、最終的な補間処理ができるようにブロックラインBL内での座標系における座標位置(x’,y’)に変換する必要がある。
【0069】
まず、図7(b)の補正画像(出力画像)の各画素に対する座標位置(X,Y)は、下記の式2で生成する。
【0070】
[式2]
X=Xblst+m×ΔX
Y=Yblst+n×ΔY
ΔX,ΔYは補間ピッチで、1.0以上なら縮小画像が生成され、1.0以下なら拡大画像が生成される。座標位置(Xblst,Yblst)は歪補正ブロックの出力側ブロックラインの左肩の位置、すなわち、ブロックラインのスタート位置に相当している。(m,n)=(0,0)のとき、X=Xblst,Y=Yblstとなるので、[式2]から座標位置(Xblst,Yblst)を算出できることになる。m=0,n=0から始めて、m,nを例えば交互に1ずつ増やしていけば、ブロックラインBL内の全ての画素の座標位置(X,Y)を生成することができる。
【0071】
このBLに対し、BL内全ての画像の座標位置を式1に従って変換すると、図7(a)の変形したハッチング領域BL″にマッピングされる。図7(a)のBL’は、図7(b)のBLを処理するのに必要な入力データの範囲となる。(X’blst,Y’blst)は、BL’の左上位置であり、補間に必要な画素等を考慮すると、変形したハッチング領域の左上位置とは一致しない。BL’は、本願と同日出願の特願2003‐202493号に詳細を説明したサポート機能(歪補正範囲算出部)を利用して設定する。
【0072】
[式2]で生成された補正後の出力画像の座標位置(X,Y)を、[式1]で座標変換して図7(a)の補正前の入力画像の座標位置(X’,Y’)を求める。そして、座標変換された座標位置(X’,Y’)と、座標位置(X’blst,Y’blst)との差分をとることにより、ブロックライン(太い点線の矩形)の左肩を原点とする座標位置(x’,y’)を求めることができる。
【0073】
その結果、このブロックライン内での座標位置(x’,y’)に基づき、ブロックライン単位での補間処理を行えることになる。
【0074】
図7(a)に示す入力画像側の太い点線で示すブロックラインBL’はレジスタ85によって設定するが、その値を生成するためには、歪の変形を考慮して画像データの入力範囲(歪補正範囲)を算出可能とするサポート機能が必要となる。このサポート機能は、歪補正処理部8の歪補正処理機能に付加するなどして設ければよい。
【0075】
次に、図8を参照して歪補正処理フローを説明する。図8は図7の歪補正処理のフローチャートである。
【0076】
まず、図7(b)のハッチングを施したところのブロックライン処理を開始する(ステップS1)。前述の[式2]で、(m,n)=(0,0)とおくことにより(ステップS2)、図7(b)のハッチング領域の左肩、すなわちブロックラインのスタート座標位置(Xblst,Yblst)を求める。そして、[式2]から補正画像の座標位置(X,Y)を求めることができる。この場合、m,nをそれぞれ1ずつ増やしていけば、図7(b)のハッチングで示すブロックラインBL内の各画素の座標位置(X,Y)を生成することができる(ステップS3)。
【0077】
次に、[式1]を用いて補正画像における座標系の位置(X,Y)を、補正前の撮影画像における座標系の位置(X’,Y’)に変換する(ステップS4)。
【0078】
そして、撮影画像における座標系の位置(X’,Y’)を、前述した方法で入力ブロックラインBL内の座標系の位置(x’,y’)に変換する(ステップS5)。
【0079】
次に、このブロックラインBL内での座標位置(x’,y’)に基づいて補間処理を行い、座標位置(X’,Y’)における16点補間などで周辺の複数の画素データから補間データを算出することで、1画素分の補正画像データが得られる(ステップS6)。
【0080】
そして、以上のステップが、補正画像の座標系のBL内全画素について行われたか否かについて判断し(ステップS7)、終了していなければ次のm,nを設定して(ステップS8)、ステップS3〜S7を繰り返し行い、ステップS7の判定で全画素について処理が終了していれば、ステップS9に移行する。
【0081】
ステップS9では、全画面(フレーム)内の全てのブロックラインBLについて歪補正処理が終了したか否かを判断しており、終了していなければ次の入力ブロックラインBLを選択し、ステップS1〜ステップS9を繰り返し、ステップS9の判定で全画面ついて処理が終了していれば、終了する。
【0082】
図9及び図10は、図8の変形例とも言うべきものである。
デジタルズームを行う場合や注目する小領域のみを切り出す場合、撮像データの一部しか使わなくても構わない。選択的にCCDから撮像データの一部を取り込むことでメモリを節約することができる。この場合に歪補正をブロックライン単位で行うためには、取り込まれたデータが、撮像素子上でどこに位置するかの情報(X’imgst,Y’imgst)が必要である。
【0083】
図9は、デジタルズームの場合を示し、撮像した画像データから中央部分のみを取り込むものである。図8の場合と異なる点は、上述したように、全画面の中で何処を取り込むかをプリプロセス回路2で設定している点である。この設定に基づいて必要な部分のみを取り込んでおり、その範囲を図9(a)のE’で示す。
【0084】
まず、図9(b)で全画面の中のデジタルズームする範囲Eの左肩に当たるスタート位置(Ximgst,Yimgst)を設定する。次に、ブロックラインBLを設定するが、ここでは梨地にて示す部分である。このとき、取り込み範囲Eの左肩を原点とする、位置座標(Xblst,Yblst)が決定し、[式2]と同様にm,nを変化させることで、ブロックラインBL内における各画素の座標を生成することができる。
【0085】
この結果、座標位置(Ximgst,Yimgst)、(Xblst,Yblst)、(m×ΔX,n×ΔY)から全画面の座標における位置(X,Y)が決定される。
【0086】
撮影画像における座標位置(X’,Y’)は、上記のように決定された座標位置(X,Y)から[式1]を用いて求めることができる。
【0087】
そして次に、撮影画像データにおけるブロックラインBL’の中での座標位置(x’,y’)を求める。
【0088】
まず、取り込まれた撮像データの撮像面における設定範囲E’から左肩の座標(X’imgst,Y’imgst)が分かる。取り込み範囲E’の左肩を原点とする座標で、ブロックラインBL’の左肩の座標位置(X’blst,Y’blst)はサポート機能を利用して予め求められており、ブロックラインBL’内での座標における座標位置(x’,y’)が決定される。その結果、ブロックラインごとの補間処理が行われる。
【0089】
図10は撮像データから或る領域、例えば画面の端の方を切り出す場合である。これは、監視カメラなどにおいて、撮像データの端部分を取り込むような場合に相当する。図10の場合も、図9と同様な符号を付してある。図9と切り出す位置が異なっているだけで、図9の場合と同様な動作となる。
【0090】
なお、通常のデジタルカメラでは、CPUが制御レジスタに切り出す領域を設定するため、切り出し位置が分かっており、上記の変換が可能だが、記録後のデータに歪補正処理を行う場合ではタグ等に切り出し領域の位置とサイズを同時に記録する必要がある。このとき、同時に補正係数も記録しておく。
【0091】
ところで、撮像素子としてのCCDにはモニターモード(撮像した全画面を読み出さないモード)が用意されることが多い。モニターモードでは、ラインが間引かれることが多く、撮像素子における2次元空間的には同一でも、データ上ではサイズが異なることがある。また、プリプロセスにおいて、横方向の画素も間引かれることがある。また、CCDからの撮像データにローパスフィルタ(LPF)などのフィルタリング処理をかけたり、補間処理をしてフレームメモリに取り込むことがある。この場合、縦横のサンプリング比が整数にならない場合が生じる。さらに、JPEGにおけるYCbCrの記録では、CbやCr成分の横方向は2倍の間隔でサンプリングされることが多く、データとしては横方向が縮んだ形になる。これらは、[式1]では、Sx,Syによって補正する。
【0092】
図11(a)は、撮像時のデータ取り込みにおいて、実際にCCDから送られてくるデータが黒丸印のところしかなく、縦方向に3ライン間引いている状態を示している。モニターモードでは、このようにCCDからは間引かれたデータしか出力されず、これをメモリに取り込むと、図11(b)のように間引きによって上下方向につぶれた画像データとなる。図11(c)のように、空間的に中心から同じ距離にあるデータを取り出しても、同図(b)のように横方向に対して画像が短く出力されるという現象が現れる。この結果、[式1]による歪補正では、中心からの距離が遠いほど歪補正の効果が大きくなるようにしてあるので、縦と横で、歪補正の効果が変わってしまう。
【0093】
このように縦と横で画像が非対称となるのを補正する目的で、補正係数Sx,Syが設けられている。図11(b)の場合には、縦方向に伸ばす必要があるため、Sx=1,Sy=4とする。
【0094】
このSx,Syの効果により、縦,横のサンプリング比が異なっても正確な歪補正が可能となる。
【0095】
また、前述のように、サンプリング比が整数でない場合は、Sx,Syも非整数で設定すればよい。さらに、撮像素子の各画素の間隔が縦横で異なる場合でも可能(例えば長方画素)である。
【0096】
ところで、通常、JPEGだとYCbCrというデータで記録されるのが一般的であるが、そのときの設定として、図12に示すような場合が考えられる。例えば、YC422という形式のデータの場合は、輝度データに比べて色データについての解像度は横方向が1/2となっている。この場合は、色データについてはSx=2,Sy=1と設定して、補正処理を行えばよい。
【0097】
ところで、歪の中心と画像の中心が一致しない場合、補正前に中心にあった被写体が、補正後は中心からずれてしまう。[式1] では、中心ずれ補正値(Xoff,Yoff)で補正することにより、補正前後で画像の中心に来る被写体が変化しないようにすることが可能である。
【0098】
図13は、画像の中心ずれを説明する図である。
図13は補正画像を示す。前述の図3(b)では、歪の中心と画像の中心が一致している、すなわち、CCDの中心(画像の中心)がレンズ光軸(歪の中心)に一致している場合であった。
【0099】
図13は、CCDの中心に対して歪の中心がずれている場合である。図13では、歪中心(Xd,Yd)が画像の中心と異なるので、中心ずれを考慮せずに歪補正を行った場合、出力範囲Hに対する画像の中心PがQ点(大きな黒丸にて示す)にずれる。ユーザにとっては、実際に撮影した画像と歪補正後に表示される画像の中心がずれると、非常に違和感を感じるものである。そこで、元々歪補正前に出力範囲Hの中心にあったデータを、出力範囲に対して中心の位置にくるようにするために、歪補正された画像データの切り出した方を変える。それを行うためには、画像の中心ずれを(Xoff,Yoff)で定義して、画像データの切り出した方を変えればよい。画像の中心ずれ(Xoff,Yoff)を設定することで出力範囲をHからH’に移動させ、元々画像の中心Pにあった被写体を、補正後の出力範囲H’においても中心にくるように補正することができる。
【0100】
図13の実施の形態によれば、中央の被写体がずれることによる違和感を無くすことが出来る。
【0101】
【発明の効果】
以上述べたように本発明によれば、小領域(例えばブロックライン)の空間的な位置を算出可能とし、小領域単位での歪補正処理を実現することができる。また、間引き取り込みされた画像データに対しても、正確な歪補正を行える一方、デジタルズームなど、任意領域を切り出したデータに対しても正確な歪補正を行うことができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態の画像処理装置の全体構成を示すブロック図。
【図2】図1における歪補正処理部の構成を示すブロック図。
【図3】歪補正処理部における座標変換の概念図。
【図4】陣笠型の歪を生じた撮影画像を示す図。
【図5】本実施の形態におけるフレームメモリからの画像データの読み出し順序を説明する図。
【図6】第1,第2データ順序変換部の構成を示すブロック図。
【図7】補正前の撮像画像データと補正後の補正画像の関係を示す図。
【図8】図7の歪補正処理のフローチャート。
【図9】デジタルズームの場合で、補正前の撮像画像データと補正後の補正画像の関係を示す図。
【図10】撮像データから或る領域を切り出す場合で、補正前の撮像画像データと補正後の補正画像の関係を示す図。
【図11】CCDのモニターモードにおけるライン間引きを説明する図。
【図12】YC422形式のデータにおける横方向の間引きを説明する図。
【図13】画像の中心ずれを説明する図。
【図14】格子状の被写体、樽型歪を生じた撮影画像、糸巻き型歪を生じた撮影画像を示す図。
【図15】一般的なデジタルカメラの画像処理手順の概念、及び従来のデジタルカメラの画像処理装置におけるブロック構成を示す図。
【図16】CCDの画素と像の関係を示す図。
【符号の説明】
1…CCD
3…バス
4…CPU
5…フレームメモリ
6…第1データ順序変換部
7…イメージプロセス回路
6…第1データ順序変換部
8…歪補正処理部(歪補正手段)
9…第2データ順序変換部
10…JPEG処理部
11…メモリカード(記録媒体)
82…内部メモリ部(バッファ)
83…メモリ制御部
85…制御レジスタ[0001]
BACKGROUND OF THE INVENTION
The present invention mainly relates to an image processing apparatus and a distortion correction method used in an electronic imaging apparatus such as a digital camera, and in particular, when performing distortion correction processing in units of small areas (for example, block lines). The present invention relates to an image processing apparatus and a distortion correction method capable of calculating a spatial position.
[0002]
[Prior art]
In general, distortion aberration appears in the optical system of a camera regardless of whether it is a digital camera or a silver salt camera. In addition, most cameras that are currently available are capable of optical zooming, and in this case, the state of distortion changes from the wide end to the tele end. There are many barrel distortions at the wide end, and there are many pincushion distortions at the tele end.
[0003]
The distortion is observed as barrel distortion or pincushion distortion when, for example, a grid-like subject is photographed.
[0004]
FIG. 14A shows a grid-like subject, FIG. 14B shows a captured image with barrel distortion, and FIG. 14C shows a captured image with pincushion distortion.
[0005]
By the way, in a digital camera, after various image processing is performed on data of an image sensor such as a CCD, data compressed by a compression method such as JPEG is recorded on a recording medium such as a memory card.
[0006]
FIG. 15A shows the concept of an image processing procedure performed by a general digital camera. The imaging signal captured from the CCD is subjected to processing such as pixel defect processing and A / D conversion in a preprocess, and is temporarily stored in a frame memory such as an SDRAM. Next, the image data stored in the frame memory is read out, and various image processes are performed by the image process 1, the image process 2,. The image data after the image processing is further compressed by a compression method such as JPEG processing and recorded on a memory card or the like as a recording medium.
[0007]
FIG. 15B is a block diagram of an image processing apparatus of a conventional digital camera (for example, a conventional example in Japanese Patent Laid-Open No. 2000-31327).
[0008]
In FIG. 15B, a conventional image processing apparatus includes a pre-processing circuit 102, a plurality of image processing circuits 106-1 to 106-n, a JPEG processing unit 107, a frame memory 105, and a recording medium as well as a CPU 104 on a bus 103. A memory card 108 is connected. Under the control of the CPU 104, the image pickup signal from the CCD 101 is subjected to pixel defect processing, A / D conversion, and the like in the preprocess circuit 102, and then temporarily stored in the frame memory 105 through the bus 103. Next, image data is read from the frame memory 105 and input to the image process circuit 106-1 through the bus 103 to perform predetermined image processing, and the image data is rewritten to the frame memory 105 through the bus 103 again. In the same manner, data is sequentially exchanged between the frame memory 105 and the image process circuits 106-2 to 106-n via the bus 103. Finally, the JPEG processing unit 107 performs JPEG compression processing, and the image The processed data is temporarily stored in the frame memory 105, and the processed data read from the frame memory 105 is recorded in the memory card 108 or the like. In the above image process and JPEG processing in each stage, image processing is performed in units of small areas (block lines).
[0009]
On the other hand, reading of an image pickup device such as a CCD can normally be performed in two types of reading: (1) all-pixel reading for main shooting and (2) thinning-out reading for through images. Image data obtained by extracting a part of the imaged data by thinning-out reading or the like has an aspect ratio that is not 1: 1, so that accurate distortion correction cannot be performed as it is.
[0010]
Conventionally, prior art for correcting distortion as part of this image processing has been disclosed. For example, there exists Unexamined-Japanese-Patent No. 6-181530.
[0011]
Japanese Patent Laid-Open No. 6-181530 discloses an image generated by an imaging zoom lens when the detection unit detects that the imaging position of the imaging zoom lens at the time of shooting is within a position where distortion is large. Is corrected by reading out imaging data of a solid-state imaging device based on geometric deformation.
[0012]
[Patent Document 1]
JP 2000-31327 A (page 3, FIG. 19)
[0013]
[Patent Document 2]
Japanese Patent Laid-Open No. 6-181530 (first and second pages, FIG. 2)
[0014]
[Problems to be solved by the invention]
However, the conventional example of Patent Document 1 has a problem in that data exchange between the frame memory and each image process circuit is large, and the data transfer amount of the bus increases. Furthermore, there is no description of distortion correction processing in units of small areas (block lines).
[0015]
In Patent Document 2, it is described that distortion correction processing is performed. However, as shown in FIG. 16, the pixel is essentially a straight line with respect to pixels (vertical and horizontal lattice points indicated by black circles) 31 on the CCD imaging surface. When a desired subject image is curved and formed by the distortion of the optical lens (indicated by reference numeral 32), a large-capacity buffer memory is required for the line memory in the distortion correction circuit. Furthermore, the image size that can be processed is limited by the capacity of the buffer memory. Furthermore, there is no description about a method for determining the spatial position of data held in the buffer memory. Furthermore, Patent Document 2 does not describe any distortion correction processing in units of small areas (block lines).
[0016]
Therefore, in view of the above problems, the present invention provides an image processing apparatus and a distortion correction method capable of calculating a spatial position of a small area (for example, a block line) and realizing distortion correction processing in units of small areas. It is intended to do.
[0017]
The present invention also provides an image processing apparatus and distortion correction capable of performing accurate distortion correction on thinned-in image data, and capable of performing accurate distortion correction on data obtained by cutting out an arbitrary area, such as digital zoom. It is intended to provide a method.
[0018]
[Means for Solving the Problems]
The invention according to claim 1 is an image processing apparatus including a distortion correction unit that performs distortion correction processing on image data. The distortion correction unit is a position corresponding to each pixel of the corrected image in the image data before correction. Is calculated in a coordinate system in which a spatial position on the imaging surface can be described.
[0019]
In this configuration, when calculating the position corresponding to each pixel of the corrected image in the image data before correction, the calculation is performed based on the coordinate system corresponding to the imaging surface (that is, the position in the two-dimensional space).
[0020]
According to a second aspect of the present invention, in the image processing apparatus according to the first aspect, the distortion correction unit performs processing in units of first small areas included in the corrected image, and each pixel of the first small area. After the position in the coordinate system corresponding to the imaging surface is converted into the coordinates in the second small region for the second small region on the imaging surface including the small region converted according to the correction formula The data of each pixel of the corrected image is generated.
[0021]
In this configuration, interpolation processing can be performed based on the coordinates in the small area to be converted.
[0022]
According to a third aspect of the present invention, in the image processing apparatus according to the first or second aspect, the image data is partial image data in which only a part of the imaging data is captured.
[0023]
In this configuration, as the image data, not all of the captured data, but also a part thereof, for example, data cut out from the central portion of the imaged data at the time of digital zoom, or reduced data generated by thinning out of the imaged data, Can be applied.
[0024]
According to a fourth aspect of the present invention, in the image processing apparatus according to the third aspect, the partial image data is data obtained by cutting out a part of the imaging data.
[0025]
Data in this configuration includes, for example, data cut out from the central portion of the imaging data at the time of digital zooming, and data of an area corresponding to the end portion of the screen captured from the full screen data like a surveillance camera.
[0026]
According to a fifth aspect of the present invention, in the image processing apparatus according to the third aspect, the partial image data is data thinned out in at least one horizontal or vertical direction of the imaging data.
[0027]
As data in this configuration, reduced data generated by thinning out of imaged data, reduced data, data obtained by thinning out lines in the CCD monitoring mode, and color data in YC422 data are horizontally thinned. There is data drawn. The data may be thinned out in both the vertical and horizontal directions.
[0028]
According to a sixth aspect of the present invention, in the image processing apparatus according to the first aspect, the image data is data generated by performing at least one of filtering, spatial sampling, and interpolation processing on the imaging data. It is characterized by that.
[0029]
In this configuration, as the image data, filtering that is limited in terms of frequency, sampling appropriately from a two-dimensional space such as the imaging surface of the imaging device, or pixel that has been discretized by interpolation processing (sampling processing, etc.) Between the pixel and the pixel, there is data obtained by performing a process of generating a pixel by estimation from surrounding pixels).
[0030]
According to a seventh aspect of the present invention, in the image processing apparatus according to the first aspect, in the image data, an interval in which each pixel is spatially positioned on the imaging surface is different in the vertical direction and the horizontal direction.
[0031]
The data in this configuration is data when the spatial sampling interval is different in the vertical direction and the horizontal direction. For example, there are data in which the lines in the CCD monitoring mode are thinned out, color data in the YC422 data thinned out in the horizontal direction, and the like.
[0032]
In the image processing apparatus according to any one of claims 1 to 7, when the spatial sampling interval of each pixel in the image data is different vertically and horizontally, the coordinates in the image before distortion correction are provided. The correction equation for obtaining the above is characterized in that it includes a coefficient for correcting the difference in the sampling interval in the vertical and horizontal directions.
[0033]
This configuration means that the correction coefficients Sx and Sy for correcting the phenomenon in which the vertical and horizontal spatial sampling ratios are different in the distortion correction formula are included.
[0034]
According to a ninth aspect of the present invention, in the image processing apparatus according to any one of the first to eighth aspects, the correction formula for obtaining coordinates in the image before distortion correction can perform a predetermined amount of offset correction. Features.
[0035]
In this configuration, it means that the phenomenon (offset phenomenon) in which the subject position is shifted from the time of shooting is corrected by the distortion correction processing in the distortion correction formula.
[0036]
According to a tenth aspect of the present invention, in the image processing apparatus according to the ninth aspect, the offset correction is performed when a distortion center and an image center do not coincide with each other.
[0037]
In this configuration, for example, when the distortion center (optical axis) corresponding to the center of geometric deformation of the optical system lens does not coincide with the center of the captured image (CCD center), the image is corrected before and after the correction. The center shift of the image relative to the output image range can be eliminated by the center shift correction coefficients Xoff and Yoff.
[0038]
The invention of claim 11 is a distortion correction method of an image processing apparatus having a distortion correction means for performing distortion correction processing on image data, wherein the distortion correction method is performed in a coordinate system corresponding to each pixel of the corrected image. Generating a first position, converting the first position into a second position in a coordinate system in image data before distortion correction according to a distortion correction formula, and the image before distortion correction A step of converting the second position in the coordinate system in the data into a coordinate in the setting area with reference to the coordinate system corresponding to the imaging surface, and performing an interpolation process based on the coordinates in the setting area And a step of generating data of each pixel of the corrected image.
[0039]
In this distortion correction method, for example, when data of each pixel of the corrected image is obtained by a correction formula that corrects geometric distortion caused by the imaging lens, the first position in the coordinate system corresponding to each pixel of the corrected image is obtained. In contrast, the second position in the coordinate system in the image data before distortion correction is converted according to the distortion correction formula, and the converted second position is set with reference to the coordinate system corresponding to the imaging surface. Conversion into coordinates within the region is performed, and interpolation processing is performed based on the coordinates to generate pixel data of a corrected image.
[0040]
According to a twelfth aspect of the present invention, in the distortion correction method according to the eleventh aspect, the processing is performed in units of small areas included in the corrected image.
[0041]
In this method, processing is performed in units of small areas (for example, areas called block lines) included in the corrected image.
[0042]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing the overall configuration of an image processing apparatus according to an embodiment of the present invention. FIG. 2 is a block diagram showing the configuration of the distortion correction processing unit in FIG.
[0043]
In the image processing apparatus of FIG. 1, an image pickup signal from the CCD 1 is subjected to pixel defect processing, A / D conversion, and the like by the preprocess circuit 2 under the control of the CPU 4 that controls each unit connected to the bus 3. The obtained image data is temporarily stored in the frame memory 5 via the bus 3. The frame memory 5 is configured by an SDRAM or the like and stores data before image processing and data after image processing. Next, the image data read from the frame memory 5 is input to the first data order conversion unit 6 via the bus 3. As will be described later with reference to FIG. 6A, the first data order conversion unit 6 includes a plurality of, in this case, two memories capable of storing data in block units. The first data order conversion unit 6 reads and stores data from the frame memory 5 in the row direction, and then sequentially reads the data in the column direction and outputs the data to the image process circuit 7.
[0044]
The image process circuit 7 performs predetermined image processing on the input data and transfers it to the distortion correction processing unit 8 as the distortion correction means at the next stage. The distortion correction processing unit 8 performs distortion correction processing on the input data and transfers it to the second data order conversion unit 9 at the next stage. As will be described later with reference to FIG. 6B, the second data order conversion unit 9 includes a plurality of, in this case, two memories that can store data in block units. The second data order conversion unit 9 reads and stores data in the column direction from the distortion correction processing unit 8, then sequentially reads the data in the row direction, and transfers the data to the JPEG processing unit 10. The JPEG processing unit 10 performs JPEG compression processing, temporarily stores the processing data in the frame memory 5, and records the processing data read from the frame memory 5 in the memory card 11 or the like.
[0045]
As shown in FIG. 2, the distortion correction processing unit 8 positions the corrected image after distortion correction (interpolation positions, X and Y) and the corresponding original image position before distortion correction (X ′, Y). ') And an internal memory unit as a buffer memory (hereinafter simply referred to as a buffer) for temporarily storing part of the image data from the circuit of the preceding block of the distortion correction processing unit 8 82, a memory control unit 83 for controlling writing and reading with respect to the internal memory unit 82, and image processing is performed according to the converted coordinates (X ′, Y ′) of the image position before distortion correction to correct distortion of the data. And an interpolation calculation unit 84.
[0046]
As shown in FIG. 2, the interpolation coordinate generation unit 81 includes a coordinate generation unit 811 that generates an interpolation coordinate (X, Y), and a predetermined distortion correction formula [formula for the generated interpolation coordinate (X, Y). 1] A distortion correction coordinate conversion unit 812 that outputs coordinates (X ′, Y ′) before correction converted by applying (described later), and interpolation coordinates (X, Y) and distortion correction from the coordinate generation unit 811 The selector 813 can selectively output the converted coordinates (X ′, Y ′) from the coordinate conversion unit 812. The coordinate generation unit 811, the distortion correction coordinate conversion unit 812, the selector 813, and the memory control unit 83 in the distortion correction processing unit 8 operate according to the set value for each block set in the control register 85 that stores control data. Further, the status of the processing result can be referred from the CPU.
[0047]
In the image processing apparatus according to the present invention configured as described above, the first data order conversion unit 6 to the JPEG processing unit 10 are piped through an information transmission path different from the bus 3 without going through the bus 3. It is connected so that line processing is possible, and image data is transferred and processed in units of predetermined blocks in a two-dimensional pixel array. As described above, the data transfer via the bus 3 includes the transfer from the frame memory 5 to the first data order conversion unit 6, the transfer from the JPEG processing unit 10 to the frame memory 5, and the transfer from the frame memory 5 to the memory card 11. Therefore, compared with the conventional example (FIG. 15B) in which data is exchanged between the frame memory and each image process circuit, the data transfer amount by the bus 3 can be greatly reduced. The load on the bus 3 can be greatly reduced. Further, in the example shown in FIG. 1, only one image process circuit 7 for performing image processing is provided, but a plurality of image process circuits 7 may be provided. Furthermore, in the figure, the distortion correction processing unit 8 is provided at the subsequent stage of the image process circuit 7, but the configuration may be reversed.
[0048]
In the image process circuit unit configured by the first-stage image process circuit 7 and the distortion correction processing unit 8 which is the second-stage image process circuit, a pipeline register is not shown as a pipeline register before or inside each of the image process circuits 7 and 8. A small-capacity memory is arranged, and the image process circuits 7 and 8 are configured to perform pipeline processing operations via the small memory. These small-capacity memories are used to store peripheral data necessary for image processing when the image processing circuits 7 and 8 perform spatial image processing, and read out the image data in units of blocks and rearrange the data. It is provided because it is necessary to carry out processing and the like.
[0049]
FIG. 3 shows a conceptual diagram of coordinate conversion in the distortion correction processing unit 8. 3A shows the captured image data as the original data, FIG. 3B shows the corrected image, FIG. 3C shows the coordinate position (X, Y) of the corrected image in FIG. Data coordinates (X ′, Y ′) at the coordinate position P converted to the coordinates of the original data (the coordinates are not necessarily coincident with the positions of a plurality of pixels actually constituting the original data) ). The coordinate position (X ′, Y ′) at the P point is calculated using the coordinates of the 16 pixels around the P point, and the image data at the P point is the pixel data of the surrounding 16 points. Is used for interpolation calculation. The interpolation calculation unit 84 performs processing to interpolate the data at the position of the point P from the surrounding 16 pixel values (luminance data). Interpolation coordinates are generated by the interpolation position generation unit 811 in FIG. 2 as to which pixel position (X, Y) is indicated on the corrected image side in FIG.
[0050]
In [Expression 1], the pixel position (X ′, Y ′) before distortion correction with respect to the pixel position (X, Y) after distortion correction can be calculated. However, as described above, the pixel position (X ′, Y ′) before distortion correction is not always an integer value corresponding to the pixel position on the original image data.
[0051]
According to [Expression 1], the coordinates (X, Y) in FIG. 3B are converted into coordinates (X ′, Y ′) as shown in FIG. As a result, it is possible to know where the coordinate position data in the original data should be created, using an interpolation formula that performs 16-point interpolation processing on the data at that position (X ′, Y ′). It can be obtained by calculating from 16 known pixel values (input image data indicated by black circles in FIG. 3C).
[0052]
[Formula 1]
Figure 2005045513
Z in [Formula 1] is the distance from the strain center (Xd, Yd) to the point (X, Y) of interest. [Expression 1] calculates the coordinates (X ′, Y ′) of the original image that is distorted with respect to the point (X, Y) of the corrected image. A supplementary explanation of [Formula 1] is that M is a correction magnification for correcting a phenomenon in which an image protrudes or becomes insufficient after correction when theoretically correcting using data of the optical system. Sx and Sy are sampling ratios for correcting a phenomenon in which spatial sampling intervals differ vertically and horizontally, such as thinning-in. Xoff and Yoff are center deviation values for correcting a phenomenon in which the subject position deviates from the shooting position after the distortion correction process by the distortion correction process.
[0053]
In [Formula 1] according to the present invention, a high-order term (specifically, Z 4 , Z 6 ,...), It is possible to cope with more complicated Jinkasa type distortion (see FIG. 4). In addition, it is necessary to consider the distortion center (Xd, Yd), for example, when only a part of the image sensor is captured even if the centers coincide, or when the center of the optical axis and the center of the image sensor are shifted. Furthermore, in order to correct a phenomenon in which the subject position deviates from the position at the time of shooting by the distortion correction process, it is necessary to consider center deviation correction values (Xoff, Yoff). In the case of thinning-in or when processing a YC image composed of luminance data (Y) and color data (Cb, Cr), spatial sampling differs between X and Y. Therefore, the sampling ratio (SX, Sy) is introduced as a coefficient to correct the coordinate conversion.
[0054]
Next, processing and order of image data writing and reading will be described with reference to FIGS.
[0055]
FIG. 5 is a diagram for explaining the reading order of image data from the frame memory in the present embodiment.
The image data is normally written by sweeping in the line direction, that is, in the row direction, and is read out in the row direction at the time of reading. All the image data of one line is read and then adjacent. It is common to repeat the operation of reading all the image data of the line.
[0056]
On the other hand, the image processing apparatus according to the present invention is configured so that image data written by sweeping in the row direction is sequentially processed in the row direction image data in units of a certain length in the column direction. A small area (rectangular image data) obtained by sequentially inputting the next column to the image processing unit 7 and repeatedly to the right end of the image is referred to as a block line (BL).
[0057]
The configuration of the first data order conversion unit 6 and the second data order conversion unit 9 for enabling reading of such image data will be described with reference to FIG. FIG. 6 is a block diagram showing the configuration of the first and second data order conversion units.
[0058]
As shown in FIG. 6 (A), the first data order conversion unit 6 includes a plurality of memories that can store image data in block units, two in this case, and the two memories 6a and 6b write data. Writing and reading can be switched alternately by the switches on the side and reading side. That is, the frame memory 5 is connected to the memory 6a and the memory 6b by a switch on the writing side so as to be switchable, and the image processing unit 7 also has the memory 6a and the memory 6b in the reading side switch. When the frame memory 5 is connected to one of the memory 6a and the memory 6b, the other of the memory 6a and the memory 6b is switched to be connected to the image processing unit 7. . That is, the memories 6a and 6b are switched so as not to be simultaneously connected to both the frame memory 5 and the image processing unit 7, and are alternately written and read.
[0059]
A part of the frame image stored in the frame memory 5 is read in the line direction in units of blocks and stored in one memory, for example, the memory 6a in this case.
[0060]
In parallel with this, the block-unit image data that has already been read from the frame memory 5 and stored in the memory 6b is sequentially read in the column direction (vertical direction) and output to the image processing unit 7. Is done.
[0061]
When writing from the frame memory 5 to the memory 6a and reading from the memory 6b to the image processing unit 7 are finished, the switch on the writing side and the switch on the reading side are switched, and then the frame memory 5 transfers to the memory 6b. The writing of the block unit image data is started, and the reading of the block unit image data from the memory 6a to the image processing unit 7 is started.
[0062]
As shown in FIG. 6B, the second data order conversion unit 9 is configured in substantially the same manner as the first data order conversion unit 6 and operates in substantially the same manner.
[0063]
That is, the second data order conversion unit 9 includes a memory 9a and a memory 9b, a write side switch, and a read side switch.
[0064]
During the operation of the second data order conversion unit 9, writing from the distortion correction processing unit 8 is performed in the column direction (vertical direction) with respect to one of the memory 9a and the memory 9b, and the memory 9a and the memory 9b Reading from the other is performed in the row direction (horizontal direction) and output to the JPEG processing unit 10.
[Equation 1] of distortion correction coordinate conversion is an image on the entire screen to the last. Even if the corrected image is an image of (X ′, Y ′) as a result of the coordinate conversion, the image is displayed anywhere on the entire screen. It is calculating whether it is located.
[0065]
However, the image data input to the distortion correction processing unit 8 is in block line units. The distortion correction processing unit 8 needs to know the spatial positional relationship (position in the two-dimensional space) of the input image data. The control register 85 designates the position of the block line processed by the distortion correction processing unit 8.
[0066]
FIG. 7 shows the relationship between the captured image data before correction and the corrected image after correction. FIG. 7A shows photographed image data, and FIG. 7B shows a corrected image. FIGS. 7A and 7B are conceptual diagrams when attention is paid to a certain pixel position A of a certain block line BL of the corrected image (output side image). The coordinates (X, Y) of the position A in the corrected image (output image) are changed to the coordinates (X ′, Y ′) of the position A ′ in the (input image) using [Expression 1] of distortion correction coordinate conversion. Converted.
[0067]
The coordinate positions (X, Y) and (Xblst, Yblst), the coordinate positions (X ′, Y ′), and (X′blst, Y′blst) indicate positions from the origin of the entire screen. Here, the origin is the upper left corner of the entire screen.
[0068]
The image data input to the distortion correction block is in units of block lines indicated by reference numeral BL. For this reason, first, in order to perform the distortion coordinate conversion processing on, for example, the pixel A of the corrected image, it is necessary to convert it to the coordinate position (x ′, y ′) in the coordinate system in the block line BL so that final interpolation processing can be performed. is there.
[0069]
First, the coordinate position (X, Y) for each pixel of the corrected image (output image) in FIG.
[0070]
[Formula 2]
X = Xblst + m × ΔX
Y = Yblst + n × ΔY
ΔX and ΔY are interpolation pitches, and if it is 1.0 or more, a reduced image is generated, and if it is 1.0 or less, an enlarged image is generated. The coordinate position (Xblst, Yblst) corresponds to the position of the left shoulder of the output side block line of the distortion correction block, that is, the start position of the block line. When (m, n) = (0, 0), X = Xblst, Y = Yblst, and the coordinate position (Xblst, Yblst) can be calculated from [Equation 2]. Starting from m = 0, n = 0, for example, if m and n are alternately increased by one, the coordinate positions (X, Y) of all the pixels in the block line BL can be generated.
[0071]
When the coordinate positions of all the images in the BL are converted according to the expression 1, the BL is mapped to the deformed hatching area BL ″ in FIG. 7A. BL ′ in FIG. b) is a range of input data necessary to process BL, where (X′blst, Y′blst) is the upper left position of BL ′, and considering the pixels necessary for interpolation, etc. The BL ′ is set using the support function (distortion correction range calculation unit) described in detail in Japanese Patent Application No. 2003-202493 filed on the same day as the present application.
[0072]
The coordinate position (X, Y) of the output image after correction generated in [Expression 2] is coordinate-converted in [Expression 1] and the coordinate position (X ′, Y) of the input image before correction in FIG. Y ′). Then, by taking the difference between the coordinate position (X ′, Y ′) after the coordinate conversion and the coordinate position (X′blst, Y′blst), the left shoulder of the block line (thick dotted rectangle) is used as the origin. The coordinate position (x ′, y ′) can be obtained.
[0073]
As a result, based on the coordinate position (x ′, y ′) in the block line, interpolation processing in block line units can be performed.
[0074]
The block line BL ′ indicated by the thick dotted line on the input image side shown in FIG. 7A is set by the register 85. In order to generate the value, the input range (distortion) of the image data is taken into consideration for distortion deformation. A support function that enables calculation of the correction range is required. This support function may be provided by being added to the distortion correction processing function of the distortion correction processing unit 8.
[0075]
Next, the distortion correction processing flow will be described with reference to FIG. FIG. 8 is a flowchart of the distortion correction process of FIG.
[0076]
First, the block line processing where the hatching in FIG. 7B is performed is started (step S1). By setting (m, n) = (0,0) in [Expression 2] described above (step S2), the left shoulder of the hatched area in FIG. 7B, that is, the start coordinate position of the block line (Xblst, Yblst) ) Then, the coordinate position (X, Y) of the corrected image can be obtained from [Equation 2]. In this case, if m and n are increased by 1, respectively, the coordinate position (X, Y) of each pixel in the block line BL indicated by hatching in FIG. 7B can be generated (step S3).
[0077]
Next, the position (X, Y) of the coordinate system in the corrected image is converted into the position (X ′, Y ′) of the coordinate system in the photographed image before correction using [Equation 1] (step S4).
[0078]
Then, the coordinate system position (X ′, Y ′) in the captured image is converted to the coordinate system position (x ′, y ′) in the input block line BL by the method described above (step S5).
[0079]
Next, interpolation processing is performed based on the coordinate position (x ′, y ′) in the block line BL, and interpolation is performed from a plurality of surrounding pixel data by 16-point interpolation at the coordinate position (X ′, Y ′). By calculating the data, corrected image data for one pixel is obtained (step S6).
[0080]
Then, it is determined whether or not the above steps have been performed for all pixels in the coordinate system of the corrected image (step S7). If not completed, the next m and n are set (step S8). Steps S3 to S7 are repeatedly performed, and if the processing has been completed for all pixels in the determination in step S7, the process proceeds to step S9.
[0081]
In step S9, it is determined whether or not the distortion correction processing has been completed for all the block lines BL in the entire screen (frame). If not, the next input block line BL is selected, and steps S1 to S1 are selected. Step S9 is repeated, and if the process has been completed for all the screens in the determination in step S9, the process ends.
[0082]
9 and 10 should be referred to as a modification of FIG.
When performing digital zoom or cutting out only a small area of interest, only a part of the imaging data may be used. Memory can be saved by selectively capturing a part of the image data from the CCD. In this case, in order to perform distortion correction in units of block lines, information (X′imgst, Y′imgst) on where the captured data is located on the image sensor is necessary.
[0083]
FIG. 9 shows the case of digital zoom, in which only the central portion is captured from captured image data. The difference from the case of FIG. 8 is that, as described above, the preprocess circuit 2 sets where to take in the entire screen. Only necessary portions are taken in based on this setting, and the range is indicated by E ′ in FIG.
[0084]
First, in FIG. 9B, a start position (Ximgst, Yimgst) corresponding to the left shoulder of the digital zoom range E in the entire screen is set. Next, a block line BL is set. Here, it is a portion indicated by satin. At this time, the position coordinates (Xblst, Yblst) are determined with the left shoulder of the capture range E as the origin, and the coordinates of each pixel in the block line BL are changed by changing m and n as in [Formula 2]. Can be generated.
[0085]
As a result, the position (X, Y) in the coordinates of the entire screen is determined from the coordinate positions (Ximgst, Yimgst), (Xblst, Yblst), and (m × ΔX, n × ΔY).
[0086]
The coordinate position (X ′, Y ′) in the captured image can be obtained using [Equation 1] from the coordinate position (X, Y) determined as described above.
[0087]
Then, the coordinate position (x ′, y ′) in the block line BL ′ in the captured image data is obtained.
[0088]
First, the left shoulder coordinates (X′imgst, Y′imgst) are known from the set range E ′ on the imaging surface of the captured imaging data. The coordinate position (X'blst, Y'blst) of the left shoulder of the block line BL 'is determined in advance using the support function in the coordinates with the left shoulder of the capture range E' as the origin, and within the block line BL ' The coordinate position (x ′, y ′) in the coordinates is determined. As a result, interpolation processing for each block line is performed.
[0089]
FIG. 10 shows a case where a certain area, for example, the edge of the screen is cut out from the image data. This corresponds to a case where an end portion of the imaged data is captured by a monitoring camera or the like. In the case of FIG. 10 as well, the same reference numerals as those in FIG. 9 are given. The operation is the same as that in FIG. 9 except that the cutting position is different from that in FIG.
[0090]
In a normal digital camera, the CPU sets the area to be cut out in the control register, so the cutout position is known and the above conversion is possible. However, when distortion correction processing is performed on the recorded data, it is cut out to a tag or the like. It is necessary to record the position and size of the area at the same time. At this time, the correction coefficient is recorded at the same time.
[0091]
By the way, in many cases, a monitor mode (a mode in which the entire captured image is not read out) is prepared for the CCD as the image sensor. In the monitor mode, lines are often thinned out, and the two-dimensional space in the image sensor is the same, but the size may be different on the data. In the preprocess, pixels in the horizontal direction may be thinned out. Further, filtering data such as a low-pass filter (LPF) may be applied to the image data from the CCD, or interpolation processing may be performed to capture the data into the frame memory. In this case, the vertical / horizontal sampling ratio may not be an integer. Further, in the recording of YCbCr in JPEG, the horizontal direction of Cb and Cr components is often sampled at double intervals, and the horizontal direction is reduced as data. These are corrected by Sx and Sy in [Formula 1].
[0092]
FIG. 11A shows a state in which data actually sent from the CCD is only indicated by black circles, and three lines are thinned out in the vertical direction during data capture at the time of imaging. In the monitor mode, only the thinned data is output from the CCD as described above, and when this data is taken into the memory, the image data is crushed vertically by thinning as shown in FIG. 11B. As shown in FIG. 11C, even if data at the same distance from the center is extracted, a phenomenon that an image is output shorter in the horizontal direction as shown in FIG. 11B appears. As a result, in the distortion correction according to [Equation 1], the effect of the distortion correction increases as the distance from the center increases. Therefore, the effect of the distortion correction changes vertically and horizontally.
[0093]
Correction coefficients Sx and Sy are provided for the purpose of correcting the image asymmetry in the vertical and horizontal directions. In the case of FIG. 11B, since it is necessary to extend in the vertical direction, Sx = 1 and Sy = 4.
[0094]
Due to the effects of Sx and Sy, accurate distortion correction is possible even if the vertical and horizontal sampling ratios are different.
[0095]
As described above, when the sampling ratio is not an integer, Sx and Sy may be set as non-integers. Furthermore, it is possible even when the intervals between the pixels of the image sensor differ vertically and horizontally (for example, rectangular pixels).
[0096]
By the way, normally, in the case of JPEG, it is generally recorded as data of YCbCr. As a setting at that time, a case as shown in FIG. 12 is conceivable. For example, in the case of data in the format of YC422, the resolution for color data is ½ in the horizontal direction compared to luminance data. In this case, color data may be corrected by setting Sx = 2 and Sy = 1.
[0097]
By the way, when the center of distortion and the center of the image do not coincide with each other, the subject at the center before the correction is shifted from the center after the correction. In [Formula 1], it is possible to prevent the subject at the center of the image from changing before and after the correction by correcting with the center deviation correction value (Xoff, Yoff).
[0098]
FIG. 13 is a diagram for explaining the center misalignment of an image.
FIG. 13 shows a corrected image. In FIG. 3B described above, the center of distortion coincides with the center of the image, that is, the center of the CCD (center of the image) coincides with the lens optical axis (center of distortion). .
[0099]
FIG. 13 shows a case where the center of distortion is deviated from the center of the CCD. In FIG. 13, since the distortion center (Xd, Yd) is different from the center of the image, the center P of the image with respect to the output range H is indicated by a Q point (large black circle) when distortion correction is performed without taking the center deviation into consideration. ). For the user, when the center of the image actually captured and the image displayed after distortion correction is shifted, the user feels very uncomfortable. Therefore, in order to bring the data originally in the center of the output range H before distortion correction to the center position with respect to the output range, the method of cutting out the image data subjected to distortion correction is changed. In order to do this, it is only necessary to define the center deviation of the image by (Xoff, Yoff) and change the cut-out direction of the image data. By setting the center deviation (Xoff, Yoff) of the image, the output range is moved from H to H ′ so that the subject that was originally at the center P of the image is also centered in the corrected output range H ′. It can be corrected.
[0100]
According to the embodiment of FIG. 13, it is possible to eliminate the uncomfortable feeling caused by the shift of the center subject.
[0101]
【The invention's effect】
As described above, according to the present invention, it is possible to calculate the spatial position of a small area (for example, a block line), and to realize distortion correction processing in units of small areas. In addition, accurate distortion correction can be performed on the thinned and captured image data, and accurate distortion correction can be performed on data obtained by cutting out an arbitrary area such as digital zoom.
[Brief description of the drawings]
FIG. 1 is a block diagram showing the overall configuration of an image processing apparatus according to an embodiment of the present invention.
2 is a block diagram illustrating a configuration of a distortion correction processing unit in FIG. 1;
FIG. 3 is a conceptual diagram of coordinate conversion in a distortion correction processing unit.
FIG. 4 is a view showing a captured image in which a Jinkasa type distortion is generated.
FIG. 5 is a view for explaining the reading order of image data from a frame memory according to the present embodiment.
FIG. 6 is a block diagram showing a configuration of first and second data order conversion units.
FIG. 7 is a diagram illustrating a relationship between captured image data before correction and a corrected image after correction.
8 is a flowchart of distortion correction processing in FIG.
FIG. 9 is a diagram illustrating a relationship between captured image data before correction and a corrected image after correction in the case of digital zoom.
FIG. 10 is a diagram illustrating a relationship between captured image data before correction and a corrected image after correction when a certain region is cut out from the captured data.
FIG. 11 is a diagram for explaining line thinning in a monitor mode of a CCD.
FIG. 12 is a diagram for explaining thinning in the horizontal direction in YC422 format data;
FIG. 13 is a diagram for explaining a center shift of an image.
FIG. 14 is a diagram showing a grid-like subject, a captured image with barrel distortion, and a captured image with pincushion distortion.
FIG. 15 is a diagram illustrating a concept of a general digital camera image processing procedure and a block configuration of an image processing apparatus of a conventional digital camera.
FIG. 16 is a diagram showing a relationship between a CCD pixel and an image.
[Explanation of symbols]
1 ... CCD
3 ... Bus
4 ... CPU
5 ... Frame memory
6 ... 1st data order conversion part
7. Image process circuit
6 ... 1st data order conversion part
8: Distortion correction processing unit (distortion correction means)
9: Second data order conversion unit
10 ... JPEG processing unit
11 ... Memory card (recording medium)
82 ... Internal memory section (buffer)
83. Memory control unit
85: Control register

Claims (12)

画像データに対して歪補正処理を行う歪補正手段を有する画像処理装置において、
前記歪補正手段は、
補正前の画像データ内において、補正画像の各画素が対応する位置を所定の補正式に従って算出する際、撮像面における空間的な位置を記述可能な座標系において算出することを特徴とする画像処理装置。
In an image processing apparatus having distortion correction means for performing distortion correction processing on image data,
The distortion correction means includes
Image processing characterized by calculating a spatial position on the imaging surface in a coordinate system that can be described when calculating a position corresponding to each pixel of the corrected image in the image data before correction according to a predetermined correction formula apparatus.
前記歪補正手段は、
補正画像に含まれる第1の小領域を単位に処理を行い、
前記第1の小領域の各画素の座標位置を前記補正式に従って変換した小領域を含む撮像面における第2の小領域について、前記撮像面に対応する座標系での位置を、前記第2の小領域での座標に変換した後に、
前記補正画像の各画素のデータを生成することを特徴とする請求項1に記載の画像処理装置。
The distortion correction means includes
Processing is performed in units of the first small area included in the corrected image,
For the second small region on the imaging surface including the small region obtained by converting the coordinate position of each pixel of the first small region according to the correction formula, the position in the coordinate system corresponding to the imaging surface is set to the second After converting to coordinates in a small area,
The image processing apparatus according to claim 1, wherein data of each pixel of the corrected image is generated.
前記画像データは、
撮像データの一部のみを取り込んだ部分画像データであることを特徴とする請求項1又は2に記載の画像処理装置。
The image data is
The image processing apparatus according to claim 1, wherein the image processing apparatus is partial image data in which only a part of the imaging data is captured.
前記部分画像データは、
前記撮像データの一部を切り出したデータであることを特徴とする請求項3記載の画像処理装置。
The partial image data is
The image processing apparatus according to claim 3, wherein the image processing apparatus is data obtained by cutting out a part of the imaging data.
前記部分画像データは、
前記撮像データの横または縦の少なくとも一方向に間引かれたデータであることを特徴とする請求項3記載の画像処理装置。
The partial image data is
The image processing apparatus according to claim 3, wherein the image processing apparatus is data thinned out in at least one horizontal or vertical direction of the imaging data.
前記画像データは、
前記撮像データに対してフィルタリング,空間サンプリングまたは補間処理の少なくともいずれか1つを行って生成されるデータであることを特徴とする請求項1記載の画像処理装置。
The image data is
The image processing apparatus according to claim 1, wherein the image processing apparatus is data generated by performing at least one of filtering, spatial sampling, and interpolation processing on the imaging data.
前記画像データは、
各画素が撮像面で空間的に位置する間隔が縦方向及び横方向で異なることを特徴とする請求項1に記載の画像処理装置。
The image data is
The image processing apparatus according to claim 1, wherein an interval in which each pixel is spatially positioned on the imaging surface is different in the vertical direction and the horizontal direction.
画像データにおける各画素の空間的なサンプリング間隔が縦横で異なる場合、歪補正前の画像内における座標を求める補正式は、縦横でのサンプリング間隔の違いを補正する係数を含むことを特徴とする請求項1〜7のいずれか1つに記載の画像処理装置。When the spatial sampling interval of each pixel in image data differs vertically and horizontally, a correction formula for obtaining coordinates in an image before distortion correction includes a coefficient for correcting a difference in sampling interval between the portrait and landscape. Item 8. The image processing apparatus according to any one of Items 1 to 7. 歪補正前の画像内における座標を求める補正式は、
所定量のオフセット補正が可能であることを特徴とする請求項1〜8のいずれか1つに記載の画像処理装置。
The correction formula for obtaining coordinates in the image before distortion correction is as follows:
The image processing apparatus according to claim 1, wherein a predetermined amount of offset correction is possible.
前記オフセット補正は、
歪の中心と画像の中心が一致しない場合に行うことを特徴とする請求項9に記載の画像処理装置。
The offset correction is
The image processing apparatus according to claim 9, which is performed when the center of distortion and the center of the image do not coincide with each other.
画像データに対して歪補正処理を行う歪補正手段を有する画像処理装置の歪補正方法であって、
前記歪補正方法は、
補正画像の各画素に対応する座標系での第1の位置を生成するステップと、
前記第1の位置を、歪補正式に従って歪補正前の画像データ内における座標系での第2の位置に変換するステップと、
前記歪補正前の画像データ内における座標系での第2の位置を、撮像面に対応する座標系を基準とする設定領域内での座標に変換するステップと、
前記設定領域内での座標に基づいて補間処理を行い、前記補正画像の各画素のデータを生成するステップと、
を有することを特徴とする歪補正方法。
A distortion correction method for an image processing apparatus having distortion correction means for performing distortion correction processing on image data,
The distortion correction method includes:
Generating a first position in a coordinate system corresponding to each pixel of the corrected image;
Converting the first position to a second position in a coordinate system in image data before distortion correction according to a distortion correction equation;
Converting the second position in the coordinate system in the image data before the distortion correction into coordinates in a setting region with reference to the coordinate system corresponding to the imaging surface;
Performing an interpolation process based on the coordinates in the setting region, and generating data of each pixel of the corrected image;
A distortion correction method comprising:
前記請求項11記載の歪補正方法においては、前記補正画像に含まれる小領域を単位に処理を行うことを特徴とする歪補正方法。12. The distortion correction method according to claim 11, wherein the process is performed in units of small areas included in the corrected image.
JP2003202663A 2003-07-28 2003-07-28 Image processor and distortion correction method Pending JP2005045513A (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2003202663A JP2005045513A (en) 2003-07-28 2003-07-28 Image processor and distortion correction method
EP04771117.1A EP1650705B1 (en) 2003-07-28 2004-07-27 Image processing apparatus, image processing method, and distortion correcting method
EP12006314.4A EP2533192B1 (en) 2003-07-28 2004-07-27 Image processing apparatus, image processing method, and distortion correcting method
PCT/JP2004/011010 WO2005010818A1 (en) 2003-07-28 2004-07-27 Image processing apparatus, image processing method, and distortion correcting method
US10/566,408 US7813585B2 (en) 2003-07-28 2004-07-27 Image processing apparatus, image processing method, and distortion correcting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003202663A JP2005045513A (en) 2003-07-28 2003-07-28 Image processor and distortion correction method

Publications (1)

Publication Number Publication Date
JP2005045513A true JP2005045513A (en) 2005-02-17

Family

ID=34262308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003202663A Pending JP2005045513A (en) 2003-07-28 2003-07-28 Image processor and distortion correction method

Country Status (1)

Country Link
JP (1) JP2005045513A (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008096533A1 (en) * 2007-02-07 2008-08-14 Nikon Corporation Image processing device and image processing method
KR100856729B1 (en) 2007-04-04 2008-09-04 장상진 Device and method for correcting distorted image
JP2008227582A (en) * 2007-03-08 2008-09-25 Hoya Corp Imaging apparatus
JP2008252522A (en) * 2007-03-30 2008-10-16 Hoya Corp Camera
JP2009296031A (en) * 2008-06-02 2009-12-17 Canon Inc Image processing apparatus, control method, and program
JP2009296174A (en) * 2008-06-03 2009-12-17 Canon Inc Imaging apparatus and correction method
JP2010103840A (en) * 2008-10-24 2010-05-06 Olympus Corp Imaging apparatus
CN102055909A (en) * 2009-11-06 2011-05-11 奥林巴斯映像株式会社 Imaging apparatus and imaging method
JP2012120035A (en) * 2010-12-02 2012-06-21 Canon Inc Image processing device, image processing method, and program
JP2015136106A (en) * 2015-01-06 2015-07-27 ルネサスエレクトロニクス株式会社 Semiconductor integrated circuit
JP2017175498A (en) * 2016-03-25 2017-09-28 日立オートモティブシステムズ株式会社 Image processing apparatus and image processing method
JP2019101192A (en) * 2017-11-30 2019-06-24 パナソニックIpマネジメント株式会社 Image display device
CN110786017A (en) * 2017-11-29 2020-02-11 近江数码制造株式会社 Distribution image generation method

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8089535B2 (en) 2007-02-07 2012-01-03 Nikon Corporation Image processing device and image processing method
WO2008096533A1 (en) * 2007-02-07 2008-08-14 Nikon Corporation Image processing device and image processing method
JP2008227582A (en) * 2007-03-08 2008-09-25 Hoya Corp Imaging apparatus
JP2008252522A (en) * 2007-03-30 2008-10-16 Hoya Corp Camera
KR100856729B1 (en) 2007-04-04 2008-09-04 장상진 Device and method for correcting distorted image
JP2009296031A (en) * 2008-06-02 2009-12-17 Canon Inc Image processing apparatus, control method, and program
US8417056B2 (en) 2008-06-02 2013-04-09 Canon Kabushiki Kaisha Image processing apparatus and image processing method
JP2009296174A (en) * 2008-06-03 2009-12-17 Canon Inc Imaging apparatus and correction method
JP2010103840A (en) * 2008-10-24 2010-05-06 Olympus Corp Imaging apparatus
CN102055909A (en) * 2009-11-06 2011-05-11 奥林巴斯映像株式会社 Imaging apparatus and imaging method
CN102055909B (en) * 2009-11-06 2013-06-12 奥林巴斯映像株式会社 Imaging apparatus and imaging method
US8913173B2 (en) 2009-11-06 2014-12-16 Olympus Imaging Corp. Imaging apparatus and imaging method
JP2012120035A (en) * 2010-12-02 2012-06-21 Canon Inc Image processing device, image processing method, and program
JP2015136106A (en) * 2015-01-06 2015-07-27 ルネサスエレクトロニクス株式会社 Semiconductor integrated circuit
JP2017175498A (en) * 2016-03-25 2017-09-28 日立オートモティブシステムズ株式会社 Image processing apparatus and image processing method
WO2017163468A1 (en) * 2016-03-25 2017-09-28 日立オートモティブシステムズ株式会社 Image processing device and image processing method
CN108770374A (en) * 2016-03-25 2018-11-06 日立汽车系统株式会社 Image processing apparatus and image processing method
US10672100B2 (en) 2016-03-25 2020-06-02 Hitachi Automotive Systems, Ltd. Image processing apparatus and image processing method
CN108770374B (en) * 2016-03-25 2022-04-01 日立安斯泰莫株式会社 Image processing apparatus and image processing method
CN110786017A (en) * 2017-11-29 2020-02-11 近江数码制造株式会社 Distribution image generation method
CN110786017B (en) * 2017-11-29 2023-09-01 近江数码制造株式会社 Distributed image generation method
JP2019101192A (en) * 2017-11-30 2019-06-24 パナソニックIpマネジメント株式会社 Image display device

Similar Documents

Publication Publication Date Title
EP1650705B1 (en) Image processing apparatus, image processing method, and distortion correcting method
JP4772281B2 (en) Image processing apparatus and image processing method
TWI336200B (en)
JP2021533507A (en) Image stitching methods and devices, in-vehicle image processing devices, electronic devices, storage media
JP4596986B2 (en) Imaging device
JP4556813B2 (en) Image processing apparatus and program
JP2004362069A (en) Image processor
WO2008143360A1 (en) Image processing apparatus or image processing program
US20090046182A1 (en) Pixel aspect ratio correction using panchromatic pixels
JP2005045513A (en) Image processor and distortion correction method
US11244431B2 (en) Image processing
JP4553798B2 (en) Imaging device
JP4608436B2 (en) Image shooting device
JP2000069343A (en) Digital image pickup device
JP4596987B2 (en) Imaging device
JP2001186533A (en) Image processing unit
JP4334932B2 (en) Image processing apparatus and image processing method
JP3730450B2 (en) Image input apparatus and image input method
JP2008003683A (en) Image generation device and its method and recording medium
JPH11250240A (en) Digital image pickup device for operating distortion correction by yuv data
JP4873721B2 (en) Image processing method and apparatus
JP2003219246A (en) Electronic camera and electronic camera system
JP2009003953A (en) Image processor
KR20120069543A (en) Device for processing image, method thereof and imaging device
JP2007267177A (en) Imaging apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090518

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090609