Modérateurs: Modération Forum Home-Cinéma, Le Bureau de l’Association HCFR • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 77 invités

Tout ce qui ne rentrait pas dans les catégories ci dessus lors de la réorganisation ;)
Règles du forum
Avant de poster, merci de prendre connaissance des règles du forum : à lire avant de poster
Par ailleurs, il n'est pas possible de créer un nouveau sujet : merci de le faire dans un autre forum.

Le test des décodeurs mpeg2

Message » 10 Fév 2005 0:39

En fait pour résumer ce qu'explique John (en espérant que j'ai bien pigé :D ), il devrait y avoir à terme aucun problème avec DScaler 5 parce que:
- pour les sources de type vidéo le désentrelacement Diag masquera le problème ICP que tu as démontré
- pour les sources de type film, la détection film/vidéo fera switcher vers un mode progressif de chroma upsampling


A ce propos, John a pas mal revu ses plans, et l'idée de séparer le décodage MPEG2 du post-processing (désentrelacement) va tomber à l'eau car la solution des deux filtres ne s'intègrent pas toujours très selon les players. Donc à terme, il y aura bien qu'un seul filtre de décodage MPEG2 qui intègrera le désentrelacement et la détection du type de source.

Va falloir que je me crée un fichier MPEG2 comme le tien avec tes mires pour vérifier par moi-même l'impact de Diag.

Laurent
LaurentG
 
Messages: 4873
Inscription Forum: 31 Aoû 1999 2:00
  • offline

Message » 10 Fév 2005 6:52

la derniere phrase est aussi plutot importante pour ceux qui s'embetent a faire des tests longs et fastidieux :

"Also note that ffdshow captures are not very accurate particularly the YV12 -> RGB conversion is pretty bad in real use the YV12 looks better than YUY2. "
Nobo
 
Messages: 10615
Inscription Forum: 25 Déc 2000 2:00
Localisation: nice
  • offline

Message » 10 Fév 2005 17:46

LaurentG a écrit:

A ce propos, John a pas mal revu ses plans, et l'idée de séparer le décodage MPEG2 du post-processing (désentrelacement) va tomber à l'eau car la solution des deux filtres ne s'intègrent pas toujours très selon les players. Donc à terme, il y aura bien qu'un seul filtre de décodage MPEG2 qui intègrera le désentrelacement et la détection du type de source.

Je crois que c'est ce que Milan Cutka est en train de faire avec ffdshow : un seul filtre de decodage avec le p.p. intégré.La dernière version du 4-20-2005 est d'ailleurs déjà très aboutie.
Le site a été renouvelé et se trouve ici: http://ffdshow.sourceforge.net/tikiwiki ... ticles.php


Laurent
jepe
 
Messages: 447
Inscription Forum: 11 Juil 2002 19:09
  • offline

Message » 10 Fév 2005 18:13

>la derniere phrase est aussi plutot importante pour ceux qui s'embetent a faire des tests longs et fastidieux :

Je peux effacer le post si tu veux :wink: Etant quelqu'un de prudent par nature, j'ai pris soin d'écrire :

Nota : les valeurs obtenues dépendent
- de l'encodeur mpeg2 utilisé au départ
- du décodeur mpeg2 testé
- de la précision de la conversion YCbCr -> RGB de la fonction Grab


La remarque de John est parfaitement en accord avec les valeurs RGBWB un peu bizarres obtenues en YV12 et ma remarque :
c'est peut-être la fonction grab qui est mal implémentée dans ce cas...


Je connaissais bien les problèmes CUE et ICP via la lecture de "secrets" mais je n'avais pas identifié quel problème apparaissait sur chaque décodeur (je pensais que c'était du CUE sur Dscaler en YUY2 alors que John dit que c'est de l'ICP). Par contre, je n'ai pas vraiment compris comment fait nvidia pour masquer (?) ou résoudre (?) ce pb d'ICP en YUY2.

