Lo Standard JPEG per la Compressione di Immagini Fisse - InfoCom

Lo Standard JPEG per la Compressione di Immagini Fisse - InfoCom Lo Standard JPEG per la Compressione di Immagini Fisse - InfoCom

infocom.uniroma1.it
from infocom.uniroma1.it More from this publisher
03.08.2013 Views

4.3. GLI STANDARD H.261 ED H.263 PER LA COMPRESSIONE DI SEQUENZE VIDEO 67 4.3.2 Stima del moto e motocompensazione La valutazione del vettore spostamento si effettua solo su macroblocchi di luminanza. La motocompensazione sulla crominanza si effettua utilizzando il vettore spostamento misurato dalla luminanza. Nello standard H.261 la Search Window è limitata ai valori interi −15 ≤ d1,d2 ≤ 15. Nello standard H.263, si considerano anche valori semi-interi, e.g. d1 =3.5,d2 =7.5, e la Search Window è −16 ≤ d1,d2 ≤ 15.5. Per i valori semi-interi è necessario interpolare sul quadro precedente. Inoltre, è possibile valutare il vettore spostamento su blocchetti 8x8. 4.3.3 Codifica dei Vettori di Spostamento Nello standard H.263, il vettore di spostamento MV è codificato predittivamente, ossia è codificata la differenza MVD fra tale vettore ed un opportuno vettore di spostamento “predittore” MVP, ottenuto come il valore mediano di tre vettori opportunamente scelti fra quelli appartenenti a tre macroblocchi adiacenti, secondo quanto mostrato dalla figura seguente. Le due componenti del vettore MVD sono poi codificate entropicamente utilizzando un codice a lunghezza variabile specificato nello standard. 4.3.4 Trasformazione DCT Figura 4.8: Vettori di Spostamento La trasformazione DCT si applica ai blocchetti di 8x8 pixel, sia per i quadri codificati INTRA che per quelli codificati INTER. Come nello standard JPEG, non é specificato un metodo specifico per calcolare la DCT.

68 CAPITOLO 4. ELEMENTI DI CODIFICA VIDEO 4.3.5 Quantizzazione Per quanto riguarda il coefficiente DC, abbiamo sempre Q[0, 0] = 8. Per i restanti coefficienti (AC) abbiamo Q[k1,k2] = 2·QP, con valori compresi fra 1 ≤ QP ≤ 31 (vedi Tab.4.2). Occorre sottolineare che il valore QP è tenuto fissato per un intero macroblocco, i.e. non varia per blocchetti appartenenti allo stesso macroblocco. La modalità di scelta non è specificata nello standard. Naturalmente, il valore QP può variare a seconda del tipo di codifica (INTRA, INTER-P, INTER-B). 8 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP 2·QP Tabella 4.2: Tabelle dei passi di quantizzazione per quadri codificati INTRA nello standard H.263, con 1 ≤ QP ≤ 31. Per i macroblocchi e quadri codificati INTER abbiamo ˙ X (DCT) X INTER [k1,k2] =round (DCT) INTER [k1,k2] − QP/2 . 2·QP 4.3.6 Codifica Entropica Dopo quantizzazione, come detto in precedenza, i blocchi si presentano come un insieme di valori intervallati da un gran numero di zeri, e dunque ben si prestano ad una codifaca delle corse. Innanzitutto, i coefficienti quantizzati vengono scanditi a “zig-zag”, come in JPEG. La codifica delle corse si effettua mediante tre campi: • LAST: indica se il coefficiente corrente sia o meno l’ultimo coefficiente diverso da zero nel blocco; • RUN: il numero di zeri consecutivi che precedono il coefficiente da codificare; • LEVEL : il valore non nullo del coefficiente da codificare. I tre campi sono poi codificati mediante un codice di lunghezza variabile che però codicifica solo le terne più frequentemente ricorrenti. Per le altre si ricorre a una opportuna sequenza cosiddetta di ESCAPE. 4.3.7 Controllo di Codifica Essenzialmente, il controllo di codifica svolge due funzioni: 1. selezione del modo di codifica INTRA/INTER.; 2. assegnazione del parametro QP al quantizzatore. Per comprendere la presenza del controllo di codifica, occorre sottolineare che il multiplexer a valle del codificatore video deve erogare alla sua uscita un flusso di cifre binarie a velocità costante, sebbene al suo ingresso sia presente un flusso con velocità non costante. A questo scopo provvede un’apposita memoria tampone (buffer), di dimensioni limitate. Il controllo di codifica, quindi, dipende dallo stato di riempimento del buffer. Ad esempio, vicino alla

4.3. GLI STANDARD H.261 ED H.263 PER LA COMPRESSIONE DI SEQUENZE VIDEO 67<br />

4.3.2 Stima del moto e motocompensazione<br />

La valutazione del vettore spostamento si effettua solo su macroblocchi <strong>di</strong> luminanza. La motocompensazione sul<strong>la</strong><br />

crominanza si effettua utilizzando il vettore spostamento misurato dal<strong>la</strong> luminanza.<br />

Nello standard H.261 <strong>la</strong> Search Window è limitata ai valori interi −15 ≤ d1,d2 ≤ 15.<br />

Nello standard H.263, si considerano anche valori semi-interi, e.g. d1 =3.5,d2 =7.5, e <strong>la</strong> Search Window è<br />

−16 ≤ d1,d2 ≤ 15.5. Per i valori semi-interi è necessario interpo<strong>la</strong>re sul quadro precedente. Inoltre, è possibile<br />

valutare il vettore spostamento su blocchetti 8x8.<br />

4.3.3 Co<strong>di</strong>fica dei Vettori <strong>di</strong> Spostamento<br />

Nello standard H.263, il vettore <strong>di</strong> spostamento MV è co<strong>di</strong>ficato pre<strong>di</strong>ttivamente, ossia è co<strong>di</strong>ficata <strong>la</strong> <strong>di</strong>fferenza<br />

MVD fra tale vettore ed un opportuno vettore <strong>di</strong> spostamento “pre<strong>di</strong>ttore” MVP, ottenuto come il valore me<strong>di</strong>ano <strong>di</strong><br />

tre vettori opportunamente scelti fra quelli appartenenti a tre macroblocchi a<strong>di</strong>acenti, secondo quanto mostrato dal<strong>la</strong><br />

figura seguente. Le due componenti del vettore MVD sono poi co<strong>di</strong>ficate entropicamente utilizzando un co<strong>di</strong>ce a<br />

lunghezza variabile specificato nello standard.<br />

4.3.4 Trasformazione DCT<br />

Figura 4.8: Vettori <strong>di</strong> Spostamento<br />

La trasformazione DCT si applica ai blocchetti <strong>di</strong> 8x8 pixel, sia <strong>per</strong> i quadri co<strong>di</strong>ficati INTRA che <strong>per</strong> quelli co<strong>di</strong>ficati<br />

INTER. Come nello standard <strong>JPEG</strong>, non é specificato un metodo specifico <strong>per</strong> calco<strong>la</strong>re <strong>la</strong> DCT.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!