Programátoři z Googlu už roky bojují s velikostí dat. V případě podobné internetové korporace se není čemu divit, úspora jediného procenta totiž znamená ohromnou úlevu pro jeho datová centra, což v důsledku znamená i nižší spotřebu, méně nákladů a více prostředků pro ostatní služby.
WebP, Zopfli, RAISR a teď Guetzli
Co takový boj s velikostí znamená v praxi? Google za poslední roky představil celou řadu komprimačních a optimalizačních technologií. Nejprve to byl nový úspornější kontejner a formát pro obrázky WebP, pak třeba kompresní optimalziace Zopfli, kterou lze použít pro obrázky v PNG a komprimační knihovnu gzip, no a nakonec do práce zapojil i strojové učení a zrodil se projekt RAISR, který dnes snižuje velikost obrázků třeba na jeho službě Google+.
Kabel vedení na obloze. Zleva: originál, klasický JPEG a nový Guetzli s méně artefakty
Nyní se inženýři z Mountain View pochlubili dalším přídavkem, který se věnuje nepsanému standardu fotografie – formátu JPEG. Na svém blogu a GitHubu zveřejnili zatím experimentální technologii Guetzli (sušenka), která podle testů sníží velikost fotografie v JPEG až o 35 % bez ztráty vizuální kvality. To potvrdilo jak interní testování, tak zkouška lidem, kdy respondenti označili fotografie optimalizované pomocí Guetzli jako hezčí, než ty, které prošly kompresí standardní cestou.
Zleva: nekomprimovaný originál, tradiční JPEG (knihovna libjpeg) a konečně Guetzli
Menší datová zátěž, ale více procesoru
No dobrá, ale jaká je cena? Procesorová. Guetzli, který si bere paškál jednu z mnoha částí celého komprimačního procesu, totiž svou optimalizací stráví mnohem více času, takže ukládání fotografie je mnohonásobně delší než u obvyklých algoritmů JPEG. Zároveň je technika určená pro zpracovávání fotografií, které ještě neprošly drastickou JPEG kompresí. Ne snad, že by je nedokázala zpracovat, již poškozenou fotografii ale Guetzli samozřejmě neopraví. Google tedy doporučuje testovat technologii na minimálně komprimovaných snímcích.
Nekomprimovaná včelka v PNG, včelka v Guetzli JPEG (kvalita 90 5) a včelka v běžném JPEG (kvalita 90 %)
V každém případě, každý si to může vyzkoušet v praxi, zdrojové kódy optimalizačního nástroje jsou totiž k dispozici pod svobodnou licencí na zmíněném GitHubu a to pro linuxové systémy i Windows. Vše je mnohem snazší na Windows 10 s integrovaným linuxovým subsystémem, protože k překladu nebudete potřebovat Visual Studio a Windows SDK.
Guetzli v akci
Pokud se vylepšení Guetzli osvědčí, mohlo by pomoci především webmasterům a nejrůznějším webovým galeriím, kde by úspora až o 35 % byla jistě žádaná. Vytvoření takových fotografií sice bude časově náročnější, investice se ale vrátí menším datovým tokem a tedy i menší zátěží serverů.
Google v každém případě není jediný, protože stárnoucí JPEG se snaží vylepšit celý zástup týmů. Za zmínku tedy stojí i mnohá komerční optimalizační řešení – třeba JPEGmini, který používá třeba 9GAG, a další.