module inscription newsletter haut de page forum mobile

Ateliers et Formations

[CommentFaire?] Aide sur le codage YUV en 4.2.0 entrelacé.

Discussion dans 'Compression, conversion vidéo' créé par squarealex, 3 Août 2013.

Tags:
  1. baloub

    So

    Points Repaire:
    6 230
    Recos reçues:
    85
    Messages:
    1 611
    Appréciations:
    +0 / 20 / -1
    Oui, car nnedi3 ne fait qu'un désentrelacement de type BOB. C'est à dire que chaque champ de l'image est gonflé à la taille d'une image.
    Le gros problème est pour les détails fins immobiles :
    Imagine un détail présent sur une seule ligne. Ce détail est donc présent dans un seul des deux champs. En final il se retrouve (agrandi) dans une image sur deux et comme il est immobile, cette séquence (présent/absent) est répétée un grand nombre de fois.
    Résultat : vibration et scintillement.

    A l'inverse un filtre comme LeakKernelDeint.dll fait une analyse de mouvement.
    Supposons un détails fin présent en ligne 200 (et donc absent en ligne 199 et 201).
    Le BOB fera un pâté en ligne 200 et 201 sur une image et ne mettra rien sur ces même lignes dans l'image suivante.
    LeakKernelDeint.dll mettra le détail en ligne 200 et rien en ligne 199 et 201 et ça pour les deux images consécutives.

    J'avais fait une mire test animée pour bien mettre en évidence les qualités et défauts d'un désentrelaceur lambda.
    Ça vaut le coup de l'essayer sur divers appareils.
     
  2. arnuche

    Points Repaire:
    3 470
    Recos reçues:
    8
    Messages:
    1 270
    Appréciations:
    +1 / 9 / -1
    Merci baloub pour l'explication. Dans ce cas, je me demande à quoi sert nnedi3(field=-2) ?
    Et il fait comment dans le cas d'un désentrelacement simple (vers 30p) pour gérer ces petites lignes ? Parce que comme je l'explique ci-dessous, il n'y a pas l'air d'y avoir de problème en 30p avec nnedi3(field=-1) (réglage par défaut donc ça correspond à nnedi3() ), alors qu'il vire une image sur deux (désentrelacement spatial uniquement) ?

    Ce n'est ni con ni impossible ;-) ;
    http://avisynth.org/mediawiki/ConvertToRGB
    Donc tu peux te contenter de rajouter ConvertToRGB() à la fin de ton script.

    Concernant le désentrelacement en 60p, j'ai poursuivi mes tests et j'ai constaté avec étonnement que le meilleur résultat était obtenu avec tdeint(mode=1), suivi de qtgmc() (qui prend pourtant beaucoup plus de ressources), suivi de nnedi3(field=-2) qui fait beaucoup trop vibrer l'image.
    Mais pour un désentrelacement simple en 30p, nnedi3(field=-1) semble donner un résultat très proche de tdeint().

    Je ne connaissais pas LeakKernelDeint, il est encore développé ? Parce que je ne trouve que des pages assez anciennes le concernant.
    Il vaut quoi par rapport à tdeint ?
     
  3. THEMASTER

    Points Repaire:
    1 970
    Recos reçues:
    11
    Messages:
    987
    Appréciations:
    +9 / 18 / -0
    un simple converttorgb24() dans le script doit suffire et si entrelacé converttorgb24(interlaced=true)
     
  4. baloub

    So

    Points Repaire:
    6 230
    Recos reçues:
    85
    Messages:
    1 611
    Appréciations:
    +0 / 20 / -1
    Ben tout dépend de la source. Si c'est du PSF (progressif segmented frame) autrement dit du progressif encapsulé dans de l'entrelacé, il suffit de réunir les deux champs pour obtenir une image identique à une "vraie" progressive.
    En TV c'est le cas des films et séries qui sont tournées en 24p, accélérées à 25p et diffusées dans du 50i.
    Pour du 24p en 60i c'est un peu plus compliqué, mais ça reste des traitements simples et réversibles.


    Pas vraiment différent de tdeint.
    C'est à dire qu'il fait ce qu'il peut. C'est mieux qu'un BOB, mieux qu'une réduction 50i -> 25p, mais beaucoup moins bon que le désentrelacement directdraw de windows.

    Je remet des images que j'avais déjà donné dans une autre discussion :
    Toutes ces images concernent le passage 50i -> 50p.

    D'abord le BOB. En désentrelaçant on a une succession des deux images suivantes et on comprend alors les raisons des vibrations/scintillement :

    [​IMG]
    [​IMG]

    Ensuite LeakKernelDeint ou Tdeint (sensiblement pareil) : Une seule image suffit car les parties fixes sont présentes dans toutes les images.
    On voit de nombreux défauts, mais, pour moi, je trouve qu'en dynamique le résultat est supérieur au bob.

    [​IMG]

    Enfin le désentrelacement hardware de directdraw : c'est, sous windows, ce qui se fait de mieux.

    [​IMG]
     
  5. arnuche

    Points Repaire:
    3 470
    Recos reçues:
    8
    Messages:
    1 270
    Appréciations:
    +1 / 9 / -1
    Bien sûr, mais je parlais de vrai entrelacé, donc cette fonction de nnedi n'a pas vraiment d'utilité (ça foire sur de l'entrelacé et c'est inutile sur du progressif).

    Pour réunir les 2 champs, on n'est pas obligé d'utiliser un désentrelaceur, en principe il ne faut rien faire si je ne m'abuse, si ?

    Je dis ça mais j'ai remarqué un truc étrange récemment sur un film que j'ai enregistré à la télé (1080i sur 13ème Rue HD) : si je ne fais pas de désentrelacement, on dirait que 2 images différentes se superposent, et il me semble que le même genre de script (très basique, juste la ligne pour ouvrir la vidéo) avec un dvd (Pal, contenant un film) ne donne pas cet effet, les champs sont mélangés sans que ça ne se voie puisqu'ils proviennent de la même image.
    Et pourtant c'est bien une source progressive ; quand je sépare les champs, il n'y a quasiment aucun mouvement d'une image à l'autre (du champ pair au champ impair).:perplexe:

    Et aucun filtre ne peut reproduire le fonctionnement de ce directdraw ?

    En tout cas je suis impressionné par ce bon vieux tdeint qui donne un bien meilleur résultat que qtgmc sur la vidéo de squarealex, ça se voit sur les plus petites lettres qui sont bien nettes et ne bougent pas entre 2 images successives. Avec qtgmc (qui est censé être la référence), c'est à peu près net sur une image et beaucoup moins sur la suivante.
     
  6. baloub

    So

    Points Repaire:
    6 230
    Recos reçues:
    85
    Messages:
    1 611
    Appréciations:
    +0 / 20 / -1
    Tout à fait. Il suffit de réunir les deux champs.
    Tout dépend comment tu fais l'acquisition. Si tu utilises un truc genre HDFury, ça ne m'étonne pas. Il y a des bugs en sortie.

    Je n'en connais pas sous windows. Ce n'est d'ailleurs pas très gênant car les applications que j'utilise sous windows (Potplayer et xbmc principalement) savent utiliser le désentrelacement directdraw.

    A une époque j'ai utilisé xbmc sous linux (version openelec). Très bien pour le progressif mais l'entrelacé était mal géré. J'étais donc revenu à xbmc sous windows.
    Mais comme j'aime bien le coté léger de openelec j'ai continué à surveiller et j'ai vu que de très gros progrès avaient été fait question désentrelacement, désormais aussi bon que sous W7.

    Donc ce type de filtre existe, mais je n'en connais pas sous windows.
     
  7. arnuche

    Points Repaire:
    3 470
    Recos reçues:
    8
    Messages:
    1 270
    Appréciations:
    +1 / 9 / -1
    Et pas MPC-HC ou VLC ?

    J'enregistre avec un décodeur VU+, il ne modifie rien au signal, il enregistre tel quel le TS diffusé par la chaîne.
    Il faudra que j'y rejette un oeil pour essayer de mieux comprendre le problème.
     
  8. baloub

    So

    Points Repaire:
    6 230
    Recos reçues:
    85
    Messages:
    1 611
    Appréciations:
    +0 / 20 / -1
    Il y a aussi MPC-HC et MPC-BE sur mon PC (mais, par habitude j'utilise plutôt potplayer). Les deux MPC peuvent utiliser le désentrelacement système.
    VLC, non. (le moins mauvais dans VLC est le "yadif(x2)")

    Tout comme il existe un "directshowsource()" dans avisynth, j'aimerai avoir une sorte de "directshowdeint()". Hélas y'a pas :cry2:

    J'ai un Xtrend sous OpenPli 3.0 et ça fait un bon moment que je n'ai plus la HD de 13ème rue sur ce démod. C'est pour ça que je posais la question de l'acquisition. En enregistrement direct il ne devrait y avoir aucun problème (sauf déficience de la source).
     
  9. squarealex

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    27
    Appréciations:
    +0 / 0 / -0
    J'ai essayé les 3 desentrelacement sur une vidéo d'un jeu tournant en 25FPS et diffusé en 50i.

    Sur nndei3, ça provoque effectivement des tremblements au niveau texte ou autre donc pas utile pour ça

    LeaKernelDeint lui est très bon, mais double la framerate, certe ce n'est pas un inconvéniant loin de là, mais pour un jeu qui tourne en 25 FPS, la deuxième frame de la même image est plus pixélisé, moins propre que la première frame.

    TDeint lui résout ce problème en plus de me l'afficher en 25 FPS donc pas deux frame identique.

    En tout cas, merci pour tout vos explication. :good:
    A vous lire, il s'agirait de DirectDraw, donc interne à DirectX / Windows qui desentrelacerais le mieux.
     
  10. baloub

    So

    Points Repaire:
    6 230
    Recos reçues:
    85
    Messages:
    1 611
    Appréciations:
    +0 / 20 / -1
    Si c'est vraiment du 25 progressif dans du 50i, tu n'as, normalement, aucun effet de peigne en visualisation et, donc, aucun désentrelacement à faire.:perplexe:


    C'est ce qui ressort de nombreuses constatations.
     
  11. arnuche

    Points Repaire:
    3 470
    Recos reçues:
    8
    Messages:
    1 270
    Appréciations:
    +1 / 9 / -1
    En admettant que ce soit de l'entrelacé, les filtres de désentrelacement évoqués ci-dessus devraient tous donner un bon résultat en 25p, c'est seulement en 50p que nnedi est à éviter (puisqu'on peut choisir un framerate simple ou double, voir les options de chaque filtre).
     
  12. arnuche

    Points Repaire:
    3 470
    Recos reçues:
    8
    Messages:
    1 270
    Appréciations:
    +1 / 9 / -1
    On choisit ça comment dans MPC-HC ?
     
  13. baloub

    So

    Points Repaire:
    6 230
    Recos reçues:
    85
    Messages:
    1 611
    Appréciations:
    +0 / 20 / -1
    Aucune idée.
    J'ai l'impression que la bonne formulation serait plutôt "comment ne pas choisir le désentrelacement système dans MPC-HC ?"

    Avec les versions que j'ai de MPC-HC et MPC-BE le désentrelacement est excellent et en tous points semblable à celui de directdraw.
    Dans MPC-BE il y a quelques panneau que je n'ai pas dans la version HC et qui propose divers méthode de désentrelacement. Le changement de choix n'a aucun effet. Il doit y avoir un autre paramètre à cocher quelque part.

    Mais bon, après tout, en matière de désentrelacement ils fonctionnent avec ce que j'estime être le mieux, alors.... :-)
     
Chargement...

Partager cette page