test de compresibilidad y lumaYV12
-
- Mensajes: 232
- Registrado: Dom 17 Abr, 2005 02:00
test de compresibilidad y lumaYV12
Buenas!
Ahi va una duda sobre una cosilla que me ha pasado al realizar un test de compresibilidad de un rip que estoy preparando. Uso GKnot y avs.
Me ha salido un valor de 0.490, con lo que ajustando al espacio de que dispongo llegaria a un valor del 63% del qf del test.
Me ha sorpendido que saliera un valor tan alto. La peli es oscurilla y le meti lumayv12(1,1.2) para dar un poco de luminosidad.
La cuestión es que he repetido el test sin el luma (la peli más oscurilla) y el valor arrojado por el test fue de 0.410 (sensiblemente menor).
Que hago pues, le dejo el luma sabiendo que se verá un poco mejor para mi gusto pero sabiendo que me alejo del 75% que es el ideal o le quito el luma con lo que sí consigo acercarme al 75%.
Ahi va una duda sobre una cosilla que me ha pasado al realizar un test de compresibilidad de un rip que estoy preparando. Uso GKnot y avs.
Me ha salido un valor de 0.490, con lo que ajustando al espacio de que dispongo llegaria a un valor del 63% del qf del test.
Me ha sorpendido que saliera un valor tan alto. La peli es oscurilla y le meti lumayv12(1,1.2) para dar un poco de luminosidad.
La cuestión es que he repetido el test sin el luma (la peli más oscurilla) y el valor arrojado por el test fue de 0.410 (sensiblemente menor).
Que hago pues, le dejo el luma sabiendo que se verá un poco mejor para mi gusto pero sabiendo que me alejo del 75% que es el ideal o le quito el luma con lo que sí consigo acercarme al 75%.
-
- Mensajes: 17
- Registrado: Vie 18 May, 2007 23:29
- Ubicación: En los brazos de una chica mala de cine negro.
No podría responder sin tener más datos a mano, pero sí decirte que no siempre el hecho de que una película sea oscura significa mayor compresibilidad. Y tampoco seas estricto con el 75%. Si usas versiones últimas de Xvid valores en torno al 60-65% suelen ser aceptables.
¿Has probado a usar el test de compresibilidad de ARCalculator? Está más optimizado que el de GK y además con ese programa puedes hacer uso de la herramienta AVS Optimizer con la que se pueden aplicar distintos filtros para distintas partes del vídeo a codificar.
Saludos.
¿Has probado a usar el test de compresibilidad de ARCalculator? Está más optimizado que el de GK y además con ese programa puedes hacer uso de la herramienta AVS Optimizer con la que se pueden aplicar distintos filtros para distintas partes del vídeo a codificar.
Saludos.
-
- Mensajes: 1047
- Registrado: Sab 10 Jun, 2006 06:51
MVTools
Dale una primera pasada completa y saca la compresibilidad del archivito de estadísticas. Yo hace rato que no me fio más de los tests.
En cualquier caso tanto .490 como .410 son números muy feos. Últimamente mi mejor amigo para mejorar la compresibilidad es MVDegrain2. Así como el DegrainMedian y el FFT3DFilter el MVDegrain2 es otro filtro del maestro Fizick! Baja el MVTools (que es quien contiene al MVDegrain2): http://avisynth.org.ru/mvtools/mvtools.html
Y prueba con esto. Sin saber como es la fuente no te puedo recomendar algo exacto, pero comienza con esto que seguramente te vas a sorprender:
Y si necesitas un poco más en vez del ejemplo de arriba prueba con este:
Y mejor aún si nos subes un pedacito de VOB, así te podemos dar un consejo más pertinente. Yo no soy estricto con el 75%, prefiero 80% 
En cualquier caso tanto .490 como .410 son números muy feos. Últimamente mi mejor amigo para mejorar la compresibilidad es MVDegrain2. Así como el DegrainMedian y el FFT3DFilter el MVDegrain2 es otro filtro del maestro Fizick! Baja el MVTools (que es quien contiene al MVDegrain2): http://avisynth.org.ru/mvtools/mvtools.html
Y prueba con esto. Sin saber como es la fuente no te puedo recomendar algo exacto, pero comienza con esto que seguramente te vas a sorprender:
Código: Seleccionar todo
vbw1=MVAnalyse(isb=true,truemotion=true,delta=1,pel=2,chroma=true,blksize=16,idx=1,sharp=1)
vfw1=MVAnalyse(isb=false,truemotion=true,delta=1,pel=2,chroma=true,blksize=16,idx=1,sharp=1)
vbw2=MVAnalyse(isb=true,truemotion=true,delta=2,pel=2,chroma=true,blksize=16,idx=1,sharp=1)
vfw2=MVAnalyse(isb=false,truemotion=true,delta=2,pel=2,chroma=true,blksize=16,idx=1,sharp=1)
MVDegrain2(last,vbw1,vfw1,vbw2,vfw2,thSAD=200,idx=2)
Código: Seleccionar todo
vbw1=MVAnalyse(isb=true,truemotion=true,delta=1,pel=2,chroma=true,blksize=8,overlap=2,idx=1,sharp=1)
vfw1=MVAnalyse(isb=false,truemotion=true,delta=1,pel=2,chroma=true,blksize=8,overlap=2,idx=1,sharp=1)
vbw2=MVAnalyse(isb=true,truemotion=true,delta=2,pel=2,chroma=true,blksize=8,overlap=2,idx=1,sharp=1)
vfw2=MVAnalyse(isb=false,truemotion=true,delta=2,pel=2,chroma=true,blksize=8,overlap=2,idx=1,sharp=1)
MVDegrain2(last,vbw1,vfw1,vbw2,vfw2,thSAD=275,idx=2)

-
- Mensajes: 6128
- Registrado: Sab 11 Oct, 2003 02:00
- Ubicación: El Páramo del Espanto
Acabo de probar el primer script que pone elguaxo, nunca había usado mvdegrain, y la primera impresión es excelente. Con una película durilla de comprimir ha rebajado un punto el avg. quant sobre otros scripts con diferentes denoise digamos convencionales. Sin perder detalles importantes, limpiando de verdad vaya, no de manera indiscriminada. Le daré un vistazo a las opciones que permite para afinar más.
Gracias.
Gracias.
Cuadruplico y voy a por más
-
- Mensajes: 1047
- Registrado: Sab 10 Jun, 2006 06:51
Monster
Lo estoy usando para todo y hay combinaciones ALUCINANTES. Algunas de ellas resultan en ripeos de más de 48horas para una película...
La clave de este filtro es que hace un pre-análisis sobre los vectores de movimiento en bloques. Tal como funcionan los mismos codecs MPEG2, MPEG4-ASP o AVC (Xvid o x264 por ejemplo).
En el segundo ejemplo verás que ajusté básicamente 3 parámetros a diferencia del primero:
blksize=8, analiza sobre bloques más pequeños lo cual da gran precisión
overlap=2, esto es una de las cosas importantes que Fizick introdujo con el FFT3DFilter. Al aplicar de forma muy fuerte sus filtros sobre áreas definidas por bloques, se formaban finalmente... bloques. El overlap hace que se superpongan los bloques sobre los cuales se aplica el filtro para no ver estos efectos secundarios.
thSAD=275, valores más grandes de thSAD hacen que MVDegrain2 se aplique más fuerte.
En general el filtrado de MVDegrain2 es compatible con el FFT3DFilter. Es decir que se puede aplicar un toque de FFT3DFilter después de una aplicación de MVDegrain2.
Y este script a continuación Lux DeLux de los ShitBusters lo bautizó como THE monster. A agarrarse porque ningún ripeo bajará de las 48horas pero sus resultados son milagrosos en caso de ser necesarios:
original

raped by the monster

nótese que atacó solo a los artefactos de compresión del DVD que era malito (macrobloques y ruido en chroma y luma) y los detalles quedaron intactos.
Ah, esto es THE monster:
La clave de este filtro es que hace un pre-análisis sobre los vectores de movimiento en bloques. Tal como funcionan los mismos codecs MPEG2, MPEG4-ASP o AVC (Xvid o x264 por ejemplo).
En el segundo ejemplo verás que ajusté básicamente 3 parámetros a diferencia del primero:
blksize=8, analiza sobre bloques más pequeños lo cual da gran precisión
overlap=2, esto es una de las cosas importantes que Fizick introdujo con el FFT3DFilter. Al aplicar de forma muy fuerte sus filtros sobre áreas definidas por bloques, se formaban finalmente... bloques. El overlap hace que se superpongan los bloques sobre los cuales se aplica el filtro para no ver estos efectos secundarios.
thSAD=275, valores más grandes de thSAD hacen que MVDegrain2 se aplique más fuerte.
En general el filtrado de MVDegrain2 es compatible con el FFT3DFilter. Es decir que se puede aplicar un toque de FFT3DFilter después de una aplicación de MVDegrain2.
Y este script a continuación Lux DeLux de los ShitBusters lo bautizó como THE monster. A agarrarse porque ningún ripeo bajará de las 48horas pero sus resultados son milagrosos en caso de ser necesarios:
original

raped by the monster

