COMPRESSION BINAIRE. Compression et décompression d une image binaire suivant la recommandation T.4 de l ITU-T

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

Download "COMPRESSION BINAIRE. Compression et décompression d une image binaire suivant la recommandation T.4 de l ITU-T"

Transcription

1 COMPRESSION BINAIRE Compression et décompression d une image binaire suivant la recommandation T.4 de l ITU-T Auteurs: KASTTET Ahmed, SALIM Eliass ENSEIRB. T /2008

2 SOMMAIRE I.Introduction... 3 II.Codage... 3 II.1.Détection... 3 II.2. Codage... 3 II.3.Ecriture dans un fichier... 4 III. Décodage... 5 III.1. Lecture dans un fichier... 5 III.2. Décodage... 5 III.3. Reconstruction... 6 IV.Simulation... 6 V.Conclusion... 7 VI.Annexes : Scripts matlab... 7

3 I.INTRODUCTION La recommandation T4 de l ITU définit le format standard de l'image transmise par fax. Cette recommandation est particulièrement adaptée aux images monochromes, car il offre un bon taux de compression, entre 5:1 et 8:1 selon les images, ainsi qu une compression sans pertes de données. Ce codage qui est basé sur le codage de Huffman, convient donc parfaitement aux transmissions type fax. Le but du projet était de simuler sous Matlab, l encodage et le décodage d une image, en respectant les recommandations T4, puis de tester l algorithme de compression sur une image noir et blanc et de comparer la sortie avec l image d origine. II.CODAGE II.1.DETECTION Tout d abord, nous transformons les séquences de bits 0 (pixel noir) et 1 (pixel blanc) par des entiers représentant la longueur de ces séquences. Cette opération est effectuée par la fonction «detect.m» Cepant, la norme nous impose de commencer par une séquence de blancs. Ainsi nous obtenons alternativement un entier correspondant aux pixels blancs, puis un entier correspondant aux pixels noirs, etc Pour la ligne suivante : (1) Nous obtenons : II.2. CODAGE Dans une seconde étape nous codons chaque élément de la séquence obtenue précédemment, selon des codes qui proviennent de la table de Huffman prédéfinie par les spécifications T.4. Elle est issue d études statistiques sur la fréquence moyenne des séquences de 1 et de 0 dans des documents typiques.

4 Les codes sont de deux types : - Les codes Terminating - Les codes Make Up. Pour les longueurs inférieures à 64 le code est de type Terminating, pour trouver le codage équivalent il suffit de regarder à la ligne correspondant à la longueur dans la table de Huffman et l on récupère le code associé. Pour les longueurs supérieures ou égales à 64 le code est une concaténation des deux codes Make Up et Terminating. Le code Make Up correspondant au multiple de 64 le plus proche (par valeur inférieure) de la longueur de la séquence, le code Terminating étant la différence entre la longueur de la séquence et Make Up multiple obtenu.( Cf.codage_ligne.m) On obtient alors : (3) Afin de distinguer les différentes lignes dans le fichier complet, la norme précise de rajouter à la fin de chaque ligne le code EOL suivant : Nous avons alors : (4) Le code obtenu dans notre exemple est plus long que le code initial, ceci vient du fait que ce codage de Huffman est spécifique aux documents qui contiennent de plus longues séquences de 1 et de 0 que la séquence prise dans cet exemple. II.3.ECRITURE DANS UN FICHIER Pour finir, nous stockons le code obtenu précédemment dans un fichier ASCII (Cf. «ecriture.m») Cette étape consiste simplement à découper le code binaire obtenu en (4) en groupe de 8 bits, que l on va transformer en décimal puis enregistrer en tant que codes de caractères ASCII dans un fichier. Si le dernier groupe ne possède pas un nombre de bits multiple de 8, on complète par des zéros. On obtient le code ASCII suivant : (5)

5 III. DECODAGE III.1. LECTURE DANS UN FICHIER Pour retrouver la séquence de bits émise initialement il est nécessaire de décoder le fichier obtenu. La première chose à faire dans notre cas, est de convertir les codes ASCII stockés dans le fichier en code binaire. Tout en tenant compte du nombre de bits de padding à retirer du dernier code ASCII lu dans le fichier (Cf. «lecture.m»). On obtient le code binaire suivant : (6) III.2. DECODAGE L étape de décodage la plus délicate consiste à transformer cette suite de bits en nombre entier représentant la longueur. Pour ce faire on utilise un arbre de décodage (sous forme de tableau), qui s inspire des arbres de décodage de Huffman. Le principe de décodage est le suivant. Si le contenu d une case du tableau est égale a -1, on doit continuer à parcourir notre suite de bits car on ne se trouve pas sur une feuille de l arbre. L indice du tableau se calcule de la façon suivante : - initialisé à 1 pour tout nouveau code - multiplié par 2 si on trouve un 0 dans la suite de bits - multiplié par 2 puis sommé à 1 si on trouve un 1 Lorsque l on a trouvé une feuille, soit un élément différent de -1, on récupère la valeur et l écrit à la suite de notre vecteur. Cette valeur représente en fait le nombre de bits à 0 ou 1 à écrire dans le fichier de destination. Il ne faut pas oublier de changer de tableau à chaque nouveau code, sauf si la valeur retournée par le tableau est supérieure à 64 et différente de 8193 (8193 correspond au code EOL), dans ce cas on considère que le premier code correspond au make up, on reste sur le même arbre pour le code suivant, le Terminating.

