Top Banner
MPEG-4 AVC/H.264 Emanuel Di Nardo Studio di approfondimento
71

MPEG4 AVC-H.264

Jul 19, 2015

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MPEG4 AVC-H.264

MPEG-4 AVC/H.264

Emanuel Di Nardo

Studio di approfondimento

Page 2: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Codec

Standard video nato dall'unione dei comitati Moving Picture Experts Group (sviluppatori dei precedenti codec MPEG) e Video Coding Experts Group (sviluppatori dei precedenti codec H.26x) Nasce dalla necessità di avere la qualità video dell'MPEG-4 ASP, utilizzando la metà del bitrate necessario

Standard in continua evoluzione grazie all'introduzione di nuove estensioni

Page 3: MPEG4 AVC-H.264

MPEG-4 AVC/H.264

La fase di codifica prevede: ● La predizione spaziale (Intra-Prediction) e temporale (Inter-

Prediction) sui frame della sequenza video.

● Il processo di quantizzazione (Trasformata DCT Intera e Trasformata Hadamard).

● Produzione del bitstream tramite codifica entropica del video (basata su codificatori riadattati: a lunghezza variabile, codifica aritmetica e codifica di Golomb) .

Page 4: MPEG4 AVC-H.264

MPEG-4 AVC/H.264

La fase di decodifica prevede: ● Decodifica del bitstream

● Quantizzazione inversa della sequenza video (Trasformate inverse)

● Applicazione di filtri per ridurre eventuali artefatti ottenuti in fase di codifica

● Riesecuzione della predizione spaziale e temporale per ricostruire i frame della sequenza video

Page 5: MPEG4 AVC-H.264

MPEG-4 AVC/H.264

Schema di codifica e decodifica di una sequenza video

Page 6: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Concetti di baseUna sequenza video è suddivisa in partizioni sempre più piccole secondo il seguente schema:

● Group of Pictures: Sequenza di frame di lunghezza N.

● Frame:Immagine fissa.

● Slice:Parte di un frame.

Page 7: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Concetti di base● Macroblocco:

Grossi blocchi di pixel utilizzati per scandire l'immagine in fase di codifica/decodifica. Viene generato un macrobloccoper ogni componente dell'immagine(luminanza e crominanza).Può essere suddiviso in blocchi16x16, 16x8, 8x16, 8x8

● Partizione del macroblocco:Utilizzata per migliorare la precisione della predizione. Un macroblocco viene partizionato a partire da blocchi di dimensione 8x8 e può essere suddiviso in blocchi 8x4, 4x8, 4x4

Page 8: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Concetti di base● Blocco:

Singolo blocco su cui effettuare la predizione

● Campione:Elemento del blocco su cui eseguire effettivamentela predizione

Page 9: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Concetti di baseSpazio colore: Supporto per gli spazi colore RGB - YCrCb - YCgCo. Spazio colore principale: YCrCb. Il video è convertito da RGB a YCrCb in fase di codifica e riconvertito in RGB quando visualizzato sullo schermo.

YCgCo è stato introdotto per ridurre gli errori di conversione introdotti da RGB -> YCrCb -> RGB. [Poco utilizzato]

Page 10: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Concetti di baseFormati di campionamento:

● 4:2:0: le componenti di crominanza hannometà della risoluzione verticale e orizzontaledella luminanza;

● 4:2:2: le componenti di crominanza hanno

la stessa risoluzione verticale della luminanza e metà di quella orizzontale;

● 4:4:4: le componenti di crominanza hanno la stessa risoluzione verticale e orizzontale della luminanza;

Page 11: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Profili

