Compression method for pixel data — stores repeated pixel values as count + value instead of individually. Efficient for mattes and alpha channels.
In VFX workflows, run-length encoding (RLE) is primarily encountered when working with mattes and alpha channels. The method proves effective there because large areas with identical pixel values occur. Instead of storing each pixel individually, it simply writes: "Value X occurs 500 times in a row." This massively saves storage space and bandwidth, especially with binary masks (black/white) or solid-colored areas. In practice, RLE is often used for archiving rotoscope mattes or when exporting holdout passes – such homogeneous areas are the rule, not the exception.
Technically, it works like this: The encoder scans the image sequentially, counts identical consecutive values, and stores only these pairs (value, run length). A white matte background with 2000 identical pixels becomes a data set. Decompression is trivial – the pair is read, and the value is written n times into the framebuffer. This makes RLE particularly attractive for workflows where fast read/write operations are crucial: dailies delivery, proxy generation, or transfer between compositor and rendering farm.
Practical drawback: RLE only works well with low color depths and homogeneous content. With photorealistic images of high detail, the file format often becomes larger than the original – the algorithm then requires more bits for the length encoding than it saves. Therefore, modern VFX pipelines primarily use RLE for grayscale mattes and alpha channels, not for RGB beauty passes. TGA and TIF support RLE natively, and some proprietary formats of major render engines also use variants of it to save storage space.
On set or in post-supervision, you don't need to actively deal with this – it happens in the background during export. But when juggling large amounts of roto work or preparing passes for complex composites, it's worth considering: Use RLE where possible (mattes, alpha), skip it for high-frequency image data. This way, you can quickly save several gigabytes per shot and accelerate the throughput of the entire pipeline.