Normalisation du point blanc

Préface

Pour les plus attentifs, vous aurez peut-être remarqué un léger oubli dans le chapitre XYZ dans les différents exemples. Un léger détail sans qui les images ne seraient pas totalement conformes DCI/SMPTE.

Revoyons notre équation de conversion :

Si vous vous souvenez, nous avons appliqué la matrice XYZ, nous avons appliqué un Gamma, nous avons converti en 12 bits et converti en integer, il nous reste donc...

...une petite équation planquée, celle de la division par les deux luminances maximales DCI, avec une valeur énigmatique de 52.37 dénommée Constante de Normalisation (de la luminance) : Cette division s'appelle Normalisation du Point Blanc.

Sans elle, vous aurez des images un peu plus sombres, rien de plus.
(et vos images ne seront pas totalement conformes DCI/SMPTE également)

Le patch de normalisation des composants XYZ

Juste après la conversion XYZ et juste avant l'application d'un gamma, il faudra rajouter cette petite subtilité :

X = ( 48 * X ) / 52.37
Y = ( 48 * Y ) / 52.37
Z = ( 48 * Z ) / 52.37

Ces trois simples équations vont permettre de normaliser chaque composant X, Y et Z avec la bonne valeur finale.

Explications sur cette normalisation

Les normes SMPTE ont définies que la luminance maximale du point blanc d'un projecteur cinéma était de 48.00 cd/m2.

Il existe plusieurs températures de couleurs pour le blanc (spécifiés en Kelvin) :

Nom Kelvin Description Coordonnées x,y,z 1
White Point
White Point X'Y'Z'
(gamma inclus)
P3 D55 5500K - x=0.3324, y=0.3474, z=0.3202 X'=3893, Y'=3960, Z'=3838
P3 D61 6100K - x=0.3198, y=0.3360, z=0.3442 X'=3885, Y'=3960, Z'=3997
P3-DCI 6300K Utilisé pour la salle de cinéma x=0.3140, y=0.3510, z=0.3351 2 X'=3794, Y'=3960, Z'=3890
P3-DCI-D65 6500K Utilisé pour les moniteurs P3-DCI x=0.3127, y=0.3290, z=0.3583 X'=3883, Y'=3960, Z'=4092

Les différents D sont des illuminants normalisés pour le Jour (Daylight). Le SMPTE utilise 3 illuminants D : D55, D61 et D65. Ils ont voulu intégrer les 3 dans un seul et même D virtuel large et l'intégrer dans l'espace colorimétrique P3-DCI.

Si nous plaçons nos 3 points blancs sur notre graphe :

On constate que D61 et D65 sont en dehors de notre espace colorimétrique (en bleu).

Pour pouvoir englober l'ensemble des points blancs du D55, D61 et du D65, il a été décidé de rescendre le point blanc et les réintégrer dans l'espace :

Et voila !

Pour arriver à ce nouveau point blanc, nous passons de 48 cd/m2 à une constante de 52.37 cd/m2 (mais tout en restant à une luminance maximale de 48 cd/m2 ... vous suivez ? 3 :)

Ce nouveau point blanc standardisé par DCI/SMPTE se situe dans 6300K (mais ne peut être considéré comme un D63) et est surtout loin du lieu Planckien, enfin son point blanc est légèrement verdâtre.

La constante de normalisation est donc de 52.37 cd/m2.

Bonus stage : Pourquoi la valeur 3960 pour le Y' ?

Une petite note, la limite maximale du Y' encodé en 12 bits doit être de 3960 (sur nos 4095 de notre 12 bits). 4

Au niveau des normes, la référence du point blanc - définie dans le SMPTE 431-2 - définit que les valeurs codifiées du X'Y'Z' seront 3794, 3960 et 3890.

Pour comprendre la cause, elle est liée à notre constante de normalisation à 52.37 et le fait que nous travaillons toujours sur une luminance maximale à 48.

Si nous prenons la valeur maximale qui devrait être à 4095 si nous travaillons avec 52.37, il est normal que si nous travaillons à 48 - donc plus bas - notre valeur maximale soit mathématiquement diminuée.

Pour comprendre comment, utilisons nos calculs et prenons notre valeur maximale dans la page [0..1] qui va donc être à ... 1, et passons-la à travers notre workflow de conversion en le n'oubliant pas le passage sur le gamma.

Nous allons prendre une luminance Y à 100% donc à 1.0 :

# Normalisation du point blanc (1.0 étant le maximum de la luminance) :
>>> (48*1.0)/52.37
0.91655527974030933740

