View Full Version : Bob+Weave
rjc7394
28th June 2006, 03:11
What's the correct script for bob+weave?
Bob(0,0.5)
Assumefieldbased()
Weave()
Separatefields()
Then resize with Virtualdub resizer if you want it resized? I have a 720x480 which I want to resize to 512x384. I used the script above and VDUB resizer and the picture didn't look too good.
If I use:
Bob(0.0.5)
Assumefieldbased()
Weave()
I end up with a 720x960 clip. I don't understand that after reading the avs manual. Bob enlarges each field and Weave brings them together. So wouldn't the result be 720x480?
Guest
28th June 2006, 03:26
You're mixing apples and oranges (VirtualDub and Avisynth).
If you are trying to resize interlaced video and keep it interlaced, here is one way (there is a better but more complex method):
separatefields()
lanczosresize(512,192)
weave()
Don't use VirtualDub resize!
Bob() outputs a frame size the same as the input, and Weave() weaves two frames, so of course your last script will double the height.
If you don't want the result to remain interlaced, then just deinterlace and then resize normally.
rjc7394
28th June 2006, 14:47
I'm trying to use bob+weave to deinterlace and I want it resized. Resize with Lanczosresize? What should the script look like for bob+weave?
bob()
separatefields()
lanczosresize(512,192)
weave()
Guest
28th June 2006, 15:58
Sorry, but you're not making any sense to me ("deinterlace by bob and weave"). I've explained as clearly as I can. Maybe someone else can figure out what you are talking about.
Awatef
28th June 2006, 16:20
Bob/Separatefields/Resize/Weave are used when you want to resize interlaced content and keep it interlaced (for example for NTSC to PAL conversions or PAL to NTSC). This method is not recommended, since it produces flickering.
Now, you said, you want to deinterlace it.
Bob is one of the worst deinterlacing methods.
You could use TomsMoComp instead.
Download it and read its readme file to know how it works.
No need for separatefields or whatsoever, just deinterlace using TomsMoComp, then resize, that's it.
LocalH
28th June 2006, 18:44
Bob/Separatefields/Resize/Weave are used when you want to resize interlaced content and keep it interlaced (for example for NTSC to PAL conversions or PAL to NTSC). This method is not recommended, since it produces flickering.
Now, you said, you want to deinterlace it.
Bob is one of the worst deinterlacing methods.
You could use TomsMoComp instead.
Download it and read its readme file to know how it works.
No need for separatefields or whatsoever, just deinterlace using TomsMoComp, then resize, that's it.
That depends on what you're doing. For non-temporal processing of true interlaced content, I prefer to Bob first, then SeparateFields.SelectEvery(4,0,3).Weave after. But that's assuming one wants an interlaced video to be output. Also, I personally find that bobbing during playback is one of the best ways to handle viewing true interlaced content on a PC, especially on an LCD panel (although this is my opinion and your mileage may vary). In my experience, the smooth fluidity of a true interlaced video is worth any loss of compression caused by the interlacing itself (although this is somewhat mitigated by enabling interlace support in encoders that support it).
If you just want to go from interlaced to progressive while doubling the frame rate (and thus keeping the original fluidity), I would suggest a smart bobber that can retain vertical resolution in areas of low motion.
Speaking of "worst", I feel that rule 12 should be expanded to cover both "best" and "worst" when not used with the disclaimer "for me, your mileage may vary", as I did above. "Worst" can be every bit as subjective as "best". It's one thing to say "this method is the best for me", and another to say "this is the best" without qualification.
rjc7394
28th June 2006, 19:37
I usually use Tomsmocomp all the time and it works great. For this clip I'm getting better detail with Fielddeinterlace but the edges are not as sharp even with no blending. So I decided to look into bob+weave. This site here says that bob+weave is a method for deinterlacing.
http://www.100fps.com/
LoRd_MuldeR
28th June 2006, 19:43
This site here says that bob+weave is a method for deinterlacing.
http://www.100fps.com/
They talk about adaptive deinterlacing there. In that case "Bobbing + Weave" means: Deinterlace only areas with combing artifacts (with bobbing) and leave the rest untouched (weave / do nothing). But it won't use both methods in the same area. AFAIK that's pretty much like what KernelDeinterlacer or SmartDeinterlacer do, except it will double the framerate.
Didée
28th June 2006, 20:34
Bob is one of the worst deinterlacing methods.
Heh, funny. I'd rather say that bob deinterlacing is the only "true" deinterlacing method. A ([very] smart) bob tries to deliver back the source as it has been in the first place, i.e. before half of the spatial information was thrown away to build up the interlaced structure.
Any other "normal" same-rate deinterlacer will produce even more loss, by discarding half of the temporal information.
LoRd_MuldeR
28th June 2006, 21:24
It makes no sense to say one method is the worst or one method is the only "true" one. It always depends on what you need. Since I usually don't want to get a doubled framerate, Bobbing is not an option. So I prefer Adaptive or MoComp deinterlacers that keep the fr.
Didée
29th June 2006, 00:08
(Of course assuming we're speaking of "true" "video" interlacing, not artificial one like phase shifts / normconversion-fieldblending / telecines / etc.)
True on the "is worst" part, but false on the "true one" part, mylord. :)
If the need is to keep the original frame rate, one will do so. Sure. That's what I often do, too, imagine that. ;)
Still, bobbing is the "lossless" form of deinterlacing, and standard deinterlacing is the "throw away the other half of the source" form of deinterlacing: just a compromise.
Get a interlaced source like sports - tennis, football, soccer -, or a dance show. Or even some newsflash with a ticker band. Deinterlace one time in-frame, one time with bobbing, compare both, realize I'm right.
--> Don't say "it makes no sense" when in fact it does. Or, would you say that e.g. the 60p part of HDTV specs is only there to throw bandwidth down the drain, while in fact it makes "no sense" ? ;)
LocalH
29th June 2006, 02:57
I agree with Didée. "True" deinterlacing, by my definition, is that which loses little to no temporal resolution as compared to the original source. Not to say that other forms of deinterlacing are useless, of course - I deal primarily with true interlaced content as both source and destination, so I don't do much same-rate deinterlacing, but I agree that all deinterlacing algorithms have their use, some just more so than others.
rjc7394
29th June 2006, 04:36
My two cents doesn't mean much but I wish there was a glossary. I've read through the Avisynth manual and basically I still don't know what it says (and I've taken plenty of math and physics courses). I'd like to know what "temporal", etc. mean because I'd like to know what you're talking about.
There is a glossary at videohelp.com but I still have trouble understanding what a field is. If you have a 29.97 fps film are there 29.97 fields/sec? And how is the interlace exactly put together? The edges of the scanlines are interlaced? I have a lot more questions.
http://www.videohelp.com/glossary:
Field
In an interlaced video a field is 1/2 of a complete picture (Frame) consisting of the even or odd scanlines in the frame. Usually each field is labeled ie. Field A and Field B. When working with interlaced video it is important to note the Field Order (if Field A comes before Field B in the video stream) especially when encoding. If you notice flicker after encoding you will want to change the field order in the encoding template and reencode.
LocalH
29th June 2006, 06:17
Temporal refers to time - basically, temporal resolution is inter-frame fluidity, while spatial resolution is intra-frame resolution and detail.
29.97fps can be either progressive or interlaced in terms of content. Basically, if you step through a piece of video frame-by-frame, and every single frame exhibits "mice teeth" (check out the third image down (http://www.100fps.com) for an example of mice teeth), then it's most likely true interlaced video, and there are 59.94 fields/sec which get merged into 29.97fps. Basically, all the odd scanlines come from one moment in time, and the even ones come from either the previous or the next 60th/sec instant (depending on field order, which can complicate things for those who are just learning, so I won't go into detail here, there's loads of field order information available). If you step through the video frame-by-frame, and every single frame is a sharp image with absolutely no mice teeth even during motion, then it's progressive and there are only 29.97 unique images per second.
If you step through the video and you see a repeated pattern of three progressive frames followed by two interlaced (or "combed") frames, you have film that has been telecined to video using what is called "3:2 pulldown", which can usually be reversed through a processed called "inverse telecine" or IVTC. Basically, here's a visual guide of how one second 24fps film is converted to 59.94i NTSC video:
Original film frames:
A B C D E F G H I J K L M N O P Q R S T U V W X
3:2 pulldown as fields:
AAABBCCCDDEEEFFGGGHHIIIJJKKKLLMMMNNOOOPPQQQRRSSSTTUUUVVWWWXX
3:2 pulldown as frames:
AA AB BC CC DD EE EF FG GG HH II IJ JK KK LL MM MN NO OO PP QQ QR RS SS TT UU UV VW WW XX
As you can see, 24 frames have no been converted into 60 fields, which are then combined into 29.97fps (the slight frame rate difference between 60i and 59.94i is negligible, and for all practical purposes here, they are the same).
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.