AU695019B2 - Rendering of overlapping objects - Google Patents

Rendering of overlapping objects Download PDF

Info

Publication number
AU695019B2
AU695019B2 AU31780/95A AU3178095A AU695019B2 AU 695019 B2 AU695019 B2 AU 695019B2 AU 31780/95 A AU31780/95 A AU 31780/95A AU 3178095 A AU3178095 A AU 3178095A AU 695019 B2 AU695019 B2 AU 695019B2
Authority
AU
Australia
Prior art keywords
count
pixel
objects
self
overlapping
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
AU31780/95A
Other versions
AU3178095A (en
Inventor
George Politis
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
Priority claimed from AUPM8066A external-priority patent/AUPM806694A0/en
Application filed by Canon Information Systems Research Australia Pty Ltd, Canon Inc filed Critical Canon Information Systems Research Australia Pty Ltd
Priority to AU31780/95A priority Critical patent/AU695019B2/en
Publication of AU3178095A publication Critical patent/AU3178095A/en
Application granted granted Critical
Publication of AU695019B2 publication Critical patent/AU695019B2/en
Assigned to CANON KABUSHIKI KAISHA, CANON INFORMATION SYSTEMS RESEARCH AUSTRALIA PTY LTD reassignment CANON KABUSHIKI KAISHA Amend patent request/document other than specification (104) Assignors: CANON INC., CANON INFORMATION SYSTEMS RESEARCH AUSTRALIA PTY LTD
Assigned to CANON KABUSHIKI KAISHA reassignment CANON KABUSHIKI KAISHA Alteration of Name(s) in Register under S187 Assignors: CANON INFORMATION SYSTEMS RESEARCH AUSTRALIA PTY LTD, CANON KABUSHIKI KAISHA
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Description

rY4")" 4 l fi ii i-il-- i i~^l S F Ref: 311074
AUSTRALIA
PATENTS ACT 1990 COMPLETE SPECIFICATION FOR A STANDARD PATENT
ORIGINAL
,II
II I
*&IQ
Name and Address of Applicant: Actual Inventor(s): Address for Service: Invention Title: Canon Information Systems Research Australia Pty Ltd 1 Thomas Holt Drive North Ryde New South Wales 2113
AUSTRALIA
Canon Inc.
30-2 Shimomaruko 3-Chome, Ohta-ku Tokyo 146
JAPAN
George Politis Spruson Ferguson, Patent Attorneys Level 33 St Martins Tower, 31 Market Street Sydney, New South Wales, 2000, Australia Rendering of Overlapping Objects ASSOCIATED PROVISIONAL APPLICATION DETAILS [31] Application No(s) [33] Country PM8066 AU [32] Application Date 12 September 1994 The following statement is a full description of this invention, including the best method of performing it known to me/us:- 5815 Fied o th Inenton Rendering of Overlapping Objects The present invention relates to the composition of computer graphic iffages and, in particular, the composition of objects that exhibit overlapping or "two and one 6 half dimensional" aspects.
Background Art Techniques of compositing objects, which include transparency, to create a final image are well-known in the art. In a first conventional method, which derives from the "painter's algorithm", each object is normnally "rendered" to create a corresponding pixel representation. The pixel representation is normally utilised in building up a final image of the objects through combining it with the representation of other objects. In order to implement transparency, a separate "alpha" channel value is often stored for each pixel of the object, indicating the object's degree of transparency.
-For a detailed description of combining objects having degrees of transparency, see pages 253 to 259 of an article entitled "Compositing Digital Images", SIGGRAPH 84, written by Porter and Duff, incorporated herein by reference.
An object 1 is shown in Fig. 1 that is to be rendered on top of the object 2 on a computer graphics image processing system. The object 1 is defined to be of a first colour and is partially transparent in that, after rendering, the object 2 is partially visible through the object 1. The border, or outline, of both objects 1 and 2 is defined in terms of splines in accordance with conventional techniques for defining such objects in the art.
The creation of the image of Fig. 1 using the conventional alpha channel method will now be described with reference to Figs. 2 to 4. In Fig. 2, the currently 25 created image consists of the previously rendered object 2. The object 2 is different from the object 2 of Fig. 1 in that it has been "scan converted", or rendered, to consist of an array of pixels rather than the format of Fig. 1 which consists of a spline outline and a representation of the internal colour of the object 2. In order to composite the object 1 shown in Fig. 3 onto the current state of the image (as defined by Fig. 2) to 7 N\30 form the desired image shown in Fig. 4, which includes both of the objects 1 and 2, it is necessary to notionally render the object 1 into a corresponding pixel representation, with each pixel including colour and transparency information, in accordance with the Porter and Duff model, so that the corresponding pixel image of Fig. 3 can be combined with that of Fig. 2 to form the final image as shown in Fig. 4.
In order to render objects 1 or 2, which, as noted previously, are defined by a spline outline, it is normally necessary to convert the spline outlines to an approximation to the spline outline which consists of line segments rather than splines.
This process of conversion is commonly known as "vectorisation". The process of (Openil;)(311074)(UP0363) rw:\OPEN\OPEN131SPE 13.HRW -2vectorisation is well known to those skilled in the art. For example, two methods are described in detail at pages 487 to 488 and 511 to 514 of Computer Graphics: Principles and Practice, written by Foley et al., and published in 1990 by Addison- Wesley Publishing Company, incorporated herein by reference.
Referring now to Fig. 5 there is shown the result of vectorisation of the object 1 into a corresponding polygon having five sides 6 consisting of straight line segments (6A to 6E). The outline of object 1 is such that it "doubles back" on itself and the object 1 overlaps itself so that two portions of the object 1 are present in the overlapping portion If the object 1 is partially transparent, it is desirable to exhibit a 'two and one half' dimensional effect within the portion 5 so that the overlapping becomes more evident to the observer of the final image to be created. However, the foregoing conventional scan line methods are not be able to achieve this effect. They are disadvantageously unable to determine if a current object is overlapping or not.
Summary of the Invention It is an object of the present invention to provide an efficient method of rendering self overlapping objects.
In accordance with one aspect of the present invention, in a system for creating a computerised image made up of objects, there is provided a method of scanline rasterization of self-overlapping objects, said method comprising, for each of said selfoverlapping objects, the steps of: determining a directional border of said self-overlapping object; determining intersections of said directional border with a current scanline of o; •said image; S 25 determining, for each pixel within said scanline, a count of the number of preceding intersections, wherein said count is incremented for directional border crossings in a first direction and is decremented for said directional border crossings in a second direction; and 3 a0 said count, the steps of: determining a directional border of said self-overlapping object; determining the intersections of said directional border with a current scan line; determining, for each pixel within a scan line a count of the number of preceding intersections wherein said count is incremented for directional border crossings in a first direction and said count is decremented for directional border crossings in a second direction; and (Open 3)(31 1074)(CFP0363) [O:\OPEN\OPEN 13]SPECI13:IAD 2a rendering each pixel of said self-overlapping object a number of times equal to said count.
tic
(ICC..
C C at St t I S CS S C C C ,t
('CC
St Si a CC C.
-a tat.
('teat 'tat.' C C
L
-S
13)(31I1074)(CFP0363) [0:\OPEN\OPEN131SPEC113:IAD i *1 -3- Fig. 5 illustrates the process of vectorisation and scan line rendering according to the preferred embodiment; Fig. 6 illustrates the process of rendering a single scan line according to the preferred embodiment; Fig. 7 is a flow diagram illustrating a method according to a further embodiment of the invention; Fig. 8 is a block diagram illustrating a general purpose computer; and Fig. 9 is a block diagram of an apparatus according to another embodiment of the invention.
Detailed Description In the preferred embodiment, a direction of each side 6 of the vectorisation is determined. This direction is determined by starting at one side 6 and moving around the sides of the polygon until a circuit has been completed. Once having fully gone around the sides of the polygon, each side will have an associated direction in relation to a corresponding scan line.
The polygon can then be scan converted to a pixel format in an adaptation of a the normal manner. A conventional process of scan conversion, as set out in detail in chapter 3 of Foley et al. keeps a running edge list of those edges that intersect a current "scan line" 7 (see, in particular, pages 97-99 of Foley). In the present embodiment, the 4 edge table and active edge list are modified to also store the direction of each edge (being either up or down in y).
A flow diagram of the process of the method of dealing with self overlapping objects for use in a system for creating computerised images made up of objects by means of a scan line process is shown in Fig. 7. The method comprises the following S 25 steps performed for each of the overlapping objects.
In step 702, a directional border of the object is determined. In step 704, the intersections of the directional border with a current scan line are determined. In step oo 706, for each pixel within a scan line, a count of the number of preceding intersections is determined. The count is incremented for a directional border crossing in a first direction and is decremented for directional crossings in a second direction. In step 708, each pixel of the object is rendered a number of times equal to the count.
Preferably, the self overlapping object can be partially transparent and has associated transparency and colour information, and the rendering step comprises rendering the colour information in accordance with the associated transparency information a number of times equal to the count.
The method will now be described with reference to Fig. 6. There is shown the object 1 in phantom, with the edges intersecting the current scan line 7 of Fig. shown with arrows indicating their direction. When rendering each pixel of a scan line (0penl 3)(311074)(CFF03 63) [W:\OPEN\OPEN13]SPECI13:11RW a i Cllc. ~CP ns -4- 7, a count is kept of each edge 8 to 10 crossed. When an edge 8 and 9 in the up direction is encountered, the count is incremented. When an edge 10 and 11 in the Sdown direction is encountered, the count is decremented. Each pixel of an object on the scan line 7 is rendered a number of times indicated by the absolute value of the Scurrent value of the count.
For the portion of the line to the edge 8 in Fig. 6, the count is zero (O)and the object 1 does not form part of these pixels. Upon encountering the "up" edge 8, the count is incremented to one and the object colour, with its associated transparency, can be rendered once in accordance with a conventional technique such as the Porter and Duff method. Upon encountering the "up" edge 9 the count is again incremented and the object colour is rendered twice in accordance with the conventional Porter ji and Duff method. The "down" edge 10 is in the opposite direction and results in a decrementing of the count with the object being rendered once from edge 10 to the "down" edge 11, where another edge is encountered in the opposite direction and the count is decremented to zero where it stays for the rest of the scan line.
Rendering can then proceed to the next scan line in the conventional manner, until the image rendering is completed. By utilising the absolute value of the directional edge count in determining the number of times to render object 1, the initial direction chosen to enumerate the direction of the edges 8 to 10 of a vectorisation of a spline is not of concern.
So. The process according to the preferred embodiment of the invention can be S practiced as a computer-implemented method using a personal computer 806 shown in Fig. 8, for example. As is well known in the art, such a computer 806 typically l comprises a central processing unit 810 coupled to a memory device for storing data 25 and instructions to operate the central processing unit. For example, personal computers commonly include random access memory (RAM) for temporarily storing I 'data and instructions, as well as secondary storage devices hard drives and floppy I discs) for storing data and instructions either temporarily or permanently.
As shown in Fig. 8, the processing unit 810 is coupled to a bus 822, which is well known in the art. Such a bus typically includes an address bus, data bus, control signals, and the like. In turn, random access memory 812, read only memory 814, hard disk drive/floppy disk drive 816, video interface 818, and I/O interface 820 are coupled to the bus 822. The video interface 818 provides output to display/monitor 800. Likewise, I/O interface 820 is connected to reproduction device 802.
Reproduction device 802 may include laser beam printers, plotters, dot matrix printers, and the like. Accordingly, an apparatus for dealing with self-overlapping objects in a system for creating computerised images, which are made up of objects by means of a scan line process can be implemented using such a personal computer.
S| (Openl3)(311074)(CFP0363) [W:\OPEN\OPEN13]SPECI13:HRW An apparatus 920 for compositing objects in an image is illustrated in Fig. 9.
The apparatus 920 receives input 902 consisting of one or more objects. The apparatus 920 creates the computerised images made up of objects using a scan line process. The input 902 is provided to directional border determination means 904 for determining a directional border of an object. The output of directional border determination means 904 is provided for intersection determination means 906 for determining intersections of the directional object with a current scan line. The directional border is received from the directional border determination means. The output of intersection determination means 906 is provided to intersection count means 908. Intersection count means 908 determines, for each pixel within a scan line, a count of the number of preceding intersections, in which the count is incremented for directional border crossings in a first direction and is decremented for a directional border crossing in a second direction. For example, the count can be incremented for an "up" crossing and can be decremented for a "down" crossing. The output of intersection count means 908 is provided to pixel rendering means 910. The pixel rendering means renders each pixel of the object a number of times equal to the count. This is done for each pixel of the scan line and for all of the scan lines of an image. The output image 912 is provided at the output of pixel rendering means 910.
Further, the rendered image produced by the process and/or apparatus according to the embodiments of the invention can be provided as output to video terminal displays (or monitors) 800, reproduction devices including laser beam printers, plotters and dot matrix printers, and the like. While a number of reproduction devices have been discussed, it will be apparent to a person skilled in the art that other reproduction devices can be used without departing from the scope of the invention.
25 The forgoing describes only embodiments of the present invention, modifications, obvious to those skilled in the art can be made thereto without departing from the scope of the invention. For example, those skilled in the art would understand !that the above system could render multiple objects simultaneously.
(Openl3)(311074)(CLP0363) [W:\OPEN\OPEN13]SPEC113:RW

Claims (11)

1. In a system for creating a computerised image nm-lJ up of objects, a method of scanline rasterization of self-overlapping objects, said method comprising, for each of said self-overlapping objects, the steps of: determining a directional border of said self-overlapping object; determining intersections of said directional border with a current scanline of said image; determining, for each pixel within said scanline, a count of the number of preceding intersections, wherein said count is incremented for directional border crossings in a first direction and is decremented for said directional border crossings in a second direction; and rendering each pixel of said self-overlapping object a number of times equal to said count.
2. The method according to claim 1 wherein said self-overlapping object is partially transparent and has associated transparency and colour information.
3. The method according to claim 2 wherein said rendering step comprises rendering said colour information in accordance with said associated 20 transparency information said number of times equal to said count.
4. The method according to any one of claims 1 to 3 wherein said number of times is equal to an absolute value of said count.
5. The method according to any one of claims 1 to 4 further comprising the step of storing in an edge table a direction for each of a plurality of edges defining said directional border.
6. A method of compositing objects in an image, said method comprising 30 the steps of: converting an outline of each of said objects, wherein said outline includes of two or more splines, to produce a border, wherein said border includes a plurality of edges; defining a directional border for each of said objects, wherein a direction is stored for each edge of said plurality of edges; and rendering said image wherein the following steps are performed for each pixel of a scanline: .(Open13)(311074)(CFP0363) [O:\OPEN\OPEN13]SPECI13:IAD _d b- -7- incrementing a count if a pixel is an edge having a first direction, or decrementing said count if said pixel is an edge having a second direction; and rendering colour information of said pixel in reponse to an absolute value of said count. t
7. In a system for creating a computerised image made up of objects, an apparatus for scanline rasterization of self-overlapping objects, said apparatus I comprising: means for determining a directional border of said self-overlapping object; means for determining intersections of said directional border with a current scan line, wherein said directional border is received from said means for determining a directional border; means for determining, for each pixel within said scan line, a count of the number of preceding intersections, wherein said count is incremented for directional border crossings in a first direction and is decremented for said directional border crossings in a second direction; and means for rendering each pixel of said self-overlapping object a number of times equal to said count.
8. A method of rendering self-overlapping objects using a scanline process in a system for creating computerized images having at least one object, said method comprising, for each of said objects, the steps of: determining a directional border of said object; S• determining intersections of said directional border with a current scanline; S 25 determining a count for each pixel within said scanline, based on the direction of said directional border on the determined intersections, wherein if said pixel is: a part of an image outside said object, said pixel has a first count, a part of said image within said object, said pixel has a second count, and a part of said image within a self-overlapping portion of said object, said pixel S. 30 has a third count; and T rendering each pixel of said object on the basis of said count determined for each pixel.
9. An apparatus for rendering self-overlapping objects using a scanline process in a system for creating computerized images having at least one object, said apparatus comprising: means for determining a directional border of said object; pen 3)311074) 033) V S 1 T -^O3)311074)(CFP0363) [:\OPEN\OPEN 13]SPECI13:IAD IIIBIBlllll~bl~ll~ l~l~l q I CL- ~3 ~4 ~d -8- means for determining intersections of said directional border with a current scanline; means for determining a count for each pixel within said scanline, based on the direction of said directional border on the determined intersections, wherein if said pixel is: a part of an image outside said object, said pixel has a first count, a part of said image within said object, said pixel has a second count, and a part of said image within a self-overlapping portion of said object, said pixel has a third count; and means for rendering each pixel of said object on the basis of said count determined for each pixel.
In a system for creating a computerised image made up of objects, a method of scanline rasterization of self-overlapping objects substantially as herein described with reference to any one of the embodiments as illustrated in the accompanying drawings.
11. In a system for creating a computerised image made up of objects, an apparatus for scanline rasterization of self-overlapping objects substaitially as herein described with reference to any one of embodiments as illustrated in the accompanying drawings. I DATED this Ninth Day of June 1998 Canon Information Systems Research Australia Pty Ltd Canon Kabushiki Kaisha Patent Attorneys for the Applicants SPRUSON FERGUSON (Openl3(311074(CFP63) OPEOPENSPEC AD S (Openl3)(311074)(CFP0363) [O:\OPEN\OPEN13]SPEC13:lAD Rendering of Overlapping Objects ABSTRACT A method of dealing with self-overlapping objects in a system for creating computerised images, which are made up of objects, by means of a scan line process is described. For each of the overlapping objects a number of steps are performed. A first step (702) is to determine a directional border of the object Another step (704) involves determining intersections of the directional border (8 to 10) with a current scan line A further step is to determine, for each pixel within the scan line a count of the number of preceding intersections, wherein the count is incremented for a directional border crossing in a first direction and is decremented for a directional border crossing (10,11) in a second direction. Still, a further step (706) is to render each pixel of the object a number of times equal to the count I i' St o a I t c i f i t t A a s (openl3)(311074)(CFP0363) pW:\OPEN\OPEN13]SPECI13:HRW r i I i~l~-
AU31780/95A 1994-09-12 1995-09-19 Rendering of overlapping objects Ceased AU695019B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU31780/95A AU695019B2 (en) 1994-09-12 1995-09-19 Rendering of overlapping objects

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AUPM8066A AUPM806694A0 (en) 1994-09-12 1994-09-12 Rendering of overlapping objects
AUPM8066 1994-09-12
AU31780/95A AU695019B2 (en) 1994-09-12 1995-09-19 Rendering of overlapping objects

Publications (2)

Publication Number Publication Date
AU3178095A AU3178095A (en) 1996-03-28
AU695019B2 true AU695019B2 (en) 1998-08-06

Family

ID=25621925

Family Applications (1)

Application Number Title Priority Date Filing Date
AU31780/95A Ceased AU695019B2 (en) 1994-09-12 1995-09-19 Rendering of overlapping objects

Country Status (1)

Country Link
AU (1) AU695019B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7176944B2 (en) 1998-03-27 2007-02-13 Canon Kabushiki Kaisha Opacity based interference texture

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPP771798A0 (en) 1998-12-14 1999-01-14 Canon Kabushiki Kaisha Overlapping edge blends and other texture mapped regions
AU747017B2 (en) * 1998-12-14 2002-05-09 Canon Kabushiki Kaisha Overlapping edge blends and other texture mapped regions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995012865A1 (en) * 1993-11-05 1995-05-11 Taligent, Inc. Object-oriented painter maker
US5428744A (en) * 1993-08-30 1995-06-27 Taligent, Inc. Object-oriented system for building a graphic image on a display
US5493640A (en) * 1992-07-20 1996-02-20 International Business Machines Corporation Method and apparatus for image filling of a continuous contour figure

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493640A (en) * 1992-07-20 1996-02-20 International Business Machines Corporation Method and apparatus for image filling of a continuous contour figure
US5428744A (en) * 1993-08-30 1995-06-27 Taligent, Inc. Object-oriented system for building a graphic image on a display
WO1995012865A1 (en) * 1993-11-05 1995-05-11 Taligent, Inc. Object-oriented painter maker

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7176944B2 (en) 1998-03-27 2007-02-13 Canon Kabushiki Kaisha Opacity based interference texture

Also Published As

Publication number Publication date
AU3178095A (en) 1996-03-28

Similar Documents

Publication Publication Date Title
US5475812A (en) Method and system for independent control of multiple windows in a graphics display system
DE69735975T2 (en) System and method for superimposing images optionally stored in different native formats
JP3428192B2 (en) Window display processing device
US20050041037A1 (en) Method and system for dynamically allocating a frame buffer for efficient anti-aliasing
AU668150B2 (en) Method and apparatus for filling an object based rasterised image
JP2007304576A (en) Rendering of translucent layer
JPS6025794B2 (en) color graphic display device
JPH0247774A (en) Display system and method
EP0737956A2 (en) Frame memory device for graphics
JPS6347791A (en) Information display instructor
EP0673012A2 (en) Controller for a display with multiple common lines for each pixel
US6084596A (en) Rendering self-overlapping objects using a scanline process
JPH07160899A (en) Method and device for drawing divisionally polygon
KR100233346B1 (en) Method and apparatus for improving graphics picking using auxiliary buffer information
AU695019B2 (en) Rendering of overlapping objects
US4748442A (en) Visual displaying
US6339433B1 (en) Creating a blend of color and opacity between arbitrary edges
US5760787A (en) Data storage format
JPH0782315B2 (en) Image processing device
US20030214512A1 (en) Hardware method for sub-pixel anti-aliasing of text on an LCD display
JPS58144276A (en) Document making device
JPH07120427B2 (en) Graphic processing system
JPS63172664A (en) Enlarged character pattern correcting system
JPS60227292A (en) Frame buffer memory writing system
JP3257925B2 (en) Translucent color image generation device

Legal Events

Date Code Title Description
PC Assignment registered

Owner name: CANON KABUSHIKI KAISHA

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