6 De même il ne faut pas oublier qu après un code EOL il faut nécessairement recommencer avec l arbre des blancs («decodage.m ). On obtient le code suivant : (7) III.3. RECONSTRUCTION La dernière étape du décodage consiste donc à retrouver le code initial à partir du code obtenu précédemment. Le fonctionnement est très basique, puisqu il ne s agit que d écrire le nombre de pixels noirs ou blancs donné par la séquence (7) alternativement dans une matrice, et de changer de ligne à chaque fois qu on tombe sur le code Sans oublier que le premier nombre représente toujours le nombre de blancs en début de ligne (Cf. «recostruction.m»). On obtient ainsi notre image initiale IV.SIMULATION Le processus décrit ci-dessus peut se résumer sur le schéma suivant : Image initiale Image codée RLE Image codée selon table de Huffman Ecriture du fichier codée (ASCII) Codage Image en reception Decodage RLE Décodage selon table de Huffman Lecture du fichier codée (ASCII) Décodage

7 Ce processus va être appliqué à l image monochrome «test_bin.tif» de taille 15.5ko. (Cf. «main.m»). En comparant les taills du fichier initial et celui genéré par la méthode, il est possible de mesurer le taux de compression obtenu. Il est également possible de comparer le résultat obtenu avec celui de la fonction imwrite qui implémente des compressions analogues (fax3,fax4) On peut également vérifier que le processus opère sans perte car la somme de la différence des deux images (initiale est finale) est nulle. Perte=sum(sum(image-image_decompresse)) =0 Voici les résultats obtenus : i. taux de compression de notre chaine= 58,77 % ii. taux de compression de imwrite(fax3)=50,77 % iii. taux de compression de imwrite(fax4)=64,87 % on constate que notre chaine donne un rement acceptable et dans le même ordre de grandeur de celui de la fonction matlab imwrite. V.CONCLUSION Le but de ce projet était de mettre en pratique, à l aide de Matlab, la compression / décompression d une image binaire selon les recommandations T4. Il était intéressant de se concentrer sur chaque étape du codage et du décodage, puis de tout mettre en commun afin de réaliser la compression/décompression. Cette mise en commun ne fut pas évidente, et fut source de beaucoup d erreurs. Elle nous a permis de constater que certaines de nos fonctions comportait des erreurs pour certains cas auxquels nous n avions pas pensés. L encodage utilisé ici est un encodage à une dimension, nous aurions pu obtenir encore de meilleurs résultat avec un encodage à deux dimensions. VI.ANNEXES : SCRIPTS MATLAB % main.m clear all load('arbres_codes.mat') image=imread('test_bin.tif'); image_compresse=codage('test_bin.tif','codes.txt'); recus=lecture('transmis.txt'); sequence=decodage(recus,black_tree,white_tree); image_decompresse=recostruction(sequence);

8 taille_initiale=size(image,1)*size(image,2); taille_finale=size(image_decompresse,1)*size(image_decompresse,2); taux_compression=taille_initiale/taille_finale; disp('taux de compression :'); disp(taux_compression); imwrite(image,'image_fax3.tif','tif','compression','fax3'); image_fax3=imread('image_fax3.tif'); taille_fax3=size(image_fax3,1)*size(image_fax3,2); taux_fax3=taille_fax3/taille_finale; disp('taux de compression fax3 :'); disp(taux_fax3); imwrite(image,'image_fax4.tif','tif','compression','fax4'); image_fax4=imread('image_fax4.tif'); taille_fax4=size(image_fax4,1)*size(image_fax4,2); taux_fax4=taille_fax4/taille_finale; disp('taux de compression fax4 :'); disp(taux_fax4); %detect.m % function [y] = detect (x) t=0; i=1; k=1; if (x(1)=='0') y(k)=0; k=2; while (i<length(x)+1) if (x(i)=='0') while (i<length(x)+1 && x(i)=='0') t=t+1; i=i+1; else while (i<length(x)+1 && x(i)=='1') t=t+1; i=i+1; y(k)=t; k=k+1; t=0; %codage_mot.m % function [code]= codage_mot(num,color) fid=fopen('codes.txt'); k=1; table=cell(91,3); while 1 tline = fgetl(fid); if ~ischar(tline), break, numero=sscanf(tline,'%d %*s %*s'); noir=sscanf(tline,'%*d %s %*s'); blanc=sscanf(tline,'%*d %*s %s');

9 noir=char(noir)'; blanc=char(blanc)'; table{k,1}=numero; table{k,2}=noir; table{k,3}=blanc; k=k+1; fclose(fid); if (num<64) t=table(num+1,color); else first_num=mod(num,64); term=table(first_num+1,color); scnd_num=floor(num/64); make=table(64+scnd_num,color); t=[make term]; code=t; % %codage_ligne.m % % function [y] = codage_ligne(x) i=1; y=''; EOL=' '; while(i<length(x)+1) if (mod(i,2)==1) t=codage_mot(x(i),3); else t=codage_mot(x(i),2); i=i+1; y=[y t]; y=[y EOL]; %codage.m % function code=codage(image,table_huff) table=lecture(table_huff); A=imread(image); [l c]=size(a); code=[]; EOL=' '; for i=1:l ligne=num2str(a(i,:)')'; code=[code codage_ligne(detect(ligne))]; code=[code EOL EOL EOL EOL EOL]; ecriture(code,'codage.txt'); %ecriture.m % function fichier=ecriture(code,file) l=length(code); pad=mod( 8-mod(l,8),8); padding=dec2bin(zeros(1,pad))'; code=[code padding]; l=length(code)/8;

10 bits_8=reshape(code,[8,l])'; [h,w]=size(bits_8); fid = fopen('transmis.txt', 'w'); for i=1:h fwrite(fid,bin2dec(bits_8(i,:))); fclose(fid); %lecture.m % function recus=lecture(fichier) fid=fopen(fichier); i=1; recus=[]; while 1 recus=dec2bin(fread(fid)); if ~ischar(fgetl(fid)), break, recus=reshape(recus',[1,numel(recus)]); fclose(fid); %decodage.m % function sequence=decodage(recus,black_tree,white_tree) index=1; val=-1; buffer=0; code=[]; sequence=[]; EOL=' '; color=1 ; for i=1:numel(recus) if (val==-1) code=[code recus(i)]; bit=str2num(recus(i)); index=bit*(2*index+1)+not(bit)*(2*index); index=2*index+1; index=2*index; if(color==1) val=white_tree(index); else val=black_tree(index); % cas des EOL if( strcmp(code,eol) ) sequence=[sequence -1]; color=1; buffer=0; val=-1; index=1; code=[]; % cas <63 elseif (val~=-1 && val<=63) sequence=[sequence val+buffer];

11 color=mod(color+1,2) ; index=1; val=-1; buffer=0; code=[]; % cas >63 elseif (val~=-1 && val>63) buffer=val; index=1; val=-1; i=i+1; %reconstruction.m % function [image]=recostruction(sequence) l=length(sequence); image=[]; ligne=[]; color=1; firsteol=1; for i=1:l-5 if (sequence(i)~=-1) if(sequence(i)==0) color=0; elseif(color==1) ligne=[ligne ones(1,sequence(i))]; color=0; elseif(color==0) ligne=[ligne zeros(1,sequence(i))]; color=1; else if(firsteol) image=[ligne;ligne]; firsteol=0; ligne=[]; color=1; if(~firsteol) image=[image;ligne]; ligne=[]; color=1; image(1,:)=[];

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

COMPRESSION/DECOMPRESSION D UNE IMAGE BINAIRE

COMPRESSION/DECOMPRESSION D UNE IMAGE BINAIRE Le 29 novembre 2013, Rapport projet TS114 COMPRESSION/DECOMPRESSION D UNE IMAGE BINAIRE Par Marc BELLINGER et Antoine BINON. 2eme année Télécommunications. 1 Introduction : Le but de ce projet est d implémenter

Plus en détail

Transmission d informations sur le réseau électrique

Transmission d informations sur le réseau électrique Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en

Plus en détail

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014 Langage C/C++ TD 3-4 : Création dynamique d objets Hubert Godfroy 7 novembre 014 1 Tableaux Question 1 : Écrire une fonction prenant un paramètre n et créant un tableau de taille n (contenant des entiers).

Plus en détail

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

Compte rendu: Compression/Décompression d une image binaire

Compte rendu: Compression/Décompression d une image binaire Compte rendu: Compression/Décompression d une image binaire Sandrine SOUB et Benjamin RAMBAUD 20 décembre 2013 Résumé L objectif de ce Projet est d implémenter sous MATLAB le principe de compression/décompression

Plus en détail

Arbres binaires et codage de Huffman

Arbres binaires et codage de Huffman MP Option Informatique Premier TP Caml Jeudi 8 octobre 2009 Arbres baires et codage de Huffman 1 Arbres baires Soit E un ensemble non vide. On défit la notion d arbre baire étiqueté (aux feuilles) par

Plus en détail

Compression méthode de Huffman

Compression méthode de Huffman Compression méthode de Huffman Thierry Lecroq Université de Rouen FRANCE La méthode de Huffman consiste à remplacer les caractères les plus fréquents par des codes courts et les caractères les moins fréquents

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

UV Théorie de l Information. Codes à longueur variable

UV Théorie de l Information. Codes à longueur variable Cours n 5 : UV Théorie de l Information Compression de l information : Codage de source sans distorsion Ex 1 : Code de Shannon Fano Ex 2 : Code de Huffman Ex 3 : Codage par plage Ex 4 : Codage de Lempel

Plus en détail

Algorithmique P2. HeapSort et files de priorité Ulg, 2009-2010 Renaud Dumont

Algorithmique P2. HeapSort et files de priorité Ulg, 2009-2010 Renaud Dumont Algorithmique P2 HeapSort et files de priorité Ulg, 2009-2010 Renaud Dumont Structure de tas - arbre Un tas est une structure de données qui Permet un nouveau type de tri (Tri par tas) Permet l'implémentation

Plus en détail

Initiation à Matlab. Nadia Ben Abdallah 1. 24 Février 2014. Université de Technologie de Compiègne nadia.ben-abdallah@hds.utc.fr

Initiation à Matlab. Nadia Ben Abdallah 1. 24 Février 2014. Université de Technologie de Compiègne nadia.ben-abdallah@hds.utc.fr Initiation à Matlab Nadia Ben Abdallah 1 1 Avenues-GSU, Université de Technologie de Compiègne nadia.ben-abdallah@hds.utc.fr 24 Février 2014 1 / 62 A propos de Matlab Un environnement pour le calcul numérique

