Showing posts with label printing. Show all posts
Showing posts with label printing. Show all posts

Monday, December 4, 2017

3D printing of bacteria into functional complex materials

A team from the ETH in Zurich and the University College in Dublin has been able to demonstrate a 3D printing approach to create bacteria-derived functional materials by combining the natural diverse metabolism of bacteria with the shape design freedom of additive manufacturing.

They have developed a biocompatible hydrogel with optimized rheological properties that allows for the immobilization of bacteria into 3D-printed architectures at a high accuracy. They have demonstrated two applications: degrading environmental toxins, and making cellulose, which can be used as scaffolds for skin replacements and coatings for biomedical devices that help protect patients against organ rejection.

Immobilization of Pseudomonas putida, a known phenol degrader, when printed allows to degrade phenol into biomass, showing the potential of the 3D bacteria printing platform for biotechnological applications. Immobilization of Acetobacter xylinum in a predesigned 3D matrix enables the in situ formation of bacterial cellulose scaffolds on nonplanar surfaces, relevant for personalized biomedical applications.

Science Advances 01 Dec 2017: Vol. 3, no. 12, eaao6804 DOI: 10.1126/sciadv.aao6804


Schematics of the 3D bacteria-printing platform for the creation of functional living materials

Thursday, July 17, 2014

Tic-tac-toe patent 8,770,625 in color

As noted on lines 23 and 24 in column 4 of the printed version of patent 8,770,625,
the U.S. Patent Office procedure discourages the use of color drawings. This makes Fig. 4 a little hard to visualize for the non color scientist (there are no color figures in Wyszecki & Stiles), so here it is in color (right pane):

Figure 4 of US patent 8770625

The invention is relatively simple. The general field is anti-counterfeiting as it applies to packaging. Professional counterfeiters have no problem faking ordinary measures like serial numbers and holograms, so the trick is to embed information that cannot easily be perceived by a counterfeiter, hence is omitted in the facsimile. Fortunately color does not exist in nature, it is just an illusion happening in our minds. Therefore, all we have to do is to create an illusion you can only perceive if you expect it.

As described in patent 8,770,625, a number computed from the—possibly counterfeited—serial number on the package can be encoded positionally in a tic-tac-toe grid. The marking is just above the visual threshold, so the naive counterfeiter will reproduce the same pattern on all packages. The trained inspector can then quickly assert whether an actual positional code corresponds, for example, to the possibly fake serial number.

Patent 8,770,625 is relatively short with just three claims, but reducing it to practice is a little tricky, even when all the steps are disclosed in the patent. The difficult part is to design the tool to determine experimentally the visual thresholds for the print process being used and the light conditions under which the inspections are expected to happen. You need to be skilled in the art.

The above figure is a screen-shot of that tool. To implement it you need to write a spectral color management system with CIE colorimetry to simulate the press on the display and vision colorimetry to model what the actual human visual system perceives. The details of the controls are explained in patent 8,770,625.

Depending on your viewing conditions, the above color version of Fig. 4 might be under the visual threshold. If that is the case, in the figure below we crank up the saliency and decrease the background coverage, so you will see the encoding for sure. If you have aliasing problems, you can click on the figures to display them at the original resolution in which they were created eight years ago, early July 2006 (time flies).

a more salient alternate to figure 4 of US patent 877,625

Thursday, June 5, 2014

3D print of van Gogh's ear

Vincent van Gogh self-portrait with bandaged ear, 1889

The German artist Diemut Strebe used a 3D printer at a Boston hospital to create a replica of Vincent van Gogh's ear. Strebe said the copy of the ear uses DNA material from Lieuwe van Gogh, the great-great-grandson of Theo Van Gogh, Vincent's brother.

The artifact is on display at the Center for Art and Media in Karlsruhe, Germany through July 6.

Source: Los Angeles Times

Friday, March 21, 2014

3D print selfie

Sony Music Communications Inc. started selling the 3-D Print Figure product last year in which a figure is sculpted using full-color 3-D scanners. To create the figure, the scanner first obtains data through the scanning of a person from head to toe.

Then a computer models the data and outputs images through a 3-D printer using color ink, special bonding materials and white plaster powder. The price for a figure ranges from ¥49,000 to ¥120,000 ($600–$1500), depending on the size. According to Yosuke Takuma, who planned this business for Sony Music Communications, these 3-D figures are popular among people who want to mark such special occasions as weddings and matriculation ceremonies.

