Brevet FR2559631A1 — publié le 19850816

"Procédé pour l'élimination d'erreurs à la réception de données" L'invention concerne un procédé pour l'élimina- tion d'erreurs dans des données utilisées à la réception dans un système de transmission de données qui utilise une redondance systématique à l'émission, dans lequel on utilise un registre pour enregistrer des données qui se présentent. La redondance à l'émission est constituée par le fait qu'une même émission est répétée plusieurs fois. De tels procédés sont décrits par exemple dans le brevet français n0 1 307 937 ou dans la demande de brevet européen n 83 200 016.0. Ces systèmes prévoient une demande de retransmission, demande faite par le récepteur à l'émetteur, jusqu'à ce qu'un message ait été reçu en bloc correctement. L'invention concerne plus particulièrement un procédé pour éliminer les erreurs dans les données utilisées à la réception, lorsqu'une redondance systématique est utilisée à l'émission. On entend par "systématique" le fait que les messages soient émis un grand nombre de fois consécutives à intervalles requliers. De tels systèmes, associés par exemple à des émissions de télévision sont utilisés dans différents pays et il en existe plusieurs types connus par exemple sous les noms de "DIDON ANTIOPE", "NAB@S"... Dans les systèmes ci-dessus, le récepteur ne peut pas répondre à l'émetteur pour lui demander une réémission. En revanche, caque message étant réémis périodiquement et à intervalles réguliers, il est possible, si la première réception comporte des erreurs, d'attendre une réception ultérieure correcte Toutefois, si le taux d'erreur est élevé (en cas de bruit important) il se peut que ceci prenne un temps assez long. 'invention se propose de fournir un procédé qui permet d'obtenir le plus rapidement possible un texte exempt de fautes à la récep tion Le procédé selon l'invention est remarquable en rz c?J'Gn recopie d'abord en bloc lesdites données dans un deuxième registre, en ce qu'on décide de faire ensuite une acquisition sup plementaire du message si le résultat global d'un contrôle de validité général effectué sur l'ensemble des données stockées est négatif, et en ce qu'après une telle éventuelle acquisition supplémentaire, stockée dans le premier registre, on relit en parallèle le premier et le deuxième registre, octet par octet, et on décide pour chaque octet si on le recopie ou non du premier dans le deuxième registre, selon le résultat d'une comparaison entre la parité de octet du premier registre et la parité de l'octet du deuxième registre. Avantageusement ladite acquisition supplémentaire, et la relecture en parallèle avec recopie éventuelle octet par octet sont répétées jusqu'à ce qu'un test de parité général effectué sur l'ensemble des données du deuxième registre soit positif. Le procédé selon l'invention repose donc sur l'idée qu'après plusieurs acquisitions de la même page, cette page sera exempte d 'erreurs parce que les erreurs arrivent rarement à la même place dans la page, ce qui rend le mécanisme convergent. La description qui va suivre, en regard des dessins annexés décrivant des exemples non limitatifs fera bien comprendre comment l'invention peut être réalisée. La figure 1 représente schématiquement l'organisa- tion d'un système permettant la mise en oeuvre du procédé selon l'invention. La figure 2 représente plus en détail l'organisa- tion des éléments servant à la correction des erreurs. Le procédé selon l'exemple décrit ici procure la fonction d'acquisition de données pour un système de transmission numérique par paquets radiodiffusés. I1 est prévu pour travailler selon les standards de transmission suivants - Système Français "DIDON - -Antiope" - Système Nord Américain télétexte "NABTS" - Système Anglais de télétexte. Le procédé peut être d'ailleurs utilisé aussi bien pour le télétexte que pour d'autres applications, par exemple en télématique. Le procédé sera expliqué en référence à un sys tème permettant sa mise en oeuvre représenté sur la figure 1. Ce système comporte un circuit spécifique 3, appelé DIDAC, (DIDON,ACQUISITION et CONTROLE) réalisé par exemple en technologie N MCS, et associé à un processeur vidéo 2, par exemple du type SAA 5230 de la Demanderesse, un registre d'enregistrement de données non traitées A (mémoire statique ou dyna mi que) qui peut avoir une dimension variable selon l'application, un microprocesseur 5, associé a une mémoire morte 4, et pour des appl.cations de télétexte un dispositif d'affichage convenable 7 avec une mémoire de pages 6. te circuit DIDAC comporte de manière connue une interface vers le microprocesseur via un bus données/adresses en parallèle. Le microprocesseur décode les données non traitées avant transmission, par exemple à la mémoire 6 du dispositif d'af- fichage En utilisant la transmission cyclique de l'information des services de télétexte et le bit de parité de chaque octet transiTjîs, le procédé permet le stockage, dans un deuxième registre 1B, de données exemptes d'erreur. Le système comporte avantageusement plusieurs deuxième registres 1B, chacun étant utilisé pour ranger une page ou un chapitre différent. Les données se présentent dans le système Didon Antiope sous forme de paquets comportant un préfixe qui fournit des octets de synchronisation d'horloge, puis un code d'identification du flssage (type de magazine), suivi d'une indication de format ou de structure de paquet et, enfin, le message propremant dit qui peut être plus long qu'un paquet et se poursuivra sur plusieurs paquets sucessifs. Une page peut aussi commencer à l'in- -r-rieur d'un paquet. Elle est définie par un signe de début de page, un $numéro de paye, un octet de liaison (suite de page), une séquence d' interpretation, c'est-à-dire de présentation du contenu de la page suivie des don oses proprement dites. Les informations reçues sont démodulées de façon connue dans le démodulateur 2. Celui-ci contient sa propre horloge, mise en phase par les octets de synchronisation. Le circuit DIDAC 3 réalise le tri des messages : I l'initialisation, il attend des données de synchronisation (NABTS) ou un début de page (ANTIOPE) ou un ',Page-Header" {Teletext anglais). Dès que les données sont disponibles, le microprocesseur lit les deux octets de continuité et de format (ANTIOPE) ou de structure de paquet (NABTS) qui sont codés en code de Hamming. Il ignore la page en question s'il y a des erreurs multiples sur ces deux octets et attend la page suivante.Sinon il analyse les autres données de service trouvées dans les octets d'identification et décide si la page est à considérer (en fonction du choix de l'utilisateur). Si elle l'est, il indique au circuit DIDAC un numéro de registre 1B pour ranger la page ; en cas de système NABTS il indique le nombre d'octets à copier (qu'il a trouvé dans les octets de service); puis il donne un ordre de copie. Alors les octets du paquet sont enregistrés, ainsi que les 2 octets codés Hamming, dans le registre 1A qui est utilisé en mode dit "FIFO". La page complète est transférée quand : en ANTIOPE, un couple d'octets de fin de page a été trouvé; en NABTS, le nombre d'octets est atteint; en télétext anglais, le prochain "Page-Header" du magazine sélectionné est trouvé. En permanence, le circuit DlDAC tient à jour l'état du processus, et à la fin il peut fournir le résultat global d'un contrôle de parité transversal, d'un contrôle de continuité des pages et d'un contrôle selon le code de Hamming pour les octets de préfixe définissant le format ou la structure du paquet. La méthode de correction d'erreur sera maintenant expliquée en référence aux figures 2A et 25. La figure 2A illustre le mécanisme lors d'une première acquisition et la figure 2B le mécanisme lors d'une recopie avec test octet par octet, après une acquisition supplémentaire. Lors dxune première acquisition les données reçues ont été enregistrées dans le registre 1A, telles quelles, et comportent les octets de continuité 10A, 1013,.. iON et les octets indicateurs de format 11A, 11B,...11N en tête des blocs de données 8A, 8B,...8N, qui représentent une page répartie sur N paquets successifs. Après la première réception d'une page recherchées le microprocesseur dcnne au circuit DIDAC un ordre de copie. Les données sont lues dans le registre 1A et recopiées dans celui des registres 1B, dont le numéro a été choisi par le microprocesseur, telles qu'elles ont été transmises, mais sans les octets de continuité et de format, les blocs 8A, 8B,...8N de registre 1A servant à constituer les 9A, 9B,...9N du registre 1B. Entre les registres 1A et lb les données transitent , octet par octet, par un registre d'octet 30 où la parité de chaque octet est vérifiée par un calculateur de parité transversale 40. A la fin de ce processus, le microprocesseur lit le resultat global du test de parité. Si celui-ci est positif, c'est å-dire qu'aucune erreur de parité n'a été détectée, le processus est terminé en ce qui concerne la page. Si une ou plusieurs erreurs ont été détectees, le microprocesseur peut décider une nouvelle acquisition (supplémentaire) de la meme page, lorsque celle-ci se présentera a nouveau quelque temps plus tard grâce à la réémission périodique des mêmes pages par l'émetteur. Cette page est alors enregistrée à nouveau dans le registre 1A, et lorsque cet enregistrement est terminé le microprocesseur donne au circuit DIDAC un ordre de copie avec test.Le registre 1A est alors transféré octet après octe dans le registre d'octet 30, et en parallèle le registre 13 est transféré octet après octet dans le registre d'octet 31. Pour chaque octet les résultats de parité calculés par les calculateurs de parité 40 et 41 sont comparés dans un circuit logique 5 avec le resultat suivant Erreur de p a- Erreur de pa- Action Erreur de pa- Erreur de pa- A@@@on rité dans 30/40 rité dans 31/41 non non pas de changement dans 1B non oui octet de 30 envoyé dans 1B à la place de l'octet 31. oui non pas de changement dans 13 oui oui pas de changement dans 1B, Enregistrement d'un résul tat global négatif par DIDAC. Ainsi le résultat global de parité enregistré dans DIDAC correspond à ce qui est effectivement dans le registre 1B. Si ;e résultat est à nouveau négatif, le microprocesseur peut décider encore une acquisition supplémentaire suivie du processus qui est décrit ci-dessus, par exemple jusqu'a ce que le résultat global de parité correspondant au contenu du registre 1B soit positif. Mais il lui est également possible d'exploiter une page comportant des erreurs au cas où la transmission serait très mauvaise. Le microprocesseur peut par exemple être programmé pour ne pas déclencher plus de deux acquisitions, ou pour ne plus procéder à de nouvelles acquisitions après un délai prédéterminé. Le système comportant plusieurs deuxièmes registres 1B, ceux-ci peuvent ainsi être utilisés chacun pour une page ou un chapitre différent, en association avec le même circuit 1A et le même système de transfert et test 30, 31, 40, 41, 50 en commun pour tous les registres 1B. Ceci est possible puisque plusieurs pages ne peuvent être transmises au meme instant. REVENDICATIONS 1. Procédé pour l'élimination d'erreurs dans des données utilisées à la réception dans un système de transmission de données qui utilise une redondance systématique à'l'é- mission, par exemple "ANTIOPE" ou "NABT5", dans lequel on utilise un premier registre pour enregistrer des données qui se présentent, caractérisé en ce qu'on recopie d'abord en bloc lesdites données dans un deuxième registre , en ce qu'on décide de faire ensuite une acquisition supplémentaire du message Si le résultat global d'un contrôle de validité général effectué sur l9ensemble des données stockées est négatif, et en ce qu'après une telle éventuelle acquisition supplémentaire, stockée dans le premier registre , on relit en parallèle le premier et le deuxième registre, octet par octet, et on décide pour chaque octet Si on le recopie ou non dans le deuxième registre, selon le résultat, d'une comp2raison entre la parité de l'octet du pre mir--r registre et la karité de l'octet du deuxième registre. Procédé selon la revendication 1, caractérisé en ce qu'on répète l'acquisition supplémentaire et la relecture en parallèle avec recopie éventuelle octet par octet, jusqu'à ce qu un test de parité général correspondant au contenu du deuxième registre soit positif 3. Procédé selon la revendication 1, caractérisé en ce que l'on limite systématiquement le processus à un nombre d'acquisitions prédéterminé. 4. Procédé selon la revendication l, caractérisé en ce que l'on limite systématiquement le temps alloué aux acquisitions supplémentaires à une valeur prédéterminée procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'on prévoit plusieurs deuxièmes registres qui peuvent ainsi être utilisés chacun pour une page différente, an asscciation avec le le même premier registre.