digitalFAQ.com Forums [Archives]

digitalFAQ.com Forums [Archives] (http://www.digitalfaq.com/archives/)
-   Avisynth Scripting (http://www.digitalfaq.com/archives/avisynth/)
-   -   Avisynth: MergeChroma to gain Compression? (http://www.digitalfaq.com/archives/avisynth/2734-avisynth-mergechroma-gain.html)

Jellygoose 02-22-2003 08:41 AM

MergeChroma to gain Compression?
 
Has anyone heard of this line for your AVS Script:

mergechroma(blur(1.3))

It's supposed to gain a little compressibility without affecting picture quality... I tried to find out how it works, but hadn't had much success yet...
any experiences?

Boulder 02-22-2003 09:18 AM

I tried it once, couldn't see any difference but filesize went down about one percent. Not much but everything's appreciated. I also use DCTFilter with settings (1,1,1,1,1,1,0.5,0) and gain some extra compression without losing any details.

kwag 02-22-2003 10:24 AM

I tried it too, but I used the max value for blur mergechroma( blur(1.58 )) .
File size did come down a little with no visual difference. I compared it in two frames with Vdub. Looks like we can crank up CQ just a tad with this :idea:
Thanks Jellygoose :D

-kwag

kwag 02-22-2003 12:03 PM

Would anyone care to try this 8O 8O 8O

mergechroma(blur( 1.58 ))
mergeluma(blur( 1.58 ))

Sample size without the above and bilinear resize: 11,194KB
Sample size WITH the above lines AND lanczos resize: 10,099 8O

Script here:

Code:

LoadPlugin("C:\encoding\mpeg2dec.dll")
LoadPlugin("C:\encoding\GripFit_preview.dll")
LoadPlugin("C:\encoding\blockbuster.dll")
LoadPlugin("C:\encoding\legalclip.dll")
LoadPlugin("C:\encoding\sampler.dll")
LoadPlugin("C:\encoding\dustv5.dll")
LoadPlugin("C:\encoding\temporalcleanerold.dll")

Mpeg2Source("K:\S1M0NE_WS\VIDEO_TS\simone.d2v")
LegalClip()

mergechroma(blur(1.58))
mergeluma(blur(1.58))

GripCrop( width=528, height=480, overscan=2 )
GripSize(resizer="lanczosresize")
SpaceDust()
TemporalCleaner()
GripBorders()
LegalClip()
Sampler(length=24)

Now doing a sample without lanczos but with Blockbuster "Sharpen".
BTW: If you remove the lanczosresize from the gripsize line, it uses the default bilinear resize and the sample file size is ~9.5MB 8O, but it looses some sharpness. Still, I can't tell a difference from the colors or brightness with the two lines mergechroma(blur( 1.58 )) and
mergeluma(blur( 1.58 )) added to the script, but the space saving is humongous 8O

-kwag

Boulder 02-22-2003 12:08 PM

Now where is that Canadian encode freak (SG) :twisted: I sure hope he's okay, it's been a long time since he's been here.

kwag 02-22-2003 12:11 PM

Quote:

Originally Posted by Boulder
Now where is that Canadian encode freak (SG) :twisted: I sure hope he's okay, it's been a long time since he's been here.

We're all asking the same question. I hope he's ok too :roll:

-kwag

Jellygoose 02-22-2003 12:15 PM

hey kwag, that is fantastic!! A hell of a lot difference ! :D

I tried it too, and it really does help compression!
Me personally I don't really like Lanczos Resizer. If I want extra sharpness I increase resolution to 704x576.
With this I achieve the same effect, and also blocks are becoming smaller!

kwag, with these new settings try to go for 704x480 in resolution for KVCDx3! I tried it, and I only had to drop CQ by 2 compared to the 544x480 resolution! I think it's a better way to get sharpness than applying sharpness filters or using lanczos...

BtW Boulder: what is DCT Filter doing?

Boulder 02-22-2003 01:21 PM

I'm not exactly sure since I don't know much about maths :roll:

Here's a link to the official thread:

http://forum.doom9.org/showthread.php?s=&threadid=38539

The settings I use are generally recommended, they don't seem to wipe out any details and do increase compression a bit.

kwag 02-22-2003 01:49 PM

Quote:

Originally Posted by Jellygoose
kwag, with these new settings try to go for 704x480 in resolution for KVCDx3! I tried it, and I only had to drop CQ by 2 compared to the 544x480 resolution! I think it's a better way to get sharpness than applying sharpness filters or using lanczos...

Hi Jellygoose,

I tried a clip at 704x480 and 528x480 on my HDTV, and the difference is almost barely visible. I'll settle for 528x480, because now I can raise the CQ 2 to 3 clicks, and that makes a HUGE quality difference specially on static walls and motion object :D
I'm doing a full encode again of S1M0NE just to compare my previous encode 8)

-kwag

KingTuk 02-22-2003 02:07 PM

here is the DCT filter for avisynth 2.07

http://www.jungleweb.net/~sansgrip/DctFilter_YUY2.zip

and the suggested settings

DctFilter(1,1,1,1,1,.5,.5,0)

***also you are supposed to use the filter on resolutions that are a multiple of 16

rendalunit 02-22-2003 02:08 PM

hi,

my results were the opposite 8O
With one minute high motion scene from "the Bourne Identity" (car chase)

with bilinear
Code:

Mpeg2Source("D:\encoding\mergechroma\test.d2v")
LegalClip()

mergechroma(blur(1.58))
mergeluma(blur(1.58))

BilinearResize(512,344,3,0,714,480)
AddBorders(8,68,8,68)
LegalClip()

file size @cq-100 15.125mb

with lanczos
Code:

Mpeg2Source("D:\encoding\mergechroma\test.d2v")
LegalClip()

mergechroma(blur(1.58))
mergeluma(blur(1.58))

LanczosResize(512,344,3,0,714,480)
AddBorders(8,68,8,68)
LegalClip()

file size @cq-100 15.319mb

I'll try a sample with Sampler(length=24) next..

mfb 02-22-2003 02:40 PM

Hi All,

I did some test with MergeChroma/Luma(blur(1.58)) and sharpening on
American Beauty predicted to a CDR-90:

[/code]
inital-script:

Mpeg2Source("D:\Beauty\beauty.d2v")
LegalClip()

MergeChroma(blur(1.58))
MergeLuma(blur(1.58))
BilinearResize(512,352,39,74,642,426)
SpaceDust()
TemporalCleaner()
Blockbuster(method="noise", detail_min=1, detail_max=10, variance=0.3, seed=1)

AddBorders(16,112,16,112)
LegalClip()
Code:




without MergeChroma/Luma(blur(1.58)):

    14.755 KB  American Beauty (544x576) x3 CQ72



with MergeChroma/Luma(blur(1.58)):       

  12.647 KB  American Beauty (544x576) x3 CQ72 -LanzcosResize               
  12.586 KB  American Beauty (544x576) x3 CQ72 -BlockBuster Sharpen (strength=7)
  12.294 KB  American Beauty (544x576) x3 CQ72 -BilinearResize


I think the versions with MergeChroma/Luma are to blurry even if i use
LanczosResize or BlockBuster-Sharpen the one without them is clearly better but there is a big benefit in filesize. Maybe strength of blur should
be decreased...

regards, ***mfb***

[/quote]

kwag 02-22-2003 02:46 PM

Looks to me like this is going to be another long thread :mrgreen:
Yes mfb, the value of mergeluma(blur( 1.58 )) is probably too high. Next step is to play with that value :wink:

-kwag

kwag 02-22-2003 06:11 PM

Here's what I've been playing with:

Code:

mergechroma(blur(1.58))
mergeluma(blur(0.8))

I really didn't get any notable file size difference by using DCTFilter in conjunction with these two filters.

This is the script I'm currently using to test, and the results are really awsome:

Code:

LoadPlugin("C:\encoding\mpeg2dec.dll")
LoadPlugin("C:\encoding\GripFit_preview.dll")
LoadPlugin("C:\encoding\blockbuster.dll")
LoadPlugin("C:\encoding\legalclip.dll")
LoadPlugin("C:\encoding\sampler.dll")
LoadPlugin("C:\encoding\dustv5.dll")
LoadPlugin("C:\encoding\temporalcleanerold.dll")

Mpeg2Source("K:\S1M0NE_WS\VIDEO_TS\simone.d2v")
LegalClip()
mergechroma(blur( 1.58 ))
mergeluma(blur( 0.8 ))
GripCrop( width=528, height=480, overscan=2 )
GripSize()
SpaceDust()
TemporalCleaner()
Blockbuster(method="sharpen", detail_min=1, detail_max=99, strength=15)
GripBorders()
LegalClip()
Sampler(length=24)

I lowered the value in mergeluma to 0.8 and now the sharpness is retained far more that with a value of 1.0+
My new sampler went down from 14,844KB to 13,085 with almost no visual difference. Now that's a lot in terms of quality/size for a two hour movie :D

Edit: A couple of test clips follow in the next few minutes...

-kwag

kwag 02-22-2003 07:03 PM

Here are the tests:

With filters mergechroma(blur( 1.58 )) and mergeluma(blur( 0.8 )) : http://www.kvcd.net/film-chromaluma.m1v file size 460KB
Without filters: http://www.kvcd.net/film-no-chromaluma.m1v file size 503KB

-kwag

jorel 02-22-2003 10:28 PM

Kwag,
:)

i was waiting if someone post his opinion........... :roll:
i download see the your samples in power dvd,zoomplayer and wmp7.1
and can't see diferences!

you see any?
:?

:?:

kwag 02-22-2003 10:59 PM

Quote:

Originally Posted by jorel
Kwag,
:)

i was waiting if someone post his opinion........... :roll:
i download see the your samples in power dvd,zoomplayer and wmp7.1
and can't see diferences!

you see any?
:?

:?:

Very little. But I tweaked this even further to increase sharpness by lowering the value on mergeluma and adding more spatial and temporal filters. This is called "Maniac filtering :lol: :



Code:

LoadPlugin("C:\encoding\mpeg2dec.dll")
LoadPlugin("C:\encoding\GripFit_preview.dll")
LoadPlugin("C:\encoding\blockbuster.dll")
LoadPlugin("C:\encoding\legalclip.dll")
LoadPlugin("C:\encoding\sampler.dll")
LoadPlugin("C:\encoding\dustv5.dll")
LoadPlugin("C:\encoding\nomosmooth.dll")
LoadPlugin("C:\encoding\fluxsmooth.dll")
LoadPlugin("C:\encoding\convolution3d")
LoadPlugin("C:\encoding\dctfilter_YUY2")

Mpeg2Source("K:\S1M0NE_WS\VIDEO_TS\simone.d2v")
LegalClip()
mergechroma(blur(1.58))
mergeluma(blur(0.6))
GripCrop( width=528, height=480, overscan=2 )
GripSize()
SpaceDust()
FluxSmooth(7,7)
NoMoSmooth(40,1,6,1,3,false)
Convolution3d(preset="movieHQ")
Blockbuster(method="sharpen", detail_min=1, detail_max=99, strength=15)
GripBorders()
LegalClip()
Sampler(length=24)

This is my latest test script using CQ=70, and look now how this KVCDx3 would look ( complete movie 131 minutes, 14 seconds on one CD 8O ) : http://www.kvcd.net/s1m0ne-test.mpg :lol: ( 10 second clip )

-kwag

rendalunit 02-22-2003 11:24 PM

I found the first sample of S1MONE w/mergechroma and luna a wee bit too blurry- maybe slightly lower settings can help me- but that's damn good compression!!

btw- you might find this script helpful for comparing m1v clips:

Code:

# Compare .m1v clips

LoadPlugin("C:\encoding\MPEGDecoder.dll")      # http://nic.dnsalias.com/
LoadPlugin("C:\encoding\RemoveBorders.dll")    # http://www.jungleweb.net/~sansgrip/avisynth/

Title_Clip_a = "no chroma luma"
Title_Clip_b = "chroma luma"

a=MPEGsource("C:\film-no-chromaluma.m1v"). RemoveBorders(). subtitle(Title_Clip_a)
b=MPEGsource("C:\film-chromaluma.m1v"). RemoveBorders(). subtitle(Title_Clip_b)

StackVertical(a,b)


jorel 02-22-2003 11:26 PM

:wink: @ Kwag and "friendalunit"

really good....and thanks for scripts!

ps:
:evil:
now i'm mad.
my last beer broke the ring..... searching for a :hammer: to open this!

kwag 02-22-2003 11:33 PM

Quote:

Originally Posted by rendalunit
btw- you might find this script helpful for comparing m1v clips:

Code:

# Compare .m1v clips

LoadPlugin("C:\encoding\MPEGDecoder.dll")      # http://nic.dnsalias.com/
LoadPlugin("C:\encoding\RemoveBorders.dll")    # http://www.jungleweb.net/~sansgrip/avisynth/

Title_Clip_a = "no chroma luma"
Title_Clip_b = "chroma luma"

a=MPEGsource("C:\film-no-chromaluma.m1v"). RemoveBorders(). subtitle(Title_Clip_a)
b=MPEGsource("C:\film-chromaluma.m1v"). RemoveBorders(). subtitle(Title_Clip_b)

StackVertical(a,b)


Thanks ren,
Now that's one more for my toolbox :D.
Here's the one I've been using:

Code:

clip1 = directshowsource("k:\film1.m1v")
clip1 = clip1.Subtitle("Clip-1")

clip2 = directshowsource("k:\film2.m1v")
clip2 = clip2.Subtitle("Clip-2")

StackVertical(clip1, clip2)
#Levels(0, 1.5, 255, 16, 255)
ConvertToRGB()

-kwag

kwag 02-22-2003 11:41 PM

Quote:

Originally Posted by jorel
:wink: @ Kwag and "friendalunit"

really good....and thanks for scripts!

ps:
:evil:
now i'm mad.
my last beer broke the ring..... searching for a :hammer: to open this!

Ahh!, well, I'm having a little red wine today. Just opened a bottle of Spanish wine of "Torre Oria" (1994) :mrgreen:
So I'll be a little :Drunk: in a while :lol:

Opps 8O, kwag, this is not a chat room. Breaking rule #9,019234.0 will send you to a corner for 2 hours with a :dunce:

:mrgreen:

-kwag

jorel 02-22-2003 11:45 PM

:lol:

and without wine or beer,only water.

oh no,this is hell! 8O

:lol:

heyitsme 02-23-2003 12:12 AM

I love this forum. Not only for the talented people that provide their knowledge but for the fact everybody has a little fun. I get plently of laughs just reading some your guys posts.
Quote:

Opps , kwag, this is not a chat room. Breaking rule #9,019234.0 will send you to a corner for 2 hours with a
Kwag you crack me up man! Thanks Jellygoosse for bringing this mergechroma to our attention!

Branden
[/quote]

kwag 02-23-2003 12:20 AM

Quote:

Originally Posted by heyitsme
Kwag you crack me up man!

Have a beer Branden :mrgreen:
Quote:

Thanks Jellygoosse for bringing this mergechroma to our attention!
Yeah, I just knew this thread was going to take us somewhere :lol:. These filters really make a huge difference. Anyone encoding at 352x240(288) with all these filters added up, can actually encode with CQ=100 and get a ~120 minute movie on one CD 8O, and even at CQ=100, sampler size is still below wanted size (on most movies) :mrgreen:

-kwag

Jellygoose 02-23-2003 10:18 AM

Guys I just hate this time difference! Everybody is having a beer while I'm sleeping... :?
Someday we just have to meet at a special time and just get drunk online and chat... then we copy-paste the whole session and post it in the forum somewhere :lol: .

As for the "Maniac Filtering"... I really like the clip you posted. But I don't know if this is maybe a little too much filtering... Well I think the results speak for themselves, but since I haven't seen the DVD I can't compare... still MergeChroma and MergeLuma just have been deported to my standardscript... :lol:

KingTuk 02-23-2003 11:26 AM

Kwag,

As long as you are going for "Maniac" filtering...

try putting your NoMo settings to

NoMoSmooth(30,2,6,2,6)

so it will be more aggressive to motion...

Also did you try

DctFilter(1,1,1,1,1,.5,.5,0) before spacedust() in your script?

some movies the dctfilter works good on and others very little...

jamesp 02-23-2003 11:26 AM

WOW - KWAG Strikes again! My results using a 1 minute analogue tv capture using KDVD:

No Filtering at all : 32mb
PixieDust + Temporal Cleaner : 23 mb
Pixie Dust + Temporal Cleaner + DCT Filter - 22mb
Pixie Dust + Temporal Cleaner + Merge Chorma + Merge Luma - 17.5mb !!!!! :D

Can't see a lot of difference on my pc, although the one with the 2 merge statements seems a little softer, its still sharper than using fluxsmooth and temporalsmoother. Will try a whole film and see if the wife notices a difference!

Jim

KingTuk 02-23-2003 11:46 AM

jamesp,

Instead of Pixiedust...
try

spacedust()
NoMoSmooth(30,2,6,2,6)

same results or better in less time...

kwag 02-23-2003 02:00 PM

Quote:

Originally Posted by KingTuk
Kwag,

As long as you are going for "Maniac" filtering...

try putting your NoMo settings to

NoMoSmooth(30,2,6,2,6)

I already did, but I used other values on the script :D. I also used Lanczos and dropped BLockbuster(sharpen) and a couple of small adjustments. Here's the final script I used last night to encode the complete S1M0NE movie:



Code:

LoadPlugin("C:\encoding\mpeg2dec.dll")
LoadPlugin("C:\encoding\GripFit_preview.dll")
LoadPlugin("C:\encoding\blockbuster.dll")
LoadPlugin("C:\encoding\legalclip.dll")
LoadPlugin("C:\encoding\sampler.dll")
LoadPlugin("C:\encoding\dustv5.dll")
LoadPlugin("C:\encoding\temporalcleanerold.dll")
LoadPlugin("C:\encoding\nomosmooth.dll")
LoadPlugin("C:\encoding\fluxsmooth.dll")
LoadPlugin("C:\encoding\convolution3d")

Mpeg2Source("K:\S1M0NE_WS\VIDEO_TS\simone.d2v")
LegalClip()
mergechroma(blur(1.58))
mergeluma(blur(0.6))
GripCrop( width=528, height=480, overscan=2 )
GripSize(resizer="lanczosresize")
SpaceDust()
FluxSmooth(7,7)
NoMoSmooth(40,1,6,1,3,false)
Convolution3d(preset="movieHQ")
GripBorders()
LegalClip()
#Sampler(length=24)

Quote:


Also did you try

DctFilter(1,1,1,1,1,.5,.5,0) before spacedust() in your script?
Yes I did, but there's was no significant difference in size or quality when used with all the filters above.
Here's what I got with these settings and a CQ value of 71: http://www.kvcd.net/s1m0ne-final.mpg

Remember, this script is just a test. Do not pass go. Do not collect $200 dollars :mrgreen:

-kwag

GFR 02-24-2003 06:59 AM

What about trying the merge* filters after resize?

urban tec 02-24-2003 07:21 AM

I wondered how long it would take till one of these threads got started

Thanks Jellygoose!

I too hate this time difference, it all happens while I am sleeping.

Quote:

Yeah, I just knew this thread was going to take us somewhere . These filters really make a huge difference. Anyone encoding at 352x240(288) with all these filters added up, can actually encode with CQ=100 and get a ~120 minute movie on one CD , and even at CQ=100, sampler size is still below wanted size (on most movies)
Maybe a full movie on one floppy is dreaming :) but how about on one of the 200mb mini disks this could have ramifactions for the pocket pc encodes 8)