Definiscono gli strumenti (codificatori entropici, formati di campionamento, # bit per campione, tipi di frame, tecniche di resistenza agli errori, tipi di trasformazioni, ecc...) utilizzabili in fase di codifica/decodifica della sequenza video.

Abbiamo 4 profili base: ● Baseline Profile;● Constrained Baseline Profile;● Extended Profile;● Main Profile;

Page 12: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Profili

Le varie estensioni dell'MPEG-4 Part 10 hanno introdotto nuovi profili:

Fidelity Range Extension, introduce 8 nuovi profili basati sul Main Profile (4 principali e 4 derivati dai primi). Principali: ● High Profile;

● High 10 Profile;

● High 4:2:2 Profile;

● High 4:4:4 Profile;

Page 13: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - ProfiliFidelity Range Extension;

Derivati: ● High 10 Intra Profile; ● High 4:2:2 Intra Profile; ● High 4:4:4 Intra Profile; ● CAVLC 4:4:4 Intra Profile;

Page 14: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Profili

Scalable Video Coding introduce 3 nuovi profili:

● Scalable Baseline Profile;

● Scalable High Profile;

● Scalable High Intra Profile;

Derivati rispettivamente dal Baseline Profile, High Profile, High 10 Intra Profile;

Page 15: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Profili

L'ultima estensione introdotta è stata il Multiview Video Coding introducendo gli ultimi 2 profili dello standard (derivati dall'High Profile):

● Stereo High Profile;

● Multiview High Profile;

Page 16: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Livelli

I livelli limitano i valori che alcuni elementi del video codificati possono assumere. I più importanti tra questi sono:

● Il massimo numero di macroblocchi (per secondo/frame).

● Il bitrate massimo che può avere un video (dipende dal

profilo che si sta utilizzando).

● La massima risoluzione di un video per una determinata

frequenza di frame.

Esistono 16 livelli, solo 5 sono primari, gli altri sono loro

evoluzioni.

Page 17: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Inter Prediction

Codifica di un frame basandosi su uno o più frame precedenti o successivi al frame corrente.

Tecnica basata sulla compensazione del moto:

Ogni frame utilizzato per effettuare la predizione è chiamato frame di riferimento, e il numero dei frame di riferimento utilizzati dipende dal livello in uso.

Un vettore di moto viene utilizzato per ogni partizione del macroblocco.

Viene effettuala l'interpolazione dei pixel per raggiungere un'alta precisione per i pixel (1/4 per luma e 1/8 per croma).

Page 18: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Inter Prediction

Particolare attenzione è necessaria prestare all'interpolazione dei pixel del luma che viene eseguita in due passi: 1. Utilizzo del Finite Impulse Response. [Filtraggio di un dato

pixel tra due campioni interi utilizzando un dato kernel].

2. Media dei valori vicini presi in qualunque direzione se il pixel non si trova tra 1/2 pixel ed un pixel intero, altrimenti viene effettuata la media dei soli due valori sopraccitati.

Se un macroblocco può essere predetto perfettamente dai suoi vicini la sua predizione viene saltata [Skip Mode];

Page 19: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Inter PredictionEsistono 3 tipi di frame:

● I-Frame:Codificati con la predizione spaziale, utilizzo di blocchi 4x4 o 8x8.

● P-Frame:Codificati a partire da I-Frame o P-Frame già codificati, utilizzo di compensazione del moto e predizione pesata (aggiunta di pesi alla compensazione del moto).

● B-Frame:Bidirectional Frame, codificati a partire da I-Frame o P-Frame in entrambe le direzioni, utilizza due vettori di moto e una predizione pesata modificata. [Il codificatore può regolare i valori dei pesi scelti]

Page 20: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Inter PredictionI frame non hanno un ordinamento arbitrario, sono presenti varie strutture: ● Basso ritardo, storage minimale; [Basso ritardo,

occupazione di memoria minimale, bassa efficienza di compressione;]

● Frame di riferimento multipli; [Elevata efficienza di

compressione, elevato tempo di attesa e elevata occupazione di memoria;]

Page 21: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Inter Prediction● Struttura gerarchica; [Migliora l'efficienza di compressione i

frame vengono codificati con una struttura ad albero]

● GOP; [Maggiormente utilizzata, elevata efficienza di

compressione, alto ritardo e elevata occupazione di memoria]

Page 22: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Inter Prediction

Per la GOP l'ordine dei frame in fase di codifica è diverso da quello in fase di decodifica, è necessario avere i frame di riferimento prima di poter decodificare tutta la sequenza video.

Page 23: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Inter PredictionDue frame speciali sono utilizzati nello standard:

SP/SI-Frame: Simili ai frameI e P, ma permettono l'accesso casuale al video e di ricostruire il campione utilizzando frame di riferimento diversi in fase di predizione. E' necessario creare punti di switching per ogni operazione da eseguire con ogni frame di questo tipo. Gli SP-Frame utilizzando la predizione del moto sono adatti per l'accesso a sequenze video con scene simili, mentre gli SI-Frame permettono l'accesso efficiente a scene completamente diverse da quella attuale utilizzando la predizione spaziale.

Page 24: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Intra Prediction

Predizione a partire dai valori dei pixel vicini ai pixel da codificare. Esistono 3 diverse grandezze per i macroblocchi: ● Predizione con macroblocchi 16x16:

La predizione non avviene su un pixel arbitrario, ma viene scelto di volta in volta quello più adatto tra 4 differenti modalità: Verticale, Orizzontale, DC, Bidimensionale;

● Predizione con macroblocchi 8x8; ● Predizione con macroblocchi 4x4:

La predizione può avvenire con 9 modalità diverse: Verticale, Orizzontale, DC, 4 diverse direzioni diagonali;

Page 25: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Quantizzazione

Utilizzo di un quantizzatore scalare, fase estremamente sofisticata perchè occorre evitare divisioni ed operazioni in virgola mobile (non intere) e includere le matrici di pre e post scalatura. Supporto fino a 52 passi di quantizzazione.

Differenti paremetri di quantizzazione per luma e croma, il QP del croma dovrebbe essere fatto derivare dal QP del luma.

Utilizzo della Trasformata Hadamard e Trasformata Coseno Discreta Intera per ottenere i coefficienti da quantizzare.

Page 26: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - QuantizzazioneQuantizzatore scalare: Processo non (perfettamente) reversibile. Viene utilizzato un quantizzatore in avanti (FQ) in fase di codifica e un quantizzatore inverso (IQ) in fase di decodifica.

L'FQ trasforma i valori che approssimano la zero in valori uguali a 0 non essendo significativi.

Il valore di QP è fondamentale:● QP grande: alta compressione, ma approssimazione

grossolana del segnale originale;● QP piccolo: bassa compressione, ma approssimazione

migliore del segnale originale;

Page 27: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Quantizzazione

Quantizzazione inversa:

Utilizzo del fattore di pre-scalatura e di una costante di valore 64 per evitare errori di arrotondamento;

Il risultato subirà l'operazione di trasformazione inversa per poi essere diviso (utilizzando moltiplicazioni e shift a destra) per la costante precedentemente introdotta.

Page 28: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Quantizzazione

Vengono utilizzate la trasformata Hadamard e la trasformata Coseno Discreta Intera.

Modalità di trasformazione: ● Trasformazioni per macroblocchi 16x16 utilizzando

sottoblocchi 4x4. (Intra-Mode) ● Trasformazioni per sottoblocchi 2x2 di crominanza.

● Trasformata Coseno Discreta (DCT) per tutti gli altri blocchi

4x4.

Page 29: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Quantizzazione

Trasformazioni per macroblocchi 16x16 utilizzando sottoblocchi 4x4. (Intra-Mode): In fase di codifica: 1. Utilizzo della DCT; [Otteniamo Wd]2. I blocchi ottenuti sono sottoposti alla trasformata Hadamard; In fase di decodifica:

3. Utilizzo della trasformata Hadamard Inversa;4. Rescaling;5. Utilizzo della IDCT;

Page 30: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Quantizzazione

Trasformazioni per sottoblocchi 2x2 di crominanza:

Identica alle trasformazioni di blocchi 4x4;

Immagine riassuntiva della fase di quantizzazione

Page 31: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Quantizzazione

Trasformata Coseno Discreta per tutti gli altri blocchi 4x4:

● La DCT è modificata utilizzando solo trasformazioni intere in modo che non sia possibile avere perdita di precisione in fase di decodifica;

