Thursday, April 3, 2008

Color Chart: Reinventing Color from 1950 to Today

Carinna Parraman wrote: "Check out the Internet version of the Color Chart exhibition at MOMA in NY, it is beautifully executed and certainly worth a visit."

Follow this link to MOMA to see what you can do with creativity, color, and Flash.

Carrie Mae Weems, blue detail from Moody Blue Girl, 1988

Blue citation from Carrie Mae Weems, Moody Blue Girl, 1988

Wednesday, April 2, 2008

Administrative note and color lawsuits

First an administrative note. Most feedback we get from you, our esteemed readers, is in the form of personal email. Only rarely are we able to generate sufficient controversy to spark a debate in the blog comment section, such as with Non-local realism, An On-Line Color Thesaurus, or yesterday's Revolutionary White Reflectance Standard for Metrology. Therefore, we are happy for every good comment we get. However, as you are aware our blog server is rather crafty, and it is difficult for us to find comments when you replace the post title with your own title. This summer HP will be upgrading to commercial blogging software and this blog will run smoother, hopefully even multilingually. In the meantime here is my answer to a comment on color lawsuits I was unable to locate.

IANAL (I am not a lawyer), so I cannot tell you how many colors the Constitution on the Laws thinks you are seeing or entitled to seeing. From a color science point of view, color does not exist in nature, it is an illusion that is elicited in our visual system.

Colorimetry is the art to predict an illusion from a physical measurement, hence what we do in color reproduction is to try to build models that allow us to make statistical predictions of this illusion. Our supreme authority is the Commission Internationale de l'Éclairage (CIE), which in Definition 845-02-18 defines (perceived) color as follows:

Attribute of a visual perception consisting of any combination of chromatic and achromatic content. This attribute can be described by chromatic color names such as yellow, orange, brown, red, pink, green, blue, purple, etc., or by achromatic color names such as white, gray, black, etc., and qualified by bright, dim, light, dark etc., or by combinations of such names

Perceived color depends on the spectral distribution of the color stimulus, on the size, shape, structure and surround of the stimulus area, on the state of adaptation of the observer’s visual system, and on the observer’s experience of the prevailing and similar situations of observation

Perceived color may appear in several modes of appearance. The names for various modes of appearance are intended to distinguish among qualitative and geometric differences of color perceptions

As all the et cœteras in the definition reveal, there is nothing that allows you to count how many colors you can see. A metric you could use is to enumerate all the color names you can tell, i.e., the size of your color lexicon. However, the color lexicon is acquired, so its cardinality depends on your experience. The cardinality also depends on time, as we name more colors the more evolved the civilization gets.

For example, 2000 years ago, the Romans could not distinguish between blue and green. More recently, 1000 years ago, the Japanese, which had three colors — white/pure (shiroi), black/dark (kuroi), and colorful/red (akai) — added a fourth color to their vocabulary because tree leaves, sky, and the sea are colorful but not red, hence aoi became the name for those things, without distinction between green and blue. Even today midori (green) is not an attribute but a substantive; the color of an unripe apple is blue (aoi), not green (midori) because it does not make sense from a grammatical point of view.

aoi ringo

We can use psychophysics to start with one color, then change is slightly until we perceive a just noticeable difference (JND), increment the counter by one, and start over with the next iteration step. This way we could determine that we can see something between 6,000 and 10,000 different colors. But when you look what populations name distinctly in a color thesaurus, you typically find a 700 to 900 word dictionary.

If we go back to the lawsuit discussed in that blog comment, we could take the position of the electrical engineer and look at the addressable number of colors. When a display can address 16,777,216 colors, this is many more than you can actually see, and even 262,144 is much larger than 10,000. From a color science point of view, the point is moot.

Turning the argument around, a printer can only put down or not put down cyan, magenta, yellow, or black marks. Yet you would not claim the printer is capable of printing only four colors. The trick is that the human visual system (HVS) has a limited resolution and therefore you can halftone colors with dithers.

In display monitors and TV the spatial resolution is much lower than in printers, so instead of spatial dithering, temporal dithering is used, but you still see the same color, it was just cooked differently. Remember, color is just an illusion elicited in the HVS.

One complaint in that post is that you can see artifacts when you can address less than 16,777,216 colors. That is moot too. Give me any two colors on an 8 bit display capable of displaying only 256 colors and I can produce a completely smooth gradient between your two colors, with each step below one JND.

