Proposte di tesina Mario Toma.

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

1 I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI.
Introduzione ai circuiti elettronici digitali
Tecniche di compressione dei dati
Capitolo 8 Sistemi lineari.
Laboratorio Processi Stocastici
Filtri Multirate e Banchi di Filtri
Variabili casuali a più dimensioni
esponente del radicando
Sistemi e Tecnologie della Comunicazione
Esercitazioni su circuiti combinatori
CALCOLO DELLA DFT Cosimo Stallo & Paolo Emiliozzi Modulo di Elaborazione Numerica dei Segnali, a.a. 2009/2010.
Corso di Tecniche e Sistemi di trasmissione Fissi e Mobili
Sintesi con circuiti LSI-MSI
Inversione differenziale della Cinematica
Moving Pictures Experts Group Giovanni Margarita 50/193 Rosario Savarese 50/377.
Algoritmi e strutture dati
Sistemi di equazioni lineari
Introduzione DSP. Trestino Cosmo Università degli studi di Padova Capitolo 1, Slide 2 Obiettivi della lezione Perché elaborare i segnali in digitale ?
1 2. Analisi degli Algoritmi. 2 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo:
CODICI Si ringrazia il prof. Di Santo per aver gentilmente messo a disposizione il proprio materiale per la preparazione di alcune delle slides presenti.
Algoritmi e Strutture Dati
CONTROLLO DI SUPPLY CHAIN MEDIANTE TECNICHE H-INFINITO E NEGOZIAZIONE
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
Università degli Studi di Roma La Sapienza
Sintesi con circuiti LSI-MSI. Realizzazione di reti combinatorie mediante Multiplexers Un multiplexer (MPX ) é una rete combinatoria con N ingressi, una.
La conversione analogico-digitale, campionamento e quantizzazione
Il Linguaggio Macchina
Xscale Nicola Rebagliati 2001s135. Cose Xscale Xscale è una microarchitettura per processori che fornisce ottime prestazioni con bassi consumi energetici.
memoria gestita staticamente:
Università di Trieste Calcolatori Elettronici a.a Omero TuzziL01, Basi 1 Sommario: 1. Concetto di bit. 2. Indirizzi di memoria. 3. Ordinamento.
Elaborazione (digitale) delle immagini
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Espressioni condizionali
1 Il Frame Buffer Daniele Marini. 2 Cosè Una memoria dedicata alla registrazione temporanea di una immagine Dimensioni tipiche: –640x480 x 8 bit –1024x1024.
Strutture periodiche discrete: introduzione del vincolo di periodicità e studio della ricostruzione da due proiezioni. A. Del Lungo, A. Frosini, M.Nivat,
Algoritmi di String Matching
PROGETTO DI UN FILTRO POLIFASE FIR DECIMATORE PER IMPIEGO IN UN SISTEMA MULTISTANDARD UMTS-WLAN RELATORE: Prof. Carla Vacchi CORRELATORE: Ing. Everest.
Reti di CalcolatoriAndrea Frosini1 Reti di Calcolatori a.a. 2005/06 Lezione 7.
TRASDUTTORI E SENSORI.
Dinamiche caotiche nei Laser a Semiconduttore
1 Il Frame Buffer Daniele Marini Maurizio Rossi. 2 Cosè Una memoria dedicata alla registrazione temporanea di una immagine Dimensioni tipiche: –640x480.
Codifica dell’informazione
x 3 / = : Numero razionale Classe di equivalenza
Informazione multimediale Lettere e numeri non costituiscono le uniche informazioni utilizzate dagli elaboratori ma ci sono sempre piu’ applicazioni che.
Implementazione di dizionari Problema del dizionario dinamico Scegliere una struttura dati in cui memorizzare dei record con un campo key e alcuni altri.
Laurea Ing EO/IN/BIO;TLC D.U. Ing EO 6 PULSE CODE MODULATION (PCM)
GLI ALGORITMI VISIBILE SUL BLOG INFORMATICA ANNO SCOLASTICO 2013 / 2014 GABRIELE SCARICA 2°T.
Codifica dell’informazione
IL CAMPIONE.
Laurea Ing. EO/IN/BIO;TLC D.U. Ing EO 3
Rappresentazione della Informazione
Rappresentazione dell’informazione
La codifica dei numeri.
Conversione binario-ottale/esadecimale
Informatica Lezione 3 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
I RADICALI.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri in virgola Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
Sistemi Elettronici Programmabili3-1 FPGA: Architettura.
Logica di base e Conversione analogico-digitale Lezione 3 / Prima parte Gaetano Arena e.mail: 1.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Numeri con segno ed in virgola Marco D. Santambrogio – Ver. aggiornata al 20 Marzo.
Sistemi di equazioni lineari. Sistemi di primo grado di due equazioni a due incognite Risolvere un sistema significa trovare la coppia di valori x e y.
Riconoscimento frequenze di note musicali Corso ESIM Prof. P. Daponte Gruppo di lavoro: Mario Calì 195/ Marco Gallucci 195/ Roberto De Falco.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Trattamento delle immagini numeriche Marcello Demi CNR, Institute of Clinical Physiology, Pisa, Italy.
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
Università degli Studi di Roma “La Sapienza” Techniche di Compressione “Elaborazioni delle Immagini” “Elaborazioni delle Immagini”
Steganografia in un file di testo Corso di Sicurezza dei sistemi informatici Prof. Giuseppe Mastronardi Anno Accademico 2006/07.
Transcript della presentazione:

Proposte di tesina Mario Toma

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

Algoritmi per la tesina 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

Trasformata Coseno Discreta 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 k=0 n-1 k=0

fpq=   xij cos[(/N) p(i+1/2)] cos[(/M) q(j+1/2)] 2D-DCT N-1 M-1 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 i=0 j=0

DCT: Calcolo ottimizzato 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

Calcolo della DCT sul PiCoGA 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

Aritmetica Distribuita (DA) 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) K k=1 N-1 n=1 K N-1 k=1 n=1 N-1 K K n=1 k=1 k=1

Aritmetica Distribuita 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) K k=1

Aritmetica Distribuita Quindi, utilizzando le ROM: y =  R1(bkn) 2-n + R2 (bk0) Rimangono da eseguire N accumulazioni 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 N-1 n=1

Attività Tesina 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

Codifica entropica + run-length (MPEG) 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

Variable Length Coding (VLC) 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.

VLC: Implementazione su DSP 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 XiRisc 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 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

Proposta di tesina 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