×

Method and system for color matching between digital display devices

  • US 6,072,902 A
  • Filed: 10/14/1997
  • Issued: 06/06/2000
  • Est. Priority Date: 05/03/1995
  • Status: Expired due to Term
First Claim
Patent Images

1. A method of displaying a first color on a source display device that essentially matches a second color displayed on a destination display device, wherein said source device is a monitor and said destination device is a printer, and wherein said first color has an associated first color value composed of red, green, and blue (RGB) source color components and said second color has an associated second color value composed of red, green, blue, cyan, magenta, yellow and black (R,G,B,C,M,Y,K) single destination color components, said method comprising the steps of:

  • determining a combination and ratio of color values of single destination color components corresponding to each of fully saturated single and dual source component color values, each of said combination and ratio of color values of said destination components corresponding to a color displayed by said destination device that provides the closest color match with respect to hue and saturation to said each fully saturated source single and dual component color values displayed on said source device;

    generating a set of look-up tables (LUTs), one LUT corresponding to each of said single destination color components using said ratio of color values, by;

    scaling each of said ratio of color values to a given range, said range having an associated maximum color value and minimum value;

    linearly interpolating each of said ratio of color values over said given range to generate a set of linearly interpolated color values, each of said set of interpolated color values corresponding to one of said single destination color components;

    storing said each set of interpolated color values into a storage means;

    using said set of LUTs to perform color matching between said first color and said second color by;

    translating said first color value so as to express it in terms of an intermediate color value composed of single destination color components, wherein said intermediate color value is composed of said single destination color components r,g,b,c,m,y,k, and w each having corresponding color values;

    accessing said storage means with said intermediate color value, wherein said storage means outputs said second color value, said second color value being composed of said linearly interpolated color values;

    wherein said step of translating said first color value so as to express it in terms of said intermediate color value comprises the following steps;

    evaluating said first color value to determine a minimum source component color value (Min(RGB)) and a maximum source component color value (Max(RGB)) wherein, Min (RGB) is equal to a white component color value (w), and wherein said white component color value is a first component of said intermediate color value;

    determining a black component color value (k) in said first color value wherein, k is equal to a fully saturated source single component color value minus Max(RGB), wherein said black component color value is a second component of said intermediate color value;

    determining color values r'"'"', g'"'"', and b'"'"' wherein,
    
    
    space="preserve" listing-type="equation">r'"'"' =R-w
    
    
    space="preserve" listing-type="equation">g'"'"' =G-w
    
    
    space="preserve" listing-type="equation">b'"'"' =B-w;

    determining a maximum r'"'"', g'"'"' and b'"'"' (Max(r'"'"',g'"'"',b'"'"')) value and a minimum r'"'"', g'"'"', and b'"'"' value (Min(r'"'"',g'"'"',b'"'"'));

    determining remaining components of said intermediate color value wherein,if Max(r'"'"',g'"'"',b'"'"')=r'"'"', then;

    
    
    space="preserve" listing-type="equation">m=b'"'"'
    
    
    space="preserve" listing-type="equation">y=g'"'"'
    
    
    space="preserve" listing-type="equation">r=r'"'"'-Max(g'"'"',b'"'"')=r'"'"'-(g'"'"'+b'"'"')
    
    
    space="preserve" listing-type="equation">c=0
    
    
    space="preserve" listing-type="equation">g=0
    
    
    space="preserve" listing-type="equation">b=0else if Max(r'"'"'g'"'"'b'"'"')=g'"'"', then;

    
    
    space="preserve" listing-type="equation">m=0
    
    
    space="preserve" listing-type="equation">y=r'"'"'
    
    
    space="preserve" listing-type="equation">r=0
    
    
    space="preserve" listing-type="equation">c=b'"'"'
    
    
    space="preserve" listing-type="equation">g=g'"'"'-Max(r,b)=g'"'"'-(r'"'"'+b'"'"')
    
    
    space="preserve" listing-type="equation">b=0else if Max(r'"'"'g'"'"'b'"'"')=b'"'"', then;

    
    
    space="preserve" listing-type="equation">m=r'"'"'
    
    
    space="preserve" listing-type="equation">y=0
    
    
    space="preserve" listing-type="equation">r=0
    
    
    space="preserve" listing-type="equation">c=g'"'"'
    
    
    space="preserve" listing-type="equation">g=0
    
    
    space="preserve" listing-type="equation">b=b'"'"'-Max(r,g)=b'"'"'-(r'"'"'+g'"'"').2.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×