WO1996008917A1 - A color correction system and method utilizing dithering - Google Patents

A color correction system and method utilizing dithering Download PDF

Info

Publication number
WO1996008917A1
WO1996008917A1 PCT/US1995/011758 US9511758W WO9608917A1 WO 1996008917 A1 WO1996008917 A1 WO 1996008917A1 US 9511758 W US9511758 W US 9511758W WO 9608917 A1 WO9608917 A1 WO 9608917A1
Authority
WO
WIPO (PCT)
Prior art keywords
color
color value
values
dither
destination
Prior art date
Application number
PCT/US1995/011758
Other languages
French (fr)
Inventor
Randall G. Guay
Original Assignee
Apple Computer, 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 Apple Computer, Inc. filed Critical Apple Computer, Inc.
Priority to AU35901/95A priority Critical patent/AU3590195A/en
Publication of WO1996008917A1 publication Critical patent/WO1996008917A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/60Colour correction or control
    • H04N1/6016Conversion to subtractive colour signals
    • H04N1/6019Conversion to subtractive colour signals using look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • H04N1/648Transmitting or storing the primary (additive or subtractive) colour signals; Compression thereof

Definitions

  • the present invention relates to color correction techniques utilized when transforming color information between different I/O devices, and particularly to color correction techniques utilizing dithering.
  • the display device To display color in a computer system, the display device is typically divided into a grid of many picture elements (pixels). Each pixel in the display has an associated color value. The color value causes the display to display a certain color for each pixel. Traditionally, colors have been represented by a color value having three color components. For instance the RGB color value has three color components (red, green, blue).
  • the two most common devices used to display color in a computer system are a computer display screen and a printer.
  • the display screen displays color by illuminating phosphor dots on the screen.
  • the printer displays color by depositing ink on paper.
  • Both display devices use color values to tell the device which color to print.
  • a difference occurs between the color displayed on a screen and the color printed by a printer when the same color value is used for both display devices. Consequently, it is necessary to convert the display (or source) color value to a corrected color value that the printer (or destination device) can use so that it prints a color approximately the same as the color displayed on the screen. This process is typically referred to as color correction.
  • One manner in which color correction may be achieved is by generating a look-up table that stores a corrected destination color value corresponding to each of the source color value.
  • the source color value accesses the corrected destination color value stored in the look-up table.
  • the accessed corrected color value from the look-up table is then used by the destination device to print a color that is approximately the same as the original source device's color.
  • the problem with this method is that the range of source color values is typically much too large to allow for storing a corresponding corrected color value in a look-up table. For instance, an RGB color value having 2 24 possible color values would require that the color look-up table have 2 24 corrected color values or a 256 x 256 x 256 color look-up table. To store this many values is very impractical. As a result, alternative methods have been developed that employ reduced (or scaled) color correction look-up tables.
  • the problem with reducing the size of the color correction look-up table is that the number of shades per color is reduced. For example, an RGB color value (having an 8-bit color component ) yields 256 possible shades for each of red, green and blue. If the size of the inverse table is reduced to a 32 x 32 x 32 color table, there are only 32 possible shades of red, green or blue. Reducing the size of the look-up table creates bigger steps between each shade of color and consequently produces an undesirable stair-step visual effect between shades, referred to as contouring.
  • the main method used to avoid contouring employs an interpolation technique (i.e. trilinear, tricubic, or tetrahedral inte ⁇ olation) to obtain color values between shades, thus reducing the stair-step effect.
  • this technique requires intensive computational steps.
  • the present invention is a color correction technique and system that does not use interpolation. As a result, a less computative intensive system is realized.
  • the present invention is a method and system utilizing dithering for providing color correction when displaying graphical color.
  • the method of the present invention provides a means of transforming color information from one type of I/O device to another using color correction look-up tables and dithering.
  • the original source color information is in the form of a 24-bit, three color component, RGB (red, green, blue) color value.
  • RGB red, green, blue
  • each component of the 24-bit RGB color value is added to a dither color value.
  • the resulting dithered color value is used as an index into an index table of addresses.
  • the table of addresses provides addresses to an inverse color table, causing the inverse table to output a corrected color value corresponding to the original source color value.
  • the inverse color table of the present invention has color values with a range that is less than the range of the source color values.
  • a 24-bit RGB source color value having a range of 256 for each color component
  • a 32 x 32 x 32 inverse table is used, having color values ranging to 32 for each color component.
  • the dither matrix used in the system of the present invention comprises a set of dither values.
  • a 4 x 4 blue noise dither matrix is utilized, having dither values ranging from 0 -7.
  • the index table stores the addresses of the color values stored in the inverse color look-up table.
  • the present invention constructs the index table so as to allow for a range of input addresses equal to [(N - 1) + a maximum dither value].
  • the system of the present invention includes an adding unit.
  • the method of the present invention includes the steps of adding a dither value to each of the components of the original source color value. This step generates a dithered color value for each component.
  • the dithered color values are utilized to access the index table.
  • the index table When accessed by the dithered color values, the index table outputs component addresses corresponding to color entries in the inverse table. The component addresses are used to access the inverse table.
  • the inverse table outputs a corrected color value.
  • the color value is transmitted to the destination display device - which in the preferred embodiment is a printer - causing the printer to print out a color.
  • a different index table corresponding to each color component is used.
  • the dithered color value for each component accesses its respective index table. After which, each index table outputs a portion of an address. All of the portions of the address are combined to form a single address that is consequently used to access the inverse table.
  • Figure 1 illustrates a general color correction system
  • Figure 2 shows a first embodiment of the system of the present invention.
  • Figure 3 is the preferred embodiment of the dither matrix of the present invention.
  • Figure 4 is another embodiment of the system of the present invention.
  • Figure 5 is a flow chart showing the method of the present invention corresponding to the system shown in Figure 2.
  • Figures 6A and 6B are a flow chart showing the method of the present invention corresponding to the system shown in Figure 5.
  • FIGS 7A - 7C illustrates one method in which pixels are processed using the method of the present invention.
  • a method and system for performing display color correction in a computer system utilizing dithering are set forth, such as types of color values, look-up table sizes, display device type, etc., in order to provide a thorough understanding of the present invention. It will be obvious, however, to one skilled in the art that these specific details need not be employed to practice the present invention. In other instances, well-known computer system architectures have not been described in detail in order to avoid unnecessarily obscuring the present invention.
  • FIG. 1 illustrates a typical configuration utilized when converting a color value originating from a source I/O device to a corrected color value for transmitting to a destination display device.
  • source display device 11 provides the source color value.
  • the source device may be any type of I/O device, such as a scanner or a display monitor.
  • Figure 1 also includes color correction unit 12.
  • Color correction unit 12 converts the original source color value to a corrected color value that is adaptable to the destination display device 13.
  • Color correction unit 12 most times includes an inverse color look-up table that stores corrected color values.
  • the table is accessed by the original source color value and provides a corrected color value to the destination device.
  • the Inverse table generally stores a smaller range of color values than the range of color values provided by the source device.
  • Color correction unit 12 may be implemented in many ways to enhance the color correction process.
  • the present invention utilizes dithering to implement color correction unit 12.
  • Color correction using dithering is a technique in which matrixes of pixels are used to represent a single pixel of color. The color values associated with the matrix of pixel are shades that are close to the single pixel and when placed in close proximity in a matrix formation, appear to be the same shade as the single pixel.
  • the present invention color correction unit 12 ( Figure 1) includes the following elements: an adding unit, an index table, and an inverse look-up table.
  • Figure 2 shows a block diagram illustrating the dither color correction system 12 of the present invention. As can be seen, color correction unit 12 includes adding unit 30, dither matrix 31, index table 34, and inverse color look-up table 35.
  • Index table 34 is a memory device that stores addresses corresponding to inverse color value table 35. Index table 34 is configured to be addressable by addresses ranging from 0 to [(N-l) + the maximum dither value].
  • Inverse color value table 35 is a memory device that stores the corrected color values to be transmitted to the destination device.
  • Table 35 consists of a mapping of source colors into destination colors. Due to size limitations, it is impractical to store a map of all source colors to all destinations colors. Consequently, table 35 has a smaller range of color values than the source color values.
  • Dither matrix 31 comprises a matrix of dither values. There are many types of dither matrixes available, each having a unique configuration and implementation which determines the final displayed dithered representation in a certain manner. The dither values within the matrix are dependent on the manner in which the inverse table is scaled with respect to the source color value range.
  • a blue noise dither matrix (as illustrated in Figure 4) is employed.
  • the blue noise dither matrix has a rectangular grid configuration and has 16 dither values - each dither value ranging from 0 - 7.
  • the dither values illustrated in Figure 4 are numbers that are chosen that produce a certain type of dithering effect.
  • the present invention's system functions such that the source color value is coupled to adding unit 30 on bus 40.
  • Dither matrix 31 couples a dither value to adding unit 30 on bus 41.
  • Adding unit 30 adds one of the dither values in the dither matrix to each component of the source color value to generate a dithered color value on bus 42.
  • the maximum range of a dithered color value is (N-l) + 7.
  • FIG. 4 illustrates an alternative embodiment of the system of the present invention.
  • the source color value has three corresponding color component values.
  • Figure 4 shows color correction unit 12 having three adding units 50 - 52, dither matrix 53, three index tables 54 - 56, and inverse table 61.
  • the color value is an RGB color value having red, green, and blue color components.
  • Each color value associated with each component is coupled to a separate adding unit along with a dither value from dither matrix 53.
  • the red color value is coupled to adding unit 50
  • the green color value is coupled to adding unit 51
  • the blue color value is coupled to adding unit 52.
  • Each adding unit adds the given dither value to its corresponding color component value.
  • Each of the dithered color values are coupled to a separate index table corresponding to the particular color component.
  • the index table stores inverse look-up table addresses corresponding to the particular color component.
  • index table 54 stores the inverse table addresses corresponding to the red component
  • index table 55 stores the inverse table addresses corresponding to the green component
  • index table 56 stores the inverse table addresses corresponding to the blue component.
  • the dithered color value for each color component accesses its corresponding index table.
  • each index table outputs a portion of an inverse table address.
  • the three portions are used to access inverse table 61 such that it outputs a corrected color value to destination device 13.
  • Figures 5, 6A and 6B are flow charts illustrating the method of the present invention.
  • the flow chart shown in Figure 5 corresponds to the embodiment shown in Figure 2. Referring to Figure 5, first an inverse table, a dither matrix, and a index table are provided, indicated by steps 70 - 72.
  • the index table is defined as having a range of [(N-l) + maximum dither value], where N is the range of source color values.
  • a color value is retrieved, (indicated by step 73), and the dither matrix value is retrieved, (step 74).
  • Addition step 75 adds the color value to a dither value from the dither matrix.
  • the dithered color value is used to access the index table, yielding an inverse table address (step 76).
  • the index table address is used to access the inverse table (step 77), yielding a color value. This color value is transmitted to the destination device (step 78).
  • a check for more pixels in the source is performed, (step 79). If there are more pixels, steps 73 - 78 are repeated.
  • FIGS. 6A and 6B illustrate the flowchart corresponding to the embodiment of the present invention shown in Figure 4.
  • the inverse table, the dither matrix and an index table corresponding to each color component are provided, (indicated by steps 80, 81, and 82).
  • the color value is retrieved and the dither matrix is retrieved, (steps 83 and 84).
  • step 85 each of the components in the color value.
  • step 86 each of the color values for each color component is added to the dither matrix.
  • Each of the indices of dithered color values generated in block 86 are used to access an index table corresponding to a particular color in step 87.
  • Each of the index tables output an inverse table address.
  • step 88 all of the addresses are combined to form a single address. This address is used to access the inverse table, (step 89).
  • the inverse table outputs a color value that is subsequently transmitted to the destination display device
  • step 90 The last step 91 checks for any more pixels to process. If there are still more pixels in the display to be processed, steps 84 - 91 are repeated. If there are no more pixels, then the process is done.
  • Figures 7A - 7C illustrate the typical order in which the pixels in display screen 29 are processed to generate color values corresponding to the pixels in destination display 40.
  • Figure 7A shows display 29 having four rows of pixels (rows 1-4), each row having eight pixels (P1-P8). Each pixel has a corresponding color value which may or may not have more than one color component.
  • the pixels in array 29 is also divided into eight blocks of 4 pixels (blocks 21-28). The blocks correspond to the arrangement of the example dither matrix having dither values dl-d4 shown in figure 7C.
  • the matrix of dither values is added to each pixel block within array 29.
  • the color values corresponding to the pixels in block 21 i.e., Pl/row 1, P2/row 1, PI/ row 2, P2/row 2
  • the pixels in block 22 i.e., P3/row 1, P4/row 1, P3/row 2, P4/row 2 are added to dl, d2, d3 and d4 respectively.
  • index 34 provides addresses to table 35, which in turn provides a color value for PI ' in destination display 40 corresponding to the color value for pixel PI in source display 29.
  • pixels in display 29 are processed by row. Consequently, pixels Pl-P8/row 1 are added to their corresponding dither values first, followed by the pixels in rows 2-4. If there are no more pixels, then all of the pixels in the source display have been color corrected and transmitted to the destination device and the process is done.
  • source color values having more or less components may also be used with the system and method of the present invention.
  • source color values having components that relate to other aspects of the color may also apply to the present invention.
  • the color value components may relate to the lightness, chroma, and hue (LCH) of a particular color.

Abstract

A color correction system and method that employs a dithering technique is disclosed which includes an adding portion, and inverse look-up table for storing a set of color values, an index table for storing addresses corresponding to the inverse look-up table, and a dither matrix which comprises a set of dither values. Color correction is performed when transmitting a color value from a source display device (having a range of N color values) to a destination display device (having a range of M color values, where M < N). The source color value is added to a dither value to generate a dithered color value. The dithered color value is used to access the index table. The index table is structured to have [(N-1) + maximum dither value] allowable input addresses. In response to being accessed by the dithered color value, the index outputs an address corresponding to the inverse table which is subsequently used to access the inverse table. The inverse table subsequently outputs a corrected color value which is then transmitted to the destination display device.

Description

A COLOR CORRECTION SYSTEM AND METHOD UTILIZING
DITHERING
FIELD OF THE INVENTION
The present invention relates to color correction techniques utilized when transforming color information between different I/O devices, and particularly to color correction techniques utilizing dithering.
BACKGROUND OF THE INVENTION
To display color in a computer system, the display device is typically divided into a grid of many picture elements (pixels). Each pixel in the display has an associated color value. The color value causes the display to display a certain color for each pixel. Traditionally, colors have been represented by a color value having three color components. For instance the RGB color value has three color components (red, green, blue).
The two most common devices used to display color in a computer system are a computer display screen and a printer. The display screen displays color by illuminating phosphor dots on the screen. On the other hand, the printer displays color by depositing ink on paper. Both display devices use color values to tell the device which color to print. However, due to the different properties of printing with ink and illuminating phosphor dots on a screen, a difference occurs between the color displayed on a screen and the color printed by a printer when the same color value is used for both display devices. Consequently, it is necessary to convert the display (or source) color value to a corrected color value that the printer (or destination device) can use so that it prints a color approximately the same as the color displayed on the screen. This process is typically referred to as color correction.
One manner in which color correction may be achieved is by generating a look-up table that stores a corrected destination color value corresponding to each of the source color value. The source color value accesses the corrected destination color value stored in the look-up table. The accessed corrected color value from the look-up table is then used by the destination device to print a color that is approximately the same as the original source device's color. The problem with this method is that the range of source color values is typically much too large to allow for storing a corresponding corrected color value in a look-up table. For instance, an RGB color value having 224 possible color values would require that the color look-up table have 224 corrected color values or a 256 x 256 x 256 color look-up table. To store this many values is very impractical. As a result, alternative methods have been developed that employ reduced (or scaled) color correction look-up tables.
The problem with reducing the size of the color correction look-up table (also referred to as the inverse table) is that the number of shades per color is reduced. For example, an RGB color value (having an 8-bit color component ) yields 256 possible shades for each of red, green and blue. If the size of the inverse table is reduced to a 32 x 32 x 32 color table, there are only 32 possible shades of red, green or blue. Reducing the size of the look-up table creates bigger steps between each shade of color and consequently produces an undesirable stair-step visual effect between shades, referred to as contouring. Presently, the main method used to avoid contouring employs an interpolation technique (i.e. trilinear, tricubic, or tetrahedral inteφolation) to obtain color values between shades, thus reducing the stair-step effect. However, this technique requires intensive computational steps.
The present invention is a color correction technique and system that does not use interpolation. As a result, a less computative intensive system is realized.
SUMMARY OF THE INVENTION
The present invention is a method and system utilizing dithering for providing color correction when displaying graphical color. The method of the present invention provides a means of transforming color information from one type of I/O device to another using color correction look-up tables and dithering.
In the preferred embodiment the original source color information is in the form of a 24-bit, three color component, RGB (red, green, blue) color value. For each pixel, each component of the 24-bit RGB color value is added to a dither color value. The resulting dithered color value is used as an index into an index table of addresses. The table of addresses provides addresses to an inverse color table, causing the inverse table to output a corrected color value corresponding to the original source color value. The inverse color table of the present invention has color values with a range that is less than the range of the source color values. In one embodiment a 24-bit RGB source color value, having a range of 256 for each color component, is used and a 32 x 32 x 32 inverse table is used, having color values ranging to 32 for each color component. The dither matrix used in the system of the present invention comprises a set of dither values. In the preferred embodiment, a 4 x 4 blue noise dither matrix is utilized, having dither values ranging from 0 -7.
The index table stores the addresses of the color values stored in the inverse color look-up table. The present invention constructs the index table so as to allow for a range of input addresses equal to [(N - 1) + a maximum dither value]. In addition, the system of the present invention includes an adding unit.
The method of the present invention includes the steps of adding a dither value to each of the components of the original source color value. This step generates a dithered color value for each component. The dithered color values are utilized to access the index table. When accessed by the dithered color values, the index table outputs component addresses corresponding to color entries in the inverse table. The component addresses are used to access the inverse table. The inverse table, in turn, outputs a corrected color value. The color value is transmitted to the destination display device - which in the preferred embodiment is a printer - causing the printer to print out a color. In another embodiment, a different index table corresponding to each color component is used. In this embodiment the dithered color value for each component accesses its respective index table. After which, each index table outputs a portion of an address. All of the portions of the address are combined to form a single address that is consequently used to access the inverse table.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 illustrates a general color correction system.
Figure 2 shows a first embodiment of the system of the present invention.
Figure 3 is the preferred embodiment of the dither matrix of the present invention.
Figure 4 is another embodiment of the system of the present invention.
Figure 5 is a flow chart showing the method of the present invention corresponding to the system shown in Figure 2.
Figures 6A and 6B are a flow chart showing the method of the present invention corresponding to the system shown in Figure 5.
Figures 7A - 7C illustrates one method in which pixels are processed using the method of the present invention. DETAILED DESCRIPTION
A method and system for performing display color correction in a computer system utilizing dithering. In the following description, numerous specific details are set forth, such as types of color values, look-up table sizes, display device type, etc., in order to provide a thorough understanding of the present invention. It will be obvious, however, to one skilled in the art that these specific details need not be employed to practice the present invention. In other instances, well-known computer system architectures have not been described in detail in order to avoid unnecessarily obscuring the present invention.
When displaying color in a computer system having more than one display device type it is typically necessary to convert the data representing the color (i.e. the color value) before transmitting it between devices to ensure that the color displayed by each device is approximately the same. Figure 1 illustrates a typical configuration utilized when converting a color value originating from a source I/O device to a corrected color value for transmitting to a destination display device.
Referring to Figure 1 , source display device 11 provides the source color value. The source device may be any type of I/O device, such as a scanner or a display monitor. Figure 1 also includes color correction unit 12. Color correction unit 12 converts the original source color value to a corrected color value that is adaptable to the destination display device 13.
Color correction unit 12 most times includes an inverse color look-up table that stores corrected color values. The table is accessed by the original source color value and provides a corrected color value to the destination device. The Inverse table generally stores a smaller range of color values than the range of color values provided by the source device.
Color correction unit 12 may be implemented in many ways to enhance the color correction process. The present invention utilizes dithering to implement color correction unit 12. Color correction using dithering is a technique in which matrixes of pixels are used to represent a single pixel of color. The color values associated with the matrix of pixel are shades that are close to the single pixel and when placed in close proximity in a matrix formation, appear to be the same shade as the single pixel. The present invention color correction unit 12 (Figure 1) includes the following elements: an adding unit, an index table, and an inverse look-up table. Figure 2 shows a block diagram illustrating the dither color correction system 12 of the present invention. As can be seen, color correction unit 12 includes adding unit 30, dither matrix 31, index table 34, and inverse color look-up table 35.
Index table 34 is a memory device that stores addresses corresponding to inverse color value table 35. Index table 34 is configured to be addressable by addresses ranging from 0 to [(N-l) + the maximum dither value].
Inverse color value table 35 is a memory device that stores the corrected color values to be transmitted to the destination device. Table 35 consists of a mapping of source colors into destination colors. Due to size limitations, it is impractical to store a map of all source colors to all destinations colors. Consequently, table 35 has a smaller range of color values than the source color values. Dither matrix 31 comprises a matrix of dither values. There are many types of dither matrixes available, each having a unique configuration and implementation which determines the final displayed dithered representation in a certain manner. The dither values within the matrix are dependent on the manner in which the inverse table is scaled with respect to the source color value range. In the preferred embodiment of the present invention, a blue noise dither matrix (as illustrated in Figure 4) is employed. As can be seen, the blue noise dither matrix has a rectangular grid configuration and has 16 dither values - each dither value ranging from 0 - 7. The dither values illustrated in Figure 4 are numbers that are chosen that produce a certain type of dithering effect. The present invention's system functions such that the source color value is coupled to adding unit 30 on bus 40. Dither matrix 31 couples a dither value to adding unit 30 on bus 41. Adding unit 30 adds one of the dither values in the dither matrix to each component of the source color value to generate a dithered color value on bus 42. In the case in which the dither values range from 0 - 7 and the color values range from 0 - (N-l), the maximum range of a dithered color value is (N-l) + 7.
After each component of the original color value is added to the dither value, the dithered color value is coupled to index table 34 on bus 42. The dithered color value accesses index table 34. In response, index table 34 outputs an address onto bus 43. This address accesses inverse look-up table 35, which in turn couples a color value onto bus 44 to destination device 13. This color value causes display 13 to display a corrected color value. Figure 4 illustrates an alternative embodiment of the system of the present invention. In this embodiment, the source color value has three corresponding color component values. Figure 4 shows color correction unit 12 having three adding units 50 - 52, dither matrix 53, three index tables 54 - 56, and inverse table 61. For the embodiment shown in Figure 4, the color value is an RGB color value having red, green, and blue color components. Each color value associated with each component is coupled to a separate adding unit along with a dither value from dither matrix 53. As can be seen, the red color value is coupled to adding unit 50, the green color value is coupled to adding unit 51, and the blue color value is coupled to adding unit 52. Each adding unit adds the given dither value to its corresponding color component value. Each of the dithered color values are coupled to a separate index table corresponding to the particular color component. The index table stores inverse look-up table addresses corresponding to the particular color component. For instance index table 54 stores the inverse table addresses corresponding to the red component, index table 55 stores the inverse table addresses corresponding to the green component, index table 56 stores the inverse table addresses corresponding to the blue component. The dithered color value for each color component accesses its corresponding index table. In response, each index table outputs a portion of an inverse table address. The three portions are used to access inverse table 61 such that it outputs a corrected color value to destination device 13. Figures 5, 6A and 6B are flow charts illustrating the method of the present invention. The flow chart shown in Figure 5 corresponds to the embodiment shown in Figure 2. Referring to Figure 5, first an inverse table, a dither matrix, and a index table are provided, indicated by steps 70 - 72. The index table is defined as having a range of [(N-l) + maximum dither value], where N is the range of source color values. Next, a color value is retrieved, (indicated by step 73), and the dither matrix value is retrieved, (step 74). Addition step 75 adds the color value to a dither value from the dither matrix. The dithered color value is used to access the index table, yielding an inverse table address (step 76). The index table address is used to access the inverse table (step 77), yielding a color value. This color value is transmitted to the destination device (step 78). Next, a check for more pixels in the source is performed, (step 79). If there are more pixels, steps 73 - 78 are repeated.
Figures 6A and 6B illustrate the flowchart corresponding to the embodiment of the present invention shown in Figure 4. Initially, the inverse table, the dither matrix and an index table corresponding to each color component are provided, (indicated by steps 80, 81, and 82). Next the color value is retrieved and the dither matrix is retrieved, (steps 83 and 84). This is followed by separating each of the components in the color value, step 85. In step 86, each of the color values for each color component is added to the dither matrix. Each of the indices of dithered color values generated in block 86 are used to access an index table corresponding to a particular color in step 87. Each of the index tables output an inverse table address. In step 88, all of the addresses are combined to form a single address. This address is used to access the inverse table, (step 89). In response, the inverse table outputs a color value that is subsequently transmitted to the destination display device
(step 90). The last step 91 checks for any more pixels to process. If there are still more pixels in the display to be processed, steps 84 - 91 are repeated. If there are no more pixels, then the process is done.
Figures 7A - 7C illustrate the typical order in which the pixels in display screen 29 are processed to generate color values corresponding to the pixels in destination display 40.
Figure 7A shows display 29 having four rows of pixels (rows 1-4), each row having eight pixels (P1-P8). Each pixel has a corresponding color value which may or may not have more than one color component. The pixels in array 29 is also divided into eight blocks of 4 pixels (blocks 21-28). The blocks correspond to the arrangement of the example dither matrix having dither values dl-d4 shown in figure 7C.
The matrix of dither values is added to each pixel block within array 29. For instance, the color values corresponding to the pixels in block 21 (i.e., Pl/row 1, P2/row 1, PI/ row 2, P2/row 2), are added to dl, d2, d3 and d4 respectively. Similarly, the pixels in block 22 (i.e., P3/row 1, P4/row 1, P3/row 2, P4/row 2) are added to dl, d2, d3 and d4 respectively.
As described above, the dithered color values are indices into index 34. Further, index 34 provides addresses to table 35, which in turn provides a color value for PI ' in destination display 40 corresponding to the color value for pixel PI in source display 29.
It should be noted that for practical reasons, pixels in display 29 are processed by row. Consequently, pixels Pl-P8/row 1 are added to their corresponding dither values first, followed by the pixels in rows 2-4. If there are no more pixels, then all of the pixels in the source display have been color corrected and transmitted to the destination device and the process is done.
Although the embodiment shown in Figure 4 and its corresponding flow chart show a source color value having three components, it should be noted source color values having more or less components may also be used with the system and method of the present invention. In addition, although the examples show an RGB source color value having components that are associated with a particular color, source color values having components that relate to other aspects of the color may also apply to the present invention. For instance, the color value components may relate to the lightness, chroma, and hue (LCH) of a particular color.
Although the elements of the present invention have been described in a conjunction with certain embodiments, it is appreciated that the invention may be implemented in a variety of other ways. Consequently, it is to be understood that the particular embodiments shown and described by way of illustration are in no way intended to be considered limiting. Reference to the details of these embodiments is not intended to limit the scope of the claims which themselves recite only those features regarded as essential to the invention.

