Projet de Fin d Etudes Faculté des sciences du Bizerte

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "Projet de Fin d Etudes Faculté des sciences du Bizerte"

Transcription

1 Projet de Fin d Etudes Faculté des sciences du Bizerte Pour obtenir le Diplôme de Maitrise en Informatique Présenté et soutenu publiquement par Wahid Gazzah & Charfeddine Ilahi Estimateur de mouvement 4SS Encadré par Madame Feten Ben hassine

2 Remerciements Nous exprimons nos sincères remerciements à madame Feten Ben Hassine pour l extrême gentillesse qu elle a bien voulu manifester a notre égard ainsi que notre gratitude pour l encadrement dont elle nous a fait bénéficier aimablement. Nous la remercions vivement d avoir su nous encourager par une exaltation constante à la circonspection de notre sujet. Nous tenons à remercier madame (monsieur) Pour l honneur qu il nous a fait de présider le jury de ce projet de fin d études. Qu il nous soit permis d évoquer ici sa présence bienveillante aux étapes importantes de notre vie universitaire a l issue de nos premières recherches et découvertes sur le monde de programmation. Nous avons grand plaisir a profiter de cette occasion très formelle pour le remercier sincèrement. Nous remercions monsieur (madame).. enseignant aux faculté des sciences de Bizerte d avoir bien voulu accepter participer a ce jury et évoluer ce mémoire. Son jugement nous est autant plus précieux qu il émane d une personne qui nous a enseignées.

3 Dédicaces A mes très chers parents, Pour tout l amour qu ils me portent et pour leurs encouragements qu ils m ont apportés au cours de ce projet, je leur dédie ce travail en témoignage d un grand amour et reconnaissance infinie, qu ils trouvent ce travail en témoignage de ma profonde gratitude et mon infini dévouement. A mes frères, Pour votre soutient et encouragements, vous occupez une place particulière dans mon cœur. Je vous dédie ce travail en vous souhaitant un avenir radieux, plein de bonheur et de succès. A mes chers amis, En souvenir de nos éclats de rire et des bons moments. En souvenir de tout ce qu on a vécu ensemble. J espère de tout mon cœur que notre amitié durera éternellement. A tous ceux qui me sont chers Charfeddine Ilahi

4 A ma très chère famille A tous ceux qui me sont chers A tous ceux qui comptent pour moi A mes chers amis Je dédie ce travail Wahid Gazzah

5 Pour mieux comprendre l idée du codage/décodage une analogie entre l algorithme 4SS et une expérience chez un agriculteur. Comment stocker la production agricole du blé? Deux réponses possibles : Choix d une structure d arrangement dans un magasin. Ne stoker qu une petite quantité pour les semer au besoin. Comment stocker une vidéo? Deux méthodes possibles : Enregistrement de la vidéo sur un support matériel. Compression de la vidéo avant l enregistrement. Comment avoir des épis? Comment décompresser la vidéo compressée? Comment un grain de blé avec ses critères génétiques devient un épi? Il suffit de le semer pour qu il nous donne un épi. Comment une seule image avec ses vecteurs de mouvement devient une GOP (suite d images)? Décompression : exécution de l algorithme de la décompression. Comment l ensemble des épis deviennent la production agricole? Il suffit de les regrouper. Comment l ensemble des GOP deviennent une séquence vidéo? Il suffit de les regrouper.

6

7 Introduction générale 1. Motivation De nos jours, l'avènement de la vidéo numérique a été rendu possible principalement grâce aux possibilités de compression. En effet, la compression vidéo permet de réduire le débit nécessaire à la diffusion d'une émission, et facilite donc son transport sur tout type de réseau (hertzien, internet, satellite, téléphone mobile,...). Le coût de diffusion ainsi diminué permet d'envisager une meilleure qualité de service. L évolution des standards de compression vidéo aboutit à l'amélioration de l'efficacité de codage. Au début des années 2000, une inflexion s est produite. A la suite des recherches menées par différents organismes de normalisation, une nouvelle technologie de compression des données vidéo (H264) était développée. L objectif était de réduire de moitié les débits utilisés avec MPEG-2. Concrètement, cela devait permettre, non seulement de diffuser de la vidéo sur des supports qui ne le permettait pas jusqu alors (Internet, ADSL ) mais aussi de multiplier le nombre de programmes diffusés dans un même canal. Les premières orientations de la norme ont été provisoirement reléguées au second plan et n ont guère été suivies de réalisations commerciales concrètes. Seules quelques démonstrations matérialisant les recherches effectuées par les sociétés phares (Envivio par exemple) ont été présentées dans des salons spécialisés. Aujourd hui c est cette deuxième piste, la réduction des débits, qui est essentiellement mise en avant. Toutes les recherches, tous les développements industriels et toutes les démonstrations vont dans ce sens. H264 sera utilisé dans la télévision numérique terrestre, la haute définition, les nouveaux DVD mais aussi sur ADSL. Il est vrai que les progrès réalisés sont spectaculaires. Lorsque les savoir-faire seront parfaitement maîtrisés, lorsque la technologie sera telle que l on pourra réaliser des processeurs plus performants et suffisamment rapides, alors les techniques de codage des objets ressortiront de leurs cartons et les développements reprendront leur cours dans le sens de l interactivité. Ainsi, H.264 abaisse le débit nécessaire jusqu'à 50 % par rapport à son prédécesseur MPEG-4, ouvrant la voie à de nouveaux services, tels que la vidéo haute définition. L'amélioration des performances de codage est obtenue au détriment de la complexité des traitements. La quantité de calcul se révèle ainsi de plus en plus élevée à chaque génération de Page 1

8 codeur. Le passage à des formats, haute définition augmente encore très fortement cette complexité [1]. L'estimation de mouvement est une opération clé pour la compression vidéo. Cette opération contribue pour une grande partie à l'efficacité de la compression en éliminant les redondances temporelles. Cette estimation représente la partie la plus critique dans un codeur vidéo et peut atteindre (60%-70%) en termes de complexité et temps de calcul. D ailleurs la technique d estimation n est pas définie par la norme et est laissée au concepteur de choisir la technique d estimation qui lui convient au mieux. Une estimation de faible qualité est souvent source de problèmes importants comme par exemple des effets de blocs visuellement gênants. Ainsi, depuis plus de vingt ans, son étude reste un sujet de recherche important. Les applications de l'estimation de mouvement sont surtout la réduction de la redondance temporelle pour la compression et l'analyse de scène. Pour cela, beaucoup de chercheurs ont proposé différentes fonctions dans le but de formaliser un bon critère d estimation de mouvement. 2. Objectifs Ces activités de recherche entrent dans le cadre de la conception d un estimateur de mouvement. Plusieurs travaux, concernant les modifications des performances des estimateurs de mouvement suivant le changement de la nature de la vidéo, ont été effectués dans la littérature. Ces travaux ont montré que chaque algorithme d estimation est limité à un type précis de séque nce vidéo, et dans le cas des autres types il donne de mauvais résultats. Dans le cas des séquences rapides, l algorithme en quatre pas 4SS a donné des PSNR (sigle de Peak Signal to Noise Ratio : une mesure de distorsion utilisée en image numérique) et des taux de compression similaires et meilleurs que les autres algorithmes en un temps très réduit. L algorithme de Recherche Complet (FS) s adapte mieux aux applications nécessitant une meilleure qualité vidéo en donnant toujours les meilleurs résultats en taux de compression et en PSNR. L inconvénient majeur de cet algorithme réside dans le fait qu il est plus gourmand en temps de calcul et en consommation de puissance. (On va détailler des différents algorithmes dans le chapitre suivant). L objectif essentiel de ce travail est de construire une architecture d un estimateur de mouvement qui intègre l algorithme de recherche en quatre étapes (4SS) en VHDL. Page 2

9 3. Contribution Pour ce fait nous avons établi, après avoir introduit à notre sujet, une étude bibliographique dans laquelle nous avons décrit les travaux d implantation du codec H.264 et de synthèse des architectures d estimation de mouvement de la famille Full Search et de la famille Fast Search en s intéressant plus particulièrement à l algorithme 4SS. Ensuite, une deuxième partie été consacrée à la conception d un estimateur de mouvement de type GALS intégrant l algorithme de recherche en quatre étapes en utilisant le langage VHDL et nous nous sommes intéressés à la simulation en utilisant le ModelSim. Enfin, nous avons élaboré les conclusions et les perspectives attachées aux travaux menés dans le cadre de ce travail. Page 3

10 Chapitre 1 Etat de l art Page 4

11 Chapitre 1 : Etat de l art 1.Introduction 2.Image numérique et compression vidéo Généralité sur les images numériques. 2.2 Définition de la vidéo Compression vidéo 2.4 Les Méthodes de compression vidéo Codec vidéo 3.1 Principe. 3.2 Standard de compression video 4. Etude de la norme AVC(Advanced Video Coding)/H Estimation de mouvement Technique d estimation de mouvement 5.2 Algorithmes de parcours du voisinage Conclusion... Page 5

12 Chapitre 1 Etat de l art 1 Introduction : Avec l avancement de la technologie de la communication (les réseaux hétérogènes internet, les réseaux sans fil Wifi) et l augmentation des données, de nombreux problèmes sont apparus que ce soit pour la transmission (surtout pour les applications Temps Réel) ou po ur le stockage. Alors, il était devenu indispensable d élaborer un standard international de compression vidéo. Les améliorations apportées par la compression ne sont pas tout simplement dues à l'élimination des données redondantes, mais plutôt l'abandon des informations estimées non pertinentes, comme par exemple les informations sur des détails non perceptibles facilement à l'œil nu. Ainsi, la compression fournit une représentation compacte à priori indiscernable visuellement de l'image originale, bien qu'en général, l'image compressée soit tout à fait différente de l'originale. L'estimation du mouvement est une opération clé pour la compression vidéo (H.264). Cette opération contribue pour une grande partie à l'efficacité de la compression en éliminant les redondances temporelles. Cette estimation représente la partie la plus critique dans un codeur vidéo et peut atteindre de l ordre de (60%-70%) en termes de complexité et temps de calcul. Ainsi, depuis plus de vingt ans, son étude reste un sujet de recherche important. Notre objectif est de simuler apres avoir modeliser un estimateur de mouvement du modele H-264 qui integre l algorithme de recherche en 4 etapes 4SS. Page 6

13 2 Image numérique et compression vidéo : 2.1 Généralité sur les images numériques : Définition d image numérique : Une image est stockée en mémoire sous forme de collection de points élémentaires appelés pixels. Nous pouvons considérer une image numérique comme une page de nombres organisés en tableau ou en matrice. Chaque nombre représente les caractéristiques du pixel. La position de chaque pixel peut être exprimée par deux coordonnées sur l axe horizontal X et l axe vertical Y comme le montre la figure ci-dessous [1]. Figure 1.1: Elément d une image (le pixel) Les résolutions : * Résolution d'une image Une image est divisée en points ou pixels. Considérons une image de 10 cm sur 10 cm avec une résolution très faible de 10 pixels par cm. Elle est codée sur 100 x 100 = pixels. Avec une résolution convenable de 100 pixels par cm (un pixel mesure 0,1 mm), elle serait codée sur 1000 x 1000 = pixels = 1 M pixels. Le symbole M signifiant million. Remarque: en général on utilise l'unité de longueur anglo-saxonne le pouce ou inch. La résolution d'une image s'exprime alors en pixels par pouce (ppp) ou dots per inch (dpi) en anglais. Page 7

14 * Même image avec 2 résolutions différentes 18 pixels par pouce soit environ 7 pixels par cm dans ce cas on observe l'effet de pixellisation Figure 1.2 résolution 1 72 pixels par pouce soit environ 30 pixels par cm. Cette dernière résolution correspond approximativement à celle d'un écran d'ordinateur, elle est donc idéale pour visualiser une image sur l'écran [1]. Figure 1.3 résolution Définition de la vidéo : Une vidéo est une succession d'images à une certaine cadence. L'oeil humain a comme caractéristique d'être capable de distinguer environ 20 images par seconde. Ainsi, en affichant plus de 20 images par seconde, il est possible de tromper l'oeil et de lui faire croire à une image animée. On caractérise la fluidité d'une vidéo par le nombre d'images par secondes (en anglais frame rate), exprimé en FPS (Frames per second, en français trames par seconde). D'autre part, la vidéo, au sens multimédia du terme, est généralement accompagnée de son, c'est-à-dire de données audio, on distingue deux types de vidéos [2]. Page 8

15 2.2.1 La vidéo analogique : La caméra balaye l'image bidimensionnelle qu'elle a devant elle par un faisceau d'électrons qui se déplace très rapidement de gauche à droite et plus lentement de haut en bas et produit une tension en fonction du temps. Elle enregistre ainsi l'intensité lumineuse, et à la fin du balayage, on a alors une trame (Figure 1.4). Le faisceau revient à l'origine pour recommencer, le récepteur va recevoir cette intensité en fonction du temps, et pour reconstruire l'image, va répéter le processus de balayage [3]. Figure 1.4: Principe de balayage utilisé pour la vidéo et la télévision La vidéo numérique : La vidéo numérique est tout simplement une suite d images formée d une matrice de pixels. Pour obtenir des images en couleur, il faut utiliser au moins 8 bits par pixel, ce qui correspond à 256 couleurs. En fait, avec 8 bits par pixel, on obtient de la vidéo numérique noir et blanc de haute qualité (niveau de gris). Pour la vidéo numérique couleur, on utilise 8 bits pour chaque couleur RVB, soit donc 24 bits par pixel, ce qui correspond à environ 16,8 millions de couleurs. Le principe de balayage utilisé est similaire à celui de la vidéo analogique [3]. 2.3 Compression vidéo : Dans la compression on utilise deux systèmes complémentaires, un compresseur (codeur) qui convertit la source de données en une forme compressée occupant un nombre de bits inférieur, avant transmission ou stockage et un décompresseur (décodeur) qui convertit la forme compressée en une représentation de la source originale. La paire codeur/décod eur est appelée codec. Page 9

16 Le principe fondamental de la compression vidéo est de réduire autant que possible les redondances d'informations dans les données sans que cela soit perceptible par l'œil humain. Il y a donc un compromis entre le taux de compression et la qualité de l image. En fait, celle-ci devient de plus en plus médiocre avec l augmentation du taux de compression [4] Contraintes : Une vidéo contient une quantité importante de données, et malgré l augmentation de la puissance des processeurs et des capacités des périphériques de stockage, nous avons besoin de la représenter dans un format plus concis. La qualité d une vidéo compressée varie très grandement en fonction de la fréquence d entrée, de la résolution d entrée, du débit imposé en sortie et de la qualité exigée. La compression des données vidéo numériques sans dégradation significative de la qualité est possible lorsque les séquences vidéo affichent un degré élevé : de redondance spatiale : corrélation entre les pixels voisins. de redondance temporelle : corrélation entre les images vidéo. de redondance psycho-visuelle : propriétés de la vue humaine [5] La compression de données : La redondance spatiale : Quand on regarde une seule image d une vidéo, on peut remarquer qu elle présente des zones uniformes plus ou moins grandes dans lesquelles les pixels ont des valeurs très voisines, voire semblables : c est la redondance spatiale. En l éliminant par codage, il est possible de réduire la quantité d informations à transmettre. Figure 1.5: La redondance spatiale Cette redondance est très prononcée dans l exemple de la figure avec la couleur noire. Page 10

17 La redondance temporelle : Dans une séquence vidéo, la différence entre une image et la suivante est relativement faible, sauf lors d un changement de plan. Autrement dit, la position d un bloc de pixels varie généralement peu d une image à l autre. Figure 1.6: La redondance temporelle La seule différence se trouve dans les parties qui ont subi un mouvement. Ceci peut être démontré par la figure (c) qui représente la différence entre les deux images successives (figure (a) et figure (b)). La partie grise de cette image correspond à la similitude des deux images (a) et (b). La compression cherche à éliminer les redondances que ce soit spatiale ou temporelle La Redondance psycho-visuelle : La redondance psycho-visuelle est généralement réduite. La mesure la plus significative est une résolution réduite du détail des couleurs par rapport au détail de la luminance qui permet un meilleur rapprochement avec les caractéristiques de la perception humaine. Les images vidéo comprennent trois matrices rectangulaires de données de pixels, lesquelles représentent le signal de luminance (luma Y) et deux signaux de chrominance (chroma Cb et Cr aussi appelé U et V). Page 11

18 Figure 1.7: Format YUV 4:1:1 Ces matrices correspondent à une représentation décomposée des trois couleurs primaires (RVB) associées à chaque élément d image [6]. Pour la représentation des pixels vidéo numérique, il existe plusieurs formats comme le montre la figure suivante : Figure 1.8: Format YUV Décomposition de la séquence vidéo compressée : Une séquence vidéo compressée est généralement structurée en Groupe d image (GOP) Un GOP est une suite d images codées suivant trois modes de codage (Figure) : Les images INTRA, dites de type I : Les images «INTRA» sont codées intégralement, sans aucune référence aux images voisines de la séquence vidéo. Les images I sont les plus coûteuses en débit mais servent de point de référence dans une séquence vidéo. Chaque changement de plan dans une séquence vidéo commence obligatoirement par une image de type I. Page 12

19 Les images INTER prédites, dites de type P : Les images «Prédictives» exploitent à la fois la redondance spatiale et la redondance temporelle des images d une séquence vidéo. Elles sont codées à partir de l image «I» ou «P» précédente à l aide de vecteurs de mouvement obtenu par estimation du mouvement. Les images INTER prédites bidirectionnelles, dites de type B : Elles sont codées avec une estimation du mouvement par rapport à une image précédente et une image suivante. Elles ne servent jamais de référence. Les images de type I et P servent de référence aux images P et B, les images de type B ne servent jamais de référence [7]. 2.4 Les Méthodes de compression vidéo : Figure 1.9: Structure d un groupe d image (GOP) Le principe fondamental de la compression vidéo est de réduire autant que possible les redondances d'informations dans les données, sans bien sûr que cela ne soit visible de manière flagrante pour l'œil humain. Toute la difficulté est là, dans le dosage entre un taux de compression qui s'améliore en même temps que la qualité d'image devient médiocre. Deux grandes méthodes de compression existent : la compression sans perte et la compression avec perte. Page 13

20 2.4.1 Compression avec perte : Dans le cas de la compression avec perte, les données sont différentes à la sortie du décodeur par rapport à l'entrée du codeur. C'est ce type de compression qui est utilisé en vidéo, car on peut accepter des pertes d'informations qui ne sont pas toujours visibles à l'oeil et qui se traduisent par de nets gains de compression. En compression avec pertes, on peut atteindre des taux de compression allant jusqu'à 300:1 (c est-à-dire qu un vidéo de taille 300 Mo, peut attend 1 Mo après la compression) [8] Compression sans perte : Dans le cas de la compression sans perte, les données décodées à l'arrivée par le récepteur sont strictement identiques aux données codées au départ par l'émetteur. Ce type de compression, permettant au mieux un taux de compression de 2:1, est évidemment insuffisant pour la compression vidéo. 3. Codec vidéo : 3.1 Principe : Un codec vidéo code une source en une forme compressée et la décode pour produire une copie ou une approximation de la source. La séquence originale est représentée par une modélisation, c'est-à-dire une représentation codée le plus efficacement possible et utilisable pour la reconstruction. Idéalement, la modélisation représente la séquence avec aussi peu de bits que possible et une qualité aussi bonne que possible. Ces deux buts à atteindre sont évidemment conflictuels. En effet, un débit faible entraîne une image de qualité réduite. Tous les codecs fonctionnent selon le même principe [9]. Figure 1.10 : Codeur/décodeur Page 14

21 3.2 Standard de compression vidéo : Deux grandes normes sont dans le marché du codage vidéo: la norme H26x et la norme MPEGx. La première développée par la CCITT et la deuxième par ISO. Ce sont les objectifs du codage qui déterminent la structure et les principes de l'encodeur. La norme H26x est destinée initialement à la vidéo conférence qui est caractérisée par des mouvements lents et des arrières plans statiques, tandis que la norme MPEGx est destinée aux applications de la vidéo numérique et de l informatique ainsi qu aux applications de la télévision numérique Codage MPEG : Format des données en MPEG : Les normes de compression/décompression MPEG mettent en œuvre des techniques similaires en compression de signal audio et vidéo. MPEG convertit les signaux vidéo analogiques en paquets de données numériques qui seront plus faciles à transporter sur un réseau. Les données numériques ont l'avantage de ne pas dégrader le signal. Le principe de la compression est de réduire autant que possible les redondances d'information sans que cela ne modifie l'aspect visuel du fichier ainsi traité les différents formats MPEG : * MPEG 1 : La norme MPEG1, enregistrée à l ISO sous le code ISO/IEC 11172, a été finalisée par le groupe MPEG en C est leur premier standard audio et vidéo utilisé plus tard comme standard des Vidéo CDs. Il inclut le populaire format audio MPEG-1 Layer 3 (MP3). * MPEG 2 : La norme MPEG-2 est enregistrée à l'iso sous le code ISO/IEC 13818, et a été Finalisée en Elle a été développée pour la compression de la vidéo de qualité télévision à un débit de 4 à 6 Mbits/s (ce qui correspond à un canal de télévision normal). Un peu plus tard, MPEG-2 intégra la compression de la télévision à haute définition (TVHD). Aujourd'hui, MPEG-2 est aussi le format utilisé pour stocker les films sur DVD. * MPEG 3 : MPEG 3 a été conçu pour la prise en charge des signaux HDTV (La télévision à haute définition) à des débits de 20 à 40Mbits/s. Il a vite été observé que des résultats semblables pouvaient être obtenus par de légères modifications de MPEG-2. Perdant de son intérêt, MPEG-3 a été abandonné. Page 15

22 * MPEG 4 : C est en 1994 que MPEG (Moving Picture Experts Group) a développé MPEG-4. Le protocole est devenu un standard officiel ISO/IEC en janvier Elle vise à fusionner trois domaines : l informatique, la télécommunication et la télévision. La norme MPEG-4 est radicalement différente des normes précédentes. Elle initialise une vidéo orientée objets : une séquence est une scène hiérarchisée en objets média, chaque objet est composé d un ensemble de paramètres (son, forme, position, ). * MPEG-7 : La MPEG-7 introduite en 1997, est une norme de représentation du contenu des documents multimédias. La norme est une description standardisée des données permettant une interprétation informatique. Les outils de description du contenu visuel sont groupés en diverses catégories : couleur, texture, forme, contour, mouvement [11] Codage H26x : H.261 : Cette norme a été développée par le CCITT en 1990 pour l'appliquer en vidéo conférence et en visiophonie sur les réseaux RNIS (Réseau Numérique à Intégration de Service) (ISDN). Elle offre une transmission des images animées sur des supports à multiplexage de 64 Kbit/s. Elle utilise des séquences de 30 images par seconde de type I et P. Les images I sont codées selon le principe JPEG. Les images P sont codées selon le principe de compensation de mouvement H263 : C'est un standard de l'itu (International Telecom Union), développé en février Il a été désigné aux communications à faible débit (moins de 64 Kbit/s). Mais le standard a été ensuite développé pour être utilisé dans des applications à débit élevé et a pu remplacé le H261 dans plusieurs applications surtout dans la vidéo conférence et a dominé le domaine de la vidéo sur internet. 4. Etude de la norme AVC/H-264 : 4.1 Description de la norme AVC-H.264 : La chaîne de codage vidéo H.264/AVC (Advanced Video Coding) illustrée par la figure cidessus est semblable à celle des autres normes telles que MPEG-2 et MPEG-4. Il s agit d un hybride de prédiction temporelle (mode Inter) et de prédiction spatiale (mode Intra). En effet, la première image d une séquence est forcement Intra codée. Pour les autres images d une séquence on peut utiliser soit un codage inter, soit un codage intra. Page 16

23 Le standard H.264 permet d obtenir des meilleures performances de compression par rapport a ses prédécesseurs grâce a des nombreuse spécificités de compensation de mouvement (codage inter-image) pour utiliser ces modes de prédiction, l estimation de mouvement doit les prendre en compte leur impact sur les algorithmes ainsi que sur la complexité de calcul [12]. 4.2 Schema global : Figure 1.11 : Architecture du codeur/décodeur H.264/AVC Page 17

24 4.3 Prédiction inter-image : La prédiction Inter (type P) est utilisée pour réduire la corrélation temporelle avec l aide de l estimateur et le compensateur de mouvement. Dans H.264, l image courante peut être subdivisée en macro-blocs ou en blocs plus petits. Pour le macro-bloc (16x16), il peut y avoir jusqu à 7 modes : 16x16, 16x8, 8x16, 8x8, 8x4, 4x8 et 4x4. Cependant, le choix de la taille des partitions dépend essentiellement des caractéristiques de la séquence d entrée. En général, les grandes partitions sont choisies pour couvrir les zones homogènes de la même image et les partitions de petites tailles peuvent être utilisées pour des zones avec beaucoup de détails. Le processus de la prédiction inter, peut faire la segmentation de la représentation des mouvements aussi petite que la taille des blocs 4x4, en utilisant des vecteurs de mouvement avec une précision d un quart de l échantillon pour la luminance. La compensation en mouvement des sous-pixels peut donner de meilleurs performances de compression que la compensation entière de pixel, au dépends d une complexité accrue [13]. La compensation de mouvement utilise des similitudes qui existent entre l image courante d'entrée et l image encodée précédemment. Cette image déjà codée appelée image de référence qui est en fait une image déjà reconstruite. 4.4 Prédiction intra-image : Contrairement à la prédiction inter, la prédiction intra-image (type I) n utilise pas d'images de référence mais uniquement l'image courante. Il s'agit donc d'exploiter la redondance spatiale présente dans toute image. En effet, le principe de base est que dans un certain voisinage, la structure de l'image varie peu globalement. Bien sûr, ceci dépend de la taille de l'échantillon considéré, c'est pourquoi chaque taille de bloc correspond à un traitement spécifique. De fait, pour la luminance, la prédiction peut être réalisée sur des blocs 4X4 ou des macro-blocs 16X16. De plus, bien que la luminance et la chrominance n'aient pas la même résolution, la chrominance n'est codée que par blocs 8X8. Un bloc prédit est donc construit à partir de ces voisins déjà codés et reconstruits. Il est ensuite soustrait au bloc original et le bloc différence est codé et transmis. Toute la procédure de prédiction doit ensuite être insérée au flux codé, ce qui nécessite de l'information supplémentaire dont l'importance ne doit pas être négligée. Cette section présente les différentes procédures de prédiction intra-image, suivant la taille de bloc considérée, et la manière dont la procédure de prédiction est codée dans le flux [14]. Page 18

25 Chaque macro-bloc (taille 16x16 pixels) est codé par le codeur H.264 en utilisant deux grandes unités de transformation. 4.5 Estimation et compensation de mouvement : L'estimation de mouvement implique de trouver dans l image de référence un macro-bloc de taille correspondant le plus possible semblable au macro-bloc courant. Dans l image de référence, on définit une zone de recherche dans laquelle le macro-bloc à estimer est comparé à tous les macro-blocs. La différence de position entre les deux macro-blocs (courant et référence) est appelée Vecteur du Mouvement [15]. Figure 1.12 : Comparaison entre les macro-blocs dans l image courante et référence La compression par compensation de mouvement consiste, pour calculer une image prédictive (P) (reconstruit), à ne coder que les vecteurs de mouvements résultants de l estimation de mouvement et de l image de référence. L image prédictive soustrait l image courante pour obtenir des erreurs résiduelles. Ces erreurs sont ensuite transformées, quantifiées et codées avant d'être transmises. Donc, le but de compensation du mouvement est de fournir une information supplémentaire pour d alléger l énergie résiduelle nécessaire à la prédiction de l image. Plus la prédiction est performante, moins l erreur résiduelle contient d élément [16]. Page 19

26 Figure 1.13 : Estimation et compensation de mouvement Le processus de compensation de mouvement diffère des normes précédentes en proposant une grande variété de formes et de tailles de blocs (16x16, 16x8 8x4 4x4) avec une précision pouvant aller jusqu au ¼ de pixel. H.264 utilise alors entre 8 et 36 types de blocs pour la compensation de mouvement alors que les précédents standards n en utilisaient que de un à trois. 4.6 La Transformation : L'utilisation de transformations mathématiques permet de remplacer les valeurs produites par la numérisation (l'image résiduelle) par des données de nature différente qui peuvent se révéler plus faciles à compresser. Parmi les transformations mathématiques les plus connues : La transformée cosinus discrète(tcd) qui est basée sur des blocs produit une matrice de 64 coefficients (8 x 8), rangés selon les fréquences croissantes selon les axes horizontal et vertical. Une des principales différences entre le codec H.264 et les précédents est qu il n'utilise plus le TCD 8x8, H.264 utilise une transformation beaucoup plus simple et réversible, qui sépare chaque entrée ou d'une erreur macro-bloc dans une série de blocs de 4x4 pixels puis tout simplement de convertir les blocs dans un état plus favorable à la compression. Elle diminue la complexité de traitement, spécialement pour les processus courts. La transformée inverse de H.264 est définie de manière exacte (précision entière) pour éviter les divergences dues aux arrondis [17]. Page 20

27 Figure 1.14 : Application de la TCD à un pavé de 4 pixels de coté Cette figure traduit l information spatiale en une information fréquentielle, X et Y représentant alors les fréquences du signal dans les deux dimensions. Cette étape ne compresse donc pas les données. On n a que des pertes de précision dues aux erreurs d arrondies lors des calculs. On considère la transformation TCD comme une étape conservatrice qui prépare les données à la phase non conservatrice du processus : la quantification [18]. 4.7 Quantification : Pour quantifier les coefficients de la transformée, la norme H.264/AVC utilise une quantification scalaire, c est l étape où la majorité de la compression est atteint. C'est également le stade où la majorité des renseignements peuvent être perdus La quantification n est que le processus de réduction du nombre de bits nécessaires au stockage d une valeur entière par la diminution de la précision de la qualité. Les changements rapides dans les hautes fréquences peuvent être imperceptibles, c est pourquoi on peut les éliminer [19]. Les pas de quantification définis dans la norme AVC s incrémentent d une valeur de 12,5%, ce processus est contrôlé par un paramètre appelé Qp, où Qp peut prendre une valeur comprise entre 0 et 51. Page 21

28 Dans les normes vidéo précédentes, le pas de quantification augmente par pas fixes, ce qui entraîne des zones inaccessibles pour certains quantificateurs. Si Qp est défini à 0, alors l unité de quantification exécute peu de traitement sur la transformation de données, ce qui signifie que peu de données sont perdues, la qualité reste élevée mais la compression atteinte est faible. Comme Qp augmente en valeur l unité de quantification commence à supprimer des informations. Cependant l'encodeur est conçu pour supprimer uniquement les plus insignifiants détails souvent la perte d'information est imperceptible à l'œil humain. Comme Qp augmente vers la valeur maximale 51, de plus en plus l information est rejetée et la qualité doit être sacrifiée. Toutefois, la compression va augmenter de manière significative, comme l'augmentation Qp [20]. La quantification est donc la phase qui provoque une dégradation dans l'image reconstruite mais c'est aussi cette opération qui permet d'obtenir des taux de compressions beaucoup plus importants. 4.8 Filtre débloquant : Un défaut du codage axé sur le bloc est la visibilité de la structure en blocs. Les bords sont en général reconstitués avec moins de précision que les pixels intérieurs : la pixellisation est l un des artefacts les plus visibles des méthodes de compression actuelles. Pour cette raison, la norme H.264/AVC définit un filtre de «déblocage» adaptatif en boucle où la puissance du filtrage est contrôlée par les valeurs de plusieurs éléments syntaxiques. La pixellisation est alors réduite sans affecter outre mesure la netteté du contenu et la qualité subjective est considérablement améliorée. En même temps, le filtre réduit le débit binaire en général de 5 à 10% tout en produisant la même qualité objective que la vidéo non filtrée [21]. Figure 1.15 : Effet de déblocage en H.264 Page 22

29 4.9 Codage entropique : L encodeur d entropie représente l information de manière plus compacte et sans perte. Son principe est statistique ; il va assigner des codes courts aux symboles (luminance, chrominance ) les plus courants et de plus longs à ceux qui le sont moins. La longueur de ce code dépend de la fréquence d'apparition du symbole considéré. Il y a deux types d encodeurs à longueur variable employés dans un codec, l encodeur de Huffman modifié et l encodeur arithmétique. L encodeur de Huffman offre une simplicité de calcul pour de bonnes performances, mais les codes assignes (des entiers) empêchent cet encodeur d atteindre l entropie. Le codage arithmétique, quant à lui, approche mieux cette borne en utilisant des codes réels, mais il est un peu plus lent et compliqué. Le codage arithmétique donne une compression de 5 à 10 % meilleure que le codage de Huffman [22] Taille des blocs variable : La norme H.264 réduit le débit des vidéos en ajoutant des modes de codage par rapport aux anciens standards. La compensation de mouvement peut être faite sur des blocs de taille variable. Les macro-blocs peuvent être divisés en 16 8, 8 16 ou 8 8 et les sous-partitions 8 8 peut être à nouveau divisées en 8 4, 4 8 ou 4 4 (Fig 1.17). Le choix de petits blocs améliore la précision de la compensation de mouvement mais nécessite la transmission d un plus grand nombre de vecteurs. Un algorithme de décision efficace doit donc être mis en place. Il peut faire partie intégrante de l estimateur ou bien être séparément exécutée. Dans ce dernier cas l estimateur de mouvement fourni les vecteurs pour toutes les tailles de blocs [23]. Figure 1.16 : Décomposition d un macro-block Page 23

30 5 Estimation de mouvement : L estimation du mouvement est un problème incontournable dans le domaine du traitement de séquences d images. Le but est d estimer le mouvement des objets contenus dans une vidéo sous forme d un champ dense de vecteurs. Les applications d une telle estimation sont nombreuses et variées et nous pouvons noter par exemple la segmentation d objets en mouvement, la compensation du mouvement utilisée en compression vidéo (normes MPEG 2, MPEG 4, H264), L estimation de mouvement est excessivement couteuse en temps de calcul. Cela peut prendre jusqu a 80% des ressources matérielles de la machine. Une estimation de faible qualité est souvent source de problèmes importants comme par exemple des effets de blocs visuellement gênants. Ainsi, depuis plus de vingt ans, son étude reste un sujet de recherche important [24]. Le but de notre travail est de réaliser une architecture d un estimateur de mouvement qui intègre la technique de recherche en quatre pas (Four Step Search: FSS). Plus de précision dans le chapitre suivant. 5.1 Technique d estimation de mouvement : L opération d estimation de mouvement s avère cruciale dans un encodeur vidéo. En effet, d une part la qualité de l estimation influe sensiblement sur les performances de compression et d autre part c est l opération qui nécessite le plus de puissance de calcul Méthode de mise en correspondance de blocs (Block-matching) : Principe : Le principe général du bloc-matching est d exploiter les redondances temporelles existant entre des images consécutives. Pour cela, considérons une séquence vidéo dans laquelle nous voulons estimer le mouvement des différents objets qui y sont contenus. Pour simplifier l estimation, nous ne considérons que le mouvement présent entre deux images successives : l image courante et l image de référence. Chaque image est subdivisée en blocs de taille égale (généralement de 8x8 ou 16x16 pixels) et chaque bloc est considéré comme étant un objet indépendant. De manière informelle, l algorithme consiste, pour un bloc de l image courante, à choisir un bloc dans l image de référence (passée ou future) et à calculer un critère comparaison entre ces deux blocs. L opération est réitérée en choisissant un autre bloc jusqu à ce que tous les blocs d une zone déterminée de l image de référence (appelée <fenêtre de recherche >) aient été testés. Le bloc le plus semblable est ainsi identifié dans l image de référence pour chaque bloc de l image courante. Page 24

31 Figure 1.17 : Recherche d un vecteur de mouvement Critère de comparaison : Le «critère de comparaison» pour trouver le bloc correspondant est une mesure objective de la différence entre les valeurs des pixels contenus dans chaque bloc. Il en existe plusieurs qui prennent en compte ou non la couleur. De manière générale, la plupart des articles traitant de l'estimation de mouvement considèrent que les blocs sont caractérisés par la luminance. Ceci est dû au fait que l'œil humain est davantage sensible à l'intensité lumineuse qu'à la couleur. Les critères de comparaison sont calculés entre deux blocs : le bloc de référence et le bloc courant.sad est une méthode qui effectuera la somme des valeurs absolues de la différence des valeurs des pixels de l image de référence et l image courante. Ensuite on additionne les valeurs absolues des différences pour obtenir un résultat donnant la vrai semblance entre les blocs comparés. Il existe d autres méthodes pour calculer la corrélation entre les blocs de pixels, mais elles sont généralement plus lourdes en termes de calcul (la somme des carrés des différences par exemple). L équation ci-dessous correspond au calcul d une distorsion pour un macro-bloc de 16x16 pixels. Page 25

32 Avec : Ycur: la luminance du macro-bloc courant. Yprev: la luminance du macro-bloc de référence. (x,y): les coordonnées du macro-bloc de référence dans la fenêtre de recherche Prédiction avant et arrière : L algorithme du bloc matching permet d estimer le mouvement des blocs entre deux images à des temps consécutifs. Le mouvement ainsi calculé va permettre de prédire l image (n+1) en combinant l information contenue dans les pixels présents dans l image n et les vecteurs mouvements. Cependant, nous avons délibérément omis de spécifier de quelles images sont extraits chacun des blocs. Ainsi, deux types de prédiction sont possibles : la prédiction avant (forward) et la prédiction arrière (backward). Figure 1.18 : Block Matching avec prédiction avant La prédiction avant consiste à diviser l image n en blocs et à trouver leur position dans l image (n + 1). Comme le montre la figure, le block-matching avec prédiction avant répond pour chaque bloc à la question "Ou va le bloc courant?". Page 26

33 Figure 1.19 : Block Matching avec prédiction arrière La prédiction arrière, illustrée sur la figure, divise l image (n+1) en blocs et cherche position dans l image n. Dans ce cas la question est "D où vient le bloc courant?" [25]. leur 5.2 Algorithmes de parcours du voisinage : Rappelons qu étant donné un bloc dans l'image courante, l'objectif est de trouver le bloc dans l'image précédente ou suivante (selon le type de prédiction utilisé) qui lui correspond au mieux selon des critères précédemment définis. Il existe de nombreuses méthodes de block-matching cherchant à optimiser l efficacité et la rapidité de l algorithme [26] Algorithme de recherche exhaustive (Full Search Algorithm) : Cet algorithme est le plus simple mais aussi le plus coûteux en calcul puisque toutes les comparaisons possibles entre blocs sont réalisées. Le coût en calcul de cet algorithme est fonction de la taille de l espace de recherche (fenêtre de recherche) en (O(d2)). Le bloc retourné par l'algorithme sera celui qui minimise le critère de comparaison (SAD). C est l algorithme le plus simple, et n effectue aucune minimisation. On teste tous les blocs de la zone de recherche. Dans la figure suivante on à la fenêtre de recherche est ici définie par un déplacement [3,3] x [3,3] c'est-à-dire que le déplacement maximal autorisé est de trois dans toutes les directions. En effet, un déplacement maximal petit pénalise les grands déplacements et augmente naturelleme nt l'erreur de prédiction dans le cadre d'une vidéo pressentant de tels déplacements. Cependant, peu de blocs seront testés et l'algorithme sera alors rapide. A l'inverse, un grand déplacement autorisé permet de donner plus de liberté aux vecteurs de mouvement mais augmente de manière quadratique le nombre de blocs testés. Il y a donc un compromis entre qualité et rapidité de l'algorithme. Il est évident que cet algorithme soit d une haute précision, mais ses besoins insupportables en temps de calcul défavorisent son adaptation [26]. Page 27

34 Figure 1.20 Recherche exhaustive Recherche en trois pas (3SS ou TSS : Three Step Search) : L algorithme 3SS, proposé en 1981 par Koga, est basé sur une approche par raffinements successifs avec un pas à décroissance logarithmique. A chaque itération le sous-ensemble choisi est un "carré" de pas égal au pas précédent divisé par 2. Le pas initial est [d/2]. La figure 1.21 illustre la recherche en 3 pas pour des vecteurs mouvements d'amplitude +/- 7 pixels [26]. Figure 1.21 Recherche en 3SS Page 28

35 5.2.3 Recherche en quatre pas (4SS ou TSS : Four Step Search) : L algorithme 4SS utilise une zone de recherche avec 9 points de pixels sur une fenêtre de 5 5 dans la première étape. Le centre de la fenêtre de recherche est alors déplacé au point de SAD. La taille de la fenêtre de recherche des deux prochaines étapes dépend de l'emplacement du point minimum SAD, s il se trouve au centre de la zone de recherche, alors on passe à la dernière étape (étape 4) avec 3 3 fenêtre de recherche. Sinon, elle est mise à jour en 5 5 pour l'étape 2 ou l'étape 3 Dans la dernière étape, elle est réduite à la taille 3 3 pixels et la recherche s'arrête [26]. Figure 1.22 : Recherche en 4SS L'algorithme 4SS se résume comme suit (Figure 1.22): Étape 1: Un point du minimum SAD est trouvé d'un modèle de 9 points de contrôle sur une fenêtre du 5x5 située au centre de la zone de recherche suivant les indications de (Figure 1.21) Si le point du minimum SAD est trouvé au centre de la fenêtre de recherche, passez à l'étape 4 ; autrement passez à l'étape 2. Etape 2 : La stratégie de recherche est la même que l'étape 1, mais finalement, on passe à l'étape 3. Etape 3 : La stratégie de recherche est la même que l'étape 1, mais finalement, on passe à l'étape4. Page 29

36 Etape 4 : La fenêtre de recherche est réduite à 3 3 comme indiqué dans (la Figure 1.21) et la direction du vecteur global de mouvement est considérée comme le point du minimum SAD parmi ces 9 points de la recherche. Nous pouvons constater qu il est possible de passer directement à l étape finale d une fenêtre 3x3 si le minimum SAD point est situé au centre de la fenêtre de recherche. Sur la base de ces quatre étapes modèle de recherche, nous pouvons couvrir l'ensemble des déplacements même fenêtre que de petites fenêtres de recherche 5 5 et 3 3 sont utilisées. Il ya chevauchement des points de contrôle sur la 5 5 fenêtres de recherche dans l'étape 2 et l'étape 3, donc le nombre total de points de contrôle est varié à partir de (9 +8) = 17 à ( ) = 27. Le pire cas de calcul de l'exigence 4SS est de 27 blocs Recherche logarithmique à deux dimensions : Proposé par Jain en 1981, cet algorithme utilise comme sous-ensemble de recherche le "plus". Le pas initial est [d/4]. Ce pas est divisé par 2 lorsque le minimum de distorsion courant est au centre du "plus" ou lorsque le bord de la fenêtre de recherche a été atteint. Pour la dernière itération (pas égal à 1), le sous-ensemble est un "carré". La figure 1.23 illustre une réalisation [26]. Figure 1.23: recherche logarithmique à 2 dimensions Page 30