● Nessuna discrepanza tra la trasformata in fase di codifica e la sua inversa in fase di decodifica;

● Possono essere utilizzate solo addizioni e shift;● Le operazioni inverse possono utilizzare solo operazioni

aritmetiche a 16-bit, con una sola moltiplicazione per coefficiente

Page 32: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Codifica entropica

Utilizza "Codici a Lunghezza Variabile (VLC)" e la "Codificia aritmetica" modificati per adattarsi al contesto del video:

● Context-Adaptive Variable Length Coding (CAVLC)

Utilizzo intelligente dei coefficienti dei blocchi quantizzati. Utilizzo di quattro look-up table per il luma, ne viene utilizzata una in base al numero dei coefficienti non zero presenti

Page 33: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Codifica entropica● Context-Adaptive Binary Arithmetic Coding (CABAC)

Stima locale basata sull'elemento da codificare. Codifica in quattro fasi:

1. Binarizzazione: I valori vengono resi in binario, i segni non vengono presi in considerazione (bypass coding);

2. Selezione del modello del contesto: probabilità di un modello di essere scelto [range di probabilità 0 - 1];

3. Codifica aritmetica;4. Aggiornamento delle probabilità;

Page 34: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Codifica entropica● Exp-Golomb Coding:

I dati sono tenuti in una tabella, all'aumentare dell'indice aumenta la lunghezza della codeword.

Codeword: [N zeri] 1 [N-bit informazione]

Page 35: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Codifica entropica

Codifica:Non necessita di look-up table, viene utilizzato il seguente algoritmo:M = floor(log2(code_num+1)); INFO = code_num+1-2M

Decodifica: ● Vengono contati quanti zero ci sono prima dell'1;● Si ignora 1;● Lettura degli N bit informazione;● Viene trovato il code_num = 2M+INFO-1

Page 36: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Codifica losslessSe la codifica risulta inefficiente viene utilizzato un metodo lossless tra: ● I-PCM: nessuna predizione, trasformazione e

quantizzazione; video codificati con una qualità percettiva molto alta e un fattore di quantizzazione estremamente basso / utilizzo di H.264 come contenitore per video non compressi. [Altamente inefficiente];

● Transform-bypass: nessuna trasformazione e

quantizzazione; [Efficiente con predizione temporale]

Page 37: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Filtro di deblocking

Riduce l'effetto di distorsione con smussamento dei contorni.

Il frame filtrato è utilizzato come riferimento per altri frame.

Il filtraggio viene applicato a sottosblocchi 4x4 in ogni direzione e per ogni componente dello spazio colore

Filtraggio di max 3 campioni per lato.Il filtro dipende dal quantizzatore in uso, modalità di codifica dei blocchi vicini e il gradiente dell'immagine lungo i bordi.

Page 38: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Filtro di deblocking

Durezza del filtro (bS):

Scelta del filtro: p e q = insieme dei campioni filtrati;Un gruppo di campioni è filtrato solose:● bS > 0;● | p0 – q0 | < α AND | p1 – p0 | < ß AND | q1 – q0 | ≤ ß

α e ß aumentano all'aumentare del QP di p/q

Page 39: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Video interlacciati

Video diviso in field (pari/dispari). Vengono scansionate prima le linee pari e poi quelle dispari.

Page 40: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Video interlacciati

Due tecniche: ● Macroblock Adaptive Frame Field (MBAFF):

16 campioni per luma in larghezza e 32 in altezza, oguno processato come una coppia di macroblocchi. Viene scelto ogni volta se codificare le coppie come macroblocchi o come field;

Ogni gruppo di field va considerato come un'unica immagine

Page 41: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Video interlacciati

● Picture Adaptive Frame Field (PicAFF): Sceglie di volta in volta se trattare le field di un frame come immagini di riferimento separate oppure come un'unica immagine di riferimento. Risulta essere più veloce di MBAFF, ma richiede una maggiore quantità di risorse per poter funzionare.

Page 42: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Scansione video

Dipende dalla modalità in cui sono utilizzate le slice:

Macroblocchi: Scansione a zig-zag

Field: Scansione alternativa

