Informazioni su questo esperimento
Dipingi un’immagine i cui quadrati più piccoli sono memorizzati come indici della tavolozza. Modifica la risoluzione e la profondità di colore, esamina i codici binari e confronta le dimensioni dei dati non compressi con una semplice rappresentazione a sequenze di lunghezza. Esporta l’esatta griglia di pixel come PNG per vedere la differenza tra le informazioni di un’immagine e un vero formato di file.
Obiettivi di apprendimento
- Associa un pixel dell’immagine a un indice numerico della tavolozza.
- Calcola lo spazio di archiviazione non compresso in base alle dimensioni e ai bit per pixel.
- Verifica quali disposizioni si comprimono bene con la codifica a sequenze di lunghezza.
Come si usa
- 1Dipingi un’immagine di 8 × 8 e leggi i codici binari della tavolozza visualizzati all’interno dei pixel.
- 2Modifica i bit per pixel da tre a uno. Confronta i colori disponibili e lo spazio di archiviazione non compresso.
- 3Confronta un'immagine vuota con un'immagine a strisce verticali. Mantieni invariate le dimensioni e la profondità di colore e spiega il numero di sequenze.
- 4Usa Annulla per confrontare le modifiche, annota le quantità di dati misurate ed esporta un PNG.
Il modello
Ipotesi
- I pixel vengono letti riga per riga, da sinistra a destra e poi dall'alto verso il basso. Ogni pixel utilizza il numero fisso di bit selezionato.
- Il modello RLE memorizza ogni sequenza come indice di colore e lunghezza, usando ceil(log2(pixel count + 1)) bit. Le sequenze possono oltrepassare i limiti delle righe.
- Le tabelle della palette, le dimensioni, le intestazioni dei file e i bit di riempimento sono esclusi dalle quantità di dati. PNG utilizza uno schema di compressione diverso, quindi la dimensione del file scaricato non deve necessariamente corrispondere a tali quantità.
Provalo in classe
- Q1Perché due immagini con le stesse dimensioni possono richiedere quantità diverse di dati RLE?
- Q2Perché raddoppiare sia la larghezza sia l'altezza quadruplica lo spazio di archiviazione dei dati grezzi?
Domande frequenti
L'RLE rende sempre un'immagine più piccola?
No. I frequenti cambiamenti di colore creano molte sequenze e possono richiedere più bit rispetto alla rasterizzazione grezza.
Perché il file PNG è più grande o più piccolo del payload visualizzato?
Il file contiene intestazioni e utilizza la compressione PNG, mentre questo esperimento conta un payload di pixel o RLE volutamente semplice.