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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C语言数组初始化的三种方法[通俗易懂]

    C语言数组初始化的三种方法[通俗易懂]C语言中,数组初始化的方式主要有三种:1、声明时,使用{0}初始化;2、使用memset;3、用for循环赋值。那么,这三种方法的原理以及效率如何呢?请看下面的测试代码:#defineARRAY_SIZE_MAX(1*1024*1024)voidfunction1(){chararray[ARRAY_SIZE_MAX]={0};…

    2022年10月8日
    2
  • GB50174-2017机房标准_机房建设标准规范 2018

    GB50174-2017机房标准_机房建设标准规范 2018中华人民共和国国家标准电子计算机机房设计规范GB50174-93中华人民共和国国家标准电子计算机机房设计规范GB50174-93DesignCodeforElectronicComputerRo批准部门:中华人民共和国建设部1993年2月17日1993年9月1日实施第一章总则第1.0.1条为了使电子计算机机房设计确保电子计算机系统稳定可靠运行及保障机房工作人员有良好的工作环境,做到…

    2022年10月2日
    2
  • Thread.IsBackground

    Thread.IsBackground解释:  获取或设置一个值,该值指示某个线程是否为后台线程。  后台线程不会防止应用程序的进程被终止掉。        注意:主线程中创建了一个线程,线程的IsBackground默认是设置为FALSE的。主线程退出时,IsBackground=FALSE线程继续执行下去,直到线程执行结束。IsBackground=TRUE的线程才会随着主线程的退出…

    2022年10月17日
    2
  • jquery获取jquery对象的html代码 OuterHtml

    jquery获取jquery对象的html代码 OuterHtml[code="java"]/***获取jquery的outerHtml*fromhttp://www.isharey.com/?p=1205*@param$domjquery对象*@returnstring*/functiongetJqueryOuterHtml($dom){return$($(”).html($dom.cl…

    2022年6月17日
    19
  • FileProvider 的使用(Failed to find configured root that contains/storage/emulated/0/DCIM/ )

    FileProvider 的使用(Failed to find configured root that contains/storage/emulated/0/DCIM/ )首先扯点别的:今天不上班,在家里和剑宗喝了点酒,和同学聊了会天,也是挺开心,现在学会习。以前调用系统相机拍照的时候,流程是这样的privatevoidtakePhoto(){IntenttakePictureIntent=newIntent(MediaStore.ACTION_IMAGE_CAPTURE);if(takePictureIntent

    2025年7月3日
    4
  • datagrip2021 激活码_在线激活

    (datagrip2021 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlFNWCMR37AF-eyJsaWN…

    2022年3月30日
    323

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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