to program_I Just Want To

to program_I Just Want To在http://forum.doom9.org/showthread.php?t=109747上看到的一篇文章,讲得不错,翻译一下,以作备忘。原文是:InX264therearetwodeblockingparameters,calledDeblockingstrengthandDeblockingthreshold.Thestrengthp

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 在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 统一动作(这句话不知道如何翻译合适))
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java properties读取配置文件_jdk的path变量应该怎么设置

    java properties读取配置文件_jdk的path变量应该怎么设置JettywarNamewarWEB-INFjetty-webxmlTomcatMETA-INFcontextxmlServerxml默认contextxmlURL:http://hostname.com/contextPath/servletPath/pathInfoJetty如果没有contextPath,则默认使用root上下文,root上下文的路

  • java课程设计培训班_Java课程设计「建议收藏」

    java课程设计培训班_Java课程设计「建议收藏」课程设计——博客作业五子棋(201521123009张晨晨)•团队课程设计博客链接•个人负责模块或任务说明五子棋的绘制棋盘的绘制重新开始功能的实现悔棋功能的实现•自己的代码提交记录截图•自己负责模块或任务详细说明(1)五子棋的绘制,棋盘的绘制publicvoidpaint(Graphicsg){setBackground(newColor(209,167,78));for(inti…

  • 狂神说Linux_狂神说博客园

    狂神说Linux_狂神说博客园Linux在服务器端,很多大型项目都是部署在Linux服务器上利用VM + Centos7搭建本地Linux系统你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。概念云服务器就是一个远程电脑Linux中一切皆文件根目录/,所有的文件都挂载在这个节点下/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev : dev是Device(设备

  • IntelliJ IDEA安装教程(超详细)「建议收藏」

    IntelliJ IDEA安装教程(超详细)「建议收藏」IDEA安装教程目录一、JDK的彻底卸载(选做)二、JDK的安装三、IDEA的安装四、IDEA的“扩展”教程五、代码测试六、Error:Cannotdeterminepathto’tools.jar’libraryfor17(D:\jdk-17.0.1)报错的解决方案七、说明写在前面:JDK版本要与IDEA版本相匹配,不然会报错嗷(即:第六节所示)!因为我之前有JDK,所以为了更好的演示,我先把JDK17卸载了。如果你有JDK请查看你的JDK版本后进行第二步(…

  • c语言字符串分割函数「建议收藏」

    c语言字符串分割函数「建议收藏」C语言字符串分割strsep函数用于分解字符串为一组字符串。定义语句为char*strsep(char**stringp,constchar*delim);使用实例:#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;string.h&gt;intmain(){charstr[]="$GP…

  • tracert的工作原理?_ipconfig工作原理

    tracert的工作原理?_ipconfig工作原理Tracert利用ICMP数据报和IP数据报头部中的TTL值。TTL(TimeToLive)是一个IP数据报的生存时间,当每个IP数据报经过路由器的时候都回把TTL值减去1或者减去在路由器中停留的时间,但是大多数数据报在路由器中停留的时间都小于1秒种,因此实际上就是在TTL值减去了1。这样,TTL值就相当于一个路由器的计数器。当路由器接收到一个TTL为0或者1的IP…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号