搜索 社区服务 统计排行 帮助
  • 3262阅读
  • 23回复

IVTC的一些经验,欢迎大家一起来讨论

楼层直达
xxp
级别: 工作组
注册时间:
2002-05-08
在线时间:
0小时
发帖:
6398
引用

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,也没有试过。


silky对为什么要做IVTC说得比较清楚了,csr也大概的说了怎么做IVTC
下面就我正在用的IVTC做法说说
1、纯粹的NTSC 3:2 pulldown的30->24,假设reference=top
YUV2下
IT(fps=24,ref="top",blend=false)
或者IT(fps=30,ref="top",blend=false).decimate(mode=2,quality=3)
YV12下
Telecide(guide=1,Gthresh=50,Chroma=true,Threshold=15,dthreshold=5,Post=true,mm=0).Decimate(mode=2,quality=3)
或者Telecide(guide=1,Gthresh=50,Chroma=true,Threshold=15,dthreshold=5,Post=false,mm=0).Decimate(mode=2,quality=3).AntiComb()
2、Hybird的FILM和NTSC混合的clip
情况一,dvd2avi报告FILM多的
Telecide(guide=1,Gthresh=50,Chroma=true,Threshold=15,dthreshold=5,Post=true,mm=0).Decimate(mode=3,threshold=1.0,quality=3)
情况二,dvd2avi报告NTSC多的
Telecide(guide=1,Gthresh=50,Chroma=true,Threshold=15,dthreshold=5,Post=true,mm=0).Decimate(mode=1,threshold=1.0,quality=3)
上面的2种处理都是在YV12下,如果在YUV2下,不知道能不能用IT(fps=30,ref="top",blend=false)再加Decimate(mode=1,threshold=1.0,quality=3)或Decimate(mode=3,threshold=1.0,quality=3)来处理,没试过,呵呵

欢迎大家来指正,特别是对于Hybird情况的处理,我自己都感觉不太好,只是硬着头皮用的,呵呵

你不能决定生命的长度,但你可以控制它的宽度。
你不能左右天气,但你可以改变心情。
你不能改变容貌,但你可以展现笑容。
你不能控制他人,但你可以掌握自己。
你不能预知明天,但你可以利用今天。
你不能样样胜利,但你可以事事尽力。
级别: 版主
注册时间:
2002-10-16
在线时间:
1小时
发帖:
1143
只看该作者 1楼 发表于: 2003-01-25
纯粹的NTSC 3:2 pulldown的30->24,假设reference=top,YUV2状态下,直接用IT效果非常好。
如果是hybrid clips,如果DVD2AVI报告FILM多,XXP兄的设置效果也非常好,但如果是报告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,慢就慢一点。

xxp
级别: 工作组
注册时间:
2002-05-08
在线时间:
0小时
发帖:
6398
只看该作者 2楼 发表于: 2003-01-26
引用
最初由 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,慢就慢一点。

本来就是30fps而且每帧都是非交错的,完全不用作IVTC这些的,呵呵
比如攻壳的op/ed,就不需要作IVTC
但是如果当中出现了部分交错的帧,就需要IVTC,这时你的做法应该就是没问题的了(:)),Telecide(guide=1,Gthresh=50,Chroma=true,Threshold=15,dthreshold=5,Post=false,mm=0).Decimate(mode=1,cycle=5,quality=3)

另外telecide的Gthresh=50,Chroma=true,Threshold=15,dthreshold=5,mm=0这些参数,到底用什么才是最好,还是挺麻烦的
极度希望有支持YV12的IT。。。。。。。。

你不能决定生命的长度,但你可以控制它的宽度。
你不能左右天气,但你可以改变心情。
你不能改变容貌,但你可以展现笑容。
你不能控制他人,但你可以掌握自己。
你不能预知明天,但你可以利用今天。
你不能样样胜利,但你可以事事尽力。
级别: 工作组
注册时间:
2003-01-23
在线时间:
0小时
发帖:
56
只看该作者 3楼 发表于: 2003-01-26
视频中间有交错的帧?虽然没见过,可是我觉得真要有这情况,那也要裁出来单独来做吧,否则用同一参数的话别的部分岂不是要做坏了?

