AU2007240228A1 - Improved hybrid rendering - Google Patents

Improved hybrid rendering Download PDF

Info

Publication number
AU2007240228A1
AU2007240228A1 AU2007240228A AU2007240228A AU2007240228A1 AU 2007240228 A1 AU2007240228 A1 AU 2007240228A1 AU 2007240228 A AU2007240228 A AU 2007240228A AU 2007240228 A AU2007240228 A AU 2007240228A AU 2007240228 A1 AU2007240228 A1 AU 2007240228A1
Authority
AU
Australia
Prior art keywords
flat
tile
intersecting
current
rendering
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.)
Abandoned
Application number
AU2007240228A
Inventor
Delilah Gloria Slack-Smith
Alexander Will
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 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 Inc filed Critical Canon Inc
Priority to AU2007240228A priority Critical patent/AU2007240228A1/en
Publication of AU2007240228A1 publication Critical patent/AU2007240228A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)

Description

S&F Ref: 831963 AUSTRALIA PATENTS ACT 1990 COMPLETE SPECIFICATION FOR A STANDARD PATENT Name and Address Canon Kabushiki Kaisha, of 30-2, Shimomaruko 3-chome, of Applicant : Ohta-ku, Tokyo, 146, Japan Actual Inventor(s): Delilah Gloria Slack-Smith, Alexander Will Address for Service: Spruson & Ferguson St Martins Tower Level 35 31 Market Street Sydney NSW 2000 (CCN 3710000177) Invention Title: Improved hybrid rendering The following statement is a full description of this invention, including the best method of performing it known to me/us: 5845c(10464821 I) - 1 IMPROVED HYBRID RENDERING FIELD OF THE INVENTION The present invention relates generally to printing technology and, in particular, to host-based rendering of page descriptions. s BACKGROUND Page Description Language When a computer application provides data to a device for printing and/or display, an intermediate description of the page is often given to device driver software in a page description language, which provides descriptions of graphic objects to be rendered onto the io page or display. This is in contrast to other arrangements, in which raster image data is generated directly by the application and is subsequently transmitted for printing or display. Examples of page description languages include Canon's Laser-beam Image Processing System (LIPS) and Hewlett Packard's Printer Control Language (PCL). 5 Windows Printing Equivalently, the application may provide a set of descriptions of graphic objects in function calls to a graphics device interface layer, such as the Microsoft Windows Graphics Design Interface (GDI). The printer driver for the associated target printer is the software that receives the graphic object descriptions from the GDI layer. For each object, the printer driver 20 is responsible for generating a description of the object in the page description language that is understood by the rendering system of the target printer. The RIP and DL A printer's rendering system contains a page description language (PDL) interpreter that 25 parses the graphic object descriptions and builds a display list of graphics object data. The rendering system also contains a raster image processor (RIP) that processes the display list and renders the data to pixel values. The pixel value can comprise, for example, C, M, Y and K channels. Once in this format, the printer prints the page.
-2 Painter's Algorithm Most RIPs utilize a large volume of memory, known to the art as a frame store or a page buffer, to hold a pixel-based image data representation of the page or screen for subsequent printing and/or display. Typically, the outlines of the graphic objects are calculated, filled 5 with color values and written in to the frame store. For two-dimensional graphics, objects that appear in front of other objects are simply written into the frame store after the background objects, thereby replacing the background on a pixel by pixel basis. This is commonly known to the art as "Painter's algorithm". Objects are considered in priority order, from the rearmost object to the foremost object and, typically, each object is rasterized in scanline order and 10 pixels are written to the frame store in sequential runs along each scanline. Some RIPs allow objects to be composited with other objects in some way. For example, a logical or arithmetic operation can be specified and performed between one or more graphics objects and the already rendered pixels in the frame buffer. In these cases, the rendering principle remains the same: objects (or groups of objects) are rasterized in scanline order, and the result of the is specified operation is calculated and written to the frame store in sequential runs along each scanline. Problems of Painter's Algorithm Rendering There are a number of problems with the Painter's algorithm rendering method. One problem !o is that many pixels which are written to the frame store by rendering an object are over-written when rendering later objects. There is a clear disadvantage in writing pixel data into a frame store that will at a later stage be over-written. Pixel Sequential Rendering 25 Other RIPs utilise a pixel-sequential rendering method to remove the need for a frame store, and to overcome the over-painting problem. In these systems, each pixel is generated in raster order. All objects to be drawn are retained in a display list. On each scan line, the edges of objects, which intersect the scanline, are held in increasing order of their intersection with the scan line. These points of intersection, or edge crossings, are considered in turn, and activate 30 or deactivate objects in the display list. Between each pair of edges considered, the color data for each pixel, which lies between the first edge and the second edge, is generated based on which objects are active for that span of pixels (pixel-run). In preparation for the next -3 scanline, the coordinate of intersection of each edge is updated in accordance with the nature of each edge, and the edges are sorted into increasing order of intersection with that scanline. Any new edges are also merged into the list of edges, which is called the active edge list. 5 Graphics systems which use pixel sequential rendering have significant advantages in that there is no frame store or line store and no unnecessary over-painting. Objects requiring compositing are processed on a per-pixel basis on each object's original color data. In this way, the correct results are always achieved. .0 Problems of Pixel Sequential Rendering Pixel sequential rendering suffers when there are large numbers of edges that must be tracked and maintained in sorted order by ascending x, for each scanline. As each edge is updated in a scanline, it is re-inserted into the active edge list, usually by an 5 insertion sort. For complex pages consisting of hundreds of thousands of edges, the time required to maintain the sorted list of edges for each scanline becomes a large portion of the total time to render a complex page. Painter's algorithm rendering does not suffer this overhead, because it only processes one object at a time. !0 Hybrid Rendering The problems of Painter's algorithm and pixel sequential rendering can be ameliorated by combining or hybridising them. One method of doing this is to divide the display list into groups of objects and use pixel-sequential rendering on the groups one after the other in rendering order, building the rendered page in a frame store as in a Painter's algorithm 25 approach. Problems of Hybrid Rendering Hybrid rendering suffers when there are large numbers of flat objects, i.e., objects of uniform colour, in the display list. The rendering cost of the Painter's algorithm for flat objects, or flat 30 groups, is significantly higher than the cost of pixel-sequential rendering, because much of the compositing of flat groups on flat areas of the frame store is performed unnecessarily repetitively.
-4 Planar Mapping Other RIPs utilise planar mapping to overcome the over-painting problem. In these systems, all objects to be drawn are retained in a display list. The page is divided into atomic regions s by computing the intersections between object extents. Each atomic region is then flattened independently. Problems of Planar Mapping Planar mapping suffers when there are large numbers of objects whose extents must be 1o intersected to generate atomic regions. For large numbers of objects, the time required to compute the atomic regions can be a large portion of the total time to render a complex page. Painters algorithm rendering does not suffer this overhead, because it processes objects independently. SUMMARY 5 It is an object of the present invention to overcome substantially, or at least ameliorate, one or more disadvantages of existing arrangements. According to a first aspect of the present disclosure, there is provided a method of rendering a page description comprising one or more objects to a page consisting of one or more bands .0 (920) of one or more contiguous scanlines, each said band being partitioned into one or more tiles, said method comprising, for a current band of said page: a) determining (310, 410), for a current object, which said tiles intersect the object; b) determining (330) whether one said intersecting tile is flat; and, if said current object is flat, 25 c) generating (510) a pixel for said intersecting flat tile using the colour of said current flat object and a sample pixel (910) for said intersecting flat tile. According to a second aspect of the present disclosure, there is provided a method of rendering a page description having at least one object, said method comprising the steps of: 30 dividing said page into at least one horizontal band, each said band including at least one scanline; partitioning vertically each said horizontal band into at least one tile; and -5 for each said band in said page: for each object in said page description: determining whether the object intersects said band, determining whether the object is flat, and 5 flat-rendering the object when the object is flat and non-flat rendering the object when the object is not flat; and outputting said band. Other aspects are also disclosed. 10 BRIEF DESCRIPTION OF THE DRAWINGS One or more embodiments of the invention will now be described with reference to the following drawings, in which: Fig. I is a schematic block diagram of a general purpose computer on which the 5 embodiments of the invention may be practised; Fig. 2 is a schematic flow diagram illustrating a method of rendering a band of pixel data as used in the method of Fig. 8; Fig. 3 is a schematic flow diagram illustrating a method of rendering a flat object as used in the method of Fig. 2; 0 Fig. 4 is a schematic flow diagram illustrating a method of rendering a non-flat object as used in the method of Fig. 2; Fig. 5 is a schematic flow diagram illustrating a method of rendering a flat object on a flat background tile as used in the method of Fig. 3; Fig. 6 is a schematic flow diagram illustrating a method of rendering a flat object on a 25 non-flat background tile as used in the method of Fig. 3; Fig. 7 is a schematic flow diagram illustrating a method of sending a band of pixel data to a printer as used in the method of Fig. 8; Fig. 8 is a schematic flow diagram illustrating a method of rendering a page according to an embodiment of the invention; 30 Fig. 9 illustrates an example of a flatness map and a bandstore as used by the methods of Figs. 2-8.
-6 DETAILED DESCRIPTION Where reference is made in any one or more of the accompanying drawings to steps and/or features, which have the same reference numerals, those steps and/or features have for the 5 purposes of this description the same function(s) or operation(s), unless the contrary intention appears. Disclosed herein is a method of rendering a page description having one or more objects. The method may be implemented using a computer system 100, such as that shown in Fig. 1, o wherein the processes of Figs. 2 to 9, which are described below, may be implemented as software, such as one or more application programs executable within the computer system 100. In particular, the steps of the method of rendering a page description are effected by instructions in the software that are carried out within the computer system 100. The instructions may be formed as one or more code modules, each for performing one or more s particular tasks. The software may also be divided into two separate parts, in which a first part and the corresponding code modules perform the rendering of page description methods and a second part and the corresponding code modules manage a user interface between the first part and the user. 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 :o system 100 from the computer readable medium, and then executed by the computer system 100. 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 system 100 preferably effects an advantageous apparatus for rendering a page description. 25 As seen in Fig. 1, the computer system 100 is formed by a computer module 101, input devices such as a keyboard 102 and a mouse pointer device 103, and output devices including a printer 115, a display device 114 and loudspeakers 117. An external Modulator Demodulator (Modem) transceiver device 116 may be used by the computer module 101 for communicating to and from a communications network 120 via a connection 121. The 30 network 120 may be a wide-area network (WAN), such as the Internet or a private WAN. Where the connection 121 is a telephone line, the modem 116 may be a traditional "dial-up" modem. Alternatively, where the connection 121 is a high capacity (e.g., cable) connection, -7 the modem 116 may be a broadband modem. A wireless modem may also be used for wireless connection to the network 120. The computer module 101 typically includes at least one processor unit 105, and a memory 5 unit 106 for example formed from semiconductor random access memory (RAM) and read only memory (ROM). The module 101 also includes an number of input/output (I/O) interfaces including an audio-video interface 107 that couples to the video display 114 and loudspeakers 117, an I/O interface 113 for the keyboard 102 and mouse 103 and optionally a joystick (not illustrated), and an interface 108 for the external modem 116 and printer 115. In 0 some implementations, the modem 116 may be incorporated within the computer module 101, for example within the interface 108. The computer module 101 also has a local network interface 111 which, via a connection 123, permits coupling of the computer system 100 to a local computer network 122, known as a Local Area Network (LAN). As also illustrated, the local network 122 may also couple to the wide network 120 via a connection 124, which 1s would typically include a so-called "firewall" device or similar functionality. The interface 111 may be formed by an EthernetTm circuit card, a wireless BluetoothTm or an IEEE 802.11 wireless arrangement. The interfaces 108 and 113 may afford both serial and parallel connectivity, the former o typically being implemented according to the Universal Serial Bus (USB) standards and having corresponding USB connectors (not illustrated). Storage devices 109 are provided and typically include a hard disk drive (HDD) 110. Other devices such as a floppy disk drive and a magnetic tape drive (not illustrated) may also be used. An optical disk drive 112 is typically provided to act as a non-volatile source of data. Portable memory devices, such optical disks 25 (e.g., CD-ROM, DVD), USB-RAM, and floppy disks for example may then be used as appropriate sources of data to the system 100. The components 105 to 113 of the computer module 101 typically communicate via an interconnected bus 104 and in a manner which results in a conventional mode of operation of 30 the computer system 100 known to those in the relevant art. Examples of computers on which the described arrangements can be practised include IBM-PCs and compatibles, Sun Sparcstations, Apple MacTM or alike computer systems evolved therefrom.
-8 Typically, the application programs discussed above are resident on the hard disk drive 110 and read and controlled in execution by the processor 105. Intermediate storage of such programs and any data fetched from the networks 120 and 122 may be accomplished using the 5 semiconductor memory 106, possibly in concert with the hard disk drive 110. In some instances, the application programs may be supplied to the user encoded on one or more CD ROM and read via the corresponding drive 112, or alternatively may be read by the user from the networks 120 or 122. Still further, the software can also be loaded into the computer system 100 from other computer readable media. Computer readable media refers to any 1o storage medium that participates in providing instructions and/or data to the computer system 100 for execution and/or processing. Examples of such media include floppy disks, magnetic tape, CD-ROM, a hard disk drive, a ROM or integrated circuit, a magneto-optical disk, or a computer readable card such as a PCMCIA card and the like, whether or not such devices are internal or external of the computer module 101. Examples of computer readable 1s transmission media that may also participate in the provision of instructions and/or data include radio or infra-red transmission channels as well as a network connection to another computer or networked device, and the Internet or Intranets including e-mail transmissions and information recorded on Websites and the like. !0 The second part of the application programs and the corresponding code modules mentioned above may be executed to implement one or more graphical user interfaces (GUIs) to be rendered or otherwise represented upon the display 114. Through manipulation of the keyboard 102 and the mouse 103, a user of the computer system 100 and the application may manipulate the interface to provide controlling commands and/or input to the applications 25 associated with the GUI(s). The method of rendering a page description may alternatively be implemented in dedicated hardware such as one or more integrated circuits performing the functions or sub functions of rendering, including, for example, determining intersecting tiles, determining whether the 30 intersecting tiles are flat, and generating pixels for the intersecting flat tiles. Such dedicated hardware may include graphic processors, digital signal processors, or one or more microprocessors and associated memories.
-9 The methods of an embodiment of the invention assume the page is notionally divided into horizontal strips called bands. Each band represents one or more contiguous scanlines. Each band is then further notionally partitioned vertically into one or more tiles. In one 5 embodiment, bands of 32 contiguous scanlines are used and the vertical tiles are 32 pixels wide. A band of rendered output is stored in a memory buffer called a band-store. A data structure called the flatness map is also stored in memory. The flatness map consists of an array of bitflags, one for each tile in the band-store. When a bitflag in the flatness map is set, it indicates that the corresponding tile in the band-store is flat, i.e., consists of pixels of 0 uniform colour. The band-store and the flatness map are illustrated by the example in Fig. 9. The example shows 2x2 tiles for clarity. Flatness map 900 contains one bitflag per tile in band-store 910. Tiles with the corresponding bitflag set have just one sample pixel, where the sample pixel 5 represents all pixels within the tile. Item 920 shows what a pixel buffer equivalent to the combination of flatness map 900 and band-store 910 would look like. The sample pixel value of 'flat' tiles 1, 2, and 4 has been replicated to fill completely the corresponding tile of the pixel buffer. During rendering, the band-store represents the background for the current object, and the tiles therein are therefore referred to as 'background' tiles. 0 Fig. 8 is a flow diagram of a method 800 of rendering a page according to an embodiment of the invention. In the method 800, a processor traverses a page, one band at a time while it has not processed all bands. Control passes from a BEGIN step 805 to step 810, which determines if there is a band to process. If there is a band to process, Yes, then the processor 25 continues at step 820, otherwise, No, the method 800 terminates at step 840. At step 820, the processor renders the band (described below in more detail with reference to Fig. 2), after which the processor outputs the band to the printer at step 830 (described below in more detail with reference to Fig. 7) and returns control to step 810, which determines whether there is a further band to process. 30 The method 820 of rendering a band is described with reference to Fig. 2. At step 210, the processor initialises the flatness map by setting all the bitflags and the band-store by -10 initialising all the sample pixels to white. The processor traverses a list of objects at step 220 and determines whether there are any unprocessed objects. If there is an object to process, Yes, then the method continues at step 230, otherwise, No, the method 820 terminates at step 250. At step 230, the processor determines whether the current object intersects the band. If 5 it does, Yes, then the processor continues at step 240, otherwise, No, the processor returns to step 220. At step 240, the processor renders the object using a method 300 for flat objects, i.e., those which have uniform colour, and a method 400 for non-flat objects, i.e., all other objects, after which the processor returns to step 220. o Fig. 3 is a flow diagram of the method 300 of rendering a flat object. At step 310, the processor determines which tiles intersect the current object. At step 320, the processor traverses the unprocessed intersecting tiles and determines whether there is a tile to process. If there is a tile to process, Yes, then the processor continues at step 330, otherwise, No, the processor terminates method 300 at step 360. At step 330, the processor determines whether 5 the background tile is flat using the corresponding bitflag in the flatness map. If the tile is flat, Yes, then the processor continues at step 340, otherwise, No, the processor continues at step 350. At step 340, the processor renders the current flat object on the flat background tile (as described in more detail below with reference to Fig. 5), after which the processor returns to step 320. At step 350, the processor renders the current flat object on the non-flat background o tile (described in more detail below with reference to Fig. 6), after which the processor returns to step 320. Fig. 4 is a flow diagram of the method 400 of rendering a non-flat object. At step 410, the processor determines which tiles intersect the current object. At step 420, the processor clears 25 the corresponding flatness bitflags for those tiles and replicates the sample pixels of each intersecting flat tile in order to cover the whole tile. At step 430, the processor renders the object into the band-store, after which the processor terminates method 400 at step 440. Fig. 5 is a flow diagram of the method 340 of rendering a flat object on a flat background tile. 30 At step 510, the processor generates a pixel by using the colour of the flat object and a sample pixel from the intersecting flat tile. In one example, the processor makes a composite of the foreground colour (from the object) and the flat background tile colour, deriving the latter - 11 from the sample pixel of the background tile in the band-store. At step 520, the processor determines whether the object covers the entire tile. If the object does cover the tile, Yes, then the processor continues at step 530, otherwise, No, the processor continues at step 540. At step 530, the processor sets the tile's sample pixel to the value of the pixel generated at step 5 510, after which the processor terminates method 340 at step 570. At step 540, the processor clears the bitflag in the flatness map that corresponds to the current tile. At step 550, the processor replicates the pixel generated at step 510 over the region of the current tile covered by the object. At step 560, the processor replicates the background pixel over the remainder of the current tile, after which the processor terminates method 340 at step 570. Alternative o embodiments could use a slightly different method, e.g., step 560 could be executed before 550 in which case step 560 could also be modified to copy the background pixel over the entire tile for simplicity. Fig. 6 is a flow diagram of the method 350 of rendering a flat object on a non-flat background 5 tile. At step 610, the processor determines whether the background colour affects the rendering result (there are certain compositing operations, e.g., over with an opaque foreground, which don't). If so, Yes, then the processor continues at step 660, otherwise, No, the processor continues at step 615. At step 615, a pixel is generated from the colour of the flat object. At the following step 620, the processor determines whether the object completely !o covers the tile. If the object covers the tile, Yes, then the processor continues at step 630, otherwise, No, the processor continues at step 650. At step 630, the processor sets the bitflag in the flatness map that corresponds to the current tile. The non-flat current tile is thus re established as flat. At step 640, the processor sets the tile's sample pixel to the pixel generated at step 615, after which the processor terminates method 350 at step 670. At step 25 650, the processor replicates the pixel generated at step 615 over the region of the current tile covered by the object, after which the processor terminates method 350 at step 670. At step 660, the processor renders the object into the tile, after which the processor terminates method 350 at step 670. 30 Fig. 7 is a flow diagram of the method 830 of outputting a band of rendered pixel data. At step 710, the processor traverses the flatness map, searching for set bitflags that have not yet been processed. If an unprocessed set bitflag is found, Yes, then the processor continues at - 12 step 720, otherwise, No, the processor continues at step 735. At step 720, the processor replicates the sample pixel over all the other pixels in the tile, after which the processor returns to step 710. At step 735, the processor halftones the band of pixel data and performs any other required post-render processing. At step 740, the processor sends the band to the 5 printer, after which the processor terminates method 830 at step 750. In a variant of the described embodiment, the objects in the display list have been partitioned into groups of objects as in hybrid rendering. The methods of Figs. 2 to 8 are carried out as described above except that where "object" appears, "group" should be substituted. A group o is deemed flat if each object within the group is flat. INDUSTRIAL APPLICABILITY It is apparent from the above that the arrangements described are applicable to the computer, data processing, and printing industries. 5 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. o 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 correspondingly varied meanings.

