Кіріспе
Цифрлық суреттерді қысу әдісі. Фракталды қысу – фракталдарға негізделген, цифрлық суреттерді жоғалтумен қысу әдісі. Бұл әдіс текстуралар мен табиғи суреттер үшін ең қолайлы, себебі суреттің бөліктері көбінесе сол суреттің өзге бөліктеріне ұқсайды. Фракталды алгоритмдер осы бөліктерді "фракталдық кодтар" деп аталатын математикалық деректерге түрлендіреді, олар кодталған суретті қайта жасау үшін пайдаланылады.
Fractal compression is a lossy compression method for digital images, based on fractals. The method is best suited for textures and natural images, relying on the fact that parts of an image often resemble other parts of the same image. Fractal algorithms convert these parts into mathematical data called "fractal codes" which are used to recreate the encoded image.
Итерацияланған функциялық жүйелер
Фракталды бейнелеуді математикалық тұрғыдан қайталанатын функциялар жүйесі (IFS) ретінде сипаттауға болады. Мұны істеу үшін келесі бөлінген итерациялық функциялар жүйесі (PIFS) қолданылады: Бейне доменін s×s өлшемді Ri диапазонындағы блоктарға бөліңіз. Әр Ri үшін, Ri-ге өте ұқсас 2s×2s өлшемді Di блогын бейнеде іздеңіз. H(Di) = Ri болатындай етіп, әрбір i үшін сәйкестендіру функцияларын таңдаңыз. Екінші қадамда, IFS кіріс бейнесін дәл бейнелеу үшін ұқсас блок табу маңызды, сондықтан Di үшін жеткілікті мөлшердегі үміткер блоктар қарастырылуы керек. Екінші жағынан, көптеген блоктарды қарастыратын кеңінен іздеу есептеу ресурстарын көп қажет етеді. Осы ұқсас блоктарды іздеудің қиындығы PIFS фракталдық кодтауды, мысалы, DCT және вовлетке негізделген бейнелеуге қарағанда әлдеқайда баяу жасайды. Жакен ұсынған бастапқы шаршыға бөлу және қарапайым іздеу алгоритмі көптеген бағыттардағы одан әрі зерттеулер мен кеңейтулер үшін бастапқы нүкте болып табылады – бейнені әртүрлі өлшемдер мен пішіндердегі диапазондық блоктарға бөлудің әртүрлі тәсілдері; әр диапазондық блок үшін жеткілікті жақын домендік блокты жылдам табудың жылдам әдістері, мысалы, жылдам қозғалыс бағалау алгоритмдері; домендік блоктан диапазондық блокқа карталаудың әртүрлі тәсілдері және т.б. Басқа зерттеушілер PIFS орнына RIFS (қайталанатын итерацияланған функциялар жүйелері) немесе жаһандық IFS ретінде кез келген бейнені автоматты түрде кодтайтын алгоритмдерді табуға тырысады; сондай-ақ, қозғалыс компенсациясы және үш өлшемді итерацияланған функциялар жүйелерін қамтитын фракталды бейне қысу алгоритмдерін іздестіреді. Фракталды бейне қысу векторлық кванттау бейне қысуымен көптеген ортақ белгілерге ие.
Partition the image domain into range blocks Ri of size s×s. For each Ri, search the image to find a block Di of size 2s×2s that is very similar to Ri. Select the mapping functions such that H(Di) = Ri for each i. In the second step, it is important to find a similar block so that the IFS accurately represents the input image, so a sufficient number of candidate blocks for Di need to be considered. On the other hand, a large search considering many blocks is computationally costly. This bottleneck of searching for similar blocks is why PIFS fractal encoding is much slower than for example DCT and wavelet based image representation. The initial square partitioning and brute force search algorithm presented by Jacquin provides a starting point for further research and extensions in many possible directions—different ways of partitioning the image into range blocks of various sizes and shapes; fast techniques for quickly finding a close enough matching domain block for each range block rather than brute force searching, such as fast motion estimation algorithms; different ways of encoding the mapping from the domain block to the range block; etc. Other researchers attempt to find algorithms to automatically encode an arbitrary image as RIFS (recurrent iterated function systems) or global IFS, rather than PIFS; and algorithms for fractal video compression including motion compensation and three dimensional iterated function systems. Fractal image compression has many similarities to vector quantization image compression.
Ерекшеліктері
Фракталды сығылу кезінде кодтау өте есептеу шығынды, өйткені өзіне ұқсас элементтерді табуға іздеу қолданылады. Алайда, декодтау өте жылдам. Осы асимметрияның салдарынан, қазірге дейін оны нақты уақыт қолданбаларында пайдалану қиын, бірақ видеоны дискіде сақтау немесе файлдарды жүктеу арқылы тарату үшін архивтегенде фракталды сығылу бәсекеге қабілетті болады. Көбінесе 50:1 шамасына дейінгі сығылу коэффициенттерінде фракталды сығылу JPEG сияқты DCT негізделген алгоритмдермен салыстырылатын нәтижелер береді. Жоғары сығылу коэффициенттерінде фракталды сығылу жақсырақ сапаны ұсынуы мүмкін. Спутниктік суреттерде 170:1-ден жоғары коэффициенттерге де қол жеткізілді, нәтижелер қанағаттанарлық. Фракталды бейне сығылу коэффициенттері 25:1–244:1 аралығында, лайықты сығылу уақытында (2,4-66 секунд/кадр) қол жеткізілді. Суреттің күрделілігі мен түс тереңдігі жоғары болғанда, қарапайым сұр масштабты суреттерге қарағанда сығылу тиімділігі артады.
Қаулы тәуелсіздігі және фракталды масштабтау
Фракталды сығылудың ерекше қасиеті – суреттер фракталды кодқа түрленгеннен кейін ажыратымдылықтан тәуелсіз болады. Бұл, қысқартылған файлдағы итерациялық функциялар жүйесінің шексіз масштабталуына байланысты. Фракталдың осы шексіз масштабталу қасиеті "фракталдық масштабталу" деп аталады.
Фракталды интерполяция
Фракталды кодталған кескіннің ажыратымдылығын арттыру үшін оның дисплей ажыратымдылығын жоғарылатуға болады. Бұл процеске "фракталды интерполяция" деп те айтылады. Фракталды интерполяцияда кескін фракталды сығу арқылы фракталды кодтарға түрлендіріледі, содан кейін жоғары ажыратымдылықта декодталады. Нәтижесінде, интерполянт ретінде итерациялық функциялар жүйесі қолданылған, үлгісі жоғарылатылған кескін пайда болады. Фракталды интерполяция, екі сызықтық және кубтық интерполяция сияқты дәстүрлі интерполяция әдістерімен салыстырғанда, геометриялық бөлшектерді жақсы сақтайды. Алайда, интерполяция Шеннон энтропиясын кері қайтара алмайтындықтан, мағыналы бөлшектердің орнына кездейсоқ бөлшектерді қосып, кескінді күшейтеді. Мысалы, әр адамның беті бір-екі пиксел ғана болатын көпшіліктің суретін үлкейтіп, оларды анықтауға үміттене алмайсыз.
Тарих
Майкл Барнсли 1985 жылдан бастап Джорджия Технологиялық институтында фракталдық сығылуды дамытуға жетекшілік етті (онда Барнсли мен Слоан математика кафедрасының профессорлары болды). Бұл жұмысты DARPA және Georgia Tech Research Corporation қаржыландырды. Жоба нәтижесінде 1987 жылдан бастап бірнеше патент алынды. Барнслидің аспиранты Арно Жаккин 1992 жылы бағдарламалық құралда алғашқы автоматты алгоритмді іске қосты. Барлық әдістер қайталанатын функциялар жүйелерін пайдалана отырып, фракталды түрлендіруге негізделген. Майкл Барнсли мен Алан Слоан 1987 жылы Iterated Systems Inc. компаниясын құрды, оған фракталдық сығылуға қатысты 20-дан астам қосымша патент берілді. Iterated Systems Inc. компаниясының маңызды жетістігі – фракталдық сығылу технологиясының алғашқы тәжірибелерінде қажет болғандай, сығылу кезінде адамның араласуын қажет етпейтін автоматты фракталды трансформациялау процесі болды. 1992 жылы Iterated Systems Inc. компаниясы фракталды трансформациялы кескінді сығыстыру технологиясын пайдалана отырып, цифрлық кескіні сақтау және сығыстыру чипінің прототипін жасау үшін 2,1 миллион АҚШ долларын мемлекеттік грант ретінде алды. Фракталды кескінді сығыстыру бірқатар коммерциялық қолданыстарда қолданылды: onOne Software, Iterated Systems Inc. лицензиясы бойынша әзірленген, Genuine Fractals 5 – бұл файлдарды FIF (Fractal Image Format) қысылған форматында сақтауға қабілетті Photoshop плагині. Бүгінгі күнге дейін фракталды кескіндерді сығыстырудың ең сәтті қолданылуы Microsoft компаниясының Encarta мультимедиалық энциклопедиясында, сондай-ақ лицензия бойынша. Iterated Systems Inc. компаниясы shareware кодерін (Fractal Imager), дербес декодерді, Netscape плагинін декодер ретінде және Windows жүйесінде пайдалануға арналған әзірлеу жиынтығын ұсынды. ColorBox III SDK-мен қамтамасыз етілген «декомпрессорлық DLL» қайта тарату құқығы меншік бағдарламалық құралдарды жасаушылар үшін дискіге немесе жылдық лицензиялық режимдермен реттелді, ал кейбір пайдаланушылар үшін Iterated Systems өнімдерін насихаттауды талап ететін дискрециялық схема қолданылды. ClearVideo, сондай-ақ RealVideo (Fractal) және SoftVideo – бұл фракталды видеоны сығыстырудың алғашқы өнімдері болды. ClearFusion – Iterated компаниясының веб-браузерлер үшін тегін таратылатын ағынды видео плагині болды. 1994 жылы SoftVideo Spectrum Holobyte компаниясына Falcon Gold және Star Trek: The Next Generation A Final Unity сияқты CD-ROM ойындары үшін лицензияланды. 1996 жылы Iterated Systems Inc. компаниясы Mitsubishi Corporation компаниясымен ClearVideo-ны жапондық тұтынушыларға сату үшін серіктестік туралы мәлімдеме жасады. Оригинал ClearVideo 1.2 декодер драйвері Microsoft Windows Media Player-де әлі де қолдау көрсетіледі, бірақ кодер енді қолдау көрсетілмейді. Total Multimedia Inc. және Dimension атты екі компания Iterated компаниясының видео технологиясына иелік етуді немесе оған эксклюзивті лицензияны иеленуді талап етеді, бірақ олардың ешқайсысы жұмыс істейтін өнімді шығармады. Технологиялық база ретінде Dimension компаниясының АҚШ патенттері 8639053 және 8351509 қарастырылды, олар жан-жақты талданды. Қорыта айтқанда, бұл қарапайым төрт бұрышты блок көшіру жүйесі, дәстүрлі DCT негізделген кодектердегідей жолақты тиімділікке де, PSNR сапасына да ие емес. 2016 жылдың қаңтар айында TMMI фракталдық технологиядан толығымен бас тартатынын мәлімдеді. 1997-2007 жылдар аралығындағы ғылыми еңбектерде фракталдық алгоритмдерді және кодтау аппараттарын жақсартудың мүмкін болатын шешімдері талқыланды.
Қолданылу
Ульрих Хафнер "Фиаско" деп аталатын кітапхананы жасады. 2001 жылы "Фиаско" Linux журналында жарияланды. 2000 жылғы 04 сәуірдегі "Фиаско" нұсқаулығына сәйкес, "Фиасконы" бейнелерді қысу үшін қолдануға болады. Netpbm кітапханасы "Фиаско" кітапханасын қамтиды. Femtosoft Object Pascal және Java тілдерінде фракталды кескіндерді қысуды іске асырды.