Вопрос начинающего по арифметическому кодированию
Автор: alex, <kolin-s@list.ru> москва, Россия, 15 мая 2003 года в 02:32:31 Ситуация. hi = 28671- 0110111111111111 low=24576 - 0110000000000000 hi и low близки друг к другу. Расширяем интервал. Удаляем цифры во вторых по значимости разрядах (т.е. 1 во втором разряде hi и 1 во втором разряде low). Увеличиваем специальный счетчик на 1. Справа дописываем 1 в hi и ноль в low. Так продолжаем до тех пор, пока во втором разряде не появятся одинаковые цифры в low и hi. Эту цифру затем посылаем в код сообщения, а за ней равное счетчику колл. 0 или 1, (инвертированные совпавшей). Вопрос. Когда появятся одинаковые цифры после 3 растяжений (когда сдвинем и удалим 2, 3 и 4 разряд)? Ведь останутся в hi только девятки, а в low нули.(Вверху на примере). Ясно, что здесь достаточно и двух растяжений. (удалим 2, 3 разряды со сдвигом влево), а затем нули в 4 разряде (при сдвиге они окажутся во втором) совпадут и их можно послать в код сообщения и на этом растяжение закончить. А если встретится ситуация когда необходимо большее колл. растяжений? Тогда после третьего этапа удаления и сдвига останутся одни нули и единицы. Как же они совпадут? Или есть другой критерий когда останавливать этот процесс кроме расчета на совпадение? Ведь как я понимаю пока интервал не растянут, нельзя переходить к кодированию очередного символа? И вообще. Есть ли общепринятое правило до какого минимально – необходимого размера нужно расширять интервал ? Ясно, что перед каждым символом достаточно расширить интервал до длины большей, чем интервал кодируемого символа. Но тогда получаеся, что в каждом случае расширяю как хочу. А как тогда расширять при раскодировании? Ведь тогда следующий раскодируемый символ неизвестен? Как тогда расширять на каждом этапе? Я понимаю, что для таких титанов это детский сад. Кто хочет, может посмеяться. Но для меня это важно. Спасибо всем, кто ответит.
|
Ответы:
- Re: Вопрос начинающего по арифметическому кодированию Vadim 12:57:52 15/5/2003
(4)
- Re: бНОПНЯ МЮВХМЮЧЫЕЦН ОН ЮПХТЛЕРХВЕЯЙНЛС ЙНДХПНБЮМХЧ alex 04:10:23 16/5/2003
(0)
- Re: бНОПНЯ МЮВХМЮЧЫЕЦН ОН ЮПХТЛЕРХВЕЯЙНЛС ЙНДХПНБЮМХЧ alex 04:09:16 16/5/2003
(0)
- Re: ДКЪ Vadima alex 04:06:32 16/5/2003
(0)
- Re: ДКЪ Vadima alex 03:54:14 16/5/2003
(0)
- Re: бНОПНЯ МЮВХМЮЧЫЕЦН ОН ЮПХТЛЕРХВЕЯЙНЛС ЙНДХПНБЮМХЧ alex 04:10:23 16/5/2003
(0)
Ответить на это сообщение