JP2013165482A - 画像処理装置、画像処理プログラム、および撮像装置 - Google Patents
画像処理装置、画像処理プログラム、および撮像装置 Download PDFInfo
- Publication number
- JP2013165482A JP2013165482A JP2012287814A JP2012287814A JP2013165482A JP 2013165482 A JP2013165482 A JP 2013165482A JP 2012287814 A JP2012287814 A JP 2012287814A JP 2012287814 A JP2012287814 A JP 2012287814A JP 2013165482 A JP2013165482 A JP 2013165482A
- Authority
- JP
- Japan
- Prior art keywords
- image
- gradation
- interpolation
- color
- space
- 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.)
- Pending
Links
Images
Abstract
【課題】全階調領域で平均的に優れたコントラスト解像を行うことができる従来の画像予測空間の性能を最大限に保ちつつ、更に高コントラストな補間画像を提供する高精細な補間を行うこと。
【解決手段】画像処理装置は、3つの補間ガンマΓ1、Γ2、Γ3による予測空間を用いて3通りの色補間画像を生成し、中間に位置する補間ガンマΓ2による色補間画像を基準とし、3通りの色補間画像から同一画素内での階調間のラプラシアン成分を抽出して基準画像に加算する。
【選択図】図2
【解決手段】画像処理装置は、3つの補間ガンマΓ1、Γ2、Γ3による予測空間を用いて3通りの色補間画像を生成し、中間に位置する補間ガンマΓ2による色補間画像を基準とし、3通りの色補間画像から同一画素内での階調間のラプラシアン成分を抽出して基準画像に加算する。
【選択図】図2
Description
本発明は、画像処理装置、画像処理プログラム、および撮像装置に関する。
Bayer配列のような単板撮像素子で撮影された画像データは通常、光量に比例した階調特性をもつ線形階調データとして入力されてくる。このデータに対して色補間を行う方法として、世の中の被写体像が平均的に無彩色に近いことを利用して、従来からある色成分を補間するときに他の色成分も考慮して補間する技術が用いられている。
例えば、特許文献1では線形階調の入力Bayerデータに対して、色差が一定、すなわち、R - G = 一定、B - G = 一定に保つように、ある色成分の平均値による補間値を他の色成分による補正項を加えながら補間値を算出する方法を開示している。また、別の方法として、色比が一定、すなわち、R/G = 一定、B/G = 一定に保つように、ある色成分の平均値による補間値を他の色成分で補正しながら補間値を算出する方法も開示している。
特許文献2に示されるように色比一定の補間方法は、線形階調特性の画像を対数階調特性のガンマ空間に移行して、その画像処理空間で色差一定を保つようにして補間値を算出することと等価である。これは対数階調特性に限らず、何らかの補間用のガンマ空間に移行して色差が一定に保つように補間すれば、実際の線形階調空間では色差一定と仮定した補間値予測と色比一定と仮定した補間値予測の間を行く任意の予測空間を、補間ガンマの階調特性の設定の仕方で変えることができることを意味する。
このような補間ガンマの階調特性を最適化して、最良の補間値を予測する空間を提供する方法が、本出願人と同一発明者による特許文献3、特許文献4に開示されている。すなわち、色差が一定という仮定を利用して、任意の画像で低輝度部、中間調、高輝度部の全ての領域で鮮明なコントラスト、解像を得るためには平方根階調の補間用ガンマ空間へ移行するのがよいと指摘している。更に高感度撮影でダーク・ノイズが存在する場合には、平方根の中に正のオフセットを加えた補間用ガンマ空間で、均等ノイズ性を常に保つ工夫も導入している。これらの平方根型の画像処理空間は、均等ノイズ空間を提供するので、色差一定の最適な補間値予測空間を実現するとともに、補間時の方向判定性能を最大化し、補間結果のノイズ増幅を最小化する効果も同時実現する。
前述の対数階調特性のガンマ空間は、低輝度部のコントラスト再現を極めて重視した予測する空間を提供する一方で、高輝度部はニー特性で階調が寝ているために、高輝度部のコントラスト再現性は極めて低い予測空間である欠点を持つ。一方の特許文献1の線形階調のままの色差一定の補間は、線形階調も補間用ガンマ空間の1つとして考えると、高輝度部のコントラスト再現を最も重視した予測空間を提供する一方で、低輝度部や中間調に対して割り当てられた階調領域は極めて狭く、その領域のコントラスト再現能力は極めて低い画像処理空間を提供する。すなわち、補間用ガンマ空間としてどこかのコントラスト再現を重視すれば、必ずどこかのコントラスト再現は犠牲になるトレードオフの関係にある。これらを1つの補間用ガンマ空間として、低輝度部から中間調、高輝度部に渡るまで全ての階調領域のコントラストを平均的に最良に解像するために示された解決方法が、平方根型の階調空間である。
しかしながら、平方根型の階調空間も1つの補間ガンマによる予測空間としては平均的に最良のコントラストを備えた高品質な補間画質を提供するものの、画像によってはもう少し別の補間ガンマによる予測空間を試すことによってもっと高コントラストで鮮明な画質が得られる可能性があるという潜在能力を最大限に引き出せていないという課題があった。すなわち、画像全体の印象として、全体的に被りや曇り感があったり、暗部の締まりが少し足りない、鮮鋭感が少し足りないといった傾向が見られる画像も存在していた。
(1)請求項1に記載の発明は、少なくとも2つの色成分からなり、欠落する色成分が存在する画像データに対して、入力色空間の画像信号を画像処理空間における画像信号に変換し、画像処理空間において欠落する色成分の補間処理を行い、補間処理後の画像信号を出力色空間の画像信号に変換する画像処理装置であって、少なくとも第1と第2の曲率が異なる2つの階調特性の画像信号に変換する階調変換部と、階調変換された各々の画像信号の欠落色成分を補間して、少なくとも2通りの補間画像を生成する色補間部と、少なくとも2通りの補間画像を1つの階調特性の画像処理空間の画像に変換して階調特性を合わせる階調整合部と、第1と第2の階調特性で補間され1つの階調特性に階調整合された第1と第2の補間画像を用いて、2つの画像の同一の画素間で、少なくとも第2の補間画像の画素値と第1の補間画像の画素値との間の差分値を抽出する差分値抽出部と、第2の補間画像に対して、差分値を同一の画素に加算する加算部と、を備えることを特徴とする。
(2)請求項4に記載の発明は、少なくとも2つの色成分からなり、欠落する色成分の存在する画像データに対して、入力色空間の画像信号を画像処理空間における画像信号に変換し、画像処理空間において欠落する色成分の補間処理を行い、補間処理後の画像信号を出力色空間の画像信号に変換する画像処理装置であって、第1、第2、第3の順に曲率が異なる3つの階調特性の画像信号に変換する階調変換部と、階調変換された各々の画像信号の欠落色成分を補間して、3通りの補間画像を生成する色補間部と、3通りの補間画像を1つの階調特性の画像処理空間の画像に変換して階調特性を合わせる階調整合部と、第1〜第3の階調特性で補間され1つの階調特性に階調整合された第1〜第3の補間画像を用いて、3つの画像の同一の画素間で、第2の補間画像の画素値に対する第1の補間画像の画素値と第3の補間画像の画素値との間のラプラシアン成分を抽出するラプラシアン抽出部と、第2の補間画像に対して、ラプラシアン成分を同一の画素に加算する加算部と、を備えることを特徴とする。
(3)請求項9に記載の発明による撮像装置は、被写体像を撮像する撮像部と、撮像部で撮像された画像に対して画像処理を行う請求項1〜6のいずれか一項に記載の画像処理装置と、を備えることを特徴とする。
(2)請求項4に記載の発明は、少なくとも2つの色成分からなり、欠落する色成分の存在する画像データに対して、入力色空間の画像信号を画像処理空間における画像信号に変換し、画像処理空間において欠落する色成分の補間処理を行い、補間処理後の画像信号を出力色空間の画像信号に変換する画像処理装置であって、第1、第2、第3の順に曲率が異なる3つの階調特性の画像信号に変換する階調変換部と、階調変換された各々の画像信号の欠落色成分を補間して、3通りの補間画像を生成する色補間部と、3通りの補間画像を1つの階調特性の画像処理空間の画像に変換して階調特性を合わせる階調整合部と、第1〜第3の階調特性で補間され1つの階調特性に階調整合された第1〜第3の補間画像を用いて、3つの画像の同一の画素間で、第2の補間画像の画素値に対する第1の補間画像の画素値と第3の補間画像の画素値との間のラプラシアン成分を抽出するラプラシアン抽出部と、第2の補間画像に対して、ラプラシアン成分を同一の画素に加算する加算部と、を備えることを特徴とする。
(3)請求項9に記載の発明による撮像装置は、被写体像を撮像する撮像部と、撮像部で撮像された画像に対して画像処理を行う請求項1〜6のいずれか一項に記載の画像処理装置と、を備えることを特徴とする。
本発明によれば、全階調領域で平均的に優れたコントラスト解像を行うことができる従来の画像予測空間の性能を最大限に保ちつつ、更に高コントラストな補間画像を提供する高精細な補間を行える。
以下、図面を参照して本発明を実施するための形態について説明する。本説明では、R(赤)、G(緑)、B(青)が Bayer 配列されたカラーフィルタを通して撮像された画像に対して色補間する画像処理の例を説明する。画像の色は、RGB表色系で表される。
図1は、Bayer 配列を示す図である。このようなカラーフィルタを備える撮像素子から出力される画像信号は、1画素当たりRGBのうちいずれか1つの色成分の情報を有する。すなわち、R色フィルタに対応する画素からはR色の情報が出力され、G色フィルタに対応する画素からはG色の情報が出力され、B色フィルタに対応する画素からはB色の情報が出力される。R色フィルタに対応する画素情報を例にとれば、R成分の情報だけでG成分、B成分の情報がない。このため、画像を構成する全ての画素位置においてRGB全色分の情報を得るために、各画素位置において不足する色成分の情報を補間処理(Bayer 補間)によって算出する。
<3通りの階調空間>
始めに、以降の説明において用いる3つの補間用ガンマ空間を説明する。本実施形態では、補間用ガンマ空間としての画像処理空間を3つ用意し、3通りの補間結果を得る。具体的には、3本の階調曲線として次の3つの階調空間を定義し、それぞれをΓ1、Γ2、Γ3と名付ける。入力信号をx、出力信号をyとし、入力信号の階調と出力信号の階調が共に、[0,1]の範囲で定義されるものとする。入出力特性は(x,y) = (0,0)と(1,1)を通るように階調曲線(ガンマ曲線)を定義する。実際の入力階調 X の最大値をXmax、出力階調 Y の最大値をYmaxとすると、x = X/Xmax、y = Y/Ymax であり、階調変換は、次式(1)によって行われる。
始めに、以降の説明において用いる3つの補間用ガンマ空間を説明する。本実施形態では、補間用ガンマ空間としての画像処理空間を3つ用意し、3通りの補間結果を得る。具体的には、3本の階調曲線として次の3つの階調空間を定義し、それぞれをΓ1、Γ2、Γ3と名付ける。入力信号をx、出力信号をyとし、入力信号の階調と出力信号の階調が共に、[0,1]の範囲で定義されるものとする。入出力特性は(x,y) = (0,0)と(1,1)を通るように階調曲線(ガンマ曲線)を定義する。実際の入力階調 X の最大値をXmax、出力階調 Y の最大値をYmaxとすると、x = X/Xmax、y = Y/Ymax であり、階調変換は、次式(1)によって行われる。
(I)線形階調特性(Γ1)
この階調特性は、高輝度部領域に階調変換後の大部分の階調幅が割り当てられているため、高輝度部のコントラスト構造をしっかりと分解する能力を有した予測空間を提供する。上式(1)における y = f(x)の階調特性は、y = x である。
この階調特性は、高輝度部領域に階調変換後の大部分の階調幅が割り当てられているため、高輝度部のコントラスト構造をしっかりと分解する能力を有した予測空間を提供する。上式(1)における y = f(x)の階調特性は、y = x である。
(II)オフセット付き平方根階調特性(Γ2)
この階調特性は、全ての階調領域のコントラスト構造を自然な形で再現する予測空間を提供する。初期のマンセル色空間や Hunter の均等知覚色空間では平方根の階調特性が人間の視感度特性と仮定されている。したがって、人間の視感度に近い階調空間を実現しつつ、均等ノイズ空間をも提供する優れた階調空間である。上式(1)における y = f(x)の階調特性は、次式(2)である。
上式(2)における正のオフセット値εは、暗電流ノイズ成分が増える高感度の撮影条件になるほど大きな値を設定する。
この階調特性は、全ての階調領域のコントラスト構造を自然な形で再現する予測空間を提供する。初期のマンセル色空間や Hunter の均等知覚色空間では平方根の階調特性が人間の視感度特性と仮定されている。したがって、人間の視感度に近い階調空間を実現しつつ、均等ノイズ空間をも提供する優れた階調空間である。上式(1)における y = f(x)の階調特性は、次式(2)である。
(III)立方根階調特性、対数階調特性(Γ3)
この階調特性は、特に低輝度部のコントラスト構造をしっかりと分解する能力を有した予測空間を提供する。立方根階調特性は、CIE L*a*b* の均等色空間を実現する階調特性として採用されている空間である。人間の視感度特性として、Γ2で採用した階調以外にΓ3で規定するコントラストで分解することを期待されることもありえて、それに対応したコントラスト分解能を有する階調空間を提供する。上式(1)における y=f(x) の階調特性は、次式(3)である。
この階調特性は、特に低輝度部のコントラスト構造をしっかりと分解する能力を有した予測空間を提供する。立方根階調特性は、CIE L*a*b* の均等色空間を実現する階調特性として採用されている空間である。人間の視感度特性として、Γ2で採用した階調以外にΓ3で規定するコントラストで分解することを期待されることもありえて、それに対応したコントラスト分解能を有する階調空間を提供する。上式(1)における y=f(x) の階調特性は、次式(3)である。
なお、上式(3)の代わりに低輝度部のコントラストを強く分解することができる対数階調空間を用いてもよい。この場合の上式(1)における y = f(x) の階調特性は、次式(4)を用いる。
y = log(kx + 1)/log(k + 1) …(4)
ただし、k は定数で、撮像感度が増えるに従って値を小さく設定する。例えば、線形階調データが14ビットで表されている場合、最低ISO感度では k = 214=16384のような値をとる。ISO感度が一段上がるに従い、k の値を1/2に下げていくような値の設定をすると、ノイズ増幅の危険のない階調予測空間を与えることができる。
y = log(kx + 1)/log(k + 1) …(4)
ただし、k は定数で、撮像感度が増えるに従って値を小さく設定する。例えば、線形階調データが14ビットで表されている場合、最低ISO感度では k = 214=16384のような値をとる。ISO感度が一段上がるに従い、k の値を1/2に下げていくような値の設定をすると、ノイズ増幅の危険のない階調予測空間を与えることができる。
図2は、上述した3つの階調特性を示す図である。3本の階調特性曲線は、Γ1、Γ2、Γ3の順に曲率が増して線形階調からの差異が大きくなっているといえる。なお、3つの階調特性の選び方は、任意性があり、これらに限る必要はなく、目的に応じて曲線の形を調整することが可能である。図2は、線形階調とオフセット付き平方根階調と立方根階調を比較した例である。図3−図5に、立方根階調ではなく対数階調を使用し、平方根階調のオフセット値と対数階調の定数をISO感度に応じて変える様子を示している。
なお、本説明では Bayer 配列による画像を色補間する例を説明するが、特許文献3に示されるデルタ配列や任意の他の配列による画像にも同様に適用できる。
<事前の説明>
実施形態を詳細に説明する前に、本発明の本質をここで述べておく。Bayer 配列のRGB色成分が、上記3つの階調特性Γ1、Γ2、Γ3のそれぞれに変換され、それぞれの画像処理空間で色成分が公知のデモザイク技術によって色補間されたと仮定する。そして、Γ1空間での補間結果の各色面をR(Γ1)(x,y)、G(Γ1)(x,y)、B(Γ1)(x,y)とする。同様に、Γ2空間での補間結果の各色面をR(Γ2)(x,y)、G(Γ2)(x,y)、B(Γ2)(x,y)とする。さらに、Γ3空間での補間結果の各色面をR(Γ3)(x,y)、G(Γ3)(x,y)、B(Γ3)(x,y)とする。これらの全ての色面を、基準となるΓ2空間の階調特性の画像に変換する。こうして得られた画像をそれぞれ以下の記号で表すことにする。
実施形態を詳細に説明する前に、本発明の本質をここで述べておく。Bayer 配列のRGB色成分が、上記3つの階調特性Γ1、Γ2、Γ3のそれぞれに変換され、それぞれの画像処理空間で色成分が公知のデモザイク技術によって色補間されたと仮定する。そして、Γ1空間での補間結果の各色面をR(Γ1)(x,y)、G(Γ1)(x,y)、B(Γ1)(x,y)とする。同様に、Γ2空間での補間結果の各色面をR(Γ2)(x,y)、G(Γ2)(x,y)、B(Γ2)(x,y)とする。さらに、Γ3空間での補間結果の各色面をR(Γ3)(x,y)、G(Γ3)(x,y)、B(Γ3)(x,y)とする。これらの全ての色面を、基準となるΓ2空間の階調特性の画像に変換する。こうして得られた画像をそれぞれ以下の記号で表すことにする。
Γ1空間で予測されΓ2空間に移行したRGB画像:R(Γ1→Γ2)(x,y)、G(Γ1→Γ2)(x,y)、B(Γ1→Γ2)(x,y)
Γ2空間で予測されΓ2空間に移行したRGB画像:R(Γ2→Γ2)(x,y)、G(Γ2→Γ2)(x,y)、B(Γ2→Γ2)(x,y)
Γ3空間で予測されΓ2空間に移行したRGB画像:R(Γ3→Γ2)(x,y)、G(Γ3→Γ2)(x,y)、B(Γ3→Γ2)(x,y)
実際には、Γ1空間で予測された画像とΓ3空間で予測された画像にのみ階調変換処理が必要となる。
Γ2空間で予測されΓ2空間に移行したRGB画像:R(Γ2→Γ2)(x,y)、G(Γ2→Γ2)(x,y)、B(Γ2→Γ2)(x,y)
Γ3空間で予測されΓ2空間に移行したRGB画像:R(Γ3→Γ2)(x,y)、G(Γ3→Γ2)(x,y)、B(Γ3→Γ2)(x,y)
実際には、Γ1空間で予測された画像とΓ3空間で予測された画像にのみ階調変換処理が必要となる。
1つの考え方として、3つの予測空間を用いて補間(予測)された結果を、それぞれの空間における得手、不得手の階調領域を見分けて加重合成すればよいという考え方が成り立つ。しかしながらこの考え方では、補間で必要とするコントラスト解像は、明るい部分と暗い部分とが隣接して存在するようなときにどのような階調空間を用いればよいかという問題を投げかけられる。この問題に対して、まだ補間値が存在していない補間対象の画素は、周囲画素の情報を用いて明るい領域なのか、暗い領域なのか、中間調の領域なのかを画素単位で決める必要があり、その判断基準が容易に見分けられないという難題に直面してしまう。
本発明は、このような難題を容易に回避すべく、上述した3通りの階調空間における3つの補間結果によって予測された空間コントラストを最大限に最終結果に投影するものである。すなわち、3つの補間画像を用いて同一画素内における予測空間の違いを利用した階調間ラプラシアン成分を導出し、それを基準ガンマ空間の補間結果に加算してコントラスト補正を行う。
式で表せば、次式(5)のように表すことができる。
R'(Γ2→Γ2)(x,y) = R(Γ2→Γ2)(x,y)+k*[2*R(Γ2→Γ2)(x,y)- R(Γ1→Γ2)(x,y)- R(Γ3→Γ2)(x,y)]
G'(Γ2→Γ2)(x,y) = G(Γ2→Γ2)(x,y)+k*[2*G(Γ2→Γ2)(x,y)- G(Γ1→Γ2)(x,y)- G(Γ3→Γ2)(x,y)]…(5)
B'(Γ2→Γ2)(x,y) = B(Γ2→Γ2)(x,y)+k*[2*B(Γ2→Γ2)(x,y)- B(Γ1→Γ2)(x,y)- B(Γ3→Γ2)(x,y)]
ここに、定数k は通常1程度の値をとる。
R'(Γ2→Γ2)(x,y) = R(Γ2→Γ2)(x,y)+k*[2*R(Γ2→Γ2)(x,y)- R(Γ1→Γ2)(x,y)- R(Γ3→Γ2)(x,y)]
G'(Γ2→Γ2)(x,y) = G(Γ2→Γ2)(x,y)+k*[2*G(Γ2→Γ2)(x,y)- G(Γ1→Γ2)(x,y)- G(Γ3→Γ2)(x,y)]…(5)
B'(Γ2→Γ2)(x,y) = B(Γ2→Γ2)(x,y)+k*[2*B(Γ2→Γ2)(x,y)- B(Γ1→Γ2)(x,y)- B(Γ3→Γ2)(x,y)]
ここに、定数k は通常1程度の値をとる。
こうして、従来の平方根階調特性の補間用ガンマ空間の性能を最大限に保存しつつ、平方根階調特性では予測できなかった原画像が持つコントラストの最大幅を、他の予測空間で導き出し、出力画像に反映させることが可能になる。その結果、画像として全体的な曇り感が抜け、透明感、立体感や解像感が増した高精細な補間画質を得ることが可能になる。これらは、従来の補間では得ることができなかった重要な部分での微細なコントラストを大きな振幅成分として記述する能力を提供する。また、平方根階調以外の予測空間では、例えば線形階調空間での、暗部のコントラスト解像が全く得られず画像が融けてしまうとか、高輝度部の輝点周りで激しいオーバーシュートや偽色を発するといった破綻や、立方根や対数階調での暗部のノイズを増幅しすぎるといった危険を被ることなく純粋な改善効果を得ることが可能になる。
上式(5)の階調間ラプラシアン成分を分解すると、例えばR成分の場合は次式(6)で示すように2つの部分に分けることができる。
[ R(Γ2→Γ2)(x,y) - R(Γ1→Γ2)(x,y)] + [ R(Γ2→Γ2)(x,y) - R(Γ3→Γ2)(x,y)] …(6)
これは、2つの部分のうちどちらか一方だけを使っても、補間コントラスト最大化の効用をその成分が存在する画像を扱っている限りにおいて得ることができることを意味する。すなわち、アクティブに補間ガンマを基準階調から1つだけでもずらした予測空間を用意し、その補間コントラストを調べて基準補間との差異を見るだけでも、補正項のラプラシアン成分を作ることができることを意味する。
[ R(Γ2→Γ2)(x,y) - R(Γ1→Γ2)(x,y)] + [ R(Γ2→Γ2)(x,y) - R(Γ3→Γ2)(x,y)] …(6)
これは、2つの部分のうちどちらか一方だけを使っても、補間コントラスト最大化の効用をその成分が存在する画像を扱っている限りにおいて得ることができることを意味する。すなわち、アクティブに補間ガンマを基準階調から1つだけでもずらした予測空間を用意し、その補間コントラストを調べて基準補間との差異を見るだけでも、補正項のラプラシアン成分を作ることができることを意味する。
<第一の実施形態>
以下、本発明の第一の実施形態について詳細に説明する。第一の実施形態では、Bayer 補間の際にRGB成分の全ての色面で階調間ラプラシアンを抽出し、各色面の3成分に対して補間コントラストを補正する。
以下、本発明の第一の実施形態について詳細に説明する。第一の実施形態では、Bayer 補間の際にRGB成分の全ての色面で階調間ラプラシアンを抽出し、各色面の3成分に対して補間コントラストを補正する。
本実施形態は、Bayer 補間処理を行う画像処理プログラムを図6に示すコンピュータ装置100に実行させることにより、画像処理装置を提供する。プログラムをパーソナルコンピュータ100に取込む場合には、パーソナルコンピュータ100のデータストレージ装置にプログラムをローディングした上で当該プログラムを実行させることにより、画像処理装置として使用する。
プログラムのローディングは、プログラムを格納したCD−ROMなどの記録媒体104をパーソナルコンピュータ100にセットして行ってもよいし、ネットワークなどの通信回線101を経由する方法でパーソナルコンピュータ100へローディングしてもよい。ネットワーク101を経由する場合は、ネットワーク101に接続されたサーバコンピュータ102のハードディスク装置103などにプログラムを格納しておく。このように、プログラムは記録媒体104や通信回線101を介する提供などの種々の形態のコンピュータプログラム製品として供給される。
ここで、補間用ガンマ空間以外の部分であって、公知の Bayer 補間技術を記述する最も優れた例として、本出願人と同一発明者の米国特許出願公開2010/021853号明細書に示される補間アルゴリズムがある。このBayer 補間技術には、本出願人と同一発明者の方向判定の分解能を上げる技術(米国特許第6,836,572号)や、補間値算出時の斜め線ジャギー対策技術(米国特許第7,236,628号)、色判定法による適応的偽色対策技術と方向判定の分解能を上げる技術(米国特許第7,565,007号)、色勾配判定法による適応的偽色対策技術(米国特許第7,391,903号)と方向判定の分解能を上げる技術への適用が総合的に用いられた最良の高性能デモザイク技術が搭載されている。そこで、本実施形態でも、追加部分の機能を最善に目的を達するためにこれらの結果を用いる必要があるので、「補間アルゴリズムA」として本文全体を再引用する。
図7は、コンピュータ装置100のCPUが実行する画像処理の流れを説明するフローチャートである。図7のステップS1において、コンピュータ装置100のCPU(以降は単にCPUとよぶ)は、Bayer 画像を入力してステップS2へ進む。本説明では、線形階調のBayer 配列面を M(x,y)で表す。M(multiplexed)は、R,G,B成分が空間的に多重化されたことを表す。入力したBayer 画像のデータは、補間処理の対象としてコンピュータ装置100のワークメモリに格納する。もし、Bayer 画像を構成する各色成分がガンマ補正された階調空間で表されている場合には、ガンマ補正前の線形階調のデータへ戻してから、以降の処理を行う。
ステップS2において、CPUは、線形階調のBayer 画像のデータを、前述の3通りの補間用ガンマ空間(Γ1、Γ2、Γ3)に変換する。その結果、M(Γ1)(x,y)、M(Γ2)(x,y)、M(Γ3)(x,y)が生成される。本実施形態では、3つのガンマ空間のうち中間階調をとるΓ2空間に変換された画像を基準画像とする。これは、均等ノイズ空間を画像処理空間として色補間処理を行うためである。したがって、あらゆる明るさレベルでのノイズ幅が均質になるため、方向判定の性能が最大化され、他の色成分を利用した補間値算出ではノイズ増幅を最小限に抑えることが可能になる。
ステップS3において、CPUは、基準画像に対してBayer 補間(1通り)を行う。すなわち、基準階調である補間用ガンマ空間(Γ2空間)のBayer 配列面 M(Γ2)(x,y)に対して、上記「補間アルゴリズムA」を使用して補間画像 R(Γ2)(x,y)、G(Γ2)(x,y)、B(Γ2)(x,y)を生成する。以下に「補間アルゴリズムA」の内容を説明する。ただし、(x,y)は[i,j]の記号を用いて説明するものとする。また、M面上のG成分はG、M面上のR,B成分はZの記号を用いて参照する。
図8は、基準画像に対して「補間アルゴリズムA」で行うBayer 補間処理の詳細を説明するフローチャートである。「補間アルゴリズムA」では、ステップS31〜S41においてCrCb面を生成し、ステップS42〜S45においてG面を生成する。図8のステップS31において、CPUは「縦横方向判定1」の処理を行う。「縦横方向判定1」の処理は、(S31-1)類似度の算出と、(S31-2)類似性判定とで構成される。具体的には、R,B画素位置について以下の計算を行う。
(S31-1)類似度の算出
類似度の算出は、(a)異色間類似度の算出と、(b)類似度の周辺加算とを行う。
(a)異色間類似度の算出
CPUは、次式(7)、(8)によりGR(GB)間類似度成分を算出する。
Cv0[i,j] = (|G[i,j-1] - Z[i,j]| + |G[i,j+1] - Z[i,j]|)/2 …(7)
Ch0[i,j] = (|G[i-1,j] - Z[i,j]| + |G[i+1,j] - Z[i,j]|)/2 …(8)
類似度の算出は、(a)異色間類似度の算出と、(b)類似度の周辺加算とを行う。
(a)異色間類似度の算出
CPUは、次式(7)、(8)によりGR(GB)間類似度成分を算出する。
Cv0[i,j] = (|G[i,j-1] - Z[i,j]| + |G[i,j+1] - Z[i,j]|)/2 …(7)
Ch0[i,j] = (|G[i-1,j] - Z[i,j]| + |G[i+1,j] - Z[i,j]|)/2 …(8)
CPUはさらに、次式(9)、(10)により(b)類似度の周辺加算を行う。この処理は、周辺画素との連続性を考慮することにより類似度の精度を上げるためのもので、簡略性を優先する場合は省いても良い。
Cv[i,j] = (4*Cv0[i,j]
+ 2*(Cv0[i-1,j-1] + Cv0[i+1,j-1] + Cv0[i-1,j+1] + Cv0[i+1,j+1])
+ Cv0[i,j-2] + Cv0[i,j+2] + Cv0[i-2,j] + Cv0[i+2,j])/16 …(9)
Ch[i,j] = (4*Ch0[i,j]
+ 2*(Ch0[i-1,j-1] + Ch0[i+1,j-1] + Ch0[i-1,j+1] + Ch0[i+1,j+1])
+ Ch0[i,j-2] + Ch0[i,j+2] + Ch0[i-2,j] + Ch0[i+2,j])/16 …(10)
Cv[i,j] = (4*Cv0[i,j]
+ 2*(Cv0[i-1,j-1] + Cv0[i+1,j-1] + Cv0[i-1,j+1] + Cv0[i+1,j+1])
+ Cv0[i,j-2] + Cv0[i,j+2] + Cv0[i-2,j] + Cv0[i+2,j])/16 …(9)
Ch[i,j] = (4*Ch0[i,j]
+ 2*(Ch0[i-1,j-1] + Ch0[i+1,j-1] + Ch0[i-1,j+1] + Ch0[i+1,j+1])
+ Ch0[i,j-2] + Ch0[i,j+2] + Ch0[i-2,j] + Ch0[i+2,j])/16 …(10)
(S31-2)類似性判定
CPUは、上記算出した類似度に基づいて、次式(11)により類似性を判定する。
if |Cv[i,j] - Ch[i,j]| =< Th0 HVd[i,j] = 0 縦横類似性不明
else if Cv[i,j] < Ch[i,j] HVd[i,j] = 1 縦類似
else HVd[i,j] = -1 横類似 …(11)
ただし、閾値Th0 は256階調のとき10前後の値をとり、画像のノイズが多いときは高めに設定する。
CPUは、上記算出した類似度に基づいて、次式(11)により類似性を判定する。
if |Cv[i,j] - Ch[i,j]| =< Th0 HVd[i,j] = 0 縦横類似性不明
else if Cv[i,j] < Ch[i,j] HVd[i,j] = 1 縦類似
else HVd[i,j] = -1 横類似 …(11)
ただし、閾値Th0 は256階調のとき10前後の値をとり、画像のノイズが多いときは高めに設定する。
ステップS32において、CPUは「色差生成」する。「色差生成」の処理は、(S32-1)R位置Cr面生成と、(S32-2)Cr面補間とで構成される。
(S32-1)R位置Cr面生成
CPUは、次式(12)によりR位置Cr面を生成する。
if [i,j] is a R site in a Bayer plane{
if HVd[i,j] = 1 Cr[i,j] = R[i,j]
- {(G[i,j-1] + G[i,j+1])/2
+ (2*R[i,j] - R[i,j-2] - R[i,j+2])/4}
else if HVd[i,j] = -1 Cr[i,j] = R[i,j]
- {(G[i-1,j] + G[i+1,j])/2
+ (2*R[i,j] - R[i-2,j] - R[i+2,j])/4}
else Cr[i,j] = R[i,j]
- {(G[i,j-1] + G[i,j+1] + G[i-1,j] + G[i+1,j])/4
+ (4*R[i,j] - R[i,j-2] - R[i,j+2] - R[i-2,j] - R[i+2,j])/8}
} …(12)
(S32-1)R位置Cr面生成
CPUは、次式(12)によりR位置Cr面を生成する。
if [i,j] is a R site in a Bayer plane{
if HVd[i,j] = 1 Cr[i,j] = R[i,j]
- {(G[i,j-1] + G[i,j+1])/2
+ (2*R[i,j] - R[i,j-2] - R[i,j+2])/4}
else if HVd[i,j] = -1 Cr[i,j] = R[i,j]
- {(G[i-1,j] + G[i+1,j])/2
+ (2*R[i,j] - R[i-2,j] - R[i+2,j])/4}
else Cr[i,j] = R[i,j]
- {(G[i,j-1] + G[i,j+1] + G[i-1,j] + G[i+1,j])/4
+ (4*R[i,j] - R[i,j-2] - R[i,j+2] - R[i-2,j] - R[i+2,j])/8}
} …(12)
または、上式(12)に代えて次式(13)によりR位置Cr面を算出する。
if [i,j] is a R site in a Bayer plane{
if HVd[i,j] = 1 Cr[i,j] = R[i,j]
- {(G[i,j-1] + G[i,j+1])/2
+ (2*G[i-1,j] - G[i-1,j-2] - G[i-1,j+2]
+ 2*G[i+1,j] - G[i+1,j-2] - G[i+1,j+2])/8}
else if HVd[i,j] = -1 Cr[i,j] = R[i,j]
- {(G[i-1,j] + G[i+1,j])/2
+ (2*G[i,j-1] - G[i-2,j-1] - G[i+2,j-1]
+ 2*G[i,j+1] - G[i-2,j+1] - G[i+2,j+1])/8}
else Cr[i,j] = R[i,j]
- {(G[i,j-1] + G[i,j+1] + G[i-1,j] + G[i+1,j])/4
+ (2*G[i-1,j] - G[i-1,j-2] - G[i-1,j+2]
+ 2*G[i+1,j] - G[i+1,j-2] - G[i+1,j+2]
+2*G[i, j-1]-G[i-2, j-1]-G[i+2, j-1]
+2*G[i, j+1]-G[i-2, j+1]-G[i+2, j+1])/16}
} …(13)
ここで、異色間類似度のみで類似性判定した方向指標 HVd[i,j]を用いたのは、ナイキスト周波数近傍の偽色発生を大幅に抑制できるからである。
if [i,j] is a R site in a Bayer plane{
if HVd[i,j] = 1 Cr[i,j] = R[i,j]
- {(G[i,j-1] + G[i,j+1])/2
+ (2*G[i-1,j] - G[i-1,j-2] - G[i-1,j+2]
+ 2*G[i+1,j] - G[i+1,j-2] - G[i+1,j+2])/8}
else if HVd[i,j] = -1 Cr[i,j] = R[i,j]
- {(G[i-1,j] + G[i+1,j])/2
+ (2*G[i,j-1] - G[i-2,j-1] - G[i+2,j-1]
+ 2*G[i,j+1] - G[i-2,j+1] - G[i+2,j+1])/8}
else Cr[i,j] = R[i,j]
- {(G[i,j-1] + G[i,j+1] + G[i-1,j] + G[i+1,j])/4
+ (2*G[i-1,j] - G[i-1,j-2] - G[i-1,j+2]
+ 2*G[i+1,j] - G[i+1,j-2] - G[i+1,j+2]
+2*G[i, j-1]-G[i-2, j-1]-G[i+2, j-1]
+2*G[i, j+1]-G[i-2, j+1]-G[i+2, j+1])/16}
} …(13)
ここで、異色間類似度のみで類似性判定した方向指標 HVd[i,j]を用いたのは、ナイキスト周波数近傍の偽色発生を大幅に抑制できるからである。
(S32-2)Cr面補間
CPUは、次式(14)〜(16)によりCr面を補間する。
B sites
Cr[i,j] = (Cr[i-1,j-1] + Cr[i-1,j+1] + Cr[i+1,j-1] + Cr[i+1,j+1])/4 …(14)
G sites (same lines as R rows)
Cr[i,j] = (Cr[i-1,j] + Cr[i+1,j])/2 …(15)
G sites (same lines as B rows)
Cr[i,j] = (Cr[i,j-1] + Cr[i,j+1])/2 …(16)
CPUは、Cb面についても同様に行う。すなわち、R位置Cb面生成と、Cb面補間とを行う。
CPUは、次式(14)〜(16)によりCr面を補間する。
B sites
Cr[i,j] = (Cr[i-1,j-1] + Cr[i-1,j+1] + Cr[i+1,j-1] + Cr[i+1,j+1])/4 …(14)
G sites (same lines as R rows)
Cr[i,j] = (Cr[i-1,j] + Cr[i+1,j])/2 …(15)
G sites (same lines as B rows)
Cr[i,j] = (Cr[i,j-1] + Cr[i,j+1])/2 …(16)
CPUは、Cb面についても同様に行う。すなわち、R位置Cb面生成と、Cb面補間とを行う。
ステップS33において、CPUは、「仮色差補正1」を行う。ステップS32の色差生成で求まった色差面には偽色がふんだんに乗っており、色モアレや高ISO感度時における色斑ノイズの要因となっている。これらは色構造と区別して適応的に除去されるべきであるが、後述する色勾配を指標として区別するとき偽色の境界が色境界と誤認定されないように予め仮の除去をしておく。以下に方法を2つ例示するが、方法1または方法2によって行えばよい。なお、必ずしもこの方法に限らなくてもよい。
方法1(ローパス処理)
ローパスフィルタリング処理として、9×9サイズの分離型フィルタを例示する。 画素並びの水平方向、垂直方向に対し、それぞれ式(17)、(18)が対応する。
Horizontal lowpass filtering
tmp_Cr[i,j] = {70*Cr[i,j] + 56*(Cr[i-1,j] + Cr[i+1,j])
+ 28*(Cr[i-2,j] + Cr[i+2,j]) + 8*(Cr[i-3,j] + Cr[i+3,j])
+ (Cr[i-4,j] + Cr[i+4,j])}/256 …(17)
Vertical lowpass filtering
TCr1[i,j] = {70* tmp_Cr[i,j] + 56*(tmp_Cr[i,j-1] + tmp_Cr[i,j+1])
+ 28*(tmp_Cr[i,j-2] + tmp_Cr[i,j+2])
+ 8*(tmp_Cr[i,j-3] + tmp_Cr[i,j+3])
+ tmp_Cr[i,j-4] + tmp_Cr[i,j+4]}/256 …(18)
Cr面について説明したが、Cb面についても同様に TCb1[i,j]を算出する。
ローパスフィルタリング処理として、9×9サイズの分離型フィルタを例示する。 画素並びの水平方向、垂直方向に対し、それぞれ式(17)、(18)が対応する。
Horizontal lowpass filtering
tmp_Cr[i,j] = {70*Cr[i,j] + 56*(Cr[i-1,j] + Cr[i+1,j])
+ 28*(Cr[i-2,j] + Cr[i+2,j]) + 8*(Cr[i-3,j] + Cr[i+3,j])
+ (Cr[i-4,j] + Cr[i+4,j])}/256 …(17)
Vertical lowpass filtering
TCr1[i,j] = {70* tmp_Cr[i,j] + 56*(tmp_Cr[i,j-1] + tmp_Cr[i,j+1])
+ 28*(tmp_Cr[i,j-2] + tmp_Cr[i,j+2])
+ 8*(tmp_Cr[i,j-3] + tmp_Cr[i,j+3])
+ tmp_Cr[i,j-4] + tmp_Cr[i,j+4]}/256 …(18)
Cr面について説明したが、Cb面についても同様に TCb1[i,j]を算出する。
方法2(メディアン処理)
メディアン処理の場合は、次式(19)により算出する。Cb面についても同様にTCb1[i,j]を算出する。
TCr1[i,j] = Median{Cr[i+m,j+n]} …(19)
ただし、m = 0,±1,±2,±3,±4 n = m = 0,±1,±2,±3,±4
メディアン処理の場合は、次式(19)により算出する。Cb面についても同様にTCb1[i,j]を算出する。
TCr1[i,j] = Median{Cr[i+m,j+n]} …(19)
ただし、m = 0,±1,±2,±3,±4 n = m = 0,±1,±2,±3,±4
ステップS34において、CPUは「色勾配解析」を行う。具体的には、色構造部を破壊しないように、色勾配を調べて偽色と実在色とを判別する。実在色はステップS33の「仮色差補正1」の処理を加えても偽色に比べてコントラストが残りやすいので、その統計的性質から非常に高い確度で区別が可能である。できるだけ精度よく色構造を守るため、実在色間の色コントラストを上げて、偽色間の色コントラストを下げるような色指標面を作る。一般に、偽色は反対色間で現れやすいので、原色間で色指標を生成するのがよい。
すなわち、上述のようにして求まった仮色差信号 TCr1[i,j],TCb1[i,j]から、次式(20)により画素単位の色を評価するための色指標 Cdiff[i,j]に変換する。
Cdiff[i,j] = (|TCr1[i,j]| + |TCb1[i,j]| + |TCr1[i,j] - TCb1[i,j]|)/3 …(20)
上記色指標は、RGB3原色間で組み合わせ可能な全ての色差情報を利用して、色構造の防御性能を向上させている。色差の定義式を展開すると、次式(21)のようになる。
Cdiff = (|R-G| + |G-B| + |B-R|)/3 …(21)
Cdiff[i,j] = (|TCr1[i,j]| + |TCb1[i,j]| + |TCr1[i,j] - TCb1[i,j]|)/3 …(20)
上記色指標は、RGB3原色間で組み合わせ可能な全ての色差情報を利用して、色構造の防御性能を向上させている。色差の定義式を展開すると、次式(21)のようになる。
Cdiff = (|R-G| + |G-B| + |B-R|)/3 …(21)
次に、CPUは、単一の色指標面に色コントラスト情報を押し込めた面内で、色の変化の度合いを表す色勾配を調べる。このとき色勾配検出用の微分フィルタサイズを仮色差補正フィルタのサイズと同一にして色構造部の破壊の可能性がある範囲は全て調べられるようにし、色構造非破壊性を高める。色勾配は、次式(22)で表される。
なお、演算を高速化するために、周辺全画素との微分を調べなくても、もう少し間引いた画素間微分に減らしてもよい。また、ここではステップS33の「仮色差補正1」とともに9×9サイズのフィルタを用いたが、両者で5×5サイズのものを用いてもよい。一般に、9×9サイズの方が更に強力な偽色と実在色の分離性能が得られる。
ステップS35において、CPUは「適応的色差補正1」を行う。具体的には、色勾配の大きさに応じて色差補正処理をするか否かを切り替える。色勾配の大きい色境界部は元の Cr[i,j]がそのまま使われる。まず、次式(23)により色勾配判定マップidx_Cgrad[i,j]を作成する。
if Cgrad[i,j]≦ThG {idx_Cgrad[i,j]=1}
else {idx_Cgrad[i,j]=0} …(23)
そして、次式(24)により色勾配判定マップで色勾配が存在する領域には補正処理を行わず、色勾配が存在しない領域に補正処理を行う。
if idx_grad[i,j]=0 {Cr[i,j]=TCr1[i,j],Cb[i,j]=TCb1[i,j]} …(24)
閾値ThG は、非常に小さな値を設定するだけで、有彩色部、無彩色部を問わず色斑ノイズ、色モアレ発生領域が色差補正対象領域に該当し、色構造部はうまく除外される。閾値ThG は、256階調のときは5以下程度の値をとる。
if Cgrad[i,j]≦ThG {idx_Cgrad[i,j]=1}
else {idx_Cgrad[i,j]=0} …(23)
そして、次式(24)により色勾配判定マップで色勾配が存在する領域には補正処理を行わず、色勾配が存在しない領域に補正処理を行う。
if idx_grad[i,j]=0 {Cr[i,j]=TCr1[i,j],Cb[i,j]=TCb1[i,j]} …(24)
閾値ThG は、非常に小さな値を設定するだけで、有彩色部、無彩色部を問わず色斑ノイズ、色モアレ発生領域が色差補正対象領域に該当し、色構造部はうまく除外される。閾値ThG は、256階調のときは5以下程度の値をとる。
その後、全面に対し3×3サイズ程度の一様なローパス処理を加える。ローパス処理は、例えば次式(25)で表される。
Cr[i,j] = {4*Cr[i,j]
+ 2*(Cr[i-1,j] + Cr[i+1,j] + Cr[i,j-1] + Cr[i,j+1])
+ 1*(Cr[i-1,j-1] + Cr[i+1,j-1] + Cr[i-1,j+1] + Cr[i+1,j+1])}/16 …(25)
上式(25)はCr面について例示したが、Cb面についても同様に Cb[i,j]を算出する。
Cr[i,j] = {4*Cr[i,j]
+ 2*(Cr[i-1,j] + Cr[i+1,j] + Cr[i,j-1] + Cr[i,j+1])
+ 1*(Cr[i-1,j-1] + Cr[i+1,j-1] + Cr[i-1,j+1] + Cr[i+1,j+1])}/16 …(25)
上式(25)はCr面について例示したが、Cb面についても同様に Cb[i,j]を算出する。
ステップS36において、CPUは「仮色差補正2」の処理を行う。具体的には、色評価を正確に行うため、上述した色差面に生じている色モアレを更に除去する。色差メディアンフィルタも考えられるが、次式(26)に例示するローパスフィルタを使用するだけで、高速にその目的を達成することができる。
TCr2[i,j] = {4* Cr[i,j]
+ 2*(Cr[i-2,j] + Cr[i+2,j] + Cr[i,j-2] + Cr[i,j+2])
+ 1*(Cr[i-2,j-2] + Cr[i+2,j-2] + Cr[i-2,j+2] + Cr[i+2,j+2])}/16 …(26)
上式(26)はCr面について説明したが、Cb面についても同様に TCb2[i,j]を算出する。
TCr2[i,j] = {4* Cr[i,j]
+ 2*(Cr[i-2,j] + Cr[i+2,j] + Cr[i,j-2] + Cr[i,j+2])
+ 1*(Cr[i-2,j-2] + Cr[i+2,j-2] + Cr[i-2,j+2] + Cr[i+2,j+2])}/16 …(26)
上式(26)はCr面について説明したが、Cb面についても同様に TCb2[i,j]を算出する。
ステップS37において、CPUは「色指標の導出」を行う。以上の様にして算出された色差成分は、画像の構造的要因をほぼ完全に排除して、画像が実際に持つ色あいを画素単位で計ることのできるスカラー量となっている。色指標としてCr成分が示すRG間の色差と、Cb成分が示すBG間の色差は既に求まっているが、画素単位のスカラー量であるため更にRB間の色差も評価することができ、極めて人間の視覚的判断に近い色評価が行える。次式(27)に色指標 Cdiffの導出式を示す。
Cdiff[i,j] = (|TCr2[i,j]| + |TCb2[i,j]| + |TCr2[i,j] - TCb2[i,j]|)/3 …(27)
Cdiff[i,j] = (|TCr2[i,j]| + |TCb2[i,j]| + |TCr2[i,j] - TCb2[i,j]|)/3 …(27)
したがって、従来技術の色レベルでは問題となった実際の色と構造的要因に伴う撹乱要因を分離し、かつ全色成分間の色差を評価することで、非常に正確な色指標を手にすることができる。なお、この色指標は色味の度合いを表すものと言える。
なお、ここでも更に色指標の精度を上げるため、類似度の周辺加算で行ったようなことを色指標について行ってもよい。
ステップS38において、CPUは、次式(28)を用いて「色判定」を行う。「色判定」では、上記連続的色指標を閾値判定して離散的色指標 BW[i,j]に色判定結果として変換する。
if Cdiff[i,j] =< Thbc BW[i,j] = 'b' 低彩度部
else BW[i,j] = 'c' 彩色部 …(28)
ただし、閾値Thbc は、256階調のときおよそ15程度の値をとる。
if Cdiff[i,j] =< Thbc BW[i,j] = 'b' 低彩度部
else BW[i,j] = 'c' 彩色部 …(28)
ただし、閾値Thbc は、256階調のときおよそ15程度の値をとる。
ステップS39において、CPUは、「適応的色差補正2」を行う。具体的には、次式(29)に例示するように、仮補正処理された色差面では補正前に発生していたナイキスト偽色も彩度低下しているので、S38の「色判定」結果に基づき無彩色部の偽色をできるだけ抑制し、有彩色部の色構造は残す。
if BW[i,j] ≠ 'c' {Cr[i,j] = TCr2[i,j],Cb[i,j] = TCb2[i,j]} …(29)
if BW[i,j] ≠ 'c' {Cr[i,j] = TCr2[i,j],Cb[i,j] = TCb2[i,j]} …(29)
ステップS40において、CPUは「色指標の導出」を行う。上述した様にしてきれいにしかも適応的に偽色除去された色差面を用いてもう一度、色指標 Cdiffを導出する。それによって、輝度面を生成するための同色相関と異色相関の切り替えを行なうための偽色と実在色の判別精度を極限まで高める。次式(30)に色指標 Cdiffの導出式を示す。
Cdiff[i,j] = (|Cr[i,j]| + |Cb[i,j]| + |Cr[i,j] - Cb[i,j]|)/3 …(30)
なお、ここでも更に色指標の精度を上げるため、類似度の周辺加算で行ったようなことを色指標について行ってもよい。
Cdiff[i,j] = (|Cr[i,j]| + |Cb[i,j]| + |Cr[i,j] - Cb[i,j]|)/3 …(30)
なお、ここでも更に色指標の精度を上げるため、類似度の周辺加算で行ったようなことを色指標について行ってもよい。
ステップS41において、CPUは次式(31)を用いて「色判定」を行う。「色判定」では、上記連続的色指標を閾値判定して離散的色指標 BW[i,j]に色判定結果として変換する。
if Cdiff[i,j] =< Thab BW[i,j] = 'a' 無彩色部 …(31)
ただし、閾値 Thab は、256階調のときおよそ5程度の値をとる。
if Cdiff[i,j] =< Thab BW[i,j] = 'a' 無彩色部 …(31)
ただし、閾値 Thab は、256階調のときおよそ5程度の値をとる。
ステップS42において、CPUは「縦横方向判定2」の処理を行う。「縦横方向判定2」の処理は、(S42-1)類似度の算出と、(S42-2)類似性判定とで構成される。具体的には、R,B画素位置について以下の計算を行う。
(S42-1)類似度の算出
類似度の算出は、(a)同色間類似度の算出と、(b)類似度の周辺加算とを行う。
(a)同色間類似度の算出
CPUは、次式(32)〜(37)によりGG間類似度成分、BB(RR)間類似度成分を算出する。
Cv0[i,j] = (Cv1 + Cv2)/2 …(32)
Ch0[i,j] = (Ch1 + Ch2)/2 …(33)
ただし、GG間類似度成分は、
Cv1 = |G[i,j-1] - G[i,j+1]| …(34)
Ch1 = |G[i-1,j] - G[i+1,j]| …(35)
であり、BB(RR)間類似度成分は、
Cv2 = (|Z[i-1,j-1] - Z[i-1,j+1]| + |Z[i+1,j-1] - Z[i+1,j+1]|)/2 …(36)
Ch2 = (|Z[i-1,j-1] - Z[i+1,j-1]| + |Z[i-1,j+1] - Z[i+1,j+1]|)/2 …(37)
である。
類似度の算出は、(a)同色間類似度の算出と、(b)類似度の周辺加算とを行う。
(a)同色間類似度の算出
CPUは、次式(32)〜(37)によりGG間類似度成分、BB(RR)間類似度成分を算出する。
Cv0[i,j] = (Cv1 + Cv2)/2 …(32)
Ch0[i,j] = (Ch1 + Ch2)/2 …(33)
ただし、GG間類似度成分は、
Cv1 = |G[i,j-1] - G[i,j+1]| …(34)
Ch1 = |G[i-1,j] - G[i+1,j]| …(35)
であり、BB(RR)間類似度成分は、
Cv2 = (|Z[i-1,j-1] - Z[i-1,j+1]| + |Z[i+1,j-1] - Z[i+1,j+1]|)/2 …(36)
Ch2 = (|Z[i-1,j-1] - Z[i+1,j-1]| + |Z[i-1,j+1] - Z[i+1,j+1]|)/2 …(37)
である。
(b)類似度の周辺加算
CPUはさらに、次式(38)、(39)により(b)類似度の周辺加算を行う。この処理は、周辺画素との連続性を考慮することにより類似度の精度を上げるためのもので、異色間類似度の場合と同様に、簡略性を優先する場合は省いても良い。
Cv[i,j] = (4*Cv0[i,j]
+ 2*(Cv0[i-1,j-1] + Cv0[i+1,j-1] + Cv0[i-1,j+1] + Cv0[i+1,j+1])
+ Cv0[i,j-2] + Cv0[i,j+2] + Cv0[i-2,j] + Cv0[i+2,j])/16 …(38)
Ch[i,j] = (4*Ch0[i,j]
+ 2*(Ch0[i-1,j-1] + Ch0[i+1,j-1] + Ch0[i-1,j+1] + Ch0[i+1,j+1])
+ Ch0[i,j-2] + Ch0[i,j+2] + Ch0[i-2,j] + Ch0[i+2,j])/16 …(39)
CPUはさらに、次式(38)、(39)により(b)類似度の周辺加算を行う。この処理は、周辺画素との連続性を考慮することにより類似度の精度を上げるためのもので、異色間類似度の場合と同様に、簡略性を優先する場合は省いても良い。
Cv[i,j] = (4*Cv0[i,j]
+ 2*(Cv0[i-1,j-1] + Cv0[i+1,j-1] + Cv0[i-1,j+1] + Cv0[i+1,j+1])
+ Cv0[i,j-2] + Cv0[i,j+2] + Cv0[i-2,j] + Cv0[i+2,j])/16 …(38)
Ch[i,j] = (4*Ch0[i,j]
+ 2*(Ch0[i-1,j-1] + Ch0[i+1,j-1] + Ch0[i-1,j+1] + Ch0[i+1,j+1])
+ Ch0[i,j-2] + Ch0[i,j+2] + Ch0[i-2,j] + Ch0[i+2,j])/16 …(39)
(S42-2)類似性判定
CPUは、上記算出した類似度に基づいて、次式(40)により類似性を判定する。
if |Cv[i,j] - Ch[i,j]| =< Th1 HVs[i,j] = 0 縦横類似性不明
else if Cv[i,j] < Ch[i,j] HVs[i,j] = 1 縦類似
else HVs[i,j] = -1 横類似 …(40)
ただし、閾値 Th1 は、Th0と同程度の値をとる。
CPUは、上記算出した類似度に基づいて、次式(40)により類似性を判定する。
if |Cv[i,j] - Ch[i,j]| =< Th1 HVs[i,j] = 0 縦横類似性不明
else if Cv[i,j] < Ch[i,j] HVs[i,j] = 1 縦類似
else HVs[i,j] = -1 横類似 …(40)
ただし、閾値 Th1 は、Th0と同程度の値をとる。
ステップS43において、CPUは「方向指標の選択」を行う。具体的には、色判定結果に基づいて、次式(41)により異色間類似度による方向判定結果と同色間類似度による方向判定結果とを使い分ける。
if BW[i,j] = 'a' HV[i,j] = HVd[i,j]
else HV[i,j] = HVs[i,j] …(41)
if BW[i,j] = 'a' HV[i,j] = HVd[i,j]
else HV[i,j] = HVs[i,j] …(41)
ステップS44において、CPUは「斜め方向判定」を行う。「斜め方向判定」の処理は、(S44-1)類似度の算出と、(S44-2)類似性判定とで構成される。具体的には、R,B画素位置について以下の計算を行う。
(S44-1)類似度の算出
類似度の算出は、(a)異色、同色間類似度の算出と、(b)類似度の周辺加算とを行う。
(a)類似度の算出
CPUは、次式(42)〜(49)により類似度成分を算出する。
C45_0[i,j] = (a1 * C45_1 + a2 * C45_2 + a3 * C45_3)/(a1 + a2 + a3) …(42)
C135_0[i,j] = (a1 * C135_1 + a2 * C135_2 + a3 * C135_3)/(a1 + a2 + a3) …(43)
ただし、BR(RB)間類似度成分は、
C45_1 = (|Z[i+1,j-1] - Z[i,j]| + |Z[i-1,j+1] - Z[i,j]|)/2 …(44)
C135_1 = (|Z[i-1,j-1] - Z[i,j]| + |Z[i+1,j+1] - Z[i,j]|)/2 …(45)
であり、GG間類似度成分は、
C45_2 = (|G[i,j-1] - G[i-1,j]| + |G[i+1,j] - G[i,j+1]|)/2 …(46)
C135_2 = (|G[i,j-1] - G[i+1,j]| + |G[i-1,j] - G[i,j+1]|)/2 …(47)
BB(RR)間類似度成分は、
C45_3 = |Z[i+1,j-1] - Z[i-1,j+1]| …(48)
C135_3 = (|Z[i-1,j-1] - Z[i+1,j+1]| …(49)
である。定数 a1,a2,a3の値は、a1 = a2 = a3 = 1や、a1 = a2 = 2, a3 = 1などに設定するとよい。
類似度の算出は、(a)異色、同色間類似度の算出と、(b)類似度の周辺加算とを行う。
(a)類似度の算出
CPUは、次式(42)〜(49)により類似度成分を算出する。
C45_0[i,j] = (a1 * C45_1 + a2 * C45_2 + a3 * C45_3)/(a1 + a2 + a3) …(42)
C135_0[i,j] = (a1 * C135_1 + a2 * C135_2 + a3 * C135_3)/(a1 + a2 + a3) …(43)
ただし、BR(RB)間類似度成分は、
C45_1 = (|Z[i+1,j-1] - Z[i,j]| + |Z[i-1,j+1] - Z[i,j]|)/2 …(44)
C135_1 = (|Z[i-1,j-1] - Z[i,j]| + |Z[i+1,j+1] - Z[i,j]|)/2 …(45)
であり、GG間類似度成分は、
C45_2 = (|G[i,j-1] - G[i-1,j]| + |G[i+1,j] - G[i,j+1]|)/2 …(46)
C135_2 = (|G[i,j-1] - G[i+1,j]| + |G[i-1,j] - G[i,j+1]|)/2 …(47)
BB(RR)間類似度成分は、
C45_3 = |Z[i+1,j-1] - Z[i-1,j+1]| …(48)
C135_3 = (|Z[i-1,j-1] - Z[i+1,j+1]| …(49)
である。定数 a1,a2,a3の値は、a1 = a2 = a3 = 1や、a1 = a2 = 2, a3 = 1などに設定するとよい。
(b)類似度の周辺加算
CPUはさらに、次式(50)、(51)により(b)類似度の周辺加算を行う。この処理は、周辺画素との連続性を考慮することにより類似度の精度を上げるためのもので、縦横方向の類似度の場合と同様に、簡略性を優先する場合は省いても良い。
C45[i,j] = (4*C45_0[i,j]
+ 2*(C45_0[i-1,j-1] + C45_0[i+1,j-1]
+ C45_0[i-1,j+1] + C45_0[i+1,j+1])
+ C45_0[i,j-2] + C45_0[i,j+2] + C45_0[i-2,j] + C45_0[i+2,j])/16 …(50)
C135[i,j] = (4*C135_0[i,j]
+ 2*(C135_0[i-1,j-1] + C135_0[i+1,j-1]
+ C135_0[i-1,j+1] + C135_0[i+1,j+1])
+ C135_0[i,j-2] + C135_0[i,j+2] + C135_0[i-2,j] + C135_0[i+2,j])/16 …(51)
CPUはさらに、次式(50)、(51)により(b)類似度の周辺加算を行う。この処理は、周辺画素との連続性を考慮することにより類似度の精度を上げるためのもので、縦横方向の類似度の場合と同様に、簡略性を優先する場合は省いても良い。
C45[i,j] = (4*C45_0[i,j]
+ 2*(C45_0[i-1,j-1] + C45_0[i+1,j-1]
+ C45_0[i-1,j+1] + C45_0[i+1,j+1])
+ C45_0[i,j-2] + C45_0[i,j+2] + C45_0[i-2,j] + C45_0[i+2,j])/16 …(50)
C135[i,j] = (4*C135_0[i,j]
+ 2*(C135_0[i-1,j-1] + C135_0[i+1,j-1]
+ C135_0[i-1,j+1] + C135_0[i+1,j+1])
+ C135_0[i,j-2] + C135_0[i,j+2] + C135_0[i-2,j] + C135_0[i+2,j])/16 …(51)
(S44-2)類似性判定
CPUは、上記算出した類似度に基づいて、次式(52)により類似性を判定する。
if |C45[i,j] - C135[i,j]| =< Th2 DN[i,j] = 0 斜め類似性不明
else if C45[i,j] < C135[i,j] DN[i,j] = 1 斜め45゜類似
else DN[i,j] = -1 斜め135゜類似 …(52)
ただし、閾値 Th2 は、Th0 やTh1 と同程度の値をとる。
CPUは、上記算出した類似度に基づいて、次式(52)により類似性を判定する。
if |C45[i,j] - C135[i,j]| =< Th2 DN[i,j] = 0 斜め類似性不明
else if C45[i,j] < C135[i,j] DN[i,j] = 1 斜め45゜類似
else DN[i,j] = -1 斜め135゜類似 …(52)
ただし、閾値 Th2 は、Th0 やTh1 と同程度の値をとる。
ステップS45において、CPUは次式(53)により「G面生成」を行う。
if [i,j] is not a G site in a Bayer plane{
if HV[i,j] = 0{
if DN[i,j] = 0 G[i,j] = (Gv + Gh)/2
else if DN[i,j] = 1 G[i,j] = (Gv45 + Gh45)/2
else G[i,j] = (Gv135 + Gh135)/2
}
else if HV[i,j] = 1{
if DN[i,j] = 0 G[i,j] = Gv
else if DN[i,j] = 1 G[i,j] = Gv45
else G[i,j] = Gv135
}
else{
if DN[i,j] = 0 G[i,j] = Gh
else if DN[i,j] = 1 G[i,j] = Gh45
else G[i,j] = Gh135
}
} …(53)
ここで、
Gv = (G[i,j-1] + G[i,j+1])/2
+ (2*Z[i,j] - Z[i,j-2] - Z[i,j+2])/8
+ (2*G[i-1,j] - G[i-1,j-2] - G[i-1,j+2]
+ 2*G[i+1,j] - G[i+1,j-2] - G[i+1,j+2])/16 …(54)
Gv45 = (G[i,j-1] + G[i,j+1])/2
+ (2*Z[i,j] - Z[i,j-2] - Z[i,j+2])/8
+ (2*Z[i-1,j+1] - Z[i-1,j-1] - Z[i-1,j+3]
+ 2*Z[i+1,j-1] - Z[i+1,j-3] - Z[i+1,j+1])/16 …(55)
Gv135 = (G[i,j-1] + G[i,j+1])/2
+ (2*Z[i,j] - Z[i,j-2] - Z[i,j+2])/8
+ (2*Z[i-1,j-1] - Z[i-1,j-3] - Z[i-1,j+1]
+ 2*Z[i+1,j+1] - Z[i+1,j-1] - Z[i+1,j+3])/16 …(56)
Gh = (G[i-1,j] + G[i+1,j])/2
+ (2*Z[i,j] - Z[i-2,j] - Z[i+2,j])/8
+ (2*G[i,j-1] - G[i-2,j-1] - G[i+2,j-1]
+ 2*G[i,j+1] - G[i-2,j+1] - G[i+2,j+1])/16 …(57)
Gh45 = (G[i-1,j] + G[i+1,j])/2
+ (2*Z[i,j] - Z[i-2,j] - Z[i+2,j])/8
+ (2*Z[i+1,j-1] - Z[i-1,j-1] - Z[i+3,j-1]
+ 2*Z[i-1,j+1] - Z[i-3,j+1] - Z[i+1,j+1])/16 …(58)
Gh135 = (G[i-1,j] + G[i+1,j])/2
+ (2*Z[i,j] - Z[i-2,j] - Z[i+2,j])/8
+ (2*Z[i-1,j-1] - Z[i-3,j-1] - Z[i+1,j-1]
+ 2*Z[i+1,j+1] - Z[i-1,j+1] - Z[i+3,j+1])/16 …(59)
とする。
if [i,j] is not a G site in a Bayer plane{
if HV[i,j] = 0{
if DN[i,j] = 0 G[i,j] = (Gv + Gh)/2
else if DN[i,j] = 1 G[i,j] = (Gv45 + Gh45)/2
else G[i,j] = (Gv135 + Gh135)/2
}
else if HV[i,j] = 1{
if DN[i,j] = 0 G[i,j] = Gv
else if DN[i,j] = 1 G[i,j] = Gv45
else G[i,j] = Gv135
}
else{
if DN[i,j] = 0 G[i,j] = Gh
else if DN[i,j] = 1 G[i,j] = Gh45
else G[i,j] = Gh135
}
} …(53)
ここで、
Gv = (G[i,j-1] + G[i,j+1])/2
+ (2*Z[i,j] - Z[i,j-2] - Z[i,j+2])/8
+ (2*G[i-1,j] - G[i-1,j-2] - G[i-1,j+2]
+ 2*G[i+1,j] - G[i+1,j-2] - G[i+1,j+2])/16 …(54)
Gv45 = (G[i,j-1] + G[i,j+1])/2
+ (2*Z[i,j] - Z[i,j-2] - Z[i,j+2])/8
+ (2*Z[i-1,j+1] - Z[i-1,j-1] - Z[i-1,j+3]
+ 2*Z[i+1,j-1] - Z[i+1,j-3] - Z[i+1,j+1])/16 …(55)
Gv135 = (G[i,j-1] + G[i,j+1])/2
+ (2*Z[i,j] - Z[i,j-2] - Z[i,j+2])/8
+ (2*Z[i-1,j-1] - Z[i-1,j-3] - Z[i-1,j+1]
+ 2*Z[i+1,j+1] - Z[i+1,j-1] - Z[i+1,j+3])/16 …(56)
Gh = (G[i-1,j] + G[i+1,j])/2
+ (2*Z[i,j] - Z[i-2,j] - Z[i+2,j])/8
+ (2*G[i,j-1] - G[i-2,j-1] - G[i+2,j-1]
+ 2*G[i,j+1] - G[i-2,j+1] - G[i+2,j+1])/16 …(57)
Gh45 = (G[i-1,j] + G[i+1,j])/2
+ (2*Z[i,j] - Z[i-2,j] - Z[i+2,j])/8
+ (2*Z[i+1,j-1] - Z[i-1,j-1] - Z[i+3,j-1]
+ 2*Z[i-1,j+1] - Z[i-3,j+1] - Z[i+1,j+1])/16 …(58)
Gh135 = (G[i-1,j] + G[i+1,j])/2
+ (2*Z[i,j] - Z[i-2,j] - Z[i+2,j])/8
+ (2*Z[i-1,j-1] - Z[i-3,j-1] - Z[i+1,j-1]
+ 2*Z[i+1,j+1] - Z[i-1,j+1] - Z[i+3,j+1])/16 …(59)
とする。
以上説明したように、各画素位置において Cr[i,j]、Cb[i,j]、G[i,j]がそれぞれ求まるので、カラー画像が出来上がる。ステップS46において、CPUは、RGB表色系にする場合は、次式(60)により表色変換を行う。
R[i,j] = Cr[i,j] + G[i,j]
B[i,j] = Cb[i,j] + G[i,j] …(60)
R[i,j] = Cr[i,j] + G[i,j]
B[i,j] = Cb[i,j] + G[i,j] …(60)
図7のステップS4において、CPUは、アクティブに3つの補間用ガンマ空間を利用して生成する補間画像に対しても、ステップS3の処理を3回通して得る。ただし、均等ノイズ空間以外で方向判定指標や色差面平滑化のための切り替え指標を求めるのは、信頼性が低く危険である。なぜならば、均等ノイズ化されていなければ、ノイズの影響を受けて方向判断を誤る恐れがあるからである。色に関しても、均等色空間と呼ばれうる立方根階調や平方根階調から極端にずれている場合は、視覚に合った正しい色を評価できない恐れがあるからである。
このような状況に対処するため、ステップS3で生成された最終的な方向判定指標HV[i,j]、DN[i,j]、及び適応的な偽色除去の切り替え指標である色勾配判定マップidx_Cgrad[i,j]、色判定マップBW[i,j]をそのまま参照データとして保持しておき、全てに共通の指標を用いるようにする。こうすることにより、演算量が減るばかりでなく、3通りの補間画像が共通の方向判定指標や同じ偽色除去指標が参照されるので、画像としても3者間で矛盾のない同じ方向の解像と偽色抑制過程を経た補間結果が得られる。
こうして求まったΓ1、Γ2、Γ3空間における補間画像をそれぞれ次式(61)のように表す。
Γ1空間:R(Γ1)(x,y)、G(Γ1)(x,y)、B(Γ1)(x,y)
Γ2空間:R(Γ2)(x,y)、G(Γ2)(x,y)、B(Γ2)(x,y) …(61)
Γ3空間:R(Γ3)(x,y)、G(Γ3)(x,y)、B(Γ3)(x,y)
Γ1空間:R(Γ1)(x,y)、G(Γ1)(x,y)、B(Γ1)(x,y)
Γ2空間:R(Γ2)(x,y)、G(Γ2)(x,y)、B(Γ2)(x,y) …(61)
Γ3空間:R(Γ3)(x,y)、G(Γ3)(x,y)、B(Γ3)(x,y)
ステップS5において、CPUは、補間画像の階調整合を行う。異なった3つの補間用ガンマ空間(Γ1、Γ2、Γ3)で予測された補間値が実際にどれだけの違いを持っているのかを測定するためには、共通のガンマ空間に移行した上で、その差異を見る必要がある。さもないと、補間値がガンマ特性の違いの影響をそのまま被ってしまうからである。そこで、共通のガンマ空間として基準階調である補間用ガンマ空間(Γ2空間)を選ぶ。
基準の補間用ガンマ空間(Γ2空間)に移行したそれぞれの補間画像を、次式(62)のように表す。
Γ1空間→Γ2空間:R(Γ1→Γ2)(x,y)、G(Γ1→Γ2)(x,y)、B(Γ1→Γ2)(x,y)
Γ2空間→Γ2空間:R(Γ2→Γ2)(x,y)、G(Γ2→Γ2)(x,y)、B(Γ2→Γ2)(x,y) …(62)
Γ3空間→Γ2空間:R(Γ3→Γ2)(x,y)、G(Γ3→Γ2)(x,y)、B(Γ3→Γ2)(x,y)
ただし、Γ2空間→Γ2空間は何も処理をする必要はない。すなわち、R(Γ2→Γ2)(x,y) = R(Γ2)(x,y)、G(Γ2→Γ2)(x,y) = G(Γ2)(x,y)、B(Γ2→Γ2)(x,y) = B(Γ2)(x,y)である。
Γ1空間→Γ2空間:R(Γ1→Γ2)(x,y)、G(Γ1→Γ2)(x,y)、B(Γ1→Γ2)(x,y)
Γ2空間→Γ2空間:R(Γ2→Γ2)(x,y)、G(Γ2→Γ2)(x,y)、B(Γ2→Γ2)(x,y) …(62)
Γ3空間→Γ2空間:R(Γ3→Γ2)(x,y)、G(Γ3→Γ2)(x,y)、B(Γ3→Γ2)(x,y)
ただし、Γ2空間→Γ2空間は何も処理をする必要はない。すなわち、R(Γ2→Γ2)(x,y) = R(Γ2)(x,y)、G(Γ2→Γ2)(x,y) = G(Γ2)(x,y)、B(Γ2→Γ2)(x,y) = B(Γ2)(x,y)である。
ステップS6において、CPUは、階調間のラプラシアン抽出を行う。3通りの補間用ガンマ空間(Γ1、Γ2、Γ3)で得られた補間画像であって、基準となるΓ2空間に移行された補間画像を用いて、各色面の同一画素内でアクティブに3通りの補間値予測空間を用いて予測された補間値のコントラストの違いを、基準画像の結果に対する2次微分、すなわちラプラシアン成分という形で抽出する。
ラプラシアン成分は次式(63)で表される。
△R(Γ2)(x,y) = 2*R(Γ2→Γ2)(x,y) - R(Γ1→Γ2)(x,y) - R(Γ3→Γ2)(x,y)
△G(Γ2)(x,y) = 2*G(Γ2→Γ2)(x,y) - G(Γ1→Γ2)(x,y) - G(Γ3→Γ2)(x,y) …(63)
△B(Γ2)(x,y) = 2*B(Γ2→Γ2)(x,y) - B(Γ1→Γ2)(x,y) - B(Γ3→Γ2)(x,y)
△R(Γ2)(x,y) = 2*R(Γ2→Γ2)(x,y) - R(Γ1→Γ2)(x,y) - R(Γ3→Γ2)(x,y)
△G(Γ2)(x,y) = 2*G(Γ2→Γ2)(x,y) - G(Γ1→Γ2)(x,y) - G(Γ3→Γ2)(x,y) …(63)
△B(Γ2)(x,y) = 2*B(Γ2→Γ2)(x,y) - B(Γ1→Γ2)(x,y) - B(Γ3→Γ2)(x,y)
こうして抽出されるラプラシアン成分は、3つの補間用ガンマ空間(Γ1、Γ2、Γ3)で予測された補間値に用いられる方向判定結果は共通の指標を用いているので、方向判定の違いによる変なパターン生成をしてしまう心配なしに、安定した微細な補正成分を抽出する。また、偽色の抑制効果も同位相に揃っているため、同様のことがいえる。
ステップS7において、CPUは、基準補間画像の補正を行う。ステップS3で求めた補間用ガンマ空間(Γ2空間)での補間画像 R(Γ2)(x,y)、G(Γ2)(x,y)、B(Γ2)(x,y)を、ラプラシアン成分でコントラスト補正をする処理を行って、補間で抽出しうる階調コントラストを最大化する(次式(64))。
R'(Γ2)(x,y )= R(Γ2→Γ2)(x,y) + k*△R(Γ2)(x,y)
G'(Γ2)(x,y) = G(Γ2→Γ2)(x,y) + k*△G(Γ2)(x,y) …(64)
B'(Γ2)(x,y) = B(Γ2→Γ2)(x,y) + k*△B(Γ2)(x,y)
ただし、定数 kの値は、通常1ないしは0.5の値をとる。
R'(Γ2)(x,y )= R(Γ2→Γ2)(x,y) + k*△R(Γ2)(x,y)
G'(Γ2)(x,y) = G(Γ2→Γ2)(x,y) + k*△G(Γ2)(x,y) …(64)
B'(Γ2)(x,y) = B(Γ2→Γ2)(x,y) + k*△B(Γ2)(x,y)
ただし、定数 kの値は、通常1ないしは0.5の値をとる。
ステップS8において、CPUは、補間画像の出力色空間変換を行う。具体的には、上式(64)によるコントラスト補正後の補間画像(Γ2空間で補間されたRGB画像)の階調特性を逆変換して線形階調に戻した後、任意の色変換処理と出力ガンマ変換処理を行って出力色空間画像として出力する。出力色空間として代表的なものは、例えば、sRGB色空間などがある。
以上説明した第一の実施形態によれば、次の作用効果が得られる。
(1)画像処理装置は、RGB色成分からなる画像データであって欠落する色成分が存在する画像データに対して、線形階調の画像信号を曲率が異なる3つの階調特性Γ1、Γ2、Γ3の画像処理空間の画像信号に変換する(S2)CPUと、階調変換された各々の画像信号の欠落色成分を補間して、3通りの Bayer 補間画像を生成する(S4)CPUと、3通りの補間画像を基準の階調特性Γ2の画像処理空間の画像に変換して階調特性を合わせる(S5)CPUと、3つの階調特性Γ1、Γ2、Γ3で補間され基準の階調特性Γ2に階調整合された3通りの Bayer 補間画像を用いて、3つの画像の同一の画素間で、階調特性Γ2の補間画像の画素値と階調特性Γ1の補間画像の画素値との間の差分値、および階調特性Γ2の補間画像の画素値と階調特性Γ3の補間画像の画素値との間の差分値をそれぞれ抽出する(S6)CPUと、階調特性Γ2の補間画像に対して、差分値を同一の画素に加算する(S7)CPUと、加算後の画像信号を出力色空間の画像信号に変換する(S8)CPUと、を備えるようにした。これにより、全階調領域で平均的に優れたコントラスト解像を行うことができる従来の画像予測空間の性能を最大限に保ちつつ、更に高コントラストな補間画像を提供できる高精細な補間を行うことができる。すなわち、3つの補間ガンマΓ1、Γ2、Γ3による予測空間を用いて3通りの補間結果を生成し、中間に位置する補間ガンマΓ2による補間結果を基準とし、3者の間の同一画素内での階調間の2回微分成分を抽出して基準画像に加算する方式を導入した。それによって、従来の基準画像による補間品質を最大限に生かしつつ、基準画像のガンマ空間Γ2では抽出できなかったそれ以外のガンマ空間Γ1、Γ3で予測されたコントラストを最大限に反映させることが可能になった。これは、補間処理の中で抽出しうる画像が本来持つコントラストを最大化するので、画像全体の曇り感や被りが消え、全体的に非常に透明感や解像感、立体感の増した高精細な補間画像が得られる。
(1)画像処理装置は、RGB色成分からなる画像データであって欠落する色成分が存在する画像データに対して、線形階調の画像信号を曲率が異なる3つの階調特性Γ1、Γ2、Γ3の画像処理空間の画像信号に変換する(S2)CPUと、階調変換された各々の画像信号の欠落色成分を補間して、3通りの Bayer 補間画像を生成する(S4)CPUと、3通りの補間画像を基準の階調特性Γ2の画像処理空間の画像に変換して階調特性を合わせる(S5)CPUと、3つの階調特性Γ1、Γ2、Γ3で補間され基準の階調特性Γ2に階調整合された3通りの Bayer 補間画像を用いて、3つの画像の同一の画素間で、階調特性Γ2の補間画像の画素値と階調特性Γ1の補間画像の画素値との間の差分値、および階調特性Γ2の補間画像の画素値と階調特性Γ3の補間画像の画素値との間の差分値をそれぞれ抽出する(S6)CPUと、階調特性Γ2の補間画像に対して、差分値を同一の画素に加算する(S7)CPUと、加算後の画像信号を出力色空間の画像信号に変換する(S8)CPUと、を備えるようにした。これにより、全階調領域で平均的に優れたコントラスト解像を行うことができる従来の画像予測空間の性能を最大限に保ちつつ、更に高コントラストな補間画像を提供できる高精細な補間を行うことができる。すなわち、3つの補間ガンマΓ1、Γ2、Γ3による予測空間を用いて3通りの補間結果を生成し、中間に位置する補間ガンマΓ2による補間結果を基準とし、3者の間の同一画素内での階調間の2回微分成分を抽出して基準画像に加算する方式を導入した。それによって、従来の基準画像による補間品質を最大限に生かしつつ、基準画像のガンマ空間Γ2では抽出できなかったそれ以外のガンマ空間Γ1、Γ3で予測されたコントラストを最大限に反映させることが可能になった。これは、補間処理の中で抽出しうる画像が本来持つコントラストを最大化するので、画像全体の曇り感や被りが消え、全体的に非常に透明感や解像感、立体感の増した高精細な補間画像が得られる。
(2)上記(1)の画像処理装置において、階調変換する(S2)CPUは、線形階調特性Γ1、平方根階調特性Γ2、および立方根階調特性Γ3を、それぞれ用いるようにしたので、線形階調のガンマ空間Γ2では抽出できなかった平方根階調のガンマ空間Γ1や立方根階調のガンマ空間Γ3で予測されたコントラストを最大限に反映させることができる。
(3)上記(1)または(2)の画像処理装置において、色成分を補間して3通りの Bayer 補間画像を生成する(S4)CPUは、欠落する色成分の補間値を、欠落する色成分の色情報のみならず他の色成分の色情報も用いて算出するので、適切に色成分を補間できる。
(4)画像処理装置は、RGB色成分からなる画像データであって欠落する色成分が存在する画像データに対して、線形階調の画像信号を曲率が異なる3つの階調特性Γ1、Γ2、Γ3の画像処理空間の画像信号に変換する(S2)CPUと、階調変換された各々の画像信号の欠落色成分を補間して、3通りのBayer 補間画像を生成する(S4)CPUと、3通りの補間画像を基準の階調特性Γ2の画像処理空間の画像に変換して階調特性を合わせる(S5)CPUと、3つの階調特性Γ1、Γ2、Γ3で補間され基準の階調特性Γ2に階調整合された3通りのBayer 補間画像を用いて、3つの画像の同一の画素間で、階調特性Γ2の補間画像の画素値に対する階調特性Γ1の補間画像の画素値と階調特性Γ3の補間画像の画素値との間のラプラシアン成分を抽出する(S6)CPUと、階調特性Γ2の補間画像に対して、ラプラシアン成分を同一の画素に加算する(S7)CPUと、を備えるようにした。これにより、全階調領域で平均的に優れたコントラスト解像を行うことができる従来の画像予測空間の性能を最大限に保ちつつ、更に高コントラストな補間画像を提供できる高精細な補間を行うことができる。
(5)上記(4)の画像処理装置において、階調変換する(S2)CPUは、線形階調特性Γ1、平方根階調特性Γ2、および立方根階調特性Γ3を、それぞれ用いるようにしたので、線形階調のガンマ空間Γ2では抽出できなかった平方根階調のガンマ空間Γ1や立方根階調のガンマ空間Γ3で予測されたコントラストを最大限に反映させることができる。
(6)上記(4)または(5)の画像処理装置において、色成分を補間して3通りの Bayer 補間画像を生成する(S4)CPUは、欠落する色成分の補間値を、欠落する色成分の色情報のみならず他の色成分の色情報も用いて算出するので、適切に色成分を補間できる。
(変形例1)
上記の説明では、3つの階調特性Γ1、Γ2、Γ3で補間され基準の階調特性Γ2に階調整合された3通りのBayer 補間画像を用いて、3つの画像の同一の画素間で、階調特性Γ2の補間画像の画素値に対する階調特性Γ1の補間画像の画素値と階調特性Γ3の補間画像の画素値との間のラプラシアン成分を抽出(S6)し、階調特性Γ2の補間画像に対して、ラプラシアン成分を同一の画素に加算する(S8)例を説明した。この代わりに、階調特性Γ2の補間画像の画素値と階調特性Γ1の補間画像の画素値との間の差分値、または、階調特性Γ2の補間画像の画素値と階調特性Γ3の補間画像の画素値との間の差分値を抽出し、階調特性Γ2の補間画像に対して、上記差分値を同一の画素に加算するように構成してもよい。この場合でも、基準階調のガンマ空間Γ2では抽出できなかったガンマ空間Γ1またはガンマ空間Γ3で予測されたコントラストを最大限に反映させることができる。
上記の説明では、3つの階調特性Γ1、Γ2、Γ3で補間され基準の階調特性Γ2に階調整合された3通りのBayer 補間画像を用いて、3つの画像の同一の画素間で、階調特性Γ2の補間画像の画素値に対する階調特性Γ1の補間画像の画素値と階調特性Γ3の補間画像の画素値との間のラプラシアン成分を抽出(S6)し、階調特性Γ2の補間画像に対して、ラプラシアン成分を同一の画素に加算する(S8)例を説明した。この代わりに、階調特性Γ2の補間画像の画素値と階調特性Γ1の補間画像の画素値との間の差分値、または、階調特性Γ2の補間画像の画素値と階調特性Γ3の補間画像の画素値との間の差分値を抽出し、階調特性Γ2の補間画像に対して、上記差分値を同一の画素に加算するように構成してもよい。この場合でも、基準階調のガンマ空間Γ2では抽出できなかったガンマ空間Γ1またはガンマ空間Γ3で予測されたコントラストを最大限に反映させることができる。
<第二の実施形態>
第一の実施形態では、Bayer 補間の際にRGB成分の全ての色面で階調間ラプラシアンを抽出し、各色面の3成分に対して補間コントラストを補正する例を説明した。第二の実施形態では、これをもう少し簡便にして、輝度面に対してのみ補間コントラスト補正を行う例を示す。以降の説明では、第一の実施形態と同様の処理を行う部分の説明は省き、異なる処理を中心に説明する。
第一の実施形態では、Bayer 補間の際にRGB成分の全ての色面で階調間ラプラシアンを抽出し、各色面の3成分に対して補間コントラストを補正する例を説明した。第二の実施形態では、これをもう少し簡便にして、輝度面に対してのみ補間コントラスト補正を行う例を示す。以降の説明では、第一の実施形態と同様の処理を行う部分の説明は省き、異なる処理を中心に説明する。
<輝度面のラプラシアン成分の生成>
CPUは、図7のステップS6において抽出した式(63)に基づくR,G,B各色成分の階調間ラプラシアン成分△R(Γ2)(x,y)、△G(Γ2)(x,y)、△B(Γ2)(x,y)から、輝度成分の階調間ラプラシアン成分△Y(Γ2)(x,y)を次式(65)により生成する。
△Y(Γ2)(x,y) = 0.3△R(Γ2)(x,y) + 0.6△G(Γ2)(x,y) + 0.1△B(Γ2)(x,y) …(65)
CPUは、図7のステップS6において抽出した式(63)に基づくR,G,B各色成分の階調間ラプラシアン成分△R(Γ2)(x,y)、△G(Γ2)(x,y)、△B(Γ2)(x,y)から、輝度成分の階調間ラプラシアン成分△Y(Γ2)(x,y)を次式(65)により生成する。
△Y(Γ2)(x,y) = 0.3△R(Γ2)(x,y) + 0.6△G(Γ2)(x,y) + 0.1△B(Γ2)(x,y) …(65)
ステップS7において、CPUは、以下のように基準補間画像の補正を行う。CPUは、図7のステップS3で求めたRGB補間画像を一旦、輝度面と色差面に変換して、輝度面に対して階調間ラプラシアン成分で補正を行った後に、元のRGB面に戻す。基準補間画像を補正する処理の流れについて、図9に例示するフローチャートを参照して説明する。
図9のステップS81において、CPUは、次式(66)〜(68)によりRGB補間画像を輝度・色差面へ変換する。
Y(x,y) = 0.3R(Γ2→Γ2)(x,y) + 0.6G(Γ2→Γ2)(x,y) + 0.1B(Γ2→Γ2)(x,y) …(66)
Cr(x,y) = R(Γ2→Γ2)(x,y) - Y(x,y) …(67)
Cb(x,y) = B(Γ2→Γ2)(x,y) - Y(x,y) …(68)
Y(x,y) = 0.3R(Γ2→Γ2)(x,y) + 0.6G(Γ2→Γ2)(x,y) + 0.1B(Γ2→Γ2)(x,y) …(66)
Cr(x,y) = R(Γ2→Γ2)(x,y) - Y(x,y) …(67)
Cb(x,y) = B(Γ2→Γ2)(x,y) - Y(x,y) …(68)
ステップS82において、CPUは、次式(69)により輝度面を補正する。
Y'(x,y) = Y(x,y) + △Y(Γ2)(x,y) …(69)
Y'(x,y) = Y(x,y) + △Y(Γ2)(x,y) …(69)
ステップS83において、CPUは、次式(70)により元のRGB面へ逆変換する。
R'(Γ2)(x,y) = Cr(x,y) + Y'(x,y)
B'(Γ2)(x,y) = Cb(x,y) + Y'(x,y) …(70)
G'(Γ2)(x,y) = [Y'(x,y) - 0.3R'(Γ2)(x,y) - 0.1B'(Γ2)(x,y)]/0.6
R'(Γ2)(x,y) = Cr(x,y) + Y'(x,y)
B'(Γ2)(x,y) = Cb(x,y) + Y'(x,y) …(70)
G'(Γ2)(x,y) = [Y'(x,y) - 0.3R'(Γ2)(x,y) - 0.1B'(Γ2)(x,y)]/0.6
以上説明した第二の実施形態によれば、各色面の3成分に対して補間コントラストを補正する代わりに輝度面に対してのみ補間コントラストを補正することにより、第一の実施形態より簡便に構成できる。
<第三の実施形態>
第一の実施形態および第二の実施形態では、Bayer 配列などのデモザイク処理においてアクティブに補間用ガンマ空間を動かして、補間予測値として得られるコントラストの最大振幅を抽出する手法を示した。これと同様の考え方は、補間済みの一般画像に対して画像処理を行う場合にも適用することができる。例えば、エッジ強調をする場合において、入力画像の階調特性のままエッジ検出を行い、抽出されたエッジ成分に対してゲインを掛けて元画像に加算するような処理を行う。あるいは、L*a*b*のような均等色空間に変換して、輝度面L*に対してエッジ検出を行い、エッジ成分を加算するようなことを行う。あるいは、本出願人と同一発明者による米国特許第7,940,983号明細書に示されるように均等色・均等ノイズ空間に変換して輝度面に対して同様な処理を行う。
第一の実施形態および第二の実施形態では、Bayer 配列などのデモザイク処理においてアクティブに補間用ガンマ空間を動かして、補間予測値として得られるコントラストの最大振幅を抽出する手法を示した。これと同様の考え方は、補間済みの一般画像に対して画像処理を行う場合にも適用することができる。例えば、エッジ強調をする場合において、入力画像の階調特性のままエッジ検出を行い、抽出されたエッジ成分に対してゲインを掛けて元画像に加算するような処理を行う。あるいは、L*a*b*のような均等色空間に変換して、輝度面L*に対してエッジ検出を行い、エッジ成分を加算するようなことを行う。あるいは、本出願人と同一発明者による米国特許第7,940,983号明細書に示されるように均等色・均等ノイズ空間に変換して輝度面に対して同様な処理を行う。
これらの場合、エッジ検出を行う色面の階調特性がある曲線に固定されるため、例えば高輝度部のニー特性が強く寝ているような曲線の階調空間を用いていると、高輝度部のエッジコントラストが十分に抽出されないような問題が発生する。このような問題に対処するため、第一の実施形態や第二の実施形態で示したように、アクティブに階調空間を変化させ、それぞれで抽出されるエッジ成分で階調間コントラスト成分を取り出し、基準階調空間で抽出されたエッジ成分をそれで補正するという考え方が成り立つ。
第三の実施形態は、モノクロ画像に対するエッジ強調処理を例にあげて説明する。カラー画像の場合は、モノクロ画像の処理をR,G,B面の各々に対して同じ処理を行うか、輝度・色差面に変換して輝度面に対してのみモノクロ画像と同じ処理を行うかの何れかを行えばよい。
エッジ強調を行うための基準階調空間Γ2は、第一の実施形態と同じく均等ノイズ空間となる平方根型の階調特性とする。そして、Γ1とΓ3空間も第一の実施形態と同様の階調特性とする。これらの階調特性の設定方法は、これらに限る必要はない。例えば、均等色空間L*を基準階調空間とする場合、Γ2空間は立方根の階調特性を持つから、Γ1空間として平方根型の均等ノイズ空間を、Γ3空間として対数特性の階調を設定することも可能である。
<輝度面のラプラシアン成分の生成>
第三の実施形態のCPUが行うエッジ強調処理の流れについて、図10に例示するフローチャートを参照して説明する。図10のステップS91において、CPUは、標準的なガンマ曲線がかかったモノクロ画像 M(x,y)を入力する。
第三の実施形態のCPUが行うエッジ強調処理の流れについて、図10に例示するフローチャートを参照して説明する。図10のステップS91において、CPUは、標準的なガンマ曲線がかかったモノクロ画像 M(x,y)を入力する。
ステップS92において、CPUは、モノクロ画像に対して3通りの階調変換を行う。具体的には、入力画像データのガンマ特性を線形階調に戻した後に、前述の3通りの画像処理用ガンマ空間(Γ1、Γ2、Γ3)に変換する。その結果、M(Γ1)(x,y)、M(Γ2)(x,y)、M(Γ3)(x,y)が生成される。
ステップS93において、CPUは3通りのエッジ成分を抽出する。具体的には、3通りの画像処理用ガンマ空間(Γ1、Γ2、Γ3)における各々の階調空間の画像面で、次式(71)〜(73)により平滑化した画像と原画像との差分値をとってエッジ成分を抽出する。
Γ1空間:E(Γ1)(x,y) = M(Γ1)(x,y) - <M(Γ1)(x,y)> …(71)
Γ2空間:E(Γ2)(x,y) = M(Γ2)(x,y) - <M(Γ2)(x,y)> …(72)
Γ3空間:E(Γ3)(x,y) = M(Γ3)(x,y) - <M(Γ3)(x,y)> …(73)
ただし、記号<>は複数の画素の局所平均を表す。
Γ1空間:E(Γ1)(x,y) = M(Γ1)(x,y) - <M(Γ1)(x,y)> …(71)
Γ2空間:E(Γ2)(x,y) = M(Γ2)(x,y) - <M(Γ2)(x,y)> …(72)
Γ3空間:E(Γ3)(x,y) = M(Γ3)(x,y) - <M(Γ3)(x,y)> …(73)
ただし、記号<>は複数の画素の局所平均を表す。
ステップS94において、CPUは、エッジ成分の階調間のラプラシアン抽出とエッジ成分の補正を行う。具体的には、上記3つの画像処理用ガンマ空間で抽出されたエッジ成分から、同一画素内でΓ2空間のエッジ成分に対するΓ1空間のエッジ成分とΓ3空間のエッジ成分との間のラプラシアン成分を抽出し、それによってΓ2空間のエッジ成分のコントラストを補正する(次式74)。
E'(Γ2)(x,y) = E(Γ2)(x,y) + k*[2*E(Γ2)(x,y) - E(Γ1)(x,y) - E(Γ3)(x,y)] …(74)
ここに、kは定数倍である。この補正により、基準画像処理空間Γ2では、コントラスト抽出の難しかったエッジコントラスト成分がエッジ成分として拾われることになる。
E'(Γ2)(x,y) = E(Γ2)(x,y) + k*[2*E(Γ2)(x,y) - E(Γ1)(x,y) - E(Γ3)(x,y)] …(74)
ここに、kは定数倍である。この補正により、基準画像処理空間Γ2では、コントラスト抽出の難しかったエッジコントラスト成分がエッジ成分として拾われることになる。
ステップS95において、CPUは、基準画像のエッジ強調処理を行う。すなわち、コントラスト補正されたエッジ成分を用いて、次式(75)で示されるエッジ強調処理を行う。
M'(Γ2)(x,y) = M(Γ2)(x,y) + α*E'(Γ2)(x,y) …(75)
ここに、定数αはエッジ強調のゲインファクターである。
M'(Γ2)(x,y) = M(Γ2)(x,y) + α*E'(Γ2)(x,y) …(75)
ここに、定数αはエッジ強調のゲインファクターである。
ステップS96において、CPUは、エッジ強調画像の出力色空間変換を行い、図10による処理を終了する。具体的には、基準画像処理空間Γ2空間でエッジ強調された画像の階調特性を逆変換して、線形階調に戻した後、出力ガンマ変換処理を行って出力空間画像として出力する。
以上説明した第三の実施形態によれば、第一の実施形態および第二の実施形態で説明した概念(Bayer 配列などのデモザイク処理においてアクティブに補間用ガンマ空間を動かして、補間予測値として得られるコントラストの最大振幅を抽出する点)を、エッジ強調処理の際にも導入することで、アクティブに階調空間を変化させ、それぞれで抽出されるエッジ成分で階調間コントラスト成分を取り出し、基準階調空間で抽出されたエッジ成分をそれで補正するようにした。これにより、例えば、高輝度部のニー特性が強く寝ているような曲線の階調空間を用いた場合であっても、高輝度部において十分にエッジ抽出でき、高精細なエッジ強調処理を行うことができる。
(変形例2)
以上の説明では、画像処理プログラムをコンピュータ装置100(図6)に実行させる例を説明したが、画像処理装置を撮像装置に搭載してもよい。図11は、画像処理装置を搭載するカメラの構成を例示するブロック図である。カメラ200は、操作部材201と、撮像素子202と、制御装置203と、メモリカードスロット204と、モニタ205とを備えている。操作部材201は、使用者によって操作される種々の入力部材、例えば電源ボタン、レリーズボタン、ズームボタン等を含んでいる。
以上の説明では、画像処理プログラムをコンピュータ装置100(図6)に実行させる例を説明したが、画像処理装置を撮像装置に搭載してもよい。図11は、画像処理装置を搭載するカメラの構成を例示するブロック図である。カメラ200は、操作部材201と、撮像素子202と、制御装置203と、メモリカードスロット204と、モニタ205とを備えている。操作部材201は、使用者によって操作される種々の入力部材、例えば電源ボタン、レリーズボタン、ズームボタン等を含んでいる。
撮像素子202は、CMOSイメージセンサーなどによって構成される。撮像素子202は、不図示のレンズにより結像される被写体像を撮像する。そして、撮像によって得られた画像データを制御装置203へ出力する。
制御装置203は、メモリ、およびその他の周辺回路により構成され、カメラ200が行う撮影動作を制御する。制御装置203を構成するメモリには、SDRAMやフラッシュメモリが含まれる。SDRAMは揮発性のメモリであって、制御装置203がプログラム実行時にプログラムを展開するためのワークメモリとして使用される。また、SDRAMは、データを一時的に記憶するためのバッファメモリとしても使用される。一方、フラッシュメモリは不揮発性のメモリであって、制御装置203が実行するプログラムのデータや、プログラム実行時に読込まれる種々のパラメータなどが記録される。
メモリカードスロット204は、記憶媒体としてのメモリカードを挿入するためのスロットである。制御装置203は、撮影処理を行なうことによって生成した画像ファイルを、メモリカードスロット204に挿入されているメモリカードへ書込んで記録する。また、制御装置203は、メモリカードスロット204に挿入されているメモリカード内に記録されている画像ファイルを読込む。
モニタ205は、カメラ200の背面に搭載された液晶モニタ(背面モニタ)である。当該モニタ205には、メモリカードに記録されている画像ファイルに基づく再生画像や、カメラ200を設定するための設定メニューなどが表示される。また、使用者が操作部材201を操作してカメラ200を撮影モードに設定すると、制御装置203は、撮像素子202から時系列で取得した画像の表示用画像データをモニタ205に出力する。これによってモニタ205にスルー画が表示される。
上記撮像素子202の撮像面にはR、G、およびB色のカラーフィルタが Bayer 配列されている。すなわち、撮像素子202から制御装置203に出力される画像データは、RGB表色系で表される。制御装置203は、この画像データに対して上述した処理を行う。
なお、Bayer 配列以外のデルタ配列はハニカム配列など任意の配列の色補間で同様の考えが適用できる。
なお、Bayer 配列以外のデルタ配列はハニカム配列など任意の配列の色補間で同様の考えが適用できる。
第四の実施形態を説明する前に、もう一度デモザイク技術について述べる。上記第一の実施形態、第二の実施形態で述べてきたのは、最も曲率の大きい階調曲線として、立方根階調特性(Γ3)を採用したときの話である。これは、図2に示されるように、基準階調の平方根階調特性(Γ2)から大きく外れることはないから上述のような議論が成り立つ。しかし、図3〜図5に示されるように、対数階調特性(Γ3)のような極めて曲率の大きな階調曲線を採用した場合は事情が少し異なって、画質効果も別の独特の新しい性質のものを生み出す。階調間ラプラシアンは、採られる階調特性によって異なる役割を果たす。以下は、そのような実施形態の説明を行う。
段落0023において、複数の予測空間による補間結果をそれぞれの空間における得手、不得手の階調領域を見分けて加重合成する考え方は、その判断基準が容易に存在せず、困難である旨を述べた。しかしながら、その判断基準が極めて合理的で適切に作用する新しい考え方を以下に説明する。
<補間用ガンマ空間(予測空間)による画質の違い>
ここで、線形階調空間(Γ1)と平方根階調空間(Γ2)と対数階調空間(Γ3)の3種類の方法で補間された画像の性質について、具体例を挙げてもう一度説明する。HDTV(high-definition television)用の透過型標準チャートの中で「看板チャート」と呼ばれるような、色と文字が多くある被写体がナイキスト解像限界付近の解像度で撮影された場合、補間用ガンマ空間による画質の違いが顕著に現れる。
ここで、線形階調空間(Γ1)と平方根階調空間(Γ2)と対数階調空間(Γ3)の3種類の方法で補間された画像の性質について、具体例を挙げてもう一度説明する。HDTV(high-definition television)用の透過型標準チャートの中で「看板チャート」と呼ばれるような、色と文字が多くある被写体がナイキスト解像限界付近の解像度で撮影された場合、補間用ガンマ空間による画質の違いが顕著に現れる。
例えば、赤地に黒文字が入っている被写体像では、線形階調空間(Γ1)で補間された画像は、黒文字が赤地の中に融けてほとんど文字が消えてしまうような解像となる。平方根階調空間(Γ2)で補間された場合は、黒文字は何とか解像するものの、赤く滲んだ印象があり、不鮮明な色解像である。他方の対数階調空間(Γ3)で補間された場合は、黒文字がはっきりと浮かび上がり、色解像力を最大限に発揮する。したがって、赤地に黒文字のような組み合わせの場合は、暗部のコントラストを持ち上げた対数階調である補間用ガンマ空間が有利な特性となる。
一方、赤地の中に細い白枠線が入っている被写体像では反対の現象が起こる。すなわち、対数階調である補間用ガンマ空間(Γ3)の場合は、白い枠線の中に周りの赤色が滲み出し、赤く色づいた白線となる。これが平方根階調である補間用ガンマ空間(Γ2)の場合は、随分と抑制はされるものの、依然として白線の中に赤い滲みが残る。他方、線形階調である補間用ガンマ空間(Γ1)の場合は、白線の中に赤色の滲みが生じず、この色組み合わせに於ける色解像力は最も高い。したがって、赤地に白線のような組み合わせの場合は、明るい階調域に幅広い階調コントラストを割り当てた線形階調である補間用ガンマ空間が有利な特性となる。
<3本ガンマの予測結果の合成方法>
このような状況の中で、次式(76)〜(78)により以下のように3つの補間用ガンマ空間で予測された補間値を加重合成しながら、階調間ラプラシアンによって補正することによって、補間値を算出することを考える。ただし、3つの補間用ガンマ空間で補間された結果は、共通のガンマ空間として平方根階調(Γ2)である補間用ガンマ空間に変換されているものとする。RGBを共通の重みで合成する。
このような状況の中で、次式(76)〜(78)により以下のように3つの補間用ガンマ空間で予測された補間値を加重合成しながら、階調間ラプラシアンによって補正することによって、補間値を算出することを考える。ただし、3つの補間用ガンマ空間で補間された結果は、共通のガンマ空間として平方根階調(Γ2)である補間用ガンマ空間に変換されているものとする。RGBを共通の重みで合成する。
式(76)〜(78)の第1項は、3つの補間結果の内分点を予測することができるので内挿、あるいは内分点補間と呼ぶことができる。第2項は、3つの補間結果の外分点を予測することができるので外挿、あるいは外分点補間の役割を果たすということができる。第1項は、加重平均補間であり、第2項は、階調間ラプラシアンである。
<内分加重と階調間ラプラシアンの効果>
第一の実施形態のように Gsqrt(x,y)に対して階調間ラプラシアンで補正した場合(外分補正のみ)と、以下で詳しく説明する方法で内分加重係数w を決めた第1項のみを使用した場合(内分加重のみ)と、第1項と第2項を併用した場合(内分加重+外分補正)の3者について画質を比較する。
第一の実施形態のように Gsqrt(x,y)に対して階調間ラプラシアンで補正した場合(外分補正のみ)と、以下で詳しく説明する方法で内分加重係数w を決めた第1項のみを使用した場合(内分加重のみ)と、第1項と第2項を併用した場合(内分加重+外分補正)の3者について画質を比較する。
赤地に黒文字の被写体像の場合は、「外分補正のみ」を行った画像は、第一の実施形態の効果とは逆に、黒文字に赤地が覆いかぶさって黒文字の解像がむしろ平方根階調である補間用ガンマ空間のみの補間結果に比べて低下する現象が生じる。ところが、解像コントラストを基本的に最大化するように内分加重係数が決められた「内分加重のみ」を行った補間結果は、対数階調である補間用ガンマ空間の利点を最大限に取り込んで、強いコントラストの解像性能を示す。その結果、第1項と第2項を併用した「内分加重+外分補正」の方式は、平方根階調である補間用ガンマ空間のみの従来の補間結果に比べて、総合的に色解像力と色コントラストが増した高画質な補間結果を得ることができる。
次に、赤地に細い白線の被写体像の場合、「内分加重のみ」を行った補間結果は、期待に反して対数階調である補間用ガンマ空間による補間結果に近く、白線が赤色に強く滲み、かつ高彩度に色再現性が歪んだ結果が得られることになる。他方の第一の実施形態の「外分補正のみ」の補間結果は、白線が滲みなく、全体の赤地部分の彩度が低い補間結果が得られる。したがって、第1項と第2項を組み合わせた「内分加重+外分補正」の方式は、うまく調和して適切な色再現性を示しつつ、平方根階調である補間用ガンマ空間のみの補間結果よりも白線がはっきりと解像した高い色解像力の補間結果が得られる。
つまり、内分加重と外分補正を併用した方式は、それぞれが得手、不得手をもつ「赤地に黒文字」の解像も、「赤地に白線」の解像も、互いに得意とする性能を共に導き出しつつ、それぞれが持つ弊害は相殺し合って従来の1つの補間用ガンマ空間による予測結果よりも高性能な補間結果を生み出すことができる。
なお、上記説明では、赤地に黒文字と白線の例を取り上げて説明したが、他の様々な色組み合わせにおいても同様に改善する効果が導き出せる。
<加重合成指標>
ここで、内分加重係数の決め方について説明する。3つの予測空間を用いて得られた3通りの補間結果に対して、「利得(Figure of Merit)」を計算して、利得の多い補間結果を重視した合成を行う。その利得の判断基準として、まず解像力(空間分解能)を上げることが求められる。解像力は、大きく分けて輝度解像力と色解像力の2種類の概念に分かれる。
ここで、内分加重係数の決め方について説明する。3つの予測空間を用いて得られた3通りの補間結果に対して、「利得(Figure of Merit)」を計算して、利得の多い補間結果を重視した合成を行う。その利得の判断基準として、まず解像力(空間分解能)を上げることが求められる。解像力は、大きく分けて輝度解像力と色解像力の2種類の概念に分かれる。
それぞれの補間画像の輝度解像力が高いかどうかに関する指標は、輝度コントラストが高いかどうかを調べる。輝度コントラストは、局所的なエッジ成分であるラプラシアンを抽出すると適切な判断指標を与えると推測される。なぜならば、ナイキスト周波数に近い画素単位で白黒と入れ替わるような画像構造を捉えているとすると、その画像構造を分解する能力を持つときには、その近傍で抽出した2次微分のラプラシアンは大きな値を持っているであろうと考えられるからである。したがって、輝度面を生成し、輝度面のラプラシアンを抽出して輝度コントラストを評価する。
同様に、補間画像の色解像力が高いかどうかに関する指標は、色コントラストが高いかどうかを調べる。色コントラストは、色差面、あるいは彩度面を作り、その面内でのラプラシアンを抽出すると適切な判断指標を与えると推測される。
<トレードオフの関係>
ところが、補間画像にはノイズ成分や偽色成分が含まれている。上述のような輝度コントラストを最大化すると、ノイズを増幅する恐れがある。また、色コントラストを最大化すると、偽色の強い補間結果を採用してしまう恐れがある。すなわち、一般に色補間やノイズ除去、エッジ強調などにおける画像処理では、輝度コントラストとノイズは共役な関係にあり、輝度コントラストを上げようとするとノイズ増幅し、ノイズを低減しようとすると輝度コントラストが落ちるようなトレードオフが存在する。言い換えると不確定性原理が働く。
ところが、補間画像にはノイズ成分や偽色成分が含まれている。上述のような輝度コントラストを最大化すると、ノイズを増幅する恐れがある。また、色コントラストを最大化すると、偽色の強い補間結果を採用してしまう恐れがある。すなわち、一般に色補間やノイズ除去、エッジ強調などにおける画像処理では、輝度コントラストとノイズは共役な関係にあり、輝度コントラストを上げようとするとノイズ増幅し、ノイズを低減しようとすると輝度コントラストが落ちるようなトレードオフが存在する。言い換えると不確定性原理が働く。
同様に、色コントラストと偽色(あるいは色ノイズ)は共役な関係にあり、色コントラストを上げようとすると偽色が増大し、偽色を低減しようとすると色コントラストが落ちるようなトレードオフが存在する。
<利得(Figure of Merit)>
このような事実に基づき、最良の「Figure of Merit」を与えるには、如何なる指標かについて考察する必要がある。これに対する解決策は、ノイズを抑制しつつ、輝度コントラストを同時に最大化するように指標を組むことである。同様に、偽色を抑制しつつ、色コントラストを同時に最大化するように指標を組むことである。更に、輝度面の最大利得と色差面の最大利得を同時化するように指標を組むことである。
このような事実に基づき、最良の「Figure of Merit」を与えるには、如何なる指標かについて考察する必要がある。これに対する解決策は、ノイズを抑制しつつ、輝度コントラストを同時に最大化するように指標を組むことである。同様に、偽色を抑制しつつ、色コントラストを同時に最大化するように指標を組むことである。更に、輝度面の最大利得と色差面の最大利得を同時化するように指標を組むことである。
したがって、各画素に於ける「Figure of Merit」をI(x,y)、輝度面Yのラプラシアンを△Y(x,y)、色差面Cのラプラシアンを△C(x,y)、R,G,B面の局所標準偏差をσR(x,y),σG(x,y),σB(x,y)、RG面間、BG面間、RB面間の色差を|R(x,y)-G(x,y)|, |B(x,y)-G(x,y)|, |R(x,y)-B(x,y)|とし、以下の式(79)、(80)で同時に指標化する。
I = (輝度コントラスト)・(ノイズ抑制度)・(色コントラスト)・(偽色抑制度)…(79)
こうして求めた「Figure of Merit」を重み係数に比例するように設定する(式(81))。
各画素毎に3つの補間画像に対する重み係数の間で、規格化を行うと加重係数となる。
I = (輝度コントラスト)・(ノイズ抑制度)・(色コントラスト)・(偽色抑制度)…(79)
<画質改善効果>
このようにして求めた内分加重と外分補正を併用した3通りの補間結果の合成画像は、従来の平方根階調である単独の予測空間を用いた補間結果に比べ、次のような高性能化を達成することができる。すなわち、
a)画像全体の鮮鋭感が向上する。
b)統計的に大部分の色組み合わせの間で色解像力が劇的に向上する。
c)従来の色モアレ抑制能力を維持しつつ、高輝度部周りの偽色抑制が向上する。
d)色収差を抑制する。
このようにして求めた内分加重と外分補正を併用した3通りの補間結果の合成画像は、従来の平方根階調である単独の予測空間を用いた補間結果に比べ、次のような高性能化を達成することができる。すなわち、
a)画像全体の鮮鋭感が向上する。
b)統計的に大部分の色組み合わせの間で色解像力が劇的に向上する。
c)従来の色モアレ抑制能力を維持しつつ、高輝度部周りの偽色抑制が向上する。
d)色収差を抑制する。
色解像力の向上に至っては、通常の Bayer配列がもつ色解像力範囲を超える高周波領域にまで、色解像限界を延ばす効果がある。この点について図12を参照して説明する。図12は、Bayer配列における無彩色被写体の解像力(輝度解像力)と有彩色の解像力(色解像力)を周波数空間(k空間)で表した図である。図12において、kx軸およびky軸の±π/aを横切る線で囲われた正方形の領域が、Bayer配列固有の無彩色解像の範囲である。また、kx軸およびky軸の±π/(2a)を横切る線で囲われた正方形の領域が、Bayer配列固有の有彩色解像の範囲である。
上記色解像限界の延伸は、図12のR,B成分の色解像力を示す枠(Bayer配列固有の有彩色解像の範囲)を超え、G成分の色解像力を示す枠の近く、あるいはそれ以上にまで渡り、周波数空間で今までの2倍以上の面積の色解像力を示す色組み合わせが得られる場合が多数存在する。
<第四の実施形態>
−Bayer補間:RGB各面の内分加重と階調ラプラシアン−
第四の実施形態では、補間用ガンマ空間として線形階調(Γ1)、オフセット付き平方根階調(Γ2)、および対数階調(Γ3)の3種を用い、これら3つの補間用ガンマ空間で予測された補間値を加重合成しながら、階調間ラプラシアンによって補正することによって補間値を算出する。
−Bayer補間:RGB各面の内分加重と階調ラプラシアン−
第四の実施形態では、補間用ガンマ空間として線形階調(Γ1)、オフセット付き平方根階調(Γ2)、および対数階調(Γ3)の3種を用い、これら3つの補間用ガンマ空間で予測された補間値を加重合成しながら、階調間ラプラシアンによって補正することによって補間値を算出する。
図13は、第四の実施形態によるコンピュータ装置100のCPUが実行する画像処理の流れを説明するフローチャートである。ここで、第一の実施形態のフローチャート(図7)と同一処理には、同じステップ番号を付して説明を省略する。第一の実施形態と同一のステップでは、第一の実施形態と同様の作用効果を奏する。図13において、ステップS6とステップS8との間にステップS70およびステップS80を行う点が図7(第一の実施形態)と相違するので、これら相違点を中心に説明する。
図13のステップS70において、CPUは内分加重画像の合成を行う。図14は、内分加重画像合成処理の詳細を説明するフローチャートである。図14において、ステップS71〜S75で「利得計算」を行い、ステップS76〜S78で「加重係数への変換」を行う。そして、ステップS79〜S7Bにおいて「内分加重合成」を行う。
「利得計算」
CPUは、3通りの補間済RGB面を用いて、3通りのそれぞれに対して以下の指標計算を行う。処理内容は同様であるので、3つのうちいずれか1つの補間済RGB面をR(x,y),G(x,y),B(x,y)で表すことにする。
CPUは、3通りの補間済RGB面を用いて、3通りのそれぞれに対して以下の指標計算を行う。処理内容は同様であるので、3つのうちいずれか1つの補間済RGB面をR(x,y),G(x,y),B(x,y)で表すことにする。
(S71)輝度コントラスト指標
CPUは、図14のステップS71において、輝度コントラスト指標の生成を行う。具体的には、次式(82)によって輝度面を生成する。
Y(x,y)=[R(x,y)+2G(x,y)+B(x,y)]/4 …(82)
CPUは、図14のステップS71において、輝度コントラスト指標の生成を行う。具体的には、次式(82)によって輝度面を生成する。
Y(x,y)=[R(x,y)+2G(x,y)+B(x,y)]/4 …(82)
次にCPUは、輝度面のガウスぼかしを行う。デモザイクで説明した、G補間を行うときの参照画素の範囲や、色差面を生成し、色差面補間をした直後において補間に必要な参照画素の範囲から明らかなように、色補間の核となる参照画素範囲は7×7画素程度が基本である。したがって、3通りの補間結果の違いを見分けるにもこの程度の広がり範囲に関する情報を集める必要がある。ゆえに、本実施形態では7×7サイズのガウスぼかしを行う。ここで、水平方向のガウスぼかしと垂直方向のガウスぼかしとを畳み込んだ分離型フィルタ(次式(83)〜(85))を用いると簡便に行える。ここに、2rth =7と設定する。
CPUは、輝度面のラプラシアン成分を次式(86)により抽出する。
そして、式(87)により、輝度コントラストの指標としてラプラシアン成分の二乗を採用する。
(輝度コントラスト指標)= |△Y(x,y)|2 …(87)
(輝度コントラスト指標)= |△Y(x,y)|2 …(87)
(S72)色コントラスト指標
CPUは、ステップS72において、色コントラスト指標の生成を行う。具体的には、次式(88)によって彩度面を生成する。
C(x,y)=[|R(x,y)-G(x,y)|+|B(x,y)-G(x,y)|+|R(x,y)-B(x,y)|] …(88)
CPUは、ステップS72において、色コントラスト指標の生成を行う。具体的には、次式(88)によって彩度面を生成する。
C(x,y)=[|R(x,y)-G(x,y)|+|B(x,y)-G(x,y)|+|R(x,y)-B(x,y)|] …(88)
次にCPUは、色差面のガウスぼかしを行う。輝度面の場合と同様に、7×7サイズの範囲で行う。したがって、ガウスぼかしフィルタの定義式は次式(89)で表される。
そして、式(91)により、色コントラストの指標としてラプラシアン成分の二乗を採用する。
(色コントラスト指標)= |△C(x,y)|2 …(91)
(色コントラスト指標)= |△C(x,y)|2 …(91)
(S73)ノイズ指標
CPUは、ステップS73において、ノイズ指標の生成を行う。具体的には、ノイズの揺らぎ幅を表す指標として局所的な標準偏差を採用し、該標準偏差をR,G,B面のそれぞれについて求め、その二乗和をその補間結果のノイズ指標とする。R面を例にあげると、次式(92)および(93)で表される。なお、局所的な標準偏差を調べる領域も、補間値算出の参照画素範囲の核である7×7サイズ程度とする。ゆえに、2rth =7と設定する。
CPUは、ステップS73において、ノイズ指標の生成を行う。具体的には、ノイズの揺らぎ幅を表す指標として局所的な標準偏差を採用し、該標準偏差をR,G,B面のそれぞれについて求め、その二乗和をその補間結果のノイズ指標とする。R面を例にあげると、次式(92)および(93)で表される。なお、局所的な標準偏差を調べる領域も、補間値算出の参照画素範囲の核である7×7サイズ程度とする。ゆえに、2rth =7と設定する。
(S74)彩度指標
CPUは、ステップS74において、彩度指標の生成を行う。具体的には、彩度指標として、各画素の無彩色度を測る。偽色の発生が少ないほど無彩色度が増す。彩度指標は、次式(95)で表される。
CPUは、ステップS74において、彩度指標の生成を行う。具体的には、彩度指標として、各画素の無彩色度を測る。偽色の発生が少ないほど無彩色度が増す。彩度指標は、次式(95)で表される。
(S75)統合指標
CPUは、ステップS75において、統合指標の生成を行う。CPUは、次式(96)のように、各画素に於ける統合指標I(x,y)を4つの指標の積と商で表す。
(統合指標)=[(輝度コントラスト指標)/(ノイズ指標)]・[(色コントラスト指標)/(彩度指標)]
CPUは、ステップS75において、統合指標の生成を行う。CPUは、次式(96)のように、各画素に於ける統合指標I(x,y)を4つの指標の積と商で表す。
(統合指標)=[(輝度コントラスト指標)/(ノイズ指標)]・[(色コントラスト指標)/(彩度指標)]
「加重係数への変換」
上式(76)〜上式(78)では共通の内分加重係数の場合を説明したが、実運用上は色差面の偽色である色モアレを増幅しないために、輝度面用と色差面用の内分加重係数に分け、輝度面用の内分加重係数と色差面用の内分加重係数に同じ値を代入した上で、色差面用の加重係数に対して少しだけローパスフィルタで補正する処理を行う。以下の説明は、この流れに沿う手続きである。
上式(76)〜上式(78)では共通の内分加重係数の場合を説明したが、実運用上は色差面の偽色である色モアレを増幅しないために、輝度面用と色差面用の内分加重係数に分け、輝度面用の内分加重係数と色差面用の内分加重係数に同じ値を代入した上で、色差面用の加重係数に対して少しだけローパスフィルタで補正する処理を行う。以下の説明は、この流れに沿う手続きである。
(S76)統合指標の規格化
CPUは、ステップS76において、統合指標の規格化を行う。具体的には、線形階調(Γ1)、平方根階調(Γ2)、対数階調(Γ3)の各々を経てデモザイク処理された補間画像の、平方根階調特性(Γ2)に於いて算出されたそれぞれの統合指標を、
と表す。
CPUは、ステップS76において、統合指標の規格化を行う。具体的には、線形階調(Γ1)、平方根階調(Γ2)、対数階調(Γ3)の各々を経てデモザイク処理された補間画像の、平方根階調特性(Γ2)に於いて算出されたそれぞれの統合指標を、
(S77)輝度面用の加重係数の設定
CPUは、ステップS77において、輝度面用の加重係数を設定する。CPUは、輝度面用の加重係数として、上式(97)〜(99)による加重係数をそのまま輝度面用に設定する(式(100)〜(102))。
CPUは、ステップS77において、輝度面用の加重係数を設定する。CPUは、輝度面用の加重係数として、上式(97)〜(99)による加重係数をそのまま輝度面用に設定する(式(100)〜(102))。
(S78)色差面用の加重係数の設定
CPUは、ステップS78において、色差面用の加重係数を設定する。CPUは、色差面用の加重係数として、上式(97)〜(99)による加重係数に対して微小なローパスフィルタbを掛けて、次式(103)〜(105)により色差面用の加重係数を設定する。
ただし、bは、例えば3×3サイズの微小なローパスフィルタである。上式右辺において○と×を組合わせた演算記号は、コンボリューションを表す。
CPUは、ステップS78において、色差面用の加重係数を設定する。CPUは、色差面用の加重係数として、上式(97)〜(99)による加重係数に対して微小なローパスフィルタbを掛けて、次式(103)〜(105)により色差面用の加重係数を設定する。
「内分加重合成」
CPUは、ステップS79において、RGB空間からGCbCr空間への変換を行う。具体的には、3通りの補間済RGB面のそれぞれを輝度面と色差面へ変換する。ただし、輝度面はG成分のままとする。したがって色差面は、R,B成分からG成分を減算するだけでよい。なお、輝度・色差の変換方法は、これに限られない。
CPUは、ステップS79において、RGB空間からGCbCr空間への変換を行う。具体的には、3通りの補間済RGB面のそれぞれを輝度面と色差面へ変換する。ただし、輝度面はG成分のままとする。したがって色差面は、R,B成分からG成分を減算するだけでよい。なお、輝度・色差の変換方法は、これに限られない。
CPUは、線形階調である補間用ガンマ空間(Γ1)で予測した輝度面と色差面を、次式(106)〜(108)により求める。
G(Γ1→Γ2)(x,y) …(106)
Cr(Γ1→Γ2)(x,y)=R(Γ1→Γ2)(x,y)-G(Γ1→Γ2)(x,y) …(107)
Cb(Γ1→Γ2)(x,y)=B(Γ1→Γ2)(x,y)-G(Γ1→Γ2)(x,y) …(108)
G(Γ1→Γ2)(x,y) …(106)
Cr(Γ1→Γ2)(x,y)=R(Γ1→Γ2)(x,y)-G(Γ1→Γ2)(x,y) …(107)
Cb(Γ1→Γ2)(x,y)=B(Γ1→Γ2)(x,y)-G(Γ1→Γ2)(x,y) …(108)
CPUは、平方根階調である補間用ガンマ空間(Γ2)で予測した輝度面と色差面を、次式(109)〜(111)により求める。
G(Γ2→Γ2)(x,y) …(109)
Cr(Γ2→Γ2)(x,y)=R(Γ2→Γ2)(x,y)-G(Γ2→Γ2)(x,y) …(110)
Cb(Γ2→Γ2)(x,y)=B(Γ2→Γ2)(x,y)-G(Γ2→Γ2)(x,y) …(111)
G(Γ2→Γ2)(x,y) …(109)
Cr(Γ2→Γ2)(x,y)=R(Γ2→Γ2)(x,y)-G(Γ2→Γ2)(x,y) …(110)
Cb(Γ2→Γ2)(x,y)=B(Γ2→Γ2)(x,y)-G(Γ2→Γ2)(x,y) …(111)
CPUは、対数階調である補間用ガンマ空間(Γ3)で予測した輝度面と色差面を、次式(112)〜(114)により求める。
G(Γ3→Γ2)(x,y) …(112)
Cr(Γ3→Γ2)(x,y)=R(Γ3→Γ2)(x,y)-G(Γ3→Γ2)(x,y) …(113)
Cb(Γ3→Γ2)(x,y)=B(Γ3→Γ2)(x,y)-G(Γ3→Γ2)(x,y) …(114)
G(Γ3→Γ2)(x,y) …(112)
Cr(Γ3→Γ2)(x,y)=R(Γ3→Γ2)(x,y)-G(Γ3→Γ2)(x,y) …(113)
Cb(Γ3→Γ2)(x,y)=B(Γ3→Γ2)(x,y)-G(Γ3→Γ2)(x,y) …(114)
CPUは、ステップS7Aにおいて、輝度・色差面の内分加重合成を行う。次式(115)は、輝度面の内分加重合成を表す式である。
次式(116)は、Cr面の内分加重合成を表す式である。
次式(117)は、Cb面の内分加重合成を表す式である。
CPUは、ステップS7Bにおいて、GCbCr空間からRGB空間への変換を行う。具体的には、逆色空間変換により、基準の補間用ガンマ空間(Γ2空間)で内分加重合成したR,G,B面を得る。ただし、G面はそのままでよい。
図13のステップS80において、CPUは、内分加重画像の補正を行う。CPUは、ステップS70で求めたΓ2空間での内分加重合成画像を、ステップS6(図13)で求めた階調間ラプラシアンでコントラスト補正をする処理を行う(次式(120))。
R'(Γ2)(x,y)= Rw (Γ2→Γ2)(x,y) + k*△R(Γ2)(x,y)
G'(Γ2)(x,y)= Gw (Γ2→Γ2)(x,y) + k*△G(Γ2)(x,y) …(120)
B'(Γ2)(x,y)= Bw (Γ2→Γ2)(x,y) + k*△B(Γ2)(x,y)
ただし、定数倍 kの値は、通常1ないしは0.5の値をとる。
R'(Γ2)(x,y)= Rw (Γ2→Γ2)(x,y) + k*△R(Γ2)(x,y)
G'(Γ2)(x,y)= Gw (Γ2→Γ2)(x,y) + k*△G(Γ2)(x,y) …(120)
B'(Γ2)(x,y)= Bw (Γ2→Γ2)(x,y) + k*△B(Γ2)(x,y)
ただし、定数倍 kの値は、通常1ないしは0.5の値をとる。
以上説明した第四の実施形態によれば、次の作用効果が得られる。
(1)画像処理装置は、RGB色成分からなる画像データであって欠落する色成分が存在する画像データに対して、線形階調の画像信号を曲率が異なる3つの階調特性Γ1、Γ2、Γ3の画像処理空間の画像信号に変換する(S2)CPUと、階調変換された各々の画像信号の欠落色成分を補間して、3通りの Bayer 補間画像を生成する(S4)CPUと、3通りの補間画像を基準の階調特性Γ2の画像処理空間の画像に変換して階調特性を合わせる(S5)CPUと、3つの階調特性Γ1、Γ2、Γ3で補間され基準の階調特性Γ2に階調整合された3通りの Bayer 補間画像を用いて、3つの画像の同一の画素間で、階調特性Γ2の補間画像の画素値と階調特性Γ1の補間画像の画素値との間の差分値、および階調特性Γ2の補間画像の画素値と階調特性Γ3の補間画像の画素値との間の差分値をそれぞれ抽出する(S6)CPUと、階調特性Γ2の補間画像に対して、3つの補間画像を加重合成しながら差分値を同一の画素に加算する(S70、S80)CPUと、加算後の画像信号を出力色空間の画像信号に変換する(S9)CPUと、を備えるようにした。これにより、全階調領域で平均的に優れたコントラスト解像を行うことができる従来の画像予測空間の性能を最大限に保ちつつ、更に高コントラストな補間画像を提供できる高精細な補間を行うことができる。
(1)画像処理装置は、RGB色成分からなる画像データであって欠落する色成分が存在する画像データに対して、線形階調の画像信号を曲率が異なる3つの階調特性Γ1、Γ2、Γ3の画像処理空間の画像信号に変換する(S2)CPUと、階調変換された各々の画像信号の欠落色成分を補間して、3通りの Bayer 補間画像を生成する(S4)CPUと、3通りの補間画像を基準の階調特性Γ2の画像処理空間の画像に変換して階調特性を合わせる(S5)CPUと、3つの階調特性Γ1、Γ2、Γ3で補間され基準の階調特性Γ2に階調整合された3通りの Bayer 補間画像を用いて、3つの画像の同一の画素間で、階調特性Γ2の補間画像の画素値と階調特性Γ1の補間画像の画素値との間の差分値、および階調特性Γ2の補間画像の画素値と階調特性Γ3の補間画像の画素値との間の差分値をそれぞれ抽出する(S6)CPUと、階調特性Γ2の補間画像に対して、3つの補間画像を加重合成しながら差分値を同一の画素に加算する(S70、S80)CPUと、加算後の画像信号を出力色空間の画像信号に変換する(S9)CPUと、を備えるようにした。これにより、全階調領域で平均的に優れたコントラスト解像を行うことができる従来の画像予測空間の性能を最大限に保ちつつ、更に高コントラストな補間画像を提供できる高精細な補間を行うことができる。
(2)上記(1)の画像処理装置において、階調変換する(S2)CPUは、線形階調特性Γ1、平方根階調特性Γ2、および対数階調特性Γ3を、それぞれ用いるようにしたので、線形階調のガンマ空間Γ2では抽出できなかった平方根階調のガンマ空間Γ1や対数階調のガンマ空間Γ3で予測されたコントラストを最大限に反映させることができる。
(3)上記(1)または(2)の画像処理装置において、色成分を補間して3通りの Bayer 補間画像を生成する(S4)CPUは、欠落する色成分の補間値を、欠落する色成分の色情報のみならず他の色成分の色情報も用いて算出するので、適切に色成分を補間できる。
(4)画像処理装置は、RGB色成分からなる画像データであって欠落する色成分が存在する画像データに対して、線形階調の画像信号を曲率が異なる3つの階調特性Γ1、Γ2、Γ3の画像処理空間の画像信号に変換する(S2)CPUと、階調変換された各々の画像信号の欠落色成分を補間して、3通りのBayer 補間画像を生成する(S4)CPUと、3通りの補間画像を基準の階調特性Γ2の画像処理空間の画像に変換して階調特性を合わせる(S5)CPUと、3つの階調特性Γ1、Γ2、Γ3で補間され基準の階調特性Γ2に階調整合された3通りのBayer 補間画像を用いて、3つの画像の同一の画素間で、階調特性Γ2の補間画像の画素値に対する階調特性Γ1の補間画像の画素値と階調特性Γ3の補間画像の画素値との間のラプラシアン成分を抽出する(S6)CPUと、階調特性Γ2の補間画像に対して、3つの補間画像を加重合成しながら、ラプラシアン成分を同一の画素に加算する(S70、S80)CPUと、を備えるようにした。これにより、全階調領域で平均的に優れたコントラスト解像を行うことができる従来の画像予測空間の性能を最大限に保ちつつ、更に高コントラストな補間画像を提供できる高精細な補間を行うことができる。
(5)上記(4)の画像処理装置において、階調変換する(S2)CPUは、線形階調特性Γ1、平方根階調特性Γ2、および対数階調特性Γ3を、それぞれ用いるようにしたので、線形階調のガンマ空間Γ2では抽出できなかった平方根階調のガンマ空間Γ1や対数階調のガンマ空間Γ3で予測されたコントラストを最大限に反映させることができる。
(6)上記(4)または(5)の画像処理装置において、色成分を補間して3通りの Bayer 補間画像を生成する(S4)CPUは、欠落する色成分の補間値を、欠落する色成分の色情報のみならず他の色成分の色情報も用いて算出するので、適切に色成分を補間できる。
(変形例3)
対数階調変換されたBayer面に対しては、突出点除去フィルタを掛けるとよい。対数階調である補間用ガンマ空間は、非常に暗部を高コントラストに増幅するので、暗電流で生じた突出点を増幅してしまう恐れがある。この場合は、結果的に、長秒露光撮影したときに発生する黒傷・白傷のようなものが出現することがある。上記突出点除去フィルタは、このような事態への対処に有効である。
対数階調変換されたBayer面に対しては、突出点除去フィルタを掛けるとよい。対数階調である補間用ガンマ空間は、非常に暗部を高コントラストに増幅するので、暗電流で生じた突出点を増幅してしまう恐れがある。この場合は、結果的に、長秒露光撮影したときに発生する黒傷・白傷のようなものが出現することがある。上記突出点除去フィルタは、このような事態への対処に有効である。
突出点除去フィルタは、本出願人と同一発明者による特開2011−135566号公報の第1実施形態に開示されるものや、これをさらに高性能化した特願2012−281167号に記載されるものを用いるとよい。具体的には、上述した実施形態において、「ステップS2」のBayer画像の階調変換(3通り)と「ステップS4」のBayer補間(3通り)との間において、対数階調のBayer面に対して突出点除去フィルタ掛ける。
なお、上述した原理は例示したBayer 配列のみならず、その他の原色系配列においても、補色系配列においても成立する。
以上の説明はあくまで一例であり、上記の実施形態の構成に何ら限定されるものではない。上記実施形態および変形例は、適宜組み合わせてもよい。
100…パーソナルコンピュータ
200…カメラ
201…操作部材
202…撮像素子
203…制御装置
205…モニタ
200…カメラ
201…操作部材
202…撮像素子
203…制御装置
205…モニタ
Claims (9)
- 少なくとも2つの色成分からなり、欠落する色成分が存在する画像データに対して、入力色空間の画像信号を画像処理空間における画像信号に変換し、前記画像処理空間において欠落する色成分の補間処理を行い、補間処理後の画像信号を出力色空間の画像信号に変換する画像処理装置において、
少なくとも第1と第2の曲率が異なる2つの階調特性の画像信号に変換する階調変換部と、
前記階調変換された各々の画像信号の欠落色成分を補間して、少なくとも2通りの補間画像を生成する色補間部と、
前記少なくとも2通りの補間画像を1つの階調特性の画像処理空間の画像に変換して階調特性を合わせる階調整合部と、
前記第1と第2の階調特性で補間され1つの階調特性に階調整合された第1と第2の補間画像を用いて、2つの画像の同一の画素間で、少なくとも第2の補間画像の画素値と第1の補間画像の画素値との間の差分値を抽出する差分値抽出部と、
前記第2の補間画像に対して、前記差分値を同一の画素に加算する加算部と、
を備えることを特徴とする画像処理装置。 - 請求項1に記載の画像処理装置において、
前記階調変換部は、
第1の階調特性として線形階調特性、または、立方根階調特性、ないしは対数階調特性を、
第2の階調特性として平方根階調特性、ないしは平方根の中に正のオフセットを付けた階調特性を、
それぞれ用いることを特徴とする画像処理装置。 - 請求項1または2に記載の画像処理装置において、
前記色補間部は、欠落する色成分の補間値を、欠落する色成分の色情報のみならず他の色成分の色情報も用いて算出することを特徴とする画像処理装置。 - 少なくとも2つの色成分からなり、欠落する色成分の存在する画像データに対して、入力色空間の画像信号を画像処理空間における画像信号に変換し、前記画像処理空間において欠落する色成分の補間処理を行い、補間処理後の画像信号を出力色空間の画像信号に変換する画像処理装置において、
第1、第2、第3の順に曲率が異なる3つの階調特性の画像信号に変換する階調変換部と、
前記階調変換された各々の画像信号の欠落色成分を補間して、3通りの補間画像を生成する色補間部と、
前記3通りの補間画像を1つの階調特性の画像処理空間の画像に変換して階調特性を合わせる階調整合部と、
前記第1〜第3の階調特性で補間され1つの階調特性に階調整合された第1〜第3の補間画像を用いて、3つの画像の同一の画素間で、第2の補間画像の画素値に対する第1の補間画像の画素値と第3の補間画像の画素値との間のラプラシアン成分を抽出するラプラシアン抽出部と、
前記第2の補間画像に対して、前記ラプラシアン成分を同一の画素に加算する加算部と、
を備えることを特徴とする画像処理装置。 - 請求項4に記載の画像処理装置において、
前記階調変換部は、
第1の階調特性として線形階調特性を、
第2の階調特性として平方根階調特性、ないしは平方根の中に正のオフセットを付けた階調特性を、
第3の階調特性として立方根階調特性、ないしは対数階調特性を、
それぞれ用いることを特徴とする画像処理装置。 - 請求項4または5に記載の画像処理装置において、
前記色補間部は、欠落する色成分の補間値を、欠落する色成分の色情報のみならず他の色成分の色情報も用いて算出することを特徴とする画像処理装置。 - 少なくとも2つの色成分からからなる画像データであって、欠落する色成分が存在する画像データに対して、入力色空間の画像信号を少なくとも第1と第2の曲率が異なる2つの階調特性の画像処理空間の画像信号に階調変換する変換処理と、
前記階調変換された各々の画像信号の欠落色成分を補間して、少なくとも2通りの補間画像を生成する生成処理と、
前記少なくとも2通りの補間画像を1つの階調特性の画像処理空間の画像に変換して階調特性を合わせる階調整合処理と、
前記異なる階調特性で補間され前記1つの階調特性に階調整合された前記2通りの補間画像を用いて、2つの画像の同一の画素間で、少なくとも第2の補間画像の画素値と第1の補間画像の画素値との間の差分値を算出する算出処理と、
前記第2の補間画像に対して、前記差分値を同一の画素に加算する加算処理と、
をコンピュータに実行させることを特徴とする画像処理プログラム。 - 少なくとも2つの色成分からからなる画像データであって、欠落する色成分が存在する画像データに対して、入力色空間の画像信号を少なくとも第1、第2、第3の順に曲率が異なる3つの階調特性の画像処理空間の画像信号に階調変換する変換処理と、
前記階調変換された各々の画像信号の欠落色成分を補間して、3通りの補間画像を生成する生成処理と、
前記3通りの補間画像を1つの階調特性の画像処理空間の画像に変換して階調特性を合わせる階調整合処理と、
前記第1〜第3の階調特性で補間され前記1つの階調特性に階調整合された前記第1〜第3の補間画像を用いて、3つの画像の同一の画素間で、第2の補間画像の画素値に対する第1の補間画像の画素値と第3の補間画像の画素値との間のラプラシアン成分を算出する算出処理と、
前記第2の補間画像に対して、前記ラプラシアン成分を同一の画素に加算する加算処理と、
をコンピュータに実行させることを特徴とする画像処理プログラム。 - 被写体像を撮像する撮像部と、
前記撮像部で撮像された画像に対して画像処理を行う請求項1〜6のいずれか一項に記載の画像処理装置と、
を備えることを特徴とする撮像装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012287814A JP2013165482A (ja) | 2012-01-13 | 2012-12-28 | 画像処理装置、画像処理プログラム、および撮像装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012005156 | 2012-01-13 | ||
JP2012005156 | 2012-01-13 | ||
JP2012287814A JP2013165482A (ja) | 2012-01-13 | 2012-12-28 | 画像処理装置、画像処理プログラム、および撮像装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013165482A true JP2013165482A (ja) | 2013-08-22 |
Family
ID=49176565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012287814A Pending JP2013165482A (ja) | 2012-01-13 | 2012-12-28 | 画像処理装置、画像処理プログラム、および撮像装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013165482A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015154307A (ja) * | 2014-02-17 | 2015-08-24 | ソニー株式会社 | 画像処理装置、画像処理方法、およびプログラム |
US9838665B2 (en) | 2012-04-25 | 2017-12-05 | Nikon Corporation | Image processing device, imaging device, and image processing program |
-
2012
- 2012-12-28 JP JP2012287814A patent/JP2013165482A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9838665B2 (en) | 2012-04-25 | 2017-12-05 | Nikon Corporation | Image processing device, imaging device, and image processing program |
JP2015154307A (ja) * | 2014-02-17 | 2015-08-24 | ソニー株式会社 | 画像処理装置、画像処理方法、およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7082218B2 (en) | Color correction of images | |
JP4910699B2 (ja) | 画像処理装置 | |
JP5047048B2 (ja) | 画像処理装置、撮像装置、制御方法、プログラム、及び記憶媒体 | |
JP5574615B2 (ja) | 画像処理装置、その制御方法、及びプログラム | |
US20110268357A1 (en) | Image processing apparatus, image processing method, and program | |
US8553978B2 (en) | System and method for providing multi resolution purple fringing detection and correction | |
WO2006064913A1 (ja) | 画像処理方法 | |
TW200838285A (en) | Image processing apparatus, image capturing apparatus, image processing method in these apparatuses, and program allowing computer to execute the method | |
US8427560B2 (en) | Image processing device | |
JP4986820B2 (ja) | 画像処理装置及び画像処理方法 | |
JP4945942B2 (ja) | 画像処理装置 | |
US8026954B2 (en) | System and computer-readable medium for automatic white balancing | |
JP5372586B2 (ja) | 画像処理装置 | |
JP2013165482A (ja) | 画像処理装置、画像処理プログラム、および撮像装置 | |
JP5454156B2 (ja) | 画像処理装置、撮像装置及び画像処理プログラム | |
US9071803B2 (en) | Image processing apparatus, image pickup apparatus, image processing method and non-transitory computer-readable storage medium storing image processing program | |
JP4797478B2 (ja) | 画像処理装置 | |
JP5274697B2 (ja) | 画像処理装置及び画像処理方法 | |
JP4239483B2 (ja) | 画像処理方法、画像処理プログラム、画像処理装置 | |
JP5178421B2 (ja) | 画像処理装置、画像処理方法及び撮像装置 | |
JP2014131175A (ja) | 画像処理装置 | |
JP4196055B2 (ja) | 画像処理方法、画像処理プログラム、画像処理装置 | |
JP5494249B2 (ja) | 画像処理装置、撮像装置及び画像処理プログラム | |
JP4239480B2 (ja) | 画像処理方法、画像処理プログラム、画像処理装置 | |
JP2012100215A (ja) | 画像処理装置、撮像装置および画像処理プログラム |