画像処理装置及び撮像装置
【課題】現在コマの補正量算出において過去コマの補正量を参照する際に、過去コマと現在コマが異なる条件で撮影されたような場合においても好ましい補正を行えるようにする。
【解決手段】画像の撮影時における撮影時情報を取得する撮影時情報取得部と、撮影画像における画像特徴量から撮影画像の補正量を算出する補正量算出部と、撮影時情報に基づいて補正量を修正する修正部と、修正した後の補正量を撮影画像に適用して補正処理を行う補正処理部と、修正部により修正する前の補正量を記録する補正量記録部と、現在の画像について補正処理を行う時に、過去の画像についての修正する前の補正量を取得する補正量取得部とを備え、修正部は、現在の画像について補正処理を行う時に、過去の画像についての修正する前の補正量と、現在の画像の撮影時における撮影時情報とに基づいて、補正量を修正し、補正処理部は、修正された補正量を現在の撮影画像に適用して補正処理を行う。
【解決手段】画像の撮影時における撮影時情報を取得する撮影時情報取得部と、撮影画像における画像特徴量から撮影画像の補正量を算出する補正量算出部と、撮影時情報に基づいて補正量を修正する修正部と、修正した後の補正量を撮影画像に適用して補正処理を行う補正処理部と、修正部により修正する前の補正量を記録する補正量記録部と、現在の画像について補正処理を行う時に、過去の画像についての修正する前の補正量を取得する補正量取得部とを備え、修正部は、現在の画像について補正処理を行う時に、過去の画像についての修正する前の補正量と、現在の画像の撮影時における撮影時情報とに基づいて、補正量を修正し、補正処理部は、修正された補正量を現在の撮影画像に適用して補正処理を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置に関し、特に入力された画像の補正を行う画像処理装置に関する。
【背景技術】
【0002】
画像の階調補正を行う技術として、画像から顔を検出し、そこから得られた顔情報を補正量の算出に用いるものが提案されている。例えば特許文献1では、ある撮影シーンに輝度の低い顔が含まれる場合はその顔が適切な明るさになるように階調補正を行う構成が記載されている。
【0003】
このような手法においては、画像から顔を検出することが可能である場合においては好ましい補正量を算出することが可能となる。しかし、撮影から各種処理、保存までの一連の流れを一つの撮影コマとして考えた場合において、あるコマの撮影時に顔が横を向くなどして顔の検出を失敗してしまうと、そのコマでは顔情報を利用した処理を行うことが出来なくなる。
【0004】
そのため、例えば特許文献2では過去コマにおける被写体の輝度情報と現在コマにおける被写体の輝度情報を比較し、輝度の変化量に応じて過去コマの補正値を利用することで、過去コマにおいて検出された情報を現在コマにも利用することが可能となっている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−045457号公報
【特許文献2】特開2002−247590号公報
【特許文献3】特開2010−183460号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、このような過去の階調補正値を現在の撮影画像に適用する方法においては過去コマと現在コマの二つのコマが異なる感度で撮影されたような場合には好ましい補正量とはならない場合がある。
【0007】
階調補正において、デジタル的に信号を持ち上げるような暗部補正ではノイズを強調してしまうことがある。この時、低感度で撮影された画像に対し暗部補正を行う場合には、暗部補正前の段階でのノイズが少ないため、暗部補正によって多少ノイズが強調されても許容できる場合が多い。しかし、高感度で撮影された画像に対し暗部補正を行う場合には、暗部補正前のノイズが多く、そこからさらに暗部補正によってノイズが強調されてしまうため、許容できない画像となってしまう場合がある。このような問題のため、従来から高感度で撮影されるほど、暗部補正による補正度合を弱める手法(以降「高感度リミッタ」と表記)が行われてきた。このような高感度における補正量の抑制をしながら前述したような過去コマの補正値を利用する場合には以下のような問題が発生する。
【0008】
まず、図4(a)のように、過去コマ401が現在コマ406よりも高感度で撮影されていた場合、過去コマ401で算出された補正量404はノイズを強調しすぎないように、補正曲線403に高感度リミッタを適用して補正量を抑制したものとなっている。これをそのまま現在コマ406の補正曲線408として適用してしまうと、本来はもっと明るくした方が好ましく、またノイズ量も問題ない画像となるはずが画像409のような補正不足の画像となってしまう。
【0009】
逆に、図5(a)のように、過去コマ420が現在コマ425よりも低感度で撮影されていた場合、過去コマ420で算出された補正曲線423は暗部補正前の段階でのノイズが少ないことを前提としたものとなっている。そのため、補正曲線423は補正曲線422に対してほぼ補正量が抑制されていないものとなっている。これをそのまま現在コマ425に補正曲線427として適用してしまうと現在コマ425は高感度で撮影されているため暗部補正前の段階においてノイズが多く、そこにさらに大きな補正がかかり、画像428のようにノイズが強調されすぎた画像となってしまう。
【0010】
また、階調補正においてはハイライト部の白飛びを抑制するものもあり、例えば特許文献3では白飛び量が多い場合にはやや暗めに撮影し、撮影時に低減された明るさを後で階調補正により補償している。
【0011】
しかし、このような過去の白飛びを抑制するための補正値を現在の撮影画像に適用する方法においては、過去コマと現在コマの二つのコマが異なる白飛び抑制量で撮影されたような場合には以下のような問題が発生する。
【0012】
まず、図11のように、過去コマ401では白飛び抑制がされ、現在コマ408では白飛び抑制がされていない場合、過去コマ401で算出された補正量406は白飛び抑制により低減された明るさを補償するための補正量405を含んでいる。これをそのまま現在コマ408の画像409に適用してしまうと、現在コマでは白飛び抑制による明るさの低減がされていないにも関わらず、余分に補正されてしまうため、画像411のような過補正な画像になってしまう。
【0013】
逆に、図13のように、過去コマ425では白飛び抑制がされず、現在コマ431では白飛び抑制がされている場合、過去コマ425で算出された補正量429は顔の明るさを補正する補正量427と同等のものとなっている。これをそのまま現在コマ431に適用してしまうと現在コマ431では白飛び抑制による低減がされているにも関わらず、それを補償する補正がかからない。そのため、画像435のように補正不足の画像になってしまい、場合によっては本来の明るさよりも逆に暗くなってしまう場合がある。
【0014】
本発明は上記の課題に鑑みてなされたものであり、現在コマの補正量算出において過去コマの補正量を参照する際に、過去コマと現在コマが異なる条件で撮影されたような場合においても好ましい補正を行えるようにすることを目的とする。
【課題を解決するための手段】
【0015】
本発明に係わる画像処理装置は、撮影画像に対して補正処理を行う画像処理装置であって、画像の撮影時における撮影時情報を取得する撮影時情報取得手段と、撮影画像における画像特徴量から前記撮影画像の補正量を算出する補正量算出手段と、前記撮影時情報に基づいて前記補正量を修正する修正手段と、前記修正手段により修正した後の前記補正量を撮影画像に適用して前記補正処理を行う補正処理手段と、前記修正手段により修正する前の前記補正量を記録する補正量記録手段と、現在の画像について前記補正処理を行う時に、過去の画像の撮影時において前記補正量記録手段に記録した前記修正する前の補正量を取得する補正量取得手段と、を備え、前記修正手段は、現在の画像について補正処理を行う時に、前記補正量取得手段により取得した前記過去の画像についての前記修正する前の補正量と、前記撮影時情報取得手段により取得される現在の画像の撮影時における撮影時情報とに基づいて、前記現在の画像について前記補正量を修正し、前記補正処理手段は、修正された前記補正量を現在の撮影画像に適用して前記補正処理を行うことを特徴とする。
【発明の効果】
【0016】
本発明によれば、現在コマの補正量算出において過去コマの補正量を参照する際に、過去コマと現在コマが異なる条件で撮影されたような場合においても好ましい補正を行うことが可能となる。
【図面の簡単な説明】
【0017】
【図1】本発明の実施形態に共通する撮像装置のブロック構成図。
【図2】本発明の実施形態に共通する画像処理装置のブロック構成図。
【図3】第1の実施形態による暗部補正処理を示すフローチャート。
【図4】第1の実施形態による過去コマの補正値の引き継ぎの様子を示す図。
【図5】第1の実施形態による過去コマの補正値の引き継ぎの様子を示す図。
【図6】第1の実施形態による暗部補正の例を示す図。
【図7】第1の実施形態による高感度リミッタの例を示す図。
【図8】第2の実施形態による暗部補正処理を示すフローチャート。
【図9】第2の実施形態の変形例による暗部補正処理を示すフローチャート。
【図10】第3の実施形態による階調補正処理を示すフローチャート。
【図11】第3の実施形態による過去コマの補正値の引き継ぎの様子を示す図。
【図12】第3の実施形態による過去コマの補正値の引き継ぎの様子を示す図。
【図13】第3の実施形態による過去コマの補正値の引き継ぎの様子を示す図。
【図14】第3の実施形態による過去コマの補正値の引き継ぎの様子を示す図。
【図15】第3の実施形態による階調補正の例を示す図。
【図16】第3の実施形態による白飛び抑制補償の例を示す図。
【図17】第4の実施形態による白飛び抑制量算出の様子を示す図。
【図18】第4の実施形態による階調補正処理を示すフローチャート。
【発明を実施するための形態】
【0018】
以下に、本発明の実施形態について、添付図面を参照して詳細に説明する。
【0019】
(第1の実施形態)
本実施形態においては、補正量算出時に高感度リミッタ適用前と適用後の値を算出し、適用前の情報を記録しておくことで、以降の撮影においてより適した補正量の算出を行う画像処理装置について説明する。
【0020】
図1は、第1の実施形態の画像処理装置を実現する一つの例である撮像装置100の構成を示すブロック図である。撮像装置はデジタルカメラ、デジタルビデオカメラなど、被写体を撮像し画像データを得る装置を含む。図1において、光学系101は、レンズ、シャッター、絞りから構成されていて、CPU103の制御によって被写体からの光を撮像素子102に結像させる。撮像素子102は、光学系101を通って結像した光を画像信号に変換する。CPU103は、入力された信号やプログラムに従って、各種の演算や、撮像装置100を構成する各部分の制御を行う。
【0021】
一次記憶装置104は、一時的なデータを記憶し、CPU103の作業用に使われる。二次記憶装置105は、撮像装置100を制御するためのプログラム(ファームウェア)や各種の設定情報を記憶する。記憶媒体106は、光学系101によって結像され、撮像素子102電気信号に変換され、CPU103によって処理された画像データなどを記憶する。なお、撮影後に記憶媒体106は取り外すことが可能であり、パーソナルコンピュータ(以下、PC)などに装着してデータを読み出すことが可能である。つまり、撮像装置100は記憶媒体106へのアクセス機能を有し、記憶媒体106へのデータの読み書きが行えればよい。表示部107は、撮影時のビューファインダー画像の表示、撮影した画像の表示、対話的な操作のための文字表示などを行う。操作部108は、使用者の操作を受け付けるためのものである。操作部108には、例えばボタンやレバー、タッチパネルなどを用いることが可能である。
【0022】
通信装置109は、外部装置と接続し制御コマンドやデータの送受信を行う。接続を確立し、データ通信するためのプロトコルとしては、例えばPTP(Picture Transfer Protocol)が用いられる。なお、通信装置109は、例えばUSB(Universal Serial Bus)ケーブルなどの有線接続により通信を行ってもよい。また、無線LANなどの無線接続により通信を行ってもよい。また、外部装置と直接接続してもよいし、サーバを経由したりインターネットなどのネットワークを介して外部装置と接続してもよい。
【0023】
図2は、第1の実施形態の画像処理装置を実現するもう一つの例である情報処理装置200の構成を示すブロック図である。図2において、表示部201は、撮影画像の表示や対話的な操作のための文字表示などを行う。操作部202は、使用者の操作を受け付けるためのものである。操作部202は例えばキーボードやポインティング装置などを用いることが可能である。CPU203は、入力された信号やプログラムに従って、各種の演算や、情報処理装置200を構成する各部分の制御を行う。一次記憶装置204は、一時的なデータを記憶し、CPU203の作業用に使われる。二次記憶装置205は、画像処理を行うためのプログラムや各種の設定情報を記憶する。通信装置206は、外部装置と接続し制御コマンドやデータの送受信を行う。通信装置206の形態は通信装置109と同じような形態を選択することも可能である。
【0024】
図3は本実施形態における画像の暗部補正処理の流れを示した図である。以下に、図3を用いて、過去コマの補正量を参照し、現在コマにおいてより適した補正量の算出を行う第1の実施形態について説明する。なお、以下では撮像装置100における撮影画像に対する輝度暗部補正処理について説明するが、情報処理装置200でも一般の画像データ(撮影画像に限らない)に対して同様に実施できることは明らかである。
【0025】
まず、ステップS301において光学系101及び撮像素子102を通して画像の撮影が行われると、CPU103は、ステップS302において撮影時情報の取得を行う(撮影時情報取得)。この撮影時情報としては例えば撮影時感度などが含まれる。なお、記憶媒体106に記憶された画像を読み出して、当該処理の対象としても良い。また、情報処理装置200で実施した場合は、二次記憶装置205に格納された画像や通信装置206を介して取得された画像を当該処理の対象とすればよい。
【0026】
次に、CPU103は、ステップS303において、画像特徴量の取得を行う。この画像特徴量は現在コマにおける補正量の算出に用いるものであり、例えば画像中に含まれる顔の輝度情報等が含まれる。
【0027】
次に、CPU103は、ステップS304において、現在コマの補正曲線の算出を行う。この補正曲線算出においては、例えば図6(a)に示されるように、ステップS303で得られた顔の輝度が目標輝度となるような制御点を持つ曲線を描くことで補正曲線を算出することが可能である。
【0028】
このようにして現在コマの補正曲線の算出が行われると、CPU103はステップS305において、過去コマの補正曲線の取得(補正量取得)を行う。ここで言う過去コマの補正曲線は現在処理を行っているコマよりも前に撮影されたものから算出された補正曲線であり、後述するステップS308において記録されたものとなる。
【0029】
次に、CPU103はステップS306において、過去コマの画像情報を取得する。ここでいう過去コマの画像情報は現在処理を行っているコマよりも前に撮影されたものから得られた画像情報であり、後述するステップS310において記録されたものとなる。このような過去コマの画像情報としては例えば輝度情報などを記録しておき、後のステップS307で利用することが可能である。
【0030】
ステップS307においては、CPU103は過去コマの補正値の引き継ぎを行う。この引き継ぎにおいては、例えばステップS306で得られた過去コマの輝度を用いて、過去コマと現在コマの輝度の変化量を算出し、変化量が一定値以内であればステップS305で得られた過去コマの補正値を引き継ぐといったような処理が可能である。また、変化量が一定値を超えた場合においては、ステップS304で得られた現在コマの補正量とステップS305で得られた過去コマの補正量をミックスし、変化量が大きいほど現在コマのミックス割合を増やしていくといった処理を行うことも可能である。
【0031】
通常はこのようにして得られた補正量に対し、ステップS302で得られた撮影時の感度情報を元に高感度リミッタをかけたり、またはステップS304における補正曲線算出の際に予め高感度リミッタを考慮した補正量を算出したりする。しかし、本実施形態においては、まずステップS308により、高感度リミッタを適用する(補正量修正)前の補正曲線の記録(補正量記録)を行う。これが以降のコマにおける過去コマ情報として利用されることとなる。そのため、ここで記録される補正曲線は撮影時の感度によらない補正値となっている。なお、ここで記録される補正曲線は必ずしも全ての入力輝度と出力輝度の関係を記録する必要はない。例えば、図6(b)のように、間引いた入力輝度と出力輝度の関係を記録することで記録に必要な容量を削減することも可能である。このような場合においてはステップS305において、間引いた分を線形補間するといった処理により、図6(b)に示したような元の補正曲線に近いものを再現することが可能となる。
【0032】
このようにして補正曲線の記録が行われるとCPU103はステップS309において高感度リミッタを適用する。高感度リミッタの適用においては、例えばあらかじめ特定の輝度における最大補正量を感度毎に決めておき、この最大補正量を超えていた場合に補正曲線全体を抑制する方法が考えられる。図7はこのような処理の一例を示したものである。
【0033】
まず、ステップS302において得られた撮影時の感度情報を元にして最大補正量の算出を行う。これには、例えば図7(a)のように、ある特定の輝度における補正後輝度の最大値を感度毎に予め定めておき、実際の感度に応じて特定の輝度における補正後輝度の最大値を算出することによって得られる。例えばある感度yにおける輝度aの補正後の輝度の最大値はαになっており、同様に輝度bに対してはβ、輝度cに対してはγとなっている。これらの関係をプロットしたものが図7(b)中に円で示した点となっている。このような点を超えないように実際の補正量を制限する。なお、図7(a)中に示した感度x、y、zは必ずしも設定しうるすべての感度で持つ必要はなく、離散的な感度に対する設計値を所持しておき、間を補間により算出することも可能である。このようにして得られた最大補正量を元に、ステップS309において高感度リミッタを適用する。
【0034】
図7(b)のf(Y)はステップS304によって得られた補正曲線を示し、g(Y)は入力輝度=出力輝度となる直線(g(Y)=Y)を示している。このような場合においては補正量f(a)、f(b)、f(c)が図中に円で示した最大補正量を超えているため、補正量を制限する必要がある。このリミッタにおいては、例えば以下のような式によって高感度リミッタ後の補正量f’(Y)が得られる。
【0035】
f’(Y)={f(Y)−g(Y)}×MIN[{α−g(a)}/{f(a)−g(a)},{β−g(b)}/{f(b)−g(b)},{γーg(c)}/{f(c)−g(c)}]+g(Y)
このようにして得られた補正曲線f’(Y)をステップS311において実際の画像に適用し、画像の暗部補正を行う。
【0036】
なお、その際に以降の撮影におけるステップS307において過去補正値引き継ぎを行うため、CPU103はステップS310において必要な画像情報を記録する。ここでは、例えばステップS307において前述したように画像の輝度情報を判定に用いるのであれば、現在のコマの輝度情報等を記録することとなる。
【0037】
以上が本発明の第1の実施形態となる。なお、図中では参照する情報を明確にするため、補正曲線と画像情報の記録を異なる記録装置に記録しているように表現しているが、必ずしも異なる記憶装置に記憶する必要はない。
【0038】
このような処理を行うことによる効果を図4、図5を用いて説明する。図4は過去コマと現在コマが異なる感度で撮影された際の過去コマの補正量の引き継がれ方を示している。
【0039】
まず、図4(a)、(b)について説明する。図4(a)、(b)では過去コマ401、410が高感度、現在コマ406,415が低感度で撮影された場合の例を示している。従来では、まず過去コマ401においてそのコマの理想の補正量403が算出される。過去コマ401においては高感度で撮影されているため、この補正量403をそのままかけるとノイズを強調しすぎてしまうため、高感度リミッタが強めにかかり、実際に適用される補正量は404のようになる。このような過去コマの補正量を引き継ぐ際に、過去コマ401で適用された補正量404を引き継いだ場合、この補正量がそのまま現在コマ406の画像407に適用されてしまう。そのため、現在コマ406では暗部補正前の段階でのノイズが少なく、本来の補正量をかけても問題がないにもかかわらず、実際には制限された補正量408がかかってしまうことになる。それにより、画像409のように補正不足の画像となってしまう。それに対し、本実施形態においては図4(b)のように過去コマ410で高感度リミッタを適用する前の補正曲線412を引き継ぎ、現在コマ415の感度に応じた高感度リミッタを適用する。この時、現在コマ415は低感度で撮影されているため、高感度リミッタがあまりかからない補正量418が得られる。これにより、現在コマ415においては過去コマ410で検出された顔情報を利用した、より適した補正を行うことが可能となる。
【0040】
次に、図5(a)、(b)について説明する。図5(a)、(b)では過去コマ420、429が低感度、現在コマ425、434が高感度で撮影された場合の例を示している。従来では、まず過去コマ420においてそのコマの理想の補正量422が算出される。過去コマにおいては低感度で撮影されているため、この補正量422をそのままかけてもノイズの強調度合は許容範囲内となるため、高感度リミッタがほとんどかからない補正量423が得られる。このような過去コマ420の補正量を引き継ぐ際に、過去コマ420で適用された補正量423をそのまま引き継いでしまうと、現在コマ425において補正曲線427が適用されてしまうことになる。しかし、現在コマ425は高感度で撮影されているため、暗部補正前の画像426のノイズは多く、暗部補正427によりそのノイズがさらに強調されてしまう。それにより、画像428のような画質として問題がある画像となってしまう。それに対し、本実施形態においては図5(b)のように過去コマ429で高感度リミッタを適用する前の補正曲線431を引き継ぎ、現在コマ434の感度に応じた高感度リミッタを適用する。この時、現在コマ434は高感度で撮影されているため、高感度リミッタが強めにかかった補正量437が得られる。これにより、現在コマ434においては過去コマ429で検出された顔情報を利用しながら、なおかつノイズを強調しすぎない補正を行うことが可能となる。
【0041】
このようにして、高感度リミッタを適用する前の補正量を記録しておくことで、現在コマの補正量算出において過去コマの補正量を参照する際に、過去コマと現在コマが異なる条件で撮影されたような場合においても好ましい補正量を算出することが可能となる。
【0042】
(第2の実施形態)
第1の実施形態において、図4、図5を用いて第1の実施形態における効果を示した。ここで、図5(a)では過去コマ420で高感度リミッタをかけた後の補正量423をそのまま現在コマ425に引き継いだ画像428はノイズが強調されすぎているため、提供するのは問題がある。しかし、図4(a)において、過去コマ401で高感度リミッタをかけた後の補正量404をそのまま現在コマ406に引き継いだ画像409は補正不足ではあるが、ノイズ量としては問題がない。ここで、この画像409、及び図4(b)の画像419それぞれの画の利点に着目する。図4(b)の過去コマ410において高感度リミッタがかけられる前の補正量412を引き継ぎ、現在コマ415の感度に応じた高感度リミッタをかけた補正量418を適用した画像419は、画像1枚としての補正量としては適切なものとなっている。なおかつ過去コマ410の画像414に対して、ノイズ感としては同程度となる。しかしながら、画像419のほうがより強めの補正がかかっているため、画像全体の明るさが画像414と異なっている。それに対し、図4(a)の画像409では補正度合としてはやや不足しているが、画像405と同程度の明るさとなっている。
【0043】
図4(b)の画像419のような場合、1枚1枚の画像として見る場合には好ましい画像であると言えるが、連続した画像中の1枚としてみる場合には好ましくない場合がある。つまり、似たようなシーンを同じ露出で撮影したとしても明るさが異なってしまう場合がある。
【0044】
そこで、本実施形態においては、過去コマと現在コマの感度が異なる際に、低感度から高感度に変化した場合と高感度から低感度に変化した場合とで処理を異ならせるようにする。
【0045】
まず、図8を用いて本実施形態における処理の一例を説明する。図8では、基本的な処理の流れは図3と同様であるが、図8では高感度リミッタ適用後にステップS710aにおいて高感度リミッタ適用後の補正曲線の記録を行っている。このように過去コマの高感度リミッタ適用前の補正値と高感度リミッタ適用後の補正値を記録することにより、ステップS707aにおいて引き継ぐ補正値を選択することが可能となる。つまり、図4(b)の画像419のように、現在コマと過去コマのノイズ量を同程度にし、現在コマの補正を十分にかけることを優先する場合においては過去コマの高感度リミッタ適用「前」の補正量を引き継ぐ。逆に、図4(a)の画像409のように、過去コマと現在コマの明るさを同程度にすることを優先する場合においては過去コマの高感度リミッタ適用「後」の補正量を引き継ぐ。
【0046】
なお、ノイズ量を同程度にし、現在コマの補正を十分にかけることを優先するか、過去コマと現在コマの明るさを同程度にすることを優先するかの選択基準として、例えば以下のようなものがあげられる。
(1)連写または単写
例えば連写中に感度変化があった場合、得られる画像としては常に同程度の明るさであることが好ましいことが多い。また、逆に単写で撮影中に感度変化があった場合、ノイズ感が同程度でなおかつ理想的な補正がかけられた画像が得られることが好ましいことが多い。そのため、連写中の場合には過去コマの高感度リミッタ適用「後」の補正量を引き継ぎ、単写の場合には過去コマの高感度リミッタ適用「前」の補正量を引き継ぐのが好ましいと思われる。
(2)無意識な感度変化または意識的な感度変化
例えば、感度が自動的に制御される撮影モードにおいてユーザが無意識のうちに感度が変わって撮影された場合、得られる画像としては同程度の明るさであることが好ましいことが多い。また、逆にユーザが意識的に感度を変更して撮影した場合、ノイズ感が同程度でなおかつ理想的な補正がかけられた画像が得られることが好ましいことが多い。そのため、感度自動制御による撮影の場合には過去コマの高感度リミッタ適用「後」の補正量を引き継ぎ、感度手動制御による撮影の場合には過去コマの高感度リミッタ適用「前」の補正量を引き継ぐのが好ましいと思われる。
【0047】
なお、図8を用いた説明においては高感度リミッタ適用前後の補正曲線を共に記録する例を示したが、必ずしもこれに限られるものではなく、例えば図9のように、高感度リミッタ適用時に過去コマの感度情報を参照することによっても可能である。例えば、前述したように過去コマと現在コマでノイズ感が同程度でなおかつ理想的な補正をかけることを優先する場合には「現在コマの」感度に応じた高感度リミッタをかけることで図4(b)の補正曲線417から補正曲線418が作られる。それに対し、過去コマと現在コマの明るさを同程度にすることを優先する場合においては、「過去コマの」感度に応じた高感度リミッタをかけることで、図4(b)の補正曲線417から図4(a)の補正曲線408相当のものが作られる。
【0048】
このように本実施形態においては過去コマと現在コマで感度が異なる場合に、高感度から低感度に変化した場合と低感度から高感度に変化した場合で処理を異ならせることにより、より好ましい補正を行うことが可能となる。
【0049】
なお、本実施形態においては過去コマで顔が検出され、現在コマで顔が検出されなかった際に過去コマで検出された顔情報を現在コマで利用する場合を想定したが、過去コマ・現在コマ共に顔が検出された場合にも同じ考えを適用することが出来る。例えば、連写中に高感度から低感度に感度変化したような場合においては高感度リミッタ適用「後」の補正量を引き継ぐことにより、明るさのばらつきを抑えることが可能となる。逆に、単写中に高感度から低感度に感度変化させたような場合においては高感度リミッタ適用「前」の補正量を引き継ぐことにより、ノイズ感が同程度でなおかつ理想的な補正がかけられた画像を得ることが可能となる。
【0050】
(第3の実施形態)
本実施形態においては、補正量算出時に白飛び抑制補償適用前と適用後の値を算出し、適用前の情報を記録しておくことで、以降の撮影においてより適した補正量の算出を行う画像処理装置について説明する。なお、本実施形態における撮像装置、画像処理装置の構成は、第1の実施形態で説明した図1に示す撮像装置100、画像処理装置200の構成と同様であるので、その説明を省略する。
【0051】
図10は本実施形態における画像の階調補正処理の流れを示した図である。以下に、図10を用いて、過去コマの補正量を参照し、現在コマにおいてより適した補正量の算出を行う第3の実施形態について説明する。なお、以下では撮像装置100における撮影画像に対する輝度階調補正処理を説明するが、情報処理装置200でも一般の画像データ(撮影画像に限らない)に対して同様に実施できることは明らかである。
【0052】
まず、ステップS1001において光学系101及び撮像素子102を通して画像の撮影が行われる。この際、撮影画像中に白飛びしそうな高輝度な領域が含まれる場合には白飛びを抑制するため、撮影露出を下げてやや暗めに撮影を行う(露出修正)。ここで、撮影時の露出を下げる割合に関しては例えば画像中に含まれる白飛びしそうな領域の面積が大きいほど露出を下げる割合を増加させるなどといった方法を取ることが可能である。これには例えば光学ファインダ近傍に設けた測光センサ(図示せず)の情報等を利用することが可能である。なお、記憶媒体106に記憶された画像を読み出して、当該処理の対象としても良い。また、情報処理装置200で実施した場合は、二次記憶装置205に格納された画像や通信装置206を介して取得された画像を当該処理の対象とすればよい。
【0053】
次に、CPU103はステップS1002において撮影時情報の取得を行う。この撮影時情報としては例えば撮影時における白飛び抑制を行ったかどうかの情報や白飛び抑制量の情報などが含まれる。
【0054】
次に、CPU103は、ステップS1003において、画像特徴量の取得を行う。この画像特徴量は現在コマにおける補正量の算出に用いるものであり、例えば画像中に含まれる顔の輝度情報等が含まれる。
【0055】
次に、CPU103は、ステップS1004において、現在コマの補正曲線の算出を行う。この補正曲線算出においては、例えば図15(a)に示されるように、ステップS1003で得られた顔の輝度が目標輝度となるような制御点を持つ曲線を描くことで補正曲線を算出することが可能である。この時、画像中から検出された顔輝度は白飛び抑制によって暗めに撮影された画像から取得されたものとなるため、本来の明るさよりも低輝度のものとなっている。そこで、ここでは白飛び抑制補償を考慮した顔輝度の算出を行う。
【0056】
白飛び抑制補償においては白飛び抑制のために暗く撮影され、低減された明るさを補償する補正をかける。この時、輝度全体を同様に持ち上げてしまうと白飛びを抑制した領域まで再度白く飛んでしまうため、例えば図16の補正曲線602,603,604のように高輝度領域を持ち上げる量を少なくした補正曲線によって白飛び抑制補償を行う。ここではステップS1001における撮影時の白飛び抑制量がyであり、白飛び抑制補償曲線603を使用する場合を例に挙げる。例えば画像から検出された顔の輝度が補正曲線603に示した輝度aであった場合には実際には白飛び抑制補償により輝度bに補正される。そのため、ステップS1004において参照する顔の輝度は輝度bを用いることが好ましい。このように算出されたbをもとに、図15(a)に示されるように、顔輝度bが目標輝度となるような制御点を持つ曲線を描くことで顔補正の補正曲線の算出を行う。
【0057】
このようにして現在コマの補正曲線の算出が行われると、CPU103はステップS1005において、過去コマの補正曲線の取得を行う。ここで言う過去コマの補正曲線は現在処理を行っているコマよりも前に撮影されたものから算出された補正曲線であり、後述するステップS1008において記録されたものとなる。
【0058】
次に、CPU103はステップS1006において、過去コマの画像情報を取得する。ここでいう過去コマの画像情報は現在処理を行っているコマよりも前に撮影されたものから得られた画像情報であり、後述するステップS1010において記録されたものとなる。このような過去コマの画像情報としては例えば輝度情報などを記録しておき、後のステップS1007で利用することが可能である。
【0059】
ステップS1007においては、CPU103は過去コマの補正値の引き継ぎを行う。この引き継ぎにおいては、例えばステップS1006で得られた過去コマの輝度を用いて、過去コマと現在コマの輝度の変化量を算出し、変化量が一定値以内であればステップS1005で得られた過去コマの補正値を引き継ぐといったような処理が可能である。また、変化量が一定値を超えた場合においては、ステップS1004で得られた現在コマの補正量とステップS1005で得られた過去コマの補正量をミックスし、変化量が大きいほど現在コマのミックス割合を増やしていくといった処理を行うことも可能である。
【0060】
通常はこのようにして得られた補正量に対し、ステップS1002で得られた撮影時における白飛び抑制量を元に白飛び抑制補償を適用する。しかし、本実施形態においては、まずステップS1008により、白飛び抑制補償を適用する前の補正曲線の記録を行う。これが以降のコマにおける過去コマ情報として利用されることとなる。そのため、ここで記録される補正曲線は撮影時の白飛び抑制量によらない補正値となっている。なお、ここで記録される補正曲線は必ずしも全ての入力輝度と出力輝度の関係を記録する必要はない。例えば、図15(b)のように、間引いた入力輝度と出力輝度の関係を記録することで記録に必要な容量を削減することも可能である。このような場合においてはステップS1005において、間引いた分を線形補間するといった処理により、図15(b)に示したような元の補正曲線に近いものを再現することが可能となる。
【0061】
このようにして補正曲線の記録が行われるとCPU103はステップS1009において白飛び抑制補償を適用する。白飛び抑制補償の適用においては、例えばあらかじめ白飛び抑制量に応じた白飛び抑制補償の補正曲線を決めておき、ステップS1004で得られた補正曲線と白飛び抑制補償の補正曲線を合成する方法が考えられる。図16はこのような処理の一例を示したものである。
【0062】
まず、ステップS1002において得られた撮影時の白飛び抑制量の情報を元にして白飛び抑制補償曲線を取得する。これには、例えば図16の602、603、604のような、白飛び抑制量に応じた白飛び抑制補償曲線を予め定めておき、実際の白飛び抑制量に応じて白飛び抑制補償曲線を選択することによって得られる。例えばある白飛び抑制量yにおける白飛び抑制補償曲線は603のようになっている。まず、撮影された画像におけるある輝度aは、白飛び抑制補償により輝度bに移る。この時、ステップS1004において得られた補正曲線が601のような形をしていた場合、前述した輝度bはさらに補正曲線601によって輝度cに移る。つまり、補正曲線601と補正曲線603を組み合わせた場合、ある輝度aが輝度cに移るような補正曲線となる。このような方法を各入力輝度に対して走査していくことにより、最終的に補正曲線601と白飛び抑制補償曲線603を合成した補正曲線605を得ることが出来る。
【0063】
このようにして得られた補正曲線をステップS1011において実際の画像に適用し、画像の階調補正、及び白飛び抑制補償を行う。
【0064】
なお、その際に以降の撮影におけるステップS1007において過去補正値引き継ぎを行うため、CPU103はステップS1010において必要な画像情報を記録する。ここでは、例えばステップS1007において前述したように画像の輝度情報を判定に用いるのであれば、現在のコマの輝度情報等を記録することとなる。
【0065】
以上が本発明の第3の実施形態となる。なお、図中では参照する情報を明確にするため、補正曲線と画像情報の記録を異なる記録装置に記録しているように表現しているが、必ずしも異なる記憶装置に記憶する必要はない。
【0066】
このような処理を行うことによる効果を図11〜図14を用いて説明する。図11〜図14は過去コマと現在コマが異なる白飛び抑制量で撮影された際の過去コマの補正量の引き継がれ方を示している。
【0067】
まず、図11、図12について説明する。図11、図12では過去コマ1101,1112が白飛び抑制あり、現在コマ1108,1119が白飛び抑制なしで撮影された場合の例を示している。従来では、まず過去コマ1101においてそのコマの顔を適切な明るさに補正するための補正量1104が算出される。過去コマ1101においては白飛びを抑制するためにやや暗く撮影されているため、低減された明るさを補正する補正量1105をさらにかけることになる。これにより、実際に適用される補正量は1106のようになる。このような過去コマ1101の補正量を引き継ぐ際に、過去コマ1101で適用された補正量1106を引き継いだ場合、この補正量がそのまま現在コマ1108の画像1109に適用されてしまう。そのため、現在コマ1108では白飛び抑制がされずに通常の明るさで撮影されたにもかかわらず、実際には過去コマ1101での白飛び抑制補償がされた補正量1110がかかってしまうことになる。それにより、画像1111のように過補正の画像となってしまう。それに対し、本実施形態においては図12のように過去コマ1112で白飛び抑制補償を適用する前の補正曲線1115を引き継ぎ、現在コマ1119の白飛び抑制量に応じた白飛び抑制補償曲線1122を適用する。この時現在コマ1119は白飛び抑制がされていないため、顔補正のみを行う補正量1123が得られる。これにより、現在コマ1119においては過去コマ1112で検出された顔情報を利用した、より適した補正を行うことが可能となる。
【0068】
次に、図13、図14について説明する。図13、図14では過去コマ1125、1136が白飛び抑制なし、現在コマ1131、1142が白飛び抑制ありで撮影された場合の例を示している。従来では、まず過去コマ1125においてそのコマの顔を適切な明るさに補正するための補正量1127が算出される。過去コマ1125においては白飛び抑制がされず、本来の明るさで撮影されているため、明るさの低減はなく、白飛び抑制補償は入力をそのままスルーする直線1128となる。これにより、実際に適用される補正量は1129のようになる。このような過去コマ1125の補正量を引き継ぐ際に、過去コマ1125で適用された補正量1129を引き継いだ場合、この補正量がそのまま現在コマ1131に適用されてしまう。そのため、現在コマ1131は白飛び抑制がされ、やや暗く撮影されたにもかかわらず、実際には白飛び抑制により低減された明るさが補償されていない補正量1134がかかってしまうことになる。それにより、画像1135のように補正不足の画像となってしまう。それに対し、本実施形態のように過去コマ1136で白飛び抑制補償を適用する前の補正曲線1138を引き継ぎ、現在コマ1142の白飛び抑制量に応じた白飛び抑制補償曲線1146を適用する場合、低減された明るさも補償する補正量1147が得られる。これにより、現在コマにおいては過去コマで検出された顔情報を利用した、より適した補正を行うことが可能となる。
【0069】
このようにして、白飛び抑制補償を適用する前の補正量を記録しておくことで、現在コマの補正量算出において過去コマの補正量を参照する際に、過去コマと現在コマが異なる条件で撮影されたような場合においても好ましい補正量を算出することが可能となる。
【0070】
(第4の実施形態)
第3の実施形態においては、白飛び抑制量を決定する際において画像中に含まれる白飛びしそうな領域の面積が大きいほど露出を下げる割合を増加させる手法を例示した。しかし、例えば画像中に含まれる白飛びしそうな領域の面積が多くあった場合に露出を下げすぎてしまうと、図16の602、603、604で示したように今度は低減された明るさを補正するために必要な補正量が大きくなっていってしまう。また、画像中に暗い顔が含まれている場合においてはこの白飛び抑制補償量に、さらに図16の601のような顔補正の補正曲線も必要となり、結果として顔補正の補正曲線と白飛び抑制補償曲線を合成した図16の605であらわされる補正曲線が大きくなってしまう。しかし、このように暗部を持ち上げる階調補正においては画像の信号をデジタル的に持ち上げる処理となるため、補正量が大きすぎると画像中に含まれるノイズを強調しすぎてしまうこととなる。このような現象を回避するため、例えばあらかじめ顔補正などの補正量を見積もっておき、その補正量が大きいのであれば白飛び抑制量を小さくし、逆に補正量が小さいのであれば白飛び抑制量を大きくするといった手法があげられる。
【0071】
しかし、ここで第3の実施形態で示したように、過去のコマにおける補正量を引き継ぐ場合においてはこのような処理がうまくいかない可能性がある。この現象を図17を用いて説明する。
【0072】
図17は撮影時にあらかじめ顔を検出し、顔の輝度から想定される補正量を算出した上で白飛び抑制量を決定する様子を表している。ここでは過去コマにおいては暗い顔が検出され、現在コマにおいては顔が横を向くなどしたことにより、暗い顔を検出出来なかった場合を想定している。まず過去コマにおいては画像701から暗い顔が検出されている。そのため、過去コマの撮影時において顔補正としてかかる補正量は補正量704が想定されている。そのため、過去コマにおいては後に大きな補正がかかることを見越して白飛び抑制量は少なめに見積もられるため、白飛び抑制補償曲線も705のような小さめなものとなる。それにより、過去コマにおいて実際にかかる補正は補正曲線706のようになり、ノイズを強調しすぎない範囲での補正を行うことが可能となる。次に、現在コマにおいては画像711では顔が横を向いてしまっているため顔検出が出来ていない。そのため、現在コマの撮影時においては補正曲線707のように、顔補正がかからないと想定されている。そのため、この時点では後に大きな補正がかからないことを見越して白飛び抑制量を大きめに見積もられてしまう。しかし、過去の補正量を引き継ぐ場合においては現在コマでは過去コマの顔補正の補正量704を引き継ぐこととなる。そのため、顔補正による大きな補正量708と白飛び抑制補償による大きな補正量709が組み合わさり、最終的に大きすぎる補正量710がかかってしまうこととなる。それにより、画像713はノイズが強調されすぎてしまう場合がある。本実施形態においてはそのような問題への対処を行う。
【0073】
図18は本実施形態における処理の流れを表している。各構成要素は図10で示した第3の実施形態の対応する要素とほぼ同等の動作を行う。ここでは第3の実施形態と違い、実際の撮影が過去補正値引き継ぎよりも後のステップS807で行われている。
【0074】
まず、ステップS801の撮影時情報取得以降の処理に関しては、第3の実施形態では撮影動作に応じて処理を進めて行ったが、本実施形態の場合においては例えばユーザによるシャッターボタン(図示せず)の反押し動作等に応じて処理を開始することも可能である。また、過去補正値引き継ぎにおいて過去の輝度情報との比較等を行う必要があるが、この処理はまだ撮影が行われる前に行われる。これに関しては、例えば光学ファインダ近傍に設けた測光センサ(図示せず)の情報を使用することが可能である。またはスタンバイ時に表示部107をEVFとして機能させ、常に所定のレートで連続的に撮像した表示用画像を表示している場合にはその表示用画像から検出したりすることも可能である。このようにして予め得られた補正量をもとにして白飛び抑制量を算出する。
【0075】
このような処理を行うことにより、ステップS807における撮影時に予め過去コマの補正量も加味した補正量が算出されているため、より適した白飛び抑制量の元で撮影を行うことが可能となる。
【0076】
このように本実施形態においては白飛び抑制補償を適用する前の補正量を記録しておくことにより、現在コマの補正量算出において過去コマの補正量を参照する際に、より好ましい白飛び抑制量で現在コマの撮影を行うことが可能となる。
【0077】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【0078】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、画像処理装置に関し、特に入力された画像の補正を行う画像処理装置に関する。
【背景技術】
【0002】
画像の階調補正を行う技術として、画像から顔を検出し、そこから得られた顔情報を補正量の算出に用いるものが提案されている。例えば特許文献1では、ある撮影シーンに輝度の低い顔が含まれる場合はその顔が適切な明るさになるように階調補正を行う構成が記載されている。
【0003】
このような手法においては、画像から顔を検出することが可能である場合においては好ましい補正量を算出することが可能となる。しかし、撮影から各種処理、保存までの一連の流れを一つの撮影コマとして考えた場合において、あるコマの撮影時に顔が横を向くなどして顔の検出を失敗してしまうと、そのコマでは顔情報を利用した処理を行うことが出来なくなる。
【0004】
そのため、例えば特許文献2では過去コマにおける被写体の輝度情報と現在コマにおける被写体の輝度情報を比較し、輝度の変化量に応じて過去コマの補正値を利用することで、過去コマにおいて検出された情報を現在コマにも利用することが可能となっている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−045457号公報
【特許文献2】特開2002−247590号公報
【特許文献3】特開2010−183460号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、このような過去の階調補正値を現在の撮影画像に適用する方法においては過去コマと現在コマの二つのコマが異なる感度で撮影されたような場合には好ましい補正量とはならない場合がある。
【0007】
階調補正において、デジタル的に信号を持ち上げるような暗部補正ではノイズを強調してしまうことがある。この時、低感度で撮影された画像に対し暗部補正を行う場合には、暗部補正前の段階でのノイズが少ないため、暗部補正によって多少ノイズが強調されても許容できる場合が多い。しかし、高感度で撮影された画像に対し暗部補正を行う場合には、暗部補正前のノイズが多く、そこからさらに暗部補正によってノイズが強調されてしまうため、許容できない画像となってしまう場合がある。このような問題のため、従来から高感度で撮影されるほど、暗部補正による補正度合を弱める手法(以降「高感度リミッタ」と表記)が行われてきた。このような高感度における補正量の抑制をしながら前述したような過去コマの補正値を利用する場合には以下のような問題が発生する。
【0008】
まず、図4(a)のように、過去コマ401が現在コマ406よりも高感度で撮影されていた場合、過去コマ401で算出された補正量404はノイズを強調しすぎないように、補正曲線403に高感度リミッタを適用して補正量を抑制したものとなっている。これをそのまま現在コマ406の補正曲線408として適用してしまうと、本来はもっと明るくした方が好ましく、またノイズ量も問題ない画像となるはずが画像409のような補正不足の画像となってしまう。
【0009】
逆に、図5(a)のように、過去コマ420が現在コマ425よりも低感度で撮影されていた場合、過去コマ420で算出された補正曲線423は暗部補正前の段階でのノイズが少ないことを前提としたものとなっている。そのため、補正曲線423は補正曲線422に対してほぼ補正量が抑制されていないものとなっている。これをそのまま現在コマ425に補正曲線427として適用してしまうと現在コマ425は高感度で撮影されているため暗部補正前の段階においてノイズが多く、そこにさらに大きな補正がかかり、画像428のようにノイズが強調されすぎた画像となってしまう。
【0010】
また、階調補正においてはハイライト部の白飛びを抑制するものもあり、例えば特許文献3では白飛び量が多い場合にはやや暗めに撮影し、撮影時に低減された明るさを後で階調補正により補償している。
【0011】
しかし、このような過去の白飛びを抑制するための補正値を現在の撮影画像に適用する方法においては、過去コマと現在コマの二つのコマが異なる白飛び抑制量で撮影されたような場合には以下のような問題が発生する。
【0012】
まず、図11のように、過去コマ401では白飛び抑制がされ、現在コマ408では白飛び抑制がされていない場合、過去コマ401で算出された補正量406は白飛び抑制により低減された明るさを補償するための補正量405を含んでいる。これをそのまま現在コマ408の画像409に適用してしまうと、現在コマでは白飛び抑制による明るさの低減がされていないにも関わらず、余分に補正されてしまうため、画像411のような過補正な画像になってしまう。
【0013】
逆に、図13のように、過去コマ425では白飛び抑制がされず、現在コマ431では白飛び抑制がされている場合、過去コマ425で算出された補正量429は顔の明るさを補正する補正量427と同等のものとなっている。これをそのまま現在コマ431に適用してしまうと現在コマ431では白飛び抑制による低減がされているにも関わらず、それを補償する補正がかからない。そのため、画像435のように補正不足の画像になってしまい、場合によっては本来の明るさよりも逆に暗くなってしまう場合がある。
【0014】
本発明は上記の課題に鑑みてなされたものであり、現在コマの補正量算出において過去コマの補正量を参照する際に、過去コマと現在コマが異なる条件で撮影されたような場合においても好ましい補正を行えるようにすることを目的とする。
【課題を解決するための手段】
【0015】
本発明に係わる画像処理装置は、撮影画像に対して補正処理を行う画像処理装置であって、画像の撮影時における撮影時情報を取得する撮影時情報取得手段と、撮影画像における画像特徴量から前記撮影画像の補正量を算出する補正量算出手段と、前記撮影時情報に基づいて前記補正量を修正する修正手段と、前記修正手段により修正した後の前記補正量を撮影画像に適用して前記補正処理を行う補正処理手段と、前記修正手段により修正する前の前記補正量を記録する補正量記録手段と、現在の画像について前記補正処理を行う時に、過去の画像の撮影時において前記補正量記録手段に記録した前記修正する前の補正量を取得する補正量取得手段と、を備え、前記修正手段は、現在の画像について補正処理を行う時に、前記補正量取得手段により取得した前記過去の画像についての前記修正する前の補正量と、前記撮影時情報取得手段により取得される現在の画像の撮影時における撮影時情報とに基づいて、前記現在の画像について前記補正量を修正し、前記補正処理手段は、修正された前記補正量を現在の撮影画像に適用して前記補正処理を行うことを特徴とする。
【発明の効果】
【0016】
本発明によれば、現在コマの補正量算出において過去コマの補正量を参照する際に、過去コマと現在コマが異なる条件で撮影されたような場合においても好ましい補正を行うことが可能となる。
【図面の簡単な説明】
【0017】
【図1】本発明の実施形態に共通する撮像装置のブロック構成図。
【図2】本発明の実施形態に共通する画像処理装置のブロック構成図。
【図3】第1の実施形態による暗部補正処理を示すフローチャート。
【図4】第1の実施形態による過去コマの補正値の引き継ぎの様子を示す図。
【図5】第1の実施形態による過去コマの補正値の引き継ぎの様子を示す図。
【図6】第1の実施形態による暗部補正の例を示す図。
【図7】第1の実施形態による高感度リミッタの例を示す図。
【図8】第2の実施形態による暗部補正処理を示すフローチャート。
【図9】第2の実施形態の変形例による暗部補正処理を示すフローチャート。
【図10】第3の実施形態による階調補正処理を示すフローチャート。
【図11】第3の実施形態による過去コマの補正値の引き継ぎの様子を示す図。
【図12】第3の実施形態による過去コマの補正値の引き継ぎの様子を示す図。
【図13】第3の実施形態による過去コマの補正値の引き継ぎの様子を示す図。
【図14】第3の実施形態による過去コマの補正値の引き継ぎの様子を示す図。
【図15】第3の実施形態による階調補正の例を示す図。
【図16】第3の実施形態による白飛び抑制補償の例を示す図。
【図17】第4の実施形態による白飛び抑制量算出の様子を示す図。
【図18】第4の実施形態による階調補正処理を示すフローチャート。
【発明を実施するための形態】
【0018】
以下に、本発明の実施形態について、添付図面を参照して詳細に説明する。
【0019】
(第1の実施形態)
本実施形態においては、補正量算出時に高感度リミッタ適用前と適用後の値を算出し、適用前の情報を記録しておくことで、以降の撮影においてより適した補正量の算出を行う画像処理装置について説明する。
【0020】
図1は、第1の実施形態の画像処理装置を実現する一つの例である撮像装置100の構成を示すブロック図である。撮像装置はデジタルカメラ、デジタルビデオカメラなど、被写体を撮像し画像データを得る装置を含む。図1において、光学系101は、レンズ、シャッター、絞りから構成されていて、CPU103の制御によって被写体からの光を撮像素子102に結像させる。撮像素子102は、光学系101を通って結像した光を画像信号に変換する。CPU103は、入力された信号やプログラムに従って、各種の演算や、撮像装置100を構成する各部分の制御を行う。
【0021】
一次記憶装置104は、一時的なデータを記憶し、CPU103の作業用に使われる。二次記憶装置105は、撮像装置100を制御するためのプログラム(ファームウェア)や各種の設定情報を記憶する。記憶媒体106は、光学系101によって結像され、撮像素子102電気信号に変換され、CPU103によって処理された画像データなどを記憶する。なお、撮影後に記憶媒体106は取り外すことが可能であり、パーソナルコンピュータ(以下、PC)などに装着してデータを読み出すことが可能である。つまり、撮像装置100は記憶媒体106へのアクセス機能を有し、記憶媒体106へのデータの読み書きが行えればよい。表示部107は、撮影時のビューファインダー画像の表示、撮影した画像の表示、対話的な操作のための文字表示などを行う。操作部108は、使用者の操作を受け付けるためのものである。操作部108には、例えばボタンやレバー、タッチパネルなどを用いることが可能である。
【0022】
通信装置109は、外部装置と接続し制御コマンドやデータの送受信を行う。接続を確立し、データ通信するためのプロトコルとしては、例えばPTP(Picture Transfer Protocol)が用いられる。なお、通信装置109は、例えばUSB(Universal Serial Bus)ケーブルなどの有線接続により通信を行ってもよい。また、無線LANなどの無線接続により通信を行ってもよい。また、外部装置と直接接続してもよいし、サーバを経由したりインターネットなどのネットワークを介して外部装置と接続してもよい。
【0023】
図2は、第1の実施形態の画像処理装置を実現するもう一つの例である情報処理装置200の構成を示すブロック図である。図2において、表示部201は、撮影画像の表示や対話的な操作のための文字表示などを行う。操作部202は、使用者の操作を受け付けるためのものである。操作部202は例えばキーボードやポインティング装置などを用いることが可能である。CPU203は、入力された信号やプログラムに従って、各種の演算や、情報処理装置200を構成する各部分の制御を行う。一次記憶装置204は、一時的なデータを記憶し、CPU203の作業用に使われる。二次記憶装置205は、画像処理を行うためのプログラムや各種の設定情報を記憶する。通信装置206は、外部装置と接続し制御コマンドやデータの送受信を行う。通信装置206の形態は通信装置109と同じような形態を選択することも可能である。
【0024】
図3は本実施形態における画像の暗部補正処理の流れを示した図である。以下に、図3を用いて、過去コマの補正量を参照し、現在コマにおいてより適した補正量の算出を行う第1の実施形態について説明する。なお、以下では撮像装置100における撮影画像に対する輝度暗部補正処理について説明するが、情報処理装置200でも一般の画像データ(撮影画像に限らない)に対して同様に実施できることは明らかである。
【0025】
まず、ステップS301において光学系101及び撮像素子102を通して画像の撮影が行われると、CPU103は、ステップS302において撮影時情報の取得を行う(撮影時情報取得)。この撮影時情報としては例えば撮影時感度などが含まれる。なお、記憶媒体106に記憶された画像を読み出して、当該処理の対象としても良い。また、情報処理装置200で実施した場合は、二次記憶装置205に格納された画像や通信装置206を介して取得された画像を当該処理の対象とすればよい。
【0026】
次に、CPU103は、ステップS303において、画像特徴量の取得を行う。この画像特徴量は現在コマにおける補正量の算出に用いるものであり、例えば画像中に含まれる顔の輝度情報等が含まれる。
【0027】
次に、CPU103は、ステップS304において、現在コマの補正曲線の算出を行う。この補正曲線算出においては、例えば図6(a)に示されるように、ステップS303で得られた顔の輝度が目標輝度となるような制御点を持つ曲線を描くことで補正曲線を算出することが可能である。
【0028】
このようにして現在コマの補正曲線の算出が行われると、CPU103はステップS305において、過去コマの補正曲線の取得(補正量取得)を行う。ここで言う過去コマの補正曲線は現在処理を行っているコマよりも前に撮影されたものから算出された補正曲線であり、後述するステップS308において記録されたものとなる。
【0029】
次に、CPU103はステップS306において、過去コマの画像情報を取得する。ここでいう過去コマの画像情報は現在処理を行っているコマよりも前に撮影されたものから得られた画像情報であり、後述するステップS310において記録されたものとなる。このような過去コマの画像情報としては例えば輝度情報などを記録しておき、後のステップS307で利用することが可能である。
【0030】
ステップS307においては、CPU103は過去コマの補正値の引き継ぎを行う。この引き継ぎにおいては、例えばステップS306で得られた過去コマの輝度を用いて、過去コマと現在コマの輝度の変化量を算出し、変化量が一定値以内であればステップS305で得られた過去コマの補正値を引き継ぐといったような処理が可能である。また、変化量が一定値を超えた場合においては、ステップS304で得られた現在コマの補正量とステップS305で得られた過去コマの補正量をミックスし、変化量が大きいほど現在コマのミックス割合を増やしていくといった処理を行うことも可能である。
【0031】
通常はこのようにして得られた補正量に対し、ステップS302で得られた撮影時の感度情報を元に高感度リミッタをかけたり、またはステップS304における補正曲線算出の際に予め高感度リミッタを考慮した補正量を算出したりする。しかし、本実施形態においては、まずステップS308により、高感度リミッタを適用する(補正量修正)前の補正曲線の記録(補正量記録)を行う。これが以降のコマにおける過去コマ情報として利用されることとなる。そのため、ここで記録される補正曲線は撮影時の感度によらない補正値となっている。なお、ここで記録される補正曲線は必ずしも全ての入力輝度と出力輝度の関係を記録する必要はない。例えば、図6(b)のように、間引いた入力輝度と出力輝度の関係を記録することで記録に必要な容量を削減することも可能である。このような場合においてはステップS305において、間引いた分を線形補間するといった処理により、図6(b)に示したような元の補正曲線に近いものを再現することが可能となる。
【0032】
このようにして補正曲線の記録が行われるとCPU103はステップS309において高感度リミッタを適用する。高感度リミッタの適用においては、例えばあらかじめ特定の輝度における最大補正量を感度毎に決めておき、この最大補正量を超えていた場合に補正曲線全体を抑制する方法が考えられる。図7はこのような処理の一例を示したものである。
【0033】
まず、ステップS302において得られた撮影時の感度情報を元にして最大補正量の算出を行う。これには、例えば図7(a)のように、ある特定の輝度における補正後輝度の最大値を感度毎に予め定めておき、実際の感度に応じて特定の輝度における補正後輝度の最大値を算出することによって得られる。例えばある感度yにおける輝度aの補正後の輝度の最大値はαになっており、同様に輝度bに対してはβ、輝度cに対してはγとなっている。これらの関係をプロットしたものが図7(b)中に円で示した点となっている。このような点を超えないように実際の補正量を制限する。なお、図7(a)中に示した感度x、y、zは必ずしも設定しうるすべての感度で持つ必要はなく、離散的な感度に対する設計値を所持しておき、間を補間により算出することも可能である。このようにして得られた最大補正量を元に、ステップS309において高感度リミッタを適用する。
【0034】
図7(b)のf(Y)はステップS304によって得られた補正曲線を示し、g(Y)は入力輝度=出力輝度となる直線(g(Y)=Y)を示している。このような場合においては補正量f(a)、f(b)、f(c)が図中に円で示した最大補正量を超えているため、補正量を制限する必要がある。このリミッタにおいては、例えば以下のような式によって高感度リミッタ後の補正量f’(Y)が得られる。
【0035】
f’(Y)={f(Y)−g(Y)}×MIN[{α−g(a)}/{f(a)−g(a)},{β−g(b)}/{f(b)−g(b)},{γーg(c)}/{f(c)−g(c)}]+g(Y)
このようにして得られた補正曲線f’(Y)をステップS311において実際の画像に適用し、画像の暗部補正を行う。
【0036】
なお、その際に以降の撮影におけるステップS307において過去補正値引き継ぎを行うため、CPU103はステップS310において必要な画像情報を記録する。ここでは、例えばステップS307において前述したように画像の輝度情報を判定に用いるのであれば、現在のコマの輝度情報等を記録することとなる。
【0037】
以上が本発明の第1の実施形態となる。なお、図中では参照する情報を明確にするため、補正曲線と画像情報の記録を異なる記録装置に記録しているように表現しているが、必ずしも異なる記憶装置に記憶する必要はない。
【0038】
このような処理を行うことによる効果を図4、図5を用いて説明する。図4は過去コマと現在コマが異なる感度で撮影された際の過去コマの補正量の引き継がれ方を示している。
【0039】
まず、図4(a)、(b)について説明する。図4(a)、(b)では過去コマ401、410が高感度、現在コマ406,415が低感度で撮影された場合の例を示している。従来では、まず過去コマ401においてそのコマの理想の補正量403が算出される。過去コマ401においては高感度で撮影されているため、この補正量403をそのままかけるとノイズを強調しすぎてしまうため、高感度リミッタが強めにかかり、実際に適用される補正量は404のようになる。このような過去コマの補正量を引き継ぐ際に、過去コマ401で適用された補正量404を引き継いだ場合、この補正量がそのまま現在コマ406の画像407に適用されてしまう。そのため、現在コマ406では暗部補正前の段階でのノイズが少なく、本来の補正量をかけても問題がないにもかかわらず、実際には制限された補正量408がかかってしまうことになる。それにより、画像409のように補正不足の画像となってしまう。それに対し、本実施形態においては図4(b)のように過去コマ410で高感度リミッタを適用する前の補正曲線412を引き継ぎ、現在コマ415の感度に応じた高感度リミッタを適用する。この時、現在コマ415は低感度で撮影されているため、高感度リミッタがあまりかからない補正量418が得られる。これにより、現在コマ415においては過去コマ410で検出された顔情報を利用した、より適した補正を行うことが可能となる。
【0040】
次に、図5(a)、(b)について説明する。図5(a)、(b)では過去コマ420、429が低感度、現在コマ425、434が高感度で撮影された場合の例を示している。従来では、まず過去コマ420においてそのコマの理想の補正量422が算出される。過去コマにおいては低感度で撮影されているため、この補正量422をそのままかけてもノイズの強調度合は許容範囲内となるため、高感度リミッタがほとんどかからない補正量423が得られる。このような過去コマ420の補正量を引き継ぐ際に、過去コマ420で適用された補正量423をそのまま引き継いでしまうと、現在コマ425において補正曲線427が適用されてしまうことになる。しかし、現在コマ425は高感度で撮影されているため、暗部補正前の画像426のノイズは多く、暗部補正427によりそのノイズがさらに強調されてしまう。それにより、画像428のような画質として問題がある画像となってしまう。それに対し、本実施形態においては図5(b)のように過去コマ429で高感度リミッタを適用する前の補正曲線431を引き継ぎ、現在コマ434の感度に応じた高感度リミッタを適用する。この時、現在コマ434は高感度で撮影されているため、高感度リミッタが強めにかかった補正量437が得られる。これにより、現在コマ434においては過去コマ429で検出された顔情報を利用しながら、なおかつノイズを強調しすぎない補正を行うことが可能となる。
【0041】
このようにして、高感度リミッタを適用する前の補正量を記録しておくことで、現在コマの補正量算出において過去コマの補正量を参照する際に、過去コマと現在コマが異なる条件で撮影されたような場合においても好ましい補正量を算出することが可能となる。
【0042】
(第2の実施形態)
第1の実施形態において、図4、図5を用いて第1の実施形態における効果を示した。ここで、図5(a)では過去コマ420で高感度リミッタをかけた後の補正量423をそのまま現在コマ425に引き継いだ画像428はノイズが強調されすぎているため、提供するのは問題がある。しかし、図4(a)において、過去コマ401で高感度リミッタをかけた後の補正量404をそのまま現在コマ406に引き継いだ画像409は補正不足ではあるが、ノイズ量としては問題がない。ここで、この画像409、及び図4(b)の画像419それぞれの画の利点に着目する。図4(b)の過去コマ410において高感度リミッタがかけられる前の補正量412を引き継ぎ、現在コマ415の感度に応じた高感度リミッタをかけた補正量418を適用した画像419は、画像1枚としての補正量としては適切なものとなっている。なおかつ過去コマ410の画像414に対して、ノイズ感としては同程度となる。しかしながら、画像419のほうがより強めの補正がかかっているため、画像全体の明るさが画像414と異なっている。それに対し、図4(a)の画像409では補正度合としてはやや不足しているが、画像405と同程度の明るさとなっている。
【0043】
図4(b)の画像419のような場合、1枚1枚の画像として見る場合には好ましい画像であると言えるが、連続した画像中の1枚としてみる場合には好ましくない場合がある。つまり、似たようなシーンを同じ露出で撮影したとしても明るさが異なってしまう場合がある。
【0044】
そこで、本実施形態においては、過去コマと現在コマの感度が異なる際に、低感度から高感度に変化した場合と高感度から低感度に変化した場合とで処理を異ならせるようにする。
【0045】
まず、図8を用いて本実施形態における処理の一例を説明する。図8では、基本的な処理の流れは図3と同様であるが、図8では高感度リミッタ適用後にステップS710aにおいて高感度リミッタ適用後の補正曲線の記録を行っている。このように過去コマの高感度リミッタ適用前の補正値と高感度リミッタ適用後の補正値を記録することにより、ステップS707aにおいて引き継ぐ補正値を選択することが可能となる。つまり、図4(b)の画像419のように、現在コマと過去コマのノイズ量を同程度にし、現在コマの補正を十分にかけることを優先する場合においては過去コマの高感度リミッタ適用「前」の補正量を引き継ぐ。逆に、図4(a)の画像409のように、過去コマと現在コマの明るさを同程度にすることを優先する場合においては過去コマの高感度リミッタ適用「後」の補正量を引き継ぐ。
【0046】
なお、ノイズ量を同程度にし、現在コマの補正を十分にかけることを優先するか、過去コマと現在コマの明るさを同程度にすることを優先するかの選択基準として、例えば以下のようなものがあげられる。
(1)連写または単写
例えば連写中に感度変化があった場合、得られる画像としては常に同程度の明るさであることが好ましいことが多い。また、逆に単写で撮影中に感度変化があった場合、ノイズ感が同程度でなおかつ理想的な補正がかけられた画像が得られることが好ましいことが多い。そのため、連写中の場合には過去コマの高感度リミッタ適用「後」の補正量を引き継ぎ、単写の場合には過去コマの高感度リミッタ適用「前」の補正量を引き継ぐのが好ましいと思われる。
(2)無意識な感度変化または意識的な感度変化
例えば、感度が自動的に制御される撮影モードにおいてユーザが無意識のうちに感度が変わって撮影された場合、得られる画像としては同程度の明るさであることが好ましいことが多い。また、逆にユーザが意識的に感度を変更して撮影した場合、ノイズ感が同程度でなおかつ理想的な補正がかけられた画像が得られることが好ましいことが多い。そのため、感度自動制御による撮影の場合には過去コマの高感度リミッタ適用「後」の補正量を引き継ぎ、感度手動制御による撮影の場合には過去コマの高感度リミッタ適用「前」の補正量を引き継ぐのが好ましいと思われる。
【0047】
なお、図8を用いた説明においては高感度リミッタ適用前後の補正曲線を共に記録する例を示したが、必ずしもこれに限られるものではなく、例えば図9のように、高感度リミッタ適用時に過去コマの感度情報を参照することによっても可能である。例えば、前述したように過去コマと現在コマでノイズ感が同程度でなおかつ理想的な補正をかけることを優先する場合には「現在コマの」感度に応じた高感度リミッタをかけることで図4(b)の補正曲線417から補正曲線418が作られる。それに対し、過去コマと現在コマの明るさを同程度にすることを優先する場合においては、「過去コマの」感度に応じた高感度リミッタをかけることで、図4(b)の補正曲線417から図4(a)の補正曲線408相当のものが作られる。
【0048】
このように本実施形態においては過去コマと現在コマで感度が異なる場合に、高感度から低感度に変化した場合と低感度から高感度に変化した場合で処理を異ならせることにより、より好ましい補正を行うことが可能となる。
【0049】
なお、本実施形態においては過去コマで顔が検出され、現在コマで顔が検出されなかった際に過去コマで検出された顔情報を現在コマで利用する場合を想定したが、過去コマ・現在コマ共に顔が検出された場合にも同じ考えを適用することが出来る。例えば、連写中に高感度から低感度に感度変化したような場合においては高感度リミッタ適用「後」の補正量を引き継ぐことにより、明るさのばらつきを抑えることが可能となる。逆に、単写中に高感度から低感度に感度変化させたような場合においては高感度リミッタ適用「前」の補正量を引き継ぐことにより、ノイズ感が同程度でなおかつ理想的な補正がかけられた画像を得ることが可能となる。
【0050】
(第3の実施形態)
本実施形態においては、補正量算出時に白飛び抑制補償適用前と適用後の値を算出し、適用前の情報を記録しておくことで、以降の撮影においてより適した補正量の算出を行う画像処理装置について説明する。なお、本実施形態における撮像装置、画像処理装置の構成は、第1の実施形態で説明した図1に示す撮像装置100、画像処理装置200の構成と同様であるので、その説明を省略する。
【0051】
図10は本実施形態における画像の階調補正処理の流れを示した図である。以下に、図10を用いて、過去コマの補正量を参照し、現在コマにおいてより適した補正量の算出を行う第3の実施形態について説明する。なお、以下では撮像装置100における撮影画像に対する輝度階調補正処理を説明するが、情報処理装置200でも一般の画像データ(撮影画像に限らない)に対して同様に実施できることは明らかである。
【0052】
まず、ステップS1001において光学系101及び撮像素子102を通して画像の撮影が行われる。この際、撮影画像中に白飛びしそうな高輝度な領域が含まれる場合には白飛びを抑制するため、撮影露出を下げてやや暗めに撮影を行う(露出修正)。ここで、撮影時の露出を下げる割合に関しては例えば画像中に含まれる白飛びしそうな領域の面積が大きいほど露出を下げる割合を増加させるなどといった方法を取ることが可能である。これには例えば光学ファインダ近傍に設けた測光センサ(図示せず)の情報等を利用することが可能である。なお、記憶媒体106に記憶された画像を読み出して、当該処理の対象としても良い。また、情報処理装置200で実施した場合は、二次記憶装置205に格納された画像や通信装置206を介して取得された画像を当該処理の対象とすればよい。
【0053】
次に、CPU103はステップS1002において撮影時情報の取得を行う。この撮影時情報としては例えば撮影時における白飛び抑制を行ったかどうかの情報や白飛び抑制量の情報などが含まれる。
【0054】
次に、CPU103は、ステップS1003において、画像特徴量の取得を行う。この画像特徴量は現在コマにおける補正量の算出に用いるものであり、例えば画像中に含まれる顔の輝度情報等が含まれる。
【0055】
次に、CPU103は、ステップS1004において、現在コマの補正曲線の算出を行う。この補正曲線算出においては、例えば図15(a)に示されるように、ステップS1003で得られた顔の輝度が目標輝度となるような制御点を持つ曲線を描くことで補正曲線を算出することが可能である。この時、画像中から検出された顔輝度は白飛び抑制によって暗めに撮影された画像から取得されたものとなるため、本来の明るさよりも低輝度のものとなっている。そこで、ここでは白飛び抑制補償を考慮した顔輝度の算出を行う。
【0056】
白飛び抑制補償においては白飛び抑制のために暗く撮影され、低減された明るさを補償する補正をかける。この時、輝度全体を同様に持ち上げてしまうと白飛びを抑制した領域まで再度白く飛んでしまうため、例えば図16の補正曲線602,603,604のように高輝度領域を持ち上げる量を少なくした補正曲線によって白飛び抑制補償を行う。ここではステップS1001における撮影時の白飛び抑制量がyであり、白飛び抑制補償曲線603を使用する場合を例に挙げる。例えば画像から検出された顔の輝度が補正曲線603に示した輝度aであった場合には実際には白飛び抑制補償により輝度bに補正される。そのため、ステップS1004において参照する顔の輝度は輝度bを用いることが好ましい。このように算出されたbをもとに、図15(a)に示されるように、顔輝度bが目標輝度となるような制御点を持つ曲線を描くことで顔補正の補正曲線の算出を行う。
【0057】
このようにして現在コマの補正曲線の算出が行われると、CPU103はステップS1005において、過去コマの補正曲線の取得を行う。ここで言う過去コマの補正曲線は現在処理を行っているコマよりも前に撮影されたものから算出された補正曲線であり、後述するステップS1008において記録されたものとなる。
【0058】
次に、CPU103はステップS1006において、過去コマの画像情報を取得する。ここでいう過去コマの画像情報は現在処理を行っているコマよりも前に撮影されたものから得られた画像情報であり、後述するステップS1010において記録されたものとなる。このような過去コマの画像情報としては例えば輝度情報などを記録しておき、後のステップS1007で利用することが可能である。
【0059】
ステップS1007においては、CPU103は過去コマの補正値の引き継ぎを行う。この引き継ぎにおいては、例えばステップS1006で得られた過去コマの輝度を用いて、過去コマと現在コマの輝度の変化量を算出し、変化量が一定値以内であればステップS1005で得られた過去コマの補正値を引き継ぐといったような処理が可能である。また、変化量が一定値を超えた場合においては、ステップS1004で得られた現在コマの補正量とステップS1005で得られた過去コマの補正量をミックスし、変化量が大きいほど現在コマのミックス割合を増やしていくといった処理を行うことも可能である。
【0060】
通常はこのようにして得られた補正量に対し、ステップS1002で得られた撮影時における白飛び抑制量を元に白飛び抑制補償を適用する。しかし、本実施形態においては、まずステップS1008により、白飛び抑制補償を適用する前の補正曲線の記録を行う。これが以降のコマにおける過去コマ情報として利用されることとなる。そのため、ここで記録される補正曲線は撮影時の白飛び抑制量によらない補正値となっている。なお、ここで記録される補正曲線は必ずしも全ての入力輝度と出力輝度の関係を記録する必要はない。例えば、図15(b)のように、間引いた入力輝度と出力輝度の関係を記録することで記録に必要な容量を削減することも可能である。このような場合においてはステップS1005において、間引いた分を線形補間するといった処理により、図15(b)に示したような元の補正曲線に近いものを再現することが可能となる。
【0061】
このようにして補正曲線の記録が行われるとCPU103はステップS1009において白飛び抑制補償を適用する。白飛び抑制補償の適用においては、例えばあらかじめ白飛び抑制量に応じた白飛び抑制補償の補正曲線を決めておき、ステップS1004で得られた補正曲線と白飛び抑制補償の補正曲線を合成する方法が考えられる。図16はこのような処理の一例を示したものである。
【0062】
まず、ステップS1002において得られた撮影時の白飛び抑制量の情報を元にして白飛び抑制補償曲線を取得する。これには、例えば図16の602、603、604のような、白飛び抑制量に応じた白飛び抑制補償曲線を予め定めておき、実際の白飛び抑制量に応じて白飛び抑制補償曲線を選択することによって得られる。例えばある白飛び抑制量yにおける白飛び抑制補償曲線は603のようになっている。まず、撮影された画像におけるある輝度aは、白飛び抑制補償により輝度bに移る。この時、ステップS1004において得られた補正曲線が601のような形をしていた場合、前述した輝度bはさらに補正曲線601によって輝度cに移る。つまり、補正曲線601と補正曲線603を組み合わせた場合、ある輝度aが輝度cに移るような補正曲線となる。このような方法を各入力輝度に対して走査していくことにより、最終的に補正曲線601と白飛び抑制補償曲線603を合成した補正曲線605を得ることが出来る。
【0063】
このようにして得られた補正曲線をステップS1011において実際の画像に適用し、画像の階調補正、及び白飛び抑制補償を行う。
【0064】
なお、その際に以降の撮影におけるステップS1007において過去補正値引き継ぎを行うため、CPU103はステップS1010において必要な画像情報を記録する。ここでは、例えばステップS1007において前述したように画像の輝度情報を判定に用いるのであれば、現在のコマの輝度情報等を記録することとなる。
【0065】
以上が本発明の第3の実施形態となる。なお、図中では参照する情報を明確にするため、補正曲線と画像情報の記録を異なる記録装置に記録しているように表現しているが、必ずしも異なる記憶装置に記憶する必要はない。
【0066】
このような処理を行うことによる効果を図11〜図14を用いて説明する。図11〜図14は過去コマと現在コマが異なる白飛び抑制量で撮影された際の過去コマの補正量の引き継がれ方を示している。
【0067】
まず、図11、図12について説明する。図11、図12では過去コマ1101,1112が白飛び抑制あり、現在コマ1108,1119が白飛び抑制なしで撮影された場合の例を示している。従来では、まず過去コマ1101においてそのコマの顔を適切な明るさに補正するための補正量1104が算出される。過去コマ1101においては白飛びを抑制するためにやや暗く撮影されているため、低減された明るさを補正する補正量1105をさらにかけることになる。これにより、実際に適用される補正量は1106のようになる。このような過去コマ1101の補正量を引き継ぐ際に、過去コマ1101で適用された補正量1106を引き継いだ場合、この補正量がそのまま現在コマ1108の画像1109に適用されてしまう。そのため、現在コマ1108では白飛び抑制がされずに通常の明るさで撮影されたにもかかわらず、実際には過去コマ1101での白飛び抑制補償がされた補正量1110がかかってしまうことになる。それにより、画像1111のように過補正の画像となってしまう。それに対し、本実施形態においては図12のように過去コマ1112で白飛び抑制補償を適用する前の補正曲線1115を引き継ぎ、現在コマ1119の白飛び抑制量に応じた白飛び抑制補償曲線1122を適用する。この時現在コマ1119は白飛び抑制がされていないため、顔補正のみを行う補正量1123が得られる。これにより、現在コマ1119においては過去コマ1112で検出された顔情報を利用した、より適した補正を行うことが可能となる。
【0068】
次に、図13、図14について説明する。図13、図14では過去コマ1125、1136が白飛び抑制なし、現在コマ1131、1142が白飛び抑制ありで撮影された場合の例を示している。従来では、まず過去コマ1125においてそのコマの顔を適切な明るさに補正するための補正量1127が算出される。過去コマ1125においては白飛び抑制がされず、本来の明るさで撮影されているため、明るさの低減はなく、白飛び抑制補償は入力をそのままスルーする直線1128となる。これにより、実際に適用される補正量は1129のようになる。このような過去コマ1125の補正量を引き継ぐ際に、過去コマ1125で適用された補正量1129を引き継いだ場合、この補正量がそのまま現在コマ1131に適用されてしまう。そのため、現在コマ1131は白飛び抑制がされ、やや暗く撮影されたにもかかわらず、実際には白飛び抑制により低減された明るさが補償されていない補正量1134がかかってしまうことになる。それにより、画像1135のように補正不足の画像となってしまう。それに対し、本実施形態のように過去コマ1136で白飛び抑制補償を適用する前の補正曲線1138を引き継ぎ、現在コマ1142の白飛び抑制量に応じた白飛び抑制補償曲線1146を適用する場合、低減された明るさも補償する補正量1147が得られる。これにより、現在コマにおいては過去コマで検出された顔情報を利用した、より適した補正を行うことが可能となる。
【0069】
このようにして、白飛び抑制補償を適用する前の補正量を記録しておくことで、現在コマの補正量算出において過去コマの補正量を参照する際に、過去コマと現在コマが異なる条件で撮影されたような場合においても好ましい補正量を算出することが可能となる。
【0070】
(第4の実施形態)
第3の実施形態においては、白飛び抑制量を決定する際において画像中に含まれる白飛びしそうな領域の面積が大きいほど露出を下げる割合を増加させる手法を例示した。しかし、例えば画像中に含まれる白飛びしそうな領域の面積が多くあった場合に露出を下げすぎてしまうと、図16の602、603、604で示したように今度は低減された明るさを補正するために必要な補正量が大きくなっていってしまう。また、画像中に暗い顔が含まれている場合においてはこの白飛び抑制補償量に、さらに図16の601のような顔補正の補正曲線も必要となり、結果として顔補正の補正曲線と白飛び抑制補償曲線を合成した図16の605であらわされる補正曲線が大きくなってしまう。しかし、このように暗部を持ち上げる階調補正においては画像の信号をデジタル的に持ち上げる処理となるため、補正量が大きすぎると画像中に含まれるノイズを強調しすぎてしまうこととなる。このような現象を回避するため、例えばあらかじめ顔補正などの補正量を見積もっておき、その補正量が大きいのであれば白飛び抑制量を小さくし、逆に補正量が小さいのであれば白飛び抑制量を大きくするといった手法があげられる。
【0071】
しかし、ここで第3の実施形態で示したように、過去のコマにおける補正量を引き継ぐ場合においてはこのような処理がうまくいかない可能性がある。この現象を図17を用いて説明する。
【0072】
図17は撮影時にあらかじめ顔を検出し、顔の輝度から想定される補正量を算出した上で白飛び抑制量を決定する様子を表している。ここでは過去コマにおいては暗い顔が検出され、現在コマにおいては顔が横を向くなどしたことにより、暗い顔を検出出来なかった場合を想定している。まず過去コマにおいては画像701から暗い顔が検出されている。そのため、過去コマの撮影時において顔補正としてかかる補正量は補正量704が想定されている。そのため、過去コマにおいては後に大きな補正がかかることを見越して白飛び抑制量は少なめに見積もられるため、白飛び抑制補償曲線も705のような小さめなものとなる。それにより、過去コマにおいて実際にかかる補正は補正曲線706のようになり、ノイズを強調しすぎない範囲での補正を行うことが可能となる。次に、現在コマにおいては画像711では顔が横を向いてしまっているため顔検出が出来ていない。そのため、現在コマの撮影時においては補正曲線707のように、顔補正がかからないと想定されている。そのため、この時点では後に大きな補正がかからないことを見越して白飛び抑制量を大きめに見積もられてしまう。しかし、過去の補正量を引き継ぐ場合においては現在コマでは過去コマの顔補正の補正量704を引き継ぐこととなる。そのため、顔補正による大きな補正量708と白飛び抑制補償による大きな補正量709が組み合わさり、最終的に大きすぎる補正量710がかかってしまうこととなる。それにより、画像713はノイズが強調されすぎてしまう場合がある。本実施形態においてはそのような問題への対処を行う。
【0073】
図18は本実施形態における処理の流れを表している。各構成要素は図10で示した第3の実施形態の対応する要素とほぼ同等の動作を行う。ここでは第3の実施形態と違い、実際の撮影が過去補正値引き継ぎよりも後のステップS807で行われている。
【0074】
まず、ステップS801の撮影時情報取得以降の処理に関しては、第3の実施形態では撮影動作に応じて処理を進めて行ったが、本実施形態の場合においては例えばユーザによるシャッターボタン(図示せず)の反押し動作等に応じて処理を開始することも可能である。また、過去補正値引き継ぎにおいて過去の輝度情報との比較等を行う必要があるが、この処理はまだ撮影が行われる前に行われる。これに関しては、例えば光学ファインダ近傍に設けた測光センサ(図示せず)の情報を使用することが可能である。またはスタンバイ時に表示部107をEVFとして機能させ、常に所定のレートで連続的に撮像した表示用画像を表示している場合にはその表示用画像から検出したりすることも可能である。このようにして予め得られた補正量をもとにして白飛び抑制量を算出する。
【0075】
このような処理を行うことにより、ステップS807における撮影時に予め過去コマの補正量も加味した補正量が算出されているため、より適した白飛び抑制量の元で撮影を行うことが可能となる。
【0076】
このように本実施形態においては白飛び抑制補償を適用する前の補正量を記録しておくことにより、現在コマの補正量算出において過去コマの補正量を参照する際に、より好ましい白飛び抑制量で現在コマの撮影を行うことが可能となる。
【0077】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【0078】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
撮影画像に対して補正処理を行う画像処理装置であって、
画像の撮影時における撮影時情報を取得する撮影時情報取得手段と、
撮影画像における画像特徴量から前記撮影画像の補正量を算出する補正量算出手段と、
前記撮影時情報に基づいて前記補正量を修正する修正手段と、
前記修正手段により修正した後の前記補正量を撮影画像に適用して前記補正処理を行う補正処理手段と、
前記修正手段により修正する前の前記補正量を記録する補正量記録手段と、
現在の画像について前記補正処理を行う時に、過去の画像の撮影時において前記補正量記録手段に記録した前記修正する前の補正量を取得する補正量取得手段と、を備え、
前記修正手段は、現在の画像について補正処理を行う時に、前記補正量取得手段により取得した前記過去の画像についての前記修正する前の補正量と、前記撮影時情報取得手段により取得される現在の画像の撮影時における撮影時情報とに基づいて、前記現在の画像について前記補正量を修正し、前記補正処理手段は、修正された前記補正量を現在の撮影画像に適用して前記補正処理を行うことを特徴とする画像処理装置。
【請求項2】
前記修正手段で参照する撮影時情報は撮影時の感度であることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記補正処理は階調補正処理であることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記撮影画像から白飛び量を算出する白飛び量算出手段と、前記白飛び量の大きさに基づいて前記白飛び量を低減するために撮影時の露出を修正する露出修正手段と、をさらに備えることを特徴とする請求項1に記載の画像処理装置。
【請求項5】
請求項1乃至4のいずれか1項に記載の画像処理装置を備えることを特徴とする撮像装置。
【請求項1】
撮影画像に対して補正処理を行う画像処理装置であって、
画像の撮影時における撮影時情報を取得する撮影時情報取得手段と、
撮影画像における画像特徴量から前記撮影画像の補正量を算出する補正量算出手段と、
前記撮影時情報に基づいて前記補正量を修正する修正手段と、
前記修正手段により修正した後の前記補正量を撮影画像に適用して前記補正処理を行う補正処理手段と、
前記修正手段により修正する前の前記補正量を記録する補正量記録手段と、
現在の画像について前記補正処理を行う時に、過去の画像の撮影時において前記補正量記録手段に記録した前記修正する前の補正量を取得する補正量取得手段と、を備え、
前記修正手段は、現在の画像について補正処理を行う時に、前記補正量取得手段により取得した前記過去の画像についての前記修正する前の補正量と、前記撮影時情報取得手段により取得される現在の画像の撮影時における撮影時情報とに基づいて、前記現在の画像について前記補正量を修正し、前記補正処理手段は、修正された前記補正量を現在の撮影画像に適用して前記補正処理を行うことを特徴とする画像処理装置。
【請求項2】
前記修正手段で参照する撮影時情報は撮影時の感度であることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記補正処理は階調補正処理であることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
前記撮影画像から白飛び量を算出する白飛び量算出手段と、前記白飛び量の大きさに基づいて前記白飛び量を低減するために撮影時の露出を修正する露出修正手段と、をさらに備えることを特徴とする請求項1に記載の画像処理装置。
【請求項5】
請求項1乃至4のいずれか1項に記載の画像処理装置を備えることを特徴とする撮像装置。
【図1】
【図2】
【図3】
【図6】
【図7】
【図8】
【図9】
【図10】
【図15】
【図16】
【図18】
【図4】
【図5】
【図11】
【図12】
【図13】
【図14】
【図17】
【図2】
【図3】
【図6】
【図7】
【図8】
【図9】
【図10】
【図15】
【図16】
【図18】
【図4】
【図5】
【図11】
【図12】
【図13】
【図14】
【図17】
【公開番号】特開2013−17097(P2013−17097A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願番号】特願2011−149497(P2011−149497)
【出願日】平成23年7月5日(2011.7.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願日】平成23年7月5日(2011.7.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]