Mauro Piccolo - DiUniTopiccolo/teach/AA1516/Lezioni/Lezione3.pdf · 091 133 05B 01011011 [ (left -...

30
1 / 12 Lezione 3 Rappresentazione delle informazioni Mauro Piccolo September 17, 2015

Transcript of Mauro Piccolo - DiUniTopiccolo/teach/AA1516/Lezioni/Lezione3.pdf · 091 133 05B 01011011 [ (left -...

1 / 12

Lezione 3

Rappresentazione delle informazioni

Mauro Piccolo

September 17, 2015

Rappresentazione dellinformazione

⊲ Rappresentazione

Bit...

Multipli

ASCIIIl messaggio “Hello”in ASCII

Unicode

Numeri

Immagini

Audio

Video

Compressione

2 / 12

Bit, Byte, Word ...

Rappresentazione

⊲ Bit...

Multipli

ASCIIIl messaggio “Hello”in ASCII

Unicode

Numeri

Immagini

Audio

Video

Compressione

3 / 12

I sistemi di elaborazione utilizzano numeri per codificare qualsiasitipo di informazione, sia quando tale informazione e numerica,sia quando e un immagine oppure un filmato. Ogni dato vienequindi codificato e trasformato in una serie di cifre per poteressere memorizzato ed elaborato dai computer.

Bit, Byte, Word ...

Rappresentazione

⊲ Bit...

Multipli

ASCIIIl messaggio “Hello”in ASCII

Unicode

Numeri

Immagini

Audio

Video

Compressione

3 / 12

La scelta del nostro normale sistema decimalee dettata dalle dieci dita delle mani cheogni persona possiede, mentre lutilizzo dellarappresentazione binaria si presta ad esserefacilmente rappresentata negli stati ON/OFFdi un circuito eletrico. Inoltre, essa consente lasemplificazione e quindi la miniaturizzazionedei circuiti fisici che dovranno eseguire lamemorizzazione e le successive elaborazioni.

Bit, Byte, Word ...

Rappresentazione

⊲ Bit...

Multipli

ASCIIIl messaggio “Hello”in ASCII

Unicode

Numeri

Immagini

Audio

Video

Compressione

3 / 12

Il bit costituisce quindi lunita elementare di memorizzazione;visto che la quantita di informazione che pu essere contenuta inun singolo bit e minima, per poter codificare dati complessinecessario lavorare su gruppi di bit.

Bit, Byte, Word ...

Rappresentazione

⊲ Bit...

Multipli

ASCIIIl messaggio “Hello”in ASCII

Unicode

Numeri

Immagini

Audio

Video

Compressione

3 / 12

Un gruppo di 8 bit viene detto ottetto o byte e consente dicodificare 256 (28) simboli o dati elementari diversi; ad esempioun byte puo essere usato per codificare tutti i simboli (caratteri)presenti in un normale testo, quali lettere maiuscole e minuscole,numeri e segni di interpunzione.

Bit, Byte, Word ...

Rappresentazione

⊲ Bit...

Multipli

ASCIIIl messaggio “Hello”in ASCII

Unicode

Numeri

Immagini

Audio

Video

Compressione

3 / 12

Il termine word indica, invece, una gruppo di bit (in numero taleda essere potenza di 2); si parla quindi di word di 4, 16, 32 o 64bit. Ad esempio, il byte una parola di 8 bit. Normalmente, unaword e la dimensione minima di bit su cui un calcolatore pueseguire operazioni elementari; i vecchi PC lavoravano con worddi 8 o 16 bit, mentre gli attuali elaboratori hanno word di 64 bit.

Multipli

4 / 12

La memoria utilizzata per codificare una pagina di testo e di qualche migliaiodi byte, quella usata per una immagine pu raggiungere il milione di byte,mentre un lungo filmato pu richiedere miliardi di byte per essere memorizzato.Come nel sistema metrico decimale si introducono multipli delle grandezzeelementari. Nella terminologia informatica sono stati quindi adottati gli stessisimboli del sistema decimale, ma visto che la misurazione della memoria hacome sua base principale il 2, il loro significato leggermente diverso.

Multipli

4 / 12

La seguente tabella riassume i simboli e i valori dei multipli pi usati in campoinformatico:

Multiplo Sigla Valore Approssimazione

Kilo k 210 = 1024 ≈ 103

Mega M 220 = 1048576 ≈ 106

Giga G 230 = 1073741824 ≈ 109

Tera T 240 = 1099511627776 ≈ 1012

Peta P 250 = 1125899906842624 ≈ 1015

Exa E 260 = 1152921504606846976 ≈ 1018

Zetta Z 270 = 1180591620717411303424 ≈ 1021

Yotta Y 280 = 1208925819614629174706176 ≈ 1024

ASCII

5 / 12

ASCII: ”American Standard Code for Information Interchange”.Un ASCII-code e una rappresentazione numerica di un carattere.

Il codice ASCII diventato uno standard mondiale. Un testo in formato ASCII,per esempio il vostro curriculum, oppure un articolo, un testo in formatostandard che puo facilmente essere riutilizzato nei propri programmi. Infatti ilformato ASCII e’ universalmente riconosciuto da tutti i computer, cosa chenon e’ vera nel caso di testi ”formattati”, cio con sottolineature, stili,grassetti, ecc.Un file in formato ASCII pu essere creato utilizzando il Blocco Note diWindows, oppure salvando in formato ”solo testo” da programma diword-processing, come Word, Writer, AmiPro e simili. Ogni carattererappresentato in 7 bit. ES: il carattere A in base al codice ASCII in binariorappresentato da 01000001 ossia 41 in esadecimale.

ASCII

5 / 12

Decimal Octal Hex Binary Symbol Name

000 000 000 00000000 NUL (Null char.)001 001 001 00000001 SOH (Start of Header)002 002 002 00000010 STX (Start of Text)003 003 003 00000011 ETX (End of Text)004 004 004 00000100 EOT (End of Transmission)005 005 005 00000101 ENQ (Enquiry)006 006 006 00000110 ACK (Acknowledgment)007 007 007 00000111 BEL (Bell)008 010 008 00001000 BS (Backspace)009 011 009 00001001 TAB (Horizontal Tab)010 012 00A 00001010 LF (Line Feed or newline)011 013 00B 00001011 VT (Vertical Tab)012 014 00C 00001100 FF (Form Feed or newpage)013 015 00D 00001101 CR (Carriage Return)014 016 00E 00001110 SO (Shift Out)015 017 00F 00001111 SI (Shift In)016 020 010 00010000 DLE (Data Link Escape)017 021 011 00010001 DC1 (Device Control 1)018 022 012 00010010 DC2 (Device Control 2)019 023 013 00010011 DC3 (Device Control 3)020 024 014 00010100 DC4 (Device Control 4)021 025 015 00010101 NAK (Negativ Acknowledgemnt)022 026 016 00010110 SYN (Synchronous Idle)023 027 017 00010111 ETB (End of Trans. Block)024 030 018 00011000 CAN (Cancel)025 031 019 00011001 EM (End of Medium)026 032 01A 00011010 SUB (Substitute)027 033 01B 00011011 ESC (Escape)028 034 01C 00011100 FS (File Separator)029 035 01D 00011101 GS (Group Separator)030 036 01E 00011110 RS (Reqst to Send)(Rec. Sep.)031 037 01F 00011111 US (Unit Separator)

Decimal Octal Hex Binary Symbol Name

032 040 020 00100000 SP (Space)033 041 021 00100001 ! (exclamation mark)034 042 022 00100010 ” (double quote)035 043 023 00100011 # (number sign)036 044 024 00100100 $ (dollar sign)037 045 025 00100101 % (percent)038 046 026 00100110 & (ampersand)039 047 027 00100111 ’ (single quote)040 050 028 00101000 ( (left/open parenthesis)041 051 029 00101001 ) (right/closing parenth.)042 052 02A 00101010 * (asterisk)043 053 02B 00101011 + (plus)044 054 02C 00101100 , (comma)045 055 02D 00101101 - (minus or dash)046 056 02E 00101110 . (dot)047 057 02F 00101111 / (forward slash)048 060 030 00110000 0049 061 031 00110001 1050 062 032 00110010 2051 063 033 00110011 3052 064 034 00110100 4053 065 035 00110101 5054 066 036 00110110 6055 067 037 00110111 7056 070 038 00111000 8057 071 039 00111001 9058 072 03A 00111010 : (colon)059 073 03B 00111011 ; (semi-colon)060 074 03C 00111100 ≤ (less than)061 075 03D 00111101 = (equal sign)062 076 03E 00111110 ≥ (greater than)063 077 03F 00111111 ? (question mark)

ASCII

5 / 12

Decimal Octal Hex Binary Symbol Name

064 100 040 01000000 @ (AT symbol)065 101 041 01000001 A066 102 042 01000010 B067 103 043 01000011 C068 104 044 01000100 D069 105 045 01000101 E070 106 046 01000110 F071 107 047 01000111 G072 110 048 01001000 H073 111 049 01001001 I074 112 04A 01001010 J075 113 04B 01001011 K076 114 04C 01001100 L077 115 04D 01001101 M078 116 04E 01001110 N079 117 04F 01001111 O080 120 050 01010000 P081 121 051 01010001 Q082 122 052 01010010 R083 123 053 01010011 S084 124 054 01010100 T085 125 055 01010101 U086 126 056 01010110 V087 127 057 01010111 W088 130 058 01011000 X089 131 059 01011001 Y090 132 05A 01011010 Z091 133 05B 01011011 [ (left - opening bracket)092 134 05C 01011100 \ (back slash)093 135 05D 01011101 ] (right - closing bracket)094 136 05E 01011110 ˆ (caret - circumflex)095 137 05F 01011111 (underscore)

Decimal Octal Hex Binary Symbol Name

096 140 060 01100000 `097 141 061 01100001 a098 142 062 01100010 b099 143 063 01100011 c100 144 064 01100100 d101 145 065 01100101 e102 146 066 01100110 f103 147 067 01100111 g104 150 068 01101000 h105 151 069 01101001 i106 152 06A 01101010 j107 153 06B 01101011 k108 154 06C 01101100 l109 155 06D 01101101 m110 156 06E 01101110 n111 157 06F 01101111 o112 160 070 01110000 p113 161 071 01110001 q114 162 072 01110010 r115 163 073 01110011 s116 164 074 01110100 t117 165 075 01110101 u118 166 076 01110110 v119 167 077 01110111 w120 170 078 01111000 x121 171 079 01111001 y122 172 07A 01111010 z123 173 07B 01111011 { (left - opening brace)124 174 07C 01111100 | (vertical bar)125 175 07D 01111101 } (right - closing brace)126 176 07E 01111110 ˜ (tilde)127 177 07F 01111111 DEL (delete)

Il messaggio “Hello” in ASCII

6 / 12

Unicode

7 / 12

L’ASCII esteso designa una codifica a 8 bit o pi, in grado di rappresentaremolti altri caratteri oltre ai tradizionali 128 dell’ASCII a 7 bit. In seguito alproliferare di codifiche proprietarie, l’ISO rilasci uno standard denominato ISO8859 contenente un’estensione a 8 bit del set ASCII.Il pi importante fu l’ISO 8859-1, detto anche Latin1, contenente i caratteriper i linguaggi dell’Europa Occidentale. Furono standardizzate codifiche pergli altri linguaggi: ISO 8859-2 per i linguaggi dell’Europa Orientale, ISO8859-5 per i caratteri cirillici e molti altri.

Unicode

7 / 12

Unicode un sistema di codifica che assegna un numero univoco ad ognicarattere usato per la scrittura di testi, in maniera indipendente dalla lingua,dalla piattaforma informatica e dal programma utilizzato. Unicode statocompilato e viene aggiornato e pubblicizzato da un consorzio internazionale.

Unicode incorpora, la codifica ISO 8859-1[3], ma va molto oltre, codificando icaratteri usati in quasi tutte le lingue vive e in alcune lingue morte, nonchsimboli matematici e chimici, cartografici, l’alfabeto Braille, ideogrammi etc.UTF-8 (Unicode Transformation Format, 8 bit) una istanza della codificaUnicode, quella che ci riguarda.

Unicode

7 / 12

Attualmente lo standard Unicode non rappresenta ancora tutti i caratteri inuso nel mondo. Essendo ancora in evoluzione, si prefigge di coprire tutti icaratteri rappresentabili, garantendo la compatibilit e la non sovrapposizionecon le codifiche dei caratteri gi definiti, ma lasciando comunque dei benprecisi campi di codici ”non usati”, da riservare per la gestione autonomaall’interno di applicazioni particolari.

Numeri

Rappresentazione

Bit...

Multipli

ASCIIIl messaggio “Hello”in ASCII

Unicode

⊲ Numeri

Immagini

Audio

Video

Compressione

8 / 12

� Notazione binaria: uso dei bit per rappresentare numeri inbase 2 (prossima lezione!)

� Limitazioni delle rappresentazioni dei valori numerici usatedai calcolatori

Overflow accade quando un valore e’ troppo grande peressere rappresentato

Troncamento accade quando un valore non puo’ essererappresentato in modo accurato

Immagini

Rappresentazione

Bit...

Multipli

ASCIIIl messaggio “Hello”in ASCII

Unicode

Numeri

⊲ Immagini

Audio

Video

Compressione

9 / 12

Per memorizzare le immagini in un calcolatore bisogna primadiscretizzarle. Vi sono due modi principali: raster e vettoriale.

Immagini

Rappresentazione

Bit...

Multipli

ASCIIIl messaggio “Hello”in ASCII

Unicode

Numeri

⊲ Immagini

Audio

Video

Compressione

9 / 12

• La grafica bitmap (mappa di bit), o grafica raster, una tecnicautilizzata per descrivere un’immagine.

L’immagine viene vista come una scacchiera e ad ogni elementodella scacchiera, chiamato pixel, viene associato uno specificocolore. Se limmagine in bianco-e-nero allora abbiamo larappresentazione sar una matrice di bit. La memorizzazione deicolori puo avvenire in vari modi, ma richiedera comunque piu bit,che saranno associati ad ogni elemento della scacchiera. Spessosi parla di immagine a 256 colori oppure a 65536 colori.

Esempi: TIFF, GIF, PNG, BMP, JPEG, ...

Immagini

Rappresentazione

Bit...

Multipli

ASCIIIl messaggio “Hello”in ASCII

Unicode

Numeri

⊲ Immagini

Audio

Video

Compressione

9 / 12

• Nella grafica vettoriale un’immagine descritta mediante uninsieme di primitive geometriche che definiscono punti, linee,curve e poligoni ai quali possono essere attribuiti colori e anchesfumature.

Immagini

Rappresentazione

Bit...

Multipli

ASCIIIl messaggio “Hello”in ASCII

Unicode

Numeri

⊲ Immagini

Audio

Video

Compressione

9 / 12

• Nella grafica vettoriale

Grossolanamente, possiamo immaginare di descrivere figure suun piano cartesiano: un segmento di retta potrebbe essere unindividuato dalla coppia di coordinate che la delimitano, unasegmento di parabola potrebbe essere individuato dai coefficientidi una equazione di secondo grado e dalle due proiezioni sulleascisse dei suoi estremi, e cos via.

Immagini

Rappresentazione

Bit...

Multipli

ASCIIIl messaggio “Hello”in ASCII

Unicode

Numeri

⊲ Immagini

Audio

Video

Compressione

9 / 12

• Nella grafica vettoriale

I principali vantaggi della grafica vettoriale rispetto alla graficaraster sono i seguenti:

� possibilit di esprimere i dati in una forma direttamentecomprensibile ad un essere umano (es. lo standard SVG);

� possibilit di esprimere i dati in un formato che occupi(molto) meno spazio rispetto all’equivalente raster;

� possibilit di ingrandire l’immagine arbitrariamente, senza chesi verifichi una perdita di risoluzione dell’immagine stessa.

Esempi: SVG, DWG, DXF, ...

Immagini

Rappresentazione

Bit...

Multipli

ASCIIIl messaggio “Hello”in ASCII

Unicode

Numeri

⊲ Immagini

Audio

Video

Compressione

9 / 12

In realta esistono anche formati ibridi. Esempio: PS, EPS, PDF.

Audio

Rappresentazione

Bit...

Multipli

ASCIIIl messaggio “Hello”in ASCII

Unicode

Numeri

Immagini

⊲ Audio

Video

Compressione

10 / 12

L’accuratezza del campionamento dipende di un audio:

� dalla dimensione degli intervalli;� da quanti bit uso per descrivere il suono in ogni campione

nella fase di quantizzazione� Al solito . . . maggiore accuratezza significa maggior quantit

di memoria occupata!

Formati: WAV, MP3, OGG, WMA, AC3 ...

Video

Rappresentazione

Bit...

Multipli

ASCIIIl messaggio “Hello”in ASCII

Unicode

Numeri

Immagini

Audio

⊲ Video

Compressione

11 / 12

I video possono essere memorizzati come flussi di immagini fisse(o frame) trasmesse con velocit sufficientemente elevata insiemead una informazione audio.

Non andiamo nei dettagli, ma probabilmente avete incontrato iformati: avi, mp4, wmv, flv, ...

Compressione

12 / 12

La compressione dati viene utilizzata sia per ridurre le dimensioni di un file, equindi lo spazio necessario per la sua memorizzazione, sia per velocizzare letrasmissioni di dati.

Compressione

12 / 12

ESEMPIO:

Originale CompressoNel mezzo del cammin di nostravita mi ritrovai per una selva oscurach la diritta via era smarrita. Ahquanto a dir qual era cosa dura estaselva selvaggia e aspra e forte chenel pensier rinova la paura! Tant’amara che poco pi morte ma pertrattar del ben ch’io vi trovai, dirdell’altre cose ch’io v’ho scorte...

Nl mzz dl cmmn d nstr vt m rtrv prn slv scr ch l drtt v r smrrt. h qntdr ql r cs dr st slv slvgg spr frt ch nlpnsr rnv l pr! Tnt’ mr ch pc p mrtm pr trttr dl bn ch’ v trv, dr dll’ltrcs ch’ v’h scrt...

Compressione

12 / 12

Tipicamente testi e programmi non tollerano alcuna perdita di informazione,come invece potrebbe essere ragionevole per immagini, video e audio.

Per esempio, dato un manifesto di 1x1 metri in un formato raster, se abbiamouna sezione bianca di 10x10 cm che contiene un unico punto nero di 0.1x0.1mm allora eliminando tale punto non cambiamo la vista complessiva. Mentre,in un testo come quello precedente vorremmo poter recuperare il testooriginale.

Compressione

12 / 12

Le tecniche senza perdita (lossless) consentono di preservare l’informazioneoriginale in ogni sua parte. l’unica via possibile quando si devono comprimerefile di testo, programmi, documenti, database, schemi elettrici ecc. Esempisono ZIP, RAR, GZ, ARJ, . . . Questi consentono di archiviare o trasmettereuno o pi file risparmiando sulle risorse necessarie (spazio su disco o tempo ditrasmissione). Al momento in cui vengono recuperati i file dallo ZIP o RAR(decompressione) questi risultano indistinguibili dagli originali.

Un altro esempio di caso in cui viene usata la compressione senza perditaquello delle immagini non fotografiche, come schemi, disegni-tecnici o icone.Per questo scopo esistono formati come il GIF o il pi recente PNG.L’immagine compressa con uno di questi formati mantiene esattamentel’aspetto originale fino al dettaglio pi insignificante.

Compressione

12 / 12

D’altro canto, le tecniche con perdita di informazione (lossy) permettonoanche delle compressioni molto spinte, quindi un grande risparmio di risorse, adiscapito per della qualit dell’immagine o dell’audio che si voluto comprimere.Generalmente queste tecniche si usano per comprimere i file multimediali. Purmantenendo minima la perdita di qualit, il risparmio rispetto ad unacompressione lossless sulla stessa informazione sempre decisamenteapprezzabile.

Le informazioni multimediali come audio o video, sono molto grandi per essereagevolmente trasmesse o memorizzate, quindi si preferisce avere una piccolariduzione della qualit (o distorsione del contenuto), ma nel contempo filemolto pi leggeri. Alcuni esempi sono: la compressione di immagini in formatoJPEG, la compressione video in formato MP4 oppure la compressione audio informato MP3.