AVC/H264编码教程(十一)

去马赛克教程(Deblocking Guide)

AVC格式内置了一个极其实用的特性,它可以消除马赛克和其他人为编码的瑕疵,而这些问题曾经使得AVC之前的那些格式饱受困扰。它在AVC的编码中相当实用,由于AVC是构筑在这个滤镜之上的事实以及你可能经历到的在视频中存在过多的马赛克以及人为编码的瑕疵(糟糕的片源),一般来说在正常情况下不要禁止这个去块插件。然而,因为它会占用大量的解码时间,如果解码器又不支持在播放时手动关闭它,你可能会考虑(在编码时)禁止掉它以获得尽可能快的解码速度(Xbox、掌上电脑等等)。


应该有这样的认识:即由于人类的视觉系统(human visual system (HVS))在空间上比较复杂的场景中往往会把瑕疵和马赛克当作该场景的固有细节,因此去块插件的使用在原则上常常会存在争议。因为x264会默认地除去这些人为编码的痕迹,人类的视觉系统便会以为这是“损失了细节”,即使从技术角度来讲,x264的细节处理其实相当精确——甚至在相近的比特率之下的表现有过之而无不及。事实上,已经有共识认为(Doom9论坛的编解码器性能对比也很好地支持这一观点)x264确实是在致力于比ASP(未去马赛克的)编解码器在相近的比特率之下更精确地保持更多的细节。然而,去块插件对人为编码瑕疵的去除仍然为人类的视觉系统所干涉并认为它移除了本该存在的画面细节,而存在这些虚假的“细节”的画面正是人们在不使用去块插件的情况下所习惯了的。对于那些认为在编码视频中的噪点可以得到一个更为柔和和舒服的画面的人们来说,去块插件对这些噪点的去除也并不讨巧。这些偏好依据各人的情况是有所不同的,所以请努力地发现什么样的设定对你的眼睛和需求来说是最合适的。

Alpha去块阈值“strength”(P)帮助决定需要多强的去块效果来除去马赛克。Beta去块阈值“threshold”(见上图的Q)确定有多少马赛克需要去除。这个值设定得越高,x264就会将越多的视频部分理解为马赛克(如果设定得过高,会将过多的视频部分判断为马赛克),因而会进行更多的去块操作。当然,如果你对原材料“清洗”(比喻去块)得不够,在那些没有被清洗到的地方就会有污渍(比喻马赛克)残留下来——就这样按照清洗衬衫的方法来考虑它——而如果你清洗的强度不够,有些污渍便不会完全消失。然而,如果你洗得过多,力量过强,你就会毁掉这件衬衫而不是清洗污渍了——会有很难看的褪色,并且纹理和细节都被抹掉了。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值