Фрактальное сжатие — это метод сжатия с потерями для цифровых изображений , основанный на фракталах . Метод лучше всего подходит для текстур и естественных изображений, поскольку он основан на том факте, что части изображения часто напоминают другие части того же изображения. [1] Фрактальные алгоритмы преобразуют эти части в математические данные, называемые «фрактальными кодами», которые используются для воссоздания закодированного изображения.
Представление фрактального изображения можно математически описать как систему итерированных функций (IFS). [2]
Начнем с представления бинарного изображения , где изображение можно рассматривать как подмножество . IFS — это набор отображений сжатия ƒ 1 ,..., ƒ N ,
Согласно этим функциям отображения, IFS описывает двумерное множество S как неподвижную точку оператора Хатчинсона
То есть, H — оператор, отображающий множества в множества, а S — уникальный набор, удовлетворяющий H ( S ) = S . Идея состоит в том, чтобы построить IFS таким образом, чтобы этот набор S был входным бинарным изображением. Набор S может быть восстановлен из IFS с помощью итерации с фиксированной точкой : для любого непустого компактного начального множества A 0 итерация A k +1 = H ( A k ) сходится к S .
Множество S является самоподобным, поскольку H ( S ) = S подразумевает, что S является объединением отображенных копий самого себя:
Итак, мы видим , что IFS является фрактальным представлением S.
Представление IFS можно расширить до изображения в оттенках серого , рассматривая график изображения как подмножество . Для изображения в оттенках серого u ( x , y ) рассмотрим множество S = {( x , y , u ( x , y ))}. Тогда, аналогично двоичному случаю, S описывается IFS с использованием набора отображений сжатия ƒ 1 ,..., ƒ N , но в ,
Сложной проблемой текущих исследований в области фрактального представления изображений является выбор ƒ 1 ,..., ƒ N таким образом, чтобы его неподвижная точка аппроксимировала входное изображение, и как сделать это эффективно.
Простым подходом [2] для этого является следующая система секционированных итерационных функций (PIFS):
На втором этапе важно найти похожий блок, чтобы IFS точно представлял входное изображение, поэтому необходимо рассмотреть достаточное количество блоков-кандидатов для D i . С другой стороны, большой поиск с учетом множества блоков является вычислительно затратным. Это узкое место поиска похожих блоков является причиной того, что фрактальное кодирование PIFS намного медленнее, чем, например, DCT и представление изображения на основе вейвлетов .
Первоначальное квадратное разбиение и алгоритм поиска методом перебора, представленные Жакеном, обеспечивают отправную точку для дальнейших исследований и расширений во многих возможных направлениях — различные способы разбиения изображения на диапазонные блоки различных размеров и форм; быстрые методы для быстрого нахождения достаточно близко соответствующего доменного блока для каждого диапазона блока вместо поиска методом перебора, такие как алгоритмы быстрой оценки движения ; различные способы кодирования отображения из доменного блока в диапазонный блок и т. д. [3]
Другие исследователи пытаются найти алгоритмы для автоматического кодирования произвольного изображения как RIFS (рекуррентные итеративные функциональные системы) или глобальные IFS, а не PIFS; и алгоритмы для фрактального сжатия видео, включая компенсацию движения и трехмерные итеративные функциональные системы. [4] [5]
Фрактальное сжатие изображений имеет много общего со сжатием изображений с помощью векторного квантования . [6]
При фрактальном сжатии кодирование является чрезвычайно вычислительно затратным из-за поиска, используемого для нахождения самоподобий. Однако декодирование происходит довольно быстро. Хотя эта асимметрия до сих пор делала его непрактичным для приложений реального времени, когда видео архивируется для распространения с дискового хранилища или загрузки файлов, фрактальное сжатие становится более конкурентоспособным. [7] [8]
При обычных коэффициентах сжатия, примерно до 50:1, фрактальное сжатие обеспечивает результаты, схожие с результатами алгоритмов на основе DCT, таких как JPEG . [9] При высоких коэффициентах сжатия фрактальное сжатие может обеспечивать превосходное качество. Для спутниковых изображений коэффициенты более 170:1 [10] были достигнуты с приемлемыми результатами. Коэффициенты сжатия фрактального видео 25:1–244:1 были достигнуты за разумное время сжатия (от 2,4 до 66 сек/кадр). [11]
Эффективность сжатия возрастает с увеличением сложности изображения и глубины цвета по сравнению с простыми изображениями в оттенках серого .
Неотъемлемой особенностью фрактального сжатия является то, что изображения становятся независимыми от разрешения [12] после преобразования во фрактальный код. Это происходит потому, что итерированные функциональные системы в сжатом файле масштабируются неограниченно. Это свойство неограниченного масштабирования фрактала известно как «фрактальное масштабирование».
Независимость разрешения фрактально-кодированного изображения может быть использована для увеличения разрешения отображения изображения. Этот процесс также известен как «фрактальная интерполяция». При фрактальной интерполяции изображение кодируется во фрактальные коды с помощью фрактального сжатия, а затем распаковывается с более высоким разрешением. Результатом является изображение с повышенной дискретизацией, в котором в качестве интерполянта использовались итерированные системы функций . [ 13] Фрактальная интерполяция очень хорошо сохраняет геометрические детали по сравнению с традиционными методами интерполяции, такими как билинейная интерполяция и бикубическая интерполяция . [14] [15] [16] Однако, поскольку интерполяция не может обратить вспять энтропию Шеннона, она в конечном итоге повышает резкость изображения, добавляя случайные, а не значимые детали. Например, нельзя увеличить изображение толпы, где лицо каждого человека составляет один или два пикселя, и надеяться идентифицировать их.
Майкл Барнсли руководил разработкой фрактального сжатия с 1985 года в Технологическом институте Джорджии (где и Барнсли, и Слоан были профессорами на кафедре математики). [17] Работа спонсировалась DARPA и Georgia Tech Research Corporation . Проект привел к нескольким патентам с 1987 года. [18] Аспирант Барнсли Арно Жакин реализовал первый автоматический алгоритм в программном обеспечении в 1992 году. [19] [20] Все методы основаны на фрактальном преобразовании с использованием систем итерационных функций . Майкл Барнсли и Алан Слоан основали Iterated Systems Inc. [21] в 1987 году, которая получила более 20 дополнительных патентов, связанных с фрактальным сжатием.
Крупным прорывом для Iterated Systems Inc. стал процесс автоматического фрактального преобразования, который устранил необходимость человеческого вмешательства во время сжатия, как это было в случае ранних экспериментов с технологией фрактального сжатия. В 1992 году Iterated Systems Inc. получила правительственный грант в размере 2,1 млн долларов США [22] на разработку прототипа цифрового чипа хранения и декомпрессии изображений с использованием технологии сжатия изображений с фрактальным преобразованием.
Сжатие фрактальных изображений использовалось в ряде коммерческих приложений: onOne Software, разработанное по лицензии Iterated Systems Inc., Genuine Fractals 5 [23] , плагин для Photoshop, способный сохранять файлы в сжатом формате FIF (Fractal Image Format). На сегодняшний день наиболее успешное использование сжатия неподвижных фрактальных изображений принадлежит Microsoft в ее мультимедийной энциклопедии Encarta [24] , также по лицензии.
Iterated Systems Inc. поставляла условно-бесплатный кодер (Fractal Imager), автономный декодер, подключаемый модуль декодера Netscape и пакет разработки для использования под Windows. Распространение «DLL-декомпрессора», предоставляемого ColorBox III SDK, регулировалось ограничительными режимами лицензирования на диск или по годам для поставщиков фирменного программного обеспечения и дискреционной схемой, которая влекла за собой продвижение продуктов Iterated Systems для определенных классов других пользователей. [25]
ClearVideo – также известный как RealVideo (Fractal) – и SoftVideo были ранними продуктами фрактального сжатия видео. ClearFusion был свободно распространяемым плагином потокового видео Iterated для веб-браузеров. В 1994 году SoftVideo был лицензирован Spectrum Holobyte для использования в его играх на CD-ROM , включая Falcon Gold и Star Trek: The Next Generation A Final Unity . [26]
В 1996 году Iterated Systems Inc. объявила [27] о союзе с Mitsubishi Corporation для продвижения ClearVideo на японских клиентов. Оригинальный драйвер декодера ClearVideo 1.2 все еще поддерживается [28] Microsoft в Windows Media Player, хотя кодер больше не поддерживается.
Две компании, Total Multimedia Inc. и Dimension, заявляют, что владеют или имеют исключительную лицензию на видеотехнологию Iterated, но ни одна из них пока не выпустила работающий продукт. Основой технологии, по-видимому, являются патенты США Dimension 8639053 и 8351509, которые были тщательно проанализированы. [29] Подводя итог, можно сказать, что это простая система копирования блоков квадродерева, не имеющая ни эффективности полосы пропускания, ни качества PSNR традиционных кодеков на основе DCT. В январе 2016 года TMMI объявила, что полностью отказывается от фрактальной технологии.
В исследовательских работах, проведенных в период с 1997 по 2007 год, обсуждались возможные решения по улучшению фрактальных алгоритмов и аппаратного обеспечения кодирования. [30] [31 ] [32] [33] [34] [35] [36] [37] [38]
Библиотека Fiasco была создана Ульрихом Хафнером. В 2001 году Fiasco была освещена в Linux Journal . [39] Согласно руководству Fiasco 2000-04 , Fiasco может использоваться для сжатия видео. [40] Библиотека Netpbm включает в себя библиотеку Fiasco . [41] [42]
Компания Femtosoft разработала реализацию фрактального сжатия изображений в Object Pascal и Java . [43]