MISE A JOUR

This commit is contained in:
2026-01-11 14:45:24 +01:00
parent b269b4ce82
commit 06efaa8857
-55
View File
@@ -20,7 +20,6 @@ Ce travail doit être réalisé en binôme ou trinôme.
## Deadline ## Deadline
**Date limite de rendu : dimanche 11 janvier 2025 à 23h59.** **Date limite de rendu : dimanche 11 janvier 2025 à 23h59.**
Toutes les sources doivent être présentes sur le serveur Gitea du département dans un dépôt privé nommé **SAE32_2025**.
--- ---
@@ -72,60 +71,6 @@ Un fichier `.pif` contient trois sections :
Les trois composantes (R, G, B) sont encodées via leurs codes canoniques respectifs. Les trois composantes (R, G, B) sont encodées via leurs codes canoniques respectifs.
Les bits sont packés de manière contiguë. Les bits sont packés de manière contiguë.
---
## Processus de compression
### 1. Création des tables de fréquences
Pour R, G et B : compter combien de fois chaque valeur apparaît dans limage.
### 2. Construction des codes Huffman
- Un arbre est construit par composante.
- Les valeurs les plus fréquentes reçoivent les codes les plus courts.
- Les codes initiaux peuvent varier en longueur.
### 3. Génération des codes canoniques
- Tri des valeurs par longueur de code puis par valeur.
- Premier code : rempli de zéros.
- Les suivants sont obtenus par incrément binaire.
- Permet une reconstruction simple côté visualisateur.
---
## Architecture logicielle
Le projet doit inclure :
- un package Java unique,
- toutes les classes nécessaires au traitement :
- gestion du fichier PIF,
- lecture/écriture binaire,
- génération des fréquences,
- Huffman,
- codes canoniques,
- interface graphique,
- programme principal du visualisateur,
- programme principal du convertisseur.
- un `Makefile` générant deux exécutables `.jar`.
---
## Classes Java
Les classes Java utilisées dans le projet :
- [BitinputStream](src/fr/iutfbleau/sae/util/BitinputStream.java)
- [BitOutputStream](src/fr/iutfbleau/sae/util/BitOutputStream.java)
- [ByteUtils](src/fr/iutfbleau/sae/util/ByteUtils.java)
- [CanonicalCode](src/fr/iutfbleau/sae/mhuffman/CanonicalCode.java)
- [FrequencyTable](src/fr/iutfbleau/sae/mhuffman/FrequencyTable.java)
- [HuffmanNode](src/fr/iutfbleau/sae/mhuffman/HuffmanNode.java)
- [HuffmanTree](src/fr/iutfbleau/sae/mhuffman/HuffmanTree.java)
---
## Rapport à produire ## Rapport à produire