• Aucun résultat trouvé

Images et Multimédia

N/A
N/A
Protected

Academic year: 2022

Partager "Images et Multimédia"

Copied!
79
0
0

Texte intégral

(1)

Images et Multimédia

Les formats d’images

Raster : PNM, BMP, GIF JPEG (2h)

Vectoriel : SVG (2h)

NPR

animation

vidéos

Son

SMIL (Synchronized Multimedia Integration

Language ) (2h)

(2)

Images numériques

Les différents formats

(3)

Webliographie

www.commentcamarche.net

WikiPédia

(4)

Plan

Les couleurs

Les formats Bitmaps / rasters

Les compressions

(5)

Définition

Image =

représentation réelle ou symbolique en 2 dimensions, d’objets, personnages,

abstraction,…

= ensemble de « formes » 2D en couleur (ou niveau de gris)

Image numérique =

traduite sous forme numérique

= ensemble de nombres représentant

l’image

(6)

Numérisation

Deux choses à coder :

Les formes

Les couleurs

(7)

Rappel : Codages des couleurs

L'ensemble des longueurs d'ondes visibles par l'oeil humain est appelé « spectre visible »

il est compris entre 380 et 780 nanomètres.

(8)

Un peu d’anatomie

La rétine de l’œil est composée, pour sa

partie de centrale, de « cônes » sensibles à différentes longueurs d’ondes

Il existe 3 sortes de cônes

une sorte pour le rouge (570 nm), appelés erythrolabes

une sorte pour le vert (535 nm), appelés chlorolabes

une sorte pour le bleu (445 nm), appelés

cyanolabes

(9)

Sensibilité de l’œil aux trois couleurs

primaires

(10)

Couleurs et mélanges : La synthèse additive

La synthèse additive est le fruit de l'ajout de composantes de la lumière.

Les composantes de la lumière sont directement ajoutée à l'émission,

c'est le cas pour les moniteurs ou les télévisions.

Rouge+vert+bleu = blanc.

L'absence de composante = noir.

Les couleurs secondaires = couleurs obtenues par composition 2 à 2 des couleurs primaires

vert + bleu = cyan

bleu + rouge = magenta

vert + rouge = jaune

(11)

Couleurs et mélanges : La synthèse soustractive

La synthèse soustractive permet de restituer une couleur par soustraction de couleurs à une source de lumière blanche

C’est la cas de la peinture : appliquer une couleur = filtrer la lumiere suivant cette couleur,

Les filtres correspondant aux couleurs complémentaires : jaune, magenta, et cyan.

L'ajout de ces trois couleurs donne du noir = filtre total

leur absence produit du blanc = aucun filtre

Ce procédé est utilisé en photographie et pour l'impression des couleurs.

Les couleurs secondaires sont le bleu, le rouge et le vert car :

Magenta + cyan = bleu

Magenta + jaune (couleur primaire) donne du rouge

cyan + jaune = vert

(12)

Modèle de couleurs Le codage RGB

Le codage RGB (Red Green Blue)

Mis au point en 1931 par la Commission Internationale de l'Eclairage (CIE)

Il consiste à représenter l'espace des couleurs à partir de trois rayonnements monochromatiques de couleurs :

rouge (de longueur d'onde égale à 700,0 nm),

vert (de longueur d'onde égale à 546,1 nm),

bleu (de longueur d'onde égale à 435,8 nm).

(13)

Le codage RGB

Remarque

Cet espace de couleur correspond à la manière dont les tubes cathodiques des écrans d'ordinateurs représentent les couleurs.

Ceci correspond à une synthèse additive des couleurs

•Le vert combiné au bleu donne du cyan

•Le bleu combiné au rouge donne du magenta

•Le vert combiné au rouge donne du jaune

(14)

Le codage RGB

Chaque composante de couleur est codée sur un octet

=> 2

8

= 256 nuances pour chaque composante

soient 16 777 216 possibilités théoriques de couleurs différentes.

le codage RGB est généralement

représenté graphiquement par un cube

dont chacun des axes correspond à une

couleur primaire :

(15)

Le codage CMY

Le codage CMY (Cyan, Magenta, Yellow)

Correspond à la synthèse soustractive des couleurs

le noir obtenu par l'ajout des trois couleurs n'étant que partiellement noir en pratique (et coûtant cher),

les imprimeurs rajoutent une composante d'encre noire que l'on appelle noir pur.

On parle alors de quadrichromie, ou

modèle CMYK (Cyan, Magenta, Jaune, Noir

pur, ou en français CMJN).

(16)

Le codage HLS

S'appuie sur les travaux du peintre Albert H.Munsell

C’est un modèle de représentation dit "naturel", c'est- à-dire proche de la perception physiologique de la couleur par l'oeil humain

La couleur est décomposée selon les critères physiologiques suivants:

la teinte (en anglais Hue), correspondant à la perception de la couleur (T-shirt mauve ou orange),

la saturation, décrivant la pureté de la couleur, c'est-à-dire son caractère vif ou terne (T-shirt neuf ou délavé),

la luminance, indiquant la quantité de lumière de la couleur, c'est-à-dire son aspect clair ou sombre (T-shirt au soleil ou à l'ombre).

:

(17)

Le codage HLS

représentation graphique

(18)

Le modèle YUV (YCbCr)

Modèle essentiellement dédié à la vidéo analogique.

Y = Luminance

U et V Chrominance

La chrominance désigne la partie de l'image vidéo correspondant à l'information de couleur.

Y = 0,29 R + 0,59 G + 0,12 B

Il manque deux informations de chrominance pour que les trois informations de couleur (correspondant aux primaires) puissent être reconstituées.

U représente la différence de rouge (l'écart entre le niveau de rouge et la luminance) :

U = R - Y

V représente la différence de bleu (l'écart entre le niveau de bleu et la luminance) :

V = B - Y

C'est pour cela qu'il est préférable de noter la couleur primaire vert avec la lettre G, pour éviter toute confusion.

(19)

Facteur gamma

La luminance d'un écran d'ordinateur est non linéaire :

l'intensité lumineuse qu'il émet n'est pas linéairement proportionnelle à la tension appliquée,

elle correspond à une courbe fonction du gamma de l'écran (généralement compris entre 2,3 et 2,6) : I ~ Vgamma

facteur gamma = caractère non linéaire de l'intensité lumineuse d'un élément.

l'intensité lumineuse perçue par l'oeil n'est pas proportionnelle à la quantité de lumière effectivement émise

=> on compense la luminance en appliquant une transformation appelée «correction gamma».

A chaque périphérique d'affichage correspond une transformation gamma, pouvant elle-même être adaptée à la perception de

l'utilisateur.

(20)

Le codage CIE

1931

Les couleurs peuvent être perçues différemment selon les individus et peuvent être affichées

différemment selon les périphériques.

La Commission Internationale de l'Eclairage (CIE) a défini des standards indépendant des périphériques

les critères sont basés sur la perception de la couleur par l'oeil humain, grâce à un triple stimulus.

Le système colorimétrique xyY représentant les

couleurs selon leur chromaticité (axes x et y) et leur

luminance (axe Y).

(21)

Le diagramme représente sur la périphérie les couleurs pures,

rayonnements

monochromatiques

correspondant aux couleurs du spectre

La ligne fermant le diagramme se nomme la droite des pourpres,

elle correspond aux couleurs pourpres, composée des deux rayonnements

monochromatiques bleu (420 nm) et rouge (680 nm) :

(22)

On représente le gamut d'un dispositif d'affichage

on traçant dans le diagramme chromatique un polygone

renfermant toutes les couleurs qu'il est capable de produire.

Ce mode de représentation purement mathématique ne tient pas compte des facteurs physiologiques de perception de la couleur par l'oeil humain,

Il y a une place beaucoup trop large aux couleurs vertes.

=> En 1960 la CIE mit au point le modèle Lu*v*.

=> et 1976 le modèle La*b*

(23)

Codage des formes

Deux grandes catégories

L’une tient compte des caractéristiques du support d’affichage

Les formats « bitmaps » ou « rasters »

« Tableau de couleurs » à afficher sur le support

Pas de notion de forme

L’autre le tient compte uniquement des formes

Les formats vectoriels

Les formes sont codées par des modèles géométriques

=> 2 grands types de format d’images

(24)

Les formats de type bitmap

Principe

L’image est décomposée en pixel

Pour chaque pixel, on code la couleur

Matrice de valeurs

Avantages

Simple à mettre en œuvre

Affichage immédiat car en accord avec les périphériques d’affichage

Inconvénients

Taille de fichier important (stockage, transmission,…)

Dégradation de la qualité par zoom

Mieux adaptés aux images naturelles (photos)

(25)

Formats vectoriels

Principe

Les éléments géométriques de l’image sont codés à l’aide d’un modèle géométrique.

Exemple: cercle de centre (30,50) de rayon 10 de couleur «rouge »

Avantages

Taille de fichier faible

Pas de perte de qualité lors de zoom

Possibilité de réaliser de l’anti-aliasing

Inconvénients

Nécessite une modélisation

Plus complexe à mettre en œuvre

Nécessite un interpréteur du codage

Mieux adaptés aux images de synthèses

(26)

image bitmap image

vectorielle

Cercle Ensemble de points

positionnés le long d’un cercle

(27)

Notion de périphérique d’affichage

Une image numérique est « affichée » ou restituée sur un support:

Le principal support est le moniteur (écran)

mais aussi une feuille mais le principe reste le même

Une image sera affichée sur un support constitué d’un ensemble de « pixels

» ( PICture ELement) rangés en ligne et colonne (matrice ou tableau)

Pixel = un point de l’écran

(28)

Notion de résolution et de définition

définition = nombre de points (pixels) en ligne et en colonne affichables sur le support

Exemple : 640 x 480 ou 1024 x 1200

Le même notion est utilisée pour les images

Résolution = nombre de points par unité de surface,

exprimé en points par pouce (PPP), en anglais DPI pour Dots Per Inch)

Une résolution de 300 dpi signifie donc 300 colonnes et 300 rangées de pixels sur un pouce carré ce qui donne donc

90000 pixels sur un pouce carré.

La résolution de référence de 72 dpi nous donne un pixel de 1"/72 (un pouce divisé par 72) soit 0.353mm, correspondant à un point pica (unité typographique anglo saxonne).

(29)

Principe de codage d’une image bitmap

En relation avec le support d’affichage

une image = un tableau de valeurs

Une valeur par pixel

Cette valeur est codée avec un certain

nombre de bits déterminant la couleur ou l'intensité du pixel,

Ce nb de bits est appelé profondeur de codage (ou profondeur de

couleur/image).

(30)

Principe de codage d’une image bitmap

Il existe plusieurs standards de codage de la profondeur :

bitmap noir et blanc:

1 bit pour chaque pixel => 2 couleurs (noir ou blanc).

bitmap 16 couleurs ou 16 niveaux de gris:

4 bits pour chaque pixel => 16 possibilités d'intensités pour chaque pixel,

16 niveaux de gris allant du noir au blanc

ou bien 16 couleurs différentes.

bitmap 256 couleurs ou 256 niveaux de gris:

1 octet pour chaque pixel => 256 intensités de pixels,

256 niveaux de gris allant du noir au blanc

ou bien 256 couleurs différentes.

(31)

Principe de codage d’une image bitmap

palette de couleurs (colormap):

On définit une palette (ou table des couleurs) :

À un indice on fait correspondre une couleur

Chaque couleur de l’image est ainsi référencée dans cette table

Le nombre de bits réservé au codage de chaque indice de la palette détermine le nombre de couleurs pouvant être

utilisées.

indices sur 8 bits => 256 couleurs utilisables,

Pour chaque pixel on indique l'indice correspondant à la couleur

C’est ce qu’on appelle une image en couleurs indexées

(32)

Principe de codage d’une image bitmap

true color:

3 x 8 bits = 24 bits pour chaque pixel

Les 3 octets codent les composantes RGB (rouge, vert, bleu) du pixel

soit 24 bits =>16 millions de couleurs.

Il est possible de rajouter une quatrième composante permettant d'ajouter une

information de transparence ou de

texture, chaque pixel est alors codée sur

32 bits

(33)

Taille d’une images

La taille d’une image s’obtient simplement par

Taille = Largeur x hauteur x profondeur

Exemple

2.3 Mo 1.5 Mo

768 Ko 96 Ko

1024x768

1.4 Mo 937.5 Ko

468.7 Ko 58.6 Ko

800x600

900 Ko 600 Ko

300 Ko 37.5 Ko

640x480

187.5 Ko 125 Ko

62.5 Ko 7.8 Ko

320x200

True color (24 bits) 65000

couleurs (16 bits) 256

couleur s

(8 bits) Noir et

blanc (1 bit) Définition de

l'image

(34)

La transparence

La transparence définit le niveau d'opacité des éléments d'une image,

Elle donne la possibilité de voir à travers l'image des éléments graphiques située derrière celle-ci.

Il existe deux modes de transparence :

La transparence simple (pour une image indexée)

on définit parmi la palette de couleurs une des couleurs comme transparente

La transparence par couche alpha (ou canal alpha, en anglais alpha channel)

On ajoute pour chaque pixel de l'image un octet définissant le niveau de transparence (de 0 à 255).

Le processus d’ajout d’une couche transparente à une image est généralement appelée alpha blending.

(35)

Les formats bitmap

Structure d’un fichier bitmap

Exemple de format

PNM :

PBM, PGM,PPM,

BMP,

GIF,PNG,

JPEG

(36)

Structure d'un fichier bitmap

En-tête du fichier (en anglais file header):

la taille du fichier

où commencent les informations concernant l'image à proprement parler.

En-tête du bitmap (en anglais information Header) :

les dimensions et les couleurs,...

Palette (optionnellement)

Lorsqu'une palette est définie, elle contient successivement 4 octets pour chacune de ses entrées représentant :

La composante bleue (sur un octet)

La composante verte (sur un octet)

La composante rouge (sur un octet)

Un champ réservé (sur un octet)

Corps de l'image

Le codage de l'image se fait en écrivant successivement les bits

correspondant à chaque pixel, ligne par ligne en commençant par le pixel en bas à gauche.

File header Info header

palette

image

(37)

Les plus simples

Les formats d'images PNM (Portable aNyMap)

3 catégories:

pbm (portable bitmap)

pour les images bitmap (monochrome).

pgm (portable graymap)

pour les images en niveaux de gris.

ppm (portable pixmap)

pour les images couleurs.

(38)

PNM

Pour chacune de ces catégories il existe, pour les données de l’images,

un format ASCII = « ASCII »

un format binaire = « RAW »

(39)

PNM : En-tête du fichier

Un mot « magique » définissant le format

Pour les formats ASCII

P1 = PBM bitmap

P2 = PGM greymap

P3 = PPM pixmap

Pour les formats Binaires

P4 = PBM raw bitmap

P5 = PGM raw greymap

P6 = PPM raw pixmap

Suivi d’un séparateur = espace, Tab, LF ou

CR

(40)

PNM : En-tête du bitmap

La largeur de l’image en caractère ASCII

Un séparateur

Hauteur de l’image en caractère ASCII

Un séparateur généralement LF

Suivant la catégorie

PBM : rien

PGM : la plus grande valeur de niveau de gris en caractères ASCII (<= 65536) + séparateur

exemple 15 => 16 niveaux de 0 à 15.

PPM :la plus grande valeur de couleur en caractères ASCII (<= 65536) + séparateur

(41)

PBM : Corps de l'image

PBM ASCII

Les valeurs des pixels en ASCII séparées par un séparateur (espace)

Organisées de gauche à droite et de haut en bas

0 => blanc, 1 => noir

PBM raw

1 bit = 1 pixel (0=> blanc 1=> noir)

Regroupé par Octet (il n’ai pas tenu compte des bits complétant la ligne si la longueur n’ai pas multiple de 8)

(42)

PGM : Corps de l'image

N = nb de niveau de gris => N-1 = valeur max

Les valeurs : 0 => noir, N-1 => blanc

PGM ASCII

Les valeurs des pixels en ASCII séparées par un séparateur (espace)

PGM raw

Si N-1 < 256 chaque valeur est codée sur 1 octet

Si N-1  256 chaque valeur est codée sur 2 octets

L’octet le plus significatif est le 1er (Big Endian)

(43)

PPM : Corps de l'image

N-1 = valeur max des couleurs

Les valeurs : ensemble des 3 valeurs R V B

PGM ASCII

Les valeurs R V et B des pixels en ASCII séparées par un séparateur (espace)

Exemple : FF 00 00 00 FF 00

PGM raw

Si N-1 < 256 chaque valeur est codée sur 1 octet

Si N-1  256 chaque valeur est codée sur 2 octets

L’octet le plus significatif est le 1er (Big Endian)

(44)

Exemple en ASCII

P3 # feep.ppm 4 4 15

000 000

000 15 0 15

000 0 15 7

000 000

000 000

0 15 7 000

15 0 15 000

000

000

(45)

Le format BMP

Développé conjointement par Microsoft et IBM,

= fichier *.bmp

L'entête du fichier est composée de quatre champs :

La signature (sur 2 octets), indiquant qu'il s'agit d'un fichier BMP à l'aide des deux caractères.

BM, (424D en hexadécimal) => Bitmap Windows.

BA => Bitmap OS/2.

La taille totale du fichier sur 4 octets (attention octet faible)

Un champ réservé (sur 4 octets)

L'offset de l'image (sur 4 octets), c'est-à-dire l'adresse relative du début des informations concernant l'image par rapport au début du fichier

(46)

Le format BMP

En-tête du bitmap

La taille de l'entête de l'image sur 4 octets.

Les valeurs hexadécimales suivantes sont possibles suivant le type de format BMP:

28 pour Windows 3.1x, 95, NT, ...

0C pour OS/2 1.x

F0 pour OS/2 2.x

La largeur de l'image (sur 4 octets)

La hauteur de l'image (sur 4 octets)

Le nombre de plans (sur 2 octets). Cette valeur vaut toujours 1

La profondeur de codage de la couleur(sur 2 octets), valeurs possibles = 1, 4, 8, 16, 24 ou 32

La méthode de compression (sur 4 octets).

0 pas de compression

1 pour un codage RLE de 8 bits par pixel

2 pour un codage RLE de 4 bits par pixel

(47)

Le format BMP

La taille totale de l'image en octets (sur 4 octets).

La résolution horizontale (sur 4 octets), c'est-à- dire le nombre de pixels par mètre

horizontalement

La résolution verticale (sur 4 octets), c'est-à-dire le nombre de pixels par mètre verticalement

Le nombre de couleurs de la palette (sur 4 octets)

Le nombre de couleurs importantes de la palette (sur 4 octets). Ce champ peut être égal à 0

lorsque chaque couleur a son importance.

(48)

Le format BMP

Palette (optionnellement)

elle contient successivement 4 octets pour chacune de ses entrées représentant :

La composante bleue (sur 1 octet)

La composante verte (sur 1 octet)

La composante rouge (sur 1 octet)

Un champ réservé (sur 1 octet)

(49)

Le format BMP

Corps de l'image

Le codage de l'image se fait en écrivant successivement les bits correspondant à chaque pixel, ligne par ligne en

commençant par le pixel en bas à gauche.

Les images en 2 couleurs utilisent 1 bit par pixel (1 octet code 8 pixels)

Les images en 16 couleurs utilisent 4 bits par pixel (1 octet code 2 pixels)

Les images en 256 couleurs utilisent 8 bits par pixel, (1octet code 1 pixel)

Les images en couleurs réelles utilisent 24 bits par pixel, (3 octets code 1 pixel)

Chaque ligne de l'image doit comporter un nombre total d'octets qui soit un multiple de 4;

si ce n'est pas le cas, la ligne doit être complétée par des 0

(50)

Caractères B($42) et M($4D) indiquant un fichier de type BMP

Taille du fichier $0000004E = 78 octets (de l'offset 0 à l'offset 77) Réservé (toujours à 0)

Offset de l'image $00000036 = 54

Taille de l'entête $00000028 = 40 octets

Largeur de l'image $00000004 = 4 pixels

Hauteur de l'image $00000002 = 2 pixels

Nombre de plans utilisés $0001 = 1

Nombre de bits par pixel = $0018 = 24 (3 octets)

(51)

FF 00 00 B=255,V=0,R=0 : Bleu 00 00 00 B=0, V=0, R=0 : Noir

FF 00 FF B=255, V=0, R=255 : Violet FF FF FF B=255, V=255, R=255 : Blanc 00 00 FF B=0, V=0, R=255 : Rouge 00 FF 00 B=0, V=255, R=0 : Vert 00 FF FF B=0, V=255, R=255 : Jaune FF FF 00 B=255, V=255, R=0 : Cyan

Méthode de compression : 0 pas de compression

Taille de l'image $00000018 = 24 octets = 8 (pixels) x 3 (octets par pixel)

Résolution horizontale $00000EC4 = 3780 pixels par mètre

Résolution verticale $00000EC4 = 3780 pixels par mètre

Couleurs utilisées : 0 palette entière Nombre de couleurs important

(52)

Le format GIF

GIF = Graphic Interchange Format

= format de fichier graphique bitmap (par la société Compuserve. )

Il existe deux versions (développées respectivement en 1987 et 1989)

GIF 87a supportant

la compression LZW, l'entrelacement (permettant un affichage progressif),

une palette de 256 couleurs

la possibilité d'avoir des images animées (appelées GIFs animés) en stockant plusieurs images au sein du même fichier.

GIF 89a ajoutant la possibilité

de définir une couleur transparente dans la palette

de préciser le délai pour les animations.

(53)

Caractéristique du format GIF

peut contenir de 2 à 256 couleurs (2, 4, 8, 16, 32, 64, 128 ou 256) parmi 16.8 millions dans sa palette.

nombre de couleurs limitées (et non limité en couleurs différentes),

les images obtenues par ce format ont une taille généralement très faible.

le caractère propriétaire de l'algorithme de

compression LZW, implique une redevance à la société détentrice des droits, Unisys.

=> le format PNG est de plus en plus plébiscité, au

détriment du format GIF.

(54)

Le format PNG

Le format PNG permet de stocker des images en

noir et blanc (jusqu'à 16 bits par pixels),

en couleurs réelles (True color, jusqu'à 48 bits par pixels)

des images indexées avec une palette de 256 couleurs.

il supporte la transparence par couche alpha, (256 niveaux de transparence)

(GIF = une seule couleur de la palette comme transparente)

fonction d'entrelacement permettant d'afficher l'image progressivement.

La compression est sans perte et 5 à 25% meilleure que la compression GIF.

Le format stocke des informations sur le gamma de l'image, ce qui rend possible une correction gamma et permet une indépendance vis-à-vis des périphériques d'affichage.

Des mécanismes de correction d'erreurs sont également embarquées dans le fichier afin de garantir son intégrité.

(55)

Le format PNG

Il existe 2 types d'image PNG

le premier type (noté PNG-8)

la couleur de chaque pixel est codée sur un octet (8 bits)

et provient d'une palette, laquelle comporte 256 couleurs au maximum.

La compression n'est pas dégradante.

C’est le concurrent direct du format GIF ;

le second type (PNG-24) ,

la couleur de chaque pixel est codée sur 3 octets.

La compression n'est pas dégradante.

peut être considéré comme concurrent du format JPEG.

(56)

La compression:

notions et quelques exemples

La compression consiste à réduire la taille physique de blocs d'informations.

Il faut :

Un compresseur :

un algorithme qui sert à optimiser la « place mémoire » prise par les données

un décompresseur :

pour reconstruire les données originelles grâce

à l'algorithme « inverse »

(57)

La compression

Avantages:

Le stockage :

Stocker plus d’informations sur un même support

La transmission :

Transférer plus rapidement l’information

Inconvénients

Temps pour compresser l’information

Temps pour décompresser l’information

(58)

Définitions

Quotient de compression = Qc

Qc = taille finale / taille initiale

Taux de compression = Tc

Tc = 1/ Qc

Le gain de compression = Gc

Gc = 1 - Qc (= (taille initiale- taille finale) / taille initiale)

Exemple : en RLE

AAAAAHHHHHHHHHHHHHH"

compressée donne "5A14H".

Qc = 5/19 = 0,26

Taux = 1/Qc = 19/5 = 3,8

Gain = 1 - 0,26 = 0,74

(59)

Méthodes de compression

De grandes familles de compression

Sans perte d’information

RLE, LZW

Avec perte d’information

JPEG

(60)

Méthode RLE

RLE = Run Length Encoding,

utilisée par les formats d'images (BMP, PCX, TIFF)

Principe

On code un premier élément donnant le nombre de répétitions d'une valeur

puis le compléter par la valeur à répéter.

Exemples

« AAAAAHHHHHHHHHHHHHH »=>"5A14H".

« REELLEMENT»=> «1R2E2L1E1M1E1N1T» (gain

de compression = -60%)

(61)

Méthode RLE

Normalement définie pour un flux de données unidimensionnel, il existe des variantes pour les données bidimensionnelles

(62)

Remarques : sur RLE

Intéressante s’il y a de nombreux éléments consécutifs redondants,

c’est notamment le cas des images possédant de large parties uniformes.

Elle est simple à mettre en oeuvre.

(63)

La compression LZW

Abraham Lempel et Jakob Ziv sont les créateurs du compresseur LZ77, inventé en 1977 (d'où son nom).

Ce compresseur était alors utilisé pour l'archivage (les formats ZIP, ARJ et LHA l'utilisent).

En 1978 ils créent le compresseur LZ78 spécialisé

dans la compression d'images (ou tout type de fichier de type binaire).

En 1984, Terry Welch de la société Unisys le modifia

pour l'utiliser dans des contrôleurs de disques durs,

son initiale vint donc se rajouter à l'abréviation LZ

pour donner LZW.

(64)

Remarque sur la compression LZW

LZW est très rapide aussi bien en compression qu'en décompression,

Il est basé sur la multiplicité des occurrences de séquences de caractères

Son principe consiste à substituer des motifs par un code d'affectation (indice) en construisant au fur et à mesure un dictionnaire.

Il travaille sur des bits et non sur des octets, il ne dépend donc pas de la manière de laquelle le processeur code les

informations.

C'est un des algorithmes les plus populaires, il est notamment utilisé dans les formats TIFF et GIF.

La méthode de compression LZW ayant été brevetée par la société Unisys, c'est l'algorithme LZ77, libre de droit, qui est utilisé dans les images PNG.

(65)

Principe du LZW

1 octet est codé sur x bits

x détermine le nombre de mots dans le dictionnaire

X = 12 bits => 4096

On construit un dictionnaire dans une table qui ne sera pas stockée mais reconstruite par le décompresseur.

Le dictionnaire est initialisé avec les 256 valeurs de la table ASCII

Ce sont les 256 premiers mots

(66)

Algo de compression

Routine LZW_COMPRESS

STRING = get input character

WHILE there are still input characters DO CHARACTER = get input character

IF STRING+CHARACTER is in the string table

THEN

STRING = STRING+character

ELSE

output the code for STRING

add STRING+CHARACTER to the string table

STRING = CHARACTER

END of IF

END of WHILE output the code for STRING

(67)

Input String = /

WED/WE/WEE/WEB/WET

WE

/

E/W E/

/WEE /WE

/W E/

/WE /W

D/

ED WE /W

String + Input Car

E/W 263

261 Dico

rien

/WEE 262

260 Dico

rien rien

E/

261 E

Dico

/WE 260

256 Dico

rien

D/

259 D

Dico

ED 258

E Dico

WE 257

W Dico

/W 256

/ Dico

New String New code value

Code Output Action

(68)

Après compression

/ W E D 256 E 260 261 257 B 260 T

=> 12 valeurs * 12 bits = 144 bits

Avant = 19 * 8 bits = 152 bits

(69)

Routine LZW_DECOMPRESS

Read OLD_CODE

output OLD_CODE

WHILE there are still input characters DO

Read NEW_CODE

STRING = get translation of NEW_CODE

output STRING

CHARACTER = first character in STRING

add OLD_CODE + CHARACTER to the translation table OLD_CODE = NEW_CODE

END of WHILE

(70)

Input Codes: / W E D 256 E 260 261 257 B 260 T

260=/WE E

E 256

260 B 257 261 260

E D E W

/ /

OLD_CODE

266 = /WET T

T

265 = B/

/WE 260

264 = WEB B

B

263 = E/W WE

257

262 = /WEE E/

261

261 = E/

/WE 260

259 = D/

/W 256

258 = ED D

D

257 = WE E

E

256 = /W W

W

/

New table entry Traduction =

STRING Output En rouge 1er caractère Input/

NEW_CODE

(71)

La compression JPEG

JPEG = Joint Photographic Expert Group

(1982-1986) experts de la photographie,

pour de transmettre des informations (images fixes ou animées).

JPEG définit deux classes de processus de compression :

sans perte avec des taux de compression assez moyens.

avec perte d'informations et gain substantiel,

=> meilleur taux de compression mais au détriment de la qualité

20:1 à 25:1 sans perte « notable » de qualité.

la compression est beaucoup plus efficace sur les

images photographiques et moins des sur images

géométriques/synthétiques

(72)

La compression JPG

La compression est réalisée en réduisant toutes les formes possibles de redondance qu’une image peut présenter :

Redondance spatiale :

tous les pixels sont identiques à l’intérieur d’une plage de l’image uniforme. Il suffit d’en coder un pour caractériser la plage

considérée.

La Transformée en Cosinus Discrète (DCT) utilisée dans l’algorithme JPEG, met en évidence cette redondance spatiale à l’intérieur de

chaque image.

Redondance statistique :

certaines données se répètent beaucoup plus fréquemment que d’autres.

La compression sera réalisée en attribuant des codes d’autant plus courts que la fréquence est élevée.

(73)

La compression JPG

Redondance subjective : mise à profit dans la compression non conservatrice

elle découle des imperfections de l‘œil humain.

Des pixels présentant des caractéristiques assez proches pour être perçus de manière identique peuvent être traités comme des pixels identiques.

l’œil est beaucoup plus sensible aux variations d’intensité lumineuse (luminance) qu’à celles de la couleur

(chrominance)

=> Les informations sur la couleur peuvent donc être davantage compressées que celles sur la luminance.

des pixels trop proches pour être distingués par l‘œil peuvent être regroupés

(74)

La compression JPG

1) La transformation dans l'espace couleur : RGB -> YUV

2) La transformée discrète en cosinus (TDC, DCT Discrete Cosine Transform) sur des pavé de 8x8 pixels

=> identification des amplitudes en fonction des fréquences

=> information à partir de plus proches des caractéristiques de l’œil.

3) Suppression des informations auxquelles l’œil est peu sensible

Se fait à partir d’une « table de quantification » construite à partir des caractéristiques de l’œil et de la qualité demandée

4) Le codage du parcours en longueur des zéros (RLC Run Length Coding)

5) Codage de Huffman

(75)

Les images pour Internet

Bonne qualité (36Ko) Qualité faible (14 Ko)

(76)

Comparaison

Comparaison sur un exemple de copie d’écran contenant essentiellement du texte.

87 Ko

PNG

210 Ko

Gif

58 Ko

Jpeg (Q=0)

233 Ko

Jpeg (Q=50)

590 Ko

Jpeg (Q=100)

5536 Ko

BMP

Taille

Format

(77)

Comparaison

Comparaison sur une photo

54 Ko

Jpeg (Q=25)

1066 Ko

PNG

416 Ko

Gif

6 Ko

Jpeg (Q=0)

57 Ko

Jpeg (Q=50)

590 Ko

Jpeg (Q=100)

1407 Ko

BMP

Taille

Format

(78)

Les images pour Internet

Forcément en millions de couleurs.

Pour paramétrer le facteur de

compression, observer les bords très contrastés : des sortes d'écho du bord sont un signe qu'on a été trop loin; on voit aussi apparaître des gros carrés dans les dégradés.

max 256 couleurs.

La compression se fait sur les zones de même couleur, et sur la réduction du nombre de couleurs.

Attention, si on trame (diffusion) pour réduire le nombre de couleurs, on ne peut plus guère compresser puisqu'il n'y a plus de pixels successifs de même couleur.

