There are basically two ways to do this.
a) Use pixel bending: You can turn off the operation to the pixel giant (a tint such as the language in as3). This has the advantage of using gpu in some cases, but it is also asynchronous and non-blocking (works in a different thread). But this requires a 10+ player. I have not seen the bender png pixel encoder, and frankly, this may not be possible (I'm not familiar with PNG encoding enough to say), but it may be an option. This is a measure of performance, the best you can get. More here
b) Use chuncking. Basically, you rewrite the encoder to encode blocks (rows, columns, or a smaller area) and connect them to the frame input event, each frame that you call further in the encoder until there is more encoding. Zeh has a neat LWZ chunked encoder with source code that can give you an idea of the details.
Cheers Arthur
source share