MISE A JOUR
This commit is contained in:
@@ -20,7 +20,6 @@ Ce travail doit être réalisé en binôme ou trinôme.
|
||||
## Deadline
|
||||
|
||||
**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 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 l’image.
|
||||
|
||||
### 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user