Мультимедиатехнологии в информационных системах. Методы сжатия и форматы записи графической информации. Красильников Н.Н - 16 стр.

UptoLike

16
составляет по ним кодовую таблицу, идентичную той, которую состав-
ляет кодирующий алгоритм. Он несколько сложнее кодирующего и мо-
жет быть записан следующим образом:
прочитать новый код сжатых данных Newcode;
если Newcode представляет собой код конца записи, то завершить
работу;
если Newcode представляет собой код очистки, то необходимо:
а) проинициализировать таблицу кодов;
б) прочитать следующий код сжатых данных (если это будет код кон-
ца записи, то завершить работу);
в) найти Newcode в кодовой таблице и вывести соответствующую
ему декомпрессированную последовательность отсчетов;
г) скопировать Newcode в буфер, где был записан предыдущий код
(Prevcode);
если Newcode находится в таблице, но не является ни кодом очистки,
ни кодом конца записи, то необходимо:
а) вывести соответствующую ему декомпрессированную последова-
тельность отсчетов;
б) взять первый байт декомпрессированного кода Newcode и декомп-
рессированного кода Prevcode, конкатенировать их и добавить в кодо-
вую таблицу;
г) скопировать Newcode в буфер, где хранится Prevcode;
если Newcode в таблице отсутствует, а, кроме того, он не является
кодом очистки и кодом конца записи, то необходимо:
а) конкатенировать и вывести значение декомпрессированного кода
Prevcode + первый байт того же значения;
б) добавить в таблицу элемент для вышеприведенного значения;
в) скопировать Newcode в буфер Prevcode.
Метод сжатия LZW может быть применен не только для сжатия дан-
ных, каждая единица которых имеет размер в один байт, например от-
счетов яркости черно-белого полутонового изображения, но и для дан-
ных, имеющих произвольный размер. В этом случае кодовые
последовательности этих данных объединяются в группы по восемь дво-
ичных единиц. Если каждый отсчет содержит четыре двоичных едини-
цы, то объединение в группы происходит по два отсчета, а если один
отсчет представлен 16 двоичными единицами кода, то такая кодовая
последовательность делится пополам. Величина сжатия, обеспечивае-