Method and apparatus for creating a dither pattern

Abstract: A record in which a color is represented on a record medium at a selected gray scale level is created by resolving an addressable area of the record medium into a square array of addressable record locations and organizing the record loca­ tions into a plurality of groups each containing a 4 x 4 array of record locations. The groups are organized into a plurality of dither cells each containing a 4 x 4 array of groups, whereby each dither cell contains 256 addressable record locations. An [i+(j x 16)]th gray scale level is established within a selected area of the record medium, where i is an integer in the range from zero to 16, j is an integer in the range from zero to 16 and [i+(j x 16)] is an integer in the range from zero to 255, by ad­ dressing j record locations in each group of each dither cell within the selected area and addressing one additional record location in each of the i groups of each dither cell within the selected area, the j addressed locations in each group being substantially contiguous and being in substantially the same positions in their group as the j addressed loca­ tions in each other group, and the i groups which contain an additional addressed record locations being distributed substantially uniformly over the dither cell.

Description: This invention relates to a method and apparatus for creating a dither pattern. A color graphics printer generally includes a printer frame buffer in which information representing the desired distribution of color over a printable area of a record medium, such as a sheet of paper, is stored in CMY format. It is known to use a binary printer, e.g. an ink jet printer or a thermal wax transfer printer, for color graphics printing. A binary printer applies discrete dots of color media to the record medium and addresses the record medium in accordance with a square array of discrete record locations, rather than over a continuum of locations. The dots are all of the same size, and variation in the darkness with which a color medium is applied to the record medium is accomplished by varying the number of dots applied over a unit area of the record medium. The addressable memory locations in the printer frame buffer are associated on a one-to-one basis with the addressable record locations of the record medium, and each addressable memory location is capable of storing three digital words each comprising, for example, eight binary digits, or bits. Each set of three digital words represents the contributions of the three primary color components (cyan, magenta and yellow) to the desired color of the associated record location of the record medium. (An additional word may be associated with the color black.) When a printable record medium is addressed the printer scans successive rows of record locations in the square array. The contents of the printer frame buffer are read synchronously with scanning of the record medium by the printer. The record locations of the record medium are organized into contiguous dither cells, each of which might have sixteen record locations on a side, and thus contain 256 record locations. A unique gray scale reference value, which may be expressed as an integer in the range from 0 to 255, is associated with each record location within the dither cell. The three (or four) digital words associated with a particular record location are compared with the reference value for that location, and if one of the digital words represents a value that is at least as great as the reference value, the printer applies a dot of the appropriate color to the record medium. All the dots are nominally of the same size, but in practice the dots are usually larger than their nominal size. For example, in the case of an ink jet printer, the ink tends to bleed over the record medium, and in the case of a thermal wax transfer printer the dots tend to smear. Record locations having successive reference values are not grouped together in a dither cell but are distributed over the cell in accordance with a predetermined dither pattern. The dither pattern may be based on a magic square. A magic square is a square array of P x P terms in an arithmetic progression such that the sum of the terms in each column, each row and each major diagonal is the same. In a magic square, containing P x P integers from O to P x P - 1, successive numbers are distributed in a substantially random fashion over the square. A magic square can be defined for P = 4. In a color graphics printer that is at present commercially available, the 256 record locations in a 16 x 16 dither cell are organized as a 4 x 4 magic square of groups, each of which contains a 4 x 4 magic square of record locations. In this case, the sixteen groups contain the numbers from 0 to 15 respectively as their smallest reference values, and the sixteen groups are arranged in a magic square in accordance with their smallest reference values, as shown in Table I. The fifteen additional numbers in each group are in an arithmetic progression having a common difference of 16, and the sixteen numbers in each group are arranged in a magic square, as shown in Table II for the group containing the number 0. With the type of dither pattern described with reference to Tables I and II, successive reference values in a group of record locations are distributed over the group in a substantially random fashion. If a printable record medium is printed using a dither pattern of this type, for gray scale levels below about 128 (in the range from 0 to 256), the enlarging of each dot due to bleeding or smearing has the effect of increasing significantly the darkness of the image created on the record medium beyond the value indicated by the contents of the frame buffer. US-A-4 517 605 and US-A-4 553 173 describe image processing apparatus providing dither matrices in which dither data indicating threshold values are formed by dither matrices divided into plural sub-dither matrices. In accordance with one aspect of the present invention there is provided a method of creating a record in which a given colour is rendered with a selected gray scale level, comprising: resolving an addressable area of a record medium into a rectangular array of addressable record locations, organizing the addressable record locations into a plurality of element groups each containing a rectangular array of m x n addressable record locations where m and n are each greater than two, organizing the groups into a plurality of dither cells each containing a rectangular array of M x N groups, whereby each dither cell contains M x N x m x n addressable record locations, and applying the given colour to j record locations in each group of at least one dither cell, where j is an integer in the range from zero to m x n -1, and in the event that j is greater than one, the j record locations in a group of said one dither cell being substantially contiguous and being in substantially the same positions in that group as the j record locations in each other group, and applying the given colour to one additional record location in each of i groups of said one dither cell, where i is an integer in the range from zero to M x N - 1, and in the event that i is greater than one, the i groups being distributed substantially uniformly over the dither cell characterised in that the substantially contiguous j record locations in a group are arranged such that in the event that j is less than ten, all j addressed record locations of that group are within a 3 x 3 array. A preferred embodiment of the present invention is a method of creating a record in which a color is represented on a record medium at a selected gray scale level. An addressable area of the record medium is resolved into a square array of addressable record locations and the record locations are organized into a plurality of groups each containing a square array of m x m record locations, where m is a positive integer. The groups are organized into a plurality of dither cells each containing a square array of M x M groups, where M is a positive integer, whereby each dither cell contains M x M x m x m addressable record locations. An [i+(j x M x M]th gray scale level is established within a selected area of the record medium, where i is an integer in the range from zero to M x M, j is an integer in the range from zero to m x m and [i+(j x M x M)] is an integer in the range from zero to M x M x m x m, by addressing j record locations in each group of each dither cell within the selected area and addressing one additional record location in each of the i groups of each dither cell within the selected area, the j addressed locations in each group being substantially contiguous and being in substantially the same positions in their group as the j addressed locations in each other group, and the i groups which contain an additional addressed record locations being distributed substantially uniformly over the dither cell. The j addressed locations in each group form a cluster of record locations, and accordingly when a color dot is larger than its nominal size, much of the amount by which the area of the printed dot exceeds the nominal size is taken up in overlapping adjacent dots of the same color and not in providing the color on an area of the record medium that would not normally receive that colour. In accordance with a second aspect of the invention there is provided a method of creating a record from a sequence of R X S numerical values each in the range from 0 to M x N x m x n, where R, S, M, N, m, and n are positive integers and R and S are each much greater than M, N, m and n, comprising: resolving an addressable area of a record medium into a rectangular array of R x S addressable record locations, whereby the numerical values are associated with respective record locations, organizing the R x S addressable record locations into a plurality of groups each containing a rectangular array of m x n addressable record locations where m and n are each greater than two, organising the groups into a plurality of dither cells each containing a rectangular array of M x N groups, whereby each dither cell contains M x N x m x n addressable record locations, associating a reference value with each addressable location in each dither cell, the reference values being terms in a first progression which is substantially an arithmetic progression from zero to M x N x m x n and having a common difference of unity, the reference values associated with the record locations in each group being terms in a second progression which is substantially an arithmetic progression from Q to Q + (m x n x D), where Q is the smallest of the reference values for the record locations in that group and D is equal to M x N, and the locations with which successive terms in the second progression are associated being substantially contiguous, and the smallest of the reference values in the groups respectively being terms in a third progression which is substantially an arithmetic progression from zero to M x N -1 and the groups containing successive terms in the third progression being distributed substantially uniformly over the dither cell, and comparing the numerical value for a record location with the reference value for that location and, in the event that the numerical value and the reference value are in a predetermined relationship, applying color to the record location and otherwise not applying color to that location characterised in that the substantially contiguous j record locations in a group are arranged such that in the event that j is less than ten, all j addressed record locations of that group are within a 3 x 3 array. In accordance with a third aspect of the present invention there is provided apparatus for creating a record in which a given color is rendered with a selected gray scale level, comprising: means for resolving an addressable area of a record medium into a rectangular array of addressable locations, means for organizing the addressable locations into a plurality of groups each containing a rectangular array of m x n addressable locations, where m and n are each positive integers greater than two, and for organizing the groups into a plurality of dither cells each containing a rectangular array of M x N groups, where M and N are positive integers, whereby each dither cell contains M x N x m x n addressable locations, means for establishing an [i + (j x M x N)]th gray scale level within a selected area of the record medium, where i is an integer in the range from zero to M x N, j is an integer in the range from zero to m x n, and [i + (j x M x N)) is an integer in the range from zero to M x N x m x n, by applying the given color to j addressable record locations in each group each dither cell within the selected area and to one additional addressable record location in each of i groups of each dither cell within the selected area, the j addressed locations in each group being substantially contiguous and being in substantially the same position in that group as the j addressed locations in each other group, and the i groups being distributed substantially uniformly over the dither cell characterized in that the substantially contiguous j record locations in a group are arranged such that in the event that j is less than ten, all j addressed record locations of that group are within a 3 x 3 array. For a better understanding of the invention, and to show how the same may be carried into effect, reference will now be made, by way of example, to the accompanying drawing, the single figure of which is a block diagram of part of a color graphics printer. A printer frame buffer 10 contains three arrays of data words representing respectively the darkness with which three primary colors, e.g. cyan, magenta and yellow, should be applied to the printable area of a record medium 12 by means of a printhead 14. A clock generator 16 generates a clock signal CLK which is applied to a counter 18 for generating address words. If, for example, the printhead 14 is able to address 1024 discrete horizontal locations of the printable area and 1024 discrete vertical locations, the counter 18 provides a 20-bit address signal of which the ten lower bits represent a column address and the ten upper bits represent a row address. The 20-bit address signal is applied to the printhead for controlling horizontal and vertical scanning of the record medium by the printhead. The address signal is also applied to the frame buffer for reading color component signals C, M, Y from the frame buffer. The lower four bits of the row address word and the lower four bits of the column address word are applied as row and column address signals to a read-only memory 20. The read-only memory contains a matrix of 256 eight-bit words from 0 to 255 representing the reference values that are used in establishing a 16 x 16 dither cell. The 16 x 16 dither cell is made up of sixteen groups, each of which contains a 4 x 4 array of reference values. The sixteen groups contain the numbers 0 to 15 respectively and are arranged in the magic square shown in Table I. The sixteen numbers in each group are arranged to form a cluster that grows from the upper left-hand corner of that group, as shown in Table III for the group containing the number 0. The three color component words C, M, Y for each record location of the record medium 12 are each compared with the reference value for that location using comparators 22. If the numerical value of the word for a given color component and a given location is less than or equal to the reference value, the comparator provides a logical 0 output and the printhead 14 does not apply a dot of the given color to the given location of the record medium, whereas if the numerical value is greater than the reference value the comparator provides a logical 1 output and the printhead applies a dot of the given color to the given location. It will be seen from Tables I and III that the distribution of gray scale levels from group to group in ascending order is substantially random in character, in that the consecutive numbers are not grouped together. On the other hand, the ascending order within a group is in a cluster that grows from the top left-hand corner of the group. Therefore, as the darkness of a color represented by a particular combination of hue and saturation increases, the groups within the dither cell are addressed in a substantially random fashion but the locations within a given group are addressed in an orderly fashion, so that for any darkness level, the printed area within the group is composed only of contiguous printed dots. In this manner, the effect of bleeding or smearing of printed dots is reduced as compared with the dither pattern described previously. It will be appreciated that the present invention is not restricted to the particular embodiment that has been described, and that variations may be made therein without departing from the scope of the invention as defined in the appended claims and equivalents thereof. For example, the groups within the dither cell need not be arrayed in a magic square, and the element that is associated with the lowest reference value in a given cell need not be at any specific location within that cell. It is preferred that the groups and the dither cell each be square, and that the number of locations on each side be an integral power of two, but this is not essential. It is not essential that the reference values be precisely in an arithmetic progression, e.g. from 0 to 255, since in some applications it may be desirable to associate the same reference value with two record locations. It will be appreciated that the pth term in a first arithmetic progression can be converted unambiguously to the pth term in a second arithmetic progression if the first term and the common difference of each progression are known. Accordingly, where this specification defines the terms of an arithmetic progression, the definition is intended to cover corresponding values that are defined by reference to another arithmetic progression. Although the foregoing detailed description is expressed in terms of an implementation of the invention in hardware, it will be appreciated that many functions may be implemented in software instead.

Claims: A method of creating a record in which a given colour is rendered with a selected gray scale level, comprising: resolving an addressable area of a record medium into a rectangular array of addressable record locations, organizing the addressable record locations into a plurality of element groups each containing a rectangular array of m x n addressable record locations where m and n are each greater than two, organizing the groups into a plurality of dither cells each containing a rectangular array of M x N groups, whereby each dither cell contains M x N x m x n addressable record locations, and applying the given colour to j record locations in each group of at least one dither cell, where j is an integer in the range from zero to m x n -1, and in the event that j is greater than one, the j record locations in a group of said one dither cell being substantially contiguous and being in substantially the same positions in that group as the j record locations in each other group, and applying the given colour to one additional record location in each of i groups of said one dither cell, where i is an integer in the range from zero to M x N - 1, and in the event that i is greater than one, the i groups being distributed substantially uniformly over the dither cell characterised in that the substantially contiguous j record locations in a group are arranged such that in the event that j is less than ten, all j addressed record locations of that group are within a 3 x 3 array. A method of creating a record from a sequence of R X S numerical values each in the range from 0 to M x N x m x n, where R, S, M, N, m, and n are positive integers and R and S are each much greater than M, N, m and n, comprising: resolving an addressable area of a record medium into a rectangular array of R x S addressable record locations, whereby the numerical values are associated with respective record locations, organizing the R x S addressable record locations into a plurality of groups each containing a rectangular array of m x n addressable record locations where m and n are each greater than two, organising the groups into a plurality of dither cells each containing a rectangular array of M x N groups, whereby each dither cell contains M x N x m x n addressable record locations, associating a reference value with each addressable location in each dither cell, the reference values being terms in a first progression which is substantially an arithmetic progression from zero to M x N x m x n and having a common difference of unity, the reference values associated with the record locations in each group being terms in a second progression which is substantially an arithmetic progression from Q to Q + (m x n x D), where Q is the smallest of the reference values for the record locations in that group and D is equal to M x N, and the locations with which successive terms in the second progression are associated being substantially contiguous, and the smallest of the reference values in the groups respectively being terms in a third progression which is substantially an arithmetic progression from zero to M x N-1 and the groups containing successive terms in the third progression being distributed substantially uniformly over the dither cell, and comparing the numerical value for a record location with the reference value for that location and, in the event that the numerical value and the reference value are in a predetermined relationship, applying color to the record location and otherwise not applying color to that location characterised in that the substantially contiguous j record locations in a group are arranged such that in the event that j is less than ten, all j addressed record locations of that group are within a 3 x 3 array. A method according to claim 1 or 2, wherein m is equal to n and M is equal to N. A method according to claim 3, wherein m and M are each equal to an integral power of two. A method according to claim 4, wherein m, n, M and N are each equal to 4. A method according to any one of claims 1 to 5 wherein the record locations at one corner of the 3 x 3 array are at one corner of the m x n array. A method according to any one of the preceding claims wherein different given colours are applied to respective ones of a plurality of addressable areas. Apparatus for creating a record in which a given color is rendered with a selected gray scale level, comprising: means for resolving an addressable area of a record medium into a rectangular array of addressable locations, means for organizing the addressable locations into a plurality of groups each containing a rectangular array of m x n addressable locations, where m and n are each positive integers greater than two, and for organizing the groups into a plurality of dither cells each containing a rectangular array of M x N groups, where M and N are positive integers, whereby each dither cell contains M x N x m x n addressable locations, means for establishing an [i + (j x M x N)]th gray scale level within a selected area of the record medium, where i is an integer in the range from zero to M x N, j is an integer in the range from zero to m x n, and [i + (j x M x N)] is an integer in the range from zero to M x N x m x n, by applying the given color to j addressable record locations in each group each dither cell within the selected area and to one additional addressable record location in each of i groups of each dither cell within the selected area, the j addressed locations in each group being substantially contiguous and being in substantially the same position in that group as the j addressed locations in each other group, and the i groups being distributed substantially uniformly over the dither cell characterised in that the substantially contiguous j record locations in a group are arranged such that in the event that j is less than ten, all j addressed record locations of that group are within a 3 x 3 array.

Inventors: HAINES DOUGLAS I, WELBORN PATRICK E, HAINES, DOUGLAS I., WELBORN, PATRICK E.
Applicants: TEKTRONIX INC, TEKTRONIX, INC.
Application year: 1988
Main classification: H04N1
IPC codes: H04N1, B41J2, G06K15, G06T5, G06F3, G09G5