Можно попробовать хранить как Vector.<Boolean> но рассчеты будут очень ресурсоемкими... возможно с помощью Алхимии можно что-то с этим придумать, но я не специалист.

Код AS3:
var v:Vector.<Boolean> = new Vector.<Boolean>(400 * 400, true);
var i:int = 400 * 400;
while (i--) v[i] = Math.random() > .5;
var b:BitmapData = new BitmapData(400, 400);
var ba:ByteArray = new ByteArray();
ba.writeObject(v);
trace(getSize(ba), getSize(b)); //80 640064
EDIT: Оп, чет я с подсчетами погарячился... вектор по ходу еще и не сериализуется...
