logo
3-260

Вэйвлеты (Wavelets)

Основной идеей сжатия c использованием простейшего вэйвлет-преобразования является то, что сжать вдвое уменьшенную картинку и ее отличия от оригинальной можно гораздо компактнее, чем саму картинку. Таким образом, получается следующий алгоритм сжатия (в простейшем случае): строим уменьшенную вдвое копию исходной картинки (четыре точки приводим к одной, по цвету берем минимум из 4-х), и записываем отличия исходной от уменьшенной (которую для этого придется временно увеличить). Отличия всегда невелики по модулю, и поэтому эффективно сжимаются (большие по модулю отличия будем заменять на «максимально разрешенные» — это и будет единственным источником потерь качества). Дальше можно принять вдвое уменьшенную картинку за исходную — и повторять процедуру пока не останется картинка 1х1. При распаковке считываем из входного файла очередную табличку значений, «размножаем» пиксели и прибавляем к ним соответствующие значение «отличий».