(57)【特許請求の範囲】
【請求項１】
描画命令をビットマップ展開して印刷処理する印刷処理装置において、
少なくとも文字又は図形のいずれかの描画オブジェクトを有し、前記描画命令で記述されている印刷データを解釈して、内部命令に変換する印刷データ解釈手段と、
前記内部命令から前記描画オブジェクトの輪郭を構成するエッジのエッジ情報を前記エッジ毎に有したディスプレイリストを走査ライン毎に生成するディスプレイリスト生成手段と、
前記ディスプレイリストを用いて、前記描画オブジェクトの前記エッジを表す座標点をバンド単位に順次生成する座標点生成手段と、
１ページ分の前記ディスプレイリストから、処理対象のバンドに関係しない前記ディスプレイリストを取り除き、前記処理対象のバンドの前記ディスプレイリストのみを前記座標点生成手段に転送するディスプレイリスト選択手段を含み、前記描画オブジェクトの全ての前記座標点の生成が終了するまで、前記ディスプレイリストを前記座標点生成手段に繰り返し転送する管理手段と、
前記座標点に順番を付けるソート手段と、
前記順番にしたがって整列させた前記座標点にもとづいて、前記印刷データを印刷出力可能な印刷画像データに変換する印刷画像データ変換手段と、
前記印刷画像データの１ページ分を前記バンド単位で格納するバンドメモリ手段と、
前記印刷画像データを前記バンド単位で出力処理する印刷出力手段と、
を有することを特徴とする印刷処理装置。
【請求項２】
前記ディスプレイリスト選択手段は、前記ディスプレイリストから前記エッジの始点および終点の走査ライン値を算出し、処理中のバンド境界の走査ライン値と比較して、前記エッジの始点の走査ライン値が前記バンド境界の走査ライン値の大きい方よりもさらに大きいエッジ、および前記エッジの終点の走査ライン値が前記バンド境界の走査ライン値の小さい方よりもさらに小さいエッジを除いた他のディスプレイリストのみを選択することを特徴とする請求項１記載の印刷処理装置。
【請求項３】
前記座標点生成手段は、生成した前記座標点から処理中の前記バンドに含まれる座標点のみを選択する座標点選択手段を有し、前記座標点選択手段にて選択された前記座標点のみを前記ソート手段に転送することを特徴とする請求項１記載の印刷処理装置。
【請求項４】
前記座標点選択手段は、生成した前記座標点の走査ライン値と処理中のバンド境界の走査ライン値を比較して、前記生成した座標点の走査ライン値が、２つの前記バンド境界の走査ライン値の間にはさまれる座標点のみを選択することを特徴とする請求項３記載の印刷処理装置。
【請求項５】
１ページ分の座標点生成処理が終了するまで、１ページ分の前記ディスプレイリストを格納するディスプレイリストバッファメモリ手段をさらに有することを特徴とする請求項１記載の印刷処理装置。
【請求項６】
前記ディスプレイリストバッファメモリ手段は、複数で構成され、１ページ分の前記ディスプレイリストを分散して格納することを特徴とする請求項５記載の印刷処理装置。
【請求項７】
前記座標点生成手段が、一方の前記ディスプレイリストバッファメモリ手段を用いてｎ番目のページの座標点を生成している間に、前記ディスプレイリスト生成手段が他方の前記ディスプレイリストバッファメモリ手段を用いてｎ＋１番目のページの前記ディスプレイリストを生成することを特徴とする請求項５記載の印刷処理装置。
【請求項８】
前記座標点生成手段は、内部に前記座標点の走査ライン値を保持するためのレジスタを有し、前記走査ライン毎に前記座標点の生成とともにこのレジスタの値をインクリメントしていき、処理中の前記バンドの境界を超えた場合はそのエッジ以降の座標点生成処理を中断して、次のエッジの処理を開始することを特徴とする請求項１記載の印刷処理装置。
【請求項９】
描画命令をビットマップ展開して印刷処理する印刷処理方法において、
印刷データ解釈手段は、少なくとも文字又は図形のいずれかの描画オブジェクトを有し、前記描画命令で記述されている印刷データを解釈して、内部命令に変換し、
ディスプレイリスト生成手段は、前記内部命令から前記描画オブジェクトの輪郭を構成するエッジのエッジ情報を前記エッジ毎に有したディスプレイリストを走査ライン毎に生成し、
座標点生成手段は、前記ディスプレイリストを用いて、前記描画オブジェクトの前記エッジを表す座標点をバンド単位に順次生成し、
管理手段は、１ページ分の前記ディスプレイリストから、処理対象のバンドに関係しない前記ディスプレイリストを取り除き、前記処理対象のバンドの前記ディスプレイリストのみを前記座標点生成手段に転送するディスプレイリスト選択手段を含み、前記描画オブジェクトの全ての前記座標点の生成が終了するまで、前記ディスプレイリストを前記座標点生成手段に繰り返し転送し、
ソート手段は、前記座標点に順番を付けるソートを行い、
印刷画像データ変換手段は、前記順番にしたがって整列させた前記座標点にもとづいて、前記印刷データを印刷出力可能な印刷画像データに変換し、
バンドメモリ手段は、前記印刷画像データの１ページ分を前記バンド単位で格納し、
印刷出力手段は、前記印刷画像データを前記バンド単位で出力処理することを特徴とする印刷処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は印刷処理装置及び印刷処理方法に関し、特に描画命令をビットマップ展開して印刷処理する印刷処理装置及び描画命令をビットマップ展開して印刷処理する印刷処理方法に関する。
【０００２】
【従来の技術】
近年の小型、高速化したディジタル印刷に適した電子写真方式のページプリンタの開発に伴い、従来の文字情報中心の印刷から脱皮した、ラスタ、図形、文字などを同様に取り扱い、かつ図形、文字等の拡大、回転、変形などが自由に制御できる記述言語を用いた印刷処理装置が普及してきている。
【０００３】
この種の記述言語の代表例として、PostScript (Adobe Systems 社商標) 、Interpress (Xerox 社商標) 、Acrobat(Adobe Systems 社商標) 、GDI (Graphics Device Interface: Microsoft 社商標) 等が知られている。
【０００４】
記述言語で作成されている印刷データは、ページ内の任意の位置のラスタ、図形、文字を表現する描画命令が任意の順で構成されており、ページプリンタで印字するためには、印字前に印刷データをビットマップ展開しなければならない。
【０００５】
ビットマップ展開というのは、印刷データをページまたはページの一部を横切る一連の個々のドットまたは画素へ展開してラスタ走査線を形成し、そのページの下へ引き続く走査線を次々に発生する過程である。
【０００６】
記述言語で作成されている印刷データのうち、図形あるいは文字に関する描画命令を、それが表現する描画オブジェクトの輪郭を構成するエッジ情報を含んだリストを複数個連結させたディスプレイリストに変換した後、そのディスプレイリストをビットマップ展開することにより印刷処理を行う方法が一般的に知られている。
【０００７】
図２６、図２７はディスプレイリストからビットマップ展開のためのエッジの座標点を生成する処理の流れを示す図である。
図において多角形の輪郭は、４つのエッジから構成されている。これらのエッジは、絶対値の小さい方の頂点( 以下、エッジの始点と呼ぶ) のｙ座標値によりソートされ、ｙバケットリストに連結されて記憶されている。
【０００８】
ｙバケットリストの各セルは、走査ラインと各エッジの交点を発生させるための情報、即ち、エッジの始点のｘ座標値、走査ライン当たりのｘの変化量Δｘ  、エッジと走査ラインとの交差数Δｙを含んでいる。ｙバケットリストおよび各セルを含む全体をディスプレイリストと呼ぶ。
【０００９】
一般的にディスプレイリストからエッジの座標点を生成する処理は、走査ライン変換と呼ばれる。走査ライン変換によって生成されたエッジの座標点を座標値によりソートし、ソートされた座標点間を所定の色データで順次塗りつぶし処理を施したものがビットマップデータである。
【００１０】
走査ライン変換は、１走査ラインずつ、上部から下部までのエッジの座標点を発生する。即ち、現在の走査ラインと交わる全エッジをリスト化して、図２７に示すアクティブエッジリストを作成しながらエッジの座標点を出力する。
【００１１】
現在の走査ラインの処理後、アクティブエッジリストの各レコードは次走査のために更新（ｘ＝ｘ＋Δｘ, Δｙ＝Δｙ−１）される。Δｙ＝０になったバケットは、リストから削除される。
【００１２】
上記のような処理を行う従来技術としては、例えば特願平０９−１３８６０９号公報がある。これは、ディスプレイリストから描画オブジェクトのエッジを表す座標点を生成する座標点生成処理と、座標点に順序を付けるソート処理と、を独立させ、座標点生成処理に関しては、複数の座標点生成装置で繰り返し座標点生成のみを行うよう構成されている。
【００１３】
【発明が解決しようとする課題】
しかし、上記のような従来技術では、バンド単位でビットマップ展開を行う場合、複数のバンドにまたがる描画オブジェクトをバンドの境界で分割し、あらかじめ複数の描画オブジェクトのディスプレイリストに変換しておく必要がある。
【００１４】
このため、バンド数の増加とともにディスプレイリスト全体としてのデータ量が増加し、かつ描画オブジェクトの分割のために多大な処理時間が必要となるといった問題があった。
【００１５】
本発明はこのような点に鑑みてなされたものであり、１ページ分のディスプレイリストから直接１バンド分のエッジリストを生成して、高速にビットマップ展開する印刷処理装置を提供することを目的としている。
【００１６】
また、本発明の他の目的は、１ページ分のディスプレイリストから直接１バンド分のエッジリストを生成して、高速にビットマップ展開する印刷処理方法を提供することである。
【００１７】
【課題を解決するための手段】
本発明では上記課題を解決するために、描画命令をビットマップ展開して印刷処理する印刷処理装置において、少なくとも文字又は図形のいずれかの描画オブジェクトを有し、前記描画命令で記述されている印刷データを解釈して、内部命令に変換する印刷データ解釈手段と、前記内部命令から前記描画オブジェクトの輪郭を構成するエッジのエッジ情報を前記エッジ毎に有したディスプレイリストを走査ライン毎に生成するディスプレイリスト生成手段と、前記ディスプレイリストを用いて、前記描画オブジェクトの前記エッジを表す座標点をバンド単位に順次生成する座標点生成手段と、１ページ分の前記ディスプレイリストから、処理対象のバンドに関係しない前記ディスプレイリストを取り除き、前記処理対象のバンドの前記ディスプレイリストのみを前記座標点生成手段に転送するディスプレイリスト選択手段を含み、前記描画オブジェクトの全ての前記座標点の生成が終了するまで、前記ディスプレイリストを前記座標点生成手段に繰り返し転送する管理手段と、前記座標点に順番を付けるソート手段と、前記順番にしたがって整列させた前記座標点にもとづいて、前記印刷データを印刷出力可能な印刷画像データに変換する印刷画像データ変換手段と、前記印刷画像データの１ページ分を前記バンド単位で格納するバンドメモリ手段と、前記印刷画像データを前記バンド単位で出力処理する印刷出力手段と、を有することを特徴とする印刷処理装置が提供される。
【００１８】
ここで、印刷データ解釈手段は、少なくとも文字又は図形のいずれかの描画オブジェクトを有し、描画命令で記述されている印刷データを解釈して、内部命令に変換する。ディスプレイリスト生成手段は、内部命令から描画オブジェクトの輪郭を構成するエッジのエッジ情報をエッジ毎に有したディスプレイリストを走査ライン毎に生成する。座標点生成手段は、ディスプレイリストを用いて、描画オブジェクトのエッジを表す座標点をバンド単位に順次生成する。管理手段は、１ページ分のディスプレイリストから、処理対象のバンドに関係しないディスプレイリストを取り除き、処理対象のバンドのディスプレイリストのみを座標点生成手段に転送するディスプレイリスト選択手段を含み、描画オブジェクトの全ての座標点の生成が終了するまで、ディスプレイリストを座標点生成手段に繰り返し転送する。ソート手段は、座標点に順番を付ける。印刷画像データ変換手段は、順番にしたがって整列させた座標点にもとづいて、印刷データを印刷出力可能な印刷画像データに変換する。バンドメモリ手段は、印刷画像データの１ページ分をバンド単位で格納する。印刷出力手段は、印刷画像データをバンド単位で出力処理する。
【００１９】
また、描画命令をビットマップ展開して印刷処理する印刷処理方法において、印刷データ解釈手段は、少なくとも文字又は図形のいずれかの描画オブジェクトを有し、前記描画命令で記述されている印刷データを解釈して、内部命令に変換し、ディスプレイリスト生成手段は、前記内部命令から前記描画オブジェクトの輪郭を構成するエッジのエッジ情報を前記エッジ毎に有したディスプレイリストを走査ライン毎に生成し、座標点生成手段は、前記ディスプレイリストを用いて、前記描画オブジェクトの前記エッジを表す座標点をバンド単位に順次生成し、管理手段は、１ページ分の前記ディスプレイリストから、処理対象のバンドに関係しない前記ディスプレイリストを取り除き、前記処理対象のバンドの前記ディスプレイリストのみを前記座標点生成手段に転送するディスプレイリスト選択手段を含み、前記描画オブジェクトの全ての前記座標点の生成が終了するまで、前記ディスプレイリストを前記座標点生成手段に繰り返し転送し、ソート手段は、前記座標点に順番を付けるソートを行い、印刷画像データ変換手段は、前記順番にしたがって整列させた前記座標点にもとづいて、前記印刷データを印刷出力可能な印刷画像データに変換し、バンドメモリ手段は、前記印刷画像データの１ページ分を前記バンド単位で格納し、印刷出力手段は、前記印刷画像データを前記バンド単位で出力処理することを特徴とする印刷処理方法が提供される。
【００２０】
ここで、印刷データは、まず内部命令に変換される。そして、内部命令から描画オブジェクトの輪郭を構成するエッジのエッジ情報をエッジ毎に有したディスプレイリストを走査ライン毎に生成する。その後、ディスプレイリストを用いて、描画オブジェクトのエッジを表す座標点をバンド単位に順次生成する。この場合、１ページ分のディスプレイリストから、処理対象のバンドに関係しないディスプレイリストを取り除き、処理対象のバンドのディスプレイリストのみを座標点生成手段に転送する。
【００２１】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。図１は本発明の印刷処理装置の原理図である。
【００２２】
印刷データ解釈手段２は、少なくとも文字又は図形のいずれかの描画オブジェクトを有し、描画命令で記述されている印刷データ１を解釈して、内部命令に変換する。
【００２３】
ディスプレイリスト生成手段３は、内部命令から描画オブジェクトの輪郭を構成するエッジのエッジ情報をエッジ毎に有したディスプレイリストを走査ライン毎に生成する。
【００２４】
座標点生成手段４は、ハードウェアで構成され、１ページ分のディスプレイリストを用いて、描画オブジェクトのエッジを表す座標点をバンド単位に順次生成する。また、座標点生成手段４は複数で構成され、座標点生成手段４の数と同数の座標点を一度に生成する。
【００２５】
ソート手段５は、所定のプログラムを中央演算処理装置で実行することにより座標点に順番を付ける。
印刷画像データ変換手段６は、この順番にしたがって整列させた座標点にもとづいて、印刷データ１を印刷出力可能な印刷画像データに変換する。
【００２６】
バンドメモリ手段７は、印刷画像データの１ページ分をバンド単位で格納する。印刷出力手段８は、印刷画像データをバンド単位で出力処理する。
本発明の印刷処理装置１０は、１ページ分のディスプレイリストから特定のバンドに含まれる描画オブジェクトのエッジを表す座標点のみを生成するように構成している。
【００２７】
このため、１ページ分の印刷画像データを格納するページメモリを備える構成と比較して、メモリ量をバンド数分の１に抑えることができ、低コスト化を達成できる。
【００２８】
また、ディスプレイリストをあらかじめバンド単位に分割しておき、１バンド分のディスプレイリストから１バンド分の座標点を生成する構成と比較して、ディスプレイリストの分割に伴うデータ量が削減し、バンド分割のための処理時間が必要ないという利点がある。
【００２９】
したがって、本発明を適用することにより、大規模なハードウェアを用意することなく、さらに複雑な描画オブジェクトを３角形や台形からなるディスプレイリストに分割したり、複数のバンドにまたがる描画オブジェクトをバンドの境界で分割したりするために多大な計算を必要とすることなく、高速にビットマップ展開することが可能になる。
【００３０】
次に印刷処理装置１０の詳細構成について説明する。図２は本発明の印刷処理装置１０の詳細ブロック図である。
印刷データ1 は印刷処理装置１０で処理可能な記述言語で記述されたものであり、図示されないパーソナルコンピュータやワークステーションにおいて、文書作成や編集等を処理するアプリケーションプログラムで作成された文書データから生成されたものである。
【００３１】
記述言語としては、例えばGDI やAcrobat で代表されるPDF(Portable Document Format) 、またはPostScriptで代表されるページ記述言語が該当する。
印刷データスプール手段１ａは、印刷データ1 を入力するための通信機能や、印刷データ解釈手段２へ出力されるまで印刷データを一時的に記憶する機能等を備えたものである。
【００３２】
印刷データ解釈手段２は、印刷データスプール手段１ａに入力された印刷データ１を、定められた記述言語のシンタックスに従ってトークンとして切り出した後、トークンを解釈し、内部命令やその引数に変換する。
【００３３】
内部命令には、文字／図形／ラスタの描画を実行する描画命令や、色や線属性など描画に必要な情報を設定する描画状態命令がある。
ディスプレイリスト生成手段３は、ディスプレイリスト生成処理手段３ａ、ディスプレイリストバッファＡ３ａ−１、ディスプレイリストバッファＢ３ａ−２、ラスタデータ処理手段３ｂ、ラスタデータバッファ３ｂ−１からなる。
【００３４】
そして、描画命令が文字あるいは図形の場合は、描画命令をディスプレイリスト生成処理手段３ａへ転送する。一方、描画命令がラスタの場合は、描画命令をラスタデータ処理手段３ｂへ転送するとともに、対象とするラスタデータの縦と横の大きさをディスプレイリスト生成処理手段３ａへ転送する。
【００３５】
ディスプレイリスト生成処理手段３ａは、文字／図形の描画命令に応じて、描画されるオブジェクトの輪郭を構成するエッジデータを生成した後、オブジェクト毎にヘッダ情報と、描画オブジェクトの輪郭を構成するエッジの始点、傾きおよびエッジと走査ラインとの交差数を含むエッジ情報とから構成されるディスプレイリストを生成する。
【００３６】
また、印刷データ解釈手段２より転送されたラスタデータの縦と横の大きさに基づき、ラスタデータの輪郭を示すディスプレイリストを生成する。生成されたディスプレイリストは、ディスプレイリストバッファＡ３ａ−１に格納される。
【００３７】
印刷データ解釈手段２からディスプレイリストバッファＡ３ａ−１までの処理を、ページを構成する全ての描画オブジェクトに対して実行することにより、1 ページ分のディスプレイリストがディスプレイリストバッファＡ３ａ−１に格納される。
【００３８】
ラスタデータ処理手段３ｂは、ラスタの描画命令に応じて、対象とするラスタデータに対し座標変換、色補正等のラスタ処理を実行し、処理されたラスタデータをラスタデータバッファ３ｂ−１に格納する。
【００３９】
ディスプレイリストバッファＢ３ａ−２には、ページ単位でディスプレイリストバッファＡ３ａ−１からディスプレイリストデータが入力される。
座標点生成手段４は、ディスプレイリスト管理手段４ａと座標点生成処理手段４ｂからなる。ディスプレイリスト管理手段４ａは、ディスプレイリストバッファＢ３ａ−２からのディスプレイリストの読み出しと、現在処理中のバンドの外にあるエッジ情報の除去と、後段の座標点生成処理手段４ｂが待機状態にあることの検出と、検出結果に基づき座標点生成処理手段４ｂへディスプレイリストのエッジ情報の転送と、を制御するものである。
【００４０】
また、ディスプレイリスト管理手段４ａでは、ヘッダ情報に基づき処理するオブジェクトのタイプが文字／図形かまたはラスタかを検出し、ラスタの場合は、印刷画像データ変換手段６にラスタデータバッファ３ｂ−１からラスタデータバンドバッファ７（バンドメモリ手段７に対応する）に当該オブジェクトのラスタデータを転送するよう指示する。
【００４１】
座標点生成処理手段４ｂは、エッジの始点、傾きおよびエッジと走査ラインとの交差数を含むエッジ情報から、走査ライン毎にエッジの座標点をエッジリストバッファ９に出力するものであり、座標点生成回路の数と同数のエッジの座標点を一度に出力する複数の座標点生成回路で構成される。
【００４２】
ここで、生成した座標点が現在処理中のバンドの外にある場合は、エッジリストバッファ９への出力は行わない。複数の座標点生成回路は、走査ライン毎に複数のエッジに対する座標点生成を実行する。処理中の全てのエッジに対する処理が終了すると、ディスプレイリスト管理手段４ａより次に処理すべき複数のエッジ情報が転送される。
【００４３】
１つのオブジェクトに対する全てのエッジの座標点生成が終了するまで、複数の座標点生成回路による座標点生成が繰り返される。また、処理するオブジェクトが文字／図形の場合は、ヘッダ情報に基づき処理するオブジェクトの色データがエッジリストバッファ９に格納される。
【００４４】
ソート手段５は、座標点生成処理手段４ｂによる１つのオブジェクトに対する全てのエッジの座標点生成が終了した後、エッジリストバッファ９に格納されている走査ライン毎のエッジ座標点データを、座標値の小さいものから順次整列するよう並べかえる処理を行うものであり、所定のプログラムを中央演算処理装置で実行する構成となっている。ソート処理のためのプログラムとしては、例えばクイックソートプログラムが用いられる。
【００４５】
印刷画像データ変換手段６は、エッジリストバッファ９の座標値の小さいものから順次整列するよう並べかえられたエッジの座標点のペアの間の塗りつぶし処理を行い、出力バッファ８ａに出力するものである。
【００４６】
処理するオブジェクトが文字／図形の場合は、エッジリストバッファ９に格納されている色データにより塗りつぶし処理を実行する。処理するオブジェクトがラスタデータの場合は、ラスタデータバッファ３ｂ−１よりエッジの座標点のペアの間を埋めるラスタデータを読み出し、出力バッファ８ａに出力する。  なお、エッジリストバッファ９も２つのバッファで構成され、上記座標点生成処理およびソート処理と、印刷画像データ変換処理はパイプラインで実行可能に構成されている。
【００４７】
印刷出力手段８は出力バッファ８ａとプリンタ装置制御手段８ｂからなる。出力バッファ８ａは、ページを所定のバンド数で分割したバンドサイズの２つのバッファで構成され、一方のバッファが印刷画像データ変換手段６により塗りつぶし処理が行われている間、他方のバッファは、後段のプリンタ装置制御手段８ｂを介して、プリンタ装置２０へ印刷画像データが転送されるよう構成されている。
【００４８】
プリンタ装置制御手段８ｂは、プリンタ装置２０の出力タイミングに応じて出力バッファ８ａの印刷画像データをプリンタ装置２０へ転送するとともに、プリンタ装置２０の状態制御および管理を実行するものである。
【００４９】
プリンタ装置２０は、プリンタ装置制御手段８ｂの制御に基づき、出力バッファ８ａから出力される印刷画像データを受け取って、記録用紙に印字し出力するものである。
【００５０】
さらに、詳しくは、ＣＭＹＢＫ（シアン、マゼンタ、イエロー、ブラック) カラーの色毎に露光、現像、転写を繰り返すことによりフルカラー画像を出力できるレーザ走査方式の電子写真方式を用いたカラーページプリンタである。
【００５１】
次に印刷処理装置１０の印刷処理の流れの概要について説明する。図３、図４は印刷処理の流れの概要を示すフローチャートである。
〔Ｓ１〕印刷データスプール手段１ａに文字または図形を含む印刷データ1 が入力されると、印刷データ解釈手段２、ディスプレイリスト生成処理手段３ａを介してディスプレイリストが生成される。
〔Ｓ２〕1 ページ分のディスプレイリストがディスプレイリストバッファＡ３ａ−１に格納される。次にディスプレイリストバッファＡ３ａ−１より、ページ単位で順次ディスプレイリストがディスプレイリストバッファＢ３ａ−２に入力される。
〔Ｓ３〕ディスプレイリスト管理手段４ａにおいて、最初のオブジェクトのディスプレイリストのエッジ情報が、最大で座標点生成処理手段４ｂの有する座標点生成回路の数だけ座標点生成処理手段４ｂに転送される。
〔Ｓ４〕座標点生成処理手段４ｂは、座標点を生成する。
〔Ｓ５〕座標点生成処理手段４ｂは、走査ラインの更新を行う。
〔Ｓ６〕座標点生成処理手段４ｂでは、全ての座標点生成回路の待機状態のチェックを行う。もし、全ての座標点生成回路が待機状態でなければ、ステップＳ４へ戻る。もし、全ての座標点生成回路が待機状態であれば、ステップＳ７へ行く。
〔Ｓ７〕座標点生成処理手段４ｂは、オブジェクトの全てのエッジの処理終了のチェックを行う。もし、オブジェクトの全てのエッジの処理が終了していなければ、ステップＳ３へ戻り次のエッジ情報が最大で座標点生成処理手段４ｂの有する座標点生成回路の数だけ座標点生成処理手段４ｂに転送される。もし、オブジェクトの全てのエッジの処理が終了していれば、ステップＳ８へ行く。
〔Ｓ８〕ソート手段５でソート処理が実行される。
〔Ｓ９〕印刷画像データ変換手段６は、印刷画像データへの変換処理および出力バッファ８ａへの出力を実行する。
〔Ｓ１０〕全てのオブジェクト処理終了のチェックを行う。もし、全てのオブジェクトの処理が終了していなければ、ステップＳ３へ戻り、次のオブジェクトの最初のエッジ情報が、最大で座標点生成処理手段４ｂの有する座標点生成回路の数だけ座標点生成処理手段４ｂに転送される。もし、全てのオブジェクトの処理が終了していれば、ステップＳ１１へ行く。
〔Ｓ１１〕プリンタ装置制御手段８ｂを介してプリンタ装置２０に印刷画像データを出力する。
〔Ｓ１２〕次にページ内の全てのバンド処理終了のチェックを行う。もし、全てのバンドの処理が終了していなければ、ステップＳ３へ戻る。もし、全てのバンドの処理が終了していれば、1 ページ分の印刷処理は終了する。処理する印刷データが複数ページあれば、上記処理を複数ページ分繰り返す。
【００５２】
なお、上記の印刷データの流れの説明では、簡単にするため、ラスタデータ処理に関する記載は省略したが、ラスタデータ処理に関しては図２の各構成要素の概要および動作で説明したように処理される。
【００５３】
次に印刷処理装置１０のハードウェア構成について説明する。図５は印刷処理装置１０が実装されるハードウェアの構成例である。
ホストコンピュータ１００と、ホストコンピュータ１００が接続されるネットワーク３０、描画処理カード１１０、プリンタ装置２０、描画処理カード１１０とプリンタ装置２０を接続する専用バス４０で構成されている。
【００５４】
ネットワーク３０は、例えばEthernetであり、ネットワーク３０を介して図示しないパーソナルコンピュータやワークステーションから印刷データ１が入力される。
【００５５】
ホストコンピュータ１００は、ＣＰＵ１０１と、メモリコントローラ１０２と、ＤＲＡＭ１０３と、システムバスコントローラ１０４と、ネットワークインタフェース１０５と、磁気ディスク１０６と、カードコントローラ１０７と、ＣＰＵバス１０８と、システムバス１０９とから構成される一般的なものである。
【００５６】
システムバス１０９は、例えばＰＣＩバスであり、カードコントローラ１０７はCardBus 対応のコントローラであり、高速のデータ転送が可能である。
ホストコンピュータ１００には、印刷データスプール手段１ａ、印刷データ解釈手段２、ディスプレイリスト生成処理手段３ａ、ラスタデータ処理手段３ｂ、ラスタデータバッファ３ｂ−１、ディスプレイリストバッファＡ３ａ−１に相当する機能が実装される。
【００５７】
例えば、磁気ディスク１０６は、印刷データ解釈手段２、ディスプレイリスト生成処理手段３ａ、ラスタデータ処理手段３ｂ−１の各処理のための所定のプログラム等の格納領域、印刷データスプール手段１ａの印刷データ格納領域として使用される。
【００５８】
また、ＤＲＡＭ１０３は、印刷データ解釈手段２、ディスプレイリスト生成処理手段３ａ、ラスタデータ処理手段３ｂ−１の各処理のためのワークエリア、ラスタデータバッファ３ｂ−１、ディスプレイリストバッファＡ３ａ−１として使用される。
【００５９】
さらに、ＣＰＵ１０１は印刷データ解釈手段２、ディスプレイリスト生成処理手段３ａ、ラスタデータ処理手段３ｂの各処理を実行する。
図６は描画処理カード１１０の構成を示す図である。描画処理カード１１０には、ディスプレイリストバッファＢ３ａ−２、ディスプレイリスト管理手段４ａ、座標点生成処理手段４ｂ、ソート手段５、エッジリストバッファ９、印刷画像データ変換手段６、ラスタデータバンドバッファ７、出力バッファ８ａ、プリンタ装置制御手段８ｂが実装される。
【００６０】
描画処理カード１１０は、ホストコンピュータ１００のＣＰＵ１０１とは異なるＣＰＵ１１１と、カードインタフェース１１２と、フラッシュＲＯＭ１１３と、メモリコントローラ１１４と、メモリ１１５と、座標点生成ＬＳＩ１１６と、印刷画像データ変換ＬＳＩ１１７と、出力バッファメモリ１１８と、ラスタデータバンドバッファメモリ１１９と、プリンタ制御ＬＳＩ１２０と、ビデオインタフェース１２１と、カード内部バス１２２とから構成されている。
【００６１】
フラッシュＲＯＭ１１３は、ソート手段５のソート処理のための所定のプログラム等が格納されるとともに、オペレーティングシステムのプログラムが格納される。
【００６２】
メモリ１１５は、例えばＤＲＡＭで構成され、ソート処理のためのプログラム実行のためのワークエリア、ディスプレイリストバッファＢ３ａ−２、エッジリストバッファ９として使用される。
【００６３】
また、座標点生成ＬＳＩ１１６には、ディスプレイリスト管理手段４ａと座標点生成処理手段４ｂの機能、印刷画像データ変換ＬＳＩ１１７には印刷画像データ変換手段６の機能、プリンタ制御ＬＳＩ１２０とビデオインタフェース１２１はプリンタ装置制御手段８ｂの機能がそれぞれ実装されている。
【００６４】
さらに、ＣＰＵ１１１はソート手段５のソート処理のための所定のプログラムの実行、ディスプレイリストバッファＢ３ａ−２へのディスプレイリスト入力の制御、出力バッファメモリ１１８やラスタデータバッファ３ｂ−１のメモリクリアの制御等を実行する。
【００６５】
また、出力バッファメモリ１１８とラスタデータバンドバッファメモリ１１９は、例えばＤＲＡＭで構成される。
このようにディスプレイリスト管理手段４ａ以降の処理を独立した一体の回路基板上に構成することにより、カード内部バス１２２はホストコンピュータ１００のシステムバス１０９とは独立に設けることが可能になり、バスの競合によるデータ転送速度低下を低減することができる。
【００６６】
さらに、ホストコンピュータ１００のシステムバス１０９より高速のバスを設けることにより、データ転送の高速化が可能となる。また、図の構成において、出力バッファメモリ１１８とラスタデータバンドバッファメモリ１１９は、カード内部バス１２２を介さず直接印刷画像データ変換ＬＳＩ１１７に接続された構成をとっている。
【００６７】
このような構成をとることにより、データ転送のボトルネックを解消し、より高速のデータ転送が可能となる。また、ＣＰＵ１１１の主要な処理はソート処理に限定されるため、ホストコンピュータ１００のＣＰＵ１０１に比較して、性能の低いＣＰＵを使用することが可能であり、図に示すようなカード化が可能になる。
【００６８】
以上、本発明の印刷処理装置１０の概要について記述した。次に、ディスプレイリストの構造と、ディスプレイリスト管理手段４ａおよび座標点生成処理手段４ｂを実装する座標点生成ＬＳＩについて詳細に説明する。
【００６９】
はじめに、文字／図形とラスタデータの２つの場合のディスプレイリストの構成について詳細に説明する。
図７はＴｙｐｅＩＤが文字／図形の場合のディスプレイリストの構成を示す図である。ヘッダ部は、描画オブジェクトの種類を示すＴｙｐｅＩＤ( この場合、文字あるいは図形描画を示す) と、描画オブジェクトを何色で塗りつぶすかを示す色情報（例えば、ＣＭＹＢＫの値等) と、ｙバケットの総数であるｙリスト数と、各ｙリストに連結されているセルの総数である連結セル数と、次の描画オブジェクトのディスプレイリストへのポインタと、から構成される。
【００７０】
リスト部は、ｙバケットと、連結セルとから構成される。ｙバケットは、入力された各描画オブジェクト毎のベクタデータの始点のｙ座標値に相当する走査ラインｙと、ｙバケットに連結されているセル数Ｃと、最初の連結セルへのポインタであるセルポインタからなる。
【００７１】
ここで、連結セルの存在しないｙバケット、すなわちＣｉ＝０のｙバケットはリスト部に登録しない。連結セルは、入力された各描画オブジェクト毎のベクタデータの始点のｘ座標値と、そのベクタデータの走査ライン当たりのｘの増分であるΔｘと、そのベクタデータと交差する走査ラインの数であるΔｙと、その走査ラインｙを始点とする異なるベクタデータが存在するか否かを示す連結フラグから構成される。
【００７２】
連結フラグは、次に連結セルが存在する場合は、フラグ‘１’を付加し、最後の連結セルである場合は、ＥＯＣ（End Of Cell)を表すフラグ‘０’を付加する。
【００７３】
図８はＴｙｐｅＩＤがラスタの場合のディスプレイリストの構成を示す図である。ヘッダ部は、ＴｙｐｅＩＤ( この場合、ラスタ描画を示す) と、ラスタデータのデータサイズ（１画素当たりのビット数＊ｗ＊ｈ）と、ラスタデータの格納されているラスタデータバッファ３ｂ−１のアドレスに相当するデータアドレスと、各ｙリストに連結されているセルの総数である連結セル数と、次の描画オブジェクトのディスプレイリストへのポインタとから構成される。リスト部は、上述した文字／図形の場合と同様であるので説明を省略する。
【００７４】
次に座標点生成ＬＳＩ１１６について詳細に説明する。図９は座標点生成ＬＳＩ１１６の構成を示すブロック図である。座標点生成ＬＳＩ１１６は、管理回路１１６ａと、座標点生成回路１１６ｂ（図では４つの座標点生成回路Ａ〜Ｄ）とから構成される。また、座標点生成ＬＳＩ１１６は、内部バス１２２に接続されているメモリコントローラ１１４を介してメモリ１１５にアクセスする構成になっている。
【００７５】
図１０、図１１は管理回路１１６ａが管理する管理情報を示す図である。管理回路１１６ａは、表１１６ａ−１に示す複数の内部レジスタを有し、現在処理中の走査ライン情報の管理、ディスプレイリストバッファＢ３ａ−２およびエッジリストバッファ９へのアクセスの制御、ディスプレイリストデータのデコード処理、座標点生成回路１１６ｂの状態管理などの機能を備えるものである。
【００７６】
座標点生成回路１１６ｂは、管理回路１１６ａから１組ずつセルデータを入力し、走査ライン毎に同期して最大４点のエッジデータを並列に生成する機能を備えるものである。４つの座標点生成回路Ａ〜Ｄは、全て同一の構造を持つ。
【００７７】
図１２は座標点生成回路１１６ｂの構成を示すブロック図である。座標点生成回路１１６ｂは、ｘ座標値を保持するＸレジスタ１１６ｂ−０と、エッジの傾きを保持するΔＸレジスタ１１６ｂ−１と、交差数を保持するΔＹレジスタ１１６ｂ−２と、Ｘレジスタ１１６ｂ−０およびΔＸレジスタ１１６ｂ−１の値を加算する加算器１１６ｂ−３と、ΔＹレジスタ１１６ｂ−２の値をデクリメントする演算器１１６ｂ−４と、２つのマルチプレクサ１１６ｂ−５及び１１６ｂ−６と、実数値を整数値へ変換する整数変換器１１６ｂ−７と、ΔＹレジスタ１１６ｂ−２の値を０と比較する比較器１１６ｂ−８と、から構成される。
【００７８】
入力Ｘ、ΔＸ、ΔＹは、対応する各レジスタの初期値であり、管理回路１１６ａから入力される。入力ＸＳＥＬ, ΔＹＳＥＬは、それぞれマルチプレクサ１１６ｂ−５及び１１６ｂ−６の出力値の切り替え制御信号、入力ＸＬＤ、ΔＸＬＤ、ΔＹＬＤは、レジスタ１１６ｂ−０〜１１６ｂ−２の書き込み制御信号であり、管理回路１１６ａから入力される。
【００７９】
出力ＣＵＲＸは、管理回路１１６ａのカレントｘレジスタＣＵＲＸへ出力される。出力ＥＮＤは、エッジの終了を管理回路１１６ａに通知するための制御信号である。
【００８０】
次にエッジリストバッファ９の構成とエッジリストのデータ形式について説明する。図１３はエッジリストバッファ９の構成とエッジリストのデータ形式を示す図である。
【００８１】
エッジリストデータは、オブジェクトの色情報と最初に現れるエッジのｙ座標値ｙｓｔａｒｔとから成るヘッダ部と、エッジと各走査ラインとの交点の座標値を含むエッジリスト部とから構成される。
【００８２】
エッジリストバッファ９は、エッジリストデータのヘッダ部を格納する領域と、エッジリスト部を格納する領域とから構成される。エッジリストバッファ９のヘッダ部格納領域の先頭アドレスｅｌｈｄａｄｒと、エッジリスト部格納領域の先頭アドレスｙａｄｒ０は、座標点生成ＬＳＩ１１６起動時に管理回路１１６ａのＥＬヘッダアドレスレジスタＥＬＨＤＡＤＲおよびＥＬトップアドレスレジスタＥＬＴＯＰＡＤＲにそれぞれ書き込まれる。
【００８３】
エッジリストバッファ９のエッジリスト部格納領域は、1 バンドの全ての走査ラインに対してそれぞれＭ個のｘ座標値を格納することができる。各走査ラインのエッジリストの先頭には、そのラインにいくつのｘ座標値が格納されているかを表すエッジデータ数Ｐｉが格納される。１走査ラインに格納可能なｘ座標値の最大数Ｍの値は、２５６以上の２のべき乗数が望ましい。
【００８４】
次に図１４〜図１７を用いて、座標点生成ＬＳＩ１１６における１オブジェクトの座標点生成処理の流れを詳細に説明する。ここでは、既に１ページ分のディスプレイリストがディスプレイリストバッファＢ３ａ−２に格納されているものとする。
〔Ｓ２０〕座標点生成ＬＳＩ１１６は、ＣＰＵ１１１から座標点生成処理開始の通知を受け取ると、ディスプレイリストデータのヘッダ部を処理するためにステップＳ２１に移る。
〔Ｓ２１〕管理回路１１６ａがメモリコントローラ１１４へディスプレイリストバッファＢ３ａ−２へのリードアクセス要求を出す。アクセスが許可されると、管理回路１１６ａはＤＬヘッダアドレスレジスタＤＬＨＤＡＤＲに保持しているアドレスをメモリコントローラ１１４へ出力し、該当アドレスからヘッダ部のデータを読み出して、一旦フェッチレジスタＦＥＴＣＨに格納する。
【００８５】
また、ステップＳ２３のｙリスト処理に備えて、ＤＬヘッダアドレスレジスタＤＬＨＤＡＤＲに保持しているアドレスとヘッダサイズからディスプレイリストバッファＢ３ａ−２のｙリスト部の先頭アドレスを算出し、その値をｙリストアドレスレジスタＹＬＩＳＴＡＤＲにセットする。
【００８６】
オブジェクトが文字または図形の場合には、フェッチレジスタＦＥＴＣＨ内のヘッダ情報が、色情報とセル数と次ヘッダ部アドレスにデコードされて、それぞれカラーレジスタＣＯＬＯＲ、セルカウンタレジスタＮＵＭＣＥＬＬ、ＤＬヘッダアドレスレジスタＤＬＨＤＡＤＲに格納される。
【００８７】
オブジェクトがラスタの場合には、フェッチレジスタＦＥＴＣＨ内のヘッダ情報が、ラスタデータバッファアドレスとラスタデータサイズとセル数と次ヘッダ部アドレスにデコードされる。管理回路１１６ａは、デコードしたラスタデータバッファアドレスとラスタデータサイズを印刷画像データ変換ＬＳＩ１１７に出力し、該当ラスタデータをホストコンピュータ１００のラスタデータバッファ３ｂ−１からラスタデータバンドバッファメモリ１１９へ転送するよう指示する。
【００８８】
デコードしたセル数と次ヘッダ部アドレスは、それぞれセルカウンタレジスタＮＵＭＣＥＬＬ、ＤＬヘッダアドレスレジスタＤＬＨＤＡＤＲに格納する。
ステップＳ２１で全オブジェクトの処理終了が検出された場合（ＮＵＭＣＥＬＬ＝０の場合) は、以降の処理を中断してバンドの終了をＣＰＵ１１１に通知し、次のバンドの処理に備えてＤＬヘッダアドレスレジスタＤＬＨＤＡＤＲがリセットされる。また、バンドカウンタレジスタＮＵＭＢＡＮＤがインクリメントされ、バンドＳＹレジスタＢＡＮＤＳＹおよびバンドＥＹレジスタＢＡＮＤＥＹが以下の式に従って更新される。
【００８９】
【数１】
ＢＡＮＤＳＹ＝ＢＡＮＤＥＹ                                …（１ａ）
ＢＡＮＤＥＹ＝ＢＡＮＤＳＹ＋ＢＡＮＤＨＥＩＧＨＴ          …（１ｂ）
その後、座標点生成ＬＳＩ１１６は、次バンドの処理開始が通知されるまでアイドル状態になる。
〔Ｓ２２〕ｙリストの読み込みとデコードを行う。まず管理回路１１６ａがメモリコントローラ１１４へディスプレイリストバッファＢ３ａ−２へのリードアクセス要求を出す。アクセスが許可されると、管理回路１１６ａはｙリストアドレスレジスタＹＬＩＳＴＡＤＲに保持しているアドレスをメモリコントローラ１１４へ出力し、該当アドレスからｙバケットデータを読み出して、一旦フェッチレジスタＦＥＴＣＨに格納する。
【００９０】
続いて、フェッチレジスタＦＥＴＣＨ内のｙバケットデータはバンドＥＹレジスタＢＡＮＤＥＹの値と比較される。もしｙバケットデータの方がバンドＥＹレジスタＢＡＮＤＥＹの値より大きければ、そのｙバケットに連結されたセルはいずれも現在処理中のバンドには座標点を生成しないのでｙリストアドレスレジスタＹＬＩＳＴＡＤＲがインクリメントされ、ステップＳ２３の先頭に戻って再びｙリストの読み込みとデコードを行う。
【００９１】
もしｙバケットデータの方がバンドＥＹレジスタＢＡＮＤＥＹの値より小さければ、ｙバケットデータはｙバケットレジスタＹＢＵＣＫＥＴにコピーされ、ｙリストアドレスレジスタＹＬＩＳＴＡＤＲがインクリメントされる。最初にｙバケットを読み込んだ時のみ、そのｙ座標値がスタートｙレジスタＳＴＡＲＴＹに格納される。
〔Ｓ２３〕セルの読み込みとデコードを行い、座標点生成回路１１６ｂの内部レジスタを初期設定する。ステップＳ２３の処理の流れは、図１５を用いて後述する。
〔Ｓ２４〕座標点の生成と出力を行う。ステップＳ２４の処理の流れは、図１６を用いて後述する。
〔Ｓ２５〕セルカウンタレジスタＮＵＭＣＥＬＬの値がチェックされ、ＮＵＭＣＥＬＬ＞０ならばステップＳ２６へ進み、ＮＵＭＣＥＬＬ＝０ならばステップＳ２７へ進む。
〔Ｓ２６〕ｙバケットレジスタＹＢＵＣＫＥＴに格納されているセルポインタの値がチェックされる。もしセルポインタの値がＮＵＬＬならばステップＳ２２へ戻り、ＮＵＬＬ以外ならばステップＳ２３へ戻る。
〔Ｓ２７〕オブジェクトのヘッダ情報をエッジリストバッファ９へ書き込み、一連の座標点生成処理を終了する。まず管理回路１１６ａがメモリコントローラ１１４へエッジリストバッファ９へのライトアクセス要求を出す。アクセスが許可されると、管理回路１１６ａはエッジリストヘッダアドレスレジスタＥＬＨＤＡＤＲに保持しているアドレスをメモリコントローラ１１４へ出力し、該当アドレスにカラーレジスタＣＯＬＯＲとスタートｙレジスタＳＴＡＲＴＹの値を書き込む。次に、1 オブジェクト分の座標点生成処理が終了したことをＣＰＵ１１１に通知して、座標点生成ＬＳＩ１１６はアイドル状態になる。
【００９２】
次にステップＳ２３の処理の流れについて説明する。図１５はセルの入力とレジスタの設定処理の流れを示すフローチャートである。
〔Ｓ３０〕管理回路１１６ａがメモリコントローラ１１４へディスプレイリストバッファＢ３ａ−２へのリードアクセス要求を出す。アクセスが許可されると、管理回路１１６ａはｙバケットレジスタＹＢＵＣＫＥＴのセルポインタ部に保持しているアドレスをメモリコントローラ１１４へ出力し、該当アドレスからセルデータを読み出して、一旦フェッチレジスタＦＥＴＣＨに格納する。
〔Ｓ３１〕フェッチレジスタＦＥＴＣＨ内のセルデータをデコードして、待機状態の座標点生成回路１１６ｂの内部レジスタにセットする。まずフェッチレジスタＦＥＴＣＨのセルデータは、バンドＳＹレジスタＢＡＮＤＳＹの値と比較される。
【００９３】
もしＣＵＲＹ＋Δｙ＞ＢＡＮＤＳＹならば、ステータスレジスタＳＴＡＴＵＳの値をチェックし、待機状態の座標点生成回路１１６ｂを検出する。次に、検出された座標点生成回路１１６ｂにセルデータからデコードしたｘ座標値とエッジの傾きΔｘと交差数Δｙを入力し、それぞれＸレジスタ１１６ｂ−０、ΔＸレジスタ１１６ｂ−１、Δｙレジスタ１１６ｂ−２へ格納する。ステータスレジスタＳＴＡＴＵＳの上記検出された座標点生成回路１１６ｂの待機状態を表すビットは、処理中を表す‘０’に変更され、アイドルカウンタレジスタＮＵＭＩＤＬＥはデクリメントされる。
【００９４】
セルデータからデコードされたｘ座標値は、始点を出力するためにカレントｘレジスタＣＵＲＸにもコピーされる。次に、セルデータの連結フラグ部をデコードし、その値が継続を表す‘１’ならばｙバケットレジスタＹＢＵＣＫＥＴのセルポインタ部をインクリメントし、連結フラグの値が‘０’(EOC) ならばｙバケットレジスタＹＢＵＣＫＥＴのセルポインタ部にＮＵＬＬ値をセットする。
【００９５】
さらに、セルカウンタレジスタＮＵＭＣＥＬＬをデクリメントし、カレントｙレジスタＣＵＲＹにｙバケットレジスタＹＢＵＣＫＥＴに格納しているｙ座標値をコピーする。
【００９６】
もし、ＣＵＲＹ＋Δｙ＜ＢＡＮＤＳＹならば、そのセルは現在処理中のバンドには座標点を生成しないので、セルデータの連結フラグ部をデコードし、その値が継続を表す‘１’ならばｙバケットレジスタＹＢＵＣＫＥＴのセルポインタ部をインクリメントし、連結フラグの値が‘０’(EOC) ならばｙバケットレジスタＹＢＵＣＫＥＴのセルポインタ部にＮＵＬＬ値をセットする。さらに、セルカウンタレジスタＮＵＭＣＥＬＬはデクリメントされ、ステップＳ３３に進む。
〔Ｓ３２〕現在処理しているｙバケットにセルリストが連結されているか否かを調べる。もしｙバケットレジスタＹＢＵＣＫＥＴのセルポインタ部の値がＮＵＬＬならば、現在処理しているｙバケットにはセルが連結されていないので、図１４のステップＳ２３を終了してステップＳ２４に進む。ＮＵＬＬでない場合は、セルリストが連結されているのでステップＳ３３に進んで、再びセルを入力するかどうかを決定する。
〔Ｓ３３〕アイドルカウンタレジスタＮＵＭＩＤＬＥの値をチェックして、待機状態の座標点生成回路１１６ｂの有無を調べる。ＮＵＭＩＤＬＥ＝０の場合は、全ての座標点生成回路１１６ｂが処理状態にあるので、図１４のステップＳ２３を終了してステップＳ２５に進む。ＮＵＭＩＤＬＥ＞０の場合は、待機状態の座標点生成回路１１６ｂが存在するので、ステップＳ３０に戻って次のセルデータを読み込み、図１４のステップＳ２３の処理を繰り返す。
【００９７】
次にステップＳ２４の処理の流れについて説明する。図１６は座標点出力処理の流れを示すフローチャートである。
〔Ｓ４０〕エッジの始点の座標値をエッジリストバッファ９へ出力する。ステップＳ４０の処理は図１７で後述する。
〔Ｓ４１〕次の走査ラインとエッジの交点の座標値を計算する。まず、カレントｙレジスタＣＵＲＹの値がインクリメントされる。次に、処理状態にある座標点生成回路１１６ｂのｘレジスタ１１６ｂ−０とΔｙレジスタ１１６ｂ−２の値が、以下に示す式（２ａ）および式（２ｂ）にしたがって、並列に更新される。
【００９８】
【数２】
ｘ＝ｘ＋Δｘ                                              …（２ａ）
Δｙ＝Δｙ−１                                            …（２ｂ）
最後に、更新されたｘレジスタ１１６ｂ−０値が、整数変換器１１６ｂ−７によって整数化されてカレントｘレジスタＣＵＲＸへ格納される。カレントｘレジスタＣＵＲＸは、最大で４つの座標点を格納できる大きさを持ち、必ず左詰めで、ＬＳＢから有効なデータが格納されるように管理されている。
〔Ｓ４２〕カレントｙレジスタＣＵＲＹの値が現在処理中のバンド内にあるかどうかチェックされる。真ならばステップＳ４３へ進み、偽ならばステップＳ４４へ進む。
〔Ｓ４３〕ステップＳ４１で計算された座標値をエッジリストバッファ９へ出力する。ステップＳ４３の処理の詳細は図１７で後述する。
〔Ｓ４４〕エッジの終点を出力した座標点生成回路１１６ｂを検出して、待機状態にする処理を行う。エッジの終点を出力し、Δｙレジスタ１１６ｂ−２の値が‘０’になった座標点生成回路１１６ｂは、ＥＮＤ＝‘１’を出力する。管理回路１１６ａでは、アクティブになったＥＮＤ信号を検出し、ステータスレジスタＳＴＡＴＵＳの該当する座標点生成回路１１６ｂの状態を表すビットを、待機中を表す‘１’に変更する。またアイドルカウンタレジスタＮＵＭＩＤＬＥに、検出された座標点生成回路１１６ｂの個数を加算する。
〔Ｓ４５〕全ての座標点生成回路１１６ｂが待機中か否かを調べる。アイドルカウンタレジスタＮＵＭＩＤＬＥの値が４に等しければ、座標点生成回路Ａ〜Ｄは全て待機状態にあるので、図１４のステップＳ２４を終了してステップＳ２５に進む。ＮＵＭＩＤＬＥ＜４ならば、処理中の座標点生成回路１１６ｂが存在するので、ステップＳ４１に戻り、次の走査ラインの座標点生成と出力を繰り返す。
【００９９】
次にステップＳ４０及びステップＳ４３の座標点出力処理の流れを詳細に説明する。図１７は座標点出力処理の流れを示すフローチャートである。
〔Ｓ５０〕管理回路１１６ａは、メモリコントローラ１１４へエッジリストバッファ９へのアクセス要求を出し、並行してアクセス先のアドレスを計算する。現在処理中の走査ラインに対応するエッジデータ数が格納されているエッジリストバッファアドレスは、カレントｙレジスタＣＵＲＹの値を用いて、
【０１００】
【数３】
ＥＬＴＯＰＡＤＲ＋Ｂ＊Ｍ＊ＣＵＲＹ                        …（３）
により計算され、エッジリストバッファアドレスレジスタＥＬＢＡＤＲに格納される。式（３）において、ＥＬＴＯＰＡＤＲはエッジリストバッファ９のエッジリスト部の先頭アドレスが格納されているＥＬトップアドレスレジスタＥＬＴＯＰＡＤＲの値を表し、Ｂは１つのｘ座標値を表現するために必要なバイト数を表す。ＢとＭが共に２のべき乗数である場合は、式（３）はハードウェアにより１クロックサイクルで計算される。
〔Ｓ５１〕メモリコントローラ１１４によりエッジリストバッファ９へのアクセスが許可されると、管理回路１１６ａはステップＳ５０で計算したアドレスをメモリコントローラ１１４へ出力し、該当アドレスからエッジデータ数を読み込んで、一旦フェッチレジスタＦＥＴＣＨに格納する。
〔Ｓ５２〕フェッチレジスタＦＥＴＣＨ内のエッジデータ数に（４−ＮＵＭＩＤＬＥ）の値を加算し、結果をエッジリストバッファ９の読み込んだ時と同一のアドレスへ書き込む。
〔Ｓ５３〕エッジリストバッファアドレスレジスタＥＬＢＡＤＲに、フェッチレジスタＦＥＴＣＨ内のエッジデータ数にＢを乗じた値を加える。続いて、このアドレスへカレントｘレジスタＣＵＲＸの値を書き込む。以上でステップＳ４０及びステップＳ４３の座標点出力の処理は終了する。
【０１０１】
次にソート手段５について詳細に説明する。図１８はソート手段５の処理手順を示すフローチャートである。
〔Ｓ６０〕エッジリストバッファ９のアドレスｅｌｈｄａｄｒに格納されているヘッダ情報を読み込む。
〔Ｓ６１〕ヘッダ情報中のｙｓｔａｒｔの値により、最初に読み込むエッジリストバッファアドレスｙａｄｒを設定する。
〔Ｓ６２〕エッジリストバッファアドレスｙａｄｒから、エッジデータ数Ｐｉを読み込む。
〔Ｓ６３〕読み込んだエッジデータ数Ｐｉが、０か否かを判定する。０の場合は、現在のエッジリストバッファアドレスｙａｄｒが示すバッファも含めて、それ以降のエッジリストバッファ中には、エッジデータは存在しないので、ソート処理を終了する。０でない場合は、エッジデータが存在するのでステップＳ６４に処理を移す。
〔Ｓ６４〕読み込んだエッジデータ数Ｐｉと設定値との大小判定を行う。本実施の形態では、設定値＝１である。エッジデータ数Ｐｉが設定値以下であった場合、現在のエッジリストバッファアドレスｙａｄｒが示すバッファ中のエッジデータのソートは必要ないので、ステップＳ６６に処理を移す。エッジデータ数が設定値より大きい場合は、現在のエッジリストバッファアドレスｙａｄｒが示すバッファ中のエッジデータのソートが必要なので、処理をステップＳ６５に移す。〔Ｓ６５〕現在のエッジリストバッファアドレスｙａｄｒが示すバッファ中に存在するエッジデータを、値の小さい順にソートする。
〔Ｓ６６〕エッジリストバッファアドレスｙａｄｒを次の走査ラインに対応するアドレスに設定する。
〔Ｓ６７〕アドレスがエッジリストバッファ領域を超えたかどうかを判定し、超えていない場合は、ステップＳ６２に処理を移して繰り返しソート処理を行う。超えた場合は、ソート処理を終了する。
以上がソート手段５における処理の流れの概要である。次にステップＳ６５のエッジデータのソート方法について詳細に説明する。
【０１０２】
図１９はソート手段５のソート方法を示す概念図である。まず入力されたｎ個のエッジデータのうち、n/2 番目のエッジデータ値ｘに着目する。次に全エッジデータに対して、エッジデータ値ｘよりも小さいか否かにより、それぞれのエッジデータをエッジデータ値ｘ以下(1〜i)のものと、エッジデータ値ｘ以上(j〜n)であるものとに振り分ける。１〜ｉまでのエッジデータおよびｊ〜ｎまでのエッジデータそれぞれに対して、上記で述べた方法を、全てのエッジデータが値の小さい順にソートされるまで再帰的に繰り返す。上記の方法により、順不同で入力されたエッジデータをソートすることが可能となる。
【０１０３】
図２０はソート手段５の構成を示すブロック図を示す。エッジリストバッファ９からエッジデータを入力するエッジデータ入力手段５ａと、入力したエッジデータを一時的に蓄えるソートバッファ５ｂと、最終的にソートされたエッジデータをソートバッファ５ｂからエッジリストバッファ９へ出力するエッジデータ出力手段５ｃと、ソートすべきエッジデータ数の設定などのソート処理全体を管理するソート処理管理手段５ｄと、( エッジデータ数／２) 番目の値を選択する中点値選択手段５ｅと、( エッジデータ数／２) 番目の値とエッジデータ値の大小比較を行うエッジデータ判定手段５ｆと、エッジデータ判定手段５ｆの比較結果に従い、エッジデータを振り分けるエッジデータ分別手段５ｇとから構成される。
【０１０４】
次にソート手段５のソート処理の流れを説明する。図２１はソート処理の流れを示すフローチャートである。エッジデータ入力手段５ａで入力されたエッジデータは、まずソートバッファ５ｂに蓄えられる。
〔Ｓ７０〕ソート処理管理手段５ｄにより、エッジデータの個数ｎが算出される。ただし、1 回目のソート処理の場合は、エッジリストバッファ９中のエッジデータ数の値をｎと設定する。またfirst 値ｉ、last値ｊも設定する。
〔Ｓ７１〕中点値選択手段５ｅにより、（ｎ／２）番目の値ｘを選択する。
〔Ｓ７２、７３〕エッジデータ判定手段５ｆにより、値ｘとソートバッファ５ｂ中のエッジデータの大小比較を行う。
〔Ｓ７４〕エッジデータ判定手段５ｆで、振り分けが必要と判定されたエッジデータに対して、エッジデータ分別手段５ｇにより、エッジデータの振り分けを行い、振り分けた結果をソートバッファ５ｂに出力する。
〔Ｓ７５〕ソート処理管理手段５ｄにより、ソートバッファ５ｂ中の全エッジデータに対して、値ｘとの大小比較が完了したか判定し、完了していない場合は、ステップＳ７２からステップＳ７４の処理を繰り返す。値ｘとの大小比較がすべて完了している場合は次のステップに処理を移す。
〔Ｓ７６、７７〕ソート処理管理手段５ｄにより、値ｘにより振り分けられた１〜ｉまでのエッジデータおよびｊ〜ｎまでのエッジデータそれぞれに対して、ステップＳ７０からステップＳ７５の処理を繰り返し行うよう管理する。
【０１０５】
すべてのエッジデータがｘの値の小さい順にソートされるまで、ステップＳ７０からステップＳ７７までの処理を繰り返す。
上記の処理がすべて終了し、ソートバッファ５ｂ中の全エッジデータがソートされると、エッジデータ出力手段５ｃは、エッジリストバッファ９にソートバッファ５ｂ中のエッジデータを出力する。
【０１０６】
次に印刷画像データ変換手段６を実装する印刷画像データ変換ＬＳＩ１１７について詳細に説明する。図２２は印刷画像データ変換ＬＳＩ１１７の構成を示すブロック図である。
【０１０７】
印刷画像データ変換ＬＳＩ１１７は、エッジリスト入力回路１１７ａと、データ演算回路１１７ｂと、アドレス計算回路１１７ｃと、メモリ描画回路１１７ｄと、ラスタデータ転送回路１１７ｅとから構成される。
【０１０８】
また、印刷画像データ変換ＬＳＩ１１７は、エッジリストバッファ９には内部バス１２２に接続されているメモリコントローラ１１４を介してアクセスし、出力バッファ８ａおよびラスタデータバンドバッファ７にはローカルバスを用いて直接アクセスする構成になっている。
【０１０９】
この構成により、出力バッファ８ａあるいはラスタデータバンドバッファ７との高速なデータ転送を実現している。
エッジリスト入力回路１１７ａは、エッジリストバッファ９からエッジリストデータを読み込み、オブジェクトのヘッダ情報あるいは描画する線分の始点と終点の座標値をデコードして、データ演算回路１１７ｂおよびアドレス計算回路１１７ｃへ出力する機能を備えるものである。
【０１１０】
データ演算回路１１７ｂは、描画するオブジェクトが文字または図形の場合にはオブジェクトによって固定的な色を表す色データを入力し、この値を用いてスクリーン処理を行って、メモリ描画回路１１７ｄへ出力する機能を備える。描画するオブジェクトがラスタの場合には、入力されるラスタデータに対してスクリーン処理を行って、メモリ描画回路１１７ｄへ出力する機能を備える。
【０１１１】
アドレス計算回路１１７ｃは、描画する線分の始点と終点の座標値を入力して、始点に対応する出力バッファアドレスと描画する線分のワード長を計算して、メモリ描画回路１１７ｄへ出力するものである。
【０１１２】
メモリ描画回路１１７ｄは、入力されたアドレスと描画データを用いて、描画する線分を表す全てのワードにデータが書き込まれるまで、出力バッファ８ａへの描画処理を繰り返し行う機能を備えるものである。
【０１１３】
ラスタデータ転送回路１１７ｅは、描画するオブジェクトがラスタの場合に、座標点生成ＬＳＩ１１６から通知を受けて、描画する１バンド分のラスタデータを、ホストコンピュータ１００のラスタデータバッファ３ｂ−１からラスタデータバンドバッファ７へ転送する機能を備える。
【０１１４】
また、ラスタデータをラスタデータバンドバッファ７から読み出してデータ演算回路１１７ｂへ出力する機能を備える。
次に上述したように構成される印刷画像データ変換ＬＳＩ１１６における描画処理の流れを説明する。
【０１１５】
印刷画像データ変換ＬＳＩ１１６は、ＣＰＵ１１１から１オブジェクトの描画処理開始の通知を受け取ると、まずエッジリスト入力回路１１７ａがエッジリストバッファ９からエッジリストのヘッダ部を読み込んで、オブジェクトの色情報と最初のｙ座標値とにデコードし、内部レジスタに格納する。
【０１１６】
次に、式（３）にしたがって最初のｙ座標値に対応するエッジリストバッファアドレスを計算し、該当アドレスからエッジデータ数Ｐｉを読み込んで内部レジスタに格納する。その後、座標点データを２つずつ読み込んで出力バッファ８ａへ描画する処理を繰り返す。
【０１１７】
座標点データを２つずつ読み込む度にエッジデータ数Ｐｉを格納しているレジスタを２つずつデクリメントし、該当レジスタの値が０になったら次の走査ラインの処理に移る。エッジリスト入力回路１１７ａによってデコードされた２つのｘ座標値（ｘｊ，ｘｊ＋１）と現在の走査ラインを表すｙ座標値ｙｉはデータ演算回路１１７ｂと、アドレス計算回路１１７ｃへ出力される。
【０１１８】
エッジリストヘッダからデコードされたオブジェクトの色情報はデータ演算回路１１７ｂへ出力される。データ演算回路１１７ｂでは、入力された色データと座標値データを用いてスクリーン処理を行い、１または複数のワード分の描画データを生成して、メモリ描画回路１１７ｄへ出力する。アドレス計算回路１１７ｃでは入力された座標値を用いて、
【０１１９】
【数４】
ｓｔａｒｔａｄｒ＋ｘｊ＋ｗｐｓｌ＊ｙｉ                      …（４）
により描画する線分の始点（ｘｊ，ｙｊ）が格納される出力バッファアドレスを計算する。
【０１２０】
式（４）において、ｓｔａｒｔａｄｒは座標原点（０，０）が格納される出力バッファアドレスを表す定数であり、ｗｐｓｌは１走査ラインを格納するのに必要な出力バッファ８ａのワード数を表す定数である。
【０１２１】
また、アドレス計算回路１１７ｃでは、入力された２つのｘ座標値（ｘｊ，ｘｊ＋１）から描画する線分のワード長を計算する。計算された始点アドレスと線分の長さはメモリ描画回路１１７ｄへ出力される。
【０１２２】
メモリ描画回路１１７ｄでは入力された始点アドレスから順次、入力された描画データを出力バッファ８ａへ書き込む。この時、１ワード描画する毎に線分の長さを格納したレジスタの値をデクリメントしていき、該当アドレスの値が０になったら線分の描画を終了する。
【０１２３】
描画するオブジェクトがラスタの場合は、１ワード毎にラスタデータバンドバッファ７から描画するデータを読みだしてデータ演算回路１１７ｂでスクリーン処理を行いメモリ描画回路１１７ｄが出力バッファ８ａへ描画する。
【０１２４】
次に１ページ分のディスプレイリストからバンドの座標点を生成する座標点生成手段４についてさらに詳細に説明する。図２３は座標点生成手段４の構成を示す図である。
【０１２５】
ディスプレイリスト選択手段４ｂ−１は１ページ分のディスプレイリストから現在着目しているバンドに含まれないエッジを選択して取り除く機能を有する回路ブロックである。エッジ選択のアルゴリズムは後述する。
【０１２６】
座標点生成手段４ｂ−２は選択されたディスプレイリストのエッジ情報からエッジを表す座標点を走査ライン毎に順次生成する回路ブロックであり。図１２で詳しく説明している。座標点選択手段４ｂ−３は座標点生成手段４ｂ−２で生成された座標点のうち現在着目しているバンドに含まれない座標点を選択して取り除く機能を有する回路ブロックである。
【０１２７】
取り除く必要のある座標点の例では後述する。ディスプレイリスト管理手段４ａは現在着目しているバンドのすべての座標点が生成されるまでディスプレイリストのエッジ情報を座標点生成手段４ｂ−２へ繰り返し転送するよう全体の動作を管理する。
【０１２８】
次に図２４を用いてディスプレイリスト選択手段４ｂ−１及び座標点選択手段４ｂ−３の動作を説明する。図２４はディスプレイリスト選択手段４ｂ−１及び座標点選択手段４ｂ−３の動作を説明する図である。
【０１２９】
現在着目しているバンドＢの境界のＹ座標値をそれぞれＢＳＹ、ＢＥＹとする。この時、エッジＥ１及びＥ５は明らかにバンドＢに含まれないのでディスプレイリスト選択手段４ｂ−１で取り除かれ座標点生成手段４ｂ−２には渡されない。
【０１３０】
具体的にはエッジの終点のＹ座標値がバンドの境界ＢＳＹよりも小さいエッジ、及び始点のＹ座標値がバンドの境界ＢＥＹよりも大きいエッジはディスプレイリスト選択手段４ｂ−１で取り除かれる。
【０１３１】
エッジＥ２及びＥ３は始点からバンド境界ＢＳＹとの交点までの部分は座標点生成手段４ｂ−２によって座標点生成処理が行われるが、現在着目しているバンドＢの外なので座標点選択手段４ｂ−３によって取り除かれエッジリストバッファ９へは出力されない。
【０１３２】
エッジＥ２はバンド境界ＢＳＹとの交点から終点までの部分は、通常通りエッジリストバッファ９へ出力される。エッジＥ３についてはバンド境界ＢＳＹとの交点からバンド境界ＢＥＹとの交点までの部分は、通常通りエッジリストバッファ９へ出力されるが、バンド境界ＢＥＹとの交点からエッジの終点までの部分はやはり座標点選択手段４ｂ−３によって取り除かれる。エッジＥ４も同様に始点からバンド境界ＢＥＹとの交点までの部分は通常通りエッジリストバッファ９へ出力されるが、バンド境界ＢＥＹとの交点からエッジの終点までの部分は座標点選択手段４ｂ−３によって取り除かれる。
【０１３３】
さらに、好ましくはディスプレイリスト管理手段４ａが座標点生成手段４ｂ−２処理中のエッジのＹ座標値を監視する機能を備え、このＹ座標値がバンドの境界ＢＥＹを越えた場合は座標点生成手段４ｂ−２をリセットして以降の座標点生成処理を中断する機能を備えてもよい。
【０１３４】
この場合には図２４のエッジＥ３、Ｅ４に見られるようなＢＥＹから各エッジの終点までの座標点生成処理を行う時間が節約でき中断機能を持たない場合と比較してシステム全体の処理時間を短縮できる。
【０１３５】
以上説明したように本発明では所定の描画命令で記述されている印刷データをディスプレイリストに変換し、ディスプレイリストからビットマップ展開する印刷処理装置のエッジリスト生成処理において、描画オブジェクトのエッジを表す座標点を生成する座標点生成処理と、座標点に順序を付けるソート処理を分離し、複数の座標点生成手段で繰り返し座標点生成した後、ソート処理を行う構成とした。このためそれぞれの処理に適した処理資源、すなわち座標点生成処理はハードウェア、ソート処理はソフトウェアで処理することが可能となり、記述言語で記述される複雑な描画オブジェクトに対しても軽い資源で高速の処理を行うことが可能になる。
【０１３６】
また１ページ分のディスプレイリストをバンド単位に分割することなく１ページ分のディスプレイリストから直接１バンド分のエッジリストを生成するような構成としたため、複数のバンドにまたがる描画オブジェクトをバンドの境界で分割するための前処理に多大な計算を必要としない。ディスプレイリストの分割によるデータ量の増加、及びソート手段以降の処理量の増加もまったくない。ディスプレイリスト管理回路で処理中のバンドに明らかに関係しないディスプレイリストを取り除くよう構成したので座標点生成ＬＳＩにおける処理時間の増加もほとんどない。
【０１３７】
また、本発明を適用することによるディスプレイリストからビットマップ展開するまでの処理を一体の回路基板上に構成することが可能になる。このためデータ量が急増するディスプレイリスト以降の処理に対して専用の高速バスを設けることが可能になり、ディスプレイリストからビットマップ展開するまでの全体処理の高速化が実現できる。
【０１３８】
次に本発明の印刷処理方法について説明する。図２５は本発明の印刷処理方法の処理手順を示すフローチャートである。
〔Ｓ８０〕少なくとも、文字または図形のいずれかの描画オブジェクトを有し、描画命令で記述されている印刷データを解釈して内部命令に変換する。
〔Ｓ８１〕内部命令から描画オブジェクトの輪郭を構成するエッジのエッジ情報をエッジ毎に有したディスプレイリストを走査ライン毎に生成する。
〔Ｓ８２〕１ページ分のディスプレイリストを用いて描画オブジェクトのエッジを表す座標点をバンド単位に順次生成する。
〔Ｓ８３〕座標点に順番を付けるソートを行う。
〔Ｓ８４〕順番にしたがって整列させた座標点にもとづいて、印刷データを印刷出力可能な印刷画像データに変換する。
〔Ｓ８５〕印刷画像データの１ページ分をバンド単位で格納する。
〔Ｓ８６〕印刷画像データをバンド単位で出力処理する。
【０１３９】
以上説明したように、本発明の印刷処理方法は、１ページ分のディスプレイリストを用いて描画オブジェクトのエッジを表す座標点をバンド単位に順次生成するものとした。これにより、描画オブジェクトをバンドの境界で分割するための前処理を行わずにすむため、高速に印刷処理を行うことが可能になる。
【０１４０】
【発明の効果】
以上説明したように、本発明の印刷処理装置は、１ページ分のディスプレイリストから、処理対象のバンドに関係しないディスプレイリストを取り除き、処理対象のバンドのディスプレイリストのみを座標点生成手段に転送して、座標点生成手段でディスプレイリストを用いて、描画オブジェクトのエッジを表す座標点を生成して印刷処理する構成とした。これにより、描画オブジェクトをバンドの境界で分割するための前処理を行わずにすみ、また、ディスプレイリストの分割によるデータ量の増加もなくなるため処理負荷を軽減し、高速に印刷処理を行うことが可能になる。
【０１４１】
また、本発明の印刷処理方法は、１ページ分のディスプレイリストから、処理対象のバンドに関係しないディスプレイリストを取り除き、処理対象のバンドのディスプレイリストのみを座標点生成手段に転送して、座標点生成手段でディスプレイリストを用いて、描画オブジェクトのエッジを表す座標点を生成して印刷処理するものとした。これにより、描画オブジェクトをバンドの境界で分割するための前処理を行わずにすみ、また、ディスプレイリストの分割によるデータ量の増加もなくなるため処理負荷を軽減し、高速に印刷処理を行うことが可能になる。
【図面の簡単な説明】
【図１】本発明の印刷処理装置の原理図である。
【図２】本発明の印刷処理装置の詳細ブロック図である。
【図３】印刷処理の流れの概要を示すフローチャートである。
【図４】印刷処理の流れの概要を示すフローチャートである。
【図５】印刷処理装置が実装されるハードウェアの構成例である。
【図６】描画処理カードの構成を示す図である。
【図７】ＴｙｐｅＩＤが文字／図形の場合のディスプレイリストの構成を示す図である。
【図８】ＴｙｐｅＩＤがラスタの場合のディスプレイリストの構成を示す図である。
【図９】座標点生成ＬＳＩの構成を示すブロック図である。
【図１０】管理回路が管理する管理情報を示す図である。
【図１１】管理回路が管理する管理情報を示す図である。
【図１２】座標点生成回路の構成を示すブロック図である。
【図１３】エッジリストバッファの構成とエッジリストのデータ形式を示す図である。
【図１４】座標点生成ＬＳＩの座標点生成処理の流れを示すフローチャートである。
【図１５】セルの入力とレジスタの設定処理の流れを示すフローチャートである。
【図１６】座標点出力処理の流れを示すフローチャートである。
【図１７】座標点出力処理の流れを示すフローチャートである。
【図１８】ソート手段の処理手順を示すフローチャートである。
【図１９】ソート手段のソート方法を示す概念図である。
【図２０】ソート手段の構成を示すブロック図を示す。
【図２１】ソート処理の流れを示すフローチャートである。
【図２２】印刷画像データ変換ＬＳＩの構成を示すブロック図である。
【図２３】座標点生成手段の構成を示す図である。
【図２４】ディスプレイリスト選択手段及び座標点選択手段の動作を説明する図である。
【図２５】本発明の印刷処理方法の処理手順を示すフローチャートである。
【図２６】ディスプレイリストからビットマップ展開のためのエッジの座標点を生成する処理の流れを示す図である。
【図２７】ディスプレイリストからビットマップ展開のためのエッジの座標点を生成する処理の流れを示す図である。
【符号の説明】
１  印刷データ
２  印刷データ解釈手段
３  ディスプレイリスト生成手段
４  座標点生成手段
５  ソート手段
６  印刷画像データ変換手段
７  バンドメモリ手段
８  印刷出力手段
１０  印刷処理装置
２０  プリンタ装置
【図１】
0003864520.tif 000002
【図２】
0003864520.tif 000003
【図３】
0003864520.tif 000004
【図４】
0003864520.tif 000005
【図５】
0003864520.tif 000006
【図６】
0003864520.tif 000007
【図７】
0003864520.tif 000008
【図８】
0003864520.tif 000009
【図９】
0003864520.tif 000010
【図１０】
0003864520.tif 000011
【図１１】
0003864520.tif 000012
【図１２】
0003864520.tif 000013
【図１３】
0003864520.tif 000014
【図１４】
0003864520.tif 000015
【図１５】
0003864520.tif 000016
【図１６】
0003864520.tif 000017
【図１７】
0003864520.tif 000018
【図１８】
0003864520.tif 000019
【図１９】
0003864520.tif 000020
【図２０】
0003864520.tif 000021
【図２１】
0003864520.tif 000022
【図２２】
0003864520.tif 000023
【図２３】
0003864520.tif 000024
【図２４】
0003864520.tif 000025
【図２５】
0003864520.tif 000026
【図２６】
0003864520.tif 000027
【図２７】
0003864520.tif 000028