По поводу сжатия. можно рассмотреть как вариант - PSG - он очень избыточен но и очень хоршо жмется, и его легко таскать кусками по памяти на лету. и вообще програмно управляться с ним проще