Файл форматтары
GIF деген эмне? 256 түс, анимация жана LZW кысуу
GIF 1987-жылдан бери бар: 256 түс менен чектелген, бирок анимациянын аркасында дагы эле жашап келет. Ал кантип иштээри, эмне үчүн чоң файлдарды берери жана качан башка форматты тандоо керектиги тууралуу.
Автор: Hemen Dönüştür Editör EkibiЖарыяланды: 6 мүн окуу

GIF (Graphics Interchange Format) вебдеги эң эски сүрөт форматтарынын бири. Ал фотолорду JPG'ге, графиканы PNG'ге эбак эле утулуп койгон, бирок кыска, кайталанып турган анимациялар дегенде дагы эле биринчи эске түшөт. Бул макалада GIF кантип башталганы, анын кысуусу жана анимациясы кантип иштээри, 256 түс чеги чындыгында эмнени билдирери жана анын ордуна кайсы форматтарды карап көрсө болору түшүндүрүлөт.
Кыскача тарых
GIF'ти ошол мезгилдеги ири онлайн кызматтардын бири CompuServe иштеп чыккан. Улуу Британиянын Улуттук архивинин PRONOM реестрине ылайык, биринчи версиясы GIF87a 1987-жылдын 15-июнунда чыккан. Кийинки версиясы GIF89a өз атын 1989-жылдан алат; PRONOM тизмелеген жана W3C сактаган спецификация тексти 1990-жылдын 31-июлуна таандык. 89a кадрдын кечигүүсүн, тунуктукту жана жок кылуу ыкмасын аныктаган Graphic Control Extension'ду, ошондой эле комментарий, жөнөкөй текст жана тиркеме кеңейтүүлөрүн кошкон. Бүгүнкү анимацияланган GIF'тер ушул кеңейтүүлөргө курулган.
GIF тарыхынын эң белгилүү бөлүмү патент талашы. GIF Unisys патенттеген LZW алгоритми менен кысылат. Library of Congress'тин формат сүрөттөмөсүнө ылайык, 1994-жылы Unisys LZW лицензиясы үчүн акы ала баштаганда GIF атагы чыккан. Бул патентсиз альтернатива катары PNG'нин иштелип чыгышына алып келген. Ошол эле булак боюнча, Unisys'тин АКШдагы патентинин мөөнөтү 2003-жылдын июнунда, Европа жана Япониядагы патенттеринин мөөнөтү 2004-жылдын июнунда бүткөн, ошондуктан бүгүн GIF колдонуу үчүн лицензия керек эмес.
GIF кантип иштейт
Палитра жана 256 түс чеги
GIF ар бир пикселдин түсүн түз сактабайт; ал түстөр таблицасындагы (палитрадагы) индексти сактайт. Спецификацияга ылайык, түстөр таблицасы эң көп дегенде 256 жазууну камтый алат, ар бири 24 биттик RGB түсү. Глобалдык таблица бүт файлга тиешелүү болушу мүмкүн, ошондой эле ар бир кадрдын өз жергиликтүү таблицасы болушу мүмкүн. Түстөрү аз логотиптер жана иллюстрациялар бул чекке оңой батат, ал эми миңдеген түстөгү фотолор 256 түскө азайтылганда түс тилкелерин же дизеринг үлгүлөрүн көрсөтөт.
LZW кысуу
Пикселдердин индекстери өзгөрмө узундуктагы коддорду колдонгон LZW менен жоготуусуз кысылат; спецификация коддордун 12 битке чейин өсүшүнө уруксат берет. LZW кайталанган пиксел ырааттуулуктарын сөздүккө кошуу менен иштейт, ошондуктан ал чоң тегиз түстүү аймактарда жакшы, ызы-чуулуу фотолордо жаман иштейт.
Тунуктук
GIF89a'да Graphic Control Extension бир палитра түсүн «тунук» деп белгилей алат. Бул «бар/жок» (бинардык) тунуктук: пиксел же толук көрүнөт, же толук тунук. Ошондуктан GIF'те жарым тунук көлөкөлөр жана жумшак четтер тиштүү көрүнөт, жана түстүү фондо четтердин айланасындагы ачык «ореол» ушунчалык көп кездешкен көйгөй.
Анимация
Анимацияланган GIF бир файлдагы кадрлардын ырааттуулугу. Ар бир кадрдын Graphic Control Extension'у анын экранда секунданын жүздөн бир бөлүгү менен канча убакыт турарын жана кийинки кадрдан мурун анын аймагы кантип тазаланарын белгилейт. Кайталоо маалыматы тиркеме кеңейтүүсүндө сакталат. Милдеттүү эмес аралаштыруу сүрөттүн жүктөлүп жатканда акырындык менен пайда болушуна мүмкүндүк берет.
Кадрларды жок кылуу ыкмалары
Спецификация кадр көрсөтүлгөндөн кийин анын аймагына кандай мамиле кылынарын аныктаган төрт маанини белгилейт: жок кылуу ыкмасы көрсөтүлгөн эмес, кадрды ордунда калтыруу, аймакты фон түсүнө кайтаруу жана аймакты мурунку абалына кайтаруу. Жакшы жасалган анимацияларда өзгөргөн аймак гана жаңы кадр катары жазылып, калганы мурунку кадрдан өтөт, файлды кичине кармаган да ушул. Ошондуктан GIF'ти түзөткөн куралдар чийки кадрлар менен бир-бирден эмес, ушул эрежелер менен түзүлгөн толук сүрөттөр менен иштеши керек.
GIF канчалык кеңири колдонулат?
W3Techs'тин 2026-жылдын октябрындагы маалыматтары GIF ал көзөмөлдөгөн веб-сайттардын 13,2%ында колдонуларын көрсөтөт. HTTP Archive Web Almanac 2024 боюнча, мобилдик барактардагы сүрөттөрдүн 16,8%ы GIF; отчетто ошол GIF'тердин 32%ы анимацияланган деп айтылат. Ошондой эле бардык сүрөт суроо-талаптарынын болжол менен 6%ы 1x1 пикселдик сүрөттөр экени белгиленет, алар көбүнчө көз салуу маякчалары жана аралык GIF'тери болушу ыктымал, ошондуктан GIF'тин жогорку үлүшү анимациялардан гана келбейт.
Натыйжалуулук жагынан GIF алда канча артта калат. Ошол эле отчет GIF'тин медианасын пикселге 6,7 бит деп көрсөтөт, ал эми PNG 3,8, JPEG 2,0 жана WebP 1,3. Анимацияланган GIF'тер үчүн медиана 32,6 битке чейин көтөрүлөт, ал эми анимацияланбаган GIF'тер 3,5 битте калат.
GIF'тин ордун эмне баса алат?
MDN'дин сүрөт форматтары боюнча колдонмосу GIF'ти жөнөкөй сүрөттөр жана анимациялар үчүн жакшы тандоо деп эсептейт, бирок жоготуусуз жана индекстелген кыймылсыз сүрөттөр үчүн PNG'ни, анимация ырааттуулуктары үчүн WebP, AVIF же APNG'ни сунуштайт. Узун анимациялар же чыныгы видеодон жасалгандар үчүн видео алда канча натыйжалуу: web.dev'деги мисалда 3,7 МБ GIF MP4 катары 551 КБга, WebM катары 341 КБга чейин кичирейет.
| Муктаждык | Сунуш |
|---|---|
| Кыймылсыз логотип, сүрөтчө, тегиз түстүү графика | PNG же SVG |
| Түстөрү аз кыска анимация (мисалы, жүктөө белгиси) | GIF, APNG же анимацияланган WebP |
| Видеодон же экран жазуусунан жасалган анимация | Үнү өчүрүлгөн, кайталанган MP4 же WebM видео |
| Бардык жерде ойной турган анимация (email, мессенжерлер) | GIF; дагы эле эң кеңири шайкештиги бар формат |
Email кардарлары жана айрым мессенжерлер видеону ойнотпойт же анимацияланган WebP'ти көрсөтпөйт. Ушул жалпы шайкештик GIF'тин отуз жылдан ашык жашап келишинин чыныгы себеби.
Көп кездешкен көйгөйлөр
GIF өтө чоң
Кадрлардын саны, пиксел өлчөмдөрү жана кыймылдын көлөмү файлдын өлчөмүн түз көбөйтөт. Аны өлчөмү боюнча кичирейтүү, кадрларды кесүү же кыска бөлүгүн кесип алуу эң натыйжалуу чечимдер; узун клиптер үчүн видеого өтүү жакшыраак тандоо.
Түстөр тилке-тилке же чекит-чекит көрүнөт
Бул 256 түс чегинин табигый натыйжасы. Асман же тери түсү сыяктуу жумшак градиенттерге эң көп таасир этет. Фотого окшош мазмун үчүн GIF'тин ордуна JPG, WebP же видео колдонуңуз.
Четтердин айланасында ак ореол бар
Тунук GIF'тер жарым тунук боло албагандыктан, ачык фондо даярдалган сүрөт караңгы фонго коюлганда четтериндеги аралык түстөрдү көрсөтөт. Четтери жумшак тунук сүрөттөр үчүн PNG же WebP колдонуңуз.
Конвертациялагандан кийин анимация токтоп калды
PNG жана JPG анимацияны сактабайт, ошондуктан алардын бирине конвертацияланган анимацияланган GIF бир гана кадрды сактайт.
GIF менен иштөө боюнча кеңештер
- Кыймылсыз сүрөт алуу үчүн GIF'ти PNG'ге конвертациялаңыз. GIF'тин биринчи кадры тунуктугу менен кошо жоготуусуз PNG катары сакталат.
- Анимацияланган GIF'тин өлчөмүн кичирейтүү үчүн сүрөттүн өлчөмүн өзгөртүү куралын колдонуңуз. Анимацияланган GIF'тер өлчөмү өзгөртүлгөндө ар бир кадрын жана анын көрсөтүү убактысын сактайт (600 кадрга чейин).
- Анимацияны кесүү үчүн сүрөттү кесүү куралы ар бир кадрга бирдей кесүүнү колдонуп, кадрлардын убактысын сактайт.
- Файлдын өлчөмүн азайтуу үчүн сүрөт кысуучу анимацияланган GIF'терди бардык кадрлары менен GIF бойдон калтырат, ал эми кыймылсыз GIF'тер кичирээк болушу үчүн демейки боюнча WebP'ке айландырылат.
- Башка сүрөттү GIF'ке айландыруу үчүн сүрөт конвертеринде максат катары GIF'ти тандаңыз. Натыйжа 256 түскө чейинки бир кадр болот, ал эми жарым тунук аймактар «бар/жок» тунуктукка келтирилет.
- Мунун баары браузериңизде аткарылат, ошондуктан файлдарыңыз түзмөгүңүздөн чыкпайт.
Көп берилүүчү суроолор
GIF жоготуу менен кысабы?
LZW кысуу жоготуусуз. Бирок толук түстүү сүрөттү GIF'ке конвертациялоо аны 256 түскө чейин азайтууну талап кылат, жана жоготуу ошол түстөрдү азайтуу кадамында болот.
GIF менен анимацияланган GIF'тин айырмасы барбы?
Формат бирдей. Бир кадрлуу GIF кыймылсыз, бир нече кадрлуу GIF анимацияланган. Кадрлардын кечигүүлөрү жана кайталоо маалыматы файлдын ичиндеги кеңейтүүлөрдө сакталат.
GIF эмне үчүн дагы эле колдонулат?
Анткени ал эч кандай жөндөөсүз дээрлик бардык жерде ойнойт: браузерлерде, email кардарларында, чат тиркемелеринде жана эски программаларда. Натыйжалуураак альтернативалар азырынча бардык чөйрөлөрдө мындай шайкештикти сунуштай элек.
GIF'ти MP4'кө конвертациялоонун мааниси барбы?
Эгер аны сайтыңызда көрсөтсөңүз, адатта ооба. web.dev'деги мисалда видео нускалары GIF'тин өлчөмүнүн болжол менен жетиден биринен ондон бирине чейинкисин ээлейт. autoplay, loop, muted жана playsinline атрибуттары менен ойнотулган видео баракта GIF сыяктуу эле иштейт.
GIF'те канча түс болушу мүмкүн?
Ар бир түстөр таблицасы эң көп 256 түстү камтыйт. Техникалык жактан ар бир кадр өз жергиликтүү таблицасын камтый алгандыктан, көп кадрлуу GIF жалпысынан көбүрөөк түс көрсөтө алат, бирок бир кадрдын ичинде чек 256.
Булактар
- CompuServe: Graphics Interchange Format Version 89a (W3C көчүрмөсү)
- The National Archives PRONOM: Graphics Interchange Format 87a
- The National Archives PRONOM: Graphics Interchange Format 89a
- Library of Congress: GIF 89a форматынын сүрөттөмөсү
- MDN: Image file type and format guide
- web.dev: Replace animated GIFs with video for faster page loads
- W3Techs: Usage statistics of image file formats for websites
- HTTP Archive Web Almanac 2024: Media


