U.S. patent number 5,254,978 [Application Number 07/980,148] was granted by the patent office on 1993-10-19 for reference color selection system.
This patent grant is currently assigned to Xerox Corporation. Invention is credited to Giordano B. Beretta.
United States Patent |
5,254,978 |
Beretta |
October 19, 1993 |
**Please see images for:
( Certificate of Correction ) ** |
Reference color selection system
Abstract
A reference color selection system is provided for creating a
palette of colorimetrically measured colors. Palettes of
colorimetrically measured colors representing naturally occurring
objects and specified using a standard device independent color
specification, such as the CIE color specification, are arranged in
a data base. A simple-to-use color selection user interface permits
a user to retrieve, view, and modify each palette. The palette of
colors is displayed in a simple arrangement on a display screen
such as a color monitor. Each color is transformed into coordinates
in a uniform color space, such as the CIELAB space. The user may
delete colors not needed, and may create new colors for the palette
by mixing two existing palette colors together. The mixing function
simulates an artist's "color wash", and is a linear interpolation,
or interval scale, in the uniform color space between two end
colors selected by the user. A color from the range of intermediate
colors may be added by the user to the selected palette, and the
new palette may be stored for future use in a wide variety of color
presentation systems.
Inventors: |
Beretta; Giordano B. (Palo
Alto, CA) |
Assignee: |
Xerox Corporation (Stamford,
CT)
|
Family
ID: |
27101871 |
Appl.
No.: |
07/980,148 |
Filed: |
November 23, 1992 |
Related U.S. Patent Documents
|
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
Issue Date |
|
|
677706 |
Mar 29, 1991 |
|
|
|
|
Current U.S.
Class: |
345/601; 715/961;
715/974 |
Current CPC
Class: |
G01J
3/52 (20130101); G06F 3/04845 (20130101); G09G
5/06 (20130101); G06T 11/001 (20130101); G01J
3/462 (20130101); Y10S 715/974 (20130101); Y10S
715/961 (20130101) |
Current International
Class: |
G06F
3/033 (20060101); G09G 5/06 (20060101); G06T
11/00 (20060101); G09G 001/28 () |
Field of
Search: |
;340/701,703,799,798
;358/75,80 |
References Cited
[Referenced By]
U.S. Patent Documents
Foreign Patent Documents
Other References
McEndarfer, Edward M., An Interactive System for the Study and
Teaching of Color Theory, Ph.D. Dissertation, University of Kansas,
1989, available form UMI, Ann Arbor, Mich., Order No. 9024188.
.
Xerox Color Encoding Standard, Chapter 2, Chapter 3, Chapter 6,
Sections 6-1 through 6-3, Appendices, A, B, and C, Xerox Systems
Institute, Xerox Corporation, Sunnyvale, Calif., XNSS 289005, May
1990. .
Meier, Barbara J., "ACE: A Color Expert System for User Interface
Design", Proceedings of the ACM: SIGGRAPH Symposium on User
Interface Software, Banff, Alberta, Canada, Oct. 1988, pp. 117-128.
.
De Corte, W., "Finding Appropriate Colors for Color Displays",
Color Research and Application, vol. 11, No. 1, Spring 1986, pp.
56-61. .
Hunt, R. W. G., Measuring Colour, Ellis Horwood Limited,
Chichester, England, 1987 (reprinted in 1989), Chapter 3, Sections
3-1 through 3-10, pp. 53-69. .
Meyer, G. W., and D. P. Greenberg, "Perceptual Color Spaces for
Computer Graphics", in Color and the Computer, H. J. Durrett, ed.,
Academic Press, 1987, pp. 83-100. .
Hunter, R. S., and R. W. Harold, The Measurement of Appearance, 2nd
Ed., John Wiley & Sons, Inc., 1987, Chapters 7, 8, and 9. pp.
95-165. .
Swinehart, D. C., P. T. Zellweger, R. J. Beach, and R. B. Hagmann,
"A Structural View of the Cedar Programming Environment", ACM
Transactions on Programming Languages and Systems, vol. 8, No. 4,
Oct. 1986, pp. 419-490. .
Teitelman, W., "A Tour Through Cedar", IEEE Software, Apr. 1984,
vol. 1984, vol. 1, No. 2, pp. 44-73. .
Beretta, G. B., "Selecting Colors for Representing VLSI Layout",
Xerox Palo Alto Research Center, 1988, Technical Report EDL-88-7,
pp. 2-6. .
Boynton, R. M., and H. S. Smallman, "Segregation of Basic Colors in
an Information Display", Applied Vision 1989 Technical Digest
Series, Conference Edition, NASA and OSA, vol. 16, Jul. 1989, pp.
164-167. .
Guitard, R. and C. Ware, "A Color Sequence Editor", ACM
Transactions on Graphics, vol. 9, No. 3, Jul. 1990, pp.
338-341..
|
Primary Examiner: Weldon; Ulysses
Assistant Examiner: Mengistu; Amare
Attorney, Agent or Firm: Bares; Judith C.
Parent Case Text
This is a continuation of application Ser. No. 07/677,706, filed
Mar. 29, 1991 is now abandoned.
Claims
What is claimed:
1. An interactive system for creating a modified color palette
composed of a plurality of palette colors, the interactive system
comprising,
a memory device for storing data;
input means for receiving operation signals from an operator;
at least one color palette data structure including at least two
colorimetrically measured colors composing a color palette; each
colorimetrically measured color being defined by a set of
coordinates for the colorimetrically measured color in a
perceptually uniform color space; the at least one color palette
data structure being stored in the memory device;
color palette display means including a display device for
displaying thereon a color mixing region, for displaying therein a
plurality of mixed colors, and a color palette region, for
displaying therein the plurality of palette colors composing the
modified color palette, in response to the operation signals from
the input means; each of the palette colors of the modified color
palette being defined by the set of coordinates for the palette
color in the perceptually uniform color space;
color mixing means for selecting, in response to the operation
signals, two selected mixing colors from the palette colors
displayed in the color palette region, and for generating the
plurality of mixed colors from the two selected mixing colors; the
two selected mixing colors and the plurality of mixed colors being
displayed in the color mixing region by the color palette display
means; each selected mixing color and each mixed color being
defined by the set of coordinates for the selected mixing color and
the mixed color in the perceptually uniform color space;
wherein the color mixing means generates the plurality of mixed
colors from the two selected mixing colors by successively varying
the coordinates of the two selected mixing colors in the
perceptually uniform color space by a coordinate change quantity
beginning with the coordinates of one selected mixing color and
ending with the coordinates of the other selected mixing color;
color palette adding means, responsive to the operation signals
from the input means, for selecting one of the mixed colors
displayed in the color mixing region, and for adding the mixed
color to the palette colors of the modified color palette; the
mixed color added to the modified color palette being displayed in
the color palette region by the color palette display means;
colro palette deletion means for selecting and deleting one of the
palette colors from the modified color palette displayed in the
color palette region, in response to the operation signals from the
input means; the deleted palette color being removed from the color
palette region; and
modified color palette memory means, cooperatively associated with
the color palette display means, for storing in the memory device
the modified color palette displayed in the color palette region,
in response to the operation signals received from the input
means.
2. The interactive system for modifying a color palette according
to claim 1 wherein the coordinate change quantity is a uniformly
applied, linear quantity defined according to a fixed number of
mixed colors to be displayed in the color mixing region by the
color palette display means.
3. The interactive system of claim 1 further including conversion
means, the conversion means including a color correction
transformation computed from a colorimetrically measured color
gamut of the display device; the conversion means using the color
correction transformation to convert the coordinates of the at
least two colorimetrically measured colors of the color palette
data structure, the plurality of palette colors composing the
modified color palette, the selected mixing colors, and the
plurality of mixed colors into device dependent color signals for
display on the display device.
4. A method for interactively producing a color palette composed of
a plurality of palette colors, the method comprising the steps
of:
(a) storing in a memory device at least one color palette data
structure including at least two colorimetrically measured colors
composing a color palette; each colorimetrically measured color
being defined by a set of coordinates for the colorimetrically
measured color in a perceptually uniform color space;
(b) selecting the at least one reference color palette data
structure for modification;
(c) displaying on a display device having a display screen, in a
color palette region of the screen, at least two colorimetrically
measured colors of the color palette selected in step (b); the
colorimetrically measured colors of the color palette being
initially included in the plurality of palette colors composing the
modified color palette; each of the palette colors of the modified
color palette being defined by the set of coordinates for the
palette color in the perceptually uniform color space;
(d) selecting two palette colors from the color palette region of
the display screen as selected mixing colors and displaying the
selected mixing colors in a color mixing region of the screen;
(e) generating a plurality of mixed colors from the two selected
mixing colors by successively varying the coordinates of the two
selected mixing colors in the perceptually uniform color space by a
coordinate change quantity beginning with the coordinates of one
selected mixing color and ending with the coordinates of the other
selected mixing color; each mixed color being defined by the set of
coordinates for said mixed color in the perceptually uniform color
space;
(f) displaying the plurality of mixed colors in the color mixing
region;
(g) selecting one of the plurality of mixed colors from the color
mixing region and adding the selected mixed color to the modified
color palette;
(h) displaying the selected mixed color in the color palette region
of the display screen; and
(i) storing in the memory device the palette colors in the modified
color palette displayed in the color palette region of the display
screen.
5. The method for interactively producing a modified color palette
according to claim 4 wherein the coordinate change quantity is a
uniformly applied, linear quantity defined according to a fixed
number of mixed colors to be displayed in the color mixing
region.
6. The method of claim 4 further including, prior to displaying in
steps (c), (d), (f) and (h), the step of converting each of the
coordinates of the at least two colorimetrically measured colors of
the reference color palette, the plurality of palette colors
composing the modified color palette, the selected mixing colors,
and the plurality of mixed colors into device dependent color
signals for display on the display device; the converting step
using a color correction transformation computed from a
colorimetrically measured color gamut of the color display device.
Description
COPYRIGHT NOTICE
A portion of the disclosure of this patent document contains
material which is subject to copyright protection. The copyright
owner has no objection to the facsimile reproduction by anyone of
the patent document or the patent disclosure as it appears in the
Patent and Trademark Office patent file or records, but otherwise
reserves all copyright rights whatsoever.
FIELD OF THE INVENTION
This invention relates to color selection systems for use with
computer based color presentation programs, and more particularly,
to a color selection system for selecting and mixing
colorimetrically accurate colors for use in a color presentation
system.
BACKGROUND OF THE INVENTION
Color is playing an increasingly important role in computer
graphics. Broader affordability and availability of computer
controlled systems with color processing capabilities will promote
wider acceptance and use of color in document-intensive industries
or document-intensive functional areas of enterprises. As a result,
there is a steadily increasing use of computer based color
presentation programs by computer users with little or no training
in color science and in the aesthetic and technical uses of color.
By computer based color presentation programs is meant a wide range
of computer based graphics illustrators, page layout programs,
graphics editors, business graphics programs and modern spreadsheet
programs, publishing systems, image retouching systems, and other
similar color presentation programs for using color on
computers.
These users are often dissatisfied with the aesthetics of the final
product produced by the color tools that are available for existing
color presentation systems. There are several reasons for this
disappointment. Known color selection systems typically allow users
to select only one color at a time, and users seldom are able to
focus on the relationship among the colors. These color selection
systems ignore well-known principles of color perception theory
that human perception of color is influenced by the effect of
adjacent colors, the surround against which a color is viewed, and
the illumination under which a color is viewed.
In addition, existing color selection systems often utilize a
device dependent color classification model, providing color
descriptor classifications, or dimensions, that correspond to the
underlying color models that control associated physical devices.
Such device dependent color classification models include the
additive red, green, and blue (RGB) phosphor color model used to
physically generate colors on a color monitor, and the subtractive
cyan, magenta, and yellow, plus black (CYMK) color model used to
put colored dyes, inks, or toners on paper. In addition, models
based on mathematically transforming RGB signals to hue,
saturation, and value (HSV) signals have also been used. Color
selection systems based on these device dependent color models
operate in color spaces that treat color differences and changes in
incremental steps along dimensions which are useful to control the
physical devices. For example, lookup tables give the users of
these existing systems convenient access to the RBG signal values
that produce the selected colors on their monitors, thereby
facilitating entering the signal specifications for the selected
colors into the data files for their composition.
Device dependent color space models, such as the RGB model or HSV
color model, are not necessarily related to how humans visually
perceive color, and in such systems it may be difficult for a user
to approximate how much change in one dimension is needed to
produce a desired change in the color, requiring considerable trial
and error to achieve a desired color selection.
A prior art color selection system utilizing HSV color space is
disclosed in Holler, U.S. Pat. No. 4,721,951, entitled, "Method and
Apparatus for Color Selection and Production". An apparatus and
method are disclosed wherein a color is selected on the basis of
one color characteristic system for implementation in another color
characteristic system. Color selection is made from the color
characteristic system of hue, saturation, and value (referenced as
brightness) (HSV) in the preferred embodiment, and is performed
interactively with the operator individually selecting hue,
saturation and brightness levels from displays which illustrate the
effects of changing each of these characteristics. The displays are
comprised of a display bar for each of the hue, saturation and
brightness color characteristics, with the selected value or level
for each characteristic being shown by a vertical black line, or
slide marker, which the operator may move to a selected position.
Selected hue, saturation, and brightness color characteristics and
the current color selected are illustrated on the display, and are
immediately updated whenever changes of the H, S, or V occur, in a
manner that facilitates a rapid and interactive selection process.
The selected values of H, S, and V are converted through the use of
appropriate transforms to values of R, G, and B in the red, green,
and blue color classification system for display in the current
color display.
In another prior art color selection system, Guitard and Ware
disclose, in "A Color Sequence Editor", ACM Transactions on
Graphics, 9:3 (July 1990), at pp. 338-341, a color sequence editing
tool to enable the rapid editing of the contents of a color lookup
table (LUT). An editing window consists of three plotting areas
containing Hue, Saturation, and Value plots and a color sequence
feedback area. The horizontal coordinate in a plotting area
corresponds to an entry in the LUT; the vertical coordinates give
values of Hue, Saturation, and Value, respectively. Each plotting
area is actually 256 pixels wide and can be considered as 256
slider bars controlling 256 LUT entries. To edit the color
sequence, the user moves the cursor to the desired plotting area
and draws or "plots" a curve. This replaces the plot previously
drawn and causes a real-time change in the corresponding LUT
entries.
Meier, B., in "ACE: A Color Expert System for User Interface
Design", Proceedings of the ACM SIGGRAPH Symposium on User
Interface Software (October 1988) discloses a production expert
system designed to select colors for user interface design.
Guidelines, heuristics, and rules of thumb from literature relating
to the effective use of color in computer displays were synthesized
into a set of strategic and tactical prescriptive rules for color
selection, including tactical information for color selection and
information related to the relational constraints imposed between a
color selection and its function in the user interface. The set of
colors selected consisted of ten perceptually different hues,
fifteen "brightnesses" between black and white for each hue, and
three saturations for each hue/brightness combination, yielding a
total of 450 different colors available for selection, 150 of which
were shades of gray.
Further complicating the color selection process is the effect of
color usage on color selection. Colored images can be partitioned
into two classes: (1) those that contain so-called "reference
colors", and (2) those that utilize "functional colors". Reference
colors are colors of naturally occurring objects in the human
perceptual world, such as colors of skin, grass, and the sky. On
the other hand, functional colors serve a purely symbolic function,
such as coloring different areas of maps and graphs to convey
information, and these colors are not intended to symbolize objects
found in nature. Thus, functional color palettes preferably are
composed of coordinated harmonious colors to provide color
combinations that aesthetically appeal to the ordinary observer.
Typically, selecting functional colors for an application requires
an understanding of, or at least an appreciation of, how colors
combine to form an aesthetically pleasing image.
Selecting or modifying reference colors requires a distinctly
different approach. A user may either be creating a true-to-life
image, or modifying the colors in a true-to-life image created
elsewhere and digitally reproduced on his computer system. The goal
of such color selection and modifying is to closely match each
reference color to the color it represents in nature, thereby
facilitating the identification of objects in the computer
generated or reproduced image. In particular, when a user wishes to
color a reference object, for example, a Chinese porcelain vase, a
precise specification of a reference color is difficult to generate
from memory. An artist, for example, mixes colors together until he
or she achieves the desired matching color. Matching a color by
mixing paints requires skill. Matching a reference color by
selecting computer generated colors in RGB or HSV color spaces as
described above is very difficult because device dependent color
spaces do not permit the user to readily transfer his or her
artist's skills to the computer, or to use the color space
dimensions to develop intuitive judgments about mixing colors. In
addition, for those cases where the highest fidelity of reproduced
color to actually perceived color in nature is required, such as,
for example, in the case of the Chinese porcelain vase in a
photographic image, typical color selection systems provide no way
to assure that a mixed or selected color is colorimetrically
accurate.
A perceptually uniform color space which more closely approximates
how humans perceive colors and color differences facilitates color
specification tasks. In particular, standardized color notation
systems for use in perceptually uniform color spaces have been
developed by an international color standards group, Commission
Internationale de l'Eclairage (the "CIE"). CIE color specification
employs "tristimulus values" to specify colors and to establish
device independent color spaces. In 1976, the CIE recommended the
use of two approximately uniform color spaces, the CIE 1976
(L*u*v*) or the CIELUV color space, and the CIE 1976 (L*a*b*) or
the CIELAB color space.
Generally, preference for using one or the other CIE uniform color
space is based mainly on convenience of use in particular
industrial applications. CIELUV space is often used to capture the
color appearance of additive color mixtures, such as those on color
display monitors, and as such is used as a standard color space by
the television and video industries. CIELAB space is often used to
capture the color appearance of subtractive color mixtures, and as
such is a standard color descriptor for the paint and dye
industries, and is the primary uniform color space used for printed
color evaluation. CIE color spaces are widely accepted because
measured colors can readily be expressed in these CIE recommended
coordinate systems by means of simple mathematical transformations
of the spectral power distributions.
The prior art also discloses a system for using a perceptually
uniform color space model for color selection. Taylor et al., in EP
0 313 796 A3, entitled, "Computer display color control and
selection system", disclose an interface system for use in
selecting and controlling colors in graphics images generated by a
computer system. The interface comprises a mechanism and method for
displaying a graphical representation of hue, chroma, and lightness
combinations available based on a color appearance type color space
and associated mechanism. The interface includes a method for
selecting any of the combinations of hue, chroma, and lightness
which are graphically displayed as available for use. The graphical
representation includes a graph of the range of hues in one
dimension and a second graph of the range of chroma and value
combinations in two dimensions. The preferred embodiment of the
interface makes use of a specially defined HVC color space for
graphically displaying, representing, and selecting hue, chroma,
and value combinations for a color with a high degree of perceptual
uniformity. The preferred embodiment of the system includes a
mechanism for operating the interface in three different modes,
providing functions corresponding to picture editing, color map
editing, and continuous shading. The continuous shading mode allows
a range of colors to be generated between two colors specified by
the user for smooth shading applications.
De Corte, W., in "Finding Appropriate Colors for Color Displays" in
Color Research and Application, Vol. 11, No. 1, Spring 1986, pp.
56-61, discloses a methodology and supporting algorithm to
determine high-contrast sets of colors for use on a color CRT under
varying conditions of illumination. The method generates colors
which are highly contrasting and ergonomically optimal, given the
number of colors, N, one wants to display. The color selection
algorithm attempts to maximize the minimal between-color distance
for a set of N points in the perceptually uniform CIELUV color
space in such a way that the resulting colors remain within the
gamut of colors which can be displayed by the terminal while
meeting constraints derived from research in human vision and human
factors.
Beretta, G. B., the named inventor herein, in Selecting Colors for
Representing VLSI Layout, Xerox Palo Alto Research Center,
Technical Report EDL-88-7, 1988, pp. 2-6, discloses a method for
selecting discriminable colors for use in designing a VLSI layout
using a computer-assisted design (CAD) graphics system. The method
divides the layers of the VLSI circuit into functional classes and
applies color theory rules to the selection of colors for each
layer. Then, colors to be selected are manipulated in CIELAB space
in order to more easily determine and uniformly distribute
discriminable colors.
Other prior art color selection systems perform automatic color
selection. Braudaway, G., in U.S. Pat. No. 4,907,075, entitled,
"Method for Selecting Colors" discloses a method for selecting a
limited number of presentation colors from a larger palette to
provide digitization of a color image. A three-dimensional color
histogram of the image is generated, having axes corresponding to
red, green, and blue, and a first color is selected based upon the
color occurring most frequently in the image. Subsequent colors are
selected by choosing one at a time those colors having the highest
weighted frequency of occurrence. Final color selection may be made
according to a disclosed cluster analysis method for minimizing
image entropy.
Lai et al., U.S. Pat. No. 4,794,382, entitled "Image Retouching",
disclose an image retouching method and apparatus in which an
operator using a color monitor may selectively alter colors of an
original, scanned image displayed on the monitor prior to printing
the image using a two stage process. An operator displays on a
monitor a first range of colors, adjacent colors differing from
each other by more than a predetermined amount, and then selects
one of the displayed colors. The selection in turn causes a second
range of colors centered on the selected color to be displayed, the
adjacent colors of the second range differing from each other by
less than the predetermined amount. The operator then selects from
this second range of colors a tint which is to be the selected
tint. The operator may selectively change the intensity or other
property of one or both of the first and second range of colors as
desired in respected predetermined steps. In the preferred
embodiment, the characteristics by which each color is quantified
are printing color components, cyan, magenta, yellow, and
optionally black such that all colors displayed on the monitor are
printable using conventional printing inks.
The ideal computer-aided color selection system should provide a
general purpose, visual color selection mechanism for organizing
color in a way that makes it easy to understand color elements and
relationships, and which makes preliminary aesthetic determinations
for subsequent review and modification by the user. For selecting
reference colors in particular, a color selection system is needed
that provides colorimetrically measured palettes of colors for
classifications of natural objects, such as skin tones, trees,
grass, and sky. In addition, there is needed a facility for mixing
colors from known measured colors, approximating the artist's
mixing of colors when the artist creates a color "wash", thereby
making color selection and manipulation intuitively predictable and
manageable even for the novice color user. Existing systems, even
those based on a perceptually uniform color model, generally do not
provide such assistance.
Therefore, an interactive color selection system is needed for
providing increased color selection assistance to users of a wide
variety of color presentation systems, in particular for the
selection of reference colors which represent colors of natural
objects. Moreover, it is important to have a relatively simple user
interface for this color selection system so that users can apply
it to the color selection tasks they are facing, without having to
understand or master features of the system that are irrelevant to
those tasks.
SUMMARY OF THE INVENTION
In accordance with the present invention there is provided a system
for creating a palette of colorimetrically measured colors.
Palettes of colorimetrically measured reference colors are defined
in a memory device, each color in each of the palettes being
defined by a device independent color specification. Input means,
such as a keyboard or a mouse pointing device, sends signals to
color palette display means and to color selection interface means
to display and modify a selected one of the plurality of palettes
of colorimetrically measured reference colors. Each color in the
selected palette of reference colors is specified as a set of
colorimetric coordinates in a uniform color space. The color
palette interface means includes color mixing means for creating a
plurality of intermediate colors between a first and second
selected end colors selected by the user from the selected and
displayed palette of reference colors. The color palette interface
means further includes means for selecting at least one of the
plurality of intermediate colors to be added to the selected
palette of reference colors to modify the palette as needed. The
color palette interface means also includes means for deleting
colors from the selected palette. Memory means, cooperatively
associated with the color palette interface means, stores the
selected palette of reference colors and the modified palette of
reference colors during the color selection process.
BRIEF DESCRIPTION OF THE DRAWINGS
Additional features and advantages of this invention will become
apparent when the following detailed description is read in
conjunction with the attached drawings, in which:
FIG. 1 illustrates the uniform CIE 1976 (L*a*b*) color space, in
which functional color selection according to the present invention
may be performed, in three-dimensional Euclidian coordinates;
FIG. 2 is a schematic block diagram illustrating a computer system
suitable for implementing the present invention;
FIG. 3 is a schematic block diagram illustrating the software
environment in which the functional color selection of the present
invention may operate;
FIGS. 4, 5, 6, and 7 illustrate a sequence of display screens
according to an illustrated embodiment of the present
invention.
DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENT
While the invention is described in some detail hereinbelow with
specific reference to an illustrated embodiment, it is to be
understood that there is no intent to limit it to that embodiment.
On the contrary, the aim is to cover all modifications,
alternatives and equivalents failing within the spirit and scope of
the invention as defined by the appended claims.
A. The Uniform CIELAB Color Space
The preferred embodiment of the reference color selection system of
the present invention operates in a perceptually uniform color
space which facilitates color specification tasks. In particular,
the illustrated embodiment of the reference color selection system
represents and permits modification of predefined palettes of
colorimetrically specified colors by representing and directly
manipulating these colors in the CIE 1976 (L*a*b*) (hereafter
referred to as "CIELAB space" or "LAB space"). However, it is
intended that the reference color selection system of the present
invention may be implemented in any of the currently defined
perceptually uniform color spaces, such as the CIELUV space, the
Munsell color space, and the OSA Uniform Color Scales, or in a
future newly defined perceptually uniform color space.
CIELAB space is a perceptually uniform color space in which the
numerical magnitude of a color difference bears a direct
relationship to a perceived color appearance difference. CIELAB
space is an opponent-type color space, based on the opponent-color
theory used to describe or model human color vision. In a system of
this type, colors are mutually exclusive; for example, a color a
cannot be red and green at the same time, or yellow and blue at the
same time, but a color can be described as red and blue, as in the
case, for example, of purple.
FIG. 1 illustrates a three-dimensional Euclidian coordinate view of
opponent-type CIELAB color space 10. Two opponent coordinate axes
12 and 14, represented by a* (a-star) and b* (b-star),
respectively, describe the chromatic attributes of color. The a*
axis 12 represents the red-green coordinate, while the b* axis 14
represents yellow-blue. Positive values of a* denote red colors,
while negative values denote green colors. Similarly positive
values of b* represent yellows and negative values signify blues.
The a* and b* coordinates are correlated to the postulated
corresponding channels in the human visual system.
The L* (L star) coordinate defines the perceptual correlate of a
color's "psychometric lightness". Lightness is defined as the
attribute of a visual sensation according to which the area in
which the visual stimulus is presented appears to emit more or less
light in proportion to that emitted by a similarly illuminated area
perceived as a "white" stimulus. Lightness is thus an attribute of
visual sensation that has meaning only for related visual stimuli,
and may be referred to as "relative brightness". L* is in the range
of 0 to 100. The central L* axis 18 of the CIELAB color space lies
perpendicular to the a*, b* plane and achromatic or neutral colors
(black, grey, and white) lie on the L* axis at the point where a*
and b* intersect (a*=0, b*=0).
Colors specified as tristimulus values X, Y, and Z are located in
Euclidian CIELAB space according to the formulas in Equations (1)
through (3): ##EQU1## with the constraint that X/X.sub.n,
Y/Y.sub.n, Z/Z.sub.n >0.01. The terms X.sub.n, Y.sub.n, Z.sub.n
are the tristimulus values for the reference white for a selected
standard illuminant and observer, with Y.sub.n equal to 100. Those
skilled in the art will appreciate that additional formulas are
available for the case where X/X.sub.n, Y/Y.sub.n, Z/Z.sub.n
<0.01; these formulas may be found in the references included
below.
Colors specified in CIELAB space with their L*, a*, and b*
coordinates are difficult to visualize and reference as colors that
are familiar to users. In this disclosure, for purposes of
referring to colors by known names and according to human
perceptual correlates, colors specified in CIELAB space are also
referenced by the human perceptual correlates of hue, or
"hue-angle", and chroma. As those skilled in the art are aware,
colors described in L*, a*, and b* Euclidian coordinate CIELAB
space may also be specified in cylindrical coordinates. Cylindrical
coordinates permit identification and manipulation of the
perceptual correlates of "hue" and "chroma". Hue is defined as the
attribute of visual sensation which has given rise to color names
such as blue, green, yellow, purple, and so on. Hue is defined in
cylindrical CIELAB space as "hue-angle" which designates a hue
numerically by an angle ranging from 0.0 to 360.0 degrees, with
hues evenly distributed around the L* axis from the positive a*
axis. "Colorfulness" or "vividness" is the attribute of visual
sensation according to which an area appears to exhibit more or
less of its hue. Chroma is an object's colorfulness or vividness
judged in proportion to the brightness of a reference white, or
with reference to a similarly illuminated area. Chroma in
cylindrical CIELAB space radiates out perpendicularly from the
central L* axis. Thus, the chroma of a color may be viewed as the
distance away from the achromatic, or gray, central L* axis for a
given lightness (L* level) and hue-angle, and is orthogonal to both
the hue-angle and lightness.
The formulas for computing the hue and chroma correlates are given
in Equations (4) and (5), and the third coordinate, L*, is given
above in Equation (1): ##EQU2## In Equation (4), the quadrant of
the resulting angle depends on the particular combination of
positive or negative signs of a* and b*.
Additional information, not provided above, relevant to defining
color in the CIE system, for utilizing CIE color spaces for
displaying and modifying colors in graphics applications, and for
defining additional standard mathematical transformations between
tristimulus values and coordinates in CIE color spaces, may be
found in several well-known colorimetry and color science texts and
publications. Specific attention is directed to the following
references: Hunt, R. W. G., Measuring Colour, Ellis Horwood
Limited, Chichester, England, 1987 (reprinted in 1989) Chapter 3,
Sections 3-1 through 3-10, pp. 53-69; Meyer, G. W., and D. P.
Greenberg, "Perceptual Color Spaces for Computer Graphics", in
Color and the Computer, H. J. Durrett, ed., Academic Press, 1987,
pp. 83-100; and Hunter, R. S., Harold, R. W., eds., The Measurement
of Appearance, 2nd Ed., John Wiley & Sons, 1987, Chapters 7, 8,
and 9, pp. 95-165.
B. The Reference Color Selection System Environment
1. The Systems Environment
Turning now to FIG. 2, there is a more or less conventional
computer workstation 51 that has a processor 52 for processing user
inputs received from a keyboard 53 and a "mouse" or similar user
operated pointing device 54, together with a color monitor 55 for
displaying the images that are created by such processing. In
keeping with standard practices, the processor 52 has a memory
system (not shown) comprising a main or primary memory for storing
active programs and data files and a secondary memory for storing
other programs and data files. Furthermore, the processor 52 is
interfaced, as at 56, with a local or remote color printer 57.
Turning now to FIG. 3, there is illustrated a color graphics
software environment operable through workstation 51 in which the
reference color selection system 63 of the present invention may
operate. A color presentation program, in this case a graphics
illustrator 62, enables the user to create and manipulate graphical
objects to produce graphical images. The illustrator 62 is
interfaced with the reference color selection system 64 and with a
functional color selection system 63 for allowing the user to
interactively select reference colors and functional colors,
respectively, for such compositions.
In accordance with the present invention, color palette database 68
is provided for storing the predefined and colorimetrically
measured color palettes (discussed in more detail below) provided
with the reference color selection system. Color palette database
68 may also be used for storing user created palettes for reuse and
re-editing at a later date. Thus, palettes of functional and
reference colors already created may be retrieved or copied from,
as well as stored in, palette data base 68.
In keeping with this invention, the color selection systems 63 and
64 are independent programs that are invoked selectively by the
user, thereby reducing the complexity of the user interface through
which the user interacts with these systems. Further information
regarding the functional color selection system may be found in a
concurrently filed, commonly assigned United States patent
application entitled "Functional Color Selection System", Ser. No.
677,682.
2. The Computer Implementation of the Illustrated Embodiment
A current embodiment of the reference color selection system of the
present invention has been implemented on a Sun Microsystems
Sparcstation computer in a research software application program,
known as Digital Palette. This implementation was written in the
Cedar programming environment, a Xerox proprietary research
software environment, utilizing the Cedar programming language.
Appendix A (.COPYRGT.1989, Unpublished Work, Xerox Corporation)
provides a source code listing for this implementation. Information
regarding the Cedar programming environment may be found in
Swinehart D., et al., "A Structural View of the Cedar Programming
Environment, ACM Transactions on Programming Languages and Systems,
Vol. 8, No. 4, October 1986, pp. 419-490, incorporated herein by
reference. Additional information about the Cedar programming
environment may also be found in Teitelman, W., "A Tour Through
Cedar", IEEE Software, Vol. 1, No. 2, April 1984, pp. 44-73, also
incorporated herein by reference.
It is intended that the reference color selection system 64 of the
present invention may be implemented in a variety of hardware and
software environments providing suitable and equivalent window
management and graphics software support functions. Those skilled
in the art will recognize, for example, that reference color
selection system 64. may be implemented in a wide range of
computing environments. In personal computer environments, the
system may be implemented by using low-level assembly language
routines for window management and graphics functions, or by using
appropriate window "toolboxes" which provide pre-written window
management and graphics functions. Similarly, the system may be
implemented in larger computing environments supporting more
powerful graphics f unctions. Source code in the attached source
code listing of Appendix A references Cedar environment
applications software support tools which manage the window
environment, the graphics display output, and the coordination of
the user's requests and responses when selecting colors using the
reference color selection system 64. A brief functional explanation
of this environment will demonstrate the system's portability.
The underlying structure of the Cedar programming environment is a
collection of components that are arranged in hierarchical layers
according to the concept of an open operating system architecture.
Cedar's open operating system concept supports a well-integrated,
interactive environment because lower level modules remain directly
available to higher level, or "client" programs. The reference
color selection system of the present invention is a client of
Cedar's "Viewers" and "Imager" applications software support tools,
described in more detail below. Reference color selection system 64
is the application client program which contains the software for
defining the color space, calibrated monitor gamut, and color
selection processes for selecting the palette of coordinated
colors.
A high-level software window management environment known as
"Viewers" provides the necessary window management control for the
reference color selection system. Viewers allows programmers and
programs to create, destroy, move, and realize individual
rectangular viewing areas on workstation display 55 (FIG. 2) called
"viewers" which correspond to "windows" in other systems. Each
viewer is a rectangular region whose position and size is managed
by the Viewers software tool, but whose contents are determined by
the color selection client application which creates the viewer.
Cedar viewers are implemented by a client program as a set of
viewer classes defined by the interface specification known as
"ViewerClasses.Viewer" of the Viewers software. Client application
programs, such as the reference color selection system, create new
viewer instances in a particular class by calling the
"ViewerOps.CreateViewer[className]" specification. A viewer class
implementation provides operations to initialize a viewer, to save
its contents, to destroy a viewer, to paint its contents on the
display, and so on, and each member of a specific viewer class
shares these same behaviors. The ViewerClasses.Viewer record also
defines data fields, such as size information and display
coordinates, that are common to all viewer classes. A client
program uses a "clientData" field in the ViewerClasses.Viewer
record to store implementation-dependent instance data.
User input devices include certain standard supported devices in
the Cedar environment, including a mouse 54 and a keyboard 53 (FIG.
2). User input is managed and coordinated by Viewers through
terminal processor support software which produces a single serial
buffer of time-stamped input events from supported input devices,
or interprets users' actions through Terminal Input Processor (TIP)
tables. For each event, or event sequence, a TIP table entry
specifies a sequence of action tokens that represent the semantics
of the event.
The Cedar programming environment also provides a high-level,
device independent graphics software environment known as Imager
for producing and displaying high-quality, two-dimensional imaging
of text, line art, and scanned images. The Imager handles all
display output for the Viewers window manager software tool, as
well as for other graphical illustrator programs implemented in the
Cedar environment. The Imager supports the presentation of a
variety of image material: text in various fonts, lines and curves
of various thicknesses, strokes or enclosed outlines, sampled
images, and various color models, including the Xerox Color
Encoding Standard color model (described in more detail below).
Image transformations can scale rotate, translate, and clip images
through simple specifications. The device independent design
permits images to be rendered on a variety of devices, some of
which include full-color displays, color-mapped displays, and
black-and-white displays.
C. The Operation of the Reference Color Selection System
1. Creating Predefined, Colorimetrically Measured Palettes of
Reference Colors
Turning now to a more detailed description of the operation of the
reference color selection system 64, there is first described the
predefined and colorimetrically measured color palettes provided
with the reference color selection system.
a. Color Measurement of Palettes of Reference Colors
Each of the colors in each palette are specified in the device
independent CIE color specification system. As noted earlier the
CIE color specification system employs "tristimulus values" to
specify colors and to establish device independent color spaces.
Device independent color specification conforms to internationally
recognized color standards based on the interaction of light with
the human visual system. The CIE standardized color notation system
defines a standard of color measurement which may be applied to
color reproduction to both characterize color devices and to
describe transformations that must be applied to image colors to
accommodate the characteristics of output devices.
Based on the premise that the spectral reflectance of an object is
the percentage of the incident light energy reflected at each
wavelength and that the color of an object may be precisely defined
as this spectral reflectance, the CIE standard assigns numeric
values to colors according to their appearance under standard
sources of illumination as viewed by a standard observer, such as
the "CIE 1931 Standard Colorimetric Observer" (also known as the
"2.degree. Observer", hereafter referred to as the "standard
observer"), using three values, X, Y, and Z, to describe colors.
While X, Y, and Z could be considered a set of primaries, they do
not individually correspond to an actual color. Instead, each set
of X, Y, and Z values represents a color according to its spectral
power distribution rather than its perceived appearance. The X, Y,
and Z values, called the tristimulus values of a color, represent a
summation of the color contributions of all wavelengths within the
spectral distribution of a color sample, corrected for the light
source used to illuminate the colored sample and for the color
sensitivity of the standard observer.
A spectroradiometer or spectrophotometer may be used to sample a
stimulus at a number of different wavelengths. The tristimulus
values X, Y, and Z of a color are then computed from certain
color-matching functions for a particular source of illumination.
Alternatively, tristimulus values of a color also may be directly
measured by a tristimulus-filter colorimeter. If two color stimuli
have the same tristimulus values, they will look alike under the
same viewing conditions by an observer whose color vision is not
significantly different from that of the standard observer, and
these color stimuli will produce what is called a "metameric" match
between colors. Thus, colors with identical tristimulus values
viewed under identical conditions provide the common and device
independent link between differing color reproduction
technologies.
Research has shown that differences among various human perceptual
color attributes can be related to differences between the
tristimulus values of two different color stimuli. Thus,
tristimulus values representing colors have been mathematically
manipulated in order to more closely approximate these human
perceptual color attributes, and to visually represent these
attributes in different color spaces. Normalization, one such
mathematical manipulation of tristimulus values, is the derivation
of a color's "chromaticity" which recognizes that important color
attributes are related to the relative magnitudes of the
tristimulus values. Thus, the "chromaticity coordinates" of a
color, x, y, and z are derived by taking the ratios of the
respective X, Y and Z tristimulus values to the sum of all three
tristimulus values X, Y, and Z, according to equations (6), (7) (8)
and (9) below. Chromaticities may be represented in a
two-dimensional Cartesian x, y plane coordinate system of colors
known as the "1931 CIE Chromaticity Diagram". ##EQU3##
b. Specifying Palettes of Reference Colors
The data base of predefined and colorimetrically measured palettes
of colors are simply device independent color specifications for
natural objects, grouped in useful but arbitrarily defined
palettes. In the illustrated embodiment of the reference color
selection system there is provided a typical watercolor palette.
Table 1 provides a list of the colors included in the watercolor
palette, each specified by its luminance value, Y, and
chromaticities, x and y. In the context of the reference color
selection system, each watercolor is considered to be a natural
object, and, as such, a reference color of the kind suitable for
inclusion in the palette data base 68. The colors selected were
painted in 75 mm .times.55 mm rectangles on watercolor paper in
typical dilution and well dried. The painted rectangles were
measured with a Minolta CR 235 colorimeter. The reference white
color used is a combination of the luminance of Chinese White and
the chromaticity of the white paper used.
TABLE 1 ______________________________________ COLOR NAME Y x y
______________________________________ Cadmium Yellow Deep 81.13
0.3868 0.4348 Cadmium Yellow Pale 72.84 0.4239 0.4516 Cadmium Red
Light 25.65 0.5261 0.3391 Alizarin Crimson 21.69 0.4438 0.3162
Ultramarine Blue 13.92 0.1943 0.1570 Thalo Blue 32.86 0.2280 0.2667
Hooker's Green Deep 43.89 0.3294 0.4034 Sap Green 38.68 0.3535
0.4241 Viridian 42.90 0.2663 0.3633 Yellow Ochre 60.14 0.4036
0.4047 Burnt Sienna 25.17 0.4544 0.3843 Burnt Umber 18.07 0.3953
0.3801 Ivory Black 14.40 0.3318 0.3459 Payne's Gray 18.33 0.2864
0.3172 Chinese White 84.66 0.3232 0.3401
______________________________________
The variety and utility of predefined palettes that may be included
with the reference color selection system of the present invention
is limited only by imagination. For example, the artist mentioned
earlier who was producing computer color reproductions of images
containing Chinese porcelain would most likely use shades of the
color celadon, including a range of greens from yellowish green to
gray-blue green. In addition, ivory, white, and a specially applied
blue color would most likely appear in most Chinese porcelain
pieces. It would be useful to start with a palette of these colors,
customarily used by Chinese artisans, to achieve the most faithful
computer reproduction of the original art pieces. By measuring the
colors from actual objects or from high quality offset color
pictures of Chinese porcelain pieces, such a palette may be created
and added to palette data base 68 (FIG. 3) for use by a user of
reference color selection system 64. Table 2 includes a selection
of typical Chinese porcelain colors, specified in L*, a*, and b*
coordinates.
TABLE 2 ______________________________________ COLOR NAME L* a* b*
______________________________________ Minty Green Blue 55.07
-15.14 28.16 Minty Green Blue Pale 77.42 -16.57 26.87 Ivory White
91.71 1.00 -0.19 Very Light Greenish Blue 74.19 -10.44 -9.07 Minty
Blue Green Deep 51.70 -18.84 19.40 Red 53.24 53.51 41.87
______________________________________
In some instances, measured colors, while providing accurate
representations of the colors of natural objects, may not provide
aesthetically pleasing colors. For certain reference colors, color
researchers may determine that an alternative color should be used
in place of the actually measured object color. Such colors are
called "preferred colors" and may also be included in the set of
predefined palettes.
The reference color selection system 64 of the present invention
employs a conventional array or table data structure for
representing the device independent color specifications for each
color palette.
2. The Calibrated Monitor Gamut
The user of the reference color selection tool 64 of the present
invention may work on any number of color monitor displays, with
color reproduction quality generally directly related to the cost
of the display. The predefined palettes of colors each having
device independent colorimetric color specification will be
transformed to device dependent color specifications for display on
the monitor, but to preserve the accuracy of the color, all
manipulation of the palette colors is performed in the device
independent CIELAB space.
In particular, in the preferred embodiment of the present
invention, the device independent color specifications of the
colors in the predefined palettes and of the colors mixed by the
user are defined using the Xerox Color Encoding Standard (XCES),
although it is to be understood that any recognized device
independent color specification may be used, such as the ISO ODA
Color Addendum. Xerox Corporation has defined and specified a
device independent color specification, derived from CIE color
specifications and color science principles, for providing uniform
and consistent color specifications to allow accurate color
reproduction in the interchange between document processing
applications. The XCES specifies standard color models that devices
which subscribe to the XCES should use for representing color in
interchange applications, thus providing a common color language
description between color computer display and printing
applications. One of the standard XCES color models, the
XEROX/CIELAB model, hereinafter called the "CIELAB model",
specifies color in terms of the red, green, and blue tristimulus
values of the standard primaries, calibrated so that equal
tristimulus values define a stimulus with the same chromaticity as
standard white, which is selected to be the D.sub.50 illuminant.
This process in effect provides a "color correction" mechanism from
the user's device to a so-called "standard" device. The mapping
from a device independent colorimetric color specification to a
specific color device's ink or phosphor quantities is called "color
correction". "Calibration" is the process of measuring a color
rendering device and computing the parameters for color correction.
Color manipulation internal to the reference color selection system
is performed in the standard calibrated monitor gamut.
Further information regarding the Xerox Color Encoding Standard,
the CIELAB color model, and the transformation of device dependent
color specifications into the CIELAB color model may be found in
the publication, Xerox Color Encoding Standard, Chapter 2, Chapter
3, Chapter 6, Sections 6-1 through 6-3, and the Appendices A, B,
and C, published by Xerox Corporation, Xerox Systems Institute,
Sunnyvale, Calif. (XNSS 289005, May 1990) (hereafter referred to as
"Xerox CES"), and incorporated by reference herein.
The gamut of the monitor on which the user is working must be
colorimetrically measured and those measurements defined for the
reference color selection software. Device dependent color
specifications of the form needed to display selected colors on the
particular monitor being used, generally RGB signals, are then
mathematically calculated as needed, according to well known
formulas, such as those provided in the aforementioned Xerox CES,
in Section 2, and Appendix C. Those skilled in the art will
appreciate that any device independent perceptually uniform color
space, such as, for example, the CIELUV color space, may be used as
the model in which to manipulate the color selection methodology to
be described below in more detail.
3. Selecting and Mixing Colors From a Palette
FIGS. 4 5, 6, and 7 illustrate a representative sequence of screen
displays, 80, 90, 100, 110, respectively that a user would see in
response to selecting colors according to the functions provided in
the reference color selection system. With reference to FIG. 4,
after instructing system 51 (FIG. 2) to begin executing reference
color selection system 64 (FIG. 3), the user first specifies in
message header area 70 the name of the palette of colors he wishes
to examine. Alternatively, a menu command could be provided in
message header area 70 which, when selected by mouse 54 FIG. 2),
displayed a pull-down menu displaying the color palettes available
in palette data base 68 and the user could simply select a palette
by pointing to the palette name with mouse 54.
Selection of a palette also results in a copy of the selected
palette of colors being brought into the memory of system 51 (FIG.
2) from palette data base 68 (FIG. 3). A "rename" function permits
the user to change the name of the selected palette to a working or
familiar name for future reference, before storing the palette back
in palette data base 68 with the "save" function provided at the
completion of his color mixing session.
Selection of a palette also results in screen 80 of FIG. 4 being
displayed. The individual colors of the selected palette are
displayed on a medium gray background in rectangular color patches,
as shown. The colors may be displayed in a predetermined order
according to color space coordinates, such as in descending order
by lightness, L* values, or in ascending order by chroma values,
but need not appear in any particular order. In the illustrated
embodiment, the colors appear in the order they are entered in the
palette array, with color 82 being the first color in the palette,
followed left to right by colors 71, 88, 73, 85, and 86,
respectively, on the top row of colors on screen 80. The colors are
simply displayed in rows, and wrap around to a second row if
needed, as shown. Colors 74 and 87 appear from left to right in the
second row. Color 87 is the last color of this selected
palette.
Some of the colors in predefined palettes may be highly saturated
or very vivid colors. Such colors may not fall within the
calibrated monitor gamut and their coordinates may need to be
modified to bring them within the boundary of the calibrated
monitor gamut. Any suitable known gamut mapping or clipping
algorithm may be applied to accomplish this result.
The user may decide, upon viewing the colors in the displayed
palette, that one or more of the colors is not required for his
illustration or image. The color may be deleted from the palette by
simply pointing to the color with mouse 54 and clicking the
combination of the "control" key on keyboard 53 and middle mouse
button of mouse 54. For example, if color 85 is deleted from the
color palette displayed on screen 80, the palette array is updated
to remove color 85, and as shown in FIG. 5 on screen 90, the
remaining colors are reordered from left to right on the screen.
Because additional space is now available in the top row, color 74
moves from the second row to the top row of colors, following color
86.
The user may also decide, upon viewing the colors in the displayed
palette, that additional colors are needed to complete the palette.
In a sophisticated illustration, for example, the user may need
fine variations on the basic, colors provided with a particular
palette. Two alternatives are available to add additional colors to
the displayed palette.
First, the user may mix or blend his own color from colors already
existing in the palette and displayed on screen 90. When the user
wishes to mix a color, the color "wash" function is available.
Rectangular "color wash" area 84 on screen 90 is where color mixing
is performed. Blending or mixing a new color can be performed for
any two colors of the displayed palette, creating in effect a
digital wash much like the wash of colors performed by an artist
using a paint palette.
To perform a color wash, the user first selects from the displayed
palette two colors using mouse 54, by selecting the first color 87
using the left mouse button on mouse 54 and selecting the second
color 88 using right mouse button on mouse 54.
Referring now to FIG. 6, there is displayed in screen 100 the
results of the color wash function. Color 87a, identical to color
87, is displayed at the far left of rectangular wash area 84, and
color 88a, identical to color 88, is displayed at the far right. In
the illustrated embodiment, a predefined number of colors are
computed the uniform CIELAB space at equal intervals between the
coordinates of colors 87 and 88, and these colors are then
displayed between colors 87a and 88a in rectangular wash area 84,
shown by the dotted vertical lines. Because the range of colors
displays very fine discriminable differences between each one, no
actual lines appear in the wash; the color wash is a smooth,
continuous range of colors between end colors 87a and 88a.
The wash function is a simple linear interpolation between the
three L*, a*, and b* coordinates of the two selected end colors,
producing what is known in the art as an "interval scale". A
predefined range for the interpolation may be provided in the code,
or the range may be left as a user modifiable parameter.
Alternatively, an interval scale of colors based on unit
differences of perceived colors in the CIELAB color space may also
be specified, such that for every two colors selected as end
colors, only colors perceived as different will occur in color wash
rectangle 84, based on the concept of the "just noticeable
difference" unit of perceived colors in CIELAB space. In the
illustrated embodiment, a range of 100 colors is provided in color
wash rectangle 84, depending upon the end colors selected. The code
representing the wash function is provided in TABLE 3.
TABLE 3 ______________________________________ IF doWash AND
(data.selection.left # NIL) AND (data.selection.right # NIL) THEN
BEGIN delta: CIELAB; sel:SelectionDigital .about. data.selection;
IF(data.wash = NIL) THEN data.wash .rarw. NEW [WashRep];
delta.IStar .rarw. sel.right.IStar - sel.left.IStar; delta.aStar
.rarw. sel.right.aStar - sel.left.aStar; delta.bStar .rarw.
sel.right.bStar - sel.left.bStar; FOR i:INTEGER IN [0.. washItems)
DO t:REAL .about. Float[i]/Float [washItems-1]; data.wash[i] .rarw.
NEW [CIELAB]; data.wash[i].IStar .rarw. sel.left.IStar + t *
delta.IStar; data.wash[i].aStar .rarw. sel.left.aStar + t *
delta.aStar; data.wash[i].bStar .rarw. sel.left.bStar + t *
delta.bStar; data.washCache[i] .rarw. ColorFromLAB [data.wash[i]]
ENDLOOP END; ______________________________________
The user may now select any color from the color wash rectangle 84
and add the color to his palette by simply clicking the middle
mouse button of mouse 54 at the location of the color in the
rectangle. If the user selects wash color 92, the selected wash
color 92 is added to the palette array in the memory of system 51
(FIG. 2).
Turning now to FIG. 7, screen 110 illustrates the selected wash
color 92 added in the leftmost position of the top row of the
displayed palette of colors. The most recently added selected wash
color is always added at the same location on screen 110 so that
the user may easily recognize it; this is especially important if
the user is working with very fine variations of colors which may,
upon a quick glance, look very similar. Screen 110 shows that the
remaining palette colors 82, 71, 88, 73, and 86, respectively, have
been redisplayed to the right of the added selected wash color 92,
with the color 86, formerly one position to the left (see FIG. 6)
now appearing in the last position of the top row of palette
colors. The user may add as many colors as he chooses from the
color wash rectangle 84. Each color will be added in the leftmost
position of the displayed palette on screen 110, as just
described.
If the user determines, upon viewing selected wash color 92 against
the gray background and adjacent to other colors in the palette,
that it is not the correct color, he can simply delete it from the
palette, as described above with reference to FIGS. 4 and 5. The
selected wash of colors between colors 87a and 88a remains
displayed in color wash rectangle wash 84, and the user may simply
make another selection.
Successive interpolation or mixing can be used to generate
difficult-to-determine colors. To do this, the user selects two end
colors as hereinbefore described, and selects the best interpolated
wash color 92 for his purposes. After color 92 is added to the
palette and displayed as the first, leftmost color in the top row
of colors as described above, the user may select color 92 as the
left or right end color in the next successive interpolation or
wash. The color wash process as just described may be iterated as
many times as needed by making a new interval scale using the
newest selected color as one of the end points.
In addition, the reference color selection system may be used in
conjunction with the functional color selection system referenced
earlier, to create a color wash between two of the functional
colors selected for a palette of colors using that system. By
selecting and displaying a functional color palette according to
the steps described above, the key color, and the analogous and
complementary harmony colors, with their lightness and chroma
variations, will be displayed. For any two of the lightness or
chroma variations displayed as part of the palette, all lightness
or chroma variations between those two colors may be created using
the color wash function of the reference color selection system, by
selecting the lightest and darkest, or the grayest and most vivid,
colors as end colors for the color wash. Thus, the reference color
selection system may be used to enhance the functionality of the
palettes created with the functional color selection system.
When color mixing has been completed and the palette of colors is
satisfactory for the user's purposes, the palette may be copied to
palette data base 68 using the "save" command.
It is of course clear from the foregoing descriptions for the
reference color selection system that many variations of color
palettes may be constructed in this manner.
CONCLUSION
In view of the foregoing, it now will be seen that the present
invention provides means for facilitating the selection and mixing
of colorimetrically measured colors to be used for computer based
color presentation systems, and provides the ability to blend
colors using the metaphor of the artist's color wash. The color
selection system of this invention is sufficiently straightforward
to enable users who have little, if any, background knowledge or
skill in color coordination to create a sophisticated and complete
palette of colorimetrically accurate colors for use in computer
graphics images. ##SPC1##
* * * * *