JP3125863B2 - Print processing device - Google Patents

Print processing device

Info

Publication number
JP3125863B2
JP3125863B2 JP09082699A JP8269997A JP3125863B2 JP 3125863 B2 JP3125863 B2 JP 3125863B2 JP 09082699 A JP09082699 A JP 09082699A JP 8269997 A JP8269997 A JP 8269997A JP 3125863 B2 JP3125863 B2 JP 3125863B2
Authority
JP
Japan
Prior art keywords
data
unit
print data
logic circuit
print
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP09082699A
Other languages
Japanese (ja)
Other versions
JPH10278361A (en
Inventor
哲郎 河田
雄二 小野澤
隆 長尾
範顕 関
和貴 平田
義則 和田
宏 石川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP09082699A priority Critical patent/JP3125863B2/en
Priority to US09/050,361 priority patent/US6219149B1/en
Publication of JPH10278361A publication Critical patent/JPH10278361A/en
Application granted granted Critical
Publication of JP3125863B2 publication Critical patent/JP3125863B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)

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 page units.

【0002】[0002]

【従来の技術】小型、高速のデジタル印刷に適した電子
写真方式のページプリンタの開発に伴い、従来の文字情
報中心の印刷から脱皮した、画像、図形、文字などを同
様に取り扱い、図形、文字等の拡大、回転、変形などが
自由に制御できる記述言語を用いる印刷処理装置が一般
に普及してきた。このような記述言語の代表的な例とし
て、PostScript(Adobe System
s社商標)、Interpress(Xerox社商
標)、Acrobat(Adobe Systems社
商標)、GDI(Graphics Device I
nterface、Microsoft社商標)等が知
られている。
2. Description of the Related Art With the development of an electrophotographic page printer suitable for small-sized, high-speed digital printing, images, figures, characters, etc., which have escaped from conventional character information-centric printing, are handled in the same manner. 2. Description of the Related Art A print 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).
s), Interpress (trademark of Xerox), Acrobat (trademark of Adobe Systems), GDI (Graphics Device I)
Internet, 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 includes:
It consists 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. 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 successively 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. Particularly, in the latest electrophotographic color page printer, C (Cyan), M
(Magenta), Y (Yellow) , B K (Bl
ack) requires raster data corresponding to the four color toners, and image quality is required more than a black and white page printer. Need.

【0004】この大量のメモリの必要性に対し、コスト
低減の観点からメモリ要求を低減させる技術として、最
近バンドメモリ技術が登場してきた。バンドメモリ技術
は、ページプリンタの印字前に1ページ分の印刷データ
を全てラスタ化するのではなく、記述言語で作成されて
いる印刷データを、印刷データをラスタ化するよりも速
くラスタ化可能な比較的簡単な中間データに変換し、1
ページを隣接する複数の領域(バンド)に分割し、各バ
ンドに対応する中間データを記憶した後、ラスタ展開処
理部に順次転送し、バンドに対応するバッファメモリに
展開する技術である。バンドメモリ技術では、中間デー
タを記憶するためのメモリは新たに必要であるが、ラス
タデータのための大容量を必要とするバッファメモリを
低減することが可能となる。しかし、一般的なバンドメ
モリ技術では、あるバンドのラスタデータの印字が終了
までに、次のバンドに対する中間データからラスタデー
タへの展開を終了させる必要がある。印刷データに複雑
な図形描画命令や扱うデータ量の大きい画像描画命令が
含まれている場合、あるいは1ページ内の特定のバンド
に複雑な図形描画命令や画像描画命令が含まれている場
合等、中間データからラスタデータへの展開が間に合わ
ない状況が発生する可能性がある。
[0004] 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 is a technique of dividing a page into a plurality of adjacent areas (bands), storing intermediate data corresponding to each band, sequentially transferring the intermediate data to a raster development processing unit, and developing 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 which 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 data amount, 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 cannot be completed 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 on 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 characters, 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 preparing dedicated hardware corresponding to the processing in parallel is very useless considering 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 are changed by reconfiguring the hardware programmability or structure, and the hardware is reduced. Attempts have been made to realize many functions at high speed. As prior arts relating to the present invention having such a concept, there are JP-A-6-131155 and JP-A-6-282432.

【0007】[0007]

【発明が解決しようとする課題】特開平6−13115
5号公報の手法は、データ記憶領域に対するアドレス発
生の発生手段を再構成するとともに、アドレス発生の手
段により得られたデータ記憶領域のデータに対する演算
手段を再構成することによって、様々な画像処理を少な
いハードウェアで達成しようとするものである。ただし
この構成はアドレス情報に重要な意味ある画像処理に対
する再構成は可能であるが、図形、文字などのようにベ
クター処理に対応することはできない。また画像処理に
ついても、常に再構成を行って処理するため、ページ記
述言語(PDL)のように様々な画像が任意に出現する
場合には、再構成時間が多くなるという問題もあった。
さらに書き換えられる処理がほぼ同等の大きさの処理で
ないと、書き換え単位が一番大きな処理に合わされるた
め、様々な大きさの処理の再構成では、無駄が生じると
いう問題もあった。
Problems to be Solved by the Invention
The technique disclosed in Japanese Patent Application Laid-Open No. 5-105605 reconfigures the means for generating an address for the data storage area and reconfigures the operation means for the data in the data storage area obtained by the means for generating the address, thereby performing various image processing. The goal is to achieve this with less hardware. 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 increases when various images appear arbitrarily, such as in a page description language (PDL).
Furthermore, unless the rewriting process is a process of almost 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 of controlling a data flow by providing a plurality of arithmetic circuits capable of operating in parallel in a necessary number in advance. Such a method is suitable for an application in which a small number of arithmetic circuits are frequently used for some image processing.
When applied to a device in which various types of drawing elements such as images, figures, and characters coexist, a large number of types of arithmetic circuits are required, so that there is a problem that the hardware amount, which is the original purpose, cannot be reduced.

【0009】本発明は以上のような点を考慮してなされ
たものであり、少なくとも画像、図形、文字を含む印刷
データの内容に応じて、展開処理に用いられるハードウ
ェアの再構成を、書き換え回数/書換規模とも効率的に
行えるようにすることで、同一のハードウェア資源を用
いて高速かつ省資源な印刷処理を可能にすることを目的
とする。
The present invention has been made in consideration of the above points, and rewrites the reconfiguration of hardware used for expansion processing in accordance with at least the contents of print data including images, figures, and characters. An object of the present invention is to enable high-speed and resource-saving print processing using the same hardware resources by efficiently performing both the number of times and the scale of rewriting.

【0010】[0010]

【課題を解決するための手段】本発明によれば、上記の
目的を達成するために、少なくとも文字、図形、画像の
描画要素のいずれかを表す、所定の描画命令で記述され
た第1の印刷データを、画像出力用データ構造の第2の
印刷データに展開し、上記第2の印刷データに基づいて
画像出力を行う印刷処理装置に、複数の論理ブロック
上記複数の論理グロックの入力データ及び出力データの
フローを制御する切り替え手段とを含む論理回路装置で
あって、上記論理回路ブロックの機能及び上記切り替え
手段の切り替え態様の少なくとも一方を構成データに応
じて設定可能であり、論理回路構成情報に応じて上記構
成データを変更して上記論理回路構成情報に対応する
理回路構成で上記第1の印刷データを上記第2の印刷デ
ータに展開する論理回路装置と、上記第1の印刷データ
を入力する入力手段と、上記入力手段に入力された第1
の印刷データに含まれる描画要素の重なりを判定する判
定手段と、少なくとも上記判定手段の判定情報と上記入
力手段に入力された第1の印刷データの内容とに基づい
て、上記入力手段に入力された第1の印刷データの描画
要素を並び換え、さらに上記論理回路構成情報を含む所
定形式の印刷データに変換して上記論理回路装置に供給
する変換手段と、上記論理回路装置で展開された第2の
印刷データに基づいて画像を出力する出力手段とを設け
るようにしている。そして上記論理回路装置は上記所定
形式の印刷データに含まれる論理回路構成情報に対応す
る論理回路構成で上記所定形式の印刷データを上記第2
の印刷データに展開する。
According to the present invention, in order to achieve the above-mentioned object, at least one of a character, a graphic, and an image drawing element, which is described by a predetermined drawing command, is described. the print data expanded into the second print data of the image output data structure, said to the print processing apparatus that performs image output based on the second print data, the input data of a plurality of logical blocks and the plurality of logical Glock and a switching means for controlling the flow of output data including a logic circuit device
In addition, at least one of the function of the logic circuit block and the switching mode of the switching unit can be set according to the configuration data, and the configuration data is changed according to the logic circuit configuration information to change the logic circuit configuration information. Corresponding argument
A logic circuit for developing the first print data to the second print data in physical circuit configuration, an input means for inputting the first print data, the input to the input means 1
Determining means for determining the overlap of the drawing elements included in the print data, and at least input to the input means based on the determination information of the determination means and the content of the first print data input to the input means. rearranged the drawing element of the first print data, first is further developed by the conversion means and said logic circuit and supplying the converted into print data of a predetermined format to said logic circuit device including the logic circuit configuration information And output means for outputting an image based on the print data. And the logic circuit device is the predetermined
Corresponding to the logic circuit configuration information contained in the print data
The print data of the predetermined format is stored in the second
To print data.

【0011】この構成においては、論理回路構成が柔軟
に設定可能な論理回路装置を設けて、少ないハードウェ
ア要素で、描画要素の展開に必要な多くの機能を実現す
ることができる。さらに描画要素の重なりや内容を分析
して描画要素の処理順序を最適化し、併せて処理対象の
描画要素に応じて論理回路構成を最適化してスループッ
トを向上させることができる。
[0011] In this configuration, it is possible to logic circuitry is provided a configurable logic device flexible, with less hardware elements to implement the many functions required to deploy the drawing element. Further, it is possible to optimize the processing order of the rendering elements by analyzing the overlapping and the contents of the rendering elements, and to optimize the logic circuit configuration according to the rendering element to be processed, thereby improving the throughput.

【0012】また、この構成において、上記変換手段に
おける描画要素の並び換えを、上記論理回路装置により
並列に展開可能な描画要素が連続するように行われるよ
うにしてもよい。
In this configuration, the reordering of the drawing elements in the conversion means may be performed so that the drawing elements which can be developed in parallel by the logic circuit device are continuous.

【0013】また、上記論理回路装置による並列な展開
は、同一または異なる機能ブロックを複数個含むように
設定された論理回路構成により行われるようにしてもよ
い。
The parallel development by the logic circuit device may be performed by a logic circuit configuration set to include a plurality of the same or different functional blocks.

【0014】また、上記変換手段における描画要素の並
び換えは、上記論理回路装置の上記構成データの変更回
数が減少するように行われるようにしてもよい。
[0014] The arrangement of the drawing elements in the conversion means may be performed so that the number of times of changing the configuration data of the logic circuit device is reduced.

【0015】また、上記変換手段は、上記判定手段によ
り重なり有りと判定された描画要素間の順序の並び換え
を行わないようにしてもよい。
[0015] The conversion means may not perform the rearrangement of the order between the drawing elements determined to be overlapped by the determination means.

【0016】また、上記判定手段は、上記描画要素を包
含する外接矩形を用いて重なりを判定するようにしても
よい。
The judging means may judge the overlap using a circumscribed rectangle including the drawing element.

【0017】また、上記変換手段は、上記判定手段によ
り重なり有りと判定された描画要素間の重なりを除去し
てから順序の並び換えを行うようにしてもよい。
Further, the conversion means may perform the order rearrangement after removing the overlap between the drawing elements determined to have the overlap by the determination means.

【0018】また、上記描画要素の並び換えは、ページ
毎または複数スキャンライン単位にページを分割したバ
ンド毎に行われるようにしてもよい。
The rearrangement of the drawing elements may be performed for each page or for each band obtained by dividing the page into a plurality of scan lines.

【0019】また、上記論理回路装置は、論理回路構成
を全部または部分的に変更可能であるようにしてもよ
い。
In the above-mentioned logic circuit device , the logic circuit configuration may be changed in whole or in part.

【0020】また、上記論理回路装置は、相前後して入
力される上記所定形式の印刷データにそれぞれ含まれる
上記論理回路構成情報が同一の場合に、上記構成データ
の変更を省略するようにしてもよい。
Further, the logic circuit device is configured to omit the change of the configuration data when the logic circuit configuration information included in the print data of the predetermined format input one after another is the same. Is also good.

【0021】また、上記論理回路装置は、少なくともフ
ィールドプログラマブルゲートアレイを含むようにして
もよい。
Further, the logic circuit device may include at least a field programmable gate array.

【0022】また、上記論理回路装置は、複数の演算処
理装置と、上記複数の演算処理装置の入力データ及び出
力データのフローを切り替える切り替え手段とを具備す
るようにしてもよい。
The logic circuit device may include a plurality of arithmetic processing units, and switching means for switching a flow of input data and output data of the plurality of arithmetic processing units.

【0023】また、上記変換手段が、複数の論理ブロッ
と上記複数の論理ブロックの入力データ及び出力デー
タのフローを制御する切り替え手段とを含み、上記論理
ブロックの機能及び上記切り替え手段の切り替え態様の
少なくとも一方を構成データに応じて設定可能な論理回
路装置を具備し、上記変換手段の処理の少なくとも一部
を上記変換手段中の上記論理回路装置で実行するように
してもよい。
The conversion means may include a plurality of logical blocks.
And a switching means for controlling the flow of input data and output data of the click and the plurality of logical blocks, the logical
A logic circuit capable of setting at least one of the function of the block and the switching mode of the switching means according to the configuration data.
A path device may be provided, and at least a part of the processing of the conversion means may be executed by the logic circuit device in the conversion means.

【0024】また、上記論理回路装置は、複数の機能ブ
ロックをパイプライン動作させて展開を行うように設定
されるようにしてもよい。
Further, the logic circuit device may be set so that a plurality of functional blocks are expanded by pipeline operation.

【0025】また、本発明によれば、上述の目的を達成
するために、少なくとも文字、図形、画像の描画要素の
いずれかを表す、所定の描画命令で記述された第1の印
刷データを、画像出力用データ構造の第2の印刷データ
に展開し、上記第2の印刷データに基づいて画像出力を
行う印刷処理装置に、複数の論理ブロックと上記複数の
論理ブロックの入力データ及び出力データのフローを制
御する切り替え手段とを含む論理回路装置であって、上
論理ブロックの機能及び上記切り替え手段の切り替え
態様の少なくとも一方を構成データに応じて設定可能
あり論理回路構成情報に応じて上記構成データを変更
して上記論理回路構成情報に対応する論理回路構成で上
記第1の印刷データを上記第2の印刷データに展開する
論理回路装置と、上記第1の印刷データを入力する入力
手段と、上記入力手段に入力された第1の印刷データに
含まれる描画要素の重なりを判定する判定手段と、少な
くとも上記判定手段の判定情報と上記入力手段に入力さ
れた第1の印刷データの内容とに基づいて、上記入力手
段に入力された第1の印刷データを、上記論理回路構成
情報を含む所定形式の印刷データに変換して上記論理回
路装置に供給する変換手段と、上記論理回路装置で展開
された第2の印刷データに基づいて画像を出力する出力
手段とを設けるようにしている。そして上記論理回路装
置は上記所定 形式の印刷データに含まれる論理回路構成
情報に対応する論理回路構成で上記所定形式の印刷デー
タを上記第2の印刷データに展開する。
According to the present invention, in order to achieve the above-described object, the first print data described by a predetermined drawing command, which represents at least one of a character, a graphic, and an image drawing element, A plurality of logical blocks and a plurality of the plurality of logical blocks are expanded to a print processing device that develops the image data into second print data and outputs an image based on the second print data.
A including a logic circuit device and a switching means for controlling the flow of input data and output data of the logical block, can be set according to at least one of the configuration data of the switching aspects of the function and the switching means of said logic block
There, for developing the first print data to the second print data in the logic circuit configuration corresponding to the logic circuit configuration information and change the configuration data according to the logic circuit configuration information
A logic circuit device ; input means for inputting the first print data; determination means for determining an overlap of drawing elements included in the first print data input to the input means; and determination by at least the determination means Based on the information and the content of the first print data input to the input means, the first print data input to the input means is printed in a predetermined format including the logic circuit configuration information. the above logic times are converted into data
A conversion unit that supplies the image data to the path device and an output unit that outputs an image based on the second print data developed by the logic circuit device are provided. And the above logic circuit device
Is the logic circuit configuration included in the print data of the predetermined format.
The print data of the above-mentioned predetermined format is
Data to the second print data.

【0026】この構成においても、論理回路構成が柔軟
に設定可能な論理回路装置を設けて、少ないハードウェ
ア要素で、描画要素の展開に必要な多くの機能を実現す
ることができる。さらに描画要素の重なりや内容を分析
して処理対象の描画要素に応じて論理回路構成を最適化
してスループットを向上させることができる。
[0026] In this configuration, it is possible to logic circuitry is provided a configurable logic device flexible, with less hardware elements to implement the many functions required to deploy the drawing element. Furthermore, by analyzing the overlapping and the contents of the drawing elements, the logic circuit configuration can be optimized according to the drawing element to be processed, and the throughput can be improved.

【0027】また、この構成において、上記変換手段
は、上記判定手段により重なりなしと判定された連続す
る複数の描画要素を含む印刷データを、上記複数の描画
要素を並列に展開する論理回路構成を特定する論理回路
構成情報を含む形式に変換するようにしてもよい。
[0027] In this configuration, the conversion means may include a logic circuit configuration for developing print data including a plurality of continuous drawing elements determined to be non-overlapping by the determination means in parallel with the plurality of drawing elements. Logic circuit to specify
You may make it convert into the format containing configuration information.

【0028】また、上記描画要素の並列な展開は、同一
または異なる機能ブロックを複数個含む論理回路構成
より行われるようにしてもよい。
Further, the rendering of the drawing elements in parallel may be performed by a logic circuit configuration including a plurality of the same or different functional blocks.

【0029】また、本発明によれば、上述の目的を達成
するために、少なくとも文字、図形、画像の描画要素の
いずれかを表す、所定の描画命令で記述された第1の印
刷データを、画像出力用データ構造の第2の印刷データ
に展開し、上記第2の印刷データに基づいて画像出力を
行う印刷処理装置に、複数の論理ブロックと上記複数の
論理ブロックの入力データ及び出力データのフローを制
御する切り替え手段とを含む論理回路装置であって、上
論理ブロックの機能及び上記切り替え手段の切り替え
態様の少なくとも一方を構成データに応じて設定可能
あり論理回路構成情報に応じて上記構成データを変更
して上記論理回路構成情報に対応する論理回路構成で上
記第1の印刷データを上記第2の印刷データに展開する
論理回路装置と、上記第1の印刷データを入力する入力
手段と、上記入力手段に入力された第1の印刷データ
を、上記第1の印刷データの内容に対応する論理回路構
情報を含む所定形式の印刷データに変換して上記論理
回路装置に供給する変換手段と、上記論理回路装置で展
開された第2の印刷データに基づいて画像を出力する出
力手段とを設けるようにしている。そして上記論理回路
装置は上記所定形式の印刷データに含まれる論理回路構
成情報に対応する論理回路構成で上記所定形式の印刷デ
ータを上記第2の印刷データに展開する。また上記変換
手段は上記論理回路装置により並列に展開可能な描画要
素が連続するように上記描画要素を並び換える。あるい
は、上記変換手段は同じ種類の描画要素が連続するよう
に上記描画要素を並び換える。
According to the present invention, in order to achieve the above object, the first print data described by a predetermined drawing command, which represents at least one of a character, a graphic, and an image drawing element, A plurality of logical blocks and a plurality of the plurality of logical blocks are expanded to a print processing device that develops the image data into second print data and outputs an image based on the second print data.
A including a logic circuit device and a switching means for controlling the flow of input data and output data of the logical block, can be set according to at least one of the configuration data of the switching aspects of the function and the switching means of said logic block
There, for developing the first print data to the second print data in the logic circuit configuration corresponding to the logic circuit configuration information and change the configuration data according to the logic circuit configuration information
A logic circuit device , input means for inputting the first print data, and a logic circuit structure corresponding to the content of the first print data, the first print data input to the input means being converted to the first print data.
Said logic is converted into print data of a predetermined format including forming information
Conversion means for supplying the circuit device and output means for outputting an image based on the second print data developed by the logic circuit device are provided. And the above logic circuit
The apparatus includes a logic circuit structure included in the print data of the predetermined format.
Print data of the above-mentioned predetermined format with a logic circuit configuration corresponding to the
Data to the second print data. Also the above conversion
The means is a drawing element that can be developed in parallel by the above logic circuit device.
The drawing elements are rearranged so that the elements are continuous. There
The above conversion means makes the drawing elements of the same type
The above drawing elements are rearranged.

【0030】この構成においても、論理回路構成が柔軟
に設定可能な論理回路装置を設けて、少ないハードウェ
ア要素で、描画要素の展開に必要な多くの機能を実現す
ることができる。さらに描画要素の内容を分析して処理
対象の描画要素に応じて論理回路構成を最適化してスル
ープットを向上させることができる。
[0030] In this configuration, it is possible to logic circuitry is provided a configurable logic device flexible, with less hardware elements to implement the many functions required to deploy the drawing element. Further, the content of the drawing element is analyzed, and the logic circuit configuration is optimized according to the drawing element to be processed, thereby improving the throughput.

【0031】また、この構成において、上記変換手段
は、上記論理回路構成情報に応じて、上記変換データ中
の上記論理回路構成情報を省略するようにしてもよい。
Further, in this arrangement, the conversion means, in response to the logic circuit configuration information may be omitted the logic circuit configuration information in the conversion data.

【0032】[0032]

【発明の実施の形態】以下、本発明の実施例について説
明する。 [実施例1] 図1は本発明による実施例1の構成を表すブロック図で
ある。図1において画像処理装置は、印刷データ作成部
1と、印刷データ入力部2と、変換処理部3と、展開処
理部4と、出力部5とから構成されている。さらに、変
換処理部3は、字句解析部30と、中間データ生成部3
1と、中間データ順序制御32と、中間データ記憶部3
3とから構成されている。また、展開処理部4は、再構
成可能展開部40と、再構成制御部41と、構成データ
管理部42とから構成されている。
Embodiments of the present invention will be described below. First Embodiment FIG. 1 is a block diagram illustrating 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 and an intermediate data generation unit 3
1, intermediate data sequence control 32, and intermediate data storage unit 3
And 3. The expansion processing unit 4 includes a reconfigurable expansion unit 40, a reconfiguration control unit 41, and a configuration data management unit 42.

