w3c / csswg-drafts

CSS Working Group Editor Drafts
https://drafts.csswg.org/
Other
4.52k stars 673 forks source link

[css-color-hdr-1] Query 9: Black Level #5322

Closed simontWork closed 4 months ago

simontWork commented 4 years ago

The black level control is part of the Electro-Optical Transfer Function (EOTF) implemented in the screen. The image signal is fixed, and is independent from screen peak brightness, screen black level and ambient viewing conditions. Adjustments for these factors is undertaken in the screen and can be either automatic or manual.

For HLG in CSS, I don't think knowledge of the black level control, screen peak brightness or ambient conditions should be required.

svgeesus commented 4 years ago

@frivoal this is not a CSS Color 5 issue

svgeesus commented 4 years ago

@simontWork I agree that for HLG in CSS, the screen peak brightness and the ambient illumination level are not needed for correct display; and the user can freely adjust the peak brightness to suit the ambient illumination.

As I am sure you know, this is not the case for PQ; a re-rendering step is needed for viewing in non-reference conditions.

For black level though, and in particular when combining SDR and HLG HDR content, it seems that the black level of sRGB (or indeed of 709) should not be zero because the very deepest blacks in HDR are blacker than sRGB black in the reference viewing conditions.

frivoal commented 4 years ago

this is not a CSS Color 5 issue

Perhaps, but it's not a css-color-hdr issue either, since that spec doesn't exist. Felt like css-color was roughly on topic, and that this felt like a new feature request, so tagging against the newest level didn't seem too bad to me. Should it be flagged against some other existing spec?

simontWork commented 4 years ago

@svgeesus it's better in scene-referred video systems (e.g. BT.2100 HLG and BT.709/BT.2020 SDR) to think of zero light rather than black. In the broadcast signal, code value 64 represents zero light.

When setting up a professional video monitor, the brightness control is used to map code value 64 to the lowest perceptual level available given the light scattered from the screen. This takes in to account the ambient lighting level, display screen anti-reflectance technology etc.

To do this a signal called PLUGE is used (https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.814-4-201807-I!!PDF-E.pdf). This has signals just above and just below code value 64, the brightness control is adjusted so that those above are just visible, whilst those below are not.

(In sRGB, the use of code value 0 is analogous to code value 64 in broadcast range BT.709/BT.2100)

Consumer displays have similar controls and some have a level of automation to try and achieve similar visual results.

svgeesus commented 4 years ago

CSS-Color-HDR is the unofficial draft upon which @simontWork was commenting; specifically, inline issues 6 and 9

It hasn't been adopted by CSS WG (yet) and I don't know if it will get called CSS Color 6 or what. Its purpose is to validate that CSS Color 4 making HDR out of scope does not paint us into a corner.

simontWork commented 4 years ago

@svgeesus Just a note on your comment on PQ. PQ does now have a display black level offset, defined in Annex 4 of the PLUGE document I linked to.

svgeesus commented 4 years ago

@simontWork all current implementations of both PQ and HLG use narrow range rather than wide range encoding, right?

simontWork commented 4 years ago

I believe that is so for implementations I've seen, but wide range is available in the specifications.

svgeesus commented 8 months ago

A small update on this old issue:

It hasn't been adopted by CSS WG (yet)

It was adopted by CSS WG in December 2023

svgeesus commented 8 months ago

Edits needed to link

Annex 4 (informative) Black level control for PQ displays