(57)【特許請求の範囲】
【請求項１】
撮像面の画素を所定数画素単位のメッシュ領域に分割し、
基準となる白を撮像して得られた白基準データを用いて、それぞれの前記メッシュ領域毎に前記白基準データを積分して平均化し、全ての前記メッシュ領域における前記積分して平均化した値の最大値を前記メッシュ領域毎に求めた前記積分して平均化した値で除することにより、前記メッシュ領域毎の補正値を算出し、
前記メッシュ領域毎の補正値に基づいて、レンズ系のシェーディング補正とセンサ感度ムラのシェーディング補正を行う、
ことを特徴とするシェーディング補正方法。
【請求項２】
メッシュ領域毎に積分し平均化した重心点の４点で囲まれる補正のためのメッシュ領域において、前記メッシュ領域内の任意の座標上のシェーディング補正係数をこれら４点の重心位置及び補正値に基づいて算出することを特徴とする請求項１記載のシェーディング補正方法。
【請求項３】
撮像面の画素を所定数画素単位のメッシュ領域に分割し、
基準となる白を撮像して得られた白基準データを用いて、それぞれの前記メッシュ領域毎に前記白基準データを積分して平均化し、全ての前記メッシュ領域における前記積分して平均化した値の最大値を前記メッシュ領域毎に求めた前記積分して平均化した値で除することにより、前記メッシュ領域毎の補正値を算出し、
前記メッシュ領域毎の補正値に基づいて、レンズ系のシェーディング補正とセンサ感度ムラのシェーディング補正を行う、
ことを特徴とするシェーディング補正装置。
【請求項４】
メッシュ領域毎に積分し平均化した重心点の４点で囲まれる補正のためのメッシュ領域において、前記メッシュ領域内の任意の座標上のシェーディング補正係数をこれら４点の重心位置及び補正値に基づいて算出することを特徴とする請求項３記載のシェーディング補正装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、撮像素子で読み取った画像情報のシェーディング補正を行うシェーディング補正方法及び装置に関する。
【０００２】
【従来の技術】
従来より、カメラ系のシェーディング補正については、情報機器用のシェーディング補正回路などの高価で高性能のものを用いるものが提案されている（たとえば特許第２８０５１００号公報等参照）。
また、リニアセンサを用いたファクシミリ、デジタル複写機の分野では、シェーディング補正は必須であり、多くの補正方式が提案されている（たとえば特許第２５８０１１８号公報等参照）。
【０００３】
【発明が解決しようとする課題】
しかしながら、民生用のＣＣＤ固体撮像素子やＣＭＯＳセンサを用いたデジタルカメラなどの分野においては、コスト的な制約が大きいため、ある程度のコストで、ある程度の補正精度を保証するようなシェーディング補正方法が好ましいが、このようなシェーディング補正方法については、好適なものが提案されていない。
【０００４】
そこで本発明の目的は、民生用のカメラシステムなどにおいて、限られたコスト（ゲート数）で最適なシェーディング補正を行うことができるシェーディング補正方法及び装置を提供することにある。
【０００５】
【課題を解決するための手段】
本発明のシェーディング補正方法は、撮像面の画素を所定数画素単位のメッシュ領域に分割し、基準となる白を撮像して得られた白基準データを用いて、それぞれのメッシュ領域毎に白基準データを積分して平均化することにより、全てのメッシュ領域における積分して平均化した値の最大値をメッシュ領域毎に求めた積分して平均化した値で除することにより、メッシュ領域毎の補正値を算出し、メッシュ領域毎の補正値に基づいて、レンズ系のシェーディング補正とセンサ感度ムラのシェーディング補正を行うことを特徴とする。
また本発明のシェーディング補正装置は、撮像面の画素を所定数画素単位のメッシュ領域に分割し、基準となる白を撮像して得られた白基準データを用いて、それぞれのメッシュ領域毎に白基準データを積分して平均化することにより、全てのメッシュ領域における積分して平均化した値の最大値をメッシュ領域毎に求めた積分して平均化した値で除することにより、メッシュ領域毎の補正値を算出し、記メッシュ領域毎の補正値に基づいて、レンズ系のシェーディング補正とセンサ感度ムラのシェーディング補正を行うことを特徴とする。
【０００６】
本発明のシェーディング補正方法及び装置では、撮像面の画素を所定数画素単位のメッシュ領域に分割し、基準となる白を撮像して得られた白基準データを用いて、それぞれのメッシュ領域毎に白基準データを積分して平均化することにより、全てのメッシュ領域における積分して平均化した値の最大値をメッシュ領域毎に求めた積分して平均化した値で除することにより、メッシュ領域毎の補正値を算出し、メッシュ領域毎の補正値に基づいて、レンズ系のシェーディング補正とセンサ感度ムラのシェーディング補正を行うことから、比較的簡単な計算方法で、実際のシェーディング補正を良い精度で近似することができる。
【０００７】
【発明の実施の形態】
以下、本発明によるシェーディング補正方法の実施の形態例について説明する。
なお、以下に説明する実施の形態は、本発明の好適な具体例であり、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において、特に本発明を限定する旨の記載がない限り、これらの態様に限定されないものとする。
【０００８】
本発明の第１の実施の形態は、一様な白基準となるデータを、有効撮像面の中心点（センター）を通る水平（Ｈ）軸上および垂直（Ｖ）軸上のサンプリング点で予め取り込むことにより、各センター軸における補正近似線（曲線または直線）のＨ座標およびＶ座標に対する補正係数の掛け算を行い、この値を有効撮像面内の任意の座標（Ｈ、Ｖ）上のシェーディング補正係数として算出するものである。
【０００９】
また、本発明の第２の実施の形態は、撮像面の有効画素領域を所定画素単位のメッシュ領域に分割し、それぞれのメッシュ領域で画素値を積分し、平均化することにより、メッシュ領域ごとの補正値を算出し、そのメッシュ領域ごとの補正値に基づいて、レンズ系のシェーディングとセンサ感度ムラのシェーディングの両方の補正を行えるようにしたものである。
さらに、上述したＨ及びＶ方向の補正近似線（曲線または直線）を各メッシュ領域単位で切り換えるようにし、かつ、そのメッシュ領域内の任意の座標の補正係数を上述したシェーディング補正係数の算出方法にもとづいて計算するようにした。
【００１０】
以下、このような実施の形態を実現する具体的な実施例を図面に基づき説明する。
図１〜図９は、本発明の第１の実施の形態を実現する第１実施例を説明するための図であり、図１は本実施例におけるシェーディング係数算出方法を示す説明図、図２は計算精度を説明する説明図、図３は本例で用いるＣＩＦを示す説明図、図４は本例で用いる計算式の妥当性について数学的に証明する説明図、図５は本例によるレンズシェーディングの補正曲面を示す説明図、図６は本例によるシェーディング補正回路のデータパスを示すブロック図、図７は本例によるシェーディング補正回路の制御ブロックを示すブロック図、図８および図９は本例におけるシェーディング補正回路の動作を示すフローチャートである。
【００１１】
この第１実施例は、レンズ起因によるシェーディングが撮像素子の感度ムラによるシェーディングに比べて支配的である場合の例について説明する。
この場合、カメラの調整段階で基準となる白を撮像し、図１に示す撮像面のＨとＶの両センター軸におけるサンプリング値をレジスタに取り込む。
なお、この場合の両軸のサンプリング点は固定でもよいし、レジスタの設定によりサンプリング点の個数と間隔を可変に設定できるようにしてもよい。
また、この場合、後のＨ／Ｖ近似直線ブロックの設計を容易にするために、サンプリング点の間隔をＸn+1 −Ｘn ＝２ｍ（ｍは自然数）となるように選ぶこともできる。
【００１２】
たとえば、有効画素３６２×２９３画素のＣＩＦの場合、図３に示すような間隔で、Ｈ方向のサンプリング点を１９点、Ｖ方向のサンプリング点を１７点となるようなサンプリング点を選ぶことができる。
【００１３】
この例では、レンズによるシェーディング補正曲面の変化がレンズの端ほど大きくなること、及びレンズの光軸の中心からのずれがあるため、それに合わせてレンズの端及び中央ほどサンプリング点の間隔を密にしている。
図１に示すように、本実施例においては、任意の有効撮像面の座標（Ｈ、Ｖ）でのレンズのシェーディング補正係数をＰ（Ｈ、Ｖ）とすると、これは以下の関係式で計算される。
Ｐ（Ｈ、Ｖ）＝ＣＨ（Ｈ）＊ＣＶ（Ｖ）    ……（式１）
ここで、ＣＨ（Ｈ）はＨ方向のセンサー軸における補正近似直線の座標Ｈに対する補正係数であり、ＣＶ（Ｖ）はＶ方向のセンター軸における補正近似直線の座標Ｖに対する補正係数である。
【００１４】
図４は、（式１）の計算式の妥当性について数学的に証明したものである。図４に示すような幾何学的な配置で、撮像素子面Ｐ（ｘ、ｙ）における光量を（１）コサイン４重則と（２）両軸掛け算で計算し、比較したものである。結果、射出ヒトミ距離が撮像素子の対角距離の１／２より十分に大きい場合には、コサイン４重則＝両軸掛け算が良い近似に成り立つことが分かる。
また、図２は、（式１）の計算式の精度について調べたものである。
ここでは、有効画素面として、５．３ｍｍ×４．０ｍｍの撮像素子を使った場合について、レンズから撮像面までの射出ヒトミ距離が３．３２ｍｍ（図２（Ｂ））と３．３２ｍｍ×２（図２（Ｃ））のものについてそれぞれ示してある。
図中、コサイン４乗則と記された曲線は、撮像中央から撮像面の４隅の対角の位置までの光量比率が純粋にコサイン４乗則に従うと仮定して計算したものである。
また、両軸掛け算補正と記された曲線は、撮像面の両軸センターの補正曲線がコサイン４乗側に従うと仮定して、その値から（式１）を使って両軸の補正係数の掛け算として対角の補正係数を計算したものである。
【００１５】
この図２から分かるように、射出ヒトミ距離が撮像面の中央から対角までの距離（この場合３．３２ｍｍ）の２倍以上になると両者の差はほとんどない。
また、射出ヒトミ距離と対角距離の１／２が等しい場合には、撮像面の４隅で最大２０％程度の誤差となる。
現在、主に市場で使われているマイクロレンズでは、多くの場合、マウントの（射出ヒトミ距離）＞（撮像対角距離の１／２）の関係にあるので、図２からこの近似は妥当なものである。
図５は、実際に本シェーディング回路により白基準のサンプリングデータを取り込み、それに基づいて計算した補正係数を（式１）により計算することで描いたレンズシェーディングの補正曲面図である。
【００１６】
次に、以上のような演算処理を実現する回路構成について説明する。
図６は本実施例によるシェーディング補正回路データパスブロックを示し、図７はその制御ブロック図を示したものである。
なお、本実施例では、回路のゲート数を減らすために、白基準データの取り込みから補正係数演算までの処理を制御ソフトウエアにより図８および図９のフローチャートに従って行う。
すなわち、シェーディングＲＡＭ上に１画面分の白基準データを取り込んだ後に、図示しない外部ＰＣ（パーソナルコンピュータ）がＨ／Ｖ方向の白基準データをシェーディングＲＡＭから読み出す（ステップＳ１、Ｓ２）。
【００１７】
その際、外部ＰＣは、全サンプリングデータの中から最大値データ（センター軸交点のデータ）を検索し、（最大値データ）／（白サンプリング値データ）を計算することにより、補正係数の計算処理を行う（ステップＳ３）。そして、Ｕ１．９のデータとしてシェーディングＲＡＭにデータを書き戻すとともに、その値をＥ２ＰＲＯＭに保存する（ステップＳ４〜Ｓ７）。
また、この補正係数の計算処理では、図９に示すように、理想的なレンズのシェーディング特性を得るために、サンプリングした点を二次の最小二乗法でフィッティングすることでサンプリング時のノイズ、フリッカなどの影響を排除している（ステップＳ１１〜Ｓ１４）。
もちろん、この白サンプリングデータの逆数を取る処理は除算器を用いて行っても良いし、整数値の逆数をＲＯＭに持たせたテーブルから読み出すような構成にしても良い。
【００１８】
図６は本実施例によるシェーディング補正回路データパスブロックを示したものであり、ＬＰＦ（ローパスフィルタ）１０、シェーディングＲＡＭ１２、シフタ１４、システムコントローラ１６、及び補正係数データパスなどから構成されている。
まず、Ｈ方向の動作について述べると、内挿すべき点Ｈの補正係数を計算するために必要な補正係数の値Ｙn+1 とＹn をシェーディングＲＡＭ１２からレジスタに読み出す。
次に、一次近似直線の式として以下の計算式で現在のＨカウント値の補正量Ｙを計算する。
Ｙ＝Ｙn ＋Ｋn ＊（Ｘ−Ｘn ）    ……（式２）
ここで、Ｋn ＝（Ｙn+1 −Ｙn ）＊２−ｍである。
なお、Ｘは現在のＨカウンタのカウント値を示し、Ｘn 、Ｘn+1 はＨカウンタのサンプリングアドレスを示し、Ｙn 、Ｙn+1 はＸn 、Ｘn+1 のサンプリング点に対応したＨ方向の補正係数を示している。
【００１９】
また、Ｖ方向の動作についてもＨ方向の動作と基本的に同じである。
この場合、Ｘが現在のＶカウンタの値を示し、Ｘn 、Ｘn+1 がＶカウンタのサンプリングアドレスを示し、Ｙn 、Ｙn+1 がＶサンプリング点に対応したＶ方向の補正係数を示すことになる。
上述したように、Ｋn の直線の傾きを求める際にサンプリング点の間隔を２ｍとなるように選んであるため、この割り算はシフト演算で行える。
また、本実施例の構成は、Ｖ軸方向の補正量については、Ｈの帰線期間の間にＶ方向の現在のＶカウンタの補正量を計算しておいて、その値を１Ｈ期間ラッチして保持しておくようにすることで、補正係数データパスを共通で使えるようにしたものである。
【００２０】
補正係数データパスでは、まず、（式２）に基づいて、Ｓ１．７の（Ｙn+1 −Ｙn ）の差分量とＵ７．０の（Ｘ−Ｘn ）の差分量の符号付き掛け算を行い、その結果、Ｓ８．７の出力を得る。次に、シフタによって２ｍの割り算（この場合、シフト量４／５／６／７ビット）を行い、Ｓ１．７の出力を得る。最後に基点のＵ１．７のＹn と足し算することで、Ｘ点における内挿値ＹをＵ１．７のフォーマットで得る。
Ｈ方向とＶ方向の補正係数は掛け算され、最終的にＵ２．７のフォーマットの補正係数になり、最後に入力データＵ８．０と掛け算され、補正された出力データＵ８．０を得る。
【００２１】
また、図７はシェーディング補正回路制御ブロックを示したもので、カウンタブロック（Ｈ／Ｖ）２１〜２４、差分ブロック（Ｈ／Ｖ）２５、２６、シフトレジスタ（Ｈ／Ｖ）２７、２８、ＲＡＭ制御ブロック２９、３０、アドレスジェネレータ３１、データパス系制御信号ブロック３２などから構成されている。
このように本発明の第１実施例では、比較的簡単な補正計算方法で精度良く各画素のシェーディング補正係数を算出することが可能である。
【００２２】
図１０、図１１は、本発明の第２の実施の形態を実現する第２実施例を説明するための図であり、図１０は本実施例でシェーディング補正を行う回路構成を示すブロック図、図１１は本実施例で用いるメッシュ分割による補正方法を示す説明図である。
この第２実施例では、レンズ系のシェーディングとセンサ系（撮像素子の感度ムラ）のシェーディングの両方を補正できる方法について説明する。
この第２実施例では、センサの感度ムラを補正する際に１画素単位で行うと高価なフレームメモリを必要とするため、例として画素数１２８０×９６０の有効画素を分割し、６４×６４をひとつのメッシュ領域単位として、そのメッシュ領域単位でレンズ及び感度ムラの補正を行えるようにしたものである。
この場合、上述した有効画素は２０×１５個のメッシュ領域に分割される。以下、その補正処理手順を説明する。
【００２３】
まず、前記第１実施例と同様にカメラの調整段階で基準となる白を撮像してそのサンプリングデータをＲＡＭ１２に取り込む。
この場合、前記第１実施例と異なるのは、図１１に示すように１画面分のデータをメッシュごとに積分して平均化した値を、そのメッシュのサンプリング値として補正データにすることである。
この場合、図１０に示すように、１水平ライン分２０個のメッシュの積分を積分器５１およびテンポラリレジスタ（Ｒｅｇ）５２で行って平均化した後、その１水平ライン分のデータにアドレスジェネレータ３１でアドレスを付し、デバイダ５４およびマルチプレクサ５５を介してＲＡＭ１２に書き込む。
【００２４】
以下、同様に積分器５１およびテンポラリＲｅｇ５２を順次リセットして、次の１水平ライン分の各メッシュの積分を行う。
結果として、最終的にＲＡＭ１２には、１画面分の３００個のメッシュのデータが書き込まれるようになる。次に、ＣＰＵにより、このＲＡＭ１２から全データを読み出し、その中から最大値のデータを検索して、各メッシュごとに（最大値データ）／（各メッシュの白平均データ）を計算し、その結果をＲＡＭ１２に書き戻す。この時点でＲＡＭ１２には、各メッシュごとの補正係数データが書き込まれたことになる。
【００２５】
次に、この各メッシュごとの補正データを使ってどのように近似直線を作っていくかを図１１を用いて説明する。なお、図１１では簡単のために３×３の９メッシュの撮像面について示してある。また、図中各メッシュの中央の丸はそのメッシュでの重心点位置の補正係数を表している。
補正の際には、図１１の斜線領域に示すように、新たに４つのメッシュの重心点で囲まれる領域について、次の（式３）から、このメッシュ内の任意の座標での補正係数Ｐ（ｈ＋ｘ、ｖ＋ｙ）を、これら４点の重心位置の補正係数から内挿する。
Ｐ（ｈ＋ｘ、ｖ）＝Ｐ（ｈ、ｖ）＋（Ｐ（ｈ＋ｍ、ｖ）−Ｐ（ｈ、ｖ））＊ｘ
／ｍ
Ｐ（ｈ＋ｘ、ｖ＋ｍ）＝Ｐ（ｈ、ｖ＋ｍ）＋（Ｐ（ｈ＋ｍ、ｖ＋ｍ）−Ｐ（ｈ
、ｖ＋ｍ））＊ｘ／ｍ
Ｐ（ｈ＋ｘ、ｖ＋ｙ）＝Ｐ（ｈ＋ｘ、ｖ）＋（Ｐ（ｈ＋ｘ、ｖ＋ｍ）−Ｐ（ｈ
＋ｘ、ｖ））＊ｙ／ｍ
……（式３）
【００２６】
ここで、Ｐ（ｈ、ｖ）、Ｐ（ｈ＋ｍ、ｖ）、Ｐ（ｈ、ｖ＋ｍ）、およびＰ（ｈ＋ｍ、ｖ＋ｍ）は、補正用の１メッシュの４隅の重心の補正係数、ｍは１メッシュの幅である。また、Ｐ（ｈ＋ｘ、ｖ）およびＰ（ｈ＋ｘ、ｖ＋ｍ）は、最終座標値の補正係数Ｐ（ｈ＋ｘ、ｖ＋ｙ）導出のための中間的な座標での補正係数である。
このようにＨ、Ｖ方向の走査に合わせて、内挿すべき点は必要な４点の重心位置の補正係数をシェーディングＲＡＭから順次読み出すことで、全ての有効画素点での補正係数の算出を可能にしている。
また、図１０のデータパスブロック図には上記（式３）の一次近似直線を実現するための補正係数算出のためのデータパスも示している。
このような第２実施例は、第１実施例の補正計算方法を限られたメッシュ領域で適応することで、補正の精度的にも第１実施例の精度の比べてはるかに良い補正精度を保証できる。この精度はメッシュをさらに細かく分割することにより高めることができる。
さらに、加えてセンサ系の感度ムラもある程度補正できるため最適な補正計算を行うことが可能となる。
【００２７】
【発明の効果】
以上説明したように本発明のシェーディング補正方法及び装置では、撮像面の画素を所定数画素単位のメッシュ領域に分割し、基準となる白を撮像して得られた白基準データに用いて、それぞれのメッシュ領域毎に白基準データを積分して平均化することにより、全てのメッシュ領域における積分して平均化した値の最大値をメッシュ領域毎に求めた積分して平均化した値で除することにより、メッシュ領域毎の補正値を算出し、メッシュ領域毎の補正値に基づいて、レンズ系のシェーディング補正とセンサ感度ムラのシェーディング補正を行うことから、比較的簡単な計算方法で、実際のシェーディング補正を良い精度で近似することができる。
【図面の簡単な説明】
【図１】  本発明の第１実施例におけるシェーディング補正方法を示す説明図である。
【図２】  上記第１実施例によるシェーディング補正方法の計算精度を説明するための説明図である。
【図３】  上記第１実施例のシェーディング補正方法で用いるＣＩＦを示す説明図である。
【図４】  上記第１実施例のシェーディング補正方法で用いる計算式の妥当性について数学的な証明を示す説明図である。
【図５】  上記第１実施例におけるレンズシェーディングの補正曲面を示す説明図である。
【図６】  上記第１実施例におけるシェーディング補正回路のデータパスを示すブロック図である。
【図７】  上記第１実施例におけるシェーディング補正回路の制御ブロックを示すブロック図である。
【図８】  上記第１実施例におけるシェーディング補正回路の動作を示すフローチャートである。
【図９】  上記第１実施例におけるシェーディング補正回路の動作を示すフローチャートである。
【図１０】  本発明の第２実施例におけるシェーディング補正回路の構成を示すブロック図である。
【図１１】  上記第２実施例で用いるメッシュ分割による補正方法を示す説明図である。
【符号の説明】
１０……ＬＰＦ、１２……シェーディングＲＡＭ、１４……シフタ、１６……システムコントローラ、２１〜２４……カウンタブロック（Ｈ／Ｖ）、２５、２６……差分ブロック（Ｈ／Ｖ）、２７、２８……シフトレジスタ（Ｈ／Ｖ）、２９、３０……ＲＡＭ制御ブロック、３１……アドレスジェネレータ、３２……データパス系制御信号ブロック、５１……積分器、５２……テンポラリレジスタ、５４……デバイダ、５５……マルチプレクサ。
【図１】
0004614601.tif 000002
【図２】
0004614601.tif 000003
【図３】
0004614601.tif 000004
【図４】
0004614601.tif 000005
【図５】
0004614601.tif 000006
【図６】
0004614601.tif 000007
【図７】
0004614601.tif 000008
【図８】
0004614601.tif 000009
【図９】
0004614601.tif 000010
【図１０】
0004614601.tif 000011
【図１１】
0004614601.tif 000012