Rle (помогите)

  • Автор темы vikindorf
  • Дата начала
V

vikindorf

#1
Плииииз, помогите ламеру.....Мне нужно понять 3 методы кодирования(декодирования) RLE. Некоторые исходники я нашла по теме, но они только к одному методу(с одним типом счетчика). Это и есть методы, которые я должна рассмотреть в курсовике, но у меня ничего не выходит(((( 1. RLE-алгоритм с двумя типами счетчиков.
2. RLE-алгоритм с одним типом счетчиков
3. RLE-алгоритм без указания счетчика .
Если можете что-нить посоветовать(кроме ,конечно, пойти и убитьца) , была бы ооочень рада помощи.
 
Y

Yason

#2
vikindorf
Пусть нужно упаковать последовательность
6 2 17 9 9 9 9 9 9 9 9 4 10 10 10 10 10 10 10 10 7 11 6 4 3
В квадратных скобках будем указывать числа, кодирующие повторы, в круглых - неповторяющиеся байты.

Вариант первый: упакованные данные представляют собой пары (количество_повторов, байт)
Пример: [1 6] [1 2] [1 17] [8 9] ...

Вариант второй: есть два типа счётчиков: для повторов, и для разных байт. Тип счётчика указывается обычно его старшим битом, или знаком.
Скажем, отрицательный счётчик -N указывает, что за ним следует N неповторяющихся байт; если же N>=0, то следующий байт нужно повторить N+1 раз.
Пример: (-3 6 2 17) [8 9] (-1 4) [8 10] (-5 7 11 6 4 3)

Вариант третий: unbuffered RLE

Который из них как называется - решать вам.
 
V

vikindorf

#3
Спасибо за помощь, в том-то и дело , что решить сложно что есть что, так как на данный момент у меня есть уже 2 решенных метода и нет без указателей счетчика, как мне кажется последний им не является, но все равно огромное спасибо, первый раз обратилась на форум и мне попытались помочь)))). Есть вот еще один вопросик, нет ли у вас учебников (либо справочников по студии 2005)?
 
Y

Yason

#4
"Без указателей счётчика" звучит довольно странно, но всё же позволю себе не согласится: в unbuffered RLE тип счётчика никак не указывается, так что он соответствует условию. Ну и кроме того, в интернете по этому поводу больше особо ничего и не видно :)

нет ли у вас учебников (либо справочников по студии 2005)?
Лучше всего, видимо, начать с firststeps.ru.