ну а чем плох арифметический кодер? у него получается несколько байт на контекст, если контекстов немного, то и памяти немного надо. я когда-то вполне неплохо код им ужимал, при этом контекстов взял по количеству бит в инструкции. наверно не для всякой архитектуры покатит, но проверить просто.