Une connexion de moniteur 10 bits peut-elle conserver toutes les tonalités dans des gradients sRGB 8 bits sur un moniteur à gamme étendue?

Cette question concerne la gestion des couleurs et l’utilisation d’une profondeur de couleur plus élevée, 10 bits par canal (30 bits au total, soit 1,07 milliard de couleurs, soit 1024 nuances de gris, parfois appelée “couleurs profondes”) par rapport à la norme. de 8 bits par canal (24 bits au total, 16,7 millions de couleurs, 256 nuances de gris, parfois dénommée “couleur vraie”). Ne confondez pas avec “couleur 32 bits”, qui fait généralement référence à une couleur standard à 8 bits avec un canal supplémentaire (“canal alpha”) pour la transparence (utilisé pour obtenir des effets tels que des fenêtres semi-transparentes, etc.).

On peut supposer que les éléments suivants sont en place:

1: Moniteur à large gamme prenant en charge les entrées 10 bits. En outre, on peut supposer que le moniteur a été étalonné sur sa gamme d’origine et qu’un profil de couleur ICC a été créé.

2: Une carte graphique prenant en charge la sortie 10 bits (et connectée au moniteur via DisplayPort).

3: Pilotes de la carte graphique prenant en charge la sortie 10 bits.

Si des applications prenant en charge la sortie 10 bits et les profils de couleurs étaient utilisées, je m’attendrais à ce qu’elles affichent correctement les images enregistrées en utilisant des espaces de couleurs différents. Par exemple, une image sRGB et une image adobeRGB doivent être correctement affichées. Si une image sRVB était enregistrée avec 8 bits par canal (presque toujours le cas), le chemin du signal de 10 bits garantissait qu’aucun dégradé de tons n’était perdu lors de la conversion de l’image sRVB dans l’espace colorimésortingque natif du moniteur. .

Par exemple: Si l’image contient un pixel rouge pur sur 8 bits (255,0,0), la valeur correspondante sur 10 bits serait (1023,0,0). Cependant, étant donné que le moniteur a un espace colorimésortingque plus grand que sRGB, l’envoi du signal (1023,0,0) au moniteur produirait un rouge trop saturé. Par conséquent, selon le profil de couleur ICC, le signal serait transformé en une valeur différente avec une saturation moindre en rouge, par exemple (987,0,0). Comme il rest encore beaucoup de niveaux entre 0 et 987, les 256 valeurs (0 à 255) du rouge dans l’espace colorimésortingque sRVB du fichier peuvent être mappées de manière unique sur des valeurs à 10 bits à correction de couleur dans l’espace colorimésortingque natif du moniteur.

Cependant, si la conversion était effectuée sur 8 bits, (255,0,0) serait traduit en (246,0,0) et il ne restrait plus que 247 niveaux disponibles pour le canal rouge au lieu de 256, ce qui dégraderait l’affichage. qualité d’image.

Ma question est la suivante: comment cela fonctionne-t-il sur Ubuntu? Supposons que j’utilise Firefox (qui prend en compte les couleurs et utilise les profils de couleur ICC). Aurais-je un traitement 10 bits, préservant ainsi tous les niveaux d’une image 8 bits? Quelle est la situation pour les autres applications, notamment les applications photo telles que Shotwell, Rawtherapee, Darktable, RawStudio, Photivo, etc.?

Ubuntu diffère-t-il des autres systèmes d’exploitation (Linux et autres) sur ce point?

“Un peu sage, il ne devrait pas y avoir de problème de rendu dans 8 ou 10, mais il y a quand même un problème majeur avec Linux avec les profondeurs de bits. Dans Linux, il n’y a malheureusement pas de logiciel front-end qui vous permette de changer le bit Le seul moyen de modifier la résolution en bits sous Linux consiste à comstackr vos pilotes vidéo pour qu’ils appellent 10 bits par canal pour vos interfaces, au lieu de 8. ”

En fait, les pilotes Nvidia GeForce prennent en charge 10 bits par canal sous Linux depuis quelque temps déjà. Bien entendu, vous aurez besoin d’un écran prenant en charge la couleur sur 10 bits par canal, connecté via un port DisplayPort à votre carte vidéo, pour que cela fonctionne.