Koji Iwabuchi and his wife Yumi visited the studio from Suginami Ward, Tokyo, to order figures to commemorate their 20th wedding anniversary. “It’s like photography at the end of the Edo period as we cannot move at all,” Koji Iwabuchi said. “It’s interesting to feel like Ryoma Sakamoto. In the future, it might become an ordinary thing, but it’s fun that few people have experienced this,” he said. Ryoma Sakamoto (1836-1867) is known as the subject of some famous photos from that time.

Article with pictures

Saturday, February 15, 2014

Amorphous iridescence from 3D printer

The research group of Prof. Frank Scheffold at the University of Fribourg has succeed in creating iridescent plastic cylinders with a 3D printer.

Microscopic or nanoscopic structures can make an object appear to have color, without use of pigment. Examples in nature include butterfly wings and bird feathers, but these are ordered, crystalline structures. Using a high definition 3D printer, a research group at the University of Fribourg has produced a new amorphous (non-crystalline) material with interesting capabilities in this field. The material is an irregular network of microscopic plastic cylinders. It selectively reflects light in the infrared range, and also dramatically reduces transparency. The new class of material has a wide range of potential applications, from packaging, automobile paint, and cosmetics to the processing and transmission of optical signals.

Press release

Monday, July 8, 2013

Tokyo Police to Introduce 3D Printers for Prosecutors in Court

The Tokyo Metropolitan Police Department aims to introduce 3D printers for prosecutors to create more graphic crime scenes in court. The agency will use US-made machines capable of making solid color objects made of plaster using 3D image data captured with portable special cameras. The models will recreate murder scenes, or fire scenes details such as wall colors, shape and furniture layout. The department hopes that such models will assist judges to visualize circumstances such as culprit entry and escape routes as well as crowd member positions at the crime scenes. In current criminal proceedings, prosecutors generally describe crimes using pictures, photos and floor plans; although some of them have had 3D models made manually and used them at trial. The department has already started making prototypes based on the data from several cases. The Metropolitan Police's Criminal Investigation Laboratory introduced 3D printers in 2011 and has since applied them to actual investigations.

Source: Nikkei

Thursday, June 20, 2013

3-D printers now mainstream

One way to tell a technology has crossed the chasm from the visionary early adopters to the pragmatic early majority is when it is written up in your local newspaper. Although 3-D printers have been around for many years, they have been an expensive and fragile tool for techies.

In today's New York Times, Amy O'Leary has written an article describing several examples of things people can do for their everyday life, complete with model recommendations and prices, as well as a link to Amazon's new on-line store for digital printing.

3-D Printers to Make Things You Need or Like

Wednesday, November 14, 2012

Extending the printer gamut upwards

Full color printing started with cyan, magenta, and yellow. Then black was added to extend the gamut down in the shadows. Later spot colors were added to make the gamut wider (Hexachrome, Indichrome, etc.). Now Romain Rossier & Roger David Hersch are adding light fluorescent magenta and yellow to extend the gamut up in the light colors. They are presenting their work at the CIC 20th Conference in Hollywood in the Friday afternoon session on Printing chaired by Jan Allebach. Of course, the slides are limited by the projector's gamut, so you need to be there and look at the actual prints.

Gamut at L*=80

Monday, October 22, 2012

GPU-accelerated Path Rendering

Last May I wrote about a major breakthrough in path rendering on the GPU by Mark Kilgard. I am happy to report that Mark—together with Jeff Bolz—has been hard at work on the rest necessary for a complete raster image processor (RIP). They have invented a new "Stencil, then Cover" (StC) algorithm in which the stencil step is explicitly decoupled from the subsequent cover step.

In the stencil step, a path's filled or stroked coverage is determined. In the cover step, the conservative geometry intended to test and reset the coverage determinations of the stencil step is rasterized, while shading color samples within the path. They have not only achieved fantastic acceleration, but also full completeness and correctness. Usually, the performance killer is the bottleneck between CPU and GPU, like when transparency is computed in the CPU. Kilgard and Bolz solve their revalidation bottleneck by using a configurable front-end processor in the GPU to transition quickly between the stencil step and the cover step.

For more information, see their paper at SIGGRAPH Asia, a pre-print of which is available at this link: http://developer.nvidia.com/game/gpu-accelerated-path-rendering.

Monday, June 4, 2012

Mobile color selection feedback

Commercial color print workflows sometimes require manual intervention to adjust colors, for example to change a background color or the color of rules. Instead of aborting the job, sometimes the color can be changed on the fly. Typically this is accomplished with a color selection tool running on a mobile device, such as a pad computer or a smart phone.

Mobile color selection tools can use the built-in motion sensors for input. For output, due to the limited available screen space, the systems just show a swatch and maybe a color name. We describe a new output design that is well-tailored to motion-sensor based input. Using the right user interface paradigm allows users to work more efficiently, thus cutting costs and increasing profits.

Sometimes a print job requires changing a solid color, for example when the halftoning algorithm creates an unexpected interference pattern (moiré) or when the color does not print well on the particular media. It is then necessary to abort the job and send it back to the client. Such an issue can delay a job for days, possibly causing problems with the service level agreement (SLA).

The previous generation devices like laptops and tablet computers used a graphical user interface (GUI) metaphor known as WIMP, for windows, icons, menus (or mice) and pointing devices. Current mobile devices like slates and smart phones, use a different GUI paradigm known as MPG, for multi-touch, physics and gestures.

As we move beyond WIMPs, the visual feedback metaphors are no longer adequate, because they are optimized for a mouse moving on a two-dimensional plane. Current mobile devices have built-in accelerometers and gyroscopes. With them, movement between points on a plane is replaced with roll, yaw, pitch, and translational movements in three-dimensional space (see this earlier post for an informative video). In this particular implementation, the GUI consists of a colored patch and the color term.

We can provide visual feedback for MPG color selection tools using a rivet metaphor. A rivet is a short metal pin or bolt for holding together two plates of metal, its headless end being beaten out or pressed down when in place. Here are two examples of rivets. Left: Round head. Right: flat head.

Two examples of rivets. Left: Round head. Right: flat head.

Regardless of how the MPG GUI maps the Tait–Bryan angles yaw, pitch and roll, as well as translational movements and acceleration into color specifications, either absolute or relative, we use the image of a rivet to provide feedback.

The rivet head provides feedback on the total available color gamut and the hue at the center of the edge towards the user indicates the currently selected hue correlate. The length of the cylindrical shaft indicates the currently selected lightness correlate. The shaft diameter indicates the chroma correlate.

We anticipate that the user can easily learn the correspondence between MPG input and the effect on the color selection process, thus providing a very effective tool.

The figure below shows the current state of the art for WIMP operating systems. The left window is from the Windows operating system, where the color selection tool has three panels. On the bottom right is a panel showing a patch with the currently selected color and the previous selection. On the bottom left are the RGB counts. The top left is the graphical color selection panel.

Color selection tools in operating systems. Left: Windows. Right: MacOS

Regarding color selection tools in applications, they mostly use the tool provided by the operating system. One notable exception is the color selection tool in Photoshop. This application actually has two color selection tools, one simple and fast for the experienced user, and one more detailed for careful color selection. We describe first the simple tool at the left of the figure below and then the detailed tool at the right.

Color selection tools in Adobe Photoshop. Left: simple. Right: detailed

The simple tool has three panels: a sample patch (actually two: one each for foreground and background), a set of three sliders for RGB counts, and a complex graphical single point selection panel. The single point panel is a rectangle where the abscissa is a correlate for perceived hue. The ordinate is a correlate of saturation, which contains both lightness and chroma. This hue–saturation paradigm allows color specification through a single two-dimensional point, at a possibly increased cognitive cost.

The larger window at the right side of the above figure is Photoshop's detailed color selection tool. On the top right we note the split old and new color patches as in the Windows tool. The slider in the middle is used to select the hue, while the chroma and lightness are selected in the large square at the left. In this square, the abscissa is a correlate of chroma, while the ordinate is a correlate of lightness.

All these tools have evolved from the early days of color GUIs and are optimized for input on a two-dimensional surface with a mouse. The slider interfaces are actually older, when the early interactive graphics workstations had dials for data entry.

Like everywhere else in our lives, also on the print shop floor we transitioned from desktop and laptop computers to mobile devices like pads and smart phones. Parallel to this transition is the paradigm shift from WIMP to MPG GUIs and the visual feedback for three-dimensional input devices must be different from that for two-dimensional devices.

We use a feedback mechanism in the approximate shape of a rivet, which can change its location and orientation in space in accordance to user gestures. This mechanism changes its appearance according to the color being selected.

The rivet head represents the color gamut. It can be either a flat head showing the gamut in a chromaticity diagram, or a three-dimensional head showing the full gamut (with transparency to optionally mark the currently selected color). When users change the hue through a gesture, the rivet rotates along its symmetry axis, so that the currently selected hue is always pointed towards the user.

The shaft is used to represent chroma and lightness. The shaft length is proportional to the current selection's lightness and the shaft diameter is proportional to the current selection's chroma. The shaft itself is colored in the current selection's color.

Yaw, pitch, and roll, also known as Tait-Bryan angles, named after Peter Guthrie Tait and George H. Bryan, are a specific kind of Euler angles used to define the relative orientation of an object with respect to some reference orientation, usually a set of reference axes. The three angles specified in this formulation are defined as the roll angle, pitch angle, and yaw angle. Yaw, pitch and roll are used in mobile devices where the object in question is the handheld device itself.

The figure below illustrates the Tait-Bryan angles. They can be statically defined using a line of nodes constructed by the intersection of two non-homologous planes (for example XZ and xy are not homologous planes), unlike proper Euler angles which use homologous planes (for example XZ and xz).

Tait-Bryan angles

This second kind of Euler angles is such as it is equivalent to three rotations composed with a different axis, z-y-x for example. There are therefore six possibilities of this kind (xyz, xzy, zxy, zyx, yzx, yxz). They behave slightly differently than Euler angles. In the zyx case, the two first rotations determine the line of nodes and the axis x, and the third rotation is around the axis x.

Because the line of nodes is the intersection of two non-homologous planes the pitch angle is measured from the horizontal plane instead of the vertical axis. Therefore this kind of construction would give a pitch equal to zero for an airplane flying horizontally while the first kind of Euler angles would assign it an angle of π/2.

Since this terminology originates in aeronautics, in this section we use an aircraft instead of a handheld mobile device, but the physics is the same. The concepts are shown in this figure:

RPY angles of airplanes and handheld mobile devices

Yaw, pitch and roll are used in aerospace to define rotations between a reference axis system (world frame) and a vehicle-fixed axis system (body frame), which in the context of an aircraft sometimes are called its heading, elevation and bank.

Consider an aircraft-body coordinate system (body frame) with axes XYZ which is fixed to the vehicle, rotating and translating with it. This intrinsic frame of the vehicle, XYZ system, is oriented such that the X-axis points forward along some convenient reference line along the body, the Y-axis points to the right of the vehicle along the wing, and the Z-axis points downward to form an orthogonal right-handed system.

Consider a second coordinate system (world frame) with axes xyz, aligned having x pointing in the direction of true north, y pointing to true east, and the z-axis pointing down, normal to the local horizontal direction.

Given this setting, the rotation sequence from xyz to XYZ is specified by and defines the angles yaw, pitch and roll as follows:

  • right-handed rotation Ψ ∈ (-180, 180] about the z-axis by the yaw angle
  • right-handed rotation θ ∈ [-90, 90] about the new (once-rotated) y-axis by the pitch angle
  • right-handed rotation φ ∈ (-180, 180] about the new (twice-rotated) x-axis by the roll angle

The motion of an aircraft is often described in terms of rotation about these axes, so rotation about the X-axis is called rolling, rotation about the Y-axis is called pitching, and rotation about the Z-axis is called yawing.

The equivalent MPG feedback to the WIMP feedback in the above figures is shown on the top side of the figure below. In this example we use the flat head rivet metaphor from the right side of rivet figure above. It is obvious how to generalize to the three-dimensional gamut as mentioned earlier.

the user has selected a dull green

the user has selected a dull green

the user has rotated the hue towards yellow and increased both lightness and chroma

the user has rotated the hue towards yellow and increased both lightness and chroma

In this case the gamut is a chromaticity diagram, referring to a ZR-class HP display. Since CIELAB does not have a chromaticity diagram, we use the CIELUV space. For a most sophisticated feedback, a color appearance space like CIECAM02 could be used, rendered with transparency to show the position of the mark for the selected color. For a simpler feedback, the rivet could be displayed in a pure frontal projection, with a hue ribbon lining the flat head edge. In the higher figure above, the rivet is rotated along the symmetry axis so that the same green as in the color selection tool figures at the beginning is in the front.

