(19)
(11) EP 0 161 966 A1

(12) DEMANDE DE BREVET EUROPEEN

(43) Date de publication:
21.11.1985  Bulletin  1985/47

(21) Numéro de dépôt: 85400754.9

(22) Date de dépôt:  16.04.1985
(51) Int. Cl.4G09G 1/28
(84) Etats contractants désignés:
AT BE DE GB IT LU NL SE

(30) Priorité: 20.04.1984 FR 8406304

(71) Demandeurs:
  • ETAT FRANCAIS représenté par le Ministre des PTT (Centre National d'Etudes des Télécommunications)
    F-92131 Issy-les-Moulineaux (FR)
  • Etablissement Public de Diffusion dit "Télédiffusion de France"
    F-92120 Montrouge (FR)

(72) Inventeur:
  • Coutrot, Françoise
    F-91440 Les Ulis (FR)

(74) Mandataire: Mongrédien, André (FR) et al
Les Séquoias 34, rue de Marnes
F-92410 Ville d'Avray
F-92410 Ville d'Avray (FR)


(56) Documents cités: : 
   
       


    (54) Procédé de transcodage de couleurs permettant l'interconnexion de deux équipements de definition de couleurs différente et transcodeur correspondant


    (57) On détermine la place de la couleur de caractère Cc dans l'intervalle Ci-Ci+1 de deux couleurs successives de l'équipement de sortie et la place de la couleur de fond Cj dans l'intervalle Cj-Cj+1. Selon ces places on prend pour couleur de caractère soit Ci soit Ci + 1 et comme couleur de fond soit Cj soit Cj + 1.
    Application en vidéographie et aux ordinateurs, imprimantes, etc.




    Description


    [0001] La présente invention a pour objet un procédé de transcodage de couleurs et un transcodeur correspondant.

    [0002] L'invention permet de connecter :

    - d'une part, un équipement d'entrée comprenant une mémoire de page dont le contenu est apte à définir une image du type mosaïque formée de caractères définis chacun par une forme, une couleur de caractère, une couleur de fond et divers autres attributs, les couleurs de caractères et de fond étant prises dans un groupe qui en comprend N ; avec

    - d'autre part, un équipement de sortie comprenant un moyen d'affichage d'image du type mosaique à l'aide de caractères ayant eux aussi une forme, une couleur de caractère et une couleur de fond, les couleurs de caractère et de fond étant prises dans un groupe qui en comprend M, le nombre M étant inférieur à N.



    [0003] Le domaine d'application de l'invention est vaste. Il couvre notamment la vidéographie qui est, comme on le sait, un procédé de télécommunication permettant de présenter à un usager des messages albhanu- mériques ou graphiques sur un écran de visualisation. Dans sa variante diffusée, ce procédé est souvent désigné par "télétexte" et dans sa variante interactive par "vidéotex". L'invention peut s'appliquer également au domaine des ordinateurs ou microordinateurs, ainsi qu'à celui des imprimantes, et des dispositifs d'affichage divers comme les écrans plats.

    [0004] Le problème que se propose de résoudre l'invention est un problème d'incompatibilité entre des équipements travaillant avec un nombre différent de couleurs. C'est le cas, par exemple, lorsque l'on veut afficher une image de vidéographie à huit couleurs sur un écran plat à deux couleurs, ou lorsqu'on veut coupler un microordinateur à haute définition utilisant 64 couleurs à une imprimante à 8 couleurs, etc...

    [0005] Les figures 1 et 2 illustrent la place occupée par le transcodeur de l'invention dans des installations connues à deux équipements incompatibles. Sur la figure 1, le transcodeur TR se situe entre un équipement d'entrée EQE et un équipement de sortie EQS. La figure 2 montre comment ce même transcodeur s'insère dans une chaîne de vidéographie qui comprend une unité centrale de traitement UCT, une mémoire de page MP, une unité de visualisation UV et un récepteur de télévision RT. Le transcodeur s'insère alors entre la mémoire de page MP et l'unité de visualisation UV et il permet la commande d'un équipement de sortie EOS.

    [0006] L'invention s'applique dans le cas où les images à traiter sont des images du type mosaïque. On sait que de telles images sont formées de caractères, chaque caractère étant inclus dans une matrice. L'image mosaïque est constituée par une grille (rangée, colonne) de telles matrices, celles-ci étant disposées de manière jointive aussi bien horizontalement que verticalement. Les caractères sont soit alphanumériques, soit graphiques. La figure 3 montre un caractère alphanumérique (en l'occurrence la lettre A). Un tel caractère est défini par une forme F, par la couleur du caractère, soit Cc, (cette couleur étant schématisée par des rayures inclinées) et par la couleur de fond, soit Cf (schématisée par des pointillés). Certains autres attributs du caractère Deuvent s'ajouter aux deux précédents (comme par exemple le clignotement, la hauteur, la largeur etc...). Quant aux caractères graphiques, des exemples seront décrits plus loin, à propos des figures 9a et 9b.

    [0007] Pour certains équipements de sortie qui ne disposent que de deux couleurs (c'est le cas de certaines imprimantes ou écrans plats), la couleur de fond est nécessairement celle du support utilisé (papier dans le premier cas et écran dans le second) et la couleur de caractère est obligatoirement celle de l'encre du ruban (pour l'imprimante) ou celle du matériau excité (pour l'écran). Si l'écran est à cristaux liquides, le fond de l'écran est en général clair et le caractère est sombre. Avec un écran cathodique, le fond est généralement foncé et le caractère brillant.

    [0008] Ces exemples laissent entendre que, par la suite, il interviendra fréquemment une opération d'inversion (traduite par un signal binaire noté I) qui permettra de passer d'un mode d'affichage au mode complémentaire, (comme par exemple d'un caractère brillant sur fond noir ou d'un caractère noir sur fond clair).

    [0009] Le principe de l'invention est d'établir tout d'abord une table de correspondance entre les N couleurs de l'équipement d'entrée et les M couleurs de l'équipement de sortie. Si l'on désigne par K0, Kl, ..., KN-2, KN-1 les N couleurs de l'équipement d'entrée, on peut ranger ces couleurs dans un certain ordre. Comme, en pratique, l'information de couleur est codée par des mots binaires, cela revient à ranger de tels mots. La figure 4, dans sa partie gauche, montre les N couleurs en question sous forme de traits horizontaux.

    [0010] A titre d'exemple, pour un groupe de N=8 couleurs, on peut adopter le classement suivant, qui est basé sur une croissance de la luminance :



    [0011] Mais on peut s'appuyer sur d'autres critères pour ranger N couleurs. Par ailleurs, il est commode de travailler avec des groupes de couleurs qui contiennent un nombre de couleurs égal à une puissance exacte de 2 N=2n (dans l'exemple considéré plus haut, on a N=23). Le nombre d'éléments binaires, ou bits, des mots traduisant les couleurs est alors égal à n (à 3 dans l'exemple précédent). Mais l'invention ne se limite pas à ce seul cas évidemment.

    [0012] On observera que le code numérique choisi n'est pas nécessairement le code de couleur utilisé pour l'affichage sur un écran de type télévision en couleurs, comme l'écran RT de la figure 2.

    [0013] La table de correspondance à établir doit permettre d'associer à chacune des N couleurs K0, Kl, ..., KN-1, une des M couleurs C0, Cl, ..., CM-2, CM-1 de l'équipement de sortie. Il faut donc établir, de la même manière, une seconde échelle de couleurs avec ces M couleurs. Comme M est, par hypothèse, inférieur à N, les deux échelles ne coincident pas. Cette seconde échelle est représentée dans la partie médiane de la figure 4.

    [0014] En supposant que le nombre M est, lui aussi une puissance exacte de 2, soit 2m, chaque couleur C peut être associée à un mot de m bits. Le nombre m est inférieur à n.

    [0015] En général, les couleurs extrêmes C0 et CM-1 sont le noir et le blanc, de sorte qu'il est logique de faire correspondre KO à C0 et KN-1 à CM-1. Le transcodage entre une couleur K et une couleur C ne se pose donc véritablement que pour les couleurs intermédiaires.

    [0016] Selon l'invention, l'opération de transcodage va consister en un traitement sur les mots binaires associés à chacune des couleurs des deux familles. Comme ces mots n'ont pas le même nombre de bits (les N couleurs sont associées à des mots de n bits et les M couleurs à des mots de m bits), on complète d'abord ces derniers par n-m bits de poids faible. Pour Co, qui comprend m bits égaux à zéro, il va de soi qu'on complètera le mot avec n-m autres bits égaux à 0 pour obtenir un mot identique à celui qui caractérise K0. A la couleur Ko d'entrée, on fera donc correspondre immédiatement la couleur Co de sortie. Pour CM-1, qui comprend m fois le bit 1, on complètera le mot par n-m bits de poids faible égaux à 1, ce qui donnera un mot de n bits identique à celui de KN-1. Pour les couleurs intermédiaires on complètera les mots de m bits par des bits égaux à 0 ou à 1, selon les couleurs en cause, en s'attachant à faire coincider les couleurs intermédiaires communes aux deux systèmes.

    [0017] Un caractère à afficher est défini par une couleur de caractère Cc, prise parmi les N couleurs K0, ..., KN-1 et une couleur de fond Cf, prise parmi les mêmes couleurs. La couleur Cc peut d'ailleurs être identique à la couleur Cf, auquel cas il s'agit d'afficher un espace uniforme. Le problème revient à attribuer à Cc et à Cf deux couleurs prises parmi les m couleurs C0, ..., CM-l.

    [0018] En général, Cc ne coincide pas avec l'une de ces couleurs, mais tombe entre deux couleurs, que l'on notera respectivement Ci et Ci+l, l'indice i étant un nombre compris entre 0 et M-2.

    [0019] De même Cf ne coïncide pas nécessairement avec l'une des couleurs de l'équipement de sortie, mais tombe entre deux couleurs Cj et Cj+1, l'indice j étant, lui aussi, un nombre compris entre 0 et M-2.

    [0020] Naturellement, dans certains cas, i et j peuvent être égaux.

    [0021] L'invention permet de choisir entre les couleurs Ci et Ci+1 pour la couleur de caractère Cc et entre Cj et Cj+1 pour la couleur de fond.

    [0022] La correspondance entre une couleur et un mot binaire étant ainsi bien définie, les notations Cc, Cf, Ci, Cj etc... désigneront par la suite aussi bien des couleurs que les mots numériques les traduisant.

    [0023] Le procédé de transcodage de l'invention est caractérisé alors par le fait qu'il comprend les opérations suivantes :

    - pour chaque caractère défini par les mots Cc et Cf, on détermine la plage Ci-Ci+1 dans laquelle se situe le mot Cc, et la plage Cj-Cj+1 dans laquelle se trouve le mot Cf,

    - on fait correspondre à la couleur Cc soit la couleur Ci, soit la couleur Ci+1 et à la couleur Cf soit la couleur Cj, soit la couleur Cj+1, le choix dans cette double alternative, étant fixé selon les critères suivants : on compare d'abord les mots Cf et Cc :



    [0024] A)si le mot Cc n'est pas égal au mot Cf, alors la forme du caractère n'est pas modifiée et l'on compare le mot Ci au mot Cj pour déterminer si Ci est égal à Cj ou si Ci n'est pas égal à Cj,

    Aa) si Ci n'est pas égal à Cj :

    Aal) on détermine quelle est la plus petite des deux différences Cf-Cj et Cj+l-Cf ; si Cf-Cj est la plus petite différence, alors on choisit pour Cf la couleur Cj ; dans le cas contraire, on choisit pour Cf la couleur Cj+1,

    Aa2) on détermine quelle est la plus petite des différences Cc-Ci et Ci+l-Cc ; si Cc-Ci est la plus petite différence alors on choisit pour Cc la couleur Ci ; dans le cas contraire, on choisit pour Cc la couleur Ci+l,

    Ab) si le mot Ci est égal au mot Cj : on détermine si Cf est inférieur à Cc ; dans l'affirmative, on choisit pour Cf la couleur Ci et pour Cc la couleur Ci+l ; dans la négative, on choisit pour Cf la couleur Ci+1 et pour Cc la couleur Ci ;



    [0025] B) si le mot Cf est égal au mot Cc, la forme du caractère est identique au fond et la couleur de cet espace est prise égale à l'une des couleurs Ci et Ci+1.

    [0026] Sur la partie droite de la figure 4 sont représentés, de la manière la plus générale, les intervalles qui interviennent dans le processus de choix qui vient d'être défini. Cette représentation permet de comprendre que l'on recherche, parmi les M couleurs du second groupe, celle qui se "rapproche" le plus de la couleur initiale.

    [0027] Comme chaque couleur est associée à un mot binaire, le choix peut être déterminé par la mise en oeuvre d'un algorithme de décision qui porte sur les mots en question. Graphiquement, les opérations précédemment décrites se traduisent comme représenté sur la figure 5 où les doubles rectangles représentent des résultats et les hexagones des tests.

    [0028] Si le premier test de comparaison entre Cf et Cc conduit à un résultat négatif (Cf est différent de Cc), cela signifie que la forme du caractère est déterminée par le mot F pris dans la mémoire de page. Si le résultat est positif (Cf=Cc), cela signifie qu'il n'y a pas à proprement parler de caractère se distinguant, par sa couleur, du fond. En d'autres termes, la forme remplit tout l'espace de la matrice de la mosaïque. Le choix de la couleur est alors arbitraire. Il peut se fixer sur Ci+l (c'est ce qui est indiqué dans la figure 5, rectangle en bas à gauche). Mais on peut aussi décider de choisir la couleur "inférïeure" Ci.

    [0029] La présente invention a également pour objet un transcodeur qui met en oeuvre le procédé qui vient d'être défini.

    [0030] Le principe de l'invention ayant été exposé, divers modes de réalisation vont maintenant être décrits pour préciser quelques modalités pratiques de mise en oeuvre. Cette description se réfère à des dessins annexés sur lesquels :

    - les figures 1 et 2 déjà décrites, montrent la place occupée par le transcodeur de l'invention,

    - la figure 3, déjà décrite, montre un caractère alphabétique,

    - la figure 4, déjà décrite, illustre la mise en correspondance de deux échelles de couleurs,

    - la figure 5, déjà décrite, est un organigramme expliquant le processus de choix des couleurs de sortie,

    - les figures 6a et 6b, montrent le schéma synoptique du transcodeur de l'invention,

    - les figures 7a et 7f montrent un exemple de réalisation d'un transcodeur dans le cas d'un équipement d'entrée à 2n couleurs et d'un équipement de sortie à 2m couleurs,

    - la figure 8 est un chronogramme expliquant le fonctionnement du transcodeur précédent,

    - les figures 9a et 9b montrent la structure des caractères graphiques,

    - la figure 10 est un algorithme montrant comment s'insère un test d'inversion dans la variante des figures 7a à 7f,

    - la figure 11 illustre la structure des moyens correspondant au cas précédent,

    - la figure 12 montre un ensemble de caractères avec une zone non inversable et une zone inversable,

    - la figure 13 est un organigramme illustrant le processus de décision dans le cas de l'application au vidéotex à 16 bits,

    - les figures 14a à 14f illustrent un mode de réalisation du transcodeur correspondant au cas précédent,

    - la figure 15 est un chronogramme expliquant le fonctionnement du transcodeur.



    [0031] Dans tout ce qui suit, les divers organes, circuits et autres composants représentés seront référencés à l'aide d'un nombre dont la centaine sera celle de l'ensemble auquel il appartient dans la représentation générale des figures 6a et 6b. Par exemple, un circuit référencé 1002 appartiendra au bloc 1000 ; un circuit 903 appartiendra au bloc 900, etc... Si un moyen décrit n'entre pas strictement dans l'un des blocs des figures 6a et 6b (comme ce sera le cas par exemple d'une connexion entre deux blocs ou d'un composant annexe), ce moyen portera une référence numérique inférieure à 100.

    [0032] Tel que représenté sur les figures 6a et 6b le transcodeur comprend, de manière générale :

    [0033] 

    - un ensemble de registres d'entrée 100 reliés par un bus à la mémoire de page de l'équipement d'entrée ; ces registres sont aptes à mémoriser des données numériques correspondant aux divers caractères à afficher ; cet ensemble comprend notamment un registre 101 mémorisant un bit d'inversion I, un registre 102 mémorisant le mot de n bits correspondant à la couleur de caractère Cc, un registre 103 mémorisant le mot de n bits correspondant à la couleur de fond Cf, un registre 104 mémorisant divers attributs A et un registre 105 mémorisant le mot définissant la forme du caractère

    - un premier comparateur 200 possédant deux entrées reliées respectivement aux deux registres d'entrée 102, 103 d'où elles reçoivent les mots Cc et Cf, et trois sorties 3, 1 et 4 dont l'état binaire indique si Ce est respectivement inférieur, égal ou supérieur à Cf,

    - une mémoire morte 1000 contenant les M mots Co, Cl, ..., CM-1 de m bits correspondant aux M couleurs de l'équipement de sortie, ces mots étant complétés à n bits comme indiqué plus haut et rangés dans un ordre déterminé, chaque mot étant adressable dans la mémoire par un indice (i ou j) définissant le rang du mot ; on verra plus loin que cette mémoire comprend 4 mémoires mortes 1001, 1002, 1003, 1004 ;

    - un premier sous-ensemble 300 permettant de déterminer dans quelle plage Ci-Ci+1 est situé le mot Cc ; ce premier sous-ensemble possède une première entrée reliée au registre d'entrée 102 d'où elle reçoit le mot Cc et une seconde entrée reliée à la mémoire morte 1000, et deux sorties délivrant les mots Ci et Ci+l délimitant la plage dans laquelle se trouve Cc ;

    - un second sous-ensemble 400 permettant de déterminer dans quelle plage Cj-Cj+1 est situé le mot Cf, ce second sous-ensemble possède une première entrée reliée au registre d'entrée 103 d'où elle reçoit le mot Cf et une seconde entrée reliée à la mémoire morte 1000 et deux sorties délivrant les mots Cj, Cj+1 délimitant la plage dans laquelle se trouve Cf ;

    - un second comparateur 500 ayant deux entrées recevant les mots Ci et Cj délivrés respectivement par les sous-ensembles 300 et 400 et possédant une sortie 2 dont l'état binaire indique si Ci et Cj sont ou ne sont pas égaux,

    - un premier organe de comparaison 600 apte à calculer les différences Cc-Ci et Ci+l-Cc et à déterminer laquelle de ces deux différences est la plus faible ; ce premier organe possède une première et une deuxième entrées reliées respectivement aux deux sorties du premier sous-ensemble 300 d'où elles reçoivent les mots Ci et Ci+l, et une troisième entrée reliée au registre d'entrée 102 d'où elle reçoit le mot Cc, ce premier organe 600 possédant une sortie 5 dont l'état binaire indique si Cc-Ci est ou n'est pas inférieur à Ci+l-Cc,

    - un second organe de comparaison 700 apte à calculer les différences Cf-Cj et Cj+l-Cf et à déterminer laquelle de ces deux différences est la plus faible ; ce second organe possède une première et une seconde entrées reliées respectivement aux deux sorties du second sous-ensemble 400 d'où elles reçoivent les mots Cj et Cj+1 et une troisième entrée reliée au registre d'entrée 103 d'où elle reçoit le mot Cf, ce second organe possédant une sortie 6 dont l'état binaire indique si Cf-Cj est ou n'est pas inférieur à Cj+1-Cf ;

    - un troisième comparateur 1400 à trois entrées, dont l'une est reliée au registre 105 contenant le mot de forme F et dont les autres reçoivent les mots caractérisant l'espace alphanumérique et l'espace graphique ; ce comparateur possède deux sorties 12 et 13 véhiculant des signaux binaires traduisant le résultat de la comparaison entre forme et espaces (utiles dans les réalisations décrites plus loin) ;

    - un circuit logique de décision 800 comprenant huit entrées reliées respectivement aux sorties 3, 1, et 4 du premier comparateur 200, à la sortie 5 du premier organe de comparaison 600, à la sortie 6 du second organe de comparaison 700 et aux sorties 12 et 13 du troisième comparateur 1400 ; ce circuit logique 800 a pour fonction la mise en oeuvre de l'opération de choix définie plus haut ; il possède trois sorties 7, 8 et 9,

    - un ensemble multiplexeur 900, possédant des entrées de données recevant les mots de forme et d'espace cet ensemble multiplexeur 900 possède également des entrées de commande reliées aux sorties 7, 8 et 9 du circuit logique de décision et au registre 101 pour le bit d'inversion ; ce multiulexeur possède une sortie de données, qui délivre l'un des mots d'entrée,

    - un ensemble de registres de sortie 1100 relié à l'équipement de sortie,

    - un circuit séquenceur et compteur d'adresses 1200 possédant des entrées respectivement d'initialisation, de demande de transcodage, de lecture de caractère et d'horloge d'incrémentation et des sorties, respectivement de lecture de mémoire de page, de chargement de l'ensemble des registres d'entrée 10, de chargement de l'ensemble des registres de sortie 11, de validation de caractère, et d'adresses pour la mémoire de page.



    [0034] Les figures 7a à 7f illustrent plus en détail la structure du transcodeur de l'invention, dans le cas où l'équipement d'entrée comprend N=2n couleurs. Il peut s'agir par exemple du vidéotex 24 bits parallèles à 8 couleurs, l'équipement de sortie comprenant moins de 8 couleurs, et par exemple 2. Cet exemple sera repris plus en détail à propos des figures suivantes, car il lui correspond des solutions particulières.

    [0035] La figure 7a montre un sous-ensemble 300 comprenant M comparateurs 301, etc... 30M à deux entrées, l'une recevant le mot Cc provenant du registre d'entrée 102, l'autre l'un des M mots C0, ..., CM-1 représentant les couleurs de sortie. Ces comparateurs travaillent sur n bits et ils possèdent une sortie qui indique si le mot reçu sur l'une des entrées est ou n'est pas inférieur au mot reçu sur l'autre. Le sous-ensemble 300 comprend encore un multiplexeur 310 à M entrées reliées aux comparateurs précédents et à m sorties ; ces m sorties, par leur état binaire, donnent le rang i de la couleur Ci pour laquelle Ci est inférieur à Cc et pour laquelle Ci+l est supérieur à Cc. Autrement dit, i est le rang du dernier comparateur 301, ..., 30M indiquant que la couleur Ci est inférieure à Cc. Le sous-ensemble 300 comprend encore un additionneur 311 à n bits, ajoutant 1 au nombre i qu'il reçoit et délivrant donc le nombre i+1. Le sous-ensemble 300 donne l'information relative à l'intervalle i/i+1 dans lequel se situe la couleur de caractère Cc.

    [0036] Deux mémoires mortes 1001 et 1002 contenant les mots C0, ..., CM+1 sont adressées respectivement par i et i+l. Elles délivrent donc les mots Ci et Ci+1 bornant l'intervalle dans lequel se trouve Cc.

    [0037] Sur la figure 7b on trouve un sous-ensemble 400 tout à fait analogue à 300, avec M comparateurs 401, ..., 40M, un multiplexeur 410 de type M→ m, un additionneur 411 et deux mémoires mortes 1003, 1004 qui délivrent les mots Cj et Cj+1 qui bornent l'intervalle dans lequel se situe la couleur de fond Cf contenue dans le registre d'entrée 103.

    [0038] L'ensemble des quatre mémoires mortes 1001 à 1004 constitue la mémoire morte 1000, laquelle peut délivrer également les mots C0, ..., CM-1 nécessaires aux blocs 300 et 400.

    [0039] Pour en revenir à la figure 7a, on trouve encore un premier organe de comparaison 600 qui comprend une porte NON 606 recevant le mot Ci venant de la mémoire 1001 et délivrant le mot complémentaire Ci, un additionneur 601 ajoutant +1 à Ci et délivrant Ci+l, un additionneur 602 à n bits recevant Ci+1 et Cc et délivrant la somme de ces deux mots. Le sous-ensemble 600 comprend encore une porte NON 607 recevant Cc et délivrant Cc,un additionneur 605 ajoutant 1 à ce nombre, un additionneur 603 recevant Cc+1 et Ci+1 venant de la mémoire 1002, et délivrant Cc+1+Ci+1 ; enfin, le bloc 600 comprend un comparateur à n bits 604, qui compare Ci+l+Cc et Cc+1+Ci+1. Ce comparateur possède une sortie 5 qui est active (c'est-à-dire qui délivre un 1 logique) si Ci+l+Cc est inférieur à Cc+1-t-Ci+1, autrement dit si Cc-Ci est inférieur à Ci+l-Cc.

    [0040] En d'autres termes, la comparaison des écarts Cc-Ci et Ci+l-Cc se fait par l'intermédiaire du calcul des compléments à 2 de Ci et de Cc (inversion et ajout de 1).

    [0041] De la même manière, le sous-ensemble 700 représenté sur la figure 7b comprend un inverseur 706, un additionneur 701, un additionneur 703, un inverseur 707, un additionneur 705, un additionneur 702, un comparateur 704, dont la sortie 6 est active si Cf-Cj est inférieur à Cj+l-Cf.

    [0042] La figure 7c montre, sur sa partie gauche, un comparateur 201 possédant deux entrées, reliées respectivement aux registres d'entrée 102 et 103 et recevant Cc et Cf, et trois sorties, respectivement 3, 1 et 4, indiquant si Cc est inférieur, égal ou supérieur à Cf. La figure 7c montre encore, sur sa partie droite, un comparateur 501 possédant deux entrées reliées aux multiplexeurs 310 et 410, d'où elles reçoivent les nombres i et j, et une sortie 2 indiquant si ces deux nombres sont égaux.

    [0043] On observera que le comparateur 501 fonctionne avec m bits puisque les nombres i et j sont eux-mêmes à m bits. Mais on pourrait travailler sur les mots Ci et Cj, à condition de relier le comparateur 501 en aval des mémoires 1001 et 1004 et non plus en amont.

    [0044] La figure 7d représente deux blocs 801 et 802 appartenant au circuit logique de décision 800. Le premier 801, comprend trois inverseurs 897, 898, 899, deux portes ET 895 et 896, une porte OU 894 dont la sortie 8 est la sortie générale de 801. Le second circuit comprend, de la même manière, trois inverseurs 890, 891, 892, deux portes ET 888 et 889, et une porte OU 887 dontla sortie 7 est la sortie générale du circuit 802.

    [0045] Les entrées de ces différentes portes sont reliées aux sorties 1, 2, 3, 4, 5 et 6 des différents circuits évoqués plus haut (1, 2, 3, 4 sont les sorties des comparateurs 201 et 501 de la figure 7c, 5 est la sortie du sous-ensemble 600 de la figure 7a et 6 la sortie du sous-ensemble 700 de la figure 7b. Ces circuits logiques mettent en oeuvre l'algorithme de décision décrit plus haut (figure 5).

    [0046] La figure 7e montre la structure du multiplexeur 900. Celui-ci se compose de trois multiplexeurs 2→1, le premier 901, commandé par le signal provenant de la sortie 1 du comparateur 201 et recevant les données de forme et d'espace, le second 902, commandé par le signal provenant de la sortie 7 du circuit logique 802, et recevant les mots Ci et Ci+1, et le troisième, 903, commandé par le signal provenant de la sortie 8 du circuit 801 et recevant les mots Cj et Cj+l.

    [0047] Il est clair que l'on sélectionne ainsi, selon la valeur du signal 1, soit la forme, soit l'espace selon le signal 7, soit Ci, soit Ci+1 ; et selon le signal 8, soit Cj, soit Cj+l.

    [0048] Le mot relatif à la forme, soit RO, est chargé dans un registre de sortie 1108. Le mot Rl, relatif aux couleurs, est chargé dans un double registre 1109, 1110 pour Cc et Cf. Ces registres de sortie sont actionnés par une connexion 11 venant du séquenceur 1201. La sortie de ces registres est reliée à l'équipement de sortie qui reçoit ainsi une information de forme RO et une information de couleur Rl.

    [0049] Enfin, la figure 7f représente un détail du circuit de séquencement. Ce circuit comprend un séquenceur 1201 et un compteur 1202, avec des connexions qui ont déjà été indiquées à propos de la figure 6b. On notera simplement une connexion supplémentaire de remise à zéro du compteur (RAZ) par le séquenceur.

    [0050] Le chronogramme de la figure 8 illustre le fonctionnement du transcodeur dont les composants ont été représentés sur les figures 7a à 7f. Ce fonctionnement se décompose en diverses phases indiquées sur la ligne inférieure :

    Phase ∅o : A la mise sous tension, le séquenceur est initialisé par le fil initialisation ; il effectue une remise à zéro (RAZ) du compteur d'adresse, met à 1 le fil lecture de la mémoire d'image RD, à 0 le fil "caractère valide" (état inactif) ; il ne délivre aucun signal jusqu'à ce qu'il reçoive le signal de demande de transcodage (première ligne).

    Phase ∅1 : C'est la demande de transcodage (transition 0→1) .

    Phase 02 : C'est la phase de préparation de RO et Rl qui sont les contenus des registres de sortie ; le transcodeur envoie le signal RD vers la mémoire d'image (RD=0) et le signal de chargement des registres d'entrée 101 à 105 par la connexion 10 ; ce signal permet donc le chargement des informations d'inversion dans 101, de couleur de caractère Cc dans 102, de couleur de fond Cf dans 103, d'attributs A dans 104 et de forme F dans 105 ; la taille de l'ensemble des registres 101 à 105 est de 24 bits dont 1 bit pour l'inversion, 3 pour la couleur de caractère et 3 pour la couleur de fond et généralement 8 bits pour la forme F. Le transcodeur compare ensuite Cf et Cc dans le comparateur 3 bits 201 et le résultat est donné par l'état des 3 fils 1, 3, 4. Si Cf=Cc (fil 1 actif), le multiplexeur 8 bits 901 valide le code espace, donc RO est chargé par l'espace. Sinon il valide la forme F. L'ensemble des attributs de forme, autres que l'inversion (hauteur, largeur, incrustation, masquage, soulignement, clignotement...) sont chargés sans modification dans Rl. Le bit d'inversion est le résultat d'une logique combinatoire simple 802 traduisant l'algorithme. L'inversion est validée (fil 2) s'il y a inversion vidéotex (1 actif) et Cf>Cc ou s'il n'y a pas d'inversion vidéotex et Cf<Cc. Les informations de RO et Rl étant prêtes, le séquenceur envoie un signal de chargement des registres de sortie 108 et 109 par la connexion 11.

    Phase ∅3 : Fin d'acquisition de RO et Rl. Cette phase est déclenchée par la transition 0→1 du signal "caractère valide".

    Phase ∅4 : Attente du signal "caractère lu" envoyé par l'équipement de sortie en acquittement de "caractère valide". Il est à noter qu'avant d'envoyer le signal "caractère lu", l'horloge d'incrémentation du compteur d'adresse aura au préalable été fournie au compteur 1202.

    Phase ∅5 : Lecture du caractère à la transition 1→0 du signal "caractère valide".



    [0051] Après incrémentation d'une unité du compteur d'adresse soit par l'équipement de sortie (cas de certains écrans plats) soit par le séquenceur (cas des imprimantes), les diverses phases sont reprises pour le traitement du caractère suivant.

    [0052] Dans le cas du vidéotex, à côté des jeux de caractères alphanumériques, il est fait usage de jeux semi-graphiques dont le principe est illustré par la figure 9a. La matrice contenant le caractère est décomposé en 6 pavés b0 à b5 pouvant chacun être allumé ou éteint. On obtient ainsi 64 formes différentes. Chacune de ces formes peut être mise en correspondance avec la forme complémentaire, comme illustré sur la figure 9b. Les deux formes représentées sont dites "appairées". On passe de l'une à l'autre par inversion de la commande de l'état des pavés.

    [0053] Quant au jeu de caractères alphanumériques, il est lui aussi lié à un bit d'inversion.

    [0054] De façon générale, si le bit d'inversion est présent, la forme du caractère sera notée F. Le transcodeur doit donc être conçu pour pouvoir prendre en compte cette information relative à l'inversion. Comme illustré sur la figure 6a, c'est le rôle du registre d'entrée 101 de mémoriser le bit d'inversion I. La figure 10 a justement pour but d'illustrer cet aspect dans un cas simple où l'équipement de sortie n'utilise que deux couleurs de sortie. Il n'y a donc plus, dans ce cas, qu'une seule plage de couleur à la sortie. Elle est définie par le noir, correspondant à Ci et par le blanc correspondant à Ci+1. Dans ce cas, on a donc Ci=Cj et l'organigramme de la figure 5 se simplifie considérablement comme le montre la figure 10. L'organigramme représenté se lit de la manière suivante :

    A) si Cf=Cc alors la forme transmise (RO) est l'espace ;

    B)sinon CfiCc, alors un seul cas se présente puisqu'il n'y a qu'une seule plage dans l'ensemble des couleurs d'arrivée :

    Ba) - si l'inversion n'est pas valide :

    - si Cf>Cc R0 est constitué par la forme F

    - si Cf<Cc R0 est constitué par la forme inversée F

    Bb) - si l'inversion est valide :

    - si Cf>Cc R0 est constitué par la forme inversée F

    - si Cf <Cc R0 est cosntitué par la forme F.



    [0055] Cet algorithme s'applique de façon différente suivant que l'équipement de sortie interprète le bit d'inversion ou non.

    [0056] Si l'équipement de sortie possède l'inversion, alors il devient :

    A) si Cf=Cc alors la forme transmise est l'espace,

    B) sinon Cf≠Cc :

    Ba) pour I non valide :

    si Cf>Cc RO=F, bit d'inversion non valide

    si Cf<Cc R0=F, bit d'inversion valide

    Bb) pour I valide :

    si Cf >Cc RO=F, bit d'inversion valide

    si Cf<Cc RO=F, bit d'inversion non valide.



    [0057] Dans le cas où l'équipement de sortie ne travaille qu'avec 2 couleurs, la structure du transcodeur prend une forme simplifiée par rapport à la variante générale des figures 7a à 7f. Le schéma correspondant est représenté sur la figure 11 où les références numériques désignent les mêmes éléments que pour les figures 7a à 7f. Sur cette figure, les notations α et y du registre 105 signifient "alphanuméri- qne" et "grapbique" ; la notation hlClmis pour le registre 104 désigne des codes d'attributs signifiant respectivement "hauteur, largeur, clignotement, masquage, incrustation, soulignement". Ces attributs occuperont totalement le registre de sortie 1109 (contenu Rl). Dans ce cas particulier, il n'y a plus à proprement parler de mot de couleur à sélectionner.

    [0058] La variante qui précède correspond au cas où l'inversion est possible dans l'équipement de sortie. Naturellement, on peut appliquer l'invention dans le cas où cet équipement n'accepterait pas l'inversion. L'algorithme de décision devrait alors être légèrement modifié pour simuler cette inversion en agissant sur la forme du caractère affiché. Le registre de sortie 1109 chargeant Rl ne contiendra plus l'information I, et le registre chargeant RO contiendra soit F, soit F. Cela suppose que le multiplexeur 901 reçoive non seulement la forme F mais aussi la forme inversée F, et non seulement l'espace mais aussi le pavé plein. Le multiplexeur 901 passe donc d'un type 2-1 à un type 4→1.

    [0059] Une deuxième variante du transcodeur de l'invention va maintenant être décrite, qui concerne le vidéotex 16 bits parallèle et série, avec 8 couleurs pour l'équipement d'entrée, l'équipement de sortie étant une imprimante ou un écran plan à deux couleurs, ne possédant pas le bit d'inversion. C'est le cas le plus complexe.

    [0060] La restriction du vidéotex à des terminaux à 16 bits amène des contraintes supplémentaires pour le transcodeur.

    [0061] 

    a) Tout d'abord, la couleur de fond est un attribut "série" pour les caractères alphanumériques (c'est donc un attribut défini par zone) et un attribut "parallèle" pour les caractères semigraphiques. Ceci nécessite l'ajout d'une cellule de verrouillage de la couleur de fond.

    b) Ensuite, il est fait usage de caractères spéciaux, appelés délimiteurs, qui introduisent des zones pour les attributs série. Ils sont à visualiser comme des espaces ou des pavés pleins, suivant le contexte. De même que pour les caractères alphanumériques, il faut connaître le type de zone dans lequel se situe le délimiteur : zone inversable ou non. Si le caractère qui suit le délimiteur est un semigraphique, celui-ci sera dans une zone inversable, sinon il sera visualisé comme un espace. L'exemple représenté sur la figure 12 permet d'illustrer ce point. L'image représentée comprend une zone non inversable où apparaissent des caractères alphabétiques formant l'expression "L'ARBRE" et une zone inversable dans laquelle apparaissent des caractères semigraphiques. Dans la zone non inversable, le délimiteur (carré blanc) est visualisé comme un espace, quelles que soient les couleurs Cc et Cf. Dans la zone inversable, le délimiteur est visualisé comme un pavé plein (si le fond avait été jaune, il aurait été visualisé comme un espace).

    c) Enfin, à l'effacement d'écran, celui-ci est rempli d'espaces semigraphiques, afin d'éviter, lors du remplissage de l'écran, des effets série parasites. Il ne faut pas, au niveau de l'algorithme, les considérer comme des caractères semigraphiques, car ils ne sont là qu'en raison de contraintes liées au vidéotex et non en tant qu'éléments de graphisme.



    [0062] L'algorithme complété se présente alors comme indiqué sur la figure 13 où l'on voit apparaître en plus des opérations déjà décrites à propos de la figure 5 des tests sur la présence d'un délimiteur, sur la nature semi-graphique du caractère qui suit ce délimiteur, sur la présence d'un caractère graphique de remplissage, sur la validité d'un environnement graphique.

    [0063] Cet organigramme se lit alors de la manière suivante :

    A) si le caractère est un délimiteur, alors :

    Aa) si le caractère suivant est un semi-graphique défini par C'c et C'f alors :

    α)si Cc=C'f alors

    - si C'f graphique ≥ C'c graphique, R0=espace, sinon R0=pavé plein,

    β) si Cc≠C'f alors

    - si Cf<Cc, R0=espace sinon R0=pavé plein, Ab) si le caractère n'est pas un semi-graphique alors R0=espace ;

    B) si le caractère n'est pas un délimiteur :

    Ba) si c'est un semi-graphique :

    a) s'il s'agit du caractère semi-graphique de remplissage alors R0=espace

    β) s'il ne s'agit pas du caractère semi-graphique de remplissage alors le signal "environnement graphique" est validé. Alors si Cf=Cc, R0=espace, si CffCc, alors R0=forme si Cf>Cc et RO=F si Cf<Cc.

    Bb) si ce n'est pas un semi-graphique (alors c'est un alphanumérique)

    1) s'il s'agit de l'espace :

    la) si le signal "environnement graphique" est non validé, alors R0=espace,

    1β) si le signal "environnement graphique" est validé et s'il y a inversion : alors R0=espace si Cf≤Cc et R0=pavé plein dans le cas contraire s'il n'y a pas inversion alors R0=espace si Cf ≥ Cc et RO=pavé plein dans le cas contraire.

    2) s'il ne s'agit pas de l'espace, autrement dit s'il s'agit d'un caractère alphanumérique hors espace : alors le signal "environnement graphique" est non validé, et RO=F.



    [0064] Les figures 14a à 14f illustrent la structure du transcodeur dans ce cas particulier, avec les mêmes conventions pour les références numériques que pour les figures précédentes. Par ailleurs, les 16 bits provenant de la mémoire d'image sont référencés BO à B15. Les couleurs sont codées sur 3 bits notés BcVcRc pour la couleur de caractère et BfVfRf pour la couleur de fond. Les différents bits des mots de couleur sont véhiculés par des connexions portant les références 13, 14, 15 pour BfVfRf et 16, 17, 18 pour BcVcRc pour un caractère donné et, respectivement, 22, 23, 24 et 25, 26, 27 pour le caractère suivant. La connexion 12 véhicule un signal concernant la présence de délimiteurs.

    [0065] On remarquera, sur la figure 14a, que le registre d'entrée comprend deux registres 106 et 107 supplémentaires destinés à recevoir les 16 bits (D'0, ..., D'7 et D'8, ..., D'15) du caractère de rang n+l, lorsque le caractère de rang n est chargé dans les registres 102, 103, 105.

    [0066] La forme F est codée sur 7 bits (D0-D6); qui sont comparés avec les 7 bits XO-X6 de l'espace dans le comparateur 1402 dont la sortie est référencée 21. De même pour les 8 bits d'espace X8 à X15 qui sont comparés aux 8 bits de caractère issus de 102, 103, 104 dans le comparateur 1403 dont la sortie est référencée 20.

    [0067] La figure 14b montre trois comparateurs 201, 201' et 201" dont la fonction est de comparer respectivement :

    - les 3 bits véhiculés par les 3 connexions 46, 47, 48 issues d'une logique 805 représentée sur la figure 14e avec les 3 bits de Cc véhiculés par les connexions 16, 17, 18,

    - les 3 bits de C'f et Cc,

    - les 3 bits de C'f et C'c.



    [0068] Les sorties de ces comparateurs qui sont utilisées sont respectivement notées 39, 40, 60 pour le premier, 41, 42 pour le second et 43 pour le troisième.

    [0069] La figure 14c montre un mode de réalisation pour un premier circuit logique de décision 801. Ce circuit comprend : deux inverseurs 820, 821 reliés à une porte OU 822 ; un inverseur 823 ; des portes ET 824 et 825 ; un inverseur 826 ; une porte NON-ET 827; deux inverseurs 829, 830 ; cinq portes ET 831, 832, 833, 834, 835 et finalement une porte OU 836 dont la sortie 31 constitue la sortie du circuit 801.

    [0070] Ce circuit 801 a pour fonction la sélection d'un code correspondant à un espace graphique.

    [0071] La figure 14d représente 3 autres circuits logiques. Le premier, référencé 803, comprend un inverseur 840, .deux portes ET 841, 842, un inverseur 843 ; une porte ET 844 ; deux portes OU 845, 846 ; deux portes ET 847, 848 et enfin une porte OU 850 dont la sortie 32 constitue la sortie générale du circuit 803. Ce circuit remplit la fonction de sélection de pavé plein graphique.

    [0072] Le circuit 803' comprend deux portes ET 861, 862 et une porte OU 863 de sortie 33. Ce circuit a pour fonction la sélection, pour R0, des bits D7-DO de forme.

    [0073] Enfin, le circuit 803" est constitué par une unique porte ET 864 de sortie 34. L'entrée notée 45 de cette porte correspond à la sortie de la porte 824 du circuit 801. Le circuit 803" sert à sélectionner le bit D7 et les bits complémentaires D6-DO pour R0.

    [0074] La figure 14e montre d'autres circuits logiques de décision. Le circuit 805 comprend : une porte OU 865 ; une porte ET 866 ; un circuit de verrouillage 867 à trois sorties 46, 47 et 48. Le circuit 805 a pour fonction le verrouillage de la couleur de fond quand un délimiteur ou un caractère graphique est présent.

    [0075] Le circuit 806 comprend un démultiplexeur du type 2-+3, dont les trois sorties sont référencées 50, 51, 52. Ce circuit 806 a pour fonction la séparation entre délimiteur, caractère graphique, caractère alphanumérique.

    [0076] Enfin, le circuit 804 comprend une porte OU 869 ; une porte ET 870 ; une bascule 871 ; un inverseur 872 ; une porte OU 873. Il a pour sortie 53 et 54. Par ailleurs, ce circuit 804 comprend également un inverseur 874 et une porte ET 875 de sortie 58.

    [0077] Les références numériques associées aux connexions impliquées dans tous ces circuits de décision logique permettent d'établir les connexions appropriées.

    [0078] La figure 14f représente les éléments de sortie du transcodeur. Le multiplexeur 901 reçoit des données sous forme de bits E7-EO représentant le code espace graphique, de bits B7-BO représentant le code pavé plein, de bits D7-DO représentant la forme, de bits D7 D6-DOreprésentant la forme inversée. Ce multiplexeur 901 est commandé par les bits véhiculés par les connexions 31, 32, 33, 34 issues des circuits de décision logique 801, 803, 803' et 803" des figures 14c et l4d, bits qui sont multiplexés au préalable dans un multiplexeur 906 du type 4→2, et dont les sorties sont référencées 29 et 30.

    [0079] Les éléments représentés sur la figure 14f comprennent encore une porte 907 recevant d'une part les bits D14-D11 et d'autre part les bits d'attributs I, h, 1 par les connexions 13, 14 et 15 ainsi que le bit de clignotement Cl ; cette porte 907 est commandée par une connexion 35.

    [0080] Enfin, le circuit représenté comprend une porte 908 recevant les données D6-D4 et commandée par une connexion 36.

    [0081] Les données qui transitent par le multiplexeur 901 sont chargées dans le registre 1108. Celles qui ont franchi les portes 907 et 908 sont chargées dans le registre 1109. Ces deux registres sont commandés par le séquenceur par la connexion 38 représentée par ailleurs sur la figure 14a

    [0082] Ces deux registres délivrent respectivement des bits C7-CO caractérisant la forme et des bits A6-AO caractérisant les attributs du caractère.

    [0083] Le multiplexeur 901 a pour rôle de réaliser :

    a) la sélection RO=F si l'on a un caractère semi- graphique hors effacement de page connexion (45) et si Cf>Cc (40), ou si l'on a un caractère alphanumérique (50) avec un signal "environnement graphique" non validé (54). La relation logique réalisée par 803' doit donc être :

    33 = (45 ET 40) ou (50 ET 54) Alors l'activation de 33 permettra au multiplexeur de sélectionner F.

    b) la sélection RO=F si l'on a un semi-graphique hors effacement de page et si Cf<Cc. La relation logique,réalisée par 803" doit donc être :

    34 = (45 ET 39) Alors l'activation de 34 permettra au multiplexeur de sélectionner F.

    c) la sélection "pavé plein" si l'on a :

    cl) soit un espace alphanumérique (50 ET 21) dans un "environnement graphique" validé (53) ce qui implique 49=(50 ET 21 ET 53) dans 801 avec 1=0(13) et Cf<Cc(39) ou 1=1 et Cf>Cc(40) . L'opération logique effectuée par le circuit 803 est donc : 49 FT[39 ET I) OU (40 ET I)]

    c2) soit un délimiteur (52) suivi d'un graphique (56) et :
    (C'f=Cc ET C'f<C'c)=(41 ET 43) OU C'f>Cf (42). D'où l'opération logique effectuée par le circuit 803 :
    (56 ET 52) ET((41 ET 43)OU 42)



    [0084] Ces deux conditions peuvent s'écrire : R0="pavé plein" si : 42)]

    32=49 [(39 ET I) OU (40 ET I) OU 56 ET 52 [(41 ET 43) OU 42)]

    d) la sélection "espace" =RO si l'on a :

    dl)soit un délimiteur non suivi de graphique (52 ET 56) ;

    d2)soit un délimiteur suivi de graphique et C'f=Cc et C'f>Cc ou C'f<Cf donc 57,

    d3)soit un alphanumérique espace dans un environnement graphique (49) avec 1=0 et Cf>Cc ou I=1 et Cf≤ Cc (55) ,

    d4)soit un graphique d'effacement de page (51 ET 20 ET 21),

    d5)soit un graphique hors effacement de page (45) avec Cf=Cc (60).



    [0085] Ces 5 conditions peuvent s'écrire de manière logique :

    R0="espoace" si :

    31=(52 ET 56) 57 OU 55 OU (51 ET 20 ET 21) OU 45 ET 60). Par rapport au transcodeur des figures 7, on a donc les modifications suivantes :

    - ajout d'un comparateur 8 bits (1403) afin de détecter la configuration "graphique de remplissage" ;

    - ajout d'un démultiplexeur 806 pour distinguer le délimiteur (connexion 52 active), l'alphanumérique 50 et le graphique 51 ;

    - ajout d'une cellule de verrouillage 805 pour la couleur de fond, quand il y a un délimiteur 52 ou un semi-graphique ; cette cellule est verrouillée sur une transition du signal véhiculé par la connexion 37 venant du séquenceur (sortie CLK) et si 52 ou 51 sont actifs. Les connexions 46, 47 et 48 délivrent les 3 bits de la couleur de fond Cf ;

    - ajout de deux registres d'entrée 106 et 107 de 8 bits, pour stocker le caractère suivant ;

    - ajout de deux comparateurs 3 bits 201', 201" pour comparer C'f-Cc et C'f-C'c et utilisation des connexions 41 pour C'f=Cc, 42 pour C'f>Cc et 43 pour C'f>C'c ;

    - modification des signaux de commande du multiplexeur 901.



    [0086] Le chronogramme de la figure 15 explique le fonctionnement de cette variante du transcodeur. Il est plus complexe que le précédent (cf figure 8) même si l'on y retrouve essentiellement les mêmes phases. Cependant, il comprend une opération de chargement des registres d'entrées supplémentaires 106, 107 relatifs au caractère suivant. C'est la phase 02 qui se trouve alourdie, car il faut un double adressage mémoire pour acquérir le caractère suivant (cas du délimiteur).

    [0087] Pour cette phase 02, le séquencement est alors le suivant : envoi d'un premier signal de lecture RD vers la mémoire de page pour acquérir le caractère à transcoder ; ce signal est suivi d'un signal de chargement des registres d'entrée 101 à 105 (3ème ligne) ; le compteur d'adresses 1202 a une entrée comp- tage/décomptage (U/D) qui est positionnée en comptage ; le séquenceur envoie un signal CK, qui incrémente l'adresse et un signal CLK qui verrouille la couleur de fond (cas du délimiteur et du graphique). Un signal RD est alors envoyé pour acquérir le caractère suivant ; ce dernier est suivi d'un signal de chargement des registres d'entrée 106 et 107 et de la mise en décomp- tage de l'entrée du compteur ; puis le séquenceur envoie un nouveau signal CK pour revenir à l'adresse initiale et remet alors l'entrée U/D en comptage et envoie le signal "caractère valide".


    Revendications

    1. Procédé de transcodage de couleur permettant l'interconnexion entre :

    - d'une part, un équipement d'entrée comprenant une mémoire de page dont le contenu est apte à définir une image du type mosaïque formée de caractères définis chacun par une forme (F), une couleur de caractère (Cc), une couleur de fond (Cf) et divers autres attributs, les couleurs de caractères (Cc) et de fond (Cf) étant prises dans un groupe qui en comprend N ;

    - et d'autre part, un équipement de sortie comprenant un moyen d'affichage d'image du type mosaïque à l'aide de caractères ayant une forme, une couleur de caractère et une couleur de fond, les couleurs de caractère et de fond étant prises dans un groupe qui en comprend M, le nombre M étant inférieur à N, ce procédé de transcodage étant caractérisé par le fait qu'il comprend les opérations suivantes :

    - on affecte à chacune des M couleurs de l'équipement de sortie un mot binaire à m bits, on range les M mots selon un certain ordre, on complète à n bits ces M mots et on range les M mots correspondants (CO, Cl, ..., CM-1) dans une mémoire,

    - pour chaque caractère à transcoder, on mémorise un mot de n bits correspondant à la couleur du caractère Cc et un mot de n bits correspondant à la couleur de fond Cf,

    - on détermine la plage Ci-Ci+1 dans laquelle se situe le mot Cc, et la plage Cj-Cj+1 dans laquelle se trouve le mot Cf,

    - on prend comme couleur de caractère soit la couleur Ci, soit la couleur Ci+1 et pour couleur de fond soit la couleur Cj, soit la couleur Cj+l, le choix dans cette double alternative étant dicté par les critères suviants : on compare les mots Cf et Cc :

    A) si le mot Cc n'est pas égal au mot Cf, alors la forme du caractère n'est pas modifiée et l'on compare le mot Ci au mot Cj pour déterminer si Ci est égal à Cj ou si Ci n'est pas égal à Cj :

    Aa) si Ci n'est pas égal à Cj :

    Aal) on détermine quelle est la plus petite des deux différences Cf-Cj et Cj+1-Cf ; si Cf-Cj est la plus petite différence alors on choisit pour couleur de fond la couleur Cj ; dans le cas contraire, on choisit pour couleur de fond la couleur Cj+l,

    Aa2) on détermine quelle est la plus petite des deux différences Cc-Ci et Ci+1-Cc ; si Cc-Ci est la plus petite différence, alors on choisit pour couleur de caractère la couleur Ci ; dans le cas contraire, on choisit pour couleur de caractère la couleur Ci+1

    Ab) si le mot Ci est égal au mot Cj,
    on détermine si Cf est inférieur à Cc ; dans l'affirmative, on choisit pour couleur de fond la couleur Ci et pour couleur de caractère la couleur Ci+1; dans la négative, on choisit pour couleur de fond la couleur Ci+1 et pour la couleur de caractère la couleur Ci ;

    B) si le mot Cf est égal au mot Cc, la forme du caractère est prise identique au fond et la couleur commune de cet espace est prise égale à l'une des couleurs Ci et Ci+1


     
    2. Transcodeur de couleur permettant l'interconnexion entre :

    - d'une part, un équipement d'entrée comprenant une mémoire de page dont le contenu est apte à définir une image du type mosaïque formée de caractères définis chacun par une forme (F), une couleur de caractère (Cc), une couleur de fond (Cf) et divers autres attributs, les couleurs de caractères (Cc) et de fond (Cf) étant prises dans un groupe qui en comparend N;

    - et d'autre part, un équipement de sortie comprenant un moyen d'affichage d'image du type mosaique en question à l'aide de caractères ayant une forme, une couleur de caractère et une couleur de fond, les couleurs de caractère et de fond étant prises dans un groupe qui en comprend M, le nombre M étant inférieur à N,


    ce transcodeur étant caractérisé par le fait qu'il comprend :

    - un ensemble de registres d'entrée (100) reliés à la mémoire de page de l'équipement d'entrée et aptes à mémoriser des données numériques correspondant aux divers caractères à afficher, cet ensemble comprenant notamment un registre (102) mémorisant le mot de n bits correspondant à la couleur de caractère Cc et un registre (103) mémorisant le mot de n bits correspondant à la couleur de fond Cf,

    - un premier comparateur (201) à n bits possédant deux entrées reliées respectivement aux deux registres d'entrées (102, 103), d'où elles reçoivent les mots Cc et Cf, et trois sorties (3, 1, 4) dont l'état binaire indique si Cc est inférieur, égal ou supérieur à Cf,

    - une mémoire morte (1000) comportant M mots (CO, Cl, ..., CM-1) de m bits correspondant aux M couleurs de l'équipement de sortie, ces mots étant complétés à n bits et étant rangés dans un ordre déterminé, chaque mot étant adressable dans la mémoire par un indice (i ou j) définissant le rang du mot,

    - un premier sous-ensemble (300) permettant de déterminer dans quelle plage Ci-Ci+l est situé le mot Cc, ce premier sous-ensemble possédant une première entrée reliée au registre d'entrée (102) d'où elle reçoit le mot Cc et une seconde entrée reliée à la mémoire morte, et deux sorties délivrant les mots Ci et Ci+1 délimitant la plage dans laquelle se trouve Cc,

    - un second sous-ensemble (400) permettant de déterminer dans quelle plage Cj-Cj+1 est situé le mot Cf, ce second sous-ensemble possédant une première entrée reliée au registre d'entrée (103) d'où elle reçoit le mot Cf et une seconde entrée reliée à la mémoire morte, et deux sorties délivrant les mots Cj, Cj+1 délimitant la plage dans laquelle se trouve Cf,

    - un second comparateur (500) ayant deux entrées recevant les mots Ci et Cj et possédant une sortie (2) dont l'état binaire indique si Ci et Cj sont ou ne sont pas égaux,

    - un premier organe de comparaison (600) apte à calculer les différences Cc-Ci et Ci+l-Cc et à déterminer laquelle de ces deux différences est la plus faible, ce premier organe possédant une première et une deuxième entrées reliées respectivement aux deux sorties du premier sous-ensemble (300) d'où elles reçoivent les mots Ci et Ci+1, et une troisième entrée reliée au registre d'entrée (102) d'où elle reçoit le mot Cc, ce premier organe possédant une sortie (5) dont l'état binaire indique si Cc-Ci est ou n'est pas inférieur à Ci+l-Cc,

    - un second organe de comparaison (700) apte à calculer les différences Cf-Cj et Cj+l-Cf et à déterminer laquelle de ces deux différences est la plus faible, ce second organe possédant une première et une seconde entrées reliées respectivement aux deux sorties du second sous-ensemble (400) d'où elles reçoivent les mots Cj et Cj+1 et une troisième entrée reliée au registre d'entrée (103) d'où elle reçoit le mot Cf, ce second organe possédant une sortie (6) dont l'état binaire indique si Cf-Cj est ou n'est pas inférieur à Cj+l-Cf,

    - un circuit logique de décision (800) comprenant au moins six entrées reliées respectivement aux sorties (3, 1, 4) du premier comparateur (201), à la sortie (5) du premier organe de comparaison (600), à la sortie (6) du second organe de comparaison (700) et à la sortie (2) du second comparateur (500), ce circuit logique ayant comme fonction la mise en oeuvre de l'opération de choix définie dans la revendication 1, ce circuit possédant trois sorties, la première (7) délivrant un premier élément binaire la seconde (8) délivrant un second élément binaire, la troisième (9) délivrant un troisième élément binaire,

    - un ensemble multiplexeur (900) possédant des entrées de données reliées aux premier et second sous-ensembles (300, 400) et recevant des mots caractérisant l'espace et la forme, et des entrées de commande reliées aux sorties (7, 8, 9) du circuit logique de décision, cet ensemble multiplexeur possédant une sortie de données,

    - un ensemble (1100) de registres de sortie possédant une entrée reliée à la sortie de l'ensemble multiplexeur (900) et une sortie reliée à l'équipement de sortie,

    - un circuit séquenceur et compteur d'adresses (1200) possédant des entrées respectivement d'initialisation, de demande de transcodage, de lecture de caractère et d'horloge d'incrémentation et des sorties, respectivement de commande, de lecture de mémoire de page, de chargement de l'ensemble des registres d'entrée (10), de chargement de l'ensemble des registres de sortie (11), de validation de caractère et une sortie d'adresses.


     
    3. Transcodeur selon la revendication 2, caractérisé par le fait que le registre d'entrée (100) comprend un registre (101) affecté à un élément binaire d'inversion (I).
     
    4. Transcodeur selon la revendication 2, caractérisé par le fait que le registre d'entrée (100) comprend deux registres supplémentaires (106, 107) destinés à mémoriser les informations relatives au caractère qui suit le caractère traité.
     
    5. Transcodeur selon la revendication 4, caractérisé par le fait qu'il comprend 2 comparateurs supplémentaires (201' et 201") chargés de comparer les couleurs Cc du caractère courant et C'f du caractère suivant et les couleurs C'f et C'c du caractère suivant.
     
    6. Transcodeur selon la revendication 4, caractérisé par le fait qu'il comprend un registre d'entrée supplémentaire chargé par un élément binaire (12) indiquant la présence d'un caractère délimiteur.
     
    7. Transcodeur selon l'une quelconque des revendications 2 à 6, caractérisé par le fait qu'il comprend des organes à 3 bits pour traiter N=8 couleurs.
     




    Dessins

















































    Rapport de recherche