FR2736486A1 - Methode de transmission de donnees representatives de sequences d'images et de sons - Google Patents

Methode de transmission de donnees representatives de sequences d'images et de sons Download PDF

Info

Publication number
FR2736486A1
FR2736486A1 FR9508160A FR9508160A FR2736486A1 FR 2736486 A1 FR2736486 A1 FR 2736486A1 FR 9508160 A FR9508160 A FR 9508160A FR 9508160 A FR9508160 A FR 9508160A FR 2736486 A1 FR2736486 A1 FR 2736486A1
Authority
FR
France
Prior art keywords
unit
data
frame
image
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9508160A
Other languages
English (en)
Other versions
FR2736486B1 (fr
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PY STEPHANE
Original Assignee
PY STEPHANE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PY STEPHANE filed Critical PY STEPHANE
Priority to FR9508160A priority Critical patent/FR2736486B1/fr
Publication of FR2736486A1 publication Critical patent/FR2736486A1/fr
Application granted granted Critical
Publication of FR2736486B1 publication Critical patent/FR2736486B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

La présente invention concerne un procédé de transmission de données représentatives de séquences d'images et de sons entre une unité serveur (10) et au moins une unité client (20) via un réseau (30), lesdites données d'images et de sons étant arrangées en trames successives. ll consiste à, côté unité serveur (10), émettre, sur ledit réseau (30), lesdites données trame après trame, à, côté unité client (20), stocker les trames reçues de l'unité serveur (10) dans une mémoire tampon (22), et à lire les trames stockées dans ladite mémoire (22) pour la reproduction des images et des sons liés auxdites trames lues. La présente invention concerne également un système de transmission pour la mise en oeuvre dudit procédé.

Description

La présente invention concerne une méthode de transmission de données représentatives de séquences d'images et de sons, par exemple des séquences de films numériques codés notamment selon la norme dite
MJPEG. L'invention trouve application dans la consultation en temps réel de séquences vidéo et sonores constituant un film et stockées sur des serveurs distants, ladite consultation se faisant sur de longues distances via des réseaux IP.
Les films NJPEG sont constitués d'une suite d'images fixes codées indépendamment les unes des autres. Dans des applications connues qui utilisent un protocole de type NFS (Network File System) la transmission d'une station UNIX serveur vers une station client se fait image par image. Les accès à des fichiers déportés se font, de manière transparente, au fur et à mesure des besoins par des requêtes au serveur. Ainsi, le client émet une requête de limage numéro n du film, laquelle est reçue par le serveur qui transmet alors au client l'image requise. Ce processus est recommencé à chaque image du film.
Au cours de premiers essais réalisés sur un réseau ATM, il est apparu que les délais de transmission dus au temps de propagation sur le réseau avaient une influence sur la restitution vidéo. Ainsi, sur de longues distances de transmission pour leaquelles les temps de propagation des donnees n'est pas négligeable devant le temps de restitution des images requises, on a pu constater que la restitution des images et du son associé pouvait se faire de manière hachée.
Le but de l'invention est de proposer un procédé de transmission de données représentatives de séquences d'images et de sons qui puisse supporter les longues distances éventuelles entre l'unité serveur et l'unité client.
A cet effet, il consiste , côté unité serveur, émettre, sur ledit réseau, lesdites données trame après trame, côté unité client, à stocker les trames reçues de l'unité serveur dans une mémoire tampon, et à lire les trames stockées dans ladite mémoire pour la reproduction des images et des sons liés auxdites trames lues.
Selon une autre caractéristique de l'inventionr chaque trame comporte un champ de données dans lequel sont stockées les données utiles et un champ identificateur dans lequel sont notamment définis le numéro de limage à laquelle appartient ladite trame, le numéro de ladite trame dans ladite image, le nombre de trames dans ladite image et la taille de ladite image.
Selon une autre caractéristique de l'invention, ledit champ identificateur est placé en queue de trame, chaque trame étant stockée dans la mémoire de l'unité client en recouvrement du champ identificateur de la trame précédemment stockée.
Selon une autre caractéristique de l'invention, il consiste à émettre, côté unité client et périodique'sent, des données de contrôle vers l'unité serveur, lesdites données de contrôle comportent des données sur la taille de l'espace de stockage disponible en écriture libre dans ladite mémoire tampon, l'unité serveur ne transmettant une nouvelle trame que lorsque lesdites données indiquent une taille dudit espace suffisante pour la stocker.
Selon une autre caractéristique de l'invention, lesdites données de contrôle comportent encore des données sur le numéro de la dernière trame reçue par l'unité client.
Selon une autre caractéristique de l'invention, il consiste A émettre, côté unité client, des données de commande vers l'unité serveur, lesdites données de commande étant représentatives de commandes de demande d'un film et d'interruption de transmission d'un film, et d'avertissement de la fin de film.
Selon une autre caractéristique de l'invention, lesdites données de contrôle et lesdites données de commande sont transmises sur le réseau en mode connecté alors que les trames d'images et de sons sont transmises en mode non connecte.
La présente invention concerne également un système de transmission de données représentatives de séquence d'images et de sons pour la mise en oeuvre du procédé dont les caractéristiques essentielles viennent d'être exposées. Ledit système comprend une unité serveur et au moins une unité client transmettant lesdites données via un réseau, lesdites données d'images et de sons étant arrangées en trames successives.
I1 est caractérisé en ce que 1 'unité serveur comporte une unité d'émission prévue pour émettre lesdites données trame après trame, en ce que chaque unité client comporte une mémoire tampon pour stocker les trames reçues de l'unité serveur et une unité de restitution prévue pour lire les trames stockées dans ladite mémoire et pour reproduire l'image et les sons liés auxdites trames lues.
Selon une autre caractéristique de l'invention, l'unité client est prévue pour émettre périodiquement des données de contrôle vers l'unité serveur, lesdites données de contrôle comportent des données sur la taille de l'espace de stockage libre dans ladite mémoire tampon, l'unité d'émission de l'unité serveur ne transmettant une nouvelle trame que lorsque ledit espace est suffisant pour la stocker dans ladite mémoire.
Selon une autre caractéristique de l'invention, lesdites données de contrôle comportent encore des données sur le numéro de la dernière trame reçue par l'unité client.
Selon une autre caractéristique de l'invention, l'unité client est prévue pour émettre des données de commande vers l'unité serveur, lesdites données de commande étant représentatives de commandes de demande d'un film et d'interruption de transmission d'un film, et d'avertissement de la fin dudit film.
Selon une autre caractéristique de l'invention, l'unité serveur et l'unité client comportent respectivement des unités de gestion prévues pour transmettre entre elles lesdites données de contrôle et lesdites données de commande sur le réseau en mode connecté.
Selon une autre caractéristique de l'invention, ladite mémoire tampon de l'unité client comporte une zone dans laquelle sont mémorisées les trames qui ont été reçues jusqu'ici et qui n'ont pas été encore lues et une zone d'informations sur la transmission en cours, lesdites informations consistant en la taille disponible en écriture dans ladite mémoire, l'adresse de la prochaine trame A lire par l'unité de restitution et l'adresse A laquelle devra être écrite la prochaine trame reçue.
Selon une autre caractéristique de l'invention, ladite mémoire tampon comporte encore une zone dans laquelle est stocké le numéro de la dernière trame reçue.
Selon une autre caractéristique de l'invention, l'unité serveur comporte une unité de stockage et une mémoire tampon, ladite mémoire tampon comportant une zone dans laquelle sont mémorisées les trames à émettre par l'unité d'émission vers une unité client et une zone d'informations sur la transmission en cours, lesdites informations consistant en la taille de l'espace disponible en écriture dans ladite mémoire, l'adresse de la prochaine trame lire par l'unité d'émission et l'adresse à laquelle devra être écrite la prochaine trame reçue de l'unité de stockage.
Selon une autre caractéristique de l'invention, ladite mémoire tampon comporte encore une zone dans laquelle est stockée la valeur de la taille de l'espace disponible pour écriture dans la mémoire de l'unité client.
Selon une autre caractéristique de l'invention, ladite unité serveur comporte une unité de commande prévue pour commander la lecture d'une trame dans la mémoire et son émission vers l'unité client par l'unité démission lorsque ladite valeur de taille est supérieure à la taille de ladite trame.
Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaitront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins jointes, parmi lesquels::
la Fig. 1 est schéma synoptique d'un système de transmission de données selon la présente invention,
la Fig. 2 illustre la structure des données d'image et de sons associés en trames successives,
la Fig. 3 illustre la structure des messages de contrôle et de commande échanges par l'unité serveur et l'unité client,
la Fig. 4 illustre la structure de la mémoire tampon de l'unité serveur,
la Fig. 5 illustre la structure de la mémoire tampon de l'unité client, et
les Figs. 6a et 6b illustrent le principe de stockage des données d'image dans la mémoire de l'unité client.
A la Fig. 1, on voit une unité 10, dite par la suite unité serveur et une autre unite 20, dite par la suite unité client. Elles sont reliées entre elles, d'une part, par une liaison unidirectionnelle 30 d'un réseau, par exemple un réseau commuté de type ATM, d'autre part, par une liaison bi-directionnelle 40 du même réseau.
Les liaisons 30 et 40 n'ont pas nécessairement des réalités physiques mais représentent plutôt deux couches différentes du même réseau. La liaison 30 est effectuee en mode sans connexion (par exemple, couche UDP) et la liaison 40 est effectuée en mode orienté connexion (par exemple, couche TCP). La première assure un débit important alors que la seconde assure une sécurité importante des données transmises.
L'unité serveur 10 est essentiellement constituée d'une unité de stockage 11 apte A délivrer des données de film, par exemple au format MJPEG. Elle comprend encore une mémoire tampon 12 dont une entrée d'écriture est reliée A la sortie de l'unité de stockage 11 et dont une sortie de lecture est reliée A l'entrée d'une unité d'émission 13. L'unité d'émission 13 est prévue pour émettre les données qu'elle a lues dans la mémoire tampon 12.
L'unité serveur 10 comprend encore une unité de gestion 14 qui est reliée A une entrée d'écriture ainsi qu'à une sortie de lecture de la mémoire tampon 12. L'unité 14 est prévue pour émettre des messages de commande et de contrôle par la liaison 40 en direction d'une unité client ainsi qu'en recevoir d'une unité client.
Une unité de commande 16 est reliée l'unité de stockage 11, A la mémoire 12, A l'unité démission 13 et l'unité de gestion 14 pour assurer la commande de l'échange des données entre ces différentes unités 11 A 14 et, ce, via la mémoire 12 comme cela sera expliqué ci-dessous.
L'unité client 20 est essentiellement constituée d'une unité de réception 21 apte A recevoir les données de film qui sont transmises par la liaison 30 par une unité serveur 10 et A les délivrer A une entrée d'écriture d'une mémoire tampon 22. Une sortie de lecture de la mémoire tampon 22 est reliée A l'entrée d'un dispositif de restitution 23.
L'unité client 20 comprend encore une unité de gestion 24 qui est reliée A une entrée d'écriture ainsi qu'à une sortie de lecture de la mémoire 22. Elle est prévue pour émettre des messages de commande et de contrôle sur la liaison 40 en direction d'une unité serveur ainsi qu'en recevoir, d'une unité serveur.
Une interface utilisateur 25 est reliée à une entrée d'écriture de la mémoire tampon 22.
Une unité de commande 26 est reliée aux unités 21 à 25 pour assurer l'échange de données entre elles et, ce, notamment par l'intermédiaire de la mémoire tampon 22 comme cela sera expliqué cidessous.
On va maintenant expliquer le fonctionnement des unités 10 et 20.
Dans la suite de la description, on appelle une séquence vidéo une suite d'images fixes qui sont codées les unes indépendamment des autres. Une telle séquence est par exemple une séquence au format
MJPEG.
Pour l'émission d'une telle séquence vidéo par une unité serveur 10, l'unité de commande 16 de ladite unité serveur 10 commande, d'une part, la lecture des données d'image, image après image, dans l'unité de stockage 11 et, d'autre part, leur stockage temporairement dans la mémoire tampon 12. Elle commande également l'unité d'émission 13 pour la lecture des données d'image stockées dans la mémoire 12 et pour leur transmission à une unité client 20.
Cette transmission a lieu de manière asynchrone avec le dispositif de restitution 23 de l'unité 20. Pour ce faire, les données d'images émises par l'unité démission 13 de l'unité 10 sont reçues par l'unité de réception 21 de l'unité client 20 et sont ensuite, sous la commande de l'unité de commande 26, stockées dans la mémoire tampon 22 de l'unité 20. Le dispositif de restitution 23 effectue la lecture des données qui sont stockées dans la mémoire 22 et ce, A sa cadence de restitution. Ces opérations sont effectuées sous la commande de l'unité de commande 26.
Contrairement au procédé de transmission de l'art antérieur, l'unité client 20 n'accuse pas réception des données d'une image. Il en résulte que l'unité serveur 10 peut émettre les données d'image à une cadence plus élevée, n'attendant pas un accusé réception avant d'émettre.
Le procédé de transmission qui vient d'être décrit tire profit du fait que chaque séquence vidéo est codée en une suite d'images fixes codées indépendamment les unes des autres. En effet, ceci permet au processus de restitution mis en oeuvre par le dispositif 23 de tolérer facilement la perte d'une image, n'entraînant qu'une perturbation ponctuelle qui ne se répercute pas sur les autres images de la séquence.
Les différentes images composant une séquence vidéo n'ont pas la même taille qui, par ailleurs, est relativement importante, do l'ordre de 20 à 50 Kilo-octets. Aussi, chaque image n'est pas transmise en une seule fois mais elle est au contraire découpée en une pluralité de trames émises les unes consécutivement aux autres.
Chaque trame TR comporte, comme cela est représenté A la Fig. 2, un champ DON dans lequel sont stockées les données utiles et un champ identificateur ID, entête ou queue de trame (comme cela est représenté), dans laquelle sont définies les informations suivantes: le numéro de limage considérée nl, le nombre de trames nTR pour l'image considérée, le numéro de la trame courante N et la taille de l'image T. Ces informations contenues dans l'entête ID permettent d'assurer une bonne reconstruction de l'image au niveau du dispositif de restitution 23.
Par exemple, l'unité client 20 peut comparer les champs identificateurs ID des deux dernières trames TR1 et TR2 qu'elle vient de recevoir et en déduire si une trame a été ou na pas été perdue.
On notera que l'information concernant la taille de l'image T qui se trouve dans la dernière trame d'une image permet de déterminer la quantité de données significatives dans cette image.
Le principal problème posé par le procédé tel qu'il vient d'être décrit est le risque de pertes de données d'images par congestion de la mémoire tampon 22 de l'unité client 20. Pour résoudre ce problème, l'unité de gestion 24 de l'unité client 20 transmet périodiquement A l'unité de gestion 14 de l'unité serveur 10 des données de contrôle.
Ces données servent au processus d'émission, par l'unité d'émission 13, des données d'image.
Selon un mode de réalisation, lesdites données de contrôle sont constituées, d'une part, du numéro de la dernière trame reçue par l'unité de réception de l'unité client 20 concerné et, d'autre part, de la taille de l'espace de stockage libre dans la mémoire tampon 22 après cette réception. Ces données de contrôle sont transmises périodiquement par l'unité de gestion 24 de l'unité client 20 et, ce, par la liaison en mode connecté 40.
Sur la base de ces données de contrôle, l'unité d'émission 13 est commandée, par l'unité de commande 16, pour transmettre la trame suivante de la séquence en cours et, ce, seulement si l'espace libre dans la mémoire tampon 22 est de taille suffisamment important pour pouvoir stocker ladite trame.
Ainsi, l'unité serveur 10 gère une structure représentant une image de la mémoire tampon 22 de l'unité client 20. Cette structure lui permet de déterminer de façon certaine si l'unité client 20 peut accepter une nouvelle image et, si oui, de lui transmettre cette nouvelle image. Le problème de congestion de la mémoire tampon 22 est donc ainsi résolu.
La transmission de données de contrôle entre l'unité do gestion 14 de l'unité serveur 10 et l'unité de gestion 24 de l'unité client 20 permet également la gestion d'une demande d'un film effectuée par une unité client 20, la fin de la transmission dudit film et une demande d'interruption émanant d'une unité client 20.
Les unités de gestion 14 et 24 sont ainsi prévues pour émettre des messages dont la structure est celle qui est représentée A la
Fig. 3. Le champ cde permet de coder le type do message de commande ou de contrôle envoyé, les autres champs étant pertinents ou pas selon le type de message concerné.
Ainsi, pour une commande de demande de transmission d'un film, le message est le suivant:
DEDULIDE : nos : 1g où no. est le nom du fichier qui est stocké dans l'unité 11 de l'unité serveur 10 et qui contient la séquence désirée et 19 indique la longueur de la chaîne.
De même pour l'interruption d'une transmission d'un film, le message est le suivant:
INTERRUPTION . Il n'y a pas d'autres champs significatifs A préciser.
Enfin, pour une commande de fin de film, le message est le suivant:
FIN . Il n'y a lA non plus pas d'autres champs significatifs.
Comme cela a été décrit précédemment, l'unité de gestion 24 de l'unité client 20 transmet des données de contrôle à l'unité des gestion 14. Le message ainsi transmis est le suivant:
MM : Tr : Nr où Ur indique le numéro de la dernière trame reçue par l'unité de réception 21 de l'unité client et Tr précise la place libre dans la mémoire tampon 22 de l'unité client 20.
Généralement, les séquences vidéo transmises par une unité serveur comprennent un entête dans lequel sont stockées des données caractéristiques de la séquence considérée, comme la résolution, le nombre d'images par seconde, etc. Contrairement aux données d'images, ces données caractéristiques ne peuvent être perdues lors du processus de transmission A une unité client 20.
Aussi, il est préférable de les transmettre A l'unité client 20 par le réseau 40 avec un accusé réception. Les messages d'envoi d'un entête et d'accusé réception sont alors respectivement les suivants:
KITETE : nor où nom contient la structure décrivant l'entête du fichier vidéo demande, et
ENT8TZ ACK sans autres champs significatifs.
Alors que le premier message est émis par l'unité de gestion 14 vers l'unité de gestion 24, le second message est émis par l'unité de gestion 24 vers l'unité de gestion 14.
La mémoire 12 de l'unité serveur 10 fonctionne en tant que mémoire tampon entre l'unité de stockage 11 et l'unité d'émission 13.
Entre ces deux unités 11 et 13 est ainsi mis en place un processus par lequel l'unité de stockage 11 place directement le résultat de la lecture du fichier dans la mémoire 12 où il est directement accessible par l'unité d'émission 13.
Ce processus permet d'optimiser les accès au fichier. Par exemple, si l'unité d'émission 13 n'émet plus de données d'images, parce que la mémoire 22 de l'unité client 20 n'est pas susceptible d'en stocker, l'unité de stockage 11 continue à accéder au fichier et A assurer le stockage dans la mémoire 12.
La mémoire 12 assure également le transfert de données entre les différentes unités 11 à 14 et, ce sous la commande de l'unité de commande 16.
La structure de la mémoire 12 est montrée à la Fig. 4. Elle comporte essentiellement trois zones 121, 122 et 123 dans lesquelles sont respectivement mémorisées des variables d'état ET, des données d'informations diverses INF et les données d'images DON proprement dites.
Chaque variable d'état ET définit, pour une des unités 11 à 14, son mode de fonctionnement.
Les données d'informations INF définissent des informations sur la transmission en cours et sont utilisées par les unités 11 A 14 pour leur fonctionnement.
Enfin, les données d'images DON qui ont été lues dans l'unité de stockage 11 sont stockées dans la troisième zone de la mémoire 12.
La gestion de la mémoire 12 entre l'unité de stockage 11 et l'unité d'émission 13 est faite suivant le principe d'une file circulaire accessible en producteur/consommateur. Trois données d'information permettent de définir l'état de la zone de données de la mémoire 12. Ainsi, l'unité 11 et l'unité d'émission 13 déterminent d'apres ces données s'ils peuvent lire respectivement écrire et, ei oui, A quelles adresses de la zone mémoire.
Ces trois données sont nommées: Taille, ADR, ADW.
La variable Taille indique le nombre de blocs libres de la mémoire 12 dans lesquels peuvent être mémorisées des données d'image.
La données ADR indique 1 'adresse du premier bloc disponible en lecture. La variable ADW indique l'adresse du premier bloc disponible en écriture.
L'unité de stockage 11 et l'unité d'émission 12 accedent A la données Taille aussi bien en lecture qu'en écriture. L'unité de stockage 11 gère la donnée ADW et l'unité d'émission 13 gère la données ADR.
L'unité de stockage 11 lit, dans la mémoire 12, la donnée Taille et si le nombre de blocs que cette donnée représente est supérieur à un nombre prédéterminé, elle effectue la lecture du fichier demandé et son stockage dans la mémoire 12 A l'adresse qui est définie par la donnée ADW. Puis, elle stocke, dans la mémoire 12, la donnée Taille et la donnée ADW réactualisées.
De meme, l'unité d'émission 13 lit, dans la mémoire 12, la donnée Taille et si le nombre de blocs qu'elle représente est supérieur A un nombre prédéterminé, elle effectue la lecture des données d'images qui sont stockées dans la mémoire 12 A l'adresse qui est définie par la donnée ADR. Puis, elle stocke la donnée Taille et la donnée ADR réactualisées.
Dans la mémoire 12, sont également stockées des données de contrôle mentionnées ci-dessus, à savoir le numéro de la dernière trame reçue Nr par l'unité client 20 concerné et la taille Tr de l'espace de stockage disponible dans la mémoire tampon 22. Ces données de contrôle sont périodiquement envoyées par l'unité client 10 sur le réseau 40. A leur réception par l'unité de gestion 14, elles sont directement stockées dans les emplacements correspondants de la mémoire 22.
Ces données de contrôle sont utilises par l'unité d'émission 13. En effet, avant d'émettre des données d'images, l'unité d'émission 13 estime, à partir de la donnée de contrôle Tr ci-dessus, l'espace de la mémoire 22 nécessaire et détermine si ces données d'images pourront être ou pas stockées dans la mémoire tampon 22.
La mémoire 22 de l'unité client 20, quant à elle, fonctionne en tant que mémoire tampon entre l'unité de réception 21 et l'unité de restitution 23. Entre ces deux unités 21 et 23 est ainsi mis en place un processus par lequel l'unité de réception 11 place directement les données d'images qu'elle vient de recevoir dans la mémoire 22 où elles sont directement accessibles par l'unité de restitution 23.
La mémoire 22, à l'instar de la mémoire 12, assure également le transfert de données entre les différentes unités 21 à 24 et, ce sous la commande de l'unité de commande 26.
La structure de la mémoire 22 est montrée à la Fig. 5. Elle comporte essentiellement trois zones 221, 222 et 223 dans lesquelles sont respectivement mémorisées des variables d'état ET, des données d'informations diverses INF et les données d'images DON proprement dites.
Chaque variable d'état ET définit, pour une des unités 21 A 25, son mode de fonctionnement.
Les données d'informations INF définissent des informations sur la transmission en cours et sont utilisées par les unités 21 à 25 pour leur fonctionnement.
Enfin, les données d'images DON qui ont été reçues par l'unité de réception sont stockées dans la troisième zone de la mémoire 12.
La gestion de la mémoire 22 entre l'unité de réception 21 et l'unité de restitution 23, à l'instar de celle de la mémoire 12, est faite suivant le principe d'une file circulaire accessible en producteur/consommateur. Trois données d'information, Taille, ADR,
ADW, permettent de définir l'état de la zone de données de la mémoire 22. Ainsi, de la même manière que pour la mémoire 12, l'unité de réception 21 ou l'unité de restitution 23 déterminent d'après ces données si elles peuvent lire ou écrire et, Si oui, à quelles adresses de la zone mémoire.
Dans la mémoire 12, sont egalement stockées des données de contrôle mentionnées ci-dessus, à savoir le numéro de la dernière trame reçue Nr par l'unité de réception 21 et la taille Tr de l'espace de stockage disponible dans la mémoire tampon 22 elle-même.
Ces données de contrôle sont lues périodiquement par l'unité de gestion 24 et sont alors transmises par la liaison en mode connecté 40 vers l'unité serveur 10.
La gestion de la mémoire tampon 22 présente des particularités dans la mise en oeuvre: l'unité de réception 21 doit gérer d'éventuelles pertes d'images et l'accès de l'unité de restitution 23 se fait de manière que la lecture d'une image puisse se faire en un seul accès.
A la réception d'une trame, l'unité de réception 21 lit, dans son entête, le numéro de cette trame et le compare avec celui de la trame précédemment reçue. Si ces numéros sont concordants, en général s'ils se suivent, ladite trame est stockée dans la mémoire tampon 22.
S'il y a incohérence entre ces numéros, les trames de l'image à laquelle aurait due appartenir la trame reçue sont invalidées.
L'unité de restitution 23 doit pouvoir accéder à une image stockées dans la mémoire 22 en une seule lecture. En effet, cela évite la recopie des données d'images dans une autre mémoire tampon, laquelle serait accessible par la fonction de décompression de l'unité de restitution 23. Néanmoins, cette lecture en un seul accès pose un problème lorsque l'image considérée est stockée dans la mémoire tampon 22 à cheval sur la fin de la zone tampon, comme cela est illustré à la Fig. 6.
La solution à ce problème consiste à utiliser une zone de débordement situé en fin de la zone tampon. La taille de cette zone est un majorant de la taille des images. Cette zone est utilisée pour les images arrivant en fin de tampon. Ainsi, les données d'une image appartiennent toutes à des blocs contigus de mémoire.
On notera que cette zone de débordement n'est utilisée que pour une seule image et qu'elle n'est pas incluse dans le calcul de la taille disponible utilisée pour la mise à jour de la donnée de contrôle de la mémoire 22.
Le positionnement des informations de numérotation des trames vidéo en queue permet également d'éviter une recopie de zone mémoire, et donc de gagner du temps. En effet, la trame reçue est écrite en recouvrement de la zone contenant les informations de numérotation de la trame précédente, si bien que les données d'une seule image sont contigues dans la mémoire 22.
Les étapes dlune session d'envoi de film sont maintenant décrites.
Lorsque l'unité d'utilisateur 23 d'une unité client 20 demande un film, elle modifie en conséquence, dans la mémoire 22, la variable de commande de l'unité de gestion 24 et charge le nom du film demande dans la zone appropriée de la mémoire 22. L'unité de gestion 24 lit la mémoire 22 et transmet alors le message demande de film (DEMANDE nom). A sa réception par l'unité serveur 10, l'unité de gestion 14 stocke dans la mémoire 12, d'une part, la variable de commande de l'unité de stockage 11 et, d'autre part, le nom du film demandé.
L'unité de stockage 11 lit la mémoire 12 puis ouvre le fichier correspondant au film demandé. Elle place dans la mémoire 12, dans la zone appropriée, l'entête dudit fichier.
L'entête est lu par l'unité de gestion 14 qui le transmet A l'unité de gestion 24 de l'unité client demanderesse 20 (=NTSTG nos). Si la transmission s'est correctement effectuée, l'unité de gestion 24 transmet un accusé réception (E1"~ACK) et stocke ledit entête dans l'unité de restitution 23, et ce par l'intermédiaire de la mémoire tampon 22.
A la réception de cet accusé réception, l'unité de gestion 14 rend actif, dans la mémoire 12, la variable de commande de l'unité de stockage 11 qui lit les données d'image du fichier demandé et les stocke dans la mémoire 12, comme cela a été expliqué ci-dessus.
L'unité d'émission 13 lit les données d'images qui sont stockées dans la mémoire tampon 12 et les transmet, par la liaison en mode non connecté 30, à l'unité réception 21 de l'unité client demandeur 20.
Les données d'images sont alors stockées dans la mémoire tampon 22 où elles sont disponibles pour leur lecture par l'unité de restitution 23.
Lorsque l'unité d'émission 13 détecte la fin du fichier, elle transmet cette information, via la mémoire 12, à l'unité de gestion 14, laquelle transmet le message de fin (FIN) à l'unité de gestion 24 de l'unité 20.
En cas d'interruption demandée par l'unité client 20, l'unité de gestion 14 reçoit de l'unité de gestion 24 de l'unité client 20 le message d'interruption ( DDRRUPTION) et commande alors l'unité d'émission 13 pour qu'elle n'envoie plus de données d'image.

Claims (17)

REVENDICATIONS
1) Procédé de transmission de données représentatives de séquences d'images et de sons entre une unité serveur (10) et au moins une unité client (20) via un réseau (30), lesdites données d'images et de sons étant arrangées en trames successives, caractérisé en ce qu'il consiste à, côté unité serveur (10), remettre, sur ledit réseau (30), lesdites données trame après trame, à, côté unité client (20), stocker les trames reçues de l'unité serveur (10) dans une mémoire tampon (22), et à lire les trames stockées dans ladite mémoire (22) pour la reproduction des images et des sons liés auxdites trames lues.
2) Procédé de transmission de données selon la revendication 1, caractérisé en ce que chaque trame comporte un champ de données (DON) dans lequel sont stockées les données utiles et un champ identificateur (ID) dans lequel sont notamment définis le numéro de l'image à laquelle appartient ladite trame, le numéro de ladite trame dans ladite image, le nombre de trames dans ladite image et la taille de ladite image.
3) Procédé selon la revendication 2, caractérisé en ce que ledit champ identificateur (ID) est place en queue de trame, chaque trame étant stockée dans la mémoire (22) de l'unité client (20) en recouvrement du champ identificateur (ID) de la trame précédemment stockée.
4) Procédé de transmission de données selon la revendication 1, 2 ou 3, caractérisé en ce qu'il consiste A émettre, côté unité client (20) et périodiquement, des données de contrôle vers l'unité serveur (10), lesdites données de contrôle comportent des données sur la taille de l'espace de stockage disponible en écriture libre dans ladite mémoire tampon (22), l'unité serveur (10) ne transmettant une nouvelle trame que lorsque lesdites données indiquent une taille dudit espace suffisant pour la stocker.
5) Procédé de transmission de données selon la revendication 4, caractérisé en ce que lesdites données de contrôle comportent encore des données sur le numéro de la dernière trame reçue par l'unité client.
6) Procédé de transmission de données selon une des revendications précédentes, caractérisé en ce qu'il consiste à émettre, côté unité client, des données de commande vers l'unité serveur, lesdites données de commande étant représentatives de commandes de demande d'un film et d'interruption de transmission d'un film, et d'avertissement de la fin de film.
7) Procédé de transmission de données selon une des revendications 4, 5 ou 6, caractérisé en ce que lesdites données de contrôle et lesdites données de commande sont transmises sur le réseau en mode connecté alors que les trames d'images et de sons sont transmises en mode non connecté.
8) Système de transmission de données représentatives de séquence d'images et de sons pour la mise en oeuvre de lune des revendications 1 à 7, ledit système comprenant une unité serveur (10) et au moins une unité client (20) transmettant lesdites données via un réseau (30), lesdites données d'images et de sons étant arrangées en trames successives, caractérisé en ce que l'unité serveur (10) comporte une unité d'émission (13) prévue pour émettre lesdites données trame après trame, en ce que chaque unité client (20) comporte une mémoire tampon (22) pour stocker les trames reçues de l'unité serveur (10) et une unité de restitution (23) prévue pour lire les trames stockées dans ladite mémoire (22) et pour reproduire l'image et les sons liés auxdites trames lues.
9) Système de transmission de données selon la revendication 8, caractérisé en ce que l'unité client (20) est prévue pour émettre périodiquement des données de contrôle vers l'unité serveur (10), lesdites données de contrôle comportent des données sur la taille de l'espace de stockage libre dans ladite mémoire tampon (22), l'unité d'émission (13) de l'unité serveur (10) ne transmettant une nouvelle trame que lorsque ledit espace est suffisant pour la stocker dans ladite mémoire (22).
10) Système de transmission de données selon la revendication 9, caractérisé en ce que lesdites données de contrôle comportent encore des données sur le numéro de la dernière trame reçue par l'unité client.
11) Système de transmission de données selon une des revendications 8 à 10, caractérisé en ce que l'unité client (20) est prévue pour émettre des données de commande vers l'unité serveur (10), lesdites données de commande étant représentatives de commandes de demande d'un film et d'interruption de transmission d'un film, et d'avertissement de la fin dudit film.
12) Système de transmission de données selon une des revendications 8 à 11, caractérisé en ce que l'unité serveur (10) et l'unité client (20) comportent respectivement des unités de gestion (14 et 24) prévues pour transmettre entre elles lesdites données de contrôle et lesdites données de commande en mode connecté dudit réseau.
13) Système de transmission de données selon une des revendications 8 à 12, caractérisé en ce que ladite mémoire tampon (22) de l'unité client (10) comporte une zone dans laquelle sont mémorisées les trames qui ont été reçues jusqu'ici et qui n'ont pas eté encore lues et une zone d'informations sur la transmission en cours, lesdites informations consistant en la taille disponible en écriture dans ladite mémoire (22), l'adresse de la prochaine trame à lire par l'unité de restitution (23) et l'adresse à laquelle devra être écrite la prochaine trame reçue.
14) Système de transmission de données selon la revendication 13, caractérisé en ce que ladite mémoire tampon (22) comporte encore une zone dans laquelle est stocké le numéro de la dernière trame reçue.
15) Système de transmission de données selon une des revendications 8 A 14, caractérisé en ce que l'unité serveur (10) comporte une unité de stockage (11) et une mémoire tampon (12), ladite mémoire tampon (12) comportant une zone dans laquelle sont mémorisées les trames à émettre par l'unité d'émission (13) vers une unité client (20) et une zone d'informations sur la transmission en cours, lesdites informations consistant en la taille de l'espace disponible en écriture dans ladite mémoire (12), l'adresse de la prochaine trame à lire par l'unité d'émission (13) et l'adresse A laquelle devra être écrite la prochaine trame reçue de l'unité de stockage (11).
16) Système de transmission de données selon la revendication 15, caractérisé en ce que ladite mémoire tampon (12) comporte encore une zone dans laquelle est stockée la valeur de la taille de l'espace disponible pour écriture dans la mémoire (22) de l'unité client (20).
17) Système de transmission de données selon la revendication 16, caractérisé en ce que ladite unité serveur (10) comporte une unité de commande (16) prévue pour commander la lecture d'une trame dans la mémoire (12) et son émission vers l'unité client par l'unité d'émission (13) lorsque ladite valeur de taille est supérieure à la taille de ladite trame.
FR9508160A 1995-06-30 1995-06-30 Methode de transmission de donnees representatives de sequences d'images et de sons Expired - Fee Related FR2736486B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9508160A FR2736486B1 (fr) 1995-06-30 1995-06-30 Methode de transmission de donnees representatives de sequences d'images et de sons

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9508160A FR2736486B1 (fr) 1995-06-30 1995-06-30 Methode de transmission de donnees representatives de sequences d'images et de sons

