JP2006031160A - Graphic object processing method - Google Patents

Graphic object processing method Download PDF

Info

Publication number
JP2006031160A
JP2006031160A JP2004205954A JP2004205954A JP2006031160A JP 2006031160 A JP2006031160 A JP 2006031160A JP 2004205954 A JP2004205954 A JP 2004205954A JP 2004205954 A JP2004205954 A JP 2004205954A JP 2006031160 A JP2006031160 A JP 2006031160A
Authority
JP
Japan
Prior art keywords
processing
flag
graphic object
processing means
display list
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.)
Withdrawn
Application number
JP2004205954A
Other languages
Japanese (ja)
Inventor
Takayuki Nagashima
孝幸 長島
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004205954A priority Critical patent/JP2006031160A/en
Publication of JP2006031160A publication Critical patent/JP2006031160A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To suppress the deterioration of a processing speed to be caused by pipeline stall due to processing concentration on an arbitrary module or function in a rendering device configured by the pipeline connection of respective exclusive hardware for side processing, active object determination, in-span pixel value determination and final pixel value determination. <P>SOLUTION: An arbitration algorithm at the time of bus access by respective modules configuring a pipeline is changed according to load relations between those respective modules so as to prevent or reduce stall, or to reduce the influence of stall. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、オブジェクト・グラフィック要素のラスタ画素画像へのレンダリング装置に関し、具体的には、レンダリング処理の一部としての画素データのフレーム記憶装置またはライン記憶装置を使用しない、そのようなオブジェクト・グラフィック要素の画素画像データへの効率的なレンダリングを行うレンダリング装置に関する。   The present invention relates to an apparatus for rendering object graphic elements into a raster pixel image, and in particular, such object graphics that do not use frame or line storage of pixel data as part of the rendering process. The present invention relates to a rendering apparatus that performs efficient rendering on pixel image data of elements.

ほとんどのオブジェクト・ベース・グラフィックス・システムでは、ページまたは画面の画素ベース画像を保持するためにフレーム・ストアまたはページ・バッファが使用される。通常、グラフィック・オブジェクトの輪郭は、計算され、塗り潰され、フレーム・ストアに書き込まれる。二次元グラフィックスの場合、他のオブジェクトの手前にあるオブジェクトは、単純に背景オブジェクトの書込み後にフレーム・ストアに書き込まれ、これによって、画素単位で背景を置換する。これは、当技術分野では、「ペインタのアルゴリズム(Painter’s algorithm)」として一般に知られている。オブジェクトは、最も奥のオブジェクトから最も手前のオブジェクトという優先順位で検討され、通常は、各オブジェクトが、スキャン・ラインの順序でラスタ化され、画素が、各スキャン・ラインに沿ったシーケンシャルな並びでフレーム・ストアに書き込まれる。   Most object-based graphics systems use a frame store or page buffer to hold a pixel-based image of the page or screen. Typically, the outline of a graphic object is calculated, filled and written to the frame store. In the case of two-dimensional graphics, the object in front of other objects is simply written to the frame store after the background object is written, thereby replacing the background on a pixel-by-pixel basis. This is commonly known in the art as “Paint's algorithm”. Objects are considered in order of priority, from the deepest object to the foremost object, usually with each object rasterized in scan line order, with pixels in a sequential sequence along each scan line. Written to the frame store.

この技法には、基本的に2つの問題がある。第1の問題は、フレーム・ストア内のすべての画素への高速なランダム・アクセスが必要であることである。これは、新たに検討されるオブジェクトのそれぞれが、フレーム・ストア内のどの画素にも影響する可能性があるからである。このため、フレーム・ストアは、通常は半導体のランダム・アクセス・メモリ(RAM)内に保持される。高解像度カラー・プリンタの場合、必要なRAMの量は非常に多くなり、通常は100Mバイトを超えるが、これは、コストがかかり、高速での動作が困難である。第2の問題は、多数の画素がペイント(レンダリング)され、時間的に後のオブジェクトによって上塗り(再レンダリング)されることである。時間的に前のオブジェクトによる画素のペイントは、時間の浪費になる。   There are basically two problems with this technique. The first problem is that fast random access to all pixels in the frame store is required. This is because each newly considered object can affect any pixel in the frame store. For this reason, the frame store is usually held in a semiconductor random access memory (RAM). For high resolution color printers, the amount of RAM required is very large, typically over 100 Mbytes, which is costly and difficult to operate at high speed. The second problem is that many pixels are painted (rendered) and overpainted (re-rendered) by objects later in time. Painting pixels with the previous object in time is time consuming.

大量のフレーム・ストアの問題を克服するための方法の1つが、「バンディング(banding)」の使用である。バンディングを使用する時には、一時にフレーム・ストアの一部だけがメモリ内に存在する。描画されるオブジェクトのすべてが、「表示リスト・ストア」に保存される。画像全体は上記と同様にレンダリングされるが、存在するフレーム・ストアの部分の外側をペイント(レンダリング)しようとする画素ペイント(レンダリング)動作は、「クリップ」アウトされる。オブジェクトのすべてが描画された後に、フレーム・ストアの部分を、プリンタ(または他の位置)に送り、フレーム・ストアの別の部分を選択し、この処理を繰り返す。この技法には、ペナルティが伴う。たとえば、描画されるオブジェクトは検討され、何度も(バンドごとに1回)再検討されなければならない。バンドの数が増えるにつれて、レンダリングが必要なオブジェクトの検査が繰り返されるし回数も増える。バンディングの技法は、上塗りのコストという問題を解決しない。   One way to overcome the large frame store problem is the use of “banding”. When using banding, only a portion of the frame store is in memory at a time. All of the objects to be drawn are saved in the “display list store”. The entire image is rendered in the same manner as above, but pixel painting (rendering) operations that attempt to paint (render) outside the existing portion of the frame store are “clipped” out. After all of the objects have been drawn, the portion of the frame store is sent to the printer (or other location), another portion of the frame store is selected, and this process is repeated. This technique comes with a penalty. For example, the object being drawn must be reviewed and re-examined many times (once per band). As the number of bands increases, the inspection of objects that need to be rendered is repeated and the number of times increases. Banding techniques do not solve the problem of overcoating costs.

いくつかの他のグラフィック・システムでは、スキャン・ラインの順で画像が検討される。やはり、描画されるオブジェクトのすべてが、表示リスト・ストアに保存される。各スキャン・ライン上で、そのスキャン・ラインと交差するオブジェクトが優先順位の順でオブジェクトごとに検討され、オブジェクトの辺の交差点の間の画素のスパンが、ライン・ストアにセットされる。この技法も、大量のフレーム・ストアの問題を克服するが、やはり上塗りの問題をこうむる。   In some other graphics systems, the images are examined in scan line order. Again, all of the drawn objects are saved in the display list store. On each scan line, the objects that intersect that scan line are considered for each object in order of priority, and the span of pixels between the intersections of the object's sides is set in the line store. This technique also overcomes the problem of large frame stores, but still suffers from overcoating problems.

これらのほかに、大きいフレーム・ストアの問題と上塗りの問題の両方を解決する技法がある。そのような技法の1つでは、各スキャン・ラインが順番に作られる。やはり、描画されるオブジェクトのすべてが、表示リスト・ストアに保存される。各スキャン・ラインでは、そのスキャン・ラインと交差するオブジェクトの辺が、スキャン・ラインとの交差の座標の昇順で保持される。これらの交差の点または辺の交点が、順番に検討され、アクティブ・フラグの配列のトグルに使用される。そのスキャン・ライン上での対象となるオブジェクト優先順位ごとに1つのアクティブ・フラグがある。検討される辺の対のそれぞれの間で、最初の辺と次の辺の間にある各画素の色データが、アクティブ・フラグに対する優先順位エンコーダを使用して、どの優先順位が最も上にあるかを判定すること、および2つの辺の間のスパンの画素に関するその優先順位に関連する色を使用することによって生成される。次のスキャン・ラインに備えて、各辺の交差の座標が、各辺の性質に応じて更新される。この更新の結果として誤ってソートされた状態になった隣接する辺は、交換される。新しい辺も、辺のリストに合併される。   Other than these, there are techniques that solve both the large frame store problem and the overcoat problem. In one such technique, each scan line is created in turn. Again, all of the drawn objects are saved in the display list store. In each scan line, the side of the object that intersects the scan line is held in ascending order of the coordinates of the intersection with the scan line. These intersection points or edge intersections are considered in turn and used to toggle the array of active flags. There is one active flag for each object priority of interest on that scan line. Between each of the edge pairs considered, the color data for each pixel between the first edge and the next edge is at the highest priority, using the priority encoder for the active flag And using the color associated with that priority for the pixels of the span between the two sides. In preparation for the next scan line, the coordinates of the intersection of each side are updated according to the nature of each side. Adjacent edges that are missorted as a result of this update are swapped. New sides are also merged into the list of sides.

この技法は、フレーム・ストアまたはライン・ストアがなく、上塗りがなく、位数N倍(このNは優先順位の数)ではなく定数位数の時間でオブジェクト優先順位が処理されるという大きい長所を有する。ただし、この技法は既存のグラフィック記述言語が必要とする多数の機能を実施できないので、その使用が極度に制限されている。   This technique has the great advantage that there is no frame store or line store, no overcoat, and object priority is processed in constant order times rather than N times the order (where N is the number of priorities). Have. However, this technique is extremely limited in its use because it cannot perform the many functions required by existing graphic description languages.

