Improvements in or relating to printing

Abstract: A method and apparatus for printing stroke and contone data together are provided in which data to be printed (102) is identified by a processor (100) as being either stroke or contone data. For contone data, processor (100) controls a light source (14), a spatial light modulator (12), and an optical photoconductive drum (16) to generate image quality graphics by using spatial light modulation in the process and cross-process directions. For stroke data, processor (100) controls light source (14), spatial light modulator (12), and optical photoconductive drum (16) for high resolution printing by using intensity modulation. Processor (100) is operable to control light intensities through the use of lookup tables stored in a memory (104).

Description: TECHNICAL FIELD OF THE INVENTION This invention relates generally to the field of printing, and more particularly to an apparatus for printing stroke and contone data together. BACKGROUND OF THE INVENTION Hard copy devices, such as printers, generally print two kinds of data. The first type of data is stroke data, usually text and graphics data. The second type of data is continuous tone ("contone") data, which is usually image data, for example, a data representation of a photographic image. High quality rendering of stroke data requires a printer that can produce a spatial resolution of 600 dots per inch ("dpi") or more. This resolution is required, for example, to reduce jaggedness of diagonal edges or to reproduce fine seriphs in text. Contone data, on the other hand, does not require such high spatial resolution, but requires a printer than can produce gray shades. Indeed, if the printer is capable of producing 256 gray shades (which is typical intensity resolution of image scanners), a 200-250 dpi printer will generally suffice. Such a printer provides appropriate spatial resolution for the human eye to perceive smooth shades. Unfortunately, most existing printers are binary printers that can reproduce only two gray shades, black and white. These printers simulate more gray shades by logically combining several dots into cells and relying on the spatial integration property of the human eye to stimulate smooth shades. As an example, a 3200 dpi printer can achieve appropriate gray shades by forming cells from 16 X 16 arrays of dots, resulting in 200 cells per inch (sometimes referred to as lines per inch). By controlling the number of dots that are black (or white) in this array, each cell can represent up to 257 gray levels (0 through 256, with 256 represented by all dots being black). The spatial resolution of the human eye will perceive smooth shades with such a printer. Thus, binary printers reproduce high quality contone data only at an extremely high resolution. To produce both contone and stroke data, therefore, the resolution is defined by the contone image requirements. Consequently, the stroke data is printed at a higher resolution than needed. Furthermore, printing at the high resolution needed for contone data with existing systems makes them expensive. Therefore, a need has arisen for a printer that can print both stroke and contone data at the resolution of stroke data. EP-A-0 540 221 sets forth a printer using a laser scanning apparatus and discloses the idea of using "small pixels" within an "objective pixel" to achieve halftone printing. However, the pixels are not formed using a spatial light modulator array of elements. EP-A-0 361 880, which discloses an image signal processor, distinguishes between character data and halftone image data and applies an error diffusion process and binarisation process to the halftone image data and character data, respectively. This document is also directed to half-toning. The image signal processor comprises an image signal identification means for outputting a kind-identification signal of said input image signal based on a detected power at a fixed frequency at least in a direction of the main scanning or subscanning of the input image signal. EP-A-0 556 591 discloses a printer using an array of deformable mirror devices (DMD), a photoconductive drum and a processor for controlling the spatial light modulator such that predetermined areas of the photoconductive drum render gray scale levels. EP-A-0 620 676 discloses a process and architecture for a digital micromirror printer for achieving high resolution, high-speed gray scale printing with binary spatial light modulators. The process comprises illuminating a SLM having a plurality of rows of elements; using the SLM elements to modulate light in conjunction with movement of a photoconductive surface having a process direction, and converting grayscale information into codes that coordinate reflecting light from selected individual elements of the plurality of rows of said SLM with motion of the photoconductive surface, to reflect light on predetermined areas of the photoconductive surface that corresponds to that grayscale information. Additionaly, each pixel can be divided up into four phases in the process direction and printed in phase pairs. SUMMARY OF THE INVENTION In accordance with the teaching of the present invention, an apparatus for printing stroke and contone data together is provided which substantially eliminates or reduces disadvantages and problems associated with prior art printers and printing techniques. According to the present invention, there is provided a printer as defined in claim 1. An important technical advantage of the present invention is that the different requirements of stroke and contone data are satisfied by using different methods to render them by exploiting spatial and intensity modulation capabilities of a DMD based printer. BRIEF DESCRIPTION OF THE DRAWINGS For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: FIGURE 1 illustrates a block diagram of a printer constructed according to the teachings of the present invention; FIGUREs 2a-2h illustrate various phases of a pixel to be printed according to present invention; FIGURE 3 illustrates lookup tables according to the teachings of the present invention; FIGURE 4 illustrates a polygon printed according to the teachings of the present invention; and FIGURE 5 illustrates a block diagram of the circuitry of a printer constructed according to the teachings of the present invention. DETAILED DESCRIPTION OF THE INVENTION FIGURE 1 illustrates a printer 10 constructed according to the teachings of the present invention. As shown in FIGURE 1, a spatial light modulator (SLM) having individual elements making up an array 12 is provided. In a particular embodiment, array 12 comprises an array of DMDs. Throughout this description, individual elements of the array 12 will be referred to as mirrors. Array 12 may comprise an array of DMDs constructed as disclosed in U.S. Patent No. 4,956,619, "Spatial Light Modulator". As shown in FIGURE 1, each row of array 12 is staggered, such that individual mirrors (elements) are offset from row to row. This offset will be exploited, as discussed below, to allow for generation of many gray scales for the printing of image data and for the printing of smooth edges for graphics data. Only a portion of array 12 is shown for clarity, it being understood that array 12 may include more rows or columns, as particular applications require. Light from a light source 14 is reflected by array 12 either onto or off of OPC drum 16. Light source 14 may comprise a light-emitting diode. Light from array 12 may be reflected directly onto OPC drum 16 or focused through optics 18. As shown in FIGURE 1, light received from array 12 falls on OPC drum 16. Only a line of logical pixels is shown for clarity, it being understood that several lines of pixels can be simultaneously illuminated by the DMD array. Each of these pixels will be illuminated and thereby either charged or discharged for toner attraction. The drum 16 will then rotate over the page to be printed, and the toner will be transferred from the drum 16 to the page, the line of pixels printing a line on the page. For the illustrated example, we will assume that the position (ON or OFF) of the mirrors in the array are updated for every one-quarter of a pixel drum movement. Other update speeds are possible, without departing from the scope of the invention. With this scheme, as shown in FIGURE 1, an exemplary pixel 20 receives light from mirrors 22-36 of array 12. The light is received from each row of mirrors at different time instances as the drum rotates. Likewise, mirrors 38-52 reflect light onto pixel 54 of OPC drum 16. Pixel 21 is also shown, and will be discussed below. Pixel 21 will be exposed by mirrors 22-36 as OPC drum 16 rotates. FIGURES 2a-2h illustrate light received at pixel 20 from each of the mirrors 22-36. As shown in FIGURE 2a, light from mirrors 22 and 24 first impinges on the top of pixel 20. In a particular embodiment, the mirrors of array 12 shine light on an area approximately ¼ the area of pixel 20. For example, pixel 20 may be 1/300 of an inch by 1/300 of an inch, whereas the light from mirror 22 may be 1/600 of an inch by 1/600 of an inch. It should be understood that other sized and shaped pixels and mirrors are possible, or the effective size of the mirrors may be altered through optics 18. The particular area on pixel 20 on which light from any one mirror falls is referred to as a phase. Thus, as shown in FIGURE 2a, light from mirrors 22 and 24 fall on phases A and B, shown by the circled A and B. The duration for which the light falls can be controlled by switching the mirrors OFF or alternatively switching the light source OFF. As shown in FIGURE 2b, as time goes on and the OPC drum 16 rotates, in this example by a quarter of a pixel, light from mirrors 22 and 24 falls on phases C and D. As shown in FIGURE 2c, as OPC drum 16 continues to rotate, light from mirrors 22 and 24 falls on phases E and F, and light from mirrors 26 and 28 falls on phases G and H. As can be seen in FIGURE 2c, phase H falls half on pixel 20 and half on the adjacent pixel of OPC drum 16. This light falling on the adjacent pixel can be handled in one of two ways. First, it can be taken into account in determining the gray scale to be generated in the adjacent pixel. Thus, if the gray scale of the adjacent pixel is to be, for example, level 200 of 256 gray levels, the amount of light received on that pixel from phase H can be taken into account. Alternatively, the light received from phase H on the adjacent pixel can be disregarded. Indeed, if the adjacent pixel is to be completely white, then this is the only alternative, and there will be some blur between pixels. As shown in FIGURE 2d, as OPC drum 16 continues to rotate, the light from mirrors 22 and 24 falls on phases I and J. As discussed above in connection with FIGURE 2c, phases I and J overlap on to the pixel of the next line of OPC drum 16. This overlap can either be taken into account in determining the gray scale to be generated on that pixel, or disregarded. The light from mirrors 26 and 28 falls on phases K and L. As shown in FIGURE 2e, as OPC drum 16 continues to rotate, the light from mirrors 26 and 28 falls on phases M and N, with the overlap being handled as discussed above. Furthermore, light from mirrors 30 and 32 falls on phases A and B, as shown in FIGURE 2e. Furthermore, at this time light from mirrors 22 and 24 fall on phases A and B of pixel 21. As shown in FIGURE 2f, light from mirrors 26 and 28 next falls on overlap phases O and P, and the light from mirrors 30 and 32 next falls on phases C and D. As shown in FIGURE 2g, light from mirrors 34 and 36 next falls on phases G and H and light from mirrors 30 and 32 on E and F. Next, as shown in FIGURE 2h, as the OPC drum continues to rotate, light from mirrors 34 and 36 falls on phases K and L and those from 30 and 32 on I and J. Intensity modulation is achieved at each phase by choosing to turn the mirror ON or OFF (the ON position corresponds to the case where the light is reflected on the OPC pixel and the OFF position corresponds to the case where the light is reflected away from the OPC). As an example with the embodiment of FIGUREs 2a-2h, three levels of exposure may be generated for each phase by exposing each phase zero, one, or two times. For example, to generate an exposure level of one in phase A, mirror 22 would be ON in FIGURE 2a, but mirror 30 would be OFF for FIGURE 2e. More exposure levels are also possible by intensity modulation with amplitude modulation of the light source, which is, for example, an LED. For example, the entire array could be exposed at a certain base exposure level (1) for FIGURES 2a-2d, and at twice that level (2) for FIGURES 2e-2g. This cycle of intensity levels is repeated in a periodic fashion. With this scheme, four levels of exposure (0, 1, 2, and 3) can be generated in each phase. For example, to generate a level of 3 in phase A, mirror 22 would be switched ON in FIGURE 2a and mirror 30 in FIGURE 2e. Many more exposure intensity levels can be generated by using more rows of DMDs and more light source levels. Copending U.S. Patent Application Serial No. 08/100892, filed July 30, 1993, and entitled "Method and Apparatus for Spatial Modulation in the Cross-Process Direction," published as EP-A-636 997 (01/02/95), discloses in detail the techniques by which the apparatus of FIGURE 1 may be used to generate many shades of gray for the printing of contone data. As described in that application, the arrangement of array 12 is exemplary, and other arrangements may also be used. Generally speaking, that application describes generating many shades of gray by integrating light from all of the phases of a particular pixel, with phase locations in both the process and cross-process directions. Note that the size of a phase in the process direction is determined by the time the light source is ON when that phase is exposed. FIGURES 2a-2g show the ideal case when the exposure is instantaneous. In the extreme case when the light source is on for the entire duration between two successive data load times, each phase will be about ¾ of a pixel wide, leading to overlap, for example between phases A and E. Thus, the size of the phases can also be varied or modulated for generating gray scales. This approach, referred to as pulse duration modulation, is described in copending U.S. Patent Application No. 08/038,398, filed March 29, 1993, entitled "Process and Architecture for Digital Micromirror Printer," (TI-17632) assigned to Texas Instruments Incorporated and published as EP-A-0 620 676 (19/10/94). Though the examples shown in this application show constant duration phases, it should be understood that the present invention may also use pulse duration modulation. With the present invention, contone data, as well as stroke data, can be printed together at different resolutions, thus allowing for the proper printing of both types of data. This is made possible by taking advantage of the fact that raster image processors ("RIPs") can distinguish between text and contone data. RIPs process printing languages, such as the postscript language, which require clear identification of different types of data, such as image data through use of the image operator, text data through use of the show operator, and graphics data through use of the stroke operator. Thus, with the present invention the RIP is programmed to render image data at a resolution which allows for the generation of many shades of gray, such as 300 dpi, while rendering text and graphics data at high resolution, such as 600 dpi. This is accomplished by taking advantage of the structure of array 12, as will be discussed. FIGURE 3 illustrates two lookup tables that are used by a RIP to render stroke and contone data. For contone data, lookup table A is used. Lookup table A provides the intensity levels that must fall on each phase of a pixel to generate the appropriate gray scale. The phases correspond to those of FIGURES 2a-2h, and gray scale levels are rendered by integrating the light from the phases in both the process and cross-process directions. Pixel 60 illustrates a pixel of contone data, for example, at 1/300 of an inch, to be printed at a gray scale level of 201. A raster image processor uses lookup table A to determine the particular light intensities that should fall on each of the phases of pixel 60 to generate the gray scale level of 201. In particular, to generate gray scale 201 in pixel 60, the specific exposure levels desired for different phases are obtained through lookup table A. These tables can be derived experimentally or through modeling. The table entries are translated into mirror settings (ON or OFF) based on the light source intensity cycle. For example, assuming the light source is modulated periodically from one, to two, to four, to eight times a base intensity level, the mirrors that expose phase A may be ON for levels 2 and 8 and OFF for levels 1 and 4 to generate a total intensity of 10 in phase A. Stroke data is rendered through use of lookup table B, shown in FIGURE 3. Lookup table B provides the intensity level that must fall on a phase to render it at a particular gray shade. As illustrated, pixel 62 is divided into four phases, phases A, B, E, and F, corresponding to the phases in FIGURES 2a and 2c. These phases are of a resolution high enough to render high quality stroke data, for example, 1/600 of an inch. With existing optical photoconductive technology, dots of the size of about 1/600 of an inch can be rendered at about 8-32 shades of gray. Thus, the intensity required to generate the appropriate shades of gray for phases A, B, E, and F, can be obtained from lookup table B. Thus, for example, if phase A were to be rendered at a gray scale level of 30, an intensity level of, for example, 7 would be directed to that phase. Likewise, if phase F is to be at a gray scale of 100, an intensity level of 15 would be directed to that phase. Although 256 gray shades index into the lookup table B, fewer intensity levels are output from the lookup table due to the above mentioned toner limitations. In the example described for stroke data, the stroke data is rendered by using the four phases A, B, E, and F of pixel 62. With such an arrangement, the other phases of pixel 62 are inactive, and stroke data is rendered at twice the spatial resolution of contone data. This arrangement is shown for convenience, it being understood that other arrangements are also possible. As discussed above, for example, pixel 62 can include many other phases, for example phases C, D, and G-P. With the present invention, any of these phases may be used to render the stroke data. By using phases other than just phases A, B, E, and F, the stroke data will be rendered at the same overall resolution, but can be addressed at a finer resolution, due to the offset of the rows of array 12. This fine addressing is discussed in "Method and Apparatus for Spatial Modulation in the Cross-Process Direction," incorporated above. Furthermore, it should be understood that the present invention works without staggering of the rows of array 12. It should be noted that dithering or half-toning schemes can be used in conjunction with the above methods, in particular for rendering stroke data which does not exploit spatial modulation. Some input contone data may be received at 600 dpi resolution, and such contone data can be handled in at least three ways to generate gray shades. In one alternative, the 600 dpi contone data can be rendered through use of lookup table B, and use of the four phases shown in connection with pixel 62 of FIGURE 3, which may also be combined with some dithering scheme. Second, the gray scale of each of the 600 dpi data points can be averaged and then rendered through use of a lookup table such as lookup table A. For example, if the contone data is received at 600 dpi, then there are four data points for each 1/300 of an inch pixel. The gray scale for each of these four data points can be averaged (for example, arithmetically) to derive a gray scale for the 1/300 of an inch pixel. This averaged gray scale can then be rendered through use of lookup table A, as discussed above. As a third alternative, this data can be subsampled by half (after smoothing with a low pass filter to prevent aliasing) to 300 dpi resolution, and rendered through use of lookup table A. Many applications require both high resolution and many shades of gray. An example is the printing of graphics data, such as that for geometric shapes with a solid, patterned, or gradient fill. It is desirable to allow the rendering of many shades of gray within the geometric shape, while providing high resolution at the edges to prevent jagged appearing edges. The above discussion describes how contone and stroke data, once identified as such, are handled by the RIP, the array 12, and the OPC drum 16. Following is a discussion of how the data is so identified, and then printed. FIGURE 4 illustrates the technique by which the present invention accomplishes the rendering of many gray shades while allowing for high resolution printing of stroke data. As shown in FIGURE 4, an array 64 of logical pixels is shown, as they would be mapped on a piece of paper. As an example, the size of these pixels is 1/300 of an inch. A polygon 66 is shown as printed on the array. Processors, such as raster image processors, can be programmed to determine which pixels are inside of, outside of, or on the perimeter of a particular geometric shape. This technique, known as scan conversion, has been described in Foley, et al., Computer Graphics: Principles and Practice, 2nd Edition, Addison-Wesley Publishing Company, 1992, pp. 92-94. Generally speaking, this technique uses the geometric formula of an object, and pixel mapping, to determine whether a pixel is inside, outside, or on a shape. Thus, pixels within the polygon, such as pixel 70, will be treated as if they were contone data, and printed as discussed above, for example using 16 phases. Likewise, pixels outside of the polygon, such as pixel 72, will not be rendered. Pixels on the edge, such as pixels 74 and 76, will be treated as stroke data, and rendered at a high resolution, for example, a resolution of 1/600 of an inch, as discussed above. To accomplish this high resolution rendering with the present invention, each 1/300 of an inch pixel is divided into smaller phases, for example, four 1/600 of an inch phases. Phases that fall outside the polygon, such as phase 78, will not be rendered. Phases within the polygon that do not fall on its perimeter, such as phase 80, will be rendered at a stroke gray scale as close to the desired gray scale as possible. As discussed previously, varying technologies offer between 8 and 32 shades of gray for high resolution pixels. Thus, the gray shade of phase 80 can be made as close as possible to the desired gray shades by reproducing the intensity level that best approximates the shade. Anti-aliasing techniques can also be used to determine the gray shades of the 1/300" pixels and the 1/600" phases. Such techniques are known in the art and have been described in Computer Graphics: Principles and Practice, pp. 132-134. Once the gray shade of a phase of a pixel on the perimeter is determined, it can be approximated through the use of lookup table B in FIGURE 3. As an example of an anti-aliasing technique, the percentage of the phase that is inside the perimeter of the polygon 66 is determined. This percentage is then multiplied by the desired gray scale to determine the gray scale to be rendered at the phase on the perimeter. For example, if phase 82 of polygon 66 is to be rendered at a gray level of 60, and assuming half of phase 82 is inside the polygon, then that phase can be rendered at ½ times 60, or 30. Using lookup table B in FIGURE 3, this translates to a desired intensity level of 7 at that phase. Phases other than A, B, E, and F can be used at the subpixel level on the perimeter to further smooth out jaggies as was discussed in copending U.S. Patent Application Serial No. 08/100,892, "Method and Apparatus for Spatial Modulation in the Cross-Process Direction" (TI-17829) published as EP-A-0 636 997 (01/02/95). FIGURE 5 illustrates a block diagram of the circuitry for a printer 10 constructed according to the teachings of the present invention. As shown in FIGURE 5, a processor 100 receives data to be printed from block 102 either directly or through memory 104. Block 102 may represent any device that can output data to be printed, such as a personal computer. The memory 104 may be used to buffer data to be printed from block 102 or may store other data, such as pre-programmed data, for later printing. Memory 104 also includes instructions for controlling processor 100, as well as lookup tables, such as those discussed in connection with FIGURE 3. Processor 100 is coupled to light source 14, array 12, and OPC drum and motor 16. Processor 100 is also coupled to printer paper handling, user I/O, and diagnostics block 106. In operation, processor 100 processes the data to be printed by controlling light source 14 and array 12. For example, after determining that a pixel is to be contone data, processor 100 will determine the gray scale that must be written to that pixel, and with the aid of lookup tables controls the particular mirrors of array 12 and light source 14 to direct the appropriate intensity at different phases of the pixel. Processor 100 also controls the rotation of the OPC drum and the paper handling, user I/O and diagnostics as required by the printing system. Although the present invention has been described in detail, it should be understood that various changes, substitutions, and alterations can be made without departing from the scope of the appended claims.

