Brevet FR2726721A1 — publié le 19960510

I PROCEDE ET SYSTEME DE GESTION MEMOIRE L'invention concerne un procédé et un système de gestion mémoire et plus particulièrement un système dans lequel les informations sont à enregistrer par paquets successifs et sont à lire dans le même ordre que celui de l'enregistrement. Chaque paquet forme un ensemble d'informations indissociables à lire en bloc. Par ailleurs, les paquets d'informations peuvent être d'importances différentes. L'invention est plus particulièrement applicable à l'enregistrement de séquences vidéo notamment dans un téléviseur pour la revisualisation par le téléspectateur de séquences d'images qui viennent d'être reçues. Elle permet donc au téléspectateur de réafficher en différé des séquences qu'il vient de voir quelques instants auparavant. Pour ce faire, on prévoit d'enregistrer au moins temporairement les dernières séquences reçues. De plus. pour augmenter les capacités d'enregistrement on a intérêt d'utiliser les techniques de compression d'images et d'enregistrement. Il découle de cela que les différentes images ainsi codées nécessitent des capacités mémoire différentes. Par contre, pour une capacité mémoire donnée, on pourra enregistrer un plus grand nombre d'images vidéo codées. Par ailleurs. comme on l'a mentionné, I'enregistrement des séquences se fait de manière continue de façon que l'utilisateur puisse demander à revisualiser à tout moment par exemple, les cinq dernières secondes qui viennent juste d'être reçues. Tout cela impose des contraintes que l'invention se propose de résoudre. L'invention concerne donc un procédé de gestion mémoire selon lequel les informations sont organisées en paquets, caractérisé en ce que lors de l'enregistrement dans une mémoire d'informations on enregistre, dans une mémoire d'adresses, les adresses des paquets dans la mémoire d'informations et qu'on enregistre dans un registre d'adresse de lecture l'adresse de la mémoire d'adresse o se trouve l'adresse en mémoire d'informations du paquet le plus ancien à lire Plus particulièrement, I'invention concerne un procédé de gestion mémoire selon lequel: - on enregistre en série les informations des différents paquets en des adresses successives d'une mémoire d'informations; - on détecte chaque début de paquet et on identifie son adresse dans la mémoire d'information; - on enregistre cette adresse dans une mémoire d'adresse à des adresses successives de la mémoire d'adressses; - on enregistre l'adresse du premier paquet ou son adresse dans un registre d'adresse de lecture; - on compare à chaque enregistrement d'une information dans la mémoire d'informations, l'adresse courante (Add) de cette information à celle (AddO) du premier paquet, si égalité, on incrémente de 1 le contenu du registre d'adresse de lecture. L'invention concerne également un système de gestion mémoire d'enregistrement/lecture d'informations organisées en paquets comprenant: - une mémoire d'informations; - un premier pointeur d'adresse permettant l'enregistrement en des adresses successives des différentes informations successives: - une mémoire d'adresses; - un deuxième pointeur de mémoire d'adresse contenant une adresse de la mémoire d'adresses; - un circuit de détection détectant chaque début de paquet et commandant à chaque détection la progression d'un pas du pointeur de mémoire d'adresse et l'enregistrement d'une adresse fournie par le premier pointeur, dans la mémoire d'adresse à l'adresse indiquée par le deuxième pointeur. Les différents objets et caractéristiques de l'invention apparaîtront plus clairement dans la description qui va suivre et dans les figures annexées qui représentent: - les figures la à lc, un exemple de réalisation de l'invention permettant de réaliser des enregistrements en mémoire; - la figure 2, un exemple de réalisation de l'invention permettant de réaliser une lecture en mémoire; - les figures 3, 4, 5, des organigrammes de fonctionnement d'un exemple de procédé selon l'invention; - les figures 6a et 6b des exemples de circuits permettant de revisionner au ralenti une séquence vidéo dans un poste de télévision. En se reportant à la figure la, on va donc tout d'abord décrire un exemple de réalisation du système de l'invention dans sa fonction d'enregistrement d'informations dans une mémoire. Une mémoire MEM représentée de façcon symbolique sous forme circulaire comporte un nombre déterminé d'emplacements. Des informations arrivent sur une ligne IN par paquets d'informations. Elles sont reçues dans un circuit de compression COMPR qui o10 réalise une compression des données d'une manière connue dans la technique puis dans un circuit de formatage FORM qui formate les informations à l'intention de la mémoire MEM. A ce stade le circuit COMPR fait subir aux paquets d'informations un traitement dit de compression pour réduire la longueur de chaque paquet. Les paquets sont alors de longueurs différentes: - le circuit FORM présente à la même mémoire MEM les paquets d'informations de longueurs différentes, information par information. Un circuit d'adressage de la mémoire MEM ou pointeur d'inscription MWP avance d'un pas à chaque information binaire et commande l'adressage de la mémoire MEM à une adresse Add. Chaque information est communiquée à la mémoire MEM et est inscrite à une adresse Add indiquée par MWP. Par ailleurs, chaque paquet d'informations comporte un signal de début de paquet. Par exemple dans un application à l'enregistrement d'images vidéo, un paquet d'information correspond à une image (ou trame) et débute par un signal de synchronisation verticale. Chaque début de paquet d'informations IDP est indiqué à un circuit d'adressage, ou pointeur de début de paquet FSP, d'une mémoire auxiliaire d'adressage ADD. Cette mémoire ADD est destinée à recevoir les adresses Addi de chaque début de paquet. A chaque début de paquet. le pointeur FSP adresse un emplacement mémoire, lequel enregistre la position du pointeur MWP qui contient une adresse correspondant à une adresse Addi. Les différents paquets d'informations qui arrivent sur l'accès IN sont ainsi enregistrés dans la mémoire MEM au fur et à mesure qu'ils arrivent. En même temps les adresses Addi de début de paquets dans la mémoire MEM sont enregistrées dans la mémoire d'adresses ADD. Cependant, la mémoire MEM a, bien entendu, une capacité déterminée et lorsque la mémoire MEM est remplie, le pointeur MWP fournit une adresse d'un emplacement déjà enregistré. L'objet du système étant de stocker les plus récents paquets d'information, on choisit "d'écraser"' (c'est-à-dire d'enregistrer en lieu et place) les emplacements déjà enregistrés et de leur superposer les nouveaux paquets qui arrivent. Dans ce cas, pour pouvoir relire les paquets d'informations selon leur ordre chronologique d'arrivée, il faut connaître le plus ancien paquet enregistré qui n'est plus celui qui vient d'être "écrasé". Pour cela, on enregistre dans un registre RPR l'adresse Addp de ADD contenant l'adresse Addi du premier paquet non écrasé (ou plus ancien paquet). De plus, un registre SVSLR permet d'enregistrer le nombre de paquets valides en mémoire MEM. A chaque enregistrement d'un paquet, on incrémente de 1 le contenu du registre SVSLR, sous la commande par exemple du pointeur de début de paquet FSP. Lorsque la mémoire MEM a été complètement remplie, à chaque enregistrement d'une information dans la mémoire MEM, I'adresse Add de cette information est comparée à l'adresse Addi contenue dans la mémoire d'adresse ADD à l'adresse indiquée par le registre RPR. Si cette adresse Add est égale à l'adresse Addi, un circuit de comparaison COMP1 commande l'incrémentation de 1 du registre RPR et la décrémentation de 1 du registre SVSLR. Ainsi, le registre RPR permettra d'obtenir, dans le registre ADD, l'adresse du plus ancien paquet en mémoire MEM. Le registre SVSLR fournira le nombre de paquets entiers et valides que l'on peut lire en mémoire MEM. Pour permettre un traitement plus rapide, il est possible de prévoir un registre RPR' représenté en pointillés sur la figure la. Ce registre est destiné à recevoir l'adresse Addi contenue dans ADD et pointée par le registre RPR. Cette adresse est chargée dans RPR' à l'initialisation du système et chaque fois que le contenu du registre RPR est incrémenté de 1. Il peut se trouver également que la mémoire MEM soit remplie alors que le nombre maximum d'adresses pouvant être enregistrées en mémoire ADD ne soit pas atteint (voir figure lb). Cela peut être le cas lorsque par suite d'une compression un grand nombre de paquets sont de courte longueur. Par exemple dans l'enregistrement d'images vidéo, la compression d'un nombre d'images toutes de couleur uniforme pourront conduire à une compression maximale et les informations prendront peu de place en mémoire MEM. Lorsque après avoir enregistré en mémoire ADD, par exemple, la N-lème adresse Add, le paquet suivant arrive, son adresse doit être enregistrée à l'emplacement 0 de la mémoire ADD. On vient donc "écraser" en mémoire ADD, I'adresse Addi = 0 de la mémoire MEM. Le paquet d'informations à l'adresse 0 de la mémoire MEM ne sera donc plus lisible. Pour palier cette difficulté, un circuit de comparaison COMP2 compare le contenu du pointeur de début de paquet FSP au contenu du registre RPR qui contient l'adresse de ADD contenant l'adresse en mémoire MEM du paquet le plus ancien. Lorsque le comparateur COMP2 établit l'égalité entre les deux adresses, il commande l'incrémentation de 1 du registre RPR et la décrémentation de 1 du registre SVSLR. En se reportant à la figure 2, on va maintenant décrire le système de la figure l a en fonctionnement de lecture. La mémoire MEM contient des informations organisées en paquets successifs. La mémoire ADD contient en des emplacements successifs, les adresses Addi des débuts de paquets dans la mémoire MEM. De plus, le registre RPR contient l'adresse Addp de la mémoire ADD contenant l'adresse Addi du paquet le plus ancien actuellement présent en mémoire MEM. Le registre SVSLR contient le nombre de paquets disponibles en mémoire MEM. Sur un ordre ST venant de l'extérieur. par exemple fourni par l'utilisateur, I'adresse contenue dans le registre RPR est enregistrée dans un registre d'adresse de lecture auxiliaire ACF de la mémoire d'adresse ADD. De plus, un compteur de paquets disponibles RFC est chargé par la valeur du registre SVSLR. Le registre ACF adresse la mémoire ADD à une adresse Addi dont le contenu est transféré dans le pointeur BMRP de lecture de la mémoire MEM. Le début du paquet le plus ancien en mémoire MEM est ainsi adressé. Les informations contenues en mémoire MEM sont lues successivement et transférées vers la sortie OUT. Un circuit utilisateur, non représenté sur la figure, après réception d'une information fournit un signal RQ pour demander l'information suivante et commande l'incrémentation de +1 du pointeur BMRP. L'information suivante en mémoire MEM est transférée vers la sortie OUT. Par ailleurs, le circuit utilisateur est capable de décoder les informations lues en mémoire MEM et est capable de détecter la fin d'un paquet (ou le début du paquet suivant). Il fournit alors un signal de début de paquet DP qui incrémente de 1 le registre ACF et qui décrémente de 1 le compteur RFC. Le contenu de ACF adresse la mémoire ADD dont le contenu d'un emplacement (Addi) est transféré dans le pointeur BMRP de la mémoire MEM. Le fonctionnement se poursuit jusqu'à ce que le compteur RFC atteigne zéro. A ce moment, les contenus des registres RPR et SVSLR sont chargés respectivement dans le registre ACF et dans le compteur RFC et le fonctionnement peut reprendre comme précédemment. De plus, le système prévoit de ne pouvoir entreprendre le fonctionnement en lecture que lorsqu'un paquet d'informations a été inscrit en mémoire MEM. Pour cela, le s;.na ST qui initialise le fonctionnement en mode lecture est transmis au pointeur FSP (figure la) et au registre SVSLR pour inhiber leur fonctionnement. Ensuite, I'indicateur de début de paquet suivant IDP (représenté en figure 1 a) est transmis au registre ACF et au compteur RFC pour permettre le chargement du registre ACF et du compteur RFC respectivement par les registres RPR et SVSLR. En se reportant aux figures 3 à 5, on va maintenant décrire un procédé de gestion d'une mémoire conforme à l'invention. Selon l'organigramme de la figure 3, les informations qui arrivent sont enregistrées au fur et à mesure de leur arrivée dans la mémoire MEM ce qui est représenté par le rebouclage des fonctions "arrivée informations" et "informations -) MEM". Dans les arrivées d'informations on détecte les débuts de paquets. En cas de détection d'un début de paquet on enregistre l'adresse mémoire MEM (add) du début du paquet dans la mémoire d'adresses ADD. De plus, on incrémente de 1 un registre de nombre de paquets SVSLR. Si le paquet détecté est le premier paquet enregistré. on met l'adresse Addo de la mémoire d'adresse correspondante dans un registre d'adresses de lecture RPR ce qui est noté "AddO -- RPR"". Par ailleurs, à chaque enregistrement d'une information dans la mémoire MEM son adresse est comparée à l'adresse AddO obtenue par le registre RPR dans la mémoire d'adresse ADD. En cas d'égalité, cela veut dire qu'on enregistre sur une information déjà enregistrée. Dans ce cas on incrémente de 1 le contenu du registre d'adresse de lecture RPR et on décrémente de 1 le registre de nombre de paquets SVSLR. La nouvelle adresse contenue dans RPR permet de lire une nouvelle adresse Addi dans ADD et de l'inscrire dans RPR'. La figure 4 représente un perfectionnement du procédé décrit par l'organigramme de la figure 3. Selon ce perfectionnement. on prévoit le cas o la capacité de la mémoire d'adresse ADD est insuffisante au regard de la capacité de la mémoire d'informations MEM (cas schématisé sur la figure i1c). Pour cela, à chaque enregistrement on compare l'adresse courant Addc de l'emplacement dans la mémoire MEM dans lequel on enregistre une information à l'adresse de début de paquet AddO mise en mémoire dans la mémoire d'adresses ADD à l'adresse indiquée par le registre d'adresses de lecture RPR. Cela est noté "Addc = AddO ?" En cas d'égalité, on incrémente de 1 le contenu du registre d'adresses de lecture RPR et on décrémente de 1 le contenu du registre de nombre de paquets SVSLR. La figure 5 représente un exemple de procédé de lecture selon l'invention. En début de lecture le contenu du registre de lecture contient l'adresse AddO du registre d'adresse o est enregistré l'adresse du premier paquet à lire, ce qui est noté "(RPR) = AddO". L'adresse AddO est transférée dans un registre d'adresses auxiliaire ACF. Egalement, le nombre de paquets disponibles contenu dans le compteur de paquets SVSLR est transféré dans un compteur auxiliaire RFC. Le registre d'adresse auxiliaire ACF permet d'obtenir dans la mémoire d'adresse ADD une adresse en mémoire d'informations MEM et de lire une information à cette adresse. Cette information étant lue elle est décodée de façon à détecter la fin d'un paquet ou le début du paquet suivant (phase 'l"fin de paquet"). Tant qu'une fin de paquet n'est pas détectée le système se reboucle sur la lecture du contenu de la mémoire MEM. Pour cela on incrémente l'adresse Add à l'adresse suivante. Lorsqu'une fin de paquet est détectée, le registre d'adresse ACF est incrémenté de 1 et fournit l'adresse de début de paquet suivant. En même temps, le compteur auxiliaire RFC est décrémenté de 1. Le fonctionnement précédent se poursuit jusqu'à ce que le compteur auxiliaire RFC soit mis en position zéro (RFC = 0 ?). Un ordre de rechargement est alors donné au registre d'adresses auxiliaire ACF qui est alors rechargé avec le contenu du registre d'adresse RPR. Le compteur auxiliaire RFC est également rechargé avec le contenu du compteur de paquets SVSLR. Le fonctionnement peut alors être relance. Dans le cas d'une application à la télévision, les paquets d'informations sont des trames (ou images). Chaque trame est affichée durant un temps de trame. Pour obtenir une rediffusion au ralenti, I'invention prévoit que le système de lecture de la figure 2 affiche chaque trame durant un temps plus long qu'un temps de trame. Comme on l'a vu, I'accès au début d'un paquet (ou début d'une trame) se fait par le transfert d'une adresse Add contenue dans la mémoire ADD vers le pointeur BMRP. Cela se fait sous la commande du signal DP. Pour garder une même trame affichée durant plusieurs temps de trames, on prévoit, à la fin d'une trame, de relire en mémoire MEM la trame qui vient d'être lue. Selon la vitesse de ralenti, on compte le nombre de fois que la même trame doit être lue et donc affichée et on ne passe à la trame suivante que lorsque la trame a été lue le nombre de fois désiré. Comme représenté en figure 6a, un compteur CP reçoit un signal de fin de paquet dp qui est le signal de synchronisation verticale. En début de fonctionnement, ce compteur CP est mis dans une position déterminée selon la vitesse de visualisation désirée. A chaque signal dp. le compteur CP avance d'un pas. De plus. le signal dp commande le registre ACF pour afficher à nouveau l'image dont l'adresse de début est à la même adresse dans ADD. Lorsque le compteur CP arrive en une position déterminée c'est- à-dire après affichage de la même image durant un temps déterminé, le compteur CP délivre le signal DP qui commande l'incrémentation de 1 du registre ACF et la décrémentation de 1 du compteur RFC. Une façon simple de réaliser le compteur en prévoyant qu'une seule vitesse de ralenti, serait par exemple de prévoir un compteur du type représenté en figure 6b dont les entrées sont commandées par le signal de synchronisation verticale par une indication de rapport de vitesse de ralenti. REVENDICATIONS 1. Procédé de gestion mémoire selon lequel les informations sont organisées en paquets, caractérisé en ce que lors de l'enregistrement dans une mémoire d'informations (MEM) on enregistre dans une mémoire d'adresse (ADD) les adresses des paquets dans la mémoire d'informations (MEM) et qu'on enregistre dans un registre d'adresse de lecture (RPR) l'adresse de la mémoire d'adresse (ADD) o se trouve l'adresse en mémoire d'informations du paquet le plus ancien à lire. 2. Procédé de gestion mémoire selon la revendication 1, caractérisé en ce que: - on enregistre en série les informations des différents paquets en des adresses successives d'une mémoire d'informations (MEM); - on détecte chaque début de paquet et on identifie son adresse (Addi) dans la mémoire d'information( MEM); - on enregistre cette adresse (Addi) dans la mémoire d'adresse (ADD) à des adresses (Addp) successives de ADD: - on enregistre l'adresse (AddO) du premier paquet ou son adresse (Addp) dans un registre (RPR) d'adresse de lecture; - on compare à chaque enregistrement d'une information dans (MEM), I'adresse courante (Add) de cette information à celle (AddO) du premier paquet, si égalité, on incrémente de 1 le contenu du registre d'adresse de lecture RPR. 3. Procédé selon la revendication 1, caractérisé en ce qu'on compte le nombre de paquets enregistrés et à chaque enregistrement d'un paquet dans la mémoire d'informations (MEM), on compare l'adresse courante d'enregistrement et l'adresse (AddO) fournie par le registre d'adresse (RPR), et en cas d'égalité on diminue de 1 le nombre de paquets. 4. Procédé selon la revendication 2, caractérisé en ce que à chaque enregistrement, on compare l'adresse (addp) de l'emplacement de la mémoire d'adresse (ADD), dans lequel on enregistre l'adresse du paquet en mémoire d'information (MEM), au contenu du registre d'adresse de lecture (RPR) (contenant l'adresse en mémoire d'informations (MEM) du paquet le plus ancien à lire) et en cas d'égalité on incrémente de 1 le contenu du registre d'adresse de lecture (RPR). 5. Procédé selon la revendication 3, caractérisé en ce que en cas d'égalité on décrémente de 1 le nombre de paquets. 6. Procédé selon la revendication 5, caractérisé en ce que pour la lecture des paquets d'informations en mémoire d'informations (MEM) on utilise tout d'abord l'adresse contenue dans le registre d'adresse de lecture (RPR) pour obtenir l'adresse de paquet en mémoire (MEM) et qu'à chaque lecture d'un paquet on incrémente de 1 I'adresse contenue dans le registre de lecture (RPR) et on décrémente de 1 le nombre de paquets enregistrés 7. Procédé selon la revendication 6, caractérisé en ce que le contenu du registre d'adresse de lecture (RPR) et le nombre de paquets sont transférés dans des registres auxiliaires et lorsque le nombre de paquets devient nul on recharge dans ces registres le contenu du registre d'adresse de lecture (RPR) et le nombre de paquets. 8. Système de gestion mémoire d'enregistrement/lecture d'informations organisées en paquets comprenant: - une mémoire d'informations (MEM); - un premier pointeur d'adresse (MWP) permettant l'enregistrement en des adresses (Add) successives des différentes informations successives; - une mémoire d'adresses (ADD); - un deuxième pointeur (FSP) de mémoire d'adresse contenant une adresse (Addp) de la mémoire d'adresses (ADD); un circuit de détection détectant chaque début de paquet et commandant à chaque détection la progression d'un pas du pointeur (FSP) de mémoire d'adresse et l'enregistrement d'une adresse fournie par le premier pointeur, dans la mémoire d'adresse à l'adresse indiquée par le deuxième pointeur. 9. Système de gestion mémoire selon la revendication 8. caractérisé en ce qu'il comporte: - un registre d'adresses de lecture (RPR) dans lequel est enregistré l'adresse (Addp), dans la mémoire d'adresse (ADD) de l'emplacement contenant l'adresse, en mémoire d'informations (MEM) du premier paquet à lire; - un premier circuit de comparaison (COMP1) comparant chaque adresse successive contenue dans le premier pointeur à l'adresse du premier paquet à lire contenue dans la mémoire d'adresses (ADD) à l'adresse indiquée par le registre d'adresses de lecture (RPR), I'égalité entre ces deux adresses commandant l'incrémentation de 1 du contenu du registre d'adresses de lecture (RPR). 10. Système de gestion mémoire selon la revendication 9, caractérisé en ce qu'il comporte un registre auxiliaire (SVSLR) dans lequel est enregistré le nombre de paquets à lire et en ce que ladite égalité établie par le premier circuit de comparaison commande la décrémentation de 1 du contenu du registre auxiliaire (SVSLR). 11. Système de gestion mémoire selon la revendication 10. caractérisé en ce qu'il comporte un deuxième circuit de comparaison (COMP2) comparant le contenu du deuxième pointeur (FSP) et le contenu du registre d'adresse de lecture (RPR) et en cas d'égalité commande l'incrémentation de 1 du registre d'adresse de lecture (RPR) et la décrémentation de 1 du registre auxiliaire (SVSLR). 12. Système de gestion mémoire selon l'une des revendications 8 à 11, caractérisé en ce qu'il comporte: - un troisième pointeur d'adresse (BMRP) permettant la lecture en des adresses successives (Add) de la mémoire d'informations (MEM) de différentes informations; - un registre d'adresse de lecture auxiliaire (ACF) permettant d'adresser la mémoire d'adresse (ADD); - un compteur de paquets restant à lire (RFC); un ordre de fonctionnement de lecture (ST) commandant le chargement du contenu du registre d'adresses de lecture (RPR) dans le registre de lecture auxiliaire (ACF) et le contenu du registre auxiliaire (SVSLR) dans le compteur de paquets (RFC): un circuit de détection de fin ou de début de paquets (dp) fournissant un signal de début de paquet (DP) pour commander l'incrémentation de 1 du registre de lecture auxiliaire (ACF) et la décrémentation de 1 du compteur de paquets (RFC). 13. Système de gestion mémoire selon la revendication 12, caractérisé en ce qu'un circuit de détection détecte la mise à zéro du compteur de paquets et commande le rechargement du contenu du registre d'adresses de lecture (RPR) dans le registre de lecture auxiliaire (ACF) et le contenu du registre auxiliaire (SVSLR) dans le compteur de paquets. 14. Système de gestion mémoire selon la revendication 12. caractérisé en ce qu'il comporte un compteur de signaux de fin de paquets (dp), chaque signal de fin de paquet (dp) commandant l'adressage de la mémoire d'adresses (ADD) par le registre de lecture auxiliaire (ACF) pour la lecture d'un paquet en mémoire (MEM), ledit compteur de signaux délivrant le signal de début de paquet (DP) quand il arrive dans une position déterminée.