"第1色の階調値に対してハーフトン処理を行った第1ハーフトンパターンが記憶される、水平ラインに沿った方向であるX方向に描画単位でアクセスされる第1の記憶手段と、第2色の階調値に対してハーフトン処理を行った第2ハーフトンパターンが記憶される、X方向に描画単位でアクセスされる第2の記憶手段と、ブラシパターンが記憶される、X方向に描画単位でアクセスされる第3の記憶手段と、前記第1の記憶手段から前記描画単位で読み出された前記第1ハーフトンパターンを、水平ラインにおける描画位置に従い該水平ライン上の描画始点に向かう第1の方向にシフトさせると共に、該第1ハーフトンパターンを該水平ライン上の描画終点に向かう第2の方向にさらに付加して、該描画単位で出力する第1のシフト手段と、前記第2の記憶手段から前記描画単位で読み出された前記第2ハーフトンパターンを、前記描画位置に従い前記第1の方向にシフトさせると共に、該第2ハーフトンパターンを前記第2の方向にさらに付加して、前記描画単位で出力する第2のシフト手段と、前記第3の記憶手段から前記描画単位で読み出された前記ブラシパターンを、前記描画位置に従い前記第1の方向にシフトさせると共に、該ブラシパターンを前記第2の方向にさらに付加して、前記描画単位で出力する第3のシフト手段と、前記第1のシフト手段から出力される前記描画単位の前記第1ハーフトンパターンと、前記第2のシフト手段から出力される前記描画単位の前記第2のハーフトンパターンとのうち何れを出力するかを、前記第3のシフト手段から出力され前記描画単位の前記ブラシパターンに従い画素単位で選択するブラシ合成手段とを有することを特徴とする画像処理装置。前記第1の記憶手段は、前記第1ハーフトンパターンが、X方向の幅が前記描画単位のX方向の幅以下で、且つ、最大となるように、X方向に繰り返して記憶され、前記第2の記憶手段は、前記第2ハーフトンパターンが、X方向の幅が前記描画単位のX方向の幅以下で、且つ、最大となるように、X方向に繰り返して記憶され、前記第3の記憶手段は、前記ブラシパターンが、X方向の幅が前記描画単位のX方向の幅以下で、且つ、最大となるように、X方向に繰り返して記憶されることを特徴とする請求項1に記載の画像処理装置。前記第1のシフト手段は、前記描画単位のX幅から、前記描画位置に応じたシフト分と、前記描画単位のX方向の幅を前記第1ハーフトンパターンが前記繰り返された幅で除した余り値分とを差し引いた位置まで前記第1ハーフトンパターンをシフトさせて付加し、前記第2のシフト手段は、前記描画単位のX幅から、前記描画位置に応じたシフト分と、前記描画単位のX方向の幅を前記第2ハーフトンパターンが前記繰り返された幅で除した余り値分とを差し引いた位置まで前記第2ハーフトンパターンをシフトさせて付加し、前記第3のシフト手段は、前記描画単位のX幅から、前記描画位置に応じたシフト分と、前記描画単位のX方向の幅を前記ブラシパターンが前記繰り返された幅で除した余り値分とを差し引いた位置まで前記ブラシパターンをシフトさせて付加することを特徴とする請求項2に記載の画像処理装置。第1色の階調値および第2色の階調値それぞれと、ハーフトン閾値記憶手段に記憶されるハーフトン閾値とを比較して、該第1色の階調値に基づく前記第1ハーフトンパターンと、該第2色の階調値に基づく前記第2ハーフトンパターンとを生成し、該第1ハーフトンパターンを前記第1の記憶手段に記憶させ、該第2ハーフトンパターンを前記第2の記憶手段に記憶させるハーフトンパターン生成手段をさらに有することを特徴とする請求項1乃至請求項3の何れか1項に記載の画像処理装置。第1のシフト手段が、第1色の階調値に対してハーフトン処理を行った第1ハーフトンパターンが記憶される、水平ラインに沿った方向であるX方向に描画単位でアクセスされる第1の記憶手段から該描画単位で読み出された該第1ハーフトンパターンを、水平ラインにおける描画位置に従い該水平ライン上の描画始点に向かう第1の方向にシフトさせると共に、該第1ハーフトンパターンを該水平ライン上の描画終点に向かう第2の方向にさらに付加して、該描画単位で出力する第1のシフトステップと、第2のシフト手段が、第2色の階調値に対してハーフトン処理を行った第2ハーフトンパターンが記憶される、X方向に前記描画単位でアクセスされる第2の記憶手段から該描画単位で読み出された該第2ハーフトンパターンを、前記描画位置に従い前記第1の方向にシフトさせると共に、該第2ハーフトンパターンを前記第2の方向にさらに付加して、前記描画単位で出力する第2のシフトステップと、第3のシフト手段が、ブラシパターンが記憶される、X方向に描画単位でアクセスされる第3の記憶手段から前記描画単位で読み出された前記ブラシパターンを、該描画位置に従い前記第1の方向にシフトさせると共に、該ブラシパターンを前記第2の方向にさらに付加して、該描画単位で出力する第3のシフトステップと、ブラシ合成手段が、前記第1のシフトステップにより出力される前記描画単位の前記第1ハーフトンパターンと、前記第2のシフトステップにより出力される前記描画単位の前記第2のハーフトンパターンとのうち何れを出力するかを、前記第3のシフトステップにより出力され前記描画単位のる前記ブラシパターンに従い画素単位で選択するブラシ合成ステップとを有することを特徴とする画像処理方法。請求項1乃至請求項4の何れか1項に記載の画像処理装置と、前記ブラシ合成手段の出力に従い印刷媒体に画像形成を行う画像形成手段とを有することを特徴とする画像形成装置。上述した特許文献2は、ハーフトン処理においては、ハーフトンパターンを繰り返し使用するようにしているため、必要となるメモリ容量を抑えることができる。しかしながら、特許文献2にはブラシ処理について全く開示されておらず、特許文献2の方式を図20を用いて説明したようなブラシ処理に適用することが困難であった。本発明は、上記に鑑みてなされたものであって、ブラシ処理およびハーフトン処理をより少ないメモリ容量で実行可能とすることを目的とする。上述した課題を解決し、目的を達成するために、本発明は、第1色の階調値に対してハーフトン処理を行った第1ハーフトンパターンが記憶される、水平ラインに沿った方向であるX方向に描画単位でアクセスされる第1の記憶手段と、第2色の階調値に対してハーフトン処理を行った第2ハーフトンパターンが記憶される、X方向に描画単位でアクセスされる第2の記憶手段と、ブラシパターンが記憶される、X方向に描画単位でアクセスされる第3の記憶手段と、第1の記憶手段から描画単位で読み出された第1ハーフトンパターンを、水平ラインにおける描画位置に従い水平ライン上の描画始点に向かう第1の方向にシフトさせると共に、第1ハーフトンパターンを水平ライン上の描画終点に向かう第2の方向にさらに付加して、描画単位で出力する第1のシフト手段と、第2の記憶手段から描画単位で読み出された第2ハーフトンパターンを、描画位置に従い第1の方向にシフトさせると共に、第2ハーフトンパターンを第2の方向にさらに付加して、描画単位で出力する第2のシフト手段と、第3の記憶手段から描画単位で読み出されたブラシパターンを、描画位置に従い第1の方向にシフトさせると共に、ブラシパターンを第2の方向にさらに付加して、描画単位で出力する第3のシフト手段と、第1のシフト手段から出力される描画単位の第1ハーフトンパターンと、第2のシフト手段から出力される描画単位の第2のハーフトンパターンとのうち何れを出力するかを、第3のシフト手段から出力され描画単位のブラシパターンに従い画素単位で選択するブラシ合成手段とを有することを特徴とする。また、本発明は、第1のシフト手段が、第1色の階調値に対してハーフトン処理を行った第1ハーフトンパターンが記憶される、水平ラインに沿った方向であるX方向に描画単位でアクセスされる第1の記憶手段から描画単位で読み出された第1ハーフトンパターンを、水平ラインにおける描画位置に従い水平ライン上の描画始点に向かう第1の方向にシフトさせると共に、第1ハーフトンパターンを水平ライン上の描画終点に向かう第2の方向にさらに付加して、描画単位で出力する第1のシフトステップと、第2のシフト手段が、第2色の階調値に対してハーフトン処理を行った第2ハーフトンパターンが記憶される、X方向に描画単位でアクセスされる第2の記憶手段から描画単位で読み出された第2ハーフトンパターンを、描画位置に従い第1の方向にシフトさせると共に、第2ハーフトンパターンを第2の方向にさらに付加して、描画単位で出力する第2のシフトステップと、第3のシフト手段が、ブラシパターンが記憶される、X方向に描画単位でアクセスされる第3の記憶手段から描画単位で読み出されたブラシパターンを、描画位置に従い第1の方向にシフトさせると共に、ブラシパターンを第2の方向にさらに付加して、描画単位で出力する第3のシフトステップと、ブラシ合成手段が、第1のシフトステップにより出力される描画単位の第1ハーフトンパターンと、第2のシフトステップにより出力される描画単位の第2のハーフトンパターンとのうち何れを出力するかを、第3のシフトステップにより出力され描画単位のるブラシパターンに従い画素単位で選択するブラシ合成ステップとを有することを特徴とする。本発明によれば、より少ないメモリ容量でブラシ処理を実行できるという効果を奏する。以下に添付図面を参照して、画像処理装置および画像処理方法、ならびに、画像形成装置の実施の形態を詳細に説明する。実施形態の概略本実施形態では、中間言語作成時に、同じ階調値である描画オブジェクトを固め、そのオブジェクトの前に、ハーフトンの閾値テーブルを定義するコマンドと、第1色および第2色の階調値それぞれを設定するコマンドと、ブラシのサイズとブラシパターンテーブルとを定義するブラシ設定コマンドとを指定する。そして、閾値テーブルを定義するコマンドにより、描画処理におけるハーフトンパターンのX幅およびY幅による2次元の閾値テーブルを設定する。設定した閾値テーブルは、メモリに格納される。第1色および第2色それぞれの階調値を定義するコマンドにより、メモリから閾値テーブルを読み出し、この閾値テーブルに基づき第1色および第2色それぞれの階調値に対するハーフトン処理を施し、第1色および第2色のそれぞれの階調値について、ハーフトンパターンのX幅およびY幅による2次元のハーフトンパターンを得る。これら第1色および第2色の2次元のハーフトンパターンを、ブラシパターンで切り替えながら描画を行う。本実施形態では、以上の処理により、同じ階調値である描画オブジェクトに対して効率良くハーフトンパターンを適用することができる。そのため、逐次にハーフトンの閾値テーブルが格納されるメモリにアクセスする必要が無く、ブラシ処理をより高速に実行することが可能となる。また、本実施形態では、ハーフトンパターンの水平方向のシフト値と、ブラシパターンの水平方向のシフト値とにより、ハーフトンパターンおよびブラシパターンを、描画する描画ワード毎に逐次求めるようにしている。そのため、ハーフトンパターンを格納するメモリや、ブラシパターンを格納するメモリの容量を小さく抑えることができる。実施形態の詳細図1は、実施形態に係る画像形成装置1の一例の構成を示すブロック図である。画像形成装置1において、メモリアービタ13に対してCPUI/F11を介してCPU10が接続されると共に、ローカルI/F21を介してROM22およびパネルコントローラ23が接続される。図示は省略するが、メモリアービタ13は、メモリコントローラを有し、このメモリコントローラを介してメインメモリ14が接続される。それと共に、メモリアービタ13に対して、描画部15、符号化部16、復号部17および通信コントローラ20が接続される。復号部17の出力は、プリンタエンジン19を制御するエンジンコントローラ18に接続される。メモリアービタ13は、接続された各部間におけるデータ転送の調停を行う。CPUI/F11は、CPU10とメモリアービタ13との間のインターフェイスであって、CPU10は、CPUI/F11およびメモリアービタ13を介して、画像形成装置1の各部に接続される。パネルコントローラ23は、ユーザ操作を行うために操作子や表示部が設けられたパネル24が接続される。ROM22は、各種プログラムや文字などのフォント情報が予め記憶されている。CPU10は、ROM22に予め記憶されたプログラムに従い、図示されないRAMをワークメモリとして用いて、この画像形成装置1の動作を制御する。CPU10は、ワークメモリとしてメインメモリ14利用することも可能である。また、CPU10は、エンジンコントローラ18に対して、プリンタエンジン19を制御するための命令を出す。通信コントローラ20は、ネットワークを介して接続される、パーソナルコンピュータPCといった外部機器との間の通信を制御する。メモリアービタ13を介してなされるメインメモリ14に対するアクセスの制御は、メモリアービタ13に含まれるメモリコントローラにより行われる。メインメモリ14は、例えばPDL記憶領域、中間言語記憶領域、バンド記憶領域およびページ符号記憶領域を含む。PDL記憶領域は、例えば通信コントローラ20を介してパーソナルコンピュータから転送されたPDLが格納される。中間言語記憶領域は、PDLに基づき生成された中間言語が格納される。バンド記憶領域は、PDLに従い生成されたバンド画像データが格納される。また、ページ符号記憶領域は、符号化されたバンド画像データが格納される。さらに、メインメモリ14には、CPU10が動作するためのプログラムなどが格納される領域や、CPU10がワークメモリとして用いる領域も設けられる。描画部15は、CPU10によりPDLデータに基づき生成された中間言語を読み込んで解析し、解析結果に従い、メインメモリ14のバンド記憶領域に対してバンド画像を書き込む描画処理を行う。例えば、メインメモリ14から、描画部15により描画されたバンド画像が読み出されて、メモリアービタ13を介して符号化部16および復号部17で符号化および復号処理などを施されて、エンジンコントローラ18に供給される。エンジンコントローラ18が、供給されたバンド画像に従いプリンタエンジン19を制御することで、印刷媒体に対して画像が形成され、印刷がなされる。図2を用いて、画像形成装置1の全体的な動作の例について説明する。例えばパーソナルコンピュータで生成されたPDLデータがネットワークを介して通信コントローラ20に受信され、メインメモリ14のPDL記憶領域に記憶されるステップS10。CPU10は、メインメモリ14のPDL記憶領域からPDLデータを読み出し、PDLを解析してステップS11、解析結果に基づき中間言語を生成し、メインメモリ14の中間言語記憶領域に記憶するステップS12。描画部15は、メインメモリ14の中間言語記憶領域から読み出した中間言語に従い描画処理を行い、画像データを生成するステップS13。この描画処理において、本実施形態によるハーフトン処理およびブラシ処理が行われる。生成された画像データは、メインメモリ14のバンド記憶領域に順次書き込まれるステップS14。符号化部16は、メインメモリ14のバンド記憶領域からバンド画像データを読み出して、所定の圧縮符号化方式により、読み出したバンド画像データを圧縮符号化するステップS15。バンド画像データが圧縮符号化された符号データは、メインメモリ14のページ符号記憶領域に格納されるステップS16。復号部17は、ページ符号記憶領域から符号データを読み出して画像データに復号しステップS17、復号した画像データをエンジンコントローラ18に送る。エンジンコントローラ18は、供給された画像データに従い基づきプリンタエンジン19を制御してプリントアウトを行うステップS18。上述したステップS14の、メインメモリ14のバンド記憶領域に対する画像データの書き込みについて説明する。図3は、メインメモリ14におけるバンド記憶領域の一例のフォーマットを示す。図3の例では、バンド幅は、例えば1ページの幅すなわち水平走査主走査により描画される1水平ラインの長さであり、バンド高さは、1ページを垂直走査方向に所定に分割した1の領域の高さとしている。また、描画ワード幅は、描画部15においてバンド記憶領域をアクセスする単位を示す。図3には、バンド記憶領域に対する画像データの書き込みの例として、水平ラインYに対して、水平ラインX始点から水平ラインX終点までの水平ラインを描画書き込みした例が示されている。このように、描画部15では、画像処理を施した画像データを、水平ラインの1ライン毎にバンド記憶領域に書き込むことで、描画を行っている。なお、水平ラインに沿った方向をX方向、水平ラインに垂直な方向、すなわち副走査方向をY方向とし、例えば1ページにおける印刷領域をX,Y座標で表すものとする。上述のステップS12でCPU10に生成される中間言語について説明する。図4は、描画部15が処理する中間言語によるコマンドの一例を示す。図4の例では、各コマンドは、32ビットのデータ幅を持つ。先頭の32ビットがコマンドヘッダとされ、その後ろに、当該コマンドの各パラメータが付加される構造となっている。各コマンドは、C、M、Y、K各色について指定することができる。なお、コマンドヘッダの直後のNOPは、コマンドヘッダのデータ幅を32ビット幅に合わせるためのもので、以下、このNOPを含んでコマンドヘッダと呼ぶ。図4aは、バンド初期化コマンドの例を示す。バンド初期化コマンドは、コマンドヘッダに続き、バンドの先頭アドレス、バンド高さおよびバンド幅の各設定パラメータが指定される。図4bは、ハーフトン処理における閾値テーブルを定義する閾値定義コマンドの例を示す。コマンドヘッダに続き、ハーフトンパターンX幅およびハーフトンパターンY幅、ならびに、ハーフトン先頭閾値アドレスの各設定パラメータが指定される。なお、ハーフトン先頭閾値アドレスは、図8および図9にて後述するハーフトン閾値記憶部203においてハーフトン閾値が記憶される先頭アドレスを示す。図4cは、四角形の描画を命令する四角形描画コマンドの例を示す。コマンドヘッダに続き、四角形の左上隅のXおよびY座標、右下隅のXおよびY座標の各描画パラメータがそれぞれ指定される。図4dは、三角形の描画を命令する三角形描画コマンドの例を示す。三角形の3の頂点1、2および3それぞれのXおよびY座標の各描画パラメータが指定される。図4eは、階調値を定義する階調値セットコマンドの例を示す。コマンドヘッダに続き、第1色および第2色の階調値を設定する設定パラメータがそれぞれ指定される。図4fは、ブラシパターンを定義するブラシパターンセットコマンドの例を示す。コマンドヘッダに続き、ブラシパターンX幅およびブラシパターンY幅、ならびに、ブラシパターン先頭アドレスを設定する各設定パラメータが指定される。なお、ブラシパターン先頭アドレスは、図8および図9で後述するブラシパターン記憶部204においてブラシパターンが記憶される先頭アドレスである。図4gは、定義したバンドの描画の終了を指示するバンド終了コマンドの例を示す。このバンド終了コマンドは、コマンドヘッダのみを有する。図5は、上述のステップS13で描画部15が処理する中間言語の例を示す。この例では、C、M、Y、Kの各色の版について、それぞれ中間言語による描画コマンドのコマンド群30が生成されている。図5の例では、C色の版以下、C版では、C版バンド初期化コマンド、C版閾値テーブルセットコマンド、C版描画階調値定義コマンド、C版四角形描画コマンド、C版三角形描画コマンド、C版描画階調値定義コマンド、C版四角形描画コマンドおよびC版バンド終了コマンドが順次記述されている。M版、Y版およびK版においても、描画の内容に従い、同様にして各コマンドが列挙される。なお、コマンド群30において、ブラシパターンセットコマンド31は、各版共通のコマンドとして用いることができる。これに限らず、ブラシパターンセットコマンド31を各版に設定してもよい。図6は、図5のコマンド群30により描画されバンド記憶領域に書き込まれた各版の画像の例を示す。コマンド群30において、C、M、Y、K各版とも、1つ目の描画階調値定義コマンドで第1色および第2色の階調値がそれぞれ指定された後に四角形および三角形が描画される。その後、さらに2つ目の描画階調値定義コマンドで第1色および第2色の階調値がそれぞれ指定された後に四角形が描画されることが示されている。なお、各四角形および三角形は、第1色および第2色の階調値に、ブラシ定義コマンド31により定義されたブラシを適用して描画される。本実施形態によるブラシ処理のより詳細な説明次に、本実施形態によるブラシ処理について、より詳細に説明する。図7は、図1における描画部15の一例の構成を示す。なお、図7において、上述の図1と共通する部分には同一の符号を付し、詳細な説明を省略する。図7に示されるように、描画部15は、メモリアービタI/F100と、コマンド解析部101と、描画処理部102とを有する。メモリアービタI/F100は、コマンド解析部101および描画処理部102と、メモリアービタ13との間のインターフェイスである。コマンド解析部101は、メモリアービタI/F100を介してメモリアービタ13に対して読み出しアドレス情報を転送し、メインメモリ14における描画コマンド記憶領域から描画コマンドを読み込む。コマンド解析部101は、読み込んだ描画コマンドを解析した結果、読み込んだ描画コマンドが描画パラメータを指定するコマンドであれば、指定する描画パラメータ値を描画処理部102に転送する。また、コマンド解析部101は、読み込んだ描画コマンドがパラメータの設定を指定するコマンドであれば、設定パラメータ値を描画処理部102に転送する。描画処理部102は、コマンド解析部101から描画パラメータ値を受け取り、受け取った描画パラメータ値に従い描画処理を行う。描画処理により生成された画像データは、メインメモリ14に対する書き込みアドレスを示すアドレス情報と共に、メモリアービタI/F100を介してメモリアービタ13に転送され、メインメモリ14に書き込まれる。また、描画処理部102は、コマンド解析部101から設定パラメータ値を受け取り、受け取った設定パラメータ値を所定に設定する。コマンド解析部101は、描画処理部102に対して処理の開始を指示する起動信号を送信する。描画処理部102は、コマンド解析部101送信される起動信号により描画処理を開始する。また、描画処理部102は、描画処理が終了すると、終了信号をコマンド解析部101に対して送信して、描画処理の終了を通知する。図8は、描画処理部102の一例の構成を示す。なお、図8において、上述の図7と共通する部分には同一の符号を付して、詳細な説明を省略する。DMAアドレス生成部200は、コマンド解析部101から設定パラメータとしてハーフトン閾値先頭アドレスおよびブラシパターン先頭アドレスを受け取る。そして、受け取った各先頭アドレスからDMAアドレスを生成し、DMA読み込み部201に転送する。DMA読み込み部201は、DMAアドレス生成部200から受け取ったDMAアドレスに従い、メモリアービターI/F100を介して、メインメモリ14からハーフトンの閾値マトリクスと、ブラシパターンデータとを読み込む。読み込んだハーフトンの閾値マトリクスは、ハーフトン閾値テーブルとしてハーフトン閾値記憶部203に記憶される。また、読み込んだブラシパターンは、ブラシパターン記憶部204に記憶される。なお、本実施形態では、ハーフトン閾値記憶部203およびブラシパターン記憶部204は、それぞれ32ビットをアクセスの単位としているものとし、1画素は、8ビットのビット深度を有するものとする。また、描画データの処理単位は、128ビットであるものとする。図9は、ブラシパターン記憶部204の一例のフォーマットを示す。ここで、ブラシパターンは、X方向すなわち水平ラインに沿った方向にp画素、Y方向すなわち水平ラインに対して垂直の方向にqラインの、p画素×qラインのマトリクスからなり、各画素は、値0または値1のうち何れか一方の値を取る2値データであるものとする。例えば、値1に対して第1色を対応付け、値0に対して第2色を対応付けて、ブラシパターンに従い画素毎に第1色と第2色とを選択することで、ブラシ処理を行うことができる。ブラシパターンの水平方向の幅をブラシパターンX幅、垂直方向の幅をブラシパターンY幅と呼ぶ。描画ワード幅に対応したブラシパターン記憶部204のメモリ空間に対して、ブラシパターンをX方向に繰り返し展開して書き込んでいく。この例では、描画ワード幅が128ビット、ブラシパターンX幅が12ビットとなっているため、ブラシパターンをX方向に繰り返して書き込むと、X方向の終端部に8ビットの剰余部分が生じることになる。この剰余部分の8ビットを示す情報は、ブラシパターン余り値としてブラシパターン記憶部204に記憶される。なお、Y方向については、ブラシパターン記憶部204に対して、ブラシパターンY幅分に等しく、ブラシパターンが書き込まれることになる。図9の例では、ブラシパターンY幅が12ビット=12ラインとされている。なお、ブラシパターンX幅およびY幅は、例えばPDLデータを作成するパーソナルコンピュータ上においてユーザ側で指定することが可能である。説明を図8に戻し、一方、コマンド解析部101による描画コマンドの解析の結果、バンド初期化コマンドが得られた場合、バンドパラメータ記憶部202に対して、バンド初期アドレス、バンド高さおよびバンド幅の各バンドパラメータが記憶される。また、コマンド解析部101はによる描画コマンドの解析の結果、描画を指示するコマンド例えば四角形描画コマンドや三角形描画コマンドであった場合、描画パラメータ記憶部205に対して当該描画コマンドに含まれる描画パラメータを記憶させる。さらに、コマンド解析部101による描画コマンドの解析の結果、閾値定義コマンドが得られた場合、水平ライン描画部207に対して、ハーフトンパターンX幅およびY幅、ならびに、ハーフトン閾値先頭アドレスが設定パラメータとして転送される。同様に、コマンド解析部101による描画コマンドの解析の結果、ブラシパターンセットコマンドが得られた場合、水平ライン描画部207に対して、ブラシパターンX値およびY値、ならびに、ブラシパターン先頭アドレスが設定パラメータとして転送される。水平ライン変換部206は、描画パラメータ記憶部205から描画パラメータを読み出し、読み出した描画パラメータを水平ラインY値、水平ライン始点値および水平ライン終点値の各水平ラインデータに変換して水平ライン描画部207へ転送する。水平ライン描画部207は、さらに、バンドパラメータ記憶部202からバンドパラメータを読み出す。そして、水平ライン描画部207は、水平ライン変換部206から転送された各水平ラインデータと、バンドパラメータ記憶部202から読み出したバンドパラメータとに基づき、メモリアービターI/F100を介してメインメモリ14のバンド記憶領域に対して水平ラインの描画処理を行う。なお、水平ライン描画部207は、図12を用いて後述するハーフトン閾値アドレス生成部314で生成されたハーフトン読み込みアドレスに従い、ハーフトン閾値記憶部203からハーフトン閾値マトリクスを読み込む。また、水平ライン描画部207は、図12を用いて後述するブラシパターンアドレス生成部317で生成されたブラシパターン読み込みアドレスに従い、ブラシパターン記憶部204からブラシパターンを読み込む。そして、読み込んだこれらハーフトン閾値アドレスおよびブラシパターンアドレスに従い、描画される画像データに対するブラシ処理を行う。コントローラ210は、例えばマイクロプロセッサやROMを有し、ROMに予め記憶されたプログラムに従い描画処理部102を制御する。例えば、コントローラ210は、コマンド解析部101から送信された起動信号により描画処理部102による描画処理を開始する。また、コントローラ210は、描画終了時には、終了信号をコマンド解析部101に送信する。図10は、ハーフトン閾値記憶部203に記憶されるハーフトン閾値テーブルの一例の構成を示す。ハーフトン閾値テーブルは、水平方向X方向にm画素、垂直方向Y方向にn画素nラインの、m画素×n画素のマトリクスからなり、マトリクスの各位置に閾値が設定される。また、閾値マトリクスの各画素は、8ビットのビット深度を有する。この閾値と画像データの画素値とを比較して、比較結果に基づき画像データを2値化する。この2値化により、マトリクス中の閾値の分布に応じた濃度のハーフトンパターンが形成される。ハーフトン閾値テーブルの水平方向の幅をハーフトンパターンX幅、垂直方向の幅をハーフトンパターンY幅と呼ぶ。図11は、ハーフトン閾値記憶部203の一例のフォーマットを示す。上述したように、本実施形態では、ハーフトン閾値記憶部203は、データのアクセス単位が32ビットとされている。ハーフトン閾値テーブルの各値は、例えば、このハーフトン閾値記憶部203に対し、図11の左から右の方向に順次詰め込まれ、それが上から下の方向に向けて繰り返される。したがって、ハーフトン閾値テーブルの終端位置は、ハーフトンパターンX幅×ハーフトンパターンY幅/4=m×n/4の小数部を切り上げた値が示す行に含まれる。図12は、水平ライン描画部207の一例の構成を示す。なお、図12において、上述した図8と共通する部分には同一の符号を付して、詳細な説明を省略する。ハーフトンパターンアドレス生成部300は、水平ラインY値とハーフトンパターンY幅とから、水平ラインY値MODハーフトンパターンY幅の演算を行い、ハーフトンパターンのY値を求める。なお、MODは、剰余を求める演算子である。ハーフトンパターンアドレス生成部300は、このハーフトンパターンのY値を、ハーフトンパターンアドレスとして第1色ハーフトンパターン記憶部306および第2色ハーフトンパターン記憶部307にそれぞれ転送する。第1色ハーフトンパターン記憶部306および第2色ハーフトンパターン記憶部307は、それぞれ、第1色および第2色のハーフトンパターン値の、描画ワード幅本実施形態では128ビットの水平ラインのハーフトンパターンY幅分を記憶する。ハーフトンパターンアドレス生成部300から転送されるハーフトンパターンアドレスに従い、第1色ハーフトンパターン記憶部306に対してアクセスされた第1色のハーフトンパターン値は、第1色巡回シフト部309に転送される。同様に、当該ハーフトンパターンアドレスに従い、第2色ハーフトンパターン記憶部307に対してアクセスされた第2色のハーフトンパターン値は、第2色巡回シフト部308に転送される。上述したように、本実施形態においては、ハーフトン閾値記憶部203は、32ビットがデータのアクセス単位とされている。一方、水平ライン描画部207は、描画ワード単位、すなわち、本実施形態においては128ビットを単位として処理が行われ、第1色ハーフトンパターン記憶部306および第2色ハーフトンパターン記憶部307のフォーマットも、描画ワード単位のアクセスに準じたものになる。そのため、ハーフトンパターン生成部313において、ハーフトン閾値記憶部203から転送されたハーフトン閾値テーブルに従い行ったハーフトンパターン生成処理で得られた第1色ハーフトンパターンおよび第2色ハーフトンパターンを、描画ワード単位のフォーマットに変換して、第1色ハーフトンパターン記憶部306および第2色ハーフトンパターン記憶部307に転送する。図13は、このハーフトンパターン生成部313による処理を示す一例のフローチャートである。ステップS100で、ハーフトンパターン生成部313は、第1色のハーフトン処理を行う。すなわち、ハーフトンパターン生成部313は、ハーフトン閾値記憶部203から、ハーフトンパターンX幅の画素ハーフトン閾値テーブルのsライン目のハーフトン閾値を切り出して読み込み、読み込んだハーフトン閾値と、第1色階調値とを比較して階調処理を行う。この階調処理により、ハーフトンパターンX幅の第1色の階調処理後のデータが生成される。次のステップS101で、ハーフトンパターン生成部313は、ステップS100で得られたハーフトンパターンX幅の第1色の階調処理後のデータを、描画ワード幅まで繰り返し展開し、第1色ハーフトンパターン記憶部306に順次書き込む。処理はステップS102に移行され、ハーフトンパターン生成部313は、第2色のハーフトン処理を行う。すなわち、ハーフトンパターン生成部313は、ハーフトン閾値記憶部203から、ハーフトンパターンX幅の画素ハーフトン閾値テーブルのnライン目のハーフトン閾値を切り出して読み込み、読み込んだハーフトン閾値と、第2色階調値とを比較して階調処理を行う。この階調処理により、ハーフトンパターンX幅の第2色の階調処理後のデータが生成される。次のステップS103で、ハーフトンパターン生成部313は、ステップS102で得られたハーフトンパターンX幅の第2色の階調処理後のデータを、描画ワード幅まで繰り返し展開し、第2色ハーフトンパターン記憶部307に順次書き込む。これらステップS100~ステップS103の処理で、ハーフトンパターンの1ライン分の処理が終了する。そして、次のステップS104で、ハーフトンパターン生成部313は、ハーフトンパターンY幅分の処理が終了したか否かを判定する。若し、終了していないと判定した場合、処理をステップS100に戻し、ハーフトンパターンの次の1ライン、すなわち、ハーフトン閾値テーブルのs1ライン目についてステップS100~ステップS103の処理を行う。一方、ハーフトンパターンY幅分の処理が終了したと判定した場合、一連のハーフトンパターン生成処理が終了される。図14は、図13の処理でハーフトン閾値が書き込まれた第1色ハーフトンパターン記憶部306の一例のフォーマットを示す。なお、第2色ハーフトンパターン記憶部307のフォーマットは、この第1色ハーフトンパターン記憶部306のフォーマットと同一なので、ここでの説明を省略する。X方向の幅が描画ワード幅であるメモリ空間に対して、ハーフトン閾値テーブルを、X方向に繰り返し展開して書き込んでいく。この例では、描画ワード幅が128ビット、ハーフトンパターンX幅が20ビットとなっているため、ハーフトン閾値テーブルをX方向に繰り返して書き込むと、X方向の終端部に8ビットの剰余部分が生じることになる。この剰余部分の8ビットは、ハーフトンパターン余り値として第1色ハーフトンパターン記憶部306にさらに記憶される。なお、Y方向については、第1色ハーフトンパターン記憶部306に対して、ハーフトンパターンY幅分に等しく、ハーフトン閾値テーブルが書き込まれることになる。図14の例では、ハーフトンパターンY幅が16ラインとされている。図12の説明に戻り、X始点ワード値生成部301は、水平ライン変換部206から転送された水平ラインX始点値から、描画ワード単位の描画ワードX始点値を求め、描画ワードX値生成部303に転送する。X終点ワード値生成部302は、水平ライン変換部206から転送された水平ラインX終点値から、描画ワード単位の描画ワードX終点値を求め、描画ワードX値生成部303に転送する。描画ワードX値生成部303は、X始点ワード値生成部301およびX終点ワード値生成部302からそれぞれ転送された、描画ワード単位のX始点値からX終点値の描画ワードX値を生成し、ハーフトンパターンシフト値生成部304およびブラシパターンシフト値生成部305にそれぞれ転送する。ハーフトンパターンシフト値生成部304は、描画ワードX値生成部303から転送された描画ワードX値と、ハーフトンパターンX幅とから描画ワードX値MODハーフトンパターンX幅の演算を行い、ハーフトンパターンのX値を求める。このハーフトンパターンのX値を、ハーフトンパターンシフト値として第1色巡回シフト部309および第2色巡回シフト部308にそれぞれ転送する。第1色巡回シフト部309は、第1色ハーフトンパターン記憶部306、ハーフトンパターンシフト値生成部304および描画パラメータ記憶部205から、それぞれ、第1色ハーフトンパターン値、ハーフトンパターンシフト値およびハーフトンパターン余り値を受け取る。第1色巡回シフト回路309は、これら受け取った各値と、描画ワード幅とに基づき第1色ハーフトンパターン値を巡回シフトし、巡回シフト後のハーフトンパターン値をブラシ合成部311の第1入力端に入力する。第2色巡回シフト部308も同様に、第2色ハーフトンパターン記憶部307、ハーフトンパターンシフト値生成部304および描画パラメータ記憶部205から、それぞれ、第2色ハーフトンパターン値、ハーフトンパターンシフト値およびハーフトンパターン余り値を受け取る。第2色巡回シフト回路308は、これら受け取った各値と、描画ワード幅とに基づき第2色ハーフトンパターン値を巡回シフトし、巡回シフト後のハーフトンパターン値をブラシ合成部311の第2入力端に入力する。ブラシパターンシフト値生成部305は、コマンド解析部101から設定パラメータとして受け取ったブラシパターンX値と、描画ワードX値生成部303から転送された描画ワード値とから描画ワードX値MODブラシパターンX幅の演算を行い、ブラシパターンのX値を求める。このブラシパターンのX値を、ブラシパターンシフト値としてブラシ巡回シフト部310に転送する。ブラシパターンアドレス生成部317は、コマンド解析部101から設定パラメータとして受け取ったブラシパターンY幅と、水平ライン変換部206から転送された水平ラインY値とから水平ラインY値MODブラシパターンY幅の演算を行い、ブラシパターンのY値を求める。このブラシパターンのY値をブラシパターンアドレスとして、ブラシパターン記憶部204に転送する。ブラシパターン記憶部204において、このブラシパターンアドレスに従いブラシパターン値が読み出され、ブラシ巡回シフト部310に転送される。ブラシ巡回シフト部310は、ブラシパターンシフト値生成部305からブラシパターンシフト値を受け取ると共に、ブラシパターン記憶部204からブラシパターン値およびブラシパターン余り値をそれぞれ受け取る。ブラシ巡回シフト部310は、これら受け取った各値と、描画ワード幅とに基づきブラシパターン値を巡回シフトし、巡回シフト後のブラシパターン値をブラシ合成部311の第3入力端に入力する。ブラシパターン値は、例えば0および1の値を取る2値データである。ブラシ合成部311は、ブラシ巡回シフト部310から転送される巡回後のブラシパターン値に応じて、画素毎に、巡回後の第1色ハーフトン値と巡回後の第2色ハーフトン値とのうち何れを出力するかを選択する。これにより、第1色ハーフトン値と第2色ハーフトン値とがブラシパターンに従い合成される。合成後のハーフトンパターン値が論理演算部312の第1入力端に転送される。描画マスク生成部315は、水平ライン変換部206から受け取った水平ラインX始点値と水平ラインX終点値とから、描画ワード毎のX始点からX終点までの描画マスクを生成し、描画マスク値を論理演算部312の第2入力端に入力する。論理演算部312は、第1入力端および第2入力端の入力に対して論理積演算を行う。すなわち、論理演算部312は、ブラシ合成部311から受け取った合成後のハーフトンパターン値と、描画マスク生成部315から受け取った描画マスク値とに対して論理積演算を行って描画パターン値を生成する。この描画パターン値は、メモリアービターI/F100に対して転送される。描画アドレス生成部316は、水辺ライン変換部206から受け取った水平ラインY値と水平ラインX始点値とから、メインメモリ14におけるバンド記憶領域に対して描画を行うアドレスである描画アドレスを生成する。生成された描画アドレスは、メモリアービターI/F100に転送される。図15は、第1色巡回シフト部309の一例の構成を示す。なお、第2色巡回シフト部308およびブラシ巡回シフト部310は、この第1色巡回シフト部309と同様の構成で実施可能であるので、ここでの説明を省略する。第1色巡回シフト部309は、減算器400および401、左シフト部402、右シフト部403、ならびに、論理演算部404を有する。論理演算部404は、第1入力端および第2入力端に入力された値に対して論理和演算を行う。また、減算器400および401は、それぞれ、第1入力端に入力された値から第2入力端に入力された値を減算する。以下、描画ワード幅が128ビット、第1色ハーフトンパターンX値が20ビット、第1色ハーフトンパターン余り値が8ビット、第1色ハーフトンパターンシフト値が10ビットの場合を例にとって説明する。第1色ハーフトンパターン記憶部306から転送された描画ワード幅分の第1色ハーフトンパターン値が、左シフト部402および右シフト部403にそれぞれ入力される。左シフト部402に入力された第1色ハーフトンパターン値は、ハーフトンパターンシフト値生成部304から転送されたハーフトンパターンシフト値に従い、左シフトされるこの例では、10ビット分左シフトされる。左シフト後の第1色ハーフトンパターン値において、左シフト後の右端のビットからハーフトンパターンシフト値10ビット分のビット位置まで、各ビットの値が0に置換される。減算器400において、第1入力端に描画ワード幅の値が入力され、第2入力端に第1色ハーフトンパターンシフト値が入力される。減算器400は、描画ワード幅の値からハーフトンパターンシフト値を減じて、得られた値この例では118ビットを減算器401の第1入力端に入力する。減算器401の第2入力端には、第1色ハーフトンパターン記憶部306から転送された第1色ハーフトンパターン余り値この例では8ビットが入力される。減算器401は、減算器400の出力から第1色ハーフトンパターン余り値を減じて、得られた値この例では110ビットを右シフト部403に入力する。これにより、右シフト部403において、第1色ハーフトンパターン値が減算器401の出力に従い右シフトされるこの例では、110ビット分右シフトされる。右シフト後の第1色ハーフトンパターン値において、右シフト後の右端のビットから右シフト分110ビットのビット位置まで、各ビットの値が0に置換される。左シフト部402の出力と、右シフト部403の出力とが論理演算部404の第1および第2入力端にそれぞれ入力される。論理演算部404は、これら、左シフト部402の出力と右シフト部403の出力とに対して論理和演算を行う。論理和演算の結果得られた描画ワード幅の値は、第1色ハーフトンパターン値として出力される。第2色巡回シフト部308およびブラシ巡回シフト部310においても上述と同様な処理が行われ、第2色巡回シフト部308およびブラシ巡回シフト部310の出力は、第1色巡回シフト部309の出力と共に、それぞれブラシ合成部311に入力される。図16は、ブラシ合成部311の一例の構成を示す。ブラシ合成部311は、描画ワード幅の各ビットそれぞれについて、ブラシパターン値nによって第1色ハーフトンパターン値nと第2色ハーフトンパターン値nとのうち何れを出力するかを選択するマルチプレクサMUX5000、5001、...、500n、...、500127を有する。各マルチプレクサ5000、5001、...、500n、...、500127の出力は、ブラシ処理後パターン値0、1、...、n、...、127による、描画ワード幅のブラシ処理後パターン値として出力される。図17を用いてマルチプレクサ500nの動作について説明する。ここで、ブラシパターン値nが1で第1色ハーフトンパターン値nが選択され、ブラシパターン値nが0で第2ハーフトンパターン値nが選択されるものとする。AND回路501において、第1色ハーフトンパターン値nとブラシパターン値nとの論理積が求められる。また、AND回路502において、第2色ハーフトンパターン値nとブラシパターン値nの反転値との論理積が求められる。これにより、ブラシパターン値nが1で第1色ハーフトンパターン値nが選択される。また、ブラシパターン値nが0で第2色ハーフトンパターン値nが選択される。AND回路501および502の出力が、ブラシ処理後パターン値nとして、マルチプレクサ500nから出力される。図18は、巡回シフト処理およびブラシ合成処理の前後における各パターンの例を示す。なお、図18a~図18gにおいて、白丸○は、値が0であるビットを示し、黒丸●など色やパターンで塗り潰された部分は、値が1であるビットを示す。各図の右側から左側に向けて、LSBからMSBへとビットが並んで各パターンが構成される様子が示されている。図18aおよび図18bは、それぞれ第1色ハーフトンパターン記憶部306および第2色ハーフトンパターン記憶部307から読み出された第1色ハーフトンパターン値および第2色ハーフトンパターン値の例を示す。また、図18cは、ブラシパターン記憶部204から読み出されたブラシパターン値の例を示す。ブラシパターン値において、黒丸●すなわち値1でビット位置が対応する第1色ハーフトンパターン値が選択され、白丸○すなわち値0でビット位置が対応する第2色ハーフトンパターン値が選択される。図18d~図18fは、上述の図18a~図18cの各パターンが第1色巡回シフト部309、第2色巡回シフト部308およびブラシ巡回シフト部310で巡回シフトされた状態の例を示す。ここでは、図18a~図18cの状態から右に1ビット分、各パターンがシフトされている様子が示されている。図18gは、上述の図18d~図18fに示される各パターンをブラシ合成部311で合成した、ブラシ処理後パターン値を示す。このように、巡回シフト処理後ブラシパターン値の値1黒丸:●のビット位置で図18dの巡回シフト後第1色ハーフトンパターン値が選択されると共に、巡回シフト処理後ブラシパターン値の値0白丸:○のビット位置で図18eの巡回シフト後第2色ハーフトンパターン値が選択され、第1色ハーフトンパターン値と、第2色ハーフトンパターン値と、ブラシパターン値とが合成される。図19は、本実施形態による水平ライン描画部207の動作を示す一例のフローチャートである。ステップS200およびステップS201で、ハーフトンパターンアドレス生成部300およびブラシパターンアドレス生成部317により、ハーフトンパターンアドレスおよびブラシパターンアドレスがそれぞれ算出される。すなわち、ステップS200で、ハーフトンパターンアドレス生成部300は、水平ライン変換部206から転送された水平ラインY値と、コマンド解析部101で描画コマンドを解析して得られたハーフトンパターンY幅とにより、水平ラインY値MODハーフトンパターンY幅の演算を行いハーフトンパターンアドレスを算出する。また、ステップS201で、ブラシパターンアドレス生成部317は、水平ラインY値と、コマンド解析部101で描画コマンドを解析して得られたブラシパターンY幅とにより、水平ラインY値MODブラシパターンY幅の演算を行いブラシパターンアドレスを算出する。次に、ステップS202およびステップS203で、X始点ワード値生成部301およびX終点ワード値生成部302により、描画ワードX始点値および描画ワードX終点値がそれぞれ算出される。すなわち、ステップS202で、X始点ワード値生成部301は、水平ライン変換部206から転送された水平ラインX値と、16ビットパターンのFF80hhは、直前の文字列が16進表記であることを示すとでAND処理を行い、128ビット単位の値である描画ワードX始点値を求める。同様に、X終点ワード値生成部302は、水平ライン変換部206から転送された水平ラインX値と、16ビットパターンのFF80hとでAND処理を行い、128ビット単位の値である描画ワードX終点値を求める。なお、上述のステップS200~ステップS203の順序は一例であって、この順序に限定されない。また、ステップS200~ステップS203の処理を並列的に実行してもよい。さらに次のステップS204で、描画ワードX値生成部303は、X始点ワード値生成部301で生成された描画ワードX始点値を、描画ワードX値とする。次のステップS205およびステップS206で、第1色ハーフトンパターン値と、第2色ハーフトンパターン値とを求める。すなわち、ステップS205で、ハーフトンパターンアドレス生成部300で生成されたハーフトンパターンアドレスにより第1色ハーフトンーパターン記憶部306にアクセスし、第1色ハーフトンパターン値を求める。同様に、ステップS206で、当該ハーフトンパターンアドレスにより第2色ハーフトンパターン記憶部307にアクセスし、第2色ハーフトンパターン値を求める。次に、ステップS207で、ブラシパターンアドレス生成部317で生成された読み込みアドレスによりブラシパターン記憶部204にアクセスして、ブラシパターン値を求める。これらステップS205~ステップS207の順序は一例であって、この順序に限定されない。また、ステップS205~ステップS207の処理を並列的に実行してもよい。次のステップS208で、描画マスク生成部315は、ステップS204で生成された描画ワードX値が始点であるか否かを判定する。若し、始点であると判定した場合、描画マスク生成部315は、処理をステップS209に移行させ、水平ラインX始点値から描画マスクを生成する。その後、処理をステップS213に移行させる。一方、ステップS208で、始点ではないと判定した場合、描画マスク生成部315は、処理をステップS210に移行させ、ステップS204で生成された描画ワードX値が終点であるか否かを判定する。若し、終点であると判定した場合、描画マスク生成部315は、処理をステップS211に移行させ、水平ラインX終点値から描画マスクを生成する。その後、処理をステップS213に移行させる。一方、ステップS210で、終点ではないと判定した場合、描画マスク生成部315は、処理をステップS212に移行させ描画マスク無しとする。例えば、描画マスク生成部315は、描画マスク値を全ビット1とすることで、描画マスクを無しの状態とする。次のステップS213で、ブラシパターンシフト値生成部305は、ステップS204で描画ワードX値生成部303で生成された描画ワードX値と、コマンド解析部101で描画コマンドを解析して得られたブラシパターンX幅とにより、描画ワードX値MODブラシパターンX幅の演算を行い、ブラシパターンシフト値を求める。次のステップS214で、ハーフトンパターンシフト値生成部304は、ステップS204で描画ワードX値生成部303で生成された描画ワードX値と、コマンド解析部101で描画コマンドを解析して得られたハーフトンパターンX幅とにより、描画ワードX値MODハーフトンパターンX幅の演算を行い、ハーフトンパターンシフト値を求める。なお、上述のステップS208~ステップS214の順序は一例であって、この順序に限定されない。また、ステップS208~ステップS214の処理を並列的に実行してもよい。次のステップS215、ステップS216およびステップS217で、第1色巡回シフト部309、第2色巡回シフト部308およびブラシ巡回シフト部310により、それぞれ巡回シフト後第1色ハーフトンパターン値、巡回シフト後第2色ハーフトンパターン値および巡回シフト後ブラシパターン値を生成する。すなわち、ステップS215で、第1色巡回シフト部309は、ステップS200でハーフトンパターンアドレス生成部300で生成されたハーフトンパターンアドレスに従い第1色ハーフトンパターン記憶部306から読み出された第1色ハーフトンパターン値を、ハーフトンパターン余り値と、ステップS214でハーフトンパターンシフト値生成部304により生成されたハーフトンパターンシフト値と、描画ワード値とに基づき巡回シフトさせる。巡回シフトされた第1色ハーフトンパターン値は、巡回後第1色ハーフトンパターン値として、第1色巡回シフト部309から出力される。同様に、ステップS216で、第2色巡回シフト部308は、当該ハーフトンパターンアドレスに従い第2色ハーフトンパターン記憶部307から読み出された第2色ハーフトンパターン値を、ハーフトンパターン余り値と、当該ハーフトンパターンシフト値と、描画ワード値とに基づき巡回シフトさせる。巡回シフトされた第2色ハーフトンパターン値は、巡回後第2色ハーフトンパターン値として、第2色巡回シフト部308から出力される。また、ステップS217で、ブラシ巡回シフト部310は、ステップS201でブラシパターンアドレス生成部317で生成されたブラシパターンアドレスに従いブラシパターン記憶部204から読み出されたブラシパターン値を、ブラシパターン余り値と、ステップS213でブラシパターンシフト値生成部305により生成されたブラシパターンシフト値と、描画ワード値とに基づき巡回シフトさせる。巡回シフトされたブラシパターン値は、巡回後ブラシパターン値として、ブラシ巡回シフト部310から出力される。これらステップS215~ステップS217の順序は一例であって、この順序に限定されない。また、ステップS215~ステップS217の処理を並列的に実行してもよい。処理はステップS218に移行され、ブラシ合成部311は、上述のステップS215~ステップS217で生成された第1色ハーフトンパターン値、第2色ハーフトンパターン値およびブラシパターン値により、ブラシ処理を行う。すなわち、上述したように、ブラシパターン値に従い、第1色ハーフトンパターン値および第2色ハーフトンパターン値の選択を行い、第1色ハーフトンパターン値および第2色ハーフトンパターン値に対するブラシパターンの合成を行う。次に、ステップS219で、論理演算部312により、ステップS218によるブラシ処理の結果のブラシ処理後パターンと、ステップS208~ステップS212の処理で得られた描画マスク値とのAND演算が行われ、描画パターン値が生成される。次のステップS220で、描画ワードX値生成部303により描画ワードX値に描画ワード幅を加算して、次の描画ワードX値が生成される。そして、次のステップS221で、描画ワードX値生成部303は、ステップS220で生成された描画ワードX値が描画ワードX終点値を超えたか否かを判定する。若し、超えていないと判定した場合、処理をステップS208に戻し、水平ラインの描画処理を継続させる。超えたと判定した場合には、一連の描画処理が終了される。以上のように、本実施形態によれば、第1色および第2色それぞれの階調値を定義するコマンドにより、ハーフトン閾値記憶部203からハーフトン閾値テーブルを読み出し、このハーフトン閾値テーブルに基づき第1色および第2色に対するハーフトン処理を施す。このハーフトン処理により得られた第1色ハーフトンパターン値と第2色ハーフトンパターン値とを、それぞれ第1色ハーフトンパターン記憶部306および第2色ハーフトンパターン記憶部307に記憶させる。そして、第1色ハーフトンパターン記憶部306および第2色ハーフトンパターン記憶部307からそれぞれ読み出された第1色ハーフトンパターン値および第2色ハーフトンパターン値を、ブラシパターン記憶部204から読み出したブラシパターン値に応じて選択して出力するようにしている。そのため、本実施形態では、同じ階調値の描画オブジェクトに対して効率良くハーフトンパターンを適用することができる。そのため、逐次にハーフトン閾値テーブルが格納されるハーフトン閾値記憶部203にアクセスする必要が無く、ブラシ処理をより高速に実行することが可能となる。また、本実施形態では、ハーフトンパターンの水平方向のシフト値と、ブラシパターンの水平方向のシフト値とにより、ハーフトンパターンおよびブラシパターンを、描画する描画ワード毎に逐次求めるようにしている。そのため、ハーフトンパターンを格納する第1色ハーフトンパターン記憶部306および第2色ハーフトンパターン記憶部307や、ブラシパターンを格納するブラシパターン記憶部204の容量を小さく抑えることができる。"