| 【発明の名称】 |
画像処理プログラムおよび画像処理装置 |
| 【発明者】 |
【氏名】久野 雅司
|
| 【要約】 |
【課題】レティネックス処理を高速に行うことができる画像処理プログラムおよび画像処理装置を提供する。
【構成】縮小画像の全ての座標についてS3〜S5の処理を行ったか否かを判断し(S6)、まだ、未処理の座標がある場合は(S6:No)、S3の処理に戻り、全ての座標についての処理を終了した場合は(S6:Yes)、S5の処理により求めた最大値と最小値に基づいて、反射率Rs(x,y)を正規化し、ヒストグラムを形成する(S7)。次に、その形成されたヒストグラムからメディアン値を求め(S8)、そのメディアン値とヒストグラムとから反射率Rs(x,y)のクリップされる範囲(クリップ範囲)を定める(S9)。 |
【特許請求の範囲】
【請求項1】 画像の補正処理を行う画像処理装置により実行される画像処理プログラムにおいて、 元画像を縮小した縮小画像の各画素について、画素の値とその画素の周辺平均輝度とから反射率を求めることにより縮小レティネックス画像を形成する縮小レティネックス画像形成ステップと、 その縮小レティネックス画像形成ステップにより形成された縮小レティネックス画像の画素値が取る値の全範囲における各画素値の頻度を集計し、正規化を行う際の上限値および下限値を設定する正規化パラメータ設定ステップと、 前記元画像の各画素について、画素の値とその画素の周辺平均輝度とから反射率を求め、その反射率を前記正規化パラメータ設定ステップにより設定された上限値および下限値に基づいて正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて補正を行う補正ステップとを備えていることを特徴とする画像処理プログラム。 【請求項2】 前記縮小レティネックス画像形成ステップは、元画像から縮小画像を形成するために最近傍(Nearest Neighbor)法により画素を抽出するサンプリングステップと、そのサンプリングステップにより抽出された画素の値とフィルタ係数との畳み込み演算を行う演算ステップとを備えていることを特徴とする請求項1記載の画像処理プログラム。 【請求項3】 前記縮小レティネックス画像形成ステップは、元画像を平均画素法により縮小する画像縮小ステップと、その縮小ステップにより縮小された画像の画素とフィルタ係数との畳み込み演算を行う演算ステップとを備えていることを特徴とする請求項1記載の画像処理プログラム。 【請求項4】 前記縮小レティネックス画像形成ステップにより形成された縮小レティネックス画像を記憶する記憶手段を備え、 前記正規化パラメータ設定ステップは、前記記憶手段に記憶された縮小レティネックス画像に基づいて正規化を行う際の上限値および下限値を設定することを特徴とする請求項1から3のいずれかに記載の画像処理プログラム。 【請求項5】 前記縮小レティネックス画像形成ステップは、前記縮小画像から分離された輝度信号のみについて縮小レティネックス画像を形成し、 前記補正ステップは、元画像から分離された輝度信号のみについて反射率を求め、その反射率を前記正規化パラメータ設定ステップにより設定された上限値および下限値に基づいて正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて補正を行うことを特徴とする請求項1から4のいずれかに記載の画像処理プログラム。 【請求項6】 前記補正ステップにより補正された画素値を出力する出力ステップを備えていることを特徴とする請求項1から5のいずれかに記載の画像処理プログラム。 【請求項7】 前記正規化パラメータ設定ステップは、前記縮小レティネックス画像形成ステップにより形成された縮小レティネックス画像の全画素が取る値の最大値から最小値の範囲の値のうち、全画素に対する所定の割合の画素を含むクリップ範囲の上限値と下限値とを正規化パラメータとして設定することを特徴とする請求項1から6のいずれかに記載の画像処理プログラム。 【請求項8】 画像の補正を行う画像処理装置において、 元画像を縮小した縮小画像の各画素について、画素の値とその画素の周辺平均輝度とから反射率を求めることにより縮小レティネックス画像を形成する縮小レティネックス画像形成手段と、 その縮小レティネックス画像形成手段により形成された縮小レティネックス画像の画素値が取る値の全範囲における各画素値の頻度を集計し、正規化を行う際の上限値および下限値を設定する正規化パラメータ設定手段と、 前記元画像の各画素について、画素の値とその画素の周辺平均輝度とから反射率を求め、その反射率を前記正規化パラメータ設定ステップにより設定された上限値および下限値に基づいて正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて補正を行う補正手段とを備えていることを特徴とする画像処理装置。 【請求項9】 前記縮小レティネックス画像形成手段は、元画像から縮小画像を形成するために最近傍法により画素を抽出するサンプリング手段と、そのサンプリング手段により抽出された画素の値とフィルタ係数との畳み込み演算を行う演算手段とを備えていることを特徴とする請求項8記載の画像処理装置。 【請求項10】 前記縮小レティネックス画像形成手段は、元画像を平均画素法により縮小する画像縮小手段と、その画像縮小手段により縮小された画像の画素とフィルタ係数との畳み込み演算を行う演算手段とを備えていることを特徴とする請求項8記載の画像処理装置。 【請求項11】 前記縮小レティネックス画像形成手段により形成された縮小レティネックス画像を記憶する記憶手段を備え、 前記正規化パラメータ設定手段は、前記記憶手段に記憶された縮小レティネックス画像に基づいて正規化を行う際の上限値および下限値を設定するものであることを特徴とする請求項8から10のいずれかに記載の画像処理装置。 【請求項12】 前記縮小レティネックス画像形成手段は、前記縮小画像から分離された輝度信号のみについて縮小レティネックス画像を形成し、 前記補正手段は、元画像から分離された輝度信号のみについて反射率を求め、その反射率を前記正規化パラメータ設定ステップにより設定された上限値および下限値に基づいて正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて補正を行うことを特徴とする請求項8から11のいずれかに記載の画像処理装置。 【請求項13】 前記補正手段により補正された画素値を出力する出力手段を備えていることを特徴とする請求項8から12のいずれかに記載の画像処理装置。 【請求項14】 前記正規化パラメータ設定手段は、全画素が取る値の最大値から最小値の範囲の値のうち、全画素に対する所定の割合の画素を含むクリップ範囲の上限値と下限値とを正規化パラメータとして設定することを特徴とする請求項8から13のいずれかに記載の画像処理装置。
|
【発明の詳細な説明】【技術分野】 【0001】 本発明は、画像処理プログラムおよび画像処理装置に関し、特にレティネックス処理を高速で行うことができる画像処理プログラムおよび画像処理装置に関するものである。 【背景技術】 【0002】 逆光条件下で被写体が撮像された場合、被写体部分の画像は、詳細な態様が判別困難となるほど明度やコントラストの低い不明瞭な逆光画像となる。かかる逆光画像のみならず、露光の過不足や、撮像時のぶれやぼけ、ノイズ、光量不足などによる劣悪な画像を、画像処理によって明度やコントラストを向上させて画質を改良することが行われている。かかる画像処理の1手法として、レティネックス処理(Retinex処理)が知られている。 【0003】 レティネックス処理は、高画質部分については入力画像データを保持し、主に低画質部分の画質改良を行うものである。このレティネックス処理では、ガウスフィルタにより、元の画像の各画素データを周辺画素の画素データを反映させた値に補正し、その補正された画素データの自然対数から元の画像のリファレンス成分データを算出し、元画像の画素成分で元の画像の画素データを除してイルミナンス成分データを算出する。つまり、元の画像を、リファレンス成分とイルミナンス成分との2の構成成分に分けるのである。そして、イルミナンス成分に対してガンマ補正等の明度や階調(コントラスト)を補正する処理を行った後、その補正されたイルミナンス成分と、リファレンス成分とを合成することにより、元の画像に対し逆光画像部分などの低画質部分の画質が改良された画像データを生成することができる。リファレンス成分を求めるには、反射率R(x,y)の正規化を行う。 【0004】 ここで、図4を参照して、反射率R(x,y)の正規化について説明する。反射率R(x,y)は、次式により算出される。 【0005】 【数1】
ここで、xは、横方向の座標を、yは、縦方向の座標を、I(x,y)は、座標(x,y)における強度値を、F(x,y)は、座標(x,y)のフィルタ係数を、*は、畳み込み演算(コンボリューション)をそれぞれ示す。なお、logは、eを底とする自然対数である。 【0006】 図4は、ある静止画像について、上式により求められた反射率R(x,y)の最小値を0、最大値を255とする0から255の範囲の整数値に正規化し、各整数の出現頻度を集計したヒストグラムである。 【0007】 このヒストグラムからメディアン値Mを求め、メディアン値から大きい側へ45%の画素数を含む範囲の上限値をU、メディアン値から小さい側へ45%の画素数を含む範囲の下限値をDとする。 【0008】 UおよびDの値に対応するR(x,y)の値を、UpR、DownRとし、正規化反射率(正規化レティネックス値)refle(x,y)は、R(x,y)の値がDownR以下の場合は、0.0とし、R(x,y)の値がUpR以上の場合は、1.0とし、R(x,y)の値がDownRより大きくUpRより小さい場合は、 【0009】 【数2】
とする。 【0010】 このように処理するとrefle(x,y)は、0.0から1.0の間の値を取るように正規化される。実験によれば、こうして得られた値に、0.3を加算し、refle(x,y)の値が0.3から1.3の値を取るようにするのがよいことが判明している。 【0011】 このようにしてrefle(x,y)が求められるので、クリップされる範囲(以下、クリップ範囲と称す:UpRとDownRとの間)を求めるため、R(x,y)を全画素分記憶しなければならない。尚かつ、R(x,y)は、対数演算により求まる数値であるので、小数点を用いて記録する必要があり、浮動小数点では、4バイト、倍精度実数の場合には8バイトで画素毎に記憶するため膨大な記憶容量が必要である。 【0012】 特開2001−69525号公報(特許文献1)には、このレティネックス処理をRGBの各プレーンで独立に行った場合に、カラーバランスが崩れたり色ずれが発生するという問題点を解決するために、RGB値をYCbCrやYIQという輝度成分と色成分により構成される座標空間に変換し、輝度成分Yに対してのみレティネックス処理を施し、色成分を維持したまま、RGBに戻すという方法が開示されている。この方法を用いると輝度成分のみが調整され、色成分は調整されないのでカラーバランスが崩れたり色ずれが発生することがない。また、この方法では、輝度成分のみにレティネックス処理を行うので、RGBの各プレーンそれぞれにレティネックス処理を行う場合に比べ、計算量が少なく、高速で処理を実行することができとともに、R(x,y)を正規化するために、RGBそれぞれについて記憶する必要がなく、輝度のみについて記憶すればよいので、必要な記憶容量は少なくなる。 【0013】 また、特許3731577号(特許文献2)には、このレティネックス処理の処理速度を高速にする方法が開示されている。この方法は、元画像を平均画素法などの方法により縮小画像(解像度が低い)を形成し、その縮小画像の各画素について周辺平均輝度を求めた周辺平均輝度画像(ボケ画像)を形成し、そのボケ画像を拡大した画像と元画像からレティネックス処理画像を形成し、更に、そのレティネックス処理画像と元画像とから出力画像を形成している。 【特許文献1】特開2001−69525号公報 【特許文献2】特許3731577号公報 【発明の開示】 【発明が解決しようとする課題】 【0014】 しかしながら、従来の文献に開示された処理では、反射率を記憶するメモリのサイズが依然として大きいという問題点と、処理された画像を出力する際に、処理を開始してから画像の出力開始までの時間が長いという問題点とがあった。 【0015】 本発明は、上記問題点を解決するためになされたものであり、レティネックス処理を高速で行うことができる画像処理プログラムおよび画像処理装置を提供することを目的としている。 【課題を解決するための手段】 【0016】 この目的を達成するために、請求項1記載の画像処理プログラムは、画像の補正処理を行う画像処理装置により実行されるものであり、元画像を縮小した縮小画像の各画素について、画素の値とその画素の周辺平均輝度とから反射率を求めることにより縮小レティネックス画像を形成する縮小レティネックス画像形成ステップと、その縮小レティネックス画像形成ステップにより形成された縮小レティネックス画像の画素値が取る値の全範囲における各画素値の頻度を集計し、正規化を行う際の上限値および下限値を設定する正規化パラメータ設定ステップと、前記元画像の各画素について、画素の値とその画素の周辺平均輝度とから反射率を求め、その反射率を前記正規化パラメータ設定ステップにより設定された上限値および下限値に基づいて正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて補正を行う補正ステップとを備えている。 【0017】 請求項2記載の画像処理プログラムは、請求項1記載の画像処理プログラムにおいて、前記縮小レティネックス画像形成ステップは、元画像から縮小画像を形成するために最近傍法により画素を抽出するサンプリングステップと、そのサンプリングステップにより抽出された画素の値とフィルタ係数との畳み込み演算を行う演算ステップとを備えている。 【0018】 請求項3記載の画像処理プログラムは、請求項1記載の画像処理プログラムにおいて、前記縮小レティネックス画像形成ステップは、元画像を平均画素法により縮小する画像縮小ステップと、その縮小ステップにより縮小された画像の画素とフィルタ係数との畳み込み演算を行う演算ステップとを備えている。 【0019】 請求項4記載の画像処理プログラムは、請求項1から3のいずれかに記載の画像処理プログラムにおいて、前記縮小レティネックス画像形成ステップにより形成された縮小レティネックス画像を記憶する記憶手段を備え、前記正規化パラメータ設定ステップは、前記記憶手段に記憶された縮小レティネックス画像に基づいて正規化を行う際の上限値および下限値を設定する。 【0020】 請求項5記載の画像処理プログラムは、請求項1から4のいずれかに記載の画像処理プログラムにおいて、前記縮小レティネックス画像形成ステップは、前記縮小画像から分離された輝度信号のみについて縮小レティネックス画像を形成し、前記補正ステップは、元画像から分離された輝度信号のみについて反射率を求め、その反射率を前記正規化パラメータ設定ステップにより設定された上限値および下限値に基づいて正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて補正を行う。 【0021】 請求項6記載の画像処理プログラムは、請求項1から5のいずれかに記載の画像処理プログラムにおいて、前記補正ステップにより補正された画素値を出力する出力ステップを備えている。 【0022】 請求項7記載の画像処理プログラムは、請求項1から6のいずれかに記載の画像処理プログラムにおいて、前記正規化パラメータ設定ステップは、全画素が取る値の最大値から最小値の範囲の値のうち、全画素に対する所定の割合の画素を含むクリップ範囲の上限値と下限値とを正規化パラメータとして設定する。 【0023】 請求項8記載の画像処理装置は、画像の補正を行うものであり、元画像を縮小した縮小画像の各画素について、画素の値とその画素の周辺平均輝度とから反射率を求めることにより縮小レティネックス画像を形成する縮小レティネックス画像形成手段と、その縮小レティネックス画像形成手段により形成された縮小レティネックス画像の画素値が取る値の全範囲における各画素値の頻度を集計し、正規化を行う際の上限値および下限値を設定する正規化パラメータ設定手段と、前記元画像の各画素について、画素の値とその画素の周辺平均輝度とから反射率を求め、その反射率を前記正規化パラメータ設定ステップにより設定された上限値および下限値に基づいて正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて補正を行う補正手段とを備えている。 【0024】 請求項9記載の画像処理装置は、請求項8記載の画像処理装置において、前記縮小レティネックス画像形成手段は、元画像から縮小画像を形成するために最近傍法により画素を抽出するサンプリング手段と、そのサンプリング手段により抽出された画素の値とフィルタ係数との畳み込み演算を行う演算手段とを備えている。 【0025】 請求項10記載の画像処理装置は、請求項8記載の画像処理装置において、前記縮小レティネックス画像形成手段は、元画像を平均画素法により縮小する画像縮小手段と、その画像縮小手段により縮小された画像の画素とフィルタ係数との畳み込み演算を行う演算手段とを備えている。 【0026】 請求項11記載の画像処理装置は、請求項8から10のいずれかに記載の画像処理装置において、前記縮小レティネックス画像形成手段により形成された縮小レティネックス画像を記憶する記憶手段を備え、前記正規化パラメータ設定手段は、前記記憶手段に記憶された縮小レティネックス画像に基づいて正規化を行う際の上限値および下限値を取得するものである。 【0027】 請求項12記載の画像処理装置は、請求項8から11のいずれかに記載の画像処理装置において、前記縮小レティネックス画像形成手段は、前記縮小画像から分離された輝度信号のみについて縮小レティネックス画像を形成し、前記補正手段は、元画像から分離された輝度信号のみについて反射率を求め、その反射率を前記正規化パラメータ設定ステップにより設定された上限値および下限値に基づいて正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて補正を行う。 【0028】 請求項13記載の画像処理装置は、請求項8から12のいずれかに記載の画像処理装置において、前記補正手段により補正された画素値を出力する出力手段を備えている。 【0029】 請求項14記載の画像処理装置は、請求項8から13のいずれかに記載の画像処理装置において、前記正規化パラメータ設定手段は、全画素が取る値の最大値から最小値の範囲の値のうち、全画素に対する所定の割合の画素を含むクリップ範囲の上限値と下限値とを正規化パラメータとして設定する。 【発明の効果】 【0030】 請求項1記載の画像処理プログラムによれば、元画像を縮小した縮小画像の各画素について、画素の値とその画素の周辺平均輝度とから反射率を求めることにより縮小レティネックス画像を形成する縮小レティネックス画像形成ステップと、その縮小レティネックス画像形成ステップにより形成された縮小レティネックス画像の画素値が取る値の全範囲における各画素値の頻度を集計し、正規化を行う際の上限値および下限値(クリップ範囲)を設定する正規化パラメータ設定ステップと、元画像の各画素について、画素の値とその画素の周辺平均輝度とから反射率を求め、その反射率を正規化パラメータ設定ステップにより設定された上限値および下限値に基づいて正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて補正を行う補正ステップとを備えているので、周辺平均輝度を求める際に行う畳み込み演算における演算数が少なく、処理を高速で行うことができる。また、上限値および下限値の正規化パラメータを設定する際の対象となる画素数が少ないので高速で、クリップ範囲を決定することができる。 【0031】 請求項2記載の画像処理プログラムによれば、請求項1記載の画像処理プログラムの奏する効果に加え、縮小レティネックス画像形成ステップは、元画像から縮小画像を形成するために最近傍法により画素を抽出するサンプリングステップと、そのサンプリングステップにより抽出された画素の値とフィルタ係数との畳み込み演算を行う演算ステップとを備えているので、画像を縮小する演算を、平均画素法などに比べ高速で行うことができるという効果がある。 【0032】 請求項3記載の画像処理プログラムによれば、請求項1記載の画像処理プログラムの奏する効果に加え、縮小レティネックス画像形成ステップは、元画像を平均画素法により縮小する画像縮小ステップと、その縮小ステップにより縮小された画像の画素とフィルタ係数との畳み込み演算を行う演算ステップとを備えているので、最近傍法などに比べ、縮小画像の画質が良好であり、正規化を行う際の上限値および下限値をより正確に決定することができるという効果がある。 【0033】 請求項4記載の画像処理プログラムによれば、請求項1から3のいずれかに記載の画像処理プログラムの奏する効果に加え、縮小レティネックス画像形成ステップにより形成された縮小レティネックス画像を記憶する記憶手段を備え、正規化パラメータ設定ステップは、記憶手段に記憶された縮小レティネックス画像に基づいて正規化を行う際の上限値および下限値を設定する。 【0034】 元画像に基づいてレティネックス画像を形成して記憶する場合は、大きな記憶容量を必要とするが、縮小画像に基づく縮小レティネックス画像を記憶するので、記憶容量を小さくすることができるという効果がある。 【0035】 請求項5記載の画像処理プログラムによれば、請求項1から4のいずれかに記載の画像処理プログラムの奏する効果に加え、縮小レティネックス画像形成ステップは、前記縮小画像から分離された輝度信号のみについて縮小レティネックス画像を形成し、前記補正ステップは、元画像から分離された輝度信号のみについて反射率を求め、その反射率を前記正規化パラメータ設定ステップにより設定された上限値および下限値に基づいて正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて補正を行うので、RGB値それぞれについてレティネックス処理を行う場合に比べ、色ずれの発生を防止することができるとともに、演算量が減るので高速で演算することができるという効果がある。 【0036】 請求項6記載の画像処理プログラムによれば、請求項1から5のいずれかに記載の画像処理プログラムの奏する効果に加え、補正ステップにより補正された画素値を出力する出力ステップを備えているので、レティネックス処理を開始してから、出力ステップにより補正された画像の出力が開始されるまでの時間が短いという効果がある。 【0037】 従来、元画像のレティネックス画像を形成し、そのレティネックス画像に基づいて正規化を行うための上限値と下限値を求める処理では、画素数が多いため、上限値と下限値を求めるのに時間がかかり、レティネックス処理を開始してから最初に画像が出力されるまでに時間を要していたが、本発明により、この時間を短縮することができる。 【0038】 請求項7記載の画像処理プログラムによれば、請求項1から6のいずれかに記載の画像処理プログラムの奏する効果に加え、正規化パラメータ設定ステップは、全画素が取る値の最大値から最小値の範囲の値のうち、全画素に対する所定の割合の画素を含むクリップ範囲の上限値と下限値とを正規化パラメータとして設定するので、決定される上限値および下限値は、元画像を用いて決定した上限値および下限値とほぼ同一の値を得ることができる。したがって、この上限値および下限値の精度を維持したままで高速で求めることができるという効果がある。なお、正規化パラメータとして上限値、下限値ではなく最大値、最小値を用いた場合は、元画像により求めた値と、縮小画像により求めた値とが大きく異なる場合がある。 【0039】 請求項8記載の画像処理装置によれば、元画像を縮小した縮小画像の各画素について、画素の値とその画素の周辺平均輝度とから反射率を求めることにより縮小レティネックス画像を形成する縮小レティネックス画像形成手段と、その縮小レティネックス画像形成手段により形成された縮小レティネックス画像の画素値が取る値の全範囲における各画素値の頻度を集計し、正規化を行う際の上限値および下限値を設定する正規化パラメータ設定手段と、前記元画像の各画素について、画素の値とその画素の周辺平均輝度とから反射率を求め、その反射率を前記正規化パラメータ設定ステップにより設定された上限値および下限値に基づいて正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて補正を行う補正手段とを備えているので、周辺平均輝度を求める際に行う畳み込み演算における演算数が少なく、処理を高速で行うことができる。また、上限値および下限値を設定する際の対象とする画素数が少ないので高速で設定することができる。 【0040】 請求項9記載の画像処理装置によれば、請求項8記載の画像処理装置の奏する効果に加え、縮小レティネックス画像形成手段は、元画像から縮小画像を形成するために最近傍法により画素を抽出するサンプリング手段と、そのサンプリング手段により抽出された画素の値とフィルタ係数との畳み込み演算を行う演算手段とを備えているので、画像を縮小する演算を高速で行うことができるという効果がある。 【0041】 請求項10記載の画像処理装置によれば、請求項8記載の画像処理装置の奏する効果に加え、縮小レティネックス画像形成手段は、元画像を平均画素法により縮小する画像縮小手段と、その画像縮小手段により縮小された画像の画素とフィルタ係数との畳み込み演算を行う演算手段とを備えているので、縮小画像の画質が良好であり、正規化を行う際の上限値および下限値をより正確に設定することができるという効果がある。 【0042】 請求項11記載の画像処理装置によれば、請求項8から10のいずれかに記載の画像処理装置の奏する効果に加え、縮小レティネックス画像形成手段により形成された縮小レティネックス画像を記憶する記憶手段を備え、正規化パラメータ設定手段は、記憶手段に記憶された縮小レティネックス画像に基づいて正規化を行う際の上限値および下限値を取得する。 【0043】 元画像に基づいてレティネックス画像を形成して記憶する場合は、大きな記憶容量を必要とするが、縮小画像に基づく縮小レティネックス画像を記憶するので、記憶容量を小さくすることができるという効果がある。 【0044】 請求項12記載の画像処理装置によれば、請求項8から11のいずれかに記載の画像処理装置の奏する効果に加え、縮小レティネックス画像形成手段は、前記縮小画像から分離された輝度信号のみについて縮小レティネックス画像を形成し、前記補正手段は、元画像から分離された輝度信号のみについて反射率を求め、その反射率を前記正規化パラメータ設定ステップにより設定された上限値および下限値に基づいて正規化した正規化レティネックス値を求め、その正規化レティネックス値と、元画像の画素値とに基づいて補正を行うので、RGB値それぞれについてレティネックス処理を行う場合に比べ、色ずれの発生を防止することができるとともに、演算量が減るので高速で演算することができるという効果がある。 【0045】 請求項13記載の画像処理装置によれば、請求項8から12のいずれかに記載の画像処理装置の奏する効果に加え、補正手段により補正された画素値を出力する出力手段を備えているので、レティネックス処理を開始してから、出力ステップにより補正された画像の出力が開始されるまでの時間が短いという効果がある。 【0046】 従来、元画像のレティネックス画像を形成し、そのレティネックス画像に基づいて正規化を行うための上限値と下限値を求める処理では、画素数が多いため、上限値と下限値を求めるのに時間がかかり、レティネックス処理を開始してから最初に画像が出力されるまでに時間を要していたが、本発明により、この時間を短縮することができる。 【0047】 請求項14記載の画像処理装置によれば、請求項8から13のいずれかに記載の画像処理装置の奏する効果に加え、正規化パラメータ設定手段は、全画素が取る値の最大値から最小値の範囲の値のうち、全画素に対する所定の割合の画素を含むクリップ範囲の上限値と下限値とを正規化パラメータとして設定するので、決定される上限値および下限値は、元画像を用いて決定した上限値および下限値とほぼ同一の値を得ることができる。したがって、この上限値および下限値の精度を維持したままで高速で求めることができるという効果がある。 【発明を実施するための最良の形態】 【0048】 以下、本発明の好ましい実施形態について添付図面を参照して説明する。図1は、本実施形態の画像処理を行う機能を有するプリンタ1の電気的な構成を示したブロック図である。本実施形態においては、プリンタ1に搭載された画像処理プログラムは、パーソナルコンピュータ(以下「PC」と称する)2や、デジタルカメラ21や、外部メディア20から入力された画像データ(原画像データなど)に対しレティネックス処理(Retinex処理)およびヒストグラム処理を実行して、画像データの逆光画像部分などの低画質領域の補正を実行するように構成されている。 【0049】 図1に示すように、プリンタ1には、CPU11、ROM12、RAM13、印刷ヘッドなどから構成され、印刷媒体(例えば、紙媒体など)への印刷(出力)を行う印刷部15、出力画像サイズなどの入力値をユーザが入力可能なユーザ操作部(例えば、テンキーなど)を有する操作パネル16とを備えている。 【0050】 また、プリンタ1は、ケーブル5を介してPC2と接続可能なインターフェイス(以下「I/F」と称する)17と、ケーブル6を介してデジタルカメラ21と接続可能なI/F18と、外部メディア20(例えば、SDメモリカード、メモリスティックなどのフラッシュメモリにより構成される)を着脱自在に装着可能な外部メディアスロット19とを備えている。これらのI/F17、18により行われる通信方法としてUSB(Universal Serial Bus)が使用される。 【0051】 よって、プリンタ1は、PC2に記憶されている画像データをケーブル5及びI/F17を介して入力することが可能であると共に、デジタルカメラ21によって撮影された画像データをケーブル6及びI/F18を介して入力することが可能である。さらに、外部メディアスロット19に装着された外部メディア20から、その外部メディア20に記憶されている画像データを入力することが可能である。 【0052】 CPU11は、プリンタ1全体を制御する演算処理装置である。ROM12は、CPU11により実行される各種制御プログラムやそのプログラムを実行する際に用いられる固定値などを記憶するものであり、レティネックス処理やヒストグラム処理などの画像の処理を行う画像処理プログラムを記憶する画像処理プログラムメモリ12aや、印刷を行うための印刷制御プログラムを記憶する印刷制御プログラムメモリ12b等が備えられている。 【0053】 RAM13は、制御プログラムがCPU11により実行される際に必要な各種レジスタ群などが記憶されるワーキングエリアや、処理中のデータを一時的に格納するテンポラリエリア等を有しランダムにアクセスできる書き換え可能なメモリであり、元画像データを記憶する元画像メモリ13aと、元画像を縮小し、縮小した画像のレティネックス処理において求められる反射率を記憶する縮小レティネックス画像メモリ13bとクリップ範囲を求めるためのヒストグラムが形成されるヒストグラムメモリ13c等を備えている。 【0054】 元画像データメモリ13aは、PC2、デジタルカメラ21、及び外部メディア20から、それぞれ、I/F17、I/F18、及び外部メディアスロット19を介して入力した画像データを記憶するものである。なお、本実施形態では、元画像データ及び出力画像データはいずれも、RGB値から構成され、これらの各RGB値は、「0」〜「255」の範囲の値である。 【0055】 RGB値は、光の3原色である赤を表すR値と、緑を表すG値と、青を示すB値とを構成成分とする値である。光の3原色の混色により各種の色は生成されるので、入力画像の各画素の色は、R値とG値とB値との組合せ(RGB値)により1の色(色相や階調など)が示される。このRGB値の値が大きいほど、輝度(明度)は高くなる。 【0056】 縮小レティネックス画像メモリ13bは、元画像を縮小し、その縮小した画像の輝度信号のみについてレティネックス処理において求められる反射率Rs(x,y)を記憶するメモリである。元画像を縮小する方法としては、縮小する画像の画素に対応する元画像の位置に最も近い画素の値をサンプリングし、そのサンプリングした画素の値をそのまま用いる最近傍(Nearest Neighbor)法や、縮小する画像の画素に対応する元画像の位置の周囲の画素を用いて補間演算を行うバイキュービック法や、平均画素法などが知られている。画質より処理速度を優先する場合は、最近傍法が用いられ、処理速度より画質を優先する場合は、バイキュービック法や、平均画素法が用いられる。 【0057】 これらいずれかの方法により元画像が縮小され、その縮小された画像の各画素(ピクセル)について反射率が上述の数式1を用いて演算され、この縮小レティネックス画像メモリ13bに記憶される。 【0058】 ヒストグラムメモリ13cは、反射率R(x,y)を正規化する際に、クリップ範囲を設定するためにヒストグラムを形成するが、そのヒストグラムの集計を行うためのメモリである。 【0059】 次に、図2および図3を参照して、CPU11により実行される画像処理について説明する。図2および図3は、画像処理を示すフローチャートである。図2に示す処理は、いわゆる前処理と呼ばれる処理であり、この処理では、反射率Rの正規化を行うためのクリップ範囲が設定される。なお、この前処理が行われている間は、画像の出力が行われない。 【0060】 この前処理では、まず、元画像データをPC2やデジタルカメラ21から読み込み、RAM13の元画像メモリ13aに記憶する(S1)。次に、元画像を縮小して縮小画像を形成し、その縮小画像の各画素について輝度信号Yと色信号Cb,Crに変換する(S2)。 【0061】 縮小画像を形成する方法としては、最近傍法や平均画素法が用いられ、輝度信号Yおよび色信号Cb,Crは、次式により演算される。 【0062】 【数3】
演算された輝度信号および色信号をRAM13などに一時記憶し、後の処理で使用するようにしてもよいが、記憶容量を削減したい場合には、これらを記憶せずに、必要な場合、元画像から画素値を読み出して上式により演算で求めてもよい。 【0063】 次に、上式により演算された輝度信号Yについて、反射率Rs(x,y)を算出する。なお、「s」は、縮小画像についての接尾辞であり、元画像については、接尾辞を付さないものとする。反射率Rsは、縮小画像の各画素の輝度値をIs(x,y)、縮小画像用のフィルタをFs(x,y)として、次式により演算される。 【0064】 【数4】
なお、「*」は、畳み込み演算(コンボリューション)を示す。 【0065】 次に、上記演算により求められた反射率Rs(x,y)をRAM13の縮小レティネックス画像メモリ13bに記憶する(S4)。 【0066】 次に、Rs(x,y)を最大値および最小値と比較する(S5)。詳細には、最初の座標について求めた反射率Rs(x,y)を最大値および最小値とし、そのつぎから求めた反射率Rs(x,y)と最大値および最小値とをそれぞれ比較し、今回求めた反射率Rs(x,y)が、最大値より大きい場合は、今回求めた反射率Rs(x,y)を新たな最大値とし、今回求めた反射率Rs(x,y)が、最小値より小さい場合は、今回求めた反射率Rs(x,y)を新たな最小値とし、今回求めた反射率Rs(x,y)が、最大値より小さく、最小値より大きい場合は、最大値、最小値を変更しないという処理である。 【0067】 次に、縮小画像の全ての座標についてS3〜S5の処理を行ったか否かを判断し(S6)、まだ、未処理の座標がある場合は(S6:No)、S3の処理に戻り、全ての座標についての処理を終了した場合は(S6:Yes)、S5の処理により求めた最大値と最小値に基づいて、反射率Rs(x,y)を正規化し、ヒストグラムを形成する(S7)。このヒストグラムは、算出された最大値と最小値との間の各値をとる画素値の数を集計したもので、この集計されたヒストグラムは、ヒストグラムメモリ13cに形成される。 【0068】 次に、その形成されたヒストグラムからメディアン値を求め(S8)、そのメディアン値とヒストグラムとから反射率Rs(x,y)のクリップ範囲を定める(S9)。このクリップ範囲は、例えば、メディアン値より大きい値で、全標本の45%の標本が含まれる上限値をクリップ範囲の上限値とし、メディアン値より小さい値で、全標本の45%が含まれる下限値をクリップ範囲の下限値とするものである。 【0069】 以上の前処理により、元画像を縮小した縮小画像の反射率により構成される縮小レティネックス画像を形成し、その縮小レティネックス画像から、元画像の反射率を正規化する際のクリップ範囲が求められる。このことにより、クリップ範囲を求めるための演算の回数が、元画像について求める演算の回数より非常に少なくすることができ、処理速度が速くなる。また、縮小された画像のレティネックス画像を記憶するので、元画像のレティネックス画像を記憶する場合に比べ、少ない記憶容量で処理することができるという利点がある。また、縮小画像を用いて求めたクリップ範囲と、元画像を用いて求めたクリップ範囲とは、大差がない。次表は、縮小画像により求めたクリップ範囲(上限値と下限値)と元画像により求めたクリップ範囲との差異を示すものである。 【0070】 【表1】
この表が示すように、元画像により求めた最大値は、2.712、最小値は、−4.063であり、縮小画像により求めた最大値は、1.729、最小値は、−2.607である。よって、元画像により求めた最大値と縮小画像により求めた最大値との差は、0.983であり、元画像により求めた最小値と縮小画像により求めた最小値との差は、1.456であって、かなり大きな差が認められる。 【0071】 一方、元画像により求めたクリップ範囲の上限値は、0.825、下限値は、−0.822であり、縮小画像により求めた上限値は、0.742、下限値は、−0.755である。よって、元画像により求めた上限値と縮小画像により求めた上限値との差は、0.083であり、元画像により求めた下限値と縮小画像により求めた下限値との差は、0.067であって、これらの差が小さいことが分かる。 【0072】 次に、図2に示す処理により求められたクリップ範囲に基づいて行う後処理である元画像のレティネックス処理について説明する。図3は、元画像のレティネックス処理を示すフローチャートである。なお、この後処理では、元画像の各画素について処理が行われ、処理された画素値は、順次印刷部15に出力される。 【0073】 まず、元画像について、反射率R(x,y)を算出する(S11)。次に、縮小画像を用いて求めたクリップ範囲に基づいて、R(x,y)を正規化し、正規化反射率(正規化レティネックス値)refle(x,y)を得る(S12)。 【0074】 次に、このrefle(x,y)を用いて、次式により輝度についてレティネックス処理を行った画素の値Out(x,y)を得る(S13)。なお、γは、定数である。 【0075】 【数5】
次に、このOut(x,y)と、色信号Cb、Crとに基づいて、RGB値に変換する(S14)。この変換は、次式により算出される。 【0076】 【数6】
以上の処理により元画像の輝度信号にレティネックス処理が施され、色信号に基づいてRGB値に戻した画素値が求められる。次に、この処理された画素値を印刷部15に出力する(S15)。よって、前処理により、正規化を行うクリップ範囲が特定されているので、後処理では、順次各画素について処理を行い印刷部15に出力することができる。その結果、処理を開始してから、印刷が開始されるまでの時間を短縮することができる。 【0077】 次に、元画像の全画素について処理を終了したか否かを判断し(S16)、まだ処理を終了していない画素がある場合は(S16:No)、S11の処理に戻り、全ての画素について処理を終了した場合は(S16:Yes)、この後処理を終了する。 【0078】 以上、実施形態について説明したように、元画像を縮小した縮小画像の輝度信号についてレティネックス処理を行い、その縮小されたレティネックス画像からクリップ範囲を求めて、そのクリップ範囲に基づいて、元画像についてレティネックス処理を行うので、レティネックス画像を記憶するメモリの記憶容量を小さくすることができるとともに、クリップ範囲を求める処理を高速で行うことができる。また、前処理において、クリップ範囲が求められ、後処理においては、前処理において求められたクリップ範囲に基づいて、順次元画像の画素についてレティネックス処理を行い、出力することができるので、処理を開始してから出力が開始されるまでの時間を短縮することができる。 【0079】 なお、請求項に記載の縮小レティネックス画像形成ステップおよび縮小レティネックス画像形成ステップは、図2に示すフローチャートのS3の処理が該当し、正規化パラメータ設定ステップおよび正規化パラメータ設定手段は、図2に示すフローチャートのS7〜S9の処理が該当し、補正ステップおよび補正手段は、図3に示すフローチャートの処理が該当する。 【0080】 以上、実施形態に基づいて本発明を説明したが、本発明は上記各実施形態に何ら限定されるものでなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。 【0081】 例えば、上記実施形態では、色表現系はRGB形式としたが、RGB形式以外の他の色表現系、例えば、CMY形式などに本発明を適用してもよい。 【0082】 また、上記実施形態では、本発明の画像処理プログラムは、プリンタ1に組み込まれたCPU11により実行されるものとしたが、パーソナルコンピュータにアプリケーションとして供給され、パーソナルコンピュータに組み込まれたCPUなどにより実行されるようにしてもよい。 【0083】 また、レティネックス処理は、SSR(シングルスケール法)であってもMSR(マルチスケール法)であってもよい。 【0084】 また、上記実施形態の画像処理では、CPU11によりレティネックス処理などを行うものとしたが、DSP(Digital Signal Processor)により行ってもよい。DSPを用いると、より高速に積和演算などの処理を実行することができる。 【図面の簡単な説明】 【0085】 【図1】本発明の実施形態の画像処理プログラムを搭載したプリンタの電気的構成を示すブロック図である。 【図2】画像処理プログラムにより行われる前処理を示すフロー図である。 【図3】前処理に続いて実行される後処理を示すフローチャートである。 【図4】正規化を行うためのクリップ範囲について説明するためのヒストグラムである。 【符号の説明】 【0086】 1 プリンタ 2 パーソナルコンピュータ 11 CPU 12 ROM 12a 画像処理プログラムメモリ 13 RAM 13a 元画像メモリ 13b レティネックス画像メモリ(記憶手段)
|
| 【出願人】 |
【識別番号】000005267 【氏名又は名称】ブラザー工業株式会社
|
| 【出願日】 |
平成18年8月17日(2006.8.17) |
| 【代理人】 |
【識別番号】100103045 【弁理士】 【氏名又は名称】兼子 直久
【識別番号】100127605 【弁理士】 【氏名又は名称】伊藤 愛
【識別番号】100129447 【弁理士】 【氏名又は名称】橋本 努
|
| 【公開番号】 |
特開2008−48188(P2008−48188A) |
| 【公開日】 |
平成20年2月28日(2008.2.28) |
| 【出願番号】 |
特願2006−222307(P2006−222307) |
|