|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
[Compressione] Statistiche tempi e spazio
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
__________________
My gaming placement |
|
|
|
|
|
#2 | |
|
Bannato
Iscritto dal: Nov 2014
Messaggi: 292
|
Quote:
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. Non mi pare siano queste le variabili che franksisca ha chiesto... |
|
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Nov 2014
Messaggi: 292
|
Ovviamente alla fine ho googlato e scoperto che la ruota che ho appena reinventato non c'entra una beneamata con JPEG ma e' piuttosto simile a GIF.
|
|
|
|
|
|
#4 | |
|
Bannato
Iscritto dal: Aug 2016
Messaggi: 871
|
Quote:
Per cortesia astenersi da commenti su cosa "significa" JPG, non ho una gran voglia di spiegare la rava e la fava. |
|
|
|
|
|
|
#5 | |||||
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
Quote:
Quote:
Quote:
Quote:
Se mi indichi il forum magari riesco a tirarci fuori qualcosa... comunque diciamo che ragionando la domanda può essere posta in questo modo: Codice:
Riesco, a partire dalla tipologia del file, a capire se mi conviene o no comprimere prima di spostare il file? per dire... mp3 e jpg non li comprimo, docx e txt si! ovviamente tutte le estensioni usate sono indicative
__________________
My gaming placement |
|||||
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Ma senza i dati a contorno la domanda non ha senso. Probabilmente se hai una banda lenta la compressione prima della trasmissione potrebbe essere sempre utile, sicuramente ci metterà meno il pc a comprimere un doc di 5Mb in 4,5MB che un'adsl scrausa a trasmettere quei 500Kb risparmiati. Ma se hai una fibra trasmettere 4,5 o 5 MB ti cambia veramente niente. |
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
ok jpg e mp3 posso ulteriormente comprimerli, ma mentre comprimere un mp3 in 480 porta ad una perdita di dati "irrilevante", ridurre un 180kb è impensabile. (tralasciamo la filosofia in merito) Quindi posso dire che, statisticamente, mp3 in 360 non conviene ridurli, perchè il tempo per comprimerli non mi fa guadagnare tanto in fase di trasmissione dati. magari un documento di 180 mega, compresso diventa 30 mega, allora in quel caso mi conviene. vorrei sapere se ci sono dei dati che mi possano meglio illuminare. Capisco che è un discorso molto borderline e molto "dipendente" da tante variabili, e quindi forse sto chiedendo qualcosa di impossibile.
__________________
My gaming placement |
|
|
|
|
|
|
#8 |
|
Bannato
Iscritto dal: Aug 2016
Messaggi: 871
|
|
|
|
|
|
|
#9 |
|
Bannato
Iscritto dal: Aug 2016
Messaggi: 871
|
Sulla domanda.
La risposta é: dipende ovviamente dai dati più precisamente dalla loro entropia e da quale punto di Pareto vuoi partire. Dipende inoltre è fortemente dalla quantità di memoria e dalla CPU che vuoi usare,oltre cheda banda e latenza e dimensione dei dati Supponendo che la domanda sia di genere hobbystico e non accademico la risposta è, grosso modo, che conviene comprimere dati che si sa già essere fortemente e facilmente riducibili Come ad esempio i backup dei database soprattutto in formato testo (es mysql) Altrimenti no, in generale non conviene. Con maggiori informazioni si possono dare valutazioni quantitative Per inciso se la domanda sottende 'come faccio a spedire grandi quantità di dati su cloud' la risposta è : parliamo di backup aggiornati più o meno spesso oppure un caricamento una tantum? |
|
|
|
|
|
#10 | ||
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
Quote:
Però a questo punto ti aggancio un'altra domanda. Supponi di avere un file video da 700 mega. e devi upparlo su un cloud che limita il singolo file a 25 mega. cosa faresti, prima compressione e poi split, o viceversa? io fare prima compressione e poi split.
__________________
My gaming placement |
||
|
|
|
|
|
#11 |
|
Bannato
Iscritto dal: Nov 2014
Messaggi: 292
|
|
|
|
|
|
|
#12 | |
|
Bannato
Iscritto dal: Aug 2016
Messaggi: 871
|
Quote:
Quindi splitterei senza comprimere affatto. Tieni presente, come certamente saprai, che anche i docx non si comprimono più di tanto, perché sono degli zip rinominati Quindi anche li il guadagno tende a zero Comprrimendo il contenuto tipico di un hard disk casalingo difficilmente il guadagno è maggiore di 5 o 10% (considerato video, foto e così via) Per rispondere alla tua domanda non ti resta che fare la cosa più logica. Prova Cioè comprimi il tuo set di file e vedi se il gioco vale la candela |
|
|
|
|
|
|
#13 |
|
Moderatore
Iscritto dal: Nov 2006
Messaggi: 21914
|
più che comprimere un file alla volta valuterei comprimere aggregazioni di file, non tanto per il risparmio in termini di spazio e banda ma bensì per ridurre gli overhead di trasmissione che spesso, dipendentemente dal protocollo usato per il trasferimento hanno un impatto devastante (classico esempio su trasferire via ftp 10'000 file da 5KB vs trasferire un unico file da 50MB)
te lo dico perchè muovere parecchi file su cloud può essere problematico, io a gennaio ho spostato da un cloud ad un altro (quindi download + backup + upload) poco meno di 1 TB di file ed è stato un parto riuscire a fare tutto in meno di 2 settimane
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
però pensavo di splittare il file e lanciare x thread paralleli per l'upload... certo sorgono problemi di congestione della rete o sovraccaricamento del pc... però effetivamente forse è meglio decidere una minimun size di aggregazione e fare upload di file di almeno 10 mega (per esempio) e file da 1giga magari lo splitto in 3 da 350 circa...
__________________
My gaming placement |
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Aggregare tanti file, specialmente se piccoli, è sicuramente un'ottima soluzione.
Se lo fai per tipologia di file, puoi anche comprimerli (SE sono comprimibili), in modo da guadagnare anche da questo punto di vista. In particolare comprimere per tipologia di file te lo consiglio usando un algoritmo di tipo "solid compression", come quello messo a disposizione da 7Zip. Puoi anche pensare di ricomprimere tutti i file che sono già compressi. Ad esempio zip e tgz li puoi ricomprimere usando 7zip, che riesce a fare di meglio. Con la stessa logica, potrei ricomprimere in generale qualunque file che usi uno di questi formati come contenitore, e dunque anche i file XML di Office di Microsoft, o gli OpenDocument.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
__________________
My gaming placement |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:08.






