关于Deinterlace方面的东西,没啥经验,就盼着你们多说点我赶紧学:D
级别: 版主
注册时间:
2002-10-16
在线时间:
1小时
发帖:
1143
只看该作者 4楼 发表于: 2003-01-26
嗯嗯,XXP兄说的很对“本来就是30fps而且每帧都是非交错的,完全不用作IVTC这些的”,比如小弟手上也有的攻壳的op/ed 和 ZOE的OP&ED等等都是Progressive的,的确不需要做IVTC(哈哈,不作IVTC的话,速度也可以快一点) ,但我在压制饿沙罗鬼的OP&ED时,Interlaced的帧的比例相当大,几乎达到75%,而且不少Interlaced的帧很不明显,要仔细看才能看出,所以要做IVTC。(偶传了这个VOB在/YEPP/TEST )
以前动画一般都是OP+正文+ED,把OP&ED 与 正文分开处理就好,但是似乎现在很多都喜欢是 正文(小段)+OP+正文+ED+正文(小段),处理起来比较麻烦,这也许就是追求完美的代价吧。
IT的原作者已经停止开发了,希望有其它高手能购继续开发,让IT能直接在YV12状态下使用。
题外话,Kiraru2002の部屋的东西,只是明白其中一小部分(日语烂呀),不过最近好像更新速度比以前要慢了。
随便请教一下,AVISYNTH 2.5 XXP兄用什么来代替_2D滤镜,小弟试用了DEEN,不过感觉效果不如_2D好,不知道XXP兄有没有好的建议。

突然发现在工作室里面发贴是不奖励漫元,不好小弟快没HP了,赶紧到外面去游泳。闪......:(

级别: 工作组
注册时间:
2001-11-21
在线时间:
0小时
发帖:
795
只看该作者 5楼 发表于: 2003-02-20
问个比较弱的问题 怎么分辨纯3:2PullDown和Hybird的FILM和NTSC混合的clip但NTSC占绝大多数的情况? 难道要用DvD2AVI完整的跑一遍?
xxp
级别: 工作组
注册时间:
2002-05-08
在线时间:
0小时
发帖:
6398
只看该作者 6楼 发表于: 2003-02-20
dvd2avi报告的也不一定正确,参考那些信息,然后自己眼睛去看,呵呵
可以在GK里打开d2v文件,然后一帧一帧的慢慢研究,呵呵

你不能决定生命的长度,但你可以控制它的宽度。
你不能左右天气,但你可以改变心情。
你不能改变容貌,但你可以展现笑容。
你不能控制他人,但你可以掌握自己。
你不能预知明天,但你可以利用今天。
你不能样样胜利,但你可以事事尽力。
级别: 版主
注册时间:
2001-11-21
在线时间:
0小时
发帖:
2803
只看该作者 7楼 发表于: 2003-02-24
我有个问题, 像 Threshold=15,dthreshold=5,Post=false 这句, 如果post 都关掉了, 那设定Threshold和dthreshold还有什么意义呢, 这两个不是post processing的设定吗?

live id: liusu119@hotmail.com
email: liusu119@gmail.com
xxp
级别: 工作组
注册时间:
2002-05-08
在线时间:
0小时
发帖:
6398
只看该作者 8楼 发表于: 2003-02-24
嗯,现在都是用true的

你不能决定生命的长度,但你可以控制它的宽度。
你不能左右天气,但你可以改变心情。
你不能改变容貌,但你可以展现笑容。
你不能控制他人,但你可以掌握自己。
你不能预知明天,但你可以利用今天。
你不能样样胜利,但你可以事事尽力。
xxp
级别: 工作组
注册时间:
2002-05-08
在线时间:
0小时
发帖:
6398
只看该作者 9楼 发表于: 2003-02-24
现在用的是
IT(fps=24,ref="top",blend=true)

Auto24fps(true,24,16,"blend",false)

Auto24fps(false,24,16,"blend",false)
Decimate(mode=2,quality=3)

Telecide(guide=0/1,Gthresh=50,Chroma=true,Threshold=15,dthreshold=1,Post=true)
Decimate(mode=2,quality=3)
还有其他正在测试中,反正哪个好就用哪个

你不能决定生命的长度,但你可以控制它的宽度。
你不能左右天气,但你可以改变心情。
你不能改变容貌,但你可以展现笑容。
你不能控制他人,但你可以掌握自己。
你不能预知明天,但你可以利用今天。
你不能样样胜利,但你可以事事尽力。
级别: 版主
注册时间:
2001-11-21
在线时间:
0小时
发帖:
2803
只看该作者 10楼 发表于: 2003-02-24
另外, Threshold和dthreshold有什么区别啊, decomb的readme里面说这两个都是管deinterlace的, 但没说有什么区别.

live id: liusu119@hotmail.com
email: liusu119@gmail.com
xxp
级别: 工作组
注册时间:
2002-05-08
在线时间:
0小时
发帖:
6398
只看该作者 11楼 发表于: 2003-02-24
有区别的,参考以前再天空那边写的
threshold (0-255, default 15) sets the combed frame detection threshold for the postprocessing. You may want to increase this value if too many good frames are being deinterlaced, or reduce it if small combed areas are not getting caught. The default is a good general purpose value. Note that this threshold determines whether a frame is considered combed and needs to be deinterlaced; it is not the threshold you might be familiar with in Smart Deinterlacer. That threshold is determined by dthreshold (below); it is the threshold for deinterlacing the frames detected as combed.

dthreshold (0-255, default 9) sets the threshold for deinterlacing frames detected as combed. Note that this threshold is the threshold you might be familiar with in Smart Deinterlacer.

我自己的理解是threshold这里越大,被认为是非交错而留下来不进行IVTC的frames会越多,但就可能会让交错的frames也被认为是非交错的不做IVTC处理,而导致画面抽丝现象去除不干净。而dthreshold就是对被认为是交错的frames进行IVTC的力度是多大,这个值越大,则交错的frames里IVTC的力度越小(这里是个人感觉,实际要看大家怎样用了)。
你可以先用缺省的值编写好avs后用vd或者nd打开,然后看output窗口,拖动到motion很厉害的帧那里,看IVTC的效果,然后就首先调整threshold的值,调整一次重新打开avs到motion厉害的帧对比一次,直到最满意为止,然后再调整dthreshold的值。当然也可以一起调整,不过dthreshold缺省效果就不错了。这个调整方法不一定科学,最好办法还是应该是使用某个值试压一次后看效果再定比较好,呵呵。
ps.可以使用avsperiview来放大画面对比效果

你不能决定生命的长度,但你可以控制它的宽度。
你不能左右天气,但你可以改变心情。
你不能改变容貌,但你可以展现笑容。
你不能控制他人,但你可以掌握自己。
你不能预知明天,但你可以利用今天。
你不能样样胜利,但你可以事事尽力。
级别: 版主
注册时间:
2001-11-21
在线时间:
0小时
发帖:
2803
只看该作者 12楼 发表于: 2003-02-24
上面说的IVTC实际上是指的deinterlace吧, 不过这里面的"IVTC的力度"我不明白是什么意思, deinterlace无非是做或者不做, 难道还有做多做少之分. 既然threshold已经控制了combed frame的判定, 那dthreshold还有什么作用呢?

live id: liusu119@hotmail.com
email: liusu119@gmail.com
级别: 工作组
注册时间:
2001-11-21
在线时间:
0小时
发帖:
795
只看该作者 13楼 发表于: 2003-02-24
XXP能不能像精品的小嘴巴兄一样 截图对比一下?
级别: 版主
注册时间:
2002-04-27
在线时间:
0小时
发帖:
1585
只看该作者 14楼 发表于: 2003-02-24
Auto24fps(false,24,16,"blend",false)
Decimate(mode=2,quality=3)

Auto24fps(true,24,16,"blend",false)
Decimate(mode=1,quality=3)
好像基本相同
效果有点不同
不知道哪个好
快速回复

限150 字节
上一个 下一个