(57)【特許請求の範囲】
【請求項１】
原画像の参照用のデータから、前記原画像の色を補正するための補正パラメータを求めて、前記原画像のデータを補正する画像処理方法であって、
前記参照用のデータの画素数、解像度、サイズ、記録フォーマット、符号化方法または前記データに付随する情報に基づき、前記参照用のデータの正確さを信頼性として評価する評価ステップと、
前記信頼性に応じて前記参照用のデータの色情報または判定条件を補正する第一の補正ステップと、
前記参照用のデータと前記判定条件の比較結果から補正パラメータを算出する算出ステップと、
前記算出した補正パラメータに従い前記原画像のデータを補正する第二の補正ステップとを有することを特徴とする画像処理方法。
【請求項２】
前記参照用のデータは、前記原画像のデータを低解像度化、画素を間引いた、または、データ圧縮したものであることを特徴とする請求項1に記載された画像処理方法。
【請求項３】
前記算出ステップは、前記原画像のデータが表す色立体を移動するための行列、前記色立体を移動するための平行移動量、彩度増減量、前記原画像のデータに適用するフィルタサイズおよびフィルタの重み係数、並びに、階調補正カーブの少なくとも一つを前記補正パラメータとして算出することを特徴とする請求項1または請求項2に記載された画像処理方法。
【請求項４】
原画像の参照用のデータをから、前記原画像のデータを補正するための補正パラメータを求めて、前記原画像のデータを補正する画像処理装置であって、
前記参照用のデータの画素数、解像度、サイズ、記録フォーマット、符号化方法または画像データに付随する情報に基づき、前記参照用のデータの正確さを信頼性として評価する評価手段と、
前記信頼性に応じて前記参照用のデータの色情報または判定条件を補正する第一の補正手段と、
前記参照用のデータと前記判定条件に基づき補正パラメータを算出する算出手段と、
前記算出される補正パラメータに従い前記原画像のデータを補正する第二の補正手段とを有することを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置およびその方法に関し、例えば、画像補正を行う画像処理に関する。
【０００２】
【従来の技術】
近年のディジタルカメラおよびカラープリンタの普及によって、誰もが簡単に、画像を撮影しプリントできるようになった。しかし、不適当な露出などにより、撮影した画像が色かぶりを起こしていると、カラープリンタの性能向上により色かぶりまで忠実に再現されてしまう問題がある。
【０００３】
特開2000-13625号公報には、この問題を改善する技術が記載されている。同技術は、原画像データに基づきヒストグラムを作成し、所定の画素値から累積して所定度数に相当する画素データを検出し、検出された画素データに基づき画像補正処理を行うものである。また、特開2001-18636号公報には、原画像データに、ソースプロファイルに応じた補正を行い、入力画像の特徴量を算出し、特徴量に応じた処理条件に基づき原画像データに画像補正処理を施すことが開示されている。また、特開平6-169395号公報には、原画像から算出した特定色の面積と、所定値との比較判定に基づき補正を切り替える画像補正処理が開示されている。
【０００４】
【発明が解決しようとする課題】
上記の画像補正をホストコンピュータではなくプリンタで行う場合があるが、近年のディジタルカメラの画素数の増加などに伴ない、画素数が多い画像をプリンタで画像補正すると、その処理時間が増大する問題がある。この処理時間を短縮するために、原画像を低解像度化したり、画素を間引くなどしてヒストグラムを作成することも考えられるが、画素数によっては上記の所定度数が零になり、不適当な画素データを検出して画像補正を行う危惧がある。
【０００５】
また、画素数を減らして抽出した特徴量は、低解像度化や画素の間引き方法により、原画像から得られる特徴量とは異なることがある。そのような特徴量に基づき画像補正を行えば、原画像に基づき画像補正を行う場合に比べて、画質が劣化する危惧がある。
【０００６】
また、画素数を減らして特定色の面積を算出すると、低解像度化や間引き方法により、所定値との比較判定結果が異なることがある。
【０００７】
つまり、画素数を減らすなどにより、原画像の情報が充分に維持されていない（以下「信頼性が低い」と表す）画像に基づき画像補正を行えば、不具合が発生する可能性がある。
【０００８】
本発明は、参照用の画像データの信頼性を考慮した補正パラメータにより原画像の色を補正することを目的とする。
【００１０】
【課題を解決するための手段】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１３】
本発明にかかる画像処理方法は、原画像の参照用のデータから、前記原画像の色を補正するための補正パラメータを求めて、前記原画像のデータを補正する画像処理方法であって、前記参照用のデータの画素数、解像度、サイズ、記録フォーマット、符号化方法または前記データに付随する情報に基づき、前記参照用のデータの正確さを信頼性として評価する評価ステップと、前記信頼性に応じて前記参照用のデータの色情報または判定条件を補正する第一の補正ステップと、前記参照用のデータと前記判定条件の比較結果から補正パラメータを算出する算出ステップと、前記算出した補正パラメータに従い前記原画像のデータを補正する第二の補正ステップとを有することを特徴とする。
【００１６】
本発明にかかる画像処理装置は、原画像の参照用のデータをから、前記原画像のデータを補正するための補正パラメータを求めて、前記原画像のデータを補正する画像処理装置であって、前記参照用のデータの画素数、解像度、サイズ、記録フォーマット、符号化方法または画像データに付随する情報に基づき、前記参照用のデータの正確さを信頼性として評価する評価手段と、前記信頼性に応じて前記参照用のデータの色情報または判定条件を補正する第一の補正手段と、前記参照用のデータと前記判定条件に基づき補正パラメータを算出する算出手段と、前記算出される補正パラメータに従い前記原画像のデータを補正する第二の補正手段とを有することを特徴とする。
【００１７】
【発明の実施の形態】
以下、本発明にかかる実施形態の画像処理を図面を参照して詳細に説明する。
【００１８】
［画像補正］
図1は実施形態の画像補正処理の一例を示すフローチャートである。なお、この処理は、後述するプリンタなどの画像処理装置のCPUによって実行されるものである。
【００１９】
ステップS1で画像補正スタートが命令されると、ステップS2で補正処理前の画像（原画像）の色情報を取得する。原画像を、輝度成分Yと色差成分CbおよびCrの三次元空間にプロットすると、図2に示すように、色立体を形成する。ステップS2で取得する色情報とは、色立体に関係する情報である。
【００２０】
次に、ステップS3で、取得した色立体に関する情報に基づき、画像補正を行うか否かを判定する。詳細は後述するが、画像補正は複数あり、どの補正を行うかも判定する。補正処理を行うと判定した場合、ステップS4で補正パラメータを算出する。補正パラメータは、色立体を補正するためのデータで、その形態は例えば値、行列、テーブル、フィルタまたはグラフであるが、これらに限るものではない。そして、ステップS5で、補正パラメータを用いた補正処理を原画像に施す。
【００２１】
また、画像補正を行わないと判定した場合は、ステップS6で通常の処理、つまり色立体を補正しない処理を行う。
【００２２】
なお、画像補正は、上述した特開2000-13625号公報や特開2001-18636号公報に記載された方法でもよい。
【００２３】
以下では、ステップS2からS4の処理を詳細に説明する。
【００２４】
［原画像の色情報の取得］
図3はステップS2における原画像の色情報の取得を説明するフローチャートである。
【００２５】
ステップS21で原画像の色立体に関係する、以下に示す情報のうち、少なくと一つを取得する。
輝度のヒストグラム
色差のヒストグラム
輝度ごとの色差のヒストグラム
彩度のヒストグラム
輝度ごとの彩度のヒストグラム
色相のヒストグラム
輝度ごとの色相のヒストグラム
【００２６】
次に、ステップS22でハイライトポイントとシャドウポイントを算出する。つまり、ステップS21で取得した輝度ヒストグラムにおいて、最高輝度から度数をカウントし、そのカウント値が累積度数の合計に所定の割合を掛けた閾値に到達した輝度値をハイライトポイントHLYにする。また、輝度ヒストグラムにおいて、最低輝度から度数をカウントし、そのカウント値が累積度数の合計に所定の割合を掛けた閾値に到達した輝度値をシャドウポイントSDYにする。なお、度数のカウント値が閾値に到達した輝度値をハイライトポイントHLYおよびシャドウポイントSDYにすると説明したが、その前後の輝度値をハイライトポイントHLYおよびシャドウポイントSDYに採用してもよい。
【００２７】
さらに、色差のヒストグラムから、ハイライトポイントHLYにおける平均のCbおよびCrを算出し、ハイライトポイントHLYの色差HLCbおよびHLCrとする。同様に、色差のヒストグラムから、シャドウポイントSDYにおける平均のCbおよびCrを算出し、シャドウポイントSDYの色差SDCbおよびSDCrとする。
【００２８】
次に、ステップS23で平均彩度または平均色相を算出し、ステップS24で色立体を形成する輝度、色差、彩度、あるいは、色相の分散または標準偏差を算出する。
【００２９】
［画像補正の判定］
図4はステップS3における画像補正の判定、および、ステップS4における補正パラメータの算出を説明するフローチャートである。
【００３０】
ステップS31で輝度方向の伸縮を行うか否かを判定する。輝度方向の伸縮処理は、図5に示すように、色立体Aを色立体Bに輝度方向に伸長する、または、色立体Bを色立体Aに輝度方向に縮小する処理である。この判定は、ステップS2で取得した色情報を基に行うが、輝度のヒストグラムの合計度数が閾値に満たない、ハイライトポイントHLYまたはシャドウポイントSDYの度数が閾値に満たない、あるいは、ハイライトポイントHLYとシャドウポイントSDの輝度差HLY-SDYが閾値より小さい、などの場合、輝度方向への伸縮処理を行わないと判定する。
【００３１】
次に、ステップS32で色かぶりを補正するか否かを判定する。色かぶり補正は、図6に示すように、補正前の色立体Cを輝度軸上の色立体Dにする処理である。この判定は、ステップS2で取得した色情報を基に行うが、輝度のヒストグラムの合計度数が閾値に満たない、ハイライトポイントHLYまたはシャドウポイントSDYの度数が閾値に満たない、あるいは、ハイライトポイントHLYとシャドウポイントSDの輝度差HLY-SDYが閾値より小さい、などの場合、色かぶり補正は行わないと判定する。
【００３２】
次に、ステップS33で彩度方向の伸縮を行うか否かを判定する。彩度方向の伸縮処理は、図7に示すように、色立体Eを色立体Fに彩度方向に伸長する、または、色立体Fを色立体Eに縮小する処理である。この判定は、ステップS2で取得した色情報を基に行うが、平均彩度が閾値を超える、または、平均色相がある範囲にある場合は彩度方向の伸縮処理を行わないと判定する。
【００３３】
次に、ステップS34でノイズ除去を行うか否かを判定する。ノイズ除去は、画素値を平滑化する処理である。図8(a)は3×3画素、合計九個の画素で構成されるブロックを示し、図中の黒画素が補正対象の注目画素である。この3×3画素に図8(b)に示す3×3のフィルタを用いて処理を行う。フィルタの値は各画素の重み係数を示し、重み係数を対応する画素に乗算し、乗算結果の合計値を重み係数の和で除算した値を注目画素の値（平滑後の値、図8(c)）にする。この判定は、ステップS2で取得した色情報を基に行うが、分散値または標準偏差が閾値を超える場合、ノイズ除去を行わないと判定する。
【００３４】
次に、ステップS35で階調補正を行うか否かを判定する。階調補正は、例えば図9に示す補正カーブを用いて、入力値を出力値に補正する処理である。この判定は、ステップS2で取得した色情報を基に行うが、輝度のヒストグラムの合計度数が閾値に満たない、ハイライトポイントHLYまたはシャドウポイントSDYの度数が閾値に満たない、あるいは、ハイライトポイントHLYとシャドウポイントSDの輝度差HLY-SDYが閾値より小さい、などの場合、階調補正を行わないと判定する。
【００３５】
［補正パラメータの算出］
ステップS31で輝度方向の伸縮を行うと判定された場合、ステップS41で輝度方向の伸縮パラメータの算出する。原画像のハイライトポイントHLYsrcおよびシャドウポイントSDYsrcを移動する先のハイライトポイントHLYdstおよびシャドウポイントSDYdstを決める。移動先のポイントは固定でもよく、HLYdst≧HLYsrcに設定してもよいし、SDYdst≦SDYsrcに設定してもよい。
【００３６】
ステップS32で色かぶりを補正すると判定された場合、ステップS42でベクトルHLYsrc-SDYsrcの単位ベクトルを、ベクトルHLYdst-SDYdstの単位ベクトルに移動する3×3行列を算出し、平行移動量を算出する。
【００３７】
ステップS33で彩度方向の伸縮を行うと判定された場合、ステップS43で彩度アップ率を算出（設定）する。彩度アップ率は固定値でもよいし、平均彩度や平均色相などの色情報、被写体の種類などの画像特性に応じて設定してもよい。
【００３８】
ステップS34でノイズ除去を行うと判定された場合、ステップS44でノイズフィルタを算出する。ノイズフィルタは、複数種類の中から選択してもよく、分散値や標準偏差などの色情報、被写体の種類などの画像特性に応じて、適宜、重み係数またはフィルタサイズを変更してもよい。
【００３９】
ステップS35で階調を補正すると判定された場合、ステップS45でハイライトポイントHLYおよびシャドウポイントSDYの値、ヒストグラムの分布に基づき、階調補正カーブを算出（設定）する。
【００４０】
［データ補正］
同一被写体の原画像データでも、画素数、解像度、サイズ、記録フォーマット、符号化方法、画像の入力機器の特性などによって色立体は異なる。画素数が多く、非圧縮（またはロスレス(lossless)圧縮された）画像データAは、画素数が少なく、JPEGなどのロッシー(lossy)圧縮された画像データBよりも、被写体の正確な情報をもつ（データの信頼性が高い）と考えられる。信頼性の高い画像データAには、上述した判定閾値をそのまま採用し、算出（または取得）したデータもそのまま採用できるが、信頼性の低い画像データBは、画像データAと同様に処理すると、判定を誤ったり、不適切な補正になる場合がある。そこで、本実施形態では、上記の判定閾値や閾範囲（二つの閾値の間）を含む判定条件を、データの信頼性に応じて補正したり、算出したデータをデータの信頼性に応じて補正する。以下では、データの信頼性に応じた補正を「データ補正」と呼ぶ。
【００４１】
原画像データの信頼性に応じて判定条件または算出データを補正することは、パーソナルコンピュータやPDA (Personal Data Assistant)などで動作するアプリケーションソフトや、パーソナルコンピュータやPDAに接続して動作する機器のドライバソフト、組込機器で動作するソフトウェアの何れの環境においても有効である。
【００４２】
また、上記では画像データの色空間をYCrCbとしたが、色空間はこれに限るものではなく、例えばL*a*b*色空間やRGB色空間でもよい。
【００４３】
［組込機器の例］
組込機器の場合、多くはパーソナルコンピュータなどのコンピュータ機器に比べてCPUやメモリの性能が劣り、ソフトウェアによる処理の速度は遅くなる。そこで、処理速度を向上するため、データ処理をハードウェア化する手法がよく用いられる。しかし、本実施形態の原画像データの信頼性に応じた補正に関する信頼性の評価や信頼性に応じた補正処理に、ハードウェアが柔軟に対応することは困難である。
【００４４】
以下では、組込機器の一例として、ダイレクトプリントプロトコル(DPP)を備えるフォト画質のインクジェットプリンタを例に、本実施形態の原画像データの信頼性に応じた補正を組み込む実施例を説明する。なお、原画像データの信頼性に応じた補正を行うソフトウェア処理を高速に行わせるために、ディジタルシグナルプロセッサ(DSP)を用いる。
【００４５】
● 概観
図10は実施例のプリンタ1000の概観斜視図である。
【００４６】
プリンタ1000は、ホストコンピュータから画像データを受信して印刷する、通常のプリンタ機能と、メモリカードなどの記憶媒体から画像データを読み取って印刷したり、ディジタルカメラなどの画像入力装置から画像データを受信して印刷するダイレクトプリント機能を備える。
【００４７】
図10において、プリンタ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バスコネクタである。
【００５３】
● 記録ヘッド
図11はプリンタ1000の記録ヘッドの構成例を示す概観斜視図である。
【００５４】
本実施例における記録ヘッドカートリッジ1200は、図15に示すように、インクを貯留する複数のインクタンク1300と、インクタンク1300から供給されるインクを記録情報に応じてノズルから吐出させる記録ヘッド1301とを有する。記録ヘッド1301は、図示しないキャリッジに対して着脱可能に搭載される、所謂カートリッジ方式を採る。記録に際して、記録ヘッドカートリッジ1200はキャリッジ軸に沿って往復走査され、記録紙上にカラー画像が記録される。図14に示す記録ヘッドカートリッジ1301は、写真調の高画質なカラー記録を可能とするため、インクタンクとして、例えば、ブラック(K)、ライトシアン(LC)、ライトマゼンタ(LM)、シアン(C)、マゼンタ(M)およびイエロー(Y)の各色独立にインクタンク1300が用意され、各インクタンク1300は記録ヘッド1301に対して着脱自在である。
【００５５】
なお、以下では、上述した六色のインクを使用する例を説明するが、これに限定されるものではなく、例えばブラック、シアン、マゼンタおよびイエローの四色のインクを使用して記録を行うプリンタでもよい。その場合、四色独立のインクタンクが、それぞれ記録ヘッド1301に対して着脱自在であっても構わない。
【００５６】
● 操作パネル
図12は操作パネル1010の概観図である。
【００５７】
図12において、液晶表示部1006には、その左右に表示された項目に関するデータを設定するための下記のメニュー項目などが表示される。これらの項目は、カーソルキー2001を用いて選択あるいは指定可能である。
開始／指定：印刷する画像データ（写真）の範囲を示すための先頭写真番号、指定コマ番号
終了：印刷する画像データ（写真）の範囲を示すための最後の写真番号
部数：印刷部数
用紙種類：印刷に使用する記録紙（記録シート）の種類
レイアウト：一枚の記録紙に印刷する画像（写真）数の設定
品位：印刷品位の指定
日付印刷：撮影日を印刷するか否かの指定
画像補正：画像（写真）を補正して印刷するか否かの指定
記録紙枚数：印刷に必要な記録紙数の表示
【００５８】
モードキー2002を押するごとに、印刷の種類（インデックス印刷、全コマ印刷、1コマ印刷など）が切り替わり、印刷の種類の切り替わりに応じて、対応するLED2003が点灯する。メンテナンスキー2004は、記録ヘッド1301のクリーニングなど、プリンタ1000にメンテナンスを行わせるためのキーである。印刷開始キー2005は、印刷の開始を指示する、あるいは、メンテナンスの設定を確立する際に押される。印刷中止キー2006は、印刷の中止またはメンテナンスの中止を指示する際に押される。
【００５９】
● 制御構成
図13はプリンタ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を介して行われる。
【００６３】
図14は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によって相互に接続されている。
【００６５】
● 画像処理
図15はプリンタ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は適している。
【００７１】
このように、制御部3000にDSP 3002を用いたプリンタ1000は、本実施形態の画像データの信頼性に応じたデータ補正を行うソフトウェア処理を高速に実行することができる。
【００７２】
以下では、データの信頼性に応じた補正を、データの信頼性を評価する要素ごとに説明する。
【００７３】
［画素数を信頼性の評価要素にする場合］
次に、ステップS2で色情報を取得する際に参照する画像データの画素数に応じた信頼性に基づき、判定条件（定数値）または算出データ（算出値）を補正する例を説明する。
【００７４】
例えば、複数画素の平均値を一画素にしたような、原画像より少ない画素数の画像は、平均化された複数画素中の平均値より大きいおよび小さい画素値の情報が失われているから、その画像データから取得した色情報の信頼性は相対的に低いと考えられる。そこで、原画像より少ない画素数の画像データ（以下「画像データC」と呼ぶ）の信頼性を高めるために、次に説明するように、判定条件または取得データを補正する。
【００７５】
● 色情報を補正する場合
画像データCから取得されるヒストグラムを補正する方法を説明する。
【００７６】
ヒストグラム内の1以上の度数をもつ値、例えば図16(a)に示す度数200の値100に注目する。そして、値100の前後の少なくとも一つの値に、少なくとも1以上の度数を図16(b)に示すように分散する。分散方法は、例えば注目する値が平均値になるように、言い換えれば値100を中央値とする正規（ガウス）分布になるように度数を分散する。また、注目する値の度数のある所定の割合を、注目する値の前後に分散してもよい。これにより、画素値が平均化された画像の失われたデータをある程度復元することができる。
【００７７】
ヒストグラムからハイライトポイントおよびシャドウポイントを判定するための閾値を算出する際、画素数によっては閾値が1未満になる場合があるが、この場合は閾値を1に設定してもよい。
【００７８】
画像データCは平均化された画像であるから、画像データCから取得されるハイライトポイントの輝度値は、原画像データから取得されるハイライトポイントの輝度値より小さい可能性が高い。そこで、画像データCから取得されたハイライトポイントの輝度値HLYを、例えばHLY+1するなど、より大きい輝度値に補正する。同様に、シャドウポイントの輝度値は、原画像データから取得されるシャドウポイントの輝度値より大きい可能性が高い。そこで、画像データCから取得されたシャドーポイントの輝度値SDYを、SDY-1するなど、より小さい輝度値に補正する。
【００７９】
また、ハイライトポイントおよびシャドウポイントの色差成分について、輝度値同様の補正を行ってもよいし、彩度および色相についても同様の補正を行ってもよい。
【００８０】
画像データCは平均化された画像であるから、その周波数成分は原画像データに比べて低周波よりになる可能性があり、分散値や標準偏差も原画像データに比べて小さくなる可能性がある。そこで、分散値や標準偏差を、+1するなど、より大きな値に補正する。
【００８１】
● 判定条件を補正する場合
次に、判定条件を補正する方法を説明する。
【００８２】
輝度方向の伸縮を行うか否かを判定をする際に利用する、輝度のヒストグラムの合計度数、ハイライトポイントまたはシャドウポイントの度数に対する閾値Thを、例えば式(1)に示すように、画像データCの画素数Ncと原画像データの画素数Noとの比によって補正する。
Th' = Nc/No・Th    …(1)
【００８３】
また、画像データCから取得されるハイライトポイントの輝度値HLYおよびシャドウポイントの輝度値SDYは、原画像データから取得されるハイライトポイントおよびシャドウポイントに比べて、HLYは小さく、SDYは大きくなる可能性が高い。そこで、輝度方向の伸縮を行うか否かを判定をする際の、HLY-SDYの閾値Thを、例えば式(2)のように補正する。
ThHL' = ThHL - 1
ThSD' = ThHL + 1    …(2)
【００８４】
色かぶり補正を行うか否かの判定用、彩度方向の伸縮を行うか否かの判定用、および、階調補正を行うか否かの判定用の閾値も、輝度方向に伸縮するか否かの判定用の閾値と同様に補正する。
【００８５】
また、ノイズ除去を行うか否かの判定に関しては、画像データCから取得される分散および標準偏差が、原画像データから取得される場合に比べて、小さい可能性が高いので、ノイズ除去を行うか否かの判定用の閾値は、-1するなど、より小さな値に補正する。
【００８６】
● 補正パラメータを補正する場合
輝度方向の伸縮、色かぶり補正に用いるパラメータを算出する際、画像データcのハイライトポイントHLsrcをより高輝度より（例えば+1）に、シャドウポイントSDsrcを低輝度より（例えば-1）に補正することで、画像データCに対する補正パラメータを算出する。
【００８７】
彩度アップ率は、低解像度用の値を使うなどにより補正する。
【００８８】
画像データCの画素値は平均化により既に平滑化されているため、ノイズ除去に用いるフィルタサイズは原画像データのノイズ除去に使用するサイズよりも小さくする。さらに、注目画素の重み係数を、原画像データをフィルタ処理する場合よりも大きくする。
【００８９】
階調補正カーブを算出する際、画像データcのハイライトポイントHLsrcをより高輝度より（例えば+1）に、シャドウポイントSDsrcを低輝度より（例えば-1）に補正し、ヒストグラムの分布を図16(b)に示すように分散して、画像データCに対する階調補正カーブを算出する。
【００９０】
以上説明した、画像データの画素数に応じた信頼性に基づく色情報の補正、判定条件の補正、および、補正パラメータの補正の何れかを行うことで、画像補正の精度を向上させることができる。
【００９１】
なお、画像データCは原画像を平均化した低解像度画像であるが、原画像から画素を間引いて画素数を少なくする場合もある。間引きにより得られた低画素数画像の場合は、判定条件を低解像度画像の画素数と原画像の画素数との比によって補正すればよい。
【００９２】
また、そもそも原画像の画素数が少ない場合は、所定画素数に対応する判定条件を、原画像の画素数と所定画素数との比によって補正すればよい。
【００９３】
また、高解像度画像とは呼べない、低解像度の原画像（またはサイズが小さい原画像）は、ヒストグラムの度数の分散やノイズフィルタの補正を行う。
【００９４】
データの信頼性は、色情報を取得する画像データの画素数、解像度およびサイズの何れかによって評価する。画素数、解像度またはサイズ情報は、大概、画像データに付随するヘッダ情報から取得可能である。
【００９５】
仮に、ヘッダ情報に画素数、解像度およびサイズ情報のすべてがなくても、縦横の各画素数を示す情報があれば、それらを積算して画素数が得られる。さらに、縦横のサイズを示す情報があれば、画素数をサイズで除算して縦横の各解像度が得られる。さらに、縦横の各画素数および各解像度を示す情報があれば、画素数を解像度で除算して縦横の各サイズが得られる。また、画素数は画像データの画素をカウントすることでも得られる。
【００９６】
［記録フォーマットを信頼性の評価要素にする場合］
次に、ステップS2で色情報を取得する際に参照する画像データの記録フォーマットに応じた信頼性に基づき、判定条件（定数値）または算出データ（算出値）を補正する例を説明する。
【００９７】
例えば、ロッシー圧縮の可能性が高い、JPEGのような記録フォーマットよりも、TIFF (Tagged-Image File Format)のような記録フォーマットの方が、その画像データの信頼性は相対的に高くなる。同じ原画像をTIFF画像およびJPEG画像を用意して、JPEG画像を伸長すると、その各画素の輝度値は、対応するTIFF画像の画素の輝度値よりも小さくなる場合がある。そのため、JPEG画像の輝度ヒストグラムの分布は、TIFF画像に比べて低輝度よりにシフトしている場合が多い。従って、輝度に関する判定条件を低輝度より（例えば-1）に補正する。
【００９８】
または、取得されるハイライトポイントおよびシャドウポイントが相対的に低くなる場合が多いため、補正パラメータを算出する際に使用する、画像データのハイライトポイントHLsrcおよびシャドウポイントSDsrcを高輝度より（例えば+1）に補正したり、色立体の移動先のハイライトポイントHLdstおよびSDdstを高輝度より（例えば+1）に補正することで、色立体を高輝度よりに移動（補正）する。
【００９９】
なお、記録フォーマットとしてJPEGとTIFFを対象に説明したが、その他の記録フォーマットでも同様の補正が可能である。
【０１００】
データの信頼性は、色情報を取得する画像データのファイル名拡張子、ヘッダ情報、または、ファイルサイズと画素数との比などから評価すればよい。
【０１０１】
［符号化方法を信頼性の評価要素にする場合］
同じ画像データを図17(a)に示す量子化テーブルを用いて量子化した画像、例えばJPEG画像Aと、図17(b)に示す量子化テーブルを用いて量子化した画像、例えばJPEG画像Bとを作成し、逆量子化した後、原画像データとの相関を調べると、JPEG画像Aから得られる画像データの方が高い相関を示す。つまり、JPEG画像Bは相対的に信頼性が低く、JPEG画像Aに比べて輝度値が低くなる場合が多い。そのため、JPEG画像Bの輝度ヒストグラムの分布は、JPEG画像Aに比べて低輝度よりにシフトしている場合が多い。従って、輝度に関する判定条件を低輝度より（例えば-1）に補正する。
【０１０２】
または、取得されるハイライトポイントおよびシャドウポイントが相対的に低くなる場合が多いため、補正パラメータを算出する際に使用する、画像データのハイライトポイントHLsrcおよびシャドウポイントSDsrcを高輝度より（例えば+1）に補正したり、色立体の移動先のハイライトポイントHLdstおよびSDdstを高輝度より（例えば+1）に補正することで、色立体を高輝度よりに移動（補正）する。
【０１０３】
上記では、量子化テーブルの違いのみを説明したが、符号化方法はこれに限るものではなく、テーブル、式などの符号化の違いによる信頼性に応じてデータを補正すればよい。
【０１０４】
データの信頼性は、データに付随する情報、例えば量子化テーブル、符号化テーブルまたは式情報などから評価する。
【０１０５】
［入力機器の特性を信頼性の評価要素にする場合］
画像を入力する機器（例えばディジタルカメラ、ビデオカメラまたはスキャナ）の画像入力デバイス（例えば撮像センサ）の特性、撮像方法、画像データの記録方法などにより、画像データの信頼性は異なる。
【０１０６】
図18は一升が100×100画素を表し、全体で1600×1600画素を表している。この1600×1600画素すべてを用いて撮影し、800×800画素に解像度変換した画像と、1600×1600画素のうちの800×800画素を用いて撮影した画像とでは、その信頼性が異なる。後者の場合、撮像素子の特性の影響を受け易く信頼性が劣る。
【０１０７】
そこで、後者の場合、フィルタサイズのアップや、注目画素以外のフィルタの重み係数を高くする補正により平滑性を向上する。また、ノイズを含み易い撮像センサ特性の場合も、平滑性を向上するように、フィルタサイズや重み係数を補正する。また、撮像センサの画素数に応じた補正を行ってもよい。
【０１０８】
データの信頼性は、画像データの入力機器情報（例えば、機器のメーカ、機種名、撮像センサのメーカ、センサ名、センサ特性、撮像方法、フィルタ種類、データ変換方法、または、画像データの記録方法）から評価する。
【０１０９】
［信頼性に応じた画像補正］
図19は信頼性に応じた画像補正処理を示すフローチャートである。なお、この処理は、プリンタなどの画像処理装置のCPUやDSPによって実行されるものである。
【０１１０】
ステップS101で画像補正スタートが命令されると、ステップS102で原画像または低解像度化された画像の信頼性を上述した方法で評価する。続いて、ステップS103で原画像または低解像度化された画像の特徴量（色情報）を取得する。次に、ステップS104で、信頼性の評価結果および取得された特徴量に基づき、上述した補正の何れかを行い、補正パラメータを取得する。そして、ステップS105で、補正パラメータを用いた補正処理を原画像に施す。
【０１１１】
なお、図1に示したように、取得した特徴量（色立体に関する情報）に基づき、画像補正を行うか否かの判定、および、どの画像補正を行うかを、ステップS103とS104の間で判定してもよい。
【０１１２】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１１３】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１５】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【０１１６】
【発明の効果】
以上説明したように、本発明によれば、参照用の画像データの信頼性を考慮した補正パラメータにより原画像の色を補正することができる。
【図面の簡単な説明】
【図１】画像補正処理の一例を示すフローチャート、
【図２】色立体を説明する図、
【図３】原画像の色情報の取得を説明するフローチャート、
【図４】画像補正の判定、および、補正パラメータの算出を説明するフローチャート、
【図５】輝度方向の伸縮処理を説明する図、
【図６】色かぶり補正を説明する図、
【図７】彩度方向の伸縮処理を説明する図、
【図８】ノイズ除去を説明する図、
【図９】階調補正を説明する図、
【図１０】プリンタの概観斜視図、
【図１１】記録ヘッドの構成例を示す概観斜視図、
【図１２】操作パネルの概観図、
【図１３】プリンタの制御にかかる主要部の構成を示すブロック図、
【図１４】  ASICの構成例を示すブロック図、
【図１５】プリンタインタフェイスおよび画像処理にかかる機能構成を示すブロック図、
【図１６】色情報の補正を説明する図、
【図１７】符号化方法の信頼性評価を説明する図、
【図１８】入力機器の特性の信頼性評価を説明する図、
【図１９】信頼性に応じた画像補正処理を示すフローチャートである。
【図１】
0004027117.tif 000002
【図２】
0004027117.tif 000003
【図３】
0004027117.tif 000004
【図４】
0004027117.tif 000005
【図５】
0004027117.tif 000006
【図６】
0004027117.tif 000007
【図７】
0004027117.tif 000008
【図８】
0004027117.tif 000009
【図９】
0004027117.tif 000010
【図１０】
0004027117.tif 000011
【図１１】
0004027117.tif 000012
【図１２】
0004027117.tif 000013
【図１３】
0004027117.tif 000014
【図１４】
0004027117.tif 000015
【図１５】
0004027117.tif 000016
【図１６】
0004027117.tif 000017
【図１７】
0004027117.tif 000018
【図１８】
0004027117.tif 000019
【図１９】
0004027117.tif 000020