Claims

CLAIMSI Claim:
1. In a computer system including a source display having an array of pixels, each pixel having an associated color value, and said system including a destination display having an array of pixels each pixel having an associated color value, a system for converting a given source color value into a destination color value, said given source color value belonging to a set of N color values, where N is an integer, and said destination color value belonging to a set of M color values, where M is an integer and M < N, said system comprising: a first memory means for storing said set of M destination color values, each of said M destination color values having an associated address; a second memory means for storing a dither matrix, said dither matrix comprising dither values, the maximum value of said dither values equaling X, where X is an integer, said dither matrix having a particular configuration; a third memory means for storing said associated addresses for said M destination color values, said third memory means having (N-l) + X allowable input addresses; a means for adding one of said dither values to said given source color value so as to generate a dithered color value, said one of said dither values being chosen from said dither matrix depending on the location of said given source color value's associated pixel location in said source pixel array in relation to said configuration of said dither matrix, wherein; said dithered color value functions to access said third memory means, said third memory means in response to being accessed providing one of said associated addresses, said one of said associated addresses being used to access said first memory means, said first memory means in response to being accessed providing said destination color value.
2. The system as described in Claim 1 wherein said dither matrix comprises a blue noise 4 x 4 dither matrix.
3. The system as described in Claim 2 wherein N is equal to 256 and M is equal to 32.
4. In a computer system including a source display having an array of pixels, each pixel having an associated source color value, each source color value having more than one component, each component having an associated color component value, and said system including a destination display having an array of pixels each pixel having an associated destination color value, a system for converting a given source color value into a destination color value, each of said color component values belonging to a set of N color values, where N is an integer, and said destination color value belonging to a set of M color values, where M is an integer and M < N, said system comprising: a first memory means for storing said set of M destination color values, each of said M destination color values having an associated address; a second memory means for storing a dither matrix, said dither matrix comprising dither values, the maximum value of said dither values equaling X, where X is an integer, said dither matrix having a particular configuration; a plurality of third memory means for storing a plurality of index tables, each of said plurality of index tables corresponding to a different one of said color components, said each of said index tables comprising a portion of said associated address, each of said third memory means having (N-l) + X allowable input addresses; a plurality of means for adding one of said dither values to each of said component values corresponding to said given source color value so as to generate a dithered color value corresponding to said each component, said one of said dither values being chosen from said dither matrix depending on the location of said given source color value's associated pixel in said source display in relation to said configuration of said dither matrix, wherein; each of said dithered color values function to access a corresponding one of said plurality of third memory means, each of said plurality of third memory means in response to being accessed providing said portion of said associated address so as to generate a plurality of portions of said associated address, said plurality of portions of said associated address being combined so as to access said first memory means, said first memory means in response to being accessed providing said destination color value.
5. The system as described in Claim 4 wherein said given source color value has three corresponding components.
6. The system as described in Claim 5 wherein said dither matrix comprises a blue noise 4 x 4 dither matrix.
7. The system as described in Claim 6 wherein N is equal to 256 and M is equal to 32.
8. In a computer system including a source display having an array of pixels, each pixel having an associated color value, and said system including a destination display having an array of pixels each pixel having an associated color value, a method for converting a given source color value into a destination color value, said source color value belonging to a set of N color values, where N is an integer, and said destination color value belonging to a set of M color values, where M is an integer and M < N, said method comprising the steps of: providing a memory means for storing said set of M destination color values, each of said M destination color values having an associated address; providing a memory means for storing a dither matrix, said dither matrix comprising dither values, the maximum value of said dither values being equal to X, where X is an integer, said dither matrix having a particular configuration; providing a memory means for storing an index table, said index table comprising each of said associated addresses of said M destination color values, said index table having (N - 1) + X allowable input addresses; adding one of said dither values to said given source color value so as to generate a dithered color value; accessing said index table with said dithered color value such that said index table provides one of said associated addresses; accessing said first memory with said one of said associated addresses causing said first memory to provide said destination color value.
9. The method as described in Claim 8 wherein said dither matrix comprises a blue noise 4 x 4 dither matrix.
10. The method as described in Claim 9 wherein N is equal to 256 and M is equal to 32.
11. In a computer system including a source display having an array of pixels, each pixel having an associated source color value, each source color value having more than one component, each component having an associated color component value, and said system including a destination display having an array of pixels each pixel having an associated destination color value, a method for converting a given source color value into a destination color value, each of said color component values belonging to a set of N color values, where N is an integer, and said destination color value belonging to a set of M color values, where M is an integer and M < N, said method comprising the steps of: providing a memory means for storing said set of M destination color values, each of said M destination color values having an associated address; providing a memory means for storing a dither matrix, said dither matrix comprising dither values, the maximum value of said dither values being equal to X, where X is an integer, said dither matrix having a particular configuration; providing a plurality of memory means for storing a plurality of index tables, each of said index tables corresponding to one of said color components, each of said index tables comprising a portion of said associated address, said each of said index tables having (N - 1) + X allowable input addresses; adding one of said dither values to each component color value for said given source color value so as to generate a dithered color value for each color component; accessing said each of said index tables with a corresponding dithered color value such that said each of said index tables provides a portion of said associated address; accessing said first memory with said portion of said associated address from said each of said index tables causing said first memory to provide said destination color value.
12. The system as described in Claim 1 1 wherein said given source color value has three corresponding components.
13. The system as described in Claim 12 wherein said dither matrix comprises a blue noise 4 x 4 dither matrix.
14. The system as described in Claim 13 wherein N is equal to 256 and M is equal to 32.
PCT/US1995/011758 1994-09-16 1995-09-14 A color correction system and method utilizing dithering WO1996008917A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU35901/95A AU3590195A (en) 1994-09-16 1995-09-14 A color correction system and method utilizing dithering

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US30596194A 1994-09-16 1994-09-16
US08/305,961 1994-09-16