Claims (14)

1. A method of rendering a page description comprising one or more objects to a page consisting of one or more bands of one or more contiguous scanlines, each said band being 5 partitioned into one or more tiles, said method comprising, for a current band of said page: a) determining, for a current object, which said tiles intersect the object; b) determining whether one said intersecting tile is flat; and, if said current object is flat, c) generating a pixel for said intersecting flat tile using the colour of said current flat o0 object and a sample pixel for said intersecting flat tile.
2. The method of claim 1, further comprising: a) determining whether said current flat object covers said intersecting flat tile, and, if so, 5 b) setting said sample pixel for said intersecting flat tile to said generated pixel.
3. The method of claim 2, further comprising, if said current flat object does not cover said intersecting flat tile: a) replicating said generated pixel over the region of said intersecting flat tile covered !0 by said current flat object; and b) replicating said sample pixel over the remainder of said intersecting flat tile.
4. The method of claim 1, further comprising: a) determining, for one said intersecting non-flat tile, whether a colour of said 25 intersecting non-flat tile affects the result of rendering said current flat object into said intersecting non-flat tile; and if not, b) generating a pixel for said intersecting non-flat tile using the colour of said current flat object. - 14 5. The method of claim 4, further comprising: a) determining whether said current flat object covers said intersecting non-flat tile, and, if so, b) setting said sample pixel for said intersecting non-flat tile to said generated pixel.
5
6. The method of claim 5, further comprising, if said current flat object does not cover said intersecting flat tile: a) replicating said generated pixel over the region covered by said current flat object.
' 7. The method of claim 4, further comprising, if said colour of said non-flat tile affects the result of rendering said current flat object into said intersecting non-flat tile, rendering said object into said intersecting non-flat tile.
8. The method of claim 1, further comprising, if said current object is non-flat: s a) replicating a sample pixel for each said intersecting flat tile to cover the whole tile; and b) rendering said current non-flat object to each said intersecting flat tile.
9. The method of claim 1, wherein said determining of whether each said intersecting tile .0 is flat uses a bitflag corresponding to said intersecting tile in a flatness map for said current band.
10. The method of claim 1 wherein said current object is a group of objects. 25
11. The method of claim 1, further comprising, after all objects intersecting said current band have been rendered, replicating a sample pixel for each said flat tile to cover the whole tile.
12. The method of claim 12, further comprising halftoning said current band. 30
13. A method of rendering a page description having at least one object, said method comprising the steps of: - 15 dividing said page into at least one horizontal band, each said band including at least one scanline; partitioning vertically each said horizontal band into at least one tile; and for each said band in said page: 5 for each object in said page description: determining whether the object intersects said band, determining whether the object is flat, and flat-rendering the object when the object is flat and non-flat rendering the object when the object is not flat; and o outputting said band.
14. A method of rendering a page description, said method being substantially as described herein with reference to the accompanying drawings. 5 DATED this Twenty-seventh Day of November, 2007 Canon Kabushiki Kaisha Patent Attorneys for the Applicant SPRUSON & FERGUSON
AU2007240228A 2007-11-30 2007-11-30 Improved hybrid rendering Abandoned AU2007240228A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2007240228A AU2007240228A1 (en) 2007-11-30 2007-11-30 Improved hybrid rendering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AU2007240228A AU2007240228A1 (en) 2007-11-30 2007-11-30 Improved hybrid rendering

