digitalFAQ.com Forums [Archives]

digitalFAQ.com Forums [Archives] (http://www.digitalfaq.com/archives/)
-   Avisynth Scripting (http://www.digitalfaq.com/archives/avisynth/)
-   -   Avisynth: HybridFuPP 0.92b is out (03/26/2005) (http://www.digitalfaq.com/archives/avisynth/9468-avisynth-hybridfupp-092b.html)

FuPP 05-05-2004 09:29 AM

HybridFuPP 0.92b is out (03/26/2005)
 
This Avisynth script enables both resizing and filtering. Distinct filters can be applied on the different parts of a same picture (edges, static areas, motion, dark and bright areas) : HybridFuPP is a kind of adaptive processor, allowing picture cleaning and compressibility gain.

Main idea consists in filtering strongly the less visible parts of the picture, and very softly the more visible. HybridFuPP uses masks to detect areas to process.

Standard processings proposed are : resizing (5 possibilities), static areas denoising, motion denoising, dark and bright areas denoising, chroma denoising (U and V channels), edges sharpening or softening (distinct horizontal and vertical settings), edges brightness control, deringing (removing artefacts around edges) and deblocking (removing blocks effects generated by mpeg compression).

Though HybridFuPP has been designed first to process rather clean materials, filtering package used is flexible and powerful enough to use it with noisy materials too (depending on noise type) : increasing default settings could be though required.

HybridFuPP is provided with some presets allowing beginners to use the script easily and other people to use these presets as basis for their explorations. Moreover, HybridFuPP allows users to define their own processing chains : lot of things become then possible !

HybridFuPP is supplied with all the necessary filters and a doc.

Link : Download HybridFuPP 0.92b

changelog :

-0.92b

- 2 modes are available for motion precessing : motion compensated temporal denoising, or spatial denoising. Spatial denoising (default) is faster, but quality is a bit lower.
- MM_Type parameter removed (motion mask type)
- Two edges mask modes (parameter EM_Mode) : 1 is rather for films, 2 for animes
- New deringing processing
- Deblocking mode added (parameters Deblock, DB_Q, DB_Off_a and DB_Off_b)
- Dark areas processing has been modified
- Bright areas processing has been inactivated by default in all presets
- New parameters S_Str et T_Str manage now distinctively spatial and temporal filtering strength (parameter ST_Str has been removed) for static areas
- In order to get better efficiency when denoising static areas, 2 new parameters have been added : S_Radius and S_Dist. The first one is related to filtering radius, and the second one influences spatial filtering threshold (The weaker, the more edges are preserved)
- New parameter E_Str_B : edges brightness
- New parameter Fast (true / false). When True, dark areas, lit areas and motion (only if MP_Mode = 2) masks are computed from an already denoised and resized picture (enabling HybridFuPP to save time). If False, these masks are computed from a simply resized picture
- 2 new presets : anime1 and anime2
- New preset HybridQ that allows sharp edges while maintaining good compressibility
- Parameter L_Thr has been renamed in B_Thr
- New parameters available for 'Show' : “R” (displays areas that will be deringed) and “P” (displays all the parameters used)
- Be careful : range of valid values have been modified for a few parameters. Please have a look on the documentation above.
- as some avisynth's caching issues have been solved, HybridFuPP should be faster (use latest avisynth betas preferably, and always use filters dlls provided inside HybridFuPP's package)

- 0.9a ŕ 0.917a :
- Non official alpha versions

- 0.89a ŕ 0.897a :
- Non official alpha versions

- 0.882b :

- a bug when using height or width lower than 256 has been fixed

- 0.881b :

- a bug when using "dering = true" or preset 'anime' has been fixed

- 0.88b :

- No more multiple resizing
- Standard filtering chains have been changed a lot
- Like dark areas, very lit areas are now processed too
- Chroma processing has been improved
- New and more efficient motion detection engine (thanks Manao). The old one, and an improved version of it, are though available too (use parameter MM_Type)
- New presets : "very low", "low", "medium", "high" (default), "very high" and "anime"
- « Debug » mode is now called « Show ». As previously, it enables to display the masks. Using it is easier too.
- New parameters (C_Str = chroma filtering strength, L_Thr = light areas threshold, LP_Str = dark and light areas filtering strength). Some others are no more used (chroma, dark, D_Str, Eresizer, Nresizer, CH…)
- Dering no more returns an error when used with non mod 16 destination width and height. It will simply be disactivated if needed.

- 0.85a to 0.87a :

- Non official alpha versions

- 0.84b :

- It is now possible to create personal processing chains
- Advanced debug mode (displayed with colors, modes can be now combined)
- Added a strength parameter for dark areas processing
- More speed
- No more limits concerning final size for chroma and dark (called ‘special’ in 0.7x versions) modes
- Deringing (optional) is now done after resizing. Mod 16 size limit concerns now only final size.
- Be careful : some parameters have been renamed (ex : special -> dark).
- Parameters order has changed ! so be careful if you used unnamed parameters in previous releases : ex HybridFuPP(448,320,12,7,10,30,9,32,17,1,5,true,tru e,true,30,0)

- 0.80a to 0.83a :

- Non official alpha versions

- 0.71b :

- Added a threshold parameter for special mode (ie dark areas processing)

- 0.7b :

- Special processing of dark areas, ie soft resizing + strong filtering (optional). Compressibility : up to 12% more
- It is now possible to choose resizing algorithm for edges
- Motion spatial filtering has been re-introduced (because of users request)
- A little bit less speed if dark areas processing is used (activated by default), a little bit more than 0.6b if it is not used

- 0.6b :

- Resizing algorithm and settings can be now selected for picture parts displaying no motion nor edges
- Edge detection algorithm changed (uses Msharpen now)
- Default values have been changed
- Presets have been changed
- It is now possible to override parameters included in a preset
- Spatial filtering has been removed when processing motion (offered a very weak compressibility gain)
- General picture quality improvements
- Speed improvement

- 0.5b :

- Added presets
- Changed defaults for better quality
- Changed spatio-temporal filter position in the chain

- 0.4b :

- Added parameters for both spatio-temporal and spatial filtering
- Changed default value for Edge detection threshold from 15 to 10
- Chroma smoothing is now done after resizing. Dering is still done before. Will see later...

- 0.3b :

- Errors with non mod16 sources are better managed

- 0.2b :

- First downloadable version

Prodater64 05-05-2004 10:51 AM

Congratulations! It is a great news!

kwag 05-05-2004 10:58 AM

Thanks again FuPP ;)

-kwag

FuPP 05-05-2004 11:31 AM

Thanks for kind words :) !

Regards,
FuPP

jorel 05-05-2004 02:56 PM

:D

thank you my friend...you know that i like it too much!
:wink:

bigggt 05-05-2004 06:55 PM

Thanx Fupp ,been going to doom9 for the past week looking for this as i seen you were going to release it.

muaddib 05-06-2004 01:24 AM

It looks really good! I'm going to try it right now!
Thanks FuPP! :D

Zyphon 05-06-2004 02:00 AM

Thanks for the update Fupp. :)

FuPP 05-06-2004 04:38 AM

Thanks again to all :) All the feedback you may bring will be very appreciated !

Cheers,
FuPP

Dialhot 05-06-2004 07:54 PM

Is there someone that already tested this version ? I didn't have any spare time today :oops:

FuPP 05-07-2004 02:22 AM

Me :P

kwag 05-07-2004 02:23 AM

:rotf:

Dialhot 05-07-2004 02:34 AM

Quote:

Originally Posted by FuPP
Me :P

And you found it good ? :-D

FuPP 05-07-2004 02:37 AM

Not enough though... There's a bug with dering mode (and preset anime which uses it)...

Actually, I introduced it a few seconds before releasing :oops:

See post #1 for downloading...

Regards,
FuPP

jorel 05-15-2004 07:39 AM

hey FuPP,
post the new version, i saw that you encrease HybridFuPP!