【0033】印刷データ作成部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 this embodiment is, for example, PDF (Portable Document Fo) represented by GDI and Acrobat.
rmat), Page Description Language such as PostScript (Page Description Language)
e).

【0034】印刷データ入力部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.

【0035】変換処理部3は、印刷データ入力部2より
入力された印刷データから展開処理部4における印字デ
ータへの展開処理可能な中間データに変換してその並び
換えを行なう。変換処理部3は、字句解析部30と、中
間データ生成部31と、中間データ順序制御部32と、
中間データ記憶部33とからなる。
The conversion processing unit 3 converts 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 order control unit 32,
And an intermediate data storage unit 33.

【0036】字句解析部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.

【0037】中間データ生成部31は、字句解析部30
から出力されるトークンを受け取って解釈し、描画命令
を実行し、各描画命令に対する台形を基本単位としたデ
ータを生成し、中間データ順序制御部32へ送る。中間
データを生成する目的は、展開処理部4での高速な展開
処理を可能にすることである。そのため、中間データは
単純な図形(台形)の集合で表されている。また中間デ
ータには、展開処理に関する情報として展開処理IDも
付加されている。中間データ順序制御部32は、中間デ
ータ生成部31から出力されるある単位の量の中間デー
タを読み込んで、それらの間の重なり判定を行ない、そ
の結果に基づいて並び換えを行なって中間データ記憶部
33に出力する。その際、並び換えに基づく並列処理可
能な中間データのグループ毎に、他のグループとの境界
を示す情報と、展開処理部4の再構成可能展開部40に
書き込まれる構成データに対する識別子であるハードウ
ェア構成IDが付加される。中間データ記憶部33は送
られてきた中間データを記憶し、必要に応じて展開処理
部4から読み出される。
The intermediate data generation unit 31 includes a lexical analysis unit 30
Receives and interprets the token output from the CPU, executes a rendering command, generates data in a trapezoidal basic unit for each rendering command, and sends the data to the intermediate data order control 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 order control unit 32 reads a certain amount of intermediate data output from the intermediate data generation unit 31, determines overlap between them, performs rearrangement based on the result, and stores the intermediate data. Output to the unit 33. At this time, for each group of intermediate data that can be processed in parallel based on the rearrangement, information indicating a boundary with another group and hardware that is an identifier for configuration data written to the reconfigurable expansion unit 40 of the expansion processing unit 4 A hardware configuration ID is added. The intermediate data storage unit 33 stores the transmitted intermediate data, and is read from the development processing unit 4 as needed.

【0038】展開処理部4は、変換処理部3から出力中
間データをバンド単位に読み出し、展開処理部4内のバ
ンドバッファメモリに印字データを作成する。この処理
は展開処理部4内の2つのバンドバッファメモリに交互
に蓄積される。尚、後述するように本実施例で利用され
る出力部5は、カラーページプリンタであり、バッファ
メモリに交互に蓄積される印字データは出力部5で印字
している記録色の印刷データに対応している。続いて、
バンドバッファメモリに蓄積された印字データは、出力
部5の印字データ要求に応じて、出力部5に交互に出力
される。
The expansion processing section 4 reads the output intermediate data from the conversion processing section 3 in band units, and creates print data in a band buffer memory in the expansion processing section 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. are 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.

【0039】出力部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 method capable of outputting a full-color image by repeating exposure, development, and transfer for each of MYB K (cyan, magenta, yellow, and black) colors. The output unit 6 may be an ink jet type color printer.
In this case, print data is simultaneously output from the band buffer memory of the expansion processing unit 4 to the output unit 5 in four colors.

【0040】ここで、一般的なレーザー走査方式の電子
写真方式を用いたカラーページプリンタの構成及び動作
について、図2に基づき説明する。図2において、ビデ
オインターフェース50は、展開処理部4から順次送ら
れてくるCMYBKの色情報に対応した印刷データを図
示されない半導体レーザの点灯を制御するドライバーへ
入力して光信号に変換する。半導体レーザ走査装置51
は、赤外半導体レーザ、レンズ711、ポリゴンミラー
510より構成され、数十μmのスポット光となって感
光体ドラム72を走査する。感光体ドラム52は、帯電
器53により帯電されており、光信号により、静電潜像
が形成される。潜像はロータリー現像器54上の2成分
磁気ブラシ現像によりトナー像となり、転写ドラム55
上に吸着させた用紙上に転写される。感光体ドラム52
は、クリーナー56で余分のトナーがクリーニングされ
る。この工程をBK、Y、M、Cの順に繰り返し、用紙
上に多重転写する。最後に、転写ドラム55により用紙
を剥離し、定着器57でトナーを定着する。なお、58
は用紙の搬送経路である。
Here, the configuration and operation of a color page printer using a general laser scanning 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 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 converted 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 adsorbed on the upper side. 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. Note that 58
Is a paper transport path.

【0041】次に上述したように構成された印刷処理装
置における印刷データの流れについて整理する。印刷デ
ータ作成部1で作成された印刷データは、印刷データ入
力部2を介して、変換処理部3の字句解析部30に入力
される。字句解析部30において印刷データから切り出
されたトークンは、中間データ生成部31に入力され
る。中間データ生成部31ではそのトークンを解釈して
バンド単位に分割した中間データが生成される。中間デ
ータ順序制御部32では、中間データは重なりに基づい
て順序を並び換え、並列処理可能なグループに分けら
れ、中間データ記憶部33にバンド単位に1ページ分記
憶される。このとき中間データは、台形集合を基本とし
たデータに、どのバンドに属しているかのバンドID、
画像、文字、図形等の種類、描画の属性、台形集合に対
する外接矩形、並列処理可能なグループ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 cut out 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. The intermediate data order control unit 32 rearranges the order of the intermediate data based on the overlap, divides the intermediate data into groups that can be processed in parallel, and stores one page in the intermediate data storage unit 33 in band units. At this time, the intermediate data includes data based on a trapezoid set, a band ID indicating which band belongs,
The type of image, character, graphic, etc., the attribute of drawing, the circumscribed rectangle for the trapezoid set, the group ID that can be processed in parallel, and the 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.

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

【0043】以上、本発明の印刷処理装置の概要につい
て記述した。次に、この印刷処理装置の主要部の詳細に
ついて説明する。
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.

【0044】初めに、中間データ生成部31、中間デー
タ順序制御部32、中間データ記憶部33について詳細
を説明する。
First, details of the intermediate data generator 31, intermediate data order controller 32, and intermediate data storage 33 will be described.

【0045】中間データ生成部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.

【0046】トークン解釈部310は、字句解析部30
から入力されたトークンを解釈し、内部命令に変換して
命令実行部311へ送る。命令実行部311は、トーク
ン解釈部310から送られてきた命令に応じて画像処理
部312、描画状態記憶部313、ベクターデータ生成
部314へ転送する。画像処理部312は、入力された
画像ヘッダと画像データをもとに各種の画像処理を行っ
て出力画像ヘッダと出力画像データを生成し、台形デー
タ管理部320へ転送する。描画状態記憶部313は、
命令実行部311の命令によって与えられる描画に必要
な情報を記憶する。ベクターデータ生成部314は、命
令実行部311の命令とそれに付加された情報、描画状
態記憶部313からの情報、フォント管理部315から
の情報を使用して描画すべきベクターデータを生成し、
マトリックス変換部316へ転送する。フォント管理部
315は、各種フォントのアウトラインデータを管理記
憶し、要求に応じて文字のアウトラインデータを提供す
る。マトリックス変換部316は、ベクターデータ生成
部314から入力されたベクターデータを描画状態記憶
部313の変換マトリックスによってアフィン変換し、
ショートベクター生成部317へ転送する。ショートベ
クター生成部317は、入力されたベクター中の曲線に
対するベクターを複数の直線のベクター集合(ショート
ベクター)で近似し、台形データ生成部318へ送る。
台形データ生成部318は、入力されたショートベクタ
ーから描画する台形データを生成して、バンド分解部3
19へ転送する。バンド分解管理部319は、入力され
た台形データのうち複数のバンドにまたがる台形データ
をそれぞれのバンドの台形データに分割し、さらにバン
ド単位に分割された台形データに対して、どのバンドに
属するかを表すバンドIDと、バンド単位に分割された
台形データ集合に対する外接矩形と、データ管理情報と
描画状態記憶部313から入力された色情報または画像
処理部312から入力された画像データと、展開処理情
報である展開処理IDを付加して、中間データ順序制御
部32へ送る。中間データ順序制御部32では、バンド
単位毎に、中間データの重なりに基づいて順序を並び換
え、並列処理可能なグループに分けて、ハードウェア構
成IDとグループIDを付加する。中間データ記憶部3
3は、バンド単位で、中間データ順序制御部32が出力
する中間データを1ページ分記憶する。尚、上記に説明
したトークン解釈部310から中間データ生成部31ま
での処理は、描画命令が入力されるたびに繰り返し行わ
れる。そして中間データ順序制御部32からの中間デー
タ記憶部までの処理は、場合によって、バンド単位ある
いはページ単位で行なわれる。中間データ記憶部33か
ら展開処理部4への中間データの転送は、1ページ分の
中間データが記憶された後に行われる。
The token interpretation unit 310
, And converts the token into an internal instruction and sends it to the instruction executing 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 types of image processing based on the input image header and image data to generate an output image header and output image data, and transfers the output image header and 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 instruction of the instruction execution unit 311 and the information added thereto, the information from the drawing state storage unit 313, and the 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 set of a plurality of straight vectors (short vector), and sends it 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 decomposition management unit 319 divides the trapezoidal data spanning 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 as information is added and sent to the intermediate data order control unit 32. The intermediate data order control unit 32 rearranges the order for each band based on the overlap of the intermediate data, divides the order into groups that can be processed in parallel, and adds a hardware configuration ID and a group ID. Intermediate data storage unit 3
Reference numeral 3 stores one page of intermediate data output by the intermediate data order control unit 32 in band units. The processes from the token interpreting unit 310 to the intermediate data generating unit 31 described above are 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 as occasion demands. 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.

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

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

【0049】命令実行部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, a preceding command, or the like. For the execution of the drawing command, the received drawing command other than the image drawing is transferred to the vector data generation 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.

【0050】画像処理部312は、命令実行部311か
ら入力された命令の引数である入力画像ヘッダと入力画
像データ受け取り、もしヘッダに付加された圧縮IDを
みて圧縮された画像が入力された場合には圧縮を伸張
し、描画状態記憶部313から獲得した変換マトリック
スを使ってアフィン変換する。さらに場合によっては処
理後の画像を圧縮し、出力画像ヘッダと出力画像データ
を生成してバンド分解管理部319へ転送する。この圧
縮には、もともとPDL側で画像データを圧縮していた
圧縮方式を使用するのが通常だが、特にそうしなくても
よい。例えば、PDL側でDCT(ディスクリート・コ
サイン・トランスフォーム)で圧縮されていてた場合、
それをDCTで圧縮してもよいし、LZW(Lempe
l−Ziv& Welch)法で圧縮してもよいし、圧
縮を行わなくてもよい。また行うアフィン変換では、中
間データバッファのメモリ量を削減するために、わざと
出力装置の解像度より小さい解像度用にアフィン変換し
ておいてもよい。
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. 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 which originally compressed image data on the PDL side, but this need not be the case. For example, if the data is compressed by DCT (Discrete Cosine Transform) on the PDL side,
It may be compressed by DCT or LZW (Lempe
Compression may be performed by the l-Ziv & Welch) method, or may not be performed. In the affine transformation to be performed, the affine transformation may be intentionally performed for a resolution smaller than the resolution of the output device in order to reduce the memory amount of the intermediate data buffer.

【0051】描画状態記憶部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 value of the information without the underline shown in Table 1 is set with the value of the argument included in the instruction received from No. 1 and stored. The image processing unit 31
2. In accordance with requests from 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, these values are transferred.

【0052】[0052]

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

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

【0054】マトリックス変換部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 obtained 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 ′), Sent.

【0055】[0055]

【数1】 ショートベクター生成部317は、入力されたベクター
の中に曲線のベクターがある場合にその曲線のベクター
を、誤差が描画状態記憶部313から獲得したフラット
ネス(flatness)値より小さくなるように、複
数のショートベクターで近似する処理を行う。例えば曲
線のベクターには、図5に示す4つの制御点で表現され
るベジエ曲線が使われる。この場合ショートベクター化
の処理は、図5に示す通りベジエ曲線を再帰的に分割
し、高さ(距離d)がflatnessで与えられた値
より小さくなった時点で分割を終了する。そして分割さ
れた各ベジエ曲線の始点と終点を順番に結ぶことによ
り、ショートベクター化が完了する。生成されたショー
トベクターは、台形データ生成部318へ送られる。
(Equation 1) The short vector generation unit 317 converts a curve vector, when there is a curve vector, into a plurality of input vectors so that an error is smaller than a flatness value obtained from the drawing state storage unit 313. The approximation process is performed using the 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, by connecting the start point and the end point of each of the divided Bezier curves in order, the short vectorization is completed. The generated short vector is sent to the trapezoid data generation unit 318.

【0056】台形データ生成部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. Note that 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.

【0057】バンド分解管理部319は、入力された台
形データのうち複数のバンドにまたがる台形データをバ
ンド毎の台形データに分割する。例えば図7では、4つ
の台形データがバンド分解部によって6つの台形データ
に分割される。さらにバンド毎に分解した台形データに
付加情報をつけて中間データを生成する。付加情報は、
中間データを管理するための管理情報と、展開処理部4
で処理する内容を表す展開処理IDと、台形データを何
色で塗りつぶすかを示す色情報である。文字/図形の描
画命令に対する管理情報は、どのバンドに属するかを示
すためのバンドID、オブジェクトID、オブジェクト
の種類、台形数のデータ、その台形データ集合に対する
外接矩形である。オブジェクトIDとは、一回の描画命
令に対して割当てられる識別番号であり、オブジェクト
の種類とは、文字/図形/画像など描画される対象に対
する識別データである。また展開処理IDは、展開処理
部4での処理を示すIDであり、色情報は例えばCMY
Kの値がである。これらの付加情報は、図8(a)に
示すように、描画命令によって生成されたバンド毎の台
形データの前に付加される。従って、オブジェクトは、
一組の描画属性が付けられた複数の台形データからな
る。また、中間データは、このようなオブジェクトに対
するデータの集合である。画像の描画命令に対する管理
情報は文字/図形と同じであるが、色情報は画像ヘッダ
と画像データとなる。また図8(b)に示すように、画
像ヘッダと画像データは、描画命令によって生成された
バンド毎の台形データそれぞれに対して1つずつ付加さ
れる。また画像ヘッダと画像データは画像処理部312
から入力されるが、中間データとして付加される画像デ
ータは、図9に示すように変換された画像を示すベクタ
ーの最小矩形に対する画像データでってもよいし、各台
形毎の最小矩形に対する画像データであってもよい。さ
らに画像データは容量が大きくなるため、圧縮された形
で格納されていてもよい。画像ヘッダは、画像の大きさ
を表すパラメータの他に、色変換の処理の種類や圧縮方
式の種類も含んでいる。最後に、展開処理IDについて
説明する。展開処理IDは、展開処理部4により実行さ
れる処理に応じたコード情報で、表2のような意味を表
す。これらは、再構成可能ハードウェアの規模と並列的
に実行される処理内容に応じて、中間データ順序制御部
32において、実際の再構成可能展開部40の構成と1
対1に対応する構成IDに変換される。
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 is
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 for indicating to which band the object belongs, an object ID, the type of the object, data of the number of trapezoids, and a circumscribed rectangle for the trapezoid data set. The object ID is an identification number assigned to one rendering command, and the type of the object is identification data for an object to be rendered 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.
The value of B K is These pieces of additional information are added before the trapezoidal data for each band generated by the drawing command, as shown in FIG. Thus, the object is
It consists of a plurality of trapezoidal 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 stored in the image processing unit 312.
However, the image data added as the intermediate data may be image data corresponding to a minimum rectangle of a vector indicating a converted image as shown in FIG. It may be data. 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 code information corresponding to the processing executed by the expansion processing unit 4, and has a meaning as shown in Table 2. These are stored in the intermediate data sequence control unit 32 according to the actual configuration of the reconfigurable expansion unit 40 and 1 according to the scale of the reconfigurable hardware and the processing contents executed in parallel.
It is converted to a configuration ID corresponding to one-to-one.

【0058】[0058]

【表2】 中間データ順序制御部32は中間データ生成部31の出
力する中間データをある単位の量だけ入力して、それら
の間の重なり判定を行ない、その結果に基づいて並び換
えを行なって中間データ記憶部33に出力する。その
際、並び換えに基づく並列処理可能な中間データのオブ
ジェクトの集合毎に、他の集合との境界を示す情報と、
展開処理部4の再構成可能展開部40に書き込まれる構
成データに対する識別子であるハードウェア構成IDが
付加される。中間データ順序制御部32における出力デ
ータ形式を、図10に示す。図10において、中間デー
タ順序制御部32が出力する中間データのデータ構造
は、並列処理可能なオブジェクト毎にまとめられてい
る。各集合のデータは、バンドID、ハードウェア構成
ID、オブジェクトの数、集合に属するオブジェクトの
データからなる。
[Table 2] The intermediate data order control unit 32 inputs the intermediate data output from the intermediate data generation unit 31 by a certain unit, performs overlap determination between them, performs rearrangement based on the result, and performs intermediate data storage. 33. At that time, for each set of intermediate data objects that can be processed in parallel based on rearrangement, information indicating a boundary with another set,
A hardware configuration ID that is an identifier for configuration data written to the reconfigurable expansion unit 40 of the expansion processing unit 4 is added. FIG. 10 shows an output data format in the intermediate data order control unit 32. In FIG. 10, the data structure of the intermediate data output from the intermediate data order control unit 32 is organized for each object that can be processed in parallel. The data of each set includes a band ID, a hardware configuration ID, the number of objects, and data of objects belonging to the set.

【0059】図11に中間データ順序制御部32の構成
を示す。図11において、321ははオブジェクトバッ
ファ、322は描画順序依存検出部、323は最適化テ
ーブル作成部、324は構成データ選択部、325はリ
オーダ部である。中間データ順序制御部32は、入力さ
れた複数のオブジェクトの描画順序依存性を検出するこ
とにより、オブジェクトを並列に展開処理できる集まり
に分け、それらの間での展開処理の順序付けをするブロ
ックである。オブジェクトの描画順序依存性とは、オブ
ジェクト間に重なりがある場合、字句解釈部30が印刷
データ入力を解釈し中間データ生成部31が描画オブジ
ェクトを生成する順、すなわち、中間データに付けられ
るオブジェクトIDの順に、背面から上に向かって描画
されなければならないという性質である。このように後
で解釈されたオブジェクトを前に解釈されたオブジェク
トの上に上書きするモデルをオペーク(opaque)
モデルと呼ぶ。例えば、図12において、900はペー
ジ領域、901、902、903、904はそれぞれ個
別の描画オブジェクトである。オブジェクト901とオ
ブジェクト902は重なり合っており、後者は前者より
も前面に描画されなければならない。これは、オブジェ
クト901が、オブジェクト902よりも時間的に先に
解釈されるためである。一方、オブジェクト903はオ
ブジェクト904と重なり合っており、同様の理由によ
り後者は前者よりも前面に描画されなければならない。
FIG. 11 shows the configuration of the intermediate data order control unit 32. In FIG. 11, reference numeral 321 denotes an object buffer; 322, a drawing order dependency detection unit; 323, an optimization table creation unit; 324, a configuration data selection unit; and 325, a reorder unit. The intermediate data order control unit 32 is a block that detects the drawing order dependency of a plurality of input objects, divides the objects into a group that can be expanded in parallel, and orders the expansion processing among them. . The rendering order dependency of objects means the order in which the lexical interpretation unit 30 interprets print data input and the intermediate data generation unit 31 generates a rendering object when objects overlap, that is, the object ID assigned to the intermediate data. In this order, it must be drawn from the back to the top. In this way, a model that overwrites a later interpreted object on a previously interpreted object is called opaque.
Call it a model. For example, in FIG. 12, 900 is a page area, and 901, 902, 903, and 904 are individual drawing objects. The objects 901 and 902 overlap, and the latter must be drawn in front of the former. This is because the object 901 is interpreted temporally earlier than the object 902. On the other hand, the object 903 overlaps with the object 904, and for the same reason, the latter must be drawn in front of the former.

【0060】オブジェクトバッファ321は、複数個の
オブジェクトデータを入力して格納する。オブジェクト
データを入力して格納する単位は、場合によって複数個
の描画オブジェクトであってもよいし、バンドやページ
などのより大きい単位であってもよい。描画順序依存検
出部322は、オブジェクトバッファ321に格納され
た同一のバンドIDを持つ各オブジェクトのIDと外接
矩形の座標値を入力して、オブジェクト間の描画順序依
存性を検出する。この過程を図12を用いて詳しく説明
する。図12において、901及び904は図形オブジ
ェクトであり、902及び903は画像オブジェクトで
ある。オブジェクト902はオブジェクト901の上に
重なっており、また、オブジェクト904はオブジェク
ト903の上に重なっている。各オブジェクトに付随す
る外接矩形の表す領域に重なりがあるかどうかを調べる
ことによってグループ分けを行なう。重なりを調べる方
法は、2つのオブジェクトの外接矩形の重なり検出を最
小単位として、これを任意の2つのオブジェクトの組み
合わせに対して行なう。2つのオブジェクトの外接矩形
の重なり検出は、次のように行なう。1つのオブジェク
トの外接矩形領域を表す(P1,P2,P3,P4)の
座標点の1つ1つが、別のオブジェクトの外接矩形領域
P5−P6−P7−P8の内部あるいは境界上にあるか
どうかを調べる。もし、P1、P2、P3、P4の内少
なくとも1点が矩形領域P5−P6−P7−P8の内部
あるいは境界上にあれば2つのオブジェクトは重なりを
持ち、それ以外の場合には2つのオブジェクトは重なり
を持たない。従って、図12の場合には、(901,9
02)、(903,904)の2つのグループができ
る。これはオブジェクト901の描画はオブジェクト9
02の描画に先だって行なわれなければならず、また、
オブジェクト903の描画はオブジェクト904の描画
に先だって行なわれなければならないことを示してい
る。また、グループ(901,902)とグループ(9
03,904)は並列的に展開が可能であることを示し
ている。描画順序依存検出部322は、各オブジェクト
のIDに、グループIDと描画順序を示す番号を付けて
出力する。図12の場合には、データ(901,1,
1)、(902,1,2)、(903,2,1)、(9
04,2,2)が出力される。ここで、各データの3つ
の組からなる数字は、それぞれ、オブジェクトID、グ
ループID、描画順序を表している。オブジェクトバッ
ファの大きさは、場合によって、あるバンドに属する複
数のオブジェクト単位でもよく、また、1つのバンドバ
ッファ全体あるいはページ全体でもよい。並列処理可能
なオブジェクトのグループ分け及び選別は、バンド単位
あるいはページ単位で行なう。
The object buffer 321 receives and stores a plurality of object data. The unit in which the object data is input and stored may be a plurality of drawing objects, or may be a larger unit such as a band or a page. The drawing order dependency detection unit 322 inputs the ID of each object having the same band ID stored in the object buffer 321 and the coordinate value of the circumscribed rectangle, and detects the drawing order dependency between the objects. This process will be described in detail with reference to FIG. In FIG. 12, 901 and 904 are graphic objects, and 902 and 903 are image objects. Object 902 overlaps object 901 and object 904 overlaps object 903. Grouping is performed by checking whether the area represented by the circumscribed rectangle attached to each object overlaps. The method of checking the overlap is performed for any combination of two objects, with the overlap detection of the circumscribed rectangle of the two objects as the minimum unit. The detection of the overlap of the circumscribed rectangles of the two objects is performed as follows. Whether each of the coordinate points (P1, P2, P3, P4) representing the circumscribed rectangular area of one object is inside or on the boundary of the circumscribed rectangular area P5-P6-P7-P8 of another object Find out. If at least one point among P1, P2, P3 and P4 is inside or on the boundary of the rectangular area P5-P6-P7-P8, the two objects have an overlap, otherwise the two objects have No overlap. Therefore, in the case of FIG. 12, (901, 9
02) and (903, 904). This is the drawing of the object 901 and the drawing of the object 9
02 must be performed prior to drawing
This indicates that drawing of the object 903 must be performed prior to drawing of the object 904. Also, the group (901, 902) and the group (9
03,904) indicates that the data can be expanded in parallel. The drawing order dependency detection unit 322 outputs the ID of each object with a group ID and a number indicating the drawing order. In the case of FIG. 12, the data (901, 1,
1), (902, 1, 2), (903, 2, 1), (9
04, 2, 2) is output. Here, numbers consisting of three sets of data represent an object ID, a group ID, and a drawing order, respectively. Depending on the case, the size of the object buffer may be a unit of a plurality of objects belonging to a certain band, or may be the entire band buffer or the entire page. The grouping and selection of objects that can be processed in parallel are performed in band units or page units.

【0061】最適化テーブル作成部323は、描画順序
依存検出部322から入力されたオブジェクトID、グ
ループID、描画順序をもとに図13に示されるような
テーブルを作成して、構成データ選択部324に出力す
る。図13において、グループIDは描画順序依存検出
部においてグループ分けされたグループIDである。オ
ブジェクトIDの欄には、各グループにおいて最初に描
画すべきオブジェクト、すなわち、入力された描画順序
が1であるオブジェクトのIDを書き込む。展開処理I
Dの欄には、オブジェクトバッファ321から各オブジ
ェクトに対応する展開処理IDを入力して書き込む。図
13の例の場合、オブジェクト901に対する処理ID
はCode Aであり、オブジェクト903に対する処
理IDはCode Gである。外接矩形面積の欄には、
オブジェクトバッファ321から各オブジェクトに対応
する外接矩形の座標を入力し、その面積を計算して書き
込む。
The optimization table creation unit 323 creates a table as shown in FIG. 13 based on the object ID, group ID, and drawing order input from the drawing order dependency detection unit 322, and 324. In FIG. 13, the group ID is a group ID grouped by the drawing order dependent detection unit. In the column of object ID, the ID of the object to be drawn first in each group, that is, the object whose input drawing order is 1, is written. Expansion processing I
In the field of D, the expansion processing ID corresponding to each object is input from the object buffer 321 and written. In the case of the example of FIG. 13, the processing ID for the object 901
Is Code A, and the processing ID for the object 903 is Code G. In the box for circumscribed rectangle area,
The coordinates of the circumscribed rectangle corresponding to each object are input from the object buffer 321 and the area is calculated and written.

【0062】構成データ選択部324は、最適化テーブ
ル作成部323が出力する並列処理可能な複数のオブジ
ェクトに対して最も適した再構成可能展開部40の構成
を選択する。構成データ選択部324は、最適化テーブ
ル作成部323が出力するテーブルを用いて図14に示
されるフローチャートにより、再構成可能展開部40の
構成データを選択する。構成データ選択部324が実行
する処理はS1からS4までの4つのステップからな
る。S1において、入力したテーブルから並列処理する
複数のオブジェクトの展開処理IDを入力する。次に、
S2において、全体の再構成可能ハードウェア資源の中
で許容される展開処理ハードウェアの並列的な組み合わ
せの候補を選ぶ。これは並列的に処理されるオブジェク
トの展開処理IDから得られる処理回路の規模をもと
に、次式の制約を満たす組み合わせを選ぶことによって
行なう。
The configuration data selection section 324 selects the configuration of the reconfigurable expansion section 40 that is most suitable for a plurality of parallel-processable objects output from the optimization table creation section 323. The configuration data selection unit 324 selects the configuration data of the reconfigurable expansion unit 40 according to the flowchart shown in FIG. 14 using the table output by the optimization table creation unit 323. The processing executed by the configuration data selection unit 324 includes four steps from S1 to S4. In S1, a development process ID of a plurality of objects to be processed in parallel from the input table is input. next,
In S2, a candidate for a parallel combination of expansion processing hardware that is allowed in the entire reconfigurable hardware resources is selected. This is performed by selecting a combination that satisfies the following equation based on the scale of the processing circuit obtained from the expansion processing ID of the object processed in parallel.

【0063】[0063]

【数2】 SIZE≧XN×SIZE(X)+YN×SIZE(Y)+... +ZN×SIZE(Z) ここでSIZEは再構成可能展開部40内の再構成ハー
ドウェア回路全体の規模、SIZE(X)、SIZE
(Y)、SIZE(Z)は各展開処理IDに対応する回
路X,Y,Zの回路規模、XN、YX、ZNは回路X,
Y,Zの並列度である。この式で表されるように、構成
データ選択部324は、同一の機能が複数個ある回路構
成や、異なる機能が複数個ある回路構成の構成データを
選択して、並列処理ができるような仕組みを備える。ま
た、異なる機能が複数個ある回路構成を選択して、それ
らの間で入出力データをパイプライン的にやり取りする
パイプライン的な動作ができるような仕組みも備えて
る。図13のテーブルに対応して、例えば、図15に示
されるような構成を持つ候補が選択される。図15にお
いて、ハードウェア構成IDがXである候補は、オブジ
ェクト901に対するハードウェアリソースとして並列
度が3であり、またオブジェクト903に対するハード
ウェアリソースとして並列度が2である。ハードウェア
構成IDがYである候補は、オブジェクト901に対す
るハードウェアリソースとして並列度が4であり、また
オブジェクト903に対するハードウェアリソースとし
て並列度が1である。次にS3において、各オブジェク
トのデータ量から計算されるハードウェア構成の候補毎
の展開終了時間を計算する。ここで、展開終了時間は並
列処理可能なオブジェクトの展開処理がすべて終わるま
での時間である。各オブジェクトに対する展開処理時間
Toは、
SIZE ≧ XN × SIZE (X) + YN × SIZE (Y) +. . . + ZN × SIZE (Z) where SIZE is the size of the entire reconfigurable hardware circuit in the reconfigurable expansion unit 40, SIZE (X), SIZE
(Y) and SIZE (Z) are the circuit scales of the circuits X, Y and Z corresponding to the respective development processing IDs, and XN, YX and ZN are the circuits X and
This is the degree of parallelism between Y and Z. As represented by this formula, the configuration data selection unit 324 selects a configuration data of a circuit configuration having a plurality of identical functions or a configuration of a circuit configuration having a plurality of different functions and performs a parallel processing. Is provided. In addition, a mechanism is provided for selecting a circuit configuration having a plurality of different functions and performing a pipeline-like operation of exchanging input / output data in a pipeline between them. For example, a candidate having a configuration as shown in FIG. 15 is selected corresponding to the table of FIG. In FIG. 15, a candidate whose hardware configuration ID is X has a degree of parallelism of 3 as a hardware resource for the object 901 and a degree of parallelism of 2 as a hardware resource for the object 903. The candidate whose hardware configuration ID is Y has a parallelism of 4 as a hardware resource for the object 901 and a parallelism of 1 as a hardware resource for the object 903. Next, in S3, the development end time for each hardware configuration candidate calculated from the data amount of each object is calculated. Here, the expansion end time is a time until all the expansion processing of the objects that can be processed in parallel is completed. The expansion processing time To for each object is

【0064】[0064]

【数3】To=DSIZE×Td ÷ PAR で計算する。ここで、DSIZEは処理すべきオブジェ
クトのデータ量、Tdは1単位の処理回路が単位データ
量を処理するのに要する時間、PARは並列度である。
処理すべきオブジェクトのデータ量の概算値として図1
3のテーブルの外接矩形の面積を用いる。図15の例で
は、処理時間はハードウェア構成IDがXである候補に
ついて、20msであり、ハードウェア構成IDがXで
ある候補について、30msである。S4において、最
も展開時間の少ない候補を最終的なハードウェア構成と
して選択する。図15の例では、ハードウェア構成ID
がXの候補が最終的な構成として選択される。
Calculated by To = DSIZE × TddPAR. Here, DSIZE is the data amount of the object to be processed, Td is the time required for one processing circuit to process the unit data amount, and PAR is the degree of parallelism.
FIG. 1 shows an approximate value of the data amount of the object to be processed.
The area of the circumscribed rectangle of the table No. 3 is used. In the example of FIG. 15, the processing time is 20 ms for the candidate whose hardware configuration ID is X, and is 30 ms for the candidate whose hardware configuration ID is X. In S4, the candidate with the shortest deployment time is selected as the final hardware configuration. In the example of FIG. 15, the hardware configuration ID
Is selected as the final configuration.

【0065】リオーダ部325は最終的に選択されたハ
ードウェア構成IDと並列的に処理するオブジェクトの
データを、図10に説明したデータ構造に変換して、中
間データ記憶部33に出力する。オブジェクトのデータ
は、オブジェクトIDをオブジェクトバッファ321に
出力して、そのオブジェクトに対するデータをオブジェ
クトバッファ321から入力する。
The reorder unit 325 converts the data of the object to be processed in parallel with the finally selected hardware configuration ID into the data structure described in FIG. 10 and outputs it to the intermediate data storage unit 33. For the object data, the object ID is output to the object buffer 321, and the data for the object is input from the object buffer 321.

【0066】構成データ選択部324によって、並列処
理可能なオブジェクトとして、選択されなかったオブジ
ェクトはオブジェクトバッファ321にそのまま残り、
新たなオブジェクトバッファ321の中のオブジェクト
の組み合わせに対して、以上で説明した処理が繰り返さ
れ、図10に示される中間データのデータ構造が出力さ
れる。
Objects not selected by the configuration data selection unit 324 as objects that can be processed in parallel remain in the object buffer 321 as they are.
The processing described above is repeated for the combination of objects in the new object buffer 321 and the data structure of the intermediate data shown in FIG. 10 is output.

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

【0068】次に、展開処理部4について詳細に説明す
る。図16に、再構成可能展開部40のブロック図を示
す。変換処理部3で生成されたバンド毎の中間データ
は、中間データ転送制御部43により読み込まれ、メモ
リ部410の入力バッファA420あるいは入力バッフ
ァB421へ書き込まれる。再構成ハードウェア部46
は、入力バッファA420あるいは入力バッファB42
1から中間データを読み込んで、展開してバンドバッフ
ァA422あるいはバンドバッファB423へ描画す
る。印字データ転送制御部44は、描画済のバンドバッ
ファA422あるいはバンドバッファB423から展開
された印字データを読み込み、これを読み込んだワード
毎にシリアル変換して、シリアル出力クロック信号に同
期して出力部5へ出力する。リフレッシュ制御部44
は、入力バッファA420、入力バッファB421、バ
ンドバッファA422、バンドバッファB423、ワー
ク領域424からなるメモリ部42のリフレッシュを制
御する。アービトレーション部45は、リフレッシュ制
御部47、中間データ転送制御部43、印字データ転送
制御部44、再構成ハードウェア部46、再構成制御部
41、それぞれがメモリ部410をアクセスする際に、
それぞれのブロックに割当てられたアクセスのプライオ
リティに応じてアービトレーション制御を行なう。
Next, the expansion processing section 4 will be described in detail. FIG. 16 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 the input buffer A 420 or the input buffer B 42
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 the output data 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.

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

【0070】ワーク領域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.

【0071】再構成可能展開部40が、図10に示す変
換処理部3が出力する中間データを展開する手順を説明
する。構成制御部41は、入力バッファからハードウェ
ア構成IDとオブジェクトIDを入力して、図18に示
すフローチャートに従って再構成ハードウェア部46を
制御する。構成制御部41が行なう処理はS11からS
17の7つのステップからなる。まず、S11におい
て、次に処理するオブジェクトのハードウェア構成ID
を入力する。S12において、次に処理する構成IDが
直前に処理した構成IDと同じかどうか調べる。同じで
あれば、構成データを再構成ハードウェア部46に新た
に書き込む必要はないので、S15に飛ぶ。違う場合に
は、S13においてハードウェア構成IDをもとに、構
成データ管理部42から構成データを読み出し、S14
において読み出された構成データを再構成ハードウェア
部46に書き込む。S15において、再構成ハードウェ
ア部46に、処理するオブジェクトIDを出力し、処理
の開始を知らせるために開始信号を送る。S16におい
て、再構成ハードウェア部46での処理が終わるまで待
つ。S17において、現在処理中のバンドにさらに処理
すべきオブジェクトがあるかどうかを調べる。あれば、
S1に戻り、なければ終了する。
The procedure in which the reconfigurable expanding section 40 expands the intermediate data output by the conversion processing section 3 shown in FIG. 10 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 is from S11 to S
It consists of seventeen steps. First, in S11, the hardware configuration ID of the object to be processed next
Enter In S12, it is checked whether the configuration ID to be processed next is the same as the configuration ID just processed. If they are the same, the process jumps to S15 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 S13, and
Is written to the reconfiguration hardware unit 46. In S15, 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 S16, the process waits until the processing in the reconfiguration hardware unit 46 ends. In S17, 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 and ends if not.

【0072】図19に構成データ管理部42の構成を示
す。変換テーブル415は、ハードウェア構成IDを入
力して、構成コード記憶領域411の開始アドレスとデ
ータ長を出力するテーブルである。構成コード記憶領域
411は、実際のハードウェア構成IDに対する構成デ
ータが記憶される領域で、各エントリーは可変長であ
る。412は制御部で読み出し制御部413と追加・更
新部414から成る。読み出し制御部413は、再構成
制御部41から読み出し信号とハードウェア構成IDを
入力して、変換テーブル415にハードウェア構成ID
を出力することにより構成データの構成コード記憶領域
411上のアドレスとデータ長を入力する。次に、読み
出し制御部413は、入力したアドレスを構成コード記
憶領域411に出力して、データ長分のハードウェア構
成IDに対応する構成データを構成コード記憶領域41
1から読み出して、再構成制御部41に出力する。追加
・更新部414は、図示されていないホスト計算機など
を経由して送られる構成データを追加・更新するための
制御部で、変換テーブル415のエントリと構成コード
記憶領域411の構成データを、追加したり、削除した
り、更新したりする。構成コード記憶領域411には、
単体の機能を処理するさまざまな回路構成に対応した構
成データ、同一の機能が複数個ある並列的な回路構成に
対応した構成データ、異なる機能が複数個ある並列的な
回路構成に対応した構成データ、異なる機能が複数個あ
るパイプライン的な回路構成に対応した構成データを備
えている。
FIG. 19 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 inputs 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 (not shown) or the like. Remove, delete, or update. In the configuration code storage area 411,
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 configuration data corresponding to a parallel circuit configuration with multiple different functions And configuration data corresponding to a pipeline-like circuit configuration having a plurality of different functions.

【0073】次に、再構成ハードウェア部46の具体的
な構成と処理内容について例をあげて説明する。再構成
ハードウェア部46は、構成データ管理部42が管理記
憶する構成データを再構成制御部41の制御により書き
込むことにより、機能を変えることができる処理ブロッ
クである。典型的には、再構成ハードウェア部46は、
フィールド・プログラマブル・ゲート・アレイ(FPG
A)により構成できる。FPGAとしては例えば米国X
ILINX社の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 its function 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
Field Programmable Gate Array (FPG)
A). For example, US X
ILINX FPGAs or equivalent components can be employed.

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

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

【0076】再構成ハードウェア部46の機能を表す機
能ブロック図は、書き込まれる構成データによって可変
であるので、図16において、ハードウェア構成IDが
Xのものが選択された場合の例を用いて再構成ハードウ
ェア部46の構成及び動作を説明する。このとき、再構
成ハードウェア部46は図25のような構成になる。図
25において、460、460−1、460−2は展開
処理IDがCodeAに対応する処理回路、470、4
70−1、470−2、470−3は展開処理IDがC
ode Gに対応する処理回路である。処理回路460
の内部構成は、台形描画回路461とスクリーン処理回
路462からなる。処理回路470の内部構成は、画像
伸張回路471、解像度変換回路472、色変換回路4
73、台形描画回路474、スクリーン処理回路475
からなる。処理回路460−1、処理回路460−2、
処理回路480−1、処理回路480−2、処理回路4
80−3からなる回路構成のように、再構成ハードウェ
ア部46は、同一の機能が複数個ある回路構成や、異な
る機能が複数個ある回路構成による並列処理が可能であ
る。また、処理回路480の内部構成のように、複数個
の異なる機能機能間で入出力データをパイプライン的に
やり取りするパイプライン的な動作も可能である。展開
処理IDがCode Aに対応する処理回路460と展
開処理IDがCode Gに対応する処理回路470の
さらに詳しい構成と動作について説明する。
The functional block diagram showing the function of the reconfiguration hardware unit 46 is variable depending on the configuration data to be written. Therefore, in FIG. The configuration and operation of the reconfiguration hardware unit 46 will be described. At this time, the reconfiguration hardware unit 46 has a configuration as shown in FIG. In FIG. 25, reference numerals 460, 460-1 and 460-2 denote processing circuits 470, 4
70-1, 470-2, and 470-3 have the expansion processing ID of C
a processing circuit corresponding to the mode G. Processing circuit 460
Has a trapezoidal drawing circuit 461 and a screen processing circuit 462. The internal configuration of the processing circuit 470 includes an image expansion circuit 471, a resolution conversion circuit 472, and a color conversion circuit 4
73, trapezoidal drawing circuit 474, screen processing circuit 475
Consists of Processing circuit 460-1, processing circuit 460-2,
Processing circuit 480-1, processing circuit 480-2, processing circuit 4
Like the circuit configuration 80-3, the reconfigurable hardware unit 46 can perform parallel processing using a circuit configuration having a plurality of identical functions or a circuit configuration having a plurality of different functions. Further, like the internal configuration of the processing circuit 480, a pipeline-like operation of exchanging input / output data between a plurality of different functional functions in a pipeline manner is also possible. A more detailed configuration and operation of the processing circuit 460 whose expansion processing ID corresponds to Code A and the processing circuit 470 whose expansion processing ID corresponds to Code G will be described.

【0077】(i)展開処理IDがCode Aに対応
する処理回路 処理回路460は、変換処理部3が生成した、図形に対
する中間データを処理する。台形描画回路461は、入
力した中間データをなす台形データ(sx,sy,x
0,x1,x2,h)を、図26に示されるような4点
からなるデータ形式に変換して台形領域を描画する。図
27に、台形描画回路461の機能ブロック図を示す。
中間データ入力部463は、入力バッファから1つ1つ
の台形をなすデータを読み込んで、座標計算部A464
および座標計算部B465に台形データを出力する。座
標計算部A464は、台形の左側のエッジ(図26のエ
ッジP0,P1)の座標計算を担当し、エッジ上の座標
値をP0からP1に向かって順に出力する。座標計算部
B465は、台形の右側のエッジ(図26のエッジP2
P3)の座標計算を担当し、エッジ上の座標値をP2か
らP3に向かって順に出力する。エッジ描画部466
は、座標計算部A464及び座標計算部B465から入
力される座標値により、台形のx軸に平行な直線を描画
する。
(I) Processing Circuit with Expansion Process ID Corresponding to Code A 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 (sx, sy, x
0, x1, x2, h) is converted into a data format consisting of four points as shown in FIG. 26 to draw a trapezoidal area. FIG. 27 shows a functional block diagram of the trapezoidal drawing circuit 461.
The intermediate data input unit 463 reads data of each trapezoid from the input buffer, and stores the data in the coordinate calculation unit A464.
And the trapezoid data is output to the coordinate calculation unit B465. The coordinate calculation unit A464 is in charge of calculating the coordinates of the left edge of the trapezoid (the edges P0 and P1 in FIG. 26), and outputs the coordinate values on the edges in order from P0 to P1. The coordinate calculator B465 calculates the right edge of the trapezoid (edge P2 in FIG. 26).
It is in charge of the coordinate calculation of P3) and outputs the coordinate values on the edge in order from P2 to P3. Edge drawing unit 466
Draws a straight line parallel to the trapezoidal x-axis based on the coordinate values input from the coordinate calculation unit A464 and the coordinate calculation unit B465.

【0078】図28に、座標計算部の機能ブロック図を
示す。入力された台形データ(sx,sy,x0,x
1,x2,h)はDDAパラメータ計算部467で4点
の台形データ(P0,P1,P2,P3)に変換され
て、傾きや残差の初期値などのDDAのパラメータを計
算し、DDA処理部468に出力する。DDA処理部4
68は、入力されたパラメータに基づいてDDA処理を
行い、最後に求めた点に対する移動方向と移動量を出力
する。座標更新部469は、入力された移動方向と移動
量から現在保持している座標値を更新して出力する。座
標の初期値は、中間データ入力部463によって設定さ
れる。
FIG. 28 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.