En tout cas, tu as raison laurent, c'est une sacré bonne nouvelle que John maîtrise ces points. Ca ne laisse augurer que du bon. Au passage, ce serait vraiment génial si tu trouvais un jour le courage d'implémenter en bout de chaine du filtre de John un petit bouton pour faire un snapshot de la sortie et stocker le tout en TIFF YCbCR ou TIFF RGB comme sur Dscaler... Ca permettrait notamment de comparer la capture avec ce que donne la fonction grab de ffdshow :)

>Va falloir que je me crée un fichier MPEG2 comme le tien avec tes mires pour vérifier par moi-même l'impact de Diag.

N'hésite surtout pas :wink:

@+
Emmanuel
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10416
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 10 Fév 2005 21:14

Emmanuel Piat a écrit:Je connaissais bien les problèmes CUE et ICP via la lecture de "secrets" mais je n'avais pas identifié quel problème apparaissait sur chaque décodeur (je pensais que c'était du CUE sur Dscaler en YUY2 alors que John dit que c'est de l'ICP). Par contre, je n'ai pas vraiment compris comment fait nvidia pour masquer (?) ou résoudre (?) ce pb d'ICP en YUY2.


Moi, ce que j'ai compris de son explication, c'est que le décodeur nvidia en YUY2 souffre du bug MIM ce qui a pour conséquence d'éviter le problème ICP.

En tout cas, tu as raison laurent, c'est une sacré bonne nouvelle que John maîtrise ces points. Ca ne laisse augurer que du bon.


Il a l'air de vraiment maîtriser en effet :wink: 8)

Au passage, ce serait vraiment génial si tu trouvais un jour le courage d'implémenter en bout de chaine du filtre de John un petit bouton pour faire un snapshot de la sortie et stocker le tout en TIFF YCbCR ou TIFF RGB comme sur Dscaler... Ca permettrait notamment de comparer la capture avec ce que donne la fonction grab de ffdshow :)


En fait, il existe déjà une fonction de capture en VMR au niveau du renderer vdiéo. La capture se fait en RGB (format BMP). Donc ça vaut pas trop le coup de se prendre la tête à redévelopper. En fait, ça ne manque qu'en mode overlay. Le problème, c'est que je suis désormais un peu largué avec la nouvelle architecture autour des filtres DShow et DMO. Mais bon on verra ce que je peux faire.

A+
Laurent
LaurentG
 
Messages: 4873
Inscription Forum: 31 Aoû 1999 2:00
  • offline

Message » 11 Fév 2005 0:21

Salut Emmanuel.

Je viens de créer le fichier DVD et j'ai comme le sentiment que le problème vient surtout de l'encodage quand on encode en entrelacé. D'ailleurs, dans ton topic sur la façon de construire un DVD de calibration, tu proposes au début d'utiliser le mode progressif. Michel a l'air aussi en fin de topic de conseiller fortement l'utilisation du mode progressif pour l'encodage de mires.

J'obtiens donc quelque chose de moins bon en restitution quand je lis la version encodée en entrelacé. Par contre, en YUY2 je ne constate pas les mêmes défauts que sur tes captures en particulier sur les fines lignes rouges. Sur tes captures, on voit deux lignes rouges décallées, moi j'en vois qu'une seule.

Encodage entrelacé et restitution avec DScaler 5 en YUY2
http://lg.pchc.free.fr/HC/mireYUY2.bmp (1,6 Mo)

Encodage entrelacé et restitution avec DScaler 5 en YV12
http://lg.pchc.free.fr/HC/mireYV12.bmp (1,6 Mo)

A+
Laurent
LaurentG
 
Messages: 4873
Inscription Forum: 31 Aoû 1999 2:00
  • offline

Message » 11 Fév 2005 10:17