and please, parameters for dvds sources to kdvds !
:wink:
thanks!

FuPP 05-16-2004 02:00 PM

Quote:

post the new version
Done !

Quote:

parameters for dvds sources to kdvds !
I do not have rules about it. But as HybridFuPP uses very light filter settings, and because DVD picture size is large, I think one can use rather aggressive presets / settings.

HybridFuPP(x, y, preset="low") or HybridFuPP(x, y, preset="medium") could be a good start.

FuPP

jorel 05-16-2004 03:29 PM

:D
thanks for that Fupp!

ps:
i edit the title of the thread to the correct date and version!
:wink:

rds_correia 05-16-2004 06:42 PM

Hi :D,
Thanks for the hard work FuPP.
I'm putting your new version of HybridFuPP on my To-Do list for testing.
That should come up on thursday or Friday.
I still have a lot of things to do before that: Prodater will kill me if I don't test his guide on Mencoder tomorrow or tuesday :lol:
Anyway from what I've seen before from Hybrid I bet this version is a must :wink:
Cheers pal

jorel 05-18-2004 09:25 PM

Quote:

Originally Posted by FuPP
HybridFuPP(x, y, preset="low") or HybridFuPP(x, y, preset="medium") could be a good start.

FuPP

ok Fupp, i'm thinking to use HybridFuPP(x, y, preset="medium") first but i want to use the resizerr 4-bicubic (strong) or 5-lanczos (max, best sharpness) to encrease sharpness....
how can i change if the default in preset=medium is Resizer=3 :?:

FuPP 05-19-2004 01:43 PM

@rds_correia

Thanks ! (hope you're still alive :D )

@Jorel

Hi man ! Sorry to be late for answering (I'm quite busy these days...) ! :?

Simply use command line :

HybridFuPP(x, y, preset = "medium", resizer = 5)

...5 is lanczos.

FuPP :)

digitall.doc 05-20-2004 10:17 AM

@FuPP,
sorry, sorry, sorry,... I've been following your releases almost from the begining. Even went some time to doom9 to see updates (thanx for keep us informed). I downloaded every new version you posted. I find it very intersting/useful.
... then? (you wonder)
I didn't test it yet. I'm very dedicated to mencoder now, with little time.
But I want to test it now in mencoder, with a captured avi (home-made film, my son :roll: )
And I ask you sorry me since, without having tested it, I'll ask a question: is there a way to use HybridFuPP without resizing, just cropping and adding borders/letterboxing?
I read (not carefully :oops: ) the complete Readme that comes with the release, and don't know if this can be done, even don't know if you will find it interesting... but in most of my DVD -> KDVD encodes I just crop, no resize.
Congratulations for your nice work.

jorel 05-20-2004 11:41 AM

Quote:

Originally Posted by digitall.doc
is there a way to use HybridFuPP without resizing, just cropping and adding borders/letterboxing?
I read (not carefully :oops: ) the complete Readme that comes with the release, and don't know if this can be done, even don't know if you will find it interesting... but in most of my DVD -> KDVD encodes I just crop, no resize.
Congratulations for your nice work.

good question my friend digitall.doc ! :wink:
i read (not carefully too) :oops: but i want to know the same.

FuPP 05-20-2004 01:08 PM

Of course it is possible :). Simply using HybridFuPP(preset = xxx), without width and height parameters (all parameters are optional in HybridFuPP). Do not hesitate to use medium or even lower preset with such a size.

Be aware too that HybridFuPP could be rather slow when used with such a target size.

Regards,
FuPP

digitall.doc 05-20-2004 01:41 PM

That easy!?
Thanx a lot for your fast answer, FuPP.

A doubt then, will edges still be sharpened?. I guess yes.

What would you advise then for a home-made video that is a bit noisy and a little blurred?. I was using:
Code:

Fielddeinterlace(full=false,blend=false)
Crop( 8, 12, -8, -4)
HybridFuPP(704,560,preset="medium",resizer=5)
AddBorders(0, 0, 0, 16)
LetterBox(16, 16, 16, 16)

Used "medium" since in VirtualDub seemed to me that got artifacts (like gibbs effects) with "low" or "very low".
But now I suppose I'd better use something like:
Code:

Fielddeinterlace(full=false,blend=false)
Crop( 8, 12, -8, -4)
HybridFuPP(preset="medium")
AddBorders(0, 0, 0, 16)
LetterBox(16, 16, 16, 16)

since resizer maybe is not needed anymore, isn't it?.
Maybe I'll try again with "low" preset.
Do you have any other hint?.
Thanx a lot in advance :wink: .

FuPP 05-20-2004 02:59 PM

Quote:

will edges still be sharpened
I don't use oversharpening anymore in presets. If you want to sharpen edges more, use E_Thr_X and E_Thr_Y parameters (keep in mind that it will be even slower).

As you don't resize, try "very low" !

FuPP

digitall.doc 05-20-2004 04:00 PM

Thanks again, FuPP.
I started an encoding before reading your post, with HybridFuPP(preset="medium"). Yes, it works in mencoder (I'm using Milan's MencoderAVS). And, yes, it's veeery slow: with a previous script I was using, with deen, unfilter, fielddeinterlace, temporalsoften, asharp, and so, I was getting 5-6 fps; now just 3-4 fps. But in this case, I don't mind.

When it finishes I'll try with very low and see.

I keep in a doubt. I've been reading HybridFuPP.avsi to see if I could solve it, but my chinese isn't very good yet ( :lol: ). If a preset is selected and no resizer is changed, it will be selected the default resizer for this preset, isn't it?. If no width and height parameters are given, the function takes actual width and height. But then a resize is applied, but resizes to the same dimensions as input, did I understand this well?.
Would in this case be of any help to change the resizer?. Maybe this is not an especific HybridFuPP question, and is more avisynth one. But, does your function always resize (even when no change in size is applied)?, and does it make a difference to "resize" with one resizer or another?.
FuPP, if you think it's better to open a new thread with this questions, and keep this one just for bugs/suggestions, just make me now...
I'm willing to see the output of your function 8)

FuPP 05-20-2004 04:56 PM

Actually, when you use a resizer with output size = input size, then it is a kind of no-op, ie nothing is done. So in that case, resizer doesn't matter.

Quote:

FuPP, if you think it's better to open a new thread with this questions
Don't worry, I think there's enough room in this one :)

FuPP

digitall.doc 05-20-2004 05:15 PM

Quote:

Originally Posted by FuPP
Actually, when you use a resizer with output size = input size, then it is a kind of no-op...

OK, understood now.

Well, encode finished. With the same average bitrate (so the same final filesize) I get a lower average quantizer value in BitrateViewer tahn with my previous scripts. That doesn't mean necessarily better visual result, but... I previewed on PC screen, but I don't see big differences with previous tests. I will burn on DVD and see on TV, and compare.

But I think the source is really difficult to improve, blurred and dirty as I posted. And your function is designed for clean sources. I'll give very low preset also a try, and will compare.

You've been very helpful. :)

FuPP 05-20-2004 05:55 PM

Hard to help you about settings without seeing the source... If it is blurred, you can try to enhance edges (E_Str_X=30, E_Str_Y=30), but sometime it can even look worse :? ... For more denoising, you can use parameter ST_Str (the higher, the less noise). You could start with 4 and try higher if needed...

FuPP

jorel 05-20-2004 10:24 PM

Fupp,
thank you for previous answers!

now a "new one" :
how can i use HybridFuPP with this "resizes" in the script

LanczosResize(720, 366, 6, 0, 708, 480)
AddBorders(0, 57, 0, 57)

:?:

thanks in advance!
:wink:

FuPP 05-21-2004 02:19 AM

Hi my friend !

no you should not use it this way. The correct syntax is :

Crop(6, 0, 708, 480)
HybridFuPP(720, 366, preset=xxx, resizer=5)
AddBorders(0, 57, 0, 57)

But using mod 16 size would speed things a lot....

FuPP

jorel 05-21-2004 10:32 AM

FuPP,
using mod 16? :? i don't understood!

i change a little the script cos give errors in vdubmod preview.
something was wrong in "my" script and not in HybridFuPP,
see the script now:

Crop(8, 0, 704, 480)
HybridFuPP(720, 368, preset="medium", resizer=5)
AddBorders(0, 56, 0, 56)

i'm encoding toy story 1 (3000 frames) for test !
:wink:

digitall.doc 05-22-2004 09:07 AM

Hi FuPP,
I finally used a ST_Str=5, and E_Str_X=20 and E_Str_Y=20, and looked well. I think I got all I could out of this bad source.

I also tried this, just to see if I understood well how it works:
Code:

HybridFuPP(preset="very low", E_Str_X=20, E_Str_Y=20, ST_Str=5, M="unfilter(-5*M_Str,-5*M_Str)", N2="temporalsoften(1,ST_Str,2*C_Str,15,2).Unfilter(-5*ST_Str,-5*ST_Str)", LP="unfilter(-10*LP_Str,-10*LP_Str)")
I just loaded in VirtualDub too see there was no error (and wasn't :wink: ), but didn't try to encode and see if faster than with Deen "a3d".
BTW, when motion is detected (and in dark and lit areas), is unfilter applied in a progressive/adaptive way, or in a linear way?.
I ask because I first tried with:
Code:

..., M="unfilter(-10*M_Str,-10*M_Str)", ...
and when there was motion, it got blurred too much, and seemed to me that was done linearly. Could I then apply a motion adaptive filtering chain for M, the way is done in the MA script?. Just a thought, didn't test.
Congratulations again for your nice function (good idea that of preserving static areas) :)

FuPP 05-22-2004 06:04 PM

Quote:

when motion is detected (and in dark and lit areas), is unfilter applied in a progressive/adaptive way, or in a linear way?.
actually, this is less a filtering problem than a mask problem. In this version, I "binarize" the mask. That means that I use a threshold ; below that threshold there's no motion detected, above it there's motion. It is therefore not linear. In next version I will not use binarize function anymore : that implies that motion detected will be more "linear".
Btw you can use M_Thr to reduce the amount of motion detected (M_Thr is linked to the motion vector length).

FuPP

digitall.doc 05-23-2004 04:16 AM

Sorry me, I didn't explain it well. But I understood your explanation: motion filtering is only done when motion (above a threshold) is detected.
But once motion is detected, the filter applied has always the same strength.
That's why I asked if in the filtering chain I can add a MA filtering when motion is detected, blurring more when the motion detected is greater, and less with less motion.

FuPP 05-23-2004 04:46 AM

Me sorry ; I've not been clear enough.

What I meant is that in next version, as motion mask will no longer be binarized, quantity of blurring will be proportional to the quantity of motion detected (don't forget that the original picture and the blurred one are layered using the mask...). If motion mask detects different quantity of motion for a same frame, quantity of blurring applied won't be the same for each of these parts.

Regards,
FuPP

digitall.doc 05-23-2004 09:14 AM

So...
...it will be great :D

Willing to test it. :wink:

FuPP 05-23-2004 09:27 AM

oh, forgot to say : for next version, people will have to pay...

Boulder 05-23-2004 09:43 AM

Quote:

Originally Posted by FuPP
oh, forgot to say : for next version, people will have to pay...

What the hell are you talking about, paying for a script :?

FuPP 05-23-2004 09:46 AM

was kidding... :P


All times are GMT -5. The time now is 08:29 PM  —  vBulletin © Jelsoft Enterprises Ltd

Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.