Boulder 02-24-2003 07:57 AM

@all: If you use DCTFilter, it should be used as the last filtering item in your script. LegalClip/Limiter and Sampler should be after it, of course, but other than that keep it as the last item. The author, Tom Barry, suggested this himself. The filter zeroes some DCT coefficients and the zeros are the ones that increase compression IIRC.

Tom has also released a new version of the filter which includes diagonal filtering. I posted the link earlier in this thread, check it out if you're interested.

kwag 02-24-2003 08:20 AM

Thanks for that tip Boulder :!:
I'll try that later this afternoon. I had the DCTFilter on top :oops:
So that's probably why I didn't get the effect of more compression :roll: .

-kwag

kwag 02-24-2003 02:29 PM

Hi boulder,

Ok I tried DCTFIlter after all filters and before the last GripBorders(), but I guess all filters above are already doing a superb job, and the difference was only 102KB smaller on a full sampler run. There is no visual difference at all with or without DCTFilter. Here's the script I tried:



Code:

LoadPlugin("C:\encoding\mpeg2dec.dll")
LoadPlugin("C:\encoding\GripFit_preview.dll")
LoadPlugin("C:\encoding\blockbuster.dll")
LoadPlugin("C:\encoding\legalclip.dll")
LoadPlugin("C:\encoding\sampler.dll")
LoadPlugin("C:\encoding\dustv5.dll")
LoadPlugin("C:\encoding\temporalcleanerold.dll")
LoadPlugin("C:\encoding\nomosmooth.dll")
LoadPlugin("C:\encoding\fluxsmooth.dll")
LoadPlugin("C:\encoding\convolution3d")
LoadPlugin("C:\encoding\dctfilter_YUY2")

Mpeg2Source("K:\S1M0NE_WS\VIDEO_TS\simone.d2v")
LegalClip()
mergechroma(blur(1.58))
mergeluma(blur(0.6))
GripCrop( width=528, height=480, overscan=2 )
GripSize(resizer="lanczosresize")
SpaceDust()
FluxSmooth(7,7)
NoMoSmooth(40,1,6,1,3,false)
Convolution3d(preset="movieHQ")
DctFilter(1,1,1,1,1,1,.5,0)
GripBorders()
LegalClip()
Sampler(length=24)

-kwag

Jellygoose 02-24-2003 02:40 PM

Hi kwag!

On my sample-run of "51st State" the DCT-Filter saved me 563kb compared to the script only with MergeChroma and MergeLuma... It's not a lot but maybe a couple of MBs in the complete movie... I think it depends on the source... since it's a quite fast filter I'll leave it in my standardscript...

kwag 02-24-2003 02:48 PM

Quote:

Originally Posted by Jellygoose
since it's a quite fast filter I'll leave it in my standardscript...

Good idea :idea:
I will too 8)

-kwag

jamesp 02-24-2003 04:46 PM

Hi all. I've been running a few tests. Does anyone else think using both the merge statements actually makes the image look too blurry?

kwag 02-24-2003 05:02 PM

