JP3897247B2 - 光学歪みの補正方法及び補正装置 - Google Patents
光学歪みの補正方法及び補正装置 Download PDFInfo
- Publication number
- JP3897247B2 JP3897247B2 JP2002141278A JP2002141278A JP3897247B2 JP 3897247 B2 JP3897247 B2 JP 3897247B2 JP 2002141278 A JP2002141278 A JP 2002141278A JP 2002141278 A JP2002141278 A JP 2002141278A JP 3897247 B2 JP3897247 B2 JP 3897247B2
- Authority
- JP
- Japan
- Prior art keywords
- correction
- line
- memory
- pixel
- optical distortion
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
- H04N23/81—Camera processing pipelines; Components thereof for suppressing or minimising disturbance in the image signal generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/2628—Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/60—Noise processing, e.g. detecting, correcting, reducing or removing noise
- H04N25/61—Noise processing, e.g. detecting, correcting, reducing or removing noise the noise originating only from the lens unit, e.g. flare, shading, vignetting or "cos4"
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Studio Devices (AREA)
- Closed-Circuit Television Systems (AREA)
Description
【発明の属する技術分野】
本発明は、光学歪みの補正方法及び補正装置に係わり、特に、光学レンズを介して撮影した被写体像を示し、且つ複数の画素がライン方向に配列された画素列が前記ライン方向と直交する方向に複数配列されて構成されたデジタル画像データが記憶された画像データ記憶手段との間でデータ転送を行って、前記デジタル画像データに含まれる光学歪みを補正する補正装置に適用される光学歪みの補正方法及び補正装置に関する。
【0002】
【従来の技術】
銀塩カメラやデジタルカメラなどの光学レンズを通して被写体像を撮像して、被写体像を表す画像を取得する撮像装置では、レンズの屈折により取得した画像の周辺に歪みが生じてしまう。この歪みは、一般に光学歪み(ディストーション)と称され、撮像装置に用いられるレンズは、この光学歪みを打ち消すように構成されるが、ズームレンズの場合、同一のレンズ構成でテレ端及びワイド端を共に補正することは難しく、大きな光学歪みが発生し易い。また、単焦点のレンズにおいても、補正するために高価な素材レンズ或いはレンズ構成を増やすことが必要とされ、薄くて安価なレンズ構成とするのは難しく、やはり光学歪みが残ってしまう。
【0003】
銀塩カメラのように取得された画像がフイルムに記録される場合は、記録後の画像の補正は不可能であり、レンズ性能によって光学歪みが決まってしまう。一方、デジタルカメラのようにデジタルデータで画像が取得されて記録メディアに記録される場合は、記録後でも演算処理によって画像を補正することが可能である。このため、デジタルカメラの分野では、従来より、光学歪み補正に関する技術が提案されている。
【0004】
ここで、光学歪みは、図1(A)に示すように、画像の角部が外側に伸びる「糸巻き型」と、図1(B)に示すように、逆に角部が縮む「たる型」の2種類に分けられ、何れも光学中心からの距離によって歪み量(変位量)が決まることが一般に知られている。すなわち、変位量が線形であれば、単に縮小或いは拡大されるだけであるが、実際には、図1(C)に示すように非線形であり、正の変位量の場合は、各画素は本来の位置から中心より遠ざかる位置にずれるので「糸巻き型」となり、負の変位量の場合は、各画素は本来の位置から中心へ近づく位置になるので「たる型」となる。
【0005】
このような光学歪みを補正する技術として、特開平6−292207号公報及び特開平10−271490号公報に記載されているように、画像の各座標で補正量を求め、それをテーブルとしてメモリに格納して補正する方法がある。しかしながら、この技術では、補正量のテーブルを格納するメモリには画像データの大きさに応じた記憶容量が必要とされ、画像サイズが大きくなるとこのメモリに必要とされる記憶容量も大きくなるので、ワーク領域の減少や価格が高くなってしまう。
【0006】
これを解消するために考えられた技術が、特開平11−252431号公報に記載されているような、補正量を近似式で表して補正する方法である。すなわち、図1(C)で示したような光学的歪みの変位量は、多項式で近似表現可能であることが一般に知られており、その逆数を補正式として用いるものである。この技術では、各座標の補正量をテーブルで保持する必要がなく、メモリにはパラメータ(多項式の係数)のみを記憶しておけば、演算により全ての補正前後の画像の座標を対応付けることができる。このような場合、補正前の画像が格納されているメモリから必要な座標の画素データを適宜読み出して、補正後の画像の各画素データを生成するのが一般的であるが、CPUによるメモリへのアクセス及び補正処理には、1画素分の処理だけでも多大な時間を必要とし、画像全体となるとかなりの時間を要する。
【0007】
このため、特開2001−101396号公報に記載されているように、補正前の画像が格納されているメモリからDMA転送により補正のために必要なデータを内部メモリに記憶させることで、高速化を図ることが考えられる。
【0008】
【発明が解決しようとする課題】
しかしながら、特開2001−101396号公報の技術では、補正のためにDMA転送情報、補正係数、補正前データの座標を予め作成しておく必要があり、且つこれらの情報もDMA転送する必要があるため、大きなメモリ容量が必要になるという問題があった。
【0009】
また、光学歪みは光学中心から離れるほど変位量が大きくなるため、補正を行う位置によって、1ラインの補正を行うために必要とされる補正前の画像の画素データのライン数が異なり、ライン毎にDMA転送のアドレッシングを設定しなければならず、処理が複雑になってしまうという問題があった。
【0010】
本発明は上記問題点を解消するためになされたもので、光学レンズを介して撮影された被写体像を示すデジタル画像データの光学歪みを簡単に補正し、且つこの補正に必要とされるメモリ容量を削減することができる光学歪みの補正方法及び補正装置を提供することを目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するために、請求項1に記載の発明は、光学レンズを介して撮影した被写体像を示し、且つ複数の画素がライン方向に配列された画素列が前記ライン方向と直交する方向に複数配列されて構成されたデジタル画像データが記憶された画像データ記憶手段との間でデータ転送を行って、前記デジタル画像データに含まれる光学歪みを補正する補正装置に適用される光学歪みの補正方法であって、前記光学歪みを多項式で近似して、補正後の各画素を補正前のデジタル画像データにより補間して、前記光学歪みを補正する際に、前記光学レンズの中心に対応する位置を基点とした前記ライン方向の軸及び前記ライン方向と直交する方向の軸により4事象に分割し、且つ各事象内を前記ライン方向と直交する複数のラインにより複数の短冊領域に分割し、前記短冊領域毎に、前記ライン方向の軸に近い画素列又は前記ライン方向の軸から遠い画素列から順に前記光学歪みを補正し、当該補正順序に従って、前記画像データ記憶手段との間で、前記ライン方向に連続した画素ごとに前記データ転送を行う、ことを特徴としている。
【0012】
請求項1に記載の発明によれば、光学歪みを多項式で近似して、補正後の各が素を補正前のデジタル画像データにより補間することにより、デジタル画像データに含まれる光学歪みが補正され、この光学歪みの補正は以下の順序で行われる。すなわち、画像を光学レンズの中心に対応する位置を基点としたライン方向の軸及びライン方向に直交する方向の軸とにより4事象に分割し、且つ各事象を短冊状に区切って、複数の短冊領域に分割する。そして、分割された各短冊領域毎に、ライン方向の軸に近い画素列又はライン方向の軸から遠い画素列から順にから補正が行われる。このような順序で補正を行うことにより、短冊領域内の1画素列分の補正に必要な画素のデータを得るためなどに画像データ記憶手段とデータ転送する際に、画像データ記憶手段のアクセスする1番最初のアドレスと、1回の転送(所定の画素数分のライン方向に連続したデータの転送)後に移動するアドレス移動幅だけを指定するだけでよく、データ転送の制御が簡単である。
【0013】
なお、上記の補正方法においては、前記光学歪みが糸巻き型の場合は、短冊領域毎に、前記ライン方向の軸に近い画素列から遠い画素列へと順に補正し、前記光学歪みがたる型の場合は、短冊領域毎に、前記ライン方向の軸から遠い画素列から近い画素列へと順に補正することが好ましい。また、この場合、前記短冊領域内の各画素列内では、前記中心に近い画素から順に補正することが好ましい。
【0014】
また、上記の補正方法においては、各前記事象内では、前記光学歪みが糸巻き型の場合は、前記中心に近い短冊領域から順に補正し、前記光学歪みがたる型の場合は、前記中心から遠い短冊領域から順に補正することが好ましい。
【0015】
また、上記の補正方法においては、前記光学歪みを近似する多項式として、奇数項を含まない多項式(すなわち偶数項及び定数項のみで構成された多項式)を用いるとよい。
【0016】
また、上記の補正方法においては、補間方法として、例えば、最近傍補間法、線形補間法、及び3次たたみ込み補間法の何れか1つを用いることができる。また、補正のパターンとしては、例えば、光学中心に相当する位置を固定して、周辺部を移動させるように補正するもの、及び、中心と周辺部との中間部或いは周辺部を固定し、中心部を移動させるように補正するものの何れかを用いることができる。
【0017】
請求項2に記載の発明は、光学レンズを介して被写体像を撮影し、前記被写体像を示す複数の画素がライン方向に配列された画素列が前記ライン方向と直交する方向に複数配列されて構成されたデジタル画像データを画像データ記憶手段に記憶する撮像装置に用いられ、前記デジタル画像データに含まれる光学歪みを補正する補正装置であって、前記光学歪みを多項式で近似して、補正後の各画素を補正前のデジタル画像データにより補間して、前記光学歪みを補正すると共に、前記光学レンズの中心に対応する位置を基点とした前記ライン方向の軸及び前記ライン方向と直交する方向の軸により4事象に分割し、且つ各事象内を前記ライン方向と直交する複数のラインにより複数の短冊領域に分割し、前記短冊領域毎に、前記ライン方向の軸に近い画素列又は前記ライン方向の軸から遠い画素列から順に前記光学歪みを補正する補正手段と、少なくとも前記短冊領域内の1画素列分の補正に必要とされる補正前の前記デジタル画像データの一部を記憶する補正前データ内部記憶手段と、前記補正手段による補正順序に従って、前記画像データ記憶手段から前記補正前データ内部記憶手段へ、補正前の前記デジタル画像データを前記ライン方向に連続した画素ごとにDMA転送する補正前データ転送手段と、を有することを特徴としている。
【0018】
請求項2に記載の発明によれば、補正手段では、画像を光学レンズの中心に対応する位置を基点としたライン方向の軸及びライン方向に直交する方向の軸とにより4事象に分割し、且つ各事象を短冊状に区切り、各短冊領域毎に、ライン方向の軸に近い画素列又はライン方向の軸から遠い画素列から順に補正を行う。補正前データ転送手段では、この補正手段の補正順序に従って、ライン方向に連続した画素ごとに補正前データ内部記憶手段にDMA転送し、補正前データ内部記憶手段には、補正前のデジタル画像データの一部である、少なくとも短冊領域内の1画素列分の補正に必要とされる補正前の画素のデータが格納される。補正手段は、補正前データ内部記憶手段から各画素の補正に必要なデータを適宜読み出して、短冊領域内の1画素列分の補正を行うことができる。
【0019】
このように、短冊領域内の1画素列分の補正に必要な画素のデータは、ライン方向に連続した画素毎にDMA転送されるので効率的であると共に、画像データ記憶手段から補正前データ内部記憶手段へのDMA転送は、アクセスする画像データ記憶手段の1番最初のアドレスと、1回のDMA転送(すなわち短冊領域内の1画素列分を補正するのに必要とする所定の画素数分のライン方向に連続したデータの転送)後に移動するアドレス移動幅だけを指定するだけでよく、DMA制御処理が簡単である。したがって、従来技術のように、補正のためにDMA転送情報、補正係数、補正前データの座標を転送する必要がなく、メモリ容量も削減できる。
【0020】
なお、補正後のデジタル画像データを最終的に補正前のデジタル画像データが記憶されていた画像データ記憶手段に記憶させる場合には、以下のような態様が考えられる。すなわち、上記の補正装置においては、少なくとも前記短冊領域内の1画素列分に相当する前記ライン方向に連続した所定の画素数分の前記補正手段による補正後のデジタル画像データの一部を記憶する補正後データ内部記憶手段と、前記補正後データ内部記憶手段から前記画像データ記憶手段へ、補正後のデジタル画像データを前記ライン方向に連続した画素ごとにDMA転送する補正後データ転送手段と、を更に有するようにするとよい。
【0021】
すなわち、短冊領域内の1画素列分に相当する前記ライン方向に連続した所定の画素数分の補正が終わったら、当該ライン方向に連続した所定の画素数分の補正後のデジタル画像データがまとめて画像データ記憶手段へDMA転送されるので効率的であると共に、補正後データ内部記憶手段から画像データ記憶手段へのDMA転送は、アクセスする画像データ記憶手段の1番最初のアドレスと、1回のDMA転送(すなわち短冊領域内の1画素列分のデータ転送)後に移動するアドレス移動幅だけを指定するだけでよく、DMA制御処理が簡単である。
【0022】
また、上記の補正装置においては、前記光学歪みが糸巻き型の場合は、短冊領域毎に、前記ライン方向の軸に近い画素列から遠い画素列へと順に補正し、前記光学歪みがたる型の場合は、短冊領域毎に、前記ライン方向の軸から遠い画素列から近い画素列へと順に補正することが好ましい。また、この場合、前記短冊領域内の各画素列内では、前記中心に近い画素から順に補正することが好ましい。
【0023】
また、上記の補正装置においては、前記補正手段は、前記事象内では、前記光学歪みが糸巻き型の場合は、前記中心に近い短冊領域から順に補正し、前記光学歪みがたる型の場合は、前記中心から遠い短冊領域から順に補正することが好ましい。
【0024】
また、上記の補正装置においては、光学歪みを近似する多項式として、奇数項を含まない多項式(すなわち偶数項及び定数項のみで構成された多項式)を用いるとよい。
【0025】
また、上記の補正装置においては、前記補正手段に適用される補間方法として、例えば、最近傍補間法、線形補間法、及び3次たたみ込み補間法の何れか1つを補間方法として用いることができる。また、前記補正手段は、補正パターンとして、例えば、光学中心に相当する位置を固定して、周辺部を移動させるように補正するもの、及び、中心と周辺部との中間部或いは周辺部を固定し、中心部を移動させるように補正するものの何れかを用いることができる。
【0026】
【発明の実施の形態】
まず、本発明に係る実施形態の説明に先立ち、本発明の実施の形態に適用される光学歪みの補正原理について説明する。
【0027】
図1で示したように、光学歪みによる変位量を示す光学ディストーションカーブは、画像中心からの距離の多次元関数で近似表現することができ、以下では、一例として、次式(1)で示す4次関数で表わす。
【0028】
F(d)=α×d4+β×d2+γ …(1)
ただし、d:光学中心からの距離、α、β、γ:係数、である。
【0029】
なお、上記式(1)において奇数次の項を省略したのは、光学歪みが無い状態、すなわち補正後の画像における画素の座標を(x、y)とした場合に(x、yは整数)、これに対応する補正前の画像の座標(X,Y)は、以下の式(2)で表される。
【0030】
式(2)からも分かるように、奇数次の項が含まれると光学中心からの距離dの演算に平方根の計算が必要となり、ハード構成が複雑になるためである。すなわち、奇数次の項を省略して偶数次の項のみの関数でこのように光学歪みを表わすことで、平方根の計算を回避し、回路構成の簡素化を図ることができる。
【0031】
一方、光学歪みを補正するの補正曲線は、光学ディストーションカーブと逆のカーブを描けばよく、大きく分けて3つのパターンが考えられる。例えば、糸巻き型の光学歪みの補正曲線は、光学ディストーションカーブとは逆に、必ず右下がりになるような(微分値が常に負)カーブを描き、図2に示す如く3種類の補正パターンが考えられる。
【0032】
すなわち、図2(A)に示されているのように、光学中心を固定し、周辺部を中心方向に引き寄せるように補正する補正パターン(補正パターン1)と、図2(B)、(C)に示されているように、例えば周辺部近傍などの中心と周辺部の中間部、或いは周辺部を固定し、中心部を移動させるように補正する補正パターン(補正パターン2、3)とがある。
【0033】
このような補正パターンの種類については、前述した式(1)における係数γの値により定まり、すなわち、前述した式(1)における係数α、βは、実際の光学歪みに基づいて設定されるが、γについては、採用した補正パターンに応じて設定される。補正パターン1はγ=0、補正パターン2、3は、γ>0の場合である。
【0034】
光学歪みの補正は、補正後の画像の座標(x、y)に対応する補正前の画像の座標(X、Y)を求めたら、該補正前の画像における座標(X、Y)にある画素データPを補正後の画像の座標(x、y)に移動することで行うことができるが、通常、上記式(2)により求めた補正前の画像の座標(X、Y)は整数値にならず、補正前の画像には対応する画素データが存在しない。
【0035】
このため、求めた補正前の画像の座標(X、Y)に対応する画素データPを、当該補正前の画像の座標(X、Y)近傍の実在する画素データから内挿によって求めて補間する必要がある。
【0036】
この場合の補間方法(内挿方法)としては、最近傍補間法(nearest neighbor interpolation)、線形補間法(bi-linear interpolation)を挙げることができる。
【0037】
線形補間法とは、図3に示すように、補正前の画像の座標(X、Y)に対応する画素データPを、当該補正前の画像において、座標(X、Y)の周囲にある近傍の4画素のデータD1、D2、D3、D4により内挿するものであり、当該補正前の画像の座標からの距離に応じて重みを決定して、この近傍の4画素の画素データD1、D2、D3、D4の重み付け平均を求める。
【0038】
すなわち、前述の式(2)により求められる、補正後の画像の座標(x、y)に対応する補正前の画像の座標(X、Y)の整数部を(intX、intY)とし、小数部を(Δx、Δy)とすると、当該補正前の画像の座標の周囲にある近傍の4画素のデータD1、D2、D3、D4の座標は、(intX、intY)、(intX、intY+1)、(intX+1、intY)、(intX+1、intY+1)となり、それぞれの画素データD1、D2、D3、D4に対する重みは、(1−Δx)×(1−Δy)、(1−Δx)×Δy、Δx×(1−Δy)、Δx×Δyとなる。求める画素データPは、補正前の画像における近傍4画素の画素データの値をD1、D2、D3、D4として、次の式(2)のようになる。
また、最近傍補間法とは、補正後の画像の座標の画素データPを、当該補正前の画像の座標に最も近い位置にある画素のデータにより内挿するものである。
【0039】
すなわち、前述の式(2)により、補正後の画像の座標(x、y)に対応する補正前の画像の座標(X,Y)=(x×F(d)、y×F(d))を求め、この補正前の画像の座標(X、Y)の小数部を四捨五入して整数値の座標にし、この整数値の座標の位置にある補正前の画像の画素データを、補正前の画像の座標(X,Y)の画素データPとする。
【0040】
また、高速演算処理可能であれば、演算がより複雑になるがその分より高画質の画像を得ることができる3次たたみ込み補間法(cubic convolution interpolation)により補間するようにしてもよい。
【0041】
何れの補間方法であっても、補正後の画像における座標(x、y)に対応する補正前の画像の座標(X,Y)を演算により求め、該求めた座標(X,Y)近傍の補正前の画像の画素データを用いて、当該補間方法に従って、画素データPを求める。そして、この求めた画素データPを補正後の画像における座標(x、y)の画素データとすることで、光学歪みを補正することができる。
【0042】
以下、本発明の実施の形態として、本発明をデジタルカメラに適用した場合について説明する。
【0043】
<第1の実施の形態>
第1の実施の形態では、補正パターン1により光学歪みを補正し、補間方法に線形補間法を採用した場合について説明する。
【0044】
(全体構成)
まず、図4を参照して、本実施の形態に係るデジタルカメラ10の構成を説明する。
【0045】
図4に示すように、本実施の形態に係るデジタルカメラ10は、被写体像を結像させるための光学ユニット12と、光学ユニット12の光軸後方に配設されたCCD(Charge Coupled Device)14と、アナログ信号をデジタル信号に変換するA/Dコンバータ16と、デジタルカメラ10の撮影によって得られた画像や各種情報を表示するためのLCD(液晶ディスプレイ)18と、レリーズボタン、モード切替スイッチ、電源スイッチなど撮影者によって操作される操作手段20と、を備えている。
【0046】
また、デジタルカメラ10は、入力されたデジタル信号に対して所定の処理を施してデジタル画像データを生成する信号処理プロセッサ22と、デジタル画像データの光学歪みを補正する本発明の補正装置としてのディストーション補正部24と、LCD18に対する表示を制御するLCD制御部26と、スマートメディア、ICカード、CD−R、CD−RW等の外部記録メディア28に対する各種情報の読み書きを制御するメディア制御部30と、光学ユニット12の光学ズーム倍率及び焦点を調整するA/F制御回路32と、操作手段20とのI/F(インタフェース)部34と、デジタルカメラ10の全体の制御を司るCPU(中央演算処理装置)36と、主としてCCD14による撮像によって得られたデジタル画像データを記憶する本発明の画像データ記憶手段としてのメインメモリ38と、各種プログラム、パラメータなどが予め記憶されたROM40と、を備えており、これら信号処理プロセッサ22、ディストーション補正部24、LCD制御部26、メディア制御部30、A/F制御回路32、I/F部34、CPU36、メインメモリ38、及びROM40は、バス42を介して相互に接続されている。
【0047】
光学ユニット12は、図示しないズームレンズ群及びフォーカスレンズを有し、且つそれぞれを光軸方向に移動させるレンズ移動機構を備え、焦点距離の変更(変倍)が可能なズームレンズとして構成されている。光学ユニット12は、A/F制御回路32と接続されており、A/F制御回路32の制御により、所望のズーム倍率になるようにズームレンズ群が光軸方向に移動され(焦点距離可変レンズ)、レンズを通過した被写体像を示す入射光がCCD14の受光面上に結像するように、フォーカスレンズが光軸方向に移動される(オートフォーカス(AF)機構)ようになっている。これにより、CCD14では、光学ユニット12のレンズを通過した被写体像を示す入射光に基づき被写体を撮像して被写体像を示すアナログ画像信号を出力する。
【0048】
このCCD14の出力端は、A/Dコンバータ16と接続されている。すなわち、A/Dコンバータ16は、CCD14により出力された被写体像を示すアナログ画像信号をデジタル画像信号に変換する。
【0049】
A/Dコンバータ16の出力端は、信号処理プロセッサ22に接続されている。すなわち、信号処理プロセッサ22には、撮影時にCCD14によって得られた被写体像を示す画像信号が、アナログ信号からデジタル信号に変換された後、入力され、デジタル画像データとして取り扱われる。具体的には、信号処理プロセッサ22では、入力されたデジタル画像データに対して、ホワイトバランス調整、ガンマ補正、シャープネス補正等の各種補正処理、及びRGBデータをYC信号に変換するYC変換処理といった所定のデジタル信号処理を施す。信号処理プロセッサ22によりYC変換されたデジタル画像データは、補正前の画像データとして、バス42を介してメインメモリ38に一旦格納される。
【0050】
メインメモリ38には、例えばSRAMやSDRAMといった大容量のメモリを一般に用いることができる。なお、このようなメモリは、ライン方向への連続したアクセスは早いが、不連続なアドレスへのアクセスは遅いという特徴を有する。
【0051】
ディストーション補正部24は、メインメモリ38に格納された補正前の画像データの光学歪みを補正するためのものであり、詳細は後述するが、補正前の画像データをメインメモリ38から読み出して、光学歪みを補正し、補正後の画像データのメインメモリ38に書き込むようになっている。
【0052】
デジタルカメラ10では、この補正後の画像データを、図示しない圧縮伸長回路により所定の圧縮形式(例えばJPEG)により圧縮した後、メディア制御部30を介して、外部記録メディア28に記憶することができる。
【0053】
一方、LCD制御部26には、前述のLCD18が接続されており、LCD18はLCD制御部26の制御下で作動するようになっている。撮影時には、LCD制御部26は、バス42を介してメインメモリ38から補正後の画像データを読出して、LCD18に表示させる。また、画像再生時には、外部記録メディア28に記憶された再生対象とするデジタル画像データが読み出されて、図示しない圧縮伸長回路により伸長された後、LCD制御部26の制御によりLCD18に表示される。
【0054】
また、I/F部34には撮影者によって操作される各種スイッチ乃至ボタンなどの操作手段20が接続されており、CPU36では、I/F部34を介して撮影者による操作手段20の操作状況を常時把握可能であり、把握した操作状況に応じて、上記各部の動作を制御する。
【0055】
(ディストーション補正部の詳細)
次に、ディストーション補正部24について詳細に説明する。
【0056】
ディストーション補正部24は、図4に示すように、メインメモリ38との間で読み書きするデータを記憶するための内部メモリ50、52と、補正手段として、演算により画像の光学歪みを補正する演算プロセッサ54と、メインメモリ38と内部メモリ50との間のDMA(Direct Memory Access)転送を司るDMAコントローラ56と、メインメモリ38と内部メモリ52との間のDMA転送を司るDMAコントローラ58と、を備えて構成されている。なお、図4では、内部メモリ50、52を物理的に異なる部材として示しているが、同一のメモリ(装置)内の互いに異なるメモリ領域を内部メモリ50、52として用いるようにしてもよい。
【0057】
内部メモリ50は、DMAコントローラ56と接続されており、DMAコントローラ56は、バス42と接続されており、DMAコントローラ56の制御の下で、バス42を介してメインメモリ38にアクセスし、メインメモリ38から内部メモリ50へ補正前の画像データを構成する一部の画素のデータ(画素データ)がデータ転送(DMA転送)される。すなわち、内部メモリ50は、メインメモリ38から転送(入力)された補正前の画像データの一部を記憶するためのものであり、補正前データ内部記憶手段に対応し、DMAコントローラ56が補正前データ転送手段に対応する。
【0058】
この内部メモリ50は、ライン方向(X方向)に連続した所定画素数分の画素データ(1ラインの一部のデータ)を各々格納するための3つのラインメモリA〜Cにより構成されており、各ラインメモリA〜Cには、補正前の画像データの互いに異なるラインの一部のデータが格納される。
【0059】
演算プロセッサ54は、内部メモリ50及び内部メモリ52と接続され、且つバス42とも接続されている。演算プロセッサ54は、内部メモリ50から必要な画素データを読み出して、演算により、光学歪みを補正した画像データ(補正後の画像データ)を構成する一部の画素のデータ(画素データ)を生成して内部メモリ52に格納するようになっている。
【0060】
内部メモリ52は、DMAコントローラ58と接続されており、DMAコントローラ58は、バス42と接続されており、DMAコントローラ58の制御の下で、バス42を介してメインメモリ38にアクセスし、内部メモリ52からメインメモリ38へ補正後の画像データの一部(画素データ)がデータ転送(DMA転送)される。すなわち、内部メモリ52は、メインメモリ38へ転送(出力)する補正後の画像データの一部を格納するためのものであり、補正後データ内部記憶手段に対応し、DMAコントローラ58は補正後データ転送手段に対応する。
【0061】
この内部メモリ52は、ライン方向(X方向)に連続した所定画素数分の画素データ(1ラインの一部のデータ)を各々格納するための2つのラインメモリM、Nにより構成されており、各ラインメモリM、Nには、補正後の画像データの互いに異なるラインの一部のデータが格納される。
【0062】
また、演算プロセッサ54は、バス42を介してDMAコントローラ56、Bに対して制御信号を送出し、DMAコントローラ56、58によるDMA転送処理を司っている。制御信号としては、メインメモリ38のアクセスするアドレス位置などを指定するアクセス位置指定信号や、メインメモリ38へのデータの読み書きを指示する転送指示信号などを送信するようになっている。
【0063】
演算プロセッサ54は、ディストーション補正部24全体の動作を司る役目を担っており、ディストーション補正部24において以下の如く処理が行われるようになっている。
【0064】
ディストーション補正部24では、補正後の画像における座標(x、y)に対応する補正前の画像の座標(X,Y)を演算により求め、該求めた座標(X,Y)近傍の補正前の画像の画素データをメインメモリ38から読み取って、当該読み取った画素データを用いた演算により画素データPを、補正後の画像における座標(x、y)の画素データとすることで、光学歪みを補正する。そして、この求めた画素データPを、補正後の画像における座標(x、y)の画素データとして、メインメモリ38に順次書き込んでいくことで、メインメモリ38に補正後の画像データが記憶される。
【0065】
ところで、前述したように、メインメモリ38は、ライン方向(X方向)への連続したアクセスは早いが、不連続なアドレスへのアクセスは遅い。このため、一般に、ディストーション補正部24によるメインメモリ38からの補正前の画像の画素データの読取りや、補正後の画像の画素データPのメインメモリ38への書き込みの際のデータ転送(DMA転送)は、処理の高速化のために、ライン方向に並んだいくつかの画素データをまとめて行われる。
【0066】
しかしながら、光学歪みは中心からの距離によって歪み量(変位量)が変化し、X軸に近い程、Y軸方向(ライン方向と直交する方向)に対する変位は小さく、X軸から離れる程、変位が大きくなる。このため、上記で説明した何れの補正パターン、及び何れの補間方法により補正するにしろ、X軸近辺であれば、1ライン中のどの部分でも補正に必要とされる補正前画像のライン数は少なくて済むが、X軸から離れると必要とするライン数が増え、1ラインを処理するのに多数ラインが必要となる。すなわち、ライン毎にDMA転送のアドレッシングを設定しなければならず、DMA転送制御が複雑になってしまう。
【0067】
このため、本実施の形態のディストーション補正部24では、図5に示すように、補正後の画像データを、光学中心に対応する位置を原点(基点)としてX軸Y軸により4つの事象70A〜Dに分割し、且つ各事象70A〜D内を、X軸方向の幅が所定の処理画素数となるように短冊状に区切って複数の短冊領域72に分割し、短冊領域72毎に、当該短冊領域72内の1ライン(以下、画像全体での1ラインと区別するために、「小ライン」と称す)74単位で補正が行われるようになっている。また、各短冊領域72内での小ライン74の補正順序は、図5に矢印で示すように、X軸に近い小ライン74から開始し、順に、X軸から離れる方向へと向うようになっている。
【0068】
また、短冊領域72(小ライン74)の幅寸法に相当する処理画素数は、当該小ライン74の位置に係わらず、当該ラインを補正するために必要とする補正前の画像のライン切り替え(すなわち、ディストーション補正部24への入力ラインの切り替え)が1回までになるような値が予め設定されている。また、この処理画素数に基づいて、メインメモリ38からDMA転送して、ディストーション補正部24に入力される入力画素数も予め設定されている。
【0069】
このように画像を4事象に分割し、且つ各事象を短冊状に区切って、各短冊領域72毎に、X軸に近い小ライン74から順に補正を行うことにより、メインメモリ38から内部メモリ50へのDMA転送は、一番最初のアドレスと、1回のDMA転送後にジャンプするアドレス移動幅だけを指定するだけでよく、DMA制御処理を簡便化することができる。また、従来技術のように、補正のためにDMA転送情報、補正係数、補正前データの座標を転送する必要がなく、メモリ容量も削減できる。
【0070】
また、補正後の画素データについては、内部メモリ52に1小ライン74分格納されたら、DMAコントローラ58によりメインメモリ38へDMA転送する。これにより、内部メモリ52からメインメモリ38へのDMA転送も、一番最初のアドレスと、1回のDMA転送後にジャンプするアドレス移動幅だけを指定するだけでよく、DMA制御処理を簡便化することができる。
【0071】
次に、光学歪みの種類毎に、補正処理順序についてさらに詳細に説明する。
糸巻き型の光学歪みは、図1で示したように、光学ディストーションカーブが0%(光学中心)を基点に必ず右上がりになるような(微分値が常に正)カーブとなるため、ある1ラインを補正しようとすると、中心から放射線上にある周辺部側に位置する補正前の画像の画素が必要となる。さらに、同一の1ライン中においても、画素毎に、中心からの距離に差があるため、図6に示すように、当該1ラインを補正するために必要とする補正前の画像の画素の位置は、右上がりのカーブを描く。
【0072】
なお、図6では、糸巻き型の光学歪みの場合に、補正パターン1で1ラインの一部分を補正処理する際に、補正により生成しようとする画素(すなわち補正後の画像の画素)を丸印、補正前の画像の画素を×印、丸印の補正後の画像の画素に対応する補正前の画像における位置を四角印で示している。また、同図において、座標(0,0)は、画像の中心を示している。なお、以降で説明する図もこれに従う。
【0073】
図6から分かるように、X軸近傍のラインでは、Y軸方向への変位が小さいので、どの部分でも補正に必要なライン数は少なくて済むが、X軸から離れるほど、Y軸方向への変位が大きくなり、補正に必要なライン数も増える。線形補間法では、1画素の補正のために、補正前の画像データの異なる2ライン上にある画素が必要となるので、本実施の形態では、X軸からの距離に係わらず、どのラインにおいても入力3ライン(2ラインの組を2回)までで補間できる処理画素数が制限され、具体的には、X軸から最も距離が離れたラインにおいて、入力3ラインまでで補間できるように設定すればよい。
【0074】
また、図6から分かるように、補正パターン1で糸巻き型の光学歪みを補正する場合は、1ラインの一部分(例えば5画素分)を補正処理しようとすると、少なくとも周辺方向(X軸方向)に当該画素以上(5画素以上、例えば10画素)の補正前の画像の画素データが必要とされる。すなわち、入力画素数は、処理画素数よりも多くなるように設定される。
【0075】
また、図5に矢印で示すように、糸巻き型の光学歪みの場合は、小ライン74内では、中心に近い画素から周辺方向へと補正処理を行うようになっている。
【0076】
これは、糸巻き型の光学歪みの場合は、同一ライン内では補正に必要な座標位置は前述のように右上がりのカーブを描き、且つ同一短冊領域72内での隣合う小ライン74の補正に必要な座標位置のY軸方向のステップ幅は、補正前画像の1ラインの幅よりも大きいためである。すなわち、小ライン74内での補正処理順序を、中心に近い画素から周辺方向へ向うようにすることにより、同一の小ライン74の補正処理中に次のラインの補正前の画像のデータが必要になることはあっても、そのときに不要となったラインのデータが次の小ライン74で必要になることはない。
【0077】
したがって、ディストーション補正部24では、1小ライン74の補正中に、次のラインのデータが必要になり入力ラインの切り替え、必要になった次のラインのデータをメインメモリ38から読み出してDMA転送したら、不要になったラインのデータ上に上書きすることができる。これにより、メインメモリ38から読み取った補正前の画像の画素データを格納するためのディストーション補正部24のメモリ(内部メモリ50のメモリ)容量を削減することができる。
【0078】
なお、短冊領域72間の補正処理順序については、糸巻き型の光学歪みの場合は、画像中心側の短冊領域72から周辺の短冊領域72へと補正処理を行うことが好ましい。
【0079】
詳しくは、図7に、補正後の画像の短冊領域72を実線で示し、各短冊領域72の補正処理に必要とされる補正前の画像の領域を点線で示すように、1短冊領域72の補正処理に必要とされる補正前の画像の領域は、補正後の画像の当該短冊領域72よりも画像中心から外側の領域となる。したがって、画像中心側の短冊領域72から周辺の短冊領域72へと補正処理を行えば、ディストーション補正部による補正後の画素データをメインメモリ38のDMA入力元(補正前の画像データ)に上書きすることができる。すなわち、各事象内での短冊領域72の補正処理順序を、画像中心側の短冊領域72から周辺の短冊領域72へ向うようにすることにより、メインメモリ38の容量を削減することができる。
【0080】
なお、各事象内での短冊領域72の補正処理順序は、周辺の短冊領域72から画像中心側の短冊領域72へと向うようにしてもよいが、この場合は、補正後の画素データをメインメモリ38のDMA入力元に上書きすることはできない。
【0081】
また、同一短冊領域72内での小ライン74の補正処理順序は、X軸から遠い小ライン74からX軸に近い方向へ向うようにしてもよい。この場合は、1小ライン74内での各画素の補正処理順序は、糸巻き型の光学歪みの場合は、周辺の画素から中心に近づく方向へ向うようにする。ただし、この場合も、補正後の画素データをメインメモリ38のDMA入力元に上書きすることはできない。
【0082】
一方、たる型の光学歪みの場合は、図1で示したように、光学ディストーションカーブが0%(光学中心)を基点に必ず右下がりになるような(微分値が常に負)カーブとなり、図8に示すように、補正に必要な補正前の画像の画素は、補正後の画像の画素よりも画像の中心方向にあり、中心から遠いほど変位が大きくなるため、補正後の画像のライン方向に並んだ画素に対応する補正前の画像の座標位置は、右下がりのカーブを描く。この場合、1小ライン74の補正のために補正前の画像の画素データを転送する際の余分な画素は、中心方向に取るようにする。
【0083】
また、補正処理順序は、X軸に遠い小ライン74から補正を開始し、小ライン74内では、中心から近い周辺の画素から周辺方向へと補正処理を行う。これにより、ディストーション補正部24に必要とされるメモリ容量を削減することができる。
【0084】
また、各事象内での短冊領域72の補正処理順序については、周辺の短冊領域72から画像中心側の短冊領域72へと行うようにすれば、補正後の画素データをメインメモリ38のDMA入力元(補正前の画像データ)に上書きするとこができ、メインメモリ38のメモリ容量を削減可能である。
【0085】
なお、画像中心側の短冊領域72から周辺の短冊領域72へ向うようにしてもよいが、この場合は、補正後の画素データをDMA入力元に上書きすることはできない。
【0086】
また、1短冊領域72内での補正処理順序は、X軸に近い小ライン74からX軸と離れる方向へとしてもよく、この場合、1小ライン74内での各画素の補正処理順序は、中心から遠い画素から中心に近づく方向へ向うようにすればよい。ただし、この場合も、補正後の画素データをメインメモリ38のDMA入力元に上書きすることはできない。
【0087】
<作用>
次に、本実施の形態の作用を説明する。本実施の形態に係わるデジタルカメラ10では、CCD14により、光学ユニット12のレンズを通過した被写体像を示す入射光に基づいく被写体が撮像されて、被写体像を示すアナログ画像信号が取得される。このアナログ画像信号は、A/Dコンバータ16によりデジタル画像信号に変換され、信号処理プロセッサ22により、YC信号に変換されて、補正前の画像データとして、メインメモリ38に一旦格納される。
【0088】
そして、ディストーション補正部24により、メインメモリ38から補正前の画像データを読み出して光学歪みが補正された後、メインメモリ38に再度格納され(詳細後述)、この補正後の画像データがLCD制御部26を通じてLCD18に表示されたり、メディア制御部30を通じて、外部記録メディア28に記録されたりする。なお、LCD18への表示の際には補正前の画像データを用い、撮像した被写体像が直ちに表示されるようにしてもよい。
【0089】
(光学歪み補正処理)
次に、図9を参照して、演算プロセッサ54で行われる光学歪み補正処理について説明する。図9には、短冊領域72毎に演算プロセッサ54で実行される光学歪み補正処理が示されている。
【0090】
図9に示すように、演算プロセッサ54は、まず、ステップ100において、補正対象の短冊領域72に応じて、DMAコントローラ56、58においてDMA転送を行うための設定、すなわちアクセスするメインメモリ38のアドレス位置の設定を行う。
【0091】
具体的には、DMAコントローラ56に対しては、当該短冊領域72において、一番最初に補正処理を行う小ライン74を補正するために必要とする補正前画像の画素データが格納されている一番最初のアドレスと、当該小ライン74を処理後にジャンプするするアドレス移動幅とを示す信号をアクセス位置指定信号として送信する。また、DMAコントローラ58に対しては、当該短冊領域72において、一番最初に処理した小ライン74の画素データを格納する一番最初のアドレスと、当該小ライン74の格納後にジャンプするアドレス移動幅とを示す信号をアクセス位置指定信号として送信する。なお、処理順序については、上記光学歪み補正処理で述べた如く予め設定されている。
【0092】
次のステップ102では、DMAコントローラ56へDMA転送実行を指示する。この指示を受けて、DMAコントローラ56は、前述のステップ100で設定されたメインメモリ38のアドレス位置にアクセスして、当該アドレス位置から予め設定された入力画素数分(1入力ライン)だけ補正前の画像の画素データをメインメモリ38から読み込んで内部メモリ50に書き込む(DMA転送)。1入力ラインのDMA転送が終わったら、前述のステップ100で設定されたアドレス移動幅だけメインメモリ38のアクセス位置をジャンプして次の入力ラインをDMA転送することを繰返し、格納可能な個数分(内部メモリ50が備えているラインメモリの個数分)の入力ラインを内部メモリ50に書き込む。
【0093】
以下、このようにしてDMA転送されて内部メモリ50に書き込まれた各入力ラインを、DMA転送の順序により、1番目の入力ライン、2番目の入力ライン、…とすると、線形補間法では、2入力ラインのデータを用いて1つの画素の補間処理がなされるため、演算プロセッサ54では、1番目と2番目の入力ラインが最初の小ライン74の補正処理に用いるデータとされる。なお、最近傍補間法の場合は、1入力ラインのデータを用いて1つの画素の補間処理がなされるため、1番目の入力ラインが補正処理に用いるデータとされる。
【0094】
次のステップ104では、少なくとも補間処理に必要な個数分だけ入力ラインが内部メモリ50に書き込まれたら、短冊領域72内の補正順序に従って、最初の小ライン74の補正が開始され、当該小ライン74内の補正順序に従って、最初の補正したい画素(x、y)に対応する補正前の画像の座標(X,Y)を前述の式(2)の演算により求める。
【0095】
次のステップ106では、現在補正処理に用いるデータとされている入力ラインの画素データで、求めた座標(X,Y)の画素データを補間可能か否かを判定する。
【0096】
補間可能であれば、ステップ106から次のステップ108に進み、最近傍補間法や線形補間法などの補間方法に従って補間処理が行われる。すなわち、内部メモリ50から座標(X,Y)近傍の画素データを読取り、当該読み取った画素データから座標(X,Y)の画素データPを求め、その結果を補正後の画像の座標(x、y)の画素データとして内部メモリ52に書き込む。これにより、補正後の画像の座標(x、y)の画素が補正処理されたことになる。
【0097】
そして、1小ライン74分の補正後の画素データが揃うまでは、次のステップ110で否定されて、ステップ104に戻り、小ライン74内の補正順序に従って、次の画素に対応する補正前の画像の座標を求め、以下同様の処理を繰り返すが、現在補正処理に用いるデータとされている入力ラインの画素データでは、求めた座標(X,Y)の画素データPを補間不能になった場合は、ステップ106からステップ112に進み、補正処理に用いる入力ラインを切り替える(メモリチェンジ)。
【0098】
なお、本実施の形態では、メモリチェンジの際には、DMAコントローラ56に次の入力ラインの転送を指示するようになっており、DMAコントローラ56は、この指示を受けて、前述のステップ100で設定されたアドレス移動幅だけメインメモリ38のアクセス位置をジャンプして次の入力ラインをDMA転送して、最も古い入力ラインのデータに上書きする。
【0099】
補正処理に用いる入力ラインを切り替えたら、ステップ114に進み、前述のステップ108と同様の補間処理が行われ、補正後の画素データが内部メモリ52に書き込まれる。
【0100】
なお、前述したように、入力ラインの切替えが1回までになるように1小ライン74の処理画素数が定められているので、当該1小ライン74内の残りの全画素の補正処理は、ステップ112での切替後の入力ラインにより必ず行うことができる。
【0101】
したがって、その後は、1小ライン74分の画素データが揃うまでは、次のステップ116で否定されて、ステップ118に進み、小ライン74内の補正順序に従って、次の画素(x、y)に対応する補正前の画像の座標(X,Y)を求め、次のステップ120で前述のステップ108と同様の補間処理が行われて、補正後の画素データが内部メモリ52に書き込まれる。
【0102】
内部メモリ52に補正後の画素データが1小ライン74分書き込まれたら、ステップ110或いはステップ116で肯定判定されて、ステップ122に進み、当該1小ライン分の補正後の画素データのDMA転送実行をDMAコントローラ58に指示する。この指示を受けて、DMAコントローラ58は、内部メモリ52に格納されている1小ライン74分の補正後の画素データを読出し、前述のステップ100で設定されたメインメモリ38のアドレス位置にアクセスして、当該アドレス位置から1小ライン74分の補正後の画素データを書き込む。なお、DMAコントローラ58は、メインメモリ38への2回目以降のアクセスの場合は、前述のステップ100で設定されたアドレス移動幅だけ前回のメインメモリ38のアクセス位置をジャンプしてから、1小ライン74分の補正後の画素データを書き込む。
【0103】
次のステップ124では、1短冊領域72内の全小ライン74について処理が終了したか否かを判断し、未処理の小ライン74が残っている場合は、次の小ライン74の補正処理を行うために、ステップ126に移行し、当該小ライン74内の補正順序に従って、最初の補正したい画素(x、y)に対応する補正前の画像の座標(X,Y)を前述の式(2)の演算により求める。そして、現在補正処理に用いるデータとされている入力ラインの画素データで、求めた座標(X,Y)の画素データを補間可能であれば、次のステップ128からステップ108に戻り、求めた座標(X,Y)の画素データを補間不能の場合は、次のステップ128からステップ130に移行して、補正処理に用いる入力ラインを切り替えた(メモリチェンジ)後、ステップ108に戻って、次の小ライン74について、上記と同様に処理が行われる。
【0104】
その後、1短冊領域72内の全小ライン74について処理が終了したら、ステップ124で肯定判定されて、当該短冊領域72に対する補正処理は終了する。
【0105】
図10に、このような光学歪み補正処理を行った場合のディストーション補正部24の各部の動作を示す。なお、図10は、演算プロセッサ54により、DMAコントローラ56、58に対して、DMA転送を行うための設定が行われた後の動作を示している。
【0106】
図10に示すように、まず、DMAコントローラ56により、メインメモリ38上の補正前の画像データの一部を連続アドレスで所定画素数分だけ読出し、ラインメモリAにDMA転送して書き込む(期間T10)。
【0107】
ラインメモリAへの転送が終了したら、DMAコントローラ56により、同様に、次の入力ラインをラインメモリBにDMA転送して書き込み(期間T11)、この転送が終了したら、さらに次の入力ラインをラインメモリCにDMA転送して書き込む(期間T12)。これにより、ラインメモリA〜Cには、ライン番号が互いに1つずつ異なる入力ラインデータが書き込まれる。
【0108】
線形補間法の場合は、2入力ライン分の画素データがあれば、1つの画素の補間処理可能であるため、ディストーション補正部24では、最初の2入力ライン分の画素データがラインメモリに蓄積されたら、演算プロセッサ54により1番目の小ライン74の光学歪みの補正演算処理が開始される(期間T13)。なお、ここで言う補正演算処理とは、補正前画像の座標演算と補間処理のことである。
【0109】
すなわち、演算プロセッサ54では、前述の光学歪みの補正原理で説明したように、作成したい画像(補正後の画像)の座標に対応する補正前の画像の座標を演算し、この演算により求めた座標の周囲近傍の4画素の座標を求めて、この4画素の座標に相当するラインメモリの4点のアドレスをそれぞれ算出する。詳しくは、4画素の座標を(X、Y)、(X、Y+1)、(X+1、Y)、(X+1、Y+1)とすると、X座標が各ラインメモリ内のアドレスに変換され、Y座標がライン番号、すなわちラインメモリを指定する情報に変換される。なお、1番目の小ライン74の補正では、読み込み元のラインメモリとして、ライン番号が小さい方からラインメモリA、Bの組が指定されるようになっている。そして、ラインメモリA、Bから算出された当該アドレスに格納されている画素データを読み出して、前述の式(2)の演算により画素データPを算出し、その結果をラインメモリMに書き込む。
【0110】
そして、ラインメモリMに所定の処理画素数分だけ式(3)の演算により算出された画素データPが書き込まれたら、1番目の小ライン74の補正が終了したとして、DMAコントローラ58によりラインメモリMの画素データが読み出されて、メインメモリ38へDMA転送されると共に(期間T14)、DMAコントローラ56により、メインメモリ38からラインメモリAに次のラインを新たにDMA転送されて上書きされる(期間T15)。
【0111】
また、この間も、演算プロセッサ54の補正演算処理は継続して行われ、ラインメモリDに書き込まれたデータが所定の処理画素数分に達した後は、ライン番号がそれぞれ1つ繰り上げるように読み込み元のラインメモリの組を切替える(メモリチェンジ)と共に(ここでは、ラインメモリB、Cに切り替える)、書き込み先についてももう一方のラインメモリ(ここでは、ラインメモリN)に切り替えて、同様に2番目の小ライン74の補正が行われている(期間T16a)。
【0112】
ここで、演算された座標に相当するアドレスが、読み込み元としてアクセス中のラインメモリの組(ここでは、ラインメモリB、C)になくなった場合、演算プロセッサ54では、読み込み元としてアクセスするラインメモリを、当該アクセス中のラインメモリのうち古いライン番号に対応する方(具体的には、ラインメモリB)を非アクセス中の別のラインメモリ(具体的には、ラインメモリA)に切替える(メモリチェンジ)。
【0113】
演算プロセッサ54では、このメモリチェンジが終了するまで待機し(期間T16b)、メモリチェンジが終了したら、新しいラインメモリの組(具体的には、ラインメモリC、A)から、式(2)により演算された座標に相当するアドレスに格納されているデータを読み出して、式(3)の演算処理を行ない、その結果算出された画素データPについては引き続き同一のラインメモリ(ここでは、ラインメモリN)に書き込む(期間T16c)。すなわち、2番目の小ライン74の補正は、期間T16(=T16a+T16b+T16c)に行われる。
【0114】
また、メモリチェンジと同時に、当該メモリチェンジによって、アクセス対象でなくなったラインメモリ(具体的には、ラインメモリB)には、DMAコントローラ56により、メインメモリ38から次のラインが新たにDMA転送されて上書きされる(期間T17)。
【0115】
その後、ラインメモリNに所定の処理画素数分だけ画素データPが書き込まれたら、2番目の小ライン74の補正が終了したとして、DMAコントローラ58によりラインメモリNの画素データが読み出されて、メインメモリ38へDMA転送されると共に(期間T18)、同様にして3番目の小ライン74の補正演算処理が開始される。以降、3番目の小ライン74、4番目の小ライン74、…、と上記と同様の処理が繰り返されて、1短冊領域72分の補正が行われる。このような処理を全ての短冊領域72に対して行えば、光学歪みが補正された補正後の画像データがメインメモリ38に記憶される。
【0116】
なお、上記では、上記のディストーション補正部24では、入出力のDMA転送をダブルバッファにより高速化を図っているが、ラインメモリC、ラインメモリNを省略して、図11に示す如く、シングルバッファによりDMA転送を行うことも可能である。
【0117】
すなわち、図11に示すように、まず、DMAコントローラ56により、メインメモリ38上の補正前の画像データの一部を連続アドレスで所定画素数分だけ読出し、ラインメモリAにDMA転送して書き込む(期間T20)。
【0118】
ラインメモリAへの転送が終了したら、DMAコントローラ56により、同様に、次のラインをラインメモリBにDMA転送して書き込む(期間T21)。これにより、ラインメモリA、Bには、ライン番号が互いに1つずつ異なるラインデータが書き込まれる。
【0119】
このようにして2ライン分の画素データがラインメモリに蓄積されたら、演算プロセッサ54により1番目の小ライン74の光学歪みの補正演算処理が開始され、前述のダブルバッファの場合と同様に、ラインメモリMにその結果を書き込んでいく(期間T22)。
【0120】
そして、ラインメモリMに所定の処理画素数分だけ画素データPが書き込まれたら、1番目の小ライン74の補正が終了したとして、DMAコントローラ58によりラインメモリMの画素データが読み出されて、メインメモリ38へDMA転送されると共に(期間T23)、DMAコントローラ56により、メインメモリ38からラインメモリAに次のラインが新たにDMA転送されて上書きされる(メモリチェンジ、期間T24)。
【0121】
次に、ラインメモリAへのDMA転送が終了したら、演算プロセッサ54により2番目の小ライン74の光学歪みの補正演算処理が開始され、その結果を同様にラインメモリMに書き込んでいく(期間T25a)。
【0122】
なお、補正演算処理中のメモリチェンジについては、ダブルバッファの場合と同様に適宜行われ(期間T26)、演算プロセッサ54では、このメモリチェンジが終了するまで待機する(期間T25b)。そして、メモリチェンジが終了したら、演算プロセッサ54では、引き続き補正演算処理を行なって、その結果をラインメモリMに書き込んでいく(期間T25c)。すなわち、2番目の小ライン74の補正は、期間T25(=T25a+T25b+T25c)に行われる。
【0123】
その後、ラインメモリMに所定の処理画素数分だけ画素データPが書き込まれたら、2番目の小ライン74の補正が終了したとして、DMAコントローラ58によりラインメモリMの画素データが読み出されて、メインメモリ38へDMA転送されると共に、同様にして3番目の小ライン74の補正演算処理が開始される。以降、3番目の小ライン74、4番目の小ライン74、…、と上記と同様の処理が繰り返されて、1短冊領域72分の補正が行われる。このような処理を全ての短冊領域72に対して行えば、光学歪みが補正された補正後の画像データがメインメモリ38に記憶される。
【0124】
このように、シングルバッファでもダブルバッファの場合と同様に光学歪みを補正した画像データを得ることができる。ただし、シングルバッファの場合は、ダブルバッファの場合に比べて、内部メモリのラインメモリ、すなわちメモリ容量を削減できる代りに、処理速度が遅くなる。
【0125】
<第2の実施の形態>
第2の実施の形態では、補間方法に最近傍補間法を採用し、補正パターン1により光学歪みを補正する場合について説明する。図12に、この場合のディストーション補正部24の詳細構成を示す。なお、図12では、第1の実施の形態と同一の部材については、同一の符号を付与しており、ここでは第1の実施の形態と異なる部分のみ詳細に説明する。
【0126】
図12に示されているように、ディストーション補正部24の内部メモリ50は、2つのラインメモリA、Bから構成され、内部メモリ52は、2つのラインメモリM、Nから構成されている。
【0127】
DMAコントローラ56は、第1の実施の形態と同様に、メインメモリ38から補正前の画像の画素データをDMA転送し、ラインメモリA、BにY方向の座標(ライン番号)が互いに1つずつ異なる入力ラインが格納されるように、入力ライン毎にラインメモリを切り替えて、ラインメモリA、Bに書き込む。
【0128】
演算プロセッサ54は、ラインメモリA、Bに格納されているデータを補正前の画像のデータとし、最近傍補間法により、補正後の画素データを求める。
【0129】
DMAコントローラ58は、第1の実施の形態と同様にラインメモリM又はNに格納された画素データをDMA転送してメインメモリ38に書き込む。
【0130】
最近傍補間法では、1画素の補正のために必要な補正前の画像データの画素は、1つのみ、すなわち1ライン上の画素でよいので、本実施の形態では、X軸からの距離に係わらず、どのラインにおいても入力2ライン(1ラインが2回)までで補間できる処理画素数が制限され、具体的には、X軸から最も距離が離れたラインにおいて、入力2ラインまでで補間できるように設定すればよい。入力画素数については、この処理画素数に応じて設定されている。また、補正処理順序については、第1の実施の形態と同様である(図5参照)。
【0131】
次に、このように構成されたディストーション補正部24の動作を説明する。なお、演算プロセッサの処理は、補間方法を変えるだけで、基本的に図9と同じであるため、ここでは、図13を参照して、ディストーション補正部24の各部の動作を説明する。なお、図13は、演算プロセッサ54により、DMAコントローラ56、58に対して、DMA転送を行うための設定が行われた後の動作を示している。
【0132】
図13に示すように、まず、DMAコントローラ56により、メインメモリ38上の補正前の画像データの一部を連続アドレスで所定画素数分だけ読出し、ラインメモリAにDMA転送して書き込む(期間T30)。
【0133】
ラインメモリAへの転送が終了したら、DMAコントローラ56により、同様に、次のラインをラインメモリBにDMA転送して書き込む(期間T31)。これにより、ラインメモリA、Bには、ライン番号が互いに1つずつ異なるラインデータが書き込まれる。
【0134】
最近傍補間法の場合は、1入力ライン分の画素データがあれば、1つの画素の補間処理可能であるため、ディストーション補正部24では、最初の1ライン分の画素データがラインメモリに蓄積されたら、演算プロセッサ54により1番目の小ライン74の光学歪みの補正演算処理が開始される(期間T32)。
【0135】
すなわち、演算プロセッサ54では、式(2)により作成したい画像(補正後の画像)の座標に対応する補正前の画像の座標を演算し、この演算により求めた座標に最も近い画素の座標を求めて、この画素の座標に相当するラインメモリのアドレスをそれぞれ算出する。なお、1番目の小ライン74の補正演算処理では、読み込み元のラインメモリとして、ライン番号が小さい方のラインメモリAが指定されるようになっている。そして、ラインメモリAから算出された当該アドレスに格納されている画素データを読み出して、これをそのまま画素データPとして、ラインメモリMに書き込む。
【0136】
そして、ラインメモリMに所定の処理画素数分だけ画素データPが書き込まれたら、1番目の小ライン74の補正が終了したとして、DMAコントローラ58によりラインメモリMの画素データが読み出されて、メインメモリ38へDMA転送されると共に(期間T33)、DMAコントローラ56により、メインメモリ38からラインメモリAに次のラインを新たにDMA転送されて上書きされる(期間T34)。
【0137】
また、この間も、演算プロセッサ54の演算処理は継続して行われ、ラインメモリDに書き込まれたデータが所定の処理画素数分に達した後は、ライン番号がそれぞれ1つ繰り上げるように読み込み元のラインメモリを切替える(メモリチェンジ)と共に(ここでは、ラインメモリBに切り替える)、書き込み先についてももう一方のラインメモリ(ここでは、ラインメモリN)に切り替えて、同様に2番目の小ライン74の補正演算処理が行われている(期間T35a)。
【0138】
ここで、演算された座標に相当するアドレスが、読み込み元としてアクセス中のラインメモリ(ここでは、ラインメモリB)になくなった場合、演算プロセッサ54では、読み込み元としてアクセスするラインメモリを、非アクセス中の別のラインメモリ(具体的には、ラインメモリA)に切替える(メモリチェンジ)。
【0139】
演算プロセッサ54では、このメモリチェンジが終了するまで待機し(期間T35b)、メモリチェンジが終了したら、新しいラインメモリ(ここでは、ラインメモリA)から、演算された座標に相当するアドレスに格納されているデータを読み出して、画素データPとし、引き続き同一のラインメモリ(ここでは、ラインメモリN)に書き込む(期間T35c)。すなわち、2番目の小ライン74の補正は、期間T35(=T35a+T35b+T35c)に行われる。
【0140】
また、メモリチェンジと同時に、当該メモリチェンジによって、アクセス対象でなくなったラインメモリ(具体的には、ラインメモリB)には、DMAコントローラ56により、メインメモリ38から次のラインが新たにDMA転送されて上書きされる(期間T36)。
【0141】
その後、ラインメモリNに所定の処理画素数分だけ画素データPが書き込まれたら、2番目の小ライン74の補正が終了したとして、DMAコントローラ58によりラインメモリNの画素データが読み出されて、メインメモリ38へDMA転送されると共に(期間T37)、同様にして3番目の小ライン74の補正演算処理が開始される。以降、3番目の小ライン74、4番目の小ライン74、…、と上記と同様の処理が繰り返されて、1短冊領域72分の補正処理が行われる。このような処理を全ての短冊領域72に対して行えば、光学歪みが補正された補正後の画像データがメインメモリ38に記憶される。
【0142】
なお、上記のディストーション補正部24では、入出力のDMA転送をダブルバッファにより高速化を図っているが、ラインメモリB、ラインメモリNを省略して、図14に示す如く、シングルバッファによりDMA転送を行うことも可能である。
【0143】
すなわち、図14では、まず、DMAコントローラ56により、メインメモリ38上の補正前の画像データの一部を連続アドレスで所定画素数分だけ読出し、ラインメモリAにDMA転送して書き込む(期間T40)。
【0144】
ラインメモリAへの転送が終了したら、演算プロセッサ54により1番目の小ライン74の光学歪みの補正演算演算が開始され、前述のダブルバッファの場合と同様に、その結果をラインメモリMに書き込んでいく(期間T41)。
【0145】
そして、ラインメモリMに所定の処理画素数分だけ画素データPが書き込まれたら、1番目の小ライン74の補正が終了したとして、DMAコントローラ58によりラインメモリMの画素データが読み出されて、メインメモリ38へDMA転送されると共に(期間T43)、DMAコントローラ56により、メインメモリ38からラインメモリAに次のラインが新たにDMA転送されて上書きされる(メモリチェンジ、期間T44)。
【0146】
次に、ラインメモリAへのDMA転送が終了したら、演算プロセッサ54により2番目の小ライン74の光学歪みの補正演算処理が開始され、同様に、その結果をラインメモリMに書き込んでいく(期間T45a)。
【0147】
なお、補正演算処理中のメモリチェンジについては、ダブルバッファの場合と同様に適宜行われ(期間T46)、演算プロセッサ54では、このメモリチェンジが終了するまで待機する(期間T45b)。そして、メモリチェンジが終了したら、演算プロセッサ54では、引き続き補正演算処理を行なって、その結果をラインメモリMに書き込んでいく(期間T45c)。すなわち、2番目の小ライン74の補正は、期間T45(=T45a+T45b+T45c)に行われる。
【0148】
その後、ラインメモリMに所定の処理画素数分だけ画素データPが書き込まれたら、2番目の小ライン74の補正が終了したとして、DMAコントローラ58によりラインメモリMの画素データが読み出されて、メインメモリ38へDMA転送されると共に、同様にして3番目の小ライン74の補正演算処理が開始される。以降、3番目の小ライン74、4番目の小ライン74、…、と上記と同様の処理が繰り返されて、1短冊領域72分の補正処理が行われる。このような処理を全ての短冊領域72に対して行えば、光学歪みが補正された補正後の画像データがメインメモリ38に記憶される。
【0149】
このように、シングルバッファでもダブルバッファの場合と同様に光学歪みを補正した画像データを得ることができる。ただし、シングルバッファの場合は、ダブルバッファの場合に比べて、内部メモリのラインメモリ、すなわちメモリ容量を削減できる代りに、処理速度が遅くなる。
【0150】
<第3の実施の形態>
第3の実施の形態では、補間方法を線形補間法を採用し、補正パターン2又は3により光学歪みを補正する場合について説明する。図15に、この場合のディストーション補正部24の詳細構成を示す。なお、図15では、第1の実施の形態と同一の部材については、同一の符号を付与しており、ここでは第1の実施の形態と異なる部分のみ詳細に説明する。
【0151】
図15に示されているように、ディストーション補正部24の内部メモリ50は、4つのラインメモリA〜Dから構成され、内部メモリ52は、2つのラインメモリM、Nから構成されている。
【0152】
DMAコントローラ56は、第1の実施の形態と同様に、メインメモリ38から補正前の画像の画素データをDMA転送し、ラインメモリA〜Dにy方向の座標(ライン番号)が互いに1つずつ異なる入力ラインが格納されるように、入力ライン毎にラインメモリを切り替えて、ラインメモリA〜Dに書き込む。
【0153】
演算プロセッサ54は、ラインメモリA〜Dに格納されているデータを補正前の画像のデータとし、線形補間法により、補正後の画素データを求める。線形補間法については、第1の実施の形態と同様である。
【0154】
DMAコントローラ58は、第1の実施の形態と同様にラインメモリM又はNに格納された画素データをDMA転送してメインメモリ38に書き込む。
【0155】
また、処理画素数、入力画素数、補正処理順序については、第1の実施の形態と同様である。
【0156】
次に、このように構成されたディストーション補正部24の動作を説明する。なお、演算プロセッサの処理は、補間方法を変えるだけで、基本的に図9と同じであるため、ここでは、図16を参照して、ディストーション補正部24の各部の動作を説明する。なお、予め、DMAコントローラ56、58には、DMA転送を行うための設定が演算プロセッサ54により行われているものとする。
【0157】
図16に示すように、まず、DMAコントローラ56により、メインメモリ38上の補正前の画像データの一部を連続アドレスで所定画素数分だけ読出し、ラインメモリAにDMA転送して書き込む(期間T50)。
【0158】
ラインメモリAへの転送が終了したら、DMAコントローラ56により、同様に、次のラインをラインメモリBにDMA転送して書き込み(期間T51)、この転送が終了したら、さらに次のラインをラインメモリCにDMA転送して書き込み(期間T52)、さらに次のラインをラインメモリDにDMA転送して書き込む(期間T53)。これにより、ラインメモリA〜Dには、ライン番号が互いに1つずつ異なるラインデータが書き込まれる。
【0159】
また、ディストーション補正部24では、最初の3ライン分の画素データがラインメモリに蓄積されたら、演算プロセッサ54により1番目の小ライン74の光学歪みの補正演算処理が開始される(期間T54)。なお、補正演算処理は、第1の実施の形態と同様であるため、詳細な説明は省略する。
【0160】
そして、1番目の小ライン74の各画素の補正演算処理結果が、ラインメモリMに順次書き込まれていき、ラインメモリMに所定の処理画素数分だけ式(3)の演算により算出された画素データPが書き込まれたら、1番目の小ライン74の補正が終了したとして、DMAコントローラ58によりラインメモリMの画素データが読み出されて、メインメモリ38へDMA転送される(期間T55)。
【0161】
また、この間も、演算プロセッサ54の補正演算処理は継続して行われ、ラインメモリDに書き込まれたデータが所定の処理画素数分に達した後は、書き込み先のラインメモリをもう一方のラインメモリ(ここでは、ラインメモリN)に切り替えて、同様に2番目の小ライン74の補正が行われている(期間T56a)。
【0162】
ここで、同一の小ライン74の補正演算中に、演算された座標に相当するアドレスが、読み込み元としてアクセス中のラインメモリの組(ここでは、ラインメモリA、B)になくなった場合、演算プロセッサ54では、読み込み元としてアクセスするラインメモリを、当該アクセス中のラインメモリのうち古いライン番号に対応する方(具体的には、ラインメモリA)を非アクセスの中で次のライン番号にラインメモリ(具体的には、ラインメモリC)に切替えて、引き続き2番目の小ライン74の補正を行う(期間T56b)。
【0163】
ただし、補正パターン2又は3の場合は、図17(A)に示すように、1小ライン中の各画素の変位量(補正量)が最大値を有するパターンとなり、(B)に示すように糸巻き型の光学歪みの場合も、(C)に示すようにたる型の光学歪みの場合も、アクセス中から非アクセスに切り替えられたライン番号の入力ラインのデータも、同一の小ライン74を引き続き補正している間に、再度必要になることがある。すなわち、補正パターン2又は3で光学歪みを補正する場合は、1つの小ライン74を処理している間は、3入力ライン分のデータを常に保持しておく必要がある。このため、本実施の形態では、同一の小ライン74を処理している間は、メモリチェンジが行われても、DMAコントローラ56へは次の入力ラインの転送を指示しないようになっている。
【0164】
その後、演算された座標に相当するアドレスが、前に読み込み元としてアクセスしていたラインメモリの組に戻った場合は、演算プロセッサ54では、読み込み元としてアクセスするラインメモリを当該元のラインメモリの組に戻し、引き続き2番目の小ライン74の補正を行う(期間T56c)。すなわち、2番目の小ライン74の補正は、期間T56(=T56a+T56b+T56c)に行われる。
【0165】
その後、ラインメモリNに所定の処理画素数分だけ画素データPが書き込まれたら、2番目の小ライン74の補正が終了したとして、DMAコントローラ58によりラインメモリNの画素データが読み出されて、メインメモリ38へDMA転送されると共に(期間T57)、同様にして3番目の小ライン74の補正演算処理が開始される(期間T58)。
【0166】
また、次の小ライン74(ここでは、3番目の小ライン)の補正演算処理を開始したときに、最初の画素の補正のために演算された座標に相当するアドレスが、読み込み元としてそれまでアクセスしていたラインメモリの組(ここでは、ラインメモリA、B)になくなった場合、演算プロセッサ54では、読み込み元としてアクセスするラインメモリを、当該アクセス中のラインメモリのうち古いライン番号に対応する方(具体的には、ラインメモリA)を非アクセスの中で次のライン番号にラインメモリ(具体的には、ラインメモリC)に切替える(メモリチェンジ)。
【0167】
また、このメモリチェンジと同時に、当該メモリチェンジによって、アクセス対象でなくなったラインメモリ(具体的には、ラインメモリA)には、DMAコントローラ56により、メインメモリ38から次のラインが新たにDMA転送されて上書きされる(期間T59)。
【0168】
以降、3番目の小ライン74、4番目の小ライン74、…、と上記と同様の処理が繰り返されて、1短冊領域72分の補正が行われる。このような処理を全ての短冊領域72に対して行えば、光学歪みが補正された補正後の画像データがメインメモリ38に記憶される。
【0169】
なお、上記では、上記のディストーション補正部24では、入出力のDMA転送をダブルバッファにより高速化を図っているが、ラインメモリD、ラインメモリNを省略して、図18に示す如く、シングルバッファによりDMA転送を行うことも可能である。
【0170】
すなわち、図18では、まず、DMAコントローラ56により、メインメモリ38上の補正前の画像データの一部を連続アドレスで所定画素数分だけ読出し、ラインメモリAにDMA転送して書き込む(期間T60)。
【0171】
ラインメモリAへの転送が終了したら、DMAコントローラ56により、同様に、次のラインをラインメモリBにDMA転送して書き込み(期間T61)、この転送が終了したら、さらに次のラインをラインメモリCにDMA転送して書き込む(期間T62)。これにより、ラインメモリA〜Cには、ライン番号が互いに1つずつ異なるラインデータが書き込まれる。
【0172】
このようにして、3ライン分の画素データがラインメモリに蓄積されたら、演算プロセッサ54により、1番目の小ライン74の光学歪みの補正演算処理が開始され、前述のダブルバッファの場合と同様に、ラインメモリMにその結果を書き込んでいく(期間T63)。
【0173】
そして、ラインメモリMに所定の処理画素数分だけ画素データPが書き込まれたら、1番目の小ライン74の補正が終了したとして、DMAコントローラ58によりラインメモリMの画素データが読み出されて、メインメモリ38へDMA転送される(期間T64)。
【0174】
メインメモリ38へのDMA転送が終了したら、演算プロセッサ54により2番目の小ライン74の光学歪みの補正演算処理が開始され、その結果を同様にラインメモリMに書き込んでいく(期間T65)。なお、補正演算処理中のメモリチェンジについては、ダブルバッファの場合と同様に適宜行われる。
【0175】
その後、ラインメモリMに所定の処理画素数分だけ画素データPが書き込まれたら、2番目の小ライン74の補正が終了したとして、DMAコントローラ58によりラインメモリMの画素データが読み出されて、メインメモリ38へDMA転送される(期間T66)。その後、次の小ライン74、すなわち3番目の小ライン74の補正演算処理が開始される。
【0176】
なお、次の小ライン74(3ライン目)の最初の画素の補正演算処理において、メモリチェンジが行われる場合には、前の小ライン74の補正演算処理終了後に、DMAコントローラ56により、メインメモリ38から次のラインを新たにDMA転送して、当該メモリチェンジによってアクセス対象でなくなるラインメモリ(具体的には、ラインメモリA)に上書きする(期間T67)。
【0177】
以降、3番目の小ライン74、4番目の小ライン74、…、と上記と同様の処理が繰り返されて、1短冊領域72分の補正が行われる。このような処理を全ての短冊領域72に対して行えば、光学歪みが補正された補正後の画像データがメインメモリ38に記憶される。
【0178】
このように、シングルバッファでもダブルバッファの場合と同様に光学歪みを補正した画像データを得ることができる。ただし、シングルバッファの場合は、ダブルバッファの場合に比べて、内部メモリのラインメモリ、すなわちメモリ容量を削減できる代りに、処理速度が遅くなる。
【0179】
上記第1〜第3の実施の形態で示したように、画像を4つの事象70A〜Dに分割し、更に各事象70内を短冊状に分割し、各短冊領域72内において、中心から近い小ライン74から順に補正処理を行うことにより、補正パターンの種類や補間方法の種類に寄らずに、光学歪みを簡単に補正することができ、且つ従来よりも必要とされる内部メモリの容量も削減することができる。
【0180】
なお、第1及び第2の実施の形態の比較により分かるように、線形補間法を採用した場合は、最近傍補間法を採用した場合よりも、式(3)で示したように演算が複雑なため、補正処理に必要とされる処理時間が長く、また、内部メモリ50に必要とされるラインメモリの個数、すなわち内部メモリ50のメモリ容量も多くなるため生産コストが高くなるが、その反面、線形補間法は、最近傍補間法よりも高画質な画像(補正後の画像)が得られることが一般に知られている。
【0181】
一方、最近傍補間法を採用した場合は、補正処理に要する処理時間が短くて済み、内部メモリ50のメモリ容量も少なくてよいが、補正後の画像が低画質になってしまう。また、上記では説明を省略したが、補間方法に3次たたみ込み補間法を採用した場合は、線形補間法よりもさらに演算が複雑になり、処理時間が多くなるが、補正後の画像はより高画質となる。
【0182】
このように、補間方法によって、補正後の画質と、処理時間及び生産コストとはトレードオフの関係にあるため、実現したい補正後の画質と処理時間及び生産コストとに応じて、補間方法を適宜選択すればよい。
【0183】
また、補正パターン1により光学歪みを補正する場合は、周辺部を中心方向に引き寄せるように補正を行うため、補正前の画像データにない画素データを必要とし、結果として補正処理により画角が変化し、補正後の画像の画質が低下してしまう欠点があるが、その反面、第1及び第3の実施の形態の比較により分かるように、1小ライン74の処理に必要な入力ライン数が3ラインではなく2ラインでよく、すなわち、同じ補間方法(線形補間法)を採用した場合に、補正パターン2又は3により光学歪みを補正する場合よりも、内部メモリ50のメモリ容量が削減でき、低コスト化を図ることができる。
【0184】
一方、補正パターン2又は3により光学歪みを補正する場合は、周辺部を固定して補正を行うため、補正前の画像データ以外の画素データを必要とせず(或いは必要としても画素数は少ない)、画角の変化はほとんどないが、1小ライン74の処理に必要な入力ライン数が3ラインになることがあり、必要とする内部メモリ50のメモリ容量が多く、生産コストが高くなる。
【0185】
このように、補正パターンによっても、補正後の画像の画質と生産コストとは、トレードオフの関係があるため、実現したい補正後の画像の画質と生産コストとに応じて、補正パターンを適宜選択すればよい。
【0186】
なお、上記第1〜第3の実施の形態では、短冊領域72(小ライン74)の幅寸法の幅に相当する処理画素数を、当該短冊領域内の小ライン74の位置(中心からの距離)に係わらず、入力ラインの切替が1回までになるように設定した場合を例に説明したが、本発明は、これに限定されるものではない。ただし、許容する入力ラインの切替回数が増えるほど、内部メモリ50に必要とされるラインメモリ数が増えるため、上記のように切替回数を1回までとするのが最も好ましい。
【0187】
【発明の効果】
上記に示したように、本発明は、光学レンズを介して撮影された被写体像を示すデジタル画像データの光学歪みを簡単に補正し、且つこの補正に必要とされるメモリ容量を削減することができるという優れた効果を有する。
【図面の簡単な説明】
【図1】 (A)は糸巻き型の光学歪みの形状、(B)はたる型の光学歪みの形状を示し、(C)は、糸巻き型及びたる型の各々の光学歪みの変位量(光学ディストーション)を示す図である。
【図2】 (A)〜(C)は、補正パターンの種類を示す図である。
【図3】 線形補間法を説明するための概念図である。
【図4】 第1の実施の形態に係わるデジタルカメラの構成を示すブロック図である。
【図5】 第1の実施の形態に係わる光学歪みの補正方法及び補正順序を示す概念図である。
【図6】 補正パターン1を採用した場合の、糸巻き型の光学歪みの補正前後の画像における画素位置の対応関係を示す概念図である。
【図7】 第1の実施の形態に係わる糸巻き型の光学歪みの短冊領域毎に光学歪みを補正した場合の、補正後の短冊領域と、当該短冊領域の補正に必要な補正前の画像の領域との位置関係を示す概念図である。
【図8】 補正パターン1を採用した場合の、たる型の光学歪みの補正前後の画像における画素位置の対応関係を示す概念図である。
【図9】 第1の実施の形態に係わる演算プロセッサで短冊領域毎に実行される制御処理を示すフローチャートである。
【図10】 第1の実施の形態のディストーション補正部の各部の動作を示すタイミングチャートである。
【図11】 第1の実施の形態の変形例(シングルバッファ)のディストーション補正部の各部の動作を示すタイミングチャートである。
【図12】 第2の実施の形態に係わるデジタルカメラの構成を示すブロック図である。
【図13】 第2の実施の形態のディストーション補正部の各部の動作を示すタイミングチャートである。
【図14】 第2の実施の形態の変形例(シングルバッファの場合)のディストーション補正部の各部の動作を示すタイミングチャートである。
【図15】 第3の実施の形態に係わるデジタルカメラの構成を示すブロック図である。
【図16】 第3の実施の形態のディストーション補正部の各部の動作を示すタイミングチャートである。
【図17】 補正パターン2又は3を採用した場合の、(A)は光学中心からの距離に対する変位量、(B)は糸巻き型の光学歪みの補正前後の画像における画素位置の対応関係、(C)はたる型の光学歪みの補正前後の画像における画素位置の対応関係を示す概念図である。
【図18】 第3の実施の形態の変形例(シングルバッファの場合)のディストーション補正部の各部の動作を示すタイミングチャートである。
【符号の説明】
10 デジタルカメラ
24 ディストーション補正部
38 メインメモリ
42 バス
50 内部メモリ
52 内部メモリ
54 演算プロセッサ
56 DMAコントローラ
58 DMAコントローラ
72 短冊領域
74 小ライン
Claims (2)
- 光学レンズを介して撮影した被写体像を示し、且つ複数の画素がライン方向に配列された画素列が前記ライン方向と直交する方向に複数配列されて構成されたデジタル画像データが記憶された画像データ記憶手段との間でデータ転送を行って、前記デジタル画像データに含まれる光学歪みを補正する補正装置に適用される光学歪みの補正方法であって、
前記光学歪みを多項式で近似して、補正後の各画素を補正前のデジタル画像データにより補間して、前記光学歪みを補正する際に、
前記光学レンズの中心に対応する位置を基点とした前記ライン方向の軸及び前記ライン方向と直交する方向の軸により4事象に分割し、且つ各事象内を前記ライン方向と直交する複数のラインにより複数の短冊領域に分割し、前記短冊領域毎に、前記ライン方向の軸に近い画素列又は前記ライン方向の軸から遠い画素列から順に前記光学歪みを補正し、
当該補正順序に従って、前記画像データ記憶手段との間で、前記ライン方向に連続した画素ごとに前記データ転送を行う、
ことを特徴とする光学歪みの補正方法。 - 光学レンズを介して被写体像を撮影し、前記被写体像を示す複数の画素がライン方向に配列された画素列が前記ライン方向と直交する方向に複数配列されて構成されたデジタル画像データを画像データ記憶手段に記憶する撮像装置に用いられ、前記デジタル画像データに含まれる光学歪みを補正する補正装置であって、
前記光学歪みを多項式で近似して、補正後の各画素を補正前のデジタル画像データにより補間して、前記光学歪みを補正すると共に、前記光学レンズの中心に対応する位置を基点とした前記ライン方向の軸及び前記ライン方向と直交する方向の軸により4事象に分割し、且つ各事象内を前記ライン方向と直交する複数のラインにより複数の短冊領域に分割し、前記短冊領域毎に、前記ライン方向の軸に近い画素列又は前記ライン方向の軸から遠い画素列から順に前記光学歪みを補正する補正手段と、
少なくとも前記短冊領域内の1画素列分の補正に必要とされる補正前の前記デジタル画像データの一部を記憶する補正前データ内部記憶手段と、
前記補正手段による補正順序に従って、前記画像データ記憶手段から前記第1の内部記憶手段へ、補正前の前記デジタル画像データを前記ライン方向に連続した画素ごとにDMA転送する補正前データ転送手段と、
を有することを特徴とする補正装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002141278A JP3897247B2 (ja) | 2002-05-16 | 2002-05-16 | 光学歪みの補正方法及び補正装置 |
| US10/438,913 US7301565B2 (en) | 2002-05-16 | 2003-05-16 | Correction method, correction device and photographing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002141278A JP3897247B2 (ja) | 2002-05-16 | 2002-05-16 | 光学歪みの補正方法及び補正装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003333588A JP2003333588A (ja) | 2003-11-21 |
| JP3897247B2 true JP3897247B2 (ja) | 2007-03-22 |
Family
ID=29544944
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002141278A Expired - Fee Related JP3897247B2 (ja) | 2002-05-16 | 2002-05-16 | 光学歪みの補正方法及び補正装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US7301565B2 (ja) |
| JP (1) | JP3897247B2 (ja) |
Families Citing this family (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7596286B2 (en) * | 2003-08-06 | 2009-09-29 | Sony Corporation | Image processing apparatus, image processing system, imaging apparatus and image processing method |
| JP4104571B2 (ja) * | 2004-03-29 | 2008-06-18 | 三洋電機株式会社 | 歪曲補正装置及びこの歪曲補正装置を備えた撮像装置 |
| US7920200B2 (en) * | 2005-06-07 | 2011-04-05 | Olympus Corporation | Image pickup device with two cylindrical lenses |
| JP4754939B2 (ja) * | 2005-11-01 | 2011-08-24 | オリンパス株式会社 | 画像処理装置 |
| JP2007135135A (ja) * | 2005-11-14 | 2007-05-31 | Olympus Corp | 動画像撮像装置 |
| CN101001309A (zh) * | 2006-01-13 | 2007-07-18 | 鸿富锦精密工业(深圳)有限公司 | 一种成像系统及方法 |
| JP4470930B2 (ja) * | 2006-09-21 | 2010-06-02 | ソニー株式会社 | 画像処理装置、画像処理方法、及び、プログラム |
| JP4977556B2 (ja) | 2006-10-11 | 2012-07-18 | ルネサスエレクトロニクス株式会社 | 半導体集積回路装置および描画処理表示システム |
| JP2009010730A (ja) * | 2007-06-28 | 2009-01-15 | Kyocera Corp | 画像処理方法と該画像処理方法を用いた撮像装置 |
| US8260944B2 (en) * | 2007-09-07 | 2012-09-04 | International Business Machines Corporation | Using a state machine embedded within a session initiation protocol (SIP) servlet to implement an application programming interface (API) |
| JP5057948B2 (ja) * | 2007-12-04 | 2012-10-24 | アルパイン株式会社 | 歪曲補正画像生成ユニットおよび歪曲補正画像生成方法 |
| JP4919978B2 (ja) * | 2008-01-26 | 2012-04-18 | 三洋電機株式会社 | 歪補正装置 |
| JP5198138B2 (ja) | 2008-05-12 | 2013-05-15 | オリンパスメディカルシステムズ株式会社 | 内視鏡用画像装置 |
| JP5735227B2 (ja) | 2010-07-16 | 2015-06-17 | ルネサスエレクトロニクス株式会社 | 画像変換装置及び画像変換システム |
| JP5299383B2 (ja) | 2010-08-20 | 2013-09-25 | 株式会社Jvcケンウッド | 画像補正装置および画像補正方法 |
| TWI452893B (zh) * | 2011-01-12 | 2014-09-11 | Himax Media Solutions Inc | 立體影像顯示方法 |
| US8797391B2 (en) * | 2011-01-14 | 2014-08-05 | Himax Media Solutions, Inc. | Stereo image displaying method |
| JP5456206B2 (ja) * | 2011-06-30 | 2014-03-26 | 富士フイルム株式会社 | 撮像装置、撮像装置の制御プログラム、及び撮像装置の制御方法 |
| JP2013125401A (ja) * | 2011-12-14 | 2013-06-24 | Samsung Electronics Co Ltd | 撮像装置および歪補正方法 |
| JP2013126101A (ja) * | 2011-12-14 | 2013-06-24 | Samsung Electronics Co Ltd | 撮像装置および撮像方法 |
| JP5779512B2 (ja) * | 2012-01-24 | 2015-09-16 | 株式会社ソシオネクスト | 画像の光学歪み補正装置,画像の光学歪み補正方法,および,画像の光学歪み補正装置を有する画像生成装置 |
| JP6146819B2 (ja) * | 2012-03-14 | 2017-06-14 | 富士機械製造株式会社 | 画像補正処理装置 |
| JP6275468B2 (ja) | 2013-12-10 | 2018-02-07 | ハンファテクウィン株式会社Hanwha Techwin Co.,Ltd. | 画像処理装置、画像処理方法及び撮像装置 |
| JP5959684B2 (ja) * | 2015-04-16 | 2016-08-02 | ルネサスエレクトロニクス株式会社 | 画像変換システム |
| CN110337805B (zh) | 2017-03-01 | 2021-03-23 | 富士胶片株式会社 | 摄像装置、图像处理装置、图像处理方法及存储介质 |
| JP7170478B2 (ja) * | 2018-09-18 | 2022-11-14 | 株式会社東芝 | 画像処理装置、画像処理方法及び画像処理プログラム |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0313074A (ja) * | 1989-06-09 | 1991-01-22 | Canon Inc | 画像処理システム |
| NL9000766A (nl) * | 1990-04-02 | 1991-11-01 | Koninkl Philips Electronics Nv | Inrichting voor geometrische correctie van een vertekend beeld. |
| JPH06292207A (ja) | 1993-04-02 | 1994-10-18 | Sony Corp | 撮像装置 |
| US5613162A (en) * | 1995-01-04 | 1997-03-18 | Ast Research, Inc. | Method and apparatus for performing efficient direct memory access data transfers |
| JPH10271490A (ja) | 1997-03-24 | 1998-10-09 | Yazaki Corp | 車両後方監視装置 |
| JPH11250239A (ja) | 1998-02-27 | 1999-09-17 | Kyocera Corp | Yuvデータによりディストーション補正を行うディジタル撮像装置 |
| JPH11252431A (ja) | 1998-02-27 | 1999-09-17 | Kyocera Corp | ディストーション補正機能を有するディジタル撮像装置 |
| JPH11250238A (ja) | 1998-02-27 | 1999-09-17 | Kyocera Corp | ブロック単位でディストーション補正を行うディジタル撮像装置 |
| JPH11250240A (ja) | 1998-02-27 | 1999-09-17 | Kyocera Corp | Yuvデータによりディストーション補正を行うディジタル撮像装置 |
| JPH11331628A (ja) * | 1998-05-14 | 1999-11-30 | Seiko Epson Corp | 歪曲収差補正方法および画像処理装置並びに歪曲収差補正処理プログラムを記録した記録媒体 |
| US6587158B1 (en) * | 1998-07-23 | 2003-07-01 | Dvdo, Inc. | Method and apparatus for reducing on-chip memory in vertical video processing |
| US6747702B1 (en) * | 1998-12-23 | 2004-06-08 | Eastman Kodak Company | Apparatus and method for producing images without distortion and lateral color aberration |
| US6538691B1 (en) * | 1999-01-21 | 2003-03-25 | Intel Corporation | Software correction of image distortion in digital cameras |
| JP2001101396A (ja) | 1999-09-30 | 2001-04-13 | Toshiba Corp | 画像歪み補正処理装置および方法、並びに画像歪み補正処理を行うプログラムを格納した媒体 |
| US6694064B1 (en) * | 1999-11-19 | 2004-02-17 | Positive Systems, Inc. | Digital aerial image mosaic method and apparatus |
| US7227573B2 (en) * | 2002-07-29 | 2007-06-05 | Hewlett-Packard Development Company, L.P. | Apparatus and method for improved-resolution digital zoom in an electronic imaging device |
-
2002
- 2002-05-16 JP JP2002141278A patent/JP3897247B2/ja not_active Expired - Fee Related
-
2003
- 2003-05-16 US US10/438,913 patent/US7301565B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US20030218683A1 (en) | 2003-11-27 |
| JP2003333588A (ja) | 2003-11-21 |
| US7301565B2 (en) | 2007-11-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3897247B2 (ja) | 光学歪みの補正方法及び補正装置 | |
| CN101924875B (zh) | 图像处理装置以及摄像装置 | |
| JP4028306B2 (ja) | デジタル撮像装置 | |
| JP2004336106A (ja) | 画像処理装置、画像処理方法ならびに撮像装置 | |
| US8928782B2 (en) | Image processing device and image capture device | |
| US7499082B2 (en) | Distortion correction circuit for generating distortion-corrected image using data for uncorrected image | |
| JP4930277B2 (ja) | 撮像装置及びそのコンピュータプログラム | |
| JP4185468B2 (ja) | 露光装置及び撮影画像の補正方法 | |
| JP2000069343A (ja) | デジタル撮像装置 | |
| JPH11250239A (ja) | Yuvデータによりディストーション補正を行うディジタル撮像装置 | |
| JP2007028283A (ja) | 撮像装置 | |
| US8269859B2 (en) | Photographing apparatus that performs distortion correction in association with digital and optical zoom, method of controlling the same, and recording medium having recorded thereon computer program to implement the method | |
| JP4470930B2 (ja) | 画像処理装置、画像処理方法、及び、プログラム | |
| JPH11252431A (ja) | ディストーション補正機能を有するディジタル撮像装置 | |
| JPH11250238A (ja) | ブロック単位でディストーション補正を行うディジタル撮像装置 | |
| WO2005041124A1 (ja) | 画像処理方法および画像処理装置、並びにプログラム | |
| JPH11275391A (ja) | ディストーション補正を選択できるディジタル撮像装置 | |
| JPH11250240A (ja) | Yuvデータによりディストーション補正を行うディジタル撮像装置 | |
| JP2004242125A (ja) | 画像処理装置 | |
| JP4873721B2 (ja) | 画像処理方法及び装置 | |
| JP2017204170A (ja) | 画像処理装置及び画像処理方法 | |
| JP6762775B2 (ja) | 画像処理装置、撮像装置、制御方法及びプログラム | |
| JP6440465B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
| JP4279775B2 (ja) | 光学歪み補正装置、光学歪み補正方法、及び撮像装置 | |
| JP2006139350A (ja) | 光学歪み補正装置、光学歪み補正方法、及び撮像装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050208 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061204 |
|
| TRDD | Decision of grant or rejection written | ||
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20061211 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061212 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061214 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3897247 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110105 Year of fee payment: 4 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110105 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120105 Year of fee payment: 5 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120105 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130105 Year of fee payment: 6 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130105 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140105 Year of fee payment: 7 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |