• Aucun résultat trouvé

horizontal syncvertical sync

N/A
N/A
Protected

Academic year: 2022

Partager "horizontal syncvertical sync"

Copied!
40
0
0

Texte intégral

(1)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne

Représentation de

l'information non numérique

(2)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 2

Représentation des textes

♦ Lorsqu'un programme source est sauvé par l'éditeur dans lequel il est écrit, un fichier de texte est créé

♦ Le fichier est une séquence de bits, organisés en bytes:

chaque byte représente un caractère du programme

♦ Par exemple, le programme hello, écrit en C:

#include <stdio.h>

int main() {

printf "hello, world\n"};

}

est sauvé par l'éditeur dans le fichier hello.c, dont le contenu, byte par byte, est le suivant:

(3)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 3

# 35 i 105 n 110 c 99 l 108 u 117 d 100 e 101

<sp> 32

< 60 s 115 t 116 d 100 i 105 o 111 . 46

h 104

> 62

\n 10 i 105 n 110 t 116

<sp> 32 m 109 a 97 i 105 n 110 ( 40 ) 41

\n 10 { 123

\n 10

<sp> 32

<sp> 32

<sp> 32 p 112 r 114 i 105 n 110 t 116 f 102 ( 40

" 34 h 104 e 101 l 108 l 108 o 111

, 44

<sp> 32 w 119 o 111 r 114 l 108 d 100

\ 92

n 110

" 34 ) 41

; 59

\n 10 } 125

(4)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 4

♦ Chaque symbole d'un texte est représenté par une certaine chaîne de bits, un code

♦ Le code le plus utilisé est celui de l'American National

Standard Institute (ANSI), appelé ASCII (American Standard Code for Information Exchange)

♦ Ce code utilise 7 bits pour représenter tous les caractères de l'anglais, majuscules et minuscules, les digits de 0 à 9 et

certains caractères de contrôle (fin de ligne, tabulateur, etc)

♦ Un huitième bit a été ajouté par la suite, afin d'inclure des caractères d'autres langues. Mais, malheureusement, il n'y a pas une implémentation unique de cette solution

(5)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 5

♦ Le code ASCII:

00000000 00010000 00100000 00110000 0 01000000 @ 01010000 P 01100000 ` 01110000 p 00000001 00010001 00100001 ! 00110001 1 01000001 A 01010001 Q 01100001 a 01110001 q 00000010 00010010 00100010 " 00110010 2 01000010 B 01010010 R 01100010 b 01110010 r 00000011 00010010 00100010 # 00110010 3 01000010 C 01010010 S 01100010 c 01110010 s 00000100 00010100 00100100 $ 00110100 4 01000100 D 01010100 T 01100100 d 01110100 t 00000101 00010101 00100101 % 00110101 5 01000101 E 01010101 U 01100101 e 01110101 u 00000110 00010110 00100110 & 00110110 6 01000110 F 01010110 V 01100110 f 01110110 v 00000111 00010111 00100111 ' 00110111 7 01000111 G 01010111 W 01100111 g 01110111 w 00001000 00011000 00101000 ( 00111000 8 01001000 H 01011000 X 01101000 h 01111000 x 00001001 00011001 00101001 ) 00111001 9 01001001 I 01011001 Y 01101001 i 01111001 y 00001010 00011010 00101010 * 00111010 : 01001010 J 01011010 Z 01101010 j 01111010 z 00001011 00011011 00101011 + 00111011 ; 01001011 K 01011011 [ 01101011 k 01111011 { 00001100 00011100 00101100 , 00111100 < 01001100 L 01011100 \ 01101100 l 01111100 | 00001101 00011101 00101101 - 00111101 = 01001101 M 01011101 ] 01101101 m 01111101 } 00001110 00011110 00101110 . 00111110 > 01001110 N 01011110 ^ 01101110 n 01111110 ~ 00001111 00011111 00101111 / 00111111 ? 01001111 O 01011111 _ 01101111 o 01111111

caractères

de contrôle caractères alphanumériques

(6)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 6

♦ Exemple:

01000010 01101111 01101110 01101010 01101111 01110101 01110010 B o n j o u r

♦ Pour résoudre ces problèmes, un nouveau code, Unicode, a été adopté par des fabricants de matériel et de logiciel, utilisant 16 bits pour représenter chaque symbole. C'est le code utilisé par Java

♦ Un autre code, utilisant 32 bits par symbole, a été développé par l'ISO (International Organization for Standardization)

(7)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 7

Représentation des sons

(8)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 8

(9)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 9

Salut, ça va?

(10)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 10

♦ Un autre code très utilisé est MIDI (Musical Instrument

Digital Interface). Dans ce cas, on ne code pas les sons, mais la façon de les produire dans un synthétiseur: quel

instrument, quelle note et quelle durée. Ainsi, par exemple, un piano qui joue une note do pendant deux secondes est codé avec seulement trois bytes, au lieu des millions de bits nécessaires pour un CD

(11)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 11

(12)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 12

(13)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 13

(14)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 14

(15)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 15

Représentation des images

♦ Une image est représentée par une suite de nombres: c'est un bitmap

♦ Le premier pas est créer une grille avec des cellules de même taille et la

superposer à l'image. Chaque cellule est un élément de l'image ou pixel (picture element)

♦ Par exemple, la Statue de la Liberté ci-

contre est une image réalisée comme une grille de 1150x650 pixels

♦ A la page suivante nous pouvons voir un détail de l'image, sur 16x16 pixels

(16)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 16

♦ Chaque pixel possède un certain niveau de gris, sur 16 possibles: la valeur de la couleur peut donc être stockée à l'aide de 4 bits

♦ Le nombres de bits nécessaire pour stocker l'image complète est donc de:

(1'150x650)x4=747'500x4=2'990'000

(17)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 17

♦ La qualité de l'image dépend du nombre de pixels et du

nombre de bits par pixel (c'est-à-dire du nombre de couleurs)

(18)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 18

♦ Voici, par exemple, le même bout d'image de la Statue de la Liberté, 16x16 pixels, avec 4 et avec 2 bits par pixels

(19)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 19

♦ La taille du pixel (ou nombre de pixels de l'image) a une grande influence sur la qualité de l'image

♦ Par exemple, les 4 images à

droite, à 8x8 pixels, produisent la même image, en bas, si le

nombre de pixels est réduit à 4x4

(20)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 20

♦ Exemple: l'image (a) contient 160x160 pixels. Ensuite, la taille du pixel est doublée à chaque pas

(21)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 21

♦ Exemple: l'image (a)

possède 650x650 pixels;

en (b) le nombre de pixels est réduit d'un facteur 4; en (c), d'un facteur 8, et, en (d) d'un facteur 16

(22)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 22

♦ Exemple: le nombre de bits par pixel est de 4 en (a), 3 en (b), 2 en (c) et 1 en (d). L'image originale, de la page précédente, possède 8 bits par pixel

(23)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 23

♦ Nous pouvons nous représenter toutes les couleurs comme un mélange de trois couleurs de base: rouge, vert et bleu (RGB pour les initiales en anglais)

♦ Exemple avec 4 valeurs possibles par couleur de base:

(24)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 24

(25)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 25

(26)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 26

♦ Un film est une suite d'images (frames), passées à une

certaine fréquence: 24 images par seconde au cinéma, 25 images par seconde à la

télévision

(27)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 27

♦ La fréquence des images peut faire apparaître des défauts de visualisation

♦ Exemple: dans l'image suivante nous voyons 4 frames qui

montrent trois wagons bougeant dans la même direction, à 3 vitesses différentes. La vitesse du wagon 2 est le double de celle du wagon 1; la vitesse du wagon 3 est 7 fois celle du

wagon 1. Les roues du wagon 3 paraissent bouger à la même vitesse que celles du wagon 1, mais en direction contraire

(28)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 28

(29)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 29

♦ Le traitement d'une image devient le traitement

mathématique d'un ensemble de nombres

♦ Exemple: mélange de deux images en utilisant un fond bleu sur l'une d'entre elles

(30)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 30

♦ Le principal problème des bitmaps est le changement

d'échelle d'une image. Pour pallier à ce problème, on utilise des techniques vectorielles, où une image est représentée par un ensemble de lignes et courbes

♦ TrueType est un système vectoriel, développé par Microsoft et Apple, pour décrire des caractères. PostScript, développé par Adobe, permet de décrire aussi bien des caractères que des données graphiques plus générales

(31)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 31

Génération du signal vidéo VGA

♦ Un signal vidéo VGA contient 5 signaux actifs:

horizontal sync: signal digital, utilisé pour la synchronisation de la vidéo

vertical sync: signal digital, utilisé pour la synchronisation de la vidéo

red (R): signal analogique (0-0.7 v), utilisé pour contrôler la couleur

green (G): signal analogique (0-0.7 v), utilisé pour contrôler la couleur

blue (B): signal analogique (0-0.7 v), utilisé pour contrôler la couleur

♦ Les couleurs sont produites en changeant les niveaux analogiques des trois signaux RGB

♦ Pour générer une image, le fuseau d'électrons doit balayer l'écran en une séquence de lignes horizontales. L'information sur la couleur RGB est utilisée pour contrôler la puissance du fuseau

(32)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 32

640

480

(0,0) (639,0)

(0,479) (639,479)

(33)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 33

♦ Le processus de rafraîchissement de l'écran commence au coin supérieur gauche et dessine les pixels de gauche à droite. A la fin de la première ligne, le compteur de ligne s'incrémente et celui des colonnes est mis à la première colonne. Lorsque tout l'écran est dessiné, le processus de rafraîchissement

recommence

♦ Le signal vidéo doit redessiner l'écran 60 fois par seconde, pour permettre l'affichage d'images en mouvement et diminuer le

clignotement: c'est la fréquence de rafraîchissement. Des fréquences plus grandes que 60 Hz sont utilisées pour les moniteurs de PCs

♦ Dans le mode 640x480 pixels, avec une fréquence de

rafraîchissement de 60 Hz, on dessine un pixel chaque 40 ns

(34)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 34

horizontal sync vertical sync

(35)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 35

compteurs de synchronisation

mémoire des pixels

moniteur horloge 25MHz

hsync vsync

R G B

row col

(36)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 36

Compression des données

♦ Run-length encoding: lorsqu'une donnée est une suite de séquences avec la même valeur, on peut remplacer ces séquences par un code qui indique la valeur répétée et le nombre de fois qu'elle apparaît

♦ Relative encoding: cette méthode est utilisée pour enregistrer les différences entre blocs consécutifs de données, au lieu et en place des blocs entiers. Chaque bloc de données est codé donc en fonction de ses rapports avec le bloc précédent

(37)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 37

♦ Exemple avec le système Lempel-Ziv LZ77:

décompresser xyxxyzy(5,4,x) a. aller 5 symboles en arrière

xyxxyzy(5,4,x)

b. sélectionner 4 caractères à partir de ce point xyxxyzy(5,4,x)

c. les ajouter à la fin de la chaîne

xyxxyzyxxyz(5,4,x)

d. ajouter le dernier caractère du triplet à la fin de la chaîne xyxxyzyxxyzx(5,4,x)

(38)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 38

Détection des erreurs de communication

♦ Une méthode simple est celle de supposer que tout paquet de bits transmis contient un nombre impair de 1. Si un paquet est reçu avec un nombre pair de 1, une erreur a eu lieu

♦ Pour cela, il faut ajouter un bit additionnel à chaque paquet de données: le bit de parité. Un code ASCII deviendra par

exemple un code à 9 bits. La valeur du bit de parité est choisie de telle façon que la parité soit respectée

♦ Il est possible d'avoir une parité impaire ou paire

♦ Exemple: le code ASCII de A devient:

101000001 001000001

bit de parité impaire bit de parité paire

(39)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 39

Correction des erreurs de communication

♦ La distance de Hamming entre deux chaînes de bits de même longueur est égale au nombre de bits différents

♦ Exemple: dans le code suivant, la plus petite distance de Hamming entre deux représentations de symboles est de 3

A 000000 B 001111 C 010011 D 011100 E 100110 F 101001 G 110101 H 111010

(40)

Eduardo Sanchez

Ecole Polytechnique Fédérale de Lausanne Page 40

♦ Lors de la transmission de données utilisant ce code, toute erreur de moins de trois bits dans un symbole est détectée sans problème: on obtient une combinaison illégale

♦ Une combinaison illégale est remplacée par la combinaison légale qui lui soit la plus proche en distance de Hamming

♦ Si, par exemple, on reçoit la combinaison illégale 010100, on la remplace par celle du symbole D

A 2

B 4

C 3

D 1

E 3

F 5

G 2

H 4

plus petite distance de Hamming

Références

Documents relatifs

La famille a éprouvé ce conflit qui lui a donné la conviction que la mort (ou la courte durée de survie attendue du fait des traitements) était la conséquence d’une

Indication that glial cells of the median eminence are involved in the photoperiodic control of GnRH release in birds was first suggested by c-Fos expression

This new data set combining acoustic images and multidisci- plinary study of sediment cores allows characterizing contrasted subaquatic sedimentary environments along the

Lastly, dystonia gene-associated tremor corresponds to isolated tremor observed in patients with a mutation known to cause dystonia; dystonic posture is sometimes observed over

In contrast to the previous section wherein a full-model structure was used in the observer design, we shall show, in this section, how to take advantage of the foregoing

Intrinsic 2D/3D registration based on a hybrid approach: use in the radiosurgical imaging process.. Maximilien Vermandel, Nacim Betrouni, Jean-Yves Gauvrit, David Pasquier,

Two patients had typical PD for many years (5 to 8) before cognitive deficits or dementias developed; one patient had no cognitive deficits, 12 years after PD onset. This study

The numerous fractures detected in the basement are characterized by consistent variations in trend, length and density when they affect the different lithological units out