Quote:

Originally Posted by jamesp
Hi all. I've been running a few tests. Does anyone else think using both the merge statements actually makes the image look too blurry?

You can drop this line: mergeluma(blur(0.6)) and it will look sharper, but your file size will increase. Or you can lower the blur value to increase sharpness.
Viewed on regular TV's, it looks about the same with or without the filters. On a HDTV, it clearly looks much softer. As I said above on a previous post, the script is only for test purpose :wink:

-kwag

jamesp 02-24-2003 05:07 PM

Quote:

Originally Posted by kwag
Quote:

Originally Posted by jamesp
Hi all. I've been running a few tests. Does anyone else think using both the merge statements actually makes the image look too blurry?

You can drop this line: mergeluma(blur(0.6)) and it will look sharper, but your file size will increase. Or you can lower the blur value to increase sharpness.
Viewed on regular TV's, it looks about the same with or without the filters. On a HDTV, it clearly looks much softer. As I said above on a previous post, the script is only for test purpose :wink:

-kwag

And testing is Fun :D

Actually, if i drop the Mergeluma line i hardly get any extra compression at all. I'm going to experiment with reducing the value. Any ideas how this filter actually works? Does the video actually get blurred or does it merge information from the blurred video into the proper video. Could we pass another filter into it, like spacedust or temporal cleaner? :?

Jim

kwag 02-24-2003 05:10 PM

Quote:

Originally Posted by jamesp
Could we pass another filter into it, like spacedust or temporal cleaner? :?

Jim

Hi Jim,

Well, you already have NoMo and SpaceDust in there, so I don't think there is need to add another temporal or spatial filter :roll:

-kwag


All times are GMT -5. The time now is 11:05 AM  —  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.