Vous souvenez-vous du panneau de signalisation (voie sans issue) que vous avez « décodé » dans une des activités du premier chapitre ? Revoici la grille qui peut être lue comme une longue suite de 225 chiffres (des 3, des 6 et des 9).
3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
3 | 3 | 3 | 3 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 3 | 3 | 3 | 3 |
3 | 3 | 3 | 3 | 9 | 6 | 6 | 6 | 6 | 6 | 9 | 3 | 3 | 3 | 3 |
3 | 3 | 3 | 3 | 9 | 6 | 6 | 6 | 6 | 6 | 9 | 3 | 3 | 3 | 3 |
3 | 3 | 3 | 3 | 9 | 6 | 6 | 6 | 6 | 6 | 9 | 3 | 3 | 3 | 3 |
3 | 3 | 3 | 3 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 3 | 3 | 3 | 3 |
3 | 3 | 3 | 3 | 3 | 3 | 9 | 9 | 9 | 3 | 3 | 3 | 3 | 3 | 3 |
3 | 3 | 3 | 3 | 3 | 3 | 9 | 9 | 9 | 3 | 3 | 3 | 3 | 3 | 3 |
3 | 3 | 3 | 3 | 3 | 3 | 9 | 9 | 9 | 3 | 3 | 3 | 3 | 3 | 3 |
3 | 3 | 3 | 3 | 3 | 3 | 9 | 9 | 9 | 3 | 3 | 3 | 3 | 3 | 3 |
3 | 3 | 3 | 3 | 3 | 3 | 9 | 9 | 9 | 3 | 3 | 3 | 3 | 3 | 3 |
3 | 3 | 3 | 3 | 3 | 3 | 9 | 9 | 9 | 3 | 3 | 3 | 3 | 3 | 3 |
3 | 3 | 3 | 3 | 3 | 3 | 9 | 9 | 9 | 3 | 3 | 3 | 3 | 3 | 3 |
3 | 3 | 3 | 3 | 3 | 3 | 9 | 9 | 9 | 3 | 3 | 3 | 3 | 3 | 3 |
3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
Pouvez-vous imaginer une manière de coder l'image qui soit plus courte, autrement dit qui utilise moins de 225 chiffres comme ci-dessus ? Quelles en seraient les conventions pour pouvoir à nouveau redévelopper la séquence initiale ?
Une solution pourrait consister à donner une valeur (un chiffre) et le nombre de pixels consécutifs auxquels elle s'applique (deux chiffres), puis la valeur suivante, et ainsi de suite. Dans ce cas précis, cela donnerait
319907308901...903312903321
Bien entendu, ce système ne fonctionne que s'il n'y a pas plus de 99 pixels consécutifs ayant la même couleur. Sinon, il faut passer à trois chiffres ou plus.
Avez-vous le courage de coder la suite entière jusqu'au bout en utilisant cette technique ? Si oui, quelle est la longueur de la nouvelle suite obtenue ? Et quel est le taux de compression ?
Voici la suite complète. Elle compte 99 chiffres décimaux.
319907308901605901308901605901308
901605901308907310903312903312903
312903312903312903312903312903321
Le rapport est de 99/225 = 0,44 et donc, le taux de compression est de 56%.
Observons certaines choses. Par exemple, dans cette nouvelle suite, des séquences se répètent encore comme 312903.
Autre constat, la séquence 901 était représentée par le seul chiffre 9 dans la version non compressée.
Analysons un peu cet exemple.