Publications (1)

Publication Number Publication Date
AU2007240228A1 true AU2007240228A1 (en) 2009-06-18

Family

ID=40863156

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2007240228A Abandoned AU2007240228A1 (en) 2007-11-30 2007-11-30 Improved hybrid rendering

Country Status (1)

Country Link
AU (1) AU2007240228A1 (en)

Similar Documents

Publication Publication Date Title
AU2003203331B2 (en) Mixed raster content files
US8199164B2 (en) Advanced anti-aliasing with multiple graphics processing units
EP1306810A1 (en) Triangle identification buffer
US8023768B2 (en) Universal front end for masks, selections, and paths
KR100664632B1 (en) Method of background colour removal for porter and duff compositing
JP2004152267A (en) Apparatus for printing, method thereof, image processing method and apparatus therefor
US7477265B2 (en) System and method for optimising halftoning printer performance
US7215342B2 (en) System and method for detecting and converting a transparency simulation effect
JP4143613B2 (en) Drawing method and drawing apparatus
JP2009081791A (en) Image processing apparatus, and image processing program
AU2007240228A1 (en) Improved hybrid rendering
JPH10247241A (en) Convolution scanning line rendering
JP4911585B2 (en) Image processing apparatus, image processing method, program, and information recording medium
JP2009129342A (en) Image processing device and method
AU2012258408A1 (en) Path tracing method
AU2003201329B2 (en) A System and Method for Optimising Halftoning Printer Performance
AU2005200528B2 (en) Compositing with clip-to-self functionality without using a shape channel
EP1306811A1 (en) Triangle identification buffer
AU2009201502A1 (en) Rendering compositing objects
AU2005201932A1 (en) Parametric patch colour blend rendering
AU2008264239A1 (en) Text processing in a region based printing system
AU2014277651A1 (en) Generating and rendering an anti-aliased page representation
AU2008258182A1 (en) Sub-scanline colour conversion buffering
AU2008201723A1 (en) On-demand pixel-sequential edge tracking
AU2006252197A1 (en) Tile-Based Fillmap Optimisation

Legal Events

Date Code Title Description
MK1 Application lapsed section 142(2)(a) - no request for examination in relevant period