Techniky bezztrátového kódování snižují velikost digitálních souborů.
Bezeztrátové kódování nebo bezeztrátová komprese se týká procesu efektivnějšího kódování dat tak, aby zabírala méně bitů nebo bajtů, ale takovým způsobem, že původní data lze rekonstruovat bit po bitu, když jsou data dekomprimováno. Výhodou technik bezztrátového kódování je to, že produkují přesný duplikát původních dat, ale mají také některé nevýhody ve srovnání s technikami ztrátového kódování.
Kompresní poměr
Techniky bezztrátového kódování nemohou dosáhnout vysoké úrovně komprese. Jen málo technik bezeztrátového kódování může dosáhnout kompresního poměru vyššího než 8:1, což je nepříznivé ve srovnání s technikami takzvaného ztrátového kódování. Ztrátové kódovací techniky – které dosahují komprese vyřazením některých původních dat – mohou dosáhnout kompresního poměru 10:1 pro zvuk a 300:1 pro video s malou nebo žádnou znatelnou ztrátou kvalitní. Podle New Biggin Photography Group 1 943 x 1 702 pixelů 24bitový barevný snímek RGB s původní velikostí 9,9 MB lze zmenšit pouze na 6,5 megabajtů pomocí bezztrátového formátu PNG, ale lze jej zmenšit na pouhý 1 megabajt pomocí ztrátového JPEG formát.
Video dne
Doba přenosu
Jakákoli aplikace, která zahrnuje ukládání nebo distribuci digitálních obrázků nebo obojí, předpokládá, že tyto operace mohou být dokončeny v přiměřené době. Doba potřebná k přenosu digitálního obrázku závisí na velikosti komprimovaného obrázku a na kompresních poměrech, kterých lze dosáhnout techniky bezztrátového kódování jsou mnohem nižší než techniky ztrátového kódování, techniky bezeztrátového kódování jsou pro tyto aplikace nevhodné.
Huffmanovo kódování
Mnoho technik bezeztrátového kódování, včetně PNG, používá formu kódování známou jako Huffmanovo kódování. V Huffmanově kódování, čím častěji se symbol vyskytuje v původních datech, tím kratší je binární řetězec použitý k reprezentaci v komprimovaných datech. Huffmanovo kódování však vyžaduje dva průchody, jeden pro vytvoření statistického modelu dat a druhý pro jeho zakódování, takže jde o relativně pomalý proces. To zase znamená, že techniky bezeztrátového kódování, které používají Huffmanovo kódování, jsou při čtení nebo zápisu souborů výrazně pomalejší než jiné techniky.
Dekódování
Další nevýhodou Huffmanova kódování je to, že binární řetězce nebo kódy v kódovaných datech mají všechny různé délky. To ztěžuje dekódovacímu softwaru určit, kdy dosáhl posledního bitu dat a zda jsou zakódovaná data poškozený -- jinými slovy obsahuje falešné bity nebo chybí bity -- bude dekódován nesprávně a výstup bude nesmysl.