Skip to content
L2进阶

重采样与缩放质量:像素怎么被搬来搬去 ​

"缩放"看起来是个小功能,但它是画面最常被改动的一步: 分辨率不匹配、视频窗口化、游戏内部渲染、显卡输出与显示器处理,都会缩放。 这一页讲清它为什么会损失、怎么判断损失在哪儿、以及该怎么做。

📌 本页在"处理层"上的位置:本页负责缩放环节(像素怎么被搬来搬去)。 处理链的顺序与其它环节见 图像处理与画质引擎; 清晰度口径见 清晰度与抗锯齿。


本页按三段式走:先看三种缩放为何难度不同(概念)→ 再按该出什么分辨率与受控对比实验落地(会用)→ 最后看锐度与振铃、混叠与多级缩放等数学取舍。

一、概念:三种缩放,难度完全不同 ​

情况例子质量倾向
整数倍放大把画面像素整齐放大最容易做好(对齐干净)
整数倍缩小按整数倍下采样较容易,但仍需做滤波
非整数倍任意比例,如 1.5×最容易出问题(相位不齐、锐度损失)

⚠️ "点对点"最清晰的原因:它根本不做缩放 —— 一个源像素对应一个屏像素。 所以在判清晰度时,"是否点对点"必须先确认(见 子像素结构与文字渲染)。

二、概念:算法族与取舍 ​

算法特点适用
最近邻直接取样,速度快、边缘硬像素画、需要"不模糊"的场合;一般画面会出现锯齿
双线性取周围若干点加权平均快,但整体偏软
双三次类更多点加权,带一定锐度补偿常见的质量/速度折衷
窗口化 sinc 类(如 Lanczos 类)保留高频细节更多静态图像质量优先,代价是可能出现振铃

✅ 取舍的本质是:锐度 ↔ 振铃 / 锯齿 / 速度。没有"全都最好"的算法, 只有"更适合当前内容"的算法。

三、会用(一):该出什么分辨率(决策表) ​

场景建议理由
桌面 / 办公 / 浏览器面板原生分辨率,需要更大字就调系统缩放桌面内容最吃"点对点"
视频观看交给播放器按内容分辨率缩放,避免二次缩放视频本身不是原生分辨率
游戏优先原生;性能不足时用整数倍渲染比例或游戏内整数缩放非整数渲染比例会同时损失锐度与稳定性
笔记本外接尽量让外接屏跑原生,缩放交给系统合成器缩放质量通常优于显示器内部缩放
超宽内容接受黑边(保比例)优于拉伸(变形)拉伸会同时破坏几何与锐度
像素画 / 复古内容最近邻 + 整数倍需要"硬边"而不是平滑

⚠️ 一条通用原则:链路里只让一个环节做缩放, 而且优先让"算法可控、参数可查"的那一环做(通常是显卡/系统侧)。

四、会用(二):一次缩放质量的对比实验 ​

① 固定其余变量:亮度、色温、锐化关、模式固定、无中间设备
② 建立基准:分辨率设原生(点对点),记录观感
③ 只改缩放位置:显卡侧缩放 ↔ 显示器内部缩放,其余不变
④ 只改比例:整数倍(如 2×)与典型非整数倍(如 1.5×)对比
⑤ 用四类图案分别看:
   □ 单像素细线 / 细网格   → 看是否变细、断裂、摩尔纹
   □ 文字(多字号)        → 看发虚、彩边
   □ 平滑渐变              → 看是否出现台阶或色带
   □ 高频纹理(织物、草地)→ 看是否出现摩尔纹或"糊成一片"
⑥ 记录条件与结论:源分辨率、屏分辨率、缩放位置、比例、锐化状态

⚠️ 不要开着锐化判缩放质量 —— 锐化会掩盖发软,也会制造白边,两个变量要分开测。

✅ 判据怎么落:把"点对点与否、缩放位置、锐化状态"写进条件, 模板见 判据与验收; 不同缩放设置下的数据不可直接比较,见 测量标准索引。

五、概念:缩放发生在哪个空间上(容易忽略) ​

重采样本质是加权平均 —— 因此应在线性光下进行,否则暗部与亮部会被系统性压暗或提亮, 表现为边缘发灰、细线变淡。见 线性光与伽马。

六、原理(一):为什么"缩小"与"放大"的难点相反 ​

放大(上采样):源像素少 → 需要"造"出中间像素
   → 造得太平滑 → 发软;造得太激进 → 振铃
缩小(下采样):源像素多 → 需要把高频"滤掉再取样"
   → 不滤 → 高频折叠成低频 → 混叠(摩尔纹)
   → 滤太狠 → 真正的细节也被抹掉,整体发软

✅ 一句话:上采样怕"造得不真",下采样怕"没滤干净" —— 两者对滤波器的要求方向不同,所以同一个算法在两边的表现可能差别很大。

七、原理(二):为什么"锐度"与"振铃"必然互相牵制 ​

要保留更多高频细节 → 滤波器的通带要尽量宽、过渡带要尽量陡
但"通带陡峭"在数学上等价于时间/空间上的波纹(过冲与回摆)
→ 于是锐边附近出现亮暗过冲 —— 这就是振铃

⚠️ 这是数学上的固有取舍,不是"实现不好" —— 所以看到振铃时,问题往往不是"这家算法差",而是参数选得太激进; 反之,画面发软也不一定是算法差,可能是为了压住振铃而保守设置。

八、原理(三):为什么会出摩尔纹 ​

内容里存在细密的周期图案(纹理、栅格)
采样网格与图案周期接近时,产生"差频" → 出现原始内容里没有的粗大条纹
→ 这属于**混叠**的一种表现形式,与面板本身的缺陷无关

处置:先确认是不是缩放/采样造成的(换分辨率、换缩放位置是否消失), 再谈面板(见 清晰度与抗锯齿)。

九、原理(四):为什么文字对缩放最敏感 ​

文字 = 高频细节 + 高对比边沿 + 子像素渲染假设
三者都被缩放同时破坏:
   高频细节 → 被滤波抹掉或振铃
   高对比边沿 → 相位不齐时最先显脏
   子像素假设 → 非整数倍缩放会破坏排列对齐(见 [子像素与文字渲染](subpixel-and-text-rendering.md))

十、原理(五):为什么"多级缩放"一定更差 ​

每次重采样都包含一次滤波(甚至两次:缩放 + 重建)
滤波只会减少信息,不会增加信息
→ 多一级 = 多一次损失;且不同级的滤波特性不同,损失会累积
(此外还有中间结果的舍入/量化误差)

推论:判"发虚"要按链路逐段定位,因为损失可能已经在上一级发生过。

现象更可能的原因
文字发虚、细线变细显示器内部非点对点缩放
只在某些分辨率下糊播放器或显卡在做非整数倍缩放
边缘有白边或彩边锐化补偿过度或子像素渲染不匹配
有摩尔纹采样与像素栅格共振(区别于面板本身的细节)

十一、缩放类结论的"判据接口" ​

□ 源分辨率与屏分辨率(是否点对点)
□ 缩放位置(播放器 / 显卡 / 显示器内部)与比例(是否整数倍)
□ 缩放算法与设置(若可查)
□ 锐化与增强项状态(必须关闭后再判)
□ 处理空间(是否在线性光下做,见 [线性光与伽马](linear-light-and-gamma.md))
□ 图案类型(细线 / 文字 / 渐变 / 高频纹理)
□ 观察条件(距离、是否微距)

十二、常见误区 ​

误区事实
分辨率越高越清楚非点对点时会因缩放而变糊
缩放算法只影响游戏视频、文字、窗口化全都受影响
模糊一定是面板问题先确认缩放与点对点状态
锐化能解决发虚锐化改变的是主观对比,不能恢复信息
看到振铃就是算法差也可能是参数过激;锐度与振铃本就互相牵制
多级缩放"抵消"损失每级都只减不增,损失会累积
摩尔纹是面板缺陷先排除采样与缩放造成的混叠

📋 判据接口:本页属器件与材料类,其专属字段表见本页相应小节; 类型字段集(单一来源)见 判据字段集 · 器件与材料类(共 6 项)。

关键概念速查 ​

通用术语见 统一速查(由统计生成,只在一处维护)。

术语含义
重采样改变像素数量与位置的过程,本质是加权平均
点对点源像素与屏像素一一对应,不做缩放
振铃高质量滤波器在锐边附近产生的过冲
相位不齐非整数倍缩放时网格错开导致的模糊与锯齿
混叠高频被折叠成低频,产生原始内容里没有的图案
上采样 / 下采样放大与缩小,对滤波器的要求方向相反

相关文档 ​


数据来源:本页内容整理自公开标准规范、厂商公开资料与行业通用实践,仅供参考;具体以官方规范原文与厂商官方资料为准。

本站为个人学习整理(含 AI 辅助),内容整理自公开标准与公开资料,未经本站独立实测,仅供学习参考,不构成专业建议;文中提及的商标归各自权利人所有 · 免责声明 · 隐私与条款