La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

CAPIRE MPEG Sebastian Sylwan Polo Didattico e di Ricerca di Crema 24/4/99.

Presentazioni simili


Presentazione sul tema: "CAPIRE MPEG Sebastian Sylwan Polo Didattico e di Ricerca di Crema 24/4/99."— Transcript della presentazione:

1 CAPIRE MPEG Sebastian Sylwan Polo Didattico e di Ricerca di Crema 24/4/99

2 Concetti base del video digitale Frame Interlacing Field Pixel Risoluzione Componenti Campionamento Luma SVP RGB YUV / YCbCr PAL / NTSC 4:4:4 / 4:2:2 / 4:2:0 CIF / SIF SNR Quantizzazione Chroma Broadcast Vi sono familiari tutti i seguenti termini ?

3 MPEG M otion P ictures E xpert G roup MPEG MPEG MPEG MPEG (?)

4 Aggiunte rispetto a MPEG-1 Ottimizzato per il mondo Broadcast Diversi Aspect-ratio (16:9 HDTV WideScreen) Macroblock 4:2:2 4:4:4 Interlacing Informazioni sullorigine del materiale Video (telecine, 3:2 pulldown, NTSC, PAL) Scalabilità del segnale Video Sistema di trasporto TS/PS Maggiore flessibilità nella compressione (Variable- Length tables, Scale Factor, ½ px Motion Vectors ) Audio multilinguale

5 Suddivisione dello Standard

6 MPEG-2 Video Obiettivi : Descrivere un formato che descriva un Bitstream Video codificato Non definire il processo di codifica Descrivere il processo di decodifica (maggiore flessibilità) Mantenere lo standard estensibile per essere utilizzato in un ampio range di applicazioni Trasmissione via Satellite TV via cavo TV Interattiva

7 MPEG-2 Video Parti componenti lo standard: Definizioni di base Sintassi del segnale Video MPEG-2 Descrizione Semantica Processo di decodifica Estensioni e Scalabilità Profili e Livelli Annessi

8 MPEG-2 Video Definizioni di base Frame 3 matrici (Luma, 2 Chroma) Picture Componente codificata (può non avere pixel) Block 8 x 8 pixels (Luma, 2 Chroma) MacroBlock 4 Blocchi di Luma + n di Chroma Slice Fetta contiene gruppi di MacroBlocks GOP Group of Pictures (tipicamente 12 Pictures) I,B,P Pictures Intra-coded, Bidirectionaly Predicted, Predictive Fields Interlacing

9 Overview

10 Principio di funzionamento Sfrutto: Ridondanza spaziale Ridondanza temporale Caratteristiche Psico-visive Prima compressione nel sottocampionamento (4:2:2, 4:2:0) Bassa sensibilità alle alte frequenze sul colore Livello di accettazione + alto per il rumore alle alte frequenze

11 Strumenti di compressione Mediante: DCT-Quantizzazione-VLCoding Huffman Coding Motion Estimation } I-Pictures B-Pictures / P-Pictures

12 Fourier Ogni forma donda periodica (qualsiasi se consideriamo periodo ), può essere espressa come somma di componenti sinusoidali, ognuna espressa con la sua ampiezza, frequenza e fase.

13 Trasformata Coseno Discreta Porta dal dominio del tempo al dominio delle frequenze. divide la forma donda nelle sue componenti frequenziali, considerando un rispecchiamento della forma donda per eliminare le componenti sin() La DCT in se non effettua alcuna compressione (anzi). Semplicemente trasforma i pixel sorgente in una forma nella quale è possibile identificare la ridondanza Non tutte le frequenze spaziali sono simultaneamente presenti, quindi alluscita della DCT avremo alcuni coefficienti con un valore rilevante, ma la maggior parte sarà molto prossima a zero.

14 Componenti frequenziali 0,2657 x = 0,2322 x = 0,0791 x = 0,2861 x = 0,2446 x = 0,1286 x = 0,1329 x = 0,0993 x = 0,1645 x = Combinando linearmente le varie componenti posso ottenere qualunque pattern Il primo coefficiente mi dà la luminosità generale del blocco Gli altri rappresentano le intensità delle diverse componenti frequenziali La maggior parte delle componenti è prossima a zero e quindi non le considero

15 Capiamo la DCT

16 Quantizzazione Questo è il processo che introduce perdita di qualità del segnale video Prendo i coefficienti usciti dalla DCT e li divido per una matrice di quantizzazione Valori sempre più alti man mano che cresce la frequenza Fattore di scala Ottengo molti coefficienti a 0 Li leggo a zig-zag

17 RL Encoding Run = numero di zeri prima di un coefficiente non-zero Level = in MPEG Video è il coefficiente della componente frequenziale Definisco sequenze corte per le +comuni combinazioni di Run e Level Tra 2 e 13 bit Non tutte le combinazioni sono codificate Se trovo una combinazione non in tabella, mando cod. escape, R ed L.

18 Motion Estimation In realtà la grossa riduzione del Bitrate si ha sfruttando la ridondanza temporale: Una volta codificata unimmagine di riferimento come spiegato prima (I-Frame) cerco similarità con i frame adiacenti. Innanzitutto controllo che il macroblocco in esame non sia rimasto identico (o quasi) nel frame successivo, nel qual caso non lo invio. Altrimenti, cerco nelle vicinanze per identificare se si è mosso. Se lo trovo, invio un vettore di movimento. Codifico secondo lo schema visto in precedenza solo se non ho trovato il macroblocco da nessuna parte nel frame. Se sono tra una I e una P-Picture, interpolo i vettori di movimento Non è la panacea, però. Se commetto un piccolo errore e calcolo i frame successivi solo partendo dal precedente, lerrore si propaga rapidamente.

19 Motion Estimation Per risolvere il problema si creano GOP (Group Of Pictures) con diversi tipi di Picture allinterno. Intra-coded Picture Predictive coded Picture Bi-directionally coded Picture

20 Motion Estimation

21 Come avviene la ricerca del Macroblocco ? Block Matching Enorme quantità di calcolo Fatta a diversi livelli di dettaglio Phase correlation Trasformata di Fourier sui blocchi da comparare Sottraggo le componenti frequenziali Antitrasformata di Fourier Ottengo dei picchi che rivelano la direzione e lentità dei movimenti (ma non la loro posizione) Block Matching ma solo in direzioni e distanze predeterminate.

22 Phase Correlation In realtà il processo avviene in 2 dimensioni, per cui ottengo una superficie di correlazione con tanti picchi quanti sono i movimenti nellarea che sto esaminando. È importante capire che con la correlazione di fase ottengo informazione sullentità e la direzione del movimento, ma non so dove nellimmagine questo avvenga, dovrò quindi cercarlo, ma lefficienza della ricerca è incredibilmente superiore a prima.

23 Slices Non sono necessarie per la compressione, ma sono molto utili nel caso di errori nel canale. Risincronizzano il flusso video Permettono di definire aree di interesse

24 Profili e Livelli Grande varietà di applicazioni Complessità Costo enorme per supportare tutto lo standard Implemento solo alcune funzioni (Profilo)

25 Campionamenti tipici

26 Profili

27 Livelli

28 Riassumendo...

29 Sintassi di MPEG-2 Video video_sequence() { next_start_code() sequence_header() if(nextbits)==extension_start_code) { sequence_extension() do { extension_and_user_data do { if (nextbits())==group_start_code) { group_of_pictures_header() extension_and_user_data (*) } picture_header() picture_coding_extension() extension_and_user_data (**) picture_data() } while ((nextbits()==picture_start_code) || (nextbits()==group_start_code)) if (nextbits() !=sequence_end_code) { sequence_header() sequence_extension() } }while (nextbits() != sequence_end_code) } else { MPEG-1 } sequence_end_code }

30 Strutture sintattiche video_sequenceContiene Pictures ed estensioni sequence_headerDimesioni Immagine e FrameRate, matrici di quantizzazione speciali sequence_extensionprofilo/livello, Formato Chroma, se non esiste il flusso è MPEG-1 GOP_headerTimecode, informazioni per lediting picture_headerdice se è I,B o P Picture. Contiene riferimento temporale (allinterno del GOP) picture_coding_extensionInterlacing, PAL/NTSC picture_datan slices slicePosizione verticale, partizionamento, Fattore di quantizzazione, n macroblock macroblockFattore di quantizzazione (opz.), blocchi, macroblock_modes, motion_vectors macroblock_modesI,B o P macroblock (in una I-Picture, posso avere I o P Mb, in una B-Pic ho I,B o P Mb) motion_vectorsvettori di movimento per il Mblock coded_block_patternQuali macroblocchi sono effettivamente codificati (e non tutto a 0) blockCoefficienti DCT user_dataeventuali dati utente sequence_display_extensionFormato video e attributi colore sequence_scalable_extension Che tipo di scalabilità viene usata quant_matrix_extension Matrici eventualmente definite dallutente per la dequantizzazione picture_display_extension da utilizzare al momento di mostrare il flusso picture_temporal_scalable_extension estensioni temporali (maggior frame-rate) picture_spatial_scalable_extension estensioni spaziali (maggior risoluzione) copyright_extensionOriginale o copia

