Uvital bych tabulku, kde budou jednotlive kompresni formaty, nebo video kodeky uvedeny s pouzitou kodovaci metodou :)
Napr zde neuvedena variace Exp-Golomb, je pouzita v AVC/HEVC/Dirac:
https://en.wikipedia.org/wiki/Exponential-Golomb_coding
Kdyžtak mě opravte, ale tady se bavíme o bezztrátové kompresi ne? U videa a audia se většinou (vím že existují i bezztrátové) bavíme o ztrátových kompresích...
Pro kontext - implementoval jsem jen video a obrazove kodeky (enkoder/dekoder dle specifikace).
Vsechno, s cim jsem prisel do styku vzdy pouzivalo na vnejsi vrstve bezztratovou kompresi (typicky je to krok VLE - variable length encoding), coz je rozhrani na hranici bistreamu, at uz huffman nebo rice-golomb-exp.
Az ve vnitrnich vrstvach kodeku dochazi k samotnemu efektu ztratovosti, typicky je pouzit urcity kvantizacni faktor (tj. snizeni rozliseni ve smyslu bitove hloubky), nad daty, ktere prosli transformaci, ktera umoznuje udelat ztratu takovym stylem, aby to cloveku nepripadalo na prvi pohled divny. To se deje bud podvzorkovanim barevne slozky, anebo vypoustenim slozek s vyssi frekvenci (a u audia vypoustenim blizkych/podobnych frekvenci).
V AVC/HEVC se Exp-Golomb používá jen v různých headerech, na "skutečná" data se používá CABAC (context-adaptive binary arithmetic coding), a u AVC je ještě možnost CAVLC (context-adaptive variable length coding) které je rychlejší ale má horší kompresi.
Na konci článku by se hodila ještě jedna informace:
"Na obrázku níže vidíme aritmetické kódování řetězce acab. Začíná se s intervalem 〈0; 1), výsledek je libovolné číslo z intervalu 〈0,6875; 0,703125)."
Reprezentace obou limitů intervalu může vyžadovat velmi dlouhou sekvenci bitů. Ale protože výsledkem je libovolné číslo v daném intervalu, dá se obvykle najít takové, které je mnohem kratší než reprezentace limitů.
V tomhle případě:
0,6875 = 0,1011
0,703125 = 0,101101
Takže přímo dolní limit je ta nejkratší sekvence. Ale v praxi se můžete setkat třebas s tímhle:
< 0,101101010101001 ; 0,1011101010101011010 )
Kde stačí vzít tohle: 0,10111. Číslo je v intervalu a je mnohem kratší, než reprezentace obou limitů.