Brevet FR2648972A1 — publié le 19901228

DISPOSITIF DE SYNCHRONISATION POUR UN DECODEUR DE DONNEES CODEES PAR UN CODE A LONGUEUR VARIABLE La présente Invention concerne un dispositif de synchronisation pour un décodeur de données codées par un code à longueur variable, les données codées étant transmises en paquets de longueur variable, séparés par des mots séparateurs permettant d'identifier le début de chaque paquet. Ces séparateurs sont constitués d'un mot binaire fixé qui est appelé couramment motif de synchronisation. Les motifs de synchronlsation n'on pas une fréquence régulière, à cause de la longueur variable de chaque paquet. Pour coder, transmettre, puls décoder des données au moyen d'un code à longueur variable, il est classique d'utill- ser une mémoire tampon dans le codeur et une mémoire tampon dans le décodeur. Chaque mémoire tampon est associée à un pointeur d'adresses d'écriture et à un pointeur d'adresses de lecture. Les données codées sont inscrltes dans la mémoire tampon du codeur à un rythme variable qui est celui du codage à longueur variable. Puis ces données sont lues dans la mémoire tampon du codeur à un rythme constant qui est égal à celui du canal de transmission. Après leur transmission, elles sont inscrites, au rythme du canal de transmission, dans la mémoire tampon du décodeur. Enfin, elles sont lues dans cette mémoire tampon à un rythme variable qui est le rythme de fonctlonnement du dispositif de décodage des mots de code à longueur variable. Le remplissage de la mémoire .tampon du codeur est régulé de manière à évlter un assèchement ou un débordement. La valeur du remplissage de la mémoire tampon du codeur est transmise périodiquement au décodeur pour asservir le remplissage de sa mémoire tampon de telle sorte que la somme des valeurs de rempllssagedes deux mémoires tampons soit constante. Ainsi, le temps de séjour des données codées dans l'ensemble des deux mémoires tampons est constant. Dans le cas où les données codées représentent les valeurs d'un signal analogique, un procédé de régulation du remplissage de la mémoire tampon du codeur consiste à faire varler le pas de quantification utilisé pour numériser le signal analogique. La valeur du pas est transmise au décodeur ou bien est calculée en fonction du remplissage de sa mémoire tampon. La reconstitution des valeurs du signal analogique est effectuée évidemment au moyen du mème pas que pour le codage. Une réinitialisation du remplissage de la mémoire tampon du décodeur est réalisée en transmettant périodiquement la valeur du remplissage de la mémoire tarpon du codeur, afin de limiter l'effet d'éventuelles erreurs de transmission. Des données codées par un code à longueur varlable sont sensibles aux erreurs de transmissions affectant la valeur de chaque mot de code, mais sont également sensibles aux erreurs affectant la longueur des mots de code, car le décodage de chaque mot de code nécessite de connaitre exactement où est son début dans la suite des bits reçus. La moindre erreur affectant la longueur d'un mot de code décale le début des mots de code suivants et compromet donc le décodage de tout le reste d'un paquet de données. Le mot séparateur placé au début de chaque paquet de données codées permet de retrouver la synchronisation du décodage des mots de codes lorsque des erreurs de transmisslon ont affecté les valeurs ou les longueurs des mots de codes du paquet précédent. Un premier but de l'invention est de proposer un dis- positif permettant de resynchronlser un décodeur à la fin d'un paquet de données affecté par des erreurs de transmlsslon qui modifient la valeur ou la longueur de certains mots de codes de ce paquet de données, sans affecter les séparateurs de paquets de données. L'objet de l'invention est un dispositif de synchronisation qui a pour première caractéristique de comporter une mémoire du type "premier entré premier sorti", pour stocker les adresses où sont écrits les séparateurs dans la mémoire tampon, puis les restituer pour réinltlaliser le pointeur d'adresses de lecture au moment où une horloge locale du décodeur indique que doit commencer le décodage d'un nouveau paquet de données, même si le décodage du précédent paquet de données ne semble pas être terminé, ou bien semble être déjà terminé. Cette réinitialisation du pointeur de lecture permet de retrouver la synchronisation au début de chaque paquet de données qui suit un paquet comportant des erreurs. Selon l'invention, un dispositif de synchronisation pour un décodeur de données codées par un code à longueur variable, et transmises par paquets de longueur variable, séps- rés par des mots séparateurs, ce décodeur comportant - une mémoire tampon - un pointeur d'adresses d'écriture, pour écrire les données codées dans le mémoire tampon - un pointeur d'adresses de lecture, pour lire les données codées dans la mémoire tampon est caractérisé en ce que, pour réinitialiser le pointeur de lecture préalablement au décodage de chaque paquet, le disposltif de synchronisation comporte - des moyens pour détecter chaque séparateur - une mémoire, dite mémoire d'adresses, du type "premier entré premier sorti", pour stocker l'adresse fournie par le pointeur d'adresses d'écriture lors de chaque détection de séparateur - des moyens de commande, pour commander la lecture d'une adresse dans la mémoire d'adresses et pour commander le chargement de cette adresse dans le pointeur d'adresses de lecture, préalablement au décodage de chaque paquet de données. Un deuxième but de l'invention est de proposer un dispositif de synchronisation permettant en outre de limiter l'effet des erreurs de transmission sur le contenu d'un paquet de données codées, lorsque les erreurs affectent des mots de code mals n'affectent pas un séparateur et n'imitent pas un séparateur. L'objet de l'invention est un dispositif de synchronisation ayant pour deuxième caractéristique de comporter - un comparateur pour détecter la non-identité entre l'adresse de lecture fournit par le pointeur d'adresses de lecture et l'adresse de réinitialisation de ce pointeur, juste avant de réinitialiser ce pointeur - et des moyens pour substituer aux données décodées d'un bloc erronées des données de remplacement permettant de limiter l'effet de la perte du bloc erroné. Un troisième but de l'invention est de proposer un dispositif de synchronisation permettant en outre de remédier à la non détection d'un séparateur affecté par des erreurs, ou à la détection d'un faux séparateur imité par des erreurs de transmissions, afin de conserver le même nombre de blocs de données. L'invention sera mieux comprise et d'autres détails apparaitront à l'aide de la description de trois exemples de réalisation et des flgures l'accompagnant. Les figures 1 à 3 représentent respectivement les schémas synoptiques d'un premier, d'un deuxième, et d'un troisième exemples de réalisations. La figure 4 est un tableau illustrant le fonctionnement du dispositif. Ces exemples de réalisations sont incorporé s dans des décodeurs appliqués au décodage d'une suite d'images. Chaque paquet de données est constitué par des données codées correspondant à un bloc d'éléments d'images qui peut être une trame complète, ou des blocs de 18 x 18 éléments d'images, ou des lignes de blocs, etc... De nombreux procédés de codage d'images comportent notamment une étape de codage dlfférentlel consistant à calculer des différences de valeurs numériques représentant un bloc, par rapport aux valeurs numérlques homologues représentant un sutre bloc qui fait partie de la même image, ou bien qui fait partie de l'image immédiatement précédente dans la suite d'images. Un codage différentiel est très sensible aux erreurs de transmissions pulsqu'une erreur sur un bloc se répercute sur d'autres blocs codés ultérieurement. Un premier type d'erreur consiste en une modification des valeurs et des longueurs de certains mots de code d'un bloc, sans modifier les séparateurs, sauf leur place relative dans la suite des donnees codées, pulsque des bits peuvent être rajoutés ou supprimés par les erreurs de transmlssion. Dans un tel cas, les erreurs affectent non seulement le contenu d'un bloc d'éléments d'images mals aussi tous les suivants si le nombre de bits du paquet est affecté. Le premier exemple de réalisation du dispositif selon l'invention remédie à ce problème en resynchronisant le décodeur préalablement au décodage du paquet de données non erronées qui suit un paquet de données erronées. L'exemple de réalisalon représenté sur la figure 1 comporte : une borne d'entrée 1 recevant une suite de paquets de données codées, séparés par des séparateurs constitués d'un motif constant ; une mémoire tampon 2 ; un décodeur 3, pour décoder les mots de code à longueur variable ; un décodeur d'images. 4, pour reconstltuer une image à partir des données décodées ; un dispositif 5 récupérateur de signal d'horloge, à partir du rythme des bits appli- qués à la borne d'entrée 1; un dispositif 6 détecteur de séparateurs, pour reconnaître chaque séparateur dans la suite des données appliquée à la borne d'entrée 1 ; un pointeur d'adresses d'écriture 7 ; un pointeur d'adresses de lecture 8; une mémoire 9 appelée mémoire d'adresses, du type "premier entré premier sorti" (FIFO) ; un générateur 10 de slgnaux d'horloge vidéo, correspondant au rythme de restitution de la suite d'images ; et une borne de sortie 11 fournissant des valeurs numériques permettant d'afficher une suite d'images décodées. La borne d'entrée 1 est rellée : à une entrée de données de la mémoire tampon 2, à une entrée du dispositif 5, et à une entrée du dispositif 6. Une sortie du dispositif 5 fournit un signal d'horloge Kc à une entrée d'horloge du pointeur 7, pour l'incrémenter. Les bits de données codées et les sépara teurs de paquets sont mémorisés sous la forme de mots de 32 bits dans la mémoire tampon 2. Le pointeur 7 est donc incrémenté à un rythme correspondant à des mots de 32 bits. Il possède une sortie reliée À une entrée d'adresses d'écriture de la mémoire tampon 2, et à une entrée de données de la mémoire d'adresses 9. Celle-ci possède une entrée de commande d'écriture reliée à une sortie du dispositif 6 pour commander l'écriture de l'adresse fournle par le pointeur 7, à l'instant où un séparateur est détecté dans la suite des données codées. Alnsi la mémoire 9 stocke une suite d'adresses d'écriture de séparateurs stockés dans la mémoire tampon 2. La mémoire 9 possède une entrée de commande de lecture reliée à une sortie du générateur 10 de signaux d'horloge vidéo, pour recevoir un signal de commande de lecture à des instants qui correspondent su début dé la reconstitution d'un bloc d'éléments d'images, c'est-8-dire au moment où doit commencer le décodage d'un paquet de données codées. Le générateur 10 fournit ensuite un signal de commande de chargement, Ch, à une entrée de commande de chargement du pointeur 8 d'adresses de lecture. RJne entrée de données du pointeur 8 est reliée à une sortie de données de la mémoire 9. Le générateur 10 commande donc le chargement du pointeur 8 aussitôt après avoir commandé une lecture dans la mémoire 9, pour réinitialiser le contenu du pointeur d'adresses de lecture 8 au moment où doit commencer le décodage d'une nouveau paquet de données, selon le rythme propre à la reconstitutlon des images. Si des erreurs de transmissions ont augmenté le nombre. de bits stockés dans la mémoire 2 pour le paquet précédent, le décodage de ce paquet n'est pas encore terminé. La réinitialisation du pointeur 8 a pour effet d'arrêter le décodage du bloc précédent erroné, et de permettre le début, à un instant exact, du décodage du bloc suivant. Si les erreurs de transmission ont réduit le nombre de bits stockés dans mémoire 2 pour le bloc précédent, le décodage de ce bloc s'est terminé prématurément et le décodage du bloc suivant a commencé prématurément. La rélnltlalisation du pointeur d'adresses de lecture permet de recommencer le décodage du bloc suivant à un Instant exact, pour afficher correctement le bloc d'éléments d'images correspondant. Le pointeur 8 possède une entrée d'horloge reliée à une sortie du décodeur 3. Ce dernler fournit un signal d'lncrémentation au pointeur 8 chaque fois que le décodage de la suite des données codées a suffisamment progressé pour épuiser un mot de 32 bits lu dans la mémoire tampon 2. La figure 2 représente un second exemple de réalisation du dispositif selon l'invention, comportant des moyens supplémentaires pour limiter l'effet des erreurs de transmission sur le contenu d'un paquet de données, lorsque les erreurs affectent les données sans affecter les séparateurs, par suppression ou par imitation d'un séparateur. Ces moyens supplémentaires permettent de remplacer les données codées d'un paquet erroné par des données décodées de remplacement qui sont constituées, dans cet exemple d'application, par des données décodées correspondant à un bloc d'éléments d'image homologues dans l'image immédiatement précédente. Ce bloc de remplacement est très semblable au bloc dégradé par les erreurs de transmission, parce qu'une suite d'images comporte généralement une forte corrélation d'une image à la sulvante. Les données de remplacement étant peu dlfférentes des données qu'elles remplacent, elles permettent un décodage relativement satisfaisant des autres blocs d'éléments d'images qui ont été codés différentiellement en fonction du bloc d'éléments d'images consi- déré. Il est nécessaire de stocker les données décodées correspondant à l'image précédant l'image en cours de décodage, pour pouvoir réaliser ce remplacement en cas d'erreur de transmission. Ceci n'est pas un inconvénient, dans la mesure où le procédé de codage utilisé nécessite déiâ une mémoire d'images dans le décodeur, pour reconstituer une image en fonction des valeurs représentatives de l'image précédente. Pour décider le remplacement d'un paquet de données erronées, 1l est nécessaire de le détecter. Le pointeur d'adresses de lecture, 8, est rélnltlallsé périodiquement lorsque le générateur de signaux d'horloge vidéo 10 Indique que c'est le moment de commencer le décodage d'un nouveau paquet de données. S'il n'y a pas eu d'erreurs sur le paquet de données précédent, la rélnltlallsation est superflue car le pointeur 8 est chargé avec une adresse qui est identique à l'adresse de lecture qu'il contient à la fin du décodage du paquet précédent. Par contre, si des erreurs de transmission ont modifié le nombre de bits du précédent paquet de données, il existe une diffé- rence entre la valeur d'adresse à charger dans le pointeur 8, et celle qu'il contient, qui a été obtenue par incrémentatlon au fur et à mesure du décodage des mots de code du paquet précé wt . Il est donc possible de détecter l'existence d'erreurs affectant le nombre de bits du bloc précédent, en comparant la valeur d'adresse fournle par la mémoire 9 et la valeur d'adresse fournie par le pointeur 8, juste avant de commander la réinitialisation du pointeur 8. Le remplacement des données décodées du paquet précédent est décidé sl ces deux valeurs sont différentes. Naturellement, il est nécessaire de différer la sortie des données décodées, d'un retard correspondant au décodage d'un paquet, pour que le dispositif détecte si ces données sont erronées avant qu'elles ne commencent à sortir du décodeur. Le deuxième exemple de réalisation comporte les moyens supplémentaires suivants, par rapport au premier exemple de réallsation - un comparateur 12 ayant : deux entrées rellées respectivement à l'entrée et à la sortie du pointeur 8, et une entrée de validation reliée à une sortie du générateur 10, pour recevolr un signal déclenchant la comparaison juste avant le chargement du pointeur 8 - une mémoire d'image, 13, stockant les valeurs numériques représentant l'image décodée qui précède l'image en cours de décodage; - un dispositif à retard 14 procurant un retard correspondant à un paquet de données, c'est-à-dire correspondant à un bloc d'éléments d'images - un multlplexeur 15 à deux entrées et une sortie - et une borne de sortie, 16, qui fournit une suite de données décodées. La borne de sortie 11 est supprimée, la sortie du décodeur d'lmages est reliée à une entrée du dispositif à retard 14. Une sortie de ce dernier est reliée à une premlère entrée du multiplexeur 15. Une seconde entrée du multlplexeur 15 est reliée à une sortie de données de la mémoire d'image 13. La sortie du multiplexeur 15 est reliée à la borne de sortie 16 et å une entrée de données de la mémoire d'lmage 13. Une entrée de commande du multiplexeur 15 est reliée à une sortie du comparateur 12, qui fournit un signal de commande constant pendant la durée du décodage d'un paquet de données. Le multiplexeur 15 transmet les valeurs représentatives d'un bloc d'éléments d'image, valeurs qui sont fournles : soit par le dispositif à retard 14, si le paquet de données qui vlent d'étre décodé n'est pas erroné ; soit par la sortie de la mémoire d'images 13, dans le cas contraire. La mémoire d'images 13 est trés classique. Elle est commandée par des signaux périodiques d'écriture et de lecture, qui sont fournls par le générateur 10 au moyen de liaisons non représentées. La figure 3 représente le schéma synoptique d'un trolsième exemple de réalisation du dispositif selon l'invention qui comporte d'autres moyens supplémentalres permettant de détecter un paquet de données affectées par des erreurs de transmission ayant rendu Indétectable un séparateur ou bien ayant imité un séparateur; en plus d'avoir affecté les données codées. Le fonctlonnement du premier et du deuxième exemple de réalisation repose en grande partie sur la mémorisatlon, dans la mémoire d'adresses 9, des adresses d'écriture des séparateurs dans la mémoire tampon 2. Si un séparateur est absent, la réinitialisation du pointeur 8 est faite avec l'adresse d'écriture du séparateur suivant et le décodage se poursult donc en omettant complètement le paquet de données codées qui était précédé du séparateur non détecté. Au contraire, si des erreurs de transmission imitent un séparateur celul-ci est détecté, il est stocké dans la mémoire tampon 2 et son adresse est stockée dans la mémoire d'adresse .9. Lorsque le générateur 10 déclenche la réinitia- lisation du pointeur 8, au moment de commencer le décodage du paquet de données suivant, le pointeur 8 est donc chargé avec l'adresse du faux séparateur. Par conséquent, le décodage est appliqué aux données codées qui suivent ce faux séparateur au lieu d'être appliqué au données codées qui suivent le prochain vrai séparateur. L'image reconstituée comporte donc un bloc d'éléments d'lmage faux, qui est Intercalé entre deux blocs d'éléments d'image vrais. Dans les deux cas, le décodage des blocs d'éléments d'images qui suivent le bloc erroné, est perturbé. En outre, si le codage de chaque image courante est réalisé différentiellement par rapport à l'image précédente, la perturbation se propage sur plusieurs Images successives. Pour remédier à ce type d'erreur de transmission, il est prévu de transmettre un numéro d'ordre avec chaque séparateur, pour déceler la non détection d'un séparateur ou bien déceler la détection d'un faux séparateur. Le troisième exemple de réalisation comporte des moyens supplémentaires pour déceler ce type d'erreur en vérifiant la cohérence de trois numéros d'ordre successlfs, et pour commander le remplacement d'un paquet de données erronées par un paquet de données de remplacement. Ces moyens supplémentaires, par rapport au deuxième exemple de réalisation, sont - quatre registres 20 à 23, reliés en série et intercalés entre la sortie du pointeur 7 et l'entrée de données de la mémoire d'adresses 9 - un décodeur de numéro de bloc, 19 - trois registres, 24 à 26, reliés en série - et un circuit logique 27. La sortie du détecteur de séparateurs 6 n'est plus reliée à l'entrée de commande d'écriture de la mémoire d'adresses 9, mais à : une entrée de validation du décodeur 19 de numéro de bloc ; une entrée du circuit logique 27 ; et une entrée de validation d'écriture du registre 20. Les registres 21 et 24 ont chacun une entrée de validation d'écriture, reliée à une premiére sortie du circuit logique 27. Les registres 22 et 25 ont chacun une entrée de validation reliée à une deuxième sortie du circuit logique 27. Les registres 23 et 26 ont chacun une entrée de validation d'écriture, reliée à une troisième sortie du circuit logique 27. Une quatrième sortie du circuit logique 27 est reliée à l'entrée de commande d'écriture de la mémoire d'adresse 9. Les registres 25 à 26 ont chacun une sortie reliée respectivement à trois entrées du circuit logique 27. Chaque fols que le détecteur 6 détecte un séparateur, une sortie du décodeur 19 fournit la valeur décodée du numéro qui accompagne ce séparateur. Cette sortie est reliée à l'entrée du registre 24. Les registres 21 à 23 et les registres 24 à 26 sont commandés en parallèle par le circuit logique 27 pour stocker et décaler, respectivement, les adresses d'écrltures des trois derniers séparateurs détectés, et les trois numéros d'ordre les accompagnant. Le circuit logique 27 vérifie la cohérence de ces trois numéros, et fournlt des signaux de commande de valldation d'écriture aux registres 21 à 26, en fonction du résultat de cette vérification de cohérence. Le registre 20 a pour fonction d'être un registre tampon entre la sortie du pointeur d'adresses d'écriture 7 et la suite de registres 21 à 23. Le registre 20 possède, lui aussi, une entrée de validation d'écriture, qui est commandée par le détecteur de séparateurs 6. Le reste du dispositif est identique à celui décrit précédemment pour le deuxième exemple de realisatison. Le tableau de 1R figure 4 représente la plupart des différents cas de fonctionnement du circuit logique 27, pour commander les registres 21 à 23 et 24 à 26. Ces deux suites de registres fonctionnent en paraUele soit pour décaler, soit pour dupliquer, soit pour supprimer : une adresse d'écriture de séparateur et le numéro correspondant. Les registres 21 à 23 sont notés respectivement R1, R2, R3 ; les registres 24 À 26 sont notés R4, R5, R6 ; la mémoire 9 est notée Mem9, et leur contenu est repéré par une valeur de numéro qui est, en fait, la valeur de numéro contenue dans les registres 24 à 26. Dans cet exemple, à l'instant considéré, avant l'action du circuit 27, le registre R3 contlent l'adresse d'écriture du séparateur numéro n, sauf dans le cas particulier de la huitième ligne. Le contenu du registre R3 est donc noté n. Dans le cas numéro 1, les numéros des trois derniers séparateurs sont : n+2, n+1, n. Ils sont cohérents, par conséquent l'action bu circuit 27 consiste à valider l'écriture dans les registres R1, R2, R3, et à commander l'écriture dans le premier étage et les étages sulvants de la mémoire d'adresse 9. Après cette actlon, les registres R1, R2, R3, et le premier étage de la mémoire 9 contiennent respectivement les adresses des séparateurs numéros n*3, n+2, n+1, n. Les numéros de ces séparateurs sont décalés de la même manière dans le registre R4, R5, R6. Dans le cas numéro 2, il n'y a plus cohérence car le numéro du séparateur contenu dans le registre R2 est différent de n+1 et de n. Dans ce cas, le circuit 27 ne vallde pas l'écrlture dans le registre R3 et dans la mémoire 9, ce qui 8 pour effet de faire disparaître l'adresse du séparateur Imité par les erreurs de transmission. De la même manière, le faux numéro qui lui correspond est éllminé des registres R4, R5, R6. Dans le cas numéro 3, les deux derniers numéros ont la même valeur n+1. l'action du circuit 27 est la même que si les trois derniers numéros étaient cohérents, car il n'est pas possible de savoir, pour le moment, sl le prochain numéro reçu sera n+2 ou n+3. L'action correctrice du circuit 27 ne n'exercera qu un peu plus tard et correspondra à l'un des cas qui suit. Dans le cas numéro 4, les numéros contenus dans les registres R5 et R6 sont égaux tous les deux à n, et le numéro contenu dans le registre R4 est égal à n+1, ce qui slgnifie qu'un séparateur a été imité et qu'il est accompagné d'un faux numéro de valeur n. Le circuit 27 commande la suppression du contenu des registres R2 et R5 en inscrivant dans ceux-ci le contenu des registre R1 et R4 respectivement, en maintenant Inchangé le contenu des registres R3, R6, et le contenu de la mémoire 9. Ainsi l'adresse d'écriture et le numéro n du séparateur Imité sont écrasés. Dans le cas numéro 5, le numéro contenu dans le registre R5 est différent de n et de n+1. Une erreur sans doute a affecté les bits du numéro accompagnant le séparateur numéro n+1, alors que le séparateur suivant est accompagné d'un numéro n+2 qui est correct. Dans ce cas, le circuit 27 a la même action que dans le cas nO 1, où il n'y a pas d'erreur, puisque le séparateur a bien été détecté et qu'il n'est pas en surnombre. Dans le cas numéro 6, le numéro contenu dans le registre R4 est égal à n+3 au lieu d'être égal à n*2. Cecl signifle que le séparateur numéro n+2 n'a pas pu être détecté. Pour ne pas fausser le nombre d'adresses d'écriture, il est nécessaire de remplacer celle correspondant au numéro n+2. Elle est remplacée en dupliquant l'adresse d'écriture correspondant au numéro n+1. Cette action du circuit 27 comporte deux temps dans un premier temps il valide l'écriture dans les registres R3, R6, et dans la mémoire 9, pour décaler les adresses correspondant aux numéros n et n-1. Puis, dans un second temps, il valide l'écriture dans tous les registres R1 à R6 et dans la mémoire 9, pour dupliquer l'adresse correspondant au numéro n+1 dans le registre R3 et dans le premier étage de la mémoire 9. Dans le cas numéro 7, le numéro n+l est remplacé par n. Il s'agit sans doute d'une erreur de transmission sur le numéro accompagnant le séparateur n+1, puisque le séparateur qui précède et le séparateur qui suit ont respectivement des numéros n et n+2 qui sont exacts. Dans ce cas, le circuit 27 valide tous les registres R1 à R6 et la-mémoire 9, comme si les numéros étaient tous exacts, de façon à conserver le même nombre d'adresses d'écriture. Dans le cas numéro 8, le numéro contenu dans le registre R6 est différent de n, alors que les numéros suivants sont n+1 et n+2. Ce cas est Identique, en falt, au cas nO 5 et au cas nO 7, avec un décalage de temps correspondant respectivement À un paquet et à deux paquets de données codées. Le circuit 27 valide l'écriture REVENDICATIONS 1. Dispositif de synchronisation pour un décodeur de données codées par un code à longueur variable, et transmises par paquets de longueur variable, séparés par des mots séparateurs, ce décodeur comportant - une mémoire tampon (2); - un pointeur d'adresses d'écriture (7), pour écrire les données codées dans le mémoire tampon (2) - un pointeur d'adresses de lecture (8), pour lire les données codées dans la mémoire tampon (2) caractérisé en ce que, pour réinitialiser le pointeur de lecture préalablement au décodage de chaque paquet, le dispositif de synchronisation comporte - des moyens (6) pour détecter chaque séparateur; - une mémoire (9), dite mémoire d'adresses, du type "premier entré premier sorti", pour stocker l'adresse fournle par le pointeur d'adresses d'écriture lors de chaque détection de séparateur - des moyens de commande (10), pour commander la lecture d'une adresse dans la mémoire d'adresses (9) et pour commander le chargement de cette adresse dans le pointeur d'adresses de lecture (8), préalablement au décodage de chaque paquet de données. 2 - Dispositif selon la revendlcation 1, caractérisé en ce qu'il comporte en outre - un dispositif à retard (14) dont le retard est égal à la durée du décodage d'un paquet de données - une mémoire (13) pour stocker des données de remplacement - un multiplexeur (15) pour transmettre soit des données décodées retardées par le dispositif à retard (14), soit des données de remplacement; - un comparateur (12), pour comparer l'adresse lue dans la mémoire d'adresses (9j et une adresse fournie par le pointeur d'adresses de lecture (8), Juste avant que les moyens de com mande (10) commandent les chargement au pointeur d'adresse de lecture (8) ; ce comparateur (12) fournissant un signal de commande au multiplexeur (15), tel qu'il transmette les données retardées, s'il y a Identité entre les deux adresses ; et qu'il transmette les données de remplacement, dans le cas contraire. 3. Dispositif selon la revendication 1, pour un décodeur de données codées transmises par paquets avec des séparateurs accompagnés chacun d'un numéro d'ordre ; caractérisé en ce qu'li comporte, en outre - des registres (21 À 26) pour stocker les numéros d'ordre assoclés aux trois derniers séparateurs ayant été détectés, et pour stocker les trois adresses d'écriture correspondantes; - des moyens logiques (27) pour vérifier la cohérence de ces trois numéros et pour commander les registres (21 à 26) de fa çon à transmettre et Inscrire dans la mémoire d'adresses (9) les adresses d'écriture correspondant aux trois derniers séparateurs ayant été détectés, sans modifler ces adresses si les trois derniers numéros sont cohérents, ou bien en supprimant ou dupliquant l'une d'elles si l'un des numéros n'est pas cohérent avec les deux autres.