(57)【特許請求の範囲】
【請求項１】
階調画像データの画素数が予め定められた閾値以上か否かを判定する判定する判定手段と、
前記画素数が前記閾値以上の場合は、前記階調画像データを空間周波数成分に変換した周波数データの低周波成分を抽出し、前記低周波成分から前記階調画像データの明度・色差情報を取得し、前記画素数が前記閾値未満の場合は、前記周波数データを復号したデータから前記階調画像データの明度・色差情報を取得する取得手段と、
前記取得手段が取得した明度・色差情報に基づき、前記階調画像データの明度・色差変換量を設定する設定手段とを有することを特徴とする画像処理装置。
【請求項２】
前記低周波数成分は、前記周波数データの単位データごとに抽出されることを特徴とする請求項1に記載された画像処理装置。
【請求項３】
階調画像データの画素数が予め定められた閾値以上か否かを判定し、
前記画素数が前記閾値以上の場合は、前記階調画像データを空間周波数成分に変換した周波数データの低周波成分を抽出し、前記低周波成分から前記階調画像データの明度・色差情報を取得し、
前記画素数が前記閾値未満の場合は、前記周波数データを復号したデータから前記階調画像データの明度・色差情報を取得し、
前記取得した明度・色差情報に基づき、前記階調画像データの明度・色差変換量を設定することを特徴とする画像処理方法。
【請求項４】
画像処理装置を制御して、請求項1または請求項2に記載された画像処理装置の各手段として機能させることを特徴とするコンピュータプログラム。
【請求項５】
請求項4に記載されたコンピュータプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置およびその方法に関し、例えば、離散的コサイン変換などの手法によって周波数データに変換された階調画像データの明度および色差情報を取得し、階調画像データの明度および色差変換量を設定する画像処理に関する。
【０００２】
【従来の技術】
階調画像データを出力機器に出力する際は、画質を向上するために濃度変換が広く行われている。例えば、特許第3163753号には、階調画像データを空間周波数成分に変換した周波数データについて、そのデータ中の低周波成分を対象に濃度分布を調査することで高速に濃度分布を調査し、その調査結果に基づき濃度を変換する、という技術が開示されている。
【０００３】
【発明が解決しようとする課題】
上記の技術によれば、画像の濃度を変換することは可能であるが、濃度変換は一次元のガンマ補正に相当し、写真画像の色かぶりなどを補正することはできない。
【０００４】
本発明は、画像の色かぶり・コントラスト・彩度などを補正するための明度・色差変換量を、高速かつ高い信頼性で設定することを目的とする。
【０００６】
【課題を解決するための手段】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【０００８】
本発明にかかる画像処理装置は、階調画像データの画素数が予め定められた閾値以上か否かを判定する判定する判定手段と、前記画素数が前記閾値以上の場合は、前記階調画像データを空間周波数成分に変換した周波数データの低周波成分を抽出し、前記低周波成分から前記階調画像データの明度・色差情報を取得し、前記画素数が前記閾値未満の場合は、前記周波数データを復号したデータから前記階調画像データの明度・色差情報を取得する取得手段と、前記取得手段が取得した明度・色差情報に基づき、前記階調画像データの明度・色差変換量を設定する設定手段とを有することを特徴とする。
【００１４】
本発明にかかる画像処理方法は、階調画像データの画素数が予め定められた閾値以上か否かを判定し、前記画素数が前記閾値以上の場合は、前記階調画像データを空間周波数成分に変換した周波数データの低周波成分を抽出し、前記低周波成分から前記階調画像データの明度・色差情報を取得し、前記画素数が前記閾値未満の場合は、前記周波数データを復号したデータから前記階調画像データの明度・色差情報を取得し、前記取得した明度・色差情報に基づき、前記階調画像データの明度・色差変換量を設定することを特徴とする。
【００２１】
【発明の実施の形態】
以下、本発明にかかる実施形態の画像処理を図面を参照して詳細に説明する。
【００２２】
［画像データの符号化原理］
まず、直交変換による画像データの符号化原理を簡単に説明する。
【００２３】
直交変換による変換符号化は、標本値を、相互に直交する座標系に変換することで、標本値間の相関を除去し、効率的な符号化を実現するものである。また、画像データを周波数成分へ変換して、パワーが集中し、かつ、視覚特性的にも影響が大きい低周波成分に符号化ビットの多くを割り当て、高周波成分は少ない符号化ビットで量子化してデータの圧縮性を高める。なお、画像データを周波数成分に変換する直交変換としては、アダマール変換や離散コサイン変換(DCT)などが知られている。
【００２４】
次に、DCTと、その逆変換（以下「IDCT」と呼ぶ）について、8×8画素を1ブロックとして符号化する例を、図1に基づき説明する。
【００２５】
原画像データ901を8×8画素のブロック902に分け、ブロック単位で変換する。各画素を、ブロック内での相対位置により、左上の画素を原点のゼロ番目のデータとして、右方向にi番目、下方向にj番目の画素のデータを下記のように表す。
f(i, j)
ここで、0≦i＜8、0≦j＜8
iおよびjは整数
【００２６】
従って、ブロック903の左上角の原点データはf(0, 0)、右下角のデータはf(7, 7)になる。そして、DCTされたブロック904のデータF(u, v)（0≦u＜8、0≦v＜8、uおよびvは整数）は式(1)に示すようになる。
F(u, v) = 1/4{c(u)c(v)ΣiΣjf(i, j)cos U・cos V}  …(1)
ここで、U = (2i + 1)uπ/16
V = (2j + 1)vπ/16
Σ演算の範囲は0から7
【００２７】
F(0, 0)は、画像ブロック902の平均データに対応する値を表し、直流成分の意味でDC係数と呼ばれる。式(1)の場合、F(0, 0)は、実際にはブロック内データの平均値の八倍になる。他の63個の要素は、交流成分を表し、AC係数とも呼ばれる。式(1)のuまたはvの値が大きいほど高周波の成分になる。データ圧縮を行う場合、写真画像の交流成分は高周波になるほど値が小さく、かつ、高周波成分は人間の目に認識され難い特性を利用して、高周波成分は下位ビットを切り捨て、少ないビット数で量子化する。
【００２８】
また、F(u, v)からf(i, j)を求めるIDCTは式(2)で示される。
f(i, j) = 1/4{ΣuΣvF(u, v)c(u)c(v)cos U・cos V}  …(2)
ここで、U = (2i + 1)uπ/16
V = (2j + 1)vπ/16
Σ演算の範囲は0から7
【００２９】
ただし、式(2)のc(u)およびc(v)の定義は式(1)の場合と同じである。
【００３０】
【第１実施形態】
図2は8×8画素を1ブロックとしてDCTを用いて符号化された画像データを扱う場合の処理例を示すフローチャートである。なお、以下では、符号化済み画像の画像フォーマット例としてJPEG (Joint Photographic Experts Group)を用いる例を説明する。また、表色系としてYCbCrを用いる例を説明する。
【００３１】
ステップS102で符号化された画像を解析する。対象画像の全MCU (Minimum Coded Unit)をIDCTせずにMCU中の明度・色差信号の直流成分を抽出する。そして、それら明度・色差信号を累積・計数して、明度ごとのカウント数および平均色差を取得する。
【００３２】
次に、ステップS103で、ステップS102で取得した明度ごとのカウント数および平均色差に基づき、三次元色空間における明度・色差信号の変換パラメータを算出する。
【００３３】
最後にステップS104で、符号化された画像の全MCUに対してIDCTを行い、原画像情報を復号する。そして、ステップS103で取得した三次元色空間のおける明度・色差信号の変換パラメータに基づき、MCUを復号して得た明度・色差信号に三次元色空間における変換を行い、好適な明度・色差信号の画像を得る。
【００３４】
次に、ステップS102およびS103の処理の詳細を説明する。
【００３５】
［明度・色差信号の累積・計数］
図3はステップS102における明度・色差信号の累積・計数を説明するフローチャートである。なお、図2に示す累積バッファ200は、処理フローで発生する明度・色差信号を累積・計数するためのバッファである。また、明度レベルを0〜255の256階調とするので、累積バッファ200は、各明度階調に対応して明度カウンタY[256]、Cb信号累積バッファCb[256]およびCr信号累積バッファCb[256]を有する。
【００３６】
ステップS202で、累積バッファ200の明度カウンタ、CbおよびCr信号累積バッファを零に初期化する。続いて、ステップS203で、符号化済み画像のMCUを調べ、明度Y、色差Cb、Crの各直流成分を抽出する。ここでMCUとは、明度・色差信号の最小単位で、明度・色差信号それぞれの符号化解像度に応じて構成が異なる。
【００３７】
次に、JPEGでは明度信号と色差信号との解像度が異なる場合があるため、ステップS204、S206またはS208で符号化状態に応じた明度・色差信号の累積・計数を行う。ステップS204では、MCU中の明度信号と色差信号との信号量の比が4:1:1であるか否かを判断する。4:1:1とは、1MCUが16×16画素からなり、明度には8×8画素を1ブロックとする4ブロックを割り当て、色差Cb、Crには16×16画素を8×8画素に間引いて各1ブロックを割り当てる場合を指す。他に4:2:0などと記載されることもある。
【００３８】
上記の信号量の比が4:1:1の場合はステップS205で、四つの明度信号の直流成分Y1、Y2、Y3およびY4に対して、色差信号の直流成分は各一つ（Cb1およびCr1）なので、色信号としては四組の色信号Y1Cb1Cr1、Y2Cb1Cr1、Y3Cb1Cr1およびY4Cb1Cr1を累積バッファ200へ累積する。図3にはY1Cb1Cr1色信号を累積バッファ200への累積する様子を示している。まず、明度信号Y1の信号値に対応するバッファ201を検出して、バッファ201に格納された値V=Y[Y1]、W=Cb[Y1]およびX=Cr[Y1]を読み出し、Y[Y1]=V+1、Cb[Y1]=W+Cb1およびCr[Y1]=X+Cr1をバッファ201に書き込むことで色信号を累積する。同様に、Y2Cb1Cr1、Y3Cb1Cr1およびY4Cb1Cr1の三組の色信号を累積バッファ200へと累積した後、ステップS210へ進む。
【００３９】
上記の信号量の比が4:1:1ではない場合はステップS206で、上記の信号量の比が4:2:2であるか否かを判断する。4:2:2とは、1MCUが8×16画素からなり、明度には8×8画素を1ブロックとする2ブロックを割り当て、色差Cb、Crには8×16画素を8×8画素に間引いて各1ブロックを割り当てる場合を指す。他に2:1:1などと記載されることもある。
【００４０】
上記の信号量の比が4:2:2の場合はステップS207で、二つの明度信号の直流成分Y5およびY6に対して、色差信号の直流成分は各一つ（Cb2およびCr2）なので、二組の色信号Y5Cb2Cr2およびY6Cb2Cr2を累積バッファ200へ累積した後、ステップS210へ進む。
【００４１】
上記の信号量の比が4:2:2ではない場合はステップS208で、上記の信号量の比が4:4:4であるか否かを判断する。4:4:4とは、1MCUが8×8画素からなり、明度Y、色差Cb、Crのすべてに8×8画素を1ブロックとする1ブロックを割り当てる場合を指す。
【００４２】
上記の信号量の比が4:4:4の場合はステップS209で、明度信号の直流成分Y7に対して、色差信号の直流成分も各一つ（Cb3およびCr3）なので、一組の色信号Y7Cb3Cr3を累積バッファ200へ累積した後、ステップS210へ進む。
【００４３】
次に、ステップS210で、全MCUの明度・色差信号の直流成分の抽出が完了したか否かを判定し、未了であればステップS203へ戻る。完了していればステップS211へと進んで累積バッファ200の正規化処理を行う。正規化処理とは、各明度階調値nに対して、色差信号累積バッファCb[n]、Cr[n]の値を明度情報カウンタの値Y[n]で除算することで、1MCU当たりの平均色差信号を算出することである。
【００４４】
なお、上記ではMCUの構成を4:1:1、4:2:2および4:4:4の三種類に限定して説明したが、上記の信号量の比がこの三種類以外の場合は、その比に対して好適な明度・色差累積方法を適用するが、本実施形態ではその説明を省略する。
【００４５】
また、図3に示すフローチャートでは、MCUの構成の判断および各構成に対する処理を各MCUの直流成分の抽出後に毎回行う例を示したが、判断を行う位置に限定はなく、構成に応じた明度・色差信号の累積を好適に行えれば、どのように実施してもよい。
【００４６】
［色バランスの補正］
次に、ステップS103へ進み、ステップS102で取得した各明度のカウント値および平均色差に基づき、三次元色空間における明度・色差信号の変換パラメータを算出する。
【００４７】
本実施形態の三次元画像補正処理は、色バランス補正、コントラスト補正および彩度補正を行うが、これら各種補正については特開平2000-13625号公報に記載された方法が好適に適用できる。以下、その方法の概略を説明する。
【００４８】
まず、画像の中からハイライトポイントとシャドウポイントを決定する。その際、明度カウンタL[256]についての累積度数ヒストグラムを作成し、その累積度数ヒストグラムにおいて、予め設定した所定の累積度数Hthに対応する明度信号の上限値をハイライトポイントHL、累積度数Sthに対応する明度信号の下限値をシャドウポイントSDに決定する。そして、ハイライトポイントHLにおける平均色差C1HL=Cb[HL]およびC2HL=Cr[HL]、シャドウポイントSDにおける平均色差C1SD=Cb[SD]およびC2SD=Cr[SD]を取得する。
【００４９】
以上のようにして、ハイライトポイントHLの色差量C1HLおよびC2HL、シャドウポイントSDの色差量C1SDおよびC2SDを取得する。これら色差量によって図4(b)に示すように、入力画像の色立体軸I、すなわち、無彩色軸Iを推測することができる。色バランスが崩れていない理想的な画像の色立体は、図4(a)に示すように、色立体軸Iと明度軸Yとが一致する。
【００５０】
従って、入力画像の色立体軸Iを明度軸Yに変換する回転行列および平行移動量を求め、回転行列および平行移動量を用いて入力画像を補正することで、色バランスが補正される。なお、回転行列は、回転軸とその角度が決まれば簡単に求めることができる。つまり、図4(b)に示す入力画像の各画素の値(C1, C2, Y)を三次元色空間中で変換して、図4(c)に示すような(C1', C2', Y')にすることで、入力画像の色バランスを三次元色空間上で補正する。
【００５１】
［コントラストおよび彩度の調整］
入力画像の露出オーバ・アンダを簡易的に判定し、それに応じて明度信号にガンマ補正することで、コントラストおよび彩度を調整する。
【００５２】
なお、コントラスト調整は、入力画像の露出状態に応じたガンマ補正によりシャドウポイントSDの明度を「0」あるいはその近傍（例えば「10」）に、ハイライトポイントHLの明度を「255」あるいはその近傍（例えば「245」）に調整するものである。
【００５３】
以下では、入力画像の露出のオーバ・アンダを簡易的に判定し、それに応じてガンマ補正する例を説明する。
【００５４】
まず、画像の色立体軸と明度軸との最小距離を示す点、図4(b)に示すTおよびT'を求める。これらは幾何学的な関係から簡単に求めることができる。そして、T'がTになるようにコントラストを調整する。つまり、図5に示すように(T, T')を変曲点として、Y'がT'より小さい範囲は直線aで示す関数を用いて明度Y'をY"に補正し、Y'がT'より大きい範囲は直線bで示す関数を用いて明度Y'をY"に補正する。なお、入力画像の色立体軸が明度軸と並行になる場合などはTを求めること自体がナンセンスになるので、このような特殊なケースは直線I2で示す関数を用いて補正すればよい。
【００５５】
このTおよびT'を用いる補正は、とくに露出オーバあるいはアンダの画像に効果的であると考えられる。露出オーバは、空など明るい領域に画像全体の明度が引っ張られた結果だが、その際、ディジタルカメラを代表する入力機器では高明度における色の抑圧が行われ、高明度部の彩度が落とされている。すなわち、入力画像の色立体軸を、図6に示す彩度と明度を軸とする二次元平面で考えると、露出オーバの画像は、図6(a)に示すように、高明度部分に最も無彩色に近いところが現れる。逆に、露出アンダの画像は、低明度において色が抑圧されるため、図6(b)に示すのようになる。従って、TおよびT'の値によって、簡易的に入力画像が露出オーバなのかアンダなのか判定することができる。
【００５６】
実際の画像における色立体の明度軸を、明度−彩度平面にプロットすると、露出オーバの画像は例えば図7(a)に示すようになり、逆に、露出アンダの画像は例えば図7(b)に示すようになる。そもそも本来あるべき（理想的な状態の）色立体から、撮影状況や入力時（A/D変換など）の何らかの影響で実際の色立体からずれたものが露出オーバやアンダだと考えれば、TとT'との位置関係が最もずれの小さい位置だと考えられる。そこで、本実施形態は、このずれを戻してやることで簡易的に、適切なグレーが得られるように画像全体の明るさを補正する。
【００５７】
また、彩度は非常に簡単に調整することができる。例えば、彩度を20%上げる場合は式(3)に示す処理を行えばよい。
C1" = 1.2×C1'
C2" = 1.2×C2'    …(3)
【００５８】
これは、彩度がC12+C22で定義されることによるものである。なお、彩度調整の度合いは、画像情報に基づき自動的に決定してもよいし、ユーザの指示に基づき決定されるようにしても構わない。
【００５９】
本実施形態の画像補正処理は、明度色差空間上で行う。従って、画像補正処理に用いる補正パラメータは、明度色差空間上で色バランス補正、コントラスト補正および彩度補正を行うパラメータに基づき作成される三次元ルックアップテーブル(3D LUT)である。
【００６０】
このように、第1実施形態では、原画像の明度・色差分布を直接調べる代わりに、DCT画像におけるDC成分などの低周波成分を対象に、明度・色差分布を調査する。そのため、調査対象のデータ量を大幅に低減することができる。具体的には、図3に示すステップS209の処理のようにMCUの構成が4:4:4の場合はMCU数は原画像データ数の1/64になり、ステップS205の処理のようにMCUの構成が4:1:1の場合はMCU数は原画像データ数の1/256になる。従って、第1実施形態の処理を適用することで、高速に、写真画像の色かぶり・コントライス・彩度などを好適に補正することができる。
【００６１】
【第２実施形態】
以下、本発明にかかる第2実施形態の画像処理を説明する。なお、第2実施形態において、第1実施形態と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００６２】
第1実施形態においては、全MCUの直流成分を抽出し、明度ごとのカウント数および平均色差を抽出して画像補正処理を行う例を説明した。しかし、解像度の低い画像や、MCUの構成が4:1:1の画像などで直流成分のみを使用すると、特徴的な色の画素と周囲の画素とが平均されて、好適な色かぶり・コントラスト・彩度補正のパラメータが算出できない場合がある。第2実施形態は、この点を解決して、高速かつ信頼性の高い色かぶり・コントラスト・彩度補正を行うものである。
【００６３】
第2実施形態においても、第1実施形態と同様に図2に示すステップS102からS104と同じ処理を行う。しかし、ステップS102における各明度のカウント数および平均色差を取得する部分が第1実施形態とは異なる。
【００６４】
図8は第2実施形態におけるステップS102の処理の詳細を示すフローチャートである。
【００６５】
ステップS302でMCUの直流成分および交流成分の特徴量を取得する。ここでいう特徴量とは、実際の交流成分自体ではなく、対象とするMCU内部がどれだけ均一な明度・色差情報をもつかを示す値である。JPEGにおいては、DCT後に量子化された高周波成分は所定の順に並べ替えられ、並び順の後ろの方（一般に高周波成分側）ほど値が零の確率が高くなる。そして、MCUの最後の有為（非零）の要素の後には符号のデータサイズを小さくするためにEOB (End of Block)と呼ばれる符号が付され、その要素でそのMCUの符号化が終了する。
【００６６】
そこで、表1に示す特徴量および判定を用いて、MCU内の画素ごとの明度・色差変動が大きいか、それとも全体的に平滑か、という傾向を把握することができる。なお、表1において判定が真の場合は明度・色差変動が大きいことを表す。
【００６７】
【表１】
0004011933.tif 000002
続くステップS303で表1に示す判定を行い、その結果、MCU内が平滑であると判定された場合はステップS304へ進み、第1実施形態と同様に直流成分を累積した後、ステップS307へ進む。一方、MCU内が平滑ではないと判定された場合はステップS305へ進み、MCUを復号し、ステップS306で復号された全画素の成分を累積した後、ステップS307へ進む。
【００６８】
ステップS307では、全MCUを処理し終えたか否かを判定し、未了の場合はステップS302へ戻り、全MCUを処理し終えた場合は処理を終了する。
【００６９】
第2実施形態では、MCUの復号前の直流成分または復号後の信号値を累積するので、MCUの構成によって明度カウンタの増加値および色差累積バッファへの累積値に重み付けを行い、ステップS304およびS306で行われるカウントが均等になるようにする必要がある。
【００７０】
具体的には、MCUの構成が4:1:1の場合は、直流成分の各明度Y1、Y2、Y3およびY4に対する明度カウンタは64カウントし、対応する色差累積バッファはCb1およびCr1の64倍を累積すればよい。同様に、MCUの構成が4:2:2の場合は32カウントかつ32倍、MCUの構成が4:2:2の場合は16カウントかつ16倍にすればよい。MCUの構成が上記の三種類以外の場合は、その構成に好適なカウント数および倍率を設定すればよいことは言うまでもない。
【００７１】
このように、その内部が平滑ではないMCUについては復号した情報を用いて各明度のカウント数および平均色差を正確に取得し、その内部が平滑なMCUについては直流成分を用いて各明度のカウント数および平均色差を高速に取得することができるので、高速かつ信頼性の高い色かぶり・コントラスト・彩度補正を行うことができる。
【００７２】
【第３実施形態】
以下、本発明にかかる第3実施形態の画像処理を説明する。なお、第3実施形態において、第1実施形態と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００７３】
第2実施形態においては、各MCUの平滑さを調べ、高速かつ信頼性の高い色かぶり・コントラスト・彩度補正を行う方法を説明したが、第3実施形態では、より簡便に高速性と信頼性を両立させる方法を説明する。
【００７４】
図9は第3実施形態における処理を示すフローチャートである。
【００７５】
ステップS402で画像の画素数が所定の閾値以上であるか否かを判定し、閾値以上の場合は第1実施形態と同様の方法で低周波成分の抽出・累積を行う(S102)。また、画素数が閾値未満の場合はステップS403へ進み、全MCUを復号し、復号信号の累積を行う。
【００７６】
MCUの直流成分を抽出する方式は、MCUを復号する場合に比べて誤差を生じる危惧がある。つまり、画素数の少ない原画像は、各画素の情報の重みが、画素数の大きい原画像に比べて重いと考えられるので、MCUの直流成分で処理すると、誤差が相対的に大きくなり、画質劣化などの弊害が出る可能性が高い。また、画素数の少ない原画像は、全MCUを復号しても処理時間は短時間で済む。そこで、第3実施形態では、画素数が少ない原画像はMCUを復号して処理を行い、画素数の多い原画像はMCUの直流成分の抽出をして処理を行う。
【００７７】
なお、一般的に、弊害とのバランスを考えると、VGAサイズ（640×480画素）以下の画像はMCUを復号して処理をする方が好適と考えられる。勿論、画素数ではなく、ファイルサイズなどをステップS402の判定基準に採用してもよい。
【００７８】
このように、画素数の少ない（ファイルサイズの小さい）画像はMCUを復号した情報を用いてカウント数および平均色差を正確に取得し、画素数の多い（ファイルサイズの大きい）画像はMCUの直流成分を用いてカウント数および平均色差を高速に取得するので、画像の形態・状況に応じて高速かつ信頼性の高い色かぶり・コントラスト・彩度補正を行うことができる。
【００７９】
【第４実施形態】
以下、本発明にかかる第4実施形態の画像処理を説明する。なお、第4実施形態において、第1実施形態と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００８０】
第4実施形態では、処理対象画像の縦横の画素数XおよびYが、MCUを構成する縦横の画素数xおよびyの整数倍ではなく、画像端部のMCUにおいて有効な画素は一部であり、残りが剰余画素である場合を説明する。剰余画素は、通常、復号後に破棄されるので、剰余部分の取り扱いは一意には決まっていない。一般に、圧縮効率を上げるために、剰余部分には端部の画素を複製する場合が多い。そうすると、直流成分を抽出する場合、端部の影響が非常に強い直流成分を抽出することになり、場合によっては弊害を引き起こす。第4実施形態は、この点を解決して、高速に、色かぶり・コントラスト・彩度補正を行うものである。
【００８１】
第4実施形態においても、第1実施形態と同様に図2に示すステップS102からS104と同じ処理を行う。しかし、ステップS102における各明度のカウント数および平均色差を取得する部分が第1実施形態とは異なる。
【００８２】
図10は第4実施形態におけるステップS102の処理の詳細を示すフローチャートである。
【００８３】
ステップS502で処理対象のMCUが画像の端部で、剰余画素を含むか否かを判定する。その結果、MCUが端部でもなく、剰余画素も含まない場合はステップS503およびS504で、第1実施形態と同様に、MCUの直流成分を抽出し、抽出した直流成分を累積した後、ステップS507へ進む。一方、MCUが端部で、かつ、剰余画素を含む場合はステップS505でそのMCUを復号し、ステップS506で復号された画素のうち、剰余画素を除く有効画素について累積を行った後、ステップS507へ進む。
【００８４】
ステップS507で、全MCUの処理を終えたか否かを判定し、未了であればステップS502へ戻り、全MCUの処理を終えた場合は処理を終了する。
【００８５】
このように、剰余画素を含むMCU、および、剰余画素を含まないMCUに対して、それぞれ好適な処理を適用し、高速かつ正確に累積を行う。従って、画像サイズとMCUサイズに応じて高速かつ信頼性の高い色かぶり・コントラスト・彩度補正を行うことができる。言い換えれば、MCUの直流成分を抽出して処理を高速に行うメリットを享受しつつ、画像端部の剰余画素による弊害を回避することができる。
【００８６】
勿論、上記のようにMCUの復号を行わずに、下記の方法によっても同様の効果を得ることができる。
(1) 剰余画素を含むMCUの情報は累積せずに破棄する
(2) 剰余画素を含むMCUの情報に対しては重み付けをして累積する
【００８７】
【第５実施形態】
以下、本発明にかかる第5実施形態の画像処理を説明する。なお、第5実施形態において、第1実施形態と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【００８８】
第1から第4実施形態で説明した処理は、明度・色差の累積時に抽出した明度情報に基づき行うものである。直流成分によって上記の累積を行う場合、例えば極端に明度が異なる画素がMCUに含まれていると、その影響で彩度やコントラストが過度に強調される可能性がある。また、ホワイトポイントやシャドウポイントの位置も直流成分を用いると平均化されてしまい、本来の明度・色差の特徴が、少し弱められた情報として抽出される傾向がある。第5実施形態は、この点を解決して、高速、かつ、精度および信頼性が高い色かぶり・コントラスト・彩度補正を行うものである。
【００８９】
第5実施形態においても、第1実施形態と同様に図2に示すステップS102からS104と同じ処理を行う。しかし、ステップS102における各明度のカウント数および平均色差を取得する部分が第1実施形態とは異なる。
【００９０】
図11は第5実施形態におけるステップS102の処理の詳細を示すフローチャートである。
【００９１】
ステップS602でMCU中の直流成分および交流成分の特徴量を抽出する。この特徴量は、第2実施形態と同様に、MCU内部の明度・色差の平滑度を表す指標である。
【００９２】
次に、ステップS603で、抽出した特徴量に応じて、明度情報の変調幅および色差情報の重み付け値を算出し、ステップS604で、変調幅および重み付け値に応じて明度カウンタおよび累積バッファ200に累積を行う。つまり、明度を変調幅によって変調した範囲に、重み付け値で重み付けした色差情報を累積するが、その詳細を図12に基づき後述する。
【００９３】
そして、ステップS605で全MCUの処理を終えたか否かを判定し、未了であればステップS602へ戻り、全MCUの処理を終えた場合は処理を終了する。
【００９４】
図12は、特徴量を判定して「平滑性が高い」「平滑性が低い」「平滑性が低く、かつ、交流成分が極めて大きい」の三種類に分類して行う累積を説明する図である。
【００９５】
図12(a)はMCU内部の「平滑性が高い」場合を、図12(b)はMCU内部の「平滑性が低い」場合を、図12(c)はMCU内部の「平滑性が低く、かつ交流成分信号が極めて大きい」場合をそれぞれ表している。何れの場合も、MCUの明度の直流抽出値Y1に対し、変調幅Xの範囲の明度カウンタに対応する累積バッファ200に、破線で示す重み付けを施した色差情報を累積する。
【００９６】
図12に示すように、変調幅Xは平滑性が高いほど小さく、平滑性が低い場合は広い。また、変調幅Xの範囲で放物線を描く重み付けのピーク値Aは平滑性が高いほど大きく、平滑性が低い場合は小さいが、交流成分信号が極めて大きい場合、重み付け曲線は負の特性をもつ。なお、変調幅Xの範囲で、重み付け曲線とY軸（横軸）とがなす面積（図12にハッチングで示す）は何れの場合も一定である。
【００９７】
このように、MCUの平滑度に応じた範囲で累積を行うことで、各MCUの特性を反映させた累積値を得ることができ、高速、かつ、精度および信頼性が高い色かぶり・コントラスト・彩度補正を行うことができる。
【００９８】
上記では、交流成分の特徴からMCUを三種類に分類して、その特徴に応じた明度・色差の累積を行う例を説明したが、本実施形態の主旨は、MCU内部の平滑性に応じた好適な累積を行うことで、その分類数は限定されない。
【００９９】
【第６実施形態】
以下、本発明にかかる第6実施形態の画像処理を説明する。なお、第6実施形態において、第1実施形態と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１００】
図13は第6実施形態の処理を示すフローチャートである。
【０１０１】
ステップS802で符号化された画像を解析する。対象画像の全MCUをIDCTせずにMCU中の明度・色差信号の直流成分を抽出する。そして、それら明度・色差信号を累積・計数して、明度ごとのカウント数および平均色差を取得し、第1実施形態と同様の方法で、ハイライトポイントHLおよびシャドウポイントSDを得る。
【０１０２】
次に、ステップS803で、ステップS802で取得したハイライトポイントHLおよびシャドウポイントSDに基づき、第1実施形態と同様の方法で、三次元色空間における明度・色差信号の変換パラメータを算出する。
【０１０３】
次に、ステップS804で、ステップS803で算出した変換パラメータを用いて、MCUを復号する前の明度・色差信号の直流成分を補正した後、補正済みの明度・色差信号の直流成分および交流成分をIDCTする。こうすることで、色かぶり・コントラスト・彩度補正用の3D LUTによる変換回数を大幅に減らすことができ、補正処理の速度を向上させることができる。
【０１０４】
【第７実施形態】
第7実施形態では、本発明を適用した、ダイレクトプリントプロトコル(DPP)を備えるフォト画質のインクジェットプリンタを説明する。なお、以下の説明において、第1から第6実施形態と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１０５】
［概観］
図14は第7実施形態のプリンタ1000の概観斜視図である。
【０１０６】
プリンタ1000は、ホストコンピュータから画像データを受信して印刷する、通常のプリンタ機能と、メモリカードなどの記憶媒体から画像データを読み取って印刷したり、ディジタルカメラなどの画像入力装置から画像データを受信して印刷するダイレクトプリント機能を備える。
【０１０７】
図14において、プリンタ1000の外殻をなす本体は、下ケース1001、上ケース1002、アクセスカバー1003および排出トレイ1004の外装部材を備える。下ケース1001は本体の略下半部を、上ケース1002は本体の略上半部をそれぞれ形成し、両ケースを組み合せることにより、その内部に後述する各機構を収納する収納空間を有する中空体構造をなす。本体の上面部および前面部にはそれぞれ開口部が形成されている。
【０１０８】
排出トレイ1004は、その一端部が下ケース1001に回転自在に保持され、その回転により、下ケース1001の前面部に形成された開口部を開閉する。そのため、プリンタ1000に記録動作を実行させる際は、排出トレイ1004を前面側へ回転させ、開口部を開くことで、開口部から記録紙が排出可能になる。排出された記録紙は、順次、排出トレイ1004に積載される。また、排紙トレイ1004には、二つの補助トレイ1004aおよび1004bが収納されており、必要に応じて、各補助トレイを手前に引き出すことで、記録紙の載置面積を三段階に拡大、縮小し得る。
【０１０９】
アクセスカバー1003は、その一端部が上ケース1002に回転自在に保持され、その回転により、本体の上面部に形成された開口部を開閉する。アクセスカバー1003を開くと、本体内部に収納されている記録ヘッドカートリッジ（不図示）あるいはインクタンク（不図示）などの交換が可能になる。なお、ここでは図示しないが、アクセスカバー1003を開閉すると、その裏面に形成された突起部がカバー開閉レバーを回転させ、そのレバーの回転位置をマイクロスイッチなどで検出することで、アクセスカバー1003の開閉状態を検出する。
【０１１０】
上ケース1002の上面には電源キー1005が設けられ、上ケース1002の右側には液晶表示部1006や各種キースイッチなどを備える操作パネル1010が設けられている。操作パネル1010の詳細は後述する。
【０１１１】
自動給送部1007は、記録紙を本体内へ自動的に搬送する。紙間選択レバー1008は、記録ヘッドと記録紙との間隔を調整するためのレバーである。カードスロット1009は、例えば、PCMCIA (Personal Computer Memory Card International Association)規格のPCカードが装着可能である。カードスロット1009には、メモリカードなどを装着可能なアダプタが挿入され、このアダプタを介してメモリカードに記憶されている画像データなどを読み込んで印刷することができる。メモリカードとしては、例えばコンパクトフラッシュメモリ、スマートメディア、メモリスティックなどがある。また、ハードディスクが組み込まれたPCカードを利用することも可能である。
【０１１２】
ビューワ（液晶表示部）1011は、本体に着脱可能で、メモリカードに記憶されている画像の中から印刷したい画像を検索する場合など、画像やインデックス画像などをコマ単位に表示する際に使用される。コネクタ1012は、後述するディジタルカメラなどが接続される。コネクタ1013は、パーソナルコンピュータなどを接続するためのUSBバスコネクタである。
【０１１３】
［記録ヘッド］
図15はプリンタ1000の記録ヘッドの構成例を示す概観斜視図である。
【０１１４】
本実施形態における記録ヘッドカートリッジ1200は、図15に示すように、インクを貯留する複数のインクタンク1300と、インクタンク1300から供給されるインクを記録情報に応じてノズルから吐出させる記録ヘッド1301とを有する。記録ヘッド1301は、図示しないキャリッジに対して着脱可能に搭載される、所謂カートリッジ方式を採る。記録に際して、記録ヘッドカートリッジ1200はキャリッジ軸に沿って往復走査され、記録紙上にカラー画像が記録される。図14に示す記録ヘッドカートリッジ1301は、写真調の高画質なカラー記録を可能とするため、インクタンクとして、例えば、ブラック(K)、ライトシアン(LC)、ライトマゼンタ(LM)、シアン(C)、マゼンタ(M)およびイエロー(Y)の各色独立にインクタンク1300が用意され、各インクタンク1300は記録ヘッド1301に対して着脱自在である。
【０１１５】
なお、以下では、上述した六色のインクを使用する例を説明するが、これに限定されるものではなく、例えばブラック、シアン、マゼンタおよびイエローの四色のインクを使用して記録を行うプリンタでもよい。その場合、四色独立のインクタンクが、それぞれ記録ヘッド1301に対して着脱自在であっても構わない。
【０１１６】
［操作パネル］
図16は操作パネル1010の概観図である。
【０１１７】
図16において、液晶表示部1006には、その左右に表示された項目に関するデータを設定するための下記のメニュー項目などが表示される。これらの項目は、カーソルキー2001を用いて選択あるいは指定可能である。
開始／指定：印刷する画像データ（写真）の範囲を示すための
先頭写真番号、指定コマ番号
終了：印刷する画像データ（写真）の範囲を示すための
最後の写真番号
部数：印刷部数
用紙種類：印刷に使用する記録紙（記録シート）の種類
レイアウト：一枚の記録紙に印刷する画像（写真）数の設定
品位：印刷品位の指定
日付印刷：撮影日を印刷するか否かの指定
画像補正：画像（写真）を補正して印刷するか否かの指定
記録紙枚数：印刷に必要な記録紙数の表示
【０１１８】
モードキー2002を押するごとに、印刷の種類（インデックス印刷、全コマ印刷、1コマ印刷など）が切り替わり、印刷の種類の切り替わりに応じて、対応するLED2003が点灯する。メンテナンスキー2004は、記録ヘッド1301のクリーニングなど、プリンタ1000にメンテナンスを行わせるためのキーである。印刷開始キー2005は、印刷の開始を指示する、あるいは、メンテナンスの設定を確立する際に押される。印刷中止キー2006は、印刷の中止またはメンテナンスの中止を指示する際に押される。
【０１１９】
［制御構成］
図17はプリンタ1000の制御にかかる主要部の構成を示すブロック図である。
【０１２０】
DSP（ディジタル信号処理プロセッサ）3002は、米国テキサス・インスツルメンツ社製のDSP-C6211で、その内部にCPUを有し、後述する各種制御、並びに、輝度信号(RGB)から濃度信号(CMYK)への変換、スケーリング、ガンマ変換および誤差拡散などの画像処理を行う。メモリ3003は、DSP 3002のCPUが実行する制御プログラムを記憶するプログラムメモリ3003aを有し、DSP 3002のワークエリアとして機能し、プログラムや画像データなどの様々なデータを記憶する。
【０１２１】
プリンタエンジン3004は、複数色のカラーインクを用いてカラー画像を印刷するインクジェットプリンタのプリンタエンジンである。USBバスコネクタ3005にはディジタルカメラ3012が接続され、コネクタ3006にはビューワ1011が接続される。USBハブ3008は、プリンタ1000がPC 3010から入力される画像データに基づき印刷を行う際は、PC 3010から受信したデータをスルーし、USBバス3021を介して、プリンタエンジン3004へ供給する。これにより、プリンタ1000に接続されたPC3010は、プリンタエンジン3004と直接、データや信号のやり取りを行い、印刷を実行することができる。つまり、一般的なプリンタとして機能する。電源コネクタ3009は、電源3013によって商用交流電力から変換された直流電圧を入力する。
【０１２２】
なお、制御部3000とプリンタエンジン3004との通信は、USBバス3021またはIEEE1284インタフェイス3022を介して行われる。
【０１２３】
図18はASIC（専用カスタムLSI）3001の構成例を示すブロック図である。
【０１２４】
PCカードインタフェイス(I/F)4001は、カードスロット1009に装着されたメモリカード3011に記憶された画像データを読み取ったり、メモリカード3011へデータを書き込むためのインタフェイスである。IEEE1284インタフェイス4002は、プリンタエンジン3004と通信するためのインタフェイスで、ディジタルカメラ3012またはメモリカード3011から得られた画像データを印刷する場合に使用される。USBインタフェイス4003はPC 3010などとの通信に利用される。USBホストインタフェイス4004はディジタルカメラ3012などとの通信に利用される。操作パネル・インタフェイス4005は、操作パネル1010から各種操作信号を入力したり、表示部1006へ表示データを出力するなどに利用される。ビューワ・インタフェイス4006はビューワ1011へ画像データを出力するために利用される。I/O 4007は、各種スイッチの状態を取得したり、LED 4009の点灯消灯などを行うために利用されるインタフェイスである。CPUインタフェイス4008は、DSP 3002と通信するためのインタフェイスである。これらインタフェイスは、内部バス（ASICバス）4010によって相互に接続されている。
【０１２５】
［画像処理］
図19はプリンタ1000のインタフェイスおよび画像処理にかかる機能構成を示すブロック図である。
【０１２６】
ホスト6000は、プリンタ1000からみた場合のホストマシン、つまりデータソースに相当する。ホスト6000には、上述したホストコンピュータのPC 3010、ディジタルカメラ3012、PCカード3011、さらに、図示しないゲーム機やテレビジョン機器なども含まれる。ホスト6000とプリンタ1000とは、USB (Universal Serial Bus)、IEEE1284またはIEEE1394などのインタフェイスを介して接続されるが、勿論、ブルートゥース(Bluetooth)などの無線インタフェイスを用いてもよい。
【０１２７】
また、制御部3000が有する機能には、ASIC 3001により実現されるデータ入力格納処理6001およびプリンタエンジン3004にプリントデータを出力するプリンタインタフェイス6004、並びに、DSP3002により実行されるマルチレンダラ処理6002および画像処理ないしプロセス処理6003が含まれる。
【０１２８】
ホスト6000から読み込まれた画像データは、データ入力格納処理6001によってメモリ3003に格納される。メモリ3003に格納された画像データは、マルチレンダラ処理6002によって、画像処理/プロセス処理6003で処理可能なデータに変換される。画像処理/プロセス処理6003は、通常、ホストコンピュータのプリンタドライバが行うサイズ変換、色処理および量子化を行う。この色処理には、原画像の色空間をプリンタの色空間へ補正するRGBからR'G'B'への変換であるガマットマッピング、R'G'B'をプリンタの色材成分CMYKへ変換する輝度-濃度変換、UCRおよびマスキング処理、並びに、出力ガンマ補正などの一般的な色変換のほかに、ディジタルカメラ3012が撮影した画像の色を適切に表現するための画像補正処理などが含まれる。
【０１２９】
画像処理/プロセス処理6003が施された画像データは、プリンタI/F6004を介してプリンタエンジン3004に送られる。プリンタエンジン3004の動作は、詳述しないが、公知の手法によるモータの制御、記録ヘッド1301へのデータ転送など、各種制御を行い、記録紙へ画像を記録する。
【０１３０】
以上がプリンタ1000の概略説明であるが、特徴的なことはDSPを用いて処理を行う点である。一般に、DSPは積和演算を得意とする。本実施形態のDSP 3002のように多数の演算素子を内蔵する高機能タイプのDSPは、複数の積和演算などの並列処理に有利である。従って、通常のプロセッサではダイレクトプリント時に負荷が重い色処理や量子化などの演算にDSP 3002は適している。
【０１３１】
さらに、DSP 3002の利用は、DCTおよびIDCTのような周波数変換を行う用途に非常に相性がよいし、ソフトウェアウェアによる処理は柔軟に変更、調整可能であるから、一般のJPEG復号処理とは異なる、上述した第1から第6実施形態で説明した特殊な復号処理（以下「高速JPEG復号処理」と呼ぶ）も容易に行うことができる。もし、高速JPEG復号処理を、通常のプロセッサの逐次処理で行おうとすると、DCTおよびIDCTの処理が遅く、ダイレクトプリントを行う場合、プリンタのパフォーマンスが著しく低下する。また、すべての機能をASICで実現すれば、高速JPEG復号処理を実現するための回路規模が極めて大きく複雑になる。勿論、高速JPEG復号処理を用いずに、高速処理を実現しようとしても回路規模が大きくなる。
【０１３２】
このように、DSPを用いて高速JPEG復号処理を行うことで、その効果を飛躍的に増大させることができる。
【０１３３】
なお、上述した第1から第7実施形態は、それぞれ独立にプリンタなどの画像処理装置に適用する必要はなく、互いに組み合わせて画像処理装置に適用することで、それぞれの利点を組み合わせた、より好適な画像処理が実現可能である。
【０１３４】
また、第1から第6実施形態において説明した色バランス補正、コントラスト補正および彩度補正などにおける各種の演算処理は、コンピュータのCPUにソフトウェアを供給して実現することもできるし、乗算器や加算器を組み合わせた電子回路（ハードウェア）によっても実現できる。
【０１３５】
また、上述した実施形態では、8×8画素を1ブロックとして直交変換された画像データを例に説明したが、ブロックのサイズは4×4や16×16画素など任意で、10×10画素など2のべき乗以外の数でもよい。
【０１３６】
上述したように、上述した実施形態によれば、周波数データ中の低周波成分を対象に明度・色差分布を調べて画像処理を行う。つまり、明度・色差分布の事前調査のために、わざわざ画像の復号作業をおこなう必要がなく、調査対象のデータ量を大幅に減らすことができる。従って、JPEGなどの圧縮画像に色かぶり・コントラスト・彩度補正を施す場合に、三次元変換量を決定するための処理時間・負荷を大幅に低減することができる。
【０１３７】
また、低周波成分に基づく画像処理を行う場合に予想される様々な問題を、画素数や交流成分の特徴量などを用いて解決し、高速かつ精度の高い色かぶり・コントラスト・彩度補正を行うことができる。
【０１３８】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１３９】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１４１】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【０１４２】
【発明の効果】
以上説明したように、本発明によれば、画像の色かぶり・コントラスト・彩度などを補正するための明度・色差変換量を、高速かつ高い信頼性で設定することができる。
【図面の簡単な説明】
【図１】  DCTおよびIDCTを説明する図、
【図２】符号化された画像データの処理例を示すフローチャート、
【図３】明度・色差信号の累積・計数を説明するフローチャート、
【図４】色バランスの補正を説明するための図、
【図５】色バランスの補正を説明する図、
【図６】色バランスの補正を説明する図、
【図７】色バランスの補正を説明する図、
【図８】第2実施形態の処理を示すフローチャート、
【図９】第3実施形態の処理を示すフローチャート、
【図１０】第4実施形態の処理を示すフローチャート、
【図１１】第5実施形態の処理を示すフローチャート、
【図１２】特徴量の分類に応じた累積を説明する図、
【図１３】第6実施形態の処理を示すフローチャート、
【図１４】プリンタの概観斜視図、
【図１５】記録ヘッドの構成例を示す概観斜視図、
【図１６】操作パネルの概観図、
【図１７】プリンタの制御にかかる主要部の構成を示すブロック図、
【図１８】  ASICの構成例を示すブロック図、
【図１９】プリンタのインタフェイスおよび画像処理にかかる機能構成を示すブロック図である。
【図１】
0004011933.tif 000003
【図２】
0004011933.tif 000004
【図３】
0004011933.tif 000005
【図４】
0004011933.tif 000006
【図５】
0004011933.tif 000007
【図６】
0004011933.tif 000008
【図７】
0004011933.tif 000009
【図８】
0004011933.tif 000010
【図９】
0004011933.tif 000011
【図１０】
0004011933.tif 000012
【図１１】
0004011933.tif 000013
【図１２】
0004011933.tif 000014
【図１３】
0004011933.tif 000015
【図１４】
0004011933.tif 000016
【図１５】
0004011933.tif 000017
【図１６】
0004011933.tif 000018
【図１７】
0004011933.tif 000019
【図１８】
0004011933.tif 000020
【図１９】
0004011933.tif 000021