Brevet FR2932631A1 — publié le 20091218

La présente invention concerne le domaine du contrôle de la transmission lors d'une diffusion de services multimédia à destination de terminaux de restitution de ces services. Plus particulièrement, on s'intéresse à la diffusion de services en mode salve (burst en anglais) à destination de terminaux mobiles comme c'est le cas, par exemple, dans la norme de diffusion DVB-H (Digital Video Broadcasting û Handheld en anglais) définie dans le document "ETSI EN 302 304, DVB-H Transmission System for Handheld Terminals". Un ensemble de services numériques à destination de terminaux mobiles est généralement diffusé sous la forme d'un flux de données numériques. Chaque service est divisé en paquets de données appelées sections. Ces sections constituant les différents services sont alors multiplexées, c'est-à-dire mélangées, au sein du flux. Dans le cas de terminaux mobiles, il est courant de rassembler des sections d'un même service au sein de salves. Dans ce cas, la diffusion comporte l'émission successive de salves constituées de sections d'un même service. De cette manière, le terminal de réception peut stopper sa partie radio entre les salves du service qu'il écoute. Il est nécessaire d'indiquer dans une salve le moment d'émission de la salve suivante du même service pour que le terminal puisse rallumer sa partie radio pour la réception de la salve suivante. Lors de la constitution du flux, il est donc nécessaire de construire celui-ci précisément en incluant dans une salve d'un service, une information sur le moment d'émission de la salve suivante du même service. Pour un opérateur gérant la diffusion de services au moyen de flux conformés en salves, il est important de pouvoir contrôler la diffusion. Pour ce faire, des appareils permettent de mesurer un ensemble de paramètres donnant des indications sur le flux diffusé. Avantageusement, ces appareils permettent de mesurer certains types d'erreurs dans le flux. On peut citer parmi ces erreurs des salves contenant des sections de données où le nombre d'erreurs de transmission dépasse les capacités de correction par le code correcteur utilisé ou encore des problèmes dans la construction temporelle des salves pouvant mettre en péril la bonne réception d'un service par un récepteur. L'invention vise à résoudre les problèmes précédents par un procédé de contrôle de la transmission d'un flux transportant des services constitués en salve. Ce contrôle permet une visualisation simultanée des différents services reçus. Pour chaque service, le procédé permet l'affichage en temps réel des différentes salves de données du service. Un code de couleur est utilisé pour permettre d'identifier facilement les salves en fonction de critères d'erreurs les affectant. L'affichage simultané et synchronisé des différents services permet en outre de détecter facilement les corrélations pouvant intervenir entre les erreurs affectant les salves de services différents. L'invention concerne un procédé de contrôle de la transmission, qui comprend une étape de réception d'un flux de données numériques comprenant une pluralité de services sous la forme de sections de données conformées en salves ; une étape de détection des différents services transmis dans le flux ; une étape d'affichage d'une ligne de temps pour chaque service détecté ; une étape d'analyse des sections reçues dans le flux et de détection des salves que ces sections constituent ; une étape d'extraction d'au moins un critère pour chaque salve détectée ; une étape de détermination d'une couleur à chaque salve détectée en fonction du critère extrait et une étape d'affichage des salves détectées sur la ligne de temps du service auquel elle est associée en fonction du moment de réception de la première et de la dernière section de la salve, ladite salve étant affichée dans la couleur déterminée. Selon un mode de réalisation particulier de l'invention, les critères extraits pour chaque salve comprennent une indication sur le fait que toutes les sections constituant la salve sont théoriquement corrigibles par le code correcteur d'erreur utilisé lors de leur transmission. Selon un mode de réalisation particulier de l'invention, les critères extraits pour chaque salve comprennent une indication sur le fait que toutes les sections constituant la salve sont réellement corrigibles par le code correcteur d'erreur utilisé lors de leur transmission. Selon un mode de réalisation particulier de l'invention, les sections de données constituant la salve étant constituées de données à transmettre et de données de redondance pour la correction d'erreur, l'affichage de la salve se fait par un rectangle comprenant deux sous rectangles, le premier représentant symboliquement les données à transmettre et le second les données de redondance, le critère de corrigibilité de la salve servant à déterminer la couleur du second sous rectangle. Selon un mode de réalisation particulier de l'invention, les salves contenant une information sur le moment d'arrivée attendu de la salve suivante concernant le même service dans le flux, les critères extraits pour chaque salve comprennent une indication sur le résultat de la comparaison du moment d'arrivée effectif de la salve et du moment attendu en fonction des informations contenues dans la salve précédente du même service. L'invention concerne également un dispositif de contrôle de la transmission, qui comprend des moyens de réception d'un flux de données numériques comprenant une pluralité de services sous la forme de sections de données conformées en salves ; des moyens de détection des différents services transmis dans le flux ; des moyens d'affichage d'une ligne de temps pour chaque service détecté ; des moyens d'analyse des sections reçues dans le flux et de détection des salves que ces sections constituent ; des moyens d'extraction d'au moins un critère pour chaque salve détectée ; des moyens de détermination d'une couleur à chaque salve détectée en fonction du critère extrait ; des moyens d'affichage des salves détectées sur la ligne de temps du service auquel elle est associée en fonction du moment de réception de la première et de la dernière section de la salve, ladite salve étant affichée dans la couleur déterminée. Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels : La Fig. 1 illustre un flux de diffusion de services par salves, La Fig. 2 illustre la diffusion par salve, La Fig. 3 illustre une section et son code correcteur d'erreurs, La Fig. 4 illustre un exemple de réalisation de l'affichage, La Fig. 5 illustre l'organigramme du procédé selon un exemple de réalisation de l'invention. La norme DVB-H est destinée à une diffusion pour des terminaux mobiles. La communication à destination de terminaux mobiles est caractérisée par un canal radio bruité et variable. D'autre part, les terminaux mobiles fonctionnent généralement sur batterie et leur autonomie est un critère important. Pour ces raisons, DVB-H a standardisé un mode de diffusion par salve et une forte protection contre les erreurs de transmission sous la forme d'un code correcteur d'erreurs FEC (Forward Error Correction en anglais). La Fig. 1 illustre un flux de diffusion de services par salves. La constitution des salves respecte une période T au cours de laquelle est émise une salve de données pour chaque service, cette période est appelée période de salve (burst period en anglais). Le flux ayant un débit constant D, on calcule la quantité de données à émettre par service en fonction du débit constant de chaque service. On alloue alors à chaque service un intervalle de temps (time slot en anglais) au cours de la période. Cet intervalle de temps correspond au temps nécessaire pour émettre les données du service à émettre au cours de la période T au débit du flux D. La période T est donc une succession de salves de données correspondant aux services, ici S1, S2, S3, S4 et S5. La durée de chaque salve dépend du débit du service émis. Ces périodes se répètent à l'identique, les salves contenant la même quantité de données émises sur un même intervalle de temps. Le flux est alors généré en groupant les sections de données de chaque service au sein d'une succession de sections appelée salve et contenant toutes les sections du service destinées à être émises pendant la même période de salve. Le flux est organisé sous la forme d'une succession de salves, une salve par service diffusé, pour chaque période de salve. Le mode salve consiste à grouper les sections contenant les données d'un service par salve dans le flux de données. De cette façon, un terminal désirant recevoir un service peut alors débrancher son récepteur radio entre deux salves pour des raisons d'économie d'énergie. La Fig. 2 illustre la diffusion par salve. Un service est constitué de sections de données MPE (Multi Protocol Encapsulation en anglais) rassemblées par salve. Une première salve est référencée 2.1. Chaque section de la première salve 2.1 contient dans son entête une information sur le temps séparant à l'émission cette section du début de l'émission de la salve suivante référencée 2.2. Cette information est appelée le delta-t, référencé 2.3, entre la section et la première salve suivante. Un flux de données est dit formé en salves, lorsque les données sont regroupées au sein du flux, par exemple les services, en entités en vue de leur émission en salve. Pour pouvoir calculer précisément le delta-t pour chaque section de la salve, il faut et il suffit de connaître le delta-t de la première section. Le delta-t des sections suivantes de la salve s'obtient alors en déduisant de ce premier delta-t la durée d'émission d'une section pour chaque section précédente dans la salve. Par commodité, on parle du delta-t de la salve pour parler du delta-t de la première section de la salve. Le delta-t de la salve est donc défini comme l'intervalle de temps entre le moment d'émission de la première section de la salve et le moment d'émission de la première section de la salve suivante. Cette information est utilisée par le récepteur pour éteindre son module de réception radio entre deux salves à des fins d'économie d'énergie. Connaissant le moment d'émission de la salve suivante, il peut rallumer son module de réception radio pour être en mesure de recevoir la salve suivante. Du fait de ce mécanisme, une erreur dans la construction temporelle du flux peut compromettre la réception de la salve par un récepteur. En effet, lorsque la diffusion de la salve suivante se produit même avec une légère avance sur le temps indiqué par le delta-t inclus dans la salve précédente, le récepteur risque de rallumer son module de réception radio trop tard et de ne pas être en mesure de recevoir les données. En effet, ratant le début de la salve qu'il attend il perd généralement l'intégralité des données de la salve. La construction de ces flux de diffusion de données se fait typiquement au sein d'un équipement appelé encapsulateur IP ou IPE (IP Encapsulator en anglais). Cet IPE reçoit les différents services sous la forme de flux de données indépendants. Ces flux peuvent être reçus, par exemple, sous la forme de paquets IP (Internet Protocol en anglais). Il construit alors les sections MPE contenant les données des différents services. Ces sections MPE sont alors regroupées par service pour constituer les salves tel que décrit Fig. 2. Dans DVB-H, la correction d'erreur est implémentée sous la forme d'un code correcteur d'erreur, généralement du Reed-Solomon, protégeant un ensemble de paquets IP formant une trame appelée trame MPE-FEC. La Fig. 3 illustre cette trame. Les données à transmettre que l'on veut protéger sont stockées dans une matrice de données 3.1 comportant 191 colonnes. Le nombre de lignes peut varier et prendre, par exemple, des valeurs telles que 256, 512, 768 ou 1024. Les paquets IP sont rangés en colonne dans la matrice. Le premier paquet est rangé dans la première colonne 3.3. La fin du premier paquet est rangée dans le début de la seconde colonne 3.4. Le début du second paquet est rangé dans la fin de la seconde colonne 3.5. La matrice est terminée par des données de remplissage pouvant couvrir plusieurs colonnes. Un code correcteur d'erreur est alors calculé sur chaque ligne, généralement un Reed-Solomon. Ce code génère pour chaque ligne 64 octets de redondance 3.6 rangés dans une matrice 3.2 comportant autant de lignes que la matrice de donnée 3.1 et 64 colonnes. Les paquets IP sont ensuite transmis sous la forme de sections MPE. Les données de redondances sont également transmises sous la forme de sections appelées MPE-FEC. De cette façon, un récepteur non compatible n'interprète que les sections de données MPE, tandis qu'un récepteur compatible interprète les deux types de sections et peut reconstituer la matrice de la trame de 256 colonnes, données plus codes de redondances. Il peut alors appliquer le code correcteur permettant de corriger certaines erreurs dans la partie donnée à l'aide des données de redondance. Lorsque l'on utilise un tel code de correction d'erreurs, le fait qu'une section puisse être corrigée dépend en fait du nombre maximal d'erreurs situées sur une même ligne de données de la matrice et du nombre de colonnes correspondant de données de redondance disponibles pour corriger cette ligne. Connaissant ce nombre de colonnes de données de redondance disponibles, on peut donc déterminer simplement si le paquet est théoriquement corrigible en comptant ce nombre maximum d'erreurs contenu dans une ligne de données de la matrice. Alternativement, on tente la correction de chaque section pour obtenir une information de possibilité de correction réelle de la section. L'affichage des services se présente alors comme illustré sur la Fig. 4. Chaque service est représenté sur une ligne de temps et identifié, S1, S2 et S3 sur la figure. Les salves détectées dans le flux sont alors représentées en fonction de leur temps d'arrivée et du service auquel elles correspondent. Avantageusement, le début de la représentation de la salve correspond au moment d'arrivée de la première section constituant la salve et la fin de cette représentation correspond au moment d'arrivée de la dernière section constituant la salve. On voit sur le dessin les salves 4.1 et 4.2 pour le service S1, une salve 4.3 pour le service S2 et une salve 4.4 pour le service S3. Chaque salve est représentée par un rectangle dont la longueur correspond sur l'échelle de temps à son temps de réception. Chaque salve est symboliquement représentée par un premier sous rectangle 4.5 représentant les données reçues et un second sous rectangle 4.6 représentant les données de redondance insérées dans les sections de la salve par le code correcteur d'erreur FEC. Dans ce cas, d'éventuelles salves ne contenant que des données sans redondance ou que des données de redondance sont affichées à l'aide d'un seul sous rectangle correspondant aux données contenues. Au fur et à mesure que le temps s'écoule, le graphique défile latéralement pour représenter cet écoulement et les nouvelles salves reçues sont représentées en temps réel. Avantageusement, l'interface graphique permet de sélectionner une salve donnée et d'arrêter le défilement pour obtenir des informations au format texte sur la salve sélectionnée. Ces informations sont extraites par analyse des salves reçues. Parmi ces informations, on peut citer le critère permettant de savoir si la salve est corrigible par le code d'erreur ou encore si le moment d'arrivée de cette salve correspond bien au moment tel que l'on peut le calculer en fonction de l'information delta-t insérée dans la salve précédente. D'autre part, durant le défilement des informations générales sur chaque service sont affichées en format texte en sus du graphique décrit. Ces informations comprennent, entre autres, une indication du taux de salves non corrigibles et du taux de salves qui ne sont par reçues au moment attendu. En l'absence d'indications supplémentaires, il est malaisé de détecter quelles sont les salves affectées par une erreur. Pour améliorer l'analyse du flux, l'invention propose d'affecter des codes couleur aux salves affichées en fonction de certains des critères extraits pour chaque salve lors de l'analyse. Par exemple, on peut affecter une couleur rouge à l'ensemble d'une salve qui est reçue plus tôt qu'attendu selon le delta-t de la salve précédente du même service. On peut également prévoir d'affecter une autre couleur, par exemple orange, au sous rectangle représentant les données de redondance lorsque la salve reçue contient des sections dont l'intégralité des données n'est pas corrigible par le code d'erreur FEC. Dans le cas de salves ne contenant que des données sans redondance, un code couleur peut être attribué en fonction de leur transmission sans erreur. Ce critère est obtenu par vérification de la somme de contrôle de la section. D'autres couleurs peuvent être affectées également à d'autres critères en fonction des aspects du flux que l'on veut analyser. On peut prévoir de contrôler ainsi la durée de la salve par rapport à une durée type prédéfinie. On peut également contrôler la durée des données et séparément la durée des données de redondance par rapport à des données prédéfinies. On peut également contrôler la taille, c'est-à-dire la quantité de données contenues dans la salve ou encore la valeur de certains paramètres comme le PID, le référencement du PID, les paramètres relatifs au cryptage des données ou autres. Outre le fait de permettre à l'utilisateur souhaitant contrôler le flux reçu un moyen de visualiser rapidement et facilement la localisation dans le flux des salves erronées, le fait d'afficher ainsi la totalité des services dans une seule vue cohérente temporellement permet la visualisation de toutes les salves des différents services reçus. Les salves erronées étant mise en évidence, cet affichage permet de détecter des corrélations possibles entre les erreurs affectant les différents services contenus dans le flux. On peut, par exemple, détecter un problème de construction du flux lors du rebouclage en fin de période de salve. Une telle erreur provoque une série de salves erronées sensiblement alignées temporellement. Pouvoir corréler les salves erronées entre elles entre les services apporte une information capitale pour l'analyse du flux. Le procédé d'affichage du contrôle de flux est illustré par l'organigramme de la Fig. 5. Le flux est reçu lors d'une première étape 5.1. Une première analyse du flux est alors effectuée lors d'une étape 5.2 pour détecter les services présents dans le flux. Cette détection peut se faire soit par analyse des informations de signalisation présentes dans le flux qui listent les services présents et indique pour chaque service l'identifiant PID (Programm ID en anglais) associé à ce service. On peut aussi détecter les PID utilisés par analyse des sections reçues, chaque section de données possédant dans son entête le PID du service auquel les données appartiennent. On affiche lors d'une étape 5.3 une ligne de temps par service contenu dans le flux. On commence lors d'une étape 5.4 une analyse en temps réel des sections reçues. En particulier, on cherche à détecter les salves de données. Les entêtes de sections comprennent des informations relatives au début et à la fin des salves. On note le moment d'arrivée des sections de début et de fin de salve ainsi que le service concerné. On effectue lors d'une étape 5.5 une extraction de critères pour chaque salve reçue. Cette extraction comprend, par exemple, la vérification du fait que chaque section de la salve est corrigible par le code d'erreur FEC. Avantageusement, on extrait également le moment prévu du début de la salve suivante du service en fonction de l'information delta-t inclue dans les entêtes de section. Grâce à cette information, on détermine si la salve courante est en avance, en retard ou à l'heure par rapport à l'information donnée dans la salve précédente du service. D'autres critères peuvent être utilisés. Lors d'une étape 5.6, on détermine le code couleur affecté à la salve en fonction des critères extraits. On affiche lors de l'étape 5.7 la salve sur le graphique sur la ligne de temps du service concerné avec le code couleur déterminé. Les étapes 5.4 à 5.7 sont répétées pour chaque salve reçue dans le flux. REVENDICATIONS1/ Procédé de contrôle de la transmission, caractérisé en ce qu'il comprend les étapes suivantes : - une étape de réception d'un flux de données numériques comprenant une pluralité de services sous la forme de sections de données conformées en salves ; - une étape de détection des différents services transmis dans le flux ; - une étape d'affichage d'une ligne de temps pour chaque service détecté ; - une étape d'analyse des sections reçues dans le flux et de détection des salves que ces sections constituent ; - une étape d'extraction d'au moins un critère pour chaque salve détectée ; - une étape de détermination d'une couleur à chaque salve détectée en fonction du critère extrait ; - une étape d'affichage des salves détectées sur la ligne de temps du service auquel elle est associée en fonction du moment de réception de la première et de la dernière section de la salve, ladite salve étant affichée dans la couleur déterminée. 2/ Procédé selon la revendication 1, caractérisé en ce que les critères extraits pour chaque salve comprennent une indication sur le fait que toutes les sections constituant la salve sont théoriquement corrigibles par le code correcteur d'erreur utilisé lors de leur transmission. 3/ Procédé selon la revendication 1, caractérisé en ce que les critères extraits pour chaque salve comprennent une indication sur le fait que toutes les sections constituant la salve sont réellement corrigibles par le code correcteur d'erreur utilisé lors de leur transmission. 4/ Procédé selon l'une des revendications 2 ou 3, caractérisé en ce que les sections de données constituant la salve étant constituée de données à transmettre et de données de redondance pour la correction d'erreur, l'affichage de la salve se fait par un rectangle comprenant deux sous rectangles, le premier représentant symboliquement les données à transmettre et le second les données de redondance, lecritère de corrigibilité de la salve servant à déterminer la couleur du second sous rectangle. 5/ Procédé selon la revendication 1, caractérisé en ce que les salves contenant une information sur le moment d'arrivée attendu de la salve suivante concernant le même service dans le flux, les critères extraits pour chaque salve comprennent une indication sur le résultat de la comparaison du moment d'arrivée effectif de la salve et du moment attendu en fonction des informations contenues dans la salve précédente du même service. 6/ Dispositif de contrôle de la transmission, caractérisé en ce qu'il comprend : - des moyens de réception d'un flux de données numériques comprenant une pluralité de services sous la forme de sections de données conformées en salves ; - des moyens de détection des différents services transmis dans le flux ; - des moyens d'affichage d'une ligne de temps pour chaque service détecté ; - des moyens d'analyse des sections reçues dans le flux et de détection des salves que ces sections constituent ; - des moyens d'extraction d'au moins un critère pour chaque salve détectée ; - des moyens de détermination d'une couleur à chaque salve détectée en 20 fonction du critère extrait ; - des moyens d'affichage des salves détectées sur la ligne de temps du service auquel elle est associée en fonction du moment de réception de la première et de la dernière section de la salve, ladite salve étant affichée dans la couleur déterminée.