この技法に伴う1つ又は複数の欠陥を、実質的に克服するか、少なくとも改善する技法が提案されている(例えば、特許文献1参照)。   Techniques have been proposed that substantially overcome or at least improve one or more deficiencies associated with this technique (see, for example, US Pat.

この技法においても各スキャン・ラインが順番に作られる。まず描画される全てのオブジェクトが、それぞれのオブジェクトの描画が開始されるスキャン・ライン順にソートされて表示リスト・ストアに保存される。各スキャン・ラインでは、そのスキャン・ラインと交差するオブジェクトの辺が交差座標の昇順に保持され、これら辺交差の隣接する対のそれぞれについて、対応するオブジェクトに関連する情報を検査して、辺交差の対応する対の間の画素位置のスパンに関するアクティブ・オブジェクトの組を決定し、画素位置のスパンのそれぞれについて、アクティブ・オブジェクトの対応する組を使用して、スパン内の位置のそれぞれの値を決定する。
特開2000−149035号公報
In this technique, each scan line is created in turn. First, all objects to be drawn are sorted and stored in the display list store in the order of scan lines where drawing of each object is started. For each scan line, the sides of the object that intersect the scan line are maintained in ascending order of intersection coordinates, and for each adjacent pair of these side intersections, the information associated with the corresponding object is examined, and the side intersection Determine a set of active objects for a span of pixel positions between corresponding pairs of pixels, and for each of the spans of pixel positions, use the corresponding set of active objects to determine the value of each position in the span. decide.
JP 2000-149035 A

しかしながら、前述の技術を実施するにあたっては辺処理、アクティブ・オブジェクトの決定、スパン内の画素値の決定および複数アクティブ・オブジェクトの画素値から唯一の画素値の決定のそれぞれを専用ハードウェアによって実現し、それらのハードウェア接続してパイプラインを構成することによって実現するか、または全処理をソフトウェアによってホスト上に実現していた。この場合、ハードウェアによる実装においては、与えられた画素シーケンシャル・レンダリング装置のハードウェアによってある画像を描画する場合に、画像の特徴によっては任意のモジュールまたは機能に処理が集中し、パイプラインストールが発生し、処理速度が律速する可能性があった。   However, in implementing the above technique, edge processing, active object determination, determination of pixel values within a span, and determination of a single pixel value from the pixel values of multiple active objects are realized by dedicated hardware. It is realized by connecting the hardware to form a pipeline, or the entire processing is realized on the host by software. In this case, in hardware implementation, when a certain image is rendered by the hardware of a given pixel sequential rendering device, processing is concentrated on an arbitrary module or function depending on the characteristics of the image, and pipeline installation occurs. However, the processing speed may be limited.

本発明は前述のような問題点を解決するためになされたものであり、その目的は描画処理において負荷が集中する機能の処理をハードウェアとソフトウェアとで並列に処理することによりストールを回避または軽減し、より高速な画素シーケンシャル・レンダリング装置を提供することである。   The present invention has been made in order to solve the above-described problems, and its purpose is to avoid stalls by processing in parallel processing between hardware and software for functions that are heavily loaded in rendering processing. It is to provide a pixel sequential rendering device that is reduced and faster.

上記課題を解決するために、請求項1記載の発明に係るグラフィックオブジェクト処理方法では、ラスター画素イメージを形成するべくグラフィックオブジェクトの表示リストを処理する方法において、前記表示リストを解析し前記表示リストにフラグを付加する手段と、表示リストに付加されたフラグを判定する手段と、前記判定の結果フラグが立っていない場合に前記表ジリスとに対する処理を実行する第一の処理手段と、前記判定の結果フラグが立っている場合は前記第一の処理手段と同等の手段を実行する第二の処理手段とを有することを特徴とする。   In order to solve the above problem, in the graphic object processing method according to the first aspect of the present invention, in the method of processing a display list of graphic objects to form a raster pixel image, the display list is analyzed and the display list is displayed. Means for adding a flag; means for determining a flag added to the display list; first processing means for executing processing for the table dilith when the determination result flag is not set; and And a second processing means for executing means equivalent to the first processing means when the result flag is set.

請求項2記載の発明に係るグラフィックオブジェクト処理方法では、さらに、表示リストを解析しグラフィックオブジェクトにフラグを付加するステップがソフトウェアによって実行されることを特徴とする。   In the graphic object processing method according to the second aspect of the present invention, the step of analyzing the display list and adding a flag to the graphic object is further executed by software.

請求項3記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第一の処理手段はハードウェアであり、第二の処理手段はプロセッサと前記プロセッサで実行可能なソフトウェアであることを特徴とする。   In the graphic object processing method according to the third aspect of the invention, the first processing means is hardware, and the second processing means is a processor and software executable by the processor.

請求項4記載の発明に係るグラフィックオブジェクト処理方法では、さらに、フラグを付加する手段は特に表示リストと第一の処理手段の構成を解析してフラグを付加することを特徴とする。   In the graphic object processing method according to the fourth aspect of the present invention, the means for adding a flag particularly adds the flag by analyzing the configuration of the display list and the first processing means.

請求項5記載の発明に係るグラフィックオブジェクト処理方法では、さらに、表示リストはグラフィックオブジェクトのプロパティ情報と前記グラフィックオブジェクトのプロパティ情報に対する処理を規定する命令ストリームとから構成されることを特徴とする。   In the graphic object processing method according to the fifth aspect of the present invention, the display list is further composed of graphic object property information and an instruction stream defining processing for the graphic object property information.

請求項6記載の発明に係るグラフィックオブジェクト処理方法では、さらに、フラグを付加する手段は特にグラフィックオブジェクトのプロパティ情報を解析することを特徴とする。   In the graphic object processing method according to the sixth aspect of the invention, the means for adding a flag particularly analyzes the property information of the graphic object.

請求項7記載の発明に係るグラフィックオブジェクト処理方法では、さらに、フラグを付加する手段は特に命令ストリームを解析することを特徴とする。   In the graphic object processing method according to the seventh aspect of the present invention, the means for adding a flag particularly analyzes the instruction stream.

請求項8記載の発明に係るグラフィックオブジェクト処理方法では、さらに、表示リストを解析しグラフィックオブジェクトにフラグを付加するステップにおいて、任意の命令に対してフラグを設定することを特徴とする。   In the graphic object processing method according to the eighth aspect of the present invention, in the step of analyzing the display list and adding a flag to the graphic object, a flag is set for an arbitrary command.

請求項9記載の発明に係るグラフィックオブジェクト処理方法では、さらに、表示リストを解析しグラフィックオブジェクトにフラグを付加するステップにおいて、任意のグラフィックオブジェクトのプロパティ情報に対してフラグを設定することを特徴とする。   In the graphic object processing method according to the ninth aspect of the present invention, in the step of analyzing the display list and adding a flag to the graphic object, a flag is set for property information of an arbitrary graphic object. .

請求項10記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第一の処理手段は表示リストを読み込む手段と、表示リストに設定されたフラグのon/offを判定する手段と、第二の処理手段に前記フラグに関連する表示リストのレコードを転送する手段とを有しており、第二の処理手段は第一の処理手段から前記表示リストのレコードを受信する手段を有することを特徴とする。   In the graphic object processing method according to the invention of claim 10, the first processing means further includes means for reading a display list, means for determining on / off of a flag set in the display list, and second processing. Means for transferring a display list record related to the flag, and the second processing means has means for receiving the display list record from the first processing means. .

請求項11記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第一の処理手段はさらに複数の処理手段によって構成されることを特徴とする。   In the graphic object processing method according to the eleventh aspect of the present invention, the first processing means further includes a plurality of processing means.

請求項12記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第一の処理手段は複数の処理手段がパイプライン接続されることにより構成されることを特徴とする。   In the graphic object processing method according to the twelfth aspect of the present invention, the first processing means is configured by connecting a plurality of processing means in a pipeline.

請求項13記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第一の処理手段は表示リストを読み込み第一の処理手段内の動作を規定する内部コマンドを生成する処理手段を含むことを特徴とする。   In the graphic object processing method according to the thirteenth aspect of the present invention, the first processing means further includes processing means for reading the display list and generating an internal command for defining an operation in the first processing means. To do.

請求項14記載の発明に係るグラフィックオブジェクト処理方法では、さらに、内部コマンドはフラグのために予約されたフィールドを有することを特徴とする。   The graphic object processing method according to the fourteenth aspect of the present invention is further characterized in that the internal command has a field reserved for a flag.

請求項15記載の発明に係るグラフィックオブジェクト処理方法では、さらに、表示リストを読み込み第一の処理手段内の動作を規定する内部コマンドを生成する処理手段は表示リストに含まれるレコードのうち前記フラグが設定されたレコードに関連する内部コマンドに対してフラグを設定することを特徴とする。   In the graphic object processing method according to the fifteenth aspect of the present invention, the processing means for reading the display list and generating an internal command for defining an operation in the first processing means is configured such that the flag is included in the records included in the display list. A flag is set for an internal command related to the set record.

請求項16記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第一の処理手段を構成する複数の処理手段のうちの少なくとも一つは内部コマンドが有するフラグのために予約されたフィールドを読む手段と、前記フラグを判定する手段と、前記フラグに応じて処理手段自身に処理を割当てる手段と、前記フラグに応じて第二の処理手段に処理を割当てる手段と、第二の処理手段に前記内部コマンドを転送する手段とを有しており、第二の処理手段は第一の処理手段から内部コマンドを受信する手段と、第一の処理手段から受信したコマンドに対する処理を実行する手段を有することを特徴とする。   In the graphic object processing method according to the sixteenth aspect of the present invention, further, at least one of the plurality of processing means constituting the first processing means reads the field reserved for the flag of the internal command Means for determining the flag, means for assigning processing to the processing means itself according to the flag, means for assigning processing to the second processing means according to the flag, and And a second processing means having means for receiving an internal command from the first processing means and means for executing processing for the command received from the first processing means. It is characterized by.

請求項17記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第一の処理手段を構成する複数の処理手段のうち内部コマンドが有するフラグのために予約されたフィールドを読む手段と、前記フラグを判定する手段と、前記フラグに応じて処理手段自身に処理を割当てる手段と、前記フラグに応じて第二の処理手段に処理を割当てる手段と、第二の処理手段に前記内部コマンドを転送する手段とを有する処理手段は、さらに第二の処理手段から前記内部コマンドに対する応答を受信する手段を有しており、第二の処理手段は前記内部コマンドに対する処理実行後に前記処理に対する応答を発行する手段を有することを特徴とする。   The graphic object processing method according to claim 17 further includes means for reading a field reserved for a flag of an internal command among a plurality of processing means constituting the first processing means, and the flag. Means for determining, means for assigning processing to the processing means itself according to the flag, means for assigning processing to the second processing means according to the flag, means for transferring the internal command to the second processing means The processing means further includes means for receiving a response to the internal command from the second processing means, and the second processing means is a means for issuing a response to the process after executing the process for the internal command. It is characterized by having.

請求項18記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第二の処理手段は表示リストを読み込み第一の処理手段および第二の処理手段の動作を規定する内部コマンドを生成する処理手段を含むことを特徴とする。   In the graphic object processing method according to the eighteenth aspect of the present invention, the second processing means further includes processing means for reading the display list and generating internal commands for defining operations of the first processing means and the second processing means. It is characterized by including.

請求項19記載の発明に係るグラフィックオブジェクト処理方法では、さらに、内部コマンドはフラグのために予約されたフィールドを有することを特徴とする。   The graphic object processing method according to the present invention is further characterized in that the internal command has a field reserved for a flag.

請求項20記載の発明に係るグラフィックオブジェクト処理方法では、さらに、表示リストを読み込み第一の処理手段および第二の処理手段内の動作を規定する内部コマンドを生成する処理手段は表示リストに含まれるレコードのうち前記フラグが設定されたレコードに関連する内部コマンドに対してフラグを設定することを特徴とする。   In the graphic object processing method according to the twentieth aspect of the present invention, the display list further includes processing means for reading the display list and generating internal commands for defining operations in the first processing means and the second processing means. A flag is set for an internal command related to a record in which the flag is set among the records.

請求項21記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第二の処理手段は内部コマンドが有するフラグのために予約されたフィールドを読む手段と、前記フラグを判定する手段と、前記フラグに応じて第二の処理手段自身に処理を割当てる手段と、内部コマンドの種類に応じて第一の処理手段を構成する処理手段のうちの任意の処理手段を選択する手段と、前記フラグに応じて第一の処理手段の前記選択された処理手段に処理を割当てる手段と、第一の処理手段の前記選択された処理手段に前記内部コマンドを転送する手段とを有しており、第一の処理手段を構成する複数の処理手段は第二の処理手段から内部コマンドを受信する手段を有することを特徴とする。   In the graphic object processing method according to claim 21, the second processing means further includes means for reading a field reserved for a flag included in an internal command, means for determining the flag, In accordance with the flag, means for assigning processing to the second processing means itself, means for selecting an arbitrary processing means among the processing means constituting the first processing means according to the type of internal command, and the flag Means for assigning a process to the selected processing means of the first processing means, and means for transferring the internal command to the selected processing means of the first processing means. The plurality of processing means constituting the means has means for receiving an internal command from the second processing means.

請求項22記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第二の処理手段は自身に割当てた内部コマンドに対する処理を実行後に第一の処理手段の前記選択された処理手段に内部コマンドに対する処理終了通知を発行する手段を有しており、第一の処理手段を構成する複数の処理手段は第二の処理手段から前記内部コマンドに対する処理終了通知を受信する手段を有することを特徴とする。   In the graphic object processing method according to the twenty-second aspect of the present invention, the second processing means further executes processing for the internal command in the selected processing means of the first processing means after executing processing for the internal command assigned to itself. It has means for issuing an end notice, and the plurality of processing means constituting the first processing means have means for receiving a process end notice for the internal command from the second processing means.

請求項23記載の発明に係るグラフィックオブジェクト処理方法では、さらに、表示リストにフラグを付加する手段は表示リスト内の順序を入れ替えることを特徴とする。   In the graphic object processing method according to the twenty-third aspect, the means for adding a flag to the display list changes the order in the display list.

請求項24記載の発明に係るグラフィックオブジェクト処理方法では、さらに、表示リストにフラグを付加する手段は命令の順序を入れ替えることを特徴とする。   In the graphic object processing method according to a twenty-fourth aspect of the present invention, the means for adding a flag to the display list changes the order of the instructions.

以上説明したように本発明に寄れば、表示リスト・ストアをプリスキャンしてハードウェア構成と処理対象の画像の特徴とからボトルネックとなる処理機能を推定して表示リスト・ストア中の任意の命令に対して付加情報を追加し、付加情報付命令に対応する処理をソフトウェア実行することにより、描画処理におけるボトルネック処理をハードウェアとソフトウェアとで並列に実行して描画処理時間を短縮することが可能な画素シーケンシャル・レンダリング装置を提供する。   As described above, according to the present invention, the display list store is pre-scanned to estimate the processing function that becomes a bottleneck from the hardware configuration and the characteristics of the image to be processed, and an arbitrary one in the display list store. By adding additional information to the instruction and executing the process corresponding to the instruction with the additional information in software, the bottleneck process in the drawing process is executed in parallel between the hardware and software, thereby reducing the drawing process time. Provided is a pixel sequential rendering apparatus capable of

以下で本発明の装置及びその動作について詳細に説明する。   The apparatus of the present invention and its operation will be described in detail below.

図1は、コンピュータ・グラフィック・オブジェクト画像のレンダリングおよびプレゼンテーションのために構成されたコンピュータ・システム10を概略的に示す図である。このシステムには、システム・ランダム・アクセス・メモリ(RAM)12に関連するホスト・プロセッサ11が含まれ、システムRAM12には、不揮発性のハード・ディスク・ドライブまたは類似の装置と、揮発性の半導体RAMを含めることができる。システム10には、システム読取専用メモリ(ROM)13も含まれ、システムROM13は、通常は半導体ROMを基礎とし、多くの場合に、コンパクト・ディスク装置(CD−ROM)によって補足することができる。システム10には、ラスタ式に動作するビデオ表示装置(VDU)またはプリンタなどの、画像を表示するための手段14も組み込むことができる。   FIG. 1 schematically illustrates a computer system 10 configured for rendering and presentation of computer graphic object images. The system includes a host processor 11 associated with a system random access memory (RAM) 12, which includes a non-volatile hard disk drive or similar device and a volatile semiconductor. RAM can be included. The system 10 also includes a system read only memory (ROM) 13, which is usually based on a semiconductor ROM and can often be supplemented by a compact disk device (CD-ROM). System 10 may also incorporate means 14 for displaying images, such as a video display unit (VDU) or printer operating in a raster fashion.

システム10に関して上で説明した構成要素は、バス・システム15を介して相互接続され、IBM PC/ATタイプのパーソナル・コンピュータおよびそれから発展した構成、Sun Sparcstationsおよび類似物など、当技術分野で周知のコンピュータ・システムの通常動作モードで動作可能である。   The components described above with respect to system 10 are interconnected via bus system 15 and are well known in the art, such as IBM PC / AT type personal computers and configurations developed therefrom, Sun Sparcstations and the like. It can operate in the normal operating mode of the computer system.

やはり図1に図示されているように、画素シーケンシャル・レンダリング装置16は、バス15に接続され、システム10からバス15を介して命令およびデータを供給されるグラフィック・オブジェクト・ベースの記述から導出される画素ベースの画像のシーケンシャル・レンダリングのために構成される。画素シーケンシャル・レンダリング装置16は、オブジェクト記述のレンダリングのためにシステムRAM12を使用することができるが、専用のローカルメモリを実装・使用してもよい。   As also illustrated in FIG. 1, the pixel sequential rendering device 16 is derived from a graphic object-based description that is connected to the bus 15 and supplied with instructions and data from the system 10 via the bus 15. Configured for sequential rendering of pixel-based images. The pixel sequential rendering device 16 can use the system RAM 12 for rendering the object description, but may also implement and use a dedicated local memory.

図2は基本的な機能データ流れを示す図である。図2の機能流れ図は、オブジェクト・グラフィック記述21から始まる。このオブジェクト・グラフィック記述21は、ホスト・プロセッサ11によって生成されるか、システムRAM12内に記憶されるかシステムROM13によって提供され、グラフィック・オブジェクトのパラメータを記述するのに使用され、そこから画素ベース画像をレンダリングするために、画素シーケンシャル・レンダリング装置16によって解釈され得る。たとえば、オブジェクト・グラフィック記述21には、ディスプレイ上の1点から別の点まで横断する直線の辺(単純ベクトル)または、直交する線を含む複数の辺によって二次元オブジェクトが定義される直交辺フォーマットを含むいくつかのフォーマットで辺を有するオブジェクトを組み込むことができる。これ以外に、連続曲線によってオブジェクトが定義されるフォーマットも、適当であり、これらには、乗算を実行する必要なしに二次曲線を単一の出力空間内でレンダリングできるようにするいくつかのパラメータによって単一の曲線を記述できる二次多項式の線分を含めることができる。三次スプラインや類似物などのそれ以外のデータ・フォーマットを使用することもできる。オブジェクトには、多数の異なる辺タイプの混合物を含めることができる。通常、すべてのフォーマットに共通するのは、それぞれの線(直線であれ曲線であれ)の始点と終点の識別子であり、通常は、これらは、スキャン・ライン番号によって識別され、したがって、その曲線をレンダリングすることのできる特定の出力空間が定義される。   FIG. 2 is a diagram showing a basic function data flow. The functional flow diagram of FIG. 2 begins with an object graphic description 21. This object graphic description 21 is generated by the host processor 11, stored in the system RAM 12, or provided by the system ROM 13, and is used to describe the parameters of the graphic object from which the pixel-based image is derived. Can be interpreted by the pixel sequential rendering device 16. For example, the object graphic description 21 includes an orthogonal side format in which a two-dimensional object is defined by a side of a straight line (simple vector) crossing from one point on the display to another point or a plurality of sides including orthogonal lines. Objects with edges can be incorporated in several formats including: Apart from this, formats in which objects are defined by continuous curves are also suitable, including several parameters that allow a quadratic curve to be rendered in a single output space without having to perform multiplication. Can contain a quadratic polynomial line that can describe a single curve. Other data formats such as cubic splines and the like can be used. An object can contain a mixture of many different edge types. Usually common to all formats is the identifier of the start and end of each line (whether straight or curved), which are usually identified by a scan line number, and hence the curve A specific output space that can be rendered is defined.

レンダリングされるグラフィック・オブジェクトの記述に必要なデータを識別したので、グラフィック・システム10は、表示リスト生成ステップ22を実行する。   Having identified the data necessary to describe the graphic object to be rendered, the graphic system 10 performs a display list generation step 22.

表示リスト生成22は、取り付けられたROM13およびRAM12を有するホスト・プロセッサ11上で実行されるソフトウェア・モジュールとして実施されることが好ましい。表示リスト生成22では、周知のグラフィック記述言語、グラフィック・ライブラリ呼出しまたは他のアプリケーション固有フォーマットのうちの1つまたは複数で表現されたオブジェクト・グラフィック記述を表示リストに変換する。表示リストは、通常は、表示リスト・ストア23に書き込まれる。表示リスト・ストア23は、一般にRAM12内で形成されるが、その代わりに画素シーケンシャル・レンダリング装置16がローカルに有するメモリ内で形成することもできる。表示リスト・ストア23には、複数の構成要素を含めることができ、その1つは命令ストリームであり、もう1つは辺情報であり、ラスタ画像画素データを含めることができる。   The display list generator 22 is preferably implemented as a software module that runs on the host processor 11 having the ROM 13 and RAM 12 attached. The display list generator 22 converts an object graphic description expressed in one or more of a well-known graphic description language, graphic library call or other application specific format into a display list. The display list is normally written in the display list store 23. The display list store 23 is generally formed in the RAM 12, but may instead be formed in a memory that the pixel sequential rendering device 16 has locally. The display list store 23 can include a plurality of components, one of which is an instruction stream and the other is edge information, which can include raster image pixel data.

命令ストリームには、特定の画像内で所望される特定のグラフィック・オブジェクトをレンダリングするために画素シーケンシャル・レンダリング装置16によって読み取られる、命令として解釈可能なコードが含まれる。   The instruction stream includes code that can be interpreted as instructions that are read by the pixel sequential rendering device 16 to render the particular graphic object desired in the particular image.

表示リスト・ストア23は、画素シーケンシャル・レンダリング装置16によって読み取られる。画素シーケンシャル・レンダリング装置16は、表示リストをラスタ画素のストリームに変換し、このストリームは、たとえばプリンタ、ディスプレイまたはメモリ・ストアなどの別の装置に転送することができる。   The display list store 23 is read by the pixel sequential rendering device 16. The pixel sequential rendering device 16 converts the display list into a stream of raster pixels, which can be transferred to another device such as a printer, display or memory store, for example.

図3はオブジェクト・グラフィック記述21から得られた表示リストを処理して画素を生成する画素シーケンシャル・レンダリング装置の構成図である。   FIG. 3 is a configuration diagram of a pixel sequential rendering apparatus that processes a display list obtained from the object graphic description 21 to generate pixels.

図3の画素シーケンシャル・レンダリング装置は基本構成に対して複数のハードウェアモジュールの追加を選択することによって複数通りの構成をとり得ると共に、基本構成と追加拡張をしたハードウェア構成との機能互換性および異なる追加拡張をしたハードウェア構成相互の機能互換性を保証する仕組を有する。より具体的には、ハードウェア構成の差分を自律的にソフトウェア実行するための仕組を有する。図3においては301〜308が基本構成モジュールであり、310〜313が追加拡張モジュールである。   The pixel sequential rendering apparatus of FIG. 3 can take a plurality of configurations by selecting the addition of a plurality of hardware modules to the basic configuration, and the functional compatibility between the basic configuration and the hardware configuration with additional expansion. And a mechanism for guaranteeing functional compatibility between hardware configurations with different additional extensions. More specifically, it has a mechanism for autonomously executing software on the difference in hardware configuration. In FIG. 3, 301 to 308 are basic configuration modules, and 310 to 313 are additional expansion modules.

表示リストにはオリジナルのオブジェクト・グラフィック記述に含まれる描画オブジェクトが副走査線方向(y座標)の昇順にソートされて記録されており、その他に各オブジェクトの辺情報は辺テーブルとして、各辺と対応づけられたレベル情報と他のレベルの同一座標の画素との関係(演算方法)がレベルテーブルとして、さらにオブジェクト内部の色を決定するための情報がフィルテーブルとして含まれる。また、オブジェクトの色を決定するための情報としては、色を生成するためのデータや処理が指定されており、ビットマップの読込みや圧縮画像を伸張し、その結果から任意の画素を取り込むことを指定している場合もある。   In the display list, the drawing objects included in the original object / graphic description are sorted and recorded in ascending order of the sub-scanning line direction (y-coordinate). In addition, the side information of each object is stored as a side table. The relationship (calculation method) between the correlated level information and pixels at the same coordinates on other levels is included as a level table, and information for determining the color inside the object is included as a fill table. In addition, as data for determining the color of an object, data and processing for generating a color are specified, and reading a bitmap or decompressing a compressed image, and capturing an arbitrary pixel from the result. It may be specified.

図3において300は画素シーケンシャル・レンダリング装置であり後述する301〜308および310〜313のモジュールから構成されており(そのうち301〜306をパイプラインモジュールと呼ぶものとする)、301はシステムバスにアクセスして該表示リストを読み込み、命令ストリームを解釈して、後述の302〜305からなる後段のパイプラインモジュールに対する内部コマンドを発行する命令実行部であり、302は命令実行部301によって発行された内部コマンドに従って該表示リストに含まれる辺情報を読み取り、走査線単位で描画オブジェクトの辺情報を抽出し、該辺情報を走査線方向(x座標)の昇順にソートした後、後述するパイプライン後段に位置する303のレベル優先度決定部に該辺情報をメッセージとして転送する辺処理部であり、303は命令実行部301によって発行された命令に従って該表示リストに含まれるレベルテーブルと辺処理部302によって生成された該辺情報とを読み込み、各走査線毎に各レベルの優先度と活性化された(描画に影響する)画素範囲を決定し、各走査線の該活性化された画素範囲の情報を優先度順にソートして他のレベルの画素との関係情報とともに画素範囲情報とし、後述するパイプライン後段に位置する304の塗りつぶしデータ決定部に該画素範囲情報を転送するレベル優先度決定部であり、304は命令実行部301によって発行された内部コマンドに従って該表示リストに含まれるフィルテーブルとレベル優先度決定部303によって生成された該画素範囲情報とを読み込み、レベル毎に活性化された画素の色を決定し、後述するパイプライン後段に位置する305の色合成部に該活性化された画素の色情報を303から転送されてきた画素範囲情報とともに転送する塗りつぶしデータ決定部であり、305は命令実行部301によって発行された内部コマンドに従ってレベル優先度決定部303によって生成された各レベルの画素範囲情報と塗りつぶしデータ決定部304によって決定された画素の色情報をもとに画素単位に色を決定する演算を実行し、画素の最終的な色を生成する色合成部であり、
306は色合成部305によって生成された最終画素を接続された外部機器に送出する画素出力部であり、307は該表示リストに前述の辺処理部302、レベル優先度決定部303、塗りつぶしデータ決定部304および色合成部305に実装されていない機能を要する内部コマンドが命令実行部301によって発行されたときに、該内部コマンドをソフトウェアの介在によって処理する互換性保証部であり、308は辺処理部302、レベル優先度決定部303、塗りつぶしデータ決定部304、色合成部305および互換性保証部307によるシステムバスへのアクセスに対する調停、順序付けを行いシステムバスへアクセスを中継するバスアクセス調停部である。
In FIG. 3, reference numeral 300 denotes a pixel sequential rendering apparatus, which includes modules 301 to 308 and 310 to 313 described later (of which 301 to 306 are referred to as pipeline modules), and 301 accesses the system bus. An instruction execution unit that reads the display list, interprets the instruction stream, and issues an internal command to a subsequent pipeline module composed of 302 to 305 described later. 302 is an internal issued by the instruction execution unit 301 According to the command, the side information included in the display list is read, the side information of the drawing object is extracted in units of scanning lines, the side information is sorted in ascending order of the scanning line direction (x coordinate), and then the latter part of the pipeline to be described later The edge information is sent to the 303 level priority determination section. The edge processing unit 303 transfers as a page, and 303 reads the level table included in the display list and the edge information generated by the edge processing unit 302 in accordance with the instruction issued by the instruction execution unit 301. The priority of each level and the activated pixel range (influencing drawing) are determined every time, and the information of the activated pixel range of each scanning line is sorted in the order of priority. Is a level priority determining unit that transfers pixel range information to the fill data determining unit 304 located in the later stage of the pipeline, which is later described in the pipeline, and 304 is an internal number issued by the instruction execution unit 301. According to the command, the fill table included in the display list and the pixel range information generated by the level priority determination unit 303 are read, and the level Fill data for determining the color of the activated pixel and transferring the color information of the activated pixel together with the pixel range information transferred from 303 to a color synthesis unit 305 located in the later stage of the pipeline, which will be described later A determination unit 305 includes pixel range information of each level generated by the level priority determination unit 303 according to an internal command issued by the instruction execution unit 301 and pixel color information determined by the fill data determination unit 304. And a color composition unit that performs an operation for determining a color for each pixel and generates a final color of the pixel,
Reference numeral 306 denotes a pixel output unit that sends the final pixel generated by the color composition unit 305 to the connected external device. Reference numeral 307 denotes the above-described side processing unit 302, level priority determination unit 303, and fill data determination. A compatibility guarantee unit that processes the internal command by software intervention when an internal command requiring a function that is not implemented in the unit 304 and the color synthesis unit 305 is issued by the instruction execution unit 301. A bus access arbitration unit that arbitrates and orders access to the system bus by the unit 302, the level priority determination unit 303, the fill data determination unit 304, the color composition unit 305, and the compatibility guarantee unit 307, and relays the access to the system bus. is there.

辺処理部302、レベル優先度決定部303、塗りつぶしデータ決定部304および色合成部305それぞれに対して拡張部品を追加することが可能であり、かつ塗りつぶしデータ決定部304に対しては画像伸張部310を追加することもでき、画像伸張部310はさらに拡張部品を追加することが可能である。以上のような拡張はシステムに要求される性能およびコストに応じてなされる。   An extension component can be added to each of the side processing unit 302, the level priority determination unit 303, the fill data determination unit 304, and the color composition unit 305, and an image expansion unit for the fill data determination unit 304. 310 can be added, and the image expansion unit 310 can further add an extended part. The expansion as described above is performed according to the performance and cost required for the system.

310は画素色決定の際に圧縮画像を扱うことを可能にする例えばJPEGをサポートする拡張モジュールであるところの画像伸張部であり、311はPostScriptに対応する拡張モジュールであるところの辺処理拡張部であり、312はGDIに対応する拡張モジュールであるところの辺処理拡張部であり、313はJBIGに対応する拡張モジュールであるところの画像伸張拡張部である。   Reference numeral 310 denotes an image expansion unit that is an extension module that supports, for example, JPEG, which makes it possible to handle a compressed image when determining a pixel color, and reference numeral 311 denotes an edge processing extension unit that is an extension module corresponding to PostScript. Reference numeral 312 denotes an edge processing extension unit that is an extension module corresponding to GDI, and reference numeral 313 denotes an image expansion extension unit that is an extension module corresponding to JBIG.

さらに画像伸張部310は自身が対応している伸張処理であれば自ら処理を行い、対応していない処理であれば互換性保証部307へコマンドを発行し、発行したコマンドに対する終了コマンドを受信し、最後に処理の終了通知を塗りつぶしデータ決定部304に発行する。   Further, the image decompression unit 310 performs its own processing if it is compatible with the image decompression unit 310, issues a command to the compatibility guarantee unit 307 if the processing is not supported, and receives an end command for the issued command. Finally, a process end notification is issued to the fill data determination unit 304.

以下、図4のような画像に対応するオブジェクト・グラフィック記述を処理する場合を例に取り、図3の画素シーケンシャル・レンダリング装置の動作の概要を説明する。図4は先ず三角形のオブジェクト41が描かれ(レベル1)、その上に重ねて楕円のオブジェクト42が描かれている(レベル2)描画画面を示している。また、レベル0は例えば画像を印刷する場合の紙に相当する最も視点から遠いデフォルトのレベルを表しており、白などのデフォルトのバックグラウンド色を有するものとする。   In the following, an outline of the operation of the pixel sequential rendering apparatus of FIG. 3 will be described by taking an example of processing an object graphic description corresponding to an image as shown in FIG. FIG. 4 shows a drawing screen in which a triangular object 41 is first drawn (level 1) and an elliptical object 42 is drawn on top of it (level 2). Level 0 represents, for example, a default level farthest from the viewpoint corresponding to paper when an image is printed, and has a default background color such as white.

図3の画素シーケンシャル・レンダリング装置による処理に先立ってオブジェクト・グラフィック記述はソフトウェアによって表示リストに変換される。表示リストは少なくとも以下に示す情報を含む。
(1)y=30からy=140の描画を行う。
(2)y=30からy=140までオブジェクト41の領域開始を示す直線の辺がある。傾きも含む。
(3)y=30からy=140までオブジェクト41の領域終端を示す直線の辺がある。傾きも含む。
(4)y=70からy=115までオブジェクト42の領域開始を示す楕円弧の辺がある。正確には楕円弧は短い直線セグメントに分割され、各セグメントの開始位置と傾きの情報とともに含まれる。
(5)y=70からy=115までオブジェクト42の領域終端を示す楕円弧の辺がある。正確には楕円弧は短い直線セグメントに分割され、各セグメントの開始位置と傾きの情報とともに含まれる。
(6)オブジェクト41のレベル(z座標)情報および他のレベルの同一座標の画素との関係(演算)、下位レベル(視点を基準にして遠い側)のオブジェクトの色情報が必要か(即ち透過か不透過か)、レベル内でどのように色が決定されるか(フィルタイプ)。
(7)オブジェクト42のレベル(z座標)情報および他のレベルの同一座標の画素との関係(演算)、下位レベル(視点を基準にして遠い側)のオブジェクトの色情報が必要か(即ち透過か不透過か)、レベル内でどのように色が決定されるか(フィルタイプ)。
(8)(2)から(6)へのポインタ情報。
(9)(3)から(6)へのポインタ情報。
(10)(4)から(7)へのポインタ情報。
(11)(5)から(7)へのポインタ情報。
(12)オブジェクト41の色を決定する(フィル)ための情報。
(13)オブジェクト42の色を決定する(フィル)ための情報。
(14)(6)から(12)へのポインタ情報
(15)(7)から(13)へのポインタ情報
(16)辺テーブルアドレス
(17)レベルテーブルアドレス
(18)フィルテーブルアドレス
Prior to processing by the pixel sequential rendering device of FIG. 3, the object graphic description is converted into a display list by software. The display list includes at least the following information.
(1) Draw from y = 30 to y = 140.
(2) From y = 30 to y = 140, there are straight sides indicating the start of the area of the object 41. Including tilt.
(3) From y = 30 to y = 140, there are straight sides indicating the end of the area of the object 41. Including tilt.
(4) From y = 70 to y = 115, there is an elliptical arc side indicating the start of the area of the object 42. To be precise, the elliptical arc is divided into short straight segments and is included with information on the starting position and slope of each segment.
(5) From y = 70 to y = 115, there is an elliptic arc side indicating the end of the area of the object 42. To be precise, the elliptical arc is divided into short straight segments and is included with information on the starting position and slope of each segment.
(6) The level (z coordinate) information of the object 41 and the relationship (calculation) with the pixel of the same coordinate at another level, whether the color information of the object at the lower level (far side with respect to the viewpoint) is necessary (that is, transmission) Or impervious) and how the color is determined within the level (fill type).
(7) The level (z coordinate) information of the object 42 and the relationship (calculation) with the pixel of the same coordinate at another level, whether the color information of the object at the lower level (the far side with respect to the viewpoint) is necessary (that is, transmission) Or impervious) and how the color is determined within the level (fill type).
(8) Pointer information from (2) to (6).
(9) Pointer information from (3) to (6).
(10) Pointer information from (4) to (7).
(11) Pointer information from (5) to (7).
(12) Information for determining (filling) the color of the object 41.
(13) Information for determining (filling) the color of the object 42.
(14) Pointer information from (6) to (12) (15) Pointer information from (7) to (13) (16) Side table address (17) Level table address (18) Fill table address

