[0001] L'invention concerne l'affichage ou l'impression d'images de haute qualité, et notamment,
l'affichage d'images en mode dit « de couleurs réelles » ou « true color », en anglais,
en particulier pour dispositif d'affichage à cristaux liquides LCD.
[0002] Une application particulièrement intéressante de l'invention concerne l'affichage
d'images sur des écrans LCD de postes téléphoniques cellulaires ou assistant personnel
(PDA) qui tendent, actuellement, à permettre d'afficher des images de haute qualité,
c'est-à-dire des écrans qui sont capables d'afficher 262 144 couleurs simultanément.
[0003] Comme on le sait, la plupart des couleurs à afficher peuvent être reproduites à partir
de trois couleurs primaires, à savoir le rouge, le vert et le bleu (RVB ou RGB pour
« red, green, blue »). Aussi, les pixels, qui constituent les images à afficher sur
les écrans ou à imprimer, sont associés chacun à des valeurs de composantes de rouge,
de vert et de bleu. Ces valeurs de composantes sont codées, pour chaque pixels, sous
la forme d'une trame de bits dont la longueur définit le nombre de couleurs maximum
de l'image affichée.
[0004] C'est ainsi qu'une trame de 16 bits permet d'afficher 65 536 couleurs, qu'une trame
de 18 bits permet d'afficher 262 144 couleurs, alors qu'une trame de 24 bits permet
d'afficher 16 millions de couleurs simultanément.
[0005] Actuellement, les écrans à cristaux liquides à LCD utilisés dans les équipements
portatifs tels qu'un téléphone cellulaire ou PDA ne permettent d'afficher que 262
144 couleurs, ce qui correspond à une trame de 18 bits. Une telle trame comprend 6
bits de codage de la composante de rouge, 6 bits de codage de la composante de vert
et 6 bits de codage de la composante de bleu.
[0006] Ainsi, pour fonctionner de manière optimale, les images délivrées à un afficheur
d'une capacité de 262 144 couleurs doivent être codées au moyen d'une trame de 18
bits par pixels.
[0007] Or, les algorithmes de traitement d'images et les équipements matériels, en particulier
les mémoires de trame ne permettent généralement pas de supporter un tel format.
[0008] En effet, les mémoires de trame, qui servent à mémoriser les images avant leur affichage
sur un écran, ne sont généralement adaptées que pour le stockage de trames de 16 bits
par pixel, de 24 bits ou 32 bits par pixel, soit un multiple de 8 bits (Byte).
[0009] On a représenté sur les figures 1 et 2 l'organisation d'une telle mémoire de trame
organisée en mots de 32 bits pour le stockage d'une trame de 16 bits par pixel et
pour le stockage d'une trame de 24 bits par pixel, respectivement.
[0010] Comme on le voit sur la figure 1, dans un format de 16 bits par pixel, les composantes
de bleu et de vert sont codées au moyen de 5 bits, alors que 6 bits servent au codage
de la composante de vert. Chaque adresse mémoire permet le stockage des valeurs de
composantes de rouge, de vert et de bleu de 2 pixels (n et n+1) d'une image.
[0011] En ce qui concerne le stockage d'une trame de 24 bits par pixel, 8 bits servent au
codage des composantes de rouge, de vert et de bleu. Quatre pixels sont stockés dans
trois mots mémoire. Comme il est possible de stocker les bits de quatre pixels dans
trois adresses mémoire de 32 bits (4 * 24 = 3 * 32), ceci a pour conséquence qu'un
pixel peut se trouver « à cheval » sur deux mots mémoire (pixels n+1 et n+2), de sorte
que si l'on souhaite modifier un pixel, deux mots doivent être traités entraînant
un temps de traitement et une bande passante beaucoup plus élevés.
[0012] En se référant à la figure 3, lorsque l'on utilise une mémoire de trame de 24 bits
par pixel, une qualité optimale est obtenue pour l'image affichée. Cependant, comme
un panneau de cristaux liquides d'un équipement portatif ne supporte généralement
au maximum que 18 bits par pixel, les deux bits les moins significatifs des mots de
codage des composantes de couleurs ne sont pas connectés au panneau (troncature de
la valeur exact)
[0013] Cette solution permet l'affichage de 262 144 couleurs mais au prix d'une augmentation
de la taille de la mémoire de 50 % par rapport à une mémoire trame de 16 bits par
pixel. En outre, la bande passante nécessaire est aussi augmentée de 50%.
[0014] En ce qui concerne la qualité des images obtenues, le rapport PSNR (« Peak Signal
to Noise Ratio ») est de 42,69 décibels pour chaque composante de couleur de 8 bits
tronquée à 6 bits.
[0015] Ce rapport est, de manière conventionnelle, calculé à partir d'un calcul de l'erreur
quadratique moyenne MSE entre des valeurs de pixels de référence et des valeurs de
pixels résultant de la troncature.
[0016] En se référant maintenant à la figure 4, sur laquelle on a représenté l'utilisation
d'une mémoire de trame de 16 bits par pixel pour l'affichage d'images sur un panneau
LCD de 18 bits par pixel, on voit que, dans ce cas, les mots de codage de 5 bits de
rouge et de bleu et le mot de codage de la composante de vert, codé sous 6 bits, sont
intégralement transmis dans des entrées correspondantes du panneau LCD. Toutefois,
dans ce cas, les bits LSB les moins significatifs des composantes de rouge et de bleu
de la mémoire de trame ne sont pas connectés. Dans l'exemple de réalisation représenté,
les bits LSB des composantes de rouge et de bleu sont positionnés à zéro.
[0017] Les mots mémorisés de codage des composantes de rouge et de bleu peuvent toutefois
être respectivement élaborés soit par troncature, soit par calcul d'une valeur arrondie
à partir de la valeur 24 bits.
[0018] Comme indiqué précédemment, la troncature consiste à ne pas considérer les bits les
moins significatifs des mots de codage des composantes de rouge et de bleu. Dans ce
cas, le rapport PSNR pour les composantes de rouge et de bleu est de 35,70 décibels
et le rapport PSNR pour la composante de vert est de 42,69 décibels.
[0019] En ce qui concerne le calcul de la valeur arrondie, celle-ci présente un rapport
PSNR de 40,72 décibels en ce qui concerne les composantes de rouge et de bleu et un
rapport PSNR de 46,37 décibels en ce qui concerne la composante de vert.
[0020] Au vu de ce qui précède, le but de l'invention est de pallier les inconvénients des
systèmes d'affichage de l'état de la technique et, de manière générale, de permettre
l'affichage d'une image de haute qualité, en particulier une image en 262 144 couleurs
en utilisant une mémoire de trame de capacité réduite.
[0021] Plus particulièrement, un autre but de l'invention est de permettre d'afficher une
image de 262 144 couleurs à partir d'une image de 16 bits par pixels extrait d'une
mémoire de trame.
[0022] Selon un premier aspect, l'invention a donc pour objet un procédé de traitement d'image,
pour la conversion d'un signal d'un premier nombre de bits par pixel en un signal
d'un deuxième nombre de bits par pixel supérieur audit premier nombre de bits par
pixel, le signal à convertir et le signal converti comprenant un ensemble de pixels
associés chacun à des valeurs de composantes de rouge, de vert et de bleu constituant
une trame dudit premier nombre de bits et une trame dudit deuxième nombre de bits,
respectivement.
[0023] Selon ce procédé, on élabore des valeurs de bits additionnels de codage des composantes
de chaque pixel à partir des valeurs de composantes de pixels adjacents, les bits
additionnels de codage étant utilisés pour l'élaboration du signal converti.
[0024] Selon une autre caractéristique de l'invention, le signal à convertir et le signal
converti comprennent respectivement un ensemble de pixels associés à des valeurs de
composantes de rouge, de vert et de bleu constituant une trame de 16 bits par pixel
et une trame de 18 bits par pixel.
[0025] Dans un mode de mise en oeuvre, l'image à convertir étant constituée d'une matrice
de ligne et de colonne de pixels, on élabore les valeurs des bits additionnels en
considérant les pixels d'une fenêtre d'analyse de 3 x 3 pixels.
[0026] En variante, on élabore les valeurs des bits additionnels en considérant les pixels
d'une fenêtre d'analyse de 5 x 5 pixels.
[0027] On pourrait également utiliser des fenêtres d'analyse d'un nombre quelconque de pixels,
de préférence un nombre impair de pixels, englobant le pixel à traiter.
[0028] Pour procéder à l'élaboration du signal converti, on affecte la valeur des bits de
codage de la composante verte de l'image à convertir aux bits de codage de la composante
verte de l'image convertie, la composante verte étant déjà codée sur 6 bits.
[0029] Au contraire, on calcule la valeur des bits de codage de la composante rouge et de
la composante bleue par calcul, pour chacune desdites composantes rouge et bleue,
de la différence entre les valeur des composantes rouge et verte, d'une part, et de
la différence entre les valeurs des composantes bleue et verte, d'autre part, par
calcul d'une valeur filtrée à partir des valeurs de différences calculées et par affectation
d'un bit additionnel aux valeurs des composantes rouge et bleue de l'image à convertir
en fonction de la valeur filtrée.
[0030] Pour procéder au filtrage, on applique des coefficients de pondération aux valeurs
de différence calculées.
[0031] On additionne en outre les valeurs pondérées et on divise le résultat de ladite addition
par la somme des coefficients de pondération de la fenêtre d'analyse.
[0032] Ainsi, dans le cas où la différence entre la valeur filtrée de la composante rouge,
d'une part et de la composante bleue, d'autre part et la valeur non filtrée desdites
composantes, respectivement est supérieure à 2, le bit additionnel est positionné
à 1.
[0033] Dans le cas contraire, dans le cas où ladite différence est inférieure ou égale à
- 2, le bit additionnel est obtenu en soustrayant le bit 1 à l'endroit du bit additionnel.
[0034] Sinon, c'est-à-dire si la valeur de ladite différence est inférieure ou égale à 2
ou supérieure à - 2, la valeur de la composante rouge ou de la composante bleue de
l'image à convertir est affectée à la valeur de la composante rouge ou de la composante
bleue de l'image convertie (valeur inchangée).
[0035] Selon un autre mode de mise en oeuvre de l'invention, on compare la valeur d'un pixel
en cours de traitement et de pixels adjacents avec une valeur de seuil et on affecte
au pixel en cours de traitement une valeur maximale si ce pixel et les pixels adjacents
ont tous une valeur supérieure à la valeur de seuil.
[0036] Selon un deuxième aspect, l'invention a pour objet un dispositif de traitement d'image
pour la conversion d'un signal d'un premier nombre de bits par pixel en un signal
d'un deuxième nombre de bits par pixel supérieur au premier nombre de bits par pixel,
le signal à convertir et le signal converti comprenant un ensemble de pixels associés
chacun à des valeurs de composantes de rouge, de vert et de bleu constituant une trame
dudit premier nombre de bits et une trame dudit deuxième nombre de bits, respectivement,
caractérisé en ce qu'il comporte des moyens pour élaborer des valeurs de bits additionnels
de codage des composantes de chaque pixel à partir des valeurs de composantes de pixels
adjacents, et des moyens pour élaborer le signal converti à partir des bits de codage
des valeurs des composantes de rouge, de vert et de bleu du signal à convertir et
des bits additionnels de codage.
[0037] L'invention a également pour objet un écran plat, comprenant un ensemble de pixels
commandés par un ou plusieurs circuits de commande périphérique convertissant un signal
d'un premier nombre de bits par pixel en un signal d'un deuxième nombre de bits par
pixel supérieur au premier nombre de bits par pixel, le signal à convertir et le signal
converti comprenant un ensemble de pixels associés chacun à des valeurs de composantes
de rouge, de vert et de bleu constituant une trame dudit premier nombre de bits et
une trame dudit deuxième nombre de bits, respectivement, caractérisé en ce qu'il comporte
des moyens pour élaborer des valeurs de bits additionnels de codage des composantes
de chaque pixel à partir des valeurs de composantes de pixels adjacents et des moyens
pour élaborer le signal converti à partir des bits de codage des valeurs des composantes
de rouge, de vert et de bleu du signal à convertir et desdits bits additionnels.
[0038] Selon un mode de réalisation particulier de l'invention, l'écran plat peut être un
écran LCD, TFT, OLED ou CRT.
[0039] Selon encore un autre aspect, l'invention a pour objet un équipement électronique
portable, du type téléphone mobile, caractérisé en ce qu'il comporte un écran plat
tel que défini ci-dessus.
[0040] Par équipement électronique, on entend, dans le cadre de la présente description,
tout type de poste ou terminal portable ou mobile tel qu'un téléphone mobile, un PDA,
un appareil de prise de vues ou tout autre dispositif de ce type pourvu d'un écran
plat.
[0041] D'autres buts, caractéristiques et avantages de l'invention apparaîtront à la lecture
de la description suivante, donnée uniquement à titre d'exemple non limitatif, et
faite en référence aux dessins annexés sur lesquels :
- les figures 1 et 2, dont il a déjà été fait mention, illustrent l'architecture d'une
mémoire de trame de 16 bits par pixel et d'une mémoire de trame de 24 bits par pixel,
respectivement ;
- la figure 3 et la figure 4 précédemment évoquées illustrent respectivement l'affichage
d'une image de 18 bits par pixel sur un panneau LCD à partir d'une mémoire de trame
de 24 bits par pixel et d'une mémoire de trame de 16 bits par pixel, respectivement
;
- la figure 5 est un schéma illustrant le principe de conversion selon l'invention ;
- la figure 6 est un organigramme illustrant les principales phases d'un procédé de
traitement d'image conforme à l'invention ;
- les figures 7 et 8 sont d'autres schémas illustrant le principe de conversion mis
en oeuvre par le procédé de traitement d'image conforme à l'invention ;
- la figure 9 est un tableau comparatif illustrant les avantages procurés par le procédé
de conversion conforme à l'invention sur l'image obtenue ; et
- la figure 10 montre un exemple de réalisation d'un dispositif de traitement d'image
mettant en oeuvre le procédé de conversion selon l'invention.
[0042] Dans la suite de la description, on va décrire un exemple de mise en oeuvre d'un
procédé de traitement d'image conforme à l'invention.
[0043] Dans l'exemple de réalisation considéré, ce procédé est destiné à permettre d'afficher
une image de haute qualité avec 262 144 couleurs sur un dispositif d'affichage LCD
de 18 bits par pixel (18 bpp) tout en utilisant une mémoire de trame de 16 bits par
pixel (16bpp), et en conservant la bande passante requise.
[0044] Cependant, le principe selon l'invention pourrait également être généralisé pour
la conversion d'autres formats de données.
[0045] De même, l'invention s'applique aussi bien à un traitement d'image pour l'affichage
de l'image sur un écran que pour l'impression de cette image.
[0046] Comme indiqué précédemment, dans l'application envisagée, l'image est constituée
d'un ensemble de pixels associés chacun à des valeurs de composante de rouge, de vert
et de bleu codées, pour chaque pixel, au moyen d'une trame de 16 bits, à savoir 6
bits pour le vert, 5 bits pour le rouge et 5 bits pour le bleu.
[0047] Au contraire, pour l'affichage de 262 144 couleurs, les pixels sont chacun associés
à des valeurs de composantes de rouge, de vert et de bleu constituant une trame de
18 bits, à savoir 6 bits pour le vert, le rouge et le bleu.
[0048] Il convient donc, selon l'invention, de convertir l'image de 16 bpp en une image
de 18 bpp.
[0049] Il convient également de rappeler que l'image incidente est issue d'un capteur de
type CCD ou CMOS pourvu d'un filtre couleur dit « filtre de Bayer ». Cette technologie
d'acquisition d'images est largement répandue et ne sera donc pas décrite en détail
par la suite.
[0050] On notera cependant que, selon cette technique, l'acquisition de l'image s'effectue
au moyen de filtres de trois couleurs, à savoir rouges, verts et bleus, placés selon
un réseau bidimensionnel de sorte que chaque pixel détecté corresponde à la couleur
du filtre de ce pixel. Les filtres sont configurés de sorte que 50 % des filtres soient
verts, que 25 % des filtres soient rouges et que 25 % des filtres soient bleus.
[0051] Ainsi, dans la mosaïque obtenue, la moitié des pixels sont verts, un quart des pixels
sont rouges et un quart des pixels sont bleus, ce qui correspond au maximum de sensibilité
de l'oeil humain. Pour chaque pixel, il convient alors de récupérer les composantes
des couleurs manquantes. Ceci est généralement effectué grâce à des méthodes d'interpolation
conventionnelles, en utilisant les valeurs des composantes correspondantes des pixels
adjacents.
[0052] Comme on le sait, selon cette technique, il existe une corrélation spatiale entre
les composantes rouge et bleue mais également une corrélation entre les composantes
rouge et bleue et la composante verte.
[0053] Dans le cas ou la source d'image est non pas un capteur CMOS ou CCD, mais une image
compressée aux normes JPEG ou MPEG, le format d'origine est usuellement codé en information
de luminance et de chrominance bleue et rouge : Y, Cb, Cr avec un sous échantillonnage
des chrominances du type 4:2:2 ou 4:2:0 qui signifie qu'il y a moitié ou quart d'information
de chrominance par rapport à la luminance.
[0054] En outre, dans le format 16bpp, dans la mesure où 6 bits sont utilisés pour le codage
de la composante verte alors que 5 bits sont utilisés pour le codage de chacune des
composantes rouge et bleue, la définition est supérieure en ce qui concerne la composante
verte.
[0055] Au vu de ce qui précède, le procédé de conversion selon l'invention utilise la corrélation
spatiale qui existe entre les composantes rouge et bleue et la corrélation qui existe
entre les composantes rouge et bleue, d'une part, et la composante verte d'autre part,
et est également basée sur la définition supérieure de la composante verte.
[0056] Comme indiqué précédemment, il convient d'élaborer une trame de 18 bpp, c'est-à-dire
une trame selon laquelle les composantes de rouge, de vert et de bleu sont chacune
codées par un mot de 6 bits, à partir d'une trame de 16 bpp issu de la mémoire de
trame dans laquelle, pour chaque pixel, les composantes rouge et bleue sont chacune
codées au moyen d'un mot de 5 bits, alors que la composante verte est codée au moyen
d'un mot de 6 bits.
[0057] Aussi, en ce qui concerne la composante verte, le mot de 6 bits de la composante
verte de chaque pixel à convertir est recopié dans un mot correspondant de codage
de la composante verte de chaque pixel converti.
[0058] En ce qui concerne les composantes rouge et bleue, il convient, pour chaque pixel,
d'élaborer un bit additionnel qui doit être ajouté aux 5 bits de codage des composantes
rouge et bleue de chaque pixel du signal à convertir. L'élaboration de ces bits additionnels
est basée sur la corrélation existante entre les composantes rouge, verte et bleue.
Aussi, en se référant à la figure 5, on utilise une fenêtre d'analyse qui prend en
compte les pixels voisins d'un pixel P en cours de traitement. Comme on le voit sur
cette figure 5, les pixels se présentent sous la forme d'une matrice de ligne i et
de colonne j de pixels associés chacun à des composantes RVB de rouge, de vert et
de bleu. Pour l'élaboration des bits manquants des composantes de rouge et de bleu
d'un pixel P en cours d'analyse, on prend en compte les pixels immédiatement voisins
du pixel P.
[0059] Dans l'exemple de réalisation représenté sur la figure 5, la fenêtre d'analyse est
une fenêtre de 3 x 3 pixels. On pourrait cependant, en variante, utiliser une fenêtre
de cinq pixels ou tout autre fenêtre de dimension appropriée pour l'utilisation envisagée,
d'un nombre impair de pixels.
[0060] Ainsi, en se référant à la figure 6, au cours d'une première étape 10, on procède
à l'acquisition des valeurs de composantes rouge, verte et bleue de l'ensemble des
9 pixels de la fenêtre d'analyse F.
[0061] En se référant également à la figure 7, sur laquelle seuls les pixels détectés par
la fenêtre d'analyse F ont été considérés, et qui correspondent à une étape de traitement
correspondant à l'élaboration d'un bit d'un mot de codage de la composante rouge,
lors de l'étape 12 suivante, il est procédé à un calcul de la différence entre les
valeurs des composantes rouge et verte Rij - Vij pour chacune des 9 valeurs de la
fenêtre d'analyse de trois fois trois pixels.
[0062] Les valeurs de différence ainsi calculées sont, lors de l'étape 14 suivante, filtrées
en utilisant la fenêtre de filtrage représentée à la figure 8. Ce filtrage consiste
à multiplier chaque valeur de différence calculée lors de l'étape 12 précédemment
par un coefficient de pondération C
ij qui dépend de la position du pixel considérée, en affectant un coefficient de pondération
maximum à la différence entre les composantes rouge et verte du pixel P en cours d'analyse,
par exemple égal à 4.
[0063] Lors de l'étape 16 suivante, la phase de filtrage se poursuit en additionnant les
valeurs filtrées ainsi obtenues et en divisant le résultat de l'addition par la somme
des coefficients de pondération de la fenêtre.
[0064] Lors de l'étape 18 suivante, on procède à un calcul de la différence entre la valeur
filtrée ainsi obtenue et la valeur non filtrée.
[0065] Il s'agit en l'occurrence de soustraire la valeur de la différence entre les composantes
rouge et verte du pixel P en cours d'analyse avec la valeur de la différence filtrée
élaborée, comme indiqué précédemment, en utilisant les valeurs de composante des pixels
voisins.
[0066] Lors des étapes 20 et 22 suivantes, le résultat de la comparaison ainsi effectuée
est comparé avec des valeurs de seuil prédéterminées.
[0067] Par exemple, dans l'exemple de réalisation considéré, si la différence calculée entre
les valeurs filtrées et non filtrées est supérieure à 2, alors on affecte la valeur
1 au bit de codage additionnel (étape 22).
[0068] En d'autres termes, en considérant que les cinq bits de codage de la composante rouge
de chaque pixel à convertir sont constitués par les cinq bits les plus significatifs
d'un octet xxxxx000 de codage de cette composante rouge (les signes x désignant des
valeurs utiles du mot de codage) au cours de l'étape 22, on ajoute à ce mot la valeur
binaire 100. On obtient donc le mot de codage converti suivant : xxxxx100.
[0069] Au contraire, si lors de l'étape 20 précédente, il a été détecté que la différence
entre la valeur filtrée et la valeur non filtrée est inférieure ou égale à deux, lors
de l'étape 24 suivante, on détecte si cette différence est inférieure ou égale à -
2. Si tel est le cas, lors de l'étape 26 suivante, on soustrait au mot de codage de
la composante rouge la valeur binaire 100. On obtient alors le mot de codage suivant
: yyyyy100.
[0070] Enfin, dans le cas contraire, c'est-à-dire si la différence entre la valeur filtrée
et la valeur non filtrée est supérieure à - 2, alors le mot de codage est maintenu
inchangé. En d'autres termes, le troisième bit est positionné à 0. Le mot de codage
de la composante rouge du pixel converti est alors : xxxxx000.
[0071] Le traitement décrit ci-dessus est, de même, effectué pour la composante bleue. En
d'autres termes, après acquisition des valeurs des composantes rouge, bleue et verte
de chaque pixel (étape 10), la différence entre les composantes bleue et verte est
calculée pour chacune des neuf valeurs de la fenêtre de trois fois trois pixels. La
différence ainsi calculée est alors filtrée, comme mentionné précédemment. La valeur
filtrée est alors comparée avec les valeurs de seuil précédemment indiquées afin soit
d'ajouter ou de soustraire le mot binaire 100, en fonction de la position du bit de
codage additionnel, ou de conserver inchangé le troisième bit du mot de codage de
la composante bleue.
[0072] L'algorithme utilisé pour procéder à la conversion décrite ci-dessus d'une image
de 16 bpp en une image de 18 bpp peut par exemple être réalisé à partir des lignes
de code suivantes :

[0073] On notera que cet algorithme ne constitue qu'un exemple non optimisé de mise en oeuvre
de l'invention permettant d'illustrer les traitements effectués. Il décrit uniquement
le traitement sur la composante rouge, le traitement pour la composante bleu étant
identique. Les valeurs rouge, vert et bleu sont codées sur des octets : 8 bits.
[0074] En se référant à la figure 9, sur laquelle on a présenté diverses valeurs de rapport
PSNR, en ce qui concerne notamment les composantes rouge, verte et bleue et la taille
T de la mémoire de trame pour une mémoire de trame de 24 bits par pixel, avec deux
bits LSB non connectés ; pour une mémoire de trame de 16 bits par pixel générée à
partir de la valeur originelle 24bpp par troncature ou arrondi et pour une mémoire
de 16 bpp générée à partir de la valeur originelle 24bpp par arrondi puis affichée
en 18bpp en utilisant une conversion conformément à l'invention, on voit que la conversion
effectuée selon le procédé conforme à l'invention permet un gain moyen de deux décibels
par rapport à l'utilisation d'une mémoire de trame de 24 bits par pixel et un gain
de 1 ou de 5 décibels par rapport à l'utilisation d'une mémoire de trame de 16 bits
par pixel.
[0075] On notera que, sur la figure 9, les valeurs de PSNR sont des valeurs calculées, sauf
pour la dernière colonne, qui sont le résultat de mesures de la qualité de l'algorithme
présenté ci-dessus et qui dépendent du contenu de l'image.
[0076] On notera enfin, en se référant maintenant à la figure 10 que le procédé de conversion
conforme à l'invention peut être incorporé à un dispositif 30 réalisé par exemple
sous la forme d'une interface interposée entre une mémoire de trame 32 de 16 bits
par pixel et un panneau 34 d'affichage LCD de 18 bits par pixel pour l'affichage d'images
de 262 144 couleurs.
[0077] L'interface comporte alors des moyens logiciels et matériels de calcul dûment programmés
pour élaborer des valeurs de bits additionnels de codage, et pour élaborer l'image
convertie à partir des bits additionnels, selon le procédé décrit précédemment.
[0078] Bien entendu, l'invention n'est pas limitée au mode de réalisation décrit.
[0079] Dans la description du mode de réalisation de l'invention qui vient d'être faite,
on ajoute, dans une trame de bits de codage de chaque composante de bleu et de rouge,
un bit de codage supplémentaire en positionnant à « 1 » ou « 0 » un bit additionnel
de la trame ou, comme indiqué précédemment, en maintenant inchangée la valeur de la
composante rouge ou bleue d'une image à convertir.
[0080] La valeur du bit de codage supplémentaire est déterminée en fonction des pixels adjacents,
relativement à un pixel considéré et, en particulier, par calcul de la différence
entre les composantes de rouge et de vert, d'une part, et des composantes de bleu
et de vert, d'autre part, et par calcul d'une valeur moyenne pondérée sur un ensemble
de pixels adjacents et élaboration du bit additionnel en fonction de la valeur moyenne
pondérée.
[0081] Afin de s'assurer que l'ensemble des couleurs peuvent être obtenues, dans un autre
mode de réalisation, on contrôle la valeur de chaque pixel et de ses pixels adjacents
et on lui attribue une valeur maximale si la valeur de tous les pixels dépasse une
valeur de seuil.
[0082] Ainsi, par exemple, en se référant à la figure 8, on considère les quatre pixels
voisins d'un pixel en cours de traitement qui sont affectés d'un coefficient « 2 ».
Il s'agit ainsi de considérer les pixels de gauche, de droite, et les pixels situés
en haut et en bas. Si les cinq pixels ont tous une valeur initiale supérieure à la
valeur de seuil, on affecte au pixel en cours de traitement la valeur maximale « 0xFC
».
[0083] La valeur de seuil est par exemple égale à « 0xF8 », ce qui traduit que les cinq
bits de codage de la composante de rouge ou de bleu sont positionnés à « 1 ».
[0084] La valeur maximale affectée au pixel traité correspond à une valeur selon laquelle
les six bits de codage sont positionnés à « 1 ».
[0085] On notera cependant que selon la présente description, l'ajout d'un bit supplémentaire
de codage d'une composante de rouge ou de bleu consiste à positionner à « 0 » ou à
« 1 » le troisième bit du mot de codage, considéré à partir du bit le moins significatif.
[0086] Il est également possible, en variante, de positionner à « 1 » ou « 0 » le troisième
bit, considéré à partir du bit le plus significatif.
[0087] Dans ce cas, la valeur de seuil à laquelle sont comparées la valeur d'un pixel en
cours de traitement et la valeur des quatre pixels adjacents devient « 0x1F », alors
que la valeur maximale affectée au pixel analysé devient « 0x3F ».
[0088] Dans ce cas, l'algorithme utilisé pour procéder à la conversion d'une image de 16
bpp en une image de 18 bpp peut être réalisé à partir des lignes de code suivantes
:

