FR 3032077 A1 20160729 FR 1550607 A 20150127 1 PROCEDE DE DIFFUSION MULTIPOINT D'UN FLUX DE DONNEES AU FORMAT IP DOMAINE TECHNIQUE DE L'INVENTION Le domaine technique de l'invention est celui de la diffusion de données par satellite, et plus particulièrement celui de la diffusion de flux de données au format IP vers des terminaux satellites mobiles. L'invention se rapporte ainsi à un procédé de diffusion multipoint d'un flux de données au format IP depuis un émetteur vers une pluralité de récepteurs via un 113 satellite de télécommunication. ARRIERE-PLAN TECHNOLOGIQUE DE L'INVENTION Le développement des services proposés à bord des moyens de transports, qu'ils soient aériens, terrestres ou maritimes, est aujourd'hui un enjeu majeur pour 15 satisfaire la demande des usagers, une demande qui porte notamment sur un service de diffusion vidéo en temps réel. Dans ce contexte que sont les moyens de transport, les solutions basées sur la Télévision Numérique Terrestre (TNT) ne fonctionnent pas. En Effet, les signaux hertziens de la TNT n'atteignent ni les avions ni les bateaux situés trop loin des 20 côtes. En ce qui concerne les trains, outre le fait qu'ils traversent parfois des zones où le service n'est pas disponible, leur vitesse de déplacement implique des difficultés de réceptions dues notamment à l'effet Doppler. Il faut alors s'orienter vers des solutions basées sur la télévision par satellite. Malheureusement, les moyens de transports sont sujets à des masquages, 25 provoqués par exemple par des tunnels ou des canyons, et donc à des interruptions de la liaison satellite. Ces interruptions perturbent la réception de la télévision par satellite classiquement utilisée et provoquent la perte d'information dans le flux vidéo diffusé. Afin d'éviter la perte d'information, il est possible de diffuser le flux vidéo deux 30 fois et en parallèle, la seconde diffusion étant retardée de quelques minutes. Cette méthode présente l'inconvénient de doubler en permanence la bande passante occupée par le service de diffusion vidéo et ne protège pas des interruptions multiples à caractère plus ou moins périodique. 3032077 2 D'autre part, il s'agit d'une méthode particulièrement inefficace dans le cadre de la diffusion via un satellite de télécommunication à couverture cellulaire, également appelé satellite de télécommunication multifaisceaux. En effet, en passant d'une cellule à une autre, le changement de fréquence ou de polarisation provoque 5 inévitablement des interruptions très courtes de la liaison satellite ainsi que le besoin de resynchroniser les contenus diffusés. Une autre solution pour gérer la perte d'information consiste à utiliser le HLFEC (« High Layer Forward Error Correction » en anglais), le principe étant d'ajouter de la redondance au flux vidéo à diffuser. Par conséquent, cette solution monopolise également davantage de bande passante. De plus, cette solution permet seulement de corriger des pertes courtes et distribuées aléatoirement dans le temps mais ne permet pas une protection contre des interruptions de la liaison satellite qui durent plusieurs secondes ou minutes. Il est également possible d'utiliser le protocole TCP/IP mais cette solution ne permet pas de diffuser un même flux vidéo à plusieurs clients, chacun d'eux devant établir une connexion avec le serveur d'émission, avec les conséquences que cela entraîne au niveau de la bande passante utilisée. Le protocole TCP/IP permet de gérer les petites interruptions pendant, en fonction de l'implémentation du protocole TCP, quelques dizaines de secondes, mais il ne fonctionne pas non plus pour de longues interruptions, de l'ordre de quelques minutes, durant lesquelles la session TCP risque d'expirer. A ce jour il n'existe donc pas de solution satisfaisante pour offrir un service de diffusion vidéo de qualité, i.e. exempt d'interruptions, quel que soit le moyen de transport visé, et qui de surcroît n'impose pas de connexion stricte entre le serveur d'émission et chaque client (« connectionless » en anglais). RESUME DE L'INVENTION Le procédé selon l'invention vise à résoudre les problèmes qui viennent d'être exposés en proposant une solution pour se protéger des pertes occasionnées par les interruptions d'une liaison satellite lors de la diffusion multipoint d'un flux de données au format IP au moyen de cette liaison satellite. On entend par « diffusion multipoint » (« multicast » en anglais), la diffusion simultanée de données depuis un unique émetteur vers plusieurs récepteurs. La diffusion multipoint est par exemple utilisée par les systèmes de télévision IP. 3032077 3 L'invention concerne donc un procédé de diffusion multipoint d'un flux de données au format IP, dit flux principal, depuis un émetteur vers une pluralité de récepteurs, via un satellite de télécommunication, l'émetteur comportant une mémoire tampon, chacun des récepteurs comportant une mémoire tampon, le flux 5 principal étant décomposé en paquets formant une séquence, chacun des paquets de la séquence du flux principal étant mémorisé dans la mémoire tampon de l'émetteur, le procédé comportant les différentes étapes consistant à : - transmettre le flux principal depuis l'émetteur vers la pluralité de récepteurs via le satellite de télécommunication ; 10 - mémoriser, dans la mémoire tampon de chacun des récepteurs, les paquets de la séquence du flux principal reçus ; - vérifier périodiquement, dans la mémoire tampon de chacun des récepteurs, l'absence de paquets de la séquence du flux principal, de tels paquets étant identifiés en tant que paquets perdus ; 15 - envoyer vers l'émetteur via le satellite de télécommunication, depuis chacun des récepteurs pour lequel au moins un paquet perdu a été identifié, une requête de retransmission des paquets perdus par ledit chacun des récepteurs ; - retransmettre les paquets perdus depuis l'émetteur vers la pluralité de 20 récepteurs via le satellite de télécommunication ; - mémoriser, dans la mémoire tampon de chacun des récepteurs, les paquets perdus retransmis effectivement reçus ; - réordonner, dans la mémoire tampon de chacun des récepteurs, les paquets de la séquence du flux principal ; 25 - extraire un flux de données au format IP de la mémoire tampon de chacun des récepteurs. Le procédé selon l'invention est particulièrement adapté aux flux de données au format IP ayant des propriétés temps réel, comme les flux vidéo au format IP, pour lesquels il est important de minimiser l'impact des interruptions. 30 Le procédé selon l'invention peut comporter, en plus des étapes principales qui viennent d'être mentionnées précédemment, une ou plusieurs caractéristiques parmi les suivantes considérées individuellement ou selon les combinaisons techniquement possibles : - le flux principal est transmis avec un débit constant ; 3032077 4 - l'étape de retransmission des paquets perdus est effectuée en parallèle de l'étape de transmission du flux principal ; - l'étape de retransmission des paquets perdus est effectuée lorsque l'émetteur a cumulé pendant une durée prédéterminée un ensemble de requêtes de 5 retransmission des paquets perdus provenant de différents récepteurs ; - les paquets perdus sont retransmis dans l'ordre de la séquence du flux principal ; - les paquets perdus sont retransmis avec un débit supérieur ou égal au débit constant de transmission du flux principal ; 10 - le débit de retransmission d'un paquet perdu augmente lorsque la position dudit paquet perdu dans la séquence diminue ; - la mémoire tampon de l'émetteur est configurée pour contenir à tout moment au moins les paquets de la séquence du flux principal mémorisés dans la mémoire tampon de chacun des récepteurs ; 15 - le satellite de télécommunication est un satellite de télécommunication à couverture cellulaire. L'invention et ses différentes applications seront mieux comprises à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. zo BREVE DESCRIPTION DES FIGURES Celles-ci ne sont présentées qu'à titre indicatif et nullement limitatif de l'invention. Les figures montrent : - à la figure 1, un diagramme fonctionnel d'un mode de mise en oeuvre préférentiel du procédé selon l'invention ; 25 - à la figure 2, une représentation schématique d'un premier exemple de contexte de mise en oeuvre du procédé selon l'invention, dans le cas d'un satellite à faisceau large ; - à la figure 3, une représentation schématique d'un deuxième exemple de contexte de mise en oeuvre du procédé selon l'invention, dans le cas d'un satellite 30 M u 'tif ai sce au x. Pour plus de clarté, les éléments identiques ou similaires sont repérés par des signes de référence identiques sur toutes les figures. 3032077 5 DESCRIPTION DETAILLEE D'UN MODE DE REALISATION DE L'INVENTION L'invention a notamment pour objet de proposer un procédé destiné à empêcher la perte d'information lors de la diffusion multipoint de flux de données au format IP au moyen d'un satellite de télécommunication. 5 Les différentes opérations relatives à un mode de mise en oeuvre préférentiel du procédé selon l'invention sont par exemple les suivantes, illustrées sur le diagramme fonctionnel de la figure 1. La figure 1 montre un émetteur TX comportant une mémoire tampon TX_BUF et recevant en entrée un flux de données au format IP S_IN, désigné par la suite en Io tant que « flux principal S_IN ». Afin d'être transmis, le flux principal S_IN est décomposé en paquets formant une séquence, chaque paquet étant identifié par un numéro séquentiel permettant de déterminer sa position dans la séquence. Dans un autre mode de mise en oeuvre, les paquets peuvent être identifiés au moyen par exemple d'une date (« timestamp » en anglais). On dit que la position d'un paquet 15 augmente lorsque celui-ci s'éloigne du début de la séquence, et inversement la position d'un paquet diminue lorsque celui-ci se rapproche du début de la séquence. La figure 1 montre également un récepteur RX comportant une mémoire tampon RX_BUF. Le fonctionnement du procédé selon l'invention est décrit en relation avec un seul récepteur RX, tous les récepteurs fonctionnant de manière 20 identique. Au cours d'une étape 110, l'émetteur TX transmet, de préférence avec un débit constant, le flux principal S_IN vers le récepteur RX via un satellite de télécommunication, en utilisant par exemple le protocole RTP (sur IP) encapsulé dans des trames selon le standard DVB-S2. Sur la figure 1, la liaison satellite entre 25 l'émetteur TX et le récepteur RX est symbolisée par un canal de transmission C pouvant entraîner des pertes dans les paquets transmis. Les pertes dans le canal de transmission C sont par exemple dues à des interruptions de la liaison satellite. Les paquets de la séquence du flux principal S_IN transmis au cours de l'étape 110 sont également mémorisés dans la mémoire tampon TX_BUF de 30 l'émetteur TX. Cette mémorisation est avantageusement effectuée dans l'ordre de la séquence du flux principal S_IN, correspondant à l'ordre de transmission des paquets. Les paquets de la séquence du flux principal S_IN reçus par le récepteur RX sont ensuite mémorisés, au cours d'une étape 120, dans la mémoire tampon 3032077 6 RX_BUF du récepteur RX. Le canal de transmission C pouvant entraîner des pertes, la mémoire tampon RX_BUF du récepteur RX est balayée périodiquement pour vérifier, au cours d'une étape 130 s'il manque des paquets de la séquence du flux principal S_IN, appelés « paquets perdus ». Les paquets perdus sont identifiés par 5 l'absence de leurs numéros séquentiels. La périodicité de l'étape de vérification 130 est par exemple réalisée en introduisant une temporisation T, comme illustré sur la figure 1. Si des paquets perdus sont effectivement détectés dans la mémoire tampon RX_BUF du récepteur RX, ce dernier envoie à l'émetteur TX, au cours d'une étape 113 140, une requête de retransmission des paquets perdus, comportant par exemple les identifiants des paquets perdus. La requête de retransmission est envoyée par des paquets UDP transportant une liste des paquets perdus qui ont été détectés lors du dernier cycle de vérification 130 de la mémoire tampon RX_BUF. L'hypothèse étant faite que les paquets ne sont jamais (ou rarement) perdus 15 de manière isolée mais en séquences de paquets, la liste des paquets perdus comporte des couples de valeurs indiquant le numéro séquentiel du premier paquet et le numéro séquentiel du dernier paquet de chaque séquence perdue. Dans les rares cas où un paquet est perdu de manière isolée, ces deux valeurs sont identiques. 20 Pour pouvoir envoyer la requête de retransmission, le canal de transmission C doit nécessairement être bidirectionnel, bien que le lien retour (i.e. du récepteur RX vers l'émetteur TX) n'ait besoin que d'un faible débit. En effet, la requête de retransmission des paquets perdus occupe une bande passante de seulement quelques kbit/s. La requête de retransmission des paquets perdus est envoyée dès 25 que le lien retour est disponible. L'émetteur TX cumule pendant un certain temps les requêtes de retransmission provenant de différents récepteurs. L'émetteur TX procède ensuite à une étape de retransmission 150, via le satellite de télécommunication, de l'ensemble des paquets perdus mémorisés dans la mémoire tampon TX_BUF de 30 l'émetteur TX. La retransmission 150 est également effectuée en multicast, l'ensemble des paquets perdus étant retransmis à tous les récepteurs. De plus, la retransmission 150 des paquets perdus est avantageusement effectuée en parallèle de la transmission 110 du flux principal S_IN, cette dernière n'étant ainsi pas interrompue. 3032 0 77 7 Les paquets perdus sont avantageusement retransmis avec un ordre de priorité défini par leurs positions dans la séquence du flux principal S_IN. En effet, comme cela a été dit précédemment, les paquets de la séquence du flux principal S_IN sont mémorisés dans la mémoire tampon TX_BUF de l'émetteur TX dans _ _ 5 l'ordre de la séquence du flux principal S_IN, équivalent à leur ordre de transmission. Le paquet ayant la position la plus basse parmi ceux contenus dans la mémoire tampon TX_BUF de l'émetteur TX sera donc effacé en premier, et a par conséquent la priorité de retransmission la plus élevée. Le débit de retransmission des paquets perdus est de préférence supérieur ou 10 égal au débit de transmission du flux principal S_IN, permettant ainsi de libérer plus rapidement la capacité de retransmission pour d'autres applications, comme la connectivité internet. Toujours dans le but d'optimiser l'utilisation de la capacité du canal de transmission C, le débit de retransmission des paquets perdus peut être variable et augmenter en même temps que la position d'un paquet perdu dans la 15 séquence du flux principal S_IN diminue. A la suite de l'étape de retransmission 150, le récepteur RX mémorise, au cours d'une étape 160, dans sa mémoire tampon RX_BUF les paquets perdus retransmis qu'il a effectivement reçu. Les paquets perdus étant retransmis à l'ensemble des récepteurs, le récepteur RX vérifie que les paquets qu'il reçoit ne 20 sont pas déjà présents dans sa mémoire tampon RX_BUF, par exemple s'ils ont déjà été délivrés par une autre retransmission déclenchée par une précédente requête. Les paquets perdus retransmis, ou bien la requête de retransmission elle-même, sont également susceptibles d'être perdus dans le canal de transmission C. Toutefois, ces pertes sont à nouveau détectées au cours d'un prochain cycle de 25 l'étape de vérification 130. Les paquets mémorisés dans la mémoire tampon RX_BUF du récepteur RX sont ensuite réordonnés, au cours d'une étape 170, dans l'ordre de la séquence du flux principal S_IN. Il est alors possible d'extraire, au cours d'une étape 180, un nouveau flux de données au format IP S_OUT, appelé flux de sortie S_OUT, 30 similaire au flux principal S_IN. Le flux de sortie S_OUT peut par exemple être envoyé vers un lecteur dans le cas d'un flux vidéo au format IP. Le flux vidéo joué en sortie n'est pas directement le flux vidéo diffusé mais celui reconstitué à partir de la mémoire tampon RX_BUF du récepteur RX, ce qui a pour conséquence d'introduire 3032077 8 un décalage temporel dont la valeur maximale correspond à la taille de la mémoire tampon RX_BUF de l'émetteur RX. Plusieurs paramètres sont à prendre en compte pour le dimensionnement de la mémoire tampon TX_BUF de l'émetteur TX. Tout d'abord il faut tenir compte du 5 temps de propagation d'un signal pour chaque bond, un bond étant défini comme le trajet du signal entre l'émetteur TX et le récepteur RX en passant par le satellite. Un bond correspond environ à une durée de 300 ms. Il faut également tenir compte du temps pendant lequel l'émetteur TX cumule les requêtes de retransmissions des paquets perdus. 10 Le contexte de mise en oeuvre du procédé selon l'invention est aussi à prendre en compte. En effet, la taille de la mémoire tampon TX_BUF de l'émetteur TX doit être suffisante pour gérer la plus longue interruption (ou plusieurs interruptions successives cumulées) attendue sur le parcours des récepteurs. En règle générale, la mémoire tampon TX_BUF de l'émetteur TX doit 15 préférentiellement contenir à tout moment au moins les paquets de la séquence du flux principal mémorisés, ou sensés l'être, dans la mémoire tampon de chaque récepteur RX. Les deux exemples qui suivent vont maintenant décrire des applications concrètes du procédé selon l'invention. 20 La figure 2 représente un premier exemple de contexte de mise en oeuvre du procédé selon l'invention. La figure 2 montre l'émetteur TX comportant une mémoire tampon TX_BUF et recevant le flux principal S_IN provenant d'un encodeur E connecté à une source vidéo VS. Le flux principal S_IN est un flux vidéo au format IP résultant de la conversion par l'encodeur E du flux vidéo provenant de la source 25 vidéo VS. L'encodeur est également apte à décomposer le flux principal S_IN en une séquence de paquets, en utilisant par exemple le protocole RTP. L'émetteur TX est configuré pour transmettre le flux principal S_IN en multicast via un satellite de télécommunication SAT fonctionnant avec un faisceau large, par exemple en bande Ku. La transmission du flux principal S_IN est réalisé au 30 moyen d'une station terrestre de télécommunication H, appelée « hub » ou « gateway » en anglais, connectée à l'émetteur TX, par exemple au moyen d'une liaison terrestre de type fibre optique. Des récepteurs RX1, RX2, montés dans des moyens de transport, eux-mêmes situés dans la zone de couverture du satellite de télécommunication SAT, 3032077 9 sont aptes à recevoir le flux principal S_IN et à envoyer à l'émetteur TX, sur le lien retour du satellite de télécommunication SAT, des requêtes Q de retransmission des paquets perdus LP au cours de la transmission. L'émetteur TX est également configuré pour retransmettre en multicast, via le satellite de télécommunication SAT, 5 les paquets perdus LP aux récepteurs RX1, RX2. La figure 3 représente un deuxième exemple de contexte de mise en oeuvre du procédé selon l'invention, dans le cadre de l'utilisation d'un satellite de télécommunication SAT multifaisceaux, fonctionnant par exemple en bande Ka. La couverture du satellite de télécommunication SAT multifaisceaux se présente sous la 10 forme de cellules C1, C2, chaque cellule correspondant à un faisceau. Sur la figure 3, le récepteur RX est monté dans un avion passant d'une première cellule Cl à une deuxième cellule C2. Ce passage d'une cellule à une autre est appelé transfert intercellulaire, ou « handover » en anglais. L'émetteur TX est apte à transmettre le flux principal S_IN vers la première cellule Cl au moyen d'un 15 premier hub H1, et vers la deuxième cellule C2 au moyen d'un deuxième hub H2. Dans ce contexte de mise en oeuvre, en plus des interruptions de la liaison satellite, le procédé selon l'invention permet de gérer les micro-interruptions entraînant la perte de paquets et provenant du temps nécessaire à la resynchronisation SYNC des récepteurs lors du handover. A cette fin, la taille de la 20 mémoire tampon TX_BUF de l'émetteur TX est augmentée pour tenir compte de ce temps de resynchronisation. Ainsi, grâce au procédé selon l'invention, il est possible de se prémunir de la perte de paquets survenant lorsque la liaison satellite permettant la diffusion en mode multipoint d'un flux de données au format IP vers plusieurs terminaux satellite 25 mobiles est interrompue, quelle qu'en soit la cause. REVENDICATIONS1. Procédé de diffusion multipoint d'un flux de données au format IP (S_IN), dit flux principal (S_IN), depuis un émetteur (TX) vers une pluralité de récepteurs (RX1, RX2), via un satellite de télécommunication (SAT), l'émetteur (TX) comportant une mémoire tampon (TX_BUF), chacun des récepteurs (RX1, RX2) comportant une mémoire tampon (RX_BUF), le flux principal (S_IN) étant décomposé en paquets formant une séquence, chacun des paquets de la séquence du flux principal (S_IN) étant mémorisé dans la mémoire tampon (TX_BUF) de l'émetteur (TX), caractérisé en ce que le procédé comporte les différentes étapes consistant à : - transmettre (110) le flux principal (S_IN) depuis l'émetteur (TX) vers la pluralité de récepteurs (RX1, RX2) via le satellite de télécommunication (SAT) ; - mémoriser (120), dans la mémoire tampon (RX_BUF) de chacun des récepteurs (RX1, RX2), les paquets de la séquence du flux principal (S_IN) reçus ; - vérifier (130) périodiquement, dans la mémoire tampon (RX_BUF) de chacun des récepteurs (RX1, RX2), l'absence de paquets de la séquence du flux principal (S_IN), de tels paquets étant identifiés en tant que paquets perdus (LP) ; - envoyer (140) vers l'émetteur (TX) via le satellite de télécommunication (SAT), depuis chacun des récepteurs (RX1, RX2) pour lequel au moins un paquet perdu (LP) a été identifié, une requête (Q) de retransmission des paquets perdus (LP) par ledit chacun des récepteurs (RX1, RX2) ; - retransmettre (150) les paquets perdus (LP) depuis l'émetteur (TX) vers la pluralité de récepteurs (RX1, RX2) via le satellite de télécommunication (SAT) ; - mémoriser (160), dans la mémoire tampon (RX_BUF) de chacun des récepteurs (RX1, RX2), les paquets perdus (LP) retransmis effectivement reçus ; - réordonner (170), dans la mémoire tampon (RX_BUF) de chacun des récepteurs (RX1, RX2), les paquets de la séquence du flux principal (S_IN) ; - extraire (180) un flux de données au format IP (S_OUT) de la mémoire tampon (RX_BUF) de chacun des récepteurs (RX1, RX2). 3032077 n 2. Procédé selon la revendication précédente caractérisé en ce que le flux de principal (S_IN) est un flux vidéo au format IP. 3. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que le flux principal (S_IN) est transmis avec un débit constant. 5 4. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que l'étape de retransmission (150) des paquets perdus (LP) est effectuée en parallèle de l'étape de transmission (110) du flux principal (S_IN). 5. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que l'étape de retransmission (150) des paquets perdus (LP) est effectuée 10 lorsque l'émetteur (TX) a cumulé pendant une durée prédéterminée un ensemble de requêtes (Q) de retransmission des paquets perdus (LP) provenant de différents récepteurs (RX1, RX2). 6. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que les paquets perdus (LP) sont retransmis dans l'ordre de la séquence du 15 flux principal (S_IN). 7. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que les paquets perdus (LP) sont retransmis avec un débit supérieur ou égal au débit constant de transmission du flux principal (S_IN). 8. Procédé selon la revendication précédente caractérisé en ce que le débit de 20 retransmission d'un paquet perdu (LP) augmente lorsque la position dudit paquet perdu (LP) dans la séquence diminue. 9. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que la mémoire tampon (TX_BUF) de l'émetteur (TX) est configurée pour contenir à tout moment au moins les paquets de la séquence du flux principal (S_IN) 25 mémorisés dans la mémoire tampon (RX_BUF) de chacun des récepteurs (RX1, RX2). 10. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que le satellite de télécommunication (SAT) est un satellite de télécommunication (SAT) à couverture cellulaire.