(57)【要約】【課題】  スポット多重方式を用いて画像形成する際の白抜きの文字や線の潰れや消失を防止する。【解決手段】  ビットマップデータを解像度変換する際に、変換対象の画素領域に文字又は線が含まれ、かつ、白もしくは白とみなせる画素であるかが判定される。文字又は線であり、白画素でない場合には、加重平均モードにより注目領域の画素の加重平均を解像度変換後の画素値とする。文字又は線であり、白画素の場合には、白抜きモードにより解像度を変換する。その他の場合は、間引きモードにより解像度を変換する。この結果、白抜きの文字や線については完全に保存されるので、加重平均による周辺濃度の文字領域への浸食と、間引きによる文字領域の消失が防止される。【選択図】  図２２
2010187177.tif 000002
【特許請求の範囲】
【請求項１】
第一の解像度のビットマップデータから第二の解像度のビットマップデータ（第一の解像度＞第二の解像度）に変換する擬似高解像度処理部を備える画像形成装置において、
前記擬似高解像度処理部は、第一の解像度のビットマップデータに基づいて、所定領域内に白抜き画素があるか否かを判定する白抜き画素判定手段と、
前記白抜き画素判定手段において、所定領域内に白抜き画素があると判定された場合に白画素を出力する白抜き解像度変換手段と、
を備えることを特徴とする画像形成装置。
【請求項２】
前記白抜き画素は、前記第一のビットマップデータに含まれる属性情報が文字、かつ白、または白とみなせる色の画素であることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記白抜き画素は、前記第一のビットマップデータに含まれる属性情報が線、かつ白、または白とみなせる色の画素であることを特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記白抜き画素は、前記第一のビットマップデータに含まれる属性情報が文字、かつ予め与えられる任意の閾値より薄い色の画素であることを特徴とする請求項１に記載の画像形成装置。
【請求項５】
前記白抜き画素は、前記第一のビットマップデータに含まれる属性情報が線、かつ予め与えられる任意の閾値より薄い色の画素であることを特徴とする請求項１に記載の画像形成装置。
【請求項６】
請求項１〜請求項５のいずれかに記載の画像形成装置の制御をコンピュータに実行させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、画像を、画像形成装置本来の解像度を越えた解像度で形成することができる画像形成装置および画像形成方法に関する。
【背景技術】
【０００２】
従来、コンピュータに接続された画像形成装置においては、ホストコンピュータからの印刷データをビットマップデータに展開して印刷を行っている。ビットマップデータを生成する際は、通常は、印刷装置の解像度に合わせたサイズ（ドット数）のビットマップデータを生成している。
【０００３】
これに対して、印刷装置の解像度より高い解像度に合わせたサイズでビットマップデータへ展開し、スポット多重化技術を用いて印刷装置の解像度に解像度変換して印刷を行う方法も提案されている。こうすることにより、画像を、印刷装置の解像度よりも高い解像度で表現可能となる。スポット多重化技術では、電子写真方式のプリンタにおいて、互いに隣接する画素のドットを、その一部が互いに重複するように形成される。互いに重複するドットは中間の電位レベルで形成され、ドットが重複する部分の電位レベルが高レベルとなる。この電位レベルが高い部分は、プリンタの解像度よりも高い解像度のドットが形成される（例えば特許文献１等参照）。
【０００４】
例えば、１２００ｄｐｉの画像では明確な輪郭を持つ文字や線であっても、６００ｄｐｉへの解像度変換により、輪郭部は中間の電位レベルへと変換される。中間の電位レベルを持つ輪郭は、スポット多重化技術によって高解像度で描かれるために、巨視的には滑らかな輪郭を持つかのごとく文字や線が描写される。
【０００５】
また、スポット多重化技術では、濃い色が背景にある白い色の文字（白抜き文字）を印刷する場合、白色の文字の領域内に、背景色の輪郭部が変換された中間の電位レベルのドットが入り込み、白色の文字の領域を狭くする。このため、白色であるべき文字が背景の色によって塗りつぶされてしまい、文字の一部が細ったり、潰れたりして逆に文字品位が劣化する。そこで、輪郭部に中間の電位レベルを発生させるための加重平均による解像度変換と、間引きによる解像度変換を、文字や線などの濃度によって切り替え、薄い色の文字や線の劣化を防止していた（例えば特許文献２等参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平４−３３６８５９号公報
【特許文献２】特開２００７−３０６４３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、間引きによる解像度変換では、スポット多重化技術による白抜きの文字や線の潰れによる劣化を防止できる一方で、場合によって、文字や線の一部が欠けたり、消失するといった問題があった。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明の画像形成装置は、第一の解像度のビットマップデータから第二の解像度のビットマップデータ（第一の解像度＞第二の解像度）に変換する擬似高解像度処理部を備える画像形成装置において、前記擬似高解像度処理部は、第一の解像度のビットマップデータに基づいて、所定領域内に白抜き画素があるか否かを判定する白抜き画素判定手段と、前記白抜き画素判定手段において、所定領域内に白抜き画素があると判定された場合に、白抜き画素を出力する白抜き解像度変換手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、白抜き画素が注目領域内に含まれる場合に、解像度変換処理結果として白抜き画素を出力することで、白抜きの文字や線の潰れや消失を防ぎ、好適に再現させることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態である印刷システムの構成を示す図である。
【図２】解像度変換処理の中の加重平均モードの説明図である。
【図３】解像度変換処理の中の間引きモードの説明図である。
【図４】１２００ｄｐｉに展開したビットマップデータの一例を示す図である。
【図５】２ｘ２の４画素の領域に分割したビットマップデータ一例を示す図である。
【図６】加重平均モードを用いて解像度変換したビットマップデータの一例を示す図である。
【図７】加重平均モードを用いて解像度変換したビットマップデータの一例を示す図である。
【図８】レンダリング処理を示すフローチャートである。
【図９】レンダリング処理部のデータ判別処理を示すフローチャートである。
【図１０】解像度変換処理の中の白抜きモードの説明図である。
【図１１】レンダリング処理部のビットマップ生成処理を示すフローチャートである。
【図１２】印刷データの印刷結果の一例を示す図である。
【図１３】印刷データの破線で囲った部分の描画ビットマップデータを示す図である。
【図１４】印刷データの破線で囲った部分の属性ビットマップデータを示す図である。
【図１５】白抜き文字の印刷結果の一例を示す図である。
【図１６】白抜き文字の印刷データの破線で囲った部分の描画ビットマップデータを示す図である。
【図１７】白抜き文字の印刷データの破線で囲った部分の属性ビットマップデータを示す図である。
【図１８】加重平均モードを用いて変換したビットマップデータを示す図である。
【図１９】加重平均モードを用いて変換したビットマップデータを示す図である。
【図２０】間引きモードを用いて変換したビットマップデータを示す図である。
【図２１】白抜けモードを用いて変換したビットマップデータを示す図である。
【図２２】解像度変換処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例１】
【００１２】
＜印刷システムの構成＞
図１は本発明の一実施例である印刷システムの構成を示す図である。印刷システムは、ホストコンピュータ１０１とプリンタ１０３で構成される。ホストコンピュータ１０１はプリンタドライバ１０２を有し、アプリケーションソフトで作成された資料等のファイルデータは、プリンタドライバ１０２で、印刷データに変換され、プリンタ１０３に送られる。
【００１３】
プリンタ１０３は、コントローラ部１０４とプリンタエンジン１０５で構成され、プリンタドライバから送られた印刷データをコントローラ部１０４で処理し、プリンタエンジン１０５で用紙上に印刷する。本実施形態では、プリンタエンジン１０５は電子写真方式であり、その解像度は６００ｄｐｉである。また、スポット多重化技術によってプリンタの解像度を超える解像度の画像の記録が可能となっている。
【００１４】
コントローラ部１０４は、レンダリング部１０６と画像処理部１１０で構成され、レンダリング部１０６で印刷データに基づいて、ビットマップデータに展開し、画像処理部１１０でビットマップデータに対して画像処理を施しプリンタエンジン１０５に送る。
【００１５】
レンダリング部１０６は、データ属性判別部１０７、ビットマップ生成処理部１０９で構成される。データ属性判別部１０７は、印刷データが文字、線、図形、イメージのいずれであるかを判別する。オブジェクト種別の判別は、例えばデータがＰＤＬで記述されていれば、その命令に基づいて行うことができる。そして判別した種別に対応する値の属性情報を生成する。属性情報は画素単位に生成され、ビットマップ生成処理部１０９で属性ビットマップデータとして生成される。ビットマップ生成処理部１０９では、印刷データの描画情報および色情報によりビットマップに展開して描画用の描画ビットマップデータと、属性情報から前述の属性ビットマップデータを生成する。
【００１６】
画像処理部１１０は、解像度変換部１１１と色変換処理部１１２とディザ処理部１１３で構成される。解像度変換部１１１はプリンタエンジンに合わせてビットマップデータの解像度を変換し、色変換処理部１１２は色変換を行い、ディザ処理部１１３では階調変換を行う。
【００１７】
コントローラ部１０４および画像処理部１１０はそれぞれ専用のハードウエアで実現しても良いが、プロセッサによりプログラムを実行させることで実現することもできる。後者の場合、図８、図９、図１１や図２２に示すフローチャートは、そのプロセッサにより実行されるプログラムの手順を示す。
【００１８】
＜画像形成処理＞
次に画像形成時の処理の内容について詳しく説明する。プリンタのコントローラの処理解像度を１２００ｄｐｉ、プリンタ印刷解像度を６００ｄｐｉとする。プリンタドライバ１０２は、アプリケーション等で作成したデータを、印刷を行うための印刷データ（例えばＰＤＬにより記述したデータ）に変換する。印刷データのうち、文字は、色、文字種、文字コード、修飾情報、文字サイズ等の情報で表され、線は、座標点や長さ、太さ、色等の情報で表される。また、図形は、色、形状に応じた座標点や長さ等の情報で表され、イメージデータはビットマップデータ等の情報で表される。これらの情報は１２００ｄｐｉの座標系で表される。プリンタドライバで生成された印刷データがプリンタ１０３に送信される。
【００１９】
プリンタ１０３において、レンダリング部１０６は、データ属性判別部１０７で印刷データを解析し、印刷データに基づいて解像度１２００ｄｐｉのビットマップデータを生成して、画像処理部１１０へ送る。画像処理部１１０では、解像度変換部１１１で、受け取った１２００ｄｐｉのビットマップデータをプリンタエンジンの解像度６００ｄｐｉになるように解像度変換を行う。解像度変換の方法については、後で詳しく述べる。
【００２０】
色変換処理部１１２では、ビットマップデータの色形式を色変換ＬＵＴやマトリックス演算を用いて、プリンタエンジンの色空間であるＣＭＹＫの色空間に変換を行う。ディザ処理部１１３では、ビットマップデータの階調をディザ処理によりプリンタエンジンの階調数に合わせる。ディザ処理されたデータは、プリンタエンジンに送信される。
【００２１】
次に、解像度変換処理部１１１について詳しく説明する。図２、図３、図１０は、解像度変換処理の各処理モードの説明図である。解像度変換処理１１１は、ビットマップデータの解像度をプリンタエンジンの印刷解像度に合うように解像度を変換する。本実施形態では、一例として１２００ｄｐｉのビットマップデータを６００ｄｐｉのビットマップデータに変換する処理を説明する。１２００ｄｐｉデータを６００ｄｐｉデータに変換する処理は、１２００ｄｐｉの４画素を、６００ｄｐｉの１画素に置き換える処理となる。解像度変換処理は、文字、線、図形、イメージなどのデータ種に応じて、最適な解像度変換処理モードが適用される。
【００２２】
図２は、加重平均による解像度変換処理（加重平均モード）の説明図である。加重平均モードは、任意の重み係数を要素とする２×２のマトリクスを用いる。１２００ｄｐｉの４画素の画素値にマトリクスの重み係数を乗算し、全要素の重みの合計値で除算して求めた値を、６００ｄｐｉの１画素の画素値とする。すなわち、１２００ｄｐｉの注目画素座標を（ｙ，ｘ）とすると、変換前の画素ｉ（ｙ，ｘ）とマトリクスの各要素Ｍ（ｍ，ｎ）とによって、変換後の画素ｊ（ｙ／２，ｘ／２）は以下の式で与えられる。
【００２３】
ｊ（ｙ／２，ｘ／２）＝（ｉ（ｙ，ｘ）＊Ｍ（０，０）＋ｉ（ｙ，ｘ＋１）＊Ｍ（０，１）＋ｉ（ｙ＋１，ｘ）＊Ｍ（１，０）＋ｉ（ｙ＋１，ｘ＋１）＊Ｍ（１，１） ／ （Ｍ（０，０）＋Ｍ（０，１）＋Ｍ（１，０）＋Ｍ（１，１））…（式１）。
【００２４】
また、１２００ｄｐｉから６００ｄｐｉへと解像度を１／２に変換するため、注目画素座標（ｙ，ｘ）は、１２００ｄｐｉのビットマップデータに対して１画素間隔となるように移動する。図２のマトリクスの各要素はすべて１６であるが、このように、同じ重み係数を持つマトリクスを用いた場合は、４画素の平均値が変換後の画素値となる。平均値をとるため、画像の輪郭部（文字の縁等）は中間色となり、前述したスポット多重化の効果によって１２００ｄｐｉ相当の解像度を表現することが可能となる。なお、図２のマトリクスの各要素は一例であり、全て異なる値であっても良い。
【００２５】
図３は、間引きによる解像度変換処理（間引きモード）の説明図である。間引きモードは、１２００ｄｐｉの４画素のうち、注目画素の画素値を６００ｄｐｉの１画素の画素値とし、他の３画素を捨てる処理である。すなわち、１２００ｄｐｉの注目画素座標を（ｙ，ｘ）とすると、変換前の画素ｉ（ｙ，ｘ）が、変換後の画素ｊ（ｙ／２，ｘ／２）として出力される。間引き処理は、イメージなどのプロポーションが重要でないデータに対して有効となる。
【００２６】
図１０は、白抜きのための解像度変換処理（白抜きモード）の説明図である。白抜きモードは、１２００ｄｐｉの４画素に後述する白抜き画素が一つでもあった場合に、白画素を６００ｄｐｉの１画素として出力する。すなわち、レンダリング部１０６で生成される描画ビットマップデータの色空間がＲＧＢの２５６階調である場合、各成分を（Ｒ，Ｇ，Ｂ）と表すと、６００ｄｐｉの１画素として出力される白画素は（２５５，２５５，２５５）の０％濃度となる。なお、白画素はこれに限るものではなく、白とみなせる色であれば良い。また、固定値ではなく、１２００ｄｐｉの４画素内にある白抜き画素を出力として用いても良い。
【００２７】
さらに、図４〜図７を用いて、解像度変換処理について詳しく説明する。図４は、１２００ｄｐｉに展開したビットマップデータの一例を示したものである。図４の１マスが１画素を表している。図４の画像データは、ＲＧＢの各成分が（２５５，２５５，２５５）の０％濃度の白色の画素４０１と、ＲＧＢの各成分が（０，０，０）の１００％濃度の黒色の画素４０２とで構成されている。このビットマップデータを６００ｄｐｉに解像度変換するため、図４の画像データを、図５の実線５０１で示すように、２×２の４画素の領域に分割する。この時、注目画素は各領域の左上の画素５０２とする。
【００２８】
図６は、図４、図５の１２００ｄｐｉのビットマップデータを、加重平均モードを用いて解像度変換した結果得られるビットマップデータを示す。１マスが６００ｄｐｉの１画素を表している。図６の各画素は、図５の各４画素の領域を式１の計算式で求めたものである。ここで、式１には図２に一例として示したマトリクスを用いている。その結果、図５のように分割された１２００ｄｐｉの４画素すべてが白色の画素４０１である場合は、０％濃度の６００ｄｐｉの白色の画素６０１に変換される。１２００ｄｐｉの４画素のうちの１画素が黒色の画素４０２である場合は、ＲＧＢの各成分が（１９１，１９１，１９１）の２５％濃度の６００ｄｐｉの中間色の画素６０２に変換される。１２００ｄｐｉの４画素のうちの２画素が黒色の画素４０２である場合は、ＲＧＢの各成分が（１２７，１２７，１２７）の５０％濃度の６００ｄｐｉの中間色の画素６０３に変換される。１２００ｄｐｉの４画素のうちの３画素が黒色の画素４０２である場合は、ＲＧＢの各成分が（６３，６３，６３）の７５％濃度の６００ｄｐｉの中間色の画素６０４に変換される。１２００ｄｐｉの４画素すべてが黒色の画素４０２である場合は、１００％濃度の６００ｄｐｉの黒色の画素６０５に変換される。加重平均モードを用いると、図６で示したように文字の輪郭部が中間色となり、６００ｄｐｉの解像度でも１２００ｄｐｉの解像度と同等のがたつきのないスムーズな描画が可能となる。
【００２９】
図７は、図４、図５の１２００ｄｐｉのビットマップデータを、間引きモードを用いて解像度変換した結果得られるビットマップデータを示す。図７の各画素は、図５の４画素領域の注目画素５０２（左上の画素）の値である。そのために、周辺の画素の値（注目画素でない３画素）に関係なく、注目画素５０２の値が出力される。間引きモードを用いると、加重平均モードを用いた時と比べて、輪郭部のがたつきが大きくなってしまうが、中間色の値とならないために、安定した画像となる。
【００３０】
次に、図８に示したフローチャートを参照して、レンダリング処理部１０６について説明する。まず、レンダリング部１０６は、プリンタドライバ１０２から出力される印刷データを獲得する（ステップ８０１）。次に、レンダリング部１０６は、１ページ分の印刷データの処理が終了したか（すなわち印刷データがデータ終了を示しているか）否かを判別する（ステップ８０２）。終了していないと判断された場合は、データ属性判別部１０７において、印刷データの形状等の情報からデータの属性を判別するデータ属性判別処理を行う（ステップ８０３）。そして、ビットマップ生成部１０９において、ステップ８０３の判別結果に基づき、描画ビットマップデータと属性ビットマップデータとを生成するビットマップ生成処理を行う（ステップ８０５）。その後ステップ８０１に戻る。一方、ステップ８０２で１ページ分の印刷データの処理が終了した場合は、処理を終了する。
【００３１】
次に、図９のフローチャートを参照して、データ属性判別部１０７で行われるデータ属性判別処理（ステップ８０３）について説明する。
【００３２】
図９において、まず、データ属性判別部１０７は、印刷データの情報が、文字種や文字コード等で表される文字描画の情報であるか否かを判別する（ステップ９０１）。文字描画の情報であると判別された場合は、データ属性（属性情報ともいう）を文字に設定し（ステップ９０２）、処理を終了する。なお判別は、例えば印刷データに含まれる描画命令単位で行われる。描画命令がオブジェクト単位であれば、判別はオブジェクト単位で行われることになる。なお、設定するとは、判別対象の情報（命令）に関連づけて属性情報を保存することである。これはどの属性についても同様である。一方、ステップ９０１で、文字描画の情報でないと判別された場合は、印刷データの情報が座標点や長さ、太さで表される線描画の情報であるか否かを判別する（ステップ９０３）。線描画の情報であると判別された場合は、データ属性を線に設定し（ステップ９０４）、処理を終了する。一方、ステップ９０３で、線描画の情報でないと判別された場合は、印刷データの情報が矩形、形状、座標点で表される図形描画の情報であるか否かを判別する（ステップ９０５）。図形描画の情報であると判別された場合は、データ属性を図形に設定し（ステップ９０６）、処理を終了する。一方、ステップ９０５で、図形描画の情報でないと判別された場合は、印刷データの情報が解像度、領域、ビットマップで表されるイメージ描画の情報であるか否かを判別する（ステップ９０７）。イメージ描画の情報であると判別された場合は、データ属性をイメージに設定し（ステップ９０８）、処理を終了する。一方、ステップ９０７で、イメージ描画の情報でないと判別された場合は、判別対象のデータはレイアウト情報や印刷制御のための情報であるため、データ属性は設定せずに、処理を終了する。データ属性判別部１０７で設定（すなわち保存）されたデータ属性は、ビットマップ生成処理部１０９へ渡されて属性ビットマッピデータに変換される。
【００３３】
次に、図１１のフローチャートを参照して、ビットマップ生成部１０９のビットマップ生成処理（ステップ８０５）について説明する。ビットマップ処理では、描画する画素のパターンと色情報とで形成した描画ビットマップデータと、描画ビットマップデータの各画素に対応した属性を表す属性ビットマップデータを生成する。
【００３４】
図１１において、まず、ビットマップ生成部１０９は、印刷データを取得する（ステップ１１０１）。データ属性判別部１０７で当該印刷データに関連づけて保存されたデータ属性を取得する（読む）（ステップ１１０２）。そして、印刷データの描画情報から、描画する画素パターンを形成し、各画素に描画する色情報を入れた描画ピットマップデータを生成する（ステップ１１０４）。次に、描画ビットマップデータの各画素に対応するデータ属性を格納した属性ビットマップデータを生成する（ステップ１１０５）。生成した描画ビットマップデータと属性ビットマップデータは、描画処理部１１０へ送られる。
【００３５】
＜描画ビットマップデータおよび属性ビットマップデータの例＞
図１２〜図１７を参照して、描画ビットマップデータと属性ビットマップデータについて、詳しく説明する。図１２は印刷データの印刷結果の一例を示したものである。図１２の印刷データは、白い四角形の図形の中に文字（「Ｅ」）を描画するデータである。図形の印刷データ１２０３は、開始座標点と幅、高さ、塗りつぶしの色情報で構成される。色情報は白であるため、ＲＧＢの各成分が（２５５，２５５，２５５）の０％濃度となる。一方文字の印刷データ１２０２は、描画位置、文字コード、フォント種、色情報で構成される。色情報は黒であるため、ＲＧＢの各成分が（０，０，０）の１００％濃度となる。
【００３６】
図１３は、図１２の破線で囲った部分１２０１の描画ビットマップデータを拡大して示したものである。１マスは、１２００ｄｐｉの解像度の１画素を表している。印刷データから描画する画素パターンが形成され、各画素は色情報で構成される。図形の印刷データ１２０３に対応する部分は白（０％濃度）の画素、文字の印刷データ１２０２に対応する部分は黒（１００％濃度）の画素で構成されている。
【００３７】
図１４は、図１２の破線部分１２０１に対応する属性ビットマップデータを示したものである。属性ビットマップデータの各画素は、描画ビットマップデータと同じ位置の画素に対応しており、データ属性判別部１０７で判別された属性情報を持つ。属性情報は画像処理部１１０において、各画素に対して画像処理を施す際に使用される。図１４において、属性ビットマップデータの‘Ｇ’はデータ属性が図形、‘Ｔ’は文字であることを表している。すなわち、文字の印刷データ１２０２に対応する部分の値はＴとなり、文字であることが示されている。図形の印刷データ１２０３に対応する部分の値はＧとなり、図形であることが示されている。
【００３８】
図１５は白抜き文字の印刷データの印刷結果の一例を示したものである。図１５の印刷データは、黒い四角形の図形の中に白い文字（「Ｅ」）を描画するデータである。図形の印刷データ１５０３は、開始座標点と幅、高さ、塗りつぶしの色情報で構成され、色情報は黒であるためＲＧＢの各成分が（０，０，０）の１００％濃度となる。文字の印刷データ１５０２は、描画位置、文字コード、フォント種、色情報で構成され、色情報は白であるためＲＧＢの各成分が（２５５，２５５，２５５）の０％濃度となる。
【００３９】
図１６は、図１５の破線で囲った部分１５０１の描画ビットマップデータを示したものである。図１６の描画ビットマップデータは、図１３の描画ビットマップデータと比べ、図形の色と文字の色が入れ替わっているため、図形の印刷データ１５０３に対応する部分は黒（１００％濃度）の画素、文字の印刷データ１５０２に対応する部分は白（０％濃度）の画素で構成されている。また、図１７の破線部分１５０１に対応する属性ビットマップデータは、図１２の文字の印刷データ１２０２と図形の印刷データ１２０３の色が入れ替わっただけであるから図１４と同様となる。
【００４０】
＜解像度変換＞
次に、画像処理部１１０の解像度変換処理部１１１で行われる解像度変換処理について説明する。本実施形態では、１２００ｄｐｉの解像度のビットマップデータを６００ｄｐｉの解像度のビットマップデータに変換する。図１８は、図１２の描画ビットマップデータを解像度変換処理の加重平均モードを用いて６００ｄｐｉの解像度に変換したものである。前述したように、加重平均モードは、互いに隣接する４画素領域を式１の計算式で１画素に変換する処理である。４画素領域内の画素がすべて白（０％濃度）の画素である場合は０％濃度の画素１８０１に変換される。４画素領域内の１画素が黒（１００％濃度）の場合は２５％濃度の画素１８０２に、２画素が黒（１００％濃度）の場合は５０％濃度の画素１８０３に、３画素が黒（１００％濃度）の場合は７５％濃度の画素１８０４に変換される。４画素領域内のすべての画素が黒（１００％濃度）の場合は１００％濃度の画素１８０５に変換される。加重平均モードを用いると図１８で示すように輪郭部が中間色の濃度となり、輪郭のガタツキが小さく滑らかな文字が描画可能となる。図１９は、図１５の白抜き文字の描画ビットマップデータを図１８と同様に加重平均モードの解像度変換処理を用いて６００ｄｐｉの解像度に変換したものである。白抜き文字に対して加重平均モードを用いると、図１９で示すように図形の色（すなわち背景の色）が文字の領域に入り込んでしまう。そのために、文字を表す白画素の領域が細り、白抜き文字が潰れてしまう。
【００４１】
図２０は、図１５の白抜き文字の描画ビットマップデータを、間引きモードの解像度変換処理を用いて変換したビットマップデータを示したものである。白抜き文字に対して間引きモードを用いると、図２０で示すように輪郭の滑らかさが加重平均モードに比べて劣化するだけでなく、図１５の印刷データ１５０２にはあった文字の一部が解像度変換処理によって消失してしまう。
【００４２】
図２１は、図１５の白抜き文字の描画ビットマップデータを、白抜きモードの解像度変換処理を用いて変換したビットマップデータを示したものである。白抜き文字に対して白抜きモードを用いると、図２１で示すように、図１９の加重平均モードに比べて輪郭部の滑らかさは劣化するが、文字を表す白画素の領域は背景の色に浸食されずに文字形状は保持される。さらに、図２０の間引きモードに比べて、文字を表す白画素の領域を消失することなく完全に保存することができる。
【００４３】
このように、黒などの濃い色の中に、白い色の文字（白抜き文字）を描画する場合は、白抜きモードの解像度変換処理を用いる方が、文字の潰れと消失がなく描画することが可能である。
【００４４】
図２２のフローチャートを参照して、解像度変換処理部１１１で行われる処理の詳細について説明する。解像度変換処理１１１では、属性ビットマップデータの属性情報により、解像度変換処理の処理モードを選択し、選択された処理モードで、１２００ｄｐｉの解像度の描画ビットマップデータを６００ｄｐｉの解像度の描画ビットマップデータに変換する。
【００４５】
図２２において、ビットマップ生成処理部１０９で生成されて送られてきたデータの内、描画ビットマップデータを獲得する（ステップ２２０１）。さらに、ビットマップ生成処理部１０９で生成された属性ビットマップデータを獲得する（ステップ２２０２）。獲得とは、ここでは「読む」あるいは「参照する」ことと言い換えることができる。次に獲得した描画ビットマップデータの全画素について解像度変換処理が終了したか否かを判断する（ステップ２２０３）。
【００４６】
全画素の処理が終了していないと判断された場合は、描画ビットマップデータから注目画素５０２（２×２の処理対象画素の左上の画素）の値と、周辺の画素（２×２の処理対象画素の注目画素５０２以外の画素）の値を獲得する（ステップ２２０４）。これら画素群を注目領域と呼ぶ。また、ステップ２２０４で獲得した注目画素および周辺画素に対応する属性ビットマップデータの注目画素の属性情報と周辺画素の属性情報を獲得する（ステップ２２０５）。注目画素および周辺画素の属性情報を参照して、文字データを示す属性データがあるか否かを判別する（ステップ２２０６）。ステップ２２０６において文字データがないと判断された場合は、データ属性から線データがあるか否かを判別する（ステップ２２０７）。ステップ２２０７において、線データがないと判別された場合は、間引きモードを用いて解像度変換を行うステップ２２０９へ進む。得られた変換値を該当する位置に関連づけて格納し（ステップ２２１２）、次の処理対象画素を獲得するためにステップ２２０３へ戻り、次の注目領域を獲得する。一方、ステップ２２０６で文字データがあると判断された場合と、ステップ２２０７で線データがあると判断された場合は、白抜き画素であるか否かを判別する（ステップ２２０８）。すなわち、描画ビットマップデータがＲＧＢの色空間であるとき、画素の属性情報が「文字」もしくは「線」で、かつ画素の各成分が（２５５，２５５，２５５）である白抜き画素を判定する。なお、各成分に予め閾値を設け、画素の各成分が閾値より薄い値を持つ画素の場合には白抜き画素とみなし、判定を行っても良い。白抜き画素がないと判断された場合は、描画ビットマップデータの注目領域に含まれる４画素に対して加重平均モードで解像度変換処理を行い（ステップ２２１１）、ステップ２２１２へ進む。一方、ステップ２２０８において、白抜き画素があると判断された場合は、描画ビットマップの獲得した２×２の処理対象画素に対して白抜きモードを用いて解像度変換処理を行い（ステップ２２１０）、ステップ２２１２へ進む。一方、ステップ２２０３において、描画ビットマップデータの全画素について解像度変換が終了した場合は、処理を終了する。
【００４７】
以上の手順により、解像度変換処理において、画像データのデータ属性と色情報により白抜きの文字や線を判別し、白抜きの文字や線に対しては、白抜きモードを用いて解像度変換を行い、白抜き以外の文字や線に対しては、加重平均モードを用いて解像度変換を行う。すなわち、画像オブジェクトの輪郭部を中間色で表現することにより輪郭の平滑化を実現する。あわせて、白抜きの画像オブジェクトの輪郭部を中間色で表現することによるオブジェクトの細りや潰れを防止する。こうすることで、可能な限り画像劣化が発生しない高解像度の文字や線の印刷が可能になる。
【００４８】
なお、本実施形態で解像度変換処理が間引きモードか加重平均モードか選択されるのは、文字または線としている。これは、文字や線が、潰れやすい細線で構成される場合が多いためである。したがって、図形であっても、例えば塗りつぶし指定がなく、輪郭線だけで構成される場合には、文字や線と同様に処理した方が、より高品質な画像を得るためには都合がよい。これは他の種類のオブジェクトであっても同様である。また、文字だけ、もしくは線だけに対してのみ白抜きモードで解像度変換処理を行っても良い。
【００４９】
（その他の実施例）
前述した実施形態では、図１のレンダリング部１０６による処理をプリンタで行うと説明したが、これをホストコンピュータ等で実行し、画像処理部１１０をプリンタで実行する構成とすることもできる。
【００５０】
また本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。また本発明の目的は、前述の実施形態の機能を実現するプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５１】
また、本発明には、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【図１】
2010187177.tif 000003
【図２】
2010187177.tif 000004
【図３】
2010187177.tif 000005
【図４】
2010187177.tif 000006
【図５】
2010187177.tif 000007
【図６】
2010187177.tif 000008
【図７】
2010187177.tif 000009
【図８】
2010187177.tif 000010
【図９】
2010187177.tif 000011
【図１０】
2010187177.tif 000012
【図１１】
2010187177.tif 000013
【図１２】
2010187177.tif 000014
【図１３】
2010187177.tif 000015
【図１４】
2010187177.tif 000016
【図１５】
2010187177.tif 000017
【図１６】
2010187177.tif 000018
【図１７】
2010187177.tif 000019
【図１８】
2010187177.tif 000020
【図１９】
2010187177.tif 000021
【図２０】
2010187177.tif 000022
【図２１】
2010187177.tif 000023
【図２２】
2010187177.tif 000024