• Non ci sono risultati.

Sergio Saponara per la sua continua, incondizionata cura e meticolosa attenzione

N/A
N/A
Protected

Academic year: 2021

Condividi "Sergio Saponara per la sua continua, incondizionata cura e meticolosa attenzione"

Copied!
7
0
0

Testo completo

(1)

I

RINGRAZIAMENTI

Ringrazio il Prof. Luca Fanucci, il Prof. Pierangelo Terreni e il Prof.Roberto Saletti per la disponibilità offerta durante questo lavoro di tesi e l’Ing. Sergio Saponara per la sua continua, incondizionata cura e meticolosa attenzione.

Un’attenzione speciale va ai miei familiari per aver creduto in me fino alla fine e ai miei più cari amici: Andrea, Denny, Matteo, Maddalena e in particolare Duccio per avermi sostenuto in ogni momento.

(2)

Sommario

II

Introduzione ... 1

Capitolo 1... 3

1.1 Introduzione ... 3

1.2 la codifica video e il suo ruolo nelle applicazioni multimediali ... 5

1.2.1 Standard internazionali ... 5

1.2.2 Principi di compressione di immagini ... 5

1.2.2.1 codifica di immagini statiche... 6

1.2.2.2 codifica di immagini in movimento... 8

1.2.3 Misure di distorsione ... 10

1.3 Storia degli standard precedenti... 11

1.4 Descrizione dello standard H.264/AVC ... 13

1.4.1 Network Abstraction Layer ... 13

1.4.2 Video coding Layer ... 14

1.4.3 Suddivisione dell’immagine in macroblocchi ... 16

1.4.4 Predizione di un intra-frame ... 16

1.4.5 Compensazione e stima del moto ... 17

1.5 Metodologia di valutazione di complessità e prestazioni ... 20

1.6 Analisi tool-by-tool del codice JM2.1 ... 22

1.7 Descrizione della stima del moto Full Search ... 23

Capitolo 2... 26

2.1 Introduzione ... 26

2.2 Ambiente di test ... 27

2.2.1 Sequenze di test ... 27

2.2.2 Configurazioni di test... 28

2.3 Confronto tra la versione 2.1 e la versione 6.1d ... 29

2.3.1 Analisi con MOTHER&DAUGHTER ... 29

2.3.2 Analisi Con FOREMAN QCIF... 31

2.3.3 Analisi con FOREMAN CIF ... 33

2.3.4 Analisi Con STEFAN CIF... 35

2.3.5 Conclusioni ... 36

2.4 Confronto tre la versione 6.1d e la AHM20 ... 37

2.4.1 AHM20: evoluzione della 6.1d... 37

2.4.2 Analisi Con MOTHER&DAUGHTER ... 39

2.4.3 Analisi Con FOREMAN QCIF... 41

2.4.4 Analisi Con FOREMAN CIF ... 43

2.4.5 Analisi Con STEFAN CIF... 45

2.4.6 Conclusioni ... 46

2.5 Analisi della versione AHM20 disattivando il rate control ... 47

2.5.1 Motivazione dell’analisi ... 47

2.5.2 Analisi Con MOTHER&DAUGHTER ... 47

2.5.3 Analisi Con FOREMAN QCIF... 49

2.5.4 Analisi Con FOREMAN CIF ... 51

2.5.5 Analisi Con STEFAN CIF... 53

2.5.6 Conclusioni ... 55

2.6 Peso della stima di moto all’interno dell’encoder ... 55

Capitolo 3... 58

3.1 Ambiente di test ... 58

3.2 Algoritmi di stima del moto a bassa complessità ... 59

3.3 Stima del moto e ricerca adattiva... 61

3.3.1 Approccio Window Follower ... 61

(3)

III

3.3.2 Algoritmo JVT-C065... 62

3.3.3 Algoritmo Enhanced Window Follower per H.263... 64

3.4 Algoritmo enhanced window follower ... 67

3.4.1 Struttura del codice sorgente... 67

3.4.2 Studio del comportamento della SAD al variare di QP ... 68

3.4.3 Descrizione dell’algoritmo proposto ... 74

3.5 Confronto dell’ algoritmo proposto con la FS e JVT-C065 ... 77

3.5.1 Risultati di simulazioni relative ai tre algoritmi ... 77

3.5.1.1 Considerazioni sulle prestazioni ... 77

3.5.1.2 Considerazione sui tempi di codifica... 82

3.5.1.3 Conclusioni ... 91

3.5.2 Comportamento rispetto all’introduzione di tools ... 91

3.5.2.1 Analisi di Mother&Daughter QCIF... 92

