FR2964234A1 - Method for controlling display rate of video signal issued from e.g. Blu-Ray reader of wireless communication system, involves adapting number of inactive lines in image of video signal at receiving device according to calculated drift - Google Patents

Method for controlling display rate of video signal issued from e.g. Blu-Ray reader of wireless communication system, involves adapting number of inactive lines in image of video signal at receiving device according to calculated drift Download PDF

Info

Publication number
FR2964234A1
FR2964234A1 FR1003492A FR1003492A FR2964234A1 FR 2964234 A1 FR2964234 A1 FR 2964234A1 FR 1003492 A FR1003492 A FR 1003492A FR 1003492 A FR1003492 A FR 1003492A FR 2964234 A1 FR2964234 A1 FR 2964234A1
Authority
FR
France
Prior art keywords
signal
video
image
module
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1003492A
Other languages
French (fr)
Other versions
FR2964234B1 (en
Inventor
Kolli Yacine Smail El
Laurent Frouin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR1003492A priority Critical patent/FR2964234B1/en
Publication of FR2964234A1 publication Critical patent/FR2964234A1/en
Application granted granted Critical
Publication of FR2964234B1 publication Critical patent/FR2964234B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/12Synchronisation between the display unit and other units, e.g. other display units, video-disc players
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/04Synchronising
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/16Use of wireless transmission of display information
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • G09G5/008Clock recovery

Abstract

The method involves calculating a drift (800) between a control signal (SV1) i.e. vertical synchronization signal, and another control signal i.e. horizontal synchronization signal (SHL) at an image rate of a receiving device. A number of inactive lines in an image of a video signal at a level of the receiving device is adapted according to the calculated drift, where the image contains active lines including information on pixels to be displayed by a display device i.e. screen. A display rate of the video signal is controlled by a horizontal signal at the image rate of the receiving device. Independent claims are also included for the following: (1) a device for controlling a display rate of a video signal from a video source, comprising a calculation unit (2) a communication system including a video source (3) a computer loadable program comprising a set of instructions to perform a method for controlling the display rate of a video signal issued from a video source.

Description

La présente invention concerne un procédé de synchronisation de contrôle du rythme d'affichage d'un signal vidéo entre un dispositif émetteur et un dispositif récepteur. De manière générale, la présente invention concerne le domaine des Technologies de l'Information et de la Communication. The present invention relates to a synchronization method for controlling the display timing of a video signal between a transmitting device and a receiving device. In general, the present invention relates to the field of Information and Communication Technologies.

La présente invention se rapporte plus particulièrement à un système vidéo sans-fil. Ce type de système remplace les câblages traditionnels entre des sources vidéo et des récepteurs vidéo. Un émetteur vidéo transmet un flux vidéo à travers une interface sans-fil vers des récepteurs vidéo. Les systèmes de transport de flux vidéo dans des réseaux doivent résoudre le problème de la synchronisation de lecture vidéo en temps réel. D'un côté, le flux vidéo est généré en se basant sur une première horloge vidéo du dispositif source vidéo, et de l'autre côté, le flux vidéo est lu en se basant sur une seconde horloge vidéo du récepteur. Si les deux horloges ne fonctionnent pas précisément à la même vitesse, cela signifie que les récepteurs vidéo joueront le flux vidéo trop rapidement ou trop lentement. Si le récepteur joue trop rapidement le flux vidéo, il n'aura plus assez de vidéo et la lecture sera interrompue. Si, en revanche, le récepteur joue trop lentement le flux vidéo, il n'aura plus assez d'espace en mémoire tampon pour la réception des paquets vidéo et perdra ainsi des données vidéo. On connaît deux types de solutions pour résoudre le problème des différences dans les vitesses d'écriture et de lecture des données vidéo. Le premier type de solution est basé sur la modification de quantité d'images lues. Dans le cas où le récepteur est plus rapide que la source vidéo, le récepteur va sporadiquement dupliquer une image afin d'augmenter le nombre d'images constituant le flux vidéo reconstitué. Dans le cas inverse où le noeud récepteur est plus lent que la source vidéo, le noeud récepteur va sporadiquement supprimer une image afin de diminuer le nombre d'images constituant le flux vidéo reconstitué. Le principal avantage de cette solution est qu'elle ne modifie aucun des signaux de synchronisation de la vidéo. En effet, l'adaptation de la fréquence image du noeud récepteur par rapport à la fréquence image de la source vidéo est réalisée uniquement en jouant sur la quantité d'images. Le noeud récepteur génère donc ses propres signaux de synchronisation vidéo à partir de son oscillateur local, ce qui est une garantie de la stabilité et de la bonne qualité de ses signaux de synchronisation vidéo. L'inconvénient majeur de cette solution est la suppression d'images vidéo. En effet, cela a pour résultat de dégrader la qualité de restitution du flux vidéo. Le second type de solution est basé sur l'utilisation de boucles à verrouillage de phase ou PLL ("Phase-Locked Loop " en terminologie anglo-saxonne). Une boucle à verrouillage de phase ou PLL a pour fonction de générer un premier signal (signal résultant) d'horloge synchrone à un second signal (signal de référence) d'horloge. Le signal d'horloge résultant a une fréquence multiple ou qui est une fraction du signal d'horloge de référence. Le signal d'horloge résultant est réinjecté dans la PLL afin de permettre une comparaison constante avec le signal de référence dans le but de garantir que le signal d'horloge résultant est toujours synchrone du signal d'horloge de référence et ceci malgré les variations que peut avoir le signal d'horloge de référence. Suivant les implémentations de la PLL, une amplitude et une fréquence de variation donnée est tolérée sur le signal d'horloge de référence. Quand cette tolérance est dépassée, la PLL " décroche " et le signal résultant est stoppé. L'utilisation d'une PLL pour le besoin de l'harmonisation des rythmes d'image d'une source vidéo et d'un noeud récepteur fonctionne comme décrit ci-dessous. Le récepteur reconstitue dans un premier temps une référence temporelle du rythme d'image de la source. II existe trois références temporelles équivalentes respectivement l'horloge pixel (un cycle par pixel), la synchronisation horizontale (un cycle par ligne) et enfin la synchronisation verticale (un cycle par image). Lorsque la source et le récepteur sont séparés par un réseau de communication, l'état de l'art privilégie le transport de références temporelles liées soit à la synchronisation horizontale, soit à la synchronisation verticale, car elles sont moins fréquentes et donc plus aisées à reconstituer sans introduire trop d'erreurs. Ainsi, le récepteur utilise par exemple le signal de synchronisation horizontale de la source vidéo tel que reconstitué par le noeud récepteur comme signal d'horloge de référence de la PLL. Le noeud récepteur fournit comme facteur de division de la PLL le nombre de pixels par ligne pour avoir comme signal d'horloge résultant un signal d'horloge pixel synchrone du signal de synchronisation horizontale de la source vidéo. Ensuite, à partir d'un compteur synchrone de l'horloge pixel ainsi obtenue, il génère un signal de synchronisation horizontale synchrone de l'horloge pixel en fonction d'un nombre prédéterminé de pixels par ligne. De même, à partir d'un compteur synchrone du signal de synchronisation horizontale ainsi obtenu, il génère un signal de synchronisation verticale synchrone du signal de synchronisation horizontale en fonction d'un nombre désiré de lignes par image. De même, on insère des périodes dites invisibles de l'image (" horizontal blanking " et " vertical blanking " en terminologie anglo-saxonne), utilisées pour l'insertion de données supplémentaires de contrôle ou pour permettre la prise en compte des informations de synchronisation en anticipation des périodes actives des données image et, ainsi, autoriser un temps de traitement préalable au traitement des données images. A l'inverse de la première solution, la solution des PLLs ne permet pas l'usage de signaux de synchronisation vidéo générés par le noeud récepteur. Au contraire les signaux de synchronisation vidéo sont générés à partir des PLLs et vont varier au gré des variations du signal vidéo source tel que reconstitué par le noeud source. Cependant, ce système assure que tous les signaux de synchronisation vidéo résultants (horloge pixel, synchronisation horizontale, synchronisation verticale) varieront de manière complètement synchrone car les signaux de synchronisation horizontale et de synchronisation verticale sont directement obtenus par une multiplication de l'horloge pixel. Il n'y donc pas de risque de décrochage de l'affichage due à la qualité des signaux de synchronisation vidéo. De plus, cette solution ne présente pas les inconvénients de la première solution dans la mesure où elle respecte strictement l'intégrité des données vidéo (pas de suppression d'images). En revanche, cette solution repose sur le fait que le signal de synchronisation de référence reconstitué par le récepteur soit d'une certaine stabilité. En effet, il a été vu ci-dessus que les PLLs sont sensibles aux variations (gigue ou "jitter " en anglais) du signal d'horloge de référence. Si le signal de référence varie trop (par exemple, dans le cas d'un basculement de source vidéo), les PLLs ne sont plus en mesure de fournir un signal d'horloge résultant. Les PLLs capables d'accepter des signaux d'horloge de référence fortement perturbés sont très complexes et très coûteuses à mettre en oeuvre. Par ailleurs, les protocoles permettant une reconstitution peu perturbée du signal de synchronisation de la source vidéo par le récepteur sont tout aussi complexes et coûteux à mettre en oeuvre. II est également connu, par le brevet américain US 5 517 253, un procédé de synchronisation des rythmes de lecture d'image d'un dispositif de réception sur le rythme d'image d'une source vidéo. Le procédé décrit dans ce document de l'état de la technique est basé sur l'ajout et la suppression de pixels dans la partie invisible des lignes. Bien qu'elle ne nécessite pas de PLL et bien qu'elle respecte l'intégrité des données, la solution décrite dans ce document de l'état de la technique implique toutefois l'altération des deux signaux de synchronisation horizontale et verticale. Un but de la présente invention est de fournir une solution pour la synchronisation du rythme de lecture de la vidéo par un récepteur sur le rythme de la source vidéo telle que l'intégrité des données vidéo soit préservée (pas de suppression d'images). Un autre but de la présente invention est de fournir une solution pour la synchronisation du rythme de lecture de la vidéo par un récepteur sur le rythme de la source vidéo telle que la qualité des signaux de synchronisation de la vidéo soit la plus stable possible, c'est-à-dire que les corrections effectuées sur les signaux de synchronisation soient les plus " faibles " possible. The present invention relates more particularly to a wireless video system. This type of system replaces traditional wiring between video sources and video receivers. A video transmitter transmits a video stream through a wireless interface to video receivers. Video stream transport systems in networks must solve the problem of real-time video playback synchronization. On the one hand, the video stream is generated based on a first video clock of the video source device, and on the other side, the video stream is read based on a second video clock of the receiver. If the two clocks do not operate at precisely the same speed, this means that the video receivers will play the video stream too quickly or too slowly. If the receiver plays the video stream too quickly, it will not have enough video and playback will be interrupted. If, on the other hand, the receiver plays the video stream too slowly, it will not have enough buffer space for receiving video packets and will lose video data. Two types of solutions are known for solving the problem of differences in the writing and reading speeds of video data. The first type of solution is based on the modification of the quantity of images read. In the case where the receiver is faster than the video source, the receiver will sporadically duplicate an image to increase the number of images constituting the reconstituted video stream. In the opposite case where the receiving node is slower than the video source, the receiving node will sporadically delete an image to reduce the number of images constituting the reconstituted video stream. The main advantage of this solution is that it does not modify any of the sync signals of the video. Indeed, the adaptation of the image frequency of the receiver node with respect to the image frequency of the video source is performed only by varying the amount of images. The receiving node thus generates its own video synchronization signals from its local oscillator, which is a guarantee of the stability and the good quality of its video synchronization signals. The major disadvantage of this solution is the deletion of video images. Indeed, this has the effect of degrading the quality of playback of the video stream. The second type of solution is based on the use of PLL (Phase-Locked Loop) loops. A phase locked loop or PLL has the function of generating a first clock signal (resulting signal) synchronous to a second clock signal (reference signal). The resulting clock signal has a multiple frequency or is a fraction of the reference clock signal. The resulting clock signal is fed back into the PLL to allow constant comparison with the reference signal in order to ensure that the resulting clock signal is always synchronous with the reference clock signal, despite the variations that can have the reference clock signal. Depending on the implementations of the PLL, a given amplitude and frequency of variation is tolerated on the reference clock signal. When this tolerance is exceeded, the PLL "hangs up" and the resulting signal is stopped. The use of a PLL for the purpose of harmonizing the image rates of a video source and a receiver node functions as described below. The receiver first reconstitutes a temporal reference of the image rate of the source. There are three equivalent time references respectively the pixel clock (one cycle per pixel), the horizontal synchronization (one cycle per line) and finally the vertical synchronization (one cycle per image). When the source and the receiver are separated by a communication network, the state of the art favors the transport of time references related to either horizontal synchronization or vertical synchronization, because they are less frequent and therefore easier to use. reconstitute without introducing too many errors. Thus, the receiver uses for example the horizontal synchronization signal of the video source as reconstituted by the receiving node as reference clock signal of the PLL. The receiving node provides as division factor of the PLL the number of pixels per line to have as a resultant clock signal a synchronous pixel clock signal of the horizontal synchronization signal of the video source. Then, from a synchronous counter of the pixel clock thus obtained, it generates a synchronous horizontal synchronization signal of the pixel clock as a function of a predetermined number of pixels per line. Similarly, from a synchronous counter of the horizontal synchronization signal thus obtained, it generates a synchronous vertical synchronization signal of the horizontal synchronization signal according to a desired number of lines per image. Similarly, so-called invisible blanking periods ("horizontal blanking" and "vertical blanking" in English terminology) are inserted, used for the insertion of additional control data or to allow the taking into account of the information of the image. synchronization in anticipation of the active periods of the image data and thus allow a processing time prior to the processing of the image data. Unlike the first solution, the solution of PLLs does not allow the use of video synchronization signals generated by the receiving node. On the contrary, the video synchronization signals are generated from the PLLs and will vary according to the variations of the source video signal as reconstituted by the source node. However, this system ensures that all the resulting video synchronization signals (pixel clock, horizontal synchronization, vertical synchronization) will vary completely synchronously because the horizontal synchronization and vertical synchronization signals are directly obtained by a multiplication of the pixel clock. There is therefore no risk of stalling the display due to the quality of the video synchronization signals. In addition, this solution does not have the disadvantages of the first solution insofar as it strictly respects the integrity of the video data (no deletion of images). On the other hand, this solution is based on the fact that the reference synchronization signal reconstituted by the receiver is of a certain stability. Indeed, it has been seen above that the PLLs are sensitive to variations (jitter or "jitter" in English) of the reference clock signal. If the reference signal varies too much (for example, in the case of a video source switchover), the PLLs are no longer able to provide a resultant clock signal. PLLs capable of accepting highly disturbed reference clock signals are very complex and very expensive to implement. Moreover, the protocols allowing a less disturbed reconstitution of the synchronization signal of the video source by the receiver are just as complex and expensive to implement. It is also known, from US Pat. No. 5,517,253, a method of synchronizing the image reading rhythms of a reception device to the image rate of a video source. The method described in this prior art document is based on adding and removing pixels in the invisible part of the lines. Although it does not require PLL and although it respects the integrity of the data, the solution described in this prior art document involves the alteration of the two horizontal and vertical synchronization signals. An object of the present invention is to provide a solution for the synchronization of the playback rate of the video by a receiver on the rhythm of the video source such that the integrity of the video data is preserved (no deletion of images). Another object of the present invention is to provide a solution for the synchronization of the playback rate of the video by a receiver on the rhythm of the video source such that the quality of the synchronization signals of the video is as stable as possible, c that is, the corrections made on the synchronization signals are the "weakest" possible.

Un autre but de la présente invention est de fournir une solution pour la synchronisation du rythme de lecture de la vidéo par un récepteur sur le rythme de la source vidéo telle que le coût de la mise en oeuvre de la solution soit raisonnable (pas d'utilisation de PLL). Another object of the present invention is to provide a solution for the synchronization of the video playback rate by a receiver on the rhythm of the video source such that the cost of implementing the solution is reasonable (no use of PLL).

La présente invention vise à atteindre au moins l'un des buts précités en proposant un procédé de contrôle du rythme d'affichage d'un signal vidéo issu d'une source vidéo, transmis par un dispositif émetteur (DE) vers un dispositif récepteur (DR) et destiné à être affiché sur un dispositif d'affichage, le signal vidéo comprenant des images, chaque image contenant des lignes actives incluant des informations sur des pixels à afficher par le dispositif d'affichage et des lignes inactives n'incluant pas d'informations sur des pixels à afficher par le dispositif d'affichage, caractérisé en ce que le rythme d'affichage est contrôlé par au moins un premier signal de contrôle (SV1) synchronisé au rythme image de la source vidéo , le procédé comportant les étapes suivantes - calcul d'une dérive entre le premier signal de contrôle (SV1) et un signal (SVL) synchronisé au rythme image au niveau du dispositif récepteur ; - en fonction de la dérive calculée, adaptation du nombre de lignes inactives dans une image du signal vidéo au niveau du dispositif récepteur. La détermination d'une éventuelle dérive (une telle dérive traduit une non synchronisation entre les rythmes image ou cadences définies respectivement par la source vidéo et par le dispositif récepteur) permet de décider si une correction de la dérive doit être appliquée pour recaler les signaux SV1 et SVL l'un par rapport à l'autre. On notera que le rythme image correspond à un nombre d'image par seconde, c'est-à-dire à un certain débit de données. Le rythme image peut également être défini par la fréquence d'une horloge dont le front montant est calé sur le début de chaque image. Le signal SVL est par exemple recalé sur le premier signal de contrôle SV1. The present invention aims to achieve at least one of the aforementioned objects by providing a method of controlling the display timing of a video signal from a video source, transmitted by a transmitting device (DE) to a receiving device ( DR) and intended to be displayed on a display device, the video signal comprising images, each image containing active lines including information on pixels to be displayed by the display device and inactive lines not including information on pixels to be displayed by the display device, characterized in that the display timing is controlled by at least a first control signal (SV1) synchronized to the frame rate of the video source, the method comprising the steps following - calculating a drift between the first control signal (SV1) and a signal (SVL) synchronized to the frame rate at the receiving device; according to the calculated drift, adaptation of the number of inactive lines in an image of the video signal at the receiving device. The determination of a possible drift (such a drift translates a non-synchronization between the image rhythms or rates respectively defined by the video source and the receiving device) makes it possible to decide whether a correction of the drift must be applied to reset the signals SV1 and SVL in relation to each other. Note that the frame rate corresponds to a frame number per second, that is to say a certain data rate. The image rate can also be defined by the frequency of a clock whose rising edge is set at the beginning of each image. The signal SVL is for example fixed on the first control signal SV1.

Le rythme d'arrivée du signal ou flux vidéo sert ainsi de référence. The arrival rate of the signal or video stream is thus used as a reference.

On notera que le signal local au dispositif récepteur basé sur une horloge locale) pour la détermination d'une dérive peut être un signal de synchronisation de l'affichage d'images du signal vidéo. Le premier signal de contrôle SV1 est par exemple un signal de synchronisation verticale régénéré par le dispositif récepteur. On notera que l'adaptation du nombre de lignes inactives d'une image a pour effet de moduler la vitesse de lecture des données vidéo (pixels) de l'image. Le rythme de lecture des données vidéo du signal vidéo par le dispositif récepteur est ainsi asservi au rythme de génération des données vidéo par la source vidéo grâce à l'adaptation (ajout et de la suppression) du nombre de lignes inactives dans une image à afficher. Le contrôle proposé par l'invention respecte strictement l'intégrité des données vidéo (pixels à afficher) car les lignes inactives ajoutées et supprimées le sont dans la partie non visible de l'image. Dans un exemple de réalisation, les signaux de contrôle comprennent un signal d"horloge pixel et un signal de synchronisation horizontale (SHL), ainsi qu'un signal de synchronisation verticale (SV1). Les signaux de contrôle du signal vidéo sont le plus stable possible. Note that the local signal to the receiver device based on a local clock for the determination of a drift may be a synchronization signal of the video signal image display. The first control signal SV1 is for example a vertical synchronization signal regenerated by the receiver device. It will be noted that the adaptation of the number of inactive lines of an image has the effect of modulating the reading speed of the video data (pixels) of the image. The playback rate of the video data of the video signal by the receiving device is thus controlled by the rate of generation of the video data by the video source by adapting (adding and deleting) the number of idle lines in an image to be displayed. . The control proposed by the invention strictly respects the integrity of the video data (pixels to be displayed) because the inactive lines added and deleted are in the non-visible part of the image. In an exemplary embodiment, the control signals comprise a pixel clock signal and a horizontal sync signal (SHL), as well as a vertical sync signal (SV1) .The video signal control signals are the most stable possible.

En effet, l'horloge pixel est totalement stable car générée localement au dispositif récepteur sans modulation. Le signal de synchronisation horizontale est totalement stable car généré localement sans modulation. Seul le signal de synchronisation verticale est asservi progressivement (asservissement doux) au rythme du signal de synchronisation verticale de la source vidéo. Indeed, the pixel clock is totally stable because generated locally to the receiver device without modulation. The horizontal synchronization signal is totally stable because generated locally without modulation. Only the vertical synchronization signal is progressively slaved (soft control) to the rhythm of the vertical synchronization signal of the video source.

Le coût de la mise en oeuvre du contrôle selon l'invention est raisonnable car, d'une part, il n'y a pas de PLL de mise en oeuvre pour la correction de dérive par cette solution. Et, d'autre part, la régénération du signal de synchronisation verticale de la source vidéo par le dispositif récepteur ne nécessite pas une stabilité aussi grande que celle imposée par une PLL. En effet, le signal de synchronisation verticale reconstitué sert à détecter un déphasage de plus ou moins une ligne avec par exemple le signal de synchronisation verticale locale. Cette comparaison peut être réalisée raisonnablement avec une précision de quelques pixels. On notera que le dispositif émetteur peut être inclus ou non dans la source vidéo. S'il ne fait pas partie de la source le dispositif émetteur peut être associé à la source, par exemple en étant connecté à cette dernière. Selon une caractéristique, le rythme d'affichage est contrôlé également par au moins un deuxième signal de contrôle synchronisé au rythme image du dispositif récepteur. Ainsi, le rythme d'affichage du signal vidéo est contrôlé en combinant au moins un signal de contrôle local au dispositif récepteur et un signal de contrôle (SV1) qui suit le rythme des données vidéo de la source vidéo (ex : rythme imposé par une horloge de la source vidéo). On notera que le deuxième signal de contrôle est par exemple un signal de synchronisation horizontale et qu'un troisième signal de contrôle est par exemple un signal d'horloge pixel. The cost of implementing the control according to the invention is reasonable because, on the one hand, there is no implementation PLL for drift correction by this solution. And, on the other hand, the regeneration of the vertical synchronization signal of the video source by the receiver device does not require a stability as great as that imposed by a PLL. Indeed, the reconstituted vertical synchronization signal is used to detect a phase shift of more or less a line with for example the local vertical synchronization signal. This comparison can be done reasonably with a precision of a few pixels. Note that the transmitting device may or may not be included in the video source. If it is not part of the source, the transmitting device can be associated with the source, for example by being connected to the source. According to one characteristic, the display rate is also controlled by at least a second control signal synchronized to the image rate of the receiver device. Thus, the display timing of the video signal is controlled by combining at least one local control signal with the receiver device and a control signal (SV1) which follows the rhythm of the video data of the video source (ex: rhythm imposed by a video signal). clock of the video source). It should be noted that the second control signal is for example a horizontal synchronization signal and a third control signal is for example a pixel clock signal.

Selon une caractéristique, le procédé comporte une étape de suppression d'au moins une ligne inactive dans l'image du signal vidéo à afficher lorsque la dérive calculée traduit le fait que le dispositif récepteur est en avance de phase par rapport à la source vidéo. Selon une caractéristique, le procédé comporte une étape d'ajout d'au moins une ligne inactive dans l'image du signal vidéo à afficher lorsque la dérive calculée traduit le fait que le dispositif récepteur est en retard de phase par rapport à la source vidéo. Qu'il y ait une avance de phase ou un retard de phase entre les signaux composés la compensation est effectuée sur les lignes inactives d'une image et donc sans altérer les signaux de synchronisation. Selon une caractéristique, le procédé comporte en outre une étape de réajustement, par le dispositif récepteur, du front montant du premier signal de contrôle (SV1) pour qu'il se réaligne sur un début de ligne lorsque la correction de la dérive calculée ne se traduit pas par un nombre entier de ligne(s) inactive(s). On cale ainsi le premier signal de contrôle sur un début de ligne lorsque, après suppression ou ajout d'une ligne, une dérive subsiste entre les signaux. Selon une caractéristique, le procédé comporte une étape de génération du premier signal de contrôle (SV1) par le dispositif récepteur. Selon une caractéristique, le calcul d'une dérive est effectué de manière régulière. Le dispositif récepteur peut en effet surveiller régulièrement au cours du temps l'éventuelle dérive entre les signaux. L'invention a également pour objet un dispositif de contrôle du rythme d'affichage d'un signal vidéo issu d'une source vidéo, transmis par un dispositif émetteur (DE) et destiné à être affiché sur un dispositif d'affichage, le signal vidéo comprenant des images, chaque image contenant des lignes actives incluant des informations sur des pixels à afficher par le dispositif d'affichage et des lignes inactives n'incluant pas d'informations sur des pixels à afficher par le dispositif d'affichage, caractérisé en ce que le rythme d'affichage est contrôlé par au moins un premier signal de contrôle (SV1) synchronisé au rythme image de la source vidéo, le dispositif de contrôle comportant : - des moyens de calcul d'une dérive entre le premier signal de contrôle (SV1) et un signal (SVL) synchronisé au rythme image du dispositif récepteur, - des moyens d'adaptation, en fonction de la dérive calculée, du nombre de lignes inactives dans une image du signal vidéo. Selon d'autres caractéristiques du dispositif : - le rythme d'affichage est contrôlé également par au moins un deuxième signal de contrôle synchronisé au rythme image du dispositif récepteur. - le rythme d'affichage est contrôlé par le deuxième signal de contrôle qui est un signal de synchronisation horizontale (SHL) et par un troisième signal de contrôle qui est un signal d'horloge pixel. - il comporte des moyens de suppression d'au moins une ligne inactive dans l'image du signal vidéo à afficher lorsque la dérive calculée traduit le fait que le dispositif récepteur est en avance de phase par rapport à la source vidéo. - il comporte des moyens d'ajout d'au moins une ligne inactive dans l'image du signal vidéo à afficher lorsque la dérive calculée traduit le fait que le dispositif récepteur est en retard de phase par rapport à la source vidéo. - il comporte en outre des moyens de réajustement du front montant du premier signal de contrôle (SV1) pour qu'il se réaligne sur un début de ligne lorsque la correction de la dérive calculée ne se traduit pas par un nombre entier de ligne(s) inactive(s). - il comporte des moyens de génération du premier signal de contrôle (SV1). - le premier signal de contrôle est un signal de synchronisation verticale. - le calcul d'une dérive est effectué de manière régulière. L'invention a également pour objet un système de communication comprenant une source vidéo, un dispositif émetteur (DE), un dispositif récepteur (DR), un dispositif d'affichage et un dispositif de contrôle du rythme d'affichage d'un signal vidéo issu de la source vidéo, transmis par le dispositif émetteur (DE) vers le dispositif récepteur (DR) et destiné à être affiché sur un dispositif d'affichage, le signal vidéo comprenant des images, chaque image contenant des lignes actives incluant des informations sur des pixels à afficher par le dispositif d'affichage et des lignes inactives n'incluant pas d'informations sur des pixels à afficher par le dispositif d'affichage, caractérisé en ce que le rythme d'affichage est contrôlé par au moins un premier signal de contrôle (SV1) synchronisé au rythme image de la source vidéo, le dispositif de contrôle comportant : - des moyens de calcul d'une dérive entre le premier signal de contrôle (SV1) et un signal (SVL) synchronisé au rythme image du dispositif récepteur, - des moyens d'adaptation, en fonction de la dérive calculée, du nombre de lignes inactives dans une image du signal vidéo. According to one characteristic, the method comprises a step of deleting at least one inactive line in the image of the video signal to be displayed when the calculated drift reflects the fact that the receiving device is in advance of phase with respect to the video source. According to one characteristic, the method comprises a step of adding at least one inactive line in the image of the video signal to be displayed when the calculated drift reflects the fact that the receiving device is out of phase with respect to the video source. . Whether there is a phase advance or a phase delay between the composite signals compensation is performed on the inactive lines of an image and thus without altering the synchronization signals. According to one characteristic, the method further comprises a step of readjustment, by the receiver device, of the rising edge of the first control signal (SV1) so that it realigns itself at a beginning of the line when the correction of the calculated drift does not occur. not translated by an integer of inactive line (s). The first control signal is thus locked on a line start when, after deleting or adding a line, a drift remains between the signals. According to one characteristic, the method comprises a step of generating the first control signal (SV1) by the receiver device. According to one characteristic, the calculation of a drift is carried out regularly. The receiving device can indeed regularly monitor over time any drift between the signals. The invention also relates to a device for controlling the display timing of a video signal from a video source, transmitted by a transmitting device (DE) and intended to be displayed on a display device, the signal video comprising images, each image containing active lines including information on pixels to be displayed by the display device and inactive lines not including information on pixels to be displayed by the display device, characterized in that the display rate is controlled by at least a first control signal (SV1) synchronized to the frame rate of the video source, the control device comprising: means for calculating a drift between the first control signal (SV1) and a signal (SVL) synchronized to the image rate of the receiver device, - means for adapting, as a function of the calculated drift, the number of inactive lines in an image of the video signal. According to other features of the device: the display rate is also controlled by at least a second control signal synchronized to the image rate of the receiving device. the display timing is controlled by the second control signal which is a horizontal synchronization signal (SHL) and by a third control signal which is a pixel clock signal. it comprises means for deleting at least one inactive line in the image of the video signal to be displayed when the calculated drift reflects the fact that the receiving device is in advance of phase with respect to the video source. it comprises means for adding at least one idle line in the image of the video signal to be displayed when the calculated drift reflects the fact that the receiver device is out of phase with respect to the video source. it furthermore comprises means for readjusting the rising edge of the first control signal (SV1) so that it realigns itself at a start of a line when the correction of the calculated drift does not result in an integer number of lines (s). ) inactive (s). it comprises means for generating the first control signal (SV1). the first control signal is a vertical synchronization signal. - The calculation of a drift is done regularly. The invention also relates to a communication system comprising a video source, a transmitting device (DE), a receiving device (DR), a display device and a device for controlling the display rate of a video signal. from the video source, transmitted by the transmitting device (DE) to the receiving device (DR) and intended to be displayed on a display device, the video signal comprising images, each image containing active lines including information on pixels to be displayed by the display device and inactive lines not including information on pixels to be displayed by the display device, characterized in that the display timing is controlled by at least a first signal control device (SV1) synchronized to the frame rate of the video source, the control device comprising: means for calculating a drift between the first control signal (SV1) and a synchronous signal (SVL) it is adapted to the image rate of the receiver device, means for adapting, as a function of the calculated drift, the number of inactive lines in an image of the video signal.

La présente invention se rapporte également à un programme d'ordinateur chargeable dans un système informatique, ledit programme comprenant des instructions permettant la mise en oeuvre du procédé tel que brièvement exposé ci-dessus, lorsque ce programme est chargé et exécuté par un système informatique. The present invention also relates to a computer program loadable in a computer system, said program comprising instructions for carrying out the method as briefly described above, when this program is loaded and executed by a computer system.

On comprendra mieux l'invention à l'aide de la description, faite ci-après à titre purement explicatif, d'un mode de réalisation de l'invention, en référence aux dessins annexés sur lesquels : - la Figure 1 illustre un exemple de système de communication selon l'invention ; - la Figure 2 représente un dispositif de communication générique capable d'être utilisé comme noeud émetteur 102 (DE) ou comme noeud récepteur 103 (DR) ; - la Figure 3 illustre des détails d'interconnexion entre modules dans la partie émetteur 206 de la Figure 2 ; - la Figure 4a illustre un format possible de paquet vidéo ; - la Figure 4b représente l'algorithme exécuté par le module de transmission de paquets vidéo 216 de la Figure 3 ; - la Figure 5a est une vue détaillée du module " partie d'affichage " 205 de la Figure 2 ; - la Figure 5b est une vue détaillée du module "Vsync regen " 504 de la Figure 5a ; - la Figure 5c représente l'algorithme exécuté par le module 500 de la Figure 5a ; - la Figure 6a illustre l'algorithme mis en oeuvre par le module de gestion de dérive 506 de la Figure 5a ; - la Figure 6b représente l'algorithme exécuté par le module " Vsync monitor " 530 de la Figure 5b ; - les Figures 7a et 7b illustrent des signaux digitaux permettant de contrôler le rythme d'affichage d'un flux vidéo ; et - les Figures 8a, 8b et 8c illustrent sous la forme d'algorithmes le fonctionnement du module " video synchro generator " 503 de la Figure 5a. The invention will be better understood from the following description, given purely for explanatory purposes, of an embodiment of the invention, with reference to the appended drawings in which: FIG. 1 illustrates an example of communication system according to the invention; FIG. 2 represents a generic communication device capable of being used as sending node 102 (DE) or as receiving node 103 (DR); Figure 3 illustrates interconnection details between modules in the transmitter portion 206 of Figure 2; Figure 4a illustrates a possible video packet format; FIG. 4b represents the algorithm executed by the video packet transmission module 216 of FIG. 3; Figure 5a is a detailed view of the "display portion" module 205 of Figure 2; Figure 5b is a detailed view of the "Vsync regen" module 504 of Figure 5a; Figure 5c shows the algorithm executed by the module 500 of Figure 5a; FIG. 6a illustrates the algorithm implemented by the drift management module 506 of FIG. 5a; FIG. 6b represents the algorithm executed by the "Vsync monitor" module 530 of FIG. 5b; FIGS. 7a and 7b illustrate digital signals making it possible to control the display rate of a video stream; and FIGS. 8a, 8b and 8c illustrate in the form of algorithms the operation of the "video synchro generator" module 503 of FIG. 5a.

La Figure 1 illustre un exemple de système de communication sans-fil de flux vidéo. Le système vidéo comprend notamment une source vidéo 101. Cette source vidéo 101 peut par exemple être un lecteur Blu-Ray, un décodeur numérique (" set top box en terminologie anglo-saxonne) ou un disque dur multimédia. La source vidéo génère un flux vidéo à un rythme image ou débit d'image par seconde donné. La source vidéo 101 est connectée à un dispositif émetteur (DE) ou noeud émetteur 102 à travers une connexion vidéo numérique standard (par exemple conforme au standard HDMI). On notera que la source et le dispositif émetteur peuvent alternativement faire partie du même appareil de communication. Le dispositif émetteur 102 communique avec un dispositif récepteur (DR) ou noeud récepteur 103 au moyen d'une transmission sans-fil (par exemple 60 GHz 801.15.3c). Le noeud récepteur 103 est connecté à un dispositif d'affichage 104 tel qu'un écran au moyen d'une connexion vidéo numérique standard 105 (par exemple au standard HDMI). La Figure 2 décrit un dispositif de communication ou noeud générique capable d'être utilisé comme noeud émetteur 102 ou comme noeud récepteur 103. Figure 1 illustrates an example of a wireless video stream communication system. The video system includes a video source 101. This video source 101 may for example be a Blu-Ray player, a digital decoder ("set top box" in English terminology) or a multimedia hard disk The video source generates a stream The video source 101 is connected to a transmitting device (DE) or transmitting node 102 via a standard digital video connection (for example in accordance with the HDMI standard). the source and the transmitting device may alternatively be part of the same communication apparatus The transmitting device 102 communicates with a receiving device (DR) or receiving node 103 by means of a wireless transmission (eg 60 GHz 801.15.3c) The receiver node 103 is connected to a display device 104 such as a display by means of a standard digital video connection 105 (for example to the HDMI standard). communication device or generic node capable of being used as transmitting node 102 or as receiving node 103.

Le noeud générique est constitué d'une partie contrôleur vidéo 204 et d'une partie contrôleur de réseau 207. La partie contrôleur de réseau 207 est en charge de mettre en oeuvre les communications sans-fil des données vidéo et des données de contrôle. La partie contrôleur 204 comprend une sous-partie d'affichage 205 et une sous-partie source 206. La sous-partie d'affichage 205 est en charge de jouer la vidéo reçue (sous la forme d'un flux vidéo) du contrôleur de réseau 207 sur un dispositif d'affichage vidéo tel que le dispositif d'affichage 104. La sous-partie source 206, quant à elle, est chargée de capturer un flux vidéo issu d'un dispositif source de vidéo tel que la source 101 et de l'envoyer au noeud récepteur tel que le noeud 103 à travers la partie contrôleur de réseau 207. Les deux parties 204 et 207 sont contrôlées par un système CPU composé d'une unité de traitement de données (CPU) 201, d'une mémoire vive (RAM) 202 et d'une mémoire morte (ROM) 203. La partie contrôleur de réseau 207 est un sous-système de communication à 60 GHz standard, mettant en oeuvre soit le standard IEEE 802.15.3 soit le standard WirelessHD. Il est composé d'un module MAC 208, d'un module PHY 209, d'un module d'antenne de transmission 210, et d'un module d'antenne de réception 211. Pour la description détaillée de ces modules, le lecteur peut se référer soit au standard IEEE (standard 802.15.3 modification c) soit auprès du consortium WirelessHD. Le contrôleur de réseau 207 fait également fonctionner un protocole de réseau qui garantit que tous les noeuds du réseau ont accès à une seule référence temporelle. Par exemple, le contrôleur de réseau peut mettre en oeuvre le protocole IEEE 1588. The generic node consists of a video controller portion 204 and a network controller portion 207. The network controller portion 207 is responsible for implementing wireless communications of the video data and control data. The controller portion 204 includes a display sub-portion 205 and a source sub-portion 206. The display sub-portion 205 is responsible for playing the video received (in the form of a video stream) from the controller of the controller. network 207 on a video display device such as the display device 104. The source sub-part 206, meanwhile, is responsible for capturing a video stream from a video source device such as the source 101 and to send it to the receiving node such as the node 103 through the network controller part 207. The two parts 204 and 207 are controlled by a CPU system composed of a data processing unit (CPU) 201, a random access memory (RAM) 202 and a read only memory (ROM) 203. The network controller portion 207 is a standard 60 GHz communication subsystem, implementing either the IEEE 802.15.3 standard or the WirelessHD standard. It is composed of a MAC module 208, a PHY module 209, a transmission antenna module 210, and a reception antenna module 211. For the detailed description of these modules, the reader can refer to either the IEEE standard (standard 802.15.3 modification c) or to the WirelessHD consortium. The network controller 207 also operates a network protocol that ensures that all nodes in the network have access to a single time reference. For example, the network controller may implement the IEEE 1588 protocol.

La sous-partie source 206 de la partie contrôleur vidéo 204 comprend un module récepteur HDMI 215 capable de recevoir un flux vidéo au format HDMI d'une source vidéo, à travers un connecteur HDMI. Ce module récepteur HDMI 215 fournit en sortie des données d'images ou pixels sur un bus, ainsi que plusieurs signaux de synchronisation ou de contrôle vidéo. Par exemple, trois signaux de synchronisation vidéo, à savoir un signal d'horloge pixel, un signal de synchronisation horizontale et un signal de synchronisation verticale, sont transmis à deux modules 216, 217. On notera que le module récepteur HDMI 215 peut par exemple être 10 un module commercialisé sous la référence AD9880 par la société Analog Device. Le module 216 est un module de transmission de paquets vidéo qui reçoit du module récepteur 215 des données vidéo. Le module 216 reçoit également de la part du module 217, appelé 15 module "Vsync Sampler", des informations temporelles, appelées horodatages ou étiquettes temporelles (connues en terminologie anglo-saxonne sous le terme "time stamp"). Le module 216 élabore des paquets de données vidéo comme il sera décrit de façon plus détaillée en référence à la Figure 3 et les transmet à la 20 partie contrôleur de réseau 207. Le module 217, quant à lui, est chargé de l'échantillonnage des apparitions du signal de synchronisation verticale provenant du module récepteur HDMI 215. L'échantillonnage est plus particulièrement réalisé en générant un 25 horodatage ("time stamp") par rapport à un temps réseau servant de référence, tel qu'il est reçu par la partie contrôleur de réseau 207. L'horodatage ainsi généré est transmis au module 216 afin d'être inséré dans l'en-tête d'un paquet. La sous-partie d'affichage 205 comprend un module 214 de 30 réception de paquets vidéo qui reçoit des paquets de la partie contrôleur de réseau 207. The source sub-portion 206 of the video controller portion 204 includes an HDMI receiver module 215 capable of receiving a video stream in HDMI format from a video source, through an HDMI connector. This HDMI receiver module 215 outputs image data or pixels on a bus, as well as a plurality of synchronization or video control signals. For example, three video synchronization signals, namely a pixel clock signal, a horizontal synchronization signal and a vertical synchronization signal, are transmitted to two modules 216, 217. Note that the HDMI receiver module 215 may for example be a module marketed under the reference AD9880 by the company Analog Device. The module 216 is a video packet transmission module which receives video data from the receiver module 215. The module 216 also receives from the module 217, called the "Vsync Sampler" module, time information, called timestamps or time tags (known in English terminology as "time stamp"). The module 216 develops video data packets as will be described in more detail with reference to FIG. 3 and transmits them to the network controller portion 207. The module 217, in turn, is responsible for sampling the video data packets. appearances of the vertical synchronization signal from the HDMI receiver module 215. The sampling is more particularly carried out by generating a time stamp relative to a reference network time, as received by the party. network controller 207. The time stamp thus generated is transmitted to the module 216 so as to be inserted in the header of a packet. The display sub-portion 205 includes a video packet receiving module 214 which receives packets from the network controller portion 207.

Le module 214 extrait des paquets reçus les données d'image ou pixels contenus dans ces derniers afin de les stocker et extrait l'horodatage (time stamp) qui est ensuite transmis à un module 213 de gestion de synchronisation RX. The module 214 extracts from the received packets the image data or pixels contained in the latter in order to store them and extracts the time stamp, which is then transmitted to a synchronization management module RX.

Le module 213 génère des signaux de synchronisation ou de contrôle vidéo et les transmet à un module transmetteur HDMI 212. Le module 213 lit également les pixels stockés dans le module 214 et les transmet au module 212. Cette sous-partie d'affichage 205 sera décrite plus en détail en référence aux Figures 5a et 5b. Le module 212 met en oeuvre un contrôleur TX HDMI en vue du contrôle de l'affichage des données sur le dispositif d'affichage 104. Plus particulièrement, le module 212 reçoit en entrée les pixels véhiculés par un bus ainsi que les trois signaux de synchronisation ou de contrôle vidéo, à savoir respectivement un signal d'horloge pixel, un signal de synchronisation horizontale et un signal de synchronisation verticale. Le module 212 pilote en sortie un connecteur HDMI. On notera que le module transmetteur HDMI est par exemple commercialisé par la société Analog Device sous la référence de circuit 20 AD9889B. Les modules récepteur 215 et transmetteur 212 sont contrôlés et initialisés par l'unité CPU 201 par l'intermédiaire d'un bus I2C non représenté par souci de clarté. Par ailleurs, l'unité CPU implémente un pilote logiciel HDMI qui peut 25 être obtenu à partir du fabricant de puces ou circuits conformes au standard HDMI. On notera qu'un dispositif ou noeud émetteur dispose de la partie contrôleur vidéo 204 qui inclut la sous-partie source 206. Toutefois, pour la fonction de dispositif ou noeud émetteur, la sous- 30 partie d'affichage 205 n'est pas nécessaire. De même, un dispositif ou noeud récepteur dispose d'une partie contrôleur vidéo 204 incluant la sous-partie d'affichage 205 sans toutefois nécessairement inclure la sous-partie source 206 qui n'est pas nécessaire pour cette fonctionnalité du noeud. Comme indiqué plus haut, la Figure 3 illustre de façon plus détaillée les interconnections entre les différents modules de la sous-partie source 206 de la Figure 2. Le module de réception HDMI 215 reçoit en provenance d'un connecteur HDMI non représenté sur la Figure 3, un flux de données vidéo HDMI 308 et fournit en sortie les différents types de données reçues. Plus particulièrement, le module 215 fournit un bus 300 de données d'image ou pixels ainsi qu'un signal de contrôle "de" 311 appelé "Data Enable" et des signaux de contrôle de synchronisation vidéo 301 (signal d'horloge pixel), 302 (signal de synchronisation horizontale) et 304 (signal de synchronisation verticale). Le module échantillonneur 217 reçoit du module récepteur HDMI 215 un signal 304 appelé "Vsync" et reçoit de la partie contrôleur réseau 207 une référence temporelle de réseau 305 ("network time" en terminologie anglo-saxonne). Le module 217 génère à son tour et transmet au module 216 des horodatages 306 ("time stamps"). The module 213 generates synchronization or video control signals and transmits them to an HDMI transmitter module 212. The module 213 also reads the pixels stored in the module 214 and transmits them to the module 212. This display sub-part 205 will be described in more detail with reference to Figures 5a and 5b. The module 212 implements an HDMI TX controller for controlling the display of the data on the display device 104. More particularly, the module 212 receives as input the pixels carried by a bus as well as the three synchronization signals. or video control, namely respectively a pixel clock signal, a horizontal synchronization signal and a vertical synchronization signal. The module 212 drives an HDMI connector out. It will be noted that the HDMI transmitter module is for example marketed by the company Analog Device under the reference of circuit 20 AD9889B. The receiver modules 215 and transmitter 212 are controlled and initialized by the CPU 201 through an I2C bus not shown for the sake of clarity. In addition, the CPU implements an HDMI software driver that can be obtained from the manufacturer of chips or circuits compliant with the HDMI standard. Note that a transmitting device or node has the video controller portion 204 which includes the source sub-part 206. However, for the device or transmitter node function, the display sub-part 205 is not necessary. . Likewise, a receiving device or node has a video controller portion 204 including the display sub-portion 205 without necessarily including the source sub-portion 206 that is not necessary for this feature of the node. As indicated above, FIG. 3 illustrates in greater detail the interconnections between the different modules of the source sub-part 206 of FIG. 2. The reception module HDMI 215 receives from an HDMI connector not shown in FIG. 3, an HDMI 308 video data stream and output the different types of data received. More particularly, the module 215 provides a bus 300 of image data or pixels as well as a control signal of "311" called "Data Enable" and video synchronization control signals 301 (pixel clock signal), 302 (horizontal sync signal) and 304 (vertical sync signal). The sampler module 217 receives from the receiver module HDMI 215 a signal 304 called "Vsync" and receives from the network controller part 207 a network time reference 305 ("network time" in English terminology). The module 217 in turn generates and transmits to the module 216 timestamps 306 ("time stamps").

Le module de transmission de paquets vidéo 216 reçoit du module récepteur HDMI 215 les différentes données précitées 300, 311, 301, 302 et 304 et du module 217 les horodatages 306. Le module 216 élabore ainsi des paquets de données vidéo 307 sur la base des informations et données précédentes et les transmet à la partie 25 contrôleur de réseau 207. La Figure 4a illustre un format possible de paquets de données vidéo. La structure du paquet vidéo représenté comprend un entête 400 et une partie contenant des données utiles appelée charge utile 401 (connue en 30 terminologie anglo-saxonne sous le terme de "payload"). The video packet transmission module 216 receives from the receiver module HDMI 215 the various aforementioned data 300, 311, 301, 302 and 304 and from the module 217 the timestamps 306. The module 216 thus produces video data packets 307 on the basis of the The above information and data is transmitted to the network controller portion 207. Figure 4a illustrates a possible format of video data packets. The structure of the video packet shown comprises a header 400 and a portion containing payload called payload 401 (known in English as "payload").

L'entête 400 comprend plusieurs champ parmi lesquels un champ 402 d'indication de début d'image ("start of image flag" en terminologie anglo-saxonne). Cette balise est définie par le module 216 des Figures 2 et 3 lorsque ce dernier construit le premier paquet d'une image. L'entête 400 comprend également un champ 403 d'horodatage (connu en terminologie anglo-saxonne sous le terme "time stamp field") qui est défini par le module 216 lors de la construction du premier paquet d'une image. L'entête 400 comprend également un champ 404 de numéro de première ligne. Ce champ 404 contient le numéro de la première ligne d'une image dans la charge utile 401. On notera que chaque paquet peut transporter plusieurs lignes d'une même image. Ce champ est défini par le module 216 lors de l'élaboration de la charge utile 401. L'entête 400 comprend également un champ 405 d'indication de numéro de dernière ligne. Ce champ contient le numéro de la dernière ligne dans la charge utile 401. The header 400 comprises several fields including a field 402 of image start indication ("start of image flag" in English terminology). This tag is defined by the module 216 of Figures 2 and 3 when the latter builds the first packet of an image. The header 400 also includes a timestamp field 403 (known in English terminology as the "time stamp field") which is defined by the module 216 during the construction of the first packet of an image. Header 400 also includes a first line number field 404. This field 404 contains the number of the first line of an image in the payload 401. Note that each packet can carry several lines of the same image. This field is defined by the module 216 during the development of the payload 401. The header 400 also comprises a last line number indication field 405. This field contains the number of the last line in payload 401.

Ce champ est défini par le module 216 lors de l'élaboration de la charge utile 401. La charge utile 401 contient les lignes du flux vidéo qui vont de la première ligne représentée sur al Figure 4a par la référence 406 (indiquée par le champ 404) à la dernière ligne représentée par la référence 407 (indiquée par le champ 405). Comme on le verra par la suite, ces lignes du flux vidéo comprennent des informations sur des pixels à afficher par un dispositif d'affichage. La Figure 4b est un algorithme exécuté par le module de transmission de paquets vidéo 216 des Figures 2 et 3 dans un dispositif ou noeud émetteur, tel que celui référencé 102 sur la Figure 1. Cet algorithme comprend une succession d'étapes ou d'instructions (portions de code logiciel) qui sont exécutées par le module 216 en cas d'émission de données vers un dispositif ou noeud récepteur, tel que celui référencé 103 sur la Figure 1. L'algorithme comprend une première étape 410 d'attente du début d'une image. This field is defined by the module 216 during the development of the payload 401. The payload 401 contains the lines of the video stream which go from the first line shown in FIG. 4a to reference 406 (indicated by the 404 field). ) at the last line represented by 407 (indicated by 405). As will be seen later, these lines of the video stream include information on pixels to be displayed by a display device. FIG. 4b is an algorithm executed by the video packet transmission module 216 of FIGS. 2 and 3 in a transmitting device or node, such as the one referenced 102 in FIG. 1. This algorithm comprises a succession of steps or instructions (portions of software code) that are executed by the module 216 in the event of transmission of data to a receiving device or node, such as that referenced 103 in FIG. 1. The algorithm comprises a first step 410 waiting for the start of an image.

Le début d'une image intervient lorsque le module de réception HDMI 215 des Figures 2 et 3 fournit le signal de synchronisation de contrôle vertical Vsync. Lorsque le début d'une nouvelle image est détectée l'étape 410 est suivie d'une étape 411 au cours de laquelle un horodatage ("time stamp") 306 est fourni par le module échantillonneur 217. L' horodatage 306 représente l'instant d'apparition du signal "Vsync" tel que détecté à l'étape 410. Cet instant est défini par rapport à un temps de référence réseau fourni par la partie contrôleur de réseau 207. The beginning of an image occurs when the HDMI receiver module 215 of Figures 2 and 3 provides the Vsync vertical control synchronization signal. When the beginning of a new image is detected, the step 410 is followed by a step 411 during which a time stamp 306 is provided by the sampler module 217. The timestamp 306 represents the instant of occurrence of the signal "Vsync" as detected in step 410. This time is defined with respect to a network reference time provided by the network controller part 207.

Au cours de l'étape suivante 412, l'entête 400 (Figure 4a) du paquet vidéo incluant l'horodatage 306 obtenu à l'étape 411 est construit. Au cours de l'étape suivante 413, la charge utile 401 du paquet vidéo est construite en concaténant plusieurs lignes de flux vidéo (par exemple 16 lignes) qui constituent, par exemple, des lignes actives au sens où ces lignes incluent des informations sur des pixels à afficher par un dispositif d'affichage. Au cours de l'étape suivante 414, le paquet de données vidéo ainsi construit est transmis à la partie contrôleur réseau 207 de la Figure 2. L'étape suivante 415 de la Figure 4b est un test permettant de déterminer si la fin de l'image concernée dans le flux vidéo est atteinte ou non. In the next step 412, the header 400 (FIG. 4a) of the video packet including the timestamp 306 obtained in step 411 is constructed. In the next step 413, the payload 401 of the video packet is constructed by concatenating a plurality of video stream lines (e.g., 16 lines) that are, for example, active lines in the sense that these lines include information about video streams. pixels to be displayed by a display device. In the next step 414, the video data packet thus constructed is transmitted to the network controller portion 207 of Figure 2. The next step 415 of Figure 4b is a test to determine whether the end of the affected image in the video stream is reached or not.

On considère que la fin de l'image est atteinte lorsque toutes les lignes de l'image ont été envoyées. On notera que le nombre de lignes par image dépend du format vidéo utilisé. Les informations sur le format vidéo utilisé sont fournies par le module récepteur HDMI 215 des Figures 2 et 3 à l'unité de traitement CPU 201. Cette unité 201 fournit ensuite au module transmetteur de paquets vidéo 216 les informations sur le nombre de lignes par image du flux vidéo. It is considered that the end of the image is reached when all lines of the image have been sent. Note that the number of lines per image depends on the video format used. The information on the video format used is provided by the HDMI receiver module 215 of FIGS. 2 and 3 to the CPU 201 processing unit. This unit 201 then supplies the video packet transmitter module 216 with the number of lines per image information. of the video stream.

Dans le cas où la fin de l'image concernée n'a pas été atteinte (nombre de lignes de l'image non atteint), l'étape 415 est suivie d'une étape 416. Au cours de cette étape, un entête de paquets de données vidéo est construit. Cet entête est destiné à un paquet vidéo qui ne contient pas le début de l'image. Dans cet entête de paquet, le champ « horodatage » 403 n'est pas renseigné L'étape 416 est suivie de l'étape 413 déjà décrite au cours de laquelle la charge utile d'un paquet est construite. Dans le cas où la fin de l'image a été atteinte (test de l'étape 415), l'étape 415 est suivie de l'étape d'attente d'image 410 déjà décrite. La Figure 5a représente de façon détaillée la sous-partie d'affichage 205. La sous-partie d'affichage 205 est utilisée par le dispositif ou noeud récepteur 103 afin d'extraire la vidéo envoyée par le dispositif ou noeud émetteur 102 et d'afficher cette vidéo extraite sur le dispositif d'affichage 104. La sous-partie d'affichage 205 comprend le module 214 en charge de la réception des paquets vidéo et le module 213 en charge de générer les signaux de synchronisation ou de contrôle vidéo ainsi que le flux de pixels associé. Les paquets et signaux sont ensuite transmis au module d'interface vidéo 212 (module de transmission). Le module 214 comprend un module de réception du réseau (" Rx from network ") 500 qui est en charge de récupérer les données de synchronisation telles que présentes dans les entêtes 400 des paquets (Figure 4a) et d'envoyer ces données de synchronisation à un module "Vsync regen " 504 du module 213. Le module 500 doit aussi extraire les données vidéo telles que présentes dans la partie utile 401 des paquets et stocker ces données vidéo ainsi extraites dans un moyen de stockage " FIFO vidéo " 501. L'algorithme détaillé du fonctionnement du module 500 sera décrit en référence à la Figure 5c. Le module 213 comprend le module " Vsync regen" 504 déjà mentionné dont la fonction est de régénérer progressivement un signal, nommé peer-vsync " 507 (signal de contrôle synchronisé au rythme image de la source vidéo, noté aussi SV1), représentatif du signal de synchronisation verticale de la source 101. La reconstitution du signal de synchronisation verticale se fait à partir des informations de synchronisation reçues du module 500. Le module "Vsync regen " 504 a une capacité limitée à une régénération qualifiée de " douce " (par exemple pas plus de 10 pixels toutes les 3 images). Si la différence entre le signal de synchronisation verticale de la source 101 et le signal de synchronisation régénéré " peer_vsync " 507 est supérieur à la capacité de synchronisation " douce " du module " Vsync Regen " 504, alors la fréquence du signal d'horloge pixel local 514 est changée dans le module 515 qui la génère. Les détails de réalisation du module " Vsync regen " 504 sont représentés sur les Figures 5b et 6b. Le signal " peer_vsync " 507 (signal de contrôle SV1) est fourni par le module 504 en entrée d'un module de détection de différence de phase ("phase detector ") 505. L'autre entrée du détecteur 505 reçoit un signal "Vsync" 508 (signal de synchronisation verticale aussi noté SVL) fourni par un module (" video synchro generator ") 503. Le module de génération de synchronisation vidéo 503 génère les signaux de synchronisation vidéo en fonction du signal d'horloge pixel local 514 et de paramètres représentatifs du format vidéo souhaité (nombre de pixels par ligne, nombre de lignes par image, durée des signaux de synchronisation verticale et horizontale, ...). Le fonctionnement de ce module ainsi que le détail des paramètres du format vidéo sont illustrés sur les Figures 8a, 8b et 8c. Les paramètres de format vidéo sont stockés par l'unité CPU 201 dans une mémoire RAM 502. Le démarrage du module " video synchro generator " 503 est synchronisé sur le premier front montant du signal régénéré " peer_vsync " 507. Le module de détection 505 calcule la différence de phase entre le signal de synchronisation verticale du dispositif ou noeud récepteur 103, " Vsync " 508 (signal SVL synchronisé au rythme image du dispositif récepteur) et le signal de synchronisation verticale de la source vidéo 101, reconstitué progressivement et représenté par le signal " peer_vsync " 507 (SV1). La mise en oeuvre d'un module de détection de différence de phase est bien connue de l'homme du métier et ne sera donc pas décrite plus avant ici. Un module de gestion de dérive (" drift manager ") 506 reçoit les informations de différence de phase fournies par le module 505 et, en fonction de la nature de la différence ou dérive constatée (positive, négative) et de l'importance de la différence ou dérive constatée (moins d'une ligne, plus d'une ligne), le module 506 actionne les commandes " add_line " 509 ou " remove line " 510 à destination du module de génération de synchronisation vidéo 503. Sur réception de l'acquittement d'une des deux commandes ("ack_change" 511) par le module 503, le module 506 envoie au module 504 une commande " realign " 525 pour réaligner le signal " peer vsync " 507 sur le début de ligne. Le détail du module de gestion de dérive 506 est illustré à la Figure 6a. Le module " video synchro generator " 503 agit sur la durée de la période de masquage vertical (" vertical_blanking " en terminologie anglo-saxonne) de l'image sur réception des commandes " add_line " 509 ou " remove_line " 510. La ou les lignes ajoutées ou supprimées en début d'image à afficher dépendent, pour leur nombre, de la grandeur de la différence ou dérive calculée précédemment. Ces lignes sont " invisibles " à l'affichage et sont qualifiées de lignes inactives en ce sens qu'elles ne contiennent pas d'informations sur des pixels d'image à afficher. L'action du module 503 se situe au niveau de la période dite " Back porch lines " 913 des Figures 7a et 7b. Sur réception d'une commande " remove_line " 510 le module 503 raccourcit la durée de la période " Back porch lines " 913 d'une ligne. Sur réception d'une commande " add line " 509, le module 503 rallonge la durée de la période " Back porch lines " 913 d'une ligne. Une fois la commande exécutée, le module 503 envoie au module 506 le signal d'acquittement " ack change " 511 déjà mentionné. Le module 212 transmet le flux vidéo vers le dispositif d'affichage 104 à partir du signal " peer_vsync " 507 (SV1) tel que fourni par le module " Vsyncregen " 504, de signaux " Hsync " 512 (SHL) et " de " 513 tels que fournis par le module 503, du signal d'horloge pixel local " pixel_clock " 514 et d'un bus de pixels extrait du moyen de stockage 501. Le moyen de stockage 501 est lu au rythme du signal " de " 513 qui définit les instants correspondant aux pixels " actifs " dans les lignes actives de l'image à afficher (voir Figures 7a et 7b). In the case where the end of the image concerned has not been reached (number of lines of the image not reached), step 415 is followed by a step 416. During this step, a header of video data packets is built. This header is for a video package that does not contain the beginning of the image. In this packet header, the "timestamp" field 403 is not filled. Step 416 is followed by the step 413 already described during which the payload of a packet is constructed. In the case where the end of the image has been reached (test of step 415), step 415 is followed by the image waiting step 410 already described. Figure 5a shows in detail the display sub-part 205. The display sub-part 205 is used by the receiver device or node 103 to extract the video sent by the transmitting device or node 102 and display this extracted video on the display device 104. The display sub-part 205 comprises the module 214 in charge of the reception of the video packets and the module 213 in charge of generating the synchronization or video control signals as well as the associated pixel flow. The packets and signals are then transmitted to the video interface module 212 (transmission module). The module 214 comprises a network reception module ("Rx from network") 500 which is in charge of recovering the synchronization data as present in the headers 400 of the packets (FIG. 4a) and sending these synchronization data to a module "Vsync regen" 504 of the module 213. The module 500 must also extract the video data as present in the useful part 401 of the packets and store the video data thus extracted in a storage means "FIFO video" 501. The Detailed algorithm of the operation of the module 500 will be described with reference to Figure 5c. The module 213 comprises the "Vsync regen" module 504 already mentioned whose function is to progressively regenerate a signal, named peer-vsync "507 (control signal synchronized to the frame rate of the video source, also denoted SV1), representative of the signal vertical synchronization of the source 101. The reconstitution of the vertical synchronization signal is made from the synchronization information received from the module 500. The module "Vsync regen" 504 has a capacity limited to a regeneration described as "soft" (for example no more than 10 pixels every 3 frames.) If the difference between the vertical sync signal of the source 101 and the regenerated sync signal "peer_vsync" 507 is greater than the "soft" sync capability of the "Vsync Regen" module 504, then the frequency of the local pixel clock signal 514 is changed in the module 515 which generates it.The details of realization of the module "Vsync re Gen. 504 are shown in Figures 5b and 6b. The signal "peer_vsync" 507 (control signal SV1) is supplied by the module 504 at the input of a phase detector module 505. The other input of the detector 505 receives a signal "Vsync" "508 (vertical synchronization signal also noted SVL) provided by a video synchro generator 503. The video synchronization generation module 503 generates the video sync signals according to the local pixel clock signal 514 and parameters representative of the desired video format (number of pixels per line, number of lines per image, duration of the vertical and horizontal synchronization signals, etc.). The operation of this module as well as the detail of the video format parameters are illustrated in Figures 8a, 8b and 8c. The video format parameters are stored by the CPU 201 in a RAM 502. The start of the "video synchro generator" module 503 is synchronized on the first rising edge of the regenerated signal "peer_vsync" 507. The detection module 505 calculates the phase difference between the vertical synchronization signal of the receiver device or node 103, "Vsync" 508 (SVL signal synchronized with the image timing of the receiver device) and the vertical synchronization signal of the video source 101, reconstituted progressively and represented by the signal "peer_vsync" 507 (SV1). The implementation of a phase difference detection module is well known to those skilled in the art and will not be described further here. A drift manager module 506 receives the phase difference information provided by the module 505 and, depending on the nature of the difference or drift found (positive, negative) and the magnitude of the difference. difference or drift found (less than one line, more than one line), the module 506 operates the commands "add_line" 509 or "remove line" 510 to the video synchronization generation module 503. On receipt of the acknowledgment of one of the two commands ("ack_change" 511) by the module 503, the module 506 sends the module 504 a "realign" command 525 to realign the "peer vsync" signal 507 on the beginning of line. The detail of the drift management module 506 is shown in Figure 6a. The module "video synchro generator" 503 acts on the duration of the vertical masking period ("vertical_blanking" in English terminology) of the image on receipt of the commands "add_line" 509 or "remove_line" 510. The line or lines added or deleted at the beginning of the image to be displayed depend, for their number, on the magnitude of the previously calculated difference or drift. These lines are "invisible" to the display and are called inactive lines in that they do not contain information about image pixels to display. The action of the module 503 is at the level of the period called "back porch lines" 913 of FIGS. 7a and 7b. On receipt of a "remove_line" command 510 the module 503 shortens the duration of the "Back porch lines" period 913 of a line. On receipt of an "add line" command 509, the module 503 extends the duration of the "Back porch lines" period 913 by one line. Once the command has been executed, the module 503 sends the module 506 the acknowledgment signal "ack change" 511 already mentioned. The module 212 transmits the video stream to the display device 104 from the "peer_vsync" signal 507 (SV1) as provided by the "Vsyncregen" module 504, "Hsync" signals 512 (SHL) and "from" 513 as provided by the module 503, the local pixel_clock clock signal 514 and a pixel bus extracted from the storage means 501. The storage means 501 is read at the rate of the "of" signal 513 which defines the instants corresponding to the "active" pixels in the active lines of the image to be displayed (see FIGS. 7a and 7b).

Le module 515 de génération du signal d'horloge pixel local 514 (ce signal cadence/rythme la durée d'affichage des pixels) est par exemple composé d'un oscillateur à quartz générant une fréquence de 24 MHz, d'une PLL avec un ratio de 116/100, générant ainsi une horloge à 27,84 MHz, puis d'un multiplieur permettant d'atteindre la fréquence pixel telle que définie par le format vidéo utilisé (information contenue dans la mémoire RAM 502). Deux autres ratio pouvant être utilisés en plus du 116/100, à savoir le 117/100 et le 115/100 au cas où la capacité de synchronisation " douce " du module "Vsync regen " 504 est trop limitée. L'invention est avantageusement mise en oeuvre dans le dispositif ou noeud récepteur 103 puisque le module 213 est complètement synchrone ("full synchronous" en anglais). En effet, ce module ne dépend que d'un seul signal d'horloge, à savoir le signal d'horloge pixel " pixelclock " 514. D'autres implémentations à base de PLL dépendraient d'au moins deux signaux d'horloge : une horloge pixel locale telle que l'horloge 514 et une horloge résultant de la PLL. L'horloge pixel locale 514 peut être générée à partir d'une PLL dans le module 515, mais le signal d'horloge pixel 514 reste la seule source d'horloge pour tous les autres modules. De plus, cette mise en oeuvre garantit une modulation douce de la phase du signal de synchronisation verticale " peer_vsync " 507 par le module " Vsync Regen " 504, évitant ainsi une correction brutale de la synchronisation. Par ailleurs, cette mise en oeuvre respecte complètement l'intégrité des données vidéo puisque le module " vidéo synchro generator " 503 ne supprime que des lignes non actives dans les images à afficher. En outre, cette mise en oeuvre n'altère pas le signal de synchronisation horizontale Hsync 512 dans la mesure où le module " video synchro generator " 503 ne modifie pas la durée des lignes actives et non actives mais seulement leur nombre dans une image. The module 515 for generating the local pixel clock signal 514 (this signal cadence / rhythm the pixel display time) is for example composed of a quartz oscillator generating a frequency of 24 MHz, a PLL with a ratio of 116/100, thus generating a clock at 27.84 MHz, then a multiplier to reach the pixel frequency as defined by the video format used (information contained in the RAM 502). Two other ratios that can be used in addition to 116/100, namely 117/100 and 115/100 in case the "soft" synchronization capacity of the "Vsync regen" module 504 is too limited. The invention is advantageously implemented in the device or receiver node 103 since the module 213 is completely synchronous ("full synchronous" in English). Indeed, this module depends only on a single clock signal, namely the pixel clock signal "pixelclock" 514. Other implementations based on PLL depend on at least two clock signals: a local pixel clock such as the clock 514 and a clock resulting from the PLL. The local pixel clock 514 may be generated from a PLL in the module 515, but the pixel clock signal 514 remains the only clock source for all the other modules. In addition, this implementation guarantees a smooth modulation of the phase of the vertical synchronization signal "peer_vsync" 507 by the "Vsync Regen" module 504, thus avoiding a sudden correction of the synchronization. Furthermore, this implementation fully respects the integrity of the video data since the "video synchro generator" module 503 only removes lines that are not active in the images to be displayed. Furthermore, this implementation does not alter the horizontal synchronization signal Hsync 512 since the video synchro generator module 503 does not modify the duration of the active and non-active lines but only their number in an image.

La Figure 5b représente de façon plus détaillée le module "Vsync regen " 504. Ce module régénère le signal de synchronisation verticale (SV1) de la source 101 dans le dispositif ou noeud récepteur 103 à partir des informations de synchronisation (horodatages). Ces informations de synchronisation sont insérées dans les entêtes de paquet par le dispositif ou noeud émetteur 102 (étape 412 de la Figure 4b), ensuite ces informations de synchronisation sont extraites des entêtes dans le dispositif ou noeud récepteur 103 par le module " RX from network " 500, puis envoyées au module " Vsync regen " 504. Figure 5b shows in more detail the module "Vsync regen" 504. This module regenerates the vertical synchronization signal (SV1) of the source 101 in the device or receiver node 103 from the synchronization information (timestamps). This synchronization information is inserted into the packet headers by the sending device or node 102 (step 412 of Figure 4b), after which this synchronization information is extracted from the headers in the receiving device or node 103 by the "RX from network" module. "500, then sent to the module" Vsync regen "504.

Les informations de synchronisation sont exploitées par un module " Vsync monitor" 530 tel que décrit plus loin en référence à la Figure 6e. Le module " Vsync monitor " 530 observe la période du signal de synchronisation verticale de la source 101 et module la durée nominale du signal régénéré " peer_vsync " 507 (SV1) en changeant la valeur d'un registre " nominal Vsync " 516. On notera que le signal SV1 généré au dispositif récepteur est modifié pixel par pixel en fonction de la dérive du dispositif récepteur par rapport à la source vidéo. Un compteur 517 alimenté par le signal d'horloge pixel 514 est comparé au registre " nominal vsync " 516 par un comparateur 518. A chaque fois que le compteur atteint la valeur nominale de la période de synchronisation verticale, le comparateur 518 génère une impulsion vers un module " Vsync niveau haut " 522 et vers la commande de remise à zéro du compteur 517. Le module " Vsync niveau haut " maintient le signal " peer_vsync " 507 à l'état haut pendant une durée définie par le format vidéo utilisé. Cette information est contenue dans la mémoire RAM 502. Un exemple de ces paramètres sera fourni ultérieurement en référence à la Figure 7b. Un module de temps réseau (" network time ") 519 génère une information temporelle d'horodatage en lien avec l'horloge du réseau et telle que fournie par la partie contrôleur réseau 207. A chaque front montant du signal " peer_vsync " 507, le module 519 génère un horodatage ("time stamp") et l'envoie au module " Vsync monitor " 530. The synchronization information is exploited by a module "Vsync monitor" 530 as described below with reference to Figure 6e. The "Vsync monitor" module 530 observes the period of the vertical synchronization signal of the source 101 and modulates the nominal duration of the regenerated signal "peer_vsync" 507 (SV1) by changing the value of a "nominal Vsync" register 516. It will be noted that the signal SV1 generated at the receiver device is modified pixel by pixel as a function of the drift of the receiver device with respect to the video source. A counter 517 fed by the pixel clock signal 514 is compared to the "nominal vsync" register 516 by a comparator 518. Whenever the counter reaches the nominal value of the vertical synchronization period, the comparator 518 generates a pulse towards a "high level Vsync" module 522 and to the reset command of the counter 517. The "high level Vsync" module holds the "peer_vsync" signal 507 high for a period defined by the video format used. This information is contained in the RAM 502. An example of these parameters will be provided later with reference to Figure 7b. A network time module 519 generates timestamp time information related to the network clock and as provided by the network controller portion 207. At each rising edge of the peer_vsync signal 507, the module 519 generates a timestamp ("time stamp") and sends it to the "Vsync monitor" module 530.

Le registre " nominal Vsync " 516 peut aussi recevoir une commande de réalignement realign ") 525 envoyée par le module de gestion de dérive 506 (Figure 5a). Cette commande comprend un temps de cycle et un signe + ou -. Sur réception d'un signe -, le registre "nominal Vsync " 516 augmente sa valeur en y ajoutant la différence entre sa propre valeur et le temps de cycle inclus dans la commande. Sur réception d'un signe +, le registre " nominal vsync " 516 diminue sa valeur en y retranchant la différence entre sa propre valeur et le temps de cycle inclus dans la commande. La Figure 5c illustre un algorithme exécuté par le module 500 de la 10 Figure 5a (dispositif ou noeud récepteur 103). Cet algorithme comporte une succession d'étapes, instructions ou portions de code logiciel qui sont exécutés lors de l'exécution de l'algorithme. L'algorithme comprend une première étape 700 d'attente de réception d'un paquet de données vidéo de la partie contrôleur réseau 207 de 15 la Figure 2. Dès qu'un paquet est reçu l'étape suivante 701 est exécutée. Au cours de cette étape, un test est pratiqué afin de déterminer si l'entête du paquet contient une balise indiquant un début d'image ("flag" 402 de la Figure 4a). 20 En cas de réponse négative, l'étape 700 est de nouveau exécutée. Dans le cas contraire (début d'image), une étape suivante 702 est exécutée. Au cours de cette étape, un horodatage ("time stamp") est extraite de l'entête du paquet et l'étape suivante 703 est exécutée. 25 Au cours de cette étape, l'horodatage extrait est transmis au module "Vsync monitor" 530 de la Figure 5b et l'étape suivante 704 est exécutée. Au cours de cette étape, les lignes actives du flux vidéo de la partie utile 401 du paquet de la Figure 4a sont stockées dans le moyen de stockage 501 de la Figure 5a et l'étape suivante 705 est exécutée. 30 Au cours de cette étape, un test est pratiqué afin de déterminer si la fin d'une image est atteinte. The "nominal Vsync" register 516 may also receive a realign realignment command 525 sent by the drift management module 506 (Figure 5a) This command includes a cycle time and a + or - sign. a sign -, the "nominal Vsync" register 516 increases its value by adding the difference between its own value and the cycle time included in the command.On receipt of a + sign, the "nominal vsync" register 516 decreases its value. value by subtracting the difference between its own value and the cycle time included in the command Figure 5c illustrates an algorithm executed by the module 500 of Figure 5a (receiving device or node 103). steps, instructions, or portions of software code that are executed during the execution of the algorithm The algorithm includes a first step 700 of waiting to receive a video data packet from the network controller portion 207 of 15Figure 2. As soon as a packet is received the next step 701 is executed. During this step, a test is performed to determine whether the header of the packet contains a flag indicating a start of image ("flag" 402 of Figure 4a). In case of a negative response, step 700 is executed again. In the opposite case (beginning of image), a next step 702 is executed. During this step, a timestamp ("time stamp") is extracted from the header of the packet and the next step 703 is executed. During this step, the extracted timestamp is transmitted to the "Vsync monitor" module 530 of Figure 5b and the next step 704 is executed. During this step, the active lines of the video stream of the useful part 401 of the packet of Figure 4a are stored in the storage means 501 of Figure 5a and the next step 705 is executed. During this step, a test is performed to determine if the end of an image is reached.

La fin d'une image est atteinte lorsque toutes les lignes de l'image ont été stockées. Comme déjà indiqué plus haut, le nombre de lignes par image dépend du format vidéo utilisé et cette information est envoyée par le module récepteur HDMI 215 de la Figure 2 à l'unité de traitement CPU 201 du dispositif ou noeud émetteur. L'unité CPU 201 du dispositif ou noeud émetteur transmet cette information au dispositif ou noeud récepteur, plus particulièrement à l'unité CPU 201 de ce dernier, par l'intermédiaire de données de contrôle de la partie contrôleur de réseau 207. L'unité CPU 201 du dispositif ou noeud récepteur envoie une information sur le nombre de lignes par image de la vidéo ou module 500 de la Figure 5a. Dans l'hypothèse où la fin d'une image n'est pas atteinte, l'étape 705 est suivie d'une étape 706 d'attente d'un prochain paquet vidéo provenant de la partie contrôleur de réseau 207. En cas de réception de paquet, l'étape 706 est suivie de l'étape 704 déjà décrite. Dans l'hypothèse où la fin d'une image est atteinte, l'étape 705 est alors suivie de l'étape 700 déjà décrite plus haut. La Figure 6a illustre un algorithme exécuté par le module "Vsync monitor" 530 de la Figure 5b (dispositif ou noeud récepteur 103). Cet algorithme comprend une série d'étapes, instructions ou portions de code logiciel exécutées lors de l'exécution de l'algorithme. The end of an image is reached when all lines of the image have been stored. As already indicated above, the number of lines per image depends on the video format used and this information is sent by the HDMI receiver module 215 of Figure 2 to the processing unit CPU 201 of the sending device or node. The CPU unit 201 of the transmitting device or node transmits this information to the receiving device or node, more particularly to the CPU 201 of the latter, via control data of the network controller part 207. The unit CPU 201 of the device or receiver node sends information on the number of lines per frame of the video or module 500 of Figure 5a. Assuming that the end of an image is not reached, step 705 is followed by a step 706 of waiting for a next video packet from the network controller portion 207. In case of reception packet, step 706 is followed by step 704 already described. Assuming that the end of an image is reached, step 705 is then followed by step 700 already described above. Figure 6a illustrates an algorithm executed by the "Vsync monitor" module 530 of Figure 5b (receiving device or node 103). This algorithm comprises a series of steps, instructions or portions of software code executed during the execution of the algorithm.