31 Sintassi schematizzata

32 Scalabilità Base Layer - Enhancement Layer Spaziale: Diverse risoluzioni nello stesso flusso video (es. MPEG-1 + MPEG-2, + Temporale: Diversi Frame Rate SNR Nuovi coefficienti di quantizzazione (o backup) Partitioning Priority Breakpoint

33 Audio Layers: 1 1:4 2 1:6 3 1:10 Sfrutto: Psico acustica Mediante: Sub-band Masking

34 Audio Additions Half Sample Rate enhancement Non uso tutto lo spettro disponibile dimezzando la frequenza di campionamento Multi Channel Extension Fino a 5 canali surround Adaptive Multichannel Prediction Utilizzo le informazioni di alcuni canali (L+R) per predirre gli altri (Ls Rs C)

35 Costruiamo l Elementary Stream Applichiamo le regole sintattiche per costruire uno stream elementare che contiene tutti gli elementi del Video compresso

36 Systems Parte dello standard che si occupa del trasporto e multiplexing dei dati. Distinguo: Program Stream (media) Transport Stream (network) Evito così di dipendere dalle tecnologie di rete. Packet Video Colla tra MPEG Video ed MPEG Audio

37 Systems

38 Program Stream Strutture dati lunghe low-error environments Sincronizzazione A/V Private Data

39 Transport Stream Strutture dati corte e a lunghezza fissa (pacchetti da 188 byte) Multiplexing / Demultiplexing Sincronizzazione A/V Private Data No error recovery Channel guide Informazioni di temporizzazione nei pacchetti Sincronizzazione Jitter correction Supporto alla Crittografia (PPV)

40 Costruiamo la sintassi Il bitstream di uscita di un compressore Audio o Video è un Elementary Stream (diviso in access units, frames) Questo stream viene poi suddiviso in Pacchetti e forma un Packetized Elementary Stream (fatto di PES Packets) PES Packet Payload (Dimensione Variabile=acces unit) PES Packet Header I PES vengono poi mappati in Transport Stream Packets (TSP) TSP Payload TSP Header

41 Transport Streams Esistono due tipi di Transport Streams SPTS Single Program Transport Stream Contiene diversi PES che condividono tutti una base dei tempi comune. Può contenere più istanze di Audio, Video, Dati, ma tutti con la stessa Time-Base MPTS Multiple Program Transport Stream Multiplexing di diversi SPTS (bouqet)

42 Informazioni di sincronizzazione Transport Stream I pacchetti TS contengono informaz. Di clock nei seguenti field: Program Reference Clock (PCR) 42 bits Decoding Time Stamp (DTS) Presentation Time Stamp (PTS). È importante che durante la trasmissione venga mantenuta la sincronizzazione e il frame rate tra trasmittente e ricevente Il PCR viene usato per sincronizzare i clock (27Mhz) di Tx ed Rx

43 DTS e PTS

44 Frame Reordering

45 Systems: Gerarchia della Sintassi Mpeg_transport_stream Transport Packet Adaptation_Field PES_packet program_association section CA_section TS_program_map_section Private_section PID Packet Identifier (cosa cè nel pacchetto) (opz.) Timestamp(PCR), Splicing, Priorità StreamID(V/A/DSM), Crypt, PTS, DTS

46 PES (Packetized Elementary Stream)

47 TSP Format

48 Program Maps

49 Program Specific Information (PSI) Corrispondenza tra Programma e pacchetto (PSI-PID)

50 DSM-CC User-Network Session protocol User-User Directory, Stream control, File access Interactive and broadcast download Broadcast object carousel Switched digital broadcast channel change protocol Video on Demand Data Broadcast Broadband Internet

51 Modello di riferimento per la Trasmissione

52 MPEG-4 Interattività VLBR Video - Migliore compressione 3D scenes Non-rectangular elements Robustezza Scalabilità Editing Random-Access Hybrid, Natural and Synthetic Data coding

53 MPEG-7 Descrizione standardizzata di diversi tipi di contenuto multimediale. Associazione col contenuto stesso per permettere una veloce ed efficiente ricerca su una grande quantità di dati

54 …to be continued Cè ancora moltissimo da dire… Per ogni dubbio, chiarimento, domande, suggerimenti: Probabilmente queste slide verranno aggiornate a breve. Controllate: Grazie dellattenzione Sebastian Sylwan


Scaricare ppt "CAPIRE MPEG Sebastian Sylwan Polo Didattico e di Ricerca di Crema 24/4/99."

Presentazioni simili


Annunci Google