1 / 17

Proposte di tesina Mario Toma

Proposte di tesina Mario Toma. YUV. FDCT. Quant. RLE-VLC. Predizione. Quant. Inv. Stream MPEG. -. Stima di Moto. IDCT. Algoritmo MPEG. Trasformata coseno discreta (decorrelazione). Quantizzazione (molti campioni troncati a zero). Frame (luminanza + crominanza).

jamil
Download Presentation

Proposte di tesina Mario Toma

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Proposte di tesina Mario Toma

  2. YUV FDCT Quant. RLE-VLC Predizione Quant. Inv. Stream MPEG - Stima di Moto IDCT Algoritmo MPEG Trasformata coseno discreta (decorrelazione) Quantizzazione (molti campioni troncati a zero) Frame (luminanza + crominanza) Codifica entropica + run-length (riduzione ridondanza)

  3. FDCT/IDCT trasformazione di un segnale in due dimensioni nel dominio della frequenza energia concentrata in pochi campioni concettualmente simile a trasformata di Fourier discreta Codifica entropica/run-length forte compressione grazie all’eliminazione della ridondanza Bitstream in ingresso ha molti zeri → codifica run-length Codifica entropica simile ad Huffman Algoritmi per la tesina

  4. fj=xk cos[(/n) j (k+1/2)] Complessità O(n 2) i fattori cjk = cos[(/n) j (k+1/2)] sono costanti per n fissato (MPEG n =8) per n costante la DCT si riduce ad una sommatoria di prodotti per costante: fj=xk cjk Trasformata Coseno Discreta n-1 k=0 n-1 k=0

  5. fpq=  xij cos[(/N) p(i+1/2)] cos[(/M) q(j+1/2)] Trasformazione della matrice di pixel xij nella matrice fpq la doppia sommatoria si può separare nel prodotto di due 1D-DCT (caso precedente) si computa prima la 1D-DCT sulle M colonne, e sul risultato si computa la 1D-DCT sulle N righe 2D-DCT N-1 M-1 i=0 j=0

  6. I termini moltiplicativi costanti: cjk = cos[(/n) j (k+1/2)] presentano delle proprietà di simmetria che permettono di semplificare i calcoli. Esempio per n=8: Implementazione diretta: 64 moltiplicazioni, 56 addizioni Algoritmo di Loeffler: 11 moltiplicazioni e 29 addizioni DCT: Calcolo ottimizzato

  7. La DCT si riduce ad un calcolo di somme e moltiplicazioni per costante. Problema: il PiCoGA non implementa le moltiplicazioni in modo efficiente Soluzioni: sviluppare il prodotto per costante attraverso operazioni di somma e shift sfruttare l’aritmetica distribuita Calcolo della DCT sul PiCoGA

  8. Utilizzata nel calcolo di espressioni del tipo: y=Ak xk dove le grandezze Ak sono costanti. Se xk è rappresentato in complemento a due, e nell’ipotesi che | xk | < 1 xk = -bk0 +  bkn 2-n y= Ak[-bk0 +  bkn 2-n ] y =  [  Ak bkn ] 2-n + Ak (-bk0) Aritmetica Distribuita (DA) K k=1 N-1 n=1 K N-1 n=1 k=1 N-1 K K n=1 k=1 k=1

  9. Il termine individuato precedentemente: Cn = Ak bkn può assumere solo 2K possibili valori in quanto bkn sono K variabili binarie. L’espressione sopra riportata può essere quindi pre-calcolata e memorizzata in una ROM, indirizzata dal vettore di K bit bkn. Cn = R(bkn) Aritmetica Distribuita K k=1

  10. Quindi, utilizzando le ROM: y =  R1(bkn)2-n + R2 (bk0) Rimangono da eseguire Naccumulazioni e shift. Tale approccio può essere sviluppato ulteriormente al fine di aumentare lo speed-up e ridurre le risorse hardware Nell’ MPEG, con N=8 (pixel rappresentati con 8 bit), sono necessarie delle ROM con 256 locazioni da 8 bit ed un accumulatore Implementabile sul PiCoGA Aritmetica Distribuita N-1 n=1

  11. Studiare il materiale a disposizione riguardante una implementazione ottimizzata della DCT Assimilare le basi dell’aritmetica distribuita Ideare uno schema che sfrutta l’aritmetica distribuita per il calcolo della DCT, mappabile su PiCoGA Implementazione in Griffy-C e simulazione dello schema ideato Attività Tesina

  12. A valle della quantizzazione i simboli presentano le seguenti caratteristiche: lunghe sequenze di zeri (termini di minore energia troncati a zero) Vantaggi da codici run-length distribuzione delle frequenze di occorrenza dei simboli non uniforme Vantaggi da codifica a lunghezza variabile tipo Huffman L’MPEG prevede una codifica a lunghezza variabile che contiene entrambe le caratteristiche Codifica entropica + run-length (MPEG)

  13. Si considerano le coppie (symb_in,run-length), dove run-lengthè il numero di zeri che precede il simbolo in ingresso symb_in. Ad ogni coppia si associa un simbolo in uscita, symb_out avente un numero di bit variabile Il numero di bit di symb_out dipende dalla probabilità di occorrenza della coppia (symb_in,run-length). Una tabella associativa permette di ottenere symb_out dalla coppia (symb_in,run-length). Non tutte le possibili coppie (symb_in,run-length) hanno delle entry nella tabella associativa. In caso di entry assente, symb_out coincide con la coppia (symb_in,run-length) preceduta da una opportuna sequenza di escape (per evitare confusioni con altri simboli del codice) La tabella associativa è stabilita dal trasmettitore (può essere predefinita o variabile dinamicamente) e viene trasmessa al ricevitore insieme al bitstream. Variable Length Coding (VLC)

  14. La tabella associativa è implementata attraverso una matrice indirizzata dalla coppia (symb_in,run-length) Matrice suddivisa in varie sottomatrici → solo alcune coppie (symb_in,run-length) sono indirizzi validi La matrice contiene le coppie (symb_out,nbit), dove nbitè il numero di bit del simbolo in uscita symb_out. Una procedura provvede a scrivere gli nbit di symb_out sul bitstream in uscita VLC: Implementazione su DSP

  15. La tabella associativa può essere implementata attraverso le LUT del PiCoGA Svantaggio: occorre un meccanismo per modificare a run-time il contenuto delle LUT Vantaggio: il PiCoGA funge da “cache dedicata” con un risparmio nel consumo di potenza VLC: Implementazione su XiRisc

  16. La procedura per scrivere nbit sul bitstream è molto inefficiente (operazioni bit-level) PiCoGA utilizzabile per implementare queste operazioni bit-level Possibilità di integrare in un’unica pga-op sia l’accesso in tabella che la generazione del bitstrea, im uscita VLC: implementazione su XiRisc

  17. Implementazione della tabella associativa sul PiCoGA con meccanismo per la programmazione run-time delle LUT Definizione della pga-op per la gestione del bitstream in uscita Versione duale delle due tesine anche per il decoder VLC Proposta di tesina

More Related