NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 4164|回复: 4

画中画+动态背景+30i字幕的处理横向比较

[复制链接]
发表于 2009-7-28 22:16 | 显示全部楼层 |阅读模式
最近碰到个稍微麻烦一点的ED
3:2pulldown的画中画
5帧中有一帧交错(不知道这类怎么称呼)的背景
以及最后加上去的30i的字幕

一般来说,比较大路化的是直接走60FPS比较省力,画面也相对讨好些

这里便顺便比较下几种不同滤镜的效果(顺便也试试看NV的效果)

测试环境
由于跟着最终的成品将跟着正片一起压,所以统一用X264 CRF 18来压的(虽然用码率来压可能使比较更公平一些,但出于要与正片一起压,统一用CRF对我自己压片来说可能更实际一些)
VOB                               160MB
nnedi(field=3)                87.9MB
yadif(mode=3)                95.6MB
DGMPGIndexNV 60FPS    55.9MB
DGMPGIndexNV 30FPS    40.1MB

截图按照以上列出的顺序
http://i106.photobucket.com/albums/m278/264768502/00226nd.png
http://i106.photobucket.com/albums/m278/264768502/00226ya.png
http://i106.photobucket.com/albums/m278/264768502/00226nv60.png
http://i106.photobucket.com/albums/m278/264768502/00226nv30.png

http://i106.photobucket.com/albums/m278/264768502/00126nd.png
http://i106.photobucket.com/albums/m278/264768502/00126nd.png
http://i106.photobucket.com/albums/m278/264768502/00126nv60.png
http://i106.photobucket.com/albums/m278/264768502/00126nv30.png


通过自己的肉眼比较发现
NV的背景锯齿比较明显,字幕相对来说柔和一些
NV30与NV60几乎看不出区别
就这个结果来说,NV的效果并没有想象中那么好,难道NV还是该应用在真人片上么?


另外比较纠结60F的体积,正片CRF18也不过100多MB,而一个ED如果这么做就将占到总体积的一半不到一些,但个人比较迷茫于最终画面上的差异是否值得用60F来做
所以想请各位给点意见
发表于 2009-7-28 22:28 | 显示全部楼层
楼主既然用了DGMPGIndexNV的话,有几个问题你得确认一下。
压完后,全篇看一遍,有没有跳帧坏帧。压完后总帧数和片源是否一样。
如果没问题的话,就可以放心用DGMPGIndexNV来压了。
目前看来DGMPGIndexNV是有一些BUG的,或者可能是N卡的问题。

楼主可以试试--ref 8-16的数值再压试试,能小一些。
另外,针对ED做一下降噪,能小一些。
如果30fps不感觉jerk的话,可以放弃60fps。
发表于 2009-7-28 22:37 | 显示全部楼层
首先要弄清楚字幕是30i還是30p.....
30i的字幕在60p和30p的輸出有明顯分別, 30p的字幕是沒有分別
3:2 pulldown部分, 30p會感覺頓頓的, 60p頓的感覺較不明顯, 最明顯的分別是在平移的場景。
 楼主| 发表于 2009-7-28 22:40 | 显示全部楼层
跳帧的问题倒是没注意
不过可能是有问题,因为截图时,相比nnedi/yadif,   NV 60F的同一个画面与之前2个相差了20帧左右


REF开大的话,觉得性价比实在不高,降噪的话,因为这里仅仅是想比较下处理的结果
最终压片的话会拿FFT3D来抹一下的
30F怎么做? 直接Deinterlace吗?
发表于 2009-7-29 02:12 | 显示全部楼层
本帖最后由 diseac 于 2009-7-29 02:18 编辑

由于DGMPGIndexNV会尝试IVTC,所以在交错类型比较混乱的场景下,有可能会出现丢帧、帧位置不对、场景切换乱帧等情况,想体验和研究一下的话,可以试试DGMPGIndexNV处理 true tears 的无字幕OP。

楼主不是已经做出30fps的版本了么,当然这种情况肯定不能直接Deinterlace,另外我有个不太成熟的点子,楼主可以试试。
  1. fr = last.framerate
  2. fc = last.framecount
  3. va = last.separatefields.selecteven
  4. vb = blankclip(length=fc,width=720,height=240,fps=fr,pixel_type="YV12", color=$000000)
  5. interleave(va,vb)
  6. weave()
复制代码
用这段AVS将片源压成interlace模式的MPEG2或者AVC(一定要高码率,另外不可以是无损AVC),然后用DGMPGIndexNV或DGAVCIndexNV来硬解成30fps,如果没出现顿卡感就算成功,否则还是做60fps比较好。

这个方法的思路就是将混乱的交错类型强制转换为清楚的纯30i,不过这个方法比较麻烦,而且经过一次有损转换,作为技术研究不错,不推荐拿这个方法出片。
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

小黑屋|手机版|NMM视频技术

GMT+8, 2025-5-6 01:01 , Processed in 0.163214 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表