Test Sony VPL-VW1000ES en préparation : projecteur 4K natif, 3D 4K, upscaling 4K !

Post Reply
Yahoo MMCrawler [Bot]
Posts: 17357
Joined: Fri Jan 05, 2024 4:00 pm

Re: Test Sony VPL-VW1000ES en préparation : projecteur 4K natif, 3D 4K, upscaling 4K !

Post by Yahoo MMCrawler [Bot] »

emmanuel piat wrote:Comme promis, je vais mettre en ligne mes réglages. Il faut simplement me laisser un peu de temps car je bosse et je dois préparer mon départ en vacances (je pars vendredi avec femme et enfants). Donc je suis un peu "busy" en ce moment...

Ha je n’avais pas vu ce message ! Merci car ça m'intéresse aussi ! ;)

Pas de souci, quand tu auras le temps ...
User avatar
Kazuya
Posts: 36
Joined: Mon Feb 27, 2012 1:28 pm

Re: Test Sony VPL-VW1000ES en préparation : projecteur 4K natif, 3D 4K, upscaling 4K !

Post by Kazuya »

Becuwe Nicolas wrote:
Grossberta wrote:Bon juste pour info lesnumeriques on étaient faire un tour chez sony
http://www.lesnumeriques.com/film-blu-r ... 23567.html
Oui, je suis au courant, il y a aussi AVCesar avec eux, je les ai appelé juste avant qu'ils partent au Japon. Il y a du lourd qui arrive du côté de chez Sony en 4K, OLED, TV Crystal LED, 3d passive, etc. il parait qu'ils vont se concentrer sur la 2D pour offrir un meilleur rendu 2d et laisser un peu la technologie 3d sur TV
un peu en retrait. C'est pas plus mal je pense...
Yes, on est plusieurs à ne pas voir un grand avenir à la 3D actuelle...
http://www.kazcorporation.com : calibration vidéo, montage PC, acoustique et autres services professionnels.
emmanuel piat
Posts: 163
Joined: Mon Feb 27, 2012 10:25 am

Re: Test Sony VPL-VW1000ES en préparation : projecteur 4K natif, 3D 4K, upscaling 4K !

Post by emmanuel piat »

Voilà mes settings pour le post-traitement de sources 1080p sur diffuseur full-HD

C'est simple : il y a un call avisynth dans ffdshow qui fait un upscale x4/3 en spline32 à la réso 2560x1440. Ensuite un LSF. Le downsize en 1920x1080 est fait par la CG (shaders).

Le call avisynth a été optimisé pour être entièrement multithreadé. Ce qui permet de minimiser la conso CPU. J'ai aussi réécrit LSF pour virer tout ce qui ne me servait à rien (80% du code en fait) afin d'avoir une exécution plus efficace.

call Avisynth supposant qu'il y a 8 threads dispo :

Code: Select all

SetMemoryMax(768)
nbthreads=8
ss=1.333
MT("spline36resize(round(ss * last.width /8)*8,last.height)",nbthreads,16)
MT("spline36resize(last.width,round(ss * last.height /8)*8)",nbthreads,16,splitvertical=true)
MT("LimitedSharpenFasterHC(strength=23.5)",nbthreads)
Contrairement à LSF, ici strength peut être un réel. C'est nécessaire pour les ajustements fins et ça se voit sur les diffuseurs avec une bonne MTF (moniteur LCD entre autres). La valeur 23.5 convient en général aux diffuseurs avec une bonne MTF. Si la MTF est moins bonne il faut augmenter cette valeur (jusqu'à x2 environ). Si vous avez l'impression de voir la structure des pixels, il faut diminuer cette valeur.

Pour ceux qui aiment les effets 3D où en cas de MTF vraiment moyenne, on peut renforcer l'effet du LSF en ajoutant le filtre sharpen de ffdshow après le call Avisynth. Utilisez le filtre unsharp mask qui se marie bien avec LSF et pour strengh prendre 4 à 10 maxi.

Ensuite ds le dossier Plugins de Avisynth, il faut créer un fichier "LimitedSharpenFasterHC.avsi" avec pour contenu :

Code: Select all

    # LimitedSharpenHC()   ( a modded version, 29 Oct 2005 )
    #
    # A multi-purpose sharpener by Didée
    #
    #
    # Changes in this mod:
    #
    # - RemoveGrain >= v0.9  IS REQUIRED!!
    #   ==================================
    #
    # - a separate "undershoot" parameter, to allow for some line darkening in comic or Anime
    # - Lmode=3   / on edges, limited sharpening with zero OS & US. On not-edges, limited sharpening with specified OS + LS
    # - "soft" acts different now: no more boolean true/false, but instead integer 0 - 100  (or -1 -> automatic)
    #    instead of blurring before finding minima/maxima, it now softens the "effect-of-sharpening"
    # - edgemode=-1 now shows the edgemask. (scaling still not implemented :p )
    #
    ## - MODIFIED version using MaskTools 2.0

    function LimitedSharpenFasterHC( clip clp, float "strength")
    {
    ox = clp.width
    oy = clp.height

    strength  = default( strength,  40 )
    overshoot = 1
    undershoot= 1
    soft    =  0

    clp.isYV12() ? clp : clp.converttoyv12()

    tmp = last

    edge = mt_logic( tmp.mt_edge(thY1=0,thY2=255,"8 16 8 0 0 0 -8 -16 -8 4")
    \              ,tmp.mt_edge(thY1=0,thY2=255,"8 0 -8 16 0 -16 8 0 -8 4")
    \              ,"max") .mt_lut("x 128 / 0.86 ^ 255 *") #.levels(0,0.86,128,0,255,false)

    tmpsoft       = tmp.removegrain(11,-1)
    dark_limit   = tmp.mt_inpand()
    bright_limit = tmp.mt_expand()

    minmaxavg     = mt_average(dark_limit, bright_limit)
 
    Str=string(strength/100.0)
    normsharp = mt_lutxy(tmp,minmaxavg,yexpr="x x y - "+Str+" * +")

    OS = string(overshoot)
    US = string(undershoot)
    mt_lutxy( bright_limit, normsharp, yexpr="y x "+OS+" + < y x y x - "+OS+" - 1 2 / ^ + "+OS+" + ?")
    mt_lutxy( dark_limit, last, yexpr="y x "+US+" - > y x x y - "+US+" - 1 2 / ^ - "+US+" - ?")

    mt_clamp(normsharp, bright_limit, dark_limit, overshoot, undershoot)

    AMNT  = string(soft)
    AMNT2 = string(100-soft)
    sharpdiff=mt_makediff(tmp,last)
    sharpdiff2=mt_lutxy(sharpdiff,sharpdiff.removegrain(19,-1),
    \           "x 128 - abs y 128 - abs > y "+AMNT+" * x "+AMNT2+" * + 100 / x ?")     
 
    ex=blankclip(last,width=ox,height=oy,color=$FFFFFF).addborders(2,2,2,2).coloryuv(levels="TV->PC")
    \.removegrain(mode=19).mt_inpand().removegrain(mode=19).spline36resize(ox,oy,1.0,.0)
    tmp =  clp.spline36resize(ox,oy)

    clp.isYV12() ? tmp.mergeluma(last) : tmp.mergeluma(last.converttoyuy2())
    
    return last
    }
La mise en oeuvre du downsize dépend du renderer dans MPC-HC :

- si c'est EVR Custom Pres, alors je conseille de sortir en RGB32 de ffdshow (avec high quality YV12 to RGB conversion actif) puis dans MPC-HC choisir comme retailler: Bicubic A=-0.60 (PS 2.0). Si la MTF du diffuseur est moyenne, vous pouvez augmenter la valeur de A.

- si c'est madVR, alors sortir de ffdshow en YV12 et choisir comme luma downscaling soit Mitchell-Netravali (MTF moyen) ou bicubic 60 (MTF correct) ou SoftCubic 70 ou 80 (excellent MTF).

Le Dithering de chroma lors de la conv YCbCr -> RGB est en général nécessaire si votre diffuseur a un bon CR (disons à partir de 2000:1) et que vous avez une salle sombre. Voici la raison en qq mots : sur les BR et les DVD l'encodage du luma après la précompensation gamma (espace Y'CbCR) est fait en 8 bit, ce qui est normalement suffisant car le fait de travailler en espace de couleur non linéaire augmente la réso du luma de manière proportionnelle à la sensibilité de l'oeil. Le fait d'utiliser 8 bits a été calculé pour être suffisant en vidéo pour une visualisation en env. clair, donc lorsque le CR du diffuseur est mauvais (largement inférieur à 100:1). En env. noir et avec des diffuseurs à fort CR, la réso de 8 bit n'est clairement plus suffisante. Cela peut alors se traduire par des effets de pallier trop important qui engendre des phénomènes de banding ou de fourmillement disgracieux notamment ds les tons sombres. En général, le dithering de chroma permet de rémédier à ces problèmes. Il adoucit néanmoins légèrement l'image.