This is the HVS as we know it in color science. IANAL, and I do not know if the law refers to a human visual system. For that matter, I do not even know if lawyers might live in a world where the photons are colored.

To close the loop, if you have comments, do not send me email, post them to the blog without changing the title.

Friday, March 28, 2008

Blue rose

Suntory Ltd. blue roseOn next year's Valentine Day your roses might be blue. Suntory Ltd. has obtained government permission to market the world's first blue rose that it developed in 2004. The company plans to put it on sale in 2009 after building production facilities and sales outlets.

Roses have no genes to create a blue pigment, and rose growers have long worked hard in vain to produce a blue rose. In English, blue rose is a synonym for impossible. Suntory organized a Blue Rose Development Team jointly with its Australian subsidiary in 1990 and successfully produced a blue rose by recombining a gene capable of creating a blue pigment taken from pansy, using gene-splicing technology. In the process of the research, the team has succeeded in developing a blue carnation, which is already on sale in Japan.

A blue-like rose has already been produced by suppressing a red pigment through cross breeding and marketed in the world. But no rose with a blue pigment has ever been marketed yet.

Source: Kansai Window, Kippo News, Vol.14 No.562, Wednesday, February 20, 2008.

Wednesday, March 26, 2008

Performance update

A year ago I posted two entries on hyperthreads and multicores that were relatively popular. A short post on the the Performance Agora has an interesting comparison of the performance of the latest crop of Intel chips suggesting that the 8-way Penryn TPC-C performance now matches a 16-way Xeon of 2 years ago.

Performance experts like Neil Gunther worry mostly about database transactions and servicing HTTPS requests. For us color scientists working on color reproduction systems, the performance picture is different. Historically, we have always been fighting with the problem that we are ten years behind marking engine designers in terms of ripping pages as fast as the printers can consume them.

For us the hour of truth will come at the end of this year, when Intel will start shipping Nehalem. We will have to revisit our software architectures to take advantage of the new QuickPath platform architecture with fast integrated memory controllers. With QuickPath each processor has its own dedicated memory, so we will have to redesign how we map rendering in memory.

Faster bus and better stall prevention, will probably allow us to use more GPUs per system, which will likely require we rearchitect our whole rendering pipelines.

For more details on Nehalem, see Intel's whitepaper. For more details on QuickPath, see this other withepaper.

Tuesday, March 25, 2008

IS&T fellows

On behalf of the 2008 IS&T Honors and Awards Committee, the Society for Imaging Science and Technology (IS&T) today has announced those individuals selected for 2008 IS&T Fellowship. Fellowship is awarded to a Regular Member for outstanding achievement in imaging science or engineering. Ordinarily this will be demonstrated by citing several journal publications or patents for which the candidate is the sole or major contributor. Regular membership in the Society for at least three years prior to the time of nomination is required. At the time of award, the recipient must be a Regular Member in good standing. Not more than five awards per year are bestowed.

The new IS&T Fellows are:

  • Roger David Hersch (Ecole Polytechnique Fédérale de Lausanne) “for his contributions to halftoning, multispectral imaging, and digital typography”
  • Nathan M. Moroney (Hewlett-Packard Company) “for his contributions to scientific experimentation, practical application, and standardization of innovative color imaging technologies”
  • Richard Veregin (Xerox Research Centre of Canada) “for his contributions to electrophotographic toner and developer design”
  • David S. Weiss (Eastman Kodak Company) “for his contributions to the science and technology of electrophotographic imaging materials”

I am proud I can count the first half as longtime friends.

Roger David HerschRoger was a year ahead of me studying mathematics at the Swiss Federal Institute of Technology (ETH) in Zurich. We got to know each other by being both active in the Filmstelle, a student organization that twice a week borrowed cinematographic masterpieces from the Cinémathèque Suisse in Lausanne and exhibited them in a large auditorium.

Nathan M. MoroneyNathan (here with his wife Elizabeth Pirrotta) goes back to when I was taking courses in color science from Robert Hunt and Mark Fairchild at the RIT Munsell Color Science Laboratory and he was a student there. We both ended up at HP Labs and as you know we are partners in crime by conspiring to write this blog for you.

Research policy update

From time to time I have been posting about the research process itself, i.e., research policy. Today I will just post two links to two other blogs with recent posts on this subject.