【0079】図29は、エッジ描画部466のブロック
図である。エッジ描画部466は、座標値A/B及び色
情報を入力して台形の内部領域を塗りつぶす。アドレス
計算部470は、座標値A/Bを入力して、描画するエ
ッジ成分のアドレスを計算する。マスク演算部471
は、座標値A/Bの値を入力して、描画するワード中の
有効なビットを表すマスクを出力する。データ演算部4
72は、固定的な色を表す色データを入力し、この値を
ワード分に展開してスクリーン処理回路に出力し、スク
リーン処理した結果をRmodW部473に出力する。
RmodW部473は、入力されたアドレス、マスク、
データを用いて以下の処理をすることにより描画を行な
う。まず、アドレスにより、バンドバッファをリードす
る。これにより読み込まれたデータをSource、マ
スクデータをMask、描画データをDataとする
と、(Mask*Data+Mask#*Sourc
e)の値を演算して同一アドレスに書き戻す。ただし、
*は論理積、+は論理和、#は論理否定をそれぞれ表
す。この処理は、描画するエッジが含まれるワード毎に
繰り返し行われる。またスクリーン処理回路462は、
最終的なガンマ補正とハーフトーンを行うための処理で
あり、図形を出力する場合に最適化したスクリーンパタ
ーンが設定されている。展開処理IDがCode Bの
場合には、スクリーン処理が、最終的なガンマ補正とハ
ーフトーンを行うため処理であり、文字を出力する場合
に最適化したスクリーンパターンが設定されている。
FIG. 29 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 receives 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 denotes input of color data representing a fixed color, develops this value into words, outputs the word to a 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,
* Represents logical product, + represents logical sum, and # represents logical negation. This process is repeated for each word including the edge to be drawn. Also, 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 development 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.

【0080】(ii)展開処理IDがCode Gに対
応する処理回路 処理回路480は、中間データが画素毎に色の異なる画
像を入力し、表2のCode G示されるような様々な
画像処理を行なう。画像処理は、処理の組み合わせが、
(伸長処理、解像度変換、色空間変換、台形処理、スク
リーン)の場合の処理回路を説明する。
(Ii) Processing Circuit whose Expansion Process ID Corresponds to Code G The processing circuit 480 inputs an image in which 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,
A processing circuit in the case of (expansion processing, resolution conversion, color space conversion, trapezoid processing, screen) will be described.

【0081】(伸長処理回路481) 入力された中間データである画像が、圧縮されており、
伸長処理を要する場合には、伸張処理回路481は中間
データをJPEG等のアルゴリズムにより伸長処理す
る。図30に、伸長処理回路481の機能ブロック図を
示す。中間データ入力部481−1は現在入力中の入力
バッファから圧縮された画像データである中間データを
入力する。ハフマン復号化部481−2は内臓されてい
るハフマン復号化テーブルをもとに圧縮データをデコー
ドする。逆量子化部481−3は、ハフマン復号化部4
81−2から入力されるデータを、内臓されている量子
化テーブルをもとに、逆量子化して出力する。逆DCT
部481−4は、逆量子化部481−3から入力される
データを、逆DCT変換式によって変換して出力する。
書き込み部481−5は逆DCT部によって復号化され
た画像データをワーク領域424に書き込む。
(Expansion Processing Circuit 481) The image, which is the input intermediate data, is compressed,
When decompression processing is required, the decompression processing circuit 481 decompresses the intermediate data using an algorithm such as JPEG. FIG. 30 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 Huffman decoding unit 481-2 decodes the compressed data based on a built-in Huffman decoding table. The inverse quantization unit 481-3 outputs the Huffman decoding unit 4
The data input from 81-2 is inversely quantized based on a built-in quantization table and output. Inverse DCT
The unit 481-4 transforms the data input from the inverse quantization unit 481-3 by an inverse DCT transform and outputs the data.
The writing unit 481-5 writes the image data decoded by the inverse DCT unit to the work area 424.

【0082】(解像度変換回路482) 図31に、解像度変換回路482の機能ブロック図を示
す。画素データ入力部482−1は伸長処理した結果が
書き込まれたワーク領域424から画素データを読み出
す。画素の読み出しは、解像度変換式(1)の逆変換に
よって現在計算を行なっている画素の補間に必要な入力
画素のみを読み出す。補間処理部482−2では、入力
された画素データから変換後の画素の輝度をそれぞれの
色成分について補間する。補完アルゴリズムは線形補間
法により行なう。画素アドレス計算部482−3では、
現在計算中の画素の座標からワーク領域424の書き込
みアドレスを計算する。書き込み部では、画素アドレス
と補間データをもとに新しい画素の値を書き込む。ワー
ク領域424上で、入力画像と出力画像が割り当てられ
ている領域は異なる領域である。
(Resolution Conversion Circuit 482) FIG. 31 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. In the pixel address calculation unit 482-3,
The write address of the work area 424 is calculated 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. On the work area 424, the areas to which the input image and the output image are assigned are different areas.

【0083】(色空間変換回路483) 図32に、色空間変換回路483の機能ブロック図を示
す。色空間変換は、RGB空間の入力画像を印刷色であ
るCMYK空間への変換を行なう。画素データ入力部4
83−1は、アフィン変換された結果を格納するワーク
領域424上の画素データを1画素毎に入力する。テー
ブル変換部483−2はRGB画像データを入力して、
CYMK各色の画像データを出力する。本実施例ではC
MYK色を色毎に処理するので、一度に1色の変換テー
ブルしか必要としない。4色同時に処理したい場合に
は、4色分の変換テーブルを内蔵する。また、変換テー
ブルはテーブル変換部452内に内臓され、テーブルの
容量を削減するためにRGB各色につき9点の代表点を
テーブルのアドレスとして持ち、さらに詳細なアドレス
部による変換の値は次の補間処理部483−3で行な
う。補間処理部483−3では、変換するRGB色空間
の1点を囲む6点の代表点から3次元での線形補間処理
により、詳細な変換値を求める。この過程を示したもの
が、図33である。変換したいRGB空間の点Pに対し
て、テーブル変換部483−2で点Pを囲む3角柱の頂
点となるような6点(a,b,c,d,e,f)の変換
値をルックアップテーブルで求め、これをもとに線形補
間を行なう。書き込み部483−4は画素データ入力部
483−1が入力した同一アドレスに変換結果を上書き
する。
(Color Space Conversion Circuit 483) FIG. 32 shows 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. Pixel data input unit 4
83-1 inputs pixel data on the work area 424 for storing the result of the affine transformation for each pixel. The table conversion unit 483-2 inputs the RGB image data,
The image data of each color of CYMK is output. In this embodiment, C
Since the MYK 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. The interpolation processing unit 483-3 obtains detailed conversion values by three-dimensional linear interpolation processing from six representative points surrounding one point in the RGB color space to be converted. FIG. 33 shows this process. For the point P in the RGB space to be converted, look up the conversion values of six points (a, b, c, d, e, f) that become the vertices of a triangular prism surrounding the point P in the table conversion unit 483-2. It is obtained from 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.

【0084】(台形処理回路484) 画像データを台形領域に描画するための台形描画回路4
84の構成は、基本的に、図27に示した文字及び図形
の台形処理のための機能ブロックと同じである。台形領
域への画像の貼り付けは、図8(b)に示したようにな
る。このとき、図27での画像の描画に特有の相違点
は、中間データ入力部463は、画像データをワーク領
域424から入力し、エッジ描画部466に画像データ
を出力する。台形データを表す中間データは入力バッフ
ァから入力する。エッジ描画部466は、文字及び図形
の場合と同様に、現在出力中のバンドバッファに出力画
像を書き込む。
(Trapezoid processing circuit 484) Trapezoid drawing circuit 4 for drawing image data in a trapezoid area
The configuration of 84 is basically the same as the functional block for trapezoidal processing of characters and graphics shown in FIG. The image is pasted on the trapezoid area as shown in FIG. 8B. At this time, the difference unique to the drawing of the image in FIG. 27 is that the intermediate data input unit 463 inputs the image data from the work area 424 and outputs the image data to the edge drawing unit 466. Intermediate data representing trapezoidal data is input from an input buffer. The edge drawing unit 466 writes the output image in the band buffer currently being output, as in the case of characters and graphics.

【0085】(スクリーン処理回路485) スクリーンは、データとして保持している1色あたりの
色数が、プリンタで表現できる1色あたりの色数より多
い場合に、プリンタで表現できる色数の色値に変換すた
めの処理である。この代表的な処理は、ハーフトーン処
理と呼ばれ、ハーフトーンマトリックスというNxMの
閾値データを持ち、そのデータと画像データを色ごとに
比較して、プリンタの色ごとの色値を決定するというも
のである。例えば1色あたり1bitのプリンタに1色
あたり8bitで表現された画像データを処理する場
合、NxMの閾値データのハーフトーンマトリックスに
は、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, the screen has a color value of the number of colors that can be expressed by the printer. This is the process for converting to. 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 by a printer with 1 bit per color, an arbitrary value from 0 to 255 is stored in the halftone matrix of the NxM threshold data. Then, by comparing the value of the actual image data with the halftone matrix threshold data determined by the position of the image,
If the image data is larger, a color value for printing the pixel is output; otherwise, a color value for not printing the pixel is output.

【0086】以上が、処理するオブジェクトが画像デー
タであり、展開処理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.

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

【0088】(展開処理部のアクセラレータとしての利
用) 本実施例では、中間データ生成の処理を中間データ生成
部31で処理するように説明したが、この中間データ生
成処理を、展開処理部4のハードウエア構成を変えるこ
とによって再構成可能展開部40に実行させることも可
能である。
(Utilization of Expansion Processing Unit as Accelerator) In the present embodiment, the intermediate data generation processing is described to be performed by the intermediate data generation unit 31. By changing the hardware configuration, it is also possible to cause the reconfigurable developing unit 40 to execute the processing.

【0089】これを図34を使って説明する。例えば、
中間データ生成部の命令実行部311に入力されたLZ
W圧縮された画像は、従来画像処理部312によってL
ZWで伸張し、マトリックス演算を行い、LZWで圧縮
してバンド分解管理部219へ送っていた。この処理
を、画像処理部312に代わって展開処理部4のもつ再
構成可能展開部40によって行わせるというものであ
る。このような処理を行う再構成データを展開処理ID
とともに構成データ管理部41にあらかじめ登録してお
き、画像処理部312に処理する画像が入力されたら、
画像処理部312が処理の内容を解釈して、再構成可能
展開部40へ展開処理IDと入力画像データを送る。再
構成可能展開部40では、送られてきた展開処理IDに
よって、構成データ管理部から構成データを取得して、
内部の再構成可能ハードウエアを再構成する。その後画
像処理の手順に従って、送られてきた入力画像データを
再構成可能ハードウエアを使って処理して、その処理結
果として作成された画像データを画像処理部312へ送
り返す。このような構成によって、再構成可能展開部4
0の再構成可能資源を有効利用することができる。
This will be described with reference to FIG. For example,
LZ input to the instruction execution unit 311 of the intermediate data generation unit
The W-compressed image is converted to an L by the conventional image processing unit 312.
The data is expanded by ZW, subjected to matrix calculation, compressed by LZW, and sent to the band decomposition management unit 219. This processing is performed by the reconfigurable developing unit 40 of the expansion processing unit 4 instead of the image processing unit 312. The reconstructed data for performing such processing is developed by the processing ID
Together with the configuration data management unit 41 in advance, and when an image to be processed is input to the image processing unit 312,
The image processing unit 312 interprets the contents of the processing, and sends the expansion processing ID and the input image data to the reconfigurable expansion unit 40. The reconfigurable expansion unit 40 acquires the configuration data from the configuration data management unit based on the transmitted expansion process ID,
Reconfigure internal reconfigurable hardware. Thereafter, in accordance with the image processing procedure, the received input image data is processed using the reconfigurable hardware, and the image data created as the processing result is sent back to the image processing unit 312. With such a configuration, the reconfigurable deployment unit 4
0 reconfigurable resources can be used effectively.

【0090】(再構成ハードウェアの部分書き換え) ここまで説明した再構成制御部41が行なう再構成ハー
ドウェア部46の書き換えに関しては、すべてのハード
ウェア資源を書き換えることを前提にしてきたが、再構
成ハードウェア部46を必要に応じて部分的に書き換え
る方法も考えられる。部分的な再構成ハードウェア部4
6の書換えを前提とした再構成制御部41の制御方法に
ついて説明する。この場合、図10のデータ構造を生成
する際に並列処理可能なすべてのオブジェクトを1つの
集まりとし、ハードウェア構成IDは必要ない。部分的
な再構成ハードウェア部43の書換えを行なう場合に再
構成制御部41が行なう処理のフローチャートを図35
に示す。図35は、再構成制御部41が1つの並列処理
可能なオブジェクトの集まりに対して行なう制御フロー
である。再構成制御部41が行なう制御フローはS18
からS25の8つのステップからなる。まず、S18に
おいて、次に処理するオブジェクトの展開処理IDを入
力する。S19において、再構成ハードウェア部46の
リソースに入力した展開処理IDに対応する構成データ
を書き込むだけの空きがあるかどうかを調べる。空きが
あれば、S21に飛び、空きがなければS20に進む。
S20において、再構成可能ハードウェア部46が処理
中のある部分的な処理が終わるまで待つ。S21におい
て、構成データの部分的書き換えが必要かどうかを調べ
る。再構成可能ハードウェア部46が終えた処理と次の
処理の展開処理IDが同じであれば、部分的書換えの必
要はない。部分的書換えの必要がなければ、S24へ飛
ぶ。部分的書換えの必要があれば、S22へ進む。。S
22において構成データ管理部42から入力した展開処
理IDに対応する構成データを読み出し、S23におい
て読み出された構成データを再構成ハードウェア部46
に部分的に書き込む。S24において、再構成ハードウ
ェア部46に、部分的な書き込みが終わり処理の開始が
可能になったことを知らせるために同期信号を送る。S
25において、現在処理している並列処理可能なオブジ
ェクトの集まりにまだオブジェクトデータがあるかどう
かを調べる。あれば、S18に戻り、なければ終了す
る。終了したら、再構成ハードウェア部46におけるす
べてのオブジェクトの展開処理が終わるのを待って、再
び新しい組の並列処理可能なオブジェクトの集合に対し
て、図35の制御フローを繰り返す。
(Partial Rewriting of Reconfiguration Hardware) The rewriting of the reconfiguration hardware unit 46 performed by the reconfiguration control unit 41 described above is based on the premise that all hardware resources are rewritten. A method of partially rewriting the configuration hardware unit 46 as necessary may be considered. Partial reconfiguration hardware unit 4
The control method of the reconfiguration control unit 41 on the premise of the rewriting of No. 6 will be described. In this case, all objects that can be processed in parallel when generating the data structure of FIG. FIG. 35 is a flowchart of a process performed by the reconfiguration control unit 41 when partially rewriting the reconfiguration hardware unit 43.
Shown in FIG. 35 is a control flow performed by the reconfiguration control unit 41 for one group of objects that can be processed in parallel. The control flow performed by the reconstruction control unit 41 is S18
To S25. First, in S18, an expansion processing ID of an object to be processed next is input. In S19, it is checked whether or not there is enough space to write the configuration data corresponding to the expansion processing ID input to the resource of the reconfiguration hardware unit 46. If there is a space, the process jumps to S21, and if there is no space, the process proceeds to S20.
In S20, the process waits until the reconfigurable hardware unit 46 completes a partial process being processed. In S21, it is checked whether or not the configuration data needs to be partially rewritten. If the processing performed by the reconfigurable hardware unit 46 and the expansion processing ID of the next processing are the same, there is no need for partial rewriting. If there is no need for partial rewriting, the process jumps to S24. If partial rewriting is necessary, the process proceeds to S22. . S
At 22, the configuration data corresponding to the expansion processing ID input from the configuration data management unit 42 is read, and at S <b> 23 the
Partially write to In S24, a synchronization signal is sent to the reconfiguration hardware unit 46 to inform that the partial writing has been completed and the processing can be started. S
At 25, it is checked whether or not there is still object data in the currently processed collection of parallel-processable objects. If there is, the process returns to S18; otherwise, the process ends. When the processing is completed, the control flow of FIG. 35 is repeated for a new set of objects that can be processed in parallel, after waiting for completion of the expansion processing of all the objects in the reconfiguration hardware unit 46.

【0091】[実施例2] 図36は本発明による実施例2の構成を表すブロック図
である。図36において画像処理装置は、印刷データ作
成部1と、印刷データ入力部2と、変換処理部3と、展
開処理部4と、出力部5とから構成されている。さら
に、変換処理部3は、字句解析部30と、中間データ生
成部31と、中間データ最適化部34と、中間データ再
構成部35と、中間データ記憶部33とから構成され、
展開処理部4は、再構成可能展開部40と、再構成制御
部41と、構成データ管理部42とから構成されてい
る。
[Embodiment 2] FIG. 36 is a block diagram showing the configuration of Embodiment 2 according to the present invention. In FIG. 36, 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 optimization unit 34, an intermediate data reconstruction unit 35, and an intermediate data storage unit 33.
The expansion processing unit 4 includes a reconfigurable expansion unit 40, a reconfiguration control unit 41, and a configuration data management unit 42.

【0092】上記の構成の内、印刷データ作成部1と、
印刷データ入力部2と、展開処理部4と、出力部5は先
の実施例1での構成と同じものであるため、ここでは説
明を省略する。
In the above configuration, the print data creation unit 1
Since the print data input unit 2, the expansion processing unit 4, and the output unit 5 have the same configuration as those in the first embodiment, the description is omitted here.

【0093】変換処理部3は、印刷データ入力部2より
入力された印刷データから展開処理部4における印字デ
ータへの展開処理可能な中間データを生成するものであ
り、字句解析部30と、中間データ生成部31と、中間
データ最適化部34と、中間データ再構成部35と、中
間データ記憶部33とからなる。このうち、字句解析部
30と中間データ生成部31と、中間データ記憶部33
は、先の実施例1での構成と同じものであるため、ここ
でも説明を省略する。
The conversion processing unit 3 generates intermediate data that can be expanded into print data in the expansion processing unit 4 from the print data input from the print data input unit 2. It comprises a data generation unit 31, an intermediate data optimization unit 34, an intermediate data reconstruction unit 35, and an intermediate data storage unit 33. The lexical analyzer 30, the intermediate data generator 31, and the intermediate data storage 33
Is the same as the configuration in the first embodiment, and the description is also omitted here.

【0094】中間データ最適化部34は、中間データ生
成部31でページ記述言語に書かれている順番に生成し
たバンド分割後の描画命令毎の中間データ(以下、オブ
ジェクトとも言う。)を、バンド毎になるべく同じ描画
命令の中間データが続くように並び換えを行う。これ
は、展開処理部4での再構成可能な回路に対する再構成
の回数を少なくして、高速な処理を可能にするためであ
る。並び換えの処理は、バンド毎に各描画命令毎の中間
データの外接矩形を比較して、重なりの有無を判定し、
その結果に基づいて並び換えが可能な場合、同じ描画命
令の中間データが続くように並び換えを行い、並び換え
が不可能な場合にはそののままの順番で中間データ記憶
部33に中間データを書き込むというものである。この
ように、重なりがあるかないかで描画命令の順番を並び
換えできるかどうかの判断が必要な理由は、PDLでは
オペークと呼ばれるイメージングモデルを採用している
ためで、同じ場所に複数の描画が行われた場合に、最後
に描かれた描画命令のみが結果として残るという特徴の
ためである。中間データ再構成部35は、中間データ最
適化部34において描画種類毎にまとめられた中間デー
タの状況に応じて、処理を行うか、処理をスキップする
か判断する。中間データ最適化部34に前もって設定さ
れた閾値と比較して、もし中間データ最適化部34の並
び換えだけで、展開処理部4での再構成可能な回路に対
する再構成の回数が十分に少ないと判断された場合に
は、処理をスキップするが、十分でないと判断された場
合には、中間データ記憶部33からバンド単位に中間デ
ータを読み出し、バンド単位で各中間データ同士の重な
りを取り除く処理を行い、その結果の中間データを生成
する。その中間データ同士は全く重なりがないので、完
全に描画種類毎にまとめて中間データを再構築して、再
びバンド単位に中間データ記憶部33へ書き込みを行
う。この処理をバンド数分繰り返す。
The intermediate data optimizing unit 34 converts the intermediate data (hereinafter also referred to as an object) for each drawing command after band division generated in the order described in the page description language by the intermediate data generating unit 31 into a band. The rearrangement is performed so that the intermediate data of the same drawing command continues as much as possible. This is because the number of times of reconfiguration of the reconfigurable circuit in the expansion processing unit 4 is reduced to enable high-speed processing. The rearrangement process compares the circumscribed rectangles of the intermediate data for each drawing command for each band, determines whether or not there is an overlap,
If the rearrangement is possible based on the result, the rearrangement is performed so that the intermediate data of the same drawing command continues. If the rearrangement is impossible, the intermediate data is stored in the intermediate data storage unit 33 in the same order. Is written. The reason why it is necessary to determine whether or not the order of the drawing commands can be rearranged depending on whether or not there is an overlap is that PDL uses an imaging model called opaque, so that a plurality of drawing can be performed in the same place. This is because, when performed, only the last drawn command remains as a result. The intermediate data reconstructing unit 35 determines whether to perform the process or skip the process according to the status of the intermediate data compiled for each drawing type in the intermediate data optimizing unit 34. Compared with the threshold value preset in the intermediate data optimization unit 34, if the rearrangement of the intermediate data optimization unit 34 alone is performed, the number of times of reconfiguration of the reconfigurable circuit in the expansion processing unit 4 is sufficiently small. If it is determined that the processing is skipped, the processing is skipped, but if it is determined that the processing is not sufficient, the intermediate data is read from the intermediate data storage unit 33 in band units to remove the overlap between the intermediate data in band units. And generate intermediate data of the result. Since the intermediate data do not overlap at all, the intermediate data is completely reconstructed collectively for each drawing type, and written to the intermediate data storage unit 33 again in band units. This process is repeated for the number of bands.

【0095】次に上述したように構成された印刷処理装
置における印刷データの流れについて整理する。
Next, the flow of print data in the print processing apparatus configured as described above will be summarized.

【0096】印刷データ作成部1で作成された印刷デー
タは、印刷データ入力部2を介して、変換処理部3の字
句解析部30に入力される。字句解析部30において印
刷データから切り出されたトークンは、中間データ生成
部31に入力される。中間データ生成部31により生成
されたバンド単位に分割された中間データは中間データ
最適化部34に入力され、なるべく同じ描画命令が続く
ように中間データの並び換えが行われ、バンド単位に中
間データ記憶部33に書き込まれる。必要に応じて中間
データ記憶部33からバンド単位に読み出された中間デ
ータは、中間データ再構成部35に入力され、完全に描
画命令毎にまとめられた中間データに再構築され、再び
バンド単位に中間データ記憶部33に書き込まれる。
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 cut out from the print data in the lexical analyzer 30 is input to the intermediate data generator 31. The intermediate data generated by the intermediate data generating unit 31 and divided into band units is input to the intermediate data optimizing unit 34, where the intermediate data is rearranged so that the same drawing instruction is continued as much as possible, and the intermediate data is processed in band units. The data is written to the storage unit 33. The intermediate data read out from the intermediate data storage unit 33 in units of bands as necessary is input to the intermediate data reconstructing unit 35, reconstructed into intermediate data that is completely grouped for each drawing command, and re-created in band units. Is written to the intermediate data storage unit 33.

