FR2940873A1 - Procede de synchronisation d'une transmission de trames de donnees applicatives, dispositifs d'emission et de reception, produit programme d'ordinateur et moyen de stockage correspondants - Google Patents
Procede de synchronisation d'une transmission de trames de donnees applicatives, dispositifs d'emission et de reception, produit programme d'ordinateur et moyen de stockage correspondants Download PDFInfo
- Publication number
- FR2940873A1 FR2940873A1 FR0950073A FR0950073A FR2940873A1 FR 2940873 A1 FR2940873 A1 FR 2940873A1 FR 0950073 A FR0950073 A FR 0950073A FR 0950073 A FR0950073 A FR 0950073A FR 2940873 A1 FR2940873 A1 FR 2940873A1
- Authority
- FR
- France
- Prior art keywords
- application data
- transmission
- network
- information
- offset
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4122—Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/12—Synchronisation between the display unit and other units, e.g. other display units, video-disc players
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
L'invention concerne un procédé de synchronisation d'une transmission de trames de données applicatives fournies à un dispositif d'émission, la transmission s'effectuant entre le dispositif d'émission et au moins un dispositif de réception via un réseau de communication synchrone mettant en oeuvre un cadencement qui définit un cycle réseau. Selon l'invention, sur détection d'un événement représentatif d'un début d'une trame de données applicatives, un tel dispositif d'émission effectue des étapes consistant à : - déterminer (256) une information de décalage temporel entre l'instant de détection de l'événement et un instant de référence d'un cycle réseau ; - transmettre (257) l'information de décalage temporel, pendant un premier cycle réseau ; - traiter (254) pour transmission, dans un lapse de temps borné, un ensemble de données applicatives à compter du début de la trame ; - transmettre, les données applicatives traitées, à compter d'un second cycle réseau ultérieur au premier cycle réseau.
Description
Procédé de synchronisation d'une transmission de trames de données applicatives, dispositifs d'émission et de réception, produit programme d'ordinateur et moyen de stockage correspondants. 1. DOMAINE DE L'INVENTION Le domaine de l'invention est celui des systèmes de communication. Plus précisément, l'invention concerne une technique de synchronisation d'horloges applicatives entre un dispositif d'émission et au moins un dispositif de réception connectés à un réseau de communication synchrone. Un tel réseau implémente, par exemple, un mode de transfert synchrone de type TDM (pour Time Division Multiplexing en anglais, ou multiplexage par répartition dans le temps en français). L'invention s'applique notamment, mais non exclusivement, aux systèmes de distribution vidéo. 2. ART ANTÉRIEUR On discute ci-après les inconvénients de l'art antérieur à travers le cas particulier d'un système de distribution vidéo temps réel. Dans un système de distribution vidéo temps réel entre une application source, par exemple un contenu vidéo issu d'un lecteur DVD, et au moins une application réceptrice, par exemple un téléviseur, les données applicatives vidéo doivent être restituées aux applications réceptrices avec les mêmes paramètres temporels que ceux associés au flux de données originel (c'est-à-dire aux instants de présentation des images). Ainsi, il est nécessaire de restituer aux applications réceptrices le début de chaque image selon un rythme équivalent à celui observé au niveau de l'application source. Par ailleurs, dans le cas où plusieurs applications réceptrices affichent un même contenu vidéo, les débuts d'images au niveau de chaque application réceptrice doivent être synchronisés en phase. Ainsi, dans un réseau de communication où l'on cherche à synchroniser différentes applications, le problème technique qui se pose est la synchronisation, au niveau de chaque application réceptrice, des instants de restitution des données émises par une même application source, ou la synchronisation des instants de restitution des données émises par plusieurs applications sources. En d'autres termes, dans un réseau de communication synchrone on cherche à maîtriser la latence de transmission (ou latence de transport) entre chacune des applications génératrices de données (c'est-à-dire les applications sources) et chacune des applications consommatrices de données (c'est-à-dire les applications réceptrices).
Pour résoudre ce problème de synchronisation, on utilise généralement un mode de transfert synchrone. En effet, l'utilisation d'un mode de transfert synchrone au niveau d'un réseau de communication permet de garantir une latence de transport constante des données sur le réseau. Dans certaines situations, la mise en oeuvre d'un tel mode de transfert synchrone n'est pas suffisante. C'est par exemple le cas pour les systèmes de distribution vidéo qui comprennent des dispositifs de traitement avant transmission (compris dans un noeud source, aussi appelé dispositif d'émission) connectés aux applications sources et des dispositifs de traitement après transmission (compris dans un noeud récepteur, aussi appelé dispositif de réception) connectés aux applications réceptrices. Par exemple, le dispositif de traitement avant transmission reçoit des données applicatives fournies par l'application source et compresse ces données avant de les transmettre sur le réseau, et le dispositif de traitement après transmission reçoit les données applicatives compressées en provenance du réseau et décompresse ces données avant de les restituer à l'application réceptrice. Généralement, les dispositifs de traitement avant transmission et de traitement après transmission utilisés présentent des latences de traitement variables. Dans le cas précité, pour garantir une latence de transport constante (malgré les latences de traitement variables), une solution connue consiste à mettre en oeuvre des protocoles de synchronisation au niveau des couches applicatives. Le principe de ce type de protocoles de synchronisation repose sur l'utilisation d'informations temporelles (ou informations de synchronisation) mesurées au niveau de l'application source. Plus précisément, les dispositifs de traitement avant transmission calculent les informations temporelles puis les insèrent, selon un format prédéterminé, dans les données applicatives, avant transmission sur le réseau. Les dispositifs de traitement après transmission reçoivent les données en provenance du réseau et extraient les informations temporelles parmi les données reçues pour ensuite les utiliser. Ces informations temporelles définissent les instants (relatifs ou absolus) de restitution du début de chacune des images vidéo au niveau de chacune des applications réceptrices. Parmi les dispositifs de traitement avant transmission et de traitement après transmission connus mettant en oeuvre ce type de protocoles de synchronisation, on peut notamment citer les dispositifs de compression/décompression vidéo (appelés codec ) qui gèrent des informations temporelles du type PTS (pour Presentation Time Stamp en anglais), DTS (pour Decoding Time Stamp en anglais) ou PCR (pour Program Clock Reference en anglais), présentes au sein des trames vidéo encodées. Dans l'état de la technique, les protocoles de synchronisation connus utilisent une référence horaire commune à l'ensemble des applications du réseau. Cette référence horaire commune peut être définie soit à partir d'une horloge globale (ou horloge réseau) fournie par le réseau, soit à partir d'une horloge locale comprise dans chaque application. Dans ce dernier cas, il convient de synchroniser en fréquence les différentes horloges locales au travers d'un autre protocole de synchronisation. Cette solution connue (consistant à mettre en oeuvre des protocoles de synchronisation au niveau des couches applicatives) présente néanmoins certains inconvénients. Tout d'abord, dans la mesure où les informations de synchronisation sont formatées et gérées au sein des dispositifs de compression/décompression, l'utilisation de dispositifs de traitement avant transmission ou de traitement après transmission additionnels (visant, par exemple, à implémenter des mécanismes de corrections d'erreurs, de filtrage, d'adaptation de résolution, de conversion de rythme, etc.), et placés, par exemple, en amont ou en aval des dispositifs de compression/décompression, impose la mise en place de mécanismes de synchronisation supplémentaires, et dont les précisions seront dépendantes des performances des différents dispositifs de traitement présents au sein des différentes applications. Par ailleurs, dans le cas où plusieurs noeuds destinataires d'une même source mettent en oeuvre des opérations de traitement après transmission différentes avant restitution des données, la solution connue précitée présente l'inconvénient de ne pas prendre en compte les différences de temps de traitement observées entre les différentes opérations de traitement après transmission, avant restitution des données. 3. OBJECTIFS DE L'INVENTION L'invention, dans au moins un mode de réalisation, a notamment pour objectif de pallier ces différents inconvénients de l'état de la technique. Plus précisément, dans au moins un mode de réalisation de l'invention, un objectif est de fournir une technique de synchronisation d'horloges applicatives entre un dispositif d'émission et au moins un dispositif de réception connectés à un réseau de communication synchrone. En d'autres termes, un objectif est de fournir une technique permettant de gérer efficacement des instants de restitution de données applicatives émises par une application source, pour qu'au niveau des applications réceptrices les données applicatives soient restituées de manière synchrone (c'est-à-dire synchronisées en phase). Un autre objectif de l'invention, dans au moins un de ses modes de réalisation, est de fournir une telle technique qui permette de garantir un temps de transfert constant des données, entre l'instant de réception d'une trame de données applicatives et l'instant où cette trame est restituée, et ce indépendamment des variations temporelles observables dans les dispositifs de traitement compris dans les différents noeuds du réseau. Au moins un mode de réalisation de l'invention a également pour objectif de fournir une telle technique qui soit notamment bien adaptée aux réseaux utilisant un mode de transfert synchrone de type multiplexage par répartition dans le temps (TDM).
L'invention, dans au moins un de ses modes de réalisation, a encore pour objectif de fournir une telle technique qui soit simple à mettre en oeuvre et pour un faible coût. 4. EXPOSÉ DE L'INVENTION Dans un mode de réalisation particulier de l'invention, il est proposé un procédé de synchronisation d'une transmission de trames de données applicatives fournies à un dispositif d'émission, la transmission s'effectuant entre ledit dispositif d'émission et au moins un dispositif de réception via un réseau de communication synchrone mettant en oeuvre un cadencement qui définit un cycle réseau. Ledit procédé étant tel que, sur détection d'un premier événement représentatif d'un début d'une trame de données applicatives, ledit dispositif d'émission effectue des étapes consistant à : - déterminer une information de décalage temporel entre l'instant de détection dudit premier événement et un instant de référence d'un cycle réseau ; - transmettre, via ledit réseau, ladite information de décalage temporel, pendant un premier cycle réseau prédéterminé ; - traiter pour transmission via ledit réseau, dans un lapse de temps borné, un ensemble de données applicatives à compter du début de la trame ; - transmettre, via ledit réseau, lesdites données applicatives traitées, à compter d'un second cycle réseau prédéterminé ultérieur audit premier cycle réseau prédéterminé.
Ainsi, dans ce mode de réalisation particulier, la technique de synchronisation de l'invention repose sur une approche tout à fait nouvelle et inventive consistant à déterminer une information de décalage temporel à partir d'instants qui ne sont pas corrélés aux latences de traitements dans le noeud d'émission. La technique de synchronisation de l'invention propose de déterminer un décalage temporel entre une première borne correspondant à un début de réception (par le dispositif d'émission) d'une trame de données applicatives et une seconde borne correspondant à un instant de référence d'un cycle réseau, par exemple, le début du cycle réseau. De cette façon (et comme présenté plus en détail ci-après), l'utilisation de cette information de décalage temporel permet, dans le dispositif de réception, d'appliquer le décalage temporel sur un début de cycle réseau, qui est indépendant des variations temporelles observables dans les dispositifs de traitement avant ou après transmission compris dans les différents noeuds (dispositifs émission et réception) du réseau. Par ailleurs, l'information de décalage temporel n'est pas transmise en même temps (c'est-à-dire dans le même cycle réseau) que les données applicatives appartenant à la trame ayant servi pour le calcul du décalage temporel. L'invention permet donc une variabilité de latence entre l'instant de traitement des données applicatives et leur instant de transmission, via le réseau. Avantageusement, l'étape consistant à transmettre lesdites données applicatives traitées comprend des étapes consistant à : - déterminer une présence, parmi lesdites données applicatives traitées, de données applicatives appartenant à des trames distinctes ; - transmettre, via ledit réseau, une information de contrôle permettant de distinguer à laquelle desdites trames distinctes chacune desdites données applicatives appartient. Ainsi, lors du traitement pour transmission des données applicatives, le dispositif d'émission détecte si les données applicatives traitées appartiennent à une même trame ou à des trames distinctes. Selon un mode de réalisation particulier de l'invention, le dispositif d'émission génère une information de contrôle qui permet non seulement de distinguer à laquelle des trames distinctes chacune des données applicatives appartient, mais aussi de repérer le début de chacune des trames distinctes. De cette façon (et comme présenté plus en détail ci-après), l'utilisation de cette information de présence permet, dans le dispositif de réception, d'initialiser le démarrage des opérations de traitement vidéo sur un début de trame.
De façon avantageuse, ledit premier cycle réseau prédéterminé est le cycle réseau suivant la détection dudit premier événement. Ainsi, la latence de transmission dans le réseau de communication est réduite. Dans un autre mode de réalisation, l'invention concerne un procédé de synchronisation d'une transmission de trames de données applicatives à régénérer par au moins un dispositif de réception, la transmission s'effectuant entre un dispositif d'émission et ledit ou lesdits dispositifs de réception via un réseau de communication synchrone mettant en oeuvre un cadencement qui définit un cycle réseau. Ledit procédé étant tel qu'un dispositif de réception effectue des étapes consistant à : - recevoir une information de décalage temporel, pendant un premier cycle réseau ; - déterminer un instant de génération d'un début de trame de données applicatives, à compter d'un instant de référence dudit premier cycle réseau auquel sont ajoutés un premier décalage défini par ladite information de décalage temporel et un second décalage fonction d'un temps maximum prédéfini pour que le 30 dispositif d'émission effectue un traitement pour transmission d'une trame de données applicatives ; - recevoir, à compter d'un second cycle réseau ultérieur au premier cycle réseau, des données applicatives en provenance du dispositif d'émission ; - traiter, pour régénération des trames de données applicatives par le dispositif de réception, les données applicatives reçues ; - générer une trame de données applicatives à compter dudit instant de génération déterminé. Ainsi, la technique de synchronisation de l'invention permet, dans le cas où plusieurs récepteurs affichent le même contenu vidéo, que les débuts d'image au niveau de chacun des noeuds récepteurs soient synchronisés en phase. Avantageusement, ledit second décalage est en outre fonction d'un temps maximum prédéfini pour qu'un dispositif de réception traite pour régénération une trame de données applicatives à partir de données applicatives reçues du dispositif d'émission. Ainsi, la technique de synchronisation de l'invention permet de prendre en compte, avant restitution des données, les différences de temps de traitement observées aussi bien à l'émission qu'à la réception des données. En effet, il est proposé d'identifier les différentes latences de traitements avant et après transmission sur le réseau. Pour chaque noeud récepteur, la somme des latences liées aux traitements avant et après transmission est quantifiée (ou bornée) en nombre entiers de cycles TDM. Il est alors fixé un délai d'attente en nombre entier de cycles TDM. Ce délai d'attente correspond à la valeur maximale de la somme obtenue pour tous les noeuds récepteurs d'une même source.
La transmission s'effectue à destination d'une pluralité de dispositifs de réception. De façon avantageuse, le procédé comprend une étape consistant à obtenir, de chaque autre dispositif de réception de ladite pluralité de dispositifs de réception, une information de durée maximum prédéfinie pour que ledit autre dispositif de réception génère une trame de données applicatives à partir de données applicatives reçues du dispositif d'émission. Alors, le second décalage est fonction de la plus grande valeur parmi les durées dont une information a été obtenue.
Ainsi, la technique de synchronisation de l'invention permet de prendre en compte, avant restitution des données, les différences de temps de traitement observées au sein de multiples dispositifs de réception des données, et d'assurer que la restitution des données s'applique au même instant sur l'ensemble des dispositifs de réception.
Avantageusement, si ladite information de décalage temporel n'est pas reçue, alors ledit dispositif de réception effectue une étape consistant à supprimer chaque donnée applicative reçue du dispositif d'émission. Ainsi, la technique de synchronisation de l'invention permet au dispositif de réception d'appliquer aux données reçues du dispositif d'émission un traitement après transmission, en commençant par un début de trame. Cela permet notamment de connecter un nouveau dispositif de réception à une source en cours de transmission de données. De façon avantageuse, le procédé est tel que le dispositif de réception effectue des étapes consistant à : - recevoir une information de contrôle permettant de distinguer des données applicatives reçues dans un même cycle réseau et appartenant à des trames de données applicatives distinctes ; - générer des trames de données applicatives distinctes en fonction de l'information de contrôle.
Ainsi, il est possible d'avoir un procédé de transmission des données sur le réseau de communication qui s'affranchit des concordances de frontières entre canaux virtuels pour le transport sur le réseau et trames de données applicatives (après traitement pour transmission). Cela évite notamment d'insérer des données de bourrage ( padding data en anglais) pour compléter les canaux virtuels à la suite d'une fin de trame de données applicatives (après traitement pour transmission). Dans un autre mode de réalisation, l'invention concerne un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, ledit produit programme d'ordinateur comprenant des instructions de code de programme pour la mise en oeuvre du procédé de transmission précité et/ou du procédé de réception précité, lorsque ledit programme est exécuté sur un ordinateur.
Dans un autre mode de réalisation, l'invention concerne un moyen de stockage, éventuellement totalement ou partiellement amovible, lisible par un ordinateur, stockant un jeu d'instructions exécutables par ledit ordinateur pour mettre en oeuvre le procédé de transmission précité et/ou le procédé de réception précité.
Dans un mode de réalisation particulier de l'invention, il est proposé un dispositif d'émission comprenant des moyens de synchronisation d'une transmission de trames de données applicatives fournies audit dispositif d'émission, la transmission s'effectuant entre ledit dispositif d'émission et au moins un dispositif de réception via un réseau de communication synchrone mettant en oeuvre un cadencement qui définit un cycle réseau. Ledit dispositif d'émission comprend les moyens suivants, activés sur détection d'un premier événement représentatif d'un début d'une trame de données applicatives : - des moyens de détermination d'une information de décalage temporel entre l'instant de détection dudit premier événement et un instant de référence d'un cycle réseau ; - des moyens de transmission permettant de transmettre, via ledit réseau, ladite information de décalage temporel, pendant un premier cycle réseau prédéterminé ; - des moyens de traitement pour transmission via ledit réseau, dans un lapse de temps borné, d'un ensemble de données applicatives à compter du début de la trame ; - des moyens de transmission permettant de transmettre, via ledit réseau, lesdites données applicatives traitées, à compter d'un second cycle réseau prédéterminé ultérieur audit premier cycle réseau prédéterminé. De façon avantageuse, lesdits moyens de transmission desdites données applicatives traitées comprennent : - des moyens de détermination d'une présence, parmi lesdites données applicatives traitées, de données applicatives appartenant à des trames distinctes ; 20 25 - des moyens de transmission permettant de transmettre, via ledit réseau, une information de contrôle permettant de distinguer à laquelle desdites trames distinctes chacune desdites données applicatives appartient. Selon une caractéristique avantageuse, ledit premier cycle réseau prédéterminé est le cycle réseau suivant la détection dudit premier événement. Dans un autre mode de réalisation, l'invention concerne un dispositif de réception comprenant des moyens de synchronisation d'une transmission de trames de données applicatives à régénérer par ledit dispositif de réception, la transmission s'effectuant entre un dispositif d'émission et ledit dispositif de réception via un réseau de communication synchrone mettant en oeuvre un cadencement qui définit un cycle réseau. Ledit dispositif de réception comprend : - des moyens de réception d'une information de décalage temporel, pendant un premier cycle réseau ; - des moyens de détermination permettant de déterminer un instant de génération d'un début de trame de données applicatives, à compter d'un instant de référence dudit premier cycle réseau auquel sont ajoutés un premier décalage défini par ladite information de décalage temporel et un second décalage fonction d'un temps maximum prédéfini pour que le dispositif d'émission effectue un traitement pour transmission d'une trame de données applicatives ; - des moyens de réception permettant de recevoir, à compter d'un second cycle réseau ultérieur au premier cycle réseau, des données applicatives en provenance du dispositif d'émission ; - des moyens de traitement des données applicatives reçues, pour régénération des trames de données applicatives ; - des moyens de génération d'une trame de données applicatives à compter dudit instant de génération déterminé. De façon avantageuse, ledit second décalage est en outre fonction d'un temps maximum prédéfini pour que le dispositif de réception traite pour régénération une trame de données applicatives à partir de données applicatives reçues du dispositif d'émission.
La transmission s'effectue à destination d'une pluralité de dispositifs de réception. Selon une caractéristique avantageuse, le dispositif de réception comprend des moyens d'obtention, de chaque autre dispositif de réception de ladite pluralité de dispositifs de réception, d'une information de durée maximum prédéfinie pour que ledit autre dispositif de réception génère une trame de données applicatives à partir de données applicatives reçues du dispositif d'émission. Selon un mode de réalisation particulier, le second décalage est fonction de la plus grande valeur parmi les durées dont une information a été obtenue. Avantageusement, le dispositif de réception comprend des moyens de suppression permettant de supprimer chaque donnée applicative reçue du dispositif d'émission, lesdits moyens de suppression étant activés si ladite information de décalage temporel n'est pas reçue. De façon avantageuse, le dispositif de réception comprend : - des moyens de réception d'une information de contrôle permettant de distinguer des données applicatives reçues dans un même cycle réseau et appartenant à des trames de données applicatives distinctes ; - des moyens de génération de trames de données applicatives distinctes en fonction de l'information de contrôle. Avantageusement, le dispositif de réception comprend les moyens suivants, activés suite à la réception par le dispositif de réception de l'information de décalage temporel et tant que ladite information de présence n'est pas reçue : - des moyens de suppression permettant de supprimer les données applicatives reçues en provenance du dispositif d'émission ; - des moyens de génération de la première trame de données applicatives en fonction de l'information de contrôle. 5. LISTE DES FIGURES D'autres caractéristiques et avantages de modes de réalisation de l'invention apparaîtront à la lecture de la description suivante, donnée à titre d'exemple indicatif et non limitatif (tous les modes de réalisation de l'invention ne sont pas limités aux caractéristiques et avantages des modes de réalisation décrits ci-après), et des dessins annexés, dans lesquels : - la figure 1 décrit l'architecture d'un système de distribution vidéo multivoies, selon un mode de réalisation particulier de l'invention ; - la figure 2a décrit l'architecture d'un noeud source (c'est-à-dire un dispositif d'émission) apparaissant sur la figure 1, selon un mode de réalisation particulier de l'invention ; - la figure 2b présente un organigramme d'un procédé de transmission d'informations de synchronisation, selon un mode de réalisation particulier de l'invention ; - la figure 3a décrit l'architecture d'un noeud destinataire (c'est-à-dire un dispositif de réception) apparaissant sur la figure 1, selon un mode de réalisation particulier de l'invention ; - la figure 3b présente un organigramme d'un procédé de réception d'informations de synchronisation, selon un mode de réalisation particulier de l'invention ; - la figure 4 présente un organigramme d'un algorithme de gestion d'informations de délimitation de trames mis en oeuvre par le noeud source, selon un mode de réalisation particulier de l'invention ; - la figure 5 présente un organigramme d'un algorithme de gestion d'informations de délimitation de trames mis en oeuvre par le noeud destinataire, selon un mode de réalisation particulier de l'invention ; - la figure 6 présente un organigramme d'un algorithme de calcul d'informations de synchronisation mis en oeuvre par le noeud source, selon un mode de réalisation particulier de l'invention ; et - la figure 7 présente un organigramme d'un algorithme d'utilisation d'informations de synchronisation mis en oeuvre par le noeud destinataire, selon un mode de réalisation particulier de l'invention. 6. DESCRIPTION DÉTAILLÉE Sur toutes les figures du présent document, les éléments identiques sont désignés par une même référence numérique. A titre illustratif uniquement, on présente dans la suite de la description un exemple d'application de l'invention pour un système vidéo multivoies, comprenant deux dispositifs d'affichage.
La figure 1 décrit l'architecture d'un système de distribution vidéo multivoies, selon un mode de réalisation particulier de l'invention. Ce système de distribution permet d'afficher au niveau de deux écrans séparés géographiquement, le contenu d'une même source vidéo.
Plus particulièrement, le système de distribution vidéo multivoies comprend : - un réseau de communication numérique synchrone 105, dont la latence de transmission entre points d'accès s'exprime en un nombre entier de cycles de référence réseau, dit cycle TDM ou cycle réseau ; - cinq points d'accès 108 à 112 ( network access points en anglais) au réseau 105 ; - un noeud source 102, aussi appelé par la suite dispositif d'émission, ( source node en anglais) comprenant une première extrémité connectée au réseau 105 via le point d'accès 108, et une seconde extrémité connectée à une source vidéo 101 (par exemple un lecteur DVD) ; - un premier noeud destinataire 103, aussi appelé par la suite dispositif de réception, ( sink node en anglais) comprenant une première extrémité connectée au réseau 105 via le point d'accès 109, et une seconde extrémité connectée à un premier dispositif d'affichage vidéo (ou écran) 104 ; et - un second noeud destinataire 106 comprenant une première extrémité connectée au réseau 105 via le point d'accès 112, et une seconde extrémité connectée à un second dispositif d'affichage vidéo 107. Comme on le verra en détail ci-après, le procédé de transmission de l'invention est mis en oeuvre par le noeud source 102, et le procédé de réception de l'invention est mis en oeuvre par les premier 103 et second 106 noeuds destinataires. Ainsi, les procédés de transmission et réception de l'invention permettent de restituer de manière synchrone au niveau des écrans 103 et 107 le contenu de la source vidéo 102. La figure 2a décrit l'architecture du noeud source 102 de la figure 1, selon un mode de réalisation particulier de l'invention. On décrit ci-après, à titre uniquement illustratif, le cas particulier où le traitement avant transmission mis en oeuvre par le noeud source 102 est une compression vidéo.
Dans le mode de réalisation illustré, le noeud source 102 comprend une interface physique HDMI (pour High Definition Multimedia Interface en anglais) 204 permettant de connecter le noeud source 102 à la source vidéo 101. Ainsi, le noeud source 102 peut recevoir des données applicatives vidéo émises par la source vidéo 101.
Le noeud source 102 comprend également un module implémentant une fonction de transport 213 ( TDM framing module en anglais) permettant l'échange de données avec le point d'accès 108 au travers d'une interface 216. Dans le présent mode de réalisation, le module implémentant la fonction de transport 213 implémente un mode de transport synchrone de type TDM. Ainsi, le réseau 105 met en oeuvre une horloge réseau qui définit des cycles réseau (cycles TDM). A chaque cycle TDM, un nombre d'intervalles temporels (ou slots , aussi appelés VC pour Virtual Channel en anglais) prédéterminé est alloué pour la transmission sur le réseau 105 de données applicatives et de contrôles issues du noeud source 102. Le nombre d'intervalles temporels est défini de telle sorte que la bande passante équivalente est suffisante à chaque cycle TDM pour transférer les données applicatives d'un noeud source à un noeud destinataire. Les données applicatives générées par le noeud source 102 sont stockées dans une mémoire tampon 211 avant d'être envoyées sur le réseau 105. Les données de contrôles générées par le noeud source 102 sont stockées dans des mémoires tampon 218 et 220 avant d'être envoyées sur le réseau 105. Ainsi, durant chaque période TDM, le module de transport 213 effectue un nombre de lectures prédéterminé des mémoires tampon 211, 218 et 220, respectivement au travers des signaux 212a à 212c, 214a à 214c, et 215a à 215c. Les données applicatives 201 issues de l'interface 204 sont d'abord stockées au rythme d'un signal d'écriture 202 dans une mémoire tampon 210. Les données applicatives 201 sont ensuite transmises vers un module de traitement vidéo 206 (par exemple un module de compression), au travers d'une interface 205, puis sont stockées au rythme d'un signal d'écriture 208 dans la mémoire tampon 211, au travers d'une interface 207. La latence maximale de traitement du module de traitement vidéo 206 est prédéterminée (mais la latence instantanée est variable). Le module de traitement vidéo 206 génère un marqueur Start_of_frame 209 permettant de délimiter les données applicatives générées entre deux trames de données successives. En d'autres termes, le marqueur Start_of_frame 209 permet de marquer la frontière entre des données appartenant à une première trame et des données appartenant à une seconde trame. La mémoire tampon 211 absorbe les variations de latence et de taille de données compressées en sortie du module de traitement vidéo 206, avant leur transmission sur le réseau. Le noeud source 102 comprend également un bloc de détection de frontière de trame 222 ( Frame Delimiter en anglais) qui est chargé de générer des informations de contrôle Sep 219. Ainsi, un protocole de délimitation de frontière de trame (ou protocole de paquétisation) est implémenté au-dessus du mode de transport TDM pour détecter et signaler un début de trame. Ces informations de contrôle Sep 219 sont ensuite utilisées par les noeuds destinataires 103 et 106 pour initialiser le processus de réception des données applicatives avant affichage. L'algorithme mis en oeuvre par le bloc de détection de frontière de trame 222 est décrit ci-après en relation avec la figure 4. Le noeud source 102 comprend en outre un bloc de calcul de décalage temporel 223 ( TDM to Vsync Offset Computation Module en anglais) qui est chargé de générer des informations de contrôle Offset 224 (aussi appelées par la suite information de synchronisation), afin d'implémenter un protocole de synchronisation de début d'affichage de données applicatives reçues au sein des noeuds destinataires 103 et 106. Le bloc de calcul de décalage temporel 223 génère les informations de contrôle Offset 224, en fonction d'évènements de début de trame V_Sync 203 et de début de cycle réseau TDM cycle 217. L'algorithme mis en oeuvre par le bloc de calcul de décalage temporel 223 est décrit ci-après en relation avec la figure 6.
La figure 2b présente un organigramme d'un procédé de transmission de l'information de synchronisation précitée (Offset), selon un mode de réalisation particulier de l'invention. Le procédé de transmission de l'invention est mis en oeuvre par le noeud source 102 décrit en relation avec la figure 2a. Le principe général consiste à calculer un décalage temporel (Offset) entre un instant de détection d'un évènement représentatif d'un début de réception d'une trame de données applicatives (impulsion Vsync) et un instant de détection d'un évènement représentatif d'un début de cycle réseau (cycle TDM) de la couche de transport. La valeur de ce décalage temporel est véhiculée au travers de l'information de synchronisation Offset précitée. Après une étape d'initialisation 250, on passe à une étape d'attente 251 et on y reste jusqu'à détection d'un évènement représentatif d'un début de réception d'une trame de données applicatives (c'est-à-dire jusqu'à détection d'une impulsion Vsync 203). Suite à la détection d'un évènement représentatif d'un début de réception d'une trame de données applicatives, on démarre simultanément un algorithme de réception et de traitement de données applicatives (par exemple un algorithme de compression vidéo) et un algorithme de calcul d'un décalage temporel. Ces deux algorithmes sont effectués en parallèle et de manière indépendante (en termes de temps de traitement) par le noeud source 102. On décrit maintenant les étapes de l'algorithme de réception et traitement des données applicatives, mis en oeuvre au sein du noeud source 102.
Suite à la détection d'un évènement représentatif d'un début de réception d'une trame de données applicatives, on passe à l'étape 252 dans laquelle les données applicatives émises par la source vidéo 101 sont reçues par le noeud source 102, au rythme d'une horloge applicative source (fournie au noeud source 102). Puis, dans une étape 253, on transmet les données applicatives reçues vers le module de traitement vidéo 206 qui est, par exemple, chargé de les compresser. Le module de traitement vidéo 206 génère en sortie des données applicatives traitées (par exemple des données compressées). Enfin, dans une étape 254, on stocke les données applicatives traitées dans la mémoire tampon 211 avant transmission sur le réseau 105 selon un mode de transmission synchrone de type TDM. Puis, on retourne à l'étape d'attente 251. Chacune des étapes 253 et 254 s'effectue avec une latence variable. En effet, la quantité de données applicatives traitées et le temps de traitement du module de traitement vidéo 206 sont corrélés au contenu des données applicatives reçues. Par ailleurs, le temps de transmission des données applicatives traitées est dépendant du taux de remplissage de la mémoire tampon 211. En effet, du fait de l'utilisation d'un mode de transfert synchrone de type TDM, la quantité de données lues durant chaque cycle réseau (cycle TDM) est constante, alors que, comme dit précédemment, la quantité de données applicatives traitées est variable et est corrélée au contenu des données applicatives reçues. Il est cependant possible de définir une borne supérieure de cette latence. En effet, lors de l'implémentation il est possible de définir d'une part la durée maximale autorisée pour le traitement d'une quantité de données de référence (par exemple un nombre constant de lignes ou de pixels, comme par exemple une tuile de 16 lignes) (ainsi, on dimensionne le nombre maximal d'opérations utiles aux calculs dans le noeud source 102) et d'autre part, la latence de démarrage de la lecture des données par la couche de transmission après réception de la première donnée issue du traitement. On note que les étapes 252 à 254 s'opèrent en boucle permanente, une fois le démarrage de la couche de transmission effectuée. On décrit désormais les étapes de l'algorithme de calcul d'un décalage temporel. Suite à la détection d'un évènement représentatif d'un début de réception d'une trame de données applicatives, on passe à l'étape 256 dans laquelle on calcule un décalage temporel entre un instant de détection d'un événement représentatif d'un début de réception d'une trame de données applicatives (détection de l'impulsion Vsync ) et un instant de début d'un cycle réseau (détection de l'impulsion TDM cycle ). Dans un mode de réalisation particulier, le cycle réseau utilisé pour le calcul du décalage temporel ( Offset ) est celui qui précède l'évènement de début de réception de trame. Enfin, dans une étape 257, on stocke le décalage temporel (calculé à l'étape 256) dans la mémoire tampon 218. Ainsi, le décalage temporel est rendu disponible pour une transmission vers le réseau au cours du prochain cycle TDM de transmission. Puis, on retourne à l'étape d'attente 251. On note que le décalage temporel (calculé à l'étape 256) représente un nombre de cycles d'horloge réseau, cette horloge réseau étant un multiple prédéterminé de la période du cycle TDM. La figure 3a décrit l'architecture du noeud destinataire 103 de la figure 1, selon un mode de réalisation particulier de l'invention. On décrit ci-après, à titre uniquement illustratif, le cas particulier où le traitement après transmission mis en oeuvre par le noeud destinataire 103 est une décompression vidéo. Dans un mode de réalisation particulier, l'architecture du noeud destinataire 106 est identique à celui du noeud destinataire 103.
Dans le mode de réalisation illustré, le noeud destinataire 103 comprend une interface physique HDMI 326 permettant de connecter le noeud destinataire 103 au dispositif d'affichage vidéo 104. Ainsi, le noeud destinataire 103 peut transmettre des données applicatives vidéo régénérées vers le dispositif d'affichage vidéo 104, qui se charge de les restituer à l'utilisateur. Le noeud destinataire 103 comprend également un module implémentant une fonction de transport 301 ( TDM framing module en anglais) permettant l'échange de données avec le point d'accès 109 au travers d'une interface 331. Dans le présent mode de réalisation, le module implémentant la fonction de transport 301 implémente un mode de transport synchrone de type TDM. A chaque cycle TDM, un nombre d'intervalles temporels (ou VC pour Virtual Channel en anglais) prédéterminé est alloué pour la réception, en provenance du réseau 105, des données applicatives (par exemple des données compressées) et de synchronisation (Offset et Sep) générées par le noeud source 102.
Après réception, les données applicatives 302 sont stockées dans une mémoire tampon 308 au rythme d'un signal d'écriture 303, puis sont envoyées vers un module de traitement vidéo 315 (par exemple un module de décompression). De la même manière que la latence maximale de traitement du module de traitement vidéo 206 (au niveau du noeud source 102) est prédéterminée, la latence maximale de traitement du module de traitement vidéo 315 (au niveau du noeud destinataire 103) est prédéterminée (mais la latence instantanée est variable). Après réception, la donnée de synchronisation Sep est stockée dans une mémoire tampon 312, au travers de l'interface 305 et au rythme du signal d'écriture 304. Au début du prochain cycle réseau (évènement TDM cycle 314), la donnée de synchronisation Sep est transmise vers un bloc de détection de frontière de trame 321 ( Frame Delimiter en anglais), au travers de l'interface 313. Après réception, la donnée de synchronisation Offset est stockée dans une mémoire tampon 328, au travers de l'interface 307 et au rythme du signal d'écriture 306. Au début du prochain cycle réseau (évènement TDM cycle 314), la donnée de synchronisation Offset est transmise vers un bloc de gestion de décalage temporel 322 ( TDM to Vsync Offset Manager en anglais), au travers de l'interface 327.
Le bloc de détection de frontière de trame 321 est chargé d'exploiter l'information de synchronisation Sep 313 délivrée en sortie de la mémoire tampon 312, afin d'initialiser le processus de réception des données applicatives avant affichage. Le bloc de détection 321 permet d'aligner le démarrage du traitement vidéo (traitement après transmission), effectué par le module de traitement vidéo 315, sur les données applicatives présentes dans la mémoire tampon 308 pour la première trame à traiter. Pour ce faire, le bloc de détection 321 reçoit et utilise l'information de contrôle Sep 313 précitée, un signal Offset_received 329 généré par le bloc de gestion de décalage temporel 322, l'évènement d'écriture Wr_D 303 de données applicatives dans la mémoire tampon 308 et le nombre Nb_words 311 de données applicatives présentes dans la mémoire tampon 308. Le bloc de détection 321 génère un signal d'effacement Reset 310 permettant de purger la mémoire tampon 308. Plus précisément, le signal d'effacement Reset permet de supprimer les données applicatives présentes dans la mémoire tampon 308 et qui n'appartiennent pas à la première trame à traiter. Le bloc de détection 321 génère également un signal Start_of_frame 320 permettant de signaler au module de traitement vidéo 315 le début d'une trame vidéo, afin que le module de traitement vidéo 315 procède au démarrage du traitement vidéo (par exemple une décompression de données). Le bloc de détection 321 permet en outre d'aligner le cadencement ultérieur du traitement vidéo (effectué par le module de traitement vidéo 315) sur les données applicatives présentes dans la mémoire tampon 308 pour les prochaines trames à traiter. Pour ce faire, le bloc de détection 321 reçoit et utilise l'information de contrôle Sep 313 précitée, et l'évènement d'écriture Wr_D 303 de données applicatives dans la mémoire tampon 308. Ainsi, le bloc de détection 321 génère et délivre le signal Start_of_frame 320 au module de traitement vidéo 315, lorsque la prochaine donnée à lire en mémoire tampon 308 correspond à une première donnée d'une prochaine trame à traiter. L'algorithme mis en oeuvre par le bloc de détection de frontière de trame 321 est décrit ci-après en relation avec la figure 5. Le module de traitement vidéo 315 est chargé, suite à la réception de chaque évènement Start_of_frame 320, de réaliser, par exemple, des opérations de décompression des données applicatives compressées, stockées dans la mémoire 308.
Les données applicatives décompressées (aussi appelées par la suite données applicative régénérées) sont ensuite stockées dans la mémoire tampon 317, au travers de l'interface 316. Le bloc de gestion de décalage temporel 322 est chargé d'exploiter l'information de synchronisation Offset 327 (véhiculant une valeur de décalage temporel) délivrée en sortie de la mémoire tampon 328 afin de synchroniser le début d'affichage des données applicative régénérées (par exemple des données décompressées) stockées dans la mémoire tampon 317. Ainsi, le bloc de gestion 322 permet de démarrer l'affichage des données vidéo uniquement après expiration d'une temporisation (ou timer ) déclenchée suite à la réception de l'information de synchronisation Offset 327. La durée de cette temporisation est fonction de l'information de synchronisation Offset et d'un nombre entier prédéterminé de cycles TDM (discuté en ci-après en relation avec la figure 3b). Sur expiration de la temporisation, le bloc de gestion 322 génère et délivre un évènement Start 323 à un module de génération d'image vidéo 324. Le bloc de gestion 322 permet en outre de générer et délivrer un signal Offset_received 329 au bloc de détection de frontière de trame 321, afin de lui signaler la détection d'un événement représentatif de la réception de l'information de synchronisation Offset 307.
Le module de génération d'image vidéo 324 est chargé de fournir à l'interface HDMI 326 l'ensemble des signaux de contrôle nécessaires au transport sur HDMI des données applicative régénérées (stockées dans la mémoire tampon 317). Ainsi, sur détection de l'évènement Start 323 (généré par le bloc de gestion 322), le module de génération d'image vidéo 324 génère de façon périodique, au rythme d'une horloge applicative réceptrice comprise dans le noeud récepteur, les signaux Vsync , Hsync et Data_enable au travers de l'interface de contrôle 325, et le signal Rd au travers de l'interface 319, pour commander la fourniture des données applicative régénérées à l'interface HDMI 326. Les données applicative régénérées sont fournies selon un format de trame vidéo prédéterminé, tel que, par exemple, celui défini dans le standard CEA (Consumer Electronics Association) référencé CEA-861D A DTV Profile for Uncompressed High Speed Digital Interfaces édité en Juillet 2006. On se réfèrera plus particulièrement à la section 4 de ce document. La figure 3b présente un organigramme d'un procédé de réception des informations de synchronisation précitées (Offset et Sep), selon un mode de réalisation particulier de l'invention. Le procédé de réception de l'invention est mis en oeuvre par les noeuds destinataires 103 et 106 décrits en relation avec la figure 3a. Le principe général consiste à initialiser une temporisation avec une durée égale à la somme du décalage temporel contenu dans l'information de synchronisation Offset (exprimé en nombre de cycles d'horloge réseau) et une durée prédéterminée (exprimée en nombre de cycles réseau). Cette durée prédéterminée est supérieure ou égale à la somme des latences maximales de traitement des données applicatives au sein du noeud source et des noeuds destinataires. Selon l'invention, les noeuds destinataires démarrent la lecture des données applicatives régénérées sur expiration de la temporisation.
Dans un premier mode de réalisation en variante, seul le noeud source possède un module de traitement, les noeuds destinataires (ou récepteurs) ne possèdent pas de module de traitement après transmission. Dans ce cas, la durée précitée est prédéterminée en fonction de la latence maximale associée au module de traitement vidéo 206 (avant transmission).
Dans un second mode de réalisation en variante, le noeud source transmet les données applicatives à une pluralité de noeuds récepteurs, qui ont des traitements après transmission qui diffèrent les uns des autres. Dans ce cas, la valeur de la durée précitée est prédéterminée en fonction de la plus grande valeur parmi les latences maximales associées à chacun des modules de traitement vidéo 315 (après transmission) des noeuds destinataires (ou récepteurs). Une telle information peut être par exemple échangée par les noeuds d'un système de communication utilisant le réseau numérique synchrone 105 dans une phase d'initialisation des communications, en utilisant par exemple des canaux dédiés au contrôle. Après une étape d'initialisation 350, on démarre simultanément un algorithme de réception et traitement de données applicatives (par exemple un algorithme de décompression vidéo) et un algorithme d'utilisation de l'information de synchronisation Offset contenant une valeur de décalage temporel. Ces deux algorithmes sont effectués en parallèle et de manière indépendante (en termes de temps de traitement) par le noeud destinataire 103. On décrit maintenant les étapes de l'algorithme de réception et traitement des données applicatives, mis en oeuvre au sein du noeud destinataire 103. Après l'étape d'initialisation 350, on passe à une étape d'attente 352 et on y reste jusqu'à détection d'une information de contrôle Sep 313. Durant cette étape 352, le noeud destinataire reçoit des données applicatives en provenance du réseau 105. Tant que l'événement Sep n'est pas détecté, les données applicatives reçues en mémoire tampon 308 durant le cycle réseau précédent sont supprimées. Suite à la détection d'un événement Sep , on passe à l'étape 353 dans laquelle les données applicatives délimitées par l'information Sep et reçues durant le cycle réseau précédent sont envoyées vers le module de traitement vidéo 315 qui est, par exemple, chargé de les décompresser. Le module de traitement vidéo 315 génère en sortie des données applicative régénérées. Enfin, dans une étape 354, on stocke les données applicatives régénérées dans la mémoire tampon 317 avant transmission vers le dispositif d'affichage vidéo 104, par exemple, selon des critères temporels définis par le standard CEA-861D précité (se référer plus particulièrement à la section 4 de ce document).
Chacune des étapes 353 et 354 s'effectue avec une latence variable. En effet, le temps de traitement du module de traitement vidéo 315 varie en fonction du contenu et de la taille des données applicatives à traiter. Par ailleurs, le temps d'attente en mémoire tampon 308 est dépendant de la taille des données élémentaires telles que traitées par le module de traitement vidéo 206 (par exemple la taille après compression d'un ensemble de lignes ou de pixels). En effet, du fait de l'utilisation d'un mode de transfert synchrone de type TDM, la quantité de données lues durant chaque cycle réseau (cycle TDM) est constante, alors que, comme dit précédemment, la quantité de données applicatives à traiter par le module de traitement vidéo 315 est variable et est corrélée au contenu des données applicatives reçues.
Il est cependant possible de définir une borne supérieure de cette latence. En effet, lors de l'implémentation il est possible de définir d'une part la durée maximale autorisée pour le traitement d'une quantité de données de référence (par exemple un nombre constant de lignes ou de pixels compressés) (ainsi, on dimensionne le nombre maximal d'opérations utiles aux calculs dans le noeud destinataire 103) et d'autre part, la durée maximale d'attente en mémoire tampon avant exécution des opérations de traitement par le module de traitement vidéo 315 (cette durée maximale est calculée en fonction du nombre maximal de cycles réseau nécessaires à la transmission de la taille maximale d'une quantité de données de référence, comme par exemple une tuile de 16 lignes compressée). On note que les étapes 352 à 354 s'opèrent en boucle permanente, une fois que le module de traitement vidéo 315 est activé.
On décrit désormais les étapes de l'algorithme d'utilisation de l'information de synchronisation Offset . Après l'étape d'initialisation 350, on passe à une étape d'attente 351 et on y reste jusqu'à détection d'une information de synchronisation Offset contenant une valeur de décalage temporel.
Suite à la détection d'une information de synchronisation Offset , on passe à l'étape 355 dans laquelle on initialise une première temporisation avec une durée supérieure ou égale à la somme des latences bornées des étapes 252 à 254 (décrites en relation avec la figure 2b) et des étapes 353 et 354 (décrites en relation avec la figure 3b). En d'autres termes, cette première temporisation est initialisée avec une durée (exprimée en nombre entiers de cycles réseau TDM) supérieure ou égale à la somme des différentes latences de traitement avant et après transmission mis en oeuvre dans les différents noeuds du réseau. Après l'étape d'initialisation 355, on déclenche la première temporisation, puis on passe à une étape d'attente 356 et on y reste jusqu'à détection de l'expiration de la première temporisation. Suite à la détection de l'expiration de la première temporisation, on passe à l'étape 357 dans laquelle on initialise une seconde temporisation avec la valeur du décalage temporel (exprimée en nombre de cycles d'horloge réseau) contenue dans l'information de synchronisation Offset .
Après l'étape d'initialisation 357, on déclenche la seconde temporisation, puis on passe à une étape d'attente 358 et on y reste jusqu'à détection de l'expiration de la seconde temporisation. Suite à la détection de l'expiration de la seconde temporisation, on passe à l'étape 359 dans laquelle on lie les données applicatives régénérées stockées (à l'étape 354) dans la mémoire tampon 317. Par exemple, cette opération de s'opère en boucle selon les critères définis dans le standard CEA-861D précité (se référer plus particulièrement à la section 4 de ce document). La figure 4 présente un organigramme d'un algorithme de gestion d'informations de délimitation de trames, selon un mode de réalisation particulier de l'invention. Cet algorithme est mis en oeuvre par le bloc de détection de frontière de trame 222 ( Frame Delimiter en anglais) compris dans le noeud source 102 décrit en relation avec la figure 2a. Le principe consiste à insérer dans un cycle TDM courant (dans un canal de contrôle dédié) une information de contrôle Sep 219, lorsque dans ce même cycle TDM courant on transporte des données applicatives appartenant à deux trames compressées successives. En d'autres termes, l'information de contrôle Sep 219 permet, à la réception des données, de distinguer les données appartenant à une trame courante et les données appartenant à une trame précédant la trame courante. Ainsi, cette information de contrôle Sep 219 permet de donner une information sur la présence, dans le cycle TDM courant, d'un nombre N de données applicatives appartenant à une trame précédant la trame courante, avec N O. Il est tout aussi concevable de donner une information sur la présence, dans le cycle TDM courant, d'un nombre Nb de données applicatives appartenant à une trame Fr2 suivant une trame Fr2 courante, avec Nb 0, des données applicatives issues des trames Fr1 et Fr2 étant transportées via le réseau dans un même cycle TDM. Il est aussi concevable que l'information de contrôle Sep 219 soit transmise via le réseau dans un cycle TDM différent que les données applicatives auxquelles cette information de contrôle se réfère. Il est important que cette information soit disponible auprès du bloc de détection de frontière de trame 321 lorsque les données applicatives auxquelles cette information de contrôle se réfère sont à traiter à réception, selon l'algorithme décrit en relation avec la figure 5. Après une étape d'initialisation 400, on passe aux étapes de détection 401 et 403. Ces étapes 401 et 403 sont effectuées en parallèle par le bloc de détection de frontière de trame 222. A l'étape 401, on détecte un marqueur Start_of_frame 209 permettant de délimiter deux trames de données successives (déterminer la frontière entre les trames). Dans l'affirmative à l'étape 401, on passe à l'étape 402 dans laquelle on initialise une variable interne N avec le nombre Nb_words de données applicatives traitées présentes dans la mémoire tampon 211, puis on passe à l'étape 403. Dans la négative à l'étape 401, on passe directement à l'étape 403. A l'étape 403, on détecte un début de cycle TDM (détection de l'impulsion TDM cycle ). Dans la négative à l'étape 403, on retourne aux étapes de détection 401 et 403. Dans l'affirmative à l'étape 403, on passe à l'étape 404 dans laquelle on détecte si, lors du cycle TDM courant, les données applicatives traitées présentes dans la mémoire tampon 211, avant changement de trame compressée, seront lues par le module de transport 213 lors du prochain cycle TDM. En d'autres termes, à l'étape 404 on compare la variable interne N à un nombre de lectures prédéfinies que peut effectuer le module de transport 213, ce qui correspond à la partie utile qui peut être émise pendant un cycle TDM ( TDM payload en anglais). Sur détection que la variable interne N est supérieure ou égale au nombre de lectures prédéfinies TDM payload que peut effectuer le module de transport 213 (en d'autres termes, si la dernière donnée applicative traitée de la trame précédente n'est pas transportée dans le cycle TDM courant), on passe à l'étape 405 dans laquelle la variable interne N est diminuée du nombre de lectures prédéfinies TDM payload , de manière à mémoriser l'index de cette dernière donnée applicative traitée au moment du prochain évènement de début de cycle TDM. Puis, on retourne aux étapes de détection 401 et 403. Sur détection que la variable interne N est inférieure ou égale au nombre de lectures prédéfinies TDM payload que peut effectuer le module de transport 213 (en d'autres termes, si la dernière donnée applicative traitée de la trame précédente est transportée dans le cycle TDM courant), on passe à l'étape 406 dans laquelle on génère l'information de contrôle Sep . Puis, à l'étape 407 on affecte la valeur N à l'information de contrôle Sep et on écrit l'information de contrôle Sep dans la mémoire tampon 220, pour qu'elle soit lue par le module de transport 213, pendant le cycle TDM courant. Enfin, on retourne aux étapes de détection 401 et 403. La figure 5 présente un organigramme d'un algorithme de gestion d'informations de délimitation de trames, selon un mode de réalisation particulier de l'invention. Cet algorithme est mis en oeuvre par le bloc de détection de frontière de trame 321 compris dans chaque noeud destinataire décrit en relation avec la figure 3a. Le principe consiste à initialiser le démarrage des opérations de traitement (par exemple des opérations de décompression) du module de traitement vidéo 315 sur le début d'une trame reçue, puis restituer de manière cohérente une information de début de trame reçue suivante au regard de la transmission des données applicatives délivrées en sortie de la mémoire tampon 308. Après une étape d'initialisation 500, on passe à une étape 516 dans laquelle on détecte un évènement représentatif d'une réception d'une information de synchronisation Offset . Dans la négative à l'étape 516, la mémoire tampon 308 est vidée de son contenu. Dans l'affirmative à l'étape 516, on passe à une étape d'attente 501 et on y reste jusqu'à détection d'un début de cycle TDM. Suite à la détection d'un début de cycle TDM, on passe à l'étape 502 dans laquelle on détecte si une information Sep de contrôle de début de trame est présente parmi les données reçues du cycle TDM précédent. Dans la négative à l'étape 502, on passe à l'étape 503 dans laquelle les données applicatives présentes dans la mémoire tampon 308 sont effacées, puis on retourne à l'étape 501. Dans l'affirmative à l'étape 502, on passe à l'étape 504 dans laquelle on supprime les X premières données présentes dans la mémoire tampon 308. Le nombre X est égal à l'information de contrôle Sep . Ainsi, on garantit que la première donnée conservée correspond à la première donnée d'une trame applicative.
A l'étape 505, on initialise une variable interne N avec le nombre Nb_words de données applicatives présentes dans la mémoire tampon 308.
A l'étape 506, on génère un signal Start_of_frame 320 permettant de signaler au module de traitement vidéo 315 le démarrage du traitement vidéo (par exemple une décompression de données). A l'étape 507, on remet à zéro une variable interne Nb_written .
Les étapes suivantes sont relatives à une phase d'alignement de la génération du signal Start_of_frame sur la première donnée pour chacune des trames ultérieures et délivrées en sortie de la mémoire tampon 308. A l'étape 508, on détecte un évènement représentatif d'une fin de cycle TDM courant.
Dans la négative à l'étape 508, le nombre de données applicatives écrites en mémoire tampon 308 est calculé au travers de l'incrément (étape 510) de la variable interne Nb written sur événement Wr D d'écriture de donnée dans la mémoire tampon 308 (étape 509). Suite à la détection d'un évènement représentatif d'une fin de cycle TDM courant, on passe à l'étape 511 dans laquelle on initialise la variable interne N avec le nombre total de données applicatives présentes dans la mémoire tampon 308, et on calcule le nombre R de données applicatives résiduelles écrites dans la mémoire tampon 308 durant le cycle TDM précédent. On entend par données applicatives résiduelles les données reçues durant le cycle TDM précédent et présentes dans la mémoire tampon 308, c'est-à-dire les données restant à lire de la mémoire tampon 308 pour atteindre la fin de trame en cours de traitement par le module de traitement vidéo 315. A l'étape 512, on détecte si une information Sep est reçue au cours du cycle TDM. Dans la négative à l'étape 512, on retourne à l'étape 507. Ainsi on réinitialise le calcul pour le cycle TDM qui vient de démarrer. Dans l'affirmative à l'étape 512, on passe à une étape d'attente 513 et on y reste jusqu'à détection d'un signal Rd _D 330 généré par le module de traitement vidéo 315. Suite à la détection d'un signal Rd_D , on passe à l'étape 514 dans laquelle on décrémente d'une unité le nombre R . Ainsi, le nombre R est décrémenté d'une unité à chaque lecture d'une donnée applicative.
Enfin, à l'étape 515 on détecte si le nombre R est nul. Si le nombre R est nul, cela signifie que la donnée lue correspond à la dernière donnée de la trame courante, alors on retourne à l'étape 506, sinon on retourne à l'étape 513. La figure 6 présente un organigramme d'un algorithme de calcul d'un décalage temporel (qui sera véhiculé au travers de l'information de synchronisation Offset ), selon un mode de réalisation particulier de l'invention. Cet algorithme est mis en oeuvre par le bloc de calcul de décalage temporel 223 compris dans le noeud source 102 décrit en relation avec la figure 2a. Le principe consiste, pour chaque trame vidéo en provenance de l'interface HDMI 204, de mesurer le décalage temporel entre l'évènement de début de trame (fournit via le signal Vsync 203) et l'évènement de début de cycle TDM (fournit via le signal TDM cycle 217). Cette information de décalage temporel est ensuite directement écrite en mémoire tampon 218 pour être transportée, au cours du cycle TDM suivant, sur le réseau 105, et ce indépendamment du temps de traitement des données applicatives dans le module de traitement vidéo 206. Après une étape d'initialisation 600, on passe à une étape d'attente 601 et on y reste jusqu'à détection d'un début de cycle TDM. Suite à la détection d'un début de cycle TDM, on passe à l'étape 602 dans laquelle on remet à zéro une variable de comptage Counter , cette variable étant ensuite automatiquement incrémentée d'une unité à chaque période de l'horloge réseau. A l'étape 603, on détecte un début de cycle TDM. Dans l'affirmative à l'étape 603, on retourne à l'étape 602. Dans la négative à l'étape 603, on passe à une étape 604 dans laquelle on détecte un évènement représentatif d'un début de réception d'une trame de données applicatives (impulsion Vsync). Dans la négative à l'étape 604, on retourne à l'étape 603. Suite à la détection d'un évènement représentatif d'un début de réception d'une trame de données applicatives (impulsion Vsync), on passe à l'étape 605 dans laquelle on affecte la valeur de la variable de comptage Counter au décalage temporel Offset .
A l'étape 606, on écrit le décalage temporel Offset dans la mémoire tampon 218. Ainsi, le décalage temporel est rendu disponible pour une transmission sur le réseau 105, au cours du prochain cycle TDM. Puis, on retourne à l'étape 602. La figure 7 présente un organigramme d'un algorithme d'utilisation d'une information de synchronisation Offset (contenant une valeur de décalage temporel), selon un mode de réalisation particulier de l'invention. Cet algorithme est mis en oeuvre par le bloc de gestion de décalage temporel 322 compris dans chaque noeud destinataire décrit en relation avec la figure 3a. Le principe consiste à gérer une temporisation entre l'instant de réception de l'information de synchronisation Offset et l'instant de génération de la commande de démarrage de l'affichage. Cette temporisation s'exprime comme la somme d'un nombre entier de cycles TDM prédéterminé et de la valeur du décalage temporel contenue dans l'information de synchronisation Offset . Comme expliqué précédemment, la première partie de cette temporisation est fonction des temps de latence associé aux traitements avant et après transmission dans les modules de traitement vidéo 206 et 315. Par la nature variable du temps de traitement des modules de traitement vidéo 206 et 315, le temps global de transport d'une donnée applicative, entre son instant d'arrivée au niveau du signal 201 et son instant d'écriture en mémoire tampon 317, subit de fortes variations. Cette temporisation va permettre de rendre ces variations transparentes vis-à-vis du mécanisme de synchronisation du temps de présentation des images vidéo (c'est-à-dire des données applicatives régénérées par le noeud destinataire), et permettre ainsi la mise en place dans le réseau 105 de noeuds de communications qui implémentent des traitements vidéo hétérogènes. Après une étape d'initialisation (étape 700), les signaux Offset_received et Start sont inactifs. Une variable interne Nb TDM d'un compteur de cycles (destiné à compter un nombre de cycles TDM) est mise à zéro (étape 701). Lorsque dans un cycle TDM, l'information de synchronisation Offset est détectée au travers du signal 327 (étape 702), le signal Offset_received change d'état (étape 703) pour autoriser le démarrage des opérations d'alignement de trame réalisées par le bloc de détection 321. Ces opérations consistent à aligner le démarrage du traitement vidéo, effectué par le module de traitement vidéo 315, sur les données applicatives présentes dans la mémoire tampon 308. A chaque détection de début de cycle TDM 314, la variable interne Nb TDM est incrémentée d'une unité (étape 705), puis comparée à un seuil prédéterminé (étape 706). La valeur de ce seuil est prédéterminée en fonction des latences maximales associées aux modules de traitement vidéo 206 et 315. En d'autres termes, la valeur du seuil est calculée comme étant la somme des latences maximales de traitements maximisée à un nombre entier de cycles TDM. Aussi, lorsque la variable interne Nb TDM est égale à la valeur du seuil prédéterminée, la mémoire tampon 317 contient forcément la première donnée applicative de la première trame à régénérer en direction de l'interface de sortie HDMI 326. En effet, le temps de traversée d'une donnée de contrôle ou d'une donnée applicative est constant au travers du réseau 105, puisque le réseau 105 est par construction synchrone. Ceci permet de garantir un même temps de transfert (qui est un multiple entier de cycles TDM) pour chaque intervalle temporel (ou time slots en anglais). Par ailleurs, on note que les informations de synchronisation Offset ne subissent aucun traitement, et sont envoyées sur le réseau pendant le cycle TDM qui suit le cycle TDM de calcul de la valeur du décalage temporel. On note également que les données applicatives subissent, en plus de la latence du réseau 105, une latence de traitement variable au sein du noeud source et au sein du noeud destinataire. Lorsque la variable interne Nb TDM est égale à la valeur du seuil prédéterminée, un compteur interne Counter est initialisé (étape 707) et s'incrémente au cours du cycle TDM, au rythme de la période de l'horloge réseau, c'est-à-dire un sous-multiple de la période de référence TDM qui est commune à l'ensemble des noeuds du réseau 105 par construction. Lorsque la valeur du compteur Counter est égale à la valeur du décalage temporel contenue dans l'information de synchronisation Offset (étape 708), le signal Start 323 est activé (étape 709), puis envoyé vers le module de régénération d'affichage 324, afin de déclencher la génération de début d'image vers l'interface de sortie HDMI 326.
Puis, le rythme de génération des trames de données applicatives par le module 324 est effectué avec les mêmes paramètres temporels que pour les trames sources. On note qu'au cours de la régénération des trames de données applicatives, la mémoire tampon 317 absorbe les variations de latence de traitement en sortie de module de traitement vidéo 315.
Claims (20)
- REVENDICATIONS1. Procédé de synchronisation d'une transmission de trames de données applicatives fournies à un dispositif d'émission, la transmission s'effectuant entre ledit dispositif d'émission (102) et au moins un dispositif de réception (103) via un réseau de communication synchrone (105) mettant en oeuvre un cadencement qui définit un cycle réseau, caractérisé en ce que, sur détection d'un premier événement représentatif d'un début d'une trame de données applicatives (Vsync), ledit dispositif d'émission effectue des étapes consistant à : - déterminer (256) une information (Offset) de décalage temporel entre l'instant de détection dudit premier événement (Vsync) et un instant de référence d'un cycle réseau (217) ; - transmettre (257), via ledit réseau, ladite information de décalage temporel, pendant un premier cycle réseau prédéterminé ; - traiter (254) pour transmission via ledit réseau, dans un lapse de temps borné, un ensemble de données applicatives à compter du début de la trame ; - transmettre, via ledit réseau, lesdites données applicatives traitées, à compter d'un second cycle réseau prédéterminé ultérieur audit premier cycle réseau prédéterminé. 20
- 2. Procédé selon la revendication 1, caractérisé en ce que l'étape consistant à transmettre lesdites données applicatives traitées comprend des étapes consistant à : - déterminer (406) une présence, parmi lesdites données applicatives traitées, de données applicatives appartenant à des trames distinctes ; - transmettre, via ledit réseau, une information de contrôle (Sep) permettant de 25 distinguer à laquelle desdites trames distinctes chacune desdites données applicatives appartient.
- 3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que ledit premier cycle réseau prédéterminé est le cycle réseau suivant la détection dudit premier événement. 30
- 4. Procédé de synchronisation d'une transmission de trames de données applicatives à régénérer par au moins un dispositif de réception, la transmission 15s'effectuant entre un dispositif d'émission (102) et ledit ou lesdits dispositifs de réception (103) via un réseau de communication synchrone (105) mettant en oeuvre un cadencement qui définit un cycle réseau, caractérisé en ce qu'un dispositif de réception effectue des étapes consistant à : - recevoir (351) une information (Offset) de décalage temporel, pendant un premier cycle réseau ; - déterminer un instant de génération (Vsync) d'un début de trame de données applicatives, à compter d'un instant de référence dudit premier cycle réseau auquel sont ajoutés un premier décalage défini par ladite information de décalage temporel et un second décalage fonction d'un temps maximum prédéfini pour que le dispositif d'émission effectue un traitement pour transmission d'une trame de données applicatives ; - recevoir, à compter d'un second cycle réseau ultérieur au premier cycle réseau, des données applicatives en provenance du dispositif d'émission ; - traiter, pour régénération des trames de données applicatives par le dispositif de réception, les données applicatives reçues ; - générer une trame de données applicatives à compter dudit instant de génération (Vsync) déterminé.
- 5. Procédé selon la revendication 4, caractérisé en ce que ledit second décalage est 20 en outre fonction d'un temps maximum prédéfini pour qu'un dispositif de réception traite pour régénération une trame de données applicatives à partir de données applicatives reçues du dispositif d'émission.
- 6. Procédé selon la revendication 5, caractérisé en ce que, ladite transmission s'effectuant à destination d'une pluralité de dispositifs de réception, il comprend une 25 étape consistant à : - obtenir, de chaque autre dispositif de réception de ladite pluralité de dispositifs de réception, une information de durée maximum prédéfinie pour que ledit autre dispositif de réception génère une trame de données applicatives à partir de données applicatives reçues du dispositif d'émission ; 30 et en ce que ledit second décalage est fonction de la plus grande valeur parmi les durées dont une information a été obtenue. 10 15
- 7. Procédé selon l'une quelconque des revendications 4 à 6, caractérisé en ce que, si ladite information de décalage temporel n'est pas reçue, alors ledit dispositif de réception effectue une étape consistant à supprimer (517) chaque donnée applicative reçue du dispositif d'émission.
- 8. Procédé selon l'une quelconque des revendications 4 à 7, caractérisé en ce que ledit dispositif de réception effectue en outre des étapes consistant à : - recevoir (502) une information de contrôle (Sep) permettant de distinguer des données applicatives reçues dans un même cycle réseau et appartenant à des trames de données applicatives distinctes ; - générer des trames de données applicatives distinctes en fonction de l'information de contrôle.
- 9. Procédé selon la revendication 8, caractérisé en ce que, suite à la réception par le dispositif de réception de l'information de décalage temporel et tant que ladite information de présence n'est pas reçue, ledit dispositif de réception effectue une étape consistant à supprimer (503) les données applicatives reçues en provenance du dispositif d'émission, et à générer la première trame de données applicatives en fonction de l'information de contrôle.
- 10. Produit programme d'ordinateur, téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé de transmission selon au moins une des revendications 1 à 3 et/ou du procédé de réception selon au moins une des revendications 4 à 9, lorsque ledit programme est exécuté sur un ordinateur.
- 11. Moyen de stockage, éventuellement totalement ou partiellement amovible, lisible par un ordinateur, stockant un jeu d'instructions exécutables par ledit ordinateur pour mettre en oeuvre le procédé de transmission selon au moins une des revendications 1 à 3 et/ou le procédé de réception selon au moins une des revendications 4 à 9.
- 12. Dispositif d'émission (102) comprenant des moyens de synchronisation d'une transmission de trames de données applicatives fournies audit dispositif d'émission, la transmission s'effectuant entre ledit dispositif d'émission et au moins un dispositif de réception (103) via un réseau de communication synchrone (105) mettant en oeuvre uncadencement qui définit un cycle réseau, ledit dispositif d'émission étant caractérisé en ce qu'il comprend les moyens suivants, activés sur détection d'un premier événement représentatif d'un début d'une trame de données applicatives (Vsync) : - des moyens de détermination d'une information (Offset) de décalage temporel entre l'instant de détection dudit premier événement (Vsync) et un instant de référence d'un cycle réseau (217) ; - des moyens de transmission permettant de transmettre, via ledit réseau, ladite information de décalage temporel, pendant un premier cycle réseau prédéterminé ; - des moyens de traitement pour transmission via ledit réseau, dans un lapse de temps borné, d'un ensemble de données applicatives à compter du début de la trame ; - des moyens de transmission permettant de transmettre, via ledit réseau, lesdites données applicatives traitées, à compter d'un second cycle réseau prédéterminé ultérieur audit premier cycle réseau prédéterminé.
- 13. Dispositif d'émission selon la revendication 12, caractérisé en ce que lesdits moyens de transmission desdites données applicatives traitées comprennent : - des moyens de détermination d'une présence, parmi lesdites données 20 applicatives traitées, de données applicatives appartenant à des trames distinctes ; - des moyens de transmission permettant de transmettre, via ledit réseau, une information de contrôle (Sep) permettant de distinguer à laquelle desdites trames distinctes chacune desdites données applicatives appartient. 25
- 14. Dispositif d'émission selon l'une quelconque des revendications 12 et 13, caractérisé en ce que ledit premier cycle réseau prédéterminé est le cycle réseau suivant la détection dudit premier événement.
- 15. Dispositif de réception (103) comprenant des moyens de synchronisation d'une transmission de trames de données applicatives à régénérer par ledit dispositif de 30 réception, la transmission s'effectuant entre un dispositif d'émission (102) et ledit dispositif de réception (103) via un réseau de communication synchrone (105) mettant 10 15en oeuvre un cadencement qui définit un cycle réseau, ledit dispositif de réception étant caractérisé en ce qu'il comprend : - des moyens de réception d'une information (Offset) de décalage temporel, pendant un premier cycle réseau ; - des moyens de détermination permettant de déterminer un instant de génération (Vsync) d'un début de trame de données applicatives, à compter d'un instant de référence dudit premier cycle réseau auquel sont ajoutés un premier décalage défini par ladite information de décalage temporel et un second décalage fonction d'un temps maximum prédéfini pour que le dispositif d'émission effectue un traitement pour transmission d'une trame de données applicatives ; - des moyens de réception permettant de recevoir, à compter d'un second cycle réseau ultérieur au premier cycle réseau, des données applicatives en provenance du dispositif d'émission ; - des moyens de traitement des données applicatives reçues, pour régénération des trames de données applicatives ; - des moyens de génération d'une trame de données applicatives à compter dudit instant de génération (Vsync) déterminé.
- 16. Dispositif de réception selon la revendication 15, caractérisé en ce que ledit second décalage est en outre fonction d'un temps maximum prédéfini pour que le 20 dispositif de réception traite pour régénération une trame de données applicatives à partir de données applicatives reçues du dispositif d'émission.
- 17. Dispositif de réception selon la revendication 16, caractérisé en ce que, ladite transmission s'effectuant à destination d'une pluralité de dispositifs de réception, il comprend : 25 - des moyens d'obtention, de chaque autre dispositif de réception de ladite pluralité de dispositifs de réception, d'une information de durée maximum prédéfinie pour que ledit autre dispositif de réception génère une trame de données applicatives à partir de données applicatives reçues du dispositif d'émission ; 30 et en ce que ledit second décalage est fonction de la plus grande valeur parmi les durées dont une information a été obtenue. 10 15
- 18. Dispositif de réception selon l'une quelconque des revendications 15 à 17, caractérisé en ce qu'il comprend des moyens de suppression permettant de supprimer chaque donnée applicative reçue du dispositif d'émission, lesdits moyens de suppression étant activés si ladite information de décalage temporel n'est pas reçue.
- 19. Dispositif de réception selon l'une quelconque des revendications 15 à 18, caractérisé en ce qu'il comprend : - des moyens de réception d'une information de contrôle (Sep) permettant de distinguer des données applicatives reçues dans un même cycle réseau et appartenant à des trames de données applicatives distinctes ; - des moyens de génération de trames de données applicatives distinctes en fonction de l'information de contrôle.
- 20. Dispositif de réception selon la revendication 19, caractérisé en ce qu'il comprend les moyens suivants, activés suite à la réception par le dispositif de réception de l'information de décalage temporel et tant que ladite information de présence n'est pas reçue : - des moyens de suppression permettant de supprimer les données applicatives reçues en provenance du dispositif d'émission ; - des moyens de génération de la première trame de données applicatives en fonction de l'information de contrôle.20
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0950073A FR2940873B1 (fr) | 2009-01-07 | 2009-01-07 | Procede de synchronisation d'une transmission de trames de donnees applicatives, dispositifs d'emission et de reception, produit programme d'ordinateur et moyen de stockage correspondants |
US12/683,410 US8369354B2 (en) | 2009-01-07 | 2010-01-06 | Method for synchronizing a transmission of applications data frames, corresponding sender and receiver devices and storage means |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0950073A FR2940873B1 (fr) | 2009-01-07 | 2009-01-07 | Procede de synchronisation d'une transmission de trames de donnees applicatives, dispositifs d'emission et de reception, produit programme d'ordinateur et moyen de stockage correspondants |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2940873A1 true FR2940873A1 (fr) | 2010-07-09 |
FR2940873B1 FR2940873B1 (fr) | 2012-11-02 |
Family
ID=40933281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0950073A Expired - Fee Related FR2940873B1 (fr) | 2009-01-07 | 2009-01-07 | Procede de synchronisation d'une transmission de trames de donnees applicatives, dispositifs d'emission et de reception, produit programme d'ordinateur et moyen de stockage correspondants |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2940873B1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3128341A1 (fr) * | 2021-10-20 | 2023-04-21 | Renault S.A.S | Dispositif d’estimation de la latence globale dans un réseau de données, procédé, réseau de données et véhicule associés |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060143335A1 (en) * | 2004-11-24 | 2006-06-29 | Victor Ramamoorthy | System for transmission of synchronous video with compression through channels with varying transmission delay |
WO2008138047A1 (fr) * | 2007-05-11 | 2008-11-20 | Audinate Pty Limited | Systèmes, procédés et supports lisibles par ordinateur permettant de configurer une latence de récepteur |
EP2083526A1 (fr) * | 2008-01-24 | 2009-07-29 | Canon Kabushiki Kaisha | Procédé de synchronisation de signaux d'horloges applicatifs dans un réseau de communications synchrones, dispositifs émetteurs et récepteurs correspondants, produit de programme informatique et moyens de stockage lisibles par un ordinateur |
-
2009
- 2009-01-07 FR FR0950073A patent/FR2940873B1/fr not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060143335A1 (en) * | 2004-11-24 | 2006-06-29 | Victor Ramamoorthy | System for transmission of synchronous video with compression through channels with varying transmission delay |
WO2008138047A1 (fr) * | 2007-05-11 | 2008-11-20 | Audinate Pty Limited | Systèmes, procédés et supports lisibles par ordinateur permettant de configurer une latence de récepteur |
EP2083526A1 (fr) * | 2008-01-24 | 2009-07-29 | Canon Kabushiki Kaisha | Procédé de synchronisation de signaux d'horloges applicatifs dans un réseau de communications synchrones, dispositifs émetteurs et récepteurs correspondants, produit de programme informatique et moyens de stockage lisibles par un ordinateur |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3128341A1 (fr) * | 2021-10-20 | 2023-04-21 | Renault S.A.S | Dispositif d’estimation de la latence globale dans un réseau de données, procédé, réseau de données et véhicule associés |
WO2023066699A1 (fr) * | 2021-10-20 | 2023-04-27 | Renault S.A.S. | Dispositif d'estimation de la latence globale dans un réseau de données, procédé, réseau de données et véhicule associés |
Also Published As
Publication number | Publication date |
---|---|
FR2940873B1 (fr) | 2012-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1432250B1 (fr) | Procédé et dispositif de synchronisation de la présentation de Trames audio et/ou de Trames video | |
FR2964235A1 (fr) | Procede de synchronisation, systeme et dispositif correspondants | |
FR2926424A1 (fr) | Procede d'acces a un medium dans un reseau de communication synchrone par un noeud emetteur, produit programme d'ordinateur, moyen de stockage et noeud emetteur. | |
FR2922066A1 (fr) | Procede de gestion de la bande passante dans un reseau de communication, produit programme d'ordinateur, moyen de stockage et dispositifs correspondants | |
FR2915338A1 (fr) | Procede d'emission et de reception de contenus de donnees dans un reseau de communication, produit programme d'ordinateur, moyen de stockage et dispositifs correspondants | |
EP1224810A1 (fr) | Creation d'un signal de trucage pour enregistreur video numerique | |
FR2960320A1 (fr) | Procede de gestion d'une transmission de donnees depuis un dispositif emetteur, produit programme d'ordinateur, moyen de stockage et dispositif emetteur correspondants | |
FR2850820A1 (fr) | Dispositif et procede de synchronisation en lecture de donnees video et de donnees annexes et produits associes | |
FR2797549A1 (fr) | Procede et dispositif de synchronisation d'un decodeur mpeg | |
EP0756394A2 (fr) | Procédé et dispositif de synchronisation d'horloges d'encodeurs et décodeurs numériques | |
EP3114598B1 (fr) | Procédé de fourniture, à un terminal, de contenus multimédias protégés | |
FR2926937A1 (fr) | Procedes de synchronisation d'horloges applicatives dans un reseau de communication synchrone, dispositifs d'emission et de reception, produit programme d'ordinateur et moyen de stockage correspondants. | |
FR2866183A1 (fr) | Procedes d'emission et de reception d'une animation, et dispositifs associes | |
FR2940873A1 (fr) | Procede de synchronisation d'une transmission de trames de donnees applicatives, dispositifs d'emission et de reception, produit programme d'ordinateur et moyen de stockage correspondants | |
FR2931021A1 (fr) | Procede de synchronisation d'un flux de donnees transmis sur un reseau de communication synchrone, produit programme d'ordinateur, moyen de stockage et dispositif recepteur correspondants. | |
FR2980662A1 (fr) | Methode d'enregistrement d'un contenu dans un fichier sur un serveur et dispositif correspondant | |
FR2790892A1 (fr) | Procede et dispositif de controle de la synchronisation entre deux bus de communication serie d'un reseau | |
EP3317799B1 (fr) | Procédé de fourniture d'un contenu multimédia protégé | |
FR2940874A1 (fr) | Procede de synchronisation d'une transmission de trames de donnees applicatives, dispositifs d'emission et de reception, produit programme d'ordinateur et moyen de stockage correspondants | |
FR2811846A1 (fr) | Procede et dispositif de lecture de donnees enregistrees mpeg transmises sur un bus ieee 1394 | |
FR2964234B1 (fr) | Procede de controle du rythme d'affichage d'un signal video | |
EP2536075B1 (fr) | Procédé de demande d'accès par un terminal à un contenu numérique apte à être téléchargé depuis un réseau. | |
EP1245099B1 (fr) | Dispositif de reception de paquets | |
WO2006021664A1 (fr) | Procede et appareil de lecture de donnees reçues sous forme protegee, et outil de retrait de protection correspondant | |
FR2957743A1 (fr) | Procede de gestion d'une transmission de donnees par un dispositif emetteur, avec gestion de codage source, produit programme d'ordinateur, moyen de stockage et dispositif emetteur correspondants |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 8 |
|
PLFP | Fee payment |
Year of fee payment: 9 |
|
PLFP | Fee payment |
Year of fee payment: 10 |
|
PLFP | Fee payment |
Year of fee payment: 12 |
|
ST | Notification of lapse |
Effective date: 20210905 |