Jon Stokes writes on ars technica on paying for secrets: national security versus tech innovation, while Neil Gunther writes on Performance Agora on USA High Tech R&D Trending Down.

Saturday, March 22, 2008

This is not Easter Blue

Easter Blue

In a recent paper with Silvia Zuffi and Carla Brambilla on color readibility, we wrote that you can perform psychophysics on the Web even if it is uncontrolled, because the errors average out and you can recruit a large crowd of observers. Sure, Carla had to prune some non-sense outliers, but statisticians know how to do that correctly.

On the other hand, the Germans have the saying "even if a gazillion flies eat shit, this does not mean that shit tastes good." In the color readability test, the task was sufficiently arcane that we can safely assume that the subjects had some domain knowledge and knew what they were doing. But what if the task is so easy and natural that anybody can perform it. Do errors average out when you do a viral Web experiment? Let us find out!

Now that it is Easter, you can go to Nathan's post on his On-Line Color Thesaurus and enter Easter egg blue. His tool will return color #66CCEE shown above. Hmmm. Where does that color come from? No, he did not make up the name. What he did was to use the Internet and his Color Naming Experiment to have a crowd come up with that name. He showed them a patch of #66CCEE and got back Easter egg blue.

How authoritative is this datum? We can search Easter egg blue on the Internet and we get 8,050 hits. A relatively low number, and not a clue on the name's history. We get a better datum by checking the raw data on the server; the number of people who proposed that name where only three. Hardly an authoritative number.

For privacy reasons we do not collect any demographic data from the Web site, so we cannot go back and ask these three people how they came up with the name; we have to come up with a plausible argument.

Easter is not blue. Here in the USA we have the concept of holiday blues, but it refers to the time from Thanksgivings to Christmas. And what do eggs have to do with it? Is it blue eggs then? Indeed, when you tried the query on the on-line color thesaurus you got robin egg blue as a synonym. But when you click on it, you are told it is color #55CCE5. Here are the two color side by side

Easter Blue vs. Robin Egg Blue

They are pretty close, but do not match. The Wikipedia thinks Robin egg blue is color #00CCCC, but they do not give a source.

Egg Blues

by Dmytro SergiyenkoA different approach is needed. Human memory is not cast in concrete, it has to be continuously refreshed by reliving memories. When a human is isolated, his memories are not checked and it drifts. And because memory is associative, we can easily get side-tracked by incorrect associations.

It is possible, that our famous three subjects had at some point heard Easter Blue, but because it does not make sense in isolation, they somehow added egg. Indeed, The ISCC-NBS Color Name Dictionary lists an Easter Egg Yellow, but no Easter Egg Blue. My wild guess is that the three subjects were thinking turquoise.

Turquoise is a strong hint. The next stong hint is: it is not a solid color at all.

Blue and green cabochons showing spiderweb, Bunker Hill Mine, Royston

If you cross the Death Valley from west to east and after enjoying the famous opera at Amargosa Valley drive north on Highway 95, on your right you will drive along the Tonopah Test Range, and finally hit Tonopah. In Tonopah you will find the Easter Blue Mine owned and operated by Danny and Dean Otteson. You can see the very approximate location on this map, and here is information on Nevada Turquoise.

A Web site on the New Nevada Turquoise Trail has a page on Easter Blue, depicting a number of Easter Blue stones you may want to check out. They explain: "The Easter Blue mine is located northwest of Tonopah, Nevada a few miles from the Royston district. Turquoise from this claim has also been called Blue Mountain and Blue Gem. Compared to some of the other deposits in Nevada, the Easter Blue was never considered a large producer and changed hands a number of times. It was discovered in 1907 and the first material found was a fine blue color, usually occurring in thin veins, later the mine produced a blue green turquoise with a light to dark brown matrix. A very pretty turquoise when set in silver."

In reality, naming colors is a difficult research task. To elicit your subjets to suggests the Easter Blue name, you have first to be able to present a large mottled spider web with light blue centers in the webbing. …And no, Easter Blue is not in Nathan's on-line color thesaurus. Instead, it suggests you to use Pastel Blue, which is #7FC5EB and not a synonym of Easter Blue. Lots of research still remains to do.

Happy Easter!

Friday, March 21, 2008

More on print services

