(57)【要約】【課題】  本発明は、画像データにおける画素値の補正処理を、回路規模を増大させることなく行うことができる技術を提供することを目的とする。【解決手段】  本発明は、原画像データのビット精度よりも低いビット精度の第１の画像データを算出し、第１の画像データの処理対象画素の周辺の画素の画素値を用いて、処理対象画素の第１の画素値を算出する第１の画素値算出部と、原画像データの処理対象画素の周辺の画素の画素値を用いて、処理対象画素の第２の画素値を算出する第２の画素値算出部と、第１の画素値と第２の画素値とから求めた補正値を、第１の画素値に付加するビット誤差抑制部と、を備える。【選択図】    図１
2010166236.tif 000002
【特許請求の範囲】
【請求項１】
原画像データのビット精度よりも低いビット精度の第１の画像データを算出し、前記第１の画像データの処理対象画素の周辺の画素の画素値を用いて、前記処理対象画素の第１の画素値を算出する第１の画素値算出部と、
前記原画像データの前記処理対象画素の周辺の画素の画素値を用いて、前記処理対象画素の第２の画素値を算出する第２の画素値算出部と、
前記第１の画素値と前記第２の画素値とから求めた補正値を、前記第１の画素値に付加するビット誤差抑制部と、
を備えることを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記補正値は、所定範囲内の補正値であることを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記所定範囲は、前記第１の画像データのビット精度に基づいて設定されることを特徴とする画像処理装置。
【請求項４】
請求項２から３のいずれか1項に記載の画像処理装置において、
前記ビット誤差抑制部は、
前記処理対象画素における前記第２の画素値と前記第１の画素値との差を前記所定範囲内にクリップした値を前記補正値とする
ことを特徴とする画像処理装置。
【請求項５】
請求項２から３のいずれか1項に記載の画像処理装置において、
前記ビット誤差抑制部は、
前記処理対象画素における前記第２の画素値と前記第１の画素値との差を求め、前記差が所定範囲内ではない場合には前記補正値を０に設定し、前記差が所定範囲内の場合には前記差を前記補正値とする
ことを特徴とする画像処理装置。
【請求項６】
請求項１から５のいずれか1項に記載の画像処理装置において、
前記第１の画素値算出部は、前記第１の画像データを前記原画像データに対してガンマ変換することによって算出することを特徴とする画像処理装置。
【請求項７】
請求項1から６のいずれか１項に記載の画像処理装置において、
前記第１の画像データに基づいて、前記処理対象画素の周辺における画素値分布に関する方向を判定する画像方向判定部をさらに備え、
前記第１の画素値算出部及び前記第２の画素値算出部は、前記画像方向判定部による方向を参照して、前記処理対象画素における前記第１の画素値及び前記第２の画素値を算出する
ことを特徴とする画像処理装置。
【請求項８】
請求項1から６のいずれか１項に記載の画像処理装置において、
前記処理対象画素は、異常な画素値を出力する撮像画素、又は焦点検出用画素であることを特徴とする画像処理装置。
【請求項９】
請求項1から６のいずれか１項に記載の画像処理装置において、
撮像素子によって撮像された前記原画像データを受け付ける入力部と、
前記処理対象画素の位置情報を記憶する位置情報記憶部と、
をさらに備えることを特徴とする画像処理装置。
【請求項１０】
撮像素子と、
請求項９に記載の画像処理装置と、
を備えることを特徴とする撮像装置。
【請求項１１】
請求項1から９のいずれか１項に記載の画像処理装置の処理をコンピュータで実現するための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
従来、撮像素子における欠陥画素や焦点検出用画素の位置における画素値を補正する様々な画像処理の技術が提案されている。そして、提案されている画像処理技術の中には、補正が必要な画素位置における画像の細かな構造を、再現するための工夫が施されているものもある。
【０００３】
例えば、特許文献１では、焦点検出用画素の周辺の撮像画素のうち、配置密度の高い撮像画素の画素値に基づいて配置密度の低い撮像画素の画素値を補正し、補正した配置密度の低い撮像画素の画素値に基づいて、焦点検出用画素の位置における画素値を算出する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術の画像処理の方法では、例えば、特許文献１のような複雑な演算処理をそのままの形で電子カメラ等に実装すると回路規模が増大してしまうという問題がある。
【０００５】
上記従来技術が有する問題に鑑み、本発明の目的は、画像データにおける画素値の補正処理を、回路規模を増大させることなく行うことができる技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の画像処理装置は、原画像データのビット精度よりも低いビット精度の第１の画像データを算出し、第１の画像データの処理対象画素の周辺の画素の画素値を用いて、処理対象画素の第１の画素値を算出する第１の画素値算出部と、原画像データの処理対象画素の周辺の画素の画素値を用いて、処理対象画素の第２の画素値を算出する第２の画素値算出部と、第１の画素値と第２の画素値とから求めた補正値を、第１の画素値に付加するビット誤差抑制部と、を備える。
【０００７】
また、本発明において、補正値は、所定範囲内の補正値である。
【０００８】
また、本発明において、所定範囲は、第１の画像データのビット精度に基づいて設定される。
【０００９】
また、本発明において、ビット誤差抑制部は、処理対象画素における第２の画素値と第１の画素値との差を所定範囲内にクリップした値を補正値とする。
【００１０】
また、本発明において、ビット誤差抑制部は、処理対象画素における前記第２の画素値と前記第１の画素値との差を求め、前記差が所定範囲内ではない場合には前記補正値を０に設定し、前記差が所定範囲内の場合には前記差を前記補正値とする。
【００１１】
また、本発明において、第１の画素値算出部は、第１の画像データを原画像データに対してガンマ変換することによって算出する。
【００１２】
また、本発明において、第１の画像データに基づいて、処理対象画素の周辺における画素値分布に関する方向を判定する画像方向判定部をさらに備え、第１の画素値算出部及び第２の画素値算出部は、画像方向判定部による方向を参照して、処理対象画素における第１の画素値及び第２の画素値を算出する。
【００１３】
また、本発明において、処理対象画素は、異常な画素値を出力する撮像画素、又は焦点検出用画素である。
【００１４】
また、本発明において、撮像素子によって撮像された原画像データを受け付ける入力部と、処理対象画素の位置情報を記憶する位置情報記憶部と、をさらに備える。
【００１５】
本発明の撮像装置は、撮像素子と、本発明の画像処理装置と、を備える。
【００１６】
本発明の画像処理プログラムは、本発明の画像処理装置の処理をコンピュータで実現する。
【発明の効果】
【００１７】
本発明によると、画像データにおける画素値の補正処理を、回路規模を増大させることなく行うことができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一の実施形態に係る電子カメラ１０の構成を示すブロック図
【図２】撮像素子２の一部のセルの配列を示す図
【図３】電子カメラ１０の記憶部９と画像処理部１２との間における画像データのフローを示す図
【図４】電子カメラ１０での画像処理のフローチャート
【発明を実施するための形態】
【００１９】
以下、図面を用いて本発明の実施形態について説明する。
≪一の実施形態≫
図１は、本発明の一の実施形態に係る電子カメラ１０の構成図である。
【００２０】
電子カメラ１０は、撮像レンズ１、撮像素子２、Ａ／Ｄ変換部３、バッファメモリ４、ＣＰＵ５、カードインタフェース（カードＩ／Ｆ）６、操作部材８、記憶部９、表示部１１及び画像処理部１２から構成される。バッファメモリ４、ＣＰＵ５、カードＩ／Ｆ６、操作部材８、記憶部９、表示部１１及び画像処理部１２は、バス１３を介して情報伝達可能に接続されている。なお、図１は電子カメラ１０の主要部分のみを示す。例えば、図１において、ＣＰＵ５の指令に従って、撮像素子２及びＡ／Ｄ変換部３に撮影指示のタイミングパルスを発するタイミングジェネレータ等は省略されている。
【００２１】
撮像レンズ１は、複数の光学レンズにより構成され、被写体像を撮像素子２の受光面に結像する。
【００２２】
撮像素子２は、その受光面上に配置された複数の撮像画素の各々に、Ｒ（赤）、Ｇ（緑）又はＢ（青）のいずれかのカラーフィルタがベイヤ配列型に設けられたＣＣＤやＣＭＯＳの半導体イメージセンサ等であり、適宜選択して用いることができる。さらに、本実施形態の撮像素子２は、受光面上の一部の領域に、水平走査方向に一次元的に配置された複数の焦点検出画素（ＡＦ画素）（処理対象画素）を有する。それらのＡＦ画素は、白色のフィルタが設けられ、且つ撮像レンズ１の光学系の瞳の左側又は右側を通過する光束を受光する。即ち、ＡＦ画素の各々は、白色光の輝度に応じた左側又は右側の瞳分割された検出信号を出力する。図２は、撮像素子２によって撮像された画像データのうち、ＡＦ画素が配置された領域を中心とした画像データの一部を示す。それぞれのセルが１つの画素を表す。各セルの先頭の記号Ｒ、Ｇ及びＢは、各カラーフィルタを有する撮像画素を示す。一方、記号Ｘ及びＹは、左側又は右側からの光束に感度を有するＡＦ画素を示し、それらが交互に水平走査方向に一次元的に配列されている。これらの記号に続く２桁の番号は画素の位置を示す。
【００２３】
この撮像素子２は、ＣＰＵ５の指令を受けてタイミングジェネレータ（不図示）が発するタイミングパルスに基づいて動作し、前方に設けられた撮像レンズ１によって結像される被写体像を取得する。撮像素子２から出力された画像信号は、Ａ／Ｄ変換部３にてデジタル信号に変換される。デジタルの画像信号は、フレームメモリ（不図示）に一時的に記録された後、バッファメモリ４に記録される。なお、本実施形態におけるＡ／Ｄ変換部３は、撮像素子２の各画素の画素値を１４ビット精度のデジタル信号に変換して出力するものとする。また、バッファメモリ４には、半導体メモリのうち、任意の不揮発性メモリを適宜選択して用いることができる。
【００２４】
ＣＰＵ５は、ユーザが操作部材８の電源釦を押すことによって、電子カメラ１０の電源が入れられると、記憶部９に記憶されている制御プログラムや画像処理プログラムを読み込んで、電子カメラ１０を初期化する。ＣＰＵ５は、操作部材８を介してユーザからの指示の信号を受け制御プログラムに基づいて、タイミングジェネレータ（不図示）に被写体像の撮像指令を出力したり、画像処理部１２に撮像した画像の画像処理をさせたり、カードメモリ７への記録や表示部１１への表示を行ったり等の制御を行う。ＣＰＵ５には、一般的なコンピュータのＣＰＵが使用することができる。
【００２５】
カードＩ／Ｆ６には、カードメモリ７が着脱可能に装着される。バッファメモリ４に記録される画像は、ＣＰＵ５の指示に基づいて画像処理部１２で画像処理された後、ＪＰＥＧ形式やＹＵＶ形式等のファイルとしてカードメモリ７に記録される。
【００２６】
操作部材８は、ユーザによる部材操作の内容に応じた操作信号をＣＰＵ５に出力する。操作部材８には、例えば、電源釦、撮影モード等のモード設定釦及びレリーズ釦等の操作部材を有する。なお、操作部材８は、後述する表示部１１の画面に表示されるタッチパネル式の釦であっても良い。
【００２７】
記憶部９は、電子カメラ１０が撮像した画像データや、ＣＰＵ５が電子カメラ１０を制御するための制御プログラム等の各種プログラム等を記憶する。さらに、記憶部９は、撮像素子２のＡＦ画素の位置情報や画像処理部１２の画像処理で用いる補正係数等のデータを記憶する。記憶部９に記憶されるプログラムやデータは、バス１３を介して、ＣＰＵ５から適宜参照することができる。記憶部９は、一般的なハードディスク装置や光磁気ディスク装置、又は半導体メモリ等の記憶装置を適宜選択して用いることができる。
【００２８】
表示部１１は、スルー画や撮像した画像又はモード設定画面等を表示する。表示部１１には、液晶モニタ等を適宜選択して用いることができる。
【００２９】
画像処理部１２は、ＣＰＵ５の画像処理に指示に基づいて、輪郭強調処理やホワイトバランス補正等の画像処理とともに、ＡＦ画素の画素位置における画素値を周辺の撮像画素の画素値を用いた補間計算を行うディジタルフロントエンド回路である。
【００３０】
次に、本実施形態に係る電子カメラ１０について、図３のＣＰＵ５に基づいた記憶部９と画像処理部１２とにおける画像データのフローを示す図とともに、図４の画像処理のフローチャートを参照しながら説明する。
【００３１】
ユーザにより操作部材８の電源釦が押されると、ＣＰＵ５は、電子カメラ１０の記憶部９に記憶されている制御プログラムを読み込み、電子カメラ１０を初期化する。ＣＰＵ５は、ユーザからの被写体像の撮像指示が出されるまで待機する。ユーザによって操作部材８のレリーズ釦が押されると、ＣＰＵ５は、撮像指示が出されたと判断して、ステップＳ１０〜ステップＳ２１の処理を行う。なお、本実施形態において、撮像画素の各々に設置されるカラーフィルタがベイヤ配列のパターンであることから、記号ＸのＡＦ画素の位置には緑色（Ｇ）の画素値が補間され、記号ＹのＡＦ画素の画素位置には青色（Ｂ）の画素値が補間される。
【００３２】
ステップＳ１０：ＣＰＵ５は、タイミングジェネレータ（不図示）に対して撮像指令を出す。タイミングジェネレータ（不図示）は、タイミングパルスを撮像素子２に発し、撮像素子２は撮像レンズ１によって結像された被写体像を撮像する。撮像された画像データは、Ａ／Ｄ変換部３によって１４ビット精度のデジタルの画像データ（原画像データ）に変換され、バッファメモリ４に記録される。ＣＰＵ５は、バッファメモリ４に対して、画像データを画像処理部１２へ転送する指令を出す。バッファメモリ４は、バス１３を介して、画像データを画像処理部１２へ転送する。
【００３３】
ステップＳ１１：画像処理部１２の低ビット画像生成部１０１は、転送されてきた１４ビット精度の画像データの各画素値に対して、６４の値で割るとともに小数点を切り捨てることにより、８ビット精度にビット精度を低下させた画像データを生成する。生成された８ビット精度の画像データは、画像方向判定部１０４及び第１の画素値算出部１０５に転送される。なお、本実施形態では、６４で割った際に、小数点以下を切り捨てるが、四捨五入しても良いし、切り上げても良い。また、以下の説明において、１４ビット精度の画像データの画素値を表すパラメータには１４の添え字を、８ビット精度の画像データの画素値を表すパラメータには８の添え字をそれぞれ付すこととする。
【００３４】
ステップＳ１２：画像処理部１２のＡＦ画素位置設定部１０２は、ステップＳ１０の低ビット画像生成部１０１による処理と同時に、記憶部９の位置情報記憶部１０３からＡＦ画素位置情報を読み込む。ここで、位置情報記憶部１０２には、ＡＦ画素列の垂直走査方向の座標ＹＶと水平走査方向の始点及び終点の座標ＸＨ１及びＸＨ２が記憶されている。
【００３５】
ステップＳ１３：画像処理部１２の画像方向判定部１０４は、各ＡＦ画素での撮像画素値を補間するために、各ＡＦ画素の周辺の撮像画素の画素値を用いて、３方向（本実施形態では、垂直走査方向、水平走査方向に対して斜め４５度及び１３５度の方向）における画素値の変化率である方向変動Ｖ１〜Ｖ３の値を、ＡＦ画素の周辺の同色画素の差分の絶対値を積算して求める。具体的には、画像方向判定部１０４は、ＡＦ画素が左側の瞳分割された光を検出するＡＦ画素Ｘの場合には次式（１）〜（３）を用い、右側の瞳分割された光を検出するＡＦ画素Ｙの場合には次式（４）〜（６）を用いてそれぞれ求めて判定する。この理由は、ＡＦ画素ＸとＡＦ画素Ｙとでその周辺のＲ、Ｇ及びＢの配列のパターンが少し異なるからである。なお、各ＡＦ画素の座標を（ｘ，ｙ）とし、その位置でのＲ、Ｇ及びＢの各成分をＲ８（ｘ，ｙ）、Ｇ８（ｘ，ｙ）及びＢ８（ｘ，ｙ）とする。
・ＡＦ画素Ｘの場合の垂直走査方向の方向変動Ｖ１＝
２×（｜Ｇ８（ｘ−１，ｙ−１）−Ｇ８（ｘ−１，ｙ＋１）｜＋｜Ｇ８（ｘ＋１，ｙ−１）−Ｇ８（ｘ＋１，ｙ＋１）｜）＋｜Ｒ８（ｘ−２，ｙ−１）−Ｒ８（ｘ−２，ｙ＋１）｜＋｜Ｒ８（ｘ，ｙ−１）−Ｒ８（ｘ，ｙ＋１）｜＋｜Ｂ８（ｘ−１，ｙ−２）−Ｂ８（ｘ−１，ｙ＋２）｜＋｜Ｂ８（ｘ＋１，ｙ−２）−Ｂ８（ｘ＋１，ｙ＋２）｜  …（１）
・ＡＦ画素Ｘの場合の水平走査方向に対して斜め４５度の方向変動Ｖ２＝
２×（｜Ｇ８（ｘ＋２，ｙ−２）−Ｇ８（ｘ＋１，ｙ−１）｜＋｜Ｇ８（ｘ−１，ｙ＋１）−Ｇ８（ｘ−２，ｙ＋２）｜）＋｜Ｒ８（ｘ，ｙ−１）−Ｒ８（ｘ−２，ｙ＋１）｜＋｜Ｒ８（ｘ＋２，ｙ−１）−Ｒ８（ｘ，ｙ＋１）｜＋｜Ｂ８（ｘ＋１，ｙ−２）−Ｂ８（ｘ−３，ｙ＋２）｜＋｜Ｂ８（ｘ＋３，ｙ−２）−Ｂ８（ｘ−１，ｙ＋２）｜  …（２）
・ＡＦ画素Ｘの場合の水平走査方向に対して斜め１３５度の方向変動Ｖ３＝
２×（｜Ｇ８（ｘ−２，ｙ−２）−Ｇ８（ｘ−１，ｙ−１）｜＋｜Ｇ８（ｘ＋１，ｙ＋１）−Ｇ８（ｘ＋２，ｙ＋２）｜）＋｜Ｒ８（ｘ−２，ｙ−１）−Ｒ８（ｘ，ｙ＋１）｜＋｜Ｒ８（ｘ，ｙ−１）−Ｒ８（ｘ＋２，ｙ＋１）｜＋｜Ｂ８（ｘ−３，ｙ−２）−Ｂ８（ｘ＋１，ｙ＋２）｜＋｜Ｂ８（ｘ−１，ｙ−２）−Ｂ８（ｘ＋３，ｙ＋２）｜  …（３）
・ＡＦ画素Ｙの場合の垂直走査方向の方向変動Ｖ１＝
２×（｜Ｇ８（ｘ，ｙ−１）−Ｇ８（ｘ，ｙ＋１）｜＋｜Ｇ８（ｘ−２，ｙ−１）−Ｇ８（ｘ−２，ｙ＋１）｜）＋｜Ｒ８（ｘ−１，ｙ−１）−Ｒ８（ｘ−１，ｙ＋１）｜＋｜Ｒ８（ｘ＋１，ｙ−１）−Ｒ８（ｘ＋１，ｙ＋１）｜＋｜Ｂ８（ｘ−２，ｙ−２）−Ｂ８（ｘ−２，ｙ＋２）｜＋｜Ｂ８（ｘ，ｙ−２）−Ｂ８（ｘ，ｙ＋２）｜  …（４）
・ＡＦ画素Ｙの場合の水平走査方向に対して斜め４５度の方向変動Ｖ２＝
２×（｜Ｇ８（ｘ＋１，ｙ−２）−Ｇ８（ｘ，ｙ−１）｜＋｜Ｇ８（ｘ，ｙ＋１）−Ｇ８（ｘ−１，ｙ＋２）｜）＋｜Ｒ８（ｘ−１，ｙ−１）−Ｒ８（ｘ−３，ｙ＋１）｜＋｜Ｒ８（ｘ＋１，ｙ−１）−Ｒ８（ｘ−１，ｙ＋１）｜＋｜Ｂ８（ｘ＋２，ｙ−２）−Ｂ８（ｘ−２，ｙ＋２）｜＋｜Ｂ８（ｘ＋４，ｙ−２）−Ｂ８（ｘ，ｙ＋２）｜  …（５）
・ＡＦ画素Ｙの場合の水平走査方向に対して斜め１３５度の方向変動Ｖ３＝
２×（｜Ｇ８（ｘ−１，ｙ−２）−Ｇ８（ｘ，ｙ−１）｜＋｜Ｇ８（ｘ，ｙ＋１）−Ｇ８（ｘ＋１，ｙ＋２）｜）＋｜Ｒ８（ｘ−１，ｙ−１）−Ｒ８（ｘ＋１，ｙ＋１）｜＋｜Ｒ８（ｘ＋１，ｙ−１）−Ｒ８（ｘ＋３，ｙ＋１）｜＋｜Ｂ８（ｘ−２，ｙ−２）−Ｂ８（ｘ＋２，ｙ＋２）｜＋｜Ｂ８（ｘ，ｙ−２）−Ｂ８（ｘ＋４，ｙ＋２）｜  …（６）
画像方向判定部１０４は、各ＡＦ画素において方向変動Ｖ１〜Ｖ３のうち最も小さい値の方向を画像方向情報として、第１の画素値算出部１０５及び第２の画素値算出部１０７に出力する
ステップＳ１４：画像処理部１２の第１の画素値算出部１０５は、８ビット精度の画像データとともに、ステップＳ１２で求めた画像方向判定部１０４による各ＡＦ画素Ｘにおける画像方向情報に基づいて、各ＡＦ画素ＸにおけるＧ成分で８ビット精度の第１の画素値Ｇ１を求める。そのために、第１の画素値算出部１０５は、各ＡＦ画素Ｘの近傍におけるＲ、Ｇ及びＢの平均値を、画像方向判定部１０４の画像方向情報に基づいて次式（７）〜（９）のいずれかを用いて算出する。
・最小の方向変動が垂直走査方向の場合
Ｒａｖｅ（ｘ，ｙ）＝（Ｒ８（ｘ，ｙ−１）＋Ｒ８（ｘ，ｙ＋１））／２  …（７）
Ｇａｖｅ（ｘ，ｙ）＝（Ｇ８（ｘ−１，ｙ−１）＋Ｇ８（ｘ−１，ｙ＋１）＋Ｇ８（ｘ＋１，ｙ−１）＋Ｇ８（ｘ＋１，ｙ＋１））／４
Ｂａｖｅ（ｘ，ｙ）＝（Ｂ８（ｘ−１，ｙ−２）＋Ｂ８（ｘ−１，ｙ＋２）＋Ｂ８（ｘ＋１，ｙ−２）＋Ｂ８（ｘ＋１，ｙ＋２））／４
・最小の方向変動が斜め４５度の場合
Ｒａｖｅ（ｘ，ｙ）＝（Ｒ８（ｘ，ｙ−１）＋Ｒ８（ｘ，ｙ＋１）＋Ｒ８（ｘ−２，ｙ−１）＋Ｒ８（ｘ＋２，ｙ＋１））／４  …（８）
Ｇａｖｅ（ｘ，ｙ）＝（Ｇ８（ｘ−１，ｙ−１）＋Ｇ８（ｘ＋１，ｙ＋１））／２
Ｂａｖｅ（ｘ，ｙ）＝（Ｂ８（ｘ−１，ｙ−２）＋Ｂ８（ｘ−３，ｙ−２）＋Ｂ８（ｘ＋１，ｙ＋２）＋Ｂ８（ｘ＋３，ｙ＋２））／４
・最小の方向変動が斜め１３５度の場合
Ｒａｖｅ（ｘ，ｙ）＝（Ｒ８（ｘ，ｙ−１）＋Ｒ８（ｘ，ｙ＋１）＋Ｒ８（ｘ＋２，ｙ−１）＋Ｒ８（ｘ−２，ｙ＋１））／４  …（９）
Ｇａｖｅ（ｘ，ｙ）＝（Ｇ８（ｘ＋１，ｙ−１）＋Ｇ８（ｘ−１，ｙ＋１））／２
Ｂａｖｅ（ｘ，ｙ）＝（Ｂ８（ｘ＋１，ｙ−２）＋Ｂ８（ｘ＋３，ｙ−２）＋Ｂ８（ｘ−１，ｙ＋２）＋Ｂ８（ｘ−３，ｙ＋２））／４
第１の画素値算出部１０５は、算出されたＲａｖｅ、Ｇａｖｅ及びＢａｖｅを用いるとともに、記憶部９の補正係数記憶部１０６から補正係数ＫＲ、ＫＧ及びＫＢの値を読み込んで、各ＡＦ画素Ｘにおける平均の白色成分Ｗａｖｅ（ｘ，ｙ）を、次式（１０）を用いて算出する。
Ｗａｖｅ（ｘ，ｙ）＝ＫＲ×Ｒａｖｅ（ｘ，ｙ）＋ＫＧ×Ｇａｖｅ（ｘ，ｙ）＋ＫＢ×Ｂａｖｅ（ｘ，ｙ）  …（１０）
ここで、補正係数記憶部１０６に記憶されている補正係数ＫＲ、ＫＧ及びＫＢの値は、白色光の輝度に応じた左側と右側との瞳分割されたＡＦ画素の分光感度の和（例えば、ＡＦ画素Ｘ４５とＡＦ画素Ｙ４６との画素値の和）が、ＫＲ×Ｒ画素の分光感度＋ＫＧ×Ｇ画素の分光感度＋ＫＢ×Ｂ画素の分光感度で表される近似式に最も良く成り立つように、開発段階で決められる値である。本実施形態では、０．５〜１．２の１前後の値となる。
【００３６】
一方、第１の画素値算出部１０５は、同時に、各ＡＦ画素Ｘ及び各ＡＦ画素Ｙの画素値を用いて、各ＡＦ画素Ｘの位置における白色成分Ｗ８（ｘ，ｙ）を、次式（１１）を用いて求める。
Ｗ８（ｘ，ｙ）＝Ｘ８（ｘ，ｙ）＋（Ｙ８（ｘ−１，ｙ）＋Ｙ８（ｘ＋１，ｙ））／２  …（１１）
以上において求めた値から、第１の画素値算出部１０５は、各ＡＦ画素ＸにおけるＧ成分で８ビット精度の第１の画素値Ｇ１（ｘ，ｙ）を、
Ｇ１（ｘ，ｙ）＝Ｇａｖｅ（ｘ，ｙ）＋Ｗ８（ｘ，ｙ）／Ｗａｖｅ（ｘ，ｙ）  …（１２）
の式（１２）を用いて算出する。
【００３７】
ステップＳ１５：第１の画素値算出部１０５は、ステップＳ１４の場合と同様にして、各ＡＦ画素ＹにおけるＢ成分で８ビット精度の第１の画素値Ｂ１を求める。そのために、第１の画素値算出部１０５は、各ＡＦ画素Ｙの近傍におけるＲ、Ｇ及びＢの平均値を、画像方向判定部１０４の画像方向情報に基づいて次式（１３）〜（１５）のいずれかを用いて算出する。
・最小の方向変動が垂直走査方向の場合
Ｒａｖｅ（ｘ，ｙ）＝（Ｒ８（ｘ−１，ｙ−１）＋Ｒ８（ｘ−１，ｙ＋１）＋Ｒ８（ｘ＋１，ｙ−１）＋Ｒ８（ｘ＋１，ｙ＋１））／４  …（１３）
Ｇａｖｅ（ｘ，ｙ）＝（Ｇ８（ｘ，ｙ−１）＋Ｇ８（ｘ，ｙ＋１））／２
Ｂａｖｅ（ｘ，ｙ）＝（Ｂ８（ｘ，ｙ−２）＋Ｂ８（ｘ，ｙ＋２））／２
・最小の方向変動が斜め４５度の場合
Ｒａｖｅ（ｘ，ｙ）＝（Ｒ８（ｘ−１，ｙ−１）＋Ｒ８（ｘ＋１，ｙ＋１））／２  …（１４）
Ｇａｖｅ（ｘ，ｙ）＝（Ｇ８（ｘ，ｙ−１）＋Ｇ８（ｘ−２，ｙ−１）＋Ｇ８（ｘ，ｙ＋１）＋Ｇ８（ｘ＋２，ｙ＋１））／４
Ｂａｖｅ（ｘ，ｙ）＝（Ｂ８（ｘ−２，ｙ−２）＋Ｂ８（ｘ＋２，ｙ＋２））／２
・最小の方向変動が斜め１３５度の場合
Ｒａｖｅ（ｘ，ｙ）＝（Ｒ８（ｘ＋１，ｙ−１）＋Ｒ８（ｘ−１，ｙ＋１））／２  …（１５）
Ｇａｖｅ（ｘ，ｙ）＝（Ｇ８（ｘ，ｙ−１）＋Ｇ８（ｘ＋２，ｙ−１）＋Ｇ８（ｘ，ｙ＋１）＋Ｇ８（ｘ−２，ｙ＋１））／４
Ｂａｖｅ（ｘ，ｙ）＝（Ｂ８（ｘ＋２，ｙ−２）＋Ｂ８（ｘ−２，ｙ＋２））／２
第１の画素値算出部１０５は、算出されたＲａｖｅ、Ｇａｖｅ及びＢａｖｅを用いて、平均の白色成分Ｗａｖｅ（ｘ，ｙ）を、ステップＳ１４と同様に式（７）を用いて算出する。
【００３８】
一方、第１の画素値算出部１０５は、同時に、各ＡＦ画素Ｘ及び各ＡＦ画素Ｙの画素値を用いて、各ＡＦ画素Ｙにおける白色成分Ｗ８（ｘ，ｙ）を、次式（１６）を用いて求める。
Ｗ８（ｘ，ｙ）＝Ｙ８（ｘ，ｙ）＋（Ｘ８（ｘ−１，ｙ）＋Ｘ８（ｘ＋１，ｙ））／２  …（１６）
以上において求めた値から、第１の画素値算出部１０５は、各ＡＦ画素ＹにおけるＢ成分で８ビット精度の第１の画素値Ｂ１（ｘ，ｙ）を、
Ｂ１（ｘ，ｙ）＝Ｂａｖｅ（ｘ，ｙ）＋Ｗ８（ｘ，ｙ）／Ｗａｖｅ（ｘ，ｙ）  …（１７）
の式（１７）を用いて算出する。第１の画素値算出部１０５は、ステップＳ１４の結果と合わせて、ビット誤差抑制部１０８へ８ビット精度の第１の画素値Ｇ１及びＢ１を転送する。
【００３９】
ステップＳ１６：画像処理部１２の第２の画素値算出部１０７は、元の１４ビット精度の画像データとともに、ステップＳ１３で求めた画像方向判定部１０４の画像方向情報に基づいて、各ＡＦ画素ＸにおけるＧ成分で１４ビット精度の第２の画素値Ｇ２を、次式（１８）〜（２０）のいずれかを用いて算出する。
・最小の方向変動が垂直走査方向の場合
Ｇ２（ｘ，ｙ）＝（Ｇ１４（ｘ−１，ｙ−１）＋Ｇ１４（ｘ−１，ｙ＋１）＋Ｇ１４（ｘ＋１，ｙ−１）＋Ｇ１４（ｘ＋１，ｙ＋１））／４  …（１８）
・最小の方向変動が斜め４５度の場合
Ｇ２（ｘ，ｙ）＝（Ｇ１４（ｘ−１，ｙ−１）＋Ｇ１４（ｘ＋１，ｙ＋１））／２  …（１９）
・最小の方向変動が斜め１３５度の場合
Ｇ２（ｘ，ｙ）＝（Ｇ１４（ｘ＋１，ｙ−１）＋Ｇ１４（ｘ−１，ｙ＋１））／２  …（２０）
ステップＳ１７：第２の画素値算出部１０７は、ステップＳ１６と同様に、元の１４ビット精度の画像データとともに、ステップＳ１３で求めた画像方向判定部１０４の画像方向情報に基づいて、各ＡＦ画素ＹにおけるＢ成分で１４ビット精度の第２の画素値Ｂ２を、次式（２１）〜（２３）のいずれかを用いて算出する。第２の画素値算出部１０７は、ステップＳ１６の結果と合わせて、ビット誤差抑制部１０８へ１４ビット精度の第２の画素値Ｇ２及びＢ２を転送する。
・最小の方向変動が垂直走査方向の場合
Ｂ２（ｘ，ｙ）＝（Ｂ１４（ｘ，ｙ−２）＋Ｂ１４（ｘ，ｙ＋２））／２  …（２１）
・最小の方向変動が斜め４５度の場合
Ｂ２（ｘ，ｙ）＝（Ｂ１４（ｘ−２，ｙ−２）＋Ｂ１４（ｘ＋２，ｙ＋２））／２  …（２２）
・最小の方向変動が斜め１３５度の場合
Ｂ２（ｘ，ｙ）＝（Ｂ１４（ｘ＋２，ｙ−２）＋Ｂ１４（ｘ−２，ｙ＋２））／２  …（２３）
ステップＳ１８：画像処理部１２のビット誤差抑制部１０８は、まず各ＡＦ画素ＸにおけるＧ成分の画素値を、第１の画素値Ｇ１と第２の画素値Ｇ２とを用いて求める。具体的には、各ＡＦ画素Ｘの第１の画素値Ｇ１（ｘ，ｙ）を６４倍して、１４ビット精度の画素値Ｇ１′（ｘ，ｙ）を算出する。ビット誤差抑制部１０８は、
ΔＧ１４（ｘ，ｙ）＝Ｇ２（ｘ，ｙ）−Ｇ１′（ｘ，ｙ）  …（２４）
の式（２４）を用いて、第２の画素値Ｇ２と６４倍して１４ビット精度の画素値にした第１の画素値Ｇ１′との差を求める。ビット誤差抑制部１０８は、ΔＧ１４（ｘ，ｙ）を０〜６３の範囲にクリップする。即ち、ΔＧ１４（ｘ，ｙ）が０以下なら０に、６３以上なら６３に、及び０〜６３の範囲以内ならそのままの値にする。ビット誤差抑制部１０８は、各ＡＦ画素Ｘの画素位置におけるＧ成分で１４ビット精度の画素値ＧＸ（ｘ，ｙ）を、次式（２５）のように求める。
ＧＸ（ｘ，ｙ）＝Ｇ１′（ｘ，ｙ）＋ΔＧ１４（ｘ，ｙ）  …（２５）
ステップＳ１９：ビット誤差抑制部１０８は、次に各ＡＦ画素Ｙにおける画素値を、第１の画素値Ｂ１と第２の画素値Ｂ２とを用いて求める。ステップＳ１８と同様にして、各ＡＦ画素Ｙの第１の画素値Ｂ１（ｘ，ｙ）を６４倍して、１４ビット精度の画素値Ｂ１′（ｘ，ｙ）を算出する。ビット誤差抑制部１０８は、
ΔＢ１４（ｘ，ｙ）＝Ｂ２（ｘ，ｙ）−Ｂ１′（ｘ，ｙ）  …（２６）
の式（２６）を用いて、第２の画素値Ｂ２と６４倍して１４ビット精度の画素値にした第１の画素値Ｂ１′との差を求める。ビット誤差抑制部１０８は、ΔＢ１４（ｘ，ｙ）を０〜６３の範囲にクリップして、各ＡＦ画素Ｙの補正されたＢ成分で１４ビット精度の画素値ＢＹ（ｘ，ｙ）を、次式（２７）のように求める。
ＢＹ（ｘ，ｙ）＝Ｂ１′（ｘ，ｙ）＋ΔＢ１４（ｘ，ｙ）  …（２７）
ビット誤差抑制部１０８は、ステップＳ１８の結果と合わせて、代入部１０９へ各ＡＦ画素における１４ビット精度の画素値ＧＸ及びＢＹを転送する。
【００４０】
ステップＳ２０：画像処理部１２の代入部１０９は、ステップＳ１８及びステップＳ１９で求めた各ＡＦ画素における１４ビット精度の画素値ＧＸ及びＢＹを、元の１４ビット精度の画像データで、各ＡＦ画素の位置での画素値として代入して、完全なベイヤ配列の画像に補正された１４ビット精度の画像データを生成する。
【００４１】
ステップＳ２１：画像処理部１２の他の画像処理部１１０は、ステップＳ２０で補正された１４ビット精度の画像データに対して、他の補間処理、輪郭強調処理やホワイトバランス補正等の画像処理を行うとともに、ＪＰＥＧ形式やＹＵＶ形式等のファイルにして、バス１３とカードＩ／Ｆ６とを介して、カードメモリ７や記憶部９に記録して、一連の作業を終了する。
【００４２】
このように本実施形態では、電子カメラ１０で撮像された画像データを、低ビット画像生成部１０１によって、８ビット精度の画像データを生成し、その８ビット精度の画像データに基づいて、補正すべきＡＦ画素における８ビット精度の画素値を算出するとともに、ビット誤差抑制部１０８において、元の１４ビット精度の画像データから算出した画素値との差分に基づいて、８ビット精度の画素値から元の１４ビット精度に戻す際に生じるビット誤差を抑制することによって、電子カメラ１０の回路規模を抑制することができる。
【００４３】
また、第１の画素値算出部１０５が、まず、８ビット精度の画像データを用いて、ＡＦ画素の周囲の撮像画素の画素値をから、各ＡＦ画素におけるＧ成分又はＢ成分の画素値を求めているが、細い線構造の被写体の光学像がちょうどＡＦ画素の位置に結像した場合、周囲の画素から求めたＧ成分とＢ成分の画素値は、線構造をきちんと解像できない。その問題を解決するため、周囲の撮像画素の画素値を用いて求めた周囲のＷ成分と、ＡＦ画素の画素値を用いて求めたＷ成分とを用いて、周囲の光量に対するＡＦ画素位置の光量の比率を求め、それを周囲の撮像画素から求めたＧ成分及びＢ成分の画素値の平均値にかけることにより（式（１２）及び式（１７））、ＡＦ画素位置の光量が周囲とは異なる場合であっても、その位置のＧ成分及びＢ成分の光量を精度良く算出することができる。
【００４４】
また、第２の画素値算出部１０７は、１４ビット精度の画像データを処理して１４ビット精度で各ＡＦ画素の位置でのＧ成分又はＢ成分の画素値を算出するので、従来の画像処理を行うならば、第１の画素値算出部１０５での処理も１４ビット精度で行う必要がある。しかしながら、そのような複雑な演算を全て１４ビット精度で行う回路を生産するためにはコストがかかってしまう。そこで、本実施形態では、８ビット精度で行う第１の画素値算出部１０５による処理を導入することにより、コストを大幅に抑制することが可能となる。
【００４５】
ただし、低ビット化するときに６４で割って小数を切り捨てたことに起因するビット誤差により、第１の画素値Ｂ１に６４をかけて１４ビットの精度に戻した画素値は、適正値よりも０〜６３程度小さくなる。そして、画像が平坦な領域ではこの程度のビット誤差でも目立つ場合がある。そこで、本発明ではその不具合を抑制するために、第２の画素値算出部１０７とビット誤差抑制部１０８とを追加した。つまり、第２の画素値算出部１０７は、１４ビット精度で演算を行うが、周囲の２画素の平均を求めるだけの単純な演算なので回路規模は小さくて済む。細い線構造がちょうどＡＦ画素位置にある場合には、第２の画素値Ｇ２及びＢ２は正しくないが、画像が平坦な領域では正しい値となる。また、ビット誤差抑制部１０８は、１４ビット精度の第１の画素値Ｇ１′及びＢ１′を０〜６３の範囲で第２の画素値Ｇ２及びＢ２に近づくように補正した値を、各ＡＦ画素の画素値として出力する。この処理によると、画像が平坦な領域では、第２の画素値に近い値が画素値として出力されるので正しい結果が得られる。一方、細い線構造がＡＦ画素の位置にある場合では、その構造のコントラストが６３以内の範囲で失われた値が画素値として算出されるが、この程度の微小なコントラストの消失（全階調の２５６分の１）はほとんど問題にならない。
【００４６】
なお、画像方向判定部１０４が求めた画像方向情報に応じて画素値を算出することにより、公知のように画素値を精度良く計算できるが、本実施形態では第２の画素値算出部１０７の処理において、第１の画素値算出部１０５で参照した画像方向情報を共通して参照することにより、画像方向情報を有効に活用している。
≪他の実施形態≫
本発明の他の実施形態に係る電子カメラは、一の実施形態に係る電子カメラ１０と同じである。したがって、本実施形態における電子カメラとして、図１に示す一の実施形態と同じ電子カメラ１０を用い、各構成要素についての詳細な説明は省略する。
【００４７】
また、本実施形態に係る電子カメラ１０の画像処理の手順についても、図３のＣＰＵ５に基づいた記憶部９と画像処理部１２とにおける画像データのフロー、及び図４に示すステップＳ１０〜ステップＳ２１のフローチャートと基本的に同じである。ただし、本実施形態における電子カメラ１０が、一の実施形態の場合と異なる点は、以下の通りである。
【００４８】
１）本実施形態のステップＳ１１における、画像処理部１２の低ビット画像生成部１０１が、１４ビット精度の画像データから８ビット精度の画像データを生成するにあたり、８ビット精度の画素値＝２×（１４ビット精度の画素値）１／２のようにガンマ変換によって行われる。
【００４９】
２）上記ステップＳ１１におけるガンマ変換処理に伴い、ステップＳ１５及びステップＳ１６において、各ＡＦ画素におけるＧ成分及びＢ成分で８ビット精度の第１の画素値Ｇ１及びＢ１を求めるための式（１２）及び式（１７）が、それぞれ次式（１２）′及び式（１７）′に変形される。
Ｇ１（ｘ，ｙ）＝Ｇａｖｅ（ｘ，ｙ）＋Ｗ８（ｘ，ｙ）−Ｗａｖｅ（ｘ，ｙ）  …（１２）′
Ｂ１（ｘ，ｙ）＝Ｂａｖｅ（ｘ，ｙ）＋Ｗ８（ｘ，ｙ）−Ｗａｖｅ（ｘ，ｙ）  …（１７）′
即ち、一の実施形態では、掛け算と割り算で行っていた処理を、本実施形態では足し算と引き算になっている。これは、公知のようにガンマ特性を有する画素値の足し算や引き算は、線形特性を有する画素値の掛け算や割り算に対応するからである。なお、本実施形態でも、６４で割った際に、小数点以下を切り捨てるが、四捨五入しても良いし、切り上げても良い。
【００５０】
３）同じく上記ステップＳ１１におけるガンマ変換処理に伴い、ステップＳ１８及びステップＳ１９において、ビット誤差抑制部１０８は、各ＡＦ画素における画素値を、第１の画素値Ｇ１又はＢ１と第２の画素値Ｇ２又はＢ２とから求めるにあたり、各ＡＦ画素の第１の画素値Ｇ１及びＢ１から１４ビット精度の画素値Ｇ１′（ｘ，ｙ）及びＢ１′（ｘ，ｙ）を、次式（２８）及び次式（２９）を用いて算出する。
Ｇ１′（ｘ，ｙ）＝Ｇ１（ｘ，ｙ）×Ｇ１（ｘ，ｙ）／４  …（２８）
Ｂ１′（ｘ，ｙ）＝Ｂ１（ｘ，ｙ）×Ｂ１（ｘ，ｙ）／４  …（２９）
これとともに、式（２４）にて算出されるΔＧ１４のクリップされる範囲が、０〜Ｇ１（ｘ，ｙ）／２に、式（２６）にて算出されるΔＢ１４のクリップされる範囲が、０〜Ｂ１（ｘ，ｙ）／２にそれぞれ変更される。
【００５１】
このように本実施形態では、電子カメラ１０で撮像された画像データを、低ビット画像生成部１０１によって、８ビット精度の画像データを生成し、その８ビット精度の画像データに基づいて、補正すべきＡＦ画素における８ビット精度の画素値を算出するとともに、ビット誤差抑制部１０８において、元の１４ビット精度の画像データから算出した画素値との差分に基づいて、８ビット精度の画素値から元の１４ビット精度に戻す際に生じるビット誤差を抑制することによって、電子カメラ１０の回路規模を抑制することができる。
【００５２】
また、低ビット画像生成部１０１において、１４ビット精度の画像を８ビット精度の画像に変換する際、ガンマ変換を行ってからビット精度を落としている。そうすることにより、暗い（画素値が小さい）画像領域ではビット誤差が小さく、明るい（画素値が大きい）画像領域ではビット誤差が大きくなる。それに対応して、ビット誤差の補正量（クリッピング後のΔＧとΔＢ）は暗い画像領域では小さくなり、コントラストの消失も暗い画像領域では小さくなる。人間の視覚は、暗い画像領域では微小な光量の変化を感知するので、暗い画像領域におけるコントラストの消失を小さく抑えればコントラストの消失を感知しにくくなる。
≪実施形態の補足事項≫
一の実施形態及び他の実施形態では、ビット誤差の補正値を求める処理で、第２の画素値Ｇ２又はＢ２と１４ビット精度にした第１の画素値Ｇ１′又はＢ１′との差が所定範囲外（ビット誤差の範囲外）の場合には、０以下の場合には補正量を０に、６３、Ｇ（ｘ，ｙ）／２又はＢ（ｘ，ｙ）／２以上の場合には、補正量を６３、Ｇ（ｘ，ｙ）／２又はＢ（ｘ，ｙ）／２の値に設定したが、本発明はこれに限定されず、例えば、差が所定範囲外の値の場合には、補正量を全て０に設定し、差が所定範囲内の場合にはその差を補正値としても良い。そうすることによって、補正箇所のコントラストが充分高い場合には、差が所定範囲外になることによってコントラストの消失を避けることができる。
【００５３】
なお、一の実施形態及び他の実施形態では、補正係数記憶部１０６に記憶される補正係数ＫＲ、ＫＧ及びＫＢの値は、０．５〜１．２の１前後の値となるとしたが、本発明はこれに限定されず、任意の補正係数の値を状況に応じて適宜用いることができる。
【００５４】
なお、一の実施形態及び他の実施形態では、撮像された画像データは１４ビット精度を有し、低ビット画像生成部１０１によって生成される画像データは８ビット精度を有する場合について説明したが、本発明はこれに限定されない。撮像された画像のビット精度よりも第１の画素値算出部１０５の処理のビット精度を低くし、第２の画素値算出部１０７の演算精度を第１の画素値算出部１０５の処理のビット精度よりも高くすることにより、本発明の効果を得ることができる。
【００５５】
なお、一の実施形態及び他の実施形態では、ＡＦ画素の位置における画素値を算出する手順について説明したが、本発明はそれに限定されない。画素欠陥の補正や間引き読み出しによる動画のフレーム画像毎の補正など、画像を局所的に補正する処理全般について、本発明を適用することができる。なお、そのような場合において、補正対象の撮像画素の位置情報を、記憶部9の位置情報記憶部１０３に記憶させるようにすることが好ましい。
【００５６】
なお、一の実施形態及び他の実施形態では、ＡＦ画素の各々は左側又は右側からの光束を瞳分割する焦点検出用画素としたが、本発明はこれに限定されず、１つのＡＦ画素で左側及び右側からの光束を瞳分割する焦点検出用画素でも良い。
【００５７】
なお、一の実施形態及び他の実施形態では、電子カメラ１０の場合について説明したが、本発明はこれに限定されず、図１において、撮像レンズ１、撮像素子２及びＡ／Ｄ変換部３を除いて、電子カメラ等で撮像された画像を読み込む入力部を設けた画像処理装置に対しても適応可能である。
【００５８】
なお、本発明に係る画像処理装置における処理をコンピュータで実現するためのプログラムに対しても適用可能である。
【００５９】
本発明は、その精神またはその主要な特徴から逸脱することなく他の様々な形で実施することができる。そのため、上述した実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈されてはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内である。
【符号の説明】
【００６０】
１  撮像レンズ、２  撮像素子、３  Ａ／Ｄ変換部、４  バッファメモリ、５  ＣＰＵ、６  カードＩ／Ｆ、７  カードメモリ、８  操作部材、９  記憶部、１０  電子カメラ、１１  表示部、１２  画像処理部、１３  バス、１０１  低ビット画像生成部、１０２  ＡＦ画素位置設定部、１０３  位置情報記憶部、１０４  画像方向判定部、１０５  第１の画素値算出部、１０６  補正係数記憶部、１０７  第２の画素値算出部、１０８  ビット誤差抑制部、１０９  代入部、１１０  他の画像処理部
【先行技術文献】
【特許文献】
【００６１】
【特許文献１】特開２００７−２８２１０９号公報
【図１】
2010166236.tif 000003
【図２】
2010166236.tif 000004
【図３】
2010166236.tif 000005
【図４】
2010166236.tif 000006