The shaft is colored in this green, its diameter corresponds to the chroma and the length to the lightness.

The lower of the above figure shows what happens when the user moves the mobile device to select a yellow color. The head rotates so that yellow is now on front. The shaft is colored in this yellow and has become longer and thicker. The left and right sides of the figure are at the same scale.

In summary, I have described how the feedback for color selection tools for a WIMP GUI are not adequate for mobile devices, which make extensive use of MPG GUIs. I have presented a rivet metaphor that provides a much more ergonomic representation of the color selection tool's state. This radically new representation allows print shops to work faster and more reliably when they have to select or modify colors, thus preventing a disruption of the workflow.

Providing a commercial print workflow with superior tools will cut costs due to workflow exceptions and maximize the press owner's profits. A successful customer will buy additional presses from the vendor and use more consumables.

Wednesday, May 30, 2012

Path rendering on the GPU

Archimedes of Syracuse famously claimed "give me a place to stand on, and I will move the Earth." Understanding the principle of the lever is key for being successful in technology.

Thursday, February 23, 2012

Local optimization

I received a question about the paper Assessing color reproduction tolerances in commercial print workflow mentioned in a recent post. The interlocutor asks why I bother creating custom color scales, instead of just using the Farnsworth's 100 Munsell hues: the implementation would be much simpler.

I believe this question is a nice example of the difference between a color engineer and a color scientist. Let me explain:

Saturday, January 28, 2012

Assessing color reproduction tolerances in commercial print workflow

The presentation of this paper was somewhat hasty, because I forgot to finish the slides. I only realized this while I was setting up my laptop and quickly thumbed through the slides. I only had the short time during the break to quickly assemble the presentation by copying chunks from the paper, while also trying to help Dr. Tastl who was having a problem getting PowerPoint to recognize the projector. I guess this is what happens when we are burnt out…

Monday, June 27, 2011

pre-press is dead

Managers sometimes argue that it is not necessary to attend conferences, because the papers can be read more efficiently in the proceedings. As several post in this blog prove, this is not true, because there are all the discussions in the Q&A periods, breaks, receptions, etc.

One tidbit picked up at the last AIC meeting is that a report will soon appear proving electronic displays are now equivalent to paper in reading efficiency and comfort. It is an easy guess, that in the near future Apple will apply its 326 ppi retina display to the iPad and Samsung will do a corresponding move with its AMOLED based One Cell Touch display OCTA on its Galaxy line. Add E Ink's Triton and it becomes clear that squirting ink on dead trees is a thing of the past. Adobe's latest Creative Suite release is testimony to this shift.

Accordingly, pre-press is a dead word. Please write or say pre-media from now on.

Thursday, March 31, 2011

Parallel Error Diffusion Update

In January I wrote a post on parallel error diffusion. In the meantime the paper has been published with this citation: Yao Zhang, John L. Recker, Robert Ulichney, Giordano B. Beretta, Ingeborg Tastl, I-Jong Lin and John D. Owens, "A parallel error diffusion implementation on a GPU", Proc. SPIE 7872, 78720K (2011); doi:10.1117/12.872616. The link is http://dx.doi.org/10.1117/12.872616. In that paper we focussed on achieving a possibly efficient CUDA implementation of the BIPED algorithm.

A new paper, Yan Zhou, Chun Chen, Qiang Wang, Jiajun Bu and Hua Zhou, "Block-based threshold modulation error diffusion", J. Electron. Imaging 20, 013018 (Mar 25, 2011); doi:10.1117/1.3555132 just appeared in JEI. Their focus is on achieving a possibly high image quality with BIPED. Lacking performance data, I do not know how it performs compared to sequential ED. The link is http://dx.doi.org/10.1117/1.3555132.

Tuesday, March 29, 2011

Meta-Palette


When we think about places we have never visited, we build on other information about the place—the stereotypes—we have gained from various information sources, like friends, movies, documentaries, books, and newspapers—or YouTube in this day and age. About the Silicon Valley, the stereotype is that of the young entrepreneur who drops out of college to start up a company and become a billionaire before the tender age of 25.

In reality, most technologists here are just gnomes that work hard to make a contribution to humanity. The difference to other places in the world is that we do have the opportunity to create billion dollar businesses in technology, but as for our personal lives, they tend to be very modest, both in monetary term as well as in terms of fame or peer recognition. After all, being charismatically challenged is one of the reasons for becoming a programmer.

