Projet Logiciel en C Décodeur JPEG



Documents pareils
Formats d images. 1 Introduction

TD : Codage des images

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

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

Environnements et Outils de Développement Cours 1 Introduction

Chapitre 22 Optimisation pour diffusion à l'écran, pour le web

Livrable 2.1 Rapport d analyse et de restructuration de code monothread des modules P, T, Q et F de l encodage MPEG-4 AVC

Cours de numérisation sur Epson Perfection

Chapitre 10 Arithmétique réelle

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

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

workshop javascript crm

Les images numériques. 1. Le dessin vectoriel

Codage hiérarchique et multirésolution (JPEG 2000) Codage Vidéo. Représentation de la couleur. Codage canal et codes correcteurs d erreur

Préparation d un post (article) pour idweblogs

TP SIN Traitement d image

Les types de fichiers

Sur trois couches, on obtient donc 2563 = de couleurs, soit 24bpp (Bit Per Pixel).

Réseaux Multimédia et Qualité de Service

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1

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

VILLE D ESTAIRES ENTRETIEN DES LOCAUX SPORTIFS CAHIER DES CLAUSES TECHNIQUES PARTICULIERES (C.C.T.P.)

nom : Collège Ste Clotilde

L archivage pérenne du document numérique au CINES. CINES (O.Rouchon) Rencontres RNBM 3 Octobre 2007

Adobe Photoshop. Bonnes pratiques pour une utilisation professionelle CHAPITRE 7

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette

Compression de données texte, son, image

Mesure agnostique de la qualité des images.

Brique BDL Gestion de Projet Logiciel

COMMENT ENVOYER UN ING?

Catégories de format d'optimisation

Géométrie discrète Chapitre V

Images Sons Vidéos. Centre pour la formation à l Informatique dans le Secondaire CONCEVOIR UN PRODUIT MULTIMÉDIA. Département Education et Technologie

Compression de Données - Algorithme de Huffman Document de Conception

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

Conception Electronique (CEL) Prof. Maurizio Tognolini

Chapitre 13 Numérisation de l information

Formats de fichiers adaptés à l'archivage électronique à moyen et long terme

Initiation à linfographie

Optimiser les images pour l affichage sur votre site

Optimisation de la compression fractale D images basée sur les réseaux de neurones

REGLEMENT INTERIEUR DU RESTAURANT SCOLAIRE DE MATIGNON ANNEE 2014/2015

MASTER. Transmission Vidéo dans les Réseaux Sans Fils et Mobiles. Challenges et Solutions

L archivage pérenne du document numérique au CINES. CINES (O.Rouchon) JRES Novembre 2007

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

Livre blanc Compta La dématérialisation en comptabilité

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

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

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

Chapitre 18 : Transmettre et stocker de l information

Transmission de données. A) Principaux éléments intervenant dans la transmission

Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur

CST-RT021-part2:2013. Annexe CST-RT21-MFFS Spécification de format mezzanine pour films. Groupe de travail CST-RT021-MFFW

ELO Office / Pro Les avantages : Archivage et gestion documentaire

Projet Gestion des Formats de Fichier

GUIDE D'INSTALLATION. AXIS Camera Station

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

Les images et les animations sur le web. Guérineau Chloé BTS2 Année 2001/2012

Optimisation et formats d images standards pour le Web Par Thierry Goulet Web Designer, ministère de la Sécurité publique. Plan de conférence

Formats de fichiers pris en charge

ACTIVE IMPORT ProductInfo 1

كر اس الشروط الفني ة اخلاص ة

SEGPA EREA. académie Versailles ENTRE : Nom du stagiaire : Prénom : Éducation Nationale Enseignement Supérieur Recherche

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

GPC Computer Science

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

DOCUMENT CONFIDENTIEL

Livre blanc. Le 3 Heights Scan to PDF Server : bases et utilisation

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

- affichage digital - aiguille

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

Référentiel Général d Interopérabilité

Marché Public en procédure adaptée : Infrastructure Informatique régionale hébergée CAHIER DES CHARGES ET DES CLAUSES TECHNIQUES

Plan d études. Traitement visuel 2D. Techniques d intégration multimédia HU. legault/2d/ 1-2-2

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

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

4/10. ext. MODE MODE. graphique. format ENREGISTREMENT. graphique 6/10 4/10 6/10. Cours E.Faÿs

Modèle de Cahier des charges. Consultation pour la Conception et réalisation d un site internet

Optimisez la gestion de l information dans votre entreprise

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

ECOLE PRIMAIRE QUERAL ECOLE MATERNELLE CHARLES PERRAULT ECOLE DU CHAT PERCHE SAINT-ROCH

GESTION DU LOGO. 1. Comment gérer votre logo? Format de l image Dimensions de l image Taille de l image 9

Compression Compression par dictionnaires

MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES

Généralités sur le courrier électronique

Efficience énergétique du SI par l écoconception des logiciels - projet Code Vert

QUE PEUT-ON FAIRE DANS UNE CYBER-BASE? SOMMAIRE. Cyber-base mobile, à la demande. Pourquoi aller dans une Cyber-base?

Ordonnance du DFJP sur les documents d identité des ressortissants suisses

La conservation à long terme de contenus numériques

QUESTIONNAIRE A DESTINATION DES FAMILLES

Ecole d été des spectroscopies d électrons.

MailStore Server 7 Caractéristiques techniques

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,

Approche par marquage pour l évaluation de la qualité d image dans les applications multimédias

Thomas Loubrieu (Ifremer) Small to Big Data Novembre 2013, Ifremer, Brest

Environnements de développement (intégrés)

Utiliser le logiciel Photofiltre Sommaire

Introduction à la GED La Gestion Electronique des Documents

Transcription:

Projet Logiciel en C Décodeur JPEG L. Allemand-Giorgis, F. Bouchez, F. Broquedis, M. Chabanas, T. Dias Alves, JF Méhaut 28 mai 2015 Projet Logiciel en C Décodeur JPEG - M. Chabanas 1 / 1

Projet JPEG ff d8 ff e0 00 10 4a 46 49 46 00 01 01 01 00 60 00 60 00 00 ff fe 00 12 53 68 61 75 6e 20 74 68 65 20 73 68 65 65 70 00 ff db 00 43 00 0a 07 07 09 07 06 0a 09 08 09 0b 0b 0a 0c 0f 19 10 0f 0e 0e 0f 1e 16 17 12 19 24 20 26 25 23 20 23 22 28 2d 39 30 28 2a 36 2b 22 23 32 44 32 36 3b 3d... Projet Logiciel en C Décodeur JPEG - M. Chabanas 2 / 1

Projet JPEG ff d8 ff e0 00 10 4a 46 49 46 00 01 01 01 00 60 00 60 00 00 ff fe 00 12 53 68 61 75 6e 20 74 68 65 20 73 68 65 65 70 00 ff db 00 43 00 0a 07 07 09 07 06 0a 09 08 09 0b 0b 0a 0c 0f 19 10 0f 0e 0e 0f 1e 16 17 12 19 24 20 26 25 23 20 23 22 28 2d 39 30 28 2a 36 2b 22 23 32 44 32 36 3b 3d... Projet Logiciel en C Décodeur JPEG - M. Chabanas 2 / 1

Projet JPEG ff d8 ff e0 00 10 4a 46 49 46 00 01 01 01 00 60 00 60 00 00 ff fe 00 12 53 68 61 75 6e 20 74 68 65 20 73 68 65 65 70 00 ff db 00 43 00 0a 07 07 09 07 06 0a 09 08 09 0b 0b 0a 0c 0f 19 10 0f 0e 0e 0f 1e 16 17 12 19 24 20 26 25 23 20 23 22 28 2d 39 30 28 2a 36 2b 22 23 32 44 32 36 3b 3d... 12 jours Projet Logiciel en C Décodeur JPEG - M. Chabanas 2 / 1

Sommaire Projet Logiciel en C Décodeur JPEG - M. Chabanas 3 / 1

Vos profs des 15 prochains jours... Léo Allemand-Giorgis Florent Bouchez François Broquedis Matthieu Chabanas Thomas Dias Alves Jean-François Méhaut Projet Logiciel en C Décodeur JPEG - M. Chabanas 4 / 1

Objectifs de la scéance Présenter succintement les objectifs du projet C en général Expliquer le déroulement du projet pour le sujet JPEG Répondre aux questions éventuelles liées au projet ou au sujet Projet Logiciel en C Décodeur JPEG - M. Chabanas 5 / 1

Objectifs du Projet Logiciel en C Apprentissage d un langage de référence : le C Mise en pratique des connaissances acquises dans d autres modules Algo/Prog, Conception et exploitation des processeurs, Théorie de l information, etc. Outils de développement : gdb, ddd, valgrind, gprof, etc. Premier aperçu des contraintes d un gros projet logiciel Travail en équipe : répartition des tâches, mise en commun Gestion du temps et de la difficulté des différentes étapes Respect d un cahier des charges Importance de la phase de validation (tests, débug,... ) Opportunité d utiliser des outils de gestion de versions (Git, SVN) Projet Logiciel en C Décodeur JPEG - M. Chabanas 6 / 1

Planning/Encadrement 2015 Amphi de présentation et lancement du projet : Jeudi 28 mai Libre-service encadré : du vendredi 29 mai au mercredi 10 juin 15 demies journées d encadrement + 3 demies journées d autonomie Salles machines 1er étage (E101, E102, E103, E104) 2 ou 3 encadrants JPEG par demie journée (pas le week-end!, NO SPAM) Date de rendu : mercredi 10 juin, 19h Soutenances : jeudi 11 juin après midi et vendredi 12 matin Projet Logiciel en C Décodeur JPEG - M. Chabanas 7 / 1

A quoi sert un encadrant? Les encadrants sont là pour : vous aider sur la programmation en C en général vous aider sur les points techniques du projet vous conseiller sur l aspect conception (comment structurer son projet) vous apporter des conseils sur l organisation (le travail en équipe n apporte pas que des avantages!) Les encadrants NE SONT PAS LÀ pour : faire le projet à votre place vous donner les solutions à tous les problèmes remplacer les logiciels de debug faire la hotline 24h/24, 7j/7 Dans tous les cas, réfléchissez à vos questions avant de les poser et discutez avec vos binômes, souvent la réponse est dans la question, et soyez précis Projet Logiciel en C Décodeur JPEG - M. Chabanas 8 / 1

Petit rappel sur la fraude Il est interdit de copier ou de s inspirer de fichiers concernant le projet, à l exception des fichiers fournis par les encadrants. Ceci inclus : les fichiers des années précédentes les fichiers d étudiants n appartenant pas au trinôme De même, il est interdit de transmettre des fichiers à des étudiants extérieurs au trinôme. Ceci implique que vous protégiez vos fichiers en lecture (contrôle effectué périodiquement). Des informations sur la sécurisation des fichiers sont disponibles sur le Wiki Des outils de détection automatique de triche sont utilisés En cas de fraude avérée, la sanction est le 0 au projet, en plus des sanctions prévues dans le réglement de l école Projet Logiciel en C Décodeur JPEG - M. Chabanas 9 / 1

Evaluation L évaluation du projet compte pour 80% de la note finale du Projet Logiciel en C (les autres 20% étant le cours de préparation au C) Votre projet sera évalué lors de la soutenance de 30 minutes des 11 et 12 juin. Tout le trinôme assiste à la soutenance La soutenance se déroule comme suit 1. 10 minutes de démonstration du code produit ne pas prévoir une démonstration, mais plusieurs qui démontrent les atouts de votre programme final 2. les 20 dernières minutes sont consacrées aux questions et tests de l examinateur. Projet Logiciel en C Décodeur JPEG - M. Chabanas 10 / 1

Sommaire Projet Logiciel en C Décodeur JPEG - M. Chabanas 11 / 1

JPEG? Joint Photographic Experts Group : comité de normalisation pour la compression d images A l origine de la norme ISO/IEC IS 10918-1 ITU-T Recommendation T.81, plus communément appelé JPEG d après le nom du comité Norme très complexe, proposant de nombreux algorithmes de compression Plusieurs formats d échange supportent le JPEG, le JFIF (JPEG File Interchange Format) est le plus courant Projet Logiciel en C Décodeur JPEG - M. Chabanas 12 / 1

Avantages Format incoutournable pour le stockage d image, malgré son âge respectable (début des années 90) Puissance requise pour l encodage/décodage très faible pratique à utiliser dans les appareils photos numériques par exemple, internet,... Projet Logiciel en C Décodeur JPEG - M. Chabanas 13 / 1

Principe Image brute non compressée n m pixels en RGB Compression des données de l image Changement de représentation : RGB YCbCr Sous échantillonage de certaines composantes Changement de domaine : spatial fréquentiel (DCT) Quantification des valeurs Stockage efficace de l information Codage de Huffman Codage RLE : répétition de valeurs (0) Flux bit à bit Format de fichier JFIF : marqueurs, données Projet Logiciel en C Décodeur JPEG - M. Chabanas 14 / 1

Principe Encodage bitmap pixels RGB to YCbCr DOWN SAMPLER DCT Q+ZZ Variable Length Encoding JPEG encoded Quantification Tables Huffman Tables Projet Logiciel en C Décodeur JPEG - M. Chabanas 15 / 1

Principe Encodage bitmap pixels RGB to YCbCr DOWN SAMPLER DCT Q+ZZ Variable Length Encoding JPEG encoded Quantification Tables Huffman Tables Décodage scan bitstream Variable Length Decoding IQZZ IDCT UP SAMPLER YCbCr to RGB MCU pixels Huffman Tables Quantification Tables Projet Logiciel en C Décodeur JPEG - M. Chabanas 15 / 1

Objectifs techniques du projet JPEG Décodeur Réaliser intégralement, en C, un décodeur d images JPEG Format de fichier: JFIF uniquement Mode baseline, 3 types de sous-échantillonage Écrire l image résultante dans un format TIFF non compressé Extensions Optimisations Réaliser un encodeur à partir du décodeur... Projet Logiciel en C Décodeur JPEG - M. Chabanas 16 / 1

Sommaire Projet Logiciel en C Décodeur JPEG - M. Chabanas 17 / 1

Environnement de travail Découpage en modules Le décodeur est découpé en modules, de difficulté hétérogène, réalisant des parties atomiques du décodage scan bitstream Variable Length Decoding IQZZ IDCT UP SAMPLER YCbCr to RGB MCU pixels Huffman Tables Quantification Tables bitstream.o huffman.o unpack.o iqzz.o idct.o upsampler.o conv.o tiff.o main.o Fourni : Un fichier objet par module, sans les sources, et un Makefile pour la construction de l application Projet Logiciel en C Décodeur JPEG - M. Chabanas 18 / 1

Objectifs Travail minimum: décodeur complet Implanter TOUS les modules du décodeur JPEG En respectant l API fournie Validation Extensions Optimiser le décodeur (idct efficace - algorithme fourni) Réaliser un encodeur à partir du décodeur Des tas d autres choses possibles selon vos envies... Projet Logiciel en C Décodeur JPEG - M. Chabanas 19 / 1

Fichiers à rendre (TEIDE) Une unique archive contenant : Vos fichiers sources *.c des différents modules Un Makefile suffisant pour compiler et nettoyer l application Des fichiers tests dans la limite de l espace disponible sur Teide Projet prévu sur les machines de l Ensimag Pas d ordinateurs personnels pendant la soutenance Un projet qui ne fonctionne pas à l Ensimag est sanctionné comme un projet non terminé Respect du coding style proposé (cf. Wiki) Projet Logiciel en C Décodeur JPEG - M. Chabanas 20 / 1

Quelques conseils Gardez le Makefile à jour tout le long du projet Vérifiez régulièrement le fonctionnement à l Ensimag Prévoyez une base de test Figez le projet bien avant la date de rendu Pour la soutenance : 10/15 mn pour présenter 2 semaines de travail! Pour la partie obligatoire : prouvez nous que ça marche sans insister Pour le reste : cherchez à montrer à quel point vous avez été plus loin. N hésitez pas à vendre votre travail (améliorations des performances, démonstration des avantages,... ) La qualité prime sur la quantité! Mieux vaut du code lisible, bien conçu et testé que plus de choses non validées... Projet Logiciel en C Décodeur JPEG - M. Chabanas 21 / 1

Bon courage! Projet Logiciel en C Décodeur JPEG - M. Chabanas 22 / 1