AU679027B2 - Softstroking of edges for computer graphics - Google Patents

Softstroking of edges for computer graphics Download PDF

Info

Publication number
AU679027B2
AU679027B2 AU57668/94A AU5766894A AU679027B2 AU 679027 B2 AU679027 B2 AU 679027B2 AU 57668/94 A AU57668/94 A AU 57668/94A AU 5766894 A AU5766894 A AU 5766894A AU 679027 B2 AU679027 B2 AU 679027B2
Authority
AU
Australia
Prior art keywords
opacity
value
edge
image
thickness
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.)
Ceased
Application number
AU57668/94A
Other versions
AU5766894A (en
Inventor
Craig Matthew Brown
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Information Systems Research Australia Pty Ltd
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Information Systems Research Australia Pty Ltd, Canon Inc filed Critical Canon Information Systems Research Australia Pty Ltd
Priority to AU57668/94A priority Critical patent/AU679027B2/en
Publication of AU5766894A publication Critical patent/AU5766894A/en
Application granted granted Critical
Publication of AU679027B2 publication Critical patent/AU679027B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Description

-1- SOFTSTROKING OF EDGES FOR COMPUTER GRAPHICS The present invention relates to the art of computer generated images and in particular, to the merging multiple images through composition or rendering.
Background to the Invention A number of standard computer systems are available for the production of 'computer graphics' whereby images are generated entireiy electronically. These often take the form of a computer attached to a raster graphics display or other raster output device, and an input device through which the operator can draw and see the results of his work in real time on the electronic display. In using such devices, it is possible to create images of almost arbitrary complexity.
For the purposes of illustration it can be assumed that each image is made up, at the most primitive level of a large number of individual pixels each of whose colour can be easily altered, and the display of an image is achieved by display of the individual pixels on a computer display device.
in one popular format for the storing colour images (known as an RGBO format) the green and blue (RGB) information is stored in addition to an opacity value O being .".stored which relates to the degree of transparency (or Opacity) that particular image has at that particular pixel. The separate storage of the opacity value is known as an 'Opacity or 'alpha channel'. It can be assumed to the purposes of discussion of the present invention that the opacity information is stored separately as an opacity plane. This method of storage is especially convenient when multiple images are to be 'composited' over one another and transparency effects are to be used in the final composite colour image. A full "4 discussion of the procedure used in compositing images through the use of an opacity plane is disclosed in 'Compositing Digital Images' by Thomas Porter and Tom Daft; published in Computer Graphics, Volume 18, Number 3, July 1984, at page 253.
The process of compositing, as outlined in the above mentioned article, involves the .combining portions of one value with portions of another value, whilst the process of rendering involves the replacement of one value by another, and both are applicable to the prior art and the present invention.
Referring now to Fig. 1 there is shown an image of a hollow triangle 2 in front of a solid square 6. In this example, the triangle 2 is defined by three points 3,4 and 5. Hence the display of the triangle 2 can be achieved by drawing a line between each of these points (or by altering pixels that lie in a line between the points). In order to ac,' wve an edge of greater thickness, it is necessary to draw both the line itself as well as pixels that are adjacent to the line itself. Methods of drawing thick lines are known to those skilled in the art.
(Page+: 16)(262919)(CFP00208) -2- Although the types of pictures drawn using such techniques can be of very high quality they do not fall into the catergory of 'fine art' and the degree of realism that is achievable is limited. This is caused by the nature of the 'hard lines' that are created by such a technique, being substantially different from the possible textures and tonal qualities that a graphic artist would produce using more conventional tools.
It is desirable to produce a final picture with the appearance to the observer that, for example, the foreground triangle 2 is properly blended with the background square 6. One desirable effect to achieve for the proper blending of objects is to have a central portion of an edge 7 having a high opacity value with a gradual decreasing opacity to the exterior portion of an edge 8 which has a low opacity value and is mnerefore highly transparent.
Referring now to Fig. 2 there is shown an opacity cross section along the line A-A of Fig. 1, showing L first method used in construction of the opacity edge of the triangle in Fig. 1. One desired method of preparation of such opaque values is to define the opaque values proceeding in a linear ramp from a maximum value. One method of doing this would be to create an opacity plane for the triangle 2 with a high opacity (close to value 1) at those pixels close to the central portion of an edge 7, and a low opacity (close to te value 0) at the exterior portion of an edge 8 with the opacity mask decreasing at right angles to the direction of the edge.
However, this method is particularly complicated, especially where the image being rendered has a substantial number of complicated opacity profiles for each edge that must be composited. Referring now to Fig. 3 there is shown a complicated edge profile to be composited up on a square 11. In this example, an edge 10, which is to be composited on the rectangle 11, has a number ofjaggered portions 12. It is not readily apparent what the exact form of the opacity mask should be used in compositing such an edge as the use of a linear ramp opacity mask at right angles to the direction of the edge does not work at comer edges that do not have a normal to it.
One form of describing computer graphical images, in common use in the art, is to described the image by means of a page description language (PDL). PDL's have become very popular in recent times as they allow more flexibility in the use on a multitude of different output devices in that the description of a particular image is provided on a device independent basis. PDL's normally provide for extensive support for curves and curve thickness which form common parts of computer images. However, if the above methods are used to determine an opacity profile then a pixel by pixel description of the opacity plane of the image must be stored as it is not readily apparent how the picture can be created from a curve based description. This is particularly inconvenient if multiple (Page+: 16)(262919)(CFP00208) -3graphical images are desired to be stored in a computer system due to the resultant increase in image storage space.
Summary of the Invention It is an object of the present invention to provide an alternative method of rendering images so as t provide for the blending of images together.
in accordance with one aspect of the present invention, there is provided a method of creating an image made up of a multitude of subimages, at least one of said sub images including at least one edge having an opacity value and a thickness value, said method comprising the step of: compositing or rendering said ,dge a plurality of times with a corresponding plurality of different said edge thickness values and a corresponding plurality of different opacity values.
Brief Description of the Drawings A num' er of preferred embodiments of the present invention will now be described with reference to the accompanying drawings in which: Fig. 1 illustrates a picture of a sample triangle in front of a square; Fig. 2 illustrates an opacity cross section through the edge A-A of the triangle of Fig.
1, showing a first method used in construction of the opacity edge of the triangle in Fig. 1; Fig. 3 illustrates a complicated edge profile to be composited on a squaie.; Fig. 4 illustrates an example opacity profile of an edge five pixels wide as determined by one embodiment of the present invention.; !'Fig. 5 illustrates a sample original image consisting of pixel based information of a S" triangle within a square.; Fig. 6 illustrates a pixel based image of a circle forming the portion of the image onto 25 which it is desired to composite onto.; Fig. 7 illustrates an opacity mask of the prior art method.; Fig. 8 illustrates the final composited image or a triangle within a circle containing a different hatching pattern..
Fig. 9 illustrates a first method for building up an opacity mask using soft stroking methods.; Fig. 10 illustrates a second method for building up an opacity mask using soft stroking methods.; and Fig. 11 illustrates the softstroking opacity mask used in constuction of the opacity mask of Fig. 9.
(Page+: 16)(262919)(CFP00208) Best and Other Modes of Performing the Invention In order to simulate the affect of blending of an image, an opacity profile approximating that of Fig. 2 of the edges of the image is generated. This is done by 'stroking' the edges of an image multiple times with increased stroke widths and different opacity measures. The opacity values can be built up in a number of ways. Firstly, the values can be rendered to the opacity plane. Alternatively, they can be composited to the opacity plane.
Referring now to Fig. 4 there is shown an example opacity profile 13 of an edge five pixels wide as determined by one embodiment of the present invention. In a first method of rendering to the opacity plane, the opacity profile 13 is built up by rendering strokes or edges of increasing opacity and decreasing thickness. In this process, the opacity profile of the edges of an object is generated by first determining the pixel distance from the central portion of an edge 7 to the exterior portion of an edge 8. This distance is used to define a number of different monotonically increasing opacity levels, each preferably one pixel wide. For example, in Fig. 4, this profile is built up by rendering a wide edge which is five pixels wide having a bottom level opacity 14, preferably around 25%. The same edge of an object is then rendered three pixels wide having a middle level opacity 15 of 50% followed i .by a single pixel wide rendering at the top level opacity 16 having an opacity of As another example, to stroke an object edge with a 3 millimetre stroke width, it is first necessary to decide the number of stroke widths that are required. This can be calculated by first determining the type of output device, High quality laser colour copiers such as the Canon CLC-500 copier operate at approximately 400 dots per inch (400 dpi).
This is equivalent to about 15.75 dots per millimetre. Therefore a 3 millimetre edge is likely to comprise about 47.25 dots across its width when printed out using the copier 25 device.
One form of stroking which gives satisfactory results is to decrease the size of the S. stroke by one pixel each iteration. Therefore the above calculation would require approximately 24 strokes (47.25 2) with each stroke decreasing in size from the previous stroke by about 1 pixel width.
This form of 'softstoking' of the edges of an image is particularly convenient when a description of the image is in the form of a PDL as the same image is rendered multiple times with the only alterations being in the thickness and opacity of the edges. Hence the opacity profile can be constructed from the iteration of a portion of a PDL describing the edges of the image, with different edge thickness and opacity settings.
(Page+: 16)(262919)(CFP00208) In a second method of building up the opacity profile, the image is built up by a compositing process. In the compositing process as outlined in the above mentioned article, the existing values for a pixel are used in combination with a compositing value in the image. The normal compositing equation can be used, being: New Destination source destination (source destination) (EQ 1) When the stroking is composited over a previous image it is required that there is approximated a steadily increasing compositing ratio from fully transparent at the edge (opacity to fully opaque at the centre of the image (opacity For example, a line five pixels wide would also be required to have a final opacity cross section as depicted in Fig. 4 containing the central line approaching a limit of 100% opacity. This is formed by creating a line of one pixel width with an opacity of 75% followed with one with opacity and one with opacity Preferably the smaller central stroke is composited first, followed by the next S. 15 smallest stroke and so on. Therefore, through working backwards, a series of equations as indicated below can be produced.
Also, the last, largest stroke needs to be conmposited 25%, and the second largest needs to be composited 50%. Therefore, it is required to determine what we require to Scomposite 25% onto to get 50%. Using Equation 1 this results in: 0.50 0.25 destination 0.25 destination (EQ 2) 0.25 0.75 destination (EQ 3) destination 0.33 or 33% (EQ 4) Similarly to obtain the 75% also using equation 1: 0.75 0.25 destination 0.25 destinationl (EQ destinationl 0.66 (EQ 6) 0.66 0.33 destination 0.33 destination (EQ 7) 0.33 0.66 destination (EQ 8) destination 0.5 (EQ 9) Therefore, instead of rendering 25%, 50% and 75% in decreasing sized strokes, it is possible to achieve the same results by compositing 50%, 33% and 25% in larger or increasing sized strokes.
Generalizing the above mentioned process, it can be seen that the opacity to use and each stage can be determined from the equation: (Page+: 16)(262919)(CFP00208) c ~I -6opacity interval opacity to use opacity interv(EQ 1 (opacity interval 1) Whe, displaying the effect of soft stroking on a computer display, the need for a rapid update to the display is crucial, whereas the printing of images by a printing device generally takes longer and hence an increased number of strokes can be used: Therefore, preferably when displaying on a computer display, a reduced number of strokes is used so as to ensure higher speed operation, with theic consequential side effect that when an image is zoomed in upon, the result of softstroking may appear to be somewhat 'jaggered'.
The use of the process of softstroking is particular advantageous in the creation of a final image from portions of multiple independent images wherein each picture is made up of purely pixel informat;on. A simple example of the use of the softstroking method in image composition wil, now be described with reference to Fig. 5 to Fig. 11.
Referring now to Fig. 5 there is shown a sample original image consisting of pixel based information, as opposed to object based information, of a triangle 19 within a square S. 15 18. By way of example, it is desired to 'cut out' that portion of the image comprising the :..triangle 19 and composite it onto a different background such as that shown in Fig. 6 which comprises a pixel based image of a circle Firstly the portion of the image comprising the triangle 19 is traced over using known techniques resulting in edge information data which is used to describe the pixels within an edge of the triangle 21.
Referring now to Fig. 7 there is shown an opacity mask of the prior art method. In "prior art techniques an opacity mask could then be created for extracting the triangle 19 Sfrom the rest of the image with an opacity value of 100% for those pixels within an edge of the triangle 21 and an opacity value of 0% or transparent values for those pixels outside an edge of the triangle 22.
When the image of the triangle is ready to be composited over another image, say a 0 circle, using the newly created opacity mask, the resulting image after compositing will be 0 similar to that shown in Fig. 7, with the traced edges of the triangle 19 forming a 'hard edge' often noticeable to the observer.
Referring now to Fig. 9 there is shown a first method for building up an opacity mask using soft stroking methods. In this method, the edge of the triangle is firstly soft stroked as outlined above to produce the normal softstroking opacity profile 24, 25. The edge information 26 of the triangle is then used to perform a fill 27 of those pixels within the edges of the object with an opacity set to 100%. This can be created by rendering 100% opacity values to pixels inside the edges of the image or by compositing the fill pattern on the opac*ty mask either after the softstroking.
(Page +-:16)(262919)(CFP00208) -7- When the resulting opacity mask profile is used as a mask to composite the image of Fig. 5 to create an image similar to that shown in Fig. 8, the edges of the traced out triangle are blended with the background image. This results in an image whereby a predetermined number of pixels outside the traced out edges of the triangle (or traced object) are also composited on the final image. This is often an undesirable effect, especially when the edge of the traced out image delineates a marked change in the image content, as portions of the changed image will be incorporated in the final image.
Referring now to Fig. 10 and Fig. 11 there is shown a second method of forming an opacity mask which often produces superior results to the first method of producing opacity masks for objects and their edges. As can be seen from the opacity profile of an edge as depicted in Fig. 11, this is due to the fact that the opacity of the object is gradually reduced as the edge of the object is approached from the inside of an object. Hence this overcomes the problem of the previous method as no pixels outside the traced out edge of an object will be composited with the object when it is composited with another image.
15 One method of creating such a profile is to first start with an opacity profile as shown in Fig. 7, portions of which are shown in hatched lines 28. Soft stroking is then used to build the desired opacity profile as pixels approach the edge of the image 29. The desired •edge is mostly easily built by rendering the image with decreasing opacity settings with decreasing line widths thereby producing the opposite opacity profile to that shown in Fig.
11.
Unfortunately this method of softstroking also results in an unwanted opacity profile portion 30. However this opacity profile is easily removed by the process of 'clipping' against the edges of the object. The process of clipping is known to those skilled in the art and results in the discarding of those values of opacity outside the given edges of an object 25 and hence the opacity values for non-object pixels can be altered to zero, thereby producing the opacity profile as shown in Fig. As stated previously, when compositing objects using the opacity mask with edges of the form of Fig. 10 the result is often superior to those produced using the profile as shown in Fig. 9.
The foregoing describes only a few embodiments of the present invention, modifications, obvious to those skilled in the art, can be made thereto without departing from the scope of the present invention.
(Page+: 16)(262919)(CFP00208)

Claims (19)

1. A method of creating an image made up of a multitude of subimages, at least one of said sub images including at least one edge having an opacity value and a thickness value, said method comprising the step of: compositing or rendering said edge a plurality of times with a corresponding plurality of different said edge thickness values and a corresponding plurality of different opacity values.
2. A method as claimed in claim 1, wherein said edge thickness values range from a first, wide value to a second, narrow value, and the corresponding opacity values range from a first, low value to a second high value.
3. A method as claimed in claim 1, wherein said edge thickness values range from a first, wide value to a second, narrow value, and the corresponding opacity values range from a first. high value to a second low value.
4. A method as claimed in claim 1, wherein a centre of said edge corresponds with said narrow thickness value.
A method as claimed in claim 1, wherein said opacity values are rendered to an opacity plane of said image.
6. A method as claimed in claim 1, wherein said opacity values are composited onto an opacity plane of said image.
Sone7. A method of creating an image made up of a multitude of subimages, at least one of said sub images including at least one edge having an opacity value and a thickness value, said method comprising the steps of: compositing said edge with a first preselected edge thickness value and S a corresponding first preselected opacity value; and repeating step a plurality of times using a progressively narrower thickness value and corresponding opacity value.
8. A method as claimed in claim 7, wherein for step the opacity value is higher than the immediately preceding opacity value.
9. A method as claimed in claim 7, wherein for step the opacity value is lower than the immediately preceding opacity value.
10. A method of creating an image substantially as described herein with reference to any one of Figs. 4 to 10 of the drawings.
11. A method of creating an image comprising a multitude of image components, at least one of said image components including at least one edge having an opacity value and a thickness value, said method comprising the steps of: compositing or rendering said edge with a corresponding thickness value and a corresponding opacity value; and 262919 Page+16 '-FP0208AU [o:\cisra\seraph\page+ 16]ausclaim.do -9- repeating step at least once with an thickness value and a corresponding opacity value each different from a preceding corresponding thickness value and opacity value.
12. A method as claimed in claim 11, wherein said edge thickness values range from a first, wide value to a second, narrow value, and the corresponding opacity values range from a first, low value to a second high value.
13. A method as claimed in claim 11, wherein said edge thickness values range from a first, wide value to a second, narrow value, and the corresponding opacity values range from a first, high value to a second low value.
14. A method as claimed in claim 11, 12 or 13, wherein a centre of said edge corresponds with said narrow thickness value.
A method as claimed in claim 11, 12, 13 or 14, wherein said opacity values are rendered to an opacity plane of said image.
16. A method as claimed in any one of claims 11 to 15, wherein said opacity values are composited onto an opacity plane of said image.
17. A method of creating an image comprising a multitude of image components, at least one of said image components including at least one edge having an opacity value and a thickness value, said method comprising the steps of: compositing said edge with a first preselected edge thickness value and Sa corresponding first preselected opacity value; and repeating step a plurality of times using a progressively narrower thickness value and corresponding opacity value.
18. A method as claimed in claim 17, wherein for step the opacity value is higher than the immediately preceding opacity value.
19. A method as claimed in claim 17, wherein for step the opacity value is lower than the immediately preceding opacity value. DATED this Fourth Day of April 1997 Canon Kabushiki Kaisha Canon Information Systems Research Australia Pty Ltd Patent Attorneys for the Applicants SPRUSON FERGUSON Page+16 CPJ?0208AU [o:\cisra\seraph\page+ 16]ausclaims.doc II Abstract SOFTSTROKING OF EDGES FOR COMPUTER GRAPHICS A method for blending images together is disclosed in which an edge between at least two images is identified. The opacity of each of the images is varied as each approaches the edge. This is performed by rendering or compositing lines of decreasing width 5, 3,1 pixels) over the edge, each of the lines having a progressively higher level of opacity (14,15,16). Alternatively, a progressively lower level of opacity (28,29,30) can be used. Fig. 4, Fig. 11 1 a o *0 a a (Page+: 16)(262919)(CFP00208)
AU57668/94A 1993-03-08 1994-03-08 Softstroking of edges for computer graphics Ceased AU679027B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU57668/94A AU679027B2 (en) 1993-03-08 1994-03-08 Softstroking of edges for computer graphics

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AUPL767893 1993-03-08
AUPL7678 1993-03-08
AU57668/94A AU679027B2 (en) 1993-03-08 1994-03-08 Softstroking of edges for computer graphics

Publications (2)

Publication Number Publication Date
AU5766894A AU5766894A (en) 1994-09-15
AU679027B2 true AU679027B2 (en) 1997-06-19

Family

ID=25631708

Family Applications (1)

Application Number Title Priority Date Filing Date
AU57668/94A Ceased AU679027B2 (en) 1993-03-08 1994-03-08 Softstroking of edges for computer graphics

Country Status (1)

Country Link
AU (1) AU679027B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0505113A2 (en) * 1991-03-18 1992-09-23 Canon Kabushiki Kaisha Image processing method and apparatus
EP0559393A1 (en) * 1992-03-02 1993-09-08 Xerox Corporation Method for phase aligned NTH bitting of graphics applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0505113A2 (en) * 1991-03-18 1992-09-23 Canon Kabushiki Kaisha Image processing method and apparatus
EP0559393A1 (en) * 1992-03-02 1993-09-08 Xerox Corporation Method for phase aligned NTH bitting of graphics applications

Also Published As

Publication number Publication date
AU5766894A (en) 1994-09-15

Similar Documents

Publication Publication Date Title
US5977981A (en) Softstroking of edges for computer graphics
DE69127915T2 (en) Priority color mapping system and method
DE69328464T2 (en) Method of calculating the lighting for data of three-dimensional objects
DE10296401B4 (en) Composite rendering of 3-D graphics objects
US7102652B2 (en) Compositing two-dimensional and three-dimensional image layers
CA2233814C (en) Method and apparatus for composing layered synthetic graphics filters
DE10223751B4 (en) System and method for combining graphics formats in a digital video pipeline
DE69330578T2 (en) Method and device for filling an image
US6268859B1 (en) Method and system for rendering overlapping opaque graphical objects in graphic imaging systems
DE60300788T2 (en) Image with depth of field from Z buffer image data and alpha mixture
DE69534751T2 (en) Image data generating method, image data processing device and recording medium
DE69427574T2 (en) NTSC display of animation of moving pictures
EP0862141A2 (en) Image presentation method and apparatus
DE69329940T2 (en) Graphic system
DE4341304A1 (en) Method and device for using a video buffer
DE3854619T2 (en) SQUARE INTERPOLATION FOR SHADED IMAGE GENERATION.
EP0887770B1 (en) Method and apparatus for defining the scope of operation of layered synthetic graphics filters
DE19620858B4 (en) Computer graphics system with pixel depth indication
DE69728918T2 (en) Method and device for effective image interpolation
DE69420819T2 (en) Image processing
DE69910980T2 (en) ANTIALIASING WITH SUB-SCAN FOR TEXTURE EDGES
US7274372B1 (en) Real-time digital three dimensional engraving
US6765588B2 (en) Multisample dithering with shuffle tables
AU679027B2 (en) Softstroking of edges for computer graphics
EP0869459B1 (en) Picture display method and device for carrying out this method

Legal Events

Date Code Title Description
PC Assignment registered

Owner name: CANON KABUSHIKI KAISHA

Free format text: FORMER OWNER WAS: CANON KABUSHIKI KAISHA, CANON INFORMATION SYSTEMS RESEARCH AUSTRALIA PTY LIMITED

MK14 Patent ceased section 143(a) (annual fees not paid) or expired