JPH111032A - Printing-processing apparatus - Google Patents

Printing-processing apparatus

Info

Publication number
JPH111032A
JPH111032A JP9153500A JP15350097A JPH111032A JP H111032 A JPH111032 A JP H111032A JP 9153500 A JP9153500 A JP 9153500A JP 15350097 A JP15350097 A JP 15350097A JP H111032 A JPH111032 A JP H111032A
Authority
JP
Japan
Prior art keywords
data
unit
conversion
area
processing
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
JP9153500A
Other languages
Japanese (ja)
Inventor
Tetsuo Kawada
哲郎 河田
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 JP9153500A priority Critical patent/JPH111032A/en
Priority to US09/050,361 priority patent/US6219149B1/en
Publication of JPH111032A publication Critical patent/JPH111032A/en
Pending legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Facsimiles In General (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

PROBLEM TO BE SOLVED: To enable high-speed and resource-saving processing of printing by carrying out at a hardware means a development process of conversion data corresponding to divided areas on the basis of judgment information of a plot area of printing data and contents of the printing data, and outputting the data. SOLUTION: Printing data formed at a printing data formation part 1 are input to a word and phrase interpreting part 30 of a conversion process part 3 via a printing data input part 2. A token sliced from the printing data is analyzed at an intermediate data generation part 31, so that intermediate data divided in units of bands are generated. An intermediate data arrangement part 32 converts the intermediate data to data that can be processed in parallel based on areas, and stores the data in an intermediate data memory part 33. Meanwhile, a development process part 4 receives an input of configuration data from a configuration data management part 42 in accordance with a hardware configuration ID added to the intermediate data and reloads a function of a reconfigurable circuit under the control of a reconfiguration control part 41. Thereafter an output part 5 carries out printing. The development process is executed at high speed because of the parallel operation.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ページ単位で印刷
処理が可能な印刷処理装置に関し、特に連続する画像処
理を効率的な並列処理によって実行する印刷処理装置に
関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a print processing apparatus capable of performing print processing in units of pages, and more particularly to a print processing apparatus which executes continuous image processing by efficient parallel processing.

【0002】[0002]

【従来の技術】小型、高速のデジタル印刷に適した電子
写真方式のページプリンタの開発に伴い、従来の文字情
報中心の印刷から脱皮した、画像、図形、文字などを同
様に取り扱い、図形、文字等の拡大、回転、変形などが
自由に制御できる記述言語を用いる印刷処理装置が一般
に普及してきた。このような記述言語の代表的な例とし
て、PostScript (Adobe Syste
ms社商標)、Interpress (Xerox社
商標)、Acrobat(Adobe Systems
社商標)、GDI (Graphics Device
Interface、Microsoft社商標)等
が知られている。
2. Description of the Related Art With the development of an electrophotographic page printer suitable for small, high-speed digital printing, images, figures, characters, and the like, which have escaped from the conventional printing of mainly character information, are handled in the same manner. 2. Description of the Related Art A printing processing apparatus using a description language in which enlargement, rotation, deformation, and the like of an image can be freely controlled has been widely used. A typical example of such a description language is PostScript (Adobe System).
ms), Interpress (trademark of Xerox), Acrobat (Adobe Systems)
Trademark, GDI (Graphics Device)
Interface, trademark of Microsoft Corporation) and the like are known.

【0003】記述言語で作成されている印刷データは、
ページ内の任意の位置の画像、図形、文字を表現する描
画命令及びデータを任意の順で配置した命令及びデータ
列で構成されており、本発明に係わるページプリンタで
印字するためには、印字前に印刷データをラスタ化しな
ければならない。ラスタ化というのは、ページ又はペー
ジの一部を横切る一連の個々のドットまたは画素へ展開
してラスタ走査線を形成し、そのページの下へ引き続く
走査線を次々に発生する過程である。従来のページプリ
ンタは、印字前にページ全体の印刷データをラスタ化
し、ページバッファメモリに記憶していた。しかしなが
ら、ページ全体に対するラスタデータを記憶するために
は、大量のメモリを必要とする。特に、最新の電子写真
方式のカラーページプリンタでは、C(Cyan),M
(Magenta),Y(Yellow),BK(Bl
ack)の4色のトナーに対応するラスタデータを必要
とするとともに、白黒ページプリンタ以上に画質が要求
されるため、1画素当たり複数のビット情報を持つのが
一般的であり、さらに大量のメモリを必要とする。
[0003] Print data created in a description language is:
It is composed of commands and data strings in which drawing commands and data representing images, figures, and characters at arbitrary positions in a page are arranged in an arbitrary order. In order to print with the page printer according to the present invention, printing is performed. First, the print data must be rasterized. Rasterization is the process of developing a raster scan line by developing it into a series of individual dots or pixels that traverse a page or portion of a page, and generating successive scan lines below the page. In a conventional page printer, print data of an entire page is rasterized before printing and stored in a page buffer memory. However, storing raster data for an entire page requires a large amount of memory. In particular, in the latest electrophotographic color page printer, C (Cyan), M
(Magenta), Y (Yellow), BK (Bl
ack) requires raster data corresponding to the four color toners, and image quality is required more than that of a black and white page printer. Need.

【0004】この大量のメモリの必要性に対し、コスト
低減の観点からメモリ要求を低減させる技術として、最
近バンドメモリ技術が登場してきた。バンドメモリ技術
は、ページプリンタの印字前に1ページ分の印刷データ
を全てラスタ化するのではなく、記述言語で作成されて
いる印刷データを、印刷データをラスタ化するよりも速
くラスタ化可能な比較的簡単な中間データに変換し、1
ページを隣接する複数の領域(バンド)に分割し、各バ
ンドに対応する中間データを記憶した後、ラスタ展開処
理部に順次転送し、バンドに対応するバッファメモリに
展開する技術である。バンドメモリ技術では、中間デー
タを記憶するためのメモリは新たに必要であるが、ラス
タデータのための大容量を必要とするバッファメモリを
低減することが可能となる。しかし、一般的なバンドメ
モリ技術では、あるバンドのラスタデータの印字が終了
までに、次のバンドに対する中間データからラスタデー
タへの展開を終了させる必要がある。印刷データに複雑
な図形描画命令や扱うデータ量の大きい画像描画命令が
含まれている場合、あるいは1ページ内の特定のバンド
に複雑な図形描画命令や画像描画命令が含まれている場
合等、中間データからラスタデータへの展開が間に合わ
ない状況が発生する可能性がある。
In response to the need for a large amount of memory, band memory technology has recently emerged as a technology for reducing memory requirements from the viewpoint of cost reduction. Band memory technology can rasterize print data created in a description language faster than rasterizing print data, instead of rasterizing all print data for one page before printing by a page printer. Convert to relatively simple intermediate data,
This technique divides a page into a plurality of adjacent areas (bands), stores intermediate data corresponding to each band, sequentially transfers the intermediate data to a raster development processing unit, and develops the data in a buffer memory corresponding to the band. In the band memory technology, a memory for storing intermediate data is newly required, but it is possible to reduce a buffer memory that requires a large capacity for raster data. However, in a general band memory technique, it is necessary to finish developing raster data from intermediate data for the next band before printing of raster data of a certain band is completed. When the print data includes a complicated graphic drawing instruction or an image drawing instruction with a large amount of data to be handled, or when a specific band in one page includes a complicated graphic drawing instruction or an image drawing instruction, There is a possibility that a situation may occur where the development of the intermediate data into the raster data is not in time.

【0005】そこで中間データからラスタデータへの展
開処理を高速化するために専用ハードウェアを利用する
ことが考えられた。上に述べたように、ページ内に描画
される対象としては、画像、図形、文字があり、これら
はそれぞれのオブジェクトの型に応じて特殊な処理を必
要とする。例えば、画像の場合、解像度変換、アフィン
変換、これらの処理に伴う補間、色処理等である。ま
た、図形の場合には、座標変換、ベクタ/ラスタ変換、
塗りつぶし処理等が必要である。また、文字の場合に
は、アウトライン座標の変換、ヒント処理、ベクタ/ラ
スタ変換、塗りつぶし処理等が必要である。そこで、こ
れらすべての処理に対応する専用ハードウェアを1つづ
つ用意することが必要となる。しかしこの場合、メモリ
量を削減出来たとしても、追加する専用ハードウェア量
が多くなってシステム全体が高価になるという問題があ
った。また中間データをビットマップにする目的のH/
Wは、中間データをビットマップにする時だけにしか使
用できず、処理に応じた専用ハードウェアを並列的に用
意して置くことはその使用率を考えると大変無駄である
という問題があった。
Therefore, it has been considered to use dedicated hardware in order to speed up the process of developing intermediate data into raster data. As described above, objects to be drawn in a page include images, figures, and characters, and these require special processing according to the type of each object. For example, in the case of an image, resolution conversion, affine conversion, interpolation accompanying these processes, color processing, and the like are performed. In the case of a figure, coordinate conversion, vector / raster conversion,
Filling processing is required. In the case of a character, conversion of outline coordinates, hint processing, vector / raster conversion, filling processing, and the like are required. Therefore, it is necessary to prepare dedicated hardware corresponding to all of these processes one by one. However, in this case, even if the memory amount can be reduced, there is a problem that the amount of dedicated hardware to be added increases and the entire system becomes expensive. In addition, H /
W can be used only when the intermediate data is converted into a bitmap, and there is a problem that it is extremely wasteful to prepare dedicated hardware corresponding to the processing in parallel in view of the usage rate. .

【0006】従来このような問題を解決する試みとし
て、全ての機能について並列にハードウエアを設けるの
では無く、ハードウェアのプログラマビリティあるいは
構造を再構成することにより機能を可変し、少ないハー
ドウエアで多くの機能を高速に実現しようとする試みが
行われている。そのような考え方を持った本発明に関す
る従来技術として、特開平6−131155や特開平6
−282432などがある。
Conventionally, as an attempt to solve such a problem, instead of providing hardware for all functions in parallel, the functions can be changed by reconfiguring the hardware programmability or structure to reduce the number of hardware. Attempts have been made to realize many functions at high speed. As prior arts relating to the present invention having such a concept, Japanese Patent Application Laid-Open Nos. Hei 6-131155 and
-282432 and the like.

【0007】[0007]

【発明が解決しようとする課題】特開平6−13115
5は、データ記憶領域に対するアドレス発生の発生手段
を再構成するとともに、アドレス発生の手段により得ら
れたデータ記憶領域のデータに対する演算手段を再構成
することによって、様々な画像処理を少ないハードウェ
アで達成しようとするものである。ただしこの構成はア
ドレス情報に重要な意味ある画像処理に対する再構成は
可能であるが、図形、文字などのようにベクター処理に
対応することはできない。また画像処理についても、常
に再構成を行って処理するため、PDLのように様々な
画像が任意に出現する場合には、再構成時間が多くなる
という問題もあった。さらに書き換えられる処理がほぼ
同等の大きさの処理でないと、書き換え単位が一番大き
な処理に合わされるため、様々な大きさの処理の再構成
では、無駄が生じるという問題もあった。
Problems to be Solved by the Invention
5 reconfigures the means for generating an address for the data storage area and reconfigures the arithmetic means for the data in the data storage area obtained by the means for generating the address, thereby performing various image processing with a small amount of hardware. What we are trying to achieve. However, this configuration can reconstruct image processing that is significant in address information, but cannot cope with vector processing such as graphics and characters. Also, since image processing is always performed by performing reconstruction, there is also a problem that the reconstruction time becomes longer when various images appear arbitrarily as in PDL. Furthermore, unless the rewriting process is a process of substantially the same size, the rewriting unit is matched to the largest process, and there is a problem that reconfiguration of processes of various sizes causes waste.

【0008】特開平6−282432は、並列動作可能
な演算回路をあらかじめ必要な種類分の複数個設けて、
データ流れを制御しようとするものである。このような
方式は、一部の画像処理の用に、少ない種類の演算回路
を頻繁に使用するという応用には適しているが、画像、
図形、文字など様々な種類の混在するものに応用する
と、演算回路の種類が多く必要となるため、本来の目的
であるハードウエア量を小さくすることができないとい
う問題がある。
Japanese Patent Application Laid-Open No. 6-282432 discloses a method in which a plurality of arithmetic circuits capable of operating in parallel are provided in advance for required types.
It tries to control the data flow. Such a method is suitable for applications in which a small number of types of arithmetic circuits are frequently used for some image processing.
When applied to a mixture of various types such as figures and characters, many types of arithmetic circuits are required, so that there is a problem that it is not possible to reduce the amount of hardware which is the original purpose.

【0009】本発明は以上のような点を考慮してなされ
たものであり、少なくとも画像、図形、文字を含む印刷
データの内容に応じて、展開処理に用いられる再構成可
能なハードウェアを有効に利用することで、同一のハー
ドウェア資源を用いて高速かつ省資源な印刷処理を可能
にすることを目的とする。
SUMMARY OF THE INVENTION The present invention has been made in view of the above points, and makes use of reconfigurable hardware used for expansion processing at least according to the contents of print data including images, graphics, and characters. The purpose of the present invention is to enable high-speed and resource-saving print processing using the same hardware resources.

【0010】[0010]

【課題を解決するための手段】本発明は、上記の目的を
達成するために成された印刷処理装置に関するものであ
る。即ち、少なくとも文字、図形、画像の描画要素のい
ずれかを有し、所定の描画命令で記述された印刷データ
を入力する入力手段と、印刷データに含まれる描画要素
の描画領域を判定する判定手段と、少なくとも判定手段
の判定情報と印刷データの内容とを基に、入力手段に入
力された印刷データの描画領域を分割し、該分割領域に
対応して設定されるハードウェア構成変更情報を含む変
換データ形式に変換する変換手段と、変換手段で変換さ
れた変換データに含まれるハードウェア構成変更情報に
応じて構成を変更し、変換データの展開処理を実行する
ハードウェア手段と、ハードウェア手段で展開処理され
た変換データを出力する出力手段とを備えた印刷処理装
置である。
SUMMARY OF THE INVENTION The present invention relates to a print processing apparatus for achieving the above object. That is, an input unit having at least one of a character, a graphic, and an image drawing element and inputting print data described by a predetermined drawing command, and a determination unit for determining a drawing area of a drawing element included in the print data And, based on at least the determination information of the determination unit and the content of the print data, divides a drawing area of the print data input to the input unit, and includes hardware configuration change information set corresponding to the divided area. Conversion means for converting to a conversion data format, hardware means for changing a configuration according to hardware configuration change information included in the conversion data converted by the conversion means, and executing conversion data expansion processing, and hardware means And an output unit that outputs the converted data that has been subjected to the expansion processing.

【0011】また、本発明の印刷処理装置において、変
換手段における描画領域の分割は描画要素の面積に基づ
いて行われることを特徴とする。
Further, in the print processing apparatus according to the present invention, the division of the drawing area by the conversion means is performed based on the area of the drawing element.

【0012】また、本発明の印刷処理装置において、変
換手段における描画領域の分割は描画領域を表すデータ
を変換データへ付加することにより行われることを特徴
とする。
Further, in the print processing apparatus of the present invention, the division of the drawing area by the conversion means is performed by adding data representing the drawing area to the conversion data.

【0013】また、本発明の印刷処理装置において、変
換手段における描画領域の分割はバンド領域を示すデー
タを変換データへ付加することにより、バンド単位での
分割を実行する構成としたことを特徴とする。
Further, in the print processing apparatus according to the present invention, the division of the drawing area by the conversion means is performed by adding data indicating the band area to the conversion data to execute the division in band units. I do.

【0014】また、本発明の印刷処理装置において、変
換手段における描画領域の分割は描画要素の分割により
行われることを特徴とする。
Further, in the print processing apparatus according to the present invention, the division of the drawing area by the conversion means is performed by dividing the drawing element.

【0015】また、本発明の印刷処理装置において、変
換手段における描画領域の分割はバンド単位での描画要
素の分割により行われることを特徴とする。
Further, in the print processing apparatus according to the present invention, the dividing of the drawing area in the conversion means is performed by dividing the drawing element in band units.

【0016】また、本発明の印刷処理装置において、ハ
ードウェア手段は、変換データの展開処理において、描
画要素を分割された領域についてのみ描画するクリッピ
ング手段を備えることを特徴とする。
Further, in the print processing apparatus according to the present invention, the hardware means includes a clipping means for drawing only the divided area of the drawing element in the conversion data developing process.

【0017】また、本発明の印刷処理装置は、印刷デー
タの内容を基に、入力手段に入力された印刷データの描
画要素を分割し、該分割領域に対応して設定されるハー
ドウェア構成変更情報を含む変換データ形式に変換する
ことを特徴とする印刷処理装置である。
Further, the print processing apparatus of the present invention divides a drawing element of the print data input to the input means on the basis of the content of the print data, and changes a hardware configuration set corresponding to the divided area. A print processing apparatus for converting a data into a conversion data format including information.

【0018】[0018]

【発明の実施の形態】BEST MODE FOR CARRYING OUT THE INVENTION

[実施例1]図1は本発明による実施例1の構成を表す
ブロック図である。図1において画像処理装置は、印刷
データ作成部1と、印刷データ入力部2と、変換処理部
3と、展開処理部4と、出力部5とから構成されてい
る。さらに、変換処理部3は、字句解析部30と、中間
データ生成部31と、中間データ並列化部32と、中間
データ記憶部33とから構成されている。また、展開処
理部4は、再構成可能展開部40と、再構成制御部41
と、構成データ管理部42とから構成されている。
[First Embodiment] FIG. 1 is a block diagram showing a configuration of a first embodiment according to the present invention. 1, the image processing apparatus includes a print data creation unit 1, a print data input unit 2, a conversion processing unit 3, a development processing unit 4, and an output unit 5. Further, the conversion processing unit 3 includes a lexical analysis unit 30, an intermediate data generation unit 31, an intermediate data parallelization unit 32, and an intermediate data storage unit 33. The expansion processing unit 4 includes a reconfigurable expansion unit 40 and a reconfiguration control unit 41.
And a configuration data management unit 42.

【0019】印刷データ作成部1は、パーソナルコンピ
ュータやワークステーション内において、文書作成や編
集等を処理するアプリケーションプログラムで生成され
た文書データから記述言語で記述された印刷データを作
成する機能を備えたものである。本実施例で対象とする
記述言語は、例えばGDI、Acrobatで代表され
るPDF(Portable Document Fo
rmat)、PostScript等のページ記述言語
(Page Description Languag
e)である。
The print data creating section 1 has a function of creating print data described in a description language from document data generated by an application program for processing document creation and editing in a personal computer or a workstation. Things. The description language targeted in the present embodiment is, for example, PDF (Portable Document Fo) represented by GDI and Acrobat.
rmat), Page Description Language such as PostScript (Page Description Language)
e).

【0020】印刷データ入力部2は、印刷データ作成部
1で生成された印刷データを入力するための通信機能、
あるいは変換処理部3へ出力されるまでの間印刷データ
を一時記憶する機能等を備えたものである。
The print data input unit 2 has a communication function for inputting the print data generated by the print data creation unit 1,
Alternatively, it has a function of temporarily storing print data until the print data is output to the conversion processing unit 3.

【0021】変換処理部3は、印刷データ入力部2より
入力された印刷データから展開処理部4における印字デ
ータへの展開処理可能な中間データに変換してその並び
換えを行なう。変換処理部3は、字句解析部30と、中
間データ生成部31と、中間データ並列化部32と、中
間データ記憶部33とからなる。
The conversion processing unit 3 converts the print data input from the print data input unit 2 into intermediate data that can be expanded into print data in the expansion processing unit 4 and rearranges the intermediate data. The conversion processing unit 3 includes a lexical analysis unit 30, an intermediate data generation unit 31, an intermediate data parallelization unit 32, and an intermediate data storage unit 33.

【0022】字句解析部30は、印刷データ入力部2よ
り入力された印刷データを定められた記述言語のシンタ
ックスに従ってトークンとして切り出し、そのトークン
を中間データ生成部31に出力するものである。
The lexical analysis unit 30 cuts out the print data input from the print data input unit 2 as a token according to the syntax of a predetermined description language, and outputs the token to the intermediate data generation unit 31.

【0023】中間データ生成部31は、字句解析部30
から出力されるトークンを受け取って解釈し、描画命令
を実行し、各描画命令に対する台形を基本単位としたデ
ータを生成し、中間データ並列化部32へ送る。中間デ
ータを生成する目的は、展開処理部4での高速な展開処
理を可能にすることである。そのため、中間データは単
純な図形(台形)の集合で表されている。また中間デー
タには、展開処理に関する情報として展開処理IDも付
加されている。中間データ並列化部32は、中間データ
生成部から出力される中間データを描画オブジェクト毎
に読み込んで、描画オブジェクト毎に描画領域による並
列化を行なうための領域データの付加を行ない、中間デ
ータ記憶部33に出力する。その際、展開処理部4の再
構成可能展開部40に書き込まれる構成データに対する
識別子であるハードウェア構成IDも付加される。中間
データ記憶部33は送られてきた中間データを記憶し、
必要に応じて展開処理部4から読み出される。
The intermediate data generation unit 31 includes a lexical analysis unit 30
, Receives and interprets the tokens, executes the rendering commands, generates trapezoidal data for each rendering command as a basic unit, and sends the data to the intermediate data parallelizing unit 32. The purpose of generating the intermediate data is to enable high-speed expansion processing in the expansion processing unit 4. Therefore, the intermediate data is represented by a set of simple figures (trapezoids). In addition, the expansion data ID is also added to the intermediate data as information regarding the expansion processing. The intermediate data parallelizing unit 32 reads the intermediate data output from the intermediate data generating unit for each drawing object, adds area data for performing parallelization by a drawing area for each drawing object, and 33. At this time, a hardware configuration ID that is an identifier for the configuration data written to the reconfigurable expansion unit 40 of the expansion processing unit 4 is also added. The intermediate data storage unit 33 stores the transmitted intermediate data,
It is read from the expansion processing unit 4 as needed.

【0024】展開処理部4は、変換処理部3から出力中
間データをバンド単位に読み出し、展開処理部4内のバ
ンドバッファメモリに印字データを作成する。この処理
は展開処理部4内の2つのバンドバッファメモリに交互
に蓄積される。尚、後述するように本実施例で利用され
る出力部5は、カラーページプリンタであり、バッファ
メモリに交互に蓄積される印字データは出力部5で印字
している記録色の印刷データに対応している。続いて、
バンドバッファメモリに蓄積された印字データは、出力
部5の印字データ要求に応じて、出力部5に交互に出力
される。
The expansion processing unit 4 reads the output intermediate data from the conversion processing unit 3 in band units, and creates print data in a band buffer memory in the expansion processing unit 4. This processing is alternately stored in two band buffer memories in the expansion processing unit 4. As will be described later, the output unit 5 used in this embodiment is a color page printer, and the print data alternately stored in the buffer memory corresponds to the print data of the recording color printed by the output unit 5. doing. continue,
The print data stored in the band buffer memory is alternately output to the output unit 5 in response to a print data request from the output unit 5.

【0025】出力部5は、展開処理部4のバンドバッフ
ァメモリから出力される印字データを受け取って、記録
用紙に印字し出力するものである。更に、詳しくは、C
MYBK(シアン、マゼンタ、イエロー、ブラック)カ
ラーの色毎に露光、現像、転写を繰り返すことによりフ
ルカラー画像を出力できるレーザー走査方式の電子写真
方式を用いたカラーページプリンタである。また出力部
6は、インクジェット方式のカラープリンタでもよい。
この場合には、展開処理部4のバンドバッファメモリか
ら出力部5に出力される印字データは4色分同時であ
る。
The output section 5 receives the print data output from the band buffer memory of the expansion processing section 4, prints it on recording paper, and outputs it. More specifically, C
This is a color page printer using a laser scanning type electrophotographic system capable of outputting a full-color image by repeating exposure, development, and transfer for each of MYBK (cyan, magenta, yellow, and black) colors. The output unit 6 may be an ink jet type color printer.
In this case, the print data output from the band buffer memory of the expansion processing unit 4 to the output unit 5 is the same for four colors.

【0026】ここで、一般的なレーザー走査方式の電子
写真方式を用いたカラーページプリンタの構成及び動作
について、図2に基づき説明する。図2において、ビデ
オインターフェース50は、展開処理部4から順次送ら
れてくるCMYBKの色情報に対応した印刷データを図
示されない半導体レーザの点灯を制御するドライバーへ
入力して光信号に変換する。半導体レーザ走査装置51
は、赤外半導体レーザ、レンズ711、ポリゴンミラー
510より構成され、数十μmのスポット光となって感
光体ドラム72を走査する。感光体ドラム52は、帯電
器53により帯電されており、光信号により、静電潜像
が形成される。潜像はロータリー現像器54上の2成分
磁気ブラシ現像によりトナー像となり、転写ドラム55
上に吸着させた用紙上に転写される。感光体ドラム52
は、クリーナー56で余分のトナーがクリーニングされ
る。この工程をBK,Y,M,Cの順に繰り返し、用紙
上に多重転写する。最後に、転写ドラム55により用紙
を剥離し、定着器57でトナーを定着する。
Here, the configuration and operation of a color page printer using a general laser scanning type electrophotographic system will be described with reference to FIG. In FIG. 2, a video interface 50 inputs print data corresponding to CMYBK color information sequentially sent from the expansion processing unit 4 to a driver (not shown) for controlling the lighting of a semiconductor laser, and converts it into an optical signal. Semiconductor laser scanning device 51
Is composed of an infrared semiconductor laser, a lens 711, and a polygon mirror 510, and scans the photosensitive drum 72 as a spot light of several tens μm. The photoconductor drum 52 is charged by the charger 53, and an electrostatic latent image is formed by an optical signal. The latent image is formed into a toner image by two-component magnetic brush development on a rotary developing device 54, and is transferred to a transfer drum 55.
The image is transferred onto the paper that has been sucked up. Photoconductor drum 52
The excess toner is cleaned by the cleaner 56. This process is repeated in the order of BK, Y, M, and C, and multiple transfer is performed on paper. Finally, the sheet is peeled off by the transfer drum 55, and the toner is fixed by the fixing device 57.

【0027】次に上述したように構成された印刷処理装
置における印刷データの流れについて整理する。印刷デ
ータ作成部1で作成された印刷データは、印刷データ入
力部2を介して、変換処理部3の字句解析部30に入力
される。字句解析部30において印刷データから切り出
されたトークンは、中間データ生成部31に入力され
る。中間データ生成部31ではそのトークンを解釈して
バンド単位に分割した中間データが生成される。中間デ
ータ並列化部32では、中間データは領域に基づいて並
列処理可能なデータに変換され、中間データ記憶部33
にバンド単位に1ページ分記憶される。このとき中間デ
ータは、台形集合を基本としたデータに、どのバンドに
属しているかのバンドID、画像、文字、図形等の種
類、描画の属性、台形集合に対する外接矩形、並列処理
を行なう領域区分データ、ハードウェア構成IDが付加
されたものである。そして中間データ記憶部33は、展
開処理部4の要求に応じて中間データを送り出す。
Next, the flow of print data in the print processing apparatus configured as described above will be summarized. The print data created by the print data creation unit 1 is input to the lexical analysis unit 30 of the conversion processing unit 3 via the print data input unit 2. The token extracted from the print data in the lexical analyzer 30 is input to the intermediate data generator 31. The intermediate data generator 31 interprets the token and generates intermediate data divided in band units. In the intermediate data parallelizing unit 32, the intermediate data is converted into data that can be processed in parallel based on the area, and the intermediate data storage unit 33
One page is stored in band units. At this time, the intermediate data is based on data based on a trapezoid set, a band ID indicating which band belongs, a type of an image, a character, a graphic, and the like, a drawing attribute, a circumscribed rectangle for the trapezoid set, and an area division for performing parallel processing. Data and a hardware configuration ID are added. Then, the intermediate data storage unit 33 sends out the intermediate data in response to a request from the development processing unit 4.

【0028】一方、展開処理部4では、変換処理部3か
ら入力される中間データに付加されたハードウェア構成
IDによって、必要に応じて構成データ管理部42から
構成データを入力し、再構成制御部41の制御により再
構成可能回路の機能を書き換える。また、展開処理部4
では、中間データを受け取って出力部5で最初に記録さ
れる印字データでバンドバッファメモリが満たされるま
で展開処理が行われる。出力部5のサイクルアップ、あ
るいは出力準備が完了すると、バンドバッファメモリか
ら出力部5に、出力部5の記録速度に応じて印字データ
が1ライン毎に転送され、印字が行われる。1つのバン
ドバッファメモリの印字データが印字されている間に、
片側のバンドバッファメモリが印字データで満たされる
まで展開処理が実行される。展開処理部4の印字データ
への展開及び出力部6での印字は、1ページ分の印刷デ
ータが処理されるまで、色毎にあるいは4色同時に繰り
返される。さらに、上記印刷データが複数ページで構成
される場合は、全ページの出力が終了するまで繰り返さ
れる。
On the other hand, the decompression processing unit 4 inputs the configuration data from the configuration data management unit 42 as necessary based on the hardware configuration ID added to the intermediate data input from the conversion processing unit 3 and performs the reconfiguration control. The function of the reconfigurable circuit is rewritten under the control of the unit 41. Also, the expansion processing unit 4
Then, the expansion processing is performed until the band buffer memory is filled with the print data that is first recorded in the output unit 5 after receiving the intermediate data. When the cycle of the output unit 5 is completed or the output preparation is completed, print data is transferred from the band buffer memory to the output unit 5 line by line in accordance with the recording speed of the output unit 5, and printing is performed. While the print data of one band buffer memory is being printed,
The expansion process is executed until one band buffer memory is filled with the print data. The development of the development processing unit 4 into print data and the printing by the output unit 6 are repeated for each color or simultaneously for four colors until print data for one page is processed. Further, when the print data includes a plurality of pages, the process is repeated until the output of all pages is completed.

【0029】以上、本発明の印刷処理装置の概要につい
て記述した。次に、この印刷処理装置の主要部の詳細に
ついて説明する。
The outline of the print processing apparatus of the present invention has been described above. Next, details of a main part of the print processing apparatus will be described.

【0030】初めに、中間データ生成部31、中間デー
タ並列化部32、中間データ記憶部33について詳細を
説明する。
First, the details of the intermediate data generating unit 31, the intermediate data parallelizing unit 32, and the intermediate data storage unit 33 will be described.

【0031】中間データ生成部31は、図3に示すよう
に、トークン解釈部310と、命令実行部311と、画
像処理部312と、描画状態記憶部313と、ベクター
データ生成部314と、フォント管理部315と、マト
リックス変換部316と、ショートベクター生成部31
7と、台形データ生成部318と、バンド分解管理部3
19部とから構成される。
As shown in FIG. 3, the intermediate data generation unit 31 includes a token interpretation unit 310, an instruction execution unit 311, an image processing unit 312, a drawing state storage unit 313, a vector data generation unit 314, a font Management section 315, matrix conversion section 316, short vector generation section 31
7, a trapezoid data generation unit 318, and a band decomposition management unit 3
And 19 parts.

【0032】トークン解釈部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とを付加する。中間データ記
憶部33は、バンド単位で、中間データ順序制御部32
が出力する中間データを1ページ分記憶する。尚、上記
に説明したトークン解釈部310から中間データ生成部
31までの処理は、描画命令が入力されるたびに繰り返
し行われる。そして中間データ順序制御部32からの中
間データ記憶部までの処理は、場合によって、バンド単
位あるいはページ単位で行なわれる。中間データ記憶部
33から展開処理部4への中間データの転送は、1ペー
ジ分の中間データが記憶された後に行われる。
The token interpreter 310 is provided for the lexical analyzer 30.
, Interprets the token, converts it into an internal instruction, and sends it to the instruction execution unit 311. The command execution unit 311 transfers the command to the image processing unit 312, the drawing state storage unit 313, and the vector data generation unit 314 according to the command sent from the token interpretation unit 310. The image processing unit 312 performs various kinds of image processing based on the input image header and image data, generates an output image header and output image data, and transfers the output image header and the output image data to the trapezoid data management unit 320. The drawing state storage unit 313 includes:
Information necessary for drawing given by a command of the command execution unit 311 is stored. The vector data generation unit 314 generates vector data to be drawn using the command of the command execution unit 311 and information added thereto, information from the drawing state storage unit 313, and information from the font management unit 315.
The data is transferred to the matrix conversion unit 316. The font management unit 315 manages and stores outline data of various fonts, and provides outline data of characters in response to a request. The matrix conversion unit 316 affine-transforms the vector data input from the vector data generation unit 314 using the conversion matrix of the drawing state storage unit 313,
Transfer to the short vector generation unit 317. The short vector generation unit 317 approximates the vector for the curve in the input vector with a plurality of linear vector sets (short vectors) and sends the vector to the trapezoid data generation unit 318.
The trapezoid data generation unit 318 generates trapezoid data to be drawn from the input short vector, and
Transfer to 19. The band disassembly management unit 319 divides the trapezoidal data over a plurality of bands from the input trapezoidal data into trapezoidal data of each band, and further determines to which band the trapezoidal data divided in band units belongs. , A circumscribed rectangle for a trapezoidal data set divided in band units, data management information and color information input from the drawing state storage unit 313 or image data input from the image processing unit 312, and expansion processing An expansion process ID, which is information, is added and sent to the intermediate data parallelizing unit 32. The intermediate data parallelizing unit 32 generates, for each object, a plurality of area data that divide the area to be drawn by the object into equal areas, and adds the area data and the hardware configuration ID. The intermediate data storage unit 33 stores the intermediate data order control unit 32 in band units.
Stores one page of the intermediate data output by. The processing from the token interpreting unit 310 to the intermediate data generating unit 31 described above is repeatedly performed each time a drawing command is input. The processing from the intermediate data order control unit 32 to the intermediate data storage unit is performed in band units or page units depending on the case. The transfer of the intermediate data from the intermediate data storage unit 33 to the expansion processing unit 4 is performed after the intermediate data for one page is stored.

【0033】以下では、実際のデータ構造を示しなが
ら、中間データ生成部31、中間データ並列化部32、
中間データ記憶部33の各部の動作をより詳細に説明す
る。
In the following, while showing the actual data structure, the intermediate data generator 31, the intermediate data parallelizer 32,
The operation of each unit of the intermediate data storage unit 33 will be described in more detail.

【0034】トークン解釈部310は、字句解析部30
から入力されたトークンを解釈し、内部命令やその引数
に変換し、それら内部命令と引数の組を命令実行部31
1へ転送する。例えば内部命令には、文字/図形/画像
の描画を実行する描画命令や、色や線属性など描画必要
な情報を設定する描画状態命令などがある。
The token interpreter 310 is used by the lexical analyzer 30
Interprets the tokens input from the, converts them into internal instructions and their arguments, and converts the set of these internal instructions and arguments into the instruction execution unit 31
Transfer to 1. For example, the internal commands include a drawing command for executing drawing of characters / graphics / images, and a drawing state command for setting information required for drawing such as color and line attribute.

【0035】命令実行部311は、トークン解釈部31
0から送られてきた内部命令を実行する。ここで実行す
る命令は、主に描画命令と描画状態命令がある。例えば
描画命令には、表1に示すように3種類の描画命令があ
り、それぞれの描画に必要な情報が示されている。この
うちアンダーラインがある情報については、描画命令中
の引数として与えられ、その他の情報は予め初期設定や
先行する命令などにより描画状態記憶部313に記憶さ
れている。描画命令の実行は、画像描画以外は受け取っ
た描画命令をそのままベクターデータ生成部314へ転
送する。画像描画の場合は、受け取った描画命令を画像
処理部312へ転送するとともに、画像ヘッダの縦と横
の大きさをベクターデータ生成部314へ転送する。ま
た描画状態命令については、命令を描画状態記憶部31
3へ転送する。
The instruction execution unit 311 includes the token interpretation unit 31
Execute the internal instruction sent from 0. The commands executed here mainly include a drawing command and a drawing state command. For example, the drawing commands include three types of drawing commands as shown in Table 1, and information necessary for each drawing is shown. Among them, information having an underline is given as an argument in a drawing command, and other information is stored in the drawing state storage unit 313 in advance by initial setting or a preceding command. To execute the drawing command, the received drawing command other than the image drawing is transferred to the vector data generating unit 314 as it is. In the case of image drawing, the received drawing command is transferred to the image processing unit 312, and the vertical and horizontal sizes of the image header are transferred to the vector data generating unit 314. For the drawing state command, the command is stored in the drawing state storage unit 31.
Transfer to 3.

【0036】[0036]

【表1】 [Table 1]

【0037】画像処理部312は、命令実行部311か
ら入力された命令の引数である入力画像ヘッダと入力画
像データ受け取り、もしヘッダに付加された圧縮IDを
みて圧縮された画像が入力された場合には圧縮を伸張
し、描画状態記憶部313から獲得した変換マトリック
スを使ってアフィン変換する。さらに場合によっては処
理後の画像を圧縮し、出力画像ヘッダと出力画像データ
を生成してバンド分解管理部319へ転送する。この圧
縮には、もともとPDL側で画像データを圧縮していた
圧縮方式を使用するのが通常だが、特にそうしなくても
よい。例えば、PDL側でDTCで圧縮されていてた場
合、それをDTCで圧縮してもよいし、LZWで圧縮し
てもよいし、圧縮を行わなくてもよい。また行うアフィ
ン変換では、中間データバッファのメモリ量を削減する
ために、わざと出力装置の解像度より小さい解像度用に
アフィン変換しておいてもよい。
The image processing unit 312 receives the input image header and the input image data which are the arguments of the command input from the command execution unit 311, and if an image compressed based on the compression ID added to the header is input. Is subjected to affine transformation using the transformation matrix acquired from the drawing state storage unit 313. Further, in some cases, the processed image is compressed, an output image header and output image data are generated, and transferred to the band decomposition management unit 319. For this compression, it is usual to use a compression method that originally compressed image data on the PDL side, but this need not be the case. For example, if the data is compressed by the DTC on the PDL side, it may be compressed by the DTC, may be compressed by the LZW, or may not be compressed. In the affine transformation to be performed, affine transformation may be intentionally performed for a resolution smaller than the resolution of the output device in order to reduce the amount of memory of the intermediate data buffer.

【0038】描画状態記憶部313は、命令実行部31
1から受け取った命令に含まれる引数の値で、例えば表
1に示したアンダーラインの無い情報についての値の設
定を行い、それらを記憶する。また、画像処理部31
2,ベクターデータ生成部314,マトリックス変換部
316,ショートベクター生成部317,バンド分解管
理部320などの要求に従って、それらの値を転送す
る。
The drawing state storage unit 313 stores the instruction execution unit 31
For example, the values of the information without the underline shown in Table 1 are set with the values of the arguments included in the instruction received from No. 1 and stored. The image processing unit 31
2. The values are transferred according to the requests of the vector data generation unit 314, the matrix conversion unit 316, the short vector generation unit 317, the band decomposition management unit 320, and the like.