以上のうち(2)、(3)、(4)、(5)、(8)、(9)、(10)および(11)は辺テーブルに含まれ、(6)、(7)、(12)および(13)はレベルテーブルに含まれ、(14)および(15)はフィルテーブルに含まれる。表示リスト・ストアは所定のアドレスを先頭とするメモリ領域に格納される。   Of these, (2), (3), (4), (5), (8), (9), (10) and (11) are included in the side table, and (6), (7), ( 12) and (13) are included in the level table, and (14) and (15) are included in the fill table. The display list store is stored in a memory area starting from a predetermined address.

画素シーケンシャル・レンダリング装置300が起動指示を受け付けると、命令実行部301は所定のアドレスから表示リストを読み込む。処理開始および描画領域がパイプライン下流の各モジュールに内部コマンドによって通知され、さらに辺処理部302には辺テーブルアドレス(16)が内部コマンドによって通知され、レベル優先度決定部303にはレベルテーブルアドレス(17)が内部コマンドによって通知され、塗りつぶしデータ決定部304にはフィルテーブルアドレス(18)が内部コマンドによって通知される。この時点でパイプラインの各モジュール、即ち辺処理部302、レベル優先度決定部303、塗りつぶしデータ決定部304および色合成部305はパイプライン上流に位置するモジュールから所定の内部コマンドが転送されてくるまで待機状態となる。次に命令実行部301は辺処理部302、レベル優先度決定部303、塗りつぶしデータ決定部304および色合成部305に対して描画開始コマンドを発行する。   When the pixel sequential rendering apparatus 300 receives an activation instruction, the instruction execution unit 301 reads a display list from a predetermined address. The processing start and drawing area are notified to each module downstream of the pipeline by an internal command, the edge processing unit 302 is notified of the edge table address (16) by the internal command, and the level priority determining part 303 is notified of the level table address. (17) is notified by the internal command, and the fill data determining unit 304 is notified of the fill table address (18) by the internal command. At this point, each module in the pipeline, that is, the edge processing unit 302, the level priority determination unit 303, the fill data determination unit 304, and the color synthesis unit 305, receives a predetermined internal command from a module located upstream of the pipeline. It will be in a standby state. Next, the instruction execution unit 301 issues a drawing start command to the side processing unit 302, the level priority determination unit 303, the fill data determination unit 304, and the color composition unit 305.

辺処理部302、レベル優先度決定部303、塗りつぶしデータ決定部304および色合成部305ではy=0からy=30までは必要であればデフォルト(バックグラウンド色)画素を生成する。この間辺処理部302およびレベル優先度決定部303ではy=30からの処理を開始しており、塗りつぶしデータ決定部304ではy=0からy=30の領域の処理として、デフォルト即ちバックグラウンドのレベルに対して走査線方向の全画素にバックグラウンド色を生成し、該バックグラウンド色を有する画素が色合成部305を通り(画素間演算処理されずに)最終画素として画素出力部306を介して出力される。   The edge processing unit 302, the level priority determination unit 303, the fill data determination unit 304, and the color synthesis unit 305 generate default (background color) pixels from y = 0 to y = 30 if necessary. The edge processing unit 302 and the level priority determination unit 303 start processing from y = 30, and the fill data determination unit 304 uses the default, that is, the background level as processing for the region from y = 0 to y = 30. In contrast, a background color is generated for all the pixels in the scanning line direction, and the pixel having the background color passes through the color synthesis unit 305 (without inter-pixel calculation processing) as a final pixel via the pixel output unit 306. Is output.

辺処理部302ではy=30までスキップし、y=30からオブジェクト41に属する2つの辺が発生することを検出し、辺テーブルに該2つの辺を登録して追跡を開始する。該2つの辺は同一オブジェクトに属するため既にxオーダーでソートされた状態であり、そのままレベル優先度決定部303に内部コマンドで通知される。   The edge processing unit 302 skips to y = 30, detects the occurrence of two edges belonging to the object 41 from y = 30, registers the two edges in the edge table, and starts tracking. Since these two sides belong to the same object, they are already sorted in the x order, and are directly notified to the level priority determination unit 303 by an internal command.

