Definícia

WebP je obrazový formát novej generácie, ktorý využíva stratové a bezstratové metódy kompresie obrazu na zmenšenie veľkosti obrazu pri zachovaní dobrej kvality.

Popis

WebP je moderný formát obrázkov vyvinutý spoločnosťou Google s cieľom pomôcť webovým stránkam poskytovať mediálny obsah bez spomalenia ich webových stránok.

Podľa prieskumu od Googlu sú obrázky WebP s bezstratovou kompresiou o 26 % menšie ako porovnateľné PNG a o 25 – 34 % menšie ako JPEG pri rovnakom indexe kvality SSIM. Bezstratové obrázky WebP tiež podporujú transparentnosť s relatívne nízkymi „nákladmi“, pokiaľ ide o bajty pridané do obrázka.

WebP má tiež možnosť stratovej kompresie. WebP so stratovou kompresiou má za následok 3-krát menšie veľkosti súborov ako porovnateľné súbory PNG.

Obrázky WebP sú uložené v „kontajnerovom” formáte založenom na Resource Interchange File Format (RIFF). Kontajnery RIFF sú veľmi ľahké, s réžiou iba 20 bajtov (zatiaľ, čo je možné pridať ďalšie metadáta). Kontajner RIFF môže podporovať obrázky s dĺžkou strany až 16 383 pixelov.

Okrem základného prípadu použitia súboru obsahujúceho jeden obrázok podporuje kontajner WebP aj metadáta vo formátoch Exif alebo XMP, priehľadnosť a farebné profily pomocou štandardu International Color Consortium (ICC).

Algoritmus stratovej kompresie WebP

Stratová kompresia WebP je založená na kódovaní v rámci rámca vyvinutom pre video kodek VP8, pôvodne vyvinutý a otvorený spoločnosťou Google. Používa schému transformácie založenú na blokoch s 8 bitmi farebnej hĺbky.

Kompresia WebP využíva koncept predikcie bloku. Každý blok na obrázku je predpovedaný na základe troch blokov nad ním a jedného bloku vľavo. Predpoveď prebieha v jednom zo štyroch režimov: horizontálny, vertikálny, jednofarebný (DC) a TrueMotion. Bloky, ktoré možno presne predpovedať, nie sú uložené vo formáte.

Keď bloky nie je možné presne predpovedať pomocou algoritmu, sú komprimované pomocou jednej z dvoch transformačných techník:

  • Diskrétna kosínusová transformácia (DCT)
  • Rýchla Walsh-Hadamardova transformácia (FWHT)

Po tejto transformácii sa obsah podrobuje entropickému kódovaniu, schéme bezstratovej kompresie.

Bezstratová kompresia WebP

Bezstratová kompresia WebP je novší algoritmus, ktorý vyvinul Jyrki Alakuijala, inžinier Google. Používa niekoľko techník kompresie:

  • Tradičné techniky vrátane indexovaných farieb, Huffmanovho kódovania a slovníkového kódovania.
  • Pokročilé techniky vrátane vyhradených entropických kódov pre každý farebný kanál a vyrovnávacej pamäte farieb posledných farieb.

Softvér na prevodník

Google poskytol konvertor príkazového riadka pre WebP, ktorý beží na Linuxe, známy ako cwebp, a dekódovaciu knižnicu, ktorá je zdieľaná s formátom WebM. Prevodníky verzií s otvoreným zdrojovým kódom sú teraz k dispozícii pre Windows a ďalšie platformy.