以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が、本明細書に記載されていることを確認するためのものである。したがって、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
更に、この記載は、本明細書に記載されている発明の全てを意味するものでもない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
本発明によれば、画像処理装置を提供することができる。この画像処理装置(例えば、図5のデジタルスチルカメラ201)は、分光感度が異なる複数種類のフィルタ(例えば、RGBEの各色に対応するカラーフィルタ)を有し、複数種類の前記フィルタのうちのいずれかが画素ごとに用いられている画像センサによってモザイク画像を取得する画像取得手段(例えば、図5のCCDイメージセンサ213)と、前記画像取得手段により取得された前記モザイク画像から、前記画素ごとに前記フィルタの前記分光感度により決まる複数の色に対応する強度情報を有するカラー画像を生成する画像処理手段(例えば、図18のデモザイク処理部253)とを備え、複数種類の前記フィルタにおいては、そのうち第1のフィルタと第2のフィルタが、前記画像センサの画素格子の一方の対角方向に第1の所定の周期で交互に配置されているとともに、他方の対角方向に第1の所定の周期とは異なる第2の所定の周期で交互に配置されている。
画像処理手段は、注目画素の色の強度である注目画素色強度(例えば、Crcenter)を取得する色強度取得手段(例えば、図18の注目画素選択部282)と、前記注目画素の近傍の画素を用いて、前記注目画素と同一の第1の色(例えば、Cr)の強度と、前記第1の色とは異なる第2の色(例えば、Ce(R,G,B、またはE))の強度との組を複数個生成する生成手段(例えば、図18の粗補間処理部283)と、前記生成手段により生成された前記強度の組に基づいて、前記第1の色と前記第2の色との空間における色分布形状を推定する色分布形状推定手段(例えば、図19の統計量算出部284)と、前記色分布形状推定手段により推定された前記色分布形状と前記色強度取得手段により取得された前記注目画素色強度に基づいて、前記注目画素の前記第2の色(例えば、R,G,B、またはE)の強度を推定する強度推定手段(例えば、図21の画素強度推定部382)とをさらに含むものとすることができる。
第1の所定の周期は、第1のフィルタと第2のフィルタを1画素ごとに交互に配置するもの(例えば、図6または図7のRとBの右上がり方向の周期)であり、第2の所定の周期は、第1のフィルタと第2のフィルタを2画素ごと、または3画素ごとに交互に配置するもの(例えば、図6または図7のRとBの右下がり方向の周期)とすることができる。
画像取得手段の画像センサの複数種類のフィルタ(例えば、図6または図7に示される配列)は、第1のフィルタ(例えば、R)、第2のフィルタ(例えば、B)、および第3のフィルタ(例えば、図6のG)により構成され、第3のフィルタは、市松状に配置されている(例えば、図6または図7に示されるように配置されている)ようにすることができる。
画像取得手段の画像センサの複数種類のフィルタ(例えば、図12または図13)は、第1のフィルタ(例えば、R)、第2のフィルタ(例えば、B)、第3のフィルタ(例えば、G)、および第4のフィルタ(例えば、E)により構成され、第3のフィルタおよび第4のフィルタは、それぞれ水平方向および垂直方向に1画素おきの正方格子状に配置されている(例えば、図12または図13のように配置されている)ようにすることができる。
画像取得手段の画像センサの複数種類のフィルタ(例えば、図14または図15)は、第1のフィルタ(例えば、R)、第2のフィルタ(例えば、B)、第3のフィルタ(例えば、G)、および第4のフィルタ(例えば、E)により構成され、第3のフィルタおよび第4のフィルタは、画像センサの画像格子の一方の対角方向に第3の所定の周期(例えば、図14の場合、右上がり方向に2画素ごとの交互周期)で交互に配置されるとともに、他方の対角方向に、第3の所定の周期とは異なる第4の所定の周期(例えば、図14の場合、右下がり方向に1画素ごとの交互周期)で交互に配置されている(例えば、図14または図15に示されるように配置されている)ようにすることができる。
また、本発明によれば、画像処理方法が提供される。この画像処理方法は、分光感度が異なる複数種類のフィルタ(例えば、RGBEの各色に対応するカラーフィルタ)であって、そのうちの第1のフィルタと第2のフィルタが、前記画像センサの画素格子の一方の対角方向に第1の所定の周期で交互に配置されているとともに、他方の対角方向に第1の所定の周期とは異なる第2の所定の周期で交互に配置されている前記フィルタのうちのいずれかが画素ごとに用いられている画像センサによって撮像されたモザイク画像を取得する画像取得ステップ(例えば、図22のステップS1)と、前記画像取得ステップの処理により取得された前記モザイク画像から、前記画素ごとに、前記フィルタの前記分光感度により決まる複数の色に対応する強度情報を有するカラー画像を生成する画像処理ステップ(例えば、図22のステップS4)とを含む。
以下、図を参照して、本発明の実施の形態について説明する。
図5は、本発明を適用した演算処理を実行するデジタルスチルカメラ201の構成例を示すブロック図である。
図5に示すように、デジタルスチルカメラ201は、レンズ211、絞り212、CCD(Charge Coupled Devices)イメージセンサ213、相関2重サンプリング(CDS:Correlated Double Sampling)回路214、A/Dコンバータ215、DSP(Digital Signal Processor)ブロック216、タイミングジェネレータ217、D/Aコンバータ218、ビデオエンコーダ219、表示部220、コーデック(CODEC:COmpression/DECompression)処理部221、メモリ222、CPU223、および、操作入力部224から構成される。
CCDとは、光情報を電気信号に変換する(光電変換)半導体素子であり、CCDイメージセンサ213は、光を電気に変換する受光素子(画素)を複数個並べ、光の変化を画素ごとに独立して電気信号に変換するものである。相関2重サンプリング回路214は、CCDイメージセンサ213の出力信号に含まれるノイズのうちの主な成分であるリセットノイズを、出力の各画素信号のうち、映像信号期間をサンプリングしたものと、基準期間をサンプリングしたものとを引き算することにより除去する回路である。A/Dコンバータ215は、供給されたノイズ除去後のアナログ信号をデジタル信号に変換する。
DSPブロック216は、信号処理用プロセッサと画像用RAMを持つブロックで、信号処理用プロセッサが画像用RAMに格納された画像データに対して、予めプログラムされた画像処理、または、ハードウェアによる演算処理として構成された画像処理を行うものである。タイミングジェネレータ217は、CCDを駆動するために必要な、水平および垂直の各種駆動パルス、並びに、アナログフロント処理で用いるパルスを、基準クロックに同期して発生させるロジック回路である。また、タイミングジェネレータ217により発生されるタイミングクロックは、バス225を介して、コーデック処理部221、メモリ222、および、CPU223にも供給されている。
D/Aコンバータ218は、供給されたデジタル信号をアナログ信号に変換して出力する。ビデオエンコーダ219は、供給されたアナログ信号を、表示部220において表示可能な形式のビデオデータにエンコードする。表示部220は、例えば、LCD(Liquid Crystal Display)などで構成され、ビデオエンコーダ219から供給されたビデオ信号を表示する。
コーデック処理部221は、例えば、JPEG(Joint Picture Experts Group)などの、デジタル画像データの圧縮または伸張アルゴリズムによる処理を実行する。メモリ222は、例えば、半導体メモリ、磁気ディスク、光磁気ディスク、または、光ディスクなどにより構成され、CPU223の制御に基づいて、供給されたデータを記憶したり、または、記憶しているデータを出力する。なお、メモリ222は、デジタルスチルカメラ201に対して着脱可能なようになされていても良い。
CPU223は、バス225を介して、操作入力部224から供給されたユーザの操作入力を基に、デジタルスチルカメラ201の各部を制御する。操作入力部224は、録画を指令する場合のボタンをはじめとして、例えば、ジョグダイヤル、キー、レバー、ボタン、またはタッチパネルなどにより構成され、ユーザによる操作入力を受ける。
レンズ211および絞り212を介して入力された光は、CCDイメージセンサ213に入射され、受光素子での光電変換によって電気信号に変換され、相関2重サンプリング回路214に供給される。相関2重サンプリング回路214は、CCDイメージセンサ213の出力の各画素信号のうち、映像信号期間をサンプリングしたものと、基準期間をサンプリングしたものとを引き算することによりノイズを除去し、A/Dコンバータ215に供給する。A/Dコンバータ215は、供給されたノイズ除去後のアナログ信号をデジタル信号に変換し、DSPブロック216の画像用RAMに一時格納する。
タイミングジェネレータ217は、撮像中の状態において、一定のフレームレートによる画像取り込みを維持するように、CCDイメージセンサ213、相関2重サンプリング回路214、A/Dコンバータ215、および、DSPブロック216を制御する。
DSPブロック216は、一定のレートで画素のストリームデータの供給を受け、画像用RAMに一時格納し、信号処理用プロセッサにおいて、一時格納された画像データに対して、後述する画像処理を実行する。DSPブロック216は、画像処理の終了後、CPU223の制御に基づいて、その画像データを表示部220に表示させる場合は、D/Aコンバータ218に、メモリ222に記憶させる場合は、コーデック処理部221に画像データを供給する。
D/Aコンバータ218は、DSPブロック216から供給されたデジタルの画像データをアナログ信号に変換し、ビデオエンコーダ219に供給する。ビデオエンコーダ219は、供給されたアナログの画像信号を、ビデオ信号に変換し、表示部220に出力して表示させる。すなわち、表示部220は、デジタルスチルカメラ201において、カメラのファインダの役割を担っている。コーデック処理部221は、DSPブロック216から供給された画像データに対して、所定の方式の符号化を施し、符号化された画像データをメモリ222に供給して記憶させる。
また、コーデック処理部221は、操作入力部224からユーザの操作入力を受けたCPU223の制御に基づいて、メモリ222に記憶されているデータのうち、ユーザに指定されたデータを読み取り、所定の復号方法で復号し、復号した信号をDSPブロック216に出力する。これにより、復号された信号が、DSPブロック216を介してD/Aコンバータ218に供給され、アナログ変換された後、ビデオエンコーダ219によりエンコードされて、表示部220に表示される。
ところで、図5のCCDイメージセンサ213のオンチップカラーフィルタには、通常、3種類または4種類の色が用いられており、これらのオンチップカラーフィルタは、受光素子ごとに、交互に異なる色になるようモザイク状に配列されている。以下に、本発明を適用した3色のオンチップカラーフィルタ配列の例を、図6および図7を参照して説明する。
図6は、Gが市松配列であって、R,Bが対角に交互配置となっており、右上がり方向に1画素ごとに交互の周期、右下がり方向に2画素ごとの交互周期となっているRGB(Red,Green,Blue:赤、緑、青)の3色配列を示している。
また、図7は、Gが市松配列であって、R,Bが対角に交互配置となっており、右上がり方向に1画素ごとに交互の周期、右下がり方向に3画素ごとの交互周期となっているRGBの3色配列を示している。
図6および図7の色配列と、図1に示されるベイヤー配列のR,Bの配置とを比較すると、図6および図7に示される色配列では、どの6×6画素の局所領域をみても全ての水平および垂直ラインにRとBの両方が存在するのに対し、図1に示されるベイヤー配列ではR,Bに関して、まったく存在しない水平および垂直ラインが1ラインおきにある。したがって、ベイヤー配列では水平または垂直に0.25cycle/pixelの縞模様がある場合にはR,Bにおいてエリアシングが発生する可能性があるが、図6および図7に示されるような色配列では、0.25cycle/pixel以上の縞模様がある場合でもエリアシングが発生を抑えることができる。
次に、図6および図7の色配列と、図2に示されるランダム配列とを比較する。図2に示されるランダム配列ではR,G,Bがどこをとってもなるべく等確率でかつ非周期的に配置されるようになっている。したがって、R,Bにとってはベイヤー配列のようなエリアシングの問題がないという利点があるが、ベイヤー配列と比較すると、Gの配置がまばらであるため、輝度信号の高周波成分の再現が難しい。一方、図6および図7に示される色配列では、Gに関しては市松状に配置できるため、ベイヤー配列と同等の輝度信号を再現することができる。
次に、図6および図7の色配列と、図3および図4に示されるG市松RBランダム配列とを比較する。図6および図7の色配列と、図3および図4に示される色配列は、ともにGを市松状に配置するので、輝度信号の再現特性については同等である。また、図3および図4に示される色配列では、R,Bに非周期性を持たせているので、色度成分のエリアシングを抑えることができる。しかしながら、そのR,Bの分布は、図6および図7に示されるR,Bの分布と比較すると、局所的にみたときの均一性がよくないことがわかる。すなわち、ある水平もしくは垂直ラインをみたとき、そのラインにRもしくはBが存在しない範囲は、図3および図4に示される色配列のほうが長い。以下に、R,Bが局所的に、より均一に配置されている方が偽色低減には有利である理由を説明する。
例えば、RGBの3原色のうちのGを利用して画像の輝度信号が再現できるとして、注目画素近傍におけるGと例えばR(またはB)の2色間の色分布形状を線形回帰することによって、色が変化する物体輪郭領域などでもGとR(またはB)の間に偽色が生じないようにする場合の色分布形状の推定の様子を説明する。
図8は、2つの物体領域Aと物体領域Bにまたがった輪郭部分が含まれている画像部分の7×7画素の局所領域を示す図である。ここで、上述したようなべイヤー配列(図1)のカラーフィルタにより得られるカラー画像は3色からなるが、ここで、輪郭部分における本発明の優位性を説明するには、2色における場合について説明すれば十分なため、説明の便宜上、図8に示される画像データは、C1とC2の2色で構成されるカラー画像であるものとして説明する。
ここで、図中の物体領域Aの色を(C1A,C2A)とし、物体領域Bの色を(C1B,C2B)とする。物体領域の境目である輪郭部は、通常、ピントのボケ、画素の受光面積に起因する積分効果、光学的ローパスフィルタの存在等の理由から、両方の物体の色が混合した色になっており、その色(C1C,C2C)は、(C1C,C2C)=WA×(C1A,C2A)+WB×(C1B,C2B)とあらわすことができる。ここで、WA、WBは混合の係数である。
もし、この局所領域の全画素の色が既知であれば、各画素の色を、図9に示されるように、C1−C2空間にプロットすることができる。図9において、各画素を示す点は、ノイズや物体のテクスチャに起因する輝度変動により多少散在するものの、輪郭上の画素の色が(C1A,C2A)、(C1B,C2B)の線形和であらわされる事実から、輪郭部を含むこの領域の画素が、(C1A,C2A)、(C1B,C2B)を結ぶ直線の近辺に分布することがわかる。したがって、ある画素におけるC1強度が既知であり、そのC1強度からC2強度を推定したいとき、この(C1A,C2A)からなるプロット群と、(C1B,C2B)からなるプロット群とを結ぶ直線が得られていれば、簡単にC2強度を推定できることがわかる。
この直線は、このような局所領域内の画素値のプロットが可能であれば、それを用いてC1とC2の線形回帰式を計算することにより得られる。ところが、デモザイク処理前の段階では、各画素における既知の色は、それぞれ1つしかない。しかし、注目画素近傍におけるGと例えばR(またはB)の2色間の色分布形状を線形回帰することによって、色が変化する物体輪郭領域などでもGとR(またはB)の間に偽色が生じないようにする方法では、まず周囲にある画素を利用してC1とC2の強度の組を生成する(粗補間を実行する)ので、図9のように、画素値のC1−C2空間へのプロットを作ることが可能であり、色分布の線形回帰による正しい色強度の推定を行うことが可能なようになっている。
このように、上述した2色間の色分布形状の線形回帰に基づいた色推定方法は、ベイヤー配列における偽色低減に有効であるが、実はこの方法ではある特徴をもった画像に対しては有効でないことがわかっている。以下にそれを説明する。
図10は、画像中の0.25cycle/pixelの周期の垂直方向の縦縞模様にかかる7×7画素の局所領域を示している。ここで、縞模様の一方の色を(C1A,C2A)とする。またもう一方の色を(C1B,C2B)とする。これら2色の境界はその中間の色(C1C,C2C)となっている。ここで、この模様がベイヤー配列のセンサで撮像されたとし、C1を市松状にあるGに、C2をRに対応させる。C1は市松状に存在するため、縞模様の強度C1A,C1B,C1Cすべてを計測できる。一方、C2は水平方向に1画素おきに存在するため、縞模様の位置によって、縞模様の強度C2A,C2Bの2つを計測できるか、もしくはC2Cの1つだけを計測できるかのどちらかとなり、場合によっては縞模様のC2の色変化を計測できない場合があり得る。
そのような状況で色分布形状を推測しようとC1−C2空間に各画素の色をプロットすると、図11に示すような状態になる。C2に関してC2Cしか計測できない位置であったため、本来、破線のように色分布の回帰直線が推定されるべきところが、実線のような回帰直線が得られてしまい、正しいC2強度の推定ができない状態となる。その結果、縞模様の色は本来(C1A,C2A)から(C1B,C2B)への色変化であるべきものが、(C1A,C2C)から(C1B,C2C)への色変化と誤推定されるので、それが偽色として見えてしまう。
このように、色分布線形回帰を用いるデモザイク手法をベイヤー配列に適応した場合、図10に示されるように、垂直(または水平)の0.25cycle/pixel周期の縞模様で偽色が低減できないという問題があった。しかし、本発明を適用した色配列のオンチップカラーフィルタを用いることで、以下に説明するようにこの問題が解決できる。
例えば、図6および図7に示される3色配列を用いた場合、RとBの両方において、6×6の局所領域をとれば、その中のRとBの画素によって、図10に示される縞模様をなす色を全て計測することができる。また、上述したように、図6および図7に示される色配列ではどの場所の6×6画素の局所領域でもそれが保証されている。このように、本発明を適用した色配列(図6および図7)によれば、C1−C2空間に正しい画素情報のプロットを作ることができ、図11に破線で示される正しい回帰直線を算出することができる。もし仮に、上述した図3または図4に示される色配列を用いた場合、R,Bの局所的な均一性はあまり良くないため、たとえ色分布線形回帰を用いるデモザイク手法を適用したとしても、その偽色低減の効果を図6および図7に示されるような本発明の色配列ほどに期待できない。
なお本発明は、図6および図7に示されるような3色の色配列に限らず、例えば、RGBの3色に対して、第4の色(以下、Eと称する)を加えた4色配列に適用することもできる。本発明を適用した4色配列の例を、図12および図13に示す。
図12および図13は、図6および図7に示される3色配列のGに対して、1ラインごとにGとEとを交互に配列したものである。
すなわち、図12に示される4色配列は、R,Bが対角に交互配置となっており、右上がり方向に1画素ごとに交互の周期、右下がり方向に2画素ごとの交互周期となっている。また、図6に示される3色配列のGに対して、1ラインごとにGとEとを交互に配列している。
また、図13に示される4色配列は、R,Bが対角に交互配置となっており、右上がり方向に1画素ごとに交互の周期、右下がり方向に3画素ごとの交互周期となっている。また、図7に示される3色配列のGに対して、1ラインごとにGとEとを交互に配列している。
図12および図13に示されるようなGとEの配列であれば、上述した色分布線形回帰を用いるデモザイク手法を用いた場合、ジャギネスの少ない輝度信号を生成することが可能である。さらに、図14または図15に示されるような色配列のように、GとEに関してもR,Bのように非周期性を持たせた配置をとることができる。
ここで、CCDイメージセンサ213のオンチップカラーフィルタの4色配列について更に説明する。CCDイメージセンサ213のオンチップカラーフィルタによって得られるモザイク画像の各画素の強度は、対応するオンチップフィルタの分光特性と入射光の分光特性の積に比例する。図12および図13に示される原色系4色配列の各色の分光特性の1例を図16に示す。フィルタの分光特性は、センサ自体の分光特性およびノイズ特性、後述するリニアマトリックスの係数、フィルタに用いる材質の物理的制約等を考慮しながら注意深く設計する必要がある。本発明を適用する場合、これらのフィルタの分光感度特性に、効果が特に左右されることはないので、上述した色再現性とノイズの特性に配慮して、分光感度を設計するようにすればよい。例えば、図16では、第4の色Eの分光特性を、Gよりも短波長側にピークを持つような例を示したが、Eは、Gよりも長波長側にピークを持つ(少し黄色よりの色に見える)ような分光特性であってもかまわない。
このように、CCDイメージセンサ213のオンチップカラーフィルタに、図12および図13に示される色配列のカラーフィルタが用いられている場合、DSPブロック216の画像用RAMに一時格納されている画像は、各画素とも、R,G,B,Eのうちのいずれか1つの色しか持たない。そこで、DSPブロック216の信号処理用プロセッサは、予め組み込まれた画像処理プログラムまたはハードウェアによって、この画像を処理し、全画素において全色のデータを有する画像データを生成する。
図17は、図5のDSPブロック216の更に詳細な構成例を示すブロック図である。なお、以下においては、図14に示される4色配列のカラーフィルタを用いた場合の例について説明する。
DSPブロック216は、上述したように、画像用RAM241および信号処理用プロセッサ242で構成され、信号処理用プロセッサ242は、ホワイトバランス調整部251、ガンマ補正部252、デモザイク処理部253、ガンマ逆補正部254、マトリックス処理部255、ガンマ補正部256、および、YC変換部257で構成される。
A/Dコンバータ215によってデジタル信号に変換されたモザイク画像は、画像用RAM241に一時保存される。モザイク画像は、各画素にR、G、B、または、Eのいずれかの色に対応する強度信号、すなわち、CCDイメージセンサ213に用いられているカラーフィルタにより定められる配列(例えば、図12または図13を用いて説明した原色4色配列)の周期的なパターンの強度信号により構成されている。
ホワイトバランス調整部251は、モザイク画像に対して、無彩色の被写体領域の色バランスが無彩色になるように、各画素強度の持つ色に応じて適切な係数をかける処理(ホワイトバランスの調整処理)を実行する。ガンマ補正部252は、ホワイトバランスが調整されたモザイク画像の各画素強度に対して、ガンマ補正を行う。画像の階調の応答特性を表すために「ガンマ(γ)」という数値が使われる。ガンマ補正とは、表示部220に表示される画像の明るさや色の彩度を正しく表示するための補正処理のことである。表示部220に出力される信号は、画素ごとに特定の電圧を加えることで、画像の明るさや色が再現されるようになされている。しかしながら、実際に表示される画像の明るさや色は、表示部220が有する特性(ガンマ値)により、入力電圧を倍にしてもブラウン管の明るさが倍になるわけではない(非線形性を有する)ため、ガンマ補正部252において、表示部220に表示される画像の明るさや色の彩度が正しく表示されるように補正する処理が施される。
デモザイク処理部253は、ガンマ補正がなされたモザイク画像Mγの各画素位置にR,G,B,Eの全ての強度(強度情報)を揃えるデモザイク処理を実行する。したがって、デモザイク処理部253からの出力信号は、Rγ,Gγ,Bγ,Eγの4つの色に対応する4つの画像信号となる。ガンマ逆補正部254は、後段のマトリックス処理部255においてマトリックス処理を施すために、デモザイク後の4チャネル画像に適用したガンマ特性の逆を適用して、リニア特性に直す処理を行う。
マトリックス処理部255は、予め設定された係数による3行4列のリニアマトリックスを、供給された各画素[R,G,B,E]に適用することにより、3原色の強度値[Rm,Gm,Bm]に変換する。このマトリックス処理は、リニア特性の画像強度に対して適用する必要がある。リニアマトリックスの係数は、最適な色再現を発揮するために重要な設計項目であるが、マトリックス処理はデモザイク処理後に適用されるので、リニアマトリックス係数の具体値は、デモザイク処理とは関係なく設計することができる。マトリックス処理部255の出力は、色補正されたRm,Gm,Bmの3つの色に対応する3つの画像信号となる。
マトリックス処理後、ガンマ補正部256は、色補正された3(Rm,Gm,Bm)チャネル画像に対して再度ガンマ補正を行い、Rγ,Gγ,Bγの3チャネル画像を出力する。YC変換部257はRγ,Gγ,Bγの3チャネル画像に、マトリックス処理およびクロマ成分に対する帯域制限を行うことで、Y画像およびC画像(YCbCr画像信号)を生成し、出力する。
DSPブロック216の信号処理用プロセッサ242においては、デモザイク処理部253によるデモザイク処理の前に、ガンマ補正部252によりガンマ補正を行うものとしている。これは、ガンマ補正された非線形な画素強度空間においてデモザイク演算を実行することにより、デモザイク処理部253のデモザイク処理の信頼性をより高めることができるためである。
このような目的で適用する非線形変換は、ガンマ補正のように1より小さい指数によるべき乗変換が望ましいが、通常カラープロファイル等で用いられているsRGBガンマのように、べき乗部と線形部を組み合わせたような変換であっても、ほぼべき乗関数と同じとみなせるようなものであれば、いずれの非線形変換であってもよい。また、非線形変換を省略するようにしても、デモザイク処理の後に、ガンマ補正などの非線形変換処理を行うようにしてもよいことは言うまでもない。
さらに、デモザイク処理前に適用するガンマ補正部252のガンマ特性と、YC変換前に適用するガンマ補正部256のガンマ特性は同じである必要はない。また、もちろん、本発明を適用する上で、デモザイク処理前のガンマ補正が必須というわけではない。
図18は、全画素位置でRGBEの全ての色が存在するように、画素位置ごとに順次、そこにない色の強度を補間または推定していく処理であるデモザイク処理を実行する、図17のデモザイク処理部253の更に詳細な構成例を示すブロック図である。
なお、図18に示される各処理部では、所定の注目画素位置が決定されたときにその注目画素位置において実行する処理を説明している。そのため、実際のデモザイク処理部253の動作は、図18に示される各処理部の処理を、全画素について繰り返し実行した場合に終了される。
デモザイク処理部253は、局所領域抽出部281、注目画素選択部282、粗補間処理部283−1乃至283−4、統計量算出部284−1乃至284−4、回帰演算処理部285−1乃至285−4で構成される。
局所領域抽出部281は、デモザイク処理部253への入力であるガンマ補正されたモザイク画像(モザイク画像Mγ)から、注目画素位置周囲の決まった大きさの局所領域[Mγu,v]を切り出す。ここでは、切り出す局所領域を、注目画素位置を中心とした7×7画素の矩形領域とする。注目画素選択部282は、局所領域から注目画素、すなわち7×7画素の領域の中心にある画素を選択し、選択した注目画素位置における強度(Crcenter)を出力する。
粗補間処理部283−1乃至283−4は、7×7画素の局所領域内にある画素を用いて、局所領域内の複数の画素位置において、異なる2つの色(第1の色および第2の色)の強度の組が作れるよう、簡単な演算によって、第1の色と第2の色との画素強度の補間値(以下、ラフな補間値と称する)を、後述する補間方法を用いて算出する。ここで、第1の色は注目画素位置の画素の色と同じ色(以下、第1の色をCrと称する)であり、第2の色は4つの粗補間処理部283−1乃至283−4によって、異なる色が割り当てられる。以下、第1の色をCrと称し、第2の色をCeと称する。第2の色Ceは、粗補間処理部283−1乃至283−4の各処理部よって適宜R,G,B,Eに読み替えられる。具体的には、粗補間処理部283−1には第2の色としてRが設定され、粗補間処理部283−2には第2の色としてGが設定され、粗補間処理部283−3には第2の色としてBが設定され、粗補間処理部283−4には第2の色としてEが設定されている。すなわち、粗補間処理部283−1は、第1の色Crroughiと第2の色Rroughiの補間値の組を出力し、粗補間処理部283−2は、第1の色Crroughiと第2の色Groughiの補間値の組を出力し、粗補間処理部283−3は、第1の色Crroughiと第2の色Broughiの補間値の組を出力し、粗補間処理部283−4は、第1の色Crroughiと第2の色Eroughiの補間値の組を出力する。なお、以下において、粗補間処理部283−1乃至283−4を個々に区別する必要がない場合、粗補間処理部283と称する。
本発明においては、各画素位置におけるR,G,B,Eの強度を推定するために、2次の統計量、または、それに相当する値を計算することが必要であり、そのために、同一画素位置における各色の強度が組となって得られている必要がある。この強度の組を生成するために、粗補間処理部283は、局所領域内の複数の画素における第1の色と第2の色とのラフな推定値を算出する。
統計量算出部284−1乃至284−4は、粗補間処理部283により算出された複数の補間値の組から、それらの第1の色の平均値(Mcr)、第2の色の平均値(Mce)、第1の色の分散値(Vcrcr)、第1の色および第2の色の共分散値(Vcrce)を算出する。なお、第2の色の平均値Mceの添え字ceおよび第1の色および第2の色の共分散値Vcrceの添え字ceは、統計量算出部284−1が処理を実行する場合Rに、統計量算出部284−2が処理を実行する場合Gに、統計量算出部284−3が処理を実行する場合Bに、統計量算出部284−4が処理を実行する場合Bに、それぞれ置き換えられる。なお、以下において、統計量算出部284−1乃至284−4を個々に区別する必要がない場合、統計量算出部284と称する。
回帰演算処理部285−1乃至285−4は、注目画素選択部282から入力された注目画素位置における第1の色の強度推定値Crcenterと、統計量算出部284から入力された統計量(第1の色の平均値Mcr、第2の色の平均値Mce、第1の色の分散値Vcrcr、第1の色および第2の色の共分散値Vcrce)を用いて、線形回帰計算を行い、注目画素位置における第2の色の強度推定値Cecenterをそれぞれ算出する。なお、以下において、回帰演算処理部285−1乃至285−4を個々に区別する必要がない場合、回帰演算処理部285と称する。
図19は、図18の統計量算出部284の構成例を示すブロック図である。
統計量算出部284は、平均値算出部361、平均値算出部363、分散算出部362、および共分散算出部364によって構成されている。平均値算出部361は、粗補間処理部283が算出した、局所領域におけるラフな2色の補間値のうちの第1の色Crの値の強度値Crroughiのセットに基づき、平均値Mcrを算出する。同様に、平均値算出部363は、粗補間処理部283が算出した、局所領域におけるラフな2色の補間値のうちの第2の色Ceの値Ceroughiのセットに基づいて、平均値Mceを算出する。分散算出部362は、平均値算出部361が算出した第1の色の平均値Mcrと、局所領域における第1の色のラフな補間値Crroughiから、第1の色Crの分散値Vcrcrを算出する。共分散算出部364は、平均値算出部361が算出した第1の色の平均値Mcrと第1の色のラフな補間値Crroughi、および、平均値算出部363が算出した第2の色の平均値Mceと第2の色のラフな補間Ceroughi値から、第1の色と第2の色との共分散値Vcrceを算出する。
平均値算出部361および平均値算出部363は、例えば、次の式(1)を用いて、平均値Mc(以下において、McrおよびMceをまとめてMcと称する)を計算する。
式(1)において、Croughiは、供給された色C(R,G,B、またはE)のラフな強度補間値のi(i=1乃至N)番目のデータである。色Cは、平均値算出部361においては第1の色Crであり、平均値算出部363においては第2の色Ceである。また、wiは、i番目のデータに対する重み値(重み係数)である。
重み値wiは、i番目のデータを算出した画素位置から注目画素位置への距離などを指標として、予め設定されている値である。重み値wiは、注目画素位置に近いほど重み値が大きくなるように設定されるほうが好適である。図20に、このとき用いられる重み値の例を示す。図中、四角形は7×7の局所領域における画素位置を示し、四角形内の数字が該当する位置のデータの重み値を示す。この重みは、平均値算出部361および平均値算出部363、分散算出部362、並びに共分散算出部364で用いられる重み値の例である。
分散算出部362および共分散算出部364は、例えば、次の式(2)に示される計算式によって共分散値VC1C2を計算する。
この式において、C1roughiは、色C1のラフな強度補間値のi番目のデータ、C2roughiは色C2のラフな強度補間値のi番目のデータ、MC1は色C1の平均値、MC2は色C2の平均値である。wiはi番目のデータに対する重み値である。重み値wiは、平均値算出部361および平均値算出部363が用いたものと同じものを用いればよい。
分散算出部362においては、色C1と色C2がともに第1の色Crであり、出力VC1C2はCrの分散値Vcrcrとなる。共分散算出部364においては、色C1が第1の色Crであり、色C2が第2の色Ceであり、出力VC1C2は第1の色Crと第2の色Ceの共分散値Vcrceとなる。
式(2)を用いて説明した共分散値および分散値の計算が実行された場合、定義どおりの正確な統計量が得られる。しかしながら、式(2)の計算が実行された場合、積算が多く出現するために計算時間が長くなり、この演算をハードウェアで実現したときの回路規模が増加してしまう。そこで、より簡易な計算で、分散および共分散を算出するようにしてもよい。
例えば、分散値または共分散値の演算に、次の式(3)を用いるようにしてもよい。
式(3)において、関数sgn(a,b)は、2変数aとbの符号の一致を調べるものである。sgn(a,b)の出力は{10,−1}のうちのいずれかであるので、sgn{a,b}への積算は実際には積算を必要としない。式(3)の計算は、式(2)の計算のi番目のCr,Ceの偏差の積算を、Cr,Ceの絶対偏差の和算に置き換えたものである。このように積算を和算に置き換えても本発明の目的とする局所領域の色分布形状推定には充分な精度を有する近似値を算出することができる。
また、例えば、分散値または共分散値の演算に、次の式(4)を用いるようにしてもよい。
ここで、式(4)の計算は、式(2)の計算の各i番目のCrとCeの偏差の積算を、CrとCeの絶対偏差の最小値選択に置き換えたものである。もとの分散値または共分散値への近似精度としては、式(3)の計算より、式(4)の計算のほうが、式(2)における分散または共分散演算への近似精度がよい。
図21は、図18の回帰演算処理部285の構成例を示すブロック図である。
回帰演算処理部285は、傾き算出部381および画素強度推定部382で構成されている。
傾き算出部381は、統計量算出部284から供給される第1の色Crと第2の色Ceの共分散値Vcrceおよび第1の色の分散値Vcrcrに基づいて、Cr−Ceの色分布の傾きKを算出する。具体的には、傾き算出部381は、式(5)に示されるように分散、共分散値の比率Kを演算する。
式(5)において、Vthresholdは、ゼロで除算することによって値が発散するのを回避するための定数であり、十分に小さい正の値が予め設定される。式(5)におけるVthresholdを用いて、分母のC1の分散をクリップすることにより、ゼロによる除算を回避することができるが、Vthresholdを用いたクリッピングは、更に、画像の平坦部分におけるノイズを低減するために活用することができる。
画素強度推定部382は、統計量算出部284から供給される第1の色Crの平均値Mcrおよび第2の色Ceの平均値MCe、傾き算出部381により算出された分散、共分散値の比率K、並びに注目画素選択部282から供給された注目画素位置における第1の色の強度推定値Crcenterに基づいて、注目画素位置の第2の色Ceの強度推定値Cecenterを算出する。具体的には、画素強度推定部382は、式(6)に示されるように、注目画素位置の第2の色Ceの推定値C2centerを算出する。
式(6)において、C1center、および、C2centerは、それぞれ、注目画素位置の第1の信号に対応する色C1(すなわち第1の色Cr)の強度、および、注目画素位置の第2の信号に対応する色C2(すなわち第2の色Ce)の強度推定値である。なお、Kは、上述した数(5)により算出された値を用いる。
次に、図22のフローチャートを参照して、図5のDSPブロック216の処理について説明する。
ステップS1において、画像用RAM241は、CCDイメージセンサ213に用いられているカラーフィルタにより定められる配列(例えば、図14を用いて説明した4色配列)の周期的なパターンの強度信号により構成されるモザイク画像を取得して、一時保存する。
ステップS2において、信号処理用プロセッサ242のホワイトバランス調整部251は、モザイク画像に対して、無彩色の被写体領域の色バランスが無彩色になるように、各画素強度の持つ色に応じて適切な係数をかける処理であるホワイトバランス調整処理を行う。
ステップS3において、ガンマ補正部252は、ホワイトバランスがとられたモザイク画像の各画素強度に対し、表示部220に表示される画像の明るさや色の彩度が正しく表示されるように、第1のガンマ補正を行う。ガンマ補正部252は、モザイク信号Mγを出力する。
ステップS4において、デモザイク処理部253により、図23を用いて後述するデモザイク処理が実行される。
ステップS5において、ガンマ逆補正部254は、デモザイク処理部253からの出力であるRγ,Gγ,Bγ,Eγの4チャネル画像に適用したガンマ特性の逆を適用してガンマ逆補正処理を施し、ガンマ特性をリニア特性に直す処理を行う。
ステップS6において、マトリックス処理部255は、係数が予め設定された3行4列のリニアマトリックスを、ガンマ逆補正部254から供給されたR,G,B,Eの4チャネル画像に適用し、3原色の強度値[Rm,Gm,Bm]に変換する。このマトリックス処理は、リニア特性の画像強度に対して適用する必要があるので、その処理の前段において、ガンマ逆補正部254によりガンマ逆補正が施される必要がある。リニアマトリックスの係数は、最適な色再現を発揮するために重要な設計項目であり、マトリックス処理はデモザイク処理後に適用されるので、マトリックス処理部255により用いられるリニアマトリックス係数は、適宜設計される値であってよい。マトリックス処理部255の出力は、色補正されたRm,Gm,Bmの3つの色に対応する3つの画像となる。
ステップS7において、ガンマ補正部256は、色補正された3チャネル画像に対して第2のガンマ補正を行う。ガンマ補正部256は、Rγ,Gγ,Bγの3つの色に対応する3つの画像を出力する。
YC変換部257は、ステップS8において、ガンマ補正部256から供給される、Rγ,Gγ,Bγの3チャネル画像に、YCマトリックス処理およびクロマ成分に対する帯域制限を行とで、YC変換を行い、Y画像およびC画像を生成し、ステップS9において、生成したY画像およびC画像を出力し、処理が終了される。
このような処理により、DSPブロック216は、供給されたモザイク画像信号に対して、各種処理を施して、Y画像およびC画像を生成し、CPU223の制御に基づいて、その画像データを表示部220に表示させる場合は、D/Aコンバータ218に、メモリ222に記憶させる場合は、コーデック処理部221に供給する。
次に、図23のフローチャートを参照して、図22のステップS4において実行されるデモザイク処理について説明する。
局所領域抽出部281は、ステップS21において、未処理の画素のうちのいずれかを注目画素とし、ステップS22において、注目画素位置の周辺の所定数(n×n、ここでは7×7)の画素を、局所領域として抽出し、注目画素選択部282および粗補間処理部283のそれぞれに供給する。
ステップS23において、注目画素選択部282は、局所領域抽出部281から供給された局所領域から注目画素(すなわち7×7画素の領域の中心にある画素)を選択し、選択した注目画素位置における強度(Crcenter)を回帰演算処理部285のそれぞれに出力する。
ステップS24において、図24のフローチャートを用いて後述する局所領域内の複数位置で処理画素位置の色Cr(第1の色Cr)とCe(第2の色Ce)の強度の組を算出処理が実行される。この処理は、図18の粗補間処理部283のそれぞれにおいて並行して実行される。
ステップS25において、統計量算出部284は、第1の色Crと第2の色Ceの色分布形状に関する統計量を算出する。この処理は、図18の統計量算出部284のそれぞれにおいて並行して実行される。なお、この処理の詳細は、図25を参照して後述する。
ステップS26において、回帰演算処理部285は、ステップS24で算出された第1の色Crと第2の色Ceの色分布形状の統計量、ステップS23で供給された注目画素位置における強度Crcenterに基づいて、注目画素位置のCe推定値を算出する。
ステップS27において、局所領域抽出部281は、全ての画素において処理が終了したか否かを判断する。ステップS27において、全ての画素において処理が終了していないと判断された場合、処理は、ステップS21に戻り、それ以降の処理が繰り返される。ステップS27において、全ての画素において処理が終了したと判断された場合、処理は、図22のステップS5に進む。
換言すれば、デモザイク処理部253を構成する各部は、ある注目画素位置が決定されたときにその注目画素位置においてそれぞれの処理を実行し、全画素において、ステップS21乃至ステップS26の処理が終了された場合、処理が終了される。
このような処理により、CCDイメージセンサ213が有するカラーフィルタの配列に基づいて得られるモザイク画像をデモザイク(色補間、または、同時化)して、各画素において、カラーフィルタを構成する各色が補間された画像データを得ることができる。
次に、図24のフローチャートを参照して、図23のステップS24において実行される局所領域内の複数位置で処理画素位置の色Cr(第1の色Cr)とCe(第2の色Ce)の強度の組を算出する処理について説明する。
ここで、粗補間処理部283−1は、注目画素位置の画素と同じ色を第1の色Crとし、注目画素位置に隣接する画素位置のRを第2の色Ceとして選択する。粗補間処理部283−2は、注目画素位置の画素と同じ色を第1の色Crとし、注目画素位置に隣接する画素位置のGを第2の色Ceとして選択する。粗補間処理部283−3は、注目画素位置の画素と同じ色を第1の色Crとし、注目画素位置に隣接する画素位置のBを第2の色Ceとして選択する。粗補間処理部283−4は、注目画素位置の画素と同じ色を第1の色Crとし、注目画素位置に隣接する画素位置のEを第2の色Ceとして選択する。すなわち、以下の処理において、第2の色Ceは、粗補間処理部283−1乃至283−4の各処理部よって適宜R,G,B,Eに読み替えられる。
粗補間処理部283は、ステップS41において、供給された局所領域の画素のうち、処理を実行する画素位置を示す第1のレジスタの値sを初期化して、s=2とし、ステップS42において、供給された局所領域の画素のうち、処理を実行する画素位置を示す第2のレジスタの値tを初期化して、t=2とする。
ステップS43において、粗補間処理部283は、画素位置(s、t)の色が第1の色Crと同じであるか否かを判定する。すなわち、この処理では、画素位置(s、t)が注目画素の色(第1の色Cr)と同じであるか否かが判定されている。
ステップS43において、画素位置(s、t)の色が第1の色Crと同じであると判定された場合、ステップS44において、粗補間処理部283は、画素位置(s、t)と、その周辺8画素位置の計9画素を調べ、その中から第2の色Ceがあれば、Ceの強度と画素位置(s、t)のCrの強度との組を作る。例えば、図14に示される色配列であった場合、任意の画素位置においてそのような組み合わせは必ず1乃至3存在するため、色がCrである1つの画素位置(s、t)に当たり、1つ、2つ、または3つのCrとCeの強度の組が生成される。
例えば、図14において注目画素の色(第1の色Cr)をRとすると、粗補間処理部283−1は、第1の色Cr(ここでは画素位置(s、t)の色R)と、第2の色Ce(粗補間処理部283−1においては、R)の組を作る。このとき、処理画素のRに隣接するRは2つであるので、2組のCe強度とCr強度の組が作成される。また、粗補間処理部283−2は、第1の色Cr(ここでは画素位置(s、t)の色R)と、第2の色Ce(粗補間処理部283−2においては、G)の組を作る。このとき、処理画素のRに隣接するGは2つであるので、2組のCe強度とCr強度の組が作成される。さらに、粗補間処理部283−3は、第1の色Cr(ここでは画素位置(s、t)の色R)と、第2の色Ce(粗補間処理部283−3においては、B)の組を作る。このとき、注目画素のRに隣接するBは3つであるので、3組のCe強度とCr強度の組が作成される。また、粗補間処理部283−4は、第1の色Cr(ここでは画素位置(s、t)の色R)と、第2の色Ce(粗補間処理部283−4においては、E)の組を作る。このとき、注目画素のRに隣接するEは2つであるので、2組のCe強度とCr強度の組が作成される。このように、図14に示される色配列であった場合、色がCrである1つの画素位置(s、t)に当たり、1つ、2つ、または3つのCrとCeの強度の組が生成される。
ステップS44の処理の後、または、ステップS43において、画素位置(s、t)の色が第1の色Crと同じでない(異なる)と判定された場合、ステップS45において、粗補間処理部283は、第2のレジスタの値tを参照し、t=n−1であるか否かを判断する。
ステップS45において、t=n−1ではないと判断された場合、ステップS46において、粗補間処理部283は、第2のレジスタの値tをt=t+1とする。その後、処理はステップS43に戻り、それ以降の処理が繰り返される。
ステップS45において、t=n−1であると判断された場合、ステップS47において、粗補間処理部283は、第1のレジスタの値sを参照し、s=n−1であるか否かを判断する。
ステップS47において、s=n−1ではないと判断された場合、ステップS48において、粗補間処理部283は、第1のレジスタの値sをs=s+1とする。その後、処理はステップS42に戻り、それ以降の処理が繰り返される。
ステップS47において、s=n−1であると判断された場合、ステップS49において、粗補間処理部283は、ステップS44の処理の繰り返しにより全画素位置で算出した補間値の組を出力し、処理が終了される。
このような処理により、粗補間処理部283は、注目画素付近の画素から、注目画素位置と同じ色である第1の色Crと第2の色Ceとの画素強度の補間値(ラフな補間値)を、算出することができる。
次に、図25のフローチャートを参照して、図23のステップS25において実行されるCrとCeの色分布形状に関する統計量算出処理について説明する。
ステップS91において、統計量算出部284の平均値算出部361は、粗補間値処理部283から供給された粗補間値のうちの、第1の信号(Crroughi)を取得する。
ステップS92において、平均値算出部361は、図26または図27のフローチャートを用いて後述する平均値計算処理を実行する。
ステップS93において、平均値算出部363は、粗補間値処理部283から供給された粗補間値のうちの、第2の信号(Ceroughi)を取得する。
ステップS94において、平均値算出部363は、図26または図27のフローチャートを用いて後述する平均値計算処理を実行する。
ステップS95において、分散算出部362は、図32または図33のフローチャートを用いて後述する、分散計算処理を実行する。
ステップS96において、共分散算出部364は、図34のフローチャートを用いて後述する、共分散近似計算処理を実行する。
これにより、第1の色Crと第2の色Ceの色分布形状に関する統計量を算出することができる。
次に、図26のフローチャートを参照して、図25のステップS92またはステップS94において実行される平均値計算処理1について説明する。
ステップS111において、平均値算出部361または平均値算出部363は、演算結果である平均値Mx(平均値Mxの添え字xは、第1の色Crの平均値が算出される場合Crに、第2の色Ceの平均値が算出される場合Ceに、それぞれ置き換えられる)を初期化する。
ステップS112において、平均値算出部361または平均値算出部363は、取得した補間値を合計する。
ステップS113において、平均値算出部361または平均値算出部363は、ステップS112において算出された合計値を、取得した値の数で除算する。
ステップS114において、平均値算出部361または平均値算出部363は、ステップS113の処理により算出された除算結果を出力する。
また、平均値を求める場合、粗補間された第1の色Crおよび第2の色Ce(第1の色Crと第2の色Ceの組)のそれぞれの強度に、注目画素からの距離により、重み付けを施して、重み付けが施されたRGBE強度を基に、平均値を求めるようにしても良い。
次に、図27のフローチャートを参照して、図25のステップS92またはステップS94において実行される平均値計算処理2について説明する。
ステップS121において、平均値算出部361または平均値算出部363は、演算結果である平均値Mx(平均値Mxの添え字xは、第1の色Crの平均値が算出される場合Crに、第2の色Ceの平均値が算出される場合Ceに、それぞれ置き換えられる)を初期化する。
ステップS122において、平均値算出部361または平均値算出部363は、取得した補間値に、例えば、図20に示されるような重み付けを施し、重み付けられた値を合計する。
重み値wiは、i番目のデータの位置から注目画素位置への距離などを指標に予め設定されている値である。重み値wiは、例えば上述した図20に示されるように、注目画素位置に近いほど重み値が大きくなるように設定されるほうが好適である。
ステップS123において、平均値算出部361または平均値算出部363は、重み付けの総和を演算する。
ステップS124において、平均値算出部361または平均値算出部363は、上述した式(1)を演算する。すなわち、ステップS124において、平均値算出部361または平均値算出部363は、ステップS122において算出された合計値を、取得した値の数と、ステップS123において算出された重み付けの総和との積で除算する。
ステップS125において、平均値算出部361または平均値算出部363は、ステップS124の処理により算出された除算結果を出力する。
このような処理により、式(1)を用いて説明した重み付け平均の演算が実行される。
次に、図28のフローチャートを参照して、図25のステップS95において実行される分散計算処理1について説明する。
ステップS141において、統計量算出部284の分散算出部362は、演算結果であるとして出力する分散値Vxx(ここでは、第1の色Crの分散値であるのでVCrCrに置き換えられる。以下、省略する)を初期化する。
ステップS142において、分散算出部362は、平均値算出部361により算出された第1の信号の平均値Mx(ここでは、Mxの添え字xは、Crに置き換えられる。以下、省略する)を取得する。
分散算出部362は、ステップS143において、局所領域のうちの一部の画素の粗補間値の供給を受け、そのうち、処理を実行する画素位置を示す第1のレジスタの値s'を初期化して、s'=1とし、ステップS144において、局所領域のうちの一部の画素の粗補間値のうち、処理を実行する画素位置を示す第2のレジスタの値t'を初期化して、t'=1とする。
ステップS145において、分散算出部362は、画素(s’,t’)の強度X(すなわち、Crroughi、以下、省略する)から、ステップS142において取得された平均値MCrを減算し、減算結果を2乗して、現在の分散値VCrCrに加えた値を、分散値VCrCrとして更新する。すなわち、分散算出部362は、VCrCr=VCrCr+(|画素(s’,t’)の強度X−平均値MCr|)2を演算する。分散算出部362は、この演算において、画素(s’,t’)の強度Xに対して、例えば、図20を用いて説明したような重み付けを施すようにしても良い。
ステップS146において、分散算出部362は、処理を実行する画素位置を示す第2のレジスタの値t'を参照し、t'=n−2であるか否かを判断する。
ステップS146において、t'=n−2ではないと判断された場合、ステップS147において、分散算出部362は、第2のレジスタの値t'を、t'=t'+1に更新して、処理は、ステップS145に戻り、それ以降の処理が繰り返される。
ステップS146において、t'=n−2であると判断された場合、ステップS148において、分散算出部362は、処理を実行する画素位置を示す第1のレジスタの値s'を参照し、s'=n−2であるか否かを判断する。
ステップS148において、s'=n−2ではないと判断された場合、ステップS149において、分散算出部362は、第1のレジスタの値s'を、s'=s'+1に更新して、処理は、ステップS144に戻り、それ以降の処理が繰り返される。
ステップS148において、s'=n−2であると判断された場合、ステップS150において、分散算出部362は、局所領域のうちの一部の粗補間値の分散値VCrCrを出力し、処理は、図25のステップS96に進む。
分散値の算出は、定義上では、(|画素(s’,t’)の強度X−平均値MCr|)2を分散値の演算に用いた画素の数で除算する必要があるが、分散値の算出結果は、後述する処理により、共分散値の算出結果の除算に用いられるため、共分散値の算出においても同数で除算される場合は、除算処理を、分散値の演算および共分散値の演算の両方にて省略することが可能である。
なお、分散値の算出において、重み付けが施された場合、式(2)を用いて説明した分散値の定義に示されるように、(|画素(s’,t’)の強度X−平均値MCr|)2を重み係数の総和で除算することにより、分散値を算出することができる。しかしながら、分散値の算出結果は、後述する処理により、共分散値の算出結果の除算に用いられるため、共分散値の算出においても重み付けが施されているときは、重み係数の総和での除算処理を、分散値の演算および共分散値の演算の両方にて省略することが可能である。
また、図28を用いて説明した分散計算処理1においては、2乗の計算があるため、演算処理に時間がかかったり、ハードウェアの規模が大きくなるという問題が発生する。そこで、近似計算により2乗の計算を省略するようにしても良い。
次に、図29のフローチャートを参照して、近似計算により2乗の計算を省略する場合に、図25のステップS95において実行される分散計算処理2について説明する。
ステップS171乃至ステップS174においては、図28を用いて説明したステップS141乃至ステップS144と同様の処理が実行される。
ステップS175において、分散算出部362は、画素(s’,t’)の強度Xから、ステップS172において取得された平均値MCrを減算し、減算結果を2乗して、現在の分散値VCrCrに加えた値を、分散値VCrCrとして更新する。すなわち、分散算出部362は、VCrCr=VCrCr+(|画素(s’,t’)の強度X−平均値MCr|)を演算する。分散算出部362は、この演算において、画素(s’,t’)の強度Xに対して、例えば、図20に示されるように、平均値の演算と同様の重み付けを施すようにしても良い。
値|p|が正規化され、0≦|P|<1が成り立っているとき、p2は|p|で近似することが可能である。これは、式(3)または式(4)を用いて、式(2)に示される共分散の演算に対する近似演算が可能であることと同様である。
そして、ステップS176乃至ステップS180においては、図28を用いて説明したステップS146乃至ステップS150と同様の処理が実行され、処理は、図25のステップS96に進む。
このように、式(3)または式(4)を用いて、式(2)に示される共分散の演算に対する近似演算を行う場合と同様の近似演算処理により、分散値の演算に必要な2乗の計算を省略した近似演算により、分散値の近似値を求めることが可能となる。
次に、図30のフローチャートを参照して、図25のステップS96において実行される、共分散計算処理について説明する。
ステップS201において、共分散算出部364は、出力される値である共分散値Vxy(ここでは、第1の色Crと第2の色Crとの共分散値であるのでVCrCeに置き換えられる。以下、省略する)を初期化する。
ステップS202において、共分散算出部364は、平均値算出部361による図25のステップS92の処理により算出された第1の信号の平均値MCr、および、平均値算出部363による図25のステップS94の処理により算出された第2の平均値MCeを取得する。
ステップS203において、共分散算出部364は、局所領域のうちの一部の画素の粗補間値の供給を受け、そのうち、処理を実行する画素位置を示す第1のレジスタの値s'を初期化して、s’=1とする
ステップS204において、共分散算出部364は、局所領域のうちの一部の画素の粗補間値のうち、処理を実行する画素位置を示す第2のレジスタの値t'を初期化して、t’=1とする
ステップS205において、図32または図33を用いて後述する積算処理が実行される。
ステップS206において、共分散算出部364は、処理を実行する画素位置を示す第2のレジスタの値t'を参照し、t’=n−2であるか否かを判断する。
ステップS206において、t'=n−2ではないと判断された場合、ステップS207において、共分散算出部364は、第2のレジスタの値t'を、t'=t'+1に更新して、処理は、ステップS205に戻り、それ以降の処理が繰り返される。
ステップS206において、t'=n−2であると判断された場合、ステップS208において、共分散算出部364は、処理を実行する画素位置を示す第1のレジスタの値s'を参照し、s'=n−2であるか否かを判断する。
ステップS208において、s'=n−2ではないと判断された場合、ステップS209において、共分散算出部364は、第1のレジスタの値s'を、s'=s'+1に更新して、処理は、ステップS204に戻り、それ以降の処理が繰り返される。
ステップS208において、s'=n−2であると判断された場合、ステップS209において、共分散算出部364は、共分散値VCrCeを出力して、処理は、終了される。
共分散値の算出は、定義上では、(|画素(s’,t’)の強度X−平均値MCr|)(|画素(s’,t’)の強度y−平均値MCe|)を、共分散値の演算に用いた画素の数で除算する必要があるが、共分散値の算出結果は、後述する処理により、分散値の算出結果で除算されるため、分散値の算出においても同数で除算される場合は、除算処理を、分散値の演算および共分散値の演算の両方にて省略することが可能である。
なお、共分散値の算出において、重み付けが施された場合、式(2)を用いて説明した分散値の定義に示されるように、(|画素(s’,t’)の強度X−平均値MCr|)(|画素(s’,t’)の強度y−平均値MCe|)を重み係数の総和で除算することにより、共分散値を算出することができる。しかしながら、共分散値の算出結果は、後述する処理により、分散値の算出結果で除算されるため、分散値の算出においても重み付けが施されているときは、重み係数の総和での除算処理を、分散値の演算および共分散値の演算の両方にて省略することが可能である。
上述した図30の共分散計算処理のステップS205において実行される積算処理には、上述した式(2)を用いて、定義どおり、共分散値が算出される場合に実行される積算処理1と、近似演算を用いて共分散値が算出される場合に実行される積算処理2との、2種類の処理がある。
次に、図31のフローチャートを参照して、図30のステップS205において実行される積算処理1について説明する。積算処理1は、上述した式(2)を用いて、定義どおり、共分散値が算出される場合に実行される処理である。
ステップS221において、共分散算出部364は、(第1の信号の画素(s’,t’)の強度X−第1の信号の平均値MCr)と、(第2の信号の画素(s’,t’)の強度Y(すなわち、Ceroughi。以下、省略する)−第2の信号の平均値MCe)の積を演算する。
ステップS222において、共分散算出部364は、VCrCe=VCrCe+wi(積算結果)とし、処理は、図30のステップS206に進む。ここで、wiは、画素(s’,t’)における重み付けの値である。
このような積算処理が実行されることにより、上述した式(2)を用いて、定義どおり、共分散値が算出される。積算処理1が実行された場合、定義どおりの演算であるので、その演算結果は、非常に精度の高いものであるが、そのかわり、演算に時間がかかったり、ハードウェア実装におけるゲート数の増加を招いてしまう。
次に、図32のフローチャートを参照して、図30のステップS205において実行される積算処理2について説明する。積算処理2は、上述した式(3)または式(4)を用いて、近似された共分散値が算出される場合に実行される処理である。
ステップS241において、共分散算出部364は、{第1の信号の画素(s’,t’)の強度X−第1の信号の平均値MCr}をpとする。
ステップS242において、共分散算出部364は、{第2の信号の画素(s’,t’)の強度Y−第2の信号の平均値MCe}をqとする。
ステップS243において、図33、または、図34を用いて後述する積算近似処理が実行される。
ステップS244において、共分散算出部364は、VCrCe=VCrCe+(pqの近似値)とし、処理は、図30のステップS206に進む。
次に、図33のフローチャートを参照して、図32のステップS243において実行される積算近似処理1について説明する。積算近似処理1は、上述した式(4)を用いて、近似された共分散値が算出される場合に実行される処理である。
ステップS261において、共分散算出部364は、図32のステップS241およびステップS242において置き換えられた値pおよびqを用いて、|p|≧|q|であるか否かを判断する。
ステップS261において、|p|≧|q|であると判断された場合、ステップS262において、共分散算出部364は、p≧0であるか否かを判断する。
ステップS262において、p≧0であると判断された場合、ステップS263において、共分散算出部364は、pqの近似値=+qとし、処理は、図32のステップS244に進む。
ステップS262において、p≧0ではないと判断された場合、ステップS264において、共分散算出部364は、pqの近似値=−qとし、処理は、図32のステップS244に進む。
ステップS261において、|p|≧|q|ではないと判断された場合、ステップS265において、共分散算出部364は、q≧0であるか否かを判断する。
ステップS265において、q≧0であると判断された場合、ステップS266において、共分散算出部364は、pqの近似値=+pとし、処理は、図32のステップS244に進む。
ステップS265において、q≧0ではないと判断された場合、ステップS267において、共分散算出部364は、pqの近似値=−pとし、処理は、図32のステップS244に進む。
この処理において、qまたはpが0である場合、pqの近似値は必ず0となる。具体的には、qが0であるとき、|p|≧|q|は必ず成り立つので、pの値に関わらず、pqの近似値は0となる。また、pが0であるとき、|p|≧|q|は必ず成り立たないので、qの値に関わらず、pqの近似値は0となる。
図33を用いて説明した処理により、上述した式(3)を用いて、共分散値を近似することが可能である。
次に、図34のフローチャートを参照して、図32のステップS243において実行される積算近似処理2について説明する。積算近似処理2は、上述した式(4)を用いて、近似された共分散値が算出される場合に実行される処理である。
ステップS281において、共分散算出部364は、図32のステップS241およびステップS242において置き換えられた値pおよびqを用いて、pまたはqが0であるか否かを判断する。
ステップS281において、pまたはqが0であると判断された場合、ステップS281において、共分散算出部364は、pqの近似値を0とし、処理は、図32のステップS244に進む。
ステップS281において、pおよびqはいずれも0ではないと判断された場合、ステップS283において、共分散算出部364は、pおよびqの関係は、p>0かつq>0、または、p<0かつq<0のうちのいずれか一方であるか否かを判断する。
ステップS283において、pおよびqの関係は、p>0かつq>0、または、p<0かつq<0のうちのいずれか一方であると判断された場合、ステップS284において、共分散算出部364は、pqの近似値を(|p|+|q|)/2とし、処理は、図32のステップS244に進む。
テップS283において、pおよびqの関係は、p>0かつq>0、または、p<0かつq<0のうちのいずれでもないと判断された場合、ステップS285において、共分散算出部364は、pqの近似値を、(−|p|−|q|)/2とし、処理は、図32のステップS244に進む。
なお、図32のステップS241およびステップS242において置き換えられた値pまたはqが、0の値を取ることは、信号の種類によってはまれな場合がある。そこで、ステップS281およびステップS282の処理を省略するようにしてもよい。このようにすることにより、演算処理速度を高速化したり、ハードウェアの実装規模を縮小するようにすることが可能である。
図34を用いて説明した処理により、上述した式(4)を用いて、共分散値を近似することが可能である。
図32乃至図34を用いて説明した積算処理が実行されることにより、上述した式(3)または式(4)を用いて、共分散値を近似することが可能である。このようにした場合、式(2)に示される定義どおりの共分散値の演算が実行された場合と比較して、計算速度が高速化されたり、計算のために実装されるハードウェアのゲート数を少なくすることができるなどの利点が発生する。
次に、図35のフローチャートを参照して、図16の回帰演算処理部643において実行される、補間画素推定処理について説明する。
ステップS291において、傾き算出部381は、上述した式(5)を用いて、分散値および共分散値に基づく傾きKを算出する。
ステップS292において、画素強度推定部382は、ステップS291において算出された傾きK、2つの平均値MCrおよびMCe、並びに、注目画素位置における第1の色の強度推定値Crcenterに基づいて、上述した式(6)の線形回帰式を用いて、注目画素位置の第2の色Ceの推定値強度推定値C2centerを算出し、処理が終了される。
このような処理により、注目画素位置の各色の推定強度を算出することができる。
以上の処理により、デモザイク処理部253は、各画素位置において、R,G,B,Eの強度推定値を算出する。本発明では、フィルタ色のうちの2つの色に対して、その周期性を崩すと同時に、それらの色が全水平および垂直ラインになるべく均一に存在するような色配列を採用しているため、色モアレと偽色の低減に好適な信号のサンプリングが可能となる。
また、本発明においては、色分布の線形回帰を利用したデモザイク手法を用いている。このデモザイク手法は各色の配置に性能が依存しにくいという特徴を持っているので、非周期性を持たせた本発明の色配列にも適用でき、色度信号の高周波成分まで高精細に再現することが可能であり、偽色をより低減させる効果がある。
このように、色度信号のエリアシングによって生じる色モアレと偽色の2つ現象の両方を解決し、いままで以上に高画質な出力画像を提供することができる。
また本発明では、画素ごとに、分光感度(色)が異なる複数種類のフィルタのうちどれか1つを貼るようにしてつくった画像センサと、その画像センサによって得られたモザイク画像から、全画素で全色がそろうようなカラー画像を生成する図18のデモザイク処理部253を備える画像処理装置において、画像センサの色フィルタ配列は、第1の色C1と第2の色C2が、画像センサの画素格子の一方の対角方向に、ある周期で交互に配置され、C1とC2が、他方の対角方向に、異なる周期で交互に配置される。このように、規則的な配列であっても、C1、C2が全水平および垂直ラインにうまく均一に存在するようにすれば、ランダム配列と同様にエリアシング低減の効果を出すことが可能である。また規則的な配列であればそのパターンをROM(Read Only Memory)などで記憶する必要はなく、簡単なロジックかまたはテーブルによって各画素の色が何かを算出できるという利点もある。
さらに、全画素で全色がそろうようなカラー画像を生成する図18のデモザイク処理部253には、注目画素位置のある色Cr(Ci(i=1,2,3・・・))の強度Crcenterを取得する注目画素選択部282と、注目画素位置の周囲にある画素を用いて、色Cr(Ci)とCe(Cj(j=1または2,jとiは異なる)の強度の組を複数個生成する粗補間処理部283−1乃至283−4と、Cr(Ci)とCe(Cj)の強度の組から、注目画素位置近傍の色のCr−Ce(Ci−Cj)空間における色分布形状を推定する統計量算出部284−1乃至284−4と、色分布形状と注目画素位置のCr(Ci)強度Crcenterに基づいて、注目画素位置のCe(Cj)強度を推定する回帰演算処理部285−1乃至285−4を有している。このような構成をとることによって、色分布線形回帰を用いるデモザイク処理をおこなうことが可能となる。色分布線形回帰を用いるデモザイク処理は色配列に対する制約がゆるいので、本発明の色配列にも適用可能である。このデモザイク処理によって偽色低減の効果を得ることができる。さらに、本発明の色配列ではC1,C2が全水平および垂直ラインにうまく均一に存在するようになるので、ベイヤー配列のR,Bで解決できていなかった、0.25cycle/pixel周期の縞模様で偽色効果が小さいという問題を解決することができる。
また、2つ対角方向の色C1とC2の周期は、そのうち一方が1画素ごとに交互であり、他方が2画素ごと、もしくは3画素ごとに交互である。このように、交互配置の周期をとることによって、C1およびC2の均一性が大きくなり、エリアシング低減の効果をなるべく大きくすることができる。
さらに、複数種類の色フィルタの配列は、C1,C2,C3の3色からなる配列であって、対角に交互に配置されないC3は市松状に配置される。このように、C3を市松状にすることによって、C3に関しては高周波成分の再現が容易にできるようにする。例えばC1をR、C2をB、C3をGとした場合、Gを用いて画像の輝度信号の高周波成分が正しく再現でき、対角方向に異なる周期で交互に配置されるRとBによって色度信号のエリアシングも低減され、高品質な画像出力を得ることができる。
また、複数種類の色フィルタの配列は、C1,C2,C3,C4の4色からなる配列であって、対角に交互に配置されるC1およびC2とは異なる色C3およびC4は、それぞれ水平垂直方向に1画素おきの正方格子状に配置される。このように、4色配列においても本発明は適用可能である。例えばC1をR、C2をB、C3をG、C4をGに類似した分光感度のフィルタ色を選択すれば、C3とC4の間の相関の強さを利用した高品質な輝度信号再現が可能となり、対角方向に異なる周期で交互に配置されるRとBによって色度信号のエリアシングも低減される。
さらに、複数種類の色フィルタの配列は、C1,C2,C3,C4の4色からなる配列であって、対角に交互に配置されるC1およびC2とは異なる色C3およびC4は、C3とC4が画像センサの画素格子の一方の対角方向に、ある周期で交互に配置され、C3とC4が、他方の対角方向に、異なる周期で交互に配置される。このように、4色配列の2組の2色の組み合わせの両方に本発明を適用することができる。例えばC1をR、C2をBとし、C3をGとし、C4をGに類似した分光感度のフィルタ色を選択すれば、C3とC4の間の相関の強さを利用して画像の輝度信号を再現するときに、本発明の特徴を活かして輝度信号のエリアシングを低減することが可能になる。
上述したデモザイク処理部253の構成および動作は、本発明を適用した色配列のバリエーションである図12、図13および図15にも適用することができる。また、RGBの3色配列である図6および図7においても、単純にE強度の推定に関する処理を省略するだけで、適用することができる。
なお、RGBの3色配列である図6および図7では、Gが市松状に配置されているので、従来からあるベイヤー配列(図1)でG強度を補間する技術を用い、RとBの強度推定に関して上記の処理を適用するようにしてもかまわない。また、RGBEの4色配列である図12および図13では、GとEが水平および垂直に1ラインごとに配置されているので、GおよびEに基づいて画像の輝度成分として高精細、すなわち、各画素位置ごとに算出して、上述した実施の形態の第1の色Crとして用いれば、RとBの強度を推定することができる。
以下に、図12および図13のRGBE4色配列でGおよびEに基づいて画像の輝度成分を各画素位置ごとに算出して、これを上述した実施の形態の第1の色Crとして用いるようにした場合のデモザイク処理部253の構成と動作を説明する。
図36は、デモザイク処理部253の他の構成を示すブロック図である。GおよびEに基づいて輝度成分を算出するようにするデモザイク処理においては、上述した図18の構成のかわりに図36のデモザイク処理部253の構成を用いる。図36を図18と比較すると明らかなように、図36の(G+E)強度算出部501が図18の注目画素選択部282に置き換えられ、図36の粗補間処理部502が、図18の4つの粗補間処理部283−1乃至283−4に置き換えられ、さらに図36では、加算器503が設けられている。なお、図36の粗補間処理部502は、図18の4つの粗補間処理部283とは若干異なる処理を実行する。なお、図中、図18と対応する部分については同一の符号を付してある。すなわち、図36の局所領域抽出部281、4つの統計量算出部284−1乃至284−4、および4つの回帰演算処理部285−1乃至285−4については、図36と図18で共通の構成である。
G+E強度算出部501は、局所領域抽出部281が抽出した局所領域内の画素の情報を用いて注目画素位置における(G+E)強度を算出する。ここで(G+E)は上述した色分布形状の回帰計算を用いた色強度推定方法の第1の色Crとして用いられる。そのため、粗補間処理部502と加算器503はこの(G+E)強度とR,G,B,E各色の強度との組を局所領域内の画素情報を持ちいて作るように働く。すなわち、粗補間処理部502は局所領域内において、R,G,B,E各色強度のラフな補間値のセットを算出し、加算器503はそのうちG強度のラフな補間値のセットとE強度のラフな補間値のセットを加算することによって、(G+E)強度のラフな補間値のセットを算出する。
4つの統計量算出部284−1乃至284−4は(G+E)強度のラフな補間値のセットを第1の色Crのセットとして受け付けるとともに、R,G,B,Eのうちいずれか1つの強度のラフな補間値のセットを第2の色Ceのセットとして受け付ける。そして、統計量算出部284−1乃至284−4は、上述した統計量算出部284−1乃至284−4と同様の動作により第1の色Crと第2の色Ceの統計量を算出する。そして、4つの回帰演算処理部285−1乃至285−4が、これらの統計量と(G+E)強度算出部501が算出した注目画素位置の(G+E)強度値に基づいてR,G,B,E各色の注目画素位置の強度を回帰演算により算出するように動作する。
図37は、図36のG+E強度推定処理部501の構成を示すブロック図である。
G+E強度推定処理部501は、G強度推定部521、E強度推定部522、および、加算処理部523により構成される。
G強度推定部521は局所領域の画素を用いて注目画素位置のG強度の推定値を算出する。E強度推定部522は局所領域の画素を用いて注目画素位置のE強度の推定値を算出する。加算処理部523は算出されたG強度推定値とE強度推定値を加算することによって、注目画素位置の(G+E)強度推定値を算出する。図12乃至図15を用いて説明した原色4色配列のカラーフィルタによって得られるモザイク画像においては、GまたはEがどちらも1画素おきの間隔でしか信号が存在しないので、GのみまたはEのみの補間処理だけでは高周波の画像信号を再現できずにジャギネスやジッパーノイズを発生させやすい。しかしながら、GまたはEのいずれかが、互いに水平および垂直に1画素ずれた位置に配置されていることを利用し、GとEの信号を加算したような信号をすべての画素位置に再現することによって、それぞれの限界よりも高い高域の画像信号を再現することが可能になり、出力画像でジャギネスやノイズが発生するのを抑えることができる。
図38は、G強度推定部521およびE強度推定部522の構成を示すブロック図である。まず、G強度推定部521とE強度推定部522との共通点について説明し、その後、G強度推定部521とE強度推定部522との差異について説明する。
G強度推定部521およびE強度推定部522は、それぞれ、注目画素選択部601、第1の処理ブロック602、第2の処理ブロック603、第3の処理ブロック604、テクスチャ方向判定部605、および、スイッチ606で構成されている。また、第1の処理ブロック602は、第1の強度推定部611で構成され、第2の処理ブロック603および第3の処理ブロック604は、第2の強度推定部621、第3の強度推定部622、第4の強度推定部623、およびスイッチ624で構成される。
注目画素選択部601は7×7画素の局所領域から注目画素位置すなわち中心の画素を選んでその画素強度を出力する。テクスチャ方向判定部605は、局所領域における画像のテクスチャを調べ、それが主に縦縞か横縞かを判定した結果を出力する。第1の強度推定部611、第2の強度推定部621、第3の強度推定部622、第4の強度推定部623は、局所領域の画素と注目画素位置における所定の色の強度推定値に基づいて推定すべき色の強度を算出するものである。ここで、推定すべき色とは、G強度推定部521であればG、E強度推定部522であればEをさす。強度推定部が4種類存在するのは、与えられた注目画素位置の色強度が何色であるかということと、局所領域の色の配置によって処理の種類が4種類あるという理由による。スイッチ624は、テクスチャ方向判定部605が出力するテクスチャ方向の判定結果に基づき、入力された2つの強度推定値のどちらを使用するべきかを選択して出力する。スイッチ606は、本来のモザイク画像において注目画素位置の色が何色であるかに基づき、入力された4つの強度推定値のどれを使用するべきかを選択して出力する。スイッチ606の出力がG強度推定部521およびE強度推定部522の出力となる。
前述のように、G強度推定部521およびE強度推定部522の動作は、注目画素位置の色が本来何色であるかによって切り替わらなければならない。図38に示される構成では、注目画素の色に基づいた4種類の動作について、選択された注目画素をそのまま出力するか、または、第1の処理ブロック602、第2の処理ブロック603、第3の処理ブロック604において推定値を算出し、最後にスイッチ606によって、いずれの値を出力するかが選択されて出力されるようになされている。
4種類の動作について説明する。第1に、モザイク画像の注目画素位置が補間すべき色そのものであれば、特別な推定処理は必要なく、注目画素選択部601によって選択されたモザイク画像の注目画素の強度がそのまま出力されればよいので、注目画素選択部601の出力がスイッチ606から出力される(図中の入力aが出力される)ようになされる。第2に、モザイク画像の注目画素位置がGもしくはEであるが補間すべき色ではない場合は、第1の処理ブロック602の第1の強度推定部611によって、局所領域のGとEの画素情報に基づいて算出された強度推定値が、スイッチ606のから出力される(図中の入力bが出力される)ようになされる。
第3に、モザイク画像の注目画素位置が補間すべき色の画素と水平に1画素ずれた状態である場合、第2の処理ブロック603の第2の強度推定部621、第3の強度推定部622、第4の強度推定部623、および、スイッチ624、または、第3の処理ブロック604の第3の強度推定部622、第2の強度推定部621、第4の強度推定部623、およびスイッチ624の処理により算出された強度推定値が、スイッチ606から出力される(図中の入力cまたはdが出力される)ようになされる。第4に、モザイク画像の注目画素位置が補間すべき色の画素と垂直に1画素ずれた状態であるときには、第3の場合と同様に、第2の処理ブロック603の第2の強度推定部621、第3の強度推定部622、第4の強度推定部623、および、スイッチ624、または、第3の処理ブロック604の第3の強度推定部622、第2の強度推定部621、第4の強度推定部623、およびスイッチ624の処理により算出された強度推定値が、スイッチ606から出力される(図中の入力cまたはdが出力される)ようになされる。第3の場合と第4の場合、すなわち、注目画素の色がRまたはBであるとき、スイッチ606は、第2の処理ブロック603または第3の処理ブロック604の処理により算出された強度推定値を、フィルタの配列によって適宜選択する。
ここで第2の処理ブロック603の動作について説明する。第2の強度推定部621は注目画素位置の色強度と局所領域の画素情報を用いて補間すべき色の強度推定値を算出する。第3の強度推定部622は注目画素位置の色強度と局所領域の画素情報を用いてGもしくはEのうち補間すべき色とは反対の色の強度推定値を算出する。そして、第3の強度推定部622による強度推定値に基づいて、第4の強度推定部623が補間すべき色の強度推定値を算出するようになっている。このようにして2つの強度推定値が算出されているが、それらはスイッチ624において、テクスチャ方向判定部605が判定したテクスチャ方向に基づき、いずれか一方が選択されて出力される。
次に、第3の処理ブロック604の動作について説明する。第3の強度推定部622は注目画素位置の色強度と局所領域の画素情報を用いて補間すべき色の強度推定値を算出する。第2の強度推定部621は注目画素位置の色強度と局所領域の画素情報を用いてGもしくはEのうち補間すべき色とは反対の色の強度推定値を算出する。そして、第2の強度推定部621による強度推定値に基づいて、第4の強度推定部623が補間すべき色の強度推定値を算出するようになっている。このようにして2つの強度推定値が算出されているが、それらはスイッチ624において、テクスチャ方向判定部605が判定したテクスチャ方向に基づき、いずれか一方が選択されて出力される。
このようにすることによって、細かい縞模様のように高周波成分が大きい画像信号に対する再現性を向上させることができる。
以上、G強度推定部521およびE強度推定部522の動作の共通部分について説明したが、G強度推定部521とE強度推定部522との違いは、補間すべき色がGかEか、また、それによって、水平に隣接する色および垂直に隣接する色がRかBかの違いであって、それによってスイッチ606の振る舞いが異なる、という点のみである。図39を用いて、注目画素の色に対して、G強度推定部521とE強度推定部522のそれぞれのスイッチ606の出力について説明する。
図39に示されるように、G強度推定部521のスイッチ606は、注目画素がRのとき、第3の処理ブロック604で算出された強度推定値または第2の処理ブロック603で算出された強度推定値をスイッチ606から出力(図中の入力dまたはcを出力)し、注目画素がGのとき、注目画素選択部601の出力をスイッチ606から出力(図中の入力aを出力)し、注目画素がBのとき、第2の処理ブロック603または第3の処理ブロック604で算出された強度推定値をスイッチ606から出力(図中の入力cまたはdを出力)し、注目画素がEのとき、第1の処理ブロック602で算出された強度推定値を、スイッチ606のから出力(図中の入力bを出力)する。また、図39に示されるように、E強度推定部522のスイッチ606は、注目画素がRのとき、第2の処理ブロック603または第3の処理ブロック604で算出された強度推定値を、スイッチ606から出力(図中の入力cまたはdを出力)し、注目画素がGのとき、第1の処理ブロック602で算出された強度推定値をスイッチ606のから出力(図中の入力bを出力)し、注目画素がBのとき、第3の処理ブロック604または第2の処理ブロック603で算出された強度推定値をスイッチ606から出力(図中の入力dまたはcを出力)し、注目画素がEのとき、注目画素選択部601の出力をスイッチ606から出力(図中の入力aを出力)する。
図40は、図38の第1の強度推定部611、第2の強度推定部621、第3の強度推定部622、または、第4の強度推定部623の構成を示すブロック図である。図38の第1の強度推定部611、第2の強度推定部621、第3の強度推定部622、および、第4の強度推定部623は、粗補間処理部651において粗補間を実行する場合に取得される第2の色の選択方法が異なる以外は、基本的に同様の構成を有するものである。
粗補間処理部651は、上述した図18の粗補間処理部283と同様の構成であり、例えば、7×7画素の局所領域内にある画素を用いて、局所領域内の複数の画素位置において、異なる2つの色(第1の色および第2の色)の強度の組が作れるよう、簡単な演算によって、第1の色と第2の色との画素強度の補間値を算出する。
統計量算出部652は、上述した図18の統計量算出部284と同様の構成であり、粗補間処理部651により算出された局所領域内の各画素における第1の色と第2の色との強度の組を用いて、2色間の統計量を算出する。具体的には、統計量算出部652は、第1の色の平均値、第2の色の平均値、第1の色の分散値、および、第1の色と第2の色の共分散値を演算して出力する。
回帰演算処理部653は、上述した図18の回帰演算処理部285と同様の構成であり、注目画素の画素強度と、統計量算出部652が算出した統計量とに基づいて、色分布形状の線形回帰計算を行い、注目画素位置における強度推定値を算出する。
図38の第1の強度推定部611、第2の強度推定部621、第3の強度推定部622、および、第4の強度推定部623は、以上説明したように、2つの色の統計的関係に基づいて、第1の色の強度推定値から第2の色の強度推定値を算出するものである。4種類の強度推定部の違いは、この2つの色をどのように選ぶかの違いであって、それは粗補間処理部651が第1の色Crと第2の色Ceとして2つの色を選択する方法の差であり、統計量算出部652および回帰演算処理部653の処理は共通である。第1の強度推定部611、第2の強度推定部621、第3の強度推定部622、および、第4の強度推定部623のそれぞれの粗補間処理部651の処理は、上述した図24の処理と同様である。
次に、図40のフローチャートを参照して、図36の粗補間処理部502における粗補間処理を説明する。なお図36の粗補間処理部502は、図18の4つの租補間処理部283−1乃至283−4の動作をまとめたような動作を実行する。
粗補間処理部502は、ステップS321において、供給された局所領域の画素のうち、処理を実行する画素位置を示す第1のレジスタの値sを初期化して、s=2とし、ステップS322において、供給された局所領域の画素のうち、処理を実行する画素位置を示す第2のレジスタの値tを初期化して、t=2とする。
ステップS323において、粗補間処理部502は、画素位置(s、t)の画素強度、およびその8近傍の画素の強度を取得する。ここで取得された画素強度は、画素位置(s、t)の画素強度を含む9個の画素強度となる。
ステップS324において、粗補間処理部502は、画素位置(s、t)の画素強度および8近傍画素の中で、R画素の強度の平均値を画素位置(s、t)のR補間値とする。具体的には、粗補間処理部502は、取得した計9個の強度値のうち、Rに対応する画素の強度の平均値を算出し、それを画素位置(s、t)におけるRのラフな補間値とする。
ステップS325において、粗補間処理部502は、画素位置(s、t)の画素強度および8近傍画素の中で、G画素の強度の平均値を画素位置(s、t)のG補間値とする。具体的には、粗補間処理部502は、取得した計9個の強度値のうち、Gに対応する画素の強度の平均値を算出し、それを画素位置(s、t)におけるGのラフな補間値とする。
ステップS326において、粗補間処理部502は、画素位置(s、t)の画素強度および8近傍画素の中で、B画素の強度の平均値を画素位置(s、t)のB補間値とする。具体的には、粗補間処理部502は、取得した計9個の強度値のうち、Bに対応する画素の強度の平均値を算出し、それを画素位置(s、t)におけるBのラフな補間値とする。
ステップS327において、粗補間処理部502は、画素位置(s、t)の画素強度および8近傍画素の中で、E画素の強度の平均値を画素位置(s、t)のE補間値とする。具体的には、粗補間処理部502は、取得した計9個の強度値のうち、Eに対応する画素の強度の平均値を算出し、それを画素位置(s、t)におけるEのラフな補間値とする。
ステップS328において、粗補間処理部502は、第2のレジスタの値tを参照し、t=n−1であるか否かを判断する。
ステップS328において、t=n−1ではないと判断された場合、ステップS329において、粗補間処理部502は、第2のレジスタの値tをt=t+1とする。その後、処理はステップS323に戻り、それ以降の処理が繰り返される。
ステップS328において、t=n−1であると判断された場合、ステップS330において、粗補間処理部502は、第1のレジスタの値sを参照し、s=n−1であるか否かを判断する。
ステップS330において、s=n−1ではないと判断された場合、ステップS331において、粗補間処理部502は、第1のレジスタの値sをs=s+1とする。その後、処理はステップS322に戻り、それ以降の処理が繰り返される。
ステップS330において、s=n−1であると判断された場合、ステップS332において、粗補間処理部502は、ステップS323乃至ステップS327の処理の繰り返しにより補間した全画素位置の補間値の組を出力し、処理が終了される。
図41の処理により、粗補間処理部502は、注目画素付近の画素から、注目画素位置におけるR,G,B,Eのラフな補間値を算出することができる。
なお、ステップS324乃至ステップS327の処理は、並行して実行されても、その処理の順番を不同としてもよい。
次に、図42のフローチャートを参照して、図37のG+E強度推定処理部501が実行するG+E強度推定処理について説明する。
ステップS341において、G強度推定部521は、局所領域の画素を用いて注目画素位置のG強度推定値を算出する。具体的には、G強度推定部521は、図38を用いて説明した処理によって、注目画素位置のG強度推定値を算出する。
ステップS342において、E強度推定部522は、局所領域の画素を用いて注目画素位置のE強度推定値を算出する。具体的には、E強度推定部522は、図38を用いて説明した処理によって、注目画素位置のE強度推定値を算出する。
加算処理部523は、ステップS343において、ステップS341において算出されたG強度推定値と、ステップS342において算出されたE強度推定値とを加算して、G+E強度推定値を算出し、ステップS344において、G+E強度推定値を回帰演算処理部285に出力する。
このような処理により、市松状に配置されたGとEからなる新たな強度推定値であるG+E強度推定値を算出することができる。このG+E推定値は、後段の回帰演算処理部285における、RGBEの各色の強度の推定演算に用いることが可能となる。
なお、ステップS341の処理とステップS342の処理とは、並行して実行されても、その処理の順番を逆にしてもよい。
これにより、GとEからなる新たな強度推定値であるG+E強度推定値に基づいて、RとBの強度を推定することができる。
なお、本発明は、4色以上の色配列に対しても適用され、同様に、ジャギネスの低減および解像度感の向上を可能とする。
以上では、デジタルスチルカメラ201における画像処理について説明したが、動画像を撮像することが可能なデジタルビデオカメラについても、本発明は適用可能である。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。
この場合、ソフトウェアをDSPブロック216が実行することにより、上述した機能が実現される。また、例えば、デジタルスチルカメラ201の処理の一部は、図43に示されるようなパーソナルコンピュータ701により実行することが可能となる。
図43において、CPU(Central Processing Unit)711は、ROM(Read Only Memory)712に記憶されているプログラム、または記憶部718からRAM(Random Access Memory)713にロードされたプログラムに従って、各種の処理を実行する。RAM713にはまた、CPU711が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU711、ROM712、およびRAM713は、バス714を介して相互に接続されている。このバス714にはまた、入出力インタフェース715も接続されている。
入出力インタフェース715には、キーボード、マウスなどよりなる入力部716、ディスプレイやスピーカなどよりなる出力部717、ハードディスクなどより構成される記憶部718、モデム、ターミナルアダプタなどより構成される通信部719が接続されている。通信部719は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース715にはまた、必要に応じてドライブ720が接続され、磁気ディスク731、光ディスク732、光磁気ディスク733、もしくは、半導体メモリ734などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部718にインストールされる。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェア(例えば、DSPブロック216や、その中に含まれている、デモザイク処理部253)に組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
この記録媒体は、図43に示されるように、装置本体とは別に、ユーザにプログラムを供給するために配布される、プログラムが記憶されている磁気ディスク731(フロッピディスクを含む)、光ディスク732(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク733(MD(Mini-Disk)(商標)を含む)、もしくは半導体メモリ734などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに供給される、プログラムが記憶されているROM712や、記憶部718に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記憶されるプログラムを記述するステップは、含む順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的もしくは個別に実行される処理をも含むものである。
201 デジタルスチルカメラ, 216 DSPブロック, 242 信号処理用プロセッサ, 253 デモザイク処理部, 281 局所領域抽出部, 282 注目画素選択部, 283 粗補間処理部, 284 統計量算出部, 285 回帰演算処理部