レベル優先度決定部303は該2つの辺間でレベル1を活性状態にして、レベルテーブルからレベル1の属性を読み込み、内部コマンドを発行して2つの辺のx座標とレベル1の属性を塗りつぶしデータ決定部304に通知する。   The level priority determination unit 303 activates level 1 between the two sides, reads the level 1 attribute from the level table, issues an internal command, and fills the x coordinate of the two sides and the level 1 attribute. The data determination unit 304 is notified.

塗りつぶしデータ決定部304はレベル1の属性に従ってフィルテーブルを検索し、フィルテーブルの情報とレベル属性に従って該2つの辺間の画素の色を決定し、各画素を色合成部305に通知する。また該2つの辺間にない領域に対してはy=0からy=30までと同様にデフォルト色を生成して色合成部305に通知する。   The fill data determination unit 304 searches the fill table according to the level 1 attribute, determines the color of the pixel between the two sides according to the fill table information and the level attribute, and notifies the color composition unit 305 of each pixel. In addition, for a region that is not between the two sides, a default color is generated and notified to the color composition unit 305 as in the case of y = 0 to y = 30.

色合成部305では複数レベル間の画素の演算処理が必要ないため、塗りつぶしデータ決定部304から受信した画素をそのまま最終画素として出力する。   Since the color synthesizing unit 305 does not need to perform pixel calculation processing between a plurality of levels, the pixel received from the fill data determining unit 304 is directly output as the final pixel.

辺処理部302はy=70から楕円のオブジェクトに属する2つの辺の追跡を開始する。ここでは後から加わった2つの辺は三角形オブジェクト41の辺よりもxが大きな座標に位置しているため、辺のソートを行う必要はない。また2つのオブジェクト41と42は重なっていないため、レベル優先度決定部303、塗りつぶしデータ決定部304および色合成部305はy=30からy=69までとほぼ同様に動作する。   The edge processing unit 302 starts tracking two edges belonging to an elliptical object from y = 70. Here, since the two sides added later are located at coordinates where x is larger than the side of the triangle object 41, it is not necessary to sort the sides. Since the two objects 41 and 42 do not overlap, the level priority determination unit 303, the fill data determination unit 304, and the color composition unit 305 operate in substantially the same manner from y = 30 to y = 69.

三角形オブジェクト41の辺と楕円オブジェクト42の辺が交差したあとの走査線では辺情報のソートが必要となる。またオブジェクトが重なりを持つため、同一画素に対して複数のレベルが活性状態になり、画素を決定するための演算が行われるようになる。この様子をy=85の走査線に対する処理を例に挙げて説明する。   The side information needs to be sorted in the scanning line after the side of the triangle object 41 and the side of the ellipse object 42 intersect. Also, since the objects have overlap, a plurality of levels are activated for the same pixel, and an operation for determining the pixel is performed. This situation will be described by taking a process for a scanning line of y = 85 as an example.

辺処理部302は辺を追跡していく過程で、辺の交差を監視しており、一度交差するとそれ以降は交差した後の順序に従って追跡を続けるものとする。従ってy=85では既に三角形オブジェクト41の辺と楕円オブジェクト42の辺は交差しており、辺のx座標はx0、x1、x2およびx3の順に更新され、レベル優先度決定部303に通知される。   The edge processing unit 302 monitors the intersection of the edges in the process of tracking the edges, and once the intersection occurs, the tracking is continued according to the order after the intersection. Therefore, at y = 85, the side of the triangle object 41 and the side of the ellipse object 42 already intersect, and the x coordinate of the side is updated in the order of x0, x1, x2, and x3, and is notified to the level priority determination unit 303. .

レベル優先度決定部303は楕円オブジェクト42の透過率が0でなければ、x0からx1ではレベル1のみを活性状態にし、x1からx2ではレベル1とレベル2を活性状態にし、x2からx3ではレベル2のみを活性状態にする。また、楕円オブジェクト42の透過率が0であれば、x0からx1ではレベル1のみを活性状態にし、x1からx3ではレベル2のみを活性状態にする。以降は楕円オブジェクト42の透過率が0でない場合について説明を続ける。活性状態となっているレベルと両端の辺情報は塗りつぶしデータ決定部304に通知される。   The level priority determination unit 303 activates only level 1 from x0 to x1, activates level 1 and level 2 from x1 to x2, and activates level 1 and level 2 from x2 to x3. Only 2 is activated. If the transmittance of the ellipse object 42 is 0, only level 1 is activated from x0 to x1, and only level 2 is activated from x1 to x3. Hereinafter, the description will be continued for the case where the transmittance of the ellipse object 42 is not zero. The level in the active state and the edge information on both ends are notified to the fill data determination unit 304.

塗りつぶしデータ決定部304はx=0からx=x0まではデフォルトレベルのデフォルト色を生成し、x0からx1まではレベル1の属性に従ってレベル1の画素の色を生成し、x1からx2まではレベル1の属性に従ってレベル1の画素の色を生成すると共に、レベル2の属性に従ってレベル2の画素の色を生成し、x2からx3まではレベル2の属性に従ってレベル2の画素の色を生成し、x3から描画サイズの右端までの画素に対してはデフォルトレベルのデフォルト色を生成し、画素オーダーで色合成部305に転送する。   The fill data determination unit 304 generates a default color of a default level from x = 0 to x = x0, generates a color of a level 1 pixel from x0 to x1 according to a level 1 attribute, and levels from x1 to x2 A level 1 pixel color according to the 1 attribute, a level 2 pixel color according to the level 2 attribute, and a level 2 pixel color according to the level 2 attribute from x2 to x3, For the pixels from x3 to the right end of the drawing size, a default color of a default level is generated and transferred to the color composition unit 305 in pixel order.

色合成部305はx=0からx1の間は塗りつぶしデータ決定部304より受け取った画素色をそのまま出力し、x1からx2に対してはレベル1の色に対してレベル2の色をレベルテーブルに記された所定のオペレーションを適用して重ねあわせることにより最終的な画素の色を出力し、x2から描画サイズ右端までの画素に対しては再び塗りつぶしデータ決定部304より受け取った画素色をそのまま出力する。ただし、以上の処理においてデフォルト色に対しては何もしない場合もあり得る。   The color composition unit 305 outputs the pixel color received from the fill data determination unit 304 as it is between x = 0 and x1, and the level 2 color for the level 1 color in the level table for x1 to x2. The final pixel color is output by applying and applying the specified operation described above, and the pixel color received from the fill data determining unit 304 is output as it is for the pixels from x2 to the right end of the drawing size. To do. However, there is a case where nothing is done for the default color in the above processing.

以上のような処理がパイプライン的に実行される。即ち、命令実行部301、辺処理部302、レベル優先度決定部303、塗りつぶしデータ決定部304および色合成部305の各モジュールは、自分の処理が終了すると次の処理を実行するモジュールに内部コマンドを発行して処理を依頼し、次の処理が可能になると前の処理を実行するモジュールからの内部コマンドを受け付ける状態になる。内部で処理を実行しているか、バッファがフルとなり新たな処理を受け付けられない場合は、前の処理を実行するモジュールとのパスを通じてビジー状態を通知し、処理を受け付けないことを通知する。ビジー状態を通知されたモジュールは内部コマンドを後の処理を実行するモジュールに転送することはできず、ストールが発生する。   The above processing is executed in a pipeline manner. That is, each module of the instruction execution unit 301, the edge processing unit 302, the level priority determination unit 303, the fill data determination unit 304, and the color composition unit 305 receives an internal command from the module that executes the next processing when its processing is completed. Is issued to request processing, and when the next processing becomes possible, the internal command from the module that executes the previous processing is accepted. If processing is being executed internally, or if the buffer is full and new processing cannot be accepted, a busy state is notified through a path to the module that executes the previous processing, and notification that processing is not accepted. The module notified of the busy state cannot transfer the internal command to the module that executes the subsequent processing, and a stall occurs.