Merci pour ces essais. Je bosse aujourd'hui et part en vacances ce soir, donc je n'aurais pas le temps de refaire des essais avant une semaine pour voir ce qu'il se passe (et ma semaine de rentrée est ultra chargée, donc je ne promet rien avant le 1er mars).

Est tu passé par grab pour faires les captures ? A tu utilisé la même version de ffdshow (je deviens méfiant avec ffdshow :wink: ).

Si ce n'est pas le cas, précise ta version de ffshow que je puisse refaire des essais à mon retour. On va bien arrivé à converger.

>j'ai comme le sentiment que le problème vient surtout de l'encodage quand on encode en entrelacé.

L'encodage du chroma en entrelacé pour une source progressive fait de gros dégats, c'est certain. Mais comme les films des DVD PAL sont encodés de cette manière (à moins que je n'ai rien compris...), il est important de voir comment le décodeur s'en sort sur un tel encodage. Maintenant, rien ne vaut le progressif. C'est pas pour rien qu'en HD, beaucoup de "pointures" militent pour le 720p plutôt que le 1080i et son chroma entrelacé.

@+
Emmanuel
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10416
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 11 Fév 2005 20:48

Salut Emmanuel.

J'ai juste utilisé le bouton de capture dans le renderer vidéo. J'avais même pas ffdshow dans mon graphe.

Laurent
LaurentG
 
Messages: 4873
Inscription Forum: 31 Aoû 1999 2:00
  • offline

Message » 12 Fév 2005 1:47

Emmanuel Piat a écrit:>la derniere phrase est aussi plutot importante pour ceux qui s'embetent a faire des tests longs et fastidieux :

Je peux effacer le post si tu veux :wink:
Emmanuel



tu ne vas pas transformer un rappel attentionné en reproche quand meme... pas toi ;) ("long et fastidieux" à faire, pas à lire)
Nobo
 
Messages: 10615
Inscription Forum: 25 Déc 2000 2:00
Localisation: nice
  • offline

Message » 01 Mar 2005 16:53

J'ai continué à me documenter un peu sur le resize et la chaîne ADDA des DVD.
L'objectif étant de participer à l'élaboration d'une méthode de comparaison
des logiciels de lecture et/ou de calibrage d'un système. Bon c'est sûrement
pas évident à lire pour tout le monde (il y a des maths), mais les
conclusions intéressent tout le monde ici. Pour info, je ne suis pas un pro,
juste un amateur avec un bon bagage, donc j'ai peut-être fait de grossières
erreurs, alors il ne faut pas hésiter à corriger, émettre des doutes,
confirmer/infirmer certaines infos, etc.

Tout d'abord, quelques constatations, que j'ai jugées importantes:

I-1) contrairement à l'audio, la fréquence d'échantillonnage est encore
inférieure aux limites de perception de l'oeil (compte tenu des distances de
projection et des tailles de projection).

I-2) les filtres d'interpolation "idéaux" ne présentent pas de symétrie de
révolution. Dans le domaine des fréquences, le filtre "idéal" est un carré
(ou rectangle) et non un disque. Ceci est dû au motif d'échantillonnage
utilisé. Je pense par ailleurs qu'il n'existe aucun motif d'échantillonnage
pour lequel le disque serait le filtre idéal.

I-3) FFDShow implémente des filtres d'interpolation ayant une symétrie de
révolution. Je me trompe peut-être car je me base sur ma lecture du code, et
j'ai beaucoup de mal à le comprendre (forcément, c'est compliqué et il y a
beaucoup d'optimisations, ce qui ne facilite jamais la lecture). Je propose
plus loin un moyen simple de le vérifier.

I-4) l'objectif des fonctions de type Lanczos est de se rapprocher des
filtres "idéaux" en conservant un support fini.

I-5) les caméras numériques professionnelles (j'ai vaguement regardé ce que
faisait une Sony utilisée pour le tournage de StarWars) utilisent un filtrage
optique, donc de type gaussien.

