予め設定された階調再現曲線を使用して画像を処理するためのシステム及び方法
【課題】自動化RAW画像処理方法及びシステムを提供する。
【解決手段】RAW画像及びRAW画像に関係するメタデータは、デジタルカメラ又は他のソースから取得される。RAW画像及び関係するメタデータは、処理デバイスのオペレーティングシステムサービスを使用して自動的に処理され、結果として得られる画像を絶対カラースペースで生成する。自動的に処理されるときには、予め設定された階調再現曲線が補間RAW画像に適用され、結果として得られる画像を生成する。予め設定された階調再現曲線は、複数の基準画像から導き出され、RAW画像に関連付けられたメタデータに基づいて選択される。次いで、結果として得られる画像は、オペレーティングシステムサービスとのアプリケーションプログラムインターフェースを介して処理デバイス上で実行されるアプリケーションプログラムが利用できるようにされる。
【解決手段】RAW画像及びRAW画像に関係するメタデータは、デジタルカメラ又は他のソースから取得される。RAW画像及び関係するメタデータは、処理デバイスのオペレーティングシステムサービスを使用して自動的に処理され、結果として得られる画像を絶対カラースペースで生成する。自動的に処理されるときには、予め設定された階調再現曲線が補間RAW画像に適用され、結果として得られる画像を生成する。予め設定された階調再現曲線は、複数の基準画像から導き出され、RAW画像に関連付けられたメタデータに基づいて選択される。次いで、結果として得られる画像は、オペレーティングシステムサービスとのアプリケーションプログラムインターフェースを介して処理デバイス上で実行されるアプリケーションプログラムが利用できるようにされる。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本明細書は、その全体が引用により本明細書に組み込まれ且つ優先権を主張する「System and Method for Raw Image Processing(RAW画像処理のためのシステム及び方法)」という名称の2006年10月13日に出願された米国特許仮出願第60/829,519号の本出願である。
【0002】
本開示の対象は、一般に、RAW画像を処理して絶対カラースペースにすることに関し、更に具体的には、画像変換の階調再現曲線を導出し、RAW画像の前処理中に階調再現曲線を適用するためのシステム及び方法に関する。
【背景技術】
【0003】
デジタルカメラの電荷結合素子(CCD)などのデジタル画像センサは、米国特許第3,971,065号(特許文献1)に記載されているRGBベイヤーパターンなどのカラーフィルタ処理アレイ又はパターンで配列された複数のフォトサイトを有する。RGBベイヤーパターンでは、各フォトサイトが、赤、緑、又は青、或いはその何らかの変形形態を受け入れるようにフィルタリングされる。デジタルイメージングセンサによって取り込まれたオリジナルのビット・フォー・ビットデジタル画像ファイルは、RAWファイル又はRAW画像と呼ばれる。幾つかの変数に応じて、RAW画像は通常、8から18MBのメモリスペースを必要とする可能性がある。カラーフィルタアレイ及びデジタルイメージングセンサのタイプは通常、デジタルカメラの製造品毎に変わる。例えば、一部のカラーフィルタ処理アレイは、黄、シアン、緑、及びマゼンタのパターンを使用する。
【0004】
通常、デジタルカメラは、RAW画像に対してデモザイク処理又はデベイヤープロセスを実施し、画像を圧縮アルゴリズムで変換して、JPEG又は表示及びビューに好適な他のタイプの圧縮ファイルを出力する画像パイプラインを有する。しかしながら、デジタルカメラによって取り込まれたRAW画像は、コンピュータ、及びAppleのAperture1.0などのコンピュータソフトウェアにアップロードすることができ、コンピュータ上での動作によって、ユーザーは、RAW画像に種々のマニュアル操作を行うことが可能になる。
【0005】
処理されたデジタル画像のカラー情報は、幾つかのカラーモデルによって特徴付けることができる。1つのカラーモデルはRGBカラースペースであり、複数のカラーを生成するために赤(R)、緑(G)、及び青(B)の組合せを使用する。デジタルカメラ用に使用される幾つかのRGBカラースペースには、スタンダードRGB(sRGB)及びAdobe RGBが含まれる。別のカラーモデルは、1931年に国際照明委員会(International Commision on Illumination CIE)によって作成されたCIE XYZカラースペースである。数学的技術を使用して、カラー情報を1つのカラースペースから別のカラースペースに変換することができる。
【0006】
デジタルカメラは、オート、白熱、蛍光灯、曇り、晴れ、又は感光度などのホワイトバランス設定(例えば、ISO100、ISO2000など)を有する。この設定は、画像の被写体を照明している光源からの光の色温度にデジタルカメラのホワイトバランスをマッチさせるのに使用される。種々の標準光源の特徴は当該技術において定義されている。例えば、光源Aは白熱光を表すのに使用され、2856Kで黒体放射体のプロファイルによって定義される。光源シリーズDは、自然照明を表すのに使用される。番号は、ソースの相関色温度(CCT)を示すためにDシリーズ光源の名称で使用される。例えば、光源D50は5000KのCCTを有し、光源D65は6500KのCCTを有する。光源シリーズFは、蛍光照明の種々のタイプを表すのに使用される。例えば、光源F2は白色蛍光を表し、光源F11は狭帯域蛍光を表す。デジタル画像がデジタルカメラによって1つの光源の下で取得されるときには、白色点変換技術を使用して異なる光源の下で画像の特徴を推定することができる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】米国特許第3,971,065号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
デジタルカメラ又は他のイメージングデバイスによって取得されたデジタル画像を処理するときには、種々の考慮事項に対処しなくてはならない。1つの考慮事項は、デジタル画像の空間品質及びディテールを保護することを包含し、別の考慮事項は、デジタル画像の色を完全に表現することを包含する。多くの点で、これらの2つの考慮事項は相互に関連付けられている。
【図面の簡単な説明】
【0009】
【図1】RAW画像を生成及び処理するためのシステムの1つの実施形態を示す図である。
【図2】本開示の特定の教示によるRAW処理を実施するための汎用プロセッシングデバイスのためのソフトウェアスタックの1つの実施形態を示す図である。
【図3】本開示の特定の教示による自動化RAW画像処理パイプラインの1つの実施形態を示す図である。
【図4】図3の自動化RAW処理段の1つの実施形態を示す図である。
【図5】図4のRAW処理段のためのハイライトリカバリを実施するためのプロセスの1つの実施形態を示す図である。
【図6】図4のRAW処理段におけるノイズ及びスタックピクセルを低減するためにカメラのプロファイルを導出するプロセスの1つの実施形態を示す図である。
【図7】図4のRAW処理段のためのハーフサイズ緑エッジ画像を作成するプロセスの1つの実施形態を示す図である。
【図8】図4のRAW処理段のための非鮮鋭化及び鮮鋭化された緑再構成画像を作成するプロセスの1つの実施形態を示す図である。
【図9】図4のRAW処理段のためのハーフサイズRGB画像を作成するプロセスの1つの実施形態を示す図である。
【図10】図4のRAW処理段のための赤再構成画像及び緑再構成画像を作成するプロセスの1つの実施形態を示す図である。
【図11】図4のRAW処理段のための彩度ブラーオペレーションの1つの実施形態を示す図である。
【図12】図3の第1変換段階で使用される特性行列を導出するためのプロセスの1つの実施形態を示す図である。
【図13】図3の第1変換段階で使用されるブラックレベル調整を導出するためのプロセスの1つの実施形態を示す図である。
【図14】図3の第1変換段階のための変換行列を導出するためのプロセスの1つの実施形態を示す図である。
【図15A】図3の第2変換段階で使用される階調再現曲線を導出するためのプロセスの1つの実施形態を示す図である。
【図15B】図3の第2変換段階で使用される階調再現曲線を導出するためのプロセスの1つの実施形態を示す図である。
【図15C】図3の第2変換段階で使用される階調再現曲線を導出するためのプロセスの1つの実施形態を示す図である。
【図16A】図3の自動化RAW画像処理パイプラインのための付加的な自動化プロセスを示す図である。
【図16B】入力及び出力輝度のグラフにおける図16Aの自動化プロセスの詳細を示す図である。
【図16C】図3の自動化RAW画像処理パイプラインで使用される輝度ブーストの1つの実施形態を示す図である。
【発明を実施するための形態】
【0010】
本開示の対象の好ましい実施形態及び他の態様は、添付図面と共に以下の特定の実施形態の詳細な説明を読むとより理解されるであろう。
【0011】
本開示の対象は、種々の修正及び代替形態が可能であり、その特定の実施形態が各図面において例証として示され、本明細書で詳細に説明される。各図及び本明細書での説明は、本発明の概念の範囲をどのようにも限定するものではない。むしろ、各図及び本明細書の説明は、米国特許法35U.S.C.§112で要求されるように特定の実施形態を参照することにより、当業者に対して本発明の概念を例証するために提供される。
【0012】
A.RAW画像処理システム
図1を参照すると、RAW画像を生成し処理するためのシステム100の1つの実施形態が概略的に示されている。システム100は、イメージングデバイス110と汎用処理デバイス150とを含む。一般に、イメージングデバイス110及び汎用処理デバイス150は、必要な処理能力及びメモリ容量を有するデジタルスチルカメラ又は同様のものなどの1つのデバイスに一体化することができる。或いは、デバイス110及び150は、図1に示されるように別個の構成要素とすることができる。例えば、イメージングデバイス110は、デジタルスチルカメラ、カメラ電話、又は同様のものとすることができ、処理デバイス150は、コンピュータ、ラップトップ、又は同様のものとすることができる。以下の説明では、イメージングデバイス110はカメラと呼ばれ、処理デバイス150は、例証としてコンピュータと呼ぶことができる。
【0013】
カメラ110は、デジタル画像を取り込むためのイメージングセンサ120を含む。イメージングセンサ120は、電荷結合素子などの当該技術において公知であり使用されているイメージングセンサの種々のタイプのいずれかとすることができる。カメラ110はまた、プロセッサ及びメモリハードウェア130と、データをコンピュータ150に伝達するためのインターフェース140とを有する。次に、コンピュータ150は、インターフェース160、プロセッサ及びメモリハードウェア170、オペレーティングシステム及びソフトウェア180、及び出力デバイス190を有する。
【0014】
使用時は、カメラ110のイメージングセンサ120は、RAW画像122を取り込む。前述のように、イメージングセンサ120は、RGBベイヤーパターンで配列することができるカラーフィルタ処理アレイを有する。従って、RAW画像122における各フォトサイトのカラー値は、赤強度値、緑強度値、又は青強度値のいずれかを表し、各値は通常、0から4095の範囲の10ビットである。他のカメラ製造品は、RAW画像122が種々の情報を有することができるように他のカラーフィルタアレイを有することができる。例えば、ソニー「828」デジタルカメラでは、カラー値は、赤、緑、青、及びエメラルドを表す4チャンネルRGBE座標にある。説明の目的で、以下の議論では、RGB値を有するRAW画像122を参照するものとする。
【0015】
RAW画像を取り込んだ後、プロセッサ/メモリハードウェア130は、ユニバーサルシリアルバス(USB)インターフェースとすることができるインターフェース140を介してRAW画像122を出力することができる。次いでコンピュータ150は、インターフェース160を用いてRAW画像122を受け取ることができる。好ましくは、コンピュータ150は、RAW画像122のオリジナルコピーを維持するためにマスターファイルとしてRAW画像122を記憶すると共に、以下で説明される前処理は、RAW画像122のコピーに対して実施される。カメラ110からRAW画像122をインポートする代替形態では、ネットワーク、メモリカード、別のコンピュータ、又はフラッシュメモリ、外部ハードディスクドライブ、又はCD−ROMなどの外部記憶メディアからインポートすることができる。
【0016】
後で詳細に説明される技術を使用して、プロセッサ/メモリハードウェア170及びオペレーティングシステム/ソフトウェア180は、RAW画像122のコピーを前処理し、これを最終的にはディスプレイ及びビューに好適な絶対カラースペース(例えば、レンダリングカラースペースとも呼ばれる、sRGB、Adobe RGB、又は同様のもの)に変換する。RAW画像122を前処理し、これを絶対カラースペースに変換した後、プロセッサ/メモリハードウェア170及びオペレーティングシステム/ソフトウェア180は、結果として得られた画像をコンピュータ150上のソフトウェア及びアプリケーションの種々のタイプに利用できるようにする。例えば、結果として得られた前処理画像は、Apple ComputerのPreview、iPhoto、及びApertureソフトウェアコンポーネントなどのイメージングアプリケーションが利用できるようにすることができ、ここでは、画像に対して処理、ビュー、加工、その他を行うことができる。
【0017】
上述のように、オペレーティングシステム/ソフトウェア180は、RAW画像122を前処理するのに使用される。従って、次に、RAW画像122を前処理するためのソフトウェアアーキテクチャについて説明する。
【0018】
B.RAW画像処理システムのソフトウェアスタック
図2は、図1のコンピュータ150などの汎用処理デバイスのためのソフトウェアスタック200の1つの実施形態の階層図を示す。ソフトウェアスタック200の一部分は、図1のデジタルカメラ110の一部とすることができる。ソフトウェアスタック200は、オペレーティングシステム(O/S)カーネル層210、O/Sサービス層220、リソース層230、アプリケーションフレームワーク及びサービス層240、並びにアプリケーション層250を含む。これらの層は、例示的なものであり、幾つかの特徴部が省略されている。例えば、0/Sカーネル層210の下にある下層レベルソフトウェア及びファームウェアは図示されていない。一般に、1つの層において示されるソフトウェア要素は、その下に位置付けられる層からのリソースを使用し、上に位置付けられる層にサービスを提供する。しかしながら、実際には特定のソフトウェア要素の全てのコンポーネントがこの様式で完全には機能しなくてもよい。
【0019】
O/Sカーネル層210は、高度に保護された環境でコア0/S機能を提供する。O/Sカーネル層210の上では、O/Sサービス層220が、機能的サービスをその上の層にまで拡張する。コンピュータのオペレーティングシステムのためのO/Sサービス層220は、幾つかの機能サービスを提供すると同時に、デジタルカメラのカメラ内のオペレーティングシステムが、より限定されたサービスを提供することができる。本実施形態では、O/Sサービス層220は、以下に説明される種々の教示によるRAW画像に対する前処理を実施するためのRAW画像処理サービス222を有する。
【0020】
リソース層230は、O/Sサービス層の上にあり、Open Graphics Library(「OpenGL」)、Apple ComputerのPDFキット、その他などのグラフィクスリソースを示す。Silicon Graphics, Inc.によって開発されたOpenGLは、種々のグラフィクス機能の仕様である。RAW処理アプリケーションプログラミングインターフェース(API)232は、リソース層230とO/Sサービス層220のRAW画像処理サービス222との間に位置付けられる。層240は、2つの層、アプリケーションフレームワークとアプリケーションサービスとして通常表される機能の併合である。この層240は、アプリケーション層250として本明細書では示される最高層に常駐するアプリケーションプログラムのためのハイレベルで且つ多くの場合機能上のサポートを提供する。
【0021】
RAW処理サービス232は、汎用処理デバイスの中央処理ユニット(CPU)を活用して、RAW画像を前処理する。RAW処理サービス232はまた、OpenGLを使用して、汎用処理デバイスに関連付けられたグラフィクス処理ユニット(GPU)を活用することができる。この結果、RAW処理API232は、アプリケーション層250における種々のアプリケーションプログラムがサービス232の前処理された画像を利用できるようにする。従って、RAW画像は、O/Sサービス層220におけるRAW画像処理サービス222及び汎用処理デバイスのハードウェア(例えば、CPU/GPU)を使用して前処理することができる。このようにして、RAW処理は、RAW画像がより多くの情報を包含するので、カメラによって提供される標準のJPEGファイルに比べて編集性が向上した高品質画像を生成するために、OSサービス層222に集中させることができる。
【0022】
更に、前処理された画像は、RAW画像を処理可能な場合と可能でない場合があるアプリケーション層250において種々のアプリケーションが利用できるようにすることができる。前処理された画像を使用できる層250におけるアプリケーションプログラムは、ワードプロセッシングアプリケーション、フォトアプリケーション、アドレスブックアプリケーション、電子メールアプリケーション、或いは画像を使用できる他のいずれかのアプリケーションを含むことができる。更に、本明細書に開示されるRAW処理技術は、RAWビデオにも適用可能であり、これによってビデオを使用するアプリケーションはまた、開示される技術から恩恵を受けることができる。
【0023】
C.RAW画像処理パイプラインの概要
上記の実施形態で言及されたように、RAW画像の前処理は、汎用コンピュータのO/Sサービス層220において動作するRAW画像処理サービス222において実施することができる。パイプラインは、画像処理を特徴付ける1つの方法である。図3は、本開示の幾つかの教示に従うRAW画像処理パイプライン300の1つの実施形態を示す。パイプライン300は、デジタルカメラ310又は他のソースからのRAW画像312を前処理し、更に種々のアプリケーション(図示せず)によって使用される結果として得られる画像349を出力するための複数の段階301、302、303、及び304で図示されている。初期画像取り込み段階301では、カメラ又は他のイメージングデバイス310が画像を取り込み、これを上述のようにRAW画像又はファイル312としてRAWフォーマットで記憶する。この時点で、RAW画像312は、カメラ310の処理能力に応じて、カメラ310から汎用処理デバイス又はコンピュータ(図示せず)に伝達されるか、或いはRAW処理のためにカメラ310に保持することができる。
【0024】
後処理段は画像312及びカメラ310の属性に依存することになるので、後処理を可能にするために、RAW画像312のホワイトバランス及び他のメタデータ314と、RAW画像312を取得するのに使用される特定のカメラ310とが識別される。メタデータ314は、Exchangeable Image File(EXIF)フォーマットにすることができ、例えば、シャッター速度、アパーチャ、ホワイトバランス、露出補正、測光設定、ISO設定、日付、及び時間を含むRAW画像312の画像がどのように取り込まれたかに関する情報を含むことができる。
【0025】
RAW処理段302では、RAW処理は、ブラックサブトラクションプロセス320、ハイライトリカバリプロセス321、スタックピクセル除去プロセス322、自動露出調節プロセス323、デモザイク(デベイヤー)プロセス324、及び彩度(クロマ)−ブラープロセス325を含む1つ又はそれ以上の種々のプロセスを使用してRAW画像312に対して実施される。RAW処理段302の1つの目的は、RAW画像312における取り込まれたシーンの空間品質及びディテールを保護することである。
【0026】
これらのプロセス320−325を実施するために、メタデータ314を用いて、プロセスに関連付けられた種々のRAW処理アルゴリズムを取得する(ブロック328)。これらのプロセス320−325の1つ又はそれ以上は、特定の順序で示されているが、カメラに関連付けられた何らかの細目などの特定の要件に応じて再配列することができる。更に、これらのプロセス320−325の1つ又はそれ以上は、種々の理由で使用される場合と使用されない場合があり、更に、画像処理において通常使用される他のプロセスを使用してもよい。更に、これらの種々のプロセス320−325の一部は、実際には、本明細書で必ずしも表現されていない方法で互いに連動して動作することができる。
【0027】
RAW処理段302の最後に、デモザイクプロセス326が初期RAW画像312からカメラRGB画像329を生成する。ここで、カメラRGBは、画像329がISO17321で定義されるISO RGBのような、レンダリングされていないRGBカラースペースを有することを示す。カメラRGB画像329は、初期RAW画像312で取り込まれたシーンのオリジナル測色法の推定値を具現化し、カメラRGB画像329は、オリジナルのダイナミックレンジ及び全域を維持する。カメラRGB画像329は、出力デバイスによって表示、ビュー、又はプリントされるために付加的な処理に進まなくてはならない。
【0028】
一般に、デモザイクプロセス326は、初期画像312のデバイス固有のRAWデータを結果として得られる画像329におけるレンダリングされていないRGBデータに変換し、該結果として得られる画像は、初期画像312を取り込むのに使用されるデバイス(例えばカメラ)とは無関係である。デモザイクプロセス326の実際の実施は、画像312の詳細及び/又はその画像312を取り込むのに使用されるイメージングセンサに依存することになる。例えば、カメラRGB画像329でのピクセルの実際のカラーは、各フォトサイトがR、G、又はBに対し1つだけのカラー値を有するので、RAW画像312の複数のフォトサイトから補間される。この画像再構成プロセスは、デモザイク処理(又は、Bayer Matrixフィルタの場合のデベイヤー処理)と呼ばれる。一般に、デモザイクプロセス326は、RAW画像312におけるフォトサイトのR、G、又はB、及びカメラRGB画像329のR、G、及びB値を有する出力ピクセルのいずれかで表される複数のカラー値を取る。通常、所与のピクセルの成分は、その近傍の強度から計算される。従って、デモザイクプロセス326は通常、カメラのカラーフィルタアレイにおけるフィルタの配列に依存するのでデバイスに固有である。
【0029】
RAW処理段302の後に2つの変換段303及び304が続く。これらの変換段303及び304の1つの目的は、取り込まれたオリジナルシーンの色を完全に表すことである。多くの方法で、色を完全に表すこれらの段階303及び304における考慮事項は、RAW処理段302のディテールを維持することに相関付けられる。これらの変換段303及び304の最終結果は、スタンダードRGB又はAdobe RGBなどのレンダリングカラースペースにおける結果として得られる画像349である。次いで、結果として得られるRGB画像304は、ワードプロセッシングアプリケーション、フォトアプリケーション、アドレスブックアプリケーション、電子メールアプリケーション、或いは図2を参照して上述されたような画像を使用できる他のいずれかのアプリケーションが利用できるようにすることができる。
【0030】
第1変換段303では、カメラRGB画像329は、XYZ画像339を生成するために、XYZカラースペースにおけるXYZ三刺激値に自動的に処理され変換される。XYZカラースペースは、その種々の利点のために使用され、画像データは、この段階303で発生するプロセスと互換性があるようになる。例えば、XYZカラースペースに変換することにより、カラー値を測定可能な色温度に相関付けて、カメラ310によって取り込まれたシーンのオリジナルカラーを完全に表すことが可能になる。
【0031】
この段階303で、ブラック補正プロセス330は、カメラRGB画像329におけるブラックレベルを調節する。同時に、行列(マトリクス)変換プロセス332は、カメラRGB画像329をXYZ三角刺激値を有するXYZ画像339に変換する。この段階303の間に処理を行うために、幾つかのメタデータ314(ホワイトバランスを含む)を用いて、変換行列(M)を取得し(ブロック334)、以下で詳述される他の必要な計算を実施する。
【0032】
一般に、ブラック補正プロセス330は、カメラRGB画像329からブラックレベルを差し引き、後の段階でより効率的なコード化及び処理を可能にする。更に、差し引かれるブラックレベルは、画像コンテンツ及びカメラモデルに依存し、ブラックレベルを調節して、ノイズを低減するか、又はより良好なカラーレンディションをもたらすことができる。ブラック補正プロセス330は、RAW画像312を取り込むのに使用される特定のカメラに対して構成されている。プロセス330は、R、G、及びB値を有するピクセルを入力として受け取り、ブラック補正されたR、G及びB値を出力する。ブラック補正プロセス330は、各RGBチャンネルに対するブラックオフセットを最適化し、カメラRGB三刺激値からXYZ三刺激値への変換が最小誤差を有するようにする。ブラック補正プロセス330は、図13に関して更に詳細に説明されるプロセスによって導き出される。
【0033】
行列変換プロセス332は、上述のブラック補正を組み込み、入力として、カメラRGB画像329のR、G及びB値を取り、XYZ三刺激値を出力する。一般に、プロセス332は、カメラ、モデル、その他に固有であり、更に予め定義された光源に関連付けられる2つ又はそれ以上のカメラ特性行列M1及びM2を使用する。カメラ特性行列M1及びM2の各々は、カラーチャートを撮影するときにカラーチャートの測定されたカラー値を所与のカメラの感知データと比較することによって導き出される。特性行列を導き出すための1つの実施形態を図12に関して以下で説明する。この段階303の1つの利点では、カメラ特性行列の事前計算及び導出は、ユーザーの主観性及びRAW変換の他の実施に無関係の自動プロセスを包含する。従って、パイプライン300における自動化処理は、コンピュータの種々のアプリケーションによって使用される品質処理画像を提供することができる。
【0034】
RAW画像312を取得するのに使用されるカメラに固有のカメラ特性行列を使用して、プロセス332は、カメラRGB画像329に対するブラック補正及びXYZ三刺激値への変換を行うのに使用される変換行列(M)を導き出す。変換行列Mは、カメラRGBからXYZ三刺激値への最適行列変換を推定するために、メタデータ314でのホワイトバランスと共に使用される。変換行列Mは、図14に関して更に詳細に説明されるプロセスによって導き出される。
【0035】
最後に、第2変換段階304では、XYZ三刺激値の変換データが処理され、スタンダードRGB(sRGB)又はAdobe RGBなどの絶対カラースペースにおける値に変換される。最初に、色順応プロセス340は、色順応変換を適用することによって画像339の発色を再現する。色順応変換は、入力光源の下で取り込まれた入力カラーのXYZ三刺激値を、予測される出力光源の下での出力カラーの対応するXYZ三刺激値に変換する。色順応変換は、当該技術で知られており、この多くがvon Kriesモデルに基づく。
【0036】
次に、色調整(カラーチューニング)プロセス342は、画像のXYZ三刺激値の階調曲線を調節する。最後に、色調整プロセス342を組み込む変換プロセス344は、XYZ三刺激値を、sRGB又はAdobe RGBなどの絶対レンダリングカラースペースのRGB三刺激値に変換し、これによって特定のRGBカラースペースの結果として得られる画像349が生じる。レンダリングカラースペース(例えば、sRGB又はAdobe RGB)は、リアル又はバーチャル出力特性の測色に基づく。この第2変換段階304の間に処理を行うために、カメラ310からの幾つかのメタデータ314を用いて、階調曲線を取得し(ブロック346)、以下に説明される他の必要な計算を実施する。
【0037】
一般に、色調整プロセス342は、ゲイン及び出力階調再現曲線を設定し、出力媒体への画像のレンダリングを最適化する。プロセス342は、1つのカメラタイプ及び製造者当たりの変換のパラメータを自動的に導き出す。自動であることで、プロセス342によって、公知の目標に基づいてユーザーによるマニュアル介入なしに出力を得ることが可能になり、これによってユーザーによるマニュアル色調整に関連した主観性が排除される。自動色調整プロセスのための階調再現曲線を導出するプロセスの1つの実施形態について、図15A−15Cに関して以下に詳細に説明する。
【0038】
変換プロセス344は、上述の色調整プロセス342を組み込む。一般に、変換プロセス344は、XYZ三刺激値を、sRGB及びAdobe RGBなどの指定されたレンダリングカラースペースにおけるRGB三刺激値に変換する。次に、結果として得られるRGB画像349は、更なる処理及び編集のためのアプリケーション又は他のソフトウェアによってアクセスすることができる。
【0039】
D.RAW画像処理パイプラインにおけるRAW処理段の詳細
前述のように、図3のRAW画像処理パイプライン300は、種々のプロセスを含むRAW処理段302を有する。図4は、RAW処理段400の1つの実施形態の詳細を示す。段階400は一連のステップとして示されているが、所与の実施は異なるステップの順序付けを使用してもよく、幾つかのステップを省略してもよく、或いは図示していない付加的なステップを追加してもよいことは理解されるであろう。RAW処理段400の入力は、RAW画像402及びメタデータである。RAW画像402は、ベイヤーパックされている(例えば、画像402におけるフォトサイトは、ベイヤーパターン又は同様のもので配列され、各々は、1つのR、G、又はB値を有する)。
【0040】
1.ブラックサブトラクション
RAW処理段400の第1ステップ410では、ブラックサブトラクションが、入力RAW画像402に対して行われる。このステップ410では、フォトサイトのカラーサンプル(R、G、B)がスケール調整され、カメラの固有因子に基づいてバイアスされる。ほとんどのカメラでは、レンズキャップを付けたまま撮られた画像でさえ、フォトサイトにおける小さな非ゼロカラー値を有する画像を結果として生じることになる。非ゼロカラー値は、ノイズ又は他の理由によって引き起こされるカメラのブラックオフセット又はバイアス値に相当する。修正される最終画像では、ブラックオフセット値は、カラーサンプルの値から除去しなければならない。
【0041】
カメラからのRAW画像402は、生成時にブラック補正できる場合もあれば、ブラック補正できない場合もある。一部のカメラでは、センサデータは、生成後に自動的にブラック補正される。この場合、RAW画像のメタデータは、オフセット値0を有することができる。
【0042】
幾つかの状況では、カメラは、これを下回るセンサデータは存在しない、画像402のメタデータのオフセット値を提供することができる。この場合、ブラックオフセット値は、このステップ410でRAW画像402のカラー値から差し引かれる。例えば、一部のカメラからのRAW画像402のブラックオフセット値は、入射光からマスクされたイメージングセンサのマージンに対する平均値から推定することができる。マージンにセンサマスクを使用しないカメラモデルでは、ブラックオフセット値はそのカメラモデルでは固定値とすることができる。いずれの場合でも、ブラックオフセット値は、画像402の各強度値から差し引くことができる。一般に、カメラのR、G、及びBフォトサイトは、異なるオフセット値を有することができる。Gは一般に、2つのオフセット値を有することができる。カメラはまた、「横列」に依存したオフセット値を提供することができる。
【0043】
上記から分かるように、RAW画像402に関連付けられたメタデータは、ブラックオフセット値の1つのソースである。オーバーライドファイルは、ブラックオフセット値の二次ソースとすることができる。オーバーライドファイルは、1つのカメラモデル毎に予め設定されているブラックオフセット値を含むことができる。この二次ブラックオフセットを用いて、メタデータに関連付けられた値を増やすか又は置き換えることができ、二次ブラックオフセットはまた、各カラーチャンネル(R、G、B)に対して異なるものとすることができる。
【0044】
ブラックオフセット値を差し引いた後、結果として得られる値は、好ましくはゼロにクリップされ、RAW画像402における負の値が除去される。更に、種々のカメラはRAW感知値の範囲を有するので、この値を共通の範囲にスケール調整する必要がある。これは、ブラックオフセット値が差し引かれた全ての値に予め設定された値を乗算し、次いで、現在のカメラのホワイト値で除算することによって達成することができる。ホワイト値は、予め設定することができ、オーバーライドファイル又はメタデータから取得することができる。
【0045】
2.ハイライトリカバリ
RAW処理段400の第2ステップ420において、RAW画像402は、ハイライトリカバリの処理にかけ、センサの応答の最大レベルにクリップされている画像402における感知値を修正する。RAW画像402を取得するのに使用されるイメージングセンサは、最大値(本明細書ではマックスアウト値と呼ばれる)までのライトアップに応答することができる。従って、そのマックスアウト値を上回って受け取られるどのような光も、センサ要素によっては検出されない。光値がセンサのマックスアウト値を超えている画像402におけるハイライトを回復するために、マックスアウト値でクリップされた画像402における感知値は、種々のカラーチャンネル(R、G、B)の近傍のクリップされていない値を使用して新しい推定値に置き換えられる。
【0046】
1つの実施形態では、マックスアウトしたセンサに近い近傍センサについての値が探し出される。これらの近傍センサは、マックスアウト値の約85から90%の範囲のR、B、又はG値を有し、これらを用いて、マックスアウトセンサに対して使用されるべき値を決定することができる。これは、マックスアウトである分離されたセンサ値が存在する画像に対して十分機能することができ、RAW画像内で使用することができる。しかしながら、一般に所与の画像は、平均近傍ピクセルが実用的ではなく、マックスアウトされたセンサ値のクラスタ又は領域を有する可能性がある。
【0047】
別の実施形態では、図5は、チャンネルの1つ又は2つがセンサの限界値によってクリップされている場合にピクセルの輝度及び色相を回復するために適用されるハイライトリカバリプロセス500を示している。このプロセス500は、デモザイク処理(デベイヤ処理)プロセスの極めて早期に実施される。最初に、R、G、及びBセンサチャンネルが、ニュートラルになるようにスケール調整される(ブロック502)。スケーリング係数が、RAW画像に関連付けられたメタデータから取得されたホワイトバランスを使用して決定される。次に、各チャンネルが飽和することになる値が計算される(ブロック504)。計算は、チャンネル飽和値を、所与のカメラ型式及びモデルに対して調べられている露出過剰画像に相関付ける相関情報を使用して行われる。従って、相関情報は、ハイライトリカバリプロセス500によって後でアクセスするために複数のカメラ型式及びモデルに対して予め設定及び記憶することができる。このように、RAW画像に関連付けられたメタデータから取得されたカメラ情報は、RAW画像を取得したカメラ型式又はモデルについての対応する相関情報にアクセスするのに使用される。
【0048】
次に飽和値は、ブロック502で使用された同じ係数によってスケール調整される(ブロック506)。ほとんどのカメラでは、緑チャンネルが最も小さな飽和値を有し、この性質は、ハイライトリカバリプロセス500によって活用される。画像の各ピクセルは、プロセス500によってサンプリングされ分析される(ブロック510)。所与のピクセルの3つのチャンネルR、G、及びB全てがクリップされていない(ブロック520)場合、ピクセルはそのままにされる。所与のピクセルの3つのチャンネル全てがクリップされている(ブロック520)場合には、ピクセルは、ニュートラルグレー値に置き換えられる(ブロック522)。
【0049】
チャンネルの少なくとも1つ(全部よりも少ない)がクリップされている(ブロック520)場合、プロセス500は、種々のチャンネルの飽和を調べる。以下に詳述されるように、飽和値を有する所与のピクセルのチャンネルは、推定値に置き換えられる。飽和値から推定値への置き換えは、漸次的であり、オリジナル値が飽和にどれ程近接しているかに依存する。推定値は、ピクセルのオリジナルRGB値に基づいて計算される。
【0050】
例えば、所与のピクセルにおける赤値が飽和又はその近傍である(ブロック530)場合、オリジナル赤値は、オリジナルR、G、及びB値から計算された推定赤値に置き換えられる(ブロック532)。推定赤値は(ROriginal+BClipped)/2である。置き換えは、オリジナル値と、赤値が飽和にどれ程近接しているかに依存する推定値との間で計算された加重平均値に基づく。例えば、赤値がセンサクリップ値の85%である場合、オリジナル赤値の100%が使用される。例えば、赤値がセンサクリップ値の90%である場合、オリジナル赤値の50%が、置換のために推定値の50%と共に使用される。例えば、赤値がセンサクリップ値の95%である場合、推定値の100%が置換のために使用される。
【0051】
所与のピクセルにおける緑値が飽和又はその近傍である(ブロック540)場合、これは、オリジナルR、G、及びB値から計算された推定緑値に漸次的に置き換えられる(ブロック542)。Gチャンネルの推定値は、オリジナルR、G、B値の加重平均値に基づく。使用されるR、G、B重みは、オリジナルピクセルがどれ程緑であるかの計算に応じて(0.5、0、0.5)から(0.375、0.625、0.0)の範囲に及ぶ。置換は、上述された加重平均値を使用する。
【0052】
所与のピクセルにおける青値が飽和又はその近傍である(ブロック550)場合、これは、オリジナルR、G、及びB値から計算された推定青値に漸次的に置き換えられる(ブロック552)。Rチャンネルと同様に、青値に対する推定値は、(ROriginal+BClipped)/2である。置換はまた、上述された加重平均値を使用する。
【0053】
チャンネルの1つ又はそれ以上が推定された最終ステップとして、回復されたRGB値が極めて明るく且つ飽和されている場合、色はニュートラルに向かって移動する(ブロック560)。画像の明るいエリアにおいて見られる可能性の低いマゼンタ色相は、ニュートラルに向けてより積極的に移動する。ニュートラルに向けてた色の移動は、ユーザーの基本設定により影響を受ける可能性がある。所与のピクセルを分析した後、画像の付加的なピクセルを分析する必要があるかどうかの決定が行われ(ブロック570)、プロセス500は、ブロック510に戻り、画像の付加的なピクセルをサンプリングし分析する。
【0054】
3.スタックピクセル除去/ノイズ処理
図4を参照すると、RAW処理段400は、第3ステップ430を含み、ここでは異常値を有するRAW画像402のフォトサイトが、スタックピクセル除去及び/又はノイズ処理技術を使用して変更される。所与のRAW画像では、センサが適切な応答を有していなかった(例えば、センサがスタックであるか、或いはフォトサイトで累積電荷を有する)ので、種々のフォトサイトは例外的な値を有する可能性がある。
【0055】
これらのスタックフォトサイトでは、3X3のようなフォトサイトの近傍が評価され、その近傍から取られた周囲の8つの値の範囲が決定され、結果として最小及び最大値を生じることになる。例えば、緑ピクセルに存在している場合、緑フォトサイトのみが調べられる。範囲のサイズは、範囲の最大から最小を差し引いた値に等しく決定される。スタックフォトサイトの値は、近傍の同様のフォトサイト範囲と比較される。選択されたフォトサイトの値が、最大値よりも範囲サイズの予め設定された倍数だけ大きい場合、或いは選択されたフォトサイトの値が、最小値よりも範囲サイズの予め設定された倍数だけ小さい場合、そのフォトサイトの値は、3x3近傍の平均値に設定される。予め設定された係数は、カメラ及び他の係数に基づいて構成することができる。この例外的な値をその近傍の平均値に置き換えることにより、RAW画像402によく表れているスタックピクセル値の数が低減されることになる。
【0056】
所与の画像におけるノイズは、異常値を有するチャンネルサンプルを生成する。RGB画像がベイヤー符号化RAW画像から構成されたときに、このノイズが増幅される可能性がある。通常、レンダリングノイズは、望ましくないほど色彩が豊富である。このノイズは、RAW画像402が取り込まれたときに使用されたISO設定(すなわち、センサ読み出しのゲイン)及び露出時間の量に相関付けることができる。従って、サブステップ430におけるノイズ処理は、好ましくは、ISO設定、露出時間、及びノイズの量の間の相関関係を使用して、処理されるRAW画像402に対するノイズの彩度を低減又は制御する。
【0057】
図6は、デジタルカメラのためのノイズ及びスタックピクセルプロファイルデータを導き出すためのプロセス600を示す。プロファイルデータは、所与のISO設定及び露出時間でカメラが生成するノイズの量に相関付けられる。次にこのプロファイルデータは、図4のRAW処理段400で前処理されるRAW画像を処理するのに使用される。
【0058】
最初に、デジタルカメラは、レンズキャップで固定され、接眼レンズが閉じられ、複数の画像が、その特定のカメラにおいて広範囲のISO設定及び露出時間下で撮影される(ブロック602)。次いで、RAW画像は、幾つかの編成されたセットにグループ分けされる(ブロック604)。例えば、第1編成セットは、露出時間の低範囲及びISO設定の広範囲を備えた画像を有することができる。更に、第2編成セットは、ISO設定の低範囲及び露出時間の広範囲を備えた画像を有することができ、第3編成セットは、露出時間の高範囲及びISO設定の広範囲を備えた画像を有することができる。
【0059】
次にRAW画像は、ノイズ応答(例えば、ノイズの量)を定量化し、各RAW画像におけるスタックピクセル応答を定量化するように処理される(ブロック606)。次に、ノイズプロファイル及びスタックピクセルプロファイルが、グループ分けされた画像に対して計算される(ブロック608)。例えば、編成セットの各々において、二次方程式が所与のセットにおけるISO設定及び露出時間に対するカメラのノイズ応答のノイズプロファイルを作成する。例えば、編成されたセットの各々において、二次方程式モデルが、ISO設定及び露出時間に対するカメラのスタックピクセル応答のスタックピクセルプロファイルを作成する。カメラに対する結果として得られたプロファイルは、図4のRAW処理段400での前処理中に後で用いるためにデータベースにおける少数の浮動小数点値の形式で記憶される(ブロック610)。次に、前のステップが1つ又はそれ以上の付加的なカメラに対して繰り返され、これらの特定のカメラについてのプロファイルを記憶できるようにする(ブロック612)。
【0060】
最後に、種々のカメラを特徴付ける記憶されたプロファイルデータを用いて、ノイズに対して所与のRAW画像をどの程度調整したらよいかを決定することができる。RAW画像が図4のRAW処理段400で処理されているときには、例えば、RAW画像に関連付けられたカメラモデル、ISO設定、及び露出時間が、関連するメタデータから取得される(ブロック614)。カメラモデルのための適切なプロファイルデータは、メモリ内に位置付けられる(ブロック616)。所与のISO設定及び露出時間情報は、その特定のカメラモデルのためのノイズプロファイルの式にプラグインされ、その画像に対するノイズの推定量が計算から決定される(ブロック618)。次に、所与のISO設定及び露出時間情報は、そのカメラモデルのためのスタックピクセルプロファイルの式にプラグインされ、その画像に対してスタックピクセル除去を可能又は不能にするかどうかが判定される(ブロック620)。
【0061】
図4のRAW処理段400においてRAW画像を処理するときに、前のステップで決定されたノイズ及びスタックピクセルについての推定情報を用いて、処理を調整することができる。例えば、情報は、RAW画像を再構成する間に、ノイズ低減及びスタックピクセル除去を実施するかどうか、及びどの程度まで実施するかを決定することができる。更に、情報は、RAW画像を再構成する間又はその後で、ランピングダウン鮮鋭化を実施するかどうか、及びどの程度まで実施するかを決定することができる。最後に、情報は、彩度−ブラー、ディープシャドーエリアにおける明示的な脱飽和、或いはコントラストブースト中の飽和制御のための階調再現曲線を使用して、再構成の終わりにRAW画像からRGBへの変換中にノイズの色彩豊富さを制御するかどうか及びどの程度まで制御するかを決定することができる。これらのプロセスは、本開示において後で説明する。
【0062】
4.自動露出調整
図4を参照すると、RAW処理段400は、第4ステップ440を含み、ここでRAW画像402に自動露出調整が行われる。自動露出調整は、その露出が予め設定された基準を満たすようにRAW画像402の輝度を調整する。好ましくは、調整は、RAW処理段400での調整用に既に記憶されている予め設定された輝度変数を使用する。予め設定された輝度変数は、露出調整された種々の画像をビューしている複数の人々から得られた調査情報に基づく。調査は、複数の露出で種々のカメラによって生成された基準画像を使用する。これらの基準画像の平均輝度がコンピュータにより計算される。Monte Carloシミュレーションを使用してこれらの基準画像の輝度変数を変えるために、最も視覚的に心地よい画像の実施例を選択するよう調査参加者に求める。次いで、調査結果は、オリジナル入力輝度に相関付けられた輝度変数を有する結果として得られる許容可能な露出に収束する。
【0063】
結果は、特定のカメラに関連付けられ、後処理のために記憶される。RAW画像402が処理のために受け取られると、自動露出調整が、RAW画像402の平均輝度を計算し、関連のメタデータから露出を決定する。次に、記憶された調査結果を使用して、自動露出調整は、心地よい結果が得られるように使用された平均輝度及び露出に基づいてどの輝度変数を画像402に適用するかを決定する。最後に、RAW画像402の輝度は、自動処理で決定された輝度変数によって調整される。
【0064】
5.補間プロセス
RAW処理段400の第5ステップは、デモザイク(デベイヤー処理)プロセスの一部である補間プロセス450を包含する。補間プロセス450は、結果として生じるRGB画像を生成するために、最終の彩度−ブラーオペレーション460となる幾つかのサブステップ451−458を使用する。これらのサブステップ451−458は、ハーフサイズ緑エッジ画像を作成する段階(451)、補間方向マップを決定する段階(452)、緑再構成画像を構成する段階(453)、緑再構成画像を鮮鋭化する段階(454)、ブラーハーフサイズRGB画像を作成する段階(456)、及び赤再構成画像及び青再構成画像を構成する段階(453)を含む。これらのステップ451−458及び460の各々について以下で説明する。最終的に、これらのサブステップ451−458からの緑、赤、青、及びブラーRGB画像は、以下で同様に説明される彩度−ブラーオペレーション460において結合される。
【0065】
一般に、補間プロセス450は、最初にRAW画像402のフォトサイトのための輝度チャンネル(すなわち、緑チャンネル)を補間し、次にRAW画像402のフォトサイトのための色チャンネル(すなわち、赤及び青チャンネル)を補間し、最後に、各チャンネルを結合してR、G、及びB値を備えたピクセルを有する結果として得られるRGB画像を作成することによって、階調度ベースの補間を使用する。
【0066】
a.ハーフサイズ緑エッジ画像
人間の眼は輝度の変化を感知するので、エッジが緑チャンネルで見つけられ、これによってこれらのエッジに基づいて補間を実施することができるようになる。サブステップ451は、RAW画像402からハーフサイズ緑エッジ画像を構成し、よって、緑エッジ画像が、オリジナルRAW画像402の輝度の変化によって生じるエッジを示すことができるようになる。図7は、RAW画像710(その一部のみが示されている)のベイヤー符号化データからハーフサイズ緑エッジ画像750を作成するためのプロセス700を示している。RAW画像710は、複数の2x2セルを有し、各セルは、2つの緑サンプル(G1、G2)と、1つの赤サンプル(R)と、1つの青サンプル(B)とを有し、これらはベイヤーパターンで配列されたフォトサイトである。種々のパターンが当該技術で公知であり使用されているが、本明細書に示されるパターンの一部は、単に例示的なものである。
【0067】
ハーフサイズ緑エッジ画像750を作成するために、ベイヤー符号化RAW画像710の緑サンプル(G1、G2)のみが使用され、赤及び青サンプルは無視される。最初に、RAW画像710の2x2セルの各々の2つの緑サンプル(G1、G2)が平均化され、中間ハーフサイズ緑画像720の対応する緑値を生成する。従って、ハーフサイズ緑画像720は緑値のみを有し、オリジナルRAW画像710のサイズの半分である。次に、緑サンプルの値に対する第1導関数(すなわち、変化率)(G)は、水平及び垂直方向の両方で計算される。次いで、値の各々についての水平及び垂直第1導関数の二乗が合計されて、エッジ画像730を生成する。次に、単一ピクセルブラープロセス740の2つのパスがエッジ画像730に対して実施され、ブラーされた結果として得られるハーフサイズ緑エッジ画像750を生成する。
【0068】
単一ピクセルブラープロセス740では、プロセス740の第1パスが、各ピクセルの4つの近傍に対して0.5の中心部重みを有するエッジ画像730全体にわたって実施される。次にプロセス740の第2パスが、各ピクセルの4つの近傍に対して0.125の中心部重みを有する以前にブラーされたエッジ画像730全体に対して実施され、結果として得られるハーフサイズ緑エッジ画像750を生成する。図4に示されるように、このステップ452の結果として得られるハーフサイズ緑エッジ画像は、他のステップによって後処理に使用されることになる。
【0069】
b.補間方向決定マップ
図4を参照すると、補間プロセス450のサブステップ452は、補間方向決定マップを作成し、該マップを使用して、RAW画像402に位置付けられたR又はBチャンネルを有するフォトサイトに対する欠落緑値をどのように埋めるかを決定する。1つの実施形態では、ベイヤーパターンの2x2セルの各々における隣接する赤及び青サンプルを平均化し、標準デモザイク処理技術を使用してフォトサイトに対する欠落緑値を決定することができる。好ましい実施形態では、RAW画像402における垂直又は水平近傍サンプルのいずれかを用いて、赤又は青であるこれらのサンプルに対する緑チャンネルを決定する。例えば、一般画像の領域が水平に向いたエッジ又はストライプを有する場合、その領域におけるR及びBフォトサイトの水平近傍を用いて、これらの緑チャンネル値を決定するのが好ましい。他方、一般画像の領域が垂直に向いたエッジ又はストライプを有する場合、その領域におけるR及びBフォトサイトの垂直近傍を用いて、これらの緑チャンネル値を決定するのが好ましい。
【0070】
補間に使用されることになる水平又は垂直方向を決定するために、RAW画像402のR、G、及びBチャンネルの階調度が各フォトサイトについて計算される。次に、階調度は補間方向決定マップにマッピングされ、該マップを用いて、RAW画像402における所与のR又はBフォトサイトでの欠落緑チャンネル値をどのように埋めるかを決定する。一般に、緑チャンネルに対する階調度は、緑チャンネルに対する階調度がローカルで変化しないことを示す場合、R又はBフォトサイトに対する欠落緑チャンネル値をどのように埋めるかを決定する際に、最も強い影響力を及ぼす。緑チャンネルの階調度がローカルに変化している場合、所与のフォトサイトに対する緑でないチャンネルの階調度を用いて、その欠落緑値をどのように埋めるかを決定する。フォトサイトでの緑値の階調度は、そのロケーションでのハーフサイズ緑エッジ画像を調べることによって決定することができる。
【0071】
次いで、各フォトサイトに対する決定方向は、投票値としてマップに入力される。例えば、投票値「1」は、フォトサイトでの欠落緑チャンネルを補間するのに使用されるマップでの水平方向に対する決定に対応し、投票値「0」は、フォトサイトでの欠落緑チャンネルを補間するのに使用される垂直方向に対する決定である。次に、これらの投票値は、欠落緑チャンネル値を埋めるのに使用される投票プロセスで使用される。欠落緑チャンネル値を埋める実際のステップについては、以下の緑再構成ステップ453を参照して説明する。
【0072】
c.緑再構成画像
補間プロセス450のサブステップ453は、ステップ440からのオリジナルベイヤー・パック画像、サブステップ451からのハーフサイズ緑エッジ画像、及びサブステップ452の補間方向決定マップを使用して、緑再構成画像を作成する。図8には、緑再構成画像850を作成するためのプロセス800の1つの実施形態が概略的に示されている。画像850を作成するために、RAW画像810におけるフォトサイトに対する緑チャンネルGの各々は、緑再構成画像850における対応するフォトサイトに対して維持される。例えば、RAW画像810における緑サンプルG43の値は、緑再構成画像850において使用されるものと同じである。しかしながら、RAW画像810におけるR及びBチャンネルのフォトサイトは緑値を有しておらず、よって、補間方向決定マップ820を使用して緑再構成画像850における各値を補間しなければならない。例えば、緑再構成画像850における選択されたフォトサイト852は、RAW画像810における青サンプルB44に相当するので緑値を有していない。
【0073】
上記で言及されたように、投票プロセスを用いて、R及びBサンプルの欠落緑値を埋めるときにどの方向を使用するかを決定する。投票プロセスによって、補間方向決定マップ820におけるサンプルの近傍を分析できるようになり、これによって近傍内の方向決定の平均値を用いて、欠落緑値を埋めるのにどの方向を使用するかを決定することができる。
【0074】
補間方向決定マップ820は、各ピクセルロケーションでの方向性投票を有する。投票プロセスは、決定マップ820を使用し、幾つかの方法で実施することができる。例えば、マップ820における種々の方向決定Dは、水平に対して「1」とし、垂直に対して「0」とすることができる。1つの代替形態では、選択されたフォトサイト852に対応する単一投票決定822を単独で用いて、補間に対する方向を決定することができる。別の代替形態では、決定の近傍824からの複数の投票の一致を採用することができ、複数の決定の一致は、選択されたフォトサイト852の緑値を補間するのにどの方向を使用するかを決定することができる。
【0075】
完全投票は、使用できる一致投票の1つの種類である。完全投票は、サンプルの奇数(例えば、3X3又は5X5サンプル)から成る決定の近傍824を使用する。総和は、全近傍824に対する決定値から計算される。総和が近傍824におけるフォトサイトの総数の半分よりも大きい場合、選択されたフォトサイト852の決定に対して「1」(水平方向)が使用される。そうでない場合には、「0」(垂直方向)が使用される。
【0076】
通過帯域投票は、使用できる投票の別の種類である。この種類の投票では、近傍のフォトサイトの決定値の総和が計算される(選択されたフォトサイト852の中心決定822を除く。この総和が予め設定された閾値よりも小さい場合、決定値は、選択されたフォトサイト852に対して「0」(垂直方向)に設定される。総和が別の予め設定された閾値よりも大きい場合、決定値は、選択されたフォトサイト852に対して「1」(水平方向)に設定される。閾値は、使用される近傍824のサイズに応じて変わる。総和がこれらの閾値に等しいか又はその間である場合、選択されたフォトサイト852の中心決定822だけが残される。
【0077】
3X3近傍824では、8つの近傍の決定が存在する(中心決定822を除外した場合)。「広通過帯域投票」では、低閾値を「2」とすることができ、高閾値を「6」とすることができる。「狭通過帯域投票」では、高閾値を「4」とすることができ、低閾値を「4」とすることができ、これは、近傍の決定を使用される中心決定822に正確に結び付けなくてはならないことを示している。広通過帯域投票は、選択されたフォトサイト852の自然方向基本設定に影響を与える可能性がないので好ましい。
【0078】
選択されたフォトサイト852の緑値を決定するのに使用される方向(垂直又は水平)を決定した後、数学的計算は、RAW画像810におけるサンプルを使用して、緑再構成画像850における選択されたフォトサイト852の緑値を決定する。最初に、選択された方向での2つの緑サンプルの平均値が、選択されたフォトサイト852の緑値のベース結果に対して使用される。図8では、例えば決定された方向が垂直であり、これによって緑サンプルG43及びG45の緑値の平均値が決定され、選択されたフォトサイト852に対する結果のベース(例えば、緑結果)として使用されるようになる。しかしながら、RAW画像810における対応するサンプル(赤又は青のいずれか)812の値に基づいて緑結果に対して調整が行われる。最初に、サンプリング方向における近傍のような対応するサンプルの2つの平均値が計算される(例えば、Average(平均)=(B42+B46)/2)。次に、平均値からの中心サンプル812の値の差が計算される(例えば、Difference(差)=B44−Average(平均))。この差は、スケール調整された差を生成するために、緑エッジが対応するサンプル812に対してどれ程強いかによってスケール調整される。(図4のサブステップ451の以前に構成された緑エッジ画像を用いて、対応するサンプルでエッジを決定することができる。)最後に、緑再構成画像850における選択されたフォトサイト852の結果として得られる緑値Gが、緑結果に加えられるスケール調整された差として計算される。これは、緑エッジの多くを有するエリアにおける値の他のチャンネル(R又はBのいずれか)により依存する効果を有する。
【0079】
全プロセス800は、緑再構成画像850が緑値で完全に埋められるまで繰り返され、すなわち、これらの緑値は、RAW画像810から直接取得され、上述された決定マップ及び投票を使用して補間される。
【0080】
d.緑鮮鋭化
図4を参照すると、補間プロセス450の後続のサブステップ454が、上記からの緑再構成画像850に対して緑鮮鋭化オペレーションを行う。最初に、緑画像が知覚グラデーションにできるだけ近接したスペースに変換される。次に、知覚的に漸変された再構成緑画像が、鮮鋭化オペレーションの半径によってブラーされ、ブラー再構成緑画像を生成する。ブラー再構成緑画像は、知覚的に漸変された再構成緑画像から差し引かれ、緑高域画像を生成する。緑高域画像は、緑再構成画像の高周波情報を包含する。緑高域画像は、2つの目的のために使用される。第1の目的は、画像を鮮鋭化することである。一時的に鮮鋭化された緑再構成画像は、オリジナル画像に対して予め設定された鮮鋭化係数倍だけ緑高域画像を加えることによって生成される。第2の目的は、エッジマスクを計算して、鮮鋭化オペレーションが画像のエッジにのみ働くよう制約することができるようにすることである。エッジマスクは、緑高域画像の絶対値を取り、これを僅かの量だけブラーして、次いで大きな係数でそのコントラストを引き上げることによって生成される。結果として得られるものは、予め設定されたレベルの閾値であり、範囲0...1までクランプされて、エッジマスク画像を生成する。エッジマスク画像は、鮮鋭化された緑再構成画像870を形成するために、一時的に鮮鋭化された緑再構成画像のどのエリアが緑再構成画像とミックスされるかを決定するためのマスクとして使用される。その後、この鮮鋭化された緑再構成画像850は、赤再構成画像及び青再構成画像と結合され、各サンプルでRGB値を有する画像を生成する。
【0081】
e.ブラーハーフサイズRGB画像
図4を参照すると、補間プロセス450のサブステップ456が、後で説明される彩度−ブラーオペレーション460で使用されることになるブラーハーフサイズRGB画像を作成する。図9は、このステップへの入力として使用されるRAW画像910のベイヤー符号化データの一部の実施例を示す。最初に、中間ハーフサイズRGB画像920の各ピクセル922に与えられる緑値(G)は、オリジナルフルサイズRAW画像610の2x2セル912の2つの緑フォトサイト(G1、G2)の平均値を使用して決定される。赤及び青サンプル(R、B)は、畳み込みリサンプリング又は類似の技術を使用して近傍の同じカラー(R、B)サンプルから追加された小さな寄与分と共に、オリジナルフルサイズ画像910の2x2セル912に見られる色(R、B)の単一のサンプルに主に基づいて各ピクセル922に与えられる。最後に、中間ハーフサイズRGB画像920は、ガウスカーネル930によってブラーされ、結果として得られるハーフサイズブラーRGB画像940を生成する。限定ではないが、ガウスブラー、選択的ブラー、バイラテラルフィルタ、メディアンフィルタ、及びボックスフィルタを含む1つ又はそれ以上の他のブラーオペレーションを使用することができる。この結果として得られる画像940は、後で説明される図4の彩度ブラーステップ460で使用できるようなブラーを有する。
【0082】
f.赤及び青再構成画像
図4の補間プロセス450において、サブステップ458は、赤再構成画像及び青再構成画像を作成する。図10は、赤再構成画像1050と、図10では部分的にのみ示されている別個の青再構成画像1070とを作成するためのプロセス1000を概略的に示している。
【0083】
再構成プロセス1000では、RAW画像1010の各フォトサイトがサンプリングされる。RAW画像1010の現在のサンプルが正しいチャンネル(すなわち、R又はB)である場合、再構成画像(1050又は1070)における結果として得られるサンプルの値は、オリジナルサンプルに「緑鮮鋭化差」を加えた値に等しい。オペレーション中のこのポイントでは、図4のRAW画像プロセス400は、鮮鋭化緑再構成画像(サブステップ454)及び非鮮鋭化緑再構成画像(サブステップ453)が作成されている。「緑鮮鋭化差」は、鮮鋭化緑再構成画像(サブステップ454から)におけるそのサンプルポイントでの緑チャンネルと、非鮮鋭化緑再構成画像(サブステップ453から)におけるそのサンプルポイントでの緑チャンネルとの間の差である。「緑鮮鋭化差」は、再構成時にいずれかの緑鮮鋭化を赤及び青チャンネルに同様に適用する効果を有する。例えば、図10の赤再構成画像1050を再構成する際に、現在のサンプル1012は、正しいRチャンネルであり、赤再構成画像1050における結果として得られる赤フォトサイト1052は、オリジナルサンプル1012に「鮮鋭化差」を加えた値である。
【0084】
RAW画像1010における現在のサンプルが正しいチャンネル(R又はB)でない場合、現在のサンプルが所望のチャンネルの直接水平又は垂直近傍を有するかどうかの決定が行われる。有する場合には、水平又は垂直近傍の平均値が取られ、「緑鮮鋭化差」が加えられて、再構成画像における結果として得られるサンプルを生成する。例えば、図10の赤再構成画像1050を再構成する際には、現在のサンプル1014は、正しいチャンネルではない(すなわち、Rではない)。従って、赤再構成画像1050における結果として得られる赤フォトサイト1054は、正しいチャンネル(すなわちR)の水平近傍の平均値に上記で説明された「鮮鋭化差」を加えたものである。
【0085】
RAW画像1010における現在のサンプルが正しいチャンネルではなく、正しいチャンネルの直接水平又は垂直近傍を持たない場合、全ての4つの対角近傍の平均値が計算され、「緑鮮鋭化差」が加えられて、再構成画像における結果として得られるサンプルを生成する。例えば、図10の青再構成画像1070を再構成する際には、現在のサンプル1016は正しいチャンネル(すなわち、青再構成のためのB)ではなく、正確なBチャンネルの水平又は垂直近傍を持たない。従って、青再構成画像1070における結果として得られる青フォトサイト1076は、正しいチャンネル(すなわち、B)の対角近傍の平均値に上記で説明された「緑鮮鋭化差」を加えたものである。再構成プロセスの最終結果は、後のプロセスで結合されて結果として得られるRGB画像を生成するまでバッファ内に記憶できる赤再構成画像1050及び青再構成画像1070である。
【0086】
g.彩度ブラーオペレーション
最後に、図4の彩度−ブラーオペレーション460は、サブステップ454からの鮮鋭化緑再構成画像、サブステップ456からのハーフサイズブラーRGB画像、及びサブステップ458からの赤及び青再構成画像を使用し、フルRGB画像を生成する。図11は、図4の自動化処理のための彩度ブラーオペレーション1100の1つの実施形態を示す。最初に、以前の処理からの赤再構成画像1102、鮮鋭化緑再構成画像1104、及び青再構成画像1106が取得され(ブロック1110)、これらから個々のR、G及びBサンプル値の各々を再構成RGB画像におけるRGBピクセルとして結合することにより、再構成RGB画像が作成される(ブロック1112)。次に各ピクセルでの再構成RGB画像の輝度が計算される(ブロック1114)。次いで、バイリニア補間を使用して、ハーフサイズブラーRGB画像1108をフルサイズブラー画像にリサイズし(ブロック1120)、フルサイズブラー画像における各ピクセルの輝度が計算される(ブロック1122)。次に、各ピクセルでのフルサイズブラー画像のブラーされた色の輝度が、再構成RGB画像の輝度に一致するようにスケール調整される(ブロック1130)。最後に、この高速彩度ブラーオペレーション1100から、色縁が低減されたフルサイズRGB画像が得られる(ブロック1140)。
【0087】
E.RAW画像処理パイプラインにおける変換段の詳細
1.特性行列の導出
図3のブロック334で既に言及されたように、カメラRGB画像をXYZ三刺激値に変換するための特性行列が事前計算され、画像のホワイトバランスと共に使用されて、カメラRGBからXYZ三刺激値への最適行列変換を推定する。図12では、自動化RAW処理における変換のための特性行列を導出するプロセス1200の1つの実施形態がフローチャート形式で示されている。プロセス1200では、複数のカメラ特性行列(例えば、M1、M2、その他)が、複数のカメラ、カメラのタイプ、カメラのモデル、製造物、イメージングセンサ、又は他のカテゴリーに対して導出される。プロセス1200は、図3のRAW処理中に補間行列を選ぶ際のユーザー介入及び主観性を排除することを目的としており、カメラ、タイプ、製造者、又は他のカテゴリー毎のRAW変換のパラメータを自動的に導出する。
【0088】
最初に、カラーチャート(例えば、Macbethカラーチェッカー)の基準画像又は同様のものが、特定のカメラ及び1つの公知の光源(例えば、光源A、D65、その他)を使用して取得される(ブロック1202)。これは、このカメラによって生成される唯一の基準画像ではない。以下で詳述されるように、このような複数の基準画像が所与のカメラ、カメラのタイプ、カメラのモデル、カメラ製造者、カメラのイメージングセンサのタイプ、又は他のカテゴリーに対して取得される。基準画像は、ラボで作ることができ、カラーチャートは、種々のカラーパッチ、ハイライト、シャドー、その他を包含することができ、複数の標準的な光源を有する照明ボックス内に位置付けることができる。
【0089】
同じ光源の下で、比色計などの標準的器具を使用してカラーチャートからの種々のカラー領域又はパッチに対してX、Y、Z色値が測定される(ブロック1204)。次に、領域に対するRGB値が、これらの領域に対して測定された対応するXYZ三刺激値に数学的にフィット(当てはめ)される(ブロック1206)。フィッティングプロセスは、基準画像のRGB値をチャートから測定されたXYZ三刺激値に相関付ける行列の行列係数の値を求める段階を包含する。包含される三刺激カラースペースに起因して、行列は、フィットを解くのに関連した9つの変数があるように3x3になる可能性が高い。フィッティングプロセスでは、基準画像のオリジナルホワイトバランスは無視される。従って、オリジナルホワイトバランスが無視されるので、フィッティングプロセスは、カメラが較正されているとは仮定しない。代わりに、行列係数の値を求めるのに固定ホワイトバランスが使用される。ホワイトバランスは通常、3つの値を有するベクトル
p(上付→)
として表される。フィッティングプロセスでは、ベクトル
p(上付→)
の各値は1に等しく、フィッティングプロセスにおけるホワイトバランスのどのような影響も認識されないようにされる。
【0090】
フィッティングプロセスでは、好ましくは、チャートの幾つかのカラーパッチ又は領域を用いて、行列の係数を導出する。従って、プロセス1200は、同じ光源の下の同じカラーチャート及び/又は同じ光源の下の異なるカラーチャートの種々のカラーパッチに対して繰り返すことができる(ブロック1210)。次に、導出された行列の係数に対してバランスが見つけられ、同じ光源を使用する種々の色に対して測定された測定XYZ三刺激値に種々の色のRGB値を相関付けるための適切な重み付けを有することができるようになる(ブロック1212)。最後に、プロセス1200は、この第1カメラ及びこの第1光源に対する第1特性行列M1を導出する。この第1行列M1は、3xN行列であり、nは、カメラに対するチャンネルの数(例えば、R、G、B)に対応する。
【0091】
第1カメラ特性行列M1の導出後、1202から1212のブロックは、以前に使用された同じカメラを使用する1つ又はそれ以上の付加的な光源に対して1回又はそれ以上繰り返される(ブロック1214)。1つ又はそれ以上のカラーチャートの以前の測定値を再使用することができる。これらのステップを繰り返した結果、異なる光源であるが同じカメラに対する複数のカメラ特性行列が得られる。これらの行列の行列係数は、種々の画像が種々の光源の下で1つ又はそれ以上のカラーチャートの対応する測定値に一致するときにカラー誤差を低減するように最適化又は調整される(ブロック1216)。これは、テスト及び調整を利用して行うことができる。最適化されると、各行列の係数は、その特定の行列に対する正規化係数を使用して正規化される(ブロック1218)。好ましくは、所与の行列に対する正規化係数は、行列の対角係数の和であり、行列の各係数がこの和によって除算されるようにする。
【0092】
最後に、1つ又はそれ以上の付加的なカメラ、モデル、その他に対して、ブロック1202から1218の全プロセスを繰り返すことができる(ブロック1220)。結果として、複数のカメラ特性行列が得られる。これらのカメラ特性行列の各々は、対応する光源及び1つのカメラ、タイプ、モデル、製造物、又は同様のものに関連付けられる。次にこれらのカメラ特性行列は、図14に関して以下に説明される後続の処理において補間が実施されたときに後でアクセスするために記憶される(ブロック1222)。
【0093】
上述のように、複数のカメラ特性行列は、ラボのカメラに対して作られ、本開示の自動RAW画像処理中に後でアクセスするために記憶することができる。従って、複数のカメラは、メモリ内に記憶されたその固有のカメラ特性行列を有することができる。自動前処理中、RAW画像に対するメタデータを使用して、画像に対する適切なカメラ特性行列をメモリから選択することができる。カメラに対して行列を予め設定することに加えて、ユーザーは、上記の技術を使用してライティング環境を注意深く構成し、更にカラー較正ターゲットを使用することによって、ユーザーのカメラに対する特性行列を独自に作成できる。
【0094】
2.ブラック補正の導出
図3において既に述べたように、ブラック補正プロセス330は、XYZカラースペースへの第1変換段302内でカメラRGB画像329に対して実施される。プロセス330は、補正を行うために導出されたブラックレベル調整を使用する。ブラックレベル調整は、カメラに対して導出されたカメラ特性行列(M1及びM2)において具現化され、その特性行列から、及びカメラから受け取ったホワイトバランス情報から生成された変換行列(M)によって行われる。図13は、本開示の自動化RAW処理で使用されるブラックレベル調整を導出するためのプロセス1300の1つの実施形態を示す。
【0095】
ブラック補正値を導出するプロセス1300は、図12に関して上述されたカメラ特性行列を導出するプロセスに組み込まれる。上述のように、図12の行列導出プロセス1200は、公知の光源を使用してチャートの基準画像を取得する段階を包含する。このステップの一部は更に、取り込まれた画像に対する標準的なブラックレベルオフセット(存在する場合)を差し引く段階を包含する(ブロック1302)。次に、前述と同様に、基準画像における領域に対するRGB三刺激値が、カラーチャートからの測定されたXYZ三刺激値にフィットされ、特性行列を導出する(ブロック1304)。このフィッティングプロセスは、幾つの数のカラーパッチが分析されるかに関わらず、特性行列の係数の変数の数すなわち3x3行列での9つの変数に起因してある量のフィッティング誤差を生じる。
【0096】
誤差を低減するために、ブラック補正の変数がフィッティングプロセスで使用される。これらのブラック補正変数の各1つは、基準画像のカラーチャンネル(R、G、B)の1つから差し引かれる。このようにして、ブロック1304は、12の変数(すなわち、行列からの9つとRGBチャンネルのオフセットに対する3つ)を使用して基準画像のRGB三刺激値を測定されたXYZ三刺激値にフィットさせることになる。次いで、導出は、カラー誤差が閾値レベルに低減されるまで、ブロック1304のフィッティングプロセスのブラック補正変数の値を用いて実施される(ブロック1306)。このように、各カラーチャンネルに対する最適ブラック補正変数は、2つのカラーセット、すなわち基準画像における測定されたカラーセットと推定されたカラーセットとの間のカラー誤差を最小にすることによって得られる。これらのブラック補正変数は、標準的ブラックオフセットに加えて付加的なブラック調整を表している。
【0097】
次にブラック補正変数は、処理中に後でアクセスするために編成及び記憶することができる(ブロック1310)。例えば、ブラック補正変数を編成するために、これらブラック補正変数を導出するのに使用された対応するカメラ及び光源に対する特性行列とこれらとを関連付けることができる。従って、各特性行列は、関連付けられたブラック補正変数を有することができる。更に、ブラック補正変数は、これらを導出するのに使用された種々の条件に関連付けることができる。これらの条件は、限定ではないが、使用される光源、画像コンテンツ、ホワイトポイントカメラ設定、及び包含するISO感度を含むことができる。ブラック補正変数間の様々な依存性は、変数の値がクラスタリングの特徴を示す場合には、グループ分け間で平均化することができる。更に、変数が一致していない場合、異なるブラック補正変数をその様々な条件に基づいて区別し分類することができる。
【0098】
プロセス1300は、RAW画像処理に使用される最適ブラックレベル補正のより客観的且つ一貫した決定を提供する。例えば、図3のパイプライン300では、これらのブラック補正変数は、行列変換が実施される前に、ステップ330でカメラRGB画像329のRGB三刺激値から最初に差し引かれ、変換におけるカラー誤差を低減することができるようにする。使用されるブラック補正変数のどのセットを選択するかは、メタデータ314におけるカメラ、タイプ、モデル、その他に基づくことができる。更に、選択は、異なる内部撮影条件(カメラISO設定、露出時間、その他など)、或いは光源などの外部条件に基づくことができ、これらは、メタデータ314の情報に示すことができる。
【0099】
更に、処理中にどのブラック補正変数を使用するかについての選択は、変数のセット間の平均又は補間に基づくことができる。前述のように、ブラック補正変数の第1セットは、第1光源に対して導出されて、第1特性行列M1に関連付けられ、ブラック補正変数の第2セットは、第2光源に対して導出されて、第2特性行列M2に関連付けられる。この2つのセットは記憶され、次のセクションで検討される最適変換行列Mを計算するのに使用される特性行列M1及びM2に関連付けることができる。1つの実施形態では、最適ブラック補正変数は、以下で検討する最適変換行列Mを計算するのに使用される特性行列M1及びM2に関連付けられた、変数の第1セットと第2セット間の固定平均値から計算される。或いは、最適ブラック補正変数は、ブラック補正変数のセット間の線形補間を使用して計算される。線形補間は、以下で検討される最適変換行列Mを計算するのに使用される同じ補間係数を適用する。
【0100】
3.変換行列の計算
図3のRAW画像処理で既に言及されたように、行列変換プロセス332がカメラRGB画像329に対して実行され、該カメラRGB画像329をXYZ三刺激値に変換する。プロセス332は、変換行列Mを使用して変換を行う。変換行列Mは3xN行列であり、ここでnはカメラに対するチャンネル数である。変換行列Mは、ホワイトバランスと、2つの基準光源に対応する少なくとも2つの事前計算されたカメラ特性行列とに依存し、使用される特定のカメラ、カメラのタイプ、製造物、その他に基づいて計算される。
【0101】
図14は、本開示の自動化RAW処理で使用される変換行列(M)を計算するためのプロセス1400の1つの実施形態を示す。プロセス1400は、変換時に1つの画像に対して動的に実施され、1つの画像当たりのカメラからのホワイトバランスを使用して、及び少なくとも2つの基準光源に対応する予め定義された特性行列を使用して変換行列Mを求め、カメラRGBをXYZ三刺激値に変換する。
【0102】
詳細には、変換行列Mは、特性行列M1及びM2と、画像に依存しメタデータ(例えば、図3の314)としてカメラによって提供されるカメラに固有のホワイトバランス情報
p(上付→)
から導出される。ホワイトバランス情報
p(上付→)
は3つの値のベクトルであり、正規化されると、第3の要素は1に等しいので、2つの有意な要素のみを有する。反復プロセスを介して、画像のホワイトポイントWに対する行列式は、M1、M2を使用して及び画像のホワイトバランス
p(上付→)
を使用して解かれる。解は、固有行列M及び固有ホワイトポイントWに収束する。
【0103】
プロセス1400は、カメラの所与のタイプ、カメラの所与のスタイル、個々のカメラ、製造者、又は他の特徴に特定することができる変換行列Mを解き、最適変換行列Mを導出する彩度スケーリング係数及び適切なホワイトバランスを求める。以下で説明されるプロセス1400では、2つの特性行列M1、M2のみが使用される。他の実施形態は、一般に補間を改善できる2つよりも多い特性行列を使用することができる。
【0104】
図6に関して上述されたように、所与のカメラに対する複数の特性行列M1、M2、Mnは、種々の光源の下で同じシーンの画像をタックすることによって生成される。例えば、M1は、光源Aによって作られたカメラ特性行列(xa=.4476、ya=.4074)とすることができ、M2は、光源D65によって作られたカメラ特性行列(xd=.3127、yd=.3290)とすることができる。光源は、XYZスペース又はCIE−1931彩度スペースx、yのいずれかにおけるベクトルとして表すことができる。
【0105】
複数の特性行列M1、M2、...、Mnは、1からnまでの相関色温度に基づいて順序付けられる。次いで、最も遠い光源を用いて、処理されているRAW画像において推定光源に収束する所与のカメラに対する好ましい変換行列Mを導出することによって、シーンの実際の光源を推定する。最初に、以前に決定されたカメラ特性行列M1及びM2が入力され(ブロック1402)、初期値が設定される(ブロック1404)。初期値は、第1特性行列M1に等しい第1中間行列ma1セットと、第2特性行列M2に等しい第2中間行列ma2セットとを含む。M1、M2に初期化されたこれらの中間行列ma1及びma2は、以下に説明される反復プロセスを介して好ましい変換行列Mに最終的に収束される。例えば、反復Kの最大数は、ゼロに設定され、総反復の上限Nは20に設定される。更に、ホワイトポイントの彩度に対する第1スケーリング係数fa1は1に等しく設定され、ホワイトポイントの彩度に対する第2スケーリング係数fa2は0に等しく設定される。
【0106】
収束を決定するのに使用される閾値Tはまた、0.001などのある値に設定され、これによってプロセスは、第1彩度スケーリング係数fa1と第2彩度スケーリング係数fa2との間の差の絶対値が閾値を下回るまで繰り返されるようにする。この閾値を使用して、反復プロセスは通常、ほとんどのカメラに対して3から5の間の補間ステップを必要とすることができる。別の実施形態では、行列ma1及びma2のノルム間の差は、閾値との比較に対して計算することができる。しかしながら、以下の実施例では、第1及び第2彩度スケーリング係数fa1及びfa2が既に計算されたスケーラであるので、これらを用いて収束度を測定する。
【0107】
最初に、第1彩度スケーリング係数fa1と第2彩度スケーリング係数fa2との間の差の絶対値がプリセット閾値Tより大きいかどうかの決定が行われる(ブロック1410)。勿論、第1反復では、彩度スケーリング係数fa1及びfa2は、それぞれ1と0であり、閾値Tより大きいことになる。次に処理は第1特性行列M1から始まる(ブロック1420)。
【0108】
第1特性行列M1では、中間行列ma1の逆行列が計算される(ブロック1422)。次に、XYZカラースペースの重みが、画像のホワイトバランスに基づいて計算される(ブロック1424)。例えば、Xw=mi[0][0]/p[0]+mi[0][1]/p[1]+mi[0][2]/p[2];Yw=mi[1][0]/p[0]+mi[1][1]/p[1]+mi[1][2]/p[2];及びZw=mi[2][0]/p[0]+mi[2][1]/p[1]+mi[2][2]/p[2]。次に、x−y重みがxyz重みに基づいて計算される(ブロック1426)。例えば、xw=Xw/(Xw+Yw+Zw)、及びyw=Yw/(Xw+Yw+Zw)。X−Y重み付け係数は、画像に関連付けられたx−y重み及び特定の光源値に基づいて計算される(ブロック1428)。例えば、fx1=(xw−xa)/(xd−xa)、及びfy1=(yw−ya)/(yd−ya)。
【0109】
次に、中間行列ma1の第1彩度係数fa1は、fa1=sqrt(fx1*fx1+fy1*fy1)として計算される(ブロック1430)。最後に、新しい値は、M1 =(1−fa1)*ma1+fa1*ma2としてに第1特性行列M1に対して計算される(ブロック1432)。
【0110】
次に類似のプロセスが、以下の式を使用して第2特性行列M2に対して繰り返される(ブロック1440)。
mi=Inverse(ma2);
Xw=mi[0][0]/p[0]+mi[0][1]/p[1]+mi[0][2]/p[2];
Yw=mi[1][0]/p[0]+mi[1][1]/p[1]+mi[1][2]/p[2];
Zw=mi[2][0]/p[0]+mi[2][1]/p[1]+mi{2}[2]/p[2];
xw=Xw/(Xw+Yw+Zw);yw=Yw/(Xw+Yw+Zw);
fx2=(xw−xa)/(xd−xa);
fy2=(yw−ya)/(yd−ya);
fa2=sqrt(fx2*fx2+fy2*fy2);
m2=(1−fa2)*ma1+fa2*ma2;
【0111】
第1及び第2特性行列M1及びM2 が上記のように計算されると、中間行列が、対応する特性行列ma1=m1及びma2=m2に等しく設定される(ブロック1442)。
【0112】
最後に、プロセス1400は、収束閾値T(ブロック1410)又は許容総反復(ブロック1450)が満たされない限り繰り返すことができる。プロセス1400が設定総反復Kを超えた場合(ブロック1450)、プロセス1400は中止され、ブロック1460に進む。そうでなければ、プロセス1400はブロック1410に戻り、閾値Tが超えたかどうかを調べ、必要に応じて特性行列M1及びM2 を収束する別の反復を繰り返すことになる。閾値Tが超えなかった場合、ブロック1410から1450は、特性行列を収束する別の反復に対して繰り返される。
【0113】
いずれの場合においても、収束が達成されるか或いは反復総数を超えると、最終彩度スケーリング係数が、fa=(fa1+fa2)/2として計算される(ブロック1460)。最後に、結果として得られる変換行列Mが、最初にm=(1−fa2)*ma1+fa2*ma2を計算し、次にM=Inverse(m)を計算することによって決定される(ブロック1462)。この結果として得られる変換行列Mは次に、変換行列MによりカメラRGB画像を変換することによって、使用された特定の光源に関係なく特定のカメラに対するRAW画像の自動処理に使用することができる(ブロック1464)。
【0114】
4.階調再現曲線の導出
図3のRAW画像処理パイプライン300において前述したように、色調整プロセス342及び変換プロセス344を用いてXYZ三刺激値を変換し、結果として得られるRGB画像349を生成する。変換は、3xnの変換行列Mを使用して行われ、ここで、nは、上述のように1つのカメラ当たりのチャンネル数(例えば、R、G、及びB)である。更に、変換は階調再現曲線を使用して行われ、該曲線は、リニアスペースからディスプレイ又は出力スペースへの画像レンディッションを最適化することを目的とする。従って、色調整プロセス342において使用される階調再現曲線は、画像の外観、コントラスト、シャドー、ハイライトディテール、及び全体的な画像品質に影響を与える。
【0115】
図15A−15Cは、本開示の自動化RAW処理で使用される階調再現曲線を導出するためのプロセス1500の1つの実施形態を示す。プロセス1500は、特定のカメラ、カメラのタイプ又はブランド、製造者、又は他のカメラに関する基準に対する最適化階調再現曲線を自動的に導き出すことができ、これによって階調再現曲線は、特定のカメラ、カメラのタイプ又はブランド、製造者、又は他のカメラに関する基準に対してRAW処理を行うときに図3の色調整プロセス(342)において自動的に使用することができるようになる。
【0116】
最初に導出プロセス1500において、幾つかの基準画像1502、1504が選択される。図15Aでは、便宜上2つの基準画像1502、1504のみが示されている。基準画像の第1画像1502は、カメラ情報1503、すなわち特定のカメラ、カメラのスタイル、製造物、その他に関連付けられている。この基準画像1502は、目標基準画像と呼ばれる。1つ又はそれ以上の他の基準画像1504は、同じ又は異なるカメラによって生成することができ、種々の技術及び処理ソフトウェアを使用して処理することができる。基準画像1502、1504の各々は、同じ設定、光源、その他を使用した同じシーン(例えば、カラーチャート又は同様のもの)を包含する。好ましくは、他の基準画像1504は、ハイライト、シャドー、階調の適正な分布、及び露出過剰画像への露出アンダー画像の分布を包含する。従って、他の基準画像1504は、画像処理ソフトウェアを使用する何らかの自動及び/又は手動操作を受けることができる。一般に、基準画像1502、1504は、画像間のシーン、露出、サイズ、その他が実質的に同じにすることができるように、ラボで生成できる。しかしながら、本明細書に開示されるRAW処理の実施形態は、ユーザーが基準画像を独自に生成して、階調再現曲線を生成可能にすることができる。
【0117】
基準画像1502、1504における各ピクセルの色は、使用されるカメラのセンサ、適用されるデモザイク処理プロセス、適用されるノイズ低減アルゴリズム、及び基準画像を生成するのに使用される他の詳細に応じて変わる。この結果、画像を取り込むのに使用されるイメージングセンサの差違、ノイズ低減の差違、使用されるデモザイク処理プロセスの差違、及び他の考えられる理由が依然として存在するので、2つの画像1502、1504は、同じシーンであっても色のピクセル間に相関性を有する可能性は低くなる。
【0118】
第1ステップ1510において、画像1502、1504は、両者の間のデモザイク処理の差違の影響及びノイズアーティファクトの影響を低減することを目的としたサイズにまでスケールダウンされている。2つの画像1502、1504について、デベイヤー処理、ハイライトリカバリ、画像のサイズ、及び他のディテールが同じでない可能性が高いので、スケーリングは通常必要になる。ローパスフィルタは、好ましくは、ピクセルカラーを領域に平均化するのに使用される。結果として得られるものは、ほぼ同じサイズを有する2つのスケール基準画像1512、1514である。1つの任意選択ステップ(図示せず)では、必要に応じて基準画像1512、1514のガンマ修正を実施することができる。
【0119】
第2ステップ1520において、スケール画像1512、1514は、グレースケール画像1522、1524に変換される。画像1512、1514は、カラーからグレースケールへの画像の変換を助けることができるグレーランプパッチを有することができる。画像のスケーリングダウン及びカラーからグレースケールへの低減は、オリジナル画像1502、1504間のノイズ及びデモザイク処理の影響又は差違を低減することを目的とする。
【0120】
第3ステップ1530において、第2画像1524の最大輝度を第1目標画像1522の最大輝度に一致させるゲイン係数が決定される。次に、第2画像1524のグレーレベルは、このゲイン係数によってスケール調整される。第4ステップ1540において、画像1522、1524間のピクセル毎のグレースケール値を比較するグレースケール画像1522、1524間のペアリングが行われる。第5ステップ1550において、グレースケール目標画像1522とグレースケール基準画像1524との間の1対1ピクセルペアリングは、y=f(x)の粗い階調曲線に従ってプロットされ、ここでxは、基準画像1524のグレーレベルであり、yは目標画像1522のグレーレベルである。このような粗い階調曲線の実施例が図15Bのグラフ1580に示されている。第6ステップ1560において、粗い階調曲線は、xの欠落グレーレベル又は曲線の不連続性のための補間、平均化、及び平滑化を使用して精細化される。更に、異常又は誤差に起因するあらゆるプロット値をこの精細化の間に取り除くことができる。最終ステップ1570において、最終階調再現曲線が生成される。このような最終階調曲線の実施例は、図15Cのグラフ1590に示されている。通常、階調再現曲線は、各カメラモデルに対する満足のいく結果をもたらすために、画像の色飽和及び輝度コントラストを向上させるS字形を有する。1つの実施例では、階調再現曲線は、連続した4つの3次多項式で表すことができる。
【0121】
次にこの階調再現曲線1590は、RAW処理が行われるカメラ(310)が、階調再現曲線1590を生成するのに使用される目標基準画像1502に関連付けられた初期カメラ情報1503の基準を満たすときに、図3の自動色調整プロセス(342)において使用することができる。従って、複数の階調再現曲線1590は、複数の異なるカメラ、カメラのタイプ、及び他の基準に対して生成される。このように、階調再現曲線が図3のプロセスのブロック346で取得されると、処理される画像に対するカメラ310からのメタデータ314を用いて、事前に記憶され及び構成された階調曲線のプールから適切な階調曲線を選択することができる。
【0122】
図15Aのプロセス1500の本実施形態では、最終階調再現曲線が、別個のカラーチャンネル(例えば、R、G、B)の代わりにグレースケールを使用して生成された。この階調再現曲線が図3の自動色調整プロセス(342)で使用される場合、これは、基本的に各チャンネルに同様にして適用されることになる。代替の実施形態では、上記で開示されたのと同様のプロセスを用いて、画像の各カラーチャンネルに対する別個の階調再現曲線を生成することができ、これによって図3の自動色調整プロセス(342)が、別個の階調再現曲線を色調整のために各チャンネルに独立して適用することができるようになる。例えば、基準画像1502、1504は、各チャンネルのための別個の画像を生成するためにフィルタリング処理にかけることができる。その結果、各チャンネルに関連付けられた画像は、プロセス1500の各段を受けて、処理されている画像の各チャンネルに適用することができる関連チャンネルに対する独立した階調再現曲線を生成することができる。
【0123】
F.RAW画像処理パイプラインにおける付加的なプロセス
図16Aでは、オリジナルRAW画像1610の結果として得られるRGB画像1690へのRAW処理のための複数の付加的な自動化プロセス1600が示されている。これらの自動化プロセス1600は、ディープシャドー脱飽和プロセス1620、輝度ブースト1650、及びRGB分離可能ブースト1680を含む。これらのプロセスが図3のRAW画像処理パイプライン300で実際に実施される時間及び場所は、カメラの仕様、RAW画像、及び他の特徴によって決まる。
【0124】
1.ディープシャドー脱飽和プロセス
1つの実施形態では、自動化ディープシャドー脱飽和プロセス1620は、カメラRGBからXYZカラースペースへの図3の第1変換段303において実施することができる。このプロセス1620は、シャドー脱飽和閾値を下回る輝度値を持つカメラRGB画像内のRGBカラー値に焦点を合わせる。図16Bは、入力/出力輝度グラフ1602においてシャドー脱飽和閾値を線Tでグラフ的に示している。脱飽和プロセス1620は、黒に対する近接度に比例して閾値Tを下回るこれらのディープシャドーRGBカラー値の飽和を低減する。シャドー脱飽和閾値Tは、黒の1%以内の輝度レベルに対応することができる。
【0125】
脱飽和プロセス1620において、RGB画像の各ピクセルに対するオリジナル輝度LOは、標準的技術を使用して計算される。計算された輝度LOはシャドー脱飽和閾値Tと比較され、閾値Tを下回るかどうかを決定する。閾値Tを下回る場合、補間されたグレースケール輝度LGが補間関数を使用して算出される。次に、この補間グレースケール輝度LGは、ディープシャドーピクセルのR、G、及びBのオリジナルカラー値の各々を置き換える。補間において、グレースケール輝度LGは、好ましくは黒に対するピクセルのオリジナル輝度LOの近接度に比例し、これによって、補間されたグレースケール輝度LGは、ディープシャドー脱飽和閾値Tから黒に滑らかに遷移するようになる。ディープシャドー輝度を補間グレースケール値と置き換えることで、画像のディープシャドーにおける色彩ノイズを低減することができる。
【0126】
2.RGB分離可能ブースト
自動化RGB分離可能ブースト1680は、画像がRGBカラースペースにあるときに、図3のパイプライン300において実施することができる。一般に、RGB分離可能ブーストは、各R、G、及びBチャンネルの輝度を個々に修正することによって画像コントラストを引き上げて画像の階調曲線を調整するための技術として好ましい。画像のシャドー及び低中間調エリアにおいてRGB分離可能ブーストを使用してコントラストを引き上げると、RGB分離可能ブーストの副次的効果として色の飽和を増大させることができる。画像がかなりのノイズ量を有すると、このコントラストの増大は、ノイズをより色彩豊富にし、望ましくないものにする。ノイズが「単色」に見える程(画像のローカルカラーに一致して)、ノイズが従来のアナログフィルムグレインにより相似するようになる。ノイズの色彩度がRGB分離可能ブーストによって増大された場合、ノイズは、画像のローカルカラーから赤及び青のカラーシフトを示すことになり、これは望ましくない。この望ましくないアーティファクトが起こる階調領域では、以下で検討される輝度ブーストが、RGB分離可能ブースト1680の代わりに使用される。従って、本実施形態では、RGB分離可能ブースト1680は、主により高い階調に焦点を当てる(例えば、図16Bのグラフ1602において線1606で示された中間調レベルを上回る階調)。これらのより高い階調に適用されると、RGB分離可能ブースト1680は、画像のハイライト領域における色彩度が低下する傾向がある。
【0127】
3.輝度ブースト及び遷移階調領域
自動化輝度ブースト1650はまた、画像がRGBカラースペースにあるときに、図3のパイプライン300において実施することができる。RGBブースト1680と同様に、輝度ブースト1650を用いて、RGB画像1690においてコントラストを制御することもできる。しかしながら、RGB分離可能ブースト1680とは異なり、輝度ブースト1650は、各R、G、及びBチャンネルの輝度を個々に修正することはない。代わりに、輝度ブースト1650は、全ての3つのチャンネルに同時に適用される。更に、輝度ブースト1650は、RGB分離可能ブースト1680に使用される中間調レベルを下回る遷移階調領域に集中する。図16Bのグラフ1602で概略的に示されるように、輝度ブースト1650のための遷移階調領域1604は、4分の1階調レベル1608と中間階調レベル1606との間の領域である。輝度ブースト1650は、この階調領域1604に適用されると、この階調領域1604において各チャンネルR、G、Bを個々に分離可能にブーストすることに関連する欠点の一部が低減される傾向となる。
【0128】
図16Cは、自動化輝度ブースト1660の1つの実施形態を示す。最初に、RGB画像におけるピクセルの輝度値が算出され(ブロック1662)、最大輝度値を下回るこれらの輝度値(例えば、図16Cのレベル1606)が決定される(ブロック1664)。前述のように、定義された遷移階調領域は、上側輝度値1606と下側輝度値1608とを有する図16Bの領域1604とすることができる。階調領域1604内のオリジナル輝度値を有するこれらのピクセルでは、新しい輝度値が補間を使用して算出される(ブロック1666)。
【0129】
処理デバイスのGPUを使用して処理が実施されるときには、三次方程式で具現化することができる補間関数が補間に使用される。他方、処理がCPUを使用して実施されるときには、補間は、三次方程式によって計算された複数のエントリを有するルックアップテーブルで具現化されるのが好ましい。このようなルックアップテーブルは、約65,000エントリを有することができる。例えば、オリジナル画像においてR1、G1、B1チャンネル値を有するピクセルは、標準的技術を使用して輝度値L1を有するように計算される。
【0130】
ブロック1666の補間において、階調領域内の輝度値は、階調領域外の輝度値と共に滑らかに遷移するのが好ましい。新しい輝度値L2 を決定するために、計算された輝度L1 が、輝度の区分的三次関数、或いは輝度の区分的三次関数の評価を具現化するルックアップテーブル(例えば、L2 =Table[L1 ])で使用される。1つの実施形態では、GPUによって使用され且つCPUに対するルックアップテーブルを構成するのに使用される区分的三次方程式は、次式で特徴付けることができる。
x<luminance_threshold_1が真であれば、
y=ax3+bx2+cx+d;
偽であり、luminance_threshold_2が真であれば、
y=ex3+fx2+gx+h;
偽であり、luminance_threshold_3が真であれば、
y=ix3+jx2+kx+l;
偽であれば、
y=mx3+nx2+ox+p;
【0131】
いずれの2つの隣接する三次方程式もこれらを分離する輝度閾値の値に一致させるよう設計されるのが好ましい。更に、隣接する三次方程式は、これらを分離する同じ輝度閾値の傾斜に一致するよう設計される。通常、luminance_threshold_1は0.1であり、luminance_threshold_2は0.2であり、luminance_threshold_3は0.5である。更に、x=0でのyの値はゼロである。これは、係数dが0に恒等的に等しいことを意味する。x=1でのyの値も同様に1である。これは、係数m、n、o、及びpによって定義された三次方程式に対する含意を有する。
【0132】
新しい輝度値を補間した後、新しい輝度L2 の古い輝度L1 に対する比が算出され(ブロック1668)、この係数がオリジナルカラー値R1、G1、B1に乗算されて画像に対する新しいカラー値R2、G2、B2が得られ、輝度ブーストによって修正されたカラー値を有するピクセルを生成する(ブロック1670)。例えば、修正されたピクセルは、
R2=(L2/L1)R1、G2=(L2/L1)G1、及びB2=(L2/L1)B1
によって特徴付けられるRGBカラー値を有することになる。
【0133】
図16Bに示されるように、遷移階調領域1604は、最小輝度値1608と最大輝度値1606とによって定義される。遷移階調領域1604の最小輝度値1608より下では、上述された輝度ブースト1650を使用して、この領域に対するブーストされたRGB値を計算する。しかしながら、遷移階調領域1604内では、画像におけるノイズの量に応じてハイブリッドブーストが使用される。ハイブリッドブーストでは、輝度ブースト1650とRGB分離可能ブースト1680の両方が評価される。
【0134】
従って、図16Cのブロック1672では、選択されたピクセルの輝度値が遷移階調領域内に存在するかどうかの決定が行われる。存在しない場合、以前に計算された輝度ブーストからのブーストされたRGB値が所与のピクセルに対して使用され、プロセス1600はブロック1678に進む。
【0135】
選択されたピクセルに対するオリジナル輝度値がブロック1672で遷移階調領域内に存在する場合、輝度値に対するRGB分離可能ブースト(1680)が計算される(ブロック1674)。次に、階調領域内のこれらの輝度値に対するブーストされたRGB値は、遷移階調領域(1604)内でオリジナル輝度値が存在する場所に基づいて、以前に計算された輝度ブースト(1650)とRGB分離可能ブースト(1680)との間を補間することによって計算される(ブロック1676)。補間は、遷移階調領域(1604)の最小輝度値(1608)の「0」から遷移階調領域(1604)の最大輝度値(1606)の「1」の範囲に及ぶ平滑関数を使用して計算される。前述のように、RGB分離可能ブースト(1680)は、最大輝度レベル(1606)を上回る値に対してのみ使用され、輝度ブースト(1650)は、最小輝度レベル(1608)を下回る値に対してのみ使用される。
【0136】
好ましくは、RGB分離可能と輝度ブーストとの間を補間されたハイブリッドブーストは、画像が所与の量のノイズを有する場合にのみ用いられる。例えば、画像がほとんどノイズを有さない場合、RGB分離可能ブースト(1680)は、階調範囲全体に対して使用されるのが好ましい。しかしながら、画像が閾値を超えるノイズ量を有する場合、上述されたハイブリッドブーストが使用される。画像がノイズの中間の量を有する場合、ストレートRGB分離可能ブーストとハイブリッドブーストの両方が算出され、ストレートRGB分離可能ブーストとハイブリッドブーストとの間の補間が実施されて、使用される結果ブーストを決定する。選択されたピクセルがブーストされると、ブロック1678でのプロセス1600が、オリジナル画像の付加的なピクセルに対してブロック1666から1678を繰り返す。最後に、修正された輝度値を有する結果として得られる画像が生成される(ブロック1674)。
【0137】
前述のように、オペレーティングシステムを有する処理デバイス(例えば、コンピュータ、イメージングデバイス、カメラ、その他)は、本明細書に開示される自動化RAW画像処理方法、サービス、及び技術を実施することができる。更に、プログラム可能処理デバイスによって可読のプログラム記憶デバイスは、プログラム可能処理デバイスに本明細書で開示された自動化RAW画像処理方法及び技術を実行させる命令をプログラム記憶デバイス上に記憶させることができる。
【0138】
好ましい他の実施形態の上記の説明は、出願人によって構想された本発明の概念の範囲又は適用性を限定又は制約するものではない。1つの実施例として、本開示は、RGBベイヤーパターン及びRGBカラースペースに焦点を当てているが、本開示の教示がカラーフィルタアレイ及びカラースペースの他の実施にも適用できる点は理解されるであろう。本明細書に包含される本発明の概念を開示する代わりに、出願人は、添付の請求項によって与えられる特許権全てを要求する。従って、添付の請求項は、当該請求項の範囲又はその均等物の範囲内にある外延全てに対しての修正及び変更を含むものとする。
【技術分野】
【0001】
(関連出願の相互参照)
本明細書は、その全体が引用により本明細書に組み込まれ且つ優先権を主張する「System and Method for Raw Image Processing(RAW画像処理のためのシステム及び方法)」という名称の2006年10月13日に出願された米国特許仮出願第60/829,519号の本出願である。
【0002】
本開示の対象は、一般に、RAW画像を処理して絶対カラースペースにすることに関し、更に具体的には、画像変換の階調再現曲線を導出し、RAW画像の前処理中に階調再現曲線を適用するためのシステム及び方法に関する。
【背景技術】
【0003】
デジタルカメラの電荷結合素子(CCD)などのデジタル画像センサは、米国特許第3,971,065号(特許文献1)に記載されているRGBベイヤーパターンなどのカラーフィルタ処理アレイ又はパターンで配列された複数のフォトサイトを有する。RGBベイヤーパターンでは、各フォトサイトが、赤、緑、又は青、或いはその何らかの変形形態を受け入れるようにフィルタリングされる。デジタルイメージングセンサによって取り込まれたオリジナルのビット・フォー・ビットデジタル画像ファイルは、RAWファイル又はRAW画像と呼ばれる。幾つかの変数に応じて、RAW画像は通常、8から18MBのメモリスペースを必要とする可能性がある。カラーフィルタアレイ及びデジタルイメージングセンサのタイプは通常、デジタルカメラの製造品毎に変わる。例えば、一部のカラーフィルタ処理アレイは、黄、シアン、緑、及びマゼンタのパターンを使用する。
【0004】
通常、デジタルカメラは、RAW画像に対してデモザイク処理又はデベイヤープロセスを実施し、画像を圧縮アルゴリズムで変換して、JPEG又は表示及びビューに好適な他のタイプの圧縮ファイルを出力する画像パイプラインを有する。しかしながら、デジタルカメラによって取り込まれたRAW画像は、コンピュータ、及びAppleのAperture1.0などのコンピュータソフトウェアにアップロードすることができ、コンピュータ上での動作によって、ユーザーは、RAW画像に種々のマニュアル操作を行うことが可能になる。
【0005】
処理されたデジタル画像のカラー情報は、幾つかのカラーモデルによって特徴付けることができる。1つのカラーモデルはRGBカラースペースであり、複数のカラーを生成するために赤(R)、緑(G)、及び青(B)の組合せを使用する。デジタルカメラ用に使用される幾つかのRGBカラースペースには、スタンダードRGB(sRGB)及びAdobe RGBが含まれる。別のカラーモデルは、1931年に国際照明委員会(International Commision on Illumination CIE)によって作成されたCIE XYZカラースペースである。数学的技術を使用して、カラー情報を1つのカラースペースから別のカラースペースに変換することができる。
【0006】
デジタルカメラは、オート、白熱、蛍光灯、曇り、晴れ、又は感光度などのホワイトバランス設定(例えば、ISO100、ISO2000など)を有する。この設定は、画像の被写体を照明している光源からの光の色温度にデジタルカメラのホワイトバランスをマッチさせるのに使用される。種々の標準光源の特徴は当該技術において定義されている。例えば、光源Aは白熱光を表すのに使用され、2856Kで黒体放射体のプロファイルによって定義される。光源シリーズDは、自然照明を表すのに使用される。番号は、ソースの相関色温度(CCT)を示すためにDシリーズ光源の名称で使用される。例えば、光源D50は5000KのCCTを有し、光源D65は6500KのCCTを有する。光源シリーズFは、蛍光照明の種々のタイプを表すのに使用される。例えば、光源F2は白色蛍光を表し、光源F11は狭帯域蛍光を表す。デジタル画像がデジタルカメラによって1つの光源の下で取得されるときには、白色点変換技術を使用して異なる光源の下で画像の特徴を推定することができる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】米国特許第3,971,065号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
デジタルカメラ又は他のイメージングデバイスによって取得されたデジタル画像を処理するときには、種々の考慮事項に対処しなくてはならない。1つの考慮事項は、デジタル画像の空間品質及びディテールを保護することを包含し、別の考慮事項は、デジタル画像の色を完全に表現することを包含する。多くの点で、これらの2つの考慮事項は相互に関連付けられている。
【図面の簡単な説明】
【0009】
【図1】RAW画像を生成及び処理するためのシステムの1つの実施形態を示す図である。
【図2】本開示の特定の教示によるRAW処理を実施するための汎用プロセッシングデバイスのためのソフトウェアスタックの1つの実施形態を示す図である。
【図3】本開示の特定の教示による自動化RAW画像処理パイプラインの1つの実施形態を示す図である。
【図4】図3の自動化RAW処理段の1つの実施形態を示す図である。
【図5】図4のRAW処理段のためのハイライトリカバリを実施するためのプロセスの1つの実施形態を示す図である。
【図6】図4のRAW処理段におけるノイズ及びスタックピクセルを低減するためにカメラのプロファイルを導出するプロセスの1つの実施形態を示す図である。
【図7】図4のRAW処理段のためのハーフサイズ緑エッジ画像を作成するプロセスの1つの実施形態を示す図である。
【図8】図4のRAW処理段のための非鮮鋭化及び鮮鋭化された緑再構成画像を作成するプロセスの1つの実施形態を示す図である。
【図9】図4のRAW処理段のためのハーフサイズRGB画像を作成するプロセスの1つの実施形態を示す図である。
【図10】図4のRAW処理段のための赤再構成画像及び緑再構成画像を作成するプロセスの1つの実施形態を示す図である。
【図11】図4のRAW処理段のための彩度ブラーオペレーションの1つの実施形態を示す図である。
【図12】図3の第1変換段階で使用される特性行列を導出するためのプロセスの1つの実施形態を示す図である。
【図13】図3の第1変換段階で使用されるブラックレベル調整を導出するためのプロセスの1つの実施形態を示す図である。
【図14】図3の第1変換段階のための変換行列を導出するためのプロセスの1つの実施形態を示す図である。
【図15A】図3の第2変換段階で使用される階調再現曲線を導出するためのプロセスの1つの実施形態を示す図である。
【図15B】図3の第2変換段階で使用される階調再現曲線を導出するためのプロセスの1つの実施形態を示す図である。
【図15C】図3の第2変換段階で使用される階調再現曲線を導出するためのプロセスの1つの実施形態を示す図である。
【図16A】図3の自動化RAW画像処理パイプラインのための付加的な自動化プロセスを示す図である。
【図16B】入力及び出力輝度のグラフにおける図16Aの自動化プロセスの詳細を示す図である。
【図16C】図3の自動化RAW画像処理パイプラインで使用される輝度ブーストの1つの実施形態を示す図である。
【発明を実施するための形態】
【0010】
本開示の対象の好ましい実施形態及び他の態様は、添付図面と共に以下の特定の実施形態の詳細な説明を読むとより理解されるであろう。
【0011】
本開示の対象は、種々の修正及び代替形態が可能であり、その特定の実施形態が各図面において例証として示され、本明細書で詳細に説明される。各図及び本明細書での説明は、本発明の概念の範囲をどのようにも限定するものではない。むしろ、各図及び本明細書の説明は、米国特許法35U.S.C.§112で要求されるように特定の実施形態を参照することにより、当業者に対して本発明の概念を例証するために提供される。
【0012】
A.RAW画像処理システム
図1を参照すると、RAW画像を生成し処理するためのシステム100の1つの実施形態が概略的に示されている。システム100は、イメージングデバイス110と汎用処理デバイス150とを含む。一般に、イメージングデバイス110及び汎用処理デバイス150は、必要な処理能力及びメモリ容量を有するデジタルスチルカメラ又は同様のものなどの1つのデバイスに一体化することができる。或いは、デバイス110及び150は、図1に示されるように別個の構成要素とすることができる。例えば、イメージングデバイス110は、デジタルスチルカメラ、カメラ電話、又は同様のものとすることができ、処理デバイス150は、コンピュータ、ラップトップ、又は同様のものとすることができる。以下の説明では、イメージングデバイス110はカメラと呼ばれ、処理デバイス150は、例証としてコンピュータと呼ぶことができる。
【0013】
カメラ110は、デジタル画像を取り込むためのイメージングセンサ120を含む。イメージングセンサ120は、電荷結合素子などの当該技術において公知であり使用されているイメージングセンサの種々のタイプのいずれかとすることができる。カメラ110はまた、プロセッサ及びメモリハードウェア130と、データをコンピュータ150に伝達するためのインターフェース140とを有する。次に、コンピュータ150は、インターフェース160、プロセッサ及びメモリハードウェア170、オペレーティングシステム及びソフトウェア180、及び出力デバイス190を有する。
【0014】
使用時は、カメラ110のイメージングセンサ120は、RAW画像122を取り込む。前述のように、イメージングセンサ120は、RGBベイヤーパターンで配列することができるカラーフィルタ処理アレイを有する。従って、RAW画像122における各フォトサイトのカラー値は、赤強度値、緑強度値、又は青強度値のいずれかを表し、各値は通常、0から4095の範囲の10ビットである。他のカメラ製造品は、RAW画像122が種々の情報を有することができるように他のカラーフィルタアレイを有することができる。例えば、ソニー「828」デジタルカメラでは、カラー値は、赤、緑、青、及びエメラルドを表す4チャンネルRGBE座標にある。説明の目的で、以下の議論では、RGB値を有するRAW画像122を参照するものとする。
【0015】
RAW画像を取り込んだ後、プロセッサ/メモリハードウェア130は、ユニバーサルシリアルバス(USB)インターフェースとすることができるインターフェース140を介してRAW画像122を出力することができる。次いでコンピュータ150は、インターフェース160を用いてRAW画像122を受け取ることができる。好ましくは、コンピュータ150は、RAW画像122のオリジナルコピーを維持するためにマスターファイルとしてRAW画像122を記憶すると共に、以下で説明される前処理は、RAW画像122のコピーに対して実施される。カメラ110からRAW画像122をインポートする代替形態では、ネットワーク、メモリカード、別のコンピュータ、又はフラッシュメモリ、外部ハードディスクドライブ、又はCD−ROMなどの外部記憶メディアからインポートすることができる。
【0016】
後で詳細に説明される技術を使用して、プロセッサ/メモリハードウェア170及びオペレーティングシステム/ソフトウェア180は、RAW画像122のコピーを前処理し、これを最終的にはディスプレイ及びビューに好適な絶対カラースペース(例えば、レンダリングカラースペースとも呼ばれる、sRGB、Adobe RGB、又は同様のもの)に変換する。RAW画像122を前処理し、これを絶対カラースペースに変換した後、プロセッサ/メモリハードウェア170及びオペレーティングシステム/ソフトウェア180は、結果として得られた画像をコンピュータ150上のソフトウェア及びアプリケーションの種々のタイプに利用できるようにする。例えば、結果として得られた前処理画像は、Apple ComputerのPreview、iPhoto、及びApertureソフトウェアコンポーネントなどのイメージングアプリケーションが利用できるようにすることができ、ここでは、画像に対して処理、ビュー、加工、その他を行うことができる。
【0017】
上述のように、オペレーティングシステム/ソフトウェア180は、RAW画像122を前処理するのに使用される。従って、次に、RAW画像122を前処理するためのソフトウェアアーキテクチャについて説明する。
【0018】
B.RAW画像処理システムのソフトウェアスタック
図2は、図1のコンピュータ150などの汎用処理デバイスのためのソフトウェアスタック200の1つの実施形態の階層図を示す。ソフトウェアスタック200の一部分は、図1のデジタルカメラ110の一部とすることができる。ソフトウェアスタック200は、オペレーティングシステム(O/S)カーネル層210、O/Sサービス層220、リソース層230、アプリケーションフレームワーク及びサービス層240、並びにアプリケーション層250を含む。これらの層は、例示的なものであり、幾つかの特徴部が省略されている。例えば、0/Sカーネル層210の下にある下層レベルソフトウェア及びファームウェアは図示されていない。一般に、1つの層において示されるソフトウェア要素は、その下に位置付けられる層からのリソースを使用し、上に位置付けられる層にサービスを提供する。しかしながら、実際には特定のソフトウェア要素の全てのコンポーネントがこの様式で完全には機能しなくてもよい。
【0019】
O/Sカーネル層210は、高度に保護された環境でコア0/S機能を提供する。O/Sカーネル層210の上では、O/Sサービス層220が、機能的サービスをその上の層にまで拡張する。コンピュータのオペレーティングシステムのためのO/Sサービス層220は、幾つかの機能サービスを提供すると同時に、デジタルカメラのカメラ内のオペレーティングシステムが、より限定されたサービスを提供することができる。本実施形態では、O/Sサービス層220は、以下に説明される種々の教示によるRAW画像に対する前処理を実施するためのRAW画像処理サービス222を有する。
【0020】
リソース層230は、O/Sサービス層の上にあり、Open Graphics Library(「OpenGL」)、Apple ComputerのPDFキット、その他などのグラフィクスリソースを示す。Silicon Graphics, Inc.によって開発されたOpenGLは、種々のグラフィクス機能の仕様である。RAW処理アプリケーションプログラミングインターフェース(API)232は、リソース層230とO/Sサービス層220のRAW画像処理サービス222との間に位置付けられる。層240は、2つの層、アプリケーションフレームワークとアプリケーションサービスとして通常表される機能の併合である。この層240は、アプリケーション層250として本明細書では示される最高層に常駐するアプリケーションプログラムのためのハイレベルで且つ多くの場合機能上のサポートを提供する。
【0021】
RAW処理サービス232は、汎用処理デバイスの中央処理ユニット(CPU)を活用して、RAW画像を前処理する。RAW処理サービス232はまた、OpenGLを使用して、汎用処理デバイスに関連付けられたグラフィクス処理ユニット(GPU)を活用することができる。この結果、RAW処理API232は、アプリケーション層250における種々のアプリケーションプログラムがサービス232の前処理された画像を利用できるようにする。従って、RAW画像は、O/Sサービス層220におけるRAW画像処理サービス222及び汎用処理デバイスのハードウェア(例えば、CPU/GPU)を使用して前処理することができる。このようにして、RAW処理は、RAW画像がより多くの情報を包含するので、カメラによって提供される標準のJPEGファイルに比べて編集性が向上した高品質画像を生成するために、OSサービス層222に集中させることができる。
【0022】
更に、前処理された画像は、RAW画像を処理可能な場合と可能でない場合があるアプリケーション層250において種々のアプリケーションが利用できるようにすることができる。前処理された画像を使用できる層250におけるアプリケーションプログラムは、ワードプロセッシングアプリケーション、フォトアプリケーション、アドレスブックアプリケーション、電子メールアプリケーション、或いは画像を使用できる他のいずれかのアプリケーションを含むことができる。更に、本明細書に開示されるRAW処理技術は、RAWビデオにも適用可能であり、これによってビデオを使用するアプリケーションはまた、開示される技術から恩恵を受けることができる。
【0023】
C.RAW画像処理パイプラインの概要
上記の実施形態で言及されたように、RAW画像の前処理は、汎用コンピュータのO/Sサービス層220において動作するRAW画像処理サービス222において実施することができる。パイプラインは、画像処理を特徴付ける1つの方法である。図3は、本開示の幾つかの教示に従うRAW画像処理パイプライン300の1つの実施形態を示す。パイプライン300は、デジタルカメラ310又は他のソースからのRAW画像312を前処理し、更に種々のアプリケーション(図示せず)によって使用される結果として得られる画像349を出力するための複数の段階301、302、303、及び304で図示されている。初期画像取り込み段階301では、カメラ又は他のイメージングデバイス310が画像を取り込み、これを上述のようにRAW画像又はファイル312としてRAWフォーマットで記憶する。この時点で、RAW画像312は、カメラ310の処理能力に応じて、カメラ310から汎用処理デバイス又はコンピュータ(図示せず)に伝達されるか、或いはRAW処理のためにカメラ310に保持することができる。
【0024】
後処理段は画像312及びカメラ310の属性に依存することになるので、後処理を可能にするために、RAW画像312のホワイトバランス及び他のメタデータ314と、RAW画像312を取得するのに使用される特定のカメラ310とが識別される。メタデータ314は、Exchangeable Image File(EXIF)フォーマットにすることができ、例えば、シャッター速度、アパーチャ、ホワイトバランス、露出補正、測光設定、ISO設定、日付、及び時間を含むRAW画像312の画像がどのように取り込まれたかに関する情報を含むことができる。
【0025】
RAW処理段302では、RAW処理は、ブラックサブトラクションプロセス320、ハイライトリカバリプロセス321、スタックピクセル除去プロセス322、自動露出調節プロセス323、デモザイク(デベイヤー)プロセス324、及び彩度(クロマ)−ブラープロセス325を含む1つ又はそれ以上の種々のプロセスを使用してRAW画像312に対して実施される。RAW処理段302の1つの目的は、RAW画像312における取り込まれたシーンの空間品質及びディテールを保護することである。
【0026】
これらのプロセス320−325を実施するために、メタデータ314を用いて、プロセスに関連付けられた種々のRAW処理アルゴリズムを取得する(ブロック328)。これらのプロセス320−325の1つ又はそれ以上は、特定の順序で示されているが、カメラに関連付けられた何らかの細目などの特定の要件に応じて再配列することができる。更に、これらのプロセス320−325の1つ又はそれ以上は、種々の理由で使用される場合と使用されない場合があり、更に、画像処理において通常使用される他のプロセスを使用してもよい。更に、これらの種々のプロセス320−325の一部は、実際には、本明細書で必ずしも表現されていない方法で互いに連動して動作することができる。
【0027】
RAW処理段302の最後に、デモザイクプロセス326が初期RAW画像312からカメラRGB画像329を生成する。ここで、カメラRGBは、画像329がISO17321で定義されるISO RGBのような、レンダリングされていないRGBカラースペースを有することを示す。カメラRGB画像329は、初期RAW画像312で取り込まれたシーンのオリジナル測色法の推定値を具現化し、カメラRGB画像329は、オリジナルのダイナミックレンジ及び全域を維持する。カメラRGB画像329は、出力デバイスによって表示、ビュー、又はプリントされるために付加的な処理に進まなくてはならない。
【0028】
一般に、デモザイクプロセス326は、初期画像312のデバイス固有のRAWデータを結果として得られる画像329におけるレンダリングされていないRGBデータに変換し、該結果として得られる画像は、初期画像312を取り込むのに使用されるデバイス(例えばカメラ)とは無関係である。デモザイクプロセス326の実際の実施は、画像312の詳細及び/又はその画像312を取り込むのに使用されるイメージングセンサに依存することになる。例えば、カメラRGB画像329でのピクセルの実際のカラーは、各フォトサイトがR、G、又はBに対し1つだけのカラー値を有するので、RAW画像312の複数のフォトサイトから補間される。この画像再構成プロセスは、デモザイク処理(又は、Bayer Matrixフィルタの場合のデベイヤー処理)と呼ばれる。一般に、デモザイクプロセス326は、RAW画像312におけるフォトサイトのR、G、又はB、及びカメラRGB画像329のR、G、及びB値を有する出力ピクセルのいずれかで表される複数のカラー値を取る。通常、所与のピクセルの成分は、その近傍の強度から計算される。従って、デモザイクプロセス326は通常、カメラのカラーフィルタアレイにおけるフィルタの配列に依存するのでデバイスに固有である。
【0029】
RAW処理段302の後に2つの変換段303及び304が続く。これらの変換段303及び304の1つの目的は、取り込まれたオリジナルシーンの色を完全に表すことである。多くの方法で、色を完全に表すこれらの段階303及び304における考慮事項は、RAW処理段302のディテールを維持することに相関付けられる。これらの変換段303及び304の最終結果は、スタンダードRGB又はAdobe RGBなどのレンダリングカラースペースにおける結果として得られる画像349である。次いで、結果として得られるRGB画像304は、ワードプロセッシングアプリケーション、フォトアプリケーション、アドレスブックアプリケーション、電子メールアプリケーション、或いは図2を参照して上述されたような画像を使用できる他のいずれかのアプリケーションが利用できるようにすることができる。
【0030】
第1変換段303では、カメラRGB画像329は、XYZ画像339を生成するために、XYZカラースペースにおけるXYZ三刺激値に自動的に処理され変換される。XYZカラースペースは、その種々の利点のために使用され、画像データは、この段階303で発生するプロセスと互換性があるようになる。例えば、XYZカラースペースに変換することにより、カラー値を測定可能な色温度に相関付けて、カメラ310によって取り込まれたシーンのオリジナルカラーを完全に表すことが可能になる。
【0031】
この段階303で、ブラック補正プロセス330は、カメラRGB画像329におけるブラックレベルを調節する。同時に、行列(マトリクス)変換プロセス332は、カメラRGB画像329をXYZ三角刺激値を有するXYZ画像339に変換する。この段階303の間に処理を行うために、幾つかのメタデータ314(ホワイトバランスを含む)を用いて、変換行列(M)を取得し(ブロック334)、以下で詳述される他の必要な計算を実施する。
【0032】
一般に、ブラック補正プロセス330は、カメラRGB画像329からブラックレベルを差し引き、後の段階でより効率的なコード化及び処理を可能にする。更に、差し引かれるブラックレベルは、画像コンテンツ及びカメラモデルに依存し、ブラックレベルを調節して、ノイズを低減するか、又はより良好なカラーレンディションをもたらすことができる。ブラック補正プロセス330は、RAW画像312を取り込むのに使用される特定のカメラに対して構成されている。プロセス330は、R、G、及びB値を有するピクセルを入力として受け取り、ブラック補正されたR、G及びB値を出力する。ブラック補正プロセス330は、各RGBチャンネルに対するブラックオフセットを最適化し、カメラRGB三刺激値からXYZ三刺激値への変換が最小誤差を有するようにする。ブラック補正プロセス330は、図13に関して更に詳細に説明されるプロセスによって導き出される。
【0033】
行列変換プロセス332は、上述のブラック補正を組み込み、入力として、カメラRGB画像329のR、G及びB値を取り、XYZ三刺激値を出力する。一般に、プロセス332は、カメラ、モデル、その他に固有であり、更に予め定義された光源に関連付けられる2つ又はそれ以上のカメラ特性行列M1及びM2を使用する。カメラ特性行列M1及びM2の各々は、カラーチャートを撮影するときにカラーチャートの測定されたカラー値を所与のカメラの感知データと比較することによって導き出される。特性行列を導き出すための1つの実施形態を図12に関して以下で説明する。この段階303の1つの利点では、カメラ特性行列の事前計算及び導出は、ユーザーの主観性及びRAW変換の他の実施に無関係の自動プロセスを包含する。従って、パイプライン300における自動化処理は、コンピュータの種々のアプリケーションによって使用される品質処理画像を提供することができる。
【0034】
RAW画像312を取得するのに使用されるカメラに固有のカメラ特性行列を使用して、プロセス332は、カメラRGB画像329に対するブラック補正及びXYZ三刺激値への変換を行うのに使用される変換行列(M)を導き出す。変換行列Mは、カメラRGBからXYZ三刺激値への最適行列変換を推定するために、メタデータ314でのホワイトバランスと共に使用される。変換行列Mは、図14に関して更に詳細に説明されるプロセスによって導き出される。
【0035】
最後に、第2変換段階304では、XYZ三刺激値の変換データが処理され、スタンダードRGB(sRGB)又はAdobe RGBなどの絶対カラースペースにおける値に変換される。最初に、色順応プロセス340は、色順応変換を適用することによって画像339の発色を再現する。色順応変換は、入力光源の下で取り込まれた入力カラーのXYZ三刺激値を、予測される出力光源の下での出力カラーの対応するXYZ三刺激値に変換する。色順応変換は、当該技術で知られており、この多くがvon Kriesモデルに基づく。
【0036】
次に、色調整(カラーチューニング)プロセス342は、画像のXYZ三刺激値の階調曲線を調節する。最後に、色調整プロセス342を組み込む変換プロセス344は、XYZ三刺激値を、sRGB又はAdobe RGBなどの絶対レンダリングカラースペースのRGB三刺激値に変換し、これによって特定のRGBカラースペースの結果として得られる画像349が生じる。レンダリングカラースペース(例えば、sRGB又はAdobe RGB)は、リアル又はバーチャル出力特性の測色に基づく。この第2変換段階304の間に処理を行うために、カメラ310からの幾つかのメタデータ314を用いて、階調曲線を取得し(ブロック346)、以下に説明される他の必要な計算を実施する。
【0037】
一般に、色調整プロセス342は、ゲイン及び出力階調再現曲線を設定し、出力媒体への画像のレンダリングを最適化する。プロセス342は、1つのカメラタイプ及び製造者当たりの変換のパラメータを自動的に導き出す。自動であることで、プロセス342によって、公知の目標に基づいてユーザーによるマニュアル介入なしに出力を得ることが可能になり、これによってユーザーによるマニュアル色調整に関連した主観性が排除される。自動色調整プロセスのための階調再現曲線を導出するプロセスの1つの実施形態について、図15A−15Cに関して以下に詳細に説明する。
【0038】
変換プロセス344は、上述の色調整プロセス342を組み込む。一般に、変換プロセス344は、XYZ三刺激値を、sRGB及びAdobe RGBなどの指定されたレンダリングカラースペースにおけるRGB三刺激値に変換する。次に、結果として得られるRGB画像349は、更なる処理及び編集のためのアプリケーション又は他のソフトウェアによってアクセスすることができる。
【0039】
D.RAW画像処理パイプラインにおけるRAW処理段の詳細
前述のように、図3のRAW画像処理パイプライン300は、種々のプロセスを含むRAW処理段302を有する。図4は、RAW処理段400の1つの実施形態の詳細を示す。段階400は一連のステップとして示されているが、所与の実施は異なるステップの順序付けを使用してもよく、幾つかのステップを省略してもよく、或いは図示していない付加的なステップを追加してもよいことは理解されるであろう。RAW処理段400の入力は、RAW画像402及びメタデータである。RAW画像402は、ベイヤーパックされている(例えば、画像402におけるフォトサイトは、ベイヤーパターン又は同様のもので配列され、各々は、1つのR、G、又はB値を有する)。
【0040】
1.ブラックサブトラクション
RAW処理段400の第1ステップ410では、ブラックサブトラクションが、入力RAW画像402に対して行われる。このステップ410では、フォトサイトのカラーサンプル(R、G、B)がスケール調整され、カメラの固有因子に基づいてバイアスされる。ほとんどのカメラでは、レンズキャップを付けたまま撮られた画像でさえ、フォトサイトにおける小さな非ゼロカラー値を有する画像を結果として生じることになる。非ゼロカラー値は、ノイズ又は他の理由によって引き起こされるカメラのブラックオフセット又はバイアス値に相当する。修正される最終画像では、ブラックオフセット値は、カラーサンプルの値から除去しなければならない。
【0041】
カメラからのRAW画像402は、生成時にブラック補正できる場合もあれば、ブラック補正できない場合もある。一部のカメラでは、センサデータは、生成後に自動的にブラック補正される。この場合、RAW画像のメタデータは、オフセット値0を有することができる。
【0042】
幾つかの状況では、カメラは、これを下回るセンサデータは存在しない、画像402のメタデータのオフセット値を提供することができる。この場合、ブラックオフセット値は、このステップ410でRAW画像402のカラー値から差し引かれる。例えば、一部のカメラからのRAW画像402のブラックオフセット値は、入射光からマスクされたイメージングセンサのマージンに対する平均値から推定することができる。マージンにセンサマスクを使用しないカメラモデルでは、ブラックオフセット値はそのカメラモデルでは固定値とすることができる。いずれの場合でも、ブラックオフセット値は、画像402の各強度値から差し引くことができる。一般に、カメラのR、G、及びBフォトサイトは、異なるオフセット値を有することができる。Gは一般に、2つのオフセット値を有することができる。カメラはまた、「横列」に依存したオフセット値を提供することができる。
【0043】
上記から分かるように、RAW画像402に関連付けられたメタデータは、ブラックオフセット値の1つのソースである。オーバーライドファイルは、ブラックオフセット値の二次ソースとすることができる。オーバーライドファイルは、1つのカメラモデル毎に予め設定されているブラックオフセット値を含むことができる。この二次ブラックオフセットを用いて、メタデータに関連付けられた値を増やすか又は置き換えることができ、二次ブラックオフセットはまた、各カラーチャンネル(R、G、B)に対して異なるものとすることができる。
【0044】
ブラックオフセット値を差し引いた後、結果として得られる値は、好ましくはゼロにクリップされ、RAW画像402における負の値が除去される。更に、種々のカメラはRAW感知値の範囲を有するので、この値を共通の範囲にスケール調整する必要がある。これは、ブラックオフセット値が差し引かれた全ての値に予め設定された値を乗算し、次いで、現在のカメラのホワイト値で除算することによって達成することができる。ホワイト値は、予め設定することができ、オーバーライドファイル又はメタデータから取得することができる。
【0045】
2.ハイライトリカバリ
RAW処理段400の第2ステップ420において、RAW画像402は、ハイライトリカバリの処理にかけ、センサの応答の最大レベルにクリップされている画像402における感知値を修正する。RAW画像402を取得するのに使用されるイメージングセンサは、最大値(本明細書ではマックスアウト値と呼ばれる)までのライトアップに応答することができる。従って、そのマックスアウト値を上回って受け取られるどのような光も、センサ要素によっては検出されない。光値がセンサのマックスアウト値を超えている画像402におけるハイライトを回復するために、マックスアウト値でクリップされた画像402における感知値は、種々のカラーチャンネル(R、G、B)の近傍のクリップされていない値を使用して新しい推定値に置き換えられる。
【0046】
1つの実施形態では、マックスアウトしたセンサに近い近傍センサについての値が探し出される。これらの近傍センサは、マックスアウト値の約85から90%の範囲のR、B、又はG値を有し、これらを用いて、マックスアウトセンサに対して使用されるべき値を決定することができる。これは、マックスアウトである分離されたセンサ値が存在する画像に対して十分機能することができ、RAW画像内で使用することができる。しかしながら、一般に所与の画像は、平均近傍ピクセルが実用的ではなく、マックスアウトされたセンサ値のクラスタ又は領域を有する可能性がある。
【0047】
別の実施形態では、図5は、チャンネルの1つ又は2つがセンサの限界値によってクリップされている場合にピクセルの輝度及び色相を回復するために適用されるハイライトリカバリプロセス500を示している。このプロセス500は、デモザイク処理(デベイヤ処理)プロセスの極めて早期に実施される。最初に、R、G、及びBセンサチャンネルが、ニュートラルになるようにスケール調整される(ブロック502)。スケーリング係数が、RAW画像に関連付けられたメタデータから取得されたホワイトバランスを使用して決定される。次に、各チャンネルが飽和することになる値が計算される(ブロック504)。計算は、チャンネル飽和値を、所与のカメラ型式及びモデルに対して調べられている露出過剰画像に相関付ける相関情報を使用して行われる。従って、相関情報は、ハイライトリカバリプロセス500によって後でアクセスするために複数のカメラ型式及びモデルに対して予め設定及び記憶することができる。このように、RAW画像に関連付けられたメタデータから取得されたカメラ情報は、RAW画像を取得したカメラ型式又はモデルについての対応する相関情報にアクセスするのに使用される。
【0048】
次に飽和値は、ブロック502で使用された同じ係数によってスケール調整される(ブロック506)。ほとんどのカメラでは、緑チャンネルが最も小さな飽和値を有し、この性質は、ハイライトリカバリプロセス500によって活用される。画像の各ピクセルは、プロセス500によってサンプリングされ分析される(ブロック510)。所与のピクセルの3つのチャンネルR、G、及びB全てがクリップされていない(ブロック520)場合、ピクセルはそのままにされる。所与のピクセルの3つのチャンネル全てがクリップされている(ブロック520)場合には、ピクセルは、ニュートラルグレー値に置き換えられる(ブロック522)。
【0049】
チャンネルの少なくとも1つ(全部よりも少ない)がクリップされている(ブロック520)場合、プロセス500は、種々のチャンネルの飽和を調べる。以下に詳述されるように、飽和値を有する所与のピクセルのチャンネルは、推定値に置き換えられる。飽和値から推定値への置き換えは、漸次的であり、オリジナル値が飽和にどれ程近接しているかに依存する。推定値は、ピクセルのオリジナルRGB値に基づいて計算される。
【0050】
例えば、所与のピクセルにおける赤値が飽和又はその近傍である(ブロック530)場合、オリジナル赤値は、オリジナルR、G、及びB値から計算された推定赤値に置き換えられる(ブロック532)。推定赤値は(ROriginal+BClipped)/2である。置き換えは、オリジナル値と、赤値が飽和にどれ程近接しているかに依存する推定値との間で計算された加重平均値に基づく。例えば、赤値がセンサクリップ値の85%である場合、オリジナル赤値の100%が使用される。例えば、赤値がセンサクリップ値の90%である場合、オリジナル赤値の50%が、置換のために推定値の50%と共に使用される。例えば、赤値がセンサクリップ値の95%である場合、推定値の100%が置換のために使用される。
【0051】
所与のピクセルにおける緑値が飽和又はその近傍である(ブロック540)場合、これは、オリジナルR、G、及びB値から計算された推定緑値に漸次的に置き換えられる(ブロック542)。Gチャンネルの推定値は、オリジナルR、G、B値の加重平均値に基づく。使用されるR、G、B重みは、オリジナルピクセルがどれ程緑であるかの計算に応じて(0.5、0、0.5)から(0.375、0.625、0.0)の範囲に及ぶ。置換は、上述された加重平均値を使用する。
【0052】
所与のピクセルにおける青値が飽和又はその近傍である(ブロック550)場合、これは、オリジナルR、G、及びB値から計算された推定青値に漸次的に置き換えられる(ブロック552)。Rチャンネルと同様に、青値に対する推定値は、(ROriginal+BClipped)/2である。置換はまた、上述された加重平均値を使用する。
【0053】
チャンネルの1つ又はそれ以上が推定された最終ステップとして、回復されたRGB値が極めて明るく且つ飽和されている場合、色はニュートラルに向かって移動する(ブロック560)。画像の明るいエリアにおいて見られる可能性の低いマゼンタ色相は、ニュートラルに向けてより積極的に移動する。ニュートラルに向けてた色の移動は、ユーザーの基本設定により影響を受ける可能性がある。所与のピクセルを分析した後、画像の付加的なピクセルを分析する必要があるかどうかの決定が行われ(ブロック570)、プロセス500は、ブロック510に戻り、画像の付加的なピクセルをサンプリングし分析する。
【0054】
3.スタックピクセル除去/ノイズ処理
図4を参照すると、RAW処理段400は、第3ステップ430を含み、ここでは異常値を有するRAW画像402のフォトサイトが、スタックピクセル除去及び/又はノイズ処理技術を使用して変更される。所与のRAW画像では、センサが適切な応答を有していなかった(例えば、センサがスタックであるか、或いはフォトサイトで累積電荷を有する)ので、種々のフォトサイトは例外的な値を有する可能性がある。
【0055】
これらのスタックフォトサイトでは、3X3のようなフォトサイトの近傍が評価され、その近傍から取られた周囲の8つの値の範囲が決定され、結果として最小及び最大値を生じることになる。例えば、緑ピクセルに存在している場合、緑フォトサイトのみが調べられる。範囲のサイズは、範囲の最大から最小を差し引いた値に等しく決定される。スタックフォトサイトの値は、近傍の同様のフォトサイト範囲と比較される。選択されたフォトサイトの値が、最大値よりも範囲サイズの予め設定された倍数だけ大きい場合、或いは選択されたフォトサイトの値が、最小値よりも範囲サイズの予め設定された倍数だけ小さい場合、そのフォトサイトの値は、3x3近傍の平均値に設定される。予め設定された係数は、カメラ及び他の係数に基づいて構成することができる。この例外的な値をその近傍の平均値に置き換えることにより、RAW画像402によく表れているスタックピクセル値の数が低減されることになる。
【0056】
所与の画像におけるノイズは、異常値を有するチャンネルサンプルを生成する。RGB画像がベイヤー符号化RAW画像から構成されたときに、このノイズが増幅される可能性がある。通常、レンダリングノイズは、望ましくないほど色彩が豊富である。このノイズは、RAW画像402が取り込まれたときに使用されたISO設定(すなわち、センサ読み出しのゲイン)及び露出時間の量に相関付けることができる。従って、サブステップ430におけるノイズ処理は、好ましくは、ISO設定、露出時間、及びノイズの量の間の相関関係を使用して、処理されるRAW画像402に対するノイズの彩度を低減又は制御する。
【0057】
図6は、デジタルカメラのためのノイズ及びスタックピクセルプロファイルデータを導き出すためのプロセス600を示す。プロファイルデータは、所与のISO設定及び露出時間でカメラが生成するノイズの量に相関付けられる。次にこのプロファイルデータは、図4のRAW処理段400で前処理されるRAW画像を処理するのに使用される。
【0058】
最初に、デジタルカメラは、レンズキャップで固定され、接眼レンズが閉じられ、複数の画像が、その特定のカメラにおいて広範囲のISO設定及び露出時間下で撮影される(ブロック602)。次いで、RAW画像は、幾つかの編成されたセットにグループ分けされる(ブロック604)。例えば、第1編成セットは、露出時間の低範囲及びISO設定の広範囲を備えた画像を有することができる。更に、第2編成セットは、ISO設定の低範囲及び露出時間の広範囲を備えた画像を有することができ、第3編成セットは、露出時間の高範囲及びISO設定の広範囲を備えた画像を有することができる。
【0059】
次にRAW画像は、ノイズ応答(例えば、ノイズの量)を定量化し、各RAW画像におけるスタックピクセル応答を定量化するように処理される(ブロック606)。次に、ノイズプロファイル及びスタックピクセルプロファイルが、グループ分けされた画像に対して計算される(ブロック608)。例えば、編成セットの各々において、二次方程式が所与のセットにおけるISO設定及び露出時間に対するカメラのノイズ応答のノイズプロファイルを作成する。例えば、編成されたセットの各々において、二次方程式モデルが、ISO設定及び露出時間に対するカメラのスタックピクセル応答のスタックピクセルプロファイルを作成する。カメラに対する結果として得られたプロファイルは、図4のRAW処理段400での前処理中に後で用いるためにデータベースにおける少数の浮動小数点値の形式で記憶される(ブロック610)。次に、前のステップが1つ又はそれ以上の付加的なカメラに対して繰り返され、これらの特定のカメラについてのプロファイルを記憶できるようにする(ブロック612)。
【0060】
最後に、種々のカメラを特徴付ける記憶されたプロファイルデータを用いて、ノイズに対して所与のRAW画像をどの程度調整したらよいかを決定することができる。RAW画像が図4のRAW処理段400で処理されているときには、例えば、RAW画像に関連付けられたカメラモデル、ISO設定、及び露出時間が、関連するメタデータから取得される(ブロック614)。カメラモデルのための適切なプロファイルデータは、メモリ内に位置付けられる(ブロック616)。所与のISO設定及び露出時間情報は、その特定のカメラモデルのためのノイズプロファイルの式にプラグインされ、その画像に対するノイズの推定量が計算から決定される(ブロック618)。次に、所与のISO設定及び露出時間情報は、そのカメラモデルのためのスタックピクセルプロファイルの式にプラグインされ、その画像に対してスタックピクセル除去を可能又は不能にするかどうかが判定される(ブロック620)。
【0061】
図4のRAW処理段400においてRAW画像を処理するときに、前のステップで決定されたノイズ及びスタックピクセルについての推定情報を用いて、処理を調整することができる。例えば、情報は、RAW画像を再構成する間に、ノイズ低減及びスタックピクセル除去を実施するかどうか、及びどの程度まで実施するかを決定することができる。更に、情報は、RAW画像を再構成する間又はその後で、ランピングダウン鮮鋭化を実施するかどうか、及びどの程度まで実施するかを決定することができる。最後に、情報は、彩度−ブラー、ディープシャドーエリアにおける明示的な脱飽和、或いはコントラストブースト中の飽和制御のための階調再現曲線を使用して、再構成の終わりにRAW画像からRGBへの変換中にノイズの色彩豊富さを制御するかどうか及びどの程度まで制御するかを決定することができる。これらのプロセスは、本開示において後で説明する。
【0062】
4.自動露出調整
図4を参照すると、RAW処理段400は、第4ステップ440を含み、ここでRAW画像402に自動露出調整が行われる。自動露出調整は、その露出が予め設定された基準を満たすようにRAW画像402の輝度を調整する。好ましくは、調整は、RAW処理段400での調整用に既に記憶されている予め設定された輝度変数を使用する。予め設定された輝度変数は、露出調整された種々の画像をビューしている複数の人々から得られた調査情報に基づく。調査は、複数の露出で種々のカメラによって生成された基準画像を使用する。これらの基準画像の平均輝度がコンピュータにより計算される。Monte Carloシミュレーションを使用してこれらの基準画像の輝度変数を変えるために、最も視覚的に心地よい画像の実施例を選択するよう調査参加者に求める。次いで、調査結果は、オリジナル入力輝度に相関付けられた輝度変数を有する結果として得られる許容可能な露出に収束する。
【0063】
結果は、特定のカメラに関連付けられ、後処理のために記憶される。RAW画像402が処理のために受け取られると、自動露出調整が、RAW画像402の平均輝度を計算し、関連のメタデータから露出を決定する。次に、記憶された調査結果を使用して、自動露出調整は、心地よい結果が得られるように使用された平均輝度及び露出に基づいてどの輝度変数を画像402に適用するかを決定する。最後に、RAW画像402の輝度は、自動処理で決定された輝度変数によって調整される。
【0064】
5.補間プロセス
RAW処理段400の第5ステップは、デモザイク(デベイヤー処理)プロセスの一部である補間プロセス450を包含する。補間プロセス450は、結果として生じるRGB画像を生成するために、最終の彩度−ブラーオペレーション460となる幾つかのサブステップ451−458を使用する。これらのサブステップ451−458は、ハーフサイズ緑エッジ画像を作成する段階(451)、補間方向マップを決定する段階(452)、緑再構成画像を構成する段階(453)、緑再構成画像を鮮鋭化する段階(454)、ブラーハーフサイズRGB画像を作成する段階(456)、及び赤再構成画像及び青再構成画像を構成する段階(453)を含む。これらのステップ451−458及び460の各々について以下で説明する。最終的に、これらのサブステップ451−458からの緑、赤、青、及びブラーRGB画像は、以下で同様に説明される彩度−ブラーオペレーション460において結合される。
【0065】
一般に、補間プロセス450は、最初にRAW画像402のフォトサイトのための輝度チャンネル(すなわち、緑チャンネル)を補間し、次にRAW画像402のフォトサイトのための色チャンネル(すなわち、赤及び青チャンネル)を補間し、最後に、各チャンネルを結合してR、G、及びB値を備えたピクセルを有する結果として得られるRGB画像を作成することによって、階調度ベースの補間を使用する。
【0066】
a.ハーフサイズ緑エッジ画像
人間の眼は輝度の変化を感知するので、エッジが緑チャンネルで見つけられ、これによってこれらのエッジに基づいて補間を実施することができるようになる。サブステップ451は、RAW画像402からハーフサイズ緑エッジ画像を構成し、よって、緑エッジ画像が、オリジナルRAW画像402の輝度の変化によって生じるエッジを示すことができるようになる。図7は、RAW画像710(その一部のみが示されている)のベイヤー符号化データからハーフサイズ緑エッジ画像750を作成するためのプロセス700を示している。RAW画像710は、複数の2x2セルを有し、各セルは、2つの緑サンプル(G1、G2)と、1つの赤サンプル(R)と、1つの青サンプル(B)とを有し、これらはベイヤーパターンで配列されたフォトサイトである。種々のパターンが当該技術で公知であり使用されているが、本明細書に示されるパターンの一部は、単に例示的なものである。
【0067】
ハーフサイズ緑エッジ画像750を作成するために、ベイヤー符号化RAW画像710の緑サンプル(G1、G2)のみが使用され、赤及び青サンプルは無視される。最初に、RAW画像710の2x2セルの各々の2つの緑サンプル(G1、G2)が平均化され、中間ハーフサイズ緑画像720の対応する緑値を生成する。従って、ハーフサイズ緑画像720は緑値のみを有し、オリジナルRAW画像710のサイズの半分である。次に、緑サンプルの値に対する第1導関数(すなわち、変化率)(G)は、水平及び垂直方向の両方で計算される。次いで、値の各々についての水平及び垂直第1導関数の二乗が合計されて、エッジ画像730を生成する。次に、単一ピクセルブラープロセス740の2つのパスがエッジ画像730に対して実施され、ブラーされた結果として得られるハーフサイズ緑エッジ画像750を生成する。
【0068】
単一ピクセルブラープロセス740では、プロセス740の第1パスが、各ピクセルの4つの近傍に対して0.5の中心部重みを有するエッジ画像730全体にわたって実施される。次にプロセス740の第2パスが、各ピクセルの4つの近傍に対して0.125の中心部重みを有する以前にブラーされたエッジ画像730全体に対して実施され、結果として得られるハーフサイズ緑エッジ画像750を生成する。図4に示されるように、このステップ452の結果として得られるハーフサイズ緑エッジ画像は、他のステップによって後処理に使用されることになる。
【0069】
b.補間方向決定マップ
図4を参照すると、補間プロセス450のサブステップ452は、補間方向決定マップを作成し、該マップを使用して、RAW画像402に位置付けられたR又はBチャンネルを有するフォトサイトに対する欠落緑値をどのように埋めるかを決定する。1つの実施形態では、ベイヤーパターンの2x2セルの各々における隣接する赤及び青サンプルを平均化し、標準デモザイク処理技術を使用してフォトサイトに対する欠落緑値を決定することができる。好ましい実施形態では、RAW画像402における垂直又は水平近傍サンプルのいずれかを用いて、赤又は青であるこれらのサンプルに対する緑チャンネルを決定する。例えば、一般画像の領域が水平に向いたエッジ又はストライプを有する場合、その領域におけるR及びBフォトサイトの水平近傍を用いて、これらの緑チャンネル値を決定するのが好ましい。他方、一般画像の領域が垂直に向いたエッジ又はストライプを有する場合、その領域におけるR及びBフォトサイトの垂直近傍を用いて、これらの緑チャンネル値を決定するのが好ましい。
【0070】
補間に使用されることになる水平又は垂直方向を決定するために、RAW画像402のR、G、及びBチャンネルの階調度が各フォトサイトについて計算される。次に、階調度は補間方向決定マップにマッピングされ、該マップを用いて、RAW画像402における所与のR又はBフォトサイトでの欠落緑チャンネル値をどのように埋めるかを決定する。一般に、緑チャンネルに対する階調度は、緑チャンネルに対する階調度がローカルで変化しないことを示す場合、R又はBフォトサイトに対する欠落緑チャンネル値をどのように埋めるかを決定する際に、最も強い影響力を及ぼす。緑チャンネルの階調度がローカルに変化している場合、所与のフォトサイトに対する緑でないチャンネルの階調度を用いて、その欠落緑値をどのように埋めるかを決定する。フォトサイトでの緑値の階調度は、そのロケーションでのハーフサイズ緑エッジ画像を調べることによって決定することができる。
【0071】
次いで、各フォトサイトに対する決定方向は、投票値としてマップに入力される。例えば、投票値「1」は、フォトサイトでの欠落緑チャンネルを補間するのに使用されるマップでの水平方向に対する決定に対応し、投票値「0」は、フォトサイトでの欠落緑チャンネルを補間するのに使用される垂直方向に対する決定である。次に、これらの投票値は、欠落緑チャンネル値を埋めるのに使用される投票プロセスで使用される。欠落緑チャンネル値を埋める実際のステップについては、以下の緑再構成ステップ453を参照して説明する。
【0072】
c.緑再構成画像
補間プロセス450のサブステップ453は、ステップ440からのオリジナルベイヤー・パック画像、サブステップ451からのハーフサイズ緑エッジ画像、及びサブステップ452の補間方向決定マップを使用して、緑再構成画像を作成する。図8には、緑再構成画像850を作成するためのプロセス800の1つの実施形態が概略的に示されている。画像850を作成するために、RAW画像810におけるフォトサイトに対する緑チャンネルGの各々は、緑再構成画像850における対応するフォトサイトに対して維持される。例えば、RAW画像810における緑サンプルG43の値は、緑再構成画像850において使用されるものと同じである。しかしながら、RAW画像810におけるR及びBチャンネルのフォトサイトは緑値を有しておらず、よって、補間方向決定マップ820を使用して緑再構成画像850における各値を補間しなければならない。例えば、緑再構成画像850における選択されたフォトサイト852は、RAW画像810における青サンプルB44に相当するので緑値を有していない。
【0073】
上記で言及されたように、投票プロセスを用いて、R及びBサンプルの欠落緑値を埋めるときにどの方向を使用するかを決定する。投票プロセスによって、補間方向決定マップ820におけるサンプルの近傍を分析できるようになり、これによって近傍内の方向決定の平均値を用いて、欠落緑値を埋めるのにどの方向を使用するかを決定することができる。
【0074】
補間方向決定マップ820は、各ピクセルロケーションでの方向性投票を有する。投票プロセスは、決定マップ820を使用し、幾つかの方法で実施することができる。例えば、マップ820における種々の方向決定Dは、水平に対して「1」とし、垂直に対して「0」とすることができる。1つの代替形態では、選択されたフォトサイト852に対応する単一投票決定822を単独で用いて、補間に対する方向を決定することができる。別の代替形態では、決定の近傍824からの複数の投票の一致を採用することができ、複数の決定の一致は、選択されたフォトサイト852の緑値を補間するのにどの方向を使用するかを決定することができる。
【0075】
完全投票は、使用できる一致投票の1つの種類である。完全投票は、サンプルの奇数(例えば、3X3又は5X5サンプル)から成る決定の近傍824を使用する。総和は、全近傍824に対する決定値から計算される。総和が近傍824におけるフォトサイトの総数の半分よりも大きい場合、選択されたフォトサイト852の決定に対して「1」(水平方向)が使用される。そうでない場合には、「0」(垂直方向)が使用される。
【0076】
通過帯域投票は、使用できる投票の別の種類である。この種類の投票では、近傍のフォトサイトの決定値の総和が計算される(選択されたフォトサイト852の中心決定822を除く。この総和が予め設定された閾値よりも小さい場合、決定値は、選択されたフォトサイト852に対して「0」(垂直方向)に設定される。総和が別の予め設定された閾値よりも大きい場合、決定値は、選択されたフォトサイト852に対して「1」(水平方向)に設定される。閾値は、使用される近傍824のサイズに応じて変わる。総和がこれらの閾値に等しいか又はその間である場合、選択されたフォトサイト852の中心決定822だけが残される。
【0077】
3X3近傍824では、8つの近傍の決定が存在する(中心決定822を除外した場合)。「広通過帯域投票」では、低閾値を「2」とすることができ、高閾値を「6」とすることができる。「狭通過帯域投票」では、高閾値を「4」とすることができ、低閾値を「4」とすることができ、これは、近傍の決定を使用される中心決定822に正確に結び付けなくてはならないことを示している。広通過帯域投票は、選択されたフォトサイト852の自然方向基本設定に影響を与える可能性がないので好ましい。
【0078】
選択されたフォトサイト852の緑値を決定するのに使用される方向(垂直又は水平)を決定した後、数学的計算は、RAW画像810におけるサンプルを使用して、緑再構成画像850における選択されたフォトサイト852の緑値を決定する。最初に、選択された方向での2つの緑サンプルの平均値が、選択されたフォトサイト852の緑値のベース結果に対して使用される。図8では、例えば決定された方向が垂直であり、これによって緑サンプルG43及びG45の緑値の平均値が決定され、選択されたフォトサイト852に対する結果のベース(例えば、緑結果)として使用されるようになる。しかしながら、RAW画像810における対応するサンプル(赤又は青のいずれか)812の値に基づいて緑結果に対して調整が行われる。最初に、サンプリング方向における近傍のような対応するサンプルの2つの平均値が計算される(例えば、Average(平均)=(B42+B46)/2)。次に、平均値からの中心サンプル812の値の差が計算される(例えば、Difference(差)=B44−Average(平均))。この差は、スケール調整された差を生成するために、緑エッジが対応するサンプル812に対してどれ程強いかによってスケール調整される。(図4のサブステップ451の以前に構成された緑エッジ画像を用いて、対応するサンプルでエッジを決定することができる。)最後に、緑再構成画像850における選択されたフォトサイト852の結果として得られる緑値Gが、緑結果に加えられるスケール調整された差として計算される。これは、緑エッジの多くを有するエリアにおける値の他のチャンネル(R又はBのいずれか)により依存する効果を有する。
【0079】
全プロセス800は、緑再構成画像850が緑値で完全に埋められるまで繰り返され、すなわち、これらの緑値は、RAW画像810から直接取得され、上述された決定マップ及び投票を使用して補間される。
【0080】
d.緑鮮鋭化
図4を参照すると、補間プロセス450の後続のサブステップ454が、上記からの緑再構成画像850に対して緑鮮鋭化オペレーションを行う。最初に、緑画像が知覚グラデーションにできるだけ近接したスペースに変換される。次に、知覚的に漸変された再構成緑画像が、鮮鋭化オペレーションの半径によってブラーされ、ブラー再構成緑画像を生成する。ブラー再構成緑画像は、知覚的に漸変された再構成緑画像から差し引かれ、緑高域画像を生成する。緑高域画像は、緑再構成画像の高周波情報を包含する。緑高域画像は、2つの目的のために使用される。第1の目的は、画像を鮮鋭化することである。一時的に鮮鋭化された緑再構成画像は、オリジナル画像に対して予め設定された鮮鋭化係数倍だけ緑高域画像を加えることによって生成される。第2の目的は、エッジマスクを計算して、鮮鋭化オペレーションが画像のエッジにのみ働くよう制約することができるようにすることである。エッジマスクは、緑高域画像の絶対値を取り、これを僅かの量だけブラーして、次いで大きな係数でそのコントラストを引き上げることによって生成される。結果として得られるものは、予め設定されたレベルの閾値であり、範囲0...1までクランプされて、エッジマスク画像を生成する。エッジマスク画像は、鮮鋭化された緑再構成画像870を形成するために、一時的に鮮鋭化された緑再構成画像のどのエリアが緑再構成画像とミックスされるかを決定するためのマスクとして使用される。その後、この鮮鋭化された緑再構成画像850は、赤再構成画像及び青再構成画像と結合され、各サンプルでRGB値を有する画像を生成する。
【0081】
e.ブラーハーフサイズRGB画像
図4を参照すると、補間プロセス450のサブステップ456が、後で説明される彩度−ブラーオペレーション460で使用されることになるブラーハーフサイズRGB画像を作成する。図9は、このステップへの入力として使用されるRAW画像910のベイヤー符号化データの一部の実施例を示す。最初に、中間ハーフサイズRGB画像920の各ピクセル922に与えられる緑値(G)は、オリジナルフルサイズRAW画像610の2x2セル912の2つの緑フォトサイト(G1、G2)の平均値を使用して決定される。赤及び青サンプル(R、B)は、畳み込みリサンプリング又は類似の技術を使用して近傍の同じカラー(R、B)サンプルから追加された小さな寄与分と共に、オリジナルフルサイズ画像910の2x2セル912に見られる色(R、B)の単一のサンプルに主に基づいて各ピクセル922に与えられる。最後に、中間ハーフサイズRGB画像920は、ガウスカーネル930によってブラーされ、結果として得られるハーフサイズブラーRGB画像940を生成する。限定ではないが、ガウスブラー、選択的ブラー、バイラテラルフィルタ、メディアンフィルタ、及びボックスフィルタを含む1つ又はそれ以上の他のブラーオペレーションを使用することができる。この結果として得られる画像940は、後で説明される図4の彩度ブラーステップ460で使用できるようなブラーを有する。
【0082】
f.赤及び青再構成画像
図4の補間プロセス450において、サブステップ458は、赤再構成画像及び青再構成画像を作成する。図10は、赤再構成画像1050と、図10では部分的にのみ示されている別個の青再構成画像1070とを作成するためのプロセス1000を概略的に示している。
【0083】
再構成プロセス1000では、RAW画像1010の各フォトサイトがサンプリングされる。RAW画像1010の現在のサンプルが正しいチャンネル(すなわち、R又はB)である場合、再構成画像(1050又は1070)における結果として得られるサンプルの値は、オリジナルサンプルに「緑鮮鋭化差」を加えた値に等しい。オペレーション中のこのポイントでは、図4のRAW画像プロセス400は、鮮鋭化緑再構成画像(サブステップ454)及び非鮮鋭化緑再構成画像(サブステップ453)が作成されている。「緑鮮鋭化差」は、鮮鋭化緑再構成画像(サブステップ454から)におけるそのサンプルポイントでの緑チャンネルと、非鮮鋭化緑再構成画像(サブステップ453から)におけるそのサンプルポイントでの緑チャンネルとの間の差である。「緑鮮鋭化差」は、再構成時にいずれかの緑鮮鋭化を赤及び青チャンネルに同様に適用する効果を有する。例えば、図10の赤再構成画像1050を再構成する際に、現在のサンプル1012は、正しいRチャンネルであり、赤再構成画像1050における結果として得られる赤フォトサイト1052は、オリジナルサンプル1012に「鮮鋭化差」を加えた値である。
【0084】
RAW画像1010における現在のサンプルが正しいチャンネル(R又はB)でない場合、現在のサンプルが所望のチャンネルの直接水平又は垂直近傍を有するかどうかの決定が行われる。有する場合には、水平又は垂直近傍の平均値が取られ、「緑鮮鋭化差」が加えられて、再構成画像における結果として得られるサンプルを生成する。例えば、図10の赤再構成画像1050を再構成する際には、現在のサンプル1014は、正しいチャンネルではない(すなわち、Rではない)。従って、赤再構成画像1050における結果として得られる赤フォトサイト1054は、正しいチャンネル(すなわちR)の水平近傍の平均値に上記で説明された「鮮鋭化差」を加えたものである。
【0085】
RAW画像1010における現在のサンプルが正しいチャンネルではなく、正しいチャンネルの直接水平又は垂直近傍を持たない場合、全ての4つの対角近傍の平均値が計算され、「緑鮮鋭化差」が加えられて、再構成画像における結果として得られるサンプルを生成する。例えば、図10の青再構成画像1070を再構成する際には、現在のサンプル1016は正しいチャンネル(すなわち、青再構成のためのB)ではなく、正確なBチャンネルの水平又は垂直近傍を持たない。従って、青再構成画像1070における結果として得られる青フォトサイト1076は、正しいチャンネル(すなわち、B)の対角近傍の平均値に上記で説明された「緑鮮鋭化差」を加えたものである。再構成プロセスの最終結果は、後のプロセスで結合されて結果として得られるRGB画像を生成するまでバッファ内に記憶できる赤再構成画像1050及び青再構成画像1070である。
【0086】
g.彩度ブラーオペレーション
最後に、図4の彩度−ブラーオペレーション460は、サブステップ454からの鮮鋭化緑再構成画像、サブステップ456からのハーフサイズブラーRGB画像、及びサブステップ458からの赤及び青再構成画像を使用し、フルRGB画像を生成する。図11は、図4の自動化処理のための彩度ブラーオペレーション1100の1つの実施形態を示す。最初に、以前の処理からの赤再構成画像1102、鮮鋭化緑再構成画像1104、及び青再構成画像1106が取得され(ブロック1110)、これらから個々のR、G及びBサンプル値の各々を再構成RGB画像におけるRGBピクセルとして結合することにより、再構成RGB画像が作成される(ブロック1112)。次に各ピクセルでの再構成RGB画像の輝度が計算される(ブロック1114)。次いで、バイリニア補間を使用して、ハーフサイズブラーRGB画像1108をフルサイズブラー画像にリサイズし(ブロック1120)、フルサイズブラー画像における各ピクセルの輝度が計算される(ブロック1122)。次に、各ピクセルでのフルサイズブラー画像のブラーされた色の輝度が、再構成RGB画像の輝度に一致するようにスケール調整される(ブロック1130)。最後に、この高速彩度ブラーオペレーション1100から、色縁が低減されたフルサイズRGB画像が得られる(ブロック1140)。
【0087】
E.RAW画像処理パイプラインにおける変換段の詳細
1.特性行列の導出
図3のブロック334で既に言及されたように、カメラRGB画像をXYZ三刺激値に変換するための特性行列が事前計算され、画像のホワイトバランスと共に使用されて、カメラRGBからXYZ三刺激値への最適行列変換を推定する。図12では、自動化RAW処理における変換のための特性行列を導出するプロセス1200の1つの実施形態がフローチャート形式で示されている。プロセス1200では、複数のカメラ特性行列(例えば、M1、M2、その他)が、複数のカメラ、カメラのタイプ、カメラのモデル、製造物、イメージングセンサ、又は他のカテゴリーに対して導出される。プロセス1200は、図3のRAW処理中に補間行列を選ぶ際のユーザー介入及び主観性を排除することを目的としており、カメラ、タイプ、製造者、又は他のカテゴリー毎のRAW変換のパラメータを自動的に導出する。
【0088】
最初に、カラーチャート(例えば、Macbethカラーチェッカー)の基準画像又は同様のものが、特定のカメラ及び1つの公知の光源(例えば、光源A、D65、その他)を使用して取得される(ブロック1202)。これは、このカメラによって生成される唯一の基準画像ではない。以下で詳述されるように、このような複数の基準画像が所与のカメラ、カメラのタイプ、カメラのモデル、カメラ製造者、カメラのイメージングセンサのタイプ、又は他のカテゴリーに対して取得される。基準画像は、ラボで作ることができ、カラーチャートは、種々のカラーパッチ、ハイライト、シャドー、その他を包含することができ、複数の標準的な光源を有する照明ボックス内に位置付けることができる。
【0089】
同じ光源の下で、比色計などの標準的器具を使用してカラーチャートからの種々のカラー領域又はパッチに対してX、Y、Z色値が測定される(ブロック1204)。次に、領域に対するRGB値が、これらの領域に対して測定された対応するXYZ三刺激値に数学的にフィット(当てはめ)される(ブロック1206)。フィッティングプロセスは、基準画像のRGB値をチャートから測定されたXYZ三刺激値に相関付ける行列の行列係数の値を求める段階を包含する。包含される三刺激カラースペースに起因して、行列は、フィットを解くのに関連した9つの変数があるように3x3になる可能性が高い。フィッティングプロセスでは、基準画像のオリジナルホワイトバランスは無視される。従って、オリジナルホワイトバランスが無視されるので、フィッティングプロセスは、カメラが較正されているとは仮定しない。代わりに、行列係数の値を求めるのに固定ホワイトバランスが使用される。ホワイトバランスは通常、3つの値を有するベクトル
p(上付→)
として表される。フィッティングプロセスでは、ベクトル
p(上付→)
の各値は1に等しく、フィッティングプロセスにおけるホワイトバランスのどのような影響も認識されないようにされる。
【0090】
フィッティングプロセスでは、好ましくは、チャートの幾つかのカラーパッチ又は領域を用いて、行列の係数を導出する。従って、プロセス1200は、同じ光源の下の同じカラーチャート及び/又は同じ光源の下の異なるカラーチャートの種々のカラーパッチに対して繰り返すことができる(ブロック1210)。次に、導出された行列の係数に対してバランスが見つけられ、同じ光源を使用する種々の色に対して測定された測定XYZ三刺激値に種々の色のRGB値を相関付けるための適切な重み付けを有することができるようになる(ブロック1212)。最後に、プロセス1200は、この第1カメラ及びこの第1光源に対する第1特性行列M1を導出する。この第1行列M1は、3xN行列であり、nは、カメラに対するチャンネルの数(例えば、R、G、B)に対応する。
【0091】
第1カメラ特性行列M1の導出後、1202から1212のブロックは、以前に使用された同じカメラを使用する1つ又はそれ以上の付加的な光源に対して1回又はそれ以上繰り返される(ブロック1214)。1つ又はそれ以上のカラーチャートの以前の測定値を再使用することができる。これらのステップを繰り返した結果、異なる光源であるが同じカメラに対する複数のカメラ特性行列が得られる。これらの行列の行列係数は、種々の画像が種々の光源の下で1つ又はそれ以上のカラーチャートの対応する測定値に一致するときにカラー誤差を低減するように最適化又は調整される(ブロック1216)。これは、テスト及び調整を利用して行うことができる。最適化されると、各行列の係数は、その特定の行列に対する正規化係数を使用して正規化される(ブロック1218)。好ましくは、所与の行列に対する正規化係数は、行列の対角係数の和であり、行列の各係数がこの和によって除算されるようにする。
【0092】
最後に、1つ又はそれ以上の付加的なカメラ、モデル、その他に対して、ブロック1202から1218の全プロセスを繰り返すことができる(ブロック1220)。結果として、複数のカメラ特性行列が得られる。これらのカメラ特性行列の各々は、対応する光源及び1つのカメラ、タイプ、モデル、製造物、又は同様のものに関連付けられる。次にこれらのカメラ特性行列は、図14に関して以下に説明される後続の処理において補間が実施されたときに後でアクセスするために記憶される(ブロック1222)。
【0093】
上述のように、複数のカメラ特性行列は、ラボのカメラに対して作られ、本開示の自動RAW画像処理中に後でアクセスするために記憶することができる。従って、複数のカメラは、メモリ内に記憶されたその固有のカメラ特性行列を有することができる。自動前処理中、RAW画像に対するメタデータを使用して、画像に対する適切なカメラ特性行列をメモリから選択することができる。カメラに対して行列を予め設定することに加えて、ユーザーは、上記の技術を使用してライティング環境を注意深く構成し、更にカラー較正ターゲットを使用することによって、ユーザーのカメラに対する特性行列を独自に作成できる。
【0094】
2.ブラック補正の導出
図3において既に述べたように、ブラック補正プロセス330は、XYZカラースペースへの第1変換段302内でカメラRGB画像329に対して実施される。プロセス330は、補正を行うために導出されたブラックレベル調整を使用する。ブラックレベル調整は、カメラに対して導出されたカメラ特性行列(M1及びM2)において具現化され、その特性行列から、及びカメラから受け取ったホワイトバランス情報から生成された変換行列(M)によって行われる。図13は、本開示の自動化RAW処理で使用されるブラックレベル調整を導出するためのプロセス1300の1つの実施形態を示す。
【0095】
ブラック補正値を導出するプロセス1300は、図12に関して上述されたカメラ特性行列を導出するプロセスに組み込まれる。上述のように、図12の行列導出プロセス1200は、公知の光源を使用してチャートの基準画像を取得する段階を包含する。このステップの一部は更に、取り込まれた画像に対する標準的なブラックレベルオフセット(存在する場合)を差し引く段階を包含する(ブロック1302)。次に、前述と同様に、基準画像における領域に対するRGB三刺激値が、カラーチャートからの測定されたXYZ三刺激値にフィットされ、特性行列を導出する(ブロック1304)。このフィッティングプロセスは、幾つの数のカラーパッチが分析されるかに関わらず、特性行列の係数の変数の数すなわち3x3行列での9つの変数に起因してある量のフィッティング誤差を生じる。
【0096】
誤差を低減するために、ブラック補正の変数がフィッティングプロセスで使用される。これらのブラック補正変数の各1つは、基準画像のカラーチャンネル(R、G、B)の1つから差し引かれる。このようにして、ブロック1304は、12の変数(すなわち、行列からの9つとRGBチャンネルのオフセットに対する3つ)を使用して基準画像のRGB三刺激値を測定されたXYZ三刺激値にフィットさせることになる。次いで、導出は、カラー誤差が閾値レベルに低減されるまで、ブロック1304のフィッティングプロセスのブラック補正変数の値を用いて実施される(ブロック1306)。このように、各カラーチャンネルに対する最適ブラック補正変数は、2つのカラーセット、すなわち基準画像における測定されたカラーセットと推定されたカラーセットとの間のカラー誤差を最小にすることによって得られる。これらのブラック補正変数は、標準的ブラックオフセットに加えて付加的なブラック調整を表している。
【0097】
次にブラック補正変数は、処理中に後でアクセスするために編成及び記憶することができる(ブロック1310)。例えば、ブラック補正変数を編成するために、これらブラック補正変数を導出するのに使用された対応するカメラ及び光源に対する特性行列とこれらとを関連付けることができる。従って、各特性行列は、関連付けられたブラック補正変数を有することができる。更に、ブラック補正変数は、これらを導出するのに使用された種々の条件に関連付けることができる。これらの条件は、限定ではないが、使用される光源、画像コンテンツ、ホワイトポイントカメラ設定、及び包含するISO感度を含むことができる。ブラック補正変数間の様々な依存性は、変数の値がクラスタリングの特徴を示す場合には、グループ分け間で平均化することができる。更に、変数が一致していない場合、異なるブラック補正変数をその様々な条件に基づいて区別し分類することができる。
【0098】
プロセス1300は、RAW画像処理に使用される最適ブラックレベル補正のより客観的且つ一貫した決定を提供する。例えば、図3のパイプライン300では、これらのブラック補正変数は、行列変換が実施される前に、ステップ330でカメラRGB画像329のRGB三刺激値から最初に差し引かれ、変換におけるカラー誤差を低減することができるようにする。使用されるブラック補正変数のどのセットを選択するかは、メタデータ314におけるカメラ、タイプ、モデル、その他に基づくことができる。更に、選択は、異なる内部撮影条件(カメラISO設定、露出時間、その他など)、或いは光源などの外部条件に基づくことができ、これらは、メタデータ314の情報に示すことができる。
【0099】
更に、処理中にどのブラック補正変数を使用するかについての選択は、変数のセット間の平均又は補間に基づくことができる。前述のように、ブラック補正変数の第1セットは、第1光源に対して導出されて、第1特性行列M1に関連付けられ、ブラック補正変数の第2セットは、第2光源に対して導出されて、第2特性行列M2に関連付けられる。この2つのセットは記憶され、次のセクションで検討される最適変換行列Mを計算するのに使用される特性行列M1及びM2に関連付けることができる。1つの実施形態では、最適ブラック補正変数は、以下で検討する最適変換行列Mを計算するのに使用される特性行列M1及びM2に関連付けられた、変数の第1セットと第2セット間の固定平均値から計算される。或いは、最適ブラック補正変数は、ブラック補正変数のセット間の線形補間を使用して計算される。線形補間は、以下で検討される最適変換行列Mを計算するのに使用される同じ補間係数を適用する。
【0100】
3.変換行列の計算
図3のRAW画像処理で既に言及されたように、行列変換プロセス332がカメラRGB画像329に対して実行され、該カメラRGB画像329をXYZ三刺激値に変換する。プロセス332は、変換行列Mを使用して変換を行う。変換行列Mは3xN行列であり、ここでnはカメラに対するチャンネル数である。変換行列Mは、ホワイトバランスと、2つの基準光源に対応する少なくとも2つの事前計算されたカメラ特性行列とに依存し、使用される特定のカメラ、カメラのタイプ、製造物、その他に基づいて計算される。
【0101】
図14は、本開示の自動化RAW処理で使用される変換行列(M)を計算するためのプロセス1400の1つの実施形態を示す。プロセス1400は、変換時に1つの画像に対して動的に実施され、1つの画像当たりのカメラからのホワイトバランスを使用して、及び少なくとも2つの基準光源に対応する予め定義された特性行列を使用して変換行列Mを求め、カメラRGBをXYZ三刺激値に変換する。
【0102】
詳細には、変換行列Mは、特性行列M1及びM2と、画像に依存しメタデータ(例えば、図3の314)としてカメラによって提供されるカメラに固有のホワイトバランス情報
p(上付→)
から導出される。ホワイトバランス情報
p(上付→)
は3つの値のベクトルであり、正規化されると、第3の要素は1に等しいので、2つの有意な要素のみを有する。反復プロセスを介して、画像のホワイトポイントWに対する行列式は、M1、M2を使用して及び画像のホワイトバランス
p(上付→)
を使用して解かれる。解は、固有行列M及び固有ホワイトポイントWに収束する。
【0103】
プロセス1400は、カメラの所与のタイプ、カメラの所与のスタイル、個々のカメラ、製造者、又は他の特徴に特定することができる変換行列Mを解き、最適変換行列Mを導出する彩度スケーリング係数及び適切なホワイトバランスを求める。以下で説明されるプロセス1400では、2つの特性行列M1、M2のみが使用される。他の実施形態は、一般に補間を改善できる2つよりも多い特性行列を使用することができる。
【0104】
図6に関して上述されたように、所与のカメラに対する複数の特性行列M1、M2、Mnは、種々の光源の下で同じシーンの画像をタックすることによって生成される。例えば、M1は、光源Aによって作られたカメラ特性行列(xa=.4476、ya=.4074)とすることができ、M2は、光源D65によって作られたカメラ特性行列(xd=.3127、yd=.3290)とすることができる。光源は、XYZスペース又はCIE−1931彩度スペースx、yのいずれかにおけるベクトルとして表すことができる。
【0105】
複数の特性行列M1、M2、...、Mnは、1からnまでの相関色温度に基づいて順序付けられる。次いで、最も遠い光源を用いて、処理されているRAW画像において推定光源に収束する所与のカメラに対する好ましい変換行列Mを導出することによって、シーンの実際の光源を推定する。最初に、以前に決定されたカメラ特性行列M1及びM2が入力され(ブロック1402)、初期値が設定される(ブロック1404)。初期値は、第1特性行列M1に等しい第1中間行列ma1セットと、第2特性行列M2に等しい第2中間行列ma2セットとを含む。M1、M2に初期化されたこれらの中間行列ma1及びma2は、以下に説明される反復プロセスを介して好ましい変換行列Mに最終的に収束される。例えば、反復Kの最大数は、ゼロに設定され、総反復の上限Nは20に設定される。更に、ホワイトポイントの彩度に対する第1スケーリング係数fa1は1に等しく設定され、ホワイトポイントの彩度に対する第2スケーリング係数fa2は0に等しく設定される。
【0106】
収束を決定するのに使用される閾値Tはまた、0.001などのある値に設定され、これによってプロセスは、第1彩度スケーリング係数fa1と第2彩度スケーリング係数fa2との間の差の絶対値が閾値を下回るまで繰り返されるようにする。この閾値を使用して、反復プロセスは通常、ほとんどのカメラに対して3から5の間の補間ステップを必要とすることができる。別の実施形態では、行列ma1及びma2のノルム間の差は、閾値との比較に対して計算することができる。しかしながら、以下の実施例では、第1及び第2彩度スケーリング係数fa1及びfa2が既に計算されたスケーラであるので、これらを用いて収束度を測定する。
【0107】
最初に、第1彩度スケーリング係数fa1と第2彩度スケーリング係数fa2との間の差の絶対値がプリセット閾値Tより大きいかどうかの決定が行われる(ブロック1410)。勿論、第1反復では、彩度スケーリング係数fa1及びfa2は、それぞれ1と0であり、閾値Tより大きいことになる。次に処理は第1特性行列M1から始まる(ブロック1420)。
【0108】
第1特性行列M1では、中間行列ma1の逆行列が計算される(ブロック1422)。次に、XYZカラースペースの重みが、画像のホワイトバランスに基づいて計算される(ブロック1424)。例えば、Xw=mi[0][0]/p[0]+mi[0][1]/p[1]+mi[0][2]/p[2];Yw=mi[1][0]/p[0]+mi[1][1]/p[1]+mi[1][2]/p[2];及びZw=mi[2][0]/p[0]+mi[2][1]/p[1]+mi[2][2]/p[2]。次に、x−y重みがxyz重みに基づいて計算される(ブロック1426)。例えば、xw=Xw/(Xw+Yw+Zw)、及びyw=Yw/(Xw+Yw+Zw)。X−Y重み付け係数は、画像に関連付けられたx−y重み及び特定の光源値に基づいて計算される(ブロック1428)。例えば、fx1=(xw−xa)/(xd−xa)、及びfy1=(yw−ya)/(yd−ya)。
【0109】
次に、中間行列ma1の第1彩度係数fa1は、fa1=sqrt(fx1*fx1+fy1*fy1)として計算される(ブロック1430)。最後に、新しい値は、M1 =(1−fa1)*ma1+fa1*ma2としてに第1特性行列M1に対して計算される(ブロック1432)。
【0110】
次に類似のプロセスが、以下の式を使用して第2特性行列M2に対して繰り返される(ブロック1440)。
mi=Inverse(ma2);
Xw=mi[0][0]/p[0]+mi[0][1]/p[1]+mi[0][2]/p[2];
Yw=mi[1][0]/p[0]+mi[1][1]/p[1]+mi[1][2]/p[2];
Zw=mi[2][0]/p[0]+mi[2][1]/p[1]+mi{2}[2]/p[2];
xw=Xw/(Xw+Yw+Zw);yw=Yw/(Xw+Yw+Zw);
fx2=(xw−xa)/(xd−xa);
fy2=(yw−ya)/(yd−ya);
fa2=sqrt(fx2*fx2+fy2*fy2);
m2=(1−fa2)*ma1+fa2*ma2;
【0111】
第1及び第2特性行列M1及びM2 が上記のように計算されると、中間行列が、対応する特性行列ma1=m1及びma2=m2に等しく設定される(ブロック1442)。
【0112】
最後に、プロセス1400は、収束閾値T(ブロック1410)又は許容総反復(ブロック1450)が満たされない限り繰り返すことができる。プロセス1400が設定総反復Kを超えた場合(ブロック1450)、プロセス1400は中止され、ブロック1460に進む。そうでなければ、プロセス1400はブロック1410に戻り、閾値Tが超えたかどうかを調べ、必要に応じて特性行列M1及びM2 を収束する別の反復を繰り返すことになる。閾値Tが超えなかった場合、ブロック1410から1450は、特性行列を収束する別の反復に対して繰り返される。
【0113】
いずれの場合においても、収束が達成されるか或いは反復総数を超えると、最終彩度スケーリング係数が、fa=(fa1+fa2)/2として計算される(ブロック1460)。最後に、結果として得られる変換行列Mが、最初にm=(1−fa2)*ma1+fa2*ma2を計算し、次にM=Inverse(m)を計算することによって決定される(ブロック1462)。この結果として得られる変換行列Mは次に、変換行列MによりカメラRGB画像を変換することによって、使用された特定の光源に関係なく特定のカメラに対するRAW画像の自動処理に使用することができる(ブロック1464)。
【0114】
4.階調再現曲線の導出
図3のRAW画像処理パイプライン300において前述したように、色調整プロセス342及び変換プロセス344を用いてXYZ三刺激値を変換し、結果として得られるRGB画像349を生成する。変換は、3xnの変換行列Mを使用して行われ、ここで、nは、上述のように1つのカメラ当たりのチャンネル数(例えば、R、G、及びB)である。更に、変換は階調再現曲線を使用して行われ、該曲線は、リニアスペースからディスプレイ又は出力スペースへの画像レンディッションを最適化することを目的とする。従って、色調整プロセス342において使用される階調再現曲線は、画像の外観、コントラスト、シャドー、ハイライトディテール、及び全体的な画像品質に影響を与える。
【0115】
図15A−15Cは、本開示の自動化RAW処理で使用される階調再現曲線を導出するためのプロセス1500の1つの実施形態を示す。プロセス1500は、特定のカメラ、カメラのタイプ又はブランド、製造者、又は他のカメラに関する基準に対する最適化階調再現曲線を自動的に導き出すことができ、これによって階調再現曲線は、特定のカメラ、カメラのタイプ又はブランド、製造者、又は他のカメラに関する基準に対してRAW処理を行うときに図3の色調整プロセス(342)において自動的に使用することができるようになる。
【0116】
最初に導出プロセス1500において、幾つかの基準画像1502、1504が選択される。図15Aでは、便宜上2つの基準画像1502、1504のみが示されている。基準画像の第1画像1502は、カメラ情報1503、すなわち特定のカメラ、カメラのスタイル、製造物、その他に関連付けられている。この基準画像1502は、目標基準画像と呼ばれる。1つ又はそれ以上の他の基準画像1504は、同じ又は異なるカメラによって生成することができ、種々の技術及び処理ソフトウェアを使用して処理することができる。基準画像1502、1504の各々は、同じ設定、光源、その他を使用した同じシーン(例えば、カラーチャート又は同様のもの)を包含する。好ましくは、他の基準画像1504は、ハイライト、シャドー、階調の適正な分布、及び露出過剰画像への露出アンダー画像の分布を包含する。従って、他の基準画像1504は、画像処理ソフトウェアを使用する何らかの自動及び/又は手動操作を受けることができる。一般に、基準画像1502、1504は、画像間のシーン、露出、サイズ、その他が実質的に同じにすることができるように、ラボで生成できる。しかしながら、本明細書に開示されるRAW処理の実施形態は、ユーザーが基準画像を独自に生成して、階調再現曲線を生成可能にすることができる。
【0117】
基準画像1502、1504における各ピクセルの色は、使用されるカメラのセンサ、適用されるデモザイク処理プロセス、適用されるノイズ低減アルゴリズム、及び基準画像を生成するのに使用される他の詳細に応じて変わる。この結果、画像を取り込むのに使用されるイメージングセンサの差違、ノイズ低減の差違、使用されるデモザイク処理プロセスの差違、及び他の考えられる理由が依然として存在するので、2つの画像1502、1504は、同じシーンであっても色のピクセル間に相関性を有する可能性は低くなる。
【0118】
第1ステップ1510において、画像1502、1504は、両者の間のデモザイク処理の差違の影響及びノイズアーティファクトの影響を低減することを目的としたサイズにまでスケールダウンされている。2つの画像1502、1504について、デベイヤー処理、ハイライトリカバリ、画像のサイズ、及び他のディテールが同じでない可能性が高いので、スケーリングは通常必要になる。ローパスフィルタは、好ましくは、ピクセルカラーを領域に平均化するのに使用される。結果として得られるものは、ほぼ同じサイズを有する2つのスケール基準画像1512、1514である。1つの任意選択ステップ(図示せず)では、必要に応じて基準画像1512、1514のガンマ修正を実施することができる。
【0119】
第2ステップ1520において、スケール画像1512、1514は、グレースケール画像1522、1524に変換される。画像1512、1514は、カラーからグレースケールへの画像の変換を助けることができるグレーランプパッチを有することができる。画像のスケーリングダウン及びカラーからグレースケールへの低減は、オリジナル画像1502、1504間のノイズ及びデモザイク処理の影響又は差違を低減することを目的とする。
【0120】
第3ステップ1530において、第2画像1524の最大輝度を第1目標画像1522の最大輝度に一致させるゲイン係数が決定される。次に、第2画像1524のグレーレベルは、このゲイン係数によってスケール調整される。第4ステップ1540において、画像1522、1524間のピクセル毎のグレースケール値を比較するグレースケール画像1522、1524間のペアリングが行われる。第5ステップ1550において、グレースケール目標画像1522とグレースケール基準画像1524との間の1対1ピクセルペアリングは、y=f(x)の粗い階調曲線に従ってプロットされ、ここでxは、基準画像1524のグレーレベルであり、yは目標画像1522のグレーレベルである。このような粗い階調曲線の実施例が図15Bのグラフ1580に示されている。第6ステップ1560において、粗い階調曲線は、xの欠落グレーレベル又は曲線の不連続性のための補間、平均化、及び平滑化を使用して精細化される。更に、異常又は誤差に起因するあらゆるプロット値をこの精細化の間に取り除くことができる。最終ステップ1570において、最終階調再現曲線が生成される。このような最終階調曲線の実施例は、図15Cのグラフ1590に示されている。通常、階調再現曲線は、各カメラモデルに対する満足のいく結果をもたらすために、画像の色飽和及び輝度コントラストを向上させるS字形を有する。1つの実施例では、階調再現曲線は、連続した4つの3次多項式で表すことができる。
【0121】
次にこの階調再現曲線1590は、RAW処理が行われるカメラ(310)が、階調再現曲線1590を生成するのに使用される目標基準画像1502に関連付けられた初期カメラ情報1503の基準を満たすときに、図3の自動色調整プロセス(342)において使用することができる。従って、複数の階調再現曲線1590は、複数の異なるカメラ、カメラのタイプ、及び他の基準に対して生成される。このように、階調再現曲線が図3のプロセスのブロック346で取得されると、処理される画像に対するカメラ310からのメタデータ314を用いて、事前に記憶され及び構成された階調曲線のプールから適切な階調曲線を選択することができる。
【0122】
図15Aのプロセス1500の本実施形態では、最終階調再現曲線が、別個のカラーチャンネル(例えば、R、G、B)の代わりにグレースケールを使用して生成された。この階調再現曲線が図3の自動色調整プロセス(342)で使用される場合、これは、基本的に各チャンネルに同様にして適用されることになる。代替の実施形態では、上記で開示されたのと同様のプロセスを用いて、画像の各カラーチャンネルに対する別個の階調再現曲線を生成することができ、これによって図3の自動色調整プロセス(342)が、別個の階調再現曲線を色調整のために各チャンネルに独立して適用することができるようになる。例えば、基準画像1502、1504は、各チャンネルのための別個の画像を生成するためにフィルタリング処理にかけることができる。その結果、各チャンネルに関連付けられた画像は、プロセス1500の各段を受けて、処理されている画像の各チャンネルに適用することができる関連チャンネルに対する独立した階調再現曲線を生成することができる。
【0123】
F.RAW画像処理パイプラインにおける付加的なプロセス
図16Aでは、オリジナルRAW画像1610の結果として得られるRGB画像1690へのRAW処理のための複数の付加的な自動化プロセス1600が示されている。これらの自動化プロセス1600は、ディープシャドー脱飽和プロセス1620、輝度ブースト1650、及びRGB分離可能ブースト1680を含む。これらのプロセスが図3のRAW画像処理パイプライン300で実際に実施される時間及び場所は、カメラの仕様、RAW画像、及び他の特徴によって決まる。
【0124】
1.ディープシャドー脱飽和プロセス
1つの実施形態では、自動化ディープシャドー脱飽和プロセス1620は、カメラRGBからXYZカラースペースへの図3の第1変換段303において実施することができる。このプロセス1620は、シャドー脱飽和閾値を下回る輝度値を持つカメラRGB画像内のRGBカラー値に焦点を合わせる。図16Bは、入力/出力輝度グラフ1602においてシャドー脱飽和閾値を線Tでグラフ的に示している。脱飽和プロセス1620は、黒に対する近接度に比例して閾値Tを下回るこれらのディープシャドーRGBカラー値の飽和を低減する。シャドー脱飽和閾値Tは、黒の1%以内の輝度レベルに対応することができる。
【0125】
脱飽和プロセス1620において、RGB画像の各ピクセルに対するオリジナル輝度LOは、標準的技術を使用して計算される。計算された輝度LOはシャドー脱飽和閾値Tと比較され、閾値Tを下回るかどうかを決定する。閾値Tを下回る場合、補間されたグレースケール輝度LGが補間関数を使用して算出される。次に、この補間グレースケール輝度LGは、ディープシャドーピクセルのR、G、及びBのオリジナルカラー値の各々を置き換える。補間において、グレースケール輝度LGは、好ましくは黒に対するピクセルのオリジナル輝度LOの近接度に比例し、これによって、補間されたグレースケール輝度LGは、ディープシャドー脱飽和閾値Tから黒に滑らかに遷移するようになる。ディープシャドー輝度を補間グレースケール値と置き換えることで、画像のディープシャドーにおける色彩ノイズを低減することができる。
【0126】
2.RGB分離可能ブースト
自動化RGB分離可能ブースト1680は、画像がRGBカラースペースにあるときに、図3のパイプライン300において実施することができる。一般に、RGB分離可能ブーストは、各R、G、及びBチャンネルの輝度を個々に修正することによって画像コントラストを引き上げて画像の階調曲線を調整するための技術として好ましい。画像のシャドー及び低中間調エリアにおいてRGB分離可能ブーストを使用してコントラストを引き上げると、RGB分離可能ブーストの副次的効果として色の飽和を増大させることができる。画像がかなりのノイズ量を有すると、このコントラストの増大は、ノイズをより色彩豊富にし、望ましくないものにする。ノイズが「単色」に見える程(画像のローカルカラーに一致して)、ノイズが従来のアナログフィルムグレインにより相似するようになる。ノイズの色彩度がRGB分離可能ブーストによって増大された場合、ノイズは、画像のローカルカラーから赤及び青のカラーシフトを示すことになり、これは望ましくない。この望ましくないアーティファクトが起こる階調領域では、以下で検討される輝度ブーストが、RGB分離可能ブースト1680の代わりに使用される。従って、本実施形態では、RGB分離可能ブースト1680は、主により高い階調に焦点を当てる(例えば、図16Bのグラフ1602において線1606で示された中間調レベルを上回る階調)。これらのより高い階調に適用されると、RGB分離可能ブースト1680は、画像のハイライト領域における色彩度が低下する傾向がある。
【0127】
3.輝度ブースト及び遷移階調領域
自動化輝度ブースト1650はまた、画像がRGBカラースペースにあるときに、図3のパイプライン300において実施することができる。RGBブースト1680と同様に、輝度ブースト1650を用いて、RGB画像1690においてコントラストを制御することもできる。しかしながら、RGB分離可能ブースト1680とは異なり、輝度ブースト1650は、各R、G、及びBチャンネルの輝度を個々に修正することはない。代わりに、輝度ブースト1650は、全ての3つのチャンネルに同時に適用される。更に、輝度ブースト1650は、RGB分離可能ブースト1680に使用される中間調レベルを下回る遷移階調領域に集中する。図16Bのグラフ1602で概略的に示されるように、輝度ブースト1650のための遷移階調領域1604は、4分の1階調レベル1608と中間階調レベル1606との間の領域である。輝度ブースト1650は、この階調領域1604に適用されると、この階調領域1604において各チャンネルR、G、Bを個々に分離可能にブーストすることに関連する欠点の一部が低減される傾向となる。
【0128】
図16Cは、自動化輝度ブースト1660の1つの実施形態を示す。最初に、RGB画像におけるピクセルの輝度値が算出され(ブロック1662)、最大輝度値を下回るこれらの輝度値(例えば、図16Cのレベル1606)が決定される(ブロック1664)。前述のように、定義された遷移階調領域は、上側輝度値1606と下側輝度値1608とを有する図16Bの領域1604とすることができる。階調領域1604内のオリジナル輝度値を有するこれらのピクセルでは、新しい輝度値が補間を使用して算出される(ブロック1666)。
【0129】
処理デバイスのGPUを使用して処理が実施されるときには、三次方程式で具現化することができる補間関数が補間に使用される。他方、処理がCPUを使用して実施されるときには、補間は、三次方程式によって計算された複数のエントリを有するルックアップテーブルで具現化されるのが好ましい。このようなルックアップテーブルは、約65,000エントリを有することができる。例えば、オリジナル画像においてR1、G1、B1チャンネル値を有するピクセルは、標準的技術を使用して輝度値L1を有するように計算される。
【0130】
ブロック1666の補間において、階調領域内の輝度値は、階調領域外の輝度値と共に滑らかに遷移するのが好ましい。新しい輝度値L2 を決定するために、計算された輝度L1 が、輝度の区分的三次関数、或いは輝度の区分的三次関数の評価を具現化するルックアップテーブル(例えば、L2 =Table[L1 ])で使用される。1つの実施形態では、GPUによって使用され且つCPUに対するルックアップテーブルを構成するのに使用される区分的三次方程式は、次式で特徴付けることができる。
x<luminance_threshold_1が真であれば、
y=ax3+bx2+cx+d;
偽であり、luminance_threshold_2が真であれば、
y=ex3+fx2+gx+h;
偽であり、luminance_threshold_3が真であれば、
y=ix3+jx2+kx+l;
偽であれば、
y=mx3+nx2+ox+p;
【0131】
いずれの2つの隣接する三次方程式もこれらを分離する輝度閾値の値に一致させるよう設計されるのが好ましい。更に、隣接する三次方程式は、これらを分離する同じ輝度閾値の傾斜に一致するよう設計される。通常、luminance_threshold_1は0.1であり、luminance_threshold_2は0.2であり、luminance_threshold_3は0.5である。更に、x=0でのyの値はゼロである。これは、係数dが0に恒等的に等しいことを意味する。x=1でのyの値も同様に1である。これは、係数m、n、o、及びpによって定義された三次方程式に対する含意を有する。
【0132】
新しい輝度値を補間した後、新しい輝度L2 の古い輝度L1 に対する比が算出され(ブロック1668)、この係数がオリジナルカラー値R1、G1、B1に乗算されて画像に対する新しいカラー値R2、G2、B2が得られ、輝度ブーストによって修正されたカラー値を有するピクセルを生成する(ブロック1670)。例えば、修正されたピクセルは、
R2=(L2/L1)R1、G2=(L2/L1)G1、及びB2=(L2/L1)B1
によって特徴付けられるRGBカラー値を有することになる。
【0133】
図16Bに示されるように、遷移階調領域1604は、最小輝度値1608と最大輝度値1606とによって定義される。遷移階調領域1604の最小輝度値1608より下では、上述された輝度ブースト1650を使用して、この領域に対するブーストされたRGB値を計算する。しかしながら、遷移階調領域1604内では、画像におけるノイズの量に応じてハイブリッドブーストが使用される。ハイブリッドブーストでは、輝度ブースト1650とRGB分離可能ブースト1680の両方が評価される。
【0134】
従って、図16Cのブロック1672では、選択されたピクセルの輝度値が遷移階調領域内に存在するかどうかの決定が行われる。存在しない場合、以前に計算された輝度ブーストからのブーストされたRGB値が所与のピクセルに対して使用され、プロセス1600はブロック1678に進む。
【0135】
選択されたピクセルに対するオリジナル輝度値がブロック1672で遷移階調領域内に存在する場合、輝度値に対するRGB分離可能ブースト(1680)が計算される(ブロック1674)。次に、階調領域内のこれらの輝度値に対するブーストされたRGB値は、遷移階調領域(1604)内でオリジナル輝度値が存在する場所に基づいて、以前に計算された輝度ブースト(1650)とRGB分離可能ブースト(1680)との間を補間することによって計算される(ブロック1676)。補間は、遷移階調領域(1604)の最小輝度値(1608)の「0」から遷移階調領域(1604)の最大輝度値(1606)の「1」の範囲に及ぶ平滑関数を使用して計算される。前述のように、RGB分離可能ブースト(1680)は、最大輝度レベル(1606)を上回る値に対してのみ使用され、輝度ブースト(1650)は、最小輝度レベル(1608)を下回る値に対してのみ使用される。
【0136】
好ましくは、RGB分離可能と輝度ブーストとの間を補間されたハイブリッドブーストは、画像が所与の量のノイズを有する場合にのみ用いられる。例えば、画像がほとんどノイズを有さない場合、RGB分離可能ブースト(1680)は、階調範囲全体に対して使用されるのが好ましい。しかしながら、画像が閾値を超えるノイズ量を有する場合、上述されたハイブリッドブーストが使用される。画像がノイズの中間の量を有する場合、ストレートRGB分離可能ブーストとハイブリッドブーストの両方が算出され、ストレートRGB分離可能ブーストとハイブリッドブーストとの間の補間が実施されて、使用される結果ブーストを決定する。選択されたピクセルがブーストされると、ブロック1678でのプロセス1600が、オリジナル画像の付加的なピクセルに対してブロック1666から1678を繰り返す。最後に、修正された輝度値を有する結果として得られる画像が生成される(ブロック1674)。
【0137】
前述のように、オペレーティングシステムを有する処理デバイス(例えば、コンピュータ、イメージングデバイス、カメラ、その他)は、本明細書に開示される自動化RAW画像処理方法、サービス、及び技術を実施することができる。更に、プログラム可能処理デバイスによって可読のプログラム記憶デバイスは、プログラム可能処理デバイスに本明細書で開示された自動化RAW画像処理方法及び技術を実行させる命令をプログラム記憶デバイス上に記憶させることができる。
【0138】
好ましい他の実施形態の上記の説明は、出願人によって構想された本発明の概念の範囲又は適用性を限定又は制約するものではない。1つの実施例として、本開示は、RGBベイヤーパターン及びRGBカラースペースに焦点を当てているが、本開示の教示がカラーフィルタアレイ及びカラースペースの他の実施にも適用できる点は理解されるであろう。本明細書に包含される本発明の概念を開示する代わりに、出願人は、添付の請求項によって与えられる特許権全てを要求する。従って、添付の請求項は、当該請求項の範囲又はその均等物の範囲内にある外延全てに対しての修正及び変更を含むものとする。
【特許請求の範囲】
【請求項1】
処理デバイスによって実施可能な自動化RAW画像処理方法であって、
複数の予め設定された階調曲線を記憶する段階と、
RAW画像を補間して補間画像を生成する段階と、
前記RAW画像に関連付けられたメタデータに基づいて、前記予め設定された階調曲線の1つ又はそれ以上のいずれを適用するかを決定する段階と、
前記1つ又はそれ以上の予め設定された階調曲線を前記補間された画像に適用して結果として得られる画像を生成する段階と、
前記結果として得られる画像を前記処理デバイス上で実行されるアプリケーションが利用できるようにする段階と、
を含む方法。
【請求項2】
前記処理デバイスがコンピュータを含む、
請求項1に記載の方法。
【請求項3】
最初に、イメージングデバイスから伝達された前記RAW画像及び前記関連付けられたメタデータを受け取る段階を含む、
請求項1に記載の方法。
【請求項4】
前記イメージングデバイスがデジタルカメラを含む、
請求項3に記載の方法。
【請求項5】
前記複数の予め設定された階調曲線の各々が、前記RAW画像に関連付けられたメタデータによって識別可能なデジタルカメラに関連付けられている、
請求項1に記載の方法。
【請求項6】
前記1つ又はそれ以上の予め設定された階調曲線の各々が、
カメラを使用してシーンの第1基準画像を作成する段階と、
前記シーンの第2基準画像を取得する段階と、
前記第1及び第2基準画像をグレースケール画像に変換する段階と、
前記2つの基準画像に対するグレースケール値をペアリングする段階と、
前記ペアリングに基づいて前記予め設定された階調曲線を生成する段階と、
前記予め設定された階調曲線を前記カメラに関する情報に関連付ける段階と、
によって導き出される、
請求項1に記載の方法。
【請求項7】
前記1つ又はそれ以上の予め設定された階調曲線の各々が、
カメラを使用してシーンの第1基準画像を作成する段階と、
前記第1基準画像をフィルタ処理して、1つのカラーチャンネルのピクセル値を各々が有する複数の第1カラーチャンネル画像にする段階と、
前記シーンの第2基準画像を取得する段階と、
前記第2基準画像をフィルタ処理して、1つのカラーチャンネルのピクセル値を各々が有する複数の第2カラーチャンネル画像にする段階と、
同じカラーチャンネルの前記第1及び第2カラーチャンネル画像の各々の対応するピクセルに対するカラーチャンネル値をペアリングする段階と、
前記ペアリングに基づいて複数のカラーチャンネル階調曲線を生成する段階と、
前記カラーチャンネル階調曲線を前記カメラに関する情報に関連付ける段階と、
によって導き出される、
請求項1に記載の方法。
【請求項8】
前記RAW画像を補間する段階が、前記RAW画像をデモザイクしてカラースペースを有する補間画像にする段階を含む、
請求項1に記載の方法。
【請求項9】
前記RAW画像に関連付けられたメタデータに基づいて、前記予め設定された階調曲線の1つ又はそれ以上のいずれを適用するかを決定する段階が、デジタルカメラを識別する前記メタデータの情報を、前記予め設定された階調曲線に関連付けられたカメラ情報と比較する段階を含む、
請求項1に記載の方法。
【請求項10】
前記予め設定された階調曲線を前記補間画像に適用する段階が、
前記補間画像の各ピクセルの階調値を決定する段階と、
前記予め設定された階調曲線からの対応する階調値に一致するように各ピクセルの前記決められた階調値を調整する段階と、
を含むことを特徴とする請求項1に記載の方法。
【請求項11】
前記結果として得られる画像を前記処理デバイス上で実行されるアプリケーションが利用できるようにする段階が、アプリケーションプログラミングインターフェースを使用して自動化RAW画像処理を実施するオペレーティングシステムサービスを前記アプリケーションにインターフェースする段階を含む、
請求項1に記載の方法。
【請求項12】
プログラム可能処理デバイスに前記請求項1に記載の自動化RAW画像処理方法を実行させるために記憶された命令を含む、前記プログラム可能処理デバイスによって読取り可能なプログラム記憶デバイス。
【請求項13】
前記請求項1に記載の自動化RAW画像処理方法を実施するために処理デバイス上で実行可能なオペレーティングシステム。
【請求項14】
処理デバイスによって実施可能な自動化RAW画像処理方法であって、
第1カメラを使用してシーンの第1基準画像を取得する段階と、
前記シーンの第2基準画像を取得する段階と、
前記第1基準画像における各ピクセルの値を前記第2基準画像における対応するピクセルの値にペアリングする段階と、
前記ペアリングに基づいて1つ又はそれ以上の階調曲線を生成する段階と、
前記1つ又はそれ以上の階調曲線を前記カメラに関連付けられたカメラ情報に関連付ける段階と、
RAW画像を処理するのに使用される処理デバイス上に前記1つ又はそれ以上の階調曲線及び関連付けられたカメラ情報を記憶する段階と、
を含む方法。
【請求項15】
前記シーンが複数のカラーパッチを有するカラーチャートを含む、
請求項14に記載の方法。
【請求項16】
前記カラーチャートがグレーランプ画像を含む、
請求項14に記載の方法。
【請求項17】
前記シーンの第2基準画像を取得する段階が、前記第1カメラとは異なる第2カメラを使用して前記シーンの第2基準画像を取得する段階を含む、
請求項14に記載の方法。
【請求項18】
前記シーンの第2基準画像を取得する段階が、前記第1基準画像を取得するのに使用されたのとは異なる光源を使用して前記シーンの第2基準画像を取得する段階を含む、
請求項14に記載の方法。
【請求項19】
前記シーンの第2基準画像を取得する段階が、前記第1基準画像に対して行われなかった少なくとも1つの修正を前記第2基準画像に対してアプリケーションによって行う段階を含む、
請求項14に記載の方法。
【請求項20】
前記第1基準画像における各ピクセルの値を前記第2基準画像における対応するピクセルの値にペアリングする段階が、
前記第1及び第2基準画像を第1及び第2グレースケール画像に変換する段階と、
前記第1及び第2グレースケール画像において対応するピクセルに対するグレースケール値をペアリングする段階と、
前記ペアリングに基づいて階調曲線を生成する段階と、
前記階調曲線を前記カメラに関する情報に関連付ける段階と、
を含む、
請求項14に記載の方法。
【請求項21】
前記変換段階が、前記第1及び第2基準画像の各々をスケーリングする段階を含む、
請求項20に記載の方法。
【請求項22】
前記スケーリング段階が、デモザイク処理又はノイズから生じる前記第1及び第2基準画像間の差違を実質的に低減する段階を含む、
請求項21に記載の方法。
【請求項23】
前記変換段階が、
前記グレースケール画像の1つの最大輝度を他の前記グレースケール画像に一致させるゲイン係数を決定する段階と、
前記決定されたゲイン係数によって前記1つのグレースケール画像におけるグレースケール値をスケーリングする段階と、
を含む、
請求項20に記載の方法。
【請求項24】
前記生成段階が、補間を使用して、前記第1及び第2グレースケール画像間の前記ペアリングされたグレースケール値に基づいて実質的に連続的な曲線を生成する段階を含む、
請求項20に記載の方法。
【請求項25】
前記第1画像における各ピクセルの値を前記第2画像における対応するピクセルの値にペアリングする段階が、
カメラを使用してシーンの第1基準画像を作成する段階と、
カメラを使用してシーンの第1基準画像を作成する段階と、
前記第1基準画像をフィルタ処理して、1つのカラーチャンネルのピクセル値を各々が有する複数の第1カラーチャンネル画像にする段階と、
前記シーンの第2基準画像を取得する段階と、
前記第2基準画像をフィルタ処理して、1つのカラーチャンネルのピクセル値を各々が有する複数の第2カラーチャンネル画像にする段階と、
同じカラーチャンネルの前記第1及び第2カラーチャンネル画像の各々の対応するピクセルに対するカラーチャンネル値をペアリングする段階と、
前記ペアリングに基づいて複数のカラーチャンネル階調曲線を生成する段階と、
前記カラーチャンネル階調曲線を前記カメラに関する情報に関連付ける段階と、
を含む、
請求項14に記載の方法。
【請求項26】
前記1つ又はそれ以上の階調曲線を使用してRAW画像を自動的に前処理する段階を更に含む、
請求項14に記載の方法。
【請求項27】
前記1つ又はそれ以上の階調曲線を使用する段階が、
前記RAW画像を補間して補間画像を生成する段階と、
前記RAW画像に関連付けられたメタデータからカメラ情報を決定する段階と、
前記決定されたカメラ情報に関連付けられた1つ又はそれ以上の階調曲線を取得する段階と、
前記1つ又はそれ以上の階調曲線を前記補間画像の1つ又はそれ以上のカラーチャンネルに適用して、結果として得られる画像を生成する段階と、
前記結果として得られる画像を前記処理デバイス上で実行されるアプリケーションが利用できるようにする段階と、
を含む、
請求項26に記載の方法。
【請求項1】
処理デバイスによって実施可能な自動化RAW画像処理方法であって、
複数の予め設定された階調曲線を記憶する段階と、
RAW画像を補間して補間画像を生成する段階と、
前記RAW画像に関連付けられたメタデータに基づいて、前記予め設定された階調曲線の1つ又はそれ以上のいずれを適用するかを決定する段階と、
前記1つ又はそれ以上の予め設定された階調曲線を前記補間された画像に適用して結果として得られる画像を生成する段階と、
前記結果として得られる画像を前記処理デバイス上で実行されるアプリケーションが利用できるようにする段階と、
を含む方法。
【請求項2】
前記処理デバイスがコンピュータを含む、
請求項1に記載の方法。
【請求項3】
最初に、イメージングデバイスから伝達された前記RAW画像及び前記関連付けられたメタデータを受け取る段階を含む、
請求項1に記載の方法。
【請求項4】
前記イメージングデバイスがデジタルカメラを含む、
請求項3に記載の方法。
【請求項5】
前記複数の予め設定された階調曲線の各々が、前記RAW画像に関連付けられたメタデータによって識別可能なデジタルカメラに関連付けられている、
請求項1に記載の方法。
【請求項6】
前記1つ又はそれ以上の予め設定された階調曲線の各々が、
カメラを使用してシーンの第1基準画像を作成する段階と、
前記シーンの第2基準画像を取得する段階と、
前記第1及び第2基準画像をグレースケール画像に変換する段階と、
前記2つの基準画像に対するグレースケール値をペアリングする段階と、
前記ペアリングに基づいて前記予め設定された階調曲線を生成する段階と、
前記予め設定された階調曲線を前記カメラに関する情報に関連付ける段階と、
によって導き出される、
請求項1に記載の方法。
【請求項7】
前記1つ又はそれ以上の予め設定された階調曲線の各々が、
カメラを使用してシーンの第1基準画像を作成する段階と、
前記第1基準画像をフィルタ処理して、1つのカラーチャンネルのピクセル値を各々が有する複数の第1カラーチャンネル画像にする段階と、
前記シーンの第2基準画像を取得する段階と、
前記第2基準画像をフィルタ処理して、1つのカラーチャンネルのピクセル値を各々が有する複数の第2カラーチャンネル画像にする段階と、
同じカラーチャンネルの前記第1及び第2カラーチャンネル画像の各々の対応するピクセルに対するカラーチャンネル値をペアリングする段階と、
前記ペアリングに基づいて複数のカラーチャンネル階調曲線を生成する段階と、
前記カラーチャンネル階調曲線を前記カメラに関する情報に関連付ける段階と、
によって導き出される、
請求項1に記載の方法。
【請求項8】
前記RAW画像を補間する段階が、前記RAW画像をデモザイクしてカラースペースを有する補間画像にする段階を含む、
請求項1に記載の方法。
【請求項9】
前記RAW画像に関連付けられたメタデータに基づいて、前記予め設定された階調曲線の1つ又はそれ以上のいずれを適用するかを決定する段階が、デジタルカメラを識別する前記メタデータの情報を、前記予め設定された階調曲線に関連付けられたカメラ情報と比較する段階を含む、
請求項1に記載の方法。
【請求項10】
前記予め設定された階調曲線を前記補間画像に適用する段階が、
前記補間画像の各ピクセルの階調値を決定する段階と、
前記予め設定された階調曲線からの対応する階調値に一致するように各ピクセルの前記決められた階調値を調整する段階と、
を含むことを特徴とする請求項1に記載の方法。
【請求項11】
前記結果として得られる画像を前記処理デバイス上で実行されるアプリケーションが利用できるようにする段階が、アプリケーションプログラミングインターフェースを使用して自動化RAW画像処理を実施するオペレーティングシステムサービスを前記アプリケーションにインターフェースする段階を含む、
請求項1に記載の方法。
【請求項12】
プログラム可能処理デバイスに前記請求項1に記載の自動化RAW画像処理方法を実行させるために記憶された命令を含む、前記プログラム可能処理デバイスによって読取り可能なプログラム記憶デバイス。
【請求項13】
前記請求項1に記載の自動化RAW画像処理方法を実施するために処理デバイス上で実行可能なオペレーティングシステム。
【請求項14】
処理デバイスによって実施可能な自動化RAW画像処理方法であって、
第1カメラを使用してシーンの第1基準画像を取得する段階と、
前記シーンの第2基準画像を取得する段階と、
前記第1基準画像における各ピクセルの値を前記第2基準画像における対応するピクセルの値にペアリングする段階と、
前記ペアリングに基づいて1つ又はそれ以上の階調曲線を生成する段階と、
前記1つ又はそれ以上の階調曲線を前記カメラに関連付けられたカメラ情報に関連付ける段階と、
RAW画像を処理するのに使用される処理デバイス上に前記1つ又はそれ以上の階調曲線及び関連付けられたカメラ情報を記憶する段階と、
を含む方法。
【請求項15】
前記シーンが複数のカラーパッチを有するカラーチャートを含む、
請求項14に記載の方法。
【請求項16】
前記カラーチャートがグレーランプ画像を含む、
請求項14に記載の方法。
【請求項17】
前記シーンの第2基準画像を取得する段階が、前記第1カメラとは異なる第2カメラを使用して前記シーンの第2基準画像を取得する段階を含む、
請求項14に記載の方法。
【請求項18】
前記シーンの第2基準画像を取得する段階が、前記第1基準画像を取得するのに使用されたのとは異なる光源を使用して前記シーンの第2基準画像を取得する段階を含む、
請求項14に記載の方法。
【請求項19】
前記シーンの第2基準画像を取得する段階が、前記第1基準画像に対して行われなかった少なくとも1つの修正を前記第2基準画像に対してアプリケーションによって行う段階を含む、
請求項14に記載の方法。
【請求項20】
前記第1基準画像における各ピクセルの値を前記第2基準画像における対応するピクセルの値にペアリングする段階が、
前記第1及び第2基準画像を第1及び第2グレースケール画像に変換する段階と、
前記第1及び第2グレースケール画像において対応するピクセルに対するグレースケール値をペアリングする段階と、
前記ペアリングに基づいて階調曲線を生成する段階と、
前記階調曲線を前記カメラに関する情報に関連付ける段階と、
を含む、
請求項14に記載の方法。
【請求項21】
前記変換段階が、前記第1及び第2基準画像の各々をスケーリングする段階を含む、
請求項20に記載の方法。
【請求項22】
前記スケーリング段階が、デモザイク処理又はノイズから生じる前記第1及び第2基準画像間の差違を実質的に低減する段階を含む、
請求項21に記載の方法。
【請求項23】
前記変換段階が、
前記グレースケール画像の1つの最大輝度を他の前記グレースケール画像に一致させるゲイン係数を決定する段階と、
前記決定されたゲイン係数によって前記1つのグレースケール画像におけるグレースケール値をスケーリングする段階と、
を含む、
請求項20に記載の方法。
【請求項24】
前記生成段階が、補間を使用して、前記第1及び第2グレースケール画像間の前記ペアリングされたグレースケール値に基づいて実質的に連続的な曲線を生成する段階を含む、
請求項20に記載の方法。
【請求項25】
前記第1画像における各ピクセルの値を前記第2画像における対応するピクセルの値にペアリングする段階が、
カメラを使用してシーンの第1基準画像を作成する段階と、
カメラを使用してシーンの第1基準画像を作成する段階と、
前記第1基準画像をフィルタ処理して、1つのカラーチャンネルのピクセル値を各々が有する複数の第1カラーチャンネル画像にする段階と、
前記シーンの第2基準画像を取得する段階と、
前記第2基準画像をフィルタ処理して、1つのカラーチャンネルのピクセル値を各々が有する複数の第2カラーチャンネル画像にする段階と、
同じカラーチャンネルの前記第1及び第2カラーチャンネル画像の各々の対応するピクセルに対するカラーチャンネル値をペアリングする段階と、
前記ペアリングに基づいて複数のカラーチャンネル階調曲線を生成する段階と、
前記カラーチャンネル階調曲線を前記カメラに関する情報に関連付ける段階と、
を含む、
請求項14に記載の方法。
【請求項26】
前記1つ又はそれ以上の階調曲線を使用してRAW画像を自動的に前処理する段階を更に含む、
請求項14に記載の方法。
【請求項27】
前記1つ又はそれ以上の階調曲線を使用する段階が、
前記RAW画像を補間して補間画像を生成する段階と、
前記RAW画像に関連付けられたメタデータからカメラ情報を決定する段階と、
前記決定されたカメラ情報に関連付けられた1つ又はそれ以上の階調曲線を取得する段階と、
前記1つ又はそれ以上の階調曲線を前記補間画像の1つ又はそれ以上のカラーチャンネルに適用して、結果として得られる画像を生成する段階と、
前記結果として得られる画像を前記処理デバイス上で実行されるアプリケーションが利用できるようにする段階と、
を含む、
請求項26に記載の方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15A】
【図15B】
【図15C】
【図16A】
【図16B】
【図16C】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15A】
【図15B】
【図15C】
【図16A】
【図16B】
【図16C】
【公開番号】特開2012−50108(P2012−50108A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−215351(P2011−215351)
【出願日】平成23年9月29日(2011.9.29)
【分割の表示】特願2009−532496(P2009−532496)の分割
【原出願日】平成19年9月27日(2007.9.27)
【出願人】(503260918)アップル インコーポレイテッド (568)
【Fターム(参考)】
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願番号】特願2011−215351(P2011−215351)
【出願日】平成23年9月29日(2011.9.29)
【分割の表示】特願2009−532496(P2009−532496)の分割
【原出願日】平成19年9月27日(2007.9.27)
【出願人】(503260918)アップル インコーポレイテッド (568)
【Fターム(参考)】
[ Back to top ]