Lepton è ora open source, ecco come funziona

By Matteo Gatti

lepton-compression rate

In breve: Dropbox sul suo Tech Blog ha annunciato che il tool per l’image compression Lepton è ora open source. Vi spieghiamo passo passo come funziona la codifica dell’immagine.
Dropbox ha da qualche giorno annunciato di aver reso open source (con licenza Apache) Lepton, il suo tool per la compressione delle immagini JPEG senza perdita di qualità.
Lepton consente di raggiungere un riduzione delle dimensioni dei file del 22% per le immagini JPEG esistenti grazie ad un meccanismo molto complesso. Lepton è in grado di conservare il file originale con una precisione bit per bit. E’ possibile comprimere un immagine JPEG ad una velocità pari a 5 Megabytes/s e di decomprimere la medesima immagine a 15 MB/s.

Un grafico del rate di compressione dell’algoritmo Lepton al lavoro su 10k immagini su un Intel Xeon E5 2560 v2 @2.6GHz

Lepton è già in uso presso Dropbox e ha già ridotto ben 16 miliardi di immagini riuscendo a far risparmiare all’azienda diversi petabyte di spazio.

Come funziona JPEG…

Il formato JPEG codifica un’immagine dividendola in una serie di blocchi da 8×8 pixel, ad esempio l’immagine seguente verrebbe codificata come 4 blocchi JPEG.
jpg imagejpg image blocchi

Gli elementi di ciascun blocco sono shiftati da interi senza segno a interi con segno. Ogni blocco 8×8 può essere visto come un segnale discreto a 64 punti. Tale segnale è dato in input alla trasformata FDCT (discrete cosine transform), della quale ometto la definizione matematica.

L’output della FDCT è un insieme di 64 coefficienti (DCT coefficient) che rappresentano le ampiezze dei segnali base in cui il segnale originale è stato scomposto.
dct image
Uno dei 64 coefficienti del blocco, che assume il nome di DC, rappresenta la luminosità dell’intero blocco 8×8 mentre gli altri 63 coefficienti , detti AC, descrivono tutte le rimanenti caratteristiche dell’immagine.

Sotto potete vedere un’animazione della lettera A che diventa man mano più chiara all’aumentare dei coefficienti AC. L’animazione inizia con il solo DC e aggiunge ogni AC istante per istante.

dct transform.

E come opera Lepton

Lepton per codificare i 63 coefficienti AC inizialmente rappresenta i numeri diversi da zero e successivamente scrive i restanti muovendosi nel blocco sotto rappresentato a zig-zag.

lepton block

I numeri non sono codificati in binario ma viene usata una codifica detta VP8 che è molto più efficiente in questo contesto.

Per codificare un solo coefficiente AC Lepton lo scrive in binario usando la codifica “Unary“, con questo metodo, ad esempio, tre sarebbe 1110 mentre 5 sarebbe 111110, lo zero finale serve per indicare di smettere di contare. Zero è semplicemente 0.

Il coefficiente DC occupa molto spazio (circa l’8%) pertanto va compresso bene. Molti algoritmi lo posizionano prima dei coefficienti AC mentre Lepton lo posiziona come ultimo elemento del blocco. In questo modo, conoscendo molte informazioni dell’immagine grazie ai coefficienti AC già salvati è possibile predire il coefficiente DC, cosi facendo l’algoritmo sottrae dal vero DC il risultato della predizione e va a immagazzinare solo il delta nel blocco:

DC-DCpredetto = delta.

Chiaramentem grazie al delta, è possibile tornare indietro e riottenere il coefficiente DC originale.

Tutto questo processo permette di salvare un numero significativamente minore di simboli, diminuendo lo spazio occupato dalle immagini.

Trovate maggiori dettagli su Lepton nel post con l’annuncio ufficiale del rilascio mentre il codice sorgente è disponibile su GitHub qui.

L’articolo Lepton è ora open source, ecco come funziona sembra essere il primo su Lffl.org.

Visited 11 times, 1 visit(s) today
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.