- From: Tavmjong Bah <tavmjong@free.fr>
- Date: Tue, 21 Feb 2012 09:36:53 +0100
- To: Rik Cabanier <cabanier@adobe.com>
- Cc: 'Alex Danilo' <adanilo@google.com>, Leonard Rosenthol <lrosenth@adobe.com>, Chris Lilley <chris@w3.org>, Erik Dahlstrom <ed@opera.com>, "public-svg-wg@w3.org" <public-svg-wg@w3.org>
>
> Regardless 1 + 2 - 2 = 1 although the intermediate results can peak at
3 is what this is supposed to be discussing.
>
Speaking of the feComposite filter, it is important to note that the
arithmetic k values can be negative or larger than 1. My Solar Flare
example[1] is broken in Firefox and WebKit (works in Opera), I believe,
do to this. This should be more explicitly noted in the spec; there is a
test case (filters-composite-03.f.svg) for it for which only Batik and
Opera pass.[2]
Tav
[1] Last example at:
http://tavmjong.free.fr//INKSCAPE/MANUAL/images/FILTERS/index_complex.xml
[2]
http://www.w3.org/Graphics/SVG/Test/20110816/status/implementation_matrix.html
On Mon, 2012-02-20 at 14:45 -0800, Rik Cabanier wrote:
> Alex,
>
>
>
> Sorry but L<0 or L>100 is invalid and should not be used to do color
> calculations. I’m sure the math might give you reasonable results, but
> it is not right.
>
>
>
> Moving back to the original email that started this conversation, you
> claim that intermediate values that are negative or greater than 1 are
> fine.
>
> Reading the SVG spec for feComposite:
>
> This filter performs the combination of the two input
> images pixel-wise in image space using one of the Porter-Duff
> compositing operations: over, in, atop, out, xor. Additionally a
> component-wise arithmetic operation (with the result clamped between
> [0..1]) can be applied
>
>
>
> so, it seems that the spec writer was aware of this issue.
>
> I believe this is an oversight because the author forgot that we were
> in premultiplied alpha space (which also not belongs in the spec
> imho).
>
> I agree with Stephen Chenney that the spec should read:
>
> With the result clamped between [0..1] for the alpha
> value and [0…alpha] for the color values
>
>
>
> I agree with you that having intermediate values that are not
> colorimetrically correct is fine.
>
> However, these intermediate values should not the input or output of a
> SVG filter.
>
>
>
> Rik
>
>
>
> From: Alex Danilo [mailto:adanilo@google.com]
> Sent: Monday, February 20, 2012 1:11 PM
> To: Leonard Rosenthol
> Cc: Rik Cabanier; Chris Lilley; Erik Dahlstrom; public-svg-wg@w3.org
> Subject: Re: Agenda, 16 February 2012 SVG WG telcon
>
>
>
>
> A value of L > 1 in an Lab color space is valid and may not be
> representable by an ICC profile. You are talking about 2 different
> things - able to be processed by an ICC color model engine, and out of
> gamut.
>
>
>
>
> Regardless 1 + 2 - 2 = 1 although the intermediate results can peak at
> 3 is what this is supposed to be discussing.
>
>
>
>
>
> Alex
>
> On Tue, Feb 21, 2012 at 2:22 AM, Leonard Rosenthol
> <lrosenth@adobe.com> wrote:
>
> Colors outside the current profile (which may be the default sRGB or
> may be an arbitrary one if the icc-profile() is used) are indeed
> invalid.
>
>
>
> Leonard
>
>
>
> From: Rik Cabanier
> Sent: Sunday, February 19, 2012 10:57 PM
> To: Leonard Rosenthol; Alex Danilo
> Cc: Chris Lilley; Erik Dahlstrom; public-svg-wg@w3.org
> Subject: RE: Agenda, 16 February 2012 SVG WG telcon
>
>
>
>
> Leonard,
>
>
>
> so do you agree that colors outside the normal RGB range are invalid?
>
>
>
> His colorspace is sRGB which means that his profile is created
> from/for colors that can be displayed by the monitor.
>
> Doing math with colors that fall outside that boundary, is invalid and
> will produce incorrect results.
>
> In this case, he should be working in more complete colorspace (like
> lab). Of course, few clients actually want this, just like few want a
> DIC workflow.
>
>
>
> Rik
>
>
>
> From: Leonard Rosenthol
> Sent: Sunday, February 19, 2012 7:21 PM
> To: Alex Danilo; Rik Cabanier
> Cc: Chris Lilley; Erik Dahlstrom; public-svg-wg@w3.org
> Subject: RE: Agenda, 16 February 2012 SVG WG telcon
>
>
>
>
> There’s a difference between a color being out of gamut and a color
> not being valid for a given profile. And it also depends on whether
> it’s a LUT-based profile or a calculated profile. So if you are going
> to base your color model around that of the ICC (which would make
> sense, since it’s the industry standard for color management), then
> you need to be sure to map to that model.
>
>
>
> If you want to be future looking in terms of color, then look at
> Spectral color models – which is where ICC.2 is headed.
>
>
>
> Leonard
>
>
>
> From: Alex Danilo [mailto:adanilo@google.com]
> Sent: Sunday, February 19, 2012 7:03 PM
> To: Rik Cabanier
> Cc: Chris Lilley; Erik Dahlstrom; public-svg-wg@w3.org
> Subject: Re: Agenda, 16 February 2012 SVG WG telcon
>
>
>
> Hi Rik,
>
>
>
>
> Yes they are valid results - but not necessarily useful:-)
>
>
>
>
>
> Implementations usually can't store them - especially if you're using
> 8-bit per component RGB. So in many cases they get clamped at
> intermediate stages but certainly there's no color science reason
> those values aren't legit.
>
>
>
>
>
> In RGB the > 100% values represent fluorescent colors, i.e. they are
> brighter than full white, so that could represent a light source
> fluorescing under sunlight, etc.
>
>
>
>
>
> When I did filters some time last year I ended up having to move to
> 16-bit linearRGB space to eliminate banding, and there no reason a
> color management engine shouldn't be able to handle out of gamut
> colors etc. by using floats/fixed point or similar.
>
>
>
>
>
> However, practical considerations may well limit what is nice to
> process as intermediate results. So I can see why people don't like
> the idea of unusual values in the intermediate filter results, and the
> spec. doesn't limit intermediate color values, but clamping to
> something sensible at the end of the chain may well produce better
> results than limiting each stage of the pipe.
>
>
>
>
>
> Alex
>
> On Sat, Feb 18, 2012 at 3:02 AM, Rik Cabanier <cabanier@adobe.com>
> wrote:
>
> Hi Alex,
>
>
>
> Are you saying premultiplied alpha where the color component are
> greater than the alpha value (or negative) are valid results?
>
> Even with linearRGB, we are still in the RGB colorspace (not XYZ or
> some other hypothetical space)…
>
>
>
> Rik
>
>
>
> From: Alex Danilo [mailto:adanilo@google.com]
> Sent: Thursday, February 16, 2012 4:45 PM
> To: Chris Lilley
> Cc: Erik Dahlstrom; public-svg-wg@w3.org
> Subject: Re: Agenda, 16 February 2012 SVG WG telcon
>
>
>
>
> +1 to that.
>
>
>
>
> There seems to be some disconnect between what colour management is
> about recently.
>
>
>
>
>
> For example the recent thread (on webkit-dev perhaps?) about filters
> generating colour that's 'illegal' - i.e. the colour channels greater
> than the alpha in pre-multiplied form is wrong. It's just a
> fluorescent colour.
>
>
>
>
>
> We really should ensure we do colour science properly.
>
>
>
>
>
> Alex
>
> On Thu, Feb 16, 2012 at 11:49 PM, Chris Lilley <chris@w3.org> wrote:
>
> On Thursday, February 16, 2012, 10:14:36 AM, Erik wrote:
>
> ED> Missed one thing:
>
> ED> * color-interpolation-filters
> ED>
> ED>
> http://www.w3.org/mid/CAGN7qDDh_yJX_EzWNtuvW3N_eywgvB3MioMn6FoP_p8kHTwh-A@mail.gmail.com
>
>
> Are we discussing:
>
> a) how to specify the longhand, element-based equivalent to each of
> the css shorthand properties (which will include the value of the
> color-interpolation-filters property,
>
> or
>
> b) whether to remove color-interpolation-filters and
> color-interpolation, thus breaking backwards compatibility and
> destroying improvements in color management in SVG2, because of flawed
> understanding of basic concepts like gamma, chromaticity, and so
> forth?
>
> If a) then I am all in favour of providing the longhand equivalents
> and would like to see tests that put the longhand and shorthand side
> by side so we can check that implementors are doing the right thing.
>
> If b) and we are seriously considering legislating the dumb approach
> to RGB, then I have strong objections to such a wrong-headed approach.
>
> I can provide links to further reading if people need to brush up on
> basic concepts.
>
>
> --
> Chris Lilley Technical Director, Interaction Domain
> W3C Graphics Activity Lead, Fonts Activity Lead
> Co-Chair, W3C Hypertext CG
> Member, CSS, WebFonts, SVG Working Groups
>
>
>
>
>
>
>
>
>
>
>
Received on Tuesday, 21 February 2012 08:37:27 UTC