openexr-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Openexr-devel] cineon conversion attributes


From: Florian Kainz
Subject: Re: [Openexr-devel] cineon conversion attributes
Date: Mon, 15 Mar 2004 11:42:42 -0800
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030314

Hi Ken,

last week, Rod and I had a fairly long discussion about this.
How difficult conversion to and from Cineon is depends on
how accurate the conversion has to be.  The four parameters
(RefWhite, RefBlack, NegGamma, Offset) may or may not be enough.

If all the images you process come from the same type of negative
stock, scanned with a scanner that gives you Cineon-compatible data,
and you output to a film recorder that expects Cineon data, then
the conversion to and from RGB doesn't have to be very accurate,
as long as the "to RGB" and "from RGB" conversions are inverses of
each other, and as long as the RGB data are approximately linear.
On the other hand, if you are going to combine input from multiple
sources, for example, several types of negative stock, or film
and images shot with digital cameras, then you may have to be a
lot more accurate.  If you have to composite an exploding spaceship
that was shot with a high-speed film camera in front of another
spaceship that was shot with a high-definition video camera, then
the two images should be in the same color space before they are
combined.

For low-dynamic-range images that are meant to be printed, the
International Color Consortium (http://www.color.org) defines
something called an "ICC color profile".  Color profiles allow
conversion of an image from one color space to another.  As far
as I understand it, in the most general case a color profile
consists of a matrix, followed by a curve or gamma value, a 3D
lattice, another curve or gamma value, and another matrix.
Each of those parts is optional; the profile can be made as
simple or as complex as the color transformation that it represents.
For example, if you have enough information, you can use the 3D
lattice part to handle non-linear crosstalk between channels;
if you don't have the information, you omit the lattice.

Something like an ICC profile would probably be useful in OpenEXR,
not only for defining a conversion to and from Cineon or other data
that do not directly correspond to RGB luminance, but also to define
what an image is supposed to look like on the screen or on paper.
(We store scene luminance data in the RGB channels; by definition,
this excludes display transformations such as "film look", or exposure
and dynamic-range compression.)

I think the curves and the lattice in ICC profiles may not work well
for high-dynamic-range images.  I'll be on vacation for the next two
weeks, so I'll have some time to think about adapting color profiles
to high-dynamic-range data. :)

It might also be a good idea to define OpenEXR image channels for
negative density data.  This way, you could send density images to
another company for filmout, and get predictable results without
revealing how the conversion from RGB was done.  (Many companies want
to keep the details of the conversion secret.  Developing and tuning
the conversion process is a major effort, and companies often don't
want competitors to get the recipe for free.)

Florian







reply via email to

[Prev in Thread] Current Thread [Next in Thread]