La concatenazione di punti è un metodo che permette di immagazzinare i punti in modo ottimale: per un'immagine monocromatica vi sono, per definizione, solo due colori, quindi un punto dell'immagine può essere codificato su un solo bit per guadagnare dello spazio in memoria. Il metodo di compressione RLE (Run Length Encoding, talvolta RLC per Run Length Coding) è usato per numerosi formati di immagini (BMP, PCX, TIFF). È basato sulla ripetizione di elementi consecutivi.
Il principio di base consiste nel codificare un primo elemento che da il numero di ripetizioni di un valore poi completarlo con il valore da ripetere. Quindi, secondo questo principio la stringa "AAAAAHHHHHHHHHHHHHH" compressa da "5A14H". Il guadagno di compressione è di (19-5)/19 ossia circa 73,7%. Invece per la stringa "REELLEMENT", nella quale la ripetizione dei caratteri è ridotta, il risultato della compressione da "1R2E2L1E1M1E1N1T"; la compressione si avvera molto costosa, con una perdita che vale (10-16)/10 ossia 60%.
In realtà la compressione RLE è definita da regole particolari che permettono di comprimere quando necessario e di lasciare la stringa originale quando la compressione produce uno spreco. Le regole sono le seguenti: quando tre o più elementi si ripetono consecutivamente allora il metodo di compressione RLE è utilizzato, altrimenti si inserisce un carattere di controllo (00), seguito dal numero di elementi della stringa non compressa poi da quest'ultima.
Se il numero di elementi della stringa è dispari, il carattere di controllo (00) viene aggiunto alla fine: infine sono stati definiti dei caratteri di controllo specifici per codificare: una fine di linea (00 01); la fine dell'immagine (00 00); uno spostamento del puntatore nell'immagine di XX colonne e di YY linee nel senso della lettura (00 02 XX YY).
Così la compressione RLE ha senso solo per i dati con un numero di elementi consecutivi ripetitivi, soprattutto le immagini che hanno delle ampie parti uniformi. Questo metodo ha tuttavia il vantaggio di essere piuttosto semplice da utilizzare. Esistono delle varianti in cui l'immagine è decodificata per tasselli di punti, per linee o anche a zigzag:
Foto: © Pixabay.