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

Toutes les solutions Ă  base d'ordinateur (PC, Mac, Linux...)

[MPC] Filtre(s) Pixels shaders ...

Message » 01 Avr 2010 12:12

je viens de tester"SuperResolution720p - Beta3"sur Dvbviewer pour la TV l'image est un peu flout !
merci quant mĂŞme pour le partage !
lcdmen
Contributeur HCFR 2024
Contributeur HCFR 2024
 
Messages: 17771
Inscription Forum: 04 Mai 2008 14:51
  • online

Message » 01 Avr 2010 13:58

Ce filtre est conçu pour travailler la plupart du temps derrière le unsharp mask de ffdshow (sauf si la source est déjà ultra définie comme par exemple le BR de Baraka ou unsharp mask est inutile). Il affine alors le travail du unsharp mask sans détériorer l'image. Il ne faut donc surtout pas le prendre comme un filtre de sharpen au sens classique, c'est plutôt un post-traitement de filtre de sharpen.
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10431
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 01 Avr 2010 14:16

J'ai édité le commentaire du code au début de la beta3 pour bien préciser le truc car c'est important pour un bon usage.
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10431
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 01 Avr 2010 14:24

Merci bcp Emmanuel pour ce travail !!!

Je le teste ce soir !

Est-il possible de remplacer l'unsharp mask par un sharpen en pixel shader pour soulager le processeur ??

Donc combiner un sharpen et ton filtre de SuperResolution ?

Merci
Franck
corto
 
Messages: 200
Inscription Forum: 01 AoĂ» 2002 15:08
Localisation: 78
  • offline

Message » 01 Avr 2010 14:41

Le pb, c'est que je trouve les sharpen livrés par défaut avec MPC pas franchement terribles avec leurs settings de base... Je préfère le unsharp mask de ffdshow qu'on peut régler facilement et qui si on n'y va pas comme un bourrin en fait moins mais + proprement.

Il faut regarder dans les param de ces PS de sharpen (le complex sharpen 1 ou 2) comment adoucir leur rendu. Ensuite il faut trouver le bon compromis pour un mariage réussi avec le PS super résolution...
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10431
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 01 Avr 2010 15:13

Emmanuel Piat a écrit:Ce filtre est conçu pour travailler la plupart du temps derrière le unsharp mask de ffdshow (sauf si la source est déjà ultra définie comme par exemple le BR de Baraka ou unsharp mask est inutile). Il affine alors le travail du unsharp mask sans détériorer l'image. Il ne faut donc surtout pas le prendre comme un filtre de sharpen au sens classique, c'est plutôt un post-traitement de filtre de sharpen.

pourtant il marche bien sous dvbviewer,je l'ai tester aussi avec ffdshow mais j'avoue je n'ai jamais obtenu une bonne image avec ce dernier quelque soit la version et le reglage !
par contre j'aimerai bien avoir un pshader comme ce lui ci pour dvbviewer !
merci pour ta réponse !
lcdmen
Contributeur HCFR 2024
Contributeur HCFR 2024
 
Messages: 17771
Inscription Forum: 04 Mai 2008 14:51
  • online

Message » 06 Avr 2010 9:25

Version 1.0 finale pour diffuseur 720p et 1080p.
Voir code pour les infos sur les settings possibles

Chaine d'utilisation typique : unsharpmask @ 10 à 20 (ou bien LSF @ 40) puis le PS derrière

Code: Tout sélectionner
// SuperResolution - V1.0
// Emmanuel - 6/03/2010
// Filtre de super résolution à employer derrière un filtre de sharpen
// tel que unsharp mask de ffdshow ou LSF de avisynth.

#define FinesseRendu 0 // 0: très fin, 1: fin, 2: moyen, 3: grossier

#define SeuilBruit 0.15   // pour Ă©viter la remontĂ©e du bruit de fond et
               // l'accentuation de petits dĂ©tails dans les textures
               // Entre 0.1 et 0.2

#define diff 0.49      // influe sur le rendu "3D-Like", typ :
               // 0.49 => 3D-Like + prĂ©sent
               // 0.50 => 3D-Like prĂ©sent
               // 0.51 => 3D-Like - prĂ©sent

#define ICG 0         // IntensitĂ© de la correction gamma, de 0 Ă  5 typ
            // 0: faible, 5: forte

#define IAT 3         // IntensitĂ© accentuation des textures, de 0 Ă  3 typ
            // 0: forte (recommandĂ©e pour diffuseur 720p)
            // 3: faible (recommandĂ©e pour diffuseur 1080p)

sampler s0 : register(s0);
float4 p1 : register(c1);

#define dx (p1[0])
#define dy (p1[1])
 