nótese que atacó solo a los artefactos de compresión del DVD que era malito (macrobloques y ruido en chroma y luma) y los detalles quedaron intactos.
Ah, esto es THE monster:
Código: Seleccionar todo
source = last
backward_vec2 = source.MVAnalyse(isb = true, delta = 2, pel = 2, overlap=4, sharp=2, idx = 1, truemotion=true)
backward_vec1 = source.MVAnalyse(isb = true, delta = 1, pel = 2, overlap=4, sharp=2, idx = 1, truemotion=true)
forward_vec1 = source.MVAnalyse(isb = false, delta = 1, pel = 2, overlap=4, sharp=2, idx = 1, truemotion=true)
forward_vec2 = source.MVAnalyse(isb = false, delta = 2, pel = 2, overlap=4, sharp=2, idx = 1, truemotion=true)
mask = mvmask(kind=1, vectors=forward_vec1).UtoY().LanczosResize(576,432)
smooth = source.degrainmedian(mode=3).fft3dfilter(bw=16, bh=16, bt=3, sigma=3, plane=0)
source2 = maskedmerge(source, smooth, mask)
source3 = source2.MVDegrain2(backward_vec1,forward_vec1,backward_vec2,forward_vec2,thSAD=400,idx=1)
source3.gradfun2db(1.5)
-
- Mensajes: 232
- Registrado: Dom 17 Abr, 2005 02:00
-
- Mensajes: 232
- Registrado: Dom 17 Abr, 2005 02:00
Buenas retomo el hilo por el tema de la luminosidad.
En la libreria MPEG2Dec3.dll aparecia la función lumafilter(), que según multitud de guias era un filtro indispensable, al igual que undot(). La opcion por defecto lumafilter() creo que equivalía a Lumafilter(2,1)
En la actual versión de DGdec ya no aparece lumafilter, sino lumaYV12. Parece que ya no haga falta usarse porque veo por ahi que nadie lo recomiende. Sólo en un sitio he visto que se recomienda usar LumaYV12(-2,1), y no se bien por qué. El equivalente a lumafilter() no sería LumaYV12(2,1)? Alguien lo sabe?
Y vosotros, lo soléis usar por norma o sólo en determinados casos?
En la libreria MPEG2Dec3.dll aparecia la función lumafilter(), que según multitud de guias era un filtro indispensable, al igual que undot(). La opcion por defecto lumafilter() creo que equivalía a Lumafilter(2,1)
En la actual versión de DGdec ya no aparece lumafilter, sino lumaYV12. Parece que ya no haga falta usarse porque veo por ahi que nadie lo recomiende. Sólo en un sitio he visto que se recomienda usar LumaYV12(-2,1), y no se bien por qué. El equivalente a lumafilter() no sería LumaYV12(2,1)? Alguien lo sabe?
Y vosotros, lo soléis usar por norma o sólo en determinados casos?
-
- Mensajes: 1047
- Registrado: Sab 10 Jun, 2006 06:51
Creo que ahora la 'corrección' más utilizada es (visible sobre todo en Luma porque aclara) ColorMatrix()
Su utilización más sencilla:
Fuente no entrelazada:
DGDecode_mpeg2source("I:\dvd\video_ts\VTS_06_PGC_01_1.d2v",info=3)
ColorMatrix(hints=true)
Fuente entrelazada (se desentrelaza después, pero el script debiera arrancar así):
DGDecode_mpeg2source("I:\dvd\video_ts\VTS_06_PGC_01_1.d2v",info=3)
ColorMatrix(hints=true, interlaced=true)
nótese que el DGDecode tiene al final el parámetro info=3. Info=3 lee datos del DVD, entre ellos la colorimetría y le pasa este dato a ColorMatrix quien lo recibe gracias al parámetro hints=true
Si no utilizamos el info=3 más hints=true hay que agregar la conversión a mano. Por lejos en la mayoría de DVDs la configuración sería:
DGDecode_mpeg2source("I:\dvd\video_ts\VTS_01_1.d2v")
ColorMatrix("Rec.709->Rec.601",hints=false)
Edito: yo personalmente lo uso bastante, pero siempre después de darle una miradate a la fuente con y sin ColorMatrix
Su utilización más sencilla:
Fuente no entrelazada:
DGDecode_mpeg2source("I:\dvd\video_ts\VTS_06_PGC_01_1.d2v",info=3)
ColorMatrix(hints=true)
Fuente entrelazada (se desentrelaza después, pero el script debiera arrancar así):
DGDecode_mpeg2source("I:\dvd\video_ts\VTS_06_PGC_01_1.d2v",info=3)
ColorMatrix(hints=true, interlaced=true)
nótese que el DGDecode tiene al final el parámetro info=3. Info=3 lee datos del DVD, entre ellos la colorimetría y le pasa este dato a ColorMatrix quien lo recibe gracias al parámetro hints=true
Si no utilizamos el info=3 más hints=true hay que agregar la conversión a mano. Por lejos en la mayoría de DVDs la configuración sería:
DGDecode_mpeg2source("I:\dvd\video_ts\VTS_01_1.d2v")
ColorMatrix("Rec.709->Rec.601",hints=false)
Edito: yo personalmente lo uso bastante, pero siempre después de darle una miradate a la fuente con y sin ColorMatrix
-
- Mensajes: 232
- Registrado: Dom 17 Abr, 2005 02:00
-
- Mensajes: 1047
- Registrado: Sab 10 Jun, 2006 06:51
Depende!
thSAD de 400 para arriba empieza a 'comer' bastante. Pero si es una película vieja, en mal estado y el filtrado viene en plan de restauración, creo que puede ir muy bien!
Lo mismo el FFT3DFilter posterior. Como efecto secundario no deseable de un FFT3D muy fuerte puede aparecer 'banding'. Je, nunca va a pasar algo tan feo como el ejemplo que linkeo, pero para que te des una idea de que estoy hablando.

