Оптимизация алгоритма фрактальной компрессии под архитектуру процессора

Ватолин Д.С. МГУ dmitriy@amc.ru

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

Изменения в программе, ориентированные на особенности архитектуры, которые были использованы:

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


    На графике представлено время работы алгоритма в секундах. Троекратное ускорение сохраняется и при больших (14-17) значениях коэффициента скорости компрессии.

    Развитием этой работы является адаптация фрактального алгоритма под параллельную обработку данных в процессорах Intel с использованием технологии MMX.

    Данные результаты могут быть интересны всем, кто работает над расчетными алгоритмами, требующими заметного времени для счета.