Publications (2)

Publication Number Publication Date
FR2736486A1 true FR2736486A1 (fr) 1997-01-10
FR2736486B1 FR2736486B1 (fr) 1997-08-08

Family

ID=9480734

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9508160A Expired - Fee Related FR2736486B1 (fr) 1995-06-30 1995-06-30 Methode de transmission de donnees representatives de sequences d'images et de sons

Country Status (1)

Country Link
FR (1) FR2736486B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000027087A1 (fr) * 1998-10-30 2000-05-11 British Telecommunications Public Limited Company Transport de donnees

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0529864A1 (fr) * 1991-08-22 1993-03-03 Sun Microsystems, Inc. Appareil et procédé de serveur vidéo pour réseau
WO1994029979A1 (fr) * 1993-06-09 1994-12-22 Intelligence At Large, Inc. Procede et appareil pour systeme de communication numerique multimedia

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0529864A1 (fr) * 1991-08-22 1993-03-03 Sun Microsystems, Inc. Appareil et procédé de serveur vidéo pour réseau
WO1994029979A1 (fr) * 1993-06-09 1994-12-22 Intelligence At Large, Inc. Procede et appareil pour systeme de communication numerique multimedia

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JAU-SHIUNG HUANG ET AL: "MHTP - A MULTIMEDIA HIGH-SPEED TRANSPORT PROTOCOL", COMMUNICATION FOR GLOBAL USERS, ORLANDO, DEC. 6 - 9, 1992, vol. 3 OF 3, 6 December 1992 (1992-12-06), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 1364 - 1368, XP000390432 *
LE GALL D: "MPEG: A VIDEO COMPRESSION STANDARD FOR MULTIMEDIA APPLICATIONS", COMMUNICATIONS OF THE ASSOCIATION FOR COMPUTING MACHINERY, vol. 34, no. 4, 1 April 1991 (1991-04-01), pages 46 - 58, XP000228788 *
SIRACUSA R J: "FLEXIBLE AND ROBUST PACKET TRANSPORT FOR DIGITAL HDTV", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATION, vol. 11, no. 1, 1 January 1993 (1993-01-01), pages 88 - 98, XP000378000 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000027087A1 (fr) * 1998-10-30 2000-05-11 British Telecommunications Public Limited Company Transport de donnees
US6977934B1 (en) 1998-10-30 2005-12-20 British Telecommunications Data transport

