JP3864535B2 - Print processing apparatus and print processing method - Google Patents
Print processing apparatus and print processing method Download PDFInfo
- Publication number
- JP3864535B2 JP3864535B2 JP03289998A JP3289998A JP3864535B2 JP 3864535 B2 JP3864535 B2 JP 3864535B2 JP 03289998 A JP03289998 A JP 03289998A JP 3289998 A JP3289998 A JP 3289998A JP 3864535 B2 JP3864535 B2 JP 3864535B2
- Authority
- JP
- Japan
- Prior art keywords
- list
- time
- coordinate point
- display list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
- Record Information Processing For Printing (AREA)
- Processing Or Creating Images (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は印刷処理装置および印刷処理方法に関し、特に外部から入力された所定の描画命令で記述されている印刷データを、印刷処理特有の中間コード(ディスプレイリスト)に変換し、変換された中間コードを所定のバンド単位に、あるいはページ単位にビットマップ展開する印刷処理装置および印刷処理方法に関する。
【0002】
【従来の技術】
小型、高速のディジタル印刷に適した電子写真方式のページプリンタの開発に伴い、従来の文字情報中心の印刷から脱皮した、ラスタ、図形、文字などを同様に取り扱い、図形、文字などの拡大、回転、変形などが自由に制御できる記述言語を用いる印刷処理装置が一般に普及してきた。この種の記述言語の代表例として、PostScript(Adobe Systems社商標)、Interpress(Xerox社商標)、Acrobat(Adobe Systems社商標)、GDI(Graphics Device Interface:Microsoft社商標)などが知られている。記述言語で作成されている印刷データは、ページ内の任意の位置のラスタ、図形、文字を表現する描画命令が任意の順で構成されており、本発明に係わるページプリンタで印字するためには、印字前に印刷データをビットマップ展開しなければならない。ビットマップ展開というのは、印刷データをページまたはページの一部を横切る一連の個々のドットまたは画素へ展開してラスタ走査線を形成し、そのページの下へ引き続く走査線を次々に発生する過程である。
【0003】
記述言語で作成されている印刷データの内、図形あるいは文字に関する描画命令を、それが表現する描画オブジェクトの輪郭を構成するエッジ情報を含んだリストを複数個連結させたディスプレイリストに変換した後、そのディスプレイリストをビットマップ展開することにより印刷処理を行う方法が一般的に知られている。このような印刷処理方法として、たとえば特開平6−305203号公報、特開平7−175604号公報などが公知である。
【0004】
また、ディスプレイリストからビットマップデータへ展開する方法は、文献「実践コンピュータグラフィックス」(David F. Rogers著、山口富士夫監修、1987年、日刊工業新聞社発行、pp84−96)に記載されたものがある。
【0005】
上記文献に記載された図形あるいは文字の輪郭情報と上記ディスプレイリストの関係、ディスプレイリストからビットマップ展開のためのエッジの座標点を生成する処理の流れを図14に示す。
【0006】
図14は輪郭情報からビットマップ展開のためのエッジの座標点を生成するまでの流れを示す図である。図14の例において、多角形の輪郭は、4つのエッジEa,Eb,Ec,Edから構成されている。これらのエッジEa,Eb,Ec,Edは、それらの絶対値の小さい方の頂点(以下エッジの始点と呼ぶ)のy座標値によりソートされ、yバケットリストに連結されて記憶されている。たとえば、エッジEa,Ebの始点(x1,y1)を交差する走査ラインでは、y1の座標値に対応するyバケットリストに、エッジEaの情報を表すセルとエッジEbの情報を表すセルとが記憶されている。yバケットリストの各セルは、走査ラインと各エッジの交点を発生させるための情報、すなわち、エッジの始点のx座標値と、エッジの傾きを表す走査ライン当たりのxの変化量Δxと、エッジと走査ラインとの交差数Δyと、次のセルへのポインタとを含んでいる。yバケットリストおよび各セルを含む全体をディスプレイリストと呼ぶ。次に、このディスプレイリストから各走査ラインごとに同時に処理しなければならない情報に変換される。これをアクティブエッジリストと呼ぶ。そして、このアクティブエッジリストからエッジの座標点が出力されることになる。
【0007】
一般的にディスプレイリストからエッジの座標点を生成する処理は走査ライン変換と呼ばれる。走査ライン変換によって生成されたエッジの座標点を座標値によりソートし、ソートされた座標点間を所定の色データで順次塗りつぶし処理を施したものがビットマップデータである。走査ライン変換は、1走査ラインずつ、上部から下部までのエッジの座標点を発生する。すなわち、現在の走査ラインと交わる全エッジをリスト化して、図14に示すアクティブエッジリストを作成しながらエッジの座標点を出力する。現在の走査ラインの処理後、アクティブエッジリストの各レコードは次走査のために更新(x=x+Δx,Δy=Δy−1)される。Δy=0になったバケットは、リストから削除される。
【0008】
【発明が解決しようとする課題】
上記特開平6−305203号公報、特開平7−175604号公報などは、データ量の少ないディスプレイリストを印刷処理のための中間データとし、プリンタ装置の印刷出力に応じて、バンド単位でビットマップ展開することにより、ビットマップ展開のための大容量のフレームバッファメモリの削減を狙ったものである。しかし、特開平6−305203号公報、特開平7−175604号公報では、上記ディスプレイリストからビットマップデータへの展開は、ソフトウェア処理で行われており、高速の印刷処理装置には適用できないという問題点があった。これは、記述言語で作成される印刷データでは、一つの描画命令で記述される描画オブジェクトの複雑さに制限がないため、上述した走査ライン変換あるいはエッジの座標点のソート処理を専用のハードウェアで高速化しようとすると、その複雑さに対応した数の同時処理が必要になり、大規模なハードウェアを用意する必要があるためである。
【0009】
一方、コンピュータグラフィックスをディスプレイ上に表示する技術分野においては、図形の輪郭を表現する多角形データのディスプレイリストを単純な三角形データのディスプレイリストや台形データのディスプレイリストに分割した後、専用ハードウェアを用いて高速にビットマップ展開する処理が行われている。たとえば、三角形データ分割に関しては特開平7−160899号公報など、台形データ分割に関しては特開平4−14189号公報などが公知である。すなわち、コンピュータグラフィックスの技術分野においては、一つの描画命令で記述される描画オブジェクトの複雑さに制限を設け、ハードウェアで高速処理を行っている。これは、コンピュータグラフィックスの技術分野における図形の輪郭を表現する多角形は、一般に凸多角形で表現されており、三角形や台形への分割が容易であるためである。しかしながら、記述言語で作成される図形要素では、エッジが交差する場合も発生するため、三角形や台形への分割には多大な計算を必要とする。
【0010】
図15はエッジが交差する図形要素の例を示した図である。図15に示す図形要素は、七つのエッジEe,Ef,Eg,Eh,Ei,Ej,Ekからなり、この図形要素の中を塗りつぶすものとする。この塗りつぶしは走査ラインと交差するエッジの座標点に挟まれた間で行われる。エッジEi,Ejのように交差しているところでは、たとえばエッジEeとエッジEjとに挟まれた領域aを塗りつぶしていくと、途中でエッジEeとエッジEiとに挟まれた領域bの塗りつぶしに入れ替わる。つまり、エッジの交差する部分でエッジの並び替えなどの処理が発生する。このため、三角形や台形への分割にはこのような処理があらかじめなされていることが必要であるため、多大な計算を必要とし、システム全体としてハードウェア処理の高速性を十分に活かすことはできない。したがって、コンピュータグラフィックスの技術分野におけるハードウェア処理を、記述言語で作成されているような印刷データを処理する印刷処理の技術分野に適用することはできない。
【0011】
さらに、ディスプレイリストを描画するために必要な描画時間を予測する技術分野において、ラスタに描画する前にディスプレイリストをラスタに描画する時間を算出し、出力装置における出力時間との比較に基づいて、描画予測時間が出力時間より短い場合は、バンド単位に出力を行い、そうでない場合は、1ページ分のラスタを生成後、出力をするという処理が行われている。たとえば、特開平8−234949号公報などが公知である。特開平8−234949号公報では、ディスプレイリストを描画するために必要な描画予測時間を描画オブジェクトごとにあらかじめ格納しておき、格納された描画予測時間を取り込んでバンドごとの描画予測時間を算出することにより、描画予測時間を簡便、かつ短時間に導出している。しかしながら、特開平8−234949号公報で扱うディスプレイリストは文字フォントのものであり、先に述べたように複雑さに制限のない記述言語で作成される印刷データの中間データであるディスプレイリストでは、描画オブジェクトごとの描画予測時間をあらかじめ格納することはできない。
【0012】
本発明はこのような点に鑑みてなされたものであり、図形や文字に関する描画命令を、それが表現する描画オブジェクトの輪郭を構成するエッジ情報を含んだディスプレイリストに変換し、そのディスプレイリストをビットマップ展開する印刷処理装置において、大規模なハードウェアを用意することなく、さらに、複雑な描画オブジェクトを三角形や台形からなるディスプレイリストに分割するために多大な計算を必要とすることなく、高速にビットマップ展開し、さらにディスプレイリストからビットマップ展開までの展開時間を簡単な方法で算出することを可能とし、算出された展開予測時間に基づいて出力装置の記録速度を選択可能とする印刷処理装置および印刷処理方法を提供することを目的とする。
【0013】
【課題を解決するための手段】
本発明では上記問題を解決するために、文字または図形に関する描画命令を印刷画像データに変換して印刷出力する印刷処理装置において、所定の描画命令で記述された少なくとも文字または図形のいずれかの描画オブジェクトを有する印刷データを入力する入力手段と、前記入力手段に入力された前記印刷データから前記描画オブジェクトの輪郭を構成するエッジの始点および終点の情報を有したリストを前記描画オブジェクトごとに生成するリスト生成手段と、前記リスト生成手段で生成された前記リストの前記始点および終点の情報から前記描画オブジェクトの前記エッジを表す座標点を個々に生成する複数の座標点生成部を有する座標点生成装置と、前記座標点生成装置で生成された前記座標点に順序を付けるソート手段と、前記描画オブジェクトの印刷画像データを印刷出力する印刷出力手段と、前記ソート手段で決定された順番の前記座標点を用いて前記印刷データを前記印刷出力手段で出力可能な印刷画像データに変換する変換手段と、前記リスト生成手段で生成された前記リストから前記リストを前記変換手段まで展開する時間を予測するリスト展開時間予測手段と、前記リスト展開時間予測手段で予測された展開予測時間に応じて前記印刷出力手段の出力速度を決定する印刷出力手段の制御手段とを備えていることを特徴とする印刷処理装置が提供される。
【0014】
このような印刷処理装置によれば、描画オブジェクトの輪郭を構成するエッジの始点および終点の情報を描画オブジェクトごとに有したリスト情報から、描画オブジェクトのエッジを表す座標点を生成する座標点生成処理と、座標点に順序を付けるソート処理を独立させ、それぞれの処理に適した処理資源で処理されるよう構成している。すなわち、座標点生成処理に関しては、複数の座標点生成部で繰り返し座標点生成のみを行うよう構成されているため、従来のハードウェアのみで座標点生成処理とソート処理を行っていた場合に比較して、大規模なハードウェアを用意したり、印刷データを制限されたハードウェア量に合わせたリストデータに変換するための前処理に多大な処理時間を費やす必要がなくなる。また、従来のソフトウェア処理のみで座標点生成処理とソート処理を行っていた場合に比較して、ソフトウェア処理では多大な計算時間を必要する座標点生成処理を、ハードウェアで並列かつパイプライン構成により、高速に処理することができるため、全体として高速化が可能となる。また、座標点生成装置および変換手段をハードウェアで構成することにより、描画オブジェクトごとに有したリストデータの展開処理予測時間の算出が、ハードウェアの処理ステップ数により簡単に行うことが可能となる。
【0015】
したがって、図形や文字に関する描画命令を、それが表現する描画オブジェクトの輪郭を構成するエッジ情報を含んだディスプレイリストに変換し、そのディスプレイリストをビットマップ展開する印刷処理装置において、大規模なハードウェアを用意することなく、さらに、複雑な描画オブジェクトを三角形や台形からなるディスプレイリストに分割するために多大な計算を必要とすることなく、高速にビットマップ展開し、さらにディスプレイリストからビットマップ展開までの展開時間を簡単な方法で算出し、算出された展開予測時間に基づいて出力装置の記録速度を選択することが可能となる。
【0016】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図1は本発明の原理構成を示す図である。この図1において、印刷処理装置は、少なくとも文字または図形のいずれかの描画オブジェクトを有し、所定の描画命令で記述されている印刷データ1を入力する入力手段2と、この入力手段2に入力された印刷データ1から描画オブジェクトの輪郭を構成するエッジの始点および終点の情報を描画オブジェクトごとに有したリストを生成するリスト生成手段3と、このリスト生成手段3で生成されたリストの始点および終点情報から描画オブジェクトのエッジを表す座標点を順次生成する座標点生成装置4と、この座標点生成装置4で生成された座標点に順序を付けるソート手段5と、このソート手段5で決定された順番の座標点を用いて、リストをビットマップに展開して印刷画像データにする変換手段6と、展開されたビットマップを出力する記録速度可変の印刷出力手段7と、リスト生成手段3で生成されたリストから、リストの展開時間を予測するリスト展開時間予測手段8とから構成されている。
【0017】
座標点生成装置4は、それぞれ一つの座標点を生成する座標点生成部を複数備え、座標点生成部の数と同数の座標点を一度に生成するよう構成されている。
この座標点生成装置4を構成する複数の座標点生成部はハードウェアで構成され、ソート手段5は、所定のプログラムを中央演算処理装置で実行することにより座標点の順序付けを行うよう構成されている。
【0018】
また、リスト展開時間予測手段8は、座標点生成装置4における座標点生成時間と、変換手段6における印刷画像データへの変換時間を予測するよう構成されている。
【0019】
上記構成の印刷処理装置によれば、描画オブジェクトの輪郭を構成するエッジの始点および終点の情報を描画オブジェクトごとに有したリスト情報から、描画オブジェクトのエッジを表す座標点を生成する座標点生成処理と座標点に順序を付けるソート処理とを独立させ、それぞれの処理に適した処理資源で処理されるよう構成したことを特徴としている。すなわち、座標点生成処理に関しては、複数の座標点生成部で繰り返し座標点生成のみを行うよう構成されているため、従来のハードウェアのみで座標点生成処理とソート処理を行っていた場合に比較して、大規模なハードウェアを用意したり、印刷データを制限されたハードウェア量に合わせたリストデータに変換するための前処理に多大な処理時間を費やす必要がなくなる。また、従来のソフトウェア処理のみで座標点生成処理とソート処理とを行っていた場合に比較して、ソフトウェア処理では多大な計算時間を必要する座標点生成処理を、ハードウェアで並列かつパイプライン構成により、高速に処理することができるため、全体として高速化が可能となる。また、座標点生成装置4および変換手段6をハードウェアで構成したことで、リスト展開時間予測手段8における描画オブジェクトごとに有したリストデータの展開処理予測時間の算出が、ハードウェアの処理ステップ数により簡単かつほぼ正確に行うことが可能となる。
【0020】
したがって、図形や文字に関する描画命令を、それが表現する描画オブジェクトの輪郭を構成するエッジ情報を含んだディスプレイリストに変換し、そのディスプレイリストをビットマップ展開する印刷処理装置において、大規模なハードウェアを用意することなく、さらに、複雑な描画オブジェクトを三角形や台形からなるディスプレイリストに分割するために多大な計算を必要とすることなく、高速にビットマップ展開し、さらにディスプレイリストからビットマップ展開までの展開時間を簡単な方法で算出し、算出された展開予測時間に基づいて出力装置の記録速度を選択することが可能となる。
【0021】
以下、本発明に係わる印刷処理装置の実施の形態について説明する。
図2は本発明の印刷処理装置の実施の形態を示すブロック図である。図2において、印刷処理装置は、印刷データスプール部10と、印刷データ解釈部11と、ディスプレイリスト生成部12と、バンド分割部13と、ラスタデータ処理部14と、ラスタデータバッファ15と、ディスプレイリストバッファ16と、ディスプレイリストバンドバッファ17と、ディスプレイリスト管理部18と、座標点生成部19と、ソート部20と、エッジリストバッファ21と、印刷画像データ変換部22と、ラスタデータバンドバッファ23と、出力バッファ24と、プリンタ装置制御部25と、プリンタ装置26と、ディスプレイリスト展開処理予測部27とから構成されている。以下、この印刷処理装置の各構成要素の概要および動作について説明する。
【0022】
図2において、印刷データ1は印刷処理装置で処理可能な記述言語で記述されたものであり、図示されないパーソナルコンピュータやワークステーションにおいて、文書作成や編集などを処理するアプリケーションプログラムで作成された文書データから生成されたものである。本実施の形態で対象とする記述言語は、たとえばGDIであるが、Acrobatで代表されるPDF(Portable Document Format)、PostScriptで代表されるページ記述言語であってもよい。
【0023】
印刷データスプール部10は、印刷データ1を入力するための通信機能や、印刷データ解釈部11へ出力されるまで印刷データを一時的に記憶する機能などを備えたものである。
【0024】
印刷データ解釈部11は、印刷データスプール部10より入力された印刷データを、定められた記述言語のシンタックスに従ってトークンとして切り出した後、そのトークンを解釈し、内部命令やその引数に変換する。内部命令には、文字/図形/ラスタの描画を実行する描画命令や、色や線属性など描画に必要な情報を設定する描画状態命令がある。描画命令が文字あるいは図形の場合は、描画命令をディスプレイリスト生成部12へ転送する。一方、描画命令がラスタの場合は、描画命令をラスタデータ処理部14へ転送するとともに、対象とするラスタデータの縦と横の大きさを表す情報をディスプレイリスト生成部12へ転送する。
【0025】
ディスプレイリスト生成部12は、文字/図形の描画命令に応じて、描画されるオブジェクトの輪郭を構成するエッジデータを生成した後、オブジェクトごとにヘッダ情報と、描画オブジェクトの輪郭を構成するエッジの始点、傾きおよびエッジと走査ラインとの交差数を含むエッジ情報とから構成されるディスプレイリストを生成する。また、印刷データ解釈部11より転送されたラスタデータの縦および横の大きさに基づき、ラスタデータの輪郭を示すディスプレイリストを生成する。
【0026】
バンド分割部13は、ディスプレイリスト生成部12で生成された描画オブジェクトごとのディスプレイリストを1ページ分を所定のバンド数で分割したときのバンド単位で分割する。バンドの分割数は、後段の出力バッファ24の大きさで決定される。バンド単位で分割されたディスプレイリストは、ディスプレイリストバッファ16に格納される。上記印刷データ解釈部11からバンド分割部13までの処理を、ページを構成するすべての描画オブジェクトに対して実行することにより、バンド単位で分割されたディスプレイリストがページごとにディスプレイリストバッファ16に格納される。
【0027】
ラスタデータ処理部14は、ラスタの描画命令に応じて、対象とするラスタデータに対し座標変換、色補正などのラスタ処理を実行し、処理されたラスタデータはラスタデータバッファ15に格納される。
【0028】
ディスプレイリストバンドバッファ17は、二つのバッファで構成され、ディスプレイリストバッファ16からディスプレイリストデータがバンド単位で交互に入力される。
【0029】
ディスプレイリスト管理部18は、ディスプレイリストバンドバッファ17からのディスプレイリストの読み出しと、後段の座標点生成部19が待機状態にあることの検出と、検出結果に基づき座標点生成部19へディスプレイリストのエッジ情報の転送を制御するものである。また、ディスプレイリスト管理部18では、ヘッダ情報に基づき処理するオブジェクトのタイプが文字/図形かまたはラスタかを検出し、ラスタの場合は、印刷画像データ変換部22に指示して、当該オブジェクトのラスタデータをラスタデータバッファ15からラスタデータバンドバッファ23に転送する。
【0030】
座標点生成部19は、エッジの始点、傾きおよびエッジと走査ラインとの交差数を含むエッジ情報から、走査ラインごとにエッジの座標点をエッジリストバッファ21に出力するものであって、複数の座標点生成回路で構成され、座標点生成回路の数と同数のエッジの座標点を一度に出力する。複数の座標点生成回路は、走査ラインごとに複数のエッジに対する座標点生成を実行する。処理中のすべてのエッジに対する処理が終了すると、ディスプレイリスト管理部18より次に処理すべき複数のエッジ情報が転送される。一つのオブジェクトに対するすべてのエッジの座標点生成が終了するまで、複数の座標点生成回路による座標点生成が繰り返される。また、処理するオブジェクトが文字/図形の場合は、ヘッダ情報に基づき処理するオブジェクトの色データがエッジリストバッファ21に格納される。
【0031】
ソート部20は、座標点生成部19による一つのオブジェクトに対するすべてのエッジの座標点生成が終了した後、エッジリストバッファ21に格納されている走査ラインごとのエッジ座標点データを、座標値の小さいものから順次整列するよう並べ替える処理を行うものであり、所定のプログラムを中央演算処理装置で実行する構成となっている。ソート処理のためのプログラムとしては、たとえばクイックソートプログラムが用いられる。
【0032】
印刷画像データ変換部22は、エッジリストバッファ21の座標値の小さいものから順次整列するよう並べ替えられたエッジの座標点のペアの間の塗りつぶし処理を行い、出力バッファ24に出力するものである。処理するオブジェクトが文字/図形の場合は、エッジリストバッファ21に格納されている色データにより塗りつぶし処理を実行する。処理するオブジェクトがラスタデータの場合は、ラスタデータバンドバッファ23よりエッジの座標点のペアの間を埋めるラスタデータを読み出し、出力バッファ24に出力する。なお、エッジリストバッファ21も二つのバッファで構成され、座標点生成処理およびソート処理と、印刷画像データ変換処理はパイプラインで実行可能に構成されている。
【0033】
出力バッファ24は、二つのバッファで構成され、一方のバッファが印刷画像データ変換部22により塗りつぶし処理が行われている間、他方のバッファは、後段のプリンタ装置制御部25を介して、プリンタ装置26へ印刷画像データが転送されるよう構成されている。
【0034】
プリンタ装置制御部25は、プリンタ装置26の起動タイミングおよび記録速度を制御するものである。さらに特徴的には、ディスプレイリスト展開処理予測部27から入力された、ディスプレイリストから印刷画像データ変換部22で生成される印刷画像データへのページ単位のバンドごとの展開処理予測時間に基づき、プリンタ装置26の出力がバンドごとの展開処理予測時間を越えないように、プリンタ装置26の記録速度を制御するものである。また、プリンタ装置26の出力タイミングに応じて出力バッファ24の印刷画像データをプリンタ装置26へ転送する、転送制御および管理を実行するものである。
【0035】
プリンタ装置26は、プリンタ装置制御部25の制御に基づき、出力バッファ24から出力される印刷画像データを受け取って、記録用紙に印字し出力するものである。さらに、詳しくは、このプリンタ装置26は、CMYBk (シアン、マゼンタ、イエロー、ブラック)カラーの色ごとに露光、現像、転写を繰り返すことによりフルカラー画像を出力できるレーザ走査方式の電子写真方式を用いたカラーページプリンタである。
【0036】
ディスプレイリスト展開処理予測部27は、ディスプレイリスト生成部12によって生成され、バンド分割部13によりページごとにバンド単位で分割されたディスプレイリストから、座標点生成部19および印刷画像データ変換部22で生成される印刷画像データへのバンドごとの展開処理予測時間を得るものである。バンドごとの展開処理予測時間はプリンタ装置制御部25に出力される。
【0037】
なお、この構成例はディスプレイリストが所定のバンド単位に分割され、バンド単位で処理されることを前提に記載されているが、これに限定されるものではなく、ページ単位で処理される構成であってもよい。
【0038】
次に上述したように構成された印刷処理装置における印刷処理の流れの概要について、図3を用いて説明する。
図3は印刷処理装置における印刷処理の流れを示すフローチャートである。まず、印刷データスプール部10に文字または図形を含む印刷データ1が入力されると、印刷データ解釈部11、ディスプレイリスト生成部12、バンド分割部13を介してディスプレイリストが生成され、少なくとも1ページ分のバンド分割されたディスプレイリストがディスプレイリストバッファ16に格納される(ステップS1)。次に、ディスプレイリストバッファ16より、ディスプレイリストがディスプレイリスト展開処理予測部27にバンド単位で1ページごとに入力され、1ページ分のバンドごとの展開処理予測時間の算出が行われる(ステップS2)。次に、ディスプレイリスト展開処理予測部27から入力された1ページごとのバンド単位での展開処理予測時間に基づいて、プリンタ装置制御部25が、プリンタ装置26の起動タイミングおよび記録速度を決定し制御する(ステップS3)。なお、ディスプレイリスト展開処理予測部27の詳細については後述する。
【0039】
ステップS2,S3と平行して、ディスプレイリストバッファ16より、バンド単位で順次ディスプレイリストが座標点生成部19ならびに印刷画像データ変換部22で展開処理される(ステップS4)。当該バンドのすべてのオブジェクトの展開処理が終了すると、先にプリンタ装置制御部25によってあらかじめ記録速度が制御されたプリンタ装置26にプリンタ装置制御部25を介して印刷画像データの出力が行われる(ステップS5)。
【0040】
次に、ページ内のすべてのバンド処理終了のチェックが行われる(ステップS6)。もし、当該バンドのすべてのオブジェクトの処理が終了していなければ、ステップS4以下の処理が繰り返される。もし、当該バンドのすべてのオブジェクトの処理が終了していれば、1ページ分の印刷処理は終了する。処理する印刷データが複数ページあれば、上記処理を複数ページ分繰り返す。
【0041】
次に、上述したステップS4におけるディスプレイリストの展開処理の流れの概要について説明する。
図4はディスプレイリストの展開処理の流れを示すフローチャートである。まず、ディスプレイリストバッファ16に格納されたディスプレイリストが、バンド単位に順次ディスプレイリストバンドバッファ17に入力される(ステップS11)。次に、ディスプレイリスト管理部18において、最初のオブジェクトのディスプレイリストのエッジ情報が、最大で座標点生成部19の有する座標点生成回路の数だけ座標点生成部19に転送される(ステップS12)。座標点生成部19では、座標点の生成(ステップS13)、走査ラインの更新(ステップS14)、すべての座標点生成回路の待機状態のチェック(ステップS15)が行われる。もし、すべての座標点生成回路が待機状態でなければ、ステップS13、ステップS14、ステップS15を繰り返す。もし、すべての座標点生成回路が待機状態になれば、オブジェクトのすべてのエッジの処理終了のチェックが行われる(ステップS16)。もし、当該オブジェクトのすべてのエッジの処理が終了していなければ、ステップS12で次のエッジ情報が最大で座標点生成部19の有する座標点生成回路の数だけ座標点生成部19に転送され、ステップS13以下の処理が繰り返される。もし、当該オブジェクトのすべてのエッジの処理が終了していれば、ソート部20によるソート処理が実行され(ステップS17)、続いて、印刷画像データ変換部22による印刷画像データへの変換処理および変換された印刷画像データの出力バッファへの出力が実行される(ステップS18)。
【0042】
次に、バンド内のすべてのオブジェクト処理終了のチェックが行われる(ステップS19)。もし、当該バンドのすべてのオブジェクトの処理が終了していなければ、ステップS12に戻り、次のオブジェクトの最初のエッジ情報が、最大で座標点生成部19の有する座標点生成回路の数だけ座標点生成部19に転送され、ステップS13以下の処理が繰り返される。もし、当該バンドのすべてのオブジェクトの処理が終了していれば、このディスプレイリストの展開処理は終了する。
【0043】
なお、上記印刷データの流れの説明では、簡単にするため、ラスタデータ処理に関する記載は省略したが、ラスタデータ処理に関しては各構成要素の概要および動作で説明したように処理される。
【0044】
次に、印刷処理装置が実装されるコンピュータシステムの二つの構成例を以下に示す。
図5は印刷処理装置全体が実装されるコンピュータシステムのハードウェア構成例を示した図である。図5において、コンピュータシステムは、ホストコンピュータ30と、ホストコンピュータ30が接続されるネットワーク41と、ホストコンピュータ30に装着される描画処理カード38と、プリンタ装置26と、描画処理カード38とプリンタ装置26を接続する専用バス42とで構成されている。ネットワーク41は、たとえばイーサネット(Ethernet)であり、ネットワーク41を介して図示しないパーソナルコンピュータ、ワークステーションなどから印刷データ1が入力される。ホストコンピュータ30は、CPU(中央演算処理装置)31と、メモリコントローラ32と、DRAM(Dynamic Random Access Memory)33と、システムバスコントローラ34と、ネットワークインタフェース35と、磁気ディスク36と、カードコントローラ37と、CPUバス39と、システムバス40とから構成される一般的なものである。
【0045】
システムバス40は、たとえばPCI(Peripheral Component Interconnect)バスであり、カードコントローラ37は高速のデータ転送が可能なカードバス(CardBus)対応のコントローラである。ホストコンピュータ30には、本印刷処理装置の印刷データスプール部10、印刷データ解釈部11、ディスプレイリスト生成部12、バンド分割部13、ラスタデータ処理部14、ラスタデータバッファ15、ディスプレイリストバッファ16、ディスプレイリスト展開処理予測部27に相当する機能が実装される。たとえば、磁気ディスク36は、印刷データ解釈部11、ディスプレイリスト生成部12、バンド分割部13、ラスタデータ処理部14、ディスプレイリスト展開処理予測部27の各処理のための所定のプログラムなどの格納領域、印刷データスプール部10の印刷データ格納領域として使用される。また、DRAM33は、印刷データ解釈部11、ディスプレイリスト生成部12、バンド分割部13、ラスタデータ処理部14の各処理のためのワークエリア、ラスタデータバッファ15、ディスプレイリストバッファ16として使用される。さらに、CPU31は印刷データ解釈部11、ディスプレイリスト生成部12、バンド分割部13、ラスタデータ処理部14、ディスプレイリスト展開処理予測部27の各処理のための所定のプログラムを実行する。
【0046】
図6は描画処理カードのハードウェア構成例を示した図である。図6において、描画処理カード38は、ホストコンピュータ30のCPUとは異なる第2のCPU50と、カードインタフェース51と、フラッシュROM(Read Only Memory)52と、メモリコントローラ53と、メモリ54と、座標点生成LSI(大規模集積回路)55と、印刷画像データ変換LSI56と、出力バッファメモリ57と、ラスタデータバンドバッファメモリ58と、プリンタ制御LSI59と、ビデオインタフェース60と、カード内部バス61とから構成されている。この描画処理カード38には、本印刷処理装置のディスプレイリストバンドバッファ17、ディスプレイリスト管理部18、座標点生成部19、ソート部20、エッジリストバッファ21、印刷画像データ変換部22、ラスタデータバンドバッファ23、出力バッファ24、およびプリンタ装置制御部25の各機能が実装されている。たとえばフラッシュROM52はソート部20のソート処理のための所定のプログラムなどが格納されるとともに、オペレーティングシステムのプログラムが格納される。メモリ54は、たとえばDRAMで構成され、ソート処理のためのプログラム実行のためのワークエリア、ディスプレイリストバンドバッファ17、エッジリストバッファ21として使用される。また、座標点生成LSI55にはディスプレイリスト管理部18と座標点生成部19の機能、印刷画像データ変換LSI56には印刷画像データ変換部22の機能、プリンタ制御LSI59およびビデオインタフェース60はプリンタ装置制御部25の機能がそれぞれ実装されている。さらに、第2のCPU50はソート部20のソート処理のための所定のプログラムの実行、ディスプレイリストバンドバッファ17へのディスプレイリスト入力の制御、出力バッファメモリ57やラスタデータバンドバッファメモリ58のメモリクリアの制御などを実行する。また、出力バッファメモリ57およびラスタデータバンドバッファメモリ58は、たとえばDRAMで構成される。
【0047】
ディスプレイリスト管理部18以降の処理を独立した1枚の描画処理カードの回路基板上に一体に構成することにより、カード内部バス61はホストコンピュータ30のシステムバス40とは独立に設けることが可能になり、バスの競合によるデータ転送速度低下を低減することができる。さらに、ホストコンピュータ30のシステムバス40より高速のバスを設けることにより、データ転送の高速化が可能となる。また、図6の構成において、出力バッファメモリ57およびラスタデータバンドバッファメモリ58は、カード内部バス61を介さず直接印刷画像データ変換LSI56に接続された構成をとっている。このような構成を取ることにより、データ転送のボトルネックを解消し、より高速のデータ転送が可能となる。また、第2のCPU50の主要な処理はソート処理に限定されるため、ホストコンピュータ30のCPU31に比較して、性能の低いCPUを使用することが可能であり、図6に示すようなカード化が可能である。
【0048】
図7は印刷処理装置全体が実装される他のコンピュータシステムのハードウェア構成例を示した図である。図7において、図5と同じ構成要素については同じ符号を付して詳細な説明は省略する。図7に示したコンピュータシステムは、図5に示した構成では、ディスプレイリスト管理部18以降の処理を実装する描画処理カード38がホストコンピュータ30に直接接続されているのに対し、図7の構成では、ディスプレイリスト管理部18以降の処理を実装する描画処理ボード45がシリアルバス44を介してプリンタ装置26に直接接続されている。このため、ホストコンピュータ30にはシリアルバスインタフェース43が設けられている。この描画処理ボード45もディスプレイリスト管理部18以降の処理機能を独立した1枚の回路基板状に一体に実装され、ディスプレイリストバンドバッファ17までの処理機能と着脱可能になっている。
【0049】
図8は描画処理ボードのハードウェア構成例を示した図である。図8において、図6と同じ構成要素については同じ符号を付して詳細な説明は省略する。図8に示す描画処理ボード45は、シリアルバスインタフェース62が設けられている点で図6と異なるが、その他の構成要素および機能は図6と同一である。シリアルバス44は、たとえばIEEE(米国電機電子技術者協会)1394高性能シリアルバスである。このIEEE1394高性能シリアルバスを設けることにより、処理性能を低下させることなく、プリンタ装置26およびホストコンピュータ30の配置構成を自由に設定することが可能となる。
【0050】
以上、本発明の印刷処理装置の概要について記述した。次に、この印刷処理装置の主要部の詳細について説明する。はじめに、本発明の印刷処理装置のディスプレイリスト生成部12で生成されるディスプレイリストについて詳細に説明する。ディスプレイリスト生成部12では、各描画オブジェクトごとに、ヘッダ部とリスト部を有したディスプレイリストを生成する。以下に、オブジェクトが文字/図形の場合とラスタの場合とについて、ディスプレイリスト生成部12で生成されるディスプレイリストの構造を示す。
【0051】
図9はディスプレイリスト生成部で生成されるディスプレイリスト(文字/図形の場合)の構造を示す図、図10はディスプレイリスト生成部で生成されるディスプレイリスト(ラスタの場合)の構造を示す図である。ディスプレイリスト生成部12で生成されるディスプレイリストは、文字/図形およびラスタの場合、ヘッダ部が異なる。以下にこれら二つの場合のディスプレイリストの構造について説明する。
【0052】
図9に示すように文字/図形の場合、ヘッダ部は、描画オブジェクトの種類を示すTypeID(この場合、文字あるいは図形描画を示す)と、描画オブジェクトを何色で塗りつぶすかを示す色情報(たとえば、CMYBk の値など)と、yバケットの総数であるyリスト数と、各yリストに連結されているセルの総数である連結セル数と、次の描画オブジェクトのディスプレイリスト(DL)へのポインタとから構成される。
【0053】
リスト部は、yバケットと、連結セルとから構成される。yバケットは、入力された各描画オブジェクトごとのベクタデータの始点のy座標値に相当する走査ラインyと、最初の連結セルへのポインタであるセルポインタからなる。ここで、連結セルの存在しないyバケットは、リスト部に登録しない。連結セルは、入力された各描画オブジェクトごとのベクタデータの始点のx座標値と、そのベクタデータの走査ライン当たりのxの増分であるΔxと、そのベクタデータと交差する走査ラインの数であるΔyと、その走査ラインyを始点とする異なるベクタデータが存在するか否かを示す連結フラグから構成される。連結フラグは、次に連結セルが存在する場合は、フラグ' 1' を付加し、最後の連結セルである場合は、EOC(End Of Cell)を表すフラグ' 0' を付加する。
【0054】
次に図10に示すようにラスタデータの場合、ヘッダ部は、TypeID(この場合、ラスタ描画を示す)と、ラスタデータのデータサイズ(1画素当たりのビット数*w*h:wは幅、hは高さ)と、ラスタデータの格納されているラスタデータバッファ15のアドレスに相当するデータアドレスと、各yリストに連結されているセルの総数である連結セル数と、次の描画オブジェクトのディスプレイリストへのポインタとから構成される。リスト部は、上述した文字/図形の場合と同様であるので説明を省略する。
【0055】
なお、ディスプレイリスト生成部12で生成されるディスプレイリストは、各ベクタデータ同士の繋がり方や、描画状態命令にある塗りつぶし方法などを考慮して生成される。
【0056】
次に、この印刷処理装置におけるディスプレイリスト展開処理予測部27の詳細について説明する。
図11はディスプレイリスト展開処理予測部の構成例を示すブロック図である。図11において、ディスプレイリスト展開処理予測部27は、セルデータ計数部270と、座標点生成時間算出部271と、印刷画像データ変換時間算出部272と、係数テーブル273と、展開時間算出部274とから構成されている。
【0057】
セルデータ計数部270は、ディスプレイリストバッファ16に1ページごとのバンド単位で格納されている各描画オブジェクトごとのディスプレイリストのヘッダ部にある連結セル総数を、すべての描画オブジェクトから読み出して1ページ分のセル数をバンド単位で集計する。
【0058】
座標点生成時間算出部271は、セルデータ計数部270でバンド単位で集計された1ページ分のセル数から、座標点生成部19を実装する座標点生成LSI55で生成される各描画オブジェクトの各走査ラインに対する座標点の1ページ分の予測生成時間Teを以下の式を用いてバンド単位でそれぞれ算出する。
【0059】
【数1】
Te=n×te/m ・・(1)
ここでnは、セルデータ計数部270で集計されたバンド単位での総セルデータ数、teはセルデータ1個当たりの座標点生成見積り時間、mは座標点生成LSI55中の座標点生成回路の数である。
【0060】
印刷画像データ変換時間算出部272は、セルデータ計数部270で1ページ分のバンド単位で集計されたセル数から、印刷画像データ変換部22を実装する印刷画像データ変換LSI56で変換される印刷画像データの1ページ分の予測変換時間Tbを以下の式を用いてバンド単位でそれぞれ算出する。
【0061】
【数2】
Tb=n×tb ・・(2)
ここでtbはセルデータ1個当たりの印刷画像データ変換見積り時間である。
【0062】
係数テーブル273は、座標点生成時間算出部271および印刷画像データ変換時間算出部272でそれぞれ用いられるセルデータ1個当たりの見積時間te、tbを算出するのに必要な固定値を格納する。係数テーブル273に格納されている固定値は、以下の表1に示すように、座標点生成LSI55や印刷画像データ変換LSI56が、座標点生成処理や印刷画像データ変換処理に必要な各処理工程における時間を、セルデータ1個当たりの値に換算した値である。すなわち、係数テーブル273には、座標点生成処理における見積もり係数として、ヘッダ処理時間thead、yリスト処理時間tlist、セル読み込み時間tcell、始点書き込み時間tstart 、次座標点計算時間tnext、座標点書き込み時間twrite が格納され、印刷画像データ変換処理における見積もり係数として、ヘッダ処理時間thead、エッジリスト読み込み時間tedge、出力バッファへの書き込み時間tbuf 、アドレス計算時間tadr が格納されている。見積時間te、tbはそれぞれの見積り係数を単純加算して求められる。また、表1に示した見積り係数は、座標点生成部19を実装する座標点生成LSI55や印刷画像データ変換部22を実装する印刷画像データ変換LSI56などのハードウェアに依存した値であるため、ハードウェアが変更になれば、見積り係数も容易に変更することができる。
【0063】
【表1】
【0064】
展開時間算出部274は、座標点生成時間算出部271および印刷画像データ変換時間算出部272で算出されたそれぞれの予測時間Te、Tbを単純加算して、展開処理予測時間Tを算出する。得られた展開処理予測時間Tはプリンタ装置制御部25に出力される。
【0065】
次に、プリンタ装置制御部25について詳細に説明する。
図12はプリンタ装置制御部の構成例を示すブロック図である。プリンタ装置制御部25は、プリンタ装置状態管理部250と、プリンタ装置記録速度選択部251と、プリンタ装置プロセス制御部252と、印刷画像データ転送制御部253とから構成されている。
【0066】
プリンタ装置状態管理部250は、プリンタ装置26の状態変化にともなうイベント発生、およびプリンタ装置記録速度選択部251での状態要求に応じてプリンタ装置26の状態を管理するものである。プリンタ装置26の状態変化にともなうイベント発生の例としては、プリンタ装置故障による印字不可、用紙切れなどがある。プリンタ装置記録速度選択部251は、ディスプレイリスト展開処理予測部27からのディスプレイリスト展開処理予測時間の入力があると直ちに、プリンタ装置状態管理部250にプリンタ装置故障による印字不可、用紙切れなどを問合せる。プリンタ装置状態管理部250は、印字不可、用紙切れなどの情報をプリンタ装置記録速度選択部251に通知する。プリンタ装置26の印字が可能であれば、プリンタ装置記録速度選択部251はディスプレイリスト展開処理予測部27から入力されたディスプレイリスト展開処理予測時間に基づきプリンタ装置26の記録速度を決定する。
【0067】
プリンタ装置記録速度選択部251は、ディスプレイリスト展開処理予測部27から入力された1ページごとのバンドごとに集計された、ディスプレイリスト生成部12で生成されたディスプレイリストから座標点生成部19ならびに印刷画像データ変換部22で変換される印刷画像データへの展開処理時間に基づき、プリンタ装置26において選択可能な記録速度の中から、バンドごとの印刷画像データへの展開処理が間に合い、印刷画像データの欠落が生じない記録速度を選択するものである。
【0068】
図13はプリンタ装置記録速度選択部における記録速度選択の様子を示す説明図である。図13において、1ページはnバンドに分割され、各バンドの展開処理予測時間は異なっている。一方、本発明に関する電子写真方式のページプリンタは、少なくとも1ページ内において一定速度で駆動しなければならないため、各バンドの印字時間は一定である。したがって、各バンドの印字が終了する前に次のバンドの展開処理を終わらせるために、展開処理予測時間の最も長くなるバンドの展開処理予測時間(図13の例ではバンド4の展開処理予測時間が最も長い)よりも、1バンドの印字時間が長くなる記録速度を選択する必要がある。プリンタ装置記録速度選択部251で選択された記録速度は、プリンタ装置プロセス制御部252に通知される。
【0069】
プリンタ装置プロセス制御部252は、プリンタ装置記録速度選択部251で選択された記録速度に基づいてプリンタ装置26のプロセスを制御するものである。また、プリンタ装置プロセス制御部252のプロセス制御には、プリンタ装置26の起動タイミングの制御が含まれている。プリンタ装置26の起動タイミングの制御は、プリンタ装置記録速度選択部251からの選択された記録速度の通知に基づいて行われるものであるが、印刷データスプール部10への印刷データ1の入力に応じて行われても良い。特に、サイクルアップに時間を要する定着器、半導体レーザ走査装置のポリゴンミラーモータなどは、早い段階で起動することが望ましい。
【0070】
本実施例のレーザ走査方式の電子写真方式を用いたカラーページプリンタにおいて、プリンタ装置26の記録速度可変にともない制御しなければならないプリンタ装置26の印字プロセスにおける制御対象は、感光体ドラム回転速度、転写ドラム回転速度、定着器ロール回転速度、記録用紙搬送ローラ回転速度、半導体レーザ走査装置のポリゴンミラーの回転速度、現像器の現像ロール回転速度、転写電流、クリーナブラシ回転速度などである。この内、感光体ドラム回転速度、転写ドラム回転速度、定着器ロール回転速度、記録用紙搬送ローラ回転速度、半導体レーザ走査装置のポリゴンミラーの回転速度、現像器の現像ロール回転速度、クリーナブラシ回転速度は、記録速度に比例して制御すれば良い対象である。転写電流は記録速度に比例して定電流源の設定を制御すれば良い。また、一般的に半導体レーザ走査装置のポリゴンミラーの駆動にはブラシレスサーボモータ、その回転速度の安定にはPLL(Phase Locked Loop)制御が使用されている。したがって、ポリゴンミラーの回転速度の変更は、PLL制御の基準周波数の分周により可能である。
【0071】
また、半導体レーザ走査装置において記録速度可変にともない露光走査を変更する他の方法として、一定のポリゴンミラーの回転速度に対して、印字するための露光走査をビデオインタフェースにおいて間引く方法がある。この方法によれば、最大の記録速度に対して、1/2,1/3,・・・・,1/mの記録速度に設定することが可能となる。この方法では、選択可能な記録速度が少なくなるものの、サイクルアップに長い時間を要する半導体レーザ走査装置のポリゴンミラーモータ回転速度を変更する必要がなく、上述したように印刷データスプール部10への印刷データ1の入力に応じて起動するような早い段階での起動を可能とするものである。
【0072】
印刷画像データ転送制御部253は、出力バッファ24から印刷画像データを読み込み、これを読み込んだワードごとにシリアル変換して、シリアル出力クロック信号に同期してプリンタ装置26へ出力する。
【0073】
以上説明したように、本発明によれば、複雑な描画命令(複雑なグラフィックスの塗りつぶし描画命令など)が入力された場合に、ディスプレイリスト展開処理予測時間に基づき、プリンタ装置の記録速度を可変とすることで、印刷画像データ展開処理の遅れが原因の印字抜けなどの印字不良の発生を抑えることが可能である。
【0074】
【発明の効果】
以上説明したように本発明では、所定の描画命令で記述されている印刷データを、ディスプレイリストに変換し、ディスプレイリストからにビットマップ展開する印刷処理装置のエッジリストデータ生成処理において、描画オブジェクトのエッジを表す座標点を生成する座標点生成処理と座標点に順序を付けるソート処理とを分離し、複数の座標点生成装置で繰り返し座標点生成した後、ソート処理を行うよう構成した。これにより、それぞれの処理に適した処理資源、すなわち座標点生成処理はハードウェア、ソート処理はソフトウェアで処理することが可能となり、記述言語で記述される複雑な描画オブジェクトに対しても軽い資源で高速の処理を行うことが可能となる。
【0075】
また、座標点生成装置および印刷画像データ変換部をハードウェア構成とすることにより、ディスプレイリストからビットマップへの展開時間の算出は、ハードウェアの処理ステップごとの時間の単純加算で行うことができ、処理ステップごとの時間はハードウェアの動作クロックに基づいているため、ほぼ正確に予測することが可能である。
【0076】
さらに、本発明を適用することにより、実施例の実装形態で示されているようにディスプレイリストからビットマップ展開するまでの処理を一体の回路基板上に構成することが可能となる。このため、データ量が急増するディスプレイリスト以降の処理に対して専用の高速バスを設けることが可能となり、ディスプレイリストからビットマップ展開するまでの処理全体の高速化が実現できる。
【図面の簡単な説明】
【図1】本発明の原理構成を示す図である。
【図2】本発明の印刷処理装置の実施の形態を示すブロック図である。
【図3】印刷処理装置における印刷処理の流れを示すフローチャートである。
【図4】ディスプレイリストの展開処理の流れを示すフローチャートである。
【図5】印刷処理装置全体が実装されるコンピュータシステムのハードウェア構成例を示した図である。
【図6】描画処理カードのハードウェア構成例を示した図である。
【図7】印刷処理装置全体が実装される他のコンピュータシステムのハードウェア構成例を示した図である。
【図8】描画処理ボードのハードウェア構成例を示した図である。
【図9】ディスプレイリスト生成部で生成されるディスプレイリスト(文字/図形の場合)の構造を示す図である。
【図10】ディスプレイリスト生成部で生成されるディスプレイリスト(ラスタの場合)の構造を示す図である。
【図11】ディスプレイリスト展開処理予測部の構成例を示すブロック図である。
【図12】プリンタ装置制御部の構成例を示すブロック図である。
【図13】プリンタ装置記録速度選択部における記録速度選択の様子を示す説明図である。
【図14】輪郭情報からビットマップ展開のためのエッジの座標点を生成するまでの流れを示す図である。
【図15】エッジが交差する図形要素の例を示した図である。
【符号の説明】
1 印刷データ
2 入力手段
3 リスト生成手段
4 座標点生成装置
5 ソート手段
6 変換手段
7 印刷出力手段
8 リスト展開時間予測手段
10 印刷データスプール部
11 印刷データ解釈部
12 ディスプレイリスト生成部
13 バンド分割部
14 ラスタデータ処理部
15 ラスタデータバッファ
16 ディスプレイリストバッファ
17 ディスプレイリストバンドバッファ
18 ディスプレイリスト管理部
19 座標点生成部
20 ソート部
21 エッジリストバッファ
22 印刷画像データ変換部
23 ラスタデータバンドバッファ
24 出力バッファ
25 プリンタ装置制御部
26 プリンタ装置
27 ディスプレイリスト展開処理予測部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a print processing apparatus and a print processing method, and in particular, converts print data described by a predetermined drawing command input from the outside into an intermediate code (display list) unique to print processing, and the converted intermediate code The present invention relates to a print processing apparatus and a print processing method for developing a bitmap in predetermined band units or page units.
[0002]
[Prior art]
Accompanying the development of small and high-speed electrophotographic page printers suitable for digital printing, the same handling of rasters, figures, characters, etc., which has been taken away from conventional character information-centric printing, enlarges and rotates figures, characters, etc. In general, print processing apparatuses using a description language in which deformation and the like can be freely controlled have been widely used. Representative examples of this type of description language include PostScript (trademark of Adobe Systems), Interpress (trademark of Xerox), Acrobat (trademark of Adobe Systems), GDI (Graphics Devices Interface: Microsoft, etc.). The print data created in the description language is composed of rasters, graphics, and drawing commands for representing characters in any order on the page in any order. To print with the page printer according to the present invention, Before printing, the print data must be bitmapped. Bitmap development refers to the process of developing print data into a series of individual dots or pixels across a page or part of a page to form a raster scan line and successively generating scan lines below that page. It is.
[0003]
After converting drawing commands related to graphics or characters in the print data created in the description language into a display list in which a plurality of lists including edge information constituting the outline of the drawing object represented by it are connected, A method of performing a printing process by developing a bitmap of the display list is generally known. As such a printing processing method, for example, JP-A-6-305203 and JP-A-7-175604 are known.
[0004]
In addition, the method of expanding the display list into bitmap data is described in the document "Practical Computer Graphics" (David F. Rogers, supervised by Fujio Yamaguchi, 1987, published by Nikkan Kogyo Shimbun, pp 84-96). There is.
[0005]
FIG. 14 shows the relationship between the graphic or character outline information described in the above-mentioned document and the display list, and the processing flow for generating edge coordinate points for bitmap development from the display list.
[0006]
FIG. 14 is a diagram showing a flow from generation of edge coordinate points for bitmap development from contour information. In the example of FIG. 14, the polygonal contour is composed of four edges Ea, Eb, Ec, Ed. These edges Ea, Eb, Ec, Ed are sorted by the y-coordinate value of the vertex having the smaller absolute value (hereinafter referred to as the start point of the edge), and are concatenated and stored in the y bucket list. For example, in a scanning line that intersects the start points (x1, y1) of the edges Ea, Eb, a cell representing the information on the edge Ea and a cell representing the information on the edge Eb are stored in the y bucket list corresponding to the coordinate value of y1. Has been. Each cell in the y bucket list includes information for generating the intersection of the scan line and each edge, that is, the x coordinate value of the start point of the edge, the change amount Δx of x per scan line representing the inclination of the edge, and the edge And the number of intersections Δy between the scanning lines and a pointer to the next cell. The whole including the y bucket list and each cell is called a display list. The display list is then converted into information that must be processed simultaneously for each scan line. This is called an active edge list. Then, the coordinate point of the edge is output from this active edge list.
[0007]
In general, the process of generating edge coordinate points from the display list is called scan line conversion. Bitmap data is obtained by sorting edge coordinate points generated by scanning line conversion according to coordinate values, and sequentially performing a filling process between the sorted coordinate points with predetermined color data. Scan line conversion generates coordinate points of edges from the top to the bottom for each scan line. That is, all edges that intersect the current scanning line are listed, and the coordinate points of the edges are output while creating the active edge list shown in FIG. After processing the current scan line, each record in the active edge list is updated (x = x + Δx, Δy = Δy−1) for the next scan. The bucket with Δy = 0 is deleted from the list.
[0008]
[Problems to be solved by the invention]
In JP-A-6-305203 and JP-A-7-175604, a display list with a small amount of data is used as intermediate data for print processing, and a bitmap is developed in band units according to the print output of the printer device. By doing so, it aims to reduce the large-capacity frame buffer memory for bitmap development. However, in JP-A-6-305203 and JP-A-7-175604, the display list is converted into bitmap data by software processing and cannot be applied to a high-speed print processing apparatus. There was a point. This is because the print data created in the description language has no limitation on the complexity of the drawing object described by one drawing command, so the above-described scanning line conversion or edge coordinate point sorting processing is performed by dedicated hardware. This is because the number of simultaneous processings corresponding to the complexity is required to increase the speed, and it is necessary to prepare a large-scale hardware.
[0009]
On the other hand, in the technical field of displaying computer graphics on a display, a polygon data display list that represents the contour of a figure is divided into a simple triangle data display list and a trapezoid data display list, and then dedicated hardware is used. A process of developing a bitmap at a high speed using is performed. For example, Japanese Patent Laid-Open No. 7-160899 is known for triangular data division, and Japanese Patent Laid-Open No. 4-14189 is known for trapezoid data division. Snow The In the technical field of computer graphics, restrictions are placed on the complexity of drawing objects described by one drawing command, and high-speed processing is performed by hardware. This is because a polygon that represents the contour of a figure in the technical field of computer graphics is generally expressed as a convex polygon, and can be easily divided into a triangle or a trapezoid. However, since graphic elements created in a description language may occur when edges cross each other, a large amount of calculation is required for division into triangles and trapezoids.
[0010]
FIG. 15 is a diagram showing an example of graphic elements whose edges intersect. The graphic element shown in FIG. 15 includes seven edges Ee, Ef, Eg, Eh, Ei, Ej, and Ek, and the graphic element is filled. This filling is performed while being sandwiched between coordinate points of edges intersecting with the scanning line. At the intersection such as the edges Ei and Ej, for example, when the area a sandwiched between the edge Ee and the edge Ej is painted, the area b sandwiched between the edge Ee and the edge Ei is filled. Change. That is, processing such as rearrangement of edges occurs at a portion where the edges intersect. For this reason, division into triangles and trapezoids requires such processing to be performed in advance, which requires a large amount of calculation, and the high speed of hardware processing cannot be fully utilized as a whole system. . Therefore, hardware processing in the technical field of computer graphics cannot be applied to the technical field of print processing that processes print data created in a description language.
[0011]
Furthermore, in the technical field of predicting the drawing time required to draw the display list, the time for drawing the display list on the raster before drawing on the raster is calculated, and based on the comparison with the output time in the output device, If the predicted rendering time is shorter than the output time, output is performed in band units. Otherwise, processing is performed in which a raster for one page is generated and then output. For example, JP-A-8-234949 is known. In Japanese Patent Laid-Open No. 8-234949, a drawing prediction time necessary for drawing a display list is stored in advance for each drawing object, and the drawing prediction time for each band is calculated by taking the stored drawing prediction time. As a result, the drawing prediction time is derived easily and in a short time. However, the display list handled in Japanese Patent Application Laid-Open No. 8-234949 is a character font, and as described above, in the display list that is intermediate data of print data created in a description language with no limitation on complexity, The predicted rendering time for each rendering object cannot be stored in advance.
[0012]
The present invention has been made in view of the above points, and converts a drawing command related to a graphic or a character into a display list including edge information constituting the outline of a drawing object represented by the drawing command. High-speed printing without developing a large-scale hardware and dividing a complicated drawing object into a display list consisting of triangles and trapezoids, without requiring a large amount of calculation in a bitmap processing print processing device In addition, it is possible to calculate the development time from the display list to the bitmap development by a simple method, and to select the recording speed of the output device based on the calculated predicted development time. It is an object to provide an apparatus and a printing processing method.
[0013]
[Means for Solving the Problems]
In the present invention, in order to solve the above-described problem, in a print processing apparatus that converts a drawing command relating to a character or a figure into print image data and prints it out, drawing at least one of the character or the figure described by the predetermined drawing command An input unit for inputting print data having an object, and a list having information on the start and end points of edges constituting the outline of the drawing object are generated for each drawing object from the print data input to the input unit. A coordinate point generation apparatus comprising: a list generation unit; and a plurality of coordinate point generation units that individually generate coordinate points representing the edges of the drawing object from information on the start point and end point of the list generated by the list generation unit Sorting means for ordering the coordinate points generated by the coordinate point generation device; Print output means for printing out the print image data of the object, and conversion means for converting the print data into print image data that can be output by the print output means using the coordinate points in the order determined by the sort means. A list expansion time prediction means for predicting a time for expanding the list from the list generated by the list generation means to the conversion means; and the printing according to the predicted expansion time predicted by the list expansion time prediction means There is provided a print processing apparatus comprising a control means for a print output means for determining an output speed of the output means.
[0014]
According to such a printing processing apparatus, the coordinate point generation process for generating the coordinate point representing the edge of the drawing object from the list information having the edge start point and end point information constituting the outline of the drawing object for each drawing object The sorting processing for ordering the coordinate points is made independent, and processing is performed with processing resources suitable for each processing. In other words, regarding coordinate point generation processing, it is configured to repeatedly generate coordinate points with multiple coordinate point generation units, so compared with the case where coordinate point generation processing and sort processing are performed only with conventional hardware Thus, it is not necessary to prepare a large-scale hardware or spend a large amount of processing time on preprocessing for converting print data into list data that matches the limited amount of hardware. Compared to the case where coordinate point generation processing and sort processing are performed only by conventional software processing, coordinate point generation processing that requires a large amount of calculation time in software processing is performed in parallel with a pipeline configuration in hardware. Since the processing can be performed at high speed, the overall speed can be increased. Further, by configuring the coordinate point generation device and the conversion unit with hardware, it is possible to easily calculate the expansion processing prediction time of the list data provided for each drawing object by the number of hardware processing steps. .
[0015]
Therefore, a large-scale hardware is used in a print processing apparatus that converts drawing commands relating to graphics and characters into a display list that includes edge information that constitutes the outline of a drawing object that it represents, and develops the display list into a bitmap. Without the need for a large amount of calculation to divide a complex drawing object into a display list made up of triangles and trapezoids. Can be calculated by a simple method, and the recording speed of the output device can be selected based on the calculated estimated expansion time.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a diagram showing a principle configuration of the present invention. In FIG. 1, the print processing apparatus has at least a drawing object of either a character or a figure, and inputs an
[0017]
The coordinate
A plurality of coordinate point generation units constituting the coordinate
[0018]
The list expansion
[0019]
According to the printing processing apparatus having the above configuration, the coordinate point generation process for generating the coordinate point representing the edge of the drawing object from the list information having the edge start point and end point information constituting the outline of the drawing object for each drawing object And sort processing for ordering coordinate points are made independent, and processing is performed with processing resources suitable for each processing. In other words, regarding coordinate point generation processing, it is configured to repeatedly generate coordinate points with multiple coordinate point generation units, so compared with the case where coordinate point generation processing and sort processing are performed only with conventional hardware Thus, it is not necessary to prepare a large-scale hardware or spend a large amount of processing time on preprocessing for converting print data into list data that matches the limited amount of hardware. Compared with the case where coordinate point generation processing and sort processing are performed only by conventional software processing, the coordinate point generation processing that requires a great amount of calculation time in software processing is performed in parallel with a pipeline configuration. As a result, the processing can be performed at high speed, so that the overall speed can be increased. In addition, since the coordinate
[0020]
Therefore, a large-scale hardware is used in a print processing apparatus that converts drawing commands relating to graphics and characters into a display list that includes edge information that constitutes the outline of a drawing object that it represents, and develops the display list into a bitmap. Without the need for a large amount of calculation to divide a complex drawing object into a display list made up of triangles and trapezoids. Can be calculated by a simple method, and the recording speed of the output device can be selected based on the calculated estimated expansion time.
[0021]
Embodiments of a print processing apparatus according to the present invention will be described below.
FIG. 2 is a block diagram showing an embodiment of the print processing apparatus of the present invention. In FIG. 2, the print processing apparatus includes a print
[0022]
In FIG. 2,
[0023]
The print
[0024]
The print
[0025]
The display
[0026]
The
[0027]
The raster
[0028]
The display
[0029]
The display
[0030]
The coordinate
[0031]
After the coordinate
[0032]
The print image
[0033]
The
[0034]
The printer
[0035]
The
[0036]
The display list development
[0037]
This configuration example is described on the assumption that the display list is divided into predetermined band units and processed in band units. However, the present invention is not limited to this, and the display list is processed in page units. There may be.
[0038]
Next, an outline of the flow of print processing in the print processing apparatus configured as described above will be described with reference to FIG.
FIG. 3 is a flowchart showing the flow of print processing in the print processing apparatus. First, when
[0039]
In parallel with steps S2 and S3, the display list is sequentially expanded from the
[0040]
Next, the end of all band processing in the page is checked (step S6). If the processing of all the objects in the band has not been completed, the processing from step S4 is repeated. If the processing of all the objects in the band has been completed, the printing process for one page is completed. If there are multiple pages of print data to be processed, the above process is repeated for multiple pages.
[0041]
Next, an overview of the flow of display list expansion processing in step S4 will be described.
FIG. 4 is a flowchart showing the flow of display list expansion processing. First, the display list stored in the
[0042]
Next, the end of processing of all objects in the band is checked (step S19). If the processing of all objects in the band has not been completed, the process returns to step S12, and the first edge information of the next object is the maximum number of coordinate points of the number of coordinate point generation circuits of the coordinate
[0043]
In the description of the flow of the print data, the description regarding the raster data processing is omitted for the sake of simplicity, but the raster data processing is performed as described in the outline and operation of each component.
[0044]
Next, two configuration examples of a computer system in which the print processing apparatus is mounted are shown below.
FIG. 5 is a diagram illustrating a hardware configuration example of a computer system in which the entire print processing apparatus is mounted. 5, the computer system includes a
[0045]
The system bus 40 is, for example, a PCI (Peripheral Component Interconnect) bus, and the
[0046]
FIG. 6 is a diagram illustrating a hardware configuration example of the drawing processing card. In FIG. 6, the
[0047]
By integrally configuring the processing after the display
[0048]
FIG. 7 is a diagram illustrating a hardware configuration example of another computer system in which the entire print processing apparatus is mounted. 7, the same components as those in FIG. 5 are denoted by the same reference numerals, and detailed description thereof is omitted. In the computer system shown in FIG. 7, in the configuration shown in FIG. 5, the
[0049]
FIG. 8 is a diagram illustrating a hardware configuration example of the drawing processing board. 8, the same components as those in FIG. 6 are denoted by the same reference numerals, and detailed description thereof is omitted. The
[0050]
The outline of the print processing apparatus of the present invention has been described above. Next, details of main parts of the print processing apparatus will be described. First, the display list generated by the display
[0051]
FIG. 9 is a diagram showing a structure of a display list (character / graphic) generated by the display list generator, and FIG. 10 is a diagram showing a structure of a display list (raster) generated by the display list generator. is there. The display list generated by the display
[0052]
As shown in FIG. 9, in the case of a character / graphic, the header portion includes a TypeID indicating the type of drawing object (in this case, indicating a character or graphic drawing) and color information indicating how many colors the drawing object is to be painted (for example, , CMYBk value, etc.), y list number that is the total number of y buckets, linked cell number that is the total number of cells linked to each y list, and pointer to the display list (DL) of the next drawing object It consists of.
[0053]
The list part is composed of y buckets and linked cells. The y bucket is composed of a scanning line y corresponding to the y coordinate value of the starting point of the vector data for each inputted drawing object, and a cell pointer which is a pointer to the first connected cell. Here, the y bucket in which no connected cell exists is not registered in the list part. The connected cells are the x coordinate value of the starting point of the vector data for each input drawing object, Δx that is an increment of x per scanning line of the vector data, and the number of scanning lines that intersect the vector data. It is composed of Δy and a concatenation flag indicating whether different vector data starting from the scanning line y exists. As for the concatenation flag, a flag '1' is added when a concatenated cell exists next, and a flag '0' representing EOC (End Of Cell) is added when the cell is the last concatenated cell.
[0054]
Next, as shown in FIG. 10, in the case of raster data, the header part includes TypeID (in this case, indicating raster drawing), the data size of the raster data (number of bits per pixel * w * h: w is the width, h is the height), the data address corresponding to the address of the
[0055]
Note that the display list generated by the display
[0056]
Next, details of the display list expansion
FIG. 11 is a block diagram illustrating a configuration example of the display list development process prediction unit. In FIG. 11, the display list expansion
[0057]
The cell
[0058]
The coordinate point generation
[0059]
[Expression 1]
Te = n × te / m (1)
Here, n is the total number of cell data in the band unit counted by the cell
[0060]
The print image data conversion
[0061]
[Expression 2]
Tb = n × tb (2)
Here, tb is a print image data conversion estimation time per cell data.
[0062]
The coefficient table 273 stores fixed values necessary for calculating estimated times te and tb per cell data used by the coordinate point generation
[0063]
[Table 1]
[0064]
The expansion
[0065]
Next, the printer
FIG. 12 is a block diagram illustrating a configuration example of the printer apparatus control unit. The printer
[0066]
The printer device
[0067]
The printer device recording
[0068]
FIG. 13 is an explanatory diagram showing a state of recording speed selection in the printer apparatus recording speed selection unit. In FIG. 13, one page is divided into n bands, and the estimated expansion processing times for each band are different. On the other hand, the electrophotographic page printer according to the present invention must be driven at a constant speed in at least one page, and therefore the printing time of each band is constant. Therefore, in order to finish the development process of the next band before the printing of each band is completed, the development process prediction time of the band with the longest development process prediction time (in the example of FIG. 13, the development process prediction time of band 4). It is necessary to select a recording speed at which the printing time of one band is longer than (the longest). The recording speed selected by the printer device recording
[0069]
The printer device
[0070]
In the color page printer using the laser scanning type electrophotographic system of the present embodiment, the control target in the printing process of the
[0071]
As another method for changing the exposure scanning in accordance with the variable recording speed in the semiconductor laser scanning device, the exposure scanning for printing is performed at a video input at a constant polygon mirror rotational speed. tough There is a thinning method in the case. According to this method, it is possible to set the recording speed to 1/2, 1/3,..., 1 / m with respect to the maximum recording speed. In this method, although the selectable recording speed is reduced, it is not necessary to change the polygon mirror motor rotation speed of the semiconductor laser scanning device that requires a long time for cycle up, and printing to the print
[0072]
The print image data transfer control unit 253 reads the print image data from the
[0073]
As described above, according to the present invention, when a complicated drawing command (such as a complicated graphics fill drawing command) is input, the recording speed of the printer device can be changed based on the estimated display list expansion processing time. By doing so, it is possible to suppress the occurrence of printing defects such as missing prints due to delays in print image data development processing.
[0074]
【The invention's effect】
As described above, according to the present invention, in the edge list data generation process of the print processing apparatus that converts print data described by a predetermined drawing command into a display list and develops a bitmap from the display list, The coordinate point generation process for generating the coordinate points representing the edge and the sort process for ordering the coordinate points are separated, and after the coordinate points are repeatedly generated by a plurality of coordinate point generation apparatuses, the sort process is performed. As a result, processing resources suitable for each processing, that is, coordinate point generation processing can be processed by hardware, sorting processing can be performed by software, and it is a light resource for complex drawing objects described in a description language. High-speed processing can be performed.
[0075]
In addition, since the coordinate point generation device and the print image data conversion unit have a hardware configuration, the calculation of the development time from the display list to the bitmap can be performed by simply adding the time for each hardware processing step. Since the time for each processing step is based on the hardware operation clock, it can be estimated almost accurately.
[0076]
Furthermore, by applying the present invention, it is possible to configure processing from the display list to bitmap development on an integrated circuit board as shown in the implementation form of the embodiment. For this reason, it is possible to provide a dedicated high-speed bus for processing subsequent to the display list in which the amount of data increases rapidly, and it is possible to increase the speed of the entire processing from the display list to bitmap development.
[Brief description of the drawings]
FIG. 1 is a diagram showing a principle configuration of the present invention.
FIG. 2 is a block diagram showing an embodiment of a print processing apparatus of the present invention.
FIG. 3 is a flowchart illustrating a flow of print processing in the print processing apparatus.
FIG. 4 is a flowchart showing a flow of display list expansion processing;
FIG. 5 is a diagram illustrating a hardware configuration example of a computer system in which the entire print processing apparatus is mounted.
FIG. 6 is a diagram illustrating a hardware configuration example of a drawing processing card.
FIG. 7 is a diagram illustrating a hardware configuration example of another computer system in which the entire print processing apparatus is mounted.
FIG. 8 is a diagram illustrating a hardware configuration example of a drawing processing board.
FIG. 9 is a diagram illustrating a structure of a display list (in the case of characters / graphics) generated by a display list generation unit.
FIG. 10 is a diagram illustrating a structure of a display list (in the case of a raster) generated by a display list generation unit.
FIG. 11 is a block diagram illustrating a configuration example of a display list development process prediction unit.
FIG. 12 is a block diagram illustrating a configuration example of a printer apparatus control unit.
FIG. 13 is an explanatory diagram showing a state of recording speed selection in a printer apparatus recording speed selection unit.
FIG. 14 is a diagram showing a flow from generation of edge coordinate points for bitmap development from contour information;
FIG. 15 is a diagram showing an example of a graphic element where edges intersect.
[Explanation of symbols]
1 Print data
2 Input means
3 List generation means
4 Coordinate point generator
5 Sorting means
6 Conversion means
7 Print output means
8 List expansion time prediction means
10 Print data spool section
11 Print data interpretation section
12 Display list generator
13 Band division
14 Raster data processing section
15 Raster data buffer
16 Display list buffer
17 Display wristband buffer
18 Display List Management Department
19 Coordinate point generator
20 sort part
21 Edge list buffer
22 Print image data converter
23 Raster data band buffer
24 Output buffer
25 Printer Device Control Unit
26 Printer device
27 Display list expansion process prediction unit
Claims (13)
所定の描画命令で記述された少なくとも文字または図形のいずれかの描画オブジェクトを有する印刷データを入力する入力手段と、
前記入力手段に入力された前記印刷データから前記描画オブジェクトの輪郭を構成するエッジの始点および終点の情報を有したリストを前記描画オブジェクトごとに生成するリスト生成手段と、
前記リスト生成手段で生成された前記リストの前記始点および終点の情報から前記描画オブジェクトの前記エッジを表す座標点を個々に生成する複数の座標点生成部を有する座標点生成装置と、
前記座標点生成装置で生成された前記座標点に順序を付けるソート手段と、
前記描画オブジェクトの印刷画像データを印刷出力する印刷出力手段と、
前記ソート手段で決定された順番の前記座標点を用いて前記印刷データを前記印刷出力手段で出力可能な印刷画像データに変換する変換手段と、
前記リスト生成手段で生成された前記リストから前記リストを前記変換手段まで展開する時間を予測するリスト展開時間予測手段と、
前記リスト展開時間予測手段で予測された展開予測時間に応じて前記印刷出力手段の出力速度を決定する印刷出力手段の制御手段と、
を備えていることを特徴とする印刷処理装置。In a print processing apparatus that converts a drawing command related to characters or figures into print image data and prints it out,
An input means for inputting print data having at least a drawing object of either a character or a figure described by a predetermined drawing command;
List generating means for generating, for each drawing object, a list having information on the start and end points of edges constituting the outline of the drawing object from the print data input to the input means;
A coordinate point generation device having a plurality of coordinate point generation units for individually generating coordinate points representing the edges of the drawing object from the start point and end point information of the list generated by the list generation unit;
Sorting means for ordering the coordinate points generated by the coordinate point generation device;
Print output means for printing out print image data of the drawing object;
Conversion means for converting the print data into print image data that can be output by the print output means using the coordinate points in the order determined by the sort means;
List expansion time prediction means for predicting the time to expand the list from the list generated by the list generation means to the conversion means;
Control means for the print output means for determining the output speed of the print output means according to the predicted expansion time predicted by the list expansion time prediction means;
A print processing apparatus comprising:
前記描画オブジェクトの輪郭を構成するエッジのエッジ情報を前記エッジごとに有したディスプレイリストを前記走査ラインごとに生成するディスプレイリスト生成手段と、
複数の座標点生成部を有し、前記ディスプレイリスト生成手段で生成された前記ディスプレイリストの前記エッジ情報を用いて前記描画オブジェクトの前記エッジを表す座標点を前記複数の座標点生成部の数ずつ順次生成する座標点生成装置と、
前記描画オブジェクトのすべてのエッジについて前記座標点生成が終了するまで前記ディスプレイリストの前記エッジ情報を前記座標点生成装置に繰り返し転送する管理手段と、
前記座標点生成装置で生成された前記座標点に順序を付けるソート手段と、
前記ソート手段で決定された順番の前記座標点を用いて前記印刷データを前記印刷出力手段で出力可能な印刷画像データに変換する変換手段と、
前記ディスプレイリスト生成手段で生成されたディスプレイリストから前記ディスプレイリストを前記変換手段で展開するまでの時間を予測するリスト展開時間予測手段と、
前記リスト展開時間予測手段で予測された展開予測時間に応じて前記印刷出力手段の出力速度を決定する印刷出力手段の制御手段と、
を備えていることを特徴とする印刷処理装置。In a print processing apparatus for outputting print image data generated from print data having at least a character or graphic drawing object described by a predetermined drawing command for each scanning line of a print output means having a variable output speed,
Display list generating means for generating, for each scanning line, a display list having edge information of edges constituting the outline of the drawing object for each edge;
A plurality of coordinate point generation units, and the coordinate points representing the edges of the drawing object by using the edge information of the display list generated by the display list generation unit by the number of the coordinate point generation units. A coordinate point generation device that sequentially generates;
Management means for repeatedly transferring the edge information of the display list to the coordinate point generation device until the generation of the coordinate points is completed for all edges of the drawing object;
Sorting means for ordering the coordinate points generated by the coordinate point generation device;
Conversion means for converting the print data into print image data that can be output by the print output means using the coordinate points in the order determined by the sort means;
List expansion time prediction means for predicting the time from the display list generated by the display list generation means until the display list is expanded by the conversion means;
Control means for the print output means for determining the output speed of the print output means according to the predicted expansion time predicted by the list expansion time prediction means;
A print processing apparatus comprising:
所定の描画命令で記述された少なくとも文字または図形のいずれかの描画オブジェクトを有する印刷データを入力し、
前記描画オブジェクトの輪郭を構成するエッジの始点および終点の情報を有したリストを前記描画オブジェクトごとに生成し、
前記リストの前記始点および終点の情報から前記描画オブジェクトの前記エッジを表す座標点を一度に複数生成し、前記座標点に順序を付け、順序付け工程で決定された順番の前記座標点情報を印刷出力手段で出力可能な印刷画像データに変換している間に、前記リストから、前記リストを前記印刷出力手段で出力可能な印刷画像データに変換するまでの時間を予測し、予測した時間に応じて前記印刷出力手段の出力速度を決定する、
ことを特徴とする印刷処理方法。In a print processing method for converting a drawing command related to characters or figures into print image data and printing it out,
Input print data having a drawing object of at least one of characters and figures described by a predetermined drawing command,
A list having information on the start point and end point of the edges constituting the outline of the drawing object is generated for each drawing object,
A plurality of coordinate points representing the edge of the drawing object are generated at a time from the start point and end point information of the list, the coordinate points are ordered, and the coordinate point information in the order determined in the ordering step is printed out. During the conversion into print image data that can be output by the means, the time from the list to the conversion of the list into print image data that can be output by the print output means is predicted, and according to the predicted time Determining an output speed of the print output means;
A print processing method characterized by the above.
前記描画オブジェクトの輪郭を構成するエッジのエッジ情報を前記エッジごとに有したディスプレイリストを前記走査ラインごとに生成し、
生成された前記ディスプレイリストの前記エッジ情報を用いて前記描画オブジェクトの前記エッジを表す座標点を一度に複数生成し、前記ディスプレイリストの全ディスプレイリストについて前記座標点生成が終了するまで、前記ディスプレイリストの前記エッジ情報を前記座標点生成装置に繰り返し転送し、前記座標点に順序を付け、順序付け工程で決定された順番の前記座標点情報を用いて前記印刷データを前記印刷出力手段で出力可能な印刷画像データに変換している間に、生成された前記ディスプレイリストから、前記ディスプレイリストを前記印刷出力手段で出力可能な印刷画像データに変換するまでの時間を予測し、予測した時間に応じて前記印刷出力手段の出力速度を決定する、
ことを特徴とする印刷処理方法。Print processing for outputting print image data generated from print data having at least a drawing object of either a character or a graphic described by a predetermined drawing command for each scanning line of a print output device that outputs the print image data In the method
A display list having edge information of edges constituting the outline of the drawing object for each edge is generated for each scanning line,
A plurality of coordinate points representing the edges of the drawing object are generated at a time using the edge information of the generated display list, and the display list is generated until the coordinate point generation is completed for all display lists of the display list. The edge information is repeatedly transferred to the coordinate point generator, the coordinate points are ordered, and the print data can be output by the print output means using the coordinate point information in the order determined in the ordering step. During the conversion to the print image data, the time from conversion of the generated display list to conversion of the display list into print image data that can be output by the print output unit is predicted, and according to the predicted time Determining an output speed of the print output means;
A print processing method characterized by the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03289998A JP3864535B2 (en) | 1998-02-16 | 1998-02-16 | Print processing apparatus and print processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03289998A JP3864535B2 (en) | 1998-02-16 | 1998-02-16 | Print processing apparatus and print processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11227266A JPH11227266A (en) | 1999-08-24 |
JP3864535B2 true JP3864535B2 (en) | 2007-01-10 |
Family
ID=12371755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03289998A Expired - Fee Related JP3864535B2 (en) | 1998-02-16 | 1998-02-16 | Print processing apparatus and print processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3864535B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5241651B2 (en) * | 2008-08-29 | 2013-07-17 | キヤノン株式会社 | Image forming apparatus |
JP5571977B2 (en) * | 2010-03-01 | 2014-08-13 | キヤノン株式会社 | Image processing device |
JP6503827B2 (en) * | 2015-03-26 | 2019-04-24 | 富士ゼロックス株式会社 | PRINT CONTROL DEVICE, PRINT DEVICE, AND PROGRAM |
-
1998
- 1998-02-16 JP JP03289998A patent/JP3864535B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11227266A (en) | 1999-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4885904B2 (en) | Image processing method, image processing program, and image processing apparatus | |
JP3864535B2 (en) | Print processing apparatus and print processing method | |
JPH1131052A (en) | Document processing system | |
EP0977143B1 (en) | Band rasterization of print data | |
JP3885282B2 (en) | Print data processing apparatus and print data processing method | |
JP3871011B2 (en) | Information processing apparatus and information processing method | |
JPH07168681A (en) | Pdl data processor and its control method, and pattern expanding device | |
JP2939059B2 (en) | Information processing apparatus, electronic device, and information processing method | |
JP4103164B2 (en) | Print processing device | |
JP3671633B2 (en) | Print data processing device | |
JP3640133B2 (en) | Print processing device | |
JP3864520B2 (en) | Print processing apparatus and print processing method | |
JPH10151815A (en) | Printing-processing apparatus | |
JPH10157217A (en) | Printing-processing apparatus | |
JP3700363B2 (en) | Print processing device | |
JPH10305639A (en) | Print processor and processing method | |
JP3651214B2 (en) | Print processing apparatus and print processing method | |
JPH10147019A (en) | Printing process device | |
JP3281327B2 (en) | Information processing apparatus and information processing method | |
JPH11198489A (en) | Printing processing apparatus | |
JPH10157216A (en) | Printing-processing apparatus | |
JP3612899B2 (en) | Print processing device | |
JPH11232473A (en) | Printing processor | |
JPH11157147A (en) | Apparatus and method for processing printing | |
JPH10307689A (en) | Printing processing device and method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051027 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060912 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060925 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101013 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111013 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121013 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |