View Full Version : Banding problem (was "Macroblock")
hellsings
28th June 2007, 20:12
Hello everyone,
Another problem, i don't know how to fix this problem, when i use or not use filters like deen,blockbuster,mvdegrain.
I obtained bad quality :'(
So i put you a screenshot here :
http://img110.imageshack.us/img110/103/macroblockbm5.jpg (http://imageshack.us)
You can see the area highlight, but in other corner of the picture the quality is alaways bad :'(
And here the source :
http://img232.imageshack.us/img232/3706/originaloh2.jpg (http://imageshack.us)
Thanks for your answer.
AVIL
28th June 2007, 21:37
Hi,
I use MSU's smart deblocking virtualdub filter (thru avisynth) and i'm very pleased with the results
Find it in
http://www.compression.ru/video/deblocking/smartdeblocking_en.html
Good luck
hellsings
29th June 2007, 06:53
This filter don't work at all, like deblock or another filter, it's really strange when I play this video on my PC i don't really see macroblock, but when i play it on my TV i notice it.
Pixel on the area highlight are on movement...
So i upload you a fragment of vob here :
http://www.4shared.com/file/18851309/492aa009/okiku.html
Thanks for your help AVIL and others maybe :)
hellsings
29th June 2007, 08:07
I have fix one problem with my resize, maybe it's the cause of macroblock on TV ???
hellsings
29th June 2007, 10:09
I don't know how to know the real resolution of my video, with dgindex he tell me 720/480 NTSC standart ???
And on my player i get 852/480 NTSC standart too ???
hellsings
29th June 2007, 14:24
Yeah probably it's the resize which make macroblocking, my source is probably 852/480, so i crop to 712/400 which assume an aspect ratio of 1.78 for 1.775. I think it's reasonable :)
http://img89.imageshack.us/img89/3728/finaljk1.jpg (http://imageshack.us)
Guest
30th June 2007, 00:11
Those are not macroblocks because their size is too small.
Your encoded frame size is 720x480 but it's flagged as 16:9 aspect ratio.
hellsings
30th June 2007, 06:43
Yep, in my xvid codec i put the flag to 16:9, but in my player he doesn't assume the flag :'(
And Macroblock no, just on my television :), probably it's just the noise on my screenshot :)
For the resolution see here :
http://img413.imageshack.us/img413/5913/informationfc5.jpg (http://imageshack.us)
Shot at 2007-06-29
I don't know how i get two different resolution :s
Thanks for your answer :)
Blue_MiSfit
30th June 2007, 07:10
Well, your video is encoded as 720x480.
However, source is anamorphic with a 16:9 aspect ratio, so if you view the raw encoded contents at 720x480, it will look too tall. You can do one of two things.
1) Stretch (shrink) the image vertically. This decreases vertical resolution
2) Stretch (expand) the image horizontally. This keeps all the vertical resolution, but has to interpolate horizontally. This is preferable IMO, because you don't lose much detail, and vertical resolution is much more important. Interpolation is preferable to throwing away pixels :)
So, 16/9 - ~1.78. 1.78*480 = ~854. Your display resolution is 852x480. Close enough :D
This is the way to go IMHO!
Now, regarding those artifacts. I see chroma noise. Try fft3dfilter(plane=3, sigma=2), and see what happens :) Maybe add CPU=4 or CPU=6 to your MPEG2Source, to deblock.
~MiSfit
hellsings
30th June 2007, 10:58
Thanks for your information Blue_Misfit.
Mvdegrain or fft3dfilter don't work too bad :)
Now if I try to use same filters for other part of my dvd source, i can see macroblocking :'( so I use msu or deblock but no one work :/
To see if it's my script which produce this effect i remove all my filters but macroblock is still on the pictures...
Source :
http://img125.imageshack.us/img125/5739/vlcsnap163640xf6.png (http://imageshack.us)
Filter :
http://img519.imageshack.us/img519/6219/vlcsnap161731tz1.png (http://imageshack.us)
Thanks for your answer again :)
hellsings
30th June 2007, 11:34
Finally i try to noise this part, and the results is very good, another filters like deblock, msu don't work at all very strange maybe block effect is to high to fix this effect ??
http://img510.imageshack.us/img510/5346/vlcsnap183343yn3.png (http://imageshack.us)
Results : no effect of blocking :)
Guest
30th June 2007, 12:58
I told you that is not macroblocking, so a deblocking filter won't help you! Deblocking filters are designed to operate on macroblocks.
hellsings
30th June 2007, 14:03
Neuron2 on my television i see macroblock however...
My screenshot are maybe too bad to see :'(
Guest
30th June 2007, 14:08
You don't know what a macroblock is.
hellsings
30th June 2007, 14:14
If you have an example please show me :)
Thanks neuron2
Guest
30th June 2007, 14:38
http://neuron2.net/misc/macroblocks.png
hellsings
30th June 2007, 14:47
Ok i see now what is macroblock effect :)
With some source pixels are on movement, if you use deen normally or too high you can see a wave of pixels on your video.
What is the name for this effect ???
http://img185.imageshack.us/img185/6035/macropv6.png (http://imageshack.us)
Like this screenshot with high smoothing deen
Leak
30th June 2007, 17:41
What is the name for this effect ???
Looks like banding to me - GradFun2Db (http://forum.doom9.org/showthread.php?p=799599) could help with that.
It's also available in ffdshow as the DeBand filter, if you want to use it while playing back video, where it makes more sense, since most banding is introduced by the codec itself.
np: The Orb - Ba'albeck (Orb Sessions Volume 2)
foxyshadis
30th June 2007, 17:45
Banding. I do see some banding, sure, and a debanding filter on playback or an infusion of noise (addgrain, blockbuster, etc) would fix that, and may help minimize the effect of a bad monitor.
You might be seeing some effect that isn't there. Do you have an LCD monitor with a wide color gamut? Many cheaper models only have 6-bit color, and even better ones often cut corners with 7-bit. I ask because I see no microblocking at all, unless I raise the contrast enormously; that would explain why you can see it but can't get rid of it, and why no one else can really see it. It also makes banding much worse.
hellsings
30th June 2007, 18:34
Ok thanks you two, foxyshadis of course addgrain or noisegenerator is perfect but make big size and i can't control the size with xvid codec, but this solution work good :)
For macroblock problem maybe it's my television with high contrast :)
Leak, i think i should try your filter "gradfun2db" to see if that fix my problem without adding noise to fix banding :)
Again thanks :)
hellsings
30th June 2007, 18:52
That doesn't work, it's very simple banding was generated by deen, high smoothing to show you what i call macroblock, and like neuron2 said it's not macroblock sorry again neuron2 and thanks for your information :)
So high smoothing generate high banding but the problem here is surely the codec itself which make this kind of banding and gradfun2db don't work very well.
I think the only solution is to add some noise :) or maybe high threshold with gradfun2db ??
Didée
30th June 2007, 21:12
Gradfun2db / DeBand ususally work pretty well. Did you use gradfun2db (in the avs script) for encoding, or did you use DeBand (in ffdshow) during playback? :)
hellsings
30th June 2007, 21:25
In avs script didée :)
My source don't banding :) it's just when i encode to xvid
For medium or strong banding what is the threshold your recommended didée ??
Thanks for your help :)
Didée
30th June 2007, 21:58
In avs script didée :)
And that's exactly where it does not help. Applying gradfun2db before encoding is like ... do you know of an ancient Greek named "Sisyphus"? ;)
Use ffdshow's DeBand during playback of your encoded file. Thresh as low as possible, but as high as needed to remove the banding.
Blue_MiSfit
30th June 2007, 22:50
I would suggest setting up you ffdshow something like this:
http://dpresteg.googlepages.com/ffdshow-video.png
Adjust luma levels to your choosing. Everything is unchecked, and all other options are at defaults.
The luma noise really goes a long way to mask gradients.
Of course, you could use gradfun2db in AviSynth on playback as Didee suggested. Just add it to the AviSynth section of ffdshow, and enable AviSynth.
~MiSfit
Of course, you could use gradfun2db in AviSynth on playback as Didee suggested. Just add it to the AviSynth section of ffdshow, and enable AviSynth.
Errr... it's been included in ffdshow as the "DeBand" filter (with it's own configuration page, which you seem to have hidden) for ages since Milan included it before he up and disappeared...
Not that I wouldn't suggest using the AviSynth filter :D but in this case it's probably overkill...
np: Ellen Allien & Apparat - Leave Me Alone (Orchestra Of Bubbles)
Blue_MiSfit
1st July 2007, 01:01
ROFL, I had no idea :)
Yeah, I just enable the stuff I usually use. I had never tried DeBand..
hellsings
1st July 2007, 07:18
Ok, so deband work good only when you playback the video with some banding ?
I try with noise the results is not bad, in other way is the same method i use to hide banding with "noisegenerator" but generate when playback so no big size with xvid :)
But gradfun2db in avisynth section don't work at all :'( It's really banding ??
Blue_MiSfit
1st July 2007, 07:23
exactly, because those de-banding methods all dither to some extent. This dithering gets annhilated once you encode the video, so there's no point de-banding before encoding.
~MiSfit
hellsings
1st July 2007, 07:34
So the only method when you encoding is to use noisegenerator or addgrain ? :)
Curiously when i add noise when i encoding effect of banding is totally remove, but with ffdshow banding is still here, maybe it's my example with high smoothing which is very difficult to hide :)
Probably it's that or because my source have no effect of banding, add noise front of banding generate by the codec annhilated high effect which is difficult to hide after encoding...
And the big problem is 'adding noise' is a perfect solution but one source is unique, so you can use the same method on different source but in some case noise add is visible when you playback your video, and another bad point is the compression :'(
foxyshadis
1st July 2007, 21:46
It comes down to the fact that the formats video encoding uses can't preserve smooth gradients. Even RGB color in computers isn't perfect, but it's much better than subsampled 8-bit YUV. Fooling the eye with dithering is the only fix, whether it's film grain or noise, and codecs will naturally remove as much of it as they can to maximize compression (quant matrices can change this).
hellsings
2nd July 2007, 07:10
So you can limit the impact if you make a modification in the codec matrice ?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.