I-6) je n'ai pour le moment aucune information sur les filtres utilisés pour
le sous-échantillonnage (passage par exemple de 1920x1080 à 1024x768).

I-7) à moins de faire certains types de traitement après le resize, faire un
resize supérieur à la taille de la matrice ne présente aucun intérêt d'un
point de vue théorique. Je suppose ici que les traitements post-resize
confondent l'image échantillonnée et l'image source (approximation -ou
erreur- classique).

I-8) la différence entre un grand resize suivi du "downscale de la CG" et un
resize directement "à la taille de la matrice" provient tout simplement du
fait que la fonction d'interpolation (de reconstruction) du sous-
échantillonnage (downscale) n'est pas la même que celle utilisée lors du
suréchantillonnage (upscale).

I-9) on lit souvent, en citant Shannon, que traiter un tant soit peu l'image
(par exemple faire un sharpen, même léger) est artificiel car "on crée alors
de l'information". C'est vrai mais surtout c'est faux :C) C'est vrai pour des
fonctions quelconques. C'est faux lorsqu'on restreint l'espace "source" des
fonctions. Or notre espace source est clairement restreint: il s'agit
essentiellement d'images naturelles en ce qui concerne les films. Cette
information peut être utilisée pour améliorer la reconstruction (par exemple
faire un denoise ou un sharpen). D'ailleurs, je crois que les meilleurs algos
de désentrelacement utilisent cette information (détection de mouvements).

I-10) on oublie souvent la dimension temporelle et la quantification. Moi
aussi, un peu, pour le moment...



J'en ai déduit les choses suivantes:

II-1) l'utilisation de filtres à symétrie de révolution dans FFDShow peut
avoir deux explications:
a) cela a été jugé meilleur qualitativement (sur de vraies images, pas sur
des images synthétiques)
b) c'est une simple erreur. Elle est très facile à commettre car si l'image
de test est synthétique, comme un simple dirac, le résultat visuel est
subjectivement meilleur lorsqu'il y a une symétrie de révolution. Moi, je
l'aurais certainement commise!

II-2) s'il s'avère que l'intérêt qualitatif d'utiliser des filtres à symétrie
de révolution est discutable, alors les performances des resizes devraient
pouvoir être améliorées. Perfos actuelles: O(NxNxPxP) où N est la dimension
de l'image (ici un carré pour simplifier) et P celle du filtre (carré aussi).
Perfos possibles: O(NxNxP).

II-3) compte tenu de I-3, I-4 et I-5, le choix de filtres de type sinc
(Lanczos) perd de son intérêt théorique (ce qui n'est pas forcément une raison pour ne pas les préférer subjectivement). Et d'autant plus si les caméra numériques effectuent un sharpen (apparemment c'est une option).

II-4) si la gaussienne s'avère être un choix intéressant pour le resize, il
faut savoir que l'optimisation précédente s'applique (maths: la gaussienne
présente une symétrie de révolution et est séparable).

II-5) I-5) et I-1) font bon ménage: pour avoir un peu plus de piqué (plus de
HF), on accepte un peu de repliement de spectre ('aliasing'). Et donc,
autrement dit, les images sont échantillonnées avec un contenu fréquenciel
allant au delà de la fréquence de Nyquist (0.5 x Fréq. d' éch.).

II-6) je pense que I-8), combiné aux différences de résolution entre les
différentes composantes d'une image, peut expliquer des dérives chromatiques
lors du resize (ce qu'a observé Emmanuel).

II-7) finalement, le choix de faire un léger denoise (s'appuyant sur une
analyse du contour), puis un resize, puis un sharpen, s'accorde bien avec mes
'découvertes' théoriques. Il s'agit de la combinaison proposée par le très
respecté DTSMan. En revanche, un sharpen avant le resize (souvent effectué
par les amateurs d'AVIsynth), sont plus sujets aux artefacts HF de resize (et
oui, comme les sous-titres). La solution -avec FFDShow- dans ce cas est
probablement de ne pas utiliser un resize de type sinc (dont Lanczos), mais
plutôt quelque chose de plus doux (ou moins chaotique) sur les HF (gaussienne
ou polynôme?).