When I moved to the Valley with a freshly minted doctorate in computational geometry, for three years I worked on design rule checking. The task was not easy, especially from the point of view of the group dynamics. The project was building the next generation workstation—called Dragon—using full custom VLSI design instead of the ECL bit-slice technology common at the time.

The bootstrap problem was that there were no tools to design chips of such complexity (the Dragon had four to eight processors with separate IFU and EU chips, plus bus arbiter, memory controller, floating point unit, display controller, etc.). We leaned on principles from UCB's Magic and Spice tools to create our own. The key difference was that to handle the complexity of Dragon (each chip had an individual designer using a 32-bit Dorado with 8 MB of RAM), the tools we were inventing were hierarchical.

Although at first doing a hierarchical design instead of a flat design looked like a stroke of genius because of the bit parallelism, in practice it was a fata morgana. Indeed, designers tended to use the hierarchical features as macros, and the design was flat. The cells just contained the repetitive geometry, the key logic being added on top flat above the hierarchy, globally across the chip.

Therefore, maintaining the hierarchical design rule checker was in large part an act of self-flagellation. Nevertheless, I was puzzled by the enormous amount of design rule violations I was seeing. The designers were the best of the best in the world; why would they do so many mistakes?

I was most puzzled by the very high incidence of using the wrong sex diffusion over wells. Originally the underlying technology was NMOS, but when I joined the project they had already switched to CMOS, and as the designers were learning the new technique, the sex of diffusion was one thing on which they were really focusing. Why did they err so frequently?

I decided to study the problem and talked to each designer asking them to explain me some layout created by a different designer. I quickly noticed, they were not able to read the layout: they had to physically deconstruct it in order to navigate it. In my view, this was a shortcoming of the layout editor and I thought I can fix it by using a more appropriate color scheme.

As I learned, the specific colors came from Carver Mead and Lynn Conway's book written at PARC. At that time the thickness of the layers on a chip was in the range of visible light, so when you looked at a chip under a microscope in transmission mode, you would see each layer in a different color, according to its thickness.

Detail of an NMOS chip

Since the whole point of Mead and Conway's design technique was to abstract from the physical reality, I thought this coloring was arbitrary and I could come up with a better coloring. However, I immediately found myself accused of anathema: the colors by religion must be red for polysilicon, green for diffusion, yellow for gates, and blue for metal! Never mind the wells were also yellow and there were two metal layers.

Wary of religious wars, I decided to learn about color so I could nudge the colors to make layout more readable. I contacted the color scientists in Gary Starkweather's group and Mik Lamming kindly lent me his copy of Wyszecki and Stiles, telling me it contained all I needed to know about color.

After reading about 150 pages, I learned enough to come up with a coloring scheme, which essentially consisted in nudging the colors so that poly and diffusion would try to preserve their lightness, while the metal layers would preserve their hue. This made the layout appear transparent, so one could follow a wire no matter what other wires were under or above it.

This concept of transparency in IC designs is different from that of real world transparency, because—for example—it must prevent large power or clock wires from hiding the layout under them.

At that time my assignment was to automate the printing of checkplots, so I integrated the new color scheme in the plotter driver. This is how the layout for an inverter looked with the old driver:

Inverter checkplot

Although with the new color scheme the layout was much more readable, most of the designers were shocked about the radical change. I tried to compromise by sitting down with each designer and try to reach a compromise on the color scheme.

It was at this time that I realized some of the designers had serious color discrimination problems. Unfortunately, they declined to be tested for color vision deficiency, but I developed a strong suspicion that one designer was a dichromat and another was either a dichromat or seriously anomalous.

Anyway, due to the memory restrictions, the designers were driving the color displays in 8-bit mode and each workstation had both a color and a black-and-white display, because text was too fuzzy on the color displays of the time. I wrote a little graphical tool called Meta-Palette running on the black-and-white display that had a chromaticity diagram with a mark for each color map entry, whose RGB values I could change by simply dragging around the corresponding mark. With the designers, I then created a couple of consensus palettes, which I made user-selectable in the printer driver.

This is the same inverter layout as above rendered with one of the preferred color palettes:

Inverter checkplot

The number of design errors dropped dramatically to a manageable number, but the intervention still had strong religious opposition.

I wrapped up my work in a technical report and moved on to greener pastures in the new Electronic Documents Lab (EDL):

EDL-88-3

