[minutes] Color on the Web CG meeting at TPAC

Dear all,

The Color on the Web CG met during TPAC last week. Below are the minutes from that meeting.

The main outcome is that the group should start drafting a report that collates the issues for HDR color support, to help further the conversation, so I propose to start this using the document I presented as a basis.

Kind regards,



Color on the Web CG  Minutes

 DRAFT Minutes 

Date: 2018-10-25

See also the Agenda and the IRC Log


Present: Nigel Megitt, Simon Thompson, Chris Needham, David Singer, Mounir Lamouri, Jer Noble, Leonard Rosenthol, Mark Watson



Chair: Chris Needham

Scribe(s): markw, leonardr, cpn


1. Introduction
2. CSS Color Module
4. Media Capabilities
5. CSS Media Queries
6. Compositing
7. Canvas
8. Static image formats
9. Next steps
10. Action Items

1. Introduction

: cpn https://docs.google.com/document/d/1Laa7w2lYs3RmJY7aS2ByUH_-R6aTfuJf9AWLKXXIeNE/edit

cpn: Various discussions floating around. Need to decide what we are going to do with this CG.

cpn: Document, "HDR and WCG on the Web", linked above
.... BBC has been leading on HDR, inventors of Hybrid Log Gamma curve
.... this document was an internal one to summarize current state of affairs
.... Introduction, basic background, HLG system, PQ system
.... both systems need to coexist on the web
.... could have videos with both encodings on a web page
.... so how do we composite?
.... interesting document from Frederik at Google
.... BBC want to make sure HDR supported well on the web, promote broader understanding in dev community
.... imagine risk that pages go too far with max brightness
.... doc contains a list of specs which may need changes to provide support for HDR on the web
.... Media Capabilities would allow applications to select appropriate media
.... CSSOM contains the Screen element which provides information about screen capabilities

mounir: don't think Screen object contains color gamut information yet

nigel: TTML contains information for PQ and HLG mapping together with a luminance gain attribute on TTML elements
.... also a WG note published by TTWG which provides a way to express PQ image data in a PNG file
.... not necessarily best way, but it is a way

dsinger: Will we need to say anything about image and video elements?

leonardr: what about images with embedded ICC profile. image tag and canvas say different things about whether the profile must be used.

2. CSS Color Module

cpn: Open issues against the CSS Color module that we could review

markw: https://github.com/w3c/csswg-drafts/issues/554

markw: this is the core problem in terms of the compositing and intermixing
.... if you just follow all the specs, then it's too dark. since they don't match reality == problem!
.... and with users being able to set the brightness of windows, then we need more controls
.... page author may need some input here

dsinger: W3C has a compositing problem that many other folks do not - many things that need to go together
.... but MPEG, etc. only worries about the video

markw: https://github.com/w3c/csswg-drafts/issues/553

markw: this is another issue around profile selection choices, where which "code points" folks want
.... you can just use ICC profiles...except that ICC v4 doesn't support this
.... and even if it did, not all browsers are fully ICC v4 color managed
.... plus you'd need to be able to refer to color profiles by name instead of having to reference an external link

cpn: new info?

dsinger: video does color using the unholy trinity which is simpler than a profile

markw: ICC v4 can do all that and more, and is standardized
.... you can use ICC v4 for these formats, but the result is huge!
.... iccMax, however, has the "Calc" function which enables "arbitrary code" to execute

leonardr: I've been complaining about the iccMAX calc function since the beginning on security grounds
.... taken same position at ICC and ISO
.... iccMAX is a large specification with no expectation that implementers will implement all of it
.... creating profiles for specific use-cases
.... developing one for graphic arts, one for pdf, overprint simulation, packaging etc.
.... general direction if we decide to use iccMAX we should develop a profile ("ICS") for the web

Simon BBC: https://www.itu.int/dms_pub/itu-r/opb/rep/R-REP-BT.2390-4-2018-PDF-E.pdf Chapter 10 has a set of hints on how to map standard dynamic range video in to both HLG and PQ video - I'd expect sRGB could use something similar

leonardr: calc element is going to remain contentious because implementors don't want arbitrary code execution environment without much more thorough security review
.... I will remain staunch non-advocate of calc element until then

cpn: simon dropped a reference above to a spec that defines an SDR -> HDR mapping that perhaps could be reused

dsinger: another piece of the puzzle might be specs for tagging videos with metadata such as content light level and max luminance

nigel: yes, that kind of information is useful
.... seen that pattern in many contexts

leonardr: already have a standard in ICCv4 for rendering in many contexts

mounir: what is the thinking of the group about specifying colors outside of sRGB space?
.... looks like CSS requires you to stay within 0-255

leonardr: CSS Color v4 lets you specify colors in a lot of new ways
.... but what is missing is working color space
.... https://github.com/w3c/csswg-drafts/issues/300