【0097】展開処理部4および出力処理部5は、先の
実施例1での構成と同じものであるため、ここでも説明
を省略する。
Since the expansion processing section 4 and the output processing section 5 have the same configuration as in the first embodiment, the description is omitted here.

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

【0099】ここでは主に、実施例1と構成の異なる生
成処理部3中の中間データ最適化部34と、中間データ
再構成部35について説明する。
Here, the intermediate data optimizing unit 34 and the intermediate data reconstructing unit 35 in the generation processing unit 3 having a different configuration from the first embodiment will be mainly described.

【0100】初めに、中間データ最適化部34について
詳細を説明する。図37は中間データ最適化部34の構
成を示す。中間データ最適化部34は、バンド番号判定
部326およびバンド数に一致する数の区分中間データ
最適化部327から構成される。図37は、1ページが
4つのバンドに区分され、バンド数4に一致する4つの
区分中間データ最適化部327で中間データ最適化部3
4が構成されていることを示す。バンド番号判定部32
6は、バンド分解部319から転送されるオブジェクト
に包含されているバンドIDを判別して、当該バンドI
Dに対応する区分中間データ最適化部327に係るオブ
ジェクトを転送する。
First, the details of the intermediate data optimizing unit 34 will be described. FIG. 37 shows the configuration of the intermediate data optimization unit 34. The intermediate data optimization unit 34 includes a band number determination unit 326 and a number of divided intermediate data optimization units 327 corresponding to the number of bands. FIG. 37 shows that one page is divided into four bands, and the four intermediate data optimization units 327 that match the number of bands of four use the intermediate data optimization unit 3.
4 is configured. Band number determination unit 32
6 determines the band ID included in the object transferred from the band decomposition unit 319, and
The object related to the section intermediate data optimization unit 327 corresponding to D is transferred.

【0101】図38は区分中間データ最適化部327の
構成を示す(便宜上2つの区分中間データ最適化部32
7のみ図示している)。区分中間データ最適化部327
は、ラッチ処理部3271、外接矩形重なり判定部32
72、出力バッファ3273および外接矩形集合記憶部
3274から構成される。ラッチ処理部3271は、バ
ンド番号判定部326から転送された中間データたるオ
ブジェクトを保持する。外接矩形重なり判定部3272
は、ラッチ処理部3271によって保持された各オブジ
ェクトの外接矩形の重なりを判定する。また、外接矩形
重なり判定部3272は、後述する手続きに基づいて出
力バッファ3273にオブジェクトを追加し、または出
力バッファ3273をフラッシュする。出力バッファ3
273は、逐次処理を可能とするために図39のように
各処理種別毎に、すなわち展開処理ID毎にいわゆる先
入れ先出し方式の出力バッファ群によって構成される。
外接矩形集合記憶部3274は、外接矩形重なり判定部
3272において外接矩形の重なりが判定された各オブ
ジェクトの外接矩形データの集合をビットマップとして
保持する(以下、このビットマップとして保持された各
オブジェクトの外接矩形データの集合を外接矩形集合と
呼ぶことにする)。当該外接矩形集合は、外接矩形重な
り判定部3272における外接矩形の重なり判定に用い
られる。外接矩形の重なり判定において、各オブジェク
トについての重なりが判定されるべき外接矩形データを
以下被検査対象外接矩形と呼ぶことにする。また、被検
査対象外接矩形に対応するオブジェクトを被検査対象オ
ブジェクトと呼ぶことにする。被検査対象オブジェクト
の直前に処理したオブジェクトの展開処理IDを保持す
るために、外接矩形重なり判定部3272に展開処理I
Dレジスタを設ける。
FIG. 38 shows the structure of the segmented intermediate data optimizing unit 327 (for the sake of convenience, two segmented intermediate data optimizing units 32).
7 only). Sectional intermediate data optimization unit 327
Are the latch processing unit 3271 and the circumscribed rectangle overlap determination unit 32
72, an output buffer 3273, and a circumscribed rectangle set storage unit 3274. The latch processing unit 3271 holds the object as the intermediate data transferred from the band number determination unit 326. Circumscribed rectangle overlap determiner 3272
Determines the overlap of the circumscribed rectangles of the objects held by the latch processing unit 3271. In addition, the circumscribed rectangle overlap determination unit 3272 adds an object to the output buffer 3273 or flushes the output buffer 3273 based on a procedure described later. Output buffer 3
The output buffer group 273 includes a so-called first-in first-out type output buffer group for each processing type, that is, for each expansion processing ID as shown in FIG. 39 in order to enable sequential processing.
The circumscribed rectangle set storage unit 3274 holds, as a bitmap, a set of circumscribed rectangle data of each object for which overlap of the circumscribed rectangle is determined by the circumscribed rectangle overlap determination unit 3272 (hereinafter, each object is stored as a bitmap). A set of circumscribed rectangle data is referred to as a circumscribed rectangle set.) The circumscribed rectangle set is used for the overlap determination of the circumscribed rectangle in the circumscribed rectangle overlap determination unit 3272. In the overlap determination of the circumscribed rectangle, the circumscribed rectangle data for which the overlap of each object is to be determined is hereinafter referred to as a circumscribed rectangle to be inspected. An object corresponding to the circumscribed rectangle to be inspected is called an object to be inspected. The circumscribed rectangle overlap determination unit 3272 stores the expansion processing I in order to hold the expansion processing ID of the object processed immediately before the object to be inspected.
A D register is provided.

【0102】外接矩形の重なりは、被検査対象外接矩形
が外接矩形集合に重なる場合(a)または被検査対象外
接矩形が外接矩形集合に重ならない場合(b)と(図4
0参照)、被検査対象オブジェクトの処理種別と当該被
検査対象オブジェクトを処理する直前に処理したオブジ
ェクトの処理種別、すなわち展開処理IDレジスタによ
って示される処理種別が同一であるかどうかによって、
図41のように4つの態様に分けられる。以下に、図4
2を用いて各バンド毎に行われる中間データ最適化の手
続き、すなわち各区分中間データ最適化部327におけ
る台形データの再配置の処理手続きについて説明する。
The circumscribed rectangles overlap when the circumscribed rectangle to be inspected overlaps the circumscribed rectangle set (a) or when the circumscribed rectangle to be inspected does not overlap the circumscribed rectangle set (b) (FIG. 4).
0), the processing type of the object to be inspected and the processing type of the object processed immediately before processing the object to be inspected, that is, whether the processing type indicated by the expansion processing ID register is the same,
As shown in FIG. 41, it is divided into four modes. Below, FIG.
2, a procedure of intermediate data optimization performed for each band, that is, a processing procedure of trapezoidal data rearrangement in each segmented intermediate data optimization unit 327 will be described.

【0103】(1)外接矩形重なり判定部3272ほか
の初期化(S26)。
(1) Initialization of the circumscribed rectangle overlap determination unit 3272 and others (S26).

【0104】外接矩形重なり判定部3272の有する展
開処理IDレジスタをクリアする。外接矩形集合記憶部
3274の保持するビットマップをクリアする。出力バ
ッファ3273の各展開処理ID毎のバッファをクリア
する。
The development processing ID register of the circumscribed rectangle overlap determination unit 3272 is cleared. The bitmap stored in the circumscribed rectangle set storage unit 3274 is cleared. The buffer of each output processing ID of the output buffer 3273 is cleared.

【0105】(2)オブジェクトのラッチ処理(S2
7)。
(2) Object latch processing (S2
7).

【0106】ラッチ処理部3271は、バンド番号判定
部326から転送されたバンド毎のオブジェクトを保持
する。この保持されたオブジェクトは被検査対象オブジ
ェクトである。
The latch processing unit 3271 holds the object for each band transferred from the band number determination unit 326. The held object is the object to be inspected.

【0107】(3)処理種別の同一性の判定(S2
8)。
(3) Judgment of identity of processing type (S2
8).

【0108】外接矩形重なり判定部3272は、ラッチ
処理部3271から保持された被検査対象オブジェクト
の処理種別と直前に処理したオブジェクトの処理種別と
の同一性を判定する。つまり、被検査対象オブジェクト
の展開処理IDと展開処理IDレジスタに保持されてい
る展開処理IDとの同一性を判断する。
The circumscribed rectangle overlap determination section 3272 determines the identity between the processing type of the object to be inspected held by the latch processing section 3271 and the processing type of the object processed immediately before. That is, it is determined whether the expansion processing ID of the inspection object is equal to the expansion processing ID stored in the expansion processing ID register.

【0109】処理種別が同一である場合、展開処理ID
レジスタの値を被検査対象オブジェクトの展開処理ID
で更新して、S30の処理に移る。一方、処理種別が相
違する場合、展開処理IDレジスタの値を被検査対象オ
ブジェクトの展開処理IDで更新して、S29の処理に
移る。
If the processing types are the same, the expansion processing ID
The register value is assigned to the process ID of the inspection object.
And the process proceeds to S30. On the other hand, if the processing types are different, the value of the expansion processing ID register is updated with the expansion processing ID of the object to be inspected, and the process proceeds to S29.

【0110】図43は処理種別の同一性の判定における
ラッチ処理部3271と外接矩形重なり判定部3272
の展開処理IDレジスタの様子を示す。例えば、ラッチ
処理部3271に展開処理IDがCode Aであるオ
ブジェクト1、展開処理IDがCode Aであるオブ
ジェクト2および展開処理IDがCode Bであるオ
ブジェクト3が順次保持された場合、オブジェクト2が
被検査対象オブジェクトであるとき、展開処理IDレジ
スタの値はCode Aであり、処理種別が同一と判定
される。また、オブジェクト3が被検査対象オブジェク
トであるとき、展開処理IDレジスタの値はCode
Bであり、処理種別は相違すると判定される。
FIG. 43 shows the latch processing unit 3271 and the circumscribed rectangle overlap determination unit 3272 in determining the identity of the processing type.
2 shows the state of the expansion processing ID register. For example, when the latch processing unit 3271 sequentially stores the object 1 having the expansion processing ID of Code A, the object 2 having the expansion processing ID of Code A, and the object 3 having the expansion processing ID of Code B, the object 2 is processed. When the object is the inspection object, the value of the expansion processing ID register is Code A, and it is determined that the processing types are the same. When the object 3 is the object to be inspected, the value of the development processing ID register is Code.
B, and it is determined that the processing types are different.

【0111】なお、ラッチ処理部3271に保持された
最初のオブジェクトに対して処理する場合、展開処理I
Dレジスタはクリアされている状態であるので、展開処
理IDレジスタの値を被検査対象オブジェクトの展開処
理IDで更新して、直ちにS30の処理に移る。
When processing is performed on the first object held in the latch processing unit 3271, the expansion processing I
Since the D register has been cleared, the value of the expansion processing ID register is updated with the expansion processing ID of the object to be inspected, and the process immediately proceeds to S30.

【0112】(4)外接矩形の重なりの判定(S2
9)。
(4) Judgment of overlap of circumscribed rectangles (S2
9).

【0113】外接矩形重なり判定部3272は、被検査
対象外接矩形と外接矩形集合記憶部3274の保持する
外接矩形集合との論理積を演算することによって、両者
の重なりを判定する。
The circumscribed rectangle overlap judging section 3272 judges the overlap between the circumscribed rectangles to be inspected and the circumscribed rectangle set held by the circumscribed rectangle set storage section 3274 by calculating the logical product.

【0114】被検査対象外接矩形が外接矩形集合に重な
る場合(a)、S31の処理に移る。一方、被検査対象
外接矩形が外接矩形集合に重ならない場合(b)、S3
0の処理に移る。
If the circumscribed rectangle to be inspected overlaps the circumscribed rectangle set (a), the process proceeds to S31. On the other hand, when the circumscribed rectangle to be inspected does not overlap the circumscribed rectangle set (b), S3
Move to the process of 0.

【0115】(5)オブジェクトの連結処理(S3
0)。
(5) Object connection processing (S3
0).

【0116】被検査対象外接矩形に対応するビットマッ
プ・データと外接矩形集合記憶部3274の保持するビ
ットマップ・データとの論理和を演算して、その結果で
外接矩形集合記憶部3274のビットマップを更新す
る。被検査対象オブジェクトを出力バッファ3273の
展開処理IDに対応する出力バッファに追加する。続い
て、S32の処理に移る。
[0116] The logical sum of the bitmap data corresponding to the circumscribed rectangle to be inspected and the bitmap data held in the circumscribed rectangle set storage unit 3274 is calculated, and the bitmap data in the circumscribed rectangle set storage unit 3274 is calculated based on the result. To update. The object to be inspected is added to the output buffer corresponding to the expansion processing ID of the output buffer 3273. Subsequently, the process proceeds to S32.

【0117】例えば、図44は外接矩形集合記憶部32
74におけるビットマップの更新処理の様子を示す。被
検査対象外接矩形は、外接矩形集合との論理和が演算さ
れ、その結果でビットマップが更新される。また、オブ
ジェクト1に続いて、外接矩形が重ならないオブジェク
ト2がラッチ処理部3271に保持された場合、図39
のように先入れ先出し方式で、オブジェクト2はオブジ
ェクト1に連結される。
For example, FIG. 44 shows the circumscribed rectangle set storage unit 32.
The state of the bitmap update process at 74 is shown. The logical sum of the circumscribed rectangle to be inspected and the circumscribed rectangle set is calculated, and the bitmap is updated with the result. Also, when the object 2 whose circumscribed rectangle does not overlap with the object 1 is held in the latch processing unit 3271, the object shown in FIG.
The object 2 is linked to the object 1 in a first-in first-out manner as shown in FIG.

【0118】(6)バッファフラッシュ処理(S3
1)。
(6) Buffer flush processing (S3
1).

【0119】外接矩形集合記憶部3274のビットマッ
プをクリアする。所定の順序で出力バッファ3273の
各展開処理ID毎のバッファに保持されているオブジェ
クトを中間データ記憶部33に転送する。続いて、S1
3gの処理に移る。
The bit map of the circumscribed rectangle set storage unit 3274 is cleared. The objects stored in the buffer for each expansion processing ID of the output buffer 3273 are transferred to the intermediate data storage unit 33 in a predetermined order. Then, S1
Move on to 3g processing.

【0120】(7)処理すべきオブジェクトの有無の検
査(S32)。
(7) Inspection of existence of object to be processed (S32).

【0121】ラッチ処理部3271は、バンド番号判定
部326から転送されたオブジェクトがバンド毎のオブ
ジェクトの終了を示すEODであるか否かを判断するこ
とによって、処理すべきオブジェクトの有無を検査す
る。処理すべきオブジェクトが存在する場合、S27の
処理に移る。一方、処理すべきオブジェクトが存在しな
い場合、処理を終える。
The latch processing section 3271 determines whether or not the object transferred from the band number determination section 326 is an EOD indicating the end of the object for each band, thereby checking whether or not there is an object to be processed. If there is an object to be processed, the process proceeds to S27. On the other hand, if there is no object to be processed, the process ends.

【0122】また、展開処理部4が同一あるいは異なる
構成データの処理を並列に、すなわち同時に複数処理す
ることができる場合、区分中間データ最適化部327を
以下のように構成して動作させることもできる。まず、
図45に示すように外接矩形集合記憶部3274は、層
毎の外接矩形の頂点の座標をリスト形式で保持するよう
に構成される。ここで、外接矩形重なり判定部3272
における外接矩形の重なりによって区別される単一また
は複数のオブジェクト毎の処理の単位を層と呼ぶことに
する。各層におけるオブジェクトは相互に重なりがな
い。また、図46に示すように出力バッファ3273
は、層番号を付加したオブジェクトをリスト形式で保持
するように構成される。当該層番号のデータは、オブジ
ェクトが出力バッファ3273から中間データ記憶部3
3に転送されるときに削除される。ここでは、外接矩形
重なり判定部3272に展開処理IDレジスタは不要で
ある。外接矩形重なり判定部3272は、層の総数の値
を保持する層総数レジスタ、処理中の層番号の値を保持
するためのカレント層レジスタおよび外接矩形集合記憶
部3274に保持される各層ごとの外接矩形頂点座標の
リスト形式のデータの最後尾のデータを保持するため外
接矩形レジスタを備える。図47に示す手順に従って、
以下のようにオブジェクトの並びを最適化する。
If the expansion processing unit 4 can process a plurality of processes of the same or different configuration data in parallel, that is, simultaneously, a plurality of processes, the divided intermediate data optimization unit 327 may be configured and operated as follows. it can. First,
As shown in FIG. 45, the circumscribed rectangle set storage unit 3274 is configured to hold the coordinates of the vertices of the circumscribed rectangle for each layer in a list format. Here, the circumscribed rectangle overlap determination unit 3272
A unit of processing for each single object or a plurality of objects distinguished by the overlap of circumscribed rectangles in is referred to as a layer. Objects in each layer do not overlap each other. Also, as shown in FIG.
Is configured to hold objects to which layer numbers are added in a list format. As for the data of the layer number, the object is stored in the intermediate data storage unit 3 from the output buffer 3273.
3 when it is forwarded. Here, the expansion processing ID register is not necessary for the circumscribed rectangle overlap determination unit 3272. The circumscribed rectangle overlap determination unit 3272 includes a layer total number register that holds the value of the total number of layers, a current layer register that holds the value of the layer number being processed, and a circumscribed rectangle for each layer held in the circumscribed rectangle set storage unit 3274. A circumscribed rectangle register is provided for holding the last data of the list data of the rectangle vertex coordinates. According to the procedure shown in FIG.
Optimize the arrangement of objects as follows.

【0123】(1)外接矩形重なり判定部3272ほか
の初期化(S33)。
(1) Initialization of the circumscribed rectangle overlap determination unit 3272 and others (S33).

【0124】外接矩形重なり判定部3272の層総数レ
ジスタおよびカレント層レジスタの値を0とする。外接
矩形レジスタ、外接矩形集合記憶部3274および出力
バッファ3273をクリアする。
The values of the layer total number register and the current layer register of the circumscribed rectangular overlap determination unit 3272 are set to 0. The circumscribed rectangle register, the circumscribed rectangle set storage unit 3274, and the output buffer 3273 are cleared.

【0125】(2)オブジェクトのラッチ処理(S3
4)。
(2) Object latch processing (S3
4).

【0126】ラッチ処理部3271は、バンド番号判定
部326から転送されたバンド毎のオブジェクトを保持
する。この保持されたオブジェクトは被検査対象オブジ
ェクトである。
The latch processing unit 3271 holds the object for each band transferred from the band number determination unit 326. The held object is the object to be inspected.

【0127】(3)外接矩形の重なり判定(S35)。(3) Judgment of overlap of circumscribed rectangles (S35).

【0128】外接矩形重なり判定部3272は、ラッチ
処理部3271に保持されている被検査対象オブジェク
トの外接矩形と、外接矩形レジスタに保持されている外
接矩形との重なりを判断する。外接矩形が重なる場合、
S36の処理に移る。一方、外接矩形が重ならない場
合、S37の処理に移る。図48は外接矩形の重なりに
よる層の様子を示す。例えば、オブジェクト1、オブジ
ェクト2およびオブジェクト3が順次ラッチ処理部32
71に保持された場合、オブジェクト1の外接矩形とオ
ブジェクト2の外接矩形とが重ならない場合、層は同一
である。ここでは、オブジェクト1およびオブジェクト
2は第1層に属する。また、オブジェクト2の外接矩形
とオブジェクト3の外接矩形とが重なるとき、オブジェ
クト3はオブジェクト2とは異なる層に属する。ここで
は、オブジェクト3は第2層に属する。
The circumscribed rectangle overlap judging section 3272 judges the overlap between the circumscribed rectangle of the object to be inspected held in the latch processing section 3271 and the circumscribed rectangle held in the circumscribed rectangle register. If the bounding rectangles overlap,
The process proceeds to S36. On the other hand, if the circumscribed rectangles do not overlap, the process proceeds to S37. FIG. 48 shows the state of the layers due to the overlapping of the circumscribed rectangles. For example, the object 1, the object 2, and the object 3 are sequentially stored in the latch processing unit 32.
When the circumscribed rectangle of the object 1 and the circumscribed rectangle of the object 2 do not overlap each other, the layers are the same. Here, object 1 and object 2 belong to the first layer. When the circumscribed rectangle of the object 2 and the circumscribed rectangle of the object 3 overlap, the object 3 belongs to a layer different from that of the object 2. Here, the object 3 belongs to the second layer.

【0129】(4)オブジェクトのリスト追加処理(S
36)。
(4) Object List Addition Processing (S
36).

【0130】層総数レジスタの保持する値をインクリメ
ントする。被検査対象オブジェクトの外接矩形を外接矩
形集合記憶部3274のリスト・データの最後尾データ
として追加し、当該外接矩形データを外接矩形レジスタ
の内容とする。また、被検査対象オブジェクトを、層総
数レジスタの保持する値を層番号として付加して、出力
バッファ3273のリスト・データの最後尾データとし
て追加する。図49は、被検査対象オブジェクトの出力
バッファ3273のリスト・データへの追加前後の様子
を示す。層総数レジスタが1から2にインクリメントさ
れ、被検査対象オブジェクトたるオブジェクト3はオブ
ジェクト2に後続するように追加される。このとき、層
番号2がオブジェクト3に付加される。
The value held by the layer total number register is incremented. The circumscribed rectangle of the object to be inspected is added as the last data of the list data in the circumscribed rectangle set storage unit 3274, and the circumscribed rectangle data is set as the contents of the circumscribed rectangle register. Further, the object to be inspected is added as a layer number with the value held by the layer total number register and added as the last data of the list data in the output buffer 3273. FIG. 49 shows a state before and after the object to be inspected is added to the list data in the output buffer 3273. The layer total register is incremented from 1 to 2, and the object 3 to be inspected is added so as to follow the object 2. At this time, the layer number 2 is added to the object 3.

【0131】(5)オブジェクトのリスト挿入処理(S
37)。
(5) Object List Insertion Processing (S
37).

【0132】図50は、以下のオブジェクトのリスト挿
入処理(S37)の詳細な処理手順を示す。
FIG. 50 shows a detailed processing procedure of the following object list insertion processing (S37).

【0133】(5.1)カレント層レジスタの初期化
(S39)。
(5.1) Initialization of the current layer register (S39).

【0134】カレント層レジスタの値を1とする。Assume that the value of the current layer register is 1.

【0135】(5.2)外接矩形の重なり判定(S4
0)。
(5.2) Judgment of overlap of circumscribed rectangles (S4
0).

【0136】外接矩形重なり判定部3272は、被検査
対象オブジェクトの外接矩形と、外接矩形集合記憶部3
274に保持されている、カレント層レジスタの保持し
ている層番号に対応する外接矩形との重なりを判定す
る。重なりがある場合、S41の処理に移る。一方、重
なりがない場合、S42の処理に移る。
The circumscribed rectangle overlap judging section 3272 stores the circumscribed rectangle of the object to be inspected and the circumscribed rectangle set storage section 3.
The overlap with the circumscribed rectangle corresponding to the layer number held in the current layer register held in 274 is determined. If there is an overlap, the process proceeds to S41. On the other hand, when there is no overlap, the process proceeds to S42.

【0137】(5.3)カレント層レジスタのインクリ
メント(S41) 外接矩形重なり判定部3272は、カレント層レジスタ
の保持する値をインクリメントし、S40の処理に移
る。
(5.3) Increment of Current Layer Register (S41) The circumscribed rectangle overlap determination unit 3272 increments the value held by the current layer register, and proceeds to the processing of S40.

【0138】(5.4)外接矩形頂点座標の更新(S4
2)。
(5.4) Update of circumscribed rectangular vertex coordinates (S4
2).

