[an error occurred while processing this directive]
|
Ну, для примера, пускай адаптация будет для каждого блока 8х8 хоть это и очень избыточно. Тогда.
1. Блок1 жмётся по "статике" и для него "подучивается" гистограмма. Но сжатие происходит по ПРЕДЫДУЩЕЙ статистике.
2. Проводим ренормализацию. Предыдущая статистика становится рабочей.
3. По этой новой статистике жмём Блок2 и одновременно "подучиваем" гистограмму.
4. Проводим ренормализацию. Предыдущая статистика становится рабочей.
И так далее...
Нельзя сначала адаптировать гистограмму блока и по ней же сжимать. Вы не сможете разжать такой поток или же вам придётся передавать в потоке и статистики. В моём случае этого делать не надо так как при декомпрессии текущего блока, по восстановленным символам мы восстанавливаем каждую гистограмму (из всей их последовательности) которая нужна для восстановления СЛЕДУЮЩЕГО блока.
И ещё...зря вы связываетесь с этими битовыми плоскостями, особого выигрыша я не вижу, кроме проигрыша в скорости...
Короче совет, смотрите в сторону Range-кодера, хоть он и намного сложнее RLE+Хаффман (в тонких местах, коих много), но при одинаковом сжатии намнооого быстрее по скорости кодирования.
E-mail: info@telesys.ru