像素数据压缩方法——将重复像素存储为数值+计数。对遮罩和alpha通道高效。
在视觉特效工作流程中,主要在处理遮罩(Mattes)和 Alpha 通道时会遇到行程长度编码(RLE)。该方法在这种情况下非常有效,因为会遇到大面积具有相同像素值的情况。与其单独存储每个像素,不如直接写入:“值 X 连续出现 500 次”。这可以极大地节省存储空间和带宽,尤其是在二值掩码(黑/白)或纯色区域的情况下。在实际应用中,RLE 经常用于 Rotoscope 遮罩的归档或 Holdout Pass 的导出——在这些场景中,这种同质区域是常态,而非例外。
技术上,它的工作原理是:编码器按顺序扫描图像,计算连续相同值的数量,然后只存储这些对(值,行程长度)。一个具有 2000 个相同像素的白色遮罩背景会变成一个数据集。解压缩很简单——读取该对,然后在帧缓冲区中将该值写入 n 次。这使得 RLE 对于读写操作速度至关重要的工作流程极具吸引力:每日素材的交付、代理文件的生成或合成器与渲染农场之间的传输。
实际的缺点是:RLE 仅在低色深和同质内容下效果良好。对于细节程度高的照片级真实感图像,文件格式通常会比原始文件更大——算法此时需要更多的位数来编码行程长度,而不是节省下来的。因此,现代 VFX 流水线主要将 RLE 用于灰度遮罩和 Alpha 通道,而不是 RGB 美丽通道。TGA 和 TIF 原生支持 RLE,一些大型渲染引擎的专有格式也使用其变体来节省存储空间。
在片场或后期监督中,您无需主动处理这些问题——它们在导出时会在后台进行。但是,当您处理大量 Roto 工作或为复杂合成准备 Pass 时,考虑一下是值得的:在可能的情况下使用 RLE(遮罩、Alpha),对于高频图像数据则跳过它。这样,您可以为每个镜头快速节省数 GB 的空间,并加快整个链条的吞吐率。