{"id":26495,"date":"2018-01-08T18:18:27","date_gmt":"2018-01-08T17:18:27","guid":{"rendered":"http:\/\/www.boscarol.com\/blog\/?p=26495"},"modified":"2018-01-08T18:19:30","modified_gmt":"2018-01-08T17:19:30","slug":"metodi-di-compressione-dei-file","status":"publish","type":"post","link":"http:\/\/www.boscarol.com\/blog\/?p=26495","title":{"rendered":"Metodi di compressione dei file"},"content":{"rendered":"<p>Articolo scritto per il numero 4\/2005 di <strong>Print Buyer<\/strong>.<\/p>\n<p>&nbsp;<\/p>\n<p>La compressione di un file \u00e8 resa necessaria soprattutto dal fatto che le linee di trasmissione (ISDN per esempio) e i collegamenti online (Internet per esempio) sono lenti, e in secondo luogo dal fatto che i supporti attuali, dischi rigidi, CD, DVD, ancora non contengono quantit\u00e0 sufficienti di informazione. Una fotocamera digitale nemmeno troppo sofisticata oggi cattura 8 milioni di pixel. Ogni pixel sono tre byte (uno per R, uno per G e uno per B) e dunque in una normale fotografia ci sono 24 milioni di byte (cio\u00e8 24 megabyte, Mbyte). Si capisce che se devo fare un opuscolo di 32 pagine con altrettante fotografie arrivo a circa 1000 Mbyte, cio\u00e8 1 gigabyte (Gbyte).<\/p>\n<p>Oggi un Gbyte non spaventa pi\u00f9 nessuno: tanto per fissare le idee, un CD contiene circa 600 Mbyte, un DVD circa 4 Gbyte. Il disco rigido di un normale computer \u00e8 di almeno 50 Gbyte e ne esistono anche da 300 e pi\u00f9, e sono in arrivo i dischi da qualche terabyte (1 Tbyte = 1000 Gbyte). Il punto debole non \u00e8 tanto lo spazio quanto la velocit\u00e0. Con Internet si possono spedire circa 1 o 2 Mbyte al minuto (dipende dalla linea), e per trasmettere un file di un Gbyte via mail, o comunque via Internet ci si mette circa 5 ore, con una normale ADSL.<\/p>\n<p>Nelle arti grafiche esiste dunque l&#8217;esigenza di comprimere il file, anche se la compressione del file non \u00e8 cos\u00ec importante come nell&#8217;audio e soprattutto nel video. Comprimere significa ridurre le dimensioni del file, se il file \u00e8 di 100 Mbyte, farlo diventare 10 Mbyte, e il procedimento riguarda soprattutto le immagini raster, cio\u00e8 quelle composte di pixel, le fotografie insomma. Esistono due famiglie di metodi di compressione: la prima famiglia comprende i metodi che comprimono buttando via dei pixel (si chiamano metodi lossy); la seconda famiglia comprende tutti i metodi che comprimono in un altro modo pi\u00f9 intelligente, senza buttare via nessun pixel (metodi lossless).<\/p>\n<p>Il principale metodo di compressione lossy si chiama JPEG. Si pu\u00f2 applicare solo alle immagini raster (cio\u00e8 alle fotografie). Per diminuire la dimensione dell&#8217;immagine,\u00a0 JPEG elimina alcuni pixel, che verranno poi ricostruiti (non esattamente uguali) in fase di decompressione, ma a quel punto l&#8217;immagine risultante non \u00e8 pi\u00f9 quella originale. JPEG tuttavia \u00e8 stato progettato in modo tale che i pixel eliminati siano quelli meno percepibili per l&#8217;occhio umano il quale \u00e8 pi\u00f9 sensibile alle piccole variazioni di luminosit\u00e0 che alle piccole variazioni di colore. Cos\u00ec se JPEG trova due pixel vicini di minima variazione di luminosit\u00e0 li conserva, ma se trova due pixel vicini di minima variazione di colore ne tiene uno solo.<\/p>\n<p>Da questo deriva tra l&#8217;altro che JPEG \u00e8 adatto per comprimere immagini destinate ad essere viste da esseri umani e non, per esempio, da computer.<\/p>\n<p>In ogni caso, JPEG non usa un metodo fisso di compressione. La quantit\u00e0 di pixel eliminati pu\u00f2 essere determinata dall&#8217;utente: pi\u00f9 pixel si eliminano, maggiore \u00e8 la compressione, pi\u00f9 piccolo diventa il file e peggiore diventa l&#8217;immagine. In un metodo lossy come JPEG si possono buttare via quanti pixel si vogliono, ma naturalmente questo va a scapito della qualit\u00e0: c&#8217;\u00e8 un compromesso tra compressione e qualit\u00e0. Pi\u00f9 si comprime, pi\u00f9 la qualit\u00e0 dell&#8217;immagine degrada. Quando l&#8217;immagine compressa viene riaperta, i pixel buttati vengono ricostruiti, ma ma in modo approssimato (non come erano in originale), usando tecniche di interpolazione. Se a questo punto si fa qualche modifica e si salva, altri pixel vengono buttati, e cos\u00ec via. Insomma la compressione JPEG si pu\u00f2 usare una o due volte su un file, altrimenti ad ogni salvataggio il file perde di qualit\u00e0 e alla fine non rimane quasi pi\u00f9 nulla del file originale.<\/p>\n<p>Tra i metodi lossless, uno dei pi\u00f9 usati \u00e8 LZW, inventato\u00a0nel 1977 da Abraham Lempel e Jakob Ziv e modificato nel 1984, da Terry Welch (che lavorava per la Unisys). LZW prende il nome dai cognomi dei suoi inventori: Lempel, Ziv e Welch. L&#8217;algoritmo di compressione LZW \u00e8 stato brevettato sia da Unisys che da IBM e per inserirlo in qualche programma bisognava (fino al 2004, dopo vent&#8217;anni i diritti sono scaduti) pagare i diritti. Un famoso formato grafico che incorpora l&#8217;algoritmo di compressione LZW \u00e8 il formato GIF usato, assieme a JPEG, per le immagini delle pagine web. Circa una decina d&#8217;anni fa GIF \u00e8 stato al centro di una controversia sui diritti d&#8217;autore. Infatti nel dicembre del 1994, quando GIF era da tempo utilizzato online la Unisys annunci\u00f2 al pubblico che gli sviluppatori avrebbero dovuto pagare una tassa di licenza per poter utilizzare l&#8217;algoritmo LZW implementato in GIF. Questo annunci\u00f2 caus\u00f2 immediate reazioni e un po&#8217; di confusione. Le controversie sono andate avanti per altri dieci anni, generando discussioni online e pagine web a fiumi, fino a che il brevetto \u00e8 scaduto, rispettivamente nel 2003 per gli USA e nel 2004 per l&#8217;Europa, vent&#8217;anni dopo la registrazione, e cos\u00ec la questione chiusa da sola.<\/p>\n<p>Come funzionano i metodi di compressione senza eliminazione delle informazioni? Si basano sulla riscrittura &#8220;intelligente del file&#8221;. Per esempio se in un file ci sono tre pixel rossi, invece di dire &#8220;un pixel rosso, un pixel rosso, un pixel rosso&#8221; si pu\u00f2 dire, in modo compresso &#8220;tre pixel rossi&#8221;. Ovvio, in un linguaggio umano, ma non altrettanto in un linguaggio per computer.<\/p>\n<p>Di metodi di compressione ne esistono parecchi, e la scelta di uno di essi dipende anche dal tipo di file da comprimere: testo o immagini, colori o bianco\/nero. In un file PDF per esempio le immagini a colori e a grigi possono essere compresse in ZIP (lossless) oppure JPEG (lossy) e quelle monocromatiche (bianco e nero) con un metodo che si chiama CCITT, che \u00e8 precisamente quello usato per la trasmissione dei fax sulle linee telefoniche.<\/p>\n<p>In pratica il grafico potr\u00e0 usare uno dei metodi di compressione che vengono messi a disposizione dall&#8217;applicazione con la quale vengono realizzati i lavori. Ma quando si comprime un file \u00e8 importante tenere a mente la distinzione tra lossy e lossless per evitare problemi con la qualit\u00e0 dei file e nelle arti grafiche non \u00e8 una buona cosa eliminare informazioni, e dunque si pu\u00f2 comprimere quanto si vuole con metodi lossless, ma il meno possibile con metodi lossy come JPEG. Meglio di tutto, non comprimere affatto.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Articolo scritto per il numero 4\/2005 di Print Buyer. &nbsp; La compressione di un file \u00e8 resa necessaria soprattutto dal fatto che le linee di trasmissione (ISDN per esempio) e i collegamenti online (Internet per esempio) sono lenti, e in secondo luogo dal fatto che i supporti attuali, dischi rigidi, CD, DVD, ancora non contengono [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[1],"tags":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/pjoVH-6Tl","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"_links":{"self":[{"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/26495"}],"collection":[{"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=26495"}],"version-history":[{"count":2,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/26495\/revisions"}],"predecessor-version":[{"id":26497,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/26495\/revisions\/26497"}],"wp:attachment":[{"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=26495"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=26495"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=26495"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}