3.5.2.2 Analisi di Mobile&Calendar SIF... 94

3.5.2.3 Analisi con Stefan CIF... 96

3.5.2.4 Conclusioni ... 98

3.5.3 Esempi di codifica fissando il bit-rate ... 98

3.6 Considerazioni sulla architettura hardware... 105

3.6.1 Risultati di simulazione dell’algoritmo con search area fissa... 106

3.6.1.1 Analisi con Mother&Daughter ... 107

3.6.1.2 Analisi con Foreman QCIF... 108

3.6.1.3 Analisi con Foreman CIF... 109

3.6.1.4 Analisi con Stefan CIF... 110

3.6.1.5 Analisi con Mobile&Calendar SIF ... 111

3.6.1.6 Analisi con Mobile&Calendar CCIR... 112

3.6.1.7 Conclusioni ... 113

3.7 Stima del moto multiframe ... 114

3.7.1 Analisi di prestazioni utilizzando il controllo sui frames di riferimento 115 3.7.1.1 Analisi con Mother&Daughter QCIF ... 115

3.7.1.2 Analisi con Mobile &Calendar CIF... 117

3.7.1.3 Analisi con Stefan CIF... 119

3.7.1.4 Conclusioni ... 121

3.8 Conclusioni ... 122

Capitolo 4... 123

4.1 Descrizione dello schema generale... 123

4.2 Descrizione di N_frame ... 125

4.3 Descrizione di determine_range... 127

4.3.1 Descrizione di MV_P generator ... 130

4.3.2 Descrizione di max_mv generator ... 131

4.3.3 Descrizione di new_range generator... 132

4.3.4 Descrizione di thresholds... 134

4.4 Descrizione di mv_temp... 135

4.5 Descrizione di control_unit ... 136

4.6 Esempi di simulazione ... 138

4.7 Sintesi del circuito ... 142

4.7.1 Risultati riguardanti occupazione di area... 143

4.7.2 Risultati riguardanti tempo di propagazione dei dati... 145

4.7.3 Dipendenza dei risultati dalle specifiche di sintesi... 146

4.8 Considerazioni sulla potenza ... 149

(4)

Sommario

IV Capitolo 5 Conclusioni ... 151

(5)

V

Figura 1.1: schema di base di un encoder per immagini statiche ... 6

Figura 1.2: scansione a zig-zag della matrice dei coefficienti... 7

Figura 1.3: schema di base di un decodificatore per immagini statiche ... 8

Figura 1.4: schema di base di un encoder ibrido ... 9

Figura 1.5: esempio di predizioni I, P e B di una sequenza video... 10

Figura 1.6: struttura di base di un VCL per H.264/AVC per un macroblocco... 15

Figura 1.7: segmentazione di un macroblocco per la compensazione del moto... 17

Figura 1.8: compensazione di moto su più frame... 19

Figura 1.9: co-valutazione di prestazioni algoritmiche e di complessità per un effettivo costo di un sistema... 21

Figura 1.10: algoritmo di Full search... 24

Figura 2.1: tempo di codifica per i vari casi (MD test)... 29

Figura 2.2: rapporto segnale/rumore per i vari casi (MD test) ... 30

Figura 2.3: bit-rate per i vari casi (MD test) ... 30

Figura 2.4: tempo di codifica per i vari casi (FOR1 test) ... 31

Figura 2.5: rapporto segnale/rumore per i vari casi (FOR1 test) ... 32

Figura 2.6: bit-rate per i vari casi (FOR1 test)... 32

Figura 2.7: tempo di codifica per i vari casi (FOR2 test) ... 33

Figura 2.8: rapporto segnale/rumore per i vari casi (FOR2 test) ... 34

Figura 2.9: bit-rate per i vari casi (FOR2 test)... 34

Figura 2.10: tempo di codifica per i vari casi (SF test)... 35

Figura 2.11: rapporto segnale/rumore per i vari casi (SF test) ... 36

Figura 2.12: bit-rate per i vari casi (SF test) ... 36

Figura 2.13: locazione dei blocchi di riferimento per la decisione dell’area di ricerca.. 37

Figura 2.14: tempo di codifica per i vari casi (MD test)... 40

Figura 2.15: rapporto segnale/rumore per i vari casi (MD test) ... 40

Figura 2.16: bit-rate per i vari casi (MD test) ... 41

Figura 2.17: tempo di codifica per i vari casi (FOR1 test) ... 41

Figura 2.18: rapporto segnale/rumore per i vari casi (FOR1 test) ... 42

