WO2001017233A1 - Visually error-free color image representation - Google Patents

Visually error-free color image representation Download PDF

Info

Publication number
WO2001017233A1
WO2001017233A1 PCT/US2000/022946 US0022946W WO0117233A1 WO 2001017233 A1 WO2001017233 A1 WO 2001017233A1 US 0022946 W US0022946 W US 0022946W WO 0117233 A1 WO0117233 A1 WO 0117233A1
Authority
WO
WIPO (PCT)
Prior art keywords
values
colorspace
color
rgb
expanded
Prior art date
Application number
PCT/US2000/022946
Other languages
French (fr)
Other versions
WO2001017233A9 (en
Inventor
Ikko Fushiki
Hock San Lee
J. Andrew Goossen
Gary K. Starkweather
Andrew C. Godfrey
Original Assignee
Microsoft Corporation
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
Priority claimed from US09/384,141 external-priority patent/US7158670B1/en
Application filed by Microsoft Corporation filed Critical Microsoft Corporation
Priority to AU67941/00A priority Critical patent/AU6794100A/en
Publication of WO2001017233A1 publication Critical patent/WO2001017233A1/en
Publication of WO2001017233A9 publication Critical patent/WO2001017233A9/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/6058Reduction of colour to a range of reproducible colours, e.g. to ink- reproducible colour gamut

Definitions

  • the present invention relates to colorspace interchange and more particularly, to providing substantially visually error-free color data interchange for a plurality of electronic devices.
  • Different phosphor sets are being used to provide the colors of "red”, “green”, and “blue". For example, where a monitor may illustrate a pink color, and the user selects the pink color, the printer printing the selection may print out an ugly purple/lavender. Thus, different values on chromaticity diagrams represent a same color, providing confusion. Tone reproduction of various systems also differ. Also, viewing conditions may vary, causing colors to appear different to different observers. Thus, due to differing visual conditions, the color of the illuminant (the white point), the absolute level of the scene irradiance (generally the illuminance), the surrounding colors, etc., all affect the color perception unless the initial and final conditions are identical.
  • the chromaticity diagram has been developed by the Commission Internationale de l'Eclairage (CEE), or International Commission on Illumination, to provide a common chromaticity value for colors.
  • CEE Commission Internationale de l'Eclairage
  • the displayable colors by a laser device are shown as a triangle ABC, with points A 102, B 104, and C 106.
  • color values for a device should cover a triangle having an area that extends over the entire visible range.
  • the triangle covered for color values of a Canon CLC500 color copier/printer 202 is shown along with the old RGB color values (Genl. RGB) 204, the first PC color monitors and the sRGB values 206.
  • Cathode display tubes CRTs
  • color flat panels both active and passive matrix types
  • HDTVs high definition televisions
  • sRGB chromaticity diagrams lacks a range of gamut that includes all colors, and conversion of sRGB color data values is non-linear, thus often resulting in undesired results.
  • color management technology is needed to facilitate color data interchange in the marketplace so that color devices may conveniently exchange color data in a common format without the need to translate constantly between color spaces because of different data representations in various devices.
  • the present invention provides complete color representation for substantially the entire visual gamut and represents all colors substantially without visual error. That is, representation of substantially all visible colors typically perceived by the human eye is defined herein as representation of the colors ''without visual error"or “visually error free”, including representing visually perceptible data values.
  • the present invention provides an apparatus, method and computer-readable medium for converting digital signals for a color image into high quality error-free expanded colorspace color images.
  • a normalized RGB colorspace is defined for color values from 0 to 1.
  • An expanded RGB/RGB A or expanded sRGB/sRGBA colorspace is defined herein to include color values below 0 and/or greater than 1.
  • the present invention eliminates the need for users to "clamp" color information into the predetermined range than are needed to fully describe the color. For example, where color data information is limited to an-8 bit range of 0 to 255, and a color value of 300 is obtained, data may be "clamped" into the range of 0 to 255, causing color data loss and distortion.
  • the method includes obtaining color values; mapping the color values to one of: an expanded RGB RGBA or an expanded sRGB/sRGBA space; and labeling an image determined by mapped color values as an expanded RGB RGBA or expanded sRGB/sRGBA colorspace image.
  • the expanded RGB/RGBA or sRGB/SRGBA space may include at least the visible range of color values.
  • the expanded RGB/RGBA or sRGB/SRGB A space may be described as a colorspace defined by a chromaticity diagram that extends into negative component values and beyond 1.0 when normalized to 1.0 in RGB or sRGB, respectively.
  • RGB/RGBA is defined to be interchangeable with the terms “RGB/ARGB” or “RGB/RGB(A)' ⁇ That is, there is no distinction between the recited terms, and no specific ordering of elements is indicated by the
  • Mapping the color values to an expanded RGB/RGBA or expanded sRGB/sRGB A space may include utilizing multiplication of Ro,Go,B 0 values by a predetermined matrix, where the Ro,G 0 ,and B 0 values denote normalized red, green and blue components for a color value.
  • the Ro,G 0 ,Bo values may be predetermined based on X, Y and Z values, where X, Y, and Z denote 1931 CIE XYZ values whose Y value has been normalized to 1.
  • the Ro,Go,and B 0 values denote normalized red, green and blue components for a color value
  • the Ro,Go,and Bo values may simply be multiplied by 8192 to obtain the 16 bit components Ri 6 , G 16 , andBi 6 .
  • a sign, integer and decimal portion may be set forth, and where selected, transparency information may be stored. Clipping may be used to convert 16 bit values to 8 bit values.
  • color data values may be non-premultiplied, premultiplied, or normalized premultiplied.
  • a method for providing high quality error- free conversion of color images from measured color values includes the steps of: mapping the color values to an expanded colorspace wherein the expanded colorspace includes values beyond a visible range of color values and labeling an image determined by the color values mapped to the expanded colorspace as an expanded colorspace image.
  • the methods may each be implemented as steps of computer-executable instructions in a computer-readable medium.
  • the apparatus includes an expanded colorspace mapper and an image labeller.
  • the expanded colorspace mapper is used for mapping the digital signals to expanded colorspace values wherein the expanded colorspace values include values beyond a visible range of color values.
  • the image labeller is coupled to the expanded colorspace mapper and is used for labeling an image determined by expanded colorspace values as an expanded colorspace image.
  • the apparatus may be adjusted fiirther in accordance with the description above.
  • Figure 1 is a schematic graphical representation of a laser display colorspace upon a CIE colorspace that shows the full gamut of the visual spectrum as is known in the art.
  • Figure 2 is a schematic graphical representation of colorspaces for a representative Canon CLC500 color copier/printer, General RGB color values, and sRGB values upon a CIE colorspace diagram as is known in the art.
  • Figure 3 is a schematic graphical representation of one embodiment of a colorspace in accordance with the present invention.
  • Figure 4 is a flow chart showing steps in accordance with one embodiment of the method and a computer-readable medium for implementing the present invention.
  • Figure 5 is a flow chart showing steps in accordance with another embodiment of the method and a computer-readable medium for implementing the present invention.
  • Figure 6 is a block diagram of one embodiment of an apparatus in a digitized image processing system for converting color images in accordance with the present invention.
  • Figure 7 is a block diagram of a computer system that may be used to implement the method of the present invention.
  • Figure 8 is a flow chart showing one embodiment of steps of a method of representing color in images using color data values for an expanded colorspace substantially without visually perceptible error in accordance with the present invention.
  • Figure 9 is a flow chart show one embodiment of steps of the method of the present invention providing for representing at least one of: super transparent and super opaque colors using an alpha channel.
  • color data values may be expressed in a signed 16-bit integer (13 bits are used for decimals) with a triangle corresponding to (3.24, -0.97, 0.06), (-1.54, 1.88, -0.20), and (-0.50, 0.04, 1.01), thus covering each component within -4 to 4.
  • the present invention's gamut is larger than the visible color space.
  • the data scheme of the present invention is also known as “sRGB64.
  • "XsRGB” will be used hereafter to represent the color data scheme of either XsRGB or sRGB64.
  • Advanced graphic systems require anti-aliasing features (removing ragged edges) and blending (translucency) effects. To achieve these anti-aliasing features and blending effects, an extra component called an "alpha channel” was introduced. To utilize the alpha channel, the linear color components must be expressed in terms of their intensities.
  • sRGB and other color management systems typically store color data values in non-linear 8-bit values per channel.
  • the non-linearity is expressed as a "gamma value".
  • Microsoft's and Apple's color management systems are 2.2 and 1.8, respectively.
  • 8 bits were available for color data value representation, it was necessary to convert the color data non- linearly, creating a large gap in the lower intensity values and causing the resulting images to show contours.
  • the size of each component is extended to higher bit (12 bit or higher), the non-linearity requirement is eliminated.
  • color profiles do not require clipping to a narrower gamut and component values do not have to be non-linearized, avoiding confusion of different gamma values in different color standards.
  • color values are standardized, standard images may be stored in the XsRGB format without attaching a standardized profile such as an ICC (International Color Consortium) profile to clarify the colors intended.
  • an alpha channel may be implemented to store information on transparency.
  • the color values may be premultiplied by alpha channel values to provide efficient blending.
  • XsRGB is linear in the visual intensity of each component. Hence, XsRGB can relate
  • R 0 ,G 0 , and B 0 denote the normalized red, green, and
  • the transitional part (t R , etc.) is used. With this notation, the white point may be addressed as
  • RGB components A 16 bit definition of RGB components is given by:
  • D50 and D65 are the standard illuminans (the spectrum distributions of the light source) defined by CIE.
  • D50 and D65 are the spectrum distributions similar to the Black Body radiation of 5000 and 6500 Kelvin, respectively. Indeed, it is desirable for XsRGB to be identical to sRGB when its value is inside the range.of sRGB. From the sRGB specification, the coefficients of Eq. (lb) and Eq. (2b) are determined as:
  • the appearance match is obtained if the XsRGB values are calculated from the conversion matrix of the device white point.
  • the absolute match may be obtained if the conversion matrix of D65 is used irrespective of the device white point.
  • the absolute RGB value is obtained from the appearance RGB value by the following equation:
  • the new XsRGB device may be produced by adding the matrix conversion routines to the existing colorimeters. XsRGB values may be-measured directly from the device. The device may produce the appearance RGB values and the absolute RGB values.
  • the above conversions correspond to clipping below 0 and above 8192 of the 16 bit XsRGB when converting to 8 bit sRGB.
  • the clipping routine may be further modified as desired.
  • Ci 6 2.4865 C 8 for 0 ⁇ C 8 ⁇ 10
  • Ci ⁇ 8.192 x [(C 8 + 14.025)/269.025] 24 for 11 ⁇ C 8 ⁇ 255 . (12)
  • sRGB in accordance with the present invention provides a number of advantages. For example, blending operations with an alpha channel may be directly applied to XsRGB since XsRGB is linear.
  • the XsRGB profiles may easily be obtained from the CIE XYZ profiles.
  • XsRGB is used for color reference, there is no need to rotate color components to display each component in an 8 bit sRGB device. Only gamma correction described in (Eq. 12) above need be used to convert to 8 bit sRGB. Even without an exact calibration, XsRGB yields satisfactory conversion for output for color monitors.
  • the scanned images may generally be stored in XsRGB format without losing bit depths since most scanners produce data in not more than 12 bits in each color component.
  • the alpha channel is also utilized for transparency information, the present invention is referenced as "XsRGB A".
  • XsRGB A the additional 16 bit components are used as the alpha channel to store transparency information.
  • a 0 is considered in the following way.
  • s, d, and d 4 are one of the normalized color components of the image S,D, and D' at the corresponding pixels, respectively, and a is the alpha value of the source image S at the considering pixel.
  • a 0, the resultant image remains the same as the destination image. This case is called transparent.
  • a is between 0 and 1
  • the resultant image is the mixed image between the source and destination images.
  • Eq. (13) may be regarded as the inte ⁇ olation equation. Hence, when a ⁇ 0 or a > 1, Eq.
  • the alpha value is an inte ⁇ olation/ extrapolation parameter, a may be smaller than 0 or larger than 1.
  • a ⁇ 0 is defined as "super transparent” and a > 1 is defined as "super opaque.”
  • colors with the super transparent or super opaque alpha value may fall within an RGB space or outside the RGB space.
  • Figure 4 is a flow chart showing steps in accordance with one embodiment of the method of the present invention.
  • the method provides high quality error-free conversion of color images and includes the steps of: obtaining 402 color values; mapping 404 the color values to an expanded sRGB/sRGB A space; and labeling 406 an image determined by mapped color values as an expanded sRGB/sRGBA colorspace image.
  • Obtaining 402 the color values may be simply receiving input color values; alternatively, obtaining 402 color values may include measuring the color values.
  • the expanded sRGB or sRGBA space typically includes at least the visible range of color values.
  • the expanded sRGB or sRGBA space generally includes a colorspace defined by a chromaticity diagram that extends into negative component values and beyond 1.0 when normalized to 1.0 in sRGB.
  • mapping 404 the color values to an expanded sRGB or sRGBA space generally includes a colorspace defined by a chromaticity diagram that extends into negative component values and beyond 1.0 when normalized to 1.0 in sRGB.
  • sRGB or sRGBA space may include utilizing multiplication of R ,G' 0 , and B values by a
  • R , G , and B values denote normalized red, green and blue
  • the i?' 0 ,G , , and _5' 0 values are obtained
  • mapping may include clipping the 16 bit values below 0 and above 8192 to convert the 16 bit values to 8 bit values
  • the color data values may be non-premultiplied, premultiplied or normalized premultiplied color data values.
  • Figure 5 shows another embodiment of steps in accordance with the method of the present invention.
  • the method provides high quality error-free conversion of color images from measured color values.
  • the method includes the steps of: mapping 502 the color values to an expanded colorspace wherein the expanded colorspace includes values beyond a visible range of color values; and labeling 504 an image determined by the color values mapped to the expanded colorspace as an expanded colorspace image.
  • the expanded colorspace may include a colorspace defined by a chromaticity diagram that extends into negative component values and beyond 1.0 when normalized to 1.0 in sRGB. Mapping the
  • bit color data values are utilized, the bits may be allocated as set forth above, and 16 bit
  • components R 6 , G 16 , and B l6 of color data values may also be computed as set forth above.
  • FIG. 6 is a block diagram of one embodiment of an apparatus in a digitized image processing system for converting color images in accordance with the present invention.
  • an image digitizer 604 that utilizes color image information to output digital signals representing a color image to the apparatus 606 that converts the digital signals to a high quality error- free expanded colorspace color image.
  • the apparatus 606 includes: an expanded colorspace mapper 608, for mapping the digital signals to expanded colorspace values wherein the expanded colorspace values include values beyond a visible range of color values; and an image labeller 610, coupled to the expanded colorspace mapper 608, for labeling an image determined by expanded colorspace values as an expanded colorspace image.
  • the expanded colorspace may include a colorspace defined by a chromaticity diagram that extends into negative component values and beyond 1.0 when normalized to 1.0 in sRGB.
  • expanded colorspace mapper may utilize multiplication of R 0 ,G 0 , B 0 values by a predetermined
  • the R 0 , G 0 , B 0 values may be
  • RGB/RGBA colorspace Three examples of color operations in the expanded RGB/RGBA colorspace include:
  • R z A x R x + (l-A x )R y
  • G z A x G x +Q-A x )G y
  • a z A x A x +(l - A x )A y
  • a blur filter matrix M is given by :
  • the blur equation is for each color component. Assuming a RGB color component of a pixel at location (i, j) is C(i j), the resulting RGB color component of the pixel after the blur operation is given by:
  • an exemplary system for implementing the invention includes a general piupose computing device in the form of a conventional personal computer 720, including a processing unit/processor 721, a system memory 722, and a system bus 723 that couples various system components including the system memory to the processing unit/processor 721.
  • the system bus 723 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • the system memory includes read only memory (ROM) 724 and random access memory (RAM) 725.
  • ROM read only memory
  • RAM random access memory
  • a basic input/output system 726 (BIOS) containing the basic routines that helps to transfer information between elements within the personal computer 720, such as during start-up, is stored in ROM 724.
  • the personal computer 720 further includes a hard disk drive 727 for reading from and writing to a hard disk, not shown, a magnetic disk drive 728 for reading from or writing to a removable magnetic disk 729, and an optical disk drive 730 for reading from or writing to a removable optical disk 731 such as a CD ROM or other optical media.
  • the hard disk drive 727, magnetic disk drive 728, and optical disk drive 730 are connected to the system bus 723 by a hard disk drive interface 732, a magnetic disk drive interface 733, and an optical drive interface 734, respectively.
  • the drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the personal computer 720.
  • exemplary environment described herein employs a hard disk, a removable magnetic disk 729 and a removable optical disk 731 , it should be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories (RAMs), read only memories (ROMs), and the like, may also be used in the exemplary operating environment.
  • RAMs random access memories
  • ROMs read only memories
  • a number of program modules may be stored on the hard disk, magnetic disk 729, optical disk 31, ROM 724, or RAM 725, including an operating system 735, one or more application programs 736, other program modules 737 and program data 738.
  • a user may enter commands and information into the personal computer 720 through input devices such as a keyboard 740 and pointing device 742.
  • Other input devices may include a microphone, joystick, game pad, satellite dish, scanner or the like.
  • serial port interface 746 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or a universal serial bus (USB).
  • a monitor 747 or other type of display device is also connected to the system bus 723 via an interface, such as a video adapter 748.
  • personal computers typically include other peripheral output devices (not shown) such as speakers and printers.
  • the personal computer 720 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 749.
  • the remote computer 749 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the personal computer 720, although only a memory storage device 750 has been illustrated in Figure 7.
  • the logical connections depicted in Figure 7 include a local area network (LAN) 751 and a wide area network (WAN) 752.
  • LAN local area network
  • WAN wide area network
  • the personal computer 720 When used in a LAN networking environment, the personal computer 720 is connected to the local network 751 through a network interface or adapter 753. When used in a WAN networking environment, the personal computer 720 typically includes a modem 754 or other means for establishing communications over the wide are network 752, such as the Internet.
  • the modem 754 which may be internal or external, is connected to the system bus 723 via the serial port interface 746.
  • program modules depicted relative to the personal computer 720, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing communications between the computers may be used.
  • the present invention provides a method of representation of color in images using color data values for an expanded colorspace, e.g., an expanded
  • the method includes the steps ofirepresenting 802 the color data values as perceptually visible data values in an expanded RGB/RGBA space and labeling 804 an image determined by the perceptually visible data values as an expanded RGB/RGBA colorspace image.
  • the method may also include mapping 806 the perceptually visible data values of the image to color data values of another selected destination colorspace. Where the perceptually visible data values may lie outside a predetermined range, the mapping may include clipping the perceptually visible data values for the selected destination colorspace. Mapping may include utilizing a predetermined transformation function that maps the perceptually visible data values to color data values in the selected destination colorspace.
  • the expanded RGB/RGBA colorspace is linear in visual intensity.
  • the method of the present invention provides for representing at least one of: super transparent and super opaque colors using an alpha channel.
  • the method includes the steps of: representing 902 color data values as perceptually visible super transparent/super opaque data values in a colorspace and labeling 904 an image dete ⁇ nined by the perceptually visible super transparent/super opaque data values as a super transparent/super opaque colorspace image.
  • Color operations defined in the RGB/RGBA colorspace may be extended to the expanded RGB/RGBA colorspace.
  • the alpha channel includes 16 bits to provide increased precision.

