Reti per la Comunicazione...

Preview:

Citation preview

Reti per la Comunicazione Multimediale

Compressione Audio e Video

Outline

Compressione Audio– PCM,DPCM,ADPCM,MPEG-4 Audio Coder,DOlby

Audio Coders

Compressione Video– Principi di compressione– H.261,H.263,MPEG

Compressione Audio

Per poter comprendere le tecniche di compressione audio è necessario analizzare le tecniche di digitalizzazione dei segnali stessi.

Tale processo è noto con il nome di:

Pulse Code Modulation PCM

Pulse Code Modulation PCM

Bandlimiting – rimuove alte frequenze

S&H – campiona e mantieni valore

Quntizer – converte ogni campione in valore binario

Codeword – risultato della quantizzazione

Pulse Code Modulation PCM

Compressor- Expander

Non si usa una quantizzazione lineare, ma intervalli minori vengono utilizzati per ampiezze minori e maggiori per quelle elevate.

Eseguito mediante quello che viene definito companding

Pulse Code Modulation PCM (3)

Prima del campionamento eseguito dall’ADC il segnale viene compresso dal compressore che esegue una compressione in ampiezza

Differential Pulse Code Modulation

Deriva dallo standard PCM e utilizza le seguenti caratteristiche:

L’intervallo delle differenze in ampiezza tra due campioni successivi del segnale audio è minore dell’ampiezza attuale del segnale

Possiamo codificare la differenza in ampiezza tra un campione ed il successivo:

minore range da quantizzare ->minore numero di bit da associare ad ogni campione

Differential Pulse Code Modulation- Cod

Tipicamente per segnali vocali il guadagno che si ottiene risulta essere di un solo bit portando quindi la banda utilizzata da 64kbps a 56kbps.

Differential Pulse Code Modulation -Dec

Errori di quantizzazione e di registrazione vengono propagati in modo adittivo sul segnale di uscita ->Gli errori si accumulano.

Predictive DPCM

Predizione del segnale precedente mediante combinazione lineare dei segnali antecedenti

DPCM=PCM-(C1*R1+C2*R2+C3*R3)

Predictive DPCM

C1=0.5 C2=C3=0.25R1->1 bitR2,R3->2 bit

Adaptive Differential PCM

Ulteriore risparmio di banda o maggior qualità del

segnale può essere ottenuta variando il numero di bit

utilizzati per codificare la differenza in base all’ampiezza

del segnale

Adaptive Differential PCM

Si basa sulla stessa idea del DPCM tranne che:Si usano 8 predictor Si variano i bit per codificare ogni variazione

ITU-T G.721

Adaptive Differential PCM

ITU-T G.722

Subband codingEstensione della banda da 3.4KHz a 7KHzUtile per videoconferenza

Adaptive Differential PCM

Adaptive Predicting Coding APC

Ulteriore banda può essere risparmiata variando i coefficienti di predizione in modo adattivo.

Adaptive Predicting Coding

L’insieme dei coefficienti ottimale varia continuamente in quanto funzione delle caratteristiche dell’audio digitalizzato

Frequenze che compongono il segnale attualmente digitalizzato

Linear Predictive Coding

La sorgente analizza la forma d’onda per

determinare le caratteristiche in essa contenute.

Queste vengono codificate e spedite al destinatario

che le usa, assieme ad un sintetizzatore, per

rigenerare l’audio originale.

Come individuare le caratteristiche percettive?

Linear Predictive Coding

• Pitch: legato alla frequenza del segnale -> orecchio molto sensibile alle frequenze 2-5KHz

• Periodo: durata del segnale

• Potenza: quantità di energia nel segnale

Inoltre l’origine del segnale è importante:

Segnali Voiced:generati attraverso le corde vocali (m,v,l)

Segnali Unvoiced:generati con le corde vocali aperte (f,s)

Linear Predictive Coding

Linear Predictive Coding

Codifica Percettiva

I codificatori percettivi sono stati sviluppati per comprimere fonti audio generiche. Essi utilizzano dei modelli che vengono definiti

MODELLI PSICOACUSTICI

utilizzano le limitazioni dell’orecchio umano per fornire la compressione.

Solo ciò che l’orecchio umano percepisce viene codificato e trasmesso.

Sensività Orecchio Umano