My post about print services appears to have caused some confusion. While I prefer to get feedback in the form of comments, so others can also comment and a dialogue is established, here are some clarifications — at the risk of making things even muddier.

The first confusion is when the same word is used for something different, a subtle polysemy problem. What we call now the Internet, was called the ARPAnet thirty years ago. At that time Xerox had Ethernet local area networks (LAN) at its sites, and they were interconnected through gateways to create the Xerox Internet. This Internet was a node on the ARPAnet and used the same naming scheme, so it was seamlessly integrated. For example, you could write my email address as beretta.pa@xerox.com or as beretta@pa.xerox.com.

PARC was also connected to other networks, like the DecNet, but is was not seamlessly integrated and your email address had to finish in !ucb!parc|beretta to find its way to a gateway from which I could access it.

Thirty years ago was before the general availability of workstations, so the ARPAnet did not have many nodes. However, the Xerox Internet had thousands and workstations. Therefore, the researchers at PARC had to solve all the scalability issues before anybody else was even aware of them.

While the Internet connects logical machines, the World Wide Web hyperlinks documents, using a protocol called HTTP. Initially the Web was mostly text-based, but then its inventor at CERN found out how easy it was to implement a graphical browser on the NeXT system, and the rest is history.

first graphical browser

Next, RPC did not disappear, but it was constantly metamorphing. Here is a diagram of the protocol evolution for services Rob Buckley drew several years ago. It stops at 2000, and now there is a number of web service frameworks, a list of which you can find on the Wikipedia.

protocol evolution for services

A popular way to represent Web service architectures is using the so-called three-tier architecture concepts.

three tier architecture concepts

Two popular models are Microsoft's .net and Sun Microsystem's J2EE.

.net to J2EE model comparison

The jargon on the right hand side can be decoded with this J2 acronym list.

J2 acronyms

Finally, print services are not used just for printing but also for proofing. The latter is somewhat delicate, because the print provider needs to maintain control of the proofing device and the viewing conditions. One approach is to use a remote sensor to assess the ambient conditions and then apply a color appearance model (USP 6,078,732 etc.). Another approach is to use an electronic color proof (ECP) node that mediates the sharing of information about the capabilities of nodal color devices, the interpretation of color image data to the devices, and the control of color reproduction (USP 6,157,735 etc.).

remote printing and proofing

Thursday, March 20, 2008

Blue iris

Iris Blue

A Web color like #333399 is easy to remember. How did I get to it? I went to Pantone's Web page for their color of the year for 2008: Pantone® 18-3943 Blue Iris. There I averaged the pixel colors in the depicted Pantone 18-3943 TCX textile swatch and obtained CIELAB value (23, 27, -53), which in RGB hex coordinates is 333399.

Iris at Gamble Gardens, Palo Alto. (c) Giordano Beretta. All rights reserved.How did Pantone get to this color? On their Web page they explain "From a color forecasting perspective, we have chosen PANTONE 18-3943 Blue Iris as the color of the year, as it best represents color direction in 2008 for fashion, cosmetics and home products," explains Leatrice Eiseman, executive director of the Pantone Color Institute®. "As a reflection of the times, Blue Iris brings together the dependable aspect of blue, underscored by a strong, soul-searching purple cast. Emotionally, it is anchoring and meditative with a touch of magic. Look for it artfully combined with deeper plums, red-browns, yellow-greens, grapes and grays."

That was how they selected it. As for the description of this color, they write "Blue Iris is a beautifully balanced blue-purple. Combining the stable and calming aspects of blue with the mystical and spiritual qualities of purple, Blue Iris satisfies the need for reassurance in a complex world, while adding a hint of mystery and excitement."

Wednesday, March 19, 2008

Print services

Computer science — or informatics, as it is called more appropriately in Europe — has a less linear progress history than other technologies. Indeed, many a breakthrough technology was forgotten only to be reinvented several decades later. I had already posted on concurrent programming (in the comments) and color encoding.

For example, the idea of punching the octal codes of a program on a paper tape instead of toggling it in every time on the console switches was so straightforward it got quickly adopted. But already the idea of using an assembler or compiler to generate the octal codes from a formal language took a bit longer to sink in.

Back in the Sixties and Seventies, when computer users were debating on whether 96 column punch cards were better than 80 column punch cards, computer scientists were busy inventing tools to make their professional life easier by using computer technology. However, the semantic gap from what they were doing to the reality of punch cards was so big, that most of not many of their ideas did not make it into the real world, only to be reinvented thirty years later.

