(57)【要約】【課題】画像に含まれる白飛びまたは黒つぶれの検出速度を向上させると共に、検出漏れを防ぐ。【解決手段】代表画素値算出部１２０は、ＲＡＷデータＤ０が表す画像を複数のブロックに分割して、各ブロックについて、代表画素値Ｓを算出する。検出部１３０は、上記複数のブロックの中から、白飛びまたは黒つぶれが含まれるブロックである対象ブロックを検出する。検出部１３０におけるＢ検出部１３４は、代表画素値が表す色とグレーとの差分、または該差分を近似的に表し得る値を特徴値として求め、該特徴値が第１の閾値以下であるブロックを対象ブロックとして検出する第１の検出処理を行う。【選択図】図１
2010199985.tif 000002
【特許請求の範囲】
【請求項１】
画像を複数のブロックに分割して、前記複数のブロック夫々について、代表画素値を算出する代表画素値算出部と、
前記複数のブロックの中から、白飛びまたは黒つぶれが含まれるブロックである対象ブロックを検出する検出部とを備え、
前記検出部は、前記代表画素値が表す色とグレーとの差分、または該差分を近似的に表し得る値を特徴値として求め、該特徴値が第１の閾値以下であるブロックを前記対象ブロックとして検出する第１の検出処理を行うことを特徴とする画像処理装置。
【請求項２】
前記代表画素値は、該ブロックの各画素の画素値の平均値であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記代表画素値は、ＲＧＢ値となるＲ０、Ｇ０、Ｂ０であり、
前記検出部は、前記第１の検出処理を行う際に、｜Ｒ０／Ｇ０−１｜と｜Ｂ０／Ｇ０−１｜を前記特徴値として求め、｜Ｒ０／Ｇ０−１｜が前記第１の閾値に対応する値以下であり、かつ、｜Ｂ０／Ｇ０−１｜が前記第１の閾値に対応する値以下であるブロックを前記対象ブロックとして検出することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記代表画素値は、ＲＧＢ値となるＲ０、Ｇ０、Ｂ０であり、
前記検出部は、前記第１の検出処理を行う際に、Ｒ０、Ｇ０、Ｂ０のうちの最大値と最小値の差を前記特徴値として求め、該差が前記第１の閾値以下であるブロックを前記対象ブロックとして検出することを特徴とする請求項１または２に記載の画像処理装置。
【請求項５】
前記代表画素値は、ＹＣＣ値となるＹ０、Ｃｂ０、Ｃｒ０であり、
前記検出部は、前記第１の検出処理を行う際に、前記Ｃｂ０とＣｒ０を前記特徴値として取得し、該Ｃｂ０が前記第１の閾値に対応する値以下であり、かつ、Ｃｒ０が前記第１の閾値に対応する値以下であるブロックを前記対象ブロックとして検出することを特徴とする請求項１または２に記載の画像処理装置。
【請求項６】
前記検出部は、さらに、前記代表画素値が表す明るさが第２の閾値以上であるブロックと、前記明るさが前記第２の閾値より小さい第３の閾値以下であるブロックとを前記対象ブロックとして検出する第２の検出処理を行うことを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記検出部は、
前記複数のブロックに対して、前記第２の検出処理を先に行い、
前記第２の検出処理により検出された前記対象ブロック以外のブロックに対して前記第１の検出処理を行うことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記代表画像値は、ＲＧＢ値となるＲ０、Ｇ０、Ｂ０であり、
前記検出部は、前記第２の検出処理を行う際に、Ｒ０、Ｇ０、Ｂ０のいずれも前記第２の閾値に対応する閾値以上であるブロックと、Ｒ０、Ｇ０、Ｂ０のいずれも前記第３の閾値に対応する閾値以下であるブロックとを前記対象ブロックとして検出することを特徴とする請求項６または７に記載の画像処理装置。
【請求項９】
前記代表画素値は、ＹＣＣ値となるＹ０、Ｃｂ０、Ｃｒ０であり、
前記検出部は、前記第２の検出処理を行う際に、Ｙ０が前記第２の閾値以上であるブロックと、Ｙ０が前記第３の閾値以下であるブロックとを前記対象ブロックとして検出することを特徴とする請求項６または７に記載の画像処理装置。
【請求項１０】
前記画像に対してホワイトバランス補正および／または露出補正を行う補正部をさらに備え、
前記補正部は、前記検出部により検出された対象ブロックを除外して補正値を求めることを特徴とする請求項１から９のいずれか１項に記載の画像処理装置。
【請求項１１】
デジタル撮像装置であることを特徴とする請求項１から１０のいずれか１項に記載の画像処理装置。
【請求項１２】
画像再生装置であることを特徴とする請求項１から１０のいずれか１項に記載の画像処理装置。
【請求項１３】
画像を複数のブロックに分割し、
各前記ブロックについて、代表画素値を算出し、
前記複数のブロックの中から、白飛びまたは黒つぶれが含まれるブロックである対象ブロックを検出する際に、前記代表画素値が表す色とグレーとの差分、または該差分を近似的に表し得る値を特徴値として求め、該特徴値が第１の閾値以下あるブロックを前記対象ブロックとして検出する第１の検出処理を行うことを特徴とする画像処理方法。
【請求項１４】
前記代表画素値は、該ブロックの各画素の画素値の平均値であることを特徴とする請求項１３に記載の画像処理方法。
【請求項１５】
前記代表画素値は、ＲＧＢ値となるＲ０、Ｇ０、Ｂ０であり、
前記第１の検出処理は、｜Ｒ０／Ｇ０−１｜と｜Ｂ０／Ｇ０−１｜を前記特徴値として求め、｜Ｒ０／Ｇ０−１｜が前記第１の閾値に対応する値以下であり、かつ、｜Ｂ０／Ｇ０−１｜が前記第１の閾値に対応する値以下であるブロックを前記対象ブロックとして検出することを特徴とする請求項１３または１４に記載の画像処理方法。
【請求項１６】
前記代表画像値は、ＲＧＢ値となるＲ０、Ｇ０、Ｂ０であり、
前記第１の検出処理は、Ｒ０、Ｇ０、Ｂ０のうちの最大値と最小値の差を前記特徴値として求め、該差が前記第１の閾値以下であるブロックを前記対象ブロックとして検出することを特徴とする請求項１３または１４に記載の画像処理方法。
【請求項１７】
前記代表画素値は、ＹＣＣ値となるＹ０、Ｃｂ０、Ｃｒ０であり、
前記第１の検出処理は、前記Ｃｂ０とＣｒ０を前記特徴値として取得し、該前記Ｃｂ０が前記第１の閾値に対応する値以下であり、かつ、Ｃｒ０が前記第１の閾値に対応する値以下であるブロックを前記対象ブロックとして検出することを特徴とする請求項１３または１４に記載の画像処理方法。
【請求項１８】
前記代表画素値が表す明るさが第２の閾値以上であるブロックと、前記明るさが前記第２の閾値より小さい第３の閾値以下であるブロックとを前記対象ブロックとして検出する第２の検出処理をさらに行うことを特徴とする請求項１３から１７のいずれか１項に記載の画像処理方法。
【請求項１９】
前記複数のブロックに対して、前記第２の検出処理を先に行い、
前記第２の検出処理により検出された前記対象ブロック以外のブロックに対して前記第１の検出処理を行うことを特徴とする請求項１８に記載の画像処理方法。
【請求項２０】
前記代表画像値は、ＲＧＢ値となるＲ０、Ｇ０、Ｂ０であり、
前記第２の検出処理は、Ｒ０、Ｇ０、Ｂ０のいずれも前記第２の閾値に対応する閾値以上であるブロックと、Ｒ０、Ｇ０、Ｂ０のいずれも前記第３の閾値に対応する閾値以下であるブロックとを前記対象ブロックとして検出することを特徴とする請求項１８または１９に記載の画像処理方法。
【請求項２１】
前記代表画素値は、ＹＣＣ値となるＹ０、Ｃｂ０、Ｃｒ０であり、
前記第２の検出処理は、Ｙ０が前記第２の閾値以上であるブロックと、Ｙ０が前記第３の閾値以下であるブロックとを前記対象ブロックとして検出することを特徴とする請求項１８または１９に記載の画像処理方法。
【請求項２２】
画像を複数のブロックに分割する処理と、
各前記ブロックについて、代表画素値を算出する処理と、
前記複数のブロックの中から、白飛びまたは黒つぶれが含まれるブロックである対象ブロックを検出する検出処理とをコンピュータに実行せしめるプログラムであって、
前記検出処理は、前記代表画素値が表す色とグレーとの差分、または該差分を近似的に表し得る値を特徴値として求め、該特徴値が第１の閾値以下であるブロックを前記対象ブロックとして検出する第１の検出処理を含むことを特徴とするプログラム。
【請求項２３】
前記代表画素値は、該ブロックの各画素の画素値の平均値であることを特徴とする請求項２２に記載のプログラム。
【請求項２４】
前記代表画素値は、ＲＧＢ値となるＲ０、Ｇ０、Ｂ０であり、
前記第１の検出処理は、｜Ｒ０／Ｇ０−１｜と｜Ｂ０／Ｇ０−１｜を前記特徴値として求め、｜Ｒ０／Ｇ０−１｜が前記第１の閾値に対応する値以下であり、かつ、｜Ｂ０／Ｇ０−１｜が前記第１の閾値に対応する値以下であるブロックを前記対象ブロックとして検出する処理であることを特徴とする請求項２２または２３に記載のプログラム。
【請求項２５】
前記代表画像値は、ＲＧＢ値となるＲ０、Ｇ０、Ｂ０であり、
前記第１の検出処理は、Ｒ０、Ｇ０、Ｂ０のうちの最大値と最小値の差を前記特徴値として求め、該差が前記第１の閾値以下であるブロックを前記対象ブロックとして検出する処理であることを特徴とする請求項２２または２３に記載のプログラム。
【請求項２６】
前記代表画素値は、ＹＣＣ値となるＹ０、Ｃｂ０、Ｃｒ０であり、
前記第１の検出処理は、前記Ｃｂ０とＣｒ０を前記特徴値として取得し、該Ｃｂ０が前記第１の閾値に対応する値以下であり、かつ、Ｃｒ０が前記第１の閾値に対応する値以下であるブロックを前記対象ブロックとして検出する処理であることを特徴とする請求項２２または２３に記載のプログラム。
【請求項２７】
前記検出処理は、前記代表画素値が表す明るさが第２の閾値以上であるブロックと、前記明るさが前記第２の閾値より小さい第３の閾値以下であるブロックとを前記対象ブロックとして検出する第２の検出処理をさらに含むことを特徴とする請求項２２から２６のいずれか１項に記載のプログラム。
【請求項２８】
前記検出処理は、前記第２の検出処理、前記第１の検出処理の順で行われ、
前記第２の検出処理は、前記複数のブロックに対して行われ、
前記第１の検出処理は、前記第２の検出処理により検出された対象ブロック以外のブロックに対して行われることを特徴とする請求項２７に記載のプログラム。
【請求項２９】
前記代表画像値は、ＲＧＢ値となるＲ０、Ｇ０、Ｂ０であり、
前記第２の検出処理は、Ｒ０、Ｇ０、Ｂ０のいずれも前記第２の閾値に対応する閾値以上であるブロックと、Ｒ０、Ｇ０、Ｂ０のいずれも前記第３の閾値に対応する閾値以下であるブロックとを前記対象ブロックとして検出する処理であることを特徴とする請求項２７または２８に記載のプログラム。
【請求項３０】
前記代表画素値は、ＹＣＣ値となるＹ０、Ｃｂ０、Ｃｒ０であり、
前記第２の検出処理は、Ｙ０が前記第２の閾値以上であるブロックと、Ｙ０が前記第３の閾値以下であるブロックとを前記対象ブロックとして検出する処理であることを特徴とする請求項２７または２８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に含まれる白飛びまたは黒つぶれの検出技術に関する。
【背景技術】
【０００２】
デジタルカメラなどの撮像装置において、ホワイトバランス制御や露出制御が行われている。正しい制御ができるように、撮像して得た画像から補正値を求める際に、画像から白飛びと黒つぶれの部分を除外する必要があり、それらを検出することが行われる。
【０００３】
また、近年、デジタル一眼レフカメラなどの高機能カメラを中心に、ＲＡＷ画像をそのまま保存する機能を持つものが増えている。ＲＡＷ画像を扱う画像処理装置において、ホワイトバランス補正や露出補正が行われる。精度良く補正を行うために、飛びと黒つぶれの部分を除外する必要があるため、これらの画像処理装置においても、白飛びと黒つぶれの部分を検出することが行われる。
【０００４】
白飛びと黒つぶれの検出は、通常、その画素における明るさに基づいて行われる。しかし、画素毎に検出を行うのでは、時間がかかるという問題がある。ハードウェアより検出を行う場合には、さらに回路規模が大きくなるという問題があり、特に撮像装置においては、コンパクト化という市場ニーズに応えるのが困難になる。
【０００５】
特許文献１には、上記問題を解決する手法が開示されている。この手法は、画像を複数のブロックに分割し、各ブロックに対して求めた平均画素値に基づいて、白飛びまたは黒つぶれが含まれたブロックを検出する。そして、ホワイトバランス補正の補正値を求める際に、検出した、白飛びと黒つぶれが含まれるブロックを除外して演算を行う。
【０００６】
上記手法は、検出に際して、具体的には、平均画素値のＲ値、Ｇ値、Ｂ値のいずれも所定の閾値（白飛び閾値）以上であるブロックを白飛び領域として検出し、平均画素値のＲ値、Ｇ値、Ｂ値のいずれも所定の閾値（黒つぶれ閾値）以下であるブロックを黒つぶれ領域として検出する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−１０９７０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、ブロックに含まれる一部の画素が白飛び画素であっても、ブロックの平均画素値は必ずしも白飛び閾値以上であるとは限らない。同様に、ブロックに含まれる一部の画素が黒つぶれ画素であっても、ブロックの平均画素値は必ずしも黒つぶれ閾値以下であるとは限らない。そのため、特許文献１の手法では、白飛びまたは黒つぶれが含まれたブロックの検出漏れが生じてしまうという問題がある。検出漏れがあると、ホワイトバランス／露出の制御や補正に悪影響を与えてしまうため、検出漏れを防ぐことが望まれている。
【課題を解決するための手段】
【０００９】
本発明の一つの態様は、画像処理装置である。この画像処理装置は、画像を複数のブロックに分割して、各ブロックについて、代表画素値を算出する代表画素値算出部と、上記複数のブロックの中から、白飛びまたは黒つぶれが含まれるブロックである対象ブロックを検出する検出部を備える。
【００１０】
検出部は、代表画素値が表す色とグレーとの差分、または該差分を近似的に表し得る値を特徴値として求め、該特徴値が第１の閾値以下であるブロックを対象ブロックとして検出する第１の検出処理を行う。
【００１１】
なお、上記態様の装置を方法やシステムに置き換えて表現したもの、該装置または該装置の一部の処理をコンピュータに実行せしめるプログラムも、本発明の態様としては有効である。
【発明の効果】
【００１２】
本発明にかかる技術によれば、画像に含まれる白飛びまたは黒つぶれの検出速度を向上させると共に、検出漏れを防ぐことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態にかかるデジタルカメラを示す図である。
【図２】図１に示すデジタルカメラが行う処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００１５】
図１は、本発明の実施の形態にかかるデジタルカメラ１００を示す。デジタルカメラ１００は、撮像部１１０と、代表画素値算出部１２０と、検出部１３０と、補正部１４０を備え、検出部１３０は、Ａ検出部１３２とＢ検出部１３４を有する。
【００１６】
撮像部１１０は、撮像センサなどを有し、被写体を撮像してＲＡＷデータＤ０を得て、代表画素値算出部１２０と補正部１４０に出力する。本実施の形態において、ＲＡＷデータＤ０の各画素値は、ＲＧＢ値である。
【００１７】
代表画素値算出部１２０は、ＲＡＷデータＤ０が表す画像を複数のブロックに分割して、各ブロックについて代表画素値Ｓを算出する。本実施の形態において、代表画素値算出部１２０は、ブロックの代表画素値Ｓとして、平均ＲＧＢ値（Ｒ０、Ｇ０、Ｂ０）を算出する。
【００１８】
検出部１３０は、代表画素値算出部１２０が算出した平均ＲＧＢ値に基づいて、白飛び画素が含まれるブロックと、黒つぶれ画素が含まれるブロックを検出する。以下、白飛び画素または黒つぶれ画素が含まれるブロックを「対象ブロック」という。
【００１９】
検出部１３０において、Ａ検出部１３２は第２の検出処理を行い、Ｂ検出部１３４は第１の検出処理を行う。第２の検出処理と第１の検出処理については、以下、詳述する。
【００２０】
Ａ検出部１３２による第２の検出処理は、ブロックの代表画素値Ｓが表す明るさに基づいて対象ブロックを検出する。具体的には、平均ＲＧＢ値Ｒ０、Ｇ０、Ｂ０のいずれも所定の閾値Ｔ２（８ビットのデータの場合には例えば２５０）以上であるブロックと、平均ＲＧＢ値Ｒ０、Ｇ０、Ｂ０のいずれも所定の閾値Ｔ３（８ビットのデータの場合には例えば１０）以下であるブロックとを対象ブロックとして検出する。
【００２１】
ここで、平均ＲＧＢ値Ｒ０、Ｇ０、Ｂ０のいずれも閾値Ｔ２以上であるブロックは、白飛び画素が含まれるブロックであり、平均ＲＧＢ値Ｒ０、Ｇ０、Ｂ０のいずれも閾値Ｔ３以下であるブロックは、黒つぶれ画素が含まれるブロックである。
【００２２】
Ｂ検出部１３４による第１の検出処理は、代表画素値Ｓが表す色とグレーとの差分を表し得る特徴値を求め、該特徴値に基づいて対象ブロックを検出する。ここで、第１の検出処理の原理について説明する。
本願発明者は、デジタル撮像装置により取得された画像の特性について鋭意研究模索した結果、下記のことを知見した。
【００２３】
デジタル撮像装置が被写体を撮像して得たＲＡＷデータは、ＣＣＤなどの光電変換センサにより得た信号をデジタル化したものである。通常、センサ感度特性やレンズ特性（光学フィルタの影響など）により、ＲＡＷデータにおいて、被写体におけるグレー部分に対応する画素値（Ｒ、Ｇ、Ｂ）は、最終的にディスプレイなどの出力デバイスで表現される際のグレーを示す値(Ｒ＝Ｇ＝Ｂ)とはならない。一方、白飛び画素または黒つぶれ画素は、前述の物理的特性に因らず、デジタルで表現可能なダイナミックレンジの上限または下限（零）に画素値（Ｒ、Ｇ、Ｂの全て）が収束するため、Ｒ、Ｇ、Ｂの値が近接する。そのため、これらの画素の画素値が表す色は、グレーに近くなる。
【００２４】
第１の検出処理は、この知見に基づく。具体的には、ブロックの代表画素値が表す色とグレーとの差分を表し得る特徴値を求め、該特徴値が所定の閾値以下であれば、該ブロックを対象ブロックとして検出する。
【００２５】
本実施の形態において、Ｂ検出部１３４は、代表画素値（ここでは平均ＲＧＢ値Ｒ０、Ｇ０、Ｂ０）が表す色とグレーとの差分を表し得る特徴値として｜Ｒ０／Ｇ０−１｜と｜Ｂ０／Ｇ０−１｜を算出し、｜Ｒ０／Ｇ０−１｜が上記所定の閾値に対応する閾値（閾値Ａ）以下であり、かつ、Ｂ０／Ｇ０−１｜が上記所定の閾値に対応する閾値（閾値Ｂ）以下であるブロックを対象ブロックとして検出する。ここでは、｜Ｒ０／Ｇ０−１｜と｜Ｂ０／Ｇ０−１｜のセットは「特徴値」となる。閾値Ａと閾値Ｂは、｜Ｒ０／Ｇ０−１｜が閾値Ａ以下、かつ｜Ｂ０／Ｇ０−１｜が閾値Ｂ以下である場合に、「Ｒ０、Ｇ０、Ｂ０」が表す色とグレーとの差分が上記所定の閾値以下になることを満たすように定められるものであり、演算上の便宜のため、同一の値であることが好ましいが、必ずしも同一の値である必要がない。本実施の形態においては、閾値Ａと閾値Ｂに対して、同一の閾値Ｔ１（例えば０．２）を適用する。
【００２６】
検出部１３０は、Ａ検出部１３２とＢ検出部１３４が検出した対象ブロックを示す情報を補正部１４０に出力し、補正部１４０は、検出部１３０からの情報に基づいて補正を行う。本実施の形態において、補正部１４０は、ホワイトバランス補正と露出補正を行うものである。
【００２７】
補正部１４０は、具体的には、ＲＡＷデータＤ０のうちの、検出部１３０が検出した対象ブロックのデータ以外のデータを用いて補正値を算出する。そして、算出した補正値を用いてＲＡＷデータＤ０に対して補正を行って補正済データＤ１を得る。
【００２８】
図２は、デジタルカメラ１００において、撮像部１１０が取得したＲＡＷデータＤ０に対して行われる処理の流れを示すフローチャートである。
【００２９】
まず、代表画素値算出部１２０は、ＲＡＷデータＤ０が表す画像を複数のブロックに分割して、各ブロックについて代表画素値Ｓ（ここでは平均ＲＧＢ値Ｒ０、Ｇ０、Ｂ０）を算出する（Ｓ１０２）。
【００３０】
そして、各ブロックについて、Ａ検出部１３２は、第２の検出処理を行う。具体的には、平均ＲＧＢ値Ｒ０、Ｇ０、Ｂ０のいずれも閾値Ｔ２以上または閾値Ｔ３以下であれば、該ブロックを対象ブロックとして検出する（Ｓ１１０：Ｙｅｓ、Ｓ１１４）。
【００３１】
Ｂ検出部１３４は、Ａ検出部１３２により対象ブロックとして検出されたブロック以外のブロックに対して第１の検出処理を行う。具体的には、これらのブロックに対して、｜Ｒ０／Ｇ０−１｜と｜Ｂ０／Ｇ０−１｜を算出すると共に、｜Ｒ０／Ｇ０−１｜と｜Ｂ０／Ｇ０−１｜のいずれも閾値Ｔ１以下であるブロックを対象ブロックとして検出する（Ｓ１１０：Ｎｏ、Ｓ１２０、Ｓ１２２：Ｙｅｓ、Ｓ１１４）。
【００３２】
補正部１４０は、ＲＡＷデータＤ０における、検出部１３０のＡ検出部１３２とＢ検出部１３４が検出した対象ブロック以外の領域のデータを用いてホワイトバランス補正と露出補正の補正値を算出すると共に、算出した補正値を用いてＲＡＷデータＤ０を補正する（Ｓ１４０、Ｓ１４２）。
【００３３】
本実施の形態のデジタルカメラ１００によれば、画像を複数のブロックに分割して、ブロックの代表画素値Ｓを用いて対象ブロックを検出する際に、代表画素値Ｓが表す明るさに基づいた第２の検出処理に加え、代表画素値Ｓが表す色とグレーとの差分を表し得る特徴値に基づいた第１の検出処理を行うので、ブロック毎の検出により処理速度の向上と回路規模の削減を図ると共に、検出漏れを防ぐことができる。
【００３４】
また、本実施の形態において、｜Ｒ０／Ｇ０−１｜と｜Ｂ０／Ｇ０−１｜は、代表画素値Ｓが表す色とグレーとの差分を近似的に表す特徴値として用いられている。代表画素値Ｓが表す色が黒またはマゼンダであるなどの場合には、Ｇ０が「０」となるため、このようなブロックに対してもＢ検出部１３４が処理を行うと、｜Ｒ０／Ｇ０−１｜と｜Ｂ０／Ｇ０−１｜の演算は破綻してしまう。これに対して、本実施の形態において、Ｂ検出部１３４は、Ａ検出部１３２により対象ブロックとして検出されたブロック以外のブロックに対して第２の検出処理を行っており、これらのブロックにはＧ０が「０」であるブロックが含まれないため、上述した演算の破綻を防ぐことができる。
【００３５】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した各実施の形態に対してさまざまな変更、増減、組合せを行ってもよい。これらの変更、増減、組合せが行われた変形例も本発明の範囲にあることは当業者に理解されるところである。
【００３６】
例えば、デジタルカメラ１００において、代表画素値Ｓとして平均ＲＧＢ値を用いたが、ＲＡＷデータＤ０の画素値がＹＣＣ値である場合には、代表画素値Ｓとして平均ＹＣＣ値Ｙ０、Ｃｂ０、Ｃｒ０を用いてもよい。この場合、Ｂ検出部１３４は、上記特徴値としてＣｂ０とＣｒ０を用い、Ｃｂ０とＣｒ０のいずれも所定の閾値以下であるブロックを対象ブロックとして検出すればよい。
【００３７】
また、ＲＧＢとＹＣＣ以外の表色系（ＸＹＺやＬａ＊ｂ＊など）の場合、該表色系に応じた代表画素値と特徴値を求めて、対象ブロックの検出を行ってもよい。
【００３８】
勿論、Ａ検出部１３２は、Ｙ０が所定の閾値（白飛び閾値）以上であるブロックと、Ｙ０が別の所定の閾値（黒つぶれ閾値）以下であるブロックの双方を対象ブロックとして検出するようにしてもよい。
【００３９】
また、本実施の形態のデジタルカメラ１００において、Ａ検出部１３２による第２の検出処理により対象ブロックとして検出されなかったブロックに対して、Ｂ検出部１３４による検出が行われるようになっている。例えば、まず、Ｂ検出部１３４により第１の検出処理を行い、Ｂ検出部１３４により対象ブロックとして検出されなかったブロックに対して、Ａ検出部１３２による検出が行われるようにしてもよい。この場合、上述した演算の破綻を防ぐために、特徴値として｜Ｒ０／Ｇ０−１｜と｜Ｂ０／Ｇ０−１｜以外の値を用いればよい。
【００４０】
もちろん、Ｂ検出部１３４とＡ検出部１３２が同時に検出を行って、自身の検出結果を夫々補正部１４０に出力するようにしてもよい。この場合、補正部１４０は、Ｂ検出部１３４とＡ検出部１３２の両方から対象ブロックとして検出されたブロックも、Ｂ検出部１３４とＡ検出部１３２のいずれか片方のみから対象ブロックとして検出ブロックも除外して補正値を算出するようにすればよい。
【００４１】
また、本実施の形態のデジタルカメラ１００において、Ｂ検出部１３４は、代表画素値Ｓが表す色とグレーとの差分を表す特徴値として｜Ｒ０／Ｇ０−１｜と｜Ｂ０／Ｇ０−１｜を用いたが、例えば、平均ＲＧＢ値Ｒ０、Ｇ０、Ｂ０のうちの最大値と最小値の差を用いてもよい。
【００４２】
また、本実施の形態のデジタルカメラ１００において、Ａ検出部１３２による第２の検出処理と、Ｂ検出部１３４による第１の検出処理との両方により対象ブロックの検出を行っているが、例えば平均ＲＧＢ値Ｒ０、Ｇ０、Ｂ０のうちの最大値と最小値の差のような、第１の検出処理時に上述した演算の破綻を来たさない特徴値を用いると共に、第１の検出処理のみにより対象ブロックの検出を行うようにしてもよい。
【００４３】
また、本発明にかかる技術は、デジタルカメラなどの撮像装置に限らず、プリンタや画像表示装置を含む画像再生装置など、デジタル撮像装置が得たＲＡＷデータを扱ういかなる画像処理装置にも適用することができる。
【００４４】
また、本実施の形態において、画像に対して行う白飛び、黒つぶれの部分の検出は、ホワイト補正などの補正値を求める際に白飛び、黒つぶれの部分を除外するために行われている。例えば、デジタル撮像装置などにおいて、ダイナミックレンジを超えた白飛びや黒つぶれの量（階調表現ができていない領域）を見ながら、これらが発生しないように露出制御などを行うための白飛び／黒つぶれの検出に本発明にかかる技術を適用してもよい。
【符号の説明】
【００４５】
１００  デジタルカメラ
１１０  撮像部
１２０  代表画素値算出部
１３０  検出部
１３２  Ａ検出部
１３４  Ｂ検出部
１４０  補正部
【図１】
2010199985.tif 000003
【図２】
2010199985.tif 000004