Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 12th April 2024, 00:37   #2901  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 2,579
Quote:
Originally Posted by Dogway View Post
If the blurring was too extreme I would recommend the model HurrDeblur
With what AVS+ plugin?
__________________
@turment on Telegram
tormento is online now   Reply With Quote
Old 12th April 2024, 00:59   #2902  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,374
Quote:
Originally Posted by tormento View Post

Quote:
Originally Posted by Dogway View Post
If the blurring was too extreme I would recommend the model HurrDeblur
With what AVS+ plugin?

There is only 1 plugin that can be used directly in avs+ for HurrDeblur - avs-mlrt

https://github.com/Asd-g/avs-mlrt
poisondeathray is offline   Reply With Quote
Old 12th April 2024, 10:36   #2903  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 2,579
Quote:
Originally Posted by poisondeathray View Post
There is only 1 plugin that can be used directly in avs+ for HurrDeblur - avs-mlrt


My poor 1660 Super will die on fire.
__________________
@turment on Telegram
tormento is online now   Reply With Quote
Old 16th April 2024, 17:23   #2904  |  Link
simple_simon
Registered User
 
Join Date: Feb 2003
Posts: 106
I've been using removegrain(mode=5) or vsdegrainmedian(modeY=3) to help with compressability without changing the overall look of the picture too much. What's the best ex_median mode to use as an equivalent?
simple_simon is offline   Reply With Quote
Old 16th April 2024, 20:50   #2905  |  Link
Lucky38
Registered User
 
Join Date: Mar 2024
Posts: 4
hi,

I'm looking option to denoise with smdegrain enitre frame exept area where is the motion. How could i achive that?
Lucky38 is offline   Reply With Quote
Old 16th April 2024, 22:08   #2906  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 2,579
@Dogway

Is there a way to pass parameters to prefilters but to use it as external prefilter? I am interested mostly in 6,7,8.
__________________
@turment on Telegram
tormento is online now   Reply With Quote
Old Yesterday, 12:48   #2907  |  Link
DTL
Registered User
 
Join Date: Jul 2018
Posts: 1,068
Quote:
Originally Posted by Lucky38 View Post
hi,

I'm looking option to denoise with smdegrain enitre frame exept area where is the motion. How could i achive that?
If SMDegrain exports MVs clip (as some named global ?) - you can feed it to MMask() and use output mask with AVS filters like Overlay() or Layer().
If not - you need to calculate MVs again (MSuper+MAnalyse).


After looking into ex_median - it is a great 64 different median (median-like ?) modes ! Now I am in the process of testing some ways of averaging MVs gathered from 'area' searches (with some offset from block's center position in tessellation grid - it sort of very dense overlap with possible steps on 1 sample dx,dy) to make more stable MV for degraded by noise sources. Which of the 64 different median modes can be tested for this process ?

The gathered MVs from AreaMode search can be treated either as 1D array or as 2D array. Currently, the implemented averaging modes process as 1D array and not use possible 2D information gathered (like distance/radius from block's center of the search position). The offset distance from block's center makes positives and negatives:
1. Positives - the more offset distance from block's center - the more new (not tested with original block's position) samples used and gather more new information about motion. It is sort of an increasing block size.
2. Negatives - the more offset distance from block's center - the more image motion may be changed and the offsetted MVs may be really somehow different from the original block's position.

So with 1 and 2 I am still not sure if we can apply some '2D spatial weighting' to the averaging process. Anyway AreaMode gathers lots of new valuable data to process about motion in some close area about block's center (not only MVs but also SAD (or other supported dissimilarity metric)) it is 2D array of 3 values in each (of size 2x2 + center or 3x3 + center minimum with AreaMode 'radius' of 1 sample and many more with > 1). So lots of different new processing modes may be tested to find the best way of refining MVs using new gathered data.

2D view of the question:


For gathered MVs set (2D array of scanned to 1D) of MV(0,0) and some of the MV(dx, dy) members (where dx and dy are +-integer offsets in the units of current search level of MAnalyse: +-1 sample at the full-pel level for example) which of the ex_median() averaging algorithms may be recommended to test to get more stable output MV ?

Each MV() is a structure of 3 members (dx, dy, sad). Where dx and dy are relative motion vector X and Y components). So for analysys of 2 completely equal frames MV(0,0) = MV(dx,dy)= (dx=0,dy=0,sad=0).
But if frames have some noise added: MV(0,0) may be not equal to any of others MV(dx, dy). Also MV(0,0) may have non-zero dx, dy also.

