Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3125863B2 - 印刷処理装置 - Google Patents
[go: Go Back, main page]

JP3125863B2 - 印刷処理装置 - Google Patents

印刷処理装置

Info

Publication number
JP3125863B2
JP3125863B2 JP09082699A JP8269997A JP3125863B2 JP 3125863 B2 JP3125863 B2 JP 3125863B2 JP 09082699 A JP09082699 A JP 09082699A JP 8269997 A JP8269997 A JP 8269997A JP 3125863 B2 JP3125863 B2 JP 3125863B2
Authority
JP
Japan
Prior art keywords
data
unit
print data
logic circuit
print
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
JP09082699A
Other languages
English (en)
Other versions
JPH10278361A (ja
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 JP09082699A priority Critical patent/JP3125863B2/ja
Priority to US09/050,361 priority patent/US6219149B1/en
Publication of JPH10278361A publication Critical patent/JPH10278361A/ja
Application granted granted Critical
Publication of JP3125863B2 publication Critical patent/JP3125863B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ページ単位で印刷
処理が可能な印刷処理装置に関する。
【0002】
【従来の技術】小型、高速のデジタル印刷に適した電子
写真方式のページプリンタの開発に伴い、従来の文字情
報中心の印刷から脱皮した、画像、図形、文字などを同
様に取り扱い、図形、文字等の拡大、回転、変形などが
自由に制御できる記述言語を用いる印刷処理装置が一般
に普及してきた。このような記述言語の代表的な例とし
て、PostScript(Adobe System
s社商標)、Interpress(Xerox社商
標)、Acrobat(Adobe Systems社
商標)、GDI(Graphics Device I
nterface、Microsoft社商標)等が知
られている。
【0003】記述言語で作成されている印刷データは、
ページ内の任意の位置の画像、図形、文字を表現する描
画命令及びデータを任意の順で配置した命令及びデータ
列で構成されており、本発明に係わるページプリンタで
印字するためには、印字前に印刷データをラスタ化しな
ければならない。ラスタ化というのは、ページ又はペー
ジの一部を横切る一連の個々のドットまたは画素へ展開
してラスタ走査線を形成し、そのページの下へ引き続く
走査線を次々に発生する過程である。従来のページプリ
ンタは、印字前にページ全体の印刷データをラスタ化
し、ページバッファメモリに記憶していた。しかしなが
ら、ページ全体に対するラスタデータを記憶するために
は、大量のメモリを必要とする。特に、最新の電子写真
方式のカラーページプリンタでは、C(Cyan)、M
(Magenta)、Y(Yellow)、BK(Bl
ack)の4色のトナーに対応するラスタデータを必要
とするとともに、白黒ページプリンタ以上に画質が要求
されるため、1画素当たり複数のビット情報を持つのが
一般的であり、さらに大量のメモリを必要とする。
【0004】この大量のメモリの必要性に対し、コスト
低減の観点からメモリ要求を低減させる技術として、最
近バンドメモリ技術が登場してきた。バンドメモリ技術
は、ページプリンタの印字前に1ページ分の印刷データ
を全てラスタ化するのではなく、記述言語で作成されて
いる印刷データを、印刷データをラスタ化するよりも速
くラスタ化可能な比較的簡単な中間データに変換し、1
ページを隣接する複数の領域(バンド)に分割し、各バ
ンドに対応する中間データを記憶した後、ラスタ展開処
理部に順次転送し、バンドに対応するバッファメモリに
展開する技術である。バンドメモリ技術では、中間デー
タを記憶するためのメモリは新たに必要であるが、ラス
タデータのための大容量を必要とするバッファメモリを
低減することが可能となる。しかし、一般的なバンドメ
モリ技術では、あるバンドのラスタデータの印字が終了
までに、次のバンドに対する中間データからラスタデー
タへの展開を終了させる必要がある。印刷データに複雑
な図形描画命令や扱うデータ量の大きい画像描画命令が
含まれている場合、あるいは1ページ内の特定のバンド
に複雑な図形描画命令や画像描画命令が含まれている場
合等、中間データからラスタデータへの展開が間に合わ
ない状況が発生する可能性がある。
【0005】そこで中間データからラスタデータへの展
開処理を高速化するために専用ハードウェアを利用する
ことが考えられた。上に述べたように、ページ内に描画
される対象としては、画像、図形、文字があり、これら
はそれぞれのオブジェクトの型に応じて特殊な処理を必
要とする。例えば、画像の場合、解像度変換、アフィン
変換、これらの処理に伴う補間、色処理等である。ま
た、図形の場合には、座標変換、ベクタ/ラスタ変換、
塗りつぶし処理等が必要である。また、文字の場合に
は、アウトライン座標の変換、ヒント処理、ベクタ/ラ
スタ変換、塗りつぶし処理等が必要である。そこで、こ
れらすべての処理に対応する専用ハードウェアを1つづ
つ用意することが必要となる。しかしこの場合、メモリ
量を削減出来たとしても、追加する専用ハードウェア量
が多くなってシステム全体が高価になるという問題があ
った。また中間データをビットマップにする目的のH/
Wは、中間データをビットマップにする時だけにしか使
用できず、処理に応じた専用ハードウェアを並列的に用
意して置くことはその使用率を考えると大変無駄である
という問題があった。
【0006】従来このような問題を解決する試みとし
て、全ての機能について並列にハードウエアを設けるの
では無く、ハードウェアのプログラマビリティあるいは
構造を再構成することにより機能を可変し、少ないハー
ドウエアで多くの機能を高速に実現しようとする試みが
行われている。そのような考え方を持った本発明に関す
る従来技術として、特開平6−131155号公報や特
開平6−282432号公報などがある。
【0007】
【発明が解決しようとする課題】特開平6−13115
5号公報の手法は、データ記憶領域に対するアドレス発
生の発生手段を再構成するとともに、アドレス発生の手
段により得られたデータ記憶領域のデータに対する演算
手段を再構成することによって、様々な画像処理を少な
いハードウェアで達成しようとするものである。ただし
この構成はアドレス情報に重要な意味ある画像処理に対
する再構成は可能であるが、図形、文字などのようにベ
クター処理に対応することはできない。また画像処理に
ついても、常に再構成を行って処理するため、ページ記
述言語(PDL)のように様々な画像が任意に出現する
場合には、再構成時間が多くなるという問題もあった。
さらに書き換えられる処理がほぼ同等の大きさの処理で
ないと、書き換え単位が一番大きな処理に合わされるた
め、様々な大きさの処理の再構成では、無駄が生じると
いう問題もあった。
【0008】特開平6−282432号公報は、並列動
作可能な演算回路をあらかじめ必要な種類分の複数個設
けて、データ流れを制御しようとするものである。この
ような方式は、一部の画像処理の用に、少ない種類の演
算回路を頻繁に使用するという応用には適しているが、
画像、図形、文字など様々な種類の描画要素が混在する
ものに応用すると、演算回路の種類が多く必要となるた
め、本来の目的であるハードウエア量を小さくすること
ができないという問題がある。
【0009】本発明は以上のような点を考慮してなされ
たものであり、少なくとも画像、図形、文字を含む印刷
データの内容に応じて、展開処理に用いられるハードウ
ェアの再構成を、書き換え回数/書換規模とも効率的に
行えるようにすることで、同一のハードウェア資源を用
いて高速かつ省資源な印刷処理を可能にすることを目的
とする。
【0010】
【課題を解決するための手段】本発明によれば、上記の
目的を達成するために、少なくとも文字、図形、画像の
描画要素のいずれかを表す、所定の描画命令で記述され
た第1の印刷データを、画像出力用データ構造の第2の
印刷データに展開し、上記第2の印刷データに基づいて
画像出力を行う印刷処理装置に、複数の論理ブロック
上記複数の論理グロックの入力データ及び出力データの
フローを制御する切り替え手段とを含む論理回路装置で
あって、上記論理回路ブロックの機能及び上記切り替え
手段の切り替え態様の少なくとも一方を構成データに応
じて設定可能であり、論理回路構成情報に応じて上記構
成データを変更して上記論理回路構成情報に対応する
理回路構成で上記第1の印刷データを上記第2の印刷デ
ータに展開する論理回路装置と、上記第1の印刷データ
を入力する入力手段と、上記入力手段に入力された第1
の印刷データに含まれる描画要素の重なりを判定する判
定手段と、少なくとも上記判定手段の判定情報と上記入
力手段に入力された第1の印刷データの内容とに基づい
て、上記入力手段に入力された第1の印刷データの描画
要素を並び換え、さらに上記論理回路構成情報を含む所
定形式の印刷データに変換して上記論理回路装置に供給
する変換手段と、上記論理回路装置で展開された第2の
印刷データに基づいて画像を出力する出力手段とを設け
るようにしている。そして上記論理回路装置は上記所定
形式の印刷データに含まれる論理回路構成情報に対応す
る論理回路構成で上記所定形式の印刷データを上記第2
の印刷データに展開する。
【0011】この構成においては、論理回路構成が柔軟
に設定可能な論理回路装置を設けて、少ないハードウェ
ア要素で、描画要素の展開に必要な多くの機能を実現す
ることができる。さらに描画要素の重なりや内容を分析
して描画要素の処理順序を最適化し、併せて処理対象の
描画要素に応じて論理回路構成を最適化してスループッ
トを向上させることができる。
【0012】また、この構成において、上記変換手段に
おける描画要素の並び換えを、上記論理回路装置により
並列に展開可能な描画要素が連続するように行われるよ
うにしてもよい。
【0013】また、上記論理回路装置による並列な展開
は、同一または異なる機能ブロックを複数個含むように
設定された論理回路構成により行われるようにしてもよ
い。
【0014】また、上記変換手段における描画要素の並
び換えは、上記論理回路装置の上記構成データの変更回
数が減少するように行われるようにしてもよい。
【0015】また、上記変換手段は、上記判定手段によ
り重なり有りと判定された描画要素間の順序の並び換え
を行わないようにしてもよい。
【0016】また、上記判定手段は、上記描画要素を包
含する外接矩形を用いて重なりを判定するようにしても
よい。
【0017】また、上記変換手段は、上記判定手段によ
り重なり有りと判定された描画要素間の重なりを除去し
てから順序の並び換えを行うようにしてもよい。
【0018】また、上記描画要素の並び換えは、ページ
毎または複数スキャンライン単位にページを分割したバ
ンド毎に行われるようにしてもよい。
【0019】また、上記論理回路装置は、論理回路構成
を全部または部分的に変更可能であるようにしてもよ
い。
【0020】また、上記論理回路装置は、相前後して入
力される上記所定形式の印刷データにそれぞれ含まれる
上記論理回路構成情報が同一の場合に、上記構成データ
の変更を省略するようにしてもよい。
【0021】また、上記論理回路装置は、少なくともフ
ィールドプログラマブルゲートアレイを含むようにして
もよい。
【0022】また、上記論理回路装置は、複数の演算処
理装置と、上記複数の演算処理装置の入力データ及び出
力データのフローを切り替える切り替え手段とを具備す
るようにしてもよい。
【0023】また、上記変換手段が、複数の論理ブロッ
と上記複数の論理ブロックの入力データ及び出力デー
タのフローを制御する切り替え手段とを含み、上記論理
ブロックの機能及び上記切り替え手段の切り替え態様の
少なくとも一方を構成データに応じて設定可能な論理回
路装置を具備し、上記変換手段の処理の少なくとも一部
を上記変換手段中の上記論理回路装置で実行するように
してもよい。
【0024】また、上記論理回路装置は、複数の機能ブ
ロックをパイプライン動作させて展開を行うように設定
されるようにしてもよい。
【0025】また、本発明によれば、上述の目的を達成
するために、少なくとも文字、図形、画像の描画要素の
いずれかを表す、所定の描画命令で記述された第1の印
刷データを、画像出力用データ構造の第2の印刷データ
に展開し、上記第2の印刷データに基づいて画像出力を
行う印刷処理装置に、複数の論理ブロックと上記複数の
論理ブロックの入力データ及び出力データのフローを制
御する切り替え手段とを含む論理回路装置であって、上
論理ブロックの機能及び上記切り替え手段の切り替え
態様の少なくとも一方を構成データに応じて設定可能
あり論理回路構成情報に応じて上記構成データを変更
して上記論理回路構成情報に対応する論理回路構成で上
記第1の印刷データを上記第2の印刷データに展開する
論理回路装置と、上記第1の印刷データを入力する入力
手段と、上記入力手段に入力された第1の印刷データに
含まれる描画要素の重なりを判定する判定手段と、少な
くとも上記判定手段の判定情報と上記入力手段に入力さ
れた第1の印刷データの内容とに基づいて、上記入力手
段に入力された第1の印刷データを、上記論理回路構成
情報を含む所定形式の印刷データに変換して上記論理回
路装置に供給する変換手段と、上記論理回路装置で展開
された第2の印刷データに基づいて画像を出力する出力
手段とを設けるようにしている。そして上記論理回路装
置は上記所定 形式の印刷データに含まれる論理回路構成
情報に対応する論理回路構成で上記所定形式の印刷デー
タを上記第2の印刷データに展開する。
【0026】この構成においても、論理回路構成が柔軟
に設定可能な論理回路装置を設けて、少ないハードウェ
ア要素で、描画要素の展開に必要な多くの機能を実現す
ることができる。さらに描画要素の重なりや内容を分析
して処理対象の描画要素に応じて論理回路構成を最適化
してスループットを向上させることができる。
【0027】また、この構成において、上記変換手段
は、上記判定手段により重なりなしと判定された連続す
る複数の描画要素を含む印刷データを、上記複数の描画
要素を並列に展開する論理回路構成を特定する論理回路
構成情報を含む形式に変換するようにしてもよい。
【0028】また、上記描画要素の並列な展開は、同一
または異なる機能ブロックを複数個含む論理回路構成
より行われるようにしてもよい。
【0029】また、本発明によれば、上述の目的を達成
するために、少なくとも文字、図形、画像の描画要素の
いずれかを表す、所定の描画命令で記述された第1の印
刷データを、画像出力用データ構造の第2の印刷データ
に展開し、上記第2の印刷データに基づいて画像出力を
行う印刷処理装置に、複数の論理ブロックと上記複数の
論理ブロックの入力データ及び出力データのフローを制
御する切り替え手段とを含む論理回路装置であって、上
論理ブロックの機能及び上記切り替え手段の切り替え
態様の少なくとも一方を構成データに応じて設定可能
あり論理回路構成情報に応じて上記構成データを変更
して上記論理回路構成情報に対応する論理回路構成で上
記第1の印刷データを上記第2の印刷データに展開する
論理回路装置と、上記第1の印刷データを入力する入力
手段と、上記入力手段に入力された第1の印刷データ
を、上記第1の印刷データの内容に対応する論理回路構
情報を含む所定形式の印刷データに変換して上記論理
回路装置に供給する変換手段と、上記論理回路装置で展
開された第2の印刷データに基づいて画像を出力する出
力手段とを設けるようにしている。そして上記論理回路
装置は上記所定形式の印刷データに含まれる論理回路構
成情報に対応する論理回路構成で上記所定形式の印刷デ
ータを上記第2の印刷データに展開する。また上記変換
手段は上記論理回路装置により並列に展開可能な描画要
素が連続するように上記描画要素を並び換える。あるい
は、上記変換手段は同じ種類の描画要素が連続するよう
に上記描画要素を並び換える。
【0030】この構成においても、論理回路構成が柔軟
に設定可能な論理回路装置を設けて、少ないハードウェ
ア要素で、描画要素の展開に必要な多くの機能を実現す
ることができる。さらに描画要素の内容を分析して処理
対象の描画要素に応じて論理回路構成を最適化してスル
ープットを向上させることができる。
【0031】また、この構成において、上記変換手段
は、上記論理回路構成情報に応じて、上記変換データ中
の上記論理回路構成情報を省略するようにしてもよい。
【0032】
【発明の実施の形態】以下、本発明の実施例について説
明する。 [実施例1] 図1は本発明による実施例1の構成を表すブロック図で
ある。図1において画像処理装置は、印刷データ作成部
1と、印刷データ入力部2と、変換処理部3と、展開処
理部4と、出力部5とから構成されている。さらに、変
換処理部3は、字句解析部30と、中間データ生成部3
1と、中間データ順序制御32と、中間データ記憶部3
3とから構成されている。また、展開処理部4は、再構
成可能展開部40と、再構成制御部41と、構成データ
管理部42とから構成されている。
【0033】印刷データ作成部1は、パーソナルコンピ
ュータやワークステーション内において、文書作成や編
集等を処理するアプリケーションプログラムで生成され
た文書データから記述言語で記述された印刷データを作
成する機能を備えたものである。本実施例で対象とする
記述言語は、例えばGDI、Acrobatで代表され
るPDF(Portable Document Fo
rmat)、PostScript等のページ記述言語
(Page Description Languag
e)である。
【0034】印刷データ入力部2は、印刷データ作成部
1で生成された印刷データを入力するための通信機能、
あるいは変換処理部3へ出力されるまでの間印刷データ
を一時記憶する機能等を備えたものである。
【0035】変換処理部3は、印刷データ入力部2より
入力された印刷データから展開処理部4における印字デ
ータへの展開処理可能な中間データに変換してその並び
換えを行なう。変換処理部3は、字句解析部30と、中
間データ生成部31と、中間データ順序制御部32と、
中間データ記憶部33とからなる。
【0036】字句解析部30は、印刷データ入力部2よ
り入力された印刷データを定められた記述言語のシンタ
ックスに従ってトークンとして切り出し、そのトークン
を中間データ生成部31に出力するものである。
【0037】中間データ生成部31は、字句解析部30
から出力されるトークンを受け取って解釈し、描画命令
を実行し、各描画命令に対する台形を基本単位としたデ
ータを生成し、中間データ順序制御部32へ送る。中間
データを生成する目的は、展開処理部4での高速な展開
処理を可能にすることである。そのため、中間データは
単純な図形(台形)の集合で表されている。また中間デ
ータには、展開処理に関する情報として展開処理IDも
付加されている。中間データ順序制御部32は、中間デ
ータ生成部31から出力されるある単位の量の中間デー
タを読み込んで、それらの間の重なり判定を行ない、そ
の結果に基づいて並び換えを行なって中間データ記憶部
33に出力する。その際、並び換えに基づく並列処理可
能な中間データのグループ毎に、他のグループとの境界
を示す情報と、展開処理部4の再構成可能展開部40に
書き込まれる構成データに対する識別子であるハードウ
ェア構成IDが付加される。中間データ記憶部33は送
られてきた中間データを記憶し、必要に応じて展開処理
部4から読み出される。
【0038】展開処理部4は、変換処理部3から出力中
間データをバンド単位に読み出し、展開処理部4内のバ
ンドバッファメモリに印字データを作成する。この処理
は展開処理部4内の2つのバンドバッファメモリに交互
に蓄積される。尚、後述するように本実施例で利用され
る出力部5は、カラーページプリンタであり、バッファ
メモリに交互に蓄積される印字データは出力部5で印字
している記録色の印刷データに対応している。続いて、
バンドバッファメモリに蓄積された印字データは、出力
部5の印字データ要求に応じて、出力部5に交互に出力
される。
【0039】出力部5は、展開処理部4のバンドバッフ
ァメモリから出力される印字データを受け取って、記録
用紙に印字し出力するものである。更に、詳しくは、C
MYBK(シアン、マゼンタ、イエロー、ブラック)カ
ラーの色毎に露光、現像、転写を繰り返すことによりフ
ルカラー画像を出力できるレーザー走査方式の電子写真
方式を用いたカラーページプリンタである。また出力部
6は、インクジェット方式のカラープリンタでもよい。
この場合には、展開処理部4のバンドバッファメモリか
ら出力部5に印字データが4色同時に出力される。
【0040】ここで、一般的なレーザー走査方式の電子
写真方式を用いたカラーページプリンタの構成及び動作
について、図2に基づき説明する。図2において、ビデ
オインターフェース50は、展開処理部4から順次送ら
れてくるCMYBKの色情報に対応した印刷データを図
示されない半導体レーザの点灯を制御するドライバーへ
入力して光信号に変換する。半導体レーザ走査装置51
は、赤外半導体レーザ、レンズ711、ポリゴンミラー
510より構成され、数十μmのスポット光となって感
光体ドラム72を走査する。感光体ドラム52は、帯電
器53により帯電されており、光信号により、静電潜像
が形成される。潜像はロータリー現像器54上の2成分
磁気ブラシ現像によりトナー像となり、転写ドラム55
上に吸着させた用紙上に転写される。感光体ドラム52
は、クリーナー56で余分のトナーがクリーニングされ
る。この工程をBK、Y、M、Cの順に繰り返し、用紙
上に多重転写する。最後に、転写ドラム55により用紙
を剥離し、定着器57でトナーを定着する。なお、58
は用紙の搬送経路である。
【0041】次に上述したように構成された印刷処理装
置における印刷データの流れについて整理する。印刷デ
ータ作成部1で作成された印刷データは、印刷データ入
力部2を介して、変換処理部3の字句解析部30に入力
される。字句解析部30において印刷データから切り出
されたトークンは、中間データ生成部31に入力され
る。中間データ生成部31ではそのトークンを解釈して
バンド単位に分割した中間データが生成される。中間デ
ータ順序制御部32では、中間データは重なりに基づい
て順序を並び換え、並列処理可能なグループに分けら
れ、中間データ記憶部33にバンド単位に1ページ分記
憶される。このとき中間データは、台形集合を基本とし
たデータに、どのバンドに属しているかのバンドID、
画像、文字、図形等の種類、描画の属性、台形集合に対
する外接矩形、並列処理可能なグループID、ハードウ
ェア構成IDが付加されたものである。そして中間デー
タ記憶部33は、展開処理部4の要求に応じて中間デー
タを送り出す。
【0042】一方、展開処理部4では、変換処理部3か
ら入力される中間データに付加されたハードウェア構成
IDによって、必要に応じて構成データ管理部42から
構成データを入力し、再構成制御部41の制御により再
構成可能展開部40の機能を書き換える。また、展開処
理部4では、中間データを受け取って出力部5で最初に
記録される印字データでバンドバッファメモリが満たさ
れるまで展開処理が行われる。出力部5のサイクルアッ
プ、あるいは出力準備が完了すると、バンドバッファメ
モリから出力部5に、出力部5の記録速度に応じて印字
データが1ライン毎に転送され、印字が行われる。1つ
のバンドバッファメモリの印字データが印字されている
間に、片側のバンドバッファメモリが印字データで満た
されるまで展開処理が実行される。展開処理部4の印字
データへの展開及び出力部6での印字は、1ページ分の
印刷データが処理されるまで、色毎にあるいは4色同時
に繰り返される。さらに、上記印刷データが複数ページ
で構成される場合は、全ページの出力が終了するまで繰
り返される。
【0043】以上、本発明の印刷処理装置の概要につい
て記述した。次に、この印刷処理装置の主要部の詳細に
ついて説明する。
【0044】初めに、中間データ生成部31、中間デー
タ順序制御部32、中間データ記憶部33について詳細
を説明する。
【0045】中間データ生成部31は、図3に示すよう
に、トークン解釈部310と、命令実行部311と、画
像処理部312と、描画状態記憶部313と、ベクター
データ生成部314と、フォント管理部315と、マト
リックス変換部316と、ショートベクター生成部31
7と、台形データ生成部318と、バンド分解管理部3
19部とから構成される。
【0046】トークン解釈部310は、字句解析部30
から入力されたトークンを解釈し、内部命令に変換して
命令実行部311へ送る。命令実行部311は、トーク
ン解釈部310から送られてきた命令に応じて画像処理
部312、描画状態記憶部313、ベクターデータ生成
部314へ転送する。画像処理部312は、入力された
画像ヘッダと画像データをもとに各種の画像処理を行っ
て出力画像ヘッダと出力画像データを生成し、台形デー
タ管理部320へ転送する。描画状態記憶部313は、
命令実行部311の命令によって与えられる描画に必要
な情報を記憶する。ベクターデータ生成部314は、命
令実行部311の命令とそれに付加された情報、描画状
態記憶部313からの情報、フォント管理部315から
の情報を使用して描画すべきベクターデータを生成し、
マトリックス変換部316へ転送する。フォント管理部
315は、各種フォントのアウトラインデータを管理記
憶し、要求に応じて文字のアウトラインデータを提供す
る。マトリックス変換部316は、ベクターデータ生成
部314から入力されたベクターデータを描画状態記憶
部313の変換マトリックスによってアフィン変換し、
ショートベクター生成部317へ転送する。ショートベ
クター生成部317は、入力されたベクター中の曲線に
対するベクターを複数の直線のベクター集合(ショート
ベクター)で近似し、台形データ生成部318へ送る。
台形データ生成部318は、入力されたショートベクタ
ーから描画する台形データを生成して、バンド分解部3
19へ転送する。バンド分解管理部319は、入力され
た台形データのうち複数のバンドにまたがる台形データ
をそれぞれのバンドの台形データに分割し、さらにバン
ド単位に分割された台形データに対して、どのバンドに
属するかを表すバンドIDと、バンド単位に分割された
台形データ集合に対する外接矩形と、データ管理情報と
描画状態記憶部313から入力された色情報または画像
処理部312から入力された画像データと、展開処理情
報である展開処理IDを付加して、中間データ順序制御
部32へ送る。中間データ順序制御部32では、バンド
単位毎に、中間データの重なりに基づいて順序を並び換
え、並列処理可能なグループに分けて、ハードウェア構
成IDとグループIDを付加する。中間データ記憶部3
3は、バンド単位で、中間データ順序制御部32が出力
する中間データを1ページ分記憶する。尚、上記に説明
したトークン解釈部310から中間データ生成部31ま
での処理は、描画命令が入力されるたびに繰り返し行わ
れる。そして中間データ順序制御部32からの中間デー
タ記憶部までの処理は、場合によって、バンド単位ある
いはページ単位で行なわれる。中間データ記憶部33か
ら展開処理部4への中間データの転送は、1ページ分の
中間データが記憶された後に行われる。
【0047】以下では、実際のデータ構造を示しなが
ら、中間データ生成部31、中間データ順序制御部3
2、中間データ記憶部33の各部の動作をより詳細に説
明する。
【0048】トークン解釈部310は、字句解析部30
から入力されたトークンを解釈し、内部命令やその引数
に変換し、それら内部命令と引数の組を命令実行部31
1へ転送する。例えば内部命令には、文字/図形/画像
の描画を実行する描画命令や、色や線属性など描画必要
な情報を設定する描画状態命令などがある。
【0049】命令実行部311は、トークン解釈部31
0から送られてきた内部命令を実行する。ここで実行す
る命令は、主に描画命令と描画状態命令がある。例えば
描画命令には、表1に示すように3種類の描画命令があ
り、それぞれの描画に必要な情報が示されている。この
うちアンダーラインがある情報については、描画命令中
の引数として与えられ、その他の情報は予め初期設定や
先行する命令などにより描画状態記憶部313に記憶さ
れている。描画命令の実行は、画像描画以外は受け取っ
た描画命令をそのままベクターデータ生成部314へ転
送する。画像描画の場合は、受け取った描画命令を画像
処理部312へ転送するとともに、画像ヘッダの縦と横
の大きさをベクターデータ生成部314へ転送する。ま
た描画状態命令については、命令を描画状態記憶部31
3へ転送する。
【0050】画像処理部312は、命令実行部311か
ら入力された命令の引数である入力画像ヘッダと入力画
像データ受け取り、もしヘッダに付加された圧縮IDを
みて圧縮された画像が入力された場合には圧縮を伸張
し、描画状態記憶部313から獲得した変換マトリック
スを使ってアフィン変換する。さらに場合によっては処
理後の画像を圧縮し、出力画像ヘッダと出力画像データ
を生成してバンド分解管理部319へ転送する。この圧
縮には、もともとPDL側で画像データを圧縮していた
圧縮方式を使用するのが通常だが、特にそうしなくても
よい。例えば、PDL側でDCT(ディスクリート・コ
サイン・トランスフォーム)で圧縮されていてた場合、
それをDCTで圧縮してもよいし、LZW(Lempe
l−Ziv& Welch)法で圧縮してもよいし、圧
縮を行わなくてもよい。また行うアフィン変換では、中
間データバッファのメモリ量を削減するために、わざと
出力装置の解像度より小さい解像度用にアフィン変換し
ておいてもよい。
【0051】描画状態記憶部313は、命令実行部31
1から受け取った命令に含まれる引数の値で、例えば表
1に示したアンダーラインの無い情報についての値の設
定を行い、それらを記憶する。また、画像処理部31
2、ベクターデータ生成部314、マトリックス変換部
316、ショートベクター生成部317、バンド分解管
理部320などの要求に従って、それらの値を転送す
る。
【0052】
【表1】 ベクターデータ生成部314では、命令実行部311か
ら送られてきた命令と引数、描画状態記憶部313の値
を使用して、塗りつぶし描画を除く、新たに描画するた
めのベクターデータを生成する。まず文字描画の場合に
ついて説明する。引数で与えられた文字コードと描画状
態記憶部から獲得したフォントIDをフォント管理部へ
転送して、文字のアウトラインデータを獲得する。獲得
したアウトラインデータには、描画原点(カレントポイ
ント)の情報が含まれていないので、描画状態記憶部3
13から獲得したカレントポイントのオフセットをアウ
トラインデータに加えることによって、目的のベクター
データを生成する。画像描画の場合には、引数で与えら
れた画像ヘッダの縦と横のサイズからそれに対する矩形
ベクターを生成し、描画状態記憶部313から獲得した
カレントポイントのオフセットを加えることで目的のベ
クターデータを生成する。ストローク描画の場合は、引
数で与えられたベクターと描画状態記憶部313から獲
得した各種の線属性から、図4に示すような太さを持っ
た線のアウトラインベクターを生成する。このように生
成したベクター(塗りつぶし描画の場合は命令実行部3
11から直接受け取ったベクター)を、マトリックス変
換部316へ転送する。
【0053】フォント管理部315は、各種フォントに
対するアウトラインベクターデータを記憶するととも
に、与えられた文字コードとフォントIDによって、そ
の文字に対するアウトラインベクターデータを提供す
る。
【0054】マトリックス変換部316は、ベクターデ
ータ生成部314から受け取ったベクターデータを、描
画状態記憶部313から獲得した変換マトリックスによ
ってアフィン変換する。このアフィン変換の主な目的
は、アプリケーションの解像度(座標系)からプリンタ
の解像度(座標系)に変換するためのものである。変換
マトリックスには下式(1)に示すような3x3のもの
が使われ、入力ベクターデータ(Xn,Yn)は、出力
ベクターデータ(Xn’,Yn’)に変換されてショー
トベクター生成部317へ送られる。
【0055】
【数1】 ショートベクター生成部317は、入力されたベクター
の中に曲線のベクターがある場合にその曲線のベクター
を、誤差が描画状態記憶部313から獲得したフラット
ネス(flatness)値より小さくなるように、複
数のショートベクターで近似する処理を行う。例えば曲
線のベクターには、図5に示す4つの制御点で表現され
るベジエ曲線が使われる。この場合ショートベクター化
の処理は、図5に示す通りベジエ曲線を再帰的に分割
し、高さ(距離d)がflatnessで与えられた値
より小さくなった時点で分割を終了する。そして分割さ
れた各ベジエ曲線の始点と終点を順番に結ぶことによ
り、ショートベクター化が完了する。生成されたショー
トベクターは、台形データ生成部318へ送られる。
【0056】台形データ生成部318は、入力されたベ
クターデータから、描画領域を示す台形データ(三角形
の場合もあるがデータ構造は台形と同じである)の集合
を生成する。例えば図6(a)に示す太線で示された多
角形のベクターは、4つの台形により描画領域が示され
る。尚、この台形は出力装置のスキャンラインに平行な
2辺を持った台形であり、1つの台形は図6(b)に示
すように(sx,sy,x0,x1,x2,h)の6つ
のデータで表現される。生成された台形は、バンド分解
管理部319へ送られる。
【0057】バンド分解管理部319は、入力された台
形データのうち複数のバンドにまたがる台形データをバ
ンド毎の台形データに分割する。例えば図7では、4つ
の台形データがバンド分解部によって6つの台形データ
に分割される。さらにバンド毎に分解した台形データに
付加情報をつけて中間データを生成する。付加情報は、
中間データを管理するための管理情報と、展開処理部4
で処理する内容を表す展開処理IDと、台形データを何
色で塗りつぶすかを示す色情報である。文字/図形の描
画命令に対する管理情報は、どのバンドに属するかを示
すためのバンドID、オブジェクトID、オブジェクト
の種類、台形数のデータ、その台形データ集合に対する
外接矩形である。オブジェクトIDとは、一回の描画命
令に対して割当てられる識別番号であり、オブジェクト
の種類とは、文字/図形/画像など描画される対象に対
する識別データである。また展開処理IDは、展開処理
部4での処理を示すIDであり、色情報は例えばCMY
Kの値がである。これらの付加情報は、図8(a)に
示すように、描画命令によって生成されたバンド毎の台
形データの前に付加される。従って、オブジェクトは、
一組の描画属性が付けられた複数の台形データからな
る。また、中間データは、このようなオブジェクトに対
するデータの集合である。画像の描画命令に対する管理
情報は文字/図形と同じであるが、色情報は画像ヘッダ
と画像データとなる。また図8(b)に示すように、画
像ヘッダと画像データは、描画命令によって生成された
バンド毎の台形データそれぞれに対して1つずつ付加さ
れる。また画像ヘッダと画像データは画像処理部312
から入力されるが、中間データとして付加される画像デ
ータは、図9に示すように変換された画像を示すベクタ
ーの最小矩形に対する画像データでってもよいし、各台
形毎の最小矩形に対する画像データであってもよい。さ
らに画像データは容量が大きくなるため、圧縮された形
で格納されていてもよい。画像ヘッダは、画像の大きさ
を表すパラメータの他に、色変換の処理の種類や圧縮方
式の種類も含んでいる。最後に、展開処理IDについて
説明する。展開処理IDは、展開処理部4により実行さ
れる処理に応じたコード情報で、表2のような意味を表
す。これらは、再構成可能ハードウェアの規模と並列的
に実行される処理内容に応じて、中間データ順序制御部
32において、実際の再構成可能展開部40の構成と1
対1に対応する構成IDに変換される。
【0058】
【表2】 中間データ順序制御部32は中間データ生成部31の出
力する中間データをある単位の量だけ入力して、それら
の間の重なり判定を行ない、その結果に基づいて並び換
えを行なって中間データ記憶部33に出力する。その
際、並び換えに基づく並列処理可能な中間データのオブ
ジェクトの集合毎に、他の集合との境界を示す情報と、
展開処理部4の再構成可能展開部40に書き込まれる構
成データに対する識別子であるハードウェア構成IDが
付加される。中間データ順序制御部32における出力デ
ータ形式を、図10に示す。図10において、中間デー
タ順序制御部32が出力する中間データのデータ構造
は、並列処理可能なオブジェクト毎にまとめられてい
る。各集合のデータは、バンドID、ハードウェア構成
ID、オブジェクトの数、集合に属するオブジェクトの
データからなる。
【0059】図11に中間データ順序制御部32の構成
を示す。図11において、321ははオブジェクトバッ
ファ、322は描画順序依存検出部、323は最適化テ
ーブル作成部、324は構成データ選択部、325はリ
オーダ部である。中間データ順序制御部32は、入力さ
れた複数のオブジェクトの描画順序依存性を検出するこ
とにより、オブジェクトを並列に展開処理できる集まり
に分け、それらの間での展開処理の順序付けをするブロ
ックである。オブジェクトの描画順序依存性とは、オブ
ジェクト間に重なりがある場合、字句解釈部30が印刷
データ入力を解釈し中間データ生成部31が描画オブジ
ェクトを生成する順、すなわち、中間データに付けられ
るオブジェクトIDの順に、背面から上に向かって描画
されなければならないという性質である。このように後
で解釈されたオブジェクトを前に解釈されたオブジェク
トの上に上書きするモデルをオペーク(opaque)
モデルと呼ぶ。例えば、図12において、900はペー
ジ領域、901、902、903、904はそれぞれ個
別の描画オブジェクトである。オブジェクト901とオ
ブジェクト902は重なり合っており、後者は前者より
も前面に描画されなければならない。これは、オブジェ
クト901が、オブジェクト902よりも時間的に先に
解釈されるためである。一方、オブジェクト903はオ
ブジェクト904と重なり合っており、同様の理由によ
り後者は前者よりも前面に描画されなければならない。
【0060】オブジェクトバッファ321は、複数個の
オブジェクトデータを入力して格納する。オブジェクト
データを入力して格納する単位は、場合によって複数個
の描画オブジェクトであってもよいし、バンドやページ
などのより大きい単位であってもよい。描画順序依存検
出部322は、オブジェクトバッファ321に格納され
た同一のバンドIDを持つ各オブジェクトのIDと外接
矩形の座標値を入力して、オブジェクト間の描画順序依
存性を検出する。この過程を図12を用いて詳しく説明
する。図12において、901及び904は図形オブジ
ェクトであり、902及び903は画像オブジェクトで
ある。オブジェクト902はオブジェクト901の上に
重なっており、また、オブジェクト904はオブジェク
ト903の上に重なっている。各オブジェクトに付随す
る外接矩形の表す領域に重なりがあるかどうかを調べる
ことによってグループ分けを行なう。重なりを調べる方
法は、2つのオブジェクトの外接矩形の重なり検出を最
小単位として、これを任意の2つのオブジェクトの組み
合わせに対して行なう。2つのオブジェクトの外接矩形
の重なり検出は、次のように行なう。1つのオブジェク
トの外接矩形領域を表す(P1,P2,P3,P4)の
座標点の1つ1つが、別のオブジェクトの外接矩形領域
P5−P6−P7−P8の内部あるいは境界上にあるか
どうかを調べる。もし、P1、P2、P3、P4の内少
なくとも1点が矩形領域P5−P6−P7−P8の内部
あるいは境界上にあれば2つのオブジェクトは重なりを
持ち、それ以外の場合には2つのオブジェクトは重なり
を持たない。従って、図12の場合には、(901,9
02)、(903,904)の2つのグループができ
る。これはオブジェクト901の描画はオブジェクト9
02の描画に先だって行なわれなければならず、また、
オブジェクト903の描画はオブジェクト904の描画
に先だって行なわれなければならないことを示してい
る。また、グループ(901,902)とグループ(9
03,904)は並列的に展開が可能であることを示し
ている。描画順序依存検出部322は、各オブジェクト
のIDに、グループIDと描画順序を示す番号を付けて
出力する。図12の場合には、データ(901,1,
1)、(902,1,2)、(903,2,1)、(9
04,2,2)が出力される。ここで、各データの3つ
の組からなる数字は、それぞれ、オブジェクトID、グ
ループID、描画順序を表している。オブジェクトバッ
ファの大きさは、場合によって、あるバンドに属する複
数のオブジェクト単位でもよく、また、1つのバンドバ
ッファ全体あるいはページ全体でもよい。並列処理可能
なオブジェクトのグループ分け及び選別は、バンド単位
あるいはページ単位で行なう。
【0061】最適化テーブル作成部323は、描画順序
依存検出部322から入力されたオブジェクトID、グ
ループID、描画順序をもとに図13に示されるような
テーブルを作成して、構成データ選択部324に出力す
る。図13において、グループIDは描画順序依存検出
部においてグループ分けされたグループIDである。オ
ブジェクトIDの欄には、各グループにおいて最初に描
画すべきオブジェクト、すなわち、入力された描画順序
が1であるオブジェクトのIDを書き込む。展開処理I
Dの欄には、オブジェクトバッファ321から各オブジ
ェクトに対応する展開処理IDを入力して書き込む。図
13の例の場合、オブジェクト901に対する処理ID
はCode Aであり、オブジェクト903に対する処
理IDはCode Gである。外接矩形面積の欄には、
オブジェクトバッファ321から各オブジェクトに対応
する外接矩形の座標を入力し、その面積を計算して書き
込む。
【0062】構成データ選択部324は、最適化テーブ
ル作成部323が出力する並列処理可能な複数のオブジ
ェクトに対して最も適した再構成可能展開部40の構成
を選択する。構成データ選択部324は、最適化テーブ
ル作成部323が出力するテーブルを用いて図14に示
されるフローチャートにより、再構成可能展開部40の
構成データを選択する。構成データ選択部324が実行
する処理はS1からS4までの4つのステップからな
る。S1において、入力したテーブルから並列処理する
複数のオブジェクトの展開処理IDを入力する。次に、
S2において、全体の再構成可能ハードウェア資源の中
で許容される展開処理ハードウェアの並列的な組み合わ
せの候補を選ぶ。これは並列的に処理されるオブジェク
トの展開処理IDから得られる処理回路の規模をもと
に、次式の制約を満たす組み合わせを選ぶことによって
行なう。
【0063】
【数2】 SIZE≧XN×SIZE(X)+YN×SIZE(Y)+... +ZN×SIZE(Z) ここでSIZEは再構成可能展開部40内の再構成ハー
ドウェア回路全体の規模、SIZE(X)、SIZE
(Y)、SIZE(Z)は各展開処理IDに対応する回
路X,Y,Zの回路規模、XN、YX、ZNは回路X,
Y,Zの並列度である。この式で表されるように、構成
データ選択部324は、同一の機能が複数個ある回路構
成や、異なる機能が複数個ある回路構成の構成データを
選択して、並列処理ができるような仕組みを備える。ま
た、異なる機能が複数個ある回路構成を選択して、それ
らの間で入出力データをパイプライン的にやり取りする
パイプライン的な動作ができるような仕組みも備えて
る。図13のテーブルに対応して、例えば、図15に示
されるような構成を持つ候補が選択される。図15にお
いて、ハードウェア構成IDがXである候補は、オブジ
ェクト901に対するハードウェアリソースとして並列
度が3であり、またオブジェクト903に対するハード
ウェアリソースとして並列度が2である。ハードウェア
構成IDがYである候補は、オブジェクト901に対す
るハードウェアリソースとして並列度が4であり、また
オブジェクト903に対するハードウェアリソースとし
て並列度が1である。次にS3において、各オブジェク
トのデータ量から計算されるハードウェア構成の候補毎
の展開終了時間を計算する。ここで、展開終了時間は並
列処理可能なオブジェクトの展開処理がすべて終わるま
での時間である。各オブジェクトに対する展開処理時間
Toは、
【0064】
【数3】To=DSIZE×Td ÷ PAR で計算する。ここで、DSIZEは処理すべきオブジェ
クトのデータ量、Tdは1単位の処理回路が単位データ
量を処理するのに要する時間、PARは並列度である。
処理すべきオブジェクトのデータ量の概算値として図1
3のテーブルの外接矩形の面積を用いる。図15の例で
は、処理時間はハードウェア構成IDがXである候補に
ついて、20msであり、ハードウェア構成IDがXで
ある候補について、30msである。S4において、最
も展開時間の少ない候補を最終的なハードウェア構成と
して選択する。図15の例では、ハードウェア構成ID
がXの候補が最終的な構成として選択される。
【0065】リオーダ部325は最終的に選択されたハ
ードウェア構成IDと並列的に処理するオブジェクトの
データを、図10に説明したデータ構造に変換して、中
間データ記憶部33に出力する。オブジェクトのデータ
は、オブジェクトIDをオブジェクトバッファ321に
出力して、そのオブジェクトに対するデータをオブジェ
クトバッファ321から入力する。
【0066】構成データ選択部324によって、並列処
理可能なオブジェクトとして、選択されなかったオブジ
ェクトはオブジェクトバッファ321にそのまま残り、
新たなオブジェクトバッファ321の中のオブジェクト
の組み合わせに対して、以上で説明した処理が繰り返さ
れ、図10に示される中間データのデータ構造が出力さ
れる。
【0067】中間データ順序制御部32が出力するデー
タは、中間データ記憶部33へ送られ、中間データ記憶
部33でバンドIDを解釈して、バンド毎にまとめて記
憶される。また字句解析部30でページの出力コマンド
を解釈すると、EOP(End Of Page)が中
間データ生成部31及び中間データ順序制御部32を経
由して、中間データ記憶部33へ送られ、中間データ記
憶部33に記憶された各バンドの最終データにはEOD
(End Of Data)を表すデータが付加され、
バンドデータの終了を明確にする。このEOPは展開処
理部4にも送られ、展開処理部4の処理を起動する。
【0068】次に、展開処理部4について詳細に説明す
る。図16に、再構成可能展開部40のブロック図を示
す。変換処理部3で生成されたバンド毎の中間データ
は、中間データ転送制御部43により読み込まれ、メモ
リ部410の入力バッファA420あるいは入力バッフ
ァB421へ書き込まれる。再構成ハードウェア部46
は、入力バッファA420あるいは入力バッファB42
1から中間データを読み込んで、展開してバンドバッフ
ァA422あるいはバンドバッファB423へ描画す
る。印字データ転送制御部44は、描画済のバンドバッ
ファA422あるいはバンドバッファB423から展開
された印字データを読み込み、これを読み込んだワード
毎にシリアル変換して、シリアル出力クロック信号に同
期して出力部5へ出力する。リフレッシュ制御部44
は、入力バッファA420、入力バッファB421、バ
ンドバッファA422、バンドバッファB423、ワー
ク領域424からなるメモリ部42のリフレッシュを制
御する。アービトレーション部45は、リフレッシュ制
御部47、中間データ転送制御部43、印字データ転送
制御部44、再構成ハードウェア部46、再構成制御部
41、それぞれがメモリ部410をアクセスする際に、
それぞれのブロックに割当てられたアクセスのプライオ
リティに応じてアービトレーション制御を行なう。
【0069】入力バッファとバンドバッファの使用方法
について説明する。図17(a)及び図17(b)はそ
れぞれ、入力バッファAと入力バッファBに中間データ
を入力中の、各バッファの使用状態を示すものである。
図17(a)においては、バンドiに対応する中間デー
タを入力バッファAに入力中であり、入力バッファBに
は既にバンド(i−1)に対応する中間データが入力済
みである。再構成ハードウェア部46は入力バッファB
に蓄えられた中間データを読み出して、これを展開し
て、バンドバッファBに描画する。バンドバッファAに
は、バンド(i−2)に対応する中間データを展開描画
した結果の印字データが蓄えられており、印字データ転
送制御部44はこれを出力部5に読み出している。図1
7(b)においては、バンド(i+1)に対応する中間
データを入力バッファBに入力中であり、入力バッファ
Aには既にバンドiに対応する中間データが入力済みで
ある。再構成ハードウェア部46は、入力バッファAに
蓄えられた中間データを読み出してこれを展開し、バン
ドバッファAに描画する。バンドバッファBには、バン
ド(i−1)に対応する中間データを展開描画した結果
の印字データが蓄えられており、印字データ転送制御部
44はこれを出力部5に読み出している。
【0070】ワーク領域424は、展開処理部4が変換
処理部3から入力した中間データを展開するときに、必
要に応じて一時的なワーク領域として用いる。
【0071】再構成可能展開部40が、図10に示す変
換処理部3が出力する中間データを展開する手順を説明
する。構成制御部41は、入力バッファからハードウェ
ア構成IDとオブジェクトIDを入力して、図18に示
すフローチャートに従って再構成ハードウェア部46を
制御する。構成制御部41が行なう処理はS11からS
17の7つのステップからなる。まず、S11におい
て、次に処理するオブジェクトのハードウェア構成ID
を入力する。S12において、次に処理する構成IDが
直前に処理した構成IDと同じかどうか調べる。同じで
あれば、構成データを再構成ハードウェア部46に新た
に書き込む必要はないので、S15に飛ぶ。違う場合に
は、S13においてハードウェア構成IDをもとに、構
成データ管理部42から構成データを読み出し、S14
において読み出された構成データを再構成ハードウェア
部46に書き込む。S15において、再構成ハードウェ
ア部46に、処理するオブジェクトIDを出力し、処理
の開始を知らせるために開始信号を送る。S16におい
て、再構成ハードウェア部46での処理が終わるまで待
つ。S17において、現在処理中のバンドにさらに処理
すべきオブジェクトがあるかどうかを調べる。あれば、
S1に戻り、なければ終了する。
【0072】図19に構成データ管理部42の構成を示
す。変換テーブル415は、ハードウェア構成IDを入
力して、構成コード記憶領域411の開始アドレスとデ
ータ長を出力するテーブルである。構成コード記憶領域
411は、実際のハードウェア構成IDに対する構成デ
ータが記憶される領域で、各エントリーは可変長であ
る。412は制御部で読み出し制御部413と追加・更
新部414から成る。読み出し制御部413は、再構成
制御部41から読み出し信号とハードウェア構成IDを
入力して、変換テーブル415にハードウェア構成ID
を出力することにより構成データの構成コード記憶領域
411上のアドレスとデータ長を入力する。次に、読み
出し制御部413は、入力したアドレスを構成コード記
憶領域411に出力して、データ長分のハードウェア構
成IDに対応する構成データを構成コード記憶領域41
1から読み出して、再構成制御部41に出力する。追加
・更新部414は、図示されていないホスト計算機など
を経由して送られる構成データを追加・更新するための
制御部で、変換テーブル415のエントリと構成コード
記憶領域411の構成データを、追加したり、削除した
り、更新したりする。構成コード記憶領域411には、
単体の機能を処理するさまざまな回路構成に対応した構
成データ、同一の機能が複数個ある並列的な回路構成に
対応した構成データ、異なる機能が複数個ある並列的な
回路構成に対応した構成データ、異なる機能が複数個あ
るパイプライン的な回路構成に対応した構成データを備
えている。
【0073】次に、再構成ハードウェア部46の具体的
な構成と処理内容について例をあげて説明する。再構成
ハードウェア部46は、構成データ管理部42が管理記
憶する構成データを再構成制御部41の制御により書き
込むことにより、機能を変えることができる処理ブロッ
クである。典型的には、再構成ハードウェア部46は、
フィールド・プログラマブル・ゲート・アレイ(FPG
A)により構成できる。FPGAとしては例えば米国X
ILINX社のFPGAあるいは同等の構成要素を採用
することができる。
【0074】図20はFPGAを用いて構成された再構
成ハードウェア46を示す。図20において、再構成ハ
ードウェア46は制御部461、FPGAユニット46
2およびレジスタ群463を含んで構成される。レジス
タ群463は構成データ管理部42から送られてくる構
成データを記憶するものである。FPGAユニット46
2の機能はレジスタ群462に保持されている構成デー
タによって決定される。制御部461は、レジスタ群4
63のデータの入出力やFPGAユニット462の動作
タイミング等を制御するものである。
【0075】FPGAユニット462は、図21に示す
ように、複数の論理ブロック4621、複数のクロスポ
イントスイッチ4622及び複数のスイッチマトリック
ス4623を含んで構成される。論理ブロック4621
は図22に示すようにルックアップテーブル4621
A、セレクタ4621Bおよびフリップフロップ462
1Cを含んで構成される。ルックアップテーブル462
1Aは所望の真理値表が実装されている。このルックア
ップテーブル4621Aの真理値表及びレレクタ462
1Bの切り替え入力信号はレジスタ群463に保持され
ている値すなわち構成データの一部によって決定され
る。また、クロスポイントスイッチ4622及びスイッ
チマトリックス4623はそれぞれ図23及び図24に
示すように構成することができる。
【0076】再構成ハードウェア部46の機能を表す機
能ブロック図は、書き込まれる構成データによって可変
であるので、図16において、ハードウェア構成IDが
Xのものが選択された場合の例を用いて再構成ハードウ
ェア部46の構成及び動作を説明する。このとき、再構
成ハードウェア部46は図25のような構成になる。図
25において、460、460−1、460−2は展開
処理IDがCodeAに対応する処理回路、470、4
70−1、470−2、470−3は展開処理IDがC
ode Gに対応する処理回路である。処理回路460
の内部構成は、台形描画回路461とスクリーン処理回
路462からなる。処理回路470の内部構成は、画像
伸張回路471、解像度変換回路472、色変換回路4
73、台形描画回路474、スクリーン処理回路475
からなる。処理回路460−1、処理回路460−2、
処理回路480−1、処理回路480−2、処理回路4
80−3からなる回路構成のように、再構成ハードウェ
ア部46は、同一の機能が複数個ある回路構成や、異な
る機能が複数個ある回路構成による並列処理が可能であ
る。また、処理回路480の内部構成のように、複数個
の異なる機能機能間で入出力データをパイプライン的に
やり取りするパイプライン的な動作も可能である。展開
処理IDがCode Aに対応する処理回路460と展
開処理IDがCode Gに対応する処理回路470の
さらに詳しい構成と動作について説明する。
【0077】(i)展開処理IDがCode Aに対応
する処理回路 処理回路460は、変換処理部3が生成した、図形に対
する中間データを処理する。台形描画回路461は、入
力した中間データをなす台形データ(sx,sy,x
0,x1,x2,h)を、図26に示されるような4点
からなるデータ形式に変換して台形領域を描画する。図
27に、台形描画回路461の機能ブロック図を示す。
中間データ入力部463は、入力バッファから1つ1つ
の台形をなすデータを読み込んで、座標計算部A464
および座標計算部B465に台形データを出力する。座
標計算部A464は、台形の左側のエッジ(図26のエ
ッジP0,P1)の座標計算を担当し、エッジ上の座標
値をP0からP1に向かって順に出力する。座標計算部
B465は、台形の右側のエッジ(図26のエッジP2
P3)の座標計算を担当し、エッジ上の座標値をP2か
らP3に向かって順に出力する。エッジ描画部466
は、座標計算部A464及び座標計算部B465から入
力される座標値により、台形のx軸に平行な直線を描画
する。
【0078】図28に、座標計算部の機能ブロック図を
示す。入力された台形データ(sx,sy,x0,x
1,x2,h)はDDAパラメータ計算部467で4点
の台形データ(P0,P1,P2,P3)に変換され
て、傾きや残差の初期値などのDDAのパラメータを計
算し、DDA処理部468に出力する。DDA処理部4
68は、入力されたパラメータに基づいてDDA処理を
行い、最後に求めた点に対する移動方向と移動量を出力
する。座標更新部469は、入力された移動方向と移動
量から現在保持している座標値を更新して出力する。座
標の初期値は、中間データ入力部463によって設定さ
れる。
【0079】図29は、エッジ描画部466のブロック
図である。エッジ描画部466は、座標値A/B及び色
情報を入力して台形の内部領域を塗りつぶす。アドレス
計算部470は、座標値A/Bを入力して、描画するエ
ッジ成分のアドレスを計算する。マスク演算部471
は、座標値A/Bの値を入力して、描画するワード中の
有効なビットを表すマスクを出力する。データ演算部4
72は、固定的な色を表す色データを入力し、この値を
ワード分に展開してスクリーン処理回路に出力し、スク
リーン処理した結果をRmodW部473に出力する。
RmodW部473は、入力されたアドレス、マスク、
データを用いて以下の処理をすることにより描画を行な
う。まず、アドレスにより、バンドバッファをリードす
る。これにより読み込まれたデータをSource、マ
スクデータをMask、描画データをDataとする
と、(Mask*Data+Mask#*Sourc
e)の値を演算して同一アドレスに書き戻す。ただし、
*は論理積、+は論理和、#は論理否定をそれぞれ表
す。この処理は、描画するエッジが含まれるワード毎に
繰り返し行われる。またスクリーン処理回路462は、
最終的なガンマ補正とハーフトーンを行うための処理で
あり、図形を出力する場合に最適化したスクリーンパタ
ーンが設定されている。展開処理IDがCode Bの
場合には、スクリーン処理が、最終的なガンマ補正とハ
ーフトーンを行うため処理であり、文字を出力する場合
に最適化したスクリーンパターンが設定されている。
【0080】(ii)展開処理IDがCode Gに対
応する処理回路 処理回路480は、中間データが画素毎に色の異なる画
像を入力し、表2のCode G示されるような様々な
画像処理を行なう。画像処理は、処理の組み合わせが、
(伸長処理、解像度変換、色空間変換、台形処理、スク
リーン)の場合の処理回路を説明する。
【0081】(伸長処理回路481) 入力された中間データである画像が、圧縮されており、
伸長処理を要する場合には、伸張処理回路481は中間
データをJPEG等のアルゴリズムにより伸長処理す
る。図30に、伸長処理回路481の機能ブロック図を
示す。中間データ入力部481−1は現在入力中の入力
バッファから圧縮された画像データである中間データを
入力する。ハフマン復号化部481−2は内臓されてい
るハフマン復号化テーブルをもとに圧縮データをデコー
ドする。逆量子化部481−3は、ハフマン復号化部4
81−2から入力されるデータを、内臓されている量子
化テーブルをもとに、逆量子化して出力する。逆DCT
部481−4は、逆量子化部481−3から入力される
データを、逆DCT変換式によって変換して出力する。
書き込み部481−5は逆DCT部によって復号化され
た画像データをワーク領域424に書き込む。
【0082】(解像度変換回路482) 図31に、解像度変換回路482の機能ブロック図を示
す。画素データ入力部482−1は伸長処理した結果が
書き込まれたワーク領域424から画素データを読み出
す。画素の読み出しは、解像度変換式(1)の逆変換に
よって現在計算を行なっている画素の補間に必要な入力
画素のみを読み出す。補間処理部482−2では、入力
された画素データから変換後の画素の輝度をそれぞれの
色成分について補間する。補完アルゴリズムは線形補間
法により行なう。画素アドレス計算部482−3では、
現在計算中の画素の座標からワーク領域424の書き込
みアドレスを計算する。書き込み部では、画素アドレス
と補間データをもとに新しい画素の値を書き込む。ワー
ク領域424上で、入力画像と出力画像が割り当てられ
ている領域は異なる領域である。
【0083】(色空間変換回路483) 図32に、色空間変換回路483の機能ブロック図を示
す。色空間変換は、RGB空間の入力画像を印刷色であ
るCMYK空間への変換を行なう。画素データ入力部4
83−1は、アフィン変換された結果を格納するワーク
領域424上の画素データを1画素毎に入力する。テー
ブル変換部483−2はRGB画像データを入力して、
CYMK各色の画像データを出力する。本実施例ではC
MYK色を色毎に処理するので、一度に1色の変換テー
ブルしか必要としない。4色同時に処理したい場合に
は、4色分の変換テーブルを内蔵する。また、変換テー
ブルはテーブル変換部452内に内臓され、テーブルの
容量を削減するためにRGB各色につき9点の代表点を
テーブルのアドレスとして持ち、さらに詳細なアドレス
部による変換の値は次の補間処理部483−3で行な
う。補間処理部483−3では、変換するRGB色空間
の1点を囲む6点の代表点から3次元での線形補間処理
により、詳細な変換値を求める。この過程を示したもの
が、図33である。変換したいRGB空間の点Pに対し
て、テーブル変換部483−2で点Pを囲む3角柱の頂
点となるような6点(a,b,c,d,e,f)の変換
値をルックアップテーブルで求め、これをもとに線形補
間を行なう。書き込み部483−4は画素データ入力部
483−1が入力した同一アドレスに変換結果を上書き
する。
【0084】(台形処理回路484) 画像データを台形領域に描画するための台形描画回路4
84の構成は、基本的に、図27に示した文字及び図形
の台形処理のための機能ブロックと同じである。台形領
域への画像の貼り付けは、図8(b)に示したようにな
る。このとき、図27での画像の描画に特有の相違点
は、中間データ入力部463は、画像データをワーク領
域424から入力し、エッジ描画部466に画像データ
を出力する。台形データを表す中間データは入力バッフ
ァから入力する。エッジ描画部466は、文字及び図形
の場合と同様に、現在出力中のバンドバッファに出力画
像を書き込む。
【0085】(スクリーン処理回路485) スクリーンは、データとして保持している1色あたりの
色数が、プリンタで表現できる1色あたりの色数より多
い場合に、プリンタで表現できる色数の色値に変換すた
めの処理である。この代表的な処理は、ハーフトーン処
理と呼ばれ、ハーフトーンマトリックスというNxMの
閾値データを持ち、そのデータと画像データを色ごとに
比較して、プリンタの色ごとの色値を決定するというも
のである。例えば1色あたり1bitのプリンタに1色
あたり8bitで表現された画像データを処理する場
合、NxMの閾値データのハーフトーンマトリックスに
は、0〜255までの任意の値が記憶されている。そし
て実際の画像データの値とその画像の位置によって決ま
るハーフトーンマトリックス閾値データとを比較して、
もし画像データのほうが大きければ、そのピクセルを印
字する色値を出力して、そうでなければ、そのピクセル
を印字しない色値を出力する。
【0086】以上が、処理するオブジェクトが画像デー
タであり、展開処理IDがCodeGに対応する処理の
組み合わせ(伸長処理、解像度変換、色空間変換、台形
処理、スクリーン)に対応した処理回路480の構成及
びそれが行なう処理内容である。
【0087】再構成ハードウェア部46はアービトレー
ション部45を通じてメモリとの間で入出力を行ない展
開結果をバンドバッファに格納する。
【0088】(展開処理部のアクセラレータとしての利
用) 本実施例では、中間データ生成の処理を中間データ生成
部31で処理するように説明したが、この中間データ生
成処理を、展開処理部4のハードウエア構成を変えるこ
とによって再構成可能展開部40に実行させることも可
能である。
【0089】これを図34を使って説明する。例えば、
中間データ生成部の命令実行部311に入力されたLZ
W圧縮された画像は、従来画像処理部312によってL
ZWで伸張し、マトリックス演算を行い、LZWで圧縮
してバンド分解管理部219へ送っていた。この処理
を、画像処理部312に代わって展開処理部4のもつ再
構成可能展開部40によって行わせるというものであ
る。このような処理を行う再構成データを展開処理ID
とともに構成データ管理部41にあらかじめ登録してお
き、画像処理部312に処理する画像が入力されたら、
画像処理部312が処理の内容を解釈して、再構成可能
展開部40へ展開処理IDと入力画像データを送る。再
構成可能展開部40では、送られてきた展開処理IDに
よって、構成データ管理部から構成データを取得して、
内部の再構成可能ハードウエアを再構成する。その後画
像処理の手順に従って、送られてきた入力画像データを
再構成可能ハードウエアを使って処理して、その処理結
果として作成された画像データを画像処理部312へ送
り返す。このような構成によって、再構成可能展開部4
0の再構成可能資源を有効利用することができる。
【0090】(再構成ハードウェアの部分書き換え) ここまで説明した再構成制御部41が行なう再構成ハー
ドウェア部46の書き換えに関しては、すべてのハード
ウェア資源を書き換えることを前提にしてきたが、再構
成ハードウェア部46を必要に応じて部分的に書き換え
る方法も考えられる。部分的な再構成ハードウェア部4
6の書換えを前提とした再構成制御部41の制御方法に
ついて説明する。この場合、図10のデータ構造を生成
する際に並列処理可能なすべてのオブジェクトを1つの
集まりとし、ハードウェア構成IDは必要ない。部分的
な再構成ハードウェア部43の書換えを行なう場合に再
構成制御部41が行なう処理のフローチャートを図35
に示す。図35は、再構成制御部41が1つの並列処理
可能なオブジェクトの集まりに対して行なう制御フロー
である。再構成制御部41が行なう制御フローはS18
からS25の8つのステップからなる。まず、S18に
おいて、次に処理するオブジェクトの展開処理IDを入
力する。S19において、再構成ハードウェア部46の
リソースに入力した展開処理IDに対応する構成データ
を書き込むだけの空きがあるかどうかを調べる。空きが
あれば、S21に飛び、空きがなければS20に進む。
S20において、再構成可能ハードウェア部46が処理
中のある部分的な処理が終わるまで待つ。S21におい
て、構成データの部分的書き換えが必要かどうかを調べ
る。再構成可能ハードウェア部46が終えた処理と次の
処理の展開処理IDが同じであれば、部分的書換えの必
要はない。部分的書換えの必要がなければ、S24へ飛
ぶ。部分的書換えの必要があれば、S22へ進む。。S
22において構成データ管理部42から入力した展開処
理IDに対応する構成データを読み出し、S23におい
て読み出された構成データを再構成ハードウェア部46
に部分的に書き込む。S24において、再構成ハードウ
ェア部46に、部分的な書き込みが終わり処理の開始が
可能になったことを知らせるために同期信号を送る。S
25において、現在処理している並列処理可能なオブジ
ェクトの集まりにまだオブジェクトデータがあるかどう
かを調べる。あれば、S18に戻り、なければ終了す
る。終了したら、再構成ハードウェア部46におけるす
べてのオブジェクトの展開処理が終わるのを待って、再
び新しい組の並列処理可能なオブジェクトの集合に対し
て、図35の制御フローを繰り返す。
【0091】[実施例2] 図36は本発明による実施例2の構成を表すブロック図
である。図36において画像処理装置は、印刷データ作
成部1と、印刷データ入力部2と、変換処理部3と、展
開処理部4と、出力部5とから構成されている。さら
に、変換処理部3は、字句解析部30と、中間データ生
成部31と、中間データ最適化部34と、中間データ再
構成部35と、中間データ記憶部33とから構成され、
展開処理部4は、再構成可能展開部40と、再構成制御
部41と、構成データ管理部42とから構成されてい
る。
【0092】上記の構成の内、印刷データ作成部1と、
印刷データ入力部2と、展開処理部4と、出力部5は先
の実施例1での構成と同じものであるため、ここでは説
明を省略する。
【0093】変換処理部3は、印刷データ入力部2より
入力された印刷データから展開処理部4における印字デ
ータへの展開処理可能な中間データを生成するものであ
り、字句解析部30と、中間データ生成部31と、中間
データ最適化部34と、中間データ再構成部35と、中
間データ記憶部33とからなる。このうち、字句解析部
30と中間データ生成部31と、中間データ記憶部33
は、先の実施例1での構成と同じものであるため、ここ
でも説明を省略する。
【0094】中間データ最適化部34は、中間データ生
成部31でページ記述言語に書かれている順番に生成し
たバンド分割後の描画命令毎の中間データ(以下、オブ
ジェクトとも言う。)を、バンド毎になるべく同じ描画
命令の中間データが続くように並び換えを行う。これ
は、展開処理部4での再構成可能な回路に対する再構成
の回数を少なくして、高速な処理を可能にするためであ
る。並び換えの処理は、バンド毎に各描画命令毎の中間
データの外接矩形を比較して、重なりの有無を判定し、
その結果に基づいて並び換えが可能な場合、同じ描画命
令の中間データが続くように並び換えを行い、並び換え
が不可能な場合にはそののままの順番で中間データ記憶
部33に中間データを書き込むというものである。この
ように、重なりがあるかないかで描画命令の順番を並び
換えできるかどうかの判断が必要な理由は、PDLでは
オペークと呼ばれるイメージングモデルを採用している
ためで、同じ場所に複数の描画が行われた場合に、最後
に描かれた描画命令のみが結果として残るという特徴の
ためである。中間データ再構成部35は、中間データ最
適化部34において描画種類毎にまとめられた中間デー
タの状況に応じて、処理を行うか、処理をスキップする
か判断する。中間データ最適化部34に前もって設定さ
れた閾値と比較して、もし中間データ最適化部34の並
び換えだけで、展開処理部4での再構成可能な回路に対
する再構成の回数が十分に少ないと判断された場合に
は、処理をスキップするが、十分でないと判断された場
合には、中間データ記憶部33からバンド単位に中間デ
ータを読み出し、バンド単位で各中間データ同士の重な
りを取り除く処理を行い、その結果の中間データを生成
する。その中間データ同士は全く重なりがないので、完
全に描画種類毎にまとめて中間データを再構築して、再
びバンド単位に中間データ記憶部33へ書き込みを行
う。この処理をバンド数分繰り返す。
【0095】次に上述したように構成された印刷処理装
置における印刷データの流れについて整理する。
【0096】印刷データ作成部1で作成された印刷デー
タは、印刷データ入力部2を介して、変換処理部3の字
句解析部30に入力される。字句解析部30において印
刷データから切り出されたトークンは、中間データ生成
部31に入力される。中間データ生成部31により生成
されたバンド単位に分割された中間データは中間データ
最適化部34に入力され、なるべく同じ描画命令が続く
ように中間データの並び換えが行われ、バンド単位に中
間データ記憶部33に書き込まれる。必要に応じて中間
データ記憶部33からバンド単位に読み出された中間デ
ータは、中間データ再構成部35に入力され、完全に描
画命令毎にまとめられた中間データに再構築され、再び
バンド単位に中間データ記憶部33に書き込まれる。
【0097】展開処理部4および出力処理部5は、先の
実施例1での構成と同じものであるため、ここでも説明
を省略する。
【0098】以上、本発明の画像処理装置の概要につい
て記述した。次に、この画像処理装置の主要部の詳細に
ついて説明する。
【0099】ここでは主に、実施例1と構成の異なる生
成処理部3中の中間データ最適化部34と、中間データ
再構成部35について説明する。
【0100】初めに、中間データ最適化部34について
詳細を説明する。図37は中間データ最適化部34の構
成を示す。中間データ最適化部34は、バンド番号判定
部326およびバンド数に一致する数の区分中間データ
最適化部327から構成される。図37は、1ページが
4つのバンドに区分され、バンド数4に一致する4つの
区分中間データ最適化部327で中間データ最適化部3
4が構成されていることを示す。バンド番号判定部32
6は、バンド分解部319から転送されるオブジェクト
に包含されているバンドIDを判別して、当該バンドI
Dに対応する区分中間データ最適化部327に係るオブ
ジェクトを転送する。
【0101】図38は区分中間データ最適化部327の
構成を示す(便宜上2つの区分中間データ最適化部32
7のみ図示している)。区分中間データ最適化部327
は、ラッチ処理部3271、外接矩形重なり判定部32
72、出力バッファ3273および外接矩形集合記憶部
3274から構成される。ラッチ処理部3271は、バ
ンド番号判定部326から転送された中間データたるオ
ブジェクトを保持する。外接矩形重なり判定部3272
は、ラッチ処理部3271によって保持された各オブジ
ェクトの外接矩形の重なりを判定する。また、外接矩形
重なり判定部3272は、後述する手続きに基づいて出
力バッファ3273にオブジェクトを追加し、または出
力バッファ3273をフラッシュする。出力バッファ3
273は、逐次処理を可能とするために図39のように
各処理種別毎に、すなわち展開処理ID毎にいわゆる先
入れ先出し方式の出力バッファ群によって構成される。
外接矩形集合記憶部3274は、外接矩形重なり判定部
3272において外接矩形の重なりが判定された各オブ
ジェクトの外接矩形データの集合をビットマップとして
保持する(以下、このビットマップとして保持された各
オブジェクトの外接矩形データの集合を外接矩形集合と
呼ぶことにする)。当該外接矩形集合は、外接矩形重な
り判定部3272における外接矩形の重なり判定に用い
られる。外接矩形の重なり判定において、各オブジェク
トについての重なりが判定されるべき外接矩形データを
以下被検査対象外接矩形と呼ぶことにする。また、被検
査対象外接矩形に対応するオブジェクトを被検査対象オ
ブジェクトと呼ぶことにする。被検査対象オブジェクト
の直前に処理したオブジェクトの展開処理IDを保持す
るために、外接矩形重なり判定部3272に展開処理I
Dレジスタを設ける。
【0102】外接矩形の重なりは、被検査対象外接矩形
が外接矩形集合に重なる場合(a)または被検査対象外
接矩形が外接矩形集合に重ならない場合(b)と(図4
0参照)、被検査対象オブジェクトの処理種別と当該被
検査対象オブジェクトを処理する直前に処理したオブジ
ェクトの処理種別、すなわち展開処理IDレジスタによ
って示される処理種別が同一であるかどうかによって、
図41のように4つの態様に分けられる。以下に、図4
2を用いて各バンド毎に行われる中間データ最適化の手
続き、すなわち各区分中間データ最適化部327におけ
る台形データの再配置の処理手続きについて説明する。
【0103】(1)外接矩形重なり判定部3272ほか
の初期化(S26)。
【0104】外接矩形重なり判定部3272の有する展
開処理IDレジスタをクリアする。外接矩形集合記憶部
3274の保持するビットマップをクリアする。出力バ
ッファ3273の各展開処理ID毎のバッファをクリア
する。
【0105】(2)オブジェクトのラッチ処理(S2
7)。
【0106】ラッチ処理部3271は、バンド番号判定
部326から転送されたバンド毎のオブジェクトを保持
する。この保持されたオブジェクトは被検査対象オブジ
ェクトである。
【0107】(3)処理種別の同一性の判定(S2
8)。
【0108】外接矩形重なり判定部3272は、ラッチ
処理部3271から保持された被検査対象オブジェクト
の処理種別と直前に処理したオブジェクトの処理種別と
の同一性を判定する。つまり、被検査対象オブジェクト
の展開処理IDと展開処理IDレジスタに保持されてい
る展開処理IDとの同一性を判断する。
【0109】処理種別が同一である場合、展開処理ID
レジスタの値を被検査対象オブジェクトの展開処理ID
で更新して、S30の処理に移る。一方、処理種別が相
違する場合、展開処理IDレジスタの値を被検査対象オ
ブジェクトの展開処理IDで更新して、S29の処理に
移る。
【0110】図43は処理種別の同一性の判定における
ラッチ処理部3271と外接矩形重なり判定部3272
の展開処理IDレジスタの様子を示す。例えば、ラッチ
処理部3271に展開処理IDがCode Aであるオ
ブジェクト1、展開処理IDがCode Aであるオブ
ジェクト2および展開処理IDがCode Bであるオ
ブジェクト3が順次保持された場合、オブジェクト2が
被検査対象オブジェクトであるとき、展開処理IDレジ
スタの値はCode Aであり、処理種別が同一と判定
される。また、オブジェクト3が被検査対象オブジェク
トであるとき、展開処理IDレジスタの値はCode
Bであり、処理種別は相違すると判定される。
【0111】なお、ラッチ処理部3271に保持された
最初のオブジェクトに対して処理する場合、展開処理I
Dレジスタはクリアされている状態であるので、展開処
理IDレジスタの値を被検査対象オブジェクトの展開処
理IDで更新して、直ちにS30の処理に移る。
【0112】(4)外接矩形の重なりの判定(S2
9)。
【0113】外接矩形重なり判定部3272は、被検査
対象外接矩形と外接矩形集合記憶部3274の保持する
外接矩形集合との論理積を演算することによって、両者
の重なりを判定する。
【0114】被検査対象外接矩形が外接矩形集合に重な
る場合(a)、S31の処理に移る。一方、被検査対象
外接矩形が外接矩形集合に重ならない場合(b)、S3
0の処理に移る。
【0115】(5)オブジェクトの連結処理(S3
0)。
【0116】被検査対象外接矩形に対応するビットマッ
プ・データと外接矩形集合記憶部3274の保持するビ
ットマップ・データとの論理和を演算して、その結果で
外接矩形集合記憶部3274のビットマップを更新す
る。被検査対象オブジェクトを出力バッファ3273の
展開処理IDに対応する出力バッファに追加する。続い
て、S32の処理に移る。
【0117】例えば、図44は外接矩形集合記憶部32
74におけるビットマップの更新処理の様子を示す。被
検査対象外接矩形は、外接矩形集合との論理和が演算さ
れ、その結果でビットマップが更新される。また、オブ
ジェクト1に続いて、外接矩形が重ならないオブジェク
ト2がラッチ処理部3271に保持された場合、図39
のように先入れ先出し方式で、オブジェクト2はオブジ
ェクト1に連結される。
【0118】(6)バッファフラッシュ処理(S3
1)。
【0119】外接矩形集合記憶部3274のビットマッ
プをクリアする。所定の順序で出力バッファ3273の
各展開処理ID毎のバッファに保持されているオブジェ
クトを中間データ記憶部33に転送する。続いて、S1
3gの処理に移る。
【0120】(7)処理すべきオブジェクトの有無の検
査(S32)。
【0121】ラッチ処理部3271は、バンド番号判定
部326から転送されたオブジェクトがバンド毎のオブ
ジェクトの終了を示すEODであるか否かを判断するこ
とによって、処理すべきオブジェクトの有無を検査す
る。処理すべきオブジェクトが存在する場合、S27の
処理に移る。一方、処理すべきオブジェクトが存在しな
い場合、処理を終える。
【0122】また、展開処理部4が同一あるいは異なる
構成データの処理を並列に、すなわち同時に複数処理す
ることができる場合、区分中間データ最適化部327を
以下のように構成して動作させることもできる。まず、
図45に示すように外接矩形集合記憶部3274は、層
毎の外接矩形の頂点の座標をリスト形式で保持するよう
に構成される。ここで、外接矩形重なり判定部3272
における外接矩形の重なりによって区別される単一また
は複数のオブジェクト毎の処理の単位を層と呼ぶことに
する。各層におけるオブジェクトは相互に重なりがな
い。また、図46に示すように出力バッファ3273
は、層番号を付加したオブジェクトをリスト形式で保持
するように構成される。当該層番号のデータは、オブジ
ェクトが出力バッファ3273から中間データ記憶部3
3に転送されるときに削除される。ここでは、外接矩形
重なり判定部3272に展開処理IDレジスタは不要で
ある。外接矩形重なり判定部3272は、層の総数の値
を保持する層総数レジスタ、処理中の層番号の値を保持
するためのカレント層レジスタおよび外接矩形集合記憶
部3274に保持される各層ごとの外接矩形頂点座標の
リスト形式のデータの最後尾のデータを保持するため外
接矩形レジスタを備える。図47に示す手順に従って、
以下のようにオブジェクトの並びを最適化する。
【0123】(1)外接矩形重なり判定部3272ほか
の初期化(S33)。
【0124】外接矩形重なり判定部3272の層総数レ
ジスタおよびカレント層レジスタの値を0とする。外接
矩形レジスタ、外接矩形集合記憶部3274および出力
バッファ3273をクリアする。
【0125】(2)オブジェクトのラッチ処理(S3
4)。
【0126】ラッチ処理部3271は、バンド番号判定
部326から転送されたバンド毎のオブジェクトを保持
する。この保持されたオブジェクトは被検査対象オブジ
ェクトである。
【0127】(3)外接矩形の重なり判定(S35)。
【0128】外接矩形重なり判定部3272は、ラッチ
処理部3271に保持されている被検査対象オブジェク
トの外接矩形と、外接矩形レジスタに保持されている外
接矩形との重なりを判断する。外接矩形が重なる場合、
S36の処理に移る。一方、外接矩形が重ならない場
合、S37の処理に移る。図48は外接矩形の重なりに
よる層の様子を示す。例えば、オブジェクト1、オブジ
ェクト2およびオブジェクト3が順次ラッチ処理部32
71に保持された場合、オブジェクト1の外接矩形とオ
ブジェクト2の外接矩形とが重ならない場合、層は同一
である。ここでは、オブジェクト1およびオブジェクト
2は第1層に属する。また、オブジェクト2の外接矩形
とオブジェクト3の外接矩形とが重なるとき、オブジェ
クト3はオブジェクト2とは異なる層に属する。ここで
は、オブジェクト3は第2層に属する。
【0129】(4)オブジェクトのリスト追加処理(S
36)。
【0130】層総数レジスタの保持する値をインクリメ
ントする。被検査対象オブジェクトの外接矩形を外接矩
形集合記憶部3274のリスト・データの最後尾データ
として追加し、当該外接矩形データを外接矩形レジスタ
の内容とする。また、被検査対象オブジェクトを、層総
数レジスタの保持する値を層番号として付加して、出力
バッファ3273のリスト・データの最後尾データとし
て追加する。図49は、被検査対象オブジェクトの出力
バッファ3273のリスト・データへの追加前後の様子
を示す。層総数レジスタが1から2にインクリメントさ
れ、被検査対象オブジェクトたるオブジェクト3はオブ
ジェクト2に後続するように追加される。このとき、層
番号2がオブジェクト3に付加される。
【0131】(5)オブジェクトのリスト挿入処理(S
37)。
【0132】図50は、以下のオブジェクトのリスト挿
入処理(S37)の詳細な処理手順を示す。
【0133】(5.1)カレント層レジスタの初期化
(S39)。
【0134】カレント層レジスタの値を1とする。
【0135】(5.2)外接矩形の重なり判定(S4
0)。
【0136】外接矩形重なり判定部3272は、被検査
対象オブジェクトの外接矩形と、外接矩形集合記憶部3
274に保持されている、カレント層レジスタの保持し
ている層番号に対応する外接矩形との重なりを判定す
る。重なりがある場合、S41の処理に移る。一方、重
なりがない場合、S42の処理に移る。
【0137】(5.3)カレント層レジスタのインクリ
メント(S41) 外接矩形重なり判定部3272は、カレント層レジスタ
の保持する値をインクリメントし、S40の処理に移
る。
【0138】(5.4)外接矩形頂点座標の更新(S4
2)。
【0139】外接矩形重なり判定部3272は、被検査
対象オブジェクトの外接矩形によって、外接矩形集合記
憶部3274に保持されている、カレント層レジスタの
保持している層番号に対応する外接矩形頂点座標を更新
する。図51は外接矩形頂点座標の更新前後の様子を示
す。例えば、オブジェクト1に続いて、オブジェクト1
の外接矩形とは外接矩形が重ならないオブジェクト2が
ラッチ処理部3271に保持された場合、カレント層レ
ジスタが1であり、外接矩形集合記憶部3274に保持
されている第1層に対応する外接矩形頂点座標(図51
の上段のハッチされた矩形)がオブジェクト1の外接矩
形の座標を意味するとき、被検査対象外接矩形すなわち
オブジェクト2の外接矩形(図51の実線の矩形)を包
含する外接矩形(図51の破線の矩形)が演算され、そ
の演算結果を第1層に対応する更新後の外接矩形(図5
1の下段のハッチされた矩形)として、外接矩形集合記
憶部3274に保持する。
【0140】(5.5)オブジェクトのリスト挿入処理
(S43) 外接矩形重なり判定部3272は、被検査対象オブジェ
クトをカレント層レジスタの保持している層番号に対応
する層の最後尾のオブジェクトとして出力バッファ32
73のリストに追加する。このとき、当該オブジェクト
には層番号が付加される。図52はオブジェクトのリス
ト挿入処理前後の様子を示す。カレント層レジスタが1
である場合、オブジェクト4は、層番号が1であるオブ
ジェクト2の後、かつ層番号が2であるオブジェクト3
の前に挿入される。このとき、オブジェクト4は層番号
1が付加される。
【0141】(6)処理すべきオブジェクトの有無の検
査(S38)。
【0142】ラッチ処理部3271は、バンド番号判定
部326から転送されたオブジェクトがバンド毎のオブ
ジェクトの終了を示すEODであるか否かを判断するこ
とによって、処理すべきオブジェクトの有無を検査す
る。処理すべきオブジェクトが存在する場合、S34の
処理に移る。一方、処理すべきオブジェクトが存在しな
い場合、処理を終える。なお、出力バッファ3273に
リスト形式で保持されているオブジェクトは、層毎に所
定の順序で中間データ記憶部33に転送され、並列処理
される。
【0143】最後に中間データ再構成部35について詳
細を説明する。中間データの再構成、すなわち台形デー
タの重なり除去は、図53で示す中間データ再構成部3
5によって行われる。中間データ再構成部35は、ペー
ジ終了判定部331およびバンド数に一致する数の区分
中間データ再構成部332から構成される。図53は、
1ページが4つのバンドに区分され、バンド数4に一致
する4つの区分中間データ再構成部332で中間データ
再構成部35が構成されていることを示す。図54は、
中間データ再構成の処理手順を示す。まず、ページ終了
判定部331は、中間データ最適化部34のすべてのラ
ッチ処理部3271が各バンドにおける処理すべきオブ
ジェクトの終了を示すEODを保持しているか否かなど
中間データ最適化部34が1ページ分のデータを中間デ
ータ記憶部33に転送しているかどうかによって、ペー
ジの終了か否かを判別して、すべての区分中間データ再
構成部332の動作開始を指示する(S44)。区分中
間データ再構成部332は、中間データ記憶部33から
各バンドに対応する中間データを再構成し、その結果を
中間データ記憶部33の各バンドに対応する部分に転送
する(S45)。以下に区分中間データ再構成部332
の構成とS35の手続きを詳説する。
【0144】図55は区分中間データ再構成部332の
構成の一例を示す。区分中間データ再構成部332は、
中間データ転送部3321、入力バンドバッファ332
2、フェッチ処理部3323、台形重なり判定部332
4、台形データ再分割部3325および出力バンドバッ
ファ3326によって構成される。中間データ転送部3
321は中間データ記憶部33から中間データを入力バ
ンドバッファ3322に転送し、また出力バンドバッフ
ァ3326から中間データ記憶部33に再構成された中
間データを転送する。入力バンドバッファ3322はい
わゆる先入れ先出し方式のバンドバッファとして構成さ
れ、中間データたるオブジェクトを保持する。フェッチ
処理部3323は、入力バンドバッファ3322に保持
されているオブジェクトを台形重なり判定部3324に
転送する。台形重なり判定部3324は、後述する手順
に従い各オブジェクトの台形データの重なりを判定す
る。台形重なり判定部332は出力バンドバッファ33
26におけるオブジェクトの位置を示すためのインデッ
クス保持レジスタReg CURを持つ。台形データ再
分割部3325は出力バンドバッファ3326に保持さ
れているオブジェクトのすべての台形データとフェッチ
処理部3323によって台形重なり判定部3324に転
送されたオブジェクトの台形データとが重ならないよう
に台形データを再分割する。出力バンドバッファ332
6は、台形データの重なりがないオブジェクトを保持す
る。出力バンドバッファ3326においてオブジェクト
は、最後尾が明示されたリスト形式で保持される。各バ
ンド毎の中間データの再構成は、図56に示すように以
下の手続きによって行う。
【0145】(1)台形重なり判定部3324ほかの初
期化(S46)。
【0146】中間データ転送部3321は中間データ記
憶部33から各バンドに対応する中間データを入力バン
ドバッファ3322に転送する。出力バンドバッファ3
326をクリアする。
【0147】(2)オブジェクトのフェッチ処理(S4
7)。
【0148】フェッチ処理部3323は、オブジェクト
を入力バンドバッファ3322から台形重なり判定部3
324に転送する。当該オブジェクトは被検査対象オブ
ジェクトである。
【0149】(3)台形データの重なり除去処理(S4
8)。
【0150】図57は以下の台形データの重なり除去処
理手順の詳細を示す。
【0151】(3.1)インデックス保持レジスタの初
期化(S51)。
【0152】インデックス保持レジスタReg CUR
の内容を出力バンドバッファ3326の先頭オブジェク
トの位置を示すインデックスとする。
【0153】(3.2)台形データの重なり判定(S5
2)。
【0154】台形重なり判定部3324は、被検査対象
オブジェクトを構成するすべての台形データに対して、
インデックス保持レジスタReg CURのインデック
スが示す出力バンドバッファ3326に保持されている
オブジェクトを構成するすべての台形データと重なりを
検査する。重なりがある場合、S13pの処理に移る。
一方、重なりのない場合、S54の処理に移る。
【0155】(3.3)台形データの分割処理(S5
3)。
【0156】台形データ再分割部3325は、台形重な
り判定部3324によって被検査対象オブジェクトの台
形データと重なったと判断された、出力バンドバッファ
3326に保持されている台形データをさらに台形デー
タに分割し、重なっている部分に相当する台形データを
除去する。図58は台形データの重なり除去処理前後の
様子を示す。被検査対象オブジェクトがオブジェクト2
であり、オブジェクト1の台形データと重なっている場
合、オブジェクト1の台形データは図58のように分割
され、オブジェクト1のもとの台形データのオブジェク
ト2の台形データと重なり合う部分は除去される。ここ
で、オブジェクト2の台形データ自身には変更はない。
このようにして、結局被検査対象オブジェクトの台形デ
ータが上書きにするように重なりを除去する。
【0157】(3.4)インデックス保持レジスタの更
新処理(S54)。
【0158】インデックス保持レジスタReg CUR
は、後続するオブジェクトの位置を示すインデックスを
保持するように値を更新する。
【0159】(3.5)処理すべきオブジェクトの有無
の検査(S55)。
【0160】台形重なり判定部3324は、インデック
ス保持レジスタReg CURの保持するインデックス
が示すオブジェクトが最後尾のオブジェクトであるか否
かを判断することによって、処理すべきオブジェクトの
有無を検査する。処理すべきオブジェクトが存在する場
合、S52の処理に移る。一方、処理すべきオブジェク
トが存在しない場合、S49の処理に移る。
【0161】(4)オブジェクトの追加処理(S4
9)。
【0162】被検査対象オブジェクトを出力バンドバッ
ファ3326に追加する。
【0163】(5)処理すべきオブジェクトの有無の検
査(S50)。
【0164】フェッチ処理部3323は、入力バンドバ
ッファ3322にオブジェクトが存在する否かを判断す
ることによって、処理すべきオブジェクトの有無を検査
する。処理すべきオブジェクトが存在する場合、S48
の処理に移る。一方、処理すべきオブジェクトが存在し
ない場合、処理を終える。
【0165】なお、展開処理部4における構成データの
書き換え回数を削減するために、S50の後に中間デー
タ記憶部33の各バンド毎に展開処理ID毎に中間デー
タが連続するように並び換える、あるいは各区分中間デ
ータ再構成部332の出力バンドバッファ3326を、
中間データ最適化部34の出力バッファ3273と同様
の各展開処理IDごとのバッファとして構成し、逐次的
に各バンド毎に展開処理ID毎に中間データが連続する
ように並び換えることができる。また、前述したよう
に、1バンド内の構成データの書き換えが既定値以下の
場合は、S46からS50までの処理を省いても良い。
つまり、中間データ最適化処理の後、中間データ再構成
処理の前に中間データ記憶部33の各オブジェクトの展
開処理IDの変化する回数を計数し、その値が既定値以
下の場合、中間データ再構成の処理を省くこともでき
る。
【0166】[実施例3] 図59は本発明による実施例3の構成を表すブロック図
である。図59において画像処理装置は、印刷データ作
成部1と、印刷データ入力部2と、変換処理部3と、展
開処理部4と、出力部5とから構成されている。さら
に、変換処理部3は、字句解析部30と、中間データ生
成部31と、並列処理判定部36と、中間データ記憶部
33とから構成されている。また、展開処理部4は、再
構成可能展開部40と、再構成制御部41と、構成デー
タ管理部42とから構成されている。
【0167】上記の構成の内、印刷データ作成部1と、
印刷データ入力部2と、展開処理部4と、出力部5は先
の実施例1での構成と同じものであるため、ここでは説
明を省略する。
【0168】変換処理部3は、印刷データ入力部2より
入力された印刷データから展開処理部4における印字デ
ータへの展開処理可能な中間データを生成するものであ
り、字句解析部30と、中間データ生成部31と、並列
処理判定部36と、中間データ記憶部33とからなる。
このうち、字句解析部30と中間データ生成部31と、
中間データ記憶部33は、先の実施例1での構成と同じ
ものであるため、ここでも説明を省略する。
【0169】並列処理判定部36は、中間データ生成部
31から出力される中間データを順次読み込んで、それ
らの間の重なり判定を行ない、連続する複数の中間デー
タ間で重なりの無いと判定された場合には、並列処理可
能な中間データのグループとして、展開処理部4の再構
成可能展開部40に書き込まれる並列処理を行う構成デ
ータに対する識別子であるハードウェア構成IDが付加
して、中間データ記憶部33に出力する。
【0170】次に上述したように構成された印刷処理装
置における印刷データの流れについて整理する。
【0171】印刷データ作成部1で作成された印刷デー
タは、印刷データ入力部2を介して、変換処理部3の字
句解析部30に入力される。字句解析部30において印
刷データから切り出されたトークンは、中間データ生成
部31に入力される。中間データ生成部31により生成
されたバンド単位に分割された中間データは並列処理判
定部36に入力され、中間データの重なりに基づいて、
並列処理可能なグループに分けられ、中間データ記憶部
33にバンド単位に1ページ分記憶される。
【0172】展開処理部4および出力処理部5は、先の
実施例1での構成と同じものであるため、ここでも説明
を省略する。以上、本発明の画像処理装置の概要につい
て記述した。次に、この画像処理装置の主要部の詳細に
ついて説明する。
【0173】ここでは主に、実施例1と構成の異なる変
換処理部3中の並列処理判定部36について説明する。
【0174】並列処理判定部36は、中間データ生成部
31から出力される中間データを順次読み込んで、順次
重なり判定を行ない、連続する複数の中間データ間で重
なりの無いと判定された場合には、並列処理可能な中間
データのグループとして、展開処理部4の再構成可能展
開部40に書き込まれる並列処理を行う構成データに対
する識別子であるハードウェア構成IDが付加して、中
間データ記憶部33に出力する。並列処理判定部36に
おける出力データ形式は、実施例1に示した図10と同
じである。図10において、並列処理判定部36が出力
する中間データのデータ構造は、並列処理可能なオブジ
ェクト毎にまとめられている。各集合のデータは、バン
ドID、ハードウェア構成ID、オブジェクトの数、集
合に属するオブジェクトのデータからなる。図60に並
列処理判定部36の構成図を示す。図60において、3
61は入力オブジェクトバッファ、362は重なり判定
部、363は構成データ付加部、364は出力オブジェ
クトバッファである。
【0175】入力オブジェクトバッファ361は、オブ
ジェクトデータを入力して格納する。オブジェクトデー
タを入力して格納する単位は、場合によって1つでもよ
いし複数個の描画オブジェクトであってもよいし、バン
ドやページなどのより大きい単位であってもよい。重な
り判定部362は、入力オブジェクトバッファ321に
順次格納されたオブジェクトを同一のバンドIDを持つ
各オブジェクトの外接矩形の座標値を入力して、オブジ
ェクト間の重なりを判定する。オブジェクト間の重なり
判定とは、重なり判定部でバンド毎に保持している外接
矩形のうち入力されたオブジェクトのバンドIDに対す
る外接矩形と入力されたオブジェクトの外接矩形との重
なりを判定することである。今後の処理の説明は、処理
がバンド毎に独立しているので、入力されたオブジェク
トのバンドIDに対するバンドに絞って行う。重なり判
定部362で保持している外接矩形とは、最初は何も無
いところから始まり、次に最初に入力されたオブジェク
トの外接矩形になる。そして次のオブジェクトから、重
なり判定が行われ、もし重なりが無しと判定された場合
には、保持している外接矩形は、自分自身と入力された
オブジェクトの外接矩形のORした領域の外接矩形に変
更される。もし、重なりが有ると判定された場合には、
保持している外接矩形は、入力されたオブジェクトの外
接矩形で置き換えられる。重なり判定は保持している外
接矩形の左下座標(ldx0,ldy0),右上座標
(rux0,ruy0)、入力されたオブジェクトの外
接矩形の左下座標(ldx1,ldy1),右上座標
(rux1,ruy1)を使って行われ、次のような式
が成り立つ時は、重なり無しと判定される。
【0176】
【数4】 ldx0>rux1 or rux0<ldx1 or ldy0>ruy1 or ruy0<ldy1 また、重なりがないと判断された場合の外接矩形のOR
は次のような式になる
【0177】
【数5】 ldx0=min(ldx0,ldx1)、ldy0=
min(ldy0,ldy1)、 rux0=max(rux0,rux1)、ruy0=
max(ruy0,ruy1) このようにして判定した判定結果は、構成データ付加部
363へ送られる。構成データ付加部363では、この
判定結果と入力されたオブジェクトのオブジェクトID
を見て、判定結果が重なりなしの場合には、出力オブジ
ェクトバッファ364に蓄えられている前に入力された
オブジェクトのオブジェクトIDと入力されたオブジェ
クトのオブジェクトIDから、展開処理部4の再構成可
能展開部40で並列処理可能である組合せである場合に
は、入力されたオブジェクトを出力オブジェクトバッフ
ァ364に追加で書き込む。また、展開処理部4の再構
成可能展開部40で並列処理可能でない組合せである場
合には、出力オブジェクトバッファ364に蓄えられて
いる前に入力されたオブジェクトグループに対する並列
処理の構成データを付加して、出力オブジェクトバッフ
ァ364に蓄えられたオブジェクトを中間データ記憶部
33へ送り出した後で、入力されたオブジェクトを出力
オブジェクトバッファ364に書き込み、さらに重なり
判定部362に対して入力されたオブジェクトの外接矩
形で、保持している外接矩形をリセットするように外接
矩形とバンドIDのデータを送る。また、判定結果が重
なりありの場合には、出力オブジェクトバッファ364
に蓄えられている前に入力されたオブジェクト群に対す
る並列処理の構成データを付加して、出力オブジェクト
バッファ364に蓄えられたオブジェクトを中間データ
記憶部33へ送り出した後で、入力されたオブジェクト
を出力オブジェクトバッファ364に書き込む処理を行
う。出力オブジェクトバッファ364は、オブジェクト
データを入力して格納する。オブジェクトデータを入力
して格納するオブジェクトの個数は、展開処理部4の再
構成可能展開部40で、並列処理可能な最大オブジェク
ト数以上であれば、バンドやページなどのより大きい単
位であってもよい。このように順番に、並列処理判定部
36が出力するデータは、中間データ記憶部33へ送ら
れる。
【0178】展開処理部4以降については、実施例1と
同じであるので説明を省略する。
【0179】以上で本発明の実施例の説明を終了する。
なお、本発明は上述の実施例に限定されるものではな
く、その趣旨を逸脱しない範囲で種々変更することが可
能である。例えば、再構成ハードウェア部46は図20
に示すように、FPGAにより構成したが、複数の演算
処理装置(算術論理演算ユニット)を設け、各演算処理
装置の入出力のフローを切り替え装置で制御するように
してもよい。この場合、例えば図21の論理ブロック4
621として演算処理装置を配置すればよい。また、ク
ロスポイントスイッチ4622やスイッチマトリックス
4623のかわりに単純なゲートを用いるようにしても
よい。
【0180】
【発明の効果】以上説明したように本発明では、文字、
図形、画像の描画要素のいずれかを有し、所定の描画命
令で記述された印刷データを入力して、出力装置に出力
する印刷処理装置において、出力装置に出力するための
展開処理を再構成ハードウエアを使って行うことによ
り、必要なハードウエア量を減らすことができるととも
に、処理対象の印刷データに応じて最適なハードウェア
構成を採用する等して、スループットを向上させること
ができる。例えば、印刷データに含まれる描画要素の重
なりを判定して、判定情報と上記印刷データの内容とを
基に、印刷データの描画要素を並び換えることによっ
て、再構成ハードウェア手段を並列動作させることと、
再構成ハードウェア手段の構成の変更回数を少なくする
ことで、再構成ハードウェア手段による展開処理を高速
化することが可能になる。
【図面の簡単な説明】
【図1】 本発明の第1の実施例を示すブロック図であ
る。
【図2】 カラーページプリンタの構成の説明図であ
る。
【図3】 中間データ生成部を示すブロック図である。
【図4】 アウトラインベクターを説明する図である。
【図5】 ベジエ曲線の再帰的な分割を説明する図であ
る。
【図6】 台形データを説明する図である。
【図7】 台形データのバンド境界での分割を説明する
図である。
【図8】 台形データのデータ表現の一例を説明する図
である。
【図9】 台形データへの画像データの対応を説明する
図である。
【図10】 中間データ順序制御部が生成するデータ構
造を説明する図である。
【図11】 中間データ順序制御部を示すブロック図で
ある。
【図12】 バンド領域における描画オブジェクトの重
なりを示す図である。
【図13】 最適化テーブルの例を示す図である。
【図14】 構成データ選択部が構成データを選択する
手順を示すフローチャートである。
【図15】 ハードウェア構成IDの候補の例を示す図
である。
【図16】 再構成可能展開部のブロック図である。
【図17】 力バッファとバンドバッファの使用方法に
ついて説明する図である。
【図18】 構成制御部が再構成ハードウェア部を制御
する手順を示すフローチャートである。
【図19】 構成データ管理部の構成を示す図である。
【図20】 再構成ハードウェア部の構成例を示すブロ
ック図である。
【図21】 図20のFPGAユニットの構成を説明す
る図である。
【図22】 図21の論理ブロックを説明する図であ
る。
【図23】 図21のクロスポイントスイッチを説明す
る図である。
【図24】 図21のスイッチマトリックスを説明する
図である。
【図25】 ハードウェア構成IDがXの場合の再構成
ハードウェア部の構成を示す図である。
【図26】 台形データ描画を説明する図である。
【図27】 台形描画回路の機能ブロック図である。
【図28】 座標計算部の機能ブロック図である。
【図29】 エッジ描画部の機能ブロック図である。
【図30】 伸長処理回路の機能ブロック図である。
【図31】 解像度変換回路の機能ブロック図である。
【図32】 色空間変換回路の機能ブロック図である。
【図33】 色空間変換の線形補間の過程を示す図であ
る。
【図34】 展開処理部をアクセラレータとして利用す
る場合の変換処理部と展開処理部の関係を示す図であ
る。
【図35】 再構成ハードウェア部を部分的に書き換え
る場合に再構成制御部が行なう制御の手順を示すフロー
チャートである。
【図36】 本発明の第2の実施例を示すブロック図で
ある。
【図37】 中間データ最適化部34の構成の一例を示
す。
【図38】 区分中間データ最適化部327の構成の一
例を示す。
【図39】 出力バッファ3273の構成の一例を示
す。
【図40】 実施例2における外接矩形の重なりの態様
を示す。
【図41】 実施例2における処理種別の同一性による
外接矩形の重なりの態様を示す。
【図42】 中間データ最適化の処理手順を示す。
【図43】 処理種別の同一性の判定におけるラッチ処
理部3271と外接矩形重なり判定部3272との様子
を示す。
【図44】 外接矩形集合記憶部のビットマップ更新処
理の様子を示す。
【図45】 外接矩形集合記憶部3274の構成の一例
を示す。
【図46】 出力バッファ3273の構成の一例を示
す。
【図47】 第2の中間データ最適化の処理手順を示
す。
【図48】 外接矩形の重なりによる層の様子を示す。
【図49】 オブジェクトのリスト追加処理の様子を示
す。
【図50】 図47におけるオブジェクトのリスト挿入
処理手順の詳細を示す。
【図51】 外接矩形頂点座標の更新前後の様子を示
す。
【図52】 オブジェクトのリスト挿入処理の様子を示
す。
【図53】 中間データ再構成部35の構成の一例を示
す。
【図54】 中間データ再構成の処理手順について示
す。
【図55】 区分中間データ再構成部332の構成の一
例を示す。
【図56】 バンド毎の中間データ再構成の処理手順に
ついて示す。
【図57】 台形データの重なり除去処理手順について
示す。
【図58】 台形データの重なり除去処理前後の様子を
示す。
【図59】 本発明の第3の実施例を示すブロック図で
ある。
【図60】 並列処理判定部を示すブロック図である。
【符号の説明】
1 印刷データ作成部 2 印刷データ入力部 3 変換処理部 4 展開処理部 5 出力部 30 字句解析部 31 中間データ生成部 310 トークン解釈部 311 命令実行部 312 画像処理部 313 描画状態記憶部 314 ベクターデータ生成部 315 フォント管理部 316 マトリックス変換部 317 ショートベクター生成部 318 台形データ生成部 319 バンド分解管理部 32 中間データ順序制御部 321 オブジェクトバッファ 322 描画順序依存検出部 323 最適化テーブル作成部 324 構成データ選択部 325 リオーダ部 326 バンド番号判定部 327 区分中間データ最適化部 3271 ラッチ処理部 3272 外接矩形重なり判定部 3273 出力バッファ 3274 外接矩形集合記憶部、 33 中間データ記憶部 3321 中間データ転送部 3322 入力バンドバッファ 3323 フェッチ処理部 3324 台形重なり判定部 3325 台形データ再分割部 3326 出力バンドバッファ 34 中間データ最適化部 35 中間データ再構成部 36 並列処理判定部 361 入力オブジェクトバッファ 362 重なり判定部 363 構成データ付加部 364 出力オブジェクトバッファ 40 再構成可能展開部 41 再構成制御部 410 メモリ部 411 構成コード記憶領域 412 制御部 413 読み出し制御部 414 追加・更新部 415 変換テーブル 42 構成データ管理部 420 入力バッファA 421 入力バッファB 422 バンドバッファA 423 バンドバッファB 424 ワーク領域 43 中間データ転送制御部 44 印字データ転送制御部 45 アービトレーション部 46 再構成ハードウェア部 460、460−1、460−2 Code A処理
回路 461 台形描画回路 462 スクリーン処理回路 463 中間データ入力部 464 座標計算部A 465 座標計算部B 466 エッジ描画部 467 DDAパラメータ計算部 468 DDA処理部 469 座標更新部 47 リフレッシュ制御部 470 アドレス計算部 471 マスク演算部 472 データ演算部 473 RmodW処理部 480、480−1、480−2、480−3 Co
de G処理回路 481 画像伸張回路 481−1 中間データ入力部 481−2 ハフマン複号化部 481−3 逆量子化部 481−4 逆DCT部 481−5 書き込み部 482 解像度変換回路 482−1 画素データ入力部 482−2 補間処理部 482−3 画素アドレス計算部 482−4 書き込み部 483 色変換回路 483−1 画素データ入力部 483−2 テーブル変換部 483−3 補間処理部 483−4 書き込み部 484 台形描画回路 485 スクリーン処理回路 50 ビデオインターフェース 51 半導体レーザ走査装置 510 ポリゴンミラー 511 レンズ 52 感光体ドラム 53 帯電器 54 ロータリー現像器 55 転写ドラム 56 クリーナー 57 定着器 58 用紙の搬送経路 900 バンド領域 901 図形オブジェクト 902 画像オブジェクト 902 図形オブジェクト 903 画像オブジェクト
フロントページの続き (72)発明者 長尾 隆 神奈川県足柄上郡中井町境430 グリー ンテクなかい 富士ゼロックス株式会社 内 (72)発明者 関 範顕 神奈川県足柄上郡中井町境430 グリー ンテクなかい 富士ゼロックス株式会社 内 (72)発明者 平田 和貴 神奈川県足柄上郡中井町境430 グリー ンテクなかい 富士ゼロックス株式会社 内 (72)発明者 和田 義則 神奈川県足柄上郡中井町境430 グリー ンテクなかい 富士ゼロックス株式会社 内 (72)発明者 石川 宏 神奈川県足柄上郡中井町境430 グリー ンテクなかい 富士ゼロックス株式会社 内 (56)参考文献 特開 平5−324930(JP,A) (58)調査した分野(Int.Cl.7,DB名) B41J 5/30 G06F 3/12

Claims (20)

    (57)【特許請求の範囲】
  1. 【請求項1】 少なくとも文字、図形、画像の描画要素
    のいずれかを表す、所定の描画命令で記述された第1の
    印刷データを、画像出力用データ構造の第2の印刷デー
    タに展開し、上記第2の印刷データに基づいて画像出力
    を行う印刷処理装置において、 複数の論理ブロックと上記複数の論理ブロックの入力デ
    ータ及び出力データのフローを制御する切り替え手段と
    を含む論理回路装置であって、上記論理ブロックの機能
    及び上記切り替え手段の切り替え態様の少なくとも一方
    を構成データに応じて設定可能であり論理回路構成
    報に応じて上記構成データを変更して上記論理回路構成
    情報に対応する論理回路構成で上記第1の印刷データを
    上記第2の印刷データに展開する論理回路装置と、 上記第1の印刷データを入力する入力手段と、 上記入力手段に入力された第1の印刷データに含まれる
    描画要素の重なりを判定する判定手段と、 少なくとも上記判定手段の判定情報と上記入力手段に入
    力された第1の印刷データの内容とに基づいて、上記入
    力手段に入力された第1の印刷データの描画要素を並び
    換え、さらに上記論理回路構成情報を含む所定形式の印
    刷データに変換して上記論理回路装置に供給する変換手
    段と、 上記論理回路装置で展開された第2の印刷データに基づ
    いて画像を出力する出力手段とを備え、 上記論理回路装置は上記所定形式の印刷データに含まれ
    る論理回路構成情報に対応する論理回路構成で上記所定
    形式の印刷データを上記第2の印刷データに展開するこ
    とを特徴とする 印刷処理装置。
  2. 【請求項2】 上記変換手段における描画要素の並び換
    えは、上記論理回路装置により並列に展開可能な描画要
    素が連続するように行われることを特徴とする請求項1
    記載の印刷処理装置。
  3. 【請求項3】 上記論理回路装置による並列な展開は、
    同一または異なる機能ブロックを複数個含むように設定
    された論理回路構成により行われることを特徴とする請
    求項2記載の印刷処理装置。
  4. 【請求項4】 上記変換手段における描画要素の並び換
    えは、上記論理回路装置の上記構成データの変更回数が
    減少するように行われることを特徴とする請求項1、2
    または3記載の印刷処理装置。
  5. 【請求項5】 上記変換手段は、上記判定手段により重
    なり有りと判定された描画要素間の順序の並び換えを行
    わないことを特徴とする請求項1、2、3または4記載
    の印刷処理装置。
  6. 【請求項6】 上記判定手段は、上記描画要素を包含す
    る外接矩形を用いて重なりを判定することを特徴とする
    請求項5記載の印刷処理装置。
  7. 【請求項7】 上記変換手段は、上記判定手段により重
    なり有りと判定された描画要素間の重なりを除去してか
    ら順序の並び換えを行うことを特徴とする請求項1、
    2、3または4記載の印刷処理装置。
  8. 【請求項8】 上記描画要素の並び換えは、ページ毎ま
    たは複数スキャンライン単位にページを分割したバンド
    毎に行われることを特徴とする請求項1、2、3、4、
    5、6または7記載の印刷処理装置。
  9. 【請求項9】 上記論理回路装置は、論理回路構成を全
    部または部分的に変更可能であることを特徴とする請求
    項1記載の印刷処理装置。
  10. 【請求項10】 上記論理回路装置は、相前後して入力
    される上記所定形式の印刷データにそれぞれ含まれる上
    論理回路構成情報が同一の場合に、上記構成データの
    変更を省略することを特徴とする請求項1記載の印刷処
    理装置。
  11. 【請求項11】 上記論理回路装置は、少なくともフィ
    ールドプログラマブルゲートアレイを含むことを特徴と
    する請求項1記載の印刷処理装置。
  12. 【請求項12】 上記論理回路装置は、複数の演算処理
    装置と、上記複数の演算処理装置の入力データ及び出力
    データのフローを切り替える切り替え手段とを具備する
    請求項1記載の印刷処理装置。
  13. 【請求項13】 上記変換手段が、複数の論理ブロック
    と上記複数の論理ブロックの入力データ及び出力データ
    のフローを制御する切り替え手段とを含み、上記論理ブ
    ロックの機能及び上記切り替え手段の切り替え態様の少
    なくとも一方を構成データに応じて設定可能な論理回路
    装置を具備し、上記変換手段の処理の少なくとも一部を
    上記変換手段中の上記論理回路装置で実行することを特
    徴とする請求項1記載の印刷処理装置。
  14. 【請求項14】 上記論理回路装置は、複数の機能ブロ
    ックをパイプライン動作させて展開を行うように設定さ
    れることを特徴とする請求項1記載の印刷処理装置。
  15. 【請求項15】 少なくとも文字、図形、画像の描画要
    素のいずれかを表す、所定の描画命令で記述された第1
    の印刷データを、画像出力用データ構造の第2の印刷デ
    ータに展開し、上記第2の印刷データに基づいて画像出
    力を行う印刷処理装置において、 複数の論理ブロックと上記複数の論理ブロックの入力デ
    ータ及び出力データのフローを制御する切り替え手段と
    含む論理回路装置であって、上記論理ブロックの機能
    及び上記切り替え手段の切り替え態様の少なくとも一方
    を構成データに応じて設定可能であり論理回路構成
    報に応じて上記構成データを変更して上記論理回路構成
    情報に対応する論理回路構成で上記第1の印刷データを
    上記第2の印刷データに展開する論理回路装置と、 上記第1の印刷データを入力する入力手段と、 上記入力手段に入力された第1の印刷データに含まれる
    描画要素の重なりを判定する判定手段と、 少なくとも上記判定手段の判定情報と上記入力手段に入
    力された第1の印刷データの内容とに基づいて、上記入
    力手段に入力された第1の印刷データを、上記論理回路
    構成情報を含む所定形式の印刷データに変換して上記
    理回路装置に供給する変換手段と、 上記論理回路装置で展開された第2の印刷データに基づ
    いて画像を出力する出力手段とを備え、 上記論理回路装置は上記所定形式の印刷データに含まれ
    る論理回路構成情報に対応する論理回路構成で上記所定
    形式の印刷データを上記第2の印刷データに展開するこ
    とを特徴とする 印刷処理装置。
  16. 【請求項16】 上記変換手段は、上記判定手段により
    重なりなしと判定された連続する複数の描画要素を含む
    印刷データを、上記複数の描画要素を並列に展開する
    理回路構成を特定する論理回路構成情報を含む形式に変
    換することを特徴とする請求項15記載の印刷処理装
    置。
  17. 【請求項17】 上記描画要素の並列な展開は、同一ま
    たは異なる機能ブロックを複数個含む論理回路構成によ
    り行われることを特徴とする請求項16記載の印刷処理
    装置。
  18. 【請求項18】 少なくとも文字、図形、画像の描画要
    素のいずれかを表す、所定の描画命令で記述された第1
    の印刷データを、画像出力用データ構造の第2の印刷デ
    ータに展開し、上記第2の印刷データに基づいて画像出
    力を行う印刷処理装置において、 複数の論理ブロックと上記複数の論理ブロックの入力デ
    ータ及び出力データのフローを制御する切り替え手段と
    を含む論理回路装置であって、上記論理ブロックの機能
    及び上記切り替え手段の切り替え態様の少なくとも一方
    を構成データに応じて設定可能であり論理回路構成
    報に応じて上記構成データを変更して上記論理回路構成
    情報に対応する論理回路構成で上記第1の印刷データを
    上記第2の印刷データに展開する論理回路装置と、 上記第1の印刷データを入力する入力手段と、 上記入力手段に入力された第1の印刷データを、上記第
    1の印刷データの内容に対応する論理回路構成情報を含
    む所定形式の印刷データに変換して上記論理回路装置
    供給する変換手段と、 上記論理回路装置で展開された第2の印刷データに基づ
    いて画像を出力する出力手段とを備え、 上記論理回路装置は上記所定形式の印刷データに含まれ
    る論理回路構成情報に対応する論理回路構成で上記所定
    形式の印刷データを上記第2の印刷データに展開し、 上記変換手段は上記論理回路装置により並列に展開可能
    な描画要素が連続するように上記描画要素を並び換える
    ことを特徴とする 印刷処理装置。
  19. 【請求項19】 少なくとも文字、図形、画像の描画要
    素のいずれかを表す、所定の描画命令で記述された第1
    の印刷データを、画像出力用データ構造の第 2の印刷デ
    ータに展開し、上記第2の印刷データに基づいて画像出
    力を行う印刷処理装置において、 複数の論理ブロックと上記複数の論理ブロックの入力デ
    ータ及び出力データのフローを制御する切り替え手段と
    を含む論理回路装置であって、上記論理ブロックの機能
    及び上記切り替え手段の切り替え態様の少なくとも一方
    を構成データに応じて設定可能であり、論理回路構成情
    報に応じて上記構成データを変更して上記論理回路構成
    情報に対応する論理回路構成で上記第1の印刷データを
    上記第2の印刷データに展開する論理回路装置と、 上記第1の印刷データを入力する入力手段と、 上記入力手段に入力された第1の印刷データを、上記第
    1の印刷データの内容に対応する論理回路構成情報を含
    む所定形式の印刷データに変換して上記論理回路装置に
    供給する変換手段と、 上記論理回路装置で展開された第2の印刷データに基づ
    いて画像を出力する出力手段とを備え、 上記論理回路装置は上記所定形式の印刷データに含まれ
    る論理回路構成情報に対応する論理回路構成で上記所定
    形式の印刷データを上記第2の印刷データに展開し、 上記変換手段は同じ種類の描画要素が連続するように上
    記描画要素を並び換えることを特徴とする印刷処理装
    置。
  20. 【請求項20】 上記変換手段は、上記論理回路構成
    報に応じて、上記変換データ中の上記論理回路構成情報
    を省略することを特徴とする請求項18記載の印刷処理
    装置。
JP09082699A 1997-04-01 1997-04-01 印刷処理装置 Expired - Fee Related JP3125863B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP09082699A JP3125863B2 (ja) 1997-04-01 1997-04-01 印刷処理装置
US09/050,361 US6219149B1 (en) 1997-04-01 1998-03-31 Print processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09082699A JP3125863B2 (ja) 1997-04-01 1997-04-01 印刷処理装置

Publications (2)

Publication Number Publication Date
JPH10278361A JPH10278361A (ja) 1998-10-20
JP3125863B2 true JP3125863B2 (ja) 2001-01-22

Family

ID=13781663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09082699A Expired - Fee Related JP3125863B2 (ja) 1997-04-01 1997-04-01 印刷処理装置

Country Status (1)

Country Link
JP (1) JP3125863B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010162745A (ja) * 2009-01-14 2010-07-29 Canon Inc 画像形成装置及びその制御方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1351154A2 (en) * 1998-11-20 2003-10-08 Altera Corporation Reconfigurable programmable logic device computer system
JP4586509B2 (ja) * 2003-12-26 2010-11-24 セイコーエプソン株式会社 ハードウェア機能可変印刷装置、ハードウェア機能可変印刷システム、印刷装置管理プログラム、並びにハードウェア機能可変印刷方法
JP4580697B2 (ja) * 2004-06-23 2010-11-17 株式会社リコー 印刷処理システム、プログラムおよび記録媒体
US8237962B2 (en) * 2008-12-10 2012-08-07 Xerox Corporation Throughput estimate based upon document complexity analysis
JP6160317B2 (ja) * 2013-07-09 2017-07-12 富士ゼロックス株式会社 画像処理装置及びプログラム
JP6379757B2 (ja) * 2014-07-08 2018-08-29 富士ゼロックス株式会社 画像処理装置および画像形成装置
JP6575216B2 (ja) 2015-08-14 2019-09-18 富士ゼロックス株式会社 画像処理装置、画像形成装置、及び画像処理プログラム
JP6885640B1 (ja) * 2020-10-01 2021-06-16 株式会社ラムダシステムズ 画像処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010162745A (ja) * 2009-01-14 2010-07-29 Canon Inc 画像形成装置及びその制御方法

Also Published As

Publication number Publication date
JPH10278361A (ja) 1998-10-20

Similar Documents

Publication Publication Date Title
US6219149B1 (en) Print processing apparatus
US7436531B2 (en) Systems and methods for using multiple processors for imaging
JP2003216361A (ja) 印刷システム及び印刷装置
JP3125863B2 (ja) 印刷処理装置
JP3834935B2 (ja) 印刷処理装置
JPH09185721A (ja) 画像形成装置
JP6135329B2 (ja) 印刷データ処理装置、プログラム、及びシステム
JP3871011B2 (ja) 情報処理装置および情報処理方法
JP3885282B2 (ja) 印刷データ処理装置および印刷データ処理方法
JP3640133B2 (ja) 印刷処理装置
JPH11165434A (ja) 描画処理装置
JPH10151815A (ja) 印刷処理装置
JPH111032A (ja) 印刷処理装置
JP4103164B2 (ja) 印刷処理装置
JPH11105371A (ja) 印刷処理装置
JP2000013601A (ja) 印刷情報処理装置、中間データ生成装置および方法
JP3700363B2 (ja) 印刷処理装置
JP2000255116A (ja) 印刷処理装置および印刷処理方法
JP3755265B2 (ja) 印刷処理装置
JPH10157217A (ja) 印刷処理装置
JPH11144062A (ja) 印刷処理装置
JPH10147019A (ja) 印刷処理装置
JP3236053B2 (ja) 画像処理システム及び画像処理方法
JP2000255121A (ja) 印刷処理装置および印刷処理方法
JPH11119930A (ja) 印刷処理装置および方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees