IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Projets Discussion :

Nouveau Format d'Images


Sujet :

Projets

  1. #1
    Candidat au Club
    Inscrit en
    avril 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 13
    Points : 4
    Points
    4
    Par défaut Nouveau Format d'Images
    Bonjour à tous et à toutes,

    Je viens ici vous présentez mon projet, un peu originale surement mais on verra bien ce qui en sortira :-°
    En ce qui me concerne, je me nomme Amine, j'ai 17 ans et je programme le C++ depuis pas mal de temps.

    Le projet

    Je projette de créer un tout nouveau format d'image complet, avec toute l'artillerie qui va avec (lecteur, logiciel de dessin, convertisseur aux autres format et visversa...). Ce nouveau format je l'ai nommé Simple Image: *.simg.

    La gestion graphiques sera géré par la library SDL. J'ai choisis la SDL car c'est une library que je maitrise bien depuis assez longtemps.

    Pour revenir au format simg, il est claire qu'on en ai qu'à la partie 'commencement'. Bien que j'ai réalisé les premières version du convertisseur et du lecteur, l'algorithme de stockage de donnés reste basique et surtout lourde (une image de 640*480 pèse 10 MO :euh: )
    Mais pas de panique, nous n'allons pas en rester là. En effet, des algorithmes pour diminuer la taille du fichier ont était pensé, reste plus qu'à codé !

    Pour plus d'info

    Voici le forum de ce projet, un peut neuf mais...enfin bref, c'est ici.

    Je vous invite tous à lire ça si vous vous voulez connaître un peu plus !

    Recrutement

    Pour réaliser ce projet à la perfection, j'aurai besoin de fonder une bonne équipe. Pas d'inquiétude j'ai de l'expérience :p

    Le recrutement se fait dans la section recrutement de notre forum.

    Voila, j'attends vos commentaires, critiques... vous pouvez venir sur notre forum si vous le désirez ^^

    TELECHARGER LA V0.1 DU LECTEUR D'IMAGE ET DU CONVERTISSEUR !
    Avec les sources !! ^^

  2. #2
    Expert éminent
    Avatar de raptor70
    Inscrit en
    septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : septembre 2005
    Messages : 3 173
    Points : 6 811
    Points
    6 811
    Par défaut
    Pour donner un peu plus de précision :

    Ton format est un format sans compression ? avec compression sans perte ? ou avec compression avec perte ?

    En quoi ton nouveau format est il innovant par rapport aux autres ? Qu'a t'il de mieux ?

    Gère t'il plusieurs layers ? couleurs indexés, par palette ou descriptive (RGB) ?

    Gère t'il la transparence ?
    Mes Tutos DirectX, OpenGL, 3D : http://raptor.developpez.com/

  3. #3
    Candidat au Club
    Inscrit en
    avril 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    Bonjour

    Le format que j'essaye de créer ne devancera pas ceux existant, pour cause je n'ai pas les compétences d'un pro. Donc pour répondre à tes questions raptor70, j'essayerai de mon mieux : ^^
    Ton format est un format sans compression ? avec compression sans perte ? ou avec compression avec perte ?
    la différence entre les trois?
    de quelle compression il s'agit? compression du contenu du fichier ou le fichier lui même?


    Gère t'il plusieurs layers ? couleurs indexés, par palette ou descriptive (RGB) ?
    que ce qu'un layers?
    Sinon les couleur sont descriptives (RGB et Alpha).


    Gère t'il la transparence ?
    Oui =)

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : juillet 2005
    Messages : 9 810
    Points : 20 967
    Points
    20 967
    Par défaut
    J'espère que tu t'y connais en compression (ce qui m'étonnerait vu ton âge), par exemple ondelette, décimation, compression arithmétique, ...

  5. #5
    Candidat au Club
    Inscrit en
    avril 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    J'espère que tu t'y connais en compression (ce qui m'étonnerait vu ton âge), par exemple ondelette, décimation, compression arithmétique, ..
    j'en ai entendu parler.

    Sinon je me concentre plus actuellement sur comment enregistre l'image dans un fichier et la charger pour la dessiner dans une fenêtre =)

    Je ne vous cache pas que je suis un amateur, et je n'ai aucun doctorat...

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Du coup si tu ne fais pas un format pour implémenter une idée géniale, un algo intéressant, ou n'importe quoi d'autre d'innovant, pourquoi le faire ? Quel est ton réel but ? Et surtout dans ce cas, pourquoi recruter une équipe plutôt que de le faire tout seul ?

  7. #7
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : juillet 2005
    Messages : 9 810
    Points : 20 967
    Points
    20 967
    Par défaut
    Citation Envoyé par fulue Voir le message
    Sinon je me concentre plus actuellement sur comment enregistre l'image dans un fichier et la charger pour la dessiner dans une fenêtre =)
    Je ne vois pas l'intérêt de faire ça. Enregistrer l'image si on ne sait même pas comment elle est codée, ça ne sert... à rien. Et afficher une image, c'est facile avec SDL, on l'affiche et c'est tout puisqu'elle sera stockée décodée.

    Ta chaîne, c'est :
    un fichier compressé -> un objet représentant l'image compressée -> un objet représentant l'image chargée -> afficher l'image.

    Tu essaies de faire le début et la fin, sans savoir ce que tu fais entre. Sérieusement, c'est voué à l'échec. La partie intéressante, c'est la partie compression/décompression (même plus la partie compression, cf ce qui se fait pour le H.264 où la décompression est simple, mais où la compression teste plusieurs solutions), le reste, c'est vraiment accessoire et fait en 3 lignes dans un langage type Ruby/Python/...

  8. #8
    Candidat au Club
    Inscrit en
    avril 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    Du coup si tu ne fais pas un format pour implémenter une idée géniale, un algo intéressant, ou n'importe quoi d'autre d'innovant, pourquoi le faire ? Quel est ton réel but ? Et surtout dans ce cas, pourquoi recruter une équipe plutôt que de le faire tout seul ?
    C'est à dire que j'ai pensé, que dans ce format d'image, nous aurions la possibilité de créer des animations stockées dans ces fichiers.simg (à la manière d'un PNG)(grâce à un logiciel). Mais en plus de ça, on aura la possibilité de charger directement cette animation dans un tableau de SDL_Surface en SDL (chaque case du tableau étant un clé). Enfin, nous aurons la possibilité de les animés (faire défiler) clé par clé (surface après surface). La vitesse de défilement entre chaque clé pourra être stocker dans ce fichier...

    J'ai pensé aussi à créer une une extension pour la lebrary SDL possédant toutes ces fonctions (chargement d'images...etc).

    De plus, je ne cherche pas proprement dit une team, mais je cherche juste un graphiste pour faire les futures images (boutons, menus..) du logiciel de dessin (lecteur, convertisseur inclue...), car je suis persuadé qu'il fera mieux que moi. Et je cherche aussi qu'un programmeur (ça c'est facultatif) pour créer l'interface graphique de ce logiciel pendant que je travaille sur la compression des donnés et les différentes fonctions de chargement/compression/enregistrement... ça nous permettra d'aller plus vite et ça me permettrait de rester concentrer sur ce domaine car je sais que c'est long de faire une interface complète en SDL =)

  9. #9
    Expert éminent
    Avatar de raptor70
    Inscrit en
    septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : septembre 2005
    Messages : 3 173
    Points : 6 811
    Points
    6 811
    Par défaut
    Citation Envoyé par fulue Voir le message
    la différence entre les trois?
    de quelle compression il s'agit? compression du contenu du fichier ou le fichier lui même?


    Je vais t'expliquer par des exemples :
    - sans compression : RAW / BMP qui sauvegarde pixel par pixel dans le fichier
    - avec compression sans perte : compression du fichier qui restitue l'image à l'identique(comme si tu zippait ton image) ( le GIF est comme ca je crois)
    - avec compression avec perte : JPEG / JPEG2000 (patapé) : compression du fichier qui suppose que l'on pert en qualité de l'image.
    Mes Tutos DirectX, OpenGL, 3D : http://raptor.developpez.com/

  10. #10
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : juillet 2005
    Messages : 9 810
    Points : 20 967
    Points
    20 967
    Par défaut
    Tu ferais mieux dans ce cas de ne pas parler de format d'image, mais d'outil de chargement de toute image pour la SDL. Et tu ferais mieux d'utiliser un format existant et de brancher ta bibliothèque dessus.

  11. #11
    Candidat au Club
    Inscrit en
    avril 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    Je ne vois pas l'intérêt de faire ça. Enregistrer l'image si on ne sait même pas comment elle est codée, ça ne sert... à rien. Et afficher une image, c'est facile avec SDL, on l'affiche et c'est tout puisqu'elle sera stockée décodée.

    Ta chaîne, c'est :
    un fichier compressé -> un objet représentant l'image compressée -> un objet représentant l'image chargée -> afficher l'image.

    Tu essaies de faire le début et la fin, sans savoir ce que tu fais entre. Sérieusement, c'est voué à l'échec. La partie intéressante, c'est la partie compression/décompression (même plus la partie compression, cf ce qui se fait pour le H.264 où la décompression est simple, mais où la compression teste plusieurs solutions), le reste, c'est vraiment accessoire et fait en 3 lignes dans un langage type Ruby/Python/...

    Comment est faite l'image, mouarf !


    J'enregistre les donnés de l'image pixel par pixel(couleur, position) dans le fichier, et pour l'afficher, on colorie les pixels d'une nouvelle surface suivant les donnés dans le fichier grâce à la SDL.
    Ce que j'essayerai d'améliorer serait de compresser ces donnés dans le fichier.

    Donc le format que j'essaye de créer ressemble en tout point au format *.bmp (merci raptor70).

    L'intérêt...l'intérêt...dans es cas le plus critique j'aurai appris quelque chose naa? ^^

    Citation Envoyé par Matthieu Brucher Voir le message
    Tu ferais mieux dans ce cas de ne pas parler de format d'image, mais d'outil de chargement de toute image pour la SDL. Et tu ferais mieux d'utiliser un format existant et de brancher ta bibliothèque dessus.
    quand tu parles d'utiliser un format existant et de brancher ma bibl' dessus, tu peux détailler un peu? =)
    genre je lis le fichier *.bmp(par exemple), et je dessine l'image à partir de ces donnés?

    peut être que format ne convient pas trop, mais je n'arrive pas à trouver autre chose (extension de fichier? ^^')

  12. #12
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : juillet 2005
    Messages : 9 810
    Points : 20 967
    Points
    20 967
    Par défaut
    Citation Envoyé par fulue Voir le message
    L'intérêt...l'intérêt...dans es cas le plus critique j'aurai appris quelque chose naa? ^^
    Avant de se lancer dans un tel projet, on regarde si on est capabe de le mener à bien. Dans ton cas, tu ne sais même pas ce qu'est la compression, la compression avec ou sans perte. Commence par regarder ça si tu veux vraiment faire un format de fichier.

    Le souci, c'est que tu veux faire plusieurs choses. Un format de fichiers avec une ou plusieurs images et un outil pour prendre l'image et en faire des structures pour SDL. Déjà, par essence, on ne fait pas les 2 dans un seul projet. Ce sont deux choses distinctes (qu'est-ce que tu vas faire le jour où qqn voudra utiliser ton format de fichier pour GTK ?), donc deux projets. Et ensuite, tu n'as pas les reins assez solide pour qu'un format que tu écrives soit un tant soit peu intéressant, donc consacres-toi au deuxième, tu perdras moins de temps et tu auras potentiellement plus de succès.

    Citation Envoyé par fulue Voir le message
    quand tu parles d'utiliser un format existant et de brancher ma bibl' dessus, tu peux détailler un peu? =)
    genre je lis le fichier *.bmp(par exemple), et je dessine l'image à partir de ces donnés?

    peut être que format ne convient pas trop, mais je n'arrive pas à trouver autre chose (extension de fichier? ^^')
    Tu prends une bibliothèque de chargement d'images (bmp, bof, on a vu mieux, mais tu peux commencer par ça). Tu crées par-dessus un outil pour créer des structures SDL qui vont bien.
    Par la suite, tu améliores ton design en permettant plusieurs bibliothèques différentes en entrée, et là tu auras qqch d'intéressant pour tous.

    Même un format avec une seule image est intéressant. Plusieurs bibliothèques utilisent des textures différentes basées sur la même image, mais en ne sélectionnant que des morceaux (et certains formats de fichiers ont des méta données qui te permettront de sauvegarder plus que l'image seule).

  13. #13
    Membre éclairé
    Avatar de mamelouk
    Profil pro
    Inscrit en
    mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2005
    Messages : 867
    Points : 810
    Points
    810
    Par défaut
    Citation Envoyé par fulue Voir le message
    Ce nouveau format je l'ai nommé Simple Image: *.simg
    ca me fait penser à moi qui écrit les remerciements avant d'avoir commencer mon rapport. ou comment mettre la charrue avant les boeufs lol

    Débugger du code est deux fois plus dur que d'en écrire.
    Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.

  14. #14
    Candidat au Club
    Inscrit en
    avril 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    Je n'abandonnerai pas pour autant. Je vais poursuivre le développement de mon projet, et on verra ce que ça va donner

    En tout cas merci à tous de m'avoir répondu =)

  15. #15
    Membre régulier Avatar de Caroline76
    Profil pro
    Inscrit en
    avril 2008
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2008
    Messages : 94
    Points : 110
    Points
    110
    Par défaut
    Salut fulue,
    tu veux donc:
    - stocker le contenu de l'image (RGB + alpha surement ?),
    - stocker des données relatives à l'animation.

    Pourquoi, dans un premier temps, ne pas utiliser des formats existants. Par exemple:
    - PNG pour l'image, puisque la couche apha est contenue (je crois),
    - un fichier texte de description, contenant la taille des sprites, les suites de sprites dans l'animation, etc...
    exemple en XML:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <sprite_set name="jnr_sprite">
      <size width="32" height="32"/>
      <animations>
        <animation name="walk" can_mirror="yes">
          <frames>
            <frame id="0" delay="180"/>
            <frame id="1" delay="220"/>
            <frame id="2" delay="180"/>
          </frames>
        </animation>
        <animation name="fire" can_mirror="yes">
          <frames>
            <frame id="0" delay="180"/>
            <frame id="3" delay="180"/>
            <frame id="4" delay="200"/>
            <frame id="5" delay="240"/>
          </frames>
        </animation>
      </animations>
    </sprite_set>
    Après, tu pourras éventuellement utiliser un format pour contenir tout ca.

    Note: les "surfaces SDL", c'est plutôt obsolète, tu devrais t'interesser à d'autres technologies qui utilisent mieux les GPUs modernes.

  16. #16
    Membre éprouvé
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    mars 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement en 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2007
    Messages : 902
    Points : 1 214
    Points
    1 214
    Par défaut
    Je me permet juste quelques infos de mémoire :

    le BMP, PNG sont des format sans perte, le PNG étant compressé.
    le PNG gere la transparence.

    Le GIF, limité à 256 couleur peut etre considéré avec pertes, mais techniquement sa compression ne déteriore pas l'image... (compression LZW ou LZ77 je crois, basé sur la création d'un dictionnaire, bref...)(si votre image de base est déjà codée sur 256 couleurs, il n'y aura pas de dégradation)

    le JPEG compresse avec perte (ce qui est inévitable étant donné l'algo de compression)

    bon courage.
    "le langage C permet de tout faire, y compris se tirer dans le pied. Le langage C++ permet de tout faire, y compris se tirer dans le pied - et réutiliser la balle"

  17. #17
    Expert éminent sénior

    Profil pro
    Développeur informatique
    Inscrit en
    novembre 2006
    Messages
    7 582
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2006
    Messages : 7 582
    Points : 17 836
    Points
    17 836
    Par défaut
    Citation Envoyé par fulue Voir le message
    C'est à dire que j'ai pensé, que dans ce format d'image, nous aurions la possibilité de créer des animations stockées dans ces fichiers.simg (à la manière d'un PNG)(grâce à un logiciel). Mais en plus de ça, on aura la possibilité de charger directement cette animation dans un tableau de SDL_Surface en SDL (chaque case du tableau étant un clé). Enfin, nous aurons la possibilité de les animés (faire défiler) clé par clé (surface après surface). La vitesse de défilement entre chaque clé pourra être stocker dans ce fichier...
    L'idée n'est pas mauvaise en soi mais SDL ce n'est pas universel d'une part ( perso je n'utiliserais jamais SDL sauf pour un portage sous Linux ).
    Et puis tu as la concurrence de ce que fait Flash...d'Adobe/Macromedia.

  18. #18
    Candidat au Club
    Inscrit en
    avril 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : avril 2008
    Messages : 13
    Points : 4
    Points
    4
    Par défaut
    Merci Caroline76 pour tes tuyaux

    Sinon la technologie SDL ce n'est qu'un debut, rien ne m'empêchera de continuer vers d'autres GUIs

    Sinon je stock en effet la couleur de chaque pixel dans le fichier (RGB et Alpha). Demain si tout va bien je vais implémenter quelques algorithmes de stockage.
    Je vous montrerai le résultat bien sur =)

  19. #19
    Expert éminent sénior

    Profil pro
    Développeur informatique
    Inscrit en
    novembre 2006
    Messages
    7 582
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2006
    Messages : 7 582
    Points : 17 836
    Points
    17 836
    Par défaut
    Citation Envoyé par fulue Voir le message
    Sinon la technologie SDL ce n'est qu'un debut, rien ne m'empêchera de continuer vers d'autres GUIs
    Mais non tu n'as pas compris ; il vaut mieux faire quelque chose de générique plutot quelque chose de dépendant d'un autre module logiciel

  20. #20
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : juillet 2005
    Messages : 9 810
    Points : 20 967
    Points
    20 967
    Par défaut
    C'est ce que j'ai tenté d'expliquer au départ, mais c'est passé à la trappe. Si ces "détails" ne sont pas pris en compte dès le début, c'est un projet qui sera mort dans qqs mois.

Discussions similaires

  1. BPG: un nouveau format d'image de qualité supérieure
    Par Michael Guilloux dans le forum Général Conception Web
    Réponses: 38
    Dernier message: 30/12/2014, 12h03
  2. « WebP », un nouveau format d'image conçu pour le Web
    Par Idelways dans le forum Actualités
    Réponses: 34
    Dernier message: 21/11/2011, 14h50
  3. Format d'image .RAW ?
    Par shifty.net dans le forum OpenGL
    Réponses: 3
    Dernier message: 10/06/2004, 16h06
  4. Format d'image et texture directx
    Par Johngame dans le forum DirectX
    Réponses: 1
    Dernier message: 04/02/2004, 22h39
  5. question sur le format des images ..
    Par vbcasimir dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 28/08/2003, 13h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo