WO2006080115A1 - 描画方法、画像生成装置、および電子情報機器 - Google Patents
描画方法、画像生成装置、および電子情報機器 Download PDFInfo
- Publication number
- WO2006080115A1 WO2006080115A1 PCT/JP2005/019387 JP2005019387W WO2006080115A1 WO 2006080115 A1 WO2006080115 A1 WO 2006080115A1 JP 2005019387 W JP2005019387 W JP 2005019387W WO 2006080115 A1 WO2006080115 A1 WO 2006080115A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- pixel
- area
- line
- sub
- drawn
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Definitions
- the present invention relates to a drawing method for generating drawing data in units of pixels, an image generation apparatus, and an electronic information device.
- a polygon representing an object in a three-dimensional space, a two-dimensional image input by a user, etc. are sent to a display device as digital image information in pixel units.
- Non-Patent Document 1 Hardware Acceleration for Spatial Selections and Joins, Chengyu Sun et. Al, UCSB Technical Report (2002-17).
- the present invention has been made in view of such problems, and an object thereof is to provide a technique having a desired drawing shape and capable of generating inconspicuous drawing information of aliasing. Yet another object is to provide antialiasing techniques that are advantageous in terms of computational load and processing speed.
- An aspect of the present invention relates to a drawing method.
- This drawing method draws the line of the drawing object with an area having a width that is an integral multiple of the pixel size in either the horizontal direction or the vertical direction of the display screen with the drawing line as the center. It is characterized in that an area is defined, and a pixel value of the pixel is determined according to a ratio in which a display area of the pixel is included in the drawing area.
- pixel display area refers to an area of a pixel that can display pixel values such as color and density when representing a digital image in pixel units. The area changes with the resolution of the display device or the like.
- FIG. 1 Another aspect of the present invention also relates to a drawing method.
- This drawing method includes, as a boundary, two parallel lines including a line to be drawn and shifted by a predetermined width in either the horizontal direction or the vertical direction of the display screen.
- An area having the end point of two parallel lines as a vertex is defined as the drawing area of the line to be drawn, and the pixel value of the pixel is determined according to the proportion of the display area of the pixel included in the drawing area. It is a feature.
- This drawing method includes, as a boundary, two parallel lines including a line to be drawn and shifted by a predetermined width in either the horizontal direction or the vertical direction of the display screen. Defining an area having the end point of two parallel lines as a vertex as a drawing area of the line to be drawn, and scanning the rectangle including the drawing area and including at least a part of the boundary of the drawing area as a boundary line In the step of setting an area, the scanning area is scanned in units of sub-pixels obtained by dividing the display area of pixels virtually by a predetermined number, and the number of sub-pixels included in the drawing area is calculated. And acquiring the pixel value of the pixel according to a ratio of the number of sub-pixels included in the drawing area among the sub-pixels included in each pixel.
- the image generation apparatus comprises: a drawing information acquisition unit reading information of an image to be drawn; a drawing data generation unit generating drawing data represented on a pixel basis by pixel values based on the information of the image; And a drawing data storage unit for storing data, wherein the drawing data generation unit, when representing the line to be drawn included in the information of the image in pixel units, displays the display screen with the line to be drawn as a center.
- An area having a width that is an integral multiple of the pixel size in one of the horizontal direction and the vertical direction is defined as the drawing area of the line to be drawn, and the display area of the pixel is included in the drawing area.
- it is characterized by setting the pixel value of the relevant pixel.
- an attribute added in general rendering processing such as shading and texture, may be included as appropriate.
- the image generation apparatus includes: a drawing information acquisition unit reading information of an image to be drawn; a drawing data generation unit generating drawing data represented on a pixel basis by each pixel value based on the information of the image; A drawing data storage unit for storing the drawing data generation unit, when the drawing target line included in the image information is expressed in pixel units, the drawing data generation unit includes the line to be drawn, and the line Is a region including two parallel lines shifted by a predetermined width in one of the horizontal direction and the vertical direction of the display screen as a boundary line, and a drawing having an end point of the two flat lines as a vertex is the drawing
- the present invention is characterized in that it is set in a drawing area of a target line, and the pixel value of the pixel is set according to the proportion of the display area of the pixel included in the drawing area.
- FIG. 1 is a block diagram of an image generation apparatus according to the present embodiment.
- FIG. 2 is a block diagram of a drawing block in the present embodiment.
- FIG. 3 is a block diagram of a rasterizer in the present embodiment.
- FIG. 4 is a view for explaining a method of generating pixel information at the time of drawing a triangle in pixel units.
- FIG. 5 is a diagram for explaining a method of generating pixel information at the time of drawing a triangle in units of sub-pixels.
- FIG. 6 is a diagram for explaining a diamond rule method for drawing a line.
- FIG. 7 A diagram for explaining the case where the diamond rule method in drawing a line is performed in units of sub-pixels.
- FIG. 8 is a diagram for explaining a method of generating pixel information at the time of drawing a line in the present embodiment.
- FIG. 9 is a flow chart showing a procedure of generating pixel information at the time of drawing a line in the present embodiment.
- FIG. 10 is a diagram for explaining a scanning method in units of sub-pixels in the present embodiment.
- FIG. 11 is a diagram for explaining a method of determining inside or outside of a pixel or a sub-pixel at the time of drawing a triangle.
- FIG. 12 is a diagram for describing a method of applying a method at the time of drawing a triangle with respect to inside / outside determination of sub-pixels in the present embodiment.
- FIG. 1 is a block diagram of an image generation apparatus 200 according to the present embodiment.
- the image generation apparatus 200 is configured by connecting a drawing block 100, a control block 110, and an input / output block 120 via a bus 150.
- a storage unit 130 and a display unit 140 are connected to the input / output block 120.
- the input / output block 120 may be configured to communicate with other devices via a network to externally acquire data necessary for drawing. It is understood by those skilled in the art that the functional blocks shown in FIG. 1 and the like can be realized in various forms by hardware only, software only, or their combination of threads and combinations thereof. Absent.
- the control block 110 is a block that controls the entire image generating apparatus 200, and synchronization of data transfer between the inside of the image generating apparatus 200 and external peripheral devices such as the storage device 130 and the display device 140. Management, processing of interrupt from each unit in the image generation device 200, management of timer, etc.
- the input / output block 120 reads the three-dimensional model information and various parameters stored in the storage device 130 and provides the read block 100 with the information.
- the input / output block 120 may receive data necessary for drawing an external device via the network and provide it to the drawing block 100.
- the input / output block 120 displays the drawing data output from the drawing block 100 on the display device 140.
- the drawing block 100 generates drawing data based on the three-dimensional model information given from the input / output block 120, and performs rendering processing to write in the frame buffer.
- FIG. 2 is a block diagram of the drawing block 100.
- the rasterizer 10 also receives vertex data of drawing primitives as well as 120 input / output blocks.
- the drawing primitives are generally triangles, and the rasterizer 10 performs view conversion to convert triangles in three-dimensional space into triangles on a drawing plane by projection conversion, and further, draws triangles on a drawing plane of the drawing plane. While scanning along the horizontal direction, it performs raster processing to convert pixels into quantized pixels one by one.
- the rasterizer 10 pixel-expands the drawing primitives and calculates pixel information including RGB color values, ⁇ values, and ⁇ values for each pixel.
- the rasterizer 10 generates a pixel area of a predetermined size (hereinafter, referred to as a drawing target area) along a scanning line, and supplies the pixel area to the drawing operation unit 20 of the subsequent stage.
- drawing operation unit 20 And a texture unit 50 and a texture unit 50, and processing is performed using the memory 40.
- a frame buffer and a texture buffer are provided. Note that the frame buffer and texture buffer may be provided in a single memory or may be provided in physically separate memories.
- the drawing target area supplied from the rasterizer 10 to the drawing operation unit 20 is stacked in a queue, and the shader unit 30 sequentially processes the drawing target area stacked in the queue.
- the sheader unit 30 performs shed processing based on the pixel information calculated by the rasterizer 10, and based on the texel information obtained by the texture unit 50, the pixel color after testia mapping is performed. And write the drawing data to the frame buffer in the memory 40.
- the shader unit 30 further performs processing such as fogging, alpha prening, etc. on the drawing data held in the frame buffer, finds the final drawing color, and updates the drawing data of the frame buffer. .
- the drawing data stored in the frame buffer is read by the input / output block 120 and output to the display device 140.
- the texture unit 50 receives an input of parameters specifying texture data from the shader unit 30, calculates the address of the texture data, and requests necessary texture data from the texture buffer in the memory 40. Do.
- the texture unit 50 caches the texture data read out by the texture buffer force, performs filtering such as linear interpolation and trilinear interpolation, and outputs it to the shader unit 30.
- FIG. 3 is a block diagram of the rasterizer 10.
- the rasterizer 10 receives a vertex data reading unit 12 that receives vertex data of a drawing primitive from an input / output block 120, a view conversion unit 14 that converts vertex data of the drawing primitive into vertex data of a drawing plane coordinate system, and a drawing plane
- a setup processing unit 16 that calculates a function (hereinafter referred to as an edge function) representing a line segment connecting upper vertex coordinates, or sets a scan area used in DDA processing performed in a later stage; By scanning the drawing shape such as a triangle obtained in the horizontal direction of the drawing plane and performing DDA (Digital Differential Analyzer) processing etc.
- DDA Digital Differential Analyzer
- Pixel information generator 18 for acquiring pixel information including color values, ⁇ values, and ⁇ values, and pixel information It includes a pixel information transmission unit 19 that supplies a drawing target area including the pixel information acquired by the generation unit 18 to the drawing operation unit 20.
- FIG. 4 and 5 are diagrams for explaining the processing performed in the pixel information generation unit 18 for triangles for which vertex data and an edge function are obtained in the drawing plane coordinate system
- FIG. 4 is a diagram in pixel units.
- FIG. 5 shows processing in units of sub-pixels obtained by virtually dividing each pixel. In these figures, the display area of one pixel is indicated by a solid line, and the area of one sub-pixel is indicated by a broken line.
- each pixel is inside the triangle 62 or not.
- the pixels determined to be inside the triangle 62 are represented by black circles, and the pixels determined to be outside are represented by white circles.
- Fig. 5 to Fig. 7 and Fig. 8 show the same display.
- the RGB force values and Z values of each pixel are calculated by performing linear interpolation with the sides of the triangle 62 as the end points for the pixels existing inside the triangle 62.
- the difference between the pixels existing inside the triangle 62 and the pixels existing outside becomes remarkable, and jaggies etc. Aliases are noticeable.
- FIG. 5 shows a case where each pixel is virtually divided into four in the vertical direction and the horizontal direction, and one pixel is divided into 16 sub-pixels.
- scanning is sequentially performed in the scanning direction 60 for each row in units of subpixels, and the inside / outside determination of the subpixels with respect to the triangle 62 is performed.
- the number of sub-pixels present inside the triangle 62 is summed up, and the ratio of the number is calculated as an ⁇ value for each pixel. For example, if three sub-pixels out of the sub-pixels constituting a pixel exist inside the triangle 62, the alpha value of that pixel is 3Z16.
- This ⁇ value is used in ⁇ blending processing in the later stage shearer unit 30.
- the pixel value of the inner part of the triangle 62 is ⁇
- the pixel value of the outer part is ⁇
- the pixel values of the pixels are mixed as ⁇ ⁇ + (1- ⁇ ) ⁇ etc., internally dividing the two pixel values ⁇ and ⁇ at a ratio of (1- ⁇ ): ⁇ . Since this pixel value is adjusted according to the positional relationship with triangle 62 by this mixing (plowing) process, pixels outside triangle 62 are compared with the case of FIG. 4 in which no sub-pixel is introduced. And the difference between is relaxed, alias is less noticeable.
- the rasterizer 10 generates both scanning information in pixel units and scanning information in sub-pixel units shown in FIG. 4 and FIG. 5, and alpha blending according to the display contents and the condition of the device.
- the shader unit 30 can also decide whether to process.
- FIG. 6 is a diagram for explaining a Diamond-Exit Rule, which is one of the methods used to generate pixel information of a drawing target line.
- the diamond rule virtually generates a diamond-shaped quadrilateral (hereinafter simply referred to as diamond 64) whose center is at the center of each pixel and whose center is at the middle of the pixel side (hereinafter simply referred to as diamond 64).
- FIG. 7 is a diagram for explaining an aspect when a scanning method in units of subpixels is introduced to drawing a line by the diamond rule. This figure also shows an example in which each pixel is divided into four in the vertical direction and the horizontal direction, and one pixel is divided into 16 sub-pixels.
- the drawing object line 66 is configured if one pixel is considered to be 16 subpixels. In the pixel, it is determined that all 16 sub-pixels constitute the drawing object line 66. In comparison with that, in the processing in units of sub-pixels in FIG. 7, among the sub-pixels included in one pixel, the number of sub-pixels determined to constitute the drawing target line 66 is extremely small as information in pixel units. When the ⁇ value is calculated, the entire value is small.
- the drawing data obtained as a result of the alpha preding in the sheader unit 30 is thinner, thinner, or discontinuous in the color of the drawn line as compared to the case of the processing in pixel unit of FIG. It sometimes looks like Therefore, if alpha-blending processing is performed in order to reduce the aliasing in the shea unit 30, the impression of the drawn line itself may change, t, the problem of being prone to occur. I knew.
- FIG. 8 shows the processing to be performed by the pixel information generation unit 18 with respect to a line obtained by obtaining vertex data and an edge function of the drawing plane coordinate system according to the present embodiment. It is a figure to explain.
- the figure shows an example in which each pixel is divided into four in the vertical direction and in the horizontal direction, and one pixel is divided into 16 sub-pixels.
- the number of sub-pixels is not limited to this, depending on the desired calculation cost, accuracy, etc.
- the method of this embodiment to be set can be applied in any case.
- the line is considered as an area having a predetermined width, and the inside / outside determination of the sub-pixel is performed on the area.
- two shift lines 68 obtained by translating the drawing object line 66 whose edge function is calculated in parallel in the axis direction of the drawing plane coordinate system, and two lines parallel to the moving direction , The parallelogram abed formed by the edge) is called the area.
- FIG. 9 is a flow chart showing the procedure of processing performed in the setup processing unit 16 and the pixel information generation unit 18 according to the present embodiment.
- an edge function is calculated from the two vertex coordinates given for the drawing object line 66 (S10).
- the inclination of the edge function is determined, and if the acute angle between the drawing object line 66 and the X axis of the drawing plane coordinate system is 45 ° or less (Y in S12), the drawing object line 66 is 0.
- the function of the line 68 is calculated (S14).
- d indicates the width of the display area of 1 pixel.
- FIG. 8 shows the case where the acute angle between the drawing object line 66 and the X axis is 45 ° or less and the parallel movement is made in the drawing object line 66 axis direction.
- the acute angle formed by the drawing object line 66 and the X axis of the drawing plane coordinate system is larger than 45 ° (N in S12)
- the drawing object line 66 translates 0.5d and -0.5d parallel in the X axis direction.
- the function of the two shifted shift lines 68 is calculated (S16).
- the acute angle between the drawing object line 66 and the X axis of the drawing plane coordinate system is 45 ° or less (Y in S12)
- the X axis is the major axis
- the y axis is the minor for the drawing object line 66 It is called an axis.
- the acute angle between the drawing object line 66 and the X axis of the drawing plane coordinate system is larger than 45 ° (N in S12)
- the X axis is called the minor axis and the y axis is called the major axis.
- a scan area for detecting sub-pixels included in the parallelogram abed having four points at the start point and end point of the two shift lines 68 is set (S 18), and the scan area The inside and outside of the sub-pixel are judged by running (S20). The scanning method will be described later.
- a ratio of the number of sub-pixels present inside the parallelogram abed among the sub-pixels belonging to each pixel is calculated as an ⁇ value.
- FIG. 10 is a diagram for explaining a scanning method in units of sub-pixels in the present embodiment.
- the scan area ABCD is set in a rectangular shape circumscribed to the parallelogram abed and having sides parallel to the X axis and the y axis of the drawing plane.
- the ends ad and be connecting the end points of the two shift lines 68 are the shift direction axis of the drawing object line 66, that is, the y axis which is the minor axis.
- the boundary of scan area ABCD ie, AD and BC, will coincide with edges ad and be, respectively.
- the scanning area coincides with the edge.
- scanning is sequentially performed, for example, in the horizontal scanning direction 60 for each row in units of sub pixels, as in the case of the inside / outside determination with respect to the triangle described above.
- the scan area ABCD coincides with the edges ad and be, sub-pixels outside the edges ad and be are out of scanning. Therefore, in the run performed here, it is only necessary to determine whether the sub pixel is inside two sides ab and dc.
- FIG. 11 is a view for explaining a method of determining inside or outside of a pixel or a sub-pixel when a drawing target is a triangle.
- the lines representing the edge function of a triangle are marked as e, f and g, and the coordinates on the drawing plane are (X, y).
- inside / outside determination in sub-pixel units is performed.
- set the bounding box to be scanned ie, the scan area.
- the circumscribed rectangle of the triangle formed by the lines e, f and g is the rectangle EFGH.
- the scanning area for the triangle is the circumscribed rectangle EFGH and the scissoring mentioned above It is a rectangular EUH which is a common area with the area.
- the scan is sequentially performed in the negative direction of the y axis in units of subpixels.
- the line f force also scans on the sub-pixels in the positive direction of the X-axis, and the scanned sub-pixels are determined to be inside the triangle.
- the scanning position reaches the line e
- the lower one row of subpixels is scanned similarly.
- a line reaching the side U of the scan area EUH that is, the border line of the scissoring area appears.
- the scanning line 72 when the side U is reached, the scanning is shifted to the next scanning line.
- FIG. 12 is a view for explaining a method of applying a method at the time of drawing a triangle with respect to inside / outside determination of sub-pixels in the present embodiment.
- the edge function corresponding to the two sides ab of the parallelogram abed and the two shift lines 68 forming the dc are two of the three lines forming the side of the triangle shown in FIG. 11, e Set as a function of and f.
- the remaining line g for example, the same function as one side of the border line of the scissoring region is given.
- the scan area is automatically determined to be rectangular ABCD.
- a scanning line 74 having a start point on the side ab is terminated by the edge be and a scanning line 76 having an end point on the edge dc is an edge ad Is the starting point Become. That is, when scanning a row of subpixels that cross the edge, scanning outside the edge is not performed, and the same processing as for the triangle is performed for the two lines e and f. If done, the result is to detect sub-pixels present in the parallelogram abed.
- the minor axis was a y-axis was explained with reference to FIG.
- the other side be on the other side be
- the sub-pixels of are provided with rules such as determining that they are external. This makes it possible to prevent double counting of subpixels at the connection of multiple lines.
- the functions representing the end sides thereof both match as a constant of X or a constant of y. The unevenness due to the end of each line will not appear.
- aliasing is reduced by calculating in advance the region in consideration of the desired line width and performing the inside / outside determination processing in units of sub-pixels, and the force line is reduced. It is possible to draw a line without losing its width or color.
- the area is composed of a function that can be easily obtained simply by translating the drawing object line obtained from the edge function in the axial direction, it is necessary to newly install a divider or the like. Even further Since the side is parallel to the axis of the drawing plane, the function of the nodeware generally mounted on drawing such as triangle can be used as it is for setting the scanning area, and as a result, realization at low mounting cost And the computational load does not increase.
- the operation of the rasterizer 10 is the same also in the force two-dimensional graphics processing mainly describing the configuration for three-dimensional graphics processing.
- the drawing target line is not limited to a straight line, and the same processing can be applied to the curve.
- the width of the area generated by shifting the drawing target line such as a parallel quadrilateral, needs to be the width of the display area of one pixel. The width may be set appropriately according to the user's input etc. .
- the present invention is applicable to electronic devices such as computers, game machines, and televisions that display high-definition images.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
図8において、描画対象線66について与えられた2つの頂点座標から、エッジ関数を算出する。次にエッジ関数の傾き判定を行い、描画対象線66が描画平面座標系のx軸となす鋭角が45゜以下の場合は、1ピクセル分の幅をdとして、描画対象線66をy軸方向に0.5dおよび-0.5d平行移動させた2本のシフト線68の関数を算出する。描画対象線66と描画平面座標系のy軸とがなす鋭角が45゜より大きい場合は、描画対象線66をx軸方向に0.5dおよび-0.5d平行移動させた2本のシフト線の関数を算出する。次に2本のシフト線68の始点および終点の4点を頂点とする平行四辺形abcdに含まれるサブピクセルの数を取得し、それに基づき各ピクセルのピクセル値を設定する。
Description
明 細 書
描画方法、画像生成装置、および電子情報機器
技術分野
[0001] 本発明はピクセル単位の描画データを生成する描画方法、画像生成装置、および 電子情報機器に関する。
背景技術
[0002] 近年のコンピュータゲームやディジタル放送などの分野に利用されるコンピュータグ ラフィックス技術や画像処理技術の著 、進歩に伴!ヽ、 3次元画像などをより精緻に 画面表示することが可能となっている。 3次元空間におけるオブジェクトを表現するポ リゴンや、ユーザが入力した 2次元画像などは、ピクセル単位のディジタル画像情報 として表示装置などへ送出される。
[0003] 元来アナログ情報であった画像や、既知の頂点座標を結ぶ線分などを、ピクセル 単位で表現するには、求められる処理速度や描画精度、ハードウェアへの実装の容 易さなどに応じてその手法が選択される。
[0004] ピクセルは離散的配列であるため、描画したい図形をピクセル単位のデータへ変 換すると、当該図形を構成するピクセルの輪郭が画像上に発現し、ジャギーと呼ばれ るぎざぎざを有する形状で表示されたり、細い線が寸断したり、といった現象が発生 することがある。これらの現象は一般にエイリアシングと呼ばれ、それを軽減するため に解像度を上げて描画するなどのアンチエイリアシングの手法が考案されてきた (例 えば非特許文献 1参照)。
非特干文献 1: Hardware Acceleration for Spatial selections and Joins, Chengyu Sun et. al, UCSB Technical Report (2002—17).
発明の開示
発明が解決しょうとする課題
[0005] し力し、アンチエイリアシングを行うことによってエイリアシングは軽減されるものの、 線の太さなど全体的な印象が元来描画したい形状と異なってしまう問題が生じる場 合があること、また解像度を上げるなどすることによりアンチエイリアシング処理自体
による計算負荷が増大し、高速描画に対する障壁となる場合があること、を本発明者 ίま 9§、識した。
[0006] 本発明はこのような課題に鑑みてなされたものであり、その目的は所望の描画形状 を有しエイリアシングの目立たない描画情報を生成することのできる技術の提供にあ る。さらに別の目的は、計算負荷および処理速度の面で有利なアンチエイリアシング 技術の提供にある。
課題を解決するための手段
[0007] 本発明のある態様は描画方法に関する。この描画方法は、描画対象の線を中心と して、表示画面の水平方向および垂直方向のいずれかの方向にピクセルの大きさの 整数倍の幅をもたせた領域を当該描画対象の線の描画領域に定め、ピクセルの表 示領域が前記描画領域に含まれる割合に応じて、当該ピクセルのピクセル値を決定 することを特徴とする。
[0008] ここで「ピクセルの表示領域」とはディジタルィ匕した画像をピクセル単位で表す際に 、ピクセルが色や濃度などのピクセル値を表示することのできるます目のひとつひと つの領域のことであり、表示装置などの解像度によってその面積が変化する。
[0009] 本発明の別の態様もまた描画方法に関する。この描画方法は、描画対象の線を含 み、当該線を表示画面の水平方向および垂直方向のいずれかの方向に所定の幅だ けシフトさせた 2本の平行線を境界線として含み、前記 2本の平行線の端点を頂点と する領域を当該描画対象の線の描画領域に定め、ピクセルの表示領域が前記描画 領域に含まれる割合に応じて、当該ピクセルのピクセル値を決定することを特徴とす る。
[0010] 本発明の別の態様もまた描画方法に関する。この描画方法は、描画対象の線を含 み、当該線を表示画面の水平方向および垂直方向のいずれかの方向に所定の幅だ けシフトさせた 2本の平行線を境界線として含み、前記 2本の平行線の端点を頂点と する領域を当該描画対象の線の描画領域に定めるステップと、前記描画領域を含み 、前記描画領域の境界線の少なくとも一部を境界線に含む矩形の走査領域を設定 するステップと、ピクセルの表示領域を仮想的に所定数分割して得られたサブピクセ ル単位で前記走査領域内を走査し、前記描画領域に含まれるサブピクセルの数を
取得するステップと、各ピクセルに含まれるサブピクセルのうち、前記描画領域に含ま れるサブピクセルの数の割合に応じて当該ピクセルのピクセル値を設定するステップ と、を含むことを特徴とする。
[0011] 本発明のさらに別の態様は画像生成装置に関する。この画像生成装置は、描画す べき画像の情報を読み込む描画情報取得部と、前記画像の情報に基づき、各ピクセ ル値によってピクセル単位で表現した描画データを生成する描画データ生成部と、 前記描画データを記憶する描画データ記憶部と、を備え、前記描画データ生成部は 、前記画像の情報に含まれる描画対象の線をピクセル単位で表現する際、当該描画 対象の線を中心として、表示画面の水平方向および垂直方向のいずれかの方向に ピクセルの大きさの整数倍の幅をもたせた領域を当該描画対象の線の描画領域に 定め、ピクセルの表示領域が前記描画領域に含まれる割合に応じて、当該ピクセル のピクセル値を設定することを特徴とする。
[0012] 描画データ生成部におけるピクセル値の設定要因には、陰影やテクスチャなど一 般のレンダリング処理で付加される属性を適宜含めてよい。
[0013] 本発明のさらに別の態様もまた画像生成装置に関する。この画像生成装置は、描 画すべき画像の情報を読み込む描画情報取得部と、前記画像の情報に基づき、各 ピクセル値によってピクセル単位で表現した描画データを生成する描画データ生成 部と、前記描画データを記憶する描画データ記憶部と、を備え、前記描画データ生 成部は、前記画像の情報に含まれる描画対象の線をピクセル単位で表現する際、当 該描画対象の線を含み、当該線を表示画面の水平方向および垂直方向のいずれか の方向に所定の幅だけシフトさせた 2本の平行線を境界線として含み、前記 2本の平 行線の端点を頂点とする領域を当該描画対象の線の描画領域に定め、ピクセルの 表示領域が前記描画領域に含まれる割合に応じて、当該ピクセルのピクセル値を設 定することを特徴とする。
[0014] なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コ ンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である
発明の効果
[0015] 本発明によれば、所望の形状を保持しながら、エイリアシングを軽減した線の描画 を実現できる。
図面の簡単な説明
[0016] [図 1]本実施の形態における画像生成装置の構成図である。
[図 2]本実施の形態における描画ブロックの構成図である。
[図 3]本実施の形態におけるラスタライザの構成図である。
[図 4]三角形描画時のピクセル情報の生成をピクセル単位で行う手法を説明する図 である。
[図 5]三角形描画時のピクセル情報の生成をサブピクセル単位で行う手法を説明す る図である。
[図 6]線の描画におけるダイヤモンドルールの手法を説明する図である。
[図 7]線の描画におけるダイヤモンドルールの手法をサブピクセル単位で行う場合を 説明する図である。
[図 8]本実施の形態において線の描画時にピクセル情報を生成する手法を説明する 図である。
[図 9]本実施の形態において線の描画時にピクセル情報を生成する手順を示す流れ 図である。
[図 10]本実施の形態におけるサブピクセル単位の走査手法を説明する図である。
[図 11]三角形描画時のピクセルまたはサブピクセルの内外判定手法を説明する図で ある。
[図 12]本実施の形態におけるサブピクセルの内外判定に関し、三角形描画時の手法 を応用する手法について説明する図である。
符号の説明
[0017] 10· ··ラスタライザ、 12· ··頂点データ読込部、 14· ··ビュー変換部、 16· ··セットァ ップ処理部、 18· ··ピクセル情報生成部、 19· ··ピクセル情報送出部、 20…描画 演算ユニット、 66· ··描画対象線、 68· ··シフト線、 100…描画ブロック、 120· ·· 入出力ブロック、 200…画像生成装置。
発明を実施するための最良の形態
[0018] 図 1は、本実施の形態に係る画像生成装置 200の構成図である。画像生成装置 20 0は、描画ブロック 100と制御ブロック 110と入出力ブロック 120とがバス 150で接続さ れて構成され、入出力ブロック 120には記憶装置 130と表示装置 140が接続される。 入出力ブロック 120は、ネットワーク経由で他の装置と通信して、描画に必要なデー タを外部から取得する構成であってもよい。なお図 1などにおいて示される機能ブロッ クがハードウェアのみ、ソフトウェアのみ、またはそれらの糸且合せによっていろいろな 形で実現できることは当業者には理解されるところであり、いずれかに限定されるもの ではない。
[0019] 制御ブロック 110は、この画像生成装置 200全体を制御するブロックであり、画像生 成装置 200内部と、記憶装置 130、表示装置 140などの外部周辺装置との間のデー タ転送の同期管理、画像生成装置 200内部の各ユニットからの割り込みの処理、タイ マーの管理などを行う。
[0020] 入出力ブロック 120は、記憶装置 130に格納された 3次元モデル情報や各種パラメ ータを読み込み、描画ブロック 100に提供する。入出力ブロック 120は、ネットワーク 経由で外部装置力も描画に必要なデータを受信して、描画ブロック 100に提供しても よい。入出力ブロック 120は、描画ブロック 100が出力する描画データを表示装置 14 0に表示する。
[0021] 描画ブロック 100は、入出力ブロック 120から与えられる 3次元モデル情報をもとに 描画データを生成し、フレームバッファに書き込むレンダリング処理を行う。
[0022] 図 2は、描画ブロック 100の構成図である。ラスタライザ 10は、入出力ブロック 120 力も描画プリミティブの頂点データを受け取る。描画プリミティブは一般的には三角形 であり、ラスタライザ 10は、 3次元空間上の三角形を投影変換により描画平面上の三 角形に変換するビュー変換を行い、さらに、描画平面上の三角形を描画平面の水平 方向に沿って走査しながら、 1列毎に量子化されたピクセルに変換するラスター処理 を行う。ラスタライザ 10により、描画プリミティブがピクセル展開され、各ピクセルにつ いて、 RGBカラー値、 α値、 Ζ値を含むピクセル情報が算出される。
[0023] ラスタライザ 10は、走査線に沿って所定の大きさのピクセル領域 (以下、描画対象 領域という)を生成し、後段の描画演算ユニット 20に与える。描画演算ユニット 20に
は、シエーダユニット 30と、テクスチャユニット 50とが含まれ、メモリ 40を利用しながら 処理が行われる。メモリ 40内には、フレームバッファとテクスチャバッファが設けられる 。なお、フレームバッファとテクスチャバッファは、単一のメモリ内に設けられてもよぐ 物理的に別個のメモリに設けられてもよ 、。
[0024] ラスタライザ 10から描画演算ユニット 20に供給された描画対象領域は、キューにス タックされ、シエーダユニット 30は、キューにスタックされた描画対象領域を順に処理 する。
[0025] シエーダユニット 30は、ラスタライザ 10により算出されたピクセル情報をもとに、シェ ーデイング処理を行い、テクスチャユニット 50により得られたテクセル情報をもとに、テ タスチヤマッピング後のピクセル色を定め、メモリ 40内のフレームバッファに描画デー タを書き込む。シエーダユニット 30は、さらに、フレームバッファに保持された描画デ ータに対して、フオギング、 αプレンデイング等の処理を行い、最終的な描画色を求 め、フレームバッファの描画データを更新する。フレームバッファに記憶された描画デ ータは、入出力ブロック 120により読み出され、表示装置 140に出力される。
[0026] テクスチャユニット 50は、シエーダユニット 30からテクスチャデータを指定するパラメ ータの入力を受け取り、テクスチャデータのアドレスを算出して、メモリ 40内のテクス チヤバッファに対して必要なテクスチャデータを要求する。テクスチャユニット 50は、 テクスチャノ ッファ力ら読み出されたテクスチャデータをキャッシュし、ノ ィリニア補間 、トライリニア補間などのフィルタ処理を施して、シエーダユニット 30に出力する。
[0027] 図 3はラスタライザ 10の構成図である。ラスタライザ 10は、入出力ブロック 120から 描画プリミティブの頂点データを受け取る頂点データ読込部 12と、描画プリミティブ の頂点データをビュー変換によって描画平面座標系の頂点データへ変換するビュー 変換部 14と、描画平面上の頂点座標を結ぶ線分を表す関数 (以後、エッジ関数と呼 ぶ)を算出したり、後段にて行われる DDA処理で用いられる走査領域を設定したり するセットアップ処理部 16と、エッジ関数を取得した三角形などの描画形状を、描画 平面の水平方向に走査し、 1列ごとに DDA(Digital Differential Analyzer)処理などを 施すことにより、描画形状の辺および内部に含まれるピクセルごとに、 RGBカラー値 、 α値、 Ζ値を含むピクセル情報を取得するピクセル情報生成部 18と、ピクセル情報
生成部 18にて取得したピクセル情報を含む描画対象領域を描画演算ユニット 20へ 供給するピクセル情報送出部 19を含む。
[0028] 次に、ラスタライザ 10のピクセル情報生成部 18における動作を説明する。まず本実 施の形態を説明するために、全般的な動作について説明する。図 4および図 5は描 画平面座標系の頂点データおよびエッジ関数が得られている三角形について、ピク セル情報生成部 18において行われる処理について説明する図であり、図 4はピクセ ル単位での処理、図 5は各ピクセルを仮想的に分割したサブピクセル単位での処理 を示している。これらの図において 1ピクセルの表示領域は実線のます目で、 1サブ ピクセルの領域は破線のます目で示されて 、る。
[0029] 図 4に示すピクセル単位の処理では、例えば上から 1行目、 2行目と、水平の走査 方向 60に順次走査を行 、、各ピクセルが三角形 62の内部に存在するか否かの内外 判定を行う。図 4においては三角形 62の内部にあると判定されたピクセルを黒丸、外 部にあると判定されたピクセルを白丸で表している。以後、図 5から図 7、および図 8も 同様の表示を行う。内外判定の後、三角形 62の内部に存在するピクセルについて、 三角形 62の辺を端点とする線型補間を行ごとに行うことにより、各ピクセルの RGB力 ラー値、 Z値を算出する。図 4のようなピクセル単位の処理では、全ての処理が離散 的なピクセル単位で行われるため、三角形 62の内部に存在するピクセルと外部に存 在するピクセルとの差が顕著になり、ジャギーなどのエイリアスが目立ちやすい。
[0030] 図 5は各ピクセルを仮想的に縦方向、横方向に 4分割し、 1ピクセルを 16サブピクセ ルとした場合について示している。このときはサブピクセル単位の行ごとに、走査方向 60に順次走査を行い、三角形 62に対するサブピクセルの内外判定を行う。そして、 各ピクセルに含まれる 16個のサブピクセルのうち、三角形 62の内部に存在するサブ ピクセルの数を集計し、ピクセルごとにその数の割合を α値として算出する。例えば あるピクセルを構成するサブピクセルのうち 3個のサブピクセルが三角形 62の内部に 存在すれば、そのピクセルの α値は 3Z16である。
[0031] この α値は後段のシエーダユニット 30における αブレンディング処理において用い られる。例えば三角形 62の内外にまたがるピクセルの表示領域において、三角形 62 の内側の部分のピクセル値を Α、外側の部分のピクセル値を Βとしたとき、当該ピクセ
ルのピクセル値を α Α+ (1— α ) Βなどとして、 2つのピクセル値 Α、 Βを(1— α ): α の比で内分して混合する。この混合 (プレンデイング)処理によって各ピクセルは、三 角形 62との位置関係によってそのピクセル値が調整されるため、サブピクセルを導 入しない図 4の場合と比較すると、三角形 62の外部にあるピクセルとの差が緩和され 、エイリアスが目立ちにくい。ラスタライザ 10では図 4および図 5に示した、ピクセル単 位での走査による情報、サブピクセル単位での走査による情報の双方を生成してお き、表示内容や装置の状況などに応じて αブレンディング処理を行うかどうかをシェ ーダユニット 30で決定することもできる。
[0032] 次に、描画平面座標系の頂点データおよびエッジ関数が得られている線分 (以下、 描画対象線と呼ぶ)について、ピクセル情報を生成する手法の例を、図 6を参照しな 力 説明する。図 6は描画対象線のピクセル情報生成に用いられる手法のひとつで あるダイヤモンドルール(Diamond-Exit Rule)を説明する図である。ダイヤモンドルー ルは各ピクセルの中心を中心点とし、ピクセルの辺の中点を頂点とするダイヤモンド 形状の四角形 (以下、単にダイヤモンド 64と呼ぶ)を仮想的に発生させ、描画対象線 66が各ダイヤモンド 64を横切るかどうかによつて、描画対象線 66を構成するピクセ ルの判定を行う処理である。同図が示すように、描画対象線 66を構成すると判定さ れたピクセルは離散的であるため、三角形の場合について図 4を用いて説明したのと 同様、当該ピクセルとそれ以外のピクセルとの差が顕著になり、ジャギーなどのェイリ ァスが目立ちやすくなる。
[0033] ここで上述の三角形の場合で導入したサブピクセル単位の走査機能を利用して、 描画線のエイリアスを軽減しょうとした場合を考える。図 7はダイヤモンドルールによる 線の描画にぉ 、て、サブピクセル単位の走査手法を導入したときの態様を説明した 図である。同図も、各ピクセルを縦方向、横方向に 4分割し、 1ピクセルを 16サブピク セルとした例を示して 、る。このサブピクセルごとに上述のダイヤモンドルールを適用 すると、描画対象線 66が横切るダイヤモンドを有するサブピクセル力 当該線を構成 すると判定され、それ以外のサブピクセルは当該線とは関係しないことになる。
[0034] ここで仮に、図 6にて示したピクセル単位のダイヤモンドルールの処理において、 1 ピクセルが 16サブピクセルであると考えると、描画対象線 66を構成すると判定された
ピクセルは 16サブピクセル全てが当該描画対象線 66を構成すると判定していること になる。それと比較すると、図 7のサブピクセル単位の処理では、 1ピクセルに含まれ るサブピクセルのうち、描画対象線 66を構成すると判定されたサブピクセルの数が極 端に少なぐピクセル単位の情報として α値を算出すると全体的に小さい値となる。 そのため、シエーダユニット 30における αプレンディングの結果得られる描画データ は、図 6のピクセル単位の処理の場合と比較すると、描画される線の色が細くなつたり 、薄くなつたり、不連続な線に見えたりすることがある。したがってシエーダユニット 30 において、エイリアスを軽減させようと αプレンデイングの処理を行うようにすると、描 画した線自体の印象まで変化してしまう、 t 、う問題が生じやす 、ことを本発明者は 識した。
[0035] 上述の問題を克服するために、本実施の形態のラスタライザ 10のセットアップ処理 部 16およびピクセル情報生成部 18において行われる処理動作について、以降に説 明する。
[0036] 図 8は本実施の形態にぉ 、て描画平面座標系の頂点データおよびエッジ関数が 得られて!/、る線に対して、ピクセル情報生成部 18にお 、て行われる処理にっ 、て説 明する図である。同図は、各ピクセルを縦方向、横方向に 4分割し、 1ピクセルを 16サ ブピクセルとした例を示している力 サブピクセルの数はこれに限定されず、所望の 計算コストや精度などによって設定してよぐ本実施の形態の手法はどの場合でも適 用可能である。同図に示すとおり、本実施の形態においては当該線を所定の幅を有 する領域と考え、その領域に対してサブピクセルの内外判定を行う。具体的には、ェ ッジ関数を算出した描画対象線 66を描画平面座標系の軸方向に平行移動させてで きた 2本のシフト線 68と、移動方向に平行な 2本の線 (以降、端辺と呼ぶ)によって形 成される平行四辺形 abedをその領域とする。
[0037] 図 9は本実施の形態のセットアップ処理部 16およびピクセル情報生成部 18におい て行われる処理の手順を示す流れ図である。まず、描画対象線 66について与えられ た 2つの頂点座標から、エッジ関数を算出する(S 10)。次にエッジ関数の傾き判定を 行い、描画対象線 66が描画平面座標系の X軸となす鋭角が 45°以下の場合は(S1 2の Y)、描画対象線 66を y軸方向に 0. 5dおよび 0. 5d平行移動させた 2本のシフ
ト線 68の関数を算出する(S14)。ここで dは 1ピクセルの表示領域の幅を示している 。図 8で示した図は、描画対象線 66と X軸とがなす鋭角が 45°以下であり、描画対象 線 66 軸方向に平行移動した場合を示している。一方、描画対象線 66と描画平面 座標系の X軸とがなす鋭角が 45°より大きい場合は(S12の N)、描画対象線 66を X軸 方向に 0. 5dおよび—0. 5d平行移動させた 2本のシフト線 68の関数を算出する(S1 6)。
[0038] 以降、描画対象線 66が描画平面座標系の X軸となす鋭角が 45°以下の場合 (S12 の Y)、当該描画対象線 66に対して X軸をメジャー軸、 y軸をマイナー軸と呼ぶ。一方 、描画対象線 66が描画平面座標系の X軸となす鋭角が 45°より大き 、場合 (S 12の N)、 X軸をマイナー軸、 y軸をメジャー軸と呼ぶ。
[0039] 次に 2本のシフト線 68の始点および終点の 4点を頂点とする平行四辺形 abedに含 まれるサブピクセルを検出するための走査領域を設定し (S 18)、当該走査領域を走 查することによってサブピクセルの内外判定を行う(S20)。走査手法については後述 する。
[0040] その後は上述したサブピクセル導入時の三角形処理の場合と同様、各ピクセルに 属するサブピクセルのうち平行四辺形 abedの内部に存在するサブピクセルの数の割 合を α値として算出する。この α値を用いて、シエーダユニット 30における αプレン デイング処理を行うことにより、その幅がおよそ d、すなわち 1ピクセル分であり、ダイヤ モンドルールなどによってサブピクセルを導入せずに生成したピクセル情報に基づ V、て描画された線と同様の色合 ヽを有し、かつエイリアスが軽減された線を描画する ことができる。
[0041] 次に、図 9の S18および S20において行われる、本実施の形態におけるサブピクセ ル単位の走査手法につ 、て説明する。
[0042] 図 10は本実施の形態におけるサブピクセル単位の走査手法を説明する図である。
まず図 9の S 18で示したように、平行四辺形 abedに外接し、描画平面の X軸および y 軸と平行な辺を有する矩形状に走査領域 ABCDを設定する。本実施の形態では、 平行四辺形 abedの辺のうち、 2本のシフト線 68の端点どうしを結ぶ端辺 adおよび be は描画対象線 66のシフト方向の軸、すなわちマイナー軸である y軸に平行であるか
ら、走査領域 ABCDの境界線の一部、すなわち ADおよび BCは、端辺 adおよび be とそれぞれ一致することになる。マイナー軸が X軸となる描画対象線においても同様 に、走査領域が端辺と一致する。
[0043] 次にこの走査領域 ABCD内を、上述の三角形に対する内外判定と同様に、サブピ クセル単位の行ごとに、例えば水平の走査方向 60に順次走査を行う。前述のとおり 走査領域 ABCDは端辺 adおよび beと一致しているため、端辺 adおよび beに対して 外側にあるサブピクセルは走査の対象外となっている。したがって、ここで行われる走 查では、サブピクセルが 2辺 abおよび dcの内側にあるか否かの内外判定だけで済む ことになる。
[0044] 2辺 abおよび dc上に力かるサブピクセルについては、一方の辺上のサブピクセルを 内在と判定した場合は、他方の辺上のサブピクセルを外在とするなど、描画線の幅 力 り dに近くなるようなルールを設定する。同様に 2辺 adおよび be上に力かるサブピ クセルについては、一方の辺上のサブピクセルを内在と判定したら、もう一方の辺上 のサブピクセルを外在と判定するなどのルールを設ける。これにより、描画対象線の 本来の長さにより近い線が描画できるとともに、複数の線が連続している場合に、接 続部分のサブピクセルを 2重に集計するのを防止することができる。
[0045] 次に、本実施の形態における平行四辺形 abedに対するサブピクセルの内外判定 のための走査手法を、三角形に対して用いられている内外判定機能を応用して、容 易に実現する動作原理につ!、て説明する。
[0046] まず、本実施の形態を理解するために、三角形に対する内外判定の処理について 説明する。図 11は描画対象が三角形の場合の、ピクセルまたはサブピクセルの内外 判定手法を説明する図である。ここで三角形のエッジ関数を表す線は、 e、 f、および gと標記し、描画平面上の座標を (X, y)としている。以降、本実施の形態との整合性 を保っためにサブピクセル単位の内外判定を行うとして説明する。まず走査を行うバ ゥンデイングボックス、すなわち走査領域を設定する。線 e、 f、および gによって形成さ れる三角形の外接矩形は矩形 EFGHである。ここでもし、当該三角形が表示装置に おける画像の表示領域など、描画可能な領域をはみ出している場合、当然そのはみ 出た部分のピクセル情報は表示に必要でないため、走査を行わない。図 11に示すよ
うに、あら力じめ定められた描画可能な領域 (以降、シザリング領域と呼ぶ)を sxO≤x ≤sxl, syO≤y≤sylとした場合、三角形に対する走査領域は、外接矩形 EFGHと 前述のシザリング領域との共通領域である長方形 EUHである。
[0047] 走査領域を設定したら、例えばエッジ関数 eおよび fの交点力 X軸に平行な走査線 上を、 y軸の負の方向へ順次、サブピクセル単位で走査する。例えば走査線 70に示 すように、線 f力も X軸の正方向へサブピクセル上を走査していき、走査されたサブピ クセルは、三角形内部に存在すると判定される。走査位置が線 eまで達したら、ひと つ下のサブピクセルの行を同様に走査する。これを繰り返していくと、いずれ線 eに達 する前に走査領域 EUHの辺 U、すなわちシザリング領域の境界線に達する行が現 れる。このときは、走査線 72に示すように、辺 Uに達した時点で、次の走査線へと走 查を移行する。
[0048] 以上述べた三角形に対するサブピクセルの内外判定では、あら力じめ設定された シザリング領域を表す数値、 sxO、 sxl、 syO、および sylと、三角形の辺を構成する 線 e、 f、および gのエッジ関数とに基づき、走査領域を設定し、サブピクセルの内外判 定を行っている。次に、この三角形に対する内外判定機能を利用して、本実施の形 態における平行四辺形 abedに含まれるサブピクセルの検出を行う場合について説 明する。
[0049] 図 12は本実施の形態におけるサブピクセルの内外判定に関し、三角形描画時の 手法を応用する手法について説明する図である。まず、平行四辺形 abedの 2辺 abお よび dcをなす 2本のシフト線 68に対応するエッジ関数を、図 11で示した三角形の辺 を構成する 3本の線のうちの 2本、 eおよび fの関数として設定する。残りの線 gについ ては、例えばシザリング領域の境界線の一辺と同一の関数を与える。図 12では y= s ylなる関数を与えている。一方、端辺である adおよび beを与える関数は Xに対する 定数であるから、その定数を、シザリング領域の境界線のうち、マイナー軸である y軸 に平行な線、すなわち x = sxOおよび x = sxlの、 sxOおよび sxlとして設定する。
[0050] その結果、走査領域は自動的に長方形 ABCDに定まる。これにより、平行四辺形 a bedに対するサブピクセル単位の走査において、辺 ab上に始点を有するある走査線 74は端辺 beが終点となり、辺 dc上に終点を有するある走査線 76は端辺 adが始点と
なる。すなわち端辺を横切るようなサブピクセルの行を走査する場合は、端辺より外 部の走査を行うことがなくなり、あとは 2本の線 eおよび fに対して三角形の場合と同様 の処理を行えば、結果として平行四辺形 abed内に存在するサブピクセルの検出を行 つたことになる。以上、図 12を参照してマイナー軸が y軸の場合について説明したが 、マイナー軸力 軸の場合でも同様である。具体的には線 gを例えば x = sxlと設定し 、端辺の yに対する定数を、シザリング領域の境界線を与える関数の一部、 y= syO および y= sylの、 syOおよび sylとして設定すればよい。
[0051] ここでは上述のとおり、両端辺 adおよび be上に位置するサブピクセルについては、 例えば一方の端辺 ad上のサブピクセルを平行四辺形に内在と判定したら、もう一方 の端辺 be上のサブピクセルは外在と判定するなどのルールを設ける。これにより、複 数の線の接続部分のサブピクセルの 2重集計を防止できる。また、本実施の形態で はマイナー軸が同一の複数の線が連続している場合、その端辺を表す関数がいず れも Xの定数、もしくは yの定数として一致するため、線の接続部分にそれぞれの線の 端部による凹凸が出現することがなくなる。
[0052] 図 12では端辺 adおよび beを表す、 xに対する定数を、シザリング領域の境界線の 2 辺を表す x= sxOおよび x= sxlの sxOおよび sxlとして設定した。し力し、あらかじめ 設定してある、本来のシザリング領域の境界線が、端辺の少なくとも一方より平行四 辺形 abedの内側に存在する場合は、平行四辺形 abedのうち、本来のシザリング領 域の外部にある領域を走査する必要がなくなる。この場合は、図 11で示した三角形 の場合で説明したように、平行四辺形 abedは当該境界線で切断され、当該境界線と 図 12で示した走査領域 ABCDの一部とが囲む領域力 正規の走査領域となる。この ときも、ただ端辺が平行四辺形 abedの内側へ平行移動したにすぎず、本実施の形 態の作用、効果は同様に得ることができる。
[0053] 以上述べた本実施の形態によれば、所望の線幅を考慮した領域をあら力じめ算出 し、サブピクセル単位の内外判定処理を行うことによって、エイリアスが軽減され、力 つ線幅や色合いなどを損なわない線の描画が可能となる。また、当該領域は、エッジ 関数の得られて ヽる描画対象線を軸方向に平行移動させただけで容易に取得でき る関数により構成されているため、除算器などを新たに実装する必要がなぐさらに端
辺が描画平面の軸と平行であるため、走査領域の設定に関して、三角形などの描画 に一般的に実装されていたノヽードウエアの機能をそのまま利用できるため、結果とし て安価な実装コストでの実現が可能であり、計算負荷も増大しない。さらにマイナー 軸が一致した複数の線が連続した構成を有する描画線の場合、構成する線の端辺 が互いに平行であるため、接続部分における端辺が一致し、連続性に優れた線を描 画することができる。
[0054] 以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それ らの各構成要素や各処理プロセスの組合せに 、ろ 、ろな変形例が可能なこと、また そうした変形例も本発明の範囲にあることは当業者に理解されるところである。
[0055] 本実施の形態では、主に 3次元グラフィックス処理についての構成を述べた力 2 次元のグラフィックス処理においても、ラスタライザ 10の動作は同様である。また、描 画対象線は直線に限られず、同様の処理を曲線に適用することができる。さらに、平 行四辺形など、描画対象線をシフトして発生させた領域の幅は、 1ピクセルの表示領 域の幅である必要はなぐユーザの入力などに応じた幅を適宜設定してよい。これら の変形例においても、所望の形状、幅を有する領域をまず発生させ、それに対して サブピクセル単位の内外判定を、三角形の内外判定機能を利用しながら行い、その 結果に基づきピクセル単位の情報を取得していくことにより、形状、色合いなどへの 影響を最小限に、少ないエイリアスで線を描画することが、実装コスト、処理の負荷を 増大させることなく実現できる。
産業上の利用可能性
[0056] 以上のように本発明は、高精細な画像を表示するコンピュータ、ゲーム機器、テレビ などの電子機器に利用可能である。
Claims
[1] 描画対象の線を中心として、表示画面の水平方向および垂直方向のいずれかの 方向にピクセルの大きさの整数倍の幅をもたせた領域を当該描画対象の線の描画 領域に定め、ピクセルの表示領域が前記描画領域に含まれる割合に応じて、当該ピ クセルのピクセル値を決定することを特徴とする描画方法。
[2] 描画対象の線を含み、当該線を表示画面の水平方向および垂直方向のいずれか の方向に所定の幅だけシフトさせた 2本の平行線を境界線として含み、前記 2本の平 行線の端点を頂点とする領域を当該描画対象の線の描画領域に定め、ピクセルの 表示領域が前記描画領域に含まれる割合に応じて、当該ピクセルのピクセル値を決 定することを特徴とする描画方法。
[3] 前記描画領域は前記シフトさせた 2本の平行線と、当該 2本の平行線の始点どうし および終点どうしをそれぞれ結ぶ 2本の線分とを境界線とすることを特徴とする請求 項 2に記載の描画方法。
[4] 前記描画領域に含まれる割合は、前記ピクセルの表示領域をそれぞれ仮想的に所 定数分割して得られたサブピクセルのうち、前記描画領域に含まれるサブピクセルの 数に応じて決定することを特徴とする請求項 2に記載の描画方法。
[5] 描画対象の線を含み、当該線を表示画面の水平方向および垂直方向のいずれか の方向に所定の幅だけシフトさせた 2本の平行線を境界線として含み、前記 2本の平 行線の端点を頂点とする領域を当該描画対象の線の描画領域に定めるステップと、 前記描画領域を含み、前記描画領域の境界線の少なくとも一部を境界線に含む矩 形の走査領域を設定するステップと、
ピクセルの表示領域を仮想的に所定数分割して得られたサブピクセル単位で前記 走査領域内を走査し、前記描画領域に含まれるサブピクセルの数を取得するステツ プと、
各ピクセルに含まれるサブピクセルのうち、前記描画領域に含まれるサブピクセル の数の割合に応じて当該ピクセルのピクセル値を設定するステップと、を含むことを 特徴とする描画方法。
[6] 頂点データの得られた描画対象の直線を含み、表示画面の水平方向および垂直
方向のいずれかに所定の幅を有する当該直線と平行な平行四辺形に対し、ピクセル の表示領域より小さ 、微細領域単位で内外判定を行うことにより、前記ピクセルの表 示領域が前記平行四辺形に内在する度合いを評価し、その度合いにもとづいて当 該ピクセルのピクセル値を決定することを特徴とする描画方法。
[7] 描画すべき画像の情報を読み込む描画情報取得部と、
前記画像の情報に基づき、各ピクセル値によってピクセル単位で表現した描画デ ータを生成する描画データ生成部と、
前記描画データを記憶する描画データ記憶部と、を備え、
前記描画データ生成部は、前記画像の情報に含まれる描画対象の線をピクセル単 位で表現する際、当該描画対象の線を中心として、表示画面の水平方向および垂 直方向のいずれかの方向にピクセルの大きさの整数倍の幅をもたせた領域を当該描 画対象の線の描画領域に定め、ピクセルの表示領域が前記描画領域に含まれる割 合に応じて、当該ピクセルのピクセル値を設定することを特徴とする画像生成装置。
[8] 描画すべき画像の情報を読み込む描画情報取得部と、
前記画像の情報に基づき、各ピクセル値によってピクセル単位で表現した描画デ ータを生成する描画データ生成部と、
前記描画データを記憶する描画データ記憶部と、を備え、
前記描画データ生成部は、前記画像の情報に含まれる描画対象の線をピクセル単 位で表現する際、当該描画対象の線を含み、当該線を表示画面の水平方向および 垂直方向のいずれかの方向に所定の幅だけシフトさせた 2本の平行線を境界線とし て含み、前記 2本の平行線の端点を頂点とする領域を当該描画対象の線の描画領 域に定め、ピクセルの表示領域が前記描画領域に含まれる割合に応じて、当該ピク セルのピクセル値を設定することを特徴とする画像生成装置。
[9] 前記描画データ生成部が定める描画領域は、前記シフトさせた 2本の平行線と、当 該 2本の平行線の始点どうしおよび終点どうしをそれぞれ結ぶ 2本の線分とを境界線 とすることを特徴とする請求項 8に記載の画像生成装置。
[10] 前記描画データ生成部において取得する前記ピクセルの表示領域が前記描画領 域に含まれる割合は、前記ピクセルの表示領域をそれぞれ仮想的に所定数分割して
得られたサブピクセルのうち、前記描画領域に含まれるサブピクセルの数に応じて決 定することを特徴とする請求項 8に記載の画像生成装置。
[11] 前記描画データ生成部は、前記描画領域を含む矩形の走査領域を設定し、表示 画面の水平方向および垂直方向のいずれかの方向に前記走査領域内を前記サブ ピクセル単位で走査することにより、前記描画領域に含まれるサブピクセルを検出す ることを特徴とする請求項 10に記載の画像生成装置。
[12] 前記描画データ生成部は、前記走査領域を、その境界線の一部が前記描画領域 の境界線の一部と一致するように設定することを特徴とする請求項 11に記載の画像 生成装置。
[13] 前記描画データ生成部は、前記描画対象の線と表示画面の水平方向とがなす鋭 角が、所定の角度以内のときは前記シフトを垂直方向に行い、前記所定の角度より 大きいときは前記シフトを水平方向に行うことを特徴とする請求項 8に記載の画像生 成装置。
[14] 前記描画領域に含まれるサブピクセルの数を取得する際、前記描画領域の一組の 向かい合う境界線のうち、一方を含むサブピクセルを前記描画領域に内在するとし、 他方を含むサブピクセルを前記描画領域に外在すると判定する請求項 10に記載の 画像生成装置。
[15] 請求項 7に記載の画像生成装置と、当該画像生成装置を制御する制御部とを備 え、前記画像生成装置が生成した画像を前記制御部の制御により表示装置へ表示 することを特徴とする電子情報機器。
[16] 請求項 8に記載の画像生成装置と、当該画像生成装置を制御する制御部とを備 え、前記画像生成装置が生成した画像を前記制御部の制御により表示装置へ表示 することを特徴とする電子情報機器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/813,753 US7884825B2 (en) | 2005-01-25 | 2005-10-21 | Drawing method, image generating device, and electronic information apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005-017059 | 2005-01-25 | ||
JP2005017059A JP4327105B2 (ja) | 2005-01-25 | 2005-01-25 | 描画方法、画像生成装置、および電子情報機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2006080115A1 true WO2006080115A1 (ja) | 2006-08-03 |
Family
ID=36740149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2005/019387 WO2006080115A1 (ja) | 2005-01-25 | 2005-10-21 | 描画方法、画像生成装置、および電子情報機器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7884825B2 (ja) |
JP (1) | JP4327105B2 (ja) |
WO (1) | WO2006080115A1 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8775997B2 (en) | 2003-09-15 | 2014-07-08 | Nvidia Corporation | System and method for testing and configuring semiconductor functional circuits |
US8732644B1 (en) | 2003-09-15 | 2014-05-20 | Nvidia Corporation | Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits |
US8872833B2 (en) | 2003-09-15 | 2014-10-28 | Nvidia Corporation | Integrated circuit configuration system and method |
US8711161B1 (en) | 2003-12-18 | 2014-04-29 | Nvidia Corporation | Functional component compensation reconfiguration system and method |
US8723231B1 (en) | 2004-09-15 | 2014-05-13 | Nvidia Corporation | Semiconductor die micro electro-mechanical switch management system and method |
US8711156B1 (en) | 2004-09-30 | 2014-04-29 | Nvidia Corporation | Method and system for remapping processing elements in a pipeline of a graphics processing unit |
US9189603B2 (en) | 2006-05-24 | 2015-11-17 | Confident Technologies, Inc. | Kill switch security method and system |
EP2020114A4 (en) | 2006-05-24 | 2014-01-22 | Vidoop L L C | GRAPHIC IMAGE DENTIFICATION AND SAFETY SYSTEM |
US8117458B2 (en) | 2006-05-24 | 2012-02-14 | Vidoop Llc | Methods and systems for graphical image authentication |
US20070277224A1 (en) | 2006-05-24 | 2007-11-29 | Osborn Steven L | Methods and Systems for Graphical Image Authentication |
US7652677B2 (en) * | 2006-08-03 | 2010-01-26 | Qualcomm Incorporated | Graphics system employing pixel mask |
US8482567B1 (en) * | 2006-11-03 | 2013-07-09 | Nvidia Corporation | Line rasterization techniques |
US8724483B2 (en) | 2007-10-22 | 2014-05-13 | Nvidia Corporation | Loopback configuration for bi-directional interfaces |
JP4998386B2 (ja) | 2008-06-27 | 2012-08-15 | 富士通セミコンダクター株式会社 | ライン描画方法 |
CN101661741B (zh) * | 2008-08-29 | 2012-02-22 | 富士通株式会社 | 图形光栅扫描中的三角形遍历方法和装置 |
JP5151946B2 (ja) * | 2008-12-09 | 2013-02-27 | 富士通株式会社 | 描画装置 |
US8269775B2 (en) | 2008-12-09 | 2012-09-18 | Qualcomm Incorporated | Discarding of vertex points during two-dimensional graphics rendering using three-dimensional graphics hardware |
US9331869B2 (en) | 2010-03-04 | 2016-05-03 | Nvidia Corporation | Input/output request packet handling techniques by a device specific kernel mode driver |
WO2012165238A1 (ja) * | 2011-05-30 | 2012-12-06 | アイシン精機株式会社 | 描画装置、描画方法及びプログラム |
US9324127B2 (en) | 2014-02-14 | 2016-04-26 | Qualcomm Incorporated | Techniques for conservative rasterization |
CN110838156B (zh) * | 2019-11-06 | 2024-07-02 | 京东方科技集团股份有限公司 | 一种金属掩膜板的绘图方法及装置 |
CN112596659B (zh) * | 2020-12-23 | 2021-10-15 | 陇东学院 | 一种基于智能语音和图像处理的绘画方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0392899A (ja) * | 1989-09-05 | 1991-04-18 | Seiko Instr Inc | 画像処理装置 |
JPH04139589A (ja) * | 1990-10-01 | 1992-05-13 | Ricoh Co Ltd | 図形処理装置 |
JPH07121731A (ja) * | 1993-08-31 | 1995-05-12 | Matsushita Electric Ind Co Ltd | 直線描画方法および直線描画装置 |
JPH1186007A (ja) * | 1997-07-02 | 1999-03-30 | Hewlett Packard Co <Hp> | プリミティブにより覆われるピクセルの割合を求める方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0822548A (ja) | 1994-07-06 | 1996-01-23 | Hitachi Ltd | 図形処理方法および装置 |
US6393145B2 (en) * | 1999-01-12 | 2002-05-21 | Microsoft Corporation | Methods apparatus and data structures for enhancing the resolution of images to be rendered on patterned display devices |
US6947057B2 (en) * | 2000-01-11 | 2005-09-20 | Sun Microsystems, Inc. | Rendering lines with sample weighting |
US20030187952A1 (en) * | 2001-07-27 | 2003-10-02 | Gary Young | System and method for formatting information requested by a mobile device |
US7587685B2 (en) * | 2004-02-17 | 2009-09-08 | Wallace James H | Data exploration system |
-
2005
- 2005-01-25 JP JP2005017059A patent/JP4327105B2/ja not_active Expired - Fee Related
- 2005-10-21 US US11/813,753 patent/US7884825B2/en active Active
- 2005-10-21 WO PCT/JP2005/019387 patent/WO2006080115A1/ja not_active Application Discontinuation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0392899A (ja) * | 1989-09-05 | 1991-04-18 | Seiko Instr Inc | 画像処理装置 |
JPH04139589A (ja) * | 1990-10-01 | 1992-05-13 | Ricoh Co Ltd | 図形処理装置 |
JPH07121731A (ja) * | 1993-08-31 | 1995-05-12 | Matsushita Electric Ind Co Ltd | 直線描画方法および直線描画装置 |
JPH1186007A (ja) * | 1997-07-02 | 1999-03-30 | Hewlett Packard Co <Hp> | プリミティブにより覆われるピクセルの割合を求める方法 |
Also Published As
Publication number | Publication date |
---|---|
US7884825B2 (en) | 2011-02-08 |
JP4327105B2 (ja) | 2009-09-09 |
US20080198163A1 (en) | 2008-08-21 |
JP2006209223A (ja) | 2006-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2006080115A1 (ja) | 描画方法、画像生成装置、および電子情報機器 | |
JP6678209B2 (ja) | 非正規直交グリッドへのテクスチャマッピングのためのグラデーションの調整 | |
KR102101626B1 (ko) | 스크린 위치에 따라 달라지는 분해능을 가진 다수의 렌더 타겟을 위한 텍스처 매핑을 위한 그라디언트 조정 | |
KR101862182B1 (ko) | 래스터화 파라미터를 변경하는 것에 의해 스크린 위치에 따른 유효 해상도의 가변 | |
RU2312404C2 (ru) | Аппаратное ускорение графических операций при построении изображений на основе пиксельных подкомпонентов | |
CN108122196B (zh) | 图片的纹理贴图方法和装置 | |
US10783696B2 (en) | Gradient adjustment for texture mapping to non-orthonormal grid | |
CN1809840B (zh) | 创建采样图案的方法和设备 | |
CN111145286A (zh) | 一种基于gpu的用于边缘计算场景的点九图片贴图绘制方法 | |
JP2006235839A (ja) | 画像処理装置および画像処理方法 | |
JP3547250B2 (ja) | 描画方法 | |
KR101030825B1 (ko) | 샘플링 패턴을 이용하는 방법, 샘플링 패턴을 생성하는 방법, 안티 에일리어싱 시스템, 및 컴퓨터 판독 가능한 기록매체 | |
US7940283B2 (en) | Method and apparatus for pixel sampling | |
CN100353382C (zh) | 低成本超级采样光栅化 | |
JPH01131976A (ja) | テクスチャマッピング装置およびその方法 | |
JP4766576B2 (ja) | 描画方法、画像生成装置、および電子情報機器 | |
JP3872056B2 (ja) | 描画方法 | |
JP2003132347A (ja) | 画像処理装置 | |
JPH08235380A (ja) | 多面体表示方法および多面体表示装置 | |
KR100927131B1 (ko) | 안티 알리어싱 방법 및 장치 | |
JPH0944695A (ja) | テクスチャマッピング方法およびテクスチャマッピング装置 | |
JPH09231381A (ja) | 描画装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 11813753 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 05795614 Country of ref document: EP Kind code of ref document: A1 |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 5795614 Country of ref document: EP |