La meilleure technique de compression des données binaires?

J'ai un gros fichier binaire qui représente le canal alpha pour chaque pixel dans une image - 0 transparent, 1 pour autre chose. Ce binaire de données doit être chargé dynamiquement à partir d'un fichier texte, et il serait utile d'obtenir le maximum possible de compression. De-temps de compression ne sont pas majorly important (à moins que nous parlons d'un saut de dire d'une minute à une heure), mais les fichiers doivent être aussi petites que possible.

Méthodes que nous avons essayé jusqu'à présent sont en utilisant le run length encoding, puis un codage de huffman, puis en convertissant les données binaires en base64, et de longueur de course de l'encodage, mais la différenciation entre zéro et un à l'aide de valeurs numériques pour l'un et alphabétique des équivalents de trésorerie pour zéro (semble donner les meilleurs résultats). Cependant, nous nous demandons si il y a une meilleure solution que l'autre de ces que nous approchons d'un point de vue logique, plutôt que de regarder toutes les méthodes possibles.

Pourquoi ne pouvez-vous pas simplement utiliser une image populaire format de compression intégré, tels que png, plutôt que d'inventer votre propre?
Asaph +1. Aussi technique de compression qui est "meilleur" dépend beaucoup du type de données avez-vous: imaginez-1 bits des images obtenues par le nivellement d'une photo et d'une capture d'écran.
Ce que @Asaph dit. Il sont parfaitement optimisés et des recherches sur l'image les formats de compression avec l'homme depuis des décennies ou des siècles de travail en eux pour tout type d'image (à savoir JPG pour les photos, et PNG). Ne pas ré-inventer la roue
Le système de décodage de données (Monde fo Warcraft) ne peut pas utiliser les images conventionnelles, nous pourrions utiliser le construit en format de fichier pour les images, mais il n'y a pas de fonctions intégré dans le système de traitement de l'image, et nous avons besoin de faire de la détection de collision sur l'image, de sorte que le binaire de la grille est nécessaire.
Si vous ne pouvez pas utiliser les formats traditionnels, qu'en est juste d'essayer de compresser les données pour voir ce que les économies que vous pouvez obtenir auprès de qui? Je dois admettre que je n'ai jamais développé de quoi que ce soit pour WoW, donc suis pas familier avec ses limites. Un peu de binging mis en place un projet pour VisualStudio qui vous permet de faire des addons WoW (addonstudio.codeplex.com), vous pouvez tirer sur eux un message et demander si ils connaissent des bonnes façons d'améliorer la compression de fichiers pour le jeu.

OriginalL'auteur Jim | 2010-12-04