mark: browsers can composite in a space of their choice, though?

leonardr: yes, but no requirement

leonardr: CSS Color issue 300 still open

leonardr: https://github.com/whatwg/html/issues/299
.... no changes since 2016
.... https://discourse.wicg.io/t/canvas-color-spaces-wide-gamut-and-high-bit-depth-rendering/1505/29
.... nothing since 2017
.... but points to a github item at https://github.com/WICG/canvas-color-space, but again, no changes for 7 months

cpn: Section 12 in CSS Color 4 is a placeholder for a working color space


markw: CSS OM defined Screen interface which tells you color depth, but not gamut or luminance

mounir: gamut is in Media Queries
.... https://drafts.csswg.org/mediaqueries-4/#color-gamut

4. Media Capabilities

cpn: Let's look at Media Capabilities before Mounir needs to leave, and come back to Media Queries

markw: https://wicg.github.io/media-capabilities/

markw: you can discover this for some codecs but not for all
.... you need the capabilities of the renderer (not the decoder itself)
.... there isn't a way to determine if the decoder and the renderer "match" (one outputting data that the other is supposed to render)
.... not 100% sure if you want to discover HDR in general or the specific type>?
.... you need the device!

dsinger: is it about the display or is there more to it?

markw: https://github.com/WICG/media-capabilities/issues/10

mounir: ideally what we would like is screen change event or info about all screens

jernoble: on a multi-screen system, especially when windows span screens, it's interesting
.... and our team would prefer to only use those available in hardware

dsinger: we hope there is enough information from the content to be able to "do the right thing"
.... but in JS, it will need more info to be able to make determinations
.... confidence levels would be helpful here too.
.... "Am I willing to try to play that?"

jernoble: "when I play this content, will it look good?"
.... and does the user care?

markw: we really need the metadata to be able to make the most/best decisions

mounir: the site/author really needs to be able to control this

markw: if the content is separate, then a site could pick the right one for the user

5. CSS Media Queries

leonardr: https://drafts.csswg.org/mediaqueries-4/#color-gamut

leonardr: Information from Alan in CSS, there is a color gamut media query (link above)

6. Compositing

leonardr: https://drafts.csswg.org/css-color-4/#working-color-space

leonardr: working color space, Dean Jackson at Apple proposed this
.... open issue, action on Chris Lilley
.... this is something the author could specify
.... although it's written as an "at-rule"

cpn: if this is an opt-in than what is the default behavior?

leonardr: today, each different thing does it differently: HTML is sRGB, Canvas is sRGB, TTML, ...
.... if you have text in TTML and video what do you use for compositing? Not defined

markw: would expect the browser to composite into a space that is no narrower than its actual output

leonardr: suppose you have specific sRGB color in TTML and again in some other content - should be the same color but this is not guaranteed

nigel: no clear use-case for authoring captions in a different color space
.... could argue you want to blend subtitles with something in the HDR video, but don't think anyone wants to do this
.... possibly in Digital Cinema

leonardr: just want to have consistent appearance of the same color in different contexts

7. Canvas

cpn: There is the following https://github.com/WICG/canvas-color-space/blob/master/CanvasColorSpaceProposal.md
.... no progress on this

markw: this proposal seems to affect pixel value encoding as well as working color space

8. Static image formats

cpn: The BBC is creating beautiful HDR video content so we would like e.g. poster images to use HDR color as well

simon: plus HDR image overlays within live video production - e.g. scores in sports games

cpn: so what is the image format?
.... how do we express what kind of encoding is used?

leonardr: https://medium.com/netflix-techblog/enhancing-the-netflix-ui-experience-with-hdr-1e7506ad3e8

markw: we posted this blog post in September, we added HDR support where we could, in games consoles
.... we have two shows in HDR, taken still images from them
.... you can see how the light areas are washed out there
.... on XBOX, we can put it into a mode where it desaturates the main image into black and white and highlights colors outside 709 range
.... I think they'll add another color for pixels that are darker than can be represented
.... [shows image with lots of pixels highlighted as being out of range]
.... We describe how the pixel highlighting is done
.... They separate the brightness space into different areas, show number of code points in each one
.... No code points in the higher regions
.... we looked at what image formats to use
.... higher bit depth, tooling support
.... we looked across the possible image formats
.... in 16-bit PNG the image will be massive
.... 8-bit formats will be lossy
.... this is in the particular context of the games consoles we're targeting
.... arrived at JPEG 2000 in the end

leonardr: do you use any of the extensions there?

markw: no, it's pretty straight up
.... then found this problem of not being able to express HLG or PQ
.... we're confident you can round trip from 10 bit PQ to 16-bit 2.2 gamma without losing anything
.... it goes through compression anyway, so it doesn't make a huge difference on delivery size
.... i wonder if this is an option to get something in browsers
.... not clear how we get to ICC profiles for HDR

