INFORMATICA AVANZATA
Spunti presi dalle lezioni del docente Claudio Sgarbanti
Le lezioni erano impostate per l’utilizzo di computers con sistema operativo Window; poiché io ho solo computer Apple ho utilizzato un Macbook Pro cercando di usare programmi analoghi.
La prima differenza fondamentale è nella tastiera, il tasto CTRL in windows svolge le funzioni del tasto CMD su MAC e non esiste un tasto CANC (cancella carattere a destra) su MAC.
Comunque andando in impostazioni su Impostazioni, Tastiera, Tasti Modificatori si può invertire i 2 comandi CTRL e CMD per cui si può usare CTRL come su windows.
Il tasto CANC su MAC si ottiene con la combinazione “fn+backspace”.
SCORCIATOIE DA TASTIERA
Si tratta di combinazioni di tasti che lanciano un comando per il quale sarebbe necessario aprire dei menù; in pratica si velocizza l’attività.
“CTRL + C” (copy) copia l’elemento selezionato.
“CTRL + X” (cut) taglia l’elemento selezionato.
“CTRL + V” (paste) incolla l’elemento copiato o tagliato.
“CTRL + Z” (undo) annulla l’ultima azione.
“CTRL + F” (find) cerca nel browser
“CTRL + A” ( select All) seleziona tutto
“CTRL + P (print) stampa
“CTRL + S” (save) salva
Nel Mac c’è inoltre il comando SPOTLIGHT che permette di trovare app, documenti, mail,…. Una volta trovato il file si può evidenziare e tenendo premuto CMD (o CTRL se si è scelta la regola di windows) si trova il percorso sul computer del file.
SPOTLIGT si richiama con la lente in alto a destra oppure da tastiera si richiama con “CTRL + barra spaziatrice”.
VIDEO - FORMATI E CODEC
I video attuali, TV o schermi del computer, mostrano le immagini tramite i pixel (picture element); il pixel è il più piccolo elemento costitutivo di un’immagine digitale. I pixel che compongono lo schermo di un PC misurano generalmente circa 0,35 mm.
I pixel formano una matrice sullo schermo e ognuno riproduce una frazione dell’immagine; il nostro occhio effettua un’integrazione di tutti i pixel ricostruendo l’immagine originale.
Chiaramente più sono fitti i pixel (definizione dell’immagine) più dettagliata sarà l’immagine.
Nel tempo si sono evoluti, con i miglioramenti tecnologici, il numero di pixel con il conseguente aumento della definizione e delle dimensioni dello schermo.
Attualmente è abbastanza comune sui televisori il formato 4K = 4096×2160 pixel (per un totale di oltre 9 milioni di pixel) con una dimensione dello schermo di 55 pollici.
Per i computer un formato molto diffuso è quello di 1920 x 1080 (detto anche HD) cioè i pixel sono 1920 in orizzontale e 1080 in verticale.
In entrambi i casi il rapporto larghezza altezza è di 16/9.
Per riprodurre il colore ogni singolo pixel è dato dalla mescolanza dei 3 colori fondamentali (con i quali si ottengono, con la sintesi additiva, tutti gli altri) che sono Rosso, Verde e Blu (modalità RGB).
Se si usano 8 bit per rappresentare ciascuno dei tre colori si hanno 256x256x256 oltre 16 milioni di colori rappresentabili. Una immagine di questo tipo è detta a 24 bit.
Questo sistema di rappresentazione utilizza la sintesi additiva (mescolo i tre colori fondamentali per ottenere tutto lo spettro) questo è quello che viene effettuato anche dal nostro occhio.
C’è anche la sintesi sottrattiva che è quella usata nelle stampanti e in cui sono usati il Ciano (Cyan), il Magenta (Magenta) e il giallo (Yellow).
Questi 3 colori sono detti colori complementari; si dice sintesi sottrattiva perché questi 3 colori sottraggono (tolgono) dalla luce bianca i tre colori fondamentali. Il ciano assorbe il rosso, il magenta assorbe il verde e il giallo assorbe il blu.
Per esempio, una stampante riprodurrà un oggetto rosso mischiando il giallo (che toglie il blu alla luce bianca) e il magenta (che toglie il verde dalla luce bianca).
Nella sintesi sottrattiva c’è anche il nero che non sottrae alcun colore e serve solo per aumentare la densità delle tonalità scure e dei neri dell’immagine.
Con questi 2 sistemi può capitare che possa non esserci una corrispondenza fedele fra l’immagine stampata e quella che vedo sullo schermo.
Per riportare sullo schermo un filmato, e quindi dare all’occhio umano la sensazione del movimento, occorre proiettare un certo numero di immagini con una certa frequenza.
Il numero delle immagini al secondo si misura con il frame rate fps (frame per second).
Con frame rate bassi avremo sfarfallio e sfocatura degli oggetti in movimento
Il sistema visivo umano è in grado di percepire immagini in movimento senza avvertire la sensazione che siano una sequenza se il frame rate è di almeno 25 fps
La rappresentazione digitale di un filmato è pertanto costituita da un certo numero N di immagini disposte in sequenza ordinata.
BIT RATE
Il bit-rate di un segnale video si calcola a partire dal suo frame-rate e dal modo in cui codifichiamo ogni singola immagine.
Consideriamo, ad esempio, che la risoluzione di ogni singola immagine sia 1024×1024 (1 048 576 campioni) e il numero di bit che si utilizza per ogni campione sia 24:
Ogni frame sarà̀ memorizzato utilizzando: 1 048 576 campioni x 24 bit = 25 165 824 bit cioè circa 3 MByte per frame (25165824/8).
Se la durata del video è 3 minuti (180 sec) e il frame-rate è pari a 25 fps, allora l’occupazione di memoria sarà:
Risoluzione 1024×1024 e 24 bit per campione: 25 frame x 180 sec x 3 MByte per frame = 13 500 MB = 13,18 GByte
Otteniamo il bit-rate dividendo la grandezza del file video per la durata del video in secondi e passando da byte a bit:
Risoluzione 1024×1024 e 24 bit per campione: 13,18 GB /180 *8 = 0,58 Gbps = 600 Mbps
Come si vede si tratta di quantità di memoria e di velocità di trasmissione enormi (considerando un film che duri 90 minuti sarebbero oltre 600 Gbyte)
Sono quindi stati elaborati dei formati di memorizzazione video per ridurre l’occupazione di memoria e di conseguenza la bit-rate.
Questi formati si basano su tecniche di compressione.
Ci si é accorti che tra un fotogramma e l’altro ci sono poche differenze e quindi posso trasmettere un fotogramma e le differenze con i successivi risparmiando sulla ripetitività̀ delle informazioni da inviare.
Le tecniche di compressione video possono essere suddivise in tecniche lossless, dove la compressione è un processo perfettamente reversibile che avviene senza perdita di informazione e tecniche lossy dove la compressione non è reversibile, nelle quali video compresso e decompresso non sono più perfettamente identici in quanto al momento della compressione sono state volutamente eliminate alcune informazioni ritenute “sacrificabili”.
Un video è costituito da una successione di immagini che si susseguono in rapida sequenza. Quindi quando si comprime un flusso video si stanno sostanzialmente comprimendo delle immagini.
Si utilizzano tecniche che sfruttano alcune caratteristiche intrinseche del video stesso, in combinazione con le caratteristiche del sistema visivo umano.
In particolare è possibile comprimere un segnale video attaccando:
- la ridondanza spaziale e la ridondanza temporale
- le caratteristiche del sistema visivo umano
- In particolare è possibile comprimere un segnale video:
Rimuovendo la ridondanza (ripetitività) statistica contenuta in un video e mantenendo solo le informazioni effettivamente utili; si cerca di eliminare le “ripetizioni” dalle immagini.
- Si può dimostrare che pixels adiacenti all’interno di una stessa immagine, presentano caratteristiche molto simili per quel che riguarda il colore e la luminosità; la codifica intra-frames si occupa di rimuovere questa ripetitività altresì detta ridondanza spaziale all’interno dello stesso fotogramma.
Esiste inoltre una netta correlazione non solo tra i pixel dello stesso fotogramma, ma anche tra i pixels di fotogrammi adiacenti.
- Un fotogramma ed i due vicini (il successivo ed il precedente) spesso risultano pressoché identici (fanno eccezione le situazioni in cui si hanno cambi di scena); questa ridondanza temporale tra fotogrammi vicini che ne sfrutta le loro minime differenze, viene trattata dalla codifica inter-frames
Sfruttando alcune peculiarità del sistema visivo umano: la scarsa sensibilità dell’occhio alle alte frequenze video soprattutto se si tratta di immagini in movimento.
- – E’ possibile “tagliare” (buttar via), alcune informazioni soprattutto relativamente alle alte frequenze di un’immagine senza introdurre artefatti visibili. Il sistema visivo umano non è infatti in grado di percepire le variazioni nei dettagli di figure molto frastagliate; è molto difficile rendersi conto di una perdita di dettaglio nelle fronde di alcuni alberi in movimento; molto più semplice invece notare anche la più piccola variazione di colore o luminosità nell’azzurro di un cielo limpido e sereno sullo sfondo di un video.
CODEC
Per definire gli standard da utilizzare per codificare il segnale sono stati creati dei gruppi di lavoro.
Il Moving Picture Experts Group, sigla MPEG, è un comitato tecnico congiunto delle organizzazioni internazionali ISO e IEC incaricato di definire standard per la rappresentazione in forma digitale di audio, video e altre tipologie di contenuti multimediali in modo da soddisfare un’ampia varietà di applicazioni.
L’MPEG ha definito i seguenti standard:
- MPEG-1 (1991): È utilizzato nel Video CD, un formato home video con qualità simile a quella del VHS.
- MPEG-2 (1994): È utilizzato nella televisione digitale e nel DVD-Video. Ha una qualità superiore all’MPEG1ma richiede maggiori risorse hardware di elaborazione.
- MPEG-4 (1999): È un’estensione dell’MPEG-1 in grado di gestire flussi audio/video eterogenei, contenuti 3D, flussi video a basso bitrate e diritti digitali. Per la codifica video supporta il formato MPEG-2 oppure un nuovo codec molto efficiente chiamato MPEG-4 AVC.
Gli algoritmi sviluppati dal gruppo MPEG sono tutti algoritmi a perdita di informazione (lossy). La tecnica impiegata è la seguente:
- il flusso video viene campionato, viene ridotto a segmenti;
questi segmenti vengono elaborati per estrarne le informazioni fondamentali; le informazioni vengono codificate con degli algoritmi di compressione lossy. - Il gruppo di standardizzazione non rilascia delle specifiche su come debba essere realizzato il codificatore o il decodificatore MPEG.
- Il gruppo rilascia delle specifiche che indicano come debba essere composto il formato del file MPEG in modo che ogni costruttore possa realizzare il codificatore e il decodificatore come meglio crede pur attenendosi al formato del file definito dal consorzio MPEG.
Il concetto alla base del codec MPEG4 è la quantizzazione ossia quel processo che permette, mediante un apposito algoritmo di compressione, di trasmettere solamente la variazione dell’immagine.
Al momento attuale, esistono due modi per eseguire questa operazione:
- I-frame: Codifica l’immagine senza un riferimento a quella precedente (refresh puro): è più preciso ma più pesante per le applicazioni via rete.
- P-frame4: Codifica solo le zone dell’immagine che sono cambiate rispetto a quella precedente. In altre parole, esegue una compensazione nella variazione del movimento (motion-compensated frames) analizzando, appunto, la differenza di immagine tra due frame consecutivi: la parte uguale nei due frame non viene ritrasmessa.
- Divx e Xvid: sono due codec “speculari” che sono stati sviluppati a cavallo tra il 1998 e il 2001 per soddisfare la domanda di contenuti multimediali online. Entrambi aderiscono allo standard MPEG-4.
- H.264/AVC chiamato anche MPEG-4 Parte 10/AVC – (AVC è l’acronimo di Advanced Video Coding) è uno standard video sviluppato nel 2003 con lo scopo di ottenere una tecnologia di compressione video capace di avere un’elevata qualità dell’immagine con un bit-rate molto inferiore agli standard disponibili in quel momento per consentire la fruizione di video di alta qualità in streaming su diversi tipi di rete; Apple è la prima ad utilizzarlo nel 2005 all’interno di QuickTime.
Lo standard H.264 a parità di qualità d’immagine è in grado di comprimere il flusso video di oltre il 50% rispetto al formato MPEG-2 e del 80% rispetto al formato M-JPEG.
Le principali caratteristiche di questo standard sono:
- riduzione media del bitrate di trasmissione del 50%, a parità di qualità video, rispetto ad altri standard video;
- processo di codifica e decodifica con limitato numero di errori;
- bassa latenza e un migliore qualità in presenza di latenza alta;
- maggiore tolleranza alla perdita di dati e agli errori di trasmissione;
standard aperto, quindi facilmente implementabile in dispositivi e applicazioni;
- Real Video è un codec video proprietario, sviluppato dalla RealNetworks. RealVideo è stato usato inizialmente per servire video streaming attraverso le reti internet ad un basso bit rate verso personal computer.
- High Efficiency Video Coding (HEVC o H.265) è il successore del H264.
HEVC migliora la qualità video, raddoppia il rapporto della compressione dei dati rispetto ad H.264 e supporta l’ultra alta definizione a 8K e risoluzioni maggiori fino a 8192×4320 pixel.
Lo sviluppo delle connessioni verso la banda larga ha permesso in tempi recenti di offrire filmati con una maggior qualità. Inoltre, lo streaming consente di scaricare e vedere filmati di qualsiasi tipo su apparecchi cellulari. Real Video differisce dalle codifiche normali in quanto è un formato proprietario ottimizzato esclusivamente per lo streaming attraverso il protocollo (proprietario) PNA oppure tramite il RealTime Streaming Protocol. Può essere usato per scaricare e vedere video o per uno streaming live.
FORMATO CONTENITORE
Un formato contenitore è un formato di file che può contenere diversi tipi di dati, compressi tramite codec audio/video.
Il file contenitore è usato per identificare e disporre i differenti tipi di dati in maniera non contigua.
I formati contenitori più semplici possono contenere diversi tipi di codec audio, mentre quelli più avanzati arrivano a supportare anche i codec video, sottotitoli e tag metadata.
Alcuni formati contenitore sono progettati esclusivamente per l’audio quali AIFF e WAV altri solo per immagini come TIFF, nelle applicazioni video che si fa ampio uso di formati contenitore.
I formati contenitore attualmente più diffusi per audio/video sono: AVI, WMV, MOV, MP4, MKV (Matroska).
- Avi: Il formato video AVI (abbreviazione di Audio Video Interleave), creato da Microsoft e introdotto nel 1992 come parte della sua tecnologia Video for Windows, è uno dei più vecchi ancora in uso oggi. Poiché è così ampiamente utilizzato, molte persone credono che sia lo standard industriale de facto. La sua infrastruttura di base lo rende semplice da utilizzare su una varietà di sistemi operativi (Windows, macOS, Linux, Android e i browser più popolari), infatti permette di “immagazzinare” flussi elaborati da differenti codec.
- Windows Media Video: WMV, questa è l’estensione del formato video progettato dalla Microsoft per lo streaming video e per l’utilizzo mediante Windows Media Player. Nonostante la Microsoft, con questo tipo di file, dichiari di produrre file di piccole dimensioni, la sua compressione riduce troppo la qualità del video.
- MOV – Apple QuickTime Movie: meglio conosciuto come file MOV, si tratta di un formato video proprietario della Apple. Tutti i dispositivi Apple utilizzano questo formato. Anche se esiste una versione gratuita di QuickTime per Windows, infatti, pochi utenti Microsoft lo conoscono e lo utilizzano per convertire e comprimere i filmati digitali. Il formato Apple QuickTime Movie presenta una superba qualità video ma un basso tasso di compressione, con il risultato di file più grandi del solito e inadatti all’uso sul web.
- MP4: Il successore dell’MP3, conosciuto anche come MPEG-4 Parte 14, è un formato per file audio e video. È stato sviluppato dal Moving Picture Experts Group, che gli ha dato il nome (MPEG sta per Moving Picture Experts Group). Per la compressione video e i codec AAC, utilizza i codec H.264 (o successivi). È un contenitore che può contenere film ad alta definizione, ma ha dimensioni modeste. Infatti, l’MP4 è stato sviluppato per lo streaming e la condivisione su Internet, soppiantando così il FLV nell’utilizzo sul web (grazie anche alla compatibilità con il linguaggio HTML5).
- MKV (o Matroska) indica un contenitore multimediale utilizzato per la condivisione di film e di video in generale. Non è un formato video: esso è semplicemente un contenitore, con cui è possibile abbinare vari tipi di codec audio e video all’interno; i più utilizzati in un MKV sono H.264 per il video e AC3 per l’audio. MKV è di fatto l’erede del contenitore AVI, permette di integrare più tracce audio (in diverse lingue) e di integrare i sottotitoli senza dover utilizzare un file dedicato, rendendolo di fatto il miglior contenitore su cui riversare il contenuto di un DVD.