以上の説明では、図3に示す基本構成のハードウェアが対応している機能のみが要求される画像を処理する場合について述べてきた。例えば、辺処理部302がOpenPageにのみ対応しているとすれば、OpenPageの描画情報に基づいて生成された表示リスト・ストアが処理されていた。ここで、例えばPostScriptの描画情報に基いて生成された表示リスト・ストアが指定された場合には、ハードウェア即ち辺処理部302では正しく処理することができないため、互換性保証部307に内部コマンドが転送される。互換性保証部307はシステムバスを介して接続されている図示されていないシステムメモリに格納されているハードウェアが対応していない内部コマンドの処理ルーチンのセットから適切なルーチンを読み出して該内部コマンドに対する処理を実行し、実行結果をシステムメモリか内部コマンド転送元のモジュールに転送し、処理の終了を内部コマンド転送元モジュールに通知する。内部コマンド転送元のモジュールは該処理の終了の通知を受けると、あたかも自分が処理したように後の処理を実行するモジュールに対して内部コマンドを発行して処理を継続させる。以上のように必ずしもハードウェアが全ての描画機能をサポートしていなくても、任意の表示リスト・ストアを処理することが可能となっている。   In the above description, a case has been described in which an image that requires only functions supported by the hardware with the basic configuration shown in FIG. 3 is processed. For example, if the side processing unit 302 is compatible only with OpenPage, the display list store generated based on the OpenPage drawing information has been processed. Here, for example, when a display list / store generated based on the PostScript drawing information is specified, the hardware, that is, the side processing unit 302 cannot correctly process, so the compatibility guarantee unit 307 receives an internal command. Is transferred. The compatibility guarantee unit 307 reads an appropriate routine from a set of processing routines for internal commands not supported by hardware stored in a system memory (not shown) connected via the system bus, and executes the internal command. The processing result is transferred to the system memory or the internal command transfer source module, and the end of the processing is notified to the internal command transfer source module. When the internal command transfer source module receives the notification of the end of the processing, it issues an internal command to the module that executes the subsequent processing as if it had processed it, and continues the processing. As described above, an arbitrary display list / store can be processed even if the hardware does not necessarily support all the drawing functions.

ここで、図5に示すように、同一走査線を始点として描かれた複数のオブジェクト51〜55が描かれており、かつ各オブジェクトのフィルがJPEG画像で行われる場合、該走査線(図5において点線で示される)の処理において、各オブジェクトの画素毎のフィル情報を決定するために伸張処理が行われなければならない。しかしながらJPEG伸張処理はハードウェアを用いても数クロックサイクルで処理することは難しいため、図5のような画像を扱う場合には、塗りつぶしデータ決定部304の入力がビジーとなりパイプラインがストールする可能性が高い。51〜55の全画像に対する伸張を同一ハードウェアで逐次実行するよりも、例えば55の伸張処理だけはソフトウェアで並列に実行した方が高速に処理できる場合もある。このような判断は画素シーケンシャル・レンダリング装置のハードウェア構成情報と入力画像データとからある程度解析または推測可能である。   Here, as shown in FIG. 5, when a plurality of objects 51 to 55 drawn with the same scanning line as a starting point are drawn, and each object is filled with a JPEG image, the scanning line (FIG. 5) is drawn. In the process (indicated by a dotted line in FIG. 5), the expansion process must be performed to determine fill information for each pixel of each object. However, JPEG decompression processing is difficult to process in a few clock cycles even if hardware is used. Therefore, when handling an image as shown in FIG. 5, the input of the fill data determination unit 304 becomes busy and the pipeline can stall. High nature. Rather than sequentially performing decompression on all the images 51 to 55 by the same hardware, for example, only the decompression processing of 55 may be performed at a higher speed when executed in parallel by software. Such a determination can be analyzed or estimated to some extent from the hardware configuration information of the pixel sequential rendering apparatus and the input image data.

このときの機能の流れを図6に示す。さらにプリスキャンの流れの詳細を図7に示し、命令実行部301の処理の流れを図8に示し、画像伸張部310の処理の流れを図9に示し、表示リスト、コマンド、メモリ間の参照関係を図10に示す。また、表示リストの命令ストリームの各命令および画素シーケンシャル・レンダリング装置の内部コマンドには少なくとも1−bitのフラグフィールドが予約され、かつフラグは立っていない状態に初期化されるよう拡張されているものとする。   The function flow at this time is shown in FIG. 7 shows the details of the pre-scan flow, FIG. 8 shows the processing flow of the instruction execution unit 301, and FIG. 9 shows the processing flow of the image decompression unit 310. Reference between the display list, command, and memory The relationship is shown in FIG. In addition, at least a 1-bit flag field is reserved for each instruction of the instruction stream of the display list and an internal command of the pixel sequential rendering apparatus, and the flag is extended so that the flag is not set up. And

ハードウェアとソフトウェアによる並列実行に対応するために、コンピュータシステム10はさらに、表示リストをプリスキャンし同一走査線上で開始され、かつ伸張処理を要するオブジェクトを抽出し、該オブジェクトのフィル情報の伸張命令に対してソフトウェアで伸張することを指示するフラグを付加する手段と(図6の61および図7)、命令実行部301においては、該フラグが付加された伸張命令を読み取った場合に同等の意味のフラグを付加した画像伸張のための内部コマンドをパイプラインモジュールに出力する手段と(図8)、画像伸張部310においては、該フラグが付加された画像伸張コマンドを互換性保証部307に転送する手段および該画像伸張コマンドに対する応答を互換性保証部307から受け取る手段と(図9)、互換性保証部307においては、該画像伸張コマンドを処理し応答を画像伸張部310に発行する手段とをさらに有する。   In order to support parallel execution by hardware and software, the computer system 10 further pre-scans the display list, extracts an object that starts on the same scan line and requires decompression processing, and decompresses the fill information of the object. Means for adding a flag for instructing decompression by software (61 in FIG. 6 and FIG. 7), and the instruction execution unit 301 has an equivalent meaning when the decompressed instruction to which the flag is added is read. Means for outputting an internal command for image expansion with the flag added to the pipeline module (FIG. 8), and the image expansion unit 310 transfers the image expansion command with the flag added to the compatibility assurance unit 307. And means for receiving a response to the image decompression command from the compatibility guarantee unit 307 ( 9), in guarantee compatibility unit 307 further has a means for issuing to the image decompression unit 310 responding processes the image decompression command.

表示リストにソフトウェア処理フラグを付加する手順を図7を用いて説明する。先ず画素シーケンシャル・レンダリング装置300のハードウェア構成を記したファイルをシステムRAM12またはシステムROM13からバス15を介して読み込み(71)、表示リスト23をシステムRAM12またはローカルメモリから読み込み(72)、オブジェクトの数や位置関係を抽出し(73)、71および73をもとに負荷が集中しそうな機能を推定し(74)、負荷が集中する機能が発生する場合(75)対象となるオブジェクトとその処理を特定する命令ストリーム中の命令を決定して(76)、ソフトウェア処理フラグを付加し(77)、付加が集中する機能が発生しない場合(75)そのまま終了する。   A procedure for adding a software processing flag to the display list will be described with reference to FIG. First, a file describing the hardware configuration of the pixel sequential rendering apparatus 300 is read from the system RAM 12 or system ROM 13 via the bus 15 (71), the display list 23 is read from the system RAM 12 or local memory (72), and the number of objects And a positional relationship is extracted (73), a function that is likely to concentrate the load is estimated based on 71 and 73 (74), and a function that concentrates the load occurs (75). An instruction in the instruction stream to be identified is determined (76), a software processing flag is added (77), and if a function that concentrates addition does not occur (75), the process ends.

このときの表示リスト23、内部コマンドおよびシステムRAM12の参照関係を図10に示す。表示リスト23には命令ストリーム101と辺情報102と塗りつぶし情報103とを有しているものとする。命令ストリーム中の各命令は処理種別と、処理種別によって辺レコードであるか塗りつぶしレコードであるところの処理対象と、処理のためのパラメータと、ソフトウェア処理フラグとを有する。辺情報は複数のレコードでひとつのグラフィック・オブジェクトを表現するセグメントレコードから構成され、各セグメントレコードは辺情報を生成するために必要な開始(x,y)座標と終端y座標とセグメントの傾きdxと、そのセグメントが属するレベルと、終端座標から連続しかつ同一グラフィック・オブジェクトを表現するセグメントへのポインタと、その他の色、座標を決定するためのアルゴリズムで使用するパラメータとを含む。塗りつぶし情報の各レコードは塗りつぶしタイプと、同一色による塗りつぶしの場合はその色情報と、ビットマップの場合前記ビットマップが格納されているアドレスと、圧縮された画像の場合前記圧縮画像が格納されているアドレスと、伸張後のデータを格納するためのバッファのアドレスと、伸張パラメータなどのプロパティから構成される。例えば図10におけるシステムRAM12にマッピングされた圧縮画像で塗りつぶしを行う場合には、表示リスト23には塗りつぶし情報のレコードとして前記圧縮画像が格納されたアドレスをソースとして与えられており、かつ伸張データ格納アドレスを与えられた塗りつぶしレコードと、前記塗りつぶしレコードと関連付けられたセグメントレコードと、前記塗りつぶしレコードを処理対象とする伸張命令と塗りつぶし命令とが含まれる。これらのデータを元に前記圧縮画像が格納されているアドレスをソースアドレスとして与えられ、前記伸張データを格納するためのバッファの先頭アドレスをデスティネーションアドレスとして与えられた伸張コマンドと、前記伸張データを格納するためのバッファの先頭アドレスをソースアドレスとして与えられた塗りぶつしコマンドを生成することにより、処理対象となるグラフィック・オブジェクトを所望の色で塗りつぶすことが可能となる。伸張命令にソフトウェア処理フラグが設定されている場合には、伸張コマンドのソフトウェア処理フラグ・フィールドにフラグが設定され、前記伸張処理は互換性保証部107に転送され処理される。   FIG. 10 shows the reference relationship between the display list 23, the internal command, and the system RAM 12 at this time. It is assumed that the display list 23 includes an instruction stream 101, edge information 102, and fill information 103. Each instruction in the instruction stream has a processing type, a processing target that is a side record or a filled record depending on the processing type, a parameter for processing, and a software processing flag. The edge information is composed of segment records representing one graphic object with a plurality of records, and each segment record has a start (x, y) coordinate, an end y-coordinate, and a segment inclination dx necessary for generating edge information. And a level to which the segment belongs, a pointer to a segment that is continuous from the end coordinates and represents the same graphic object, and other parameters used in the algorithm for determining the color and coordinates. Each record of the fill information stores the fill type, the color information in the case of filling with the same color, the address in which the bitmap is stored in the case of a bitmap, and the compressed image in the case of a compressed image. Address, a buffer address for storing decompressed data, and properties such as decompression parameters. For example, when filling with a compressed image mapped in the system RAM 12 in FIG. 10, the display list 23 is given as a source the address where the compressed image is stored as a record of the filling information, and stores the decompressed data. It includes a filled record given an address, a segment record associated with the filled record, and a decompression command and a fill command for processing the filled record. Based on these data, the decompression command given as an address where the compressed image is stored as a source address, and given as a destination address the leading address of the buffer for storing the decompressed data, and the decompressed data as By generating a paint command given with the start address of the buffer for storing as a source address, it is possible to paint a graphic object to be processed with a desired color. When the software processing flag is set in the decompression instruction, the flag is set in the software processing flag field of the decompression command, and the decompression processing is transferred to the compatibility guarantee unit 107 and processed.

命令実行部301における処理のソフトウェア処理フラグに関わる動作の流れを図8を用いて説明する。まず、表示リスト23から命令ストリームを読み込み(81)、読み込んだ命令にソフトウェア処理フラグがついていれば(82)ソフトウェア処理フラグ付コマンドを生成し(83)、読み込んだ命令にソフトウェア処理フラグがついていなければ(82)通常コマンドを生成する(84)。   The flow of operations related to the software processing flag of processing in the instruction execution unit 301 will be described with reference to FIG. First, an instruction stream is read from the display list 23 (81), and if the read instruction has a software processing flag (82), a command with a software processing flag is generated (83), and the read instruction has a software processing flag. If not (82), a normal command is generated (84).

画像伸張部310における処理のソフトウェア処理フラグに関わる動作の流れを図9を用いて説明する。ただし受信したコマンドの内容が画像伸張部310がサポートする機能で実現可能なものである場合について述べる。まず画素データ決定部304からコマンドを受信し(91)、通常コマンドであれば(92)自身で処理を行い(93)、ソフトウェア処理フラグ付コマンドであれば(92)互換性保証部307に該コマンドを転送し(94)、互換性保証部からの応答コマンドを受信し(95)、最後に画素データ決定部304に応答コマンドを返す(96)。   The flow of operations related to the software processing flag of processing in the image expansion unit 310 will be described with reference to FIG. However, a case where the content of the received command can be realized by a function supported by the image expansion unit 310 will be described. First, a command is received from the pixel data determination unit 304 (91), and if it is a normal command (92), the processing is performed by itself (93), and if it is a command with a software processing flag (92), the compatibility guarantee unit 307 receives the command. The command is transferred (94), the response command from the compatibility guarantee unit is received (95), and finally the response command is returned to the pixel data determination unit 304 (96).

以上のような機能を追加することにより、該フラグなしの画像伸張コマンドは塗りぶつしデータ決定部304から画像伸張部310に転送されハードウェア処理されると共に、該フラグ付の画像伸張コマンドはさらに互換性保証部307に転送されソフトウェア処理される。該フラグが適当に付加されることにより画像伸張処理がハードウェアとソフトウェアとで並列に実行され、全体の処理時間が短縮される。   By adding the functions as described above, the image decompression command without the flag is transferred from the paint data determination unit 304 to the image decompression unit 310 and subjected to hardware processing. The data is transferred to the compatibility guarantee unit 307 and processed by software. By appropriately adding the flag, image expansion processing is executed in parallel by hardware and software, and the overall processing time is shortened.

さらに、プリスキャンにおいて、ソフトウェア処理をするようにスケジュールした命令に関しては、ハードウェアによる処理に比べて時間を要することを考慮し、可能な限り早期にコマンドが発行されるように命令の順序を入れ替えることによって、性能を向上させることが可能な場合もあり得る。   Furthermore, in the pre-scan, for instructions scheduled to be processed by software, the order of instructions is changed so that commands are issued as early as possible in consideration of the time required for processing by hardware. Depending on the situation, it may be possible to improve the performance.

表示リストに対しソフトウェアによる画像伸張を指示するフラグを付加する手段は、表示リスト生成時に同時に実行することも可能であるが、実質的にはオブジェクトの数および相互の位置関係を抽出可能なレベルにまで処理しなければならないため、このような場合もプリスキャンに含むものとする。   The means for adding a flag for instructing the image expansion by the software to the display list can be executed at the same time when the display list is generated. However, the number of objects and the mutual positional relationship can be substantially extracted. Such a case is also included in the pre-scan.

画像伸張は他のパイプライン処理と非同期に、ページ描画処理の開始と共に開始してもよい。この場合JPEG画像のオブジェクトが同一走査線で開始されるものでなくてもソフトウェアによる伸張を混在させることも有り得る。   Image decompression may be started simultaneously with the start of the page drawing process, asynchronously with other pipeline processes. In this case, even if the JPEG image object does not start on the same scanning line, it is possible to mix expansion by software.

レンダリング・システムの構成図Rendering system configuration diagram レンダリング・システムにおける機能の流れFunctional flow in the rendering system 画素シーケンシャル・レンダリング装置の構成図Configuration diagram of pixel sequential rendering device 描画オブジェクトの例Drawing object example 描画オブジェクトの例Drawing object example レンダリング・システムにおける機能の流れFunctional flow in the rendering system ソフトウェア処理フラグ生成の流れSoftware processing flag generation flow ソフトウェア処理フラグ付コマンド生成の流れFlow of command generation with software processing flag ソフトウェア処理フラグ付コマンドによる制御の流れFlow of control using commands with software processing flags 表示リストと内部コマンドとシステムRAMの参照関係Reference relationship between display list, internal command and system RAM

符号の説明Explanation of symbols

10 レンダリング・システム
11 CPU
12 RAM
13 ROM
14 画像出力装置
15 バス
16 画素シーケンシャル・レンダリング装置
21 オブジェクト・グラフィック記述
22 表示リスト生成
23 表示リスト・ストア
24 −
25 画素出力
300 画素シーケンシャル・レンダリング装置
301 命令実行部
302 辺処理部
303 優先度決定部
304 画素データ決定部
305 色合成部
306 画素出力部
307 互換性保証部
308 バスアクセス調停部
309 −
310 画像伸張部
311 PostScript対応辺処理拡張部
312 GDI対応辺処理拡張部
313 JBIG対応画像伸張拡張部
41 描画オブジェクト
42 描画オブジェクト
51 JPEG描画オブジェクト
52 JPEG描画オブジェクト
53 JPEG描画オブジェクト
54 JPEG描画オブジェクト
55 JPEG描画オブジェクト
61 プリスキャン
71 ハードウェア構成読込みステップ
72 表示リスト・ストア読込みステップ
73 オブジェクト情報解析ステップ
74 高負荷機能推定ステップ
75 高負荷機能有無判定ステップ
76 高負荷機能・オブジェクト決定ステップ
77 ソフトウェア処理フラグ付加ステップ
81 命令読込みステップ
82 ソフトウェア処理フラグ判定ステップ
83 ソフトウェア処理フラグ付コマンド生成ステップ
84 通常コマンド生成ステップ
91 コマンド受信ステップ
92 ソフトウェア処理フラグ判定ステップ
93 画像伸張処理ステップ
94 互換性保証部へのコマンド転送ステップ
95 補完性保証部からの応答コマンド受信ステップ
96 画像伸張コマンドに対する応答コマンド発行ステップ
101 命令ストリーム
102 辺情報
103 塗りつぶし情報
104 伸張コマンド
105 塗りつぶしコマンド
10 Rendering system
11 CPU
12 RAM
13 ROM
14 Image output device
15 bus
16 pixel sequential rendering device
21 Object graphic description
22 Display list generation
23 Display List Store
24 −
25 pixel output
300 pixel sequential rendering device
301 Instruction execution part
302 Side processing part
303 Priority determination unit
304 Pixel data decision unit
305 Color composition part
306 Pixel output section
307 Compatibility Assurance Department
308 Bus Access Mediation Department
309 −
310 Image expansion
311 PostScript compatible edge processing extension
312 GDI compatible edge processing extension
313 JBIG compatible image expansion and extension
41 drawing objects
42 drawing objects
51 JPEG drawing objects
52 JPEG drawing objects
53 JPEG drawing objects
54 JPEG drawing objects
55 JPEG drawing objects
61 Prescan
71 Hardware configuration reading step
72 Display list / store read step
73 Object information analysis step
74 High load function estimation step
75 High load function presence / absence judgment step
76 High-load function / object determination step
77 Software processing flag addition step
81 Instruction reading step
82 Software processing flag judgment step
83 Command generation step with software processing flag
84 Normal command generation step
91 Command reception step
92 Software processing flag judgment step
93 Image expansion processing steps
94 Command Transfer Step to Compatibility Assurance Department
95 Response command reception step from complementarity assurance
96 Response command issue step for image expansion command
101 instruction stream
102 Edge information
103 Fill information
104 Decompress command
105 Fill command

Claims (24)

ラスター画素イメージを形成するべくグラフィックオブジェクトの表示リストを処理する方法において、前記表示リストを解析し前記表示リストにフラグを付加する手段と、表示リストに付加されたフラグを判定する手段と、前記判定の結果フラグが立っていない場合に前記表ジリスとに対する処理を実行する第一の処理手段と、前記判定の結果フラグが立っている場合は前記第一の処理手段と同等の手段を実行する第二の処理手段とを有することを特徴とするグラフィックオブジェクト処理方法。   In a method of processing a display list of graphic objects to form a raster pixel image, means for analyzing the display list and adding a flag to the display list, means for determining a flag added to the display list, and the determination First processing means for executing processing on the table ground squirrel when the result flag is not set, and means equivalent to the first processing means when the determination result flag is set And a graphic object processing method. 請求項1に記載のグラフィックオブジェクト処理方法において、表示リストを解析しグラフィックオブジェクトにフラグを付加する手段がソフトウェアとして実装されることを特徴とするグラフィックオブジェクト処理方法。   2. The graphic object processing method according to claim 1, wherein means for analyzing the display list and adding a flag to the graphic object is implemented as software. 請求項1に記載のグラフィックオブジェクト処理方法において、第一の処理手段はハードウェアであり、第二の処理手段はプロセッサと前記プロセッサで実行可能なソフトウェアであることを特徴とするグラフィックオブジェクト処理方法。   2. The graphic object processing method according to claim 1, wherein the first processing means is hardware, and the second processing means is a processor and software executable by the processor. 請求項3に記載のグラフィックオブジェクト処理方法において、フラグを付加する手段は特に表示リストと第一の処理手段の構成を解析してフラグを付加することを特徴とするグラフィックオブジェクト処理方法。   4. The graphic object processing method according to claim 3, wherein the means for adding a flag adds a flag by analyzing the structure of the display list and the first processing means. 請求項1に記載のグラフィックオブジェクト処理方法において、表示リストはグラフィックオブジェクトのプロパティ情報と前記グラフィックオブジェクトのプロパティ情報に対する処理を規定する命令ストリームとから構成されることを特徴とするグラフィックオブジェクト処理方法。   2. The graphic object processing method according to claim 1, wherein the display list includes property information of the graphic object and an instruction stream that defines processing for the property information of the graphic object. 請求項5に記載のグラフィックオブジェクト処理方法において、フラグを付加する手段は特にグラフィックオブジェクトのプロパティ情報を解析することを特徴とするグラフィックオブジェクト処理方法。   6. The graphic object processing method according to claim 5, wherein the means for adding a flag particularly analyzes the property information of the graphic object. 請求項5に記載のグラフィックオブジェクト処理方法において、フラグを付加する手段は特に命令ストリームを解析することを特徴とするグラフィックオブジェクト処理方法。   6. The graphic object processing method according to claim 5, wherein the means for adding a flag particularly analyzes an instruction stream. 請求項5に記載のグラフィックオブジェクト処理方法において、表示リストを解析しグラフィックオブジェクトにフラグを付加するステップにおいて、任意の命令に対してフラグを設定することを特徴とするグラフィックオブジェクト処理方法。   6. The graphic object processing method according to claim 5, wherein in the step of analyzing the display list and adding a flag to the graphic object, a flag is set for an arbitrary instruction. 請求項5に記載のグラフィックオブジェクト処理方法において、表示リストを解析しグラフィックオブジェクトにフラグを付加するステップにおいて、任意のグラフィックオブジェクトのプロパティ情報に対してフラグを設定することを特徴とするグラフィックオブジェクト処理方法。   6. The graphic object processing method according to claim 5, wherein in the step of analyzing the display list and adding a flag to the graphic object, a flag is set for property information of an arbitrary graphic object. . 請求項1に記載のグラフィックオブジェクト処理方法において、第一の処理手段は表示リストを読み込む手段と、表示リストに設定されたフラグのon/offを判定する手段と、第二の処理手段に前記フラグに関連する表示リストのレコードを転送する手段とを有しており、第二の処理手段は第一の処理手段から前記表示リストのレコードを受信する手段を有することを特徴とするグラフィックオブジェクト処理方法。   2. The graphic object processing method according to claim 1, wherein the first processing means reads the display list, the means for determining on / off of the flag set in the display list, and the second processing means to the flag. Graphic object processing method, wherein the second processing means includes means for receiving the display list record from the first processing means. . 請求項1に記載のグラフィックオブジェクト処理方法において、第一の処理手段はさらに複数の処理手段によって構成されることを特徴とするグラフィックオブジェクト処理方法。   2. The graphic object processing method according to claim 1, wherein the first processing means further comprises a plurality of processing means. 請求項11に記載のグラフィックオブジェクト処理方法において、第一の処理手段は複数の処理手段がパイプライン接続されることにより構成されることを特徴とするグラフィックオブジェクト処理方法。   12. The graphic object processing method according to claim 11, wherein the first processing means is constituted by connecting a plurality of processing means in a pipeline connection. 請求項11および請求項12に記載のグラフィックオブジェクト処理方法において、第一の処理手段は表示リストを読み込み第一の処理手段内の動作を規定する内部コマンドを生成する処理手段を含むことを特徴とするグラフィックオブジェクト処理方法。   13. The graphic object processing method according to claim 11, wherein the first processing means includes processing means for reading the display list and generating an internal command for defining an operation in the first processing means. Graphic object processing method. 請求項13に記載のグラフィックオブジェクト処理方法において、内部コマンドはフラグのために予約されたフィールドを有することを特徴とするグラフィックオブジェクト処理方法。   14. The graphic object processing method according to claim 13, wherein the internal command has a field reserved for a flag. 請求項14に記載のグラフィックオブジェクト処理方法において、表示リストを読み込み第一の処理手段内の動作を規定する内部コマンドを生成する処理手段は表示リストに含まれるレコードのうち前記フラグが設定されたレコードに関連する内部コマンドに対してフラグを設定することを特徴とするグラフィックオブジェクト処理方法。   15. The graphic object processing method according to claim 14, wherein the processing means for reading the display list and generating an internal command for defining an operation in the first processing means is a record in which the flag is set among records included in the display list. A graphic object processing method characterized in that a flag is set for an internal command related to. 請求項15に記載のグラフィックオブジェクト処理方法において、第一の処理手段を構成する複数の処理手段のうちの少なくとも一つは内部コマンドが有するフラグのために予約されたフィールドを読む手段と、前記フラグを判定する手段と、前記フラグに応じて処理手段自身に処理を割当てる手段と、前記フラグに応じて第二の処理手段に処理を割当てる手段と、第二の処理手段に前記内部コマンドを転送する手段とを有しており、第二の処理手段は第一の処理手段から内部コマンドを受信する手段と、第一の処理手段から受信したコマンドに対する処理を実行する手段を有することを特徴とするグラフィックオブジェクト処理方法。   16. The graphic object processing method according to claim 15, wherein at least one of a plurality of processing means constituting the first processing means reads a field reserved for a flag included in an internal command, and the flag Means for allocating processing to the processing means itself according to the flag, means for allocating processing to the second processing means according to the flag, and transferring the internal command to the second processing means And the second processing means includes means for receiving an internal command from the first processing means and means for executing processing for the command received from the first processing means. Graphic object processing method. 請求項16に記載のグラフィックオブジェクト処理方法において、第一の処理手段を構成する複数の処理手段のうち内部コマンドが有するフラグのために予約されたフィールドを読む手段と、前記フラグを判定する手段と、前記フラグに応じて処理手段自身に処理を割当てる手段と、前記フラグに応じて第二の処理手段に処理を割当てる手段と、第二の処理手段に前記内部コマンドを転送する手段とを有する処理手段は、さらに第二の処理手段から前記内部コマンドに対する応答を受信する手段を有しており、第二の処理手段は前記内部コマンドに対する処理実行後に前記処理に対する応答を発行する手段を有することを特徴とするグラフィックオブジェクト処理方法。   17. The graphic object processing method according to claim 16, wherein means for reading a field reserved for a flag of an internal command among a plurality of processing means constituting the first processing means, and means for determining the flag A means for assigning a process to the processing means itself according to the flag; a means for assigning a process to the second processing means according to the flag; and a means for transferring the internal command to the second processing means. The means further includes means for receiving a response to the internal command from a second processing means, and the second processing means includes means for issuing a response to the process after executing the process for the internal command. Characteristic graphic object processing method. 請求項11および請求項12に記載のグラフィックオブジェクト処理方法において、第二の処理手段は表示リストを読み込み第一の処理手段および第二の処理手段の動作を規定する内部コマンドを生成する処理手段を含むことを特徴とするグラフィックオブジェクト処理方法。   13. The graphic object processing method according to claim 11, wherein the second processing means includes processing means for reading the display list and generating an internal command for defining operations of the first processing means and the second processing means. A graphic object processing method comprising: 請求項18に記載のグラフィックオブジェクト処理方法において、内部コマンドはフラグのために予約されたフィールドを有することを特徴とするグラフィックオブジェクト処理方法。   19. The graphic object processing method according to claim 18, wherein the internal command has a field reserved for a flag. 請求項19に記載のグラフィックオブジェクト処理方法において、表示リストを読み込み第一の処理手段および第二の処理手段内の動作を規定する内部コマンドを生成する処理手段は表示リストに含まれるレコードのうち前記フラグが設定されたレコードに関連する内部コマンドに対してフラグを設定することを特徴とするグラフィックオブジェクト処理方法。   20. The graphic object processing method according to claim 19, wherein the processing means for reading the display list and generating an internal command for defining an operation in the first processing means and the second processing means is the record included in the display list. A graphic object processing method characterized by setting a flag for an internal command related to a record for which a flag is set. 請求項20に記載のグラフィックオブジェクト処理方法において、第二の処理手段は内部コマンドが有するフラグのために予約されたフィールドを読む手段と、前記フラグを判定する手段と、前記フラグに応じて第二の処理手段自身に処理を割当てる手段と、内部コマンドの種類に応じて第一の処理手段を構成する処理手段のうちの任意の処理手段を選択する手段と、前記フラグに応じて第一の処理手段の前記選択された処理手段に処理を割当てる手段と、第一の処理手段の前記選択された処理手段に前記内部コマンドを転送する手段とを有しており、第一の処理手段を構成する複数の処理手段は第二の処理手段から内部コマンドを受信する手段を有することを特徴とするグラフィックオブジェクト処理方法。   21. The graphic object processing method according to claim 20, wherein the second processing means reads means reserved for a flag included in an internal command, means for judging the flag, and second means according to the flag. Means for assigning processing to the processing means itself, means for selecting an arbitrary processing means among the processing means constituting the first processing means according to the type of internal command, and the first processing according to the flag Means for allocating processing to the selected processing means of means, and means for transferring the internal command to the selected processing means of the first processing means, constituting the first processing means The graphic object processing method, wherein the plurality of processing means includes means for receiving an internal command from the second processing means. 請求項21に記載のグラフィックオブジェクト処理方法において、第二の処理手段は自身に割当てた内部コマンドに対する処理を実行後に第一の処理手段の前記選択された処理手段に内部コマンドに対する処理終了通知を発行する手段を有しており、第一の処理手段を構成する複数の処理手段は第二の処理手段から前記内部コマンドに対する処理終了通知を受信する手段を有することを特徴とするグラフィックオブジェクト処理方法。   22. The graphic object processing method according to claim 21, wherein the second processing means issues a processing end notification for the internal command to the selected processing means of the first processing means after executing the processing for the internal command assigned to itself. And a plurality of processing means constituting the first processing means include means for receiving a processing end notification for the internal command from the second processing means. 請求項1に記載のグラフィックオブジェクト処理方法において、表示リストにフラグを付加する手段は表示リスト内の順序を入れ替えることを特徴とするグラフィックオブジェクト処理方法。   2. The graphic object processing method according to claim 1, wherein the means for adding a flag to the display list changes the order in the display list. 請求項5に記載のグラフィックオブジェクト処理方法において、表示リストにフラグを付加する手段は命令の順序を入れ替えることを特徴とするグラフィックオブジェクト処理方法。   6. The graphic object processing method according to claim 5, wherein the means for adding a flag to the display list changes the order of instructions.
JP2004205954A 2004-07-13 2004-07-13 Graphic object processing method Withdrawn JP2006031160A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004205954A JP2006031160A (en) 2004-07-13 2004-07-13 Graphic object processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004205954A JP2006031160A (en) 2004-07-13 2004-07-13 Graphic object processing method

Publications (1)

Publication Number Publication Date
JP2006031160A true JP2006031160A (en) 2006-02-02

Family

ID=35897469

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004205954A Withdrawn JP2006031160A (en) 2004-07-13 2004-07-13 Graphic object processing method

Country Status (1)

Country Link
JP (1) JP2006031160A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008140323A (en) * 2006-12-05 2008-06-19 Canon Inc Image forming apparatus, and control method and computer program for the same
JP2009282964A (en) * 2008-03-31 2009-12-03 Konica Minolta Systems Lab Inc System and method for rendering print data, and computer readable medium
JP2014182594A (en) * 2013-03-19 2014-09-29 Mitsubishi Electric Corp Parallel rendering device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008140323A (en) * 2006-12-05 2008-06-19 Canon Inc Image forming apparatus, and control method and computer program for the same
JP2009282964A (en) * 2008-03-31 2009-12-03 Konica Minolta Systems Lab Inc System and method for rendering print data, and computer readable medium
JP2014182594A (en) * 2013-03-19 2014-09-29 Mitsubishi Electric Corp Parallel rendering device

Similar Documents

Publication Publication Date Title
US10885607B2 (en) Storage for foveated rendering
US5959867A (en) Computer system and process for efficient processing of a page description using a display list
JP6352546B2 (en) Handling unaligned block transfer operations
JP5596938B2 (en) Image processing apparatus, image processing method, and program
JPH11147335A (en) Plot process apparatus
JP2004318832A (en) Reducing method of number of compositing operations performed in pixel sequential rendering system
US5966136A (en) Efficient method for clipping numerous objects against an arbitrary clipping path
US6894695B2 (en) Apparatus and method for acceleration of 2D vector graphics using 3D graphics hardware
US10762401B2 (en) Image processing apparatus controlling the order of storing decompressed data, and method thereof
KR20080023724A (en) Magnification engine and interface for computers
US6421063B1 (en) Pixel zoom system and method for a computer graphics system
US9600747B2 (en) Image forming apparatus and control method that execute a plurality of rendering processing units in parallel
JP4646436B2 (en) Digital image processing device
US9122977B2 (en) Image processing apparatus and image processing method
EP0928459B1 (en) Computer system and process for page description processing
JP2006031160A (en) Graphic object processing method
JP2008107970A (en) Image forming device
JP6904717B2 (en) Image processing equipment, its control method, and programs
JP4533019B2 (en) Graphic object processing apparatus and graphic object processing method
US8064073B2 (en) Adaptive rasterizer buffer
US11341383B2 (en) Methods and apparatus to detect effective tiling area and fill tiles efficiently
JP2009075805A (en) Image forming apparatus
JPH11224331A (en) Raster image generation device and raster image generation method
CN115904570A (en) Software and hardware combined point 9 picture display method, system, device and storage medium
JP2013091222A (en) Image formation processing apparatus and image processing method

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071002