This report was sort of a kitchen sink, focusing more on the system integration aspects than on the color problems in rendering logical circuits for VLSI design. Therefore, I later doubled up with a shorter report just on the color problem:

EDL-88-7

I never submitted them anywhere because I immediately went on to tackle the more general problem of selecting colors for creating electronic documents. I used the same implementation strategy as for the VLSI design tool. However, the illustrator Gargoyle was used mostly in full color mode (24 bits), so to edit the colors by dragging marks in chromaticity diagrams I had to copy the colors into a hash table (metaphor: apply turpentine), noting that a typical 512 pixel square image typically contains only 26,000 different colors and most often less than 256.

After editing the colors in the color map I had to write them back into the Gargoyle data structure (metaphor: apply fixative). This is shown in the video at the top of this post.

Despite eloping to EDL, I did not escape the religious color wars. When I implemented the Xerox Color Encoding Standard as a color management system, I carefully optimized the inner loops so that managed color would render faster than unmanaged color, assuming it would be generally adopted by the Cedar community.

However, despite the efforts of my more charismatic colleagues to explain colorimetric color reproduction, generally the idea that a device-independent colorimetric color specification would be a good universal solution for portable color documents, the general belief was that any device RGB values specified by an author were the holy untouchable truth.

The idea that a printer produced a different color appearance for the same device coordinates than a display monitor was considered to be a failure of the printer designers. The religious fervor was so strong, that many people preferred to manually gamut-map color one by one by modifying color values in a simulation of the print, rather than accept color management and its automatic gamut mapping by algorithm.

Despite this fervor, most people did not really understand the concept of gamut mapping, let alone additive and subtractive color. Encouraged by the unexpected success of the flamingo movie, yet unable to defend my work in a talk, I decided to do a video explaining my work and then let people watch the video. This is the video at the top of this post.

In summary, Meta-Palette is an interactive tool to edit a color palette colorimetrically. To achieve device independence, I implemented a color management system (CMS) based on the Xerox Color Encoding Standard. Since device independent color was not generally accepted at the time, I did not use the CMS to just match color across devices, but to simulate how the same device coordinates are rendered across devices.

With this, you might just think I was a moron who lacked the persuasive skills to evangelize device independent color reproduction. This is not so. Half a decade later, Adobe created PostScript Level 2 (PS2) with colorimetric color reproduction. PS2 being device independent, you would expect that color would be encoded in a device independent colorimetric manner. However, based on the feedback from its professional users during the design and implementation phase, Adobe stored the color data in the input device coordinates, along with the devices profile.

The reason the printer's gamuts were so limited was because the inks and toners still had toxicity problems, especially liquid electrophotography.

Versatec liquid electrography color printer with checkplot

It would take a decade for printers to achieve a gamut comparable to that of a CRT display monitor. This progress, however, did not bring a renaissance of colorimetric color reproduction. Instead, it brought sRGB, where the same device coordinates are sent to every device. In retrospect, the skeptics of yore were right.

As for colorimetric color reproduction, it has achieved full maturity with ICC version 4. However, mostly due of its ignorance of workflow, managed color is still a nightmare almost 30 years later.

Tuesday, February 8, 2011

More on combatting bit rot with steganography

Last December First, I wrote about the story behind the data glyph technology and the preservation of digital images (here is the link). As it happens, at the Electronic Imaging Symposium two weeks ago, two papers presented recent progress on this technology.

Gaurav Sharma's presentation disclosed an extension of Tom Holladay's rotated dots from grayscale to full color. The authors were particularly concerned about the æsthetic quality of the images with the added payload. They conclude in their paper:

In this paper, we present a high capacity image barcode scheme for applications that require both high capacity and pleasing visual appearance of the encoded region. The scheme combines orientation modulation based data encoding on per-channel basis and color separation. We demonstrate that significant performance improvements can be obtained in terms of embedding rates by sacrificing image fidelity in favor of embedding robustness. Our simulation and experimental results indicate that dot orientation modulation based data embedding can achieve high embedding rates and well suited for per-colorant channel based data encoding in printed documents.

Link to the paper: http://dx.doi.org/10.1117/12.872215. Citation: Orhan Bulan, Basak Oztan and Gaurav Sharma, "High capacity image barcodes using color separability", Proc. SPIE 7866, 78660N (2011); doi:10.1117/12.872215.

