YUV -> RGB rendering
Modérateur : Modérateurs
YUV -> RGB rendering
Bonsoir à tous,
Ce n'est peut être pas le bon endroit pour exposer mon questionnement, mais je me dis que quelqu'un ici a surement la réponse.
J'ai remarqué une différence dans l'affichage de rendus des couleurs selon les logiciels de lecture de video ou dans les mêmes logiciels selon les settings.
plus précisement, le cas de lecture d'un DVD ou d'un divx dans VLC
avec sortie sans accelération matériels : les couleurs semblent correctes les gris foncés sont gris, les noirs noirs et les blancs blancs (oui attendez la suite si ce n'est pas clair)
avec sortie avec accelération matériels (overlay) et mode directx : les couleurs apparaissent plus sombres, les gris foncés deviennent noirs et les blancs pétent moins (gris très clair)
avec sortie avec accélération matériels (overlay) et mode Direct3D : les couleurs semblent OK
Après avoir un peu cherché, il semble y avoir différentes conversion de YUV vers RGB.
sur les DVD, les informations YUV seraient sur une plage de valeurs entre 16 et 235 (16 étant le noir, 235 étant le blanc)
lors de la conversion, direct3D (en fait un module appellé VMR9) mappe les valeurs YUV 16-235 vers du RGB 16-235
DirectX, lui maperrait vers du 0-255, ce qui expliquerait pourquoi les gris foncés deviennent noirs...
Seulement qu'elle est la bonne version de rendu ?
Je suppose qu'il doit y avoir une norme quelque part sur le conversion YUV vers RGB ?
Si il y a quelqu'un qui a les idées claires là dessus, je suis preneur....
Touco
Ce n'est peut être pas le bon endroit pour exposer mon questionnement, mais je me dis que quelqu'un ici a surement la réponse.
J'ai remarqué une différence dans l'affichage de rendus des couleurs selon les logiciels de lecture de video ou dans les mêmes logiciels selon les settings.
plus précisement, le cas de lecture d'un DVD ou d'un divx dans VLC
avec sortie sans accelération matériels : les couleurs semblent correctes les gris foncés sont gris, les noirs noirs et les blancs blancs (oui attendez la suite si ce n'est pas clair)
avec sortie avec accelération matériels (overlay) et mode directx : les couleurs apparaissent plus sombres, les gris foncés deviennent noirs et les blancs pétent moins (gris très clair)
avec sortie avec accélération matériels (overlay) et mode Direct3D : les couleurs semblent OK
Après avoir un peu cherché, il semble y avoir différentes conversion de YUV vers RGB.
sur les DVD, les informations YUV seraient sur une plage de valeurs entre 16 et 235 (16 étant le noir, 235 étant le blanc)
lors de la conversion, direct3D (en fait un module appellé VMR9) mappe les valeurs YUV 16-235 vers du RGB 16-235
DirectX, lui maperrait vers du 0-255, ce qui expliquerait pourquoi les gris foncés deviennent noirs...
Seulement qu'elle est la bonne version de rendu ?
Je suppose qu'il doit y avoir une norme quelque part sur le conversion YUV vers RGB ?
Si il y a quelqu'un qui a les idées claires là dessus, je suis preneur....
Touco
- Underground78
- Administrateur
- Messages : 11272
- Enregistré le : mar. 06 févr., 2007 21:54
- Localisation : France
- Contact :
Bonsoir,
Sur Wikipedia : http://fr.wikipedia.org/wiki/YUV, il y a les tables de conversion entre YUV et RGB, je pense que ça peut t'aider ...
Sur Wikipedia : http://fr.wikipedia.org/wiki/YUV, il y a les tables de conversion entre YUV et RGB, je pense que ça peut t'aider ...
Bonsoir,Underground78 a écrit :Bonsoir,
Sur Wikipedia : http://fr.wikipedia.org/wiki/YUV, il y a les tables de conversion entre YUV et RGB, je pense que ça peut t'aider ...
En fait j'ai mal posé le problème.
Savez vous si les DVD sont encodé avec un noir à 16 et un blanc à 235 ? (au lieu de valeur entre 0 et 255) il semble que oui, mais je n'arrive pas à le voir confirmer dans une norme.
Car sachant cela, cela me permettra de savoir qu'elle est le bon outil de rendu pour voir les DVD dans leurs couleurs fidèles (et pas avec des noirs qui deviennent gris)
Merci à ceux qui se sont déja penché sur la question
Touco
- BiGf0oT
- Administrateur
- Messages : 6072
- Enregistré le : sam. 03 févr., 2007 23:10
- Localisation : Dans ma grotte
- Contact :
http://www.presence-pc.com/tests/PC-Hom ... ion-308/3/Techniquement, l’overlay se caractérise par l’utilisation des niveaux de luminance PC : le noir absolu est à 0 alors que le blanc absolu est à 255. Or, dans ce référentiel, les DVD n’utilisent que la plage 16-235. Afin de ne pas afficher que des nuances variant entre le gris foncé et le gris clair, il réalise donc une conversion 16 -> 0 jusqu’à 235 -> 255.
=======
http://www.homecinema-fr.com/article_si ... t=298649400-255 et 16-235
Explications à partir du site de DTSman http://perso.wanadoo.fr/nicolas.phil/fr/cadre.html
Avant toute chose rappelons qu'un ordinateur travaille la vidéo sur 8 bit et permet donc de quantifier chaque composante RVB sur 256 niveau. On parle alors d'échelle 0-255. Quand les trois composantes RVB valent toute trois zéro le couleur obtenue est le noir 100% et quand les trois composantes RVB valent toutes trois 255 on obtient alors un blanc 100%. Au total il y a donc 256^3 combinaisons de couleurs soient approximativement 16 millions de couleurs possibles. Bien que nos DVD soient encodés selon cette même échelle de quantification, au lieu d'utiliser les valeurs de 0 à 255 ils n'utilisent que les valeurs comprises entre 16 et 235.
Proverbe Chien : Si ça ne se mange pas, Si ça ne se baise bas, Pisse dessus !
Intéressant, mais je crois que ce n'est pas tout a fait vrai (que sur un DVD la luminance tient toujours entre 16 et 235)BiGf0oT a écrit :http://www.presence-pc.com/tests/PC-Hom ... ion-308/3/Techniquement, l’overlay se caractérise par l’utilisation des niveaux de luminance PC : le noir absolu est à 0 alors que le blanc absolu est à 255. Or, dans ce référentiel, les DVD n’utilisent que la plage 16-235. Afin de ne pas afficher que des nuances variant entre le gris foncé et le gris clair, il réalise donc une conversion 16 -> 0 jusqu’à 235 -> 255.
=======
http://www.homecinema-fr.com/article_si ... t=298649400-255 et 16-235
Explications à partir du site de DTSman http://perso.wanadoo.fr/nicolas.phil/fr/cadre.html
Avant toute chose rappelons qu'un ordinateur travaille la vidéo sur 8 bit et permet donc de quantifier chaque composante RVB sur 256 niveau. On parle alors d'échelle 0-255. Quand les trois composantes RVB valent toute trois zéro le couleur obtenue est le noir 100% et quand les trois composantes RVB valent toutes trois 255 on obtient alors un blanc 100%. Au total il y a donc 256^3 combinaisons de couleurs soient approximativement 16 millions de couleurs possibles. Bien que nos DVD soient encodés selon cette même échelle de quantification, au lieu d'utiliser les valeurs de 0 à 255 ils n'utilisent que les valeurs comprises entre 16 et 235.
car sur des sites américains, j'ai lu qu'ils parlent de niveau "blacker than black" et "whiter that white" à propos de DVD...
j'analyserai un DVD pour comprendre de quoi il en retrourne
Effectivement, je me le mets dans un coin pour lire ça après une bonne nuitBiGf0oT a écrit :y a un bon topic sur ce sujet ici
http://www.homecinema-fr.com/forum/view ... than+black
Merci
J'ai fait un test
en fait c'est le YUV->RGB en acceleration matérielle qui est foireux, du moins en ce qui concenre ma carte graphique et son pilote (une ATI x850XT et les derniers pilotes)
avec l'option "utiliser les conversions YUV->RGB matérielles" dans VLC
sur un scéne qui contient du noir dont on est sur qu'il s'agit d'un noir dans la source, en l'occurence le fond du générique ou un fondu au noir, en faisant une capture d'écran et dans photoshop le noir est en fait (16,16,16) donc un noir un peu délavé
en enlevant cette option, les noirs sont bien à (0,0,0)
j'ai lu sur d'autres forums qu'il y avait effectivement un problèmes dans les pilotes de certaines cartes graphiques, donc il vaut mieux laisser faire VLC sur ce coup là.
Par contre, je remarque avec une sortie Direct3D, les contours sont légèrement flous, comme si il y avait une tentative d'aliasing des contours (?)
En sortie DirectX les contours sont nets.
bref, ce qui est sur c'est que par précaution il vaut mieux éviter la conversion matérielle YUV->RGB
Par contre sur le rendu directX3D ou directX je ne sais pas trop d'autant plus que c'est très mal documenté dans VLC.
en fait c'est le YUV->RGB en acceleration matérielle qui est foireux, du moins en ce qui concenre ma carte graphique et son pilote (une ATI x850XT et les derniers pilotes)
avec l'option "utiliser les conversions YUV->RGB matérielles" dans VLC
sur un scéne qui contient du noir dont on est sur qu'il s'agit d'un noir dans la source, en l'occurence le fond du générique ou un fondu au noir, en faisant une capture d'écran et dans photoshop le noir est en fait (16,16,16) donc un noir un peu délavé
en enlevant cette option, les noirs sont bien à (0,0,0)
j'ai lu sur d'autres forums qu'il y avait effectivement un problèmes dans les pilotes de certaines cartes graphiques, donc il vaut mieux laisser faire VLC sur ce coup là.
Par contre, je remarque avec une sortie Direct3D, les contours sont légèrement flous, comme si il y avait une tentative d'aliasing des contours (?)
En sortie DirectX les contours sont nets.
bref, ce qui est sur c'est que par précaution il vaut mieux éviter la conversion matérielle YUV->RGB
Par contre sur le rendu directX3D ou directX je ne sais pas trop d'autant plus que c'est très mal documenté dans VLC.
- pepsilite
- The Grinch
- Messages : 23287
- Enregistré le : sam. 03 févr., 2007 19:13
- Localisation : Chez moi le plus possible ...
Tu as le filtre "Limite luma/chroma" dans m4ng qui permet d'éliminer aussi toutes ces couleurs avant 16 et après 235.
06/01/2020 m4ng v6 est disponible au téléchargement en version finale : m4ng v6
Merci pour l'infopepsilite a écrit :Tu as le filtre "Limite luma/chroma" dans m4ng qui permet d'éliminer aussi toutes ces couleurs avant 16 et après 235.
en fait j'ai regardé ou se situe les limites de luminance dans un DVD avec ce script
Source="VTS_01_1.d2v"
Video=MPEG2Source(Source)
Return(Histogram(Video, "Levels"))
ça permet de voir que le niveau de luminance se situe bien entre 16 et 235 et respecte bien la norme CCIR 601.
Après c'est dans les conversions en RGB que ça peut merder, d'ou l'intéret de ne pas en faire avant la phase final c'est à dire l'affichage.
Sinon juste une suggestion, est-il possible que par défaut M4ng lise le mpeg du DVD pour envoie au codec avec des paramètres permettant un décodage avec plus de qualité ? par exemple
Video=MPEG2Source(Source,idct=5,cpu=6,cpu2="xxxxxx")
J'ai pas été vérifié moi même s'il y avait une différence visuelle j'ai juste lu la doc pour ces paramètres (meilleur IDCT, postprocessing...)
- Underground78
- Administrateur
- Messages : 11272
- Enregistré le : mar. 06 févr., 2007 21:54
- Localisation : France
- Contact :
En fait j'ai pas une grosse expérience d'encodage de DVD (je commence juste à m'acheter des DVD depuis peu, autant que possible les éditions testé par DVDrama, donc souvent des editions collectors car la qualité des masters et de l'encodage est souvent meilleurs)Underground78 a écrit :Le truc c'est que c'est par forcement bon pour tous les films de mettre tout à fond ...
Sais tu sur quel type de films c'est pas bon de mettre tout à fond ? je suppose les films un peu ancien où le master n'est pas bon ou la compression laisse à désirer ?
a+
Touco
il est long le chemin de la connaissance
- Underground78
- Administrateur
- Messages : 11272
- Enregistré le : mar. 06 févr., 2007 21:54
- Localisation : France
- Contact :
aide pour ce script ?
Bonjour,eltouco a écrit :Merci pour l'infopepsilite a écrit :Tu as le filtre "Limite luma/chroma" dans m4ng qui permet d'éliminer aussi toutes ces couleurs avant 16 et après 235.
en fait j'ai regardé ou se situe les limites de luminance dans un DVD avec ce script
Source="VTS_01_1.d2v"
Video=MPEG2Source(Source)
Return(Histogram(Video, "Levels"))
ça permet de voir que le niveau de luminance se situe bien entre 16 et 235 et respecte bien la norme CCIR 601.
Après c'est dans les conversions en RGB que ça peut merder, d'ou l'intéret de ne pas en faire avant la phase final c'est à dire l'affichage.
Sinon juste une suggestion, est-il possible que par défaut M4ng lise le mpeg du DVD pour envoie au codec avec des paramètres permettant un décodage avec plus de qualité ? par exemple
Video=MPEG2Source(Source,idct=5,cpu=6,cpu2="xxxxxx")
J'ai pas été vérifié moi même s'il y avait une différence visuelle j'ai juste lu la doc pour ces paramètres (meilleur IDCT, postprocessing...)
j'aimerais pouvoir mesurer la luminance de mes DVD, mais je ne sais pas comment executer ce script. J'ai plusieurs logiciels don M4ng.
Sinon, j'explique mon problème : j'ai deux sortes de DVD avec un décalage de luminance. Les deux sont lus correctement sur un télé cathodique (le plus contrasté est rabaissé en luminance).
Sur mon PC, j'ai 2 options de carte graphique, niveau étendu (0-255) ou niveau vidéo (15-235).
En niveau étendu, certains DVD sont en 15-235, d'autres en 0-255.
En niveau vidéo, certains sont en 15-235, d'autre en 35-215 (donc catastrophe).
Dans l'idéal, je veut mes noirs et mes blanc en 601 (16-235).
J'aimerais donc savoir quel DVD est correct.