Un point d'entrée sur ces questions de contraste et de résolution (pas franchement évident à digérer) :
http://www.poynton.com/notes/Timo/Weber ... ratio.html
Last edited by emmanuel piat on Thu Mar 01, 2012 8:52 pm, edited 1 time in total.
emmanuel piat
Posts: 163
Joined: Mon Feb 27, 2012 10:25 am

Re: Test Sony VPL-VW1000ES en préparation : projecteur 4K natif, 3D 4K, upscaling 4K !

Post by emmanuel piat »

Si la MTF du projo est franchement moyenne, on peut aussi ajouter le shader suivant ds la boucle que j'avais baptisé SuperRésolution (nota : madVR ne permet pas d'utiliser les shaders ds MPC-HC). Il a néanmoins l'inconvénient de faire un peu remonter le bruit de fond de l'image mais c'est efficace, notamment si le contraste interpixel du diffuseur est moyen ds les hautes fréquences ce qui se traduit par un manque de piqué. Avec une bonne MTF, je déconseille fortement ce shader.

Code: Select all

// 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;
}
User avatar
moudugnou
Posts: 176
Joined: Mon Feb 27, 2012 1:19 pm

Re: Test Sony VPL-VW1000ES en préparation : projecteur 4K natif, 3D 4K, upscaling 4K !

Post by moudugnou »

Voilà.. je vous laisse quelques jours.. et vous craquez tous..
Je ne peux vraiment pas vous laisser sans surveillance ! :mrgreen:
Cinemotion, une enseigne de passionnés pour passionnés..
User avatar
Kazuya
Posts: 36
Joined: Mon Feb 27, 2012 1:28 pm

Re: Test Sony VPL-VW1000ES en préparation : projecteur 4K natif, 3D 4K, upscaling 4K !

Post by Kazuya »

Ca faisait longtemps qu'on avait pas vu Emmanuel autant au taquet ! :mrgreen:
C'est qu'il va me pousser à l'essayer son LSF mod... :oops:
http://www.kazcorporation.com : calibration vidéo, montage PC, acoustique et autres services professionnels.
Yahoo MMCrawler [Bot]
Posts: 17357
Joined: Fri Jan 05, 2024 4:00 pm

Re: Test Sony VPL-VW1000ES en préparation : projecteur 4K natif, 3D 4K, upscaling 4K !

Post by Yahoo MMCrawler [Bot] »

@ Emmanuel : Super, merci pour ton travail !

Il aurait presque fallu créer un topic dédié, mais bon, pas grave :)
ciccio1112
Posts: 15
Joined: Tue Feb 28, 2012 5:49 pm

Re: Test Sony VPL-VW1000ES en préparation : projecteur 4K natif, 3D 4K, upscaling 4K !

Post by ciccio1112 »

Grande Emmanuel m'a fait plaisir avant la date prévue.

Mais avec lav madvr ffdshowraw et avisinth 02h58 MT avec moi avec l'erreur de script "superrésolution" qu'avec l'autre, lorsque le MPC me donne l'erreur et se ferme. Il semble y avoir un problème avec avisinth. Quelle version d'?

Merci encore vous êtes un grand!
ciccio1112
Posts: 15
Joined: Tue Feb 28, 2012 5:49 pm

Re: Test Sony VPL-VW1000ES en préparation : projecteur 4K natif, 3D 4K, upscaling 4K !

Post by ciccio1112 »

mon cpu intel Q8200 et avec 4 threads, j'utilise aussi jriver.
User avatar
néon
Posts: 736
Joined: Fri Mar 02, 2012 1:47 pm

Re: Test Sony VPL-VW1000ES en préparation : projecteur 4K natif, 3D 4K, upscaling 4K !

Post by néon »

bonjour Nicolas

sait tu si sur VP il est possible de " tailler" dans les matrices pour diffuser du 2.35 sans avoir les bandes noires et sans avoir a utiliser une lentille,et donc sans avoir a faire de Vstrech....,je ne parle bien sur pas d'une option de zoom ;)
Atteint de la Fièvre de la HD............. depuis......le LD Muse ..... soit plus de 15 ans!

Mon Install
Post Reply