Maschera in Frequenza: un segnale forte riduce il livello di sensività dell’orecchio relativamente ai segnali vicini in frequenzaMaschera temporale: quando l’orecchio ascolta un suono forte prima di poter percepire un suono debole intercorre un periodo di tempo finito.

Maschera in Frequenza

La maggior ampiezza del segnale B causa una distorsione della sensibilità che impedisce di percepire A

Variabile con la frequenza

Frequenze maggiori -> maggiori ampiezze delle curve

Maschera Temporale

Da quando è terminata la trasmissione del segnale a quando l’orecchio può recuperare la sua sensibilità intercorre del tempo. Segnali che hanno ampiezza inferiore del decadimento non vengono percepiti.

Codifica Audio MPEG

Il Motion Picture Expert Group (MPEG) venne

istituito dall’ISO per formulare un insieme di

standard per le applicazioni multimediali che

coinvolgono video ed audio.

La parte di codifica audio di questi standard

sono conosciuti come

MPEG audio coder

Codifica Audio MPEG

Decodifica Audio MPEG

ISO Recommendation 11172-3:Layer 1 Cassetta audio HI-FI 192kbpsLayer 2 Audio digitale vicino a qualità CD 192kbpsLayer 3 (MP3) CD-Audio 64kbps

Bit Allocation

Accuratezza di quantizzazione può variare quindi il numero di bit associati ad ogni sottobanda è diverso e quindi spedito assieme ai campioni.

Modello psico-acustico solo nel codificatoreSpreco di banda per inviare informazioni sul bit allocation

Forward adaptive bit allocation

Dolby Audio Coders -1

Stesso numero di bit utilizzati per ogni sottobanda:

•Determinati dalla caratteristiche dell’orecchio umano

•Non serve includere info nel frame

Sviluppato per trasmettere programmi FM su canali satellitari e fornire audio ai programmi televisivi

Dolby Audio Coders –2

Allocazione dinamica dei bit per ogni sottobanda.

Per ridurre gli overhead si introduce il modello psicoacustico anche nel decodificatore.

Necessita di una copia dei campioni delle sottobande:I coefficienti delle frequenze codificate vengono aggiunti ai campioni.

Utilizzato dai PC per produrre HI-FI quality audioDifficile cambiare modello psicoacustico

Backward adaptative bit allocation mode

Dolby Audio Coders –3

Per ridurre gli errori di quantizzazione al modello psicoacustico di tipo backward è associato un modello psicoacustico di tipo forward che mediante l’allocazione dinamica codifica le differenze tra PMb e PMf.

Utilizzato nell’audio MPEG per l’utilizzo nell’HDTV

Compressione Video

Principi di Compressione Video

Primo approccio: sequenza di JPEG-> MJPEGRapporto compressione 1:10/1:20

Ridondanza spaziale ->Ridondanza Temporale : tra frame consecutivi solo piccole porzioni sono coinvolte dal movimento

Spedire informazioni di tali movimenti -> Risparmio di banda

Motion Estimation Motion Compensation

Tipi di Frame

I-Frames: Intracoded frames, YCbCr, JPEG-> bassa compresisone. Uso limitato

P-Frames: predictive frames, motion estimation/compensation, propagazione errore

B-Frames: bidirectional frames ->interpolation frames

N=dimensione del group of pictures GOPM= prediction span

Tipi di FrameP frames possono essere utilizzati efficientemente solo se il movimento è minimo. Videotelefonia ->OK Movies->NO OK

Oltre al P-Frame si utilizza il B-Frame il cui contenuto sono stimati utilizzando sia frame passati che futuri

B-Frame coinvolgono I,P frame precedente, frame corrente, I,P frame successiviNo propagazione errore

Decodifica Frames

Per decodificare un I-frame non servono ulteriori informazioni.

Per decodificare un P-frame serve l’I-Frame precedente

Per decodificare un B frame serve I/P frame precedente e quello successivo

IBBPBBPBBI IPBBPBBIBB

Tipi di Frame

Non rappresenta un nuovo tipo di frame ma la codifica di due P e B frame come se fossero un frame unico.

D- Frame : Frame ad alto livello di compressione

•Ignorati da P e B frames

•Utili per streaming

Stima del Movimento- Struttura

Stima del Movimento - Procedura

