JP3864535B2 - Print processing apparatus and print processing method - Google Patents

Print processing apparatus and print processing method Download PDF

Info

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
print
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
Application number
JP03289998A
Other languages
Japanese (ja)
Other versions
JPH11227266A (en
Inventor
聡 久保田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP03289998A priority Critical patent/JP3864535B2/en
Publication of JPH11227266A publication Critical patent/JPH11227266A/en
Application granted granted Critical
Publication of JP3864535B2 publication Critical patent/JP3864535B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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】

Figure 0003864535
【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 input unit 2 for inputting print data 1 described by a predetermined drawing command, and inputs to the input unit 2. List generating means 3 for generating a list having information about the start and end points of the edges constituting the outline of the drawing object from the printed data 1 for each drawing object, and the starting point of the list generated by the list generating means 3 and The coordinate point generating device 4 that sequentially generates coordinate points representing the edges of the drawing object from the end point information, the sorting means 5 that orders the coordinate points generated by the coordinate point generating device 4, and the sorting means 5 Using the coordinate points in the order, the conversion means 6 that expands the list into bitmaps to print image data, and the expanded bitmaps A recording variable speed print output means 7 for force, from the list generated by the list generating means 3, and a list expansion time predicting means 8 which predicts the expansion time of the list.
[0017]
The coordinate point generation device 4 includes a plurality of coordinate point generation units each generating one coordinate point, and is configured to generate the same number of coordinate points as the number of coordinate point generation units at a time.
A plurality of coordinate point generation units constituting the coordinate point generation device 4 are configured by hardware, and the sorting unit 5 is configured to perform ordering of the coordinate points by executing a predetermined program on the central processing unit. Yes.
[0018]
The list expansion time prediction unit 8 is configured to predict the coordinate point generation time in the coordinate point generation device 4 and the conversion time to print image data in the conversion unit 6.
[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 point generation device 4 and the conversion unit 6 are configured by hardware, the list expansion time prediction unit 8 calculates the list data expansion processing prediction time for each drawing object, so that the number of hardware processing steps is calculated. Can be performed easily and almost accurately.
[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 data spool unit 10, a print data interpretation unit 11, a display list generation unit 12, a band division unit 13, a raster data processing unit 14, a raster data buffer 15, and a display. List buffer 16, display list band buffer 17, display list management unit 18, coordinate point generation unit 19, sorting unit 20, edge list buffer 21, print image data conversion unit 22, and raster data band buffer 23 And an output buffer 24, a printer device control unit 25, a printer device 26, and a display list expansion process prediction unit 27. The outline and operation of each component of the print processing apparatus will be described below.
[0022]
In FIG. 2, print data 1 is described in a description language that can be processed by the print processing apparatus, and is document data created by an application program that processes document creation and editing in a personal computer or workstation (not shown). Is generated from The description language targeted in the present embodiment is, for example, GDI, but may be a page description language represented by PDF (Portable Document Format) represented by Acrobat or PostScript.
[0023]
The print data spool unit 10 has a communication function for inputting the print data 1 and a function for temporarily storing the print data until it is output to the print data interpretation unit 11.
[0024]
The print data interpretation unit 11 cuts out the print data input from the print data spool unit 10 as a token according to a predetermined description language syntax, interprets the token, and converts the token into an internal command or its argument. The internal commands include a drawing command for drawing characters / graphics / raster, and a drawing status command for setting information necessary for drawing such as color and line attributes. When the drawing command is a character or a graphic, the drawing command is transferred to the display list generation unit 12. On the other hand, when the rendering command is raster, the rendering command is transferred to the raster data processing unit 14 and information indicating the vertical and horizontal sizes of the target raster data is transferred to the display list generating unit 12.
[0025]
The display list generation unit 12 generates edge data that forms the outline of the object to be drawn in response to a character / graphic drawing command, and then generates header information for each object and the start point of the edge that forms the outline of the drawing object. A display list composed of edge information including inclination and the number of intersections between edges and scanning lines is generated. Further, based on the vertical and horizontal sizes of the raster data transferred from the print data interpretation unit 11, a display list indicating the outline of the raster data is generated.
[0026]
The band dividing unit 13 divides the display list for each drawing object generated by the display list generating unit 12 in units of bands when one page is divided by a predetermined number of bands. The number of band divisions is determined by the size of the output buffer 24 at the subsequent stage. The display list divided in band units is stored in the display list buffer 16. By executing the processing from the print data interpretation unit 11 to the band dividing unit 13 for all the drawing objects constituting the page, the display list divided in units of bands is stored in the display list buffer 16 for each page. Is done.
[0027]
The raster data processing unit 14 executes raster processing such as coordinate conversion and color correction on the target raster data in response to a raster drawing command, and the processed raster data is stored in the raster data buffer 15.
[0028]
The display list band buffer 17 includes two buffers, and display list data is alternately input from the display list buffer 16 in band units.
[0029]
The display list management unit 18 reads the display list from the display list band buffer 17, detects that the subsequent coordinate point generation unit 19 is in a standby state, and sends the display list to the coordinate point generation unit 19 based on the detection result. It controls the transfer of edge information. Further, the display list management unit 18 detects whether the type of the object to be processed is a character / graphic or a raster based on the header information. If the type is a raster, the display list management unit 18 instructs the print image data conversion unit 22 to display the raster of the object. Data is transferred from the raster data buffer 15 to the raster data band buffer 23.
[0030]
The coordinate point generator 19 outputs edge coordinate points for each scanning line to the edge list buffer 21 from the edge information including the start point, inclination of the edge, and the number of intersections between the edge and the scanning line. The coordinate point generation circuit is configured to output the same number of edge coordinate points as the number of coordinate point generation circuits at a time. The plurality of coordinate point generation circuits execute coordinate point generation for a plurality of edges for each scanning line. When the processing for all the edges being processed is completed, a plurality of pieces of edge information to be processed next are transferred from the display list management unit 18. Coordinate point generation by a plurality of coordinate point generation circuits is repeated until generation of coordinate points for all edges for one object is completed. When the object to be processed is a character / graphic, the color data of the object to be processed is stored in the edge list buffer 21 based on the header information.
[0031]
After the coordinate point generation unit 19 finishes generating the coordinate points of all edges for one object, the sorting unit 20 converts the edge coordinate point data for each scanning line stored in the edge list buffer 21 into a small coordinate value. In this configuration, rearrangement is performed so as to arrange them sequentially, and a predetermined program is executed by the central processing unit. For example, a quick sort program is used as the sort processing program.
[0032]
The print image data conversion unit 22 performs a filling process between pairs of edge coordinate points rearranged so as to be sequentially arranged from the edge list buffer 21 having the smallest coordinate value, and outputs the result to the output buffer 24. . When the object to be processed is a character / figure, the filling process is executed with the color data stored in the edge list buffer 21. When the object to be processed is raster data, raster data that fills the space between the pair of edge coordinate points is read from the raster data band buffer 23 and output to the output buffer 24. The edge list buffer 21 is also composed of two buffers, and the coordinate point generation process and sort process and the print image data conversion process can be executed in a pipeline.
[0033]
The output buffer 24 is composed of two buffers. While one of the buffers is being filled by the print image data conversion unit 22, the other buffer is connected to the printer device via the subsequent printer device control unit 25. The print image data is transferred to H.26.
[0034]
The printer device control unit 25 controls the start timing and recording speed of the printer device 26. More characteristically, based on the predicted expansion processing time for each band for each page from the display list to the print image data generated by the print image data conversion unit 22 input from the display list expansion processing prediction unit 27, the printer The recording speed of the printer device 26 is controlled so that the output of the device 26 does not exceed the predicted expansion processing time for each band. Further, transfer control and management for transferring print image data in the output buffer 24 to the printer device 26 in accordance with the output timing of the printer device 26 are executed.
[0035]
The printer device 26 receives print image data output from the output buffer 24 based on the control of the printer device control unit 25, prints it on a recording sheet, and outputs it. More specifically, the printer device 26 uses a laser scanning electrophotographic system that can output a full color image by repeating exposure, development, and transfer for each color of CMYBk (cyan, magenta, yellow, black). Color page printer.
[0036]
The display list development processing prediction unit 27 is generated by the coordinate point generation unit 19 and the print image data conversion unit 22 from the display list generated by the display list generation unit 12 and divided by the band division unit 13 in units of bands. The expansion processing prediction time for each band to the print image data is obtained. The predicted expansion processing time for each band is output to the printer device control unit 25.
[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 print data 1 including characters or graphics is input to the print data spool unit 10, a display list is generated via the print data interpretation unit 11, the display list generation unit 12, and the band division unit 13, and at least one page is generated. The display list divided into bands is stored in the display list buffer 16 (step S1). Next, the display list is input from the display list buffer 16 to the display list expansion process prediction unit 27 for each page in units of bands, and the expansion process prediction time for each band for one page is calculated (step S2). . Next, based on the predicted expansion processing time in band units for each page input from the display list expansion processing prediction unit 27, the printer device control unit 25 determines and controls the start timing and recording speed of the printer device 26. (Step S3). Details of the display list expansion process prediction unit 27 will be described later.
[0039]
In parallel with steps S2 and S3, the display list is sequentially expanded from the display list buffer 16 in units of bands by the coordinate point generator 19 and the print image data converter 22 (step S4). When the development processing of all objects in the band is completed, the print image data is output to the printer device 26 whose recording speed has been previously controlled by the printer device control unit 25 via the printer device control unit 25 (step). S5).
[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 display list buffer 16 is sequentially input to the display list band buffer 17 in band units (step S11). Next, in the display list management unit 18, the edge information of the display list of the first object is transferred to the coordinate point generation unit 19 as many as the number of coordinate point generation circuits of the coordinate point generation unit 19 (step S12). . The coordinate point generation unit 19 generates coordinate points (step S13), updates scanning lines (step S14), and checks the standby state of all coordinate point generation circuits (step S15). If all the coordinate point generation circuits are not in the standby state, step S13, step S14, and step S15 are repeated. If all the coordinate point generation circuits are in a standby state, the processing end check of all the edges of the object is performed (step S16). If the processing of all the edges of the object has not been completed, the next edge information is transferred to the coordinate point generation unit 19 as many as the number of coordinate point generation circuits of the coordinate point generation unit 19 in step S12, The processing after step S13 is repeated. If the processing of all the edges of the object has been completed, the sorting processing by the sorting unit 20 is executed (step S17), and then the conversion processing and conversion into print image data by the print image data conversion unit 22 are performed. The output of the printed image data to the output buffer is executed (step S18).
[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 point generation unit 19. The data is transferred to the generation unit 19, and the processing from step S13 is repeated. If the processing of all objects in the band has been completed, the display list expansion processing ends.
[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 host computer 30, a network 41 to which the host computer 30 is connected, a drawing processing card 38 attached to the host computer 30, a printer device 26, a drawing processing card 38, and the printer device 26. And a dedicated bus 42 for connecting the two. The network 41 is, for example, Ethernet, and the print data 1 is input from a personal computer, workstation, or the like (not shown) via the network 41. The host computer 30 includes a CPU (Central Processing Unit) 31, a memory controller 32, a DRAM (Dynamic Random Access Memory) 33, a system bus controller 34, a network interface 35, a magnetic disk 36, a card controller 37, The CPU bus 39 and the system bus 40 are general ones.
[0045]
The system bus 40 is, for example, a PCI (Peripheral Component Interconnect) bus, and the card controller 37 is a controller corresponding to a card bus (CardBus) capable of high-speed data transfer. The host computer 30 includes a print data spool unit 10, a print data interpretation unit 11, a display list generation unit 12, a band division unit 13, a raster data processing unit 14, a raster data buffer 15, a display list buffer 16, A function corresponding to the display list expansion process prediction unit 27 is implemented. For example, the magnetic disk 36 is a storage area for a predetermined program for each process of the print data interpretation unit 11, the display list generation unit 12, the band division unit 13, the raster data processing unit 14, and the display list development processing prediction unit 27. The print data spool area 10 is used as a print data storage area. The DRAM 33 is used as a work area, raster data buffer 15, and display list buffer 16 for each process of the print data interpretation unit 11, display list generation unit 12, band division unit 13, and raster data processing unit 14. Further, the CPU 31 executes predetermined programs for each process of the print data interpretation unit 11, the display list generation unit 12, the band division unit 13, the raster data processing unit 14, and the display list development processing prediction unit 27.
[0046]
FIG. 6 is a diagram illustrating a hardware configuration example of the drawing processing card. In FIG. 6, the drawing processing card 38 includes a second CPU 50 different from the CPU of the host computer 30, a card interface 51, a flash ROM (Read Only Memory) 52, a memory controller 53, a memory 54, and coordinate points. A generation LSI (large scale integrated circuit) 55, a print image data conversion LSI 56, an output buffer memory 57, a raster data band buffer memory 58, a printer control LSI 59, a video interface 60, and a card internal bus 61 are configured. ing. The drawing processing card 38 includes a display list band buffer 17, a display list management unit 18, a coordinate point generation unit 19, a sorting unit 20, an edge list buffer 21, a print image data conversion unit 22, a raster data band of the print processing apparatus. The functions of the buffer 23, the output buffer 24, and the printer device control unit 25 are implemented. For example, the flash ROM 52 stores a predetermined program for the sort processing of the sort unit 20 and also stores an operating system program. The memory 54 is composed of, for example, a DRAM, and is used as a work area for executing a program for sort processing, the display wristband buffer 17, and the edge list buffer 21. The coordinate point generation LSI 55 has the functions of the display list management unit 18 and the coordinate point generation unit 19, the print image data conversion LSI 56 has the function of the print image data conversion unit 22, and the printer control LSI 59 and the video interface 60 have the printer device control unit. Each of the 25 functions is implemented. Further, the second CPU 50 executes a predetermined program for the sorting process of the sorting unit 20, controls display list input to the display wristband buffer 17, and clears the memory of the output buffer memory 57 and the raster data band buffer memory 58. Perform control and so on. The output buffer memory 57 and the raster data band buffer memory 58 are constituted by DRAMs, for example.
[0047]
By integrally configuring the processing after the display list management unit 18 on the circuit board of an independent drawing processing card, the card internal bus 61 can be provided independently of the system bus 40 of the host computer 30. Thus, it is possible to reduce a decrease in data transfer speed due to bus contention. Furthermore, by providing a bus faster than the system bus 40 of the host computer 30, the data transfer can be speeded up. In the configuration of FIG. 6, the output buffer memory 57 and the raster data band buffer memory 58 are directly connected to the print image data conversion LSI 56 without going through the card internal bus 61. By adopting such a configuration, the bottleneck of data transfer is eliminated, and higher-speed data transfer becomes possible. Further, since the main processing of the second CPU 50 is limited to the sort processing, it is possible to use a CPU having a lower performance than the CPU 31 of the host computer 30, and the card formation as shown in FIG. Is possible.
[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 drawing processing card 38 that implements the processing after the display list management unit 18 is directly connected to the host computer 30, whereas the configuration shown in FIG. In this case, a drawing processing board 45 that implements processing after the display list management unit 18 is directly connected to the printer device 26 via the serial bus 44. For this reason, the host computer 30 is provided with a serial bus interface 43. The drawing processing board 45 is also integrally mounted on an independent circuit board with processing functions subsequent to the display list management unit 18, and is detachable from the processing functions up to the display wristband buffer 17.
[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 drawing processing board 45 shown in FIG. 8 is different from FIG. 6 in that a serial bus interface 62 is provided, but other components and functions are the same as those in FIG. The serial bus 44 is, for example, an IEEE (American Institute of Electrical and Electronics Engineers) 1394 high-performance serial bus. By providing this IEEE 1394 high-performance serial bus, the arrangement configuration of the printer device 26 and the host computer 30 can be freely set without degrading the processing performance.
[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 list generation unit 12 of the print processing apparatus of the present invention will be described in detail. The display list generation unit 12 generates a display list having a header part and a list part for each drawing object. The structure of the display list generated by the display list generation unit 12 will be described below for the case where the object is a character / graphic and the case where the object is a raster.
[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 list generation unit 12 has a different header portion for characters / graphics and rasters. The structure of the display list in these two cases will be described below.
[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 raster data buffer 15 in which the raster data is stored, the number of linked cells that is the total number of cells linked to each y list, and the next drawing object It consists of a pointer to the display list. Since the list part is the same as the case of the character / graphic described above, the description is omitted.
[0055]
Note that the display list generated by the display list generation unit 12 is generated in consideration of how the vector data are connected to each other, the painting method in the drawing state command, and the like.
[0056]
Next, details of the display list expansion process prediction unit 27 in this print processing apparatus will be described.
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 process prediction unit 27 includes a cell data counting unit 270, a coordinate point generation time calculation unit 271, a print image data conversion time calculation unit 272, a coefficient table 273, and a expansion time calculation unit 274. It is composed of
[0057]
The cell data counting unit 270 reads the total number of connected cells in the header portion of the display list for each drawing object stored in the display list buffer 16 in the band unit for each page from all the drawing objects, and outputs one page. The number of cells is counted by band.
[0058]
The coordinate point generation time calculation unit 271 calculates each drawing object generated by the coordinate point generation LSI 55 that implements the coordinate point generation unit 19 from the number of cells for one page that is tabulated in band units by the cell data counting unit 270. The predicted generation time Te for one page of coordinate points for the scanning line is calculated for each band using the following formula.
[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 data counting unit 270, te is the estimated coordinate point generation time per cell data, and m is the coordinate point generation circuit in the coordinate point generation LSI 55. Is a number.
[0060]
The print image data conversion time calculation unit 272 converts the print image data converted by the print image data conversion LSI 56 that implements the print image data conversion unit 22 from the number of cells counted by the cell data counting unit 270 for each band. The predicted conversion time Tb for one page of data is calculated for each band using the following formula.
[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 time calculation unit 271 and the print image data conversion time calculation unit 272, respectively. As shown in Table 1 below, the fixed values stored in the coefficient table 273 are obtained by the coordinate point generation LSI 55 and the print image data conversion LSI 56 in each processing step necessary for coordinate point generation processing and print image data conversion processing. This is a value obtained by converting time into a value per cell data. That is, the coefficient table 273 includes the header processing time thead, the y list processing time tlist, the cell reading time tcell, the starting point writing time tstart, the next coordinate point calculation time tnext, the coordinate point as estimated coefficients in the coordinate point generation processing. Writing Is stored, and header processing time thead, edge list reading time tedge, output buffer writing time tbuf, and address calculation time tadr are stored as estimated coefficients in the print image data conversion process. The estimated times te and tb are obtained by simply adding the respective estimated coefficients. Further, the estimation coefficient shown in Table 1 is a value depending on hardware such as the coordinate point generation LSI 55 mounting the coordinate point generation unit 19 and the print image data conversion LSI 56 mounting the print image data conversion unit 22. If the hardware is changed, the estimation coefficient can be easily changed.
[0063]
[Table 1]
Figure 0003864535
[0064]
The expansion time calculation unit 274 calculates the expansion processing prediction time T by simply adding the respective prediction times Te and Tb calculated by the coordinate point generation time calculation unit 271 and the print image data conversion time calculation unit 272. The obtained predicted expansion processing time T is output to the printer control unit 25.
[0065]
Next, the printer apparatus control unit 25 will be described in detail.
FIG. 12 is a block diagram illustrating a configuration example of the printer apparatus control unit. The printer device control unit 25 includes a printer device state management unit 250, a printer device recording speed selection unit 251, a printer device process control unit 252, and printing. image The data transfer control unit 253 is configured.
[0066]
The printer device state management unit 250 manages the state of the printer device 26 in response to the occurrence of an event accompanying a change in the state of the printer device 26 and the state request in the printer device recording speed selection unit 251. Examples of the occurrence of an event that accompanies a change in the state of the printer device 26 include printing failure due to a printer device failure and out of paper. As soon as the display list expansion process prediction time is input from the display list expansion process prediction unit 27, the printer apparatus recording speed selection unit 251 inquires of the printer apparatus state management unit 250 that printing is not possible due to a printer apparatus failure, out of paper, and the like. . The printer apparatus state management unit 250 notifies the printer apparatus recording speed selection unit 251 of information such as printing failure and out of paper. If printing by the printer device 26 is possible, the printer device recording speed selection unit 251 determines the recording speed of the printer device 26 based on the display list development processing prediction time input from the display list development processing prediction unit 27.
[0067]
The printer device recording speed selection unit 251 calculates the coordinate point generation unit 19 and the print from the display list generated by the display list generation unit 12, totaled for each page band input from the display list development process prediction unit 27. Based on the development processing time for the print image data converted by the image data conversion unit 22, the development processing for the print image data for each band from the recording speed selectable by the printer device 26 is in time, and the print image data The recording speed at which no omission occurs is selected.
[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 speed selection unit 251 is notified to the printer device process control unit 252.
[0069]
The printer device process control unit 252 controls the process of the printer device 26 based on the recording speed selected by the printer device recording speed selection unit 251. Further, the process control of the printer device process control unit 252 includes control of the start timing of the printer device 26. Control of the startup timing of the printer device 26 is as follows. Printer device This is performed based on the notification of the selected recording speed from the recording speed selection unit 251, but may be performed in response to the input of the print data 1 to the print data spool unit 10. In particular, it is desirable that a fixing device that takes time to cycle up, a polygon mirror motor of a semiconductor laser scanning device, and the like be started at an early stage.
[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 printer device 26 that must be controlled in accordance with the variable recording speed of the printer device 26 is the photosensitive drum rotation speed, The rotation speed of the transfer drum, the rotation speed of the fixing device roll, the rotation speed of the recording paper conveyance roller, the rotation speed of the polygon mirror of the semiconductor laser scanning device, the rotation speed of the developing roller of the developing device, the transfer current, and the rotation speed of the cleaner brush. Among these, the photosensitive drum rotation speed, the transfer drum rotation speed, the fixing device roll rotation speed, the recording paper transport roller rotation speed, the rotation speed of the polygon mirror of the semiconductor laser scanning device, the development roll rotation speed of the developing device, and the cleaner brush rotation speed. Is a target that should be controlled in proportion to the recording speed. The transfer current may be controlled by setting the constant current source in proportion to the recording speed. In general, a brushless servomotor is used to drive the polygon mirror of the semiconductor laser scanning device, and PLL (Phase Locked Loop) control is used to stabilize the rotation speed. Accordingly, the rotation speed of the polygon mirror can be changed by dividing the reference frequency of the PLL control.
[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 data spool section 10 as described above. It is possible to start at an early stage that starts in response to the input of data 1.
[0072]
The print image data transfer control unit 253 reads the print image data from the output buffer 24, serializes the read word data for each read word, and outputs the converted data to the printer device 26 in synchronization with the serial output clock signal.
[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:
前記リスト展開時間予測手段は、前記座標点生成装置における前記座標点の生成時間を予測することを特徴とする請求項1記載の印刷処理装置。The print processing apparatus according to claim 1, wherein the list expansion time prediction unit predicts a generation time of the coordinate point in the coordinate point generation apparatus. 前記リスト展開時間予測手段は、前記変換手段における印刷画像データへの変換時間を予測することを特徴とする請求項1記載の印刷処理装置。The print processing apparatus according to claim 1, wherein the list expansion time prediction unit predicts a conversion time to print image data in the conversion unit. 所定の描画命令で記述された少なくとも文字または図形のいずれかの描画オブジェクトを有する印刷データから生成される印刷画像データを出力速度が可変の印刷出力手段の走査ラインごとに出力する印刷処理装置において、
前記描画オブジェクトの輪郭を構成するエッジのエッジ情報を前記エッジごとに有したディスプレイリストを前記走査ラインごとに生成するディスプレイリスト生成手段と、
複数の座標点生成部を有し、前記ディスプレイリスト生成手段で生成された前記ディスプレイリストの前記エッジ情報を用いて前記描画オブジェクトの前記エッジを表す座標点を前記複数の座標点生成部の数ずつ順次生成する座標点生成装置と、
前記描画オブジェクトのすべてのエッジについて前記座標点生成が終了するまで前記ディスプレイリストの前記エッジ情報を前記座標点生成装置に繰り返し転送する管理手段と、
前記座標点生成装置で生成された前記座標点に順序を付けるソート手段と、
前記ソート手段で決定された順番の前記座標点を用いて前記印刷データを前記印刷出力手段で出力可能な印刷画像データに変換する変換手段と、
前記ディスプレイリスト生成手段で生成されたディスプレイリストから前記ディスプレイリストを前記変換手段で展開するまでの時間を予測するリスト展開時間予測手段と、
前記リスト展開時間予測手段で予測された展開予測時間に応じて前記印刷出力手段の出力速度を決定する印刷出力手段の制御手段と、
を備えていることを特徴とする印刷処理装置。
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:
前記ディスプレイリストは、描画オブジェクトごとに少なくともヘッダ情報と前記オブジェクトの前記エッジ情報とを含むことを特徴とする請求項4記載の印刷処理装置。The print processing apparatus according to claim 4, wherein the display list includes at least header information and the edge information of the object for each drawing object. 前記ヘッダ情報は、少なくとも前記描画オブジェクトのエッジ数と次の描画オブジェクトへのポインタとを含むことを特徴とする請求項5記載の印刷処理装置。6. The print processing apparatus according to claim 5, wherein the header information includes at least the number of edges of the drawing object and a pointer to the next drawing object. 前記リスト展開時間予測手段は、前記座標点生成装置における前記座標点の生成時間を予測する座標点生成時間予測手段と、前記変換手段における変換時間を予測する変換時間予測手段とを備えていることを特徴とする請求項4記載の印刷処理装置。The list expansion time prediction means includes coordinate point generation time prediction means for predicting the generation time of the coordinate point in the coordinate point generation apparatus, and conversion time prediction means for predicting the conversion time in the conversion means. The print processing apparatus according to claim 4. 前記リスト展開時間予測手段は、前記座標点生成時間予測手段の予測時間と、前記変換時間予測手段の予測時間とを単純加算してリスト展開時間の予測値とすることを特徴とする請求項7記載の印刷処理装置。8. The list expansion time prediction means simply adds the prediction time of the coordinate point generation time prediction means and the prediction time of the conversion time prediction means to obtain a predicted value of list expansion time. The printing processing apparatus as described. 前記座標点生成時間予測手段は、前記座標点生成装置において前記座標点を生成するための処理に要する時間を単純加算することを特徴とする請求項7記載の印刷処理装置。The print processing apparatus according to claim 7, wherein the coordinate point generation time predicting unit simply adds a time required for processing for generating the coordinate point in the coordinate point generation apparatus. 前記変換時間予測手段は、前記変換手段において前記印刷出力手段で出力可能な印刷画像データに変換するための処理に要する時間を単純加算することを特徴とする請求項7記載の印刷処理装置。8. The print processing apparatus according to claim 7, wherein the conversion time predicting unit simply adds a time required for processing for converting into print image data that can be output by the print output unit in the conversion unit. 前記リスト展開時間予測手段は、前記座標点生成装置において前記座標点を生成するための処理に要する時間および前記変換手段において前記印刷出力手段で出力可能な印刷画像データに変換するための処理に要する時間を係数としてあらかじめ格納する係数格納手段を備えていることを特徴とする請求項4記載の印刷処理装置。The list expansion time predicting means is required for processing for generating the coordinate points in the coordinate point generating apparatus and processing for converting the print means into print image data that can be output by the print output means in the converting means. 5. The print processing apparatus according to claim 4, further comprising coefficient storage means for previously storing time as a coefficient. 文字または図形に関する描画命令を印刷画像データに変換して印刷出力する印刷処理方法において、
所定の描画命令で記述された少なくとも文字または図形のいずれかの描画オブジェクトを有する印刷データを入力し、
前記描画オブジェクトの輪郭を構成するエッジの始点および終点の情報を有したリストを前記描画オブジェクトごとに生成し、
前記リストの前記始点および終点の情報から前記描画オブジェクトの前記エッジを表す座標点を一度に複数生成し、前記座標点に順序を付け、順序付け工程で決定された順番の前記座標点情報を印刷出力手段で出力可能な印刷画像データに変換している間に、前記リストから、前記リストを前記印刷出力手段で出力可能な印刷画像データに変換するまでの時間を予測し、予測した時間に応じて前記印刷出力手段の出力速度を決定する、
ことを特徴とする印刷処理方法。
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.
JP03289998A 1998-02-16 1998-02-16 Print processing apparatus and print processing method Expired - Fee Related JP3864535B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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