Tramage (informatique) - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Exemple

Réduire la profondeur de couleur d'une image peut souvent avoir d'important effets secondaires. Si l'original est une photographie, elle a probablement des milliers ou même des millions de couleurs distinctes. Le processus de réduire les couleurs disponibles à une palette couleurs effectivement fait perdre une certaine quantité d'informations les concernant.

Plusieurs facteurs peuvent affecter la qualité d'une image dont le nombre de couleurs a été réduit. Peut-être le plus important est la palette couleurs qui sera utilisée pour une image réduite. Par exemple, une image originale (Figure 1) peut-être réduite aux 216 couleurs de la palette Web-safe. Si les couleurs des pixels originaux sont simplement traduits par les couleurs disponibles les plus proches dans la palette, aucun tramage n'est effectué (figure 2). Typiquement, cette approche se traduit dans des zones planes (sans profondeur de couleurs) par une perte de détails, pouvant produire des taches dont les couleurs sont différentes de l'image originale. Les zones ombragées ou de dégradé peuvent apparaître sous la forme de bandes de couleur, pouvant être dérangeante. L'utilisation du tramage peut contribuer à minimiser ces artéfacts visuels, et se traduit généralement par un résultat de meilleur qualité (figure3). Il permet permet de réduire les bandes de couleur et le manque de profondeur.

Un des problèmes lié à l'utilisation d'une palette couleurs fixe est que beaucoup de couleurs nécessaires peuvent ne pas être disponibles, et beaucoup d'autres présentes peuvent ne pas servir ; par exemple, une palette couleurs fixe contenant principalement des nuances de vert ne serait pas adaptée à une image ne contenant pas ces nuances. L'utilisation d'une palette couleurs optimisée peut être bénéfique dans de tels cas. Une palette couleurs est dite optimisée quand les couleurs à disposition sont choisies sur la base de leur fréquence d'utilisation dans l'image originale servant de source. Si la réduction de l'image est réalisée sur la base d'une palette optimisée, le résultat est souvent bien plus proche de l'original (Figure 4).

Le nombre de couleurs disponibles dans la palette est aussi un facteur contributif. Si, par exemple, la palette est limitée à seulement 16 couleurs, l'image traitée peut perdre des détails, et avoir des problèmes encore plus visibles liés à leur manque de profondeur et de graduation - cf. (en) color banding - (Figure 5). Une fois de plus, le tramage peut aider à réduire de tels artefacts (Figure 6).

Algorithmes

Plusieurs algorithmes permettent de réaliser le tramage. Le plus connu et un des tout premiers, developpé en 1975, est l'algorithme de Floyd-Steinberg qui utilise une diffusion de l'erreur d'un pixel à ses voisins via une matrice. Un des atouts de cet algorithme est qu'il minimise les artefacts visuels grâce à un processus d'erreur diffusion ; les algorithmes d'erreur diffusion (du type Halftoning) produisent des images plus proches de l'original que des algorithmes plus simples de tramage.

Les méthodes de tramage comprennent :

  • Thresholding (également appelé tramage moyen : chaque valeur de couleur de pixel est comparé à un seuil fixé. Il s'agit peut-être du plus simple algorithme de tramage existant, mais il est la cause d'une grande perte de détails et de contours.
  • Le tramage aléatoire était le premier essai (du moins dès 1951) à remédier aux inconvénients du thresholding. Chaque valeur des pixels est comparée à un seuil aléatoire d'une image fixe. Bien que cette méthode ne génère pas d'artéfacts répétitifs, le bruit tend à déborder sur les détails de l'image. La méthode est analogue à la manière noire utilisée dans la gravure.
  • Le tramage par modèle utilisant un modèle fixé. Pour chaque pixel dans l'image la valeur du "modèle" à la position correspondante est utilisée comme seuil. Différents modèles peuvent créer des effets de tramage complètement différents.
    • Le tramage Halftone ressemble à l'impression halftone des journaux. Il s'agit d'une forme de tramage par cluster, dans lesquels les points tend à être regroupés. Cela permet de masquer les effets secondaires de pixels flous affichés sur d'ancien périphériques d'affichage.
    • Le tramage ordonné ou Bayer génère un motif de hachures. Il s'agit d'une forme de tramage dispersé. Parce que les points ne sont pas regroupés en clusters, le résultat obtenu est beaucoup moins granuleux.
(Original) Threshold Aléatoire Halftone Bayer (ordonné)
Michelangelo's David - 63 grijswaarden.png Michelangelo's David - drempel.png Michelangelo's David - ruis.png Michelangelo's David - halftoon.png Michelangelo's David - Bayer.png
  • Le tramage par erreur-diffusion diffuse les erreurs de quantification au pixels voisins.
    • Le tramage Floyd-Steinberg diffuse l'erreur uniquement aux pixels voisins. Il en résulte un tramage très fin.
    • Le tramage jarvis, Judice, and Ninke diffuse les erreurs aux pixels un peu plus éloignés. Ce tramage est plus grossier, mais génère moins d'artefacts visuels. Il est plus lent que le précédent parce qu'il distribue les erreurs jusqu'aux douzième pixels au lieu du quatrième pour le Floyd-Steinberg.
    • Le tramage Stucki est basé sur le précédent, mais est un peu plus rapide. Son résultat tend à être propre et précis.
    • Le tramage Burkes est une forme simplifiée du tramage Stuki qui est plus rapide mais moins propre.
    • Scolorq est un algorithme expérimental de quantification de couleur spatiale qui combine la quantification de couleur et le tramage pour produire une image optimale. A cause de sa nature, l'image d'exemple ci-dessous n'est pas strictement en noir et blanc, mais à deux tons de gris.
Floyd–Steinberg Jarvis, Judice & Ninke Stucki Burkes Scolorq
Michelangelo's David - Floyd-Steinberg.png Michelangelo's David - Jarvis, Judice & Ninke.png Michelangelo's David - Stucki.png Michelangelo's David - Burkes.png Fichier:Michelangelo's David - Scolorq.png
  • Tramage par erreur-diffusion (suite) :
    • Le tramage Sierra est basé sur celui de Jarvis, il est plus rapide tout en rendant des résultats similaires.
    • Le tramage Two-row Sierra est une variante du précédent par son auteur pour améliorer sa rapidité.
    • Le Filtre Lite est un algorithme créé par Sierra qui est plus simple et plus rapide que le Floyd-Steinberg, bien que donnant des résultats similaires.
    • Le tramage Atkinson ressemble au tramage Jarvis et Sierra mais est plus rapide. Une autre différence est qu'il ne diffuse pas intégralement l'erreur de quantification, mais seulement les trois-quarts. Il tend à bien préserver les détails, mais les zones très claires ou très sombres peuvent apparaître comme "soufflé".
    • Le tramage Hilbert-Peano est une variante du tramage Riemersma et est utilisé par Imagemagick.
Sierra Two-row Sierra Filter Lite Atkinson Hilbert-Peano
Michelangelo's David - Sierra.png Michelangelo's David - tweerijig Sierra.png Michelangelo's David - Sierra's Filter Lite.png Michelangelo's David - Atkinson.png Fichier:Michelangelo's David - Hilbert-Peano.png

.

Page générée en 0.129 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise