JPEG prevede una quantizzazione scalare uniforme sulla base di tabelle di quantizzazione che, per ciascuno dei 64 coefficienti (i blocchi sono 8X8 pixel) della DCT viene specificato il passo di quantizzazione. Tali tabelle non fanno parte dello standard e sono frutto di una sperimentazione alla ricerca della migliore qualità soggettiva. La tabella seguente è quella consigliata dallo standard.
16 | 11 | 10 | 16 | 24 | 40 | 51 | 61 |
12 | 12 | 14 | 19 | 26 | 58 | 60 | 55 |
14 | 13 | 16 | 24 | 40 | 57 | 69 | 56 |
14 | 17 | 22 | 29 | 51 | 87 | 80 | 62 |
18 | 22 | 37 | 56 | 68 | 109 | 103 | 77 |
24 | 35 | 55 | 64 | 81 | 104 | 113 | 92 |
49 | 64 | 78 | 87 | 103 | 121 | 120 | 101 |
72 | 92 | 95 | 98 | 112 | 100 | 103 | 99 |
I coefficienti di ciascun blocchetto dati dalla quantizzazione vengono letti a zig-zag e successivamente sono sottoposti ad una codifica run-length. La lettura a zig-zag serve ad ordinare i numeri del blocchetto in modo da avere una sequenza finale di zeri, e quindi aumentare l’efficienza della codifica successiva. Effettivamente la natura passabasso delle immagini fa sì, che si concentri l’energia solo su alcuni coefficienti, i quali sono in alto a sinistra (tra cui vi è il coefficiente DC). I coefficienti DC sono poi trattati a parte.
I simboli che codificano le sequenze di zeri subiscono poi una codifica di Huffman. Le probabilità richieste dall’algoritmo di Huffman non sono standardizzate e lasciano anche in questo caso un grado di libertà.
I marchi citati in queste pagine sono copyright dei rispettivi proprietari. |