thSAD de 400 para arriba empieza a 'comer' bastante. Pero si es una película vieja, en mal estado y el filtrado viene en plan de restauración, creo que puede ir muy bien!
Lo mismo el FFT3DFilter posterior. Como efecto secundario no deseable de un FFT3D muy fuerte puede aparecer 'banding'. Je, nunca va a pasar algo tan feo como el ejemplo que linkeo, pero para que te des una idea de que estoy hablando.
-
- Mensajes: 232
- Registrado: Dom 17 Abr, 2005 02:00
Si claro, estoy hablando de peliculas ochenteras que vienen en unos DVD que dan pena.
Estaría bien, si no en este hilo, en el otro, hacer unas propuestas de configuraciones de filtros para fuentes de BUENA, MEDIA y BAJA calidad, y así tener un poco donde agarrarse, ya que a veces la documentación de los filtros es bastante complicada de entender.
Un ejemplo: en la documentación de MVtools veo la siguiente propuesta para usar el degrainmedian, filtro que me gusta bastante
Estaría bien, si no en este hilo, en el otro, hacer unas propuestas de configuraciones de filtros para fuentes de BUENA, MEDIA y BAJA calidad, y así tener un poco donde agarrarse, ya que a veces la documentación de los filtros es bastante complicada de entender.
Un ejemplo: en la documentación de MVtools veo la siguiente propuesta para usar el degrainmedian, filtro que me gusta bastante
No lo he conseguido hacer funcionar. Supongo que donde pone source has de poner la ruta "c:\rip\pelicula.d2v". Pero creo que has de meter comillas, parentesis donde toca (que no lo deja claro) para que empiece a funcionar . cuando llega a la linea del interleave me pone errorTo denoise with some external denoiser filter (which uses 3 frames: prev, cur, next):
backward_vectors = source.MVAnalyse(isb = true, truemotion=true, delta = 1, idx = 1, thSCD1=500)
# we use explicit idx for more fast processing
forward_vectors = source.MVAnalyse(isb = false, truemotion=true, delta = 1, idx = 1, thSCD1=500)
forward_compensation = source.MVFlow(forward_vectors, idx=1) # or use MVCompensate function
backward_compensation = source.MVFlow(backward_vectors, idx=1) # or use MVCompensate function
# create interleaved 3 frames sequences
interleave(forward_compensation, source, backward_compensation)
DeGrainMedian() # place your preferred temporal (spatial-temporal) denoiser here
return selectevery(3,1) # return filtered central (not-compensated) frames only
-
- Mensajes: 1047
- Registrado: Sab 10 Jun, 2006 06:51
Faltaría al comienzo un
Acá utilizan el MVAnalyse (el análisis de vectores de movimiento), pero en vez de MVDegrain2 utiliza el DegrainMedian. Sí, después proponemos algunos ejemplos en el hilo de filtros!
Código: Seleccionar todo
source = last
-
- Mensajes: 232
- Registrado: Dom 17 Abr, 2005 02:00
-
- Mensajes: 1047
- Registrado: Sab 10 Jun, 2006 06:51
Creo que cambiaste el orden de alguna línea. De punta a punta este es un script que acabo de probar y funciona:
Código: Seleccionar todo
DGDecode_mpeg2source("H:\dvd\video_ts\VTS_01_1.d2v",info=3)
ColorMatrix(hints=true)
crop( 0, 2, 0, 0)
Spline36Resize(640,480)
source = last
backward_vectors = source.MVAnalyse(isb = true, truemotion=true, delta = 1, idx = 1)
forward_vectors = source.MVAnalyse(isb = false, truemotion=true, delta = 1, idx = 1)
forward_compensation = source.MVFlow(forward_vectors, idx=1, thSCD1=500)
backward_compensation = source.MVFlow(backward_vectors, idx=1, thSCD1=500)
interleave(forward_compensation, source, backward_compensation)
DeGrainMedian()
return selectevery(3,1)