YUV -> RGB rendering

Fusion des anciens forums encodage et re-encodage

Modérateur : Modérateurs

Verrouillé
eltouco
Messages : 55
Enregistré le : lun. 26 nov., 2007 20:27

YUV -> RGB rendering

Message par eltouco »

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
Avatar du membre
Underground78
Administrateur
Administrateur
Messages : 11272
Enregistré le : mar. 06 févr., 2007 21:54
Localisation : France
Contact :

Message par Underground78 »

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 ...
eltouco
Messages : 55
Enregistré le : lun. 26 nov., 2007 20:27

Message par eltouco »

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 ...
Bonsoir,

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 :o:

Touco
Avatar du membre
BiGf0oT
Administrateur
Administrateur
Messages : 6072
Enregistré le : sam. 03 févr., 2007 23:10
Localisation : Dans ma grotte
Contact :

Message par BiGf0oT »

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.presence-pc.com/tests/PC-Hom ... ion-308/3/

=======
0-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.
http://www.homecinema-fr.com/article_si ... t=29864940
Proverbe Chien : Si ça ne se mange pas, Si ça ne se baise bas, Pisse dessus !
eltouco
Messages : 55
Enregistré le : lun. 26 nov., 2007 20:27

Message par eltouco »

BiGf0oT a écrit :
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.presence-pc.com/tests/PC-Hom ... ion-308/3/

=======
0-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.
http://www.homecinema-fr.com/article_si ... t=29864940
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)
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
Avatar du membre
BiGf0oT
Administrateur
Administrateur
Messages : 6072
Enregistré le : sam. 03 févr., 2007 23:10
Localisation : Dans ma grotte
Contact :

Message par BiGf0oT »

Proverbe Chien : Si ça ne se mange pas, Si ça ne se baise bas, Pisse dessus !
eltouco
Messages : 55
Enregistré le : lun. 26 nov., 2007 20:27

Message par eltouco »

BiGf0oT a écrit :y a un bon topic sur ce sujet ici

http://www.homecinema-fr.com/forum/view ... than+black
Effectivement, je me le mets dans un coin pour lire ça après une bonne nuit

Merci :d:
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

On devrait noter ce lien quelque part.
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
Avatar du membre
KadicK
Ghost member
Ghost member
Messages : 5202
Enregistré le : sam. 03 févr., 2007 19:24
Contact :

Message par KadicK »

On pourrait créer un sujet sur la base de celui pour faire découvrir des sites ...
Avatar du membre
Dirk-Pitt
Membre Fondateur
Membre Fondateur
Messages : 10541
Enregistré le : sam. 03 févr., 2007 19:08
Localisation : 01's Land
Contact :

Message par Dirk-Pitt »

Il y a celui de MKV2TS également propose par aussi par BiGf0oT.
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
eltouco
Messages : 55
Enregistré le : lun. 26 nov., 2007 20:27

Message par eltouco »

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.
Avatar du membre
pepsilite
The Grinch
The Grinch
Messages : 23287
Enregistré le : sam. 03 févr., 2007 19:13
Localisation : Chez moi le plus possible ...

Message par pepsilite »

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
eltouco
Messages : 55
Enregistré le : lun. 26 nov., 2007 20:27

Message par eltouco »

pepsilite 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.
Merci pour l'info

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...)
Avatar du membre
Underground78
Administrateur
Administrateur
Messages : 11272
Enregistré le : mar. 06 févr., 2007 21:54
Localisation : France
Contact :

Message par Underground78 »

Le truc c'est que c'est par forcement bon pour tous les films de mettre tout à fond ...
eltouco
Messages : 55
Enregistré le : lun. 26 nov., 2007 20:27

Message par eltouco »

Underground78 a écrit :Le truc c'est que c'est par forcement bon pour tous les films de mettre tout à fond ...
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)

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
Avatar du membre
Underground78
Administrateur
Administrateur
Messages : 11272
Enregistré le : mar. 06 févr., 2007 21:54
Localisation : France
Contact :

Message par Underground78 »

Ben justement, je dirais que si le film est vraiment bon, il n'est pas utile de mettre du postprocessing qui risque de plus dégrader l'image qu'autre chose ...
lj1982
Messages : 1
Enregistré le : lun. 03 déc., 2012 13:17

aide pour ce script ?

Message par lj1982 »

eltouco a écrit :
pepsilite 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.
Merci pour l'info

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...)
Bonjour,
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.
Verrouillé