Actually, it is fairly simple to compress semi-random data, when you remove the "encode" step from the equation.
While theoretically, there is a mathematical representation to describe just about anything, figuring out the correct math is the really hard part. If you handle creating the artwork by just recording the steps needed to produce it, you can do so when you need it.
As you need random access as well, it is a bit more complex than that, as you have to come up with a way to generate the value at the specified index, not the whole artwork. So the macro recorder approach falls short. But that's where the math comes in: when you have a pure fractal representation, that's easy to do.