Vaizdų formatai: JPEG, PNG, WebP ir AVIF
Keturi formatai padengia daugiau nei 99 % šiuolaikinio tinklalapio vaizdų. Jie skirtingai derina glaudinimą, permatomumą, animaciją ir palaikymą naršyklėse. Žemiau — praktinis gidas, kaip pasirinkti.
Palyginimas iš eilės
Pirmiausia santrauka lentelėje, toliau — kiekvieno formato aprašas.
| Savybė | JPEG ? | PNG ? | WebP ? | AVIF ? |
|---|---|---|---|---|
| Glaudinimas | Su nuostoliais | Be nuostolių | Su ir be nuostolių | Su ir be nuostolių |
| Alfa (permatomumas) | Ne | Taip (8 bitai) | Taip (8 bitai) | Taip (pilna) |
| Animacija | Ne | Tik APNG | Taip | Taip |
| Maks. spalvinė gylis | 8 bitai | 16 bitų | 8 bitai | 10/12 bitų |
| Tipinis dydis vs JPEG (nuotraukos) | 100% | 300–1000% | 65–75% | 40–60% |
| Naršyklių palaikymas | Visur | Visur | Chrome 32, Firefox 65, Safari 14 | Chrome 85, Firefox 93, Safari 16 |
| Tipinis kodavimo greitis | Greitas | Greitas | Vidutinis | Lėtas |
JPEG — visuotinis pagrindas
Kaip veikia
JPEG (Joint Photographic Experts Group) standartizuotas 1992 m. — seniausias iš keturių. Naudojama diskrečioji kosinusinė transformacija 8×8 pikselių blokams, kvantavimas ir entropinis kodavimas. Kokybę valdo vienas skaičius 1–100. Šiuolaikiniai koduotuvai, pvz. MozJPEG, „išspaudžia“ dar 10–20 % be bitų srauto keitimo, todėl bet kuris JPEG dekoderis juos nuskaito.
Geriausiai tinka
Fotografiniam turiniui su švelniais tonais ir daugybe detalių — portretai, peizažai, prekių nuotraukos, hero vaizdai.
Pliusai
- Palaikoma praktiškai kiekvienoje peržiūros programoje.
- Dekodavimas dažnai spartinamas aparatūriškai.
- Subrendusi optimizatorių ekosistema (MozJPEG, jpegli).
Minusai
- Nėra alfa kanalo — fonai turi būti suploti.
- Blokuoti artefaktai ant teksto, linijų ir aštrių briaunų.
- Tik 8 bitai kanalui.
PNG — be nuostolių ir permatomas
Kaip veikia
PNG (Portable Network Graphics) atsirado 1990-aisiais kaip laisvas GIF pakaitalas. Jis griežtai be nuostolių: DEFLATE eilučių filtravimui. Optimizatoriai kaip oxipng bando filtrų ir glaudinimo derinius, kad rastų mažiausią failą nekeičiant pikselio.
Geriausiai tinka
Sąsajos grafikai, piktogramoms, ekrano kopijoms, schemoms, logotipams su plokščiomis spalvoms ir bet kam, reikalingam tikram alfa kanalui.
Pliusai
- Be nuostolių — pikseliai išlieka grįžus „atgal“.
- Pilna 8 bitų alfa, iki 16 bitų kanalui.
- Pralaidžiai palaikoma.
Minusai
- Dideli failai ant nuotraukų — dažnai kelis kartus didesni už JPEG/WebP/AVIF.
- Animacijos nėra pradinėje specifikacijoje (APNG — vėlesnis plėtinys).
WebP — Google formatas tinklui
Kaip veikia
WebP pristatė Google 2010 m., remiantis VP8, vėliau pridėtas atskiras režimas be nuostolių. Viename konteineryje — su ir be nuostolių, neprivaloma alfa ir animacija. Su nuostoliais dažniausiai ~25–35 % mažiau už JPEG tos pačios kokybės. Be nuostolių — dažnai 20–30 % mažiau už PNG.
Geriausiai tinka
Bendram tinklalapio tiekimui, kai AVIF dar ne „saugus“ — nuotraukos, sprite'ai su alfa, animuotų GIF pakaitalai, atsarginis sluoksnis po AVIF.
Pliusai
- Vienu formatu — nuotraukos, grafika, alfa, animacija.
- Ženklai mažesnis už JPEG ir PNG panašioje kokybėje.
- Platus palaikymas: šiuolaikiškos naršyklės nuo ~2020 m.
Minusai
- 8 bitai kanalui — nėra HDR.
- Ant silpnų įrenginių dekodavimas gali būti lėtesnis už JPEG.
AVIF — šiuo metu geriausias glaudinimas
Kaip veikia
AVIF (AV1 Image File Format) — nejudančio kadrų profilis AV1 vaizdo kodekui (Alliance for Open Media, 2019). Iki 12 bitų spalvos, pilna alfa, HDR, plati spalvinė gama, filmo grūdo sintezė. Atskaitos koduotuvas (aom-av1 per libavif) lėtas, bet duoda geriausią šiandieninį glaudinimą realioms nuotraukoms.
Geriausiai tinka
Hero vaizdams, galerijoms ir bet kur, kur srautas svarbesnis už CPU laiką. Gerai tinka aukščiausiam sluoksniui <picture> elemente.
Pliusai
- Elito klasės glaudinimas — dažnai 40–60 % mažiau už JPEG.
- Alfa, animacija, HDR, plati gama, 10/12 bitų gylis.
- Atviras, be licencijos mokesčių.
Minusai
- Lėtas kodavimas — planuokite build ar asinchroniškai.
- Safari palaikymą pridėjo tik 16 versijoje (2022).
- Sintetinei grafikai silpniau nei WebP be nuostolių ar PNG.
Kokį formatą pasirinkti?
- Nuotraukos, per visą plotą hero: AVIF pirmiausia, WebP ir JPEG atsargos per
<picture>. - Sąsajos su permatomumu (piktogramos, logotipai): PNG senesnėms sistemoms, WebP be nuostolių — mažesniam tūriui.
- Linijos, ekrano kopijos, schemos: PNG (ar WebP be nuostolių) — ant aštrių briaunų JPEG/AVIF artefaktai matomi labiausiai.
- Animuotų GIF pakeitimas: WebP ar AVIF — žymiai mažesni, su tikra alfa.
- Vienas formatas visoms naršyklėms šiandien: JPEG nuotraukoms, PNG grafikai. Ne mažiausi failai, bet nulinė suderinamumo skola.
Praktiškai nebūtina rinktis vieno. Tiekite AVIF pirmiausia, antra — WebP, paskutinė — JPEG ar PNG
<picture> elemente — kiekviena naršyklė paima mažiausią versiją, kurią moka dekoduoti.
Dažnai užduodami klausimai
Kaip konvertuoti JPG į WebP?
Atverkite PicBrewery, nuvilkite JPG į įkėlimo sritį — WebP bus sukurtas kartu su JPEG, PNG ir AVIF. Pasirinkite WebP langelį ir spustelėkite atsisiuntimo piktogramą. Viskas vyksta naršyklėje — failas nekeliauja į serverį.
Kaip konvertuoti PNG į AVIF?
Nuleiskite PNG į PicBrewery. Perkodavimas į JPEG, WebP ir AVIF vyksta lygiagrečiai Web Workers. Spustelėkite AVIF stulpelį, arba pažymėkite eilutes ir eksportuokite ZIP su mažiausiu variantu kiekvienam failui.
Ar AVIF geresnis už WebP?
Fotografijoms AVIF dažniausiai 20–30 % mažesni failai už WebP tos pačios suvokiamos kokybės (AV1 kodekas). WebP vis dar laimi kodavimo greičiu ir turi platesnį palaikymą senesnėse naršyklėse — formatai vienas kitą papildo.
Ar Safari palaiko WebP?
Taip. WebP palaikoma nuo Safari 14 (macOS Big Sur, iOS 14, 2020 m.). Visos dabartinės Safari versijos dekoduoja su ir be nuostolių WebP.
Ar PNG visada be nuostolių?
Taip. PNG naudoja DEFLATE, griežtai be nuostolių: pikseliai bitų tikslumu sutampa su šaltiniu. Mažesnis dydis — iš filtrų ir oxipng derinio, ne iš duomenų atmetimo.
Ar JPEG gali būti permatomas?
Ne. Klasikinis JPEG neturi alfa. Permatomumui reikia PNG, WebP ar AVIF. JPEG XL turi alfa, bet dar ne visur palaikomas.
Kiek AVIF mažesnis už JPEG?
Tipiškos nuotraukos (aom / libavif) 40–60 % mažesnės nei MozJPEG tos pačios suvokiamos kokybės. Ant plokščios grafikos sutaupymas mažesnis, kur JPEG ir taip gerai glaudina.
Ar mano naršyklė dekoduos AVIF?
AVIF: Chrome 85+, Firefox 93+, Edge 121+, Safari 16+.
Visiems vartotojams naudokite <picture> su WebP ar JPEG atsarga.
Ar PicBrewery tikrai veikia kliento pusėje?
Taip. Dekodavimas ir perkodavimas vyksta WebAssembly Web Workers jūsų įrenginyje. Vaizdų baitai nesiunčiami tinklu — tik statinė programa ir kodekų failai.
Konversija tarp formatų
Reikia konkrečios poros? Pasirinkite žemiau — kiekvienas puslapis turi instrukciją, dydžio įvertinimą ir DUK.
Išbandykite su savo vaizdais
Nuvilkite JPG partiją į PicBrewery ir palyginkite WebP ir AVIF vienas šalia kito. Nieko nekeliaujama į serverį.