









Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Fondamenti di informatica: codifica dell'informazione e rappresentazione digitale. Analisi di bit, byte, unità di misura e tecniche di codifica per testo, immagini, suoni e video. Metodi di compressione lossless e lossy con esempi e tabelle comparative. Approfondimento sulla storia dell'informatica e la nascita del calcolatore, evidenziando la codifica tramite sistemi di simboli. Esplorazione della riduzione dei simboli e dell'uso della rappresentazione binaria. Analisi delle unità minime di informazione per immagini (pixel), suoni (campioni) e video (fotogrammi), con panoramica su memorizzazione e compressione dati.
Tipologia: Schemi e mappe concettuali
1 / 16
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!










Informatica come disciplina La progettazione dei contenuti di questo insegnamento di Informatica si fonda sulla concezione dell'informatica come disciplina scientifica e non soltanto sul ruolo che l'informatica ha assunto nella società contemporanea. A tal fine, si riporta di seguito un passo significativo del Manifesto dell'Informatica , un documento ufficiale che il GRIN (http://www.grin-informatica.it), l'Associazione Italiana dei Docenti di Informatica, ha sottoscritto per definire il corretto approccio alla disciplina informatica e al suo insegnamento. L'informatica è un elemento essenziale della società moderna, non solo perché necessaria al normale svolgimento di quotidiane attività, ma anche in quanto il suo sviluppo plasma e determina quello dell'intera società. Non esiste campo dell'attività umana in cui le scoperte dell'informatica non abbiano lasciato il segno. L'uso del calcolatore, infatti, è uscito dai campi tradizionali del calcolo scientifico per entrare in tutte le aree della produzione industriale, dalla medicina all'editoria. Due miliardi di persone si collegano ad Internet. Centinaia di milioni di miliardi (il numero non è un errore di battitura) di transistor – i componenti elementari delle tecnologie dell'informazione – popolano i prodotti che ci circondano, dall'automobile all'elettrodomestico, dalla pompa di benzina al videogioco, per l'equivalente della metà del valore economico di questi oggetti. Centinaia di miliardi di istruzioni software, manifestazioni di intelligenza umana, animano questi componenti e attraverso di essi tutti i processi che caratterizzano la nostra società moderna. Nel linguaggio comune il termine “informatica” viene usato per riferirsi a tre aspetti tra loro distinti, seppur collegati:
L’informatica come insieme di applicazioni è la percezione della persona comune; “conoscere l’informatica” significa “saper usare le applicazioni”. L’informatica come tecnologia è la percezione del tecnico (del perito, del laureato, dello specialista, ciascuno al suo livello di competenza); “conoscere l’informatica” significa in questo caso “saper realizzare le applicazioni”. L’informatica come scienza dovrebbe essere invece patrimonio di ogni persona con educazione superiore. Come i principi della fisica, della matematica o della chimica sono utili anche e soprattutto come modello interpretativo della realtà, e non perché chi li conosce possa diventare un fisico, un matematico, o un chimico, così i principi fondamentali dell’informatica sono in grado di fornire modelli di interpretazione e una strumentazione culturale utile nella vita comune della persona colta che deve affrontare le sfide del mondo moderno. In altre parole, si può pensare all'informatica come alla scienza che si occupa dei seguenti temi:
In definitiva, l’informatica non riguarda i computer più di quanto l’astronomia riguardi i telescopi. Lo studio dell'informatica è quindi importante perché:
dell'individuo;
di organizzazione e trattamento delle informazioni;
risoluzione in modo efficiente ed efficace;
non solo semplificano lo svolgimento di compiti realizzabili anche senza calcolatore, ma offrono vantaggi sul lungo termine altrimenti non accessibili Branche dell'informatica Nel sentire comune, l'informatica è vista come una disciplina monolitica. Ogni volta che si pensa ad un informatico, si immagina un esperto capace di risolvere qualsiasi problema legato all'uso dei calcolatori. In realtà l'informatica è una disciplina complessa dove si possono riconoscere numerose specializzazioni. Pertanto è possibile, per non dire frequente, che un esperto sviluppi le proprie competenze rispetto a un sottoinsieme di specializzazioni. A titolo esemplificativo, senza alcuna pretesa di completezza, elenchiamo alcune specializzazioni della disciplina informatica:
Inoltre l'informatica può essere coniugata ad altre discipline per dare vita a branche multidisciplinari comead esempio bioinformatica , chimica computazionale , robotica , computer grafica e musicologia computazionale Storia dell'informatica e nascita del calcolatore Perché si possa arrivare all'informatica come la intendiamo oggi è stato necessario sviluppare parallelamente due diversi aspetti: quello tecnologico e quello filosofico (in particolare logico- matematico). La serie di eventi, idee e scoperte che culmina con i moderni calcolatori ha quindi una moltitudine di protagonisti, disseminati in un arco temporale di almeno 4000 anni, con molte storie parallele. Per quanto il racconto possa essere avvincente e ricco di colpi di scena, non è questa la sede per una esposizione esaustiva. Ci si limiterà pertanto a citare solo alcuni degli aspetti cruciali: quelli più funzionali alla comprensione del pensiero informatico e del funzionamento del calcolatore.
Nel 1939, fu la volta del matematico e fisico John Vincent Atanasoff e del suo allievo Clifford Berry i quali costruirono l’Atanasoff Berry Computer, meglio noto come ABC. Si tratta del primo calcolatore digitale totalmente elettronico, ma mai brevettato. Nel 1945, John von Neumann definisce l'architettura per calcolatori digitali programmabili tutt'ora in uso nella maggior parte dei dispositivi moderni di questo tipo. La peculiarità dell'architettura di von Neumann risiede nel fatto che dati e programmi condividono la stessa memoria. Nel 1946 venne presentato l’ENIAC, il primo calcolatore elettronico basato interamente su tecnologia a valvole. Progettato presso l’Università della Pennsylvania, fu il primo vero calcolatore dell’era elettronica in quanto eliminava tutti i dispositivi meccanici. L’ENIAC era in grado di compiere operazioni molto complesse in pochissimo tempo per l'epoca, ma pesava 300 tonnellate e occupava 170 metri quadrati. Quella delle dimensioni rimase per lungo tempo una delle più grandi sfide dell’industria dei calcolatori. Nel 1948, Claude Shannon introdusse il termine bit (contrazione di binary digit ), da lui coniato per designare l'unità elementare binaria di informazione ( vero e falso , o 0 e 1). Generazione 2: I transistor Nel 1954, l’IBM propose il primo calcolatore commerciale con memoria su nastro magnetico. Tra le più importanti innovazioni di quegli anni, vi furono l'uso dei transistor al posto dei tubi a vuoto e l’evoluzione dei linguaggi di programmazione. Nel 1959 venne lanciato l’IBM 705, che usava il FORTRAN, un linguaggio di programmazione molto più vicino a quello umano rispetto alle istruzioni comprensibili dal calcolatore. I problemi principali che ostacolavano la diffusione commerciale del calcolatore restavano i costi elevati e la dimensione di queste macchine. Generazione 3: I circuiti integrati Il problema delle dimensioni durò fino al 1964, quando l'azienda italiana Olivetti introdusse Programma 101 , da molti considerato il primo personal computer (PC) della storia, in quanto disponeva delle principali caratteristiche dei grandi calcolatori dell'epoca, ma era sufficientemente compatto da stare su una scrivania. Tuttavia non aveva uno schermo: le informazioni erano trasmesse all'utente per mezzo di un nastro di carta stampata. Parallelamente, la Digital Equipement Corporation introdusse il suo primo minicomputer, il PDP-8, dotato di uno schermo molto rudimentale (sostanzialmente un oscilloscopio). Generazione 4: Il microprocessore Agli inizi degli anni ’70, la Intel Corporation sviluppò il microprocessore , il primo circuito integrato capace di contenere l’intera unità di calcolo di un calcolatore. In seguito venne commercializzato quello che viene oggi considerato il primo PC della storia per come lo intendiamo oggi, l'Apple II, con il suo sistema operativo chiamato Apple Dos. Solo quattro anni dopo, nel 1981, l’IBM brevettò il suo primo PC, destinato a imporsi come standard di riferimento con il sistema operativo MS-Dos prodotto dalla software house Microsoft. Generazione 5: Il calcolo parallelo e la rete Tra gli anni '80 e '90 si sono affermate in rapida successione tecnologie come le interfacce grafiche, la possibilità di compiere più operazioni in parallelo, e l'avvento di Internet, coadiuvate da un costante incremento della potenza di calcolo e delle capacità di memorizzazione. Problemi, algoritmi e programmi
Un algoritmo può essere definito come un metodo per risolvere in modo efficiente, univoco, universale, formalmente preciso e finito un problema. Nella sua accezione più ampia, è possibile includere nella categoria degli algoritmi anche una semplice ricetta di cucina oppure il libretto di istruzioni di un elettrodomestico. Entrambi infatti sono una successione di istruzioni precise per la realizzazione di un risultato. Il termine algoritmo deriva dal nome del matematico Muhammad ibn Musa al-Khuwarizmi. Le proprietà fondamentali di un algoritmo sono:
che le istruzioni devono essere scritte in un linguaggio codificato e formale;
dello stesso genere;
compito deve essere explicitamente dichiarata. Nonostante sia più semplice affrontare algoritmicamente calcoli matematici, o geometrici, è possibile affrontare nello stesso modo qualsiasi problema, a patto che se ne possa fornirne una definizione formalmente corretta e non ambigua. Questo esercizio di formalizzazione trascende l'uso del computer e aiuta gli individui ad affrontare i problemi in modo astratto. Va notato che ogni problema può essere affrontato e descritto in molti modi diversi; quindi non esiste un unico algoritmo per la risoluzione di un problema. Questo significa che lo sviluppo di algoritmi è un'attività che richiede, tra le altre cose, creatività e ingegno. A tal proposito, vale la pena citare una famosa battuta di Bill Gates (co-fondatore della Microsoft): " Sceglierò sempre un pigro per fare un lavoro difficile perché troverà il modo più facile per farlo ". Si sottolinea inoltre come l'efficacia e la complessità di un algoritmo dipendano anche dall'organizzazione dei dati a disposizione dell'algoritmo per la risoluzione del problema. Esistono molti modi di organizzare i dati, ognuno dei quali ha pregi e difetti. In genere gli aspetti più rilevanti di cui tenere conto sono:
Infine, un programma può essere definito come un algoritmo scritto in un linguaggio comprensibile al calcolatore, che utilizza dati organizzati secondo una determinata strategia ed è vincolato alle risorse disponibili e alle condizioni al contorno del calcolatore sul quale il programma viene eseguito. Codifica dell’informazione
In questo modo, dato un voto, la lunghezza del messaggio codificato sarà pari a due simboli, il doppio rispetto all'unico simbolo richiesto dal codice della Figura 2.3. Si noti inoltre che sono importanti tanto i simboli quanto la posizione che questi occupano nel messaggio. Infatti il significato di “!$” è ben diverso da “$!”. Codifica binaria La rappresentazione dell’informazione numerica può adottare varie tecniche. Normalmente si usa la numerazione decimale posizionale, dove una cifra assume un valore dipendente dalla posizione che occupa nel numero. Per esempio, la cifra “2” nel numero 12 vale 2*100 (dove 0 è la posizione occupata dal 2 nel numero in esame) e nel numero 2987 vale 2*103 (dove 3 è la posizione occupata dal 2 nel numero in esame). Adottando una numerazione in base 10 si hanno 10 cifre con le quali costruire i numeri: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. Esistono molti altri tipi di numerazione in cui il numero di cifre è minore a 10, come ad esempio nella numerazione binaria. Questa fu inventata nel XVII secolo da Gottfried Liebniz e si basa sull’utilizzo di soltanto due cifre: 0 e 1. La differenza è che mentre nella numerazione decimale il valore si misura in potenze di 10, nel caso della numerazione binaria il valore si misura in potenze di
Come per ogni unità di misura, anche il byte possiede multipli che consentono di rappresentare maggiori quantità di informazioni, tuttavia esistono due diverse scale di misura, spesso confuse anche dagli informatici. Errore comune (riscontrabile anche in Windows o MacOS) è infatti usare i nomi del Sistema Internazionale (SI) per riferirsi ai multipli binari, i cui nomi corretti sono stati standardizzati nel 1998 dalla Commissione Elettronica Internazionale (IEC): 5000*2 = 10000 byte = 9.76 KiB = 10 KB Rappresentazione digitale del testo La codifica binaria può essere utilizzata anche per rappresentare i caratteri alfanumerici, cioè i caratteri alfabetici, i numeri e gli altri simboli usati nella scrittura di testi. A tal fine, è necessario che ogni carattere di scrittura possieda una propria rappresentazione binaria univoca. Si noti che pure segni come le parentesi, le cifre numeriche, gli operatori aritmetici, i segni di punteggiatura e le lettere maiuscole devono avere la propria rappresentazione binaria univoca. I codici attualmente più utilizzati per rappresentare digitalmente i testi sono:
caratteri usati in quasi tutte le lingue vive e in alcune lingue morte, nonché simboli matematici e chimici, cartografici, l'alfabeto Braille, ideogrammi, ecc. In base al numero di bit usati prende il nome di UTF-8, UTF-16 o UTF-32 (per garantire la compatibilità tra i diversi sistemi, la codifica dell'ASCII Esteso è uguale a quella di UTF-8). Il fatto che un codice “sia di 8 bit” significa che la rappresentazione di un singolo carattere occupa 8 bit (ad esempio, la lettera “a” nella codifica ASCII è rappresentata dal codice 01100001) e che, complessivamente, il codice è in grado di rappresentare fino a 28=256 caratteri diversi. Questa considerazione è generalizzabile: dato un codice di N bit possiamo dire che ogni carattere di quel codice occupa N bit e che complessivamente il codice può rappresentare fino a 2N caratteri diversi. Il primo alfabeto codificato è stato l’alfabeto anglosassone. Questo primo codice venne chiamato ASCII ( American Standard Code for Information Interchange ). In origine l’ASCII era a 7 bit, cioè esistevano 27=128 diverse combinazioni di bit per la rappresentazione dei caratteri. Questo significa che ASCII a 7 bit è in grado di rappresentare fino a 128 caratteri diversi.
Si noti come alla lettera maiuscola corrisponde un simbolo diverso rispetto alla corrispettiva minuscola, infatti la lettera “i” corrisponde alla sequenza 01101001. I caratteri maiuscoli e minuscoli sono a tutti gli effetti diversi dal punto di vista della codifica binaria. Si noti inoltre che per decodificare un messaggio è necessario conoscere a priori il tipo di codifica usato. Dall'analogico al digitale La codifica di elementi come suoni, immagini e animazioni presenta aspetti molto diversi rispetto a quella di testi e singoli numeri. Il testo è naturalmente composto da un insieme discreto di simboli (che diventano quindi l'unità minima di informazione), mentre per i numeri ciò che conta è il loro valore (codificato direttamente in binario con la precisione desiderata). Ma quali sono le unità informative minime di un suono o di un'immagine? Suoni e immagini sono descrivibili come segnali , cioè variazioni di una certa grandezza fisica lungo una o più dimensioni: la pressione che varia in funzione del tempo nel caso di un suono, la luce che varia in funzione dello spazio nel caso di un'immagine, o la posizione di un corpo che varia in funzione del tempo nel caso di un'animazione. La particolarità di questi segnali è che sono continui (Figura 2.7): perchè la pressione sonora passi da un valore ad un altro, devono essere attraversati tutti gli infiniti valori intermedi. Lo stesso vale per una fotografia (la transizione tra due colori, per quanto repentina e impercettibile, non può essere immediata) e per il movimento (per andare da un punto ad un altro occorre passare per infiniti punti intermedi). Figura 2.7. Un segnale analogico e il rispettivo segnale digitale Se si volesse dunque usare tutti i valori assunti dal segnale come unità minime informative di suoni e immagini, ci si scontrerebbe con la necessità di una memoria infinita. Per questo motivo, per poter rappresentare suoni e immagini in un calcolatore, è necessario passare dal dominio analogico (continuo) a quello digitale (discreto, composto da un numero finito di punti) attraverso un processo chiamato campionamento. Il campionamento (Figura 2.8) è una tecnica che consiste nel convertire un segnale continuo nel tempo o nello spazio in un segnale discreto, valutandone l'ampiezza a intervalli temporali o spaziali solitamente regolari, in modo da ottenere un numero finito di punti (chiamati campioni). Perché questa operazione non comporti una perdita di informazione o la comparsa di difetti percepibili (chiamati
aliasing ), è necessario che gli intervalli temporali o spaziali a cui si legge il valore del segnale siano più piccoli della metà del più piccolo dettaglio a cui si è interessati (teorema di Nyquist-Shannon). Un numero finito di campioni però non basta a permettere la rappresentazione di un segnale nel calcolatore, è infatti necessario che ogni campione abbia anche una precisione finita, cioè sia rappresentabile con un numero finito di bit. L'operazione con cui il valore di un campione viene arrotondato alla precisione desiderata prende il nome di quantizzazione (Figura 2.8). A differenza del campionamento, l'operazione di quantizzazione non è reversibile, non è cioè possibile ricostruire i valori reali assunti originariamente dal segnale analogico. La quantizzazione è dunque una fonte di distorsione del segnale, che può solo essere mascherata con una tecnica chiamata dithering , ma non può essere eliminata. Figura 2.8. Campionamento e quantizzazione per rappresentare il segnale con un numero finito di numeri a precisione finita. Grazie a campionamento e quantizzazione è possibile ottenere una sequenza digitale di numeri (discreta nel tempo o nello spazio e nell'ampiezza) che approssimi a piacere il segnale continuo originale. Nel caso dei suoni la frequenza di campionamento (il numero di volte al secondo con cui si misurano le variazioni di pressione) determina quali siano i suoni più acuti rappresentabili, mentre la quantizzazione determina la soglia del volume minimo rappresentabile. Nel caso delle immagini il campionamento corrisponde alla risoluzione, e la quantizzazione determina la quantità di colori rappresentabili. Nel caso di un filmato il campionamento nel tempo corrisponde al numero di fotogrammi al secondo, mentre ogni singolo fotogramma lo si può considerare come un'immagine a sé. Rappresentazione digitale delle immagini Per le immagini l’unità minima di informazione è rappresentata dal pixel ( picture element – elemento dell’immagine ). In sostanza si campiona l’immagine attraverso una griglia regolare in cui ogni cella è un pixel e a ogni pixel è associato un colore. Più la griglia è fitta, maggiore sarà il numero di pixel e di conseguenza migliore sarà la risoluzione dell’immagine. Un esempio di griglia di pixel applicata a un’immagine è mostrato nella Figura 2.9. La codifica di un'immagine realizzata in questo modo è chiamata bitmap o raster.
40000 volte al secondo (solitamente 44100 o 48000). Tuttavia, per suoni particolari come la voce, tutte le oscillazioni sopra i 4000 Hz non hanno un particolare contenuto informativo; non è quindi raro vedere codifiche a 8000 campioni al secondo per applicazioni come telefonia o messaggistica vocale. Riguardo alla precisione di ogni campione audio, si è scelto un numero di bit consono a rappresentare la gamma di volumi a cui si è normalmente esposti, dal sussurro fino a rumori forti (ma sotto la soglia del dolore); questo valore è stato fissato a 16 bit. Tuttavia non è raro trovare suoni registrati a 24 bit, in modo da poter sfruttare una precisione maggiore durante le fasi di lavorazione di un prodotto, come può essere un disco musicale. Infine si noti che l'essere umano, in genere, è dotato di due orecchie. Questo gli permette di localizzare la direzione da cui provengono i suoni. Per poter codificare (almeno in parte) questo tipo di informazione, solitamente vengono rappresentati segnali audio stereofonici, cioè composti da due sequenze di campioni, una relativa al canale sinistro ed una al canale destro. Esistono poi codifiche a più canali (come il 5.1, composto da 6 canali indipendenti), che permettono una maggiore precisione spaziale. In definitiva, la rappresentazione binaria di un suono è costituita da una sequenza di campioni, cioè gruppi di bit che descrivono il valore di pressione sonora di ciascun canale. A scopo esemplificativo si può calcolare la memoria necessaria a memorizzare un minuto di musica in qualità CD: 60 secondi x 44100 campioni al secondo x 16 bit per campione x 2 canali = 84672000 bit = 10584000 byte =10336 KiB = 10.1 MiB Rappresentazione digitale dei video Per un video l’unità minima di informazione è rappresentata dal fotogramma, a sua volta composto da pixel. Un video quindi eredita quanto detto relativamente alle immagini, con l'aggiunta però di avere tante immagini quanti sono i fotogrammi di cui è composto, riprodotte ad una velocità sufficientemente alta da fornire, all'occhio umano, l'illusione del movimento. Per via del fenomeno di persistenza delle immagini sulla retina, l'occhio umano fatica a percepire come separate tra loro immagini che si susseguono ad una velocità minima di 10 o 15 fotogrammi al secondo (fps), dunque tale velocità è sufficiente per creare l'impressione del movimento. Tuttavia velocità più elevate consentono di creare un'illusione più realistica, e non è raro trovare codifiche a 25, 30, 50 o 60 fps. Va inoltre considerato che anche in questo caso vale il teorema di Nyquist- Shannon: sarà capitato di vedere video in cui le pale di un elicottero sembrino ferme o girino molto lentamente; questo è il tipico effetto di aliasing temporale che ha luogo quando il movimento da codificare è molto superiore alla velocità con cui si campiona. Materiale registrato a fps più alti (come 120, 240, 300 o addirittura >1000) viene impiegato per la riproduzione in "slow motion" (movimento rallentato), viene cioè riprodotto ad una velocità inferiore per osservare nel dettaglio i movimenti del soggetto del video, altrimenti troppo veloci per essere notati. La tecnica opposta prende invece il nome di "stop motion"; in questo caso i fotogrammi sono registrati a distanza di diversi minuti l'uno dall'altro e poi riprodotti a fps tradizionali, in modo da rendere percepibili movimenti altrimenti troppo lenti per essere notati. Infine si noti che l'essere umano, in genere, è dotato di due occhi, che consentono la cosiddetta visione stereoscopica. Questo permette di valutare la distanza a cui si trovano gli oggetti grazie alle diverse informazioni che ogni occhio riceve. Per poter codificare (almeno in parte) questo tipo di informazione è possibile codificare video stereoscopici , cioè composti da due sequenze di fotogrammi, una relativa all'occhio sinistro ed una all'occhio destro. Queste due sequenze possono essere memorizzate: come aree diverse dello stesso fotogramma; come alternarsi di fotogrammi dell'una e dell'altra sequenza; come sequenze distinte (una successiva all'altra). In definitiva, la rappresentazione binaria di un video è costituita da una sequenza immagini, complete di un'indicazione della velocità a cui vanno riprodotte. A scopo esemplificativo si può calcolare la memoria necessaria a memorizzare un minuto di video in Full-HD a 30 fps:
60 secondi x 30 fps = 1800 immagini, ognuna delle quali con una risoluzione di 1920 colonne x 1080 righe = 2073600 pixel (circa 2 megapixel) 1800 immagini x 2073600 pixel x 24 bit per pixel = 89579520000 bit = 11197440000 byte = 10.43 GiB Elaborazione dei dati multimediali La comodità di codificare il materiale multimediale nei modi descritti in precedenza risiede nel fatto che è possibile applicare modifiche ai dati in maniera molto efficiente sfruttando semplici operazioni matematiche. Consultando la tabella in Figura 2.4, ad esempio, si può notare come la conversione di una lettera maiuscola in una lettera minuscola si può ottenere sommando 32 al numero con cui è codificata. Lo stesso vale per i formati multimediali: se si volesse conferire una tinta rossa ad una foto basterebbe sommare una piccola costante a tutti i byte relativi a quel colore primario, tale da aumentare la quantità totale di rosso che giunge all'occhio. Analogamente, si può simulare l'eco in una registrazione sommando ad ogni campione il campione che lo precede ad una certa distanza. Principali formati multimediali Lo studente più attento si sarà accorto che il numero di bit necessario alla memorizzazione di suoni, immagini e video è decisamente superiore a quanto suggerisce l'esperienza: quasi 1 MiB per una piccola immagine, 10 MiB per un audio di 1 minuto e addirittura 10 GiB per un breve video ad alta qualità. Questa discrepanza trova una giustificazione nel fatto che il modo in cui viene rappresentato nativamente un dato non corrisponde necessariamente al modo in cui viene archiviato in un contenitore. Vi sono infatti 3 modi di memorizzare l'informazione: in modo non compresso, in modo compresso senza perdita di informazioni ( lossless ), e in modo compresso con perdita di informazioni ( lossy ). I metodi di memorizzazione non compressi comportano un'occupazione di memoria che corrisponde alla memoria necessaria per la rappresentazione originale. A fronte di questo utilizzo smodato di memoria vi è il vantaggio di poter manipolare il materiale multimediale in modo diretto, senza passaggi intermedi necessari a convertire le informazioni in una forma comprensibile al calcolatore. Formati di questo tipo sono ideali per le fasi di lavorazione del bene multimediale. Nella tabella seguente si illustrano i nomi di alcuni formati e contenitori di questo tipo: Tipo di dati Esempio di Codifica Esempio di Contenitore Esempio di funzionamento Audio PCM WAV, AIFF Vengono memorizzati tutti i campioni audio nella loro forma originale Immagini Raster/Bitmap RAW, BMP, TIFF Vengono memorizzati tutti i pixel nella loro forma originale Video Raster/Bitmap AVI, MOV Vengono memorizzati tutti i fotogrammi nella loro forma originale Altro (nativa) (nativo) Vengono memorizzati tutti i dati nella loro forma originale
Immagini JPEG, GIF TIFF, JPG Si riduce la quantità di colori disponibili (GIF) o si eliminano i dettagli impercettibili (JPG) Video DV, H264, Divx, 3GPP, WMV, Mpeg
Ogni immagine viene divisa in blocchetti e si memorizzano le coordinate dello spostamento di ogni blocco Altro - - Non conoscendo la tipologia di dati non è possibile sapere cosa si può scartare Figura 2.10: A sinistra l'immagine originale, a destra la stessa immagine dopo diversi cicli di salvataggio in JPG. La comparsa di difetti visibili si verifica ad esempio quando si salva sul proprio computer un'immagine e poi la si condivide sui social network, che solitamente ricomprimono le immagini.