(57)【要約】【課題】夜景画像にとって最適な補正処理を正確に行なうことが難しかった。【解決手段】入力した画像データを補正する画像処理装置であって、上記画像データが夜景画像であるか否か判定する夜景判定手段と、上記画像データの輝度範囲が拡大するように画像データを補正するにあたり、上記夜景判定手段によって夜景画像であると判定された画像データに対しては、夜景画像でないと判定された画像データよりも、拡大の程度を強めて補正を行なう補正手段とを備える構成とした。【選択図】図２
2008244799.tif 000002
【特許請求の範囲】
【請求項１】
入力した画像データを補正する画像処理装置であって、
上記画像データが夜景画像であるか否か判定する夜景判定手段と、
上記画像データの輝度範囲が拡大するように画像データを補正するにあたり、上記夜景判定手段によって夜景画像であると判定された画像データに対しては、夜景画像でないと判定された画像データよりも、拡大の程度を強めて補正を行なう補正手段とを備えることを特徴とする画像処理装置。
【請求項２】
上記夜景判定手段は、上記入力した画像データにおける所定の成分毎の統計値を求めるとともに、各統計値に基づいて、夜景らしさの程度を表わす指数を算出し、この指数に応じて夜景画像であるか否か判定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
上記夜景判定手段は、上記入力した画像データを複数の領域に分割し、分割した領域毎に上記統計値を求めることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
上記夜景判定手段は、任意の画像データにかかる統計値を入力するとともに入力した統計値に基づいて上記指数を出力可能なニューラルネットワークを用いて、上記入力した画像データについての指数を算出することを特徴とする請求項２または請求項３のいずれかに記載の画像処理装置。
【請求項５】
上記補正手段は、上記入力した画像データの明るさに応じた補正度合いによって画像データの明るさを全体的に引き上げ或いは全体的に引き下げる明るさ補正を実行可能であり、夜景画像であると判定された画像データに対しては、当該明るさ補正を実行しないか、或いは、夜景画像でないと判定された画像データよりも補正度合いを弱めて実行することを特徴とする請求項１〜請求項４のいずれかに記載の画像処理装置。
【請求項６】
上記補正手段は、上記入力した画像データを構成する要素色毎の分布のずれを略均一化するカラーバランス補正を実行可能であり、夜景画像であると判定された画像データに対しては、当該カラーバランス補正を実行しないか、或いは、夜景画像でないと判定された画像データよりも均一化の度合いを弱めて実行することを特徴とする請求項１〜請求項５のいずれかに記載の画像処理装置。
【請求項７】
入力した画像データを補正する画像処理方法であって、
上記画像データが夜景画像であるか否か判定する夜景判定工程と、
上記画像データの輝度範囲が拡大するように画像データを補正するにあたり、上記夜景判定工程において夜景画像であると判定された画像データに対しては、夜景画像でないと判定された画像データよりも、拡大の程度を強めて補正を行なう補正工程とを備えることを特徴とする画像処理方法。
【請求項８】
入力した画像データを補正する処理をコンピュータに実行させる画像処理プログラムであって、
上記画像データが夜景画像であるか否か判定する夜景判定機能と、
上記画像データの輝度範囲が拡大するように画像データを補正するにあたり、上記夜景判定機能によって夜景画像であると判定された画像データに対しては、夜景画像でないと判定された画像データよりも、拡大の程度を強めて補正を行なう補正機能とを実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力した画像データを補正する処理を実行可能な画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
従来から画像処理においては、処理対象となる画像データが表現するシーンに応じて適切に補正を行なうことが望まれていた。例えば、画像データが夜景画像を表している場合には、夜景画像をより美しく表すための補正を実行する必要がある。
また、画像データにおけるオブジェクト画素に基づいて、コントラスト補正や明度補正の処理内容を決定し実行する画像処理装置が知られている（特許文献１参照。）。
【特許文献１】特開２００３‐１１５９９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ここで、画像データを分析して単に暗い画像である場合に、夜景画像であると判断して夜景画像用の補正を行なうと、必ずしも適切な結果が得られないことがあった。これは、逆光条件において撮影された画像のように、全体的に暗い画像ではあるが夜景ではない画像が存在するからである。つまり、夜景画像と逆光のために暗くなっている画像等とでは、それぞれ施すべき最適な補正が異なり、補正の選択を誤ると、最適な補正結果が得られないという課題があった。また上記文献も、夜景画像に対して最適な補正結果を得る構成としては不十分であった。
【０００４】
本発明は上記課題に鑑みてなされたものであり、夜景画像と夜景画像でない画像に対しそれぞれに最適な補正処理を行なうことが可能な画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明にかかる画像処理装置は、入力した画像データを補正する。夜景判定手段は、入力した画像データが夜景画像であるか否か判定する。補正手段は、上記画像データの輝度範囲が拡大するように画像データを補正するにあたり、上記夜景判定手段によって夜景画像であると判定された画像データに対しては、夜景画像でないと判定された画像データよりも、拡大の程度を強めて補正を行なう。
夜景画像においては、画像中の本来明るいものであるべき部分（点光源やイルミネーション）を鮮やかに表現することでユーザの好む画質となりやすく、そのためには画像の輝度分布の幅を拡大する処理が好適である。本発明によれば、画像データが夜景画像である場合、夜景画像でない画像データに対して行なうよりも拡大の程度を強めて輝度範囲の拡大処理を行なうため、夜景画像が適切に補正される。
【０００６】
夜景画像であるか否かの判定手法は種々考えられるが、一例として夜景判定手段は、上記入力した画像データにおける所定の成分毎の統計値を求めるとともに、各統計値に基づいて、夜景らしさの程度を表わす指数を算出し、この指数に応じて夜景画像であるか否か判定するとしてもよい。かかる構成とすれば、補正対象となる画像データ毎の特徴に応じて、夜景であるか否かをある程度の正確性を持って判定することができる。上記統計値としては、例えば、画像データの各種成分値（色相、彩度、明度等）の平均値や、最大値、最小値、最頻値、メジアン等、各種値が考えられる。
【０００７】
上記夜景判定手段は、上記入力した画像データを複数の領域に分割し、分割した領域毎に上記統計値を求めるとしてもよい。画像全体を対象として各統計値を求めてもよいが、画像データの領域毎に統計値を求めれば、画像データが夜景か否か判定するために必要な画像データの情報（統計値）をより細かく得ることができる。またその結果、上記判定の精度も上がると言える。
【０００８】
ここで、任意の画像データにかかる統計値を入力し、この入力した統計値に基づいて、当該任意の画像データの夜景らしさを表す指数を出力可能なニューラルネットワークを、予め所定の教師データに基づいて学習させ構築しておくとしてもよい。そして、上記夜景判定手段は、このニューラルネットワークに対して上記入力した画像データの統計値を入力することにより上記指数を得る。かかる構成とすれば、補正対象となる画像データが夜景画像であるか否かを容易かつ正確に判定することができる。
【０００９】
上記補正手段は、輝度範囲の拡大以外にも種々の補正処理を実行できる。例えば、入力した画像データの明るさに応じた補正度合いによって画像データの明るさを全体的に引き上げ或いは全体的に引き下げる明るさ補正や、入力した画像データを構成する要素色毎の分布のずれを略均一化するカラーバランス補正を実行可能である。かかる前提において、補正手段は、夜景判定手段によって夜景画像であると判定された画像データに対しては、明るさ補正を実行しないか、或いは、夜景画像でないと判定された画像データよりも補正度合いを弱めて実行する。また補正手段は、夜景画像であると判定された画像データに対しては、カラーバランス補正を実行しないか、或いは、夜景画像でないと判定された画像データよりも均一化の度合いを弱めて実行する。
【００１０】
つまり夜景画像である場合、夜空などの暗い部分は暗いままであるべきなので、上記明るさ補正は実行しないか、実行する場合でもその補正度合いを弱いものとする。また、夜景画像である場合、カラーバランスを揃える必要性は低いため、上記カラーバランス補正は実行しないか、実行する場合でもその均一化の度合いを弱める。その結果、夜景画像においては、点光源やイルミネーション等の鮮やかさが増し、かつ夜景らしさが保たれた、最適な補正結果を得ることができる。
また、入力した画像データが夜景画像ではない画像（例えば、逆光条件において撮影されて暗い画像）である場合も、輝度範囲の拡大や、明るさ補正や、カラーバランス補正が画像データに応じて実行されるため、適切に補正された状態の画像が得られる。
【００１１】
なおこれまでは、画像処理装置というカテゴリーで本発明にかかる技術的思想を説明したが、上記の画像処理装置が備える各手段にそれぞれ対応した処理工程を備える画像処理方法の発明や、画像処理装置が備える各手段にそれぞれ対応した機能をコンピュータに実行させる画像処理プログラムの発明をも把握可能であることは言うまでも無い。
【発明を実施するための最良の形態】
【００１２】
以下の順序に従って、本発明の実施形態を説明する。
（１）画像処理装置などの概略構成
（２）画像のシーン判定処理
（３）画像の補正処理
（３‐１）夜景画像に適した補正処理
（３‐２）標準的な補正処理
（４）まとめ
【００１３】
（１）画像処理装置などの概略構成
図１は、本発明の一実施形態にかかる画像処理装置と、その周辺機器の概略構成をブロック図により示している。同図においては、画像処理の中心的な役割を果たす画像処理装置としてのコンピュータ２０を示している。コンピュータ２０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ハードディスク（ＨＤ）２４などを備える。コンピュータ２０には、各種の画像入力装置としてのスキャナ１１、デジタルスチルカメラ１２や、各種の画像出力装置としてのプリンタ３１、ディスプレイ３２が適宜接続される。
【００１４】
コンピュータ２０においては、ＣＰＵ２１がＲＡＭ２３をワークエリアとして使用しながら、ＲＯＭ２２やＨＤ２４等の所定の記憶媒体に保存されている各種プログラムを実行する。本実施形態では、ＣＰＵ２１はＨＤ２４に記憶されているアプリケーション（ＡＰＬ）２５を読み出して実行する。実行されるＡＰＬ２５は、概略、画像データ取得部２５ａ、統計データ算出部２５ｂ、シーン判定部２５ｃ、補正部２５ｄといった各機能ブロックを構成する。
【００１５】
画像データ取得部２５ａは、上記画像入力装置から出力される画像データや、ＨＤ２４に予め保存されている画像データを、入力画像データとして取得する。
統計データ算出部２５ｂは、入力画像データにおける所定の成分毎の統計値（統計データ）を求める。シーン判定部２５ｃは、統計データ算出部２５ｂが算出した各統計データ２４ａと、所定のシーン自動判定用プログラム２４ｂとに基づいて、夜景らしさの程度等を表わす指数を算出し、この指数に応じて入力画像データが夜景画像であるか否か判定する。従って、統計データ算出部２５ｂおよびシーン判定部２５ｃが夜景判定手段を実現する。
【００１６】
補正部２５ｄは、画像データ取得部２５ａから入力画像データを受け取るとともに、シーン判定部２５ｃによる判定結果に応じて異なる補正処理を入力画像データに対し実行し、補正後の画像データを出力する。本実施形態では、少なくとも補正部２５ｄは、レベル補正と、明るさ補正と、コントラスト補正と、カラーバランス補正とを実行可能である。各補正の内容については後述する。
【００１７】
コンピュータ２０では、ＡＰＬ２５はオペレーティングシステム２６に組み込まれて実行され、オペレーティングシステム２６には、プリンタドライバ２７およびディスプレイドライバ２８も組み込まれている。ディスプレイドライバ２８はディスプレイ３２への画像表示を制御するドライバであり、ＡＰＬ２５の補正部２５ｄから出力された補正後の画像データに基づいて、画像をディスプレイ３２に表示させることが可能である。また、プリンタドライバ２７は、ＡＰＬ２５の補正部２５ｄから出力された補正後の画像データに対して、インク色（例えば、シアン、マゼンタ、イエロー、ブラック）表色系への色変換処理やハーフトーン処理やラスタライズ処理などを実行して印刷データを生成するとともに、この印刷データをプリンタ３１に出力することにより、プリンタ３１に印刷データに基づく画像の印刷を実行させることが可能である。
【００１８】
なお、本実施形態で説明するコンピュータ２０が実行する処理は、その全て或いは一部を、上記画像入力装置の側で実行するとしてもよいし、上記画像出力装置の側で実行するとしてもよい。例えば、補正部２５ｄの機能については、プリンタ３１やディスプレイ３２の側に備えさせ、プリンタ３１やディスプレイ３２が、上記ＡＰＬ２５から受け渡された画像データを補正し、補正後の画像データに基づいて印刷処理や画像表示処理を行なうとしてもよい。この場合、コンピュータ２０とプリンタ３１、ディスプレイ３２とによって画像処理システムが構築されると言える。
【００１９】
（２）画像のシーン判定処理
上述した基本的構成を用いて実行する画像補正処理についてさらに詳しく説明する。
図２は、コンピュータ２０がＡＰＬ２５に従って実行する画像処理の一部（統計データ算出部２５ｂによる処理以降の内容）をフローチャートにより示している。
ステップＳ（以下、ステップの記載を省略する）１００では、コンピュータ２０は、入力画像データの所定の成分値毎のヒストグラムおよび輝度のヒストグラムを生成するとともに、各ヒストグラムから平均値や最大値等の統計データを抽出する。
【００２０】
図３は、上記Ｓ１００の処理の詳細をフローチャートにより示している。
Ｓ１０１では、コンピュータ２０は、入力画像データを複数の領域に分割する。本実施形態では、画像データ取得部２５ａから受け渡される入力画像データは、要素色ＲＧＢを複数階調（例えば、０〜２５５の２５６階調）で表現して各画素の色を規定したドットマトリクス状のデータであり、ｓＲＧＢ規格に従った表色系を採用している。むろん、ＹＣｂＣｒ表色系を採用したＪＰＥＧ画像データやＣＭＹＫ表色系を採用した画像データ等、種々のデータを採用可能である。
【００２１】
図４は、Ｓ１０１において入力画像データＤを複数の領域に分割した様子の一例を示している。同図では、入力画像データＤを縦横それぞれ５分割し、計２５個の領域Ａを形成している。むろん、入力画像データＤの分割の仕方は同図に示した態様に限られない。
Ｓ１０３では、コンピュータ２０は、分割して得た各領域のＨ、Ｓ、Ｖ毎の頻度分布（ヒストグラム）を生成する。Ｈ（Hue）は色相、Ｓ（Saturation）は彩度、Ｖ（Value）は明度を意味する。具体的には、コンピュータ２０は、ヒストグラムの生成対象として選択した領域中の各画素のＲＧＢデータをＨＳＶ形式のデータに変換し、Ｈ、Ｓ、Ｖをその値に応じてそれぞれ所定の階調範囲（例えば、０〜２５５）に正規化した上で、その階調値別に頻度を集計し、その結果としてＨ、Ｓ、Ｖ毎のヒストグラムを生成する。ＲＧＢデータからＨＳＶデータへの変換は、公知の変換式により実行可能である。コンピュータ２０は、このようなヒストグラムの生成処理を、対象の領域を順次選択して行なう。
【００２２】
コンピュータ２０は、上記分割によって得た全ての領域毎にＨＳＶの各ヒストグラムを生成することができる。ただし本実施形態では、計算量を減らすために上記分割によって得た領域のうち一部の領域についてのみＨＳＶの各ヒストグラムを生成する。図４では、いくつかの領域Ａにハッチングを施している。本実施形態では、かかるハッチングで示した領域Ａ（基本的には、画像中において一つおきに存在する各領域Ａ）を対象としてそれぞれＨＳＶ毎のヒストグラムを生成する。
Ｓ１０５では、コンピュータ２０は、上記Ｓ１０３で生成した各ヒストグラムの平均値Ｈav，Ｓav，Ｖavを算出する。この結果、ＨＳＶのヒストグラムの生成対象とした領域がｎ個ある場合、平均値Ｈav，Ｓav，Ｖavがそれぞれｎ個算出される。
【００２３】
Ｓ１０７では、コンピュータ２０は、入力画像データの輝度の最大値を取得する。輝度の最大値については、上記分割した領域毎に値を求めるのではなく、画像全体を対象としたときの最大値を求める。この場合コンピュータ２０は、入力画像データの各画素の輝度Ｙを求めるとともに、求めた輝度Ｙの頻度分布（ヒストグラム）を生成する。画素の輝度Ｙの求め方については種々考えられる。例えば、ｓＲＧＢ表色系と国際照明委員会（ＣＩＥ）で規定されたＬ*ａ*ｂ*表色系との変換関係を予め規定したテーブル（プロファイルとも言う）を参照して、画素毎のＲＧＢ値をＬ*ａ*ｂ*値に変換し、これによって得られたＬ*成分値を当該画素の輝度Ｙとしてもよい。あるいは、次式（１）
Ｙ＝０．３０Ｒ＋０．５９Ｇ＋０．１１Ｂ  …（１）
といった、公知のＲＧＢの重み付け積算によって画素の輝度Ｙを求めても良い。本実施形態では処理の簡易化のため、式（１）によって画素の輝度Ｙを求め、各画素の輝度Ｙを階調値毎に集計して輝度のヒストグラムを生成する。
【００２４】
輝度のヒストグラムを求めたら、コンピュータ２０は当該ヒストグラムの上端（ヒストグラム中の最も高階調側の階調値）を最大値Ｙmaxとする。ただし、このように分布の最も高階調側の階調値を単純に最大値Ｙmaxと認定するのではなく、最も高階調側の階調値からある分布割合（例えば、ヒストグラムの集計に用いた画像数の０．５％分）だけ分布の内側に入った位置を最大値Ｙmaxとしてもよい。ヒストグラムの上端を所定割合だけカット（上端処理と言う）した後の最大値を用いれば、高階調側でノイズなどに起因して生じている白点を除去することができる。
【００２５】
Ｓ１０９では、コンピュータ２０は、Ｓ１０５，１０７で取得した各データ（Ｈav，Ｓav，Ｖav，Ｙmax）を統計データ２４ａとしてＨＤ２４に保存する。なおコンピュータ２０は、上記各ヒストグラムを生成する際、対象とした領域に存在する全ての画素に基づいてヒストグラムを生成するのではなく、同対象とした領域の中から所定の抽出率に従って抽出した画素に基づいてヒストグラムを生成するようにしてもよい。
また本実施形態では、上記Ｈav，Ｓav，Ｖav，Ｙmax以外にも、上記輝度のヒストグラムの平均値Ｙavや、ＲＧＢ毎の最大値Ｒmax、Ｇmax、Ｂmaxや、平均値Ｒav、Ｇav、Ｂavや、メジアンＲmed、Ｇmed、Ｂmed等の各種統計データを求め、ＨＤ２４に保存しておくことができる。この場合、入力画像データ中のＲ、Ｇ、Ｂ毎の頻度分布（ヒストグラム）を生成し、生成したＲ、Ｇ、Ｂ毎のヒストグラムの各上端（あるいは上端処理を施した後の上端）を最大値Ｒmax、Ｇmax、Ｂmaxとする。平均値Ｒav、Ｇav、Ｂav、メジアンＲmed、Ｇmed、ＢmedについてもＲ、Ｇ、Ｂ毎のヒストグラムからそれぞれ求めておく。
【００２６】
図２の説明に戻る。
Ｓ１１０では、コンピュータ２０は、予め構築されたシーン自動判定用プログラム２４ｂとしてのニューラルネットワーク（ＮＮ２４ｂ）および、統計データ２４ａのうち上記Ｓ１０５，１０７で取得した各統計データ（Ｈav，Ｓav，Ｖav，Ｙmax）をＨＤ２４から読み出すとともに、ＮＮ２４ｂに当該読み出した統計データを入力する。ＮＮ２４ｂは、いわゆる多層パーセプトロン型のニューラルネットワークであり、入力された統計データに応じて２つの指数ＮＩ、ＤＩを出力可能である。コンピュータ２０は、ＮＮ２４ｂを予めＨＤ２４に保存しておく場合には、所定のネットワークを介して外部のサーバからＮＮ２４ｂをＨＤ２４にダウンロードしておく。あるいは、コンピュータ２０は、ＮＮ２４ｂが必要になった段階で上記サーバからＮＮ２４ｂを読み出すとしてもよい。
【００２７】
Ｓ１２０では、コンピュータ２０は、ＮＮ２４ｂからの出力結果として上記指数ＮＩ、ＤＩを取得する。指数ＮＩは、統計データの取得元となった入力画像データの夜景画らしさを表す指数であり０〜１の数値によって表される。指数ＮＩは１に近いほど、入力画像データの夜景画らしさが高いことを意味する。一方、指数ＤＩは、統計データの抽出元となった入力画像データの風景画らしさを表す指数であり０〜１の数値によって表される。指数ＤＩは１に近いほど、入力画像データの風景画らしさが高いことを意味する。
ＮＮ２４ｂの構造について簡単に説明する。
【００２８】
図５は、ＮＮ２４ｂの構造を示している。ＮＮ２４ｂは複数の入力ユニットＩｊから構成された入力層と、複数の中間ユニットＵｉ（ｉ＝１〜ｍ）から構成された中間層と、指数ＮＩを出力する出力ユニットＯ１と指数ＤＩを出力する出力ユニットＯ２とから構成された出力層と、からなる。入力ユニットＩｊの数は、ＮＮ２４ｂに入力される統計データの数に対応しており、例えば入力される統計データが、Ｈav，Ｓav，Ｖavがそれぞれ１３個ずつかつＹmax１つの計４０個である場合には、ｊ＝１〜４０となる。入力層では各入力ユニットＩｊがそれぞれ１つの統計データを入力する。
【００２９】
中間層の各中間ユニットＵｉは式（２）によって表される。
【数２】
2008244799.tif 000003
上記式（２）に示すように、各中間ユニットＵｉは、各入力ユニットへの入力値（Ｉｊと表す）を係数Ｗ１ｉｊによって重み付けをした上で線形結合している。係数Ｗ１ｉｊは、各中間ユニットＵｉが各入力ユニットＩｊに対して持つ固有の重み係数である。また、各中間ユニットＵｉは固有のバイアスｂ１ｉを有しており、同バイアスｂ１ｉが各入力ユニットＩｊの線形結合に加算される。
【００３０】
また、出力層の出力ユニットＯ１は式（３）、Ｏ２は式（４）によって、それぞれＮＩ、ＤＩを算出する。
【数３】
2008244799.tif 000004
【数４】
2008244799.tif 000005
【００３１】
上記Ｚｉは、各中間ユニットＵｉからの出力結果であり、式（５）
Ｚｉ＝ｆ（Ｕｉ）  …（５）
によって表される。ｆは、中間層の入出力関数を表しており、単調増加連続関数である。上記式（３）に示すように、出力ユニットＯ１では、各中間ユニットＵｉの出力Ｚｉを係数Ｗ２ｉによって重み付けをした上で線形結合している。係数Ｗ２ｉは、出力ユニットＯ１が各中間ユニットＵｉに対して持つ固有の重み係数である。また、出力ユニットＯ１は固有のバイアスｂ２を有しており、同バイアスｂ２がＺｉの線形結合に加算される。同様に、式（４）に示すように、出力ユニットＯ２は、各中間ユニットＵｉの出力Ｚｉを係数Ｗ３ｉによって重み付けをした上で線形結合している。係数Ｗ３ｉは、出力ユニットＯ２が各中間ユニットＵｉに対して持つ固有の重み係数である。また、出力ユニットＯ２は固有のバイアスｂ３を有しており、同バイアスｂ３がＺｉの線形結合に加算される。
【００３２】
本実施形態において用いる上記ＮＮ２４ｂは、既に学習済みであるものとする。つまりコンピュータ２０は、学習前のＮＮ２４ｂに対して、用意された幾つかの夜景画像にかかる統計データ（夜景用教師データ）と、各夜景用教師データに対する目標出力（ＮＩ）を与え、かつ、用意された幾つかの風景画像にかかる統計データ（風景用教師データ）と、各風景用教師データに対する目標出力（ＤＩ）を与える。そして、上記目標出力（ＮＩ）と実際の出力ユニットＯ１の出力結果ＮＩが略一致し、かつ、上記目標出力（ＤＩ）と実際の出力ユニットＯ２の出力結果ＤＩが略一致するように、係数Ｗ１ｉｊ、バイアスｂ１ｉ、係数Ｗ２ｉ、バイアスｂ２、係数Ｗ３ｉ、バイアスｂ３をそれぞれ最適化する処理を予め行なっている。
【００３３】
図２の説明に戻る。
Ｓ１３０では、コンピュータ２０は、上記Ｓ１２０で取得した指数ＮＩおよび指数ＤＩに基づいて入力画像データが夜景画像であるか否か判定する。一例として本実施形態では、指数ＮＩ≧０．５、かつ、指数ＤＩ＜０．５である場合に、入力画像データは夜景画像であると判定する。
Ｓ１４０では、コンピュータ２０は、上記判定結果（夜景画像であるか否か）に応じて、次の処理を分岐する。夜景画像である場合には、コンピュータ２０はＳ１５０に進み、夜景画像に適した補正処理を実行する。一方、夜景画像でない場合にはＳ１６０に進み、標準的な補正処理を実行する。なお上記Ｓ１３０においては、指数ＮＩ＜０．５、かつ、指数ＤＩ≧０．５である場合には風景画像と判定し、指数ＮＩ、ＤＩがいずれも０．５以上であったり、いずれも０．５より下である場合には標準画像と判定する等、より細かい判定が可能であるが、本実施形態では夜景以外の画像に対しては、標準的な補正処理を実行するものとする。
【００３４】
（３）画像の補正処理
図６は、コンピュータ２０が、夜景画像と判定した画像に対して実行する補正処理（Ｓ１５０の処理）と、夜景以外の画像であると判定した画像に対して実行する補正処理（Ｓ１６０の処理）との違いを表にして示している。上述したように、コンピュータ２０は、ＡＰＬ２５（補正部２５ｄ）に従って、レベル補正と、明るさ補正と、コントラスト補正と、カラーバランス補正とを実行可能である。そしてコンピュータ２０は、夜景画像に対しては、レベル補正とコントラスト補正については積極的な補正を実行し、明るさ補正とカラーバランス補正は基本的には実行しない。一方、夜景以外の画像に対しては、レベル補正とコントラスト補正については、夜景画像に対して行なうよりも控えめな補正を実行し、明るさ補正とカラーバランス補正は通常通り実行する。ただし、夜景画像に対して、明るさ補正とカラーバランス補正を全く実行しないのではなく、夜景以外の画像に対して行なう補正度合いよりも控えめな度合いにて実行するとしてもよい。
【００３５】
（３‐１）夜景画像に適した補正処理
図７は、レベル補正用の関数Ｆ１、Ｆ２を例示している。ここで言うレベル補正とは、入力画像データの各画素の輝度の階調値をレベル補正用の関数に入力して補正することを意味する。同図に示すように、関数Ｆ１、Ｆ２はいずれも入力（０〜２５５）＝出力（０〜２５５）となる傾きよりも急な傾きを持った一次関数であり、関数Ｆ１の方が関数Ｆ２よりも傾きが急である。具体的には、関数Ｆ１は、階調値ｐ２以上の入力があった場合に、出力を輝度が取り得る階調範囲の最大階調値２５５に補正する関数であり、関数Ｆ２は、階調値ｐ３（ただし、ｐ３＞ｐ２）以上の入力があった場合に出力を最大階調値２５５に補正する関数である。
また、関数Ｆ１、Ｆ２はいずれも、階調値ｐ１（ただし、０＜ｐ１＜ｐ２）以下の入力があった場合に出力＝０とする関数である。
【００３６】
従って、上記関数Ｆ１またはＦ２を用いたレベル補正を行なえば、補正後の画像データの輝度範囲の幅は、補正前の輝度範囲の幅よりも拡大される。また、同じ入力画像データについて、関数Ｆ２を用いて補正した後の輝度範囲よりも関数Ｆ１を用いて補正した後の輝度範囲の方が、その幅は広くなりやすい。よって、関数Ｆ１を用いたレベル補正は、関数Ｆ２を用いたレベル補正よりも積極的な補正であると言える。
【００３７】
図８は、コントラスト補正用の関数Ｆ３、Ｆ４を例示している。ここで言うコントラスト補正とは、入力画像データの各画素の輝度の階調値をコントラスト補正用の関数に入力することにより、画像データが持つ輝度範囲の幅を拡大することを意味する。同図に示すように、関数Ｆ３、Ｆ４はいずれも輝度が取り得る階調範囲の中間階調値（１２８）より低い入力があった場合には当該入力よりも低い値を出力し、中間階調値以上の入力があった場合には当該入力よりも高い値を出力する略Ｓ字状の曲線である。また、関数Ｆ３は関数Ｆ４よりも、低階調側および高階調側のいずれにおいてもＳ字のカーブの曲がり具合が深い。従って、同じ入力画像データについて、関数Ｆ４を用いて補正した後の輝度範囲よりも関数Ｆ３を用いて補正した後の輝度範囲の方がその幅は広くなる。よって、関数Ｆ３を用いたコントラスト補正は、関数Ｆ４を用いたコントラスト補正よりも積極的な補正であると言える。
【００３８】
コンピュータ２０は上記Ｓ１５０では、上記関数Ｆ１および関数Ｆ３をＨＤ２４等の所定の記憶媒体から読出す。そして、入力画像データの画素の輝度を関数Ｆ１に入力し、得られた出力階調値を、次に関数Ｆ３に入力し、この結果得られた出力階調値を補正後の輝度値とする。かかる関数Ｆ１および関数Ｆ３による補正は、入力画像データの全画素を対象として行なう。この結果、入力画像データの持つ輝度範囲が、レベル補正とコントラスト補正によって、補正前と比較して大きく拡大される。なお、レベル補正とコントラスト補正の実行順は上記と逆であってもよい。
【００３９】
またコンピュータ２０は、関数Ｆ１による補正と、関数Ｆ３による補正とを同時に実現する夜景画像用補正ルックアップテーブル（ＬＵＴ）を予め生成しておいてもよい。つまり、０〜２５５の各入力階調値（最初の入力階調値）を関数Ｆ１でそれぞれ補正し、この各補正結果を関数Ｆ３にそれぞれ入力して最終的な補正結果を得て、最初の入力階調値と、最終的な補正結果とを対応付けたＬＵＴを生成し、ＨＤ２４等の所定の記憶媒体に保存しておく。コンピュータ２０は、夜景画像用補正ＬＵＴを用いてＳ１５０の補正を行えば、入力画像データの各画素についてそれぞれ１度の変換処理によって、積極的なレベル補正と積極的なコントラスト補正とを実行できる。また上述したように、Ｓ１５０では、明るさ補正およびカラーバランス補正は実行しない。
【００４０】
（３‐２）標準的な補正処理
一方、上記Ｓ１６０においてコンピュータ２０は、画像が夜景画像である場合よりは控えめなレベル補正およびコントラスト補正を実行するために、上記関数Ｆ２および関数Ｆ４をＨＤ２４等の所定の記憶媒体から読み出す。さらにコンピュータ２０は、明るさ補正およびカラーバランス補正を実行するために、以下のように、明るさ補正のための補正曲線Ｃおよび、カラーバランス補正のための補正量を求める。
【００４１】
図９は、明るさ補正用の補正曲線Ｃ（トーンカーブとも言う）を例示している。ここで言う明るさ補正とは、入力画像データの明るさに応じた補正度合いの曲線に従って、画像データの明るさを全体的に引き上げ或いは全体的に引き下げる補正を言う。
コンピュータ２０は、補正曲線Ｃを生成する場合、入力画像データの輝度平均値に応じて補正曲線Ｃにおける補正度合いを決定する。上述したようにコンピュータ２０は、上記Ｓ１００において輝度のヒストグラムの平均値Ｙavを算出して、統計データ２４ａの一種としてＨＤ２４に保存済みである。そこでコンピュータ２０は、ＨＤ２４からこの平均値Ｙavを読出し、当該輝度平均値Ｙavの値に応じて明るさ補正量ΔＹを決定する。
【００４２】
図１０は、明るさ補正量ΔＹを決定するための補正量決定関数Ｆ５の一例を示している。補正量決定関数Ｆ５は、任意の輝度平均値Ｙavに対して明るさ補正量ΔＹを一義的に決定する関数である。同図では、横軸を輝度平均値Ｙav、縦軸を明るさ補正量ΔＹとしている。補正量決定関数Ｆ５は概略的には、入力としての輝度平均値Ｙavが最小値のときに最大の明るさ補正量ΔＹmaxを与え、輝度平均値Ｙavが高くなるにつれて与える明るさ補正量ΔＹも小さくなる。そして、輝度平均値Ｙavが所定階調ｑを越える場合にはマイナスの明るさ補正量ΔＹを与え、輝度平均値Ｙavが最大値のときに最小の明るさ補正量ΔＹminを与える関数となっている。コンピュータ２０は、補正量決定関数Ｆ５をＨＤ２４等の所定の記憶媒体から読み出すとともに、当該補正量決定関数Ｆ５に輝度平均値Ｙavを入力することにより、一つの明るさ補正量ΔＹを得る。
【００４３】
コンピュータ２０は、上記のように取得した明るさ補正量ΔＹによって、トーンカーブの基礎となる直線グラフ上の特定のポイントを補正し、この補正後のポイントと、直線グラフの両端とを参照してスプライン補間演算を行い、この補間演算によってトーンカーブを生成する。具体的には、図９に示すように、コンピュータ２０は入力（０〜２５５）＝出力（０〜２５５）となる直線グラフＦ６上の、入力階調値６４に対応するポイントＰの出力階調値（６４）に、明るさ補正量ΔＹを加算する補正を施す。そして、補正後のポイントＰ´と直線グラフＦ６の両端とを含むような曲線をスプライン補間を用いて算出し、算出したトーンカーブを補正曲線Ｃとする。なお、明るさ補正量ΔＹによる補正対象となるポイントＰは、直線グラフＦ２上の入力階調値６４に対応する位置に限られない。上記取得した明るさ補正量ΔＹが正の値である場合には、入力階調範囲の中間値階調（１２８）より低階調側の一の入力階調値に対応する直線グラフＦ６上の位置を明るさ補正量ΔＹによる補正対象とする。一方、明るさ補正量ΔＹが負の値である場合には、中間階調値よりも高階調側の一つの入力階調値に対応する直線グラフＦ６上の位置を明るさ補正量ΔＹによる補正対象とする。また補正曲線Ｃは、上記のようなトーンカーブ単体でなくともよく、上記トーンカーブと所定のカーブ形状を有するγ（ガンマ）カーブとを合成した曲線であってもよい。γカーブとトーンカーブとを合成する場合、γカーブによる補正度合いも上記輝度平均値Ｙavに応じて決定することができる。
【００４４】
次にカラーバランス補正のための補正量の生成について説明する。カラーバランス補正とは、入力画像データの要素色ＲＧＢそれぞれの分布の位置にずれがある場合に、このずれを補正する処理を言う。カラーバランス補正を行うことにより、いわゆる色かぶりを是正することができる。カラーバランス補正の具体例は種々考えられるが、ここでは一例として、要素色間の相対的なずれとしてのオフセット量を求め、このオフセット量に応じて各要素色の階調値を補正する。コンピュータ２０は、例えば、ＨＤ２４に保存されている統計データ２４ａの一部を読み出すことにより、要素色ＲＧＢのうち一色（ここではＧでとする）に対する他の色（Ｒ、Ｂ）のずれを以下のように決定する。
ｄＲmax＝Ｇmax−Ｒmax  …（６）
ｄＢmax＝Ｇmax−Ｂmax  …（７）
ｄＲmed＝Ｇmed−Ｒmed  …（８）
ｄＢmed＝Ｇmed−Ｂmed  …（９）
【００４５】
ｄＲmax、ｄＢmaxは、入力画像データのＧmaxに対するＲmax、Ｂmaxの各ずれであり、ｄＲmed、ｄＢmedは、入力画像データのＧmedに対するＲmed、Ｂmed の各ずれである。コンピュータ２０は、かかる各ずれに応じて、赤成分用のオフセット量ｄＲ、青成分用のオフセット量ｄＢを、例えば以下のように決定する。
ｄＲ＝（ｄＲmax＋ｄＲmed）／α  …（１０）
ｄＢ＝（ｄＢmax＋ｄＢmed）／β  …（１１）
上記α、βは、２や４等といった所定の分母であり、実験等に基づいて適宜変更可能である。
【００４６】
コンピュータ２０はＳ１６０では、上記のようにオフセット量ｄＲ、ｄＢを求めたら、入力画像データの全画素を対象として、各画素のＲ成分にオフセット量ｄＲを加算し、Ｂ成分にオフセット量ｄＢを加算する処理を行なう。その結果、入力画像データの各要素色ＲＧＢの分布の相対的なずれが所定の精度をもって修正され、カラーバランスが整えられる。コンピュータ２０は、カラーバランス補正後の入力画像データを対象として、上記生成した補正曲線Ｃを用いた明るさ補正を行う。この場合、入力画像データの画素毎に、その輝度値を補正曲線Ｃに入力することにより各画素の輝度を補正する。この結果、入力画像データの元の明るさ（輝度平均値Ｙav）が低かった場合には、その低さに応じて画像の明るさが全体的に引き上げられ、逆に、入力画像データの元の明るさが高かった場合には、その高さに応じて画像の明るさが全体的に引き下げられる。さらに、コンピュータ２０は、明るさ補正後の入力画像データを対象として、上記関数Ｆ２に従ってレベル補正を実行し、かつ、上記関数Ｆ４に従ってコントラスト補正を実行する。なお、カラーバランス補正と、明るさ補正と、レベル補正と、コントラスト補正の実行順は上記に示した順序に限られない。
【００４７】
またコンピュータ２０は、補正曲線Ｃによる補正と、関数Ｆ２による補正と、関数Ｆ４による補正とを同時に実現する標準補正ＬＵＴを生成してもよい。つまり、０〜２５５の各入力階調値（最初の入力階調値）を補正曲線Ｃでそれぞれ補正し、この各補正結果を関数Ｆ２にそれぞれ入力して補正し、さらにこの各補正結果を関数Ｆ４にそれぞれ入力して最終的な補正結果を得て、最初の入力階調値と、最終的な補正結果とを対応付けたＬＵＴを生成する。コンピュータ２０は、標準補正ＬＵＴを用いれば、入力画像データの輝度を対象とした明るさ補正とレベル補正とコントラスト補正とを各画素１度の変換処理で実行できる。
【００４８】
なおコンピュータ２０は、上記関数Ｆ１〜Ｆ５や夜景画像用補正ＬＵＴについてＨＤ２４に保存しておく場合には、予め所定のネットワークを介して外部のサーバから上記関数等をＨＤ２４にダウンロードしておく。また、ＲＯＭ２２等の画像処理装置内の記憶媒体に保存しておく場合には、画像処理装置の工場出荷段階において予め上記関数等を記録しておく。むろん、上記関数等の保存場所は上記以外にも考えられ、コンピュータ２０がアクセス可能な外部記録媒体であったり、上記画像入力装置や画像出力装置内の記憶媒体に保存されていてもよい。
【００４９】
（４）まとめ
このように本発明によれば、入力画像データの統計データとして上記Ｈav，Ｓav，Ｖav，Ｙmaxを抽出し、抽出した統計データを、シーン自動判定用プログラムとしてのＮＮ２４ｂに入力し、ＮＮ２４ｂから出力した夜景画らしさを表す指数ＮＩと風景画らしさを表す指数ＤＩとに応じて、上記入力画像データが夜景画像であるか否か判定し、夜景画像である場合には、レベル補正とコントラスト補正とを、標準的な輝度拡大度合いよりも強い拡大度合いを実現する補正用の関数Ｆ１とＦ３とを用いて実行し、明るさ補正とカラーバランス補正は実行しない。一方、夜景以外の画像と判定した場合には、標準的な輝度拡大度合い（夜景画像であるときよりは控えめな度合い）を実現する補正用の関数Ｆ２とＦ４とを用いてレベル補正とコントラスト補正とを実行し、かつ明るさ補正やカラーバランス補正を通常通り実行する。
【００５０】
従って、入力画像データが夜景画像である場合には、画像の持つ輝度範囲がより大きく拡大されて画像中の点光源やイルミネーション部分など本来明るいものであるべき部分とそれ以外の暗い部分との差が一層鮮やかに際立ち、上質な補正結果が得られる。また、明るさ補正やカラーバランス補正は実行しないため、本来暗いものであるべき夜景部分をいたずらに全体的に明るくしたり、そのカラーバランスを変更して元の夜景の雰囲気を却って崩したりすることが無くなる。
また、入力画像データが夜景画像でないもの、例えば逆光条件において撮影されて暗い画像であれば、レベル補正と明るさ補正とコントラスト補正とカラーバランス補正との全てが実行されるため、全体の明るさやコントラストやカラーバランスが元の画像に応じて最適化された補正結果を得ることができる。
【図面の簡単な説明】
【００５１】
【図１】本発明の一実施形態にかかる画像処理装置などを示したブロック図。
【図２】画素処理の内容を示したフローチャート。
【図３】統計データの算出処理の詳細を示したフローチャート。
【図４】画像データを複数領域に分割した様子を示した図。
【図５】ニューラルネットワークの構造を模式的に示した図。
【図６】補正処理の区別の例を示した図。
【図７】レベル補正用の関数の例を示した図。
【図８】コントラスト補正用の関数の例を示した図。
【図９】明るさ補正用の補正曲線の例を示した図。
【図１０】補正量決定関数の例を示した図。
【符号の説明】
【００５２】
２０…コンピュータ、２１…ＣＰＵ、２２…ＲＯＭ、２３…ＲＡＭ、２４…ハードディスク、２４ａ…統計データ、２４ｂ…シーン自動判定用プログラム（ニューラルネットワーク）、２５…ＡＰＬ、２５ａ…画像データ取得部、２５ｂ…統計データ算出部、２５ｃ…シーン判定部、２５ｄ…補正部
【図１】
2008244799.tif 000006
【図２】
2008244799.tif 000007
【図３】
2008244799.tif 000008
【図４】
2008244799.tif 000009
【図５】
2008244799.tif 000010
【図６】
2008244799.tif 000011
【図７】
2008244799.tif 000012
【図８】
2008244799.tif 000013
【図９】
2008244799.tif 000014
【図１０】
2008244799.tif 000015