(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
本発明についての以下の説明は、単に実例による説明にすぎず、何ら本発明を制限するものではないことは当業者には認識されよう。当業者には本発明の他の実施形態が自ら容易に提案されよう。
【0015】
本発明の方法は、修正表を作成するために使用することができる。本発明の一態様によれば、画像全体にわたって、当該色チャネルが飽和していないピクセルが解析される。これは、他の制約と組み合わせることができ、例えば修正係数表の作成に使用されるピクセルは、特定の閾値より大きい輝度値を有していなければならず、また、これらのピクセルは、それらの色チャネルのいずれをもクリップさせることはできない、等々の制約と組み合わせることができる。この修正表を作成するために選択されるこれらのピクセルの各々に対して、それぞれ1つまたは複数の色チャネルの関数である少なくとも2つの値が計算される。そのうちの1つは、修正係数表中への索引として使用され、他の値は、修正係数そのものである。本発明の方法によれば、このような演算特性が必要である場合、複数の修正係数を計算することができることに留意されたい。
【0016】
修正係数表の項目の数は、表サイズaによって表される。この設計パラメータは、一般的には前もって決定される。通常、aは、個々の色チャネルを表すために使用されるビットの数以下に設定される。メモリ有効実施態様は、より小さいa値をターゲットにすることができるが(例えば色チャネル当たり12ビット表現の場合、a=255)、値が小さすぎると、非常に異なるピクセルが同じ索引に結合されることになるため、修正精度が悪くなることがある。
【0017】
索引値は、1つまたは複数の色チャネルの関数である。Bチャネルが修正され、また、Mが、一般的には所与のビット表現における最大許容値に等しい設計パラメータである場合を考察する(他の設定も可能である)。一例では、索引は、復元されていない1つまたは2つの色チャネルの関数であり、例えばこのような関数は、amin(R、M)/M、amin(G、M)/M、aR/(R+G)またはaG/(R+G)として定義することができ、minは最小演算子を表している。他の例では、索引は、復元される色チャネルの関数であり、例えばこのような関数は、amin(B、M)/Mとして定義することができる。さらに他の例では、索引は、復元される色チャネルおよび一方または両方の他の色チャネルの関数であり、例えばこのような関数は、aB/(R+G+B)として定義することができる。最終索引は、上で説明したように計算された索引値の丸めバージョンであることに留意されたい。
【0018】
修正係数は、複数の方法で決定することも可能である。もう一度Bチャネルが修正される場合を考察する。一例では、修正係数は、修正される色チャネルのスケール値、つまりyBとして計算され、yは前もって決定されるか、あるいは画像統計量に基づいて適応的に決定される。他の例では、修正係数は、ピクセル中の他の2つの色チャネルのうちの一方に対する修正される色チャネルの比率として計算され、例えばこのような修正係数は、B/GまたはB/Rとして定義することができる。他の例では、修正係数は、修正される色チャネルと、ピクセル中の他の2つの色チャネルのうちの一方との差、つまり、例えばB-GまたはB-Rとして計算される。他の例では、修正係数は、修正される色チャネルおよびピクセル中の両方の他の色チャネルの関数として計算され、例えばこのような関数は、2B-R-G、2B/(R+G)またはB
2/(RG)として定義することができる。さらに他の例では、2つの修正係数が、修正される色チャネルと、他の2つの色チャネルの各々との間の比率または差として計算される。同じ索引値に対応する異なるピクセルは、同じ修正係数計算手法に対して異なる修正係数を生成することがあるため、修正係数表に記憶される最終修正係数は、ピクセルに関する修正係数の関数として計算される。一例では、同じ索引に対応するすべてのピクセルに対する修正係数が平均化される。他の例では、同じ索引を有するピクセルの異なる修正係数は異なる重みを有しており、これらの重みは、ヒストグラム、特定の値からの距離、等々などのいくつかの所定の基準の関数として誘導することができる。画像全体が調査されて修正係数表が作成されると、既存の項目を補間することによって修正係数表の残りのすべての空欄が埋められる。
【0019】
復元手順は、飽和マップに基づいて画像中の個々のピクセルを調査する。最初に、所与のピクセルに対する適切な修正係数を得るために修正表に対する索引が計算される(表を作成するために使用された手法と同じ手法を使用して)。この場合もBチャネルが修正されるものとする。yBと同じ色チャネルを使用して修正係数が決定される場合、その値は、修正された出力を直接表している。それ以外の場合は、すべて、修正されるピクセルからの非飽和色成分と対応する修正係数が結合され(つまり修正されるピクセルからの非飽和色成分に、色比率に基づく係数が掛け合わされるか、あるいは色差に基づく係数が加えられる)、次に修正係数計算に対する逆算が実施される。同じ色チャネルに対して複数の修正係数表が作成されている場合、このような表の各々を使用して得られる修正値の組合せとして最終修正値を得ることができることに留意されたい。ピクセルの3つのすべてのチャネルが飽和している場合、復元時におけるあらゆる試行を省略することができる。
【0020】
上に挙げたすべての例は、修正されるチャネルとしてBチャネルが考察されているが、提案されている方法は、他のチャネルにも容易に適用することができ、その説明はここでは省略する。
【0021】
また、修正表の概念は、不良ピクセルおよびクラスタ修正、雑音除去、モザイク除去、等々などの他の画像予測問題に使用することができることに留意されたい。提案されている修正手順を適用するためには、修正を適用すべき画像位置のマップを作成する必要がある。例えば不良ピクセル/クラスタ修正の場合、このようなマップは、通常、較正中に作成され、かつ、カメラおよび/またはいわゆる生ファイルに記憶される。また、このマップは、画像を調査して近隣のピクセルから逸脱しているピクセルを見出すことによって作成することも可能である。このような処理は、不良ピクセル修正および雑音除去の両方に適している。モザイク除去の場合、修正位置のマップは、下方に存在している色フィルタのレイアウトから分かる。多くの予測用途では、スーパーピクセルの概念、つまりピクセルのブロック内で利用することができる色成分の組合せに基づいて修正表を作成し、かつ、使用することにより、局所近隣における所望の情報(例えば色情報)の不足を克服することができることに留意されたい。
【0022】
中性化プロセスの基礎をなしている哲学は、単純に、飽和した色チャネルを有するピクセル中の誤った色よりも中性ピクセルの方が許容可能であることである。中性化されるピクセルは、ピクセル中の個々の色チャネルを輝度値と混合することによって中性値に向かって移動する。中性化のために使用される輝度値は、通常、ハイライト領域における小さい値の生成を回避するために、修正されるピクセルの最大チャネル値に設定される。最終ピクセルがどの程度中性であるべきかを決定するために混合値(ゼロと1の間)が計算される。飽和にほど遠いほとんどのピクセルの場合、混合値は、ピクセルが中性化プロセスの影響を受けていないことを意味するゼロである。
【0023】
計算による有効な方法は、値1が、一般的には3個または2個に設定される所定の数の色チャネルが所与のピクセルに対して飽和していることを表す、新しい単一チャネル2進マップに飽和マップを変換することである。このマップは、次に、例えばマップ中の1に等しい項目毎に拡張することができ、空間パラメータNを使用した拡張操作によって、その項目のN×N個の近隣が1に設定される。このマップは、さらに、最終空間混合係数を生成するために、例えばこのマップを平均化つまりガウスフィルタにかけることによって改良することができる。
【0024】
上記空間混合演算に対する代替解決法は強度駆動混合である。この場合も個々のピクセルが調査される。一例では、試験輝度値を計算するために、色成分が、例えば(R+G+B)/3、(R+2G+B)/4、0.3R+0.55G+0.15Bとして直接組み合わされ、あるいは他の重みを使用して組み合わされる。他の例では、ピクセルの色成分が最初に降順に分類され、また、試験強度値が、分類されたこれらの色成分の重み付け平均として計算される。一例では、すべての重みは同じ値を有している。他の例では、分類された個々の色成分は異なる値と結合しており、例えば最も大きい成分に最も重い重みが割り当てられ、また、最も小さい成分に最も軽い重みが割り当てられる。この重み付け平均によって試験輝度値Vが生成され、強度混合係数を得るために、この試験輝度値Vと1つまたは複数の所定の閾値が比較される。例えば混合係数は、max(0、min(1、(V-T)/T)として表すことができ、maxおよびminは、最大演算子および最小演算子を表し、また、Tは所定の閾値である。他の解決法では、混合演算は、max(0、min(1、(V-T)/t)として実施され、tおよびTは所定の閾値である。他の式を使用することも可能である。
【0025】
空間混合係数および強度混合係数は、いずれも0と1の間の値である。一例では、混合演算は空間混合係数を使用して実施される。他の例では、混合演算は強度混合係数を使用して実施される。さらに他の例では、個々のピクセル位置における最終混合係数は、空間混合係数および強度混合係数の組合せ(例えば平均または重み付け平均)として得られ、最終混合値は、ゼロと1の間を維持しなければならないことに留意されたい。混合値は個々の色チャネルに適用され、出力ピクセル値は、最終混合係数を掛け合わせた中性化輝度値と、1と最終混合値の差を掛け合わせたピクセル値の総和として得られる。
【0026】
本発明の一態様によれば、ディジタルカメラからのディジタル画像のハイライト復元およびハイライト中性化のうちの少なくとも1つを実施するための方法が提供される。最初に
図1を参照すると、流れ図には、本発明のこの態様による実例方法10が示されている。
【0027】
プロセスは参照数表示12で開始される。参照数表示14で、基準露出値がカメラの捕獲パラメータの関数として生成される。基準露出値は、カメラ捕獲パラメータ(開口、シャッター速度、ISO)を使用して計算され、一方、実際の露出値は、獲得された周囲照明センサ読値の関数である。「METHOD OF ADJUSTING THE BRIGHTNESS OF A DIGITAL CAMERA IMAGE」という名称の同時係属出願である米国特許出願第61/487902号に計算例を見出すことができる。この出願は、参照により本明細書に明白に組み込まれている。
【0028】
参照数表示16で、基準露出値と実際の露出値を比較することによって混合値が計算される。混合値は、ゼロと1の間の値を有するように正規化される(ゼロおよび1を含む)。
【0029】
参照数表示18で混合値がゼロに等しいかどうか決定される。混合値がゼロに等しい場合、参照数表示20で示されているようにハイライト復元が実施される。混合値がゼロに等しくない場合、参照数表示22で混合値が1に等しいかどうか決定される。混合値が1に等しい場合、参照数表示24でハイライト中性化が実施される。
【0030】
参照数表示22で混合値が1に等しくない場合、混合値はゼロではないことが参照数表示18で既に決定されているため、混合値はゼロと1の間でなければならない。この場合、参照数表示26でハイライト復元およびハイライト中性化の両方が実施され、混合値に応じてその2つの結果が混合される。次に参照数表示28でプロセスが終了する。
【0031】
本発明の一態様によれば、ハイライト復元プロセスは、復元が如何に良好に実施されたかを示す品質係数に戻る。参照数表示30で示されているように、これらの品質係数が特定の閾値未満に低下すると、参照数表示32でハイライト復元が放棄され、その代わりに参照数表示24でハイライト中性化が実施される。
【0032】
本発明の一例示的実施形態によれば、混合値は、実際の露出値と基準露出値の差として計算され、この差は、最大許容可能差値および最小許容可能差値などの1つまたは複数の所定のパラメータを使用してゼロと1の間でスケール化される。他の例示的実施形態では、混合値は、実際の露出値と基準露出値の絶対差として計算され、この絶対差は、最大許容可能絶対差値および最小許容可能絶対差値などの1つまたは複数の所定のパラメータを使用してゼロと1の間でスケール化される。さらに他の例示的実施形態では、実際の露出値と基準露出値の差が所定の閾値より大きい場合に混合演算が実施される。さらに他の例示的実施形態では、最適露出からの露出の逸脱(例えば画像捕獲プロセスの間にカメラによって決定される)が所定の閾値より大きい場合に混合演算が実施される。
【0033】
ハイライト復元は、すべての色チャネル中に非飽和値を有するピクセル(「非飽和ピクセル」)を近傍に配置し、かつ、それらの値を使用して、飽和したピクセルの飽和したチャネルを非飽和値に復元することによって飽和ピクセルを復元するために試行することができる。飽和したピクセルまたはその成分は、画像データ値と飽和レベル(前もって決定済みであるか、あるいはセンサおよび画像処理設計特性によって指定される)とを比較することによって得られるマップまたはリストの形態で局部化することができる。この飽和閾値より大きいピクセル値は、飽和していると見なされる。
【0034】
次に
図2を参照すると、流れ図には、本発明の一態様による、ディジタル画像上でハイライトの復元を実施するための実例方法40が示されている。プロセスは参照数表示42で開始される。参照数表示44で、飽和したピクセルのマップを作成するために、画像中のピクセルと、イメージャの特性である飽和レベルが比較される。飽和したピクセルは、1つまたは複数の色チャネル中の飽和レベルより大きい値を有する任意のピクセルである。
【0035】
本発明の一例示的実施形態によれば、復元プロセスには、得られた飽和マップが直接使用される。他の例では、復元プロセスには、隔離されたすべてのピクセルの使用を回避するために(このようなピクセルは、いわゆるホットピクセルを表す、という仮定に基づいて)、および/または飽和ピクセルを復元するためには疑問である、飽和マップの正しく縁の部分の非飽和ピクセルの使用を回避するために、飽和マップの改良型バージョンが使用される。このような改良は、例えば様々なフィルタリング演算子(例えばメジアン)、形態学的演算子(例えば膨張、浸食)、等々を使用して達成することができる。
【0036】
参照数表示46で飽和マップ(またはその改良型バージョン)から飽和ピクセルが選択される。参照数表示48で、複数の色チャネルのうちの少なくとも1つが非飽和値を有しているかどうか決定される。選択されたピクセルの複数の色チャネルのうちの少なくとも1つが非飽和値を有している場合、プロセスは参照数表示50へ進行し、そこで、選択されたピクセルの上、下、左および右側の最も近い非飽和ピクセルのグループが識別される。本発明の一実施形態では、単一の非飽和ピクセルが個々の方向に識別される。
【0037】
参照数表示52で、選択されたピクセルの飽和した色チャネル毎に置換値が生成される。復元すべきピクセル中の良好な色チャネルの値と、近傍の非飽和ピクセルの対応する色チャネルの値の組合せを使用して、修復すべきピクセルの飽和したチャネル毎に置換値が計算される。この計算には、個々の近傍のピクセルまでの距離が最終結果の補間に考慮されている。ピクセルに近いほど、補間におけるその重みが重くなる。2010年12月6日に出願した、「CORRECTING DEFECTIVE PIXELS IN DIGITAL COLOR IMAGES.」という名称の同時係属出願である米国特許出願第12/961284号に計算例を見出すことができる。この出願は、参照により本明細書に明白に組み込まれている。
【0038】
選択されたピクセルの飽和した色チャネル毎に置換値が生成されると、プロセスは参照数表示54へ進行し、そこで、飽和マップ中のすべてのピクセルが処理されたかどうか決定される。すべてのピクセルが処理されていない場合、プロセスは参照数表示46へ戻り、飽和した他のピクセルが飽和マップから選択される。飽和ピクセルマップ中のすべてのピクセルが処理されると、参照数表示56でプロセスが終了する。
【0039】
参照数表示48で、どの色チャネルも非飽和値を有していないことが決定されると、ピクセルは、参照数表示58で非復元可能としてマークされ、参照数表示56でプロセスが終了する。
【0040】
次に
図3を参照すると、流れ図には、本発明の一態様による、ディジタル画像上でハイライトの復元を実施するために使用するための非飽和ピクセルの選択方法60の実例が示されている。プロセスは参照数表示62で開始される。
【0041】
本発明の他の態様によれば、
図3の参照数表示64で示されているように、入力画像データから縁マップが作成される。既存の任意の縁検出方法(例えばCanny、Sobel、Laplacian)を使用して縁マップを作成することができる。縁マップは、さらに、雑音を抑制し、復元プロセスのためには不必要な細部を除去するために改良することができる。一実施形態によれば、垂直方向および水平方向で計算された勾配が信号の大きさまたは雑音モデル(較正中に得られる)によってスケール化され、次にスケール化された勾配が組み合わされ、また、次に正規化を使用してゼロと1の間でマップされる。他の例では、このマッピングを実施するために非線形関数(例えばエス字形、指数、双曲線正接)を使用することができる。他の例では、スケール化された縁マップを空間フィルタリング(例えば平均化フィルタ)によって改良することができる。さらに他の例示的実施形態では、縁マップは、さらに、ガンマ修正、ベキ関数によって改良することができ、あるいはmax(0、(縁-ベータ)/(1-ベータ))として改良することができ、ベータは、一般的にはゼロと1の間に設定される所定の調整係数である。他の例では、2進縁マップを作成するために、スケール化された縁マップまたはその改良型バージョンを所定のパラメータを使用して閾値化することができる。
【0042】
参照数表示66で、飽和したピクセルが飽和マップから選択される。既に指摘したように、ピクセルの3つのすべてのチャネルが飽和している場合、復元は試行されない。その代わりに中性化が実施される。
【0043】
参照数表示68で、選択されたピクセルの上、下、左および右側の最も近い非飽和ピクセルが調査される。本発明の一実施形態によれば、1つまたは2つの飽和チャネルを有するピクセル毎に、左、右、上および下側に4つの最も近い非飽和ピクセルが配置される。
【0044】
参照数表示70で、最終縁マップを基準として使用して、調査された非飽和ピクセルのうちのいずれかが縁部分(修復されるピクセルに対して)に存在し、あるいは縁を越えて存在しているかどうか決定される。縁部分に、あるいは縁を越えて存在していない場合、プロセスは参照数表示72へ進行し、そこで「良好修復」としてピクセル復元がマークされ、かつ、良好修復カウントがインクリメントされる。プロセスは、次に参照数表示74へ進行し、そこで4つのすべての非飽和ピクセルがピクセル復元に使用される。選択されたピクセルに対するプロセスは、参照数表示76で終了する。
【0045】
参照数表示70で、調査された非飽和ピクセルのうちのいずれかが縁部分(修復されるピクセルに対して)に存在し、あるいは縁を越えて存在していることが決定されると、プロセスは参照数表示78へ進行し、そこで、4つのすべての非飽和ピクセルが縁部分に存在し、あるいは縁を越えて存在しているかどうか決定される。すべての非飽和ピクセルが縁部分に存在し、あるいは縁を越えて存在している場合、それらは、すべて、参照数表示74で復元に使用されるが、修復は、参照数表示80で「不良修復」としてマークされ、かつ、不良修復カウントがインクリメントされる。
【0046】
参照数表示78で、すべてではないが、いくつかの非飽和ピクセルが縁部分に存在し、あるいは縁を越えて存在していることが決定されるか、あるいは飽和マップが複数の方向のうちの1つの方向に画像自体の縁まで及んでいる場合、そのピクセルは復元には使用されず、修復は、決定に際して無視されていない非飽和ピクセルを使用して実施される。
【0047】
本発明の一例示的実施形態によれば、復元プロセスは反復プロセスである。「良好」修復がマークされたすべてのピクセルが飽和マップから除去される。この時点で、その前の反復で「不良修復」がマークされた飽和ピクセルを復元するための後続する反復にこれらのピクセルを使用することができる。一例では、この修正は、複数回にわたる反復で実施される。他の例では、修正は、単一の反復で実施される。
【0048】
次に
図4を参照すると、流れ図には、本発明の一態様による、ディジタル画像上でハイライトの復元を実施するための実例方法90が示されている。プロセスは参照数表示92で開始される。
【0049】
参照数表示94で、飽和したピクセルが飽和マップから選択される。既に指摘したように、ピクセルの3つのすべてのチャネルが飽和している場合、復元は試行されない。その代わりに中性化が実施される。参照数表示96で、選択された飽和ピクセル中の色チャネルが選択される。
【0050】
参照数表示98で、選択された色チャネルが飽和値を含んでいるかどうか決定される。選択された色チャネルが飽和値を含んでいない場合、プロセスは参照数表示100へ進行し、そこで、選択されたピクセルの非飽和色チャネルからの値、および選択されたピクセルの近隣の個々の最も近い非飽和ピクセルの同じ色チャネルからの値を使用して、選択された色チャネルに対する置換ピクセル値が生成される。参照数表示98で、選択された色チャネルが飽和値を含んでいることが決定されると、プロセスは参照数表示102へ進行し、そこで、選択されたピクセルの近隣の個々の最も近い非飽和ピクセルの同じ色チャネルからの値のみを使用して、選択された色チャネルに対する置換ピクセル値が生成される。
【0051】
参照数表示104で、選択されたピクセルのすべての色チャネルが処理されたかどうか決定される。すべての色チャネルが処理されていない場合、プロセスは参照数表示96へ戻り、選択されたピクセルからの処理されていない色チャネルが選択される。選択されたピクセルのすべての色チャネルが処理されると、プロセスは参照数表示106へ進行し、そこで、すべての飽和ピクセルが処理されたかどうか決定される。すべての飽和ピクセルが処理されていない場合、プロセスは参照数表示94へ戻り、処理されていない飽和ピクセルが選択される。
【0052】
画像中のすべての飽和ピクセルが処理されると、復元プロセスが完了する。復元プロセスが完了すると、プロセスは参照数表示108へ進行し、そこで、飽和マップ中で識別される個々のピクセル位置に平滑化フィルタが適用される。このフィルタの目的は、修正の副作用として生成されるあらゆるパターンまたはピクセル人工物を抑制することである。プロセスは次に参照数表示110で終了する。
【0053】
本発明の他の態様によれば、ハイライト復元方法は、復元される領域の品質を予測し、かつ、品質係数を計算する。必要な修正改善をもたらすために、復元品質が十分であるかどうか、あるいは画像をさらに処理すべきかどうか(例えばもっと多くの反復を使用して、あるいはハイライト中性化などの代替処理を使用して)を決定するために、さもなければ復元が失敗したかどうかを決定するために、この品質係数が閾値パラメータ(前もって決定されるか、あるいは実際の画像に対して計算される)と比較される。本発明のこの態様について、
図5および6の流れ図を参照して説明する。
【0054】
図5に示されている一例では、ディジタル画像上でハイライトの復元を実施するための例示的反復方法110が示される。このハイライト復元方法は、不良修復に対する良好修復の比率を計算する。この方法は参照数表示112で開始される。
【0055】
参照数表示114で、不良修復カウントに対する良好修復カウントの比率として表される品質係数が決定される。参照数表示116で、この比率が閾値より大きいかどうか決定される。閾値以下である場合、プロセスは参照数表示118で終了する。
【0056】
参照数表示116で比率が閾値より大きいことが決定されると、プロセスは参照数表示120へ進行する。参照数表示120でもう一度復元プロセスが実施されるが、今回の復元プロセスには、1回目の復元プロセスの実施で復元されたピクセルからの追加ピクセル・データが使用される。
【0057】
参照数表示122で所定の数の反復が実施されたかどうか決定される。所定の数の反復が実施されている場合、プロセスは参照数表示118で終了する。参照数表示122で所定の数の反復が実施されていないことが決定されると、プロセスは参照数表示114へ戻り、今度は、先行する復元プロセスを反映している更新データを使用して、不良修復カウントに対する良好修復カウントの比率が決定される。
【0058】
図6を参照して示されている方法130の他の実施形態によれば、ハイライト復元ルーチンは、1つのチャネル、2つのチャネルまたは3つのすべてのチャネルが飽和した飽和ピクセルの数の特定の比率を計算する。一例では、このような比率は、r/(r+g+b)、g/(r+g+b)、b/(r+g+b)、(r+g)/(r+g+b)、(r+b)/(r+g+b)および(g+b)/(r+g+b)として計算され、r、gおよびbは、それぞれR色チャネル、G色チャネルおよびB色チャネル中の飽和ピクセルの数を表している。他の例では、このような比率は、r/x、g/x、b/x、(r+g)/x、(r+b)/xおよび(g+b)/xとして計算され、xは、少なくとも1つのチャネルが飽和したピクセルの数を表している。さらに他の例では、このような比率は、x
1/x
2、x
1/x
3、x
2/x
3として計算され、x
1、x
2およびx
3は、正確に1つ、2つまたは3つのチャネルが飽和したピクセルの数を表している。他の解決法も可能である。これらの比率は、復元プロセスが失敗に終わったと見なすかどうかを決定するために使用することができる呼出しルーチンに戻される。例えばこの決定は、上記のようにして計算された比率と所定の閾値との比較に基づくことができる。
【0059】
プロセスは参照数表示132で開始される。参照数表示134で、1つ、2つまたは3つの飽和した色チャネルを有する飽和ピクセルの比率が計算される。参照数表示136で、これらの比率が閾値の値より大きいかどうか決定される。
【0060】
どの比率も閾値の値以下である場合、プロセスは参照数表示138で終了する。比率が閾値より大きい場合、参照数表示140で、いずれかの比率が臨界値より大きいかどうか決定される。いずれかの比率が臨界値より大きい場合、参照数表示142で、失敗したことが復元プロセスにマークされ、参照数表示138でプロセスが終了する。
【0061】
どの比率も臨界値以下である場合、プロセスは参照数表示144へ進行し、そこで反復復元操作が実施される。既に指摘したように、反復復元操作には、先行する復元操作の間に復元されたピクセルからのピクセル値を使用する利点がある。
【0062】
参照数表示146で、所定の数の反復が実施されたかどうか決定される。所定の数の反復が実施されている場合、参照数表示138でプロセスが終了する。所定の数の反復が実施されていないことが参照数表示146で決定されると、プロセスは参照数表示134へ戻り、1つ、2つまたは3つの飽和した色チャネルを有する飽和ピクセルの比率がもう一度計算される。今度は、先行する復元プロセスを反映している更新データを使用して、1つ、2つまたは3つの飽和した色チャネルを有する飽和ピクセルの比率が決定される。
【0063】
次に
図7を参照すると、流れ図には、本発明の一態様による、修正係数表を作成し、かつ、それらを画像に適用するための実例方法150が示されている。この方法は参照数表示152で開始される。
【0064】
参照数表示154で、画像全体にわたって、当該色チャネルが飽和していないピクセルが解析される。これは、他の制約と組み合わせることができ、例えば修正係数表の作成に使用されるピクセルは、特定の閾値より大きい輝度値を有していなければならず、および/またはこれらのピクセルは、それらの色チャネルのいずれをもクリップさせることはできない、等々の制約と組み合わせることができる。
【0065】
修正表を作成するために選択されるピクセルの各々に対して、それぞれ1つまたは複数の色チャネルの関数である少なくとも2つの値が計算される。そのうちの1つは、修正係数表中への索引として使用され、他の値は、修正係数そのものである。参照数表示156で、修正表のための索引値が計算され、また、修正係数の値が計算される。これらの計算を実施する順序は重要ではないことは当業者には認識されよう。本発明の方法には、このような演算特性が必要である場合、複数の修正係数を計算することが企図されていることに留意されたい。
【0066】
修正係数表の項目の数は、表サイズaによって表される。この設計パラメータは、一般的には前もって決定される。通常、aは、個々の色チャネルを表すために使用されるビットの数以下に設定される。しかしながら、aの値が小さすぎると、非常に異なるピクセルが同じ索引に結合されることになるため、修正精度が悪くなることがある。
【0067】
索引値は、1つまたは複数の色チャネルの関数である。Bチャネルが修正され、また、Mが、一般的には所与のビット表現における最大許容値に等しい設計パラメータである場合を考察する(他の設定も可能である)。一例では、索引は、復元されていない1つまたは2つの色チャネルの関数であり、例えばこのような関数は、amin(R、M)/M、amin(G、M)/M、aR/(R+G)またはaG/(R+G)として定義することができ、minは最小演算子を表している。他の例では、索引は、復元される色チャネルの関数であり、例えばこのような関数は、amin(B、M)/Mとして定義することができる。さらに他の例では、索引は、復元される色チャネルおよび一方または両方の他の色チャネルの関数であり、例えばこのような関数は、aB/(R+G+B)として定義することができる。最終索引は、上で説明したように計算された索引値の丸めバージョンであることに留意されたい。
【0068】
修正係数は、複数の方法で決定することも可能である。もう一度Bチャネルが修正される場合を考察する。一例では、修正係数は、修正される色チャネルのスケール値、つまりyBとして計算され、yは前もって決定されるか、あるいは画像統計量に基づいて適応的に決定される。他の例では、修正係数は、ピクセル中の他の2つの色チャネルのうちの一方に対する修正される色チャネルの比率として計算され、例えばこのような修正係数は、B/GまたはB/Rとして定義することができる。他の例では、修正係数は、修正される色チャネルと、ピクセル中の他の2つの色チャネルのうちの一方との差、つまり、例えばB-GまたはB-Rとして計算される。他の例では、修正係数は、修正される色チャネルおよびピクセル中の両方の他の色チャネルの関数として計算され、例えばこのような関数は、2B-R-G、2B/(R+G)またはB
2/(RG)として定義することができる。さらに他の例では、2つの修正係数が、修正される色チャネルと、他の2つの色チャネルの各々との間の比率または差として計算される。同じ索引値に対応する異なるピクセルは、同じ修正係数計算手法に対して異なる修正係数を生成することがあるため、修正係数表に記憶される最終修正係数は、ピクセルに関する修正係数の関数として計算される。一例では、同じ索引に対応するすべてのピクセルに対する修正係数が平均化される。他の例では、同じ索引を有するピクセルの異なる修正係数は異なる重みを有しており、これらの重みは、ヒストグラム、特定の値からの距離、等々などのいくつかの所定の基準の関数として誘導することができる。
【0069】
画像全体が調査されると、参照数表示158で修正係数表が作成され、かつ、既存の項目を補間することによって修正係数表の残りのすべての空欄が埋められる。場合によっては複数の修正係数表を作成することができる。修正表は、索引値として増分によって作成することができ、また、修正係数が決定されることは当業者には認識されよう。
【0070】
復元手順は、飽和マップに基づいて画像中の個々のピクセルを調査する。参照数表示160でピクセルが選択される。参照数表示162で、ピクセルのすべての色チャネルが飽和しているかどうか決定される。ピクセルのすべての色チャネルが飽和していない場合、ピクセルを処理することができ、また、参照数表示164で、ピクセルの索引値が計算される(表を作成するために使用された手法と同じ手法を使用して)。
【0071】
参照数表示166で、修正係数を得るために、その索引値を使用して修正表をアドレス指定する。
【0072】
いくつかの例では複数の修正表が使用されており、このような表の各々を使用して得られる修正値の組合せとして最終修正値を得ることができる。参照数表示168で、追加修正表が使用中であるかどうか決定される。追加修正表が使用中である場合、プロセスは、追加修正係数を得るために参照数表示164および166へ戻る。すべての修正係数表がアクセスされ、修正係数が決定されると、参照数表示170で、修正されたピクセル値を生成するために、得られた修正係数がピクセルに適用される。yBと同じ色チャネルを使用して修正係数が決定される場合、その値は、修正された出力を直接表している。それ以外の場合は、すべて、修正されるピクセルからの非飽和色成分と対応する修正係数が結合され(つまり修正されるピクセルからの非飽和色成分に、色比率に基づく係数が掛け合わされるか、あるいは色差に基づく係数が加えられる)、次に修正係数計算に対する逆算が実施される。使用された修正表が1つのみである場合、修正ピクセル値が直接生成される。あるいは使用された修正表が複数である場合は、中間修正ピクセル値を結合するために、得られたすべての修正係数がピクセルに適用される。次に、最終修正ピクセル値が記憶される。
【0073】
参照数表示172で、画像中のすべてのピクセルが処理されたかどうか決定される。画像中のすべてのピクセルが処理されていない場合、プロセスは参照数表示160へ戻り、他のピクセルが処理のために選択される。画像中のすべてのピクセルが処理されている場合、参照数表示174でプロセスが終了する。
【0074】
本発明の他の態様によれば、1つは修正表に基づく手法、もう1つは局所近隣で利用することができる非飽和ピクセルを使用する手法の2つの手法を組み合わせることができる。実施態様例では、これらの2つの手法を使用して生成される2つの中間ピクセルの平均または重み付け平均として個々の飽和ピクセルを修正することができる。このような重み付け平均計算では、偏りのない予測をもたらすためには、重みの総和は1に等しくなければならない。
【0075】
次に
図8を参照すると、流れ図には、修正表および局所近隣で利用することができる非飽和ピクセルの両方を使用して、ディジタル画像上でハイライトの復元を実施するための実例方法180が示されている。この方法は参照数表示182で開始される。
【0076】
参照数表示184で、画像全体にわたって、当該色チャネルが飽和していないピクセルが解析される。これは、他の制約と組み合わせることができ、例えば修正係数表の作成に使用されるピクセルは、特定の閾値より大きい輝度値を有していなければならず、および/またはこれらのピクセルは、それらの色チャネルのいずれをもクリップさせることはできない、等々の制約と組み合わせることができる。
【0077】
修正表を作成するために選択されるピクセルの各々に対して、それぞれ1つまたは複数の色チャネルの関数である少なくとも2つの値が計算される。そのうちの1つは、修正係数表中への索引として使用され、他の値は、修正係数そのものである。参照数表示186で、修正表のための索引値が計算され、また、修正係数の値が計算される。これらの計算を実施する順序は重要ではないことは当業者には認識されよう。本発明の方法には、このような演算特性が必要である場合、複数の修正係数を計算することが企図されていることに留意されたい。
【0078】
画像全体が調査されると、参照数表示188で修正係数表が作成され、かつ、既存の項目を補間することによって修正係数表の残りのすべての空欄が埋められる。場合によっては複数の修正係数表を作成することができる。修正表は、索引値として増分によって作成することができ、また、修正係数が決定されることは当業者には認識されよう。
【0079】
復元手順は、飽和マップに基づいて画像中の個々のピクセルを調査する。参照数表示190でピクセルが選択される。参照数表示192で、ピクセルのすべての色チャネルが飽和しているかどうか決定される。ピクセルのすべての色チャネルが飽和していない場合、ピクセルを処理することができ、また、参照数表示194で、ピクセルの索引値が計算される(表を作成するために使用された手法と同じ手法を使用して)。
【0080】
参照数表示196で、修正係数を得るために、その索引値を使用して修正表をアドレス指定する。
【0081】
いくつかの例では複数の修正表が使用されており、このような表の各々を使用して得られる修正値の組合せとして最終修正値を得ることができる。参照数表示198で、追加修正表が使用中であるかどうか決定される。追加修正表が使用中である場合、プロセスは、追加修正係数を得るために参照数表示194および196へ戻る。すべての修正係数表がアクセスされ、修正係数が決定されると、プロセスは参照数表示200を継続し、そこで、修正されたピクセル値を生成するために、得られた修正係数がピクセルに適用される。yBと同じ色チャネルを使用して修正係数が決定される場合、その値は、修正された出力を直接表している。それ以外の場合は、すべて、修正されるピクセルからの非飽和色成分と対応する修正係数が結合され(つまり修正されるピクセルからの非飽和色成分に、色比率に基づく係数が掛け合わされるか、あるいは色差に基づく係数が加えられる)、次に修正係数計算に対する逆算が実施される。使用された修正表が1つのみである場合、修正ピクセル値が直接生成される。あるいは使用された修正表が複数である場合は、中間修正ピクセル値を結合するために、得られたすべての修正係数がピクセルに適用される。
【0082】
参照数表示192ですべての色チャネルが飽和していることが決定されると、参照数表示202で、最も近い非飽和ピクセルの同じ色チャネルからの値を使用して置換ピクセル値が生成される。さらに、参照数表示192ですべての色チャネルが飽和していないことが決定されると、参照数表示204で、選択されたピクセルの非飽和色チャネルからの値、および最も近い非飽和ピクセルの同じ色チャネルからの値を使用して置換ピクセル値が生成される。
【0083】
参照数表示202および204のいずれかの処理が完了すると、プロセスは参照数表示206へ進行し、そこで、最終修正ピクセル値を生成するために、少なくとも1つの修正係数表を使用して得られた修正ピクセル値と、近隣のピクセルを使用して得られた置換ピクセル値が結合される。既に指摘したように、実施態様例では、これらの2つの手法を使用して生成される2つの中間ピクセル値の平均または重み付け平均として個々の飽和ピクセルを修正することができる。このような重み付け平均計算では、偏りのない予測をもたらすためには、重みの総和は1に等しくなければならない。
【0084】
参照数表示208で、画像中のすべてのピクセルが処理されたかどうか決定される。画像中のすべてのピクセルが処理されていない場合、プロセスは参照数表示190へ戻り、他のピクセルが処理のために選択される。画像中のすべてのピクセルが処理されている場合、参照数表示210でプロセスが終了する。
【0085】
本明細書において開示されている復元方法の実施に加えて、中性化方法を適用することによって飽和ピクセルを処理することも可能である。ハイライト中性化は、ハイライト領域における色情報の抑制を目的としている。任意の既存の中性化方法を使用して、提案されているハイライト処理フレームワークの中でこのタスクを完了することができる。
【0086】
本発明の一例示的実施形態によれば、中性化方法は、強度混合係数を生成するためにすべてのピクセルを調査する。これらのピクセルのうちで3つのすべてのチャネルが特定の閾値(飽和レベルより著しく低い何らかの値として決定され、例えばこの閾値は、12ビット画像表現における2000または3000に等しい)を超えている場合、実際にどの程度飽和レベルに近いかに応じてピクセル値が中性に向かって移動される。これは、ピクセル強度に応じて大きくなる強度混合係数によって反映される。すべてのチャネルが飽和レベルより高い場合、ピクセルは完全に中性化されている。
【0087】
次に
図9を参照すると、流れ図には、本発明の一態様による、ハイライトの中性化を実施するための実例方法220が示されている。この方法は参照数表示222で開始される。
【0088】
参照数表示224で画像からのピクセルが選択される。参照数表示226でピクセル混合係数が生成される。参照数表示228で、選択されたピクセルに対する中性化値が生成される。参照数表示230で、混合係数を使用して、どの程度飽和レベルに近いかに応じてピクセル値が中性化値に向かって移動される。
【0089】
参照数表示232で、画像中のすべてのピクセルが処理されたかどうか決定される。画像中のすべてのピクセルが処理されていない場合、プロセスは参照数表示224へ戻り、他のピクセルが処理のために選択される。画像中のすべてのピクセルが処理されている場合、参照数表示234でプロセスが終了する。
【0090】
本発明の他の例示的実施形態によれば、飽和マップを使用して中性化方法が導かれる。飽和マップは、後続する処理ステップでの使用に先立って改良することができる。このような改良は、例えば様々なフィルタリング演算子(例えばメジアン)、形態学的演算子(例えば膨張、浸食)、等々を使用して達成することができる。次のステップで、空間混合マップを作成するために空間平均化フィルタを使用して飽和マップを平滑化することができる。次に、その混合マップを使用して、元の画像(つまりそのハイライト復元バージョン)と、個々のピクセル位置における色成分の最大または重み付け平均として得ることができる中性化信号が混合される。
【0091】
次に
図10を参照すると、流れ図には、本発明の一態様による、ハイライトの中性化を実施するための実例方法240が示されている。この方法は参照数表示242で開始される。
【0092】
参照数表示244で、飽和したピクセルのマップを作成するために画像中のピクセルと飽和レベルが比較される。参照数表示246で、本明細書において開示されているように飽和マップが改良される。参照数表示248で、空間混合マップを作成するために飽和マップが平滑化される。参照数表示250で、飽和マップからピクセルが選択される。参照数表示252で、選択されたピクセルに対する中性化値が生成される。参照数表示254で、選択されたピクセルと中性化値を混合するために混合マップが使用される。
【0093】
参照数表示256で、画像中のすべてのピクセルが処理されたかどうか決定される。画像中のすべてのピクセルが処理されていない場合、プロセスは参照数表示250へ戻り、他のピクセルが処理のために選択される。画像中のすべてのピクセルが処理されている場合、参照数表示258でプロセスが終了する。
【0094】
本発明のさらに他の例示的実施形態によれば、個々のピクセル位置における最終混合係数は、空間混合係数および強度混合係数の組合せ(例えば平均または重み付け平均)として得られ、最終混合値は、ゼロと1の間を維持しなければならないことに留意されたい。混合値は個々の色チャネルに適用され、出力ピクセル値は、最終混合係数を掛け合わせた中性化輝度値と、1と最終混合値の差を掛け合わせたピクセル値の総和として得られる。
【0095】
次に
図11を参照すると、流れ図には、本発明の一態様による、ハイライトの中性化を実施するための実例方法260が示されている。この方法は参照数表示262で開始される。
【0096】
参照数表示264で、飽和したピクセルのマップを作成するために画像中のピクセルと飽和レベルが比較される。参照数表示266で、本明細書において開示されているように飽和マップが改良される。参照数表示268で、空間混合マップを作成するために飽和マップが平滑化される。参照数表示270で、飽和マップからピクセルが選択される。
【0097】
参照数表示272で強度混合係数が生成される。参照数表示274で、選択されたピクセルに対する中性化値が生成される。参照数表示276で、空間混合係数と強度混合係数とを結合して最終混合係数が生成される。参照数表示278で、選択されたピクセルを変更するために、結合された混合係数が使用される。
【0098】
参照数表示280で、画像中のすべてのピクセルが処理されたかどうか決定される。画像中のすべてのピクセルが処理されていない場合、プロセスは参照数表示270へ戻り、他のピクセルが処理のために選択される。画像中のすべてのピクセルが処理されている場合、参照数表示282でプロセスが終了する。
【0099】
本発明の例示的実施形態についての以上の説明では、本発明の様々な特徴は、開示を簡潔にするために、また、本発明の様々な態様のうちの1つまたは複数の理解を促進するために、場合によっては単一の実施形態、図またはその説明の中で1つにグループ化されていることを理解されたい。本発明の態様の本質は、上で開示した単一の実施形態のすべての特徴にあるのではなく、また、本明細書において説明されている個々の実施形態は、本発明の複数の特徴を含むことができる。
【0100】
以上、本発明の実施形態および用途について、図に示し、かつ、説明したが、本明細書における本発明の概念から逸脱することなく、上で言及した変更態様よりももっと多くの変更態様が可能であることは当業者には明らかであろう。したがって、特許請求の範囲の精神を除き、本発明を限定してはならない。