<inserted> scribenick: wseltzer
Pierre: Intro
ChrisS: Broadcast industry very interested in this
Pierre: Agenda
<kaz> Chris Lilley's slides
ChrisN: [shows slides]
<cpn> scribenick: cpn
<inserted> Draft Report
ChrisL: The Color on the Web CG
has a draft report. Chris Needham started it, I've been editing
since last TPAC
... It collects together issues and discussion. Was hoping to
get more input. It doesn't have any recommendations yet
... Having the CG as a focus is good, as it's color
specific
... TAG did two reviews: LAB in CSS color 4, identified
ColorWeb CG to follow up. They see a need for a typed object
model, contrast conversions
... Luminance should be calculated correctly
<Kangz> Uuuuh we didn't realize there was a WebGPU section to be filled. The best way to ask the GPU CG for feedback is to reach out to public-gpu@w3.org.
ChrisL: Also need for an
explainer for color-mix
... The platform assumes RGB with 8 bit per component. Could be
a gradual rollout of improved capability
... W3C is a member of the ICC. Security review of color
profiles
... Lea Verou and I are working on Color.js, covering gamut
mapping, deltaE. Houdini needs a typed object model with color
conversions
... TAG review #488
<chris> https://colorjs.io/docs/color-difference.html
ChrisS: Which deltaE is it?
ChrisL: It covers all of them
... There's a conversion demo app in Color.js
... Replacing LAB? Fairchild HDR-lAB extends lightness to 400.
Should there be a different color space?
... HLG and PQ, both try to do HDR. HLG is scene referred, difuse white at 0.75. PQ is aimed at cinema-like viewing, absolute luminance
... Need to re-render if not in a non-reference viewing environment
Pierre: For the average user, CSS is all RGB, how different to LAB?
ChrisL: LAB ties together the other color spaces in CSS4, Display P3, etc, will cover later
... I investigated Jzazbz. It has a simple deltaE function.
... [Comparison of deltaE metrics]
... (Salmon color in the graphs is out of range of SRGB)
... Implemented both in Color.js (available in GitHub).
Florian: As far as LAB is concerned, it's well understood. Based on what you just explained, we seem to be more in research and discovery territory.
ChrisL: ICT is part of a standard, color difference formula. It's not fully researched stuff, and the standards are being developed
ChrisS: ITP in a form is implemented in Dolby Vision
ChrisL: and it was later standardized in ITU
Greg: A brief update on HDR video
on the web. I work at Netflix on the browser video player team,
on features like HDR and 4K
... The Media WG extended Media Capabilities to add HDR
metadata type, gamut, transfer function
... The API just detects if you can decode and render the
stream to an SDR or HDR display. Not quite enough, want to know
if display is HDR as well
... We added a dynamic range media query, so you could know if
you *should* decode an HDR stream, not just if you *can* decode
it
... Early 2021 will have implementation in Chrome.
SUpport
... Supports VP9, AV1
... Edge has supported HDR10 and Dolby Vision in Windows 10
since 2018. It's in Edge Chromium
... We've been using nonstandard APIs to detect this support.
They're targeting early 2021 for the updated APIs
... You need something from the store (HEVC extension pack).
Most devices support HDR10 out of the box. But it's a little
complex
... Apple supports in Catalina since 2020. Search HDR Mac in
Apple support to find the devices that support HDR
... it's exciting. Now the 3 major browser support HDR video,
we're moving more to browser applications
Pierre: If Dolby Vision metadata is present in the video, can it be applied also to UI elements? What's the interaction?
Jim: Part of it depends on whether you're talking about a built in or an external display. For an HDMI conntected device, you'd be sending the full stream to the device, so would also receive dynamic metadata. you get tone mapping
ChrisS: Some of this work was done in ATSC3.0. They have a hybrid HTML5 mode, I don't have the full answer though
MarkW: In a TV case, any dynamic
metadata processing is done separately from graphics
rendering
... Problem with HDMI, there's nothing there to tell it what's
the graphics vs the video plane
... Dolby have a solution of their own for that
... There's a new feature in HDMI 2.1a (not completed spec
yet), called source-based tone mapping
... It allows metadata-based tone mapping to occur at the
source being going over HDMI
ChrisL: Does DisplayPort have similar problems?
MarkW: Not as far as i know
ChrisL: How does this affect the tone mapping?
Jim: If it's a combined stream, it could be region based. But colors or gradients could not have the same color in the display
ChrisS: In a live HDR production,
the Dolby Vision analysis is doen in real time in the decoder.
Could we do a re-analysis at that point?
... It would look at the composited image, and build a dynamic
tone mapping. It's how a live encoder works, analyzing the
essence
Jim: So it's not making full use
of the DV capabilities, e.g., window or region based
adjustments. What about ticker graphics, for example?
... One corner case worth mentioning: The HLG signal is scene
referred, at least for putpose of conversion PQ to HLG, it's
done at a 1000 nit operating point
... HLG is documented in some of the operational practices to,
in some circumstances, to allow signals to go beyond legal
range - "super whites"
... Even at 1000 nits, due to the way HLG and PQ apply their
transfer functions. For example, if you have intense blues that
don't contribute to luminance, those can fall outside the 1000
nit color volume. Clipping HDR signals needs to be done with
caution
... A common practice in some studios has been to allow
excursions beyond that. The display is relied on to roll of to
max luminance.
... So some signals might be outside the range you're
expecting
ChrisL: Does that apply to narrrow and also full range encoding?
Jim: In the narrow range, but if
you were to convert the content with excursions outside legal
range you'd end up clipping
... You want to smoothly bring the color volume back to the
legal range without resorting to clipping
ChrisS: There are also some notes
abotu HLG in consumer displays, which do clip in displays
... A display at less than 1000 nits, could appear darker than
SRGB. Discussion around normalizing for those displays, not
concluded yet
Pierre: Where are these observations being captured?
ChrisS: Discussion should get to ITU
Simon: Regarding super whites. The reason they're there is not for conversion, but for live TV you don't want clipping at the top end. And filters or other converters will ring badly. Super whites is there to deal with over-ranges we may not be in full control of
Jim: Encoding in HEVC can also cause ringing
ChrisC: We're planning to add to
2D canvas and GL contexts, colorSpace and colorEncoding
parameters
... Similar, for 2D canvas with createImageData you'll be able
to specify colorSpace and storageFormat
... Everythign that fits in the destination colorspace works,
everything else clips
... In terms of drawing using CSS colors in Canvas, you can
specify CSS color spaces such as display-p3. Would be similar
in WebGL
... We support SRGB 8-bit, Display P3 and Rec2020 in
float16
... Other color spaces in CSS color 4, we should add as named
color spaces
... Also not in the spec is extended SRGB, linear SRGB with
colors outside the range 0 to 1, can go to arbitrary large
gamut with floating point colors
... WCG support not added, can infer color space.
Alternatively, can have an API for specifying HDR presence and
metadata
... We should consider adding a tag for 'HDR presence', and it
can then vary dynamically
... Everything here is with respect to HDR
Jim: If it were linear with respect to HDR, would you be looking at half-floats or full floats?
ChrisC: The parameters are there for float16, but could do full float
Jim: What about PQ and/or HLG?
ChrisC: If we were to add, it would be rec2020-pq or rec2020-hlg
ChrisL: Actually rec2100-pq?
ChrisC: Yes
Pierre: Is this used on input/output, or during compositing?
ChrisC: It's converted to the
canvas's color space on input. All the blending is done in the
canvas's color space, which is what people expect
... When you composite, it's the browser and OS's
responsibility to render based on monitor capabilities
Pierre: As an example, if there's blending that happens in the canvas, and you're using non-linear light space?
ChrisC: All the blending is done in the color space of the back buffer, so not a linear space
<cpn_> scribenick: cpn_
<kaz> Chris Lilley's slides on CSS updates
ChrisL: Adds calibrated SRGB color spaces
<kaz> CSS Color 4 with sRGB
ChrisL: LAB and CMYK examples. It
also explains conversions, e.g., the naive conversion
... Safari implements Display-P3 since 2016, now looking at
LCH, Lab
... Chrome wants to implement LCH, Lab
... BFO have a PDF to CSS converter, implements all of CSS
color 4
... Issues remaining: Gamut mapping, color serialization, specs
assume RGB only. Interpolation and currentColor
... Also choice of computational space
... CSS Color 5 builds on Color 4, adds a color-mix
function
... color-contrast finds most contrasting color
<kaz> CSS Color 5
ChrisL: color-adjust for finding
triad, complementary color
... Color HDR is an unofficial draft
<kaz> Color HDR (Unofficial Proposal)
ChrisL: Adds Rec BT2100 with HLG,
PQ. ITP, Jzazbz
... Media queries has a color-gamut and dynamic-range queries.
Similar for devices with separate video planes with different
capabilities
Pierre: A good question is when
and where to continue discussion? There's lots of
interest.
... We have MEIG, CSS WG, CotW CG, Media WG. Where to get
together regularly?
Florian: Many things relate to
CSS. Media Queries stuff shuold happen there
... Coordination between CSS and Canvas, could be needed
ChrisL: CotW CG could be the right place if people are contributing. Would like to see more activity there, but it's kind of dead there
Pierre: Sending PRs could be daunting, good to have more discussion
ChrisL: W3C runs workshops, we're
preparing one on this topic. Proposal gone to W3M approval.
Reaching out to speakers, can share call for
participation
... Format is 5-10 minute video presentations shared ahead of
time, and come together to discuss
Pierre: How about just scheduling another meeting in a month or so?
ChrisL: That would be good
Pierre: Please send your presentations, and we'll follow up about future meeting
[adjourned]