Last edited by DTL; Yesterday at 15:19.
DTL is offline   Reply With Quote
Old Today, 08:22   #2908  |  Link
Lucky38
Registered User
 
Join Date: Mar 2024
Posts: 4
Quote:
Originally Posted by DTL View Post
If SMDegrain exports MVs clip (as some named global ?) - you can feed it to MMask() and use output mask with AVS filters like Overlay() or Layer().
If not - you need to calculate MVs again (MSuper+MAnalyse).
@DTL,

Have you got some example how should look like proper call with SMDegrain?

Many Thanks
Lucky38 is offline   Reply With Quote
Old Today, 09:13   #2909  |  Link
DTL
Registered User
 
Join Date: Jul 2018
Posts: 1,068
Documentation https://raw.githack.com/Dogway/Avisy...SMDegrain.html
says
Motion Vectors Globals Input/Output: Reuse motion vectors globals for faster processing, or just use SMDegrain() as a shortcut for creating nice quality motion vectors.

Example
Code:
                         SMDegrain(tr=3,thSAD=400,globals=3)    # Outputs vectors

                         Super = MSuper(levels=1)               # Add this line just before if you have some processing between Globals Output and Input.
                         MDegrain3(Super, bVec1, fVec1, bVec2, fVec2, bVec3, fVec3, thSAD=400)
So you can try
Code:
denoised=SMDegrain(tr=3,thSAD=400,globals=3)    # Outputs vectors
mask_clip=MMask(fVec1)
Overlay(last, denoised, mask=mask_clip)
I can not check because SMDegrain too complex for me and I can not gather all required dependencies and install as required. You need to check mask polarity (Use Invert() or arguments replacement in reverse order in Overlay() if result is inverted) and set mask 'sensitivity' to motion adjusting ml param at MMask(). Check mask_clip view to see how it masks motion areas,

Last edited by DTL; Today at 09:19.
DTL is offline   Reply With Quote
Old Today, 14:52   #2910  |  Link
Lucky38
Registered User
 
Join Date: Mar 2024
Posts: 4
Quote:
Originally Posted by DTL View Post
Documentation https://raw.githack.com/Dogway/Avisy...SMDegrain.html
says
Motion Vectors Globals Input/Output: Reuse motion vectors globals for faster processing, or just use SMDegrain() as a shortcut for creating nice quality motion vectors.

Example
Code:
                         SMDegrain(tr=3,thSAD=400,globals=3)    # Outputs vectors

                         Super = MSuper(levels=1)               # Add this line just before if you have some processing between Globals Output and Input.
                         MDegrain3(Super, bVec1, fVec1, bVec2, fVec2, bVec3, fVec3, thSAD=400)
So you can try
Code:
denoised=SMDegrain(tr=3,thSAD=400,globals=3)    # Outputs vectors
mask_clip=MMask(fVec1)
Overlay(last, denoised, mask=mask_clip)
I can not check because SMDegrain too complex for me and I can not gather all required dependencies and install as required. You need to check mask polarity (Use Invert() or arguments replacement in reverse order in Overlay() if result is inverted) and set mask 'sensitivity' to motion adjusting ml param at MMask(). Check mask_clip view to see how it masks motion areas,
I need to test this..

Lucky38 is offline   Reply With Quote
Reply

Tags
avisynth, dogway, filters, hbd, packs

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 16:27.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.