Laboratorio di dati e sistemi multimediali 14/03/2019
Technology evolving scenario
TV society = la televisione eroga contenuti e il pubblico è passivo. Accesso limitato nello spazio e nel tempo dei contenuti e della scelta. In gruppo davanti alla televisione.
PC society = strumento tecnologico con il quale si interagisce e si controlla l’evoluzione dell’attività che si sta facendo; inizialmente il pc era supporto di attività produttive. È presente un atteggiamento di controllo della persona sull’apparato tecnologico e sui comandi. Pubblico attivo ed interattivo UOMO - MACCHINA.
Hyperkids = gestione degli hyperlinks, DNA nel web; la tecnologia mette in comunicazione e fa interagire le persone. Ruolo attivo PERSONA – PERSONA – MACCHINA.
- Da statico a dinamico
- Da fisso a mobile
- Da grande a piccolo
- Da locale a globale
- Da “qualche volta” a “sempre”
- Da divergenza a convergenza
Enjoyment future
Per supportare la personalizzazione nulla, la comunicazione viene detta di tipo broadcast (io immetto in un canale di comunicazione i miei dati e chiunque abbia un dispositivo ricevente può acquisire i miei contenuti e fruirne, es. televisione, radio, ecc.).
Man mano che si avanza con la personalizzazione si passa a video on Demand, Interactive TV (mi consente di vedere all’interno della trasmissione diversi sottocanali, es. nelle trasmissioni sportive posso scegliere quale videocamera seguire).
Proseguendo la comunicazione diventa di tipo Unicast, ovvero comunicazione “uno a uno” e non più broadcast (Personal Advertising = pubblicità personalizzata, Personal Communication, Personal Channels My Own TV = TV e canali personalizzati).
Convergence
Convergenza 4 A:
- Any TIME connection: giorno e notte, in casa e fuori, in movimento (treno, autobus, ecc.)
- Any WHERE connection: in movimento, fuori e dentro casa (anche lontano dal pc), al pc
- Any THING connection: fra pc, da uomo a uomo, da oggetto a oggetto, da uomo a oggetto
- By Anyone
Media convergence
Triple play: data, video e voice vengono integrati.
Network convergence
Services-consumer convergence
Player che eroga tutti i media di cui abbiamo bisogno = convergenza di servizi e convergenza del device che si utilizza per fruire dei servizi (unico supporto per tutti i servizi, es telefono, computer, MP3).
Fino a poco tempo fa la tecnologia evolveva attraverso delle scoperte, proposte di nuovi devices e percorsi di intrattenimento dei media (la società cambia) La tecnologia ha guidato l’evoluzione della società.
User evolution
Un’altra evoluzione è quella del tipo di contenuti e all’accesso della creazione della fruizione di essi.
Future trends
Il triple play ha modificato significativamente l’esperienza degli utenti, perché ha aumentato la voglia di creare community online. Gli utenti saranno i principali creator dei contenuti multimediali e avranno accesso ad essi ovunque, in qualsiasi momento e su ogni tipo di supporto. L’utente non sarà un semplice ricevitore dei media, ma è una componente attiva e quindi li ricerca.
18/03/2019 MATLAB
Un’alternativa a MatLab è Octave.
; = silenzia l’output di questo comando -> se non metto il ; visualizza il comando.
Vr=[1,2,3,4,5] vettore orizzontale.
Vr=[1;2;3;4;5;] vettore verticale.
Laboratorio di dati e sistemi multimediali
Vettore = insieme di valori.
La classe esprime il tipo di dato utilizzato da ogni singolo elemento.
I numeri con la virgola fanno parte della classe double.
- Per cercare una funzione digitare >>lookfor keyword
- Per ottenere la sintassi di una funzione >>help funzione -> contiene la modalità di chiamata e fornisce un testo che specifica a cosa serve quella funzione (inserito dal programmatore)
- Per eseguire il sistema di help >>helpdesk
- I nomi delle variabili sono case sensitive;
- I nomi delle variabili possono contenere fino a 63 caratteri;
- I nomi delle variabili devono iniziare con una lettera seguita da lettere, cifre, underscore.
- Creare un vettore ad intervalli costanti >>x=0:0.5:pi (da 0 a pi greco con un intervallo di 0,5)
x = 0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000
Quando separo due cifre con i due punti vado a specificare un intervallo (es 0:0.5).
- Creare un vettore con n intervalli costanti >>x=linspace(0,pi,7) (da 0 a pi greco suddividendo in 7 parti)
x= 0 0.5236 1.0472 1.5708 2.0944 2.6180 3.1416
- Creare un vettore con intervalli logaritmici >>x=logspace(-1,3,7)
x = 1.0e+03* 0.0001 0.0005 0.0022 0.0100 0.0464 0.2154 1.0000
- Una matrice può essere creata in MATLAB nel seguente modo: >>M=[1,2,3;4,5,6]
M = 1 2 3 Gli elementi delle colonne devono essere dello stesso numero 4 5 6
- Per creare matrici speciali di dimensioni predefinite
>>Z=zero(m,n); m=righe n=colonne di elementi 0
>>O=ones(m,n); m=righe n=colonne di elementi 1
>>I=eye(m); matrice di entità con tutti 0 tranne la diagonale che è fatta di 1
- Per conoscere le dimensioni di un vettore o di una matrice si usa la funzione size() nel seguente modo
>> A=ones(3,4)
>>size(a)
ans= 3 4
- Per recuperare una delle due dimensioni
>>size(A,1) per sapere il numero di righe
>>size(A,2) per sapere il numero delle colonne
Il comando length restituisce il valore maggiore.
>>length(A) ritorna il numero di elementi di un vettore.
- Si possono estrarre parti di matrici specificando i range delle colonne e righe da utilizzare per l’estrazione >>SM=M(r1:r2,c1:c2);
- Per estrarre un vettore colonna non si specificano i limiti delle righe >>Vc=M(:,k);
- Per estrarre un vettore riga non si specificano i limiti delle colonne >>Vr=M(j,:);
- L’operatore di trasposta è ‘. Utile per trasformare vettori riga in vettori colonna e viceversa
>>Vr=(:,k)’; trasformare le righe in colonne e viceversa (vengono scambiate)
147 123
258 456
369 789
Se il numero di righe e colonne non combacia si modifica la forma della matrice.
M = [1,2,3,4,5;6,7,8,9,10;11,12,13,14,15]
Laboratorio di dati e sistemi multimediali
M =1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
M(:,[1,2,4]) -> prendo in considerazione i valori che hanno quell’indice
ans =1 2 4
6 7 9
11 12 14
Operazioni su matrici operatori
- ^ -> esponente
- == Uguale a
- * -> Moltiplicazione
- ~= Non uguale a
- / -> Divisione
- < Strettamente minore
- \ -> Divisione sinistra A\B=Inv(A)*B
- > Strettamente maggiore
- + -> Addizione
- <=Minore o uguale a
- - ->Sottrazione
- >=Maggiore o uguale a
- [] -> Cancellazione elemento a=[ 5 4 3 2 1 ]; a(2)=[] -> [5,3,2,1]
- & Operatore AND logico
- .^ -> esponente elemento per elemento
- | Operatore OR logico
- .* -> Moltiplicazione elemento per elemento
- ./ -> Divisione elemento per elemento
Moltiplicazione tra matrici = righe x colonne.
Controllo di flusso sintassi ciclo for
Sintassi del comando if.
- If
- For For i = vettore_indice If(Condizione1)
- While Matlab code Matlab code 1
- Break end elseif(Condizione2) Matlab code 2
Sintassi ciclo while esempi
elseif(Condizione3)
Matlab code 3
while (condizione) For i=1:10
else
Matlab Code Matlab code Matlab code viene ripetuto
Matlab code 4
end end 10 volte
end
Image processing in MATLAB
- Per leggere un immagine usare il comando >>Img =imread(‘path /filename’);
- Per estrarre un canale da un’immagine >>r=Img(:,:,1); >>g=Img(:,:,2); >>b=Img(:,:,3);
- Ricostruire un immagine dai suoi tre canali >>img =cat(3,r,g,b);
- Per fare il flip orizzontale di un’immagine >>ImgH =Img(end: -1:1,:,:);
Laboratorio di dati e sistemi multimediali
Grafici
- Per creare dei grafici bidimensionali si può usare la funzione >>plot(x,y);
- Plot prende in input due vettori di dimensione uguale dove il vettore x rappresenta la variabile indipendente ed il vettore y la variabile dipendente
Immagini in MATLAB
>>x=-2:0.01:2;
- Il minimo della riga k-esima del piano di colore 1
>>y=sin(x); >>img=imread(‘lena.jpg’); >>mymin(img(k,:,1))
>>plot(x,y);
- Calcolare Il minimo della riga k-esima del piano di colore 2
>>plot(x,y,’go’); colore 2
- Calcolare il minimo della colonna k-esima del piano di colore 1
>>plot(x,y,’r+’); del piano di colore 1
Funzioni in MATLAB
- Il minimo del piano di colore 1 dell’immagine
- Per creare una nuova funzione MATLAB basta creare un file di testo con >>nrows=size(img,1); estensione .m e nome uguale a quello pensato per la funzione >>min=mymin(img(1,:,1));
- La prima riga del file deve specificare la funzione con gli argomenti di ingresso >>for k=2:nrows e di uscita function [param1,param2,…]=Nome_fun(param1,param2) >>temp=mymin(img(k,:,1));
- Le linee di commento che seguono il nome della funzione vengono usate per >>if temp>min=temp; essere visualizzate mediante il comando help >>end
- Esempio di una funzione per calcolare il minimo valore di un vettore >>endfunction [out]=min(in)
a=size(in,2);
out=in(1);
for k=2 : a
if in(k)<out
out=in(k);
end
end
Il file .m di solito specifica un file di matlab (file di testo).
25/03/2019 Dati multimediali e segnali multidimensionali
Un sistema multimediale si basa sulla rappresentazione, memorizzazione, recupero e diffusione di informazioni “machine-processable” (espresse mediante diversi media) -> Testo, Audio, Immagini, Video, Grafica 2D e 3D, Animazioni, Augmented Reality, Mappe…
Combinazione lineare: insieme di valori che devono sommarsi all’interno di un determinato range e avere come risultato 1.
Colori RGB
03 verde
06 rosso
01 blu
Comunicazione multimediale
La disponibilità di servizi di comunicazione multimediale sta crescendo sempre più e nuove applicazioni possono essere create grazie a:
- Dispositivi di memorizzazione
- Unità di elaborazione
- Reti ad alta velocità
La disponibilità di servizi di comunicazione multimediale sta crescendo sempre più e nuove applicazioni possono essere create grazie a dispositivi di memorizzazione, unità di elaborazione e reti ad alta velocità.
È importante distinguere tra sistema multimediale da quello che comunemente viene spesso indicato come insieme di contenuti mediali multipli (multiplemedia).
Multiplemedia: contenuti differenti integrati all’interno di una stessa locazione (image, e-mail, voice-mail, video-mail, etc…)
Multimedia: uso contemporaneo ed interattivo di testo, immagini, video e audio. Un oggetto è considerato multimediale se comprende almeno due diverse informazioni.
Lineare: il contenuto multimediale progredisce senza alcun tipo di intervento o controllo da parte del fruitore (Cinema).
Non Lineare: i contenuti non lineari offrono interattività per controllare il progredire della fruizione (Video giochi o video tutorial)
Laboratorio di dati e sistemi multimediali
I contenuti multimediali possono essere trasmessi o fruiti localmente. Giochi Multimediali possono essere eseguiti in locale oppure on-line con più utenti.
- I dati multimediali sono computabili: Esistono dispositivi in grado di creare una rappresentazione numerica dei dati multimediali
- I dati multimediali assumono rappresentazioni digitali
- Sintesi: digitale -> analogico
- Analisi: analogico -> digitale
Comunicazione multimediale in rete
Quando i contenuti multimediali vengono condivisi o distribuiti attraverso la rete si parla di comunicazione multimediale. Qualsiasi comunicazione che necessita di essere trasportata attraverso la rete è vincolata alle limitazioni del mezzo di trasporto (banda, tempo di ritardo, etc.). Si crea un legame diretto tra informazione multimediale e mezzo di trasporto (rete internet nella maggior parte dei casi) per poter definire i termini della comunicazione.
Quality of service
Nelle applicazioni multimediali di rete, diverse entità cooperano per fornire una garanzia che all’utente vengano presentati i dati in tempo reale. In generale, questi requisiti vengono spesso indicati con il termine Quality of Service (QoS). QoS è definito come l’insieme di parametri che stabiliscono le proprietà degli stream multimediali.
Si distinguono quattro livelli di Qos:
- Utente – Requisiti di percezione
- Applicazione – Requisiti applicazione (qualità, temporizzazioni)
- Sistema – Requisiti dei servizi di comunicazione
- Quantitativi: bps, processing time
- Qualitativi: multicast, interstream sync, error recovery, etc…
- Rete – Requisiti di rete (carico, prestazioni)
Modello per la CM
È un modello strutturato su cinque livelli: (1) Suddivisione di informazioni complesse in tipi distinti di informazioni per consentire una più facile comunicazione, salvataggio ed elaborazione.
(2) Standardizzazione dei servizi relativamente ai tipi di informazione – livelli qualità per ogni tipo.
(3) Creazione di piattaforme su due livelli:
- Servizio di rete – maschera agli sviluppatori le caratteristiche dei metodi di trasporto e della topologia della rete
- Comunicazione – fornisce supporto in base alle strutture dell’informazione e sullo scambio delle stesse
(4) Definizione generale di applicazioni per un utilizzo in diversi contesti e modi.
(5) Specifica delle applicazioni.
Architettura di un sistema di CM
I sistemi multimediali generalmente presentano due modalità:
- Comunicazione persona-persona
- Comunicazione macchina-persona
Laboratorio di dati e sistemi multimediali
Requisiti utente
(1) Velocità di trasmissione e presentazione dati
(2) Controllo dinamico delle applicazioni
(3) Supporto intelligente per l’utente (HCI)
(4) Standardizzazione
28/03/2019 I dati multimediali
Documenti
I principali documenti elettronici si dividono in due categorie:
- FILE DI TESTO
- FILE BINARI
Si parla di formati dei file per indicare l’associazione tra un documento elettronico ed il software (programma applicativo) che l'ha generato.
Un file di testo c