View Full Version : Need help cleaning up some footage. (pic included)
mimage
1st December 2005, 12:22
I think what they call this problem is dot crawl. I've gotten rid of the problem before like a year ago in Avisynth or Vdub but I don't exactly remember how I did. There was a site I went to that had descriptions and examples of the problem and there own filters to use to get rid of them.. sites like this.
http://www.compression.ru/video/index_en.htm
I'd like to get rid of the problem in Avisynth.. so if you know any good settings/filters for fixing this let me know. Here's an example of the problem..
http://img182.imageshack.us/img182/347/screenhunter0025xp.jpg
http://img241.imageshack.us/img241/2387/cap25ba.gif
Notice the dot's in the image? If you know any good way of fixing this, please let me know.
Guest
1st December 2005, 14:58
Use search: "dot crawl"
:search:
mimage
1st December 2005, 15:17
Well you see the problem.. no? Just wanted some suggestions. I've cleaned it up with some dotcrawl filters but I know there's probably quite a few out there I don't know much about. I've used Undot, dedot, Guava Comb, and maybe some others that do the same sort of thing. I was just looking for suggestions. I've already been to a lot of sites that talk about them.
http://www.michaeldvd.com.au/Articles/VideoArtefacts/VideoArtefactsDotCrawl.html
So yeah.. I guess I get the basic idea of what it is.. still don't see the harm in asking people for suggestions on fixing it. :(
Guest
1st December 2005, 15:35
Why duplicate the existing threads? Everything we know about it is there in existing threads. If you had some unique new problem or perspective, a new thread would be justified, but this is just typical dot crawl.
mimage
1st December 2005, 15:37
alright. sorry then.
Didée
1st December 2005, 16:48
Everything we know about it is there in existing threads. Surely everything?
"Well, not entirely... One small village of indomitable Gauls still holds out ..." ;)
Can't remember that deep temporal filtering, by means of motion compensation to also catch moving image parts, was ever mentioned. Always wondered why ... it's an obvious approach to combat the problem, and once I used it sucessfully on a music clip that suffered from really *strong* dot crawl.
Guest
1st December 2005, 18:24
That qualifies as a new perspective, then.
So, lay it on us.
Didée
2nd December 2005, 08:51
LTSMC probably will do it more or less natively - even the old raw version already does so. But the planned Xmas present is another one ... one step after the other. ;)
Mug Funky
2nd December 2005, 09:32
out of curiosity, what DVD is this from - title and region, if possible. also, format would help (NTSC or PAL?). i see what looks like deinterlace artefacts in the very top line of that screenshot you've given (exactly the sort that low-threshold leakkernelbob gives when fed an analog source with dot crawls).
Didee - that sounds very interesting, if a little slow :)
one terminal problem with dot crawls (and DeDot) is that they're a real pain to remove after standards-conversion has taken place.
also, if something's gone through 2 or more generations as composite video (ie tapes dubbed through composite from an ex-composite source is quite common), the dot crawls don't match and make it impossible for DeDot to remove.
i could show you a source like this. it'll make your eyes bleed out your wide-open mouth :) huge dot-crawls, rainbows and surprisingly high-level analog noise. if not for the sharpness, i'd say it's ex-VHS. the sad thing is i've had to run this source as-is through a standards converter, adding blended fields to the mix. even worse is it's digital anime - the only loss it should have suffered at all is the 2:1 compression on the digibeta it came on.
mimage
2nd December 2005, 10:38
It's from the DVD of Bible Black: New Testament Region 1
NTSC
Mug Funky
2nd December 2005, 10:53
aaah... i always wanted to see that (now i know why you didn't post a VOB sample).
if it's NTSC then throw DeDot at it before IVTC and degrainmedian after IVTC.
try:
mpeg2source("zomg_perverted_hentai_lol.d2v")
dedot()
your_favourite_IVTC_filters() #don't forget to decimate too if you need to:)
degrainmedian()
fft3dfilter(sigma=3,bt=3,sharpen=1.0)
you might also want to crop the crap off the top, bottom and sides, but dedot will take care of the sides for you.
mimage
2nd December 2005, 11:37
Wow! That really cleaned it up, though I wasn't able to get fft3dfilter to work. Oh and I didn't crop it and now the top looks clean.
http://img397.imageshack.us/img397/1944/screenhunter0017ts.jpg
Thanks a lot for the help Mug Funky! Really appreciate it! ^_^
Chainmax
2nd December 2005, 14:43
Aww, and here I was going it would be some sexy hentai :(. Bible Black is the most twisted thing I ever saw (only 2-3mins on a couple of episodes). Nothing more to contribute here since Mug Funky already suggested DeDot, although he didn't provide the download link (http://nullinfo.s21.xrea.com/#DeDot_YV12).
Mug Funky
2nd December 2005, 14:57
hmm. looking a little too soft after the degrainmedian... (which is why i suggested fft3dfilter).
if fft3d isn't working for you, it's probably because you don't have the fftw libraries installed. but i could be wrong there (it would tell you this if it was the problem).
try limitedsharpen then (and maybe fastlinedarken if it's the kind of anime that allows it - it should be).
hehehe. twisted, huh? i'll have to ask sly from work if he's got this one (he's got an encyclopaedic anime knowledge, but i only ever see him with H stuff for some reason).
[edit]
btw, avisynth is lots more fun if you use virtualdubmod for script editing... it'll help your screenshots too, because i'm not sure if some of the softness and vertical jagginess isn't from some kind of resize being used on playback.
mimage
2nd December 2005, 17:16
Alright thanks. I'll try some of them out.
Instead of starting another thread.. I thought I'd post some more pics from another series I'm having trouble with that is Pure Interlaced. I have a lot of trouble with Pure Interlaced footage. I have made it so you don't see much blended frames or interlacing lines showing up everywhere.. but it did add another problem to deal with and I'm unsure what it is or how to approach it. sorry I didn't make a clip. If you look at the collar in the pictures.. you'll see a lot of moving black dots moving by and on the outline of the collar. I don't know what to do about it, I'm sure there is some filter out there that might help in cleaning that up.
http://img208.imageshack.us/img208/3715/screenhunter0039ts.jpg
http://img208.imageshack.us/img208/421/screenhunter0042hh.jpg
http://img208.imageshack.us/img208/5492/screenhunter0053rf.jpg
http://img208.imageshack.us/img208/2356/screenhunter0063oo.jpg
http://img228.imageshack.us/my.php?image=screenhunter0071uk.jpg
http://img228.imageshack.us/img228/6889/screenhunter0086pv.jpg
Any help is appreciated. Thanks! ^_^
Edit: OK, I decided to upload a sample.
http://stormmetropolis.com/test/test.avi
Chainmax
3rd December 2005, 13:54
I'm on it :).
Mug Funky: FFT3DFilter as a dedicated sharpening filter? Is it that good for it? I was thinking of using it in conjunction to LimitedSharpen and aWarpSharp on a VHS capture...
Chainmax
3rd December 2005, 14:56
That's not a good sample, it's too short and it's a static scene, so there's no way we can discern wether it's really interlaced, telecined or whatever else. It also makes it difficult to spot artifacting. Please post a 5+ seconds sample in a scene with motion.
mimage
3rd December 2005, 15:17
I know the trying to deinterlace is what caused it. I wanted to use a scene where there isn't suppose to be anything moving in the picture so I gave an example of that clip of that guy just standing there for that reason. It's very small detail I thought there may be some sort of smoothing out technique to fix it. But I'll cook up a sample with motion in a bit, though may be quite a few hours, maybe later today. I had a problem like this before a long time ago with the animated sequence in breath of fire 4.. but instead it was moving lines instead of moving dots.. I forget how I got rid of it but I did save the processing settings but it's on my other computer that my bro is borrowing. Oh and thanks for trying to help.
mimage
3rd December 2005, 15:46
OK first two tests is The Guyver with no filters.
http://stormmetropolis.com/test/test2.avi
http://stormmetropolis.com/test/test3.avi
and these are with my filters.
http://stormmetropolis.com/test/test4.avi
http://stormmetropolis.com/test/test5.avi
I was gettting hecktic with cleaning the footage.. sorry the script looks so messy. One extra question is are the loadplugins suppose to all be at the top? I don't know if it really matters so much. :) neway here's my slopy script. :o
loadplugin("C:\Programs\Programs\dgmpgdec140\DGDecode.dll")
mpeg2source("H:\The_Guyver_Vol_1\The_Guyver_Vol_1.d2v")
loadplugin("C:\Programs\Programs\AviSynth Plugins\DeDot_YV12_0002\De.dll")
loadplugin("C:\Programs\Programs\AviSynth Plugins\degrainmedian08\degrainmedian.dll")
Dedot()
SeparateFields()
Weave()
TomsMoComp(0,15,1)
loadplugin("C:\Programs\Programs\AviSynth Plugins\TDeintv1b4\TDeint\TDeint.dll")
Lanczos4Resize(720,528)
Crop(6,2,-6,-0)
loadplugin("C:\Programs\Programs\AviSynth Plugins\degrainmedian08\degrainmedian.dll")
degrainmedian()
loadplugin("C:\Programs\Programs\AviSynth Plugins\fft3dfilter184\fft3dfilter.dll")
Lanczos4Resize(720,528)
Crop(6,0,-6,-0)
ConvertToRGB32()
Chainmax
4th December 2005, 00:20
If the source is a DVD, why is the sample an AVI and not simply a VOB chunk? What was it compressed with?
A script with just AVISource and BOB() shows what seem to be blended fields, but this is a 29.97fps source and I really don't know how to differentiate between field blending and interpolated frames that belong to the source. Can someone (Mug Funky, maybe?) clarify this for me?
mimage
4th December 2005, 00:25
If the source is a DVD, why is the sample an AVI and not simply a VOB chunk? What was it compressed with?
I haven't made a VOB chunk before. I'll look that up or if you have a link, please list.
I compressed in vdub to xvid format.
Chainmax
4th December 2005, 00:33
Bad choice. Compressing to a lossy format introduces artifacting that's not present in the source. For instance, test2 showed some blocking that's probably due to compression. Also, if you didn't enabled Interlaced Encoding in Xvid, that might introduce more artifacts. Use a program like ChopperXP (http://www.inchwest.com/chopperxp.html) in order to extract a vob sample.
mimage
4th December 2005, 06:24
That's a cool program. :thanks:
http://stormmetropolis.com/test/test.vob
Thanks for all the help. I'm very thankful.
Chainmax
4th December 2005, 15:28
Now we're talking. Let's see what can be done about this :).
Chainmax
4th December 2005, 16:24
Ok, before going any further I need confirmation from a specialist about wether this:
http://img389.imageshack.us/img389/4158/fbornot0qx.png (http://imageshack.us)
Is field blending or not, as I really don't know how to differentiate between field blending and interpolated frames that belong to the source.
DryFire
4th December 2005, 19:27
Here's what I tried this morning at about 2am. I'm pretty sure there's a better way to filter it.
mpeg2source("...\guvyer.d2v")
DeDot()
tfm(pp=7)
Tdecimate(mode=0)
removegrain()
deblock(quant=30)
hqdn3d()
Fluxsmoothst(10,10)
unfilter(-5,-5)
crop(6,0,-10,0)
lanczos4resize(720,480)
Here's the result. (http://www.savefile.com/files.php?fid=8414690)
I compressed it with x264 at 3mbps.
Chainmax that looks like it blongs to the source, but I'm nowhere near an expert.
Chainmax
4th December 2005, 20:42
I don't know, how about this (just mpeg2source):
http://img403.imageshack.us/img403/4927/mmm4xf.png (http://imageshack.us)
?
mimage
4th December 2005, 22:45
Thanks for all the help guys. :)
Chainmax
4th December 2005, 23:03
Hold on, I have a couple of ideas, but I need to know first wether this is telecined, interlaced or field blended.
mimage
4th December 2005, 23:06
I'm just saying thanks for the process of helping me out. Very appreciated. :)
I thought it was pure interlaced. 6 seconds into it if you move frame by frame you'll see horizontal lines going through it on each frame.
dude051
5th December 2005, 00:23
@Chainmax
My guess is classic field blending. A good reference is AMG OVA. Interpolated frames come about when you interpolate frames (duh! :scared: ) which comes usually from a bobber. This ususally only happens when you change the frame rate... found in NTSC to PAL or vice verse conversion. Interpolation is the term for creating something that wasnt there. In video, it simply means creating extra non-existing frames based off of previous and next ones (which is exactly what a dumb bobber does). Although its possible, this doesnt look like thats the problem. I recommend DeBlend, which looks at previous and next frames and based on many threshold settings it takes out dup blended frames and replaces with a static one.
Edit: Forgot to address...
I thought it was pure interlaced. 6 seconds into it if you move frame by frame you'll see horizontal lines going through it on each frame.
Well it appears pure interlaced because its blended to hell. I would venture to say the horizontal lines are from blending of interlaced frames :( but im not really sure. It's hard to say how they manage to do this stuff back then.
No expert here, just throwin out my 2 cents...
Mug Funky
5th December 2005, 04:44
actually, a bobber interpolates missing lines, not frames.
frame rate conversion interpolated frames, of course.
Chainmax
5th December 2005, 16:09
So, is this a case for Restore24? If not, what should be done about it?
Chainmax
6th December 2005, 13:23
What do you say, Mug Funky?
Mug Funky
7th December 2005, 15:57
i'm guessing this is a ye-olde style telecine. ie 24fps directly transferred to 59.94i (no slowdown to 23.976 first, so the numbers don't match 3:2). they usually did this with a tube camera (top-to-bottom scan, rather than full field at a time like with CCDs) and a spinning prism which gives the frames a nice blend.
restore24 might work for this, but be sure to feed it the right framerates or it'll give you jerky. there will probably be blends left over too, for 2 reasons - tube cameras (if one was used) have a bit of a persistence to them - a bright images can stay on the picture for a few frames. also, a temporal soften may have been applied, which would cause more blending. your clip may not be this bad (haven't looked at it, sorry :))
so yeah, give restore24 a try and see what happens, don't worry too much about denoising as it's already quite smooth, and have fun compressing this beast :). your worst case scenario is just having to encode interlaced, which isn't a bad thing at all, it just needs more bitrate and some special treatment.
Chainmax
7th December 2005, 16:37
What do you mean by "feed it the right framerates"? Also, could C_Restore (http://forum.doom9.org/showthread.php?t=95924) be a better option sine this is animated content?
Chainmax
8th December 2005, 12:27
Since Restore24 is quite complicated, I tried Crestore_pal first with the default settings:
ord = last.getparity() ? 1 : 0
a = last.tdeint(mode=1)
b = last.leakkernelbob(order=ord, sharp=false, twoway=true, threshold=6).BilinearResize(640,352)
Crestore_pal(bob=a, bclip=b)
And here's the result:
http://img203.imageshack.us/img203/2058/crestorepalresults0am.png (http://imageshack.us)
Will Restore24 give better results? This is the only thing that I'm missing, I figured out the rest of the filtering (it needed deblocking, by the way).
Mug Funky
8th December 2005, 13:09
i keep forgetting the restore24 syntax (is it as simple as restore24(2400,5994) or am i missing something?)
but anyway, you're not restoring a PAL framerate because the source was (probably:)) never PAL. you'll want to restore 24 fps (exactly, no 23.976) from a 59.94 clip. i'm not sure if crestore can handle that, but i dare say it should :)
as i've said before, i prefer to be adding the blends than removing them :)
Chainmax
8th December 2005, 13:29
I don't think CRestore can do what you are referring to, the two usages in its readme yield either PAL or FILM framerates. I guess I'll have to try Restore24, does it still have that time limit over which it gives trouble?
mg262
8th December 2005, 15:57
I would try expressing the decimation fraction in the simplest terms possible, as it might give the decimatrss an easier time. 2400/5994 = 400/999, I think.
dude051
8th December 2005, 18:55
Maybe a test video is in order..... Here (http://www.exiled-destiny.com/Test.mkv)
mimage
8th December 2005, 21:24
I have mkv files on this computer and they play fine but for some reason I can't get your files to play dude051. :(
DryFire
8th December 2005, 22:46
It seems kind of jerky.
mimage - are all of your splitters up to date?
mimage
8th December 2005, 23:29
OK, I fixed it. When I installed Matroska Pack, I deselected all components except MKVMuxer and that fixed it. ^_^
Maybe a test video is in order..... Here (http://www.exiled-destiny.com/Test.mkv)
Well whatever you did, I like the outcome. :)
dude051
9th December 2005, 05:18
ya that seems the biggest downfall, by removing the blends the way i did, it resulted in jerky play back. I kinda did that in about half an hour, i could get it looking alot better with a bit more work... it was just a test of one way of removing blends like that :sly:
Thanx btw, all i used was TIVTC and unblend really. But i need to tweak it more.
Chainmax
9th December 2005, 13:22
I'll keep trying with C_Restore until the new version of R24 is released. Hopefully MOmonster can give me some tips.
mimage
10th December 2005, 04:13
Thanks for all the help guys. :)
Whenever this is figured out I could post the script in the "User contributed AviSynth processing suggestions" (http://www.amvwiki.org/index.php/User_contributed_AviSynth_processing_suggestions) page over at AMVWiki.org (http://www.amvwiki.org/index.php/Main_Page). Or not just an idea.
Chainmax
10th December 2005, 13:26
MOmonster, are you around?
MOmonster
12th December 2005, 12:19
@Chainmax
Sorry for my late answer. Itīs a little bit complicated with internet (I donīt have internet, only at the university).
Ok, Iīll have a look at your source this evening. Crestore isnīt any longer recommed. The new restore24 version is somewhere in the forum and just this day I release the new Cdeblend version (maybe worth a try). Tomorrow I can say more. :rolleyes:
Chainmax
12th December 2005, 16:30
Actually Didée told me that the new R24 is still under heavy development. I'll try your new CDeBlend and report back.
Chainmax
12th December 2005, 22:49
Source:
http://img467.imageshack.us/img467/7356/source2sy.png (http://imageshack.us)
Result:
http://img467.imageshack.us/img467/8161/result6uy.png (http://imageshack.us)
Script:
CDeBlend()
Deblock(quant=35)
DeGrainMedian(mode=0)
Crop(8,2,700,478,align=true)
GaussResize(640,480,p=100)
aWarpSharp(depth=16,cm=1)
LimitedSharpen()
What I am doing wrong, should I decimate after CDeBlend, tweak the defaults or do both?
Chainmax
13th December 2005, 00:18
Why doesn't CDeBlend work with MaskTools v1.5.8?
MOmonster
13th December 2005, 11:37
@Chainmax
Does it not? I donīt know why, will have a look at the new specs. I just integrated the last version I had on my pc.
But to your problem. Not restore24, not Crestore or Cdeblend or any other tool I know can restore this source. It isnīt a simple blend conversion. Only every 4th or 5th field is a clear one anbd the quality is that bad, that a restoring like restorefps does it wonīt work.
The only thing I can do for you is to modificate Cdeblend to output only the clear fields (->12fps). This isnīt that good for the motion, but with a good decimating and maybe motion compensating fps conversion it will look much better than now.
You can use omode 4 of Cdeblend to find allready the optimized konfiguration for Cdeblend (highest val -> clear).
Edit: Where is the bobber in your source. Did you read the readme? You should begin with the second code example, the first is only for progressive blended material, maybe I should make it more clear.
Chainmax
13th December 2005, 16:52
Yeah, I didn't understand the readme. I'll try with TDeint bobbing and report back.
About MaskTools, since you included it in the package I assumed it was a special version. I wil try v1.5.8 then.
Chainmax
13th December 2005, 22:09
The following script:
ord = last.getparity() ? 1 : 0
a = tdeint(mode=1)
c = leakkernelbob(order=ord).crop(8,8,-8,-8).BilinearResize(480,288)
Cdeblend(a, clip2=c, thresh=50)
DeBlock_QED()
DeGrainMedian(mode=0)
Crop(8,2,700,478,align=true)
GaussResize(640,480,p=100)
Looks much better, but there's still too much blending (should I go to 23.976 or 29.97 afterwards?). Don't bother doing a customized version for me, it's not worth it in my opinion. Sorry mimage, but this is way out of my league :(.
mimage
14th December 2005, 00:23
Thanks for helping me in trying to figure this out, I appreciate it a lot! Same goes for everyone else that helped. I'm very thankful! ^__^
MOmonster
14th December 2005, 10:30
Looks much better, but there's still too much blending (should I go to 23.976 or 29.97 afterwards?). Don't bother doing a customized version for me, it's not worth it in my opinion.
Sorry, but I was faster. Itīs just a easy modification, but I think it will help. Here is the script:
leakkernelbob(order=0, sharp=false, twoway=true, threshold=2, map=false)
a = last.crop(8,8,-8,-8).bilinearresize(288,240)
Cdeblend_mod(clip2=a, perc=6, thresh=1.8)
Function Cdeblend_mod(clip input, int "dmode", float "thresh", int "perc", float "bweight", clip "clip2")
{
###### PREPARATION ######
global output = input
global blendclip = default(clip2, input).trim(4,0)
global predup = input.duplicateframe(0).tweak(hue=0.11)
global predup2 = predup.duplicateframe(0).tweak(hue=-0.11)
global predup3 = predup2.duplicateframe(0).tweak(hue=0.08)
global postdup = input.trim(1,0).tweak(hue=0.22)
global postdup1 = input.trim(2,0).tweak(hue=-0.22)
global postdup2 = input.trim(3,0).tweak(hue=0.10)
global thresh = default(thresh,2)
global bweight = default(bweight,15)/100.0
global perc = default(perc,3)
global dmode = default(dmode,0)
###### Mask-Preparation ######
fr_diff = YV12Subtract(blendclip,blendclip.trim(1,0),tol=0)
frn_diff = YV12Subtract(blendclip,blendclip.trim(2,0),tol=0)
subtract = Average(fr_diff, 1.0, fr_diff.trim(1,0), 1.0, frn_diff, -1.0)
global ystring = "x y - 2 ^"
global cstring = "x"
global ssdiff = YV12lUTxy(blendclip, blendclip.trim(1,0), yexpr=ystring, uexpr=cstring, vexpr=cstring)
global m2_mask = YV12lUT(subtract, yexpr=ystring, uexpr=cstring, vexpr=cstring)
###### VAR.. ######
global difc1 = 1.0
global temp = 1.0
global btest3 = 1.0
global btest2 = 1.0
global btest1 = 1.0
global counter = 0
###### Conditional Function Chain, evaluated from bottom to top (!) ######
b99=scriptclip(input, " counter==3 ? postdup2 : (counter==2 ? postdup1 : (counter==1 ? postdup : (counter==-1 ? predup : (counter==-2 ? predup2 :
\ (counter==-3 ? predup3 : output)))))")
b5=FrameEvaluate(b99, " global counter = (btest1 > btest2 && btest1 > btest3 && btest1 > btest0 && btest1 > btestb) ||
\ counter < -1 && btest1 > btest0 && (btest1 > btest2 || btest1 > btest3) ||
\ btest1 > btest2*thresh && btest1 > btest0*thresh ? 3 : counter-1")
b4=FrameEvaluate(b5, " global btest3 = dmode == 0 ? (difc1+difc0-diffn)/(difc1<difc0 ? difc1+difc0/perc : difc0+difc1/perc) :
\ (dmode == 1 ? AverageLuma(m2_mask)/(difc1<difc0 ? difc1+difc0/perc : difc0+difc1/perc) :
\ (dmode == 2 ? LumaDifference(MergeLuma(blendclip,blendclip.trim(2,0),blw), blendclip.trim(1,0)) /
\ (difc1<difc0 ? difc1+difc0/perc : difc0+difc1/perc):
\ AverageLuma(YV12LUTxy(MergeLuma(blendclip, blendclip.trim(2,0), blw),blendclip.trim(1,0),
\ yexpr=ystring, uexpr=cstring, vexpr=cstring))/(difc1<difc0 ? difc1+difc0/perc : difc0+difc1/perc) ))")
b3=FrameEvaluate(b4, " global blw = difc1/(difc1+difc0) < bweight ? bweight : (difc1/(difc1+difc0) > 1-bweight ?
\ 1-bweight : difc1/(difc1+difc0))
global temp = btest0
global btest2 = btest3")
b2=FrameEvaluate(b3, " global difc1 = dmode < 3 ? YDifferenceToNext(blendclip.trim(1,0)) : AverageLuma(ssdiff.trim(1,0))
global diffn = dmode != 0 ? 0 : LumaDifference(blendclip,blendclip.trim(2,0))
global btest1 = btest2")
b1=FrameEvaluate(b2, " global difc0 = difc1
global btestb = temp
global btest0 = btest1")
return(b1.changefps(29.97))
}
You need the same filters for it. There is no dthresh or mthresh anymore and the simple thresh has another meaning (percentage to previous and next frame).
Itīs much clearer and motion doesnīt hack so bad on some parts. Dmode 0 or 1 is prefered, the optimal perc value I donīt know. The output is 29.97 fps and it should be decimated to 23.976 fps for example with tdecimate(mode=1). If the decimation process results in blends, where there arenīt blends without decimating, try this (http://forum.doom9.org/showthread.php?p=745599#post745599) . The quality of the source is that bad, that a motion compensation could make no sense, but of course you can try it yourself ;) .
Edit:
Looks the whole source that overblended or is it just the intro? Sometimes only the beginning is that bad and therefore it would be better to use the simple Cdeblend or better restore24 for the good parts.
Chainmax
14th December 2005, 12:08
Just when I thought that I was out they pull me back in.
I hate you :).
mimage, can you post a sample from an episode rather than the intro?
Chainmax
14th December 2005, 15:01
How about this (http://www7.rapidupload.com/d.php?file=dl&filepath=5129)?
The following script was used:
ord = last.getparity() ? 1 : 0
leakkernelbob(order=0, sharp=false, twoway=true, threshold=2, map=false)
a = last.crop(8,8,-8,-8).bilinearresize(288,240)
Cdeblend_mod(clip2=a, perc=6, thresh=1.8)
TDecimate(mode=1)
DeBlock_QED()
DeGrainMedian(mode=0)
Crop(8,2,700,478,align=true)
GaussResize(640,480,p=100)
aWarpSharp(depth=16,cm=1)
LimitedSharpen()
MOmonster
14th December 2005, 15:07
ord = last.getparity() ? 1 : 0 This line isnīt necessary.
What is DeBlock_QED() for a function or filter? I donīt know it. Works it well?
Didée
14th December 2005, 15:31
What is DeBlock_QED() for a function or filter? I donīt know it. Deblock_QED is proof-of-concept ... it should not be a script. See this thread (http://videoprocessing.11.forumer.com/viewtopic.php?p=413#413) over at kassandro's.
Works it well? One of those cases where I was told "we must not do it this way" ... nonetheless it does its job. ;)
mimage
14th December 2005, 20:20
Alright. I'll try to get a sample up later today.
Chainmax
14th December 2005, 21:49
MOmonster: indeed, LeakKernelBob is set to order=0. Isn't it better to use that line instead of arbitrarily setting the field order?
Damn, Didée beat me to the punch :).
mimage
15th December 2005, 03:17
http://stormmetropolis.com/test/TheGuyverVOB.vob
MOmonster
15th December 2005, 08:51
Thanks for the quick answer Didee.
Normally it would be better, but this function is only for this special case. Also there is a problem with the fieldorder in the clip. The motion hacks sometimes. I was not sure if it gives the right order (and didnīt test it).
Edit: I downloaded the clip and it looks better than the intro, but I can only view it with vlc here. Iīll test it tomorrow.
But of course you can do it yourself. Just bob the source and have a closer look on the frames. If nearly every second is clear than restore24 or Cdeblend are the right choice. I there are more blends Cdeblend_mod should be used.
Chainmax
15th December 2005, 14:41
Has anyone watched my encode in order to see the results of CDeBlend_Mod?
mimage
15th December 2005, 15:41
I just checked and you did a really really really nice job on it. Congrats!! ;)
MOmonster
15th December 2005, 15:45
Decimating to 12 fps and than doing motion compensated framerateconversion back should improve the motion a bit.
But indeed much better than the original. The blenddetection is still tweakable, but I donīt think that it is worth much more time, the source is just too bad for it.
Chainmax
15th December 2005, 18:27
MOmonster, how difficult would it be to implement decimation to 12fps and motioncompensating back in the script I tried? Also, could I replace the LeakKernelBob line with TDeint(mode=1,type=1)?
mimage: is this a series or a movie? In either case, how long is it?
foxyshadis
15th December 2005, 21:50
Cdeblend_mod().Tdecimate(mode=1,cycleR=3,cycle=5).MotionProtectedFPS (http://forum.doom9.org/showthread.php?p=750037#post750037)(23.976)
=D
May as well give Tdeint a shot, see if it makes any difference.
mimage
16th December 2005, 03:09
mimage: is this a series or a movie? In either case, how long is it?
It's a twelve episode series.
MOmonster
16th December 2005, 09:54
@Chainmax
Foxyshadis gives you the answer (-> not difficult). Maybe the decimating makes some problems, than use the tip given by LogicDeLuxe (divided avs).
Of course you can use tdeint, but it is recommed to use leakkernelbob(order=0,twoway=true,threshold=2).crop.resize for the detection (clip2), because of speed reasons and the simple interpolating.
tdeint(mode=1,type=3)
a = leakkernelbob(order=0,twoway=true,threshold=2).crop(...).resize(...)
Cdeblend_mod(...,clip2=a)
@foxyshadis
Because of your source: Iīll take a look at the given clips and maybe improve FixBlendIVTC for it, but I donīt know when I can report back.
mg262
16th December 2005, 12:12
Be warned, motion compensation doesn't always work very well with non-CG animated material... or at least, backgrounds should be fine but foreground objects are built of solid blocks of colour so they often don't have enough detail to latch onto. It won't hurt to try both MVFlowFPS and MotionProtectedFPS, but you might find that one or both just falls back to blending...
MOmonster
16th December 2005, 18:10
@mg262
Yes I know, but the results of my first tests werenīt bad and if I should decide between 12 fps with less blends and 24fps with some more blends but better motion my choice is clear. :D
@mimage
Also your second clip is so badly overblended, so indeed using the default Cdeblend wouldnīt work. :(
mimage
16th December 2005, 19:06
It's alright.. I don't need to get rid of all the blending.. I could just cut the frames that blend when I edit the footage if I need to. I don't know if it's as messed up(srry I'm not well with deinterlacing) but is there away to fix this at all so there isn't blending. I can't figure it out.. well I've been trying, but I'm unsure what to do with it.
http://stormmetropolis.com/test/NinjaScrollvob.vob
Chainmax
16th December 2005, 19:27
I'm currently encoding the sample with the "12fps and backconversion" suggestion, once it's done I'll upload it and you can decide for yourself what looks better.
By the way, my suggestion is that if each episode lasts up to 25min, you should be able to fit 4 episodes per CD with Vorbis @ q4 sound (~112kbps, more or less equivalent to MP3 @ 160kbps). If each episode lasts more than 25mins, you could fit 3 episodes per CD with Vorbis @ q6 sound (~165kbps, more or less equivalent to MP3 @ alt-preset-standard). Finally, what I'd recommend as best alternative would be to put everything into a single DVD-R, that way you could keep all three AC3 tracks.
MOmonster
16th December 2005, 20:13
@mimage
And the next aweful source. The pal version I saw little time ago, looks much better.
The lumachannel shows a standard norm conversion, the right source for restore24 and Cdeblend. But the chromachannel is totally destroyed. A temporal cleaning is the reason for this chromablending and it is nearly irreversible.
Maybe a lumalinked mask can help a bit, but I donīt if itīs worth the time.
mimage
16th December 2005, 20:35
Oops, I was mistaken. I deleted most of this post because it was misleading.
Chainmax
17th December 2005, 01:53
The "12fps and backconversion" doesn't result in smooth motion. Check it out here (http://www7.rapidupload.com/d.php?file=dl&filepath=5249).
MOmonster
17th December 2005, 13:33
:eek:
Are this artefacts because of the motioncompensation or is it because I donīt have the decoder up to date? So or so, indeed there seems to be no positiv effect, so the last script seems to be ok (just using tdeint instead of leakkernelbob).
@mimage
This chroma problem isnīt that seldom. MaybeIīll try to find a restoring methode, but next week or so.
Chainmax
19th December 2005, 19:00
Ok mimage, here's the final filterchain then:
SetMemoryMax(Your Ram / 2)
LoadPlugin("X:\wherever\DGDecode.dll")
LoadPlugin("X:\wherever\MaskTools.dll")
LoadPlugin("X:\wherever\Average_24Oct05.dll")
LoadPlugin("X:\wherever\LeakKernelDeint.dll")
Import("X:\wherever\CDeBlend_Mod.avs")
LoadPlugin("X:\wherever\TIVTC.dll")
LoadPlugin("X:\wherever\DCTFilter.dll")
Import("X:\wherever\DeBlock_QED.avs")
LoadPlugin("X:\wherever\DeGrainMedian.dll")
LoadPlugin("X:\wherever\aWarpSharp.dll")
Import("X:\wherever\LimitedSharpen.avs")
MPEG2Source("X:\wherever\Guyver.d2v")
leakkernelbob(order=0, sharp=false, twoway=true, threshold=2, map=false)
a = last.crop(8,8,-8,-8).bilinearresize(288,240)
Cdeblend_mod(clip2=a, perc=6, thresh=1.8)
Tdecimate(mode=1)
DeBlock_QED()
DeGrainMedian(mode=0)
Crop(8,2,700,478,align=true)
Lanczos4Resize(640,480)
aWarpSharp(depth=16,cm=1)
LimitedSharpen()
As codec, I recommend you to to use the latest x264 with the latest MeGUI. Select the AE-Maxquality profile with deblocking set at 0/0, keyframe interval of 240 and Min GOP size 24. As for bitrate, I already suggested number of episodes per CD. If you decide to backup to CD and not DVD, let me know and I'll instrcut you onwhere to find the latest Ogg Vorbis encoder and good Azid settings to use. If you have any further questions don't hesitate to ask.
mimage
19th December 2005, 19:15
OK then, thanks a bunch! I really really appreciate it! ^__^
MOmonster
20th December 2005, 09:41
@mimage
Sorry, I was wrong. Not only the chroma is destroyed by a temporal filter also the luma is. I donīt see any possibilty for a nice restoring. Go with restore24 or Cdeblend(omode=3, dthresh=60, thresh=66) + decimating, more work it isnīt worth. Chainmax filtercombi should also work not bad with this source. :(
Chainmax
20th December 2005, 16:22
The filterchain I posted is for the Guyver sample, I didn't check out the Ninja Scroll one.
mimage
21st December 2005, 10:50
The filterchain I posted is for the Guyver sample, I didn't check out the Ninja Scroll one.I know. I'm trying out the script now.. I'm having a few problems in making it all work.. I should work it all out, but if not I'll see to reporting back here and give a report on how it's working out. Anyway thanks a bunch for the help! I really appreciate it! :)
Chainmax
21st December 2005, 13:56
Glad to be of help. If you wind up using Vorbis audio, let me know and I'll tell you where to download the appropriate software and the settings to use it with,
mimage
21st December 2005, 18:22
lol, I don't need help with ninja scroll. I found a good method to deinterlace it.
Chainmax
21st December 2005, 19:36
Indeed, I've been trying to send him PMs for a while as well.
XadoX
26th June 2006, 09:30
Is there already a way to deinterlace Ninja Scroll PAL?
Because i do not get rid of the interlaced artifacts.
MOmonster
28th June 2006, 06:53
I donīt remember so good, but I think converttoyuy2(interlaced=true) + tdeint(mode=1)+Crestore(?) worked for me. Working with yv12 the chroma looks cruel.
XadoX
28th June 2006, 07:34
The deinterlaced worked good with Tdeint(mode=3), but the damn bledings.
I will give a trie to your method.
Also with mrestore() i did not get rid of those blendings.
MOmonster
29th June 2006, 08:41
Try the profiles for anime and if this doesnīt work, please upload a small sample the blenddetection fails on.
XadoX
29th June 2006, 10:10
I've tried the anime profiles also but with no good result.
Sample (http://rapidshare.de/files/24444451/Ninja.mpv.html)
Backwoods
30th June 2006, 01:26
The NTSC discs of Ninja Scroll have the same problems.
MPEG2Source("NS_16x9.d2v")
Cdeblend(dmode=8,omode=1,sd=true)
Decimate(5)
That gets rid of a good amount of the blends, but some still remain. If you find a better method, please let me know.
MOmonster
30th June 2006, 08:02
This is a heavy blended 12fps Source. This should work:
leakkernelbob(order=1,sharp=false,twoway=true,threshold=4)
Cdeblend(dmode=3, omode=3, sd=true, clip2=last.bilinearresize(352,288))
#(or tdeint(mode=1) and no clip2 or maybe only little bit soften)
Some blending artefacts will be left and the motion is not so good because the technical 12fps but the blends are gone. If there are 24fps pans or similar 24fps scenes in the source you should also set the dthresh parameter.
@Backwoods
Using decimate after Cdeblend is not recommed. Smartdecimate and different tdecimate modes works better together with Cdeblend.
XadoX
30th June 2006, 08:13
great work MOmonster. Most of the blend are gone, but should be the Output realy 50FPS then?
MOmonster
30th June 2006, 08:24
You have to decimate it after the Cdeblend call, with tdecimate or smartdecimate (to 24/25fps or direct to 12fps), sometimes a simple changefps(25) looks already ok. Do what works best for you. You donīt need to keep the 50fps.;)
Backwoods
30th June 2006, 21:12
Using decimate after Cdeblend is not recommed. Smartdecimate and different tdecimate modes works better together with Cdeblend.
Hmm, alright. I'll try each and see the difference. Thank you for the tip.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.