float4 main( float2 tex : TEXCOORD0 ) : COLOR
{
   // pixels original, floutĂ©, corrigĂ©
   float4 ori = tex2D(s0, tex);
   float4 flou;
   float4 cori;
   float seuil = 0.82 + FinesseRendu/100;

   // rĂ©cupĂ©ration de la matrice de 9 points
   // [ 1, 2 , 3 ]
   // [ 4,ori, 5 ]
   // [ 6, 7 , 8 ]

   float4 c1 = tex2D(s0, tex + float2(-dx,-dy));
   float4 c2 = tex2D(s0, tex + float2(0,-dy));
   float4 c3 = tex2D(s0, tex + float2(dx,-dy));
   float4 c4 = tex2D(s0, tex + float2(-dx,0));
   float4 c5 = tex2D(s0, tex + float2(dx,0));
   float4 c6 = tex2D(s0, tex + float2(-dx,dy));
   float4 c7 = tex2D(s0, tex + float2(0,dy));
   float4 c8 = tex2D(s0, tex + float2(dx,dy));

   // dĂ©tection des contours
   // par filtre de sobel
   float delta1,delta2,value;

   // Gradient horizontal
   //   [ -1, 0 ,1 ]
   //   [ -2, 0, 2 ]
   //   [ -1, 0 ,1 ]
   delta1 = (c3 + 2*c5 + c8)-(c1 + 2*c4 + c6);

   // Gradient vertical
   //   [ -1,- 2,-1 ]
   //   [  0,  0, 0 ]
   //   [  1,  2, 1 ]
   delta2 = (c6 + 2*c7 + c8)-(c1 + 2*c2 + c3);

   // calcul
   value =  sqrt(mul(delta1,delta1) + mul(delta2,delta2)) ;

   // Gamma adaptatif Ă  proximitĂ© d'une transition
   cori = ori;
   if ((value >= seuil-diff*1.15)&&(value <= seuil)) cori = pow(ori,1./(1-value/(10.5-ICG/10)));
   //if ((value >= seuil-diff*1.15)&&(value <= seuil)) cori = float4(1,0,0,0);

   // Masque flou pour renforcer les textures

   // calcul image floue (filtre gaussien)
   // pour normaliser les valeurs, il faut diviser par la somme des coef
   // 1/(1+2+1+2+4+2+1+2+1) = 1/ 16 = .0625

   flou = (c1+c3+c6+c8 + 2*(c2+c4+c5+c7)+ 4*cori)*0.0625;

   // Accentuation des textures si on est loin d'un bord
   if ((value > SeuilBruit) && (value < seuil-diff)) cori = (2-IAT/10)*cori - (1-IAT/10)*flou;
   //if ((value > SeuilBruit) && (value < seuil-diff)) cori = float4(0,0,1,0);

   return cori;
}


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

Message » 06 Avr 2010 10:26

Super, je vois que mes sources/commentaires servent Ă  quelque chose :wink:
Content que ça continue a vivre et merci Emmanuel :lol: (moi j'ai plus le temps :cry: )
jim.ro
 
Messages: 204
Inscription Forum: 14 Jan 2003 14:57
Localisation: Pas loin de Disney !
  • offline

Message » 06 Avr 2010 12:06

oui :) Et je suis surpris de voir comment en transformant à peine le truc en ajoutant une accentuation non linéaire de type gamma, on arrive à des petites touches sur l'image qui la rende très sympa. Tout le pb est de ne pas avoir la main trop lourde (c'est pourquoi j'ai réintroduit un param ICG pour le gamma. En diffusion 1080p, je le met au minimum. Pour un diffuseur 720p, je pense qu'on peut monter un peu).
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10431
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 06 Avr 2010 13:25

Super je teste ce soir :D
pitch28
 
Messages: 891
Inscription Forum: 06 FĂ©v 2006 1:18
Localisation: 28
  • offline

Message » 06 Avr 2010 13:32

M'en vais regarder ça de très près :wink: .
Merci m'sieur piat.

Tu as un diff 1080p maintenant ?
C'est quoi ?

@+,
Xavier.
tobal
 
Messages: 6118
Inscription Forum: 13 Sep 2001 2:00
Localisation: Niort
  • offline

Message » 07 Avr 2010 0:21

Merci Emmanuel pour ce shader, je l'essaye dès que j'ai un peu de temps :wink: .
Skouall
 
Messages: 553
Inscription Forum: 10 Avr 2002 2:00
Localisation: 76
  • offline

Message » 07 Avr 2010 8:36

>Tu as un diff 1080p maintenant ?

un LCD 24"
Emmanuel Piat
Contributeur HCFR 2016
 
Messages: 10431
Inscription Forum: 10 Oct 2000 2:00
Localisation: Besançon, FRANCE
  • offline

Message » 07 Avr 2010 8:39

Ha oui ton samsung.
Je croyais que tu avais investi dans un nouveau VP.

@+,
Xavier.
tobal
 
Messages: 6118
Inscription Forum: 13 Sep 2001 2:00
Localisation: Niort
  • offline

Message » 07 Avr 2010 8:47

Il a pas l'air si terrible que ça ce Samsung d'ailleurs. Certains n'en sont vraiment pas contents !
A part les angles de vision larges et l'uniformité, tu lui vois vraiment des avantages face aux TN ?

La configuration dans mon profil


Etude et réalisation de Cinémas Privés, Calibration A/V, conception enceintes et Config Kaz 9 pour PCHC.
NEW mars 2024 :
Nouvel article de blog : Réflexions sur les préamplis audio-vidéo (haut de gamme) ;-)
Avatar de l’utilisateur
kazuya
Pro-Divers.
Pro-Divers.
 
Messages: 19377
Inscription Forum: 19 Oct 2004 16:37
Localisation: RĂ©gion Parisienne
  • offline


Retourner vers Matériel PC Home-cinéma