JPH1049315A - 描画処理装置 - Google Patents
描画処理装置Info
- Publication number
- JPH1049315A JPH1049315A JP8204430A JP20443096A JPH1049315A JP H1049315 A JPH1049315 A JP H1049315A JP 8204430 A JP8204430 A JP 8204430A JP 20443096 A JP20443096 A JP 20443096A JP H1049315 A JPH1049315 A JP H1049315A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- code
- output data
- area
- data storage
- 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.)
- Granted
Links
Landscapes
- Editing Of Facsimile Originals (AREA)
- Record Information Processing For Printing (AREA)
Abstract
う描画処理装置を提供することを目的とする。 【解決手段】 描画オブジェクト格納手段1は、PDL
から変換されたイメージデータである描画オブジェクト
を描画領域の少なくとも一方向から順番に取り出せるよ
うに格納する。描画オブジェクト展開手段2は、描画オ
ブジェクトを内部表現規約である描画コードに展開す
る。描画コード格納手段4は、描画コードを描画領域の
少なくとも一方向から順番に取り出せるように格納す
る。描画処理手段20a〜20nは、描画コードの並列
処理を行う。進行管理手段3は、描画処理手段20a〜
20nの進行状況を管理して、描画コードの展開範囲の
指示及び制御を行う。
Description
し、特にページ記述言語を入力として描画処理を行う描
画処理装置に関する。
場合には、Interpress(米国ゼロクッス社の
登録商標)やPostScript(米国アドビ・シス
テムズ社の商標)などのPDL(ページ記述言語)を入
力としてページプリンタに印刷イメージを指示してい
る。
する際には、PDL形式のデータからラスタ出力デバイ
スに適した形式のデータに変換するイメージング処理を
行う必要がある。ところが、一般にイメージング処理に
かかる時間は非常に長く、このことは特に高速のページ
プリンタに出力するシステムなどで問題となっている。
枚以上の出力能力があるものが発表されているにもかか
わらず、イメージング処理にかかる時間は、10数秒か
ら数分かかるものがある。このため高価な高速プリンタ
の能力を十分に生かせなかった。したがって、イメージ
ング処理を高速に行うために、並列処理を行う必要があ
る。
は、描画領域を走査線単位にまで分割し、インタリーブ
して複数の描画処理装置に割り当てておき、分割された
描画領域を複数の描画処理装置に送って処理を行ってい
る。
は、描画要素を副走査方向のバンド領域ごとに分割して
保持し、そのバンド領域ごとに並列処理を行っている。
た前者の従来技術では、描画要素の入力毎に順に分割し
て分配するため、最後に出現する描画要素が描画領域上
のどこに影響を与えるかわからず、描画の最初から最後
まで描画領域全体に対応するバッファを用意しておく必
要があり、装置規模が大きくなるという問題があった。
きいと並列度があげられない上、描画領域上の負荷の偏
りの影響を受けてしまい、負荷の重いバンド領域に対し
ての処理がボトルネックとなってしまうという問題があ
った。
ンド領域毎に分割する処理量が大きくなり、大きなオー
バヘッドになる上、分割後のデータ量が非常に大きくな
りメモリ量が増大するという問題があった。
のであり、メモリ量を削減し、高速な並列描画処理を行
う描画処理装置を提供することを目的とする。
決するために、ページ記述言語を入力として描画処理を
行う描画処理装置において、前記ページ記述言語から変
換されたイメージデータである描画オブジェクトを描画
領域の少なくとも一方向から順番にとりだせるように格
納する描画オブジェクト格納手段と、前記描画オブジェ
クトを前記描画オブジェクト格納手段から読み出して、
内部表現規約である描画コードに展開する描画オブジェ
クト展開手段と、前記描画コードを描画領域の少なくと
も一方向から順番にとりだせるように格納する描画コー
ド格納手段と、前記描画コードの並列描画処理を行う複
数の描画処理手段と、前記描画処理手段の進行状況を管
理して、前記描画コードの展開範囲の指示及び制御を行
う進行管理手段と、を有することを特徴とする描画処理
装置が提供される。
メージデータを描画オブジェクトとして格納する。描画
オブジェクト展開手段は、この描画オブジェクトを描画
コードに展開し、描画コードは描画コード格納手段に格
納される。描画処理手段は、分割された複数の描画コー
ドに並列描画処理を行う。進行管理手段は、描画処理手
段の進行状況を管理して、描画コードの展開範囲の指示
及び制御を行う。
にもとづいて説明する。なお、本発明は、クライアント
となるコンピュータからネットワークあるいは専用通信
路などを通じて、描画データの送信を受けとり、これを
プリンタ等の出力機用のデータに変換する装置内にある
ものとする。さらに、本発明は複数の演算機能を持つ処
理装置や共有メモリ装置あるいは通信路を介して結合さ
れたシステム上に構築される。
ある。まず、図示しない入力手段によりページ記述言語
6(PDL)などの描画入力フォーマットが、描画オブ
ジェクト格納手段1で描画オブジェクトの列に変換され
て格納される。この際に描画オブジェクト格納手段1
は、描画領域の少なくとも一方向から順番にとりだせる
ように、描画オブジェクトを整理して格納する。
進行管理手段3からの指示にしたがって、指示された描
画領域から始まる描画オブジェクトを描画オブジェクト
格納手段1から読み込み、内部表現規約である描画コー
ドに展開する。そして、描画コード格納手段4は、少な
くとも一方向から順番にとりだせるように、描画コード
を格納する。
行管理手段3からの制御を受けながら、描画コード格納
手段4内の描画コードを順に読み込み、割り当てられた
特定の描画領域に対して描画処理を行う。
長い描画領域になるように行う。これは、走査線ごとの
分割でも良いし、連続する数本から数十本あるいは数百
本分の描画領域ごとに分割してもよい。ただし、分割し
た描画領域の割り当ては、飛び飛びの描画領域が同一の
描画処理手段に割り当てられるようにする。描画処理の
結果は、それぞれ、出力データ格納手段5に転送され
る。
0a〜20nの処理結果を、副走査線方向に順番に出力
装置に転送するためのものである。並列に動作する描画
処理手段20a〜20nの結果は必ずしも、副走査線方
向に順に得られるとは限らないため、出力手段(図示せ
ず)に送信する前に、出力手段が要求する順に並び替え
るためのものである。
20nの出力をそのまま受け取ることができる場合に
は、各描画処理手段が、そのまま出力手段にデータを転
送すればよいので、この場合は出力データ格納手段5を
特に設ける必要はない。
20nの処理の進行を監視する、あるいは、各手段から
処理の進行の報告を受けることにより描画処理等の処理
の進行状況をとらえる。(図では接続関係を破線で示し
ている。)また、この情報を利用して描画オブジェクト
展開手段2や出力データ格納手段5に動作の指示を行
う。
るシステムの概念図である。ネットワーク100に接続
されたネットワークインタフェース200を介して、描
画処理装置10が接続される。そして、描画処理装置1
0からの処理結果を出力する出力装置300が描画処理
装置10に接続される。
イアント・コンピュータから、専用線等のネットワーク
100を介して描画出力用のデータが送られる。この描
画出力用のデータはネットワークインタフェース200
を介して、描画処理装置10に受信され処理される。そ
して、処理の終ったデータは出力装置300に転送され
て、紙やフィルムあるいは高解像度の媒体上にイメージ
が再現される。
を示すフローチャートである。描画処理が開始される
と、システムの初期化が行われる(ステップS1)。そ
して、入力データが読み込まれた後、解釈されて描画オ
ブジェクトが生成され、描画オブジェクト格納手段1に
格納される(ステップS2)。
ジェクトが蓄積されると、進行管理手段3に対して処理
の開始が指示され、この進行管理手段3の制御の下に描
画処理が並列に行われる(ステップS3)。進行管理手
段3が描画処理の終了を検知すると、進行管理手段3は
出力データ格納手段5に対して、まだ格納している出力
データを出力するように命令し、処理が終る(ステップ
S4)。
く説明する。図4は、描画オブジェクト格納手段1の構
成を示す図である。描画オブジェクト格納手段1は、描
画オブジェクト格納領域1aと、描画オブジェクト整列
機構1bと、から構成される。
ジ分などの、まとまった量の描画オブジェクトを格納す
るための記憶領域であり、半導体メモリやディスク装置
などのような通常の記憶装置や公知の記憶装置管理装置
などにより容易に構成することができる。
オブジェクトを少なくとも描画領域の一方向の順に取り
出すための整列機構であり、描画オブジェクト格納領域
1a内の各描画オブジェクトへの参照ポインタなどを描
画領域上の位置情報と関係づけて管理する。
描画オブジェクト格納領域1aに格納した描画オブジェ
クトを並び替える公知の並び替え機構でもよいし、描画
オブジェクトの格納時に特別な構造に描画オブジェクト
のデータを組み上げるデータ構造でもよい。ここでは、
説明の簡単のため副走査線方向の位置に対応して、描画
データを登録することができる保持機構を備えたテーブ
ル形式のデータ構造を用いたものとする。
理の流れを示すフローチャートである。描画オブジェク
ト格納手段1は、描画オブジェクト格納領域1aと描画
オブジェクト整列機構1bとの初期化を行う(ステップ
S10)。ここで描画オブジェクトの入力が終わりかど
うかを調べる(ステップS11)。入力が終われば終了
し、入力が続いている場合は、描画オブジェクトを読み
込む(ステップS12)。そして、格納する領域を描画
オブジェクト格納領域1aから確保して(ステップS1
3)、格納する(ステップS14)と共に、描画オブジ
ェクト整列機構1bに登録する(ステップS15)。こ
のような処理が1ページを構成する描画オブジェクトが
なくなるまで、あるいは、予め定められた量の描画オブ
ジェクトを処理するまで繰り返される。
て詳しく説明する。図6は、描画オブジェクト展開手段
2の処理の流れを示すフローチャートである。描画オブ
ジェクト展開手段2は、処理の開始時に内部の記憶手段
の初期化を行い(ステップS20)、その後、進行管理
手段3からの処理開始命令を待つ(ステップS21)。
ここで、進行管理手段3から終了が伝えられたかどうか
が判断される(ステップS22)。終了が伝えられた場
合は終了し、そうでなければ展開処理の開始が、進行管
理手段3から展開処理の範囲情報と共に伝えられ、展開
処理の範囲情報を格納する(ステップS23)。
処理位置を設定し(ステップS24)、処理範囲内かど
うかが判断される(ステップS25)。処理範囲外であ
ればステップS21に戻り、そうでなければ描画オブジ
ェクトがあるかどうかが判断される(ステップS2
6)。描画オブジェクトがない場合は、さらに処理位置
を進め(ステップS30)、そうでなければ描画オブジ
ェクト格納手段1に格納されている描画オブジェクトを
読みだす(ステップS27)。そして、展開して描画コ
ードを生成し(ステップS28)、描画コード格納手段
4に格納する(ステップS29)。ここで処理位置を進
める(ステップS30)際には、展開処理の済んだ位置
を進行管理手段3に通知する。
く説明する。図7は、描画コード格納手段4の構成を示
す図である。描画コード格納手段4は、描画コード登録
機構4aと、描画コード格納領域4bと、描画コード削
除用登録機構4cと、から構成される。
少なくとも描画領域の一方向にそって順に取り出すため
に整理しておく。描画コード格納領域4bは、描画コー
ドを格納するための記憶領域である。描画コード削除用
登録機構4cは、少なくとも描画領域の一方向にそって
順に走査して、使わなくなった描画コードを削除してい
く。
れを示すフローチャートである。ここで、描画コード格
納手段4は、格納領域を描画処理手段20a〜20nか
ら共通にアクセスできる共有メモリ装置に実現すれば、
描画処理手段20a〜20nへの描画コードの送出処理
については特に考慮する必要がなくなる。したがって、
描画コードが登録される時の処理と、描画コードの削除
が命令されるときの処理とについてのみ説明する。
走査線方向をX軸にとった座標系を設定し、処理はY座
標が小さい方から大きい方へ進むものとする。(図示し
たときには、Y軸は上から下を向いている。) まず、処理が開始されると、描画コード格納領域4b
と、描画コード登録機構4aと、描画コード削除用登録
機構4cとの初期化を行う(ステップS40)。初期化
が終ると、他の処理装置からの通信待ちとなる(ステッ
プS41)。ここで、進行管理手段3から終了が伝えら
れたかどうかが判断される(ステップS42)。終了が
伝えられた場合は終了し、そうでなければ必要な描画コ
ードが入力されたかどうかが判断される(ステップS4
3)。
手段2から入力されると、描画コード格納領域4b内に
必要な領域が確保されて(ステップS44)、格納され
る(ステップS45)。これと共に、描画コード登録機
構4aと描画コード削除用登録機構4cに対する登録が
行われる(ステップS46)。この登録は、例えば、描
画コード登録機構4aと描画コード削除用登録機構4c
とがY方向の単位量毎に(走査線毎に)値を格納するこ
とができるテーブルから構成されている場合を例として
説明すると、各描画コードのY座標の最小の値をキーと
して描画コード登録機構4aにその描画コードを登録す
る。そして、各描画コードのY座標の最大の値をキーと
して描画コード削除用登録機構4cにその描画コードを
登録することによって、期待する描画コード登録機構4
aと描画コード削除用登録機構4cとを実現することが
できる。
ド登録機構4aのテーブルをY座標の小さい方から大き
い方へたどることにより、容易に、描画コードをY座標
の小さい方から取り出すことができる。また、描画コー
ド削除用登録機構4cのテーブルをY座標の小さい方か
ら順にたどることにより、描画処理に必要でない描画コ
ードを順に特定することができる。
コードの削除命令に対する処理を説明する。入力が描画
コードの削除命令であるかどうかを判断する(ステップ
S47)。削除命令でない場合はステップS41へ戻
り、そうでなければ削除命令と共に指定された描画領域
を保管し(ステップS48)、処理位置の設定(ステッ
プS49)が行われ、指定範囲内かどうかが判断される
(ステップS50)。指定範囲内でなければステップS
41へ戻り、指定範囲内であればこの領域に関して描画
コード削除用登録機構4cに登録されているデータを処
理する。より具体的には、入力された描画領域をキーと
して描画コード削除用登録機構4cから描画コードを得
る。そして、得られた描画コードを削除し、それらの描
画コードが占めていたメモリ領域を解放する(ステップ
S51)。そして処理位置を進め(ステップS52)、
ステップS50に戻る。この解放されたメモリ領域は、
あらたに描画コードを生成する際などに再利用されるこ
とになる。
く説明する。出力データ格納手段5は、並列動作する描
画処理手段20a〜20nの処理結果を一旦蓄積するこ
とによってまとめて、従来のシーケンシャルな処理を前
提としたインタフェースを提供するためのものである。
また、この出力データ格納手段5に関する処理が簡単に
なるのは、1ページ分以上の描画領域に対応するバッフ
ァ領域を確保して処理する場合であるが、必要となるメ
モリ量が大きくなってしまうため、ここでは、1ページ
分よりも小さい描画領域分のバッファを用いて、並列に
描画データを出力する方法について説明する。
ある。ここでは、システムが共有メモリをそなえた並列
計算機上に構築された場合について説明する。出力デー
タ格納手段5は、格納している出力データの描画領域上
でのY座標の範囲を示す出力データ格納範囲保持手段5
aと、実際の出力データを格納しておくための記憶領域
である出力データ保持領域5bと、格納した出力データ
をY座標の順に取り出せるように整列させる出力データ
整列手段5cと、から構成される。
ば、Y座標の2つの値を保持する記憶装置によって実現
することができる。出力データ保持領域5bは通常の記
憶装置と簡単なメモリ管理機構を組み合わせることによ
り容易に実現することが可能である。出力データ整列手
段5cは、出力データを蓄積しておいて後で整列させる
機構を用意したり、蓄積時にツリー構造のようなデータ
構造を利用して蓄積したりすることができる。
とに記憶領域をもったテーブル構造を用いて、出力デー
タをそのテーブル上に副走査方向の位置をキーとした場
所に登録する構成を例として説明する。
流れを示すフローチャートである。出力データ格納手段
5は初期化時に、出力データ格納範囲保持手段5aと、
出力データ保持領域5bと、出力データ整列手段5c
と、の初期化を行う(ステップS60)。その後、複数
の処理手段からのデータの入力待ちとなる(ステップS
61)。ここで、進行管理手段3から終了が伝えられた
かどうかが判断される(ステップS62)。終了が伝え
られた場合は内部に保持している出力データを出力し
(ステップS63)、終了する。そうでなければ出力デ
ータの格納範囲の初期範囲が設定される。これは、例え
ばY座標が0から255までという副走査方向の描画領
域上の位置を示す数値により設定することができる。
の出力データ格納範囲保持手段5aへの問い合わせがあ
ったかどうかを判断する(ステップS64)。問い合わ
せがあった場合には、出力データの格納範囲を返信し
(ステップS65)、その後ステップS61に戻る。問
い合わせがない場合には、出力データの登録かどうかを
判断する(ステップS66)。出力データの登録であっ
た場合には、領域を確保して(ステップS67)、値を
格納し(ステップS68)、整列機構に登録する(ステ
ップS69)。出力データの登録でない場合には、進行
管理手段3から、出力命令であったかどうかを判断する
(ステップS70)。出力命令でない場合は、ステップ
S61へ戻る。出力命令であった場合は、出力命令が指
定する範囲の出力データを保管し(ステップS71)、
出力データ整列手段5cを参照してから出力手段へ出力
する(ステップS72)。
に格納されている出力データ格納範囲を開放(ステップ
S73)、更新し(ステップS74)、ステップS61
に戻る。例えば、出力データ格納範囲保持手段5aに格
納されている範囲が0から255であった場合に、0〜
5の出力命令が与えられた場合には、出力データ整列手
段5cを参照して、0〜5の位置にある出力データを順
に出力すると共に出力データ格納範囲保持手段5aを更
新する。この結果、出力データ格納範囲保持手段5aに
格納されている数値は6〜231となる。
て詳しく説明する。いずれも構成は同じなので描画処理
手段20として説明する。図11は、描画処理手段20
の構成を示す図である。描画処理手段20は、担当描画
領域情報を保持する担当描画領域保持手段21と、描画
コードを読みだす描画コード読み込み手段22と、描画
コードを保持する描画コード保持手段23と、担当描画
領域の描出処理を行う担当描画領域描出手段24と、処
理過程を進行管理手段3に報告する処理過程報告手段2
5と、処理位置を保持する処理位置保持手段26と、か
ら構成される。
画領域の内、それぞれの描画処理手段が担当する描画領
域に関する情報を保持する。描画コード読み込み手段2
2は、描画コード格納手段4に格納されている描画コー
ドを読みだしてくる。そして、描画コード保持手段23
は、担当する分割された描画領域の内、複数の描画領域
にわたって処理する必要がある描画コードを保持する。
担当描画領域描出手段24は、この描画コードを処理し
て担当する描画領域の描出処理を行う。処理過程報告手
段25は、処理の終った領域について、その旨を進行管
理手段3に通知する。
を示すフローチャートである。描画処理手段20は、処
理の開始時に、担当描画領域保持手段21などの記憶装
置の初期化を行う(ステップS80)。この時、固定的
に描画領域を割り当てる場合には、初期化後に担当する
描画領域を示す情報が得られ、これを担当描画領域保持
手段21に格納する。また、担当する描画領域のうち、
Y方向の座標値が一番小さい描画領域に処理位置保持手
段26をセットする。この後で、描画処理手段20は進
行管理手段3からの起動待ち状態に入る(ステップS8
1)。進行管理手段3から起動されると、それぞれの担
当する描画領域を順に描出処理を行っていく。
いる位置から始まる描画コードが既に生成されているか
を、進行管理手段3または描画コード格納手段1に問い
合わせて調べる(ステップS82)。まだ生成されてい
ない場合には、進行管理手段3に対して、その時の処理
位置あるいは、その位置よりもある程度進んだ位置の描
画コードが生成された時に再起動されるように、後述す
る描画コード展開時イベント処理機構3cに登録して
(ステップS83)、一旦停止する(ステップS8
4)。先の問い合わせの結果が、描画コードが既に生成
されているということを示す結果であった場合には、処
理位置が担当描画領域かどうかを判断する(ステップS
85)。処理位置が担当描画領域でない場合は、描画コ
ード読み込み手段22が、描画コードを読み込み(ステ
ップS86)、処理位置が更新されると(ステップS8
7)、描画コード保持手段23が保持している描画コー
ドについて、処理位置保持手段26にセットされている
描画領域を描出する描画コードだけを整理をなおす(ス
テップS88)。
ータ格納手段5に格納準備がされているかを調べる(ス
テップS89)。準備がされていない場合は、出力デー
タ格納手段5に対して、出力データ格納範囲保持手段5
aの値を要求する。処理位置がこの範囲に入っていなけ
れば、進行管理手段3に対して、その時の処理位置、あ
るいは、その時の処理位置が出力データ格納範囲に入る
ような位置を指定して出力データ格納範囲変更時イベン
ト処理機構3bに登録して(ステップS90)、一旦停
止する(ステップS91)。
格納準備がされている場合は、描画コード読み込み手段
22が、処理位置保持手段26にセットされている描画
領域を描出するために必要な描画コードを読み込んで
(ステップS92)、描画コード保持手段23内にその
処理位置の描画処理を行うために必要な描画コードを集
める。
った場合には担当描画領域描出手段24が処理位置保持
手段26にセットされている描画領域を描出する(ステ
ップS93)。例えば、描画オブジェクトを点列表現の
多角形のデータ構造、描画コードを、その多角形を分割
した台形のデータ構造等がある。
画領域に対する描出処理が終ると、処理過程報告手段2
5により、その領域の処理が終ったことを進行管理手段
3に知らせる(ステップS94)。そして、処理位置保
持手段26に次の描画位置に処理位置をセットして、担
当する描画領域に対する描出処理が終るまで、繰り返し
同様の処理が行われる。処理位置が更新されると(ステ
ップS95)、描画コード保持手段23が保持している
描画コードについて、処理位置保持手段26にセットさ
れている描画領域を描出する描画コードだけを整理しな
おす(ステップS96)。その後、ステップS82へ戻
る。
ェクトを展開して描画コードを展開するスピードが十分
に速く、出力データ格納手段5からの出力処理がスムー
ズに行われた場合には上記の例外処理がなくても、効果
的に並列描画処理を実現することができるが、上記の例
外処理は、描画コードの生成が間に合わなかった場合
と、出力データの生成のスピードがアンバランスになっ
た時の処理の速すぎる描画処理装置の動作を規定したも
のとなっている。
リーブして割り当てると確率的に複数の描画処理手段の
負荷が等しくなり、出力データの生成のスピードのアン
バランスはまれになる。また、描画コード生成のスピー
ドが間に合わない場合には、描画オブジェクト展開手段
を並列化するなどして高速化することにより、バランス
をとることが可能である。
する。図13は、進行管理手段3の構成を示す図であ
る。進行管理手段3は、描画コードが生成済みの位置を
保持する描画コード展開済み位置管理手段3aと、出力
データ格納範囲変更時イベント処理機構3bと、描画コ
ード展開時イベント処理機構3cと、出力データ格納手
段5に格納できる描画領域のYの最大値と最小値を管理
する出力データ格納可能範囲管理手段3dと、全ての描
画処理手段20a〜20nの処理位置を管理する描画処
理位置管理手段3eと、最も遅い描画処理手段の処理位
置を管理する最遅描画位置管理手段3fと、後述する描
画オブジェクト展開済み位置保持手段3gと、描画処理
完了位置保持手段3hと、描画オブジェクト展開先行距
離保持手段3iと、を備えている。進行管理手段3を構
成する各手段の動作は後述する。
示したフローチャートである。進行管理手段3は、全体
の初期化後(ステップS100)、最遅処理位置の初期
化を特別に行い、最遅処理位置の変化イベントを発生さ
せる(ステップS101)。そして、描画処理手段20
a〜20nを起動しておく(ステップS102)。ただ
し、描画処理手段は十分に描画コードが展開された後か
ら起動してもよい。その後進行管理手段3は通信あるい
は内部状態の変更待ちとなる(ステップS103)。こ
の通信あるいは内部状態の変化を説明の簡単のために進
行管理イベントと呼ぶ。
よって異なる処理が行なわれる。描画処理手段20a〜
20nからの処理済みの位置が報告された場合には(ス
テップS104)、最遅処理位置の変更が必要であるか
検査し、必要ならば更新する(ステップS105)。こ
の時、最遅処理位置の変更があったという進行管理イベ
ントが発生する。
置の変化であった場合には(ステップS106)、描画
コード展開時イベントの処理が行われる(ステップS1
07)。実際には、主に描画コードの展開待ちの描画処
理手段が起動される。
変化であった場合には(ステップS108)、出力デー
タ格納範囲変更時イベントの処理が行われる(ステップ
S109)。実際には、主に出力データ格納範囲の変更
待ちの描画処理手段が起動される。
テップS110)、描画領域が終了かどうか判断される
(ステップS111)。終了でない場合は、描画コード
の展開命令の発行(ステップS112)、不必要となっ
た描画コードの削除命令の発行(ステップS113)、
出力データ格納手段に格納範囲の変更命令を発行し(ス
テップS114)、その後、ステップS103に戻る。
的な絵を用いて説明する。図15は、描画処理装置の動
作を説明するために使用する絵の概念図である。この例
においては、描画オブジェクトA、描画オブジェクト
B、描画オブジェクトCの3つの描画オブジェクトが描
画される。
オブジェクトを表現するデータ構造の一例を示す図であ
る。図15に示した図は、説明の簡単のために楕円だけ
を描画オブジェクトとして使用しているため、図16に
示したデータ構造1cも非常に簡単なものになってい
る。
外接長方形の左下の座標(LX,LY)と、右上の座標
(RX,RY)により描画オブジェクトの塗りつぶし領
域を表現し、これらに加えて重ね塗り時の優先順位(P
RIO)と色データなどの属性値(ATTR)を保持す
るものとなる。なお、ここで説明する描画オブジェクト
のデータ構造は、一例であって、他の多角形や曲線図形
やマスクデータなどのさまざまな領域表現によって表現
される描画オブジェクトにも適用できる。
たあとの分割描画領域36〜分割描画領域59を以降の
説明に使用する描画処理手段20a、描画処理手段20
b、描画処理手段20cに割り当てる例を示す。この例
においては説明の簡単のため、描画領域の分割は走査線
単位への分割であり、描画処理手段20a、描画処理手
段20b、描画処理手段20cへの割り当ては飛び飛び
にかつ周期的に割り当てる例を示している。
画処理手段への割り当ても説明の簡単のためであり、特
に限定するものではない。図18は、描画オブジェクト
Aと、描画オブジェクトBと、描画オブジェクトCと、
が描画オブジェクト格納手段1内に格納された状態を模
式的に示した図である。これら3つの描画オブジェクト
A〜Cは、図4で示した描画オブジェクト格納領域1a
内に格納されると共に、各描画オブジェクトのY座標の
最小値をキーとして、図4で示した描画オブジェクト整
列機構1bに登録される。
ト格納手段1に格納されると、進行管理手段3の処理が
指示される。進行管理手段3は、描画オブジェクト展開
済み位置保持手段3gと、描画処理完了位置保持手段3
hと、を参照し、両者の格納する位置の間の距離と描画
オブジェクト展開先行距離保持手段3iに保持されてい
る値を比較する。この場合、初期位置であるためにこの
比較結果は等しいか、あるいは描画オブジェクト展開先
行距離保持手段3iに保持されている値の方が大きくな
ってしまう。このため、まず、描画オブジェクト展開手
段2に展開処理の実行命令が送られる。
ジェクト展開済み位置保持手段3gに保持されている位
置より1単位進んだ描画領域からオブジェクトの展開処
理を進め、描画処理完了位置保持手段3hに保持されて
いる位置+描画オブジェクト展開先行距離保持手段3i
に保持されている距離+αの位置まで処理を進めて停止
する。+αの部分は予め定められた距離でもよいし、描
画オブジェクトを展開するために必要なメモリ容量が許
すかぎり展開するという基準でもよい(以降、このαの
数値を描画オブジェクト展開位置マージンと呼ぶ)。
置の進み方と、描画オブジェクト展開済み位置保持手段
3gの位置の進み方がバランスがとれていると(すなわ
ち、描画オブジェクトの展開のスピードと描画処理のス
ピードのバランスがとれていると)、描画オブジェクト
展開手段2が起動されてから1ページ分の描画オブジェ
クトを全て展開し終えるまで停止することなく動作する
という場合もありうる。
台形表現により描画領域を表すものを用いる。ただし、
これは一例であり、描画コードとしては、走査線単位の
ランレングス形式のデータやマスク形式のデータ、線分
列のペアにより領域を表す形式、曲線集合により領域を
表す形式、などの多くの表現形式に対しても適用でき
る。
ード格納手段4に格納された時の状態の概念図である。
描画オブジェクト展開手段2の処理位置が分割描画領域
37に進み、描画オブジェクトAを描画コードA1〜描
画コードA5に展開して、描画コード格納手段4に格納
された時の状態の概念図を示している。
ードA1〜描画コードA5の5つの描画コードが生成さ
れる。そして、これらの描画コードA1〜A5は、描画
コード格納手段4に転送されて、図7で示した描画コー
ド格納領域4bに格納されると共に、Y座標の最小値
(図中の上側)をキーとして、描画コード登録機構4a
に登録される。
ーとして、図7で示した描画コード削除用登録機構4c
に登録される。図20は、描画コードの一例について、
そのデータ構造の例を示した図である。Y座標値の最小
値(YMIN)と、Y座標値の最大値(YMAX)と、
Y座標値の最小値における左側の斜辺のX座標(X1)
と、Y座標値の最小値における右側の斜辺のX座標(X
2)と、左側の斜辺においてY座標が単位量増えた時の
X座標の増分値(DX1)と、右側の斜辺においてY座
標が単位量増えた時のX座標の増分値(DX2)と、色
などの塗りつぶし属性(ATTR)と、塗りつぶしの優
先順位(PRIO)と、のデータにより少なくとも本実
施例の説明に使用する描画コードを規定することが可能
である。
展開先行距離保持手段3iに保持されている数値が5で
あったとし、また、描画オブジェクト展開位置マージン
が3であったものとして説明を続ける。
割描画領域40の処理を終えたことを進行管理手段3が
検知すると、進行管理手段3は描画処理手段20a、描
画処理手段20b、描画処理手段20cに対して処理を
再開することを指示する。これらの描画処理手段20a
〜20nは、分割描画領域36の位置から順に描画コー
ドを読み込んで担当する分割描画領域の描画処理を行
う。
処理を行っている位置と、描画処理手段20aが処理を
行っている位置の位置関係を示す概念図である。描画処
理手段20aは、まず描画コード格納手段4に対して、
分割描画領域36に登録されている描画コードを要求す
る。しかし、この領域にはなにも登録されていないう
え、担当する分割描画領域でもないため、なにも処理を
行わないまま、次の分割描画領域37に処理を進める。
描画コード格納手段4内に登録されているため、この描
画コードA1を読み込む。そして、次の分割描画領域3
8に移る。分割描画領域38は、新たに読み込まれる描
画コードもなく、また、描画処理手段20aの担当する
描画領域でもないため、特に描画処理を行わずに次の分
割描画領域39に移る。
示した描画コード保持手段23内に保持している描画コ
ードA1が、この分割描画領域38までのデータである
ため、これを描画コード保持手段23内から削除する。
理手段20bと描画処理手段20cよりも処理が遅れて
いたとすると、描画処理手段20aが処理位置を動かす
と、図13で示した最遅描画位置管理手段3fに格納さ
れている値が変化する。つまり、最遅描画位置管理手段
3fが分割描画領域38となる。
に送信され、図7で示した描画コード削除用登録機構4
c内に、分割描画領域38の場所に登録されている描画
コードを描画コード格納領域4bから削除する。
されているため、これを描画コード格納領域4b内から
削除することになる。図22に描画コードA1が削除さ
れたときの描画コード格納領域4b内の状態の概念図を
示す。
割描画領域39は描画処理手段20aの担当する描画領
域であるため、分割描画領域39が出力データ格納手段
5上に書き込むことができるかどうか調べる。できない
場合には、分割描画領域39が出力データ格納手段5上
に書き込めるように用意された時に、動作指示がくるよ
うに進行管理手段3に登録してから、描画処理を一旦停
止する。ここでは、説明の簡単のため、続けて分割描画
領域39の処理を行えたものとして説明を続ける。
れを読み込む。そして、この分割描画領域39は、描画
処理手段20aの担当する描画領域であるため、図11
で示した担当描画領域描出手段24を起動して、分割描
画領域39に対応する出力データを生成して、出力デー
タ格納手段5に格納する。図23に分割描画領域39a
を描画処理した時の結果の概念図を示す。
て図7で示した描画コード格納領域4bに格納される例
について説明するために、描画オブジェクト展開手段2
の処理位置が分割描画領域39、描画処理手段20a、
描画処理手段20b、描画処理手段20cの位置が分割
描画領域39になった場合を想定する。このとき、描画
オブジェクト展開手段2は、描画オブジェクト格納手段
1に対して、分割描画領域43に登録されている描画オ
ブジェクトを要求し、描画オブジェクト33が得られる
ため、これを展開して描画コード格納手段4に転送す
る。このとき展開された描画コードB1〜B5は、、描
画コード格納領域4bに格納されるとともに、Y座標の
最小値(図中の上側)をキーとして、描画コード登録機
構4aに登録され、また、Y座標の最大値(図中の下
側)をキーとして、描画コード削除用登録機構4cに登
録される。
念図を図24に示す。このときの描画処理手段の処理位
置が分割描画領域39に進んでいることを想定したた
め、すでに描画コードA2も描画コード格納手段4から
削除されている。また、次に展開される描画コードとし
て、描画コードB1〜B5が描画コード格納領域4bに
格納されている。
図の描画結果の概念図を示す。副走査方向に各処理手段
が協調して、描画オブジェクトの展開、描画、出力を繰
り返していきこれを出力データ格納手段5が順に集め
て、正しい順に出力することにより、期待する描画結果
AO、BO、COを得ることができる。
装置は、描画データをデータ量の比較的小さい描画オブ
ジェクトで蓄えて描画コードに展開し、並列に描画処理
を行う構成とした。これにより、必要メモリ量を削減す
ると共に高速な描画処理を行うことが可能になる。
概念図である。
チャートである。
ある。
すフローチャートである。
すフローチャートである。
ーチャートである。
ローチャートである。
チャートである。
ャートである。
る絵の概念図である。
例を示す図である。
例を示す図である。
クト格納手段1に格納された状態を示す模式図である。
段4に格納された時の状態概念図である。
20aとが処理を行っている位置の位置関係を示す図で
ある。
ードを削除した図である。
図である。
格納した場合の図である。
Claims (20)
- 【請求項1】 ページ記述言語を入力として描画処理を
行う描画処理装置において、 前記ページ記述言語から変換されたイメージデータであ
る描画オブジェクトを描画領域の少なくとも一方向から
順番にとりだせるように格納する描画オブジェクト格納
手段と、 前記描画オブジェクトを前記描画オブジェクト格納手段
から読み出して、内部表現規約である描画コードに展開
する描画オブジェクト展開手段と、 前記描画コードを描画領域の少なくとも一方向から順番
にとりだせるように格納する描画コード格納手段と、 前記描画コードの並列描画処理を行う複数の描画処理手
段と、 前記描画処理手段の進行状況を管理して、前記描画コー
ドの展開範囲の指示及び制御を行う進行管理手段と、 を有することを特徴とする描画処理装置。 - 【請求項2】 前記描画コード格納手段は、前記描画コ
ードの終了位置を登録することを特徴とする請求項1記
載の描画処理装置。 - 【請求項3】 前記進行管理手段は、並列動作する前記
描画処理手段の最も速いものを監視し、この位置よりも
常に進んだ位置に対して前記描画コードの展開範囲を前
記描画オブジェクト展開手段に指示することを特徴とす
る請求項1記載の描画処理装置。 - 【請求項4】 前記進行管理手段は、並列動作する前記
描画処理手段の最も遅いものを監視し、この位置よりも
前に処理した領域の前記描画コードの開放を前記描画コ
ード格納手段に指示することを特徴とする請求項1記載
の描画処理装置。 - 【請求項5】 前記描画処理手段は、処理位置を進める
際に前記進行管理手段あるいは前記描画コード格納手段
に対して前記描画コードの展開処理が済んでいるかを確
認し、済んでいない場合には再起動要求を前記進行管理
手段に登録し、一時停止することを特徴とする請求項1
記載の描画処理装置。 - 【請求項6】 前記進行管理手段は、単位描画領域に関
する前記描画コードの展開が終るたびに、あるいはまと
まった量の単位描画領域に関する前記描画コードの展開
が終るたびに前記描画コードの展開を参照する描画コー
ド展開済み位置管理手段と、前記描画コードの展開待ち
の前記描画処理装置の再起動要求を登録する描画コード
展開時イベント処理機構と、を含むことを特徴とする請
求項1記載の描画処理装置。 - 【請求項7】 前記再起動要求は、前記描画コード展開
時イベント処理機構へ登録される際に、前記描画コード
の展開が済んでいないことを発見した位置に関係づけて
登録されることを特徴とする請求項6記載の描画処理装
置。 - 【請求項8】 前記再起動要求は、前記描画コード展開
時イベント処理機構へ登録される際に、前記描画コード
の展開が済んでいないことを発見した位置から処理の進
行方向に向かって先の位置に登録されることを特徴とす
る請求項6記載の描画処理装置。 - 【請求項9】 前記再起動要求は、前記描画コード展開
時イベント処理機構へ登録される際に、前記描画コード
の展開が済んでいないことを発見した位置から処理の進
行方向に向かって予め定められた距離分先の位置に登録
されることを特徴とする請求項6記載の描画処理装置。 - 【請求項10】 前記再起動要求は、前記描画コード展
開時イベント処理機構へ登録される際に、前記描画コー
ドの展開が済んでいないことを発見した位置から処理の
進行方向に向かって先の位置に登録され、かつ、この距
離は前記描画コード格納手段内に格納済みの前記描画コ
ードの量に応じて変動することを特徴とする請求項6記
載の描画処理装置。 - 【請求項11】 前記描画処理装置は、前記描画処理手
段が出力した出力データを格納する出力データ格納手段
を有し、前記出力データ格納手段は、描画領域の一部に
対応するだけの処理結果データの格納領域を備えると共
に、処理結果を受け付ける描画領域の範囲を保持する出
力データ格納範囲保持手段を備えることを特徴とする請
求項1記載の描画処理装置。 - 【請求項12】 前記出力データ格納手段が保持する描
画領域は、前記進行管理手段が管理する最も遅い前記描
画処理装置の処理位置に連動して変化することを特徴と
する請求項11記載の描画処理装置。 - 【請求項13】 前記描画処理装置は、処理位置を進め
る際に前記出力データ格納範囲保持手段に保持された描
画領域が範囲内であるかどうかを調べることを特徴とす
る請求項11記載の描画処理装置。 - 【請求項14】 前記描画処理装置は、担当する描画領
域に処理位置を進める際に前記出力データ格納範囲保持
手段に保持された範囲内であるかどうかを調べることを
特徴とする請求項11記載の描画処理装置。 - 【請求項15】 前記描画処理装置は、前記出力データ
格納範囲保持手段に保持された範囲内でない位置に処理
を進めようとした場合に、前記進行管理手段に対して前
記再起動を予約して一時停止することを特徴とする請求
項11記載の描画処理装置。 - 【請求項16】 前記進行管理手段は、最も遅い前記描
画処理手段の処理位置の変化を監視して、前記出力デー
タ格納手段に格納する描画範囲の最大値と最小値を管理
する出力データ格納範囲変更時イベント処理機構と、出
力データの格納範囲から外れることを原因として停止し
た前記描画処理装置の前記再起動要求を登録する出力デ
ータ格納範囲変更時イベント処理機構と、を含むことを
特徴とする請求項11記載の並列描画処理装置。 - 【請求項17】 前記出力データ格納範囲変更時イベン
ト処理機構への登録は、前記描画処理手段が、前記出力
データ格納手段の範囲外であると判定したその処理位置
に登録されることを特徴とする請求項16記載の描画処
理装置。 - 【請求項18】 前記出力データ格納範囲変更時イベン
ト処理機構への登録は、前記描画処理手段が、前記出力
データ格納手段の範囲外であると判定したその処理位置
よりも処理の進行方向に向かって先の位置に登録される
ことを特徴とする請求項16記載の描画処理装置。 - 【請求項19】 前記出力データ格納範囲変更時イベン
ト処理機構の参照は、新たな出力データ格納範囲より
も、処理方向に対して後方だけを参照することを特徴と
する請求項16記載の描画処理装置。 - 【請求項20】 前記描画コード展開時イベント処理機
構の参照は、描画コードの展開が終了した位置よりも、
処理方向に対して後方だけを参照することを特徴とする
請求項6記載の描画処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20443096A JP3663757B2 (ja) | 1996-08-02 | 1996-08-02 | 描画処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20443096A JP3663757B2 (ja) | 1996-08-02 | 1996-08-02 | 描画処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1049315A true JPH1049315A (ja) | 1998-02-20 |
JP3663757B2 JP3663757B2 (ja) | 2005-06-22 |
Family
ID=16490414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20443096A Expired - Fee Related JP3663757B2 (ja) | 1996-08-02 | 1996-08-02 | 描画処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3663757B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6654139B1 (en) | 1998-11-11 | 2003-11-25 | Nec Corporation | Printer system with image processing system in which drawing operations are executed in parallel |
JP2012248179A (ja) * | 2012-02-20 | 2012-12-13 | Fuji Xerox Co Ltd | 画像処理装置、プログラム |
-
1996
- 1996-08-02 JP JP20443096A patent/JP3663757B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6654139B1 (en) | 1998-11-11 | 2003-11-25 | Nec Corporation | Printer system with image processing system in which drawing operations are executed in parallel |
JP2012248179A (ja) * | 2012-02-20 | 2012-12-13 | Fuji Xerox Co Ltd | 画像処理装置、プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP3663757B2 (ja) | 2005-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0733965B1 (en) | Parallel processing of page description language data stream | |
US5717842A (en) | Method of managing memory allocation in a printing system | |
US5819014A (en) | Parallel distributed printer controller architecture | |
US5617518A (en) | Output control method and system of servers | |
JP5344075B1 (ja) | 印刷画像処理システムおよびプログラム | |
JPH10147017A (ja) | 印刷装置及びデータ制御方法 | |
JP2000313145A (ja) | 印刷制御装置、印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP2742073B2 (ja) | 印刷制御方法および装置 | |
JP2000335022A (ja) | プリンタ制御装置 | |
JP3663757B2 (ja) | 描画処理装置 | |
JPH11157146A (ja) | 印刷装置の画像処理方法および印刷装置 | |
JP3384223B2 (ja) | 印刷処理システム | |
JP2922104B2 (ja) | プリンタ制御回路 | |
JP3174624B2 (ja) | プリンタ装置における印刷情報の管理方法及びプリンタ装置 | |
JP3153347B2 (ja) | 画像記録装置の制御方法 | |
JP3094711B2 (ja) | ページ記述言語処理装置およびページ記述言語処理出力装置 | |
JP3483689B2 (ja) | プリンタ装置の画像処理方法 | |
JPH09218763A (ja) | 印刷処理システム | |
JP2891860B2 (ja) | 出力方法 | |
JPH10333852A (ja) | 描画処理装置 | |
JP2000132400A (ja) | モジュラー型画像処理システムにおける画像処理装置並びに該装置に適用されるメモリ管理プログラムを記録したコンピュータ読み取り可能な記録媒体及びメモリ管理方法 | |
JPH04233028A (ja) | プリンタ装置 | |
JP2004326266A (ja) | 印刷制御方法、情報処理装置及び印刷装置 | |
JP2002120418A (ja) | プリンタ装置及び該プリンタ装置を備えた画像処理装置 | |
JP2001134403A (ja) | ネットワークシステムおよびネットワークプリンタ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040909 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040914 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041115 |
|
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: 20050308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050321 |
|
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: 20080408 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090408 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100408 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110408 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120408 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130408 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140408 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |