Premiere Pro 透明视频边缘有白边/亮点?可能是 Alpha 预乘问题
Copyright Notice: This article is an original work licensed under the CC 4.0 BY-NC-ND license.
If you wish to repost this article, please include the original source link and this copyright notice.
Source link: https://v2know.com/article/1316
最近我在做一个很简单的角色动画工具:用几张 PNG 图片叠加,再根据音频音量切换张嘴和闭嘴图,最后输出带透明通道的视频,方便放进 Premiere Pro 里继续剪辑。
一开始逻辑都对了,但输出视频后出现了一个很烦的问题:角色边缘会有一些 1 到 2 像素的亮点,看起来像图片没扣干净,或者边缘有白色杂边。
奇怪的是,原始 PNG 是干净的,在图片查看器和 Photoshop 里看都没有问题。工具里的预览 PNG 也没有明显脏边。问题只在输出成透明视频,再导入剪辑软件之后出现。
后来确认,这不是图片本身的问题,也不是单纯 MOV 或 AVI 容器的问题,而是 Alpha 解释方式的问题。
Straight Alpha 和 Premultiplied Alpha
透明图像除了 RGB 颜色,还有 Alpha 通道。Alpha 决定这个像素有多透明。
问题在于,RGB 和 Alpha 有两种常见存法。
一种是 Straight Alpha,也叫 Unpremultiplied Alpha。
它的 RGB 还是原本颜色,透明度单独存在 Alpha 里。
另一种是 Premultiplied Alpha,也就是预乘 Alpha。
它会提前把 RGB 乘上 Alpha。越透明的地方,RGB 也会被压得越低。
这两种格式本身都没错,但关键是:输出和读取必须使用同一种解释方式。
如果视频实际是 Straight Alpha,但 Premiere Pro 或 AE 按 Premultiplied Alpha 去解释,那么半透明边缘里的 RGB 颜色就可能被错误露出来。于是角色边缘就会出现白点、亮边、彩边,看起来像 PNG 没扣干净。
反过来,如果 Premultiplied Alpha 被当成 Straight Alpha 解释,也可能出现黑边或边缘变脏。
为什么 PNG 预览是干净的,视频却脏了?
PNG 预览一般会按正确的透明合成方式显示,所以看起来没问题。
但透明视频进入剪辑软件后,软件要判断这个素材的 Alpha 类型。如果这个判断和视频实际数据不一致,边缘像素就会暴露问题。
透明边缘通常不是“完全透明”或者“完全不透明”,而是一圈半透明像素。这一圈像素最容易出问题。它们的 Alpha 很低,但 RGB 可能仍然比较亮。如果没有按正确方式处理,就会在黑底或深色背景上变成明显亮点。
这也是为什么问题通常只有 1 到 2 像素,却沿着角色轮廓到处都是。
AE 旧工程为什么没问题?
我以前用 AE 输出时,设置里是 RGB + Alpha,并且颜色是“预乘”。
这意味着 AE 输出的视频本来就是按 Premultiplied Alpha 的思路来的。Premiere Pro 再读取它时,解释方式和数据是匹配的,所以边缘看起来正常。
而新工具最开始输出的视频虽然有 Alpha,但更接近 Straight Alpha。导入到同一个剪辑环境里后,就和旧 AE 输出的素材表现不一样。
所以问题不是“新工具把图片弄坏了”,而是“新工具输出的 Alpha 语义和旧 AE 不一致”。
最后的处理方式
解决方式不是给图片描边,也不是清理 PNG 边缘,更不是强行扩色。之前尝试处理边缘像素,反而容易把轮廓变厚,让问题更明显。
正确方向是:在视频编码前,把 RGB 按 Alpha 预乘。
现在工具里增加了一个 Alpha 选项:
Premultiplied (AE):默认选项,模拟 AE 的预乘 Alpha 输出。Straight:保留之前的输出方式,方便对比或给需要 Straight Alpha 的流程使用。
实际编码前会先做 premultiply,让透明边缘的 RGB 被 Alpha 压下去。这样 Premiere Pro / AE 按预乘方式解释时,边缘就不会把原始亮色 RGB 错误显示出来。
结论
透明视频边缘出现亮点,不一定是图片没扣干净,也不一定是 MOV 或 AVI 格式的问题。
更常见的原因是:
素材的 Alpha 存储方式,和剪辑软件的 Alpha 解释方式不一致。
如果旧 AE 工程使用的是“预乘”输出,那么新工具最好也输出 Premultiplied Alpha。这样才能让透明边缘在 Premiere Pro 里保持和旧素材一致的观感。
This article was last edited at