画像処理装置、画像処理システム、画像処理方法、記憶媒体、及びプログラム
【課題】 常に良好な処理後画像を提供できる画像処理装置を提供する。
【解決手段】 解析手段110は、画像情報105に含まれる画像107取得時の条件情報106(撮影画像107の撮影時の条件情報)を解析し、この解析結果に基づいて、画像107へ施す画像補正処理のアルゴリズムを決定する。
【解決手段】 解析手段110は、画像情報105に含まれる画像107取得時の条件情報106(撮影画像107の撮影時の条件情報)を解析し、この解析結果に基づいて、画像107へ施す画像補正処理のアルゴリズムを決定する。
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えば、ディジタルスチルカメラ等により撮影して取得したディジタル画像データをプリンタで印刷出力するための画像補正処理を実行する装置或いはシステムに用いられる、画像処理装置、画像処理システム、画像処理方法、それを実施するためのプログラムを記憶したコンピュータ読出可能な記憶媒体、及び当該プログラムに関するものである。
【0002】
【従来の技術】近年では、例えば、ディジタルスチルカメラの普及により、写真画像のディジタル化が手軽になり、特に、パーソナルコンピュータ(以下、単に「パソコン」と言う)上において、写真調の画像をディジタル画像データとして扱う機会が増えてきた。さらに、パソコン上で各種のアプリケーションソフトウェアを使用することで、写真調の画像であるディジタル画像データに対して加工や編集処理を容易に行えるようになっている。
【0003】一方、フルカラーハードコピー技術に関しても急速に発展しており、特に、インクジェット方式による印刷技術では、インクドットによる粒状感を低減させる技術の向上により、その印刷出力結果の画質が銀塩写真での画質と同等のものとなりつつあり、また、比較的簡易な印刷技術であることにより、広く普及している。
【0004】上述のような技術背景から、ディジタルスチルカメラで撮影して取得したディジタル画像データを手軽に印刷出力できることが求められている。また、印刷出力時の画像補正処理に関して、複雑な機能を使用した手動での画像補正処理ではなく、パソコン上でアプリケーションソフトウェアを使用することで、常に良好な画像補正後の画像が得られる自動画像補正処理の必要性が高まっている。
【0005】そこで、良好な印刷出力結果を得るために、印刷出力を行う際に画像補正処理等の画像処理を施して出力する方法としては、例えば、撮影画像のシーンを解析し、その解析結果に基づいて自動的に画像補正を行う方法等、様々な方法が提案されている。
【0006】また、例えば、撮影画像を印刷出力した際に、明るすぎたり(薄すぎたり)、或いは暗すぎたり(濃すぎたり)することを防ぐための画像補正である所謂「濃度補正」に関する方法が提案されている。また、撮影画像における色かぶりや露出不良(明るさやコントラスト不良)、或いは彩度不良等の好ましくない画像及び色かぶり等によりカラーバランスが崩れている画像を補正する所謂「画像補正」の方法も提案されている。
【0007】「濃度補正」及び「画像補正」の何れの画像処理方法においても、自動画像補正のための構成として、処理対象となる画像(原画像)における輝度信号の輝度値毎に、対象輝度値の画素数を累積したヒストグラムを用いることで原画像を解析し、当該解析結果に基づいて、原画像の補正を行う構成が用いられている。
【0008】また、ディジタルスチルカメラ側の機能としては、撮影して取得した画像をディジタル画像データとして、メモリカード等の記憶媒体に記録するだけでなく、撮影時の撮影条件を表す付加情報をも、当該記録媒体にディジタル画像データと共に記録することが可能となっている。
【0009】ディジタルスチルカメラにより撮影して得られた処理対象となる画像(対象画像)の画像解析を行うことで対象画像のシーンの解析を行い、当該解析結果に基づき対象画像の自動画像補正を行う場合、基本的には、全ての対象画像に対して、理論的に最適と考えられる画像(標準的な画像)が印刷出力されるような自動画像補正を行うことになる。
【0010】ところで、上述したような色補正、明るさ補正は画像のヒストグラムを用いて、統計的に画像処理をしているものが多く、画像データのみの解析だけでは必ずしも全ての画像において最適に補正され難い。色補正にはホワイトバランス情報が、明るさ補正には露出情報を用いた方がより細密な判定を行うことができる。
【0011】
【特許文献1】特開2000−13624公報
【0012】
【発明が解決しようとする課題】また、上述の自動画像補正は、ユーザが、パソコン上でアプリケーションソフトウェアを使用して、パソコンのモニタに表示された対象画像を確認しながら手動で画像補正する手動画像補正とは異なり、標準的な画像への自動画像補正が、対象画像を取得した時(撮影時)のユーザの意図と反する補正が行われてしまう場合がある。
【0013】例えば、ユーザが意図的に手動設定を行い、画像を明るく或いは暗くするような露出条件で撮影して取得した画像に対しても、明るい画像であれば少し暗めに画像補正され、また、暗い画像であれば少し明るめに画像補正されることで、適正な明るさの画像として出力されてしまう。すなわち、対象画像が、どのような画像であっても、同一な明るさの画像に画像補正されて出力されてしまう。
【0014】また、ユーザが、ディジタルスチルカメラのホワイトバランスを意図的に変えることで特殊な効果を狙った画像に対しても、同様に最適なカラーバランスとなるような画像補正が行われてしまう。
【0015】そこで、本発明は、上記の欠点を除去するために成されたもので、常に良好な処理後画像を提供できる、画像処理装置、画像処理システム、画像処理方法、それを実施するためのプログラムを記憶したコンピュータ読出可能な記憶媒体、及び当該プログラムを提供することを目的とする。
【0016】
【課題を解決するための手段】斯かる目的下において、画像取得時の条件情報を含む画像情報に対して画像処理を施す画像処理装置であって、上記条件情報を解析する解析手段と、上記解析手段の解析結果に基づいて、カラーバランスの度合いを示す値に応じて画像の色補正量を求め、明るさの度合いを示す値に応じて画像の明るさ補正量を求め、画像処理条件を決定する処理決定手段と、上記処理決定手段で決定された画像処理条件による処理を上記画像情報に施す処理手段と、上記画像が画像取得者の手動設定によって取得された場合、上記処理手段での処理時に処理を行うか否かを通知する手段とを備えることを特徴とする。
【0017】
【発明の実施の形態】以下、本発明の実施の形態について図面を用いて説明する。
【0018】<第1の実施例>本発明は、例えば、図1に示すような画像印刷システム100に適用される。
【0019】本実施の形態の画像印刷システム100は、特に、ディジタルスチルカメラ101で撮影して得られた処理対象の画像データに付加された撮影条件を示す情報(付加情報)の解析結果に基づいて、当該画像データの画像補正を自動的に実施することで、高精度な自動画像補正を実現し、撮影時のユーザの意図を、より反映した高品質の写真画像印刷結果を提供できるように構成されている。
【0020】以下、本実施の形態の画像印刷システム100の構成及び動作について具体的に説明する。
【0021】<画像印刷システム100の構成>画像印刷システム100は、上記図1に示すように、ディジタルスチルカメラ101、画像処理装置108、及びプリンタ115を含む構成としている。
【0022】ディジタルスチルカメラ101は、撮影動作により撮影画像データ107を取得すると共に、当該撮影動作における撮影条件データ106(付加情報)及び撮影画像データ107を含む画像データ105を画像処理装置108に対して出力するものであり、撮影条件設定部102、撮影条件記録部103、及び撮影画像記録部104を備えている。
【0023】撮影条件設定部102は、撮影動作に必要な各種の撮影条件の設定を行なう。
【0024】撮影条件記録部103は、撮影条件設定部102で設定された撮影条件のデータ106を、画像データ105(画像処理装置108への出力用のデータ)中に記録する。
【0025】撮影画像記録部104は、撮影条件設定部102で設定された撮影条件に従った撮影動作により取得された撮影画像データ107を、画像データ105中に記録する。
【0026】尚、画像データ105の画像処理装置108への供給方法としては、例えば、通信回線を介したデータ転送による方法、或いは任意の記録媒体又は記憶媒体に記録することによる方法等を適用可能である。
【0027】画像処理装置108は、例えば、パーソナルコンピュータからなり、所定のアプリケーションソフトウェアの起動により、ディジタルスチルカメラ101からの画像データ105の撮影画像データ107に対して画像補正処理を施してプリンタ115で印刷出力する。
【0028】このため、画像処理装置108は、リーダ部109、撮影条件解析部111及び撮影画像解析部112を含むデータ解析部110、画像補正処理部113、及び印刷データ変換部114を備えており、これらの構成部109〜114の各機能は、上記の所定のアプリケーションソフトウェアの起動により実現される。
【0029】リーダ部109は、ディジタルスチルカメラ101からの画像データ105を読み取る。
【0030】データ解析部110は、撮影条件解析部111により、リーダ部109で得られた画像データ105に含まれる撮影条件データ106を解析すると共に、撮影画像解析部112により、リーダ部109で得られた画像データ105に含まれる撮影画像データ107を解析し、当該解析結果に基づいて、画像補正アルゴリズムを選択する。
【0031】画像補正処理部113は、データ解析部110で選択された画像補正アルゴリズムにより、撮影画像データ107に対して画像補正処理を施す。
【0032】画像補正アルゴリズムの選択(決定)について、具体的には例えば、撮影画像解析部112が、撮影画像データ107の信号値から輝度値や輝度分布を解析する場合、当該解析結果により、撮影画像データ107の特性を認識し、この結果に該当する最適な補正条件を決定し、当該決定条件に基づいた画像補正アルゴリズムを選択する。
【0033】すなわち、最終的な画像補正アルゴリズムの選択は撮影条件解析部111による撮影条件データ106の解析結果により決定したアルゴリズムと撮影画像解析部112によって撮影画像データ107の特性認識により決定したアルゴリズムとにより決められる。
【0034】また、画像補正処理としては、明るさ補正処理、コントラスト補正処理、色(カラーバランス)補正処理、彩度補正処理、平滑化処理、輪郭強調処理、及びノイズ低減処理等が挙げられる。
【0035】印刷データ変換部114は、画像補正処理部113での補正後の撮影画像データ107を、プリンタ115で印刷可能な適切な形式のデータ(例えば、CMYKデータ)に変換し、当該変換後データを、所定のインタフェースを介してプリンタ115へ転送する。
【0036】したがって、プリンタ115は、画像処理装置108の印刷データ変換部114から転送されてきたデータを印刷出力する。
【0037】プリンタ115としては、例えば、シリアルスキャン形式のインクジェット方式、電子写真方式、昇華型のプリンタ等を適用可能である。
【0038】尚、本実施の形態では、画像処理部108が備える構成部109〜114を、パーソナルコンピュータ上で動作するアプリケーションソフトウェアの起動により実現するものとしているが、これに限られることはなく、例えば、ハードウェアにより実現するようにしてもよい。さらに具体的には、プリンタ115のドライバの形態で実現するようにしてもよい。
【0039】また、例えば、画像処理部108としてパーソナルコンピュータを用いた場合、画像データ105を、画像処理部108のハードディスク等の記憶媒体に保持し、或いは画像処理部108に接続された別のパーソナルコンピュータ(サーバ等を含む)の記憶媒体に保持し、これを画像処理部108内で処理するようにしてもよい。
【0040】また、ディジタルスチルカメラ101から画像処理部108(画像処理部108としてパーソナルコンピュータを用いた場合には、その内部の記憶媒体等)への画像データ105の受け渡しについては、上述したように任意の通信回線や記録媒体又は記憶媒体を利用する方法等が適用可能であるが、さらに具体的には例えば、カードリーダやケーブル接続、或いは赤外線通信、或いは無線通信を適用可能である。この場合、例えば、ディジタルスチルカメラ101と画像処理部108をケーブル接続、或いは赤外線通信、或いは無線通信で接続し、画像処理部108が、ディジタルスチルカメラ101が保持するメモリカードや内蔵メモリ等から、直接画像データ105を読み込むようにしてもよい。
【0041】また、画像印刷システム100のシステム形態としては、例えば、プリンタ115内部に対して、画像処理装置108の機能を設けるように構成してもよい。この場合、画像処理装置108としてパーソナルコンピュータ等を用いる必要はない。また、この場合には、例えば、プリンタ115において、画像データ105を、プリンタ115に設けられたカードリーダ等のデータ読取手段(リーダ部109の機能に相当)により、メモリカード等の記録媒体又は記憶媒体を介して読み取るようにしてもよい。或いは、ディジタルスチルカメラ101とプリンタ115を有線ケーブル、或いは赤外線通信、或いは無線通信により接続し、プリンタ115が、ディジタルスチルカメラ101が保持するメモリカードや内蔵メモリ等から画像データ105を読み出すようにしてもよい。
【0042】図2にRGB画像信号より画像補正に最適なLab信号に変換するフローチャートを示す。202で画像補正処理を行った後、L’a’b’信号を再びR’G’B’に戻すことで単純かつ効果的な補正ができる。またLab信号を用いず、簡易的なYCbCr信号を用いてもよい。なお本実施例では、YCbCr信号を用いることにする。
【0043】次に画像補正処理部113の処理内容について述べる。まず撮影条件データ106にある、ホワイトバランスに関する情報を読みとり、それが自動撮影(オートモード)ならばカラーバランス補正(色補正)を行う。
【0044】一方、撮影条件データ106にある露出に関する情報を読みとり、それが自動撮影(オートモード)ならば明るさ補正(印刷濃度補正)を行う。
【0045】また、撮影条件データ106にあるデジタルズームに関する情報を読みとり、それが実行されている(ON)ならば画像にスムージング補正を行う。
【0046】次に以下に、カラーバランス補正、明るさ補正の実施例について説明する。
【0047】《カラーバランス補正》[第1の処理方法]はじめに、カラーバランス補正についてその処理内容を図3〜図10を用いて説明する。
【0048】本実施形態の画像補正処理部113は、図3に示したように、ヒストグラム作成処理(図3−S1)とヒストグラムに応じた画像補正処理(図3−S2)を行う。ステップ図3−S1では、図4に示すような処理によりヒストグラムを作成する。そして、作成されたヒストグラムに基づき画像のハイライトポイントおよびシャドーポイントを決定する。
【0049】(輝度ヒストグラムの作成)図4は本実施形態での輝度ヒストグラムを作成するフローチャートである。
【0050】図4において、図4−S1で原画像の輝度ヒストグラム作成のルーチンに入ると、図4−S2で原画像の画素から輝度ヒストグラムの作成に用いる画素の選択比率を決定する。本実施形態では、処理対象の画像データが35万画素の場合に全画素を対象(選択比率1(あるいは100%))に輝度ヒストグラムを作成することとする。35万画素以上の画素数の画像データが入力された場合には、その総画素数の35万画素に対する比率に応じて画素選択(サンプリング)を行う。例えば、350万画素の画像データが入力された場合には、選択比率は350万/35万=10であり、10画素に1画素の割合(選択比率10(あるいは10%))で輝度ヒストグラムを作成する。本実施形態では選択比率nは次式により求める。
n=int(対象画像データの総画素数/基準画素数35万)(但し、n<1の時はn=1、nは正数)
続いて図4−S3でライン番号を管理するカウンタをリセットあるいは所定の初期値にセットし、図4−S4でそのカウンタをインクリメントして注目ラインのライン番号とする。
【0051】本実施形態では画素の間引き(サンプリング)はライン単位で行うので、選択比率nの場合には、ライン番号をnで割ったときの余りが0の場合に、そのラインに属する画素を処理対象として選択する(図4−S5−YES)。例えば選択比率10の場合であれば、ライン番号を10で割ったときの余りが0の場合に、そのラインに属する画素を処理対象として選択する注目ラインが間引かれるライン、すなわち処理対象とならないラインの場合には図4−S4に戻る。処理対象ラインの場合には図4−S6に進み、注目ラインに属する画素に順次注目し、その注目画素に対して輝度変換,色度変換を処理を行う。本実施形態における輝度変換、色度変換は以下の式により行う。なお、輝度、色度変換は以下の式に限らず様々な式を用いることが可能である。
Y (輝度)=int(0.30R+0.59G+0.11B)(Yは正数)
C1(色度)=R−YC2(色度)=B−Yまた本実施形態では白位置(ハイライトポイント)、黒位置(シャドーポイント)の検出精度を向上させるために次式により注目画素の彩度Sを計算し、予め定めた彩度値(Sconst)より大きいか否かを判断して(図4−S7)、大きい場合には、その画素の情報は輝度ヒストグラムに反映させない。
【0052】彩度S=sqrt(C1^2+C2^2)
ここでsqrt(x)はxの平方根を与える関数であり、x^yはxのy乗を表す。
【0053】即ち、(S>Sconst)の場合には図4−S6に戻り、注目画素のデータは以後の処理に反映させない。これは、後述する通り、白位置の彩度は高輝度の画素群の平均彩度により与えられ、その彩度の値は色かぶりにより生じた誤差となるため、本来高彩度であると考えられる画素はハイライトポイントの算出から除外したほうが良いためである。この処理の効果を具体例を上げて説明する。例えばイエローの画素(R=G=255、B=0)は、上式からその輝度Yは226となり、彩度Sは227となる。すなわち、この画素は極めて高輝度であるとともに、十分に彩度の高い色を有することが分かる。このような画素は、無彩色の画素がイエローに色かぶりした結果そのようになったと判断するよりも、本来イエローの画素であると判断した方が多くの場合間違えが少ない。このような高輝度・高彩度の画素を輝度ヒストグラムに含めると、検出される白位置に誤差が生じてしまう。よって、本実施形態では所定の彩度(Sconst)を定め、所定の彩度を越える彩度の画素は輝度ヒストグラムに含めない。こうすることで、高彩度の画素により検出される白位置に誤差が生じることを防ぎ、白位置の精度を向上させることができる。
【0054】このように、図4−S7における判断の後、条件(S≦Sconst)を満たした画素について輝度ヒストグラムを作成していく(図4−S8)。ここで本実施形態で扱う画素データRGBは各8ビット(256階調)データであるので、輝度Yも256の深さに変換される。よって輝度ヒストグラムは、0から255までの256段階の各輝度値の画素が夫々何度数あるかを計数することで得られる。
【0055】また色度C1,C2の計算値は、後の色かぶり補正時に、各輝度値を有する画素の平均色度を算出するためのデータとして用いるので、本実施形態では次のようにデータを保持する。すなわち、インデクスの範囲が0から255の構造体配列変数の形式で、度数,C1累積値,C2累積値の3メンバーを設定し、各画素ごとの演算結果をその画素の輝度値をインデクスとする各メンバーに反映していく。
【0056】注目画素について処理を終えたなら、注目ラインの全画素の処理が終了したかどうかを判断し(図4−S9)、注目ラインに未処理画素が残っている場合には図4−S6に戻り、図4−S6以降の処理を繰り返す。注目ライン内の全画素の処理が終了したら、図4−S10で未処理のラインが残っているかを判断し、全ライン終了であれば図4−S11で終了し、未処理のラインが残っていれば図4−S4に戻り、注目ラインを次のラインに移して上記処理を繰り返す。
【0057】以上の様に原画像データの画素を選択しながら輝度ヒストグラムを作成することにより、必要最小限の画素数で、且つ後の白位置、黒位置検出時の精度の向上も考慮した輝度ヒストグラムを作成することができる。
(白位置(ハイライトポイント),黒位置(シャドーポイント)の決定)輝度ヒストグラムが完成したら、そのヒストグラムから白位置(ホワイトポイント)、黒位置(シャドーポイント)を決定する。本実施形態では、輝度ヒストグラムにおける輝度値0及び輝度値255の両端から中心方向に累積輝度度数値が1750になる点をそれぞれ黒位置および白位置と定める。
【0058】すなわち、輝度値Yの画素の度数をPYとすると、P0+P1+・・・と累積度数を求めていき、累積度数が1750を越えた時の輝度値を黒位置の輝度値YSDとする。次いで輝度YSDの画素の平均色度を求める。前記の通り、輝度ヒストグラム作成時に各輝度値の色度の累積値が計算されている(輝度Nの画素の累積色度をC1Ntotal,C2Ntotalとする)ので、黒位置である輝度値YSDの画素の平均色度C1SD,C2SDを求める。
C1SD=C1YSDtotal/PYSDC2SD=C2YSDtotal/PYSD同様に白位置の決定を行う。P255+P254+・・・と累積度数を求めていき、該累積度数が1750を越えた時の輝度値を黒位置の輝度値YHLとする。次いで輝度YHLの画素の平均色度C1HL,C2HLを求める。
C1HL=C1YHLtotal/PYHLC2HL=C2YHLtotal/PYHL以上の演算を行うことにより、[C1,C2,Y]色空間において、白位置(C1HL,C2HL,YHL)と黒位置(C1SD,C2SD,YSD)を求めることができる。
【0059】尚、本実施形態では輝度値0と輝度値255の輝度位置から累積度数を求めたが、輝度値1と輝度値254から求めるなど、所定のオフセットを与えても良い。
【0060】以上のようにして、図3のステップS1において、白位置(ハイライトポイント)/黒位置(シャドーポイント)を決定する。
【0061】次に、図3のS2において、図3−S1で決定された白位置および黒位置に基づいた画像補正処理を行う。本実施形態では画像補正処理として、原画像の色かぶりを補正する色かぶり補正、原画像の露出を最適化すべく輝度のコントラストを補正する露出補正、および出力画像の色のみえを良くするための彩度補正を行う。
【0062】図9は、画像補正処理部113により図3のステップS2で行われる補正処理の流れを示している。すなわち、まず色かぶり補正のための回転行列を求め、次にその回転行列を用いて色バランス(色かぶり)を補正し、最後に画像の露出の状態に応じて、輝度信号のガンマ変換を行う。これら各処理を、順を追って説明する。
【0063】(色かぶり補正)上記の通り原画像の(C1,C2,Y)色空間における白位置、黒位置が求められたら、引き続いて色かぶりの補正を行う。
【0064】もし原画像に色かぶりが無く理想的な画像であるとすれば、無彩色はR=G=Bであり、白位置、黒位置の色度の演算値は「C1HL=C2HL=C1SD=C2SD=0」となる。しかし色かぶりがある場合には、かぶっている色相方向に、かぶっている程度に比例して、(C1HL,C2HL,YHL)と(C1SD,C2SD,YSD)を結ぶ直線(色立体軸)に傾きが生じる。(図5(b))色かぶり補正は現画像の色立体軸とY軸(輝度軸)が一致する様に変換することで達成できる。変換は色立体を回転、平行移動させることでも達成できるし、座標系を変換することでも達成できる。
【0065】本実施形態ではまず原画像の色立体において、色立体軸の最低輝度点(下端点)を回転中心として、色立体軸をY軸と平行となる様に回転させる。次いで前記最低輝度点の位置が(C1,C2,Y)空間の原点となるように座標系を変換する。以上の処理により、最低輝度点が原点で、色立体軸がY軸と一致する変換結果が得られる。なお、図5(a)は色かぶりのない理想的な画像データの色分布を示す色立体である。上述の変換により、変換後の色立体は、理想的な色立体(図5(a))に近づけられる。
【0066】なお、色立体軸をY軸と平行に回転させる回転変換にあたっては、シャドーポイント及びハイライトポイントの座標値から、回転変換の回転軸及び回転角は簡単に決めることができる。3次元空間上で、立体を所望の回転軸周りに所望の角度で回転させる回転行列を求める手法は公知の技術であるので、この詳細な説明は省略する。
【0067】以上の様に、原画像の各画素を、色度と輝度とを軸とする3次元色空間の画素データ(C1,C2,Y)に変換し、その画像データを、黒位置と白位置とを結ぶ色立体軸(グレーライン)がY軸と一致し、かつ最低輝度が座標原点となるような画素データ(C1’,C2’,Y’)に回転、平行移動変換することにより、色かぶりの補正を行うことが可能となる。
【0068】(コントラスト及び彩度の調整)次にコントラスト及び彩度の調整による画像のさらなる高品質を実現するために、画像の露出オーバー/アンダーを簡易的に判定し、それに応じて輝度信号にガンマ補正をかける方法を説明する。
【0069】なおこの処理は主にカラーバランス補正の一部であり、上述したような撮影条件データ106に含まれる露出データは考慮しておらず、後述する露出データの値を加味した明るさ補正とは異なる。
【0070】コントラストの調整は、黒位置(シャドーポイント)の輝度を“0”あるいはそれに近い値(例えば“10”)に調整し、白位置(ハイライトポイント)の輝度を“255”あるいはそれに近い値(例えば“245”)に調整することで行う。
【0071】次に、画像の露出のオーバー・アンダーを簡易的に判定し、画像データに対してそれに応じたガンマ補正を施す際の一実施例を示す。
【0072】まず、補正する色立体軸と輝度(Y)軸とが最小距離となる点、つまり図5(b)におけるT,T’を求める。これは幾何学的な関係から簡単に求めることができる。
【0073】そして、点T’の色かぶり補正後の輝度成分YT’が点Tの輝度成分YTとなるようにコントラストを調整する。つまり図6に示すように(YT’,YT)を屈折点とし、色かぶり補正後の輝度Y’がYT’より小さい場合は、輝度を直線aとして与えられる関数によりY”に補正し、YT’より大きい場合は、直線bとして与えられる関数によってY”に補正する。
【0074】もちろん、このT,T’を使わずに、図6の直線I2で与えられるような補正をおこなってもよい。色立体軸が輝度軸と並行になる場合は、点T,T’は1対1ではないし、また、T,T’が輝度の範囲[0,255]の外にある場合には、点(YT’,YT)を屈折点とすることはできない。このような特殊なケースでは直線I2に従って補正すればよい。
【0075】この2直線の最近接点T,T’を用いた補正の効果は、とくに露出のオーバーあるいはアンダーの画像に作用する。露出がオーバーになるのは空などの明るいところに画像全体が引っ張られるためである。この際デジタルカメラを代表する入力機器では、高輝度色抑圧が行われ、高輝度部の彩度がおとされる。すなわち、高輝度色抑圧の行われた画像の色立体軸を、図7(a)に示すように彩度と輝度とを軸とする2次元平面で考えると、高輝度の部分でもっとも無彩色に近い画素があらわれる。逆に、露出アンダーの画像に対しては低輝度色抑圧がかかるため、図7(b)のように、低輝度の部分で彩度が低くなる。
【0076】実際の画像で色立体の輝度軸を輝度−彩度平面で考えると露出オーバーの画像に関しては例えば、図7(c)のようになる。逆にアンダーの画像に関しては例えば、図7(d)のようになる。そもそも本来あるべき(理想的な状態の)色立体から、なんらかの撮影状況や入力時(A/D変換時)の影響で実際の色立体がずれるのだと考えれば、T,T’の位置がもっともズレの小さい場所と考えられる。従って、本発明の一実施の形態はこれを戻してやることで簡易的に適切なグレー、つまり全体の明るさ補正を行うものである。
【0077】もちろんこのTを単に画像の露出オーバー・アンダーを簡易的に判定する手段として用い、あらかじめアンダー用のLUT(ルックアップテーブル)、オーバー用のLUTを用意し、点TあるいはT’の輝度成分に応じて輝度信号のガンマ調整を行ってもよい。例えば、図6の点(YT’,YT)を変曲点とするような曲線によってコントラストの調整を行ってもよい。従って、このT,T’の値によって簡易的に画像が露出オーバーなのか、アンダーなのか判定できる。すなわち、色立体軸においてもっとも彩度の低い点である点T’の輝度成分が高輝度よりにあれば、その画像の輝度−彩度の関係は図7(a)のような傾向を示すし、逆に点T’の輝度成分が低輝度よりにあれば、その画像の輝度−彩度の関係は図7(b)のような傾向を示す。したがって、高輝度色抑制及び低輝度色抑制された画像において、点T’の輝度成分が高輝度よりにあれば、その画像は露出オーバー傾向にあり、点T’の輝度成分が低輝度よりにあれば、その画像は露出アンダー傾向にあると考えられる。
【0078】一方、彩度調整は、色差C1,C2に彩度補正係数を乗ずることで簡単に行うことができる。例えば、彩度を20%あげる場合は、補正後の彩度は補正前の120%となることから、彩度補正係数を1.2として計算する。すなわち、C1”=1.2×C1’C2”=1.2×C2’として彩度補正を行うことができる。これは、(彩度)=sqrt(C1^2+C2^2)
で定義されることによる。
【0079】(RGB空間への逆変換)以上で本実施形態における各種補正が終了する。この時点で原画像の各画素は(R,G,B)の色信号データから(C1”,C2”,Y”)の色空間データに変換された状態にあるので、再度(R’,G’,B’)の色信号データに逆変換する。逆変換は以下の式により行う。
R’=Y”+C1”G’=Y”−(0.3/0.59)*C1”−(0.11/0.59)*C2”B’=Y”+C2”このようにして、原画像に対して、色かぶり,コントラスト、彩度が補正されたRGBデータを得ることができる。
【0080】以上のように、本実施形態によれば、少ない処理負荷で確実に色かぶり補正が可能となる。
【0081】また、本実施形態によれば、サンプリング条件を原画像の画像データサイズに応じて設定しているので、入力画像にかかわらずヒストグラム総度数と、白位置及び黒位置を決定するための累積度数との関係をほぼ一定にすることができる。したがって、良好な色かぶり補正を実現することができる。
【0082】さらに、補正対象画像の色立体軸と輝度軸との距離が最短となる点における輝度を維持するように画像全体を非線形にガンマ補正することで、もっとも原画像の値に近いと考えられる輝度を維持しつつ、コントラストを補正することができる。
【0083】さらに、画像が露出オーバーであるか露出アンダーであるかという露出状態を簡単に得ることができる。さらに、その露出状態に応じて異なるテーブルを選択し、ガンマ補正を施すこともできる。ただし、この露出を調べる手段は、画像データをヒストグラム解析して簡易的に行うもので、撮影条件データ106を元に露出の状態を調べる方法とは異なる。
【0084】なお、サンプリングをライン単位でなくカラム単位で行っても構わない。
【0085】[第2の処理方法]次に、上述した第1の処理方法に対して、補正度合いを考慮した第2の処理方法について説明する。
【0086】第1実施形態で説明したように、画像の色立体軸を求める際に、この軸の傾きがあまりにも大きい場合、これを無理に補正すると画像に不具合が生じる場合がある。これには例えば色フィルタなどをもちいて故意に色かぶりを起こしているような場合や、夕焼けのシーンを撮影した場合などが考えられる。
【0087】このような場合、求めたハイライトポイントとシャドーポイントが間違っていたと判断して補正を行わないか、または、回転角を適当に調整して補正度合いを弱めることで不具合をなくすことができる。このようなハイライトポイントとシャドーポイントが間違っていたという判定は、色立体軸の方向によって可能である。色立体軸の傾きから、どの色がかぶっているのか容易に判定できるので、特殊効果を得るために例えば色フィルタを用いて撮影された画像については色かぶりを補正しないというような判定もできる。
【0088】このような場合、原画像の色立体軸の方向ベクトルと、輝度軸とのなす角度に着目し、色かぶり補正を行うことで逆に不都合が生じると判定して処理を行わないか、または、処理の度合をゆるめる。例えば、色立体軸が赤の色相方向に向いており、その角度が所定の角度、例えば40度以上の場合には、その画像は夕焼け画像のような本来色かぶりした画像であると判断する。処理の度合をゆるめる場合には、色立体軸を所定角度、例えば20度だけ起こしたり、あるいは所定角度まで、例えばY軸に対する傾きが20度になるまで起こすことで色かぶりを補正する。この変換のための回転行列は、回転軸と回転角度とから容易に求めることができる。
【0089】なお上記補正の度合いはユーザーがマニュアルで指定してもいいし、あらかじめ角度の大きさ、該色立体軸の方向に応じて設定しておいてもよい。例えば40度の場合、該画像の色立体を20度だけ回転して起こすとしたが、その補正の度合いをユーザに指定させてもよい。以後の処理は第1の処理方法と同様である。
【0090】また、原画像の色立体軸の方向によって、どの色がかぶっているのか容易に判定できるので、特殊効果を得るために例えば色フィルタを用いて撮影された画像については、フィルタの色方向に関しては補正しないというような判定もできる。すなわちこのような場合には、色かぶりを補正しない色を指定させ、C1−C2平面上において、補正を行わない色の方向に沿って回転変換の回転軸を設定し、その回転軸と色立体軸lとを含む平面が、Y軸と平行になるまで色立体を回転変換する。こうすることで、特定の色成分についてだけ色かぶりを補正できる。
【0091】図10は、色立体軸が所定角度以上傾いている場合には、別途指定された角度まで色立体を回転させるように、画像を補正するための処理手順である。まず、ステップS101でハイライト/シャドーポイントを決定し、ステップS102で色立体軸の傾きが所定角度以上であるか判定する。もし所定角度に達していなければ、ステップS104,S105で、第1の処理方法と同様に、色立体軸が輝度軸と一致するように変換して色かぶりを補正する。
【0092】一方、色立体軸が所定角度以上傾いていれば、色立体軸を、輝度軸に向かって20度だけ回転させるような回転行列をステップS103で求め、ステップS105で、その回転行列を用いて色立体を回転させて色かぶりを補正する。この場合、ステップS103で用いた20度という角度は、操作者がアプリケーションのユーザインターフェイス(UI)情で指定してもよいし,アプリケーションがデフォルト値として有していてもよい。
【0093】なお、しきい値を2段階設け、第1のしきい値(例えば40度)より色立体軸の傾きが大きい場合には、色立体軸を完全なグレーラインにしない程度に色立体軸を起こす(例えば20度)ように回転変換し、第1のしきい値と第2のしきい値(例えば20度)との間の場合には、回転変換を行わず、第2のしきい値よりも傾きが小さい場合には、色立体軸を輝度軸と一致させるように回転変換を行うこともできる。このしきい値設定も操作者がユーザインターフェイス(UI)上で初期設定してもよいし、アプリケーションがデフォルト値として有していてもよい。このようにすることで、意図的に色かぶりが生じさせられた画像については、不都合な補正を行うことがない。
【0094】このように、画像データの画素により構成される色立体の軸の傾き、すなわち軸の方向と傾きの角度という2つの量から、補正するか否かのしきい値をすくなくとも2つ以上設定し画像を補正すべきか、すべきでない、補正度合いを調節すべきかの判定を行うことができ、非常に簡潔に特殊なケースの弊害だけをはじくことができる。
【0095】また、色立体軸の方向によって、どの色がかぶっているのか容易に判定できるので、かぶっている色方向に応じて色かぶりを補正しないようにすることもできる。
【0096】[第3の処理方法]前記第1〜第2の処理方法では、画像のハイライトポイント・シャドーポイントに基づいた色バランス補正について説明したが、この他の基準点に基づく補正の実施例について以下説明する。
【0097】まず、ハイライトポイントおよびシャドーポイントにおける平均色差量△Eを求める。
△E=sqrt((C1HL−C1SD)^2+(C2HL−C2SD)^2)
色立体軸が輝度軸と平行であればΔE=0となるはずであるが、傾いていれば、0より大きな値となる。つまり、E(彩度)−Y(輝度)平面で考えると図8のようになる。
【0098】次にハイライトとシャドーの間のサンプル輝度を数点用意する。そして、画像中で例えばこのサンプル輝度のうち所定の輝度Ynの画素から、△Enより小さい彩度の画素を用いて、平均色差量を求める。ΔEnとしては、予め設定した一定彩度を用いてもよいし、また、色立体軸の傾き方向に限定した平均色差量を求めてもよい。
【0099】これらの数点の輝度について平均色差で最小二乗法的に直線を求め、これを原画像の色立体軸として第1の処理方法に基づく処理を行う。
【0100】あるいは、求められた色差及び輝度を要素とする点をBシュプラインなどで近似曲線を求め、この曲線を輝度軸にする、すなわち色差を“0”とするように非線形の色バランス補正を行ってもよい。
【0101】以上本発明を好ましい実施例により説明したが、本発明は上述した実施例に限ることなく、クレームに示した範囲で種々の変形が可能である。
【0102】このようにすることで、輝度軸となるべき線を、ハイライト及びシャドーだけではなく、画像全体から一様にサンプリングした画素から得ることができる。得られた線を輝度軸に一致するように画像データを変換することで、画像全体の特性を反映した色かぶり補正を行うことができる。
【0103】ところで、ホワイトバランスがオートの場合、基準値からのズレ量によってカラーバランスの補正量を可変にしてもよい。例えば、ホワイトバランスがオートであるという情報の他に、ホワイトバランスが基準値からの青方向に大幅にずれているという情報を得た場合、カラーバランス補正は色差信号において青とは反対の黄色に傾きやすく閾値を設定してもよい。こうすることで、より精度の高い補正処理を施すことができる。
【0104】《濃度補正》次に、本実施形態の画像補正処理部113における濃度補正について説明する。これは画像条件データ106から露出に関する情報、またはストロボ発光ON/OFF情報を読み取り、最適な明るさ補正(印刷濃度補正)を行うものである。
【0105】(階調曲線判定)図11のステップS2では、図3S1で求めたヒストグラムに基づき補正条件設定処理(階調曲線判定処理)を行う。すなわち、予め用意されている複数の輝度補正用の階調曲線から、画像の解析結果に基づき階調曲線を選択する。
【0106】本実施形態の階調曲線判定は、3つのパラメータ(ハイライトポイント、シャドーポイントおよび、ある輝度領域の画素数)に基づき画像の明るさを判定し、これに基づいて階調曲線を選択する。
【0107】図12は、階調曲線判定処理の詳細を示すフローチャートである。これを参照して本実施形態の階調曲線判定処理を説明する。
【0108】■ハイライトポイント判定部図12ステップS21のハイライトポイント判定処理では、上記ヒストグラムから処理対象である画像におけるハイライトポイントを算出する。
【0109】本実施形態では、輝度信号Yのヒストグラムにおいて輝度範囲の最高輝度値(輝度値255)から、順に低輝度側に向かいながら各輝度値の度数を累積し、ここで求めた累積度数が、例えば、処理対象である画像データの全画素数の1.0%と一致した輝度値、または最初に全画素数の1.0%を越えた輝度値を求め、この点をハイライトポイント(以下、「HLP」という)とする。
【0110】次に、HLPを予め定られた複数の閾値Th_H1、Th_H2、・・・(Th_H1<Th_H2<・・・)と比較し、ヒストグラムの高輝度領域における分布を解析する。
【0111】例えば、本実施形態では、図13に示されるように、下から順番に200、230の値が設定されている2つの閾値を用いた場合を説明する。
【0112】そして、HLP<Th_H1のときは、画像を高輝度領域が少なくかつ暗い画像と判定し、Th_H1≦HLP<Th_H2のときは、画像を高輝度領域の分布もあるが全体的に暗い画像と判定し、Th_H2≦HLPのときは、画像を高輝度領域に分布の多い明るい画像と判定する。
【0113】例えば、図14に示す明るめの画像のヒストグラムでは、HLPが閾値Th_H2を越えて(HLP>Th_H2)おり、高輝度領域に多く分布がある画像と判定する。図14のヒストグラムは全体的に高輝度側に分布が偏っており、結果的にHLPも高輝度側に位置している。こういった分布を示す画像は一般的に明るい画像が多い。
【0114】図15に示すヒストグラムでは、HLPが閾値Th_H2よりも低くTh_H1より高く(Th_H1<HLP≦Th_H2)、高輝度領域にある程度分布があるが、明るくはない画像と見なすことができる。図15のヒストグラムは、輝度は大まかに中間的な分布を示し、HLPも図14より比較的低輝度側に位置することから、このように判断することができる。
【0115】図16に示すヒストグラムでは、HLPが閾値Th_H1よりも低く、高輝度領域に分布がない画像となる。この場合、ヒストグラムは低輝度側に偏り、全体的に暗い画像であることが分かる。また、HLPが低いということはすなわち、階調レベルが狭いことも意味する。こういった画像に対してはγ補正で明るくするか輝度値を高輝度側に引き延ばして明るくするといった補正が必要となる。
【0116】なお、HLPの算出は、必ずしも上述した方法によって求める必要はなく、従来知られている方式を適宜用いてもよい。
【0117】また、他の画像補正処理、例えば前述したいわゆる色かぶり補正、コントラスト補正、彩度補正と組み合わせて本実施形態の自動階調補正処理を行う場合には、この画像処理で予め用いたHLPを使用することもできる。なお、この場合、ハイライトポイントを用いる代わりに、上記色かぶり補正等で同様に用いられるシャドーポイントを用いて画像の明るさ(暗さを)判別することができ、これに基づいて以下の処理を行うことができることは、以下の説明からも自明なことである。
【0118】■ヒストグラムのバランス判定図12ステップS22において、図11のステップS1で求めたヒストグラムを用いてヒストグラムのバランス判定を行う。
【0119】ヒストグラムのバランス判定処理では、ステップS22で処理対象画像の全画素数に対する所定の領域の累積度数の割合であるSlowを求める。つまり例えば256階調の画像に対して、輝度値0から128まで(ヒストグラムの半分)の累積画素数の全画素数に占める割合を求め、その画像のヒストグラムの全体的なバランスを解析する。
【0120】まず、ある輝度領域(0〜128)の累積度数Sを求める。この累積度数Sは、ヒストグラムにおいて輝度範囲の最低輝度値(輝度値0)から高輝度側に向かって所定の輝度値までの累積度数として求められる。本実施形態では、最大輝度値(輝度値255)の1/2となる輝度値(輝度値128)までの累積度数を低輝度領域の累積度数Sとして求めたが、もちろん他の値を用いてもよい。
【0121】次に、累積度数Sが、全画素数に占める割合Slowを以下の式を用いて算出する。
【0122】Slow=(ある輝度領域の累積度数S)/(全画素数)(%)
なお、前述のヒストグラム集計の際に、画素を間引いて、間引きヒストグラムを作成した場合には、上記Slowの定義式での分母をヒストグラム作成の対象となった画素数にする。
【0123】次に、上記で求めたSlowを用いて再び閾値判定を行う。これは、ヒストグラムの下半分の全体に占める割合を算出することで、その画像の全体的な輝度のバランスを調べるものである。上述のハイライトポイント判定において、ヒストグラムの高輝度領域の分布状態に応じて画像を数種類に分類したが、図13に示すように、それぞれの場合に対応させて閾値を設け、ヒストグラムのバランス度合いを判定する。
【0124】例えば、図14に示す明るめの画像の場合、輝度値128までの全画素数に対する割合がSlowとなる。この例では、Slowは全画素数の20%である。従って、上記HLP判定で明るい画像と判断されるとともに、Slowは、16〜50の範囲と判定される。
【0125】一方、図16に示す暗めの画像の例では、輝度値128までの領域Slowは、全画素数の60%となり、したがって、上記HLP判定で暗い画像と判断されるとともに、Slowは50〜80の範囲と判定される。
【0126】ある輝度領域における累積度数の割合を用いず、ヒストグラムの中間値や平均値のみを用いてヒストグラムのバランスを判定する方法では、ヒストグラムの実際の分布状態が適切に反映されていない画像の明るさについての判定を行うこととなる。例えば、中間値や平均値自体は比較的高めの輝度値を示しつつも、実際には、中間値や平均値周辺の輝度値に度数分布のピークがあって低輝度領域の度数分布自体は少ない画像の場合、明るめの画像であると誤った判定をして濃度を高くする輝度補正が選択され、結果として画像上の比較的大きな部分を占める暗い部分が潰れてしまうことがある。
【0127】これに対し、本実施形態のように、ヒストグラムの下半分となる輝度値0〜128の領域における累積度数を求め、この累積度数の全画素数に占める割合Slowを用いることにより、より実際のヒストグラムのバランスが反映された画像の明るさの分布の判定を行うことができ、上述のような、暗めの画像についても適切な階調補正を行うことができる。
【0128】なお、上記実施形態では、Slowの範囲について輝度値0〜128の範囲を均等に区分したが、より詳しく低輝度領域の情報を求める場合は、低輝度領域をいくつかに分割してそれぞれに対して場合分けを行ってもよいし、また、Slowが0〜64までは2倍、65〜128までは1倍して足し合わせるといった重み付けをしてもよい。
【0129】このような場合わけによりヒストグラムのバランスを一層正確に判定できる。
【0130】■シャドーポイント判定ステップS23のシャドーポイント判定処理では、まず、上記ヒストグラムから処理対象である画像におけるシャドーポイントを算出する。
【0131】本実施形態では、ヒストグラムにおいて輝度範囲の最低輝度値(輝度値0)から、順に高輝度側に向かいながら各輝度値の度数を累積し、ここで求めた累積度数が、例えば、処理対象である画像データの全画素数の1.0%と一致した輝度値、または最初に全画素数の1.0%を越えた輝度値を求め、この点をシャドーポイント(以下、「SDP」ともいう)とする。
【0132】次に、SDPを輝度値について予め定めた複数の閾値Th_S1、Th_S2、・・・(Th_S1<Th_S2<・・・)と比較し、ヒストグラムの低輝度領域における分布を解析する。
【0133】なお、本実施形態で用いるシャドーポイント判定はハイライトポイント判定やヒストグラムのバランス判定を行った後に行っているので、図13に示されるように、シャドーポイントの閾値はハイライトポイントやヒストグラムのバランス判定の結果に応じて異なる値を設定する。
【0134】そして、SDP≧Th_S2のときは、画像は低輝度領域が少なくかつ明るい画像と判定し、Th_S1≦SDP<Th_S2のときは、画像は低輝度領域の分布もあるが全体的に明るい画像と判定し、SDP<Th_S1のときは、画像は低輝度領域に分布の多い暗い画像と判定する。
【0135】例えば、図14に示す明るめの画像のヒストグラムでは、SDPが閾値Th_S2を越えて(SDP>Th_S2)おり、従って、低輝度領域に分布がない画像と判定される。この場合、前述したようにヒストグラムは全体的に高輝度側に分布が偏っており、結果的にSDPも比較的高輝度側に位置している。また、SDPが高いということはすなわち、階調レベルが狭いことも意味する。こういった画像に対してはγ補正で暗くするか輝度値を低輝度側に引き延ばして暗くするといった補正が必要となる。
【0136】一方、図15に示すヒストグラムでは、SDPが閾値Th_S2よりも低くTh_S1より高く(Th_S1<SDP≦Th_S2)、低輝度領域にある程度分布はあるが暗くはない画像と判定される。この場合、輝度は中間的な分布となり、SDPも比較的低輝度側に位置することから、このような判定が行われる。
【0137】次に図16に示すヒストグラムでは、SDPが閾値Th_S1よりも低く、低輝度領域に多く分布がある画像となる。この場合、ヒストグラムは低輝度側に偏り、全体的に暗い画像であることが分かる。
【0138】■補正階調曲線決定以上のヒストグラムにおける高輝度領域の分布の詳細(ハイライトポイント)、ヒストグラムのバランス度Slow、低輝度領域の分布の詳細(シャドーポイント)の3つのパラメータにより、処理対象画像は、図13に示されるように、その種類に応じて複数に分類されることになる。そして、次のステップS24では、図13に示すテーブルを用いて補正階調曲線を決定する。
【0139】本実施形態の階調曲線は、図13に示す補正テーブルから明らかなように、3つのパラメータに応じてその画像種を総合的に判断し、例えばハイライトポイントが比較的低ければ、高輝度領域をカットしてヒストグラムを高輝度側へ引き延ばすような処理を盛り込んだ階調曲線を選択する。また、ヒストグラムのバランスを整えたい画像に対してはγ補正を行う階調曲線を選択する。ヒストグラムのバランス度Slowが低輝度領域に偏っていれば、γ値を変換するなどして画像全体を明るくする処理を盛り込んだ階調曲線を選択する。さらにシャドーポイントが比較的高ければ、低輝度領域をカットしてヒストグラムを低輝度側へ引き延ばすような処理を盛り込んだ階調曲線を選択する。上記複数に分類された画像に関する階調曲線の決定は、図13に示す判定表を用いる。
【0140】例えば上記HLPが245と高く、Slowが20%で、SDPが60と比較的高い画像の場合、低輝度領域20以下をカットする階調曲線を選択する。
【0141】図14に示す明るめの画像の場合、HLPは閾値Th_H2より大きく且つSlowは20%であり、SDPは閾値Th_S2より大きいので、図13に示すテーブルより、この画像は明るい画像と判定され、γ値は1.1に設定される。このγ値決定により、比較的高い輝度領域まで暗くする(印刷濃度を高くする)補正がなされ、全体的に最適な濃度の印刷画像となる。また、低輝度領域の画素に割合が少ないことから、画像の潰れる部分が少なくて済む。
【0142】次に、図15に示すヒストグラムのバランスが中間的な画像では、HLPがTh_H1より大きくTh_H2より小さい。且つSlowが40%であり、SDPがTh_S1より大きくTh_S2より小さいため、図13に示すテーブルによって、補正階調曲線をS字のものにすることでコントラストを強調することができる。こうして、印刷される画像全体にメリハリがつき、見栄えのする印刷画像となる。
【0143】一方、図16に示す暗い画像では、HLPがTh_H1より小さく且つSlowが60%であり、SDPはTh_S1より小さいため、図13に示すテーブルによって、高輝度領域において200以上をカットする直線を選択する。これにより、印刷される画像全体が明るくなり、特に画像のヒストグラムが高輝度側に拡張され、コントラストのある濃度のバランスがとれた印刷画像となる。
【0144】なお、上記の説明では、■ハイライトポイント判定において、画像の高輝度領域の明るさの判定を3段階で行ったが、より最適な階調曲線を求めるために、さらに分岐数を増やし、4段階以上に場合分けしてより詳細な判定を行ってもよい。また、■ヒストグラムのバランス判定や■シャドーポイント判定においてもより詳細な判定を行うため、分岐数の数を増やしてもよい。
【0145】(LUT作成)以上説明した階調曲線判定処理(図11のステップS2)を終了すると、図11に示すステップS3でLUT作成を行う。階調曲線判定処理で得られた階調曲線を作成するパラメータに基づいて輝度補正のためのルックアップテーブル(LUT)を作成する。
【0146】本実施形態のLUTは、上述のようにして得られた階調曲線を指数関数と5次関数して記録しておく。つまり単純にγ補正だけする場合は指数関数(図17)を用い、高輝度または低輝度領域をカットする直線およびより複雑な曲線で補正する場合は5次曲線(図18)を用いる。
【0147】すなわち、LUT L[Y]は、γ補正のみを行う指数関数の場合、入力輝度信号をY、出力輝度信号をY‘とすると、Y’=255×[(Y/255)1/γ]なる式によって表される変換を行い、判定結果によりγ値が与えられる。
【0148】一方、5次曲線の場合、Y’=A+B×Y+C×Y^2+D×Y^3+E×Y^4+F×Y^5なる式によって表される変換を行い、係数となるA、B、C、D、E、Fを与えることにより5次曲線が完成する。また、それらは動的に作成されるものである。すなわち、対象画像の処理ごとに作成される。このように補正テーブルを動的に作成することにより、必要となるメモリ量を削減することができる。
【0149】なお、上記LUTは、動的に作成する代わりに上記階調曲線毎に、予めメモリ上に静的に用意してもよいことは勿論である。
【0150】(補正)次に、図11に示すステップS4において、輝度信号Yの補正を行う。すなわち、作成したLUT L[Y]によって、入力画像の輝度値YをY’=L[Y]として変換し、輝度補正を行う。
【0151】さらに、輝度補正された輝度信号Y’および入力画像の色差信号Cr、CbをR、G、Bの各信号に戻し、補正された画像信号R’G’B’を作成する。
【0152】本実施形態よれば、ヒストグラムにおいて、画像データの明るさに関する成分値の範囲においてその最大値または最小値からの累積度数が所定の値を示す成分値が求められるので、画像の全体的な明るさを知ることができ、また、最小値または最大値から所定の成分値までの累積度数のヒストグラムの全画素数に占める割合が求められるので、画像の明るさの分布を知ることができる。そして、これらの成分値および割合に基づいて明るさの分布が判別され、その判別に基づいて補正の階調曲線が定められるので、画像の全体的な明るさ毎にその明るさの分布と補正階調曲線との対応を異ならせることができる。
【0153】つまり、ハイライトポイント、ヒストグラムのバランス度、シャドーポイントの3つのパラメータを用いて最終的に複数の補正階調曲線の中から、その画像に最適な補正階調曲線を一つ選択することができる。
【0154】これにより、例えば、全体的に暗い画像では、より明るくする(印刷画像においてより濃度を低くする)補正に対応する明るさの分布で、暗い範囲を示す分布を小さなものとでき、これにより、印刷画像における明るさのバランスをより好ましいものにできる。一方、全体的に明るい画像ではより暗くすることで、印刷画像においてより濃度を高くでき、これにより、印刷デバイスが本来的に比較的低い濃度しか実現できないという濃度出力特性を補って全体的に高い濃度の印刷を行うことができる。また、元々ダイナミックレンジが狭い画像では、その幅を広げることにより、コントラストがついた、メリハリがあり見栄えのする画像の印刷を行うことができる。
【0155】なお、本実施形態では図12の順で判定を行ったが、順番が変わってもよい。
【0156】また、HLP、SDPの算出は、必ずしも上述した方法によって求める必要はなく、従来知られている方式を適宜用いてもよい。
【0157】ところで前述したように、高輝度領域における明るさの分布を調べるためにハイライトポイントを用い、低輝度領域における明るさの分布を調べるためにシャドーポイントを用いた。しかし例えばハイライトポイントの変わりになる別のパラメータで高輝度領域の明るさの分布の詳細が分かればそれを用いてもよい。つまりヒストグラムの最大値からある輝度値(例えば輝度値220)までの累積度数の全画素数に占める割合を求め、その値から高輝度領域の明るさの分布判定を行ってもよい。その場合、ハイライトポイントと同様、該パラメータに対して複数の閾値を設け、場合分け判定を行う。もちろん低輝度領域においてもシャドーポイントの代わりに、ヒストグラムの最小値からある輝度値(例えば輝度値30)までの累積度数の全画素数に占める割合を求め、同様の判定を行えばよい。
【0158】また、上述の実施形態では、輝度値Yに関する補正について説明したが、R、G、Bの各信号に対して直接同様の補正を行っても良い。この際、上述のLUTを用い、そのLUTにおいてYの代わりにR、G、B、Y′の代わりにR′、G′、B′を用いて補正を行うことができる。R、G、B信号に対する補正は、RGB―YCrCb変換が不要であるため、処理速度の向上を図ることができる。
【0159】なお、露出設定がオートの場合、自動的に上述の処理を加えるが、例えば露出がオートであってさらに基準値からの変更量がわかれば、それに応じて上述の処理内容を設定変更してもよい。
【0160】つまりは、図13に示したHLP、S128、SDPの閾値の設定は、撮影条件データ106の露出の値を用い、例えば露出が基準値より小さい場合、図13の閾値を変更して全体的に明るい補正がなされやすいようにすると、暗く撮影された画像を適度な明るさに補正することができる。また一方で、露出の値が大きい場合、露出オーバーになる可能性があるので、全体的に明るさを下げるように図13の閾値をそれに合わせて設定変更すればよい。
【0161】<デジタルズームON/OFF情報>ところで、近年のデジタルスチルカメラは光学的に被写体をズームイン/アウトするほかに、デジタル処理を加えることにより、画像の拡大処理を行うことができる。デジタルズームは画像サイズを単純に有理数倍するものが多く、輪郭部分が見た目にガタガタになりやすくなる(ジャギー)。また拡大方法にはニアレストネイバー法、バイリニア法、バイキュービック法といった手法が一般に用いられている。
【0162】撮影条件データ106にデジタルズームの倍率や拡大処理法などが書き込まれた場合、それらを元に画像に対して輪郭を滑らかに処理するスムージング処理を行ってもよい。例えば特開平11−331565で発案されたように低解像度の画像に拡大処理を行い、高解像度に仕上げる方法が知られている。一方、そのようなスムージング処理の係数(処理度合い)はデジタルズームの倍率や拡大処理方法によって可変に行うのが望ましい。つまりデジタルズームの倍率が低いほど、スムージングの度合いを弱めたり、拡大処理の雑なニアレストネイバー法では逆にスムージングの度合いを強めてもいい。この一連の処理を図19に示す。
【0163】<ストロボ発光ON/OFF情報>また、撮影条件データ106よりストロボが発光したという情報を得た場合、上記と同様に濃度補正処理の内容を変更してもよい。例えば図13に示したテーブルの他に、ストロボ発光用のテーブルをもう一つ設け、ストロボがOFFの場合は従来の図13のテーブルを用いるが、ストロボがONの場合には新しい別のテーブルを用いることで、より精度の高い画像補正が可能になる。
【0164】ストロボ撮影の場合は、主に夜景撮影や暗室撮影などといったように、画像全体が暗く撮影されがちである。この場合、明るく補正されやすいようにテーブルの閾値を変更する必要がある。また、ストロボに反射された被写体は青白く写る傾向がある。この場合、被写体を色味的に黄色く明るさを押さえる補正を加えるとよい。一方で、被写体の背景はストロボの光が届かず、暗く階調がつぶれた画像になりがちである。つまり、階調の低い部分は輝度を上げて階調を出す処理が必要になる。
【0165】こうした処理を加えることで、撮影時にストロボ発光された画像に関して最適な処理を行うことができる。
【0166】<撮影シーン情報>被写体によって撮影モード(風景モード、人物モード、マクロ撮影モードなどが挙げられる)を切り替えたときに、撮影条件データ106に撮影シーン情報が付加される場合を考える。その場合、その情報を元により最適な記憶色再現補正を行うことができる。例えば風景モードの場合、空や草木が主な被写体になりうる。そこで図3S2の画像補正処理部で、青や緑の彩度を上げ、コントラストを高める処理を行ってもよい。また、シャープネスフィルタを施すことによって、風景画像をより見栄えのする画像に仕上げることができる。彩度を上げる場合、各色相毎に彩度拡張係数を求め、元の彩度値にこの係数を掛け合わせることで、彩度補正を行うと少ないメモリ量で効果を上げることができる。
【0167】一方で、人物モード撮影の場合、図3S2の画像補正処理部で肌色領域の彩度、輝度をより好ましい色に補正する処理を追加してもよい。また、ぼかしフィルタを用いて画像全体をぼかすのも、人物画像をよりきれいに見せるための方法の一つでもあり、撮影条件データを用いることで自動処理が可能となる。
【0168】上述した実施の形態では、ホワイトバランス、露出、ストロボ、撮影シーン及びデジタルズームなどの撮影条件データを読みとった場合の補正方法を説明してきた。しかしながら、複数の画像補正処理を行うと同様の処理が重複してしまったり、先の補正で強調した部分を次の補正では弱めてしまったりする場合がある。
【0169】例えば上述したカラーバランス補正と濃度補正では、両方にハイライトポイントとシャドーポイントを用いたコントラスト強調処理が含まれている。このような場合、1度で十分なコントラスト処理を2度かけてしまうことになり、ユーザの意図に反する画像に仕上がってしまう。
【0170】また、デジタルズーム情報より画像にスムージングをかけても、撮影シーン情報が風景モードの場合、その後にシャープネスフィルタをかけてしまうと、先のスムージング処理の効果を打ち消してしまう。
【0171】こういった複数の処理を一つの画像にかけることによる弊害を防ぐため、処理に規制をかける必要がある。本実施例では、各画像補正処理の順番に優先順位をつける。
【0172】まずはじめに図20に示すように、カラーバランス情報、露出情報、ストロボ情報、撮影シーン情報、デジタルズーム情報のそれぞれに対し、どの判定がなされたかをメモリ部に格納する。
【0173】次に図20S1で、デジタルズーム情報によりスムージング処理を行う。低解像度の画像を高解像度にするこの処理は、画像全体の色味や明るさに影響を及ぼさないと考えられるので、最初に行うのが望ましい。
【0174】次に図20S2で、露出情報より判定された明るさ補正の度合いから、コントラストが強調される判定がなされた場合、最初に補正処理を行うカラーバランス補正のうちのコントラスト補正は行わない(ONへ)。一方、明るさ補正で単なるガンマ補正のみ行うと判定された場合(コントラスト強調は行われない場合)、コントラスト補正を含むカラーバランス補正を行う。こうすることで、コントラスト補正が明るさ補正とカラーバランス補正の両方で2重にかかるのを防ぐことができる。
【0175】次に図20S3で明るさ補正を行うが、ストロボ情報がONかOFFかを参照し、ONならば明るさ補正のテーブルはストロボ用のテーブルを参照し、OFFなら図13に示す従来のテーブルを参照する。こうすることで、露出、ストロボ情報から得られた最適な明るさ補正を画像に施すことができる。
【0176】最後に図20S4で、撮影シーン情報を元に記憶色再現補正を行う。ここではカラーバランス補正において彩度調整を行った場合、彩度拡張係数をそれに合わせて小さく設定してもよい。また、デジタルズーム補正でスムージングの度合いが大きい場合、人物モードでぼかしをかける度合いも小さく設定するべきである。
【0177】こうして複数の画像補正処理を行う場合、それぞれの処理を行う順番に優先順位をつけ、また諸条件において処理に重み付けをし、ある補正処理を行うと別の処理は行わないといった制約事項を設けることで、最終的に無理、無駄のない画像補正ができる。
【0178】(マニュアルモード通知機能)撮影情報データがマニュアル撮影を示す画像に対する画像補正処理部113の処理内容について述べる。まず撮影条件データ106にある、ホワイトバランス、露出、ストロボ発光ON/OFFに関する情報を読みとり、それらが自動撮影(オートモード)ならばそれぞれの画像補正を行う。しかしながらユーザの手動設定撮影(マニュアル撮影)の場合、上述したように自動的に画像補正処理をかけてしまうと、ユーザの意図に反した画像に仕上がってしまう。そこで各情報がマニュアル撮影の場合、自動補正処理をかけるべきか、補正をかけないべきかユーザに知らせる必要がある。
【0179】近年のデジタルスチルカメラには、ホワイトバランスはオートまたはマニュアルモード(晴天、曇天、タングステンランプ、蛍光灯など)といったように複数用意されている。ユーザはオート以外の設定を選ぶときには、上記の中から撮影状況にあったモードを選ぶ必要がある。つまりユーザの意図が撮影画像に反映されるわけで、これをモニタやプリンタに画像出力の際、画像補正処理を自動に行ったのでは撮影者の意図にそぐわない場合もある。そこで撮影設定がマニュアルの場合、画像補正処理を自動に行うのではなく、処理を行うべきかユーザに確認をとる必要がある。
【0180】露出に関しても同様で、オート以外にマニュアルの場合、ユーザが自身で露出の度合いを設定できる。この状況でもホワイトバランスと同様で、ユーザの意図に反しないために画像補正を行う際には確認が必要である。
【0181】そこでホワイトバランス、露出が撮影条件データ106内でマニュアル設定されている情報を得た場合、パソコンのモニタ上に自動画像補正を行ってもよいかどうか表示させ、行ってもよい場合は従来通りの処理を施す。また、行ってはいけないとユーザが指定したときにはその画像補正処理に関しては行わない。ユーザに通知する方法はパソコンのモニタ上に表示するに限らず、例えばプリンタ本体に警告ランプを点灯させる方法でも良い。
【0182】ところで上記に関連して、以下のようなケースも考える必要がある。
【0183】ユーザが意図的にマニュアルモードで撮影しても、ホワイトバランスや露出の設定ミスが起こる場合がある。例えば日中の屋外での撮影で、露出を暗めに設定したが適正露出値ではなく、露出オーバーの画像になってしまった場合や、ストロボをマニュアルで強制OFFに設定したが、撮影された画像が光量不足で暗くなってしまった場合などが考えられる。
【0184】また一方で、ユーザがオートモードと間違ってマニュアルモードで撮影してしまったために、失敗画像になってしまうこともある。例えば、ホワイトバランスが以前に曇天下で撮影したときの設定になったままで、間違って蛍光灯下の室内でそのまま撮影を行った場合などである。
【0185】先に述べたように、ユーザがマニュアルモードで撮影した場合、自動画像補整処理を行うとユーザの意図に反した画像に補整されてしまう可能性があった。しかしこのように、マニュアルモードで撮影された画像が失敗画像になってしまった場合、通常では自動画像補整処理はかからないことになる。つまりこのような状況でもまた、自動画像補整処理を行うか否かをユーザに確認を取る必要がある。
【0186】つまりマニュアルモードで撮影された画像が、ユーザの意図を反映した画像の場合、自動画像補正処理は行わないよう選択し、ユーザの意図とは反する画像の場合、自動画像補正処理を行う選択をすればよい。そのためにはマニュアルモードで撮影された画像をモニタやプリンタで出力する際、ユーザに自動画像補整処理を行うか否かを確認を取らなければならない。
【0187】さらに最近では、ディジタルスチルカメラで撮影された画像データを、写真ラボでオペレータ(撮影者以外の人)が画像補整処理を加えてプリントするサービスがある。この場合、オペレータが手動で画像補整処理を行った場合、撮影者の意図が反映されなくなる。つまりオペレータにどの画像がマニュアルモードで撮影されたかを警告する必要がある。
【0188】以上、これらの場合において、マニュアルモードで撮影された画像をモニタやプリンタで出力する際には、その画像がマニュアルモードで撮影された画像であることを通知し、ユーザに自動画像補整処理を行うか否かを確認する必要がある。また、撮影者以外の人が画像補整処理を行う場合、マニュアルモードで撮影された画像であることを警告する必要がある。
【0189】上述したフローチャートを図19に示す。S1はカラーバランス補正を、S2は明るさ補正を表す。
【0190】《オートブラケット機能ON/OFF》ここでオートブラケット機能について説明する。カメラによってはオートブラケット機能が付いているものもある。これはシャッターを切ることで、露出基準値で撮影したほかに自動的に露出をプラス側とマイナス側へシフトさせてそれぞれ撮影するものである。つまり一度のシャッターで3段階の露出を変えた撮影ができる。もちろんこの機能がONの場合、ユーザは意図的に明るさを変えて撮影したのであり、ユーザに自動画像補正処理の必要か否かを確認しなければならない。これを図19のS2に示す。
【0191】ここから、具体的な表示方法、ユーザインターフェイス(UI)の例を図を用いて説明する。
【0192】まずはじめに、マニュアルモードで撮影された画像をアプリケーションソフトで開くときに、図22−S1で示すようにUI画面上で自動画像補整処理をONにするかOFFにするかをユーザに選択させる。すなわちユーザがONを選択すれば自動画像補整処理を行い、OFFを選択すれば処理は行わないようにする。また、UI画面の表示はアプリケーションソフトで画像を開くときに限らず、プリントを設定するときに表示してもよい。
【0193】次に、上記選択でONが設定された場合、図22−S2に示すようにモニタ上でプレビュー表示を行う。例えば、補正していない元画像と自動画像補整処理後の画像を並べて、ユーザが処理の確認を取れるように表示する。こうすることにより、処理後の画像がユーザの意図に反する場合は、自動画像補整処理を改めてOFFに設定できるようになる。
【0194】また、例えばホワイトバランス、露出の両方をマニュアルモードで撮影した画像をプレビューする場合、複数のプレビュー表示をしてもよい。つまり、ホワイトバランスのみ自動画像補整処理を行い、露出は元の明るさのままにする、またはホワイトバランスは元の色のままで露出のみ自動画像補整処理を行うなど、複数種類の画像をプレビュー表示し、UI画面を見ながらユーザの意図に合った画像を一つ選択できるようにする。こうすることで、ホワイトバランス、露出の片方を撮影ミスした画像でもより詳細な設定にて補正することができる。
【0195】ところで、複数のディジタルカメラ画像をアプリケーションソフトで開くときに、サムネイル表示をする方法がある。この場合、マニュアルモードで撮影された画像がどれかが即座に判別できるよう、図23−S2のように目印を記す。こうすることで、ユーザは複数の画像を一度に表示する際やプリントする際などに、どの画像がオートモードで撮影されて自動画像補整処理され、どの画像がマニュアルモードで撮影されて処理が行われないかが、一目で識別できるようになる。また、写真ラボのオペレータなど、撮影者以外の人が複数の画像を順番に画像補整処理を行う際にも、どの画像がマニュアルモードで撮影され、どの画像を補整すべきかがすぐに識別できるようになる。
【0196】ところで、オートモード、マニュアルモードでの撮影に関係なく全ての画像に自動画像補整処理を行いたい場合などもある。その場合は、「マニュアルモード強制OFF」ができる機能を設けるとよい。例えば、図23−S1に示すようなチェックボックスをアプリケーションソフトに設け、ON/OFFのチェックができるようにする。つまりチェックを行った場合(マニュアルモード強制OFF)、マニュアルモードで撮影されたという情報が無視され、全ての画像に対して自動画像補整処理を行えるようにする。
【0197】上記具体例に説明したように、ディジタルカメラ画像をアプリケーションソフトで処理する際に、それがマニュアルモードで撮影された画像である場合、自動画像補整処理するか否かをユーザに確認させ、画像をプレビュー表示させることで、補正前と補整後の画像を比べることができる。
【0198】また、サムネイル表示において、マニュアルモードで撮影された画像に目印を付けることで、どの画像がマニュアルモードで撮影されたかを即座に判定できるようになる。
【0199】さらにマニュアルモード強制OFF機能を加えれば、マニュアルモードで撮影されたか否かに関係なく全画像を一括に自動画像補整処理が行えるようになる。
【0200】カラーバランス補正、明るさ補正のそれぞれを独立とし、撮影条件データ106からユーザ通知を行う。つまり露出はオートだがホワイトバランスはマニュアル設定の場合、明るさ補正は自動で行うがカラーバランス補正はパソコンを介してユーザに補正が必要か否か、指定を促す通知を行う。こうしてそれぞれの補正においてユーザが撮影時の設定を無理に損なわせないよう、ユーザの意図を反映させつつ自動画像補正処理を行うことで、より精度の高い修正が可能となる。
【0201】<その他の実施例>尚、上述の実施例では、撮影条件情報を画面表示するようにしたが、これに限られることはなく、例えば、所定ランプの点灯/消灯等により、撮影条件情報が正しく認識利用されていることを示すようにしてもよい。
【0202】また、本発明は、上述した第1及び第2の処理方法に限定されるものではなく、本発明の要旨を逸脱しない範囲で種種変形実施可能なものとなる。
【0203】また、画像の入力手段(取得手段)として、ディジタルスチルカメラを一例として用いるように構成したが、これに限られたものではなく、例えば、ディジタルビデオカメラや、イメージスキャナ、或いはフィルムスキャナ等の入力機器を適用可能である。
【0204】また、第1及び第2の処理方法のホスト及び端末の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読みだして実行することによっても、第1、第2の処理方法を達成されることは言うまでもない。
【0205】この場合、記憶媒体から読み出されたプログラムコード自体が第1及び第2の処理方法の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体及び当該プログラムコードは本発明を構成することとなる。
【0206】プログラムコードを供給するための記憶媒体としては、ROM、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード等を用いることができる。
【0207】また、コンピュータが読みだしたプログラムコードを実行することにより、第1及び第2の発明の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS等が実際の処理の一部又は全部を行い、その処理によって第1及び第2の発明の機能が実現される場合も含まれることは言うまでもない。
【0208】さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって第1及び第2の処理方法の機能が実現される場合も含まれることは言うまでもない。
【0209】図21は、上記コンピュータの機能600を示したものである。
【0210】コンピュータ機能600は、上記図21に示すように、CPU601と、ROM602と、RAM603と、キーボード(KB)609のキーボードコントローラ(KBC)605と、表示部としてのCRTディスプレイ(CRT)610のCRTコントローラ(CRTC)606と、ハードディスク(HD)611及びフレキシブルディスク(FD)612のディスクコントローラ(DKC)607と、ネットワーク620との接続のためのネットワークインターフェースコントローラ(NIC)608とが、システムバス604を介して互いに通信可能に接続された構成としている。
【0211】CPU601は、ROM602或いはHD611に記憶されたソフトウェア、或いはFD612より供給されるソフトウェアを実行することで、システムバス604に接続された各構成部を総括的に制御する。
【0212】すなわち、CPU601は、所定の処理シーケンスに従った処理プログラムを、ROM602、或いはHD611、或いはFD612から読み出して実行することで、本実施の形態での動作を実現するための制御を行う。
【0213】RAM603は、CPU601の主メモリ或いはワークエリア等として機能する。
【0214】KBC605は、KB609や図示していないポインティングデバイス等からの指示入力を制御する。
【0215】CRTC606は、CRT610の表示を制御する。
【0216】DKC607は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラム、及び本実施の形態における所定の処理プログラム等を記憶するHD611及びFD612とのアクセスを制御する。
【0217】NIC608は、ネットワーク620上の装置或いはシステムと双方向にデータをやりとりする。
【0218】
【発明の効果】以上説明したように本発明では、処理対象の画像情報(ディジタルスチルカメラにより撮影して得られた画像情報等)に対して付加された条件情報(撮影条件情報等)を解析した結果に基づいて、当該画像情報に対して画像処理(画像補正処理等)を施すように構成した。これにより、画像取得時の状況に応じた画像処理を行うことができ、ユーザが意図する良好な処理後画像を提供することができる。また、条件情報がマニュアル設定の場合、自動的に画像補正を行うのではなく、ユーザに補正処理が必要か否かを通知し、必要と指定された場合に限ってその補正を行う。こうすることでユーザが撮影時に設定した状況を損なうことなく、ユーザの意図を反映することができる。
【0219】尚、具体的には例えば、ディジタルスチルカメラにおいては、条件情報としてホワイトバランス情報を元にカラーバランス補正を行い、露出情報、オートブラケット情報を元に明るさ補正を行う。
【図面の簡単な説明】
【図1】第1の実施の形態において、本発明を適用した画像印刷システムの構成を示すブロック図である。
【図2】RGB画像信号をYCC信号に変換し、画像処理を行い、再びRGB信号に変換する図である。
【図3】画像補正処理部の処理手順のフローチャートである。
【図4】輝度ヒストグラム作成手順のフローチャートである。
【図5】実施例における色バランス補正の原理を説明するための色立体図で(a)は理想的な色立体図、(b)は該画像の色バランス補正前の色立体図である。
【図6】非線形ガンマ変換関数を示すグラフである。
【図7】輝度−彩度平面でみた露出オーバー・アンダーの特徴を示す図で、(a)は露出オーバーの概念図、(b)は露出アンダーの概念図、(c)は露出オーバーの一例、(d)は露出アンダーの一例である。
【図8】第3の実施の形態における色立体軸を決める様子を示す図である。
【図9】画像補正の制御手順のフローチャートである。
【図10】第2の実施形態における色かぶり補正の制御手順のフローチャートである。
【図11】上記自動階調補正処理の手順を示すフローチャートである。
【図12】図11に示す上記自動階調補正処理における階調曲線判定の処理手順を示すフローチャートである。
【図13】上記階調曲線判定処理で用いるテーブルの内容を示し、画像の種類に応じた階調曲線の定め方を説明する図である。
【図14】上記自動階調補正処理の処理対象である画像が明るい画像である場合のヒストグラムを示す図である。
【図15】上記自動階調補正処理の処理対象である画像の明るさが中間的な画像である場合のヒストグラムを示す図である。
【図16】上記自動階調補正処理の処理対象である画像が暗い画像である場合のヒストグラムを示す図である。
【図17】γ値に応じた輝度補正テーブルの変換特性曲線(指数関数)を示す図である。
【図18】単なるγ補正以外の、輝度補正テーブルの変換特性曲線(5次曲線)を示す図である。
【図19】デジタルズーム情報を元にスムージング処理を行うフローチャートである。
【図20】撮影条件データより、複数の画像補正処理を行う制約を示したフローチャートである。
【図21】コンピュータの機能を示した図である。
【図22】自動補正確認ユーザインターフェイスと画像のプレビュー表示を示す図である。
【図23】チェックボックスと画像のサムネイル表示を示す図である。
【0001】
【発明の属する技術分野】本発明は、例えば、ディジタルスチルカメラ等により撮影して取得したディジタル画像データをプリンタで印刷出力するための画像補正処理を実行する装置或いはシステムに用いられる、画像処理装置、画像処理システム、画像処理方法、それを実施するためのプログラムを記憶したコンピュータ読出可能な記憶媒体、及び当該プログラムに関するものである。
【0002】
【従来の技術】近年では、例えば、ディジタルスチルカメラの普及により、写真画像のディジタル化が手軽になり、特に、パーソナルコンピュータ(以下、単に「パソコン」と言う)上において、写真調の画像をディジタル画像データとして扱う機会が増えてきた。さらに、パソコン上で各種のアプリケーションソフトウェアを使用することで、写真調の画像であるディジタル画像データに対して加工や編集処理を容易に行えるようになっている。
【0003】一方、フルカラーハードコピー技術に関しても急速に発展しており、特に、インクジェット方式による印刷技術では、インクドットによる粒状感を低減させる技術の向上により、その印刷出力結果の画質が銀塩写真での画質と同等のものとなりつつあり、また、比較的簡易な印刷技術であることにより、広く普及している。
【0004】上述のような技術背景から、ディジタルスチルカメラで撮影して取得したディジタル画像データを手軽に印刷出力できることが求められている。また、印刷出力時の画像補正処理に関して、複雑な機能を使用した手動での画像補正処理ではなく、パソコン上でアプリケーションソフトウェアを使用することで、常に良好な画像補正後の画像が得られる自動画像補正処理の必要性が高まっている。
【0005】そこで、良好な印刷出力結果を得るために、印刷出力を行う際に画像補正処理等の画像処理を施して出力する方法としては、例えば、撮影画像のシーンを解析し、その解析結果に基づいて自動的に画像補正を行う方法等、様々な方法が提案されている。
【0006】また、例えば、撮影画像を印刷出力した際に、明るすぎたり(薄すぎたり)、或いは暗すぎたり(濃すぎたり)することを防ぐための画像補正である所謂「濃度補正」に関する方法が提案されている。また、撮影画像における色かぶりや露出不良(明るさやコントラスト不良)、或いは彩度不良等の好ましくない画像及び色かぶり等によりカラーバランスが崩れている画像を補正する所謂「画像補正」の方法も提案されている。
【0007】「濃度補正」及び「画像補正」の何れの画像処理方法においても、自動画像補正のための構成として、処理対象となる画像(原画像)における輝度信号の輝度値毎に、対象輝度値の画素数を累積したヒストグラムを用いることで原画像を解析し、当該解析結果に基づいて、原画像の補正を行う構成が用いられている。
【0008】また、ディジタルスチルカメラ側の機能としては、撮影して取得した画像をディジタル画像データとして、メモリカード等の記憶媒体に記録するだけでなく、撮影時の撮影条件を表す付加情報をも、当該記録媒体にディジタル画像データと共に記録することが可能となっている。
【0009】ディジタルスチルカメラにより撮影して得られた処理対象となる画像(対象画像)の画像解析を行うことで対象画像のシーンの解析を行い、当該解析結果に基づき対象画像の自動画像補正を行う場合、基本的には、全ての対象画像に対して、理論的に最適と考えられる画像(標準的な画像)が印刷出力されるような自動画像補正を行うことになる。
【0010】ところで、上述したような色補正、明るさ補正は画像のヒストグラムを用いて、統計的に画像処理をしているものが多く、画像データのみの解析だけでは必ずしも全ての画像において最適に補正され難い。色補正にはホワイトバランス情報が、明るさ補正には露出情報を用いた方がより細密な判定を行うことができる。
【0011】
【特許文献1】特開2000−13624公報
【0012】
【発明が解決しようとする課題】また、上述の自動画像補正は、ユーザが、パソコン上でアプリケーションソフトウェアを使用して、パソコンのモニタに表示された対象画像を確認しながら手動で画像補正する手動画像補正とは異なり、標準的な画像への自動画像補正が、対象画像を取得した時(撮影時)のユーザの意図と反する補正が行われてしまう場合がある。
【0013】例えば、ユーザが意図的に手動設定を行い、画像を明るく或いは暗くするような露出条件で撮影して取得した画像に対しても、明るい画像であれば少し暗めに画像補正され、また、暗い画像であれば少し明るめに画像補正されることで、適正な明るさの画像として出力されてしまう。すなわち、対象画像が、どのような画像であっても、同一な明るさの画像に画像補正されて出力されてしまう。
【0014】また、ユーザが、ディジタルスチルカメラのホワイトバランスを意図的に変えることで特殊な効果を狙った画像に対しても、同様に最適なカラーバランスとなるような画像補正が行われてしまう。
【0015】そこで、本発明は、上記の欠点を除去するために成されたもので、常に良好な処理後画像を提供できる、画像処理装置、画像処理システム、画像処理方法、それを実施するためのプログラムを記憶したコンピュータ読出可能な記憶媒体、及び当該プログラムを提供することを目的とする。
【0016】
【課題を解決するための手段】斯かる目的下において、画像取得時の条件情報を含む画像情報に対して画像処理を施す画像処理装置であって、上記条件情報を解析する解析手段と、上記解析手段の解析結果に基づいて、カラーバランスの度合いを示す値に応じて画像の色補正量を求め、明るさの度合いを示す値に応じて画像の明るさ補正量を求め、画像処理条件を決定する処理決定手段と、上記処理決定手段で決定された画像処理条件による処理を上記画像情報に施す処理手段と、上記画像が画像取得者の手動設定によって取得された場合、上記処理手段での処理時に処理を行うか否かを通知する手段とを備えることを特徴とする。
【0017】
【発明の実施の形態】以下、本発明の実施の形態について図面を用いて説明する。
【0018】<第1の実施例>本発明は、例えば、図1に示すような画像印刷システム100に適用される。
【0019】本実施の形態の画像印刷システム100は、特に、ディジタルスチルカメラ101で撮影して得られた処理対象の画像データに付加された撮影条件を示す情報(付加情報)の解析結果に基づいて、当該画像データの画像補正を自動的に実施することで、高精度な自動画像補正を実現し、撮影時のユーザの意図を、より反映した高品質の写真画像印刷結果を提供できるように構成されている。
【0020】以下、本実施の形態の画像印刷システム100の構成及び動作について具体的に説明する。
【0021】<画像印刷システム100の構成>画像印刷システム100は、上記図1に示すように、ディジタルスチルカメラ101、画像処理装置108、及びプリンタ115を含む構成としている。
【0022】ディジタルスチルカメラ101は、撮影動作により撮影画像データ107を取得すると共に、当該撮影動作における撮影条件データ106(付加情報)及び撮影画像データ107を含む画像データ105を画像処理装置108に対して出力するものであり、撮影条件設定部102、撮影条件記録部103、及び撮影画像記録部104を備えている。
【0023】撮影条件設定部102は、撮影動作に必要な各種の撮影条件の設定を行なう。
【0024】撮影条件記録部103は、撮影条件設定部102で設定された撮影条件のデータ106を、画像データ105(画像処理装置108への出力用のデータ)中に記録する。
【0025】撮影画像記録部104は、撮影条件設定部102で設定された撮影条件に従った撮影動作により取得された撮影画像データ107を、画像データ105中に記録する。
【0026】尚、画像データ105の画像処理装置108への供給方法としては、例えば、通信回線を介したデータ転送による方法、或いは任意の記録媒体又は記憶媒体に記録することによる方法等を適用可能である。
【0027】画像処理装置108は、例えば、パーソナルコンピュータからなり、所定のアプリケーションソフトウェアの起動により、ディジタルスチルカメラ101からの画像データ105の撮影画像データ107に対して画像補正処理を施してプリンタ115で印刷出力する。
【0028】このため、画像処理装置108は、リーダ部109、撮影条件解析部111及び撮影画像解析部112を含むデータ解析部110、画像補正処理部113、及び印刷データ変換部114を備えており、これらの構成部109〜114の各機能は、上記の所定のアプリケーションソフトウェアの起動により実現される。
【0029】リーダ部109は、ディジタルスチルカメラ101からの画像データ105を読み取る。
【0030】データ解析部110は、撮影条件解析部111により、リーダ部109で得られた画像データ105に含まれる撮影条件データ106を解析すると共に、撮影画像解析部112により、リーダ部109で得られた画像データ105に含まれる撮影画像データ107を解析し、当該解析結果に基づいて、画像補正アルゴリズムを選択する。
【0031】画像補正処理部113は、データ解析部110で選択された画像補正アルゴリズムにより、撮影画像データ107に対して画像補正処理を施す。
【0032】画像補正アルゴリズムの選択(決定)について、具体的には例えば、撮影画像解析部112が、撮影画像データ107の信号値から輝度値や輝度分布を解析する場合、当該解析結果により、撮影画像データ107の特性を認識し、この結果に該当する最適な補正条件を決定し、当該決定条件に基づいた画像補正アルゴリズムを選択する。
【0033】すなわち、最終的な画像補正アルゴリズムの選択は撮影条件解析部111による撮影条件データ106の解析結果により決定したアルゴリズムと撮影画像解析部112によって撮影画像データ107の特性認識により決定したアルゴリズムとにより決められる。
【0034】また、画像補正処理としては、明るさ補正処理、コントラスト補正処理、色(カラーバランス)補正処理、彩度補正処理、平滑化処理、輪郭強調処理、及びノイズ低減処理等が挙げられる。
【0035】印刷データ変換部114は、画像補正処理部113での補正後の撮影画像データ107を、プリンタ115で印刷可能な適切な形式のデータ(例えば、CMYKデータ)に変換し、当該変換後データを、所定のインタフェースを介してプリンタ115へ転送する。
【0036】したがって、プリンタ115は、画像処理装置108の印刷データ変換部114から転送されてきたデータを印刷出力する。
【0037】プリンタ115としては、例えば、シリアルスキャン形式のインクジェット方式、電子写真方式、昇華型のプリンタ等を適用可能である。
【0038】尚、本実施の形態では、画像処理部108が備える構成部109〜114を、パーソナルコンピュータ上で動作するアプリケーションソフトウェアの起動により実現するものとしているが、これに限られることはなく、例えば、ハードウェアにより実現するようにしてもよい。さらに具体的には、プリンタ115のドライバの形態で実現するようにしてもよい。
【0039】また、例えば、画像処理部108としてパーソナルコンピュータを用いた場合、画像データ105を、画像処理部108のハードディスク等の記憶媒体に保持し、或いは画像処理部108に接続された別のパーソナルコンピュータ(サーバ等を含む)の記憶媒体に保持し、これを画像処理部108内で処理するようにしてもよい。
【0040】また、ディジタルスチルカメラ101から画像処理部108(画像処理部108としてパーソナルコンピュータを用いた場合には、その内部の記憶媒体等)への画像データ105の受け渡しについては、上述したように任意の通信回線や記録媒体又は記憶媒体を利用する方法等が適用可能であるが、さらに具体的には例えば、カードリーダやケーブル接続、或いは赤外線通信、或いは無線通信を適用可能である。この場合、例えば、ディジタルスチルカメラ101と画像処理部108をケーブル接続、或いは赤外線通信、或いは無線通信で接続し、画像処理部108が、ディジタルスチルカメラ101が保持するメモリカードや内蔵メモリ等から、直接画像データ105を読み込むようにしてもよい。
【0041】また、画像印刷システム100のシステム形態としては、例えば、プリンタ115内部に対して、画像処理装置108の機能を設けるように構成してもよい。この場合、画像処理装置108としてパーソナルコンピュータ等を用いる必要はない。また、この場合には、例えば、プリンタ115において、画像データ105を、プリンタ115に設けられたカードリーダ等のデータ読取手段(リーダ部109の機能に相当)により、メモリカード等の記録媒体又は記憶媒体を介して読み取るようにしてもよい。或いは、ディジタルスチルカメラ101とプリンタ115を有線ケーブル、或いは赤外線通信、或いは無線通信により接続し、プリンタ115が、ディジタルスチルカメラ101が保持するメモリカードや内蔵メモリ等から画像データ105を読み出すようにしてもよい。
【0042】図2にRGB画像信号より画像補正に最適なLab信号に変換するフローチャートを示す。202で画像補正処理を行った後、L’a’b’信号を再びR’G’B’に戻すことで単純かつ効果的な補正ができる。またLab信号を用いず、簡易的なYCbCr信号を用いてもよい。なお本実施例では、YCbCr信号を用いることにする。
【0043】次に画像補正処理部113の処理内容について述べる。まず撮影条件データ106にある、ホワイトバランスに関する情報を読みとり、それが自動撮影(オートモード)ならばカラーバランス補正(色補正)を行う。
【0044】一方、撮影条件データ106にある露出に関する情報を読みとり、それが自動撮影(オートモード)ならば明るさ補正(印刷濃度補正)を行う。
【0045】また、撮影条件データ106にあるデジタルズームに関する情報を読みとり、それが実行されている(ON)ならば画像にスムージング補正を行う。
【0046】次に以下に、カラーバランス補正、明るさ補正の実施例について説明する。
【0047】《カラーバランス補正》[第1の処理方法]はじめに、カラーバランス補正についてその処理内容を図3〜図10を用いて説明する。
【0048】本実施形態の画像補正処理部113は、図3に示したように、ヒストグラム作成処理(図3−S1)とヒストグラムに応じた画像補正処理(図3−S2)を行う。ステップ図3−S1では、図4に示すような処理によりヒストグラムを作成する。そして、作成されたヒストグラムに基づき画像のハイライトポイントおよびシャドーポイントを決定する。
【0049】(輝度ヒストグラムの作成)図4は本実施形態での輝度ヒストグラムを作成するフローチャートである。
【0050】図4において、図4−S1で原画像の輝度ヒストグラム作成のルーチンに入ると、図4−S2で原画像の画素から輝度ヒストグラムの作成に用いる画素の選択比率を決定する。本実施形態では、処理対象の画像データが35万画素の場合に全画素を対象(選択比率1(あるいは100%))に輝度ヒストグラムを作成することとする。35万画素以上の画素数の画像データが入力された場合には、その総画素数の35万画素に対する比率に応じて画素選択(サンプリング)を行う。例えば、350万画素の画像データが入力された場合には、選択比率は350万/35万=10であり、10画素に1画素の割合(選択比率10(あるいは10%))で輝度ヒストグラムを作成する。本実施形態では選択比率nは次式により求める。
n=int(対象画像データの総画素数/基準画素数35万)(但し、n<1の時はn=1、nは正数)
続いて図4−S3でライン番号を管理するカウンタをリセットあるいは所定の初期値にセットし、図4−S4でそのカウンタをインクリメントして注目ラインのライン番号とする。
【0051】本実施形態では画素の間引き(サンプリング)はライン単位で行うので、選択比率nの場合には、ライン番号をnで割ったときの余りが0の場合に、そのラインに属する画素を処理対象として選択する(図4−S5−YES)。例えば選択比率10の場合であれば、ライン番号を10で割ったときの余りが0の場合に、そのラインに属する画素を処理対象として選択する注目ラインが間引かれるライン、すなわち処理対象とならないラインの場合には図4−S4に戻る。処理対象ラインの場合には図4−S6に進み、注目ラインに属する画素に順次注目し、その注目画素に対して輝度変換,色度変換を処理を行う。本実施形態における輝度変換、色度変換は以下の式により行う。なお、輝度、色度変換は以下の式に限らず様々な式を用いることが可能である。
Y (輝度)=int(0.30R+0.59G+0.11B)(Yは正数)
C1(色度)=R−YC2(色度)=B−Yまた本実施形態では白位置(ハイライトポイント)、黒位置(シャドーポイント)の検出精度を向上させるために次式により注目画素の彩度Sを計算し、予め定めた彩度値(Sconst)より大きいか否かを判断して(図4−S7)、大きい場合には、その画素の情報は輝度ヒストグラムに反映させない。
【0052】彩度S=sqrt(C1^2+C2^2)
ここでsqrt(x)はxの平方根を与える関数であり、x^yはxのy乗を表す。
【0053】即ち、(S>Sconst)の場合には図4−S6に戻り、注目画素のデータは以後の処理に反映させない。これは、後述する通り、白位置の彩度は高輝度の画素群の平均彩度により与えられ、その彩度の値は色かぶりにより生じた誤差となるため、本来高彩度であると考えられる画素はハイライトポイントの算出から除外したほうが良いためである。この処理の効果を具体例を上げて説明する。例えばイエローの画素(R=G=255、B=0)は、上式からその輝度Yは226となり、彩度Sは227となる。すなわち、この画素は極めて高輝度であるとともに、十分に彩度の高い色を有することが分かる。このような画素は、無彩色の画素がイエローに色かぶりした結果そのようになったと判断するよりも、本来イエローの画素であると判断した方が多くの場合間違えが少ない。このような高輝度・高彩度の画素を輝度ヒストグラムに含めると、検出される白位置に誤差が生じてしまう。よって、本実施形態では所定の彩度(Sconst)を定め、所定の彩度を越える彩度の画素は輝度ヒストグラムに含めない。こうすることで、高彩度の画素により検出される白位置に誤差が生じることを防ぎ、白位置の精度を向上させることができる。
【0054】このように、図4−S7における判断の後、条件(S≦Sconst)を満たした画素について輝度ヒストグラムを作成していく(図4−S8)。ここで本実施形態で扱う画素データRGBは各8ビット(256階調)データであるので、輝度Yも256の深さに変換される。よって輝度ヒストグラムは、0から255までの256段階の各輝度値の画素が夫々何度数あるかを計数することで得られる。
【0055】また色度C1,C2の計算値は、後の色かぶり補正時に、各輝度値を有する画素の平均色度を算出するためのデータとして用いるので、本実施形態では次のようにデータを保持する。すなわち、インデクスの範囲が0から255の構造体配列変数の形式で、度数,C1累積値,C2累積値の3メンバーを設定し、各画素ごとの演算結果をその画素の輝度値をインデクスとする各メンバーに反映していく。
【0056】注目画素について処理を終えたなら、注目ラインの全画素の処理が終了したかどうかを判断し(図4−S9)、注目ラインに未処理画素が残っている場合には図4−S6に戻り、図4−S6以降の処理を繰り返す。注目ライン内の全画素の処理が終了したら、図4−S10で未処理のラインが残っているかを判断し、全ライン終了であれば図4−S11で終了し、未処理のラインが残っていれば図4−S4に戻り、注目ラインを次のラインに移して上記処理を繰り返す。
【0057】以上の様に原画像データの画素を選択しながら輝度ヒストグラムを作成することにより、必要最小限の画素数で、且つ後の白位置、黒位置検出時の精度の向上も考慮した輝度ヒストグラムを作成することができる。
(白位置(ハイライトポイント),黒位置(シャドーポイント)の決定)輝度ヒストグラムが完成したら、そのヒストグラムから白位置(ホワイトポイント)、黒位置(シャドーポイント)を決定する。本実施形態では、輝度ヒストグラムにおける輝度値0及び輝度値255の両端から中心方向に累積輝度度数値が1750になる点をそれぞれ黒位置および白位置と定める。
【0058】すなわち、輝度値Yの画素の度数をPYとすると、P0+P1+・・・と累積度数を求めていき、累積度数が1750を越えた時の輝度値を黒位置の輝度値YSDとする。次いで輝度YSDの画素の平均色度を求める。前記の通り、輝度ヒストグラム作成時に各輝度値の色度の累積値が計算されている(輝度Nの画素の累積色度をC1Ntotal,C2Ntotalとする)ので、黒位置である輝度値YSDの画素の平均色度C1SD,C2SDを求める。
C1SD=C1YSDtotal/PYSDC2SD=C2YSDtotal/PYSD同様に白位置の決定を行う。P255+P254+・・・と累積度数を求めていき、該累積度数が1750を越えた時の輝度値を黒位置の輝度値YHLとする。次いで輝度YHLの画素の平均色度C1HL,C2HLを求める。
C1HL=C1YHLtotal/PYHLC2HL=C2YHLtotal/PYHL以上の演算を行うことにより、[C1,C2,Y]色空間において、白位置(C1HL,C2HL,YHL)と黒位置(C1SD,C2SD,YSD)を求めることができる。
【0059】尚、本実施形態では輝度値0と輝度値255の輝度位置から累積度数を求めたが、輝度値1と輝度値254から求めるなど、所定のオフセットを与えても良い。
【0060】以上のようにして、図3のステップS1において、白位置(ハイライトポイント)/黒位置(シャドーポイント)を決定する。
【0061】次に、図3のS2において、図3−S1で決定された白位置および黒位置に基づいた画像補正処理を行う。本実施形態では画像補正処理として、原画像の色かぶりを補正する色かぶり補正、原画像の露出を最適化すべく輝度のコントラストを補正する露出補正、および出力画像の色のみえを良くするための彩度補正を行う。
【0062】図9は、画像補正処理部113により図3のステップS2で行われる補正処理の流れを示している。すなわち、まず色かぶり補正のための回転行列を求め、次にその回転行列を用いて色バランス(色かぶり)を補正し、最後に画像の露出の状態に応じて、輝度信号のガンマ変換を行う。これら各処理を、順を追って説明する。
【0063】(色かぶり補正)上記の通り原画像の(C1,C2,Y)色空間における白位置、黒位置が求められたら、引き続いて色かぶりの補正を行う。
【0064】もし原画像に色かぶりが無く理想的な画像であるとすれば、無彩色はR=G=Bであり、白位置、黒位置の色度の演算値は「C1HL=C2HL=C1SD=C2SD=0」となる。しかし色かぶりがある場合には、かぶっている色相方向に、かぶっている程度に比例して、(C1HL,C2HL,YHL)と(C1SD,C2SD,YSD)を結ぶ直線(色立体軸)に傾きが生じる。(図5(b))色かぶり補正は現画像の色立体軸とY軸(輝度軸)が一致する様に変換することで達成できる。変換は色立体を回転、平行移動させることでも達成できるし、座標系を変換することでも達成できる。
【0065】本実施形態ではまず原画像の色立体において、色立体軸の最低輝度点(下端点)を回転中心として、色立体軸をY軸と平行となる様に回転させる。次いで前記最低輝度点の位置が(C1,C2,Y)空間の原点となるように座標系を変換する。以上の処理により、最低輝度点が原点で、色立体軸がY軸と一致する変換結果が得られる。なお、図5(a)は色かぶりのない理想的な画像データの色分布を示す色立体である。上述の変換により、変換後の色立体は、理想的な色立体(図5(a))に近づけられる。
【0066】なお、色立体軸をY軸と平行に回転させる回転変換にあたっては、シャドーポイント及びハイライトポイントの座標値から、回転変換の回転軸及び回転角は簡単に決めることができる。3次元空間上で、立体を所望の回転軸周りに所望の角度で回転させる回転行列を求める手法は公知の技術であるので、この詳細な説明は省略する。
【0067】以上の様に、原画像の各画素を、色度と輝度とを軸とする3次元色空間の画素データ(C1,C2,Y)に変換し、その画像データを、黒位置と白位置とを結ぶ色立体軸(グレーライン)がY軸と一致し、かつ最低輝度が座標原点となるような画素データ(C1’,C2’,Y’)に回転、平行移動変換することにより、色かぶりの補正を行うことが可能となる。
【0068】(コントラスト及び彩度の調整)次にコントラスト及び彩度の調整による画像のさらなる高品質を実現するために、画像の露出オーバー/アンダーを簡易的に判定し、それに応じて輝度信号にガンマ補正をかける方法を説明する。
【0069】なおこの処理は主にカラーバランス補正の一部であり、上述したような撮影条件データ106に含まれる露出データは考慮しておらず、後述する露出データの値を加味した明るさ補正とは異なる。
【0070】コントラストの調整は、黒位置(シャドーポイント)の輝度を“0”あるいはそれに近い値(例えば“10”)に調整し、白位置(ハイライトポイント)の輝度を“255”あるいはそれに近い値(例えば“245”)に調整することで行う。
【0071】次に、画像の露出のオーバー・アンダーを簡易的に判定し、画像データに対してそれに応じたガンマ補正を施す際の一実施例を示す。
【0072】まず、補正する色立体軸と輝度(Y)軸とが最小距離となる点、つまり図5(b)におけるT,T’を求める。これは幾何学的な関係から簡単に求めることができる。
【0073】そして、点T’の色かぶり補正後の輝度成分YT’が点Tの輝度成分YTとなるようにコントラストを調整する。つまり図6に示すように(YT’,YT)を屈折点とし、色かぶり補正後の輝度Y’がYT’より小さい場合は、輝度を直線aとして与えられる関数によりY”に補正し、YT’より大きい場合は、直線bとして与えられる関数によってY”に補正する。
【0074】もちろん、このT,T’を使わずに、図6の直線I2で与えられるような補正をおこなってもよい。色立体軸が輝度軸と並行になる場合は、点T,T’は1対1ではないし、また、T,T’が輝度の範囲[0,255]の外にある場合には、点(YT’,YT)を屈折点とすることはできない。このような特殊なケースでは直線I2に従って補正すればよい。
【0075】この2直線の最近接点T,T’を用いた補正の効果は、とくに露出のオーバーあるいはアンダーの画像に作用する。露出がオーバーになるのは空などの明るいところに画像全体が引っ張られるためである。この際デジタルカメラを代表する入力機器では、高輝度色抑圧が行われ、高輝度部の彩度がおとされる。すなわち、高輝度色抑圧の行われた画像の色立体軸を、図7(a)に示すように彩度と輝度とを軸とする2次元平面で考えると、高輝度の部分でもっとも無彩色に近い画素があらわれる。逆に、露出アンダーの画像に対しては低輝度色抑圧がかかるため、図7(b)のように、低輝度の部分で彩度が低くなる。
【0076】実際の画像で色立体の輝度軸を輝度−彩度平面で考えると露出オーバーの画像に関しては例えば、図7(c)のようになる。逆にアンダーの画像に関しては例えば、図7(d)のようになる。そもそも本来あるべき(理想的な状態の)色立体から、なんらかの撮影状況や入力時(A/D変換時)の影響で実際の色立体がずれるのだと考えれば、T,T’の位置がもっともズレの小さい場所と考えられる。従って、本発明の一実施の形態はこれを戻してやることで簡易的に適切なグレー、つまり全体の明るさ補正を行うものである。
【0077】もちろんこのTを単に画像の露出オーバー・アンダーを簡易的に判定する手段として用い、あらかじめアンダー用のLUT(ルックアップテーブル)、オーバー用のLUTを用意し、点TあるいはT’の輝度成分に応じて輝度信号のガンマ調整を行ってもよい。例えば、図6の点(YT’,YT)を変曲点とするような曲線によってコントラストの調整を行ってもよい。従って、このT,T’の値によって簡易的に画像が露出オーバーなのか、アンダーなのか判定できる。すなわち、色立体軸においてもっとも彩度の低い点である点T’の輝度成分が高輝度よりにあれば、その画像の輝度−彩度の関係は図7(a)のような傾向を示すし、逆に点T’の輝度成分が低輝度よりにあれば、その画像の輝度−彩度の関係は図7(b)のような傾向を示す。したがって、高輝度色抑制及び低輝度色抑制された画像において、点T’の輝度成分が高輝度よりにあれば、その画像は露出オーバー傾向にあり、点T’の輝度成分が低輝度よりにあれば、その画像は露出アンダー傾向にあると考えられる。
【0078】一方、彩度調整は、色差C1,C2に彩度補正係数を乗ずることで簡単に行うことができる。例えば、彩度を20%あげる場合は、補正後の彩度は補正前の120%となることから、彩度補正係数を1.2として計算する。すなわち、C1”=1.2×C1’C2”=1.2×C2’として彩度補正を行うことができる。これは、(彩度)=sqrt(C1^2+C2^2)
で定義されることによる。
【0079】(RGB空間への逆変換)以上で本実施形態における各種補正が終了する。この時点で原画像の各画素は(R,G,B)の色信号データから(C1”,C2”,Y”)の色空間データに変換された状態にあるので、再度(R’,G’,B’)の色信号データに逆変換する。逆変換は以下の式により行う。
R’=Y”+C1”G’=Y”−(0.3/0.59)*C1”−(0.11/0.59)*C2”B’=Y”+C2”このようにして、原画像に対して、色かぶり,コントラスト、彩度が補正されたRGBデータを得ることができる。
【0080】以上のように、本実施形態によれば、少ない処理負荷で確実に色かぶり補正が可能となる。
【0081】また、本実施形態によれば、サンプリング条件を原画像の画像データサイズに応じて設定しているので、入力画像にかかわらずヒストグラム総度数と、白位置及び黒位置を決定するための累積度数との関係をほぼ一定にすることができる。したがって、良好な色かぶり補正を実現することができる。
【0082】さらに、補正対象画像の色立体軸と輝度軸との距離が最短となる点における輝度を維持するように画像全体を非線形にガンマ補正することで、もっとも原画像の値に近いと考えられる輝度を維持しつつ、コントラストを補正することができる。
【0083】さらに、画像が露出オーバーであるか露出アンダーであるかという露出状態を簡単に得ることができる。さらに、その露出状態に応じて異なるテーブルを選択し、ガンマ補正を施すこともできる。ただし、この露出を調べる手段は、画像データをヒストグラム解析して簡易的に行うもので、撮影条件データ106を元に露出の状態を調べる方法とは異なる。
【0084】なお、サンプリングをライン単位でなくカラム単位で行っても構わない。
【0085】[第2の処理方法]次に、上述した第1の処理方法に対して、補正度合いを考慮した第2の処理方法について説明する。
【0086】第1実施形態で説明したように、画像の色立体軸を求める際に、この軸の傾きがあまりにも大きい場合、これを無理に補正すると画像に不具合が生じる場合がある。これには例えば色フィルタなどをもちいて故意に色かぶりを起こしているような場合や、夕焼けのシーンを撮影した場合などが考えられる。
【0087】このような場合、求めたハイライトポイントとシャドーポイントが間違っていたと判断して補正を行わないか、または、回転角を適当に調整して補正度合いを弱めることで不具合をなくすことができる。このようなハイライトポイントとシャドーポイントが間違っていたという判定は、色立体軸の方向によって可能である。色立体軸の傾きから、どの色がかぶっているのか容易に判定できるので、特殊効果を得るために例えば色フィルタを用いて撮影された画像については色かぶりを補正しないというような判定もできる。
【0088】このような場合、原画像の色立体軸の方向ベクトルと、輝度軸とのなす角度に着目し、色かぶり補正を行うことで逆に不都合が生じると判定して処理を行わないか、または、処理の度合をゆるめる。例えば、色立体軸が赤の色相方向に向いており、その角度が所定の角度、例えば40度以上の場合には、その画像は夕焼け画像のような本来色かぶりした画像であると判断する。処理の度合をゆるめる場合には、色立体軸を所定角度、例えば20度だけ起こしたり、あるいは所定角度まで、例えばY軸に対する傾きが20度になるまで起こすことで色かぶりを補正する。この変換のための回転行列は、回転軸と回転角度とから容易に求めることができる。
【0089】なお上記補正の度合いはユーザーがマニュアルで指定してもいいし、あらかじめ角度の大きさ、該色立体軸の方向に応じて設定しておいてもよい。例えば40度の場合、該画像の色立体を20度だけ回転して起こすとしたが、その補正の度合いをユーザに指定させてもよい。以後の処理は第1の処理方法と同様である。
【0090】また、原画像の色立体軸の方向によって、どの色がかぶっているのか容易に判定できるので、特殊効果を得るために例えば色フィルタを用いて撮影された画像については、フィルタの色方向に関しては補正しないというような判定もできる。すなわちこのような場合には、色かぶりを補正しない色を指定させ、C1−C2平面上において、補正を行わない色の方向に沿って回転変換の回転軸を設定し、その回転軸と色立体軸lとを含む平面が、Y軸と平行になるまで色立体を回転変換する。こうすることで、特定の色成分についてだけ色かぶりを補正できる。
【0091】図10は、色立体軸が所定角度以上傾いている場合には、別途指定された角度まで色立体を回転させるように、画像を補正するための処理手順である。まず、ステップS101でハイライト/シャドーポイントを決定し、ステップS102で色立体軸の傾きが所定角度以上であるか判定する。もし所定角度に達していなければ、ステップS104,S105で、第1の処理方法と同様に、色立体軸が輝度軸と一致するように変換して色かぶりを補正する。
【0092】一方、色立体軸が所定角度以上傾いていれば、色立体軸を、輝度軸に向かって20度だけ回転させるような回転行列をステップS103で求め、ステップS105で、その回転行列を用いて色立体を回転させて色かぶりを補正する。この場合、ステップS103で用いた20度という角度は、操作者がアプリケーションのユーザインターフェイス(UI)情で指定してもよいし,アプリケーションがデフォルト値として有していてもよい。
【0093】なお、しきい値を2段階設け、第1のしきい値(例えば40度)より色立体軸の傾きが大きい場合には、色立体軸を完全なグレーラインにしない程度に色立体軸を起こす(例えば20度)ように回転変換し、第1のしきい値と第2のしきい値(例えば20度)との間の場合には、回転変換を行わず、第2のしきい値よりも傾きが小さい場合には、色立体軸を輝度軸と一致させるように回転変換を行うこともできる。このしきい値設定も操作者がユーザインターフェイス(UI)上で初期設定してもよいし、アプリケーションがデフォルト値として有していてもよい。このようにすることで、意図的に色かぶりが生じさせられた画像については、不都合な補正を行うことがない。
【0094】このように、画像データの画素により構成される色立体の軸の傾き、すなわち軸の方向と傾きの角度という2つの量から、補正するか否かのしきい値をすくなくとも2つ以上設定し画像を補正すべきか、すべきでない、補正度合いを調節すべきかの判定を行うことができ、非常に簡潔に特殊なケースの弊害だけをはじくことができる。
【0095】また、色立体軸の方向によって、どの色がかぶっているのか容易に判定できるので、かぶっている色方向に応じて色かぶりを補正しないようにすることもできる。
【0096】[第3の処理方法]前記第1〜第2の処理方法では、画像のハイライトポイント・シャドーポイントに基づいた色バランス補正について説明したが、この他の基準点に基づく補正の実施例について以下説明する。
【0097】まず、ハイライトポイントおよびシャドーポイントにおける平均色差量△Eを求める。
△E=sqrt((C1HL−C1SD)^2+(C2HL−C2SD)^2)
色立体軸が輝度軸と平行であればΔE=0となるはずであるが、傾いていれば、0より大きな値となる。つまり、E(彩度)−Y(輝度)平面で考えると図8のようになる。
【0098】次にハイライトとシャドーの間のサンプル輝度を数点用意する。そして、画像中で例えばこのサンプル輝度のうち所定の輝度Ynの画素から、△Enより小さい彩度の画素を用いて、平均色差量を求める。ΔEnとしては、予め設定した一定彩度を用いてもよいし、また、色立体軸の傾き方向に限定した平均色差量を求めてもよい。
【0099】これらの数点の輝度について平均色差で最小二乗法的に直線を求め、これを原画像の色立体軸として第1の処理方法に基づく処理を行う。
【0100】あるいは、求められた色差及び輝度を要素とする点をBシュプラインなどで近似曲線を求め、この曲線を輝度軸にする、すなわち色差を“0”とするように非線形の色バランス補正を行ってもよい。
【0101】以上本発明を好ましい実施例により説明したが、本発明は上述した実施例に限ることなく、クレームに示した範囲で種々の変形が可能である。
【0102】このようにすることで、輝度軸となるべき線を、ハイライト及びシャドーだけではなく、画像全体から一様にサンプリングした画素から得ることができる。得られた線を輝度軸に一致するように画像データを変換することで、画像全体の特性を反映した色かぶり補正を行うことができる。
【0103】ところで、ホワイトバランスがオートの場合、基準値からのズレ量によってカラーバランスの補正量を可変にしてもよい。例えば、ホワイトバランスがオートであるという情報の他に、ホワイトバランスが基準値からの青方向に大幅にずれているという情報を得た場合、カラーバランス補正は色差信号において青とは反対の黄色に傾きやすく閾値を設定してもよい。こうすることで、より精度の高い補正処理を施すことができる。
【0104】《濃度補正》次に、本実施形態の画像補正処理部113における濃度補正について説明する。これは画像条件データ106から露出に関する情報、またはストロボ発光ON/OFF情報を読み取り、最適な明るさ補正(印刷濃度補正)を行うものである。
【0105】(階調曲線判定)図11のステップS2では、図3S1で求めたヒストグラムに基づき補正条件設定処理(階調曲線判定処理)を行う。すなわち、予め用意されている複数の輝度補正用の階調曲線から、画像の解析結果に基づき階調曲線を選択する。
【0106】本実施形態の階調曲線判定は、3つのパラメータ(ハイライトポイント、シャドーポイントおよび、ある輝度領域の画素数)に基づき画像の明るさを判定し、これに基づいて階調曲線を選択する。
【0107】図12は、階調曲線判定処理の詳細を示すフローチャートである。これを参照して本実施形態の階調曲線判定処理を説明する。
【0108】
【0109】本実施形態では、輝度信号Yのヒストグラムにおいて輝度範囲の最高輝度値(輝度値255)から、順に低輝度側に向かいながら各輝度値の度数を累積し、ここで求めた累積度数が、例えば、処理対象である画像データの全画素数の1.0%と一致した輝度値、または最初に全画素数の1.0%を越えた輝度値を求め、この点をハイライトポイント(以下、「HLP」という)とする。
【0110】次に、HLPを予め定られた複数の閾値Th_H1、Th_H2、・・・(Th_H1<Th_H2<・・・)と比較し、ヒストグラムの高輝度領域における分布を解析する。
【0111】例えば、本実施形態では、図13に示されるように、下から順番に200、230の値が設定されている2つの閾値を用いた場合を説明する。
【0112】そして、HLP<Th_H1のときは、画像を高輝度領域が少なくかつ暗い画像と判定し、Th_H1≦HLP<Th_H2のときは、画像を高輝度領域の分布もあるが全体的に暗い画像と判定し、Th_H2≦HLPのときは、画像を高輝度領域に分布の多い明るい画像と判定する。
【0113】例えば、図14に示す明るめの画像のヒストグラムでは、HLPが閾値Th_H2を越えて(HLP>Th_H2)おり、高輝度領域に多く分布がある画像と判定する。図14のヒストグラムは全体的に高輝度側に分布が偏っており、結果的にHLPも高輝度側に位置している。こういった分布を示す画像は一般的に明るい画像が多い。
【0114】図15に示すヒストグラムでは、HLPが閾値Th_H2よりも低くTh_H1より高く(Th_H1<HLP≦Th_H2)、高輝度領域にある程度分布があるが、明るくはない画像と見なすことができる。図15のヒストグラムは、輝度は大まかに中間的な分布を示し、HLPも図14より比較的低輝度側に位置することから、このように判断することができる。
【0115】図16に示すヒストグラムでは、HLPが閾値Th_H1よりも低く、高輝度領域に分布がない画像となる。この場合、ヒストグラムは低輝度側に偏り、全体的に暗い画像であることが分かる。また、HLPが低いということはすなわち、階調レベルが狭いことも意味する。こういった画像に対してはγ補正で明るくするか輝度値を高輝度側に引き延ばして明るくするといった補正が必要となる。
【0116】なお、HLPの算出は、必ずしも上述した方法によって求める必要はなく、従来知られている方式を適宜用いてもよい。
【0117】また、他の画像補正処理、例えば前述したいわゆる色かぶり補正、コントラスト補正、彩度補正と組み合わせて本実施形態の自動階調補正処理を行う場合には、この画像処理で予め用いたHLPを使用することもできる。なお、この場合、ハイライトポイントを用いる代わりに、上記色かぶり補正等で同様に用いられるシャドーポイントを用いて画像の明るさ(暗さを)判別することができ、これに基づいて以下の処理を行うことができることは、以下の説明からも自明なことである。
【0118】
【0119】ヒストグラムのバランス判定処理では、ステップS22で処理対象画像の全画素数に対する所定の領域の累積度数の割合であるSlowを求める。つまり例えば256階調の画像に対して、輝度値0から128まで(ヒストグラムの半分)の累積画素数の全画素数に占める割合を求め、その画像のヒストグラムの全体的なバランスを解析する。
【0120】まず、ある輝度領域(0〜128)の累積度数Sを求める。この累積度数Sは、ヒストグラムにおいて輝度範囲の最低輝度値(輝度値0)から高輝度側に向かって所定の輝度値までの累積度数として求められる。本実施形態では、最大輝度値(輝度値255)の1/2となる輝度値(輝度値128)までの累積度数を低輝度領域の累積度数Sとして求めたが、もちろん他の値を用いてもよい。
【0121】次に、累積度数Sが、全画素数に占める割合Slowを以下の式を用いて算出する。
【0122】Slow=(ある輝度領域の累積度数S)/(全画素数)(%)
なお、前述のヒストグラム集計の際に、画素を間引いて、間引きヒストグラムを作成した場合には、上記Slowの定義式での分母をヒストグラム作成の対象となった画素数にする。
【0123】次に、上記で求めたSlowを用いて再び閾値判定を行う。これは、ヒストグラムの下半分の全体に占める割合を算出することで、その画像の全体的な輝度のバランスを調べるものである。上述のハイライトポイント判定において、ヒストグラムの高輝度領域の分布状態に応じて画像を数種類に分類したが、図13に示すように、それぞれの場合に対応させて閾値を設け、ヒストグラムのバランス度合いを判定する。
【0124】例えば、図14に示す明るめの画像の場合、輝度値128までの全画素数に対する割合がSlowとなる。この例では、Slowは全画素数の20%である。従って、上記HLP判定で明るい画像と判断されるとともに、Slowは、16〜50の範囲と判定される。
【0125】一方、図16に示す暗めの画像の例では、輝度値128までの領域Slowは、全画素数の60%となり、したがって、上記HLP判定で暗い画像と判断されるとともに、Slowは50〜80の範囲と判定される。
【0126】ある輝度領域における累積度数の割合を用いず、ヒストグラムの中間値や平均値のみを用いてヒストグラムのバランスを判定する方法では、ヒストグラムの実際の分布状態が適切に反映されていない画像の明るさについての判定を行うこととなる。例えば、中間値や平均値自体は比較的高めの輝度値を示しつつも、実際には、中間値や平均値周辺の輝度値に度数分布のピークがあって低輝度領域の度数分布自体は少ない画像の場合、明るめの画像であると誤った判定をして濃度を高くする輝度補正が選択され、結果として画像上の比較的大きな部分を占める暗い部分が潰れてしまうことがある。
【0127】これに対し、本実施形態のように、ヒストグラムの下半分となる輝度値0〜128の領域における累積度数を求め、この累積度数の全画素数に占める割合Slowを用いることにより、より実際のヒストグラムのバランスが反映された画像の明るさの分布の判定を行うことができ、上述のような、暗めの画像についても適切な階調補正を行うことができる。
【0128】なお、上記実施形態では、Slowの範囲について輝度値0〜128の範囲を均等に区分したが、より詳しく低輝度領域の情報を求める場合は、低輝度領域をいくつかに分割してそれぞれに対して場合分けを行ってもよいし、また、Slowが0〜64までは2倍、65〜128までは1倍して足し合わせるといった重み付けをしてもよい。
【0129】このような場合わけによりヒストグラムのバランスを一層正確に判定できる。
【0130】
【0131】本実施形態では、ヒストグラムにおいて輝度範囲の最低輝度値(輝度値0)から、順に高輝度側に向かいながら各輝度値の度数を累積し、ここで求めた累積度数が、例えば、処理対象である画像データの全画素数の1.0%と一致した輝度値、または最初に全画素数の1.0%を越えた輝度値を求め、この点をシャドーポイント(以下、「SDP」ともいう)とする。
【0132】次に、SDPを輝度値について予め定めた複数の閾値Th_S1、Th_S2、・・・(Th_S1<Th_S2<・・・)と比較し、ヒストグラムの低輝度領域における分布を解析する。
【0133】なお、本実施形態で用いるシャドーポイント判定はハイライトポイント判定やヒストグラムのバランス判定を行った後に行っているので、図13に示されるように、シャドーポイントの閾値はハイライトポイントやヒストグラムのバランス判定の結果に応じて異なる値を設定する。
【0134】そして、SDP≧Th_S2のときは、画像は低輝度領域が少なくかつ明るい画像と判定し、Th_S1≦SDP<Th_S2のときは、画像は低輝度領域の分布もあるが全体的に明るい画像と判定し、SDP<Th_S1のときは、画像は低輝度領域に分布の多い暗い画像と判定する。
【0135】例えば、図14に示す明るめの画像のヒストグラムでは、SDPが閾値Th_S2を越えて(SDP>Th_S2)おり、従って、低輝度領域に分布がない画像と判定される。この場合、前述したようにヒストグラムは全体的に高輝度側に分布が偏っており、結果的にSDPも比較的高輝度側に位置している。また、SDPが高いということはすなわち、階調レベルが狭いことも意味する。こういった画像に対してはγ補正で暗くするか輝度値を低輝度側に引き延ばして暗くするといった補正が必要となる。
【0136】一方、図15に示すヒストグラムでは、SDPが閾値Th_S2よりも低くTh_S1より高く(Th_S1<SDP≦Th_S2)、低輝度領域にある程度分布はあるが暗くはない画像と判定される。この場合、輝度は中間的な分布となり、SDPも比較的低輝度側に位置することから、このような判定が行われる。
【0137】次に図16に示すヒストグラムでは、SDPが閾値Th_S1よりも低く、低輝度領域に多く分布がある画像となる。この場合、ヒストグラムは低輝度側に偏り、全体的に暗い画像であることが分かる。
【0138】
【0139】本実施形態の階調曲線は、図13に示す補正テーブルから明らかなように、3つのパラメータに応じてその画像種を総合的に判断し、例えばハイライトポイントが比較的低ければ、高輝度領域をカットしてヒストグラムを高輝度側へ引き延ばすような処理を盛り込んだ階調曲線を選択する。また、ヒストグラムのバランスを整えたい画像に対してはγ補正を行う階調曲線を選択する。ヒストグラムのバランス度Slowが低輝度領域に偏っていれば、γ値を変換するなどして画像全体を明るくする処理を盛り込んだ階調曲線を選択する。さらにシャドーポイントが比較的高ければ、低輝度領域をカットしてヒストグラムを低輝度側へ引き延ばすような処理を盛り込んだ階調曲線を選択する。上記複数に分類された画像に関する階調曲線の決定は、図13に示す判定表を用いる。
【0140】例えば上記HLPが245と高く、Slowが20%で、SDPが60と比較的高い画像の場合、低輝度領域20以下をカットする階調曲線を選択する。
【0141】図14に示す明るめの画像の場合、HLPは閾値Th_H2より大きく且つSlowは20%であり、SDPは閾値Th_S2より大きいので、図13に示すテーブルより、この画像は明るい画像と判定され、γ値は1.1に設定される。このγ値決定により、比較的高い輝度領域まで暗くする(印刷濃度を高くする)補正がなされ、全体的に最適な濃度の印刷画像となる。また、低輝度領域の画素に割合が少ないことから、画像の潰れる部分が少なくて済む。
【0142】次に、図15に示すヒストグラムのバランスが中間的な画像では、HLPがTh_H1より大きくTh_H2より小さい。且つSlowが40%であり、SDPがTh_S1より大きくTh_S2より小さいため、図13に示すテーブルによって、補正階調曲線をS字のものにすることでコントラストを強調することができる。こうして、印刷される画像全体にメリハリがつき、見栄えのする印刷画像となる。
【0143】一方、図16に示す暗い画像では、HLPがTh_H1より小さく且つSlowが60%であり、SDPはTh_S1より小さいため、図13に示すテーブルによって、高輝度領域において200以上をカットする直線を選択する。これにより、印刷される画像全体が明るくなり、特に画像のヒストグラムが高輝度側に拡張され、コントラストのある濃度のバランスがとれた印刷画像となる。
【0144】なお、上記の説明では、
【0145】(LUT作成)以上説明した階調曲線判定処理(図11のステップS2)を終了すると、図11に示すステップS3でLUT作成を行う。階調曲線判定処理で得られた階調曲線を作成するパラメータに基づいて輝度補正のためのルックアップテーブル(LUT)を作成する。
【0146】本実施形態のLUTは、上述のようにして得られた階調曲線を指数関数と5次関数して記録しておく。つまり単純にγ補正だけする場合は指数関数(図17)を用い、高輝度または低輝度領域をカットする直線およびより複雑な曲線で補正する場合は5次曲線(図18)を用いる。
【0147】すなわち、LUT L[Y]は、γ補正のみを行う指数関数の場合、入力輝度信号をY、出力輝度信号をY‘とすると、Y’=255×[(Y/255)1/γ]なる式によって表される変換を行い、判定結果によりγ値が与えられる。
【0148】一方、5次曲線の場合、Y’=A+B×Y+C×Y^2+D×Y^3+E×Y^4+F×Y^5なる式によって表される変換を行い、係数となるA、B、C、D、E、Fを与えることにより5次曲線が完成する。また、それらは動的に作成されるものである。すなわち、対象画像の処理ごとに作成される。このように補正テーブルを動的に作成することにより、必要となるメモリ量を削減することができる。
【0149】なお、上記LUTは、動的に作成する代わりに上記階調曲線毎に、予めメモリ上に静的に用意してもよいことは勿論である。
【0150】(補正)次に、図11に示すステップS4において、輝度信号Yの補正を行う。すなわち、作成したLUT L[Y]によって、入力画像の輝度値YをY’=L[Y]として変換し、輝度補正を行う。
【0151】さらに、輝度補正された輝度信号Y’および入力画像の色差信号Cr、CbをR、G、Bの各信号に戻し、補正された画像信号R’G’B’を作成する。
【0152】本実施形態よれば、ヒストグラムにおいて、画像データの明るさに関する成分値の範囲においてその最大値または最小値からの累積度数が所定の値を示す成分値が求められるので、画像の全体的な明るさを知ることができ、また、最小値または最大値から所定の成分値までの累積度数のヒストグラムの全画素数に占める割合が求められるので、画像の明るさの分布を知ることができる。そして、これらの成分値および割合に基づいて明るさの分布が判別され、その判別に基づいて補正の階調曲線が定められるので、画像の全体的な明るさ毎にその明るさの分布と補正階調曲線との対応を異ならせることができる。
【0153】つまり、ハイライトポイント、ヒストグラムのバランス度、シャドーポイントの3つのパラメータを用いて最終的に複数の補正階調曲線の中から、その画像に最適な補正階調曲線を一つ選択することができる。
【0154】これにより、例えば、全体的に暗い画像では、より明るくする(印刷画像においてより濃度を低くする)補正に対応する明るさの分布で、暗い範囲を示す分布を小さなものとでき、これにより、印刷画像における明るさのバランスをより好ましいものにできる。一方、全体的に明るい画像ではより暗くすることで、印刷画像においてより濃度を高くでき、これにより、印刷デバイスが本来的に比較的低い濃度しか実現できないという濃度出力特性を補って全体的に高い濃度の印刷を行うことができる。また、元々ダイナミックレンジが狭い画像では、その幅を広げることにより、コントラストがついた、メリハリがあり見栄えのする画像の印刷を行うことができる。
【0155】なお、本実施形態では図12の順で判定を行ったが、順番が変わってもよい。
【0156】また、HLP、SDPの算出は、必ずしも上述した方法によって求める必要はなく、従来知られている方式を適宜用いてもよい。
【0157】ところで前述したように、高輝度領域における明るさの分布を調べるためにハイライトポイントを用い、低輝度領域における明るさの分布を調べるためにシャドーポイントを用いた。しかし例えばハイライトポイントの変わりになる別のパラメータで高輝度領域の明るさの分布の詳細が分かればそれを用いてもよい。つまりヒストグラムの最大値からある輝度値(例えば輝度値220)までの累積度数の全画素数に占める割合を求め、その値から高輝度領域の明るさの分布判定を行ってもよい。その場合、ハイライトポイントと同様、該パラメータに対して複数の閾値を設け、場合分け判定を行う。もちろん低輝度領域においてもシャドーポイントの代わりに、ヒストグラムの最小値からある輝度値(例えば輝度値30)までの累積度数の全画素数に占める割合を求め、同様の判定を行えばよい。
【0158】また、上述の実施形態では、輝度値Yに関する補正について説明したが、R、G、Bの各信号に対して直接同様の補正を行っても良い。この際、上述のLUTを用い、そのLUTにおいてYの代わりにR、G、B、Y′の代わりにR′、G′、B′を用いて補正を行うことができる。R、G、B信号に対する補正は、RGB―YCrCb変換が不要であるため、処理速度の向上を図ることができる。
【0159】なお、露出設定がオートの場合、自動的に上述の処理を加えるが、例えば露出がオートであってさらに基準値からの変更量がわかれば、それに応じて上述の処理内容を設定変更してもよい。
【0160】つまりは、図13に示したHLP、S128、SDPの閾値の設定は、撮影条件データ106の露出の値を用い、例えば露出が基準値より小さい場合、図13の閾値を変更して全体的に明るい補正がなされやすいようにすると、暗く撮影された画像を適度な明るさに補正することができる。また一方で、露出の値が大きい場合、露出オーバーになる可能性があるので、全体的に明るさを下げるように図13の閾値をそれに合わせて設定変更すればよい。
【0161】<デジタルズームON/OFF情報>ところで、近年のデジタルスチルカメラは光学的に被写体をズームイン/アウトするほかに、デジタル処理を加えることにより、画像の拡大処理を行うことができる。デジタルズームは画像サイズを単純に有理数倍するものが多く、輪郭部分が見た目にガタガタになりやすくなる(ジャギー)。また拡大方法にはニアレストネイバー法、バイリニア法、バイキュービック法といった手法が一般に用いられている。
【0162】撮影条件データ106にデジタルズームの倍率や拡大処理法などが書き込まれた場合、それらを元に画像に対して輪郭を滑らかに処理するスムージング処理を行ってもよい。例えば特開平11−331565で発案されたように低解像度の画像に拡大処理を行い、高解像度に仕上げる方法が知られている。一方、そのようなスムージング処理の係数(処理度合い)はデジタルズームの倍率や拡大処理方法によって可変に行うのが望ましい。つまりデジタルズームの倍率が低いほど、スムージングの度合いを弱めたり、拡大処理の雑なニアレストネイバー法では逆にスムージングの度合いを強めてもいい。この一連の処理を図19に示す。
【0163】<ストロボ発光ON/OFF情報>また、撮影条件データ106よりストロボが発光したという情報を得た場合、上記と同様に濃度補正処理の内容を変更してもよい。例えば図13に示したテーブルの他に、ストロボ発光用のテーブルをもう一つ設け、ストロボがOFFの場合は従来の図13のテーブルを用いるが、ストロボがONの場合には新しい別のテーブルを用いることで、より精度の高い画像補正が可能になる。
【0164】ストロボ撮影の場合は、主に夜景撮影や暗室撮影などといったように、画像全体が暗く撮影されがちである。この場合、明るく補正されやすいようにテーブルの閾値を変更する必要がある。また、ストロボに反射された被写体は青白く写る傾向がある。この場合、被写体を色味的に黄色く明るさを押さえる補正を加えるとよい。一方で、被写体の背景はストロボの光が届かず、暗く階調がつぶれた画像になりがちである。つまり、階調の低い部分は輝度を上げて階調を出す処理が必要になる。
【0165】こうした処理を加えることで、撮影時にストロボ発光された画像に関して最適な処理を行うことができる。
【0166】<撮影シーン情報>被写体によって撮影モード(風景モード、人物モード、マクロ撮影モードなどが挙げられる)を切り替えたときに、撮影条件データ106に撮影シーン情報が付加される場合を考える。その場合、その情報を元により最適な記憶色再現補正を行うことができる。例えば風景モードの場合、空や草木が主な被写体になりうる。そこで図3S2の画像補正処理部で、青や緑の彩度を上げ、コントラストを高める処理を行ってもよい。また、シャープネスフィルタを施すことによって、風景画像をより見栄えのする画像に仕上げることができる。彩度を上げる場合、各色相毎に彩度拡張係数を求め、元の彩度値にこの係数を掛け合わせることで、彩度補正を行うと少ないメモリ量で効果を上げることができる。
【0167】一方で、人物モード撮影の場合、図3S2の画像補正処理部で肌色領域の彩度、輝度をより好ましい色に補正する処理を追加してもよい。また、ぼかしフィルタを用いて画像全体をぼかすのも、人物画像をよりきれいに見せるための方法の一つでもあり、撮影条件データを用いることで自動処理が可能となる。
【0168】上述した実施の形態では、ホワイトバランス、露出、ストロボ、撮影シーン及びデジタルズームなどの撮影条件データを読みとった場合の補正方法を説明してきた。しかしながら、複数の画像補正処理を行うと同様の処理が重複してしまったり、先の補正で強調した部分を次の補正では弱めてしまったりする場合がある。
【0169】例えば上述したカラーバランス補正と濃度補正では、両方にハイライトポイントとシャドーポイントを用いたコントラスト強調処理が含まれている。このような場合、1度で十分なコントラスト処理を2度かけてしまうことになり、ユーザの意図に反する画像に仕上がってしまう。
【0170】また、デジタルズーム情報より画像にスムージングをかけても、撮影シーン情報が風景モードの場合、その後にシャープネスフィルタをかけてしまうと、先のスムージング処理の効果を打ち消してしまう。
【0171】こういった複数の処理を一つの画像にかけることによる弊害を防ぐため、処理に規制をかける必要がある。本実施例では、各画像補正処理の順番に優先順位をつける。
【0172】まずはじめに図20に示すように、カラーバランス情報、露出情報、ストロボ情報、撮影シーン情報、デジタルズーム情報のそれぞれに対し、どの判定がなされたかをメモリ部に格納する。
【0173】次に図20S1で、デジタルズーム情報によりスムージング処理を行う。低解像度の画像を高解像度にするこの処理は、画像全体の色味や明るさに影響を及ぼさないと考えられるので、最初に行うのが望ましい。
【0174】次に図20S2で、露出情報より判定された明るさ補正の度合いから、コントラストが強調される判定がなされた場合、最初に補正処理を行うカラーバランス補正のうちのコントラスト補正は行わない(ONへ)。一方、明るさ補正で単なるガンマ補正のみ行うと判定された場合(コントラスト強調は行われない場合)、コントラスト補正を含むカラーバランス補正を行う。こうすることで、コントラスト補正が明るさ補正とカラーバランス補正の両方で2重にかかるのを防ぐことができる。
【0175】次に図20S3で明るさ補正を行うが、ストロボ情報がONかOFFかを参照し、ONならば明るさ補正のテーブルはストロボ用のテーブルを参照し、OFFなら図13に示す従来のテーブルを参照する。こうすることで、露出、ストロボ情報から得られた最適な明るさ補正を画像に施すことができる。
【0176】最後に図20S4で、撮影シーン情報を元に記憶色再現補正を行う。ここではカラーバランス補正において彩度調整を行った場合、彩度拡張係数をそれに合わせて小さく設定してもよい。また、デジタルズーム補正でスムージングの度合いが大きい場合、人物モードでぼかしをかける度合いも小さく設定するべきである。
【0177】こうして複数の画像補正処理を行う場合、それぞれの処理を行う順番に優先順位をつけ、また諸条件において処理に重み付けをし、ある補正処理を行うと別の処理は行わないといった制約事項を設けることで、最終的に無理、無駄のない画像補正ができる。
【0178】(マニュアルモード通知機能)撮影情報データがマニュアル撮影を示す画像に対する画像補正処理部113の処理内容について述べる。まず撮影条件データ106にある、ホワイトバランス、露出、ストロボ発光ON/OFFに関する情報を読みとり、それらが自動撮影(オートモード)ならばそれぞれの画像補正を行う。しかしながらユーザの手動設定撮影(マニュアル撮影)の場合、上述したように自動的に画像補正処理をかけてしまうと、ユーザの意図に反した画像に仕上がってしまう。そこで各情報がマニュアル撮影の場合、自動補正処理をかけるべきか、補正をかけないべきかユーザに知らせる必要がある。
【0179】近年のデジタルスチルカメラには、ホワイトバランスはオートまたはマニュアルモード(晴天、曇天、タングステンランプ、蛍光灯など)といったように複数用意されている。ユーザはオート以外の設定を選ぶときには、上記の中から撮影状況にあったモードを選ぶ必要がある。つまりユーザの意図が撮影画像に反映されるわけで、これをモニタやプリンタに画像出力の際、画像補正処理を自動に行ったのでは撮影者の意図にそぐわない場合もある。そこで撮影設定がマニュアルの場合、画像補正処理を自動に行うのではなく、処理を行うべきかユーザに確認をとる必要がある。
【0180】露出に関しても同様で、オート以外にマニュアルの場合、ユーザが自身で露出の度合いを設定できる。この状況でもホワイトバランスと同様で、ユーザの意図に反しないために画像補正を行う際には確認が必要である。
【0181】そこでホワイトバランス、露出が撮影条件データ106内でマニュアル設定されている情報を得た場合、パソコンのモニタ上に自動画像補正を行ってもよいかどうか表示させ、行ってもよい場合は従来通りの処理を施す。また、行ってはいけないとユーザが指定したときにはその画像補正処理に関しては行わない。ユーザに通知する方法はパソコンのモニタ上に表示するに限らず、例えばプリンタ本体に警告ランプを点灯させる方法でも良い。
【0182】ところで上記に関連して、以下のようなケースも考える必要がある。
【0183】ユーザが意図的にマニュアルモードで撮影しても、ホワイトバランスや露出の設定ミスが起こる場合がある。例えば日中の屋外での撮影で、露出を暗めに設定したが適正露出値ではなく、露出オーバーの画像になってしまった場合や、ストロボをマニュアルで強制OFFに設定したが、撮影された画像が光量不足で暗くなってしまった場合などが考えられる。
【0184】また一方で、ユーザがオートモードと間違ってマニュアルモードで撮影してしまったために、失敗画像になってしまうこともある。例えば、ホワイトバランスが以前に曇天下で撮影したときの設定になったままで、間違って蛍光灯下の室内でそのまま撮影を行った場合などである。
【0185】先に述べたように、ユーザがマニュアルモードで撮影した場合、自動画像補整処理を行うとユーザの意図に反した画像に補整されてしまう可能性があった。しかしこのように、マニュアルモードで撮影された画像が失敗画像になってしまった場合、通常では自動画像補整処理はかからないことになる。つまりこのような状況でもまた、自動画像補整処理を行うか否かをユーザに確認を取る必要がある。
【0186】つまりマニュアルモードで撮影された画像が、ユーザの意図を反映した画像の場合、自動画像補正処理は行わないよう選択し、ユーザの意図とは反する画像の場合、自動画像補正処理を行う選択をすればよい。そのためにはマニュアルモードで撮影された画像をモニタやプリンタで出力する際、ユーザに自動画像補整処理を行うか否かを確認を取らなければならない。
【0187】さらに最近では、ディジタルスチルカメラで撮影された画像データを、写真ラボでオペレータ(撮影者以外の人)が画像補整処理を加えてプリントするサービスがある。この場合、オペレータが手動で画像補整処理を行った場合、撮影者の意図が反映されなくなる。つまりオペレータにどの画像がマニュアルモードで撮影されたかを警告する必要がある。
【0188】以上、これらの場合において、マニュアルモードで撮影された画像をモニタやプリンタで出力する際には、その画像がマニュアルモードで撮影された画像であることを通知し、ユーザに自動画像補整処理を行うか否かを確認する必要がある。また、撮影者以外の人が画像補整処理を行う場合、マニュアルモードで撮影された画像であることを警告する必要がある。
【0189】上述したフローチャートを図19に示す。S1はカラーバランス補正を、S2は明るさ補正を表す。
【0190】《オートブラケット機能ON/OFF》ここでオートブラケット機能について説明する。カメラによってはオートブラケット機能が付いているものもある。これはシャッターを切ることで、露出基準値で撮影したほかに自動的に露出をプラス側とマイナス側へシフトさせてそれぞれ撮影するものである。つまり一度のシャッターで3段階の露出を変えた撮影ができる。もちろんこの機能がONの場合、ユーザは意図的に明るさを変えて撮影したのであり、ユーザに自動画像補正処理の必要か否かを確認しなければならない。これを図19のS2に示す。
【0191】ここから、具体的な表示方法、ユーザインターフェイス(UI)の例を図を用いて説明する。
【0192】まずはじめに、マニュアルモードで撮影された画像をアプリケーションソフトで開くときに、図22−S1で示すようにUI画面上で自動画像補整処理をONにするかOFFにするかをユーザに選択させる。すなわちユーザがONを選択すれば自動画像補整処理を行い、OFFを選択すれば処理は行わないようにする。また、UI画面の表示はアプリケーションソフトで画像を開くときに限らず、プリントを設定するときに表示してもよい。
【0193】次に、上記選択でONが設定された場合、図22−S2に示すようにモニタ上でプレビュー表示を行う。例えば、補正していない元画像と自動画像補整処理後の画像を並べて、ユーザが処理の確認を取れるように表示する。こうすることにより、処理後の画像がユーザの意図に反する場合は、自動画像補整処理を改めてOFFに設定できるようになる。
【0194】また、例えばホワイトバランス、露出の両方をマニュアルモードで撮影した画像をプレビューする場合、複数のプレビュー表示をしてもよい。つまり、ホワイトバランスのみ自動画像補整処理を行い、露出は元の明るさのままにする、またはホワイトバランスは元の色のままで露出のみ自動画像補整処理を行うなど、複数種類の画像をプレビュー表示し、UI画面を見ながらユーザの意図に合った画像を一つ選択できるようにする。こうすることで、ホワイトバランス、露出の片方を撮影ミスした画像でもより詳細な設定にて補正することができる。
【0195】ところで、複数のディジタルカメラ画像をアプリケーションソフトで開くときに、サムネイル表示をする方法がある。この場合、マニュアルモードで撮影された画像がどれかが即座に判別できるよう、図23−S2のように目印を記す。こうすることで、ユーザは複数の画像を一度に表示する際やプリントする際などに、どの画像がオートモードで撮影されて自動画像補整処理され、どの画像がマニュアルモードで撮影されて処理が行われないかが、一目で識別できるようになる。また、写真ラボのオペレータなど、撮影者以外の人が複数の画像を順番に画像補整処理を行う際にも、どの画像がマニュアルモードで撮影され、どの画像を補整すべきかがすぐに識別できるようになる。
【0196】ところで、オートモード、マニュアルモードでの撮影に関係なく全ての画像に自動画像補整処理を行いたい場合などもある。その場合は、「マニュアルモード強制OFF」ができる機能を設けるとよい。例えば、図23−S1に示すようなチェックボックスをアプリケーションソフトに設け、ON/OFFのチェックができるようにする。つまりチェックを行った場合(マニュアルモード強制OFF)、マニュアルモードで撮影されたという情報が無視され、全ての画像に対して自動画像補整処理を行えるようにする。
【0197】上記具体例に説明したように、ディジタルカメラ画像をアプリケーションソフトで処理する際に、それがマニュアルモードで撮影された画像である場合、自動画像補整処理するか否かをユーザに確認させ、画像をプレビュー表示させることで、補正前と補整後の画像を比べることができる。
【0198】また、サムネイル表示において、マニュアルモードで撮影された画像に目印を付けることで、どの画像がマニュアルモードで撮影されたかを即座に判定できるようになる。
【0199】さらにマニュアルモード強制OFF機能を加えれば、マニュアルモードで撮影されたか否かに関係なく全画像を一括に自動画像補整処理が行えるようになる。
【0200】カラーバランス補正、明るさ補正のそれぞれを独立とし、撮影条件データ106からユーザ通知を行う。つまり露出はオートだがホワイトバランスはマニュアル設定の場合、明るさ補正は自動で行うがカラーバランス補正はパソコンを介してユーザに補正が必要か否か、指定を促す通知を行う。こうしてそれぞれの補正においてユーザが撮影時の設定を無理に損なわせないよう、ユーザの意図を反映させつつ自動画像補正処理を行うことで、より精度の高い修正が可能となる。
【0201】<その他の実施例>尚、上述の実施例では、撮影条件情報を画面表示するようにしたが、これに限られることはなく、例えば、所定ランプの点灯/消灯等により、撮影条件情報が正しく認識利用されていることを示すようにしてもよい。
【0202】また、本発明は、上述した第1及び第2の処理方法に限定されるものではなく、本発明の要旨を逸脱しない範囲で種種変形実施可能なものとなる。
【0203】また、画像の入力手段(取得手段)として、ディジタルスチルカメラを一例として用いるように構成したが、これに限られたものではなく、例えば、ディジタルビデオカメラや、イメージスキャナ、或いはフィルムスキャナ等の入力機器を適用可能である。
【0204】また、第1及び第2の処理方法のホスト及び端末の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読みだして実行することによっても、第1、第2の処理方法を達成されることは言うまでもない。
【0205】この場合、記憶媒体から読み出されたプログラムコード自体が第1及び第2の処理方法の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体及び当該プログラムコードは本発明を構成することとなる。
【0206】プログラムコードを供給するための記憶媒体としては、ROM、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード等を用いることができる。
【0207】また、コンピュータが読みだしたプログラムコードを実行することにより、第1及び第2の発明の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS等が実際の処理の一部又は全部を行い、その処理によって第1及び第2の発明の機能が実現される場合も含まれることは言うまでもない。
【0208】さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって第1及び第2の処理方法の機能が実現される場合も含まれることは言うまでもない。
【0209】図21は、上記コンピュータの機能600を示したものである。
【0210】コンピュータ機能600は、上記図21に示すように、CPU601と、ROM602と、RAM603と、キーボード(KB)609のキーボードコントローラ(KBC)605と、表示部としてのCRTディスプレイ(CRT)610のCRTコントローラ(CRTC)606と、ハードディスク(HD)611及びフレキシブルディスク(FD)612のディスクコントローラ(DKC)607と、ネットワーク620との接続のためのネットワークインターフェースコントローラ(NIC)608とが、システムバス604を介して互いに通信可能に接続された構成としている。
【0211】CPU601は、ROM602或いはHD611に記憶されたソフトウェア、或いはFD612より供給されるソフトウェアを実行することで、システムバス604に接続された各構成部を総括的に制御する。
【0212】すなわち、CPU601は、所定の処理シーケンスに従った処理プログラムを、ROM602、或いはHD611、或いはFD612から読み出して実行することで、本実施の形態での動作を実現するための制御を行う。
【0213】RAM603は、CPU601の主メモリ或いはワークエリア等として機能する。
【0214】KBC605は、KB609や図示していないポインティングデバイス等からの指示入力を制御する。
【0215】CRTC606は、CRT610の表示を制御する。
【0216】DKC607は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラム、及び本実施の形態における所定の処理プログラム等を記憶するHD611及びFD612とのアクセスを制御する。
【0217】NIC608は、ネットワーク620上の装置或いはシステムと双方向にデータをやりとりする。
【0218】
【発明の効果】以上説明したように本発明では、処理対象の画像情報(ディジタルスチルカメラにより撮影して得られた画像情報等)に対して付加された条件情報(撮影条件情報等)を解析した結果に基づいて、当該画像情報に対して画像処理(画像補正処理等)を施すように構成した。これにより、画像取得時の状況に応じた画像処理を行うことができ、ユーザが意図する良好な処理後画像を提供することができる。また、条件情報がマニュアル設定の場合、自動的に画像補正を行うのではなく、ユーザに補正処理が必要か否かを通知し、必要と指定された場合に限ってその補正を行う。こうすることでユーザが撮影時に設定した状況を損なうことなく、ユーザの意図を反映することができる。
【0219】尚、具体的には例えば、ディジタルスチルカメラにおいては、条件情報としてホワイトバランス情報を元にカラーバランス補正を行い、露出情報、オートブラケット情報を元に明るさ補正を行う。
【図面の簡単な説明】
【図1】第1の実施の形態において、本発明を適用した画像印刷システムの構成を示すブロック図である。
【図2】RGB画像信号をYCC信号に変換し、画像処理を行い、再びRGB信号に変換する図である。
【図3】画像補正処理部の処理手順のフローチャートである。
【図4】輝度ヒストグラム作成手順のフローチャートである。
【図5】実施例における色バランス補正の原理を説明するための色立体図で(a)は理想的な色立体図、(b)は該画像の色バランス補正前の色立体図である。
【図6】非線形ガンマ変換関数を示すグラフである。
【図7】輝度−彩度平面でみた露出オーバー・アンダーの特徴を示す図で、(a)は露出オーバーの概念図、(b)は露出アンダーの概念図、(c)は露出オーバーの一例、(d)は露出アンダーの一例である。
【図8】第3の実施の形態における色立体軸を決める様子を示す図である。
【図9】画像補正の制御手順のフローチャートである。
【図10】第2の実施形態における色かぶり補正の制御手順のフローチャートである。
【図11】上記自動階調補正処理の手順を示すフローチャートである。
【図12】図11に示す上記自動階調補正処理における階調曲線判定の処理手順を示すフローチャートである。
【図13】上記階調曲線判定処理で用いるテーブルの内容を示し、画像の種類に応じた階調曲線の定め方を説明する図である。
【図14】上記自動階調補正処理の処理対象である画像が明るい画像である場合のヒストグラムを示す図である。
【図15】上記自動階調補正処理の処理対象である画像の明るさが中間的な画像である場合のヒストグラムを示す図である。
【図16】上記自動階調補正処理の処理対象である画像が暗い画像である場合のヒストグラムを示す図である。
【図17】γ値に応じた輝度補正テーブルの変換特性曲線(指数関数)を示す図である。
【図18】単なるγ補正以外の、輝度補正テーブルの変換特性曲線(5次曲線)を示す図である。
【図19】デジタルズーム情報を元にスムージング処理を行うフローチャートである。
【図20】撮影条件データより、複数の画像補正処理を行う制約を示したフローチャートである。
【図21】コンピュータの機能を示した図である。
【図22】自動補正確認ユーザインターフェイスと画像のプレビュー表示を示す図である。
【図23】チェックボックスと画像のサムネイル表示を示す図である。
【特許請求の範囲】
【請求項1】 画像取得時の条件情報を含む画像情報に対して画像処理を施す画像処理装置であって、上記条件情報を解析する解析手段と、上記解析手段の解析結果に基づいて、カラーバランスの度合いを示す値に応じて画像の色補正量を求め、明るさの度合いを示す値に応じて画像の明るさ補正量を求め、画像処理条件を決定する処理決定手段と、上記処理決定手段で決定された画像処理条件による処理を上記画像情報に施す処理手段と、上記画像が画像取得者の手動設定によって取得された場合、上記処理手段による処理を行うか否かを通知する手段とを備えることを特徴とする画像処理装置。
【請求項2】 上記処理手段による処理後の画像情報を出力する出力手段とを備えることを特徴とする請求項1記載の画像処理装置。
【請求項3】 上記出力手段は、印刷出力機能を含むことを特徴とする請求項2記載の画像処理装置。
【請求項4】 上記画像のカラーバランスの補正量を求める処理決定手段は、原画像のハイライトポイントおよびシャドーポイントの明るさを検出し、前記明るさを有する複数の画素から、前記ハイライトポイントおよびシャドーポイントの色みを求め、前記ハイライトポイント、前記シャドーポイントおよび前記色みに基づき、前記原画像に対して色補正を行うことを特徴とする請求項1記載の画像処理装置。
【請求項5】 前記色補正は、前記原画像の色立体軸を明るさを示す軸に合わせるとともに、前記原画像の明るさを示す色成分に対してコントラスト調整を行うことを特徴とする請求項4記載の画像処理方法。
【請求項6】 前記色補正は、前記原画像の色みを示す色成分に対して補正処理を行い、原画像の彩度を調整することを特徴とする請求項4記載の画像処理方法。
【請求項7】 さらに、原画像の明るさを示す色成分に基づきヒストグラムを作成し、前記ヒストグラムに基づき前記ハイライトポイントおよびシャドーポイントを検出することを特徴とする請求項4記載の画像処理方法。
【請求項8】 上記画像情報は、ディジタルスチルカメラにより得られた画像情報を含むことを特徴とする請求項1記載の画像処理装置。
【請求項9】 上記画像情報は、撮影画像情報を含み、上記条件情報は、上記撮影画像情報取得時における露出、ストロボ、ホワイトバランス、撮影モード、デジタルズーム及びオートブラケットの少なくとも何れかの情報を含むことを特徴とする請求項1記載の画像処理装置。
【請求項10】 上記条件情報に関する情報を提示する提示手段を備えることを特徴とする請求項1記載の画像処理装置。
【請求項11】 上記提示手段は、上記条件情報が付加された画像情報の処理タイミングに基づいて、上記条件情報に関する情報を提示することを特徴とする請求項11記載の画像処理装置。
【請求項12】 上記解析手段は、上記画像情報を解析する機能を有することを特徴とする請求項1記載の画像処理装置。
【請求項13】 前記通知は、前記画像をひとつあるいは複数表示する際に行われることを特徴とする請求項1項記載の画像処理装置。
【請求項14】 前記画像が画像取得者の手動設定により取得された場合に、前記条件情報をキャンセルする手段をさらに有することを特徴とする請求項1項記載の画像処理装置。
【請求項15】 画像取得時の条件情報を含む画像情報に対して画像処理を施すための画像処理方法であって、上記条件情報を解析する解析ステップと、上記解析ステップによる解析結果に基づいて、カラーバランスの度合いを示す値に応じて画像の色補正量を求め、明るさの度合いを示す値に応じて画像の明るさ補正量を求め画像補正条件を決定するステップ、上記決定された画像補正条件による処理を上記画像情報に施す処理ステップと、上記画像が画像取得者の手動設定によって取得された場合、上記処理ステップで処理時に処理を行うか否かを通知するステップとを含むことを特徴とする画像処理方法。
【請求項16】 画像取得時の条件情報を含む画像情報へ画像補正処理を施して印刷処理するための画像処理方法であって、上記条件情報を解析する解析ステップと、上記解析ステップによる解析結果に基づいて、カラーバランスの度合いを示す値に応じて画像の色補正量を求め、明るさの度合いを示す値に応じて画像の明るさ補正量を求め、画像補正条件を決定するステップ、上記画像補正条件決定ステップにより決定された画像補正条件に基いて、上記画像情報へ画像補正処理を施す画像補正ステップと、上記画像補正ステップによる処理後の画像情報を印刷処理する印刷ステップとを含むことを特徴とする画像処理方法。
【請求項17】 上記画像補正ステップ及び上記印刷ステップの処理実行タイミングに基いて、上記条件情報に対応する処理モード情報を表示する表示ステップとを含むことを特徴とする請求項16項記載の画像処理方法。
【請求項18】 上記画像情報をディジタルスチルカメラの撮影により取得する画像取得ステップを含むことを特徴とする請求項14項に記載の画像処理方法。
【請求項19】 上記画像情報は、撮影画像情報を含み、上記条件情報は、撮影時における露出、ストロボ、ホワイトバランス、及び撮影モードの少なくとも何れかの情報を含むことを特徴とする請求項14に記載の画像処理方法。
【請求項20】 画像取得時の条件情報を含む画像情報に対して画像処理を施すためのプログラムが記憶された記憶媒体であって、上記条件情報を解析する解析するコードと、上記解析ステップによる解析結果に基づいて、カラーバランスの度合いを示す値に応じて画像の色補正量を求め、明るさの度合いを示す値に応じて画像の明るさ補正量を求め画像補正条件を決定するためのコード、上記決定された画像補正条件による処理を上記画像情報に施すためのコードと、上記画像が画像取得者の手動設定によって取得された場合、上記処理ステップで処理時に処理を行うか否かを通知するためのコードが記憶された記憶媒体。
【請求項21】 画像取得時の条件情報を含む画像情報に対して画像処理を施すためのプログラムであって、上記条件情報を解析する解析するコードと、上記解析ステップによる解析結果に基づいて、カラーバランスの度合いを示す値に応じて画像の色補正量を求め、明るさの度合いを示す値に応じて画像の明るさ補正量を求め画像補正条件を決定するためのコード、上記決定された画像補正条件による処理を上記画像情報に施すためのコードと、上記画像が画像取得者の手動設定によって取得された場合上記処理ステップで処理時に処理を行うか否かを通知するためのコードからなるプログラム。
【請求項1】 画像取得時の条件情報を含む画像情報に対して画像処理を施す画像処理装置であって、上記条件情報を解析する解析手段と、上記解析手段の解析結果に基づいて、カラーバランスの度合いを示す値に応じて画像の色補正量を求め、明るさの度合いを示す値に応じて画像の明るさ補正量を求め、画像処理条件を決定する処理決定手段と、上記処理決定手段で決定された画像処理条件による処理を上記画像情報に施す処理手段と、上記画像が画像取得者の手動設定によって取得された場合、上記処理手段による処理を行うか否かを通知する手段とを備えることを特徴とする画像処理装置。
【請求項2】 上記処理手段による処理後の画像情報を出力する出力手段とを備えることを特徴とする請求項1記載の画像処理装置。
【請求項3】 上記出力手段は、印刷出力機能を含むことを特徴とする請求項2記載の画像処理装置。
【請求項4】 上記画像のカラーバランスの補正量を求める処理決定手段は、原画像のハイライトポイントおよびシャドーポイントの明るさを検出し、前記明るさを有する複数の画素から、前記ハイライトポイントおよびシャドーポイントの色みを求め、前記ハイライトポイント、前記シャドーポイントおよび前記色みに基づき、前記原画像に対して色補正を行うことを特徴とする請求項1記載の画像処理装置。
【請求項5】 前記色補正は、前記原画像の色立体軸を明るさを示す軸に合わせるとともに、前記原画像の明るさを示す色成分に対してコントラスト調整を行うことを特徴とする請求項4記載の画像処理方法。
【請求項6】 前記色補正は、前記原画像の色みを示す色成分に対して補正処理を行い、原画像の彩度を調整することを特徴とする請求項4記載の画像処理方法。
【請求項7】 さらに、原画像の明るさを示す色成分に基づきヒストグラムを作成し、前記ヒストグラムに基づき前記ハイライトポイントおよびシャドーポイントを検出することを特徴とする請求項4記載の画像処理方法。
【請求項8】 上記画像情報は、ディジタルスチルカメラにより得られた画像情報を含むことを特徴とする請求項1記載の画像処理装置。
【請求項9】 上記画像情報は、撮影画像情報を含み、上記条件情報は、上記撮影画像情報取得時における露出、ストロボ、ホワイトバランス、撮影モード、デジタルズーム及びオートブラケットの少なくとも何れかの情報を含むことを特徴とする請求項1記載の画像処理装置。
【請求項10】 上記条件情報に関する情報を提示する提示手段を備えることを特徴とする請求項1記載の画像処理装置。
【請求項11】 上記提示手段は、上記条件情報が付加された画像情報の処理タイミングに基づいて、上記条件情報に関する情報を提示することを特徴とする請求項11記載の画像処理装置。
【請求項12】 上記解析手段は、上記画像情報を解析する機能を有することを特徴とする請求項1記載の画像処理装置。
【請求項13】 前記通知は、前記画像をひとつあるいは複数表示する際に行われることを特徴とする請求項1項記載の画像処理装置。
【請求項14】 前記画像が画像取得者の手動設定により取得された場合に、前記条件情報をキャンセルする手段をさらに有することを特徴とする請求項1項記載の画像処理装置。
【請求項15】 画像取得時の条件情報を含む画像情報に対して画像処理を施すための画像処理方法であって、上記条件情報を解析する解析ステップと、上記解析ステップによる解析結果に基づいて、カラーバランスの度合いを示す値に応じて画像の色補正量を求め、明るさの度合いを示す値に応じて画像の明るさ補正量を求め画像補正条件を決定するステップ、上記決定された画像補正条件による処理を上記画像情報に施す処理ステップと、上記画像が画像取得者の手動設定によって取得された場合、上記処理ステップで処理時に処理を行うか否かを通知するステップとを含むことを特徴とする画像処理方法。
【請求項16】 画像取得時の条件情報を含む画像情報へ画像補正処理を施して印刷処理するための画像処理方法であって、上記条件情報を解析する解析ステップと、上記解析ステップによる解析結果に基づいて、カラーバランスの度合いを示す値に応じて画像の色補正量を求め、明るさの度合いを示す値に応じて画像の明るさ補正量を求め、画像補正条件を決定するステップ、上記画像補正条件決定ステップにより決定された画像補正条件に基いて、上記画像情報へ画像補正処理を施す画像補正ステップと、上記画像補正ステップによる処理後の画像情報を印刷処理する印刷ステップとを含むことを特徴とする画像処理方法。
【請求項17】 上記画像補正ステップ及び上記印刷ステップの処理実行タイミングに基いて、上記条件情報に対応する処理モード情報を表示する表示ステップとを含むことを特徴とする請求項16項記載の画像処理方法。
【請求項18】 上記画像情報をディジタルスチルカメラの撮影により取得する画像取得ステップを含むことを特徴とする請求項14項に記載の画像処理方法。
【請求項19】 上記画像情報は、撮影画像情報を含み、上記条件情報は、撮影時における露出、ストロボ、ホワイトバランス、及び撮影モードの少なくとも何れかの情報を含むことを特徴とする請求項14に記載の画像処理方法。
【請求項20】 画像取得時の条件情報を含む画像情報に対して画像処理を施すためのプログラムが記憶された記憶媒体であって、上記条件情報を解析する解析するコードと、上記解析ステップによる解析結果に基づいて、カラーバランスの度合いを示す値に応じて画像の色補正量を求め、明るさの度合いを示す値に応じて画像の明るさ補正量を求め画像補正条件を決定するためのコード、上記決定された画像補正条件による処理を上記画像情報に施すためのコードと、上記画像が画像取得者の手動設定によって取得された場合、上記処理ステップで処理時に処理を行うか否かを通知するためのコードが記憶された記憶媒体。
【請求項21】 画像取得時の条件情報を含む画像情報に対して画像処理を施すためのプログラムであって、上記条件情報を解析する解析するコードと、上記解析ステップによる解析結果に基づいて、カラーバランスの度合いを示す値に応じて画像の色補正量を求め、明るさの度合いを示す値に応じて画像の明るさ補正量を求め画像補正条件を決定するためのコード、上記決定された画像補正条件による処理を上記画像情報に施すためのコードと、上記画像が画像取得者の手動設定によって取得された場合上記処理ステップで処理時に処理を行うか否かを通知するためのコードからなるプログラム。
【図1】
【図2】
【図3】
【図8】
【図14】
【図4】
【図5】
【図6】
【図7】
【図9】
【図11】
【図15】
【図16】
【図10】
【図12】
【図13】
【図17】
【図18】
【図21】
【図19】
【図20】
【図22】
【図23】
【図2】
【図3】
【図8】
【図14】
【図4】
【図5】
【図6】
【図7】
【図9】
【図11】
【図15】
【図16】
【図10】
【図12】
【図13】
【図17】
【図18】
【図21】
【図19】
【図20】
【図22】
【図23】
【公開番号】特開2003−339057(P2003−339057A)
【公開日】平成15年11月28日(2003.11.28)
【国際特許分類】
【出願番号】特願2003−58490(P2003−58490)
【出願日】平成15年3月5日(2003.3.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成15年11月28日(2003.11.28)
【国際特許分類】
【出願日】平成15年3月5日(2003.3.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]