Brevet FR2893810A1 — publié le 20070525

PROCEDE DE TEST DE RESEAU DE COMMUNICATION PAR L'INTERMEDIAIRE D'UN TERMINAL La présente invention concerne un procédé pour tester la qualité d'un réseau de communications, ce test étant réalisé en analysant le contenu de l'écran d'un terminal échangeant des informations via ce réseau de communications. Avec le développement de nouvelles générations de téléphones mobiles, les opérateurs de téléphonie mobile sont maintenant en mesure d'offrir de nombreux services permettant à des utilisateurs d'échanger des images ou des vidéos, ou encore d'accéder à des services de type WAP ou Internet par l'intermédiaire de leurs téléphones. Afin de proposer le meilleur service possible à leurs clients, il est utile pour ces opérateurs de pouvoir tester leur réseau afin de disposer d'indicateurs sur la qualité perçue par les utilisateurs lors, notamment, de l'affichage sur l'écran de leur téléphone de pages Internet ou de vidéos. Ces indicateurs, sont par exemple le temps d'affichage d'une image sur l'écran, ou la qualité visuelle de cette image. A l'heure actuelle, de tels tests sont effectués de manière manuelle par des opérateurs de test équipés de téléphones mobiles standard. Ce mode de test présente de nombreux inconvénients, notamment en terme de coût, mais également en terme d'objectivité des résultats. Par ailleurs, il existe des procédés de tests automatiques pour les téléphones mobiles, notamment des applications embarquées dans des ordinateurs de type PC ; mais ces procédés permettent uniquement de tester la fonctionnalité modem des téléphones, par exemple en mesurant un nombre de paquets échangés, ou un temps de réponse. Ces mesures quantitatives ne peuvent donc pas être utilisées pour rendre compte de la qualité réelle perçue par un utilisateur, par exemple lorsqu'il essaie d'accéder à une page Internet. En complément de ces procédés, des outils automatiques de validation d'applications mobiles ont été développés, mais ces outils sont utilisés pour tester les téléphones mobiles eux-mêmes, et non un réseau de communications par lequel transiteraient des données envoyées sur le téléphone. Ainsi, les procédés de test mis en oeuvre dans ces outils sont dépendants du téléphone mobile utilisé, et notamment du système d'exploitation installé sur ce téléphone. Ces outils ne peuvent donc pas être utilisés tels quels pour tester un réseau de télécommunications, car ils n'ont été développés que pour certains types de téléphones mobiles et ne sont pas facilement adaptables aux autres téléphones. De plus, ces outils de validation ne sont généralement pas intégrés dans le téléphone mobile lui-même, et ne peuvent donc pas être utilisés en permanence puisqu'ils représentent une gêne pour les utilisateurs. L'invention vise à remédier à au moins l'un des inconvénients cités précédemment. L'invention concerne un procédé de test de réseau de communications par l'intermédiaire d'un terminal, le terminal étant doté d'un écran et échangeant des informations via le réseau de communications. Ce procédé comprend les étapes suivantes : - l'étape de récupérer périodiquement les valeurs de tout ou partie des pixels de l'écran du terminal, - l'étape de calculer, à partir de ces valeurs de pixels, un ou plusieurs paramètre(s) représentatif(s) du contenu de l'écran, et - l'étape de transférer ce (ou ces) paramètre(s) vers un moyen de sauvegarde et/ou d'analyse. Le procédé selon l'invention permet, en récupérant les valeurs de pixels de l'écran, de rendre compte de la réalité perçue par un utilisateur regardant l'écran. De préférence, pour tester n'importe quel réseau avec n'importe quel téléphone mobile, les paramètres calculés sont des paramètres indépendants du terminal utilisé pour réaliser les tests, ou de l'application pour laquelle ce terminal est utilisé. Le choix des paramètres à calculer peut, par exemple, être effectué par un opérateur de téléphonie mobile en fonction des fonctionnalités de son réseau qu'il souhaite tester. Selon les paramètres choisis, il peut être utile de parcourir l'image selon un ordre ou un autre, ou encore de ne pas récupérer tous les pixels. Ainsi, dans une réalisation, pour récupérer les valeurs de pixels, on parcourt l'écran du terminal selon un mode de parcours compris dans le groupe comprenant : parcours selon les lignes verticales, parcours selon les lignes horizontales, parcours selon des zones rectangulaires et parcours sous-échantillonné dans lequel on ne récupère les valeurs que d'un pixel sur n, où n est un nombre entier positif. Par exemple, si un opérateur désire connaître le temps d'affichage d'une image sur l'écran, et qu'il sait qu'une image s'affiche ligne par ligne, il peut choisir de ne récupérer les valeurs que d'une colonne de pixels, chaque pixel de cette colonne étant représentatif d'une ligne de l'écran. De la même façon, l'opérateur peut vouloir tester le temps d'accès à une page Internet dans laquelle est inséré un symbole particulier, tel qu'un sablier, variant en fonction de l'état d'avancement de l'affichage. Dans ce cas, il est suffisant de récupérer les valeurs des pixels se trouvant dans la zone de l'écran dans laquelle se trouve ce symbole. Les téléphones mobiles utilisés pour réaliser ces tests sont munis de système d'exploitation, par exemple de type Microsoft Windows . Ces systèmes comprennent généralement des outils d'analyse d'image, qui peuvent être utilisés par le procédé de test. Ainsi, dans une réalisation, le procédé utilise, lors de l'étape de calcul, des algorithmes de traitement d'image utilisés à d'autres fins dans le terminal, notamment pour déterminer les couleurs des pixels de l'écran. Dans une variante, le procédé utilise des algorithmes connus pour la reconnaissance et l'identification d'images. La détermination des couleurs peut être un critère particulièrement pertinent pour évaluer la qualité visuelle d'une image affichée sur un écran. Un des moyens pour évaluer la qualité d'une image, est de comparer cette image avec une image de référence correspondant à ce que l'on souhaite obtenir. A cet effet, dans une réalisation, l'étape de calcul comprend le calcul d'un taux de ressemblance de l'image affichée sur l'écran par rapport à une image de référence Un tel calcul est basé sur la comparaison des valeurs de pixels récupérés avec les valeurs des pixels correspondants dans l'image de référence. Cette comparaison peut, dans une réalisation, être réalisée périodiquement afin de faire apparaître une évolution de l'image.35 Ce calcul peut être réalisé en utilisant des algorithmes de traitement d'images existants, par exemple déjà intégrés dans le téléphone mobile, ou en utilisant un algorithme tel que le suivant : NbPixel = 0 NbEq = 0 Pour chaque Pixel(x,y) et chaque composante c = R,G,B{ Si Abs (Pixel (x, y, c) >SeuilBlanc) alors{ NbPixel = NbPixel + 1 Si Abs (Pixel (x, y, c) -Referen ce (x, y, x)) SeuilDiff) alors NbEq = NbEq + 1 } } 15 TauxRessemblance = NbEq / NbPixel Afin d'obtenir des résultats les plus représentatifs possibles de la réalité, le calcul du taux de ressemblance tient compte, dans une réalisation, d'une tolérance vis-à-vis de 20 faibles variations dans la qualité des images. En effet, une image peut avoir subi, lors de son transfert, une faible dégradation qui sera invisible à l'oeil nu mais qui aura eu pour effet de faire varier légèrement la valeur d'un ou plusieurs pixels. Le procédé de test étant destiné à la 25 mesure de qualité perçue réellement par un utilisateur, une telle dégradation ne doit pas obligatoirement être considérée comme gênante et doit donc éventuellement ne pas être prise en compte lors du calcul de la vraisemblance. 30 Les images de référence sont par exemple communiquées par l'opérateur qui connait les applications qu'il souhaite tester et donc les images qui doivent être obtenues. En variante, le procédé comprend une étape d'apprentissage au cours de laquelle les différents types 10 d'images reçues par un téléphone sont répertoriées afin de constituer des images de référence. Par exemple, lorsqu'un utilisateur navigue sur Internet et que la communication est interrompue subitement, son téléphone va afficher une page contenant un texte du type Navigation interrompue . Lors du premier affichage de cette page, il peut être utile de la répertorier en tant qu'image de référence, afin de la reconnaître lors de ses prochaines apparitions. Ceci peut permettre, par la suite, une analyse plus détaillée des évènements ayant lieu lors d'une navigation sur Internet par le biais du téléphone. Le calcul du taux de ressemblance tel que défini ci-dessus est utile pour déterminer si l'image obtenue sur l'écran correspond bien à celle que l'on souhaite, et si elle est de bonne qualité. Cependant, un autre aspect important, en terme de qualité ressentie par l'utilisateur, est le temps mis pour l'affichage de cette image. Pour évaluer ce temps, dans une réalisation, le procédé comprend l'étape de calculer, à partir du taux de ressemblance, un taux de remplissage de l'écran. En effet, si le taux de ressemblance est égal à 50%, cela peut signifier soit que l'image est très dégradée, soit que l'image est correcte mais qu'elle n'est affichée, à l'instant de la mesure, que sur une moitié de l'écran. Ainsi, à partir de taux de ressemblance calculés à différents instants, on peut déduire des taux de remplissage de l'écran et éventuellement calculer une vitesse d'affichage des images sur le terminal. A cet effet, dans une réalisation, le procédé comprend l'étape de déterminer une limite temporelle pour la récupération des valeurs de pixels servant au calcul du (ou des) paramètre(s). De plus, dans une réalisation, l'étape de calcul est effectuée périodiquement afin d'établir une variation du (ou des) paramètre(s) dans le temps. Ainsi, on peut tracer des courbes permettant de 5 visualiser l'évolution des différents paramètres au cours du temps. Ces courbes et les indications sur la vitesse d'affichage peuvent permettre d'obtenir des renseignements sur les performances du réseau en terme de transfert de données 10 représentant notamment des images fixes ou animées. Afin d'automatiser complètement la procédure de test, le procédé comprend, dans une réalisation, une étape préliminaire consistant à envoyer au terminal des données 15 simulant l'action d'un utilisateur sur ce terminal. Dans une réalisation, cette étape préliminaire est effectuée par un moyen externe au terminal. En effet, il est possible de développer pour de tels tests un utilisateur virtuel dont le rôle est de simuler 20 l'appui sur les touches du terminal par un utilisateur réel. Cet utilisateur virtuel peut, par exemple, prendre la forme d'un logiciel installé sur un ordinateur de type PC, et qui peut être paramétré pour simuler différentes utilisations réelles. 25 Les différents calculs de paramètres effectués lors de l'exécution du procédé peuvent être réalisés par des moyens de calculs intégrés dans le terminal, ou externes au terminal. Le choix dépend, notamment, des conditions dans lesquelles on effectue les tests de réseau. En effet, si les 30 tests sont effectués, par exemple, en laboratoire, il peut être intéressant de déléguer les calculs à des moyens externes disposant d'une puissance de calcul qui ne pourrait être obtenue dans le terminal. Par ailleurs, il peut arriver que les tests soient 35 effectués en situation réelle, c'est-à-dire lorsqu'un utilisateur utilise effectivement son téléphone mobile. Dans ce cas, les moyens de calcul seront généralement intégrés dans le terminal. En revanche, même si les calculs de paramètres sont effectués dans le terminal, on préfèrera souvent rapatrier ces paramètres afin de les analyser, par exemple pour établir des statistiques sur la qualité du réseau. A cet effet, dans une réalisation, le procédé comprend l'étape de transférer le (ou les) paramètres calculés vers un 10 dispositif d'analyse externe au terminal. D'autres caractéristiques et avantages de l'invention apparaîtront avec la description non limitative de certains de ses modes de réalisation, cette description étant effectuée à 15 l'aide des figures sur lesquelles : la figure 1 représente deux configurations d'un système permettant de tester un réseau mobile en utilisant un procédé conforme à l'invention, et la figure 2 représente les différentes étapes d'un procédé 20 de test conforme à l'invention. La figure 1 présente un système utilisé pour tester un réseau de communications mobile 10, par exemple un réseau de type GPRS. Ce système peut être utilisé dans deux configurations 25 possibles : une configuration avec utilisateur virtuel, ou une configuration avec un utilisateur réel. Dans la configuration virtuelle, les tests du réseau sont effectués via un téléphone mobile 16 dans lequel est intégré un petit logiciel de commande 18. Ce logiciel de 30 commande 18 est piloté par un utilisateur virtuel 20 chargé de simuler différentes actions effectuées par un utilisateur du téléphone. Pour cela, l'utilisateur virtuel 20 envoie au logiciel de commande des données 22 représentant l'appui sur certaines touches. Par exemple, on va tester le réseau lorsqu'un 35 utilisateur souhaite accéder à un site Internet en utilisant la fonction WAP de son téléphone. On envoie donc les données correspondant aux touches sur lesquelles appuierait un utilisateur réel. Le téléphone se connecte donc, via le réseau 10, à un serveur 24 qui héberge le site Internet. Lorsque la page Internet s'affiche sur l'écran, l'utilisateur virtuel est en mesure de relever les valeurs des pixels de l'écran du téléphone 10. A partir des ces valeurs, l'utilisateur virtuel effectue différents calculs et envoie les résultats de ces calculs à un ordinateur 26 comprenant des moyens d'analyse de ces résultats. La seconde configuration est utilisée pour tester un fonctionnement réel du téléphone, c'est-à-dire lorsqu'un utilisateur s'en sert quotidiennement. Ainsi, les tests de qualité peuvent être effectués sur les applications réellement demandées par les utilisateurs. Dans cette configuration, le réseau 10 est testé via un téléphone 28 muni de moyens de calculs de différents paramètres. Ces calculs sont effectués notamment à partir des valeurs des pixels de l'écran, ces valeurs étant également récupérées par les moyens de calculs 30. Dans ce cas, le téléphone 28 envoie directement les résultats de ces calculs à l'ordinateur 26 pour qu'ils soient analysés. La figure 2 présente différentes étapes d'un procédé 25 de test, ces étapes étant par exemple effectuées par des moyens intégrés dans un utilisateur virtuel. La première étape (40) consiste à récupérer les valeurs des pixels d'un écran 42 de téléphone portable. Pour réaliser cette récupération, on peut par exemple utiliser 30 directement une fonction existante telle que la fonction GetPixel en environnement Microsoft Windows . Si une telle fonction n'existe pas dans le système d'exploitation du terminal, on peut par exemple récupérer les valeurs des pixels par lecture directe de la mémoire vidéo du terminal. Selon les tests que l'on veut effectuer, on utilise un balayage selon des lignes verticales, ou selon des zones rectangulaires. On peut également balayer l'écran selon un sous échantillonnage, c'est-à-dire en analysant uniquement un pixel sur n, n étant un nombre entier. L'étape suivante consiste à effectuer des calculs de paramètres à partir de ces valeurs de pixels récupérés. Parmi les paramètres que l'on peut calculer, on peut citer notamment le taux de remplissage de l'écran (44) ou encore l'état d'une application (46). Dans le cas du calcul du taux de remplissage (44), on effectue une comparaison périodique des zones de l'écran balayées par rapport à une ou plusieurs images de référence. A partir de cette comparaison, on calcule un taux de ressemblance, selon un algorithme dédié, et avec une certaine tolérance vis-à-vis de faibles variations dans la qualité des images. Ce taux de ressemblance nous permet d'obtenir ensuite le taux de remplissage. Le deuxième cas (46) concerne une utilisation du téléphone pour atteindre une application donnée. Dans ce cas, on va analyser les couleurs de certaines zones de l'écran pour déterminer l'avancement du transfert des données représentant l'application. Par exemple, certaines applications sont telles qu'un symbole d'une couleur particulière apparaît dans une zone déterminée de l'écran pendant le transfert. Dans ce cas, on peut détecter l'état du transfert en analysant tout ou partie des pixels de cette zone ; si la combinaison de couleurs de ces pixels est rouge, cela signifie que le transfert est en cours, alors que si elle est verte, cela signifie que le transfert est terminé. D'autres applications disposent d'une barre graphique indiquant l'avancement du transfert, et dans ce cas on peut mesurer cet avancement en mesurant la longueur de cette barre, cette mesure de longueur étant effectuée par exemple en relevant le nombre de pixels ayant une certaine couleur. Une fois les paramètres calculés, ils sont transférés (48) vers des moyens de stockage et/ou d'analyse, permettant notamment le calcul de différents indicateurs de la qualité du réseau.5 REVENDICATIONS 1. Procédé de test d'un réseau de communications (10) par l'intermédiaire d'un terminal (16, 28), le terminal (16, 28) étant doté d'un écran (42) et échangeant des informations via le réseau de communications (10), ce procédé comprenant les étapes suivantes : - l'étape (40) de récupérer périodiquement les valeurs de tout ou partie des pixels de l'écran du terminal, - l'étape (44, 46) de calculer, à partir de ces valeurs de pixels, un ou plusieurs paramètre(s) représentatif(s) du contenu de l'écran, et - l'étape (48) de transférer ce (ou ces) paramètre(s) vers un moyen de sauvegarde et/ou d'analyse. 2. Procédé selon la revendication 1 dans lequel, pour récupérer les valeurs de pixels, on parcourt l'écran (10) du terminal selon un mode de parcours compris dans le groupe comprenant : parcours selon les lignes verticales, parcours selon les lignes horizontales, parcours selon des zones rectangulaires et parcours sous échantillonné dans lequel on ne récupère les valeurs que d'un pixel sur n, où n est un nombre entier positif. 3. Procédé selon l'une des revendications précédentes dans lequel l'étape de calcul comprend le calcul d'un taux de ressemblance de l'image affichée sur l'écran par rapport à une image de référence. 4. Procédé selon la revendication 3 dans lequel le calcul du taux de ressemblance tient compte d'une tolérance vis-à-vis de faibles variations dans la qualité des images. 5. Procédé selon la revendication 3 ou 4 comprenant une étape d'apprentissage au cours de laquelle des images reçues parle terminal sont répertoriées pour devenir des images de référence. 6. Procédé selon l'une des revendications 3 à 5 comprenant l'étape de calculer, à partir du taux de ressemblance, un taux de remplissage de l'écran. 7. Procédé selon l'une des revendications précédentes comprenant l'étape de déterminer une limite temporelle pour la récupération des valeurs de pixels servant au calcul du (ou des) paramètres. 8. Procédé selon l'une des revendications précédentes comportant l'étape de calcul est effectuée périodiquement afin d'établir une variation du (ou des) paramètre(s) dans le temps. 9. Procédé selon l'une des revendications précédentes comprenant l'étape préliminaire d'envoyer au terminal (16) des données (22) simulant l'action d'un utilisateur sur ce terminal (16). 10. Procédé selon l'une des revendications précédentes dans lequel l'étape de calcul est effectuée par des moyens de calcul (30) intégrés dans le terminal. 11. Procédé selon l'une des revendications 1 à 10 dans lequel l'étape de calcul est effectuée par des moyens de calcul (20) externes au terminal.