37 5.2.5 Recherche orthogonale : Puri en 1987 propose un algorithme qui procède par bonds successifs horizontaux puis verticaux. Les positions testées sont distantes initialement de [d/2], le pas est divisé par 2 à chaque couple d'itérations (horizontale et verticale) [26]. Figure 1.24: recherche orthogonale 6. Conclusion : Dans ce chapitre, nous avons défini les notions de base concernant les images numériques et la compression vidéo. Une des avancées les plus notables dans H.264 concerne la phase de compensation en mouvement qui autorise un nombre de références et de modes de prédiction importants. Le gain en termes d'efficacité de codage est toutefois obtenu au détriment de la complexité de la phase d'estimation de mouvement des encodeurs vidéo. L estimation de mouvement dans l encodeur H.264 reste un problème important dans le domaine de la compression vidéo. Elle occupe la partie la plus importante dans le codec H.264 et considérée comme une des techniques les plus efficaces pour réduire de manière significative le débit binaire exigé. Cependant, il est également l'une des opérations comportant le plus de calcul dans le codage vidéo. Dans le chapitre suivant, nous détaillerons la conception d une architecture d un estimateur de mouvement qui intègre l algorithme 4SS. Page 31

38 Chapitre 2 Etude conceptuelle de 4SS Page 32

39 Chapitre 2 : Etude conceptuelle de l estimateur de mouvement du modèle 4SS 1. Introduction 2 Modes de fonctionnement d un système électronique Mode synchrone Mode asynchrone Mode GALS 3. Estimateur de mouvement du modèle 4SS de type GALS L unité de commande Machine à état fini Générateur d adresse. 3.2 Unité du traitement (UT). 3.3 Module comparateur 3.4 Les mémoires 4 Conclusion Page 33

40 Chapitre 2 Etude conceptuelle de l estimateur de mouvement du modèle 4SS 1. Introduction : Dans ce chapitre on va citer et comparer les différents algorithmes d'estimation de mouvement avec une explication et une étude complète de fonctionnement de chaque composante pour l'architecture que nous avons proposé. 2. Comparaison des algorithmes d'estimation de mouvement: 2.1 Objectif d'estimation de mouvement : L estimation de mouvement est considérée comme l'une des techniques les plus efficaces pour réduire de manière significative le débit exigé par un Codec vidéo. Cette technique nécessite une puissance de calcul importante qui peut atteindre l ordre de 70% pour la norme H264. Elle est prouvée efficace pour exploiter la redondance temporelle pour les séquences vidéo. 2.2 Les différents algorithmes: Pour optimiser la procédure d estimation de mouvement, plusieurs algorithmes de recherche ont été proposés ces dernières années pour obtenir une compression efficace. Parmi ces algorithmes, on cite par exemple l algorithme Full Search Block Matching (FSBM), qui fournit une solution optimale. Il s adapte le mieux aux applications nécessitant une meilleure qualité vidéo en donnant toujours les meilleurs résultats en taux de compression et en PSNR, et les algorithmes de recherche rapide (Fast Search Block Mathing) sachant qu ils effectuent les étapes d estimation de mouvement en un temps relativement réduit. Parmi ces algorithmes on cite l algorithme de recherche en trois étapes (3SS), l algorithme de recherche en quatre étapes Page 34

41 (4SS), etc. Ces algorithmes permettent une convergence rapide vers des minimums locaux et sont généralement moins performant que les algorithmes FSBM. 2.3 Comparaison: Des études effectuées dans la littérature [27] ont montré que le bon fonctionnement de ces algorithmes est limité à un type précis de séquences et dans le cas des autres types, ils donnent de mauvais résultats. Séquences de test: Figure 2.1 : Séquences de test standard Par exemple, dans le cas des séquences rapides (ex. Foreman), l'algorithme en quatre pas 4SS a donné des PSNR (Peak Signal to Noise Ratio) et des taux de compression similaires et meilleurs que les autres algorithmes en un temps très réduit. Page 35

42 La table 2.1 présente les résultats obtenus par les différents algorithmes et pour différentes séquences standards effectuées ci dessus. Table 2.1 : Comparaison des algorithmes Une comparaison des images suivantes met en évidence l importance de l algorithme de recherche choisit pour l estimation de mouvement. Nous citons l'exemple de la figure 2.2 qui présente les résultats obtenus par les différents algorithmes sur une même image. Page 36

43 Figure 2.2 : comparaison des différents algorithmes Pour l image (b), on remarque que certains détails sont perdus (bande filet,..). Alors que pour l image (c), il existe des données qui sont apparues par rapport à d autres qui ont disparu (bordure table, bande filet). Concernant l image (a), elle est plus claire et nette que les deux autres images. Page 37

44 3 Modes de fonctionnement d un système électronique : 3.1 Mode synchrone : La plupart des systèmes numériques modernes sont synchrones. Ils sont organisés autour d un signal d horloge global, et les activités du système sont séquencées par ce signal. Tous les éléments du système évoluent ensemble lors de l occurrence d un événement d horloge. Ce mécanisme global d activation introduit une contrainte qui est d ordre temporel. Tous les éléments doivent respecter un temps d exécution maximum fixé par la fréquence des occurrences des événements d activation (condition de bon fonctionnement). Tous les éléments sont donc synchronisés dans le temps. Grâce à la simplicité de la centralisation du contrôle de cette approche, les systèmes synchrones ont dominé l industrie microélectronique depuis des années. Cependant, quand les composants deviennent plus petits et plus rapides et quand les systèmes deviennent plus complexes et concurrents, l approche synchrone devient de plus en plus contraignante. Il existe de nombreuses difficultés pour la conception des systèmes synchrones tels que : La distribution d horloge, l ordre d occurrence des entrées, la performance pire cas, la consommation, la modularité et les émissions électromagnétiques [28]. 3.2 Mode asynchrone : Contrairement aux systèmes synchrones où le signal d horloge joue le rôle d un actionneur global, les systèmes asynchrones évoluent de façon localement synchronisée et le déclenchement des actions dépend uniquement de la présence des données à traiter. La correction fonctionnelle du système peut ainsi être indépendante de la durée d exécution des composants du système. Les circuits asynchrones fonctionnent donc avec la seule connaissance de l occurrence des événements, sans connaissance de l ordre. Le fonctionnement est similaire à celui des systèmes «flot de données». Du point de vue conception, les systèmes asynchrones permettent de s affranchir des problèmes de distribution des horloges et des alimentations. Sans utilisation d horloge, les systèmes asynchrones peuvent fonctionner à des vitesses croissantes. De plus, ils ne possèdent pas de problèmes d interfaçage délicat entre composants fonctionnant à des vitesses différentes. L extension d un système asynchrone est facile à réaliser. Au niveau Page 38

45 technologique, il est possible de modifier l implémentation des composants, ou de les remplacer par leurs équivalents, sans en modifier la fonction. La migration technologique peut donc être progressive. L utilisation des circuits asynchrones peut amener à une réduction de la consommation. Plusieurs facteurs sont à prendre en compte. Le premier facteur pour la réduction de la consommation est lié à la distribution d horloge. Cette dépense d énergie, pouvant représenter 50% de la consommation globale dans les circuits rapides, est due au chargement des circuits d horloge. Un deuxième facteur de réduction de la consommation est la mise en veille automatique des circuits asynchrones [27] Mode GALS : L approche Globalement Asynchrone Localement Synchrone (GALS) préserve la fréquence du fonctionnement maximal par découpage d un système complexe en sous-systèmes localement synchrones et optimisés en fréquence. La communication inter sous-systèmes est assurée par des liaisons point à point asynchrones. L interface entre sous-systèmes synchrones et réseau asynchrone est un point déterminant dans l applicabilité de la méthodologie car elle doit être fiable sans pénaliser les fréquences maximales. Les GALS, combinent des sous systèmes synchrones qui communiquent entre eux à travers un réseau asynchrone. Ils nécessitent la synthèse des systèmes mixtes synchrones/asynchrones. Ils reposent sur l utilisation d horloges pour synchroniser le fonctionnement des sous-systèmes avec les asynchronismes des flots de données et économiser de l énergie lors des périodes d attente. La théorie des techniques «gated clock» est une évolution des GALS pour laquelle le réseau de communication n est plus asynchrone mais pseudo asynchrone. La conception GALS est populaire car elle permet de conserver les automatismes d une conception synchrone et de les appliquer dans les cas ou la conception synchrone montre ses limites : quand les temps de propagation des signaux sont plus longs que la période d horloge. Dans un système GALS, on trouve des composants et des canaux de communication. Les composants sont des processus synchrones munis de ports d entrés et de ports de sorties. Les canaux de communication sont des canaux asynchrones qui transmettent des signaux entre les composants tels qu une machine d état qui gère la communication entre les différents modules du circuit. Dans le modèle GALS, les canaux et les composants sont dotés des hypothèses suivantes : Les Page 39

46 Communications sont sûres (tout message envoyé est capté une seule fois et dans un temps fini) et les calculs des composants sont instantanés. Actuellement, la plupart des méthodes du développement de GALS part d une spécification synchrone qu elles distribuent sur l architecture cible. C est cette distribution qui varie d une méthode à l autre sur deux points : À l échelle globale : la transformation de l horloge globale. À l échelle locale : les communications paire à paire. Ces deux points illustrent bien les spécificités d une distribution GALS. Elle doit produire l interface entre les communications asynchrones et les composants synchrones et doit assurer la cohérence entre le modèle synchrone et son implantation [29]. 4. Estimateur de mouvement du modèle 4SS de type GALS : L architecture de ce modèle est constituée par un assemblage d éléments interconnectés : Cette conception inclut une unité du traitement (UT) permettant le calcul des SAD, deux mémoires locales (mémoire du bloc de référence et celle de la zone de recherche courante), une unité de commande (UC), et un comparateur logique (COMP) qui va assurer la comparaison des SAD. Figure 2.3 : Architecture de l estimateur de mouvement 4SS Page 40

47 Ce circuit calcule les vecteurs de mouvement et les SAD relatifs à l algorithme 4SS tel que : 1. Par défaut, les compteurs de mémoire sont remis à un vecteur zéro et la valeur de SAD est initialisée à FFFF. 2. L UT opère un vecteur du mouvement. Par exemple, UT commence des calculs pour (5,5). 3. Lorsque l UT termine le calcul de SAD, l unité de commande permet au comparateur de comparer la SAD mémorisée avec la SAD calculé. Ainsi, l information du vecteur de mouvement est mémorisée pour la prochaine étape. 4. L UT commence le même travail sur le vecteur de mouvement d une zone de recherche. 5. Si la zone de recherche est finie, l unité de commande détermine si l'algorithme est fini ou si la prochaine étape de l'algorithme est exigée. Si la prochaine étape est exigée, l'unité de commande modifie la taille de la zone de recherche et remet à zéro les compteurs de mémoire pour se diriger à l'origine de la nouvelle zone de recherche. 6. On doit répéter les étapes de 2 à 5 jusqu à ce que l algorithme soit terminé. Alors l unité de commande affirme FINISHED et les sorties de SAD, de MVX, et MVY sont valides. 4.1 L unité de commande : Pour notre architecture l unité de commande est un circuit qui gère les signaux entre les différents composants tels que les deux mémoires locales, l unité de traitement et le comparateur logique. Cette unité comporte un compteur d adresse et une machine à états finis qui génère les signaux de contrôle pour le système (Figure 2.4). Elle fonctionne en se basant sur deux entrées importantes «Enable» et «Reset». Le signal «Reset» permet l initialisation de tous les composants de l unité de commande alors que «Enable» assure son activation. Figure 2.4 : Architecture de l unité de commande Page 41

48 4.1.1 Machine à état fini : Tout d'abord on va citer un exemple de scenario de recherche de l algorithme 4SS. La figure ci-dessus représente la zone de recherche. Le bloc à chercher est dans l image n représenté en vert de coordonnées initiales (7,7) dans la zone de recherche pour être au centre de la zone, puis dans limage suivante (n+1) il a changé de place au bloc en rouge de coordonnées (0,0). Notre but est donc de trouver ce bloc qui a changé de place en respectant la stratégie de recherche en 4SS. On commence le calcul des 9 SAD (on respectons l ordre de recherche illustré dans la Figure 2.3), pour trouver le SAD_min, et pour passer au pas suivant. Le but de calcul des SAD est de trouver l intersection maximale avec le bloc à chercher. Le premier SAD est de cordonnée (5,5), c est à dire que la cordonnée de l emplacement initial du bloc à chercher va être au centre des neuf points (7,7) et chaque point représente le coin du bloc recherché. Page 42

49 Figure 2.5 : Ordre de recherche pour l unité de traitement Sad_1 (c est évident que l intersection va être le maximum dans cette exemple) Page 43

50 Sad_2 Sad_3 Sad_4 Page 44

51 Sad_5 Sad_9 Chaque fois que la SAD est calculée, elle reste en attente jusqu'à l arrivée du signal «Enable» de l unité de commande qui va déclencher la comparaison du SAD précédant avec le nouveau SAD. Dans notre exemple, le SAD min, c est le SAD_1, de cordonnée (5,5). Page 45

52 Passons maintenant au pas 2, c est de refaire la même phase, avec la SAD_min trouvée qui va être le centre des neuf nouveaux points. D où la cordonnée du premier point va être (3,3). (3,3) (5,5) Page 46

53 Passons au pas 3 : même principe que le 1er pas. Le SAD_min est donné par le point (3,3), qui va être le centre des neufs point du 3ème pas. Le SAD min est donné par le point (1,1) qui va être le centre des neufs points de l étape suivante. Pas 4, le dernier pas du l algorithme : La fenêtre de recherche est réduite à 3*3, non plus 5*5 comme avec les pas 1, 2 et 3. On refait le même calcul des SAD pour ces 9 points. Finalement, on est sur le coin du bloc qui porte la SAD_min, qui va représenter le bloc de recherche dans le nouvel emplacement dans l image suivante. Page 47

54 D où le vecteur de mouvement (-7,-7), mouvement de (-7) pixels sur l axe des X et de (-7) pixels sur l axe des Y. Page 48

55 Revenons maintenant à la machine à états finis, cette machine agit en tant que dispositif de contrôle pour le système, produisant tous les signaux de commande. Elle est responsable de la synchronisation de ces signaux pour les compteurs d'adresse, le comparateur, l unité de traitement. (Figure 2.4) Cette machine a sept états distincts, décrits dans le tableau 2.2 avec les conditions qui commuteront l'état. Etat Nom de l état Opération Condition pour le prochain état Reset Count Counter Reset Enable UT Nb_SAD Décision Initialiser tous les compteurs, les meilleures SAD calculés (compteur des x =0, compteur des y=0, Nb_point=0). Activer les compteurs et l UT. Réinitialiser le compteur d adresse. = Activer UT comme entrée au comparateur. Incrémenter un compteur sur nombre des SAD calculés d un pas. Initialiser l UT. Mise à jour des compteurs : pas pas +1 ou pas 4, numéro_point = 0. Si ENABLE est activé, passez à l'état 1 si non on garde le même état. Si «compteur des x» termine la ligne des pixels, on passe à l'état 2. Si non on répète l'état. «Compteur des y» détermine si les calculs des SAD en cours sont terminés. Ainsi on passe à l'état 3. Si non, on revient à l'état 1. On passe à l'état 4 après activation Si les 9 SAD ont été calculés on sauvegarde le SAD_min et les coordonnées de déplacement, puis on passe à l état 5 si non on précise le nouveau point de contrôle et on revient à l état 1. Si le nombre de pas=4 le traitement prend fin et on passe à l état 6, si non on revient à l'état 1. 6 Fin Activer la sortie logique du vecteur de mouvement, et mémoriser la sortie SAD_min de toutes les étapes. Si RESET est activé on revient à l'état 0. Sinon fin du traitement de tous les blocs d une image de la séquence vidéo. Table 2.2. Description des états du modèle 4SS Page 49

56 L état 1 (L'état de comptage) est l'état dans lequel les compteurs d'adresse et l UT sont activés. C'est le seul état dans lequel le calcul de SAD a lieu. Plus spécifiquement, le «compteur des x» est activé pour permettre le calcul sur les lignes pour réaliser le flux de Pixel. Seulement les SAD pour une ligne des Pixels sont calculés à la fois pour une «itération» de l'état 1. Le prochain cas est l'état 2, où les compteurs sont remis à zéro. Cependant, le changement de l état 1 à l'état 2 dépend de l étape de l'algorithme de 4SS en fonction. L état 2 (L état Counter Reset) réinitialise le «compteur des x» ce qui permet le retour au début de la ligne des pixels. Cet état active le «compteur des y» en assurant le calcul des SAD dans la ligne suivante. Si le calcul est terminé pour la ligne de zone de recherche, c'est-à-dire lorsque «compteur des y»=16, alors on passe à l état suivant. Si non on revient à l état précédent. Ensuite, l UT est prêt à la comparaison faite par le comparateur pour passer aux autres états. L état 3 Active l entrée d unité de traitement au comparateur qui détermine au cours de ces états si l un des SAD est le meilleur SAD trouvé. L état 4 «Nb_sad» (nombre des SAD), s agit d incrémenter un compteur sur le nombre des SAD. Si le calcul des 9 SAD est terminé, on passe à l état 5. Si non, on revient à l état 1. L état 5 Le plus important état est celui numéro 5, l état de décision. On doit connaître si l algorithme est terminé, ou si la zone de recherche est finie, c est-à-dire l une des étapes de l algorithme a été terminée, ou si la zone de recherche est incomplète et a besoin d au moins une autre étape du traitement. Ainsi, Si l'algorithme est terminé, on passe à l état 6. Si non, on revient à l'état 1. A l état 6 (Fin), l opération d estimation du mouvement est terminée. Tous les compteurs sont désactivés et les calculs s arrêtent. Le SAD présenté par le comparateur est l optimum relatif à l algorithme 4SS. Les sorties MVX et MVY sont valables. Page 50

57 D où la machine a état fini de l unité de commande : Figure 2.6 : Machine à état fini Générateur d adresse : La machine d état génère des signaux permettant à ce générateur de produire des adresses de pixels et de les envoyer vers la mémoire de référence et celle courante. Ceci est effectué selon les étapes de l algorithme 4SS. Tout d abord, l adresse du bloc de référence est initialisée à (0,0) et celle du bloc co urant est initialisée à (5,5) car le codage de l adresse mémoire courante commence de 0 jusqu à 29. Notons qu à chaque étape, l adresse mémoire courante du début est mémorisée dans un registre. Ensuite, on passe à la première étape qui consiste à calculer les SAD. Suite à cette étape, l adresse de mémoire de référence est remise à (0,0) alors que la nouvelle adresse du bloc courant dépend d un test qu on fait sur le SAD trouvé en comparant les coordonnées (x, y) avec les valeurs enregistrées dans le registre. S ils sont similaires on passe à l étape 4, sinon on passe à l étape 2 en donnant l adresse du bloc courant les valeurs de x et y. Ensuite, on refait le même travail pour les autres étapes de l algorithme. Ce bloc joue un rôle très important pour le bon fonctionnement de l estimateur du mouvement. Il comporte deux compteurs pour adresser les pixels de la mémoire courante et la mémoire de référence en même temps, en respectant la table des flots des données qui présente la propagation des flots des pixels vers l UT dans un ordre bien déterminé. Page 51

58 4.2. Unité de traitement (UT) : Le rôle de l unité de traitement consiste à calculer la somme des différences absolues (SAD) entre les pixels du MB (macro-bloc) de l image courante et les pixels du MB appartenant à la fenêtre de recherche d une image de référence. Figure 2.7 : Architecture d unité de traitement Les pixels de références sont lus séquentiellement à partir de la mémoire. Le principe de fonctionnement d UT est présenté par l organigramme de la figure 2.7. Au début, l estimateur du mouvement place la fenêtre de recherche à l origine du MB courant puis il sélectionne le MB de référence. L UT charge les données issues du MB courant et de référence, puis il effectue le calcul de SAD. L étape suivante consiste à vérifier si le critère d arrêt est activé. Dans ce cas, il retourne à l état initial, sinon, il charge le nouveau MB de référence (pour le même MB courant) puis il effectue le calcul de SAD et ainsi de suite. Page 52

59 Figure 2.8 : Organigramme du fonctionnement d unité de traitement. Pour mieux comprendre le fonctionnement du bloc UT, on présente un exemple de calcul dans le cas d un bloc de taille 4 4. On prend un pixel courant appartenant à la mémoire courante et un pixel de référence appartenant à la mémoire de référence et on fait la différence absolue entre les deux pixels. La différence sera mise dans un tableau, puis on prend deux autres pixels et on accumule la différence, et finalement on génère la valeur de SAD. La figure 2.9 présente un exemple de calcul de SAD pour une zone de recherche de 7*7, et un bloc a cherché de 4*4 pixels. Page 53

60 Figure 2.9: Exemple de calcul de SAD pour un bloc 4x4 SAD= =53. La valeur de SAD est 53. Le calcul se fait suivant le même principe pour les autres positions de la fenêtre de recherche. Page 54

61 4.3. Module comparateur : Le module comparateur permet de comparer les différentes SAD calculées afin de générer la SAD minimale. Figure 2.10 : comparateur de SAD 4.4 Les mémoires : Les figures 2.11 et 2.12 détaillent la partition de la mémoire de ce modèle. Seulement deux mémoires locales sont utilisées pour le modèle 4SS. Une est de 256 octets et inclut le bloc de référence, disposé dans l ordre en tant que 16*16 pixels. La zone de recherche courante est incluse dans une mémoire de 1kb, chargée en tant que 30*30 pixels pour permettre un adressage de mémoire plus facile, qui va être décrit après. Page 55

62 Figure 2.11 : Partition des mémoires dans le modèle 4SS Figure 2.12 : Organisation de la mémoire par lignes pour le modèle 4SS 5 Conclusion Dans ce chapitre on a élaboré une architecture de simulation du mouvement pour l algorithme 4SS de type GALS avec une explication pour chaque module de cet architecture. Dans le chapitre suivant on va effectuer la simulation et présenter une série d exemples illustratifs de notre travail. Page 56

63 Chapitre 3 Simulation et étude expérimentale Page 57

64 Chapitre 3: Simulation et étude expérimentale 1 Introduction. 2 VHDL & ModelSim 2.1 Structure de base d'un fichier VHDL 2.2 ModelSim. 2.3 Simulation VHDL avec l outil «ModelSim».. 3 Simulation des composantes de notre estimateur Simulation des mémoires Simulation de l unité de commande 3.3 Simulation d unité de traitement Simulation du comparateur 3.5 Simulation de l estimateur global. 4 Exemple de scénario de recherche de l algorithme 4SS. 5 tests de simulateur global.. 6 Conclusion... Page 58

65 Chapitre 3 Simulation et étude expérimentale 1 Introduction : Le but d'un langage de description matériel tel que le VHDL est de faciliter le développement d'un circuit numérique en fournissant une méthode rigoureuse de description du fonctionnement et de l'architecture du circuit désirée. Ce langage permet en effet d'utiliser des simulateurs, dans notre travail nous avons utilisé le simulateur «ModelSim». On va définir ultérieurement le VHDL avec ses architectures de programmation et le ModelSim avec des images explicatives de son fonctionnement ensuite nous citerons des tests pour différentes cas d emplacements du bloc courant. 2 VHDL & ModelSim : 2.1 Structure de base d'un fichier VHDL : Déclaration des entités : La déclaration d'entité définit le nom de l'entité et la liste des ports d'entrée et de sortie. La forme générale est la suivante, entity NAME_OF_ENTITY is port (signal_names: mode type; -- mode : IN ou OUT ou INOUT signal_names: mode type; : signal_names: mode type); end [NAME_OF_ENTITY] ; Une entité commence toujours par l'entité mot-clé, suivi par son nom et le mot-clé. Suivant les déclarations de port en utilisant le port mot-clé. Une déclaration d'entité se termine toujours par la fin des mots clés, éventuellement suivi du nom de l'entité. Page 59

66 2.1.2 Le corps d architecture : Le corps d'architecture spécifie comment le circuit fonctionne et comment il est mis en œuvre. Comme indiqué précédemment, une entité ou un circuit peut être spécifié de plusieurs façons, comme le comportement, structurelles (composants interconnectés), ou une combinaison de ce qui précède. architecture architecture_name of NAME_OF_ENTITY is -- Declarations -- components declarations -- signal declarations -- constant declarations -- function declarations -- procedure declarations -- type declarations : begin -- Statements : end architecture_name; 2.2 ModelSim : ModelSim est un environnement de simulation très puissant, dont le rôle est de tester le fonctionnement décrit par le concepteur. * Objectifs : 1. Compiler et Simuler une description VHDL 2. Utiliser un banc de test pour générer les stimuli 3. Visualiser et Analyser une trace de simulation Dans le banc d'essai, les signaux de stimuli ont été définis pour les signaux réels sur le plateau, comme le système de l'horloge et les signaux de réinitialisation. Page 60

67 2.3 Simulation VHDL avec l outil «ModelSim» : Création du projet et saisie des fichiers VHDL : Figure 3.1: Création d un projet Une fois le projet créé, l outil nous propose d insérer ou d éditer un nouveau fichier source (Figure 3.2). Le fichier source n étant pas existant, on clique sur «create new file». Figure 3.2 : Création ou ajout d un nouveau fichier source Une fenêtre de saisie du nom de fichier nous permet de préciser le nom du fichier. Il faut préciser l extension.vhd. On valide en cliquant sur le bouton «ok» et on quitte la fenêtre en cliquant sur le bouton «close». Page 61

68 Figure 3.3 : Etat du workspace à la fin de l'opération de création du fichier Nous observons alors l apparition du fichier dans l espace de travail (workspace). Le point d interrogation signifie que le fichier n est pas compilé. Une double clique sur le nom permettra l affichage d une fenêtre de saisie (Figure 3.4) dans laquelle nous taperons le code. Figure 3.4:état de sauvegarde Page 62

69 2.3.2 Compilation du fichier source VHDL : Compilons nos fichiers sources en respectant les étapes ci-dessous. Figure 3.5 : Compilation des fichiers source VHDL Simulation : Ouverture du simulateur : On clique sur l onglet library dans le cadre workspace. Après l ouverture du dossier test on clique avec le bouton droit de la souris sur bench et on sélectionne simulate. De nouveaux onglets apparaissent dans le workspace. Figure 3.6 : Démarche alternative pour le chargement du fichier de simulation Page 63

70 Sélection des signaux : On clique sur wave dans le Menu View. La fenêtre d affichage des chronogrammes apparaît. On sélectionne les signaux qu on souhaite visualiser dans cette fenêtre, comme l indique la Figure suivante. Figure 3.7 : Ajout de signaux dans la fenêtre de simulation. Les signaux a et b sont des entiers naturels. Il est possible d afficher les signaux dans d autres formats (modification du radix). En procédant comme l indique la Figure 3.8, on peut ainsi obtenir une représentation en hexadécimal. Figure 3.8 : Changement de format du signal A (en hexadécimal) Page 64

71 La simulation : Il existe plusieurs manières de faire progresser la simulation : En tapant une ligne de commande (run 800 ns par exemple) En appuyant sur le bouton «run» (simulation par pas de 100 ns par défaut) Figure 3.9 : Lancement de la simulation. Pour une simulation de 800 ns. On tape «run 800» comme commande dans la fenêtre transcript. On voit apparaître un chronogramme résultat de la simulation dans la fenêtre «wave» comme le montre la Figure Start 15 ns End 52 ns Deuxieme reset-signal active entre ns Start simulation, t = 0 sys_clk period (20 ns) Figure 3.10: Résultat de la simulation Page 65

72 3 Simulation des composantes de notre estimateur: 3.1 Simulation de la mémoire : Pour chaque période de recherche, chaque mémoire contient un macro-bloc. La mémoire de référence contient un bloc de 16*16 pixel, le bloc de recherche et de 30*30 pixel, chaque pixel est codé en hexadécimale pour être codé en binaire lors du calcul du SAD dans le module COMPARATEUR. Pour simuler notre estimateur, on a introduit des données dans les deux mémoires (mémoire courante et celle de référence). Figure 3.11 : Le bloc de référence dans la mémoire de référence ARCHITECTURE arch_mem_ref OF mem_ref IS TYPE tableau IS ARRAY (0 TO 15, 0 to 15) OF std_logic_vector(7 DOWNTO 0); CONSTANT rom: Tableau: = ( (X"49", X"42", X"20",X"42", X"6F", X"6E", X"6A",X"6F", X"75", X"72", X"00", X"42",X"52", X"42", X"20",X"00"), (X"45", X"53", X"45",X"42", X"6F", X"6E", X"6A",X"6F", X"75", X"72", X"00", X"49",X"52", X"42", X"20",X"00"), (X"49", X"42", X"20",X"42", X"6F", X"6E", X"6A",X"6F", X"75", X"72", X"00", X"42",X"6F", X"6E", X"6A",X"00"), (X"45", X"53", X"45",X"42", X"6F", X"6E", X"6A",X"6F", X"75", X"72", X"00", X"49",X"52", X"42", X"20",X"00"), (X"49", X"42", X"20",X"42", X"6F", X"6E", X"6A",X"6F", X"75", X"72", X"00", X"42",X"6F", X"6E", X"6A",X"00"), (X"45", X"53", X"45",X"42", X"6F", X"6E", X"6A",X"6F", X"75", X"72", X"00", X"49",X"52", X"42", X"20",X"00"), (X"49", X"42", X"20",X"42", X"6F", X"6E", X"6A",X"6F", X"75", X"72", X"00", X"42",X"6F", X"6E", X"6A",X"00"), (X"45", X"53", X"45",X"42", X"6F", X"6E", X"6A",X"6F", X"75", X"72", X"00", X"49",X"52", X"42", X"20",X"00"), (X"49", X"42", X"20",X"42", X"6F", X"6E", X"6A",X"6F", X"75", X"72", X"00", X"42",X"6F", X"6E", X"6A",X"00"), (X"45", X"53", X"45",X"42", X"6F", X"6E", X"6A",X"6F", X"75", X"72", X"00", X"49",X"52", X"42", X"20",X"00"), (X"49", X"42", X"20",X"42", X"6F", X"6E", X"6A",X"6F", X"75", X"72", X"00", X"42",X"6F", X"6E", X"6A",X"00"), (X"49", X"42", X"20",X"42", X"6F", X"6E", X"6A",X"6F", X"75", X"72", X"00", X"42",X"6F", X"6E", X"6A",X"00"), (X"45", X"53", X"45",X"42", X"6F", X"6E", X"6A",X"6F", X"75", X"72", X"00", X"49",X"52", X"42", X"20",X"00"), (X"49", X"42", X"20",X"42", X"6F", X"6E", X"6A",X"6F", X"75", X"72", X"00", X"42",X"6F", X"6E", X"6A",X"00"), (X"45", X"53", X"45",X"42", X"6F", X"6E", X"6A",X"6F", X"75", X"72", X"00", X"49",X"52", X"42", X"20",X"00"), (X"49", X"42", X"20",X"42", X"6F", X"6E", X"6A",X"6F", X"75", X"72", X"00", X"42",X"52", X"42", X"20",X"00") ); Page 66

73 BEGIN process (clk) variable adr1, adr2: INTEGER; BEGIN if clk'event and clk='1' then if rd='1' then adr1:= to_integer (signed (addr_ref_x)); adr2:= to_integer (signed (addr_ref_y)); donnees_ref <= rom (adr2, adr1); end if; end if; end process; END arch_mem_ref; Pour la mémoire courante, on a introduit pour chaque test, le contenu qui convient. La structure des deux mémoires est celle d une matrice de dimension n*n. avec n=16 pour la mémoire de référence et 30 pour la mémoire courante. Figure 3.12 : Simulation de la mémoire de référence On remarque bien que «donnees_ref» contient la valeur de la coordonnée (001000,001011) {(8,11) en décimale} contient la valeur voulue à l instant de la lecture (read memory = 1). Figure 3.13 : Simulation de mémoire courante Le même principe est utilisé pour la mémoire de référence. Page 67

74 3.2 Simulation de l unité de commande : Le chronogramme de simulation de l unité de commande est présenté par la figure 3.14 Cette unité permet l accès aux pixels de l image courante ainsi que les pixels de l image de référence. De plus elle s occupe de la comparaison des 9 SAD afin de déterminer le SAD_MIN et son vecteur de mouvement. Cette figure montre un scénario de simulation de cette unité. Figure 3.14 : Résultat de simulation de l unité de commande 3.3 Simulation d unité de traitement : Le chronogramme de simulation d UT est donné par la figure A chaque front d horloge, le bloc UT calcule la différence absolue entre un pixel courant et un pixel de référence. Puis, on prend deux autres pixels et on accumule les différences. On répète ce processus jusqu au dernier pixel du bloc. Après, on génère la valeur de SAD. La figure ci-dessous montre que l UT calcule le SAD à partir de deux données DATA1 et DATA2. Figure 3.15 : Résultat de simulation d UT Page 68

75 3.4 Simulation du comparateur : Chaque fois que la SAD est calculée, elle reste en attente jusqu'à l arrivée du signal Enable de l unité de commande qui va déclencher la tache du comparateur. La figure 3.16 illustre un exemple de résultat de simulation du comparateur. Figure 3.16 : Résultat de simulation du comparateur 3.5 Simulation de l estimateur global : Le chronogramme de simulation de l estimateur du mouvement est donné par la figure L algorithme termine la recherche s il trouve la SAD minimale au centre du modèle ou au bord de la fenêtre. Dans ce cas il génère le signal SAD_MIN final avec ses coordonnées (MVX, MVY). Figure 3.17 : Résultat de simulation du l estimateur Page 69

76 4 tests de simulateur global : 4.1 test1: Vecteur de Mvt Mvt_y= -7 Bloc à rechercher dans l image n+1 Bloc à rechercher dans l image n Mvt_x= -7 Figure3.18: Test 1 Zone de recherche Estimation de mouvement terminée. Affichage des coordonnées (mvx, mvy) relatifs au dernier SAD minimal. Figure3.19: Simulation de test1 Page 70

77 4.2 test2: Vecteur de Mvt. Bloc à rechercher dans l image n+1. Bloc à rechercher dans l image n. Mvt_x= -7 Mvt_y= 0 Zone de recherche Figure 20: Test 2 Estimation de mouvement terminée. Affichage des coordonnées (mvx, mvy) relatifs au dernier SAD minimal. Figure 21: Simulation test 2 Page 71

78 4.3 test3: Vecteur de Mvt Bloc à rechercher dans l image n+1 Bloc à rechercher dans l image n+1 Mvt_x= 7 Mvt_y= 3 Figure 3.22: Test 3 Zone de recherche Figure 2.23: Simulation de test 3 Estimation de mouvement terminée. Affichage des coordonnées (mvx, mvy) relatifs au dernier SAD minimal. Page 72

79 4.4 test4: Bloc à rechercher dans l image n+1 Bloc à rechercher dans l image n, qui n a pas changé de place Mvt_x= 0 Mvt_y=0 Figure 3.24: Test 4 Estimation de mouvement terminée. Affichage des coordonnées (mvx, mvy) relatifs au dernier SAD minimal. Figure 3.25: Simulation test 4 Page 73

80 4.5 Test 5: Vecteur de Mvt Mvt_y= -7 Bloc à rechercher dans l image n+1 Bloc à rechercher dans l image n. Mvt_x= -7 Bloc qui porte les mêmes données que le bloc à rechercher dans l image n+1. Figure 3.26: Test 5 Estimation de mouvement terminée. Affichage des coordonnées (mvx, mvy) relatifs au dernier SAD minimal. Figure 3.27: Simulation test 5 Page 74

81 Pour la structure de l enregistrement de la vidéo compressée, nous proposons la méthode suivante : Pour chaque GOP d images, on va donner une seule image de référence concaténé avec une suite de vecteurs de mouvement, qui se compose en plusieurs ensembles, chaque ensemble présente une image. Sachant qu un vecteur de mouvement est composé d un couple (mvt_x, mvt_y) avec mvt_x et mvt_y varie de -7 à 7. De 000 à 111 représente une plage de 0 à 7, on ajoute un bit de signe dont la valeur est égale à 0 si le déplacement est positif et à 1 s il est négatif, donc la plage des cordonnées X et Y, es t de 1111 à 0111, d ou chaque couple et codé sur un octet. Exemple : le couple (1111,0101) représente un mouvement de (-7,5) d un bloc. Prenant maintenant une séquence vidéo de taille 10,576 Mo et de durée 97 secondes [Intro Game WarCraft]. On la décompose en 2344 images JPEG de taille 4 Ko (24 images/sec), chaque image est de 800*368 pixels, c est à dire 1150 blocs de 16*16 pixels (chaque mouvement de bloc va être enregistré sur un octet donc l enregistrement d une image compressée coute 1150 octets). Un GOP est de 10 images, donc on a 235 GOP dans notre cas. La vidéo est décomposé en 2344 images Une image (1150 blocs de 16*16 pixels) Page 75

Notes sur la compression de signaux video.

Notes sur la compression de signaux video. Compression Vidéo Novembre 2006 1 Notes sur la compression de signaux video. Numérisation des signaux video Le CCIR (Comité Consultatif International des Radiotélécommunications) publie en 1982 le standard

Plus en détail

Schéma de compression vidéo

Schéma de compression vidéo Plan Schéma de compression vidéo G. Laroche 04/0/2006 Introduction Étapes de compression Codage du résiduel Calcul du résiduel Autres étapes Conclusion Questions Plan Introduction Qu est ce qu un codec

Plus en détail

La résolution (appelée aussi définition) des photos numériques

La résolution (appelée aussi définition) des photos numériques LES IMAGES NUMERIQUES Généralités Il existe 2 sortes d'images numériques : les images matricielles et les images vectorielles. Dans une image vectorielle les données sont représentées par des formes géométriques

Plus en détail

Codage/Décodage Vidéo Considérations sur l implantation matérielle

Codage/Décodage Vidéo Considérations sur l implantation matérielle Codage/Décodage Vidéo Considérations sur l implantation matérielle Lirida Alves de Barros Naviner Département Communications et Electronique lirida.naviner@telecom-paristech.fr Codage d Images Compression

Plus en détail

Estimation et compensation en mouvement pour codage vidéo

Estimation et compensation en mouvement pour codage vidéo Groupe des Ecoles des Télécommunications Institut National des Télécommunications Estimation et compensation en mouvement pour codage vidéo MEP, 2006 Marius Preda Unité de Projets ARTEMIS Advanced Research

Plus en détail

Partie Agir : Défis de XXIème siècle. CHAP 20-ACT EXP Caractéristiques des Images Numériques CORRIGE

Partie Agir : Défis de XXIème siècle. CHAP 20-ACT EXP Caractéristiques des Images Numériques CORRIGE Partie Agir : Défis de XXIème siècle. CHAP 20-ACT EXP Caractéristiques des Images Numériques CORRIGE 1/8 1. La pixellisation de l image Lancer le logiciel de traitement d Image GIMP et Ouvrir l image «colibri640.jpg»

Plus en détail

D.I.I.C. 3 - INC Module COMV - Contrôle 1

D.I.I.C. 3 - INC Module COMV - Contrôle 1 Université de Rennes 1 année 2009-2010 I.F.S.I.C. 11 Décembre 2009 D.I.I.C. 3 - INC Module COMV - Contrôle 1 cours d Olivier LE MEUR Durée : 2 heures Documents autorisés : documents des cours, TD et TP,

Plus en détail

TELEVISION NUMERIQUE

TELEVISION NUMERIQUE REPUBLIQUE DU CAMEROUN Paix - Travail Patrie --------------------- UNIVERSITE DE YAOUNDE I ---------------------- ECOLE NATIONALE SUPERIEURE POLYTECHNIQUE ---------------------- REPUBLIC OF CAMEROUN Peace

Plus en détail

Amélioration du codage H.264 par orientation des blocs de la transformée

Amélioration du codage H.264 par orientation des blocs de la transformée Amélioration du codage H.264 par orientation des blocs de la transformée ROBERT Antoine 1 AMONOU Isabelle 1 PESQUET-POPESCU Béatrice 2 1 France Telecom R&D 2 TSI - ENST Paris 4, rue du Clos Courtel 46,

Plus en détail

Codage des images matricielles

Codage des images matricielles La représentation d'une image On distingue 2 grandes catégories de codage d images : - le codage vectoriel : l image est codée par un ensemble de formules mathématiques (cercles, droites,...); - le codage

Plus en détail

M2 Informatique/Réseaux Université Pierre et Marie Curie UE APMM

M2 Informatique/Réseaux Université Pierre et Marie Curie UE APMM TD TECHNIQUES DE CODAGE ET DE COMPRESSION. LANGAGE / CODAGE / VALENCE.. Rappels Toute fraction intelligible d un message est constituée de symboles. Le langage est l ensemble de ces symboles. Un codage

Plus en détail

Compression numérique. Image fixe (et vidéo)

Compression numérique. Image fixe (et vidéo) Compression numérique Image fixe (et vidéo) 1 Contexte Codage ou compression des images numériques Réduc:on de la quan:té d éléments binaires représentant l informa:on (image, vidéo) Taux de comp. = Qté

Plus en détail

18 Informatique graphique

18 Informatique graphique Avant-propos En 1988, les Editions Hermès publiaient un ouvrage intitulé La synthèse d'images, qui présentait un état de l'art de ce domaine de l'informatique, vingt cinq ans environ après l'introduction

Plus en détail

Traitement du signal et Applications cours 6

Traitement du signal et Applications cours 6 Traitement du signal et Applications cours 6 Master Technologies et Handicaps 1 ère année Philippe Foucher 1 Introduction Potentialités du traitement du signal sont énormes Mais traitement du signal n

Plus en détail

Cours: SYSTEMES MULTIMEDIA Master RSD, 2014/2015

Cours: SYSTEMES MULTIMEDIA Master RSD, 2014/2015 Cours: SYSTEMES MULTIMEDIA Master RSD, 2014/2015 Prof. Slimane Larabi Chapitre 2. Notions sur l image et la vidéo 2.1 Notions sur l'image 2.2 Représentation d une image 2.3 OPERATIONS SUR LES IMAGES 2.4

Plus en détail

9th Maghrebian Conference on Software and Artificial Intelligence, 7-9 Décembre 2006.

9th Maghrebian Conference on Software and Artificial Intelligence, 7-9 Décembre 2006. Compression des images animées suivant une approche basée sur la quantification vectorielle N. Benamrane, A. Mebarki, M. Mahmoudi Equipe Images-Vision (Laboratoire SIMPA) USTOMB Résumé : Le codage par

Plus en détail

Codecs. Techniques de compactage

Codecs. Techniques de compactage Codecs Techniques de compactage Le codage des images Une image peut être représentée par un tableau de pixels chaque case contenant trois valeurs R, V, B représentant les intensités des trois couleurs

Plus en détail

LES IMAGES NUMÉRIQUES

LES IMAGES NUMÉRIQUES LES IMAGES NUMÉRIQUES On désigne sous le terme d'image numérique toute image (dessin, icône, photographie ) acquise, créée, traitée ou stockée sous forme binaire (ensemble de 0 et de 1). On distingue deux

Plus en détail

Couleur d'une image. Programmes en Visual Basic TABLE DES MATIÈRES

Couleur d'une image. Programmes en Visual Basic TABLE DES MATIÈRES Application des mathématiques Couleur d'une image Programmes en Visual Basic TABLE DES MATIÈRES 1 Introduction... 2 2 Images et Visual-Basic... 2 3 Composantes couleur... 4 4 Le cube des couleurs... 5

Plus en détail

Codage MPEG-4 de dessins animés

Codage MPEG-4 de dessins animés Codage MPEG-4 de dessins animés Jean-Claude Moissinac Cyril Concolato Jean-Claude Dufourd Ecole Nationale Supérieure des Télécommunications 46 rue Barrault 75013 Paris cyril.concolato@enst.fr, dufourd@enst.fr,

Plus en détail

Les images en informatique

Les images en informatique Partie 1 Les images en informatique Anne GEDDES 1 I. Les catégories d images Il existe 2 catégories d images : Les images vectorielles Les images bitmap (ou images raster) 2 A. Les images vectorielles

Plus en détail

Compression d images format JPEG

Compression d images format JPEG Compression d images format JPEG 1) Introduction (système de compression, les normes) 2) Formats des images (les couleurs, formats 4:2:0, QCIF ) 3) JPEG (schéma de codage, modes de fonctionnement) D après

Plus en détail

Pré-analyse de plans vidéos Haute Définition

Pré-analyse de plans vidéos Haute Définition MÉMOIRE DE MASTER DE RECHERCHE «ARCHITECTURES LOGICIELLES DISTRIBUÉES» Pré-analyse de plans vidéos Haute Définition Application à l optimisation du codage en flux H.264 Jérôme GORIN 20 Avril 2007 encadré

Plus en détail

Document de synthèse. Optimisation des conditions d éclairage Les défis d un éclairage minimum

Document de synthèse. Optimisation des conditions d éclairage Les défis d un éclairage minimum Document de synthèse Optimisation des conditions d éclairage Les défis d un éclairage minimum Table des matières 1. Introduction 3 2. Sensibilité à la lumière : une mesure complexe 3 3. Ne vous faites

Plus en détail

La Grille, moyen fondamental de l analyse

La Grille, moyen fondamental de l analyse Fiche méthodologie #1 La Grille, moyen fondamental de l analyse Cette rubrique présente des notes et documents publiés par Philippe Latour, enseignant au Master Géomarketing et stratégies territoriales

Plus en détail

PCA appliqué à la 2D et 3D Dernière mise à jour : avril 2011

PCA appliqué à la 2D et 3D Dernière mise à jour : avril 2011 Projet 2009 2010 Biométrie 3D PCA appliqué à la 2D et 3D Dernière mise à jour : avril 2011 Département : TIC Mots clés : Biométrie, Analyse d images, Vision, Caméra thermique, Caméra temps de vol, Détection

Plus en détail

CONTENU DE FORMATION, année 2008. Comprendre ce qu'est une image numérique. Deux grandes catégories de fichiers images : bitmap & vectoriels

CONTENU DE FORMATION, année 2008. Comprendre ce qu'est une image numérique. Deux grandes catégories de fichiers images : bitmap & vectoriels CONTENU DE FORMATION, année 2008 Par Pierrick Brissier, IANTE arts plastiques / 61100 Flers / pierrick.brissier@ac-caen.fr Comprendre ce qu'est une image numérique Deux grandes catégories de fichiers images

Plus en détail

TS214 - Compression/Décompression d une image binaire

TS214 - Compression/Décompression d une image binaire Filière Télécommunications, 2 ème année TS214 - Compression/Décompression d une image binaire De nombreux télécopieurs utilisent la recommandation T.4 Groupe 3 de l International Telecommunications Union

Plus en détail

Prendre un bon départ

Prendre un bon départ Chapitre A Prendre un bon départ 1 - Avant-propos Un ordinateur sait très bien faire deux choses : Calculer, d oùle nomcomputer en anglais que l on pourrait traduire par calculateur. Placer des données

Plus en détail

La compression vidéo avec le standard H.264/AVC

La compression vidéo avec le standard H.264/AVC Nicolas Sertier Emmanuel André Pierre Fritsch Supélec électif Audiovisuel numérique 24 janvier 2005 Plan Présentation générale 1 Présentation générale Origines et historique Caractéristiques 2 50 % de

Plus en détail

A. Résolution et codage d une image en noir et blanc

A. Résolution et codage d une image en noir et blanc Nom :. Comment encoder une image Coéquipier :. Objectifs : étudier différents modes d encodage d une image (ou numérisation une image) Une image se caractérise par plusieurs propriétés : a) Sa défintion

Plus en détail

On définit sous le terme d image numérique toute image (dessin, icône, photographie )

On définit sous le terme d image numérique toute image (dessin, icône, photographie ) On définit sous le terme d image numérique toute image (dessin, icône, photographie ) Acquise, créée, traitée ou stockée sous forme binaire (suite de 0 et de 1) Lorsqu'on agrandit une image numérique,

Plus en détail

Bibliothèque de Traitement d Images en Niveaux de Gris

Bibliothèque de Traitement d Images en Niveaux de Gris TP Bibliothèque de Traitement d Images en Niveaux de Gris Étudiants : Besnier Alexandre Taforeau Julien Version 1.2 Janvier 2008 2008 Rapport TP - Version 1.2 i Table des matières Introduction 1 1 Objectif

Plus en détail

LES BONNES RÉSOLUTIONS

LES BONNES RÉSOLUTIONS LES BONNES RÉSOLUTIONS LA MODÉLISATION DE L IMAGE NUMÉRIQUE L'information contenue dans une image est très complexe, aussi son codage sous forme numérique utilise une quantité très importante de valeurs...

Plus en détail

Estimation du mouvement. Marco Cagnazzo 14 mai 2012

Estimation du mouvement. Marco Cagnazzo 14 mai 2012 Estimation du mouvement Marco Cagnazzo 14 mai 2012 Plan Introduction La représentation du mouvement Les différentes techniques Applications et examples 2 Estimation du mouvement Le mouvement dans les images

Plus en détail

Infographie. Image et informatique

Infographie. Image et informatique Infographie Image et informatique René Brou 2010 1 Affichage d une image L image numérique est enregistrée par un capteur (camera ou photo) et affichée sur un écran (moniteur). Comme notre rétine,le capteur

Plus en détail

École Polytechnique de Montréal Département de Génie Informatique

École Polytechnique de Montréal Département de Génie Informatique École Polytechnique de Montréal Département de Génie Informatique INF8500 Automne 2012 Laboratoire #2, Partie 1 Transformation des couleurs dans le MJPEG 1. Objectif L objectif de ce laboratoire est de

Plus en détail

Colloque «Télécommunicationsréseaux du futur et services»

Colloque «Télécommunicationsréseaux du futur et services» Colloque «Télécommunicationsréseaux du futur et services» DITEMOI Robustesse et efficacité pour la diffusion de contenu sur liens Internet sans fil Le problème et les objectifs du projet La consultation

Plus en détail

COMPRESSION D'UN FICHIER AUDIO NUMÉRIQUE

COMPRESSION D'UN FICHIER AUDIO NUMÉRIQUE COMPRESSION D'UN FICHIER AUDIO NUMÉRIQUE Capacité(s) contextualisée(s) mise(s) en jeu durant l'activité : Reconnaître des signaux de nature analogique et des signaux de nature numérique. Situation de départ

Plus en détail

Introduction. 1. ADSL : Asymetric Digital Subscriber Line. 2. Video On Demand (VOD).

Introduction. 1. ADSL : Asymetric Digital Subscriber Line. 2. Video On Demand (VOD). Introduction Si l on parle aisément de «révolution industrielle» pour caractériser les conquêtes techniques qui n ont cessé de se multiplier entre les XVIII e et XX e siècles, on peut parler de la même

Plus en détail

EDITER UNE IMAGE. L'imprimante. Deux technologies se partagent le marché éducatif

EDITER UNE IMAGE. L'imprimante. Deux technologies se partagent le marché éducatif EDITER UNE IMAGE L'imprimante Deux technologies se partagent le marché éducatif - les imprimantes à jet d'encre qui fonctionnent par projection de micro gouttes d'encre. Elles sont soit monochromes, soit

Plus en détail

CH.2 CODES CORRECTEURS

CH.2 CODES CORRECTEURS CH.2 CODES CORRECTEURS 2.1 Le canal bruité 2.2 La distance de Hamming 2.3 Les codes linéaires 2.4 Les codes de Reed-Muller 2.5 Les codes circulaires 2.6 Le câblage des codes circulaires 2.7 Les performances

Plus en détail

Acquisition d image : vers le tout numérique

Acquisition d image : vers le tout numérique Acquisition d image : vers le tout numérique Introduction La technologie évolue rapidement dans le domaine de l'acquisition d'image depuis quelques années, que ce soit dans les domaines industriel et scientifique

Plus en détail

La machine à diviser de Monsieur Pascal

La machine à diviser de Monsieur Pascal prologue La machine à diviser de Monsieur Pascal Àdiviser? vous dites-vous, ne s agit-il pas plutôt de la «Pascaline», la machine à additionner que le jeune Blaise construisit pour soulager son père dans

Plus en détail

Laboratoire recherche UMR CNRS

Laboratoire recherche UMR CNRS Laboratoire recherche UMR CNRS Initiation au traitement des images Détection automatique Mesure de la surface des zones urbaines des images satellitaires Cet atelier propose de mesurer l'emprise urbaine

Plus en détail

Eléments de stratégie d échantillonnage à l adresse des diagnostiqueurs amiante.

Eléments de stratégie d échantillonnage à l adresse des diagnostiqueurs amiante. Eléments de stratégie d échantillonnage à l adresse des diagnostiqueurs amiante. Essai de détermination du nombre de prélèvements à effectuer lors d un diagnostic amiante afin d assurer une représentativité

Plus en détail

Transformée de Fourier Discrète Convolution Circulaire

Transformée de Fourier Discrète Convolution Circulaire BE Traitements Numériques des Signaux n 2 Filière SICOM 2A PHELMA-ENSE 3 Année 2015-2016 Pascal PERRIER Transformée de Fourier Discrète Convolution Circulaire 1. Analyse d un signal périodique Dans cette

Plus en détail

La définition : La résolution : La photo numérique

La définition : La résolution : La photo numérique La photo numérique La définition : La définition d'une image est définie par le nombre de points la composant. En image numérique, cela correspond au nombre de pixels (point noir ou coloré) qui compose

Plus en détail

Utiliser un modèle d état prédéfini

Utiliser un modèle d état prédéfini Chapitre 8 Etats rapides Certains boutons sont désactivés, en fonction du type de cellule sélectionné. 4 Répétez les étapes 2 et 3 pour chaque bordure à paramétrer. 5 Cliquez sur le bouton OK pour valider

Plus en détail

Tableaux et manipulation d images «bitmap»

Tableaux et manipulation d images «bitmap» T.P. numéro VII Tableaux et manipulation d images «bitmap» Ce T.P. va faire intervenir les notions suivantes : lecture/écriture de fichiers binaires ; images bitmap ; tableaux de données. 1 Fichiers binaires

Plus en détail

Parties Problématique Questionnaire Compétences Capacités Connaissances Documents T1 T2 T3 T4 T5 Partie n 0 (lecture du sujet : 30 min)

Parties Problématique Questionnaire Compétences Capacités Connaissances Documents T1 T2 T3 T4 T5 Partie n 0 (lecture du sujet : 30 min) Baccalauréat S profil SI épreuve de sciences de l ingénieur Sujet BEZOUT -Track T1 analyser un technique et vérifier ses performances attendues ; T2 proposer et valider des modèles ; T3 analyser des résultats

Plus en détail

Création et utilisation de la boutique

Création et utilisation de la boutique Création et utilisation de la boutique Ce guide a pour but de présenter l organisation et le fonctionnement de l outil boutique de Sopixi, ainsi que les fonctions de base, nécessaire au bon fonctionnement

Plus en détail

Représenter les images

Représenter les images Représenter les images 4/1/01 1 Travail La séance de travail du 4/1 consiste à travailler l ensemble de ce document Les résolutions des exercices 3 et 11 sont à déposer dans les casiers numériques de vos

Plus en détail

Félicitations! Vous disposez désormais de votre armoire numérique en ligne.

Félicitations! Vous disposez désormais de votre armoire numérique en ligne. Félicitations! Vous disposez désormais de votre armoire numérique en ligne. Cette armoire va vous permettre : De mieux classer vos documents De mieux les retrouver De mieux les partager Ce petit guide

Plus en détail

Rapport IN52. Sujet : Résolution d un puzzle

Rapport IN52. Sujet : Résolution d un puzzle CARRE Julien PIERNOT Jérôme Rapport IN52 Sujet : Résolution d un puzzle Responsable : M. Ruicheck Y. Automne 2007 1 SOMMAIRE INTRODUCTION...3 I. Description et approche du sujet...4 1. Description 2. Outils

Plus en détail

IMAGES ET VIDEOS COMPRESSION ET FORMATS EXAMEN

IMAGES ET VIDEOS COMPRESSION ET FORMATS EXAMEN Images et Vidéos : Compression et Formats, 12/13. 1 Sujet 1 Filière ICN 212/213 IMAGES ET VIDEOS COMPRESSION ET FORMATS EXAMEN Sans document Toute manifestation d'un équipement électronique entraîne 2

Plus en détail

La compression des images animées

La compression des images animées La compression des images animées Introduction. 2 1. Principes de bases... 3 1.1. La vidéo 3 1.2. La compression vidéo.... 4 1.3. Les données vidéo..... 6 2. La compression MPEG. 7 2.1. Le codage spatial

Plus en détail

PhotoFiltre 7 : formats des images

PhotoFiltre 7 : formats des images PhotoFiltre 7 : formats des images L'enregistrement consiste à sauver votre image dans un fichier en utilisant un format de stockage compressé ou non. PhotoFiltre est capable d'enregistrer une image dans

Plus en détail

TS 34 Le poids des images

TS 34 Le poids des images FICHE 1 Fiche à destination des enseignants TS 34 Le poids des images Type d'activité Activité Notions et contenus du programme de Terminale S Compétences exigibles du programme de Terminale S Images numériques

Plus en détail

COMMUNICATION SERIE I. DÉFINITION : II. INTÉRÊT DE LA COMMUNICATION SÉRIE : III. MODE DE TRANSMISSION SÉRIE :

COMMUNICATION SERIE I. DÉFINITION : II. INTÉRÊT DE LA COMMUNICATION SÉRIE : III. MODE DE TRANSMISSION SÉRIE : COMMUNICATION SERIE I. DÉFINITION : En télécommunications et en informatique, la communication série est l'action d'envoyer des données bit par bit, séquentiellement, sur un canal de communication ou un

Plus en détail

Définition et implantation matérielle d un estimateur de mouvement configurable pour la compression vidéo adaptative

Définition et implantation matérielle d un estimateur de mouvement configurable pour la compression vidéo adaptative Définition et implantation matérielle d un estimateur de mouvement configurable pour la compression vidéo adaptative Wajdi Elhamzi To cite this version: Wajdi Elhamzi. Définition et implantation matérielle

Plus en détail

Traitements de base d une image à l aide du logiciel PHOTOFILTRE

Traitements de base d une image à l aide du logiciel PHOTOFILTRE Traitements de base d une image à l aide du logiciel PHOTOFILTRE PhotoFiltre est un logiciel de retouche d images simple et intuitif, gratuit pour une utilisation privée, non commerciale ou éducative.

Plus en détail

TECHNOLOGIE Collège J. de Romilly, Cours Rudolf FELLER

TECHNOLOGIE Collège J. de Romilly, Cours Rudolf FELLER SYNTHESE : TraVAIL SUR Le rubik' s cube (cette feuille est à ranger dans la partie Synthèse) I. PROBLEMATIQUES ABORDEES DANS LES TRAVAUX PRATIQUES Différentes problématiques sous-jacentes ont été abordées

Plus en détail

LIVRE BLANC. Pourquoi choisir la qualité d image Sony?

LIVRE BLANC. Pourquoi choisir la qualité d image Sony? LIVRE BLANC Pourquoi choisir la qualité d image Sony? Introduction Pourquoi choisir la qualité d image Sony? L avenir de la surveillance IP sera en Full HD. De nombreuses entreprises ne cessent de parler

Plus en détail

Le but du filtrage est de préparer l'image en vue d'une compression optimale. Dans certains cas, l'image peut subir une légère perte.

Le but du filtrage est de préparer l'image en vue d'une compression optimale. Dans certains cas, l'image peut subir une légère perte. Le format PNG Le format PNG (Portable Network Graphics) a été conçu, à l'origine, pour remplacer le format GIF. Il utilise une compression sans perte de type ZLIB/LZ77 qui permet de réduire la taille des

Plus en détail

IMAGE NUMÉRIQUE IMAGE NUMÉRIQUE

IMAGE NUMÉRIQUE IMAGE NUMÉRIQUE 1. Signal analogique et signal numérique 2. Image matricielle - notion de pixel 2.1 La définition 2.2 La résolution 3. Image numérique 3.1 Image en niveaux de gris 3.2 Image en couleurs 4. Formats d image

Plus en détail

CODES CORRECTEURS D'ERREURS

CODES CORRECTEURS D'ERREURS CODES CORRECTEURS D'ERREURS Marc URO TABLE DES MATIÈRES DÉTECTION ET CORRECTION D'ERREURS... 6 CAS D'UN CANAL SANS SYMBOLE D'EFFACEMENT...6 CAS D'UN CANAL AVEC SYMBOLE D'EFFACEMENT...7 GÉNÉRATION ET DÉTECTION

Plus en détail

Formation au montage vidéo. Télévision des Bois-Francs

Formation au montage vidéo. Télévision des Bois-Francs Formation au montage vidéo Télévision des Bois-Francs 2012-2013 2 TABLE DES MATIÈRES LES CONFIRMATIONS : LE MONTAGE...3 Visionnement et inventaire du matériel tourné... 3 Numérisation du matériel sélectionné...

Plus en détail

Numérisation de l information

Numérisation de l information Numérisation de l Une est un élément de connaissance codé à l aide de règles communes à un ensemble d utilisateurs. Le langage, l écriture sont des exemples de ces règles. 1 Comment les s sont-elles transmises?

Plus en détail

Diagnostic partiel de l unité commerciale et consignes générales sur le dossier de 10 pages

Diagnostic partiel de l unité commerciale et consignes générales sur le dossier de 10 pages Diagnostic partiel de l unité commerciale et consignes générales sur le dossier de 10 pages I. Consignes générales Le dossier répond à des critères d exigences qui ont été définies par le référentiel de

Plus en détail

Ressources pour le lycée général et technologique

Ressources pour le lycée général et technologique éduscol Ressources pour le lycée général et technologique Ressources pour la classe de première générale et technologique Mathématiques Série STD2A Nuances de gris Ces documents peuvent être utilisés et

Plus en détail

Le problème des multiplications matricielles enchaînées peut être énoncé comme suit : étant

Le problème des multiplications matricielles enchaînées peut être énoncé comme suit : étant Licence informatique - L Année 0/0 Conception d algorithmes et applications (LI) COURS Résumé. Dans cette cinquième séance, nous continuons l exploration des algorithmes de type Programmation Dynamique.

Plus en détail

Ressources pour le lycée technologique

Ressources pour le lycée technologique éduscol Enseignement de mathématiques Classe de première STMG Ressources pour le lycée technologique Échantillonnage : couleur des yeux au Canada Contexte pédagogique Objectifs Obtenir un intervalle de

Plus en détail

Révisions ISO Livre blanc

Révisions ISO Livre blanc Révisions ISO ISO Revisions Révisions ISO Livre blanc Quelle est la différence entre une approche procédure et une approche processus? Aborder le changement Processus vs procédures : Qu est-ce que cela

Plus en détail

Université de Bordeaux 1 ECOLE DOCTORALE DES SCIENCES PHUSIQUES ET DE L INGENIEUR. Thèse

Université de Bordeaux 1 ECOLE DOCTORALE DES SCIENCES PHUSIQUES ET DE L INGENIEUR. Thèse N d ordre : 4505 Université de Bordeaux 1 ECOLE DOCTORALE DES SCIENCES PHUSIQUES ET DE L INGENIEUR Thèse présentée en première version en vu d obtenir le grade de Docteur, spécialité «Electronique» par

Plus en détail

L impact de deux strategies de compression dans le

L impact de deux strategies de compression dans le L impact de deux strategies de compression dans le problème stéréo Réunion scientifique, Imagerie stéréo et 3D GdR ISIS, 2011 G. Blanchet, A. Buades, B. Coll (Univ. Illes Balears), J.M. Morel, B. Rougé

Plus en détail

Le Bruit de Dispersion (DITHER)

Le Bruit de Dispersion (DITHER) Le Bruit de Dispersion (DITHER) Pour un signal de fort niveau, l'erreur de quantification est effectivement du bruit. Lorsque le niveau baisse, l'erreur de quantification devient plus fortement corrélée

Plus en détail

Compteurs, variables et afficheurs dans Automgen

Compteurs, variables et afficheurs dans Automgen Section : S Option : Sciences de l ingénieur Discipline : Génie Électrique Compteurs, variables et afficheurs dans Automgen Domaine d application : Traitement programmé de l information Type de document

Plus en détail

E T U D E Octobre 2008 Étude portant sur la mutualisation de la partie terminale des réseaux en fibre optique

E T U D E Octobre 2008 Étude portant sur la mutualisation de la partie terminale des réseaux en fibre optique E T U D E Octobre 2008 Étude portant sur la mutualisation de la partie terminale des réseaux en fibre optique Synthèse Qu@trec/PMP Sommaire I. Introduction... 3 II. Objectifs et méthodologie... 3 A. principes

Plus en détail

Chapitre 8. Corrigés

Chapitre 8. Corrigés Chapitre 8 Corrigés 1 Question 1. Indicateurs du BSC et stratégie de domination par les coûts Le BSC doit refléter les intentions stratégiques. Par conséquent, si l entreprise choisit de s orienter plutôt

Plus en détail

Chapitre 18 : Transmettre et stocker de l information

Chapitre 18 : Transmettre et stocker de l information Chapitre 18 : Transmettre et stocker de l information Connaissances et compétences : - Identifier les éléments d une chaîne de transmission d informations. - Recueillir et exploiter des informations concernant

Plus en détail

ARTILLERIE ET PHYSIQUE DANS UN JEU VIDÉO

ARTILLERIE ET PHYSIQUE DANS UN JEU VIDÉO ARTILLERIE ET PHYSIQUE DANS UN JEU VIDÉO Stranger, Niavok 29 octobre 2015 Table des matières 1 Introduction 5 2 Un peu de contexte 7 3 L artillerie antiaérienne à l époque des guerres mondiales 9 4 16.7ms

Plus en détail

Version 6 Présentation des nouveautés

Version 6 Présentation des nouveautés Version 6 Présentation des nouveautés Copyright Bionatics s.a. 2015 Tous droits réservés Augmentez la densité informationnelle de vos maquettes numériques Une version plus performante pour accélérer vos

Plus en détail

Module BDR Master d Informatique (SAR) Cours 5- bases de données parallèles Anne Doucet Anne.Doucet@lip6.fr

Module BDR Master d Informatique (SAR) Cours 5- bases de données parallèles Anne Doucet Anne.Doucet@lip6.fr Module BDR Master d Informatique (SAR) Cours 5- bases de données parallèles Anne Doucet Anne.Doucet@lip6.fr 1 Plan Introduction Architectures Placement des données Parallélisme dans les requêtes Optimisation

Plus en détail

Nikon D500 : le pouvoir condensé d'un reflex numérique au format FX dans l'agilité au format DX avec une connectivité permanente

Nikon D500 : le pouvoir condensé d'un reflex numérique au format FX dans l'agilité au format DX avec une connectivité permanente Nikon D500 : le pouvoir condensé d'un reflex numérique au format FX dans l'agilité au format DX avec une connectivité permanente Le D500 est doté de la technologie brevetée par Nikon pour assurer une connectivité

Plus en détail

Ce document a été numérisé par le CRDP de Bordeaux pour la

Ce document a été numérisé par le CRDP de Bordeaux pour la Ce document a été numérisé par le CRDP de Bordeaux pour la Base Nationale des Sujets d Examens de l enseignement professionnel. Campagne 2012 Ce fichier numérique ne peut être reproduit, représenté, adapté

Plus en détail

LES IMAGES NUMERIQUES

LES IMAGES NUMERIQUES LES IMAGES NUMERIQUES Plan du cours Pourquoi? Comment? Qu est-ce qu une image numérique La couleur Le crénelage Le traitement d images La protection du contenu 2 Introduction 2 types d images issues de

Plus en détail

SONDAGE DANS LA MISSION D AUDIT UNITE MONETAIRE. Fethi NEJI & Mounir GRAJA

SONDAGE DANS LA MISSION D AUDIT UNITE MONETAIRE. Fethi NEJI & Mounir GRAJA SONDAGE DANS LA MISSION D AUDIT UNITE MONETAIRE Le sondage est une sélection d'éléments que l'auditeur décide d'examiner afin de tirer, en fonction des résultats obtenus, une conclusion sur les caractéristiques

Plus en détail

L image numérique. Points de vue. Règles de composition

L image numérique. Points de vue. Règles de composition ComAO2.1Ressources PRENDRE UNE BONNE PHOTO! Points de vue Point de vue Illustration Commentaire Hauteur d œil C'est la position normale, le photographe est à la même hauteur que le sujet. A hauteur d'oeil,

Plus en détail

TP2 : Bus de terrain Comparaison de Protocoles d'arbitrage

TP2 : Bus de terrain Comparaison de Protocoles d'arbitrage TP2 : Bus de terrain Comparaison de Protocoles d'arbitrage Objectif : Important : Un rapport électronique doit être envoyé au plus tard 15 jours après le TP à l adresse : rachedi@univ-mlv.fr. Comprendre

Plus en détail

Aplicaciones Informâticas en Arqueologia: Teorîas y sistemas. Saint-Germain-en Laye, 1.991. Bilbao

Aplicaciones Informâticas en Arqueologia: Teorîas y sistemas. Saint-Germain-en Laye, 1.991. Bilbao Aplicaciones Informâticas en Arqueologia: Teorîas y sistemas Saint-Germain-en Laye, 1.991 Bilbao L'ARCHEOLOGIE, SYSTEME D'INFORMATION SCIENTIFIQUE Patrick DESFARGES Bruno HELLY Un examen des banques de

Plus en détail

Les formats de fichiers images

Les formats de fichiers images Les formats de fichiers images Une photo numérique est avant tout un fichier informatique. Votre appareil convertit l'image en données puis l'enregistre. Les formats les plus courants sont le JPEG, le

Plus en détail

Compression multimédia

Compression multimédia Compression multimédia 1/21 Compression multimédia Théorie des réseaux nils.schaefer@sn-i.fr Compression multimédia 2/21 Limites de la compression générique Méthodes de compression génériques Aucune connaissance

Plus en détail

Progrès récents dans le domaine de la compression vidéo

Progrès récents dans le domaine de la compression vidéo Computers / Ordinateurs Progrès récents dans le domaine de la compression vidéo 1.0 Introduction a compression vidéo est nécessaire pour la transmission des données vidéo numériques dans les réseaux à

Plus en détail

Conclusions et Perspectives

Conclusions et Perspectives 8 Conclusions et Perspectives Ce chapitre conclut la thèse en donnant un bilan du travail effectué et les perspectives envisageables au terme de cette recherche. Nous rappelons tout d abord les principales

Plus en détail

ÉLÉMENTS D OPTIMISATION. Complément au cours et au livre de MTH 1101 - CALCUL I

ÉLÉMENTS D OPTIMISATION. Complément au cours et au livre de MTH 1101 - CALCUL I ÉLÉMENTS D OPTIMISATION Complément au cours et au livre de MTH 1101 - CALCUL I CHARLES AUDET DÉPARTEMENT DE MATHÉMATIQUES ET DE GÉNIE INDUSTRIEL ÉCOLE POLYTECHNIQUE DE MONTRÉAL Hiver 2011 1 Introduction

Plus en détail

Couper en deux, encore et encore : la dichotomie

Couper en deux, encore et encore : la dichotomie Couper en deux, encore et encore : la dichotomie I : Jeu du nombre inconnu Un élève volontaire choisit un nombre entier compris entre 0 et 56. Un autre élève cherche à deviner ce nombre, en adoptant la

Plus en détail

REMERCIEMENTS INTRODUCTION

REMERCIEMENTS INTRODUCTION REMERCIEMENTS INTRODUCTION Ces dernières années, une enquête a été réalisée par la Direction des Hôpitaux. Nous savons désormais que chaque année en France, 1.4 millions d enfants sont hospitalisés. Leur

Plus en détail

Le système SMART 1. Indexation

Le système SMART 1. Indexation Le système SMART Le système SMART (System for the Mechanical Analysis and Retrieval of Text) (aussi appelé Salton's Magic Automatic Retrieval Technique:-) est un système de RI expérimental. Il utilise

Plus en détail

Analyse de la complexité algorithmique (1)

Analyse de la complexité algorithmique (1) Analyse de la complexité algorithmique (1) L analyse de la complexité telle que nous l avons vue jusqu à présent nous a essentiellement servi à déterminer si un problème est ou non facile (i.e. soluble

Plus en détail