Figura 2.19: bit-rate per i vari casi (FOR1 test)... 42

Figura 2.20: tempo di codifica per i vari casi (FOR2 test) ... 43

Figura 2.21: rapporto segnale/rumore per i vari casi (FOR2 test) ... 44

Figura 2.22: bit-rate per i vari casi (FOR2 test)... 44

Figura 2.23: tempo di codifica per i vari casi (SF test)... 45

Figura 2.24: rapporto segnale/rumore per i vari casi (SF test) ... 46

Figura 2.25: bit-rate per i vari casi (SF test) ... 46

Figura 2.26: tempo di codifica per i vari casi (MD test)... 48

Figura 2.27: rapporto segnale/rumore per i vari casi (MD test) ... 48

Figura 2.28: bit-rate per i vari casi (MD test) ... 49

Figura 2.29: tempo di codifica per i vari casi (FOR1 test) ... 49

Figura 2.30: rapporto segnale/rumore per i vari casi (FOR1 test) ... 50

Figura 2.31: bit-rate per i vari casi (FOR1 test)... 50

Figura 2.32: tempo di codifica per i vari casi (FOR2 test) ... 51

Figura 2.33: rapporto segnale/rumore per i vari casi (FOR2 test) ... 52

Figura 2.34: bit-rate per i vari casi (FOR2 test)... 52

Figura 2.35: tempo di codifica per i vari casi (SF test)... 53

Figura 2.36: rapporto segnale/rumore per i vari casi (SF test) ... 54

Figura 2.37: bit-rate per i vari casi (SF test) ... 54

Figura 2.38: tempi di codifica:... 57

Figura 3.1: locazione dei blocchi di riferimento per la decisione dell’area di ricerca.... 62

(6)

Indice delle figure

VI

Figura 3.2: andamento della SADmin per MD con QP =24... 69

Figura 3.3: andamento della SADmin per MC con QP =24... 70

Figura 3.4: andamento della SADmin per SF con QP =24... 70

Figura 3.5: andamento della SADmin al variare del QP per MC1 ... 71

Figura 3.6: andamento della SAD al variare del QP per SF. ... 72

Figura 3.7:Suddivisione in zone del dominio di analisi per determinare il range di ricerca... 74

Figura 3.8: locazione dei blocchi di riferimento per la decisione dell’area di ricerca.... 75

Figura 3.9: andamento del bit-rate al variare di QP per MD ... 78

Figura 3.10: andamento del PSNR al variare di QP per MD... 79

Figura 3.11: andamento del bit-rate al variare di QP per FOR1... 79

Figura 3.12: andamento del PSNR al variare di QP per FOR1 ... 80

Figura 3.13: andamento del bit-rate al variare di QP per MC1 ... 80

Figura 3.14: andamento del PSNR al variare di QP per MC1... 81

Figura 3.15: andamento del bit-rate al variare di QP per SF ... 81

Figura 3.16: andamento del PSNR al variare di QP per SF... 82

Figura 3.17: andamento del tempo di codifica al variare di QP per MD... 83

Figura 3.18: tempi di codifica per MD ... 83

Figura 3.19: bit rate per MD (QP =28) ... 84

Figura 3.20: tempo di codifica per FOR1 ... 85

Figura 3.21: bit-rate per FOR1 (QP =28) ... 85

Figura 3.22: tempo di codifica per MC1... 86

Figura 3.23: bit-rate per MC1 (QP =28) ... 87

Figura 3.24: tempo di codifica per SF ... 88

Figura 3.25: bit-rate per SF (QP =28)... 88

Figura 3.26: tempo di codifica per MC2... 89

Figura 3.27: bit rate per MC2 (QP =28) ... 90

Figura 3.28: tempo di codifica per MD ... 92

Figura 3.29: bit-rate per MD... 93

Figura 3.30: PSNR per MD ... 93

Figura 3.31: tempo di codifica per MC1... 94

Figura 3.32: bit-rate per MC1 ... 95

Figura 3.33: PSNR per MC1... 95

Figura 3.34: tempo di codifica per SF ... 96

Figura 3.35: bit-rate per SF... 97

Figura 3.36: PSNR per SF ... 97

Figura 3.37: tempo di codifica a 56 Kb/s... 99

Figura 3.38: PSNR a 56 Kb/s... 99

Figura 3.39: tempo di codifica a 256 Kb/s... 100

Figura 3.40: PSNR a 256 Kb/s... 100

Figura 3.41: tempo di codifica per 512 Kb/s ... 101

Figura 3.42: PSNR per 512 Kb/s ... 101

