I have seen data compression libaries around the internet like *zlib* and *lzo*. But I am not sure about the best way to compress 40,000 bytes(they are in an `byte[][](x,y = color)`), I need to get it down to something like 200 bytes but there is a catch: this can not take too long, maybe 1/40 of a sec at most.

I am unsure if this is even possible and what would be the best option to take. I also would need the output to be in a `byte[]` meaning I would need to lose the second dimension of the array and be able to gain it again when the decompression happens. I do not want to save any data to file as I am going to be sending it to a client and when I send data I just have to give it a `byte[]` and it does all the rest. (I can not change the method of sending data to the client.) Thanks for any help.

EDIT: i dont mind if i lose data, just as long as that data issent the same data every time it is sent as there will be am update sent with new info every 1/4 of a sec, i am not sending an image so what you are saying about png dossent realy help as i am making up the colors on the server program (not reading from a file). hope this helps.