GIF

Վիքիպեդիայից՝ ազատ հանրագիտարանից
GIF

Ընդլայնում.gif
MIMEimage/gif
ՄշակողCompuServe?[1] և Steve Wilhite?
Ֆորմատի տեսակraster-graphics file format?, lossless compression?, image compression? և video compression?
Բայթերի հերթականությունlittle endian?
ՀիմքLempel–Ziv–Welch?
 GIF file format Վիքիպահեստում

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

Անվան արտասանությունը[խմբագրել | խմբագրել կոդը]

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

Օգտագործման բնագավառը[խմբագրել | խմբագրել կոդը]

Gif-անիմացիա Շենքի փլուզումը երկրաշարժից

Gif ձևաչափում պատկերները պահպանվում են տողահաշվով, ընդունվում է միայն ինդեքսավորված գունակազմությամբ ձևաչափը։ Ստանդարտը նախագծվել է միայն 256 գունային ներկապնակին օժանդակելու համար։

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

Պատկերի անիմացում[խմբագրել | խմբագրել կոդը]

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

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

Խտացումը[խմբագրել | խմբագրել կոդը]

Animated gif

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 ձևաչափը։

Ծանոթագրություններ[խմբագրել | խմբագրել կոդը]