JPH09167242A - 描画処理装置および方法 - Google Patents

描画処理装置および方法

Info

Publication number
JPH09167242A
JPH09167242A JP33021795A JP33021795A JPH09167242A JP H09167242 A JPH09167242 A JP H09167242A JP 33021795 A JP33021795 A JP 33021795A JP 33021795 A JP33021795 A JP 33021795A JP H09167242 A JPH09167242 A JP H09167242A
Authority
JP
Japan
Prior art keywords
drawing command
processing
command processing
area
processing means
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.)
Pending
Application number
JP33021795A
Other languages
English (en)
Inventor
Kazutaka Hayashi
千登 林
Ichiro Yamashita
一郎 山下
Toru Fuse
透 布施
Hiroshi Kawamoto
浩史 川本
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
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 filed Critical Fuji Xerox Co Ltd
Priority to JP33021795A priority Critical patent/JPH09167242A/ja
Priority to EP97102917A priority patent/EP0860768A1/en
Publication of JPH09167242A publication Critical patent/JPH09167242A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/124Parallel printing or parallel ripping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Record Information Processing For Printing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 複数の描画命令処理部を用いて描画命令を並
列処理する際の、描画命令の転送処理を効率化し並行処
理の性能を十分に活用できるようにする。 【解決手段】 描画領域割り当て部13は複数の描画命
令処理部10が処理すべき領域を短冊状に割り当てる。
描画命令発行部14は複数の短冊にまたがる台形領域を
描画する描画命令を発行し、描画命令転送部16は複数
の描画命令を一括して、かつ同時に通信路17を介して
複数の描画命令処理部10に転送する。描画命令処理部
10は対応する領域について描画命令に応じて描画デー
タを作成し、ローカルメモリに書き込み、画像データに
合成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ページ記述言語
(PDL)等のベクトルやコード形式の図形表現からラ
スタ出力デバイスに適した形式の図形表現に高速に変換
する装置および方法に関し、とくに複数の描画処理要素
を用いてる場合に、効率よく変換処理を各描画処理要素
に分配できるようにしたものである。
【0002】
【従来の技術】従来、Interpress(米国ゼロ
ックス社の商標)やPostScript(米国アドビ
・システムズ社の商標)などのPDLを入力としてペー
ジプリンタなどのラスタ出力デバイスにより出力を行う
システムにおいては、PDL形式のデータからラスタ出
力デバイスに適した形式のデータに変換するための処理
(以降簡単のためイメージング処理と呼ぶ)にかかる時
間が非常に長く、このことは特に高速のページプリンタ
に出力するシステムなどで問題となっていた。例えば、
カラーの高速プリンタは毎分40枚以上の出力能力があ
るものが発表されているにもかかわらず、イメージング
処理にかかる時間は、十数秒からものによっては数分か
かるものもある。このため、高価な高速プリンタの能力
を十分に生かせなかった。
【0003】この高速描画システムにおいて問題となる
イメージング処理を高速に行うために、特に並列処理を
利用したさまざまな工夫が開示されている。例えば、複
数ページの入力データをページ毎に並列に処理を行う技
術の例が特開平6−67822号公報に開示されてお
り、描画対象領域である1ページ分の領域を矩形状の小
領域に分割して並列に塗りつぶし処理を行う技術の例が
特開平4−170686号公報に開示されている。とこ
ろが、前者においてはページ数の少ないものは高速化さ
れないという問題があり、後者においては1ページ中の
一部に描画の負荷が重い「絵」、例えば非常に複雑なグ
ラフィックスなどが小さく張り付けられていた様な場合
には、そのグラフィックスに対応する領域を処理する描
画装置の負荷だけが重くなることにより、全体の高速化
の効果が得られなくなるという問題があった。
【0004】また、描画領域を分割して並列プロセッサ
のローカルメモリに割り付け、並列に塗りつぶし処理を
担当させる技術の特殊な例として、走査線単位で描画領
域を分割し不連続に複数のプロセッサに割り当てる技術
もある。例えば特開平1−318174号公報にその例
が開示されている。従来例では、「ラスタ化命令」(所
定の形状を描画する命令)を複数の並列プロセッサに順
次に割り当て、さらに並列プロセッサは、ラスタ化命令
の実行の結果得られた走査線単位の「作図命令」(その
走査線を所定の態様で塗りつぶす命令)を自らが実行し
ローカルメモリの書き込みを行い(その走査線が自らに
割り当てられている場合)、または他の並列プロセッサ
に転送する。その走査線が割り当てられているプロセッ
サは、その作図命令を受け取ってローカルメモリに塗り
つぶしデータを書き込む。
【0005】走査線は高解像度のラスタ出力デバイスに
おいては非常に細い領域を占め、例えば600dpiの
解像度においては約0.04mm程度の細い領域とな
る。通常のグラフィックスやドキュメントにおいては、
これほど細い線を多用することはあまり無く、普通のグ
ラフィックスやドキュメントの描画図形の個々は非常に
多くの場合、複数の走査線にまたがった領域についての
塗りつぶし処理を必要とする。したがって、走査線単位
の塗りつぶし処理を複数のプロセッサに担当させる事に
より、個々の描画オブジェクトごとの描画処理が効果的
に並列化される。
【0006】しかしながら、従来例では、「作図命令」
(走査線単位で指定を行う塗りつぶし命令)が走査線単
位で対応する並列プロセッサに転送されるため、トラフ
ィック量が大きくなり、その結果転送が高速に行えず、
並列プロセッサの性能を十分に活用できないという問題
がある。
【0007】さらに、この従来例においては複数の並列
プロセッサ上で並列して作図命令(ローカルビットマッ
プの塗りつぶし領域の指定)を発生する機能を有してい
るにもかかわらず、塗りつぶし順序を保持する機構を持
っていなかったため、正しく描画するためには実施例で
記載されているように、描画領域を指定する命令を順序
良くプロセッサ間で転送していく必要があった。この結
果、描画命令列の一部に、走査線方向に長い描画領域を
持つ命令(例えば走査線方向を向いた直線分の描画命
令)が存在すると、この命令に対応したビットマップの
塗りつぶしを担当するプロセッサがボトルネックとなっ
て(通信の同期のために他のプロセッサも停止すること
になる)、並列動作の効果が上がらないという問題が生
じていた。
【0008】
【発明が解決しようとする課題】この発明は、以上の事
情を考慮してなされたものであり、効率的に描画処理の
負荷を複数の描画処理要素に分配して効率的な並列動作
を行えるようにする画像処理装置および方法を提供する
ことを目的としている。
【0009】
【課題を解決するための手段】この発明の第1の特徴で
は、以上の目的を達成するために、描画処理装置に、ロ
ーカルメモリを具備する複数の描画命令処理手段と、描
画対象領域を分割した部分領域を、上記複数の描画命令
処理手段に択一的に割り当て、上記複数の描画命令処理
手段の各々が、割り当てられた部分領域の描画処理を行
うようにする部分領域割り当て手段と、描画処理が複数
の部分領域にまたがり得る描画命令を生成する手段と、
上記描画命令を単一の転送処理で上記複数の描画命令処
理手段に転送する手段と、上記複数の描画命令処理手段
で実行された描画処理結果を回収し、上記描画命令の目
的画像を生成する手段とを設けるようにしている。
【0010】この構成によれば、複数の描画命令処理手
段に同一の描画命令を送り、各描画装置においては、割
り当てられた部分領域の描画処理を実行する。このよう
にしているので、描画命令処理手段へ送る命令は同一に
でき、一回の転送処理で複数の描画命令処理手段への描
画命令の転送が行え、転送効率が向上し、並列処理によ
る効率改善を十分に活用することができる。
【0011】この構成において、上記部分領域が線状で
あってもよく、また帯状であってもよい。
【0012】また、上記部分領域を、上記部分領域の並
び方向に沿って周期的に上記複数の描画命令処理手段に
割り当てるようにしてもよい。
【0013】また、上記割り当て手段は割り当て表を記
憶し、上記割り当て表に応じて上記部分領域を上記複数
の描画命令処理手段に割り当てるようにしてもよい。
【0014】また、上記複数の描画命令処理手段の各々
は、クリップデータを保持するクリップデータ格納領域
を備えるようにしてもよい。
【0015】また、上記複数の描画命令処理手段は共有
メモリに接続され、上記ローカルメモリは上記共有メモ
リに対するキャッシュメモリを構成するようにしてもよ
い。
【0016】また、この描画処理装置に、上記複数の描
画命令処理手段の動作開始タイミングを相互にずらす動
作タイミング制御手段を設けるようにしてもよい。
【0017】また、上記複数の描画命令処理手段の各々
は、当該描画命令処理手段の動作を処理すべき計算機を
識別するための識別子をストアする手段と、当該描画命
令処理手段の動作を処理している計算機の識別子を上記
ストアされている識別子と比較する手段と、比較結果に
応じて計算機の再割り当てを請求する手段とを有するよ
うにしてもよい。
【0018】さらに、上記複数の描画命令処理手段で実
行された描画処理結果は、ランレングス形式または台形
形式で保持されてもよい。
【0019】また、この発明の第2の特徴では、上述の
目的を達成するために、描画処理装置に、ローカルメモ
リを具備する複数の描画命令処理手段と、描画対象領域
を分割した部分領域を、上記複数の描画命令処理手段に
択一的に割り当て、上記複数の描画命令処理手段の各々
が、割り当てられた部分領域の描画処理を行うようにす
る部分領域割り当て手段と、描画ファイルを出力する手
段と、描画ファイルを受け取って第1の描画命令を出力
する手段と、上記第1の描画命令を、全体として上記第
1の描画命令と等価な複数の第2の描画命令であって、
各々の描画処理が複数の上記部分領域にまたがり得るも
のに変換する手段と、上記第2の描画命令を複数個同時
にかつ単一の転送処理で上記複数の描画命令処理手段に
転送する手段と、上記複数の描画命令処理手段で実行さ
れた描画処理結果を回収し、上記描画命令の目的画像デ
ータを生成する手段と、上記目的画像データに応じて目
的画像を出力する手段とを設けるようにしている。
【0020】また、この発明の第3の特徴によれば、上
述目的を達成するために、ローカルメモリを具備する複
数の描画命令処理手段を用いた描画処理法方において、
描画対象領域を分割した部分領域を、上記複数の描画命
令処理手段に択一的に割り当て、上記複数の描画命令処
理手段の各々が、割り当てられた部分領域の描画処理を
行うようにするステップと、描画処理が複数の部分領域
にまたがり得る描画命令を生成するステップと、上記複
数の描画命令処理手段で実行された描画処理結果を回収
し、上記描画命令の目的画像データを生成するステップ
とを実行するようにしている。
【0021】
【発明の実施の態様】以下、この発明を、実施例に基づ
いて、具体的に説明する。
【0022】図2は、この発明の一実施例を適用する印
刷システムの構成を示す図である。図2において、この
印刷システムは、ネットワークインタフェース2と、描
画処理装置1と、ラスタ出力装置3からなっている。図
示しない文字フォントディスクなどは、描画処理装置1
に内蔵されてもよいし、描画処理装置の外部に描画処理
装置1からアクセスできる形で接続されることができ
る。また、文字フォントディスクは、その形態が特にハ
ードディスク装置や光ディスク装置に限られず、ROM
(リード・オンリ・メモリ)やRAM(ランダム・アク
セス・メモリ)あってもよい。
【0023】ラスタ出力装置3は実際に出力メディアに
画像を出力するラスタ出力デバイスである。このラスタ
出力デバイスは例えばページプリンタやインクジェット
プリンタなどのプリンタ装置やディスプレイ装置等を用
いることができる。
【0024】ネットワークインタフェース2は描画処理
装置1と他の装置とのインタフェース装置であり、この
装置を介して他の画像処理装置やコンピュータ装置から
PDLなどのデータが入力される。描画処理装置1によ
る処理結果を他の画像処理装置やコンピュータ装置へ出
力するために、このネットワークインタフェース2は双
方向の通信用として実現することもできる。ネットワー
クインタフェース2とつながる通信路4はネットワーク
通信媒体装置であり、例えばシリアルケーブル、パラレ
ルケーブル、同軸ケーブルなどの電気的な信号を伝達す
る媒体のほか光ファイバーや無線装置、光通信装置など
を使用することができる。また、図2においてはネット
ワークインタフェース2により、図示しない他のコンピ
ュータ装置などと接続することを想定しているが、この
接続をPCIやSBUSなどのバスによる結合として本
発明を適用することは当業者には容易である。
【0025】更に、図2において、ネットワークインタ
フェース2と描画処理装置1とラスタ出力装置1の組合
せは一つずつになっているが、それぞれの個数は必ずし
も一つずつである必要はない。描画処理装置一つに対し
てネットワークインタフェースあるいはラスタ出力装置
が複数接続していてもよいし、一つのラスタ出力装置に
対して複数の描画処理装置が接続していてもよい。ま
た、複数の描画処理装置と複数のラスタ出力装置が相互
に接続する構成も可能である。
【0026】図1は本発明を適用した描画処理装置1の
実施例の一例を示す構成図である。この図において、各
々、ローカルメモリ11,11,…,11を持つ複数の
描画命令処理部10,10,…,10が通信路12を介
して描画領域割り当て部13に接続されており、各描画
命令処理部10,10,…,10はそれぞれが担当する
分割描画領域を分割描画領域割り当て部13から知らさ
れる。描画命令発行部14は図示しない入力装置からP
DLなどの入力を得て、解釈、変換を行い、台形あるい
は多角形あるいは凸図形あるいは有限の個数の曲線と有
限の個数の直線とからなる図形を用いた描画領域の指定
の少なくともどれか一種類と、単色あるいは複数の色か
らなる描画色の指定の少なくとも一種類とからなる描画
命令を生成し、その描画命令の発行を行う。
【0027】描画命令処理部10,10,…,10は、
いくつでも増やすことは可能である。極端な場合にはこ
の数を100を越える数にすることもできる。この描画
命令処理部10,10,…,10の個数の適当な数字
は、出力装置の解像度などとの関係により変動するが、
通常数個から数十個の構成が適当な数字である。
【0028】描画領域割り当て部13は描画領域を細い
短冊状の領域に分割し、分割した細い短冊状の各描画領
域に対する処理を複数の描画命令処理部10,10,
…,10に割り当てる。この描画領域の分割と描画命令
処理部10,10,…,10に対する割り当ての例を図
11を用いて説明する。出力ページに相当する描画領域
3001を走査線方向に沿って細い短冊状に分割し、分
割描画領域3002,3002,…,3002を仮想的
に作る(実際に行われる処理はメモリアドレスの設定で
あったり、必要なメモリの確保であったり、その他間接
的な操作である場合が多い)。この分割描画領域300
2,3002,…,3002に対する描画処理の担当を
複数の描画命令処理部に割り当てることになる。この説
明を行うために図では描画命令処理部a〜d(3011
〜3012)の4つの描画命令処理部に対して処理の担
当を割り当てる例を説明するが、描画命令処理部の数が
変化しても当然、本発明の範囲に含まれる。
【0029】分割描画領域3002,3002,…,3
002から不連続に幾つかを選ぶことにより分割描画領
域の組a〜d(3003〜3006)を作る。これを各
々描画命令処理部a〜dに処理の担当を割り当てる。分
割描画領域a〜d(3003〜3006)を作るとき
に、分割描画領域の組a〜d(3003〜3006)に
含まれる分割描画領域3002,3002,…,300
2を全て合わせるとものの描画領域になり、かつ、各分
割描画領域の組a〜d(3003〜3006)に含まれ
る分割描画領域3002,3002,…,3002には
同じ領域となるものが少ない、あるいは、同じ領域とな
るものが無いという条件を満たすように作成する。ま
た、分割描画領域の組a〜dの各々が含む分割描画領域
3002,3002,…,3002の領域面積の各々の
組における合計がほぼ同じになるようにすることで本発
明の効果は高まる。更に、分割描画領域3002,30
02,…,3002を周期的あるいは規則的に描画命令
処理部a〜dに割り当てることにより、分割描画領域の
担当に関する情報を少ない情報量で描画命令処理部a〜
d(3011〜3014)に知らせることもできる。図
11に示してある割り当ての例は、4つの描画命令処理
部に周期的に分割描画領域を割り当てている例である。
描画領域の分割の単位は、mmなどの距離による指定で
もよいし、走査線何本分ごとという単位でもよい。各走
査線ごとの領域に分割する場合も、また、走査線の数分
の1〜数十分の1の分割も本発明の範囲に含まれる。
【0030】描画領域割り当て部13は常に接続されて
いる必要はなく、描画命令処理部10,10,…,10
の個数が決まった時、あるいは描画処理装置1が起動さ
れた時などに、少なくとも1度接続され、各描画命令処
理部10,10,…,10に分割描画領域の割り当てを
通知する。この極端な場合は、描画命令処理部10,1
0,…,10の数が決まった段階で、各描画命令処理部
10,10,…,10のそれぞれに対する分割描画領域
の割り当てを決定し、その決定した情報を各描画命令処
理部10,10,…,10に知らせるために、その情報
を記録した図示しない記憶手段を各描画命令処理部1
0,10,…,10に各々接続しておくという方法も可
能である。
【0031】描画命令保持部15は描画命令発行部14
から発行された描画命令を一旦蓄える。蓄える際に、描
画命令を発行された順番に格納する、あるいは、発行さ
れた時に描画命令発行部14から同時に指定された数字
を組み合わせて保持する。描画命令のデータの構成によ
っては、この数字は描画命令の中に含まれているかもし
れないが、その場合には、特に別の数字を組み合わせる
必要はない。この描画命令発行部14から指定される数
字はしばしば、描画の順番を示した数字であり、描画図
形の指定が変更された場合や描画図形の位置や属性が変
更された場合に提示される数字が変更される。
【0032】描画命令転送部16は描画命令格納部15
に格納されている描画命令のデータ量あるいは、格納さ
れた描画命令から算出される数値の少なくとも一方を監
視しており、予め定めた基準値あるいは、描画命令処理
部10,10,…,10などと通信するなどして動的に
変更される基準値を越えた場合に、描画命令格納部15
に、基準値を越えたことを通知するとともに、描画命令
保持部15に格納されている少なくとも一つ以上の描画
命令を通信路17を介して描画命令処理部10,10,
…,10に転送する。描画命令処理部10,10,…,
10は転送された描画命令をそれぞれローカルメモリ1
1,11,…,11内の複製描画命令格納領域111,
111,…,111に格納して、それぞれ、描画命令の
処理を行う。描画命令転送部16は、描画命令の転送の
前に、各描画命令処理部が描画命令を受け取る準備があ
るかどうか、問い合わせるという構成も、各描画命令処
理部10,10,…,10は描画命令を受け取る準備が
あることを前もって描画命令転送部16に知らせておく
構成も可能である。
【0033】描画命令発行部14と描画命令転送部16
の間をつなぐ制御線18は、描画命令格納部に格納され
ている描画命令を強制的に描画命令処理部10,10,
…,10に転送することを指示するためのものである。
これは、例えば1ページ分の描画命令を発行し終え、ペ
ージイメージを完成する必要がある場合などにに使用さ
れる。
【0034】図3は描画命令発行部14の処理について
の流れ図である。この図において、動作を開始すると
(S1001)、PDLを読み込み(S1002)、順
に解釈してゆき(S1003)ページイメージの出力命
令が発行されると(S1004)描画命令強制転送指示
を描画命令転送部16に発行し(S1005)、図形描
画指示を発行するPDLの命令により(S1006)、
描画命令の発行を行う(S1007)。
【0035】図4は描画命令保持部15の処理について
の流れ図である。この図において、受信した情報が描画
命令であるときは(S1011、S1012)、格納領
域に空きがあることを確認し(S1013)、描画命令
を受け取り(S1014)、格納するともに格納データ
量のレジスタの値を更新する(S1015)。描画命令
でない場合には描画命令の転送開始に関する報知信号で
ある場合(S1016)、格納領域を切替える(S10
17)。これは、描画命令の転送時間の間にも描画命令
の受信を可能とするために行うものであり、描画命令を
格納する領域を余分にとれない場合には、描画命令発行
部を待たせる構成にする場合もありうる。描画命令でも
転送の報知でもない時はエラーの処理を行う(S101
8)。
【0036】図5は描画命令転送部16の処理について
の流れ図である。この図において、描画命令転送部16
は描画命令保持部15に格納されている描画命令のデー
タ量を監視している(S1021、S1022)。そし
て、その量が予め定めておいた、あるいは、システム全
体の状況に応じて算出した基準値を越えた場合に(S1
023)、各描画命令処理部10,10,…,10がの
受信準備ができていることを検査し(S1024)、受
信準備ができていることを確認すると(S1025)、
描画命令の転送の開始を描画命令保持部15と描画命令
処理部10,10,…,10に報知する。その後で描画
命令保持部15に格納されている描画命令を描画命令処
理部10,10,…,10に転送する(S1027)。
また、格納されている描画命令のデータ量が基準値に満
たない場合でも、強制転送の指示が描画命令発行部14
から与えられていた場合にも(S1028)、ステップ
S1026とS1027を経て描画命令の転送を行う。
【0037】図6は描画命令処理部10の構成の例を示
した図である。この図において、インタフェース13を
介して描画命令がローカルメモリ11内の複製描画命令
格納部111の中に書き込まれる。描画命令が書き込ま
れると、その書き込み動作の開始をきっかけとして、あ
るいは終了をきっかけとして、あるいは割り込みや他の
信号の受信の少なくとも一つをきっかけとして、制御部
102が描画コード算出部104に動作を指示する。描
画コード算出部104は制御部102の指示に従い、複
製描画命令格納領域111の中に格納された少なくとも
一つ以上の描画命令を順に取り出し、処理を行い描画コ
ードを生成する。
【0038】描画コード管理部105は描画コード算出
部104から出力される描画コードを受け取り、ローカ
ルメモリ11内の描画コード格納領域111に格納す
る。この格納は、受け取った順に格納する、あるいは分
割描画領域をさらに分割管理し、それぞれの領域ごとの
描画コードごとにまとめて格納する、あるいは、格納す
る前に重なりが生じる描画コードを検索し、それらに対
して何らかの演算(例えば、描画領域を表す図形表現の
変形とか、色情報の変更など)を施してから有効な描画
コードを再度格納したりする、あるいはその他の処理を
施して格納するなどの少なくとも一つの方法により描画
コードを描画コード格納領域112に格納する。
【0039】図7は描画命令処理部10の処理の流れを
示した図である。この図において、描画命令処理部10
は動作を始めるに当たり、描画領域の分割方法と分割描
画領域の分担に関する情報を読み込み、内部の図示しな
い記憶装置に格納する(S1031、S1032)。こ
の分割方法の情報とは、例えば細い短冊状領域の分割が
走査線単位の分割であるとか、走査線何本分ごとの分割
であるとかの情報である。また、分担に関する情報と
は、分割された細い短冊状の領域の上から何番めの領域
から始まり、幾つの領域ごとに飛び飛びに担当するのか
という情報であるとか、担当する領域を列挙した表の様
な情報であるとか、数を生成する関数の記述とその初期
値と担当する値の表であるとか、様々の指定の方法に関
する情報の少なくとも一形式である。
【0040】まず、描画命令が転送されたかどうかをチ
ェックし、転送された場合にはそれを受信して複製描画
命令格納領域111に格納する(S1037、S103
8、S1030)。複製描画命令格納領域111内に未
処理の描画命令がある場合は(S1033)その描画命
令から描画コードを算出して(S1034)描画コード
管理部105に渡し、描画コードの整理を行って、描画
コード格納領域112内に格納する(S1035)。未
処理の描画命令がなくなると、描画命令の処理が終了し
たことを描画命令処理部内の図示しない描画命令処理状
態記憶部に記録する(S1036)。この描画命令状態
記録部はローカルメモリ11内に格納領域を用意されて
もよいし、描画命令処理部10の外の例えば描画命令転
送部16内等に用意されていてもよい。
【0041】図8は描画コード算出部104の処理の流
れを示した図である。図8において、描画コード算出部
(図6の14)は起動されると、少なくとも一度、分割
描画領域の分担の情報を読み込む。これは接続された描
画領域割り当て部(図1の13)から転送されて格納さ
れている情報であってもよいし、描画領域割り当て部
(図1の13)に一旦接続されて情報を格納された記憶
部(たとえばROMやディスク装置や磁気テープ装置な
ど)から読み込んでもよい(S1041、S104
2)。描画命令の処理の開始が指示されていると(S1
043)、未処理の描画命令がある間(S1044)、
必要なら描画命令により表現されている図形領域に対し
て前処理を行ない(S1045)、描画命令内に規定さ
れている描画図形の分割を行い(S1046)、分割し
た図形領域の図形要素がある間(S1047)、描画コ
ードを生成し(S1048)、描画コード管理部(図6
の15)に転送する(S1049)。
【0042】担当描画領域に関係する描画命令かどうか
の判定をステップS1045の前で行ってもよいし(描
画命令が表現する図形領域の外接矩形を取るなどして、
簡単に判定することができる)、分割した図形要素の段
階で判定してもよい。また、描画コードを生成した段階
で、分担する描画領域に関するものであるかどうかの判
定を行うという構成も可能である。
【0043】また、描画コードの生成は分担する描画領
域についてのみ生成するという方法をとることも可能で
ある。図9はこの1例を示した図である。描画命令が領
域の左右を構成する線分列の組であった場合の例を示し
ている。図9において、説明の簡単のため走査線方向を
図中の水平方向に取り、右向きの方向にX座標軸を割り
付け、それと直交する、図中の上向きにY座標軸を割り
当てたとして説明を行う。
【0044】左側の境界線3101と右側の境界線31
02の間にある領域について、分担する分割描画領域3
013a,3103b,3103cの領域にあるものに
ついてのみ描画コードの算出を行うことが容易である例
をこの図9を用いて説明する。まず、左右の境界線31
01,3102の間にある領域について上の方から調
べ、担当する分割描画領域の内最初に描画コードを計算
すべき分割描画領域3103aを見付ける。これは、左
右の境界線3101,3102の上側のY座標値と担当
する分割描画領域のY座標値を比較していくことで容易
に実現できる。最初に描画コードを算出すべき分割描画
領域3103aを見付けると、その上側の境界3104
aと左右の境界線3101,3102の交点のX座標値
LXTa3111a,RXTa 3113aを求める。
そして、下側の境界線3105aと左右の境界線310
1,3102の交点のX座標値LXBa 3112a,
RXBa 3114aを求める。次に、( LXBa
− LXTa )を計算することによりLDX 311
5を求め、(RXBa − RXTa)を計算すること
によりRDX 3116を求める。そして、この図9の
ような周期的な割り当ての場合には、LSDX 311
7を (N×LDX)、RSDX 3118を(N×R
DX) (Nは分割描画領域の割当の周期)として求
め、LXTb=LXTa + LSDX、RXTb=R
XTa + RXTa、LXBb =LXBa + R
SDX、 RXBb = RXBa + RSDX、…
として、順次計算していくことができ、これにより担
当する分割描画領域に関する部分だけを算出していくこ
とが可能であることが示せた。分割描画領域の割当が周
期的でなくとも、分割描画領域の割当表と、分割描画領
域の割当間隔と、分割描画領域の割当間隔とLSDX
3117, RSDX 3118の対応表を用意する
(一度算出してもよい)ことにより、同等の計算を行う
ことができる。左右の境界線が直線で無い場合にも、関
数表記が行われる曲線などにおいては同様の計算を行う
ことができる。
【0045】描画コードの具体的な算出は、描画コード
の形式に依存するので簡単な形式のものについてのみ例
示する。例えば描画コードが台形表現である場合には、
(LXTa,RXTa,LXBa,RXBa,Y)
(Yは分割描画領域3003aと対応づけられたY座標
値)として表現することができるし、描画コードがラン
レングス表現の場合は((LXTa+LXBa)/2,
(RXTa+RXBa)/2, Y) などにより表現
することができる。この描画コードの具体的な算出は各
描画コードの表現形態に依存する部分が大きいので、こ
こでは各々について特に説明することは省略する。
【0046】図10は描画コード管理部の処理の流れの
一つの例を示したものである。描画コードを受信すると
S1051、S1052)、受け取った描画コードが担
当する複数の分割描画領域に関するものであるかを判定
する1053。該当する分割描画領域に対応した記憶部
内の部分に格納されている描画コードのうち、受信した
描画コードと例えば重なり合うなどの干渉するものを検
索・列挙し(S1054)、干渉部分を排除(描画コー
ドが表現する描画領域が重なって、その領域が受信した
描画コードにより上書きされてしまうため)する(S1
055)。受信した描画コードの格納位置の決定を行
い、格納する(S1056、S1057)。描画コード
を複数受信してからまとめてこの処理の流れで動作する
構成もありうるし、干渉を完全に排除しない構成もあり
うる。
【0047】以下、例を用いて本実施例の動作について
説明を行う。
【0048】図11は先に説明したが、描画領域の分割
方法と描画命令処理部a〜d(3011〜3014)へ
の割り当てを例示したものである。以下の説明ではでは
走査線単位で描画領域を分割し、各走査線を飛び飛び
に、かつ、周期的に順に描画命令処理部a〜d(301
1〜3014)に割り当てている。この例では、簡単の
ため描画命令処理部を4個として説明を行うが、この数
字に特に限定されるものではなく、また、説明の簡単の
ために領域の分割を走査線単位としたが、走査線数本分
や数十本分に相当する領域単位であってもよいことは先
に述べた通りである。
【0049】この分割の方法と割り当ては、描画処理装
置1の構成が決定されると分割描画領域割り当て部13
により行われ、各分割描画命令処理部10,10,…,
10に通知される(ここの説明においては各分割描画命
令処理部a〜d 3011〜3014に通知される)。
また、描画命令発行部14や描画命令転送部16や描画
命令保持部15に対して割り当てを知らせておき、描画
命令のデータ内に担当する描画命令処理部の指定を含ま
せることも、本実施例が例示する範囲に含まれる。
【0050】図12は説明に使用する「絵」のサンプル
とその絵を描画する際の描画命令の発行を説明するため
の図である。描画命令は簡単のため台形形式の図形領域
表現をしようして説明するが、特にこの形式に限定する
ものではない。描画命令は実際は座標値や属性値、ある
いは他のデータ構造に対するポインタなどの数値データ
の組から構成されるが、以降の説明では、説明の簡単の
ため描画コードを台形の図形表現により表す。
【0051】図12の2001のような「絵」を描画す
るに当たってPDLからは、例えば2010,202
0,2030の順に図形描画の指示が出される。描画命
令発行部14においては、これらの図形描画指示から、
図形描画命令処理部10,10,…,10が実行する描
画命令に変換する。図形描画命令の形式は図形指示に使
用された表現をそのまま使用することも、曲線部分を直
線化して多角形化したものを使用することも、走査線方
向に並行でない相対する線分列(曲線を含む場合もあり
うる)の組を使用することも、台形表現を使用すること
も、矩形表現を使用することも、走査線方向の始点と終
点あるいは長さを指定したランレングス表現を使用する
ことも、あるいはその他の公知な領域の表現を使用する
ことも可能であり、これらの内のどれか一つ以上を使用
することができる。しかし、ここでは説明の簡単のため
に描画命令を台形表現として説明を続ける。
【0052】描画指示2010,2020,2030は
順に処理されそれぞれ描画命令2011〜2017、2
021〜2025、2031〜2037が発行される。
この台形化の方法はいくつも公知な方法が存在するが、
簡単な方法として、ここでは多角形の頂点から走査線に
平行な線を仮想的にひき、この線により多角形を分割す
るという方法にしたがって、台形表現の描画命令201
1〜2017、2021〜2025、2031〜203
7を生成した例を示した。曲線からなる描画指示202
0については曲線部分の多角形近似を先に行い多角形化
するという方法に従った例となっている。発行された描
画命令は発行される順に描画命令保持部15に格納され
る。
【0053】図13は図12で発行された描画命令が格
納された状態を示す。この図では、描画命令を10個ず
つまとめて格納する領域が用意されている。このまとめ
る個数の量と格納場所の個数は描画命令転送部により指
示されるものであるかも知れないし、予め定められた数
字でもよい。
【0054】描画命令は2021〜2025、2031
〜2037の順で格納されていくが、描画命令処理部1
0,10,…,10側の描画命令受信用のバッファの容
量やその他諸々の関係で、予め定めておいただけのデー
タ量の描画命令が格納されると、あるいは格納されてい
る描画命令から算出される数値(例えば描画命令が表現
する図形領域の面積の概算の合計値であるとか、台形な
どの図形の個々の高さの合計値など、さまざまな数値を
算出して利用することができる)と、描画命令転送部1
6により検知され、描画命令の転送が開始される。これ
に先立ち、描画命令の格納場所の指定も切り替えられ
る。図13の例では、描画命令が10個ごとに格納さ
れ、10個格納されると転送されるという例にしてあ
る。
【0055】図13の例では、最初は描画命令格納領域
a(151)に順に描画命令が格納されていたが、描画
命令2023を格納したところで規定値に達したので、
描画命令転送部16からの制御により、格納場所を描画
命令格納領域a(151)から描画命令格納領域b(1
52)に切り替えて描画命令の格納が続行されている。
図13においては、描画命令を格納する場所を2組用意
したが、特に2組に規定するものではなく1組でもある
いは3組以上でも同様に本実施例が適用できる。
【0056】図14は描画命令格納領域a(151)か
ら描画命令2011〜2017,2021〜2023が
転送される状態を示す図である。図14においては描画
命令転送部16は描画命令保持部15内の描画命令格納
領域a(151)から、同時に複数の描画命令処理部a
〜d(3011〜3014)に描画命令2011〜20
17,2021〜2023をまとめて転送する。各描画
命令処理部a〜d(3011〜3014)はそれぞれロ
ーカルメモリa〜d(3021〜3024)内の複製描
画命令格納領域a〜d(3031〜3034)内に格納
する。図14の例においては各描画命令2011〜20
17,2021〜2023は全て、それぞれの描画命令
処理部a〜d(3011〜3014)内の複製描画命令
格納領域a〜d(3031〜3034)に格納されてい
るが、各描画命令処理部a〜d(3011〜3014)
は、受け取った描画命令2011〜2017,2021
〜2023のそれぞれについて、それぞれの担当する分
割描画領域に関係するかどうかを判定する部を用意し、
担当する分割描画領域に関係する物だけをそれぞれ選ん
で複製描画命令格納領域a〜d(3031〜3034)
に格納する構成も容易である。
【0057】図15は説明に使用する描画命令例のデー
タ構造の1例である。走査線方向をX座標の方向とし、
それに直交する方向をY座標の方向とする。Y座標値3
211は台形表現の描画命令の例3210の上端のY座
標値を示し、高さ3212とはその台形の高さの値であ
り、XL座標値 3213は台形の上の辺の左側のX座
標値、XR座標値3215は台形の上側の辺の右側の座
標値、勾配L3214は台形の左側の辺の傾きの値であ
り、Y座標値が一つ下方向に変化する際に変化するX座
標の値を示しており、勾配R3216は台形の右側の辺
に対する勾配Lと同様の値である。属性値は例えば領域
を塗る色やパターンを示す値が格納されうる。
【0058】描画命令格納領域a(151)に格納され
た描画命令2011〜2017,2021〜2023が
描画命令処理部a〜d 3011〜3014に転送され
ると、各描画命令処理部は描画命令2011〜201
7,2021〜2023に対する処理を行う。これにつ
いて描画命令処理部の一つの動作を取り出して説明を続
ける。
【0059】図16は描画命令処理部a(3011)の
動作について説明するための図である。描画コードのデ
ータ形式は説明の簡単のため、走査線単位のランレング
ス・データとして例の説明を行う。描画コードとして
は、この他矩形表現や台形表現や、線分列の組の表現
や、関数表現など様々なものが採用できるが、ここでは
説明の簡単のためランレングスデータを描画領域の表現
方法の例として採用している。命令処理部a(301
1)は複製描画命令格納部a(3031)に格納された
描画命令から、担当する分割描画領域に関するものにつ
いて描画コードを算出する。この算出方法については、
その例を既に説明したので、ここでは特に説明を行わな
い。担当する分割描画領域だけについて算出する方法
も、順番に各操作線単位で算出しておいて、担当する分
割描画領域に関する物だけを選ぶ方法も共に容易であ
る。
【0060】各描画命令処理部a〜d(3011〜30
13)は、分割描画領域の担当は起動された時、あるい
は処理が開始された時などに少なくとも一度、描画領域
割り当て部13、あるいは、描画領域割り当て部13か
ら値を得た記憶手段から描画命令処理部a〜d(301
1〜3013)内に分割描画領域の担当に関する情報を
得る。
【0061】複製描画命令格納部a〜d(3031〜3
034)に格納されていた描画命令2011〜201
7,2021〜2023 について、順に描画コード算
出部104により描画コード2901〜2906が算出
される。描画命令によっては担当する分割描画領域20
02a1〜2002a4の領域に関係する描画コードを
生成しないものもあるが、これは、描画コードを算出す
る段階で判定されても、描画命令を受信した段階で判定
されても、描画命令を複製描画コード格納領域に格納す
る段階で判定されても、描画コードを算出してから判定
されてもよく、少なくとも、これらの方法のうちの一つ
により、担当する分割描画領域に関する描画コードのみ
が描画コード格納領域に格納される。但し、他の描画コ
ードに悪影響を及ぼさないものであれば、担当する分割
描画領域と関係の無いものも描画コード格納領域112
に格納されても構わない場合もある。
【0062】描画コード算出部104により算出された
描画コードは順に描画コード管理部105に渡される。
描画コード管理部105は各描画コードを担当する分割
描画領域ごとに分類するなどして整理して、管理する。
この管理の種類としては、生成された順に順序良く格納
するとか、生成された順番に関連した数値を描画コード
に付すとともに、描画コードを座標値をもとにして並べ
替えるとか、重なりあう描画コードの部分を検索して、
上塗りされる描画コードの部分を削除するなど、様々な
ものが想定できる。図16は描画コードを担当する分割
描画領域2002a1,2002a2,2002a3,
2002a4ごとにまとめて管理し、かつ、重なり合う
部分を蓄積した描画コードから削除する例について模式
的に図示してある。
【0063】図17は例示した描画コードのデータ構造
の1例である。XLは描画コードが表現する図形領域の
左側の座標値、XRは右側の座標値である。属性値は描
画命令から受け継がれる値を格納することができる。
【0064】描画命令処理部a(3011)は複製描画
命令格納領域3031に格納されている描画命令201
1〜2017,2021〜2023に対する処理が終る
と、描画命令処理部a(3011)は描画命令処理部3
011内あるいは外の記憶手段に処理が終ったことを示
す値を書き込む。描画命令転送部16はこの値を、直接
あるいは間接的に参照することにより各描画命令処理部
の処理が終了したことを知ることができる。描画命令転
送部16は全ての描画命令処理部3011,3012,
3013,3014の処理が終り、描画命令の受信準備
があることを確認すると、転送の条件を満たしている描
画命令を各描画命令処理部に転送する。この例において
は、2回目の転送は、描画指示の終了により強制的に転
送を命じられることに伴い起こる。
【0065】図18は2回目の転送が行われた後の描画
命令処理部a(3011)の動作について図示したもの
である。図16に説明した動作と基本的に同様である
が、既に描画コード格納領域112に格納されている描
画コードと算出された描画コードが重なり合う部分があ
る。この部分については、本実施例においては格納され
ている描画コード内から重なる描画コードを探索し、上
書きにより消される部分について描画コードを演算する
ことにより、削除する例を図示した。この検索について
は、効率的な公知の探索方法を使用することも、該当す
る分割描画領域の格納領域に格納されている描画コード
を全て調べることにしても容易に実現できる。また、描
画コードの演算については、台形や曲線を含む線分裂の
組にしても計算により実現する様々な方法があるが、本
実施例で例に使用しているようなランレングスのもので
は特に容易であり、XR,XL座標値を変更するあるい
はデータを分割する、あるいはデータを削除するという
数種類のパターンによる処理で実現できる。
【0066】描画指示命令も、各描画命令処理部の動作
も終了すると、この後の段階についても様々な処理手順
が想定できる。各描画命令処理部が図示しない通信線を
介して、図示しないマルチプレクサに接続されている構
成も、あるいは、共通メモリに通信路を介して接続され
る構成も、あるいは、図示しない中央処理部により、各
ローカルメモリ内のデータを集められる構成も、その他
様々な構成がありうる。そして、各描画命令処理部は描
画コードを出力とする場合も、描画コードを他の形式の
圧縮画像表現に変換してから出力とする場合も、あるい
は、描画コードからラスタデータを生成してそれを出力
とする場合もどれも、本実施例の範囲に含まれる。
【0067】図19に描画命令処理部a〜d(3011
〜3014)から描画コードを集めた場合に、描画コー
ドが表現している図形2099を模式的に示す。
【0068】本実施例は描画領域の分割方法と分割描画
領域の担当の割り当てにより、各描画命令処理部の負荷
が理論的に均等になる様にした上で、これに対して実際
に均等に負荷を分配するために、複数の描画命令を一度
に転送する様にしたものである。これにより、負荷が均
等に割り当てられる確率が高くなり、効率的に並列処理
を行うことができ、このことにより、高速な描画処理装
置を実現することができる。
【0069】図20は本実施例の動作タイミングの例を
示した図である。描画命令発行部が予め定めてあった量
の描画命令を発行するまで描画命令転送部が監視を行
い、その量に達すると格納されている描画命令をまとめ
て転送する(t4101)、そして、各描画命令処理部
a〜dは転送される描画命令を同時に受け取る(t41
02)。そして、各描画命令処理部において描画命令の
処理が終了すると、処理の終了に関する同期が行われ
(t4103)、格納されている別の描画命令が転送さ
れる。負荷が均等に割り当てられるため、各描画命令処
理部a〜dの処理時間4104はほぼ同じ長さであるこ
とが期待できるため、同期のための時間が小さくて済
む。
【0070】細い短冊状領域で描画領域を区切った場
合、隣の短冊状領域もその隣の短冊状領域も、多くの場
合にはさほど異ならないことを、この実施例においては
利用している。そして、多少の違いを吸収するために、
描画命令を複数個同時に転送することにしたものであ
る。この、近くの短冊状領域に対する描画がさほど異な
らないため、複数の描画命令を同時に転送しても、各描
画命令処理部の処理は皆さほど異ならない処理を行うこ
とになり、その結果各描画命令処理部の処理の終了時間
もさほど異ならないことが期待できる。このことは、描
画命令処理部同士の待ち時間が少ないことを意味し、効
率的に描画命令の処理を並列に処理できることを意味す
る。
【0071】先の実施例においては、描画命令処理部同
士が互いに干渉し合わなかったために、同時に処理を実
行して、ほぼ同時に終了するという性質が、並列処理に
おいて負荷を均等に分配する上で適していた。しかし、
描画命令処理部同士が互いに動作を干渉し合うような構
成の場合には、この性質が欠点となる。
【0072】図21は各描画命令処理部が、共有メモリ
に接続されている例である。そして、各描画命令処理部
のローカルメモリは、共有メモリのアドレスの一部を反
映するキャッシュメモリとして動作するシステムとす
る。このようなシステムは汎用のマルチプロセッサ・シ
ステムによく見られるものであり、この様なシステムに
おいて、描画命令処理部が同時に動作を始めると、メモ
リのアクセスが各描画命令処理部のローカルメモリ内に
収まって動作している間は、先の実施例の構成において
も良好に動作するが、蓄積する描画コードの量が増えて
くると、ローカルメモリとして使用しているキャッシュ
メモリの容量を越え、共有メモリにアクセスすることに
なる。
【0073】図21において、計算装置5005,…,
5008が共有バス5003および共有メモリ5002
に接続されており、さらにこの共有バス5003に中央
制御装置およびインターフェース5004が接続されて
いる。これら計算装置5005,…,5008はローカ
ルのキャッシュメモリ5105,…,5108を有して
いる。キャッシュメモリ5105,…,5108がロー
カルメモリを構成し、計算機5005,…,5008上
のソフトウェアが描画命令処理部5205,…,520
8を構成している。
【0074】図22は、図21の構成の動作のタイムチ
ャートを示し、この図において、まず、中央処理装置
(描画命令転送部)5001が描画命令を転送し(t4
101)、計算装置(描画命令処理部)5105,…,
5108がこの描画命令を同時に受信する(t410
2)。この後計算装置は5105,…,5108は描画
処理を実行し、必要に応じて共有メモリをアクセスす
る。そして、アクセス要求に干渉が起こることがある
(t4105)。そしてこの干渉のために各描画命令処
理時間が描画命令の処理を終えるまでの時間が延びる。
すなわち、描画命令処理部の台数を増やしただけの効果
を得ることが出来なくなる。
【0075】この現象は、本発明で採用している描画領
域の分割方法と分割領域の割り当て方法により、どの処
理部に割り当てられている描画命令も「ほぼ同じ」であ
ることによっている。このため、描画コードの数がロー
カルメモリの容量を越えるタイミングも、共有メモリへ
アクセスするタイミングも、非常に似通ったものとなっ
てしまう。
【0076】この様な不具合を改良するために、図23
は動作順序制御部を用意し、描画命令処理部の動作タイ
ミングを制御する、動作タイミング制御部20を備えた
実施例の構成を示ている。動作タイミング制御部20は
各描画命令処理部と通信して定める数値、あるいは予め
定められた数値、あるいは適時算出した数値にもとづい
て、個々の描画命令の処理開始時間をずらす、あるい
は、描画コードの管理動作のタイミングをずらす。動作
タイミング制御部20の容易な実現方法の一つを例示す
る。動作タイミング制御部20の機能は各描画命令処理
部に順に描画命令を転送することによっても実現するこ
ともできる。この場合の動作タイミングの図を図24に
示す。
【0077】描画命令が規定量格納されると、描画命令
転送部は転送を開始する。このとき、動作タイミング制
御部との強調動作により、各描画命令処理部a〜dの順
に描画命令を転送する。各描画命令処理部は描画命令を
受け取ると各々描画命令にしたがって動作する。これに
より、各描画命令の動作の開始タイミングは異なるもの
にすることができる。さらに、各描画命令処理部の動作
時間は共通の描画命令に対してはほぼ同じと期待するこ
とができ、以降の処理については動作タイミング処理部
により毎回の描画命令の転送を制御することもできる
が、各描画命令処理部の動作の終了タイミングが先に描
画命令の転送した時のタイミングとほぼ同じようにずれ
るため、以降の処理は、動作の終了した描画命令処理部
の順に描画命令を転送していくこととしても、常に動作
タイミング制御部により制御していた場合に近い効果が
得られる。
【0078】図25は描画命令処理部10の別の実施例
の構成図である。ローカルメモリ内に更に描画可能領域
を制限するクリッピング領域を表す、クリップコードの
格納領域113を用意している。クリップコード格納領
域113には、担当描画領域に関係するクリップ情報
が、処理の段階に応じて格納される。クリップコードは
描画命令の一部として転送される構成も、描画命令とは
別に転送される構成も共にありうる。
【0079】図26はクリップ処理を含んだ描画命令処
理部の処理の流れを示した図である。ステップS208
1から2087までは特に前出の実施例との差はない。
描画コードを生成した後(S2088)、クリップ処理
の指定があると(S2089)、描画コードを生成した
際に描画コードをクリップデータとてらし合わせて、ク
リップデータが表現する描画領域の範囲内になるように
描画コードの領域表現を修正することによりクリップ処
理を行い(S2090)、描画コード管理装置へ転送す
る(S2091)。クリップコードの生成方法あるいは
転送方法や、その制御方法については特に規定しない。
図示しないクリップデータ管理部から転送されて来ても
よいし、描画命令の中にクリップコードを表現する命令
や制御する命令を含めることも当業者には容易である。
【0080】また、汎用のマルチプロセッサシステム上
のソフトウェアとして本発明を実施した場合などにおい
ては、処理の実行中にまれに描画命令処理部がその上で
動作している計算機が入れ替わることがある。この場
合、ローカルメモリに格納されている有効なデータを無
駄にしないために、描画コード格納領域などにアクセス
せずに、計算機の割り付けのやり直しを要請するように
することが望ましい。これは、各描画命令処理部10内
に、それぞれが動作すべき計算機を特定できる数値を格
納する記憶部を用意すると共に、この数値と動作を行っ
ている計算機から得られる数値を比較する部と、比較結
果が期待する結果でない場合に、計算機の再割り当てを
要求する部を備えることにより解決することができる。
この描画命令処理部の構成の1例を図27に示す。
【0081】図27において、制御部102に動作予定
計算機ID格納部1901、罫線器ID獲得部190
2、計算機ID比較部1903、および計算機再割り当
て要求部1904が実装されている。動作自体は、容易
に理解できるので説明を省略する。
【0082】以上説明した実施例では、描画命令が一括
して描画処理要素に転送され、そのうえでより細かな単
位で描画処理がパラレルに実行される。換言すれば、パ
ラレルに実行される描画処理の単位で描画命令を構成し
て対応する描画命令処理要素に個別に転送するのでな
く、より大きな単位の描画命令を一括して各描画命令処
理要素に転送し、その上で各描画命令処理要素が自分の
割り当てに応じた処理を実行するようにしているので、
描画命令の転送回数が大幅に削減され、その結果パラレ
ルの処理効率を十分に活用することができる。
【0083】また、描画命令に応じて各描画命令処理部
で形成された描画コードは描画コード管理部で管理さ
れ、上塗りの処理を削除したりされ、描画処理が最適化
される。先に説明した特開平−318174号公報の従
来例では、描画要素が現れる度にローカルなビットマッ
プを塗りつぶすことになるため、カラーのグラデーショ
ンを表現する際のように、非常にたくさんの描画要素の
重ね塗りを行われた場合に、ローカルビットマップの塗
りつぶし作業待ちとなり、パラレル処理のボトルネック
となっていた。この実施例では、このような問題も回避
される。
【0084】
【発明の効果】以上説明したように、この発明によれば
PDLの様なベクトルやコードによる記述形式の出力記
述形式を入力としてラスタ出力デバイスに出力する描画
システムにおいて、複数の描画命令処理部に描画対象の
小領域を割り当て、その小領域を描画単位とする描画命
令でなく、より大きな領域を描画単位とする描画命令を
用いているので、小領域応じた描画命令を個別の描画命
令処理部に転送する場合に比べ、転送トラフィックが減
少し、描画命令の転送が描画処理のボトルネックとなる
ことがなくなる。それでいて、各描画命令処理部は、大
きな領域の描画命令を受け取って自分の受け持ちの小領
域の描画処理を実行するので処理が有効に分散され、効
率よく描画処理を行える。したがって描画部分の並列処
理化を効率的に実現でき、この結果として高速に描画結
果を得る事ができる。
【図面の簡単な説明】
【図1】この発明の一実施例の構成を示すブロック図で
ある。
【図2】この発明を適用する印刷装置の構成の一例を示
すブロック図である。
【図3】図1の描画命令発行部14の処理の流れを示す
フローチャートである。
【図4】図1の描画命令保持部15の処理の流れを示す
フローチャートである。
【図5】図1の描画命令転送部16の処理の流れを示す
フローチャートである。
【図6】図1の描画命令処理部10の構成例を示すブロ
ック図である。
【図7】 図6の描画命令処理部10の全体の動作を説
明するフローチャートである。
【図8】 図6の描画コード算出部104の動作を説明
するフローチャートである。
【図9】 図6の描画コード算出部104の他の構成例
を説明する図である。
【図10】 図6の描画コード管理部105の動作を説
明するフローチャートである。
【図11】 図1の実施例における、描画領域の分割例
を示す図である。
【図12】 図1の実施例における、絵のサンプルと描
画命令の関係を説明する図である。
【図13】 図12の描画命令が描画命令格納部15に
格納された状態を説明する図である。
【図14】 図12の描画命令が描画命令処理部10に
転送される状態を説明する図である。
【図15】 図1の実施例で用いる描画命令のデータ構
造を説明する図である
【図16】 図1の実施例における1つの描画命令処理
部の動作を説明する図である。
【図17】 図1の実施例で用いる描画コードのデータ
構造を説明する図である
【図18】 図1の実施例における1つの描画命令処理
部の動作を説明する図である。
【図19】 図1の実施例における善描画命令処理部か
らの処理結果の合成例を説明する図である
【図20】 図1の実施例の動作タイミングをを説明す
るタイムチャートである
【図21】 図1の実施例の変形例を説明するブロック
図である。
【図22】 図22の動作タイミングを説明するタイム
チャートである。
【図23】 図21の変形例の改善例を説明するブロッ
ク図である。
【図24】 図23の改善例の動作を説明するタイムチ
ャートである。
【図25】 図1の実施例の変形例を説明するブロック
図である。
【図26】 図25の変形例の動作を説明するタイムチ
ャートである。
【図27】 図1の実施例の変形例を説明するブロック
図である
【符号の説明】
1 描画処理装置 2 ネットワークインタフェース 3 ラスタ出力装置 4,12,17 通信路 10 描画命令処理部 11 ローカルメモリ 13 描画領域割り当て部 14 描画命令発行部 15 描画命令保持部 16 描画命令転送部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 川本 浩史 神奈川県足柄上郡中井町境430 グリーン テクなかい 富士ゼロックス株式会社内

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 ローカルメモリを具備する複数の描画命
    令処理手段と、 描画対象領域を分割した部分領域を、上記複数の描画命
    令処理手段に択一的に割り当て、上記複数の描画装置の
    各々が、割り当てられた部分領域の描画処理を行うよう
    にする部分領域割り当て手段と、 描画処理が複数の部分領域にまたがり得る描画命令を生
    成する手段と、 上記描画命令を単一の転送処理で上記複数の描画命令処
    理手段に転送する手段と、 上記複数の描画命令処理手段で実行された描画処理結果
    を回収し、上記描画命令の目的画像を生成する手段とを
    有することを特徴とする描画処理装置。
  2. 【請求項2】 上記部分領域が線状である請求項1記載
    の描画処理装置。
  3. 【請求項3】 上記部分領域が帯状である請求項1記載
    の描画処理装置。
  4. 【請求項4】 上記部分領域を、上記部分領域の並び方
    向に沿って周期的に上記複数の描画命令処理手段に割り
    当てる請求項1、2または3記載の描画処理装置。
  5. 【請求項5】 上記割り当て手段は割り当て表を記憶
    し、上記割り当て表に応じて上記部分領域を上記複数の
    描画命令処理手段に割り当てる請求項1、2、3または
    4記載の描画処理装置。
  6. 【請求項6】 上記複数の描画命令処理手段の各々は、
    クリップデータを保持するクリップデータ格納領域を備
    える請求項1、2、3、4または5記載の描画処理装
    置。
  7. 【請求項7】 上記複数の描画命令処理手段は共有メモ
    リに接続され、上記ローカルメモリは上記共有メモリに
    対するキャッシュメモリを構成する請求項1、2、3、
    4、5または6記載の描画処理装置。
  8. 【請求項8】 上記複数の描画命令処理手段の動作開始
    タイミングを相互にずらす動作タイミング制御手段を、
    さらに有する請求項1、2、3、4、5、6または7記
    載の描画処理装置。
  9. 【請求項9】 上記複数の描画命令処理手段の各々は、 当該描画命令処理手段の動作を処理すべき計算機を識別
    するための識別子をストアする手段と、 当該描画命令処理手段の動作を処理している計算機の識
    別子を上記ストアされている識別子と比較する手段と、 比較結果に応じて計算機の再割り当てを請求する手段と
    を有する請求項1、2、3、4、5、6、7または8記
    載の描画処理装置。
  10. 【請求項10】 上記複数の描画命令処理手段で実行さ
    れた描画処理結果は、ランレングス形式で保持される請
    求項1、2、3、4、5、6、7、8または9記載の描
    画処理装置。
  11. 【請求項11】 上記複数の描画命令処理手段で実行さ
    れた描画処理結果は、台形形式で保持される請求項1、
    2、3、4、5、6、7、8または9記載の描画処理装
    置。
  12. 【請求項12】 ローカルメモリを具備する複数の描画
    命令処理手段と、 描画対象領域を分割した部分領域を、上記複数の描画命
    令処理手段に択一的に割り当て、上記複数の描画命令処
    理手段の各々が、割り当てられた部分領域の描画処理を
    行うようにする部分領域割り当て手段と、 描画ファイルを出力する手段と、 描画ファイルを受け取って第1の描画命令を出力する手
    段と、 上記第1の描画命令を、全体として上記第1の描画命令
    と等価な複数の第2の描画命令であって、各々の描画処
    理が複数の上記部分領域にまたがり得るものに変換する
    手段と、 上記第2の描画命令を複数個同時にかつ単一の転送処理
    で上記複数の描画命令処理手段に転送する手段と、 上記複数の描画命令処理手段で実行された描画処理結果
    を回収し、上記描画命令の目的画像データを生成する手
    段と、 上記目的画像データに応じて目的画像を出力する手段と
    を有することを特徴とする描画処理装置。
  13. 【請求項13】 ローカルメモリを具備する複数の描画
    命令処理手段を用いた描画処理法方において、 描画対象領域を分割した部分領域を、上記複数の描画命
    令処理手段に択一的に割り当て、上記複数の描画命令処
    理手段の各々が、割り当てられた部分領域の描画処理を
    行うようにするステップと、 描画処理が複数の部分領域にまたがり得る描画命令を生
    成するステップと、 上記複数の描画命令処理手段で実行された描画処理結果
    を回収し、上記描画命令の目的画像データを生成するス
    テップとを有することを特徴とする描画処理方法。
JP33021795A 1995-12-19 1995-12-19 描画処理装置および方法 Pending JPH09167242A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP33021795A JPH09167242A (ja) 1995-12-19 1995-12-19 描画処理装置および方法
EP97102917A EP0860768A1 (en) 1995-12-19 1997-02-21 Drawing processor and drawing processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP33021795A JPH09167242A (ja) 1995-12-19 1995-12-19 描画処理装置および方法
EP97102917A EP0860768A1 (en) 1995-12-19 1997-02-21 Drawing processor and drawing processing method

Publications (1)

Publication Number Publication Date
JPH09167242A true JPH09167242A (ja) 1997-06-24

Family

ID=26145261

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33021795A Pending JPH09167242A (ja) 1995-12-19 1995-12-19 描画処理装置および方法

Country Status (2)

Country Link
EP (1) EP0860768A1 (ja)
JP (1) JPH09167242A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001195603A (ja) * 1999-10-28 2001-07-19 Nintendo Co Ltd 3次元グラフィックスのための頂点キャッシュ
JP2002527835A (ja) * 1998-10-14 2002-08-27 株式会社日立製作所 3次元グラフィックプロセッサ
JP2005196735A (ja) * 2003-12-10 2005-07-21 Seiko Epson Corp 印刷データ分散処理システム、印刷要求装置、データ処理装置、印刷装置、印刷要求装置用プログラム、データ処理装置用プログラムおよび印刷装置用プログラム、並びに印刷データ分散処理方法および印刷データ分散処理支援方法
US7035982B2 (en) 2001-09-27 2006-04-25 Kabushiki Kaisha Toshiba Data processor with a built-in memory
JP2007200141A (ja) * 2006-01-27 2007-08-09 Canon Inc 画像形成装置及び画像形成方法
JP2010009603A (ja) * 2008-06-27 2010-01-14 Toshiba Corp 画像処理装置及び画像処理方法
JP2010282015A (ja) * 2009-06-04 2010-12-16 Funai Electric Co Ltd 表示装置
JP2015189141A (ja) * 2014-03-28 2015-11-02 京セラドキュメントソリューションズ株式会社 描画処理装置、描画処理方法、プログラム
JP2016103154A (ja) * 2014-11-28 2016-06-02 ルネサスエレクトロニクス株式会社 データ処理方法、プログラム及びデータ処理装置
KR101628817B1 (ko) * 2015-08-18 2016-06-09 엘아이지넥스원 주식회사 동기화 복구 정보를 생성하는 병렬 처리 데이터 동기화 복구 방법
KR101628816B1 (ko) * 2015-08-18 2016-06-09 엘아이지넥스원 주식회사 병렬 처리 데이터 동기화 복구 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4566772B2 (ja) 2005-02-14 2010-10-20 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471563A (en) * 1992-07-10 1995-11-28 Microsoft Corporation System and method for automatic resolution reduction
DE69524381T2 (de) * 1995-03-23 2002-08-14 Agfa Gevaert Nv Parallele Verarbeitung des Datenstroms der Seitenbeschreibungssprache

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002527835A (ja) * 1998-10-14 2002-08-27 株式会社日立製作所 3次元グラフィックプロセッサ
JP2001195603A (ja) * 1999-10-28 2001-07-19 Nintendo Co Ltd 3次元グラフィックスのための頂点キャッシュ
JP4644353B2 (ja) * 1999-10-28 2011-03-02 任天堂株式会社 3次元グラフィックスのための頂点キャッシュ
US7035982B2 (en) 2001-09-27 2006-04-25 Kabushiki Kaisha Toshiba Data processor with a built-in memory
US7237072B2 (en) 2001-09-27 2007-06-26 Kabushiki Kaisha Toshiba Data processor with a built-in memory
US7546425B2 (en) 2001-09-27 2009-06-09 Kabushiki Kaisha Toshiba Data processor with a built-in memory
JP2005196735A (ja) * 2003-12-10 2005-07-21 Seiko Epson Corp 印刷データ分散処理システム、印刷要求装置、データ処理装置、印刷装置、印刷要求装置用プログラム、データ処理装置用プログラムおよび印刷装置用プログラム、並びに印刷データ分散処理方法および印刷データ分散処理支援方法
JP2007200141A (ja) * 2006-01-27 2007-08-09 Canon Inc 画像形成装置及び画像形成方法
JP2010009603A (ja) * 2008-06-27 2010-01-14 Toshiba Corp 画像処理装置及び画像処理方法
JP2010282015A (ja) * 2009-06-04 2010-12-16 Funai Electric Co Ltd 表示装置
JP2015189141A (ja) * 2014-03-28 2015-11-02 京セラドキュメントソリューションズ株式会社 描画処理装置、描画処理方法、プログラム
JP2016103154A (ja) * 2014-11-28 2016-06-02 ルネサスエレクトロニクス株式会社 データ処理方法、プログラム及びデータ処理装置
KR101628817B1 (ko) * 2015-08-18 2016-06-09 엘아이지넥스원 주식회사 동기화 복구 정보를 생성하는 병렬 처리 데이터 동기화 복구 방법
KR101628816B1 (ko) * 2015-08-18 2016-06-09 엘아이지넥스원 주식회사 병렬 처리 데이터 동기화 복구 장치

Also Published As

Publication number Publication date
EP0860768A1 (en) 1998-08-26

Similar Documents

Publication Publication Date Title
JP3194351B2 (ja) ページ記述言語データストリームの並列処理
US8861014B2 (en) Systems and methods for optimized printer throughput in a multi-core environment
US6327050B1 (en) Printing method and apparatus having multiple raster image processors
JP3166977B2 (ja) フルカラーコンピユータグラフイツクスのパイプライン構成
JPH09167242A (ja) 描画処理装置および方法
CN103019631B (zh) 打印数据处理系统和打印数据处理方法
JP2910649B2 (ja) 画像形成装置および画像形成方法
US20070070403A1 (en) Information processing apparatus, information processing method, and program
JP6759922B2 (ja) 画像処理装置及びプログラム
JP5226581B2 (ja) ディスプレイリストの並行ラスタ化のための方法、コンピュータ可読媒体及びコンピュータ可読メモリ
US5710873A (en) Apparatus and method for maximizing a rate of image data transfer in a printing system
US7103833B1 (en) Image processing apparatus, output apparatus, image processing system and image processing method
JP2817687B2 (ja) 画像形成装置
EP0870277B1 (en) Image rendering for page printers
US5563987A (en) Pagemap memory representation in RISC processor printers
CN102681800A (zh) 图像处理装置及信息处理方法
JP2015005131A (ja) 印刷データ処理装置、プログラム、及びシステム
JP3246415B2 (ja) プリンタ制御方式およびプリンタ制御プログラムを記録した記録媒体
JP2894286B2 (ja) 画像処理装置
JP2010111099A (ja) 画像処理装置およびその制御方法
JP2001096854A (ja) 印刷処理装置および印刷処理方法
JP2011051141A (ja) 画像形成装置、画像処理方法及び制御プログラム
JP3053196B2 (ja) イメージデータのラスタ変換装置
JP2000255116A (ja) 印刷処理装置および印刷処理方法
JPH11129553A (ja) メモリ管理方法及びそれを用いた印刷装置と印刷システム