(57)【要約】  【課題】属性の異なる領域間の境界部分における画質の低下を、従来よりも抑える技術を提供する。  【解決手段】本発明の印刷装置１００は、画素ごとに属性情報を有する印刷対象の画像に対してセル単位でハーフトーン処理を行う。印刷装置１００は、セル内で同一の属性情報を有する画素群ごとに、入力階調値の重心位置を算出する重心位置算出部と、算出された重心位置に応じて異なるディザマトリクスを参照し、画素群内に網点を形成する出力階調データを生成するハーフトーン処理部と、ハーフトーン処理部で生成された出力階調データを印刷する印刷部と、を備える。【選択図】図１
2012165192.tif 000002
【特許請求の範囲】
【請求項１】
画素ごとに属性情報を有する印刷対象の画像に対してセル単位でハーフトーン処理を行う印刷装置であって、
前記セル内で同一の属性情報を有する画素群ごとに、入力階調値の重心位置を算出する重心位置算出部と、
前記重心位置に応じて異なるディザマトリクスを参照して、前記画素群内に網点を形成する出力階調データを生成するハーフトーン処理部と、
前記ハーフトーン処理部で生成された出力階調データを印刷する印刷部と、を備える、
ことを特徴とする印刷装置。
【請求項２】
請求項１に記載の印刷装置であって、
前記ハーフトーン処理部は、
前記セル内で同一の属性情報を有する画素群ごとに、入力階調値の平均値を求め、当該平均値に応じて印字する網点数を決定し、当該網点数の網点を当該画素群内に形成する出力階調データを生成する、
ことを特徴とする印刷装置。
【請求項３】
請求項２に記載の印刷装置であって、
前記ハーフトーン処理部は、
前記セル内で他の属性情報を有する画素については入力階調値を「０」として、前記画素群の前記平均値を求める、
ことを特徴とする印刷装置。
【請求項４】
請求項１乃至３のいずれか１項に記載の印刷装置であって、
前記重心位置算出部は、
前記セル内で他の属性情報を有する画素については入力階調値を「０」として、前記画素群の前記重心位置を算出する、
ことを特徴とする印刷装置。
【請求項５】
請求項１乃至４のいずれか１項に記載の印刷装置であって、
前記ハーフトーン処理部は、
隣接するセルとディザマトリクスを共有して出力階調データを生成する、
ことを特徴とする印刷装置。
【請求項６】
画素ごとに属性情報を有する印刷対象の画像に対してセル単位でハーフトーン処理を行う印刷装置における印刷方法であって、
前記セル内で同一の属性情報を有する画素群ごとに、入力階調値の重心位置を算出する重心位置算出ステップと、
前記重心位置に応じて異なるディザマトリクスを参照して、前記画素群内に網点を形成する出力階調データを生成するハーフトーン処理ステップと、
前記ハーフトーン処理ステップで生成された出力階調データを印刷する印刷ステップと、を行う、
ことを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、および、印刷方法に関する。
【背景技術】
【０００２】
プリンターなどの印刷装置は、画素ごとに多値の階調値を有する入力階調データをハーフトーン処理して、２値の出力階調データを生成する。そして、印刷エンジンでは、生成された出力階調データに従って画像形成が行われる。
【０００３】
ハーフトーン処理としては、多値ディザ法と称されるドット集中型のディザ法による処理が知られている。一般的な多値ディザ法では、複数の画素からなるセル内において、入力階調値が増大するほど、セルの中心からドット（網点）の面積が増大するようにドットが形成される。
【０００４】
しかし、セル内の固定された中心位置にドットを形成すると、細線が切れたり、エッジ部にジャギーが発生したりする。
【０００５】
そこで、上記の問題点を解決するために、セル内の各画素の入力階調値から重心位置を求め、その重心位置をドットの中心とする多値ディザ法が開発されている（例えば、特許文献１）。かかる多値ディザ法は、ＡＡＭ法（Advanced Amplitude Modulation法）と称されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１９４９０４号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、従来の多値ディザ法（例えば、ＡＡＭ法）を用いてドットを形成すると、背景と線の境界部分や、背景と文字の境界部分において、複数のドットが結合してしまう現象や、逆に離れすぎてしまう現象が発生し、画質が低下することがある。
【０００８】
本発明は、属性の異なる領域間の境界部分における画質の低下を、従来よりも抑える技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するための本願発明は、画素ごとに属性情報を有する印刷対象の画像に対してセル単位でハーフトーン処理を行う印刷装置であって、前記セル内で同一の属性情報を有する画素群ごとに、入力階調値の重心位置を算出する重心位置算出部と、前記重心位置に応じて異なるディザマトリクスを参照して、前記画素群内に網点を形成する出力階調データを生成するハーフトーン処理部と、前記ハーフトーン処理部で生成された出力階調データを印刷する印刷部と、を備える。
【図面の簡単な説明】
【００１０】
【図１】本発明の印刷システム１０の概略構成の一例を示すブロック図である。
【図２】印刷処理の一例を説明するためのフローチャートである。
【図３】（Ａ）入力画像（セル）の一例を示す図である。（Ｂ）属性情報（セル）の一例を示す図である。（Ｃ）セル内の平均階調値と出力ドット数の関係を示すグラフである。
【図４】（Ａ）グラフィック属性の画素の重心位置を算出する処理について説明するための図である。（Ｂ）線属性の画素の重心位置を算出する処理について説明するための図である。
【図５】（Ａ）〜（Ｙ）重心位置ごとの閾値マトリクス（ディザマトリクス）の一例を示す図である。
【図６】（Ａ）グラフィック属性の画素から出力ドットを形成する処理を説明するための図である。（Ｂ）線属性の画素から出力ドットを形成する処理を説明するための図である。
【図７】（Ａ）出力画像（セル）の一例を示す図である。（Ｂ）出力画像（複数のセル）の一例を示す図である。
【図８】セル内の平均階調値と出力ドット数の関係を示すグラフの変形例を示す図である。
【図９】印刷システム１０のシステム構成の第１の変形例を示すブロック図である。
【図１０】印刷システム１０のシステム構成の第２の変形例を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、本発明の一実施形態について図面を参照して説明する。
【００１２】
図１は、本発明の一実施形態が適用された印刷システム１０の概略構成の一例を示すブロック図である。図示するように、印刷システム１０は、印刷装置１００と、情報処理装置（ホストＰＣ）２００と、を備える。
【００１３】
情報処理装置２００は、印刷装置１００のホストコンピューターとして機能する。そして、情報処理装置２００には、例えば、ＬＡＮ等のコンピューターネットワークやＵＳＢケーブルを介して通信可能に、印刷装置１００が接続されている。
【００１４】
情報処理装置２００は、不図示の、ＣＰＵ（Central Processing Unit）と、ＲＡＭ（Random Access Memory）等の主記憶装置と、ＲＯＭ（Read Only Memory）やハードディスク等の外部記憶装置と、ディスプレイ等からなる出力装置と、キーボード、マウス等からなる入力装置と、印刷装置１００とデータの送受信を行う通信インターフェイスと、を備える一般的なコンピューターである。
【００１５】
そして、情報処理装置２００は、図示するように、画像データ入力部２１０と、ラスタライズ処理部２２０と、を有する。なお、各機能部（２１０、２２０）は、外部記憶装置に記憶されている所定のプログラムを主記憶装置にロードしてＣＰＵで実行することで実現可能である。
【００１６】
画像データ入力部２１０は、印刷対象の画像を入力する。印刷対象の画像には、例えば、文字データ、グラフィックデータ、イメージデータなどの画像データが含まれる。また、情報処理装置１００で作成された画像に限らず、コンピューターネットワークやＵＳＢケーブルを介して入力された画像、ＵＳＢメモリーや携帯電話に内蔵されるメモリー等の可搬型メモリーから入力された画像、等を含む。
【００１７】
ラスタライズ処理部２２０は、例えば、オペレーティングシステムの特定の機能とプリンタードライバーにより構成される。ラスタライズ処理部２２０は、画像データ入力部２１０によって入力された画像データを、画素ごとに複数ビットの階調値を有する入力画像データに変換し、印刷装置１００に出力する。入力画像データがモノクロデータであれば、例えば、８ビットの２５６階調値を有する。また、入力画像データがカラーデータであれば、ＲＧＢ画像データまたはＣＭＹＫ画像データ等であり、色ごとに８ビットの２５６階調値を有する。
【００１８】
上記の情報処理装置２００の構成は、本願発明の特徴を説明するにあたって主要構成を説明したものであって、上記に限られない。また、一般的なコンピューターが備える他の構成を排除するものではない。また、情報処理装置２００は、印刷装置１００のホストコンピューターとして機能すれば、例えば、携帯端末などでもよい。
【００１９】
印刷装置１００は、情報処理装置２００から送信された入力画像データの印刷を行う。印刷装置１００は、図示するように、画像処理回路１１０と、印刷エンジン１２０と、を備える。また、印刷装置１００は、不図示の、ＣＰＵと、ＲＡＭ等の主記憶装置と、ＲＯＭやフラッシュメモリー等の外部記憶装置と、ネットワーク５０に接続するための通信装置と、入力ボタン、タッチパネルなどからなる入力装置と、液晶ディスプレイなどからなる出力装置と、を備えた一般的なプリンターである。
【００２０】
そして、画像処理回路１１０は、ハーフトーン処理部１１１と、パルス幅変調部１１２と、を有する。なお、各機能部（１１１、１１２）は、専用のハードウェア（ＡＳＩＣ等）で実現してもよいし、外部記憶装置に記憶されている所定のプログラムを主記憶装置にロードしてＣＰＵで実行することで実現してもよい。
【００２１】
ハーフトーン処理部１１１は、情報処理装置２００から送信された入力画像データに対して、ハーフトーン処理を施す。具体的には、ハーフトーン処理部１１１は、入力画像データをセル（例えば、５×５の画素）に分割し、セル内の各画素に付加されている属性（例えば、グラフィック、背景、線、文字、等）ごとにドット（網点）を形成するための２値化データを生成する。そして、ハーフトーン処理部１１１は、生成した２値化データを出力画像データとしてパルス幅変調部１１２へ出力する。
【００２２】
なお、ハーフトーン処理部１１１は、ハーフトーン処理に先立ち、情報処理装置２００から送信された入力画像データを構成する各画素に、その属性を特定可能な情報（以下では「属性情報Ｘ」とよぶ）を付加しておく。
【００２３】
パルス幅変調部１１２は、ハーフトーン処理部１１１から出力された出力画像データを、画素ごとにレーザー駆動パルスに変換し、印刷エンジン１２０に出力する。
【００２４】
印刷エンジン１２０は、レーザードライバー（不図示）と、レーザーダイオード（不図示）やライン状発光素子（不図示）と、を備える。レーザードライバーは、パルス幅変調部１１２から出力されたレーザー駆動パルスに従ってレーザーダイオードやライン状発光素子を駆動し、感光体ドラム（不図示）に出力画像データに基づく画像を形成する。なお、印刷エンジン１２０は、電子写真方式以外にインクジェット方式や熱転写方式であってもよい。
【００２５】
上記の印刷装置１００の構成は、本願発明の特徴を説明するにあたって主要構成を説明したものであって、上記に限られない。また、一般的なプリンターが備える他の構成を排除するものではない。また、印刷装置１００は、印刷機能を有していれば、例えば、複合機、スキャナー装置、コピー機、ＦＡＸ装置などでもよい。
【００２６】
本実施形態が適用された印刷システム１０は、以上のような構成からなる。ただし、上記の印刷システム１０の構成は、本願発明の特徴を説明するにあたって主要構成を説明したものであって、上記に限られない。また、他の構成の追加を排除するものではない。
【００２７】
また、上記した各構成要素は、印刷システム１０の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。印刷システム１０の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、１つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【００２８】
次に、上記構成からなる印刷システム１０の特徴的な動作について説明する。
【００２９】
＜印刷処理＞
図２は、本実施形態の印刷装置１００で実行される印刷処理の一例を説明するためのフローチャートである。
【００３０】
印刷装置１００は、所定のタイミングで本フローを開始する。例えば、印刷装置１００は、情報処理装置２００から入力画像データ（例えば、ＣＭＹＫ画像データ）を受信したタイミングで本フローを開始する。なお、ハーフトーン処理部１１１は、本フローの開始に先立ち、情報処理装置２００から送信された入力画像データを構成する各画素に属性情報Ｘを付加しておく。
【００３１】
本フローを開始すると、ハーフトーン処理部１１１は、入力画像データをセルに分割する（ステップＳ１０１）。具体的には、ハーフトーン処理部１１１は、各色（例えば、シアンＣ、マゼンタＭ、イエローＹ、ブラックＫ）を、それぞれセルに分割する。なお、本実施形態では、１つのセルのサイズを５×５画素とする。もちろん、セルのサイズはこれに限らない。
【００３２】
図３（Ａ）は、入力画像データ（セル）の一例を示す図である。図示するように、ハーフトーン処理部１１１によって分割されたセルは、５×５サイズの画素で構成される。なお、入力画像データ（セル）に含まれる各画素を正方形で表している。また、正方形内の数字は、各画素の入力階調値を表している。
【００３３】
また、図３（Ｂ）は、属性情報Ｘ（セル）の一例を示す図である。図示するような属性情報Ｘが、入力画像データ（セル）を構成する各画素に付加される。なお、正方形内の数字は、属性を識別するための値を表している。例えば、グラフィック属性には「０」が割り当てられ、線属性には「１」が割り当てられている。
【００３４】
図２に戻り、ハーフトーン処理部１１１は、セル内において同一属性の画素数Ａをカウントする（ステップＳ１０２）。例えば、ハーフトーン処理部１１１は、１つの属性（例えば、グラフィック属性、線属性、等）を選択し、選択した属性の画素数Ａをカウントする。例えば、図３（Ｂ）に示すセルを用いて説明すると、ハーフトーン処理部１１１は、グラフィック属性を選択した場合には、属性情報Ｘが「０」の画素をカウントし、その総数をグラフィック属性の画素数Ａとする。また、線属性を選択した場合には、属性情報Ｘが「１」の画素をカウントし、その総数を線属性の画素数Ａとする。なお、図示する例では、グラフィック属性の画素数Ａは「１７個」となり、線属性の画素数Ａは「８個」となる。
【００３５】
なお、以降のステップＳ１０２〜ステップＳ１１１の処理は、入力画像データから分割されたセルごとに、独立して行われる。
【００３６】
次に、ハーフトーン処理部１１１は、ステップＳ１０２でカウントされた同一属性の画素数Ａが「０個」であるか否か判別する（ステップＳ１０３）。
【００３７】
ここで、ハーフトーン処理部１１１は、ステップＳ１０２でカウントされた同一属性の画素数Ａが「０個」である場合（ステップＳ１０３；Ｙｅｓ）、すなわち、ステップＳ１０２で選択された属性の画素がセル内に存在しない場合には、その属性に基づくドットをセル内に形成する必要がないため、以降のステップＳ１０４〜Ｓ１１０の処理を省略する。
【００３８】
一方、ハーフトーン処理部１１１は、ステップＳ１０２でカウントされた同一属性の画素数Ａが「０個」ではない場合には（ステップＳ１０３；Ｎｏ）、処理をステップＳ１０４に移行する。
【００３９】
処理がステップＳ１０４に移行すると、ハーフトーン処理部１１１は、ステップＳ１０２で選択された属性の画素について、入力階調値の合計Ｂを算出する（ステップＳ１０４）。例えば、図３（Ａ）に示すセルでは、ハーフトーン処理部１１１は、ステップＳ１０２でグラフィック属性が選択されている場合、属性情報Ｘが「０」の画素について入力階調値を合計する（合計Ｂ）。そして、その合計Ｂとして「１０７１」を得る。また、ステップＳ１０２で線属性が選択されている場合には、属性情報Ｘが「１」の画素について入力階調値を合計する（合計Ｂ）。そして、その合計Ｂとして「１６３２」を得る。
【００４０】
なお、ステップＳ１０４の処理は、色（Ｃ、Ｍ、Ｙ、Ｋ）ごとに独立して行われる。すなわち、ハーフトーン処理部１１１は、ステップＳ１０２で選択された属性の画素について、色ごとに、入力階調値の合計Ｂを算出する。
【００４１】
それから、ハーフトーン処理部１１１は、ステップＳ１０４で算出された合計Ｂが「０」であるか否か判別する（ステップＳ１０５）。
【００４２】
ここで、ハーフトーン処理部１１１は、ステップＳ１０４で算出された合計Ｂが「０」である場合（ステップＳ１０５；Ｙｅｓ）、すなわち、ステップＳ１０２で選択された属性の画素に色（Ｃ、Ｍ、Ｙ、Ｋのいずれか）がない場合には、その色のドットをセル内に形成する必要がないため、該当する色のセルについては、以降のステップＳ１０６〜Ｓ１１０の処理を省略する。
【００４３】
一方、ハーフトーン処理部１１１は、ステップＳ１０４で算出された合計Ｂが「０」ではない色のセルについては（ステップＳ１０５；Ｎｏ）、処理をステップＳ１０６に移行する。
【００４４】
処理がステップＳ１０６に移行すると、ハーフトーン処理部１１１は、ステップＳ１０２で選択された属性の画素について、入力階調値の平均（平均階調値）を算出する（ステップＳ１０６）。例えば、図３（Ａ）に示すセルでは、ハーフトーン処理部１１１は、ステップＳ１０２でグラフィック属性が選択されている場合、ステップＳ１０４で算出された合計Ｂ「１０７１」を、ステップＳ１０２でカウントされた画素数Ａ「１７」で除す（「Ｂ／Ａ」）。これにより、入力階調値の平均「６３」を得る。また、ステップＳ１０２で線属性が選択されている場合には、ステップＳ１０４で算出された合計Ｂ「１６３２」を、ステップＳ１０２でカウントされた画素数Ａ「８」で除す（「Ｂ／Ａ」）。これにより、入力階調値の平均「２０４」を得る。
【００４５】
なお、ステップＳ１０６の処理は、色ごとに独立して行われる。すなわち、ハーフトーン処理部１１１は、ステップＳ１０２で選択された属性の画素について、色ごとに、入力階調値の平均を算出する。
【００４６】
それから、ハーフトーン処理部１１１は、属性ごとの理想出力ドット数を算出する（ステップＳ１０７）。ここで、理想出力ドット数とは、入力階調値の平均（平均階調値）に応じて定まる、１つのセル内に出力すべき理想的なドット数（すなわち、理想的なドットの面積）を指す。
【００４７】
図３（Ｃ）は、セル内における入力階調値の平均（平均階調値）と、理想出力ドット数の関係を示すグラフである。図示するように、入力階調値の平均（平均階調値）の増加に伴い、１つのセル内に出力すべき理想的なドット数（理想出力ドット数）も増加する。
【００４８】
なお、印刷装置１００には、図３（Ｃ）に示すグラフに相当するテーブル（すなわち、理想出力ドット数と平均階調値を対応づけているテーブル）が予め格納されている。そして、ハーフトーン処理部１１１は、ステップＳ１０７では、当該テーブルを読み出して、平均階調値（ステップＳ１０６で算出された平均階調値）に対応付けられている理想出力ドット数を特定する。
【００４９】
ステップＳ１０７の処理を、図３（Ａ）に示すセルの例で説明すると、ハーフトーン処理部１１１は、ステップＳ１０２でグラフィック属性が選択された場合には、ステップＳ１０６で算出された平均階調値「６３」に対応付けられている理想出力ドット数「７」を特定する。また、ステップＳ１０２で線属性が選択された場合には、ステップＳ１０６で算出された平均階調値「２０４」に対応付けられている理想出力ドット数「２１」を特定する。
【００５０】
ただし、ここで特定される理想出力ドット数は、セルに含まれる全画素数（図示する例では「２５個」）を上限とした場合の値である。
【００５１】
本実施形態では、属性ごとに理想出力ドット数を算出するため、同一属性の画素数Ａを上限として理想出力ドット数を算出する。具体的には、ハーフトーン処理部１１１は、セルに含まれる全画素数を上限とした場合の理想出力ドット数に、セルに含まれる全画素数に対する同一属性の画素数Ａの割合を、乗じることで、属性ごとの理想出力ドット数を算出する。
【００５２】
これを、図３（Ａ）に示すセルの例で説明すると、ハーフトーン処理部１１１は、ステップＳ１０２でグラフィック属性が選択された場合には、セルに含まれる全画素数を上限とした場合の理想出力ドット数「７」に、セルに含まれる全画素数に対するグラフィック属性の画素数Ａの割合「１７／２５」、を乗じる。これにより、グラフィック属性の理想出力ドット数「４．７６」を得る。また、ハーフトーン処理部１１１は、ステップＳ１０２で線属性が選択された場合には、セルに含まれる全画素数を上限とした場合の理想出力ドット数「２１」に、セルに含まれる全画素数に対する線属性の画素数Ａの割合「１７／２５」、を乗じる。これにより、線属性の理想出力ドット数「６．７２」を得る。
【００５３】
なお、ハーフトーン処理部１１１は、こうして得られた属性ごとの理想出力ドット数が小数となる場合には、小数点以下を切り捨てる。もちろん、小数第１位の数を四捨五入してから小数点以下を切り捨てるようにしてもよい。
【００５４】
また、ステップＳ１０７の処理は、色ごとに独立して行われる。すなわち、ハーフトーン処理部１１１は、ステップＳ１０２で選択された属性について、色ごとに、理想出力ドット数を算出する。
【００５５】
それから、ハーフトーン処理部１１１は、入力階調値について、属性ごとの重心位置を算出する（ステップＳ１０８）。具体的には、ハーフトーン処理部１１１は、セルに含まれる各画素の位置を２次元座標（ｘ、ｙ）で表し、ステップＳ１０２で選択された属性の画素について、入力階調値の重心位置（Ｇｘ，Ｇｙ）を算出する。
【００５６】
なお、入力階調値の重心位置（Ｇｘ，Ｇｙ）は、数式１「Ｇｘ＝Σｘ｛（座標ｘ）×Σｙ（入力階調値Ｉ（ｘ，ｙ）｝／同一属性の画素数Ａ」と、数式２「Ｇｙ＝Σｙ｛（座標ｙ）×Σｘ（入力階調値Ｉ（ｘ，ｙ）｝／同一属性の画素数Ａ」によって求めることができる。ここで、Σｘ（Ｆ）は、ｘ座標を媒介変数として、括弧内の値（或いは、関数）Ｆの総和を求める関数を表す。Σｙ（Ｆ）は、ｙ座標を媒介変数として、括弧内の値（或いは、関数）Ｆの総和を求める関数を表す。また、Ｉ（ｘ，ｙ）は、座標（ｘ，ｙ）の位置に存在する画素についての入力階調値を表す。
【００５７】
図４（Ａ）は、グラフィック属性の画素の重心位置を算出する処理を説明するための図である。図示するように、ハーフトーン処理部１１１は、セルに含まれる各画素の位置を２次元座標で表す。それから、ハーフトーン処理部１１１は、属性情報Ｘを用いてグラフィック属性の画素（図示する太線に囲まれた画素）を特定する。そして、ハーフトーン処理部１１１は、グラフィック属性の画素について、上記の数式１を用いて、ｘ方向の重心位置Ｇｘを算出する。例えば、図３（Ａ）に示すセルの例では、ハーフトーン処理部１１１は、｛０×（６３＋６３＋６３＋６３）＋１×（６３＋６３＋６３＋６３）＋２×（６３＋６３＋６３）＋３×（６３＋６３＋６３）＋４×（６３＋６３＋６３）｝／１０７１＝１．８２４によってｘ方向の重心位置Ｇｘを算出する。また、ハーフトーン処理部１１１は、グラフィック属性の画素について、上記の数式２を用いて、ｙ方向の重心位置Ｇｙを算出する。例えば、図３（Ａ）に示すセルの例では、ハーフトーン処理部１１１は、｛０×（６３＋６３＋６３＋６３＋６３）＋１×（６３＋６３＋６３＋６３＋６３）＋２×（６３＋６３＋６３＋６３＋６３）＋３×（６３＋６３）｝／１０７１＝１．２３５によってｙ方向の重心位置Ｇｙを算出する。
【００５８】
図４（Ｂ）は、線属性の画素の重心位置を算出する処理を説明するための図である。図示するように、ハーフトーン処理部１１１は、セルに含まれる各画素の位置を２次元座標で表す。それから、ハーフトーン処理部１１１は、属性情報Ｘを用いて線属性の画素（図示する太線に囲まれた画素）を特定する。そして、ハーフトーン処理部１１１は、線属性の画素について、上記の数式１を用いて、ｘ方向の重心位置Ｇｘを算出する。例えば、図３（Ａ）に示すセルの例では、ハーフトーン処理部１１１は、｛０×２０４＋１×２０４＋２×（２０４＋２０４）＋３×（２０４＋２０４）＋４×（２０４＋２０４）｝／１６３２＝２．３７５によってｘ方向の重心位置Ｇｘを算出する。また、ハーフトーン処理部１１１は、線属性の画素について、上記の数式２を用いて、ｙ方向の重心位置Ｇｙを算出する。例えば、図３（Ａ）に示すセルの例では、ハーフトーン処理部１１１は、｛３×（２０４＋２０４＋２０４）＋４×（２０４＋２０４＋２０４＋２０４＋２０４）｝／１６３２＝３．６２５によってｙ方向の重心位置Ｇｙを算出する。
【００５９】
こうして、本実施形態のハーフトーン処理部１１１は、１つのセル内において、属性ごとに異なる重心位置（Ｇｘ，Ｇｙ）を算出できる。
【００６０】
なお、図４（Ａ）、図４（Ｂ）には、それぞれ、ハーフトーン処理部１１１によって算出された重心位置（Ｇｘ，Ｇｙ）が、黒点で示されている。
【００６１】
また、ステップＳ１０８の処理は、色ごとに独立して行われる。すなわち、ハーフトーン処理部１１１は、ステップＳ１０２で選択された属性について、色ごとに、入力階調値の重心位置（Ｇｘ，Ｇｙ）を算出する。
【００６２】
次に、ハーフトーン処理部１１１は、入力画像データ（セル）を２値化（すなわち、ドットを形成）するために用いる閾値マトリクスを決定する（ステップＳ１０９）。
【００６３】
ここで、閾値マトリクス（「ディザマトリクス」ともいう）とは、ドットを形成するか否かについての判断基準となるデータを指す。閾値マトリクスは、例えば、セルと同一サイズ（例えば、５×５）の画素群から構成され、セルを構成する各画素（画素の位置）に１対１で対応する閾値を保有する。
【００６４】
図５は、入力階調値の重心位置（Ｇｘ，Ｇｙ）ごとに異なる閾値を有する閾値マトリクスの例を示す図である。（Ａ）は、入力階調値の重心位置が（０，０）である場合に用いる閾値マトリクスの例である。（Ｂ）は、重心位置が（１，０）である場合に用いる閾値マトリクスの例である。（Ｃ）は、重心位置が（２，０）である場合に用いる閾値マトリクスの例である。同様に、（Ｄ）〜（Ｙ）は、それぞれ重心位置が（３，０）、（４，０）、（０，１）、（１，１）、（２，１）、（３，１）、（４，１）、（０，２）、（１，２）、（２，２）、（３，２）、（４，２）、（０，３）、（１，３）、（２，３）、（３，３）、（４，３）、（０，４）、（１，４）、（２，４）、（３，４）、（４，４）である場合に用いる閾値マトリクスの例である。
【００６５】
なお、正方形内の数字は、各画素の位置ごとに割り当てられている閾値を表している。また、太線で囲まれた画素は、重心位置（すなわち、ドットを形成する中心位置）の画素であり、閾値として最小値（例えば「０」）が格納されている。図示するように、重心位置（ドットを形成する中心位置）に近い画素の閾値がなるべく小さくなるように設定されており、重心位置を中心にドットが成長（ドットの面積が拡大）する。
【００６６】
例えば、グラフィック属性の画素についての入力階調値の重心位置（Ｇｘ，Ｇｙ）が、図４（Ａ）に示す位置（２，１）にある場合には、ハーフトーン処理部１１１は、セルの２値化に用いる閾値マトリクスとして、図５（Ｈ）に示す閾値マトリクスに決定する。また、線属性の画素についての入力階調値の重心位置（Ｇｘ，Ｇｙ）が、図４（Ｂ）に示す位置（２，４）にある場合には、ハーフトーン処理部１１１は、セルの２値化に用いる閾値マトリクスとして、図５（Ｗ）に示す閾値マトリクスに決定する。
【００６７】
こうして、本実施形態のハーフトーン処理部１１１は、１つのセル内において、属性ごとに異なる閾値マトリクスを選択できる。
【００６８】
なお、ステップＳ１０９の処理は、色ごとに独立して行われる。すなわち、ハーフトーン処理部１１１は、ステップＳ１０２で選択された属性について、色ごとに、閾値マトリクスを決定する。
【００６９】
それから、ハーフトーン処理部１１１は、ステップＳ１０９で決定された閾値マトリクスを用いて、入力画像データ（セル）の２値化を行う（ステップＳ１１０）。
【００７０】
具体的には、ハーフトーン処理部１１１は、ステップＳ１０２で選択された属性を有する各画素から入力階調値を読み出すとともに、当該入力階調値を読み出した画素の位置に対応する閾値を、ステップＳ１０９で決定された閾値マトリクスから読み出す。そして、ハーフトーン処理部１１１は、読み出した入力階調値と、読み出した閾値と、を比較して、入力階調値が閾値よりも大きいか否か判別する。このとき、ハーフトーン処理部１１１は、入力階調値が閾値よりも大きいと判定された画素については、当該画素の位置に出力ドットを形成するための２値化データを生成する。一方、入力階調値が閾値以下と判定された画素については、当該画素の位置には出力ドットを形成しないように２値化データを生成する。ただし、ハーフトーン処理部１１１は、属性ごとに形成する出力ドットの個数を、ステップＳ１０７で算出された理想出力ドット数とする。
【００７１】
図６（Ａ）は、グラフィック属性の画素を２値化する場合の例を示す図である。図示する例では、ハーフトーン処理部１１１は、グラフィック属性の画素（太枠内の画素）から入力階調値を読み出すとともに、当該入力階調値を読み出した画素の位置に対応する閾値を、ステップＳ１０８で算出された重心位置に対応する閾値マトリクス（図５Ｈに示す閾値マトリクス）から読み出す。このとき、ハーフトーン処理部１１１は、小さい閾値を有する画素から順に、入力階調値と閾値を読み出す。すなわち、図示する例では、位置（２，１）の画素、位置（３，１）の画素、位置（２，０）の画素、位置（２，２）の画素、位置（１，２）の画素、といった順に、各画素の入力階調値と閾値を読み出す。それから、ハーフトーン処理部１１１は、上述した通り、読み出した入力階調値と閾値を比較して、入力階調値が閾値よりも大きいと判定された画素については、当該画素の位置に出力ドットを形成するための２値化データを生成する。そして、ハーフトーン処理部１１１は、出力ドットを形成すると決めた画素の個数が、ステップＳ１０７で算出されたグラフィック属性の理想出力ドット数「４」に到達するまで、以上の処理（入力階調値と閾値の比較）を繰り返す。
【００７２】
こうして、ハーフトーン処理部１１１は、グラフィック属性の画素について、理想出力ドット数「４」の出力ドット（図示する斜線部分）を形成するための２値化データを生成できる。
【００７３】
図６（Ｂ）は、線属性の画素を２値化する場合の例を示す図である。図示する例では、ハーフトーン処理部１１１は、線属性の画素（太枠内の画素）から入力階調値を読み出すとともに、当該入力階調値を読み出した画素の位置に対応する閾値を、ステップＳ１０８で算出された重心位置に対応する閾値マトリクス（図５Ｗに示す閾値マトリクス）から読み出す。このとき、ハーフトーン処理部１１１は、小さい閾値を有する画素から順に、入力階調値と閾値を読み出す。すなわち、図示する例では、位置（２，４）の画素、位置（３，４）の画素、位置（２，３）の画素、位置（１，４）の画素、位置（３，３）の画素、といった順に、各画素の入力階調値と閾値を読み出す。それから、ハーフトーン処理部１１１は、上述した通り、読み出した入力階調値と閾値を比較して、入力階調値が閾値よりも大きいと判定された画素については、当該画素の位置に出力ドットを形成するための２値化データを生成する。そして、ハーフトーン処理部１１１は、出力ドットを形成すると決めた画素の個数が、ステップＳ１０７で算出された線属性の理想出力ドット数「６」に到達するまで、以上の処理（入力階調値と閾値の比較）を繰り返す。
【００７４】
こうして、ハーフトーン処理部１１１は、線属性の画素について、理想出力ドット数「６」の出力ドット（図示する黒塗り部分）を形成するための２値化データを生成できる。
【００７５】
そして、本実施形態のハーフトーン処理部１１１は、１つのセル内において、属性ごとに出力ドットを形成するための、２値化データを生成できる。
【００７６】
なお、ステップＳ１１０の処理は、色ごとに独立して行われる。すなわち、ハーフトーン処理部１１１は、ステップＳ１０２で選択された属性について、色ごとに、２値化データを生成する。
【００７７】
それから、ハーフトーン処理部１１１は、セル内に存在する全属性について、以上の処理（ステップＳ１０２〜Ｓ１１０）を済ませたか否か判別する（ステップＳ１１１）。
【００７８】
ハーフトーン処理部１１１は、まだ処理していない属性がセル内に存在する場合には（ステップＳ１１１；Ｎｏ）、セル内に存在する全属性に基づく出力ドットを形成するために、処理をステップＳ１０２に戻す。
【００７９】
一方、ハーフトーン処理部１１１は、全属性について処理済みである場合には（ステップＳ１１１；Ｙｅｓ）、処理をステップＳ１１２に移行する。
【００８０】
処理がステップＳ１１２に移行すると、ハーフトーン処理部１１１は、ステップＳ１１０で生成した２値化データを出力画像データとしてパルス幅変調部１１２へ出力する（ステップＳ１１２）。具体的には、ハーフトーン処理部１１１は、ステップＳ１１０で属性ごとに生成された２値化データを合成して、パルス幅変調部１１２へ出力する。
【００８１】
図７（Ａ）は、属性ごとの出力ドットを合成した図である。図示する例では、グラフィック属性に基づく出力ドット（斜線部分）と、線属性に基づく出力ドット（黒塗り部分）と、が合成されている。
【００８２】
なお、上記のステップＳ１０２〜Ｓ１１１の処理は、ステップＳ１０１で分割されたセル単位で行われており、ステップＳ１１２では、ハーフトーン処理部１１１は、セル単位で生成された２値化データを再合成し、情報処理装置２００から送信された入力画像データに対応する出力画像データを、パルス幅変調部１１２へ出力する。
【００８３】
図７（Ｂ）は、ハーフトーン処理部１１１が出力する出力画像データの一例を示す図である。図示するように、ハーフトーン処理部１１１から出力される出力画像データでは、同一セル内に複数の重心位置（例えば、グラフィック属性の重心位置と、線属性の重心位置）が存在する場合があり、各重心位置を中心として属性ごとにドットが形成（２値化）される。そのため、属性の異なる領域間の境界部分において不自然な出力とならず、画質が従来よりも向上する。
【００８４】
また、ステップＳ１１２の処理についても、色ごとに独立して行われる。すなわち、ハーフトーン処理部１１１は、図７（Ｂ）に示すような色ごとに生成された出力画像データを、それぞれ、パルス幅変調部１１２へ出力する。
【００８５】
このとき、パルス幅変調部１１２は、ハーフトーン処理部１１１から出力された出力画像データを、画素ごとにレーザー駆動パルスに変換し、印刷エンジン１２０に出力する。
【００８６】
そして、印刷エンジン１２０では、パルス幅変調部１１２から出力されたレーザー駆動パルスに従って印刷を行う。
以上のような印刷処理が本実施形態の印刷システム１０で行われる。
【００８７】
なお、上記実施形態におけるフローの各処理単位は、印刷システム１０を理解容易にするために、主な処理内容に応じて分割したものである。処理ステップの分類の仕方やその名称によって、本願発明が制限されることはない。印刷システム１０が行う処理は、さらに多くの処理ステップに分割することもできる。また、１つの処理ステップが、さらに多くの処理を実行してもよい。また、処理ステップの順序についても、これに制限されるものではなく、可能な限り変更することができる。
【００８８】
また、上記の実施形態は、本発明の要旨を例示することを意図し、本発明を限定するものではない。多くの代替物、修正、変形例は当業者にとって明らかである。
【００８９】
例えば、上記実施形態では、ステップＳ１０７において、ハーフトーン処理部１１１は、まず、同一属性の画素の平均階調値から、セル全体における理想出力ドット数を特定し、それから、セルに含まれる全画素数（例えば「２５」）に対する同一属性の画素数Ａの割合を乗じることで、属性ごとの理想出力ドット数を算出している。
【００９０】
しかし、本発明は、これに限定されない。例えば、図８は、属性ごとの理想出力ドット数を算出する処理の変形例を示す図である。図示するように、ハーフトーン処理部１１１は、ステップＳ１０７において、まず、同一属性の画素の平均階調値に、セルに含まれる全画素数（例えば「２５」）に対する同一属性の画素数Ａの割合を乗じてもよい。そして、こうして求められた値（グラフィック属性：「４２．８４」、線属性：「６５．２８」）に対応する理想出力ドット数を、所定のテーブル（図３Ｃと同様のテーブル）から特定することで、属性ごとの理想出力ドット数（グラフィック属性：「４」、線属性：「８」）を算出してもよい。
【００９１】
このように、ステップＳ１０７の処理手順を変更することによって、より理想的な（画質を向上させる）出力ドット数が求められる場合もある。
【００９２】
また、図９は、印刷システム１０のシステム構成についての第１の変形例を示す図である。この例で示すように、情報処理装置２００内にハーフトーン処理部１１１が設けられてもよい。このように構成することによって、情報処理装置２００側で上記の印刷処理（上記フローの処理）を実行することができる。
【００９３】
また、図１０は、印刷システム１０のシステム構成についての第２の変形例を示す図である。この例で示すように、情報処理装置２００から印刷装置１００へ出力される入力画像データを、ＲＧＢデータとしてもよい。この場合には、印刷装置１００は、さらに、ＲＧＢデータをＣＭＹＫデータに変換する色変換部１０５を備える。そして、色変換部１０５で変換されたＣＭＹＫデータがハーフトーン処理部１１１に供給される。こうして、ＲＧＢデータの入力画像データが印刷装置１００に入力される場合でも、印刷装置１００は、上記の印刷処理（上記フローの処理）を実行することができる。
【００９４】
また、上記実施形態では、セルごとに１つの閾値マトリクス（ディザマトリクス）を選んで２値化（ドットを形成）している。しかし、本発明は、これに限定されない。例えば、隣接するセルで同一の閾値マトリクスを共有するようにしてもよいし、１つのセルで複数の閾値マトリクスを選択するようにしてもよい。
【符号の説明】
【００９５】
１００・・・印刷装置、１０５・・・色変換部、１１０・・・画像処理回路、１１１・・・ハーフトーン処理部、１１２・・・パルス幅変調部、２１０・・・画像データ入力部、２２０・・・ラスタライズ処理部
【図１】
2012165192.tif 000003
【図２】
2012165192.tif 000004
【図３】
2012165192.tif 000005
【図４】
2012165192.tif 000006
【図５】
2012165192.tif 000007
【図６】
2012165192.tif 000008
【図７】
2012165192.tif 000009
【図８】
2012165192.tif 000010
【図９】
2012165192.tif 000011
【図１０】
2012165192.tif 000012