Log in

View Full Version : What Can Combat This Noise?


EpheMeroN
13th October 2005, 20:41
I recently started capturing hdtv streams off my Motorola receiver using the firewire outputs located on the back. Although this captures all the digital streams perfect, bit-for-bit, when I capture any analog channel, lots of strange noise gets introduced into the picture, and I have no ideas how to get rid of it.

Below are two sample clips I took from an analog channel. Clip1 is a relatively still video, and Clip2 has heavy motion.

Clip1: http://rapidshare.de/files/6242634/clip1.mpg.html

Clip2: http://rapidshare.de/files/6242720/clip2.mpg.html

Revgen
13th October 2005, 23:03
The "noise" is interlacing and DCT compression blocks.

I recommend mvbob (http://forum.doom9.org/showthread.php?p=606487#post606487) to get rid of the interlacing.

I'm not sure exactly the best way to get rid of the blocks. Try SPP from FFDshow and see how that works by using ffdshow("default"). Make sure you enable SPP in the ffdshow video decoder menu or else it won't work.

I think there are MVtools based deblockers out there too that also might work.

EDIT

This recommendation is based on what I saw in Clip 1.

Also make sure to use assumetff() before you use mvbob. You source is interlaced top field first.

EpheMeroN
14th October 2005, 00:17
Hey. I'm not worried about the interlacing. I'm going to encode this to DVD, so keeping it interlaced will yield better quality, and more fluid motion. I do notice though that almost all of the noise is from DCT blocking. It's strange because there are no blocks until I start the capture. Maybe the analog to digital conversion causes it? I don't think a standard cpu=4 call from DGDecode will suffice for this. There's also quite a bit of graininess to the picture, and I know a smoother can usually rid that effectively, but I would rather not smooth because I want to retain as much detail and fluidity in the video as possible.

Revgen
14th October 2005, 00:25
mvbob bobs your video to 60fps, therefore retaining fluid motion. Deinterlacing your video makes it easier for a deblocker to do it's job.

After you deblock you can then use:

SeparateFields()
SelectEvery(4,0,3)
weave()

To turn it back to 30i video again.

MfA
14th October 2005, 00:47
Looking around a bit it is impossible to change the bitrate of the encoding for analog channels, and noone has hacked the box yet. You can clean it up, but when you start with bad encoding everything which follows is never going to be very good anymore.

Mug Funky
14th October 2005, 06:41
Deinterlacing your video makes it easier for a deblocker to do it's job.
don't know about that. ipp=true does it pretty well too. mvbob is too slow to be used willy-nilly, and isn't a reversible process (separatefields.selectevery(4,1,2) will not yield the same video as the input). separating fields is probably a better thing to feed a deblocker with if it can't handle interlaced stuff. also, mvbob tends to add more blocking :)

btw: ephemeron, you could try funkydeblock (damn, i'm starting to regret calling it that...) with ipp=true. it just passes it on to blindpp which is doing all the work. of course, if the blocks are too bad (or on detailed areas like flailing limbs i discovered yesterday) it might miss some of the blocks.

EpheMeroN
14th October 2005, 08:21
So I'd do this? FunkyDeblock(ipp=true)

Also, what can I use to remove the graininess to the picture without smoothing over it and losing detail and sharpness?

Revgen
14th October 2005, 08:30
...mvbob is too slow to be used willy-nilly, and isn't a reversible process (separatefields.selectevery(4,1,2) will not yield the same video as the input).

It doesn't have to be the same as the input, it just has to be interlaced. I've used it so I could encode clips to DVD. Never had a problem.


separating fields is probably a better thing to feed a deblocker with if it can't handle interlaced stuff. also, mvbob tends to add more blocking :)

You are right about separating the fields instead of using mvbob. That would be easier. Never thought about it.

As for mvbob adding more blocking, I'm a bit surprised. I've never experienced any blocking when using mvbob at all. What kind of material does this occur with?


...you should try funkydeblock (damn, i'm starting to regret calling it that...)

I forgot about that one. I recall that it worked pretty good when used with poorly encoded DVD's. It might work with this one too.

foxyshadis
14th October 2005, 09:08
I like the name funkydeblock, it's cool. =p And I have a few bad huffyuv sources for it now too. Google video is awesome.

The only problem with separatefields + deblock is you only end up deblocking half the horizontal block edges, unless the filter does 4x8 and 8x8 blocks. Much better to just use an integrated interlaced parameter.