『漫游』酷论坛>『影音数码技术学习交流』>[测试]TMPGEnc之强大而 ..

[测试]TMPGEnc之强大而混乱,也许不怎么实用的60FPS(待修正)

dizyh@2006-01-22 16:43

  
非常感谢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的相关测试完结。如有错误,还请各位指正与补充。
引用

細細粒@2006-01-22 17:01

等等就来拜文...orz

还是得实际操作下才明白了...
引用

dio1888@2006-01-22 18:30

dizyh兄真是强^^请问你有把自己写过的帖整理好吗?我觉得你应该办个站,让别人更容易找到这些技术资料。我看你的帖,每篇都花了不少心思的,如果就让它在论坛里浮沉太可惜了。
引用

adamhj@2006-01-22 19:53

我...完全看不懂你在说什么...
A1和a1不是同一场么?...
取单场的话不应该上下都来自同一场么?像
引用
A1│a2│B1│b2│C1│c2│C1│d2│D1│e2   │---奇数场
a2│B1│b2│C1│c2│C1│d2│D1│e2│下一个A1│---偶数场
这样的是什么意思?...
引用

FalconIA@2006-01-24 01:09

深奥 支持下di~~
引用

wolfsoft@2006-01-24 12:23

引用
最初由 adamhj 发布
我...完全看不懂你在说什么...
A1和a1不是同一场么?...
取单场的话不应该上下都来自同一场么?像

quote:
--------------------------------------------------------------------------------
A1│a2│B1│b2│C1│c2│C1│d2│D1│e2   │---奇数场
a2│B1│b2│C1│c2│C1│d2│D1│e2│下一个A1│---偶数场
--------------------------------------------------------------------------------

这样的是什么意思?...


估计是指在TMPG中的原始状态?
引用

adamhj@2006-01-24 12:34

引用
最初由 wolfsoft 发布


估计是指在TMPG中的原始状态?


死狼你跑哪里去逍遥了~几天不见人影

像这种大小写穿插的序列是什么意思?每个场又不是只能有30或者只能有24的部分~想破了头都不晓得这是什么意思...
引用

vempx@2006-01-24 12:51

说白了,在TMPEGEnc里,如果上面的小窗口里每帧都交错,那么就全部输出然后做Deinterlace,输出60fps -v-b
引用

vempx@2006-01-24 12:54

短时间的做成60或24或30都无所谓,小日本的DVD烂死了,做的时候就自己看着来吧,怎么效果好怎么弄.
长时间的每帧都交错,比如1a 1b 2a 2b ..... 都交错 就全部输出
然后Deinterlace用Even-Odd
眼见为实
效果差不多就行,反正没法完美还原 OTL
引用

adamhj@2006-01-24 12:59

引用
最初由 vempx 发布
说白了,在TMPEGEnc里,如果上面的小窗口里每帧都交错,那么就全部输出然后做Deinterlace,输出60fps -v-b


- -
这样做和我无视30的部分直接按24作ivtc然后deinterlace也差不多...你还多一倍的数据量...
引用

adamhj@2006-01-24 13:02

引用
最初由 vempx 发布
短时间的做成60或24或30都无所谓,小日本的DVD烂死了,做的时候就自己看着来吧,怎么效果好怎么弄.
长时间的每帧都交错,比如1a 1b 2a 2b ..... 都交错 就全部输出
然后Deinterlace用Even-Odd
眼见为实
效果差不多就行,反正没法完美还原 OTL



长时间交错?就算是24夹杂30的最多也就连续3桢交错吧?..你是不是选错场续了...
引用

vempx@2006-01-24 13:02

引用
最初由 adamhj 发布


- -
这样做和我无视30的部分直接按24作ivtc然后deinterlace也差不多...你还多一倍的数据量...

要看情况啊.....
一般动画里最多的30+24混合的
60的基本是电脑CG出来的

KOTOKO LIVE TOUR 2004 这物体就是60的 orz
引用

adamhj@2006-01-24 13:03

引用
最初由 vempx 发布

要看情况啊.....
一般动画里最多的30+24混合的
60的基本是电脑CG出来的

KOTOKO LIVE TOUR 2004 这物体就是60的 orz


我就是指24+30的啊,60的要么deinterlace要么取出来单独作60的然后合成vfr..
引用

vempx@2006-01-24 13:12

引用
最初由 adamhj 发布


我就是指24+30的啊,60的要么deinterlace要么取出来单独作60的然后合成vfr..


川田まみ 緋色の空 PV shana Ver.
这个东西 其中的自在法的一段动画是60的
我一般都是做120fps然后再封VFRMKV
引用

adamhj@2006-01-24 13:19

pv的话就算全60也不奇怪吧...
引用

«123»共3页

| TOP