博客网 >

关于IVTC的问题
作者:分类:默认分类标签:

帧=Frame / 场=Field / fps=Frame Per Second / Film=电影胶片

电影原本是 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 的作者。这些观念在作者的网页上都讲得很清楚。

节录当中的一段:
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)

如果片源是翻录的DVD,MPEG2码流中没有 RFF 旗标以供还原为Film ,用DeInterlace也只是模糊物体的边缘部分,是否有完美的办法呢?

DVD中的信息将在电视上显示,因此其记录的方式是基于场的。不过正规制作的Film->DVD会在原本23.976的MPEG2视频码流中加入一些flags(标志),以标志特殊场的方式制定某些场按特定顺序重复,以使23.976fps的Film以60场/秒的方式显示出来。

而以DVD2AVI为代表的IVTC软件,就是利用这种加入在MPEG2码流中的flags快速的还原60场的MPEG2为23.976fps的原始Film信息。

但是模拟翻录DVD,显然将会丢失这些以0/1方式记录在DVD光盘中MPEG2码流中的flags标志。所以在用DVD2AVI这类软件打开模拟翻录的D版DVD中的MPEG2码流时,不会识别为Film,并判断此片不需要IVTC!

但是实际上这样的D版DVD是否还需要IVTC呢?——进入正题了

由刚才对于DVD制作过程的描述,我们可以发现,播放一张正版DVD(就拿刚才假设历时为1/6秒的Film->DVD为例),其出现在Video-OUT模拟视频线(任以一种)的场应该是以类似这样的顺序排列的:A1 A2 B1 B2 B1 C2 C1 D2 D1 D2

那么即使是模拟翻录,录制下来的视频信号也是以:A1 A2 B1 B2 B1 C2 C1 D2 D1 D2 的顺序存在的,而其与源DVD的区别是:

1。以29.976fps记录
2。没有MPEG2码流中flags以供还原为Film
3。起点有可能出错,例如变为 A2 B1 B2 B1 C2 C1 D2 D1 D2
4。由于播放机与录机之间的时基误差(电源、晶振)可能会lost或rapeat的错误,例如:A1 A2 B1 B1 B1 C2 C1 D2 D1 D2

但是,不论有什么场的差距,模拟翻录DVD不会自己生出新的画面,所有画面仍然是源于最初的film中的A B C D。也正因为如此,IVTC将模拟翻录的DVD还原为23.976的Film仍然是可能的,其方法就是使用Tmpgenc。

Tmpgenc不是利用MPEG2中的flags来做IVTC,而是交错比较各帧和场后,经过比较、判断场与场之间的差距(拉丝-Flick),判断决定还原那些特定的场。因此使用Tmpg,即使MPEG2中没有flags,或者flags错误,只要来源是Film,就可以很好的还原其为23.976的画面。

好处:29.976的画面中仍会有交错的场出现,例如 B1 C2 。如果是大运动画面,B1 C2这一帧就会出现拉丝、横纹。如果制作时使用DeInterlace(Blend),则会模糊物体的边缘部分,显然会不如源Film的画面清晰亮丽。

可能的问题1:模拟翻录时的实际过程比较复杂,但基于场序的传输是基本。如果在模拟翻录时,曾经用一些画面优化设备(例如运动补偿,也就是模拟的DeInterlace)变动过画面,那么使用IVTC也难以还原出清晰亮丽的Film画面

可能的问题2:用Tmpgenc打开模拟翻录的DVD时,无论FieldOrder选择A或B,用DeInterlace(even-odd)来观察到“倒退的帧”,出现会变少(目前观察到的案例不多)。

关于“倒退的帧”。为什么会出现倒退的帧呢?如前所述,一张Film->DVD的MPEG2应该以正阳的顺序记录场:A1 A2 B1 B2 B1 C2 C1 D2 D1 D2

如果假设FieldOrder=A时为:A1 A2 B1 B2 B1 C2 C1 D2 D1 D2

DeInterlace(even-odd)时顺序出现:A1 A1 | A2 A2 | B1 B1 | B2 B2 | B1 B1 | C2 C2 | C1 C1 | D2 D2 | D1 D1 | D2 D2

那么FieldOrder=B时则为:A2 A1 B2 B1 C2 B1 D2 C1 D2 D1

DeInterlace(even-odd)时顺序出现的是:A2 A2 | A1 A1 | B2 B2 | B1 B1 | C2 C2 | B1 B1 | D2 D2 | C1 C1 | D2 D2 | D1 D1 —— 因此有了“倒退的帧”

关于IVTC就到这里,(GordianKnot中avs的Inverse Telecine选项处理IVTC的方式大概和Tmpgenc类似,也能有效处理隔行画面)可能有人头晕了吧?呵呵!我也是 :) 关于怎样用IVTC这里也就不讲了,又会是一大篇。
<< ADSL猫的型号、芯片、管理IP... / ADSL断流掉线问题分析及解决方... >>

专题推荐

不平凡的水果世界

不平凡的水果世界

平凡的水果世界,平凡中的不平凡。 今朝看水果是水果 ,看水果还是水果 ,看水果已不是水果。这境界,谁人可比?在不平凡的水果世界里,仁者见仁,智者见智。

中国春节的那些习俗

中国春节的那些习俗

正月是农历新年的开始,人们往往将它看作是新的一年年运好坏的兆示期。所以,过年的时候“禁忌”特别多。当然,各个地方的风俗习惯不一样,过年的禁忌也是不一样的。

评论
0/200
表情 验证码:

士心

  • 文章总数0
  • 画报总数0
  • 画报点击数0
  • 文章点击数0
个人排行
        博文分类
        日期归档