PDA

View Full Version : TV caps...


HaSh
7th April 2003, 07:21
Are there any filters made specifically for improving the quality of tv captures? My tv caps looks a bit grainy and was wondering if their were any filters out there that could help. Something for TV/VHS caps would be great. Thanx.

digitize
7th April 2003, 14:16
cnr2 cleans up much of this grain, then use temporal cleaner with pixel lock to clean up the luma. If some noise remains try a hybrid cleaner on light settings, something like c3d, or deen's a3d might work well (I haven't tried it, but it has temporal influence).

tuco
7th April 2003, 20:17
try posting a screenshot of you tv quality? It can vary a lot depending on the source. I personally only use fluxsmooth since my machine is slow and I can't use a bunch of filters at one time.

kaitsuburi
8th April 2003, 04:37
@hash --

I've been lurking around for over half a year now, reading the various advice and suggestions people share in the forums. I have a little notebook (it's almost full now) where I record settings/filters that have been recommended for accomplishing various tasks, and I've done extensive testing both with DVD and analog sources.

For analog noise cleanup, having tried a whole lot of filters/settings and read quite a few threads on the subject, I've found that for me, something along the lines of what Digitize suggests achieves a very pleasing effect. Consulting my little notebook ;) , here's what I use nowadays (I encode in XviD, using AVS 2.51 on captures through a Canopus ADVC-100):

cnr2().TemporalSoften(3,8,8,mode=2,scenechange=10)
Convolution3d(1,10,20,10,10,6,0)

Try this after crop and before resize. You can vary the resize method to fit your compression needs, but I usually stay with BicubicResize(xx,xx,0,0.4-0.6), SimpleResize(xx,xx) or BilinearResize(xx,xx). LanczosResize(xx,xx) produces a slightly unpleasant washing-out effect (not sure how exactly to describe it), perhaps due to the noisy nature of analog sources.

In any case, take all/any advice (mine included) with a grain of salt. "Good quality" is extremely subjective and it depends a lot on what source you have, how you're encoding, what you're aiming for, etc. Most of the advice recorded in my little notebook did not work for me. Some of it looked horrible, as a matter of fact ;)

-kaitsuburi

HaSh
8th April 2003, 07:27
ill give those settings and filters a shot. thx for the advice

digitize
8th April 2003, 16:52
Originally posted by kaitsuburi
cnr2().TemporalSoften(3,8,8,mode=2,scenechange=10)
Convolution3d(1,10,20,10,10,6,0)


You can't expect to get great results with settings that you just use for every source. Each source is different, and the filter settings need to be played around with until you get the best result. Also the convolution3d settings seem somewhat high, and the setting of 6 for the temporal influence is useless since vlad hasn't enabled temporal influence for avs2.5 yet. Also I'd prefer temporal cleaner, or marc fd's atc (which has pixel lock (helps clean up the analog noise)) over temporalsoften, I hear it gives ghosting quite easily. Just my opinion.
-digitize

Valky
8th April 2003, 16:59
..and I already gave those settings a shot. I have to admit that picture is without any noise, but it is also very dark and soft too.

Could be nice to try these same settings to some cartoon like Simpsons, since now I tried it with soap opera :)


Hmm.. I just noticed that there is something really wrong with this script..when using with autocrop. The screen gets some really horrible shocks from time to time. It's almost like someone is hitting the picture with sledge-hammer. Anyone knows what's going on? I capture to Pic18 res 384*576 and I use autocrop before this script and then I resize to 384x288. I haven't had these kind of 'hits' to screen with other filters and settings and I always use autocrop.

I am gonna try if this temporalsoften and ghosting has something to do with it..


Yes, it was temporalsoften filter that causes these shocks to the screen.

Hoox
8th April 2003, 23:45
How do you guys use Convolution3d with yuy2 in v2.51??
I thought it only supported yv12? :confused:

digitize
8th April 2003, 23:53
Well I never use yuy2 sources, but if i did need to use a yuy2 source and use filters that only supported yv12 all you do is: ConvertToYV12().

Valky
9th April 2003, 00:51
Originally posted by Hoox
How do you guys use Convolution3d with yuy2 in v2.51??
I thought it only supported yv12? :confused:

Here is a good example for you that I have used today many many times..just change the plugin directories to your own:


LoadPlugin("C:\SWIFT\Plugins\SimpleResize_YV12.dll")
LoadPlugin("C:\avs25\AutoCrop.dll")
LoadPlugin("C:\SWIFT\Plugins\Convolution3D_YV12.dll")
LoadPlugin("C:\SWIFT\Plugins\Cnr2_YV12.dll")

#SOURCE:
AviSource("E:\capture.avi", false)
ConvertToYV12()

AutoCrop(0,wMultOf=4, hMultOf=4)

Cnr2()
#TemporalSoften(3,8,8,mode=2,scenechange=10)
Convolution3d(1,10,20,10,10,0,0)

simpleresize(384,288)

Hoox
9th April 2003, 12:21
I got it to work. Almost..
The noise filtering is great, but at every scene change it jumps a few frames. I made a small sample for you to see. Sample (http://www.hoox.dk/test.zip)

I found out that it's because of TemporalSoften. Is there a way to deal with it?

This is the script used:

AVISource("H:\lflv.avi").ConvertToYV12()
Trim(243,38534)
Telecide(guide=2)
Crop(6,2,712,568)
cnr2().TemporalSoften(3,8,8,mode=2,scenechange=10)
Convolution3d(1,10,20,10,10,6,0)
BicubicResize(512,384,0,0.5)

Valky
9th April 2003, 14:30
well, I dont even had to download your sample cause I already know it's the excact same problem I mentione d above in my previous post. I hope shodan could see this thread and perhaps he can help.
And yes, it is caused by this Temporalsoften.


edit: this problem is fixed if you move the temporalsoften filter above Autocrop.

digitize
9th April 2003, 15:50
if you want something that cleans on the temporal level, I suggest using temporal cleaner or marc fd's atc. IMO temporal cleaner does a much better job, and atc has a pixel lock option, which will lock pixels across frames and in turn remove alot of noise.

Valky
9th April 2003, 16:04
Originally posted by digitize
if you want something that cleans on the temporal level, I suggest using temporal cleaner or marc fd's atc. IMO temporal cleaner does a much better job, and atc has a pixel lock option, which will lock pixels across frames and in turn remove alot of noise.

Well, Could you recommend me some some similiar settings so that I could test this Marc's filter cause I am not familiar with it.

I promised to capture all WC Hockey Game matches from TV to my finnish friend in USA so the filter chain should be pretty fast to encode too.

I will capture probably to PicVideo 18 384x288 and encode it to Divx 2-pass 800kbs or 1-pass Realmedia about 700kbs.

I was thinking about something like this:


AviSource("E:\capture\capture.avi", false)
ConvertToYV12()
TemporalSoften(3,8,8,mode=2,scenechange=10)
AutoCrop(0,wMultOf=4, hMultOf=4)
#
simpleresize(384,288)
Cnr2()
mergechroma(blur(1.58))
mergeluma(blur(0.2))
Convolution3d(1,10,20,10,10,0,0)

digitize
9th April 2003, 21:07
Nevermind that, I've been testing with marc fd's atc and well it just creates too many artifacts. I'd suggest sticking with temporal cleaner, just search for it and you'll find it.

Edit:
Oh yeah, for the filter chain i'd go with something like.

crop
resize
cnr2
temporalcleaner
c3d if needed

kaitsuburi
10th April 2003, 06:54
Originally posted by digitize
You can't expect to get great results with settings that you just use for every source. Each source is different, and the filter settings need to be played around with until you get the best result.

I totally agree. I do a lot of TV captures, which tend to be of similar nature, and the settings I suggested work well for me for most of those captures. For other analog sources, I might leave off C3D, add fluxsmooth or blur chroma, etc. For anime analog captures I change the script to include a 2D cleaner, etc.

Originally posted by digitize
Also the convolution3d settings seem somewhat high, and the setting of 6 for the temporal influence is useless since vlad hasn't enabled temporal influence for avs2.5 yet.

I wasn't aware of this. Thanks for the advice :)

I haven't experienced ghosting artifacts with temporalsoften, though I've read about them too. I will look closer :) Also, I will give temporal cleaner a try...

-kaitsuburi

