FR 3047579 A1 20170811 FR 1650883 A 20160204 1 PROCEDE DE SELECTION D'UN MODE DE CAPTURE D'ECRAN DOMAINE DE L'INVENTION La présente invention concerne, de manière générale, un procédé d'extraction de données d'éCran d'une ressource informatique. ARRIERE-PLAN TECHNOLOGIQUE DE L'INVENTION Les avancées de la technologie informatique font qu'il est plus économique, pour les utilisateurs individuels, de posséder son propre système informatique, ce qui a provoqué la prolifération des Ordinateurs Personnels (PC). L'utilisation des PC individuels est donc très diversifiée, et va des opérations de bureau standard ou de la navigation Internet à la visualisation de vidéo de haute qualité ou aux jeux vidéo. Les progrès continus de cette technologie informatique font que ces ordinateurs personnels sont de plus en plus puissants mais également complexes et difficiles à gérer. Pour cette raison, ainsi que d'autres, un intérêt croissant s'est développé dans la séparation des dispositifs d'interface utilisateur, y compris l'écran et le clavier, des parties de traitement de l'application dans le système informatique. Dans le cas d'un système distant, les appareils d'interface utilisateur sont physiquement situés au niveau du bureau, alors que les composants de traitement et de stockage de l'ordinateur se trouvent dans un lieu hôte. Les dispositifs d'interface utilisateur sont ensuite connectés au processeur et aux composants de stockage du système informatique hôte, grâce à certains moyens de communication. Ceci se traduit dans l'informatique dématérialisée et les concepts de "client léger" ou de "zéro client". 3047579 Dans toutes les configurations de système -informatique, qu'il soit local ou distant, les utilisateurs peuvent avoir besoin de capturer l'image affichée sur un écran aux fins d'un 5 traitement ultérieur (stockage, transmission en continu sur un réseau). Dans ces circonstances, on attend une intégrité parfaite, une bonne qualité et une faible latence de l'image. Par exemple, les joueurs de jeux vidéo enregistrent quelquefois leurs sessions de jeu pour pouvoir l'analyser plus tard et améliorer leurs performances. D'autres joueurs transmettent en continu leurs sessions sur un réseau, dans le but de diffuser leurs performances. Dans le monde professionnel, il est quelquefois nécessaire de prévoir une 15 commande à distance d'un système informatique pour la maintenance, et il est alors utile de transmettre en continu les informations affichées à la machine distante. Les données d'écran (c'est-à-dire les données stockées 20 dans une ressource informatique d'un système informatique qui représentent les images affichées sur l'écran de l'utilisateur) peuvent être capturées selon plusieurs modes différents qui présentent, chacun, des avantages et des inconvénients. Certains modes de capture d'écran sont 25 excellents en ce qu'ils sont proches d'une latence zéro, mais ils ne sont pas compatibles avec des images représentant des objets 2D/3D ou de la vidéo décodée par le matériel. D'autres modes de capture sont adaptés à ces images avancées mais nécessitent un matériel dédié ou souffrent de latence ou d'une 30 moins bonne qualité d'image. Dans les procédés connus d'extraction de données d'écran, les utilisateurs Sélectionnent manuellement le mode de capture approprié en fonction des circonstances 35 particulières. Il est possible que les utilisateurs doivent 3047579 commuter manuellement d'un mode à l'autre, en fonction des applications qu'ils veulent utiliser, du contenu de l'image affichée, des performances du système informatique et de la disponibilité de certains périphériques du système. informatique. BUT DE L'INVENTION 10 Un but de l'invention est de proposer un procédé d'extraction de données d'écran d'une ressource informatique d'un système informatique qui soit plus simple et plus efficace que le procédé de l'art antérieur. 15 RÉSUMÉ DE L'INVENTION Pour ce faire, l'invention concerne un procédé d'extraction de données d'écran d'une ressource informatique . 20 d'un système informatique qui comprend la sélection dynamique d'un mode de capture d'écran parmi une pluralité de modes de capture d'écran. Etant donné que le mode de capture est choisi 25 dynamiquement, l'utilisateur est libéré de l'obligation de commuter, de lui-même, d'un mode de capture à un autre, en particulier, lors-qu'il change d'application. Selon d'autres caractéristiques non limitatives de 30 l'invention, prises individuellement ou en combinaison : - la sélection dynamique comprend- une étape A de préparation d'un tableau de capacité de mode de capture d'écran ; 35 3047579 4 - la sélection dynamique d'un mode de capture d'écran comprend - une étape B de détermination des caractéristiques des données d'écran ; 5 - une étape C de sélection, dans le tableau de capacité de mode de capture d'écran, du mode de capture d'écran le mieux adapté aux caractéristiques des données d'écran ; - une étape D de commutation vers le mode de capture d'écran choisi, si celui-ci est différent du mode de capture d'écran actuel. - les étapes A, B, C et D ou les étapes A, B, C et D sont répétées de manière itérative ; - l'étape B comprend la détermination de la "caractéristique d'accélération" pour savoir si au moins certaines des données d'écran ont été générées par une accélération 2D/3D ; 20 - la caractéristique d'accélération est obtenue en contrôlant une sollicitation d'accélération 2D/3D d'un processeur graphique ; 25 - la caractéristique d'accélération est obtenue en identifiant un motif prédéterminé dans les données d'écran ; - les données d'écran comprennent une pluralité de trames 30 et la caractéristique d'accélération est obtenue en identifiant le motif prédéterminé dans une séquence de trames. - Le procédé comprend l'extraction des données d'écran 35 grâce à un autre mode de capture d'écran compatible avec 10 15 3047579 5 une génération 2D/3D pour confirmer la caractéristique d'accélération ; - l'étape B comprend la détermination de la- 5 "caractéristique de protection" pour savoir si au moins certaines des données d'écran sont protégées en lecture ; - le tableau de capacité de mode de capture d'écran comprend, pour chaque mode de capture d'écran, au moins 10 l'une des fonctions suivantes : disponibilité ; support d'accélération 2D/3D ; support de données d'écran protégées ; latence ; qualité d'image ; utilisation des ressources informatiques. 15 FIGURES De nombreux autres avantages et fonctions de la 20 présente invention seront plus apparents après la lecture de la description détaillée qui suit, prise conjointement avec les dessins joints, parmi lesquels : - La Figure 1 représente un système informatique qui est 25 compatible avec le procédé d'extraction des données d'écran selon l'invention ; - La Figure 2 représente une architecture informatique destinée à mettre en oeuvre un système informatique qui est compatible avec procédé d'extraction des données 30 d'écran selon l'invention ; - La Figure 3 représente un mode de réalisation particulier du procédé selon l'invention. - La Figure 4 représente un tableau de capacité de mode de capture d'écran donné à titre d'exemple. 35 3047579 DESCRIPTION DETAILLEE DE MODES DE REALISATION SPECIFIQUES DE L'INVENTION 5 La Figure 1 représente un système informatique donné à titre d'exemple qui est compatible avec le procédé d'extraction des données d'écran selon l'invention. 10 Le système informatique 1 comprend une Unité Centrale 2 connectée pour fonctionner à une mémoire principale 3 et à des périphériques 4, 5, par l'intermédiaire d'un bus système 6. Comme le savent les spécialistes de la technique, le bus système 6 comprend une partie données, une partie adresse et 15 une partie commande qui permettent à l'unité centrale 2 de lire/écrire des données dans la mémoire principale 3, ou la mémoire ou les registres de n'importe lequel des périphériques 4, 5 connectés. 20 L'UC 2 est également connectée pour fonctionner à un ou plusietirs bus d'extension 7 (tel qu'un bus d'extension PCI ou AGP) qui permet/permettent de transférer les données depuis/vers d'autres périphériques 8, 9 (tel qu'une carte graphique, une mémoire, un contrôleur de réseau, ou toute 25 autre forme d'interface d'entrée/de sortie). Dans le système informatique 1 représenté sur la figure 1, le bus système 6 est utilisé à la fois pour avoir accès à la mémoire principale 3 et aux périphériques 4, 5 ; partager 30 le même espace adresse et ainsi fournir à l'UC2 un accès en lecture/écriture à n'importe quel emplacement de mémoire accessible, qu'il soit situé dans la mémoire principale 3, ou situé dans n'importe lequel des périphériques connectés 4, 5. Dans une autre configuration, compatible avec la présente 35 invention et non représentée sur la figure 1, les 3047579 7 périphériques 4, 5 sont tous connectés au bus d'extension 7, en même temps que les autres périphériques 8, 9, et ont des espaces adresses séparés de la mémoire principale 3. 5 Dans le système informatique 1, les périphériques 8, 9 connectés au bus d'extension 7 peuvent obtenir un accès direct à l'espace mémoire adressé par le bus système 6 ; ceci permet un échange de données entre la mémoire principale 3, les périphériques 4, 5 les autres périphériques 8, 9 connectés au 10 bus d'extension 7, sans impliquer l'UC 2. Dans l'exemple particulier de la figure 1, le périphérique 5 est un adaptateur vidéo, permettant de connecter un moniteur et d'afficher des informations destinées 15 à l'utilisateur. L'adaptateur vidéo 5 comprend une mémoire vidéo 10, un circuit de conversion 11 et au moins un port de sortie vidéo 12. Habituellement, l'adaptateur vidéo 5 ne comprend pas de processeur graphique dédié, tel un accélérateur 2D/3D ou un décodeur audio/vidéo. 20 La mémoire vidéo 10 est fournie pour stocker temporairement des données d'écran fournies par l'UC 2 -ou transférées depuis la mémoire principale 3 (ou depuis les périphériques). Les données d'écran stockées dans la mémoire 25 vidéo 10 sont traitées par le circuit de conversion 11 dans le format numérique ou analogique approprié ; et fournies au port de sortie vidéo 12, for exemple, du type VGA, DVI ou HDMI. Le port de sortie vidéo 12 peut être connecté à un moniteur vidéo à l'aide de câbles appropriés, afin d'afficher, pour 30 l'utilisateur, l'image qui correspond aux données d'écran. En fonctionnement, les données d'écran générées par l'UC 2 sont habituellement stockées dans une zone dédiée de la mémoire principale 3, et régulièrement transférées dans la 35 mémoire vidéo 10. Dans certaines configurations, l'adaptateur 3047579 vidéo 5 n'est pas équipé d'une mémoire vidéo 10 ou bien il contient une mémoire vidéo 10 de capacité limitée, et dans ces cas, les données d'écran sont stockées dans la mémoire principale 3 et transférées essentiellement directement dans 5 le circuit de conversion 11. Puisque l'adaptateur vidéo 5 ne contient pas d'accélération 2D/3D dédiée ou de décodeur vidéo, les données d'écran qui sont stockées dans la mémoire vidéo 10 et/ou la 10 mémoire principale 3 et finalement l'image affichée pour l'utilisateur à partir du port de sortie 12 peuvent manquer de certaines fonctionnalités d'image tel qu'un rendu 2D/3D complexe. 15 Si l'on poursuit la description du système informatique 1 de la figure 1, le périphérique 8 qui est connecté au bus d'extension 7 est une carte graphique. Comme cela est bien connu dans la technique, la carte graphique 8 comprend une mémoire de carte graphique 13, qui, tout comme la mémoire 20 vidéo 10, stocke les données d'écran. Elle comprend également une Unité de Traitement Graphique (GPU) 14 qui reçoit les instructions et les données, par exemple, en provenance de l'UC 2, sur le bus d'extension 7. Lorsque l'adaptateur vidéo 5 et la carte graphique sont tous les deux présents, le système 25 informatique 1 peut être configuré pour n'activer qu'une seule de ces deux ressources. L'unité de Traitement Graphique (GPU) 14 traite les instructions et les données reçues et fournit les données 30 d'écran correspondantes à la mémoirea de carte graphique. L'unité de Traitement Graphique (GPU) 14 peut également donner l'instruction de transférer les données d'écran stockées dans la mémoire principale 3 ou stockées dans la mémoire vidéo 10 de l'adaptateur vidéo 5 vers le périphérique à carte GPU 7, 35 par l'intermédiaire du bus de système 6 et du bus d'extension 3047579 7, de préférence sans impliquer l'UC 2. Les données d'écran en provenance de la mémoire principale 3 ou de la mémoire vidéo 10 sont combinées avec les données d'écran générées par la GPU et/ou le décodeur et stockées dans la mémoire de la carte 5 graphique 13. La carte graphique 8 comprend habituellement, également, un décodeur 8 permettant de transformer, par exemple, les données vidéo (et/ou audio) codées (telles que les fichiers 10 H.264) en données d'écran destinées au stockage dans la mémoire de carte graphique 13. Ces données vidéo (et/ou audio) codées peuvent être fournies par un lecteur DVD, un disque dur, ou tout autre périphérique connecté au bus d'extension ou au bus système 7, 6. 15 Une unité de conversion de carte graphique 16 traite les données d'écran stockées dans la mémoire de carte graphique 13 et les envoie au port de sortie de carte graphique 17, d'une manière similaire à la fonction exécutée par l'adaptateur 20 vidéo 5. Le système informatique 1 peut comprendre d'autres périphériques connectés au bus d'extension. Par exemple, le périphérique 9 de la figure 1 est une carte de capture vidéo 25 (soit directement connectée au bus d'extension 7, comme le montre la figure 1, soit connectée par l'intermédiaire d'un connecteur d'entrée/sortie, comme un connecteur USB). La carte de capture vidéo 9 est fournie avec un ou 30i plusieurs connecteur(s) d'entrée 18 (jack analogique, connecteur DVI, HDMI) pour la réception de signaux vidéo analogiques ou numériques. Comme le montre la figure 1, le connecteur d'entrée de la carte de capture vidéo 9 est connecté grâce à un câble adapté à un connecteur correspondant 35 du port de sortie vidéo de la carte graphique 17. La carte de 3047579 10 capture vidéo 9 comprend également un circuit 31 qui reçoit et traite le signal vidéo entrant provenant du connecteur 18 et le transforme en un flux de données d'écran. Celui-ci peut inclure un échantillonnage numérique du signal vidéo entrant, si le connecteur d'entrée sélectionné est en format analogique. La carte de capture vidéo 9 peut être dotée de sa propre mémoire vidéo 32 pour stocker les données d'écran générées par 10 le circuit 31. Selon une autre solution (ou une solution supplémentaire), les données d'écran capturées peuvent être transmises vers le bus d'extension 7 aux fins de stockage dans la mémoire principale 3, ou vers d'autres périphériques de stockage connectés au système informatique 1 (disque dur, clé 15 USB, carte mémoire flash,...). Pour faciliter les explications, la mémoire dans _laquelle les données d'écran capturées sont stockées sera désignée comme étant la mémoire de la carte de capture, indépendamment de l'endroit où est située réellement ladite mémoire. 20 On admettra que, bien qu'il soit décrit en termes d'éléments de structure, tels que "carte" et "unité", le système informatique 1 peut comprendre, ou être intégralement constitué de logiciels. Par exemple, et comme le montre la 25 figure 2, un ordinateur hôte 19 peut comprendre une pluralité de serveurs 20. Comme cela est bien connu, les serveurs 20 peuvent être configurés pour héberger un ou plusieurs système(s) informatique(s) 1 virtuel(s), en même temps que son/leur système d'exploitation et ses applications. 30 Chacun des systèmes informatiques 1 virtuels dans l'ordinateur hôte 19 peut être dédié à un utilisateur spécifique. Les utilisateurs peuvent interagir avec leurs systèmes informatiques virtuels dédiés 1 depuis des réseaux 35 distants 21, 21', chacun étant connecté à l'ordinateur hôte 19 3047579 11 par l'intermédiaire d'un réseau comme Internet. Étant donné que la plus grande partie, si ce n'est l'intégralité, du traitement se fait au niveau de l'ordinateur hôte 19, les systèmes distants 21, 21' peuvent rester très simples, et 5 peuvent inclure, par exemple, un simple terminal, un connecteur de réseau et des dispositifs d'entrée/sortie de base (clavier, souris...) comme représenté- par le système distant 21 sur la figure 2. Selon une autre solution, il peut s'agir d'un ordinateur personnel standard, avec sa propre 10 Unité Centrale, sa carte graphique, ses périphériques, comme représenté par le système distant 21'. Pour afficher les images sur le terminal de l'utilisateur, l'ordinateur hôte 19 approvisionne le système 15 distant 21, 21' sur le réseau en données d'écran (et éventuellement en son additionnel ou en données de commande pour les dispositifs d'entrée/sortie installés sur le site distant 21). 20 A l'inverse, le système distant 21 approvisionne l'ordinateur hôte 19 en données de commande en provenance des dispositifs d'entrée/sortie installés sur le site distant (clavier, souris), et éventuellement d'autres formes de données telles que des données d'écran et sonores fournies par 25 un dispositif USB ou intégrés dans une caméra et un microphone du système distant, ou des périphériques de réseau, distance, tels les imprimantes.... Les données échangées entre l'ordinateur hôte 19 et le 30 système distant 21 peuvent être comprimées pour limiter l'utilisation de la bande passante du réseau. Indépendamment du fait que le système informatique 1 est fourni sous une forme matérielle ou sous une forme virtuelle, 35 l'invention propose un procédé d'extraction de données d'écran 3047579 12 provenant de ressources informatiques (tel un périphérique, une mémoire...) du système informatique 1. "Extraire" signifie que l'UC 2 exécute l'instruction d'initier la lecture des données d'écran en provenance d'une ressource informatique telle qu'une mémoire ou un circuit 31 de la carte de capture 9. Les données d'écran lues peuvent, par exemple, être stockées temporairement dans une mémoire principale 3 aux fins d'un traitement ultérieur (codage, 10 compression) avant d'être envoyées hors du système informatique 1, par exemple, sur un périphérique de connexion au réseau du bus d'extension 7. Dans une variante, les données d'écran lues peuvent être stockées dans un périphérique de stockage, connecté au bus d'extension 7, tel un disque dur. 15 Comme mentionné ci-dessus, l'extraction de données d'écran d'une ressource informatique peut ,être utile dans le contexte de l'architecture informatique de la figure 2, où les données d'écran générées dans le système informatique 1 20 virtuel de l'ordinateur hôte 19 doivent être fournies à un système distant 21. Il peut également être utile, dans le contexte de la mise en oeuvre d'un matériel dans le système informatique 1, de permettre à un utilisateur d'enregistrer ou de mettre en ligne les images formées sur son écran (qui est 25 généralement connecté au port de sortie vidéo 17 de la carte graphique 7 or au port de sortie vidéo 12 de l'adaptateur vidéo 5), comme cela peut être nécessaire dans le cadre du travail ou des loisirs. 30 Il existe différentes approches pour obtenir des données d'écran, chaque approche étant dénommée "mode de capture d'écran" (ou plus simplement "mode de capture"), en fonction de la configuration du système informatique 1, de l'utilisation et de la charge réelles et en fonction de la 35 nature des images affichées. 3047579 13 Selon un premier mode de capture, les données d'écrans sont extraites de la mémoire principale. 5 Ce -mode peut être particulièrement rapide, et donc révéler une faible latence (c'est-à-dire la période entre le moment où une image est générée par l'UC 2 ou l'UTG 8, et le moment où les données d'écran correspondantes sont extraites par le mode de capture). 10 Cependant, ce mode ne convient pas lorsque les images qui doivent être affichées incluent des objets 2D/3D accélérées ou un décodeur vidéo dédié. Puisque l'adaptateur vidéo 5 ou l'UC 2 n'inclut pas les ressources requises pour 15 traiter ces éléments, les données d'écran adéquates ne peuvent pas être générées. Au lieu de cela, les données d'écran stockées dans la mémoire vidéo 10 comprendront des motifs prédéterminés qui correspondront à une zone noire, grise ou blanche dans l'image finalement affichée. 20 Selon un deuxième mode de capture, les données d'écran sont extraites directement de la mémoire de carte graphique 13 de la carte graphique 8. Cette approche permet habituellement d'extraire les données d'écran correspondant à l'image plein 25 écran, même lorsque cette image comprend des objets accélérés 2D/3D ou une vidéo décodée. Cependant, ce mode de capture impose une charge énorme au système informatique 1, puisque la carte graphique 8 et le système informatique 1 n'ont pas été conçus pour transporter le contenu de la mémoire de la carte 30 graphique sur le d'extension 7. De même, ce deuxième modede capture nécessite de connaitre l'emplacement (gamme des adresses mémoire) des données d'écran dans la mémoire de carte graphique 13. Puisque certaines applications peuvent choisir de stocker les données d'écran dans des emplacements non 3047579 14 habituels dans cette mémoire, ce deuxième mode de capture peut ne pas toujours être disponible ou fiable. Les données d'écran stockées dans la mémoire de carte 5 graphique 13 peuvent être associées à un "drapeau de protection" qui empêche leur extraction de la mémoire. Ceci est plus particulièrement le cas lorsque les données d'écran contiennent des éléments protégés, par exemple en provenance d'une source soumise au Copyright (DVD, ou services de Vidéo à 10 la Demande, par exemple). Dans ces circonstances, les données d'écran extraites présenteront un motif prédéterminé (qui correspond habituellement à une zone noire, grise ou blanche de l'image) au lieu des données d'écran attendues. 15 Selon un autre mode de capture donné à titre d'exemple, les données d'écran sont extraites de la mémoire de carte de capture 32 ou du circuit de carte de capture 31. Ce mode permet habituellement d'obtenir des données d'écran qui sont très représentatives de l'image affichée réelle (y compris les 20 objets 2D/3D et la vidéo décodée qui peuvent être intégrés dans ces images) mais qui bénéficient généralement d'une moins bonne qualité (ce qui vient de la dégradation provoquée par les codages/décodages successifs du signal vidéo) et d'une latence importante. 25 Un autre mode de capture donné à titre d'exemple est disponible lorsque l'adaptateur vidéo 5 est un adaptateur vidéo virtuel (par exemple émule par un logiciel exécuté sur un serveur 20 du système hôte 19). Dans cette configuration, 30 les données d'écran peuvent être lues et extraites du port de sortie vidéo virtuel de l'adaptateur vidéo virtuel 5. Selon la configuration réelle du système informatique 1, et selon le périphérique disponible, un mode de capture 35 supplémentaire peut être disponible. De plus, certains des 3047579 15 modes de capture décrits ci-dessus peuvent ne pas être toujours disponibles : par exemple, la carte de capture vidéo 9 ou l'adaptateur vidéo 5 peuvent ne pas être présents ou peuvent être défectueux, dans le système informatique 1. 5 Le procédé d'extraction de données d'écran selon l'invention inclut la sélection dynamique d'un mode de capture d'écran parmi une pluralité de tels modes. Dans le terme "dynamique", il faut comprendre que la sélection se fait 10 automatiquement, à intervalles réguliers; de manière répétée, afin de sélectionner un mode de capture approprié, adapté à la configuration et/ou à l'utilisation et/ou à la charge actuelles- du système informatique 1, et à la nature de l'image affichée, et/ou au contenu des données d'écran, et/ou aux 15 performances du processus de capture (par exemple la latence). La figure 3 représente un mode de réalisation particulier pour un tel procédé. Le procédé peut être représenté dans le système informatique 1 par des instructions 20' logicielles exécutées par l'UC 2 et stockées dans la mémoire principale 3. Le procédé est initié (Case "Démarrage" sur la figure 3) à partir d'une instruction de capturer les données d'écran. 25 Cette instruction peut être générée par l'utilisateur du système informatique 1. Elle peut également être générée par une autre application exécutée sur le système informatique 1 (ou un ordinateur hôte 19 dans le cas de l'architecture informatique de la figure 2). 30 Au cours d'une étape A, le procédé comprend la préparation d'un tableau de capacité de mode de capture d'écran. 3047579 16 Ce tableau peut être pré-existant ou partiellement préexistant et stocké dans la mémoire principale 3 ou dans une mémoire extérieure au système informatique 1 de la figure 1 (c'est-à-dire sur une mémoire externe). Le tableau associe les modes capture à leurs caractéristiques. Un exemple d'un tel tableau de capacité de mode de 10 capture d'écran est présenté sur la figure 4, mais l'invention ne se limite pas à la liste de caractéristiques donnée, ni à la représentation, dans le système informatique 1, du tableau de capacité représenté sous la forme d'un tableau. 15 La première colonne du tableau correspond à une liste prédéfinie de modes de capture. Il peut s'agir d'une liste exhaustive de modes de capture possibles. La deuxième colonne indique si le mode de capture 20 correspondant est disponible dans le système informatique 1. Ces informations peuvent être établies de manière dynamique en détectant, sur le bus système 6 ou le bus d'extension 7, la présence ou l'absence du périphérique sous-jacent (par exemple l'adaptateur vidéo 5, la carte de capture vidéo 9, la carte 25 graphique 8, ...) qui supporte le mode de capture en question. Cettè présence peut se manifester soit sous sa forme physique, soit sous sa forme virtuelle. La 3ème colonne, dénommée "fenêtre 2D/3D accélérée", 30 indique si le mode de capture est capable d'extraire les données d'écran correspondant à l'image intégrant les fonctionnalités d'accélération 2D/3D ou la vidéo décodée, dans une zone partielle de l'écran (fenêtre). 3047579 17 La 4ème colonne, dénommée "plein écran 2D/3D", indique si le mode de capture est capable d'extraire les données d'écran correspondant aux images intégrant les fonctionnalités d'accélération 2D/3D ou la vidéo décodée, affichées en plein écran. La 5ème colonne, dénommée "drapeau de protection", indique si le mode de capture est capable d'extraire des données d'écran protégées ou cryptées. 10 La hème colonne, dénommée "latence", indique une valeur de performance de latence. La valeur de performance de latence peut être prédéfinie pour chaque mode de capture. Mais, selon un mode de réalisation préféré, la valeur de performance de 15 latence est établie au cours de cette étape A. Par exemple, ceci peut être réalisé en faisant exécuter, par l'UC 2, les étapes suivantes : Afficher sur l'écran un motif unique, lancer un compteur d'horloge. 20 Extraire les données d'écran en utilisant le(s) mode(s) de capture pour lequel/lesquels les performances de latence doivent être évaluées. Dès l'identification du motif unique dans les 25 données d'écran extraites à partir d'un mode de capture, associer la valeur du compteur d'horloge au mode de capture. Evaluer les performances de latence du/des mode(s) de capture en se fondant sur la 30 valeur/les valeurs du compteur d'horloge (d'une manière générale, plus la valeur du compteur d'horloge est élevée, moins les performances sont hautes). 3047579 18 La 7ème colonne du tableau de capacité de mode de capture, dénommée "qualité", indique la qualité de l'image-reconstruite à partir des données d'écran extraites. Habituellement, cette information est prédéfinie pour chaque mode de capture de la liste prédéfinie ; mais peut également être signalée par chaque mode de capture lui-même. La 8ème colonne, dénommée "ressources", indique la charge imposée sur le système informatique 1 pendant le 10 fonctionnement du mode de capture. Cette caractéristique de "ressources" peut être prédéfinie ou établie dynamiquement au cours de cette étape A. Ceci peut être facilement réalisé par exemple en comparant l'utilisation de l'UC 2 et/ou le trafic du système ou du bus d'extension, ou l'utilisation de la 15 mémoire principale 3 pendant que le mode de capture est en fonctionnement et pendant que le mode de capture n'est pas en fonctionnement. La 9ème colonne, dénommée "priorité de l'utilisateur", 20 indique quel mode de capture est le mode de capture par priorité, c'est-à-dire l'ordre préférentiel pour sélectionner un mode de capture quand une telle décision doit être prise, par exemple, au moment de lancer la mise en oeuvre du procédé selon l'invention. 25 La 10ème colonne, dénommée "fréquence", indique la capacité du mode de capture correspondant par rapport à la nature de l'image. Certains modes de capture peuvent être mieux adaptés à l'extraction de données d'écran correspondant 30 à des "images fixes", comme une représentation pour ordinateur de bureau, des applications d'office d'autres modes de capture peuvent être mieux adaptés à l'extraction de données d'écran correspondant à des "images animées" comme les films ou les jeux vidéo. 35 3047579 19 A la fin de l'étape A, le tableau de capacité de mode de capture d'écran tel que celui qui est représenté sur la figure 4 est stocké dans la mémoire principale 3. 5 Au cours de çette étape A, également, un mode de capture initial est sélectionné pour être le mode de capture actuel. Cette sélection peut être réalisée parmi les modes de capture disponibles (tel qu'indiqué par la deuxième colonne du tableau), par exemple en se basant sur la valeur de priorité 10 de l'utilisateur de la 9ème colonne, ou même choisie au hasard parmi les modes de capture disponibles. Les données d'écran sont ensuite extraites par ce mode de capture initial des ressources informatiques appropriées du système informatique 1 et fournies dans la mémoire principale 3 ou sur un bus 15 d'extension 7. Si l'on poursuit la description de la figure 3, le mode de réalisation particulier du procédé selon l'invention comprend 20 en outre une étape B de détermination des caractéristiques des données d'écran extraites. Par exemple, on détermine si au moins certaines des données d'écran extraites ont été générées ou devraient avoir 25 été générées par une accélération 2D/3D. Cette "caractéristique d'accélération" peut être obtenue de multiples manières. Selon une première approche, la caractéristique d'accélération est déterminée en contrôlant une sollicitation d'accélération 2D/3D du processeur graphique 30 14. Ceci peut être obtenu en déterminant si les instructions sur le bus d'extension 7- sont dirigées vers l'unité de traitement graphique. Selon une seconde approche, les caractéristiques d'accélération sont obtenues en identifiant un motif prédéterminé (par exemple correspondant à une zone 35 noire, grise ou blanche dans l'image correspondante) dans les 3047579 20 données d'écran extraites. La présence d'un motif prédéterminé peut indiquer que l'image intègre les caractéristiques d'accélération 2D/3D qui ne peuvent pas être acceptées par le mode de capture actuel. En d'autres termes, cela indique que 5 les données d'écran extraites doivent avoir été générées par une accélération 2D/3D. Lorsque les images affichées sont animées, les données d'écran sont constituées d'une pluralité de trames, chaque 10 trame correspondant à une image, dans une séquence d'images. Dans ce cas, les caractéristiques d'accélération peuvent être de préférence obtenues en identifiant le motif prédéterminé dans une séquence de trames, plutôt que dans une seule trame de données d'écran. Ceci permet de confirmer les 15 caractéristiques d'accélération avec une plus grande certitude. Pour confirmer encore les caractéristiques d'accélération, il est possible d'extraire les données d'écran en utilisant un 20 autre mode de capture, connu d'après le tableau de la figure 3 comme étant compatible avec l'accélération 2D/3D. Si les données d'écran extraites grâce à cet autre mode de capture ne révèlent pas le motif prédéterminé, ceci confirme la "caractéristique d'accélération" des données d'écran extraites 25 en utilisant le mode de capture courant. De même, la taille du motif (en termes de pixels d'image correspondants) permet d'identifier si une fonctionnalité de "plein écran" ou une fonctionnalité de "fenêtre" est nécessaire. e30 Les données d'écran extraites, au cours de cette étape B, peuvent également être examinées pour déterminer si elles révèlent une "caractéristique de protection" ou si au moins certaines données d'écran sont protégées en lecture. Ceci peut être réalisé de manière simple en identifiant la présence ou 35 l'absence du "drapeau de protection" dans les données d'écran. 3047579 21 Dans un autre exemple des traitements qui peuvent être effectués au cours de cette étape B de détermination des caractéristiques des données d'écran extraites, on peut 5 déterminer si les données d'écran extraites dans le mode de capture courant correspondent à des "images fixes" ou à des "images animées". Ceci peut être réalisé en mesurant les variations des données d'écran d'une trame à l'autre dans une séquence de trames. 10 Si l'on poursuit la description de la figure 3, le procédé comprend en outre une étape C de sélection, dans le tableau de capacité de mode de capture d'écran, un mode de capture d'écran adapté aux caractéristiques des données d'écran. 15 Parmi les modes de capture disponibles (indiqués par "ON" dans la deuxième colonne du tableau), le mode de capture représentant la capacité des caractéristiques identifiées au cours de l'étape précédente est sélectionné. S'il existe 20 plusieurs modes, c'est le mode de capture qui révèle les meilleures performances (par exemple en ce qui concerne les caractéristiques de latence, de qualité ou de performances du tableau de capacité) qui est sélectionné. De même, la valeur de priorité du tableau de capacité peut aussi être utilisée 25 pour affiner encore le choix parmi les différentes options possibles. A l'étape D du procédé de la figure 3, .le mode de capture courant est commuté sur le mode de capture 30 sélectionné, s'ils sont différents. Les données d'écran sont ensuite extraites des ressources de capture du système informatique 1, en utilisant le nouveau mode de capture courant. Selon la configuration du 35 système informatique 1, l'utilisation et/ou la charge et selon 3047579 22 la nature des images affichées, les données d'écran sont automatiquement sélectionnées parmi les ressources informatiques les plus appropriées : par exemple dans la mémoire vidéo 10 de l'adaptateur vidéo 5 ; dans la mémoire de 5 carte graphique 13 de la carte graphique 8 ; dans la mémoire de l'enregistreur vidéo 32. Comme mentionné ci-dessus, les données extraites peuvent être fournies sur un bus système 6, ou un bus d'extension 7 pour être mises soit en flux sortant, soit stockées dans un périphérique de stockage, soit même 10 stockées dans la mémoire principale 3. Après l'étape D, le procédé selon l'invention se poursuit en étant redirigé soit vers l'étape A soit vers l'étape B. Par exemple, l'étape A peut être sélectionnée une 15 fois toutes les cent ou mille boucles afin de faire une mise à jour régulière du tableau de capacité de mode de capture d'écran et de prendre en compte les modifications de la configuration, de l'utilisation ou de la charge du système informatique 1. 20 Le procédé conduit donc à la sélection dynamique, sans aucune intervention de l'utilisateur, du mode de capture, en prenant en compte les caractéristiques et les performances opérationnelles du système informatique 1, ainsi que la nature 25 des images générées dans le système informatique 1. REVENDICATIONS1. Procédé d'extraction de données d'écran d'une ressource informatique d'un système informatique caractérisé en ce qu'il comprend la sélection dynamique d'un mode de capture d'écran parmi une pluralité de modes de capture d'écran. 2. Procédé d'extraction de données d'écran selon la revendication 1, dans lequel la sélection dynamique d'un mode de capture d'écran comprend une étape A de préparation d'un tableau de capacité de mode de capture d'écran. 3. Procédé d'extraction de données d'écran selon la revendication 2, dans lequel la sélection dynamique d'un mode de capture d'écran comprend : une étape B de détermination des caractéristiques des données d'écran ; une étape C de sélection, dans le tableau de capacité de mode de capture d'écran, du mode de capture d'écran le mieux adapté aux caractéristiques des données d'écran ; une étape D de commutation vers le mode de capture d'écran choisi, si celui-ci est différent du mode de capture d'écran actuel. 4. Procédé d'extraction de données d'écran selon la revendication 3, dans lequel les étapes B, C et D sont répétées de manière itérative. 5. Procédé d'extraction de données d'écran selon la revendication 3, dans lequel les étapes A, B, C et D sont répétées de manière itérative. 6. Procédé d'extraction de données d'écran selon l'une quelconque des revendications 3 à 5, dans lequel l'étape B 3047579 24 comprend la détermination de la "caractéristique d'accélération" pour savoir si au moins certaines des données d'écran ont été générées par une accélération 2D/3D. 5 7. Procédé d'extraction de données d'écran selon la revendication 6, dans lequel la caractéristique d'accélération est obtenue en contrôlant une sollicitation d'accélération 2D/3D d'un processeur graphique. 10 8. Procédé d'extraction de données d'écran selon la revendication 6, dans lequel la caractéristique d'accélération est obtenue en identifiant un motif prédéterminé dans les données d'écran. 15 9. Procédé d'extraction de données d'écran selon la revendication 8, dans lequel les données d'écran comprennent une pluralité de trames et la caractéristique d'accélération est obtenue en identifiant le motif prédéterminé dans une séquence de trames. 20 10. Procédé d'extraction de données d'écran selon la revendication 8, comprenant en outre l'extraction des données d'écran grâce à un autre mode de capture d'écran compatible avec une génération 2D/3D pour confirmer la 25 caractéristique d'accélération. 11. Procédé d'extraction de données d'écran selon l'une quelconque des revendications 3 à 5, dans lequel l'étape B comprend la détermination de la "caractéristique de 30 protection" pour savoir si au moins certaines des données d'écran sont protégées en lecture. 12. Procédé d'extraction de données d'écran selon la revendication 2, dans lequel le tableau de capacité de mode 35 de capture d'écran comprend, pour chaque mode de capture 3047579 25 d'écran, au moins l'une des fonctionalités suivantes : disponibilité ; support d'accélération 2D/3D ; support de données d'écran protégées ; latence ; qualité d'image utilisation des ressources informatiques. 5