Formati video
Video come sequenza di
immagini


Un segnale video può
essere visto come la
rapida successione di
immagini statiche
Se le immagini vengono
visualizzate con una
cadenza
sufficientemente rapida,
il moto degli oggetti
appare fluido
Standard televisivi



Un qualsiasi filmato è costituito da molte fotografie
(fotogrammi o frame) messe in rapida sequenza.
I classici televisori (ed anche i monitor per PC)
hanno un rapporto larghezza/altezza dell’immagine
(aspect ratio) 4:3.
Ogni immagine trasmessa in TV è costituita da 30
(o 29.97 per i dispositivi a colori) frame al secondo
(fps) se lo standard usato è NTSC (America del
Nord e Giappone) o 25 fps se lo standard
è PAL (Europa, Africa Orientale, India, Australia,
Cina).
Standard televisivi

Ogni singolo frame è interlacciato, ovvero
costituito da due ‘mezze immagini’ (half
frame o campi) che appaiono e si combinano molto
velocemente formando l’intero fotogramma;
ogni half frame è costituito da righe alternate, uno
contenente le righe dispari, l’altro quelle pari.
Standard televisivi

I recenti schermi panoramici hanno un rapporto
larghezza/altezza 16:9 ed una più ampia superfice
visiva orizzontale (1920 punti-immagine o pixel).
Nelle TV 4:3 l’altezza dell’immagine è costituita da
480 linee visibili (NTSC) o 576 (PAL).
Pellicole cinematografiche


Per i film di Hollywood sono usate pellicole da 35
mm con aspect ratio 4:3 ad altissima risoluzione,
sulle quali sono impressi 24 fotogrammi al
secondo.
Per vedere su TV NTSC un film girato a 24 fps
bisogna modificare il suo framerate in 30 fps.


Questo processo si chiama 3:2 pulldown e viene
effettuato tramite una macchina chiamata Telecine
Il procedimento inverso (NTSC/PAL a FILM) per
creare video a 24 fps è detto Inverse Telecine.
Compressione dati video



Per la visualizzazione di dati video compressi è
sufficiente avere a disposizione un decoder
Per la creazione di bitstream, è necessario avere a
disposizione un encoder
Per garantire l’interoperabilità, ovvero che lo stesso
bitstream possa essere letto correttamente da più
dispositivi, si definisce uno standard
Compressione dati video

In assenza di compressione, la dimensione dei file
video è notevole. Ad esempio: video a scansione
interallacciata (ad. es TV):

720 punti / linea
576 linee (288 linee pari, 288 linee dispari)
50 semiquadri al secondo
3 byte / pixel (RGB)

720 x 288 x 50 x 3 = 31.104.000 byte / sec  c.a. 31



Mbyte/sec  c.a. 250 Mbps
Compressione dati video

2h di film occupano (se non compressi):


2x60x60x31 = 223.200 Mbyte  c.a. 223 Gbyte
Un DVD ha una capacità di c.a. 4.5 GB  per
memorizzare un film a risoluzione standard su DVD
c’è la necessità di un fattore di compressione pari a
223 / 4.5 = 50
Compressione dati video




Codifica intra-frame: codifico ogni frame come un
immagine fissa
E’ la tecnica usata da molte fotocamere compatte,
che salvano i filmati ripresi in formato Motion-JPEG
(ogni frame è compresso con JPEG)
Si è in grado di ottenere rapporti di compressione
dell’ordine 10-20 senza eccessiva perdita di qualità
Per mettere un film su DVD abbiamo bisogno di un
rapporto di c.a. 50...
Compressione dati video




Codifica inter-frame: codifico ogni frame utilizzando
la conoscenza delle immagini precedenti
Frame consecutivi in una sequenza di immagini
sono simili l’uno all’altro
Codifico solo ciò che c’è di nuovo in un frame
rispetto al frame precedente
E’ possibile ottenere rapporti di compressione di
50:1 fino a anche a 100:1 senza un degrado
eccessivo della qualità
Codifica inter-frame
Video codec

I codec che hanno trovato maggiore diffusione sono stati
sviluppati da due organismi di standardizzazione:




MPEG(Movie Picture Expert Group)
ITU-T(International Telecomunication Union -Telecommunication
StandardizationSector)
Sia MPEG e ITU-T hanno sviluppato nel corso degli ultimi 20
anni diversi standard, con l’obiettivo di massimizzare la
compressione per un certo livello di qualità dell’immagine.
Ciascuno standard definisce una “lingua” con una sua
sintassi ben precisa, che può essere compresa solo da un
decoder che la supporti.
MPEG: suddivisioni


Ogni standard MPEG è suddiviso in parti, e ogni
parte è suddivisa a sua volta in livelli (layer). Ogni
parte corrisponde ad un documento, che tratta
aspetti specifici dello standard.
Le prime cinque parti degli standard MPEG-1 ed
MPEG-2 sono identiche; MPEG-2 aggiunge ulteriori
cinque parti, risultando suddiviso in totale in dieci
parti.
MPEG: standard

Standard MPEG

MPEG-1: (1992)


MPEG-2: (1994)


VideoCD (l’equivalente digitale del VHS), supportato
dalla maggior parte dei lettori DVD
DVD, SVideoCD, TV broadcasting (satellitare,
terrestre, cavo)
MPEG-4 Part 2(1998)


Internet streaming, broadcast
DivX, Xvid, FFMpeg sono diverse implementazioni
software di MPEG-4 Part 2
MPEG: standard

MPEG-4 Part 10 (2003)



