Hi Elle,

> Is the only source of the ill-formedness 
> of  linear gamma XYZ profiles the fact that 
> at 8-bits there simply aren't enough levels to 
>store or process the shadow information when 
>using a linear gamma profile?

The issue is the lack of perceptually uniformity. XYZ is not
the way WE see the images. And this is not limited to 8 bits, 
you would have to store the image in at 12 to 14 bits in a gamma 
1.0 space to match the same quality you get from storing 8 
bits in a gamma 2.2 space

See here some links:

http://chriscox.org/gamma/
http://www.poynton.com/PDFs/GammaFAQ.pdf

> But what if you store and process at 16-bits or higher?
As said, with 16 bits you could deal with linear XYZ, but
for storage, I honestly believe it is just useless. 
For processing, there are some operations that should be done 
in linear light, then you  can convert to linear, do the 
operation and back to perceptual.

But anyway, I am not trying to convince you or anybody about 
to use or avoid not linear XYZ encoding for image processing. 
I just note that this is an extreme case and for this case the 
lcms defaults does not apply. The CMM *can* deal with that
but you need to provide other flags than default

>"25Mph in a Ferrari" sounds like the editing application 
>would just be crawling. How big of a performance hit is 
>there when doing 16-bit to 16-bit color conversion 
> without optimizing?

On my rather old 2-core laptop, from 17 Mpixels/sec. 
to 1.2 Mpixels/sec.  on CLUT profiles and to 2 MPixels/sec. 
on matrix-curve based.

Based on those numbers, our Ferrari would go from 
25Mph to 212,5Mph when optimization is set. 
It is just a matter of lots of multiplications and additions. 
And yes, it could be coded in SSE, but optimization does 
mostly the same and it is portable. Portability is right now 
a key feature for the library.

Another option is to allow pre/post curves. Using
cmsFLAGS_CLUT_POST_LINEARIZATION | 
cmsFLAGS_CLUT_PRE_LINEARIZATION, I got 9.5Mpixels/Sec, 
which is not full throttle, but still reasonable.


Regards
Marti


-----Original Message-----
From: Elle Stone [mailto:l.elle.st...@gmail.com] 
Sent: lunes, 30 de julio de 2012 13:09
To: Marti Maria
Cc: Boudewijn Rempt; lcms-user@lists.sourceforge.net
Subject: Re: [Lcms-user] What does cmsFLAGS_NOOPTIMIZE actually do?

On 7/28/12, Marti Maria <marti.ma...@littlecms.com> wrote:

> An example of ill-formed  spaces are those that are operating in 
> linear XYZ gamma space.
. . .
> For users, I would recommend to NEVER use linear XYZ spaces. They are 
> good for nothing, nor for storage, nor for image processing.

Is the only source of the ill-formedness of  linear gamma XYZ profiles the
fact that at 8-bits there simply aren't enough levels to store or process
the shadow information when using a linear gamma profile? But what if you
store and process at 16-bits or higher?

> In a 17 nodes grid, most image dynamic range will fall in 5 or 6 
> nodes. And this is the reason you got posterization in shadows: most 
> of dark tones falls in just 1-2 nodes and linear interpolation cannot 
> deal with the non-linear nature of the transform linear-gamma 2.2.
>

> Placing a NOOPTIMIZE in all transforms would prevent problems, but at 
> big performance penalty that is hard to explain just to fix this 
> specific case. It is like you have a Ferrari but you go always at 
> 25Mph just because once upon a time you faced a winding road.

"25Mph in a Ferrari" sounds like the editing application would just be
crawling. How big of a performance hit is there when doing 16-bit to 16-bit
color conversion without optimizing? In other words, how is it manifested
(disk IO? cpu usage? really slow drawing to the screen upon making edits to
the image?, etc) and what triggers the performance hit in such a way as to
be apparent to the end user (the display to screen? doing a whole lot of
conversions all in a row at the command line? having many layers in the
image?, etc)?


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to