【0039】ベクターデータ生成部314では、命令実
行部311から送られてきた命令と引数、描画状態記憶
部313の値を使用して、塗りつぶし描画を除く、新た
に描画するためのベクターデータを生成する。まず文字
描画の場合について説明する。引数で与えられた文字コ
ードと描画状態記憶部から獲得したフォントIDをフォ
ント管理部へ転送して、文字のアウトラインデータを獲
得する。獲得したアウトラインデータには、描画原点
(カレントポイント)の情報が含まれていないので、描
画状態記憶部313から獲得したカレントポイントのオ
フセットをアウトラインデータに加えることによって、
目的のベクターデータを生成する。画像描画の場合に
は、引数で与えられた画像ヘッダの縦と横のサイズから
それに対する矩形ベクターを生成し、描画状態記憶部3
13から獲得したカレントポイントのオフセットを加え
ることで目的のベクターデータを生成する。ストローク
描画の場合は、引数で与えられたベクターと描画状態記
憶部313から獲得した各種の線属性から、図4に示す
ような太さを持った線のアウトラインベクターを生成す
る。このように生成したベクター(塗りつぶし描画の場
合は命令実行部311から直接受け取ったベクター)
を、マトリックス変換部316へ転送する。
The vector data generation unit 314 generates vector data for new drawing except for the solid drawing, using the command and argument sent from the command execution unit 311 and the value of the drawing state storage unit 313. I do. First, the case of character drawing will be described. The character code given by the argument and the font ID obtained from the drawing state storage unit are transferred to the font management unit, and character outline data is obtained. Since the acquired outline data does not include information on the drawing origin (current point), the offset of the current point acquired from the drawing state storage unit 313 is added to the outline data.
Generate the desired vector data. In the case of image drawing, a rectangular vector corresponding to the vertical and horizontal sizes of the image header given by the argument is generated, and the drawing state storage unit 3
Then, the target vector data is generated by adding the offset of the current point acquired from. In the case of stroke drawing, an outline vector of a line having a thickness as shown in FIG. 4 is generated from the vector given as an argument and various line attributes acquired from the drawing state storage unit 313. The vector generated in this manner (in the case of a solid drawing, the vector directly received from the instruction execution unit 311)
Is transferred to the matrix conversion unit 316.

【0040】フォント管理部315は、各種フォントに
対するアウトラインベクターデータを記憶するととも
に、与えられた文字コードとフォントIDによって、そ
の文字に対するアウトラインベクターデータを提供す
る。
The font management unit 315 stores outline vector data for various fonts, and provides outline vector data for the character according to a given character code and font ID.

【0041】マトリックス変換部316は、ベクターデ
ータ生成部314から受け取ったベクターデータを、描
画状態記憶部313から獲得した変換マトリックスによ
ってアフィン変換する。このアフィン変換の主な目的
は、アプリケーションの解像度(座標系)からプリンタ
の解像度(座標系)に変換するためのものである。変換
マトリックスには下式(1)に示すような3x3のもの
が使われ、入力ベクターデータ(Xn,Yn)は、出力
ベクターデータ(Xn’,Yn’)に変換されてショー
トベクター生成部317へ送られる。
The matrix conversion unit 316 affine-transforms the vector data received from the vector data generation unit 314 using the conversion matrix acquired from the drawing state storage unit 313. The main purpose of the affine transformation is to convert the resolution (coordinate system) of the application to the resolution (coordinate system) of the printer. A 3 × 3 matrix as shown in the following equation (1) is used for the conversion matrix. The input vector data (Xn, Yn) is converted into output vector data (Xn ′, Yn ′) and sent to the short vector generation unit 317. Sent.

【0042】[0042]

【数1】 (Equation 1)

【0043】ショートベクター生成部317は、入力さ
れたベクターの中に曲線のベクターがある場合にその曲
線のベクターを、誤差が描画状態記憶部313から獲得
したflatness値より小さくなるように、複数の
ショートベクターで近似する処理を行う。例えば曲線の
ベクターには、図5に示す4つの制御点で表現されるベ
ジエ曲線が使われる。この場合ショートベクター化の処
理は、図5に示す通りベジエ曲線を再帰的に分割し、高
さ(距離d)がflatnessで与えられた値より小
さくなった時点で分割を終了する。そして分割された各
ベジエ曲線の始点と終点を順番に結ぶことにより、ショ
ートベクター化が完了する。生成されたショートベクタ
ーは、台形データ生成部318へ送られる。
The short vector generation unit 317 converts the curve vector into a plurality of vectors so that the error is smaller than the flatness value obtained from the drawing state storage unit 313 when the input vector includes a curve vector. Performs approximation with a short vector. For example, a Bezier curve represented by four control points shown in FIG. 5 is used as a curve vector. In this case, the short vector processing recursively divides the Bezier curve as shown in FIG. 5, and ends the division when the height (distance d) becomes smaller than the value given by flatness. Then, the start point and the end point of each of the divided Bezier curves are connected in order, thereby completing the short vectorization. The generated short vector is sent to the trapezoid data generator 318.

【0044】台形データ生成部318は、入力されたベ
クターデータから、描画領域を示す台形データ(三角形
の場合もあるがデータ構造は台形と同じである)の集合
を生成する。例えば図6(a)に示す太線で示された多
角形のベクターは、4つの台形により描画領域が示され
る。尚、この台形は出力装置のスキャンラインに平行な
2辺を持った台形であり、1つの台形は図6(b)に示
すように(sx,sy,x0,x1,x2,h)の6つ
のデータで表現される。生成された台形は、バンド分解
管理部319へ送られる。
The trapezoid data generation unit 318 generates a set of trapezoid data (in some cases, a triangle, but the data structure is the same as the trapezoid) indicating the drawing area from the input vector data. For example, a polygonal vector indicated by a thick line shown in FIG. 6A has a drawing area indicated by four trapezoids. This trapezoid is a trapezoid having two sides parallel to the scan line of the output device, and one trapezoid is represented by (sx, sy, x0, x1, x2, h) as shown in FIG. It is represented by two data. The generated trapezoid is sent to the band decomposition management unit 319.

【0045】バンド分解管理部319は、入力された台
形データのうち複数のバンドにまたがる台形データをバ
ンド毎の台形データに分割する。例えば図7では、4つ
の台形データがバンド分解部によって6つの台形データ
に分割される。さらにバンド毎に分解した台形データに
付加情報をつけて中間データを生成する。付加情報は、
中間データを管理するための管理情報と、展開処理部4
で処理する内容を表す展開処理IDと、台形データを何
色で塗りつぶすかを示す色情報である。文字/図形の描
画命令に対する管理情報は、どのバンドに属するかを示
すためのバンドID,オブジェクトID,オブジェクト
の種類,台形数のデータ,その台形データ集合に対する
外接矩形である。オブジェクトIDとは、一回の描画命
令に対して割当てられる識別番号であり、オブジェクト
の種類とは、文字/図形/画像など描画される対象に対
する識別データである。また展開処理IDは、展開処理
部4での処理を示すIDであり、色情報は例えばCMY
Bkの値である。
The band decomposition management section 319 divides trapezoidal data over a plurality of bands from the input trapezoidal data into trapezoidal data for each band. For example, in FIG. 7, four trapezoidal data are divided into six trapezoidal data by the band decomposition unit. Further, additional information is added to the trapezoid data decomposed for each band to generate intermediate data. Additional information
Management information for managing the intermediate data;
Are the development process IDs representing the contents to be processed in, and color information indicating in what color the trapezoidal data is to be painted. The management information for the character / graphic drawing command is a band ID, an object ID, an object type, data on the number of trapezoids, and a circumscribed rectangle for the trapezoid data set to indicate to which band they belong. The object ID is an identification number assigned to one drawing command, and the type of the object is identification data for a drawing target such as a character / graphic / image. The development processing ID is an ID indicating the processing in the development processing unit 4, and the color information is, for example, CMY.
This is the value of Bk.

【0046】これらの付加情報は、図8(a)に示すよ
うに、描画命令によって生成されたバンド毎の台形デー
タの前に付加される。従って、オブジェクトは、一組の
描画属性が付けられた複数の台形データからなる。ま
た、中間データは、このようなオブジェクトに対するデ
ータの集合である。画像の描画命令に対する管理情報は
文字/図形と同じであるが、色情報は画像ヘッダと画像
データとなる。また図8(b)に示すように、画像ヘッ
ダと画像データは、描画命令によって生成されたバンド
毎の台形データそれぞれに対して1つずつ付加される。
また画像ヘッダと画像データは画像処理部312から入
力されるが、中間データとして付加される画像データ
は、図9(a)に示すように変換された画像を示すベク
ターの最小矩形に対する画像データでってもよいし、図
9(b)に示すように各台形毎の最小矩形に対する画像
データであってもよい。さらに画像データは容量が大き
くなるため、圧縮された形で格納されていてもよい。画
像ヘッダは、画像の大きさを表すパラメータの他に、色
変換の処理の種類や圧縮方式の種類も含んでいる。最後
に、展開処理IDについて説明する。展開処理IDは、
展開処理部4により実行される処理に応じたコード情報
で、表2のような意味を表す。これらは、再構成可能ハ
ードウェアの規模と並列的に実行される処理内容に応じ
て、中間データ並列化部32において、実際の再構成可
能展開部40の構成と1対1に対応するハードウェア構
成IDに変換される。
As shown in FIG. 8A, such additional information is added before the trapezoidal data for each band generated by the drawing command. Therefore, the object is composed of a plurality of trapezoid data to which a set of drawing attributes is attached. The intermediate data is a set of data for such an object. The management information for the image drawing command is the same as the character / graphic, but the color information is the image header and image data. Further, as shown in FIG. 8B, one image header and one image data are added to each of the trapezoidal data for each band generated by the drawing command.
The image header and the image data are input from the image processing unit 312, and the image data added as the intermediate data is the image data corresponding to the minimum rectangle of the vector indicating the converted image as shown in FIG. Alternatively, the image data may be image data corresponding to a minimum rectangle for each trapezoid as shown in FIG. Further, since the image data has a large capacity, it may be stored in a compressed form. The image header includes the type of the color conversion process and the type of the compression method, in addition to the parameter indicating the size of the image. Finally, the expansion processing ID will be described. The expansion processing ID is
The code information corresponding to the processing executed by the expansion processing unit 4 has a meaning as shown in Table 2. According to the scale of the reconfigurable hardware and the content of the processing executed in parallel, the intermediate data parallelizing unit 32 corresponds to the hardware corresponding to the actual configuration of the reconfigurable expanding unit 40 on a one-to-one basis. It is converted to a configuration ID.

【0047】[0047]

【表2】 [Table 2]

【0048】中間データ並列化部32は中間データ生成
部31の出力する中間データのオブジェクト毎に、その
オブジェクトが描画する領域を等しい面積で分割するよ
うな複数の領域データを生成し、生成された領域データ
とハードウェア構成IDとを付加する。この過程を図1
0を用いて説明する。図10において、5角形で示され
る領域を描画領域によって3等分に分割する場合を考え
る。まず、5角形を含む最小の矩形領域を求める。次
に、この矩形領域を3等分するような矩形領域を求め
る。図10の場合には、y座標で分割したが、x座標で
分割することや、他にも任意の線分で分割することも考
えられる。領域データは、このように分割された領域を
表す座標データであり、図10の場合、矩形領域1,
2,3を表す4つの頂点の座標で表される。一方、分割
する数、すなわち描画する並列度は、並列的に処理され
るオブジェクトの展開処理IDから得られる処理回路の
規模をもとに、次式の制約を満たす組み合わせを選ぶこ
とによって行なう。
The intermediate data parallelizing section 32 generates, for each object of the intermediate data output from the intermediate data generating section 31, a plurality of area data which divides the area to be drawn by the object by an equal area. The area data and the hardware configuration ID are added. This process is illustrated in FIG.
Explanation will be made using 0. In FIG. 10, a case is considered in which an area represented by a pentagon is divided into three equal parts by a drawing area. First, a minimum rectangular area including a pentagon is obtained. Next, a rectangular area that divides this rectangular area into three equal parts is obtained. In the case of FIG. 10, the division is performed on the y-coordinate. However, the division may be performed on the x-coordinate, or may be performed on an arbitrary line segment. The area data is coordinate data representing the area thus divided, and in the case of FIG.
It is represented by the coordinates of four vertices representing 2 and 3. On the other hand, the number of divisions, that is, the degree of parallelism for drawing, is determined by selecting a combination that satisfies the following constraint based on the scale of the processing circuit obtained from the expansion processing ID of the object to be processed in parallel.

【0049】[0049]

【数2】SIZE≧XN×SIZE(X)[Expression 2] SIZE ≧ XN × SIZE (X)

【0050】ここでSIZEは再構成可能展開部40内
の再構成ハードウェア回路全体の規模、SIZE(X)
は展開処理ID,Xに対応する処理回路の回路規模、X
Nは処理回路Xの並列度である。展開処理IDと処理の
並列度によってハードウェア構成IDは一意に求められ
る。このようにして求めた、ハードウェア構成IDと分
割数と領域データは、図11のようになり、図8に示し
た中間データフォーマットの各オブジェクトデータ毎に
付加される。
Here, SIZE is the size of the entire reconfigurable hardware circuit in the reconfigurable expansion unit 40, and SIZE (X)
Is the circuit size of the processing circuit corresponding to the development processing ID, X, X
N is the degree of parallelism of the processing circuit X. The hardware configuration ID is uniquely obtained from the expansion processing ID and the degree of parallelism of the processing. The hardware configuration ID, the number of divisions, and the area data thus obtained are as shown in FIG. 11, and are added to each object data in the intermediate data format shown in FIG.