Figura 3.43: tempo di codifica a 1536 Kb/ ... 102

Figura 3.44: PSNR a 1536 Kb/s... 102

Figura 3.45: tempo di codifica per 5012 Kb/s ... 103

Figura 3.46: PSNR per 5012 Kb/s ... 103

Figura 3.47: rispettivamente: frame corrente e frame di riferimento ... 105

Figura 3.48: tempo di codifica per MD ... 107

Figura 3.49: bit-rate per MD... 107

Figura 3.50: tempo di codifica per FOR1 ... 108

(7)

VII

Figura 3.51: bit-rate per FOR1 ... 108

Figura 3.52: tempo di codifica per FOR2 ... 109

Figura 3.53: bit-rate per FOR2 ... 109

Figura 3.54: tempo di codifica per SF ... 110

Figura 3.55: bit-rate per SF... 111

Figura 3.56: tempo di codifica per MC1... 111

Figura 3.57: bit-rate per MC2 ... 112

Figura 3.58: tempo di codifica per MC2... 112

Figura 3.59: bit-rate per MC2 ... 113

Figura 3.60: tempo di codifica per MD con l’algoritmo proposto per più frames ... 116

Figura 3.61: bit-rate per MD con l’algoritmo proposto per più frames... 117

Figura 3.62: PSNR per MD con l’algoritmo proposto per più frames ... 117

Figura 3.63: Tempo di codifica per MC1 con l’algoritmo proposto per più frames .... 118

Figura 3.64: Bit-rate per MC1 con l’algoritmo proposto per più frames ... 119

Figura 3.65: PSNR per MC1 con l’algoritmo proposto per più frames... 119

Figura 3.66: tempi di codifica per SF con l’algoritmo proposto per più frames ... 120

Figura 3.67: bit-rate per SF con l’algoritmo proposto per più frames... 120

Figura 3.68: PSNR per SF con l’algoritmo proposto per più frames ... 121

Figura 4.1: schema generale ... 124

Figura 4.2: schema circuitale di N_frame... 126

Figura 4.3: schema circuitale generale di determine_range. ... 129

Figura 4.4: schema circuitale di MV_P generator ... 131

Figura 4.5: schema circuitale di max_mv generator... 132

Figura 4.6: schema circuitale di new_range generator ... 133

Figura 4.7: schema circuitale di thresholds ... 134

Figura 4.8: schema circuitale di mv_temp... 136

Figura 4.9: schema circuitale di control_unit ... 137

Figura 4.10: calcolo del range di ricerca per il primo macroblocco di un frame... 139

Figura 4.11: calcolo del range di ricerca per il secondo macroblocco di un frame ... 140

Figura 4.12: calcolo del range di ricerca per il terzo macroblocco di un frame ... 140

Figura 4.13: determinazione del massimo vettore di moto di un macroblocco... 142

Figura 4.14: occupazione di area per vari formati ... 143

Figura 4.15: occupazione di area per vari formati ... 144

Figura 4.16: percentuali di occupazione di area ... 145

Figura 4.17: tempo di propagazione dei dati ... 146

Figura 4.18: occupazione di area per vari formati ... 147

Figura 4.19: occupazione di area per vari formati ... 147

Figura 4.20: percentuali di occupazione di area ... 148

Figura 4.21: tempo di propagazione dei dati ... 149

Riferimenti

Documenti correlati

pagamento (se del caso) Nome della controparte di riferimento del Debitore: se si effettua un pagamento relativo a un contratto tra il Creditore e un altro soggetto diverso

La questione concerne la restituzione della quota parte delle commissioni e dei premi assicurativi non maturati spettante al consumatore in caso di estinzione anticipata di un

Nelle ultime 2 colonne rosso e verde indicano il superamento, o meno, della soglia di saturazione del 40% per l’area medica e del 30% per le terapie intensive

Nelle ultime 2 colonne rosso e verde indicano il superamento, o meno, della soglia di saturazione del 40% per l’area medica e del 30% per le terapie intensive

Nella seconda colonna rosso e verde indicano rispettivamente un aumento o una diminuzione di nuovi casi rispetto alla settimana precedente.. Nelle ultime 2 colonne rosso e

posto della croce – la fede in Gesù Cristo veniva espressa con una varietà di simboli...

La qualificazione nell’applicazione di metodologie di base, di strumenti e di informazioni gli consentono di svolgere attività relative all’installazione e manutenzione di

Oggi numerose persone e numerose famiglie ricorrono alle più dispara- te coperture assicurative: sull’abitazione, sulla responsabilità civile della fa- miglia, sulla salute,