One hot topic at that time was distributed computing. Long before protocols like TCP/IP, HTTP, etc. were invented, things were harder to do and had to happen a step at a time. An example was Grapevine, a multicomputer system on the Xerox research internet. It provided facilities for the delivery of digital messages such as computer mail; for naming people, machines, and services; for authenticating people and machines; and for locating services on the internet. You can read about it in Andrew D. Birrell, Roy Levin, Roger M. Needham, and Michael D. Schroeder, Grapevine: an exercise in distributed computing, Communications of the ACM, Volume 25, Issue 4 (April 1982), Pages: 260-274.

Once we can exchange digital messages and name entities, we can call procedures or invoke methods on a different machine. As we can read in the first paragraph of Andrew D. Birrell and Bruce Jay Nelson, Implementing remote procedure calls, ACM Transactions on Computer Systems, Volume 2, Issue 1 (February 1984), Pages: 39-59,

The idea of remote procedure calls (hereinafter called RPC) is quite simple. It is based on the observation that procedure calls are a well-known and wellunderstood mechanism for transfer of control and data within a program running on a single computer. Therefore, it is proposed that this same mechanism be extended to provide for transfer of control and data across a communication network. When a remote procedure is invoked, the calling environment is suspended, the parameters are passed across the network to the environment where the procedure is to execute (which we will refer to as the callee), and the desired procedure is executed there. When the procedure finishes and produces its results, the results are passed back to the calling environment, where execution resumes as if returning from a simple single-machine call.

The components of the RPC system, and their interactions for a simple call

What was powerful in the Cedar implementation of RPC described in this paper, was that it came with a program called Lupine, which automatically generated the user and server stubs to marshall and unmarshall the procedure parameters into messages. Lupine was so powerful that even a dummy like me could implement a distributed service in an afternoon.

It is not that Xerox did not try to productize this technology. Indeed, it created a product version of RPC called Courier and build a whole network systems architecture on this foundation. As an example, let us look how the first print service product evolved from a research effort.

In the early days of personal computers (PC), printing was very cumbersome. It entailed powering down the PC, carrying the disk to the printer room and inserting it into the PC controlling the printer and booting it up, and finally printing. At the end the printer controller had to be powered down, the disk transferred to the original PC, which could then be booted up again.

In the mid 1970 this lead to the invention of the Ethernet for connecting a PC to a printer's controller and the development protocols to transfer data and control over the Ethernet. The basic concept underlying these protocols was RPC. The main protocol was the PARC Universal Packet (PUP).

In the late 1970s Xerox released a commercial version of this architecture, meeting the most stringent Federal requirements, under the name Xerox Network Systems (XNS). XNS supported a large number of services, among which name, authentication, gateway, time; and filing, mailing, printing, scanning, etc. Like PUP, all XNS protocols were based on RPC, specifically Courier. Later TCP/IP was able to be rapidly developed based on the experience with PUP and XNS.

XNS clients use the Printing Protocol to cause documents to be printed on a Print Service. The Printing Protocol model assumes an abstract printer service which has three distinct processing phases: spooling, formatting, and marking.

A client requests service and, if the Print Service is able to grant the request, the client is given a print request identifier. The Print Service provides status of the job, which the client can request via the identifier, as well as a capabilities ticket (Properties).

The print request consists of a list of links to the documents to be printed, as well as a request ticket (Options). The Printing Protocol includes all security requirements of the Government and a priority. The documents are transferred with the Bulk Data Transfer Protocol. The Authentication Protocol is used for security and the Time Protocol is used to manage time.

In XNS the documents have to be in the Interpress page description language, which can be regarded as a precursor of PDF. An important feature of Interpress is that all pages are independent and can be processed independently in any order, as most suitable for the printer.

XNS Print Service architecture

An important feature of XNS Print Services is to assure that a document printed by different printers will look the same and has the same consistent high quality. To achieve this, the XNS architecture specifies the Print Service Integration Standard (PSIS). The PSIS defines the base case to which all XNS Print Services must adhere to assure compatibility. The principal areas addressed by PSIP are: Interpress level, character encoding, naming syntax, font usage, file usage, minimal service provisions, color encoding, and Printing Protocol usage (exception handling).