PDA

View Full Version : Which algorithm you use for IVTC? 10:4 or 5:2


wdq4587
17th May 2002, 12:34
Normally we say Telecine 3:2 pulldown is 4 fields add 1 field.
So original AviSynth way seems like a standard method for IVTC.
DoubleWeave()
SelectEvery(5,0,3)
After double the speed, get 2 frame from each 5 frame.
The TMPGEnc normally is also this way: 10010

Original 24fps progressive video
A B C D
A B C D
After 3:2 pulldown telecine
A A B C D
A B C C D
The interlace field play sequnce in TV is
A A B C D
_A B C C D
After DoubleWeave()
A A A B B C C D D A
A A B B C C C C D D
* * * *
Get 0 and 2 frame of every 5 frames. Then it's IVTCd

But if Telecined 30 fps video is compressd by 30fps.
(not store 24fps with rff and tff flag)
The things will be some different.
Decompressed output sequence (telecined) is
A #A #B C D
A #B #C C D
After DoubleWeave()
A#A#A#B#B C C D D A
A A#B#B#C#C C C D D
* # # *
The fields with # is come from interlace frame.
Since mpeg2 compress whole frame not field.
The fields decompress from compressed interlace frame will have
bad quality than normal frame, since the interlace frame is
difficult to compress.

Frame B cannot be good since it's generate from 2 interlance frames.
But frame C don't need generate from interlance frames.
So the best IVTC sequence is 0,3,6,8
And it's also suitable for store 24fps in DVD with rff,tff flags
Mod 5 sequence can only give 0,3,#5,8 or #1,3,6,8 which is alway bad
than the 0,3,6,8
Not the best way!

So I works like this:
DoubleWeave()
SelectEvery(10,0,3,6,8)
I think when you do IVTC, the best algorithm is avoid use composed
frame (from one frame bottom field and next frame top field). Even the source is not real 30fps (store 24fps), you lost nothing.

I also want Decomb can use this information to let it Decimate() more accurate.

wdq4587
21st May 2002, 12:04
Why no response? agree? disagree? or don't know what I mean?

dividee
21st May 2002, 19:11
I understand your point, but I think nobody uses the SelectEvery method for IVTC. How do you cope with pattern change, missing fields and the like ?

wdq4587
22nd May 2002, 05:29
Of course you can not use SelectEvery.
But I can use 10:4 pattern for TMPGEnc.

I am just talking about algorithm and wish can take effect to IVTC plugin maker.

OUTPinged_
25th May 2002, 16:41
afaik avisynth dlls use 5:2