1. Procédé de traitement d'image pour la conversion d'une image d'un premier nombre de
bits par pixel en une image d'un deuxième nombre de bits par pixel supérieur au premier
nombre de bits par pixel, le signal à convertir et le signal converti comprenant respectivement
un ensemble de pixels associés chacun à des valeurs de composantes (RVB) de rouge,
de vert et de bleu constituant une trame dudit premier nombre de pixels et une trame
dudit deuxième nombre de pixels, caractérisé en ce que l'on élabore des valeurs de bits additionnels de codage des composantes de chaque
pixel à partir des valeurs de composantes de pixels adjacents, les bits additionnels
étant utilisés pour l'élaboration du signal converti.
2. Procédé selon la revendication 1, caractérisé en ce que l'image à convertir et l'image convertie comprennent respectivement un ensemble de
pixels associés à des valeurs de composantes (Ri,j, Vi,j, Bi,j) de rouge, de vert et de bleu constituant une trame de 16 bits par pixel et une trame
de 18 bits par pixel, respectivement.
3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce que l'image à convertir étant constituée d'une matrice de lignes et de colonnes de pixels,
on élabore les valeurs des bits additionnels en considérant les pixels d'une fenêtre
(F) d'analyse de 3 X 3 pixels.
4. Procédé selon l'une des revendications 2 et 3, caractérisé en ce que l'image à convertir étant constituée d'une matrice de lignes et de colonnes de pixels,
on élabore les valeurs des bits additionnels en considérant les pixels d'une fenêtre
(F) d'analyse de 5 X 5 pixels.
5. Procédé selon l'une des revendications 3 et 4, caractérisé en ce que l'on affecte les valeurs des bits de codage de la composante verte de l'image à convertir
aux bits de la composante verte de l'image convertie.
6. Procédé selon la revendication 5, caractérisé en ce que l'on calcule la valeur des bits additionnels de codage de la composante rouge et
de la composante bleue par calcul, par chacune desdites composantes rouge et bleue,
de la différence (Ri,j - Vi,j) entre les valeurs des composantes rouge et verte, d'une part et de la différence
(Bi,j - Vi,j) entre les valeurs des composantes bleue et verte, d'autre part, par calcul d'une
valeur filtrée à partir des valeurs de différence calculées et affectation d'un bit
additionnel aux valeurs des composantes rouge et bleue de l'image à convertir en fonction
de la valeur filtrée.
7. Procédé selon la revendication 6, caractérisé en ce que le filtrage est réalisé en appliquant des coefficients de pondération (Ci,j) aux valeurs de différence calculées.
8. Procédé selon la revendication 7, caractérisé en ce que l'on additionne les valeurs pondérées et l'on divise le résultat de ladite addition
par la somme des coefficients de pondération de la fenêtre d'analyse.
9. Procédé selon l'une quelconque des revendications 6 à 8, caractérisé en ce que si la différence entre la valeur filtrée de la composante rouge, d'une part, et de
la composante bleue, d'autre part et la valeur non filtrée desdites composantes respectivement,
est supérieure à 2, ledit bit additionnel est positionné à 1.
10. Procédé selon la revendication 9, caractérisé en ce que si la différence entre la valeur filtrée de la composante rouge, d'une part, et de
la composante bleue, d'autre part et la valeur non filtrée desdites composantes, respectivement,
est inférieure ou égale à - 2, le bit additionnel obtenu en soustrayant le bit 1 à
l'endroit du bit additionnel.
11. Procédé selon la revendication 10, caractérisé en ce que si ladite différence est inférieure ou égale à 2 ou supérieure ou égale à - 2, ledit
bit additionnel est positionné à 0.
12. Procédé selon l'une quelconque des revendications 1 à 11, caractérisé en ce que l'on compare la valeur d'un pixel en cours de traitement et de pixels adjacents avec
une valeur de seuil et l'on affecte au pixel en cours de traitement une valeur maximale
si ce pixel et les pixels adjacents ont tous une valeur supérieure à la valeur de
seuil.
13. Dispositif de traitement d'image pour la conversion d'un signal d'un premier nombre
de bits par pixel en un signal d'un deuxième nombre de bits par pixel supérieur au
premier nombre de bits par pixel, le signal à convertir et le signal converti comprenant
un ensemble de pixels associés chacun à des valeurs de composantes de rouge, de vert
et de bleu constituant une trame dudit premier nombre de bits et une trame dudit deuxième
nombre de bits, respectivement, caractérisé en ce qu'il comporte des moyens (30) pour élaborer des valeurs de bits additionnels de codage
des composantes de chaque pixel à partir des valeurs de composantes de pixels adjacents
et des moyens (30) pour élaborer le signal converti à partir des bits de codage des
valeurs des composantes de rouge, de vert et de bleu du signal à convertir et desdits
bits additionnels.
14. Ecran plat, comprenant un ensemble de pixels commandés par un ou plusieurs circuits
de commande périphérique convertissant un signal d'un premier nombre de bits par pixel
en un signal d'un deuxième nombre de bits par pixel supérieur au premier nombre de
bits par pixel, le signal à convertir et le signal converti comprenant un ensemble
de pixels associés chacun à des valeurs de composantes de rouge, de vert et de bleu
constituant une trame dudit premier nombre de bits et une trame dudit deuxième nombre
de bits, respectivement, caractérisé en ce qu'il comporte des moyens (30) pour élaborer des valeurs de bits additionnels de codage
des composantes de chaque pixel à partir des valeurs de composantes de pixels adjacents
et des moyens (30) pour élaborer le signal converti à partir des bits de codage des
valeurs des composantes de rouge, de vert et de bleu du signal à convertir et desdits
bits additionnels.
15. Equipement électronique portable, du type téléphone mobile, caractérisé en ce qu'il comporte un écran plat selon la revendication 14.
16. Equipement selon la revendication 15, caractérisé en ce qu'il constitue un téléphone mobile.