[0001] L'invention concerne un procédé d'adressage de panneau d'affichage au plasma. Plus
particulièrement, l'invention se rapporte au codage des niveaux de gris d'un panneau
de type à affichage et entretien séparés.
[0002] Les panneaux d'affichage au plasma, appelés par la suite PAP, sont des écrans de
visualisation de type plat. Il existe deux grandes familles de PAP, à savoir les PAP
dont le fonctionnement est du type continu et ceux dont le fonctionnement est du type
alternatif. Les PAP comprennent généralement deux dalles isolantes (ou substrat),
portant chacune un ou plusieurs réseaux d'électrodes et délimitant entre elles un
espace rempli de gaz. Les dalles sont assemblées l'une à l'autre de manière à définir
des intersections entre les électrodes desdits réseaux. Chaque intersection d'électrodes
définit une cellule élémentaire à laquelle correspond un espace gazeux partiellement
délimité par des barrières et dans lequel se produit une décharge électrique lorsque
la cellule est activée. La décharge électrique provoque une émission de rayons UV
dans la cellule élémentaire, et des luminophores déposés sur les parois de la cellule
transforment les rayons UV en lumière visible.
[0003] Pour les PAP de type alternatif, il existe deux types d'architecture de cellule,
l'une est dite matricielle, l'autre est dite coplanaire. Bien que ces structures soient
différentes, le fonctionnement d'une cellule élémentaire est sensiblement le même.
Chaque cellule peut se retrouver dans état allumé ou éteint. Le maintien dans l'un
des états se fait par l'envoi d'une succession d'impulsions dites d'entretien pendant
toute la durée pendant laquelle on désire maintenir cet état. L'allumage, ou adressage,
d'une cellule se fait par l'envoi d'une impulsion plus importante, communément appelée
impulsion d'adressage. L'extinction, ou effacement, d'une cellule se fait par annulation
des charges à l'intérieur de la cellule à l'aide d'une décharge amortie. Pour obtenir
différents niveaux de gris, on fait appel au phénomène d'intégration de l'oeil en
modulant les durées des états allumés et éteints à l'aide de sous-balayages, ou sous-trames,
pendant la durée d'affichage d'une image.
[0004] Pour pouvoir effectuer la modulation temporelle d'allumage de chaque cellule élémentaire,
il est principalement utilisé deux techniques dites modes d'adressage. Un premier
mode d'adressage, dit d'adressage pendant l'affichage (ou Addressing While Displaying),
consiste à adresser chaque ligne de cellule pendant le maintien des autres lignes
de cellules, l'adressage se faisant ligne par ligne de manière décalée. Un deuxième
mode d'adressage, dit adressage à affichage séparé (Addressing and Display Separation),
consiste à effectuer l'adressage, le maintien et l'effacement de toutes les cellules
du panneau durant trois périodes distinctes. Pour plus de précision sur ces deux modes
d'adressage, l'homme du métier peut par exemple se reporter aux brevets américains
n°5,420,602 et 5,446,344.
[0005] La figure 1 représente la répartition temporelle de base du mode d'adressage à affichage
séparé pour l'affichage d'une image. Le temps d'affichage total Ttot de l'image est
de 16,6 ou 20 ms suivant les pays. Durant le temps d'affichage, huit sous-balayages
SB1 à SB8 sont réalisés afin de permettre 256 niveaux de gris par cellule, chaque
sous-balayage permettant d'éclairer ou non une cellule élémentaire pendant un temps
d'éclairement Tec multiple d'une valeur To. Par la suite, on parlera de poids d'éclairement
p, avec p qui correspond à un entier tel que Tec = p * To. La durée totale d'un sous
balayage comprend un temps d'effacement Tef, un temps d'adressage Ta, et le temps
d'éclairement Tec propre à chaque sous-balayage. Le temps d'adressage Ta est également
décomposable en n fois une durée élémentaire Tae qui correspond à l'adressage d'une
ligne. La somme des temps d'éclairement Tec nécessaires pour un niveau de gris maximum
étant égale à la durée maximale d'éclairement Tmax, on a la relation suivante: Ttot
= m*(Tef + n * Tae) + Tmax, dans laquelle m représente le nombre de sous-balayages.
La figure 1 correspond à une décomposition binaire du temps d'éclairement. Cette répartition
binaire présente quelques problèmes déjà identifiés.
[0006] Un problème de faux contour vient de la proximité de deux zones dont les niveaux
de gris sont très proches mais dont les durées d'éclairement sont décorrélées. Le
pire cas, dans l'exemple de la figure 1, correspond à une transition entre les niveaux
127 et 128 : En effet, le niveau de gris 127 correspond à un éclairement pendant les
sept premiers sous-balayages SB1 à SB7 alors que le niveau 128 correspond à l'éclairement
du huitième sous-balayage SB8. Deux zones de l'écran placées l'une à coté de l'autre,
ayant les niveaux 127 et 128, ne sont jamais éclairées en même temps. Lorsque l'image
est statique et que l'oeil du spectateur ne se déplace pas sur l'écran, l'intégration
temporelle se fait relativement bien (si l'on ne tient pas compte d'un éventuel effet
de scintillement) et l'on voit deux zones avec des niveaux de gris relativement proches.
Par contre, lorsque les deux zones se déplacent sur l'écran (ou que l'oeil du spectateur
se déplace) la fenêtre temporelle d'intégration change de zone d'écran et se trouve
déplacée d'une zone à l'autre pour un certain nombre de cellules. Le déplacement de
la fenêtre temporelle d'intégration de l'oeil d'une zone de niveau 127 à une zone
de niveau 128 a pour effet d'intégrer que les cellules sont éteintes pendant la durée
d'une trame, ce qui se traduit par l'apparition d'un contour sombre de la zone. A
l'inverse, le déplacement de la fenêtre temporelle d'intégration de l'oeil d'une zone
de niveau 128 à une zone de niveau 127 a pour effet d'intégrer que les cellules sont
allumées au maximum pendant la durée d'une trame, ce qui se traduit par l'apparition
d'un contour clair de la zone (moins perceptible que le contour foncé). Ce phénomène
est accentué lorsque l'on travaille sur des pixels constitués de trois cellules élémentaires
(rouge, verte et bleue) car les faux contours peuvent être colorés.
[0007] Le phénomène de faux contour se produit sur toutes les transitions de niveau où les
poids d'éclairement commutés correspondent à des groupes de répartition temporelle
totalement différents. Les commutations de poids forts sont plus gênantes que les
commutations de poids faible du fait de leur importance. L'effet résultant peut être
plus ou moins perceptible en fonction des poids commutés et de leurs places. Ainsi,
l'effet de faux contour peut également se produire avec des niveaux assez éloignés
(par exemple 63-128) mais est beaucoup moins choquant pour l'oeil car il correspond
alors à une transition de niveau (ou de couleur) très visible.
[0008] Un problème de scintillement d'image (plus connu sous le terme anglais de Large Area
Flicker) se produit lorsque le temps d'affichage total de la trame est de 20 ms. Le
scintillement d'image est particulièrement perceptible sur les zones d'image de luminosité
moyenne dont l'éclairement reste constant. Ce problème vient essentiellement de la
fonction de filtrage temporel de l'oeil qui se situe environ à 55Hz.
[0009] Un autre problème plus général est la luminosité des panneaux d'affichage au plasma
utilisant ce mode d'adressage. Pour des raisons de clarté de dessin, la figure 1 n'est
pas à l'échelle et ne donne pas une proportion exacte du temps d'adressage. Dans la
réalité, l'adressage complet d'un panneau comportant 480 lignes, pour un sous balayage,
peut prendre environ 1,2 ms soit environ 7% du temps d'affichage d'une image complète
affichée à une fréquence de 60 Hz. Pour un panneau fonctionnant en 50 Hz et comportant
525 lignes le temps d'adressage, pour un sous-balayage complet, est d'environ 1,3
ms soit environ 6,5% du temps d'affichage d'une image. Le temps d'affichage réel d'une
image se trouve donc particulièrement réduit par le temps d'adressage.
[0010] A ces trois problèmes, différentes améliorations sont connues pour minimiser ces
défauts.
[0011] Pour remédier au problème de faux contour, plusieurs solutions ont été mises en oeuvre.
L'idée principale est de casser les poids forts d'éclairement afin de diminuer les
effets visuels des transitions de poids fort. La figure 2 représente une solution
où l'on utilise 10 sous-balayages ce qui entraîne une diminution de luminosité globale
du panneau. Le temps maximum d'éclairement Tmax est alors d'environ 30 % du temps
total d'affichage de l'image et le temps d'effacement et d'adressage est de l'ordre
de 70 %.
[0012] Afin d'augmenter le nombre de sous-balayages sans réduire la luminosité globale de
l'écran, il est connu d'utiliser des sous-balayages communs à deux lignes du panneau
ce qui permet d'augmenter le nombre total de sous-balayages sans réduire le temps
d'affichage réel de l'image. La demande européenne EP-A-0 945 846 dévoile un système
de minimisation de l'erreur due au balayage simultané de plusieurs couples de lignes
à l'aide d'un code à représentation multiple. La figure 3 représente un exemple de
codage sur 14 sous-balayages dont le temps d'affichage correspond à environ 10 sous-balayages.
Dans l'exemple de la figure 3, les sous-balayages de poids 1, 2, 4, 7, 13, 17, 25
et 36 sont communs à deux lignes à la fois, les sous-balayages de poids 5, 10, 20,
30, 40 et 45 étant propres à chaque ligne.
[0013] WO-A-94/09473 divulgue un procédé d'affichage d'une image vidéo sur un panneau d'affichage
dont les cellules fonctionnent en mode "tout ou rien". Selon ce procédé, le problème
de pseudo-contours peut être éliminé en divisant les sous-balayages de poids les plus
élevés en plusieurs sous-balayages partiels qui sont alors répartis sur le temps de
trame de manière symétrique par rapport au point milieu du temps de trame.
[0014] Une autre solution pour augmenter le nombre de sous-balayages consiste à utiliser
un panneau dont les électrodes de colonne sont coupées au milieu définissant ainsi
deux demi-panneaux ayant chacun un nombre de lignes réduit ce qui permet de réduire
les temps d'adressage, les deux demi-panneaux étant adressés indépendamment l'un de
l'autre. Cette solution permet d'augmenter la luminosité globale du panneau.
[0015] Pour remédier au problème de scintillement d'écran, une amélioration consiste à utiliser
des sous-balayages répartis en deux groupes de poids sensiblement équivalent. La figure
4 représente la répartition temporelle d'une image en deux groupes ayant chacun une
durée de 10 ms. Une telle répartition temporelle minimise également le phénomène de
faux contour. Cependant ce type de répartition temporelle nécessite beaucoup de sous-balayages
(14 sous-balayages pour la figure 4) ce qui réduit le gain en luminosité globale produit
par l'utilisation de deux demi-panneaux.
[0016] Une répartition temporelle en deux groupes avec un adressage simultané de deux lignes
apparaît être une solution intéressante. Cependant, une telle combinaison doit répondre
simultanément à différents paramètres liés d'une part à la répartition temporelle
et d'autre part à l'adressage simultané des lignes:
- le temps d'éclairement de chaque cellule doit être également réparti sur les deux
groupes de sous-balayage,
- le temps d'éclairement correspondant aux sous-balayages communs (réciproquement aux
sous-balayages spécifiques) à deux cellules doit être, lui aussi, également réparti,
- la répartition des poids lumineux entre les sous-balayages se fait prioritairement
afin de minimiser l'erreur due à l'adressage simultané de deux lignes.
[0017] Ces paramètres paraissent être incompatibles entre eux. Aucune solution, correspondant
à un compromis acceptable, n'est connue à l'heure actuelle.
[0018] L'invention propose une solution qui combine la technique de sous-balayages communs
à deux lignes avec une répartition en deux groupes de sous-balayages.
[0019] L'invention a pour objet un procédé d'affichage d'une image vidéo sur un panneau
d'affichage au plasma comportant une pluralité de cellules de décharge dans lequel
chaque cellule est éclairée pendant une durée d'éclairement à l'aide d'une pluralité
de sous-balayages ayant chacun une durée propre, la pluralité de sous-balayages étant
répartis en deux groupes temporels successifs, et dans lequel la durée d'éclairement
de chaque cellule est répartie entre les deux groupes, chaque groupe comportant des
premiers et deuxièmes sous-balayages, les premiers sous-balayages étant propres à
chaque cellule et les deuxièmes sous-balayages étant communs à au moins deux cellules,
procédé selon lequel la somme des durées de tous les premiers sous-balayages du premier
groupe est supérieure à la somme des durées de tous les premiers sous-balayages du
deuxième groupe et en ce que la somme des durées de tous les deuxièmes sous-balayages
du premier groupe est inférieure à la somme des durées de tous les deuxièmes balayages
du deuxième groupe. Une telle répartition des sous-balayages permet d'avoir une compensation
entre les deux groupes de part la répartition des sous-balayages.
[0020] Selon un mode particulier de réalisation, pour chaque cellule, la différence de durée
d'éclairement entre les premier et deuxième groupes se compense entre les premiers
et deuxièmes sous-balayage de sorte que la différence globale entre les durées d'éclairement
des premier et deuxième groupes soient inférieure à un seuil. Il s'agit d'une répartition
dynamique des durées sur les premiers et deuxièmes sous-balayages afin que l'on compense
les déséquilibres des premiers sous-balayages à l'aide des deuxièmes sous-balayages.
Le deuxième mode de réalisation est indépendant du premier mode mais peut avantageusement
se combiner avec le premier mode.
[0021] L'invention sera mieux comprise et d'autres particularités et avantages apparaîtront
à la lecture de la description qui va suivre, la description faisant référence aux
dessins annexés parmi lesquels :
les figures 1 à 4 représentent des répartitions temporelles de sous-balayages pendant
l'affichage d'une image selon l'état de la technique,
les figures 5 et 6 représentent des répartitions temporelles de sous-balayages pendant
l'affichage d'une image selon l'invention,
les figures 7 à 9 illustrent un algorithme de codage de niveau de gris selon l'invention,
la figure 10 représente un circuit de traitement mettant en oeuvre l'algorithme de
codage selon l'invention,
les figures 11 à 15 représentent des détails du circuit de la figure 10,
la figure 16 représente un écran d'affichage au plasma mettant en oeuvre l'invention.
[0022] Pour des raisons de représentation, la répartition temporelle des sous-balayages
fait appel à des proportions significatives qui ne correspondent pas à une échelle
linéaire exacte.
[0023] La figure 5 représente une première répartition temporelle préférée réalisant l'invention.
Cette répartition temporelle comporte des premiers sous-balayages PSB propres à chaque
ligne qui permettent d'adresser de manière individuelle chaque cellule de l'écran.
Dans l'exemple préféré, on dispose de sept premiers sous-balayages PSB auxquels sont
associés les poids d'éclairement respectifs 5, 10, 10, 20, 20, 40 et 40. Un tel choix
permet d'avoir une valeur maximale de différence de 145 sur 255 niveaux de gris. Une
étude statistique sur des images vidéo permet de déterminer que la probabilité d'erreur
due à la valeur maximale de différence est inférieure à 5%.
[0024] Des deuxièmes sous-balayages DSB adressent simultanément deux lignes adjacentes.
Dans l'exemple préféré, on dispose de huit deuxièmes sous-balayages DSB auxquels sont
associés les poids respectifs 1, 2, 4, 8, 8, 16, 16, 24, 24. L'homme du métier peut
s'apercevoir qu'il existe une perte de résolution sur les valeurs à forte luminance,
le niveau maximum après codage étant égal à 244 et non 255. Une telle différence sur
les fortes luminosités n'est toutefois pas visible si l'on effectue une compression
appropriée sur les niveaux élevés. Il est également possible d'effectuer une transposition
sur 245 niveau au lieu de 256 lors de la correction gamma effectuée préalablement.
[0025] Les premiers et deuxièmes sous-balayages PSB et DSB sont répartis en premier et deuxième
groupe PG et DG. La durée globale (temps d'éclairement et d'adressage) de chaque groupe
est sensiblement la même, dans cet exemple la différence est de l'ordre de 1%. Par
ailleurs, les poids d'éclairement sont répartis de manière équivalente, le premier
groupe PG comportant les poids d'éclairement 5, 8, 10, 16, 20, 24 et 40, et le deuxième
groupe comportant les poids d'éclairement 1, 2, 4, 8, 10, 16, 20, 24 et 40. La répartition
des premiers sous-balayages PSB et des deuxièmes sous-balayages DSB est légèrement
déséquilibrée mais le déséquilibre se fait en faveur des premiers sous-balayages PSB
dans le premier groupe et en faveur des deuxièmes sous-balayages DSB dans le deuxième
groupe DG. Le procédé de l'invention va utiliser les déséquilibres entre les premiers
et deuxièmes sous-balayages PSB et DSB afin de les compenser mutuellement pour que
le résultat final du codage corresponde à un quasi équilibre entre les premier et
deuxième groupes PG et DG.
[0026] Selon un premier mode de réalisation, on utilise le code de la figure 5. On effectue
une séparation des niveaux de gris partageant un adressage commun en partie commune
et parties spécifiques selon une technique connue. On effectue ensuite la répartition
entre les groupes :
- on sépare en deux parties les parties spécifiques correspondant aux premiers sous-balayages,
si la séparation entraîne un déséquilibre, alors le déséquilibre se fait en faveur
du premier groupe ;
- on sépare en deux parties la partie commune correspondant aux deuxièmes sous-balayages,
si la séparation entraîne un déséquilibre, alors le déséquilibre se fait en faveur
du deuxième groupe, les poids égaux à 24 étant toujours activés ou inactivés simultanément.
[0027] On remarque que la séparation des premiers sous-balayages peut entraîner un déséquilibre
de 15 en faveur du premier groupe, et que la séparation des deuxièmes sous-balayages
peut entraîner un déséquilibre de 15 en faveur du deuxième groupe. Cependant, de par
la répartition, le déséquilibre réel n'est supérieur à 10 que dans 15% des cas possibles,
et est inférieur ou égal à 5 dans 53% des cas.
[0028] A titre d'exemple, on utilise par exemple la méthode de codage dévoilée dans la demande
EP-A-0 945 846 de la page 5, ligne 39 à la page 6 ligne 34 avec un coefficient α =
5/16 pour encoder simultanément deux niveaux de gris NG1 et NG2 ayant une partie commune
NC et une partie spécifique NS1 et NS2 propre à chaque niveau de gris.
Exemple 1 :
[0029]
NG1 = 100 et NG2 = 128
NG2 - NG1 = 28
Différence arrondie de minimisation d'erreur : D = 30
Valeurs corrigées à encoder : NG1 = 99 et NG2 = 129
NS2 = D + αNG1 = 60
NS1 = αNG1 = 30
NC = 69
[0030] D'où les codages suivant des valeurs spécifiques et commune:
NS2 = 10 + 10 + 20 + 20
NS1 = 10 + 20
NC = 1 + 4 + 8 + 8 + 24 + 24
[0031] Ce qui revient à coder les valeurs NG1 et NG2 :
NG1 : 8 + 20 + 24 = 52 / 1 + 4 + 8 + 10 + 24 = 47
NG2 : 8 + 10 +20 + 24 = 62 / 1 + 4 + 8 + 10 + 20 +24 = 67
Exemple 2 :
[0032]
NG1 = 62 et NG2 = 136
NG2 - NG1 = 74
Différence arrondie de minimisation d'erreur : D = 75
Valeurs corrigées à encoder : NG1 = 61 et NG2 = 136
NS1 = αNG1 = 15
NS2 = D + αNG1 =90
NC = 46
[0033] D'où les codages suivant des valeurs spécifiques et commune:
NS2 = 10 + 40 + 40
NS1 = 5 + 10
NC = 2 + 4 + 8 + 16 + 16
[0034] Ce qui revient à coder les valeurs NG1 et NG2 :
NG1 : 5 + 10 + 16 = 31 / 2 + 4 + 8 + 16 = 30
NG2: 10+16+40=66/2+4+8+16+40=70
[0035] Les exemples précédemment décrits présentent tous deux des différences entre les
premier et deuxième groupes qui sont inférieures à 5. Malheureusement, comme cela
a été précédemment indiqué, cet exemple présente d'une part une limitation dans la
résolution et d'autre part un déséquilibre maximum pouvant être d'un poids de 15.
[0036] La figure 6 représente une autre répartition temporelle préférée pour laquelle un
mode de réalisation va être décrit plus en détail. Cette répartition temporelle comporte
des premiers sous-balayages PSB propres à chaque ligne qui permettent d'adresser de
manière individuelle chaque cellule de l'écran. Dans l'exemple préféré, on dispose
de sept premiers sous-balayages PSB auxquels sont associés les poids d'éclairement
respectif 5, 10, 10, 20, 20, 40 et 40. Un tel choix permet d'avoir une valeur maximale
de différence de 145 sur 256 niveaux de gris. Une étude statistique sur des images
vidéo permet de déterminer que la probabilité d'erreur due à la valeur maximale de
différence est inférieure à 5%.
[0037] Des deuxièmes sous-balayages DSB adressent simultanément deux lignes adjacentes.
Dans l'exemple préféré, on dispose de neuf deuxièmes sous-balayages DSB auxquels sont
associés les poids respectifs 1, 2, 4, 7, 8, 14, 16, 28, 30.
[0038] Les premiers et deuxièmes sous-balayages PSB et DSB sont répartis en premier et deuxième
groupes PG et DG. La durée globale (temps d'éclairement et d'adressage) de chaque
groupe est sensiblement la même, dans notre exemple la différence est de l'ordre de
0,5%. Par ailleurs, les poids d'éclairement sont répartis de manière équivalente,
le premier groupe PG comportant les poids d'éclairement 5, 7, 10, 14, 20, 30 et 40,
et le deuxième groupe comportant les poids d'éclairement 1, 2, 4, 8, 10, 16, 20, 28
et 40. La répartition des premiers sous-balayages PSB et des deuxièmes sous-balayages
DSB est légèrement déséquilibrée mais le déséquilibre se fait en faveur des premiers
sous-balayages PSB dans le premier groupe et en faveur des deuxièmes sous-balayages
DSB dans le deuxième groupe DG. Le procédé de l'invention va utiliser les déséquilibres
entre les premiers et deuxièmes sous-balayages PSB et DSB afin de les compenser mutuellement
pour que le résultat final du codage corresponde à un quasi équilibre entre les premier
et deuxième groupes PG et DG.
[0039] Le procédé de codage des niveaux de gris pour chaque paire de cellules va à présent
être décrit à l'aide de l'algorithme de la figure 7. L'algorithme débute avec deux
niveaux de gris NG1 et NG2 connus associés respectivement à une première et une deuxième
cellules ayant des sous-balayages communs.
[0040] Dans une première étape 101, on calcule la valeur absolue de la différence entre
NG1 et NG2. Cette différence |NG1 - NG2| est ensuite arrondie à cinq pour minimiser
l'erreur, la différence arrondie étant appelée D par la suite.
[0041] Dans une deuxième étape 102, on calcule les valeurs V1 et V2 correspondant respectivement
aux niveaux NG1 et NG2. Ces valeurs V1 et V2 sont déterminées d'une part en fonction
de l'arrondi réalisé sur la différence |NG1 - NG2| et d'autre part en fonction des
valeurs minimale et maximale de NG1 et NG2. Dans l'exemple décrit, l'arrondi de la
différence et la modification de V1 et V2 s'effectue selon le tableau suivant :
| Dernier chiffre de |NG1 - NG2| |
D |
V1 |
V2 |
| 0 |
0 |
Max(NG1, NG2) |
Min(NG1, NG2) |
| 1 |
0 |
Max(NG1, NG2)- 1 |
Min(NG1, NG2) |
| 2 |
0 |
Max(NG1, NG2)- 1 |
Min(NG1, NG2) + 1 |
| 3 |
5 |
Max(NG1, NG2) + 1 |
Min(NG1, NG2) - 1 |
| 4 |
5 |
Max(NG1, NG2) |
Min(NG1, NG2) - 1 |
| 5 |
5 |
Max(NG1, NG2) |
Min(NG1, NG2) |
| 6 |
5 |
Max(NG1, NG2) - 1 |
Min(NG1, NG2) |
| 7 |
5 |
Max(NG1, NG2)- 1 |
Min(NG1, NG2) + 1 |
| 8 |
0 (diz. sup.) |
Max(NG1, NG2) + 1 |
Min(NG1, NG2)- 1 |
| 9 |
0 (diz. sup.) |
Max(NG1, NG2) |
Min(NG1, NG2) - 1 |
[0042] Après calcul de V1 et V2, on effectue un premier test 103. Le premier test 103 vérifie
si la différence arrondie D est supérieure à la différence maximale DMAX qui est dans
notre exemple préféré égale à 145. Si D est supérieure à DMAX alors on effectue une
troisième étape 104, sinon on effectue un deuxième test 105.
[0043] Le deuxième test 105 vérifie si la différence arrondie D est multiple de 20. Pour
simplifier la mise en oeuvre, on peut uniquement tester si D est multiple de 4. Si
D est multiple de 20 alors on effectue une quatrième étape 106, sinon on effectue
un troisième test 107.
[0044] Le troisième test 107 vérifie si la différence arrondie D est multiple de 10. Pour
simplifier la mise en oeuvre, il suffit de vérifier si D est multiple de 2. Si D est
multiple de 2, alors on effectue une cinquième étape 108, sinon on effectue un quatrième
test 109.
[0045] Le quatrième test 109 vérifie si la différence arrondie additionnée de 5 est multiple
de 20. Pour simplifier la mise en oeuvre, il suffit de vérifier si les deux bits de
poids faible de D sont tous les deux égaux à 1. Si la différence arrondie additionnée
de 5 est multiple de 20, alors on effectue une sixième étape 110, sinon on effectue
une septième étape 111.
[0046] Dans la pratique les premiers à quatrième test 103, 105, 107 et 109 peuvent être
réalisés de manière successive ou simultanément selon les choix technologiques fait
par l'homme du métier. De même, les troisième à septième étapes 104, 106, 108, 110
et 111 peuvent être réalisée soit de manière conditionnelle en fonction des résultats
des premier à quatrième tests 103, 105, 107 et 109 ou simultanément, le résultat des
test ne servant qu'à choisir le résultat de l'une des étapes après exécution.
[0047] Les troisième à septième étapes 104, 106, 108, 110 et 111 servent à répartir la différence
arrondie D sur les premier et deuxième groupes PG et DG. Dans cet exemple, la différence
arrondie est répartie de manière à avoir le plus petit déséquilibre possible. Par
la suite, la notation D1 correspond à la partie de la différence arrondie D qui est
placée dans le premier groupe PG , et la notation D2 correspond à la partie de la
différence arrondie D qui est placée dans le deuxième groupe DG.
[0048] La troisième étape 104 attribue les valeurs maximales D1MAX et D2MAX à D1 et D2,
dans notre exemple, D1 = D1MAX = 75 et D2 = D2MAX = 70. A l'issue de cette troisième
étape 104, une huitième étape 112 recalcule la valeur V1 pour que celle-ci soit égale
à V2 + DMAX. L'homme du métier pourra aisément comprendre que la troisième et la huitième
étape 104 et 112 peuvent être effectuées dans un ordre quelconque.
[0049] La quatrième étape 106 sert à répartir la différence D de manière égale entre les
premier et deuxième groupes PG et DG tel que D1 = D2 = D/2.
[0050] La cinquième étape 108 répartit la différence D entre les premier et deuxième groupe
PG et DG avec un déséquilibre de 10 en faveur du premier groupe PG. On a, à l'issue
de cette cinquième étape 108, D1 = (D / 2) + 5 et D2 = (D / 2) - 5.
[0051] La sixième étape 110 répartit la différence D entre les premier et deuxième groupe
PG et DG avec un déséquilibre de 5 en faveur du deuxième groupe DG. On a, à l'issue
de cette sixième étape 110, D1 = (D - 5) / 2 et D2 = D1 + 5.
[0052] La septième étape 111 répartit la différence D entre les premier et deuxième groupe
PG et DG avec un déséquilibre de 5 en faveur du premier groupe PG. On a, à l'issue
de cette septième étape 111, D1 = (D + 5) / 2 et D2 = D1 - 5.
[0053] Suivant les résultats des premier à quatrième tests 103, 105, 107 et 109, une neuvième
étape 113 est effectuée à l'issue de l'une des quatrième à huitième étape 106, 108,
110, 111 et 112. La neuvième étape 113 sert à déterminer quelle valeur commune C1
doit être déterminée pour compenser au mieux les déséquilibres dus à la répartition
de la différence arrondie D sur les parties D1 et D2, la valeur commune C1 correspondant
au premier groupe PG. Le premier groupe ne permettant pas de coder toutes les valeurs,
il convient de calculer une valeur optimum de C1 qui sera corrigée lors de l'encodage
réel. La valeur optimum de C1 correspond au résultat de l'opération ((V1 + V2) / 2
- D1) / 2 qui est arrondie à l'entier inférieur dans l'exemple préféré.
[0054] Après la neuvième étape 113, on effectue une dixième étape 114 d'encodage des valeurs
C1 + D1 et C1 sur les sous-balayages du premier groupe PG. Au cours de cette dixième
étape 114, la valeur de C1 va également être affinée. Une méthode consiste à déterminer
tous les encodages possibles des valeurs C1 et C1+D1 pour la valeur optimum de C1.
S'il n'est pas possible d'encoder avec la valeur optimum de C1, alors on essaie d'encoder
avec les valeurs correspondant à C1+/-1 puis C1+/-2 jusqu'à obtention d'au moins un
code qui marche. Après comparaison des différents codages possibles on détermine la
valeur finale de C1 comme étant la valeur qui correspond par exemple à un encodage
sur un nombre maximal de sous-balayages. Le calcul de C2 se fait ensuite tout naturellement
par soustraction : C2 = V1 - (C1 + D). L'homme du métier pourra remarquer que le déséquilibre
entre partie commune et différence se trouve compensé lors du calcul de C2. Cette
dixième étape 114 fournit également trois mots SM1, Sm1 et COM1 qui correspondent,
pour le premier groupe PG, respectivement au codage des premiers sous-balayages PSB
spécifiques au plus haut niveau de gris, au codage des premiers sous-balayages PSB
spécifiques au plus bas niveau de gris, et au codage des deuxièmes sous-balayages
DSB communs aux deux niveaux de gris, Les trois mots SM1, Sm1 et COM1 correspondant
à la valeur de C1 retenue.
[0055] Puis, on effectue une onzième étape 115 d'encodage des valeurs C2 + D2 et C2 sur
les sous-balayages du deuxième groupe DG. L'homme du métier peut appliquer une technique
connue pour effectuer cet encodage, ou utiliser l'algorithme décrit par la suite en
référence avec la figure 8.
[0056] Pour finir, une douzième étape 116 effectue une mise en forme des valeurs encodées.
Cette mise en forme sert à faire correspondre les valeurs encodées avec les niveaux
de gris en fonction du niveau de gris le plus élevé.
[0057] A présent, il va être décrit un algorithme d'encodage en référence avec la figure
8. L'algorithme décrit s'applique à la onzième étape 115. Une treizième étape 201
réalise l'encodage de la valeur D2+C2. L'encodage réalisé consiste à effectuer le
codage de la valeur D2+C2 sur la totalité des sous-balayages PSB et DSB du deuxième
groupe DG en privilégiant les sous-balayages correspondants aux poids faibles d'éclairement.
Après encodage, on obtient un mot de 9 bits, le mot étant décomposable en un premier
mot SPEMAX correspondant à l'activation des premiers sous-balayages PSB du deuxième
groupe DG et en un deuxième mot COMMAX correspondant à l'activation des deuxièmes
sous-balayages DSB du deuxième groupe DG.
[0058] Une quatorzième étape 202 réalise l'encodage des valeurs D2 et C2 de manière séparée.
D2 est encodée en un troisième mot SPEMIN correspondant à l'activation des premiers
sous-balayages PSB du deuxième groupe DG. C2 est encodée en un quatrième mot COMMIN
correspondant à l'activation des deuxièmes sous-balayages DSB du deuxième groupe DG.
[0059] A l'issue de la quatorzième étape 202, on effectue un test 203. Le test 203 vérifie
si la partie D2 du deuxième groupe est supérieure à la valeur correspondant au premier
mot SPEMAX. Si D2 est supérieure à la valeur de SPEMAX alors on effectue une quinzième
étape 204, sinon on effectue une seizième étape 205.
[0060] Les quinzième et seizième étapes 204 et 205 sont des étapes d'affectation qui déterminent
trois mots SM2, Sm2 et COM2 qui correspondent, pour le deuxième groupe DG, respectivement
au codage des premiers sous-balayages PSB spécifiques au plus haut niveau de gris,
au codage des premiers sous-balayages PSB spécifiques au plus bas niveau de gris,
et au codage des deuxièmes sous-balayages DSB communs aux deux niveaux de gris.
[0061] La quinzième étape 204 affecte le mot SPEMIN au mot SM2, un mot nul au mot Sm2, et
le mot COMMIN au mot COM2.
[0062] La seizième étape 205 affecte le mot SPEMAX au mot SM2, un mot équivalent à la différence
entre la valeur de SPEMAX et la valeur D2 au mot Sm2, et le mot COMMAX au mot COM2.
[0063] La figure 9 schématise le déroulement de la douzième étape 116. En fonction d'un
test sur le niveau de gris le plus élevé, les mots SMi et Smi sont affectés soit au
niveau de gris NG1 soit au niveau de gris NG2.
[0064] L'algorithme composé des algorithmes des figures 7 à 9 se répète pour chaque paire
de cellules dont les deuxièmes sous-balayages DSB sont communs.
[0065] Afin de mieux comprendre le fonctionnement du procédé faisant l'objet de l'invention,
il va à présent être décrit quelques exemples d'application. Pour plus de clarté,
les différents mots correspondant au codage des sous-balayages sont représentés sous
la forme d'une somme de valeurs, chaque valeur correspondant à l'activation du sous-balayage
associé à ladite valeur.
Premier exemple :
[0066]
NG1 = 130, NG2 = 124
|NG1 - NG2| = 6 => D = 5, V1 = 130 et V2 = 125
D1 = 5 et D2 = 0
Valeur optimale de C1 = 61
Encodages possibles de D1 + C1 et C1 sur le premier groupe
61 = 7+10+14+30 / 66 = 5+7+10+14+30
61 = 7+14+40 / 66 = 5+7+14+40
[0067] On conserve le premier cas et on obtient :
SM1 = 5+10 ; Sm1 = 10 ; COM1 = 7+14+30 ; et C2 = 64
Encodage de D2+C2 et C2 sur le deuxième groupe
D2 + C2 = 61 = 1 + 2 + 4 + 8 + 10 + 16 + 20
SPEMAX = 10 + 20 > D2
COMMAX = 1 + 2 + 4 + 8 + 16
COMMIN non encodable
SM2 = Sm2 = 10 + 20
COM2 = 1 + 2 + 4 + 8 + 16
NG1 étant supérieur à NG2, on obtient :
S11 = SM1 ; S12 = SM2 ; S21 = Sm1 ; S22 = Sm2
Code(NG1) = 5+7+10+14+30 = 66 / 1+2+4+8+10+16+20 = 64
Code(NG2) = 7+10+14+30 = 61 / 1+2+4+8+10+16+20 = 64
Deuxième exemple :
[0068]
NG1 = 62, NG2 = 130
|NG1 - NG2| = 68 => D = 70 ; V1 = 131 ;V2 = 61
D1 = 40 et D2 = 30
Valeur optimum de C1 = 28
Encodages possibles de D1+C1 et C1 sur le premier groupe
28 et 68 ne sont pas encodables
29 = 5+10+14 / 69 = 5+10+14+40
27 = 7+20 / 67 = 7+20+40
On conserve le cas où C1 = 27 et on obtient :
SM1 = 5+10+40 ; Sm1 = 5+10 ; COM1 = 14 ; et C2 = 32
Encodage de D2+C2 et C2 sur le deuxième groupe
D2+C2 = 62 = 8+10+16+28
SPEMAX = 10 < D2
COMMAX = 8+16+28
SPEMIN = 10+20
COMMIN = 4+28
SM2 = SPEMIN = 10+20 ; Sm2 = 0
COM2 = COMMIN = 4+28
NG1 étant inférieur à NG2, on obtient :
S11 = Sm1 ; S12 = Sm2 ; S21 = SM1 ; S22 = SM2
Code(NG1) = 5+10+14 = 29/4+28 = 32
Code(NG2) = 5+10+14+40 = 69 / 4+10+20+28 = 62
[0069] Dans ces deux exemples, l'homme du métier peut voir que les différents couples de
niveaux de gris NG1 et NG2 sont toujours répartis de manière globalement homogène.
Cependant, les déséquilibres entre les premiers sous-balayages (et entre les deuxièmes
sous-balayages) sont bien plus importants lors du codage que lors de l'exemple précédent
et sont indépendant du déséquilibre final entre les groupes. Une étude statistique
montre que dans 85% des cas (au total 65536 cas) la différence de poids entre les
deux groupes n'excède pas 5. De plus, dans aucun cas la différence de poids entre
les deux groupes d'excédé 10.
[0070] Bien évidemment l'homme du métier s'apercevra d'une perte de résolution lorsque l'on
se trouve dans le cas d'une différence de niveau de gris trop importante. Ce défaut
découle de l'utilisation commune d'une même ligne pour adresser deux cellules et il
n'est pas corrigé dans la présente invention.
[0071] Il va à présent être décrit un mode de réalisation préféré de l'invention en faisant
référence aux figures 10 à 15. La figure 10 représente un dispositif d'encodage 300,
selon l'invention, servant à encoder les niveaux de gris NG1 et NG2 selon les algorithmes
correspondant aux figures 7 à 9. Un panneau d'affichage au plasma peut comporter un
ou plusieurs dispositifs de ce type suivant le temps de calcul nécessaire et le nombre
de cellules présentes sur ledit panneau.
[0072] Le dispositif d'encodage 300 dispose de premier et deuxième bus d'entrée, par exemple
des bus de huit bits, pour recevoir les niveaux de gris NG1 et NG2 correspondant à
deux cellules partageant les mêmes deuxièmes sous-balayages DSB. Les niveaux de gris
NG1 et NG2 peuvent être issus soit d'une mémoire d'image contenant la totalité de
l'image, soit d'un dispositif de décodage qui effectue le décodage d'un signal vidéo
et qui le traduit en niveau de gris pour chaque cellule. Le dispositif d'encodage
300 dispose de six bus de sortie qui fournissent les mots COM1, COM2, S11, S12, S21
et S22 qui correspondent à des codes d'allumage ou de non-allumage respectivement
pour les deuxièmes sous-balayages DSB des premier et deuxième groupes PG et DG, pour
les premiers sous-balayages PSB des premier et deuxième groupes PG et DG associés
au premier niveau de gris NG1 et pour les premiers sous-balayages PSB des premier
et deuxième groupes PG et DG associés au deuxième niveau de gris NG2.
[0073] Le dispositif d'encodage 300 comporte un circuit de différence 301 qui reçoit les
deux niveaux de gris NG1 et NG2 à encoder et fournit sur une première sortie la valeur
absolue de la différence entre NG1 et NG2. De plus, sur une deuxième sortie dudit
circuit de différence 301, un bit d'information SelC indique quel est le niveau de
gris NG1 ou NG2 qui est à considérer comme supérieur à l'autre.
[0074] Le circuit de différence 301 est par exemple constitué comme indiqué sur la figure
11. Des premier et deuxième circuits de soustraction 401 et 402 reçoivent les niveaux
de gris NG1 et NG2 sur des entrées opposées, de sorte que le premier circuit de soustraction
401 fournisse sur une sortie de résultat la différence NG1 - NG2 et que le deuxième
circuit de soustraction 402 fournisse sur une sortie de résultat la différence NG2
- NG1. Le deuxième circuit de soustraction dispose par ailleurs d'une sortie de débordement
(également connu sous le nom de sortie de retenue) qui permet de savoir si le résultat
de la soustraction est positif ou négatif et donc fournit le bit d'information SelC.
Un multiplexeur 403 reçoit sur une entrée de sélection le bit d'information SelC et
dispose de première et deuxième entrées connectées aux sorties de résultat des premier
et deuxième circuits de soustraction 401 et 402 respectivement. Le multiplexeur 403
sélectionne le résultat positif en fonction du bit d'information SelC de sorte que
la sortie du multiplexeur 403 corresponde à la sortie du circuit de différence 301.
[0075] Le dispositif d'encodage 300 comporte en outre un circuit de comparaison 302 qui
compare la valeur absolue de la différence |NG1 - NG2| avec la valeur maximale de
différence DMAX qui est fixée par les sous-balayages utilisés. Le circuit de comparaison
302 fournit un signal de sélection SelA qui correspond au résultat du premier test
103. L'homme du métier peut remarquer qu'il n'est pas nécessaire d'arrondir à 5 pour
effectuer cette comparaison car le résultat final reste équivalent avant ou après
l'arrondi.
[0076] Un circuit d'arrondi 303 reçoit la valeur absolue de la différence |NG1 - NG2| pour
l'arrondir à 5. Une première sortie fournit la différence arrondie D et une deuxième
sortie fournit un bus de commande d'arrondi. Le bus de commande d'arrondi indique
comment les valeurs V1 et V2 doivent être modifiées. Le circuit d'arrondi 303 peut
être réalisé à l'aide d'une table de correspondance dont une partie des bits de sortie
correspond à la différence arrondie D et une autre partie des bits de sortie correspond
à un code de commande. L'homme du métier remarquera que la coopération du circuit
de différence 301 avec le circuit d'arrondi 303 réalise fa fonction de la première
étape 101.
[0077] Un premier circuit de calcul 304 reçoit les niveaux de gris NG1 et NG2 et fournit
les valeurs V1 et V2 qui vont être utilisées pour le codage. Le premier circuit de
calcul 304 reçoit à cet effet le bit d'information SelC pour faire correspondre le
niveau NG1 ou NG2 le plus élevé à la valeur V1 et le niveau NG1 le plus faible à la
valeur V2. Le premier circuit de calcul 304 reçoit également le bus de commande provenant
du circuit d'arrondi 303 pour réaliser s'il y a lieu une addition ou une soustraction
de une unité sur V1 et/ou V2.
[0078] Un deuxième circuit de calcul 305 reçoit la différence arrondi D provenant du circuit
d'arrondi 303 et le signal de sélection SelA qui vont être utilisés pour foumir les
parties de différence D1 et D2. Le deuxième circuit de calcul 305 réalise avantageusement
les étapes 104, 106, 108, 110 et 111. A cet effet, le deuxième circuit de calcul 305
est décrit plus en détails à l'aide de la figure 12.
[0079] Le deuxième circuit de calcul 305 comporte des premier et deuxième multiplexeurs
501 et 502. Chacun des premier et deuxième multiplexeurs 501 et 502 dispose d'un bus
de sortie et de cinq bus d'entrée commutés en fonction d'une part du signal de sélection
SelA et d'autre part des deux bits de poids faibles D[1:0] de la différence arrondie
D. Les premier et deuxième multiplexeurs 501 et 502 effectuent la sélection respectivement
des première et deuxième parties de différence D1 et D2 en fonction des résultats
des premier à quatrième tests 103, 105, 107 et 109. L'homme du métier peut remarquer
que les deuxième à quatrième tests 105, 107 et 109 sont effectués simultanément à
partir des deux bits D[1:0] de poids faible de la différence arrondie D.
[0080] Lorsque le signal de sélection SelA indique que la différence D est supérieure à
la différence maximale DMAX, alors les premier et deuxième multiplexeurs 501 et 502
relient leurs bus de sortie à leurs premières entrées qui reçoivent respectivement
les valeur D1MAX et D2MAX de sorte que l'on ait D1 = D1MAX et D2 = D2MAX. Lorsque
le signal de sélection SelA indique que la différence D est inférieure ou égale à
la différence maximale DMAX, alors les premier et deuxième multiplexeurs 501 et 502
relient leurs bus de sortie à leurs deuxième à cinquième entrées en fonction des deux
bits D[1:0] de poids faible de la différence arrondie D.
[0081] Un premier circuit de division 503 reçoit la valeur D sur une entrée et fournit la
valeur D / 2 sur une sortie. La sortie du premier circuit de division 503 est connectée
aux deuxièmes entrées des premier et deuxième multiplexeurs 501 et 502 de sorte que
lorsque les deux bits D[1:0] de poids faible de la différence arrondie D sont égaux
à la valeur 00 (D multiple de 4) alors on ait D1 = D2 = D / 2.
[0082] Un premier circuit d'addition 504 dispose de première et deuxième entrées et d'une
sortie, la première entrée étant connectée à la sortie du premier circuit de division
503 et la deuxième entrée recevant la valeur 5 de sorte que la sortie fournisse la
valeur (D / 2) + 5. La sortie du premier circuit d'addition 504 est connectée à la
troisième entrée du premier multiplexeur 501 de sorte que lorsque les deux bits D[1:0]
de poids faible de la différence arrondie D sont égaux à la valeur 10 (D multiple
de 2) alors on ait D1 = (D / 2) + 5. Un premier circuit de soustraction 505 dispose
de première et deuxième entrée et d'une sortie, la première entrée étant connectée
à la sortie du premier circuit de division 503 et la deuxième entrée recevant la valeur
5 de sorte que la sortie fournisse la valeur (D / 2) - 5. La sortie du premier circuit
de soustraction 505 est connectée à la troisième entrée du deuxième multiplexeur 502
de sorte que lorsque les deux bits D[1:0] de poids faible de la différence arrondie
D sont égaux à la valeur 10 (D multiple de 2) alors on ait D2 = (D / 2) - 5.
[0083] Le deuxième circuit de calcul 305 dispose également de deuxième et troisième circuits
de division 506 et 507 ayant une entrée et une sortie, la sortie fournissant la valeur
présente à l'entrée divisée par deux. Un deuxième circuit de soustraction 508, disposant
de deux entrées et d'une sortie, reçoit sur une entrée la valeur D et sur l'autre
entrée la valeur 5 de sorte que la sortie fournisse une valeur égale à D - 5. La sortie
du deuxième circuit de soustraction 508 est connectée à l'entrée du deuxième circuit
de division 506 de sorte que la sortie du deuxième circuit de division 506 fournisse
la valeur (D - 5) / 2. La sortie du deuxième circuit de division 506 est connectée
d'une part à la quatrième entrée du premier multiplexeur 501 et d'autre part à la
cinquième entrée du deuxième multiplexeur 502 de sorte que, d'une part, lorsque les
deux bits D[1:0] de poids faible de la différence arrondie D sont égaux à la valeur
11 (D+5 multiple de 20) alors on ait D1 = (D - 5) / 2, et que, d'autre part, lorsque
les deux bits D[1:0] de poids faible de la différence arrondie D sont égaux à la valeur
01 (D+5 non multiple de 20) alors on ait D2 = (D - 5) / 2.
[0084] Un deuxième circuit d'addition 509, disposant de deux entrées et d'une sortie, reçoit
sur une entrée la valeur D et sur l'autre entrée la valeur 5 de sorte que la sortie
fournisse une valeur égale à D + 5. La sortie du deuxième circuit d'addition 509 est
connectée à l'entrée du troisième circuit de division 507 de sorte que la sortie du
troisième circuit de division 507 fournisse la valeur (D + 5) / 2. La sortie du troisième
circuit de division 507 est connectée d'une part à la cinquième entrée du premier
multiplexeur 501 et d'autre part à la quatrième entrée du deuxième multiplexeur 502
de sorte que, d'une part, lorsque les deux bits D[1:0] de poids faible de la différence
arrondie D sont égaux à la valeur 01 (D+5 non multiple de 20) alors on ait D1 = (D
+ 5) / 2, et que, d'autre part, lorsque les deux bits D[1:0] de poids faible de la
différence arrondie D sont égaux à la valeur 11 (D+5 multiple de 20) alors on ait
D2 = (D + 5) / 2.
[0085] L'homme du métier peut remarquer que les circuits de division 503, 506 et 507 sont
des circuits fictifs car il suffit de décaler la valeur d'entrée d'un bit c'est à
dire de faire une connexion de bus décalée. Egalement, l'homme du métier pourra réaliser
avantageusement des circuits d'addition 504 et 509 et de soustraction 505 et 508 simplifiés
car les opérations sont limitées à la valeur 5.
[0086] Le dispositif d'encodage 300 comporte également un circuit de correction 306 qui
reçoit les valeurs V1 et V2 en provenance du premier circuit de calcul 304 et le signal
de sélection SelA en provenance du circuit de comparaison 302 et qui fournit la valeur
V1 éventuellement corrigée comme indiqué à la huitième étape 112. Le circuit de correction
306, décrit sur la figure 13, comporte un multiplexeur 601 et un circuit d'addition
602. Le circuit d'addition 602 réalise l'addition de la valeur V2 avec la valeur DMAX.
Le multiplexeur 601 choisit en fonction du signal de sélection SelA si la nouvelle
valeur de V1 est égale à la valeur V1 calculée dans le premier circuit de calcul 304
ou à la valeur corrigée égale à V2 + DMAX.
[0087] Un troisième circuit de calcul 307 réalise le calcul de la valeur C1 détaillé à la
neuvième étape 113. Le troisième circuit de calcul 307 reçoit les valeurs D1, V1 et
V2 et fournit la valeur C1 = (((V1 + V2) / 2) - D1) / 2. L'homme du métier peut par
exemple utiliser un circuit du type représenté sur la figure 14.
[0088] Le dispositif d'encodage 300 comprend un premier circuit d'encodage 308 qui reçoit
les valeurs C1 et D1 et qui fournit d'une part les trois mots de codage SM1, Sm1 et
COM1, et d'autre part une information de correction SelB. La méthode d'encodage utilisée
correspond à celle décrite pour la dixième étape 114. Pour des raisons pratiques,
on utilise une table de correspondance qui comporte déjà les résultats précalculés.
La table de correspondance est par exemple constituée d'une mémoire organisée en mots
de 14 bits, 4 bits correspondant à SM1, 4 bits correspondant à Sm1, 3 bits correspondant
à COM1 et 3 bits correspondant à SelB. La mémoire comporte 12 fils d'adresse, 7 bits
pour la valeur C1 et 5 bits pour la valeur D1. On prendra bien soin de ne pas utiliser
les deux bits de poids faible de la valeur D1 qui fournissent de la redondance inutile
pour l'encodage effectué. La mémoire est chargée avec les mots à obtenir suivant les
différentes configurations des valeurs C1 et D1, aux adresses définies par les valeurs
C1 et D1. Eventuellement, l'homme du métier pourra n'utiliser que 4 bits pour coder
la valeur D1, à condition de la coder différemment. L'information de correction SelB
comporte un bit de signe et deux bits significatifs qui indiquent si la valeur C2
doit être corrigée à +/- 3 près.
[0089] Un quatrième circuit de calcul 309 effectue le calcul de C2. Contrairement à ce qui
est décrit dans l'algorithme, ce n'est pas C1 qui est corrigé mais C2 pour des raisons
de rapidité de calcul. Le quatrième circuit de calcul 309 est décrit plus en détail
sur la figure 15.
[0090] Le quatrième circuit de calcul 309 comporte un premier circuit d'addition 701 recevant
les valeurs C1 et D et fournissant la somme C1+D. Un premier circuit de soustraction
702 soustrait la somme C1+D à la valeur V1 et fournit le résultat intermédiaire V1-(C1+D).
Un deuxième circuit d'addition 703 et un deuxième circuit de soustraction 704 reçoivent
sur une entrée le résultat intermédiaire et sur une autre entrée les deux bits significatifs
SelB[1:0] de l'information de correction SelB et fournissent un résultat intermédiaire
corrigé respectivement par addition ou soustraction. Un multiplexeur 705 sélectionne
la valeur C2 parmi les résultats corrigés en fonction du signe SelB[2] de l'information
de correction.
[0091] Le dispositif d'encodage 300 comprend un deuxième circuit d'encodage 310 qui reçoit
les valeurs C2 et D2 et qui fournit les trois mots de codage SM2, Sm2 et COM2. La
méthode d'encodage utilisée correspond à celle décrite pour la onzième étape 115.
Pour des raisons pratiques, on utilise une table de correspondance qui comporte déjà
les résultats précalculés. La table de correspondance est par exemple constituée d'une
mémoire organisée en mots de 12 bits, 3 bits correspondant à SM2, 3 bits correspondant
à Sm2 et 6 bits correspondant à COM2. La mémoire comporte 13 fils d'adresse, 8 bits
pour la valeur C2 et 5 bits pour la valeur D2. On prendra bien soin de ne pas utiliser
les deux bits de poids faible de la valeur D2 qui fournissent de la redondance inutile
pour l'encodage effectué. La mémoire est chargée avec les mots à obtenir suivant les
différentes configurations des valeurs C2 et D2, aux adresses définies par les valeurs
C2 et D2. Eventuellement, l'homme du métier pourra n'utiliser que 4 bits pour coder
la valeur D2, à condition de la coder différemment.
[0092] Un circuit de multiplexage 311 fait correspondre les mots SM1, Sm1, SM2 et Sm2 aux
mots S12, S22, S21 et S11 en fonction du bit d'information SelC.
[0093] Le dispositif d'encodage 300 est ensuite incorporé dans un panneau d'affichage 800
pour permettre l'affichage d'image 801, comme représenté sur la figure 16.
[0094] Un tel dispositif d'encodage 300 peut être réalisé selon différentes variantes. A
titre d'exemple, si l'homme du métier estime que le temps de calcul est trop faible,
il est par exemple possible d'adopter une structure de type pipeline. A cet effet,
il peut par exemple rajouter des registres de mémorisation sur les différentes liaisons
entre les circuits de la figure 10 afin de tronçonner le calcul selon une technique
connue.
[0095] Certains circuits, tel que par exemple les premier et deuxième circuits de calcul
304 et 305 pourront être remplacer par des tables de correspondance. Il est à noter
que suivant la technologie utilisée, les tables de correspondance peuvent être plus
ou moins avantageuse, en terme de taille de circuit, pour réaliser lesdits circuits.
[0096] Une autre variante consiste à utiliser une unique table de correspondance organisée
en mots de 23 bits et disposant de 16 fils d'adresse pour recevoir directement les
niveaux de gris NG1 et NG2. Actuellement, le problème de cette variante est le coût
important des mémoires de cette dimension qui doivent fonctionner avec une vitesse
suffisante pour pouvoir travailler en temps réel.
[0097] Egalement, dans l'exemple préféré, on utilise des tables de correspondance pour effectuer
les codages et décodages pour des raisons de simplicité de mise en oeuvre et donc
de fiabilité. Il va de soi que ces tables de correspondance peuvent être remplacées
par des circuits de calculs, notamment s'il est choisi d'implémenter un tel dispositif
à l'aide de circuits de type microcontrôleur.
[0098] Plus généralement, l'homme du métier peut également se contenter de réaliser le procédé
de l'invention uniquement à l'aide de circuits programmés comportant essentiellement
un processeur et une mémoire. Le dispositif ainsi réalisé disposera d'une structure
totalement différente du dispositif représenté.
[0099] Egalement, dans la présente description de l'invention, il est fait référence à des
codages utilisant sept premiers sous-balayages et neuf deuxièmes sous-balayages. Ces
codages ont été choisis pour la présente description car ils permettent d'obtenir
de bons résultats. Il n'a pas été fait référence à d'autres types de codage pendant
la description pour des raisons de clarté, mais il est évident que d'autres types
de codage peuvent être utilisés avec des procédés analogues, indépendamment du nombre
de premiers et deuxièmes sous-balayages et des poids lumineux associés auxdits sous-balayages.