Also Published As

Publication number Publication date
FR2736486B1 (fr) 1997-08-08

Similar Documents

Publication Publication Date Title
EP0658055B1 (fr) Distribution multimédia sur réseaux étendus
US9026672B2 (en) Method and apparatus for instant playback of a movie title
KR101028639B1 (ko) 관리된 객체 복제 및 전달
US6874015B2 (en) Parallel CDN-based content delivery
EP1859622B1 (fr) Support a la demande instantane
US8745262B2 (en) Adaptive network content delivery system
EP0820673B1 (fr) Reseau de serveurs pour telechargement video offrant des services personnalises
US7937379B2 (en) Fragmentation of a file for instant access
US8219635B2 (en) Continuous data feeding in a distributed environment
US6098180A (en) Robust delivery system
US20160353156A1 (en) Updating content libraries by transmitting release data
US20060218219A1 (en) Method and system for keeping a library of titles updated
US20020152261A1 (en) Method and system for preventing the infringement of intellectual property rights
US20060218220A1 (en) Method and system for updating contents in newly-installed devices
US20030154246A1 (en) Server for storing files
CN101202882B (zh) 一种媒体资源传输方法、系统及机顶盒
US20020147827A1 (en) Method, system and computer program product for streaming of data
JP3605242B2 (ja) データ送信装置、データ受信装置、およびデータファイル記憶媒体
JP4637602B2 (ja) コンテンツ配信システム、コンテンツ配信方法、およびプログラム
FR2946164A1 (fr) Procede de telechargement de donnees de grande taille vers un grand nombre de machines clientes en reseau a partir d'un serveur unique
FR2736486A1 (fr) Methode de transmission de donnees representatives de sequences d'images et de sons
EP1212879A1 (fr) Procede et systeme de transmission d'une chaine de messages pour base de donnees
US20040080505A1 (en) Moving picture file distributing device
WO2004036362A2 (fr) Compression de contenu securise
JP2006172296A (ja) キャッシュ削除方法及びコンテンツ中継サーバ

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20130228