【0139】外接矩形重なり判定部3272は、被検査
対象オブジェクトの外接矩形によって、外接矩形集合記
憶部3274に保持されている、カレント層レジスタの
保持している層番号に対応する外接矩形頂点座標を更新
する。図51は外接矩形頂点座標の更新前後の様子を示
す。例えば、オブジェクト1に続いて、オブジェクト1
の外接矩形とは外接矩形が重ならないオブジェクト2が
ラッチ処理部3271に保持された場合、カレント層レ
ジスタが1であり、外接矩形集合記憶部3274に保持
されている第1層に対応する外接矩形頂点座標(図51
の上段のハッチされた矩形)がオブジェクト1の外接矩
形の座標を意味するとき、被検査対象外接矩形すなわち
オブジェクト2の外接矩形(図51の実線の矩形)を包
含する外接矩形(図51の破線の矩形)が演算され、そ
の演算結果を第1層に対応する更新後の外接矩形(図5
1の下段のハッチされた矩形)として、外接矩形集合記
憶部3274に保持する。
The circumscribed rectangle overlap determination unit 3272 calculates the circumscribed rectangle vertex coordinates corresponding to the layer number held in the current layer register and held in the circumscribed rectangle set storage unit 3274 based on the circumscribed rectangle of the object to be inspected. Update. FIG. 51 shows a state before and after updating the circumscribed rectangular vertex coordinates. For example, following object 1, object 1
When the object 2 whose circumscribed rectangle does not overlap with the circumscribed rectangle of is stored in the latch processing unit 3271, the current layer register is 1, and the circumscribed rectangle corresponding to the first layer stored in the circumscribed rectangle set storage unit 3274 Vertex coordinates (Fig. 51
When the hatched rectangle in the upper part of the figure indicates the coordinates of the circumscribed rectangle of the object 1, the circumscribed rectangle including the circumscribed rectangle of the object to be inspected, that is, the circumscribed rectangle of the object 2 (the solid-line rectangle in FIG. 51) (dashed line in FIG. 51) Is calculated, and the calculation result is updated to a circumscribed rectangle (FIG. 5) corresponding to the first layer.
1 (the lower hatched rectangle) is stored in the circumscribed rectangle set storage unit 3274.

【0140】(5.5)オブジェクトのリスト挿入処理
(S43) 外接矩形重なり判定部3272は、被検査対象オブジェ
クトをカレント層レジスタの保持している層番号に対応
する層の最後尾のオブジェクトとして出力バッファ32
73のリストに追加する。このとき、当該オブジェクト
には層番号が付加される。図52はオブジェクトのリス
ト挿入処理前後の様子を示す。カレント層レジスタが1
である場合、オブジェクト4は、層番号が1であるオブ
ジェクト2の後、かつ層番号が2であるオブジェクト3
の前に挿入される。このとき、オブジェクト4は層番号
1が付加される。
(5.5) Object List Insertion Processing (S43) The circumscribed rectangle overlap determination unit 3272 outputs the object to be inspected as the last object of the layer corresponding to the layer number held in the current layer register. Buffer 32
73 is added to the list. At this time, a layer number is added to the object. FIG. 52 shows the state before and after the object list insertion processing. Current layer register is 1
, The object 4 is the object 3 after the object 2 with the layer number 1 and the object 3 with the layer number 2
Inserted before. At this time, the layer number 1 is added to the object 4.

【0141】(6)処理すべきオブジェクトの有無の検
査(S38)。
(6) Inspection of existence of object to be processed (S38).

【0142】ラッチ処理部3271は、バンド番号判定
部326から転送されたオブジェクトがバンド毎のオブ
ジェクトの終了を示すEODであるか否かを判断するこ
とによって、処理すべきオブジェクトの有無を検査す
る。処理すべきオブジェクトが存在する場合、S34の
処理に移る。一方、処理すべきオブジェクトが存在しな
い場合、処理を終える。なお、出力バッファ3273に
リスト形式で保持されているオブジェクトは、層毎に所
定の順序で中間データ記憶部33に転送され、並列処理
される。
The latch processing unit 3271 determines whether or not the object transferred from the band number determination unit 326 is an EOD indicating the end of the object for each band, thereby checking whether or not there is an object to be processed. If there is an object to be processed, the process proceeds to S34. On the other hand, if there is no object to be processed, the process ends. The objects held in the output buffer 3273 in the form of a list are transferred to the intermediate data storage unit 33 in a predetermined order for each layer and processed in parallel.

【0143】最後に中間データ再構成部35について詳
細を説明する。中間データの再構成、すなわち台形デー
タの重なり除去は、図53で示す中間データ再構成部3
5によって行われる。中間データ再構成部35は、ペー
ジ終了判定部331およびバンド数に一致する数の区分
中間データ再構成部332から構成される。図53は、
1ページが4つのバンドに区分され、バンド数4に一致
する4つの区分中間データ再構成部332で中間データ
再構成部35が構成されていることを示す。図54は、
中間データ再構成の処理手順を示す。まず、ページ終了
判定部331は、中間データ最適化部34のすべてのラ
ッチ処理部3271が各バンドにおける処理すべきオブ
ジェクトの終了を示すEODを保持しているか否かなど
中間データ最適化部34が1ページ分のデータを中間デ
ータ記憶部33に転送しているかどうかによって、ペー
ジの終了か否かを判別して、すべての区分中間データ再
構成部332の動作開始を指示する(S44)。区分中
間データ再構成部332は、中間データ記憶部33から
各バンドに対応する中間データを再構成し、その結果を
中間データ記憶部33の各バンドに対応する部分に転送
する(S45)。以下に区分中間データ再構成部332
の構成とS35の手続きを詳説する。
Finally, the intermediate data reconstructing section 35 will be described in detail. The reconstruction of the intermediate data, that is, the removal of the overlap of the trapezoidal data is performed by the intermediate data reconstruction unit 3 shown in FIG.
5 is performed. The intermediate data reconstruction unit 35 includes a page end determination unit 331 and a number of segmented intermediate data reconstruction units 332 corresponding to the number of bands. FIG.
One page is divided into four bands, indicating that the intermediate data reconstructing unit 35 is composed of four divided intermediate data reconstructing units 332 corresponding to four bands. FIG.
4 shows a processing procedure of intermediate data reconstruction. First, the page end determination unit 331 determines whether or not all the latch processing units 3271 of the intermediate data optimization unit 34 hold an EOD indicating the end of the object to be processed in each band. It is determined whether or not the page has ended based on whether or not one page of data has been transferred to the intermediate data storage unit 33, and an instruction to start the operation of all the divided intermediate data reconstruction units 332 is issued (S44). The sectioned intermediate data reconstruction unit 332 reconstructs the intermediate data corresponding to each band from the intermediate data storage unit 33, and transfers the result to a portion of the intermediate data storage unit 33 corresponding to each band (S45). The sectioned intermediate data reconstruction unit 332 is described below.
And the procedure of S35 will be described in detail.

【0144】図55は区分中間データ再構成部332の
構成の一例を示す。区分中間データ再構成部332は、
中間データ転送部3321、入力バンドバッファ332
2、フェッチ処理部3323、台形重なり判定部332
4、台形データ再分割部3325および出力バンドバッ
ファ3326によって構成される。中間データ転送部3
321は中間データ記憶部33から中間データを入力バ
ンドバッファ3322に転送し、また出力バンドバッフ
ァ3326から中間データ記憶部33に再構成された中
間データを転送する。入力バンドバッファ3322はい
わゆる先入れ先出し方式のバンドバッファとして構成さ
れ、中間データたるオブジェクトを保持する。フェッチ
処理部3323は、入力バンドバッファ3322に保持
されているオブジェクトを台形重なり判定部3324に
転送する。台形重なり判定部3324は、後述する手順
に従い各オブジェクトの台形データの重なりを判定す
る。台形重なり判定部332は出力バンドバッファ33
26におけるオブジェクトの位置を示すためのインデッ
クス保持レジスタReg CURを持つ。台形データ再
分割部3325は出力バンドバッファ3326に保持さ
れているオブジェクトのすべての台形データとフェッチ
処理部3323によって台形重なり判定部3324に転
送されたオブジェクトの台形データとが重ならないよう
に台形データを再分割する。出力バンドバッファ332
6は、台形データの重なりがないオブジェクトを保持す
る。出力バンドバッファ3326においてオブジェクト
は、最後尾が明示されたリスト形式で保持される。各バ
ンド毎の中間データの再構成は、図56に示すように以
下の手続きによって行う。
FIG. 55 shows an example of the configuration of the sectioned intermediate data reconstructing section 332. The section intermediate data reconstruction unit 332
Intermediate data transfer unit 3321, input band buffer 332
2. Fetch processing unit 3323, trapezoid overlap determination unit 332
4. It is composed of a trapezoidal data subdivision unit 3325 and an output band buffer 3326. Intermediate data transfer unit 3
Numeral 321 transfers the intermediate data from the intermediate data storage unit 33 to the input band buffer 3322, and transfers the reconstructed intermediate data from the output band buffer 3326 to the intermediate data storage unit 33. The input band buffer 3322 is configured as a so-called first-in first-out type band buffer, and holds an object as intermediate data. The fetch processing unit 3323 transfers the object held in the input band buffer 3322 to the trapezoid overlap determination unit 3324. The trapezoid overlap determination unit 3324 determines the overlap of the trapezoid data of each object according to a procedure described later. The trapezoid overlap judging unit 332 outputs the output band buffer 33.
26 has an index holding register Reg CUR for indicating the position of the object in 26. The trapezoid data subdivision unit 3325 converts the trapezoid data so that the trapezoid data of all objects held in the output band buffer 3326 does not overlap with the trapezoid data of the object transferred to the trapezoid overlap determination unit 3324 by the fetch processing unit 3323. Subdivide. Output band buffer 332
Reference numeral 6 holds an object having no trapezoidal data overlap. In the output band buffer 3326, the objects are held in a list format in which the end is specified. The reconstruction of the intermediate data for each band is performed by the following procedure as shown in FIG.

【0145】(1)台形重なり判定部3324ほかの初
期化(S46)。
(1) Initialization of the trapezoid overlap judging unit 3324 and others (S46).

【0146】中間データ転送部3321は中間データ記
憶部33から各バンドに対応する中間データを入力バン
ドバッファ3322に転送する。出力バンドバッファ3
326をクリアする。
The intermediate data transfer section 3321 transfers the intermediate data corresponding to each band from the intermediate data storage section 33 to the input band buffer 3322. Output band buffer 3
Clear 326.

【0147】(2)オブジェクトのフェッチ処理(S4
7)。
(2) Object fetch processing (S4
7).

【0148】フェッチ処理部3323は、オブジェクト
を入力バンドバッファ3322から台形重なり判定部3
324に転送する。当該オブジェクトは被検査対象オブ
ジェクトである。
The fetch processing unit 3323 transfers the object from the input band buffer 3322 to the trapezoid overlap determination unit 3.
324. The object is an object to be inspected.

【0149】(3)台形データの重なり除去処理(S4
8)。
(3) Overlapping removal processing of trapezoidal data (S4
8).

【0150】図57は以下の台形データの重なり除去処
理手順の詳細を示す。
FIG. 57 shows the details of the following trapezoidal data overlap removal processing procedure.

【0151】(3.1)インデックス保持レジスタの初
期化(S51)。
(3.1) Initialization of the index holding register (S51).

【0152】インデックス保持レジスタReg CUR
の内容を出力バンドバッファ3326の先頭オブジェク
トの位置を示すインデックスとする。
Index holding register Reg CUR
Is an index indicating the position of the head object of the output band buffer 3326.

【0153】(3.2)台形データの重なり判定(S5
2)。
(3.2) Overlap judgment of trapezoidal data (S5
2).

【0154】台形重なり判定部3324は、被検査対象
オブジェクトを構成するすべての台形データに対して、
インデックス保持レジスタReg CURのインデック
スが示す出力バンドバッファ3326に保持されている
オブジェクトを構成するすべての台形データと重なりを
検査する。重なりがある場合、S13pの処理に移る。
一方、重なりのない場合、S54の処理に移る。
The trapezoidal overlap judging section 3324 calculates the trapezoidal data
The overlap with all trapezoidal data constituting the object held in the output band buffer 3326 indicated by the index of the index holding register Reg CUR is checked. If there is an overlap, the process proceeds to S13p.
On the other hand, when there is no overlap, the process proceeds to S54.

【0155】(3.3)台形データの分割処理(S5
3)。
(3.3) Trapezoidal data division processing (S5
3).

【0156】台形データ再分割部3325は、台形重な
り判定部3324によって被検査対象オブジェクトの台
形データと重なったと判断された、出力バンドバッファ
3326に保持されている台形データをさらに台形デー
タに分割し、重なっている部分に相当する台形データを
除去する。図58は台形データの重なり除去処理前後の
様子を示す。被検査対象オブジェクトがオブジェクト2
であり、オブジェクト1の台形データと重なっている場
合、オブジェクト1の台形データは図58のように分割
され、オブジェクト1のもとの台形データのオブジェク
ト2の台形データと重なり合う部分は除去される。ここ
で、オブジェクト2の台形データ自身には変更はない。
このようにして、結局被検査対象オブジェクトの台形デ
ータが上書きにするように重なりを除去する。
The trapezoidal data re-dividing unit 3325 further divides the trapezoidal data held in the output band buffer 3326, which is judged by the trapezoidal overlap judging unit 3324 to overlap with the trapezoidal data of the object to be inspected, into trapezoidal data. The trapezoidal data corresponding to the overlapping part is removed. FIG. 58 shows the trapezoid data before and after the overlap removal processing. Object to be inspected is object 2
When the trapezoid data of the object 1 overlaps with the trapezoid data of the object 1, the trapezoid data of the object 1 is divided as shown in FIG. Here, the trapezoid data of the object 2 itself is not changed.
In this way, the overlap is removed so that the trapezoid data of the object to be inspected is overwritten.

【0157】(3.4)インデックス保持レジスタの更
新処理(S54)。
(3.4) Update processing of the index holding register (S54).

【0158】インデックス保持レジスタReg CUR
は、後続するオブジェクトの位置を示すインデックスを
保持するように値を更新する。
Index holding register Reg CUR
Updates the value to hold the index indicating the location of the following object.

【0159】(3.5)処理すべきオブジェクトの有無
の検査(S55)。
(3.5) Inspection of existence of object to be processed (S55).

【0160】台形重なり判定部3324は、インデック
ス保持レジスタReg CURの保持するインデックス
が示すオブジェクトが最後尾のオブジェクトであるか否
かを判断することによって、処理すべきオブジェクトの
有無を検査する。処理すべきオブジェクトが存在する場
合、S52の処理に移る。一方、処理すべきオブジェク
トが存在しない場合、S49の処理に移る。
The trapezoid overlap judging unit 3324 checks whether or not there is an object to be processed by judging whether or not the object indicated by the index held by the index holding register Reg CUR is the last object. If there is an object to be processed, the process proceeds to S52. On the other hand, when there is no object to be processed, the process proceeds to S49.

【0161】(4)オブジェクトの追加処理(S4
9)。
(4) Object Addition Processing (S4
9).

【0162】被検査対象オブジェクトを出力バンドバッ
ファ3326に追加する。
The object to be inspected is added to the output band buffer 3326.

【0163】(5)処理すべきオブジェクトの有無の検
査(S50)。
(5) Inspection of existence of object to be processed (S50).

【0164】フェッチ処理部3323は、入力バンドバ
ッファ3322にオブジェクトが存在する否かを判断す
ることによって、処理すべきオブジェクトの有無を検査
する。処理すべきオブジェクトが存在する場合、S48
の処理に移る。一方、処理すべきオブジェクトが存在し
ない場合、処理を終える。
The fetch processing unit 3323 checks whether or not there is an object in the input band buffer 3322 to check whether or not there is an object to be processed. If there is an object to be processed, S48
Move on to processing. On the other hand, if there is no object to be processed, the process ends.

【0165】なお、展開処理部4における構成データの
書き換え回数を削減するために、S50の後に中間デー
タ記憶部33の各バンド毎に展開処理ID毎に中間デー
タが連続するように並び換える、あるいは各区分中間デ
ータ再構成部332の出力バンドバッファ3326を、
中間データ最適化部34の出力バッファ3273と同様
の各展開処理IDごとのバッファとして構成し、逐次的
に各バンド毎に展開処理ID毎に中間データが連続する
ように並び換えることができる。また、前述したよう
に、1バンド内の構成データの書き換えが既定値以下の
場合は、S46からS50までの処理を省いても良い。
つまり、中間データ最適化処理の後、中間データ再構成
処理の前に中間データ記憶部33の各オブジェクトの展
開処理IDの変化する回数を計数し、その値が既定値以
下の場合、中間データ再構成の処理を省くこともでき
る。
In order to reduce the number of rewrites of the configuration data in the expansion processing unit 4, after S50, the intermediate data is rearranged so as to be continuous for each expansion processing ID for each band in the intermediate data storage unit 33, or The output band buffer 3326 of each sectioned intermediate data reconstruction unit 332 is
The output buffer 3273 of the intermediate data optimizing unit 34 is configured as a buffer for each expansion processing ID, and can be sequentially rearranged so that the intermediate data is continuous for each expansion processing ID for each band. Further, as described above, when the rewriting of the configuration data in one band is equal to or less than the predetermined value, the processing from S46 to S50 may be omitted.
That is, after the intermediate data optimizing process and before the intermediate data reconstructing process, the number of times the development process ID of each object in the intermediate data storage unit 33 changes is counted. Configuration processing can also be omitted.

【0166】[実施例3] 図59は本発明による実施例3の構成を表すブロック図
である。図59において画像処理装置は、印刷データ作
成部1と、印刷データ入力部2と、変換処理部3と、展
開処理部4と、出力部5とから構成されている。さら
に、変換処理部3は、字句解析部30と、中間データ生
成部31と、並列処理判定部36と、中間データ記憶部
33とから構成されている。また、展開処理部4は、再
構成可能展開部40と、再構成制御部41と、構成デー
タ管理部42とから構成されている。
[Third Embodiment] FIG. 59 is a block diagram showing a configuration of a third embodiment according to the present invention. 59, 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, a parallel processing determination unit 36, and an intermediate data storage unit 33. The expansion processing unit 4 includes a reconfigurable expansion unit 40, a reconfiguration control unit 41, and a configuration data management unit 42.

【0167】上記の構成の内、印刷データ作成部1と、
印刷データ入力部2と、展開処理部4と、出力部5は先
の実施例1での構成と同じものであるため、ここでは説
明を省略する。
In the above configuration, the print data creation unit 1
Since the print data input unit 2, the expansion processing unit 4, and the output unit 5 have the same configuration as those in the first embodiment, the description is omitted here.

【0168】変換処理部3は、印刷データ入力部2より
入力された印刷データから展開処理部4における印字デ
ータへの展開処理可能な中間データを生成するものであ
り、字句解析部30と、中間データ生成部31と、並列
処理判定部36と、中間データ記憶部33とからなる。
このうち、字句解析部30と中間データ生成部31と、
中間データ記憶部33は、先の実施例1での構成と同じ
ものであるため、ここでも説明を省略する。
The conversion processing unit 3 generates intermediate data that can be expanded into print data in the expansion processing unit 4 from the print data input from the print data input unit 2. It comprises a data generation unit 31, a parallel processing determination unit 36, and an intermediate data storage unit 33.
Of these, the lexical analyzer 30 and the intermediate data generator 31
Since the intermediate data storage unit 33 has the same configuration as that of the first embodiment, the description is omitted here.

【0169】並列処理判定部36は、中間データ生成部
31から出力される中間データを順次読み込んで、それ
らの間の重なり判定を行ない、連続する複数の中間デー
タ間で重なりの無いと判定された場合には、並列処理可
能な中間データのグループとして、展開処理部4の再構
成可能展開部40に書き込まれる並列処理を行う構成デ
ータに対する識別子であるハードウェア構成IDが付加
して、中間データ記憶部33に出力する。
The parallel processing judging section 36 sequentially reads the intermediate data output from the intermediate data generating section 31, makes an overlap judgment between them, and judges that there is no overlap between a plurality of continuous intermediate data. In this case, as a group of intermediate data that can be processed in parallel, a hardware configuration ID that is an identifier for configuration data to be written in the reconfigurable expansion unit 40 of the expansion processing unit 4 and that performs parallel processing is added, and the intermediate data storage Output to the unit 33.

【0170】次に上述したように構成された印刷処理装
置における印刷データの流れについて整理する。
Next, the flow of print data in the print processing apparatus configured as described above will be summarized.

【0171】印刷データ作成部1で作成された印刷デー
タは、印刷データ入力部2を介して、変換処理部3の字
句解析部30に入力される。字句解析部30において印
刷データから切り出されたトークンは、中間データ生成
部31に入力される。中間データ生成部31により生成
されたバンド単位に分割された中間データは並列処理判
定部36に入力され、中間データの重なりに基づいて、
並列処理可能なグループに分けられ、中間データ記憶部
33にバンド単位に1ページ分記憶される。
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 cut out from the print data in the lexical analyzer 30 is input to the intermediate data generator 31. The intermediate data divided in band units generated by the intermediate data generation unit 31 is input to the parallel processing determination unit 36, and based on the overlap of the intermediate data,
The data is divided into groups that can be processed in parallel, and one page is stored in the intermediate data storage unit 33 in band units.

【0172】展開処理部4および出力処理部5は、先の
実施例1での構成と同じものであるため、ここでも説明
を省略する。以上、本発明の画像処理装置の概要につい
て記述した。次に、この画像処理装置の主要部の詳細に
ついて説明する。
Since the expansion processing unit 4 and the output processing unit 5 have the same configuration as that of the first embodiment, the description is omitted here. The outline of the image processing apparatus of the present invention has been described above. Next, details of a main part of the image processing apparatus will be described.

【0173】ここでは主に、実施例1と構成の異なる変
換処理部3中の並列処理判定部36について説明する。
Here, the parallel processing judging section 36 in the conversion processing section 3 having a configuration different from that of the first embodiment will be mainly described.

【0174】並列処理判定部36は、中間データ生成部
31から出力される中間データを順次読み込んで、順次
重なり判定を行ない、連続する複数の中間データ間で重
なりの無いと判定された場合には、並列処理可能な中間
データのグループとして、展開処理部4の再構成可能展
開部40に書き込まれる並列処理を行う構成データに対
する識別子であるハードウェア構成IDが付加して、中
間データ記憶部33に出力する。並列処理判定部36に
おける出力データ形式は、実施例1に示した図10と同
じである。図10において、並列処理判定部36が出力
する中間データのデータ構造は、並列処理可能なオブジ
ェクト毎にまとめられている。各集合のデータは、バン
ドID、ハードウェア構成ID、オブジェクトの数、集
合に属するオブジェクトのデータからなる。図60に並
列処理判定部36の構成図を示す。図60において、3
61は入力オブジェクトバッファ、362は重なり判定
部、363は構成データ付加部、364は出力オブジェ
クトバッファである。
The parallel processing judging section 36 sequentially reads the intermediate data output from the intermediate data generating section 31 and makes an overlap judgment sequentially. When it is judged that there is no overlap between a plurality of continuous intermediate data, As a group of intermediate data that can be processed in parallel, a hardware configuration ID that is an identifier for configuration data to be written in the reconfigurable expansion unit 40 of the expansion processing unit 4 and that performs parallel processing is added to the intermediate data storage unit 33. Output. The output data format in the parallel processing determination unit 36 is the same as that in FIG. 10 shown in the first embodiment. In FIG. 10, the data structure of the intermediate data output by the parallel processing determination unit 36 is organized for each object that can be processed in parallel. The data of each set includes a band ID, a hardware configuration ID, the number of objects, and data of objects belonging to the set. FIG. 60 shows a configuration diagram of the parallel processing determination unit 36. In FIG. 60, 3
61 is an input object buffer, 362 is an overlap determination unit, 363 is a configuration data addition unit, and 364 is an output object buffer.

【0175】入力オブジェクトバッファ361は、オブ
ジェクトデータを入力して格納する。オブジェクトデー
タを入力して格納する単位は、場合によって1つでもよ
いし複数個の描画オブジェクトであってもよいし、バン
ドやページなどのより大きい単位であってもよい。重な
り判定部362は、入力オブジェクトバッファ321に
順次格納されたオブジェクトを同一のバンドIDを持つ
各オブジェクトの外接矩形の座標値を入力して、オブジ
ェクト間の重なりを判定する。オブジェクト間の重なり
判定とは、重なり判定部でバンド毎に保持している外接
矩形のうち入力されたオブジェクトのバンドIDに対す
る外接矩形と入力されたオブジェクトの外接矩形との重
なりを判定することである。今後の処理の説明は、処理
がバンド毎に独立しているので、入力されたオブジェク
トのバンドIDに対するバンドに絞って行う。重なり判
定部362で保持している外接矩形とは、最初は何も無
いところから始まり、次に最初に入力されたオブジェク
トの外接矩形になる。そして次のオブジェクトから、重
なり判定が行われ、もし重なりが無しと判定された場合
には、保持している外接矩形は、自分自身と入力された
オブジェクトの外接矩形のORした領域の外接矩形に変
更される。もし、重なりが有ると判定された場合には、
保持している外接矩形は、入力されたオブジェクトの外
接矩形で置き換えられる。重なり判定は保持している外
接矩形の左下座標(ldx0,ldy0),右上座標
(rux0,ruy0)、入力されたオブジェクトの外
接矩形の左下座標(ldx1,ldy1),右上座標
(rux1,ruy1)を使って行われ、次のような式
が成り立つ時は、重なり無しと判定される。
The input object buffer 361 inputs and stores object data. The unit for inputting and storing the object data may be one, a plurality of drawing objects, or a larger unit such as a band or a page. The overlap determination unit 362 determines the overlap between objects by inputting the coordinate values of the circumscribed rectangle of each object having the same band ID to the objects sequentially stored in the input object buffer 321. The overlap determination between the objects is to determine the overlap between the circumscribed rectangle corresponding to the band ID of the input object and the circumscribed rectangle of the input object among the circumscribed rectangles held for each band by the overlap determination unit. . The description of the processing in the future will be limited to the band corresponding to the band ID of the input object since the processing is independent for each band. The circumscribed rectangle held by the overlap judging unit 362 starts from nothing at first and then becomes the circumscribed rectangle of the first input object. Then, from the next object, overlap determination is performed, and if it is determined that there is no overlap, the circumscribed rectangle held is set to the circumscribed rectangle of the area where the circumscribed rectangle of the input object and the object itself are ORed. Be changed. If it is determined that there is overlap,
The held circumscribed rectangle is replaced with the circumscribed rectangle of the input object. In the overlap judgment, the lower left coordinates (ldx0, ldy0) and upper right coordinates (rux0, ruy0) of the circumscribed rectangle, the lower left coordinates (ldx1, ldy1), and the upper right coordinates (rux1, ruy1) of the circumscribed rectangle of the input object are stored. When the following expression is satisfied, it is determined that there is no overlap.

【0176】[0176]

【数4】 ldx0>rux1 or rux0<ldx1 or ldy0>ruy1 or ruy0<ldy1 また、重なりがないと判断された場合の外接矩形のOR
は次のような式になる
Ldx0> rux1 or rux0 <ldx1 or ldy0> ruy1 or ruy0 <ldy1 OR of a circumscribed rectangle when it is determined that there is no overlap
Becomes

【0177】[0177]

【数5】 ldx0=min(ldx0,ldx1)、ldy0=
min(ldy0,ldy1)、 rux0=max(rux0,rux1)、ruy0=
max(ruy0,ruy1) このようにして判定した判定結果は、構成データ付加部
363へ送られる。構成データ付加部363では、この
判定結果と入力されたオブジェクトのオブジェクトID
を見て、判定結果が重なりなしの場合には、出力オブジ
ェクトバッファ364に蓄えられている前に入力された
オブジェクトのオブジェクトIDと入力されたオブジェ
クトのオブジェクトIDから、展開処理部4の再構成可
能展開部40で並列処理可能である組合せである場合に
は、入力されたオブジェクトを出力オブジェクトバッフ
ァ364に追加で書き込む。また、展開処理部4の再構
成可能展開部40で並列処理可能でない組合せである場
合には、出力オブジェクトバッファ364に蓄えられて
いる前に入力されたオブジェクトグループに対する並列
処理の構成データを付加して、出力オブジェクトバッフ
ァ364に蓄えられたオブジェクトを中間データ記憶部
33へ送り出した後で、入力されたオブジェクトを出力
オブジェクトバッファ364に書き込み、さらに重なり
判定部362に対して入力されたオブジェクトの外接矩
形で、保持している外接矩形をリセットするように外接
矩形とバンドIDのデータを送る。また、判定結果が重
なりありの場合には、出力オブジェクトバッファ364
に蓄えられている前に入力されたオブジェクト群に対す
る並列処理の構成データを付加して、出力オブジェクト
バッファ364に蓄えられたオブジェクトを中間データ
記憶部33へ送り出した後で、入力されたオブジェクト
を出力オブジェクトバッファ364に書き込む処理を行
う。出力オブジェクトバッファ364は、オブジェクト
データを入力して格納する。オブジェクトデータを入力
して格納するオブジェクトの個数は、展開処理部4の再
構成可能展開部40で、並列処理可能な最大オブジェク
ト数以上であれば、バンドやページなどのより大きい単
位であってもよい。このように順番に、並列処理判定部
36が出力するデータは、中間データ記憶部33へ送ら
れる。
Ldx0 = min (ldx0, ldx1), ldy0 =
min (ldy0, ldy1), rux0 = max (rux0, rux1), ruy0 =
max (ruy0, ruy1) The determination result thus determined is sent to the configuration data adding unit 363. The configuration data adding unit 363 determines the result of the determination and the object ID of the input object.
In the case where the judgment result indicates that there is no overlap, the expansion processing unit 4 can be reconfigured from the object ID of the previously input object stored in the output object buffer 364 and the object ID of the input object. If the combination is a combination that can be processed in parallel by the expansion unit 40, the input object is additionally written into the output object buffer 364. If the combination cannot be processed in parallel by the reconfigurable expansion unit 40 of the expansion processing unit 4, the parallel processing configuration data for the previously input object group stored in the output object buffer 364 is added. Then, after sending the object stored in the output object buffer 364 to the intermediate data storage unit 33, the input object is written to the output object buffer 364, and the circumscribed rectangle of the input object is input to the overlap determination unit 362. Then, the data of the circumscribed rectangle and the band ID are sent so that the held circumscribed rectangle is reset. If the determination result indicates that there is overlap, the output object buffer 364 is output.
After adding the configuration data of the parallel processing to the previously input object group stored in the output object buffer 364 and sending out the object stored in the output object buffer 364 to the intermediate data storage unit 33, the input object is output. A process for writing to the object buffer 364 is performed. The output object buffer 364 inputs and stores object data. If the number of objects to be input and stored is equal to or more than the maximum number of objects that can be processed in parallel in the reconfigurable expansion unit 40 of the expansion processing unit 4, even if the number of objects is larger, such as a band or a page. Good. In this way, the data output from the parallel processing determination unit 36 is sequentially sent to the intermediate data storage unit 33.

【0178】展開処理部4以降については、実施例1と
同じであるので説明を省略する。
[0178] The processing after the expansion processing section 4 is the same as that of the first embodiment, and therefore the description is omitted.

【0179】以上で本発明の実施例の説明を終了する。
なお、本発明は上述の実施例に限定されるものではな
く、その趣旨を逸脱しない範囲で種々変更することが可
能である。例えば、再構成ハードウェア部46は図20
に示すように、FPGAにより構成したが、複数の演算
処理装置(算術論理演算ユニット)を設け、各演算処理
装置の入出力のフローを切り替え装置で制御するように
してもよい。この場合、例えば図21の論理ブロック4
621として演算処理装置を配置すればよい。また、ク
ロスポイントスイッチ4622やスイッチマトリックス
4623のかわりに単純なゲートを用いるようにしても
よい。
The description of the embodiment of the present invention has been completed.
Note that the present invention is not limited to the above-described embodiment, and can be variously changed without departing from the gist of the present invention. For example, the reconfiguration hardware unit 46 is configured as shown in FIG.
As shown in (1), the configuration is made of an FPGA, but a plurality of arithmetic processing units (arithmetic and logical operation units) may be provided, and the input / output flow of each arithmetic processing unit may be controlled by the switching device. In this case, for example, the logical block 4 in FIG.
An arithmetic processing unit may be arranged as 621. Further, a simple gate may be used instead of the cross point switch 4622 or the switch matrix 4623.

【0180】[0180]

【発明の効果】以上説明したように本発明では、文字、
図形、画像の描画要素のいずれかを有し、所定の描画命
令で記述された印刷データを入力して、出力装置に出力
する印刷処理装置において、出力装置に出力するための
展開処理を再構成ハードウエアを使って行うことによ
り、必要なハードウエア量を減らすことができるととも
に、処理対象の印刷データに応じて最適なハードウェア
構成を採用する等して、スループットを向上させること
ができる。例えば、印刷データに含まれる描画要素の重
なりを判定して、判定情報と上記印刷データの内容とを
基に、印刷データの描画要素を並び換えることによっ
て、再構成ハードウェア手段を並列動作させることと、
再構成ハードウェア手段の構成の変更回数を少なくする
ことで、再構成ハードウェア手段による展開処理を高速
化することが可能になる。
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 the throughput can be improved by adopting an optimum hardware configuration according to the print data to be processed. For example, judging the overlap of drawing elements included in the print data, and rearranging the drawing elements of the print data based on the determination information and the contents of the print data, thereby causing the reconfiguration hardware means to operate in parallel. When,
By reducing the number of changes in the configuration of the reconfigurable hardware means, it is possible to speed up the expansion processing by the reconfigurable hardware means.

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

【図1】 本発明の第1の実施例を示すブロック図であ
る。
FIG. 1 is a block diagram showing a first 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 illustrating a data structure generated by an intermediate data order control unit.

【図11】 中間データ順序制御部を示すブロック図で
ある。
FIG. 11 is a block diagram illustrating an intermediate data order control unit.

【図12】 バンド領域における描画オブジェクトの重
なりを示す図である。
FIG. 12 is a diagram illustrating overlapping of drawing objects in a band area.

【図13】 最適化テーブルの例を示す図である。FIG. 13 is a diagram illustrating an example of an optimization table.

【図14】 構成データ選択部が構成データを選択する
手順を示すフローチャートである。
FIG. 14 is a flowchart illustrating a procedure in which a configuration data selection unit selects configuration data.

【図15】 ハードウェア構成IDの候補の例を示す図
である。
FIG. 15 illustrates an example of a candidate for a hardware configuration ID.

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

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

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

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

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

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

【図22】 図21の論理ブロックを説明する図であ
る。
FIG. 22 is a diagram for explaining the logical block in FIG. 21;

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

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

【図25】 ハードウェア構成IDがXの場合の再構成
ハードウェア部の構成を示す図である。
FIG. 25 is a diagram illustrating a configuration of a reconfiguration hardware unit when a hardware configuration ID is X;

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

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

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

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

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

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

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

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

【図34】 展開処理部をアクセラレータとして利用す
る場合の変換処理部と展開処理部の関係を示す図であ
る。
FIG. 34 is a diagram illustrating a relationship between the conversion processing unit and the expansion processing unit when the expansion processing unit is used as an accelerator.

【図35】 再構成ハードウェア部を部分的に書き換え
る場合に再構成制御部が行なう制御の手順を示すフロー
チャートである。
FIG. 35 is a flowchart illustrating a control procedure performed by the reconfiguration control unit when partially rewriting the reconfiguration hardware unit;

【図36】 本発明の第2の実施例を示すブロック図で
ある。
FIG. 36 is a block diagram showing a second embodiment of the present invention.

【図37】 中間データ最適化部34の構成の一例を示
す。
FIG. 37 shows an example of the configuration of the intermediate data optimization section 34.

【図38】 区分中間データ最適化部327の構成の一
例を示す。
FIG. 38 shows an example of the configuration of a sectioned intermediate data optimization section 327.

【図39】 出力バッファ3273の構成の一例を示
す。
FIG. 39 illustrates an example of a configuration of an output buffer 3273.

【図40】 実施例2における外接矩形の重なりの態様
を示す。
FIG. 40 illustrates an aspect of overlapping circumscribed rectangles in the second embodiment.

【図41】 実施例2における処理種別の同一性による
外接矩形の重なりの態様を示す。
FIG. 41 illustrates a mode of overlapping circumscribed rectangles based on the same processing type according to the second embodiment.

【図42】 中間データ最適化の処理手順を示す。FIG. 42 shows a processing procedure of intermediate data optimization.

【図43】 処理種別の同一性の判定におけるラッチ処
理部3271と外接矩形重なり判定部3272との様子
を示す。
FIG. 43 shows how a latch processing unit 3271 and a circumscribed rectangle overlap determination unit 3272 determine the identity of processing types.

【図44】 外接矩形集合記憶部のビットマップ更新処
理の様子を示す。
FIG. 44 shows a state of a bitmap update process of the circumscribed rectangle set storage unit.

【図45】 外接矩形集合記憶部3274の構成の一例
を示す。
FIG. 45 illustrates an example of a configuration of a circumscribed rectangle set storage unit 3274.

【図46】 出力バッファ3273の構成の一例を示
す。
FIG. 46 illustrates an example of a configuration of an output buffer 3273.

【図47】 第2の中間データ最適化の処理手順を示
す。
FIG. 47 shows a processing procedure of second intermediate data optimization.

【図48】 外接矩形の重なりによる層の様子を示す。FIG. 48 shows a state of layers formed by overlapping circumscribed rectangles.

【図49】 オブジェクトのリスト追加処理の様子を示
す。
FIG. 49 shows an object list adding process.

【図50】 図47におけるオブジェクトのリスト挿入
処理手順の詳細を示す。
50 shows details of the object list insertion processing procedure in FIG. 47.

【図51】 外接矩形頂点座標の更新前後の様子を示
す。
FIG. 51 shows a state before and after updating the circumscribed rectangular vertex coordinates.

【図52】 オブジェクトのリスト挿入処理の様子を示
す。
FIG. 52 shows an object list insertion process.

【図53】 中間データ再構成部35の構成の一例を示
す。
FIG. 53 shows an example of the configuration of an intermediate data reconstruction unit 35.

【図54】 中間データ再構成の処理手順について示
す。
FIG. 54 shows a processing procedure of intermediate data reconstruction.

【図55】 区分中間データ再構成部332の構成の一
例を示す。
FIG. 55 shows an example of the configuration of a sectioned intermediate data reconstruction unit 332.

【図56】 バンド毎の中間データ再構成の処理手順に
ついて示す。
FIG. 56 shows a processing procedure of intermediate data reconstruction for each band.

【図57】 台形データの重なり除去処理手順について
示す。
FIG. 57 shows a trapezoidal data overlap removal processing procedure.

【図58】 台形データの重なり除去処理前後の様子を
示す。
FIG. 58 shows a state before and after a trapezoidal data overlap removal process.

【図59】 本発明の第3の実施例を示すブロック図で
ある。
FIG. 59 is a block diagram showing a third embodiment of the present invention.

【図60】 並列処理判定部を示すブロック図である。FIG. 60 is a block diagram illustrating a parallel processing determination unit.

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

1 印刷データ作成部 2 印刷データ入力部 3 変換処理部 4 展開処理部 5 出力部 30 字句解析部 31 中間データ生成部 310 トークン解釈部 311 命令実行部 312 画像処理部 313 描画状態記憶部 314 ベクターデータ生成部 315 フォント管理部 316 マトリックス変換部 317 ショートベクター生成部 318 台形データ生成部 319 バンド分解管理部 32 中間データ順序制御部 321 オブジェクトバッファ 322 描画順序依存検出部 323 最適化テーブル作成部 324 構成データ選択部 325 リオーダ部 326 バンド番号判定部 327 区分中間データ最適化部 3271 ラッチ処理部 3272 外接矩形重なり判定部 3273 出力バッファ 3274 外接矩形集合記憶部、 33 中間データ記憶部 3321 中間データ転送部 3322 入力バンドバッファ 3323 フェッチ処理部 3324 台形重なり判定部 3325 台形データ再分割部 3326 出力バンドバッファ 34 中間データ最適化部 35 中間データ再構成部 36 並列処理判定部 361 入力オブジェクトバッファ 362 重なり判定部 363 構成データ付加部 364 出力オブジェクトバッファ 40 再構成可能展開部 41 再構成制御部 410 メモリ部 411 構成コード記憶領域 412 制御部 413 読み出し制御部 414 追加・更新部 415 変換テーブル 42 構成データ管理部 420 入力バッファA 421 入力バッファB 422 バンドバッファA 423 バンドバッファB 424 ワーク領域 43 中間データ転送制御部 44 印字データ転送制御部 45 アービトレーション部 46 再構成ハードウェア部 460、460−1、460−2 Code A処理
回路 461 台形描画回路 462 スクリーン処理回路 463 中間データ入力部 464 座標計算部A 465 座標計算部B 466 エッジ描画部 467 DDAパラメータ計算部 468 DDA処理部 469 座標更新部 47 リフレッシュ制御部 470 アドレス計算部 471 マスク演算部 472 データ演算部 473 RmodW処理部 480、480−1、480−2、480−3 Co
de G処理回路 481 画像伸張回路 481−1 中間データ入力部 481−2 ハフマン複号化部 481−3 逆量子化部 481−4 逆DCT部 481−5 書き込み部 482 解像度変換回路 482−1 画素データ入力部 482−2 補間処理部 482−3 画素アドレス計算部 482−4 書き込み部 483 色変換回路 483−1 画素データ入力部 483−2 テーブル変換部 483−3 補間処理部 483−4 書き込み部 484 台形描画回路 485 スクリーン処理回路 50 ビデオインターフェース 51 半導体レーザ走査装置 510 ポリゴンミラー 511 レンズ 52 感光体ドラム 53 帯電器 54 ロータリー現像器 55 転写ドラム 56 クリーナー 57 定着器 58 用紙の搬送経路 900 バンド領域 901 図形オブジェクト 902 画像オブジェクト 902 図形オブジェクト 903 画像オブジェクト
DESCRIPTION OF SYMBOLS 1 Print data creation part 2 Print data input part 3 Conversion processing part 4 Expansion processing part 5 Output part 30 Lexical analysis part 31 Intermediate data generation part 310 Token interpretation part 311 Command execution part 312 Image processing part 313 Drawing state storage part 314 Vector data Generation unit 315 Font management unit 316 Matrix conversion unit 317 Short vector generation unit 318 Trapezoidal data generation unit 319 Band decomposition management unit 32 Intermediate data order control unit 321 Object buffer 322 Drawing order dependence detection unit 323 Optimization table creation unit 324 Configuration data selection Section 325 reorder section 326 band number determination section 327 section intermediate data optimization section 3271 latch processing section 3272 circumscribed rectangle overlap determination section 3273 output buffer 3274 circumscribed rectangle set storage section, 33 intermediate data storage section 332 Intermediate data transfer unit 3322 Input band buffer 3323 Fetch processing unit 3324 Trapezoid overlap determination unit 3325 Trapezoid data subdivision unit 3326 Output band buffer 34 Intermediate data optimization unit 35 Intermediate data reconstruction unit 36 Parallel processing determination unit 361 Input object buffer 362 Overlap Judgment unit 363 Configuration data addition unit 364 Output object buffer 40 Reconfigurable development unit 41 Reconfiguration control unit 410 Memory unit 411 Configuration code storage area 412 Control unit 413 Read control unit 414 Addition / update unit 415 Conversion table 42 Configuration data management unit 420 input buffer A 421 input buffer B 422 band buffer A 423 band buffer B 424 work area 43 intermediate data transfer control unit 44 print data transfer control unit 45 arbitrage Section 46 Reconstruction hardware section 460, 460-1, 460-2 Code A processing circuit 461 Trapezoid drawing circuit 462 Screen processing circuit 463 Intermediate data input section 464 Coordinate calculation section A 465 Coordinate calculation section B 466 Edge drawing section 467 DDA Parameter calculation section 468 DDA processing section 469 Coordinate update section 47 Refresh control section 470 Address calculation section 471 Mask calculation section 472 Data calculation section 473 RmodW processing section 480, 480-1, 480-2, 480-3 Co
de G processing circuit 481 Image decompression circuit 481-1 Intermediate data input section 481-2 Huffman decoding section 481-3 Inverse quantization section 481-4 Inverse DCT section 481-5 Writing section 482 Resolution conversion circuit 482-1 Pixel data Input section 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 Trapezoid Drawing circuit 485 Screen processing circuit 50 Video interface 51 Semiconductor laser scanning device 510 Polygon mirror 511 Lens 52 Photoreceptor drum 53 Charger 54 Rotary developing device 55 Transfer drum 56 Cleaner 57 Fixing device 58 Paper transport path 900 Band area 901 Graphic object DOO 902 image object 902 graphic object 903 image object

フロントページの続き (72)発明者 長尾 隆 神奈川県足柄上郡中井町境430 グリー ンテクなかい 富士ゼロックス株式会社 内 (72)発明者 関 範顕 神奈川県足柄上郡中井町境430 グリー ンテクなかい 富士ゼロックス株式会社 内 (72)発明者 平田 和貴 神奈川県足柄上郡中井町境430 グリー ンテクなかい 富士ゼロックス株式会社 内 (72)発明者 和田 義則 神奈川県足柄上郡中井町境430 グリー ンテクなかい 富士ゼロックス株式会社 内 (72)発明者 石川 宏 神奈川県足柄上郡中井町境430 グリー ンテクなかい 富士ゼロックス株式会社 内 (56)参考文献 特開 平5−324930(JP,A) (58)調査した分野(Int.Cl.7,DB名) B41J 5/30 G06F 3/12 Continued on the front page (72) Inventor Takashi Nagao 430 Nakai-cho, Nakai-machi, Ashigarashimo-gun, Kanagawa Prefecture Inside Fuji Xerox Fuji Xerox Co., Ltd. 72) Inventor Kazuki Hirata, 430 Green Tech Nakai, Sakai-Nami, Kanagawa Prefecture Fuji Xerox Fuji Xerox Co., Ltd. (72) Inventor Yoshinori Wada 430 Green Tech Nakai, Sakai Nakagami-cho, Kanagawa Prefecture, Fuji Xerox Co., Ltd. 430 Nakai-cho, Nakai-machi, Ashigara-gun, Kanagawa Prefecture Green Tech Nakai Fuji Xerox Co., Ltd. (56) References JP-A-5-324930 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) B41J 5 / 30 G06F 3/12