Claims: A printer, comprising: a light source (14); a spatial light modulator (12) operable to receive light from said light source (14), said spatial light modulator (12) having a plurality of rows of individual elements; a photoconductive drum (16) operable to rotate in a process direction and having predefined pixels with phases operable to receive light reflected from predetermined individual elements of a plurality of said rows wherein a phase is defined as a particular area on a pixel on which light from any one of said elements falls, the area of a phase being smaller than the area of a pixel; and a processor (100) operable to differentiate between contone data and stroke data to control said individual elements such that for contone data, light is reflected from predetermined individual elements of a plurality of rows onto predetermined phases of pixels of said photoconductive drum (16) to render the pixels at gray scale levels; said processor (100) also being operable to control said individual elements such that for stroke data, light is reflected from predetermined individual elements onto predetermined phases of said photoconductive drum (16) to render the stroke data at higher resolution than that of said pixels. The printer of claim 1, wherein the stroke data is rendered at each pixel by reflecting light onto less than all phases of the pixel. The printer of claims 1 or 2, wherein said processor (100) is further operable to identify data as stroke or contone data by determining whether the location of the data is inside, outside or on an edge of a shape of an object to be printed, and identifying the data as contone if inside the shape or outside the shape and stroke if on the edge of the shape. The printer of claims 1 to 3, wherein said processor (100) is further operable to perform anti-aliasing on the stroke data. The printer of claims 1 to 4, further comprising a memory (104) containing lookup tables, said lookup tables accessed by said processor (100) to control said individual elements to render the contone and stroke data. The printer of claims 1 to 5, wherein the individual elements of alternating rows of said plurality of rows of individual elements are staggered.

Inventors: VENKATESWAR VADLAMANNATI, VENKATESWAR, VADLAMANNATI
Applicants: TEXAS INSTRUMENTS INC, TEXAS INSTRUMENTS INCORPORATED
Application year: 1994
Main classification: B41J2
IPC codes: H04N1