Page 43: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Error resilienceTecniche principali:

● Redundant Slice:Slice contenenti informazioni rindondanti, vengono scartate in fase di decodifica a meno che i dati non rindondanti siano danneggati, abbassa le performancedi compressione.

● Arbitrary Slice Order (ASO):Le slice sono ordinate in modo diverso da quello arbitrario.

Page 44: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Error resilience

● Flexible Macroblock Order (FMO):Un macroblocco viene assegnato a più di una slice, ognuna usa un sottoinsieme del macroblocco.

● Data Partitioned Slices:

Un dato è codificato in tre partizioni A, B, C ognuna contenente un sottoinsieme del dato primario.

Page 45: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Strutturazione Struttura gerarchica:

Page 46: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Trasporto dei dati

Ogni NAL contiene un Raw Byte Sequence Payload (RBSP). contenente tutte le informazioni sugli elementi.

I trailing bits sono aggiunti per consentire al payload di avere una numero intero di bit

Page 47: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Trasporto dei dati

Aggiunta di NALU header (1 byte) o utilizo di Emulation prevention (evita che i bit del RBSP corrispondano all'inizio di un'altra NALU (Start Code Prefix)

Page 48: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Trasporto dei dati

La trasmissione avviene tramite un protocollo di trasporto in cui la NALU si trova tra l'header e il trailer;O tramite bitestream dove ogni NALU viene trasmessa sequenzialmente e divise dallo Start Code Prefix.

Page 49: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Hardware

Può avere un supporto da hardware specifici per semplificare i processi di codifica/decodifica: ● FPGA (Field Programmable Gate Array): chip programmabile

per supportare H.264 ● ASIC (Application Specific Integrated Circuit): chip specific

purpose in cui è possibile integrare un codificatore H.264

Page 50: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Evoluzione

Lo standard nel corso degli anni ha subito notevoli evoluzioni. Grande importanza hanno le tre estensioni principali:

● Fidelity Range Extensions (FRExt):Integrata completamente nell'AVC introduce i profili High;

● Scalable Video Coding (SVC);

● Multiview Video Coding (MVC);

Page 51: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Evoluzione

Scalable Video Coding (SVC):● Trasmissione simulcast;

Il video è codificato/decodifica a differente qualità per ogni trasmissione. Enorme ridondanza.

Page 52: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Evoluzione

Scalable Video Coding (SVC):● Trasmissione scalare;

Il video è codificato una sola volta diviso in livelli, con diversa informazione. Ogni decodificatore dal livello 1 utilizza i livelli precedenti per effettuare la decodifica completa.

Page 53: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Evoluzione

Scalable Video Coding (SVC):● Trasmissione scalare;

Il video è codificato una sola volta diviso in livelli, con diversa informazione. Ogni decodificatore dal livello 1 utilizza i livelli precedenti per effettuare la decodifica completa.

Page 54: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Evoluzione

Tre gradi di scalabilità: 1. Scalabilità temporale: Il livello base e codificato alla piu bassa

risoluzione temporale, e all'aggiunta dei livelli aumenta il frame rate.

2. Scalabilità spaziale: Il livello base e codificato alla piu bassa risoluzione spaziale, e all'aggiunta dei livelli aumenta la risoluzione spaziale della sequenza codificata.

3. Scalabilità qualitativa: Il livello base e codificato alla piu bassa qualita utilizzando un determinato QP, aggiungendo livelli aumenta la qualita della sequenza codificata.

Page 55: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Evoluzione

Page 56: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Evoluzione

Scalabilità temporale:

Page 57: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Evoluzione

Scalabilità spaziale:

Page 58: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Evoluzione

Scalabilità qualitativa:

Page 59: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Evoluzione

Scalabilità combinata:

Page 60: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Evoluzione

Multiview Video Coding:

Incorpora in un solo video riprese multiple della stessa scena. La scena e dunque vista come un insieme di tante scene, riprese da punti di vista differenti.

I vari punti di vista della scena presentano un certa ridondanza

Page 61: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - EvoluzioneMultiview Video Coding: Predizione semplice Predizione complessa

Page 62: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - EvoluzioneE' stato necessario effettuare dei cambiamenti nella struttura del bitstream ● L'SPS specifica in aggiunta le viste e i frame di riferimento.

● RPL migliorata per includere il supporto per la predizione inter-vista.

● L'ordine delle NALU e modificato per permettere l'introduzione del Prefix NALU contenente informazioni aggiuntive sulla vista base.

● La numerazione delle immagini e gli indici di riferimento

sono stati modificati per aggiungere il supporto alle viste multiple.

Page 63: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Confronto tra standard

H.264 permette di ridurre notevolmente le dimensione dei file video digitali (-80% rispetto al formato Motion JPEG e fino a -50% rispetto allo standard MPEG-4) senza intaccare la qualita delle immagini.

Confronto tra la velocita di trasmissione in bit di un flusso video della durata di 115 secondi offerto dai vari standard di compressionevideo a parita di qualita delle immagini. I codificatori che utilizzano lo standard H.264 sono tre volte piu efficienti rispetto a quelli che utilizzano lo standard MPEG-4 senza compensazione del movimento e fino a sei volte piu efficienti rispetto allo standard Motion JPEG

Page 64: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Confronto tra standard

Page 65: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Confronto tra standard

Page 66: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Confronto tra standard

Page 67: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Test dello standardCompressione di un video in tre diversi formati AVC, MPEG-4, MPEG-2. (Informazioni ricavate dall'applicazione mediainfo) Originale AVC MPEG-4 ASPLa conversione è stata realizzata con Avidemux

Page 68: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Test dello standard(Mancano i risultati di MPEG-2 dato che il tempo di conversione era > 8 minuti ed inefficiente)

Impostazioni AVC:● Vettori di moto massimi 16. ● Direzione di predizione: spaziale; ● Predizione pesata per B-frame; ● Partizioni 8x8 DCT spaziale. ● 8x8, 8x16, 16x8 P-frame e B-Frame per Intra-predizione. ● 8x8, 4x4 intra-predizione. ● CABAC. ● Filtro di deblocking con durezza 0 (loop filter). ● B-Frame consecutivi massimi 3, I-Frame con GOP da 0 a 250 massimo einserimento di un I-

Frame ogni 40 frame. ● Stima della crominanza. ● QP minimo 10, massimo 51. ● Passi di quantizzazione 4. ● Codificatore utilizzato x264.

Il video con codifica AVC ha utilizzato un profilo High e livello 4.0 ha un bit rate stimato tra i 5000 - 8999 kbps (secondo i dati raccolti dal programma con cui e stata effettuato il test visivo VLC), il tempo di conversione e di ~1:30 minuti e le dimensioni sono state ridotte ben del 44% essendo passate da 34.4 MB a 15.3 MB.

Page 69: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Test dello standard Impostazioni MPEG-4 ASP:

● Quantizzatore costante. ● Quattro vettori di moto. ● QP minimo 2, massimo 31. ● Codificatore utilizzato avcodec.

Il video codificato con MPEG-4 ASP invece presenta un aumento della dimensione da 34.4 MB a 36.4 MB dovuta all'aumento spropositato del bitrate nel video che va da un minimo di ~8000 kbps ad un massimo di ~25999 kbps. Il tempo di compressione e stato di poco minore a quello ottenuto con AVC ed e di ~1:00 minuto. Impostazioni MPEG-2:

● Quantizzatore costante. ● GOP da 12 frame, ● Scansione progressiva. ● Bit rate massimo 2400 kbps. ● Codificatore utilizzato avcodec.

Page 70: MPEG4 AVC-H.264

MPEG-4 AVC/H.264 - Ambiti di utilizzoUtilizzato nell'industria cinematografica e videoludica.

Utilizzato come formato di compressione standard per i Blu-Ray Disc.

Trasmissione di contenuti in streaming sul web: youtube (Adobe Flash e HTML5). Per videoconferenza: Skype

Servizi di trasmissione per DVB e SBTVD, diretta-broadcast servizi televisivi via satellite, via cavo.