leonardr: Lars did a profile for one of them, posted on the mailing list
.... https://lists.w3.org/Archives/Public/public-colorweb/2018Oct/0009.html
.... seems it's not there

Action #1: leonardr to obtain PQ profile from Lars Borg

markw: so doing 16-bit gamma is possible option
.... in 16-bit gamma space, it's a linear output, scene referred
.... need to know what the peak luminance it, to convert to display referred
.... we describe using the lumi tag to do that
.... the lumi tag is option, it's not using anything unusual in the ICC profile
.... i think it would be sufficient to get us going, and get more experience

leonardr: what level of support is there for JPEG 2000 in browsers?
.... that would be an obvious direction here
.... if David were here, he'd metion HEIF

markw: I'm looking to get more experience here, so this group should target saying how to put HDR images into each format

leonardr: https://caniuse.com/#feat=jpeg2000

simon: Is there any appetite for floating point linear? ITU-R BT.2100 Table 10 has a mapping for HDR in floating point

markw: are there image compression formats that support floating point?

leonardr: JPEG 2000 supports floating point, experiments with floating point PNG
.... http://www.libpng.org/pub/png/spec/1.1/pngext-1.1.0-pdg.html#DR.Floating-point-values

markw: would be surprised if there is in HEIF
.... HEIF is a general image format for any codec. We're using AVIF for how you put AV1 inside that format

leonardr: https://aomediacodec.github.io/av1-avif/

leonardr: HEIF does not support floating point
.... I think today's implentations of HEIF are HEVC based

cpn: IPR status of JPEG 2000?

leonard: it's an ISO standard, open source implementations available
.... openjpeg is BSD licensed - http://www.openjpeg.org/

cpn: we have some work to do at the BBC to look at the gamma idea, see if it works for us

leonardr: AVIF is using the same MPEG wrappers?

markw: yes. if you have a HEIF decoder that could support different codecs, you could plug in AV1
.... mozilla have submitted this to JPEG, for their JPEG XL activity
.... they say image compression performance results look good

markw: the other thing that's theoretically possible - in the absence of LUT or ICC based profile, is to do what TTML has done, which is to put in a magic string that tells you to use PQ or HLG

nigel: this is why people say it's not a good idea. it's kind of a hack

9. Next steps

markw: last year we said we'd write a CG report, but nothing happened
.... things have changed since then, we could get traction more quickly now
.... useful to have a CG report, much like cpn's document
.... then over time, it would let us identify the issues and drive them by adding issues

leonardr: thank you for creating the document, it's been a great way to structure the conversation today

nigel: Chris Lilley could create a repo for us

markw: there is a repo...

markw: https://github.com/w3c/ColorWeb-CG

cpn: i'll be happy to turn my doc into respec and put it there

leonardr: there's an open issue there, from nigel

leonardr: https://github.com/w3c/ColorWeb-CG/issues/1

nigel: i knew there was an answer to this question, but needed a citation

Action #2: chris lilley to add some of us admins on that repo

Action #3: cpn to add overview document to the ColorWeb-CG repo

leonardr: then we can use GitHub issues there to follow up, as well as the mailing list

cpn: would be good to move the conversation to GitHub issues

nigel: the repo manager doesn't know about the CG
.... for the IPR checks
.... https://labs.w3.org/hatchery/repo-manager/repos List of Managed Repositories

leonardr: mailing list: public-colorweb@w3.org public-colorweb@w3.org

cpn: at the AC meeting, a presentation mentioned an upcoming color workshop.. i don't know any more details

Action #4: chris lilley to inform the CG about the proposed Color Workshop

leonardr: and maybe even be sure to colocate with ICC meeting...
.... the next one is feb in israel, and then in may in michigan, US

markw: we may get more browser people if we were to hold it in the bay area

cpn: something from this to take to ICC before then?

markw: the idea of a simple way to indicate PQ and HLG seems to be an obvious thing
.... we could document that problem first, get consensus and then ask when we're agreed

jernoble: http://www.itu.int/rec/R-REC-BT.2100-0-201607-I/en

jernoble: https://www.itu.int/rec/R-REC-BT.2100

cpn: [ajourned]

10. Action Items

Action #1: leonardr to obtain PQ profile from Lars Borg
Action #2: chris lilley to add some of us admins on that repo
Action #3: cpn to add overview document to the ColorWeb-CG repo
Action #4: chris lilley to inform the CG about the proposed Color Workshop

This e-mail (and any attachments) is confidential and
may contain personal views which are not the views of the BBC unless specifically stated.
If you have received it in
error, please delete it from your system.
Do not use, copy or disclose the
information in any way nor act in reliance on it and notify the sender
Please note that the BBC monitors e-mails
sent or received.
Further communication will signify your consent to

Received on Friday, 2 November 2018 13:35:56 UTC