非常感谢adamhj兄的指正。
对于24/30FPS的overlay我晕死了。
其实在[整理]“交错的产生与解除……”之DVDrip制作半程分析“里面我分析EVA09的倒记时字幕交错的原因时已经正确画出了图示,不想,这次钻入了”渐变“的牛角尖,反而绕了个错误的大圈子。非常抱歉我的大错误。偶检讨~
幸好手法处理思路上受到的影响并不大,还不至于对大家造成更坏的影响。
关于这个帖子,现在手头做测试实在不方便。我将在春节过后进行彻底的除虫修正。望大家谅解一二。
60FPS(以下除非说明是场速率,其余均指帧速率)说起来复杂,做起来也许麻烦,用起来也不怎么实用。不过,技术总是为创意而服务的,所以,必要的时候还是需要知道这东西是个啥。下面,进行下测试,你会发现60FPS不过如此。
制作60FPS的标准定义是:在DVD→DVDRip的时候,把一帧拆成奇偶两场,然后把场补成帧,于是我们就可以获得60FPS。(其强大在拆,其混乱在补)
如果你对本文相关概念不明白请先顺序看这里:
[整理]“交错的产生与解除、TMPGEnc的手动、AVS的思考、aviutl使用”之DVDrip制作半程分析
http://popgo.net/bbs/showthread.php?s=&threadid=347822 [补充]Crop&Resize原理XT版
http://popgo.net/bbs/showthread.php?s=&threadid=363102 [测试]TMPGEnc的拷贝帧应用
http://popgo.net/bbs/showthread.php?s=&threadid=364715 [整理]→[补充]→[测试]<---- 倒~~~
正文开始,首先我们看看一种交错的原理分析(以最小结构来分析)。注意:以下分析仅是个人的推测。我只保证这个原理设定可以符合我们RIP时的取舍参考,并不对其真实性负责。(不能再看相关书籍了,再沉溺下去,我现实中的工作方向都要受影响了^0^,当然如果您如果看到里面有理解错误的地方,还请多多指正)
目标对象:左边24FPS右边30FPS的渐变。
首先是交错产生与如何解决的原理分析。
1、把左边24FPS拆为30FPS(以场表示)(文本不好用做格式,将就下,上下是一帧,以│分隔)
A1│B1│C1│C1│D1
A2│A2│B2│C2│D2
2、右边30FPS(以场表示)
a1│b1│c1│d1│e1
a2│b2│c2│d2│e2
3、左边24FPS部分取奇数场,右边30FPS部分取偶数场,并混合成帧——也就是DVD中的渐变帧(猜测哦,错了不负责,HOHO~~)
A1│B1│C1│C1│D1
a2│b2│c2│d2│e2
在电视中的顺序是以60FPS(场速率)播放:A1│a2│B1│b2│C1│c2│C1│d2│D1│e2 (完美的过渡——但只对隔行的电视。换成逐行的显示器可就交错连连了)
最标准、最完美也最强大的60FPS处理做法(120FPS、VFR等等都可以靠边去了):每一帧拆成奇偶场,然后宽高均缩小一半,即整个画面缩小为原画面的1/4。原因是隔行的电视为隔行(奇偶场)而优化,但电脑用的显示器比较精细为逐行而优化。因此,不缩小画面也不补象素的话,对于显示器而言意味着超重的锯齿(因为对于奇数场的两行象素间少了一个偶数场的过渡象素)。
做法简易图示:TMPGEnc中首先按“ctrl+p”,然后输入“1111111111”,然后从第一帧开始,右键菜单选择“指定从本帧开始的交错解除方式”为“奇数场”(因为在TMPGEn里被重新组合拆成10帧):
A1│a2│B1│b2│C1│c2│C1│d2│D1│e2 │---奇数场
a2│B1│b2│C1│c2│C1│d2│D1│e2│下一个A1│---偶数场
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1 2 3 4 5 6 7 8 9 10
奇 奇 奇 奇 奇 奇 奇 奇 奇 奇 │---反交错手法
实际得到的正好是在电视中的正确顺序——是以60FPS(场速率)播放:A1│a2│B1│b2│C1│c2│C1│d2│D1│e2
据说"头文字D 4TH"的ISO符合此情况。请SQ帮忙下了,但可能下的会比较久。因此本手法先在SCRAPPED+PRINCESS NCOP.vob中通过,虽然它不是24FPS与30FPS的渐变,只是24FPS到24FPS的渐变,但原理不会变。
我们接着来继续看看其他的办法。
我们有四种办法可以解决交错并获得正确(或者说在误差内)的IVTC。
a、以场为帧,60FPS做法:如上分析。
b、补象素,24FPS做法(由于奇偶场来自不同的帧速部分,导致的交错,还需要手工去解决):
A1│B1│C1│C1│D1 A1│B1│ C1 │D1
a2│b2│c2│d2│e2----〉 a2│b2│c2或者d2│e2
再看在TMPGEnc里的实际显示示意图(在TMPGEn里被重新组合拆成10帧):
A1│a2│B1│b2│C1│c2│C1│d2│D1│e2 │
a2│B1│b2│C1│c2│C1│d2│D1│e2│下一个A1│
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1 2 3 4 5 6 7 8 9 10
24FPS的做法,我们只需要在上述10帧里正确选择4帧(保证24FPS部分的正确IVTC)做反交错(滤镜拷贝帧随便用)后即可变成RIP需要的24FPS:
A1│B1│ C1 │D1│
a2│b2│c2或者d2│e2│---本行未必是这些数字
很明显,这样做至少会丢失30FPS部分里的c2或者d2其中一个场或者其他场的信息。因此这不是一个好的做法。或者说是一个错误的做法。
如果遇到象上边“[测试]TMPGEnc的拷贝帧应用”中“SCRAPPED+PRINCESS NCOP.vob”那种两边均是24FPS的渐变倒是个比较好的做法。把这个原理设定换成“左24FPS右24FPS渐变”交错示意图,就是我在那个测试里不赞成60FPS而看好使用帧率加倍做成24FPS的部分原因。
(另个原因是:由于重复某个场,会导致该场的显示时间改变:比如原本是1/24秒,会变成1/30秒*2,因此在运动变化上会出现不均匀的现象。即使这种变化未必能被我们所觉察,但非不得已,还是不建议对于这种左右均为24FPS的渐变进行30FPS化或者60FPS化)
c、补象素,30FPS做法:类似24FPS化的分析大同小异。我们重复24FPS里的C2即可保证30FPS里的c2以及d2均被保留。如果交错部分也以类似上边24FPS化的分析做法做成30FPS,我们就可以做成两段:24FPS与30FPS两部分,最后连接做成120FPS的,不过与下面的d办法相比:不够d办法灵活,大家看着办吧。
d、补象素,以拷贝帧为基础的60FPS做法:这个其实是比较好的做法,只是因为麻烦,也不怎么好用,导致它的实用价值太小了。“[测试]TMPGEnc的拷贝帧应用”里面那个24与24的渐变也放到这里再次分析它为什么也有做这种60FPS的可能性。
我们已经知道电视是以场形式播放,很显然对于这种“左24FPS渐变到右30FPS”的情况存在着场场不同的问题。由于奇偶场来自不同的帧速部分,导致的交错——这种交错是真正的我们所要讨伐的对象。
于是,另一种60FPS做法出炉罗(可以重复场,但不丢失任何场):
A1│B1│C1│C1│D1
a2│b2│c2│d2│e2
在TMPGEn里被重新组合拆成10帧
A1│a2│B1│b2│C1│c2│C1│d2│D1│e2│
a2│B1│b2│C1│c2│C1│d2│D1│e2│下个A1│
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1 2 3 4 5 6 7 8 9 10
你只要在这里手动反交错即可。看:如果你选择做成24FPS的话,你只能在这10帧里挑出4帧;如果你选择做成30FPS的话,你只能在这10帧里挑出5帧;如果你做成60FPS,此时就可以把这10帧全部使用。
此情况最复杂我们的灵活性也最大。单场、双倍、自适应、拷贝帧,手法随你用。只要能保证流畅性,怎么漂亮怎么好看就怎么来吧。 SCRAPPED+PRINCESS NCOP.vob那个24与24的渐变也因此可以这样做做。
总之,以上交错情况我们都只能无限的接近完美。而不能说哪个是最正确的做法。
此外,以上的做法到最后都因为由不同帧速部分而需要做成120FPS(如果不做成VFR的话)。
另外,我们还可以用以拷贝帧为基础的复杂式60FPS来做成单一60FS帧速或者30FPS的。遗憾的是:因为过于烦琐以及缺陷几率的增大,其实用价值太小了。
做法:以30FPS的交错处理手法,把纯24FPS与纯30FPS部分都解除然后每一帧后都使用一下拷贝帧变成60FPS(如果不做拷贝,那么就是30FPS,后面的渐变解除也要做成30FPS,以便做成单一30FPS的);然后用60FPS的做法解除渐变处的交错。最后连接全部片段即可。
首先处理纯24FPS部分成30FPS或者60FPS。
A1│B1│C1│D1
A2│B2│C2│D2 --->-- 24FPS部分胶卷过带 ---->
A1│B1│C1│C1│D1
A2│A2│B2│C2│D2 --> TMPGEn ---->
A1│A2│B1│B2│C1│C2│C1│D2│D1│D2 │
A2│B1│B2│C1│C2│C1│D2│D1│D2│下一个A1│
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1 2 3 4 5 6 7 8 9 10
简化一下:ctrl+p输入1010120010 获得了
A1│B1│C1│C2│D2│
A2│B2│C2│C1│D1│
↑ ↑ ↑ ↑ ↑
1 3 5 6(5) 9
这个要仔细看啊,不是24FPS的1010100010,而是以拷贝帧为基础的1010120010算法获得的30FPS。也就是把24FPS转成了30FPS。
当然你也可以这样做:ctrl+p输入1212112112 或者 1212122122 获得60FPS。
我的天,检查好麻烦那,还有潜在的运动不均匀缺陷。放弃!
最后:TMPGEn本身那个做复杂式24/30FPS到60FPS化的滤镜:它仅仅在解除交错控制参数范围内简陋地解除交错并做IVTC并做拷贝帧动作。也就是说纯24FPS部分那交错的两帧是很难被正确IVTC的。非常的不可靠。错误率太高。这也是我对这个办法最后放弃的原因。全程手工张张做好累啊。而且,有这个代价必要吗??^0^
至本文,TMPGEn的相关测试完结。如有错误,还请各位指正与补充。