Ztrátová komprese je způsob ukládání některých digitálních dat v počítačích. Pomocí speciálního algoritmu se zmenšuje objem dat na zlomek původní velikosti. Přitom se některé méně důležité informace ztrácejí a z vytvořených dat již nejdou zrekonstruovat.
Ztrátová komprese se nejčastěji používá pro ukládání obrazových a zvukových záznamů.
Přestože se část informace při ztrátové kompresi nevratně ztrácí, je tento způsob ukládání dat často velmi výhodný. Ztráta některých informací je totiž zcela vyvážena velmi výrazným zmenšením komprimovaných dat. Obvykle je tak určitá (malá) ztráta kvality vyvážena výraznou úsporou místa.
Díky ztrátové kompresi lze na CD-ROM umístit i 10 původních nekomprimovaných zvukových CD, nebo tisíce obrázků; na DVD se vejde celovečerní film, včetně mnoha zvukových doprovodů.
Takto komprimovaná data se lépe ukládají a lépe se s nimi manipuluje.
Příklady užití:
Ztrátová komprese je nepoužitelná v případě, kdy je potřeba uchovat přesnou kopii původních dat, například text knihy, program nebo výsledky měření.
Obecný přístup ztrátové komprese je jednoduchý. Po úvodním předzpracování se přeskupí nebo transformují data tak, aby bylo možno lehce oddělit důležité informace od nedůležitých. Nedůležité informace se pak potlačí mnohem více než důležité a nakonec se výsledek zkomprimuje některým z bezeztrátových kompresních algoritmů.
Klasický algoritmus ztrátové komprese má tedy dvě podstatné části — transformace původních dat a potlačení různě důležitých dat. Umělá inteligence pracuje jinak a může být lepší než klasické algoritmy.[1] I lidská inteligence by to uměla lépe.[2]
K transformaci původních nebo předzpracovaných dat se obvykle používá některá z ortonormálních nebo téměř ortonormálních transformací. Příklady takových transformací jsou například DCT (diskrétní kosinová transformace), FFT (rychlá Fourierova transformace) nebo DWT (diskrétní vlnková transformace). Tyto transformace převedou původní data do jiných domén, například z časové do frekvenční. Většina z důležitých informací je poté uchována v mnohem menším objemu než původně. Pokud zbytek dat nahradíme nějakými předem známými nebo vypočitatelnými daty (někdy se pro tento účel hodí samé nuly), data se po zpětné transformaci budou velmi dobře podobat datům původním.
Protože lidské smysly jsou na frekvence, ať už ve zvuku nebo v obraze, velmi citlivé, taková transformace jsou vhodné i pro další krok.
Při transformaci ještě nemusí docházet k degradaci původních dat. Celočíselné verze transformací pracují obvykle o něco hůře, ale jsou snadněji implementovatelné, a proto se používají v jednoduchých zařízeních. Bezeztrátová transformace se používá i tam, kde se přeskakuje následné potlačení některých dat, tedy v bezeztrátových variantách jinak obvykle ztrátových kompresních algoritmů.
Na druhé straně, ztráta způsobená zaokrouhlováním reálných čísel nebývá nijak velká a obvykle ji vynahradí kvalitnější výsledek transformace pracující s reálnými čísly. Pokud se tedy počítá s následným potlačením některých dat, používají se ztrátové verze transformací.
V této části kompresního algoritmu je rozhodující kvalitní psychovizuální nebo psychoakustický model, který určuje, jaká data mohou být potlačena nebo dokonce úplně odstraněna. Při kompresi obrazu se posuzuje, které frekvence v obrazu jsou důležité, aby člověk na obrázku viděl to, co na něm vidět má. Podobně při kompresi zvuku se hledají frekvence, které člověk stejně nemůže vnímat. Problém při kompresi zvuku je o to složitější, že lidský sluch je velmi citlivý i na časové umístění zvuku. I s tím musí dobrý psychoakustický model počítat.
Obvykle se algoritmy ztrátové komprese popisují a standardizují z pohledu dekodéru. Popíše se tedy zpracování toku dat od jednotlivých nul a jedniček až po finální rekonstrukci a postzpracování obrazu nebo zvuku. Tím je dáno, jak musí vypadat zkomprimovaná data. Kodér (někdy se používá slovo „enkodér“) pak musí vyrobit přesně taková data. Jak to udělá, je už věc jeho autorů. Tento přístup má hlavní výhodu v tom, že jednotlivé kodéry vytvářejí data, které může dekódovat každý dekodér. Další výhodou je možnost soutěže mezi autory kompresních algoritmů. Například dnešní implementace MPEG kodérů jsou o desítky procent efektivnější než první implementace, které se objevily po vydání standardu.