Noto comunemente come AVC (Advanced Video
Coding) oppure H.264
Tenderà a sostituire tutti gli standard precedenti
Adottato in innumerevoli prodotti commerciali:
BlueRay Disc, iPhone, PSP, QuickTime, etc.
ITU-T: standard

Standard ITU-T

H.261: (1990)


H.263: (1996)


Sistemi obsoleti di video-conferenza su reti telefoniche
Video conferenza, Videotelefonia, video streaming su
internet
H.264:(2003)

E’ uguale a MPEG-4 Part 10
Codec proprietari

Esistono poi codec proprietari, sviluppati
individualmente da aziende private per i propri
prodotti

Microsoft WMV (Windows Media Video)



RealNetworks RealVideo


Real Player
Xiph.org foundation Theora



WMV7,8,9 (Windows Media Player)
VC-1 (BlueRay Disc)
...
Part of the Ogg project
Open source, royalty free codec inspired to (and competing with)
MPEG-4
Multimedia container


Il video è quasi sempre accompagnato dall’audio
Il Container è un formato di file:



Descrive cosa può essere immagazzinato nel file
Definisce come viene codificato il suo contenuto (ma per
lo stesso container, i dati possono essere codificati con
codec diversi)
Il Multimedia container (ad es. Il formato .AVI)
descrive cosa può essere immagazzinato in un file:




Dati video
Dati audio
Sottotitoli
Ecc.
Multimedia container



E’ possibile che un programma che sia in grado di
aprire un file scritto in un certo formato non sia
capace di decodificare i dati contenuti
Capita, ad esempio che il lettore multimediale sia in
grado di aprire un file, ma di riprodurre solo l’audio
o il video.
Ciò significa che un il lettore riconosce
correttamente il tipo di file, lo apre, ma non ha a
disposizione il codec in grado di interpretare i dati
audio o video in esso contenuti.
Multimedia container

I più comuni multimedia container sono:







3GP (.3gp, .3g2): usato nel campo della telefonia
AVI (.avi): il formato standard nei sistemi operativi
Windows
MOV (.mov): usato da Apple Quick Time
OGM: Ogg Media, standard video container usato dai
codec Xiph.org
RealMedia (.rm): usato da RealPlayer
VOB (.vob): usato nei DVD
DMF (.divx): DivX Media Format
MPEG: overview


MPEG exploits temporal (i.e frame-to-frame)
redundancy present in all video sequences.
Two Categories: intra-frame and inter-frame
encoding



Causal (predictive coding)


Intra: DCT based compression for the reduction of
spatial redundancy
Inter: Block-based motion compensation for exploiting
temporal redundancy
current picture is modeled as transformation of picture at
some previous time
Non-causal (interpolative coding)

uses past and future picture reference
MPEG: motion representation

Predictive and interpolative coding



Each image is divided into areas called macroblocks (motion compensation units)


Good compression but requires storage
Often makes sense for parts of an image and not the
whole image.
Choice of macro-block size is a tradeoff between gain
from motion compensation and cost of motion
estimation.
In MPEG, each macro-block is partitioned into
16x16 pixels for luminance and 8x8 for each of the
chrominance components.
MPEG: video processing

MPEG stream includes 3 types of image coding:




I-frames - Intra-coded frames - access points for random
access, yields moderate compression
P-frames - Predictive-coded frames - encoded with
reference to a previous I or P frame.
B-frames - Bi-directionally predictive coded frames encoded using previous/next I and P frame, maximum
compression
Motivation for types of frames



Fast random access
More efficient coding scheme
Temporal redundancies of both previous and subsequent
pictures must be exploited
MPEG: video processing
MPEG: video decoding



Using B-frames, the order of images in a
MPEG-coded stream differs from the actual
decoding order.
Display Order:
Type of frame:
BBIBBPBBP
Frame Number: 0 1 2 3 4 5 6 7 8
Decoding Order:
Type of frame:
IBBPBBPBB
Frame Number: 2 0 1 5 3 4 8 6 7
MPEG: I-frames


I-frames (intra-coded images) are self-contained
without any references to other images  can be
treated as still images.
Need efficient compression scheme



Compression must be executed in real-time 
compression of individual frames must occur within a
requested time interval.
As only spatial compression is used low compression
ratio when compared to other MPEG frames
I-frames are points for random-access in an MPEG
stream.
Compression for I-frames

Use 8x8 blocks defined within a macro-block


Perform DCT on these blocks
Quantization is done by a constant value for all
DCT coefficients.
MPEG: P-frames

P-frames (Predictive Coded Frames)


Motion estimation method at encoder:



require information of the previous I-frame
and/or previous P-frames for encoding and
decoding.
Methods that are computation intensive often
give better results.
Tradeoff b/w cost and video quality.
MPEG does not specify a motion estimation
method, it specifies the coding of the result.
MPEG: compression for P-frames
MPEG: compression for P-frames

Look for match window within search
window



Match window corresponds to macro-block
Search window corresponds to arbitrary window
size
Larger search window, better motion estimation
Matching methods

Matching methods

SSD (Sum of squared differences)





subtract pixel by pixel
square the residuals
sum them
find minimal SSD correlation among matching
windows.
SAD (Sum of absolute differences)


correlation is absolute value of residuals
can deal with outliers - In SSD, one bad point gives
large difference which skews the decision of picking
correct match windows.
MPEG: B-frames

B-frames (Bidirectionally predictive coded
frames)

requires information of previous and following I
and/or P frame
Scarica

video