Brevet FR2732496A1 — publié le 19961004

PROCèDE D'AFFICHAGE DE SYMBOLES SUR UN ECRAN La présente invention concerne un procédé d'affichage de symboles sur un écran, par exemple, pour afficher un menu sur un écran de téléviseur permettant à un utilisateur de contrôler ou effectuer des réglages du téléviseur, de programmer un magnétoscope, etc. Les symboles à afficher sur un écran sont constitués de matrices de pixels, par exemple de 18 lignes par 12 colonnes, et représentent des caractères (lettres, chiffres et signes) ou des pictogrammes. De nombreux pictogrammes sont formés de deux symboles juxtaposés. La figure 1 représente schematiquement un circuit classique pour gérer 1'affichage de symboles. Les lignes des symboles sont stockées sous forme de mots dans une mémoire ROM 10. Les lignes consécutives de chaque symbole oorrespondent à des mots d' adresses consécutives. La première ligne du premier symbole est à une adresse initiale AO. Les symboles sont identifiés par des codes consécutifs C, généralement de 7 ou 8 bits. L'adresse A fournie à la mémoire ROM 10, sélectionnant une ligne L d'un symbole, est fournie par un additionneur 12 qui reçoit un pointeur de ligne LPt et la sortie d'un additionneur 14. Cet additionneur 14 reçoit l'adresse initiale AO et la sortie d'un multiplieur 16. Ce multiplieur 16 reçoit le code C du symbole à afficher et un nombre H, où H est la hauteur (par exemple 18) des symboles en nanbre de lignes. Le pointeur de ligne LPt (variant entre 0 et H-1) indique le rang de la ligne à afficher de chaque symbole. Les bits, par exemple PO à P11, de chaque mot L sélectionné dans la mémoire 10, représentant les pixels d'une ligne d'un symbole, sont fournis par un bus à un registre à décalage 18. Ce registre 18 est cadencé par une horloge POC à la fréquence d'affichage des pixels sur l'écran. Ainsi, la sortie P du registre à décalage 18 fournit les pixels consécutifs à afficher pour constituer la ligne d'écran courante. Le pointeur LPt est incrémenté au rythme de sucoession des lignes d'écran et, à chaque fois qu'il atteint la valeur H (la hauteur des symboles), il est remis à zero. Pendant la durée d'affichage d'une ligne d'écran, on fournit une séquence de codes C, cette même séquence étant répétée pour les lignes d'écran suivantes jusqu'à ce que le pointeur de ligne LPt soit remis à zéro. On affiche ainsi, sur H lignes d'écran successives, les H lignes de chacun des symboles de la séquence. Les constructeurs qui utilisent de tels circuits d' af- fichage souhaitent disposer d'un grand nanbre de symboles pour former, outre les caractères habituels, de nombreux pictogrammes pour augmenter le confort de l'utilisateur final. Bien entendu, on doit alors augmenter la taille de la mémoire ROM 10 pour stocker tous oes symboles, cette augmentation étant d'autant plus importante que de nombreux pictogrammes doivent être formés de plusieurs symboles pour pouvoir bien les distinguer. Un objet de la présente invention est de prévoir un procédé d'affichage de symboles permettant de limiter la taille de la mémoire nécessaire au stockage des symboles. Selon l'invention, on a oonstaté que de nanbreux symboles ont des propriétés de symétrie, c' est-à-dire que certains symboles sont les symétriques d'autres (par exemple une flèche desoendante et une flèche montante), et que d'autres symboles présentent une symétrie interne (par exemple la lettre X). Ainsi, pour atteindre l'objet susmentionné, la présente invention prévoit de ne stocker qu'une première moitié des symboles symétriques, la deuxième moitié étant obtenue à partir de la première par une inversion d'ordre d'affichage. La présente invention prévoit plus specifiquement un procédé d'affichage de symboles ayant un axe de symétrie et constitués par des rangées de pixels perpendiculaires à l'axe de symétrie, comprenant les étapes consistant à stocker seulement les rangées de pixels d'un premier de deux symboles symétriques, et à afficher le deuxième symbole symétrique en inversant l'ordre d'affichage des pixels de chaque rangée du premier symbole symétrique. Selon un mode de réalisation de la présente invention, chaque range d'un symbole est stocke sous forme de mot dans une mémoire, le symbole étant affiché en transférant ses rangées sucoessives dans un registre à recalage cadencé à la fréquence d'affichage des pixels. Le deuxième symbole symétrique est affiché en transférant au registre à décalage les rangées du premier symbole symétrique en intervertissant les pixels de chaque rangée. Selon un mode de réalisation de la présente invention, chaque symbole est stocké sous forme de lignes perpendiculaires aux rangées, chaque ligne correspondant à un mot dans une mémoire, le symbole étant affiché en transférant ses lignes successives dans un registre à décalage cadencé à la fréquence d'affichage des pixels. Le deuxième symbole symétrique est affiché en transférant au registre à décalage les lignes du premier symbole symétrique dans un ordre inverse. Selon un mode de réalisation de la présente invention, les pixels des rangées du premier symbole symétrique sont inter vertis en croisant des lignes d'un bus reliant la mémoire au registre à décalage. Selon un mode de réalisation de la présente invention, 1 'ordre de transfert des lignes du premier symbole symétrique est inversé en fournissant à la mémoire une adresse calculée à partir de la différence entre la hauteur en lignes des symboles et un pointeur indiquant le rang de la ligne à afficher. Ces objets, caractéristiques, avantages ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers, faite à titre non-limitatif à l'aide des figures jointes parmi lesquelles la figure 1, précédemment décrite, représente schématiquement un circuit classique de gestion d'affichage de symboles sur un écran la figure 2 représente schematiquement un mode de réalisation de circuit selon l'invention pour gérer l'affichage de symboles ayant des symétriques horizontaux ; et la figure 3 représente schématiquement un mode de rea- lisation de circuit selon l'invention pour gérer l'affichage de symboles ayant des symétriques verticaux. Selon l'invention, pour chaque couple de symboles symétriques, on ne stocke que le premier des symboles du oouple, le deuxième symbole étant recréé en affichant les pixels du premier symbole en ordre inverse. Ce procédé s'applique également à des symboles ayant une symétrie interne, c'est-à-dire qui sont formés de deux demi-symboles symétriques (par exemple les lettres I, O...). Dans oe cas, chacun des "symboles" du couple de symboles symétriques est en fait un demi-symbole. La figure 2 représente une modification selon 1 'inven- tion du circuit de la figure 1, pour gérer l'affichage de symboles ayant des symétriques horizontaux (symétrie d'axe vertical). De tels symboles sont, par exemple, la flèche à gauche et la flèche à droite, les signes inférieur et supérieur, etc., ainsi qu'un grand nombre de couples de symboles destinés à constituer des pictogrammes par juxtaposition. Dans la figure 2, des mêmes éléments qu'à la figure 1 sont désignés par des mêmes références. Selon l'invention, un cansutateur 20 est disposé entre la sortie de la mémoire 10 et l'entrée du registre à décalage 18. Lorsque oe oeninutateur 20 est activé par un signal HS, il intervertit les poids des bits d'un mot fourni par la mémoire 10. Avec oette configuration, en fournissant un apode C et en activant le signal HS, on intervertit 1' ordre d'affichage des pixels de la ligne sélectionnée du symbole correspondant au apode C. Il en résulte que l'on affiche le symétrique horizontal de ce symbole. Le signal HS peut correspondre tout simplement à un bit supplémentaire du code C. Classiquement, les codes C sont de 8 bits au plus. Toutefois, comme les microcontrôleurs gérant l'affichage sont généralement de 16 bits, on dispose de 8 bits supplémentaires pour définir les symboles. Certains de oes bits supplémentaires sont utilisés classiquement pour définir des "attributs" des symboles, tels que la couleur du symbole et la couleur de son arrière-plan, le clignotement, etc. Un de oes bits supplémentaires non-utilisés pourra oorrespondre au signal HS pour indiquer que le symbole à afficher est ou non le symétrique horizontal de oelui qui est stocké. Ce procédé peut également être appliqué à des symboles formés de deux demi-symboles symétriques horizontalement. De tels symboles sont, par exemple, les lettres I, O, X... Dans ce cas, la mémoire ROM 10 est séparée en deux parties, l'une contenant des symboles entiers (par exemple de 12 colonnes, oorrespondant à des mots de 12 bits), et l'autre partie contenant des demi-symboles (par exemple de 6 oolonnes, oorrespondant à des mots de 6 bits). Pour afficher un tel symbole, on utilise un code C seul (sans signal HS), et le registre à décalage 18 reçoit, par exemple, les six bits du demi-symbole directement sur ses poids faibles et les six bits intervertis sur ses poids forts. Pour cela, aux six lignes de sortie de la mémoire stockant les demi-symboles, on juxtapose les mêmes lignes en les croisant. La figure 3 représente schématiquement un mode de réalisation de circuit selon l'invention permettant de gérer l'affichage de symboles ayant des symétriques verticaux (symétrie d'axe horizontal). De tels symboles sont, par exemple, la flèche vers le haut et la flèche vers le bas, ainsi que de nombreux oouples de symboles destinés à former des pictogrammes. Dans oette figure, des mêmes éléments qu'à la figure 1 sont désignés par des mêmes références. Selon l'invention, le pointeur de ligne LPt est fourni à un soustracteur 22 qui fournit à l'additionneur 12 la différence entre le nombre H-1 et le pointeur de ligne LPt lorsqu'un signal VS est actif. Lorsque le signal VS est inactif, le pointeur de lignes LPt est directement fourni à l'additionneur 12, comme dans la figure 1. Comme pour le signal HS indiquant une symétrie horizontale dans la figure 2, le signal VS, indiquant une symétrie verticale, peut oorrespondre à un bit supplémentaire du code C du symbole. Avec oette oonfiguration, lorsque le pointeur de ligne LPt indique la i-ème ligne du symbole (i = 1, 2... H), on sélectionne en fait la (H-i)eme ligne de ce symbole. Ceci a pour conséquenoe de fournir au registre à décalage 18 les lignes du symbole sélectionné par le code C dans un ordre inverse, et donc d 'afficher le symétrique vertical de ce symbole. Bien entendu, pour minimiser l'occupation mémoire des symboles, on combine le procédé d'affichage de symboles ayant des symétriques horizontaux et le procedé d'affichage de symboles ayant des symétriques verticaux. REVENDICATIONS 1. Procédé d'affichage de symboles ayant un axe de symétrie et constitués par des rangées de pixels perpendiculaires à l'axe de symétrie, caractérisé en ce qu'il comprend les étapes suivantes - stocker seulement les rangées de pixels d'un premier de deux symboles symétriques ; et - afficher le deuxième symbole symétrique en inversant l'ordre d'affichage des pixels de chaque rangée du premier symbole symétrique. 2. Procédé selon la revendication 1, dans lequel chaque rangée d'un symbole est stocké sous forme de mot (L) dans une mémoire (10), le symbole étant affiché en transférant ses rangées successives dans un registre à décalage (18) cadencé à la fréquence d'affichage des pixels, caractérisé en oe que le deuxième symbole symétrique est affiché en transférant au registre à décalage les rangées du premier symbole symétrique en intervertissant les pixels de chaque rangée. 3. Procédé selon la revendication 1, dans lequel chaque symbole est stocké sous forme de lignes perpendiculaires aux rangées, chaque ligne correspondant à un mot (L) dans une mémoire (10), le symbole étant affiché en transférant ses lignes successives dans un registre à décalage (18) cadencé à la fréquence d'affichage des pixels, caractérisé en ce que le deuxième symbole symétrique est affiché en transférant au registre à décalage les lignes du premier symbole symétrique dans un ordre inverse. 4. Procédé selon la revendication 2, caractérisé en ce que les pixels des rangées du premier symbole symétrique sont intervertis en croisant des lignes d'un bus reliant la mémoire (10) au registre à décalage (18). 5. Procédé selon la revendication 3, caractérisé en ce que 1 'ordre de transfert des lignes (L) du premier symbole symétrique est inversé en fournissant à la mémoire (10) une adresse (A) calculée à partir de la différence entre la hauteur en lignes (H) des symboles et un pointeur (LPt) indiquant le rang de la ligne à afficher.