GIF (англ.: Graphics Interchange Format — «фармат для абмену выявамі») — папулярны растравы фармат графічных выяў. Здольны захоўваць сціснутыя дадзеныя без страты якасці ў фармаце не больш за 256 колераў Не залежачы ад апаратнага забеспячэння фармат GIF быў распрацаваны ў 1987 годзе (GIF87a) фірмай CompuServe для перадачы растравых малюнкаў па сетках. У 1989-м фармат быў мадыфікаваны (GIF89a), былі дададзены падтрымка празрыстасці і анімацыі. GIF выкарыстоўвае LZW-кампрэсію, што дазваляе сціскаць файлы, у якіх шмат аднародных заліванняў (лагатыпы, надпісы, схемы). Доўгі час GIF быў адным з найбольш распаўсюджаных фарматаў ў інтэрнэце.
Стваральнікі фармату прамаўлялі яго назва як «джиф» /dʒɪf/[2]. Тым не менш, у англамоўным свеце шырока выкарыстоўваецца і вымаўленне «гиф» /gɪf/, заснаванае на тым, што GIF — скарачэнне ад Graphics Interchange Format. Абодва варыянту вымаўлення пазначаны як правільныя слоўнікамі Oxford English Dictionary[3] і American Heritage Dictionary[4].
У рускай мове файлы ў фармаце GIF часам называюць «ги́фками».
Малюнак у фармаце GIF захоўваецца парадкова, падтрымліваецца толькі фармат з індэксаванай палітрай колераў. Стандарт распрацоўваўся толькі для падтрымкі 256-каляровай палітры.
Адзін з колераў у палітры можа быць абвешчаны «празрыстым». У гэтым выпадку, у праграмах, якія падтрымліваюць празрыстасць GIF (напрыклад, большасць сучасных браўзэраў) скрозь пікселі, афарбаваныя «празрыстым» колерам, фон будзе бачны. «Напаўпразрыстага» пікселяў (тэхналогія альфа-канала) не падтрымліваецца.
Фармат GIF падтрымлівае анімацыйныя малюнкі. Яны ўяўляюць сабой паслядоўнасць з некалькіх статычных кадраў, а таксама інфармацыю аб тым, колькі часу кожны кадр павінен быць паказаны на экране. Анімацыю можна зрабіць цыклічна (англ.: looploop), тады ўслед за апошнім кадрам пачнецца прайграванне першага кадра і г. д.
GIF-анімацыя можа выкарыстоўваць празрыстасць для таго, каб не захоўваць чарговы кадр цалкам, а толькі змены адносна папярэдняга.
Недакументаваная, але падтрымліваемай магчымасцю з’яўляецца захаванне большай колькасці колераў з дапамогай анімаванага GIF з нулявой затрымкай паміж кадрамі. Пры гэтым пераадольваецца абмежаванне ў 256 колераў: кожны кадр ўтрымлівае сваю палітру[удакладніць][5].
GIF выкарыстоўвае фармат сціску LZW. Такім чынам добра сціскаюцца выявы, радкі якіх маюць паўтараюцца ўчасткі. У асаблівасці малюнка, у якіх шмат пікселяў аднаго колеру па гарызанталі[6].
Алгарытм сціску LZW ставіцца да фарматам сціску без страт. Гэта азначае, што адноўленыя з GIF дадзеныя будуць у дакладнасці адпавядаць спакаваным. Варта адзначыць, што гэта дакладна толькі для 8-бітных малюнкаў з палітрай, для каляровай фатаграфіі страты будуць абумоўлены пераводам яе да 256 кветак.
Метад сціску LZW распрацаваны ў 1978 годзе ізраільцянамі Абрахамам Лемпелям і Якабам Зівам, а пазней дапрацаваны ў ЗША Тэры Велчам. LZW сціскае дадзеныя шляхам пошуку аднолькавых паслядоўнасцяў (яны называюцца «фразы») ва ўсім файле. Выяўленыя паслядоўнасці захоўваюцца ў табліцы, ім прысвойваюцца больш кароткія маркеры (ключы).
Метад LZW, гэтак жа, як і RLE, лепш дзейнічае на аднародных участках, свабодных ад шуму кветак, ён дзейнічае значна лепш, чым RLE, пры сціску адвольных графічных дадзеных, але працэс кадавання і распакавання адбываецца павольней.
Фармат GIF дапускае празрадковае захоўванне дадзеных. Пры гэтым радкі разбіваюцца на групы, і змяняецца парадак захоўвання радкоў у файле. Пры загрузцы выява праяўляецца паступова, у некалькі праходаў. Дзякуючы гэтаму, маючы толькі частка файла, можна ўбачыць выяву цалкам, але з меншым разрозненнем.
У чересстрочном GIF’е спачатку запісваюцца радкі 1, 9, 17 і г. д. Такім чынам, загрузіўшы 1/8 дадзеных, карыстальнік будзе мець уяўленне аб цэлым малюнку. Другім праходам ідуць радкі 5, 13, 21, дазвол выявы ў браўзэры яшчэ ўдвая павялічваецца. Нарэшце, трэці і чацвёрты праход перадаюць (3, 7, 11, 15, 19…) і (2, 4, 6, 8, …). Такім чынам, задоўга да заканчэння загрузкі файла карыстальнік можа зразумець, што ўнутры, і вырашыць, ці варта чакаць поўнай загрузкі малюнка. Празрадковай запіс нязначна павялічвае памер файла, але гэта, як правіла, апраўдваецца набываюцца уласцівасцю.
Маска, выкарыстоўваная ў GIF:
Існуе дзве спецыфікацыі фармату GIF — GIF 87a і GIF 89a.
Першая спецыфікацыя была створана ў 1987 годзе кампаніяй CompuServe для замены састарэлага фармату RLE. GIF стаў папулярны ў ходзе развіцця інтэрнэту, так як дазваляў выкарыстоўваць больш кампактныя (па памеры файла) па параўнанні з іншымі фарматамі выявы на вэб-старонках. Хоць да цяперашняга часу фармат шмат у чым састарэў і для яго замены створаны фармат PNG, ён па-ранейшаму шырока выкарыстоўваецца. GIF-фармат запатрабаваны пры стварэнні так званых сінемаграфаў.
GIF першапачаткова выкарыстаў прапрыетарныя алгарытмы, аднак тэрмін дзеяння патэнтаў на іх мінуў. У ЗША патэнт на алгарытм сціску LZW, які выкарыстоўваецца ў GIF (патэнт № 4 558 302) скончыўся 20 чэрвеня 2003 года. Тэрмін дзеяння канадскага патэнта завяршыўся 7 ліпеня 2004 года. Дзеянне патэнта для Вялікабрытаніі, Францыі, Германіі і Італіі завяршылася 18 чэрвеня 2004 года, а для Японіі — 20 чэрвеня 2004 года.
Тэрмін дзеяння апошняга патэнта на GIF скончыўся 11 жніўня 2006 года[7].
Існуе фармат APNG, створаны ў 2004 годзе, які выкарыстоўвае 24-бітныя колеры і 8-бітную напаўпразрыстасць, які працуе ў браўзэры Mozilla Firefox пачынаючы з 2007 года. Некаторыя праграмы і пашырэння таксама падтрымліваюць APNG.