Pour des captures d'écran par exemple, on peut envisager de passer l'image en gris parfois et de réduire à 4 niveaux.

Remarques :

Si il y a du texte

S’il y a des bords contrastés

Peu intéressant si l'image est en 256, et à fortiori en 16 ou 4 couleurs.

Rarement mauvais.

C'est le format à employer ne cas de doute.

Si l'image doit être redimensionnée,

Pas très bon pour les photos

A éviter si

Pour les photos

Si il y a des dégradés fins.

Si on veut compresser très fort une image.

Si il y a du texte dans l'image

Si il y a des surfaces de même couleur (logos, icônes, schémas,...)

A choisir si

JPEG PNG / GIF

(79)

Les images pour Internet

En Résumé :

Choisir le JPEG pour les photos : une valeur de 30% est assez typique.

Pour les images syntétiques Utilisez le format PNG/GIF et limiter le nombre de couleurs au minimum nécessaire. 16

suffit parfois.

Références

Documents relatifs

On a disposé sur une table un pointeur laser de lumière rouge, un miroir et un écran blanc, selon le schéma ci-dessous. a) Indique précisément sur le schéma à quel

Dans ce chapitre, nous avons présenté les différents types d’imagerie mé- dicale, les applications de tatouage numérique des images médicales et les classifications existantes de

Faire un schéma à l’échelle ¼ et déterminer graphiquement la position de la lentille convergente qu’il s’agit d’interposer, ainsi que la distance focale qu’elle

✗Codage des couleurs: Dans les années 80, la définition colorimétrique des images était faible : 4 bits (2 4 =16 couleurs possibles pour chaque pixel) puis 8 bits. Aujourd’hui,

[r]

avec 800 × 600 = 480 000 triplets, chaque triplet correspond aux intensités d’allumage des luminophores RVB (pour Rouge Vert Bleu), ou RGB (pour Red, Green, Blue).. • Le premier

Une imprimante couleurs doit-elle obligatoirement avoir une cartouche noire pour imprimer la couleur noire?. Quels sont les effets possibles avec un logiciel du type photoshop,

Bien que ces tailles de clés soient jugées accepta- bles à l’heure actuelle, l’analyse a permis d’arriver à la conclusion que 14 bits supplémentaires dans la longueur de