JP4533019B2 - Graphic object processing apparatus and graphic object processing method - Google Patents
Graphic object processing apparatus and graphic object processing method Download PDFInfo
- Publication number
- JP4533019B2 JP4533019B2 JP2004185239A JP2004185239A JP4533019B2 JP 4533019 B2 JP4533019 B2 JP 4533019B2 JP 2004185239 A JP2004185239 A JP 2004185239A JP 2004185239 A JP2004185239 A JP 2004185239A JP 4533019 B2 JP4533019 B2 JP 4533019B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- arbitration
- graphic object
- bus access
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Bus Control (AREA)
- Image Generation (AREA)
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 graphic object processing apparatus and a graphic object processing method (rendering apparatus) that perform 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 the “Painter'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の問題は、多数の画素がペイント(レンダリング)され、時間的に後のオブジェクトによって上塗り(再レンダリング)されることである。時間的に前の オブジェクトによる画素のペイントは、時間の浪費になる。大量のフレーム・ストアの問題を克服するための方法の1つが、「バンディング(banding)」の使用である。バンディングを使用する時には、一時にフレーム・ストアの一部だけがメモリ内に存在する。描画されるオブジェクトのすべてが、「表示リスト・ストア」に保存される。画像全体は上記と同様にレンダリングされるが、存在するフレーム・ストアの部分の外側をペイント(レンダリング)しようとする画素ペイント(レンダリング)動作は、「クリップ」アウトされる。オブジェクトのすべてが描画された後に、フレーム・ストアの部分を、プリンタ(または他の位置)に送り、フレーム・ストアの別の部分を選択し、この処理を繰り返す。この技法には、ペナルティが伴う。たとえば、描画されるオブジェクトは検討され、何度も(バンドごとに1回)再検討されなければならない。バンドの数が増えるにつれて、レンダリングが必要なオブジェクトの検査が繰り返されるし回数も増える。バンディングの技法は、上塗りのコストという問題を解決しない。 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. 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. Although this technique also overcomes the problem of large frame stores, there is still an overcoat problem.
これらのほかに、大きいフレーム・ストアの問題と上塗りの問題の両方を解決する技法がある。そのような技法の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つ又は複数の欠陥を、実質的に克服するか、少なくとも改善する技法として特開2000−149035(P2000−149035A)「高速ラスタ形式レンダリングのためのグラフィックオブジェクト処理方法および装置」(キヤノン株式会社)が提案されている。 JP 2000-149035 (P2000-149035A) “Graphic Object Processing Method and Apparatus for High-Speed Raster Format Rendering” is a technique for substantially overcoming or at least improving one or more deficiencies associated with this technique. Canon Inc.) has been proposed.
この技法においても各スキャン・ラインが順番に作られる。まず描画される全てのオブジェクトが、それぞれのオブジェクトの描画が開始されるスキャン・ライン順にソートされて表示リスト・ストアに保存される。各スキャン・ラインでは、そのスキャン・ラインと交差するオブジェクトの辺が交差座標の昇順に保持され、これら辺交差の隣接する対のそれぞれについて、対応するオブジェクトに関連する情報を検査して、辺交差の対応する対の間の画素位置のスパンに関するアクティブ・オブジェクトの組を決定し、画素位置のスパンのそれぞれについて、アクティブ・オブジェクトの対応する組を使用して、スパン内の位置のそれぞれの値を決定する。
しかしながら、前述の技術を実施するにあたっては辺処理、アクティブ・オブジェクトの決定、スパン内の画素値の決定および複数アクティブ・オブジェクトの画素値から唯一の画素値の決定のそれぞれを専用ハードウェアによって実現し、それらのハードウェア接続してパイプラインを構成することによって実現するか、または全処理をソフトウェアによってホスト上に実現していた。この場合、ハードウェアによる実装においては、与えられた画素シーケンシャル・レンダリング装置のハードウェアによってある画像を描画する場合に、画像の特徴によっては任意のモジュールまたは機能に処理が集中し、パイプラインストールが発生し、処理速度が律速する可能性があった。 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 to solve the above-described problems, and by changing the arbitration algorithm at the time of bus access by each module constituting the pipeline according to the load relationship between the modules. A graphic object processing apparatus (more specifically, a high-speed pixel sequential rendering apparatus) and a graphic object processing method capable of avoiding or reducing a stall or reducing the influence of the stall are provided.
上記課題を解決するために、本発明によるグラフィックオブジェクト処理装置は、ラスター画素イメージを形成するべくグラフィックオブジェクトの任意の属性に関して予め指定された処理を行うグラフィックオブジェクト処理装置であって、前記グラフィックオブジェクトの任意の属性に関する複数の処理を行う複数の処理手段と、前記複数の処理手段のそれぞれからのバスアクセスを調停するバスアクセス調停手段と、を備え、前記バスアクセス調停手段は、前記複数の処理手段からのバスアクセスを調停結果に基づいてシステムバスに転送するバスインタフェース手段と、前記複数の処理手段それぞれの負荷状態を検出する状態検出手段と、前記状態検出手段による検出結果に基づいてバス調停アルゴリズムを実行し、前記バスインタフェース手段を制御する制御手段とを有し、前記バスアクセス調停手段は、さらに、前記複数の処理手段からのそれぞれのバスアクセスの要求回数をカウントするリクエストカウント手段と、前記リクエストカウント手段の値を予め指定された方法によってデコードしてセレクト信号を生成するデコード手段とを有し、前記制御手段は、前記デコード手段によって生成されるセレクト信号に基づいて前記バス調停アルゴリズムを選択・実行することを特徴とする。 In order to solve the above-described problem, a graphic object processing apparatus according to the present invention is a graphic object processing apparatus that performs a process designated in advance with respect to an arbitrary attribute of a graphic object to form a raster pixel image. A plurality of processing means for performing a plurality of processes relating to an arbitrary attribute; and a bus access arbitration means for arbitrating bus access from each of the plurality of processing means, wherein the bus access arbitration means includes the plurality of processing means. Bus interface means for transferring the bus access to the system bus based on the arbitration result, state detection means for detecting the load state of each of the plurality of processing means, and a bus arbitration algorithm based on the detection result by the state detection means And execute the bus interface Have a control means for controlling the Esu means, said bus access arbitration means further includes a request counting means for counting the number of requests for each of the bus access from the plurality of processing means, the value of the request count means Decoding means for generating a select signal by decoding according to a method specified in advance, wherein the control means selects and executes the bus arbitration algorithm based on the select signal generated by the decode means And
また、本発明によるグラフィックオブジェクト処理方法は、ラスター画素イメージを形成するべくグラフィックオブジェクトの任意の属性に関して予め指定された処理を行うグラフィックオブジェクト処理方法であって、前記グラフィックオブジェクトの任意の属性に関する複数の処理を行う複数の処理手段のそれぞれからのバスアクセスを調停するバスアクセス調停工程と、を備え、前記バスアクセス調停工程は、前記複数の処理手段からのバスアクセスを調停結果に基づいてバスインタフェース手段を介してシステムバスに転送する転送工程と、前記複数の処理手段それぞれの負荷状態を検出する状態検出工程と、前記状態検出工程による検出結果に基づいてバス調停アルゴリズムを実行し、前記バスインタフェース手段を制御する制御工程とを有し、前記バスアクセス調停工程は、さらに、前記複数の処理手段からのそれぞれのバスアクセスの要求回数をリクエストカウンタによってカウントするリクエストカウント工程と、前記カウント工程によって得られたカウント値を予め指定された方法によってデコードしてセレクト信号を生成するデコード工程とを有し、前記制御工程は、前記デコード工程によって生成されるセレクト信号に基づいて前記バス調停アルゴリズムを選択・実行することを特徴とする。 A graphic object processing method according to the present invention is a graphic object processing method for performing a process designated in advance with respect to an arbitrary attribute of a graphic object so as to form a raster pixel image. A bus access arbitration step for arbitrating bus access from each of a plurality of processing means for performing processing, wherein the bus access arbitration step determines bus access from the plurality of processing means based on the arbitration result. A transfer step of transferring to the system bus via the state, a state detection step of detecting the load state of each of the plurality of processing means, a bus arbitration algorithm based on a detection result of the state detection step, and the bus interface means Control to control Possess a degree, the bus access arbitration step further, a request count step of counting by the respective bus access request count request counter from said plurality of processing means, the count value obtained by said counting step And a decoding step of generating a select signal by decoding by a predesignated method, wherein the control step selects and executes the bus arbitration algorithm based on the select signal generated by the decoding step. And
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。 Further features of the present invention will become apparent from the best mode for carrying out the present invention and the accompanying drawings.
本発明のグラフィックオブジェクト装置及び方法によれば、パイプラインを構成するそれぞれのモジュールによるバスアクセス時の調停アルゴリズムを各モジュール間の負荷関係に応じて変更することにより、ストールを回避または軽減するか、またはストールの影響を軽減させることができるようになる。 According to the graphic object device and method of the present invention, the arbitration algorithm at the time of bus access by each module constituting the pipeline is changed according to the load relationship between the modules, thereby avoiding or reducing the stall, Or the influence of a stall can be reduced.
以下で本発明の装置及びその動作について詳細に説明する。 The apparatus of the present invention and its operation will be described in detail below.
<第1の実施形態>
図1は、コンピュータ・グラフィック・オブジェクト画像のレンダリングおよびプレゼンテーションのために構成されたコンピュータ・システム10を概略的に示す図である。このシステムには、システム・ランダム・アクセス・メモリ(RAM)12に関連するホスト・プロセッサ11が含まれ、システムRAM12には、不揮発性のハード・ディスク・ドライブまたは類似の装置と、揮発性の半導体RAMが含まれている。システム10には、システム読取専用メモリ(ROM)13も含まれ、システムROM13は、通常は半導体ROMを基礎とし、多くの場合に、コンパクト・ディスク装置(CD−ROM)によって補足することができる。システム10には、ラスタ式に動作するビデオ表示装置(VDU)またはプリンタなどの、画像を表示するための手段14も組み込むことができる。
<First Embodiment>
FIG. 1 schematically illustrates a
システム10に関して上で説明した構成要素は、バス・システム15を介して相互接続され、IBM PC/ATタイプのパーソナル・コンピュータおよびそれから発展した構成、Sun Sparcstationsおよび類似物など、当技術分野で周知のコンピュータ・システムの通常動作モードで動作可能である。
The components described above with respect to
また図1に図示されているように、画素シーケンシャル・レンダリング装置16は、バス15に接続され、システム10からバス15を介して命令およびデータを供給されるグラフィック・オブジェクト・ベースの記述から導出される画素ベースの画像のシーケンシャル・レンダリングのために構成される。画素シーケンシャル・レンダリング装置16は、オブジェクト記述のレンダリングのためにシステムRAM12を使用することができるが、専用のローカルメモリを実装・使用してもよい。
As also shown in FIG. 1, the pixel
図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
レンダリングされるグラフィック・オブジェクトの記述に必要なデータを識別したので、グラフィック・システム10は、表示リスト生成ステップ22を実行する。
Having identified the data necessary to describe the graphic object to be rendered, the
表示リスト生成22は、取り付けられたROM13およびRAM12を有するホスト・プロセッサ11上で実行されるソフトウェア・モジュールとして実施されることが好ましい。表示リスト生成22では、周知のグラフィック記述言語、グラフィック・ライブラリ呼出しまたは他のアプリケーション固有フォーマットのうちの1つまたは複数で表現されたオブジェクト・グラフィック記述を表示リストに変換する。
The
表示リストは、通常は、表示リスト・ストア23に書き込まれる。表示リスト・ストア23は、一般にRAM12内で形成されるが、その代わりに画素シーケンシャル・レンダリング装置16がローカルに有するメモリ内で形成することもできる。表示リスト・ストア23には、複数の構成要素を含めることができ、その1つは命令ストリームであり、もう1つは辺情報であり、ラスタ画像画素データを含めることができる。
The display list is normally written in the
命令ストリームには、特定の画像内で所望される特定のグラフィック・オブジェクトをレンダリングするために画素シーケンシャル・レンダリング装置16によって読み取られる、命令として解釈可能なコードが含まれる。
The instruction stream includes code that can be interpreted as instructions that are read by the pixel
表示リスト・ストア23は、画素シーケンシャル・レンダリング装置16によって読み取られる。画素シーケンシャル・レンダリング装置16は、表示リストをラスタ画素のストリームに変換し、このストリームは、たとえばプリンタ、ディスプレイまたはメモリ・ストアなどの別の装置に転送することができる。
The
図3はオブジェクト・グラフィック記述21から得られた表示リストを処理して画素を生成する画素シーケンシャル・レンダリング装置の構成図である。
FIG. 3 is a configuration diagram of a pixel sequential rendering apparatus that processes a display list obtained from the object
表示リストにはオリジナルのオブジェクト・グラフィック記述に含まれる描画オブジェクトが副走査線方向(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において16は画素シーケンシャル・レンダリング装置であり後述する31〜38のモジュールから構成されている(そのうち31〜36をパイプラインモジュールと呼ぶものとする)。31は命令実行部であり、システムバスにアクセスして該表示リストを読み込み、命令ストリームを解釈して、後述の32〜35からなる後段のパイプラインモジュールに対する内部コマンドを発行する。32は辺(エッジ)処理部であり、命令実行部31によって発行された内部コマンドに従って該表示リストに含まれる辺情報を読み取り、走査線単位で描画オブジェクトの辺情報を抽出し、該辺情報を走査線方向(x座標)の昇順にソートした後、後述するパイプライン後段に位置するレベル優先度決定部33に該辺情報をメッセージとして転送する。
In FIG. 3,
レベル優先度決定部33は、命令実行部31によって発行された命令に従って該表示リストに含まれるレベルテーブルと辺処理部32によって生成された該辺情報とを読み込み、各走査線毎に各レベルの優先度と活性化された(描画に影響する)画素範囲を決定し、各走査線の該活性化された画素範囲の情報を優先度順にソートして他のレベルの画素との関係情報とともに画素範囲情報とし、後述するパイプライン後段に位置する34の塗りつぶしデータ決定部に該画素範囲情報を転送する。
The level
34は塗りつぶしデータ決定部であり、命令実行部31によって発行された内部コマンドに従って該表示リストに含まれるフィルテーブルとレベル優先度決定部33によって生成された該画素範囲情報とを読み込み、レベル毎に活性化された画素の色を決定し、後述するパイプライン後段に位置する色合成部35にこの活性化された画素の色情報を33から転送されてきた画素範囲情報とともに転送する。
35は色合成部であり、命令実行部31によって発行された内部コマンドに従ってレベル優先度決定部33によって生成された各レベルの画素範囲情報と塗りつぶしデータ決定部34によって決定された画素の色情報をもとに画素単位に色を決定する演算を実行し、画素の最終的な色を生成する。
36は画素出力部であり、色合成部35によって生成された最終画素を接続された外部機器に送出する。37は互換性保証部であり、該表示リストに前述の辺処理部32、レベル優先度決定部33、塗りつぶしデータ決定部34および色合成部35に実装されていない機能を要する内部コマンドが命令実行部31によって発行されたときに、該内部コマンドをソフトウェアの介在によって処理する。
38はバスアクセス調停部であり、辺処理部32、レベル優先度決定部33、塗りつぶしデータ決定部34、色合成部35および互換性保証部37によるシステムバスへのアクセスに対する調停、順序付けを行いシステムバスへアクセスを中継する。
図4は画素シーケンシャル・レンダリング装置によるメモリアクセスを示した図である。図4において231は表示リスト中の命令ストリームであり、232は表示リスト中の辺情報であり、233は表示リスト中の塗りつぶし情報である。40は一時データストアであり、ローカルメモリまたはシステムRAM12に配置されるかまたはローカルメモリとシステムRAM12とに分散して配置される。41は一時データであるところの辺情報ストアであり、42は一時データであるところのレベルテーブルであり、43は一時データであるところの塗りつぶし情報テーブルであり、44は一時データであるところの色合成スタックである。
FIG. 4 is a diagram showing memory access by the pixel sequential rendering apparatus. In FIG. 4, reference numeral 231 denotes an instruction stream in the display list, reference numeral 232 denotes edge information in the display list, and
命令ストリーム231は画素シーケンシャル・レンダリング装置において辺情報232と塗りつぶし情報233とを適切に処理してただしい描画結果を得るための命令実行部31に解釈され得る命令によって構成されている。
The instruction stream 231 includes instructions that can be interpreted by the
辺情報232には、グラフィック・オブジェクトの辺情報が該グラフィック・オブジェクトを分割して得られたセグメントと対応づけられて記録されている。また、それには、各セグメント毎に始点座標および終点のy座標とyの単位増分に対するxの増分と該セグメントが属するオブジェクトと一対一に対応するレベルとオブジェクトを構成する終点座標の続きのセグメントへのポインタと該セグメントがオブジェクトの走査線内における始点か終点かを示す属性とが含まれ、さらに各グラフィック・オブジェクトに対応づけられたレベル情報と、レベル情報毎に透過率や他レベルの画素との関係(演算)を示す属性と塗りつぶし情報へのポインタとが含まれる。 In the edge information 232, edge information of a graphic object is recorded in association with a segment obtained by dividing the graphic object. In addition, for each segment, the start point coordinate, the y coordinate of the end point, the increment of x with respect to the unit increment of y, the level to which the segment belongs, and the segment following the end point coordinate constituting the object. And an attribute indicating whether the segment is a start point or an end point in the scanning line of the object, level information associated with each graphic object, and transmittance and other level pixels for each level information. And an attribute indicating the relationship (operation) and a pointer to the fill information.
塗りつぶし情報233には、単一色による塗りつぶしやグラデーションやラスター画像貼り付けなどの塗りつぶしのタイプと色情報やラスタ画像の格納アドレスを得るためのデータが含まれる。
The
辺情報ストア41は、辺(エッジ)処理部32が処理対象の走査線上の辺情報を管理するためにアクセスする。レベルテーブル42は、優先度決定部33が各レベルのステータスや属性を管理するためにアクセスする。また、塗りつぶし情報テーブル43は、塗りつぶしデータ決定部34がレベルテーブル42で任意のステータスを有するレベルの色を保持するためにアクセスする。
The
色合成スタック44は色合成部35がある画素における異なるレベル同士の色を合成する際の一次データを保持するためにアクセスする。 The color synthesis stack 44 is accessed to hold primary data when colors of different levels in a pixel are synthesized.
なお、ここでは、表示リスト23、辺(エッジ)情報ストア41、レベルテーブル42および塗りつぶしテーブル43はシステムRAM12に配置され、色合成スタック44は画素シーケンシャル・レンダリング装置16がシステムRAM12と独立に有するローカルメモリに配置されているものとする。
Here, the
以下、図5のような画像に対応するオブジェクト・グラフィック記述を処理する場合を例に取り、図3の画素シーケンシャル・レンダリング装置の動作の概要を説明する。 In the following, an outline of the operation of the pixel sequential rendering apparatus of FIG. 3 will be described by taking as an example the case of processing an object graphic description corresponding to an image as shown in FIG.
図5では、先ず三角形のオブジェクト51が描かれ(レベル1)、その上に重ねて楕円のオブジェクト52が描かれている(レベル2)描画画面を示している。また、レベル0は例えば画像を印刷する場合の紙に相当する最も視点から遠いデフォルトのレベルを表しており、白などのデフォルトのバックグラウンド色を有するものとする。
FIG. 5 shows a drawing screen in which a
図3の画素シーケンシャル・レンダリング装置による処理に先立ってオブジェクト・グラフィック記述はソフトウェアによって表示リストに変換される。表示リストは少なくとも以下に示す情報を含む。 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)y=30からy=140の描画を行う。 (1) Draw from y = 30 to y = 140.
(2)y=30からy=140までオブジェクト51の領域開始を示す直線の辺がある。直線の場合は分割されず一つのセグメントとして表現される。傾きに関する情報も含む。
(2) From y = 30 to y = 140, there are straight sides indicating the start of the area of the
(3)y=30からy=140までオブジェクト51の領域終端を示す直線の辺がある。直線の場合は分割されず一つのセグメントとして表現される。傾きに関する情報も含む。
(3) From y = 30 to y = 140, there are straight sides indicating the end of the area of the
(4)y=70からy=115までオブジェクト52の領域開始を示す楕円弧の辺がある。正確には楕円弧は短い直線セグメントに分割され、各セグメントの開始位置と傾きの情報とともに含まれる。ひとつの弧を構成する各セグメントの情報はリスト構造をなし、連続するセグメントを追跡することが可能になっている。
(4) From y = 70 to y = 115, there is an elliptical arc side indicating the start of the region of the
(5)y=70からy=115までオブジェクト52の領域終端を示す楕円弧の辺がある。正確には楕円弧は短い直線セグメントに分割され、各セグメントの開始位置と傾きの情報とともに含まれる。ひとつの弧を構成する各セグメントの情報はリスト構造をなし、連続するセグメントを追跡することが可能になっている。
(5) From y = 70 to y = 115, there is an elliptical arc side indicating the end of the region of the
(6)オブジェクト51のレベル(z座標)情報および他のレベルの同一座標の画素との関係(演算)、下位レベル(視点を基準にして遠い側)のオブジェクトの色情報が必要か(即ち透過か不透過か)、塗りつぶし情報へのポインタ情報を含む。
(6) The level (z coordinate) information of the
(7)オブジェクト51のレベル(z座標)情報および他のレベルの同一座標の画素との関係(演算)、下位レベル(視点を基準にして遠い側)のオブジェクトの色情報が必要か(即ち透過か不透過か)、塗りつぶし情報へのポインタ情報を含む。
(7) The level (z coordinate) information of the
(8)オブジェクト51の塗りつぶし情報。
(8) Fill information of the
(9)オブジェクト51の塗りつぶし情報。
(9) Fill information of the
(10)辺情報ストアアドレス
(11)レベルテーブルアドレス
(12)フィルテーブルアドレス
画素シーケンシャル・レンダリング装置16が起動指示を受け付けると、命令実行部31は所定のアドレスから表示リストの命令ストリームを読み込む。処理開始および描画領域がパイプライン下流の各モジュールに内部コマンドによって通知され、さらに辺処理部32には辺テーブルアドレス(10)が内部コマンドによって通知される。また、レベル優先度決定部33にはレベルテーブルアドレス(11)が内部コマンドによって通知され、塗りつぶしデータ決定部34にはフィルテーブルアドレス(12)が内部コマンドによって通知される。この時点でパイプラインの各モジュール、即ち辺処理部32、レベル優先度決定部33、塗りつぶしデータ決定部34および色合成部35はパイプライン上流に位置するモジュールから所定の内部コマンドが転送されてくるまで待機状態となる。
(10) Edge information store address (11) Level table address (12) Fill table address When the pixel
次に命令実行部31は辺処理部32、レベル優先度決定部33、塗りつぶしデータ決定部34および色合成部35に対してy=30から新しい辺(2)(3)を取り込んで描画を開始することを指定する描画開始コマンドを発行する。
Next, the
辺処理部32、レベル優先度決定部33、塗りつぶしデータ決定部34および色合成部35ではy=0からy=30までは必要であればデフォルト(バックグラウンド色)画素を生成する。この間辺処理部32およびレベル優先度決定部33ではy=30からの処理を開始している。塗りつぶしデータ決定部34ではy=0からy=30の領域の処理として、デフォルト即ちバックグラウンドのレベルに対して走査線方向の全画素にバックグラウンド色を生成し、該バックグラウンド色を有する画素が色合成部35を通り(画素間演算処理されずに)最終画素として画素出力部36を介して出力される。
The
辺処理部32ではy=30までスキップし、y=30からオブジェクト51に属する2つの辺が発生することを検出する。そして、システムRAM12にアクセスしてセグメント情報を読み込み、辺情報を抽出して、システムRAM12上に割り当てられた辺テーブルに該2つの辺を登録して追跡を開始する。これら2つの辺は同一オブジェクトに属するため既にxオーダーでソートされた状態であり、そのままレベル優先度決定部33に内部コマンドで通知される。任意の走査線から次の走査線へ辺処理が移行する際には辺のソートが行われ、システムRAM12上に割り当てられた辺情報ストア41からの読み出しと書き込みが発生する。
The
レベル優先度決定部33はこれら2つの辺情報が属するオブジェクトを検出し、2つの辺間でレベル1を活性状態にして、システムRAM12上に割り当てられたレベルテーブル42に2つの辺間のレベル1の状態が活性状態であることを記録する。
The level
さらに、表示リストからレベル1の塗りつぶし情報へのポインタを読み込み、内部コマンドを発行して2つの辺のx座標とレベル1の塗りつぶし情報へのポインタを塗りつぶしデータ決定部34に通知する。
Further, a pointer to the
塗りつぶしデータ決定部34は、指定された塗りつぶし情報に従ってシステムRAM12上に割り当てられたフィルテーブル43を検索し、フィルテーブル43に従って2つの辺間の画素の色を決定し、各画素を色合成部35に通知する。また、これら2つの辺間にない領域に対してはy=0からy=30までと同様にデフォルト色を生成して色合成部35に通知する。
The fill
色合成部35では複数レベル間の画素の演算処理が必要ないため、塗りつぶしデータ決定部34から受信した画素をそのまま最終画素として出力する。
Since the
辺処理部32はy=70から楕円のオブジェクトに属する2つの辺の追跡を開始する。y=70から新しい辺が追加されることも命令ストリーム231の命令で指示されており、命令実行部が該命令を解釈することにより内部コマンドを生成し辺処理部32に転送される。ここでは後から加わった2つの辺は三角形オブジェクト51の辺よりもxが大きな座標に位置しているため、辺のソートを行う必要はない(ただし、辺のx座標を追跡するためにソート処理は行われる。順番が入れ替わらないだけである)。
The
また2つのオブジェクト51と52は重なっていないため、レベル優先度決定部33、塗りつぶしデータ決定部34および色合成部35はy=30からy=69までとほぼ同様に動作する。
Since the two
三角形オブジェクト51の辺と楕円オブジェクト52の辺が交差したあとの走査線では辺情報のソートが必要となる。またオブジェクトが重なりを持つため、同一画素に対して複数のレベルが活性状態になり、画素を決定するための演算が行われるようになる。この様子をy=85の走査線に対する処理を例に挙げて説明する。
The side information needs to be sorted in the scanning line after the side of the
辺処理部32は辺を追跡していく過程で、辺の交差を監視しており、一度交差するとそれ以降は交差した後の順序に従って追跡を続けるものとする。従ってy=85では既に三角形オブジェクト51の辺と楕円オブジェクト52の辺は交差しており、辺のx座標はx0、x1、x2およびx3の順に更新され、レベル優先度決定部33に通知される。
The
レベル優先度決定部33は楕円オブジェクト52の透過率が0でなければ、x0からx1ではレベル1のみを活性状態にし、x1からx2ではレベル1とレベル2を活性状態にし、x2からx3ではレベル2のみを活性状態にする。また、楕円オブジェクト52の透過率が0であれば、x0からx1ではレベル1のみを活性状態にし、x1からx3ではレベル2のみを活性状態にする。以降は楕円オブジェクト52の透過率が0でない場合について説明を続ける。活性状態となっているレベルと両端の辺情報は塗りつぶしデータ決定部34に通知される。
If the transmittance of the
塗りつぶしデータ決定部34はx=0からx=x0まではデフォルトレベルのデフォルト色を生成する。x0からx1まではレベル1の属性に従ってレベル1の画素の色を生成する。x1からx2まではレベル1の属性に従ってレベル1の画素の色を生成すると共に、レベル2の属性に従ってレベル2の画素の色を生成する。x2からx3まではレベル2の属性に従ってレベル2の画素の色を生成する。x3から描画サイズの右端までの画素に対してはデフォルトレベルのデフォルト色を生成し、画素オーダーで色合成部35に転送する。
The fill
色合成部35はx=0からx1の間は塗りつぶしデータ決定部34より受け取った画素色をそのまま出力する。x1からx2に対してはデフォルト色に対してレベル1の色がレベル1に指定されている演算によって重ねられて色合成スタック44に積まれ、次に色合成スタック44に積まれたデータに対してレベル2の色をレベル2に対して指定されている演算を適用して重ねあわせることにより最終的な画素の色を出力する。x2から描画サイズ右端までの画素に対しては再び塗りつぶしデータ決定部34より受け取った画素色をそのまま出力する。ただし、以上の処理においてはデフォルト色に対しては何もしない場合もあり得る。
The
以上のような処理がパイプライン的に実行される。即ち、命令実行部31、辺処理部32、レベル優先度決定部33、塗りつぶしデータ決定部34および色合成部35の各モジュールは、自分の処理が終了すると次の処理を実行するモジュールに内部コマンドを発行して処理を依頼し、次の処理が可能になると前の処理を実行するモジュールからの内部コマンドを受け付ける状態になる。内部で処理を実行しているか、バッファがフルとなり新たな処理を受け付けられない場合は、前の処理を実行するモジュールとのパスを通じてビジー状態を通知し、処理を受け付けないことを通知する。ビジー状態を通知されたモジュールは内部コマンドを後の処理を実行するモジュールに転送することはできず、ストールが発生する。
The above processing is executed in a pipeline manner. That is, each module of the
以上のように、命令実行部31による表示リストの命令ストリーム231の読み込み、辺処理部32による表示リストの辺情報232の読み込みと辺情報ストア41の読み書き、優先度決定部33によるレベルテーブル42の読み書き、塗りつぶしデータ決定部34による表示リストの塗りつぶし情報233の読み込みと塗りつぶしデータテーブル43の読み書きにおいてバスアクセス調停部38を介してシステムRAM12アクセスが発生する。
As described above, the
命令実行部31、辺処理部32、優先度決定部33および塗りつぶしデータ決定部34によるシステムRAM12へのアクセスの際のレイテンシは画素シーケンシャル・レンダリング装置16全体の処理時間に影響する。また、命令実行部31、辺処理部32、優先度決定部33および塗りつぶしデータ決定部34の負荷は常に一定ではなく、描画対象の画像によって任意のモジュールに負荷が集中することが生じ得る。例えばオブジェクトの数は多いが、不透明なオブジェクトに多くのオブジェクトが上書きされていて活性状態になるレベルが少ない場合には辺処理部32は負荷が高いが、他のモジュールの負荷はあまり高くなかったり、ほとんど重なりがないか、重なっていても多くのオブジェクトが完全に不透明でない場合には活性状態になるレベルが多く発生し全体に負荷が高くなったりする。
Latency when accessing the
さらに、命令実行部31、辺処理部32、優先度決定部33、塗りつぶしデータ決定部34、色合成部35および画素出力部36はパイプライン状に接続されているため、いずれかのモジュール間でストールが発生すると、画素シーケンシャル・レンダリング装置16全体としての処理速度の低下につながる可能性がある。前記処理速度低下の回避または低減は、命令実行部31、辺処理部32、優先度決定部33および塗りつぶしデータ決定部34の負荷に応じてバスアクセス調停部38の調停アルゴリズムを変更することで、システムRAM12へのアクセスのレイテンシを軽減し、パイプラインのストールを軽減することによって達成可能な場合が有り得る。
Furthermore, since the
第1の実施形態は、命令実行部31、辺処理部32、優先度決定部33および塗りつぶしデータ決定部34によるバスアクセスの頻度により各パイプライン・モジュール間の負荷関係を推定する。図6にバスアクセス調停部38における調停部の構成を示す。図6では辺処理部32のみを示したが、他のパイプライン・モジュール、互換性保証部37も同様に接続されている。
In the first embodiment, the load relationship between each pipeline module is estimated based on the frequency of bus access by the
図6において、3861はバスインタフェース部であり、3862は各パイプライン・モジュールからのバスアクセスリクエストをカウントするカウンタである。3863は各パイプライン・モジュールからのバスアクセス回数の値をもとに任意の値のセレクト信号に変換するエンコーダであり、3865はそれぞれ異なる調停アルゴリズムを有する複数の調停部である。3865はセレクタであり、エンコーダ3863によって与えられるセレクト信号に基づいて複数の調停部3864のいずれかの調停結果をバスインタフェース3861に提供する。3866は任意の期間ごとのバスリクエストをカウントするように、カウンタ3862に対して任意の期間でリセットを発行するリセットジェネレータである。
In FIG. 6,
61は命令実行部31から辺処理部32へのコマンド転送バスであり、62は辺処理部32から優先度決定部33へのコマンド転送バスである。63は辺処理部32から命令実行部31へコマンドを受け付けられないことを通知するビジー信号であり、64は優先度決定部33から辺処理部32へコマンドを受け付けられないことを通知するビジー信号であり、65は辺処理部32がバスアクセス調停部38に対してバスアクセスの際アサートするバスリクエスト信号である。
61 is a command transfer bus from the
以上の構成によって、任意の期間における各パイプライン・モジュールからのバスアクセスの発生頻度を各パイプライン・モジュールにおける負荷の高さと関連する情報とみなして調停アルゴリズムを変更する。 With the above configuration, the arbitration algorithm is changed by regarding the occurrence frequency of bus access from each pipeline module in an arbitrary period as information related to the load level in each pipeline module.
<第2の実施形態>
第2の実施形態は、辺処理部32、優先度決定部33および塗りつぶしデータ決定部34によるビジー信号アサートの頻度により各パイプライン・モジュール間の負荷関係を推定する。図7にバスアクセス調停部38における調停部の構成を示す。図7では説明の単純化のため辺処理部32のみを示したが、命令実行部31以外の他のパイプライン・モジュールも同様に接続されている。
<Second Embodiment>
In the second embodiment, the load relationship between the pipeline modules is estimated based on the frequency of busy signal assertion by the
図7において、3871はバスインタフェース部であり、3872は各パイプライン・モジュールのビジー信号63を監視してアサート回数をカウントするカウンタである。3873は各パイプライン・モジュールからのビジー信号アサート回数の値をもとに任意の値のセレクト信号に変換するエンコーダであり、3874はそれぞれ異なる調停アルゴリズムを有する複数の調停部である。
In FIG. 7, 3871 is a bus interface unit, and 3872 is a counter that monitors the
3875はエンコーダ3873によって与えられるセレクト信号に基づいて複数の調停部3874のいずれかの調停結果をバスインタフェース3871に提供するセレクタであり、3876は任意の期間ごとのビジー信号アサート回数をカウントするように、カウンタ3872に対して任意の期間でリセットを発行するリセットジェネレータである。
以上の構成によって、任意の期間における各パイプライン・モジュールからのビジー信号のアサート頻度を各パイプライン・モジュールにおける負荷の高さと関連する情報とみなして調停アルゴリズムを変更する。 With the above configuration, the arbitration algorithm is changed by regarding the assertion frequency of the busy signal from each pipeline module in an arbitrary period as information related to the load height in each pipeline module.
<第3の実施形態>
第3の実施形態は、辺処理部32、優先度決定部33および塗りつぶしデータ決定部34において任意の時点で処理している走査線上のオブジェクト情報によって各パイプライン・モジュール間の負荷関係を推定する。図7にバスアクセス調停部38における調停部の構成を示す。図8では辺処理部32のみを示したが、命令実行部31以外の他のパイプライン・モジュールも同様に接続されている。
<Third Embodiment>
In the third embodiment, the load relationship between each pipeline module is estimated based on the object information on the scanning line processed at an arbitrary time in the
図8において、3881はバスインタフェース部であり、3883は各パイプライン・モジュールからのオブジェクト情報の値をもとに任意の値のセレクト信号に変換するエンコーダである。3884はそれぞれ異なる調停アルゴリズムを有する複数の調停部であり、3885はエンコーダ3883によって与えられるセレクト信号に基づいて複数の調停部3884のいずれかの調停結果をバスインタフェース3881に提供するセレクタである。81は辺処理部32がその時点で処理している辺の数などのオブジェクト情報を通知する信号である。
In FIG. 8,
図8には辺処理部32のみを示したが、例えば命令実行部31ではその時点で読み込んだ命令の種別をエンコーダ3883に対して出力し、優先度決定部33ではその時点で処理している走査線上に存在するレベルの数をエンコーダ3883に対して出力し、画素データ決定部34では活性化されたレベルの数と塗りつぶしのアルゴリズムの種別に関する情報をエンコーダ3883に対して出力する。
Although only the
以上の構成によって、任意の期間における各パイプライン・モジュールにおいて任意の時点で処理されているオブジェクトに関する情報を各パイプライン・モジュールにおける負荷の高さと関連する情報とみなして調停アルゴリズムを変更する。 With the above configuration, the arbitration algorithm is changed by regarding the information on the object being processed at an arbitrary time in each pipeline module in an arbitrary period as information related to the load level in each pipeline module.
<その他の実施形態>
第1の実施形態、第2の実施形態及び第3の実施形態の任意の組み合わせにより、バスリクエスト頻度とビジー発生頻度との情報をエンコードして調停アルゴリズムを変更する方法、バスリクエスト発生頻度とオブジェクト情報をエンコードして調停アルゴリズムを変更する方法、ビジー発生頻度とオブジェクト情報をエンコードして調停アルゴリズムを変更する方法、およびバスリクエスト発生頻度とビジー発生頻度とオブジェクト情報とをエンコードして調停アルゴリズムを変更する方法が実施可能である。
<Other embodiments>
Method for changing arbitration algorithm by encoding information of bus request frequency and busy occurrence frequency by any combination of first embodiment, second embodiment, and third embodiment, bus request occurrence frequency and object Encoding information to change the arbitration algorithm, Busy frequency and object information to encode the mediation algorithm, and Bus request frequency, busy frequency and object information to encode the mediation algorithm Can be implemented.
<実施形態の効果>
以上説明したように第1乃至第3の実施形態によれば、パイプラインを構成するそれぞれのモジュールによるバスアクセス時の調停アルゴリズムを前記各モジュール間の負荷関係に応じて変更することにより、ストールを回避または軽減するか、またはストールの影響を軽減させ、高速な画素シーケンシャル・レンダリング装置を提供することができる。
<Effect of embodiment>
As described above, according to the first to third embodiments, the stall algorithm is changed by changing the arbitration algorithm at the time of bus access by each module constituting the pipeline according to the load relationship between the modules. A high-speed pixel sequential rendering device can be provided by avoiding or reducing or reducing the influence of stall.
Claims (12)
前記グラフィックオブジェクトの任意の属性に関する複数の処理を行う複数の処理手段と、
前記複数の処理手段のそれぞれからのバスアクセスを調停するバスアクセス調停手段と、を備え、
前記バスアクセス調停手段は、
前記複数の処理手段からのバスアクセスを調停結果に基づいてシステムバスに転送するバスインタフェース手段と、
前記複数の処理手段それぞれの負荷状態を検出する状態検出手段と、
前記状態検出手段による検出結果に基づいてバス調停アルゴリズムを実行し、前記バスインタフェース手段を制御する制御手段とを有し、
前記バスアクセス調停手段は、さらに、前記複数の処理手段からのそれぞれのバスアクセスの要求回数をカウントするリクエストカウント手段と、前記リクエストカウント手段の値を予め指定された方法によってデコードしてセレクト信号を生成するデコード手段とを有し、
前記制御手段は、前記デコード手段によって生成されるセレクト信号に基づいて前記バス調停アルゴリズムを選択・実行する、
ことを特徴とするグラフィックオブジェクト処理装置。 A graphic object processing device that performs a pre-specified process on an arbitrary attribute of a graphic object to form a raster pixel image,
A plurality of processing means for performing a plurality of processes relating to arbitrary attributes of the graphic object;
Bus access arbitration means for arbitrating bus access from each of the plurality of processing means,
The bus access arbitration means includes:
Bus interface means for transferring bus access from the plurality of processing means to the system bus based on the arbitration result; and
State detecting means for detecting a load state of each of the plurality of processing means;
Performs bus arbitration algorithm based on the detection result by the state detecting means, have a control means for controlling said bus interface means,
The bus access arbitration means further includes a request count means for counting the number of bus access requests from each of the plurality of processing means, and a value of the request count means is decoded by a method designated in advance to obtain a select signal. Decoding means for generating,
The control means selects and executes the bus arbitration algorithm based on a select signal generated by the decoding means ;
A graphic object processing apparatus.
前記グラフィックオブジェクトの任意の属性に関する複数の処理を行う複数の処理手段と、
前記複数の処理手段のそれぞれからのバスアクセスを調停するバスアクセス調停手段と、を備え、
前記バスアクセス調停手段は、
前記複数の処理手段からのバスアクセスを調停結果に基づいてシステムバスに転送するバスインタフェース手段と、
前記複数の処理手段それぞれの負荷状態を検出する状態検出手段と、
前記状態検出手段による検出結果に基づいてバス調停アルゴリズムを実行し、前記バスインタフェース手段を制御する制御手段とを有し、
前記複数の処理手段のそれぞれは、新たに入力を受け付けられないことを示すビジー信号を出力するビジー信号出力手段を有し、
前記バスアクセス調停手段は、さらに、前記複数の処理手段のそれぞれのビジー信号出力手段が出力する前記ビジー信号がアサートされる回数をカウントするアサートカウント手段と、該アサートカウント手段がカウントしたカウント値を予め指定された方法によってデコードしてセレクト信号を出力するデコード手段とを有し、
前記制御手段は、前記デコード手段によって生成されるセレクト信号に基いて前記バス調停アルゴリズムを選択・実行することを特徴とするグラフィックオブジェクト処理装置。 A graphic object processing device that performs a pre-specified process on an arbitrary attribute of a graphic object to form a raster pixel image,
A plurality of processing means for performing a plurality of processes relating to arbitrary attributes of the graphic object;
Bus access arbitration means for arbitrating bus access from each of the plurality of processing means,
The bus access arbitration means includes:
Bus interface means for transferring bus access from the plurality of processing means to the system bus based on the arbitration result; and
State detecting means for detecting a load state of each of the plurality of processing means;
Control means for executing a bus arbitration algorithm based on the detection result by the state detection means and controlling the bus interface means,
Each of the plurality of processing means has a busy signal output means for outputting a busy signal indicating that an input cannot be newly accepted,
The bus access arbitration means further includes an assert count means for counting the number of times the busy signal output from each busy signal output means of the plurality of processing means is asserted, and a count value counted by the assert count means. Decoding means for decoding by a method designated in advance and outputting a select signal;
Wherein the control means, wherein the to-tolyl La Fick object processing apparatus that the selected and performs bus arbitration algorithm based on a select signal generated by said decoding means.
前記グラフィックオブジェクトの任意の属性に関する複数の処理を行う複数の処理手段と、
前記複数の処理手段のそれぞれからのバスアクセスを調停するバスアクセス調停手段と、を備え、
前記バスアクセス調停手段は、
前記複数の処理手段からのバスアクセスを調停結果に基づいてシステムバスに転送するバスインタフェース手段と、
前記複数の処理手段それぞれの負荷状態を検出する状態検出手段と、
前記状態検出手段による検出結果に基づいてバス調停アルゴリズムを実行し、前記バスインタフェース手段を制御する制御手段とを有し、
前記複数の処理手段のそれぞれは、処理中のグラフィックオブジェクトの属性に関する情報を出力し、
前記バスアクセス調停手段は、前記複数の処理手段からの前記グラフィックオブジェクトの属性に関する情報を予め指定された方法によってデコードしてセレクト信号を出力するデコード手段を有し、
前記制御手段は、前記デコード手段によって生成される前記セレクト信号に基づいて前記バス調停アルゴリズムを選択・実行することを特徴とするグラフィックオブジェクト処理装置。 A graphic object processing device that performs a pre-specified process on an arbitrary attribute of a graphic object to form a raster pixel image,
A plurality of processing means for performing a plurality of processes relating to arbitrary attributes of the graphic object;
Bus access arbitration means for arbitrating bus access from each of the plurality of processing means,
The bus access arbitration means includes:
Bus interface means for transferring bus access from the plurality of processing means to the system bus based on the arbitration result; and
State detecting means for detecting a load state of each of the plurality of processing means;
Control means for executing a bus arbitration algorithm based on the detection result by the state detection means and controlling the bus interface means,
Each of the plurality of processing means outputs information on attributes of the graphic object being processed,
The bus access arbitration unit includes a decoding unit that decodes information about the attribute of the graphic object from the plurality of processing units by a method designated in advance and outputs a select signal.
The control means, the select signal the feature and be tolyl La Fick object processing apparatus to select and execute the bus arbitration algorithm based on generated by said decoding means.
前記グラフィックオブジェクトの任意の属性に関する複数の処理を行う複数の処理手段のそれぞれからのバスアクセスを調停するバスアクセス調停工程と、を備え、
前記バスアクセス調停工程は、
前記複数の処理手段からのバスアクセスを調停結果に基づいてバスインタフェース手段を介してシステムバスに転送する転送工程と、
前記複数の処理手段それぞれの負荷状態を検出する状態検出工程と、
前記状態検出工程による検出結果に基づいてバス調停アルゴリズムを実行し、前記バスインタフェース手段を制御する制御工程とを有し、
前記バスアクセス調停工程は、さらに、前記複数の処理手段からのそれぞれのバスアクセスの要求回数をリクエストカウンタによってカウントするリクエストカウント工程と、前記カウント工程によって得られたカウント値を予め指定された方法によってデコードしてセレクト信号を生成するデコード工程とを有し、
前記制御工程は、前記デコード工程によって生成されるセレクト信号に基づいて前記バス調停アルゴリズムを選択・実行する、
ことを特徴とするグラフィックオブジェクト処理方法。 A graphic object processing method for performing a pre-specified process on an arbitrary attribute of a graphic object to form a raster pixel image,
A bus access arbitration step of arbitrating bus access from each of a plurality of processing means for performing a plurality of processes related to an arbitrary attribute of the graphic object,
The bus access arbitration step
A transfer step of transferring the bus access from the plurality of processing means to the system bus via the bus interface means based on the arbitration result;
A state detection step of detecting a load state of each of the plurality of processing means;
Performs bus arbitration algorithm based on the detection result by the state detecting step, possess a controlling process of controlling the bus interface unit,
The bus access arbitration step further includes a request count step for counting the number of bus access requests from the plurality of processing means by a request counter, and a count value obtained by the count step by a method designated in advance. A decoding step for decoding and generating a select signal,
The control step selects and executes the bus arbitration algorithm based on a select signal generated by the decoding step .
A graphic object processing method characterized by the above.
前記グラフィックオブジェクトの任意の属性に関する複数の処理を行う複数の処理手段のそれぞれからのバスアクセスを調停するバスアクセス調停工程と、を備え、
前記バスアクセス調停工程は、
前記複数の処理手段からのバスアクセスを調停結果に基づいてバスインタフェース手段を介してシステムバスに転送する転送工程と、
前記複数の処理手段それぞれの負荷状態を検出する状態検出工程と、
前記状態検出工程による検出結果に基づいてバス調停アルゴリズムを実行し、前記バスインタフェース手段を制御する制御工程とを有し、
さらに、前記複数の処理手段のそれぞれから、新たに入力を受け付けられないことを示すビジー信号を受信するビジー信号受信工程を備え、
前記バスアクセス調停工程は、さらに、前記複数の処理手段のそれぞれが出力する前記ビジー信号がアサートされる回数をアサートカウンタによってカウントするアサートカウント工程と、該アサートカウンタがカウントしたカウント値を予め指定された方法によってデコードしてセレクト信号を出力するデコード工程とを有し、
前記制御工程は、前記デコード工程によって生成されたセレクト信号に基いて前記バス調停アルゴリズムを選択・実行することを特徴とするグラフィックオブジェクト処理方法。 A graphic object processing method for performing a pre-specified process on an arbitrary attribute of a graphic object to form a raster pixel image,
A bus access arbitration step of arbitrating bus access from each of a plurality of processing means for performing a plurality of processes related to an arbitrary attribute of the graphic object,
The bus access arbitration step
A transfer step of transferring the bus access from the plurality of processing means to the system bus via the bus interface means based on the arbitration result;
A state detection step of detecting a load state of each of the plurality of processing means;
A bus arbitration algorithm is executed based on the detection result of the state detection step, and the bus interface means is controlled.
Furthermore, a busy signal receiving step of receiving a busy signal indicating that a new input cannot be received from each of the plurality of processing means,
The bus access arbitration step further includes an assert count step of counting the number of times the busy signal output from each of the plurality of processing means is asserted by an assert counter, and a count value counted by the assert counter is designated in advance. A decoding process for decoding by the method and outputting a select signal,
Wherein the control step, wherein the to-tolyl La Fick object processing method that selects and executes the bus arbitration algorithm based on the select signal generated by the decoding process.
前記グラフィックオブジェクトの任意の属性に関する複数の処理を行う複数の処理手段のそれぞれからのバスアクセスを調停するバスアクセス調停工程と、を備え、
前記バスアクセス調停工程は、
前記複数の処理手段からのバスアクセスを調停結果に基づいてバスインタフェース手段を介してシステムバスに転送する転送工程と、
前記複数の処理手段それぞれの負荷状態を検出する状態検出工程と、
前記状態検出工程による検出結果に基づいてバス調停アルゴリズムを実行し、前記バスインタフェース手段を制御する制御工程とを有し、
さらに、前記複数の処理手段のそれぞれから、処理中のグラフィックオブジェクトの属性に関する情報を受信するオブジェクト情報受信工程を備え、
前記バスアクセス調停工程は、さらに、前記複数の処理手段からの前記グラフィックオブジェクトの属性に関する情報を予め指定された方法によってデコードしてセレクト信号を出力するデコード工程を有し、
前記制御工程は、前記デコード工程によって生成された前記セレクト信号に基づいて前記バス調停アルゴリズムを選択・実行することを特徴とするグラフィックオブジェクト処理方法。 A graphic object processing method for performing a pre-specified process on an arbitrary attribute of a graphic object to form a raster pixel image,
A bus access arbitration step of arbitrating bus access from each of a plurality of processing means for performing a plurality of processes related to an arbitrary attribute of the graphic object,
The bus access arbitration step
A transfer step of transferring the bus access from the plurality of processing means to the system bus via the bus interface means based on the arbitration result;
A state detection step of detecting a load state of each of the plurality of processing means;
A bus arbitration algorithm is executed based on the detection result of the state detection step, and the bus interface means is controlled.
Further, an object information receiving step of receiving information on the attribute of the graphic object being processed from each of the plurality of processing means,
The bus access arbitration step further includes a decoding step of decoding information about the attribute of the graphic object from the plurality of processing means by a method designated in advance and outputting a select signal,
Wherein the control step, wherein the to-tolyl La Fick object processing method that selects and executes the bus arbitration algorithm based on the select signal generated by the decoding process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004185239A JP4533019B2 (en) | 2004-06-23 | 2004-06-23 | Graphic object processing apparatus and graphic object processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004185239A JP4533019B2 (en) | 2004-06-23 | 2004-06-23 | Graphic object processing apparatus and graphic object processing method |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006011639A JP2006011639A (en) | 2006-01-12 |
JP2006011639A5 JP2006011639A5 (en) | 2007-08-02 |
JP4533019B2 true JP4533019B2 (en) | 2010-08-25 |
Family
ID=35778863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004185239A Expired - Fee Related JP4533019B2 (en) | 2004-06-23 | 2004-06-23 | Graphic object processing apparatus and graphic object processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4533019B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07134776A (en) * | 1993-05-28 | 1995-05-23 | Nippon Yunishisu Kk | Method and device for image rendering |
JPH07160249A (en) * | 1993-10-15 | 1995-06-23 | Hitachi Ltd | Data processor and data processing system |
JPH10240700A (en) * | 1997-02-28 | 1998-09-11 | Hitachi Ltd | Graphics parallel processor |
JP2000259840A (en) * | 1999-03-11 | 2000-09-22 | Nec Corp | Method of data transfer to rendering processor, pre- rendering-processing data transfer device, system and pre-rendering-processing data generation processor |
-
2004
- 2004-06-23 JP JP2004185239A patent/JP4533019B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07134776A (en) * | 1993-05-28 | 1995-05-23 | Nippon Yunishisu Kk | Method and device for image rendering |
JPH07160249A (en) * | 1993-10-15 | 1995-06-23 | Hitachi Ltd | Data processor and data processing system |
JPH10240700A (en) * | 1997-02-28 | 1998-09-11 | Hitachi Ltd | Graphics parallel processor |
JP2000259840A (en) * | 1999-03-11 | 2000-09-22 | Nec Corp | Method of data transfer to rendering processor, pre- rendering-processing data transfer device, system and pre-rendering-processing data generation processor |
Also Published As
Publication number | Publication date |
---|---|
JP2006011639A (en) | 2006-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10885607B2 (en) | Storage for foveated rendering | |
JP3919754B2 (en) | A method for reducing the number of compositing operations performed in a sequential pixel drawing system | |
JP4365950B2 (en) | Graphic object processing method and apparatus for high-speed raster format rendering | |
JP4343344B2 (en) | A high-speed image rendering method using raster graphic objects | |
US7079146B2 (en) | Image producing device | |
JPH07181951A (en) | Picture display method and picture display as well as picture scaling method | |
JP4154336B2 (en) | Method and apparatus for drawing a frame of a raster image | |
JP6385406B2 (en) | Image processing apparatus, image processing method, and program | |
JPH08297737A (en) | Method and apparatus for clipping of arbitrary graphic | |
US6924820B2 (en) | Over-evaluating samples during rasterization for improved datapath utilization | |
US20160253129A1 (en) | Image forming apparatus and control method therefor | |
EP0658858B1 (en) | Graphics computer | |
JP4646436B2 (en) | Digital image processing device | |
JP3604152B2 (en) | Processor / memory that does not require heavy rendering for page printers | |
CA1200025A (en) | Graphic and textual image generator for a raster scan display | |
JP4533019B2 (en) | Graphic object processing apparatus and graphic object processing method | |
JP4143613B2 (en) | Drawing method and drawing apparatus | |
JP2007122188A (en) | Image forming device, image processing method and program | |
JP2008107970A (en) | Image forming device | |
JP2006031160A (en) | Graphic object processing method | |
JP6904717B2 (en) | Image processing equipment, its control method, and programs | |
JP3517982B2 (en) | Drawing device | |
US20020109853A1 (en) | Generating images quickly in raster image processing | |
JP2001109899A (en) | Image processor | |
JPH0877367A (en) | Image processor and image data processor using it |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070615 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070615 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20070615 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100305 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100315 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100513 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100604 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100611 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130618 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |