INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Performance de circuits.

Slides:



Advertisements
Présentations similaires
Chapitre annexe. Récursivité
Advertisements

2. Echantillonnage et interpolation des signaux vidéo
INTRODUCTION.
Exercices sur la conception de processeurs
Le Codage M P E G PAR ERAUD yann BLAS Tony CANUTE Amirt.
(notes, section 1.3) Implémentation des systèmes numériques Quatre considérations d’implémentation Taille du système Précision des calculs Taux de traitement.
Video Numérique – Formats
Cours #6 Conception d’unités de contrôle
Cours #12: Exercices de révision
Cours #8 Flot de conception d’un circuit numérique
Methode de Tri efficace
3 - Compression des images.
IFT-2000: Structures de Données Introduction à lanalyse dalgorithmes Dominic Genest, 2009.
Algorithmique et Programmation
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Design dun système de vision embarqué. Application:
Cours #7 Vérification d’un modèle VHDL
(notes, section 1.3) Implémentation des systèmes numériques Quatre considérations d’implémentation Taille du système Précision des calculs Aujourd’hui.
Pr. M. Talibi Alaoui Département Mathématique et Informatique
L ’acquisition d ’images
Analyse des Algorithmes
CIM 2003 Brand and Strategy CANOPUS Monter en HDV Conférence CST - novembre 2005.
Modélisation VHDL d’un chemin des données
Représentation binaire de nombres entiers et opérations arithmétiques de base Sujets de ce thème
Projet Télédétection Vidéo Surveillance Deovan Thipphavanh – Mokrani Abdeslam – Naoui Saïd Master 2 Pro SIS / 2006.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Représentation et opérations.
Les Cartes Graphiques. Plan I / Introduction DéfinitionHistorique Les Modes II / Constitution d’une carte et son fonctionnement ProcesseurMémoire Le bus.
Banc d’essai pour un circuit combinatoire
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Options d’implémentation.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Synthèse d’un circuit.
Modélisation VHDL du chemin des données d’un processeur à usage général Sujets de ce thème
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois La technique du pipeline.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Implémentation d’un.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Augmenter le débit d’un.
INTRODUCTION.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Entrées et sorties par.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Vue d’ensemble des systèmes.
Tests de boîte noire.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Vérification de circuits.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Le problème du déphasage.
Etude et test des algorithmes d'estimation de mouvement en MPEG
INF8505: processeurs embarqués configurables
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Encodage du jeu d’instructions.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Arithmétique entière.
Programmation linéaire en nombres entiers
Concepts intermédiaires de VHDL
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Performance de circuits.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Modélisation VHDL de.
Synthèse et implémentation d’un circuit combinatoire
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Simulation d’un modèle.
Rappel - analyse et synthèse de fonctions combinatoires
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Banc d’essai pour un.
Cours 4 - Trois algorithmes de recherche dans un tableau
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Objets des catégories.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Analyse détaillée du.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Chemin des données d’un.
Implémentation de la division sur FPGA
VHDL pour circuits séquentiels
Les Cartes Graphiques.
Recherche de motifs par projections aléatoires
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Flot de conception de.
PS3_16 Project 3D Vision On Chip Implémentation VHDL de la «Census Transform» F. Bertrand.
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
DPI / Pixels / Compression
MPEG : normalisation La vidéo est compressé en MPEG2 Une vidéo classique : (720x576) à 50 images entrelacées par seconde. Le Mpeg-2 travaille sur 1/4 de.
Cours 5 - Trois algorithmes de tri d'un tableau
Visualisation des flots optiques en 3D
Architecture et technologie des ordinateurs II
Traitement d’images 420-D78-SW A15 Semaine 02.
Partie II : Segmentation
Transcription de la présentation:

INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Performance de circuits numériques Partie 1 – le facteur temps – introduction

INF3500 : Conception et implémentation de systèmes numériques Quatre considérations pour l’implémentation d’un système numérique 2 Précision des calculs Puissance consommée Taille du système Taux de traitement

INF3500 : Conception et implémentation de systèmes numériques Performance de circuits numériques Partie 1: le facteur temps Pour être acceptable, un circuit numérique doit rencontrer ses spécifications fonctionnelles: il doit produire les bons résultats. Il doit aussi rencontrer ses spécifications temporelles: il doit produire les résultats à temps. Le taux de traitement est directement proportionnel – à la fréquence d’horloge; – au nombre de résultats produits par cycle d’horloge; et, – au nombre d’unités de calcul en parallèle. 3

INF3500 : Conception et implémentation de systèmes numériques Exemple: désentrelacement vidéo pour télévision HD Un téléviseur HD peut afficher des images de 1920 pixels de large par 1080 pixels de haut, à un taux d’au moins 60 images par seconde. Plusieurs sources fournissent une vidéo de qualité inférieure. Par exemple, la norme ATSC « 1080i » de télévision au Canada spécifie: – images de 1920 × 540 pixels; – chaque trame contient soit les lignes paires soit les lignes impaires de l’image originale de 1080 lignes; – les images sont entrelacées à un taux de 60 trames par seconde. Le téléviseur doit recombiner les images par un processus de désentrelacement. 4

INF3500 : Conception et implémentation de systèmes numériques Désentrelacement intra-trame Le désentrelacement intra-trame consiste à reconstituer une image complète à partir de l’information reçue d’une seule trame. Pour chaque trame, il faut estimer la valeur des lignes de pixels manquantes à partir des lignes fournies de la trame présente. Deux approches naïves: – Répéter chaque ligne reçue (line doubling); – Moyenner des paires de lignes reçues (line averaging) Problèmes des approches naïves: – Perte de résolution – Scintillement (flickering) des objets fixes 5

INF3500 : Conception et implémentation de systèmes numériques Désentrelacement inter-trame Le désentrelacement inter-trame consiste à reconstituer une image complète à partir de l’information reçue de plusieurs trames. Pour chaque trame il faut estimer la valeur des lignes de pixels manquantes à partir des lignes fournies de plusieurs trames. Le nombre de calculs et les besoins en mémoire sont beaucoup plus grands que pour les approches intra-trame. 6

INF3500 : Conception et implémentation de systèmes numériques Désentrelacement vidéo Analyse du taux de traitement Le traitement nécessaire pour effectuer le désentrelacement peut être très simple, par exemple doubler chaque ligne reçue. Il peut être très complexe, par exemple effectuer le suivi d’objets d’une trame à l’autre pour n’utiliser que des pixels originaux dans chaque image produite. Pour une image HD, le nombre de pixels à calculer est: 1920 × 540 = pixels Le taux de traitement nécessaire est: pixels/image × 60 images/s ≈ 62.2 Mpixels/s. Chaque pixel est composé de trois octets (R, G, B), pour un total de ≈ Moctets/s. 7

INF3500 : Conception et implémentation de systèmes numériques Désentrelacement intra-trame Algorithme ELA L’algorithme ELA (Edge-based Line Average) produit de meilleurs résultats que le doublage ou le moyennage de lignes. Pour chaque pixel à calculer P, on calcule la similarité entre les trois paires de pixels (A, F), (B, E) et (C, D). La paire avec la plus grande similarité est choisie, et sa moyenne donne le pixel manquant. Pour chaque pixel, il faut: – Calculer les trois différences absolues |A – F|, |B – E|, |C – D| – faire trois comparaisons, de façon à déterminer laquelle des trois différences absolues est la plus petite; et – calculer une moyenne P = (A + F) / 2 ou bien (B + E) / 2 ou bien (C + D) / 2 Pour chaque pixel, il faut faire 10 opérations par couleur, soit 30 opérations. On a 1920 × 540 pixels × 60 images/s ≈ 62.2 Mpixels/s Le taux de traitement effectif est donc 30 × 62.2M ≈ 1.87 Gops/s Ceci n’inclut pas les branchements ni les chargements de la mémoire. 8

INF3500 : Conception et implémentation de systèmes numériques Désentrelacement inter-trame par compensation de mouvement Dans une trame adjacente, on cherche le bloc le plus similaire au bloc présent. On remplace les lignes manquantes du bloc présent par celles du bloc similaire. Supposons des blocs de 16 × 16 pixels et un espace de recherche de 64 × 64 pixels: il y a 4096 blocs à inspecter. Pour trouver un seul bloc, il faut comparer 16 × 16 × 4096 ≈ 1.05 M paires de pixels. Dans une image HD entrelacée, il y a 4080 blocs de 16 × 16 pixels. Le taux de traitement pour la recherche de blocs seulement pour une vidéo HD serait de l’ordre de 4080 × 1.05 M = 4.3 Gops/s. Une fois un bloc trouvé, il faudrait faire des opérations d’interpolation pour calculer les pixels manquants. 9

INF3500 : Conception et implémentation de systèmes numériques En conclusion … La plupart des systèmes numériques doivent rencontrer des contraintes importantes concernant le taux de traitement. Le taux de traitement est directement proportionnel – à la fréquence d’horloge; – au nombre de résultats produits par cycle d’horloge; et, – au nombre d’unités de calcul en parallèle. Dans les vidéos de cette semaine, nous allons considérer le premier facteur, la fréquence d’horloge. 10