La compression illimitée sans perte de donnée
uglyvan
-
nicocorico Messages postés 799 Date d'inscription Statut Membre Dernière intervention -
nicocorico Messages postés 799 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
alors.
prenez deux fichiers de même taille, un de texte et un de données;
compressez-les en passant par winzip;
l'un des deux fichiers sera fortement compressé, alors que l'autre (avec un peu de chance) le sera un peu;
prenons un troisième fichier, de taille plus imposante que le deuxième avant compression mais composé de texte;
ce troisième fichier sera, une fois compressé, de plus petite taille que le deuxième après compression.
voilà ce que nous avons:
- deux fichiers de taille identique avant compression auront des tailles différentes après compression.
- un fichier, de taille plus imposante qu'un autre avant compression, aura une taille inférieure à cet autre fichier une fois compressé.
alors voilà ce que je me suis dit:
le procédé de compression lempel-ziv huffman (ou winzip) doit fonctionner d'une certaine façon... que je ne connais pas mais, en prenant un fichier binaire (donc difficilement compressible) et en l'aérant (c'est-à-dire en ajoutant des octets de manière à favoriser
la compression de la même façon que dans le cas d'un plus gros fichier texte) ça devrait théoriquement être possible de gagner de la place (ne serait-ce que quelques dizaines d'octets sur un fichier d'un Mo), et qui permettrait de recompresser une deuxième fois, voire une millième fois, ce qui conduira à une diminution importante du fichier en fin de compte.
alors.
prenez deux fichiers de même taille, un de texte et un de données;
compressez-les en passant par winzip;
l'un des deux fichiers sera fortement compressé, alors que l'autre (avec un peu de chance) le sera un peu;
prenons un troisième fichier, de taille plus imposante que le deuxième avant compression mais composé de texte;
ce troisième fichier sera, une fois compressé, de plus petite taille que le deuxième après compression.
voilà ce que nous avons:
- deux fichiers de taille identique avant compression auront des tailles différentes après compression.
- un fichier, de taille plus imposante qu'un autre avant compression, aura une taille inférieure à cet autre fichier une fois compressé.
alors voilà ce que je me suis dit:
le procédé de compression lempel-ziv huffman (ou winzip) doit fonctionner d'une certaine façon... que je ne connais pas mais, en prenant un fichier binaire (donc difficilement compressible) et en l'aérant (c'est-à-dire en ajoutant des octets de manière à favoriser
la compression de la même façon que dans le cas d'un plus gros fichier texte) ça devrait théoriquement être possible de gagner de la place (ne serait-ce que quelques dizaines d'octets sur un fichier d'un Mo), et qui permettrait de recompresser une deuxième fois, voire une millième fois, ce qui conduira à une diminution importante du fichier en fin de compte.
A voir également:
- La compression illimitée sans perte de donnée
- Reinstaller windows sans perte de données - Guide
- Meilleur logiciel de compression gratuit - Guide
- Compression pdf - Guide
- Agrandir une image sans perte de qualité - Guide
- Supprimer les données de navigation - Guide
4 réponses
Non non ça ne marcheras pas car l'algorithme donne un résultat médiocre si tu l'applique sur des données déjà compressées, car elles deviennent trop compliquées notamment du fait d'être en codage à bits variable -ce qui fait que les valeurs ne sont plus alignées sur un octet- et aussi qu'elles regroupent déjà des chaines de valeurs contigües...Une seconde passe pourrait éventuellement améliorer la compression, mais uniquement si l'algorithme a "de la chance", tout comme il peut augmenter la taille finale, en première passe aussi d'ailleurs...
Si tu veux creuser le sujet, intéresse-toi à l'algorithme LZW, relativement simple d'approche.
Si tu veux creuser le sujet, intéresse-toi à l'algorithme LZW, relativement simple d'approche.
Bonjour,
Tu dis :
le procédé de compression lempel-ziv huffman (ou winzip) doit fonctionner d'une certaine façon que je ne connais pas
Et puis :
ça devrait théoriquement être possible
Comment peux-tu parler de ce qui est théoriquement possible après avoir dit que tu ne savais pas comment ça marchait ?
Ton raisonnement sous-entend que tu es un génie entouré d'idiots qui n'ont pas encore compris qu'on pouvait compresser un fichier beaucoup plus que ce qui se fait actuellement - même sans limite d'après le titre de ton sujet (jusqu'à un fichier de zéro bit ?)
Etudie d'abord la théorie, puis reviens en parler.
Tu dis :
le procédé de compression lempel-ziv huffman (ou winzip) doit fonctionner d'une certaine façon que je ne connais pas
Et puis :
ça devrait théoriquement être possible
Comment peux-tu parler de ce qui est théoriquement possible après avoir dit que tu ne savais pas comment ça marchait ?
Ton raisonnement sous-entend que tu es un génie entouré d'idiots qui n'ont pas encore compris qu'on pouvait compresser un fichier beaucoup plus que ce qui se fait actuellement - même sans limite d'après le titre de ton sujet (jusqu'à un fichier de zéro bit ?)
Etudie d'abord la théorie, puis reviens en parler.
Bien sûr. Mais sois sincère : penses-tu que nous soyons devant un cas de pensée d'une profondeur particulière, ou devant un cas d'ignorance ordinaire ?
Je suis fatigué de dépenser de l'énergie à démonter rigoureusement les idée fumeuses exprimées avec un vocabulaire des plus approximatifs par des doux rêveurs qui ont cru avoir compris quelque chose de profond alors qu'ils n'ont qu'effleuré la surface d'une théorie.
Je suis fatigué de dépenser de l'énergie à démonter rigoureusement les idée fumeuses exprimées avec un vocabulaire des plus approximatifs par des doux rêveurs qui ont cru avoir compris quelque chose de profond alors qu'ils n'ont qu'effleuré la surface d'une théorie.
Dans le doute, je préfère tenir un propos encourageant, et je ne suis pas encore « fatigué de dépenser de l'énergie à démonter rigoureusement les idée fumeuses exprimées avec un vocabulaire des plus approximatifs par des doux rêveurs qui ont cru avoir compris quelque chose de profond alors qu'ils n'ont qu'effleuré la surface d'une théorie.» !
Ça viendra en temps opportun, sans empressement !
Ça viendra en temps opportun, sans empressement !
Tu oublies de distinguer l'information et la manière de la représenter.
Peu importe comment tu compresses tes données, un film aura toujours une quantité d'information supérieure à une image. Donc même si tu compresses très bien tes données, lorsque l'on est sans perte, tu vas nécessairement converger vers une taille limite (purement théorique) qui correspond à la meilleure manière de représenter l'information pour limiter la taille. Mais en aucun cas tu n'auras de compression illimitée, qui sous-entendrait que l'on puisse converger vers une taille de 0 octets et qui pourrait engendrer n'importe quelle information... ce qui est évidement impossible.
Peu importe comment tu compresses tes données, un film aura toujours une quantité d'information supérieure à une image. Donc même si tu compresses très bien tes données, lorsque l'on est sans perte, tu vas nécessairement converger vers une taille limite (purement théorique) qui correspond à la meilleure manière de représenter l'information pour limiter la taille. Mais en aucun cas tu n'auras de compression illimitée, qui sous-entendrait que l'on puisse converger vers une taille de 0 octets et qui pourrait engendrer n'importe quelle information... ce qui est évidement impossible.
Salut
Je doute fortement que ça puisse fonctionner comme ça.
Mais si tu veut une compression plus efficace, essaye 7zip.
https://sebsauvage.net/rhaa/index.php?2010/06/23/18/07/54-la-superiorite-du-format-7z-7-zip
Je doute fortement que ça puisse fonctionner comme ça.
Mais si tu veut une compression plus efficace, essaye 7zip.
https://sebsauvage.net/rhaa/index.php?2010/06/23/18/07/54-la-superiorite-du-format-7z-7-zip
mais ces méta-données seront inclues dans le fichier lors de la compression suivante...
éclaire-moi encore un peu et je vais peut-être comprendre l'origine de mon erreur :)
(parce que c'est un peu gros, que personne n'ait pensé à ce que je décris )
Il reste malgré tout de la redondance potentielle, ce qui dans certains cas autorisera une autre passe légèrement améliorative, mais ça s'arrêtera là!
selon moi, il faudrait AVANT d'appliquer un algorithme de compression utiliser un algorithme d'étirement, qui ajouterait de manière intelligente des octets à l'intérieur du fichier source de manière à le faire gonfler MAIS ce qui permettrait un meilleur taux de compression en sortie.
ce taux de compression en sortie n'a pas besoin d'être important puisque au fichier une fois compressé on pourrait encore facilement étirer le nouveau fichier...