AU780003B2 - Optimising pixel generation from compositing stack - Google Patents
Optimising pixel generation from compositing stack Download PDFInfo
- Publication number
- AU780003B2 AU780003B2 AU27985/01A AU2798501A AU780003B2 AU 780003 B2 AU780003 B2 AU 780003B2 AU 27985/01 A AU27985/01 A AU 27985/01A AU 2798501 A AU2798501 A AU 2798501A AU 780003 B2 AU780003 B2 AU 780003B2
- Authority
- AU
- Australia
- Prior art keywords
- pixel
- contributors
- pixel value
- value
- compositing
- 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
Links
Landscapes
- Image Processing (AREA)
Description
S&F Ref: 541438
AUSTRALIA
PATENTS ACT 1990 COMPLETE SPECIFICATION FOR A STANDARD
PATENT
ORIGINAL
Name and Address of Applicant Actual Inventor(s): Address for Service: Canon Kabushiki Kaisha 30-2, Shimomaruko 3-chome, Ohta-ku Tokyo 146 Japan Timothy Merrick Long and Daniel Wu Spruson Ferguson St Martins Tower,Level 31 Market Street Sydney NSW 2000 Optimising Pixel Generation from Compositing Stack Invention Title: ASSOCIATED PROVISIONAL APPLICATION
DETAILS
[33] Country [31] Applic. No(s) AU PQ6585 [32] Application Date 30 Mar 2000 The following statement is a full description of this invention, including the best method of performing it known to me/us:- 5815c OPTIMISING PIXEL GENERATION FROM COMPOSITING STACK Field of the Invention The present invention relates to generating pixel data from an encoded objectgraphics display list, where that display list supports complex fills such as tiled bitmaps, tri-linear blends, raster operations and compositing stack operations and, in particular, to the optimisation of the pixel data generation through the use of cyclic redundancy codes.
Background In a graphics system, graphical objects are described by associated edges, fill data, priority information (ie. z-ordering), and compositing information, all of which is sorted as part of a display list. Where the fill-data is, for example, a tiled pattern, or even a bitmap with an associated affine transformation, and where each priority includes a graphics operator and flags which control the compositing of the associated fill data with the data from exposed priorities beneath the object, substantial effort is often required to generate the final rendered pixel for each pixel of each scanline of each page of object ooo 15 graphics. This is particularly so where the page is rendered at high resolutions such as 600dpi or even 1200dpi.
Fig. 1 depicts a page image consisting of three priorities. An opaque red background of priority O, an opaque blue circle of priority 3 and a semi-transparent green triangle of priority 7. Compositing proceeds from the lowest exposed priority, up to the highest. For each pixel, at each exposed priority, the compositing operation specified is performed, and the result is often pushed onto a compositing stack.
oo Fig. 2A shows a table of the priorities that have been activated at point A in **ooo S"Fig. 1. El is an edge that activates priority 0, the red background. E2 is the edge that activates priority 2, the blue circle, and E3 is the edge that activates priority 7, the transparent green triangle. E4 is the edge that deactivates priority 7, the transparent green triangle. E5 is the edge that deactivates priority 3, the blue circle, and E6 is the edge that deactivates priority 0, the red background. At point A of Fig. 1, it can be seen that priorities 7, 3 and 0 are all active. From the priority activation table of Fig. 2 it can be seen that priority 3 and priority 7 both contribute towards the final pixel value. This is because priority 3 is opaque and thus any priority below the uppermost opaque priority does not contribute to the final pixel value.
541438.doc Each priority may also have an associated fill. In some rendering systems, the fill data is stored in another table, such as that seen in Fig. 2B and the index to each fill is stored with the priority in the priority activation table of Fig. 2A. Therefore when determining the pixel value to which a priority contributes, the rendering system must use the fill index from the priority table to look-up the fill data in the fill table and determine which pixel of the fill is to be used for the final pixel at this scanline.
The following pseudo-code describes such a rendering algorithm: Algorithm 1 1. FOR each scanline 2. FOR each edge, sorted by ascending x.
3. Emit pixels up to x.
4. Determine the active priorities at x.
END for 6. END FOR The task at line 3 of Algorithm 1 is the pixel generation process. This can be described in the following algorithm: Algorithm 2 1. FOR each pixel in the run 2. FOR each active priority 3. Determine the pixel value that the associated fill contributes.
4. END FOR FOR each pixel value determined above 6. Apply specified raster and stack operations.
7. END FOR Post condition: the final composited pixel value is on the top of the stack.
8. Pop the output pixel from the stack and store it in the output buffer.
9. END FOR Significant processing times occur under certain conditions in two places, those being: Lines 2, 3 and 4 of Algorithm 2. Here, the conditions are when the fill is, say, a bitmap with an associated affine transformation, or a linear blend for which colour r 541438.doc channel gradients must be computed for each pixel in the blend region, or for tiled bitmaps where both the modulo operation and the affine transformation are needed to determine the RGBA value; and.
Lines 5, 6 and 7 of Algorithm 2. Here, the conditions are when the fill is a non-trivial raster operation, such as for example, those raster operations that involves a bit-wise combination of a source bitmap, a mask, a pattern and the destination bitmap in some way.
For high resolution pages, at 600dpi or even 1200dpi, it can be seen that considerable processing is required depending on the number of priorities, the complexity of the fills for each priority, and the raster and stack operations required per priority, on a per-pixel basis.
It is therefore desirable to optimise the pixel generation process described in S. Algorithm 2 in an effort to reduce the overall processing requirements.
Summary of the Invention 15 It is an object of the present invention to substantially overcome, or at least °°o ameliorate, one or more disadvantages of existing arrangements.
According to a first aspect of the invention, there is provided a method of generating a pixel value for a current pixel location in a graphic object rendering system, the method comprising the steps of: identifying a plurality of graphical contributors to the pixel value at the current pixel location, the contributors collectively defining a compositing process for rendering the pixel value; S"processing the contributors to determine a processed value relating to the contributors, the processing not being a compositing of the contributors; and comparing the processed value with a corresponding processed value for an immediately preceding pixel location wherein if the values are identical, a pixel value for the immediately preceding pixel location is output for the current pixel location.
Where the values differ, a pixel value for the current pixel location is determined by compositing the contributors. Preferably the system renders an image formed of the pixels in a rasterised fashion over a plurality of scanlines, and for each first pixel location on each scanline, a pixel value thereof is determined by compositing the corresponding 541438.doc -4contributors. Advantageously, the processing comprises a checksum processing of the contributors. Preferably, the checksum processing comprises determination of a CRC-16 algorithm.
According to another aspect of the invention, there is provided method of optimizing pixel generation, the method comprising the steps of comparing a first checksum of source pixel values that contribute to a current output pixel value with a second checksum of source pixel values that contributed to a previous output pixel value wherein, if the checksums are equal, the previous output pixel value is used as the output value for the current pixel, otherwise the current output pixel value is computed by compositing the source pixels that contribute to said current output pixel, and noting both said current output pixel value and the first checksum for use as the previous output pixel value and the second checksum respectively for the generation of another pixel value.
According to another aspect of the invention, there is provided an apparatus for implementing any one of the aforementioned methods.
According to another aspect of the invention there is provided a computer program product including a computer readable medium having recorded thereon a i computer program for implementing any one of the methods described above.
Brief Description of the Drawings At least one preferred embodiment of the present invention will now be described with reference to the drawings, in which: Fig. 1 illustrates a page image consisting of three priorities; Fig. 2 illustrates the state of the priority activation table and fill index table at Spoint A inFig. 1; Fig. 3 is a diagram of the pixel buffer used to store pixel values for all active priorities in a run of pixels ofa scanline; Fig. 4 represents a pixel buffer filled with pixel data for the three priorities encompassing the scanline at point A of Fig. 1; Fig. 5 depicts an optimising process according to the present disclosure; Fig 6 is a schematic block diagram representation of a computer system in which the arrangements described may be performed; and Fig. 7 is a flowchart depicting operation according to Fig. 541438.doc Detailed Description including Best Mode Fig. 5 shows an arrangement for optimising pixel generation where a rendering table 500 includes a number of columns, each column relating to a pixel value desired to be generated and row entries representing those graphical object components and properties that contribute to the corresponding pixel value desired to be output. The columns for example may represent individual pixel locations in a scan line of an image.
As indicated in the Background section, traditionally each entry in each column is used to generate a composited pixel value for the particular pixel location on a scanline of the image being rendered. Specifically, the entries (ie. the contributors) need not be input pixel values per se, but may be addresses to pixel values or other similar functions. Thus the entries in some way contribute to what is ultimately the composited pixel value.
According to the present disclosure, the various entries in each column of the rendering table 500 are also used to create a checksum value for the corresponding pixel location. The checksum in this fashion represents a quick and simple mathematical processing of entries in a column of the table 500, something which can most often be performed substantially faster than the necessary compositing operation(s). Processing other than through the creation of a checksum may alternatively be used, provided such does not replicate compositing and preferably offers a calculation time faster than such compositing. With the checksum value for each pixel location, checksum values for adjacent pixel locations can be compared. Where the contributing values are the same, the corresponding composited pixel values will also be the same. Accordingly, for any •o••o S"scanline, a full composite may be thus performed for the first pixel, which can be output at the first pixel location. The checksums associated with the first and second pixels may then be calculated and compared. If the checksums are the same, the first pixel value is then output at the second pixel location thereby avoiding the need to perform a composite for the table entries of the second pixel. Such a process can continue along the scanline until two checksums differ, at which time a composite operation at the new pixel location must be performed to accurately render that pixel..
This method thus provides a convenient and simple method of generating runs of pixels in a computationally efficient manner. Turning now to Fig. 7, a simple method 700 541438.doc may be implemented, which commences at step 702. in step 704 which follows, those values that contribute to the first pixel on a particular scanline are identified. At step 706, a checksum is performed on the contributors identified in step 704 to derived a value denoted as NewChecksum. In step 708, a value OldChecksum is set equal to the value of NewChecksum. The pixel is then composited in step 710, using the contributors from which OldChecksum was determined. At step 712, the composited pixel value is output, for display for example. Step 714 then determines if the scanline has ended. If so, the method 700 terminates at step 716, whereupon the method may recommence from step 702 for the next scanline, if desired, to provide for rasterised rendering. Where more pixels are to be generated for the current scanline, step 718 follows to source the contributors for the next pixel in the current scanline. Step 720 follows to determine a checksum value denoted NewChecksum for those contributors obtained in step 718. In step 722, NewChecksum is compared with OldChecksum. If the values are the same, control returns to step 712 where the currently composited pixel value is again output. If S 15 not, control returns to step 708 where OldChecksum is updated, thereby permitting a new composite to be performed at step 710 and the new pixel value to be output at step 712.
A specific implementation may now be described. Fig. 3 shows a pixel buffer where each row stores a run of pixels for a priority, and the width of the row (the number of columns) is some arbitrary length, say 64 pixels. The height (the number of rows) is 20 at least the number of active priorities for a run of pixels.
Algorithm 3 below is pseudo-code describing a preferred implementation that °replaces Algorithm 2.
SAlgorithm 3 1. IF there is only 1 active priority 2. Determine each pixel value for the run and output directly to the output buffer.
3. ELSE 4. FOR each pixel in the run FOR each active priority, (ie: a row in the pixel buffer starting at row 0) 6. FOR each column in the pixel buffer, starting at column 0 541438.doc -7- 7. Determine the pixel value that the associated fill contributes 8. Store in the pixel buffer [column] [row] 9. END FOR 10. END FOR At this stage the pixels for the contributing priorities are in the pixel buffer 11. SET lastcrc NULL 12. SET last_pixel; NULL 13. FOR each column in the pixel buffer 14. Compute the CRC-16 for the column of pixels in "crc".
15. IF crc last crc THEN 16. Output lastpixel to the output buffer.
S17. ELSE l 18. FOR each pixel value in the column 19. Apply specified raster and stack compositing operations to determine the new output pixel value.
END FOR The output pixel value is on the top of the stack.
20 21. Pop the output pixel from the stack and output to the output buffer.
22. SET last_pixel output pixel 23. SET lastcrc crc.
24. END IF 25. END FOR 26. END FOR 27. END IF Lines 6, 7, 8 and 9 of Algorithm 3 generate the pixel data for a run of pixels, for each priority, instead of one pixel at a time. This way, for cases where the fill is nontrivial, such as a tiled bitmap, once the setup needed to find the index into the bitmap buffer for the first pixel value in a run has been performed, retrieving the adjacent pixel 541438.doc values in the bitmap for subsequent pixels on the scanline is generally trivial, especially in the case of an identity affine transformation.
At the time line 10 of Algorithm 3 is transmitted, the pixel buffer is filled with pixel values generated from the fills associated with each of the active priorities. Fig. 4 shows the pixel buffer for the example in Fig. 1.
To further reduce the processing of raster operations on the active priorities, line 14 of Algorithm 3 shows that a CRC-16 checksum is calculated from the actual Red, Green, Blue and Alpha (RGBA) channel components of each pixel value in each row of the current column.
Algorithm 4 below is an alternate form of Algorithm 3 that only requires storage for one column of pixel contributors at a time and may be advantageous in some circumstances.
Algorithm 4 1. IF there is only 1 active priority S 15 2. Determine each pixel value for the run and output directly to the output buffer 3. ELSE 4. SET last_crc=NULL; FOR each pixel in the run 6. FOR each active priority 7. Determine the pixel value that the associated fill contributes 8. Store in the pixel buffer[active_priority] S9. END FOR At this stage the pixels for the contributing priorities are in pixel buffer.
Compute the CRC-16 for the contributing components in the pixel buffer 11. IF crc not equal to last_crc THEN 12. Combine the contributing components in the pixel buffer (ie: composite to give resultpixel) 13. SET last_pixel=result_pixel 541438.doc 14. SET lastcrc=crc END IF 16. Output last_pixel 17. END FOR 18. END IF Line 10 of Algorithm 4 preferably implements a standard CRC-16 algorithm using a lookup table to allow for processing of 8-bits at a time. Such is described in pseudo-C notation as follows: Algorithm 1. Set crc 0 2. For each pixel value in column, starting at row 0 3. Set c pointer to pixel value.
4. For each byte, j, in pixel value 5. Set crc CRCTable[(crc^c[j])&OxFF] A crc>>8 15 6. End For 7. End For.
For a 4 byte RGBA pixel value, j ranges from 0 to 3.
The CRC_Table is a standard lookup table for CRC-16 calculations. For example, a C implementation of the CRC_Table may being with: 20 unsigned short CRCtab[256] Ox0000,0xcOc1,xc c181,0x0140,0xc301,0x03c,00280,0xc241, etc If the checksum equals the value at the previous column then the pixel value generated from the previous column is used and no raster operation or composite is required. The CRC-16 calculation is faster, requiring less processing than applying the raster and stack operations on the same data, when there are at least 2 active priorities.
If the checksum does not equal the checksum calculated for the previous column, or if this is the first pixel on the scanline, then the final pixel value at this column must 541438.doc always be generated using the fill information for the active priorities as previously described in Algorithm 2, line 6.
These two modifications to the original rendering algorithm significantly reduce the amount of processing required for a run of pixels, where there are at least 2 active priorities compared to the original rendering algorithm. In particular, the CRC-16 method takes advantage of one of the characteristics of rendering object graphics at high resolutions, even when the associated fills are non-trivial, in that adjacent pixels (columns) have a high probability of being equal. This is highlighted by the fact that bitmap fills generally are not supplied at page resolutions, such as 600 or 1200 dpi, and are therefore up-sampled by pixel replication. In that case the probability of adjacent pixels being equal is high.
It is advantageous to generate a row of pixel values for each active priority from its associated fill data, in order to minimise the initial cost of calculating the first pixel value in the run of pixels, especially for complex fills, such as tiled bitmaps and tri-linear blends.
It is advantageous to generate a CRC-16 checksum or similar for each column .and comparing the result with the previous column, instead of always performing the raster operation for each column, when there are at least 2 active priorities.
The checksum methods described above may be performed using a conventional general purpose computer system 600, such as that shown in Fig. 6 wherein the processes described above may be implemented as software, such as an application program executing within the computer system 600. The software may be stored in a computer readable medium, including the storage devices described below, for example. The software is loaded into the computer from the computer readable medium, and then executed by the computer. A computer readable medium having such software or computer program recorded on it is a computer program product. The use of the computer program product in the computer preferably effects an advantageous apparatus for image rendering and pixel generation in accordance with the embodiments of the invention.
The computer system 600 comprises a computer module 601, input devices such as a keyboard 602 and mouse 603, output devices including a printer 615 and a display 541438.doc -11device 614. A Modulator-Demodulator (Modem) transceiver device 616 is used by the computer module 601 for communicating to and from a communications network 620, for example connectable via a telephone line 621 or other functional medium. The modem 616 can be used to obtain access to the Internet, and other network systems, such as a Local Area Network (LAN) or a Wide Area Network (WAN).
The computer module 601 typically includes at least one processor unit 605, a memory unit 606, for example formed from semiconductor random access memory (RAM) and read only memory (ROM), input/output interfaces including a video interface 607, and an I/O interface 613 for the keyboard 602 and mouse 603 and optionally a joystick (not illustrated), and an interface 608 for the modem 616. A storage device 609 is provided and typically includes a hard disk drive 610 and a floppy disk drive 611. A magnetic tape drive (not illustrated) may also be used. A CD-ROM drive 612 is typically provided as a non-volatile source of data. The components 605 to 613 of the computer module 601, typically communicate via an interconnected bus 604 and in a manner which results in a conventional mode of operation of the computer system 600 known to those in the relevant art. Examples of computers on which the embodiments can be practised include IBM-PC's and compatibles, Sun Sparcstations or alike computer systems evolved therefrom.
Typically, the application program of the preferred embodiment is resident on 20 the hard disk drive 610 and read and controlled in its execution by the processor 605.
Intermediate storage of the program and any data fetched from the network 620 may be accomplished using the semiconductor memory 606, possibly in concert with the hard oooo• S•disk drive 610. In some instances, the application program may be supplied to the user encoded on a CD-ROM or floppy disk and read via the corresponding drive 612 or 611, or alternatively may be read by the user from the network 620 via the modem device 616.
Still further, the software can also be loaded into the computer system 600 from other computer readable medium including magnetic tape, a ROM or integrated circuit, a magneto-optical disk, a radio or infra-red transmission channel between the computer module 601 and another device, a computer readable card such as a PCMCIA card, and the Internet and Intranets including e-mail transmissions and information recorded on websites and the like. The foregoing is merely exemplary of relevant computer readable 541438.doc 12mediums. Other computer readable mediums may be practiced without departing from the scope and spirit of the invention.
The methods described above may alternatively be implemented in dedicated hardware such as one or more integrated circuits performing the functions or sub functions of pixel generation. Such dedicated hardware may include graphic processors, digital signal processors, or one or more microprocessors and associated memories.
Industrial Applicability It is apparent from the above that the embodiment(s) of the invention are applicable to the computer and image generation industries.
The foregoing describes only some embodiments of the present invention, and modifications and/or changes can be made thereto without departing from the scope and spirit of the invention, the embodiments being illustrative and not restrictive.
In the context of this specification, the word "comprising" means "including principally but not necessarily solely" or "having" or "including" and not "consisting only of'. Variations of the word comprising, such as "comprise" and "comprises" have corresponding meanings.
999.9.
oo o9 *999 9o 99 99 9 9 9.9.
o*oeo 541438.doc
Claims (2)
13- The claims defining the invention are as follows: 1. A method of generating a pixel value for a current pixel location in a graphic object rendering system, said method comprising the steps of: identifying a plurality of graphical contributors to said pixel value at said current pixel location, said contributors collectively defining a compositing process for rendering said pixel value; processing said contributors to determine a processed value relating to said contributors, said processing not being a compositing of said contributors; and comparing said processed value with a corresponding processed value for an immediately preceding pixel location wherein if said values are identical, a pixel value for said immediately preceding pixel location is output for said current pixel location. 2. A method according to claim 1, wherein if said values differ, a pixel value for is said current pixel location is determined by compositing said contributors. o: 3. A method according to claim 1 or 2, wherein said system renders an image formed of said pixels in a rasterised fashion over a plurality of scanlines, and for each first pixel location on each said scanline, a pixel value thereof is determined by compositing said corresponding contributors. 4. A method according to claim 1, 2 or 3, wherein said processing comprises a Schecksum processing of said contributors. 5. A method according to claim 4, wherein said checksum processing comprises implementing a CRC-16 algorithm. 6. A method of optimizing pixel generation, said method comprising the steps of comparing a first checksum of source pixel values that contribute to a current output pixel value with a second checksum of source pixel values that contributed to a previous output pixel value wherein, if said checksums are equal, the previous output pixel value is used
541438.doc -14- as the output value for said current pixel, otherwise said current output pixel value is computed by compositing said source pixel values that contribute to said current output pixel, and noting both said current output pixel value and said first checksum for use as said previous pixel value and said second checksum respectively for the generation of another pixel value. 7. A method of optimising pixel generation in claim 6, wherein each said checksum is calculated using a CRC-16 algorithm. 8. A method of pixel generation substantially as described herein with reference to Fig. 5 of the drawings. O* 9. Apparatus for performing the method of any one of claims 1 to 8. 15 10. A computer readable medium, having a computer program recorded thereon, o where the program is configured to make a computer execute a procedure to perform the method of any one of claims 1 to 8. 11. A graphic object rendering system, comprising: means for identifying a plurality of graphical contributors to a pixel value at a current pixel location, said contributors collectively defining a compositing process for rendering said pixel value; means for processing said contributors to determine a processed value relating to said contributors, said processing not being a compositing of said contributors; and means for comparing said processed value with a corresponding processed value for an immediately preceding pixel location wherein if said values are identical, a pixel value for said immediately preceding pixel location is output for said current pixel location. 12. A system according to claim 11, wherein if said values differ, a pixel value for said current pixel location is determined by compositing said contributors. 541438.doc 13. A system according to claim 11 or 12, wherein said system renders an image formed of said pixels in a rasterised fashion over a plurality of scanlines, and for each first pixel location on each said scanline, a pixel value thereof is determined by compositing said corresponding contributors. 14. A system according to claim 11, 12 or 13, wherein said processing comprises a checksum processing of said contributors. 15. A system according to claim 14, wherein said checksum processing comprises implementing a CRC-16 algorithm. 16. A computer program for generating a pixel value for a current pixel location in a graphic object rendering system, said method comprising the steps of: code for identifying a plurality of graphical contributors to said pixel value at said current pixel location, said contributors collectively defining a compositing process for rendering said pixel value; code for processing said contributors to determine a processed value relating to i said contributors, said processing not being a compositing of said contributors; and code for comparing said processed value with a corresponding processed value for an immediately preceding pixel location wherein if said values are identical, a pixel value for said immediately preceding pixel location is output for said current pixel location. 17. A computer program according to claim 16, wherein if said values differ, a pixel value for said current pixel location is determined by compositing said contributors. 18. A computer program according to claim 16 or 17, wherein said system renders an image formed of said pixels in a rasterised fashion over a plurality of scanlines, and for each first pixel location on each said scanline, a pixel value thereof is determined by compositing said corresponding contributors. 541438.doc -16- 19. A computer program according to claim 16, 17 or 18, wherein said processing comprises a checksum processing of said contributors. 20. A computer program according to claim 19, wherein said checksum processing comprises implementing a CRC-16 algorithm. DATED this twenty-ninth Day of October, 2004 CANON KABUSHIKI KAISHA Patent Attorneys for the Applicant SPRUSON FERGUSON 0* *o* oooo 541438.doc
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU27985/01A AU780003B2 (en) | 2000-03-30 | 2001-03-14 | Optimising pixel generation from compositing stack |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AUPQ6585 | 2000-03-30 | ||
AUPQ6585A AUPQ658500A0 (en) | 2000-03-30 | 2000-03-30 | Optimising pixel generation from compositing stack |
AU27985/01A AU780003B2 (en) | 2000-03-30 | 2001-03-14 | Optimising pixel generation from compositing stack |
Publications (2)
Publication Number | Publication Date |
---|---|
AU2798501A AU2798501A (en) | 2001-10-04 |
AU780003B2 true AU780003B2 (en) | 2005-02-24 |
Family
ID=25620480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
AU27985/01A Ceased AU780003B2 (en) | 2000-03-30 | 2001-03-14 | Optimising pixel generation from compositing stack |
Country Status (1)
Country | Link |
---|---|
AU (1) | AU780003B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7538770B2 (en) | 2003-11-28 | 2009-05-26 | Canon Kabushiki Kaisha | Tree-based compositing system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1991014995A1 (en) * | 1990-03-19 | 1991-10-03 | Sun Microsystems, Inc. | Method and apparatus for rendering anti-aliased polygons |
WO1994027240A1 (en) * | 1993-05-10 | 1994-11-24 | Apple Computer, Inc. | Computer graphics system having high performance multiple layer z-buffer |
GB2336266A (en) * | 1998-04-02 | 1999-10-13 | Discreet Logic Inc | Processing image signals at an object boundary |
-
2001
- 2001-03-14 AU AU27985/01A patent/AU780003B2/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1991014995A1 (en) * | 1990-03-19 | 1991-10-03 | Sun Microsystems, Inc. | Method and apparatus for rendering anti-aliased polygons |
WO1994027240A1 (en) * | 1993-05-10 | 1994-11-24 | Apple Computer, Inc. | Computer graphics system having high performance multiple layer z-buffer |
GB2336266A (en) * | 1998-04-02 | 1999-10-13 | Discreet Logic Inc | Processing image signals at an object boundary |
Also Published As
Publication number | Publication date |
---|---|
AU2798501A (en) | 2001-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1272977B1 (en) | Shape processor | |
AU2005201019B2 (en) | A method of rendering graphical objects | |
US6512595B1 (en) | Data processing apparatus, data processing method, and medium | |
US20050231506A1 (en) | Triangle identification buffer | |
US7898686B2 (en) | System and method for encoded raster document generation | |
US20090237734A1 (en) | Methods and Systems for Print-Data Rendering | |
JPH06236176A (en) | Method and apparatus for giving of tranaparency to raster image | |
US7477265B2 (en) | System and method for optimising halftoning printer performance | |
US6795048B2 (en) | Processing pixels of a digital image | |
AU780003B2 (en) | Optimising pixel generation from compositing stack | |
US20050018918A1 (en) | Image enhancement employing partial template matching | |
JP3009525B2 (en) | Vector image drawing equipment | |
JP2007245723A (en) | System, method and program for rendering document | |
US20040012617A1 (en) | Generating one or more linear blends | |
JPH05207266A (en) | Picture edit processing unit | |
JPH10247241A (en) | Convolution scanning line rendering | |
AU2003201329B2 (en) | A System and Method for Optimising Halftoning Printer Performance | |
AU702905B2 (en) | Data storage format | |
AU2003204655B2 (en) | Generating One or More Linear Blends | |
AU2003248032B2 (en) | Apparatus for Printing Using Non-overlapping Graphic Objects | |
EP1306811A1 (en) | Triangle identification buffer | |
AU2004216685A1 (en) | Removing unnecessary clip modifications and avoiding unnecessary state modifications | |
AU2007240228A1 (en) | Improved hybrid rendering | |
JP2003333329A (en) | Storage system for original data with respect to medium- tone-processed data | |
AU2003231615A1 (en) | Method and Apparatus for Tracking Line Segments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
DA3 | Amendments made section 104 |
Free format text: THE NATURE OF THE AMENDMENT IS: SUBSTITUTE PATENT REQUEST REGARDING ASSOCIATED DETAILS |