Plus en détail

Réseaux Multimédia 2002 Damien Magoni

Réseaux Multimédia 2002 Damien Magoni Réseaux Multimédia 2002 Damien Magoni Toutes les illustrations 2001 Pearson Education Limited Fred Halsall Contenu Représentation des informations multimédia Numérisation Structure d un encodeur Structure

Plus en détail

ÉCOLE CENTRALE DE PÉKIN SCIENCES INDUSTRIELLES POUR L INGÉNIEUR

ÉCOLE CENTRALE DE PÉKIN SCIENCES INDUSTRIELLES POUR L INGÉNIEUR DM4 Page 北 航 中 法 工 程 师 学 院 ÉCOLE CENTRALE DE PÉKIN SCIENCES INDUSTRIELLES POUR L INGÉNIEUR Année académique 24-25 Devoir à la maison n 4 À rendre le vendredi 2 juin 25 Numéro d étudiant à 8 chiffres :

Plus en détail

Projet codage de texte

Projet codage de texte Formation ISN Professeurs de Terminale Denis Bouhineau, Éric Gaussier, Alexandre Termier, Cyril Labbé, Philippe Bizard, Anne Rasse, Jean-Marc Vincent UFR IM 2 AG email Jean-Marc.Vincent@imag.fr Formation

Plus en détail

Temps de transmission du document compressé

Temps de transmission du document compressé École de technologie supérieure INF-145 Travail pratique #3 Frédérick Henri Travail en équipe de 2 L algorithme de compression de LZW 1 Objectifs Retour sur les notions de pointeur, d enregistrement et

Plus en détail

Projet Matlab : un logiciel de cryptage

Projet Matlab : un logiciel de cryptage Projet Matlab : un logiciel de cryptage La stéganographie (du grec steganos : couvert et graphein : écriture) consiste à dissimuler une information au sein d'une autre à caractère anodin, de sorte que

Plus en détail

Numération. On sait que dans 342 381, le chiffre 4 ne vaut pas 4 mais 40 000... Ainsi :

Numération. On sait que dans 342 381, le chiffre 4 ne vaut pas 4 mais 40 000... Ainsi : Numération Numération. 1 Les systèmes de numération 1.1 Le système décimal. 1.1.1 Les chiffres. Le système décimal est le système d écriture des nombres que nous utilisons habituellement dans la vie courante.

Plus en détail

SNAKE. Programmation du jeu SNAKE sur la console Windows en C sous l IDE Devcpp. Copie d écran du jeu

SNAKE. Programmation du jeu SNAKE sur la console Windows en C sous l IDE Devcpp. Copie d écran du jeu SNAKE Programmation du jeu SNAKE sur la console Windows en C sous l IDE Devcpp Copie d écran du jeu Principe de fonctionnement du jeu : le serpent avance automatiquement, le joueur ne peut agir que sur

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Théorie et codage de l information

Théorie et codage de l information Théorie et codage de l information Les codes linéaires - Chapitre 6 - Principe Définition d un code linéaire Soient p un nombre premier et s est un entier positif. Il existe un unique corps de taille q

Plus en détail

OPERATIONS SUR LE SYSTEME BINAIRE

OPERATIONS SUR LE SYSTEME BINAIRE OPERATIONS SUR LE SYSTEME BINAIRE 1) Nombres signés Nous n avons, jusqu à présent tenu compte, que des nombre positifs. Pourtant, la plupart des dispositifs numériques traitent également les nombres négatifs,

Plus en détail

Série d exercices N 9 Arbres

Série d exercices N 9 Arbres Série d exercices N 9 Arbres Exercice 1 a) Ecrire une fonction ARBIN creerarbreentiers() qui permet de créer et de renvoyer l arbre d entiers suivant : b) Ecrire une fonction int feuilles(arbin a) qui

Plus en détail

Solutions web : instructions aux développeurs

Solutions web : instructions aux développeurs Solutions web : instructions aux développeurs INFORMATIONS GÉNÉRALES L inscription aux services en ligne permet d utiliser le système de transmission des informations de paiement par Internet (TIP-I) de

Plus en détail

Principes généraux de codage entropique d'une source. Cours : Compression d'images Master II: IASIG Dr. Mvogo Ngono Joseph

Principes généraux de codage entropique d'une source. Cours : Compression d'images Master II: IASIG Dr. Mvogo Ngono Joseph Principes généraux de codage entropique d'une source Cours : Compression d'images Master II: IASIG Dr. Mvogo Ngono Joseph Table des matières Objectifs 5 Introduction 7 I - Entropie d'une source 9 II -

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

Chapitre 2 : Représentation des nombres en machine

Chapitre 2 : Représentation des nombres en machine Chapitre 2 : Représentation des nombres en machine Introduction La mémoire des ordinateurs est constituée d une multitude de petits circuits électroniques qui ne peuvent être que dans deux états : sous

Plus en détail

Convertisseur de monnaies

Convertisseur de monnaies Convertisseur de monnaies La logique algorithmique en première STG Propriétés Intitulé long Formation concernée Matière Notions Présentation Pré-requis Outils Mots-clés Auteur(es) Version 1.0 Description

Plus en détail

Codes correcteurs d erreurs

Codes correcteurs d erreurs Codes correcteurs d erreurs 1 Partie théorique 1.1 Définition Un code correcteur est une technique de codage de l information basée sur la redondance, qui vise à détecter et corriger des éventuelles erreurs

Plus en détail

Représentation des nombres entiers et réels. en binaire en mémoire

Représentation des nombres entiers et réels. en binaire en mémoire L3 Mag1 Phys. fond., cours C 15-16 Rep. des nbs. en binaire 25-09-05 23 :06 :02 page 1 1 Nombres entiers 1.1 Représentation binaire Représentation des nombres entiers et réels Tout entier positif n peut

Plus en détail

DEUG MIAS2 - MODULE INFORMATIQUE (MIA10B) EXAMEN (SEPTEMBRE 1999)

DEUG MIAS2 - MODULE INFORMATIQUE (MIA10B) EXAMEN (SEPTEMBRE 1999) coller l étiquette ici DEUG MIAS2 - MODULE INFORMATIQUE (MIA10B) EXAMEN (SEPTEMBRE 1999) Durée : 2 heures Aucun document autorisé - Calculatrices interdites Les réponses doivent être brèves et justifiées

Plus en détail

Systèmes de Numération & Codage

Systèmes de Numération & Codage Systèmes de Numération & Codage Objectif : L électronicien est amené à manipuler des valeurs exprimées dans différentes bases (notamment avec les systèmes informatiques). Il est essentiel de posséder quelques

Plus en détail

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3 8 Systèmes de numération INTRODUCTION SYSTÈMES DE NUMÉRATION POSITIONNELS Dans un système positionnel, le nombre de symboles est fixe On représente par un symbole chaque chiffre inférieur à la base, incluant

Plus en détail

Chaîne d additions ATTENTION!

Chaîne d additions ATTENTION! Chaîne d additions Épreuve pratique d algorithmique et de programmation Concours commun des écoles normales supérieures Durée de l épreuve: 3 heures 30 minutes Juin 2012 ATTENTION! N oubliez en aucun cas

Plus en détail

Les types utilisateurs (VBA) Corrigé

Les types utilisateurs (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 2 avril mai 2013 Corrigé Résumé Ce document décrit comment traduire en VBA les types utilisateur du langage algorithmique. Table des matières

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE

EPREUVE OPTIONNELLE d INFORMATIQUE EPREUVE OPTIONNELLE d INFORMATIQUE A) QCM Les réponses au QCM doivent être portées directement sur la feuille de sujet de QCM. Ne pas omettre de faire figurer votre numéro de candidat sur cette feuille

Plus en détail

Liste des commandes (non exhaustive) sous Matlab

Liste des commandes (non exhaustive) sous Matlab Liste des commandes (non exhaustive) sous Matlab Cours 3 : Fonctions d Entrée/Sortie sous Matlab Format d affichage des données format form : Imposer un format d affichage de type form o form = format

Plus en détail

2012/2013 Le codage en informatique

2012/2013 Le codage en informatique 2012/2013 Le codage en informatique Stéphane Fossé/ Marc Gyr Lycée Felix Faure Beauvais 2012/2013 INTRODUCTION Les appareils numériques que nous utilisons tous les jours ont tous un point commun : 2 chiffres

Plus en détail

MÉRÉ Aurélien FIIFO1. Pathfinder

MÉRÉ Aurélien FIIFO1. Pathfinder MÉRÉ Aurélien FIIFO1 AMC Pathfinder 1 Sommaire Préambule... 3 Modélisation de l espace... 4 Modélisation des cases δ, α... 4 Interface en mode texte... 5 Modélisation du robot... 8 1 ) Le type Robot...

Plus en détail

Structure du format BMP, sa lecture, sa construction et son écriture

Structure du format BMP, sa lecture, sa construction et son écriture Structure du format BMP, sa lecture, sa construction et son écriture Claude Parisel Mars 2003 Table des matières : 1. Le choix du format 2. Commentaires sur les autres formats 3. Format BMP pour noir&blanc,

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

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Chap III : Les tableaux

Chap III : Les tableaux Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction

Plus en détail

PROJET de DEVELOPPEMENT LOGICIEL en C. OBJECTIFS du PROJET :

PROJET de DEVELOPPEMENT LOGICIEL en C. OBJECTIFS du PROJET : PROJET de DEVELOPPEMENT LOGICIEL en C OBJECTIFS du PROJET : Développer un logiciel en équipe de plusieurs étudiants. Le projet : programme simulant une chaîne de transmission de données entre ordinateurs

Plus en détail

La notion de format. Représenter des images et des sons

La notion de format. Représenter des images et des sons La notion de format Exercice 1 Créer avec un éditeur de texte simple (comme Notepad) un fichier au format PBM de dimensions 20x20 qui affiche le logo ISN. A quel problème d affichage est-on confronté?

Plus en détail

Figure 2 : lumière visible.

Figure 2 : lumière visible. A LA DÉCOUVERTE DES IMAGES COULEUR. 1 OBJECTIF DE CE TRAVAIL. Le travail qui vous est proposé ici consiste à manipuler des images couleurs et à découvrir les liens qui unissent les espaces de représentation

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

IPT : Cours 2. La représentation informatique des nombres

IPT : Cours 2. La représentation informatique des nombres IPT : Cours 2 La représentation informatique des nombres (3 ou 4 heures) MPSI-Schwarz : Prytanée National Militaire Pascal Delahaye 28 septembre 2015 1 Codage en base 2 Définition 1 : Tout nombre décimal

