tecniche di comunicazione...
TRANSCRIPT
Tecniche di Comunicazione Tecniche di Comunicazione
MultimedialeMultimediale
Compressione Audio e VideoCompressione Audio e Video
Outline
Compressione Audio– PCM,DPCM,ADPCM,MPEG-4 Audio Coder,DOlbyAudio Coders
Compressione Video– Principi di compressione
– H.261,H.263,MPEG
Compressione AudioCompressione 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
PulsePulse Code Code ModulationModulation PCMPCM
Bandlimiting – rimuove alte frequenze
S&H – campiona e mantieni valore
Quntizer – converte ogni campione in valore binario
Codeword – risultato dellaquantizzazione
PulsePulse Code Code ModulationModulation PCMPCM
Compressor- Expander
Non si usa una quantizzazionelineare, ma intervalli minorivengono utilizzati per ampiezzeminori e maggiori per quelleelevate.
Eseguito mediante quello cheviene definito companding
PulsePulse Code Code ModulationModulation PCM (3)PCM (3)
Prima del campionamento eseguito dall’ADC il segnale vienecompresso dal compressore che esegue una compressione in ampiezza
DifferentialDifferential PulsePulse Code Code ModulationModulation
Deriva dallo standard PCM e utilizza le seguenticaratteristiche:
L’intervallo delle differenze in ampiezzatra due campioni successivi del segnaleaudio è minore dell’ampiezza attuale del segnale
Possiamo codificare la differenza in ampiezzatra un campione ed il successivo:
minore range da quantizzare ->minore numerodi bit da associare ad ogni campione
DifferentialDifferential PulsePulse Code Code ModulationModulation-- CodCod
Tipicamente per segnali vocali il guadagno che si ottienerisulta essere di un solo bit portando quindi la bandautilizzata da 64kbps a 56kbps.
DifferentialDifferential PulsePulse Code Code ModulationModulation --DecDec
Errori di quantizzazione e di registrazione vengonopropagati in modo adittivo sul segnale di uscita ->Gli errorisi accumulano.
PredictivePredictive DPCM DPCM
Predizione del segnale precedente mediantecombinazione lineare dei segnali antecedenti
PredictivePredictive DPCMDPCM
C1=0.5 C2=C3=0.25
R1->1 bit
R2,R3->2 bitDPCM=PCM-(R1+R2+R3)
AdaptiveAdaptive DifferentialDifferential PCMPCM
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
AdaptiveAdaptive DifferentialDifferential PCMPCM
ITU-T G.722
Subband codingEstensione della banda da 3.4KHz a 7KHz
Utile per videoconferenza
AdaptiveAdaptive DifferentialDifferential PCMPCM
AdaptiveAdaptive PredictingPredicting CodingCoding APCAPC
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
LinearLinear PredictivePredictive CodingCoding
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?
LinearLinear PredictivePredictive CodingCoding
• 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)
LinearLinear PredictivePredictive CodingCoding
LinearLinear PredictivePredictive CodingCoding
Codifica PercettivaCodifica Percettiva
I codificatori percettivi sono stati sviluppati per comprimere fonti audio generiche. Essiutilizzano dei modelli che vengono definiti
MODELLI PSICOACUSTICI
utilizzano le limitazioni dell’orecchio umano per fornire la compressione.
Solo ciò che l’orecchio umano percepisce vienecodificato e trasmesso.
SensivitSensivitàà Orecchio UmanoOrecchio Umano
Maschera in Frequenza: un segnale forte riduce il livello di sensività dell’orecchio relativamente ai segnali vicini in frequenza
Maschera temporale: quando l’orecchio ascolta un suono forte prima di poter percepire un suono debole intercorre un periodo di tempo finito.
Maschera in FrequenzaMaschera 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 TemporaleMaschera 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 MPEGCodifica 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 MPEGCodifica Audio MPEG
Decodifica Audio MPEGDecodifica Audio MPEG
ISO Recommendation 11172-3:
Layer 1 Cassetta audio HI-FI 192kbps
Layer 2 Audio digitale vicino a qualità CD 192kbps
Layer 3 (MP3) CD-Audio 64kbps
Bit Bit AllocationAllocation
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 codificatore
Spreco di banda per inviare informazioni sul bit allocation
Forward adaptive bit allocation
DolbyDolby Audio Audio CodersCoders --11
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
DolbyDolby Audio Audio CodersCoders ––22
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 audio
Difficile cambiare modello psicoacustico
Backward adaptativebit allocation mode
DolbyDolby Audio Audio CodersCoders ––33
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 VideoCompressione Video
Principi di Compressione VideoPrincipi di Compressione Video
Primo approccio: sequenza di JPEG-> MJPEG
Rapporto 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 Tipi di FrameFrame
I-Frames: Intracoded frames, YCbCr, JPEG-> bassa compresisone. Uso limitato
P-Frames: predictive frames, motionestimation/compensation, propagazione errore
B-Frames: bidirectional frames ->interpolation frames
N=dimensione del group of pictures GOP
M= prediction span
Tipi di Tipi di FrameFrameP 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, framecorrente, I,P frame successivi
No propagazione errore
Decodifica Decodifica FramesFrames
Per decodificare un I-frame non servono ulteriori informazioni.
Per decodificare un P-frame serve l’I-Frameprecedente
Per decodificare un B frame serve I/P frameprecedente e quello successivo
IBBPBBPBBI IPBBPBBIBB
Tipi di Tipi di FrameFrame
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 MovimentoStima del Movimento-- StrutturaStruttura
Stima del Movimento Stima del Movimento -- ProceduraProcedura
Area di ricerca non definita ma solo come il risultato della ricerca deve essere codificato.
Compensazione del MovimentoCompensazione 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 MovimentoCompensazione del Movimento
Determinare le differenze intercorse tra due frameconsecutivi e codificarle
Procedura di codifica Procedura di codifica BB--FrameFrame
Schema di CodificaSchema 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 CodificaSchema di Codifica
Schema di CodificaSchema di Codifica
Formato Formato BitstreamBitstream
Per ogni macroblocco è necessario decidere il tipo di codifica da utilizzare. Ruolo svolto dal FORMATTER.
Type: I,P,B
Address: Indirizzo Macroblocco
QV: soglia di quantizzazione utilizzata dalla DCT
BP: 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
HH.2.26161
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
HH.2.26161
Macroblock format
Frame format
Group of ObjectsGroup of Objects
Schema Schema didi codificacodifica H.261H.261
Bit rate variabile
Bit rate costante
HH.2.26363
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
RecuperoRecupero dalldall’’erroreerrore
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 pictureselection
Error TrackingError Tracking
Comunicazione a due vie viene utilizzata per informare il codificatore di un avvenuto errore:
Motion vector fuori range
Codewords non valide
Coefficienti DCT non validi
Troppi coefficiente in un macroblocco
Independent Segment DecodingIndependent Segment Decoding
Cerca di prevenire la propagazione gli errori che intervengono all’interno del GOB
Codifica indipendente dei GOB
Limitazione del metodo di motion estimation/compensation
Solo il GOB corrotto rimane affetto dall’errore
Independent Segment DecodingIndependent Segment Decoding
Il metodo viene utilizzato in concomitanza con il trackingerror.
Forti limitazioni dell’efficienza del metodo di motion detection per quanto riguarda il movimento verticale dato che è limitato all’interno del GOB
ReferenceReference Picture Picture SelectionSelection
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
NACKNACK--MODEMODE
Vengono segnalati GOB errati
Il GOB errato viene ricodificato mediante l’ultimo I-frameche sicuramente il decoder ha disponibile
ACKACK--MODEMODE
Tutti i frame ricevuti correttamente generano un Acknowledge verso il decoder.
Solo i frame acknowledged vengono utilizzati per codificare
CodificaCodifica MPEGMPEG
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 MPEGCodifica MPEG
MPEG-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 le
caratteristiche di contenuto delle informazioni multimediali e
quindi utilizzato a scopi di annotazione semantica
Video MPEGVideo MPEG--11
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 MPEGVideo MPEG--11
Si possono utilizzare schemi che considerano le seguenti combinazioni:
I-Frame
I- e P-Frame
I-,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 (Groupof Pictures)
Video MPEGVideo MPEG--11
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 MPEGVideo MPEG--11
Struttura gerarchica del bitstream
Video MPEGVideo MPEG--11Formato bitstream:
Slice-> simile al GOB del H.261
Video MPEGVideo MPEG--22
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@MLMP@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 MP@ML ––Filed ModeFiled Mode
MP@ML MP@ML –– Frame ModeFrame Mode
MPEGMPEG--44
Lo 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)
MPEGMPEG--44
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)
MPEGMPEG--4 4 AVOsAVOs
Ogni AVO è definito mediante uno o più oggetti video e/o oggetti audio.
Video ObjectVideo Object Audio Object
MPEGMPEG--4 4
Ogni oggetto possiede un descrittore che ne consente la sua manipolazione
La composizione dellescena mediante AVO vienedescritta mediante un descrittore di scena
MPEGMPEG--44--ArchitetturaArchitettura
MPEGMPEG--4 4 ––VOP EncoderVOP Encoder
MPEGMPEG--4 Decoder4 Decoder
MPEGMPEG--4 4 recuperorecupero dada errorierrori
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)
MPEGMPEG--4 4 CodificaCodifica
MPEGMPEG--4 RVLC4 RVLC