METHOD AND APPARATUS FOR DITHERING

Abstract: A method of, and apparatus for, dithering an image to be printed. Color component values of odd and even pixels of an image are stored in a dither cell. The dither cell is mapped to a staggered dither cell such that lines of odd pixel component values are staggered relative to lines of even pixel component values. Addressing of the staggered dither cell is determined by an address generator that also addresses a buffer storing an up-interpolated image. Corresponding values in the staggered dither cell and the buffer are compared to determine which nozzles of a printhead are fired.

Description: METHOD AND APPARATUS FOR DITHERING FIELD OF THE INVENTION The invention relates to a compact pπnter system able to pπnt full-color, business card size documents from a device about the size of a pen The system includes vaπous hot-connectable modules that provide a range of functions In particular the invention relates to a method of, and apparatus for, ditheπng an image to be pπnted Reference may be had to co-pending applications claiming pπoπty from Australian Provisional Patent Application number PQ0560 dated 25 May 1999 The co-pending applications descπbe related modules and methods for implementing the compact pπnter system The co-pending applications are as follows BACKGROUND OF THE INVENTION Microelectronic manufactuπng techniques have led to the miniatuπzation of numerous devices Mobile phones, personal digital assistant devices, and digital cameras are very common examples of the miniaturization trend One device that has not seen the advantage of microelectronic manufactuπng techniques is the pπnter. Commercially available pπnters are large compared to many of the devices they could support For instance, it is impractical to carry a color pπnter for the purpose of instantly pπnting photographs taken with known compact digital cameras A compact pπnthead has been descπbed in co-pending Patent Cooperation Treaty applications filed simultaneously to the present application and hereby incorporated by cross reference Known Inkjet pπnters are only capable of pπnting dots in a bi-level fashion whereas known image capture devices (cameras) capture images in continuous tones It is known in the prior art to transform the continuous tone captured images to bi-level images for pπnting The known techniques are processing intensive A more efficient processing method is required for a compact pπnter system SUMMARY OF THE INVENTION In one form, the invention resides in a method of generating a staggered dither cell for an image to be pπnted, said method compπstng the steps of wπtmg color component values corresponding to even pixels in first entry locations in said dither cell, wπttng color component values coπesponding to odd pixels in second entry locations in said dither cell, and mapping said dither cell to a staggered dither cell such that lines of said even pixel values are staggered relative to lines of said odd pixel values Further features of the invention will be evident from the following descπption BRIEF DESCRIPTION OF THE DRAWINGS In order to assist with descπbing prefeπed embodiments of the invention, reference will be made to the following figures in which FIG 1 is a pπnter module, FIG 2 is a camera module, FIG 3 is a memory module, FIG 4 is a communication module, FIG 5 is a flash module, FIG 6 is a timer module, FIG 7 is a laser module, FIG 8 is an effects module, FIG 9 is a characters module, FIG 10 is an adaptor module, FIG 11 is a pen module, FIG 12 is a dispenser module, FIG 13 is a first compact pπnter configuration, FIG 14 is a second compact pπnter configuration, FIG 15 is a third compact pπnter configuration, FIG 16 is a fourth compact pπnter configuration, FIG 17 illustrates half-toning using a 50 x 50 dither cell, FIG 18 shows an Up-interpolate, Halftone and Reformat-for- Pπnter process, and FIG 19 is shows mapping a Standard Dither Cell to a Staggered Pixel Dither Cell DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Referπng to FIGs 1 to 12, there are shown vaπous modules that together form a compact pπnter system Individual modules can be attached and detached from the compact pπnter configuration to allow a user-definable solution to business-card sized pπnting Images can also be transferred from one compact pπnter to another without the use of a secondary computer system Modules have a minimal user-interface to allow straightforward interaction A compact pπnter system configuration consists of a number of compact pπnter modules connected together Each compact pπnter module has a function that contπbutes to the overall functionality of the particular compact pπnter configuration Each compact pπnter module is typically shaped like part of a pen, physically connecting with other compact pπnter modules to form the complete pen-shaped device The length of the compact pπnter device depends on the number and type of compact pπnter modules connected The functionality of a compact pπnter configuration depends on the compact pπnter modules in the given configuration The compact pπnter modules connect both physically and logically The physical connection allows modules to be connected in any order, and the logical connection is taken care of by the compact pπnter Seπal Bus - a bus that provides power allows the modules to self configure and provides for the transfer of data In terms of physical connection, most compact pπnter modules consist of a central body, a male connector at one end, and a female connector at the other Since most modules have both a male and female connector, the modules can typically be connected m any order Certain modules only have a male or a female connector but this is determined by the function of the module Adaptor modules allow these single-connector modules to be connected at either end of a given compact pπnter configuration A four wire physical connection between all the compact pπnter modules provides the logical connection between them in the form of the compact pπnter Seπal Bus The compact pπnter Seπal Bus provides power to each module, and provides the means by which data is transferred between modules Importantly, the compact pπnter Seπal Bus and accompanying protocol provides the means by which the compact pπnter system auto-configures, reducing the user-interface burden on the end-user Compact pπnter modules can be grouped into three types • image processing modules including a Pπnter Module (FIG 1), a Camera Module (FIG 2), and a Memory Module (FIG 3) Image processing modules are pπmaπly what sets the compact pπnter system apart from other pen-like devices Image processing modules capture, pπnt, store or manipulate photographic images, • housekeeping modules including an Adapter Module (FIG 10), an Effects Module (FIG 8), a Communications Module (FIG 4), and a Timer Module (FIG 6) Housekeeping modules provide services to other modules or extended functionality to other modules, and • isolated modules including a Pen Module (FIG 11 ) and a Laser Module (FIG 7) Isolated modules are those that attach to the compact pπnter system but are completely independent of any other module They do not necessaπly require power, and may even provide their own power isolated Modules are defined because the functionality they provide is typically incorporated into other pen-like devices Although housekeeping modules and isolated modules are useful components m a compact pπnter system, they are extras in a system dedicated to image processing and photographic manipulation Life size (1 1) illustrations of the compact pπnter modules are shown in FIGs 1 to 12, and example configurations produced by connecting vaπous modules together are shown in FIGs 13 to 16 FIG 1 shows a pπnter module that incorporates a compact pπnthead descπbed in co-pending United States Patent Applications listed in the Background section of this application, incorporated herewith by reference, and referred to herewith as a Memjet pπnthead The Memjet pπnthead is a drop-on-demand 1600 dpi Inkjet pπnter that produces bi- level dots in up to 4 colors to produce a pπnted page of a particular width Since the pπnthead pπnts dots at 1600 dpi, each dot is approximately 22 5μm in diameter, and spaced 15 875μm apart Because the pπnting is bi-level, the input image should be dithered or error-diffused for best results Typically a Memjet pπnthead for a particular application is page- width This enables the pπnthead to be stationary and allows the paper to move past the pπnthead A Memjet pπnthead is composed of a number of identical 1/2 inch Memjet segments The pπnter module 10 compπses a body 1 1 housing the Memjet pπnthead Power is supplied by a three volt battery housed in battery compartment 12 The pπnthead is activated to commence pπnting when a business card (or similar sized pπntable media) is inserted into slot 13 Male connector 14 and female connector 15 facilitate connection of other modules to the pπnter module 10 FIG 2 shows a camera module 20 The camera module provides a point-and-shoot camera component to the compact pπnter system as a means of captuπng images The camera module compπses a body 21 having a female connector 22 A lens 23 directs an image to an image sensor and specialized image processing chip within the camera 24 A conventional view finder 25 is provided as well as a lens cap 26 An image is captured when the Take button 27 is pushed Captured images are transfeπed to the Pπnter Module 10 for subsequent pπnting, manipulation, or storage The Camera Module also contains a self-timer mode similar to that found on regular cameras FIG 3 shows a Memory Module 30 compπsing a body 31 , LCD 32, IN button 33, OUT button 34 and SELECT button 35 The Memory Module 30 is a standard module used for stoπng photographic images captured by the Camera 20 The memory module stores 48 images, each of which can be accessed either at full resolution or at thumbnail resolution Full resolution provides read and wπte access to individual images, and thumbnail resolution provides read access to 16 images at once in thumbnail form The Memory Module 30 attaches to other modules via a female connector 36 or male connector 37 The male and female connectors allow the module to be connected at either end of a configuration Power is provided from the Pπnter Module 10 via the Seπal Bus A Communications Module 40 is shown in FIG 4 The communications module 40 consists of a connector 41 and a cable 42 that terminates in an appropπate connector for a computer port, such as a USB port, RS232 seπal port or parallel port The Communications Module 40 allows the compact pπnter system to be connected to a computer When so connected, images can be transferred between the computer and the vaπous modules of the compact pπnter system The communications module allows captured images to be downloaded to the computer, and new images for pπnting to be uploaded into the pπnter module 10 A Flash Module 50 is shown in FIG 5 The Flash Module 50 is used to generate a flash with flash cell 51 when taking photographs with the Camera Module 20 The Flash Module attaches to other modules via female connector 52 and male connector 53 It contains its own power source The Flash Module is automatically selected by the Camera Module when required A simple switch allows the Flash Module to be explicitly turned off to maximize battery life FIG 6 shows a Timer Module 60 that is used to automate the taking of multiple photos with the Camera Module 20, each photo separated by a specific time interval The captured photos are stored in Memory Module 30 Any flash requirements are handled by the Camera Module 20, and can therefore be ignored by the Timer Module The Timer Module 60 consists of a body 61 housing a LCD 62, START/STOP button 63 and UNITS button 64 A SELECT button 65 allows the user to select time units and the number of units are set by UNITS button 64 The Timer Module 60 includes a male connector 66 and female connector 67 The Timer Module takes its power from the Pπnter Module 10 via the Seπal Bus A Laser Module 70 is shown in FIG 7 The Laser Module 70 consists of a body 71 containing a conventional laser pointer operated by button 72 As the Laser Module is a terminal module it only has one connector, which in the example is a male connector 73 The Laser Module is an isolated module, in that it does not perform any image capture, storage, or processing It exists as a functional addition to the compact pπnter system It is provided because laser pointer services are typically incorporated into other pen-like devices The Laser Module contains its own power supply and does not appear as a device on the Seπal Bus The Effects Module shown in FIG 8 is an image processing module It allows a user to select a number of effects and applies them to the cuπent image stored in the Pπnter Module 10 The effects include borders, clip-art, captions, warps, color changes, and painting styles The Effects Module compπses a body 81 housing custom electronics and a LCD 82 A CHOOSE button 83 allows a user to choose between a number of different types of effects A SELECT button 84 allows the user to select one effect from the number of effects of the chosen type Pressing the APPLY button 85 applies the effect to image stored in the Pπnter Module 10 The Effects Module obtains power from the Seπal Bus Male connector 86 and female connector 87 allow the Effects Module to be connected to other compact pπnter system modules FIG 9 shows a Character Module 90 that is a special type of Effects Module (descπbed above) that only contains character clip-art effects of a given topic or genre Examples include The Simpsons ® . Star Wars ® , Batman ® , and Dilbert ® as well as company specific modules for McDonalds ® etc As such it is an image processing module It consists of a body 1 housing custom electronics and a LCD 92 SELECT button 93 allows the user to choose the effect that is to be applied with APPLY button 94 The Character Module obtains power from the Seπal Bus through male connector 95 and female connector 96 The Adaptor Module 100, shown in FIG 10, is a female/female connector that allows connection between two modules that terminate in male connectors A male/male connector (not shown) allows connection between two modules that terminate in female connectors The Adaptor Module is a housekeeping module, in that it facilitates the use of other modules, and does not perform any specific processing of its own All "through" modules have a male connector at one end, and a female connector at the other end. The modules can therefore be chained together, with each module connected at either end of the chain. However some modules, such as the Laser Module 70, are terminating modules, and therefore have either a male or female connector only Such s gle- connector modules can only be connected at one end of the chain. If two such modules are to be connected at the one time, an Adaptor Module 100 is required. FIG 1 1 shows a Pen Module 110 which is a pen in a module form. It is an isolated module in that it attaches to the compact pπnter system but is completely independent of any other module. It does not consume or require any power. The Pen Module is defined because it is a convenient extension of a pen shaped, pen sized device It may also come with a cap 1 11 The cap may be used to keep terminating connectors clean in the case where the chain ends with a connector rather than a terminating module. To assist with accurately feeding a business card sized pπnt media into slot 13 of the pπnter module 10, a dispenser module 120 is provided as shown in FIG 12. The dispenser module 120 compπses a body 121 that holds a store of business card sized pπnt media. A Pπnter Module 10 locates into socket 122 on the dispenser module 120. When coπectly aligned, a card dispensed from the dispenser module by slider 123 enters slot 13 and is pπnted. In the sense that a minimum configuration compact pπnter system must be able to pπnt out photos, a minimum compact pπnter configuration contains at least a Pπnter Module 10. The Pπnter Module holds a single photographic image that can be pπnted out via its Memjet pπnter. It also contains the 3V battery required to power the compact pπnter system. In this minimum configuration, the user is only able to pπnt out photos. Each time a user inserts a business card 130 into the slot in the Pπnter Module, the image in the Pπnter Module is pπnted onto the card. The same image is pπnted each time a business card is inserted into the pπnter. In this minimum configuration there is no way for a user to change the image that is pπnted. The dispenser module 120 can be used to feed cards 130 into the Pπnter Module with a minimum of fuss, as shown in FIG 13. By connecting a Camera Module 20 to the minimum configuration compact pπnter system the user now has an instant pπnting digital camera in a pen, as shown in FIG 14. The Camera Module 20 provides the mechanism for captuπng images and the Pπnter Module 10 provides the mechanism for pπnting them out. The battery in the Pπnter Module provides power for both the camera and the pπnter. When the user presses the "Take" button 27 on the Camera Module 20, the image is captured by the camera 24 and transferred to the Pπnter Module 10 Each time a business card is inserted into the pπnter the captured image is pπnted out If the user presses "Take" on the Camera Module again, the old image in the Pπnter Module is replaced by the new image If the Camera Module is subsequently detached from the compact pπnter system, the captured image remains in the Pπnter Module, and can be pπnted out as many times as desired. The Camera Module is simply there to capture images to be placed in the Pπnter Module FIG 15 shows a further configuration in which a Memory Module 30 is connected to the configuration of FIG 14 In the embodiment of FIG 15, the user has the ability to transfer images between the Pπnter Module 10 and a storage area contained in the Memory Module 30 The user selects the image number on the Memory Module, and then either sends that image to the Pπnter Module (replacing whatever image was already stored there), or bπngs the current image from the Pπnter Module to the specified image number in the Memory Module The Memory Module also provides a way of sending sets of thumbnail images to the Pπnter Module Multiple Memory Modules can be included in a given system, extending the number of images that can be stored A given Memory Module can be disconnected from one compact pπnter system and connected to another for subsequent image pπnting With the Camera Module 20 attached to a Memory Module/Pπnter Module compact pπnter system, as shown in FIG 15, the user can "Take" an image with the Camera Module, then transfer it to the specified image number in the Memory Module The captured images can then be pπnted out in any order By connecting a Communications Module 40 to the minimum configuration compact pπnter system, the user gains the ability to transfer images between a PC and the compact pπnter system FIG 16 shows the configuration of FIG 15 with the addition of a Communications Module 40 The Communications Module makes the Pπnter Module 10 and any Memory Modules 30 visible to an external computer system This allows the download or uploading of images The communications module also allows computer control of any connected compact pπnter modules, such as the Camera Module 20 In the general case, the Pπnter Module holds the "current" image, and the other modules function with respect to this central repository of the cuπent image The Pπnter Module is therefore the central location for image interchange in the compact pπnter system, and the Pπnter Module provides a service to other modules as specified by user interaction A given module may act as an image source It therefore has the ability to transfer an image to the Pπnter Module A different module may act as an image store It therefore has the ability to read the image from the Pπnter Module Some modules act as both image store and image source These modules can both read images from and wπte images to the Pπnter Module's current image The standard image type has a single conceptual defi Uon The image definition is deπved from the physical attπbutes of the pπnthead used m the Pπnter Module The pπnthead is 2 inches wide and pπnts at 1600dpi in cyan, magenta and yellow bi-level dots Consequently a pπnted image from the compact pπnter system is 3200 bi-level dots wide The compact pπnter system pπnts on business card sized pages (85mm x 55mm) Since the pπnthead is 2 inches wide, the business cards are pπnted such that 1 line of dots is 2 inches 2 inches is 50 8mm, leaving a 2mm edge on a standard business-card sized page The length of the image is deπved from the same card size with a 2mm edge Consequently the pπnted image length is 81mm, which equals 5100 1600dpi dots The pπnted area of a page is therefore 81mm x 51mm, or 5100 x 3200 dots To obtain an integral contone to bi-level ratio a contone resolution of 267 ppi (pixels per inch) is chosen This yields a contone CMY page size of 850 x 534, and a contone to bi-level ratio of 1 6 in each dimension This ratio of 1 6 provides no perceived loss of quality since the output image is bi-level The pπnthead pπnts dots in cyan, magenta, and yellow ink The final output to the pπnted page must therefore be in the gamut of the pπnthead and take the attπbutes of the inks into account It would at first seem reasonable to use the CMY color space to represent images However, the pπnter's CMY color space does not have a linear response This is definitely true of pigmented inks, and partially true for dye-based inks The individual color profile of a particular device (input and output) can vary considerably Image capture devices (such as digital cameras) typically work in RGB (red green blue) color space, and each sensor will have its own color response characteπstics Consequently, to allow for accurate conversion, as well as to allow for future image sensors, inks, and pπnters, the CIE L*a*b* color model [CIE, 1986, CIE 15 2 Coloπmetry Technical Report (2 nd Edition), Commission Internationale De I'Eclairage] is used for the compact pπnter system L*a*b* is well defined, perceptually linear, and is a superset of other traditional color spaces (such as CMY, RGB, and HSV) The Pπnter Module must therefore be capable of converting L*a*b* images to the particular peculiaπties of its CMY color space However, since the compact pπnter system allows for connectivity to PCs, it is quite reasonable to also allow highly accurate color matching between screen and pπnter to be performed on the PC However the pπnter dπver or PC program must output L*a*b* Each pixel of a compact pπnter image is therefore represented by 24 bits 8 bits each of L*, a*, and b* The total image size is therefore 1,361 ,700 bytes (850 x 534 x 3) Each image processing module is able to access the image stored in the Pnnter Module The access is either to read the image from the Pπnter Module, or to wπte a new image to the Pπnter Module The communications protocol for image access to the Pπnter Module provides a choice of internal image organization Images can be accessed either as 850 x 534 or as 534 x 850 They can also be accessed m interleaved or planar format When accessed as interleaved, each pixel m the image is read or wπtten as 24 bits 8 bits each of L*, a*, b* When accessed as planar, each of the color planes can be read or wπtten independently The entire image of L* pixels, a* pixels or b* pixels can be read or wπtten at a time The Memjet pπnthead in the Pπnter module 10 is only capable of pπnting dots in a bi-level fashion The stored contone CMY image must therefore be converted to a dithered CMY image More specifically, a dispersed dot ordered dither is produced using a stochastic dither cell, converting a contone CMY image into a dithered bi-level CMY image The 8-bit 1600 dpi contone value is compared to the cuπent position in the dither cell If the 8-bit contone value is greater than the dither cell value, an output bit of 1 is generated Otherwise an output bit of 0 is generated This output bit will eventually be sent to the pπnthead and control a single nozzle to produce a single C, M, or Y dot The bit represents whether or not a particular nozzle will fire for a given color and position This Half-toning process can be seen in FIG 17 The same position m the dither cell can be used for C, M, and Y This is because the actual pπnthead produces the C, M, and Y dots for different lines of the image to be pπnted in the same pπnt cycle In the present invention, the staggeπng of the different colored dots effectively produces staggeπng in the dither cell The size of the dither cell depends on the resolution of the output dots Since we are producing 1600 dpi dots, the cell size should be larger than 32 x 32 In addition, to allow the dot processing order to match the pπnthead segments, the size of the dither cell should ideally divide evenly into 800 (since there are 800 dots pπnted on one line by each segment of the pπnthead) A dither cell size of 50 x 50 is large enough to produce high quality results, and each dimension of the dither cell divides evenly into 800 (16 times) Each entry of the dither cell is 8 bits, for a total of 2500 bytes (approximately 2 5 KB) However, alternative dither cell sizes that produce high quality results are envisaged Since the CMY image size is 534 x 850 pixels and the final pπnt resolution is 3200 x 5100 dots, the CMY image must be up-interpolated by a ratio of 1 6 in both dimensions This is achieved by the process of pixel replication whereby a single pixel value is used for a larger area, in this case a 6 x 6 block Since the pixels are to be dithered, the 36 resultant bi-level dots take on the contone value of the replicated pixel The Up-lnterpolate and Halftone processes produce the dots in the coπect order for pπnting The bits representing the dots are then collected in groups of 12 and sent to the pπnthead This is the Reformat for Pπnter process Although the Up-lnterpolate Halftone and Reformat For Pπnter tasks are defined as separate tasks, they are implemented as a single process in the hardware implementation of the central processor of the Pπnter Module 10 The Up-lnterpolate, Halftone and Reformat for Pπnter process is shown in FIG 18 The input to the Up- lnterpolate, Halftone and Reformat Unit (UHRU) is the contone buffer (Buffer 2) containing the partial CMY image The output is a set of 12-bit values in the coπect order to be sent to the Memjet Interface (MJI) for subsequent output to the pπnthead via Buffer 1 The 12 output bits are generated 1 bit at a time, and sent to the 12-bit shift register in Buffer 1 The control of this process is via an Advance signal from the MJI and a LineSyncO pulse from a LineSync Generator Unit (LSGU) When the UHRU starts up, and after each LineSyncO pulse, 12 bits are produced, and are clocked into the 12-bit shift register of Buffer 1 After the 12th bit has been clocked in, a TransferWπteEnable pulse is sent to Buffer 1 and the next 12 bits are generated The UHRU then waits for the Advance pulse from the MJI When the Advance pulse arπves, the TransferWπteEnable pulse is sent to Buffer 1, and the next 12 bits are calculated before waiting again In practice, once the first Advance pulse is provided, synchronization has occurred and future Advance pulses will occur every 12 cycles thereafter As shown in FIG 18, the Halftone task is undertaken by a simple 8-bit Unsigned Comparator The two inputs to the comparator come from the Staggered Dither Cell and Buffer 2 The order that these values are presented to the Unsigned Comparator is determined by an Address Generator State Machine, which ensures that the addresses into the CMY image stored in Buffer 2 match the segment-oπented order required for the pπnthead The Address Generator State Machine therefore undertakes the Up-Interpolation and Reformatting for Pπnter tasks Rather than simply access an entire line at a time at high resolution, and then reformat the line according to the pπnter lookup requirements, the reformatting is achieved by the appropπate addressing of the CMY contone buffer (Buffer 2), and by ensuπng that the comparator uses the correct lookup from the dither cell to match the staggered addresses The Half-toning task is as descπbed above The 50 x 50 Staggered Dither Cell ensures that a given position in the Staggered Dither Cell for one segment will be the same for the remaining 3 segments The same position in the Dither Cell can be used for different colors due to the fact that dots on different lines of the final image are being generated at the same time for each of the colors The addressing for the Dither Cell is therefore quite simple Starting at a particular row in the Staggered Dither Cell (e g row 0), the first Dither Cell entry used is Entry 0 This entry is used 12 times (12 cycles) to generate the 3 colors for all 4 segments The entry is then advanced to Entry 1 of row 0 After Entry 49, we revert back to Entry 0 of row 0 This continues for all 9,600 cycles m order to generate all 9,600 dots The Halftone Unit then stops and waits for the LineSyncO pulse that causes the address generator to advance to the next row in the Dither Cell The Staggered Dither Cell is so called because it differs from a regular dither cell by having the odd and even lines staggered This is because the odd and even pixels (starting from pixel 0) are generated on different lines This saves the Address Generator from having to advance to the next row and back again on alternate sets of 12 pixels, thus reducing the circuitry required FIG 19 shows a simple dither cell, and how to map it to a staggered dither cell of the same size Note that, for determining the "oddness ' of a given position, we number the pixels in a given row 0, 1, 2 etc The 8-bit value from Buffer 2 is compared (unsigned) to the 8-bit value from the Staggered Dither Cell If the Buffer 2 pixel value is greater than or equal to the Dither Cell value, a "1" bit is output to the shift register of Buffer 1 Otherwise a "0" bit is output to the shift register of Buffer 1 In order to halftone 9,600 contone pixels, 9,600 contone pixels must be read in The Address Generator Unit performs this task, generating the addresses into Buffer 2, effectively implementing the Uplnterpolate task The address generation for reading Buffer 2 is slightly more complicated than the address generation for the Dither Cell, but not overly so The Address Generator for reading Buffer 2 only begins once the first row of Buffer 2 has been wπtten The remaining rows of Buffer 2 are 0, the reading of which would result in no pπnted dots Each of the 6 effective output lines has a register with an integer and fractional component The integer portion of the register is used to select which Buffer line will be read to effectively up-interpolate the color for that particular color's odd and even pixels 3 pixel counters are used to maintain the current position within segment 0, and a single temporary counter P_ADR (pixel address) is used to offset into the remaining 3 segments In summary, address generation for reading Buffer 2 requires the following registers, as shown in Table 1 The initial values for the 6 buffer line registers is the physical dot distance between nozzles (remember that the fractional component is effectively a divide by 6) For example, if the odd and even output dots of a color are separated by a distance of 1 dot. and nozzles of one color are separated from the nozzles of the next by 8 dots, the initial values would be as shown in the First Line column in Table 2 Once each set of 9,600 dots has been generated, each of these counters must increment by 1 fractional component, representing the fact that we are sampling each pixel 6 times in the vertical dimension The resultant values will then be as shown m the Second Line column in Table 2 Note that 5 5 + 1 = 0 0 since there are only 6 buffer lines The 6 buffer line registers determine which of the buffer lines is to be read for a given color's odd or even pixels To determine which of the contone pixels are read from the specific line of Buffer 2, we use 3 Pixel Address counters, one for each color, and a single temporary counter (P_ADR) which is used to index into each of the 4 segments Each segment is separated from the next by 800 dots In contone pixels this distance is 133 2 (800/6) We generate the 4 addresses for the even cyan pixels, then the 4 addresses for the even magenta, and finally the 4 addresses for the even yellow We then do the same for the odd cyan, magenta, and yellow pixels This process of two sets of 12 bits - 12 even then 12 odd, is performed 400 times We can then reset the Pixel Address counters (X_P_ADR) to 0 and advance the 6 buffer line registers Every 6 line advances, the next buffer line is now free and ready for updating (by the Convert to CMY process) Table 3 lists the steps in a simple form Table 3 Address Generation for Reading Buffer 2 # Address Calculation Comment Throughout the specification the aim has been to descπbe the preferred embodiments of the invention without limiting the invention to any one embodiment or specific collection of features. Persons skilled in the relevant art may realize vaπations from the specific embodiments that will nonetheless fall within the scope of the invention.

Claims: CLAIMS 1 A method of generating a staggered dither cell for an image to be pπnted, said method compπsing the steps of wπting color component values coπesponding to even pixels in first entry locations in said dither cell, wπting color component values corresponding to odd pixels in second entry locations in said dither cell, and mapping said dither cell to a staggered dither cell such that lines of said even pixel values are staggered relative to lines of said odd pixel values 2 The method of claim 1 wherein said wπting step further includes wπting said color component values in said first and second entry locations in a correct order for pπnting by a pπnthead 3 The method of claim 1 wherein said wπting step further includes wπting a number of color component values in one entry location, said number being determined by loading cπteπa of a pπnthead 4 The method of claim 1 wherein said wπting steps further compπse wπting twelve color component values in each of said first and second entry locations 5 A staggered dither cell for stoπng color component values of an image to be pπnted, said dither cell compπsing an n x n entry cell where n divides evenly into the number of dots pπntable by each segment of a pπnthead, more than one color component value stored each entry location of said cell, and lines of said values corresponding to odd pixels of said image in said cell staggered relative to lines of said values corresponding to even pixels of said image The staggered dither cell of claim 5 wherein n=50 The staggered dither cell of claim 5 wherein twelve of said color component values are stored in each entry location The dither cell of claim 7 wherein said twelve color components consist of three colors to be pπnted for four segments of a pπnthead A method of converting an image into a dithered, bi-level image for pπnting, compπsing the steps of stoπng an up-interpolated version of said image in a first buffer, stoπng color component values corresponding to odd and even pixels in a dither cell, staggeπng lines of said color component values coπesponding to odd pixels relative to lines of even pixel values, compaπng each pixel value m said first buffer with its coπesponding value m said staggered dither cell, and outputung an instruction to pπnt to a second buffer if said value from said first buffer is greater than or equal to said staggered dither cell value 0 The method of claim 9 wherein said stoπng of said up-interpolated image and said stoπng of said color component values are controlled by means of an address generator

Inventors: WALMSLEY SIMON ROBERT, WALMSLEY, SIMON, ROBERT
Applicants: SILVERBROOK RES PTY LTD, WALMSLEY SIMON ROBERT, SILVERBROOK RESEARCH PTY LTD, WALMSLEY, SIMON, ROBERT
Application year: 2000
Main classification: G06T5
IPC codes: B41J2, B41J3, B41J13, B41J23, B41J29, H04N1, H04N5