Robert Ulichney's presentation described a system specifically for solving the image bit rot problem. The method presented was grayscale, so the payload would not be in the image's halftoning, but in a logo or other monochrome ornamental artifact.

The novelty is that the halftoning method is not Tom Holladay's rotated dots but a new algorithm called stegatones. Compared to the rotated dots, which allow a binary code, stegatones consist of 1-bit to 3-bit carriers, thus allowing a much higher capacity payload. The authors conclude:

We have improved on the scheme reported earlier for hardcopy image backup by embedding metadata into a steganographic halftone object. The advantages of this approach are:

  • a better æsthetic presentation of the photo archive
  • the elimination of the need to solve the complex OCR problem
  • a more compact representation of the color tiles and metadata
  • a layout for which auto-alignment is easier and thus the data is more recoverable

Building on the original motivation to use an analog hardcopy means of long-term image storage, our solution transcends hardware obsolescence by requiring any means of scanning the data coupled with the recovery software. While we can predict that hardware for reading digital storage media will likely not be available decades from now, some means of hardcopy scanning will be. So our strategy shifts the need to archive recovery hardware, to archiving recovery software. Long term recovery then depends on the availability of generic source code that includes means to read the accompanying stegatone.

Unfortunately the authors do not address the requirement to preserve a system capable of running the recovery software, so we are still stuck in the PhotoCD problem.

Link to the paper: http://dx.doi.org/10.1117/12.872612. Citation: Robert Ulichney, Ingeborg Tastl and Eric Hoarau, "Analog image backup with steganographic halftones", Proc. SPIE 7866, 78661I (2011); doi:10.1117/12.872612

If you missed the conference, you can easily read the two papers after downloading them from the two links above. However, you would have missed the conversation in the hall after Ulichney's talk. Actually, Elvis had already left the building, when a conversation started with Reiner E. from Rochester and Keith K. from Kihei.

We were wondering how far back this and the related technologies go. Reiner now has the date: 1982. During his first visit to the DGaO Conference (Deutsche Gesellschaft für angewandte Optik e.V.) he was getting a 'free ride' for operating the slide projector.

The talk contained the following: since digital storage is too expensive and cumbersome :-) and since it is always better to store in human readable form, since all other forms will disappear over time: create a system that stores digital in a human readable format. Data was from some satellite images (or other high quality imaging system).

Each data pixel (M > N bit) was converted to a N bit signal, where the N bits will be used as human readable signal and directly converted into an 'explicit' halftone. Meaning each pixel will get its own halftone cell with the corresponding number of elements set to "on". Since M > N, we have a many-to-one map and thus will create an M bit lookup-table for the explicit halftones, where the Mi,j that map to Ni have the identical number of 'on' bits, but in different spatial arrangement. Such a system was known in the digital field, but Reiner is not sure about the name. It is a less than optimal system for information density.

Camille Flammarion, L'atmosphère: météorologie populaire, Urbi et Orbi

Tuesday, January 25, 2011

ICC profiles: are we better off without them?

In ten minutes we are presenting our provocative paper on ICC profiles in the session on the Dark Side of Color in the Harbour Room A here at EI. In case you did not make it, here are our slides:



Monday, January 17, 2011

Parallel Transparency

Technology allows everybody to do their own work without assistance. When office automation software programs allowed office workers to create professional quality documents, graphic artists had to take the sophistication of high-concept design up to the next level, above the abilities of office tools.

One of the key techniques has been the heavy usage of transparency. Consequently, commercial printers see a large number of documents containing transparency. The specification of transparency in PDF is very sophisticated, well above to the simple transparency used for example in video games.

Therefore, adding transparency to a GPU-based RIP is quite a challenging task. Indeed, not only has the complex PDF transparency to be implemented, but it also necessary to implement an ICC color management module on the GPU. And it all has to work on tiled images.

At the Electronic Imaging Symposium, John Ludd Recker from HP Labs will report on his experience implementing GPU-based transparency in Ghostscript. His lecture on A GPU accelerated PDF transparency engine will be in the Conference on Parallel Processing for Imaging Applications.

Useful links:

Friday, January 14, 2011

Parallel Error Diffusion

From the earliest days of digital color reproduction, there has been a need to add vector processing units to achieve viable executions times. For many imaging operations, algorithms can easily be vectorized because they operate independently on the pixels. However, some operations are spatial: sharpening, compression, error diffusion halftoning, etc.