Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы.doc
Скачиваний:
8
Добавлен:
19.05.2015
Размер:
268.29 Кб
Скачать

Упаковка.

Упаковка – процесс сродни укладке чемодана. Множество коробочек разного размера занимают больший объем, чем, если достать из них все вещи и сложить в один чемодан. Если путем изменения местоположения и взаимного расположения носителей информации удается сократить ее объем, то мы и будем считать такой процесс упаковкой. Упаковка отличается исключительной простотой и высокой скоростью работы. Например:

- известно, что файлы на дисках хранятся по секторам. Положим размер сектора равен 512 байтам. Размеры файлов самые разные. Поскольку кластер – минимальная, неделимая единица объема диска то файлы длиной 2 и 508 байт займут один кластер, а файлы размером в 513 и 1001 байт – уже два кластера. Таким образом мы можем потерять до 511 байт дискового пространства.

Такую же процедуру выполняют и современные архиваторы при создании так называемых Solid-архивов, выигрывая на этом несколько процентов в степени сжатия.

  1. Методы сжатия числовой информации;

Одним из широко известных способов сжатия последовательности цифровых данных (например результатов измерения процесса F(ti) в дискретные промежутки времени ti, i=1..N) является аппроксимация. Действительно, вместо передачи длинного набора чисел можно передать лишь набор коэффициентов аппроксимирующего полинома Pj, j=0..K. Степень сжатия в этом случае равна (K+1)/N.

В качестве аппроксимирующего полинома можно взять один из широко известных в математике или подобрать свой собственный, наиболее соответствующий задаче. От соотношения параметров К и N зависит компромисс между степенью сжатия и точностью восстановления, поскольку извлечение информации при таком методе возможно лишь с некоторой погрешностью (потерями), которые тем больше, чем выше степень сжатия.

А как быть, если требуется передать данные без потерь? И здесь предложенный способ может помочь, стоит его лишь несколько расширить:

Предположим, нам надо передать массив из N чисел, каждое из которых не превышает величины n. При непосредственном представлении для этого потребуется Nlog(n) бит. Пусть нам удалось подобрать такой аппроксимирующий полином порядка К, что все погрешности (ошибки отклонения истинного значения от его аппроксимированного варианта) укладываются в диапазон значений k < n. Тогда, как нетрудно подсчитать, после сжатия длина массива составит N log(k) + (K+1) log(n) . При достаточно больших значениях N (N >> K) степень сжатия будет примерно равна

log(k) / log(n).

Рассмотренный способ особенно эффективно работает для данных, описываемых моделью Маркова 1 порядка, у которых большая часть условных вероятностей сосредоточена вблизи главной диагонали, т.е. pi,j тем больше, чем меньше разность между i и j. К таким процессам относятся, например, годовые или суточные колебания температуры. Маловероятно, что, если сегодня температура воздуха -20С, то завтра будет +10. Скорее ожидать -19 или -21.

Очень простым способом сжатия с потерями является отбрасывание незначащих разрядов или округление (о чем уже говорилось) или прореживание, т.е. простое отбрасывание некоторого количества результатов (обычно-через один, через два и т.д.). И то и другое, в конечном итоге, является методом снижения высокочастотного шума и сводится к более общему понятию низкочастотной фильтрации.