F5.13.3Gamut clipping设计研究
算法生成的色阶仍需人工校正视觉跳变明显的档位
别名: 色阶校正 · 视觉跳档 · ramp hand-tuning
概念解释
在 OKLab 里生成的蓝,曲线很光滑。转到 sRGB 以后,600 到 700 突然发紫,像换了一管颜料。算法不知道哪一段会撞上色域墙。撞墙的档要人手扳回来,不能因为生成器报了「均匀」就把这一跳留给组件。
均匀空间解决的是多数步长;校正解决的是少数事故点。
机制
感知空间里的直线出了显示色域就会被夹紧。夹紧不是沿原色相走,而常沿最靠近的可显示色走,于是相邻两档的色相角跳一下,明度也可能不再等差。蓝和红最常见,因为高饱和的中深档最先出 gamut。自动方法(色域压缩、降低 C 直到进域)能减少跳,但压缩参数是全局的,救了 700 可能把 400 洗灰。局部跳变仍然要对着屏幕改那一档的 C 或 h,再检查邻居有没有被带歪。
人手校正的目标是让跳变降到「不再像另一种色相」,不是把算法推翻重做。改完仍应回到整列里看等距,防止修好 700、弄坏 800。
怎么研究
把生成列和夹紧后的列画在 ab 或色相角图上,标出相邻 Δh 和 ΔE 的尖峰。自变量:生成空间、目标色域、夹紧 vs 压缩。因变量:尖峰位置、观察者是否在那一对上报「换色」。
让未参与生成的人只看相邻对,比看整条曲线更敏。
边界
- 宽色域显示器上看不到的跳,在 sRGB 目标上仍会跳;校正要以最窄的出货色域为准。
- 中性灰几乎不撞墙,校正预算应留给高 C 色相。
- 无限制手拧会把等距整列拧烂。校正要有幅度上限,超了就回到生成参数,而不是继续拧。
怎么落地
- 生成之后,在目标色域里把每一色相整列铺开,圈出色相突变或明度粘连的相邻对。
- 只动被圈的档,优先减 C 保 h,动完立即看左右邻居。
- 把校正写进表,不要只存在某人的文件里,下次重生成才会冲掉。
- 验证办法:重生成一次,diff 校正档;被冲掉的跳变会回来。能回来的,说明校正还没进流程。