diff --git a/rapport/img-pres/asterix-base.png b/rapport/img-pres/asterix-base.png new file mode 100644 index 0000000..8577cd6 Binary files /dev/null and b/rapport/img-pres/asterix-base.png differ diff --git a/rapport/img-pres/asterix1.png b/rapport/img-pres/asterix1.png new file mode 100644 index 0000000..8577cd6 Binary files /dev/null and b/rapport/img-pres/asterix1.png differ diff --git a/rapport/img-pres/asterix10.png b/rapport/img-pres/asterix10.png new file mode 100644 index 0000000..3668d4d Binary files /dev/null and b/rapport/img-pres/asterix10.png differ diff --git a/rapport/img-pres/asterix11.png b/rapport/img-pres/asterix11.png new file mode 100644 index 0000000..925e0e8 Binary files /dev/null and b/rapport/img-pres/asterix11.png differ diff --git a/rapport/img-pres/asterix12.png b/rapport/img-pres/asterix12.png new file mode 100644 index 0000000..a0b0f62 Binary files /dev/null and b/rapport/img-pres/asterix12.png differ diff --git a/rapport/img-pres/asterix13.png b/rapport/img-pres/asterix13.png new file mode 100644 index 0000000..ef22d30 Binary files /dev/null and b/rapport/img-pres/asterix13.png differ diff --git a/rapport/img-pres/asterix14.png b/rapport/img-pres/asterix14.png new file mode 100644 index 0000000..c62e71d Binary files /dev/null and b/rapport/img-pres/asterix14.png differ diff --git a/rapport/img-pres/asterix15.png b/rapport/img-pres/asterix15.png new file mode 100644 index 0000000..a222cf1 Binary files /dev/null and b/rapport/img-pres/asterix15.png differ diff --git a/rapport/img-pres/asterix16.png b/rapport/img-pres/asterix16.png new file mode 100644 index 0000000..70d135e Binary files /dev/null and b/rapport/img-pres/asterix16.png differ diff --git a/rapport/img-pres/asterix17.png b/rapport/img-pres/asterix17.png new file mode 100644 index 0000000..91582aa Binary files /dev/null and b/rapport/img-pres/asterix17.png differ diff --git a/rapport/img-pres/asterix2.png b/rapport/img-pres/asterix2.png new file mode 100644 index 0000000..e149377 Binary files /dev/null and b/rapport/img-pres/asterix2.png differ diff --git a/rapport/img-pres/asterix3.png b/rapport/img-pres/asterix3.png new file mode 100644 index 0000000..1cab289 Binary files /dev/null and b/rapport/img-pres/asterix3.png differ diff --git a/rapport/img-pres/asterix4.png b/rapport/img-pres/asterix4.png new file mode 100644 index 0000000..25f9b07 Binary files /dev/null and b/rapport/img-pres/asterix4.png differ diff --git a/rapport/img-pres/asterix5.png b/rapport/img-pres/asterix5.png new file mode 100644 index 0000000..3e6a0e0 Binary files /dev/null and b/rapport/img-pres/asterix5.png differ diff --git a/rapport/img-pres/asterix6.png b/rapport/img-pres/asterix6.png new file mode 100644 index 0000000..d2c92f0 Binary files /dev/null and b/rapport/img-pres/asterix6.png differ diff --git a/rapport/img-pres/asterix7.png b/rapport/img-pres/asterix7.png new file mode 100644 index 0000000..9ae09f5 Binary files /dev/null and b/rapport/img-pres/asterix7.png differ diff --git a/rapport/img-pres/asterix8.png b/rapport/img-pres/asterix8.png new file mode 100644 index 0000000..72cc167 Binary files /dev/null and b/rapport/img-pres/asterix8.png differ diff --git a/rapport/img-pres/asterix9.png b/rapport/img-pres/asterix9.png new file mode 100644 index 0000000..62ed686 Binary files /dev/null and b/rapport/img-pres/asterix9.png differ diff --git a/rapport/presentation.html b/rapport/presentation.html new file mode 100644 index 0000000..9f6c611 --- /dev/null +++ b/rapport/presentation.html @@ -0,0 +1,355 @@ + + + + + + + + + Compression d’images par surfaces unies + + + + + + +
+

Compression d’images par surfaces unies

+

+Lucien Cartier-Tilet +

+
+
+

Introduction

+ +
+
+

Méthode et algorithme

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Méthode et algorithme

+

+
+
+

Implémentation et résultats

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
header
sizeXuint64_t
sizeYuint64_t
nb zonesuint64_t
zones[nb zones]
Ruint8_t
Guint8_t
Buint8_t
nb segmentsuint64_t
segment[nb segments]
left limituint32_t
right limituint32_t
+
+
+

