La compression fractale par la méthode de Delaunay possède deux particularités. D'une part la segmentation des figures destinations est générée par un triangulation de Delaunay, et d'autre part, un processus de Division et Fusion (Split and Merge) a été ajouté. La compression par subdivision de triangle elle ne possèdait que le processus de division, la fusion n'était pas concevable avec un pavage régulier de triangle. Mais avec une triangulation de Delaunay dynamique, la fusion est possible.
En somme, seule la partition Destination est modifiée. Le processus de compression - décompression reste identique à celui évoqué dans la première partie du document, en considérant des figures triangulaires.
Mais revenons à la partition des figures destinations. Voici les étapes de la création de ce pavage :
- la génération de la partition
- le processus de Division :
- le processus de Fusion :
Comme pour la compression par subdivision de triangles, nous devons aussi stocker les informations sur le partitionnement de Destination. Mais au lieu de stocker des booléens représentant la division d'un triangle, la compression de Delaunay impose de préciser les différentes coordonnées des germes du diagramme de Voronoï. Ainsi, la triangulation de Delaunay pourra être recréée à partir de ces germes.
Remarque : Le nombre de Division doit être surveillé, car il s'agit d'un algorithme presque récursif, et le nombre de germes de Voronoï augmente très rapidement ! Apres 2000 points, l'algorithme de Triangulation de Delaunay que nous avons utilisés devient assez long.
Pour illustrer cette divergence, voici un exemple du partitionnement effectué sur lena.jpg, avec 50 germes initialement déposés, 2 divisions et une fusion.
Debut | Split1 | Split2 | Merge Nombre de points |
Ce que nous pouvons dire sur la figure de droite est que les zones homogènes sont composées de triangles assez grands (notamment au dessus du chapeau de lena, et à droite de l'image). Les détails sont quant à eux localisés par de plus petits triangles (les cheveux de lena). C'est justement cette propriété que nous cherchions, l'algorithme de Divide and Merge sur une triangulation de Delaunay est donc validé.
Cependant, nous observons aussi que le pavage des triangles de Delaunay ne recouvre pas l'image entièrement ! Nous observerons les conséquences de ce non recouvrement dans la partie Test et résultats.
julien michot 2006-08-13