Esercizio - Domande a risposta aperta (domande ed esercizi del corso)
In questa pagina 3
Teoria: tutte le note del modulo multimedia, in particolare Digitalizzazione dei segnali multimediali - campionamento, quantizzazione e binarizzazioneLa conversione analogico-digitale (ADC) ha tre passi: campionamento $s_c(n)=s(nT_c)$, quantizzazione su $L=2^m$ livelli, binarizzazione dell'indice in $m$ bit; il bit-rate vale $R=F_c\log_2L$. Per il teorema di Shannon un segnale a banda limitata $f_M$ si ricostruisce senza errore se $F_c\ge2f_M$ (criterio di Nyquist), altrimenti c'è aliasing; per questo prima del campionatore c'è un filtro passa-basso. La quantizzazione uniforme di passo $\Delta=\frac{2A}{L}$ è irreversibile, con errore massimo $\frac\Delta2$ e $\mathrm{MSE}=\frac{\Delta^2}{12}$; la qualità si misura con MSE e $\mathrm{PSNR}=10\log_{10}\frac{(2^b-1)^2}{\mathrm{MSE}}$. In ricezione il bit mapper ricostruisce i valori e l'interpolazione con un nucleo $h$ (sample and hold, lineare, cubica, sinc troncato) riporta il segnale al tempo continuo.Digitalizzazione dei segnali multimediali - campionamento, quantizzazione e binarizzazione →, Audio, immagini e video digitali non compressi e spazi di coloreIl parlato (banda 200-3400 Hz) si digitalizza con $F_c=8$ kHz e 8 bit per campione: 64 kbit/s (PCM, pacchetti di 20 ms = 160 campioni = 160 byte). La musica (banda fino a 20 kHz) con $F_c=44{,}1$ kHz, 16 bit, 2 canali: 1,411 Mbit/s. Un'immagine a colori RGB ha 3 canali da 8 bit (24 bit per pixel); nello spazio YCbCr, ottenuto con una rotazione dello spazio colore, l'occhio è molto meno sensibile alla crominanza e si scartano 3 campioni su 4 di Cb e Cr (4:2:0), dimezzando i dati: $1{,}5\cdot H\cdot W$ campioni per immagine. Un video non compresso costa $H,W,1{,}5,b,f$ bit/s (1080p a 50 Hz: 1,244 Gbit/s, 4K: 5,3 Gbit/s): serve la compressione.Audio, immagini e video digitali non compressi e spazi di colore →, Codifica della voceIl parlato è localmente stazionario su circa 20 ms e comprende suoni vocali (pseudo-periodici, con pitch) e non vocali (simili a rumore). Si codifica in tre modi: a forma d'onda (PCM, G.711: 64 kbit/s, qualità alta), con vocoder (modellano la produzione della voce, 2,4 kbit/s o meno, voce innaturale) e ibridi (parametri del modello più codifica del residuo: G.729 a 8 kbit/s, GSM a 13, AMR-WB 6,6-23,85, Opus 6-510 kbit/s). Nel vocoder LPC10 ogni 20 ms (160 campioni) si trasmettono 10 coefficienti del filtro di predizione (36 bit), un bit voiced/unvoiced, potenza (6 bit) e, se vocale, il pitch (7 bit): 2500 o 2150 bit/s. Contano anche latenza, resilienza agli errori (FEC) e soppressione del silenzio (VAD).Codifica della voce →, Codifica lossless - entropia, Huffman e codifiche a dizionarioLa codifica lossless rappresenta i simboli di una sorgente con parole di codice a lunghezza variabile in modo invertibile; si usano codici a prefisso (istantanei). L'entropia $H(X)=\sum p_i\log_2\frac1{p_i}$ è il limite: $H(X)\le\mathcal L^*<H(X)+1$ (Shannon), con uguaglianza se le probabilità sono potenze di 1/2. Il codice di Huffman è ottimo ma lascia fino a 1 bit di overhead per simbolo; raggruppando $K$ simboli (codifica a blocchi) si tende al tasso entropico $\mathcal H(X)\le H(X)$, ma la complessità cresce come $M^K$; la codifica aritmetica ($\mathcal L<H+2$ per messaggio) ha complessità lineare. Altre tecniche: dizionario (LZ, DEFLATE di ZIP e PNG, ANS in Zstandard), Exp-Golomb e categoria/ampiezza (usati in JPEG e nei codec video) per interi con probabilità decrescente col modulo, codifica predittiva (si codifica l'errore di predizione, che ha entropia molto più bassa).Codifica lossless - entropia, Huffman e codifiche a dizionario → e Compressione di immagini - DCT e standard JPEGPer comprimere con perdita non basta quantizzare i pixel (non sono sparsi): si applica una trasformata lineare ortogonale che concentra l'energia in pochi coefficienti, si quantizzano i coefficienti e si codificano senza perdita. Le trasformate ortogonali conservano l'MSE ($\frac1N|\mathbf x-\tilde{\mathbf x}|^2=\frac1N|\mathbf y-\tilde{\mathbf y}|^2$). JPEG baseline: si sottrae 128, si divide in blocchi $8\times8$, DCT 2D ($Y=AXA^T$), quantizzazione uniforme con tabella (passi piccoli a bassa frequenza, scalata da un fattore di qualità $Q$), zig-zag scan, DC codificato in modo differenziale con categoria/ampiezza, AC con coppie (run, categoria) e simbolo EOB, codici di Huffman non standardizzati scritti nel file. Esempio completo: un blocco da 512 bit diventa 49 bit (0,766 bit/pixel).Compressione di immagini - DCT e standard JPEG →. Fonte: domande a risposta aperta del corso di Reti di Calcolatori, Ing. Informatica UniPD 2025-26 (le prime cinque, con i testi del PDF); le altre sono costruite nello stesso stile. Le domande aperte valgono fino a 5 punti: si valuta che siano presenti i concetti chiave, il perché e (dove serve) la formula. Sotto ogni domanda: lo schema di risposta con i punti che fanno punteggio.
Le cinque domande del PDF
1. Spiegare in base a quale principio si determina la frequenza di campionamento di un segnale, qual è lo scopo del metodo utilizzato e come sia possibile assicurarsi in pratica il rispetto del principio identificato.
Schema. (i) Principio: si individua l'occupazione di banda del segnale e si sceglie almeno doppia della frequenza massima, (criterio di Nyquist, teorema di Shannon). (ii) Scopo: poter ricostruire il segnale dai suoi campioni senza errore, evitando l'aliasing (con le repliche dello spettro si sovrappongono e le frequenze alte si confondono con le basse, in modo irreversibile). (iii) In pratica: nessun segnale è a banda rigorosamente limitata, quindi si applica un filtro passa-basso anti-aliasing prima del campionatore, con frequenza di taglio (e si prende leggermente sopra , per esempio 44,1 kHz per la musica con banda a 20 kHz, 8 kHz per il parlato con banda 3,4 kHz).
2. Qual è lo scopo della trasformazione da RGB a YCbCr?
Schema. Ottenere una rappresentazione sparsa del segnale (percettivamente): la luminanza è importante, le crominanze e lo sono molto meno perché l'occhio è meno sensibile al colore che alla luminosità. Questo consente la decimazione (sottocampionamento 4:2:0: si scartano 3 campioni su 4 di crominanza) e quindi la riduzione dei bit (da a campioni, dimezzamento) con un impatto non eccessivo sulla qualità percepita. In ricezione si interpola (ordine zero) e si torna a RGB. In RGB invece i tre canali sono correlati e ugualmente importanti: non si può scartarne nessuno.
3. Qual è l'intuizione che consente di ridurre il bit-rate per la trasmissione del segnale vocale in sistemi basati su vocoder?
Schema. Non si rappresenta la forma d'onda ma si modella come il suono è prodotto dall'uomo. In codifica si definisce un filtro invertibile (predizione lineare, LPC) che predice il segnale vocale; l'errore di predizione (residuo) è quasi rumore e se ne trasmettono solo i parametri (bianco o con pitch, potenza, pitch). In decodifica questi parametri generano un segnale di eccitazione (rumore bianco o treno di impulsi) che, filtrato con l'inverso del filtro di predizione, sintetizza il parlato. Si trasmettono quindi solo i coefficienti del filtro e i parametri dell'eccitazione (esempio LPC10: 2,4 kbit/s contro 64 del PCM).
4. Qual è il concetto dietro l'idea della codifica a blocchi?
Schema. L'overhead dei codici a prefisso (, fino a 1 bit di spreco per simbolo) viene ripartito su tutti gli elementi del blocco di simboli: per simbolo diventa e la lunghezza per simbolo si avvicina all'entropia. In più, quando i simboli non sono indipendenti (per esempio le luminanze di pixel vicini) il blocco sfrutta la correlazione e l'entropia per simbolo scende, tendendo al tasso entropico : ulteriore riduzione della lunghezza ottima. Costo: l'alfabeto cresce come (Huffman diventa impraticabile): per questo la codifica aritmetica.
5. Perché nella codifica JPEG le matrici di quantizzazione hanno tipicamente valori più piccoli nel quadrante in alto a sinistra e via via crescenti verso il quadrante in basso a destra?
Schema. La maggior parte dell'informazione di un'immagine sta alle basse e medie frequenze (energia concentrata dalla DCT in alto a sinistra) e l'occhio è più sensibile a quelle frequenze. Quindi si usa una quantizzazione più fine (passo piccolo) per i coefficienti DCT di bassa e media frequenza (alto a sinistra) e più grossolana (passo grande, molti indici nulli) per le alte frequenze (basso a destra), dove un errore si vede poco e i coefficienti sono già piccoli. Le tabelle sono derivate da test soggettivi di qualità percepita e vengono scalate con un fattore di qualità.
Altre domande nello stile del corso (costruite)
6. Che differenza c'è tra bit-rate, throughput e goodput? Quali relazioni valgono tra loro? Schema. Tutte velocità di trasferimento, cambia il livello: bit-rate = velocità nominale del link fisico; throughput = velocità effettiva osservata a un livello (2-4), in bit/s o pacchetti/s; goodput = throughput di lungo termine a livello applicazione (dati utili). Bit-rate throughput goodput perché gli header occupano capacità (efficienza ), il link può essere condiviso o congestionato, i protocolli impongono attese. Esempio: PDU APP 1200 B, PHY 1260 B, Mbit/s goodput kbit/s.
7. Che cos'è il playout buffer e come varia nel tempo? Schema. = secondi di video ricevuti e non riprodotti (non bit); assorbe jitter e variazioni di throughput. Con costante in un intervallo: in stallo o buffering iniziale ; in riproduzione . Si riempie se , si svuota se ; a c'è stallo (rebuffering) e la riproduzione riparte dopo segmenti; all'avvio si attendono segmenti. Modello lineare a tratti.
8. Perché il video on demand su Internet usa HTTP (DASH o HLS) e non protocolli come RTP/RTSP? Schema. Non è interattivo, quindi conta la continuità, non la latenza minima; HTTP è stateless e pull (il client sceglie qualità e ritmo), attraversa NAT e firewall (porte 80/443), tratta i segmenti come file normali che le cache e le CDN distribuiscono con scalabilità e costi bassi; il livello è scelto dal client in base a throughput e buffer (adattamento ABR). RTSP/RTMP sono stateful e push, su porte non standard o UDP spesso bloccati, difficili da scalare.
9. Spiegare il block-matching e perché si aggiunge il termine di regolarizzazione. Schema. Per ogni blocco dell'immagine corrente si cerca nell'immagine di riferimento, in una finestra, il blocco più simile (misura SAD o SSD): lo spostamento è il vettore di movimento; la compensazione costruisce la predizione e si codifica l'errore (sparso). Il costo include il costo di codifica del vettore: vettori regolari costano meno, la qualità della predizione peggiora di poco (nelle demo dB e dei bit per i vettori).
10. Descrivere come JPEG codifica un blocco dopo la quantizzazione. Schema. Zig-zag (porta le basse frequenze all'inizio e lascia in coda gli zeri); il DC (primo coefficiente) è codificato in differenza rispetto al DC del blocco precedente, con categoria (codice a prefisso) e ampiezza su bit (complemento se negativo); gli AC sono codificati come coppie (run di zeri, categoria) con codice di Huffman più l'ampiezza; ZRL per run di 16 zeri; EOB quando restano solo zeri; le tabelle di Huffman stanno nel file.
11. Differenza tra QoS e QoE e come si misura la QoE. Schema. QoS: caratteristiche tecniche del servizio misurabili in rete (throughput, ritardo, jitter, perdite, disponibilità); QoE: gradimento o fastidio dell'utente, dipende da applicazione, risorse, contesto e utente (ARCU); QoS adeguata è necessaria, non sufficiente. Misura soggettiva: MOS (media dei voti, scala ACR 1-5; DCR; confronto a coppie) con intervallo di confidenza ; oggettiva: MSE, PSNR, SSIM, VMAF; per lo streaming conta anche la dinamica (stalli, variazioni di qualità, buffering iniziale) con .
Errori tipici
- Elencare termini senza il perché (per esempio "serve il filtro" senza dire che evita l'aliasing).
- Dimenticare la formula o la condizione quantitativa (, , ).
- Rispondere a un'altra domanda (descrivere il video quando si chiede il JPEG).
- Non distinguere ciò che si fa in codifica da ciò che si fa in decodifica.
Versione ripasso
Come si risponde. Punti chiave + perché + formula (fino a 5 punti).
- Campionamento: (Nyquist, Shannon) per ricostruire senza errore ed evitare l'aliasing (repliche dello spettro sovrapposte); in pratica filtro passa-basso anti-aliasing con taglio prima del campionatore ( poco sopra : 44,1 kHz musica, 8 kHz parlato).
- RGB YCbCr: rappresentazione sparsa percettivamente ( importante, e meno); si decimano le crominanze (4:2:0: da a ) con poco impatto sulla qualità; in ricezione interpolazione e ritorno a RGB.
- Vocoder: si modella la produzione della voce, non la forma d'onda; filtro di predizione invertibile (LPC), residuo quasi rumore, si trasmettono coefficienti e parametri dell'eccitazione (rumore bianco o treno di impulsi); il decoder sintetizza (LPC10: 2,4 kbit/s contro 64).
- Codifica a blocchi: l'overhead ( bit per simbolo) si ripartisce sul blocco () e si sfrutta la correlazione (); costo , quindi aritmetica.
- Quantizzazione JPEG: informazione e sensibilità alle basse e medie frequenze passi piccoli in alto a sinistra, grandi in basso a destra (errori poco visibili, coefficienti piccoli).
Altre (costruite). 6. Bit-rate (PHY, nominale) throughput (livello 2-4) goodput (APP, lungo termine) per header (), condivisione, attese. 7. Playout buffer: secondi di video; in stallo, in riproduzione; stallo a , ripresa con segmenti, avvio con . 8. VoD su HTTP: continuità, stateless e pull, NAT e firewall, cache e CDN, scelta del livello dal client (ABR); RTSP/RTMP stateful, push, difficili da scalare. 9. Block-matching: blocco più simile in una finestra (SAD o SSD), vettore, compensazione, errore sparso; : vettori regolari più economici, qualità quasi invariata ( dB, bit). 10. JPEG dopo : zig-zag; DC in differenza (categoria e ampiezza); AC + ampiezza, ZRL, EOB; tabelle di Huffman nel file. 11. QoS (parametri di rete) contro QoE (gradimento, ARCU); MOS e intervallo di confidenza, MSE, PSNR, SSIM, VMAF; per lo streaming con stalli, variazioni e avvio.
Errori tipici: niente "perché"; niente formula; rispondere a un'altra domanda; confondere codifica e decodifica.
Teoria: Servizi multimediali e loro requisitiUn servizio multimediale trasporta uno o più media (testo, suono, immagini, video) come segnali digitali. Si classifica in streaming (si consuma mentre arriva, serve un playout buffer) e bulk transfer (si usa solo a file completo); poi in stored, live e real-time (ritardo sotto 150 ms) e in interattivo o no. I requisiti si esprimono con bit-rate, latenza, jitter, tasso d'errore, complessità e fedeltà: ogni servizio pesa questi parametri in modo diverso (il video in streaming vuole poco jitter e tollera errori, un file vuole zero errori e tollera latenza). Aumentare solo il bit-rate non basta.Servizi multimediali e loro requisiti →, Streaming adattativo e DASHPer non stallare serve $R_C\le S$ (tasso di codifica non superiore al throughput), ma $R_C$ si controlla e $S$ no. Se $S<R_C$ la latenza cresce, i buffer dei router si riempiono e si perdono pacchetti; né il drop brutale né il transcoding in rete sono praticabili, la scalabilità (SVC) è parziale. La soluzione dominante è lo streaming adattativo (ABR) tirato dal client su HTTP: il video è diviso in $N$ segmenti da $T_S$ secondi, ciascuno in $K$ livelli di bit-rate $R_C(k)$ descritti nell'MPD; il client sceglie il livello $q(n)$ di ogni segmento con $T_D=\frac{T_SR_C(q)}{S_n}$. Il playout buffer $B(t)$ (in secondi di video) segue $B'=\frac S{R_C}$ durante lo stallo e $B'=\frac S{R_C}-1$ durante la riproduzione; si parte dopo $L$ segmenti e dopo uno stallo si riprende con $M$ nuovi segmenti. La QoE si modella con $J=\sum_n\lambda_1k_n-\lambda_2\lvert k_n-k_{n-1}\rvert-\phi(\Delta_n)-\lambda_3T_{ST}$. Gli algoritmi ABR sono basati su throughput, buffer o ibridi; MPEG-DASH standardizza MPD e segmenti, non il client.Streaming adattativo e DASH →.