前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >to program_I Just Want To

to program_I Just Want To

作者头像
全栈程序员站长
发布2022-11-04 21:50:46
2550
发布2022-11-04 21:50:46
举报

大家好,又见面了,我是你们的朋友全栈君。

代码语言:javascript
复制
 在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 统一动作(这句话不知道如何翻译合适))

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/191662.html原文链接:https://javaforall.cn

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022年9月19日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com