(57)【要約】【課題】スクリーンデータを入力画像の主走査方向の幅に拡張する拡張処理を行いながら、スクリーンデータと入力画像とを画素単位で比較する比較処理をする場合と比べて、スクリーンデータの拡張処理の総量を減らすことが可能なハーフトーン処理装置及び画像形成装置を提供する。【解決手段】入力画像１３のハーフトーン処理に用いられ、主走査方向ＦＣの幅が第１幅Ｗｆｃ１のスクリーンデータ１６を、入力画像１３の主走査方向ＦＣの幅である第２幅Ｗｆｃ２に拡張して、拡張スクリーンデータ１７を生成する生成部と、生成部によって拡張スクリーンデータ１７が生成された後に、拡張スクリーンデータ１７と、入力画像１３とを画素単位で比較する比較処理を実行する比較部と、比較部の比較結果に基づいて、出力画像を出力する出力部とを備えている。【選択図】図９
2020053714.tif 000002
【特許請求の範囲】
【請求項１】
画素毎に中間調を含む複数階調を表現する画素値を持つ入力画像をハーフトーン化するハーフトーン処理に用いられ、前記入力画像の各画素の前記画素値と比較され、主走査方向の幅が第１幅のスクリーンデータを循環的に使用することにより、前記入力画像の主走査方向の幅である第２幅であって、前記第１幅よりも広い第２幅に拡張することにより、主走査方向の幅が前記第２幅であり、かつ、副走査方向の幅が前記入力画像の副走査方向の幅よりも狭い拡張スクリーンデータを生成する生成部と、
前記生成部によって前記拡張スクリーンデータが生成された後に、前記拡張スクリーンデータと、前記入力画像とを画素単位で比較する比較処理を実行する比較部と、
前記比較部の比較結果に基づいて、ハーフトーン化された出力画像を出力する出力部と、
を備えたハーフトーン処理装置。
【請求項２】
前記拡張スクリーンデータの副走査方向の幅は、拡張前の前記スクリーンデータの副走査方向の幅と同じである請求項１に記載のハーフトーン処理装置。
【請求項３】
内部メモリを有する前記生成部が構築されるプロセッサを備えており、
前記生成部は、前記プロセッサの外部に存在し、前記スクリーンデータが格納される第１外部メモリから、前記スクリーンデータを少なくとも１ライン含む第１ラインデータを単位として、前記スクリーンデータを一部ずつ前記内部メモリに読み出し、
かつ、前記第１ラインデータを循環的に使用して主走査方向の幅を拡張することにより、主走査方向の幅が前記第２幅の第２ラインデータを得る拡張処理と、前記第２ラインデータを前記プロセッサの外部に存在する第２外部メモリに書き込む書き込み処理とを繰り返すことにより、前記第２ラインデータが前記スクリーンデータの副走査方向に拡張された前記拡張スクリーンデータを生成する請求項１又は２に記載のハーフトーン処理装置。
【請求項４】
入力画像を構成する構成要素の種類に応じて、前記スクリーンデータは複数種類あり、  前記拡張スクリーンデータは前記種類毎に生成される請求項３に記載のハーフトーン処理装置。
【請求項５】
前記生成部は、前記拡張スクリーンデータの生成に必要な処理を並列的に実行可能な複数の処理部を有している請求項１から４のいずれか１項に記載のハーフトーン処理装置。
【請求項６】
入力画像を構成する構成要素の種類に応じて、前記スクリーンデータは複数種類あり、
前記複数の処理部は、前記種類毎の前記拡張スクリーンデータを並列的に生成する請求項５に記載のハーフトーン処理装置。
【請求項７】
前記比較部は、複数設けられており、
複数の前記比較部によって、複数の画素に対して並列的に前記比較処理が実行される請求項１から６のいずれか１項に記載のハーフトーン処理装置。
【請求項８】
前記入力画像を構成する構成要素の種類に応じて、前記スクリーンデータは複数種類有り、
前記拡張スクリーンデータは前記種類毎に生成され、
前記入力画像の付帯情報には、前記入力画像の画素毎に前記構成要素の種類を識別するための識別情報が含まれており、
前記識別情報に基づいて、前記比較部に入力する前記拡張スクリーンデータの種類を選択する選択部を備えている請求項１から７のいずれか１項に記載のハーフトーン処理装置。
【請求項９】
前記ハーフトーン処理を実行するプロセッサは、製造後に回路構成を変更可能な回路再構成デバイスである請求項１から８のいずれか１項に記載のハーフトーン処理装置。
【請求項１０】
前記回路再構成デバイスは、前記ハーフトーン処理の途中に前記回路構成を変更可能である請求項９に記載のハーフトーン処理装置。
【請求項１１】
前記生成部、前記比較部、及び前記出力部は、前記内部メモリとともに前記回路再構成デバイス内に構築される、請求項３を引用する請求項９又は１０に記載のハーフトーン処理装置。
【請求項１２】
請求項１から１１のいずれか１項に記載のハーフトーン処理装置と、記録媒体に画像を記録する印刷部とを備えた画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ハーフトーン処理装置及び画像形成装置に関する。
【背景技術】
【０００２】
特許文献１には、第１データ幅を有する第１ハーフトーンパターンを、第２データ幅を利用するＳＩＭＤ可能なプロセッサを用いて、画像データにハーフトーン化処理を実行するための方法であって、当該方法は少なくとも一回の反復を含み、第２データ幅は第１データ幅の整数倍ではなく、方法は、第１ハーフトーンパターン内の開始位置に基づいて、第２データ幅を有する、反復のためのハーフトーンパターンを生成するステップと、画像データが処理し尽くされるまで、または、画像データ幅が第２データ幅に等しくなるまで、プロセッサ内のレジスタへ少なくとも一回の反復のために画像データを取り込むステップと、生成されたハーフトーンパターンを使用して画像データについてハーフトーン計算処理を実行するステップと、を含むハーフトーン化処理実行方法が開示されている。
【０００３】
特許文献２には、画素の多値画像データと閾値マトリクスデータとの比較に基づいて画素のハーフトーンデータを生成するハーフトーン生成装置において、閾値マトリクスデータを記憶する閾値マトリクスデータ記憶手段と、閾値マトリクスデータ記憶手段から一走査ラインのハーフトーンデータ生成処理に適用する全ての閾値データの読み出しを行う閾値データ読み出し手段と、読み出された一走査ラインのハーフトーンデータ生成処理に適用する全ての閾値データを保持する第１レジスタ手段と、第１レジスタ手段に保持された一走査ラインのハーフトーンデータ生成処理に適用する全ての閾値データから複数の閾値データを選択し出力する閾値データ選択手段と、閾値データ選択手段により選択出力された複数の閾値データと複数画素の多値画像データとの複数の比較処理を並列に行い、複数画素のハーフトーンデータの並列生成処理を実行する複数の比較手段と、を備え、閾値データ選択手段は、比較手段において並列に生成されるハーフトーンデータ数に等しい複数のセレクタ回路を備え、該セレクタ回路各々の入力は比較手段において並列生成されるハーフトーンデータ数に等しい数の間隔毎に第１レジスタ手段の出力と接続され、該セレクタ回路各々の出力は並列に生成されるハーフトーンの画素位置に応じて切換えが行われる構成を有することを特徴とするハーフトーン生成装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０-０８８１１５号公報
【特許文献２】特許３８９０７６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ハーフトーン処理に用いられ、入力画像の各画素の画素値と比較される閾値が二次元マトリックスに配列された閾値マトリックスデータは、スクリーンデータとも呼ばれる。ハーフトーン処理においては、例えば、まず、外部メモリに格納されているスクリーンデータが、プロセッサの内部メモリに主走査方向の１ラインずつ読み出される。次に、読み出された１ライン分のスクリーンデータの各画素の画素値（閾値）は、画素単位で比較器に出力されて、入力画像の各画素の画素値と比較される。比較器は、例えば、入力画素の画素値がスクリーンデータの画素値（閾値）よりも大きければ「１」を、画素値（閾値）以下の場合は「０」を比較結果として出力する。こうした二値の比較結果に基づいて、ハーフトーン化された出力画像が出力される。
【０００６】
このようなスクリーンデータのサイズ、すなわち、主走査方向の幅及び副走査方向の幅は、入力画像と比較して小さい。例えば、スクリーンデータのサイズが、例えば２５６画素×２５６画素程度であるのに対して、入力画像のサイズは、主走査方向及び副走査方向のそれぞれの画素数は数千画素にも及ぶ。
【０００７】
そのため、ハーフトーン処理において、スクリーンデータの画素値（閾値）と入力画像の画素値とを画素単位で比較する場合には、比較処理と並行して、スクリーンデータを主走査方向に拡張する処理が行われる。例えば、内部メモリに読み出された１ライン分（上記例の場合は２５６画素）のスクリーンデータは、主走査方向の各画素の画素値が循環的（上記例の場合は２５６画素周期で）に比較器に入力される。
【０００８】
このように、主走査方向の幅が入力画像よりも狭いスクリーンデータを循環的に使用することにより、スクリーンデータの主走査方向の幅を、入力画像の主走査方向の幅まで拡張する処理をスクリーンデータの拡張処理と呼ぶ。こうしたスクリーンデータの拡張処理は、入力画像の副走査方向の全ラインに対する比較処理が終了するまで繰り返される。
【０００９】
しかしながら、ハーフトーン処理において、スクリーンデータの拡張処理と、スクリーンデータと入力画像とを画素単位で比較する比較処理を並行して行う場合は、スクリーンデータの拡張処理を、入力画像の副走査方向の全ラインが終了するまで継続しなければならない。拡張処理には、スクリーンデータと入力画像の画素位置とを対応させるためのアドレス計算が必要になる。こうした拡張処理は、例えば、単純にデータを１画素分ずつシフトして読み出す処理と比較して、プロセッサの内部メモリ及び演算部を含む、プロセッサのリソースの消費量が大きい。そのため、プロセッサのリソースの消費量をできるだけ抑えるために、拡張処理の総量を減らすことが求められていた。プロセッサとして、専用品ではなく、内部リソースの量が予め決まっている市販のプロセッサを使用する場合には、特に問題となる。
【００１０】
本開示は、スクリーンデータを入力画像の主走査方向の幅に拡張する拡張処理を行いながら、スクリーンデータと入力画像とを画素単位で比較する比較処理をする場合と比べて、スクリーンデータの拡張処理の総量を減らすことが可能なハーフトーン処理装置及び画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、請求項１に記載のハーフトーン処理装置は、画素毎に中間調を含む複数階調を表現する画素値を持つ入力画像をハーフトーン化するハーフトーン処理に用いられ、入力画像の各画素の画素値と比較され、主走査方向の幅が第１幅のスクリーンデータを循環的に使用することにより、入力画像の主走査方向の幅である第２幅であって、第１幅よりも広い第２幅に拡張することにより、主走査方向の幅が第２幅であり、かつ、副走査方向の幅が入力画像の副走査方向の幅よりも狭い拡張スクリーンデータを生成する生成部と、生成部によって拡張スクリーンデータが生成された後に、拡張スクリーンデータと、入力画像とを画素単位で比較する比較処理を実行する比較部と、比較部の比較結果に基づいて、ハーフトーン化された出力画像を出力する出力部と、を備えている。
【００１２】
また、請求項２に記載のハーフトーン処理装置は、請求項１に記載の発明において、拡張スクリーンデータの副走査方向の幅は、拡張前のスクリーンデータの副走査方向の幅と同じである。
【００１３】
また、請求項３に記載のハーフトーン処理装置は、請求項１又は２に記載の発明において、内部メモリを有する生成部が構築されるプロセッサを備えており、生成部は、プロセッサの外部に存在し、スクリーンデータが格納される第１外部メモリから、スクリーンデータを少なくとも１ライン含む第１ラインデータを単位として、スクリーンデータを一部ずつ内部メモリに読み出し、かつ、第１ラインデータを循環的に使用して主走査方向の幅を拡張することにより、主走査方向の幅が第２幅の第２ラインデータを得る拡張処理と、第２ラインデータをプロセッサの外部に存在する第２外部メモリに書き込む書き込み処理とを繰り返すことにより、第２ラインデータがスクリーンデータの副走査方向に拡張された拡張スクリーンデータを生成する。
【００１４】
また、請求項４に記載のハーフトーン処理装置は、請求項３に記載の発明において、入力画像を構成する構成要素の種類に応じて、スクリーンデータは複数種類あり、  拡張スクリーンデータは種類毎に生成される。
【００１５】
また、請求項５に記載のハーフトーン処理装置は、請求項１から４のいずれか１項に記載の発明において、生成部は、拡張スクリーンデータの生成に必要な処理を並列的に実行可能な複数の処理部を有している。
【００１６】
また、請求項６に記載のハーフトーン処理装置は、請求項５に記載の発明において、入力画像を構成する構成要素の種類に応じて、スクリーンデータは複数種類あり、複数の処理部は、種類毎の拡張スクリーンデータを並列的に生成する。
【００１７】
請求項７に記載のハーフトーン処理装置は、請求項１から６のいずれか１項に記載の発明において、比較部は、複数設けられており、複数の比較部によって、複数の画素に対して並列的に比較処理が実行される。
【００１８】
請求項８に記載のハーフトーン処理装置は、請求項１から７のいずれか１項に記載の発明において、入力画像を構成する構成要素の種類に応じて、スクリーンデータは複数種類有り、拡張スクリーンデータは種類毎に生成され、入力画像の付帯情報には、入力画像の画素毎に構成要素の種類を識別するための識別情報が含まれており、識別情報に基づいて、比較部に入力する拡張スクリーンデータの種類を選択する選択部を備えている。
【００１９】
請求項９に記載のハーフトーン処理装置は、請求項１から８のいずれか１項に記載の発明において、ハーフトーン処理を実行するプロセッサは、製造後に回路構成を変更可能な回路再構成デバイスである。
【００２０】
請求項１０に記載のハーフトーン処理装置は、請求項９に記載の発明において、回路再構成デバイスは、ハーフトーン処理の途中に回路構成を変更可能である。
【００２１】
請求項１１に記載のハーフトーン処理装置は、請求項３を引用する請求項９又は１０に記載の発明において、生成部、比較部、及び出力部は、内部メモリとともに回路再構成デバイス内に構築される。
【００２２】
更に、上記目的を達成するために、請求項１２に記載の画像形成装置は、請求項１から１１のいずれか１項に記載のハーフトーン処理装置と、記録媒体に画像を記録する印刷部とを備えている。
【発明の効果】
【００２３】
請求項１及び１２に記載の発明によれば、スクリーンデータを入力画像の主走査方向の幅に拡張する拡張処理を行いながら、スクリーンデータと入力画像とを画素単位で比較する比較処理をする場合と比べて、スクリーンデータの拡張処理の総量を減らすことができる。
【００２４】
請求項２に記載の発明によれば、スクリーンデータの拡張処理の総量を最小にできる。
【００２５】
請求項３に記載の発明によれば、スクリーンデータの全部をプロセッサの内部メモリに読み出して処理する場合と比較して、内部メモリなどのプロセッサの内部リソースの空き容量を増加させることができる。
【００２６】
請求項４に記載の発明によれば、拡張スクリーンデータを生成しない場合と比べて、スクリーンデータの拡張処理の総量が減る。
【００２７】
請求項５に記載の発明によれば、拡張スクリーンデータを生成する時間を短縮できる。
【００２８】
請求項６に記載の発明によれば、演算部が１つの場合と比べて、種類毎に拡張スクリーンデータを生成する時間を短縮できる。
【００２９】
請求項７に記載の発明によれば、１つの比較部で実行する場合に比べて、比較処理の処理時間を短縮できる。
【００３０】
請求項８に記載の発明によれば、画像解析をする場合と比較して、処理時間が速い。
【００３１】
請求項９に記載の発明によれば、スクリーンデータのサイズ変更、又はスクリーンデータの種類の数の変更に対して、柔軟に対応することができる。
【００３２】
請求項１０に記載の発明によれば、プロセッサの内部リソースを有効活用できる。
【００３３】
請求項１１に記載の発明においては、スクリーンデータの拡張処理の総量が減るという効果がより効果的に作用する。
【図面の簡単な説明】
【００３４】
【図１】第１実施形態に係るハーフトーン処理装置及び画像形成装置の構成の一例を示す図である。
【図２】ハーフトーン処理の概念的に示す説明図である。
【図３】スクリーンデータの拡張についての説明図である。
【図４】第１実施形態に係るハーフトーン処理装置の機能的な構成の一例を示すブロック図である。
【図５】第１実施形態に係る拡張スクリーンデータ生成部の機能的な構成の一例を示すブロック図である。
【図６】第１実施形態に係る比較処理部の機能的な構成の一例を示す図である。
【図７】第１実施形態に係る拡張処理の流れの一例を示すフローチャートである。
【図８】第１実施形態に係る比較処理の流れの一例を示すフローチャートである。
【図９】第１実施形態に係るハーフトーン処理の流れを概念的に示す説明図である。
【図１０】比較例に係るハーフトーン処理装置の機能的な構成の一例を示す説明図である。
【図１１】比較例に係るハーフトーン処理の流れの一例を示すフローチャートである。
【図１２】第２実施形態に係る拡張スクリーンデータ生成部の機能的な構成の一例を示すブロック図である。
【図１３】第２実施形態に係る複数の処理部の一例を示す図である。
【図１４】第２実施形態に係る複数の処理部の一例として、拡張スクリーンデータ生成部が複数ある例を示す図である。
【図１５】実施形態に係る入力画像のデータ構成の一例を示す図である。
【図１６】実施形態に係る識別情報の一例を示す図である。
【図１７】実施形態に係る選択部の一例を示す図である。
【図１８】実施形態に係る複数の比較部の一例を示す図である。
【図１９】実施形態に係るプロセッサの回路構成の変更例を示す図である。
【図２０】実施形態に係るハーフトーン処理装置の一例を示す図である。
【発明を実施するための形態】
【００３５】
以下、図面を参照して、本発明に係るハーフトーン処理装置及び画像形成装置の実施形態について詳細に説明する。
【００３６】
「第１実施形態」
図１は、実施形態の一例である画像形成装置１０を示す。図１に示すように、画像形成装置１０は、入力画像１３を、記録媒体の一例である記録紙に印刷して印刷物１５を出力する。画像形成装置１０は、一例として、印刷部１１と、ハーフトーン処理装置１２とを備えている。
【００３７】
印刷部１１は、例えば、記録紙にレーザ方式で画像を印刷する。印刷部１１は、例えば、感光ドラム、レーザ光源、トナー供給部、転写ローラなどを備えている。レーザ方式の記録処理は、例えば、帯電工程と、露光工程と、現像工程と、転写工程とを含む。帯電工程は、感光ドラムを帯電させる工程である。露光工程は、帯電させた感光ドラムに対してレーザ光を照射することによって露光し、記録する画像に応じた潜像を形成する工程である。現像工程は、感光ドラムのレーザ光を照射した部分にトナーを付着させる工程である。転写工程は、感光ドラムに付着したトナーを記録紙に転写する工程である。
【００３８】
なお、印刷部１１の記録方式としては、レーザ方式に限らず、昇華型の熱転写方式でもよいし、インクジェット方式でもよい。
【００３９】
入力画像１３は、画素毎に中間調を含む複数階調を表現する画素値を持っている。ハーフトーン処理装置１２は、入力画像１３に対して、各画素の画素値を二値化するハーフトーン処理を施して、各画素の画素値が「０」か「１」の二値で表現される二値画像である出力画像１４を出力する。ハーフトーン処理は、周知のように、画像の階調表現が空間的なドットパターンの粗密によって表現されるように、各画素の画素値を「０」か「１」の二値に変換する。
【００４０】
図２に示すように、入力画像１３の各画素が、例えば、２５６階調で表されており、それぞれの画素がＰ１１、Ｐ１２、Ｐ１３・・・といった画素値を持っているとする。スクリーンデータ１６は、入力画像１３の各画素の画素値と比較される画素値（閾値）が二次元マトリックスに配列されたデータである。スクリーンデータ１６の各画素は、Ｔｈ１、Ｔｈ２、Ｔｈ３・・・といった閾値を画素値として持っている。
【００４１】
ハーフトーン処理装置１２は、入力画像１３にスクリーンデータ１６を適用して、入力画像１３の各画素の画素値とスクリーンデータ１６の各画素の画素値とを比較する。そして、比較結果に応じて、出力値として「０」または「１」を出力する。図２に示す例では、入力画像１３の画素値Ｐ１１と、スクリーンデータ１６の画素の画素値Ｔｈ１が比較されて、画素値Ｐ１１が大きいため、出力画像１４の出力値として「０」が出力されている。
【００４２】
一方、入力画像１３のＰ１３と、スクリーンデータ１６の画素の画素値Ｔｈ３が比較されて、画素値Ｐ１３が小さいため、出力画像１４の出力値として「１」が出力されている。
【００４３】
印刷部１１は、出力画像１４に基づいて印刷処理を実行する。印刷部１１の多くは、画素毎にオンかオフの二値表現のみ可能な記録方式を採用しているため、印刷処理の前に、ハーフトーン処理を行うことで、中間調を含む入力画像１３が二値化された出力画像１４に変換される。
【００４４】
出力画像１４において、出力値が「１」の画素は、印刷物１５においては、図２においてハッチングで示すように、ドットが記録される（ハッチング有り）。一方、出力画像１４において、出力値が「０」の画素は、印刷物１５においては、ドットが記録されない（ハッチング無し）。このようにハーフトーン処理により、印刷物１５においては、入力画像１３の階調が、空間的なドットの記録密度の多寡で表現されることになる。
【００４５】
スクリーンデータ１６のサイズは、入力画像１３のサイズよりも小さい。例えば、入力画像１３のサイズは、主走査方向ＦＣと副走査方向ＳＣのそれぞれにおいて、数百画素から数千画素である。対して、スクリーンデータ１６の主走査方向ＦＣと副走査方向ＳＣのサイズは、例えば、３２画素×３２画素、及び２５６画素×２５６画素程度である。スクリーンデータ１６のサイズは、図２の例では、簡単化のために、３画素×３画素の例で示している。
【００４６】
図３に示すように、スクリーンデータ１６のサイズは、入力画像１３のサイズよりも小さいため、スクリーンデータ１６は、循環的に繰り返し使用される。ハーフトーン処理においては、例えば、入力画像１３の最も左上を原点として、スクリーンデータ１６の適用が開始される。図３に示すように、スクリーンデータ１６の主走査方向ＦＣの幅をＷｆｃ１、副走査方向ＳＣの幅をＷｓｃ１とし、入力画像１３の主走査方向ＦＣの幅をＷｆｃ２、副走査方向ＳＣの幅をＷｓｃ２とすると、Ｗｆｃ１＜Ｗｆｃ２かつＷｓｃ１＜Ｗｓｃ２である。
【００４７】
そのため、図３に示す入力画像１３内において破線で示すように、スクリーンデータ１６のサイズに応じた周期で同じスクリーンデータ１６が使用される。本例においては、スクリーンデータ１６の主走査方向ＦＣの幅がＷｆｃ１であるため、主走査方向ＦＣにおいては、Ｗｆｃ１の周期で同じスクリーンデータ１６が使用される。また、スクリーンデータ１６の副走査方向ＳＣの幅がＷｓｃ１であるため、Ｗｓｃ１の周期で同じスクリーンデータ１６が使用される。このようにスクリーンデータ１６を循環的に使用することで、スクリーンデータ１６の主走査方向ＦＣの幅Ｗｆｃ１及び副走査方向ＳＣの幅Ｗｓｃ１がそれぞれ、入力画像１３の主走査方向ＦＣの幅Ｗｆｃ２及び副走査方向ＳＣの幅Ｗｓｃ２に拡張される。
【００４８】
より詳細には、ハーフトーン処理において、スクリーンデータ１６は、例えば、１ライン目から１ラインずつ読み出される。そして、読み出された１ライン目のラインデータ１６Ａと、入力画像１３の１ライン目のラインデータ１３Ａとの比較処理が実行されて比較結果が出力される。この比較処理の際に、ラインデータ１６Ａが循環的に使用されて主走査方向ＦＣに拡張される。入力画像１３の１ライン目のラインデータ１３Ａの比較処理が終了すると、スクリーンデータ１６の副走査方向ＳＣの２ライン目のラインデータ１６Ａが読み出されて、入力画像１３の２ライン目のラインデータ１３Ａとの比較処理が実行される。こうした処理が入力画像１３の副走査方向ＳＣの全ライン分繰り返されて、入力画像１３の１画面分のハーフトーン処理が完了する。
【００４９】
図４に示すように、ハーフトーン処理装置１２は、プロセッサ２１と、プロセッサ２１の外部に存在する外部メモリ２２とを備えている。プロセッサ２１は、拡張スクリーンデータ生成部（以下、単にデータ生成部という）２６と比較処理部２７とを備えている。
【００５０】
プロセッサ２１は、例えば、製造後に回路構成を変更可能なＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ Ｌｏｇｉｃ Ｄｅｖｉｃｅ）が使用される。ＰＬＤは、回路再構成デバイスの一例である。ＰＬＤとしては、例えば、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ Ｇａｔｅ Ａｒｒａｙ）、ＤＲＰ(Ｄｙｎａｍｉｃａｌｌｙ Ｒｅｃｏｎｆｉｇｕｒａｂｌｅ Ｐｒｏｃｅｓｓｏｒ)、ＳＯＣ（Ｓｙｓｔｅｍ  Ｏｎ  Ｃｈｉｐ）等がある。データ生成部２６及び比較処理部２７は、プロセッサ２１内の回路要素を編成することによって構築される。
【００５１】
データ生成部２６は、スクリーンデータ１６の主走査方向ＦＣの幅Ｗｆｃ１を、入力画像１３の幅Ｗｆｃ２に拡張して、拡張スクリーンデータ１７を生成する。
【００５２】
外部メモリ２２には、例えば、スクリーンデータ１６が格納される第１領域２２Ａ、拡張スクリーンデータ１７が格納される第２領域２２Ｂ、入力画像１３が格納される第３領域２２Ｃ、出力画像１４が格納される第４領域２２Ｄが設けられている。
【００５３】
データ生成部２６は、第１領域２２Ａからスクリーンデータ１６を読み出して、拡張スクリーンデータ１７を生成し、生成した拡張スクリーンデータ１７を第２領域２２Ｂに書き込む。
【００５４】
比較処理部２７は、データ生成部２６が生成した拡張スクリーンデータ１７を第２領域２２Ｂから読み出して、読み出した拡張スクリーンデータ１７と、第３領域２２Ｃから読み出した入力画像１３とを画素単位で比較する比較処理を実行する。そして、比較処理の結果として、出力画像１４を第４領域２２Ｄに出力する。
【００５５】
なお、本例では、第１領域２２Ａ、第２領域２２Ｂ、第３領域２２Ｃ、及び第４領域２２Ｄを１つの外部メモリ２２に設けた例で説明しているが、各領域をそれぞれ別の外部メモリに設けてもよい。外部メモリ２２は、第１外部メモリ及び第２外部メモリの一例である。
【００５６】
図５に示すように、データ生成部２６は、第１制御部３１、第１読み出し部３２、内部メモリ３３、拡張部３４、及び書き込み部３６を備えている。第１制御部３１は、データ生成部２６内の各部を統括的に制御する。第１読み出し部３２は、第１領域２２Ａからスクリーンデータ１６のラインデータ１６Ａを、例えば、１ラインずつ読み出す。内部メモリ３３は、読み出されたラインデータ１６Ａを一時的に記憶する。拡張部３４は、ラインデータ１６Ａの主走査方向ＦＣの幅Ｗｆｃ１を、入力画像１３の主走査方向ＦＣの幅Ｗｆｃ２に拡張する。書き込み部３６は、拡張されたラインデータ１７Ａを第２領域２２Ｂに書き込む。
【００５７】
こうした処理がスクリーンデータ１６の副走査方向ＳＣのライン数分繰り返されることにより、主走査方向ＦＣの幅がＷｆｃ２で、副走査方向ＳＣの幅がＷｓｃ１の拡張スクリーンデータ１７が生成される。
【００５８】
データ生成部２６は、例えば、内部メモリ３３に読み出した幅Ｗｆｃ１のスクリーンデータ１６の１ライン分のラインデータ１６Ａを幅Ｗｆｃ１の周期で繰り返し配置する拡張処理を、主走査方向ＦＣの幅がｗｆｃ２に達するまで行う。これにより、ラインデータ１６Ａの主走査方向ＦＣの幅がｗｆｃ２まで拡張される。
【００５９】
ここで、幅Ｗｆｃ１は第１幅の一例であり、幅Ｗｆｃ２は第２幅の一例である。また、ラインデータ１６Ａは第１ラインデータの一例であり、ラインデータ１７Ａは第２ラインデータの一例である。
【００６０】
このように、データ生成部２６は、以下のような処理を施す生成部の一例である。すなわち、まず、データ生成部２６は、プロセッサ２１の外部に存在し、スクリーンデータ１６が格納される第１外部メモリ（一例として第１領域２２Ａ）から、スクリーンデータ１６を少なくとも１ライン含む第１ラインデータ（一例としてラインデータ１６Ａ）を単位として、スクリーンデータ１６を一部ずつ内部メモリ３３に読み出す。かつ、データ生成部２６は、第１ラインデータを循環的に使用して主走査方向ＦＣの幅を拡張することにより、主走査方向ＦＣの幅が第２幅Ｗｆｃ２の第２ラインデータ（一例としてラインデータ１７Ａ）を得る拡張処理と、第２ラインデータをプロセッサ２１の外部に存在する第２外部メモリ（一例としてい第２領域２２Ｂ）に書き込む書き込み処理とを繰り返す。データ生成部２６は、こうした拡張処理と書き込み処理とを繰り返すことにより、第２ラインデータがスクリーンデータ１６の副走査方向ＳＣに拡張された拡張スクリーンデータ１７を生成する。
【００６１】
拡張スクリーンデータ１７の副走査方向ＳＣの幅は、入力画像１３の幅Ｗｓｃ２よりも狭く、本例においては、スクリーンデータ１６の副走査方向ＳＣの幅Ｗｓｃ１と同じである。つまり、本例の拡張スクリーンデータ１７は、スクリーンデータ１６を主走査方向ＦＣにのみ拡張したものである。
【００６２】
図６に示すように、比較処理部２７は、第２制御部４１、第２読み出し部４２、比較部４３、及び出力部４４を備えている。第２制御部４１は、比較処理部２７の各部を統括的に制御する。第２読み出し部４２は、第３領域２２Ｃから、ハーフトーン処理の対象である入力画像１３を、第２領域２２Ｂから、拡張スクリーンデータ１７をそれぞれ画素単位で読み出す。
【００６３】
第２読み出し部４２は、入力画像１３と拡張スクリーンデータ１７の対応する位置にある画素を比較部４３に出力する。具体的には、第２読み出し部４２は、第３領域２２Ｃ内の入力画像１３の１ライン目のラインデータ１３Ａの１列目の画素と、第２領域２２Ｂ内の拡張スクリーンデータ１７の１ライン目のラインデータ１７Ａの１列目の画素とをそれぞれ選択する。そして、第２読み出し部４２は、選択した１列目の画素の画素値を、ラインデータ１３Ａとラインデータ１７Ａからそれぞれ読み出して比較部４３に出力する。次に、第２読み出し部４２は、読み出す画素の画素位置である読み出しアドレスを主走査方向ＦＣに１画素分シフトして、２列目の画素を選択する。そして、第２読み出し部４２は、選択した２列目の画素の画素値を、ラインデータ１３Ａとラインデータ１７Ａとからそれぞれ読み出して比較部４３に出力する。
【００６４】
１ライン目のラインデータ１３Ａ及び１ライン目のラインデータ１７Ａの読み出しが終了した場合は、第２読み出し部４２は、第３領域２２Ｃ内の入力画像１３と、第２領域２２Ｂ内の拡張スクリーンデータ１７とにおいて、それぞれの読み出しアドレスを、副走査方向ＳＣに１ライン分（１画素分）シフトする。そして、第２読み出し部４２は、入力画像１３と拡張スクリーンデータ１７において、１ライン目と同様に２ライン目の読み出しを行う。第２読み出し部４２は、２ライン目のラインデータ１３Ａ及び２ライン目のラインデータ１７Ａについて、読み出しアドレスを主走査方向ＦＣに１画素ずつシフトさせながら、それぞれの対応する位置の画素の画素値の読み出しを繰り返す。
【００６５】
副走査方向ＳＣのシフトにおいて、拡張スクリーンデータ１７については、最終ラインまで到達した場合は、１ライン目に戻って循環的に読み出しが行われる。入力画像１３については、最終ラインまで到達した場合は、読み出しが終了する。
【００６６】
比較部４３は、第２読み出し部４２から出力される、入力画像１３と拡張スクリーンデータ１７との画素値を１画素ずつ比較して、比較結果を出力する。比較結果は「０」か「１」の値が出力される。比較部４３は、データ生成部２６によって拡張スクリーンデータ１７が生成された後に、拡張スクリーンデータ１７と、入力画像１３とを画素単位で比較する比較処理を実行する比較部の一例である。
【００６７】
出力部４４は、比較部４３の比較結果である「０」か「１」の値を、第４領域２２Ｄに出力画像１４の画素値として書き込む。入力画像１３の全画素について比較処理が完了すると、各画素が「０」か「１」の値を持つ出力画像１４が第４領域２２Ｄに出力される。出力部４４は、比較部４３の比較結果に基づいて、ハーフトーン化された出力画像１４を出力する出力部の一例である。
【００６８】
以下、上記構成の作用について、図７及び図８に示すフローチャートを参照しながら説明する。画像形成装置１０に印刷すべき入力画像１３が入力されると、入力画像１３は、外部メモリ２２の第３領域２２Ｃに格納される。画像形成装置１０は、印刷部１１の印刷処理に先立って、種々の画像処理を施すが、その１つとして、入力画像１３に対して、ハーフトーン処理装置１２によるハーフトーン処理を施す。
【００６９】
ハーフトーン処理装置１２は、比較処理に先立って、図７に一例として示す、拡張スクリーンデータ１７を生成する拡張処理を実行する。
【００７０】
図７において、ハーフトーン処理装置１２は、入力画像１３が入力された場合には（ステップＳ１００１でＹ）、ステップＳ１００２に進む。ステップＳ１００２において、データ生成部２６は、第１領域２２Ａからスクリーンデータ１６の１ライン分のラインデータ１６Ａを内部メモリ３３に読み出す。次に、ステップＳ１００３において、データ生成部２６は、読み出された１ライン分のラインデータ１６Ａを主走査方向ＦＣに拡張する。この拡張処理により、主走査方向ＦＣの幅がＷｆｃ２のラインデータ１７Ａが生成される。生成されたラインデータ１７Ａは第２領域２２Ｂに書き込まれる。
【００７１】
ステップＳ１００４において、スクリーンデータ１６の副走査方向ＳＣの全ライン分の拡張処理が終了していない場合は（ステップＳ１００４でＮ）、次のラインのスクリーンデータ１６の読み出しが行われて、拡張処理が繰り返される。全ライン分の拡張処理が終了すると（ステップＳ１００４でＹ）、主走査方向ＦＣの幅が、入力画像１３の幅Ｗｆｃ２で、副走査方向ＳＣの幅がスクリーンデータ１６の幅Ｗｓｃ１の拡張スクリーンデータ１７の生成が完了する。拡張スクリーンデータ１７は、第２領域２２Ｂに格納される。
【００７２】
ハーフトーン処理装置１２は、拡張スクリーンデータ１７の生成後、図８に一例として示す手順に従って比較処理を実行する。ステップＳ１００５において、第２読み出し部４２は、第３領域２２Ｃから入力画像１３を、第２領域２２Ｂから拡張スクリーンデータ１７をそれぞれ１画素ずつ読み出す。より具体的には、第２読み出し部４２は、読み出しアドレスを指定することにより、入力画像１３と拡張スクリーンデータ１７の対応する位置にある画素を選択する。そして、第２読み出し部４２は、選択した画素の画素値をそれぞれ読み出して、比較部４３に出力する。
【００７３】
ステップＳ１００６において、比較部４３は、入力された２つの画素の画素値同士を比較して、比較結果を出力する。ステップＳ１００７において、出力部４４は、比較結果を出力画像１４の画素値として第４領域２２Ｄに出力する。
【００７４】
ステップＳ１００７において、１画素分の比較処理が終了した場合は、ステップＳ１００８において、第２読み出し部４２は、ラインデータ１３Ａ及びラインデータ１７Ａの読み出しアドレスをそれぞれ１画素分シフトさせて次の画素の画素値を読み出す。
【００７５】
具体的には、第２読み出し部４２は、１ラインの途中の画素が選択されている場合は、読み出しアドレスを主走査方向ＦＣに１画素分シフトさせて、次の画素を選択して読み出す。また、１ラインの最終列の画素が選択されている場合は、１ラインの先頭（１列目）の読み出しアドレスを副走査方向ＳＣに１ライン分（１画素分）シフトさせて、次のラインの読み出しを開始する。
【００７６】
ステップＳ１００９において、入力画像１３の全ライン分の比較処理が終了するまでの間（ステップＳ１００９でＮ）、ステップＳ１００５からステップＳ１００８までの処理が繰り返される。ステップＳ１００９において、入力画像１３の全ライン分の比較処理が終了した場合は（ステップＳ１００９でＹ）、出力画像１４が完成し、ハーフトーン処理が終了する。
【００７７】
図９は、図７及び図８に一例として示した本実施形態に係るハーフトーン処理を概念的に示した図である。図９に示すように、本実施形態に係るハーフトーン処理装置１２は、まず、入力画像１３の主走査方向ＦＣの幅Ｗｆｃ２に応じて、スクリーンデータ１６の主走査方向ＦＣの幅Ｗｆｃ１を拡張する拡張処理を実行して、拡張スクリーンデータ１７を生成する。スクリーンデータ１６の主走査方向ＦＣの拡張処理は、スクリーンデータ１６の副走査方向ＳＣの幅Ｗｓｃ１だけ行われる。そして、ハーフトーン処理装置１２は、拡張スクリーンデータ１７を生成した後、拡張スクリーンデータ１７を用いて、比較処理を実行する。比較処理においては、画素値の読み出しアドレスのシフトを繰り返すことにより読み出し画素の選択が行われる。
【００７８】
これに対して、図１０及び図１１は、比較例を示す図であり、図１０は、比較例のハーフトーン処理装置２０１の構成を示し、図１１は、比較例のハーフトーン処理装置２０１が実行するハーフトーン処理の手順を示すフローチャートである。
【００７９】
図１０に示すように、比較例のハーフトーン処理装置２０１において、プロセッサ２１は、制御部５０、第１読み出し部３２、内部メモリ３３、拡張部３４、第２読み出し部４２、比較部４３、及び出力部４４を有している。制御部５０は、ハーフトーン処理装置２０１の各部を制御する。第１読み出し部３２等については、本実施形態に係るハーフトーン処理装置１２の構成とほぼ同様であるため、説明を省略する。
【００８０】
図１１のフローチャートに示すように、比較例のハーフトーン処理装置２０１は、ステップＳ２００１において、入力画像１３が入力されると（ステップＳ２００１でＹ）、ステップＳ２００２に進む。第１読み出し部３２は、ステップＳ２００２において、スクリーンデータ１６を全ライン読み出して内部メモリ３３に格納する。
【００８１】
ステップＳ２００３において、ハーフトーン処理装置２０１は、スクリーンデータ１６を拡張しながら、入力画像１３及びスクリーンデータ１６のそれぞれの対応する位置にある画素の画素値を１画素ずつ読み出す。
【００８２】
上述のとおり、スクリーンデータ１６の主走査方向ＦＣの幅Ｗｆｃ１は、入力画像１３の主走査方向の幅Ｗｆｃ２よりも狭い。そのため、ステップＳ２００３において、拡張部３４は、スクリーンデータ１６を循環的に使用する拡張処理を行う。拡張部３４は、スクリーンデータ１６を拡張しながら、スクリーンデータ１６を１画素ずつ第２読み出し部４２に出力する。第２読み出し部４２は、入力画像１３及びスクリーンデータ１６のそれぞれの画素値を１画素ずつ比較部４３に出力する。
【００８３】
ステップＳ２００４において、比較部４３は入力された画素値を比較して、比較結果を出力し、ステップＳ２００５において、比較結果が出力画像１４の画素値として出力される。こうした処理が入力画像１３の全ライン分終了するまで（ステップＳ２００６でＹ）、繰り返される。
【００８４】
このように、比較例のハーフトーン処理装置２０１は、スクリーンデータ１６の主走査方向ＦＣへの拡張処理と画素値の比較処理とを並列的に行う。その結果、スクリーンデータ１６の拡張処理は、入力画像１３の全ライン分の比較処理が終了するまで繰り返される。また、その間、内部メモリ３３の一部の領域は、スクリーンデータ１６によって占有される。
【００８５】
なお、比較例のステップＳ２００２において、スクリーンデータ１６の全部を内部メモリ３３に読み出す理由は、ハーフトーン処理が終了するまでの間、ステップＳ２００３及びＳ２００４において、スクリーンデータ１６の拡張処理と比較処理とが繰り返されるためである。このように、スクリーンデータ１６の全ラインを読み出しておかないと、循環的に使用される同じスクリーンデータ１６の外部メモリ２２から内部メモリ３３への読み出しが繰り返されることになるからである。
【００８６】
対して、本実施形態に係るハーフトーン処理装置１２は、スクリーンデータ１６の副走査方向ＳＣのライン数分の拡張処理で済む。そのため、図１０及び図１１に一例として示した比較例のハーフトーン処理装置２０１と比べて、スクリーンデータ１６の拡張処理の総量が減る。また、比較例のハーフトーン処理装置２０１においては、ハーフトーン処理が終了するまでの間、内部メモリ３３にスクリーンデータ１６の全ラインが保持される。対して、本実施形態に係るハーフトーン処理装置１２は、比較処理の段階では、内部メモリ３３へのスクリーンデータ１６の読み出しが不要である。
【００８７】
スクリーンデータ１６の拡張処理は、処理時間が掛ることに加えて、プロセッサ２１内の回路要素等の内部リソースの消費量が大きなアドレス計算が伴う。こうした拡張処理の総量を減らすことで、拡張処理の処理時間が短縮され、かつ、プロセッサ２１内の内部リソースの消費量が抑制される。
【００８８】
プロセッサ２１として回路再構成デバイスが使用されているため、内部リソースの消費量が抑制されれば、それによって生じた内部リソースの空き容量が他の処理に活用されるなど内部リソースが有効活用される。
【００８９】
また、拡張スクリーンデータ１７が予め作成されているため、比較例のように拡張処理と比較処理とを並列的に行う場合と比べて、比較処理におけるスクリーンデータ１６の読み出し時間が短縮される。
【００９０】
このように、プロセッサ２１の内部リソースの消費量が抑制されて、内部リソースの空き容量が増加すると、例えば、後述する第２実施形態のように処理の並列度が高まる。その結果、さらに処理時間が短縮される。
【００９１】
また、本実施形態に係るハーフトーン処理装置１２は、拡張スクリーンデータ１７の生成に際して、スクリーンデータ１６をライン単位で一部ずつ内部メモリ３３に読み出して生成処理を実行する。そのため、スクリーンデータ１６の全部をプロセッサ２１の内部メモリ３３に読み出して処理する場合と比較して、プロセッサ２１内において内部メモリ３３に割り当てる回路要素が減る。そのため、プロセッサ２１内の内部リソースの空き容量が増加する。
【００９２】
入力画像１３の画像サイズが大きくなると、スクリーンデータ１６のサイズも大きくなる傾向がある。スクリーンデータ１６のサイズが大きくなるほど、内部メモリ３３等の内部リソースの消費量は多くなるが、そのような場合でも、ライン単位で一部ずつ処理することで、内部リソースの消費量がより抑制される。消費量の抑制により生じた内部リソースの空き容量は、上述のとおり、他の処理に活用される。
【００９３】
また、本実施形態に係るハーフトーン処理装置１２において、ハーフトーン処理を実行するプロセッサ２１は、製造後に回路構成を変更可能な回路再構成デバイスが使用される。回路再構成デバイスは、回路構成を変更可能であるため、スクリーンデータ１６のサイズ変更に対して柔軟に対応しやすい。また、回路再構成デバイスは、後述する図１４から図１７に示す例のように複数種類のスクリーンデータを使用する場合において、スクリーンデータの種類の数の変更に対しても、柔軟に対応しやすい。
【００９４】
また、本実施形態に係るハーフトーン処理装置１２において、データ生成部２６、比較部４３、及び出力部４４は、内部メモリ３３とともに、回路再構成デバイスの一例であるプロセッサ２１内に構築される。データ生成部２６、比較部４３、及び出力部４４といった処理部がプロセッサ２１内に構築される場合、プロセッサ２１の回路要素は有限であるため、処理部が構築される分、内部メモリ３３に対する割り当て量が減る。上述したとおり、本実施形態に係るハーフトーン処理装置１２においては、スクリーンデータ１６の拡張処理がライン単位で一部ずつ行われて、かつ、拡張スクリーンデータの生成を行った後、比較処理が行われる。そのため、比較例と比較して、内部メモリ３３の使用量が抑制される。このため、プロセッサ２１内において内部メモリ３３に対する割り当て量が少ない場合にもハーフトーン処理を実行しやすい。
【００９５】
また、内部リソースの空き容量が増加すると、例えば、プロセッサ２１の内部リソースを、ハーフトーン処理とは別の画像処理に割り当てるといったことが可能となる。別の画像処理としては、例えば、ハーフトーン処理において出力された出力画像１４に対する圧縮処理などがある。
【００９６】
「第２実施形態」
図１２及び図１３に一例として示す第２実施形態に係るハーフトーン処理装置１２は、データ生成部２６が、拡張スクリーンデータの生成に必要な処理を並列的に実行可能な複数の処理部を有している。
【００９７】
図１２及び図１３に示す例において、拡張部３４は、複数の処理部の一例である複数の演算部３４Ａを有している。各演算部３４Ａは、拡張スクリーンデータ１７の生成に必要な処理として、アドレスの計算などの演算を並列的に実行する。本例では、４つの演算部３４Ａが有り、内部メモリ３３には、スクリーンデータ１６のラインデータ１６Ａが、演算部３４Ａの数に対応して４ライン分読み込まれる。
【００９８】
図１３に示すように、各演算部３４Ａは、アドレス計算を行って、内部メモリ３３内のラインデータ１６Ａから画素値を１画素分ずつ読み出す。さらに、各演算部３４Ａは、読み出したそれぞれの画素値が順番に整列して配置されるようにアドレス計算を行う。例えば、図１３において１段目の演算部３４Ａがラインデータ１６Ａの１列目、２段目の演算部３４Ａが２列目、３段目の演算部３４Ａが３列目、４段目の演算部３４Ａが４列目というように、各演算部３４Ａがラインデータ１６Ａの複数列の画素の画素値を並列的に読み出す。そして、１段目の演算部３４Ａが出力する画素値が、拡張スクリーンデータ１７のラインデータ１７Ａの１列目、２段目の演算部３４Ａが出力する画素値が２列目、３段目の演算部３４Ａが出力する画素値が３列目、４段目の演算部３４Ａが出力する画素値が４列目に配置されるように、アドレス計算が行われる。
【００９９】
こうした処理が、ラインデータ１７Ａの主走査方向ＦＣの幅が、入力画像１３の幅Ｗｆｃ２に相当する幅になるまで繰り返される。このようにスクリーンデータ１６の拡張処理に際して、複数の演算部３４Ａによって並列的な処理が行われるため、拡張処理の処理時間が短縮される。
【０１００】
図１４に第２実施形態の一例として示すハーフトーン処理装置１２において、データ生成部２６は、複数の生成部２６Ａから２６Ｃを有する。本例では、第１生成部２６Ａ、第２生成部２６Ｂ及び第３生成部２６Ｃの３つの生成部を有する。第１生成部２６Ａから第３生成部２６Ｃは、入力画像１３を構成する構成要素の種類に応じて適用される各種のスクリーンデータ５１、５３、及び５５に基づいて、それぞれの拡張スクリーンデータ５２、５４、及び５６を並列的に生成する。第１生成部２６Ａから第３生成部２６Ｃは、拡張スクリーンデータの生成に必要な処理を並列的に実行可能な複数の処理部の一例である。
【０１０１】
本例のように、入力画像１３を構成する構成要素の種類に応じて、適用するスクリーンデータの種類が変更される場合がある。ここで、入力画像１３の構成要素とは、図１５に示すように、写真１３Ｃ、文字１３Ｄ、及び図形１３Ｅといった、入力画像１３が表す画像内容をいう。図１５においては、１つの入力画像１３内に写真１３Ｃ、文字１３Ｄ、及び図形１３Ｅといった複数種類の構成要素が混在している。また、図１５とは異なり、ある入力画像の構成要素は写真であり、別の入力画像の構成要素は文字であるというように入力画像毎に構成要素の種類が異なる場合もある。
【０１０２】
図１４において、本例では、第２領域２２Ａに、写真１３Ｃ、文字１３Ｄ、及び図形１３Ｅのそれぞれの構成要素に応じた複数種類のスクリーンデータ５１、５３、５５が格納されている。スクリーンデータ５１のサイズは、上述のスクリーンデータ１６と同様に、２５６画素×２５６画素である。対して、スクリーンデータ５３、５５のサイズは、３２画素×３２画素である。
【０１０３】
データ生成部２６は、各スクリーンデータ５１、５３、５５に基づいて、入力画像１３の主走査方向ＦＣの幅Ｗｆｃ２に応じた拡張スクリーンデータ５２、５４、５６をそれぞれ生成する。
【０１０４】
第１生成部２６Ａは、写真１３Ｃに適用されるスクリーンデータ５１のラインデータ５１Ａを、ラインデータ５２Ａに拡張して、これをスクリーンデータ５１のライン数分繰り返すことにより、拡張スクリーンデータ５２を生成する。第２生成部２６Ｂは、文字１３Ｄに適用されるスクリーンデータ５３のラインデータ５３Ａを、ラインデータ５４Ａに拡張して、これをスクリーンデータ５３のライン数分繰り返すことにより、拡張スクリーンデータ５４を生成する。第３生成部２６Ｃは、図形１３Ｅに適用されるスクリーンデータ５５のラインデータ５５Ａを、ラインデータ５６Ａに拡張して、これをスクリーンデータ５５のライン数分繰り返して、拡張スクリーンデータ５６を生成する。生成された拡張スクリーンデータ５２、５４、５６は、第２領域２２Ｂに格納される。
【０１０５】
第２実施形態のハーフトーン処理装置１２においては、このように構成要素の種類に応じた複数種類の拡張スクリーンデータ５２、５４、５６に基づいて、比較処理が実行される。
【０１０６】
図１５に一例として示すように、入力画像１３のデータ構成においては、画像データに付帯する付帯情報として、識別情報１３Ｂが含まれている。識別情報１３Ｂは、入力画像１３の画素毎に、写真１３Ｃ、文字１３Ｄ、及び図形１３Ｅといった構成要素の種類を識別するための情報である。
【０１０７】
図１６に一例として示すように、識別情報１３Ｂには、画素位置ＰＸと、入力画像１３の画素位置ＰＸに対応する、構成要素の種類を示す情報との対応関係が記録されている。本例では、画素位置ＰＸ（１，１）の画素が構成する構成要素は「文字」であり、画素位置ＰＸ（２０１，５０）の画素が構成する構成要素は「写真」であり、画素位置ＰＸ（５０，５０１）の画素が構成する構成要素は「図形」である。
【０１０８】
データ生成部２６は、例えば、第１制御部３１は、入力画像１３の識別情報１３Ｂを参照して、入力画像１３に含まれる構成要素を判定する。そして、第１制御部３１は、判定結果に基づいて、第１生成部２６Ａから第３生成部２６Ｃに対して拡張スクリーンデータ５６の実行を指示する。
【０１０９】
図１７に第２実施形態の一例として示す比較処理部２７は、第２読み出し部４２内に、選択部４２Ａが設けられている。第２読み出し部４２は、入力画像１３の画素値を画素単位で読み出して、比較部４３に入力する。その際に、第２読み出し部４２は、読み出した画素の画素位置に対応する識別情報１３Ｂを読み出す。選択部４２Ａは、読み出された識別情報１３Ｂに応じて、拡張スクリーンデータ５２、５４、５６の種類を選択する。
【０１１０】
例えば、第２読み出し部４２は、図１６の例に示す画素位置がＰＸ（１，１）に対応する、入力画像１３の画素値を読み出した場合は、選択部４２Ａには、ＰＸ（１，１）に対応する「文字」の識別情報１３Ｂも読み出される。選択部４２Ａは、「文字」の識別情報１３Ｂが読み出された場合は、拡張スクリーンデータ５２、５４、５６の中から、文字用の拡張スクリーンデータ５４を選択する。そして、選択部４２Ａは、文字用の拡張スクリーンデータ５４の画素値を比較部４３に入力する。
【０１１１】
同様に、選択部４２Ａに対して、図１６の例に示す画素位置がＰＸ（２０１，５０）に対応する「写真」の識別情報１３Ｂが読み出された場合は、写真用の拡張スクリーンデータ５２が選択される。選択部４２Ａに対して、図１６の例に示す画素位置がＰＸ（５０，５０１）に対応する「図形」の識別情報１３Ｂが読み出された場合は、図形用の拡張スクリーンデータ５６が選択される。
【０１１２】
このように、図１４〜図１７に示す本例のハーフトーン処理装置１２においては、入力画像１３の構成要素の種類に応じて、拡張スクリーンデータが種類毎に生成される。そのため、まず、第１実施形態と同様に、拡張スクリーンデータを生成しない場合と比べて、拡張処理の総量が減る。
【０１１３】
また、本例のようにスクリーンデータ１６の種類が多い場合、図１０及び図１１に示す比較例のように、内部メモリ３３にスクリーンデータ１６の全部を読み出すと、スクリーンデータ１６の種類が多い分、内部メモリ３３の消費量がさらに増加する。そのため、本例のように、スクリーンデータ１６をライン単位で一部ずつ読み出して拡張処理を行う方式は、スクリーンデータ１６の種類が多いほど有効である。
【０１１４】
また、本例のハーフトーン処理装置１２は、図１４に示すように、スクリーンデータの種類毎の拡張スクリーンデータをそれぞれ生成する第１生成部２６Ａ〜第３生成部２６Ｃを有している。そして、第１生成部２６Ａ〜第３生成部２６Ｃは、処理を並列的に実行可能であるため、生成部が１つの場合と比べて、拡張スクリーンデータを生成する時間が短縮される。
【０１１５】
また、本例のハーフトーン処理装置１２は、拡張スクリーンデータが種類毎に生成されて、識別情報１３Ｂに基づいて、入力画像１３の画素毎に構成要素の種類を識別して、拡張スクリーンデータの種類を選択する。そのため、入力画像１３を画像解析して、画素毎の構成要素の種類を識別する場合と比較して、拡張スクリーンデータの種類を選択する場合と比較して、処理速度が速い。
【０１１６】
「その他の実施形態」
図１８に一例として示すハーフトーン処理装置１２において、比較処理部２７は、複数の比較部４３を有する。複数の比較部４３は、複数の画素に対して並列的に比較処理を実行する。各比較部４３には、入力画像１３と、例えば、拡張スクリーンデータ１７とが１画素ずつ入力される。本例では、比較部４３は、４つ設けられているため、４画素ずつ並列的に処理される。そのため、１つの比較部４３で比較処理を実行する場合に比べて、比較処理の時間が短縮される。
【０１１７】
また、ハーフトーン処理装置１２において、ハーフトーン処理を実行するプロセッサ２１は、ハーフトーン処理の途中に回路構成の変更を可能としてもよい。例えば、図１９に示す例では、ハーフトーン処理の開始時において、プロセッサ２１内に、拡張スクリーンデータ生成部２６が構築される。そして、この状態で拡張スクリーンデータの生成が行われる。その後に、プロセッサ２１内の回路構成が変更されて、比較処理部２７が構築される。この状態で比較処理が行われる。これにより、プロセッサ２１の内部リソースが有効活用される。
【０１１８】
また、上記各実施形態では、ハーフトーン処理装置１２を画像形成装置１０内に設けた例で説明したが、図２０に一例として示すように、ハーフトーン処理装置１２は、画像形成装置１０とは別に設けられてもよい。
【０１１９】
なお、上記実施形態では、拡張スクリーンデータ１７の副走査方向ＳＣの幅を、スクリーンデータ１６の副走査方向ＳＣの幅Ｗｓｃ１と同じにした例で説明している。しかし、拡張スクリーンデータ１７の副走査方向ＳＣの幅は、スクリーンデータ１６の幅Ｗｓｃ１と同じでなくてもよく、入力画像１３の副走査方向ＳＣの幅Ｗｓｃ２の幅よりも狭ければよい。
【０１２０】
上記実施形態で示したように、拡張スクリーンデータ１７の副走査方向ＳＣの幅が、スクリーンデータ１６の幅Ｗｓｃ１と同じであればよく、図１０及び図１１に示す比較例と比較して、拡張処理の総数の減少量が最大になる。しかし、拡張スクリーンデータ１７の副走査方向ＳＣの幅が、入力画像１３の幅Ｗｓｃ２のよりも狭ければ、スクリーンデータ１６の幅Ｗｓｃ１と同じでなくても、図１０及び図１１に示す比較例との比較においては、拡張処理の総数は減る。
【０１２１】
なお、データ生成部２６は、第１読み出し部３２において、ラインデータ１６Ａを１ラインずつ読み出しているが、ラインデータ１６Ａを複数ラインずつ読み出してもよい。上記実施形態で示したように、１ラインずつ読み出す方式は、内部メモリ３３の使用量が最少になる。しかし、複数ラインずつ読み出しても、スクリーンデータ１６の一部を読み出す方式であれば、スクリーンデータ１６の全部を読み出す方式と比較して、内部メモリ３３の使用量は少ない。
【０１２２】
また、上記実施形態では、プロセッサ２１の例として、製造後に回路構成を変更可能な回路再構成デバイス、ＦＰＧＡ、ＤＲＰ及びＳＯＣなどを例に説明した。しかし、例えばＡＳＩＣ（Application Specific Integrated Circuit）など、回路構成を変更可能なデバイスでなくてもよい。
【０１２３】
上記実施形態で説明したハーフトーン処理装置、及び画像形成装置の構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
【０１２４】
また、上記実施形態で説明した処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
【０１２５】
また、上記実施形態では、記録媒体として記録紙を例に説明したが、記録媒体は記録紙でなくてもよく、例えば、薄いプラスチックシートなどでもよい。
【符号の説明】
【０１２６】
１０   画像形成装置
１１   印刷部
１２   ハーフトーン処理装置
１３   入力画像
１３Ａ ラインデータ
１３Ｂ 識別情報
１３Ｃ 写真
１３Ｄ 文字
１３Ｅ 図形
１４   出力画像
１５   印刷物
１６、５１、５３、５５    スクリーンデータ
１６Ａ、５１Ａ、５３Ａ、５５Ａ    ラインデータ
１７、５２、５４、５６    拡張スクリーンデータ
１７Ａ、５２Ａ、５４Ａ、５６Ａ     ラインデータ
２１   プロセッサ
２２   外部メモリ
２２Ａ 第１領域
２２Ｂ 第２領域
２２Ｃ 第３領域
２２Ｄ 第４領域
２６   拡張スクリーンデータ生成部（データ生成部）
２６Ａ 第１生成部
２６Ｂ 第２生成部
２６Ｃ 第３生成部
２７   比較処理部
３１   第１制御部
３２   第１読み出し部
３３   内部メモリ
３４   拡張部
３４Ａ 演算部
３６   書き込み部
４１   第２制御部
４２   第２読み出し部
４２Ａ 選択部
４３   比較部
４４   出力部
５０   制御部
２０１ ハーフトーン処理装置
ＦＣ   主走査方向
ＳＣ   副走査方向
Ｗｆｃ１      幅
Ｗｆｃ２      幅
Ｗｓｃ１      幅
Ｗｓｃ２      幅
【図１】
2020053714.tif 000003
【図２】
2020053714.tif 000004
【図３】
2020053714.tif 000005
【図４】
2020053714.tif 000006
【図５】
2020053714.tif 000007
【図６】
2020053714.tif 000008
【図７】
2020053714.tif 000009
【図８】
2020053714.tif 000010
【図９】
2020053714.tif 000011
【図１０】
2020053714.tif 000012
【図１１】
2020053714.tif 000013
【図１２】
2020053714.tif 000014
【図１３】
2020053714.tif 000015
【図１４】
2020053714.tif 000016
【図１５】
2020053714.tif 000017
【図１６】
2020053714.tif 000018
【図１７】
2020053714.tif 000019
【図１８】
2020053714.tif 000020
【図１９】
2020053714.tif 000021
【図２０】
2020053714.tif 000022