Plus en détail

TD 3 : Représentation des réels et des caractères

TD 3 : Représentation des réels et des caractères ASR1 bis DUT Informatique 1A IUT A de Lille USTL 2007 2008 Architecture des ordinateurs Exercice 1 TD 3 : Représentation des réels et des caractères Représentation d une partie fractionnaire 1. Coder sur

Plus en détail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

Plus en détail

Théorie de l information

Théorie de l information Théorie de l information Exercices Dpt. Génie Electrique Théorie de l information T. Grenier Exercices A Exercice n A. Dans un processus d'automatisation, une source génère de façon indépendante quatre

Plus en détail

TP : Gestion d une image au format PGM

TP : Gestion d une image au format PGM TP : Gestion d une image au format PGM Objectif : L objectif du sujet est de créer une classe de manipulation d images au format PGM (Portable GreyMap), et de programmer des opérations relativement simples

Plus en détail

Fonction Personnalisée sous EXCEL

Fonction Personnalisée sous EXCEL Fonction Personnalisée sous EXCEL Les fonctions sont des unités de programme qui retournent un résultat. Function Nom-de-la-fonction ( [liste des paramètres] ) Type du résultat Sortie immédiate, éventuellement,

Plus en détail

Conversion d un entier. Méthode par soustraction

Conversion d un entier. Méthode par soustraction Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut

Plus en détail

Thème Image - TP2 - Compression

Thème Image - TP2 - Compression Université Joseph Fourier DLST UE MAP110/120 Année 2013-14 Thème Image - TP2 - Compression Compte-ru Il vous est demandé de rédiger un compte-ru pour ce TP. Ouvrez en parallèle un document Open Office

Plus en détail

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

QUELQUES NOTES SUR MATLAB

QUELQUES NOTES SUR MATLAB QUELQUES NOTES SUR MATLAB Constantes prédéterminées pi : le nombre π eps : différence entre deux réels les plus proches (limite de la machine) inf : le nombre ans : contient la dernière réponse i : le

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Les différents codes utilisés en électronique

Les différents codes utilisés en électronique Section : Technicien Supérieur Electronique Discipline : Génie Electronique Les différents codes utilisés en électronique Domaine d application : Traitement des signaux numériques Type de document : Cours

Plus en détail

Mathématiques/Sciences Physiques Séance N 8 Codage d une image numérique

Mathématiques/Sciences Physiques Séance N 8 Codage d une image numérique Mathématiques/Sciences Physiques Séance N 8 Codage d une image numérique INTRODUCTION Une image numérique est un ensemble discret de points appelés PIXELS (contraction de PICTure ELements). Elle a pour

Plus en détail

II. Conversions. I. Initialisation. III. Méthode point. TD Python Traitement d images MP*

II. Conversions. I. Initialisation. III. Méthode point. TD Python Traitement d images MP* Le but de ce TD est d utiliser les procédures et fonctions Python pour traiter des fichiers images. II. Conversions I. Initialisation Importer le module numpy sous l appellation np. On utilise le module

Plus en détail

Construction d un site WEB

Construction d un site WEB Construction d un site WEB 1 Logique binaire 1: Les systèmes de numération Un ordinateur est un appareil électronique. Deux tensions sont majoritairement présentes dans ses circuits électroniques : 0V

Plus en détail

Série notée Sujet 1. Règles et recommandations : Instructions

Série notée Sujet 1. Règles et recommandations : Instructions EIDGENÖSSISCHE TECHNISCHE HOCHSCHULE LAUSANNE POLITECNICO FEDERALE LOSANNA SWISS FEDERAL INSTITUTE OF TECHNOLOGY LAUSANNE Faculté Informatique et Communication Introduction à la POO SIN/SSC Faltings B.

Plus en détail

Fonctions de hachage. Autres missions de la cryptologie contemporaine. Éric Wegrzynowski. dernière modif : 28. marts 2013

Fonctions de hachage. Autres missions de la cryptologie contemporaine. Éric Wegrzynowski. dernière modif : 28. marts 2013 Plan (MDC) Plan (MDC) Éric Wegrzynowski (MDC) dernière modif : 28. marts 2013 Plan (MDC) Plan (MDC) Autres missions de la cryptologie contemporaine Contrôle d intégrité Nécessité de contrôler l intégrité

Plus en détail

Comment compiler un programme MATLAB

Comment compiler un programme MATLAB Comment compiler un programme MATLAB 1- Introduction Le compilateur MATLAB génère un code source C à partir d une fonction MATLAB. Le code C généré par le compilateur MATLAB peut être: soit un code source

Plus en détail

Compression LZW. 1 Gestion d un dictionnaire. 2 Algorithme LZW. 2.1 Compression

Compression LZW. 1 Gestion d un dictionnaire. 2 Algorithme LZW. 2.1 Compression MPSI Option Informatique Année 2001, Septième TP Caml Vcent Simonet (http://cristal.ria.fr/~simonet/) Compression LZW Lorsque l on stocke ou l on transmet via un réseau une grande quantité de données,

Plus en détail

Site de la spécialité ISN du lycée Louis Marchal

Site de la spécialité ISN du lycée Louis Marchal Site de la spécialité ISN du lycée Louis Marchal 1) Codage d' un entier positif Un ordinateur ne manipule que des 0 et des 1 (circuit ouvert ou fermé par exemple), toutes les données doivent donc être

