(57)【特許請求の範囲】
【請求項１】
印刷用の制御データを元に生成された中間データに基づいて画像データを生成する印刷用画像生成手段と、
前記印刷用の制御データに基づいて、前記印刷用画像生成手段により生成された画像データを構成する画素毎に白色でかつフォント又はベクトルデータの属性を有する白オブジェクト領域の画素であるか否かを判定し、その判定結果を示す白領域データを生成する白領域データ生成手段と、
前記画像データを構成する各画素に対して注目画素を順次設定し、この注目画素に隣接する周辺画素に前記白オブジェクト領域の画素が存在するか否かを前記白領域データに基づいて判定する第１判定手段と、
前記第１判定手段により前記周辺画素に前記白オブジェクト領域の画素が存在すると判定された場合に、前記注目画素の画素値が所定値以上であるか否かを判定する第２判定手段と、
前記第２判定手段により前記注目画素の画素値が所定値以上であると判定された場合に、前記白オブジェクト領域の画素値を元に当該注目画素の補正後の画素値を決定し、当該決定された画素値に基づいて当該注目画素の画素値を補正する補正手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記白オブジェクト領域に隣接する画素のうち細線構造を構成する画素を検出する細線構造検出手段と、
前記細線構造検出手段により前記細線構造を構成する画素が検出された場合、前記補正手段による当該画素に対する補正の程度を制御する補正制御手段と、
を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記白オブジェクト領域に隣接する画素のうち細線構造を構成する画素を検出する細線構造検出手段と、
前記細線構造検出手段により前記細線構造を構成する画素が検出された場合、前記補正手段による当該画素に対する補正を無効とする補正制御手段と、
を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
印刷用の制御データを元に生成された中間データに基づいて画像データを生成する印刷用画像生成工程と、
前記印刷用の制御データに基づいて、前記印刷用画像生成工程により生成された画像データを構成する画素毎に白色でかつフォント又はベクトルデータの属性を有する白オブジェクト領域の画素であるか否かを判定し、その判定結果を示す白領域データを生成する白領域データ生成工程と、
前記画像データを構成する各画素に対して注目画素を順次設定し、この注目画素に隣接する周辺画素に前記白オブジェクト領域の画素が存在するか否かを前記白領域データに基づいて判定する第１判定工程と、
前記第１判定工程により前記周辺画素に前記白オブジェクト領域の画素が存在すると判定された場合に、前記注目画素の画素値が所定値以上であるか否かを判定する第２判定工程と、
前記第２判定工程により前記注目画素の画素値が所定値以上であると判定された場合に、前記白オブジェクト領域の画素値を元に当該注目画素の補正後の画素値を決定し、当該決定された画素値に基づいて当該注目画素の画素値を補正する補正工程と、
を含むことを特徴とする画像処理方法。
【請求項５】
前記白オブジェクト領域に隣接する画素のうち細線構造を構成する画素を検出する細線構造検出工程と、
前記細線構造検出工程において前記細線構造を構成する画素が検出された場合、前記補正工程における当該画素に対する補正の程度を制御する補正制御工程と、
をさらに含むことを特徴とする請求項４に記載の画像処理方法。
【請求項６】
前記白オブジェクト領域に隣接する画素のうち細線構造を構成する画素を検出する細線構造検出工程と、
前記細線構造検出工程において前記細線構造を構成する画素が検出された場合、前記補正工程における当該画素に対する補正を無効とする補正制御工程と、
をさらに含むことを特徴とする請求項４に記載の画像処理方法。
【請求項７】
コンピュータを、
印刷用の制御データを元に生成された中間データに基づいて画像データを生成する印刷用画像生成手段、
前記印刷用の制御データに基づいて、前記印刷用画像生成手段により生成された画像データを構成する画素毎に白色でかつフォント又はベクトルデータの属性を有する白オブジェクト領域の画素であるか否かを判定し、その判定結果を示す白領域データを生成する白領域データ生成手段、
前記画像データを構成する各画素に対して注目画素を順次設定し、この注目画素に隣接する周辺画素に前記白オブジェクト領域の画素が存在するか否かを前記白領域データに基づいて判定する第１判定手段、
前記第１判定手段により前記周辺画素に前記白オブジェクト領域の画素が存在すると判定された場合に、前記注目画素の画素値が所定値以上であるか否かを判定する第２判定手段、
前記第２判定手段により前記注目画素の画素値が所定値以上であると判定された場合に、前記白オブジェクト領域の画素値を元に当該注目画素の補正後の画素値を決定し、当該決定された画素値に基づいて当該注目画素の画素値を補正する補正手段、
として機能させるためのプログラム。
【請求項８】
コンピュータをさらに、
前記白オブジェクト領域に隣接する画素のうち細線構造を構成する画素を検出する細線構造検出手段、
前記細線構造検出手段により前記細線構造を構成する画素が検出された場合、前記補正手段による当該画素に対する補正の程度を制御する補正制御手段、
として機能させるための請求項７に記載のプログラム。
【請求項９】
コンピュータをさらに、
前記白オブジェクト領域に隣接する画素のうち細線構造を構成する画素を検出する細線構造検出手段、
前記細線構造検出手段により前記細線構造を構成する画素が検出された場合、前記補正手段による当該画素に対する補正を無効とする補正制御手段、
として機能させるための請求項７に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字や線画のオブジェクトを含む画像データに対し、画像処理を施す画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
白抜き文字とは、最大濃度又はそれに近い高濃度の背景の中にある、最小濃度又はそれに近い低濃度の文字のことであるが、プリンタ等においてこの白抜き文字を出力すると、文字の線幅が細くなったり、黒くつぶれてしまうことがある。これは、プリンタの出力特性上、１画素分の孤立点を最大画素値で出力すると、その孤立点が１画素分の領域を超えるほど大きくなってしまうことに起因するものである。この現象はドットゲインと呼ばれ、何れの印刷プロセスを採用しても多かれ少なかれ現れるものである。
【０００３】
改善策としては、印刷プロセスそのものを改良する方法の他、画像処理により出力制御を行う方法が考えられる。例えば、孤立点の出力時に本来出力すべき領域を超えて出力される分を予想し、その分だけ白抜き文字の線幅を太くするような画像処理を予め施しておくことにより、ドットゲインを防止することができる。
【０００４】
図１０に、その処理例を示す。
図１０（ａ）は「Ｔ」の白抜き文字の画像を示す図である。「Ｔ」の文字領域は最小値に近い画素値を有しており、その背景領域は最大値に近い画素値を有している。この画像を特に処理を施さずに出力すると、背景領域において図１０（ｂ）に示すようなドットゲインが生じることとなる。ドットゲインを防ぐためには、白抜き文字に隣接する背景領域の画素の画素値を小さくする画像処理を行う。画素値を小さくすることにより、その背景領域の画素については１画素分の所定領域内にドットが収まることとなるため、白抜き文字領域の方へドットが進入することを防ぎ、白抜き文字の劣化（つぶれ）を抑えることができる。
【０００５】
上述のように、白抜き文字のつぶれを防止する処理を施すには、白抜き文字周辺の画素値を操作する必要がある。そのため、画像中の白抜き文字の正確な位置、具体的には白抜き文字の輪郭を特定することが課題となる。
【０００６】
従来からパターンマッチングを用いた方法が開示されている（例えば、特許文献１参照）。これは、画像データに対し、白（低濃度）と黒（高濃度）の画素が所定の順に並ぶパターンを適用してパターンマッチングを行い、１画素分の白の画素が黒の画素により囲まれた、文字つぶれが起こりそうな細線部分を検出する方法である。この方法によれば、検出した黒の画素について画素値を変更することにより、白抜き文字の文字つぶれを防ぐことができる。
【０００７】
また、出力対象画像に含まれる文字又は線の濃度、太さ、色、サイズ、フォント種類等の属性に関する条件を印刷コマンドから判定し、判定された条件に応じて文字又は線の太さや濃度等の、印刷コマンドの属性情報を変更する方法も開示されている（例えば、特許文献２参照）。
【特許文献１】特開２０００−１３８８３２号公報
【特許文献２】特開平１１−１２９５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記特許文献１に記載の方法では、パターン自体が小さいため小さな文字にしか対応できない。また、１つの文字の全体ではなく、パターンに一致した部分にのみ文字つぶれを防止する処理を施すこととなるが、明朝体等に代表されるように縦と横で文字の線幅が異なるような文字種の場合、パターンを用いて局所的に処理を行うと文字全体の形状のバランスが崩れ、文字の再現性が低下するという問題がある。さらに、この方法によれば文字に対しては効果的に画質劣化を防止することができるが、画像中に文字以外の自然画等が含まれている場合、当該自然画にもパターンが適用され、逆に自然画について画質劣化を招くこととなる。
【０００９】
また、特許文献２に記載の方法では、文字の属性に応じて文字の太さや濃度を変更するが、画像データに対して処理するわけではなく、その前段でフォントの属性情報を変更してしまうものである。そのため、文字の一部について文字つぶれが起こりそうな場合でも、文字全体について変更がされてしまい、ユーザの意図に沿わない結果となることが考えられる。
また、日本語のフォント文字の場合、文字化けを防ぐため、ワープロ用のアプリケーション上でアウトライン化されて画像データに変換されることが多い。このとき、アウトライン化によってフォント属性が失われるため、これらのアウトライン化された文字はこの方法では処理できない場合がある。
【００１０】
本発明の課題は、文字や線画のオブジェクトの画質劣化を抑制することである。
【課題を解決するための手段】
【００１１】
請求項１に記載の発明は、画像処理装置において、
印刷用の制御データを元に生成された中間データに基づいて画像データを生成する印刷用画像生成手段と、
前記印刷用の制御データに基づいて、前記印刷用画像生成手段により生成された画像データを構成する画素毎に白色でかつフォント又はベクトルデータの属性を有する白オブジェクト領域の画素であるか否かを判定し、その判定結果を示す白領域データを生成する白領域データ生成手段と、
前記画像データを構成する各画素に対して注目画素を順次設定し、この注目画素に隣接する周辺画素に前記白オブジェクト領域の画素が存在するか否かを前記白領域データに基づいて判定する第１判定手段と、
前記第１判定手段により前記周辺画素に前記白オブジェクト領域の画素が存在すると判定された場合に、前記注目画素の画素値が所定値以上であるか否かを判定する第２判定手段と、
前記第２判定手段により前記注目画素の画素値が所定値以上であると判定された場合に、前記白オブジェクト領域の画素値を元に当該注目画素の補正後の画素値を決定し、当該決定された画素値に基づいて当該注目画素の画素値を補正する補正手段と、
を備えることを特徴とする。
【００１５】
請求項２に記載の発明は、請求項１に記載の画像処理装置において、
前記白オブジェクト領域に隣接する画素のうち細線構造を構成する画素を検出する細線構造検出手段と、
前記細線構造検出手段により前記細線構造を構成する画素が検出された場合、前記補正手段による当該画素に対する補正の程度を制御する補正制御手段と、
を備えることを特徴とする。
【００１６】
請求項３に記載の発明は、請求項１に記載の画像処理装置において、
前記白オブジェクト領域に隣接する画素のうち細線構造を構成する画素を検出する細線構造検出手段と、
前記細線構造検出手段により前記細線構造を構成する画素が検出された場合、前記補正手段による当該画素に対する補正を無効とする補正制御手段と、
を備えることを特徴とする。
【００１７】
請求項４に記載の発明は、画像処理方法において、
印刷用の制御データを元に生成された中間データに基づいて画像データを生成する印刷用画像生成工程と、
前記印刷用の制御データに基づいて、前記印刷用画像生成工程により生成された画像データを構成する画素毎に白色でかつフォント又はベクトルデータの属性を有する白オブジェクト領域の画素であるか否かを判定し、その判定結果を示す白領域データを生成する白領域データ生成工程と、
前記画像データを構成する各画素に対して注目画素を順次設定し、この注目画素に隣接する周辺画素に前記白オブジェクト領域の画素が存在するか否かを前記白領域データに基づいて判定する第１判定工程と、
前記第１判定工程により前記周辺画素に前記白オブジェクト領域の画素が存在すると判定された場合に、前記注目画素の画素値が所定値以上であるか否かを判定する第２判定工程と、
前記第２判定工程により前記注目画素の画素値が所定値以上であると判定された場合に、前記白オブジェクト領域の画素値を元に当該注目画素の補正後の画素値を決定し、当該決定された画素値に基づいて当該注目画素の画素値を補正する補正工程と、
を含むことを特徴とする。
【００２１】
請求項５に記載の発明は、請求項４に記載の画像処理方法において、
前記白オブジェクト領域に隣接する画素のうち細線構造を構成する画素を検出する細線構造検出工程と、
前記細線構造検出工程において前記細線構造を構成する画素が検出された場合、前記補正工程における当該画素に対する補正の程度を制御する補正制御工程と、
をさらに含むことを特徴とする。
【００２２】
請求項６に記載の発明は、請求項５又は６に記載の画像処理方法において、
前記白オブジェクト領域に隣接する画素のうち細線構造を構成する画素を検出する細線構造検出工程と、
前記細線構造検出工程において前記細線構造を構成する画素が検出された場合、前記補
正工程における当該画素に対する補正を無効とする補正制御工程と、
をさらに含むことを特徴とする。
【００２３】
請求項７に記載の発明は、
コンピュータを、
印刷用の制御データを元に生成された中間データに基づいて画像データを生成する印刷用画像生成手段、
前記印刷用の制御データに基づいて、前記印刷用画像生成手段により生成された画像データを構成する画素毎に白色でかつフォント又はベクトルデータの属性を有する白オブジェクト領域の画素であるか否かを判定し、その判定結果を示す白領域データを生成する白領域データ生成手段、
前記画像データを構成する各画素に対して注目画素を順次設定し、この注目画素に隣接する周辺画素に前記白オブジェクト領域の画素が存在するか否かを前記白領域データに基づいて判定する第１判定手段、
前記第１判定手段により前記周辺画素に前記白オブジェクト領域の画素が存在すると判定された場合に、前記注目画素の画素値が所定値以上であるか否かを判定する第２判定手段、
前記第２判定手段により前記注目画素の画素値が所定値以上であると判定された場合に、前記白オブジェクト領域の画素値を元に当該注目画素の補正後の画素値を決定し、当該決定された画素値に基づいて当該注目画素の画素値を補正する補正手段、
として機能させるためのプログラムであることを特徴とする。
【００２７】
請求項８に記載の発明は、請求項７に記載のプログラムにおいて、
コンピュータをさらに、
前記白オブジェクト領域に隣接する画素のうち細線構造を構成する画素を検出する細線構造検出手段、
前記細線構造検出手段により前記細線構造を構成する画素が検出された場合、前記補正手段による当該画素に対する補正の程度を制御する補正制御手段、
として機能させるためのプログラムであることを特徴とする。
【００２８】
請求項９に記載の発明は、請求項７に記載のプログラムにおいて、
コンピュータをさらに、
前記白オブジェクト領域に隣接する画素のうち細線構造を構成する画素を検出する細線構造検出手段、
前記細線構造検出手段により前記細線構造を構成する画素が検出された場合、前記補正手段による当該画素に対する補正を無効とする補正制御手段、
として機能させるためのプログラムであることを特徴とする。
【発明の効果】
【００２９】
請求項１、４、７に記載の発明によれば、白オブジェクトに隣接する画素の画素値を低減する補正を行うことができる。白オブジェクトに隣接する画素の画素値を下げることによりドットゲインが生じることを防ぐことができ、白オブジェクトにおける画質劣化を抑制することができる。また、制御データに基づいて白オブジェクト領域を判定するので、オブジェクト単位で白オブジェクト領域を判定することが可能となる。さらに、属性に応じて補正を行うので、補正が不要な属性の白オブジェクト領域を補正の対象から除外することができ、補正による画質劣化を回避することができる。
【００３０】
また、オブジェクト単位で白オブジェクト領域に隣接する画素を検出し、補正を行うことができる。パターン等を用いて白オブジェクト領域に隣接する画素を検出する場合、局所的な画素の検出となって適切に画素を特定できない場合がある。これに対し、オブジェクトという補正が必要なものの全体を判定することにより、現実に補正を施すべき画素を正確に検出することが可能となる。その結果、オブジェクト全体を考慮した補正を行うことができる。
【００３１】
また、所定値以上の画素値を有し、ドットゲインが生じる可能性の高い画素のみ補正の対象とすることができる。
【００３２】
また、白オブジェクト領域の画素値との関係を考慮して注目画素の補正値を決定することができる。例えば、白オブジェクト領域の画素値が大きければ注目画素の補正量が小さくなるように、逆に白オブジェクト領域の画素値が小さければ注目画素の補正量が大きくなるように補正値を決定することにより、もともとの白オブジェクトとその周辺のコントラストを再現することが可能となる。
【００３３】
請求項２、５、８に記載の発明によれば、細線構造を構成する画素については補正の程度を小さくする制御を行うことができる。すなわち、細線構造を構成する画素の画素値が大きく低減されることにより、白オブジェクト領域とその周辺とのコントラストが低下することを防いで、その細線構造の再現性が失われることを回避することができる。
【００３４】
請求項３、６、９に記載の発明によれば、細線構造を構成する画素については補正の対象外とすることができる。すなわち、細線構造を構成する画素の画素値が低減されることにより、白オブジェクト領域とその周辺とのコントラストが低下することを防いで、その細線構造の再現性が失われることを回避することができる。
【発明を実施するための最良の形態】
【００３５】
まず、構成を説明する。
図１は、印刷システムを示す図である。
図１に示す印刷システム１００は、ＰＣ（Personal Computer）１０により作成された出力対象データをＭＦＰ（Multi Function Printer）２０により印刷出力するものである。
【００３６】
ＰＣ１０は、ワープロや描画、写真画の編集等に係るアプリケーションソフトウェアを備え、テキストデータや画像データ等の様々なデータの作成が可能である。
また、ＰＣ１０はプリンタドライバソフトウェアを備え、このソフトウェアによる処理により、上記アプリケーションで作成された出力対象データを、印刷用の制御データであるＰＤＬ（Page Description Language）形式のデータ（以下、ＰＤＬデータという）に変換してＭＦＰ２０に送信する。
【００３７】
ＭＦＰ２０は、本発明に係る画像処理装置１、プリンタ１３等を備え、ＰＣ１０から入力されたＰＤＬデータに基づき、画像処理装置１において画素毎の画像データを生成し、当該画像データに基づいてプリンタ１３により印刷出力を行うものである。
【００３８】
図２に、画像処理装置１の内部構成を示す。
画像処理装置１は、図２に示すように、コントローラ２、ラインバッファ３、モノクロ変換部４、白オブジェクト判定部５、注目画素判定部６、細線構造検出部７、補正制御部８、白オブジェクト補正部９、γ補正部１１、ディザ処理部１２等から構成されている。
【００３９】
コントローラ２は、Ｉ／Ｆ２１、ＣＰＵ（Central Processing Unit）２２、ＲＡＭ（Random Access Memory）２３、ＲＯＭ（Read Only Memory）２４、レンダラー２５、ページメモリ２６等から構成されている。
【００４０】
Ｉ／Ｆ２１は、図示しないＭＦＰ２０内のホストコンピュータと画像処理装置１とのデータ転送を制御するインターフェイスである。
【００４１】
ＣＰＵ２２は、ＲＯＭ２４から各種制御プログラムを読み出してＲＡＭ２３に展開し、当該プログラムに従って各種演算を行う、或いは各部２１、２３〜２６の動作を集中制御する。
【００４２】
ＣＰＵ２２は、Ｉ／Ｆ２１を介してホストコンピュータからＰＤＬデータが入力されるとこれをＲＡＭ２３に記憶させる。そして、当該ＰＤＬデータに含まれるＰＤＬコマンドを解析し、描画すべき画像単位（これをオブジェクトという）毎に分類してディスプレイリストを作成する。ディスプレイリストは描画すべきオブジェクトの位置座標、領域データ若しくは色データのアドレス情報等が記述された中間データである。
【００４３】
図３に、一のオブジェクトについて作成されたディスプレイリスト例を示す。
図３に示すように、ディスプレイリストには、描画座標、描画サイズ、描画論理、領域データの先頭アドレス、色データの先頭アドレス等が記述されている。描画座標とは１ページの印刷範囲内におけるオブジェクトの印刷位置を示す座標値である。描画サイズはオブジェクトの縦横の大きさを示す数値である。また、描画論理は、描画の際の背景との演算（塗りつぶしやクリッピング）を行うためのパラメータである。領域データの先頭アドレスは領域データが格納されているメモリアドレスを示す数値であり、同様に色データの先頭アドレスは色データが格納されているメモリアドレスを示す数値である。領域データはオブジェクトの属性（フォント、ビットマップ、グラフィック）を示すデータであり、色データはオブジェクトの色を示すデータである。ここではプリンタ１３で用いられる色材Ｃ（シアン）、Ｍ（マジェンタ）、Ｙ（イエロー）、Ｋ（黒）を示す色データが格納されているものとする。
【００４４】
ＣＰＵ２２は、このようなデータ構造を持つディスプレイリストを１ページ分の全てのオブジェクトについて作成し、それらを連結してＲＡＭ２３に記憶させる。
【００４５】
ＲＡＭ２３は、ＣＰＵ２２により使用されるワークメモリである。
ＲＡＭ２３は、ＣＰＵ２２によって書き込まれたＰＤＬデータや、ディスプレイリスト等を一時的に記憶する。
【００４６】
ＲＯＭ２４は、ＣＰＵ２２によって実行される各種制御プログラムの他、プログラムの実行に必要なパラメータ、データ等を記憶している。
【００４７】
レンダラー２５は、ＤＭＡ（Direct Memory Access）機能によってＲＡＭ２３からディスプレイリストを読み出し、これに基づいて各色Ｃ、Ｍ、Ｙ、Ｋの画素毎の画像データの他、属性データ、白領域データを生成し、ページメモリ２６に記憶させる。
【００４８】
以下、具体的に説明する。
レンダラー２５は、オブジェクト毎等の所定単位毎にＲＡＭ２３からディスプレイリストを読み出し、このディスプレイリストに基づいてＣ、Ｍ、Ｙ、Ｋそれぞれの色の画像画像データを生成し、ページメモリ２６に準備された画像データ用の記憶領域に書き込む。画像データは、描画するオブジェクトについて画素を割り当て、この割り当てた画素毎に画素値を設定することにより生成する。画素の位置はディスプレイリストの描画座標と描画サイズ、領域データによって決定し、画素値は色データと描画論理を用いて決定する。
【００４９】
同時に、レンダラー２５はディスプレイリスト中の領域データにより示されたそのオブジェクトの属性を元に属性データTAGを画素単位で生成し、ページメモリ２６に準備された属性データ用の記憶領域に記憶させる。属性データTAGはそのオブジェクトの属性が、フォント、ベクトルデータ、ビットマップの何れであるかによって、文字であることを示すTEXT（TAG=0）、線画であることを示すGRAPHICS（TAG=1）、写真画であることを示すIMAGE（TAG=2）にそれぞれ設定される。
【００５０】
また、レンダラー２５は色データからオブジェクトの色が白色（Ｙ＝Ｍ＝Ｃ＝Ｋ＝０）であり、領域データからオブジェクトの属性がフォント又はベクトルデータであるか否かを判定し、その判定結果を示す白領域データを生成する。以下、白色で、かつフォント又はベクトルデータの属性を有するオブジェクトを白オブジェクトといい、この白オブジェクトに属する画素の領域を白オブジェクト領域という。白領域データは画素毎に白オブジェクト領域の画素であるであるか否かを示すデータOLBが設定されたものであり、レンダラー２５は、白オブジェクト領域であればOLB=1、そうでなければOLB=0に設定してページメモリ２６に書き込む。
なお、上記レンダラー２５による処理は、ソフトウェア処理により実現することとしてもよい。
【００５１】
ページメモリ２６は、Ｃ、Ｍ、Ｙ、Ｋの画像データ、属性データTAG、白領域データOLBをそれぞれ記憶するための記憶領域を有しており、これら記憶領域にレンダラー２５によって生成された画像データ、属性データTAG、白領域データOLBをそれぞれ保持する。ページメモリ２６は、ＣＰＵ２２の制御に従ってこれらデータをラインバッファ３に出力する。
【００５２】
ラインバッファ３は、画像データ、属性データTAG及び白領域データOLBを数ライン分保持する。
以下の処理では、画像データに対し注目画素を設定して画像データ上を走査し、画像処理を施す。注目画素について画像処理を行うにあたってはその周辺画素を参照する。ここでは、図４に示すように注目画素をXS0、その周辺画素をXS1〜XS8とする。
ラインバッファ３は、この注目画素XS0、周辺画素XS1〜XS8の画素値Sn(n=0〜8。以下、同じ)をモノクロ変換部４、白オブジェクト判定部５、補正制御部８に出力する。また、白オブジェクト判定部５に注目画素及び周辺画素XSnの白領域データOLBを出力する。
【００５３】
モノクロ変換部４は、Ｃ、Ｍ、Ｙ、Ｋ毎のカラー画像データをモノクロ画像データに変換する。これは、後段の処理でカラー情報を必要としないため、モノクロ値を用いて処理の効率化を図るものである。モノクロ変換の方法としては、下記式（１）のように各画素XSnについて色毎の画素値Sn[ch]（ch=C、M、Y、Kであり、各色を示す）の平均をモノクロ変換値として得ることとしてもよいし、重み付け平均をとることとしてもよい。また、色毎の画素値Sn[ch]のうち、最大値をとることとしてもよい。
Sn=(Sn[c]+Sn[m]+Sn[y]+Sn[k]/4) ・・・（１）
【００５４】
モノクロ変換の結果、注目画素XS0について得られた画素値S0が注目画素判定部６へ、注目画素XS0、周辺画素XS1〜XS8の各画素値S0〜S8が細線構造検出部７へ出力される。
【００５５】
白オブジェクト判定部５は、白領域データOLBに基づいて注目画素XS0の周辺に白オブジェクト領域の輪郭（以下、白輪郭といい、この白輪郭に属する画素を白輪郭画素という）が存在するか否かを判定し、その判定結果を示す判定データPWを生成する。白オブジェクト判定部５は、注目画素XS0、周辺画素XS1〜XS8の白領域データOLBを参照し、注目画素XS0のOLBがOLB=0であって、かつ注目画素XS0の周辺にOLB=1である画素が１つ以上ある場合に、注目画素XS0に隣接して白輪郭が存在すると判定する。
【００５６】
周辺に白輪郭が存在すると判定された場合、白オブジェクト判定部５は注目画素XS0についての判定データPWをPW=1に設定し、白輪郭が存在しないと判定された場合はPW=0に設定する。この判定データPWは補正制御部８に出力される。
【００５７】
また、白オブジェクト判定部５は、周辺画素XS1〜XS8のうち、OLB=1に設定されている画素の色毎の画素値Sn[ch]を参照し、これをWH[ch]とする。このWH[ch]は後段の白オブジェクト補正処理において補正パラメータとして用いられるものである。OLB=1の画素が複数ある場合にはそれらの平均値若しくはそれらのうちの最大値又は最小値をWH[ch]とする。周辺画素XS1〜XS8においてOLB=1である画素が存在しない場合はWH[ch]=0とする。本実施形態では、白色（Ｃ＝Ｍ＝Ｙ＝Ｋ＝０）となる白オブジェクトについてOLB=1と設定しているので、WH[ch]=0となる。このWH[ch]は白オブジェクト補正部９に出力される。
【００５８】
注目画素判定部６は、注目画素XS0の画素値S0が白オブジェクト補正処理を施す必要がある程度に大きいか否かを判定し、その判定結果を示す判定データPCを出力する。注目画素XS0の画素値S0が小さければ、印刷時の濃度は低濃度となりドットゲインは生じないため、白オブジェクト補正処理は行う必要がない。すなわち、注目画素判定部６では注目画素XS0の画素値がドットゲインが生じるほど充分に高濃度となるか否かを判定するものである。
【００５９】
注目画素判定部６は、注目画素XS0の画素値S0と閾値GAPとを比較し、S0＞GAPであれば当該注目画素XS0について白オブジェクト補正処理を施す必要があるほど画素値が大きいと判断してPC=1に設定する。S0≦GAPであれば白オブジェクト補正処理は不必要としてPC=0に設定する。閾値GAPは白オブジェクト補正処理が必要な最下限の画素値がプリンタ１３の出力特性に基づいて予め求められて設定されているものである。判定データPCは補正制御部８に出力される。
【００６０】
細線構造検出部７は、細線構造検出用のテンプレートを用いて注目画素XS0が細線構造を構成するか否かを判定し、その判定結果を示す判定データTLを生成する。細線構造とは、１画素又は略同一の画素値を有する数画素からなる、微細構造部分をいう。
後段の白オブジェクト補正部９では、白オブジェクトに隣接する周辺画素の画素値を低下させることによって白オブジェクトのつぶれを防止する。ところが、これを一律に適用すると細線構造が再現されない場合も考えられる。
【００６１】
例えば、図５（ａ）に示すような白オブジェクトを描画する場合、白オブジェクト補正処理の対象は図５（ｂ）に示すようにその周辺画素となる。しかし、この白オブジェクトは周辺画素と細線構造（図５（ｂ）中、丸で囲んだ部分）を構成しており、この細線構造を構成する周辺画素に対しても白オブジェクト補正処理が施されると、白オブジェクトとその周辺画素のコントラストが低下し、細線構造の再現性が失われる。
【００６２】
細線構造が失われないようにするためには、細線構造を構成する周辺画素については白オブジェクト補正処理の対象外とするか、或いは白オブジェクト補正処理を施すが、その補正の程度を小さくする必要がある。そこで、白オブジェクト補正処理に先立ち、細線構造検出部７において白オブジェクトにおける細線構造を検出するものである。
【００６３】
以下、細線構造の検出方法について説明する。
細線構造検出部７は、まず２つの閾値VH,VL（VL＜VH）を用いて注目画素及び周辺画素XSnを３つのカテゴリS、W、DCに分類する。分類は、注目画素及び周辺画素XSn のモノクロ変換後の画素値Snと閾値VH、VLを比較し、VH≦SnであればカテゴリS、Sn≦VLであればカテゴリW、VL＜Sn＜VHであればカテゴリDCと分類する。
【００６４】
閾値VH,VLはカテゴリの分類用に予め準備された閾値である。白オブジェクトを構成する低画素値の画素はカテゴリＷに分類されるようにVLを設定する。また、白オブジェクト補正処理を施すべき、白輪郭画素に隣接する高濃度の周辺画素はカテゴリSに分類されるようVHの値を設定する。
【００６５】
図６に、細線構造検出に用いられるテンプレート例を示す。
図６に示すテンプレートは高濃度の画素から構成される１画素幅の細線構造を検出するように設計されたものであり、図６に示すように中心に位置する注目画素XS0とその周辺画素XS1〜XS8とのカテゴリの関係が予め定められている。細線構造検出部７はこのようなテンプレートを、注目画素XS0とテンプレートの中心の位置（図６に示す位置番号４の位置）が一致するように注目画素及び周辺画素XS0〜XS8にマッチングさせる。
【００６６】
図５（ｃ）は、図５（ａ）に示す白オブジェクトを含む画像にテンプレートをマッチングさせた様子を示す図である。この白オブジェクトを構成する画素は低画素値であるため、カテゴリはWに分類されるはずである。また、白オブジェクトの周辺画素は高濃度であるためカテゴリSに分類されるはずである。よって、テンプレートに定められているようにカテゴリSの注目画素XS0に対し、カテゴリWの周辺画素が所定の位置関係となる場合には、その注目画素及び周辺画素XS0〜XS8は細線構造を構成しているはずである。なお、テンプレートにおいてカテゴリDLは、カテゴリDLが設定された位置に対応する画素は何れのカテゴリであってもよいことを示す。
【００６７】
よって、細線構造検出部７は、テンプレートとのマッチングの結果、何れか１つでも一致した場合にはその注目画素XS0についてTL=1と設定し、何れのテンプレートとも一致しない場合にはTL=0と設定して補正制御部８に出力する。
【００６８】
補正制御部８は、各判定データPW、PC、TLに基づき、注目画素XS0について白オブジェクト補正処理を施すか否かを判定し、その補正処理を制御するパラメータαを決定する。パラメータαは、白オブジェクト補正処理を施さず、無効とする場合にはα＝0に設定され、白オブジェクト補正処理を施す場合にはその補正の程度を示す２つの値v1、v2（0＜v2＜v1）に設定される。
【００６９】
補正制御部８は、判定データPW又はPCを参照し、その何れかが0である、すなわち、注目画素XS0の周辺に白オブジェクト領域が存在しないか、或いは注目画素XS0の画素値S0が所定値GAP以上ではない場合には、白オブジェクト補正処理を施さないと判断し、当該処理を無効とするため、α=0に設定する。
【００７０】
一方、判定データPW、PCの何れも1である場合、補正制御部８は注目画素XS0の周辺に白オブジェクト領域が存在し、かつ注目画素XS0の画素値S0が所定値GAP以上であると判断し、白オブジェクト補正処理を施すと判定する。この場合、さらにTLを参照し、TL=0である場合、通常の補正パラメータ値であるα=v1に設定する。逆に、TL=1である場合、注目画素XS0は細線構造を構成しているため、補正の程度が通常より小さくなるようα=v2に設定する。
補正制御部８は、設定したパラメータαを白オブジェクト補正部９に出力する。
【００７１】
白オブジェクト補正部９は、パラメータα、WH[ch]を用いて注目画素XS0の画素値S0について白オブジェクト補正処理を施し、その補正値WE[ch]を出力するものである。
白オブジェクト補正部９は、下記式（２）によって注目画素XS0の色毎の画素値S0[ch]について補正値WE[ch]を求める。
WE[ch]=S0[ch]-(S0[ch]-WH[ch])×α・・・（２）
【００７２】
すなわち、白オブジェクト補正処理を施さない場合にはα=0であるため、WE[ch]=S0[ch]となり、注目画素XS0の元の画素値S0が出力されることなる。一方、α=v1又はv2のとき、元の画素値S0からそのv1又はv2により重み付けされた(S0[ch]-WH[ch])分だけ差し引かれた値がWE[ch]となるので、白オブジェクト補正処理により元の画素値S0が引き下げられることとなる。また、v1＞v2であることから、細線構造部分はその引き下げられる程度が小さくなる。
【００７３】
図５（ａ）に示す白オブジェクトに対して白オブジェクト補正処理を施した後に印刷出力した結果を、図７に示す。
図７に示すように、補正によって白オブジェクトの周辺画素の画素値が小さくなるよう変更された結果、白オブジェクトの周辺が低濃度となっている。また、白オブジェクト周辺の細線構造部分においては補正が行われているが、細線構造ではない他の周辺画素に比べてその補正の程度が弱く、元の画素値よりは低濃度であるが他の周辺画素よりは高濃度となっている。
【００７４】
以上のようにしてある１画素について注目画素XS0が設定されて補正が行われると、注目画素XS0が一画素づつシフトされて同様に上述した処理がなされ、画像データを構成する全画素について補正が行われる。
この一連の処理の流れをフローチャートにすると、図８に示すようなフローチャートとなる。
図８に示すように、まずラインバッファ３により注目画素及び周辺画素XSnの画像データSnが取得されると（ステップＴ１）、モノクロ変換部４によりモノクロ変換がなされる（ステップＴ２）。
【００７５】
白オブジェクト判定部５では、周辺画素XS1〜XS8に白オブジェクト領域が存在するか否かが判定される（ステップＴ３）。また、注目画素判定部６では注目画素XS0は十分高濃度となるか否かが判定される（ステップＴ４）。そして、周辺画素XS1〜XS8に白オブジェクト領域が存在しない、或いは注目画素XS0は十分高濃度ではないと判定された場合には（ステップＴ３；Ｎ、ステップＴ４；Ｎ）、補正制御部８において白オブジェクト補正処理は施さないと判定され、補正を制御するパラメータαがα=0に設定される（ステップＴ６）。
【００７６】
一方、周辺画素XS1〜XS8に白オブジェクト領域が存在し、かつ注目画素XS0は十分高濃度であると判定された場合（ステップＴ３；Ｙ、ステップＴ４；Ｙ）、補正制御部８では注目画素XS0について白オブジェクト補正処理を施すと判定される。細線構造検出部７では注目画素XS0は細線構造を構成する画素であるか否かが判定されるので（ステップＴ５）、この判定結果TLを受けて補正制御部８では細線構造を構成しないと判定された場合（ステップＴ５；Ｎ）には、パラメータαが通常のパラメータ値v1に設定される（ステップＴ７）。一方、細線構造を構成する画素であると判定された場合（ステップＴ５；Ｙ）、補正制御部８ではパラメータαが通常のパラメータ値v1より小さいv2に設定される（ステップＴ８）。
【００７７】
αが決定されると、白オブジェクト補正部９では、上記式（２）にパラメータα、注目画素XS0の画素値S0[ch]、白オブジェクト判定部５で得られたWH[ch]が入力されて、補正値WE[ch]が算出される（ステップＴ９）。なお、α=0の場合、WE[ch]は元の画素値S0が出力され、補正が施されないのは上述した通りである。
このようにして、色毎に求められたWE[ch]は、各色に対応するγ補正部１１に出力される。
なお、この一連の処理をソフトウェアにより行うこととし、これをプログラムとして組み込むことも可能である。
【００７８】
γ補正部１１では、γ補正用に準備されたルックアップテーブル（ＬＵＴ）に基づいて入力された画像データWE[ch]についてγ補正処理を施す。γ補正後の画像データWE[ch]はそれぞれの色に対応するディザ処理部１２に出力される。
【００７９】
ディザ処理部１２は、中間調を再現するため、入力された画像データWE[ch]にディザ処理を施す。ディザ処理後の画像データWE[ch]はプリンタ１３に出力される。
【００８０】
或いはここで、白オブジェクト補正処理が施された画素についてのみディザ処理を行わずに連続調のまま出力するようにしてもよい。具体的には、補正処理が施されたか否かの結果を画素毎にフラグとして記憶しておき、フラグが立っている画素は連続調のまま出力し、フラグが立っていない画素はディザ処理をかけるように処理を行う。こうすることによって輪郭部分におけるジャギー発生を抑制することが期待できる。
【００８１】
プリンタ１３は、Ｃ、Ｍ、Ｙ、Ｋのカラー出力が可能なカラープリンタである。プリンタ１３は、色毎にレーザドライバ、露光部、感光ドラム、現像部を備える他、中間ベルト、給紙部等を備えて構成されている。プリンタ１３では、画像処理装置１から入力される色毎の画像データWE[ch]に基づいて各色のレーザドライバにより露光部を駆動してそれぞれの感光ドラム上に静電潜像が描画される。そして、現像部により感光ドラム上にトナーが付着される。各色の感光ドラム上に形成されたトナー像は中間ベルト上に順次重ねて転写され、当該中間ベルト上に重ねられた各色のトナー像は一括して印刷用紙上に転写される。
【００８２】
以上のように、本実施形態によれば、ディスプレイリストに基づいて白オブジェクト領域を判定し、この白オブジェクト領域に隣接する周辺画素のうち、所定値以上の画素値を有する周辺画素についてはその画素値を低減させる補正を施す。これにより、白オブジェクトに隣接する周辺画素においてドットゲインが生じることを防止することができ、白オブジェクトにおける画質劣化を抑制することが可能となる。
【００８３】
また、中間データであるディスプレイリストを用いて白オブジェクト領域を判定するため、オブジェクト単位で白オブジェクト領域を判定することができる。局所的に白オブジェクト領域の周辺画素を検出するのではなく、オブジェクトという画質劣化を防止する必要があるものの全体を判定することにより、現実に補正を施すべきその周辺画素を正確に検出することができる。その結果、白オブジェクト全体を考慮した補正を行うことができる。
【００８４】
例えば、白オブジェクトの背景にグラデーションを描画する場合、濃度を変えた四角形のオブジェクトを複数隣接させてグラデーションを形成する場合がある。このような場合においては、色の濃度差から白オブジェクトの輪郭を特定することによりその周辺画素を検出する手法を採用すると、グラデーションを構成するオブジェクトの境界で輪郭を検出することもあり、白オブジェクトのみの輪郭を正確に検出することができない。しかし、本実施形態では中間データの段階で白オブジェクト領域を判定しているため、他のオブジェクトの存在に左右されることなく、正確に白オブジェクト領域の周辺画素を検出することができる。
【００８５】
また、属性データTAGを参照することにより、文字、線画の属性を持つ白オブジェクトのみを白オブジェクト補正処理の処理対象として選択することができる。これにより、写真画のように白オブジェクト補正処理に適さない属性のオブジェクトを容易に補正の対象外とすることができ、当該補正処理を行うことによる写真画等の画質劣化を防止することができる。
【００８６】
また、周辺画素についての補正値は、白オブジェクト領域に属する周辺画素の画素値WH[ch]を基に決定する。よって、白オブジェクト領域の画素値との関係で周辺画素の補正値を決定することができ、白オブジェクト領域とその周辺画素のコントラストを制御することが可能となる。
【００８７】
また、白オブジェクト領域に隣接する周辺画素により構成される細線構造を検出し、当該周辺画素については補正の程度、つまり画素値を低減する程度を小さくするよう制御する。これにより、細線構造について低濃度となる結果、白オブジェクトのディテール部分の再現性が失われることを防止することができる。
【００８８】
なお、上述した説明は本発明を適用した好適な一例であり、これに限定されない。
例えば、細線構造検出部７による細線構造の検出処理をレンダラー２５において実現することとしてもよい。
また、中間データであるディスプレイリストに基づいて白オブジェクト領域の有無を判定し、白領域データOLBを設定することとしたが、ＰＤＬデータに基づいて白オブジェクト領域を判定することとしてもよい。同様に、属性データTAGについても、ＰＤＬデータに基づいて生成することとしてもよい。
【００８９】
また、上記説明では、Ｙ＝Ｍ＝Ｃ＝Ｋ＝０と、最小濃度値となるオブジェクトについて白領域データOLB=1と設定し、これを白オブジェクトとして扱っていたが、最小濃度値に近い低濃度のオブジェクトも白オブジェクトとして上記白オブジェクト補正処理を行うことが可能である。レンダラー２５ではＣ、Ｍ、Ｙ、Ｋの平均値又は最小値が所定値以下となるオブジェクトに属する画素についてOLB=1とする設定にすればよい。
【００９０】
白オブジェクトとして低濃度のオブジェクトも含むこととした場合、白オブジェクト判定部５において算出されるWH[ch]は正の値を持つ場合があり、白オブジェクト補正処理において算出されるWE[ch]に影響することとなる。すなわち、上記式（２）においてその低濃度オブジェクトが有する画素値WH[ch]分だけ、周辺画素の元の画素値S0が引き下げられる補正量（S0-WH[ch]）が小さくなる。つまり、白オブジェクトの濃度が大きければ周辺画素の補正量は小さくなり、白オブジェクトの濃度が小さければ周辺画素の補正量が大きくなる。これにより、白オブジェクトとその周辺とのコントラストの安定化を図ることができ、原画像の再現性が高くなる。
【００９１】
また、補正制御部８では注目画素XS0について細線構造がある場合、α=v2に設定し、白オブジェクト補正処理の対象としてその補正の程度を小さくするよう制御していたが、α=0として白オブジェクト補正処理の対象外としてもよい。この場合、ドットゲインが発生することが考えられるが、細線構造の再現性は高くなる。
【００９２】
また、上述した説明では白オブジェクト判定部５において注目画素XS0が白オブジェクト領域に属さず、かつその周辺画素XS1〜XS8に白オブジェクト領域が属するか否かを判定することにより、注目画素XS0が白輪郭画素に隣接する周辺画素であるか否かを判断していたが、これに限らず、レンダラー２５において予め白輪郭画素を検出しておくこととしてもよい。
【００９３】
この場合、レンダラー２５はレンダリングの段階においてページメモリ上に全ての白オブジェクトの輪郭のみを描画し、描画した結果のデータを白輪郭データRLBとして、白領域データOLBの代わりに出力する。白輪郭データRLBは、白輪郭が存在する画素ではRLB=1であり、白輪郭が存在しない画素はRLB=0となる。白輪郭データRLBは白オブジェクト判定部５に出力される。白オブジェクト判定部５では、注目画素XS0の周辺画素XS1〜XS8の白輪郭データRLBを参照することにより、注目画素XS0の周辺に白オブジェクト領域が存在するか否かを容易に判断することが出来る。
【００９４】
また、白輪郭データRLBを用いた場合、以下のような効果が得られると考えられる。
例えば、図９に示すように複数のオブジェクトの印刷位置が重なっている場合を考える。図９（ａ）は、上から白オブジェクトＡ、黒色のオブジェクトＢ、白オブジェクトＣ、赤色のオブジェクトＤの順で、各オブジェクトが一部重なり合っているケースを示す図である。
【００９５】
このケースでは、1番目の白オブジェクトＡは画像として可視化されるが、３番目の白オブジェクトＣは２番目の黒オブジェクトＢによって完全に上書きされてしまい、画像としては可視化されない。一方、白領域データOLBは図９（ｂ）の上段に示すように、１番目の白オブジェクトＡだけでなく、３番目の白オブジェクトＣの領域についても示すこととなる。しかしながら白オブジェクトＡとＣが重なった部分における、白オブジェクトＡ、Ｃそれぞれの輪郭が分からなくなってしまっている。つまり、白領域データOLBを参照しただけでは最上層の白オブジェクトＡの白輪郭を部分的にしか捉えることができない。その結果、白オブジェクトＡ、Ｃが重なった部分における、Ａの輪郭に隣接する黒色の画素については、OLB=1であるためにPW=0となって白オブジェクト補正処理が無効とされてしまうこととなる。
【００９６】
しかしながら、白領域データOLBの代わりに白輪郭データRLBを参照することによってこの問題を改善することが出来る。図９（ｂ）の下段はこのケースにおける白輪郭データRLBを示したものである。白輪郭データRLBは輪郭だけのデータであるため、それらが重なっても上書きされて輪郭が分からなくなってしまう部分はわずかで済むことになる。結果として、白オブジェクトＡ、Ｃが重なった部分においてもほぼ白オブジェクト補正処理が施されることになる。このように、白輪郭データRLBを併用したほうがより正確に当該処理がなされる場合がある。
【図面の簡単な説明】
【００９７】
【図１】印刷システムのシステム構成を示す図である。
【図２】図１の画像処理装置の内部構成を示す図である。
【図３】ディスプレイリスト例を示す図である。
【図４】注目画素及び周辺画素を示す図である。
【図５】（ａ）は白オブジェクトの例を示す図である。（ｂ）は（ａ）に示す白オブジェクトの周辺画素を示す図である。（ｃ）は（ａ）に示す白オブジェクトに細線構造検出用のテンプレートを適用した様子を示す図である。
【図６】細線構造検出用のテンプレート例を示す図である。
【図７】白オブジェクト補正処理を施した結果を示す図である。
【図８】画像処理装置において白オブジェクトに対し白オブジェクト補正処理を施すまでの一連の処理の流れを示すフローチャートである。
【図９】（ａ）は複数オブジェクトを重ねて出力する例を示す図である。（ｂ）は（ａ）に示す白オブジェクトについての白領域データと白輪郭データを示す概念図である。
【図１０】従来の画像処理方法により生じる画質劣化について説明する図である。
【符号の説明】
【００９８】
１０  ＰＣ
２０  ＭＦＰ
１  画像処理装置
２  コントローラ
２２  ＣＰＵ
２３  ＲＡＭ
２５  レンダラー
２６  ページメモリ
３  ラインバッファ
４  モノクロ変換部
５  白オブジェクト判定部
６  注目画素判定部
７  細線構造検出部
８  補正制御部
９  白オブジェクト補正部
１３  プリンタ
【図１】
0004640257.tif 000002
【図２】
0004640257.tif 000003
【図３】
0004640257.tif 000004
【図４】
0004640257.tif 000005
【図５】
0004640257.tif 000006
【図６】
0004640257.tif 000007
【図７】
0004640257.tif 000008
【図８】
0004640257.tif 000009
【図９】
0004640257.tif 000010
【図１０】
0004640257.tif 000011