Compensazione del Movimento

Terminata la ricerca del macroblocco con il miglior match due parametri sono considerati:

Motion Vector – Differenza di posizione tra i due blocchi

Prediction Error – differenze tra il macroblocco del target frame e dei pixel appartenti al blocco che ha ritornato un match (Matrice delle differenze)

Compensazione del Movimento

Determinare le differenze intercorse tra due frame consecutivi e codificarle

Procedura di codifica B-Frame

Schema di Codifica

La codifica degli I-frame è la stessa della codifica JPEG

La codifica dei P-Frames dipende dal modulo di stima del movimento che dipende dal contenuto del macroblocco corrente e di quello che ha dato il match:

•Sono uguali->solo l’indirizzo è codificato

•Simili-> motion vector, matrice delle differenze

•No match ->codifica del blocco mediante JPEG

Schema di Codifica

Schema di Codifica

Formato Bitstream

Per ogni macroblocco è necessario decidere il tipo di codifica da utilizzare. Ruolo svolto dal FORMATTER.

Type: I,P,BAddress: Indirizzo MacrobloccoQV: soglia di quantizzazione utilizzata dalla DCTBP: quale macroblocco è presente

Dimensione dell’output dell’encoder varia in base al tipo di video in input

I 20:1 P 30:1 B50:1

H.261

Ideato dalla ITU-T per la e videoconferenza su ISDN

Formati di digitalizzazione QCIF e CIF sono utilizzati per la videotelefonia e la videoconferenza rispettivamente.

CIF: Y=352x288 Cb=Cr=176x144

QCIF: Y=176x144 Cb=Cr=88x72

Solo I e P frames

H.261Macroblock format

Frame format

Group of Objects

Schema di codifica H.261

Bit rate variabile

Bit rate costante

H.263

Ideato dalla ITU-T per la e videoconferenza, videotelefonia, videosorveglianza su WI-FI e PSTN

Formati di digitalizzazione QCIF e S-QCIF sono utilizzati per la videotelefonia e la videoconferenza rispettivamente.

QCIF: Y=176x144 Cb=Cr=88x72

S-QCIF: Y=128x96 Cb=Cr=64x68

Si utilizzano I,P e B frame e P-B frames sono codificati come unica entità per ridurre overhead

Recupero dall’errore

PSTN,WI-FI->perdita di pacchetti

Si può determinare il GOB contente MB contenenti errori, non è possibile individuare i singoli MB.

Errori avvenuti in un GOB si propagano nei sucessivi

Tre metodi vengono utilizzati: Error Tracking, independent segment decoding e reference picture selection

Error TrackingComunicazione a due vie viene utilizzata per informare il codificatore di un avvenuto errore:

Motion vector fuori rangeCodewords non valideCoefficienti DCT non validiTroppi coefficiente in un macroblocco

Independent Segment Decoding

Cerca di prevenire la propagazione gli errori che intervengono all’interno del GOB

Codifica indipendente dei GOBLimitazione del metodo di motion estimation/compensation

Solo il GOB corrotto rimane affetto dall’errore

Independent Segment Decoding

Il metodo viene utilizzato in concomitanza con il tracking error.

Forti limitazioni dell’efficienza del metodo di motion detection per quanto riguarda il movimento verticale dato che è limitato all’interno del GOB

Reference Picture Selection

Schema molto simile al tracking error

Azioni vengono prese in conseguenza dei messaggi di acknolegment degli errori

Si blocca la propagazione dell’errore ai GOB successivi

Due Modalità:•NAK-Mode •ACK-Mode

NACK-MODE

Vengono segnalati GOB errati

Il GOB errato viene ricodificato mediante l’ultimo I-frame che sicuramente il decoder ha disponibile

ACK-MODETutti i frame ricevuti correttamente generano un Acknowledge verso il decoder.

Solo i frame acknowledged vengono utilizzati per codificare

Codifica MPEG

Il Motion Pictures Expert Group (MPEG) venne creato dall’ISO

per formulare un insieme di formati standard per le

applicazioni multimediali che facessero uso di audio e video.

Vennero definiti tre standard ognuno destinato ad un uso

applicativo specifico.

Mpeg-1 Mpeg-2 Mpeg-4

