(57)【特許請求の範囲】
【請求項１】
画像処理装置であって、
印刷データから第１の中間データを生成し、前記印刷データから文字のエッジ部を抽出した文字エッジデータを第２の中間データとして生成する生成手段と、
前記第１の中間データに対して描画処理を行い、前記描画処理後のデータに対して第１の線数のディザマトリクスを用いて疑似中間調化処理を行い第１の疑似中間調画像を生成し、前記第２の中間データに対して描画処理を行い、前記描画処理後のデータに対して前記第１の線数よりも高い第２の線数のディザマトリクスを用いて疑似中間調化処理を行い第２の疑似中間調画像を生成する処理手段と、
前記第１の疑似中間調画像と前記第２の疑似中間調画像との論理和演算により得られる疑似中間調画像を出力する出力手段と、
を有し、
前記生成手段は、所定濃度未満の濃度の文字に対しては該文字の外側エッジの形状を前記文字エッジデータとして抽出する
ことを特徴とする画像処理装置。
【請求項２】
画像処理装置であって、
印刷データから第１の中間データを生成し、前記印刷データから文字のエッジ部を抽出した文字エッジデータを第２の中間データとして生成する生成手段と、
前記第１の中間データに対して描画処理を行い、前記描画処理後のデータに対して第１の線数のディザマトリクスを用いて疑似中間調化処理を行い第１の疑似中間調画像を生成し、前記第２の中間データに対して描画処理を行い、前記描画処理後のデータに対して前記第１の線数よりも高い第２の線数のディザマトリクスを用いて疑似中間調化処理を行い第２の疑似中間調画像を生成する処理手段と、
前記第１の疑似中間調画像と前記第２の疑似中間調画像との論理和演算により得られる疑似中間調画像を出力する出力手段と、
を有し、
前記生成手段は、所定濃度以上の濃度の文字に対しては該文字の内側エッジの形状を前記文字エッジデータとして抽出する
ことを特徴とする画像処理装置。
【請求項３】
画像処理装置であって、
印刷データに含まれる文字を抽出し、該抽出した文字のサイズが所定のサイズより小さいか否かを判定する判定手段と、
前記印刷データから第１の中間データを生成し、前記印刷データから文字のエッジ部を抽出した文字エッジデータを第２の中間データとして生成する生成手段と、
前記第１の中間データに対して描画処理を行い、前記描画処理後のデータに対して第１の線数のディザマトリクスを用いて疑似中間調化処理を行い第１の疑似中間調画像を生成し、前記第２の中間データに対して描画処理を行い、前記描画処理後のデータに対して前記第１の線数よりも高い第２の線数のディザマトリクスを用いて疑似中間調化処理を行い第２の疑似中間調画像を生成する処理手段と、
前記第１の疑似中間調画像と前記第２の疑似中間調画像との論理和演算により得られる疑似中間調画像を出力する出力手段と、
を有し、
前記判定手段による判定の結果、前記抽出した文字のサイズが前記所定のサイズよりも大きい場合、前記生成手段による生成と前記処理手段による処理と前記出力手段による出力を行い、
前記判定手段による判定の結果、前記抽出した文字のサイズが前記所定のサイズよりも小さい場合、前記第２の中間データの生成を行わずに、前記第１の中間データを描画処理したデータに対して、前記第１の線数よりも高い線数のディザマトリクスを用いて疑似中間調化処理を行う
ことを特徴とする画像処理装置。
【請求項４】
前記印刷データはＰＤＬデータであることを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項５】
前記第１の中間データと前記第２の中間データはディスプレイリストであることを特徴とする請求項１乃至３の何れか１項に記載の画像処理装置。
【請求項６】
前記文字エッジデータが白文字を示す場合に、前記文字の背景が白地であるか否かを判定する手段を更に有し、
前記背景が白地であると判定された場合、前記処理手段は処理を行わないことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記判定する手段は、文字の背景をピクセル単位ではなく領域ごとに白地か否かを判定することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
画像処理装置の処理方法であって、
生成手段が、印刷データから第１の中間データを生成し、前記印刷データから文字のエッジ部を抽出した文字エッジデータを第２の中間データとして生成する生成工程と、
処理手段が、前記第１の中間データに対して描画処理を行い、前記描画処理後のデータに対して第１の線数のディザマトリクスを用いて疑似中間調化処理を行い第１の疑似中間調画像を生成し、前記第２の中間データに対して描画処理を行い、前記描画処理後のデータに対して前記第１の線数よりも高い第２の線数のディザマトリクスを用いて疑似中間調化処理を行い第２の疑似中間調画像を生成する処理工程と、
出力手段が、前記第１の疑似中間調画像と前記第２の疑似中間調画像との論理和演算により得られる疑似中間調画像を出力する出力工程と、
を有し、
前記生成工程では、所定濃度未満の濃度の文字に対しては該文字の外側エッジの形状を前記文字エッジデータとして抽出する
ことを特徴とする画像処理装置の処理方法。
【請求項９】
画像処理装置の処理方法であって、
生成手段が、印刷データから第１の中間データを生成し、前記印刷データから文字のエッジ部を抽出した文字エッジデータを第２の中間データとして生成する生成工程と、
処理手段が、前記第１の中間データに対して描画処理を行い、前記描画処理後のデータに対して第１の線数のディザマトリクスを用いて疑似中間調化処理を行い第１の疑似中間調画像を生成し、前記第２の中間データに対して描画処理を行い、前記描画処理後のデータに対して前記第１の線数よりも高い第２の線数のディザマトリクスを用いて疑似中間調化処理を行い第２の疑似中間調画像を生成する処理工程と、
出力手段が、前記第１の疑似中間調画像と前記第２の疑似中間調画像との論理和演算により得られる疑似中間調画像を出力する出力工程と、
を有し、
前記生成工程では、所定濃度以上の濃度の文字に対しては該文字の内側エッジの形状を前記文字エッジデータとして抽出する
ことを特徴とする画像処理装置の処理方法。
【請求項１０】
画像処理装置の処理方法であって、
判定手段が、印刷データに含まれる文字を抽出し、該抽出した文字のサイズが所定のサイズより小さいか否かを判定する判定工程と、
生成手段が、前記印刷データから第１の中間データを生成し、前記印刷データから文字のエッジ部を抽出した文字エッジデータを第２の中間データとして生成する生成工程と、
処理手段が、前記第１の中間データに対して描画処理を行い、前記描画処理後のデータに対して第１の線数のディザマトリクスを用いて疑似中間調化処理を行い第１の疑似中間調画像を生成し、前記第２の中間データに対して描画処理を行い、前記描画処理後のデータに対して前記第１の線数よりも高い第２の線数のディザマトリクスを用いて疑似中間調化処理を行い第２の疑似中間調画像を生成する処理工程と、
出力手段が、前記第１の疑似中間調画像と前記第２の疑似中間調画像との論理和演算により得られる疑似中間調画像を出力する出力工程と、
を有し、
前記判定工程による判定の結果、前記抽出した文字のサイズが前記所定のサイズよりも大きい場合、前記生成工程による生成と前記処理工程による処理と前記出力工程による出力を行い、
前記判定工程による判定の結果、前記抽出した文字のサイズが前記所定のサイズよりも小さい場合、前記第２の中間データの生成を行わずに、前記第１の中間データを描画処理したデータに対して、前記第１の線数よりも高い線数のディザマトリクスを用いて疑似中間調化処理を行う
ことを特徴とする画像処理装置の処理方法。
【請求項１１】
コンピュータを請求項１乃至７の何れか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びその処理方法に関するものである。
【背景技術】
【０００２】
ＰＤＬデータやドキュメントデータから疑似中間調の画像データを生成して印刷を行う画像形成装置において、疑似中間調化した際に生じるエッジ部のジャギーを滑らかに補正する技術がある。補正の技術として、疑似中間調の画像データと、画像データに含まれる各ピクセルの属性を記述した属性データとで補正すべきエッジ部分を検出して補正処理を行うものがある（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２５２１９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、文献１では、画像データと属性データとを作成する必要があり、疑似中間調化前の画像データと属性データを格納するメモリが必要となる。
【０００５】
本発明は、属性データを生成することなく、省メモリの構成で高速に、疑似中間調化によるジャギーを抑制する装置及び方法を提供する。
【課題を解決するための手段】
【０００６】
本発明は、画像処理装置であって、
印刷データから第１の中間データを生成し、前記印刷データから文字のエッジ部を抽出した文字エッジデータを第２の中間データとして生成する生成手段と、
前記第１の中間データに対して描画処理を行い、前記描画処理後のデータに対して第１の線数のディザマトリクスを用いて疑似中間調化処理を行い第１の疑似中間調画像を生成し、前記第２の中間データに対して描画処理を行い、前記描画処理後のデータに対して前記第１の線数よりも高い第２の線数のディザマトリクスを用いて疑似中間調化処理を行い第２の疑似中間調画像を生成する処理手段と、
前記第１の疑似中間調画像と前記第２の疑似中間調画像との論理和演算により得られる疑似中間調画像を出力する出力手段と、
を有し、
前記生成手段は、所定濃度未満の濃度の文字に対しては該文字の外側エッジの形状を前記文字エッジデータとして抽出する
ことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、文字データを描画する背景の濃度が濃く、且つ文字データの濃度が薄い場合（例えば白文字）であっても、疑似中間調画像のエッジ部に生じるジャギーの補正を適正に行うことができ、印刷結果の高画質化が可能となる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態における画像形成装置の構成を示す図。
【図２】典型的な画像処理部の構成を示す図。
【図３】本実施形態における画像処理部の構成を示す図。
【図４】本実施形態におけるエッジ補正結果の一例を示す図。
【図５】エッジ補正用の中間データ生成処理を示すフローチャート。
【図６】ＰＤＬデータ及び中間データの一例を示す図。
【図７】ＰＤＬデータの濃度指定値が補正された中間データを示す図。
【図８】文字形状の内側又は外側の形状を抽出する例を示す図。
【図９】本実施形態における描画処理を示すフローチャート。
【図１０】文字の濃度が濃い場合の中間データを画像データメモリに上書きする図。
【図１１】文字の濃度が薄い場合の中間データを画像データメモリに上書きする図。
【図１２】濃度指定値の補正処理を示すフローチャート。
【図１３】第２の実施形態における課題を説明するための図。
【図１４】ＰＤＬデータの解像度を超高解像度に置き換える例を示す図。
【図１５】本実施形態におけるエッジ補正判定処理を示すフローチャート。
【図１６】第３の実施形態における課題を説明するための図。
【図１７】中間データの白地判定を説明するための図。
【図１８】白地判定処理を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら発明を実施するための形態について詳細に説明する。本実施形態では、印刷データ（ＰＤＬデータやドキュメント内に含まれる文字データ）から疑似中間調の画像データを生成して印刷を行う画像形成装置を例に説明する。
【００１０】
また、本実施形態では疑似中間調化した際の画像エッジ部のジャギーが最も顕著な文字データに注目し、属性データを生成せずにエッジを滑らかに補正する技術は以下の構成を備えるものとする。
【００１１】
即ち、印刷データからエッジ部を抽出した文字エッジデータを内部的に生成する。その文字データを任意の線数を持つディザマトリックスを用いて疑似中間調化して描画する。その後、文字データを疑似中間調化した際に利用したディザマトリックスより高い線数のディザマトリックスを用いて文字エッジデータ部分を疑似中間調化して上書き又はマージ（ＯＲ書き）して描画する。その結果、描画した文字のエッジ部分が縁取られ、エッジ部のジャギーを抑制することができる。
【００１２】
［第１の実施形態］
第１の実施形態における画像形成装置の構成を、図１を用いて説明する。画像形成装置１００には、本装置全体を制御するコントローラ１０１が搭載されている。コントローラ１０１にはＣＰＵ１０４が搭載され、ＣＰＵ１０４が制御プログラムなどに基づいてシステムバス１０３を介して印刷部（プリンタエンジン）１１０に出力情報としての画像信号を出力する。尚、制御プログラムはＲＯＭ１０６のプログラム用ＲＯＭや外部メモリ１１３等に記憶される。
【００１３】
ＲＯＭ１０６のプログラムＲＯＭには、ＣＰＵ１０４の制御プログラム等が記憶され、フォントＲＯＭには、出力情報としての画像信号を生成する際に使用するフォントデータ等を記憶されている。更に、ＲＯＭ１０６にはデータＲＯＭも含まれ、各種プログラムが動作するために必要な初期値が格納されている。ＣＰＵ１０４は、外部Ｉ／Ｆ１０７を介してホストコンピュータなどからのＰＤＬデータの受信が可能となるように構成されている。ＲＡＭ１０５は、ＣＰＵ１０４の主メモリ、ワークエリアなどとして機能するメモリで、不図示の増設ポートに接続されるオプションＲＡＭにより、メモリ容量を拡張することができるように構成されている。尚、ＲＡＭ１０５は、中間データや画像データの展開領域やプリンタモード設定情報の格納領域等に用いられる。
【００１４】
ハードディスク（ＨＤ）、ＩＣカードなどの外部メモリ１１３は、メモリコントローラ（ＭＣ）１１２によりアクセスが制御される。また、コントローラ１０１には、描画処理Ｈ／Ｗ１０２が搭載されていても良く、ＰＤＬデータを受信後のＣＰＵ１０４で行われる処理の一部を描画処理Ｈ／Ｗ１０２に行わせることにより、高速に処理することが可能になる。尚、外部メモリ１１３は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
【００１５】
操作部１１１には、操作のためのスイッチやＬＥＤ表示器等が配置されている。また、外部メモリは１個に限らず、少なくとも１個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、不図示のＮＶＲＡＭを有し、操作部１１１からのプリンタモード設定情報を記憶するようにしてもよい。
【００１６】
次に、疑似中間調化された画像データのエッジ部分のジャギーを補正処理する画像処理部２００の典型的な構成を、図２を用いて説明する。この画像処理部２００には、ＰＤＬデータ受信部２０１、ＰＤＬ処理部２０２、中間データ生成部２０３、描画処理部２０５、疑似中間調化部２０９、エッジ補正部２１０、印刷処理部２１１が含まれる。これらの処理部のプログラムはＲＯＭ１０６のプログラムＲＯＭに保存され、プログラムは実行時に先立ちＲＯＭ１０６のプログラムＲＯＭからＲＡＭ１０５に展開され、ＣＰＵ１０４によって実行される。また、プログラムはＲＯＭ１０６のプログラムＲＯＭ以外にも、外部メモリ１１３のＨＤＤなどに保存される形で提供されてもよい。
【００１７】
中間データスプール２０４、画像データメモリ２０６、属性データメモリ２０７、画像データスプール２０８はＲＡＭ１０５内に確保されるワークエリア領域で、中間データ、画像データの一時保存に利用される。
【００１８】
ＰＤＬデータ受信部２０１はネットワークを介して外部からＰＤＬデータを受信する。受信されたＰＤＬデータはＰＤＬ処理部２０２に渡され、ＰＤＬデータを解釈したＰＤＬ解釈情報を中間データ生成部２０３に渡す。ここで中間データ生成部２０３はＰＤＬ処理部２０２から渡されたＰＤＬ解釈情報を元に中間データを中間データスプール２０４内に格納する。そして、中間データスプール２０４に１ページ分の中間データが格納されると、描画処理部２０５が中間データスプール２０４から中間データを読み出して描画処理を行う。描画処理部２０５の描画処理により、１ページ分の画像データと属性データが画像データメモリ２０６と属性データメモリ２０７に作成される。その後、描画処理部２０５は、１ページ分の画像データと属性データを画像データメモリ２０６と属性データメモリ２０７から読み出し、画像データスプール２０８に格納する。
【００１９】
このとき、それぞれデータを圧縮しながら画像スプーラ２０８に格納しておく。非圧縮のメモリ領域が画像データメモリ２０６、属性データメモリ２０７の１ページ分のみで、その他のページのデータは画像データスプール２０８に圧縮して格納されるため、メモリ容量が少ない画像形成装置を作ることができる。画像データスプール２０８に格納された画像データと属性データは疑似中間調化部２０９に渡され、疑似中間調化した画像データと属性データがエッジ補正部２１０に渡される。エッジ補正部２１０は、属性データからエッジ部分を抽出し、疑似中間調化された画像データのエッジ部に補正処理をかけジャギーを抑制する。疑似中間調化及びエッジ補正処理された画像データは、印刷処理部２１１に渡されて印刷される。
【００２０】
上述の典型的な構成では、画像データ及び属性データを作成する必要があるため、処理に時間がかかる。また、疑似中間調化されていない画像データは疑似中間調化された画像に比べてデータサイズが大きく、メモリ容量が増えることによる製品コストが増加する。また、システムバス１０３のデータ転送速度やＲＡＭ１０５のデータ格納速度が遅い場合、データサイズが大きくなったことにより処理速度が増加する。
【００２１】
ここで、本実施形態における疑似中間調化された画像データのエッジ部分のジャギーを補正する処理を、図３を用いて説明する。画像処理部３０１のＰＤＬデータ受信部３０２がネットワークを介してＰＤＬデータを受信する。受信されたＰＤＬデータはＰＤＬ処理部３０３に渡され、ＰＤＬ解釈情報が中間データ生成部３０６に渡される前に、エッジ補正判定部３０４に渡される。エッジ補正判定部３０４はＰＤＬ解釈情報に基づいてエッジ補正するか否かの判定と、その補正方法を決定する。
エッジ補正判定部３０４は、エッジ補正の有無にかかわらず、ＰＤＬ解釈部３０３から渡されたＰＤＬ解釈情報を中間データ生成部３０６に渡す。そして、中間データ生成部３０６が中間データ（例えば、ディスプレイリスト）を作成し中間データスプール３０７に格納する。その後、エッジ補正判定部３０４はエッジ補正すべきと判定した場合、文字エッジデータ生成部３０５に判定結果を渡す。文字エッジデータ生成部３０５はエッジ補正用のデータを作成し中間データ生成部３０６に受け渡し、中間データ生成部３０６が中間データスプール３０７にエッジ補正用の中間データ（例えば、ディスプレイリスト）を出力する。１ページ分の中間データが中間データスプール３０７に出力されると、描画処理部３０８が中間データを読み込み、描画処理を行い、描画処理した結果を疑似中間調化部３０９で疑似中間調化して画像データメモリ３１０に書き込む。描画処理部３０８は中間データに生成されているエッジ補正用の中間データも読み込んで描画処理するため、画像データメモリ３１０はエッジ補正済みの画像データが生成されることになる。
【００２２】
その後、描画処理部３０８によって１ページ分の画像データが画像データメモリ３１０に生成されると、画像データスプール３１１に格納する。この時、画像データを圧縮して格納することによりメモリ容量を少なくすることができる。画像データスプール３１１に格納されたデータは印刷処理部３１２に渡されて印刷される。このような構成にすることにより属性データの作成を行う必要が無いため、処理が削減されて高速な処理を実現することができる。また、疑似中間調化した画像データのみ扱うためデータサイズが小さく、システムバス１０３のデータ転送速度やＲＡＭ１０５のデータ格納速度が遅い場合にも、処理速度が遅くなることがない。
【００２３】
図４に示す（Ａ）〜（Ｅ）は、本発明に係るエッジ補正処理により得られるエッジ補正結果の一例を示す図である。図４の（Ａ）のように文字データの濃度が濃い場合は、図４の（Ｂ）のようにエッジ補正処理によって文字の内側にピクセルが追加されることによりジャギーが抑制される。しかしながら、図４の（Ｃ）のように文字データの濃度が薄い場合は、図４の（Ｄ）のように文字の内側にエッジ補正処理によってピクセルが追加されるとジャギーが抑制されず、かつ文字にゴミが付加されたようになってしまう。そのため、図４の（Ｃ）のように文字の濃度が薄い場合は、図４の（Ｅ）のように文字の外側にエッジ補正処理によってピクセルを追加することが本発明の目指す補正結果となる。
【００２４】
ここで、図４で説明した処理を実現するために、エッジ補正判定部３０４と文字エッジデータ生成部３０５の処理により行われる、エッジ補正用の中間データ生成処理を、図５を用いて説明する。
【００２５】
尚、エッジ補正判定部３０４と文字エッジデータ生成部３０５のプログラムは、ＲＡＭ１０５もしくは外部メモリ１１３に保存されており、実行時にＲＡＭ１０５に展開されてＣＰＵ１０４によって実行される。
【００２６】
図６は、本実施形態におけるＰＤＬデータ及び中間データの一例を示す図である。ここでは、ＰＤＬデータ６０１として１つのオブジェクトを示しているが、実際は複数のオブジェクトを含む。Ｓ５０１において、エッジ補正判定処部３０４はＰＤＬ解釈部３０３からＰＤＬ解釈情報を受け取る。具体的には、ＰＤＬデータ６０１に含まれるオブジェクト種類、ＲＯＰ指定、文字マスクイメージ、濃度指定、ディザ指定を受け取る処理である。次に、Ｓ５０２において、エッジ補正判定部３０４はＰＤＬ解釈情報の内容に関わらず、ＰＤＬ解釈情報を中間データ生成部３０６に渡して中間データを生成させる。ここで生成される中間データは図６に示す中間データ６０２（第１の中間データ）であり、ＰＤＬデータ６０１と同じ内容のものである。
【００２７】
次に、Ｓ５０３において、エッジ補正判定部３０４はＰＤＬ解釈情報からオブジェクト種類を参照し、文字であるか否かを判定する。判定の結果、文字でなければ、エッジ補正判定部３０４はこの処理を終了するが、文字であればＳ５０４へ処理を進め、黒文字以外か否かを判定する。ここでＰＤＬ解釈情報の濃度指定が黒（濃度が２５６階調で濃度指定が２５５）の場合は、疑似中間調化してもエッジ部のジャギーが発生しないため、エッジ補正判定部３０４は補正処理を行わないと判定し、この処理を終了する。
【００２８】
一方、ＰＤＬ解釈情報の濃度指定が黒以外（濃度が２５６階調で濃度指定が２５５以外）の場合は、エッジ補正が必要であると判定し、Ｓ５０５へ処理を進め、エッジ補正方法を判定する。Ｓ５０５で、エッジ補正判定部３０４はＰＤＬ解釈情報の濃度指定から濃度値を取得し、文字の濃度が閾値以上（所定濃度以上）の場合は濃い文字と判定し、また文字の濃度が閾値より低い場合は薄い文字と判定する。尚、閾値はＲＯＭ１０６のデータＲＯＭに初期値が保存されており、エッジ補正判定部３０４はその初期値を読み出すことによって閾値を得ることができる。また、閾値は任意の値でもよく、閾値を操作部１１１からユーザが書き換えられるような構成にしてもよい。
【００２９】
この例では、画像形成装置の起動時に、閾値をＲＯＭ１０６のデータＲＯＭからＲＡＭ１０５にコピーしておく。エッジ補正判定部３０４はＲＡＭ１０５の値を参照するようにしておき、操作部１１１からＲＡＭ１０５内の閾値を書き換えることにより、エッジ補正判定部３０４に任意の閾値が設定できるようになる。また、ＰＤＬデータに閾値書き換え情報を付加しておき、ＰＤＬ解釈部３０３がＲＡＭ１０５内の閾値を書き換えるようにしてもよい。
【００３０】
上述のＳ５０５で、濃度が薄いと判定された場合はＳ５０６へ処理を進め、ＰＤＬ解釈情報はエッジ補正判定部３０４から文字エッジデータ生成部３０５に渡され、エッジ補正用のＰＤＬ解釈情報の生成が行われる。つまり、文字エッジデータ生成部３０５はＰＤＬ解釈情報に含まれる文字マスクイメージから、文字の外側の形状を抜き出した文字エッジマスクイメージを生成する。文字エッジデータ生成部３０５はＰＤＬ解釈情報に含まれる文字マスクイメージを、作成した文字エッジマスクイメージに置き換える。ここで文字の外側の形状を抜き出した文字エッジデータとは、図８に示す８０２のように、文字形状の外側に隣接するピクセル部分のみを抜き出してマスクイメージ化したものである。
【００３１】
次に、Ｓ５０７において、文字エッジデータ生成部３０５はＰＤＬ解釈情報に含まれる濃度指定値の値を補正し、ＰＤＬ解釈情報を置き換える。ここで濃度指定値を補正するのは、薄い濃度のまま疑似中間調化してエッジ部分を縁取りしても、疑似中間調化した際にオンビット（ディザマトリクス内に記載された閾値より、大きい濃度を持つピクセル）になるピクセルが少なく効果が出ないためである。この濃度指定値の補正方法は元の指定値の反転、又は固定値を設定する方法などがある。尚、濃度値指定値の補正処理に関しての詳細説明は図１２を用いて後述するが、図７に濃度指定を反転して置き換える例を示す。図７に示すＰＤＬデータ７０１の濃度指定値に２０（濃度２５６階調）が指定されている場合、中間データ７０２のエッジ補正用データの濃度設定値に２３５を設定する。
【００３２】
一方、Ｓ５０５で、濃度が濃いと判定された場合はＳ５０８へ処理を進め、文字エッジデータ生成部３０５はＰＤＬ解釈情報に含まれる文字マスクイメージから、文字の内側の形状を抜き出した文字エッジマスクイメージを生成する。文字エッジデータ生成部３０５はＰＤＬ解釈情報に含まれる文字マスクイメージを、作成した文字エッジマスクイメージに置き換える。ここで文字の内側の形状を抜き出した文字エッジデータとは、図８に示す８０１のように文字形状の内側に隣接するピクセル部分のみを抜き出してマスクイメージ化したものである。
【００３３】
次に、Ｓ５０９において、文字エッジデータ生成部３０５は補正方法の判定結果に依存せず、ＰＤＬ解釈情報のＲＯＰ指定をＯＲ書きとし、ディザマトリクス指定をより高線数（第２の線数）のディザマトリクス指定（超高線数ディザ）に置き換える。そして、Ｓ５１０において、文字エッジデータ生成部３０５は上述の置き換えられたＰＤＬ解釈情報を中間データ生成部３０６に渡し、エッジ補正用の中間データを中間データスプール３０７に生成させる。ここで生成される中間データは図６に示す中間データ（第２の中間データ）で、Ｓ５０６からＳ５１０の文字エッジデータ生成部３０５の処理によりＰＤＬデータ６０１からエッジ補正用データとして生成されたものである。
【００３４】
図５を用いて説明したエッジ補正用の中間データを含む中間データを描画処理部３０８及び疑似中間調化部３０９が描画処理して文字のエッジ部分の縁取りを行い、ジャギーを抑制した画像データを生成する処理を、図９を用いて説明する。
【００３５】
尚、描画処理部３０８及び疑似中間調化部３０９のプログラムはＲＡＭ１０５もしくは外部メモリ１１３に保存されており、実行時にＲＡＭ１０５に展開されてＣＰＵ１０４により実行される。また、この処理を行う描画処理Ｈ／Ｗ１０２が搭載されている場合には、描画処理Ｈ／Ｗ１０２でこの処理を実行してもよい。
【００３６】
描画処理部３０８は中間データスプール３０７にエッジ補正用で無い元の中間データとエッジ補正用の中間データが生成されているため、それを順番に読み込んで描画処理するだけでよい。図１０に示す中間データ１００１はエッジ補正用で無い元の中間データであり、中間データ１００２はエッジ補正用の中間データである。中間データ１００１と中間データ１００２は中間データスプール３０７に格納されている。
【００３７】
まず、Ｓ９０１において、描画処理部３０８はエッジ補正用で無い元の中間データ１００１から文字マスクイメージを読み込み、描画処理後の画像（例えば、ビットマップイメージ）を生成する。次に、Ｓ９０２において、描画処理部３０８は描画処理後の画像を疑似中間調化部３０９に渡す。そして、疑似中間調化部３０９が描画処理後の画像を疑似中間調化処理して疑似中間調化された画像（第１の疑似中間調画像）を描画処理部３０８に返す。この時、疑似中間調化部３０９は中間データ１００１からディザマトリクス指定を参照し、低線数（第１の線数）（解像度）のディザマトリクスを用いて疑似中間調化する。そして、Ｓ９０３において、描画処理部３０８はＳ９０２で疑似中間調化された画像を画像データメモリ３１０に上書きする。
【００３８】
次に、Ｓ９０４において、描画処理部３０８はエッジ補正用で中間データから文字エッジマスクイメージ（文字の内側のエッジ）を読み込み、描画処理後の画像（例えば、ビットマップイメージ）を生成する。次に、Ｓ９０５において、描画処理部３０８は描画処理後の画像を疑似中間調化部３０９に渡す。そして、疑似中間調化部３０９が描画処理後の画像を疑似中間調化処理して疑似中間調化された画像（第２の疑似中間調画像）を描画処理部３０８に返す。この時、疑似中間調化部３０９は中間データ１００１からディザマトリクス指定を参照し、高線数（第２の線数）（超高解像度）のディザマトリクスを用いて疑似中間調化する。ここで、第２の線数は、第１の線数よりも高い。そして、Ｓ９０６において、描画処理部３０８はＳ９０５で疑似中間調化された画像を画像データメモリ３１０（記憶部）にＯＲ（論理和）書き（上書き）する。
【００３９】
上述の処理により、文字全体を低線数のディザマトリクスで疑似中間調化して描画した際に発生するエッジ部のジャギーを、文字内側のエッジ部のみ高線数のディザマトリクスで疑似中間調化した結果をＯＲ書きする。これによりエッジ部のジャギーを抑制することができる。なお、Ｓ９０３、Ｓ９０６の処理を行わずに、Ｓ９０２で生成された疑似中間調化された画像とＳ９０５で生成された疑似中間調化された画像との論理和演算を行って得られたデータを、画像データメモリ３１０に出力して記憶してもよい。または、Ｓ９０２で生成された疑似中間調化された画像とＳ９０５で生成された疑似中間調化された画像との論理和演算を行って得られたデータを、中間データスプール３１１に出力してもよい。上述した図１０に示す例は、文字の濃度が濃い場合の中間データだが、図１１の文字の濃度が薄い場合にも同様な処理で対応できる。図１１に示す中間データの場合、Ｓ９０４において描画処理部３０８が文字の外側のエッジ部を抽出した文字エッジマスクイメージ（中間データ１１０１に含まれるもの）となり、文字の外側のエッジ部に縁取りを実施する。
【００４０】
図５に示すＳ５０７において、文字エッジデータ生成部３０５が行う濃度指定値の補正処理の詳細を、図１２を用いて説明する。尚、文字エッジデータ生成部３０５のプログラムはＲＡＭ１０５もしくは外部メモリ１１３に保存されており、実行時にＲＡＭ１０５に展開されてＣＰＵ１０４により実行される。
【００４１】
Ｓ１２０１において、文字エッジデータ生成部３０５が濃度補正方法をどの処理方法で行うかを示す設定値（濃度値を補正するのための設定値）を取得する。この濃度値を補正するための設定値に関連する情報の初期値はＲＯＭ１０６に格納されており、起動時に、ＲＡＭ１０５に格納される。起動後は操作部１１１もしくは設定変更データを外部Ｉ／Ｆ１０７を通じて受けとることにより濃度値を補正するための設定値が変更される。濃度値を補正するための設定値に関連する情報とは、補正方法を表す濃度値を補正するための設定値、固定値方法の場合の濃度値、変換テーブルのことである。また、この例では濃度値を補正するための設定値の種類は、固定値方法、変換テーブル方法、濃度値反転方法であるとする。Ｓ１２０１において、文字エッジデータ生成部３０５が取得するのはＲＡＭ１０５に格納された濃度値を補正するための設定値である。
【００４２】
次に、Ｓ１２０２において、文字エッジデータ生成部３０５はＳ１２０１にて取得した設定値が固定値方法か否かを判定する。判定の結果、固定値方法であった場合はＳ１２０３へ処理を進め、ＲＡＭ１０５より固定値方法の場合の濃度値を取得する。そして、Ｓ１２０４において、文字エッジデータ生成部３０５はＰＤＬ解釈情報の濃度値指定をＳ１２０３で取得した濃度値に置き換える。
【００４３】
一方、Ｓ１２０２で、固定値方法でなかった場合はＳ１２０５へ処理を進め、文字エッジデータ生成部３０５はＳ１２０１において取得した濃度補正設定がテーブル変換方法であるか否かを判定する。判定の結果、テーブル変換方法であった場合はＳ１２０６へ処理を進め、ＲＡＭ１０５より変換テーブルを取得する。そして、Ｓ１２０７において、文字エッジデータ生成部３０５はＰＤＬ解釈情報に含まれる濃度値指定の濃度値を取得し、その濃度値を変換テーブルで変換した濃度値をＰＤＬ解釈情報の濃度指定に置き換える。
【００４４】
また、Ｓ１２０５で、変換テーブル方法でなかった場合はＳ１２０８へ処理を進める。文字エッジデータ生成部３０５はＳ１２０１において取得した濃度補正設定が反転方式であった場合、ＰＤＬ解釈情報に含まれる濃度値指定の濃度値を取得し、続くＳ１２０９において、ＰＤＬ解釈情報の濃度値指定を反転した濃度値に置き換える。
【００４５】
このように、濃度補正方法を切り替えるのは、データの種類やユーザの好みによっては文字のエッジ部分を補正した場合、画質が劣化したように見えるという問題があるためである。また、データの種類やユーザの好みで濃度補正方法を変更できるようにすることで、上述の問題を解消することができる。本発明は図３に示す処理により、図２に示す画像データと属性データを作る構成にも適用可能で、その場合は、属性データに文字か否かの判定がわかる情報を付加する必要がある。
【００４６】
第１の実施形態によれば、文字データを描画する背景の濃度が濃く、文字データの濃度が薄い場合（例えば白文字）でも、疑似中間調画像のエッジ部に生じるジャギーの補正を適正に行うことができ、印刷結果の高画質化が行えるという効果がある。
【００４７】
［第２の実施形態］
次に、図１３乃至図１５を用いて第２の実施形態を詳細に説明する。図１３に示す印刷結果１３０１を得るＰＤＬデータは文字数が少ないため、エッジ補正用の中間データ生成（主に文字エッジマスクイメージの生成）にかかる時間が少なく全体の処理速度が低下しない。一方、印刷結果１３０２を得るＰＤＬデータでは文字数が多いため、エッジ補正用の中間データ生成に時間がかかるため、全体の処理速度が低下してしまう懸念がある。つまり、印刷結果１３０３を得るようなＰＤＬデータは文字のサイズが予め定められたサイズより小さいという特徴を利用して改善する。このように、文字のサイズが予め定められたサイズより小さい場合、文字の殆どの部分がエッジ部分となるため、文字マスクイメージと文字エッジマスクイメージとの差分がでない。
【００４８】
即ち、小さい文字の場合、文字エッジマスクイメージを作成せずに、ディザマトリクス指定のみを高線数のディザマトリクスに置き換える。その中間データの例を図１４に示すＰＤＬデータ１４０１で、中間データ１４０２ではディザマトリクス指定のみを高線数のディザマトリクスに置き換えた（解像度から超高解像度）だけになる。
【００４９】
第２の実施形態を適用するエッジ補正判定部３０４の処理を、図１５を用いて説明する。尚、エッジ補正判定部３０４は、ＲＡＭ１０５もしくは外部メモリ１１３に保存されており、実行時にＲＡＭ１０５に展開されてＣＰＵ１０４によって実行される。
【００５０】
エッジ補正判定処部３０４は、ＰＤＬ解釈部３０３からＰＤＬ解釈情報を受け取る（Ｓ１５０１）。エッジ補正判定部３０４は文字であるか否かを判断し（Ｓ１５０２）、文字である場合は、更に小さい文字であるか（所定サイズより小さいサイズの文字であるか）を判断する（１５０３）。小さい文字である（所定サイズより小さいサイズの文字である）場合、エッジ補正判定部３０４は、ＰＤＬ解釈情報のディザマトリクス指定のみを置き換え（Ｓ１５０４）、ＰＤＬ解釈情報を中間データ生成部３０６に渡す（Ｓ１５０５）。
【００５１】
一方、小さい文字で無い場合は、エッジ補正判定部３０４はＰＤＬ解釈情報を変更せずに中間データ生成部３０６に渡した後（Ｓ１５０６）、Ｓ１５０７でエッジ補正用の中間データを生成する。Ｓ１５０７は図５のＳ５０４〜Ｓ５１０と同様の処理となるため、説明は省略する。
【００５２】
なお、Ｓ１５０２において、ラインか否かを判定し、ラインと判定された場合、Ｓ１５０４とＳ１５０５の処理を行ってもよい。
【００５３】
第２の実施形態によれば、ＰＤＬデータ内に含まれる文字のサイズが小さい場合においても処理速度を落とさずに、第１の実施形態での文字のエッジ部分の疑似階調化によるジャギーを抑制する効果がある。
【００５４】
［第３の実施形態］
次に、図１６乃至図１８を用いて第３の実施形態を詳細に説明する。図１６の（Ａ）に示すように、白い背景（白地）に、白文字を書いて印刷結果には反映されないようにしている場合がある。ユーザがアプリケーション上でセキュリティの高い文字や文章などを、他人から見えないように工夫している場合などに多い。その場合に、文字のエッジ補正をしてしまうと、ユーザが隠していた文字が見えるようになってしまうという問題がある。この問題を改善するために、描画処理部３０８において背景を参照してエッジ補正処理用の描画処理するか否かを切り替えるが、疑似階調化された画像データを作成する場合には単純に背景を判断できない。
【００５５】
図１６の（Ｂ）に示すように、疑似階調化された画像データをピクセルごとに見ると、白と判定されてしまうからである。よって、疑似階調化された画像データにおいて背景を判断する場合は、図１６の（Ｃ）のように、ピクセル単位でなく小領域ごとに判断すべきである。
【００５６】
ここで、領域ごとに白地判定を行い、エッジ補正処理用の描画処理を行うか否かを切り替える描画処理部３０８の処理を、図１８を用いて説明する。尚、描画処理部３０８及び疑似中間調化部３０９のプログラムはＲＡＭ１０５もしくは外部メモリ１１３に保存されており、実行時にＲＡＭ１０５に展開されてＣＰＵ１０４によって実行される。また、この処理を行う描画処理Ｈ／Ｗ１０２が搭載されている場合には、描画処理Ｈ／Ｗ１０２が実行してもよい。
【００５７】
文字が白文字である場合、図１７に示すように、中間データに白地判定指示１７０１が追加されている。描画処理部３０８は、この白地判定指示１７０１がある場合、白地判定を行うように判断する（Ｓ１８０１）。描画処理部３０８は領域ごとに白地判定を行い、ＲＡＭ１０５に保存しておく（Ｓ１８０２）。Ｓ１８０３〜Ｓ１８０７は図９のＳ９０１〜Ｓ９０５と同様な処理を行う。
【００５８】
次に、Ｓ１８０７において、描画処理部３０８は、エッジ補正用の疑似中間調化された画像データを画像データメモリ３１０にＯＲ書きするが、Ｓ１８０２の白地判定結果をＲＡＭ１０５から読み出し、白地と判定されている領域にはＯＲ書きを行わない。
【００５９】
白い背景（白地）に白の文字を描画するようなＰＤＬデータの印刷結果は白紙の状態で出力される。上述のＰＤＬデータに第１の実施形態を単純に適用した場合、印刷結果は白紙でなく文字のエッジ部が描画されてしまう不正な結果になる場合があるが、第３の実施形態を適用することにより文字のエッジが描画されない正常な結果となる効果がある。
【００６０】
［他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0006018398.tif 000002
【図２】
0006018398.tif 000003
【図３】
0006018398.tif 000004
【図４】
0006018398.tif 000005
【図５】
0006018398.tif 000006
【図６】
0006018398.tif 000007
【図７】
0006018398.tif 000008
【図９】
0006018398.tif 000009
【図１２】
0006018398.tif 000010
【図１４】
0006018398.tif 000011
【図１５】
0006018398.tif 000012
【図１６】
0006018398.tif 000013
【図１７】
0006018398.tif 000014
【図１８】
0006018398.tif 000015
【図８】
0006018398.tif 000016
【図１０】
0006018398.tif 000017
【図１１】
0006018398.tif 000018
【図１３】
0006018398.tif 000019