mf
10th April 2003, 11:05
Just for testing, you might want to try this:
MergeChroma(MSmooth (http://shelob.mordor.net/dgraft/msmooth/msmooth.html)())
To get rid of rainbows/chroma noise. Will be slow though.

Valky
11th April 2003, 18:32
Well, I just wanted to share my testing results which clearly proved that at least in my case temporal-smoother didn't help anything.
It didn't help visual quality and of course my script is faster without it. Also average quant seems little bit lower when I encoded clips with Jonny's Divx enc tool both with same settings Divx 5.02 without b-frames, gmc or anything else. I used 2-pass 1025kbit.


Script 1 (without TS):

video=AviSource("E:\capture\capture.avi", false)
audio = wavsource("E:\capture\capture.wav")
video=audiodub(video,audio)
video=ConvertToYV12(video)
audio=delayaudio(audio,-0.1)

#video=TemporalSoften(video,3,4,4,mode=2,scenechange=10)
video=AutoCrop(video,0,wMultOf=4, hMultOf=4)
video=bicubicresize(video,384,288,0,0.6)

Video=deen(video,"a3d",3,6,1,6)
Video=unfilter(Video,-5,-5)
return(video)

Avg Quant 4.99 Time 00:02:02 size 6,628k

Script 2 (with TS):

video=AviSource("E:\capture\capture.avi", false)
audio = wavsource("E:\capture\capture.wav")
video=audiodub(video,audio)
video=ConvertToYV12(video)
audio=delayaudio(audio,-0.1)


video=TemporalSoften(video,3,4,4,mode=2,scenechange=10)
video=AutoCrop(video,0,wMultOf=4, hMultOf=4)

video=bicubicresize(video,384,288,0,0.6)
Video=deen(video,"a3d",3,6,1,6)


Avg Quant 5.29 Time 00:02:26 size 6,624k



I captured with PicMjpeg qual 18 and resolution 384x576.
And as you can see the first file contains Unfilter(-5,-5) but it is also faster little bit more than 30%

mf
11th April 2003, 20:22
Originally posted by Valky
I captured with PicMjpeg qual 18 and resolution 384x576.
And as you can see the first file contains Unfilter(-5,-5) but it is also faster little bit more than 30%
Don't capture at such low resolutions.

Valky
11th April 2003, 23:29
Originally posted by mf
Don't capture at such low resolutions.

Excuse me? On what grounds? No offence, but my capture resolution is my own decision and I guess it hasn't got much to do with the things I tested.

I dont see anything wrong with that capture resolution? And it's about the best thing I can get with my VIA motherboard and with my low-capacity HD otherwise I am getting some nasty green lines all over the picture (it's been discussed on other thread).
And I have always been satisfied with the results when I watch them on my TV.

And your post was pretty silly anyway..you dont even know what my source was..could have been vhs-tape. Try even add some details or reasons for such comments..

mf
12th April 2003, 11:29
Originally posted by Valky
Excuse me? On what grounds? No offence, but my capture resolution is my own decision and I guess it hasn't got much to do with the things I tested.

I dont see anything wrong with that capture resolution? And it's about the best thing I can get with my VIA motherboard and with my low-capacity HD otherwise I am getting some nasty green lines all over the picture (it's been discussed on other thread).
And I have always been satisfied with the results when I watch them on my TV.

And your post was pretty silly anyway..you dont even know what my source was..could have been vhs-tape. Try even add some details or reasons for such comments..
Well basically at such low resolutions there's not much filtering to do. Ok so I didn't know about your hardware limitations, but in any other case it's best to capture at the max res. Even with VHS. Logic like "VHS' anolog resolution isn't higher than 320x240" (or whatever low res you want to use) doesn't make sense either, because it's analog. How blurry something might be, anolog means a virtually infinite resolution. So even with VHS you're throwing things away if you're capturing low. And then there's the thing with discarding pixels (nearest neighbour sizing) being much uglier than averaging them (bilinear or bicubic sizing). And noisier too.
Anyway. I don't really know how well these filters operate on lores sources. I see from your script you're doing a bicubic resize (good!), but what's the use if you use a denoiser after it. In any case it doesn't help the quality much :). Anyway, it seems the big problem is in your hardware. The only thing I can say for better captures is save some money for something with which you can capture full-res, so you can have better filtering, you can always downsize it later again. But then I don't know your financial status at the moment or whatelse, so I dunno :D. At least I don't see much improvement to be made as it is now. But then again I'm not that much of a capturing guru.