Codifica MPEGMPEG-1 : risoluzione video SIF (352x288). Utilizzato per la

memorizzazione su CD-ROM di audio e video di qualità VHS. Bitrate <1.5MBps

MPEG-2: quattro livelli di risoluzione– Bassa -> SIF con Bitrate <4Mbps– Principale -> 4:2:0 (720x576) audio di qualità CD, Bitrate

<15Mbps– Alta 1440 ->4:2:0 (1440x1152) utilizzato per HDTV, Bitrate

<60Mbps– Alta ->4:2:0 (1920x1152) utilizzato per HDTV WS, Bitrate

<80Mbps

MPEG-4 :Inizialmente studiato per gli stessi utilizzi del h.263 (4.8-64kbps)

MPEG-7: Sviluppato per descrivere la struttura e lecaratteristiche di contenuto delle informazioni multimediali equindi utilizzato a scopi di annotazione semantica

Video MPEG-1

Tecnica di compressione video simile a H.261

Suddivisione in macroblocchi 16x16 -> la risoluzione

orizzontale portata da 360 a 352 pixel (16x22=352)

Dato il sottocampionamento delle componenti cromatiche le

risoluzioni spaziali sono:

NTSC Y= 352x240 Cb=Cr=176x120

PAL Y=352x288 Cb=Cr=176x144

Video MPEG-1

Si possono utilizzare schemi che considerano le seguenti combinazioni:I-FrameI- e P-FrameI-,P- e B-Frame

I D-Frame non sono supportati->I-Frame vengono utilizzati per effettuare la ricerca all’interno del flusso.Il tempo di latenza->massima separazione I-frame (Group of Pictures)

Video MPEG-1

L’algoritmo di compressione è basato su H.261:•Macroblocchi 16x16 Y•Macroblocchi 8x8 CbCr

Time-Stamps: consentono al decodificatore di sincronizzare il flusso in caso di perdita od errori nei macroblocchi.

Slice – Numero di macroblocchi tra due time-stamps (tipicamente una linea)

Area di ricerca: dato l’uso dei B-Frames tale area viene allargata.

Rapporto di Compressione: •I-Frame 10:1•P-Frame 20:1•B-Frame 50:1

Video MPEG-1

Struttura gerarchica del bitstream

Video MPEG-1Formato bitstream:

Slice-> simile al GOB del H.261

Video MPEG-2

Ai quattro livelli supportati si aggiungono cinque profili associabili ad ogni livello:– Semplice

– Principale

– Risoluzione Spaziale

– Accuratezza di quantizzazione

– Alta

Data la compatibilità con MPEG-1 è sufficiente trattare il Main Profile at Main Level (MP@ML)

MP@ML

Sviluppato per il broadcast della televisione digitale. Schema di codifica simile a MPEG-1 con la differenza dell’utilizzo di una scansione interlacciata piuttosto che progressiva

MP@ML –Filed Mode

MP@ML – Frame Mode

MPEG-4Lo standard incorpora caratteristiche che consentono molto più che semplicemente accedere alla sequenza video (start, stop, pausa, ecc…). Consentono di accedere e manipolare individualmente gli elementi componenti ogni singola scena.

Cartone animato può essere manipolato dall’utente.

Utilizzabile in canali a basso bitrate (concorrente h.263)

MPEG-4

La principale differenza tra MPEG-4 e gli standard presentati precedentemente è che:

MPEG-4 ha funzionalità basate su contenuto

Prima della compressione ogni scena viene definita nella forma:– Background (sfondo)

– Foreground (insieme di Audio-Visual Objects AVOs)

MPEG-4 AVOsOgni AVO è definito mediante uno o più oggetti video e/o oggetti audio.

Video ObjectVideo Object Audio Object

MPEG-4

Ogni oggetto possiede un descrittore che ne consente la sua manipolazione

La composizione dellescena mediante AVO vienedescritta mediante undescrittore di scena

MPEG-4-Architettura

MPEG-4 –VOP Encoder

MPEG-4 Decoder

MPEG-4 recupero da errori

MPEG-4 possiede delle tecniche per il recupero

da errori di trasmissione:

– Pacchetti di lunghezza fissa invece dei GOBs

– Schema di codifica a lunghezza variabile (VLC)

MPEG-4 Codifica

MPEG-4 RVLC

Recommended