View Single Post
Old 15-12-2016, 19:15   #2
71106
Bannato
 
Iscritto dal: Nov 2014
Messaggi: 292
Quote:
Originariamente inviato da franksisca Guarda i messaggi
Avete qualche info e statistiche sulla compressione?

vorrei poter rispondere a queste domande:

Codice:
comprimere un jpg di dimensione x ti costa y tempo e guadagni z% spazio
Problema interessantissimo che purtroppo non sono in grado di risolvere perche' non so bene come funziona l'algoritmo di compressione JPEG.

Ipotizzo che funzioni nel seguente modo "banale": partendo dalla bitmap originale l'algoritmo crea un istogramma, fissa un obiettivo sul massimo numero di colori (p.es. 128), applica la perdita aggregando assieme colori simili fino a ottenerne al massimo 128, e poi emette in output la palette e i pixel sotto forma di indici nella palette.

I pixel RGB della bitmap originale occupano 24 bit ciascuno, mentre gli indici emessi in output occupano log2(128) = 7 bit ciascuno, un risparmio del ~70% se escludiamo le dimensioni della palette.

Per quanto riguarda il tempo necessario alla compressione, si tratta di calcolare la complessita' asintotica dell'algoritmo. Per calcolare l'istogramma si puo' usare un albero di ricerca autobilanciato, quindi complessita' O(N*log(N)). Per aggregare i colori simili... boh.
Ed infine per emettere i pixel di output bisogna enumerare quelli di input e fare un altro lookup per ciascuno, quindi credo un altro O(N*log(N)).

Scusa l'incompletezza ma sono pigro.

L'argomento comunque mi interessa molto.



Quote:
Originariamente inviato da Antonio23 Guarda i messaggi
non credo di aver capito la domanda oppure mi sembra troppo banale...

se comprimi del 50% andrai il 50% piu' veloce nel trasferire i tuoi file (tempo) e occuperai il 50% dello spazio nell'immagazzinarli (spazio)...
Non mi pare siano queste le variabili che franksisca ha chiesto...
71106 č offline   Rispondi citando il messaggio o parte di esso
 
Hardware Upgrade Forum Database Error
Database Error Database error
The Hardware Upgrade Forum database has encountered a problem.

Please try the following:
  • Load the page again by clicking the Refresh button in your web browser.
  • Open the www.hwupgrade.it home page, then try to open another page.
  • Click the Back button to try another link.
The www.hwupgrade.it forum technical staff have been notified of the error, though you may contact them if the problem persists.
 
We apologise for any inconvenience.