(57)【特許請求の範囲】
【請求項１】
各画素に第１、第２および第３の色成分の画素値を有する画像データにホワイトバランス調整を行うホワイトバランス調整部と、
第１、第２および第３の色成分による色空間において、前記色空間内の白色点または前記白色点の近傍点を通る面を設定する面設定部と、
前記ホワイトバランス調整が行われた画像データを、前記面設定部により設定された前記面から生成される上限値以内の値に補正する補正部と、
を備える画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記色空間は、前記第１、第２および第３の色成分にそれぞれ対応する第１、第２および第３の座標軸を有し、
前記白色点または前記近傍点は、前記第１、第２および第３の座標軸のうちの二つの座標軸により規定される平面に平行な平面内に位置し、
前記面は、前記平行な平面内において前記白色点または前記近傍点を通り所定の傾きを有する線を含み、前記平行な平面に交差する画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記線は、直線と曲線と折れ線との少なくとも一つを含む画像処理装置。
【請求項４】
請求項２または３に記載の画像処理装置において、
前記面は、前記第１の座標軸に平行な軸上の点と、前記第２の座標軸に平行な軸上の点と、前記第３の座標軸に平行な軸上の点とを頂点として含む画像処理装置。
【請求項５】
請求項４に記載の画像処理装置において、
前記第１、第２および第３の座標軸にそれぞれ対応する変数をＲ、Ｇ、Ｂとし、係数をｓ（ｓ＞０）、ｔ（ｔ＞０）、ｕ（ｕ＞０）、Ｋ（Ｋ＞０）とした場合に、
前記面は、平面の式ｓＲ＋ｔＧ＋ｕＢ＝Ｋで表される平面である画像処理装置。
【請求項６】
請求項５に記載の画像処理装置において、
無彩色に対応するＲａｗ画像データのうちの前記第１、第２および第３の色成分の画像データについて、前記第１、第２および第３の色成分の画像データのうち前記画像データが最大となる色成分を基準色成分とし、前記基準色成分の前記ホワイトバランス調整後の画像データの最大値を第１の最大値とし、前記基準色成分とは異なる他の二つの色成分のうちの一方の色成分の前記ホワイトバランス調整後の画像データの最大値を第２の最大値とし、他方の色成分の前記ホワイトバランス調整後の画像データの最大値を第３の最大値とした場合に、
前記平行な平面は、前記基準色成分に対応する前記座標軸上の前記第１の最大値に対応する座標値において前記基準色成分に対応する前記座標軸と直交し、
前記面は、前記一方の色成分に対応する前記座標軸上の前記第２の最大値に対応する座標値において前記一方の色成分に対応する前記座標軸に直交する平面と、前記他方の色成分に対応する前記座標軸上の前記第３の最大値に対応する座標値において前記他方の色成分に対応する前記座標軸に直交する平面とが直交する直線上の点を前記頂点として含み、
前記直線上の点は、前記基準色成分に対応する前記座標軸の座標値が０より大きく前記第１の最大値に対応する座標値より小さい画像処理装置。
【請求項７】
請求項１〜６のいずれか一項に記載の画像処理装置と、
被写体像を撮像して画像データを生成する撮像部と、
を備える撮像装置。
【請求項８】
コンピュータを、請求項１〜７のいずれか一項に記載の画像処理装置として機能させる画像処理プログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置および画像処理プログラムに関する。
【背景技術】
【０００２】
ホワイトバランス調整を行う撮像装置が知られている（特許文献１）。ホワイトバランス調整によって偽色が生じる場合があるという問題が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許３９４３７１９号公報
【発明の概要】
【０００４】
本発明の第１の態様によると、画像処理装置は、各画素に第１、第２および第３の色成分の画素値を有する画像データにホワイトバランス調整を行うホワイトバランス調整部と、第１、第２および第３の色成分による色空間において、前記色空間内の白色点または前記白色点の近傍点を通る面を設定する面設定部と、前記ホワイトバランス調整が行われた画像データを、前記面設定部により設定された前記面から生成される上限値以内の値に補正する補正部と、を備える。
本発明の第２の態様によると、撮像装置は、第１の態様による画像処理装置と、被写体像を撮像して画像データを生成する撮像部と、を備える。
本発明の第３の態様によると、画像処理プログラムは、コンピュータを、第１の態様による画像処理装置として機能させる。
【図面の簡単な説明】
【０００５】
【図１】本発明の一実施の形態に係る画像処理装置を有する撮像装置の構成例を示すブロック図である。
【図２】画像処理の流れを示すフローチャートである。
【図３】ホワイトバランスゲイン乗算後の画像データを示すＲＧＢ空間を示す図である。
【図４】ＲＧＢ空間における白色点Ｗを通る直線Ｌを示す図である。
【図５】ＲＧＢ空間におけるクリップ平面を示す図である。
【図６】ＲＧＢ空間における高輝度側の点Ｐを示す図である。
【図７】ＲＧＢ空間における直線ＷＭと平面Ｇ＝Ｇｉとの交点Ｃの具体例を示す図である。
【図８】クリップ処理の具体例を示す図である。
【図９】変形例に係るＲＧＢ空間における白色点Ｗを通る線を示す図である。
【図１０】変形例に係るＲＧＢ空間におけるクリップ平面を示す図である。
【発明を実施するための形態】
【０００６】
図１は、一実施の形態に係る画像処理装置を有する撮像装置の構成例を示すブロック図である。撮像装置の一例であるデジタルカメラ１０は、撮像光学系１１と、撮像素子１２と、アナログ信号処理部１３と、画像処理部３０と、操作部１７と、メモリＩＦ部１８と、表示部１９と、制御部２０とを備える。
【０００７】
撮像光学系１１は、複数のレンズ、レンズ駆動部、絞りなどから構成され、撮像素子１２の撮像面に被写体像を結像させる。なお、図１では、簡単のため、撮像光学系１１を１枚のレンズとして図示している。
【０００８】
撮像素子１２は、ＣＣＤやＣＭＯＳイメージセンサ等の撮像素子であり、撮像光学系１１により結像された被写体像を撮像してアナログ画像信号を出力する。撮像素子１２には、Ｒ（赤）、Ｇ（緑）、Ｂ（青）の各色フィルタを備えた撮像画素が、例えば、ベイヤー配列に従って配列されている。
【０００９】
アナログ信号処理部１３は、撮像素子１２から出力されたアナログ画像信号に対して信号処理を行う。アナログ信号処理部１３は、例えば、相関二重サンプリング（ＣＤＳ；Correlated Double Sampling）、ゲイン調整、アナログデジタル（ＡＤ；Analog Digital）変換、色分離などの信号処理を行う。ＡＤ変換処理では、アナログ画像信号をデジタル画像信号に変換する。色分離処理では、画像信号をＲ、Ｇ、Ｂの色フィルタ毎に分離することにより、各色に対応したＲＡＷ画像データを生成する。
【００１０】
画像処理部３０は、ホワイトバランス（ＷＢ）調整部１４、クリップ処理部１５、補正処理部１６などから構成され、ホワイトバランス調整、クリップ処理、ガンマ補正などの画像処理を行う。画像処理部３０は、例えば、一部または全部がＡＳＩＣ（Application Specific  Integrated Circuit）として構成される。
【００１１】
ホワイトバランス（ＷＢ）調整部１４は、各色成分の画素値を有するＲａｗ画像データに対してホワイトバランス調整を行う。ホワイトバランス（ＷＢ）調整部１４は、例えば、各色のＲａｗ画像データに対してホワイトバランスゲイン値を乗算することで、ホワイトバランス調整を行う。
【００１２】
クリップ処理部１５は、面設定部３１と、上限値決定部３２と、補正部３３とを有し、ホワイトバランス調整後の画像データに対して各色成分の画素値を変化させる処理を行う。面設定部３１は、ＲＧＢ色空間内の白色点を通る面（クリップ面）を設定する。上限値決定部３２は、面設定部３１により設定されたクリップ面に基づいて、ホワイトバランス調整後の画像データの上限値（クリップ値）を決定する。補正部３３は、上限値決定部３２により決定されたクリップ値に基づいて、ホワイトバランス調整後の画像データを補正する処理を行う。
【００１３】
補正処理部１６は、クリップ処理部１５から出力された画像データに対して画像処理を行う。補正処理部１６は、例えば、色階調処理、輪郭強調処理などの画像処理を行う。
【００１４】
制御部２０は、ＣＰＵ、メモリ、周辺回路などから構成され、デジタルカメラ１０の各部を制御する。ＣＰＵは、メモリから制御プログラムやパラメータを読み込んで実行することにより、デジタルカメラ１０の各部の制御などを行う。メモリには、例えばフラッシュメモリやＤＲＡＭが含まれる。フラッシュメモリは、不揮発性の記憶媒体であり、予め所定の制御プログラムや種々のパラメータなどが記憶されている。ＤＲＡＭは、揮発性の記憶媒体であり、ＣＰＵの作業用領域として使用したり、データを一時的に記憶したりするために使用される。
【００１５】
操作部１７は、種々の操作部材などから構成され、操作部材の操作に応じた操作信号を制御部２０に出力する。制御部２０は、入力された操作信号に基づいて、デジタルカメラ１０の各部を制御する。メモリＩＦ部１８は、不図示のコネクタを有し、メモリカードなどの記憶媒体が接続される。メモリＩＦ部１８は、接続された記憶媒体に対して画像データの書き込みや、記憶媒体からの画像データの読み込みを行う。表示部１９は、例えば、液晶モニタなどから構成され、撮像して生成された画像信号に基づく画像や、デジタルカメラ１０を設定するための設定メニューなどが表示される。
【００１６】
現在、多くのデジタルカメラでは、ベイヤー配列の撮像素子を用いて撮像が行われ、ベイヤー補間、ホワイトバランス処理、色階調処理が行われ画像が記録される。ホワイトバランス処理では、無彩色を撮影した場合のＲＧＢ画像データが、１：１：１になるよう、ホワイトバランスを調整する。その後、色階調処理によって、好みの色、あるいは忠実な色など、再現意図に応じた変換が適用される。多くの場合、色階調処理では、その入力として、ホワイトバランスが調整された画像を前提としている。
【００１７】
無彩色を撮影した場合、撮像の生出力であるＲａｗデータは光源によって変化するため、ホワイトバランス処理は光源に対応して適用される。どのような光源であったか、カメラが自動的に判別するオートホワイトバランス機能や、撮影者が手動で設定するマニュアルホワイトバランス機能、無彩色被写体を予備撮影することによって行うプリセットホワイトバランス機能などを、デジタルカメラ１０は備えている。
【００１８】
ホワイトバランス処理は具体的には、チャンネルごとにＲａｗデータにホワイトバランスゲイン値を乗算する方法が知られている。これは、無彩色の物体が撮影された場合、その画像データが、１：１：１になるよう、チャンネルごとのホワイトバランスゲイン値をＲａｗデータに乗算するものである。ホワイトバランスゲイン値は、オートホワイトバランス機能を使用した場合はデジタルカメラ１０が算出し、マニュアルホワイトバランス機能を使用した場合は、あらかじめデジタルカメラ１０内に記憶されたホワイトバランスゲイン値を使用する。
【００１９】
ホワイトバランスゲイン乗算後の画像データは、元のＲａｗデータが飽和していなければ、無彩色の被写体に対して１：１：１とすることができる。しかしながら、無彩色被写体を撮影した場合に、元のＲａｗデータのいずれかのチャンネルが飽和している場合、乗算後の画像データを、１：１：１とすることができない。
【００２０】
例えば、Ｒａｗデータが１２ｂｉｔ(最大４０９５)で（２４０，４８０，３００)でありゲイン値が(２．００，１．００，１．６０)であれば、乗算後の画像データは、(４８０，４８０，４８０)となり、１：１：１とすることができる。しかし、高輝度部分の無彩色を撮影した場合のＲａｗデータは、例えば（２４００，４０９５，３０００）といったように、撮像時にＧチャンネルが飽和している場合が考えられ、このときホワイトバランスゲイン乗算後の画像データは、(４８００，４０９５，４８００)となり、１：１：１とすることができない。その結果、偽色の一種である、無彩色の高輝度部分に色がついたような、色づき現象が発生してしまう。
【００２１】
このような現象を生じさせないために、ホワイトバランスゲインを乗算した後、画像データを制限値でクリップさせる、クリップ処理が知られている。これは例えば、４０９５を制限値とした場合、４０９５を超える画像データは４０９５に制限されるというものである。クリップ処理を行う場合、上記の例での（２４００，４０９５，３０００）というＲａｗデータは、(４８００，４０９５，４８００)とならずに、(４０９５，４０９５， ４０９５)となり、１：１：１とすることができ、無彩色の色づき現象を避けることができる。
【００２２】
クリップ処理ではこのように、高輝度の無彩色被写体に対して、無彩色の色づき現象を防ぐことができる。しかし、低輝度の有彩色の被写体に対して、偽色の一種である色回りや、彩度の低下を発生させてしまったりする場合がある。例えば、ホワイトバランスゲインが(２．００，１．００，１．６０)であり、Ｒａｗデータが(３０００，１０００，１５００)となっている場合に対し、ホワイトバランスゲインを乗算して４０９５を制限値としたクリップ処理を行うことを考えてみる。Ｒチャンネルに対しては、３０００×２．００＝６０００となり、これは４０９５を超えてしまうので、ホワイトバランスゲイン乗算後にクリップ処理を行うと、画像データは(４０９５，１０００，２４００)となる。ＲＧＢの画像データ比が、クリップ処理によって変化するため、色回りを発生することになる。ＲａｗデータのＧ成分と、Ｂ成分とが、Ｒ成分に対して極めて小さい場合、例えばＲａｗデータが(３０００，１００，１００)といった場合に対して、同様の処理を行ったとすると、処理後の画像データは(４０９５，１００，１６０)になり彩度の低下が目立つようになる。
【００２３】
特許文献１に記載の撮像装置では、ホワイトバランス調整前又は調整後の一つの色信号のレベルに応じて、ホワイトバランス調整後の他の色信号のクリップレベルを設定する。このため、基準とする一つの色信号のレベルが高い場合は、画像データがクリップされることになり、色回りや彩度の低下を発生させてしまう。そこで、本発明の実施の形態では、図５に示すような色空間内の白色点を通るクリップ面を設定することで、広範な条件で色回りや彩度の低下を回避する。
【００２４】
本実施の形態では、ホワイトバランスゲイン乗算後の画像データを示すＲＧＢ空間において、平面を参照してクリップ値を求めることを行う。まずこの平面(以下、クリップ平面とよぶ)について述べる。Ｒａｗデータの最大値を１．０に正規化すると、ホワイトバランスゲイン値(Ｒチャンネル：Ｒｇ，Ｂチャンネル：Ｂｇ)をかけた画像データは、ＲＧＢ空間において
０≦Ｒ≦Ｒｇ
０≦Ｇ≦１．０
０≦Ｂ≦Ｂｇ
で囲まれる直方体(Ｒｇ＝２．０、Ｂｇ＝１．６の場合について図３に示す)の内部になる。白色点Ｗは(１．０，１．０，１．０)になる。クリップ平面はこのＲＧＢ空間において定義する。以下、クリップ平面の算出方法を述べる。
【００２５】
Ｇ＝１．０面内で、白色点Ｗ(１．０，１．０，１．０)を通り所定の傾きｍの直線Ｌを求める。この直線Ｌは、Ｒ−Ｂ座標系であらわすと、
Ｂ＝ｍ・(Ｒ−１．０)＋１．０  ・・・（１）
となり、これは
−ｍＲ＋Ｂ＝１．０−ｍ  ・・・（２）
と表せる。この直線Ｌを図４に示す。
【００２６】
クリップ平面は、（２）式で表される直線を含むものとする。平面を示す式は、Ｇ＝１．０のときに上記の直線を示す式になる。したがって、実数ｐを用いて、次式（３）が得られる。
−ｍＲ＋ｐ(１．０−Ｇ)＋Ｂ＝１．０−ｍ  ・・・（３）
【００２７】
クリップ平面は、平面Ｒ＝Ｒｇと平面Ｂ＝Ｂｇとの交線を示す直線上で、Ｇ＝Ｇｎ(０＜Ｇｎ＜１．０)を満たす所定の点Ｍ(Ｒｇ，Ｇｎ，Ｂｇ)を通るものとする。したがって、次式（４）、（５）が得られる。
−ｍＲｇ＋ｐ(１．０−Ｇｎ)＋Ｂｇ＝１．０−ｍ  ・・・（４）
ｐ＝(ｍＲｇ−Ｂｇ＋１．０−ｍ)/(１．０−Ｇｎ)  ・・・（５）
【００２８】
図５にクリップ平面を示す。ここで、所定の値ｍとＧｎについてそれぞれ、ｍ＝−１．０、Ｇｎ＝０．５とすると、
ｐ＝(−Ｒｇ−Ｂｇ＋２．０)/(１．０−０．５)
＝−２Ｒｇ−２Ｂｇ＋４．０  ・・・（６）
となるので、クリップ平面の式は、
Ｒ＋(−２Ｒｇ−２Ｂｇ＋４．０)(１．０−Ｇ)＋Ｂ＝１．０−ｍ  ・・・（７）
Ｒ＋(２Ｒｇ＋２Ｂｇ−４．０)Ｇ＋Ｂ＝２Ｒｇ＋２Ｂｇ−２．０  ・・・（８）
となる。以上がクリップ平面の算出方法である。クリップ平面は、画像にかけられるホワイトバランスゲイン値によって決定されるものとなる。ホワイトバランスゲイン値を入力として、上記の平面算出ができるよう、情報をデジタルカメラ１０に記憶しておく。
【００２９】
次に、デジタルカメラ１０での動作フローを、図２を用いて示す。本実施の形態では、Ｒ、Ｂチャンネルのホワイトバランスゲイン値Ｒｇ、Ｂｇは、それぞれ２．０、１．６であるとする。
【００３０】
ステップ１（Ｓ１）において、撮影者は撮影を行い、Ｒａｗデータ(１２ｂｉｔとする)がデジタルカメラ１０の記憶領域に記憶される。
【００３１】
ステップ２（Ｓ２）において、Ｒａｗデータにベイヤー補間が施され、一画素につき３色のデータが作成され、記憶領域に記憶される。
【００３２】
ステップ３（Ｓ３）において、ホワイトバランスゲイン値の決定を行う。ホワイトバランスゲイン値は、ホワイトバランスモード(オートホワイトバランス、マニュアルホワイトバランスなど)によって決定される。ここでは、上述のとおり、Ｒ、Ｂチャンネルのホワイトバランスゲイン値Ｒｇ、Ｂｇは、それぞれ２．０、１．６であることとする。
【００３３】
ステップ４（Ｓ４）において、クリップ平面の式を求める。（８）式に、Ｒｇ＝２．０、Ｂｇ＝１．６をそれぞれ代入し、次式（９）が得られる。
Ｒ＋３．２・Ｇ＋Ｂ＝５．２  ・・・（９）
【００３４】
ステップ５（Ｓ５）において、Ｒａｗデータにホワイトバランスゲインを乗算する。また、画像データを、Ｒａｗデータの上限値４０９５で除算し正規化する。乗算後の画像データ最大値は(Ｒ，Ｇ，Ｂ)＝(２．０，１．０，１．６)になる。以下、ステップ６（Ｓ６）〜ステップ９（Ｓ９）の処理は、画素値に応じた処理となり、画素ごとに処理を行う。
【００３５】
ステップ６（Ｓ６）において、ホワイトバランスゲイン乗算後の画像データ(Ｒｉ，Ｇｉ，Ｂｉ)をＲＧＢ空間での点で表した場合、その点がクリップ平面Ｒ＋３．２Ｇ＋Ｂ＝５．２より高輝度側(点Ｐ(２．０，１．０，１．６)側)かどうか判定する(図６)。高輝度側ならばステップ７（Ｓ７）へ、そうでないならば、クリップ処理を行わないものとしてステップ９（Ｓ９）に移る。
【００３６】
ステップ７（Ｓ７）において、ＲｓとＢｓを算出する。Ｒｓ、Ｂｓは、ＲＧＢ空間で、点Ｗ(１．０，１．０，１．０)と点Ｍ(Ｒｇ，Ｇｎ，Ｂｇ)(＝(２．０，０．５，１．６))とを通る直線（直線ＷＭ）と、平面Ｇ＝Ｇｉとの交点Ｃ(Ｒｓ，Ｇｉ，Ｂｓ)のＲ座標、Ｂ座標であることとする(図７)。直線ＷＭは、実数αを用いて、
(R,G,B)=(1.0,1.0,1.0)+α((2.0,0.5,1.6)-(1.0,1.0,1.0))  ・・・（１０）
とかける。
【００３７】
(Ｒｓ，Ｂｓ)は、直線ＷＭと平面Ｇ＝Ｇｉとの交点のＲ座標、Ｂ座標であるので、Ｇ＝Ｇｉを直線ＷＭの式に代入してαを求め、さらに求められたαを使用することで、(Ｒｓ，Ｂｓ)が求められる。例えば、Ｇｉ＝０．７の場合、（１０）式よりαが求められる。
０．７＝１．０＋α・（０．５−１．０）  ・・・（１１）
α＝０．６  ・・・（１２）
さらに、α＝０．６を（１０）式に代入し、(Ｒｓ，Ｂｓ)が求められる。
(Rs,Bs)=(1.0,1.0)+0.6・((2.0,1.6)-(1.0,1.0))=(1.6,1.36)
また例えば、Ｇｉ＝１．０の場合は、(Ｒｓ，Ｂｓ)＝(１．０，１．０)となり、Ｇｉ＝０．５の場合は、(Ｒｓ，Ｂｓ)＝(２．０，１．６)となる。
【００３８】
ステップ８（Ｓ８）において、クリップ処理を実行する。Ｒｉ＞ＲｓかつＢｉ＞Ｂｓの場合は、Ｒｉ＝Ｒｓ、Ｂｉ＝Ｂｓにクリップする。
【００３９】
Ｒｉ＞ＲｓかつＢｉ≦Ｂｓの場合は、Ｒチャンネルのクリップ値を求めクリップする。クリップ値は、クリップ平面の式にＢ＝Ｂｉ、Ｇ＝Ｇｉを代入してＲを求め、これをクリップ値としてクリップを行う。例えば、(Ｒｓ，Ｂｓ)＝(１．６，１．３６)であり、(Ｒｉ，Ｇｉ，Ｂｉ)＝(１．９，０．７，１．１)である場合、（９）式から、
Ｒ＝５．２−３．２・０．７−１．１＝１．８６
となるので、Ｒｉ＝１．９を１．８６にクリップする。
【００４０】
Ｒｉ≦ＲｓかつＢｉ＞Ｂｓの場合は、Ｂチャンネルのクリップ値を求めクリップする。クリップ値は、クリップ平面の式にＲ＝Ｒｉ、Ｇ＝Ｇｉを代入してＢを求め、これをクリップ値としてクリップする。例えば、(Ｒｓ，Ｂｓ)＝(１．６，１．３６)であり、(Ｒｉ，Ｇｉ，Ｂｉ)＝(１．５，０．７，１．５５)である場合、（９）式から、
Ｂ＝５．２−３．２・０．７−１．５＝１．４６
となるので、Ｂｉ＝１．５５を１．４６にクリップする。
【００４１】
Ｒｉ≦ＲｓかつＢｉ≦Ｂｓの場合は、ステップＳ６（Ｓ６）の判定がＮになるため、このステップ８（Ｓ８）の処理対象外となる。
【００４２】
図８に、Ｇｉ＝０．７、(Ｒｓ，Ｂｓ)＝(１．６，１．３６)である場合のクリップ処理を示す。Ｒｉ＞ＲｓかつＢｉ＞Ｂｓの場合は、(Ｒｓ，Ｂｓ)＝(１．６，１．３６)にクリップされる。Ｒｉ＞ＲｓかつＢｉ≦Ｂｓの場合は、Ｂｉの値は保持したまま、Ｒｉのみ、クリップ平面と平面Ｇ＝Ｇｉ(＝０．７)との交線にクリップされる。Ｒｉ≦ＲｓかつＢｉ＞Ｂｓの場合は、Ｒｉの値は保持したまま、Ｂｉのみ、クリップ平面と平面Ｇ＝Ｇｉ(＝０．７)との交線にクリップされる。
【００４３】
ステップ９（Ｓ９）において、終了判定を行い、すべての画素についてステップ６（Ｓ６）以下の処理を行った場合はステップ１０（Ｓ１０）へ、そうでない場合は、次の画素についてステップ６（Ｓ６）を行う。
【００４４】
ステップ１０（Ｓ１０）において、正規化を行って１２ｂｉｔ値に戻す。すなわち、４０９５を乗算する。以上が本実施の形態でのホワイトバランス処理、クリップ処理である。
【００４５】
例えば本実施の形態において、ホワイトバランスゲイン値が(２．００，１．００，１．６０)である場合、下記の４つのＲａｗデータについて、(Ｒｉ，Ｇｉ，Ｂｉ)、Ｒ＋３．２・Ｇ＋Ｂ、クリップ処理の有無は下記のようになる。
Ｒａｗデータ        (Ｒｉ，Ｇｉ，Ｂｉ)      Ｒ＋３．２Ｇ＋Ｂ   クリップ処理
(2400,4095,3000)  →  (1.172,1.000,1.172)    →    5.544      →      有
(3000,1000,1500)  →  (1.465,0.2442,0.5860)  →    2.832      →      なし
(3000,4000,1500)  →  (1.465,0.9768,0.5860)  →    5.177      →      なし
(2000,3500,3800)  →  (0.9768,0.8547,1.484)  →    5.196      →      なし
【００４６】
Ｒａｗデータが(２４００，４０９５，３０００)の場合の、Ｒｓ、Ｂｓ値はともに１．０になるため、本実施の形態の処理では、Ｒｉ、Ｂｉはともに１．０にクリップされる。したがって、本実施形態の適用後の処理後ＲＧＢデータ、偽色の有無は下記のとおりである。
Ｒａｗデータ         処理後データ                  偽色
(2400,4095,3000)  →  (4095,4095,4095)      なし(無彩色の色づき)
(3000,1000,1500)  →  (6000,1000,2400)      なし(有彩色の色回り)
(3000,4000,1500)  →  (6000,4000,2400)      なし(有彩色の色回り)
(2000,3500,3800)  →  (4000,3500,6080)      なし(有彩色の色回り)
【００４７】
以上、本実施の形態の処理では、Ｇチャンネルの値が低い場合だけでなく、高い場合についても、クリップを避けることができ、有彩色の色回りを避けることができる。また、（２４００，４０９５，３０００）といったように、撮像時にＧチャンネルが飽和している場合について、本実施の形態では１:１:１にすることができ、無彩色の色づきを避けることができる。すなわち、撮像時に飽和していることに起因する色づきを低減させることができ、また、ホワイトバランス乗算後のクリップ処理による色回りや彩度の低下を低減させることができる。
【００４８】
特許文献１に記載の撮像装置では、ホワイトバランス調整前又は調整後の一つの色信号のレベルに応じて、ホワイトバランス調整後の他の色信号のクリップレベルを設定する。ここで、無彩色被写体を撮影した場合のＲａｗデータレベルが最も高いチャンネルをＣ１チャンネル、次に高いチャンネルをＣ２チャンネル、最も低いチャンネルをＣ３チャンネルとする。この先行技術では、Ｃ１チャンネル(例えばＧ)のＲａｗデータに応じて、Ｃ２チャンネル(例えばＲ)とＣ３チャンネル（例えばＢ）に対するクリップレベルを可変とし、Ｃ１チャンネル（Ｇ）のＲａｗデータが低い場合にはクリップレベルを高く、Ｃ１チャンネル（Ｇ）のＲａｗデータが高い場合にはクリップレベルを低くする。
【００４９】
Ｒ、ＢチャンネルのホワイトバランスゲインをそれぞれＲｇａｉｎ，Ｂｇａｉｎとすると、例えば、Ｃ１チャンネル（Ｇ）のＲａｗデータが２０４７以下の場合は、Ｃ１チャンネル（Ｒ）に対するクリップレベルを４０９５×Ｒｇａｉｎ（実質的にクリップ処理なしに相当）に設定する。Ｃ１チャンネル（Ｇ）のＲａｗデータが４０９５の場合は、クリップレベルを４０９５に設定する。Ｃ１チャンネル（Ｇ）のＲａｗデータが２０４７より大きく４０９５未満の場合は、４０９５×Ｒｇａｉｎと４０９５を線形補間した値に設定する。Ｒｇａｉｎが２．０、Ｂｇａｉｎが１．６であるとすると、線形補間する場合のＲチャンネルのクリップレベルＣｌｉｐＲと、線形補間する場合のＢチャンネルのクリップレベルＣｌｉｐＢとは、それぞれ次式（１３）、（１４）で表されることになる。
ClipR={（4095-4095×2.0）/（4095-2047）}(G-4095)+4095  ・・・（１３）
ClipB={（4095-4095×1.6）/（4095-2047）}(G-4095)+4095  ・・・（１４）
【００５０】
特許文献１の先行技術では、Ｃ１チャンネル（Ｇ）のＲａｗデータが高い場合はクリップされることがある。例えば、Ｒａｗデータが（３０００，４０００，１５００）の場合、上記（１３）式、（１４）式によれば、クリップ値は、
ClipR={（4095-4095×2.0）/（4095-2047）}(4000-4095)+4095=4284
ClipB={（4095-4095×1.6）/（4095-2047）}(4000-4095)+4095=4208
であるので、ホワイトバランスゲイン乗算後の画像データは、次の処理になる。
Ｒ：６０００  （３０００×２．０）  →  ４２８４にクリップされる
Ｂ：２４００  （１５００×１．６）  →  クリップされない
また例えば、Ｒａｗデータが（２０００，３５００，３８００）となっている場合は、クリップ値は、ＣｌｉｐＲ＝５２８４、ＣｌｉｐＢ＝４８０８であるので、ホワイトバランスゲイン乗算後の画像データは、次の処理になる。
Ｒ：４０００  （２０００×２．０）  →  クリップされない
Ｂ：６０８０  （３８００×１．６）  →  ４８０８にクリップされる
【００５１】
このように、先行技術では、特定のチャンネル（Ｃ１チャンネル）のＲａｗデータのレベルが高い場合は、画像データがクリップされることになり、色回りや彩度の低下を発生させてしまうことになる。先行技術において、ホワイトバランスゲイン値が（２．００，１．００，１．６０）である場合、下記の４つのＲａｗデータについて、処理後のＲＧＢデータ、偽色の有無は下記のようになる。
Ｒａｗデータ          処理後データ              偽色
(2400,4095,3000)  →  (4095,4095,4095)     なし (無彩色の色づき)
(3000,1000,1500)  →  (6000,1000,2400)     なし (有彩色の色回り)
(3000,4000,1500)  →  (4284,4000,2400)       有 (有彩色の色回り)
(2000,3500,3800)  →  (4000,3500,4808)       有 (有彩色の色回り)
これに対して、本実施の形態では、上述したように特定のチャンネルのデータが低い場合に限定されることなく、広範な条件で色回りや彩度の低下を回避することができる。
【００５２】
上述した実施の形態によれば、次の作用効果が得られる。
（１）画像処理装置は、各画素に第１、第２および第３の色成分の画素値を有する画像データにホワイトバランス調整を行うホワイトバランス調整部１４と、ホワイトバランス調整を行った画像データの第１の色成分の画素値が第１の飽和した値であり、第２および第３の色成分の画素値がともに第１の飽和した値よりも大きい画素のうちの一部の画素の第２および第３の色成分の画素値を変化させる処理部１５と、を備える。このようにしたので、各色成分の画素値に基づいて、画素値を変化させることができる。
（２）処理部１５は、第１、第２および第３の色成分の画素値を小さくすることにより画素の画素値を変化させる。このようにしたので、Ｒａｗデータ飽和による無彩色の色づきを回避することができる。また、色回りや彩度の低下を回避することができる。
【００５３】
（３）画像処理装置は、各画素に第１、第２および第３の色成分の画素値を有する画像データにホワイトバランス調整を行うホワイトバランス調整部１４と、第１、第２および第３の色成分による色空間において、色空間内の白色点または白色点の近傍点を通る面を設定する面設定部３１と、ホワイトバランス調整が行われた画像データを、面設定部３１により設定された面から生成される上限値により補正する補正部３３と、を備える。このようにしたので、色空間内の白色点または白色点の近傍点を通るクリップ面に基づいて、ホワイトバランス調整後の画像データを補正することができる。
（４）補正部３３は、ホワイトバランス調整後の画像データを、面設定部３１により設定された面から生成される上限値以内の値に補正する。このようにしたので、無彩色の色づきを回避することができる。また、特定のチャンネルのデータが低い場合に限定されることなく、広範な条件で色回りや彩度の低下を回避することができる。
【００５４】
次のような変形も本発明の範囲内であり、変形例の一つ、もしくは複数を上述の実施形態と組み合わせることも可能である。
（変形例１）
上述した実施の形態では、図５においてクリップ面は１つとしたが、複数の面を連結させたものであってもよい。
（変形例２）
上述した実施の形態では、図４において直線Ｌは１本の直線とし、図５においてクリップ面は一つの平面としたが、直線Ｌのかわりに図９のような折れ曲がりのある線を使用し、図１０のようなクリップ面として２つの平面を連結したものを用いてもよい。
【００５５】
（変形例３）
上述した実施の形態では、図５においてクリップ面は平面としたが、曲面を使用して、クリップ値を求めるときにこの曲面を参照することもできる。
（変形例４）
上述した実施の形態では、クリップ面は白色点を通ることとしたが、白色点の近傍点を通るものであってもよい。
（変形例５）
上述した実施の形態では、画像データのクリップ処理をＲＧＢ色空間で行う例を示したが、ＣＭＹ（シアン、マゼンタ、イエロー）色空間などの他の空間で行ってもよい。
【００５６】
（変形例６）
上述した実施の形態では、撮像装置に画像処理装置を搭載する例を説明したが、画像処理装置をコンピュータによって構成するようにしてもよい。図２に例示したフローチャートに基づく処理を行うプログラムをコンピュータ（またはＣＰＵなど）に実行させることにより、画像処理装置を構成する。プログラムをコンピュータに取込んで使用する場合には、コンピュータのデータストレージ装置にプログラムをローディングした上で、当該プログラムを実行させる。
【００５７】
コンピュータに対するプログラムのローディングは、プログラムを格納したＣＤ−ＲＯＭなどの記憶媒体をコンピュータにセットして行ってもよいし、ネットワークなどの通信回線を経由する方法でコンピュータへローディングしてもよい。通信回線を経由する場合は、通信回線に接続されたサーバー（コンピュータ）のストレージ装置などにプログラムを格納しておく。プログラムは、記憶媒体や通信回線を介する提供など、種々の形態のコンピュータプログラム製品として供給することができる。
【００５８】
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【００５９】
１０…デジタルカメラ、１１…撮像光学系、１２…撮像素子、１３…アナログ信号処理部、１４…ホワイトバランス（ＷＢ）調整部、１５…クリップ処理部、１６…補正処理部、１７…操作部、１８…メモリＩＦ部、１９…表示部、２０…制御部、３０…画像処理部、３１…面設定部、３２…上限値決定部、３３…補正部
【図１】
0006676948.tif 000002
【図２】
0006676948.tif 000003
【図３】
0006676948.tif 000004
【図４】
0006676948.tif 000005
【図５】
0006676948.tif 000006
【図６】
0006676948.tif 000007
【図７】
0006676948.tif 000008
【図８】
0006676948.tif 000009
【図９】
0006676948.tif 000010
【図１０】
0006676948.tif 000011