Plus en détail

INFO-F-101 Programmation Projet 4 Page Ranking(1/4): Création de la matrice du compte des liens

INFO-F-101 Programmation Projet 4 Page Ranking(1/4): Création de la matrice du compte des liens INFO-F-101 Programmation Projet 4 Page Ranking(1/4): Création de la matrice du compte des liens Année académique 2009 2010 1 Introduction Ce projet est le premier d une série de quatre projets qui ont

Plus en détail

PCSI - informatique commune Vendredi 6 juin 2014 : DS 3. Whatever works!

PCSI - informatique commune Vendredi 6 juin 2014 : DS 3. Whatever works! PCSI - informatique commune Vendredi 6 juin 2014 : DS 3 Avertissements : Whatever works! Vous avez droit à tout document : papier, web... Allumez l ordinateur, loguez vous, lancez Python. En cas de problème,

Plus en détail

TD : Codage des images

TD : Codage des images TD : Codage des images Les navigateurs Web (Netscape, IE, Mozilla ) prennent en charge les contenus textuels (au format HTML) ainsi que les images fixes (GIF, JPG, PNG) ou animée (GIF animée). Comment

Plus en détail

Machines à sous (compléments)

Machines à sous (compléments) CHAPITRE 28 Machines à sous (compléments) Résumé. Ce qui suit complète le chapitre 22. On explique ici brièvement comment rre non-asymptotiques les résultats de convergence qui reposaient sur la loi des

Plus en détail

Alain ROBERT. Vous avez dit «Numérique»?

Alain ROBERT. Vous avez dit «Numérique»? Alain ROBERT Vous avez dit «Numérique»? Attention : Ce document est déposé. Son usage est libre dans tous les établissements d'enseignement. Si vous souhaitez le dupliquer sur un site internet ou l incorporer

Plus en détail

Joël FOLENS et Fabrice RIVA. Date limite de remise : 07 janvier 2015 à 17:00

Joël FOLENS et Fabrice RIVA. Date limite de remise : 07 janvier 2015 à 17:00 M2 MATHÉMATIQUES ET FINANCE UNIVERSITÉ LILLE 1 GESTION DE PORTEFEUILLE ET MESURE DU RISQUE Joël FOLENS et Fabrice RIVA Date limite de remise : 07 janvier 2015 à 17:00 1. Présentation du projet L objectif

Plus en détail

Langages et concepts de programmation

Langages et concepts de programmation Langages et concepts de programmation Séances 3 et 4 Tri d un fichier de voitures Une correction possible 1 Le sujet On dispose d un fichier contenant des informations sur des voitures d occasion : le

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

Procédure. Exemple OPÉRATIONS DANS UN SYSTÈME POSITIONNEL

Procédure. Exemple OPÉRATIONS DANS UN SYSTÈME POSITIONNEL Opérations dans un système positionnel OPÉRATIONS DANS UN SYSTÈME POSITIONNEL INTRODUCTION Dans tout système de numération positionnel, les symboles sont utilisés de façon cyclique et la longueur du correspond

Plus en détail

Exercice Chapitre 4 Traitement d images binaires par Morphologie Mathématique

Exercice Chapitre 4 Traitement d images binaires par Morphologie Mathématique Exercice Chapitre 4 Traitement d images binaires par Morphologie Mathématique L analyse par morphologie mathématique vise à modifier la structure et la forme des objets de l image, par exemple, pour séparer

Plus en détail

EXAMEN FINAL. 2 Février 2006-2 heures Aucun document autorisé

EXAMEN FINAL. 2 Février 2006-2 heures Aucun document autorisé MIE - E ANNÉE ALGORITHMIQUE GÉNÉRALE Vincent Mousseau EXAMEN FINAL Février 006 - heures Aucun document autorisé Exercice : On s intéresse à la gestion informatique des réservations sur l année d une salle

Plus en détail

Codage d information. Codage d information : -Définition-

Codage d information. Codage d information : -Définition- Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale

Plus en détail

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5 Introduction à l algorithmique et à la programmation IUT 1ère année 2013-2014 Cyril Nicaud Cyril.Nicaud@univ-mlv.fr Cours 1 / 5 Déroulement du cours Organisation : 5 séances de 2h de cours 10 séances de

Plus en détail

Héritage en java : Calculatrice SDC

Héritage en java : Calculatrice SDC Programmation orientée objet L3 MIAGE Héritage en java : Calculatrice SDC Travail à rendre : le code complet du projet SDC sous forme d une archive tar.gz. L archive comportera trois répertoires : un répertoire

Plus en détail

THÉORIE DE L'INFORMATION : RAPPELS

THÉORIE DE L'INFORMATION : RAPPELS THÉORIE DE L'INFORMATION : RAPPELS 1920 : premières tentatives de définition de mesure de l'information à partir de 1948 : travaux de Shannon Théorie de l'information discipline fondamentale qui s'applique

Plus en détail

Formation Unix/Linux (6) Le Shell: programmation et écriture de scripts

Formation Unix/Linux (6) Le Shell: programmation et écriture de scripts Formation Unix/Linux (6) Le Shell: programmation et écriture de scripts Olivier BOEBION Mars 2004 1 Les expressions conditionnelles et les structures de contrôle 1.1 La commande test La commande interne

