説明

画像処理装置及び方法

【課題】小規模な回路構成、もしくは簡単なソフトウェア演算で実現可能にすることを課題とする。
【解決手段】画像データの各ラインの先頭で1回だけ基準点のY座標と対象点のY座標との差の二乗を演算して記憶する記憶手段(206)と、ラスタ順で入力される対象点のX座標と基準点のX座標との差の二乗を演算する二乗演算手段(208)と、記憶された基準点のY座標と対象点のY座標との差の二乗と、対象点のX座標と基準点のX座標との差の二乗との和を演算することにより基準点と対象点との間の距離の二乗を出力する加算手段(210)と、基準点と対象点との間の距離の二乗を基に対象点の画像データを画像処理する画像処理手段とを有する画像処理装置が提供される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び方法に関する。
【背景技術】
【0002】
一般にレンズ系と撮像素子とを有する撮像装置においては、例えばレンズ系による周辺光量落ちなどによって撮像される画像にシェーディングなどが発生する恐れがある。このような画質劣化に対しては、例えばレンズ系を多枚数で設計して画質劣化を防止することも行われるが、このような多枚数で設計されるレンズ系は高価であり、コンパクトカメラ等には採用が困難な場合が多い。
【0003】
一方、例えば半導体撮像素子を用いる機器のように信号の取り出しがXY座標に従って行われる場合には、取り出された映像信号に対するデジタル処理によって画像を補正することができる。そこで従来から、例えば安価なレンズ系で撮像したために生じる歪みや、周辺光量落ち、色にじみ等のレンズシェーディングをデジタル補正する技術が提案されている。例えば特許文献1では、一般にレンズシェーディングはレンズ系光軸から補正画素までの距離の関数になっていると考えられるため、いわゆるピタゴラスの定理を利用したd=√(X2+Y2)でレンズ系光軸から補正画素までの距離dを計算する。そして、レンズ系光軸から補正画素までの距離の関数であるシェーディング係数を各補正画素に適用して補正を実施する技術が提案されている。
【0004】
【特許文献1】特開2004−266750号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、このようなピタゴラスの定理を利用したレンズ系光軸から補正画素までの距離の計算d=√(X2+Y2)は、自乗の計算が2回と平方根の計算が1回含まれる。そのため、この計算を例えばハードウェアで実現するには膨大な回路構成が必要になり安価なコンパクトカメラには採用が難しくなるし、ソフトウェアで実現すれば膨大な時間を要するためカメラとしてのリアルタイム性が損なわれる。
【0006】
これらの問題を鑑み、本発明は、上記のような距離演算を小規模な回路構成、もしくは簡単なソフトウェア演算で実現可能にすることを目的とする。
【課題を解決するための手段】
【0007】
本発明の画像処理装置は、XY座標系の画像データに対して画像処理する画像処理装置であって、基準点の座標と対象点の座標をそれぞれ入力する際に、前記対象点の座標は前記画像データのラスタ順に入力する入力手段と、前記画像データの各ラインの先頭で1回だけ前記基準点のY座標と前記対象点のY座標との差の二乗を演算して記憶する記憶手段と、前記ラスタ順で入力される前記対象点のX座標と前記基準点のX座標との差の二乗を演算する二乗演算手段と、前記記憶された前記基準点のY座標と前記対象点のY座標との差の二乗と、前記対象点のX座標と前記基準点のX座標との差の二乗との和を演算することにより前記基準点と前記対象点との間の距離の二乗を出力する加算手段と、前記基準点と前記対象点との間の距離の二乗を基に前記対象点の画像データを画像処理する画像処理手段とを有することを特徴とする。
また、本発明の画像処理装置は、XY座標系の画像データに対して画像処理する画像処理装置であって、基準点と座標点(X,Y)との間の距離の二乗をRR(X,Y)とし、対象点を(n,m)とし、前記対象点の近傍の2点を(n−1,m)及び(n−2,m)とし、RR(n,m)=C×RR(n−1,m)+E×RR(n−2,m)+Aの漸化式を演算することにより、前記基準点と前記対象点(n,m)との間の距離の二乗RR(n,m)を出力する二乗演算手段と、前記基準点と前記対象点との間の距離の二乗RR(n,m)を基に前記対象点の画像データを画像処理する画像処理手段とを有することを特徴とする。
また、本発明の画像処理方法は、XY座標系の画像データに対して画像処理する画像処理方法であって、基準点の座標と対象点の座標をそれぞれ入力する際に、前記対象点の座標は前記画像データのラスタ順に入力する入力ステップと、前記画像データの各ラインの先頭で1回だけ前記基準点のY座標と前記対象点のY座標との差の二乗を演算して記憶する記憶ステップと、前記ラスタ順で入力される前記対象点のX座標と前記基準点のX座標との差の二乗を演算する二乗演算ステップと、前記記憶された前記基準点のY座標と前記対象点のY座標との差の二乗と、前記対象点のX座標と前記基準点のX座標との差の二乗との和を演算することにより前記基準点と前記対象点との間の距離の二乗を出力する加算ステップと、前記基準点と前記対象点との間の距離の二乗を基に前記対象点の画像データを画像処理する画像処理ステップとを有することを特徴とする。
また、本発明の画像処理方法は、XY座標系の画像データに対して画像処理する画像処理方法であって、基準点と座標点(X,Y)との間の距離の二乗をRR(X,Y)とし、対象点を(n,m)とし、前記対象点の近傍の2点を(n−1,m)及び(n−2,m)とし、RR(n,m)=C×RR(n−1,m)+E×RR(n−2,m)+Aの漸化式を演算することにより、前記基準点と前記対象点(n,m)との間の距離の二乗RR(n,m)を出力する二乗演算ステップと、前記基準点と前記対象点との間の距離の二乗RR(n,m)を基に前記対象点の画像データを画像処理する画像処理ステップとを有することを特徴とする。
【発明の効果】
【0008】
小規模な回路構成にすることができる。また、簡単なソフトウェア演算で実現可能である。また、処理時間を短縮することができる。
【発明を実施するための最良の形態】
【0009】
以下、本発明の実施形態について説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態である電子スチルカメラ等の画像処理装置を説明するための、概略ブロック図である。図1において、100は撮像装置(画像処理装置)である。
【0010】
10は撮影像を光学的に結像させる撮像レンズ、11は撮影像の露出を調節するシャッタ、12は撮影像をアナログの電気信号に変換する撮像素子、14は撮像素子12のアナログ信号出力をデジタル信号に変換するA/D変換器である。ここで、A/D変換器14から出力されたデジタルデータを、以下ではCCD−RAWデータとする。
【0011】
16はD/A変換器、18はTFT LCD等からなる画像表示部である。メモリ40に書き込まれた表示用の画像データはD/A変換器16を介してデジタルデータからアナログデータに変換され、画像表示部18により表示される。また、撮像素子12から映像信号を連続的に読み出し、画像表示部18に表示することで、電子ビューファインダ機能を実現する。
【0012】
20はメモリカードやハードディスク等の記録媒体であり、撮影された画像データ等は記録媒体20に記録される。
【0013】
30は画像処理回路であり、撮影、あるいは記録されたCCD−RAWデータに対してWB(ホワイトバランス)補正処理や所定の画素補間処理や色変換処理等の現像処理やリサイズ処理を行う。
【0014】
40はROM96のデータを展開したり撮影した画像データを一時的に格納するためのメモリであり、所定枚数の静止画像や所定時間の動画像を格納するのに十分な記録容量を備えている。例えば、A/D変換器14から出力された画像のデジタルデータがメモリ制御回路50、画像処理回路30、JPEG回路60を介して、あるいは直接メモリ制御回路50を介して、メモリ40に書き込まれる。
【0015】
50はメモリ制御回路であり、A/D変換器14、D/A変換器16、記録媒体20、画像処理回路30、メモリ40、JPEG回路60、シェーディング補正回路70へのデータフローを制御する。
【0016】
60はベースラインJPEG方式により画像データを圧縮・伸長するJPEG回路である。
【0017】
70は、シェーディング補正回路である。映像信号に光学中心からの距離に応じたシェーディング補正係数を乗算する。
【0018】
72は、シェーディング補正に必要なシェーディング係数を画素ごとに生成する、シェーディング係数生成回路である。74は、乗算器である。
【0019】
乗算器74は、シェーディング係数生成回路72が出力するシェーディング係数と画像データとを画素ごとに乗算し、レンズ系による周辺光量落ちに対するシェーディング補正を行い、シェーディング補正した画像データをメモリ制御回路50に出力する。
【0020】
90はモードダイアルスイッチ92による設定に従い、またROM(読み出し専用メモリ)96に格納された内容に従い、撮像装置100全体及び撮像装置100を構成する各回路の動作制御を行うシステム制御回路である。
【0021】
92は操作部で、例えば、電源オフ、撮影モード、再生モード等の各機能モードを切り替え設定することができる。
【0022】
96は読み出し専用メモリ(ROM)で、システム制御回路90が使用するプログラム及び、シェーディング補正回路70が使うシェーディング補正係数等があらかじめ記憶されている。
【0023】
図8は、従来技術における、シェーディング係数生成回路72である。400は距離二乗生成回路、402は平方根回路、404は係数メモリ、406、408は二乗演算器、410は加算器である。
【0024】
シェーディング補正時に、画像データとともに補正画像の光学中心(X0,Y0)と該当画素(X,Y)との差分ベクトル(X−X0,Y−Y0)がメモリ制御回路50からシェーディング補正回路70に入力される。差分ベクトル(X−X0,Y−Y0)は距離二乗生成回路400に入力され、ピタゴラスの定理d2=(X−X0)2+(Y−Y0)2により、光学中心(X0,Y0)から該当画素(X,Y)までの距離の二乗が計算される。
【0025】
計算された距離の二乗は、平方根回路402で平方根計算され、光学中心(X0,Y0)から該当画素(X,Y)までの距離dが計算される。求められた距離dを基に係数メモリ404から該当シェーディング係数を読み出し、シェーディング補正に適用する。
【0026】
以下、図2から図4を用いて本発明の第1の実施形態における撮像装置(画像処理装置)100の動作について説明する。
【0027】
図2は、本実施形態における、シェーディング係数生成回路72である。200は距離二乗生成回路、202は平方根回路、204は係数メモリ、206はフリップ・フロップ、208は二乗演算器、210は加算器、212は乗算器である。
【0028】
シェーディング補正時に、画像データとともに補正対象画像の光学中心(X0,Y0)と該当画素(X,Y)との差分ベクトル(X−X0,Y−Y0)がメモリ制御回路50からシェーディング補正回路70に入力される。差分ベクトル(X−X0,Y−Y0)は距離二乗生成回路200に入力され、光学中心(X0,Y0)から該当画素(X,Y)までの距離の二乗が計算される。その詳細は、後に図3を参照しながら説明する。
【0029】
計算された距離の二乗は、平方根回路202で平方根計算され、光学中心(X0,Y0)から該当画素(X,Y)までの距離dが計算される。求められた距離dを基に係数メモリ204から該当シェーディング係数を読み出し、シェーディング補正に適用する。
【0030】
本実施形態においては撮像素子の間引きを行わない例を説明する。乗算器212は、差分ベクトル(X−X0,Y−Y0)に1を乗算し、差分ベクトル(X−X0,Y−Y0)をそのまま出力する。なお、本発明においてはこれに限らず、撮像素子を間引き読み出しした場合もシェーディング補正を施しても構わない。その場合、乗算器212は、間引きモードに応じた係数を差分ベクトル(X−X0,Y−Y0)に乗算する。例えば、垂直方向に1/4間引きする場合は、垂直方向に4を乗算して、差分ベクトル(X−X0,4×Y−4×Y0)とし、距離二乗生成回路200に入力する。
【0031】
本実施形態においては、シェーディング係数を係数メモリ204から読み出すことによって、シェーディング係数を生成しているが、本発明においてはこれに限らず、求めた距離dに所定の演算をすることでシェーディング係数を生成するようにしてもかまわない。
【0032】
また、本実施形態においては、距離dを基にシェーディング係数を生成しているが、本発明においてはこれに限らず、距離dの二乗を基にシェーディング係数を生成してもかまわない。
【0033】
図3は、図2の距離二乗生成回路200の動作を説明するためのタイミングチャートである。VDおよびHDは、メモリ制御回路50から入力される補正対象画像の垂直および水平タイミング信号である。また、VおよびHは、補正対象画像の垂直および水平サイズである。
【0034】
まず、0ライン目の処理をする前に、二乗演算器208により対応する差分ベクトルのY成分(0−Y0)からY二乗データ(0−Y0)2を計算し、Y二乗記憶フリップ・フロップ206(FF_YY)に記憶する。その後、補正対象画像のシェーディング補正回路70への入力が開始され、対応する差分ベクトルのX成分(0−X0)、(1−X0)、(2−X0)等から二乗演算器208により(0−X0)2、(1−X0)2、(2−X0)2等を計算する。そして、それらをフリップ・フロップ206(FF_YY)の(0−Y0)2と加算し、光学中心(X0,Y0)から該当画素(X,Y)までの距離dの二乗を計算する。
【0035】
以下、同様に、1ライン目以降も演算し、全画像にわたって光学中心(X0,Y0)から該当画素(X,Y)までの距離dの二乗を計算する。
【0036】
図4は、本実施形態におけるシステム制御回路90の動作を説明するための、フローチャートである。係数メモリ204にシェーディング補正係数をロードしてから(S10)、シェーディング補正回路70によって、シェーディング補正を実施する(S12)。
【0037】
以上のように、本実施形態は、XY座標系の画像データに対して画像処理(シェーディング補正)する画像処理装置であり、基準点の座標(X0,Y0)と対象点の座標(X,Y)をそれぞれ入力する際に、前記対象点の座標は前記画像データのラスタ順に入力する。フリップフロップ(記憶手段)206は、前記画像データの各ラインの先頭で1回だけ前記基準点のY座標と前記対象点のY座標との差の二乗(Y−Y0)2を演算して記憶する。二乗演算器208は、前記ラスタ順で入力される前記対象点のX座標と前記基準点のX座標との差の二乗(X−X0)2を演算する。加算器210は、前記記憶された前記基準点のY座標と前記対象点のY座標との差の二乗と、前記対象点のX座標と前記基準点のX座標との差の二乗との和を演算することにより前記基準点と前記対象点との間の距離の二乗を出力する。シェーディング補正(画像処理)回路70は、前記基準点と前記対象点との間の距離の二乗を基に前記対象点の画像データをシェーディング補正(画像処理)する。シェーディング係数生成回路72は、画像データの各ラインの先頭で1回だけ前記基準点のY座標と前記対象点のY座標との差を入力し、前記基準点のX座標と前記ラスタ順の前記対象点のX座標との差を順次入力する。
【0038】
(第2の実施形態)
本発明の第2の実施形態における撮像装置の概略図は図1と同じである。
以下、図5から図7を用いて本発明の第2の実施形態における撮像装置(画像処理装置)100の動作について説明する。
【0039】
図5は、本実施形態における、シェーディング係数生成回路72の構成例を示す図である。300は距離二乗生成回路、302は平方根回路、304は係数メモリ、306は中線定理回路、307〜316、342、344はフリップフロップ、318〜340はデータパス・セレクタである。
【0040】
光学中心(X0,Y0)から画素(0,0)、(1,0)、(0,1)、(1,1)までの距離の二乗がロードされる。すなわち、その距離の二乗は、メモリ制御回路50から距離二乗生成回路300の垂直方向用距離二乗記憶フリップフロップ307、308、310、312(FF_RR_00〜FF_RR_11)にロードされる。距離二乗生成回路300はロードされた値を初期値として、補正対象画像のシェーディング補正回路70への入力が開始されると、対応する画素の光学中心(X0,Y0)からの距離二乗を順次計算する。その詳細は、後に図6を参照しながら説明する。
【0041】
計算された距離の二乗は、平方根回路302で平方根計算され、光学中心(X0,Y0)から該当画素(X,Y)までの距離dが計算される。求められた距離dを基に係数メモリ304から該当シェーディング係数を読み出し、シェーディング補正に適用する。
【0042】
本実施形態においては、シェーディング係数を係数メモリ304から読み出すことによって、シェーディング係数を生成しているが、本発明においてはこれに限らず、求めた距離dに所定の演算をすることでシェーディング係数を生成するようにしてもかまわない。
【0043】
また、本実施形態においては、距離dを基にシェーディング係数を生成しているが、本発明においてはこれに限らず、距離dの二乗を基にシェーディング係数を生成してもかまわない。
【0044】
図6は、図5の距離二乗生成回路300の動作を説明するためのタイミングチャートである。VDおよびHDは、メモリ制御回路50から入力される補正対象画像の垂直および水平タイミング信号である。また、VおよびHは、補正対象画像の垂直および水平サイズである。RR(X,Y)は光学中心(X0,Y0)から該当画素(X,Y)までの距離の二乗である。また、フリップ・フロップ342、344はシステム制御回路90により設定され、設定値はそれぞれA=2P2、B=2Q2である(PおよびQはそれぞれ、隣接画素のX方向およびY方向の距離である。連続画素の場合、P=Q=1)。セレクタ338(ABSEL)は、垂直方向用距離二乗記憶フリップ・フロップ307、308、310、312(FF_RR_00〜FF_RR_11)の更新中はBを出力し、それ以外では、Aを出力する。
【0045】
図6(a)は、垂直方向用距離二乗記憶フリップ・フロップの動作を説明するためのタイミングチャートである。光学中心(X0,Y0)から画素(0,0)、(1,0)、(0,1)、(1,1)までの距離の二乗が、垂直方向用距離二乗記憶フリップ・フロップ307、308、310、312(FF_RR_00〜FF_RR_11)にロードされる。そのロードは、システム制御回路90により行われる。2ライン目(0ラインオリジン)の処理が開始される前に、まずフリップ・フロップ307、310(FF_RR_00,FF_RR_01)が更新される。つまり、次式の更新が行われる。
【0046】
FF_RR_00=RR(0,1)=FF_RR_01・・・(式1)
FF_RR_01=RR(0,2)=2RR(0,1)−RR(0,0)+B
=2FF_RR_01−FF_RR_00+B・・・(式2)
中線定理より、次式が得られる。
RR(0,0)+RR(0,2)=2(RR(0,1)+Q2
ゆえに、次式が成立する。
RR(0,2)=2RR(0,1)+2Q2−RR(0,0)
=2RR(0,1)−RR(0,0)+B
(式2)は中線定理回路306により実現される。
【0047】
さらに、2ライン目(0ラインオリジン)の処理が開始される前に、フリップ・フロップ308、312(FF_RR_10,FF_RR_11)が更新される。つまり、次式の更新が行われる。
【0048】
FF_RR_10=RR(1,1)=FF_RR_11・・・(式3)
FF_RR_11=RR(1,2)=2RR(1,1)−RR(1,0)+B
=2FF_RR_11−FF_RR_10+B・・・(式4)
中線定理より、次式が得られる。
RR(1,0)+RR(1,2)=2(RR(1,1)+Q2
ゆえに、次式が成立する。
RR(1,2)=2RR(1,1)+2Q2−RR(1,0)
=2RR(1,1)−RR(1,0)+B
(式4)は中線定理回路306により実現される。
【0049】
図6(b)は、Yライン目(0ラインオリジン)における水平方向用距離二乗記憶フリップ・フロップの動作および距離二乗生成回路300の出力を説明するためのタイミングチャートである。まず、光学中心(X0,Y0)から画素(0,Y)、(1,Y)までの距離の二乗RR(0,Y)、RR(1,Y)が、水平方向用距離二乗記憶フリップ・フロップ316、314(FF_RR_2,FF_RR_1)にロードされる。距離二乗生成回路300の出力(セレクタ340)は、0画素目は、次式の値を出力する。
OUTSEL=R(0,Y)=FF_RR_2・・・(式5)
【0050】
1画素目は、次式の値を出力する。
OUTSEL=R(1,Y)=FF_RR_1・・・(式6)
【0051】
そして、2画素目以降は以下を出力する。
OUTSEL=RR(2,Y)=2RR(1,Y)−RR(0,Y)+A
=2FF_RR_1−FF_RR_2+A・・・(式7)
【0052】
中線定理より、次式が得られる。
RR(0,Y)+RR(2,Y)=2(RR(1,Y)+P2
ゆえに、次式が成立する。
RR(2,Y)=2RR(1,Y)+2Q2−RR(0,Y)
=2RR(1,Y)−RR(0,Y)+A
(式7)は中線定理回路306により実現される。
【0053】
また、3画素目以降、水平方向用距離二乗記憶フリップ・フロップ316、314(FF_RR_2,FF_RR_1)は、以下のように更新される。
FF_RR_2=RR(1,Y)=FF_RR_1・・・(式8)
FF_RR_1=RR(2,Y)=OUTSEL・・・(式9)
【0054】
図7は、本実施形態におけるシステム制御回路90の動作を説明するための、フローチャートである。ステップS100では、係数メモリ304にシェーディング補正係数をロードする。ステップS102では、光学中心(X0,Y0)から画素(0,0)、(1,0)、(0,1)、(1,1)までの距離の二乗をロードする。すなわち、その距離の二乗を距離二乗生成回路300の垂直方向用距離二乗記憶フリップ・フロップ307、308、310、312(FF_RR_00〜FF_RR_11)にロードする。そして、フリップ・フロップ342、344(A,B)を設定する。ステップS104では、シェーディング補正回路70によって、シェーディング補正を実施する。
【0055】
以上のように、本実施形態は、XY座標系の画像データに対してシェーディング補正する画像処理装置である。距離二乗生成回路300は、基準点と座標点(X,Y)との間の距離の二乗をRR(X,Y)とし、対象点を(n,m)とし、前記対象点の近傍の2点を(n−1,m)及び(n−2,m)とし、X軸方向の画素間隔をPとしたとき、
RR(n,m)=2RR(n−1,m)−RR(n−2,m)+2P2
の漸化式を演算することにより、前記基準点と前記対象点(n,m)との間の距離の二乗RR(n,m)を出力する。
【0056】
距離二乗生成回路300は、
n>1においては、
RR(n,m)=2RR(n−1,m)−RR(n−2,m)+2P2
の漸化式を演算することにより、前記基準点と前記対象点(n,m)との間の距離の二乗RR(n,m)を出力し、
n=0及びn=1においては、Y軸方向の画素間隔をQとしたとき、
RR(0,m)=2RR(0,m−1)−RR(0,m−2)+2Q2
RR(1,m)=2RR(1,m−1)−RR(1,m−2)+2Q2
の漸化式を演算することにより、前記基準点と前記対象点(0,m)との間の距離の二乗RR(0,m)及び前記基準点と前記対象点(1,m)との間の距離の二乗RR(1,m)を出力する。
【0057】
また、距離二乗生成回路300は、前記基準点と座標点との間の距離の二乗RR(0,0)、RR(1,0)、RR(0,1)、及びRR(1,1)を入力し、それを基に前記基準点と前記対象点との間の距離の二乗を演算する。
【0058】
また、基準点から対象点の近傍の二点までの距離の二乗がそれぞれ入力されて、その対象点とその近傍の二点は互いに等間隔で、且つ、同一X座標上かもしくは同一Y座標上にある。
【0059】
本実施形態においては、撮像素子の間引き読み出しモードに応じてPおよびQを選択するようにしてもよい。例えば、間引きがない場合は、P=1、Q=1とする。また、例えば、垂直方向に1/4間引きする場合は、P=1、Q=4とする。
【0060】
本発明の第1の実施形態によれば、光学中心(X0,Y0)から該当画素(X,Y)までの距離の二乗を求める際に、(X−X0)2および(Y−Y0)2の二乗計算を共通化するため、従来技術に比べて1画素あたりの二乗の計算を1回削減することができる。
【0061】
そのため、従来技術に比べて、ハードウェアで実現する場合は回路規模を小さくすることができるし、ソフトウェアで実現する場合は処理時間を短縮することができる。
【0062】
また、光学中心(X0,Y0)から該当画素(X,Y)までの距離の二乗を求める際に、近傍画素の情報を必要としないため、近傍画素情報記憶用のフリップフロップを必要としない。
【0063】
そのため、本発明の第2の実施形態に比べて、ハードウェアで実現する場合はフリップ・フロップ分の回路規模を小さくすることができる。
【0064】
また、本発明の第2の実施形態によれば、光学中心(X0,Y0)から該当画素(X、Y)までの距離の二乗を求める際に、(X−X0)2および(Y−Y0)2の二乗計算を必要としない。
【0065】
そのため、従来技術および本発明の第1の実施形態に比べて、ハードウェアで実現する場合は二乗計算分の回路規模を小さくすることができるし、ソフトウェアで実現する場合は処理時間を短縮することができる。
【0066】
第1及び第2の実施形態は、例えばデジタルカメラにおいて使用する画像処理装置及び方法である。詳しくは、撮像素子上でのレンズ系の光軸に対応する点と対象点との距離を算出すると共に、この算出された距離二乗値を用いて、例えばレンズ系による周辺光量落ちに対するシェーディング又は歪み等の補正を行う。
【0067】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【0068】
【図1】撮像装置の概略ブロック図である。
【図2】本発明の第1の実施形態のシェーディング補正係数生成回路を説明するためのブロック図である。
【図3】本発明の第1の実施形態のシェーディング補正係数生成回路を説明するためのタイミングチャートである。
【図4】本発明の第1の実施形態におけるシステム制御回路90の動作を説明するためのフローチャートである。
【図5】本発明の第2の実施形態のシェーディング補正係数生成回路を説明するためのブロック図である。
【図6】本発明の第2の実施形態のシェーディング補正係数生成回路を説明するためのタイミングチャートである。
【図7】本発明の第2の実施形態におけるシステム制御回路90の動作を説明するためのフローチャートである。
【図8】従来技術のシェーディング補正係数生成回路を説明するためのブロック図である。
【符号の説明】
【0069】
10 撮影レンズ
11 シャッタ
12 撮像素子
14 A/D変換器
16 D/A変換器
18 画像表示部
20 記録媒体
30 画像処理回路
40 メモリ
50 メモリ制御回路
60 JPEG回路
70 シェーディング補正回路
72 シェーディング係数生成回路
74 乗算器
90 システム制御回路
92 操作部
96 メモリ(ROM)
100 撮像装置
200 距離二乗生成回路
202 平方根回路
204 係数メモリ
206 フリップ・フロップ
208 二乗演算器
210 加算器
212 乗算器
300 距離二乗生成回路
302 平方根回路
304 係数メモリ
306 中線定理回路
307〜316 フリップ・フロップ
318〜340 データパスセレクタ
342,344 フリップ・フロップ
400 距離二乗生成回路
402 平方根回路
404 係数メモリ
406,408 二乗演算器
410 加算器

【特許請求の範囲】
【請求項1】
XY座標系の画像データに対して画像処理する画像処理装置であって、
基準点の座標と対象点の座標をそれぞれ入力する際に、前記対象点の座標は前記画像データのラスタ順に入力する入力手段と、
前記画像データの各ラインの先頭で1回だけ前記基準点のY座標と前記対象点のY座標との差の二乗を演算して記憶する記憶手段と、
前記ラスタ順で入力される前記対象点のX座標と前記基準点のX座標との差の二乗を演算する二乗演算手段と、
前記記憶された前記基準点のY座標と前記対象点のY座標との差の二乗と、前記対象点のX座標と前記基準点のX座標との差の二乗との和を演算することにより前記基準点と前記対象点との間の距離の二乗を出力する加算手段と、
前記基準点と前記対象点との間の距離の二乗を基に前記対象点の画像データを画像処理する画像処理手段と
を有することを特徴とする画像処理装置。
【請求項2】
前記入力手段は、前記画像データの各ラインの先頭で1回だけ前記基準点のY座標と前記対象点のY座標との差を入力し、前記基準点のX座標と前記ラスタ順の前記対象点のX座標との差を順次入力することを特徴とする請求項1記載の画像処理装置。
【請求項3】
さらに、前記基準点と前記対象点との間の距離の二乗の平方根を演算する平方根演算手段を有し、
前記画像処理手段は、前記基準点と前記対象点との間の距離の二乗の平方根を基に前記対象点の画像データを画像処理することを特徴とする請求項1又は2記載の画像処理装置。
【請求項4】
さらに、レンズと、前記レンズを介して結像される像を電気信号に変換して前記画像データを生成する撮像素子とを有することを特徴とする請求項1〜3のいずれか1項に記載の画像処理装置。
【請求項5】
さらに、前記基準点のX座標と前記対象点のX座標との差及び前記基準点のY座標と前記対象点のY座標との差にそれぞれに対応した任意係数を乗算する乗算手段を有することを特徴とする請求項1〜4のいずれか1項に記載の画像処理装置。
【請求項6】
前記乗算手段は、撮像素子の間引き読み出しモードに応じて、X方向及びY方向の乗算係数を変化させることを特徴とする請求項5記載の画像処理装置。
【請求項7】
前記画像処理手段は、レンズに起因する画像のシェーディングもしくは歪みの少なくとも1つを補正することを特徴とする請求項1〜6のいずれか1項に記載の画像処理装置。
【請求項8】
XY座標系の画像データに対して画像処理する画像処理装置であって、
基準点と座標点(X,Y)との間の距離の二乗をRR(X,Y)とし、対象点を(n,m)とし、前記対象点の近傍の2点を(n−1,m)及び(n−2,m)とし、
RR(n,m)=C×RR(n−1,m)+E×RR(n−2,m)+A
の漸化式を演算することにより、前記基準点と前記対象点(n,m)との間の距離の二乗RR(n,m)を出力する二乗演算手段と、
前記基準点と前記対象点との間の距離の二乗RR(n,m)を基に前記対象点の画像データを画像処理する画像処理手段と
を有することを特徴とする画像処理装置。
【請求項9】
X軸方向の画素間隔をPとしたとき、A=2P2、C=2、E=−1、であることを特徴とする請求項8記載の画像処理装置。
【請求項10】
前記二乗演算手段は、
n>1においては、
RR(n,m)=C×RR(n−1,m)+E×RR(n−2,m)+A
の漸化式を演算することにより、前記基準点と前記対象点(n,m)との間の距離の二乗RR(n,m)を出力し、
n=0及びn=1においては、
RR(0,m)=D×RR(0,m−1)+F×RR(0,m−2)+B
RR(1,m)=D×RR(1,m−1)+F×RR(1,m−2)+B
の漸化式を演算することにより、前記基準点と前記対象点(0,m)との間の距離の二乗RR(0,m)及び前記基準点と前記対象点(1,m)との間の距離の二乗RR(1,m)を出力することを特徴とする請求項8又は9記載の画像処理装置。
【請求項11】
X軸方向の画素間隔をP、Y軸方向の画素間隔をQ、としたとき、A=2P2、B=2Q2、C=D=2、E=F=−1、であることを特徴とする請求項10記載の画像処理装置。
【請求項12】
撮像素子の間引き読み出しモードに応じてP及びQの値を変化させることを特徴とする請求項11記載の画像処理装置。
【請求項13】
前記二乗演算手段は、前記基準点と座標点(0,0)との間の距離の二乗RR(0,0)、前記基準点と座標点(1,0)との間の距離の二乗RR(1,0)、前記基準点と座標点(0,1)との間の距離の二乗RR(0,1)、及び前記基準点と座標点(1,1)との間の距離の二乗RR(1,1)を入力し、それを基に前記基準点と前記対象点との間の距離の二乗を演算することを特徴とする請求項10〜12のいずれか1項に記載の画像処理装置。
【請求項14】
さらに、前記基準点と前記対象点との間の距離の二乗の平方根を演算する平方根演算手段を有し、
前記画像処理手段は、前記基準点と前記対象点との間の距離の二乗の平方根を基に前記対象点の画像データを画像処理することを特徴とする請求項8〜13のいずれか1項に記載の画像処理装置。
【請求項15】
さらに、レンズと、前記レンズを介して結像される像を電気信号に変換して前記画像データを生成する撮像素子とを有することを特徴とする請求項8〜14のいずれか1項に記載の画像処理装置。
【請求項16】
前記画像処理手段は、レンズに起因する画像のシェーディングもしくは歪みの少なくとも1つを補正することを特徴とする請求項8〜15のいずれか1項に記載の画像処理装置。
【請求項17】
XY座標系の画像データに対して画像処理する画像処理方法であって、
基準点の座標と対象点の座標をそれぞれ入力する際に、前記対象点の座標は前記画像データのラスタ順に入力する入力ステップと、
前記画像データの各ラインの先頭で1回だけ前記基準点のY座標と前記対象点のY座標との差の二乗を演算して記憶する記憶ステップと、
前記ラスタ順で入力される前記対象点のX座標と前記基準点のX座標との差の二乗を演算する二乗演算ステップと、
前記記憶された前記基準点のY座標と前記対象点のY座標との差の二乗と、前記対象点のX座標と前記基準点のX座標との差の二乗との和を演算することにより前記基準点と前記対象点との間の距離の二乗を出力する加算ステップと、
前記基準点と前記対象点との間の距離の二乗を基に前記対象点の画像データを画像処理する画像処理ステップと
を有することを特徴とする画像処理方法。
【請求項18】
XY座標系の画像データに対して画像処理する画像処理方法であって、
基準点と座標点(X,Y)との間の距離の二乗をRR(X,Y)とし、対象点を(n,m)とし、前記対象点の近傍の2点を(n−1,m)及び(n−2,m)とし、
RR(n,m)=C×RR(n−1,m)+E×RR(n−2,m)+A
の漸化式を演算することにより、前記基準点と前記対象点(n,m)との間の距離の二乗RR(n,m)を出力する二乗演算ステップと、
前記基準点と前記対象点との間の距離の二乗RR(n,m)を基に前記対象点の画像データを画像処理する画像処理ステップと
を有することを特徴とする画像処理方法。
【請求項19】
X軸方向の画素間隔をPとしたとき、A=2P2、C=2、E=−1、であることを特徴とする請求項18記載の画像処理方法。
【請求項20】
前記二乗演算ステップは、
n>1においては、
RR(n,m)=C×RR(n−1,m)+E×RR(n−2,m)+A
の漸化式を演算することにより、前記基準点と前記対象点(n,m)との間の距離の二乗RR(n,m)を出力し、
n=0及びn=1においては、
RR(0,m)=D×RR(0,m−1)+F×RR(0,m−2)+B
RR(1,m)=D×RR(1,m−1)+F×RR(1,m−2)+B
の漸化式を演算することにより、前記基準点と前記対象点(0,m)との間の距離の二乗RR(0,m)及び前記基準点と前記対象点(1,m)との間の距離の二乗RR(1,m)を出力することを特徴とする請求項18記載の画像処理方法。
【請求項21】
X軸方向の画素間隔をP、Y軸方向の画素間隔をQ、としたとき、A=2P2、B=2Q2、C=D=2、E=F=−1、であることを特徴とする請求項20記載の画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2007−207041(P2007−207041A)
【公開日】平成19年8月16日(2007.8.16)
【国際特許分類】
【出願番号】特願2006−26251(P2006−26251)
【出願日】平成18年2月2日(2006.2.2)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】