(57)【特許請求の範囲】
【請求項１】
文字または図形に関する描画命令を印刷画像データに変換して印刷出力する印刷処理装置において、
所定の描画命令で記述された少なくとも文字または図形のいずれかの描画オブジェクトを有する印刷データを入力する入力手段と、
前記入力手段に入力された前記印刷データから前記描画オブジェクトの輪郭を構成するエッジの始点および終点の情報を有したリストを前記描画オブジェクトごとに生成するリスト生成手段と、
前記リスト生成手段で生成された前記リストの前記始点および終点の情報から前記描画オブジェクトの前記エッジを表す座標点を個々に生成する複数の座標点生成部を有する座標点生成装置と、
前記座標点生成装置で生成された前記座標点に順序を付けるソート手段と、
前記描画オブジェクトの印刷画像データを印刷出力する印刷出力手段と、
前記ソート手段で決定された順番の前記座標点を用いて前記印刷データを前記印刷出力手段で出力可能な印刷画像データに変換する変換手段と、
前記リスト生成手段で生成された前記リストから前記リストを前記変換手段まで展開する時間を予測するリスト展開時間予測手段と、
前記リスト展開時間予測手段で予測された展開予測時間に応じて前記印刷出力手段の出力速度を決定する印刷出力手段の制御手段と、
を備えていることを特徴とする印刷処理装置。
【請求項２】
前記リスト展開時間予測手段は、前記座標点生成装置における前記座標点の生成時間を予測することを特徴とする請求項１記載の印刷処理装置。
【請求項３】
前記リスト展開時間予測手段は、前記変換手段における印刷画像データへの変換時間を予測することを特徴とする請求項１記載の印刷処理装置。
【請求項４】
所定の描画命令で記述された少なくとも文字または図形のいずれかの描画オブジェクトを有する印刷データから生成される印刷画像データを出力速度が可変の印刷出力手段の走査ラインごとに出力する印刷処理装置において、
前記描画オブジェクトの輪郭を構成するエッジのエッジ情報を前記エッジごとに有したディスプレイリストを前記走査ラインごとに生成するディスプレイリスト生成手段と、
複数の座標点生成部を有し、前記ディスプレイリスト生成手段で生成された前記ディスプレイリストの前記エッジ情報を用いて前記描画オブジェクトの前記エッジを表す座標点を前記複数の座標点生成部の数ずつ順次生成する座標点生成装置と、
前記描画オブジェクトのすべてのエッジについて前記座標点生成が終了するまで前記ディスプレイリストの前記エッジ情報を前記座標点生成装置に繰り返し転送する管理手段と、
前記座標点生成装置で生成された前記座標点に順序を付けるソート手段と、
前記ソート手段で決定された順番の前記座標点を用いて前記印刷データを前記印刷出力手段で出力可能な印刷画像データに変換する変換手段と、
前記ディスプレイリスト生成手段で生成されたディスプレイリストから前記ディスプレイリストを前記変換手段で展開するまでの時間を予測するリスト展開時間予測手段と、
前記リスト展開時間予測手段で予測された展開予測時間に応じて前記印刷出力手段の出力速度を決定する印刷出力手段の制御手段と、
を備えていることを特徴とする印刷処理装置。
【請求項５】
前記ディスプレイリストは、描画オブジェクトごとに少なくともヘッダ情報と前記オブジェクトの前記エッジ情報とを含むことを特徴とする請求項４記載の印刷処理装置。
【請求項６】
前記ヘッダ情報は、少なくとも前記描画オブジェクトのエッジ数と次の描画オブジェクトへのポインタとを含むことを特徴とする請求項５記載の印刷処理装置。
【請求項７】
前記リスト展開時間予測手段は、前記座標点生成装置における前記座標点の生成時間を予測する座標点生成時間予測手段と、前記変換手段における変換時間を予測する変換時間予測手段とを備えていることを特徴とする請求項４記載の印刷処理装置。
【請求項８】
前記リスト展開時間予測手段は、前記座標点生成時間予測手段の予測時間と、前記変換時間予測手段の予測時間とを単純加算してリスト展開時間の予測値とすることを特徴とする請求項７記載の印刷処理装置。
【請求項９】
前記座標点生成時間予測手段は、前記座標点生成装置において前記座標点を生成するための処理に要する時間を単純加算することを特徴とする請求項７記載の印刷処理装置。
【請求項１０】
前記変換時間予測手段は、前記変換手段において前記印刷出力手段で出力可能な印刷画像データに変換するための処理に要する時間を単純加算することを特徴とする請求項７記載の印刷処理装置。
【請求項１１】
前記リスト展開時間予測手段は、前記座標点生成装置において前記座標点を生成するための処理に要する時間および前記変換手段において前記印刷出力手段で出力可能な印刷画像データに変換するための処理に要する時間を係数としてあらかじめ格納する係数格納手段を備えていることを特徴とする請求項４記載の印刷処理装置。
【請求項１２】
文字または図形に関する描画命令を印刷画像データに変換して印刷出力する印刷処理方法において、
所定の描画命令で記述された少なくとも文字または図形のいずれかの描画オブジェクトを有する印刷データを入力し、
前記描画オブジェクトの輪郭を構成するエッジの始点および終点の情報を有したリストを前記描画オブジェクトごとに生成し、
前記リストの前記始点および終点の情報から前記描画オブジェクトの前記エッジを表す座標点を一度に複数生成し、前記座標点に順序を付け、順序付け工程で決定された順番の前記座標点情報を印刷出力手段で出力可能な印刷画像データに変換している間に、前記リストから、前記リストを前記印刷出力手段で出力可能な印刷画像データに変換するまでの時間を予測し、予測した時間に応じて前記印刷出力手段の出力速度を決定する、
ことを特徴とする印刷処理方法。
【請求項１３】
所定の描画命令で記述された少なくとも文字または図形のいずれかの描画オブジェクトを有する印刷データから生成される印刷画像データを、この印刷画像データを出力する印刷出力装置の走査ラインごとに出力する印刷処理方法において、
前記描画オブジェクトの輪郭を構成するエッジのエッジ情報を前記エッジごとに有したディスプレイリストを前記走査ラインごとに生成し、
生成された前記ディスプレイリストの前記エッジ情報を用いて前記描画オブジェクトの前記エッジを表す座標点を一度に複数生成し、前記ディスプレイリストの全ディスプレイリストについて前記座標点生成が終了するまで、前記ディスプレイリストの前記エッジ情報を前記座標点生成装置に繰り返し転送し、前記座標点に順序を付け、順序付け工程で決定された順番の前記座標点情報を用いて前記印刷データを前記印刷出力手段で出力可能な印刷画像データに変換している間に、生成された前記ディスプレイリストから、前記ディスプレイリストを前記印刷出力手段で出力可能な印刷画像データに変換するまでの時間を予測し、予測した時間に応じて前記印刷出力手段の出力速度を決定する、
ことを特徴とする印刷処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は印刷処理装置および印刷処理方法に関し、特に外部から入力された所定の描画命令で記述されている印刷データを、印刷処理特有の中間コード（ディスプレイリスト）に変換し、変換された中間コードを所定のバンド単位に、あるいはページ単位にビットマップ展開する印刷処理装置および印刷処理方法に関する。
【０００２】
【従来の技術】
小型、高速のディジタル印刷に適した電子写真方式のページプリンタの開発に伴い、従来の文字情報中心の印刷から脱皮した、ラスタ、図形、文字などを同様に取り扱い、図形、文字などの拡大、回転、変形などが自由に制御できる記述言語を用いる印刷処理装置が一般に普及してきた。この種の記述言語の代表例として、ＰｏｓｔＳｃｒｉｐｔ（Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ社商標）、Ｉｎｔｅｒｐｒｅｓｓ（Ｘｅｒｏｘ社商標）、Ａｃｒｏｂａｔ（Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ社商標）、ＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ：Ｍｉｃｒｏｓｏｆｔ社商標）などが知られている。記述言語で作成されている印刷データは、ページ内の任意の位置のラスタ、図形、文字を表現する描画命令が任意の順で構成されており、本発明に係わるページプリンタで印字するためには、印字前に印刷データをビットマップ展開しなければならない。ビットマップ展開というのは、印刷データをページまたはページの一部を横切る一連の個々のドットまたは画素へ展開してラスタ走査線を形成し、そのページの下へ引き続く走査線を次々に発生する過程である。
【０００３】
記述言語で作成されている印刷データの内、図形あるいは文字に関する描画命令を、それが表現する描画オブジェクトの輪郭を構成するエッジ情報を含んだリストを複数個連結させたディスプレイリストに変換した後、そのディスプレイリストをビットマップ展開することにより印刷処理を行う方法が一般的に知られている。このような印刷処理方法として、たとえば特開平６−３０５２０３号公報、特開平７−１７５６０４号公報などが公知である。
【０００４】
また、ディスプレイリストからビットマップデータへ展開する方法は、文献「実践コンピュータグラフィックス」（Ｄａｖｉｄ  Ｆ．  Ｒｏｇｅｒｓ著、山口富士夫監修、１９８７年、日刊工業新聞社発行、ｐｐ８４−９６）に記載されたものがある。
【０００５】
上記文献に記載された図形あるいは文字の輪郭情報と上記ディスプレイリストの関係、ディスプレイリストからビットマップ展開のためのエッジの座標点を生成する処理の流れを図１４に示す。
【０００６】
図１４は輪郭情報からビットマップ展開のためのエッジの座標点を生成するまでの流れを示す図である。図１４の例において、多角形の輪郭は、４つのエッジＥａ，Ｅｂ，Ｅｃ，Ｅｄから構成されている。これらのエッジＥａ，Ｅｂ，Ｅｃ，Ｅｄは、それらの絶対値の小さい方の頂点（以下エッジの始点と呼ぶ）のｙ座標値によりソートされ、ｙバケットリストに連結されて記憶されている。たとえば、エッジＥａ，Ｅｂの始点（ｘ１，ｙ１）を交差する走査ラインでは、ｙ１の座標値に対応するｙバケットリストに、エッジＥａの情報を表すセルとエッジＥｂの情報を表すセルとが記憶されている。ｙバケットリストの各セルは、走査ラインと各エッジの交点を発生させるための情報、すなわち、エッジの始点のｘ座標値と、エッジの傾きを表す走査ライン当たりのｘの変化量Δｘと、エッジと走査ラインとの交差数Δｙと、次のセルへのポインタとを含んでいる。ｙバケットリストおよび各セルを含む全体をディスプレイリストと呼ぶ。次に、このディスプレイリストから各走査ラインごとに同時に処理しなければならない情報に変換される。これをアクティブエッジリストと呼ぶ。そして、このアクティブエッジリストからエッジの座標点が出力されることになる。
【０００７】
一般的にディスプレイリストからエッジの座標点を生成する処理は走査ライン変換と呼ばれる。走査ライン変換によって生成されたエッジの座標点を座標値によりソートし、ソートされた座標点間を所定の色データで順次塗りつぶし処理を施したものがビットマップデータである。走査ライン変換は、１走査ラインずつ、上部から下部までのエッジの座標点を発生する。すなわち、現在の走査ラインと交わる全エッジをリスト化して、図１４に示すアクティブエッジリストを作成しながらエッジの座標点を出力する。現在の走査ラインの処理後、アクティブエッジリストの各レコードは次走査のために更新（ｘ＝ｘ＋Δｘ，Δｙ＝Δｙ−１）される。Δｙ＝０になったバケットは、リストから削除される。
【０００８】
【発明が解決しようとする課題】
上記特開平６−３０５２０３号公報、特開平７−１７５６０４号公報などは、データ量の少ないディスプレイリストを印刷処理のための中間データとし、プリンタ装置の印刷出力に応じて、バンド単位でビットマップ展開することにより、ビットマップ展開のための大容量のフレームバッファメモリの削減を狙ったものである。しかし、特開平６−３０５２０３号公報、特開平７−１７５６０４号公報では、上記ディスプレイリストからビットマップデータへの展開は、ソフトウェア処理で行われており、高速の印刷処理装置には適用できないという問題点があった。これは、記述言語で作成される印刷データでは、一つの描画命令で記述される描画オブジェクトの複雑さに制限がないため、上述した走査ライン変換あるいはエッジの座標点のソート処理を専用のハードウェアで高速化しようとすると、その複雑さに対応した数の同時処理が必要になり、大規模なハードウェアを用意する必要があるためである。
【０００９】
一方、コンピュータグラフィックスをディスプレイ上に表示する技術分野においては、図形の輪郭を表現する多角形データのディスプレイリストを単純な三角形データのディスプレイリストや台形データのディスプレイリストに分割した後、専用ハードウェアを用いて高速にビットマップ展開する処理が行われている。たとえば、三角形データ分割に関しては特開平７−１６０８９９号公報など、台形データ分割に関しては特開平４−１４１８９号公報などが公知である。すなわち、コンピュータグラフィックスの技術分野においては、一つの描画命令で記述される描画オブジェクトの複雑さに制限を設け、ハードウェアで高速処理を行っている。これは、コンピュータグラフィックスの技術分野における図形の輪郭を表現する多角形は、一般に凸多角形で表現されており、三角形や台形への分割が容易であるためである。しかしながら、記述言語で作成される図形要素では、エッジが交差する場合も発生するため、三角形や台形への分割には多大な計算を必要とする。
【００１０】
図１５はエッジが交差する図形要素の例を示した図である。図１５に示す図形要素は、七つのエッジＥｅ，Ｅｆ，Ｅｇ，Ｅｈ，Ｅｉ，Ｅｊ，Ｅｋからなり、この図形要素の中を塗りつぶすものとする。この塗りつぶしは走査ラインと交差するエッジの座標点に挟まれた間で行われる。エッジＥｉ，Ｅｊのように交差しているところでは、たとえばエッジＥｅとエッジＥｊとに挟まれた領域ａを塗りつぶしていくと、途中でエッジＥｅとエッジＥｉとに挟まれた領域ｂの塗りつぶしに入れ替わる。つまり、エッジの交差する部分でエッジの並び替えなどの処理が発生する。このため、三角形や台形への分割にはこのような処理があらかじめなされていることが必要であるため、多大な計算を必要とし、システム全体としてハードウェア処理の高速性を十分に活かすことはできない。したがって、コンピュータグラフィックスの技術分野におけるハードウェア処理を、記述言語で作成されているような印刷データを処理する印刷処理の技術分野に適用することはできない。
【００１１】
さらに、ディスプレイリストを描画するために必要な描画時間を予測する技術分野において、ラスタに描画する前にディスプレイリストをラスタに描画する時間を算出し、出力装置における出力時間との比較に基づいて、描画予測時間が出力時間より短い場合は、バンド単位に出力を行い、そうでない場合は、１ページ分のラスタを生成後、出力をするという処理が行われている。たとえば、特開平８−２３４９４９号公報などが公知である。特開平８−２３４９４９号公報では、ディスプレイリストを描画するために必要な描画予測時間を描画オブジェクトごとにあらかじめ格納しておき、格納された描画予測時間を取り込んでバンドごとの描画予測時間を算出することにより、描画予測時間を簡便、かつ短時間に導出している。しかしながら、特開平８−２３４９４９号公報で扱うディスプレイリストは文字フォントのものであり、先に述べたように複雑さに制限のない記述言語で作成される印刷データの中間データであるディスプレイリストでは、描画オブジェクトごとの描画予測時間をあらかじめ格納することはできない。
【００１２】
本発明はこのような点に鑑みてなされたものであり、図形や文字に関する描画命令を、それが表現する描画オブジェクトの輪郭を構成するエッジ情報を含んだディスプレイリストに変換し、そのディスプレイリストをビットマップ展開する印刷処理装置において、大規模なハードウェアを用意することなく、さらに、複雑な描画オブジェクトを三角形や台形からなるディスプレイリストに分割するために多大な計算を必要とすることなく、高速にビットマップ展開し、さらにディスプレイリストからビットマップ展開までの展開時間を簡単な方法で算出することを可能とし、算出された展開予測時間に基づいて出力装置の記録速度を選択可能とする印刷処理装置および印刷処理方法を提供することを目的とする。
【００１３】
【課題を解決するための手段】
本発明では上記問題を解決するために、文字または図形に関する描画命令を印刷画像データに変換して印刷出力する印刷処理装置において、所定の描画命令で記述された少なくとも文字または図形のいずれかの描画オブジェクトを有する印刷データを入力する入力手段と、前記入力手段に入力された前記印刷データから前記描画オブジェクトの輪郭を構成するエッジの始点および終点の情報を有したリストを前記描画オブジェクトごとに生成するリスト生成手段と、前記リスト生成手段で生成された前記リストの前記始点および終点の情報から前記描画オブジェクトの前記エッジを表す座標点を個々に生成する複数の座標点生成部を有する座標点生成装置と、前記座標点生成装置で生成された前記座標点に順序を付けるソート手段と、前記描画オブジェクトの印刷画像データを印刷出力する印刷出力手段と、前記ソート手段で決定された順番の前記座標点を用いて前記印刷データを前記印刷出力手段で出力可能な印刷画像データに変換する変換手段と、前記リスト生成手段で生成された前記リストから前記リストを前記変換手段まで展開する時間を予測するリスト展開時間予測手段と、前記リスト展開時間予測手段で予測された展開予測時間に応じて前記印刷出力手段の出力速度を決定する印刷出力手段の制御手段とを備えていることを特徴とする印刷処理装置が提供される。
【００１４】
このような印刷処理装置によれば、描画オブジェクトの輪郭を構成するエッジの始点および終点の情報を描画オブジェクトごとに有したリスト情報から、描画オブジェクトのエッジを表す座標点を生成する座標点生成処理と、座標点に順序を付けるソート処理を独立させ、それぞれの処理に適した処理資源で処理されるよう構成している。すなわち、座標点生成処理に関しては、複数の座標点生成部で繰り返し座標点生成のみを行うよう構成されているため、従来のハードウェアのみで座標点生成処理とソート処理を行っていた場合に比較して、大規模なハードウェアを用意したり、印刷データを制限されたハードウェア量に合わせたリストデータに変換するための前処理に多大な処理時間を費やす必要がなくなる。また、従来のソフトウェア処理のみで座標点生成処理とソート処理を行っていた場合に比較して、ソフトウェア処理では多大な計算時間を必要する座標点生成処理を、ハードウェアで並列かつパイプライン構成により、高速に処理することができるため、全体として高速化が可能となる。また、座標点生成装置および変換手段をハードウェアで構成することにより、描画オブジェクトごとに有したリストデータの展開処理予測時間の算出が、ハードウェアの処理ステップ数により簡単に行うことが可能となる。
【００１５】
したがって、図形や文字に関する描画命令を、それが表現する描画オブジェクトの輪郭を構成するエッジ情報を含んだディスプレイリストに変換し、そのディスプレイリストをビットマップ展開する印刷処理装置において、大規模なハードウェアを用意することなく、さらに、複雑な描画オブジェクトを三角形や台形からなるディスプレイリストに分割するために多大な計算を必要とすることなく、高速にビットマップ展開し、さらにディスプレイリストからビットマップ展開までの展開時間を簡単な方法で算出し、算出された展開予測時間に基づいて出力装置の記録速度を選択することが可能となる。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図１は本発明の原理構成を示す図である。この図１において、印刷処理装置は、少なくとも文字または図形のいずれかの描画オブジェクトを有し、所定の描画命令で記述されている印刷データ１を入力する入力手段２と、この入力手段２に入力された印刷データ１から描画オブジェクトの輪郭を構成するエッジの始点および終点の情報を描画オブジェクトごとに有したリストを生成するリスト生成手段３と、このリスト生成手段３で生成されたリストの始点および終点情報から描画オブジェクトのエッジを表す座標点を順次生成する座標点生成装置４と、この座標点生成装置４で生成された座標点に順序を付けるソート手段５と、このソート手段５で決定された順番の座標点を用いて、リストをビットマップに展開して印刷画像データにする変換手段６と、展開されたビットマップを出力する記録速度可変の印刷出力手段７と、リスト生成手段３で生成されたリストから、リストの展開時間を予測するリスト展開時間予測手段８とから構成されている。
【００１７】
座標点生成装置４は、それぞれ一つの座標点を生成する座標点生成部を複数備え、座標点生成部の数と同数の座標点を一度に生成するよう構成されている。
この座標点生成装置４を構成する複数の座標点生成部はハードウェアで構成され、ソート手段５は、所定のプログラムを中央演算処理装置で実行することにより座標点の順序付けを行うよう構成されている。
【００１８】
また、リスト展開時間予測手段８は、座標点生成装置４における座標点生成時間と、変換手段６における印刷画像データへの変換時間を予測するよう構成されている。
【００１９】
上記構成の印刷処理装置によれば、描画オブジェクトの輪郭を構成するエッジの始点および終点の情報を描画オブジェクトごとに有したリスト情報から、描画オブジェクトのエッジを表す座標点を生成する座標点生成処理と座標点に順序を付けるソート処理とを独立させ、それぞれの処理に適した処理資源で処理されるよう構成したことを特徴としている。すなわち、座標点生成処理に関しては、複数の座標点生成部で繰り返し座標点生成のみを行うよう構成されているため、従来のハードウェアのみで座標点生成処理とソート処理を行っていた場合に比較して、大規模なハードウェアを用意したり、印刷データを制限されたハードウェア量に合わせたリストデータに変換するための前処理に多大な処理時間を費やす必要がなくなる。また、従来のソフトウェア処理のみで座標点生成処理とソート処理とを行っていた場合に比較して、ソフトウェア処理では多大な計算時間を必要する座標点生成処理を、ハードウェアで並列かつパイプライン構成により、高速に処理することができるため、全体として高速化が可能となる。また、座標点生成装置４および変換手段６をハードウェアで構成したことで、リスト展開時間予測手段８における描画オブジェクトごとに有したリストデータの展開処理予測時間の算出が、ハードウェアの処理ステップ数により簡単かつほぼ正確に行うことが可能となる。
【００２０】
したがって、図形や文字に関する描画命令を、それが表現する描画オブジェクトの輪郭を構成するエッジ情報を含んだディスプレイリストに変換し、そのディスプレイリストをビットマップ展開する印刷処理装置において、大規模なハードウェアを用意することなく、さらに、複雑な描画オブジェクトを三角形や台形からなるディスプレイリストに分割するために多大な計算を必要とすることなく、高速にビットマップ展開し、さらにディスプレイリストからビットマップ展開までの展開時間を簡単な方法で算出し、算出された展開予測時間に基づいて出力装置の記録速度を選択することが可能となる。
【００２１】
以下、本発明に係わる印刷処理装置の実施の形態について説明する。
図２は本発明の印刷処理装置の実施の形態を示すブロック図である。図２において、印刷処理装置は、印刷データスプール部１０と、印刷データ解釈部１１と、ディスプレイリスト生成部１２と、バンド分割部１３と、ラスタデータ処理部１４と、ラスタデータバッファ１５と、ディスプレイリストバッファ１６と、ディスプレイリストバンドバッファ１７と、ディスプレイリスト管理部１８と、座標点生成部１９と、ソート部２０と、エッジリストバッファ２１と、印刷画像データ変換部２２と、ラスタデータバンドバッファ２３と、出力バッファ２４と、プリンタ装置制御部２５と、プリンタ装置２６と、ディスプレイリスト展開処理予測部２７とから構成されている。以下、この印刷処理装置の各構成要素の概要および動作について説明する。
【００２２】
図２において、印刷データ１は印刷処理装置で処理可能な記述言語で記述されたものであり、図示されないパーソナルコンピュータやワークステーションにおいて、文書作成や編集などを処理するアプリケーションプログラムで作成された文書データから生成されたものである。本実施の形態で対象とする記述言語は、たとえばＧＤＩであるが、Ａｃｒｏｂａｔで代表されるＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）、ＰｏｓｔＳｃｒｉｐｔで代表されるページ記述言語であってもよい。
【００２３】
印刷データスプール部１０は、印刷データ１を入力するための通信機能や、印刷データ解釈部１１へ出力されるまで印刷データを一時的に記憶する機能などを備えたものである。
【００２４】
印刷データ解釈部１１は、印刷データスプール部１０より入力された印刷データを、定められた記述言語のシンタックスに従ってトークンとして切り出した後、そのトークンを解釈し、内部命令やその引数に変換する。内部命令には、文字／図形／ラスタの描画を実行する描画命令や、色や線属性など描画に必要な情報を設定する描画状態命令がある。描画命令が文字あるいは図形の場合は、描画命令をディスプレイリスト生成部１２へ転送する。一方、描画命令がラスタの場合は、描画命令をラスタデータ処理部１４へ転送するとともに、対象とするラスタデータの縦と横の大きさを表す情報をディスプレイリスト生成部１２へ転送する。
【００２５】
ディスプレイリスト生成部１２は、文字／図形の描画命令に応じて、描画されるオブジェクトの輪郭を構成するエッジデータを生成した後、オブジェクトごとにヘッダ情報と、描画オブジェクトの輪郭を構成するエッジの始点、傾きおよびエッジと走査ラインとの交差数を含むエッジ情報とから構成されるディスプレイリストを生成する。また、印刷データ解釈部１１より転送されたラスタデータの縦および横の大きさに基づき、ラスタデータの輪郭を示すディスプレイリストを生成する。
【００２６】
バンド分割部１３は、ディスプレイリスト生成部１２で生成された描画オブジェクトごとのディスプレイリストを１ページ分を所定のバンド数で分割したときのバンド単位で分割する。バンドの分割数は、後段の出力バッファ２４の大きさで決定される。バンド単位で分割されたディスプレイリストは、ディスプレイリストバッファ１６に格納される。上記印刷データ解釈部１１からバンド分割部１３までの処理を、ページを構成するすべての描画オブジェクトに対して実行することにより、バンド単位で分割されたディスプレイリストがページごとにディスプレイリストバッファ１６に格納される。
【００２７】
ラスタデータ処理部１４は、ラスタの描画命令に応じて、対象とするラスタデータに対し座標変換、色補正などのラスタ処理を実行し、処理されたラスタデータはラスタデータバッファ１５に格納される。
【００２８】
ディスプレイリストバンドバッファ１７は、二つのバッファで構成され、ディスプレイリストバッファ１６からディスプレイリストデータがバンド単位で交互に入力される。
【００２９】
ディスプレイリスト管理部１８は、ディスプレイリストバンドバッファ１７からのディスプレイリストの読み出しと、後段の座標点生成部１９が待機状態にあることの検出と、検出結果に基づき座標点生成部１９へディスプレイリストのエッジ情報の転送を制御するものである。また、ディスプレイリスト管理部１８では、ヘッダ情報に基づき処理するオブジェクトのタイプが文字／図形かまたはラスタかを検出し、ラスタの場合は、印刷画像データ変換部２２に指示して、当該オブジェクトのラスタデータをラスタデータバッファ１５からラスタデータバンドバッファ２３に転送する。
【００３０】
座標点生成部１９は、エッジの始点、傾きおよびエッジと走査ラインとの交差数を含むエッジ情報から、走査ラインごとにエッジの座標点をエッジリストバッファ２１に出力するものであって、複数の座標点生成回路で構成され、座標点生成回路の数と同数のエッジの座標点を一度に出力する。複数の座標点生成回路は、走査ラインごとに複数のエッジに対する座標点生成を実行する。処理中のすべてのエッジに対する処理が終了すると、ディスプレイリスト管理部１８より次に処理すべき複数のエッジ情報が転送される。一つのオブジェクトに対するすべてのエッジの座標点生成が終了するまで、複数の座標点生成回路による座標点生成が繰り返される。また、処理するオブジェクトが文字／図形の場合は、ヘッダ情報に基づき処理するオブジェクトの色データがエッジリストバッファ２１に格納される。
【００３１】
ソート部２０は、座標点生成部１９による一つのオブジェクトに対するすべてのエッジの座標点生成が終了した後、エッジリストバッファ２１に格納されている走査ラインごとのエッジ座標点データを、座標値の小さいものから順次整列するよう並べ替える処理を行うものであり、所定のプログラムを中央演算処理装置で実行する構成となっている。ソート処理のためのプログラムとしては、たとえばクイックソートプログラムが用いられる。
【００３２】
印刷画像データ変換部２２は、エッジリストバッファ２１の座標値の小さいものから順次整列するよう並べ替えられたエッジの座標点のペアの間の塗りつぶし処理を行い、出力バッファ２４に出力するものである。処理するオブジェクトが文字／図形の場合は、エッジリストバッファ２１に格納されている色データにより塗りつぶし処理を実行する。処理するオブジェクトがラスタデータの場合は、ラスタデータバンドバッファ２３よりエッジの座標点のペアの間を埋めるラスタデータを読み出し、出力バッファ２４に出力する。なお、エッジリストバッファ２１も二つのバッファで構成され、座標点生成処理およびソート処理と、印刷画像データ変換処理はパイプラインで実行可能に構成されている。
【００３３】
出力バッファ２４は、二つのバッファで構成され、一方のバッファが印刷画像データ変換部２２により塗りつぶし処理が行われている間、他方のバッファは、後段のプリンタ装置制御部２５を介して、プリンタ装置２６へ印刷画像データが転送されるよう構成されている。
【００３４】
プリンタ装置制御部２５は、プリンタ装置２６の起動タイミングおよび記録速度を制御するものである。さらに特徴的には、ディスプレイリスト展開処理予測部２７から入力された、ディスプレイリストから印刷画像データ変換部２２で生成される印刷画像データへのページ単位のバンドごとの展開処理予測時間に基づき、プリンタ装置２６の出力がバンドごとの展開処理予測時間を越えないように、プリンタ装置２６の記録速度を制御するものである。また、プリンタ装置２６の出力タイミングに応じて出力バッファ２４の印刷画像データをプリンタ装置２６へ転送する、転送制御および管理を実行するものである。
【００３５】
プリンタ装置２６は、プリンタ装置制御部２５の制御に基づき、出力バッファ２４から出力される印刷画像データを受け取って、記録用紙に印字し出力するものである。さらに、詳しくは、このプリンタ装置２６は、ＣＭＹＢk （シアン、マゼンタ、イエロー、ブラック）カラーの色ごとに露光、現像、転写を繰り返すことによりフルカラー画像を出力できるレーザ走査方式の電子写真方式を用いたカラーページプリンタである。
【００３６】
ディスプレイリスト展開処理予測部２７は、ディスプレイリスト生成部１２によって生成され、バンド分割部１３によりページごとにバンド単位で分割されたディスプレイリストから、座標点生成部１９および印刷画像データ変換部２２で生成される印刷画像データへのバンドごとの展開処理予測時間を得るものである。バンドごとの展開処理予測時間はプリンタ装置制御部２５に出力される。
【００３７】
なお、この構成例はディスプレイリストが所定のバンド単位に分割され、バンド単位で処理されることを前提に記載されているが、これに限定されるものではなく、ページ単位で処理される構成であってもよい。
【００３８】
次に上述したように構成された印刷処理装置における印刷処理の流れの概要について、図３を用いて説明する。
図３は印刷処理装置における印刷処理の流れを示すフローチャートである。まず、印刷データスプール部１０に文字または図形を含む印刷データ１が入力されると、印刷データ解釈部１１、ディスプレイリスト生成部１２、バンド分割部１３を介してディスプレイリストが生成され、少なくとも１ページ分のバンド分割されたディスプレイリストがディスプレイリストバッファ１６に格納される（ステップＳ１）。次に、ディスプレイリストバッファ１６より、ディスプレイリストがディスプレイリスト展開処理予測部２７にバンド単位で１ページごとに入力され、１ページ分のバンドごとの展開処理予測時間の算出が行われる（ステップＳ２）。次に、ディスプレイリスト展開処理予測部２７から入力された１ページごとのバンド単位での展開処理予測時間に基づいて、プリンタ装置制御部２５が、プリンタ装置２６の起動タイミングおよび記録速度を決定し制御する（ステップＳ３）。なお、ディスプレイリスト展開処理予測部２７の詳細については後述する。
【００３９】
ステップＳ２，Ｓ３と平行して、ディスプレイリストバッファ１６より、バンド単位で順次ディスプレイリストが座標点生成部１９ならびに印刷画像データ変換部２２で展開処理される（ステップＳ４）。当該バンドのすべてのオブジェクトの展開処理が終了すると、先にプリンタ装置制御部２５によってあらかじめ記録速度が制御されたプリンタ装置２６にプリンタ装置制御部２５を介して印刷画像データの出力が行われる（ステップＳ５）。
【００４０】
次に、ページ内のすべてのバンド処理終了のチェックが行われる（ステップＳ６）。もし、当該バンドのすべてのオブジェクトの処理が終了していなければ、ステップＳ４以下の処理が繰り返される。もし、当該バンドのすべてのオブジェクトの処理が終了していれば、１ページ分の印刷処理は終了する。処理する印刷データが複数ページあれば、上記処理を複数ページ分繰り返す。
【００４１】
次に、上述したステップＳ４におけるディスプレイリストの展開処理の流れの概要について説明する。
図４はディスプレイリストの展開処理の流れを示すフローチャートである。まず、ディスプレイリストバッファ１６に格納されたディスプレイリストが、バンド単位に順次ディスプレイリストバンドバッファ１７に入力される（ステップＳ１１）。次に、ディスプレイリスト管理部１８において、最初のオブジェクトのディスプレイリストのエッジ情報が、最大で座標点生成部１９の有する座標点生成回路の数だけ座標点生成部１９に転送される（ステップＳ１２）。座標点生成部１９では、座標点の生成（ステップＳ１３）、走査ラインの更新（ステップＳ１４）、すべての座標点生成回路の待機状態のチェック（ステップＳ１５）が行われる。もし、すべての座標点生成回路が待機状態でなければ、ステップＳ１３、ステップＳ１４、ステップＳ１５を繰り返す。もし、すべての座標点生成回路が待機状態になれば、オブジェクトのすべてのエッジの処理終了のチェックが行われる（ステップＳ１６）。もし、当該オブジェクトのすべてのエッジの処理が終了していなければ、ステップＳ１２で次のエッジ情報が最大で座標点生成部１９の有する座標点生成回路の数だけ座標点生成部１９に転送され、ステップＳ１３以下の処理が繰り返される。もし、当該オブジェクトのすべてのエッジの処理が終了していれば、ソート部２０によるソート処理が実行され（ステップＳ１７）、続いて、印刷画像データ変換部２２による印刷画像データへの変換処理および変換された印刷画像データの出力バッファへの出力が実行される（ステップＳ１８）。
【００４２】
次に、バンド内のすべてのオブジェクト処理終了のチェックが行われる（ステップＳ１９）。もし、当該バンドのすべてのオブジェクトの処理が終了していなければ、ステップＳ１２に戻り、次のオブジェクトの最初のエッジ情報が、最大で座標点生成部１９の有する座標点生成回路の数だけ座標点生成部１９に転送され、ステップＳ１３以下の処理が繰り返される。もし、当該バンドのすべてのオブジェクトの処理が終了していれば、このディスプレイリストの展開処理は終了する。
【００４３】
なお、上記印刷データの流れの説明では、簡単にするため、ラスタデータ処理に関する記載は省略したが、ラスタデータ処理に関しては各構成要素の概要および動作で説明したように処理される。
【００４４】
次に、印刷処理装置が実装されるコンピュータシステムの二つの構成例を以下に示す。
図５は印刷処理装置全体が実装されるコンピュータシステムのハードウェア構成例を示した図である。図５において、コンピュータシステムは、ホストコンピュータ３０と、ホストコンピュータ３０が接続されるネットワーク４１と、ホストコンピュータ３０に装着される描画処理カード３８と、プリンタ装置２６と、描画処理カード３８とプリンタ装置２６を接続する専用バス４２とで構成されている。ネットワーク４１は、たとえばイーサネット（Ｅｔｈｅｒｎｅｔ）であり、ネットワーク４１を介して図示しないパーソナルコンピュータ、ワークステーションなどから印刷データ１が入力される。ホストコンピュータ３０は、ＣＰＵ（中央演算処理装置）３１と、メモリコントローラ３２と、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３３と、システムバスコントローラ３４と、ネットワークインタフェース３５と、磁気ディスク３６と、カードコントローラ３７と、ＣＰＵバス３９と、システムバス４０とから構成される一般的なものである。
【００４５】
システムバス４０は、たとえばＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスであり、カードコントローラ３７は高速のデータ転送が可能なカードバス（ＣａｒｄＢｕｓ）対応のコントローラである。ホストコンピュータ３０には、本印刷処理装置の印刷データスプール部１０、印刷データ解釈部１１、ディスプレイリスト生成部１２、バンド分割部１３、ラスタデータ処理部１４、ラスタデータバッファ１５、ディスプレイリストバッファ１６、ディスプレイリスト展開処理予測部２７に相当する機能が実装される。たとえば、磁気ディスク３６は、印刷データ解釈部１１、ディスプレイリスト生成部１２、バンド分割部１３、ラスタデータ処理部１４、ディスプレイリスト展開処理予測部２７の各処理のための所定のプログラムなどの格納領域、印刷データスプール部１０の印刷データ格納領域として使用される。また、ＤＲＡＭ３３は、印刷データ解釈部１１、ディスプレイリスト生成部１２、バンド分割部１３、ラスタデータ処理部１４の各処理のためのワークエリア、ラスタデータバッファ１５、ディスプレイリストバッファ１６として使用される。さらに、ＣＰＵ３１は印刷データ解釈部１１、ディスプレイリスト生成部１２、バンド分割部１３、ラスタデータ処理部１４、ディスプレイリスト展開処理予測部２７の各処理のための所定のプログラムを実行する。
【００４６】
図６は描画処理カードのハードウェア構成例を示した図である。図６において、描画処理カード３８は、ホストコンピュータ３０のＣＰＵとは異なる第２のＣＰＵ５０と、カードインタフェース５１と、フラッシュＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５２と、メモリコントローラ５３と、メモリ５４と、座標点生成ＬＳＩ（大規模集積回路）５５と、印刷画像データ変換ＬＳＩ５６と、出力バッファメモリ５７と、ラスタデータバンドバッファメモリ５８と、プリンタ制御ＬＳＩ５９と、ビデオインタフェース６０と、カード内部バス６１とから構成されている。この描画処理カード３８には、本印刷処理装置のディスプレイリストバンドバッファ１７、ディスプレイリスト管理部１８、座標点生成部１９、ソート部２０、エッジリストバッファ２１、印刷画像データ変換部２２、ラスタデータバンドバッファ２３、出力バッファ２４、およびプリンタ装置制御部２５の各機能が実装されている。たとえばフラッシュＲＯＭ５２はソート部２０のソート処理のための所定のプログラムなどが格納されるとともに、オペレーティングシステムのプログラムが格納される。メモリ５４は、たとえばＤＲＡＭで構成され、ソート処理のためのプログラム実行のためのワークエリア、ディスプレイリストバンドバッファ１７、エッジリストバッファ２１として使用される。また、座標点生成ＬＳＩ５５にはディスプレイリスト管理部１８と座標点生成部１９の機能、印刷画像データ変換ＬＳＩ５６には印刷画像データ変換部２２の機能、プリンタ制御ＬＳＩ５９およびビデオインタフェース６０はプリンタ装置制御部２５の機能がそれぞれ実装されている。さらに、第２のＣＰＵ５０はソート部２０のソート処理のための所定のプログラムの実行、ディスプレイリストバンドバッファ１７へのディスプレイリスト入力の制御、出力バッファメモリ５７やラスタデータバンドバッファメモリ５８のメモリクリアの制御などを実行する。また、出力バッファメモリ５７およびラスタデータバンドバッファメモリ５８は、たとえばＤＲＡＭで構成される。
【００４７】
ディスプレイリスト管理部１８以降の処理を独立した１枚の描画処理カードの回路基板上に一体に構成することにより、カード内部バス６１はホストコンピュータ３０のシステムバス４０とは独立に設けることが可能になり、バスの競合によるデータ転送速度低下を低減することができる。さらに、ホストコンピュータ３０のシステムバス４０より高速のバスを設けることにより、データ転送の高速化が可能となる。また、図６の構成において、出力バッファメモリ５７およびラスタデータバンドバッファメモリ５８は、カード内部バス６１を介さず直接印刷画像データ変換ＬＳＩ５６に接続された構成をとっている。このような構成を取ることにより、データ転送のボトルネックを解消し、より高速のデータ転送が可能となる。また、第２のＣＰＵ５０の主要な処理はソート処理に限定されるため、ホストコンピュータ３０のＣＰＵ３１に比較して、性能の低いＣＰＵを使用することが可能であり、図６に示すようなカード化が可能である。
【００４８】
図７は印刷処理装置全体が実装される他のコンピュータシステムのハードウェア構成例を示した図である。図７において、図５と同じ構成要素については同じ符号を付して詳細な説明は省略する。図７に示したコンピュータシステムは、図５に示した構成では、ディスプレイリスト管理部１８以降の処理を実装する描画処理カード３８がホストコンピュータ３０に直接接続されているのに対し、図７の構成では、ディスプレイリスト管理部１８以降の処理を実装する描画処理ボード４５がシリアルバス４４を介してプリンタ装置２６に直接接続されている。このため、ホストコンピュータ３０にはシリアルバスインタフェース４３が設けられている。この描画処理ボード４５もディスプレイリスト管理部１８以降の処理機能を独立した１枚の回路基板状に一体に実装され、ディスプレイリストバンドバッファ１７までの処理機能と着脱可能になっている。
【００４９】
図８は描画処理ボードのハードウェア構成例を示した図である。図８において、図６と同じ構成要素については同じ符号を付して詳細な説明は省略する。図８に示す描画処理ボード４５は、シリアルバスインタフェース６２が設けられている点で図６と異なるが、その他の構成要素および機能は図６と同一である。シリアルバス４４は、たとえばＩＥＥＥ（米国電機電子技術者協会）１３９４高性能シリアルバスである。このＩＥＥＥ１３９４高性能シリアルバスを設けることにより、処理性能を低下させることなく、プリンタ装置２６およびホストコンピュータ３０の配置構成を自由に設定することが可能となる。
【００５０】
以上、本発明の印刷処理装置の概要について記述した。次に、この印刷処理装置の主要部の詳細について説明する。はじめに、本発明の印刷処理装置のディスプレイリスト生成部１２で生成されるディスプレイリストについて詳細に説明する。ディスプレイリスト生成部１２では、各描画オブジェクトごとに、ヘッダ部とリスト部を有したディスプレイリストを生成する。以下に、オブジェクトが文字／図形の場合とラスタの場合とについて、ディスプレイリスト生成部１２で生成されるディスプレイリストの構造を示す。
【００５１】
図９はディスプレイリスト生成部で生成されるディスプレイリスト（文字／図形の場合）の構造を示す図、図１０はディスプレイリスト生成部で生成されるディスプレイリスト（ラスタの場合）の構造を示す図である。ディスプレイリスト生成部１２で生成されるディスプレイリストは、文字／図形およびラスタの場合、ヘッダ部が異なる。以下にこれら二つの場合のディスプレイリストの構造について説明する。
【００５２】
図９に示すように文字／図形の場合、ヘッダ部は、描画オブジェクトの種類を示すＴｙｐｅＩＤ（この場合、文字あるいは図形描画を示す）と、描画オブジェクトを何色で塗りつぶすかを示す色情報（たとえば、ＣＭＹＢk の値など）と、ｙバケットの総数であるｙリスト数と、各ｙリストに連結されているセルの総数である連結セル数と、次の描画オブジェクトのディスプレイリスト（ＤＬ）へのポインタとから構成される。
【００５３】
リスト部は、ｙバケットと、連結セルとから構成される。ｙバケットは、入力された各描画オブジェクトごとのベクタデータの始点のｙ座標値に相当する走査ラインｙと、最初の連結セルへのポインタであるセルポインタからなる。ここで、連結セルの存在しないｙバケットは、リスト部に登録しない。連結セルは、入力された各描画オブジェクトごとのベクタデータの始点のｘ座標値と、そのベクタデータの走査ライン当たりのｘの増分であるΔｘと、そのベクタデータと交差する走査ラインの数であるΔｙと、その走査ラインｙを始点とする異なるベクタデータが存在するか否かを示す連結フラグから構成される。連結フラグは、次に連結セルが存在する場合は、フラグ' １' を付加し、最後の連結セルである場合は、ＥＯＣ（Ｅｎｄ  Ｏｆ  Ｃｅｌｌ）を表すフラグ' ０' を付加する。
【００５４】
次に図１０に示すようにラスタデータの場合、ヘッダ部は、ＴｙｐｅＩＤ（この場合、ラスタ描画を示す）と、ラスタデータのデータサイズ（１画素当たりのビット数＊ｗ＊ｈ：ｗは幅、ｈは高さ）と、ラスタデータの格納されているラスタデータバッファ１５のアドレスに相当するデータアドレスと、各ｙリストに連結されているセルの総数である連結セル数と、次の描画オブジェクトのディスプレイリストへのポインタとから構成される。リスト部は、上述した文字／図形の場合と同様であるので説明を省略する。
【００５５】
なお、ディスプレイリスト生成部１２で生成されるディスプレイリストは、各ベクタデータ同士の繋がり方や、描画状態命令にある塗りつぶし方法などを考慮して生成される。
【００５６】
次に、この印刷処理装置におけるディスプレイリスト展開処理予測部２７の詳細について説明する。
図１１はディスプレイリスト展開処理予測部の構成例を示すブロック図である。図１１において、ディスプレイリスト展開処理予測部２７は、セルデータ計数部２７０と、座標点生成時間算出部２７１と、印刷画像データ変換時間算出部２７２と、係数テーブル２７３と、展開時間算出部２７４とから構成されている。
【００５７】
セルデータ計数部２７０は、ディスプレイリストバッファ１６に１ページごとのバンド単位で格納されている各描画オブジェクトごとのディスプレイリストのヘッダ部にある連結セル総数を、すべての描画オブジェクトから読み出して１ページ分のセル数をバンド単位で集計する。
【００５８】
座標点生成時間算出部２７１は、セルデータ計数部２７０でバンド単位で集計された１ページ分のセル数から、座標点生成部１９を実装する座標点生成ＬＳＩ５５で生成される各描画オブジェクトの各走査ラインに対する座標点の１ページ分の予測生成時間Ｔｅを以下の式を用いてバンド単位でそれぞれ算出する。
【００５９】
【数１】
Ｔｅ＝ｎ×ｔｅ／ｍ  ・・（１）
ここでｎは、セルデータ計数部２７０で集計されたバンド単位での総セルデータ数、ｔｅはセルデータ１個当たりの座標点生成見積り時間、ｍは座標点生成ＬＳＩ５５中の座標点生成回路の数である。
【００６０】
印刷画像データ変換時間算出部２７２は、セルデータ計数部２７０で１ページ分のバンド単位で集計されたセル数から、印刷画像データ変換部２２を実装する印刷画像データ変換ＬＳＩ５６で変換される印刷画像データの１ページ分の予測変換時間Ｔｂを以下の式を用いてバンド単位でそれぞれ算出する。
【００６１】
【数２】
Ｔｂ＝ｎ×ｔｂ  ・・（２）
ここでｔｂはセルデータ１個当たりの印刷画像データ変換見積り時間である。
【００６２】
係数テーブル２７３は、座標点生成時間算出部２７１および印刷画像データ変換時間算出部２７２でそれぞれ用いられるセルデータ１個当たりの見積時間ｔｅ、ｔｂを算出するのに必要な固定値を格納する。係数テーブル２７３に格納されている固定値は、以下の表１に示すように、座標点生成ＬＳＩ５５や印刷画像データ変換ＬＳＩ５６が、座標点生成処理や印刷画像データ変換処理に必要な各処理工程における時間を、セルデータ１個当たりの値に換算した値である。すなわち、係数テーブル２７３には、座標点生成処理における見積もり係数として、ヘッダ処理時間ｔhead、ｙリスト処理時間ｔlist、セル読み込み時間ｔcell、始点書き込み時間ｔstart 、次座標点計算時間ｔnext、座標点書き込み時間ｔwrite が格納され、印刷画像データ変換処理における見積もり係数として、ヘッダ処理時間ｔhead、エッジリスト読み込み時間ｔedge、出力バッファへの書き込み時間ｔbuf 、アドレス計算時間ｔadr が格納されている。見積時間ｔｅ、ｔｂはそれぞれの見積り係数を単純加算して求められる。また、表１に示した見積り係数は、座標点生成部１９を実装する座標点生成ＬＳＩ５５や印刷画像データ変換部２２を実装する印刷画像データ変換ＬＳＩ５６などのハードウェアに依存した値であるため、ハードウェアが変更になれば、見積り係数も容易に変更することができる。
【００６３】
【表１】
0003864535.tif 000002
【００６４】
展開時間算出部２７４は、座標点生成時間算出部２７１および印刷画像データ変換時間算出部２７２で算出されたそれぞれの予測時間Ｔｅ、Ｔｂを単純加算して、展開処理予測時間Ｔを算出する。得られた展開処理予測時間Ｔはプリンタ装置制御部２５に出力される。
【００６５】
次に、プリンタ装置制御部２５について詳細に説明する。
図１２はプリンタ装置制御部の構成例を示すブロック図である。プリンタ装置制御部２５は、プリンタ装置状態管理部２５０と、プリンタ装置記録速度選択部２５１と、プリンタ装置プロセス制御部２５２と、印刷画像データ転送制御部２５３とから構成されている。
【００６６】
プリンタ装置状態管理部２５０は、プリンタ装置２６の状態変化にともなうイベント発生、およびプリンタ装置記録速度選択部２５１での状態要求に応じてプリンタ装置２６の状態を管理するものである。プリンタ装置２６の状態変化にともなうイベント発生の例としては、プリンタ装置故障による印字不可、用紙切れなどがある。プリンタ装置記録速度選択部２５１は、ディスプレイリスト展開処理予測部２７からのディスプレイリスト展開処理予測時間の入力があると直ちに、プリンタ装置状態管理部２５０にプリンタ装置故障による印字不可、用紙切れなどを問合せる。プリンタ装置状態管理部２５０は、印字不可、用紙切れなどの情報をプリンタ装置記録速度選択部２５１に通知する。プリンタ装置２６の印字が可能であれば、プリンタ装置記録速度選択部２５１はディスプレイリスト展開処理予測部２７から入力されたディスプレイリスト展開処理予測時間に基づきプリンタ装置２６の記録速度を決定する。
【００６７】
プリンタ装置記録速度選択部２５１は、ディスプレイリスト展開処理予測部２７から入力された１ページごとのバンドごとに集計された、ディスプレイリスト生成部１２で生成されたディスプレイリストから座標点生成部１９ならびに印刷画像データ変換部２２で変換される印刷画像データへの展開処理時間に基づき、プリンタ装置２６において選択可能な記録速度の中から、バンドごとの印刷画像データへの展開処理が間に合い、印刷画像データの欠落が生じない記録速度を選択するものである。
【００６８】
図１３はプリンタ装置記録速度選択部における記録速度選択の様子を示す説明図である。図１３において、１ページはｎバンドに分割され、各バンドの展開処理予測時間は異なっている。一方、本発明に関する電子写真方式のページプリンタは、少なくとも１ページ内において一定速度で駆動しなければならないため、各バンドの印字時間は一定である。したがって、各バンドの印字が終了する前に次のバンドの展開処理を終わらせるために、展開処理予測時間の最も長くなるバンドの展開処理予測時間（図１３の例ではバンド４の展開処理予測時間が最も長い）よりも、１バンドの印字時間が長くなる記録速度を選択する必要がある。プリンタ装置記録速度選択部２５１で選択された記録速度は、プリンタ装置プロセス制御部２５２に通知される。
【００６９】
プリンタ装置プロセス制御部２５２は、プリンタ装置記録速度選択部２５１で選択された記録速度に基づいてプリンタ装置２６のプロセスを制御するものである。また、プリンタ装置プロセス制御部２５２のプロセス制御には、プリンタ装置２６の起動タイミングの制御が含まれている。プリンタ装置２６の起動タイミングの制御は、プリンタ装置記録速度選択部２５１からの選択された記録速度の通知に基づいて行われるものであるが、印刷データスプール部１０への印刷データ１の入力に応じて行われても良い。特に、サイクルアップに時間を要する定着器、半導体レーザ走査装置のポリゴンミラーモータなどは、早い段階で起動することが望ましい。
【００７０】
本実施例のレーザ走査方式の電子写真方式を用いたカラーページプリンタにおいて、プリンタ装置２６の記録速度可変にともない制御しなければならないプリンタ装置２６の印字プロセスにおける制御対象は、感光体ドラム回転速度、転写ドラム回転速度、定着器ロール回転速度、記録用紙搬送ローラ回転速度、半導体レーザ走査装置のポリゴンミラーの回転速度、現像器の現像ロール回転速度、転写電流、クリーナブラシ回転速度などである。この内、感光体ドラム回転速度、転写ドラム回転速度、定着器ロール回転速度、記録用紙搬送ローラ回転速度、半導体レーザ走査装置のポリゴンミラーの回転速度、現像器の現像ロール回転速度、クリーナブラシ回転速度は、記録速度に比例して制御すれば良い対象である。転写電流は記録速度に比例して定電流源の設定を制御すれば良い。また、一般的に半導体レーザ走査装置のポリゴンミラーの駆動にはブラシレスサーボモータ、その回転速度の安定にはＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）制御が使用されている。したがって、ポリゴンミラーの回転速度の変更は、ＰＬＬ制御の基準周波数の分周により可能である。
【００７１】
また、半導体レーザ走査装置において記録速度可変にともない露光走査を変更する他の方法として、一定のポリゴンミラーの回転速度に対して、印字するための露光走査をビデオインタフェースにおいて間引く方法がある。この方法によれば、最大の記録速度に対して、１／２，１／３，・・・・，１／ｍの記録速度に設定することが可能となる。この方法では、選択可能な記録速度が少なくなるものの、サイクルアップに長い時間を要する半導体レーザ走査装置のポリゴンミラーモータ回転速度を変更する必要がなく、上述したように印刷データスプール部１０への印刷データ１の入力に応じて起動するような早い段階での起動を可能とするものである。
【００７２】
印刷画像データ転送制御部２５３は、出力バッファ２４から印刷画像データを読み込み、これを読み込んだワードごとにシリアル変換して、シリアル出力クロック信号に同期してプリンタ装置２６へ出力する。
【００７３】
以上説明したように、本発明によれば、複雑な描画命令（複雑なグラフィックスの塗りつぶし描画命令など）が入力された場合に、ディスプレイリスト展開処理予測時間に基づき、プリンタ装置の記録速度を可変とすることで、印刷画像データ展開処理の遅れが原因の印字抜けなどの印字不良の発生を抑えることが可能である。
【００７４】
【発明の効果】
以上説明したように本発明では、所定の描画命令で記述されている印刷データを、ディスプレイリストに変換し、ディスプレイリストからにビットマップ展開する印刷処理装置のエッジリストデータ生成処理において、描画オブジェクトのエッジを表す座標点を生成する座標点生成処理と座標点に順序を付けるソート処理とを分離し、複数の座標点生成装置で繰り返し座標点生成した後、ソート処理を行うよう構成した。これにより、それぞれの処理に適した処理資源、すなわち座標点生成処理はハードウェア、ソート処理はソフトウェアで処理することが可能となり、記述言語で記述される複雑な描画オブジェクトに対しても軽い資源で高速の処理を行うことが可能となる。
【００７５】
また、座標点生成装置および印刷画像データ変換部をハードウェア構成とすることにより、ディスプレイリストからビットマップへの展開時間の算出は、ハードウェアの処理ステップごとの時間の単純加算で行うことができ、処理ステップごとの時間はハードウェアの動作クロックに基づいているため、ほぼ正確に予測することが可能である。
【００７６】
さらに、本発明を適用することにより、実施例の実装形態で示されているようにディスプレイリストからビットマップ展開するまでの処理を一体の回路基板上に構成することが可能となる。このため、データ量が急増するディスプレイリスト以降の処理に対して専用の高速バスを設けることが可能となり、ディスプレイリストからビットマップ展開するまでの処理全体の高速化が実現できる。
【図面の簡単な説明】
【図１】本発明の原理構成を示す図である。
【図２】本発明の印刷処理装置の実施の形態を示すブロック図である。
【図３】印刷処理装置における印刷処理の流れを示すフローチャートである。
【図４】ディスプレイリストの展開処理の流れを示すフローチャートである。
【図５】印刷処理装置全体が実装されるコンピュータシステムのハードウェア構成例を示した図である。
【図６】描画処理カードのハードウェア構成例を示した図である。
【図７】印刷処理装置全体が実装される他のコンピュータシステムのハードウェア構成例を示した図である。
【図８】描画処理ボードのハードウェア構成例を示した図である。
【図９】ディスプレイリスト生成部で生成されるディスプレイリスト（文字／図形の場合）の構造を示す図である。
【図１０】ディスプレイリスト生成部で生成されるディスプレイリスト（ラスタの場合）の構造を示す図である。
【図１１】ディスプレイリスト展開処理予測部の構成例を示すブロック図である。
【図１２】プリンタ装置制御部の構成例を示すブロック図である。
【図１３】プリンタ装置記録速度選択部における記録速度選択の様子を示す説明図である。
【図１４】輪郭情報からビットマップ展開のためのエッジの座標点を生成するまでの流れを示す図である。
【図１５】エッジが交差する図形要素の例を示した図である。
【符号の説明】
１  印刷データ
２  入力手段
３  リスト生成手段
４  座標点生成装置
５  ソート手段
６  変換手段
７  印刷出力手段
８  リスト展開時間予測手段
１０  印刷データスプール部
１１  印刷データ解釈部
１２  ディスプレイリスト生成部
１３  バンド分割部
１４  ラスタデータ処理部
１５  ラスタデータバッファ
１６  ディスプレイリストバッファ
１７  ディスプレイリストバンドバッファ
１８  ディスプレイリスト管理部
１９  座標点生成部
２０  ソート部
２１  エッジリストバッファ
２２  印刷画像データ変換部
２３  ラスタデータバンドバッファ
２４  出力バッファ
２５  プリンタ装置制御部
２６  プリンタ装置
２７  ディスプレイリスト展開処理予測部
【図１】
0003864535.tif 000003
【図２】
0003864535.tif 000004
【図３】
0003864535.tif 000005
【図４】
0003864535.tif 000006
【図５】
0003864535.tif 000007
【図６】
0003864535.tif 000008
【図７】
0003864535.tif 000009
【図８】
0003864535.tif 000010
【図９】
0003864535.tif 000011
【図１０】
0003864535.tif 000012
【図１１】
0003864535.tif 000013
【図１２】
0003864535.tif 000014
【図１３】
0003864535.tif 000015
【図１４】
0003864535.tif 000016
【図１５】
0003864535.tif 000017