En revanche, avec Windows, seuls les pilotes Nvidia de leurs cartes Quadro autorisent une couleur de 10 bits par canal. Cependant, la plupart des applications ne fonctionnent pas avec ce dernier (le bureau Windows lui-même étant de 8 bits par canal, il est difficile d’implémenter une couleur de 10 bits par canal sur une partie de l’écran, comme vous le feriez avec une application de traitement d’images. Dans Windows, Photoshop utilise 10 bits par canal et utilise soit des cartes AMD Firepro, soit des cartes Nvidia Quadro avec CS6, mais avec Photoshop CC, des problèmes avec les cartes Firepro ont été signalés.

Fondamentalement, Windows requirejs des cartes “Pro” (AMD Firepro ou Nvidia Quadro) pour obtenir cette fonctionnalité (couleur 10 bits par canal avec les applications qui le prennent en charge), car les pilotes des cartes AMD Radeon et Nvidia GeForce ne prennent pas en charge le code 10 bits. canaux tampons OpenGL utilisés par des applications telles que Photoshop. Voir cette page pour quelques informations sur celle de Nvidia:

http://nvidia.custhelp.com/app/answers/detail/a_id/3011

Cependant, il est intéressant de noter que les pilotes Linux propriétaires Nvidia pour les cartes GeForce prennent en charge les tampons OpenGL 10 bits par canal si vous disposez d’une carte avec DisplayPort et d’un affichage prenant en charge 10 bits par canal. Ils ont ajouté une prise en charge de la couleur 10 bits par canal (ou 30 bits) à leurs pilotes Linux à partir de 295.20. Voici un ancien article de Phoronix le mentionnant:

http://www.phoronix.com/scan.php?page=news_item&px=MTA1NzM

Si vous accédez au panneau de configuration Nvidia X-Server sous Linux et que vous regardez sous Paramètres d’affichage, vous devriez voir un choix de profondeur de couleur si le moniteur détecté est capable de 10 bits par canal et est connecté par un port d’affichage. Vous verrez un choix de 30 bits marqué comme expérimental. Ou bien, vous pouvez simplement sélectionner l’écran X 0 (par rapport à l’affichage détecté) et voir ainsi le choix de la profondeur de couleur (où la valeur par défaut est 24 bits mais 30 bits sont disponibles dans la liste déroulante). Bien sûr, vous ne voulez pas choisir ce choix sauf si vous avez une configuration matérielle réelle de 30 bits (10 bits par canal) (carte avec un DispayPort auquel un moniteur est connecté avec un panneau de couleur véritable de 10 bits par canal).

Cela pose quelques problèmes majeurs, que je traiterai plus tard.

Si vous affectez un profil de couleur plus petit (sRVB) à un profil de couleur plus grand, vous devrez bien entendu modifier les valeurs RVB. Le seul moyen de conserver en toute sécurité les valeurs sRGB d’origine consiste à utiliser l’option “convert”, qui convertit le mode couleur ou la désignation “Lab”, et à essayer de conserver les teintes d’origine, ou à annuler l’atsortingbution du profil de couleur et à laisser le logiciel l’utiliser par défaut rendu rgb.

Un peu sage, il ne devrait pas y avoir de problème de rendu dans 8 ou 10, mais il y a quand même un problème majeur avec Linux avec les profondeurs de bits. Sous Linux, il n’existe malheureusement aucun logiciel frontal permettant de modifier la profondeur de bits. Le SEUL moyen de changer la profondeur de bits sous Linux est de comstackr vos pilotes vidéo pour appeler 10 bits par canal pour vos interfaces, au lieu de 8.

Euh …

Windows prend en charge au moins 16 bpp de sortie depuis Windows 7. La publication sur les pilotes NVidia 10 bits ne fonctionnant pas sous Windows, car le système d’exploitation est limité à 8 bpp est TRÈS, TRÈS FAUX.

Ces informations sont disponibles depuis 2008 sur le WinHEC lors de sa première annonce et démonstration pour Windows 7 et utilisées en production sous Windows 7 en 2009, lors de sa publication avec les pilotes ATI et NVidia offrant une prise en charge d’au moins 10 bpp. (Sources: Wiki, MSDN, WinHEC, etc.)

De nombreux professionnels utilisant des écrans 30 bits et 48 bits avec Windows 7/8/10 ne procèdent pas à un tramage ni à un sous-échantillonnage de la couleur du système d’exploitation à l’écran. (Sources: Wiki, MSDN, Adobe, Autodesk, RenderMan, etc.)

Remarque supplémentaire: OS X a récemment ajouté la prise en charge de la couleur 10 bits pour OS X 10.11 (2015), ce qui est malheureusement très en retard, en particulier lorsque Apple exige l’utilisation de son nouveau framework de processeur graphique pour pouvoir même l’utiliser.