Je propose (je suis candidat pour faire, mais à mon rythme...):

III-1) d'ajouter un dirac (point blanc sur fond noir) à la mire pour vérifier
si le resize (FFDShow ou autre) est fait avec une fonction d'interpolation à
symétrie de révolution. Cette information permet de mieux connaître sont
système.

III-2) d'ajouter à la mire quelques gaussiennes étroites, puisque celles-ci
semblent finalement être représentatives (en tant qu'images synthétiques) du
contenu fréquentiel des images contenues dans les films, et donc un bon
candidat pour comparer les resizes, au moins subjectivement, sans être
influencé par des artefacts ne concernant par exemple les sous-titres mais
pas les images de films. En plus, les gaussiennes ont une symétrie de
révolution, donc elle pourront peut-être montrer l'intérêt, ou au contraire
l'absence d'intérêt, d'utiliser des filtres de reconstruction à symétrie
circulaire.

III-3) faire un petit programme de resize d'images fixes utilisant des
filtres séparables.
bunyete
 
Messages: 45
Inscription Forum: 18 Mai 2004 16:19
  • offline

Message » 01 Mar 2005 17:08

:o
brunodenis
 
Messages: 241
Inscription Forum: 13 Mar 2001 2:00
Localisation: Ailleurs, loin des cartésiens
  • offline

Message » 02 Mar 2005 1:47

brunodenis a écrit::o
Pareil.
oli2
 
Messages: 1038
Inscription Forum: 09 Oct 2004 19:55
Localisation: Dijon
  • offline

Message » 02 Mar 2005 11:14

:o :o :o

bunyete, mais où va tu chercher tout ça? :D
yy
 
Messages: 2010
Inscription Forum: 27 Juil 2003 15:27
  • offline

Message » 02 Mar 2005 12:07

bunyete, mais où va tu chercher tout ça?


désolé si je n'ai pas beaucoup d'echo. J'aime bien les maths (il en faut). Je préfère tenter de partager mes idées par ici, à la fois pour en apprendre un peu plus, mais aussi, et c'est dans l'intérêt de tous, d'essayer d'aller jusqu'au bout de la démarche d'Emmanuel et quelques autres du forum.

Au final, ça pourrait même être intéressant pour certains développeurs open-source d'avoir certains éléments théoriques.

D'ailleurs, au passage, je lance la question (LaurentG?): et un petit resize dans DScaler?
bunyete
 
Messages: 45
Inscription Forum: 18 Mai 2004 16:19
  • offline

Message » 02 Mar 2005 12:13

Salut,

J'avoue être un peu dépassé par le coté mathématique, mais ce qui est ettonant (quoique, non finallement ;)) c'est que par experimentation et tests, j'utilise à peu prés ce que tu semble expliquer...
A savoir sur du DVD, un poil de Denoise, un resize Lanczos (1) 1080p (j'ai la chance d'avoir un diffuseur qui le supporte) et ensuite un poil de sharpen...
Sur les sources HD, un simple resize quand elle sont en 720p...

Trés interessant en tous cas, à suivre ;) Et si les math t'interesse, n'hésite pas à te pencher sur le projet de colorimétre (qui à bien bien avancé) :lol:

--Patrice

La configuration dans mon profil


Adherez à l'association HCFR pour que le site vive et reste indépendant... HCFR for ever...
laric
Membre d'Honneur - Webmaster
Membre d'Honneur - Webmaster
 
Messages: 26035
Inscription Forum: 19 Juil 2000 22:13
Localisation: Nîmes
  • offline


Retourner vers Archives

 
  • Articles en relation
    Dernier message