Publications (1)

Publication Number Publication Date
WO1996008917A1 true WO1996008917A1 (en) 1996-03-21

Family

ID=23183123

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1995/011758 WO1996008917A1 (en) 1994-09-16 1995-09-14 A color correction system and method utilizing dithering

Country Status (2)

Country Link
AU (1) AU3590195A (en)
WO (1) WO1996008917A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998055965A1 (en) * 1997-06-04 1998-12-10 Oak Technology, Inc. Apparatus and method for optimizing memory usage while processing graphics images
EP1011263A2 (en) * 1998-12-11 2000-06-21 Xerox Corporation A method of color correction using multi-level halftoning

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3315507A1 (en) * 1982-04-30 1983-11-03 Canon K.K., Tokyo COLOR IMAGE REPRODUCTION DEVICE
EP0359080A2 (en) * 1988-09-16 1990-03-21 International Business Machines Corporation A display using ordered dither
US5111310A (en) * 1990-12-04 1992-05-05 Research Technologies Corporation, Inc. Method and apparatus for halftone rendering of a gray scale image using a blue noise mask
EP0543511A1 (en) * 1991-11-19 1993-05-26 Crosfield Electronics Limited Method and apparatus for data conversion
US5377041A (en) * 1993-10-27 1994-12-27 Eastman Kodak Company Method and apparatus employing mean preserving spatial modulation for transforming a digital color image signal

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3315507A1 (en) * 1982-04-30 1983-11-03 Canon K.K., Tokyo COLOR IMAGE REPRODUCTION DEVICE
EP0359080A2 (en) * 1988-09-16 1990-03-21 International Business Machines Corporation A display using ordered dither
US5111310A (en) * 1990-12-04 1992-05-05 Research Technologies Corporation, Inc. Method and apparatus for halftone rendering of a gray scale image using a blue noise mask
EP0543511A1 (en) * 1991-11-19 1993-05-26 Crosfield Electronics Limited Method and apparatus for data conversion
US5377041A (en) * 1993-10-27 1994-12-27 Eastman Kodak Company Method and apparatus employing mean preserving spatial modulation for transforming a digital color image signal

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998055965A1 (en) * 1997-06-04 1998-12-10 Oak Technology, Inc. Apparatus and method for optimizing memory usage while processing graphics images
EP1011263A2 (en) * 1998-12-11 2000-06-21 Xerox Corporation A method of color correction using multi-level halftoning
EP1011263A3 (en) * 1998-12-11 2002-05-15 Xerox Corporation A method of color correction using multi-level halftoning