【0051】中間データ並列化部32が出力するデータ
は、中間データ記憶部33へ送られ、中間データ記憶部
33でバンドIDを解釈して、バンド毎にまとめて記憶
される。また字句解析部30でページの出力コマンドを
解釈すると、EOP(EndOf Page)が中間デ
ータ生成部31及び中間データ並列化部32を経由し
て、中間データ記憶部33へ送られ、中間データ記憶部
33に記憶された各バンドの最終データにはEOD(E
nd Of Data)を表すデータが付加され、バン
ドデータの終了を明確にする。このEOPは展開処理部
4にも送られ、展開処理部4の処理を起動する。
The data output from the intermediate data parallelizing section 32 is sent to the intermediate data storage section 33, where the band ID is interpreted by the intermediate data storage section 33 and stored collectively for each band. When the lexical analysis unit 30 interprets the page output command, the EOP (EndOfPage) is sent to the intermediate data storage unit 33 via the intermediate data generation unit 31 and the intermediate data parallelization unit 32, and the intermediate data storage unit The final data of each band stored in the EOD (EOD (E
nd Data) is added to clarify the end of the band data. This EOP is also sent to the expansion processing unit 4 to activate the processing of the expansion processing unit 4.

【0052】次に、展開処理部4について詳細に説明す
る。図12に、再構成可能展開部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をアクセスする際に、
それぞれのブロックに割当てられたアクセスのプライオ
リティに応じてアービトレーション制御を行なう。
Next, the expansion processing section 4 will be described in detail. FIG. 12 shows a block diagram of the reconfigurable developing unit 40. The intermediate data for each band generated by the conversion processing unit 3 is read by the intermediate data transfer control unit 43 and written to the input buffer A420 or the input buffer B421 of the memory unit 410. Reconfigurable hardware unit 46
Is input buffer A420 or input buffer B42.
The intermediate data is read from No. 1, expanded and drawn on the band buffer A422 or the band buffer B423. The print data transfer control unit 44 reads the print data developed from the drawn band buffer A422 or B423, converts the read data into serial data for each read word, and synchronizes with the serial output clock signal. Output to Refresh control unit 44
Controls refresh of the memory unit 42 including the input buffer A420, the input buffer B421, the band buffer A422, the band buffer B423, and the work area 424. The arbitration unit 45 includes a refresh control unit 47, an intermediate data transfer control unit 43, a print data transfer control unit 44, a reconfiguration hardware unit 46, and a reconfiguration control unit 41, each of which accesses the memory unit 410.
Arbitration control is performed according to the access priority assigned to each block.

【0053】入力バッファとバンドバッファの使用方法
について説明する。図13(a)及び図13(b)はそ
れぞれ、入力バッファAと入力バッファBに中間データ
を入力中の、各バッファの使用状態を示すものである。
図13(a)においては、バンドiに対応する中間デー
タを入力バッファAに入力中であり、入力バッファBに
は既にバンド(i−1)に対応する中間データが入力済
みである。再構成ハードウェア部46は入力バッファB
に蓄えられた中間データを読み出して、これを展開し
て、バンドバッファBに描画する。バンドバッファAに
は、バンド(i−2)に対応する中間データを展開描画
した結果の印字データが蓄えられており、印字データ転
送制御部44はこれを出力部5に読み出している。図1
3(b)においては、バンド(i+1)に対応する中間
データを入力バッファBに入力中であり、入力バッファ
Aには既にバンドiに対応する中間データが入力済みで
ある。再構成ハードウェア部46は、入力バッファAに
蓄えられた中間データを読み出してこれを展開し、バン
ドバッファAに描画する。バンドバッファBには、バン
ド(i−1)に対応する中間データを展開描画した結果
の印字データが蓄えられており、印字データ転送制御部
44はこれを出力部5に読み出している。
A method of using the input buffer and the band buffer will be described. FIGS. 13A and 13B show the use states of each buffer while intermediate data is being input to the input buffer A and the input buffer B, respectively.
In FIG. 13A, intermediate data corresponding to band i is being input to input buffer A, and intermediate data corresponding to band (i-1) has already been input to input buffer B. The reconfiguration hardware unit 46 has an input buffer B
Is read out, expanded, and drawn in the band buffer B. The band buffer A stores print data as a result of developing and rendering the intermediate data corresponding to the band (i-2), and the print data transfer control unit 44 reads this to the output unit 5. FIG.
In 3 (b), intermediate data corresponding to band (i + 1) is being input to input buffer B, and intermediate data corresponding to band i has already been input to input buffer A. The reconfiguration hardware unit 46 reads out the intermediate data stored in the input buffer A, expands it, and draws the data in the band buffer A. In the band buffer B, print data as a result of developing and rendering the intermediate data corresponding to the band (i-1) is stored, and the print data transfer control unit 44 reads this to the output unit 5.

【0054】ワーク領域424は、展開処理部4が変換
処理部3から入力した中間データを展開するときに、必
要に応じて一時的なワーク領域として用いる。
The work area 424 is used as a temporary work area as needed when the expansion processing section 4 expands the intermediate data input from the conversion processing section 3.

【0055】再構成可能展開部40が、変換処理部3が
出力する中間データを展開する手順を説明する。構成制
御部41は、入力バッファからハードウェア構成IDと
オブジェクトIDを入力して、図14に示すフローチャ
ートに従って再構成ハードウェア部46を制御する。構
成制御部41が行なう処理はS1からS7の7つのステ
ップからなる。まず、S1において、次に処理するオブ
ジェクトのハードウェア構成IDを入力する。S2にお
いて、次に処理する構成IDが直前に処理した構成ID
と同じかどうか調べる。同じであれば、構成データを再
構成ハードウェア部46に新たに書き込む必要はないの
で、S5に飛ぶ。違う場合には、S3においてハードウ
ェア構成IDをもとに、構成データ管理部42から構成
データを読み出し、S4において読み出された構成デー
タを再構成ハードウェア部46に書き込む。S5におい
て、再構成ハードウェア部46に、処理するオブジェク
トIDを出力し、処理の開始を知らせるために開始信号
を送る。S6において、再構成ハードウェア部46での
処理が終わるまで待つ。S7において、現在処理中のバ
ンドにさらに処理すべきオブジェクトがあるかどうかを
調べる。あれば、S1に戻り、なければ終了する。
A procedure in which the reconfigurable developing unit 40 expands the intermediate data output from the conversion processing unit 3 will be described. The configuration control unit 41 inputs the hardware configuration ID and the object ID from the input buffer, and controls the reconfiguration hardware unit 46 according to the flowchart shown in FIG. The processing performed by the configuration control unit 41 includes seven steps from S1 to S7. First, in S1, the hardware configuration ID of the object to be processed next is input. In S2, the configuration ID processed next is the configuration ID processed immediately before.
Check if is the same as. If they are the same, the process skips to S5 because there is no need to newly write the configuration data to the reconfiguration hardware unit 46. If not, the configuration data is read from the configuration data management unit 42 based on the hardware configuration ID in S3, and the read configuration data is written to the reconfiguration hardware unit 46 in S4. In S5, the object ID to be processed is output to the reconfiguration hardware unit 46, and a start signal is sent to notify the start of the processing. In S6, the process waits until the processing in the reconfiguration hardware unit 46 ends. In S7, it is checked whether or not there is an object to be further processed in the band currently being processed. If there is, the process returns to S1; otherwise, the process ends.

【0056】図15に構成データ管理部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
には、単体の機能を処理するさまざまな回路構成に対応
した構成データ、同一の機能が複数個ある並列的な回路
構成に対応した構成データ、異なる機能が複数個ある並
列的な回路構成に対応した構成データ、異なる機能が複
数個あるパイプライン的な回路構成に対応した構成デー
タを備えている。
FIG. 15 shows the configuration of the configuration data management unit 42. The conversion table 415 is a table for inputting a hardware configuration ID and outputting a start address and a data length of the configuration code storage area 411. The configuration code storage area 411 is an area in which configuration data for an actual hardware configuration ID is stored, and each entry has a variable length. A control unit 412 includes a read control unit 413 and an addition / update unit 414. The read control unit 413 receives the read signal and the hardware configuration ID from the reconfiguration control unit 41, and stores the hardware configuration ID in the conversion table 415.
, The address and data length of the configuration data on the configuration code storage area 411 are input. Next, the read control unit 413 outputs the input address to the configuration code storage area 411, and stores the configuration data corresponding to the hardware configuration ID for the data length in the configuration code storage area 41.
1 and output to the reconstruction control unit 41. An adding / updating unit 414 is a control unit for adding / updating configuration data sent via a host computer or the like (not shown). The adding / updating unit 414 adds an entry of the conversion table 415 and configuration data of the configuration code storage area 411. Remove, delete, or update. Configuration code storage area 411
Includes configuration data corresponding to various circuit configurations that process a single function, configuration data corresponding to a parallel circuit configuration with multiple identical functions, and parallel circuit configuration with multiple different functions Configuration data and configuration data corresponding to a pipeline-like circuit configuration having a plurality of different functions.

【0057】次に、再構成ハードウェア部46の具体的
な構成と処理内容について例をあげて説明する。再構成
ハードウェア部46は、構成データ管理部42が管理記
憶する構成データを再構成制御部41の制御により書き
込むことにより、機能を変えることができる処理ブロッ
クである。典型的には、再構成ハードウェア部46は、
XILINX社のFPGAあるいは同等の構成要素によ
って構成される。
Next, a specific configuration and processing contents of the reconfiguration hardware unit 46 will be described with reference to an example. The reconfiguration hardware unit 46 is a processing block that can change functions by writing configuration data managed and stored by the configuration data management unit 42 under the control of the reconfiguration control unit 41. Typically, the reconfiguration hardware unit 46
It is composed of XILINX FPGA or equivalent components.

【0058】図16に、FPGAを用いて構成された再
構成ハードウェア部46の構成を示す。図16におい
て、再構成ハードウェア部46は、制御部4610、F
PGAユニット4620、およびレジスタ群4630を
含んで構成される。レジスタ群4630は、構成データ
管理部42から送られてくる構成データを記憶するもの
である。FPGAユニット4620の機能は、レジスタ
群4630に保持されている構成データによって決定さ
れる。制御部4610は、レジスタ群4630のデータ
の入出力や、FPGAユニット4620の動作タイミン
グを制御するものである。
FIG. 16 shows the configuration of the reconfiguration hardware unit 46 configured using an FPGA. In FIG. 16, the reconfiguration hardware unit 46 includes a control unit 4610, F
It is configured to include a PGA unit 4620 and a register group 4630. The register group 4630 stores the configuration data sent from the configuration data management unit 42. The function of the FPGA unit 4620 is determined by the configuration data held in the register group 4630. The control unit 4610 controls input / output of data of the register group 4630 and operation timing of the FPGA unit 4620.

【0059】FPGAユニット4620は、図17に示
すように、複数の論理ブロック4621、複数のクロス
ポイントスイッチ4622および複数のスイッチマトリ
ックス4623を含んで構成される。論理ブロック46
21は、図18に示すようにルックアップテーブル46
21A、セレクタ4621B、およびフリップフロップ
4621Cを含んで構成される。ルックアップテーブル
4621Aには、所望の真理値表が実装されている。こ
のルックアップテーブル4621Aの真理値表およびセ
レクタ4621Bの切り替え入力信号は、レジスタ群4
630に保持されている値、すなわち構成データの一部
によって決定される。また、クロスポイントスイッチ4
622およびスイッチマトリックス4623は、それぞ
れ図19および図20に示すように構成することができ
る。
The FPGA unit 4620 includes a plurality of logic blocks 4621, a plurality of cross point switches 4622, and a plurality of switch matrices 4623, as shown in FIG. Logic block 46
21 is a lookup table 46 as shown in FIG.
21A, a selector 4621B, and a flip-flop 4621C. A desired truth table is mounted on the lookup table 4621A. The truth table of the lookup table 4621A and the switching input signal of the selector 4621B are stored in the register group 4
It is determined by the value held in 630, that is, a part of the configuration data. Also, crosspoint switch 4
622 and switch matrix 4623 can be configured as shown in FIGS. 19 and 20, respectively.

【0060】再構成ハードウェア部46は、図16で示
すFPGAに限らず、例えば複数の演算処理装置(算術
論理演算ユニット)を設け、各演算処理装置の入出力の
フローを切り替え装置で制御するように構成してもよ
い。この場合、例えば図17の論理ブロック4621と
して演算処理装置を配置すればよい。また、クロスポイ
ントスイッチ4622やスイッチマトリックス4623
のかわりに単純なゲートを用いるようにしてもよい。
The reconfiguration hardware unit 46 is not limited to the FPGA shown in FIG. 16, but includes, for example, a plurality of arithmetic processing units (arithmetic logic operation units), and controls the input / output flow of each arithmetic processing unit by a switching device. It may be configured as follows. In this case, for example, an arithmetic processing unit may be arranged as the logic block 4621 in FIG. In addition, a cross point switch 4622 and a switch matrix 4623
Instead, a simple gate may be used.

【0061】図21に再構成可能ハードウェア部46の
内部構成の例を示す。図21において、460−1,4
60−2,460−3はそれぞれ同一の処理を行なう処
理回路で、3つの領域分割により並列処理を行なう。こ
こで、1つの処理回路が行なう処理は、表2にあげられ
た展開処理IDに対応するものである。3つの処理回路
460−1,460−2,460−3が行なう領域分割
処理は、例えば、図10において、処理回路460−1
が矩形領域1の描画を担当し、処理回路460−2が矩
形領域2の描画を担当し、処理回路460−3が矩形領
域3の描画を担当する。このとき、3つの処理回路46
0−1,460−2,460−3は同一のオブジェクト
の中間データを入力するが、領域データはそれぞれ自分
が担当する領域の領域データを入力する。展開処理ID
がCode Aに対応する処理回路460と展開処理I
DがCode Gに対応する処理回路460のさらに詳
しい構成と動作について説明する。
FIG. 21 shows an example of the internal configuration of the reconfigurable hardware unit 46. In FIG. 21, 460-1, 4
Processing circuits 60-2 and 460-3 perform the same processing, and perform parallel processing by dividing three regions. Here, the processing performed by one processing circuit corresponds to the development processing ID shown in Table 2. The region division processing performed by the three processing circuits 460-1, 460-2, and 460-3 is, for example, the processing circuit 460-1 in FIG.
Is responsible for drawing the rectangular area 1, the processing circuit 460-2 is responsible for drawing the rectangular area 2, and the processing circuit 460-3 is responsible for drawing the rectangular area 3. At this time, the three processing circuits 46
0-1, 460-2 and 460-3 input the intermediate data of the same object, but input the area data of the area in which they are in charge as the area data. Expansion processing ID
Is the processing circuit 460 corresponding to Code A and the expansion processing I
A more detailed configuration and operation of the processing circuit 460 where D corresponds to Code G will be described.

【0062】(i) 展開処理IDがCode Aに対
応する処理回路 図22にCode Aに対応する処理回路460のブロ
ック図を示す。図22において、処理回路460の内部
構成は、台形描画回路461とスクリーン処理回路46
2からなる。処理回路460は、変換処理部3が生成し
た、図形に対する中間データを処理する。台形描画回路
461は、入力した中間データをなす台形データ(s
x,sy,x0,x1,x2,h)を、図23に示され
るような4点からなるデータ形式に変換して台形領域を
描画する。図24に、台形描画回路461の機能ブロッ
ク図を示す。中間データ入力部463は、入力バッファ
から1つ1つの台形をなすデータを読み込んで、座標計
算部A464および座標計算部B465に台形データを
出力する。座標計算部A464は、台形の左側のエッジ
(図23のエッジP0P1)の座標計算を担当し、エッ
ジ上の座標値をP0からP1に向かって順に出力する。
座標計算部B465は、台形の右側のエッジ(図23の
エッジP2P3)の座標計算を担当し、エッジ上の座標
値をP2からP3に向かって順に出力する。エッジ描画
部466は、座標計算部A464及び座標計算部B46
5から入力される座標値により、台形のx軸に平行な直
線を描画する。
(I) Processing Circuit with Expansion Processing ID Corresponding to Code A FIG. 22 is a block diagram of a processing circuit 460 corresponding to Code A. In FIG. 22, the internal configuration of the processing circuit 460 includes a trapezoidal drawing circuit 461 and a screen processing circuit 46.
Consists of two. The processing circuit 460 processes the intermediate data for the graphic generated by the conversion processing unit 3. The trapezoidal drawing circuit 461 generates trapezoidal data (s
x, sy, x0, x1, x2, h) are converted into a data format consisting of four points as shown in FIG. 23 to draw a trapezoidal area. FIG. 24 shows a functional block diagram of the trapezoidal drawing circuit 461. The intermediate data input unit 463 reads the data forming each trapezoid from the input buffer, and outputs the trapezoid data to the coordinate calculation units A464 and B465. The coordinate calculation unit A464 is in charge of calculating the coordinates of the left edge of the trapezoid (the edge P0P1 in FIG. 23), and outputs the coordinate values on the edge in order from P0 to P1.
The coordinate calculation unit B465 is in charge of calculating the coordinates of the right edge of the trapezoid (the edge P2P3 in FIG. 23), and outputs the coordinate values on the edge in order from P2 to P3. The edge drawing unit 466 includes a coordinate calculation unit A464 and a coordinate calculation unit B46.
A straight line parallel to the trapezoidal x-axis is drawn based on the coordinate values input from step 5.

【0063】図25に、座標計算部の機能ブロック図を
示す。入力された台形データ(sx,sy,x0,x
1,x2,h)はDDAパラメータ計算部467で4点
の台形データ(P0,P1,P2,P3)に変換され
て、傾きや残差の初期値などのDDAのパラメータを計
算し、DDA処理部468に出力する。DDA処理部4
68は、入力されたパラメータに基づいてDDA処理を
行い、最後に求めた点に対する移動方向と移動量を出力
する。座標更新部469は、入力された移動方向と移動
量から現在保持している座標値を更新して出力する。座
標の初期値は、中間データ入力部463によって設定さ
れる。クリッピング部474は、オブジェクトの中間デ
ータに付けられた領域データを入力して、座標更新部4
69が新たに計算した座標が、描画領域内部かどうかを
調べて結果を座標更新部に返す。座標更新部469は、
クリッピング部474から返った値を調べて、新たに計
算した座標が描画領域の内部にある場合にはその座標を
出力し、そうでなければ座標値を出力しない。
FIG. 25 shows a functional block diagram of the coordinate calculator. Input trapezoidal data (sx, sy, x0, x
1, x2, h) are converted into four-point trapezoidal data (P0, P1, P2, P3) by a DDA parameter calculation unit 467, and DDA parameters such as an initial value of a slope and a residual are calculated. Output to the unit 468. DDA processing unit 4
Reference numeral 68 performs DDA processing based on the input parameters, and outputs a moving direction and a moving amount with respect to the last obtained point. The coordinate updating unit 469 updates the currently held coordinate values based on the input movement direction and movement amount and outputs the updated coordinate values. The initial values of the coordinates are set by the intermediate data input unit 463. The clipping unit 474 inputs the area data added to the intermediate data of the object, and
It is checked whether the coordinates newly calculated by 69 are inside the drawing area, and the result is returned to the coordinate updating unit. The coordinate update unit 469 is
The value returned from the clipping unit 474 is checked, and if the newly calculated coordinates are inside the drawing area, the coordinates are output; otherwise, the coordinates are not output.

【0064】図26は、エッジ描画部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の
場合には、スクリーン処理が、最終的なガンマ補正とハ
ーフトーンを行うため処理であり、文字を出力する場合
に最適化したスクリーンパターンが設定されている。
FIG. 26 is a block diagram of the edge drawing section 466. The edge drawing unit 466 inputs the coordinate values A / B and color information, and paints the trapezoidal internal area. The address calculator 470 inputs the coordinate values A / B and calculates the address of the edge component to be drawn. Mask operation unit 471
Inputs a coordinate value A / B and outputs a mask representing valid bits in a word to be drawn. Data operation unit 4
Reference numeral 72 inputs color data representing a fixed color, expands the value into words, outputs the word to the screen processing circuit, and outputs the result of the screen processing to the RmodW unit 473.
The RmodW unit 473 receives the input address, mask,
Drawing is performed by performing the following processing using the data. First, the band buffer is read according to the address. Assuming that the read data is Source, the mask data is Mask, and the drawing data is Data, (Mask * Data + Mask # * Source)
Calculate the value of e) and write it back to the same address. However,
* Indicates logical product, + indicates logical sum, and # indicates logical negation. This process is repeated for each word including the edge to be drawn. Further, the screen processing circuit 462 includes:
This is a process for performing final gamma correction and halftone, and a screen pattern optimized for outputting a graphic is set. When the expansion processing ID is Code B, the screen processing is processing for performing final gamma correction and halftone, and a screen pattern optimized for outputting characters is set.

【0065】(ii) 展開処理IDがCode Gに
対応する処理回路 処理回路480は、中間データが画素毎に色の異なる画
像を入力し、表2のCode G示されるような様々な
画像処理を行なう。画像処理は、処理の組み合わせが、
(伸長処理、解像度変換、色空間変換、台形処理、スク
リーン)の場合の処理回路を説明する。図27に示すよ
うに、処理回路480の内部構成は、画像伸張回路48
1、解像度変換回路482、色変換回路483、台形描
画回路484、スクリーン処理回路485からなる。
(Ii) Processing Circuit whose Expansion Process ID Corresponds to Code G The processing circuit 480 inputs an image whose intermediate data is different in color for each pixel, and performs various image processing as shown in Code G in Table 2. Do. Image processing is a combination of processing,
The processing circuit in the case of (expansion processing, resolution conversion, color space conversion, trapezoid processing, screen) will be described. As shown in FIG. 27, the internal configuration of the processing circuit 480
1, a resolution conversion circuit 482, a color conversion circuit 483, a trapezoidal drawing circuit 484, and a screen processing circuit 485.

【0066】(伸長処理回路481)入力された中間デ
ータである画像が、圧縮されており、伸長処理を要する
場合には、伸張処理回路481は中間データをJPEG
等のアルゴリズムにより伸長処理する。図28に、伸長
処理回路481の機能ブロック図を示す。中間データ入
力部481−1は現在入力中の入力バッファから圧縮さ
れた画像データである中間データを入力する。画素クリ
ッピング部481−2は、処理中のオブジェクトの領域
データと圧縮された画像データを入力し、描画領域内部
にあるデータのみを選択して出力する。圧縮された画像
データが、描画領域内部にあるかどうかの判定は、画像
データの参照点の座標と画像データ内の参照点からの相
対的な移動量により、個々の画素の座標を求めて、これ
を入力された領域データと比較することにより行なわれ
る。ハフマン復号化部481−3は内臓されているハフ
マン復号化テーブルをもとに圧縮データをデコードす
る。逆量子化部481−4は、ハフマン復号化部481
−3から入力されるデータを、内臓されている量子化テ
ーブルをもとに、逆量子化して出力する。逆DCT部4
81−5は、逆量子化部481−4から入力されるデー
タを、逆DCT変換式によって変換して出力する。書き
込み部481−6は逆DCT部によって復号化された画
像データをワーク領域424に書き込む。
(Expansion Processing Circuit 481) When the input image as the intermediate data is compressed and expansion processing is required, the expansion processing circuit 481 converts the intermediate data into JPEG data.
Decompression processing is performed by an algorithm such as FIG. 28 shows a functional block diagram of the decompression processing circuit 481. The intermediate data input unit 481-1 inputs intermediate data that is compressed image data from the input buffer currently being input. The pixel clipping unit 481-2 receives the area data of the object being processed and the compressed image data, and selects and outputs only data within the drawing area. The determination as to whether the compressed image data is inside the drawing area is performed by obtaining the coordinates of each pixel based on the coordinates of the reference point of the image data and the relative movement amount from the reference point in the image data. This is performed by comparing this with the input area data. The Huffman decoding unit 481-3 decodes the compressed data based on a built-in Huffman decoding table. The inverse quantization unit 481-4 outputs the Huffman decoding unit 481
-3 is inversely quantized based on the built-in quantization table and output. Inverse DCT unit 4
81-5 converts the data input from the inverse quantization unit 481-4 by an inverse DCT transform expression and outputs the data. The writing unit 481-6 writes the image data decoded by the inverse DCT unit to the work area 424.

【0067】(解像度変換回路482)図29に、解像
度変換回路482の機能ブロック図を示す。画素データ
入力部482−1は伸長処理した結果が書き込まれたワ
ーク領域424から画素データを読み出す。画素の読み
出しは、解像度変換式(1)の逆変換によって現在計算
を行なっている画素の補間に必要な入力画素のみを読み
出す。補間処理部482−2では、入力された画素デー
タから変換後の画素の輝度をそれぞれの色成分について
補間する。補間アルゴリズムは線形補間法により行な
う。画素アドレス計算部482−3では、現在計算中の
画素の座標からワーク領域424の書き込みアドレスを
計算する。書き込み部では、画素アドレスと補間データ
をもとに新しい画素の値を書き込む。ワーク領域424
上で、入力画像と出力画像が割り当てられている領域は
異なる領域である。
(Resolution Conversion Circuit 482) FIG. 29 shows a functional block diagram of the resolution conversion circuit 482. The pixel data input unit 482-1 reads pixel data from the work area 424 in which the result of the decompression processing is written. Pixel reading is performed by reading only input pixels necessary for interpolation of the pixel currently being calculated by the inverse conversion of the resolution conversion formula (1). The interpolation processor 482-2 interpolates the luminance of the converted pixel from the input pixel data for each color component. The interpolation algorithm is performed by a linear interpolation method. The pixel address calculation unit 482-3 calculates the write address of the work area 424 from the coordinates of the pixel currently being calculated. The writing unit writes a new pixel value based on the pixel address and the interpolation data. Work area 424
Above, the areas to which the input image and the output image are assigned are different areas.

【0068】(色空間変換回路483)図30に、色空
間変換回路483の機能ブロック図を示す。色空間変換
は、RGB空間の入力画像を印刷色であるCMYK空間
への変換を行なう。画素データ入力部483−1は、ア
フィン変換された結果を格納するワーク領域424上の
画素データを1画素毎に入力する。テーブル変換部48
3−2はRGB画像データを入力して、CYMK各色の
画像データを出力する。本実施例ではCMYK色を色毎
に処理するので、一度に1色の変換テーブルしか必要と
しない。4色同時に処理したい場合には、4色分の変換
テーブルを内蔵する。また、変換テーブルはテーブル変
換部452内に内臓され、テーブルの容量を削減するた
めにRGB各色につき9点の代表点をテーブルのアドレ
スとして持ち、さらに詳細なアドレス部による変換の値
は次の補間処理部483−3で行なう。補間処理部48
3−3では、変換するRGB色空間の1点を囲む6点の
代表点から3次元での線形補間処理により、詳細な変換
値を求める。この過程を示したものが、図31である。
変換したいRGB空間の点Pに対して、テーブル変換部
483−2で点Pを囲む3角柱の頂点となるような6点
(a,b,c,d,e,f)の変換値をルックアップテ
ーブルで求め、これをもとに線形補間を行なう。書き込
み部483−4は画素データ入力部483−1が入力し
た同一アドレスに変換結果を上書きする。
(Color Space Conversion Circuit 483) FIG. 30 is a functional block diagram of the color space conversion circuit 483. In the color space conversion, an input image in the RGB space is converted into a CMYK space which is a printing color. The pixel data input unit 483-1 inputs pixel data on the work area 424 for storing the result of the affine transformation for each pixel. Table converter 48
3-2 inputs RGB image data and outputs image data of each color of CYMK. In this embodiment, since the CMYK colors are processed for each color, only one color conversion table is required at a time. When it is desired to process four colors simultaneously, a conversion table for four colors is built in. Further, the conversion table is built in the table conversion unit 452, and has nine representative points for each color of RGB as table addresses in order to reduce the capacity of the table. This is performed by the processing unit 483-3. Interpolation processing unit 48
In 3-3, a detailed conversion value is obtained by three-dimensional linear interpolation from six representative points surrounding one point in the RGB color space to be converted. FIG. 31 shows this process.
For the point P in the RGB space to be converted, the table conversion unit 483-2 looks up conversion values of six points (a, b, c, d, e, f) that become vertices of a triangular prism surrounding the point P. It is obtained by an up-table, and linear interpolation is performed based on this. The writing unit 483-4 overwrites the conversion result on the same address input by the pixel data input unit 483-1.

【0069】(台形処理回路484)画像データを台形
領域に描画するための台形描画回路484の構成は、基
本的に、図24に示した文字及び図形の台形処理のため
の機能ブロックと同じである。台形領域への画像の貼り
付けは、図8(b)に示したようになる。この場合に
も、台形処理回路484は、座標計算部464及び46
5でのクリッピングにより、自分が担当している領域し
か描画を行なわない。このとき、図24での画像の描画
に特有の相違点は、中間データ入力部463は、画像デ
ータをワーク領域424から入力し、エッジ描画部46
6に画像データを出力する。台形データを表す中間デー
タは入力バッファから入力する。エッジ描画部466
は、文字及び図形の場合と同様に、現在出力中のバンド
バッファに出力画像を書き込む。
(Trapezoid Processing Circuit 484) The configuration of the trapezoid drawing circuit 484 for drawing image data in a trapezoid area is basically the same as the function block for trapezoid processing of characters and figures shown in FIG. is there. The image is pasted on the trapezoid area as shown in FIG. Also in this case, the trapezoid processing circuit 484 includes the coordinate calculation units 464 and 46.
Due to the clipping in 5, only the area in which the user is responsible is drawn. At this time, the difference unique to the drawing of the image in FIG. 24 is that the intermediate data input unit 463 inputs the image data from the work area 424 and the edge drawing unit 46
6 to output the image data. Intermediate data representing trapezoidal data is input from an input buffer. Edge drawing unit 466
Writes an output image in the band buffer currently being output, as in the case of characters and graphics.

【0070】(スクリーン処理回路485)スクリーン
は、データとして保持している1色あたりの色数が、プ
リンタで表現できる1色あたりの色数より多い場合に、
プリンタで表現できる色数の色値に変換すための処理で
ある。この代表的な処理は、ハーフトーン処理と呼ば
れ、ハーフトーンマトリックスというNxMの閾値デー
タを持ち、そのデータと画像データを色ごとに比較し
て、プリンタの色ごとの色値を決定するというものであ
る。例えば1色あたり1bitのプリンタに1色あたり
8bitで表現された画像データを処理する場合、Nx
Mの閾値データのハーフトーンマトリックスには、0〜
255までの任意の値が記憶されている。そして実際の
画像データの値とその画像の位置によって決まるハーフ
トーンマトリックス閾値データとを比較して、もし画像
データのほうが大きければ、そのピクセルを印字する色
値を出力して、そうでなければ、そのピクセルを印字し
ない色値を出力する。
(Screen processing circuit 485) When the number of colors per color held as data is larger than the number of colors per color that can be expressed by the printer,
This is a process for converting into color values of the number of colors that can be expressed by the printer. This typical processing is called halftone processing, which has NxM threshold data called a halftone matrix, compares the data with image data for each color, and determines a color value for each color of the printer. It is. For example, when processing image data represented by 8 bits per color on a printer with 1 bit per color, Nx
In the halftone matrix of the threshold data of M, 0 to
Any value up to 255 is stored. Then, the value of the actual image data is compared with the halftone matrix threshold data determined by the position of the image, and if the image data is larger, the color value for printing the pixel is output. Outputs a color value that does not print the pixel.

【0071】以上が、処理するオブジェクトが画像デー
タであり、展開処理IDがCodeGに対応する処理の
組み合わせ(伸長処理、解像度変換、色空間変換、台形
処理、スクリーン)に対応した処理回路480の構成及
びそれが行なう処理内容である。
The above is the configuration of the processing circuit 480 corresponding to a combination of processing (decompression processing, resolution conversion, color space conversion, trapezoid processing, screen) whose processing object is image data and whose expansion processing ID corresponds to CodeG. And the processing contents performed by it.

【0072】再構成ハードウェア部46はアービトレー
ション部45を通じてメモリとの間で入出力を行ない展
開結果をバンドバッファに格納する。
The reconfiguration hardware unit 46 inputs / outputs data from / to the memory through the arbitration unit 45 and stores the expansion result in the band buffer.

【0073】以上で説明した本発明の実施例では、領域
分割された描画要素を展開処理する個々の処理回路は同
一の中間データを入力し、領域データのみ異なるとした
が、中間データ並列化部32で領域分割を行なう際に、
実際の中間データも分割された領域に合わせて分割する
ようにしてもよい。これを図32及び図33を用いて説
明する。図32においては、同一の中間データを用いて
3つの処理回路が領域分割を行ない処理する。1つの処
理回路はPD1で示される領域1を担当し、別の処理回
路はPD2で示される領域2を担当し、また別の処理回
路はPD3で示される領域3を担当する。図33におい
ては、領域1、領域2、領域3を表す中間データそのも
のが、中間データ並列化部32において分割されて、そ
れぞれ台形1及び台形2、台形3及び台形4、台形5及
び台形6からなる新たな中間データが生成される。1つ
の描画要素から分割して生成された3つの中間データ
は、それぞれ別々に3つの処理回路に入力され並列に処
理される。
In the embodiment of the present invention described above, the individual processing circuits for expanding the drawing elements divided into regions receive the same intermediate data and differ only in the region data. When performing area division at 32,
The actual intermediate data may also be divided according to the divided area. This will be described with reference to FIGS. 32 and 33. In FIG. 32, three processing circuits perform region division using the same intermediate data. One processing circuit is responsible for area 1 indicated by PD1, another processing circuit is responsible for area 2 indicated by PD2, and another processing circuit is responsible for area 3 indicated by PD3. In FIG. 33, the intermediate data itself representing the areas 1, 2, and 3 is divided by the intermediate data parallelizing unit 32, and the trapezoids 1 and 2, the trapezoids 3 and 4, the trapezoids 5 and 6, New intermediate data is generated. The three intermediate data generated by dividing from one drawing element are separately input to three processing circuits and processed in parallel.

【0074】また、領域分割は、1ページの中でバンド
分割されたバンド単位でもよい。これは、単にバンド領
域わ表すデータのみを全中間データに付加することによ
っても実現可能であるし、中間データをバンド領域毎に
実際に分割して行なう方法でもよい。
The area division may be performed in band units obtained by band division in one page. This can be realized by simply adding only the data representing the band area to all the intermediate data, or a method of actually dividing the intermediate data for each band area.

【0075】[0075]

【発明の効果】以上説明したように本発明では、文字、
図形、画像の描画要素のいずれかを有し、所定の描画命
令で記述された印刷データを入力して、出力装置に出力
する印刷処理装置において、出力装置に出力するための
展開処理を再構成ハードウエアを使って行うことによ
り、必要なハードウエア量を減らすことができるととも
に、印刷データに含まれる描画オブジェクト毎に領域分
割を行なうことによって、再構成ハードウェア手段を並
列動作させることで、再構成ハードウェア手段による展
開処理を高速化することが可能になる。また、1つの描
画要素を分割して異なる中間データとして並列に処理し
た場合には、それぞれの処理回路による処理の効率が高
まり、より高速な処理が可能になる。
As described above, according to the present invention, characters,
A print processing device that has one of a drawing element of a figure and an image and receives print data described by a predetermined drawing command and outputs the print data to an output device. By using hardware, the required amount of hardware can be reduced, and by dividing the area for each drawing object included in the print data, the reconfiguration hardware means can be operated in parallel, thereby reducing the amount of hardware. It is possible to speed up the expansion processing by the constituent hardware means. Further, when one drawing element is divided and processed in parallel as different intermediate data, the processing efficiency of each processing circuit increases, and higher-speed processing becomes possible.

【0076】また、本発明の印刷処理装置では、描画要
素の領域分割を描画要素の面積、あるいはバンド領域に
基づいて行い、該分割領域に対応するハードウェア構成
変更情報を中間データに付加することにより、展開処理
を実行するハードウェア構成を最適に変更し、複雑な画
像処理において、効率的な並列処理を達成することがで
きる。
Further, in the print processing apparatus of the present invention, the division of the drawing element is performed based on the area of the drawing element or the band area, and the hardware configuration change information corresponding to the divided area is added to the intermediate data. Accordingly, it is possible to optimally change the hardware configuration for executing the expansion processing, and achieve efficient parallel processing in complicated image processing.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明の一実施例の印刷処理装置の構成を
示すブロック図である。
FIG. 1 is a block diagram illustrating a configuration of a print processing apparatus according to an embodiment of the present invention.

【図2】 カラーページプリンタの構成の説明図であ
る。
FIG. 2 is an explanatory diagram of a configuration of a color page printer.

【図3】 中間データ生成部を示すブロック図であ
る。
FIG. 3 is a block diagram illustrating an intermediate data generation unit.

【図4】 アウトラインベクターを説明する図であ
る。
FIG. 4 is a diagram illustrating an outline vector.

【図5】 ベジエ曲線の再帰的な分割を説明する図で
ある。
FIG. 5 is a diagram illustrating recursive division of a Bezier curve.

【図6】 台形データを説明する図である。FIG. 6 is a diagram illustrating trapezoidal data.

【図7】 台形データのバンド境界での分割を説明す
る図である。
FIG. 7 is a diagram illustrating division of trapezoidal data at a band boundary.

【図8】 台形データのデータ表現の一例を説明する
図である。
FIG. 8 is a diagram illustrating an example of a data representation of trapezoidal data.

【図9】 台形データへの画像データの対応を説明す
る図である。
FIG. 9 is a diagram for explaining correspondence of image data to trapezoidal data.

【図10】 描画オブジェクトの領域分割を説明する図
である。
FIG. 10 is a diagram for describing area division of a drawing object.

【図11】 中間データへのハードウェア構成IDと分
割数と領域データの付加を示す図である。
FIG. 11 is a diagram illustrating addition of a hardware configuration ID, the number of divisions, and area data to intermediate data.

【図12】 再構成可能展開部のブロック図である。FIG. 12 is a block diagram of a reconfigurable developing unit.

【図13】 入力バッファとバンドバッファの使用方法
について説明する図である。
FIG. 13 is a diagram illustrating a method of using an input buffer and a band buffer.

【図14】 構成制御部が再構成ハードウェア部を制御
する手順を示すフローチャートである。
FIG. 14 is a flowchart illustrating a procedure in which a configuration control unit controls a reconfiguration hardware unit.

【図15】 構成データ管理部の構成を示す図である。FIG. 15 is a diagram showing a configuration of a configuration data management unit.

【図16】 再構成ハードウェア部の構成例を示すブロ
ック図である。
FIG. 16 is a block diagram illustrating a configuration example of a reconfiguration hardware unit.

【図17】 図16のFPGAユニットの構成を説明す
る図である。
FIG. 17 is a diagram illustrating a configuration of the FPGA unit in FIG. 16;

【図18】 図17の論理ブロックを説明する図であ
る。
FIG. 18 is a diagram illustrating a logical block in FIG. 17;

【図19】 図17のクロスポイントスイッチを説明す
る図である。
FIG. 19 is a diagram illustrating the cross point switch of FIG. 17;

【図20】 図17のスイッチマトリックスを説明する
図である。
FIG. 20 is a diagram illustrating the switch matrix of FIG. 17;

【図21】 再構成ハードウェア部の構成を示す図であ
る。
FIG. 21 is a diagram illustrating a configuration of a reconfiguration hardware unit.

【図22】 展開処理IDがCode Aに対応する処
理回路のブロック図である。
FIG. 22 is a block diagram of a processing circuit whose expansion processing ID corresponds to Code A.

【図23】 台形データ描画を説明する図である。FIG. 23 is a diagram illustrating trapezoidal data drawing.

【図24】 台形描画回路の機能ブロック図である。FIG. 24 is a functional block diagram of a trapezoidal drawing circuit.

【図25】 座標計算部の機能ブロック図である。FIG. 25 is a functional block diagram of a coordinate calculation unit.

【図26】 エッジ描画部の機能ブロック図である。FIG. 26 is a functional block diagram of an edge drawing unit.

【図27】 展開処理IDがCode Gに対応する処
理回路のブロック図である。
FIG. 27 is a block diagram of a processing circuit whose expansion processing ID corresponds to Code G.

【図28】 伸長処理回路の機能ブロック図である。FIG. 28 is a functional block diagram of a decompression processing circuit.

【図29】 解像度変換回路の機能ブロック図である。FIG. 29 is a functional block diagram of a resolution conversion circuit.

【図30】 色空間変換回路の機能ブロック図である。FIG. 30 is a functional block diagram of a color space conversion circuit.

【図31】 色空間変換の線形補間の過程を示す図であ
る。
FIG. 31 is a diagram illustrating a process of linear interpolation of color space conversion.

【図32】 領域データが付加されただけの、領域分割
による並列処理を行なうための中間データを示す図であ
る。
FIG. 32 is a diagram showing intermediate data for performing parallel processing by area division to which only area data has been added.

【図33】 3つに分割された中間データを用いて領域
分割による並列処理を行なうための中間データを示す図
である。
FIG. 33 is a diagram showing intermediate data for performing parallel processing by region division using intermediate data divided into three.

【符号の説明】[Explanation of symbols]

1 印刷データ作成部 2 印刷データ入力部 3 変換処理部 4 展開処理部 5 出力部 30 字句解析部 31 中間データ生成部 32 中間データ並列化部 33 中間データ記憶部 40 再構成可能展開部 41 再構成制御部 42 構成データ管理部 43 中間データ転送制御部 44 印字データ転送制御部 45 アービトレーション部 46 再構成ハードウェア部 47 リフレッシュ制御部 50 ビデオインターフェース 51 半導体レーザ走査装置 52 感光体ドラム 53 帯電器 54 ロータリー現像器 55 転写ドラム 56 クリーナー 57 定着器 58 用紙の搬送経路 310 トークン解釈部 311 命令実行部 312 画像処理部 313 描画状態記憶部 314 ベクターデータ生成部 315 フォント管理部 316 マトリックス変換部 317 ショートベクター生成部 318 台形データ生成部 319 バンド分解管理部 410 メモリ部 411 構成コード記憶領域 412 制御部 413 読み出し制御部 414 追加・更新部 415 変換テーブル 420 入力バッファA 421 入力バッファB 422 バンドバッファA 423 バンドバッファB 424 ワーク領域 460 Code A処理回路 461 台形描画回路 462 スクリーン処理回路 463 中間データ入力部 464 座標計算部A 465 座標計算部B 466 エッジ描画部 467 DDAパラメータ計算部 468 DDA処理部 469 座標更新部 470 アドレス計算部 471 マスク演算部 472 データ演算部 473 RmodW処理部 474 クリッピング部 480 Code G処理回路 481 画像伸張回路 481−1 中間データ入力部 481−2 画素クリッピング部 481−3 ハフマン複号化部 481−4 逆量子化部 481−5 逆DCT部 481−6 書き込み部 482 解像度変換回路 482−1 画素データ入力部 482−2 補間処理部 482−3 画素アドレス計算部 482−4 書き込み部 483 色変換回路 483−1 画素データ入力部 483−2 テーブル変換部 483−3 補間処理部 483−4 書き込み部 484 台形描画回路 485 スクリーン処理回路 510 ポリゴンミラー 511 レンズ REFERENCE SIGNS LIST 1 print data creation unit 2 print data input unit 3 conversion processing unit 4 expansion processing unit 5 output unit 30 lexical analysis unit 31 intermediate data generation unit 32 intermediate data parallelization unit 33 intermediate data storage unit 40 reconfigurable expansion unit 41 reconstruction Control unit 42 Configuration data management unit 43 Intermediate data transfer control unit 44 Print data transfer control unit 45 Arbitration unit 46 Reconstruction hardware unit 47 Refresh control unit 50 Video interface 51 Semiconductor laser scanning device 52 Photoconductor drum 53 Charger 54 Rotary development Device 55 Transfer drum 56 Cleaner 57 Fixing device 58 Paper transport path 310 Token interpreting unit 311 Command executing unit 312 Image processing unit 313 Drawing state storing unit 314 Vector data generating unit 315 Font managing unit 316 Matrix converting unit 317 Port vector generation unit 318 Trapezoidal data generation unit 319 Band decomposition management unit 410 Memory unit 411 Configuration code storage area 412 Control unit 413 Read control unit 414 Addition / update unit 415 Conversion table 420 Input buffer A 421 Input buffer B 422 Band buffer A 423 band Buffer B 424 Work area 460 Code A processing circuit 461 Trapezoid drawing circuit 462 Screen processing circuit 463 Intermediate data input unit 464 Coordinate calculation unit A 465 Coordinate calculation unit B 466 Edge drawing unit 467 DDA parameter calculation unit 468 DDA processing unit 469 Coordinate update unit 470 Address calculation unit 471 Mask calculation unit 472 Data calculation unit 473 RmodW processing unit 474 Clipping unit 480 Code G processing circuit 481 Image decompression circuit 481-1 Medium Inter-data input unit 481-2 Pixel clipping unit 481-3 Huffman decoding unit 481-4 Inverse quantization unit 481-5 Inverse DCT unit 481-6 Write unit 482 Resolution conversion circuit 482-1 Pixel data input unit 482-2 Interpolation processing section 482-3 Pixel address calculation section 482-4 Writing section 483 Color conversion circuit 483-1 Pixel data input section 483-2 Table conversion section 483-3 Interpolation processing section 483-4 Writing section 484 Trapezoidal drawing circuit 485 Screen processing Circuit 510 Polygon mirror 511 Lens

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 少なくとも文字、図形、画像の描画要素
のいずれかを有し、所定の描画命令で記述された印刷デ
ータを入力する入力手段と、 前記印刷データに含まれる描画要素の描画領域を判定す
る判定手段と、 少なくとも前記判定手段の判定情報と前記印刷データの
内容とを基に、前記入力手段に入力された印刷データの
描画領域を分割し、該分割領域に対応して設定されるハ
ードウェア構成変更情報を含む変換データ形式に変換す
る変換手段と、 前記変換手段で変換された変換データに含まれる前記ハ
ードウェア構成変更情報に応じて構成を変更し、前記変
換データの展開処理を実行するハードウェア手段と、 前記ハードウェア手段で展開処理された変換データを出
力する出力手段とを備えた印刷処理装置。
An input unit that has at least one of a character, a graphic, and an image drawing element and inputs print data described by a predetermined drawing command; and a drawing area of a drawing element included in the print data. A determination unit configured to divide a drawing area of the print data input to the input unit based on at least the determination information of the determination unit and the content of the print data, and to set the drawing area corresponding to the divided area A conversion unit that converts the data into a conversion data format including hardware configuration change information; and changing a configuration according to the hardware configuration change information included in the conversion data converted by the conversion unit, and expanding the converted data. A print processing apparatus comprising: hardware means for executing; and output means for outputting converted data expanded by the hardware means.
【請求項2】 前記変換手段における描画領域の分割は
描画要素の面積に基づいて行われることを特徴とする請
求項1に記載の印刷処理装置。
2. The print processing apparatus according to claim 1, wherein the division of the drawing area by the conversion unit is performed based on the area of the drawing element.
【請求項3】 前記変換手段における描画領域の分割は
描画領域を表すデータを前記変換データへ付加すること
により行われることを特徴とする請求項1に記載の印刷
処理装置。
3. The print processing apparatus according to claim 1, wherein the division of the drawing area by the conversion unit is performed by adding data representing the drawing area to the conversion data.
【請求項4】 前記変換手段における描画領域の分割は
バンド領域を示すデータを前記変換データへ付加するこ
とにより、バンド単位での分割を実行する構成としたこ
とを特徴とする請求項3に記載の印刷処理装置。
4. The image processing apparatus according to claim 3, wherein the dividing of the drawing area by the conversion unit is performed by adding data indicating a band area to the converted data, thereby performing division in band units. Print processing device.
【請求項5】 前記変換手段における描画領域の分割は
描画要素の分割により行われることを特徴とする請求項
1に記載の印刷処理装置。
5. The print processing apparatus according to claim 1, wherein the division of the drawing area in the conversion unit is performed by dividing a drawing element.
【請求項6】 前記変換手段における描画領域の分割は
バンド単位での描画要素の分割により行われることを特
徴とする請求項5に記載の印刷処理装置。
6. The print processing apparatus according to claim 5, wherein the division of the drawing area in the conversion unit is performed by dividing drawing elements in band units.
【請求項7】 前記ハードウェア手段は、前記変換デー
タの展開処理において、前記描画要素を分割された領域
についてのみ描画するクリッピング手段を備えることを
特徴とする請求項1に記載の印刷処理装置。
7. The print processing apparatus according to claim 1, wherein the hardware unit includes a clipping unit that draws only the divided area of the drawing element in the conversion data expanding process.
【請求項8】 少なくとも文字、図形、画像の描画要素
のいずれかを有し、所定の描画命令で記述された印刷デ
ータを入力する入力手段と、 前記印刷データの内容を基に、前記入力手段に入力され
た印刷データの描画要素を分割し、該分割領域に対応し
て設定されるハードウェア構成変更情報を含む変換デー
タ形式に変換する変換手段と、 前記変換手段で変換された変換データに含まれる前記ハ
ードウェア構成変更情報に応じて構成を変更し、前記変
換データの展開処理を実行するハードウェア手段と、 前記ハードウェア手段で展開処理された変換データを出
力する出力手段とを備えた印刷処理装置。
8. An input unit having at least one of a drawing element of a character, a figure, and an image and inputting print data described by a predetermined drawing command, and the input unit based on the content of the print data. A conversion unit that divides the drawing element of the print data input to the conversion data and converts the drawing data into a conversion data format including hardware configuration change information set corresponding to the divided area; Hardware means for changing the configuration in accordance with the included hardware configuration change information and executing the conversion processing of the converted data; and output means for outputting the converted data expanded by the hardware means. Print processing device.
JP9153500A 1997-04-01 1997-06-11 Printing-processing apparatus Pending JPH111032A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9153500A JPH111032A (en) 1997-06-11 1997-06-11 Printing-processing apparatus
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
JP9153500A JPH111032A (en) 1997-06-11 1997-06-11 Printing-processing apparatus

Publications (1)

Publication Number Publication Date
JPH111032A true JPH111032A (en) 1999-01-06

Family

ID=15563928

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9153500A Pending JPH111032A (en) 1997-04-01 1997-06-11 Printing-processing apparatus

Country Status (1)

Country Link
JP (1) JPH111032A (en)

Similar Documents

Publication Publication Date Title
US6219149B1 (en) Print processing apparatus
JP3125863B2 (en) Print processing device
JP3834935B2 (en) Print processing device
EP0575134B1 (en) Method and apparatus for printing according to a graphic language
JP3885282B2 (en) Print data processing apparatus and print data processing method
JPH10151815A (en) Printing-processing apparatus
JPH111032A (en) Printing-processing apparatus
JP3640133B2 (en) Print processing device
JPH11165434A (en) Lithography processing device
JP4103164B2 (en) Print processing device
JPH10157217A (en) Printing-processing apparatus
JP2000013601A (en) Print information processor and device and method for generating intermediate data
JP3700363B2 (en) Print processing device
JPH11144062A (en) Printing processor
JP3755265B2 (en) Print processing device
JPH10157216A (en) Printing-processing apparatus
JP2001096854A (en) Apparatus and method for printing processing
JPH11235849A (en) Image processing device, data processing method thereof, and storage medium storing program readable by computer
JP3671633B2 (en) Print data processing device
JPH11119930A (en) Printing processor and printing processing method
JPH10147019A (en) Printing process device
JP2000255116A (en) Apparatus for processing printing and method for processing printing
JPH1110961A (en) Print processor and printing method
JP2002024840A (en) Drawing processing device
JPH10305639A (en) Print processor and processing method