Tu veux dire qu'il faudrait savoir quelles valeurs mettre précisément, afin d'avoir plusieurs presets ?pepsilite a écrit :par contre pour les valeurs de blur et sharp, c'est un peu le flou artistique
SoftSharpen 8.8 - Script vidéo AviSynth
Modérateur : Modérateurs
je verrai bien des presets du genre (l'option "equi=true" étant indépendante) :
-- film très rapide, bonne qualité : Flou = 20 & Net = 20
-- film très lent, bonne qualité : Flou = 20 & Net = 5
-- film rapide, mauvaise qualité : Flou = 30 & Net = 30
-- film lent, mauvaise qualité : Flou = 30 & Net = 5
-- film très rapide, bonne qualité : Flou = 20 & Net = 20
-- film très lent, bonne qualité : Flou = 20 & Net = 5
-- film rapide, mauvaise qualité : Flou = 30 & Net = 30
-- film lent, mauvaise qualité : Flou = 30 & Net = 5
Modifié en dernier par leon1789 le mer. 29 août, 2007 9:15, modifié 5 fois.
- Dirk-Pitt
- Membre Fondateur
- Messages : 10541
- Enregistré le : sam. 03 févr., 2007 19:08
- Localisation : 01's Land
- Contact :
As tu fait attention au fait que la doc de BicubicResize préconise "You have to set b + 2 * c = 1 for the numerically most accurate filter."
Code : Tout sélectionner
BicubicResize (clip, int target_width, int target_height, float "b", float "c", float "src_left", float "src_top", float "src_width", float "src_height")
Dell OptiPlex 755, 8 Go ram, 1.5 To disk, dual screen 2 x Dell 2007FP ( 3200x1200 ). Linux openSUSE 11.0
oui : b=0.4-Net/50.0 et c=0.3+Net/100.0 donne b+2*c = 0.4+0.6 = 1 (les Net s'éliminent comme on dit en maths) Le compte est bon
...sauf pour 30 > Net > 20 , car alors b = 0 (b < 0 est traité comme b=0 par bicubic), et du coup c variant entre 0.5 et 0.6, cela donne b+2c variant entre 1 et 1.2. Cela dit, BicubicResize(0,0.5) et BicubicResize(0,0.6) sont les réglages standards "bucibic natural" et "bicubic net", donc je me bile pas pour ça
...sauf pour 30 > Net > 20 , car alors b = 0 (b < 0 est traité comme b=0 par bicubic), et du coup c variant entre 0.5 et 0.6, cela donne b+2c variant entre 1 et 1.2. Cela dit, BicubicResize(0,0.5) et BicubicResize(0,0.6) sont les réglages standards "bucibic natural" et "bicubic net", donc je me bile pas pour ça
Modifié en dernier par leon1789 le mar. 28 août, 2007 21:42, modifié 2 fois.
Je passe un test ce soir !Dirk-Pitt a écrit :Cool Une autre au passage ... Ce BicubicResize est utile et pas trop pénalisant lorsqu'il n'y a pas de redimensionnement ?
Quand il n'y a pas redimensionnement, bicubic (comme bilinear) ne fait absolument rien : pas de modification sur l'image, et pas de perte de temps.
Cela va même un peu plus loin : le changement de dimensions se fait sur les x (sans toucher les y), puis sur les y (sans toucher les x), ou inversement en fonction de la situation... Si une seule dimension est à changer, alors le travail va deux fois plus vite comparé à un redimensionnement portant sur deux dimensions.
Conclusion : aucun risque à écrire des resizes à la suite (s'ils ont la même résolution bien sûr). C'est pourquoi cela ne me dérange pas d'intégrer un resize dans le script (bien que je trouve cela pas vraiment lié au sharp... mais c'est pour faire plaisir à pepsilite )
Modifié en dernier par leon1789 le mer. 29 août, 2007 15:27, modifié 2 fois.
Moralement, oui, j'aurais préféré (pour la raison que j'ai donnée).Dirk-Pitt a écrit :Tu aurais préféré faire le redimensionnement à l'extérieur ? Si oui, avant ou après ?leon1789 a écrit :... bien que je trouve cela pas vraiment lié au sharp ...
Mais il se trouve que HybridFupp propose de traiter une video avec possibilité de redimensionner (avec bilinear pour la qualité moindre, Lanczos pour la qualité maxi, et 3 ou 4 bicubic paramétrés différemment pour les options de traitement intermédiaires).
Et comme je me dis que SoftSharpen peut être un concurent de HybridFupp avec un peu de chance (bien que HybriddFupp soit très souple grace à des paramètres touffus), pepsilite a peut-être raison de soumettre l'idée d'intégrer un resizer dans le script...
Conclusion : ben de toute manière, ça ne coûte rien d'en mettre un (surtout si on s'en sert pas !), alors je l'ai mis
Maintenant, dans le script, tu vois, je l'ai mis au début. Donc personnellement, je fais un resize avant de traiter, car un resize est plus ou moins destructif. Mais certains conseillent de le faire au dernier moment, parfois même en travaillant avec une résolution plus grande avant... mais j'ai des doutes, et je préfère resizer avant... surtout s'il faut réduire la résolution !
Modifié en dernier par leon1789 le mer. 29 août, 2007 15:30, modifié 2 fois.
Excuse moi d'être insistant (je n'arrête pas de demander aux gens de faire juste un petit test), mais as-tu 5 minutes pour tester ?
-- film très rapide, bonne qualité : Flou = 20 & Net = 20
-- film très lent, bonne qualité : Flou = 20 & Net = 5
-- film rapide, mauvaise qualité : Flou = 30 & Net = 30
-- film lent, mauvaise qualité : Flou = 30 & Net = 5
-- film très rapide, bonne qualité : Flou = 20 & Net = 20
-- film très lent, bonne qualité : Flou = 20 & Net = 5
-- film rapide, mauvaise qualité : Flou = 30 & Net = 30
-- film lent, mauvaise qualité : Flou = 30 & Net = 5
Modifié en dernier par leon1789 le mer. 29 août, 2007 9:15, modifié 1 fois.
** Pour la valeur de "Flou", c'est comme pour un débruiteur classique, du style FluxSmooth ou Convolution3D : plus la valeur est élevée, plus le traitement est fort.pepsilite a écrit : pour les valeurs de blur et sharp, c'est un peu le flou artistique
Cela dit, personnellement, je pense mettre Flou=30 à peu près à tous les coups.
Mais des gens plus sensibles mettront entre 10 et 20. En contre partie, une valeur réduite de "Flou" handicapera (je me comprends) une valeur élevée de "Net"...
** En ce qui concerne le paramètre "Net", là, je pense qu'il est difficile de deviner une bonne valeur à vue d'oeil (en mon sens : concervation de la comprésibilité de la vidéo). Cette valeur est liée à la quantité de mouvement du film, et comme je disais au-dessus, plus la vidéo est rapide, plus la valeur de Net peut être élevée.
Du coup, j'ai modifié (encore... et toujours) le script pour y intégrer une fonction indicatrice d'une valeur correcte (je pense) de Net à partir de l'analyse de mouvement d'avisynth.
Pour lire cette indication, il suffit de lancer Video.SoftSharpen(EstimNet=true) où EstimNet est un nouveau paramètre optionnel (réglé à false par défaut). La valeur estimée de Net s'affiche simplement en sur-impression en haut à gauche de l'image. Pour que cette valeur soit sensée, il faut faire lire la vidéo sur une assez grande partie, car ce n'est pas la première image qui permet d'estimer le mouvement durant tout le film (un peu dans le genre test de compressibilité...)
Précision : dans le cas d'une estimation de "Net", il n'y a pas de traitement apporté à l'image (pour aller plus vite).
Exemples :
-- pour Star Wars II, une estimation est Net=17 (sans les génériques)
-- pour Les Visiteurs, une estimation est Net=13
-- pour un épisode de Capitaine Flam, une estimation est Net=7
-- pour Le Projet Blair Witch, une estimation est Net=35 (traité de la même manière que 30 en fait)
Voici le nouveau script (qui s'allonge un peu pour le coup) :
mise à jour ici http://www.forum.lauden.fr/ici-vp29458.html#29458
Il s'utilise ainsi :
video.SoftSharpen
= video.SoftSharpen(Flou=30,Net=20,Larg=video.width,Haut=video.height,Equi=false,estimNet=false)
video.SoftSharpen(30,20)
video.SoftSharpen(Larg=1024, Haut=432)
video.SoftSharpen(equi=true)
video.SoftSharpen(estimNet=true)
video.SoftSharpen(Larg=1024, Haut=432, estimNet=true)
Modifié en dernier par leon1789 le sam. 01 sept., 2007 1:22, modifié 7 fois.
- Underground78
- Administrateur
- Messages : 11272
- Enregistré le : mar. 06 févr., 2007 21:54
- Localisation : France
- Contact :
Salut Underground78,
voici une image qui permet de comprendre le fonctionnement de SoftSharpen
[lightbox]http://img209.imageshack.us/img209/4746 ... zw2.th.jpg[/lightbox]
Dans la scène,
-- la planète est fixe : son piqué est donc renforcée par le filtre (ici, on a besoin de plus bits pour coder). Comme la planète est fixe, l' "amélioration" se voit lors du passage du film.
-- le vaisseau au premier plan est en mouvement : on voit également l'effet du filtre (ici, on a besoin de moins de bits pour coder). Comme le vaisseau est mobile, la "déterioration" ne se voit pas lors du passage du film...
Et dans l'ensemble, le nombre de bits pour encoder l'image est le même, donc pas de perte de qualité collatérale, contrairement aux filtres de sharp habituels !
voici une image qui permet de comprendre le fonctionnement de SoftSharpen
[lightbox]http://img209.imageshack.us/img209/4746 ... zw2.th.jpg[/lightbox]
Dans la scène,
-- la planète est fixe : son piqué est donc renforcée par le filtre (ici, on a besoin de plus bits pour coder). Comme la planète est fixe, l' "amélioration" se voit lors du passage du film.
-- le vaisseau au premier plan est en mouvement : on voit également l'effet du filtre (ici, on a besoin de moins de bits pour coder). Comme le vaisseau est mobile, la "déterioration" ne se voit pas lors du passage du film...
Et dans l'ensemble, le nombre de bits pour encoder l'image est le même, donc pas de perte de qualité collatérale, contrairement aux filtres de sharp habituels !
- Underground78
- Administrateur
- Messages : 11272
- Enregistré le : mar. 06 févr., 2007 21:54
- Localisation : France
- Contact :
ben c'est exactement ce que je voudrais savoir. Je dis merci d'avance à tous ceux qui pourraient tester et critiquer (en bien, en mal, etc.) comme pepsilite l'a fait : avec ses remarques, le script a évolué depuis deux jours...Underground78 a écrit :C'est effectivement clairement efficace !
Non je ne connais pas un poil de la manière de réaliser une dll.Underground78 a écrit : Est-ce qu'il n'y aurait pas moyen d'accélérer le script puisque c'est visiblement le problème ? en faisant une dll plugin pour avisynth par exemple si tu sais le faire ?
Oui je suis intéressé, si vous avez de la doc "lisible" par un non-informaticien.
Modifié en dernier par leon1789 le mer. 29 août, 2007 23:05, modifié 2 fois.
Je viens enfin de trouver le moyen de réaliser une analyse équilibrée du mouvement qui ne coûte quasi-rien de plus en temps de calcul par rapport à l'analyse "de base" !!leon1789 a écrit : Voilà c'est fait, mais j'ai mis le mot "equi" : il me convient davantage, car cette option donne lieux à une analyse de mouvement plus équilibrée...
Résultat : l'option "equi" est un peu plus lente (évidemment), et elle préserve un poil davantage la compressibilité de la video (d'après quelques tests).
Du coup, j'ai supprimé l'option "equi = true/false" puisqu'elle n'y a plus aucune utilité. Avec quelques autres modifications mineures ici et là, le script s'est simplifié un peu, sans perdre de son "efficacité" (à vous de juger).
mis à jour ici http://www.forum.lauden.fr/viewtopic.php?p=29790#29790
Modifié en dernier par leon1789 le mer. 05 sept., 2007 23:11, modifié 3 fois.