Also Published As

Publication number Publication date
AU3590195A (en) 1996-03-29

Similar Documents

Publication Publication Date Title
US5455600A (en) Method and apparatus for mapping colors in an image through dithering and diffusion
EP0606993B1 (en) Colour gamut clipping
CA1306299C (en) Display using ordered dither
EP0606988B1 (en) Parallel error diffusion method and apparatus
EP0840978B1 (en) Method and apparatus for providing bit-rate reduction and reconstruction of image data using dither arrays
US5489996A (en) Image recording apparatus
JP3737149B2 (en) Color image generation system and method
US5377041A (en) Method and apparatus employing mean preserving spatial modulation for transforming a digital color image signal
US5111286A (en) Image processing
JPH09271036A (en) Method and device for color image display
US5596510A (en) Table-based linear interpolation for color correction system and method
EP0862140B1 (en) Method for tristimulus color data non-linear storage, retrieval and interpolation
US6115031A (en) Method of converting color values
JPH0564110A (en) Video signal correction device and display device using the same
JPH08249465A (en) Method for formation of multilevel halftone image from input digital image
WO2001041049A1 (en) System and method for rapid computer image processing with color look-up table
US5666436A (en) Method and apparatus for transforming a source image to an output image
US5732151A (en) Computerized memory mapping method for transforming color data
US6002795A (en) Method and apparatus for transforming a source image to an output image
US5854633A (en) Method of and system for dynamically adjusting color rendering
WO1996008917A1 (en) A color correction system and method utilizing dithering
EP0606994B1 (en) Noise quenching method and apparatus for a colour display system
EP0543511A1 (en) Method and apparatus for data conversion
US6933949B1 (en) Method for interpolation of tristimulus color data
AU674037B2 (en) Colour gamut clipping

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AM AT AU BB BG BR BY CA CH CN CZ DE DK EE ES FI GB GE HU IS JP KE KG KP KR KZ LK LR LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TT UA UG US UZ VN

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE MW SD SZ UG AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: CA

122 Ep: pct application non-entry in european phase