INFORMATICA CdL in Scienze e Tecniche Psicologiche

Slides:



Advertisements
Presentazioni simili
Rappresentazioni numeriche
Advertisements

Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
Informatica Generale Susanna Pelagatti
1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
Fondamenti di Informatica
CODIFICA DELLE INFORMAZIONI
Sistemi di numerazione
Trasmissione delle informazioni
Codifica dei caratteri
Informazione multimediale
Codifica dell’ Informazione non numerica
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Canale A. Prof.Ciapetti AA2003/04
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
Corso di Informatica (Programmazione)
Corso di Informatica per Giurisprudenza
Dicembre 2006 Informatica applicata prof. Giovanni Raho 1 Informatica applicata La comunicazione ed IL FORMATO DEI FILE.
1 Sistemi Digitali. 2 Definizione Analog Waveform Time Voltage (V) 0 5 Digital Waveform Time Voltage (V)
MP/RU 1 Dicembre 2011 ALLEGATO TECNICO Evoluzioni organizzative: organico a tendere - ricollocazioni - Orari TSC.
La rappresentazione dellinformazione. 7-2 Digitalizzare linformazione Digitalizzare: rappresentare linformazione per mezzo di cifre (ad es: da 0 a 9)
Cos’è un problema?.
Gli esseri viventi ricevono informazione direttamente dal mondo circostante e dai propri simili attraverso i sensi (percezione). La percezione, tuttavia,
Codifica binaria Rappresentazione di numeri
Formati e caratteristiche di digitalizzazione
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori (Reti Locali, Internet)
CHARGE PUMP Principio di Funzionamento
Educare al multimediale 1 – Verso il digitale 2 Presentazione a cura di Gino Roncaglia Prima parte: Informazione in formato digitale.
RAPPRESENTAZIONE DELL'INFORMAZIONE
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
CODIFICA DI INFORMAZIONI MULTIMEDIALI:

Un trucchetto di Moltiplicazione per il calcolo mentale
Che cos’è un sistema di numerazione?
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
Esempi risolti mediante immagini (e con excel)
RAPPRESENTAZIONE DELLE INFORMAZIONI
Codifica dei dati in un elaboratore elettronico
Codifica dell’informazione
Docente: Jeremy Sproston
Docente: Jeremy Sproston
Psicologia dello sviluppo e dell'educazione (laurea magistrale)
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
DIGITALIAZZAZIONE Di Alessio.
Codifica di Immagini Fabio Cantaro.
TRASFORMATA DI FOURIER
INFORMATICA Scienze e Tecniche Psicologiche C. Gena, C. Picardi, J. Sproston 1 INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte I Informazione.
La rappresentazione delle informazioni in un computer
INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte I Informazione digitale (Che lingua parla un computer?) 1.
Informazione multimediale Lettere e numeri non costituiscono le uniche informazioni utilizzate dagli elaboratori ma ci sono sempre piu’ applicazioni che.
Rappresentazione dell’informazione nel calcolatore.
Informatica Docente : Jeremy Sproston Orario: Gruppo 1: (gli studenti i cui cognomi iniziano con la lettera A fino alla lettera L (inclusi)) Lunedì ore.
Codifica dell’informazione
Informatica Lezione 3 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Informatica Lezione 1 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
Corsi di Laurea in Biotecnologie
INFORmazione autoMATICA
Informazione multimediale
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Rappresentazione della Informazione
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Informatica Lezione 3 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da “0” a “9” fornendo in questo modo una rappresentazione dei numeri Per esempio:
SOMMARIO La Digitalizzazione La Compressione LA DIGITALIZZAZIONE La digitalizzazione consiste nella trasformazione di un oggetto in una sequenza di numeri,
Transcript della presentazione:

INFORMATICA CdL in Scienze e Tecniche Psicologiche Parte I Informazione digitale (Che lingua parla un computer?)

Sul libro... Console, Ribaudo, Avalle: Introduzione all’Informatica. Capitolo 2. Introduzione  tutta 2.1  tutto 2.2  tutto tranne 2.2.2, 2.2.3 2.3  tutto 2.4  tutto 2.5  no

Computer Possiamo definire il computer come una macchina in grado di elaborare dei dati a partire da programmi che descrivono l’elaborazione da compiere. HARDWARE + SOFTWARE definiscono le capacità di un computer, cosa è in grado di fare. HARDWARE (HW) La macchina. Tutto ciò che in un computer si può toccare fa parte dell’hardware. HARDWARE = corpo SOFTWARE (SW) I programmi che il computer esegue. SOFTWARE = mente

L’attività di un computer “Algoritmo: (dal nome del matematico persiano al-Khwarizmi) sistema di regole e procedure di calcolo ben definite che portano alla soluzione di un problema con un numero finito di operazioni” (Schneider & Gersting 2007) Esistenza di un algoritmo per risolvere un problema  la risoluzione del problema può essere automatizzata Risoluzione automatizzata: implementata in hardware e software

