Brevet FR2617657A1 — publié le 19890106

SYSTEME DE TRANSMISSION DE SERIES D'ECHANTILLONS NUMERIOUES CODES PAR DES MOTS BINAIRES A LONGUEURS VARIABLES. La présente invention concerne un système de trans- mission de séries d'échantillons numériques codés par des mots binaires à longueurs variables, système formé, d'une part, d'un dispositif émetteur comportant un circuit de codage sta- tistique pour coder en lesdits mots à longueurs variables des mots à longueur fixe se présentant en son entrée sous forme de séries d'échantillons, un circuit de synchronisation pour for- mer des mots de synchronisation définissant la place des mots à longueur variable dans les séries et un circuit multiplexeur pour combiner, en vue de leur transmission, les mots de syn- chronisation avec les mots à longueurs variables et, d'autre part, d'un dispositif récepteur comportant un circuit démulti- plexeur pour fournir sur une de ses deux sorties les mots à longueurs variables reçus à un circuit de décodage statistique pour rétablir les mots à longueur fixe et sur l'autre de ses sorties le mot de synchronisation à un circuit de traitement pour rétablir en cas d'erreur de transmission la place des échantillons dans les séries. Un tel système trouve des applications importan- tes, notamment pour la transmission, sous forme numérique, d'images de télévision, chaque série d'échantillons représen- tant alors une ligne de l'image et les échantillons les points d'image (pixels). Dans le brevet des Etats-Unis d'Amérique No. 3 971 888 on décrit un système de ce genre pour cette applica- tion mentionnée. Le problème qui se pose avec ce genre de système est sa vulnérabilité aux erreurs de transmission. Une erreur de transmission affecte en premier lieu le mot binaire conte- nant cette erreur et peut se répercuter sur les mots sui- vants; il s'ensuit que, bien que finalement les mots soient 2 - reconnus convenablement, ils ne correspondent plus à la place de l'échantillon dans la série. Ce changement de place se pro- page de ligne en ligne et l'on obtient ainsi une image dont la qualité est fortement dégradée. Le brevet-précité, pour résou- dre en partie ce problème, préconise d'émettre le mot de syn- chronisation en début de série et de le protéger par un code correcteur d'erreur. Cependant ces mesures préconisées se ré- vèlent être peu efficaces lorsque surviennent des paquets d'erreurs dont la durée excède celle du mot de synchronisation et dont l'apparition coïncide plus ou moins avec ce mot. Le mot de synchronisation est alors annihilé et il ne peut plus remplir son rôle. La présente invention propose un système de trans- mission du genre mentionné dans le préambule, présentant une bonne immunité aux erreurs survenant par paquets. Pour cela, un tel système est remarquable en ce qu'il est prévu des moyens de commande du circuit multiplexeur pour disséminer dans les séries, les éléments binaires consti- tuant le mot de synchronisation. La description suivante, en regard des dessins an- nexés, le tout donné à titre d'exemple non limitatif, fera bien comprendre comment l'invention peut être réalisée. La figure 1 représente schématiquement un système de transmission conforme à l'invention. La figure 2 montre des séries d'échantillons à co- der. La figure 3 montre une dissémination possible,.con- forme à l'invention, des éléments binaires du mot de synchro- nisation. La figure 4 représente, en détail, la structure du dispositif émetteur conforme à l'invention. La figure 5 représente, en détail, un dispositif récepteur conforme à l'invention. La figure 1 montre le système de l'invention: en a on a représenté le dispositif émetteur et en b le dispositif -3- récepteur. A la borne 1 du dispositif émetteur on applique les échantillons numériques à transmettre. Ceux-ci, formés par des mots de longueur fixe de quatre éléments binaires, se pré- sentent à cette borne, échantillon par échantillon à la caden- OS ce d'un signal d'horloge CK appliqué à la borne 2. Comme ces échantillons sont relatifs au codage d'images de télévision, ils se présentent par séries dont chacune est relative à une ligne de l'image. Pour fixer les idées on aura donc 625 séries transmises en deux trames de 312 et 313 lignes. A la figure 2 on a représenté, bien schématique- ment, une trame de 312 lignes L1... L312. Chaque ligne est formée d'une série de 900 échantillons SP1... SP900 dont 720 représentent la luminance et 180, une information de chromi- nance. Pour coder ces échantillons selon un code statistique, le dispositif émetteur comporte un circuit de codage 3 effec- tuant un codage d'Huffmann. Ce codage est décrit notamment au paragraphe 6.2.3.2 page 239 de l'ouvrage intitulé 'Digital Image Processing" de R.C. Gonzales et P.Wintz et édité en 1977 par Addison-Wesley Publishing Company. Selon ce code, on af- fecte des mots de petite longueur (1 élément binaire) aux mots de longueur fixe qui surviennent souvent et des mots de grande longueur (8 élément binaires) aux mots qui surviennent le plus rarement. Ainsi, selon cet exemple que l'on est en train de décrire, 900 échantillons seront codés pour la transmission par un nombre d'éléments binaires allant de 900 à 7200. A ce nombre, il convient toutefois d'ajouter un certain nombre d'éléments binaires pour assurer la synchronisation de ligne. Pour cela, on a prévu un circuit de synchronisation 4 qui dé- termine au moyen d'un circuit de mesure 6, la longueur en élé- ments binaires de chaque ligne (ou série) et qui protège cette mesure au moyen d'un circuit de codage de correction d'erreur 8. Un circuit multiplexeur 10 fournit sur sa sortie 12 les mots binaires à longueur variable combinés avec les mots de synchronisation élaborés par le circuit de synchronisation 4. Le circuit multiplexeur 10 est commandé par une base de temps -4- recevant les signaux CK et initialisé périodiquement par des signaux de fin de trame TR appliqués à la borne 16. Le dispositif récepteur montré en b reçoit sur sa borne d'entrée 20 la combinaison de mots transmis. Un circuit démultiplexeur 22 fournit à sa première sortie 24 les mots à longueurs variables transmis et à sa deuxième sortie 25 les mots de synchronisation; à la sortie 24 est connecté un cir- cuit de décodage 28 qui effectue l'opération inverse du cir- cuit de codage 2. Le circuit 28 restitue des mots à longueur fixe à un circuit de mémoire 30; à la sortie 25 est connecté un circuit de traitement 32 qui fournit, d'une part, au cir- cuit de mémoire 30 tout un cycle de codes d'adresse correspon- dant à l'emmagasinage d'une ligne et d'autre part des signaux d'initialisation à une base de temps de réception 35. Cette base de temps 35 est utilisée notamment pour la commande du circuit démultiplexeur 22. C'est à la borne de sortie 40 con- nectée à la sortie du circuit de mémoire 30 que l'on recueille pour l'utilisation les échantillons transmis au rythme CKU d'une horloge d'utilisation. Les signaux fixant ce rythme sont reçus à une borne 41. Selon l'invention, pour assurer une efficacité la plus complète au mot de synchronisation, il est prévu des moyens de commande pour disséminer dans les lignes (ou séries) les éléments binaires constituant le mot de synchronisation. A la figure 3, on a montré une dissémination possi- ble des éléments binaires du mot de synchronisation à l'inté- rieur d'une série représentant une ligne Lp. Le mot de syn- chronisation formé de 18 éléments binaires y est disséminé à raison d'un élément binaire bl, b2,..., b18 par paquet de 50 éléments binaires. L'élément binaire bl étant placé au début de la série, il reste un emplacement allant de 50 à 6350 élé- ments binaires entre l'élément binaire b18 et la fin de la sé- rie et l'on remarque qu'un intervalle minimum de 50 éléments binaires est toujours conservé, ce qui donne une bonne immuni- té à l'encontre des paquets d'erreutrs. Le mot de synchronisation D est formé d'une part d'un mot D' de 13 éléments binaires pour donner la différence - entre la longueur LG en élément binaire de la série à laquelle il est affecté et la longueur moyenne des lignes que l'on a fixée à 2160 de sorte que: D' = LG - 2160 d'o - 1260 de rappeler ici. A la figure 4, on a représenté plus en détail la structure du dispositif émetteur. Le circuit de codage 3 est élaboré autour d'une mé- moire morte pré-programmée 50. L'entrée d'adressage de cette mémoire reçoit les échantillons de la borne 1 et à sa sortie on recueille d'une part le code statistique qui est stocké dans un registre à décalage 52 et d'autre part une indication de sa longueur qui est stockée dans un registre 54. Il con- vient dès à présent de noter que l'information contenue dans le registre 54 va être utilisée par le circuit 6 pour compta- biliser le nombre d'éléments binaires dans une ligne. Pour ce- la, on a prévu une liaison 55 entre le registre 54 et le cir- cuit 6. Ces registres 52 et 54 sont chargés au rythme du si- gnal CK. Le registre 52 est déchargé par décalage par un si- gnal WFO à un rythme suffisamment rapide pour qu'entre deux apparitions du signal CK actif, le mot à longueur variable le plus long possible contenu dans le registre 52 puisse être dé- calé complètement. Ce rythme est défini au moyen d'un signal CKF qui est appliqué à un compteur 56 par l'intermédiaire d'une porte ET 58; le signal WFO apparaît à la sortie de cet- te porte. Un comparateur de code 60 compare le contenu du re- gistre 54 avec celui du compteur 56; dès qu'il y a égalité, son signal de sortie bloque la porte 58 de sorte que les si- gnaux CKF ne sont plus appliqués au compteur 56; puisque le signal de sortie WFO de cette porte est appliqué à la commande de décalage du registre 52, ce registre 52 a été décalé autant de fois qu'indiqué dans le registre 54. Le compteur 56 est re- initialisé chaque fois que le signal CK devient actif. -6- Comme il vient d'être dit, le circuit de mesure 6 utilise l'information contenue dans le registre 54 afin de pouvoir cumuler ce nombre pour toute une ligne. A cet effet il utilise un accumulateur formé d'un additionneur 70 couplé à un registre d'accumulation 72. L'additionneur 70 somme le contenu des registres 54 et 72 et le résultat s'accumule à chaque ap- parition du signal actif CK dans le registre 72. Un compteur 74 compte les retenues éventuelles élaborées par l'addition- neur 70. Le nombre d'éléments binaires d'une ligne est donc obtenu par la concaténation des contenus du registre 72 et du compteur 74. Un signal FL indiquant une fin de ligne à traiter remet à zéro périodiquement ce registre 72 et le compteur 74. Pour protéger ce nombre par un code correcteur d'erreurs on utilise une mémoire morte judicieusement programmée pour cons- tituer le circuit de codage de correction d'erreur 8. Le circuit de multiplexage 10 est formé d'un cir- cuit multiplexeur 80 à deux entrées, dont une première est connectée-à la sortie d'un registre à décalage 84 effectuant une conversion parallèle-série pour le code provenant du cir- cuit 8 et dont la deuxième entrée est connectée à la sortie d'une mémoire FIFO 86; l'entrée de cette mémoire est connec- tée à la sortie du registre à décalage 52. L'écriture de cette mémoire est effectuée au moyen du signal WFO au même rythme, donc, que le décalage de ce registre 52. La lecture s'effectue au rythme d'un signal RFO. La commande du circuit multiplexeur s'effectue par un signal MX, c'est-à-dire que lorsque ce signal est actif, l'élément binaire du registre 84 est trans- mis à la sortie du circuit 80 puis lorsque ce signal n'est plus actif, ce sont les éléments binaires à la sortie de la mémoire FIFO qui sont transmis. Par suite de la présence d'un circuit de retard 88 connecté à l'entrée de commande de déca- lage du registre 84 et prévu pour retarder le signal MX, le registre 84 sera décalé d'un cran, peu après que le signal MX soit devenu non actif. La capacité de la mémoire FIFO 86 doit être suffi- sante pour contenir plus d'une ligne, c'est-à-dire être supé- 7- rieure à 7200 éléments binaires; on doit prélever dans cette mémoire chaque ligne codée entre chaque apparition du signal FL. La base de temps 15 fournit les différents signaux dont il a été question. Les signaux CK provenant de la borne 2 restent identiques à eux-mêmes. Les signaux FL proviennent d'un divi- seur de fréquence 91 qui divise par 900, correspondant au nom- bre de points d'image d'une ligne. Ce diviseur est initialisé par le signal TR provenant de la borne 16. Le- signal CKF provient d'un générateur à cadence rapide 92. Le signal RFO provient de la sortie d'une porte ET 94 dont une entrée est connectée à la sortie d'un circuit com- parateur de codes 95 par l'intermédiaire d'une porte ET 96. Ce circuit compare les codes contenus d'une part dans un registre 98 destiné à contenir le nombre d'éléments binaires d'une li- gne à transmettre (ce nombre provient de la sortie du circuit 6) et d'autre part dans un compteur 100. Le chargement du re- gistre 98 et l'initialisation du compteur 100 s'effectue par le signal FL actif. Ce compteur 100 s'incrémente au rythme des signaux de sortie d'un générateur de rythme 115 transitant par l'intermédiaire d'une porte ET 118. Les signaux de ce généra- teur 115 sont appliqués en outre, toujours par l'intermédiaire de la porte ET 118 à un diviseur de fréquence par 50 référencé par 125. Ce taux de division de 50 correspond à l'espacement entre deux éléments binaires du mot de synchronisation (voir figure 3). A la sortie de ce diviseur 125 on a connecté-un au- tre diviseur 130 dont le signal de sortie vient bloquer la porte 118 par l'intermédiaire de l'entrée inverseuse 132 dont elle est munie, lorsque 17 espacements ont été comptés. Ces diviseurs sont initialisés par le signal FL. Une porte ET 140 fournit les signaux MX en direction du circuit 80. Les deux entrées de la porte 140 sont reliées respectivement aux sor- ties de la porte 118 et du diviseur 125. Un organe de mémoire tampon 155 permet d'adapter le rythme des données fournies à - 8 - la sortie du circuit 80 avec celui du canal de transmission connecté en 12. Le fonctionnement de ce genre d'organe 155 peut être-compris par la lecture de l'article de Toshio Koga intitulé 'Statiscal Performance Analysis of an Interframe Encoder for Broadcast Television Signals' paru dans IEEE COM-29, No.12, DEC 81, page 1868-1876. A la figure 5, on a représenté, en détail, un dis- positif récepteur. Les données reçues sont appliquées tout d'abord à la base de temps réception 35. Un circuit de resti- tution d'horloge 200 fournit à partir des signaux reçus un si- gnal dont le rythme est le rythme de transmission du canal. Ce signal est appliqué, d'une manière semblable à celle déjà expliquée pour le dispositif émetteur, à un premier diviseur 202 par l'intermédiaire d'une porte ET 204 munie d'une entrée inverseuse pour être connectée à la sortie d'un deuxième divi- seur 206. Ces diviseurs 202 et 204 montés en cascade divisent respectivement par "50" et "17". Le signal de sortie du divi- seur 202 commande le circuit démultiplexeur 22 pour que les éléments binaires du mot de synchronisation, reçus, soient em- magasinés dans un registre à décalage 208. Le décalage.de ce registre est effectué au moyen du signal de sortie du diviseur 202, signal retardé (d'un court instant par rapport au rythme du circuit 200) par le circuit de retard 210. Les éléments bi- naires des mots de codes transmis à longueurs variables sont enregistrés dans un registre à décalage 215 au rythme d'un si- gnal fourni par une porte ET 220 dont une entrée est connectée à la sortie du circuit 200 et une autre entrée, inverseuse celle-ci, à la sortie du diviseur 202. On notera que les divi- seurs 202 et 206 sont munis d'une entrée d'initialisation re- cevant un signal FLR. Ce signal actif met à "1" le diviseur 202 et à '"0" le diviseur 206. Ce signal FLR est élaboré de la manière suivante. Un compteur 225 compte les impulsions du si- gnal de sortie de la porte 220 et donc les éléments binaires constituant les lignes d'images. Un comparateur de codes 230 compare le code à la sortie d'une mémoire morte 231 qui effec- tue l'opération inverse du codage d'erreurs sur le mot contenu -9- dans le registre 208 avec le code contenu dans le compteur 225; le signal de sortie du comparateur est fourni à une por- te ET 232 pour être validé par le signal de sortie du diviseur 206; on s'assure ainsi que ce signal n'est pris en compte que lorsqu'on est sûr que le mot de synchronisation est complète- ment emmagasiné dans le registre 208. Le signal de sortie de cette porte 232 constitue le signal FLR qui met à zéro, lors- qu'il est actif, le contenu du compteur 225. Le fonctionnement du décodeur 28 est basé sur les considérations suivantes. Chaque élément binaire reçu est exa- miné dans la première case du registre 215 au moyen d'une por- te OU-EXCLUSIF 240 délivrant un signal KW. On admet que le mot le plus court est formé du seul élément binaire "1'. Cela veut dire que les autres mots commencent par "0", le mot binaire plus long (2 éléments binaires) peut être '00", le mot binaire à 3 éléments binaires peut être "011', le mot binaire à 4 élé- ments binaires peut être "0100"... etc. On voit que lorsqu'on charge un mot tel que 10101010 dans un registre à décalage 245 et que l'autre entrée de la porte 240 examine la dernière po- sition du registre 245 et que si le premier élément binaire reçu est est 1" il y a coïncidence et le mot est donc recon- nu. Si c'est un *0', on décale d'un cran les registres 215 et 245 si le deuxième élément binaire reçu est un '0', le mot bi- naire '00" est reconnu et ainsi de suite pour les autres élé- ments binaires. Ce signal KW est transmis, par l'intermédiaire d'une porte ET 250 munie d'une entrée inverseuse, d'une part à un compteur 252 pour l'incrémenter, ce compteur étant modulo 900, et d'autre part à la commande de chargement d'un registre 255 connecté en sortie d'une mémoire ROM 260 transcodant les mots reconnus à longueurs variables contenus dans le registre 215 en des mots de longueur fixe. Dès que le compteur 252 a atteint le compte 900 il délivre un signal actif FLK qui, ap- pliqué à l'entrée inverseuse de la porte 250, la bloque et le chargement du registre 255 est interrompu. On notera que le - 10 - signal FLR provoque le chargement du registre 245 et initiali- se ainsi le processus de reconnaissance des mots à longueurs variables et que ce signal remet à zéro le compteur 252. Les contenus du compteur 252 et du registre 255 sont emmagasinés au rythme du signal de sortie de la porte 250 dans une mémoire FIFO 280. Cette mémoire est lue au rythme d'un signal CKU fourni par l'utilisateur, le circuit de mémoi- re 30 emmagasine les différents codes à longueur fixe aux adresses indiquées par le compteur 252. On s'aperçoit que le signal FLR synchronise tout le fonctionnement et qu'il a une action prioritaire sur le signal FLK. En fonctionnement normal, ces deux signaux doivent être actifs en même temps. Si le signal FLK devient actif avant le signal FLR, le compteur 252 et le chargement du registre 255 sont blo- qués; l'apparition du signal FLR remet à zéro le compteur 252 et rend passante ainsi la porte 250, pour que le processus de reconnaissance redémarre. Si le signal FLR survient avant le signal FLK, quel que soit le contenu du compteur 252, celui-ci est re-initiali- sé. - 11 - REVENDICATION: 1. Système de transmission de séries d'échantillons numériques codés par des mots binaires à longueurs variables, système formé, d'une part, d'un dispositif émetteur comportant un circuit de codage statistique pour coder en lesdits mots à longueurs variables des mots à longueur fixe se présentant en son entrée sous forme de séries d'échantillons, un circuit de synchronisation pour former des mots de synchronisation défi- nissant la place des mots à longueur variable dans les séries et un circuit multiplexeur pour combiner, en vue de leur transmission, les mots de synchronisation avec les mots à lon- gueurs variables et, d'autre part, d'un dispositif récepteur comportant un circuit démultiplexeur pour fournir sur une de ses deux sorties les mots à longueurs variables reçus à un circuit de décodage statistique pour rétablir les mots à lon- gueur fixe et sur l'autre de ses sorties le mot de synchroni- sation à un circuit de traitement pour rétablir en cas d'er- reur de transmission la place des échantillons dans les sé- ries, caractérisé en ce qu'il est prévu des moyens de commande du circuit multiplexeur pour disséminer dans les séries, les éléments binaires constituant le mot de synchronisation.