Claims (20)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 少なくとも文字、図形、画像の描画要素
のいずれかを表す、所定の描画命令で記述された第1の
印刷データを、画像出力用データ構造の第2の印刷デー
タに展開し、上記第2の印刷データに基づいて画像出力
を行う印刷処理装置において、 複数の論理ブロックと上記複数の論理ブロックの入力デ
ータ及び出力データのフローを制御する切り替え手段と
を含む論理回路装置であって、上記論理ブロックの機能
及び上記切り替え手段の切り替え態様の少なくとも一方
を構成データに応じて設定可能であり論理回路構成
報に応じて上記構成データを変更して上記論理回路構成
情報に対応する論理回路構成で上記第1の印刷データを
上記第2の印刷データに展開する論理回路装置と、 上記第1の印刷データを入力する入力手段と、 上記入力手段に入力された第1の印刷データに含まれる
描画要素の重なりを判定する判定手段と、 少なくとも上記判定手段の判定情報と上記入力手段に入
力された第1の印刷データの内容とに基づいて、上記入
力手段に入力された第1の印刷データの描画要素を並び
換え、さらに上記論理回路構成情報を含む所定形式の印
刷データに変換して上記論理回路装置に供給する変換手
段と、 上記論理回路装置で展開された第2の印刷データに基づ
いて画像を出力する出力手段とを備え、 上記論理回路装置は上記所定形式の印刷データに含まれ
る論理回路構成情報に対応する論理回路構成で上記所定
形式の印刷データを上記第2の印刷データに展開するこ
とを特徴とする 印刷処理装置。
1. Developing first print data described by a predetermined drawing command, which represents at least one of a character, a graphic, and an image drawing element, into second print data of an image output data structure; in the print processing apparatus that performs image output based on the second print data, a logic circuit device including a switching means for controlling the flow of input data and output data of a plurality of logical blocks and the plurality of logical blocks , can be set according to at least one configuration data switching aspects of the function and the switching means of the logic blocks, said logic circuitry to change the configuration data according to the logic circuit configuration information <br/> paper a logic circuit device for expanding the first print data into the second print data with a logic circuit configuration corresponding to information; and an input means for inputting the first print data. A step, a judging means for judging an overlap of drawing elements included in the first print data inputted to the input means, and at least judgment information of the judging means and the first print data inputted to the input means. Based on the contents, the drawing elements of the first print data input to the input means are rearranged, and further converted into print data of a predetermined format including the logic circuit configuration information and supplied to the logic circuit device. e Bei means, and output means for outputting an image based on the second print data developed by the logic device, the logic device is contained in the print data of the predetermined format
The logic circuit configuration corresponding to the logic circuit configuration information
Format print data into the second print data.
And a print processing apparatus.
【請求項2】 上記変換手段における描画要素の並び換
えは、上記論理回路装置により並列に展開可能な描画要
素が連続するように行われることを特徴とする請求項1
記載の印刷処理装置。
2. The rearrangement of drawing elements in the conversion means is performed so that drawing elements which can be developed in parallel by the logic circuit device are continuous.
The print processing apparatus according to the above.
【請求項3】 上記論理回路装置による並列な展開は、
同一または異なる機能ブロックを複数個含むように設定
された論理回路構成により行われることを特徴とする請
求項2記載の印刷処理装置。
3. The parallel development by the logic circuit device is as follows.
3. The print processing apparatus according to claim 2, wherein the print processing is performed by a logical circuit configuration set to include a plurality of the same or different functional blocks.
【請求項4】 上記変換手段における描画要素の並び換
えは、上記論理回路装置の上記構成データの変更回数が
減少するように行われることを特徴とする請求項1、2
または3記載の印刷処理装置。
4. The method according to claim 1, wherein the rearrangement of the drawing elements in the conversion unit is performed so that the number of times of changing the configuration data of the logic circuit device is reduced.
Or the print processing apparatus according to 3.
【請求項5】 上記変換手段は、上記判定手段により重
なり有りと判定された描画要素間の順序の並び換えを行
わないことを特徴とする請求項1、2、3または4記載
の印刷処理装置。
5. The print processing apparatus according to claim 1, wherein the conversion unit does not rearrange the order of the drawing elements determined to be overlapped by the determination unit. .
【請求項6】 上記判定手段は、上記描画要素を包含す
る外接矩形を用いて重なりを判定することを特徴とする
請求項5記載の印刷処理装置。
6. The print processing apparatus according to claim 5, wherein the determination unit determines the overlap using a circumscribed rectangle including the drawing element.
【請求項7】 上記変換手段は、上記判定手段により重
なり有りと判定された描画要素間の重なりを除去してか
ら順序の並び換えを行うことを特徴とする請求項1、
2、3または4記載の印刷処理装置。
7. The method according to claim 1, wherein said converting means removes an overlap between the drawing elements determined to have an overlap by said determining means, and then rearranges the order.
5. The print processing apparatus according to 2, 3, or 4.
【請求項8】 上記描画要素の並び換えは、ページ毎ま
たは複数スキャンライン単位にページを分割したバンド
毎に行われることを特徴とする請求項1、2、3、4、
5、6または7記載の印刷処理装置。
8. The method according to claim 1, wherein the reordering of the drawing elements is performed for each page or for each band obtained by dividing the page into a plurality of scan lines.
The print processing apparatus according to 5, 6, or 7.
【請求項9】 上記論理回路装置は、論理回路構成を全
部または部分的に変更可能であることを特徴とする請求
項1記載の印刷処理装置。
9. The print processing apparatus according to claim 1, wherein the logic circuit device can change the configuration of the logic circuit entirely or partially.
【請求項10】 上記論理回路装置は、相前後して入力
される上記所定形式の印刷データにそれぞれ含まれる上
論理回路構成情報が同一の場合に、上記構成データの
変更を省略することを特徴とする請求項1記載の印刷処
理装置。
10. The logic circuit device according to claim 1, wherein the change of the configuration data is omitted when the logic circuit configuration information included in the print data of the predetermined format inputted one after another is the same. The print processing apparatus according to claim 1.
【請求項11】 上記論理回路装置は、少なくともフィ
ールドプログラマブルゲートアレイを含むことを特徴と
する請求項1記載の印刷処理装置。
11. The print processing apparatus according to claim 1, wherein the logic circuit device includes at least a field programmable gate array.
【請求項12】 上記論理回路装置は、複数の演算処理
装置と、上記複数の演算処理装置の入力データ及び出力
データのフローを切り替える切り替え手段とを具備する
請求項1記載の印刷処理装置。
12. The print processing apparatus according to claim 1, wherein the logic circuit device includes a plurality of arithmetic processing devices, and switching means for switching a flow of input data and an output data of the plurality of arithmetic processing devices.
【請求項13】 上記変換手段が、複数の論理ブロック
と上記複数の論理ブロックの入力データ及び出力データ
のフローを制御する切り替え手段とを含み、上記論理ブ
ロックの機能及び上記切り替え手段の切り替え態様の少
なくとも一方を構成データに応じて設定可能な論理回路
装置を具備し、上記変換手段の処理の少なくとも一部を
上記変換手段中の上記論理回路装置で実行することを特
徴とする請求項1記載の印刷処理装置。
13. The conversion means, and a switching means for controlling the flow of input data and output data of a plurality of logical blocks <br/> and the plurality of logical blocks, the logical Bed
Logic circuit capable of setting at least one of a lock function and a switching mode of the switching unit according to configuration data
2. The print processing apparatus according to claim 1, further comprising an apparatus , wherein at least a part of the processing of the conversion unit is executed by the logic circuit device in the conversion unit.
【請求項14】 上記論理回路装置は、複数の機能ブロ
ックをパイプライン動作させて展開を行うように設定さ
れることを特徴とする請求項1記載の印刷処理装置。
14. The print processing apparatus according to claim 1, wherein the logic circuit device is set so that a plurality of functional blocks are expanded by performing a pipeline operation.
【請求項15】 少なくとも文字、図形、画像の描画要
素のいずれかを表す、所定の描画命令で記述された第1
の印刷データを、画像出力用データ構造の第2の印刷デ
ータに展開し、上記第2の印刷データに基づいて画像出
力を行う印刷処理装置において、 複数の論理ブロックと上記複数の論理ブロックの入力デ
ータ及び出力データのフローを制御する切り替え手段と
含む論理回路装置であって、上記論理ブロックの機能
及び上記切り替え手段の切り替え態様の少なくとも一方
を構成データに応じて設定可能であり論理回路構成
報に応じて上記構成データを変更して上記論理回路構成
情報に対応する論理回路構成で上記第1の印刷データを
上記第2の印刷データに展開する論理回路装置と、 上記第1の印刷データを入力する入力手段と、 上記入力手段に入力された第1の印刷データに含まれる
描画要素の重なりを判定する判定手段と、 少なくとも上記判定手段の判定情報と上記入力手段に入
力された第1の印刷データの内容とに基づいて、上記入
力手段に入力された第1の印刷データを、上記論理回路
構成情報を含む所定形式の印刷データに変換して上記
理回路装置に供給する変換手段と、 上記論理回路装置で展開された第2の印刷データに基づ
いて画像を出力する出力手段とを備え、 上記論理回路装置は上記所定形式の印刷データに含まれ
る論理回路構成情報に対応する論理回路構成で上記所定
形式の印刷データを上記第2の印刷データに展開するこ
とを特徴とする 印刷処理装置。
15. A first description described by a predetermined drawing command, which represents at least one of a drawing element of a character, a graphic, and an image.
The print data expanded into the second print data of the image output data structure, the print processing apparatus that performs image output based on the second print data, input of a plurality of logical blocks and the plurality of logical blocks a logic circuit device comprising a switching means for controlling the data and flow of output data, can be set according to at least one configuration data switching aspects of the function and the switching means of said logic block, logic circuitry logic for developing the first print data to the second print data in the logic circuit configuration corresponding to the logic circuitry <br/> information by changing the configuration data in response to information <br/> report a device, input means for inputting the first print data, judging means for judging overlap of drawing elements included in the first print data input to the input means, Based on the content of the first print data input to the determination information and said input means of said determination means even without, the first print data input to the input means, said logic circuit
The theory is converted into print data of a predetermined format containing the configuration information
E Bei converting means for supplying sense circuit device, and output means for outputting an image based on the second print data developed by the logic device, the logic device is contained in the print data of the predetermined format Re
The logic circuit configuration corresponding to the logic circuit configuration information
Format print data into the second print data.
And a print processing apparatus.
【請求項16】 上記変換手段は、上記判定手段により
重なりなしと判定された連続する複数の描画要素を含む
印刷データを、上記複数の描画要素を並列に展開する
理回路構成を特定する論理回路構成情報を含む形式に変
換することを特徴とする請求項15記載の印刷処理装
置。
16. The conversion means, logical to expand the print data including a plurality of drawing elements successive it is determined that there is no overlap by the determining means, the plurality of drawing elements in parallel
Print processing apparatus according to claim 15, wherein the converting the format including logic circuitry information specifying the physical circuit configuration.
【請求項17】 上記描画要素の並列な展開は、同一ま
たは異なる機能ブロックを複数個含む論理回路構成によ
り行われることを特徴とする請求項16記載の印刷処理
装置。
17. The print processing apparatus according to claim 16, wherein the parallel development of the drawing elements is performed by a logic circuit configuration including a plurality of the same or different functional blocks.
【請求項18】 少なくとも文字、図形、画像の描画要
素のいずれかを表す、所定の描画命令で記述された第1
の印刷データを、画像出力用データ構造の第2の印刷デ
ータに展開し、上記第2の印刷データに基づいて画像出
力を行う印刷処理装置において、 複数の論理ブロックと上記複数の論理ブロックの入力デ
ータ及び出力データのフローを制御する切り替え手段と
を含む論理回路装置であって、上記論理ブロックの機能
及び上記切り替え手段の切り替え態様の少なくとも一方
を構成データに応じて設定可能であり論理回路構成
報に応じて上記構成データを変更して上記論理回路構成
情報に対応する論理回路構成で上記第1の印刷データを
上記第2の印刷データに展開する論理回路装置と、 上記第1の印刷データを入力する入力手段と、 上記入力手段に入力された第1の印刷データを、上記第
1の印刷データの内容に対応する論理回路構成情報を含
む所定形式の印刷データに変換して上記論理回路装置
供給する変換手段と、 上記論理回路装置で展開された第2の印刷データに基づ
いて画像を出力する出力手段とを備え、 上記論理回路装置は上記所定形式の印刷データに含まれ
る論理回路構成情報に対応する論理回路構成で上記所定
形式の印刷データを上記第2の印刷データに展開し、 上記変換手段は上記論理回路装置により並列に展開可能
な描画要素が連続するように上記描画要素を並び換える
ことを特徴とする 印刷処理装置。
18. A first method which is described by a predetermined drawing command and represents at least one of a character, a figure, and a drawing element of an image.
The print data expanded into the second print data of the image output data structure, the print processing apparatus that performs image output based on the second print data, input of a plurality of logical blocks and the plurality of logical blocks and switching means for controlling the data and flow of output data a including logic device, it can be set according to at least one configuration data switching aspects of the function and the switching means of said logic block, logic circuit logic for developing the first print data in a logic circuit configuration corresponding to the logic circuitry <br/> information by changing the configuration data in accordance with the configuration information <br/> report to the second print data A circuit device ; input means for inputting the first print data; and a logic circuit structure corresponding to the content of the first print data. E Bei converting means supplied to the logic circuit unit converts the print data of a predetermined format including forming information, and output means for outputting an image based on the second print data developed by the logic circuit the logic device is included in the print data of the predetermined format
The logic circuit configuration corresponding to the logic circuit configuration information
Format print data is expanded into the second print data, and the conversion means can be expanded in parallel by the logic circuit device
Rearrange the above drawing elements so that various drawing elements are continuous
A print processing apparatus characterized by the above-mentioned .
【請求項19】 少なくとも文字、図形、画像の描画要19. A method for drawing at least characters, figures, and images.
素のいずれかを表す、所定の描画命令で記述された第1A first one described by a predetermined drawing command
の印刷データを、画像出力用データ構造の第Print data of the image output data structure 2の印刷デ2 printing data
ータに展開し、上記第2の印刷データに基づいて画像出Data based on the second print data.
力を行う印刷処理装置において、In a print processing device that performs force, 複数の論理ブロックと上記複数の論理ブロックの入力デInput data of multiple logical blocks and the multiple logical blocks
ータ及び出力データのフローを制御する切り替え手段とSwitching means for controlling the flow of data and output data;
を含む論理回路装置であって、上記論理ブロックの機能A logic circuit device including the function of the logic block
及び上記切り替え手段の切り替え態様の少なくとも一方And at least one of the switching modes of the switching means.
を構成データに応じて設定可能であり、論理回路構成情Can be set according to the configuration data.
報に応じて上記構成データを変更して上記論理回路構成The above configuration data is changed according to the
情報に対応する論理回路構成で上記第1の印刷データをThe first print data is stored in a logic circuit configuration corresponding to the information.
上記第2の印刷データに展開する論理回路装置と、A logic circuit device for developing the second print data; 上記第1の印刷データを入力する入力手段と、Input means for inputting the first print data; 上記入力手段に入力された第1の印刷データを、上記第The first print data input to the input means is
1の印刷データの内容に対応する論理回路構成情報を含1 includes the logic circuit configuration information corresponding to the content of the print data.
む所定形式の印刷データに変換して上記論理回路装置にAnd converts it to print data of a predetermined format and
供給する変換手段と、Converting means for supplying; 上記論理回路装置で展開された第2の印刷データに基づBased on the second print data developed by the logic circuit device,
いて画像を出力する出力手段とを備え、Output means for outputting an image 上記論理回路装置は上記所定形式の印刷データに含まれThe logic circuit device is included in the print data of the predetermined format.
る論理回路構成情報に対応する論理回路構成で上記所定The logic circuit configuration corresponding to the logic circuit configuration information
形式の印刷データを上記第2の印刷データに展開し、Format print data into the second print data, 上記変換手段は同じ種類の描画要素が連続するように上The above-mentioned conversion means is used so that drawing elements of the same type are
記描画要素を並び換えることを特徴とする印刷処理装Print processing apparatus for rearranging drawing elements
置。Place.
【請求項20】 上記変換手段は、上記論理回路構成
報に応じて、上記変換データ中の上記論理回路構成情報
を省略することを特徴とする請求項18記載の印刷処理
装置。
20. The conversion means, in response to the logic circuit configuration information <br/> paper, print processing apparatus according to claim 18, wherein omitting the logic circuit configuration information in the converted data .
JP09082699A 1997-04-01 1997-04-01 Print processing device Expired - Fee Related JP3125863B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP09082699A JP3125863B2 (en) 1997-04-01 1997-04-01 Print processing device
US09/050,361 US6219149B1 (en) 1997-04-01 1998-03-31 Print processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09082699A JP3125863B2 (en) 1997-04-01 1997-04-01 Print processing device

Publications (2)

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

Family

ID=13781663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09082699A Expired - Fee Related JP3125863B2 (en) 1997-04-01 1997-04-01 Print processing device

Country Status (1)

Country Link
JP (1) JP3125863B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010162745A (en) * 2009-01-14 2010-07-29 Canon Inc Image forming device, and control method therefor

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1351154A2 (en) * 1998-11-20 2003-10-08 Altera Corporation Reconfigurable programmable logic device computer system
JP4586509B2 (en) * 2003-12-26 2010-11-24 セイコーエプソン株式会社 Hardware function variable printing apparatus, hardware function variable printing system, printing apparatus management program, and hardware function variable printing method
JP4580697B2 (en) * 2004-06-23 2010-11-17 株式会社リコー Print processing system, program, and recording medium
US8237962B2 (en) * 2008-12-10 2012-08-07 Xerox Corporation Throughput estimate based upon document complexity analysis
JP6160317B2 (en) * 2013-07-09 2017-07-12 富士ゼロックス株式会社 Image processing apparatus and program
JP6379757B2 (en) * 2014-07-08 2018-08-29 富士ゼロックス株式会社 Image processing apparatus and image forming apparatus
JP6575216B2 (en) 2015-08-14 2019-09-18 富士ゼロックス株式会社 Image processing apparatus, image forming apparatus, and image processing program
JP6885640B1 (en) * 2020-10-01 2021-06-16 株式会社ラムダシステムズ Image processing device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010162745A (en) * 2009-01-14 2010-07-29 Canon Inc Image forming device, and control method therefor

Also Published As

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

Similar Documents

Publication Publication Date Title
US6219149B1 (en) Print processing apparatus
US7436531B2 (en) Systems and methods for using multiple processors for imaging
JP2003216361A (en) Printing system and printing device
JP3125863B2 (en) Print processing device
JP3834935B2 (en) Print processing device
JPH09185721A (en) Image forming device
JP6135329B2 (en) Print data processing apparatus, program, and system
JP3871011B2 (en) Information processing apparatus and information processing method
JP3885282B2 (en) Print data processing apparatus and print data processing method
JP3640133B2 (en) Print processing device
JPH11165434A (en) Lithography processing device
JPH10151815A (en) Printing-processing apparatus
JPH111032A (en) Printing-processing apparatus
JP4103164B2 (en) Print processing device
JPH11105371A (en) Print processor
JP2000013601A (en) Print information processor and device and method for generating intermediate data
JP2000255116A (en) Apparatus for processing printing and method for processing printing
JP3755265B2 (en) Print processing device
JP3700363B2 (en) Print processing device
JPH10157217A (en) Printing-processing apparatus
JPH11144062A (en) Printing processor
JP2000255121A (en) Printing processing apparatus and method
JPH11119930A (en) Printing processor and printing processing method
JPH11235849A (en) Image processing device, data processing method thereof, and storage medium storing program readable by computer
JP2002237952A (en) Imaging device, imaging system, coding control method and storage medium

Legal Events

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