Implémentation et résultats

+ + + + + + + + + + + + + + + + + + + +
taille du fichier d’origine3582016 bytes
taille du fichier compressé2403581 bytes
taux de compression~33%
vitesse d’exécution7.06 sec
+

Tests réalisés sur un CPU Intel i7-6700HQ (3.500GHz)

+
+
+

Améliorations

+
+
Algorithme
+
ignorer les tests de pixels supérieurs et inférieurs à un segment +
+
Sortir du concept d’image
+
ignorer le concept de lignes et colonnes +
+
Compression à pertes
+
Authoriser la perte de qualité pour un gain de place +
+
+
+
+

Améliorations

+
+
Algorithme
+
perte de vitesse +
+
Sortir du concept d’image
+
gains négligeables (12KB sur 2.4MB) +
+
+
+
+

Améliorations

+
+
Compression à pertes
+
+
+
+

+
+
+

Conclusion

+
+
+

Liens et références

+
+
Dépôt du code
+
https://labs.phundrak.fr/phundrak/surfaces-unies +
+
Rapport de projet
+
https://phundrak.fr/surfaces-unies/rapport.pdf +
+
Documentation du code
+
https://phundrak.fr/surfaces-unies/ +
+
+
+ + diff --git a/rapport/presentation.org b/rapport/presentation.org new file mode 100644 index 0000000..937f9ce --- /dev/null +++ b/rapport/presentation.org @@ -0,0 +1,125 @@ +#+TITLE: Compression d’images par surfaces unies +#+AUTHOR: Lucien Cartier-Tilet +#+EMAIL: phundrak@phundrak.fr +#+CREATOR: Lucien Cartier-Tilet +#+LANGUAGE: fr +* Introduction +- Compresser et décompresser des images +- Méthode : surfaces de couleurs unies +* Méthode et algorithme +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix1.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix2.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix3.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix1.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix4.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix1.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix5.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix1.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix6.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix7.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix8.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix9.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix10.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix11.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix12.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix13.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix14.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix15.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix16.png]] +* Méthode et algorithme +#+attr_html: :height 750px +[[./img-pres/asterix17.png]] +* Implémentation et résultats +| header | | | | +| | sizeX | | src_c{uint64_t} | +| | sizeY | | src_c{uint64_t} | +| | | | | +| nb zones | | | src_c{uint64_t} | +| | | | | +| zones[nb zones] | | | | +| | R | | src_c{uint8_t} | +| | G | | src_c{uint8_t} | +| | B | | src_c{uint8_t} | +| | nb segments | | src_c{uint64_t} | +| | | | | +| | segment[nb segments] | | | +| | | left limit | src_c{uint32_t} | +| | | right limit | src_c{uint32_t} | +* Implémentation et résultats +| taille du fichier d’origine | 3582016 bytes | +| taille du fichier compressé | 2403581 bytes | +| taux de compression | ~33% | +| vitesse d’exécution | 7.06 sec | +Tests réalisés sur un CPU Intel i7-6700HQ (3.500GHz) +* Améliorations +- Algorithme :: ignorer les tests de pixels supérieurs et inférieurs à un segment +- Sortir du concept d’image :: ignorer le concept de lignes et colonnes +- Compression à pertes :: Authoriser la perte de qualité pour un gain de place +* Améliorations +- Algorithme :: perte de vitesse +- Sortir du concept d’image :: gains négligeables (12KB sur 2.4MB) +* Améliorations +- Compression à pertes :: +#+attr_html: :height 750px +[[../img/asterix5p.png]] +* Améliorations +- Compression à pertes :: +| tolérance | vitesse d’exécution | taille de l’image compressée | +|-----------+---------------------+------------------------------| +| 0 | 7.37s | 2.3Mo | +| 5 | 0.85s | 2.0Mo | +| 10 | 0.82s | 2.0Mo | +| 15 | 0.86s | 2.0Mo | +| 20 | 0.84s | 1.9Mo | +| 25 | 0.85s | 1.9Mo | +| 30 | 0.92s | 1.8Mo | +| 40 | 1.18s | 2.1Mo | +| 50 | 0.90s | 1.5Mo | +| 60 | 1.41s | 1.9Mo | +| 70 | 1.34s | 1.8Mo | +| 80 | 1.40s | 1.9Mo | +| 90 | 1.42s | 1.9Mo | +| 100 | 0.17s | 12Ko | +* Conclusion +* Liens et références +- Dépôt du code :: [[https://labs.phundrak.fr/phundrak/surfaces-unies]] +- Rapport de projet :: [[https://phundrak.fr/surfaces-unies/rapport.pdf]] +- Documentation du code :: [[https://phundrak.fr/surfaces-unies/]]