INTEGRITY Dokumentace

WebP může být přeskočeno

Polish se vyhýbá převodu obrázků do formátu WebP v případech, kdy by takový převod zvětšil velikost souboru nebo výrazně zhoršil kvalitu obrázku. Polish také optimalizuje obrázky JPEG a formát WebP není vždy lepší než dobře optimalizovaný JPEG.

Chcete-li vylepšit použití WebP v Polish, povolte Možnost Lossy. Při vytváření nových obrázků JPEG je ukládejte s mírně vyšší kvalitou, než je obvykle nutné. Doporučujeme nastavení kvality JPEG mezi 85 a 95, ne vyšší. Polish tak získá dostatečný prostor pro ztrátový převod do WebP a optimalizovaný JPEG.

V bezztrátová komprese režimu není možné převést JPEG na WebP

WebP je ve skutečnosti název pro dva velmi odlišné formáty obrázků: WebP-lossless (podobný PNG) a WebP-VP8 (podobný JPEG).

Když Možnost Lossless povoleno, Polish neprovádí žádné optimalizace, které mění pixely obrázku. Polish tak může převádět obrázky pouze mezi bezztrátovými formáty, jako jsou PNG, GIF a bezztrátové WebP. Obrázky JPEG se však nepřevádí, protože formát WebP-VP8 neumožňuje převod z JPEG bez ztráty kvality a bezztrátový formát WebP nekomprimuje obrázky tak silně jako JPEG.

V bezztrátovém režimu může Polish stále aplikovat bezztrátové optimalizace na obrázky JPEG. Jde o jedinečnou vlastnost formátu JPEG, která nemá ve WebP obdobu.

JPEG obrázky nízké kvality se do WebP nepřevádí dobře

Pokud jsou soubory JPEG již silně komprimované (například uložené s nízkou kvalitou, jako je q=50, nebo mnohokrát znovu uložen), převod do formátu WebP nemusí být přínosný a může velikost souboru dokonce zvětšit. Je to proto, že ztrátové formáty do obrázků vnášejí zkreslení (JPEG například obrázky rozostří do bloků a kolem ostrých hran přidává šum) a formát WebP nedokáže rozlišit mezi detaily, které je třeba zachovat, a nežádoucím zkreslením způsobeným předchozí kompresí. WebP proto zbytečně plýtvá bajty na zachování tohoto přidaného šumu a blokovosti, což zvyšuje velikost souboru a celkově snižuje přínos komprese.

Polish nikdy nezvětšuje velikost souborů. Pokud zjistíme, že by převod do formátu WebP zvětšil velikost souboru, převod přeskočíme a zachováme menší původní formát souboru.

U některých obrázků může převod do formátu WebP příliš zhoršit kvalitu

Formát WebP ve svém efektivnějším režimu VP8 při kompresi obrázků vždy ztrácí určitou kvalitu. To znamená, že převod z JPEG způsobí, že obrázky WebP vypadají o něco hůře. Polish zajišťuje, aby úspora velikosti souboru z převodu převážila nad ztrátou kvality.

Lossy WebP má výraznou limitaci: dokáže zachovat jen jeden odstín barvy na 4 pixely, protože barevné informace se vždy ukládají při poloviční velikosti rozlišení obrázku. U fotografií ve vysokém rozlišení je tato degradace jen málokdy patrná. U obrázků se sytými barvami a ostrými hranami ale tato limitace může vést k tomu, že formát WebP má znatelně rozpixelované nebo rozmazané hrany.

Formát WebP navíc na obrázky aplikuje vyhlazování. Tato funkce potlačuje blokové artefakty typické pro nekvalitní obrázky JPEG, u kvalitních obrázků však může způsobit ztrátu jemných textur a detailů, takže výsledek působí uhlazeně jako po retuši.

Polish se snaží vyhnout zhoršení kvality obrázků kvůli minimálnímu přínosu. Pokud má formát JPEG přibližně stejnou velikost jako WebP, ale lepší kvalitu, Polish jej zachová.

Starší formáty jsou někdy lepší než WebP

Formát WebP má oproti JPEG výhodu při ukládání obrázků s měkkým nebo rozmazaným obsahem a při nízké kvalitě. Při ukládání kvalitních obrázků s jemnými texturami nebo šumem má WebP menší výhody. Polish optimalizuje i obrázky JPEG a dobře optimalizovaný JPEG je někdy jednoduše lepší než WebP, protože zároveň nabízí lepší kvalitu a menší velikost souboru. Tyto případy se snažíme rozpoznat a formát JPEG zachovat tam, kde funguje lépe. Animace s malým pohybem jsou někdy efektivnější jako GIF než jako animovaný WebP.

Formát WebP nepodporuje progresivní vykreslování. S Prioritizace HTTP/2 povoleno, progresivní obrázky JPEG se mohou zdát načítat rychleji, i když mají větší velikost souboru.

Pozor na kompresi, která nic nezlepší, jen opakuje stejný postup

U ztrátového formátu, jako je JPEG nebo WebP, lze existující obrázek vždy uložit s mírně nižší kvalitou a získat obrázek, který vypadá téměř stejný, ale má menší velikost souboru. Je to paradox hromady ↗: z hromady písku můžete odebrat jedno zrnko a stále vám zůstane hromada písku. Nikdy nenastane okamžik, kdy už hromadu nejde zmenšit, dokud v ní nezbude žádné zrnko. Stejně tak lze obrázek vždy vytvořit s o něco nižší kvalitou, a to až do chvíle, kdy nahromaděné ztráty jeho kvalitu znehodnotí k nepoznání.

Nepoužívejte na obrázky více nástrojů se ztrátovou optimalizací, ať už před funkcí Polish, nebo po ní. Více ztrátových operací zhoršuje kvalitu nepoměrně více, než kolik ušetří na velikosti souboru.

Polish proto nevytváří nejmenší možné velikosti souborů. Místo toho se snaží maximalizovat poměr kvality k velikosti souboru, aby vytvořil co nejmenší soubory při zachování dobré kvality. Úroveň kvality, na které se zastaví, je pečlivě zvolena tak, aby minimalizovala viditelné zkreslení a zároveň zajistila vysoký kompresní poměr.