L’attività di un computer Dati in ingresso Dati elaborati in uscita Un computer è in grado di elaborare dati esclusivamente rappresentati con numeri interi È una limitazione imposta dal suo HARDWARE Ma è una vera limitazione? Come scopriremo in questa prima parte del corso, molte cose possono essere rappresentate come numeri. Il limite non è sul tipo di informazione, ma sulla qualità

Tipi di informazione Esistono vari tipi di informazione, di natura e forma diversa, così come rappresentazioni diverse della stessa informazione La scelta della rappresentazione è in genere vincolata al tipo di utilizzo ed al tipo di operazioni che devono essere fatte sulle informazione stesse

Tipi di informazione Il computer memorizza ed elabora informazioni che devono essere rappresentate in una forma gestibile Rappresentazione digitale Digitale deriva da digit che in inglese significa cifra, e digit deriva a sua volta dal latino digitus che significa dito. In definitiva digitale è ciò che è rappresentato con i numeri, che si contano appunto con le dita.

Tipi di informazione codifica rappresentazione informazione digitale decodifica Mondo esterno Computer: memorizzazione, elaborazione

Rappresentazione digitale = rappresentazione binaria L’entità minima di informazione che possiamo trovare all’interno di un elaboratore prende il nome di bit Binary digit – cifra binaria Un bit può assumere due valori Rappresentazione binaria Solo due simboli (0 e 1)

Perché la rappresentazione binaria? I due simboli (0 e 1) possono essere rappresentate da: Due stati di polarizzazione di una sostanza magnetizzabile Due stati di carica elettrica di una sostanza …

Perché la rappresentazione binaria? I due simboli (0 e 1) possono essere rappresentate da: … Al passaggio/non passaggio di corrente attraverso un cavo conduttore Al passaggio/non passaggio di luce attraverso un cavo ottico

Codifica dell’informazione Per poter rappresentare un numero maggiore di informazione si usano sequenze di bit Per esempio, per rappresentare quattro informazioni diverse possiamo utilizzare due bit che ci permettono di ottenere quattro configurazione distinte 00 01 10 11 Il processo secondo cui si fa corrispondere ad un’informazione una sequenze di bit prende il nome codifica dell’informazione

Codifica binaria Esempio: un esame può avere quattro possibili esiti: ottimo, discreto, sufficiente, insufficiente Codifico (due bit): ottimo con 00 discreto con 01 sufficiente con 10 insufficiente con 11

Codifica binaria Esempio: otto colori: nero, rosso, blu, giallo, verde, viola, grigio, arancione Codifico (tre bit): nero con 000 rosso con 001 blu con 010 giallo con 011 verde con 100 viola con 101 grigio con 110 arancione con 111

Codifica binaria Con 2 bit si codificano 4 informazioni (22) … Con N bit si possono codificare 2N informazioni differenti

Codifica binaria Se il problema è quello di dover rappresentare M informazioni differenti si deve selezionare il numero di N bit in modo tale che 2N >= M Esempio: per rappresentare 40 informazioni differenti devo utilizzare 6 bit perché 26 = 64 5 bit non sono sufficienti perché 25 = 32

Codifica binaria Esiste una particolare aggregazione di bit che è costituita da 8 bit (28 = 256 informazioni) e prende il nome di byte Di solito si usano i multipli del byte Kilo KB 210 (~ un migliaio, 1024 byte) Mega MB 220 (~ un milione, 1KB x 1024 byte) Giga GB 230 (~ un milliardo, 1MB x 1024 byte) Tera TB 240 (~ mille miliardi, 1GB x 1024 byte)

Codifica dei caratteri Alfabeto latino Lettere maiuscole e minuscole Cifre numeriche (0, 1, 2, …, 9) Simboli di punteggiatura (, . ; : ! “ ? …) Segni matematici (+, -, {, [, >, …) Caratteri nazionali (à, è, ì, ò, ù, ç, ñ, ö, …) può essere codificato usando un byte (220 caratteri circa) Il metodo di codifica più diffuso tra i produttori di hardware e di software prende il nome ASCII (American Standard Code for Information Interchange)

Codifica dei caratteri (ASCII) Simbolo 00000000 NUL (spazio bianco) … 00111110 > 00111111 ? 01000000 @ 01000001 A 01000010 B 01000011 C

Codifica delle parole Parole sono sequenze di caratteri Codifica della parole cane 01100011 01100001 01101110 01100101 c a n e Il problema inverso: data una sequenza di bit, il testo che essa codifica può essere ottenuto nel modo seguente: si divide la sequenza in gruppi di otto bit (byte) si determina il carattere corrispondente ad ogni byte

Codifica dei caratteri Abbiamo considerato il codice: ASCII: 8 bit per carattere ASCII base: usa solo 7 degli 8 bit (non codifica ad es. i caratteri nazionali) ASCII esteso: usa tutti gli 8 bit Un’altro codice: UNICODE, 16 bit per carattere (ASCII + caratteri etnici) Microsoft Windows usa un codice proprietario a 16 bit per carattere, simile ad UNICODE

Codifica binaria Risposta: la copertina del disco X&Y Che cos’è la connessione tra: Coldplay International Telegraph Alphabet No. 2 (ITA2) Risposta: la copertina del disco X&Y

Codifica binaria Il codice di Baudot (anche conosciuto come International Telegraph Alphabet No. 2 (ITA2)): Un sistema di codifica per un insieme di caratteri Utilizzato nelle telescriventi prima dei sistemi EBCDIC e ASCII Ogni carattere è rappresentato con 5 bit Coldplay ha usato una variante del codice di Baudot per scrivere X&Y sulla copertina del disco

Codifica binaria I blocchi sulla copertina rappresentano “1” (l’assenza di un blocco significa “0”) Ogni blocco ha due colori, ed è rettangolare (i colori non hanno significato) Leggere dal basso al alto, dalla prima colonna a sinistra all’ultima a destra Primo carattere:

Codifica binaria I blocchi sulla copertina rappresentano “1” (l’assenza di un blocco significa “0”) Ogni blocco ha due colori, ed è rettangolare (i colori non hanno significato) Leggere dal basso al alto, dalla prima colonna a sinistra all’ultima a destra Primo carattere: 11101

Codifica binaria Caratteri: 11101 11011

Codifica binaria Caratteri: 11101 11011 11000

Codifica binaria Caratteri: 11101 11011 11000 10101

Codifica binaria Nel codice di Baudot ci sono due modalità: Modalità lettere: una sequenza di 5 bit rappresenta una lettera Modalità simboli: una sequenza di 5 bit rappresenta un numero o un simbolo speciale (per esempio, &) Ci sono alcuni configurazioni di 5 bit per passare dalla modalità lettere alla modalità simbolo, e vice versa Per il codice di Baudot, vedere ad esempio: http://it.wikipedia.org/wiki/Codice_Baudot

Codifica binaria Caratteri: Nel codice di Baudot: 11101 = X 11011 = FIGS 11000 10101 Nel codice di Baudot: Assumiamo che cominciamo in modalità lettere 11101 codifica X 11011 codifica il carattere “FIGS” per passare alla modalità simboli …

Codifica binaria Caratteri: Nel codice di Baudot: 11101 = X 11011 = FIGS 11000 = 9 10101 = 6 Nel codice di Baudot: … 11000 codifica 9 10101 codifica 6

Codifica binaria Quindi, l’immagine sulla copertina codifica “X96” nella codice di Baudot, non “X&Y” Codice di Coldplay: Modalità simbolo “dura” solo per il carattere successiva (per scrivere “X9Y”) Perché 9 e non &?

Codifica delle immagini Suddividiamo l’immagine mediante una griglia formata da righe orizzontali e verticali a distanza costante

Codifica delle immagini Ogni quadratino derivante da tale suddivisione prende il nome di pixel (picture element) e può essere codificato in binario secondo la seguente convenzione: Il simbolo “0” viene utilizzato per la codifica di un pixel corrispondente ad un quadratino in cui il bianco è predominante Il simbolo “1” viene utilizzato per la codifica di un pixel corrispondente ad un quadratino in cui il nero è predominante

Codifica delle immagini 1

Codifica delle immagini 1 Poiché una sequenza di bit è lineare, è necessario definire convenzioni per ordinare la griglia dei pixel in una sequenza. Assumiamo che i pixel siano ordinati dal basso verso l’alto e da sinistra verso destra 0000000000 0011111000 0011100000 0001000000

Codifica delle immagini Non sempre il cortorno della figura coincide con le linee della griglia. Quella che si ottiene nella codifica è un’approssimazione della figura originaria Se riconvertiamo la sequenza di stringhe 0000000000 0011111000 0011100000 0001000000 in immagine otteniamo

Codifica delle immagini La rappresentazione sarà più fedele all’aumentare del numero di pixel, ossia al diminuire delle dimensioni dei quadratini della griglia in cui è suddivisa l’immagine

Codifica delle immagini Assegnando un bit ad ogni pixel è possibile codificare solo immagini in bianco e nero Per codificare le immagini con diversi livelli di grigio oppure a colori si usa la stessa tecnica: per ogni pixel viene assegnata una sequenza di bit

Codifica delle immagini (grigio e colore) Per memorizzare un pixel non è più sufficiente un solo bit Per esempio, se utilizziamo quattro bit possiamo rappresentare 24 = 16 livelli di grigio o 16 colori diversi Mentre con otto bit ne possiamo distinguere 28 = 256, ecc.

L’uso del colore Il colore può essere generato componendo 3 colori: red, green, blue (codifica RGB) Ad ogni colore si associa una possibile sfumatura Usando 8 bit per ogni colore si possono ottenere 256 sfumature per il rosso, 256 per il blu e 256 per il verde che, combinate insieme, danno origine a circa 16,7 milioni di colori diversi (precisamente 16777216 colori) Ogni pixel per essere memorizzato richiede 3 byte

L’uso del colore Esempi: 00000000 00000000 00000000  nero 11111111 11111111 11111111  bianco 11111111 00000000 00000000  rosso 11111111 11111111 00000000  giallo 00000000 11111111 00000000  verde 00000000 11111111 11111111  cyan 00000000 00000000 11111111  blu 11111111 00000000 11111111  viola 10000000 10000000 10000000  grigio (un certo tonalità di…)

Codifica delle immagini (riassumendo…) 1 pixel a 2 colori  1 bit 1 pixel a 256 colori  1 byte (1*8 bit) 1 pixel a 65535 colori  2 byte (2*8 bit) 1 pixel a 16 milioni di colori  3 byte (3*8 bit)

I pixel Il pixel corrispondono quindi ai punti di cui sono fatte le immagini Sono l’unità di informazione minima delle immagini

I bit e i byte… Bit e byte servono invece a definire lo spazio necessario per memorizzare l’immagine.

Qualità delle immagini digitali Due parametri di qualità: risoluzione e profondità del colore La risoluzione indica la precisione con cui viene effettuata la suddivisione di un’immagine in pixel. La risoluzione si misura dunque in pixel. La profondità del colore indica il numero di colori diversi che possono essere rappresentati È data dal numero di bit o byte utilizzati per rappresentare ciascun pixel La profondità del colore si misura quindi in bit o byte La dimensione dell’immagine è il numero di bit o byte che servono per memorizzarla dimensione = risoluzione x profondità del colore maggiore la qualità, maggiore la dimensione

Qualità delle immagini digitali Per modificare i numeri di colori, il numero di pixel sullo schermo: Start  Impostazione  Panello di controllo  Schermo  Impostazione (scheda)

Dimensione di un’immagine In questo esempio sto usando 160 pixel (20x8) 20 pixel in larghezza 8 pixel in lunghezza Sto inoltre usando 2 colori = 1 bit per pixel L’immagine occupa dunque 160x1=160 bit In byte: 160 bit = 160/8 byte = 20 byte

Qualità e dimensione 318x234 pixel 3 B per pixel (16M colori) 318x234x3 = 223236 B  218 KB 80x59 pixel 3 B per pixel (16M colori) 80x59x3 = 14160 B  14 KB 48x35 pixel 3 B per pixel (16M colori) 48x35x3 = 5040 B  5 KB Slide 35 – Parte I (a) Le dimensioni finali delle immagini erano erroneamente riportate in B (byte) anziché in kilobyte (KB) 318x234 pixel 3 B per pixel (16M colori) 318x234x3 = 223236 B  218 KB 318x234 pixel 4 bit per pixel (16 colori) 318x234x4 = 297648 bit  36 KB 318x234 pixel 3 bit per pixel (8 colori) 318x234x3 = 223236 bit  27 KB

Qualità e dimensione 2 bit per pixel 4 bit per pixel 1 byte per pixel Slide 35 – Parte I (a) Le dimensioni finali delle immagini erano erroneamente riportate in B (byte) anziché in kilobyte (KB)

Esempio: fotocamera digitale La qualità delle immagini è espressa in MegaPixel (milioni di pixel) I colori sono sempre 16 milioni (3 byte per pixel). 6.0 MegaPixel = 6 Milioni di pixel Le proporzioni di una foto sono di solito di 4:3 Quindi al massimo la foto potrà avere una risoluzione di... 4A x 3A = 6000000 12A2 = 6000000 A2 = 500000 A  700 risoluz. max.  2800 x 2100 dim.  6000000 x 3 B = 18 MB

Grafica bitmap Le immagini codificate pixel per pixel sono dette immagini in grafica bitmap (mappa di bit) Un oggetto bitmap è memorizzato semplicemente come una griglia di pixel a ciascuno dei quali è associato un colore. Una volta disegnata una linea, essa non è più una “linea” ma solo un insieme di pixel sullo schermo, pertanto non è più possibile modificarne le coordinate.

Grafica bitmap L’immagine è descritta pixel per pixel Per ridurre l’occupazione di memoria, l’immagine è spesso compressa La qualità dipende da tanti fattori numero di bit utilizzati per ciascun pixel caratteristiche dell’immagine algoritmo di compressione usato fattore di ingrandimento sul video

Compressione delle immagini Le immagini bitmap occupano parecchio spazio Esistono delle tecniche di compressione che permettono di ridurre le dimensioni Sono essenzialmente modi “più furbi” di memorizzare le immagini, invece che elencare semplicemente i pixel che le compongono. A volte comportano una riduzione della qualità dell’immagine che risulta impercettibile per l’occhio umano. Distinzione tra compressione lossless e compressione lossy Lossless: compressione senza perdita di informazioni Dalla versione compressa, si può ricostruire perfettamente la versione non-compressa Lossy: compressione con perdita di informazioni Dalla versione compressa, non è possibile recuperare la versione originale Due modi diffusi di comprimere le immagini: GIF e JPEG

Compressione GIF GIF = Graphic Interchange Format Applicabile quando i colori sono “pochi” (max 8 bit = 256 colori) Usa una generalizzazione di run-length encoding (RLE): invece di elencare i pixel uno per uno elenca il numero di pixel consecutivi di uno stesso colore. BITMAP:9x6 R R R R R R R R R B B B B B B B B B V V V V V V V V V RLE:9x6 18 R 18 B 18 V

Compressione GIF Vantaggi Svantaggi Se l’immagine ha pochi colori non viene “deteriorata” (compressione lossless) Svantaggi Se l’immagine ha molti colori (es. una foto) bisogna ridurli, perdendo in qualità. Pertanto questo formato è preferibile per immagini dalle linee nette e con poche sfumature.

Compressione GIF 352 KB 47 KB

Compressione JPEG JPEG = Joint Photographic Expert Group Studiata appositamente per le fotografie Si basa sul principio di rinunciare ad una parte dell’informazione presente nell’immagine (compressione lossy) quando quell’informazione non verrebbe comunque percepita dall’occhio umano. Ovviamente se si esagera con la riduzione dell’informazione la perdita di qualità diventa percepibile. Le idee su cui è basata (in breve): L’occhio umano è più sensibile alle variazioni di luminosità che di tonalità. Meglio dunque sacrificare le seconde. Tali variazioni di luminosità sono ben percepite su aree ampie, ma non su aree piccole (un singolo pixel molto più luminoso in mezzo ad altri più scuri non viene notato)

Compressione JPEG 352 KB 38 KB 23 KB

Compressione JPEG 30,2 KB 6,8 KB 3,2 KB

Grafica vettoriale Un oggetto vettoriale è costituito da una sequenza di segmenti, che vengono memorizzati registrando le coordinate delle estremità di ciascun segmento. Tali segmenti possono essere dritti o curvi. Possono essere uniti a formare una linea spezzata, aperta o chiusa. Un oggetto vettoriale ha inoltre degli attributi. Ad esempio il colore e lo spessore della linea, il riempimento se si tratta di una figura chiusa (ad es. un rettangolo), ecc. Gli attributi sono memorizzati separatamente dalle coordinate. Una volta creato l’oggetto è possibile modificare le coordinate lasciando inalterati gli attributi, oppure modificare gli attributi senza cambiare la forma dell’oggetto.

Grafica vettoriale L’immagine è descritta da un algoritmo che permette di ricrearla La qualità è indipendente dal fattore di ingrandimento L’ingrandimento non fa perdere la risoluzione

Immagine vettoriale

Codifica delle immagini Immagini complesse od irregolari: codifica bitmap (o raster) Immagini regolari: codifica vettoriale (es., SVG) Codifiche ibride (raster/vettoriale) Codifiche standard: Postscript, PDF Un oggetto bitmap

Codifica delle immagini Immagini complesse od irregolari: codifica bitmap (o raster) Immagini regolari: codifica vettoriale (es., SVG) Codifiche ibride (raster/vettoriale) Codifiche standard: Postscript, PDF Un file SVG

Codifica delle immagini Immagini complesse od irregolari: codifica bitmap (o raster) Immagini regolari: codifica vettoriale (es., SVG) Codifiche ibride (raster/vettoriale) Codifiche standard: Postscript, PDF Un file PDF

Codifica di immagini in movimento Un filmato è una sequenza di immagini statiche (dette fotogrammi o frame). Per codificare un filmato si digitalizzano i suoi fotogrammi Tanto maggiore è il numero di fotogrammi tanto migliore apparirà la qualità del movimento I filmati in digitale possono essere molto pesanti

Compressione di immagini in movimento Si possono comprimere le immagini con le tecniche viste prima Si memorizza il primo fotogramma e nei successivi si memorizzano le differenze rispetto a quello iniziale Dopo un certo numero di fotogrammi si memorizza un nuovo fotogramma in modo completo Esempi di formati per il video: AVI, MOV Compressione: MPEG (Moving Picture Expert Group), differenza tra fotogrammi

Compressione di immagini in movimento CODEC (Compress or DECompress): software in grado di codificare e decodificare un flusso di dati, come una sequenza video MPEG, DIVX

Codifica dei suoni rappresentazione analogica Fisicamente un suono è rappresentato come un’onda che descrive la variazione della pressione dell’aria nel tempo (onda sonora) che quando rilevata dall’orecchio viene trasformata in un particolare stimolo elettrico rappresentazione analogica Sull’asse delle ascisse viene rappresentato il tempo e sull’asse delle ordinate viene rappresentata la variazione di pressione corrispondente al suono stesso

Codifica dei suoni rappresentazione analogica Si effettuano dei campionamenti sull’onda (cioè si misura il valore dell’onda a intervalli di tempo costanti) e si codificano in forma digitale le informazione estratte da tali campionamenti rappresentazione analogica Quanto più frequentemente il valore di intensità dell’onda viene campionato, tanto più precisa sarà la sua rappresentazione Il numero di campioni raccolti per ogni secondo definisce la frequenza di campionamento che si misura in Hertz (Hz , numero di campionamento ogni secondo – di solito 44.100 Hz)

Codifica dei suoni La sequenza dei valori numerici ottenuti dai campioni può essere facilmente codificata con sequenze di bit La rappresentazione è tanto più precisa quanto maggiore è il numero di bit utilizzati per codificare l’informazione estratta in fase di campionamento

Codifica dei suoni ADC: da analogico a digitale DAC: da digitale ad analogico 01011010 11110000 10100000 10000010 Convertitore analogico-digitale Convertitore digitale-analogico

Codifica dei suoni Codifiche standard MP3 MP3 , WAV (MS-Windows), AIFF (Audio Interchange File Format, Apple), MIDI MP3 Variante MPEG per suoni Lossy Grande diffusione, molto efficiente (fattore di compressione circa 5:1 - 10:1, circa 1-2 MB ogni minuto) MIDI: codifica le note e gli strumenti che devono eseguirle Efficiente, ma solo musica, non voce

Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da “0” a “9” fornendo in questo modo una rappresentazione dei numeri Per esempio: il numero 324 potrebbe essere rappresentato dalla sequenza di byte: 00110011 00110010 00110100 3 2 4 Ma questa rappresentazione non è efficiente e soprattutto non è adatta per eseguire le operazioni aritmetiche sui numeri Sono stati pertanto studiati codici alternativi per rappresentare i numeri in modo efficiente ed eseguire le usuali operazioni aritmetiche

Codifica dei numeri (il sistema decimale) La rappresentazione dei numeri con il sistema decimale può essere utilizzata come spunto per definire un metodo di codifica dei numeri all’interno degli elaboratori Esempio: la sequenza di cifre 324 viene interpretato come: 3 centinaia + 2 decine + 4 unità 324 = 3 x 100 + 2 x 10 + 4 x 1 324 = 3 x 102 + 2 x 101 + 4 x 100

Codifica dei numeri (il sistema binario) La numerazione decimale quindi utilizza una notazione posizionale basata sul numero 10 La notazione posizionale può essere utilizzata in qualunque altro sistema di numerazione (con base diversa di 10) Per ogni sistema di numerazione si usa un numero di cifre uguale alla base

Conversione base 2  base 10 Esempio: la sequenza “1011” denota il numero 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 11 (in base 10) Esempio: la sequenza “10011” denota il numero 1 x 24 + 0 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 19 (in base 10) Per evitare ambiguità si usa la notazione 10112 = 1110, 100112 = 1910

Conversione base 10  base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo cm cm-1cm-2 … c1c0 (le “ci” sono cifre binarie) Due modi per effettuare la conversione: Un modo più empirico  più facile da ricostruire se non ci si ricorda come fare, ma anche più soggetto ad errori. Richiede anche di fare più calcoli a mente. Un modo più formale  richiede di fare a mente calcoli semplicissimi (divisioni per due!); è però un po’meno intuitivo.

Conversione base 10  base 2 Modo più empirico Adatto ai numeri che non sono troppo grossi! Prendo il numero da convertire. Es.: 5712 Scrivo tutte le potenze di 2 (corrispondenti alle posizioni delle cifre) che sono MINORI del numero: 4096 2048 1024 512 256 128 64 32 16 8 4 2 1

Conversione base 10  base 2 Modo più empirico Adatto ai numeri che non sono troppo grossi! Prendo il numero da convertire. Es.: 5712 Scrivo tutte le potenze di 2 (corrispondenti alle posizioni delle cifre) che sono MINORI del numero: Scrivo un 1 nella casella corrispondente alla potenza più grande che però sia sotto il numero considerato (5712). 4096 2048 1024 512 256 128 64 32 16 8 4 2 1

Conversione base 10  base 2 Modo più empirico Adatto ai numeri che non sono troppo grossi! Prendo il numero da convertire. Es.: 5712 Scrivo tutte le potenze di 2 (corrispondenti alle posizioni delle cifre) che sono MINORI del numero: Scrivo un 1 nella casella corrispondente alla potenza più grande che però sia sotto il numero considerato (5712). Questo 1 “vale” 4096 unità, quindi mi restano da distribuire 57124096=1616 unità 4096 2048 1024 512 256 128 64 32 16 8 4 2 1

Conversione base 10  base 2 Modo più empirico Adatto ai numeri che non sono troppo grossi! Prendo il numero da convertire. Es.: 5712 Scrivo tutte le potenze di 2 (corrispondenti alle posizioni delle cifre) che sono MINORI del numero: Scrivo un 1 nella casella corrispondente alla potenza più grande che però sia sotto il numero considerato (5712). Questo 1 “vale” 4096 unità, quindi mi restano da distribuire 57124096=1616 unità Ricomincio dal passo 1 con le unità che mi restano da distribuire, ossia 1616 4096 2048 1024 512 256 128 64 32 16 8 4 2 1

Conversione base 10  base 2 Modo più empirico Adatto ai numeri che non sono troppo grossi! Prendo il numero da convertire. Es.: 5712 Scrivo tutte le potenze di 2 (corrispondenti alle posizioni delle cifre) che sono MINORI del numero: Scrivo un 1 nella casella corrispondente alla potenza più grande che però sia sotto il numero considerato (1616). 4096 2048 1024 512 256 128 64 32 16 8 4 2 1

Conversione base 10  base 2 Modo più empirico Adatto ai numeri che non sono troppo grossi! Prendo il numero da convertire. Es.: 5712 Scrivo tutte le potenze di 2 (corrispondenti alle posizioni delle cifre) che sono MINORI del numero: Scrivo un 1 nella casella corrispondente alla potenza più grande che però sia sotto il numero considerato (1616). Questo 1 “vale” 1024 unità, quindi mi restano da distribuire 16161024=592 unità 4096 2048 1024 512 256 128 64 32 16 8 4 2 1

Conversione base 10  base 2 Modo più empirico Adatto ai numeri che non sono troppo grossi! Prendo il numero da convertire. Es.: 5712 Scrivo tutte le potenze di 2 (corrispondenti alle posizioni delle cifre) che sono MINORI del numero: Scrivo un 1 nella casella corrispondente alla potenza più grande che però sia sotto il numero considerato (1616). Questo 1 “vale” 1024 unità, quindi mi restano da distribuire 16161024=592 unità Ricomincio dal passo 1 con le unità che mi restano da distribuire, ossia 592 4096 2048 1024 512 256 128 64 32 16 8 4 2 1

Conversione base 10  base 2 Modo più empirico Adatto ai numeri che non sono troppo grossi! Prendo il numero da convertire. Es.: 5712 Scrivo tutte le potenze di 2 (corrispondenti alle posizioni delle cifre) che sono MINORI del numero: Scrivo un 1 nella casella corrispondente alla potenza più grande che però sia sotto il numero considerato (592). Questo 1 “vale” 512 unità, quindi mi restano da distribuire 592512=80 unità Ricomincio dal passo 1 con le unità che mi restano da distribuire, ossia 80 4096 2048 1024 512 256 128 64 32 16 8 4 2 1

Conversione base 10  base 2 Modo più empirico Adatto ai numeri che non sono troppo grossi! Prendo il numero da convertire. Es.: 5712 Scrivo tutte le potenze di 2 (corrispondenti alle posizioni delle cifre) che sono MINORI del numero: Scrivo un 1 nella casella corrispondente alla potenza più grande che però sia sotto il numero considerato (80). Questo 1 “vale” 64 unità, quindi mi restano da distribuire 8064=16 unità Ricomincio dal passo 1 con le unità che mi restano da distribuire, ossia 16 4096 2048 1024 512 256 128 64 32 16 8 4 2 1

Conversione base 10  base 2 Modo più empirico Adatto ai numeri che non sono troppo grossi! Prendo il numero da convertire. Es.: 5712 Scrivo tutte le potenze di 2 (corrispondenti alle posizioni delle cifre) che sono MINORI del numero: Scrivo un 1 nella casella corrispondente alla potenza più grande che però sia sotto il numero considerato (16). Questo 1 “vale” 16 unità, quindi mi restano da distribuire 1616=0 unità 4096 2048 1024 512 256 128 64 32 16 8 4 2 1

Conversione base 10  base 2 Modo più empirico Adatto ai numeri che non sono troppo grossi! Prendo il numero da convertire. Es.: 5712 Scrivo tutte le potenze di 2 (corrispondenti alle posizioni delle cifre) che sono MINORI del numero: Scrivo un 1 nella casella corrispondente alla potenza più grande che però sia sotto il numero considerato (8). Questo 1 “vale” 8 unità, quindi mi restano da distribuire 88=0 unità Poiché non ho più unità da distribuire, ho finito. Riempio le caselle restanti con tutti 0. 4096 2048 1024 512 256 128 64 32 16 8 4 2 1

Conversione base 10  base 2 Modo più empirico Adatto ai numeri che non sono troppo grossi! Prendo il numero da convertire. Es.: 5712 Scrivo tutte le potenze di 2 (corrispondenti alle posizioni delle cifre) che sono MINORI del numero: 1

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento.

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento. Calcolo il quoziente e il resto della divisione per 2 del numero considerato (5712) Il resto può essere solo 0 o 1, 0 se il numero è pari, 1 se il numero è dispari. In questo caso il resto è 0. Il quoziente è la metà del numero: 2856.

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento. Calcolo il quoziente e il resto della divisione per 2 del numero considerato (5712) Il resto può essere solo 0 o 1, 0 se il numero è pari, 1 se il numero è dispari. In questo caso il resto è 0. Il quoziente è la metà del numero: 2856. Scrivo il resto nella prima casella libera a destra

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento. Calcolo il quoziente e il resto della divisione per 2 del numero considerato (5712) Il resto può essere solo 0 o 1, 0 se il numero è pari, 1 se il numero è dispari. In questo caso il resto è 0. Il quoziente è la metà del numero: 2856. Scrivo il resto nella prima casella libera a destra Ricomincio dal passo 1 usando il quoziente (2856)

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento. Calcolo il quoziente e il resto della divisione per 2 del numero considerato (2856) Il resto può essere solo 0 o 1, 0 se il numero è pari, 1 se il numero è dispari. In questo caso il resto è 0. Il quoziente è la metà del numero: 1428.

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento. Calcolo il quoziente e il resto della divisione per 2 del numero considerato (2856) Il resto può essere solo 0 o 1, 0 se il numero è pari, 1 se il numero è dispari. In questo caso il resto è 0. Il quoziente è la metà del numero: 1428. Scrivo il resto nella prima casella libera a destra Ricomincio dal passo 1 usando il quoziente (1428)

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento. Calcolo il quoziente e il resto della divisione per 2 del numero considerato (1428) Il resto può essere solo 0 o 1, 0 se il numero è pari, 1 se il numero è dispari. In questo caso il resto è 0. Il quoziente è la metà del numero: 714. Scrivo il resto nella prima casella libera a destra Ricomincio dal passo 1 usando il quoziente (714)

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento. Calcolo il quoziente e il resto della divisione per 2 del numero considerato (714) Il resto può essere solo 0 o 1, 0 se il numero è pari, 1 se il numero è dispari. In questo caso il resto è 0. Il quoziente è la metà del numero: 357. Scrivo il resto nella prima casella libera a destra Ricomincio dal passo 1 usando il quoziente (357)

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento. Calcolo il quoziente e il resto della divisione per 2 del numero considerato (357) Il resto può essere solo 0 o 1, 0 se il numero è pari, 1 se il numero è dispari. In questo caso il resto è 1. Il quoziente è la metà del numero: 178. Scrivo il resto nella prima casella libera a destra Ricomincio dal passo 1 usando il quoziente (178) 1

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento. Calcolo il quoziente e il resto della divisione per 2 del numero considerato (178) Il resto può essere solo 0 o 1, 0 se il numero è pari, 1 se il numero è dispari. In questo caso il resto è 0. Il quoziente è la metà del numero: 89. Scrivo il resto nella prima casella libera a destra Ricomincio dal passo 1 usando il quoziente (89) 1

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento. Calcolo il quoziente e il resto della divisione per 2 del numero considerato (89) Il resto può essere solo 0 o 1, 0 se il numero è pari, 1 se il numero è dispari. In questo caso il resto è 1. Il quoziente è la metà del numero: 44. Scrivo il resto nella prima casella libera a destra Ricomincio dal passo 1 usando il quoziente (44) 1

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento. Calcolo il quoziente e il resto della divisione per 2 del numero considerato (44) Il resto può essere solo 0 o 1, 0 se il numero è pari, 1 se il numero è dispari. In questo caso il resto è 0. Il quoziente è la metà del numero: 22. Scrivo il resto nella prima casella libera a destra Ricomincio dal passo 1 usando il quoziente (22) 1

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento. Calcolo il quoziente e il resto della divisione per 2 del numero considerato (22) Il resto può essere solo 0 o 1, 0 se il numero è pari, 1 se il numero è dispari. In questo caso il resto è 0. Il quoziente è la metà del numero: 11. Scrivo il resto nella prima casella libera a destra Ricomincio dal passo 1 usando il quoziente (11) 1

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento. Calcolo il quoziente e il resto della divisione per 2 del numero considerato (11) Il resto può essere solo 0 o 1, 0 se il numero è pari, 1 se il numero è dispari. In questo caso il resto è 1. Il quoziente è la metà del numero: 5. Scrivo il resto nella prima casella libera a destra Ricomincio dal passo 1 usando il quoziente (5) 1

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento. Calcolo il quoziente e il resto della divisione per 2 del numero considerato (5) Il resto può essere solo 0 o 1, 0 se il numero è pari, 1 se il numero è dispari. In questo caso il resto è 1. Il quoziente è la metà del numero: 2. Scrivo il resto nella prima casella libera a destra Ricomincio dal passo 1 usando il quoziente (2) 1

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento. Calcolo il quoziente e il resto della divisione per 2 del numero considerato (2) Il resto può essere solo 0 o 1, 0 se il numero è pari, 1 se il numero è dispari. In questo caso il resto è 0. Il quoziente è la metà del numero: 1. Scrivo il resto nella prima casella libera a destra Ricomincio dal passo 1 usando il quoziente (1) 1

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento. Calcolo il quoziente e il resto della divisione per 2 del numero considerato (1) Il resto può essere solo 0 o 1, 0 se il numero è pari, 1 se il numero è dispari. In questo caso il resto è 1. Il quoziente è la metà del numero: 0. Scrivo il resto nella prima casella libera a destra 1

Conversione base 10  base 2 Modo più formale Consigliato per i numeri grandi Prendo il numero da convertire. Es.: 5712 Non ho bisogno di preparare prima le caselle, procedo infatti da destra a sinistra, allungando il numero a piacimento. Calcolo il quoziente e il resto della divisione per 2 del numero considerato (1) Il resto può essere solo 0 o 1, 0 se il numero è pari, 1 se il numero è dispari. In questo caso il resto è 1. Il quoziente è la metà del numero: 0. Scrivo il resto nella prima casella libera a destra Siccome sono arrivato a 0, termino il procedimento. 1

Notazione esadecimale Vale la pena menzionare un altro tipo di notazione: la notazione esadecimale, ossia in base 16 Il principio è lo stesso della notazione decimale (base 10) e binaria (base 2) Si usano 16 cifre: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F Usata spesso in ambito informatico perché: più compatta della notazione binaria (e anche di quella decimale!) conversione esadecimale  binario molto semplice (cifra per cifra) A93E16 (4332610) A16 = 1010 = 10102 916 = 910 = 10012 316 = 310 = 00112 E16 = 1410 = 11102 1010-1001-0011-11102