Procédé de compression de données sans perte par la lumière, Méthode «EDWIGE»



Documents pareils
Traitement numérique de l'image. Raphaël Isdant

Chapitre 22 : (Cours) Numérisation, transmission, et stockage de l information

Chap17 - CORRECTİON DES EXERCİCES

TD : Codage des images

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

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

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

nom : Collège Ste Clotilde

Cours Informatique 1. Monsieur SADOUNI Salheddine

Programmation C. Apprendre à développer des programmes simples dans le langage C

Chapitre 13 Numérisation de l information

La mémoire. Un ordinateur. L'octet. Le bit

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

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

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

Le poids et la taille des fichiers

Informatique Générale

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Université de La Rochelle. Réseaux TD n 6

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Feuille TD n 1 Exercices d algorithmique éléments de correction

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Bases de programmation. Cours 5. Structurer les données

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Initiation à l informatique. Module 1 : Le Matériel

I. QU'EST-CE QU'UN ORDINATEUR? Un ordinateur est relié à plein de périphériques

INFO 2 : Traitement des images

COMMANDER A DISTANCE LE ROBOT-PONG ETUDE DE LA TELECOMMANDE (2 nde PARTIE)

Systèmes de transmission

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java


FORMATS DE FICHIERS. Quels sont les différents types d informations numériques dans un document multimédia?

Algorithme. Table des matières

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Chapitre 18 : Transmettre et stocker de l information

Numérisation du signal

Représentation d un entier en base b

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Gestion de gros fichiers binaires (images) en APL*PLUS III

Corrigé des TD 1 à 5

Création de maquette web

Introduction à l Informatique licence 1 ère année Notes de Cours

Dossier technique. Présentation du bus DMX et Utilisation des options EL13 / EL14 ERM AUTOMATISMES INDUSTRIELS 1 LE PROTOCOLE DMX 2

Les Réseaux sans fils : IEEE F. Nolot

ANALYSE TRAMEs LIAISON SERIE

2 Comment fonctionne un ordinateur, dans les grandes lignes

Application 1- VBA : Test de comportements d'investissements

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Formats d images. 1 Introduction

PRECAUTIONS DESCRIPTION DU PRODUIT

Bases de données documentaires et distribuées Cours NFE04

Architecture des ordinateurs

Plan du cours. Historique du langage Nouveautés de Java 7

Expérience 3 Formats de signalisation binaire

I00 Éléments d architecture

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

Programmation sous QT

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Initiation. àl algorithmique et à la programmation. en C

Clé USB. Quel type de données peut contenir une clé USB?

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

L EXPORTATION d un PROJET.MVP

Windows 7, Configuration

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Présentation du cours

1.1 L EXPLORATEUR WINDOWS

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Boîte électronique. Découverte des principales fonctions d une messagerie électronique. (et les pièces jointes)

1 Introduction au codage

Plan du cours Cours théoriques. 29 septembre 2014

DM 1 : Montre Autoquartz ETA

Cours d Informatique

Géométrie discrète Chapitre V

Limitations of the Playstation 3 for High Performance Cluster Computing

Structure de base d un ordinateur

Utiliser le service de messagerie électronique de Google : gmail (1)

Pré-requis installation

ADSL. Étude d une LiveBox. 1. Environnement de la LiveBox TMRIM 2 EME TRIMESTRE LP CHATEAU BLANC CHALETTE/LOING NIVEAU :

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

UE Programmation Impérative Licence 2ème Année

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

La sécurité dans un réseau Wi-Fi

Ordinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

NOTICE D UTILISATION FACILE

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

Outils permettant la diffusion de l information. Un point sur le droit numérique

Transcription:

Procédé de compression de données sans perte par la lumière, Méthode «EDWIGE» Le procédé est un algorithme de compression de données informatiques, sans perte, c'est-à-dire que le contenu d origine sera restitué dans son intégralité. Les performances sont importantes aussi bien sur le temps de compression et de décompression que sur le pourcentage de compression effective des données qui est d environ 92% au minimum quelque soit la nature des données fournies. A condition que la taille d origine soit d au moins 100 Mo (voir principe mathématique plus bas pour explications) pour le cas d une capture des données comptée en seconde. Cette méthode baptisée EDWIGE a besoin pour fonctionner de deux technologies émergeantes (au moment de la rédaction de ce descriptif). Ces deux technologies sont : - 1) Le Li-Fi (pour Light Fidélity), qui permet le transfert de données en utilisant comme support la lumière. A noter que tout le spectre peut être utilisé à condition que la deuxième technologie, mentionnée ci-après, à savoir les caméras d enregistrement à grande vitesse, puissent le percevoir. Mais en général et pour les besoins de l exemple, on utilisera la lumière visible. Pour obtenir ce résultat, le dispositif est composé d ampoules LED pouvant commutées à très grande vitesse (plusieurs millions à un milliard de fois par seconde) ainsi que de détecteurs Li-Fi capables de détecter les changements de phases de l ampoule (allumée ou éteinte), voir le principe et le standard sur les schémas ci-après. - 2) Les caméras d enregistrement à très grande vitesse. Il s agit de caméras pouvant enregistrer plusieurs millions d images par seconde. Cette technologie va permettre de filmer les changements de phases de l ampoule LED en se calant sur la fréquence de cette dernière, afin de produire des fichiers images correspondant aux phases allumée ou éteinte. Présentation des technologies avant l explication de la méthode EDWIGE : Source technologique : le Li-Fi (Light-Fidelity) ou VLC (Visual Light Communication) Schéma du principe de fonctionnement : Protocole de communication basé sur le standard IEEE 802.11 C est le codage Manchester qui est utilisé par le dispositif électronique :

Exemple d algorithme utilisé par les fonctions de détection de trame : /* fonction d interruption du TIMER_1 */ ISR(TIMER_1_COMPA_vect){ cli(); // Transmission d'un octet avec codage Manchester + 2 bits de starts a '1' if (serialpos<nb_bits_transmit*2) { if(serialpos%2==0) transmit=((msg>>(serialpos/2))& 0x01); if (transmit==0) transmit=1; transmit=0; serialpos++ transmit=0; sei(); /*function d interruption du TIMER_0*/ ISR(TIMER0_COMPA_vect){ cli(); if (transmit==1) PORT_B=~PORT_B; PORT_B=0x01; sei(); --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Ci-contre un exemple de caméra d enregistrement ultra-rapide (plusieurs millions d images par seconde). Principe de fonctionnement en rapport avec la méthode EDWIGE :

Principe mathématique et explication du procédé de compression de données à partir d un exemple : Compression Préambule : taille d une image 1 * 1 pixel au format png, codée sur 1 bi t (blanc ou noir) = environ 0,6 KO (si le fichier ne contient que des pixels blancs) sur un support informatique (disque dur, ). Le nombre de pixels pouvant être stocké dans 0,6 KO avec un format de 227/200 pixels (d autres formats d images peuvent être utilisés) est : 227 * 200 = 45400 pixels environ (soit 45400 bits blancs pour 0,6 KO, ou au maximum 45400 bits noirs pour 4KO). Considérons que l ampoule LED clignote 100 millions de fois par seconde, soit une vitesse de transfert théorique de 100 MO/s, le dispositif d enregistrement (caméscope) utilisé devra pouvoir enregistrer 100 millions de pixels par seconde. Nous prendrons 4 KO pour la taille par défaut des fichiers composés de pixels (sachant que si nous faisons un taux de répartition moyen entre les 1 et les 0 dans un fichier binaire, nous ne dépasserons que très rarement les 2 KO) Pour stocker 100 millions de pixels par seconde, la taille à stocker est de 8810 Ko ((4 * 100 millions)/45400) soit 8 Mo. Le fichier final est composé de pixels blancs ou noirs selon l état de la source de lumière (Allumée = blanc, éteinte = noir). Exemple pour la mémorisation d'un disque BLURAY double couche (soit 50 GO) : Utilisons une vitesse de transfert de 100 MO/s, la durée totale pour transférer 50 GO, sera de 512 secondes. Calcul : 50 GO / 100 MO/s). Nous avons vu précédemment que le stockage d 1 seconde d image était de 8 MO, ce qui va nous permettre de calculer la taille totale pour un transfert de 512 secondes. Calcul : 512s * 8 MO = 4096 MO soit 4 GO à stocker. Nous avons donc compressé 50 GO de données dans un fichier de 4 GO (voir algorithme plus bas), soit un taux de compression des données d environ 92%. Avec un fichier de 100 MO ou de taille inférieur, la taille du fichier final restera de 8 MO en continu. Sauf si on film en fraction de seconde, à ce moment là la compression variera, en diminution, selon une progression arithmétique de raison 0,08. Exemple : 99 MO / 100 MO/s = 0,99 ensuite 0,99 * 8 MO = 7,92 MO, pour 98 MO on obtient 7,84, etc. Décompression Il faut tout d abord calculer le nombre d images d origine, en reprenant l exemple de la phase de compression des données, nous obtenons : 676651 KO / 0,6 KO = 1127753 images. Il faut connaitre la vitesse de transfert utilisée et notre constante correspondant au nombre de pixels pouvant être stockés dans un fichier de 0,6 KO, nous retrouvons ainsi le nombre de secondes qu il aura fallut pour transférer l ensemble des données par le dispositif LED/caméscope, calcul : 1127753 * 45400 / 100 millions = 512s On en déduit la taille du fichier d origine : 512s * 100 millions = 50 GO (ou encore 1127753 images *45400 pixels). On peut donc commencer la décompression pour recomposer le fichier d origine, le temps devrait être plus rapide que le temps de compression en fonction des performances de l ordinateur utilisé (voir algorithme plus bas).

Formule de compression pour un fichier: Formule de compression pour n fichiers : Formulation mathématique du procédé / / Td (taille des données), Vt (vitesse de transfert des données), Ve (vitesse d enregistrement des images, Np (Nombre maximal de pixels contenu dans un fichier de taille donnée), n (nombre de fichiers à compresser). N.B. : en codage Manchester, Ve varie en fonction de Vt de la manière suivante : Ve = 2Vt Formule de décompression pour un fichier compressé : Ou Ici peut servir de checksum pour le contrôle de vérification des données. Formule de décompression pour n fichiers compressés : Ou Tdc (taille des données compressées), Tfp (taille minimal d un fichier de pixels), C (Constante pour le nombre maximal de pixels par fichier), Vt (vitesse de transfert utilisé pour la compression).

Algorithme à boucle conditionnelle pour la création des fichiers images, écrit en pseudo langage : 1) enregistrement des images (code pour compression des données, en binaire) CompteurImage (type entier) initialisé à 1 CompteurFichier (type entier) initialisé à 1 CodeReception (type entier) TailleDesDonnees (type reel) NombreDeFichiers (type réel) Boucle { Fonction écoute socket (pour détection trame de réception) { Si détecte trame sur socket alors TailleDesDonnees = Fonction détection taille des données à transmettre NombreDeFichiers = TailleDesDonnees / 45400 Si NombreDeFichiers < 1 alors NombreDeFichiers = 1 Tant Que CompteurFichier <= NombreDeFichiers créer et ouvrir fichier Image_CompteurImage Tant Que CompteurImage <= 45400 CodeReception = Fonction détection bit de réception (0 ou 1) // (voir description des trames) Si CodeReception = 1 alors écrire 'code couleur blanc' dans fichier Image_CompteurImage Sinon écrire 'code couleur noir' dans fichier Image_CompteurImage CompteurImage = CompteurImage +1 CompteurFichier = compteurfichier +1 CompteurImage = 1 2) Lecture des images (code pour décompression des données) CompteurImage (type entier) initialisé à 1 CompteurFichier (type entier) initialisé à 1 CodeLecture (type alphanumérique) NombreDeFichiers (type réel) NombreDeFichier = NombreFichierImageDuDossier() Ouvrir en Lecture/Ecriture FichierDecompresser (binaire)

Boucle { Tant Que CompteurFichier <= NombreDeFichiers ouvrir en lecture fichier Image_CompteurImage Tant Que Pas fin du fichier Image_CompteurImage CodeLecture= LireValeurPixel (blanc ou noir) Si CodeLecture = «PixelBlanc alors écrire '1' dans fichier FichierDecompresser Sinon écrire '0' dans fichier FichierDecompresser CompteurFichier = compteurfichier +1 CompteurImage = 1 Transformer FichierDecompression binaire en Format d origine (exemple bluray.mkv) Note : L optimisation de ces algorithmes est possible en utilisant notamment les méthodes de programmation orientée objet.