(57)【要約】【課題】効率的・高速な描画処理を実現するとともに描画処理のエラーの原因となる不適切なリード・モディファイ・ライトのタイミングを回避する。【解決手段】オンチップバス１００３を介しアクセス可能なメモリに対し描画処理を実行する描画装置１００５。その論理演算処理装置２００３は、描画処理のためにリード要求コマンドを、それに対するリード応答を待つことなく連続的に発行し、発行済みの各リード要求コマンドに対しリード応答が返った時に、そのリードデータに論理演算処理を施したライトデータを前記メモリの当該リード要求コマンドと同一のアドレスへ書き込むライト要求コマンドを発行するが、リード応答が未だ返されない発行済みリード要求コマンドと同じアドレス対する新たなリード要求コマンドの発行を抑止する。【選択図】図９
2007286863.tif 000002
【特許請求の範囲】
【請求項１】
オンチップバスを介しアクセス可能なメモリに対し描画処理を実行する描画装置であって、
前記描画処理のために、前記メモリからデータを読み出すためのリード要求コマンドを、それに対するリード応答を待つことなく連続的に発行し、発行済みの各リード要求コマンドに対しリード応答が返った時に、そのリードデータに論理演算処理を施したライトデータを前記メモリの当該リード要求コマンドと同一のアドレスへ書き込むためのライト要求コマンドを発行する論理演算処理装置を有し、
前記論理演算処理装置は、リード応答が未だ返されない発行済みリード要求コマンドと同じアドレス対する新たなリード要求コマンドの発行を抑止する手段を含むことを特徴とする描画装置。
【請求項２】
前記論理演算処理装置は、発行済みの各リード要求コマンドのアドレスを、当該リード要求コマンドに対するリード応答が返されて当該アドレスに対するライト要求コマンドが発行されるまで記憶するＦＩＦＯを含み、
前記抑止する手段は、発行しようとする新たなリード要求コマンドのアドレスと同じアドレスが前記ＦＩＦＯに記憶されている場合に当該新たなリード要求コマンドの発行を抑止し、その後に前記ＦＩＦＯに最後に格納されたアドレスに対するライト要求コマンドが発行された時点で当該新たなリード要求コマンドの発行の抑止を解除することを特徴とする請求項１記載の描画装置。
【請求項３】
前記論理演算処理装置は、発行済みの各リード要求コマンドのアドレスを、当該リード要求コマンドに対するリード応答が返されて当該アドレスに対するライト要求コマンドが発行されるまで記憶するＦＩＦＯを含み、
前記抑止する手段は、発行しようとする新たなリード要求コマンドのアドレスと同じアドレスが前記ＦＩＦＯに記憶されている場合に当該新たなリード要求の発行を抑止し、その後に前記ＦＩＦＯ内の当該新たなリード要求コマンドと同じアドレスに対するライト要求コマンドが発行された時点で当該新たなリード要求コマンドの発行の抑止を解除することを特徴とする請求項１記載の描画装置。
【請求項４】
オンチップバスを介しアクセス可能なメモリに対し描画処理を実行する描画処理方法であって、
前記描画処理のために、前記メモリからデータを読み出すためのリード要求コマンドを、それに対するリード応答を待つことなく連続的に発行し、発行済みの各リード要求コマンドに対しリード応答が返った時に、そのリードデータに論理演算処理を施したライトデータを前記メモリの当該リード要求コマンドと同一のアドレスへ書き込むためのライト要求コマンドを発行し、
リード応答が未だ返されない発行済みリード要求コマンドと同じアドレス対する新たなリード要求コマンドの発行を抑止することを特徴とする描画処理方法。
【請求項５】
発行済みの各リード要求コマンドのアドレスを、当該リード要求コマンドに対するリード応答が返されて当該アドレスに対するライト要求コマンドが発行されるまでＦＩＦＯに記憶させ、
発行しようとする新たなリード要求コマンドのアドレスと同じアドレスが前記ＦＩＦＯに記憶されている場合に当該新たなリード要求コマンドの発行を抑止し、その後に前記ＦＩＦＯに最後に格納されたアドレスに対するライト要求コマンドが発行された時点で当該新たなリード要求コマンドの発行の抑止を解除することを特徴とする請求項４記載の描画処理方法。
【請求項６】
発行済みの各リード要求コマンドのアドレスを、当該リード要求コマンドに対するリード応答が返されて当該アドレスに対するライト要求コマンドが発行されるまでＦＩＦＯに記憶させ、
発行しようとする新たなリード要求コマンドのアドレスと同じアドレスが前記ＦＩＦＯに記憶されている場合に当該新たなリード要求の発行を抑止し、その後に前記ＦＩＦＯ内の当該新たなリード要求コマンドと同じアドレスに対するライト要求コマンドが発行された時点で当該新たなリード要求コマンドの発行の抑止を解除することを特徴とする請求項４記載の描画処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリに対し描画処理を実行する描画装置に係り、特に、オンチップバスを介しアクセス可能なメモリに対し描画処理を効率的に実行する描画装置に関する。本発明は、例えばプリンタやデジタル複写機等に好適に適用可能である。
【背景技術】
【０００２】
ページプリンタ等においては、高解像度化、高速化の要求にＣＰＵの性能のみでは応えることが難しくなってきた。そこで近年のページプリンタ等においては、ネットワークから受け取ったＰＤＬ（ページ記述言語）を解析し、描画装置が実行可能な中間言語を生成する処理をＣＰＵで実行し、ハードウェアの描画装置により中間言語を解析してバンドメモリへ階調処理後の画像を描画し、このバンド画像をハードウェアの符号化装置で２値画像の圧縮アルゴリズムにより符号化し、符号データをメモリに格納する。そして、プリントアウト時に、ハードウェアの復号装置により、各版ごとに遅延させてメモリから符号データを読み込んで前記圧縮アルゴリズムにより復号化し、復号した各版対応データをプリンタエンジンに転送してプリントさせるような構成がとられることが多い。
【０００３】
上記圧縮方式としては、算術符号化を採用した２値画像符号化方式の国際標準ＪＢＩＧ（Joint  Bi-level  Image  Experts  Group）が知られている。
【０００４】
なお、プリンタコントローラにおいて、メインメモリにフレームメモリを内蔵させる方式が知られている（例えば特許文献１参照）。また、メインメモリと独立させて専用のビットマップメモリを用意し、このビットマップメモリに対してハードウェアにより論理演算処理を高速に行う方式も知られている（例えば特許文献１，２参照）。
【０００５】
ここで、ページプリンタ等の代表的なシステム構成について図２６乃至図２９を用いて説明する。これらの模式的ブロック図において、１００はＣＰＵ、１０１はメインメモリ、１０２はメモリアービター、１０３はメモリコントローラ、１０４はプリンタエンジン、１０５はハードウェアの描画装置、１０６は描画装置専用に設けられたバンドメモリ、１０７はオンチップバスである。
【０００６】
図２６は、初期のシステム構成を示している。このシステム構成の場合、マスタはＣＰＵ１００のみであるため、ＣＰＵ１００がメインメモリ１０１を占有していた。
【０００７】
図２７は、特許文献１のようにＣＰＵ１００の性能に頼ることなく、メインメモリ１０１から独立させたバンドメモリ１０６に対し、ハードウエアの描画装置１０５でバンド描画を行う構成であり、描画装置１０５とＣＰＵ１００とのメモリ競合がない。
【０００８】
図２８は例えば特許文献３のように、メモリアービター１０２を介してＣＰＵ１００と描画装置１０５がメインメモリ１０１を共有し、描画装置１０５がメインメモリ上のバンドメモリに対し描画処理（論理演算処理）を行う構成である。
【０００９】
図２８の構成におけるメモリアービター１０２を介したメモリのリード処理のタイミングを図３０（Ａ）に示す。図３０（Ａ）に見られるように、ＣＰＵなどとのメモリアクセスが競合するため、一般的にリード要求コマンドが出されてからリードデータが得られるまでに所定の時間がかかってしまう。
【００１０】
近年の半導体技術の進歩により、ＣＰＵ等が含まれるＬＳＩに、従来外部にあったシステムバスを内蔵させるようになっている。このようなシステムバス（オンチップバス）の標準プロトコールとしてＯＣＰ（Open  Core  Protocol）が最近注目を集めている。図３０（Ｂ）に最新のオンチップバスでのリード処理のタイミングを示す。
【００１１】
図２９は、このオンチップバスを用いる構成であり、同じＬＳＩ内でＣＰＵ１００、描画装置１０５、メモリコントローラ１０７がオンチップバス１０７に接続される。
【００１２】
【特許文献１】特開２００１−１０１２４号公報
【特許文献２】特開２００１−２６０４３８号公報
【特許文献３】特開２００４−２３０７４２号公報
【特許文献４】特開２００４−２４２２１３号公報
【特許文献５】特開２００４−２３７６７４号公報
【特許文献６】特開２００４−２８２２３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
図２６のような構成は、もっぱらＣＰＵ性能に依存するため、プリンタの高解像度化、高速化への対応が難しい。
【００１４】
図２７のような構成は、ＣＰＵと描画装置のメモリ競合がない利点がある。しかし、その反面、メインメモリとは別のメモリＬＳＩをバンドメモリとして用いるとメモリコストが大きく、またメモリＬＳＩの大容量化により、その未使用の容量が増加しメモリ利用効率が悪い等の弱点がある。なお、描画装置等を構成するＬＳＩにバンドメモリを内蔵させるようなことも考えられるが、これはＬＳＩのコスト増加を伴う。
【００１５】
図２８のような構成では、メモリアクセスをメモリアービターによって調停するため、図３０（Ａ）のようなリードタイミングとなり、描画装置はリード要求してからリードデータが出力されるまで待ち状態となる。このため、描画装置による処理の高速実行が難しい。
【００１６】
図２９のオンチップバスを使用した構成では、ＣＰＵと描画装置のメモリアクセスの調停をうまく行うことができ、リードタイミングは図３０（Ｂ）のようになる。すなわち、描画装置はリード要求コマンドを、そのリード応答を待つことなく次々と連続的に発行することができるため、描画装置は効率よく描画処理を実行できる。しかしながら、バンドメモリ上の同じアドレスに対する”リード・モディファイ・ライト”（ＲＭＷ）時に不適切な描画／論理演算処理となる場合があるという問題点がある。これについて図３１乃至図３４を用い説明する。
【００１７】
まず、図３１（Ａ）のように横長の四角形と縦長の四角形が描画されるべき場合に、図３１（Ｂ）のように不正な描画となることがあり、これを図３２により説明する。今、図３２（Ａ）のようにバンドメモリの各描画領域に番号を振り、不正な描画となる原因を図３２（Ｂ）のタイミング図により説明する。
【００１８】
図３１の”（１）四角形描画”を目的としたリード・モディファイ・ライト（RMW）のために、まず図３２（Ａ）の領域（１），（２），（３）に対しこの順にリード要求コマンドが発行される。つぎに図３１の”（２）四角形描画”を目的としたリード・モディファイ・ライト（RMW）のために図３２（Ａ）の領域（４），（２），（５）に対しこの順にリード要求コマンドが発行される。このように領域（２）は順次にリードされるが、図３２（Ｂ）に見られるように、図３１の”（２）四角形描画”に必要な領域（２）は、図３１の”（１）四角形描画”の領域（２）のライト前にリードされてしまうため、図３１（Ｂ）のような不正な描画結果となってしまうのである。
【００１９】
また、図３３（Ａ）のように描画すべき場合に図３３（Ｂ）のような不正な描画結果となる場合がある。これについて図３４（Ａ）のタイミング図により説明する。
【００２０】
図３３（Ａ）の”（１）領域”及び”（２）領域”の描画を目的としたリード・モディファイ・ライト（RMW）のために、メモリワード（１），（２）に対しこの順にリード要求コマンドが発行される。次に、図３３（Ａ）の”（３）領域”及び”（４）領域”の描画を目的としたリード・モディファイ・ライト（RMW）のために、メモリワード（２），（３）に対しこの順にリード要求コマンドが発行される。この場合、図３４（Ａ）から分かるように、”（２）領域”は順次リードされるが、図３３（Ａ）の”（２）領域”の描画のためのワード（２）のライト前に、図３３（Ａ）の”（３）領域”の描画のためにワード（２）がリードされてしまうため、図３３（Ｂ）のような不正な描画結果となってしまうのである。
【００２１】
本発明の主たる目的は、上に述べたようなオンチップバス方式におけるリード・モディファイ・ライト（RMW）に関連した問題点を解消し、効率的な処理により正しい描画結果を得られるようにすることにある。
【課題を解決するための手段】
【００２２】
先に述べた図３１（Ｂ）のような不正な描画結果となることを防止し、図３１（Ａ）の正しい描画結果を得るには、描画処理のためのリード・モディファイ・ライトのタイミングを図３２（Ｃ）のように制御すればよい。同様に、図３３（Ｂ）のような不正な描画結果となることを防止し、図３３（Ａ）のような正しい描画結果を得るには、描画処理のためのリード・モディファイ・ライト(RMW)のタイミングを図３４（Ｂ）のように制御すればよい。
【００２３】
本発明は以上に鑑みたものであり、以下のような特徴を有するものである。
【００２４】
すなわち、請求項１記載の発明は、オンチップバスを介しアクセス可能なメモリに対し描画処理を実行する描画装置であって、前記描画処理のために、前記メモリからデータを読み出すためのリード要求コマンドを、それに対するリード応答を待つことなく連続的に発行し、発行済みの各リード要求コマンドに対しリード応答が返った時に、そのリードデータに論理演算処理を施したライトデータを前記メモリの当該リード要求コマンドと同一のアドレスへ書き込むためのライト要求コマンドを発行する論理演算処理装置を有し、前記論理演算処理装置は、リード応答が未だ返されない発行済みリード要求コマンドと同じアドレス対する新たなリード要求コマンドの発行を抑止する手段を含むことを特徴とする描画装置である。
【００２５】
請求項２記載の発明は、請求項１記載の発明に係る描画装置であって、前記論理演算処理装置は、発行済みの各リード要求コマンドのアドレスを、当該リード要求コマンドに対するリード応答が返されて当該アドレスに対するライト要求コマンドが発行されるまで記憶するＦＩＦＯを含み、前記抑止する手段は、発行しようとする新たなリード要求コマンドのアドレスと同じアドレスが前記ＦＩＦＯに記憶されている場合に当該新たなリード要求コマンドの発行を抑止し、その後に前記ＦＩＦＯに最後に格納されたアドレスに対するライト要求コマンドが発行された時点で当該新たなリード要求コマンドの発行の抑止を解除することを特徴とする描画装置である。
【００２６】
請求項３記載の発明は、請求項１記載の発明に係る描画装置であって、前記論理演算処理装置は、発行済みの各リード要求コマンドのアドレスを、当該リード要求コマンドに対するリード応答が返されて当該アドレスに対するライト要求コマンドが発行されるまで記憶するＦＩＦＯを含み、前記抑止する手段は、発行しようとする新たなリード要求コマンドのアドレスと同じアドレスが前記ＦＩＦＯに記憶されている場合に当該新たなリード要求の発行を抑止し、その後に前記ＦＩＦＯ内の当該新たなリード要求コマンドと同じアドレスに対するライト要求コマンドが発行された時点で当該新たなリード要求コマンドの発行の抑止を解除することを特徴とする描画装置である。
【００２７】
請求項４記載の発明は、オンチップバスを介しアクセス可能なメモリに対し描画処理を実行する描画処理方法であって、前記描画処理のために、前記メモリからデータを読み出すためのリード要求コマンドを、それに対するリード応答を待つことなく連続的に発行し、発行済みの各リード要求コマンドに対しリード応答が返った時に、そのリードデータに論理演算処理を施したライトデータを前記メモリの当該リード要求コマンドと同一のアドレスへ書き込むためのライト要求コマンドを発行し、リード応答が未だ返されない発行済みリード要求コマンドと同じアドレス対する新たなリード要求コマンドの発行を抑止することを特徴とする描画処理方法である。
【００２８】
請求項５記載の発明は、請求項４記載の発明に係る描画処理方法であって、発行済みの各リード要求コマンドのアドレスを、当該リード要求コマンドに対するリード応答が返されて当該アドレスに対するライト要求コマンドが発行されるまでＦＩＦＯに記憶させ、発行しようとする新たなリード要求コマンドのアドレスと同じアドレスが前記ＦＩＦＯに記憶されている場合に当該新たなリード要求コマンドの発行を抑止し、その後に前記ＦＩＦＯに最後に格納されたアドレスに対するライト要求コマンドが発行された時点で当該新たなリード要求コマンドの発行の抑止を解除することを特徴とする描画処理方法である。
【００２９】
請求項６記載の発明は、請求項４記載の発明に係る描画処理方法であって、発行済みの各リード要求コマンドのアドレスを、当該リード要求コマンドに対するリード応答が返されて当該アドレスに対するライト要求コマンドが発行されるまでＦＩＦＯに記憶させ、発行しようとする新たなリード要求コマンドのアドレスと同じアドレスが前記ＦＩＦＯに記憶されている場合に当該新たなリード要求の発行を抑止し、その後に前記ＦＩＦＯ内の当該新たなリード要求コマンドと同じアドレスに対するライト要求コマンドが発行された時点で当該新たなリード要求コマンドの発行の抑止を解除することを特徴とする描画処理方法である。
【発明の効果】
【００３０】
請求項１乃至６記載の発明によれば、描画処理のためのリード要求コマンドを連続的に発行することによって描画処理を効率良く高速に実行できるとともに、図３２（Ｂ）又は図３４（Ａ）に示したような不適切なリード・モディファイ・ライトのタイミングとなることを防止して描画処理を適正に実行することができる。また、請求項３，６記載の発明によれば、ＦＩＦＯに記憶されている、新たなリード要求コマンドのアドレスと一致するアドレスに対するリード応答が返り、該アドレスに対するライト要求コマンドが発行された時点で、該新たなリード要求の発行の抑止が解除されるため、当該アドレスより後にＦＩＦＯに格納されたアドレスがある場合には、請求項２，５記載の発明に比べ、新たなリード要求の発行が抑止される時間を短縮することができ、このことは描画処理の高速化に有利である。
【発明を実施するための最良の形態】
【００３１】
以下、図面を用い本発明の実施の形態について詳細に説明する。
【００３２】
図１は、本発明の一実施形態に係るプリンタの概略構成図である。このプリンタは、４色（Ｙ，Ｍ，Ｃ，Ｋ）の画像をそれぞれ独立した作像系１Ｙ、１Ｍ、１Ｃ、１Ｋで形成し、この４色の画像を重ね合わせてカラー画像を形成する４ドラム・タンデム型のプリンタエンジンを用いるものである。
【００３３】
各作像系１Ｙ，１Ｍ，１Ｃ，１Ｋは、像担持体である感光体として、例えば小径のＯＰＣ（有機感光体）ドラム２Ｙ，２Ｍ，２Ｃ，２Ｋを有し、それらを取り囲むように、作像の上流側から帯電手段としての帯電ローラ３Ｙ，３Ｍ，３Ｃ，３Ｋと、ＯＰＣドラム２Ｙ，２Ｍ，２Ｃ，２Ｋ上の静電潜像をそれぞれ現像剤で現像してＹ，Ｍ，Ｃ，Ｋ各色のトナー像とする現像装置４Ｙ，４Ｍ，４Ｃ，４Ｋと、クリーニング装置５Ｙ，５Ｍ，５Ｃ，５Ｋと、除電装置６Ｙ，６Ｍ，６Ｃ，６Ｋなどが配置されている。各現像装置４Ｙ，４Ｍ，４Ｃ，４Ｋの脇には、それらへＹ，Ｍ，Ｃ，Ｋ各色トナーを補給するトナーボトルユニット７Ｙ，７Ｍ，７Ｃ，７Ｋが配置されている。
【００３４】
また、各作像系１Ｙ、１Ｍ、１Ｃ、１Ｋはそれぞれ独立した光書き込み装置８Ｙ，８Ｍ，８Ｃ，８Ｋを備えている。これら光書き込み装置８Ｙ，８Ｍ，８Ｃ，８Ｋは，レーザ光源としてのレーザダイオード（ＬＤ）９Ｙ，９Ｍ，９Ｃ，９Ｋや、コリメートレンズ１０Ｙ，１０Ｍ，１０Ｃ，１０Ｋ、ｆθレンズ１１Ｙ，１１Ｍ，１１Ｃ，１１Ｋといった光学部品、レーザ光の偏向走査手段としてのポリゴンミラー１２Ｙ，１２Ｍ，１２Ｃ，１２Ｋ、折り返しミラー１３Ｙ，１３Ｍ，１３Ｃ，１３Ｋ，１４Ｙ，１４Ｍ，１４Ｃ，１４Ｋなどから構成されている。
【００３５】
各作像系１Ｙ，１Ｍ，１Ｃ，１Ｋは垂直に配列され、その右側に転写ベルトユニットが配置される。転写ベルトユニット１５は、転写ベルト１６がローラ１７〜２０に張架されて図示しない駆動源により回転駆動される構成である。プリンタ下部には転写材としての転写紙が収納された給紙トレイ２１が配置され、プリンタ上部には定着装置２２、排紙ローラ２３及び排紙トレイ２４が配設される。
【００３６】
作像時には、各作像系１Ｙ，１Ｍ，１Ｃ，１Ｋにおいて、ＯＰＣドラム２Ｙ，２Ｍ，２Ｃ，２Ｋが図示しない駆動源により回転駆動され、帯電ローラ３Ｙ，３Ｍ，３Ｃ，３ＫによりＯＰＣドラム２Ｙ，２Ｍ，２Ｃ，２Ｋが一様に帯電され、光書き込み装置８Ｙ，８Ｍ，８Ｃ，８Ｋが各色の画像データに基づきＯＰＣドラム２Ｙ，２Ｍ，２Ｃ，２Ｋに光書込みを行うことによって、ＯＰＣドラム２Ｙ，２Ｍ，２Ｃ，２Ｋ上に各色画像の静電潜像が形成される。
【００３７】
ＯＰＣドラム２Ｙ，２Ｍ，２Ｃ，２Ｋ上の静電潜像はそれぞれ現像装置４Ｙ，４Ｍ，４Ｃ，４Ｋにより現像されてＹ，Ｍ，Ｃ，Ｋ各色のトナー像となる。一方、給紙トレイ２１から給紙ローラ２５により転写紙が水平方向に給紙され、この転写紙は転写ベルト１６に静電的に吸着保持されて搬送され、図示しない転写バイアス印加手段により転写バイアスを印加されてＯＰＣドラム２Ｙ，２Ｍ，２Ｃ，２Ｋ上の各色のトナー像が転写紙に順次に重ねて転写されることでフルカラー画像が形成される。このフルカラー画像が形成された転写紙は、定着装置２２によりフルカラー画像を定着された後、排紙ローラ２３により排紙トレイ２４へ排出される。
【００３８】
また、このプリンタは電装・制御装置２６を備え、ここに以上の作像動作のための制御や画像処理のための要素が集約されている。
【００３９】
図２は、図１中の電装・制御装置２６の機能的構成の一例を示すブロック図である。図中の破線の内部は１つのＬＳＩとして実現された部分である。
【００４０】
図２において、１００１はＣＰＵであり、１０１５はメインメモリである。メインメモリ１０１５の領域割り当て例を図３に示す。図３に示すように、メインメモリ１０１５には、ＰＤＬ（ページ記述言語）により記述されたドキュメントのデータ（ＰＤＬデータ）を記憶するためのＰＤＬメモリ領域、ＰＤＬの解析結果である中間言語を記憶するための中間言語メモリ領域、バンドデータを記憶するためのバンドメモリ領域、バンドデータの符号データを複数ページ分記憶するための符号ページメモリ領域、ＣＰＵ１００１のプログラムが記憶されるプログラム領域、処理の中間結果等の記憶のためのワーク領域等が割り当てられる。
【００４１】
図２に戻る。ＣＰＵインターフェース１００２はＣＰＵ１００１とメモリコントローラ１００４の間のインターフェース処理を行う。オンチップバス１００３はＣＰＵ１００１、ローカルバス・インターフェース１０１１、復号装置１００７，符号化装置１００６、描画装置１００５等とメモリコントローラ１００４との間のデータ転送をコントロールする。メモリコントローラ１００４は、オンチップバス１００３と接続され、メインメモリ１０１５を制御する。描画装置１００５はメインメモリ１０１５の中間言語メモリ領域より描画コマンドを受け取ってメインメモリ１０１５上のバンドメモリ領域にバンド画像を描画する処理を行う手段である。符号化装置１００６は、メインメモリ１０１５上のバンドメモリ領域からバンドデータを読み込んで符号化し、その符号データをメインメモリ１０１５上の符号ページメモリ領域へ書き込む手段である。復号装置１００７は、図１に関連して説明したプリンタエンジン１００９に同期して、メインメモリ１０１５の符号ページメモリ領域より符号データを読み込んで復号し、復号データをエンジンコントローラ１００８へ転送する手段である。エンジンコントローラ１００８はプリンタエンジン１００９を制御する手段である。通信コントローラ１０１０は、ネットワークに接続された外部のパソコン（ＰＣ）等との通信を制御する手段である。ローカルバス・インターフェース１０１１は、ＲＯＭ１０１２、パネルコントローラ１０１３等とＣＰＵ１００１、メインメモリ１０１５等とのインターフェース処理を行う。ＲＯＭ１０１２は、文字等のフォント情報やＣＰＵ１００１のプログラム等を格納している。パネルコントローラ１０１３はパネル１０１４を制御するものである。パネル１０１４はユーザーがプリンタへコマンド等を入力するために操作されるものである。
【００４２】
次に、ＰＤＬデータの入力から、そのプリントアウトまでの処理の流れを説明する。図４は、そのための処理概念図である。
【００４３】
ネットワークを介し接続されたパソコン（ＰＣ）１０２０によりＰＤＬデータが生成され、これがプリンタへ転送される。プリンタにおいて、通信コントローラ１０１０は、ＰＣ１０２０より転送されたＰＤＬデータをメインメモリ１０１５のＰＤＬメモリ領域へ格納する。ＣＰＵ１００１は、そのＰＤＬデータを解析して描画装置１００５で処理可能な描画コマンドである中間言語を生成し、これをメインメモリ１０１５の中間言語メモリ領域に書き込む。また、ＣＰＵ１００１は、描画装置１００５に対し描画処理を行うべき中間言語のスタートアドレスを設定したり、描画処理の起動をかけたり、描画装置１００５のステータスレジスタの値を読み込んで描画装置１００５の状態を確認したり、プリンタ全体の制御を行う。
【００４４】
描画装置１００５は、ＣＰＵ１００１からの起動命令により描画処理をスタートし、ＣＰＵ１００１より設定されたアドレスに従って中間言語メモリ領域から中間言語を読み込んで解析し、メインメモリ１０１５のバンドメモリ領域への描画を行う。この時に、描画装置１００５は処理の状態をステータスレジスタでＣＰＵ１００１へ知らせる。
【００４５】
符号化装置１００６は、メインメモリ１０１５のバンドメモリ領域からバンドデータを読み込んで符号化し、その符号データをメインメモリ１０１５の符号ページメモリ領域へ書き込む。
【００４６】
復号装置１００７は、プリンタエンジン１００９に同期し、メインメモリ１０１５の符号ページメモリ領域から符号データを読み込んで復号し、復号した画像データをエンジンコントローラ１００８へ出力する。エンジンコントローラ１００８は、復号装置１００７から入力した画像データをプリンタエンジン１００９によりプリントさせる。
【００４７】
図５に、バンドメモリ領域上のバンドメモリのフォーマットと、それに対する描画例を示す。図５において、描画ワード幅は描画装置１００５がバンドメモリをアクセスするワードの幅である。この描画例は、ラインＹに対して水平ラインＸ始点から水平ラインＸ終点までの水平ラインを描画する例である。
【００４８】
図６に描画処理される中間言語の例を示す。この中間言語から描画されるバンド画像の例を図７に示す。図８に、図６に示した各描画コマンドのフォーマット例を示す。
【００４９】
以下、本発明に係る描画装置１００５について詳細に説明する。図９に描画装置１００５のブロック図を示す。図示のように、描画装置１００５は、オンチップバス１００３とのインターフェース２００１と、描画パターン生成装置２００２と、論理演算処理装置２００３と、コントローラ２００４とから構成される。
【００５０】
描画パターン生成装置２００２は、図８に示したような描画コマンドを解析してバンドメモリ領域へ描画するための描画パターンを生成し、論理演算処理装置２００３に対し、ワード単位の描画パターン、描画マスクパターン、描画アドレスなどを転送する。論理演算処理装置２００３は、描画パターン生成装置２００２から描画パターン、マスクパターン、アドレス、論理演算TYPEなどを受け取って、オンチップバス・インターフェース２００１及びオンチップバス１００３を介して、メインメモリ１０１５のバンドメモリ領域へバンド画像を描画する。この論理演算処理装置２００３が本発明のポイントに関わる部分である。コントローラ２００４は、描画装置１００５の全体を制御する手段である。
【００５１】
図１０に描画パターン生成装置２００２の概略ブロック図を示す。図示のように、描画パターン生成装置２００２は、描画コマンド解析装置３００１、水平ライン変換装置３００２、水平ライン描画装置３００３、パラメータ記憶装置３００４を含む構成である。
【００５２】
描画コマンド解析装置３００１は、オンチップバス・インターフェース２００１を介してメインメモリ１０１５の中間言語メモリ領域より中間言語を読み込んで解析し、パラメータの設定コマンドであればパラメータ記憶装置３００４へパラメータ値を転送し、描画コマンドであれば水平ライン変換装置３００２へ該描画コマンドを転送する。水平ライン変換装置３００２は、描画コマンド解析装置３００１より受け取った描画コマンドを水平ラインへ変換し、水平ラインデータ（水平ラインＹ値、水平ライン始点値、水平ライン終点値）を水平ライン描画装置３００３へ転送する。水平ライン描画装置３００３は、水平ライン変換装置３００２からの水平ラインデータに基づき、水平ラインを描画するワード単位の描画パターンとマスクパターンとアドレス等を生成し、これを論理演算処理装置２００３へ転送する。パラメータ記憶装置３００４は、描画コマンド解析装置３００４から転送されたパラメータ値を記憶するものであり、その記憶データは水平ライン変換装置３００２及び水平ライン描画装置３００４からアクセスされる。論理演算処理装置２００３からの描画WAIT信号がＯＮになると、描画パターン生成装置２００２は処理を中止もしくは停止（ＷＡＩＴ）し、その時の状態を描画WAIT信号がＯＦＦされるまで継続する。
【００５３】
ここで、図８に示したコマンドとの関連を説明する。
【００５４】
図８の（ａ）に示したバンド初期化コマンドは、バンドの先頭アドレスと、バンドの高さ及び幅を定義している。描画コマンド解析装置３００１は、このバンド初期化コマンドを受け取った場合、バンドの先頭アドレス、バンドの高さ、バンドの幅をパラメータ記憶装置３００４へ格納する。
【００５５】
図８の（ｂ）に示した四角形描画コマンドは、指定された四角形の左上の座標から右下の座標までの四角形を描画させるものである。描画コマンド解析装置３００１は、このコマンドを受け取った場合、四角形の左上の座標及び右下の座標と四角形コマンド名を水平ライン変換装置３００２へ転送し描画処理を行わせる。
【００５６】
図８の（ｃ）に示した三角形描画コマンドは、指定された三角形の各端点座標から３角形を描画させるものである。描画コマンド解析装置３００１は、このコマンドを受け取った場合、三角形の各端点座標と３角形コマンド名を水平ライン変換装置３００２へ転送して描画処理を行わせる。
【００５７】
図８の（ｅ）に示すバンド終了コマンドは、定義したバンドの描画の終了を意味する。描画コマンド解析装置３００１は、このバンド終了コマンドを受け取ると、当該バンドの描画処理を終了する。
【００５８】
なお、他のコマンドに関して簡単に説明する。例えば中間調処理のためのハーフトーンしきい値アドレスと描画階調値を定義する描画階調定義コマンドがある。描画パターン生成装置２００２にいては、この描画階調定義コマンドを受け取ると、描画階調値をパラメータ記憶装置３００４に格納し、ハーフトーン生成装置（不図示）でハーフトーンしきい値アドレスにより指定されたハーフトーンしきい値記憶装置（不図示）からハーフトーンしきい値を読み込み、該描画階調値を該ハーフトーンしきい値で２値化してパターンをハーフトーンパターンメモリ（不図示）へ転送する。また、ハーフトーンパターンのＸ幅、Ｙ幅と各画素ごとのしきい値テーブルのアドレスを定義する、しきい値テーブルセットコマンドがある。描画パターン生成装置２００２において、このコマンドを受け取ると、ハーフトーンパターンのＸ幅、Ｙ幅をパラメータ記憶装置３００４に格納し、しきい値テーブルのアドレスの示すメインメモリのワーク領域のしきい値テーブルを読み込み、ハーフトーンしきい値記憶装置（不図示）へ転送する。
【００５９】
図１１に、論理演算処理装置２００３のブロック図を示す。この論理演算処理装置２００３が本発明の主要部である。図示のように、論理演算処理装置２００３は、リードライト制御装置４００１、ＲＭＷ（リード・モディファイ・ライト）データＦＩＦＯ装置４００２、ＲＯＰ処理装置４００３、Ｒｅａｄ（リード）画像ＦＩＦＯ装置４００４及びリード／ライト・インターフェース装置４００５から構成される。
【００６０】
リードライト制御装置４００１には、描画パターン生成装置２００２（図９）から描画パターン、描画マスクパターン、描画アドレス、論理演算TYPE等が入力する。このリードライト制御装置４００１の動作は図１２のフローチャートに示す通りである。
【００６１】
描画パターン生成装置２００２からのデータイネーブル信号がアクティブである時に（ｓｔｅｐ１００，Ｙｅｓ）、論理演算TYPEがリード要求を必要としないもので（ｓｔｅｐ１０１，Ｙｅｓ）、かつ、描画マスクに隙間が無いとき（ｓｔｅｐ１０２，Ｙｅｓ）、ライトのみの処理であると判断する。論理演算TYPEがリード要求を必要とするとき（ｓｔｅｐ１０１，Ｎｏ）又は描画マスクに隙間があるとき（ｓｔｅｐ１０２，Ｎｏ）、ＲＭＷ処理であると判断する。
【００６２】
ライトのみの処理と判断した場合には、ＲＭＷデータイネーブル信号をＯＮして描画パターン生成装置２００２より受け取った描画アドレスをＲＭＷデータＦＩＦＯ中４００２へ転送し（ｓｔｅｐ１０３）、ＲＷＭデータＦＩＦＯ装置４００２からＯＫ信号が出されるかチェツクする（ｓｔｅｐ１０４）。ＯＫ信号が出されたならば（ｓｔｅｐ１０４，Ｙｅｓ）、描画パターン生成装置２００２より入力した描画アドレスと描画パターンをリード/ライト・インターフェース装置４００５へ転送してライト処理を要求し（ｓｔｅｐ１０５）、したがってリード／ライト・インターフェース装置４００５よりオンチップバス１００３に対しライト要求のコマンドが出される。ＲＭＷデータＦＩＦＯ装置４００２からＯＫ信号が出されるのは、リードライト制御装置４００１より転送された描画アドレスと同じ描画アドレスがＲＭＷデータＦＩＦＯ装置４００２に蓄積されていない場合である。このような制御を行うことにより、既に発行されたリード要求コマンドと同一描画アドレスに対する新たなライト要求コマンドの発行を、先行した当該描画アドレスに対するリード・モディファイ・ライト処理が終了するまで抑止する。
【００６３】
一方、ＲＭＷ処理と判断した場合（ｓｔｅｐ１０１又は１０２，Ｎｏ）、描画パターン生成装置２００２より入力した描画パターン、描画マスクパターン、描画アドレス、論理演算TYPEをＲＭＷデータＦＩＦＯ装置４００２へ転送し（ｓｔｅｐ１０６）、ＲＭＷデータＦＩＦＯ装置４００２からＯＫ信号が出されるかチェツクする（ｓｔｅｐ１０７）。ＯＫ信号が出されたことを確認したときにのみ（ｓｔｅｐ１０７，Ｙｅｓ）、リード/ライト・インターフェース装置４００５に対し、描画パターン生成装置２００２から入力した描画アドレスを転送してリード処理を要求し（ｓｔｅｐ１０８）、したがってリード／ライト・インターフェース装置４００５よりオンチップバス１００３に対しリード要求のコマンドが出される。このような制御を行うことにより、既に発行されたリード要求コマンドと同一描画アドレスに対する新たなリード要求コマンドの発行を、先行した当該描画アドレスに対するリード・モディファイ・ライト処理が終了するまで抑止する。
【００６４】
図１３に、ＲＭＷデータＦＩＦＯ装置４００２の第１の実施例のブロック図を示す。図示のように、第１の実施例に係るＲＭＷデータＦＩＦＯ装置４００２は、描画パターンＦＩＦＯ５００１、描画マスクＦＩＦＯ５００２、論理演算TYPEＦＩＦＯ５００３、描画アドレスＦＩＦＯ５００４、描画アドレス比較装置５００５、ＦＩＦＯカウンタ５００６、ＦＩＦＯコントローラ５００７から構成される。
【００６５】
描画パターンＦＩＦＯ５００１は、リードライト制御装置４００１から入力した描画パターンを記憶し、ＦＩＦＯカウンタ５００６の値に基づきＦＩＦＯ（先入れ先出し）方式で出力するための記憶手段である。描画マスクＦＩＦＯ５００２は、リードライト制御装置４００１から入力した描画マスクデータを記憶し、ＦＩＦＯカウンタ５００６の値に基づきＦＩＦＯ方式で出力するための記憶手段である。論理演算TYPEＦＩＦＯ５００３は、リードライト制御装置４００１から入力した論理演算TYPRデータを記憶し、ＦＩＦＯカウンタ５００６の値に基づきＦＩＦＯ方式で出力するための記憶手段である。描画アドレスＦＩＦＯ５００４は、リードライト制御装置４００１から入力した描画アドレスデータを記憶し、ＦＩＦＯカウンタ５００６の値に基づきＦＩＦＯ方式で出力するための記憶手段である。この描画アドレスＦＩＦＯ５００４に記憶されている描画アドレスデータは描画描画アドレス比較装置５００５へ入力される。
【００６６】
描画アドレス比較装置５００５は、リードライト制御装置４００１より入力された描画アドレスが、描画アドレスＦＩＦＯ５００４に格納されている有効な描画アドレスのいずれかと一致するか否かの判定を行い、その判定結果（ＣＯＭＰ）をＦＩＦＯコントローラ５００７へ出力する。ＦＩＦＯカウンタ５００６は、リードライト制御装置４００１からのデータを各ＦＩＦＯ５００１〜５００４に格納するたびにＦＩＦＯコントローラ５００７からのＵＰ信号によってカウントアップし、この時、各ＦＩＦＯ５００１〜５００４に格納可能なデータ量を超えた場合（ＦＵＬＬ状態）にＦＵＬＬ信号をＦＩＦＯコントローラ５００７へ出力する。また、ＲＯＰ処理装置４００３からのリードイネーブル信号がＯＮした時にＦＩＦＯコントローラ５００７からのＤＯＷＮ信号によってＦＩＦＯカウンタ５００６はカウントダウンする。ＦＩＦＯコントローラ５００７は、描画アドレス比較装置５００５からのＣＯＭＰ信号、ＦＩＦＯカウンタ５００６からのＦＵＬＬ信号及びそのカウント値、リードライト制御装置４００１からのＲＭＷデータイネーブル信号、ＲＯＰ処理装置４００３からのデータイネーブル信号に基づいて、ＦＩＦＯカウンタ５００６のカウントアップ／ダウンの制御や描画ＷＡＩＴ信号の制御等を行うもので、そのフローチャートを図１５に示す。
【００６７】
図１４に、第１の実施例に係る描画アドレス比較装置５００５のブロック図を示す。描画アドレス比較装置５００５においては、リードライト制御装置４００１から入力する、現在書き込もうとする描画アドレスと、描画アドレスＦＩＦＯ５００４内の０番目，１番目，２番目，．．．，Ｎ番目の描画アドレスとが比較器５１０１，５１０２，．．．，１５１０４によって比較され、各比較結果は対応したＡＮＤロジック５１０６，５１０７，５１０８，．．．，５１０９へ入力される。有効BIT生成装置５１０５は、ＦＩＦＯカウンタ５００６の値に基づいて、描画アドレスＦＩＦＯ５００４内の有効な描画アドレスに対応したビットのみが”１”の有効ＢＩＴ信号を生成する。この有効ＢＩＴ信号が対応したＡＮＤロジック５１０６，５１０７，５１０８，．．．，５１０９に入力信号することにより、比較器５１０１〜５１０４の比較結果のうちの描画アドレスＦＩＦＯ５００４内の有効な描画アドレスに対応したものだけが、これらＡＮＤロジックを介してＯＲロジック５１１０に入力されＯＲ演算される。このＯＲロジック５１１０の出力信号がＣＯＭＰ信号としてＦＩＦＯコントローラ５００７へ入力される。つまり、描画アドレスＦＩＦＯ５００４内の有効な描画アドレスのいずれかと、入力した描画アドレスとが一致した時に判定結果信号ＣＯＭＰが”１”となる。ＦＩＦＯコントローラ５００７は、ＣＯＭ信号が”０”の時、つまり描画アドレスが一致しなかった時に、それをリードライト制御装置４００１へ知らせるためにＯＫ信号を送出する。
【００６８】
図１６に、ＲＭＷデータＦＩＦＯ装置４００２の第２の実施例のブロック図を示す。図１６において、図１３中の対応した部分には同一の符号が付けられている。ＦＩＦＯコントローラ５００７は、描画アドレス比較装置５００５よりＮＵＭ信号が入力される点が前記第１の実施例と異なる。このＦＩＦＯコントローラ５００７のフローチャートを図１８に示す。図１８及び図１５において、対応したステップに同一のステップ番号が付けられている。
【００６９】
図１７に、この第２の実施例に係る描画アドレス比較装置５００５のブロック図を示す。図１７を図１４と対比すれば明らかなように、本実施例に係る描画アドレス比較装置はＭＡＸ数値生成装置５１１１が追加されている。このＭＡＸ数値生成装置５１１１は、ＡＮＤロジック５１０６〜５１０９より入力する、最も新しい有効な比較結果を数値化し、それをＭＵＭとしてＦＩＦＯコントローラ５００７へ出力する。図１９に、ＭＡＸ数値生成装置５１１１のフローチャートを示す。すなわち、入力した描画アドレスと一致する描画アドレスの描画ＦＩＦＯ５００４内の格納位置がＮＵＭとして出力される。
【００７０】
以上に述べた構成のＲＭＷデータＦＩＦＯ装置４００２の全体的な動作を説明する。ＲＭＷデータＦＩＦＯ装置４００２は、リードライト制御装置４００１からのデータイネーブル信号がアクティブになると、リードライト制御装置４００１から描画パターン、描画マスクパターン、描画アドレス、論理演算TYPEを受け取り（ライト要求の場合は描画アドレスのみ受け取り）、受け取った描画アドレスが描画ＦＩＦＯ５００４に格納されている有効な描画アドレスのいずれとも一致しなければ（ｓｔｅｐ２０３，Ｎｏ）、ＯＫ信号を送出する（ｓｔｅｐ２０２Ａ）。そして、ＲＭＷ処理の場合のみであるが（図１５及び図１８では省略されいるが、例えば有効な論理演算TYPEを受け取った等からＲＭＷ処理の場合であることを判定することができる）、各ＦＩＦＯ５００１〜５００４の空きがない状態でなければ、つまりＦＩＦＯカウンタ５００６からのＦＵＬＬ信号がアクティブになっていなければ（ｓｔｅｐ２０３，Ｎｏ）、受け取った描画アドレス、論理演算TYPE、描画マスク、描画パターンを対応したＦＩＦＯ５００１〜５００４に格納し、ＦＩＦＯカウンタ５００６を１つカウントアップさせる（ｓｔｅｐ２０４）。
【００７１】
一方、これもＲＭＷ処理の場合のみであるが、受け取った描画アドレスが描画アドレスＦＩＦＯ５００４に格納されている有効な描画アドレスのいずれかと一致したときには（ｓｔｅｐ２０２，Ｙｅｓ）、ＦＩＦＯコントローラ５００７内のＡＬＬ＿ＯＵＴフラグを”１”にセットし（ｓｔｅｐ２０５）、次に描画ＷＡＩＴ信号をＯＮにして描画パターン生成装置２００２の処理を中止停止（WAIT）させる（ｓｔｅｐ２０６）。ｓｔｅｐ２０３で各ＦＩＦＯ５００１〜５００４が空きのない状態であると判定されたときも（ｓｔｅｐ２０３，Ｙｅｓ）、同様に描画ＷＡＩＴ信号をＯＮにする。なお、第２の実施例の場合には、ｓｔｅｐ２０５において、描画アドレス比較装置５００５より出力されたＭＵＭ値、すなわち、入力した描画アドレスと一致した描画アドレスの描画アドレスＦＩＦＯ５００４内の格納位置が、ＭＡＸＡＤＤＲＥＳＳとしてＦＩＦＯコントローラ５００７内に保持される。
【００７２】
また、ＲＭＷデータＦＩＦＯ装置４００２は、ＲＯＰ処理装置４００３からのデータイネーブル信号がアクティブになると（ｓｔｅｐ２０７，Ｙｅｓ）、各ＦＩＦＯ５００１〜５００４の先頭の（一番早く格納された）データをＲＯＰ処理装置４００３へ転送し、ＦＩＦＯカウンタ５００６を１つカウントダウンさせる（ｓｔｅｐ２０８）。描画ＷＡＩＴ信号がアクティブの場合（ｓｔｅｐ２０９，Ｙｅｓ）、ＡＬＬ＿ＯＵＴフラグが”１”ならば（ｓｔｅｐ２１０，Ｙｅｓ）、すなわちｓｔｅｐ２０２でアドレス一致と判定されて当該フラグが立てられているときには、各ＦＩＦＯ５００１〜５００４の全ての格納データが出力済みであるか、つまり描画アドレスＦＩＦＯ５００４に格納された全ての描画アドレスに対するリード・モディファイ・ライト処理が終了しているかチェツクする（ｓｔｅｐ２１１）。ただし、前記第２の実施例の場合は、各ＦＩＦＯ５００１〜５００４内のＭＡＸＡＤＤＲＥＳＳで示される格納位置のデータまで出力済みであるかチェツクする。そして、ｓｔｅｐ２１１の判定結果がＹｅｓならば、描画ＷＡＩＴ信号をＯＦＦにして描画パターン生成装置２００の処理停止を解除し、その処理を再開させるとともに、ＡＬＬ＿ＯＵＴフラグを”０”にリセットする（ｓｔｅｐ２１３）。また、ｓｔｅｐ２１０でＡＬＬ＿ＯＵＴフラグが”１”でないと判定した場合、つまり、各ＦＩＦＯ５００１〜５００４の空きがなくなったために描画ＷＡＩＴ信号がＯＮにされている場合には、各ＦＩＦＯ５００１〜５００４に所定以上の空きが生じたならば（ｓｔｅｐ２１２，Ｙｅｓ）、描画ＷＡＩＴ信号をＯＦＦにするとともにＡＬＬ＿ＯＵＴフラグを”０”にリセットする（ｓｔｅｐ２１３）。
【００７３】
図２０にＲＯＰ処理装置４００３のフローチャートを示す。このフローチャートに示すように、ＲＯＰ処理装置４００３は、Read画像ＦＩＦＯ装置４００４からのデータイネーブル信号がアクティブとなったことを確認すると（ｓｔｅｐ４００，Ｙｅｓ）、ＲＭＷデータＦＩＦＯ装置４００２から出力される描画アドレス、描画パターン、描画マスク、論理演算TYPEを受け取り、また、Read画像ＦＩＦＯ装置４００４からリードデータを受け取り、該描画パターンを該描画マスクによりマスク処理し（ｓｔｅｐ４０１）、マスク処理後の描画パターン（ＷＤＡＴＡ）と該リードデータについて、論理演算TYPEに対応した論理演算（図２１−１，図２１−２参照）を行う（ｓｔｅｐ４０１）。そして、リードライト・インターフェース装置４００５へのデータイネーブル信号をＯＮすることにより、論理演算後のデータ（ライトデータ）の描画アドレスへのライト要求をリードライト・インターフェース装置４００５に行い（ｓｔｅｐ４０２）、リード／ライト・インターフェース装置４００５よりライト要求コマンドを発行させる。ｓｔｅｐ４０２においては、図示されていないが、ＲＭＷデータＦＩＦＯ装置４００２の各ＦＩＦＯ５００１〜５００４内の次のデータの出力を許可するため、ＲＭＷデータＦＩＦＯ装置４００２へのデータイネーブル信号もＯＮにする（図１５，図１５のｓｔｅｐ２０７参照）。
【００７４】
なお、図２１−１と図２１−２は論理演算処理を例示するものである。論理演算番号は前記論理演算TYPEに対応する。また、論理演算処理はＶｅｒｉｌｏｇ表現である。
【００７５】
図２２にＲＯＰ処理装置４００３の概略ブロック図を示す。ＡＮＤロジック６００１は、ＲＭＷデータＦＩＦＯ装置４００２から受け取った描画パターンとマスクデータのＡＮＤ演算により描画パターンをマスクデータでマスク処理し、処理後の描画パターンを論理演算部６００３へ入力する。ＡＮＤロジック６００２は、Read画像ＦＩＦＯ装置４００４から入力するリードデータを、描画マスクデータを反転したデータによりマスク処理し、処理後のリードデータを論理演算部６００３へ入力する。論理演算部６００３は、入力した描画パターン及びリードデータについて論理演算TYPEに応じた論理演算処理を行い、その結果すなわちライトデータを出力する。
【００７６】
次にリード／ライト・インターフェース装置４００５の動作を説明する。図２３に、リード／ライト・インターフェース装置４００５のフローチャートを示す。
【００７７】
このフローチャートに示されるように、リード/ライト・インターフェース装置４００５は、リードライト制御装置４００１からのリード／ライトＩ／Ｆイネーブル信号がアクティブになると（ｓｔｅｐ５００，Ｙｅｓ）、リードライト制御装置４００１からのＲ／Ｗ信号からリード要求かライト要求かを判断する（ｓｔｅｐ５０１）。
【００７８】
リードライト制御装置４００１からのライト要求の場合（ｓｔｅｐ５０１，Ｎｏ）、オンチップバス・インターフェース２００１に対し、リードライト制御装置４００１から受け取った描画パターンと描画アドレスをへ転送し、Ｒ／Ｗ信号によって該描画パターンの該描画アドレスへのライト要求を行う、つまりライト要求コマンドを出す（ｓｔｅｐ５０２）。
【００７９】
一方、リードライト制御装置４００１からのリード要求の場合（ｓｔｅｐ５０１，Ｙｅｓ）、オンチップバス・インターフェース２００１に対し、リードライト制御装置４００１から受け取った描画アドレスをへ転送し、Ｒ／Ｗ信号によって該描画アドレスのリード要求を行い、つまりリード要求コマンドを出し（ｓｔｅｐ５０３）、オンチップバス・インターフェース２００１からリードデータが戻ってくるのを待つ。オンチップバス１００３からリード応答が返されリードデータが戻ってくると（ｓｔｅｐ５０６，Ｙｅｓ）、Read画像ＦＩＦＯ装置４００４へのリードデータイネーブル信号をＯＮして該リードデータをRead画像ＦＩＦＯ装置４００４へ転送する（ｓｔｅｐ５０７）。この時、Read画像ＦＩＦＯ装置４００４は、リード／ライト・インターフェース装置４００５から受け取ったリードデータを内部のＦＩＦＯに格納し、ＲＯＰ処理装置４００３へのデータイネーブル信号をＯＮして、格納したリードデータをＲＯＰ処理装置４００３へ転送する。
【００８０】
また、リード／ライト・インターフェース装置４００５は、ＲＯＰ処理装置４００３からのデータイネーブル信号がアクティブになると（ｓｔｅｐ５０４，Ｙｅｓ）、ＲＯＰ処理装置４００３から出力された描画アドレスとライトデータを受け取り、オンチップバス・インターフェース４００１に対し該描画アドレスへの該ライトデータのライト要求のコマンドを出す（ｓｔｅｐ５０５）。これで、ある描画アドレスに対するリード・モディファイ・ライト処理が行われたことになる。
【００８１】
描画装置１００５についての以上の説明から明らかなように、例えば図３２（Ｂ）に示したようなＲＭＷタイミングとなるような場合に図３２（Ｃ）のＲＭＷタイミングに自動的に制御され、正しい描画処理が実行される。また、例えば図３４（Ａ）に示したようなＲＭＷタイミングとなるような場合に図３４（Ｂ）に示すＲＭＷタイミングに自動的に制御され、正しい描画処理が実行される。また、具体例は提示しないが、ＲＭＷデータＦＩＦＯ装置４００２内の描画アドレスＦＩＦＯ５００４に格納されているＲＭＷ処理未了の描画アドレスに対して、リードライト制御装置４００１からの新たなライト要求が抑止されるため、そのようなライト要求の発行による不正な描画処理を防止できる。
【００８２】
また、以上の説明から明らかなように、請求項１記載の発明に係る論理演算処理装置は論理演算処理装置２００３に対応する。そして、請求項２記載の発明はＲＭＷデータＦＩＦＯ装置４００２が前記第１の実施例の構成をとる場合に相当し、請求項３記載の発明はＲＭＷデータＦＩＦＯ装置４００２が前記第２の実施例の構成をとる場合に相当することも明らかである。また、本実施形態に係る描画装置１００５における処理内容は、請求項４乃至６記載の発明に係る描画処理方法の実施例に相当することも明らかである。よって、請求項４乃至６記載の発明に係る描画処理方法についての説明は繰り返さない。
【００８３】
図２４に、符号化装置１００６の概略ブロック図を示す。図２４において、７００１はオンチップバス１００３とのインターフェースである。オンチップバス・インターフェース７００１からのリード要求に対し、メインメモリ１０１５のバンドメモリ領域からリードされた画像データはオンチップバス・インターフェース７００１を介し取り込まれ、バッファ７００２に一時的に記憶される。このバッファ７００２内の画像データは、ＪＢＩＧ符号化装置７００３によってＪＢＩＧ規格の符号化方式により符号化される。ＪＢＩＧ符号化装置７００３より出力される符号データはバッファ７００４に一時的に記憶される。オンチップバス・インターフェース７００１からのライト要求によって、バッファ７００４内の符号データはオンチップバス１００３へ出力され、メインメモリ１０１５の符号ページメモリ領域へライトされる。リード要求時及びライト要求時のメモリアドレスはメモリアドレス生成装置７００５により生成され、オンチップバス・インターフェース７００１を介しオンチップバス１００３へ出される。以上のような符号化装置１００６の動作はコントローラ７００６により制御される。
【００８４】
図２５に、復号装置１００７の概略ブロック図を示す。図２５において、８００１はオンチップバス１００３とのインターフェースである。オンチップバス・インターフェース８００１からのリード要求に対し、メインメモリ１０１５の符号ページメモリ領域からリードされた符号データはオンチップバス・インターフェース８００１を介し取り込まれ、バッファ８００２に一時的に記憶される。このバッファ８００２内の符号データは、ＪＢＩＧ復号装置８００３によってＪＢＩＧ規格の復号方式により復号される。ＪＢＩＧ復号装置８００３より出力される画像データはバッファ８００４に一時的に記憶される。このバッファ８００４内の画像データは、プリンタエンジン１００９と同期してエンジンコントローラ１００８へ転送される。リード要求時のメモリアドレスはメモリアドレス生成装置８００５により生成され、オンチップバス・インターフェース８００１を介しオンチップバス１００３へ出される。以上のような復号装置１００７の動作はコントローラ８００６により制御される。
【００８５】
以上、本発明の実施形態について説明した。しかしながら、本発明は前記実施形態のみに限定されるものではなく様々な変形が可能である。また、本発明はプリンタに限らず、デジタル複写機や複合機（ＭＦＰ；multi  function  printer）等の機器に広く適用し得るものである。
【図面の簡単な説明】
【００８６】
【図１】本発明に係るプリンタの概略構成図である。
【図２】図１に示したプリンタの電装・制御装置の構成を示すブロック図である。
【図３】メインメモリの領域割り当て例を示す図である。
【図４】ＰＤＬデータの入力からプリントアウトまでの処理の流れを説明するための処理概念図である。
【図５】バンドメモリのフォーマットの説明図である。
【図６】中間言語の例を示す図である。
【図７】描画されたバンド画像の例を示す図である。
【図８】描画コマンドの説明図である。
【図９】本発明の一実施形態に係る描画装置の概略ブロック図である。
【図１０】描画パターン生成装置の概略ブロック図である。
【図１１】論理演算処理装置の概略ブロック図である。
【図１２】リードライト制御装置の動作を説明するためのフローチャートである。
【図１３】ＲＭＷデータＦＩＦＯ装置の第１の実施例を示す概略ブロック図である。
【図１４】図１３中の描画アドレス比較装置の概略ブロック図である。
【図１５】図１３に示したＲＭＷデータＦＩＦＯ装置の動作を説明するためのフローチャートである。
【図１６】ＲＭＷデータＦＩＦＯ装置の第２の実施例を示す概略ブロック図である。
【図１７】図１６中の描画アドレス比較装置の概略ブロック図である。
【図１８】図１６に示したＲＭＷデータＦＩＦＯ装置の動作を説明するためのフローチャートである。
【図１９】図１７中のＭＡＸ生成装置の動作を示すフローチャートである。
【図２０】ＲＯＰ処理装置の動作を説明するためのフローチャートである。
【図２１−１】論理演算処理の例を示す図である。
【図２１−２】論理演算処理の例を示す図である。
【図２２】ＲＯＰ処理装置の概略ブロック図である。
【図２３】リード／ライト・インターフェース装置の動作を説明するためのフローチャートである。
【図２４】符号化装置の概略ブロック図である。
【図２５】復号装置の概略ブロック図である。
【図２６】ＣＰＵが描画処理を実行する初期のシステム構成を示す模式的ブロック図である。
【図２７】メインメモリからバンドメモリを独立させたシステム構成を示す模式的ブロック図である。
【図２８】ＣＰＵと描画装置でメモリアービターを介してメインメモリを共有するシステム構成を示す模式的ブロック図である。
【図２９】オンチップバスを介して描画装置がメインメモリに描画するシステム構成を示す模式的ブロック図である。
【図３０】リードタイミングを説明するためのタイミング図である。
【図３１】正しい描画処理例と正しくない描画処理例を示す図である。
【図３２】図３１に関連したリード・モディファイ・ライトのタイミングを説明するためのタイミング図である。
【図３３】正しい描画処理例と正しくない描画処理例を示す図である。
【図３４】図３３に関連したリード・モディファイ・ライトのタイミングを説明するためのタイミング図である。
【符号の説明】
【００８７】
１００１  ＣＰＵ
１００３  オンチップバス
１００５  描画装置
１０１５  メインメモリ
２００１  オンチップバス・インターフェース
２００２  描画パターン生成装置
２００３  論理演算処理装置
４００１  リードライト制御装置
４００２  ＲＭＷデータＦＩＦＯ装置
４００３  ＲＯＰ処理装置
４００４  Read画像ＦＩＦＯ装置
４００５  リード／ライト・インターフェース装置
５００１  描画パターンＦＩＦＯ
５００２  描画マスクＦＩＦＯ
５００６  描画アドレスＦＩＦＯ
５００５  描画アドレス比較装置
５００６  ＦＩＦＯカウンタ
５００７  ＦＩＦＯコントローラ
【図１】
2007286863.tif 000003
【図２】
2007286863.tif 000004
【図３】
2007286863.tif 000005
【図４】
2007286863.tif 000006
【図５】
2007286863.tif 000007
【図６】
2007286863.tif 000008
【図７】
2007286863.tif 000009
【図８】
2007286863.tif 000010
【図９】
2007286863.tif 000011
【図１０】
2007286863.tif 000012
【図１１】
2007286863.tif 000013
【図１２】
2007286863.tif 000014
【図１３】
2007286863.tif 000015
【図１４】
2007286863.tif 000016
【図１５】
2007286863.tif 000017
【図１６】
2007286863.tif 000018
【図１７】
2007286863.tif 000019
【図１８】
2007286863.tif 000020
【図１９】
2007286863.tif 000021
【図２０】
2007286863.tif 000022
【図２１−１】
2007286863.tif 000023
【図２１−２】
2007286863.tif 000024
【図２２】
2007286863.tif 000025
【図２３】
2007286863.tif 000026
【図２４】
2007286863.tif 000027
【図２５】
2007286863.tif 000028
【図２６】
2007286863.tif 000029
【図２７】
2007286863.tif 000030
【図２８】
2007286863.tif 000031
【図２９】
2007286863.tif 000032
【図３０】
2007286863.tif 000033
【図３１】
2007286863.tif 000034
【図３２】
2007286863.tif 000035
【図３３】
2007286863.tif 000036
【図３４】
2007286863.tif 000037