翻译自 avisynth 文档
1 | src = haf.QTGMC(src, Preset="slow", SourceMatch=1, Lossless=2, TFF=True) |
基础
大多数用户仅需使用预设选项。"预设"功能会为指定编码速度选择合理配置。可选预设包括:
"Placebo"(实验性) • "Very Slow"(极慢) • "Slower"(较慢) • "Slow"(慢速) • "Medium"(中等) • "Fast"(快速) • "Faster"(更快) • "Very Fast"(极快) • "Super Fast"(超快) • "Ultra Fast"(终极速) • "Draft"(草稿)
默认预设为"Slower"(较慢)。请勿盲目追求最慢设置,其画质提升可能微乎其微却需耗费大量时间。特别提示:高清素材使用极端设置效果提升有限。高清(HD)素材的处理速度比标清(SD)慢6到8倍。
核心参数设置
要点提示:最实用的参数是TR2,用于控制输出画面的平滑度。
TR0 (1,2) 用于生成运动搜索画面的时间二项式平滑半径。通常:2=画质优先,1=速度优先
TR1 (1,2) 对插值生成的初始输出画面应用的时间二项式平滑半径。通常:2=画质优先,1=速度优先
TR2 (0,1,2,3) 用于最终画面稳定/降噪的时间线性平滑半径。数值越高,输出画面越平滑
Rep0 (int) 修复运动搜索画面(0=关闭):修正因TR0时间平滑导致的非预期模糊
Rep1 (int) 修复初始输出画面(0=关闭):修正因TR1时间平滑导致的非预期模糊
Rep2 (int) 修复最终输出画面(0=关闭):修正因TR2时间平滑导致的非预期模糊(若未启用Rep1,也会修复TR1导致的模糊)
RepChroma (bool) 修复模式是否影响色度。默认值:True(启用)
RepX语法说明:
第一位数字(0-5):控制可消除的细密闪烁线条的最大宽度(1像素至约3像素)
第二位数字(0-3):控制在检测到的线条边缘略微恢复细节
若仅输入单数字,则视为第一位数字(例如 "5" 等同于 "50")
算法原理详解
核心流程:
- 对源素材片段进行 Bob 处理(场分离)。对 Bob 处理(场分离)后的结果进行时域平滑以消除闪烁 (shimmer),然后分析其运动。
- 更精确地对源素材片段进行插值(例如使用 NNEDI3)。利用上一步的运动分析结果,通过运动补偿对这个插值结果进行时域平滑处理。这样可以在保留细节的同时消除闪烁。对结果进行重新锐化以抵消可能产生的模糊。
- 最后进行一次轻度的时域平滑,以优化最终效果(在视频处理语境下,通常指去除残留的噪点、瑕疵或不稳定因素,使画面更纯净。)
阶段说明:
阶段0 & 1:使用二项式平滑(类高斯分布)消除去隔行闪烁,对应参数TR0(运动分析阶段)和TR1(初始输出阶段)
阶段2:使用线性平滑进行最终优化,对应参数TR2
技术要点:
TR0/TR1建议≥1以确保消闪效果,TR0=2可提升运动匹配精度
TR1/TR2值越大画面越稳定且降噪更强,但会牺牲细节并可能加剧运动分析错误导致的伪影
锐化参数可部分补偿平滑导致的模糊
消闪原理
算法专攻"场分离闪烁"(隔行信号插值产生的水平线闪烁)。修复模块Rep0/Rep1/Rep2通过只允许水平方向的修正变化,有效防止时间平滑导致的运动模糊。
运动分析参数
要点提示:预设已优化参数组合,非必要请勿修改。调整前请详阅MVTools2文档
参数 | 取值范围 | 说明 |
---|---|---|
SrchClipPP | 0-3 | 运动搜索画面预过滤:0=无,1=简易模糊,2=高斯模糊,3=高斯模糊+边缘柔化 |
SubPel | 1/2/4 | 运动分析亚像素精度:1=整像素,2=1/2像素,4=1/4像素 |
SubPelInterp | 0-2 | 亚像素插值算法:0=双线性(柔化),1=双立方(锐利),2=维纳(极锐) |
Blocksize | 4-32 | 运动匹配块尺寸 |
Overlap | 0-块尺寸/2 | 运动分析块重叠量(提升块边缘平滑度但增加计算量) |
Search | 0-5 | 运动匹配搜索算法(详见MVTools2文档) |
PelSearch | - | 最细亚像素层级的搜索参数 |
ChromaMotion | bool | 是否分析色度运动(关闭可提速但可能误判) |
Lambda | 0+ | 运动矢量场一致性系数(需按公式缩放) |
LSAD | 0+ | 复杂运动区域降低一致性需求参数 |
PNew | 0+ | 新运动矢量选择惩罚系数 |
GlobalMotion | bool | 是否估计全局(摄像机)运动辅助分析 |
默认参数组合:
TrueMotion=false时:Lambda=(1000*块尺寸²)/64, LSAD=400, PNew=25
TrueMotion=true时:Lambda=(100*块尺寸²)/64, LSAD=1200, PNew=50
插值参数
要点提示:预设已优化插值方案,推荐使用NNEDI3系算法
参数 | 说明 |
---|---|
EdiMode | 插值算法:可选NNEDI3(推荐)、EEDI3、Yadif等 |
NNSize | NNEDI3预测区域尺寸(非线性质级关系,详见NNEDI3文档) |
NNeurons | NNEDI神经元数量(0-4,值越大质量越优) |
EdiMaxD | EEDI系算法的空间搜索距离 |
EdiThreads | 多线程数(0=自动=逻辑处理器数) |
示例配置: |
1 | QTGMC( Preset="Slow", EdiMode="EEDI3", EdiMaxD=16 ) # 指定EEDI3算法+16像素搜索半径 |
锐化参数
要点提示:建议始终根据实际效果调整Sharpness参数(默认1.0偏锐,使用源匹配时默认0.2)
参数 | 说明 |
---|---|
Sharpness | 锐化强度(0.0为原始画面) |
SLMode | 锐化限制模式:0=关闭,[1/3=空间限制],[2/4=时间限制] |
SLRad | 限制半径(时间模式仅支持0/1/3) |
SOvs | 时间限制模式下允许的过冲量(微量过锐化许可) |
SVThin | 单像素线细化强度(修复插值导致的线条膨胀) |
技术细节: |
时间限制模式(SLMode=2/4)防过锐效果更强但更吃性能
后期限制模式(SLMode=3/4)可保留更多锐度但可能产生伪影
Sbb参数可混合锐化前后画面提升细节保真度
源匹配 / 无损 (Source Match / Lossless)
注意:此功能的效果既微妙又精确,仅用于追求极致细节。请先确保您能够分辨出这些极致的细节。
核心要点 (Key Points):
源匹配 (Source-match) 通过额外的处理来创建保真度更高的输出。
通过设置 SourceMatch = 1, 2 或 3 来启用。数值越高,速度越慢,但精度也越高。
可与 无损 (Lossless) 设置(尤其是 Lossless=2)结合使用,以获取更多细节。
使用 MatchPreset(类似于 Preset)来调整速度。
该功能会保留源中的瑕疵 (artefacts),因此最适合用于高质量的源素材。
默认情况下,Sharpness(锐度)会变为 0.2,且锐度限制 (SLMode) 会被关闭,因此请谨慎调整锐度。
快速入门 (Quickstart):
以下模板的质量依次提高,但处理速度也依次变慢。请根据需要选择预设,但请注意,那些处理速度非常快的预设并不适合(与此功能搭配使用)。默认 Sharpness 为 0.2,但您可能希望稍微将其调高。
对于干净的源素材,设置 TR2=1。
如果需要更强的降噪效果,设置 TR2=2 或 TR2=3(速度更慢),或者使用(其他的)噪点处理功能。