Cet algorithme comprend une première étape 600 au cours de laquelle le registre 516 est chargé avec une valeur ("nominal Vsync") représentative de la fréquence image visée et qui est représentative de la fréquence du signal d'horloge pixel local 514 (cela signifie que la valeur nominale ainsi chargée est égale au nombre de pixels par image, incluant les périodes de masquage ou "blanking periods"). Cette valeur est fixée par l'unité CPU 201 et stockée dans la mémoire RAM 502. This algorithm comprises a first step 600 during which the register 516 is loaded with a value ("nominal Vsync") representative of the target image frequency and which is representative of the frequency of the local pixel clock signal 514 (this means that the nominal value thus charged is equal to the number of pixels per image, including the blanking periods. This value is set by the CPU 201 and stored in the RAM 502.

A titre d'exemple, pour un format vidéo de 1080p utilisant une fréquence de 60Hz, la valeur nominale du registre 516 est fixée à 2 475 000, correspondant à 1125 (lignes par image) x 2200 (pixels par ligne). Au cours de l'étape suivante 601, un horodatage ("time stamp") est 5 attendu du module 500 de la Figure 5a. Dès réception de cet horodatage, l'étape 601 est suivie de l'étape 602. Au cours de cette étape, le compteur 517 de la Figure 5b démarre. Le compteur 507 est synchronisé avec le début d'une image. Au 10 cours de cette étape, les variables "remote V1" et "local V1" sont respectivement fixées aux valeurs précédentes (instant t-1) d'horodatage ("time stamp") et de temps réseau. L'étape 602 est ensuite suivie d'une étape 604 d'attente de l'occurrence de l'horodatage suivant en provenance du module 500 et de 15 l'occurrence d'un horodatage local déclenchée par le signal "peer_vsync" 507. Lorsque ce signal 507 monte, la valeur de l'horodatage de référence prend la valeur du temps réseau 519. Le temps réseau 519 est piloté par la partie contrôleur de réseau 207. 20 L'étape 604 est ensuite suivie d'une étape 605 de test afin de déterminer si le signal "Remote Vsync" de la source vidéo est plus lent que le signal "peer_vsync" 507. Les informations représentatives du signal "Remote Vsync" sont obtenues à partir des horodatages présents dans les entêtes des paquets. Elles permettent de déterminer la période du signal à partir de la 25 différence entre deux horodatages extraits de paquets reçus et qui représentent respectivement l'instant d'apparition de deux fronts montants consécutifs dudit signal. Afin de réaliser ce test, on compare les valeurs [remote time stampremote V1] et [local time stamp-local V1] où les variables "remote time stamp" 30 et "local time stamp" ont pour valeurs respectives les valeurs courantes (instant t) d'horodatage et de temps réseau. By way of example, for a 1080p video format using a frequency of 60 Hz, the nominal value of the register 516 is fixed at 2,475,000, corresponding to 1125 (lines per picture) x 2200 (pixels per line). In the next step 601, a timestamp ("time stamp") is expected from the module 500 of Figure 5a. Upon receipt of this time stamp, step 601 is followed by step 602. During this step, counter 517 of Figure 5b starts. Counter 507 is synchronized with the beginning of an image. During this step, the variables "remote V1" and "local V1" are respectively fixed to the previous values (time t-1) of timestamp ("time stamp") and network time. Step 602 is then followed by a step 604 waiting for the occurrence of the next time stamp coming from the module 500 and the occurrence of a local time stamp triggered by the "peer_vsync" signal 507. When this signal 507 mounts, the value of the reference time stamp takes the value of the network time 519. The network time 519 is controlled by the network controller part 207. The step 604 is then followed by a test step 605 to determine if the "Remote Vsync" signal of the video source is slower than the "peer_vsync" signal 507. The information representative of the "Remote Vsync" signal is obtained from the timestamps present in the packet headers. They make it possible to determine the period of the signal from the difference between two timestamps extracted from received packets and which respectively represent the instant of appearance of two consecutive rising edges of said signal. In order to carry out this test, the values [remote time stampremote V1] and [local time stamp-local V1] are compared, where the variables "remote time stamp" 30 and "local time stamp" have respective values for the current values (instant t ) time stamp and network time.

Si la première valeur est supérieure à la seconde valeur, alors le signal "Remote Vsync" est plus lent et l'étape 609 est exécutée. Dans le cas contraire, l'étape 605 est suivie de l'étape 607. Au cours de l'étape 609, un test est pratiqué afin de déterminer si la correction de synchronisation peut être appliquée de façon douce. Comme décrit précédemment, la capacité de correction du module est limitée à un nombre prédéterminé K de pixels tous les N cycles. Ainsi, si la dernière correction est survenue avant que N cycles (par exemple trois cycles) se soient écoulés, l'étape 609 est alors suivie de l'étape 604 déjà décrite et aucune correction n'est appliquée. Si la quantité ou l'importance de la correction ([remote time stampremote V1] - [local time stamp-local V1]) est plus grande que le nombre de pixels K (par exemple dix coups d'horloge pixels), alors un signal de changement du "local pixels clock ratio" est envoyé du module 504 au module 515 ("coarse_correction" 523 sur la Figure 5a). Ainsi, la vitesse de l'horloge pixel générée par le module 515 sera modifiée pour être plus proche du rythme de la source vidéo. Dans le cas précité la capacité de correction de K pixels par N cycles est dépassée et la correction demandée est considérée comme "brutale" L'étape 609 est ensuite suivie de l'étape 604 déjà décrite et aucune correction n'est appliquée. Dans le cas contraire, l'étape 609 est suivie de l'étape 606. Au cours de l'étape 606, le signal "peer_Vsync" 507 est ralenti d'un nombre de coups d'horloge (du signal d'horloge pixel local 514) tel que déterminé à l'étape 609. Plus particulièrement, le signal 507 est ralenti en activant de façon correspondante la commande de décrémentation 520 du registre 516 (Figure 5b). Ensuite, les variables "remote V1" et "local V1" prennent respectivement pour valeurs les nouvelles valeurs de "remote time stamp" et "local time stamp". If the first value is greater than the second value, then the "Remote Vsync" signal is slower and step 609 is executed. If not, step 605 is followed by step 607. In step 609, a test is performed to determine whether the timing correction can be softly applied. As previously described, the correction capacity of the module is limited to a predetermined number K of pixels every N cycles. Thus, if the last correction has occurred before N cycles (for example three cycles) have elapsed, step 609 is then followed by step 604 already described and no correction is applied. If the amount or importance of the correction ([remote time stampremote V1] - [local time stamp-local V1]) is greater than the number of pixels K (for example ten pixel clock strokes), then a signal The "local pixel clock ratio" change is sent from module 504 to module 515 ("coarse_correction" 523 in FIG. 5a). Thus, the speed of the pixel clock generated by the module 515 will be modified to be closer to the rhythm of the video source. In the aforementioned case the correction capacity of K pixels by N cycles is exceeded and the requested correction is considered "brutal" Step 609 is then followed by step 604 already described and no correction is applied. If not, step 609 is followed by step 606. In step 606, the "peer_Vsync" signal 507 is slowed down by a number of clock ticks (of the local pixel clock signal). 514) as determined in step 609. More particularly, the signal 507 is slowed by correspondingly activating the decrement control 520 of the register 516 (Figure 5b). Then, the variables "remote V1" and "local V1" respectively take as values the new values of "remote time stamp" and "local time stamp".

L'étape 606 est ensuite suivie de l'étape 604 déjà décrite en vue d'attendre de nouvelles informations temporelles d'horodatage ("time stamps"). De retour à l'étape 605, en cas de test négatif, cette étape est suivie de l'étape 607. Step 606 is then followed by step 604 already described in order to wait for new time stamps information ("time stamps"). Returning to step 605, in the case of a negative test, this step is followed by step 607.

Au cours de cette étape, un test est pratiqué afin de savoir si le signal "Remote Vsync" est plus rapide que le signal "peer_vsync" 507. Pour la mise en oeuvre de ce test, on procède à la comparaison entre les valeurs [remote time stamp-remote V1] et [local time stamp-local V1]. Si la première valeur est inférieure à la seconde valeur, alors le signal "Remote Vsync" est plus rapide et l'étape 607 est suivie de l'étape de test 610. Dans le cas contraire, les variables "remote V1" et "local V1" prennent respectivement pour valeurs les nouvelles valeurs de "remote time stamp" et "local time stamp". During this step, a test is practiced in order to know if the signal "Remote Vsync" is faster than the signal "peer_vsync" 507. For the implementation of this test, one proceeds to the comparison between the values [remote time stamp-remote V1] and [local time stamp-local V1]. If the first value is less than the second value, then the signal "Remote Vsync" is faster and step 607 is followed by the test step 610. Otherwise, the variables "remote V1" and "local" V1 "respectively take as values the new values of" remote time stamp "and" local time stamp ".

L'étape 607 est ensuite suivie de l'étape 604 déjà décrite ci-dessus. De retour à l'étape 610, un test est pratiqué afin de déterminer si la correction de synchronisation peut être appliquée de façon douce (c'est-à-dire non brutale). Comme déjà décrit, la capacité de correction de ce module est limitée à un nombre K de pixels tous les N cycles. Ainsi, si la dernière correction est intervenue avant que N cycles (par exemple trois cycles) se soient écoulés, alors l'étape 610 est suivie de l'étape 604 déjà décrite et aucune correction n'est appliquée. Si la quantité ou l'importance de la correction ([local time stamp-local V1]-[remote time stamp-remote V1]) est supérieure au nombre K (par exemple dix coups d'horloge pixels), alors un signal de changement du "local pixels clock ratio" est envoyé par le module 504 au module 515 de la Figure 5a ("coarse_correction" 523) et l'étape 610 est alors suivie de l'étape 604 déjà décrite sans qu'aucune correction n'ait été appliquée. Step 607 is then followed by step 604 already described above. Returning to step 610, a test is performed to determine if the timing correction can be applied smoothly (i.e., not abruptly). As already described, the correction capacity of this module is limited to a number K of pixels every N cycles. Thus, if the last correction has occurred before N cycles (for example three cycles) have elapsed, then step 610 is followed by step 604 already described and no correction is applied. If the quantity or importance of the correction ([local time stamp-local V1] - [remote time stamp-remote V1]) is greater than the number K (for example ten pixel clock shots), then a signal of change the "local pixel clock ratio" is sent by the module 504 to the module 515 of Figure 5a ("coarse_correction" 523) and the step 610 is then followed by the step 604 already described without any correction has been applied.

Dans le cas contraire, l'étape 610 est suivie d'une étape 608 au cours de laquelle le signal "peer_vsync" est accéléré d'un nombre de coups d'horloge pixel local 514 tel que défini à l'étape 609. In the opposite case, step 610 is followed by a step 608 during which the "peer_vsync" signal is accelerated by a number of local pixel clock pulses 514 as defined in step 609.

L'accélération du signal est obtenue plus particulièrement en activant de façon correspondante la commande d'incrémentation 521 du registre nominal 516 de la Figure 5b. Ensuite, les variables "remote V1" et "local VI" prennent respectivement les valeurs de "remote time stamp" et "local time stamp". L'étape 608 est alors suivie de l'étape 604 déjà décrite en vue d'attendre de nouvelles informations temporelles d'horodatage (time stamps). La Figure 6b décrit un algorithme mis en oeuvre par le module de gestion de dérive 506 de la Figure 5a. The signal acceleration is obtained more particularly by correspondingly activating the incrementation control 521 of the nominal register 516 of FIG. 5b. Then, the variables "remote V1" and "local VI" respectively take the values of "remote time stamp" and "local time stamp". Step 608 is then followed by step 604 already described in order to wait for new time stamps information (time stamps). Figure 6b describes an algorithm implemented by the drift management module 506 of Figure 5a.

Ce module est mis en oeuvre par le dispositif ou noeud récepteur 103 pour commander l'ajout et la suppression de lignes inactives par le module "video synchro generator " 503 de la figure 5a. L'adaptation du nombre de lignes inactives dans une image est réalisée en fonction du déphasage (ou dérive) déterminé par le module de détection 505 sur les signaux "Vsync " 508 et " peer_vsync " 507. Le signal "Vsync " 508 est généré par le module " video synchro generator " 503 et est donc représentatif de la fréquence image fournie au dispositif d'affichage 104. Le signal " peer_vsync " 507 est généré par le module " Vsync regen " 504 à partir des informations représentatives de la fréquence image de la source 101. This module is implemented by the receiving device or node 103 to control the addition and deletion of idle lines by the "video synchro generator" module 503 of FIG. 5a. The adaptation of the number of inactive lines in an image is performed according to the phase shift (or drift) determined by the detection module 505 on the "Vsync" signals 508 and "peer_vsync" 507. The "Vsync" signal 508 is generated by the "video synchro generator" module 503 and is therefore representative of the image frequency supplied to the display device 104. The "peer_vsync" signal 507 is generated by the "Vsync regen" module 504 from information representative of the image frequency of the source 101.

Lors de l'étape initiale 620 de l'algorithme, le module se met en attente d'une détection de différence de phase (ou dérive) calculée par le module " phase detector " 505. Puis, lorsque qu'une différence de phase a été détectée, le module 506 passe à l'étape suivante 621. Lors de l'étape 621 le module 506 détermine via un test le sens du déphasage qui a été déterminé par le module " phase detector " 505. Si le signal " peer_vsync " 507 est en avance de phase par rapport au signal " Vsync " 508, alors le module passe à l'étape 622, sinon le signal " Vsync " 508 est en avance de phase par rapport au signal " peer_vsync " 507 et le module passe à l'étape 627. During the initial step 620 of the algorithm, the module waits for a phase difference detection (or drift) calculated by the "phase detector" module 505. Then, when a phase difference has has been detected, the module 506 goes to the next step 621. In the step 621 the module 506 determines via a test the direction of the phase shift that has been determined by the "phase detector" module 505. If the signal "peer_vsync" 507 is in phase advance with respect to the "Vsync" signal 508, then the module proceeds to step 622, otherwise the "Vsync" signal 508 is in phase advance with respect to the "peer_vsync" signal 507 and the module proceeds to step 627.

Lors de l'étape 622, le module 506 détermine par un test si la différence de phase (ou dérive) a atteint ou dépassé la valeur d'une ligne. La valeur d'une ligne est fournie par l'unité CPU ou obtenue à partir de la mémoire RAM 502. Par exemple, pour un format vidéo de 1080p la valeur d'une ligne correspond à 2200 fronts d'horloge pixel 514. Ainsi, si la différence de phase est égale ou supérieure à la valeur d'une ligne, alors le module 506 passe à l'étape 623, sinon il reboucle à l'étape 620 déjà décrite. In step 622, the module 506 determines by a test whether the phase difference (or drift) has reached or exceeded the value of a line. The value of a line is provided by the CPU unit or obtained from the RAM 502. For example, for a 1080p video format the value of a line corresponds to 2200 pixel clock fronts 514. Thus, if the phase difference is equal to or greater than the value of a line, then the module 506 proceeds to step 623, otherwise it loops back to step 620 already described.

Lors de l'étape 623, le module 506 active la commande " remove_line " 510 afin de réduire la période du signal "Vsync " 508 (SVL) qui est en retard de phase par rapport au signal " peer_vsync " 507 (SV1). L'exemple de la Figure 7a illustre ce cas. Le module 506 passe ensuite à l'étape 624. In step 623, the module 506 activates the "remove_line" command 510 to reduce the period of the "Vsync" signal 508 (SVL) which is out of phase with the "peer_vsync" signal 507 (SV1). The example in Figure 7a illustrates this case. The module 506 then proceeds to step 624.

Lors de l'étape 624, le module 506 se met en attente du signal d'acquittement " ack_change " 511 qui sera envoyé par le module " video synchro generator " 503 dès la prise en compte de la commande passée. Une fois le signal d'acquittement reçu, le module 506 passe à l'étape 625. Lors de l'étape 625, le module 506 relâche les commandes passées, puis envoie une commande " realign " 525 pour réaligner le signal " peer_vsync " 507 sur le début de ligne. La valeur du réalignement est par exemple égale à la différence du temps de cycle entre le signal " Vsync " 508 et le signal " peer_vsync " 507. Le temps de cycle du signal " Vsync " 508 est contenu dans la mémoire RAM 502 et le temps de cycle du signal " peer_vsync " est connu du module "Vsync regen " 504. Si la commande acquittée est " add_line " 509 (Figure 5a) alors la commande de réalignement comprend l'indication - et le temps de cycle du signal " Vsync " 508 contenu dans la mémoire RAM 502. Si la commande acquittée est " remove_line " 510 (Figure 5a), alors la commande de réalignement comprend l'indication + et le temps de cycle du signal " Vsync " 508 contenu dans la mémoire RAM 502. Ensuite, le module 506 reboucle sur l'étape initiale 620 déjà décrite. De retour à l'étape 627, le module 506 teste si la différence de phase a atteint ou dépassé la valeur d'une ligne telle que définie ci-dessus. Ainsi, si la différence de phase est égale ou supérieure à la valeur d'une ligne, alors le module passe à l'étape 628, sinon il reboucle à l'étape 620 déjà décrite. Lors de l'étape 628 le module active la commande " add_line " 509 afin d'augmenter la période du signal " Vsync " 508 (SVL) qui est en avance de phase par rapport au signal " peer_vsync " 507 (SV1). Le module 506 passe ensuite à l'étape 624 déjà décrite. La Figure 7a illustre sous la forme de chronogrammes différents signaux utilisés pour la synchronisation d'un flux vidéo et, plus particulièrement, pour contrôler le rythme d'affichage des images du flux vidéo sur un dispositif d'affichage tel que le dispositif 104 de la Figure 1. Plus particulièrement, on a représenté les signaux "de" (data_enable) 513 de la Figure 5a, "Hsync" (SHL) 512 (signal de synchronisation horizontale) de la Figure 5a, "Vsync" (SVL) 508 (signal de synchronisation verticale) et "peer_vsync" (SV1) 507 (signal régénéré) de la Figure 5a. Les signaux "de", "Hsync" et "Vsync" sont des signaux rythmés sur l'horloge locale du dispositif ou noeud récepteur, tandis que le signal "peer_vsync" est rythmé sur l'horloge de la source vidéo ou du dispositif ou noeud émetteur si source et dispositif émetteur sont confondus. La combinaison d'un signal de contrôle (SV1) synchronisé sur la source vidéo avec un ou plusieurs signaux synchronisés sur le dispositif ou noeud récepteur permet de contrôler le rythme d'affichage de la vidéo et donc d'apporter des corrections en vue de l'affichage de manière particulièrement douce. Les signaux "Hsync", "Vsync" et "peer_vsync" sont représentés chacun par une succession d'impulsions qui sont en fait des créneaux tels que représentés sur la Figure 7b qui sera décrite ci-après. Le signal "Vsync" rythme l'affichage des images tandis que le signal "Hsync" rythme l'affichage des lignes à l'intérieur d'une image. Le signal "de", quant à lui, rythme l'affichage des pixels sur une ligne active en combinaison avec le signal d'horloge pixel local 514 non représenté sur la Figure 7a par souci de clarté. Comme cela apparaît sur la Figure 7a un écart ou dérive intervient 30 entre les signaux "peer_vsync" (SV1) et "Vsync" (SVL) et est calculé par le module 505 de la Figure 5a. During step 624, the module 506 waits for the acknowledgment signal "ack_change" 511 which will be sent by the "video synchro generator" module 503 as soon as the command placed is taken into account. Once the acknowledgment signal has been received, the module 506 proceeds to step 625. In step 625, the module 506 releases the commands placed, then sends a "realign" command 525 to realign the "peer_vsync" signal 507 on the beginning of line. The value of the realignment is for example equal to the difference in the cycle time between the "Vsync" signal 508 and the "peer_vsync" signal 507. The cycle time of the "Vsync" signal 508 is contained in the RAM 502 and the time the "peer_vsync" signal cycle is known from the "Vsync regen" module 504. If the acknowledged command is "add_line" 509 (Figure 5a), then the realignment command includes the indication - and the cycle time of the "Vsync" signal. 508 contained in the RAM 502. If the acknowledged command is "remove_line" 510 (Figure 5a), then the realignment command includes the + indication and the cycle time of the "Vsync" signal 508 contained in the RAM 502. Then, the module 506 loops back to the initial step 620 already described. Returning to step 627, the module 506 tests whether the phase difference has reached or exceeded the value of a line as defined above. Thus, if the phase difference is equal to or greater than the value of a line, then the module proceeds to step 628, otherwise it loops back to step 620 already described. In step 628 the module activates the "add_line" command 509 in order to increase the period of the "Vsync" signal 508 (SVL) which is in phase advance with respect to the "peer_vsync" signal 507 (SV1). The module 506 then proceeds to the step 624 already described. FIG. 7a illustrates in the form of timing diagrams various signals used for the synchronization of a video stream and, more particularly, for controlling the display rate of the images of the video stream on a display device such as the device 104 of FIG. Figure 1. More particularly, the "de" (data_enable) signals 513 of Figure 5a, "Hsync" (SHL) 512 (horizontal synchronization signal) of Figure 5a, "Vsync" (SVL) 508 (signal vertical synchronization) and "peer_vsync" (SV1) 507 (regenerated signal) of Figure 5a. The signals "of", "Hsync" and "Vsync" are signals punctuated on the local clock of the receiving device or node, while the "peer_vsync" signal is clocked on the clock of the video source or the device or node transmitter if source and sending device are merged. The combination of a control signal (SV1) synchronized to the video source with one or more synchronized signals on the receiving device or node makes it possible to control the display timing of the video and thus to make corrections for display in a particularly gentle way. The signals "Hsync", "Vsync" and "peer_vsync" are each represented by a succession of pulses which are in fact slots as shown in Figure 7b which will be described below. The "Vsync" signal pauses the display of images while the "Hsync" signal pauses the display of lines within an image. The "of" signal, meanwhile, paces the display of pixels on an active line in combination with the local pixel clock signal 514 not shown in Figure 7a for the sake of clarity. As shown in FIG. 7a, a deviation or drift occurs between the "peer_vsync" (SV1) and "Vsync" (SVL) signals and is calculated by the module 505 of FIG. 5a.

Les écarts ou dérives successifs détectés sont représentés par les références 800, 801 et 802 sur la Figure 7a. Si l'on suppose qu'une image à afficher contient un nombre K de lignes (incluant les lignes actives et inactives) le flux arrivant constitué de ces K lignes est rythmé par le signal "peer_vsync" qui est synchronisé avec l'horloge de la source vidéo. Tant que la dérive entre les signaux "peer_vsync" et "Vsync" reste inférieure à une ligne (dérives 800 et 801 sur la Figure 7a), l'affichage de ces K lignes peut être effectué suivant le rythme d'affichage fourni par l'horloge locale du dispositif ou noeud récepteur sans qu'une correction n'intervienne. Toutefois, lorsque la dérive constatée (ex : dérive 802) est supérieure à une ligne, l'invention prévoit de mettre en place une correction afin que l'horloge locale du dispositif ou noeud récepteur et tous les signaux utiles qui en sont issus se synchronisent sur le signal "peer_vsync" et donc sur l'horloge de la source vidéo. En effet, avec une telle dérive si aucune correction n'est apportée alors les K lignes de l'image ne pourront pas être affichées sur une seule image et vont "déborder" sur l'image suivante, créant ainsi des perturbations visuelles inacceptables. The successive deviations or drifts detected are represented by references 800, 801 and 802 in FIG. 7a. Assuming that an image to be displayed contains a number K of lines (including active and inactive lines), the incoming stream consisting of these K lines is punctuated by the signal "peer_vsync" which is synchronized with the clock of the video source. As long as the drift between the "peer_vsync" and "Vsync" signals remains less than one line (drifts 800 and 801 in FIG. 7a), the display of these K lines can be performed according to the display rate provided by the local clock of the device or receiving node without a correction intervenes. However, when the observed drift (eg drift 802) is greater than one line, the invention provides for setting up a correction so that the local clock of the receiving device or node and all the useful signals derived therefrom synchronize. on the signal "peer_vsync" and therefore on the clock of the video source. Indeed, with such a drift if no correction is made then the K lines of the image can not be displayed on a single image and will "overflow" on the next image, creating unacceptable visual disturbances.

Comme représenté sur la Figure 7a suite à la dérive 802 détectée une correction est apportée pour l'affichage de l'image suivante, permettant ainsi d'obtenir une synchronisation entre les signaux "peer_vsync" et "Vsync" ainsi que représenté par la référence 803. Dans l'exemple représenté, la correction apportée est adaptée à la dérive qui a été relevée et consiste à supprimer une ligne inactive parmi les (K-M) lignes inactives des K lignes de l'image qui est à afficher M représentant le nombre de lignes actives). Le nombre de lignes inactives à supprimer d'une image (ou à ajouter selon le signe du déphasage entre les signaux "peer_vsync" et "Vsync") dépend de l'amplitude de la dérive qui a été déterminée. On a représenté sur la Figure 7b à plus grande échelle les signaux "de", "Hsync" et "Vsync". - La Figure 7b est divisée en deux parties : une première partie supérieure 900 représente le diagramme temporel d'une ligne de vidéo et une deuxième partie inférieure 901 représente le diagramme temporel d'une image. Sur la première partie 900 une nouvelle ligne commence par un front montant du signal "Hsync" 512 (SHL). En amont de ce front montant se trouve la période " Front porch pixels " 905. En aval du front descendant se trouve la période "Back porch pixels " 906. L'ensemble comprenant la période " Front porch pixels " 905, la période couvrant l'état haut 909 du signal "Hsync", et la période " Back porch pixels " 906 forme la période 908 dite " horizontal_blanking " (masquage horizontal) pendant laquelle les pixels de la ligne sont invisibles (inactifs), c'est-à-dire qu'ils ne sont pas à afficher. La partie inactive de la ligne est signalée par un état bas du signal "de" (data_enable) 513. La période située entre la période " Back porch pixels " 906 et la prochaine période " Front porch pixels " 905 définit la partie active 907 de la ligne. As shown in FIG. 7a following the detected drift 802, a correction is made for the display of the next image, thus making it possible to obtain a synchronization between the "peer_vsync" and "Vsync" signals as represented by the reference 803 In the example shown, the correction made is adapted to the drift that has been detected and consists in deleting an inactive line among the (KM) inactive lines of K lines of the image to be displayed M representing the number of lines active). The number of inactive lines to be deleted from an image (or to be added according to the sign of the phase shift between the signals "peer_vsync" and "Vsync") depends on the amplitude of the drift that has been determined. Figure 7b shows on a larger scale the "de", "Hsync" and "Vsync" signals. - Figure 7b is divided into two parts: a first upper portion 900 represents the timing diagram of a video line and a second lower portion 901 represents the timing diagram of an image. On the first part 900 a new line starts with a rising edge of the signal "Hsync" 512 (SHL). Upstream of this rising edge is the period "front porch pixels" 905. Downstream of the falling edge is the period "Back porch pixels" 906. The set including the period "front porch pixels" 905, the period covering high state 909 of the signal "Hsync", and the period "Back porch pixels" 906 forms the period 908 called "horizontal_blanking" (horizontal masking) during which the pixels of the line are invisible (inactive), that is to say say they are not to display. The inactive part of the line is signaled by a low state of the "de" (data_enable) signal 513. The period between the "Back porch pixels" period 906 and the next "Front porch pixels" period 905 defines the active part 907 of line.

Pendant la partie active 907 de la ligne les pixels à afficher sont pris en compte et affichés. La partie active de la ligne est signalée par un état haut du signal "de" 513. C'est le signal d'horloge pixel qui rythme le nombre de coups d'horloge à partir duquel le premier pixel d'une ligne doit être affiché. Le signal d'horloge pixel n'est pas représenté sur ce diagramme par souci de clarté. During the active part 907 of the line, the pixels to be displayed are taken into account and displayed. The active part of the line is signaled by a high state of the "from" signal 513. It is the pixel clock signal that paces the number of clock ticks from which the first pixel of a line is to be displayed. . The pixel clock signal is not shown in this diagram for the sake of clarity.

Quand le signal "de" 513 est à l'état haut il faut fournir un pixel à chaque front montant du signal d'horloge pixel. Par exemple pour le format vidéo utilisé1080p60 tel que défini par la norme CEA-861-D, la période " Front porch pixels " a une durée équivalente à 88 pixels, le niveau haut du signal "Hsync" a une durée équivalente à 44 pixels, la période " Back porch pixels " a une durée équivalente à 906 pixels et la partie active de la ligne comporte 1920 pixels. Sur la deuxième partie inférieure 901 de la Figure 7b, une nouvelle image commence par un front montant du signal "Vsync " 508 (SVL). En amont du front montant du signal "Vsync" se trouve la période " Front porch lines " 911. En aval du front descendant du signal "Vsync" se trouve la période " Back porch lines " 913. L'ensemble comprenant la période " Front porch lines ", la période couvrant l'état haut 912 du signal "Vsync" et la période " Back porch Unes " 913 forme la période 910 dite " vertical_blanking " (masquage vertical). Pendant la période " vertical_blanking " 910 les lignes sont invisibles (inactives), c'est-à-dire qu'elles ne sont pas affichées. Le signal "de" 513 est d'ailleurs à l'état bas pendant toute la période " vertical_blanking " 910. Par contre, le signal "Hsync" 512 continue à indiquer les frontières de lignes même si elles sont inactives pendant la période " vertical_blanking " 910. Au-delà de la période " vertical_blanking " 910, les lignes sont dites actives (période référencée 914) et donc contiennent des pixels à afficher (ex : M lignes actives sur la Figure 7a). De façon générale, en fonction de la dérive, la période " Back porch lines " 913 peut être augmentée d'une ou de plusieurs lignes à l'intérieur d'une image pour ralentir en moyenne la fréquence image (pendant l'affichage d'une image le temps d'affichage s'est trouvé allongé d'une ou de plusieurs lignes). Inversement, selon la dérive, la période " Back porch lines " 913 peut être réduite d'une ou de plusieurs lignes dans une image pour accélérer en moyenne la fréquence image (pendant l'affichage d'une image le temps d'affichage s'est trouvé raccourci d'une ou de plusieurs ligne). Dans l'exemple de la Figure 7a, la période 913 a été raccourcie (période raccourcie notée 913') par suppression d'une ligne inactive de l'image. Sous le signal Hsync les périodes 911 et 912+913 ont été représentées avec des accolades et la période 906 précédant l'apparition d'un front montant du signal "de" 513 a également été indiquée. Par ailleurs, la correction apportée (période modifiée 913') pour modifier le rythme d'affichage d'une image a été représentée après le front montant déclenchant une nouvelle image. Cette nouvelle image ne contient ainsi que K-1 lignes comptées suivant l'horloge locale du dispositif ou noeud récepteur au lieu de K images (le nombre de M lignes actives à afficher n'a pas varié). Des modes de réalisation alternatifs pourraient agir sur la période " Front porch lines " 911 ou bien sur la durée de l'état haut 912 du signal "Vsync" 508. Le mode de réalisation décrit ici est toutefois le plus avantageux. When the "from" signal 513 is high, one pixel must be provided at each rising edge of the pixel clock signal. For example, for the video format used1080p60 as defined by the CEA-861-D standard, the "Front porch pixels" period has a duration equivalent to 88 pixels, the high level of the "Hsync" signal has a duration equivalent to 44 pixels, the "Back porch pixels" period has a duration equivalent to 906 pixels and the active part of the line comprises 1920 pixels. On the second lower portion 901 of Figure 7b, a new image begins with a rising edge of the "Vsync" signal 508 (SVL). Upstream of the rising edge of the "Vsync" signal is the "Front porch lines" period 911. Downstream of the falling edge of the "Vsync" signal is the "Back porch lines" period 913. The set comprising the "Front porch" period porch lines ", the period covering the high state 912 of the signal" Vsync "and the period" Back porch Unes "913 form the period 910 called" vertical_blanking "(vertical masking). During the "vertical_blanking" period 910 the lines are invisible (inactive), that is, they are not displayed. The "of" signal 513 is also in the low state during the entire "vertical_blanking" period 910. On the other hand, the "Hsync" signal 512 continues to indicate the line boundaries even if they are inactive during the "vertical_blanking" period. "910. Beyond the" vertical_blanking "period 910, the lines are said to be active (period referenced 914) and therefore contain pixels to be displayed (eg: M active lines in FIG. 7a). In general, depending on the drift, the period "back porch lines" 913 can be increased by one or more lines inside an image to slow down the image frequency on average (during the display of an image the display time has been lengthened by one or more lines). Conversely, depending on the drift, the period "back porch lines" 913 can be reduced by one or more lines in an image to accelerate on average the image frequency (during the display of an image the display time s' is found shortened by one or more lines). In the example of Figure 7a, the period 913 has been shortened (shortened period noted 913 ') by deleting an inactive line of the image. Under the Hsync signal periods 911 and 912 + 913 have been represented with braces and the period 906 preceding the appearance of a rising edge of the "513" signal has also been indicated. Moreover, the correction made (modified period 913 ') for modifying the rate of display of an image was represented after the rising edge triggering a new image. This new image thus contains only K-1 lines counted according to the local clock of the device or receiving node instead of K images (the number of M active lines to display has not changed). Alternative embodiments could act on the "front porch lines" period 911 or on the duration of the high state 912 of the "Vsync" signal 508. The embodiment described here, however, is the most advantageous.

En effet, la période " Back porch lines " 913 est la plus longue, donc en la réduisant d'une ligne on obtient le plus petit ratio de changement, ce qui s'avère moins perturbant pour le dispositif d'affichage 104 de la Figure 1. Par ailleurs, changer la durée de l'état haut 912 du signal "Vsync" ajouterait un autre risque de perturbation du dispositif d'affichage 104. Les ordres de grandeur sont par exemple indiqués comme suit, pour le format 1080p60 tel que défini par la norme CEA-861-D : la période " Front porch lines " 911 a une durée équivalente à 5 lignes, le niveau haut 912 du signal "Hsync" a une durée équivalente à 5 lignes, la période " Back porch lines " 913 a une durée équivalente à 36 lignes et le nombre M de lignes actives 914 est égal à 1080 lignes. On notera que les signaux représentés sur les figures 7a et 7b portent des références différentes de ceux illustrés sur la Figure 3 (301, 302, 304 et 311) mais il s'agit des mêmes signaux. Les Figures 8a, 8b et 8c illustrent le fonctionnement du module "video synchro generator" 503 de la Figure 5a. Le module " video synchro generator " 503 met en oeuvre trois algorithmes en parallèle respectivement représentés sur les Figures 8a, 8b et 8c. Un premier algorithme illustré sur la Figure 8a a pour but de générer le signal " Hsync " 512 (SHL) et un signal interne de masquage horizontal (" horizontal_blanking "), référencé 908 sur la Figure 7b, pris en compte par l'algorithme de la Figure 8c pour la génération du signal " de " 513. Lors de l'étape initiale 640 de l'algorithme le module 503 se met en attente d'un front montant du signal " peer_vsync " 507 afin de synchroniser son démarrage sur ce signal. Lors de cette étape le signal "Hsync " 512 est maintenu à l'état bas et le signal " horizontal_blanking " est maintenu à un état haut. Sur détection d'un front montant du signal " peer_vsync " 507 le module 503 passe à l'étape suivante 641. Lors de l'étape 641 le module 503 entre en phase de synchronisation horizontale. Lors de cette étape le signal " Hsync " 512 est maintenu à l'état haut 909 sur la Figure 7b (première partie 900) et le signal " horizontal_blanking " est maintenu à un état haut. La durée de cet état est fonction du format d'image contenu dans la mémoire RAM 502 et qui est, par exemple de 44 fronts du signal d'horloge pixel 514 pour un format vidéo 1080p60. A la fin de cette période le module 503 passe à l'étape suivante 642. Lors de l'étape 642 le module 503 entre dans la période de " Back porch pixels " 906 sur la Figure 7b (première partie). Lors de cette étape le signal " Hsync " 512 est maintenu à l'état bas et le signal " horizontal_blanking " est maintenu à un état haut. La durée de cet état est fonction du format d'image tel que stocké dans la mémoire RAM 502. Cette durée est par exemple de 148 fronts du signal d'horloge pixel 514 pour un format vidéo 1080p60. A la fin de cette période le module 503 passe à l'étape suivante 643. Indeed, the period "Back porch lines" 913 is the longest, so reducing it by one line gives the smallest change ratio, which turns out to be less disturbing for the display device 104 of FIG. 1. Furthermore, changing the duration of the high state 912 of the signal "Vsync" would add another risk of disturbance of the display device 104. The orders of magnitude are for example indicated as follows, for the format 1080p60 as defined by the CEA-861-D standard: the "front porch lines" period 911 has a duration equivalent to 5 lines, the high level 912 of the "Hsync" signal has a duration equivalent to 5 lines, the "Back porch lines" period 913 has a duration equivalent to 36 lines and the number M of active lines 914 is equal to 1080 lines. Note that the signals shown in Figs. 7a and 7b bear different references to those shown in Fig. 3 (301, 302, 304 and 311) but they are the same signals. Figures 8a, 8b and 8c illustrate the operation of the video synchro generator module 503 of Figure 5a. The "video synchro generator" module 503 implements three algorithms in parallel respectively shown in FIGS. 8a, 8b and 8c. A first algorithm illustrated in FIG. 8a is intended to generate the "Hsync" signal 512 (SHL) and an internal horizontal_blanking signal, referenced 908 in FIG. 7b, taken into account by the algorithm of FIG. FIG. 8c for the generation of the "from" signal 513. During the initial step 640 of the algorithm the module 503 waits for a rising edge of the "peer_vsync" signal 507 in order to synchronize its start on this signal . During this step the signal "Hsync" 512 is kept low and the signal "horizontal_blanking" is kept in a high state. Upon detection of a rising edge of the "peer_vsync" signal 507 the module 503 proceeds to the next step 641. In the step 641 the module 503 enters horizontal synchronization phase. During this step, the "Hsync" signal 512 is kept high 909 in FIG. 7b (first part 900) and the "horizontal_blanking" signal is kept in a high state. The duration of this state is a function of the image format contained in the RAM 502 and which is, for example, 44 fronts of the pixel clock signal 514 for a 1080p60 video format. At the end of this period the module 503 proceeds to the next step 642. In the step 642 the module 503 enters the period of "Back porch pixels" 906 in Figure 7b (first part). During this step the signal "Hsync" 512 is kept low and the signal "horizontal_blanking" is kept in a high state. The duration of this state is a function of the image format as stored in the RAM 502. This duration is for example 148 fronts of the pixel clock signal 514 for a 1080p60 video format. At the end of this period the module 503 proceeds to the next step 643.

Lors de l'étape 643 le module 503 entre en phase d'affichage des pixels "actifs" d'une ligne active d'une image (phase référencée 907 sur la Figure 7b). Lors de cette étape le signal " Hsync " 512 est maintenu à l'état bas de même que le signal " horizontal_blanking ". La durée de cet état est fonction du format d'image tel que stocké dans la mémoire RAM 502. Cette durée est par exemple de 1920 fronts du signal d'horloge pixel 514 pour un format vidéo 1080p60. A la fin de cette période le module 503 passe à l'étape suivante 644. Lors de l'étape 644 le module 503 entre dans la période de " Front porch pixels " (période 905 sur la Figure 7b). Lors de cette étape le signal " Hsync " 512 est maintenu à l'état bas et le signal " horizontal_blanking " est maintenu à un état haut. La durée de cette période ou état est fonction du format d'image tel que stocké dans la mémoire RAM 502. Cette durée est par exemple de 88 fronts du signal d'horloge pixel 514 pour un format vidéo 1080p60. A la fin de cette période le module 503 repasse à l'étape déjà décrite 641. In step 643 the module 503 enters the display phase of the "active" pixels of an active line of an image (phase referenced 907 in FIG. 7b). During this step the signal "Hsync" 512 is kept low as is the signal "horizontal_blanking". The duration of this state is a function of the image format as stored in the RAM 502. This duration is for example 1920 fronts of the pixel clock signal 514 for a 1080p60 video format. At the end of this period the module 503 proceeds to the next step 644. In the step 644 the module 503 enters the period of "Front porch pixels" (period 905 in Figure 7b). During this step the signal "Hsync" 512 is kept low and the signal "horizontal_blanking" is kept in a high state. The duration of this period or state is a function of the image format as stored in the RAM 502. This duration is for example 88 edges of the pixel clock signal 514 for a 1080p60 video format. At the end of this period the module 503 returns to the already described step 641.

Les étapes 641, 642 et 644 correspondent à la période " horizontal_blanking " 908 de la Figure 7b durant laquelle les pixels sont "inactifs" (pas d'affichage de pixels). L'étape 643 correspond à la période 907 de la Figure 7b où les pixels d'une ligne sont "actifs", c'est-à-dire que l'on procède à leur affichage au rythme de l'horloge pixel locale. Steps 641, 642 and 644 correspond to the "horizontal_blanking" period 908 of Figure 7b during which the pixels are "inactive" (no pixel display). Step 643 corresponds to the period 907 of FIG. 7b where the pixels of a line are "active", that is to say that they are displayed at the rhythm of the local pixel clock.

Un deuxième algorithme illustré à la Figure 8b a pour but de générer le signal " Vsync " 508 (SLV) des Figures 5a et 7a et un signal interne de masquage vertical (" vertical_blanking "), référencé 910 sur la Figure 7b, pris en compte par l'algorithme de la Figure 8c pour la génération du signal " de " 513. Cet algorithme est en outre en charge de la gestion des commandes " add_line " 509 et " remove_line " 510 de la Figure 5a. Lors de l'étape initiale 650 de l'algorithme le module 503 se met en attente d'un front montant du signal " peer_vsync " 507 afin de synchroniser son démarrage sur ce signal. Lors de cette étape le signal "Vsync " 508 (SVL) est maintenu à l'état bas et le signal " vertical_blanking " 910 est maintenu à un état haut. Sur détection d'un front montant du signal " peer vsync " 507 le module 503 passe à l'étape suivante 651. A second algorithm illustrated in FIG. 8b is intended to generate the "Vsync" signal 508 (SLV) of FIGS. 5a and 7a and an internal vertical_blanking signal, referenced 910 in FIG. 7b, taken into account. by the algorithm of FIG. 8c for the generation of the "from" signal 513. This algorithm is furthermore in charge of the management of the "add_line" commands 509 and "remove_line" 510 of FIG. 5a. During the initial step 650 of the algorithm the module 503 waits for a rising edge of the "peer_vsync" signal 507 in order to synchronize its start on this signal. During this step, the "Vsync" signal 508 (SVL) is kept low and the "vertical_blanking" signal 910 is kept in a high state. On detection of a rising edge of the "peer vsync" signal 507 the module 503 proceeds to the next step 651.

Lors de l'étape 651 le module 503 entre dans une période ou phase de synchronisation verticale (référencée 912 sur la Figure 7b). Lors de cette étape le signal "Vsync " 508 est maintenu à l'état haut, de même que le signal " vertical_blanking ". La durée de cet état est fonction du format d'image tel que connu de la mémoire RAM 502. Cette durée est par exemple de 5 lignes pour un format vidéo 1080p60. A la fin de cette période le module 503 passe à l'étape suivante 652. Lors de l'étape 652 le module réalise un test afin de déterminer s'il a reçu une commande " add_line " 509 ou " remove_line " 510 du gestionnaire de dérive 506 (Fig. 5a). S'il a reçu une des deux commandes, il passe à l'étape suivante 653. Sinon, il passe à l'étape suivante 655. Lors de l'étape 653 le module 503 modifie la durée de la période " Back porch lines " (période 913 sur les Figures 7a et 7b) à venir. Cette nouvelle durée est fonction de la commande reçue et est adaptée à la dérive entre les signaux "Vsync" (SVL) et "peer-vsync" (SV1). La durée de la période "Back porch lines " 913 est fonction du format d'image contenu dans la mémoire RAM 502 et est, par exemple, de 36 lignes pour un format 1080p60. Si la commande reçue est " add_line " 509, alors la durée de la période " Back porch lines " est incrémentée d'une unité (37 lignes par exemple). Si la commande reçue est " remove_line " 510, alors la durée de la période " Back porch lines " est décrémentée d'une unité comme dans l'exemple de la Figure 7a (35 lignes par exemple). La durée modifiée notée 913' a été représentée sur la Figure 7a. Ces nouvelles valeurs ne sont pas stockées dans la mémoire RAM 502.. Le module 503 passe ensuite à l'étape 654. In step 651 the module 503 enters a period or phase of vertical synchronization (referenced 912 in Figure 7b). During this step, the "Vsync" signal 508 is kept high, as is the "vertical_blanking" signal. The duration of this state is a function of the image format as known from the RAM 502. This duration is for example 5 lines for a 1080p60 video format. At the end of this period, the module 503 proceeds to the next step 652. In the step 652, the module carries out a test to determine whether it has received an "add_line" command 509 or "remove_line" 510 from the manager. drift 506 (Fig. 5a). If it has received one of the two commands, it goes on to the next step 653. Otherwise, it goes on to the next step 655. In step 653 the module 503 modifies the duration of the "Back porch lines" period. (Period 913 in Figures 7a and 7b) to come. This new duration is a function of the command received and is adapted to the drift between the signals "Vsync" (SVL) and "peer-vsync" (SV1). The duration of the "back porch lines" period 913 is a function of the image format contained in the RAM 502 and is, for example, 36 lines for a 1080p60 format. If the command received is "add_line" 509, then the duration of the period "Back porch lines" is incremented by one unit (37 lines for example). If the received command is "remove_line" 510, then the duration of the period "Back porch lines" is decremented by one unit as in the example of Figure 7a (35 lines for example). The modified duration noted 913 'has been represented in FIG. 7a. These new values are not stored in RAM 502. Module 503 then proceeds to step 654.

Lors de l'étape 654 le module 503 envoie un signal d'acquittement " ack change " au module de gestion de dérive 506. Le module 503 passe ensuite à l'étape 655. Lors de l'étape 655 le module 503 entre dans la période de " Back porch lines " (913 sur les Figures 7a et 7b). Lors de cette étape le signal "Vsync " 508 est maintenu à l'état bas et le signal " vertical_blanking " 910 est maintenu à un état haut. Si la transition vers cet état vient directement de l'étape 652, alors la durée de cet état est fonction du format d'image connu de la mémoire RAM 502. La durée est par exemple de 36 lignes pour un format 1080p60. Si la transition vers cet état vient des étapes 653 et 654 alors la durée de cet état est fonction du calcul effectué à l'étape 653 et est, par exemple de 35 ou 37 lignes. A la fin de cette période le module 503 passe à l'étape suivante 656. Lors de l'étape 656 le module 503 entre dans une phase ou période d'affichage de lignes actives (914 sur la Figure 7b). Lors de cette étape le signal "Vsync " 508 est maintenu à l'état bas de même que le signal vertical_blanking ". La durée de cet état est fonction du format d'image connu de la mémoire RAM 502. Cette durée est par exemple de 1080 lignes pour un format 1080p60. A la fin de cette période le module 503 passe à l'étape suivante 657. Lors de l'étape 657 le module 503 entre dans une période de " Front porch lines " (911 sur les Figures 7a et 7b). Lors de cette étape le signal " Vsync " 508 est maintenu à l'état bas et le signal " vertical_blanking " est maintenu à un état haut. La durée de cet état est fonction du format d'image connu de la mémoire RAM 502. Cette durée est par exemple de 5 lignes pour un format vidéo 1080p60. A la fin de cette période le module 503 repasse à l'étape 651 déjà décrite. Les étapes 651, 655 et 657 correspondent à la période vertical_blanking " 910 de la Figure 7b durant laquelle les lignes sont inactives (pas d'affichage de lignes). L'étape 656 correspond à la période " Active lines " 914 durant laquelle les lignes sont actives, c'est-à-dire que l'on procède à leur affichage. In step 654 the module 503 sends an acknowledgment signal "ack change" to the drift management module 506. The module 503 then proceeds to step 655. In step 655 the module 503 enters the "Back porch lines" period (913 in Figures 7a and 7b). During this step, the "Vsync" signal 508 is kept low and the "vertical_blanking" signal 910 is kept in a high state. If the transition to this state comes directly from step 652, then the duration of this state is a function of the known image format of the RAM 502. The duration is for example 36 lines for a 1080p60 format. If the transition to this state comes from steps 653 and 654 then the duration of this state is a function of the calculation performed in step 653 and is, for example 35 or 37 lines. At the end of this period the module 503 proceeds to the next step 656. In the step 656 the module 503 enters a phase or period of display of active lines (914 in Figure 7b). During this step, the "Vsync" signal 508 is kept low as is the vertical_blanking signal. "The duration of this state is a function of the known image format of the RAM 502. This duration is, for example, 1080 lines for a 1080p60 format At the end of this period the module 503 proceeds to the next step 657. At the step 657 the module 503 enters a period of "front porch lines" (911 in FIGS. 7b) During this step, the "Vsync" signal 508 is kept low and the "vertical_blanking" signal is kept in a high state The duration of this state depends on the known image format of the RAM memory 502. This duration is for example 5 lines for a 1080p60 video format At the end of this period, the module 503 returns to the step 651 already described.The steps 651, 655 and 657 correspond to the vertical_blanking period "910 of the Figure 7b during which lines are inactive (no line display) . Step 656 corresponds to the "Active lines" period 914 during which the lines are active, that is to say that they are displayed.

Un troisième algorithme illustré à la Figure 8c a pour but de générer le signal " de " 513. Cet algorithme est constitué d'une seule étape 660 exécutée en permanence et qui positionne le signal " de " 513 des Figures 5a, 7a et 7b à l'état haut quand les deux signaux " horizontal_blanking " et " vertical_blanking " sont eux même à l'état haut. Sinon, si l'un des deux signaux " horizontal_blanking " ou " vertical_blanking " est positionné à l'état bas, alors le signal " de " 513 est lui aussi positionné à l'état bas. A third algorithm illustrated in FIG. 8c is intended to generate the signal "from" 513. This algorithm consists of a single step 660 executed continuously and which positions the signal "from" 513 of FIGS. 5a, 7a and 7b to the high state when the two signals "horizontal_blanking" and "vertical_blanking" are themselves in the high state. Otherwise, if one of the two signals "horizontal_blanking" or "vertical_blanking" is set low, then the "from" signal 513 is also set low.

Claims (20)

REVENDICATIONS, 1. Procédé de contrôle du rythme d'affichage d'un signal vidéo issu d'une source vidéo, transmis par un dispositif émetteur (DE) vers un dispositif récepteur (DR) et destiné à être affiché sur un dispositif d'affichage, le signal vidéo comprenant des images, chaque image contenant des lignes actives incluant des informations sur des pixels à afficher par le dispositif d'affichage et des lignes inactives n'incluant pas d'informations sur des pixels à afficher par le dispositif d'affichage, caractérisé en ce que le rythme d'affichage est contrôlé par au moins un premier signal de contrôle (SV1) synchronisé au rythme image de la source vidéo , le procédé comportant les étapes suivantes : - calcul d'une dérive entre le premier signal de contrôle (SV1) et un signal synchronisé au rythme image du dispositif récepteur ; - en fonction de la dérive calculée, adaptation du nombre de lignes inactives dans une image du signal vidéo au niveau du dispositif récepteur. 1. A method for controlling the timing of display of a video signal from a video source, transmitted by a transmitting device (DE) to a receiving device (DR) and intended to be displayed on a display device , the video signal comprising images, each image containing active lines including information on pixels to be displayed by the display device and inactive lines not including information on pixels to be displayed by the display device , characterized in that the display timing is controlled by at least a first control signal (SV1) synchronized to the frame rate of the video source, the method comprising the following steps: - calculating a drift between the first signal of control (SV1) and a synchronized signal at the image rate of the receiver device; according to the calculated drift, adaptation of the number of inactive lines in an image of the video signal at the receiving device. 2. Procédé selon la revendication 1, caractérisé en ce que le rythme d'affichage est contrôlé également par au moins un deuxième signal de contrôle synchronisé au rythme image du dispositif récepteur. 2. Method according to claim 1, characterized in that the display rate is also controlled by at least a second control signal synchronized to the image rate of the receiver device. 3. Procédé selon la revendication 2, caractérisé en ce que le rythme d'affichage est contrôlé par le deuxième signal de contrôle qui est un signal de synchronisation horizontale (SHL) et par un troisième signal de contrôle qui est un signal d'horloge pixel. 3. Method according to claim 2, characterized in that the display timing is controlled by the second control signal which is a horizontal synchronization signal (SHL) and by a third control signal which is a pixel clock signal . 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce qu'il comporte une étape de suppression d'au moins une ligne inactive dans l'image du signal vidéo à afficher lorsque la dérive calculée traduit le fait que le dispositif récepteur est en avance de phase par rapport à la source vidéo. 4. Method according to one of claims 1 to 3, characterized in that it comprises a step of removing at least one inactive line in the image of the video signal to be displayed when the calculated drift reflects the fact that the device receiver is in advance of the video source. 5. Procédé selon l'une des revendications 1 à 3, caractérisé en ce qu'il comporte une étape d'ajout d'au moins une ligne inactive dans l'image du signal vidéo à afficher lorsque la dérive calculée traduit le fait que le dispositif récepteur est en retard de phase par rapport à la source vidéo. 5. Method according to one of claims 1 to 3, characterized in that it comprises a step of adding at least one inactive line in the image of the video signal to be displayed when the calculated drift reflects the fact that the receiver device is out of phase with the video source. 6. Procédé selon la revendication 4 ou 5, caractérisé en ce qu'il comporte en outre une étape de réajustement, par le dispositif récepteur, dufront montant du premier signal de contrôle (SV1) pour qu'il se réaligne sur un début de ligne lorsque la correction de la dérive calculée ne se traduit pas par un nombre entier de ligne(s) inactive(s). 6. Method according to claim 4 or 5, characterized in that it further comprises a step of readjustment, by the receiving device, frontfront amount of the first control signal (SV1) so that it realigns on a beginning of line when the correction of calculated drift does not result in an integer number of inactive line (s). 7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce 5 qu'il comporte une étape de génération du premier signal de contrôle (SV1) par le dispositif récepteur. 7. Method according to one of claims 1 to 6, characterized in that it comprises a step of generating the first control signal (SV1) by the receiving device. 8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce que le premier signal de contrôle est un signal de synchronisation verticale. 8. Method according to one of claims 1 to 7, characterized in that the first control signal is a vertical synchronization signal. 9. Procédé selon l'une des revendications 1 à 8, caractérisé en ce 10 que le calcul d'une dérive est effectué de manière régulière. 9. Method according to one of claims 1 to 8, characterized in that the calculation of a drift is performed regularly. 10. Dispositif de contrôle du rythme d'affichage d'un signal vidéo issu d'une source vidéo et transmis par un dispositif émetteur (DE) et destiné à être affiché sur un dispositif d'affichage, le signal vidéo comprenant des images, chaque image contenant des lignes actives incluant des informations sur des 15 pixels à afficher par le dispositif d'affichage et des lignes inactives n'incluant pas d'informations sur des pixels à afficher par le dispositif d'affichage, caractérisé en ce que le rythme d'affichage est contrôlé par au moins un premier signal de contrôle (SV1) synchronisé au rythme image de la source vidéo, le dispositif de contrôle comportant : 20 - des moyens de calcul d'une dérive entre le premier signal de contrôle (SV1) et un signal (SVL) synchronisé au rythme image du dispositif récepteur, - des moyens d'adaptation, en fonction de la dérive calculée, du nombre de lignes inactives dans une image du signal vidéo. 25 10. Device for controlling the timing of display of a video signal from a video source and transmitted by a transmitting device (DE) and intended to be displayed on a display device, the video signal comprising images, each image containing active lines including information on 15 pixels to be displayed by the display device and inactive lines not including information on pixels to be displayed by the display device, characterized in that the rate of the display is controlled by at least a first control signal (SV1) synchronized to the frame rate of the video source, the control device comprising: means for calculating a drift between the first control signal (SV1) and a signal (SVL) synchronized to the image rate of the receiver device; means for adapting, as a function of the calculated drift, the number of inactive lines in an image of the video signal. 25 11. Dispositif selon la revendication 10, caractérisé en ce que le rythme d'affichage est contrôlé également par au moins un deuxième signal de contrôle synchronisé au rythme image du dispositif récepteur. 11. Device according to claim 10, characterized in that the display rate is also controlled by at least a second control signal synchronized to the image rate of the receiver device. 12. Dispositif selon la revendication 11, caractérisé en ce que le rythme d'affichage est contrôlé par le deuxième signal de contrôle qui est un 30 signal de synchronisation horizontale (SHL) et par un troisième signal de contrôle qui est un signal d'horloge pixel. Device according to claim 11, characterized in that the display timing is controlled by the second control signal which is a horizontal synchronization signal (SHL) and by a third control signal which is a clock signal. pixel. 13. Dispositif selon l'une des revendications 10 à 12, caractérisé en ce qu'il comporte des moyens de suppression d'au moins une ligne inactive dans l'image du signal vidéo à afficher lorsque la dérive calculée traduit le fait que le dispositif récepteur est en avance de phase par rapport à la source vidéo. 13. Device according to one of claims 10 to 12, characterized in that it comprises means for deleting at least one inactive line in the image of the video signal to be displayed when the calculated drift reflects the fact that the device receiver is in advance of the video source. 14. Dispositif selon l'une des revendications 10 à 12, caractérisé en ce qu'il comporte des moyens d'ajout d'au moins une ligne inactive dans l'image du signal vidéo à afficher lorsque la dérive calculée traduit le fait que le dispositif récepteur est en retard de phase par rapport à la source vidéo. 14. Device according to one of claims 10 to 12, characterized in that it comprises means for adding at least one inactive line in the image of the video signal to be displayed when the calculated drift reflects the fact that the receiver device is out of phase with the video source. 15. Dispositif selon la revendication 13 ou 14, caractérisé en ce qu'il comporte en outre des moyens de réajustement du front montant du premier signal de contrôle (SV1) pour qu'il se réaligne sur un début de ligne lorsque la correction de la dérive calculée ne se traduit pas par un nombre entier de ligne(s) inactive(s). 15. Device according to claim 13 or 14, characterized in that it further comprises means for readjusting the rising edge of the first control signal (SV1) so that it realigns on a beginning of line when the correction of the Calculated drift does not result in an integer of inactive row (s). 16. Dispositif selon l'une des revendications 10 à 15, caractérisé en ce qu'il comporte des moyens de génération du premier signal de contrôle (SV1). 16. Device according to one of claims 10 to 15, characterized in that it comprises means for generating the first control signal (SV1). 17. Dispositif selon l'une des revendications 10 à 16, caractérisé en ce que le premier signal de contrôle est un signal de synchronisation verticale. 17. Device according to one of claims 10 to 16, characterized in that the first control signal is a vertical synchronization signal. 18. Dispositif selon l'une des revendications 10 à 17, caractérisé en ce que le calcul d'une dérive est effectué de manière régulière. 18. Device according to one of claims 10 to 17, characterized in that the calculation of a drift is performed regularly. 19. Système de communication comprenant une source vidéo, un dispositif émetteur (DE), un dispositif récepteur (DR), un dispositif d'affichage et un dispositif de contrôle du rythme d'affichage d'un signal vidéo issu de la source vidéo, transmis par le dispositif émetteur (DE) vers le dispositif récepteur (DR) et destiné à être affiché sur un dispositif d'affichage, le signal vidéo comprenant des images, chaque image contenant des lignes actives incluant des informations sur des pixels à afficher par le dispositif d'affichage et des lignes inactives n'incluant pas d'informations sur des pixels à afficher par le dispositif d'affichage, caractérisé en ce que le rythme d'affichage est contrôlé par au moins un premier signal de contrôle (SV1) synchronisé au rythme image de la source vidéo, le dispositif de contrôle comportant :- des moyens de calcul d'une dérive entre le premier signal de contrôle (SV1) et un signal (SVL) synchronisé au rythme image du dispositif récepteur, - des moyens d'adaptation, en fonction de la dérive calculée, du 5 nombre de lignes inactives dans une image du signal vidéo. 19. A communication system comprising a video source, a transmitting device (DE), a receiving device (DR), a display device and a device for controlling the display rate of a video signal from the video source, transmitted by the transmitting device (DE) to the receiving device (DR) and intended to be displayed on a display device, the video signal comprising images, each image containing active lines including information on pixels to be displayed by the display device and inactive lines not including information on pixels to be displayed by the display device, characterized in that the display timing is controlled by at least a first synchronized control signal (SV1) at the frame rate of the video source, the control device comprising: means for calculating a drift between the first control signal (SV1) and a signal (SVL) synchronized with the frame rate of the device receiver, means for adapting, as a function of the calculated drift, the number of inactive lines in an image of the video signal. 20. Programme d'ordinateur chargeable dans un système informatique, ledit programme contenant des instructions permettant la mise en oeuvre du procédé de contrôle selon l'une des revendications 1 à 9, lorsque ce programme est chargé et exécuté par un système informatique. 10 20. A computer program loadable in a computer system, said program containing instructions for implementing the control method according to one of claims 1 to 9, when the program is loaded and executed by a computer system. 10
FR1003492A 2010-08-31 2010-08-31 METHOD FOR CONTROLLING THE RHYTHM OF DISPLAYING A VIDEO SIGNAL Expired - Fee Related FR2964234B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1003492A FR2964234B1 (en) 2010-08-31 2010-08-31 METHOD FOR CONTROLLING THE RHYTHM OF DISPLAYING A VIDEO SIGNAL

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1003492 2010-08-31
FR1003492A FR2964234B1 (en) 2010-08-31 2010-08-31 METHOD FOR CONTROLLING THE RHYTHM OF DISPLAYING A VIDEO SIGNAL

Publications (2)

Publication Number Publication Date
FR2964234A1 true FR2964234A1 (en) 2012-03-02
FR2964234B1 FR2964234B1 (en) 2019-09-13

Family

ID=43446619

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1003492A Expired - Fee Related FR2964234B1 (en) 2010-08-31 2010-08-31 METHOD FOR CONTROLLING THE RHYTHM OF DISPLAYING A VIDEO SIGNAL

Country Status (1)

Country Link
FR (1) FR2964234B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594467A (en) * 1989-12-06 1997-01-14 Video Logic Ltd. Computer based display system allowing mixing and windowing of graphics and video
US20060023079A1 (en) * 2004-07-30 2006-02-02 Takayuki Sugitani Interface device and synchronization adjustment method
US20080036748A1 (en) * 2006-08-10 2008-02-14 Lees Jeremy J Method and apparatus for synchronizing display streams
JP2009267793A (en) * 2008-04-25 2009-11-12 Renesas Technology Corp Video signal processor
EP2182717A2 (en) * 2008-10-30 2010-05-05 Victor Company Of Japan, Limited Wireless image transferring apparatus, wireless image receiving apparatus and wireless image transmitting apparatus, and wireless image transferring method, wireless image receiving method and wireless image transmitting method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594467A (en) * 1989-12-06 1997-01-14 Video Logic Ltd. Computer based display system allowing mixing and windowing of graphics and video
US20060023079A1 (en) * 2004-07-30 2006-02-02 Takayuki Sugitani Interface device and synchronization adjustment method
US20080036748A1 (en) * 2006-08-10 2008-02-14 Lees Jeremy J Method and apparatus for synchronizing display streams
JP2009267793A (en) * 2008-04-25 2009-11-12 Renesas Technology Corp Video signal processor
EP2182717A2 (en) * 2008-10-30 2010-05-05 Victor Company Of Japan, Limited Wireless image transferring apparatus, wireless image receiving apparatus and wireless image transmitting apparatus, and wireless image transferring method, wireless image receiving method and wireless image transmitting method

Also Published As

Publication number Publication date
FR2964234B1 (en) 2019-09-13

Similar Documents

Publication Publication Date Title
FR2964235A1 (en) SYNCHRONIZATION METHOD, SYSTEM AND DEVICE THEREOF
EP2567498B1 (en) Clock synchronization for shared media playback
EP2022273B1 (en) Transmitting a synchronizing signal in a packet network
FR2849328A1 (en) METHOD AND DEVICE FOR SYNCHRONIZING THE PRESENTATION OF AUDIO FRAMES AND / OR VIDEO FRAMES
CN101354878B (en) Receiving apparatus and clock signal rate calibration method
FR2960320A1 (en) METHOD FOR MANAGING DATA TRANSMISSION FROM TRANSMITTER DEVICE, COMPUTER PROGRAM PRODUCT, STORAGE MEDIUM AND TRANSMITTING DEVICE THEREFOR
FR2797549A1 (en) METHOD AND DEVICE FOR SYNCHRONIZING AN MPEG DECODER
EP1522189B1 (en) Method and device for video data transmission for implementing special modes
EP3617820B1 (en) Synchronisation method and system
US8913190B2 (en) Method and apparatus for regenerating a pixel clock signal
WO2007104888A2 (en) Generating and operating a double temporal descriptor for transmitting a synchronizing signal in a packet network
US20110193970A1 (en) Reducing Jitter in a Recovered Data Stream Clock of a Video DisplayPort Receiver
FR2911460A1 (en) RAPID INITIALIZATION OF THE VIDEO TIME BASE GENERATING A SYNCHRONIZATION SIGNAL IN A PACKET SWITCHED NETWORK
FR2926937A1 (en) METHODS FOR SYNCHRONIZING APPLICATION TIMES IN A SYNCHRONOUS COMMUNICATION NETWORK, TRANSMITTING AND RECEIVING DEVICES, COMPUTER PROGRAM PRODUCT, AND CORRESPONDING STORAGE MEDIUM.
EP0732845B1 (en) Method and apparatus for synchronising a digital video signal
FR2964234B1 (en) METHOD FOR CONTROLLING THE RHYTHM OF DISPLAYING A VIDEO SIGNAL
FR2980662A1 (en) METHOD FOR RECORDING CONTENT IN A FILE ON A SERVER AND CORRESPONDING DEVICE
FR2790892A1 (en) METHOD AND DEVICE FOR CONTROLLING THE SYNCHRONIZATION BETWEEN TWO SERIAL COMMUNICATION BUSES OF A NETWORK
EP3257254B1 (en) Method for synchronising and rendering multimedia streams
EP1302071B1 (en) Method and device for reading mpeg recorded data transmitted on an ieee 1394 bus
JP2007295491A (en) Streaming data receiving apparatus and jitter elimination circuit
FR2940873A1 (en) Method for synchronizing transmission of application data frames between emission device and receiving device via synchronous communication network, involves transmitting treated application data to counter of predetermined network cycle
FR2935569A1 (en) Precision time protocol packet receiving device for packet switching communication network, has sampling unit to deliver gap obtained by sampling of another gap's value for period, where period's value is lower than another period's value
GB2492749A (en) Synchronising Wireless Video Data Nodes
FR2793623A1 (en) Sync. for clocks within nodes of digital network includes transmission of internal clock frequency from each node to next for comparison and correction

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

ST Notification of lapse

Effective date: 20200405