GIF

Gif-ը (անգլ.՝ Graphics Interchange Format — պատկերների փոխանակման ձևաչափ (ֆորմատ)) գրաֆիկական պատկերների հայտնի ձևաչափ է։ Ունակ է պահպանել առանց որակի կորստի խտացված տվյալներ 256 գույնից ոչ ավել ձևաչափով։ Սարքային ապահովումից կախում չունեցող Gif ձևաչափը 1987 թվականին (GIF87a) մշակել է CompuServe ֆիրման ռաստրային պատկերները ցանցով փոխանցելու համար։ 1989 թվականին ձևաչափը վերափոխվում է (GIF89a), ավելացվում են թափանցիկության հնարավորություն և անիմացիա։ GIF-ն օգտագործում է LZW-կոմպրեսիան, որը թույլ է տալիս խտացնել նիշքերը (ֆայլ), որոնցում շատ են միասեռ գունալցումները (լոգոտիպ, մակագրություն, սխեմա)։ Երկար ժամանակ Gif-ը Համացանցում ամենատարածված ձևաչափերից մեկն էր։


== Անվան արտասանությունը ==
«Ջիֆ», անունն այսպես էին արտասանում ձևաչափի ստեղծողները /dʒɪf/։ Բայց և այնպես անգլալեզու աշխարհում լայն կիրառություն ունի «գիֆ» արտասանությունը /gɪf/, հիմնված նրան, որ GIF —ը անգլ.՝  Graphics Interchange Format հապավումն է։ Ըստ Օքսֆորդի անգլերեն բառարանի և Ամերիկյան ժառանգության բառարանի երկու տարբերակն էլ համարվում են ճիշտ։


== Օգտագործման բնագավառը ==
Gif ձևաչափում պատկերները պահպանվում են տողահաշվով, ընդունվում է միայն ինդեքսավորված գունակազմությամբ ձևաչափը։ Ստանդարտը նախագծվել է միայն 256 գունային ներկապնակին օժանդակելու համար։
Գույներից մեկը ներկապնակում կարող է հայտարարվել «թափանցիկ»։ Այս դեպքում ծրագրերում, որոնք օժանդակում են Gif-ի թափանցիկությունը (օրինակ՝ բրաուզերների մեծ մասը) «թափանցիկ» ներկված փիքսելների միջով կերևա ֆոնը։ Փիքսելների «կիսաթափանցիկություն» (ալֆա-ուղի տեխնոլոգիա) չի օժանդակվում։


=== Պատկերի անիմացում ===
Gif ձևաչափը օժանդակում է անիմացիոն պատկերներ։ Դրանք իրենցից ներկայացնում են մի քանի ստատիկ կադրերի հաջորդականություն, ինչպես նաև տեղեկություն այն մասին, թե յուրաքանչյուր կադրը որքան ժամանակ պետք է երևա էկրանին։ Անիմացիան կարող է լինել ցիկլային (անգլ.՝ oop), երբ վերջին կադրին հաջորդում է առաջին կադրի վերարտադրությունը։
GIF անիմացիան օգտագործում է թափանցիկությունը, որպեսզի չպահպանի հերթական կադրն ամբողջությամբ, այլ միայն նախկինի համեմատ փոփոխությունները։
Ոչ փաստաթղթային, բայց օժանդակող հնարավորություն է հանդիսանում մեծաթիվ գույների պահպանումը կադրերի միջև զրոյական ուշացումով անիմացվախ GIF-ի միջոցով։ Այդ դեպքում հաղթահարվում է 256 գույնի սահմանափակումը. յուրաքանչյուր կադր պարունակում է իր ներկապնակը։


=== Խտացումը ===
GIF-ն օգտագործում է խտացման LZW ձևաչափը։ Այսպիսով, լավ խտացվում են պատկերները, որոնք ունեն կրկնվող հատվածներ, հատկապես նրանք, որոնցում շատ են հորիզոնական միագույն փիքսելները։
LZW խտացման ալգորիթմը վերաբերվում է առանց կորստի խտացման ձևաչափերին։ Դա նշանակում է, որ GIF-ից վերականգնված տվյալները ճշտությամբ կհամապատասխանեն փաթեթավորվածին։ Հարկ է նշել, որ սա ճիշտ է ներկապնակով 8-բիթանոց պատկերների համար։ Գունավոր լուսանկարի համար կորուստները պայմանավորված են 256 գույնի անցմամբ։
LZW մեթոդը 1978 թվականին մշակել են հրեաներ Աբրահամ Լեմպելը և Յակոբ Զիվը, իսկ ավելի ուշ ԱՄՆ-ում Թերի Վելչը ավարտին է հասցրել այն։ LZW-ն նիշքում խտացնում է տվյալները նույնանման հաջորդականությունների (դրանց անվանում են փուլեր) որոնման միջոցով։ Հայտնաբերված հաջորդականությունները պահպանվում են աղյուսակներում, դրանց տրվում են ավելի կարճ մարկերներ (բանալիներ)։
LZW մեթոդը այնպես, ինչպես RLE մեթոդը, լավ է գործում միասեռ, խանգարումներից զերծ գույների հատվածում, այն գործում է RLE-ից շատ ավելի լավ, կամայական գրաֆիկական տվյալների խտացման դեպքում, բայց կոդավորումը և բացումն ընթանում են դանդաղ։


=== Միահյուսված GIF ===
GIF ձևաչափը թույլատրում է տվյալների միահյուսված պահպանում։ Տողերն այս դեպքում բաշանվում են խմբերի, փոխվում է նիշքում տողերի պահպանման հաջորդականությունը։ Բեռնման ընթացքում պատկերը հայտնվում է աստիճանաբար՝ մի քանի անցումով։ Ի շնորհիվ դրա, ունենալով նիշքի միայն մի մասը, կարելի է տեսնել պատկերն ամբողջությամբ, բայց ավելի ցածր թույլտվությամբ։
Միահյուսված GIF-ում սկզբում գրանցվում են տողերը՝ 1,9,17 և այլն։ Այսպիսով բեռնելով տվյալների 1/8-ը օգտագործողը կարող է պատկերացում կազմել ամբողջ պատկերի մասին։ Երկրորդ անցումով հետևում են 5,13,21,... տողերը, պատկերի թույլտվությունը բրաուզերում կրկնակի մեծանում է։ Վերջապես, երրորդ, չորրորդ անցումները փոխանցում են (3, 7, 11, 15, 19…) և (2, 4, 6, 8, …)։ Այսպիսով, մինչ նիշքի բեռնումը օգտագործողը կարող է որոշել, թե ինչ է ներսում և որոշել, սպասել նիշքի ամբողջական բեռնմանը, թե ոչ։ Միահյուսված գրանցումը աննշան մեծացնում է նիշքի չափը, բայց դա որպես կանոն, արդարացնում է ձեռք բերած հատկությունը։

GIF-ում օգտագործվող դիմակ.
1
4
3
4
2
4
3
4


== Պատմություն ==
Գոյություն ունի GIF ձևաչափի 2 դասակարգում՝ GIF 87a և GIF 89a:
Առաջին դասակարգումն ստեղծվել է 1987 թվականին CompuServe ընկերության կողմից, հնացած RLE ձևաչափի փոխարինման համար։ GIF դարձավ հայտնի համացանցի զարգացման հետ, քանի որ թույլ էր տալիս վեբ-էջերում օգտագործել այլ ձևաչափերի համեմատ ավելի սեղմ (նիշքի չափով) նկարներ։ Չնայած այժմ ձևաչափը հնացել է և նրա փոխարինման համար ստեղծվել է PNG ձևաչափը, այն նախկինի նման լայնորեն օգտագործվում է։ GIF ձևաչափը պահանջված է այսպես կոչված սինեմագրաֆների ստեղծման համար։


== Այլընտրանք ==
Գոյություն ունի 2004 թվականին ստեղծված, 2007 թվականից Mozilla Firefox բրաուզերում աշխատող APNG ձևաչափը, որն օգտագործում է 24 բիթանոց գույներ և 8-բիթանոց կիսաթափանցիկություն։ Որոշ ծրագրեր և ընդլայնումներ ևս օժանդակում են APNG ձևաչափը։


== Ծանոթագրություններ ==