IVTC的一些经验,欢迎大家一起来讨论
xxp@2003-01-25 15:28
引用
Silky
电影原本是 24fps 的,在胶卷过带(Telecine)的时候,NTSC 制会经过 3:2 pulldown 转为 30fps。
也就是原本 1 2 3 4 四个 Frame,拆成 1o 1e 2o 2e 3o 3e 4o 4e,每个 Frame 拆成奇数扫瞄线组成的奇数图场(Odd Field)和偶数扫瞄线组成的偶数图场(Even Field)。重新组合如下(以 Odd Field First 的顺序)
1o 1e - 2o 2e - 2o 3e - 3o 4e - 4o 4e
[ A ] - [ B ] - [ C ] - [ D ] - [ E ]
每两个 Field 再重新组合成一个 Frame,就变成 [A][C][D][E] 五张 Frame。这样由原本的 4 张变成 5 张,4*6 = 24 => 5*6 = 30,就能从 24fps 转为 30fps。
在电视上看,电视因为是交错显示,所以看不到交错线。但是在计算机上看,计算机屏幕是循序显示,所以中间的 2o 3e -3o 4e 这两张 Frame 中的 Field 分别来自不同的 Frame,一起显示的话就会看到交错的现象。
DVD 压缩的时候,母带是胶卷过带(Telecine)后的 30fps,但是我们知道,其实原本的影片是 24fps 的,这 30fps 其实是从 24fps 转出来的,中间有不必要重复的 Field。这些重复的 Field 会造成交错,使得每 5 个 Frame 中就有 2 个 Frame 交错(名言:每五张烂两张),这些交错的画面要压缩不但浪费空间,而且交错画面又难压缩,会使得压缩的效果很差。
所以先进的 DVD 压缩制程,在压缩时都会使用 IVTC(inverse telecine,反胶卷过带),将 30fps 转回 24fps,这样压缩的画面张数由 30fps 减少为 24fps,少了 20%,等于 Bitrate 增加 20%,而且画面无交错容易压缩,所以压出来的画质会好很多。
但是 IVTC 检出不一定能做到 100%,遇到无法检出、判断的部分,Encoder 还是会以原本的 30fps 来压缩。所以我们会看到有些 DVD,是 Film(24fps)和 NTSC(30fps)混合的 DVD,又叫做 Hybird(混合)的 DVD,这个意思就是说,这张 DVD 内的画面,是 24fps 无交错,和 30fps 有交错两种型态互相混合的。
通常 RC1 八大电影公司出的 DVD IVTC 率都很高,几乎都高达 99% 以上,但是其它的公司出的 DVD 就不一定有这么高的比例。IVTC 100% 的 DVD 代表这张 DVD 内完全以 24fps 压缩,那么在 30fps/60 field/s NTSC 制的电视机上要播放时,要怎么播放呢?这些 DVD 在压缩的时候,Encoder 会写入一个 Flag(旗标)的信息,叫做 Repeat First Field,简写为 RFF。根据这个 RFF,DVD 机播放的时候,就会知道哪些 Field 要重复输出,利用重复输出这些 Field,DVD 机就会再播放的时候,做上面提过的 3:2 pulldown 的动作,在播放的同时,将 24fps 转为 30fps 输出,这样就能在电视上正常收看了。
PAL 制则不一样,胶卷过带时是采用 2:2 pulldown,也就是仍然输出原本无交错的 Frame,但始将播放速度加快 4%,声音也一起加快 4%,提升为 25fps,所以理论上来说,PAL 很好处理,因为画面根本无交错,所以直接压缩即可。不过我在这里看到有朋友提到,PAL 的 DVD 还是有些是交错的,这点我就不明白是为什么了,可能是制作过程上有问题吧。(譬如说用 DV 去拍的影片,DV 大部分是交错式拍摄,张张都交错,是补不回来的)
DVD2AVI 的 Force Film,所作的处理,和 TMPGEnc 的 IVTC 不一样。TMPGEnc 的 IVTC 是跑一遍分析画面的信息,计算每一张画面的「奇数扫瞄线和偶数扫瞄线的差异」和「动态」这两个信息,藉由这些数据,推测出原本的 24fps 的顺序,将画面反转回原本的 24fps。因为需要分析、计算这些数据,所以跑第一遍的时候花的时间要比较久。而 DVD2AVI 则完全不一样,DVD2AVI 是根据上面提到的 RFF 这个旗标的信息,将重复的 Field 删除掉,直接原封不动的输出 DVD 内原本储存的 24fps 的 Frame。因为只是做这样的判断,所以速度很快,存 .d2v 档时一下子就存好了。所如果这部 DVD 在压缩时的 IVTC 率很高,Film 的比例高达 95% 以上,内部原本就是储存 24fps 的形式,这样才可勾选「Force Film」这个选项。如果该 DVD 的 IVTC 率很低,内部大部分是 30fps 的形式,选「Force Film」输出,你会得到乱七八糟的结果。所以在使用「Force Film」这个选项之前,必须先用 Preview 预览一次,让 DVD2AVI 跑一小段试试看,这部 DVD 的 IVTC 率究竟有多高,如果 Film 的比例很低,那么就不可以使用 Force Film 输出。
另外如果是 PAL 制的 DVD,更不可以开 Force Film,否则 DVD2AVI 会每五张砍掉一张,原本 25fps 会变成 20fps,画面会错得离谱。PAL 的画面就是原本电影无交错的画面,不需要做 IVTC,如果你的 PAL DVD 有怪异的交错,那么我猜测它的讯源一定是非""正规""的讯源(例如 DV),才会发生这种现象。遇到这种情况你应该作的是 Deinterlace,而不是 IVTC。
DVD2AVI 的 Force Film 和 TMPGEnc 的 IVTC,两者的作法和使用的时机都不同,使用者要自己判断该用哪一种方法。如果有人拿 Film 率很低的片子用「Force Film」输出,得到惨不忍睹的结果,然后怪 DVD2AVI 的 "IVTC" 烂,那真是冤枉了 DVD2AVI 的作者。这些观念在作者的网页上都讲得很清楚。
http://arbor.ee.ntu.edu.tw/~jackei/dvd2avi/doc/issue.html#videotype
节录当中的一段:
Forced FILM is based on RFF detection and frame decimation/duplication.
NTSC or PAL + Forced FILM ON -> garbage
FILM + Forced FILM ON -> synchronous 23.976 fps flawless FILM (equals to IVTC)
作者说,Force Film 是根据 RFF 旗标侦测和删除重复的 Frame。
NTSC(30fps)或者是 PAL 的讯源,如果开了 Force Film,得到的东西会是 garbage,垃圾。
Film 的讯源开 Force Film,才会是同步的 23.976fps,无错误的 Film 影像(equals to IVTC,等于做 IVTC)。
作者已经说得这么清楚了,就请大家要有正确的观念,不要再冤枉他了
帮 DVD2AVI 的作者申申冤
引用
csr2000
IVTC
1. AviUtl还开发了Interlace解除2,和本来的Interlaced解除结合使用,据说效果很好。
2. AviSynth的Plugin IT,Decomb如果不用Post的话,去场的成功率不如IT,用的话,画面质量又不如IT了,而且IT的场景过渡非常平滑。
3. AviSynth的Plugin WarpSharp,内置AutoFPS24,去场率据说比IT还高,但是要指定是TOP还是BOTTOM,24帧化场景过渡卡的比较明显,所以一般先用AutoFPS24去场,然后用Decomb的Decimate来抽帧。
4. AviSynth的Plugin Decomb,再加AntiComb的话,就无需post了,效果比较好,但AniComb对片中的小字,比如Credite里的,杀伤力比较大。
5. AviSynth的Plugin GreedyHMA,比较老的了,有颜色方面的bug,所以没有试过,不过据说出了改良版,修正了bug。
6. AviSynth的Plugin IVTC22和IVTC4,也没有试过。
littleyizhi@2003-01-25 22:08
纯粹的NTSC 3:2 pulldown的30->24,假设reference=top,YUV2状态下,直接用IT效果非常好。xxp@2003-01-26 00:04
引用最初由 littleyizhi 发布
但如果是报告NTSC,用Decimate(mode=3,threshold=1.0,quality=3)就好像有点问题,Decomb的作者也说了,MODE=3是适用于hybrid clips多数是FILM的情况。
引用不过作op&ed这些30fps的地方,如果要求完美,就要保证frame rate不变,在YUV2状态用IT(fps=30,ref="top",blend=false)效果很好,但在AVISYNTH 2.5 如果要用IT必须要转换工作环境(速度要慢很多),所以我用Telecide(guide=1,Gthresh=50,Chroma=true,Threshold=15,dthreshold=5,Post=false,mm=0) Decimate(mode=1,cycle=5,quality=3),但是用的心里发毛,不过出来的的确是30fps的。(也不知道对不对,请XXP兄指正) 不过好在op&ed比较短,所以我还是用IT,慢就慢一点。
muddle@2003-01-26 00:29
视频中间有交错的帧?虽然没见过,可是我觉得真要有这情况,那也要裁出来单独来做吧,否则用同一参数的话别的部分岂不是要做坏了?littleyizhi@2003-01-26 08:42
嗯嗯,XXP兄说的很对“本来就是30fps而且每帧都是非交错的,完全不用作IVTC这些的”,比如小弟手上也有的攻壳的op/ed 和 ZOE的OP&ED等等都是Progressive的,的确不需要做IVTC(哈哈,不作IVTC的话,速度也可以快一点) ,但我在压制饿沙罗鬼的OP&ED时,Interlaced的帧的比例相当大,几乎达到75%,而且不少Interlaced的帧很不明显,要仔细看才能看出,所以要做IVTC。(偶传了这个VOB在/YEPP/TEST )魔术杨@2003-02-20 08:26
问个比较弱的问题 怎么分辨纯3:2PullDown和Hybird的FILM和NTSC混合的clip但NTSC占绝大多数的情况? 难道要用DvD2AVI完整的跑一遍?xxp@2003-02-20 12:39
dvd2avi报告的也不一定正确,参考那些信息,然后自己眼睛去看,呵呵skywalker@2003-02-24 00:00
我有个问题, 像 Threshold=15,dthreshold=5,Post=false 这句, 如果post 都关掉了, 那设定Threshold和dthreshold还有什么意义呢, 这两个不是post processing的设定吗?xxp@2003-02-24 00:34
嗯,现在都是用true的xxp@2003-02-24 00:40
现在用的是skywalker@2003-02-24 01:22
另外, Threshold和dthreshold有什么区别啊, decomb的readme里面说这两个都是管deinterlace的, 但没说有什么区别.xxp@2003-02-24 02:47
有区别的,参考以前再天空那边写的skywalker@2003-02-24 03:52
上面说的IVTC实际上是指的deinterlace吧, 不过这里面的"IVTC的力度"我不明白是什么意思, deinterlace无非是做或者不做, 难道还有做多做少之分. 既然threshold已经控制了combed frame的判定, 那dthreshold还有什么作用呢?魔术杨@2003-02-24 07:41
XXP能不能像精品的小嘴巴兄一样 截图对比一下?剑路1029@2003-02-24 08:31
Auto24fps(false,24,16,"blend",false)