How To Use Mpeg4 AVC Deblocking Effectively (Small FAQ)

 在http://forum.doom9.org/showthread.php?t=109747 上看到的一篇文章,讲得不错,翻译一下,以作备忘。
    原文是:
    In X264 there are two deblocking parameters, called Deblocking strength and Deblocking threshold. The strength parameter refers to Alpha Deblocking, while the Threshold Parameter refers to Beta Deblocking (Alpha and Beta Deblocking are the official names). When a deblock setting is written as X:X (for instance 0:0 or 2:-2) the first number is alpha deblocking, while the second is beta deblocking. 
    Alpha deblocking effects the overal amount of deblocking to be applied to the picture, higher values deblock more effectively, but also destroy more detail and cause the entire image to be softened. The default value of 0 is almost always sufficient to get rid of most blocking (especialy when using a cqm), but leaves the picture noticibly blurier. In general use this value should be no lower then -3 and no higher then 3. When using a cqm the authors recomended settings should be used as the default value, and shouldn't be altered by more then +/-2. Alpha Deblocking is the most important parameter in determining the overal sharpness of your encode.
    Beta Deblocking is a bit more tricky to use, Beta Deblocking determines whether something in a block is a detail or not when deblocking is aplied to it. Lower values of Beta Deblocking apply less deblocking to more flat blocks with details present (but more deblocking to blocks without details), while Higher values cause more deblocking to be applied to less flat blocks with details present. Generally Beta Deblocking shouldn't be altered unless you are haveing problems with the default setting. Raising Beta deblocking is a good way to help get rid of ringing artifacts by aplying more aggressive filtering to blocks that aren't very flat. Lowering beta Deblocking is a good way to reduce the amount of DCT blocks without bluring the entire picture. A high value of beta deblocking will cause nonflat blocks to be deblocked more aggressively, while a low value will cause the opposite.
    If you wan't to give your encodes a more detailed look and don't mind the occasional block try a setting of -2:-1. If you like a clean picture and don't mind a little bluriness try 1:2. A nice trick for anime is to use lower beta deblocking setting because it won't blur out lines as much that way.
以下是我的翻译,英语水平低,翻译不对的地方请大家指出:
    在x264中有2个deblocking参数,叫Deblocking strength 和 Deblocking threshold。strength参数也就是Alpha Deblocking,Threshold参数也就是Beta Deblocking(Alpha 和 Beta Deblocking 是官方名称)。当deblock设置写成X:X(例:0:0 或 2:-2)形式时,第一个数字为Alpha deblocking,第二个数字为beta deblocking。
    Alpha deblocking 影响全局大量应用于图像的deblocking ,值越大影响越大,但是也会销毁更多的细节并且引起全部图片模糊化。默认值为0基本上足够摆脱大部分的blocking(特别是当用cqm的时候),但是会使图片变得更模糊。一般情况下使用这个值的时候不要低于-3或者高于3。当用cqm时,作者的建议设置是使用默认值,并且偏移不要超过+/-2。Alpha Deblocking 是一个在编码的时决定全局锐利的最重要的值。
    Beta Deblocking 要小心使用,Beta Deblocking 决定了一个东东在一个block中是否是细节当deblocking参考它时。Beta Deblocking 值越低 应用少一点的deblocking在 更多的简单的blocks细节呈现(但是更多的deblocking没有细节),另一方面,高一点的Beta值引起更多的deblocking应用于更少的简单blocks细节呈现。                                                         通常Beta值不要去改变除非你在用默认设置值的时候出现问题。提高Beta值是一个解决 对于不是很简单的blocks使用更aggressively的filter产生的边缘震荡效应 的好办法。低一点的Beta值是一个降低 大量的DCT blocks 并不会使整个图片模糊 的好办法。高一点的Beta值将引起复杂blocks解块更aggressively(这个词不知道该理解为 更快? 效果更好?),另一方面低一点的值会引起相反的结果。
    如果你不想使编码更注意细节化并且不介意occasional block,就使用-2:-1。如果你喜欢 干净的图片 并且不介意 一点点模糊 那就试试1:2。一个对于动漫的不错的技巧是使用低一点的beta值设定 因为这样不会使我们的lines模糊太多。


下面的一些回复也不错:
    The [qp + 2*min(alpha,beta)] > 15 is simply a conservative approximation, to avoid computing the exact formula as often. 
    The real criterion is: there is a threshold based on [qp + 2*alpha] and another threshold based on [qp + 2*beta]. The texture/gradient/whatever must pass both thresholds before any filtering is applied. The thresholds are 0 when [qp + 2*(alpha or beta)] <= 15. But they are still small for only slightly above 15, so most pixels will fail the threshold then too.
    If a given pixel passes both thresholds, then it is filtered with strength dependent on [qp + 2*alpha].
    Both thresholds and strength also depend on motion vectors and dct residuals. (This is what disqualifies Skip blocks with uniform motion.)
    [qp + 2*min(alpha,beta)] > 15是一个简单的保守近似计算方式,经常用来避免计算精确的公式。
    真实的标准是:一个阀值基于[qp + 2*alpha],另外一个阀值基于[qp + 2*beta]。texture/gradient/whatever必须在任何filting应用之前通过2个阀值。这2个阀值经常是0当[qp + 2*(alpha or beta)] <= 15。但是这2个阀值任然很小当[qp + 2*(alpha or beta)]只比15大一点点时,所以,理所当然大部分像素点会达不到阀值。
    如果一个给定的像素点通过了2个阀值,那么它将 用基于[qp + 2*alpha]的strength来过滤。
    不管是thresholds或者strength 都基于 运动矢量 和 dct residuals。(这也就是 不合格的像素 遗漏 block 统一动作(这句话不知道如何翻译合适))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值