Plus en détail

Premiers pas en Fortran 95

Premiers pas en Fortran 95 1 Premiers pas en Fortran 95 Nicolas Depauw 26 septembre 2011 Dans ce petit exemple, nous écrivons un programme en Fortran 95 qui résoud les équations du second degré à coefficients réels. Nous détaillons

Plus en détail

LE CONTROLE D ERREURS LES CODES AUTOVERIFICATEURS OU AUTOCORRECTEURS. Les codes de blocs

LE CONTROLE D ERREURS LES CODES AUTOVERIFICATEURS OU AUTOCORRECTEURS. Les codes de blocs LE CONTROLE D ERREURS LES CODES AUTOVERIFICATEURS OU AUTOCORRECTEURS Les codes de blocs Le principe employé dans les codes de blocs consiste à construire le mot de code en «sectionnant» l information utile

Plus en détail

PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES

PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES I-Présentation Un algorithme de recherche de sous-chaine est un type d'algorithme de recherche qui a pour objectif de trouver une chaîne de caractères

Plus en détail

codage correcteur d erreurs convolutionnel 1. Définition...2 2. représentation en treillis...3 3. Décodage : algorithme de Viterbi...3 4.

codage correcteur d erreurs convolutionnel 1. Définition...2 2. représentation en treillis...3 3. Décodage : algorithme de Viterbi...3 4. codage correcteur d erreurs convolutionnel. éfinition.... représentation en treillis...3 3. écodage : algorithme de Viterbi...3 4. istance libre...5 5. iagramme d état. Fonction de transfert...5 6. écodage

Plus en détail

Introduction à Matlab

Introduction à Matlab Introduction à Matlab Nicolas Kielbasiewicz 30 juillet 2007 Matlab est un logiciel payant développé par MathWorks sous Windows, Linux et Mac, et dédié au calcul numérique, ainsi qu au problèmes de commande.

Plus en détail

Annexe I. Passage de la version 2.xx à 3.xx

Annexe I. Passage de la version 2.xx à 3.xx Annexe I Passage de la version 2.xx à 3.xx 14 Passage de la version 2.xx à la version 3.xx Principes de base Cete section indique les étapes à suivre pour passer de version 2.xx à la version 3.xx. De façon

Plus en détail

Représentation des fonctions booléennes

Représentation des fonctions booléennes Représentation des fonctions booléennes Épreuve pratique d algorithmique et de programmation Juillet 2003 Ce problème est consacré à l étude de deux représentations des fonctions booléennes de N variables

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

TD2 - Ecriture binaire/héxadécimale d une entier. PCSI - Lycée Thiers

TD2 - Ecriture binaire/héxadécimale d une entier. PCSI - Lycée Thiers TD2 - Ecriture binaire/héxadécimale d une entier Ecriture d un nombre dans une base Ecriture d un nombre en base m > 1 Ecriture d un nombre en base 2 Ecriture d un nombre en base 16 Corrigé Corrigé Ecriture

Plus en détail

LES FICHIERS DE DONNEES STRUCTURES EN ENREGISTREMENTS...

LES FICHIERS DE DONNEES STRUCTURES EN ENREGISTREMENTS... ALGO Ch 6 Fichiers I. INTRODUCTION... 1 A. NOTION DE FICHIERS... 1 B. STRUCTURATION DES DONNEES DANS UN FICHIER... 1 1. Fichiers NON structurés... 1 2. Fichiers structurés... 2 C. RESUME DES CARACTERISTIQUES

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes

Programmation en Python - Cours 2 : Premiers programmes Programmation en Python - Cours 2 : Premiers programmes 2013/2014 Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Saisie de données par l utilisateur : input(),

Plus en détail

ENSIL Troisième Année ELT

ENSIL Troisième Année ELT IFORMATIQUE APPLIQUEE TD1 Dans le cadre de ces TD, nous procédons à la simulation d'un système de télécommunication numérique. Cette opération va nous permettre d'étudier la performance du système sous

Plus en détail

Utiliser des images sous MATLAB Version du 20 mars 2012

Utiliser des images sous MATLAB Version du 20 mars 2012 Utiliser des images sous MATLAB Version du 20 mars 2012 1 Les images à TELECOM ParisTech L existence de l équipe Image de TELECOM ParisTech remonte à près de 30 ans. Aussi il existe un format d image spécifique

Plus en détail

Transformations du photomaton et du boulanger

Transformations du photomaton et du boulanger Corrigé informatique commune Transformations du photomaton et du boulanger Question 1. symétrie d axe vertical On utilise les relations x = x et y = q 1 x pour définir la fonction : def symétrie(img):

Plus en détail

08/01/2013 www.toubkalit.ma

08/01/2013 www.toubkalit.ma 1 1 - La déclaration des chaînes 2 - Les opérations sur les chaînes 3 - Des exemples utiles 2 Pour déclarer une chaîne de caractères, vous pouvez utiliser les guillemets (") ou l'apostrophe ('). var chaine1="bonjour";

Plus en détail

Versions d un vrai programmeur

Versions d un vrai programmeur Versions d un vrai programmeur pos = 0; for p = [numel(v):-1:1] if (v(p) == 0) pos = p; break endif endfor pos = 0; p = numel(v); while (p >= 1) if (v(p) == 0) pos = p; break endif p = p - 1; endwhile

Plus en détail