Abstract

The present invention provides a method, apparatus and computer-readable medium for providing high quality substantially visually error-free conversion of color images. The method maps the color values to an expanded colorspace to represent substantially all colors without perceptible visual error and labels an image determined by the mapped color values as an expanded colorspace image. Thus, the present invention may be utilized to provide a linear color management system. In a 16 bit color data value system, transparency/opaqueness information may be stored, and premultiplied or premultiplied and normalized values may be used for blending.

Description

VISUALLY ERROR-FREE COLOR IMAGE REPRESENTATION
Technical Field
The present invention relates to colorspace interchange and more particularly, to providing substantially visually error-free color data interchange for a plurality of electronic devices.
Background o f the Invention
Communication of color information between different devices and industries has become recognized as an important issue. Each industry generally has its own color management history, with its own terminology standards and methods for communicating color information. As more users are connecting different peripheral devices made by different companies and, in addition, communicate with one another over the Internet, it is becoming more urgent to have a standardized color data management scheme that provides consistent color data management. Many different practices and standards are currently being used.
Different phosphor sets are being used to provide the colors of "red", "green", and "blue". For example, where a monitor may illustrate a pink color, and the user selects the pink color, the printer printing the selection may print out an ugly purple/lavender. Thus, different values on chromaticity diagrams represent a same color, providing confusion. Tone reproduction of various systems also differ. Also, viewing conditions may vary, causing colors to appear different to different observers. Thus, due to differing visual conditions, the color of the illuminant (the white point), the absolute level of the scene irradiance (generally the illuminance), the surrounding colors, etc., all affect the color perception unless the initial and final conditions are identical. Unless a white point and illuminance level are the same, the color interchange data may not be identical. Previous color data conversion methods have required the use of cube root computation or raising values to the third power. To store data, every pixel had to be converted using a set of power function routines. This process is time-consuming, consumes processing power, and may introduce errors. Other techniques, such as is described in U.S. Patent No. 5,224,178, by Madden et al., provide for compressing digital code values to provide a set of reduced range digital codes of a same resolution, but having a smaller range of basic image content values than the dynamic range of the digitized image data base.
As shown in Figure 1 the chromaticity diagram has been developed by the Commission Internationale de l'Eclairage (CEE), or International Commission on Illumination, to provide a common chromaticity value for colors. The displayable colors by a laser device are shown as a triangle ABC, with points A 102, B 104, and C 106. Ideally, color values for a device should cover a triangle having an area that extends over the entire visible range. However, as shown in Figure 2, the triangle covered for color values of a Canon CLC500 color copier/printer 202 is shown along with the old RGB color values (Genl. RGB) 204, the first PC color monitors and the sRGB values 206. While some of the cyan colors are limited by sRGB, the brightest greens and reds are output device limited, but not sRGB limited. Clearly, calculations must be used to convert values of the color copier/printer 202 colors to the ordinary CRT colors (sRGB values) Although lasers have virtually monochromatic output and the primaries of the laser would reside on the spectrum locus of the CIE (International Commission on Illumination) diagram of Figure 1, showing 2 degree observer data, typically devices do not have the gamut to display the laser colorspace. Thus, data in a laser display colorspace would have to be converted for display and printing.
Cathode display tubes (CRTs) , color flat panels (both active and passive matrix types) and high definition televisions (HDTVs) provide chromaticity diagrams that are similar to the CRT model shown in Figure 2. However, the sRGB chromaticity diagram lacks a range of gamut that includes all colors, and conversion of sRGB color data values is non-linear, thus often resulting in undesired results.
Thus, color management technology is needed to facilitate color data interchange in the marketplace so that color devices may conveniently exchange color data in a common format without the need to translate constantly between color spaces because of different data representations in various devices.
Summary of the Invention The present invention provides complete color representation for substantially the entire visual gamut and represents all colors substantially without visual error. That is, representation of substantially all visible colors typically perceived by the human eye is defined herein as representation of the colors ''without visual error"or "visually error free", including representing visually perceptible data values.
The present invention provides an apparatus, method and computer-readable medium for converting digital signals for a color image into high quality error-free expanded colorspace color images. A normalized RGB colorspace is defined for color values from 0 to 1. An expanded RGB/RGB A or expanded sRGB/sRGBA colorspace is defined herein to include color values below 0 and/or greater than 1. By extending the colorspace, the present invention eliminates the need for users to "clamp" color information into the predetermined range than are needed to fully describe the color. For example, where color data information is limited to an-8 bit range of 0 to 255, and a color value of 300 is obtained, data may be "clamped" into the range of 0 to 255, causing color data loss and distortion.
In one embodiment, the method includes obtaining color values; mapping the color values to one of: an expanded RGB RGBA or an expanded sRGB/sRGBA space; and labeling an image determined by mapped color values as an expanded RGB RGBA or expanded sRGB/sRGBA colorspace image. The expanded RGB/RGBA or sRGB/SRGBA space may include at least the visible range of color values. Also, the expanded RGB/RGBA or sRGB/SRGB A space may be described as a colorspace defined by a chromaticity diagram that extends into negative component values and beyond 1.0 when normalized to 1.0 in RGB or sRGB, respectively. With respect to terminology, as used herein, "RGB/RGBA" is defined to be interchangeable with the terms "RGB/ARGB" or "RGB/RGB(A)'\ That is, there is no distinction between the recited terms, and no specific ordering of elements is indicated by the
terminology.
Mapping the color values to an expanded RGB/RGBA or expanded sRGB/sRGB A space may include utilizing multiplication of Ro,Go,B0 values by a predetermined matrix, where the Ro,G0,and B0 values denote normalized red, green and blue components for a color value. The Ro,G0,Bo values may be predetermined based on X, Y and Z values, where X, Y, and Z denote 1931 CIE XYZ values whose Y value has been normalized to 1. Where the Ro,Go,and B0 values denote normalized red, green and blue components for a color value, the Ro,Go,and Bo values may simply be multiplied by 8192 to obtain the 16 bit components Ri6, G16, andBi6. Where 16 bits are used for color data values, a sign, integer and decimal portion may be set forth, and where selected, transparency information may be stored. Clipping may be used to convert 16 bit values to 8 bit values. As desired, color data values may be non-premultiplied, premultiplied, or normalized premultiplied.
In a second embodiment, in a digitized image processing system in which an image digitizer outputs digital signals representing an image, a method for providing high quality error- free conversion of color images from measured color values includes the steps of: mapping the color values to an expanded colorspace wherein the expanded colorspace includes values beyond a visible range of color values and labeling an image determined by the color values mapped to the expanded colorspace as an expanded colorspace image. The modifications described for the above method may be implemented in the method set forth for the second embodiment.
The methods may each be implemented as steps of computer-executable instructions in a computer-readable medium.
In a digitized image processing system in which an image digitizer outputs digital signals representing a color image to an apparatus that converts the digital signals to a high quality error-
free expanded colorspace color image, the apparatus includes an expanded colorspace mapper and an image labeller. The expanded colorspace mapper is used for mapping the digital signals to expanded colorspace values wherein the expanded colorspace values include values beyond a visible range of color values. The image labeller is coupled to the expanded colorspace mapper and is used for labeling an image determined by expanded colorspace values as an expanded colorspace image. The apparatus may be adjusted fiirther in accordance with the description above.
Brief Description of the Drawings Figure 1 is a schematic graphical representation of a laser display colorspace upon a CIE colorspace that shows the full gamut of the visual spectrum as is known in the art.
Figure 2 is a schematic graphical representation of colorspaces for a representative Canon CLC500 color copier/printer, General RGB color values, and sRGB values upon a CIE colorspace diagram as is known in the art.
Figure 3 is a schematic graphical representation of one embodiment of a colorspace in accordance with the present invention.
Figure 4 is a flow chart showing steps in accordance with one embodiment of the method and a computer-readable medium for implementing the present invention.
Figure 5 is a flow chart showing steps in accordance with another embodiment of the method and a computer-readable medium for implementing the present invention.
Figure 6 is a block diagram of one embodiment of an apparatus in a digitized image processing system for converting color images in accordance with the present invention. Figure 7 is a block diagram of a computer system that may be used to implement the method of the present invention. Figure 8 is a flow chart showing one embodiment of steps of a method of representing color in images using color data values for an expanded colorspace substantially without visually perceptible error in accordance with the present invention.
Figure 9 is a flow chart show one embodiment of steps of the method of the present invention providing for representing at least one of: super transparent and super opaque colors using an alpha channel.
Detailed Description of the Invention As shown in Figure 3, extending the range of color data values for the chromaticity diagram for sRGB beyond 1.0 and below 0.0 on the x and y axes is illustrated by the triangle DEF 302, 304, 306, so that the present invention provides a chromaticity diagram that encompasses all visible color values. For example, in one embodiment, color data values may be expressed in a signed 16-bit integer (13 bits are used for decimals) with a triangle corresponding to (3.24, -0.97, 0.06), (-1.54, 1.88, -0.20), and (-0.50, 0.04, 1.01), thus covering each component within -4 to 4.
By allowing the component of each primary color to be negative and to extend beyond 1.0 (when normalized to 1.0 in sRGB), the present invention's gamut is larger than the visible color space. The data scheme of the present invention,"XsRGB", is also known as "sRGB64. "XsRGB" will be used hereafter to represent the color data scheme of either XsRGB or sRGB64. Advanced graphic systems require anti-aliasing features (removing ragged edges) and blending (translucency) effects. To achieve these anti-aliasing features and blending effects, an extra component called an "alpha channel" was introduced. To utilize the alpha channel, the linear color components must be expressed in terms of their intensities. However, sRGB and other color management systems typically store color data values in non-linear 8-bit values per channel. The non-linearity is expressed as a "gamma value". For example, Microsoft's and Apple's color management systems are 2.2 and 1.8, respectively. When only 8 bits were available for color data value representation, it was necessary to convert the color data non- linearly, creating a large gap in the lower intensity values and causing the resulting images to show contours. However, when the size of each component is extended to higher bit (12 bit or higher), the non-linearity requirement is eliminated. Thus, in an embodiment with 12 or more bits for each component, color profiles do not require clipping to a narrower gamut and component values do not have to be non-linearized, avoiding confusion of different gamma values in different color standards. Since, in this embodiment, color values are standardized, standard images may be stored in the XsRGB format without attaching a standardized profile such as an ICC (International Color Consortium) profile to clarify the colors intended. Where desired, an alpha channel may be implemented to store information on transparency. Also, where selected, the color values may be premultiplied by alpha channel values to provide efficient blending.
It is better to define XsRGB more generally by a 4x4 matrix. Also, there is a conversion rule for XsRGB with a different white point.
XsRGB is linear in the visual intensity of each component. Hence, XsRGB can relate
linearly to 1931 CIE XYZ values. Let R0,G0, and B0 denote the normalized red, green, and
blue components, respectively. Let X, Y, and Z denote 1931 CIE XYZ values, but Y is normalized to 1 instead of 100. The relationship between the normalized XsRGB and XYZ are given by a 4x4 matrix.
Figure imgf000010_0001
when
m RX m RY m RZ m
M = ax m GY m GZ (lb)
BX m BY m BZ 0 1
Only 12 coefficients are needed to define XsRGB. In addition to the rotational part (m^.ctc),
the transitional part (tR , etc.) is used. With this notation, the white point may be addressed as
well as the black point. Using the inverse of the above matrix, the reverse relation from XsRGB to CIE XYZ space is given by:
Figure imgf000010_0002
where
Figure imgf000010_0003
A 16 bit definition of RGB components is given by:
R 16 Rn
' 16 = 8192 x (2c)
B 16 Bn In equation (2c), no gamma corrections are required since a sufficient number of bits are available to describe the color data (here, 16 bits).
It is desirable for XsRGB to have a simple transform to sRGB in D65. D50 and D65 are the standard illuminans (the spectrum distributions of the light source) defined by CIE. D50 and D65 are the spectrum distributions similar to the Black Body radiation of 5000 and 6500 Kelvin, respectively. Indeed, it is desirable for XsRGB to be identical to sRGB when its value is inside the range.of sRGB. From the sRGB specification, the coefficients of Eq. (lb) and Eq. (2b) are determined as:
3.2410 -1.5374 -0.49860
-0.9692 1.8760 0.0416 0
Λ/ Dn«6S = (3a)
0.0556 -0.2040 1.0570 0
0 0 0 1
and
0.4124 0.3576 0.1805 0
0.2126 0.7152 0.0722 0
MD~ 65 = (3b)
0.0193 0.1192 0.9505 0
0 0 0 1
The white point of D65 is (x^, yD65) = (0.3127, 0.3291); the corresponding CIE XYZ values
are
/>« = *_>« /*_>« = 0.9502
^65 = 1-0 (4) ZD65 = (1.0 - xD65 - yD6S )/ y^ = 1.0887 Note that the Y-value at the white point is 1. When the device has the different white point
(Xw , Yw , Zw ) , the CIE XYZ coordinates for the appearance match must be transformed by the
scaling i Tiatrix.
Figure imgf000012_0001
and its inverse is
Figure imgf000012_0002
The transformation matrix from XYZ to XsRGB at this white point is given by
Figure imgf000012_0003
and its transverse matrix is given by
M: = S: M -1
£>65 (6b)
For an example, the white point of D50 is (xD50 , D50)= (0.3457,0.3585). The corresponding
CIE XYZ value is {XD50 , YD50 , ZD50 ) = (0.9643,1,0.8251). Hence the scaling matrices are
Figure imgf000012_0004
and
1.0148 0 0 0 c-i _ 0 1.0 0 0
4j D5Q (7b) 0 0 0.7579 0
0 0 0 1
The resultant transformation matrices for D50 are:
3.1937 -1.5374 -0.6579 0
-0.9550 1.8760 0.0549 0
MD50 = (8a) 0.0548 -0.2040 1.3947 0
0 0 0 1
and
Figure imgf000013_0001
The appearance match is obtained if the XsRGB values are calculated from the conversion matrix of the device white point. The absolute match may be obtained if the conversion matrix of D65 is used irrespective of the device white point.
Let (RW,GW,BW) denote the normalized RGB value obtained with the matrix Mw defined
in Eq. (6a) for the specific white point. The (RW,GW,BW) value is used to do the appearance
match and is called the appearance RGB value. When the absolute match is needed, the RGB
values (R0 ,G0,B0) are used by using the matrix MD6$ defined in Eq. (3a), which is called the
absolute RGB value. The absolute RGB value is obtained from the appearance RGB value by the following equation:
Figure imgf000014_0001
The reverse relation is obtained as:
Figure imgf000014_0002
Since the XsRGB space is directly linked to CIE XYZ space, it is possible to produce the XsRGB measuring device. The new XsRGB device may be produced by adding the matrix conversion routines to the existing colorimeters. XsRGB values may be-measured directly from the device. The device may produce the appearance RGB values and the absolute RGB values.
The default XsRGB space is the case of D65 that is linked to sRGB. Since there is no translational part, Eq. (la) with M = MDO5 can be written with a 3 x 3 matrix as
Rn 3.241 -1.5374 -0.4986 X -0.9692 1.8760 0.0416 Y (10)
B„ 0.0556 -0.2040 1.0570 Z
Allowing each component to go from -4 to 4 by X, Y, Z values, wherein X, Y, and Z denote 1931 CIE XYZ values wherein Y has been normalized to 1 instead of 100, covers a range larger than the range covered by XYZ. The equation (10) provides one embodiment of a floating point format for XsRGB. When the 16 bit version of XsRGB is
utilized, a signed 16 bit integer is used and 8192 (= 213 ) is inteφreted as 1 in the normalized
value. Hence, the lowest 13 bits are used for the decimal portion.
Conversion from 16 bit color data for the XsRGB format to an 8 bit sRGB format is as follows: Let C16 and C8 denote one of the components in 16 bit XsRGB format and 8 bit sRGB format, respectively. The relationships are: C0 ≡ C16 / 8192 (Corresponding to the normalized linear XsRGB)
C8 = 0 for CI6 < 0
C8 = 12.92 x C0 x 255 for 0 < C0 < 0.00304 (0 < C16 < 24)
Cg = (l.055 x C0 (l 0/ 2A) - 0.055)χ 255 for 0.00304 < C0 < 1 (25 < Cl6 < 8192)
C8 = 255 for C0 > 1 (C16 > 8192) (11)
The above conversions correspond to clipping below 0 and above 8192 of the 16 bit XsRGB when converting to 8 bit sRGB. The clipping routine may be further modified as desired.
The reverse relationships are: Ci6 = 2.4865 C8 for 0< C8 < 10
Ciβ = 8.192 x [(C8 + 14.025)/269.025]24 for 11 < C8 < 255 . (12)
The extension of sRGB in accordance with the present invention provides a number of advantages. For example, blending operations with an alpha channel may be directly applied to XsRGB since XsRGB is linear. The XsRGB profiles may easily be obtained from the CIE XYZ profiles. When XsRGB is used for color reference, there is no need to rotate color components to display each component in an 8 bit sRGB device. Only gamma correction described in (Eq. 12) above need be used to convert to 8 bit sRGB. Even without an exact calibration, XsRGB yields satisfactory conversion for output for color monitors. The scanned images may generally be stored in XsRGB format without losing bit depths since most scanners produce data in not more than 12 bits in each color component. Where the alpha channel is also utilized for transparency information, the present invention is referenced as "XsRGB A". For XsRGB A, the additional 16 bit components are used as the alpha channel to store transparency information.
Let us first introduce the normalized alpha channel . The values 0 and 1 of AQ are
regarded as transparent and opaque, respectively. The four components (A0,R0,G0,B0)
constitute one color value. Multiplying 8192 by each component the XsRGB A component
_416 , Rl6 , G 6 , _916 , called the non-premultiplied XsRGBA, is obtained and A^ , R0 , G0 , B0 ) is
called the normalized non-premultiplied XsRGBA .
When blending operations are processed, it is more efficient to use RGB values which are
multiplied by the alpha value. The four components (/_<, , R0 , GQ , B0 ), where R0 = AQRQ ,
G0 = AQGQ , and _50 = A0B0 , are called the normalized premultipUed XsRGB. Multiplying 8192
by each component, the XsRGB A component Al6,R'
Figure imgf000016_0001
is obtained. This is called the
premultiplied XsRGBA.
Each color component is allowed to go beyond 1 and go below 0. The meaning of alpha,
A0 , is considered in the following way. When a source image, S, is overlaid on the destination
image, D, the resultant image, D' , is obtained as
d' = as + (\ -a)d (13)
where s, d, and d4 are one of the normalized color components of the image S,D, and D' at the corresponding pixels, respectively, and a is the alpha value of the source image S at the considering pixel. When a — 0, the resultant image remains the same as the destination image. This case is called transparent. When a = 1 , the resultant image is the same as the source image. This case is called opaque. When a is between 0 and 1, the resultant image is the mixed image between the source and destination images. Usually a is a translucency parameter ranging from transparent (=0) to opaque (=1). However, Eq. (13) may be regarded as the inteφolation equation. Hence, when a< 0 or a > 1, Eq. (13) is very well defined and is extrapolating the source and destination images. The alpha value is an inteφolation/ extrapolation parameter, a may be smaller than 0 or larger than 1. a < 0 is defined as "super transparent" and a > 1 is defined as "super opaque." Clearly, colors with the super transparent or super opaque alpha value may fall within an RGB space or outside the RGB space.
Figure 4 is a flow chart showing steps in accordance with one embodiment of the method of the present invention. The method provides high quality error-free conversion of color images and includes the steps of: obtaining 402 color values; mapping 404 the color values to an expanded sRGB/sRGB A space; and labeling 406 an image determined by mapped color values as an expanded sRGB/sRGBA colorspace image. Obtaining 402 the color values may be simply receiving input color values; alternatively, obtaining 402 color values may include measuring the color values. The expanded sRGB or sRGBA space typically includes at least the visible range of color values. Thus, the expanded sRGB or sRGBA space generally includes a colorspace defined by a chromaticity diagram that extends into negative component values and beyond 1.0 when normalized to 1.0 in sRGB. Where selected, mapping 404 the color values to an expanded
sRGB or sRGBA space may include utilizing multiplication of R ,G'0 , and B values by a
predetermined matrix, where the R , G , and B values denote normalized red, green and blue
components for a color value. In one embodiment, the i?'0 ,G , , and _5'0 values are obtained
in accordance with equation (10) above. Where color data values have 16 bits, 1 bit is used for a sign, 2 bits are used for an integer part, and a remaining 13 bits are used for a decimal portion. Thel6 bit components R,6,G16, and _516 forthe color data values may be given by equation (2c).
Where color data values have been mapped to 16 bit values, mapping may include clipping the 16 bit values below 0 and above 8192 to convert the 16 bit values to 8 bit values As described above, the color data values may be non-premultiplied, premultiplied or normalized premultiplied color data values.
Figure 5 shows another embodiment of steps in accordance with the method of the present invention. In a digitized image processing system in which an image digitizer outputs digital signals representing an image, the method provides high quality error-free conversion of color images from measured color values. In this embodiment, the method includes the steps of: mapping 502 the color values to an expanded colorspace wherein the expanded colorspace includes values beyond a visible range of color values; and labeling 504 an image determined by the color values mapped to the expanded colorspace as an expanded colorspace image. Also, the expanded colorspace may include a colorspace defined by a chromaticity diagram that extends into negative component values and beyond 1.0 when normalized to 1.0 in sRGB. Mapping the
color values and obtaining the color values may be accomplished as set forth above. Where 16
bit color data values are utilized, the bits may be allocated as set forth above, and 16 bit
components R 6 , G16, and Bl6 of color data values may also be computed as set forth above.
Where desired, clipping, storage of transparency information and premultiplication of color data values may be achieved as discussed above. The above-described methods may be implemented by a computer-readable medium 408.
506 having computer-executable instructions for performing the steps.
Figure 6 is a block diagram of one embodiment of an apparatus in a digitized image processing system for converting color images in accordance with the present invention. In the digitized image processing system 602, an image digitizer 604 that utilizes color image information to output digital signals representing a color image to the apparatus 606 that converts the digital signals to a high quality error- free expanded colorspace color image. The apparatus 606 includes: an expanded colorspace mapper 608, for mapping the digital signals to expanded colorspace values wherein the expanded colorspace values include values beyond a visible range of color values; and an image labeller 610, coupled to the expanded colorspace mapper 608, for labeling an image determined by expanded colorspace values as an expanded colorspace image. The expanded colorspace may include a colorspace defined by a chromaticity diagram that extends into negative component values and beyond 1.0 when normalized to 1.0 in sRGB. The
expanded colorspace mapper may utilize multiplication of R0,G0, B0 values by a predetermined
matrix to map the color values to an expanded colorspace. The R0 , G0 , B0 values may be
obtained using equation (9). Where desired, the color data values and their bit components, clipping, transparency information storage and premultiplication and normalization of color data values may be as described for the methods above. Color operations defined in the RGB RGBA colorspace may be extended to the expanded
RGB/RGBA colorspace. Three examples of color operations in the expanded RGB/RGBA colorspace include:
1. Inteφolation between two RGB colors X = ( Rx , G_ , Bx ) and Y = ( Ry, Gy , By ). The RGB
color Z - (R1,G2,B2) that is linearly inteφolated between X and Y is given by:
Rx = (l - d)Rx + dRy Gz = (\ -d)Gx +dGy
B2 = (\ -d)Bx + dBy where d is the normalized distance of Z from X to Y, and d = 0 at X and d = 1 at Y. 2. Digital image composition operations that combine two non-premultiplied RGB A colors.
For example, one of the operations, X over Y, where X = ( Rx , Gx , Bx , Ax ) and Y =
(Ry,Gy,By,Ay), produces color Z = (RZ, G. , Bz , Az ). The formula is given by:
Rz = AxRx + (l-Ax)Ry
Gz = AxGx +Q-Ax)Gy
Bz = AxBx +(l-Ax)By
Az = AxAx +(l - Ax)Ay
3. Image convolution operations. For example, a blur filter matrix M is given by :
1/16 1/8 1/16'
1/8 1/4 1/8 1/16 1/8 1/16
The blur equation is for each color component. Assuming a RGB color component of a pixel at location (i, j) is C(i j), the resulting RGB color component of the pixel after the blur operation is given by:
(l/16)C(i-l, j-1) + (l/8)C(i-l, j) + (l/16)C(i-l, j+1) + (l/8)C(i, j-1) + (l/4)C(i, j) + (l/8)C(i, j+1) + (l/6)C(i+l, j-1) + (l/8)C(i+l, j) + (l/16)C(i+l, j+1)
With reference to Figure 7, an exemplary system for implementing the invention includes a general piupose computing device in the form of a conventional personal computer 720, including a processing unit/processor 721, a system memory 722, and a system bus 723 that couples various system components including the system memory to the processing unit/processor 721. The system bus 723 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory includes read only memory (ROM) 724 and random access memory (RAM) 725. A basic input/output system 726 (BIOS), containing the basic routines that helps to transfer information between elements within the personal computer 720, such as during start-up, is stored in ROM 724. The personal computer 720 further includes a hard disk drive 727 for reading from and writing to a hard disk, not shown, a magnetic disk drive 728 for reading from or writing to a removable magnetic disk 729, and an optical disk drive 730 for reading from or writing to a removable optical disk 731 such as a CD ROM or other optical media. The hard disk drive 727, magnetic disk drive 728, and optical disk drive 730 are connected to the system bus 723 by a hard disk drive interface 732, a magnetic disk drive interface 733, and an optical drive interface 734, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the personal computer 720. Although the exemplary environment described herein employs a hard disk, a removable magnetic disk 729 and a removable optical disk 731 , it should be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories (RAMs), read only memories (ROMs), and the like, may also be used in the exemplary operating environment.
A number of program modules may be stored on the hard disk, magnetic disk 729, optical disk 31, ROM 724, or RAM 725, including an operating system 735, one or more application programs 736, other program modules 737 and program data 738. A user may enter commands and information into the personal computer 720 through input devices such as a keyboard 740 and pointing device 742. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner or the like. These and other input devices are often connected to the processing unit 721 through a serial port interface 746 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or a universal serial bus (USB). A monitor 747 or other type of display device is also connected to the system bus 723 via an interface, such as a video adapter 748. In addition to the monitor, personal computers typically include other peripheral output devices (not shown) such as speakers and printers. The personal computer 720 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 749. The remote computer 749 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the personal computer 720, although only a memory storage device 750 has been illustrated in Figure 7. The logical connections depicted in Figure 7 include a local area network (LAN) 751 and a wide area network (WAN) 752. Such networking environments are commonplace in offices, enteφrise-wide computer networks, intranets and the Internet.
When used in a LAN networking environment, the personal computer 720 is connected to the local network 751 through a network interface or adapter 753. When used in a WAN networking environment, the personal computer 720 typically includes a modem 754 or other means for establishing communications over the wide are network 752, such as the Internet. The modem 754, which may be internal or external, is connected to the system bus 723 via the serial port interface 746. In a networked environment program modules depicted relative to the personal computer 720, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing communications between the computers may be used.
Thus, as shown in Figure 8, the present invention provides a method of representation of color in images using color data values for an expanded colorspace, e.g., an expanded
RGB/RGBA colorspace, that encompasses at least a visually perceptible colorspace, having at least a precision sufficient to represent visible colors substantially without visually perceptible error. The method includes the steps ofirepresenting 802 the color data values as perceptually visible data values in an expanded RGB/RGBA space and labeling 804 an image determined by the perceptually visible data values as an expanded RGB/RGBA colorspace image. The method may also include mapping 806 the perceptually visible data values of the image to color data values of another selected destination colorspace. Where the perceptually visible data values may lie outside a predetermined range, the mapping may include clipping the perceptually visible data values for the selected destination colorspace. Mapping may include utilizing a predetermined transformation function that maps the perceptually visible data values to color data values in the selected destination colorspace. Typically, the expanded RGB/RGBA colorspace is linear in visual intensity.
As shown in Figure 9, the method of the present invention provides for representing at least one of: super transparent and super opaque colors using an alpha channel. The method includes the steps of: representing 902 color data values as perceptually visible super transparent/super opaque data values in a colorspace and labeling 904 an image deteπnined by the perceptually visible super transparent/super opaque data values as a super transparent/super opaque colorspace image. Color operations defined in the RGB/RGBA colorspace may be extended to the expanded RGB/RGBA colorspace. In one embodiment, the alpha channel includes 16 bits to provide increased precision.
Although the present invention has been described in relation to particular preferred embodiments thereof, many variations, equivalents, modifications and other uses will become apparent to those skilled in the art. It is preferred, therefore, that the present invention be limited not by the specific disclosure herein, but only by the appended claims.

Claims

Claims What is claimed is:
1. A method for providing representation of high quality, substantially visually error-free color in images, comprising the steps of: mapping color to color data values in an expanded RGB/RGBA space; and labeling an image determined by mapped color values as an expanded RGB/RGBA colorspace image.
2. The method of claim 1 wherein mapping includes, where colors from a selected colorspace are converted to the expanded RGB/RGBA colorspace, mapping color data values of a source colorspace image to color data values of the expanded RGB/RGBA colorspace.
3. The method of claim 1 wherein mapping includes, where colors in the expanded RGB/RGBA colorspace are converted to a selected colorspace, mapping color data values of the expanded RGB/RGBA colorspace to color data values of a destination colorspace.
4. The method of claim 3 wherein, where the color data values in the expanded RGB/RGBA colorspace lie outside a range of the destination colorspace, mapping includes clipping the color data values for the destination colorspace.
5. The method of claim 3 wherein, where the color data values in the expanded RGB/RGB A colorspace lie outside the range of the destination colorspace, mapping includes utilizing a predetermined transformation function that maps the color data values to color data values in the selected destination colorspace.
6. The method of claim 1 wherein the expanded RGB/RGBA colorspace is linear in visual intensity.
7. The method of claim 1 wherein the expanded RGB/RGBA space is an XsRGB colorspace that includes at least the visible range of color values, and where selected, wherein the expanded RGB/RGBA space includes an alpha channel for at least one of: transparency information and opaqueness information.
8. The method of claim 1 wherein the expanded RGB/RGBA space includes a colorspace defined by a gamut that extends into negative component values and beyond 1.0 when normalized to 1.0 in RGB.
9. The method of claim 1 wherein mapping the color values to an expanded RGB/RGBA
space includes utilizing multiplication of RQ, G0, BQ values by a predetermined matrix, where the
R0,G0, and _90 values denote normalized numerically linear red, green and blue components for a
color value.
10. The method of claim 9 wherein the R0,G0, B0 values are obtained in accordance with the
following: Ro 3.241 -1.5374 -0.4986 X -0.9692 1.8760 0.0416 Y
Bn 0.0556 -0.2040 1.0570 Z
wherein X, Y, and Z denote 1931 Commission Internationale de I'Eclairage XYZ values where Y has been normalized to 1.
11. The method of claim 1 wherein, wherein each color data value uses a signed 16 bit integer and 13 bits are used as a decimal portion.
12. The method of claim 11 wherein 16 bit components R 6,Gl6 and _5,6are given by:
Figure imgf000027_0001
where the R0,G0, and B0 values denote normalized numerically linear red, green and blue
components for a color value.
13. The method of claim 4 wherein mapping includes, where color data values have been represented using signed 16 bit values with 13 bits of decimal precision, clipping the 16 bit values below 0 and above 8192 to convert the 16 bit values to 8 bit values.
14. The method of claim 1 wherein the color data values are one of: non-premultiplied color data values; premultiplied color data values; and normalized numerically linear premultiplied color data values.
15. In a digitized image processing system in which an image digitizer outputs digital signals representing an image, a method for providing representation of high quality, substantially visually error-free color images from measured color values, comprising the steps of: mapping the measured color values to an expanded colorspace wherein the expanded colorspace includes values beyond a visible range of color values; and labeling an image determined by the color values mapped to the expanded colorspace as an expanded colorspace image.
16. The method of claim 15 wherein the expanded colorspace includes an XsRGB colorspace defined by a gamut that extends into negative component values and beyond 1.0 when normalized to 1.0 in RGB , and where selected, wherein the expanded RGB/RGBA space includes an alpha channel for at least one of: transparency information and opaqueness information
17. The method of claim 15 wherein mapping the color values to an expanded colorspace
includes utilizing multipUcation of R0 , G0 , _50 values by a predetermined matrix, where the R0 ,
G0 , B0 values denote normalized numerically linear red, green and blue components for a color
value.
18. The method of claim 15 wherein the R0, G0, B0 values are obtained in accordance with
the following: Ro 3.241 -1.5374 -0.4986 X Go -0.9692 1.8760 0.0416 Y Ro 0.0556 -0.2040 1.0570 Z
wherein X, Y, and Z denote 1931 Commission Internationale de I'Eclairage XYZ values wherein Y has been normahzed to 1.
19.The method of claim 15 wherein, wherein each color data value uses a 16 bit integer and 13 bits are used as a decimal portion.
20. The method of claim 15 wherein 16 bit components R,6 , G16 , and R,6 of color data
values are given by:
Figure imgf000029_0001
where the R0 , G0 , R0 values denote normalized numerically linear red, green and blue
components for a color value.
21. The method of claim 15 wherein mapping includes, where color data values have been represented using signed 16 bit values with 13 bits of decimal precision, dipping the 16 bit values below 0 and above 8192 to convert the 16 bit values to 8 bit values.
22. The method of claim 15 wherein the color data values are one of: non-premultiplied color data values; premultipUed color data values; and normaUzed numerically linear premultiplied color data values.
23. A computer-readable medium having computer-executable instructions for performing the steps recited in claim 15.
24. In a digitized image processing system in which an image digitizer utilizes color image information to output digital signals representing a color image to an apparatus that uses the digital signals to provide representation of a high quality visually error-free expanded colorspace color image, the apparatus comprising: an expanded colorspace mapper, for mapping the digital signals to expanded colorspace values wherein the expanded colorspace values include values beyond a visible range of color values; and an image labeller, coupled to the expanded colorspace mapper, for labeling an image determined by expanded colorspace values as an expanded colorspace image.
25. The apparatus of claim 24 wherein the expanded colorspace includes an XsRGB colorspace defined by a gamut that extends into negative component values and beyond 1.0 when normaUzed to 1.0 in RGB, and where selected, wherein the expanded RGB/RGBA space includes an alpha channel for at least one of: transparency information and opaqueness information
26. The apparatus of claim 24 wherein the expanded colorspace mapper utilizes
multiplication of R0, G0, R0 values by a predetermined matrix to map the color values to an
expanded colorspace.
27. The apparatus of claim 24 wherein the R0 , G0 , R0 values are obtained in accordance
with the following:
Rn 3.241 -1.5374 -0.4986 X -0.9692 1.8760 0.0416 Y
Rn 0.0556 -0.2040 1.0570 Z
wherein X, Y, and Z denote 1931 Commission Internationale de I'Eclairage XYZ values where Y has been normalized to 1.
28. The apparatus of claim 24 wherein, wherein each color data value uses a 16 bit integer and 13 bits are used as a decimal portion.
29. The apparatus of claim 24 wherein 16 bit components of color data values R16, G16, and
R16 are given by:
Figure imgf000031_0001
where the R0 , G0 , R0 values denote normalized numerically linear red, green and blue
components for a color value.
30. The apparatus of claim 24 wherein, where color data values have been represented using signed 16 bit values with 13 bits of decimal precision, the expanded colorspace mapper clips the 16 bit values below 0 and above 8192 to convert the 16 bit values to 8 bit values.
31. The apparatus of claim 24 wherein the color data values are one of: non-premultipUed color data values; premultipUed color data values; and normaUzed numerically linear premultiplied color data values.
32. A computer-readable medium having computer-executable instructions for performing steps comprising: mapping color values to an expanded RGB/RGBA space; and labeling an image determined by mapped color values as an expanded RGB/RGBA colorspace image.
33. The computer-readable medium of claim 32 wherein the expanded RGB/RGBA space includes an XsRGB colorspace that includes at least the visible range of color values, and where selected, wherein the expanded RGB/RGBA space includes an alpha channel for at least one of: transparency information and opaqueness information.
34. The computer-readable medium of claim 32wherein the expanded RGB/RGBA space includes a colorspace defined by a gamut that extends into negative component values and beyond 1.0 when normalized to 1.0 in RGB.
35. The computer-readable medium of claim 32 wherein mapping the color values to an
expanded RGB/RGBA space includes utilizing multiplication of R0, G0, R0 values by a
predetermined matrix.
36. The computer-readable medium of claim 32 wherein the R0, G0, R0 values are obtained
in accordance with the following:
R„ 3.241 -1.5374 -0.4986 X -0.9692 1.8760 0.0416 Y
Bn 0.0556 -0.2040 1.0570 Z
wherein X, Y, and Z denote 1931 Commission Internationale de I'Eclairage XYZ values where Y has been normalized to 1.
37. The computer-readable medium of claim 32 wherein each color data value uses a signed 16 bit integer and 13 bits are used as a decimal portion.
38. The computer-readable medium of claim 32 wherein 16 bit components R16, G16 , and
RI6 are given by:
Figure imgf000033_0001
where the R0, G0, R0 values denote normalized numerically linear red, green and blue
components for a color value.
39. The computer-readable medium of claim 32 wherein mapping includes, where color data values have been represented using signed 16 bit values with 13 bits of decimal precision, clipping the 16 bit values below 0 and above 8192 to convert the 16 bit values to 8 bit values.
40. The computer-readable medium of claim 32 wherein the color data values are one of: non-premultiplied color data values; premultipUed color data values; and normalized numerically linear premultiplied color data values.
41. The computer-readable medium of claim 32 wherein the expanded RGB/RGBA space includes an alpha channel for at least one of: transparency information and opaqueness information.
42. A method of representation of color in images using color data values for an expanded RGB/RGBA space, having at least a precision and range sufficient to represent substantially all humanly visible colors substantially without visually perceptible error, the method including the steps of: representing the color as data values in an expanded RGB/RGBA space; and labeling an image determined by the color data values as an expanded RGB/RGBA colorspace image.
43. The method of claim 42 wherein representing includes, where color data values from a selected colorspace are converted to the expanded RGB/RGBA space, mapping the color data values of a selected image colorspace to color data values of the expanded RGB RGBA colorspace.
44. The method of claim 42 wherein representing includes, where color data values in the expanded RGB/RGBA space are converted to a selected colorspace, mapping the color data values of the expanded RGB/RGBA colorspace to a selected destination colorspace.
45. The method of claim 44 wherein, where the perceptuaUy visible data values Ue outside a predetermined range, the mapping includes clipping the color data valuesto a range of the selected destination colorspace.
46. The method of claim 44 wherein the mapping includes utilizing a
Figure imgf000035_0001
transformation function that maps the color data values to color data values in the selected destination colorspace.
47. The method of claim 42 wherein the expanded RGB/RGBA colorspace is linear in visual intensity.
48. A method for representing at least one of: super transparent and super opaque colors using an alpha channel, comprising the steps of: representing color data values as perceptually visible super transparent/super opaque data values in a colorspace; and labeling an image determined by the perceptually visible super transparent/super opaque data values as a super transparent/super opaque colorspace image.
49. The method of claim 1 wherein color operations defined in RGB/RGBA colorspace are extended to an expanded RGB/RGBA colorspace.
50. The method of claim 48 wherein the alpha channel extends less than 0 and beyond 1.0 when normalized to 1.0.
51. A method of representing color data values in images using color data as appearance RGB values, comprising the steps of: representing the color data values as normalized RGB values wherein each
normalized RGB value (RW,GW,BW) is obtained using a predetermined transformation matrix
that is based on a preselected spectrum distribution; and labeling an image determined by the normalized RGB values as an appearance match image for corresponding A"", Y, and Z values in accordance with 1931 Commission Internationale de I'Eclairage where Y has been normalized to 1.
52. A device for representing color data values in images using color data as appearance RGB values, comprising: an expanded colorspace mapper, arranged to represent the color data values as
normalized RGB values wherein each normalized RGB value (RW,GW,RW) is obtained using a
predetermined transformation matrix that is based on a preselected spectrum distribution; and an image labeller, for labeling an image determined by the normalized RGB values as an appearance match image for corresponding A Y, and Z values in accordance with 1931 Commission Internationale de I'Eclairage where Y has been normalized to 1.
53. A method of representing color data values in images using color data as absolute RGB values, comprising the steps of: representing the color data values as absolute RGB values wherein each absolute RGB
value (R0 , G0 , Ro ) is obtained using a predetermined transformation matrix that is based on a
standard 1931 Commission Internationale de I'Eclairage D65 spectrum distribution; and labeling an image deteπnined by the absolute RGB values as an absolute match image for corresponding X, Y, and Z values in accordance with 1931 Commission Internationale de
I'Eclairage where Y has been normalized to 1.
54. A device for representing color data values in images using color data as absolute RGB values, comprising: representing the color data values as absolute RGB values wherein each absolute RGB
value (Ro , G0 , Ro ) is obtained using a predetermined transformation matrix that is based on a
standard 1931 Commission Internationale de I'Eclairage D65 spectrum distribution; labeling an image determined by the absolute RGB values as an absolute match image for corresponding X, Y, and Z values in accordance with 1931 Commission Internationale de
I'Eclairage where Y has been normalized to 1.
PCT/US2000/022946 1999-08-27 2000-08-22 Visually error-free color image representation WO2001017233A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU67941/00A AU6794100A (en) 1999-08-27 2000-08-22 Visually error-free color image representation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/384,141 US7158670B1 (en) 1999-05-21 1999-08-27 Visually error-free color image representation
US09/384,141 1999-08-27

Publications (2)

Publication Number Publication Date
WO2001017233A1 true WO2001017233A1 (en) 2001-03-08
WO2001017233A9 WO2001017233A9 (en) 2002-06-27

Family

ID=23516194

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/022946 WO2001017233A1 (en) 1999-08-27 2000-08-22 Visually error-free color image representation

Country Status (2)

Country Link
AU (1) AU6794100A (en)
WO (1) WO2001017233A1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1294179A2 (en) 2001-09-12 2003-03-19 Canon Kabushiki Kaisha Method and apparatus for processing image data
EP1532806A1 (en) * 2002-08-30 2005-05-25 Canon Kabushiki Kaisha Image processing apparatus and method
EP1496685A3 (en) * 2003-07-09 2006-12-20 Hewlett-Packard Development Company, L.P. Representing extended color gamut information
US7426029B2 (en) 2005-08-31 2008-09-16 Microsoft Corporation Color measurement using compact device
US7573620B2 (en) 2005-09-01 2009-08-11 Microsoft Corporation Gamuts and gamut mapping
US7742206B2 (en) 2005-02-08 2010-06-22 Sharp Laboratories Of America, Inc. Methods and systems for color gamut adjustment
US7822270B2 (en) 2005-08-31 2010-10-26 Microsoft Corporation Multimedia color management system
US8027070B2 (en) 2009-02-03 2011-09-27 Sharp Laboratories Of America, Inc. Methods and systems for hue adjustment
US8199184B2 (en) 2007-11-06 2012-06-12 Cisco Technology, Inc. Visually enhancing a conference
CN102857674A (en) * 2011-06-28 2013-01-02 柯尼卡美能达美国研究所有限公司 Method for processing high dynamic range images using tone mapping to extended RGB space
US8358441B2 (en) 2009-04-01 2013-01-22 Sharp Laboratories Of America, Inc. Methods and systems for sampling and modeling of colorant-limited, multi-colorant color spaces

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997037281A1 (en) * 1996-03-29 1997-10-09 Silicon Graphics, Inc. System and method for color space conversion

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997037281A1 (en) * 1996-03-29 1997-10-09 Silicon Graphics, Inc. System and method for color space conversion

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MICHAEL STOKES: "Colour Management, Extended precision RGB colour space", IEC, 22 July 1998 (1998-07-22), XP002152214, Retrieved from the Internet <URL:http://w3.hike.te.chiba-u.ac.jp/IEC/100/PT1/parts/part2/1966_45.pdf> [retrieved on 20001101] *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1294179A3 (en) * 2001-09-12 2005-03-16 Canon Kabushiki Kaisha Method and apparatus for processing image data
US7266239B2 (en) 2001-09-12 2007-09-04 Canon Kabushiki Kaisha Method and apparatus for processing image data, storage medium and program
EP1294179A2 (en) 2001-09-12 2003-03-19 Canon Kabushiki Kaisha Method and apparatus for processing image data
EP1532806A1 (en) * 2002-08-30 2005-05-25 Canon Kabushiki Kaisha Image processing apparatus and method
EP1532806A4 (en) * 2002-08-30 2005-09-14 Canon Kk Image processing apparatus and method
US7173736B2 (en) 2002-08-30 2007-02-06 Canon Kabushiki Kaisha Image processing apparatus and method
EP1496685A3 (en) * 2003-07-09 2006-12-20 Hewlett-Packard Development Company, L.P. Representing extended color gamut information
US7352893B2 (en) 2003-07-09 2008-04-01 Hewlett-Packard Development Company, L.P. Representing extended color gamut information
US7742206B2 (en) 2005-02-08 2010-06-22 Sharp Laboratories Of America, Inc. Methods and systems for color gamut adjustment
US7426029B2 (en) 2005-08-31 2008-09-16 Microsoft Corporation Color measurement using compact device
US7822270B2 (en) 2005-08-31 2010-10-26 Microsoft Corporation Multimedia color management system
US7573620B2 (en) 2005-09-01 2009-08-11 Microsoft Corporation Gamuts and gamut mapping
US8199184B2 (en) 2007-11-06 2012-06-12 Cisco Technology, Inc. Visually enhancing a conference
US8027070B2 (en) 2009-02-03 2011-09-27 Sharp Laboratories Of America, Inc. Methods and systems for hue adjustment
US8358441B2 (en) 2009-04-01 2013-01-22 Sharp Laboratories Of America, Inc. Methods and systems for sampling and modeling of colorant-limited, multi-colorant color spaces
CN102857674A (en) * 2011-06-28 2013-01-02 柯尼卡美能达美国研究所有限公司 Method for processing high dynamic range images using tone mapping to extended RGB space
EP2541893A1 (en) * 2011-06-28 2013-01-02 Konica Minolta Laboratory U.S.A., Inc. Method for processing high dynamic range images using tone mapping to extended rgb space
US8576445B2 (en) 2011-06-28 2013-11-05 Konica Minolta Laboratory U.S.A., Inc. Method for processing high dynamic range images using tone mapping to extended RGB space

Also Published As

Publication number Publication date
AU6794100A (en) 2001-03-26
WO2001017233A9 (en) 2002-06-27

Similar Documents

Publication Publication Date Title
Poynton Frequently asked questions about color
JP3993644B2 (en) Color gamut correction by color separation and method and execution apparatus thereof
Vrhel et al. Color device calibration: A mathematical formulation
US6005968A (en) Scanner calibration and correction techniques using scaled lightness values
EP0203448B1 (en) Matching hardcopy color to display color
Kriss Color management: understanding and using ICC profiles
US8666161B2 (en) Multimedia color management system
EP1679881A1 (en) Color image reproduction with accurate inside-gamut colors and enhanced outside-gamut colors
EP1085749B1 (en) Image processing method and apparatus
WO2001017233A1 (en) Visually error-free color image representation
JP2001189875A (en) Configuration of profile to compensate nonlinearity of image acquisition
JP2003510978A (en) Printing process adaptive control method to maintain black structure
JP2006262446A (en) Image processing equipment, image processing method, and image processing program
US6023264A (en) Method to estimate the white point on a display device
US5666436A (en) Method and apparatus for transforming a source image to an output image
MacDonald Developments in colour management systems
US6922198B2 (en) Color signal processing apparatus and method for reproducing colors on MPD
US7158670B1 (en) Visually error-free color image representation
US6937757B2 (en) Implementation and uses of XsRGB
US6002795A (en) Method and apparatus for transforming a source image to an output image
JP3658141B2 (en) Image processing apparatus and image processing method
US6952493B2 (en) System and method for gamut mapping using a composite color space
Poynton Poynton's color faq
Poynton Color FAQ-Frequently Asked Questions Color
JP4396107B2 (en) Video display system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

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

AK Designated states

Kind code of ref document: C2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: PAGES 1-23, DESCRIPTION, REPLACED BY NEW PAGES 1-20; PAGES 24-36, CLAIMS, REPLACED BY NEW PAGES 21-32; PAGES 1/9-9/9, DRAWINGS, REPLACED BY NEW PAGES 1/9-9/9; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

122 Ep: pct application non-entry in european phase
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP