- From: Joe Drago <jdrago@netflix.com>
- Date: Tue, 5 Mar 2019 07:16:07 -0800
- To: Craig Revie <Craig.Revie@ffei.co.uk>
- Cc: Mark Watson <watsonm@netflix.com>, public-colorweb@w3.org
- Message-ID: <CAL4YVO-h4QkNk=tVWk8kQ1USL21bC6RQb7zYtrW-dC4H1WQE_A@mail.gmail.com>
Peak white; Diffuse white is chosen globally at app startup based on a handful of factors, such as output mode (HDR10, DVLL, etc). On Tue, Mar 5, 2019, 6:43 AM Craig Revie <Craig.Revie@ffei.co.uk> wrote: > Hi Joe, > > > > Thanks for your reply and a good overview of the work being done at > Netflix. It is not my intent to offer any solutions at this stage in the > discussion, but it seems that you are in a similar place to others working > in this area, some of whom are members of this group, in that you have > adopted ICC and (for perfectly good reason) given it a proprietary flavour. > It seems to me that there may be scope for a suitable group of stakeholders > in this area to work with the ICC to develop an open framework providing > interoperability. > > > > As well as Netflix, I am aware of work in this area by a number of other > companies and it would seem that working together as a group may produce a > much better solution for all concerned. > > > > One question about your use of the luminance tag. Are you using this for > peak white or diffuse white? Either way, it seems that at least for PQ > image encoding both values are needed. > > > > Best regards, > > _Craig > > > > *From:* Joe Drago <jdrago@netflix.com> > *Sent:* 05 March 2019 00:38 > *To:* Mark Watson <watsonm@netflix.com> > *Cc:* Craig Revie <Craig.Revie@ffei.co.uk>; public-colorweb@w3.org > *Subject:* Re: High Dynamic Range imaging and ICC colour management > > > > Hello Craig (and all other colorweb folks) -- > > > > In the meantime, please let me know if this is something you would like to > work on or if you are already aware of other solutions or proposed > solutions to this problem. > > > > I figured I'd chime in here as I was responsible for the implementation of > HDR image packaging here at Netflix, and my approach leverages (if not > abuses!) ICC profiles. Here are some jump-off points which I'll reference > in my explanation: > > > > > https://medium.com/netflix-techblog/enhancing-the-netflix-ui-experience-with-hdr-1e7506ad3e8 > > https://joedrago.github.io/colorist/ > > > > Just as a clarification for these links: The first link is our Netflix > Blog post where we discuss the strategy we employed, and the second link is > the open source tool (colorist) I created to implement that strategy. > Seeing as you're all experts in ICC and I'm squarely in the newcomer group, > I'll spare any explanations on ICC's guts and skip to my approach to the > situation and various learnings/conclusions I came to while tackling this > problem. I'll recap my (ab)use of the ICC profile from the colorist site's > Overview block in this email below. > > > > My mandate here at Netflix was to come up with a way to pack an HDR image > coming from a source video that was HDR10 (BT.2020 PQ, 10000 nits > display-referred) into any file format I deemed capable, and then see where > we could leverage preexisting standards as much as possible. Seeing as both > our source data and our output sink both operated in absolute luminance > (display-referred with a range of [0-10000] nits), I based my solution > around that. > > > > I learned early on that ICC profiles could perfectly describe our color > primaries, and after being disappointed that there wasn't a > parametricCurveType for PQ, I realized if I was willing to use more bits > per channel (16 instead of 10), that such a severe curve as PQ wasn't > necessary for the transfer function, and I could instead stick with a more > friendly curve that maintains enduser blending expectations (BT.1886 or > even just a plain 2.2 gamma). This solved the insufficient precision in the > curv LUTs cited in your slide deck, as (for example) a Type1 'para' with a > value of 2.2 is quite friendly and packs nice and tiny for image file > embedding. However, to fully realize a display-referred image with a > standard ICC profile, I needed one more piece of information: the absolute > luminance range. > > > > I noticed that ICC profiles have had a 'lumi' tag, but despite it being > populated in some very common ICC profile chunks out there (including on > color.org), it was merely informative and modern image editing software / > CMMs appeared to ignore the value completely. However, if I were to honor & > leverage this value during image creation and conversion, I could maintain > a proper display-referred image file, which I could then convert on the fly > when rendering on game consoles, and thus maintain creative intent exactly. > > > > In summary: I'm storing the "correct" value in the lumi tag based on the > spec, but I'm actually *using* it to derive a luminance scale when > converting and rendering, thus making the ICC profile display-referred. > > > > To be clear, I'm not trying to make the case that this is the one-true-way > forward for HDR or anything; I recognize the conveniences that HLG provides > and that using absolute luminance signs up various decoders for luminance > scaling and tonemapping to interpret the image in the first place. That > said, I do think that absolute luminance in image files is the most > accurate way to maintain creative intent, and for any BMFF-derived image > file (HEIF, MIAF, AVIF) using an 'nclx' type colr box, they already offer a > means to specify a PQ transfer_characteristics value which implies absolute > luminance anyway, so this is something we need to honor in the future > regardless of my ICC lumi tag abuse. > > > > As a wish list for ICC profiles in this very specific, display-referred > image file world, here's some things I wish I had: > > > > * I wish there existed a tag (such as the lumi tag) which indicated that > the associated pixel data was display-referred, and provided a real > luminance range that must be honored. While I'm using the lumi tag > currently, there are 30 years of files with embedded ICC profiles that may > or may not contain "interesting" lumi tag values, so ideally it'd be a new > tag type, or perhaps co-opting a lesser-used tag (viewingConditionsTag?). > > > > * A new official parametricCurveType type value for PQ, so CMMs could do > proper precision PQ math without making ICC profile chunks really large. > > > > My disclaimer for the second wish there is that I only think PQ is > necessary for HDR when at 10 and 12 bpc. Once you have 16bpc, I think you > can get away with murder and just use a simple 2.2 gamma; everything looks > fantastic and trivially blends in the 'incorrect' way people are used to. > Our final deliverables in production for our HDR images ended up being .JP2 > files encoded with 16bpc BT2020 2.2 gamma, display-referred at [0-10000] > nits. I still think a PQ para type should exist. > > > > Anyway, this is where I landed on packaging HDR images. You can see my > full implementation for conversion and reporting in the colorist repo > linked above, including my (new and incomplete) method for detecting > special ICC profile combinations that can be repackaged as compliant and > ICC-free BT.2100 nclx colr boxes in AVIF files. I'm confident that I'm > maintaining the fidelity of these stored images and rendering the > correctly, and I'm also confident that I'm ever-so-slightly abusing ICC > profiles to achieve it. > > > > > > > > > > On Mon, Mar 4, 2019 at 2:04 PM Mark Watson <watsonm@netflix.com> wrote: > > Hi Craig, > > > > This is very interesting and something we have been looking at in the > context of applications running on Games Consoles and Set Top Boxes where > the output is locked to HDR (when the TV supports), to avoid the problems > associated with HDR / SDR switching on the HDMI link. > > > > I'd like to introduce my colleague Joe Drago (who joined this list after > your post, which is the main reason for this message). He has some comments > / questions. > > > > ...Mark > > > > On Mon, Mar 4, 2019 at 6:07 AM Craig Revie <Craig.Revie@ffei.co.uk> wrote: > > I have been asked to post a presentation that I made in last month’s ICC > meeting to this group. The links below are to my presentation and a > recording of the meeting including discussion. > > > http://www.color.org/groups/displays/20190215_High_Dynamic_Range_imaging_and_Hybrid_Log-Gamma.pdf > > http://www.color.org/groups/displays/High_Dynamic_Range_Imaging_and_ICC.mp4 > > > > This presentation was the result of discussion with several experts from > different areas, some of whom are members of this group. The problem that > we are trying to address is that of effective presentation of High Dynamic > Range (HDR) and Standard Dynamic Range (SDR) images or video sequences on > the same display. This is particularly relevant where the content creator > is not able to control the way in which the content is rendered to the > display or to broadcast content appropriate to a specific display. > > > > An effective solution to this problem requires an architecture similar to > that of the ICC where an input transform maps colour content to a > well-defined ‘connection space’ and an output transform maps from this > connection space to a device (usually a display or printer). Although the > presentation is from an ICC perspective, other models could be used. > > > > This is a very basic outline of one possible solution to this problem and > at this stage I am interested to identify others (from this group and > elsewhere) who would be interested in working further on this topic. The > response from the ICC was very positive and I believe that the ICC would be > willing to host a forum for this discussion, especially to explore whether > the current ICC model (with minor extensions) would be useful. > > > > I would be happy to present these ideas in more detail if anyone is > interested. > > > > In the meantime, please let me know if this is something you would like to > work on or if you are already aware of other solutions or proposed > solutions to this problem. > > > > Best regards, > > Craig Revie > ------------------------------ > > [image: FFEI Limited] <http://www.ffei.co.uk> > > *CONFIDENTIALITY AND DISCLAIMER NOTICE* > > This message and any attachment is confidential and is protected by > copyright. If you are not the intended recipient, please email the sender > and delete this message and any attachment from your system. > > Dissemination and or copying of this email is prohibited if you are not > the intended recipient. We believe, but do not warrant, that this email and > any attachments are virus free. You should take full responsibility for > virus checking. > > No responsibility is accepted by FFEI Ltd for personal emails or emails > unconnected with FFEI Limited's business. > > FFEI Limited is a limited company registered in England and Wales > (Registered Number: 3244452). > > [image: Join us on Linked In] <http://www.linkedin.com/company/ffei>[image: > Follow @FFEI_ltd] <https://twitter.com/FFEI_ltd>[image: FFEI YouTube > Channel] <http://www.youtube.com/user/FFEIPrintTechnology> > > *Registered Office: The Cube, Maylands Avenue, Hemel Hempstead, > Hertfordshire, HP2 7DF, England. * > >
Received on Tuesday, 5 March 2019 15:16:45 UTC