DGDenoise: question about cstrength

These CUDA filters are packaged into DGDecodeNV, which is part of DGDecNV.
Post Reply
DAE avatar
ggtop
Posts: 28
Joined: Tue Jun 20, 2017 3:22 pm

DGDenoise: question about cstrength

Post by ggtop »

Hi,

I tested some denoising filters, scripts the last weeks and finally came across DGDenoise which I have to admit is what I was looking for :hat:
I played with different setting for strength and searchw in combination with DGSharpen afterwards with great results. Picture quality gets better and also compressibilty.
Now my question: What does parameter cstrength do?
I understand that is supposed to denoise chroma level, but regardless which values I try I see no difference.
My normal procedure is to load my Avisnth script into AVSPmod to tweak and preview the settings.
My source files are blurays which I down-resize to 1280 and encode with x264@CRF=20.
Unfortunately I only have a GT730 card I bought a few years ago in order to use DGDecNV which is really slow.
Is my graphic to weak for this kind of operation or are my source files simply not affected?
Does someone has a hint which parts of the picture are affected by cstrength?
Doesn't matter if I set value 0.10 or 1.00. Encoded picture look the same for my old eyes :-)

Thank you in advance for sharing your experiences,
ggtop
User avatar
Rocky
Posts: 3557
Joined: Fri Sep 06, 2019 12:57 pm

DGDenoise: question about cstrength

Post by Rocky »

If there is no appreciable noise in the chroma then it may appear that nothing is happening. Can you post a link to a short unprocessed source sample please?

Yes, cstrength controls the denoising of the chroma planes. Your GPU should be working just fine.
DAE avatar
ggtop
Posts: 28
Joined: Tue Jun 20, 2017 3:22 pm

DGDenoise: question about cstrength

Post by ggtop »

Thank you for the quick reply.
I assume I can cut a m2ts with dgsplit. Is your ftp server still running? You sent me credentials back in Jan 2020.

Does the scene need to be extremely light or dark or heavy action or doesn't it care at all?

ggtop
User avatar
Rocky
Posts: 3557
Joined: Fri Sep 06, 2019 12:57 pm

DGDenoise: question about cstrength

Post by Rocky »

ggtop wrote:
Fri Jul 16, 2021 3:57 am
I assume I can cut a m2ts with dgsplit.
Sure, why not?
Is your ftp server still running? You sent me credentials back in Jan 2020.
Still running, thank the Lord.
Does the scene need to be extremely light or dark or heavy action or doesn't it care at all?
Nothing special needed.

Thank you.
DAE avatar
ggtop
Posts: 28
Joined: Tue Jun 20, 2017 3:22 pm

DGDenoise: question about cstrength

Post by ggtop »

Thank you for your interest in my question and sorry for the late reply. Weather was too nice over the weekend so I decided to build a pool for the kids :-)

Upload into subfolder "ggtop" is running. I created a 1 min segment using DGSplit.

I compared it using the following attached AVS script:

Code: Select all

#
LoadPlugin("C:\...\DGDecNV_2053\DGDecodeNV.dll")
DGSource("C:\Temp\50201_segment_0.DGI", fieldop=0)
DGDenoise(strength=0.15, cstrength=1.00, searchw=9)
#DGDenoise(strength=0.15, searchw=9)
Spline16Resize(1280,720)
ConvertToYV12().AssumeFPS(24000,1001)
I admit that I don't know where to look at, but cstrength=1.00 and without it show no difference (to me).
I don't want to say it does nothing, but either I'm simply not experiened enough (what I think), my equipment (GPU, monitor etc. ) isn't or the source is not that affected.

P.S. DGDecNV is the latest build

INFO: I read here on your forum about DGDenoise, but honestly I have no idea how a picture looks after "denoising the chroma planes"...

ggtop
User avatar
Rocky
Posts: 3557
Joined: Fri Sep 06, 2019 12:57 pm

DGDenoise: question about cstrength

Post by Rocky »

The chroma planes are U and V, luma is Y. To visualize the U plane you can use UtoY(). The following script shows you the effect of cstrength on the U plane:

loadplugin("dgdecodenv.dll")
dirty=dgsource("50201_segment_0.dgi")
clean=dirty.dgdenoise(strength=0,cstrength=1)
dirty2=dirty.utoy()
clean2=clean.utoy()
subtract(clean2,dirty2)
levels(116,1,156,0,255) # just makes differences more visible
trim(689,-0) # just a good frame to use

Load that and preview it in VirtualDub2, or look at the image below. The graininess is the "noise" that was removed from the U plane. Change cstrength to 0 and retry it. There will be nothing as chroma denoising is not performed.

You can do the same thing for the V plane using VtoY() if desired.

So chroma denoising is working.

Image
DAE avatar
ggtop
Posts: 28
Joined: Tue Jun 20, 2017 3:22 pm

DGDenoise: question about cstrength

Post by ggtop »

Thank you so much for your explanations. Very much appreciated.
BTW This thread is not about doubts regarding DGdecNV not working. It is about me being too blind...

Running your script I do see there is chroma noise although I do not see it when running DGDenoise against the original source. On the other hand I experience a better compression so noise it removed indeed...what is exactly what I'm looking for actually
:hat:

Let me ask subjective then...Do YOU, eagle-eyed and A/V trained :-), see a visual difference in the source I provided with cstrength=0 versus 1 and if yes what do I miss?

Have a nice evening,
ggtop
User avatar
Rocky
Posts: 3557
Joined: Fri Sep 06, 2019 12:57 pm

DGDenoise: question about cstrength

Post by Rocky »

Can only be squirrel-eyed!

With this script:

loadplugin(dgdecodenv.dll")
dirty=dgsource("50201_segment_0.dgi")
clean=dirty.dgdenoise(strength=0.0,cstrength=1)
interleave(clean,dirty)

and zooming in to 400% in VirtualDub2 I do indeed see subtle differences between the clean and dirty frames.

The luma noise is stronger than the chroma noise here, so the above expedients (no luma denoising plus zooming) are needed to see the effect.
User avatar
Bullwinkle
Posts: 338
Joined: Thu Sep 05, 2019 6:37 pm

DGDenoise: question about cstrength

Post by Bullwinkle »

ggtop wrote:
Mon Jul 19, 2021 11:52 am
I decided to build a pool for the kids
Qualifies for immediate Moose Approval! Nothing else to say, except that meese are the exquisite paradigm of mammalian swimming. Get over it.

Now how does that ACP thing work? C'mon Sherman!

Beyond that, you are on your own.
DAE avatar
ggtop
Posts: 28
Joined: Tue Jun 20, 2017 3:22 pm

DGDenoise: question about cstrength

Post by ggtop »

Thank you,

what do I have to build next? A shelter for squirrels perhaps? We already feed them in winter :-)

@Rocky: Thank you again for your input. Already testing some sources with different settings hunting for visual differences. I think I will keep cstrength with the defaults until I come across a source that needs a stronger value.
Right now I'm more focusing on DGDenoise > strength & searchw and DGSharpen.

strength=0.15 is sometimes for too much
Lowering searchw to 7 doubles FPS on my slow card
DGSharpen with strength=1 is too much most of the times. Gives unnatural sharp edges around e.g. moving persons (like cut with scissors)

Anyway, your filters are by far the best ones for my needs. Easy to use and not so many dependencies with thousands of settings.

:bravo:

ggtop
DAE avatar
Guest

DGDenoise: question about cstrength

Post by Guest »

We already feed them in winter
We feed them year round, got no choice, they wait at the door
User avatar
Rocky
Posts: 3557
Joined: Fri Sep 06, 2019 12:57 pm

DGDenoise: question about cstrength

Post by Rocky »

Guys, what are you feeding? We don't want any moose crap.
User avatar
Sherman
Posts: 576
Joined: Mon Jan 06, 2020 10:19 pm

DGDenoise: question about cstrength

Post by Sherman »

Bullwinkle wrote:
Wed Jul 21, 2021 7:47 pm
Now how does that ACP thing work? C'mon Sherman!
Got no idea cuz I'm not a mod yet. I proved myself ten times over. You need a telegram?
User avatar
DG
Posts: 88
Joined: Thu Dec 31, 2020 9:55 am

DGDenoise: question about cstrength

Post by DG »

Sherman, complete the MP4 update and you will become a moderator. Site admin is another matter. Good luck!
User avatar
Sherman
Posts: 576
Joined: Mon Jan 06, 2020 10:19 pm

DGDenoise: question about cstrength

Post by Sherman »

:bow:
Post Reply