# Gamma 2.6 :
>>> pow(0.91655527974030933740, 1/2.6)
0.9670426753179335

# Passage en 12 bits :
>>> 0.9670426753179335*0xFFF
3960.039755426938

# Cast du float en int
>>> int(3960.039755426938)
3960

Nous retrouvons bien notre chiffre 3960.

Dans notre cadre du point blanc DCI, nous pouvons appliquer le même mécanisme pour les autres composantes X et Z qui sont aussi limitées respectivement à 3794 et 3890 5.

Conclusion

Après ce petit patch, il ne reste plus qu'un passage au Gamma puis à la conversion 12 bits pour avoir enfin une image conforme DCI/SMPTE.

Références

Notes


  1. Le z n'étant pas obligatoire. La somme des valeurs x + y + z vaut 1.0, il est facile de déterminer le z avec seulement x et y.  

  2. Références des coordonnées :  

    • SMPTE 432-1-2010 - Digital Source Processing - Color Processing D-Cinema

    • SMPTE 428-1-2006 - DCDM - Image Characteristics

    Différences entre DCI-P3 White Point :

    • En 48 cd/m2 : x=0.3140, y=0.3510

    • En 52.37 cd/m2 : x=0.3429, y=0.3143

  3. Références 48 cd/m2 et 52.37 cd/m2 :  

    • "The nominal value for screen luminance is 48.0 cd/m2 (14.0 fL) -- SMPTE 431-1-2006 - Screen Luminance Level, Chromaticity and Uniformity

    • Reference White signal : Calibration White is defined to produce a luminance of 48 cd/m2 as measured off the screen -- SMPTE DOC-51-2008 - White Gamut Study Report

    • SMPTE 431-1-2007 defines 100% white as both the maximum white level allowed, and 48 cd/m2. Annex F of EG 432-1-2007 makes this crystal-clear: Because the SMPTE D-Cinema standards specify a maximum luminance of 48.00 cd/m, with a normalizing constant of 52.37 the maximum Y’ code value that is allowed is 3960 -- White Gamut Study Report

    • Because the SMPTE D-Cinema standards specify a maximum luminance of 48.00 cd/m with a normalizing constant of 52.37 the maximum Y’ code value that is allowed is 3960 -- SMPTE DOC 51-2008 - White Gamut Study Report

    • The peak luminance as shown in the transfer function equation is 52.37 cd/m2. The extra headroom is reserved to accommodate a range of white points including D55, D61 and D65, while still supporting the reference luminance (L) of 48 cd/m2 as specified in SMPTE 431-1,Table 5.2 for Digital Cinema-Screen Luminance Level, Chromaticity and Uniformity -- SMPTE.ST.0428-1-2006 - DCDM - Image Characteristics

    • The final specification for digital cinema (..) specifies a peak luminance of 52.37 cd/m2 (value chosen to allow different white points along the CIE D-Illuminant line to reach a peak luminance of 48 cd/m2) -- Journal SMPTE, Evaluation of Color Pixel Representations for High Dynamic Range Digital Cinema (Ronan Boitard, Jean-Philippe Jacquemin, Gerwin Damberg, Goran Stojmenovik & Anders Ballestad)

    • For compatibility with legacy film projectors, the digital cinema standards specify a screen luminance of 48 cd/m2 (14 ft L) with a white point of 0.314 x, 0.351 y -- Color and Mastering for Digital Cinema (Glenn Kennel)

    • The DCI standard pixel representation specifies a quantization of the X’Y’Z’ color space using 12 bits and a 2.6 gamma power law TF with a peak luminance of 52.37 cd/m2 -- SMPTE Journal, March 2018, Evaluation of Color Pixel Representations for High Dynamic Range Digital Cinema (Boitard, Jacquemin, Damberg, Stojmenovik, Ballestad)

  4. Références "3960" :  

    • Reference White signal: This is a reference level corresponding to a specified peak value, generally associated with test signals. In the case of Digital Cinema the Reference White signal is defined by SMPTE RP 431-2 with the corresponding X’Y’Z’ code values of 3794, 3960, 3890 -- SMPTE DOC-51-2008 - White Gamut Study Report

    • the maximum Y' code value that is allowed is 3960. However, because there is no limit on the X' and Z' values because they carry no luminance information, the maximum X' and Z' values are 4095 -- Color and Mastering for Digital Cinema (Glenn Kennel)

  5. SMPTE EG 432-1-2010 - Digital Source Processing - Color Processing D-Cinema