Brevet FR2976430A1 — publié le 20121214

CONTROLE DE TRAITEMENT D'UN OBJET MULTIMEDIA PAR UNE APPLICATION LOGICIELLE La présente invention concerne un système pour contrôler le traitement 5 d'un objet multimédia par une application logicielle. Actuellement, les mécanismes de protection de la vie privée des utilisateurs ont pour fonctionnalité d'empêcher la divulgation de contenu privé selon différentes conditions, par exemple en fonction de la personne accédant au contenu 10 ou en fonction de l'usage prévu du contenu. Les décisions relatives à la divulgation d'un contenu sont prises seulement par rapport à l'ensemble du contenu initialement créé, sans prendre en considération la complexité du contenu qui peut contenir différentes parties qui sont plus ou moins sensibles. Pour remédier aux inconvénients précédents, un procédé pour contrôler le traitement d'un objet multimédia par une application logicielle implémentée dans un dispositif de communication, comprend les étapes suivantes dans une application de contrôle implémentée dans le dispositif de communication: 20 intercepter un appel depuis l'application logicielle vers un environnement d'exécution pour effectuer une opération basique sur l'objet multimédia, l'objet multimédia étant divisé en des segments associés chacun à des données de contrôle comprenant au moins des données parmi des données de sémantique, des données de sensibilité et des données de fonctionnalité, 25 associer à l'appel des paramètres de transformation comprenant au moins un paramètre de fonctionnalité et au moins l'un d'un paramètre de sémantique et d'un paramètre de sensibilité en fonction d'un contexte d'exécution de l'appel, transformer l'objet multimédia en un objet multimédia transformé en fonction des données de contrôle associées à l'objet multimédia et des paramètres 30 de transformation associés à l'appel, l'objet multimédia transformé comprenant au moins un segment transformé de sorte que l'objet multimédia transformé présente moins d'information que l'objet multimédia et soit apte à subir une opération basique effectuée par l'environnement d'exécution. Avantageusement, l'invention garantit d'appliquer des souhaits de protection de vie privée relatives à un objet multimédia et définis par un utilisateur créateur dudit objet multimédia, lorsqu'un autre utilisateur tente d'accéder à l'objet multimédia en invoquant une opération basique sur l'objet multimédia par l'intermédiaire d'une application logicielle. Selon une autre caractéristique de l'invention, les données de sémantique, les données de sensibilité et les données de fonctionnalité peuvent respectivement définir la signification d'un segment, le niveau de sensibilité d'un segment et des actions possibles pour le segment, et le paramètre de sémantique, le paramètre de sensibilité et le paramètre de fonctionnalité peuvent respectivement décrire une signification relative à l'objet multimédia, un niveau de sensibilité relative à l'objet multimédia et une action demandée sur l'objet multimédia. Selon une autre caractéristique de l'invention, le contexte d'exécution de l'appel par l'application logicielle peut être déterminé en fonction du type d'opération 15 basique demandé par l'application logicielle. Selon une autre caractéristique de l'invention, le contexte d'exécution de l'appel par l'application logicielle peut être en outre déterminé en fonction d'au moins un élément parmi les éléments comprenant le nom de l'application logicielle, le type de l'application logicielle, le type de l'environnement d'exécution, et l'identité de 20 l'utilisateur de l'application logicielle. Selon une autre caractéristique de l'invention, l'objet multimédia transformé comprend au moins un segment transformé qui est sélectionné lorsqu'il est associé à des données de contrôle compatibles avec les paramètres de transformation. Selon une autre caractéristique de l'invention, l'objet multimédia transformé 25 peut comprendre au moins un segment qui est supprimé ou rendu flou. Selon une autre caractéristique de l'invention, une opération basique sur l'objet multimédia est une opération effectuée par une interface de programmation API. Selon une autre caractéristique de l'invention, une opération basique sur 30 l'objet multimédia est une opération parmi un ensemble comprenant au moins les opérations de type lire, copier, coller, déplacer, éditer, ouvrir, et imprimer. Selon une autre caractéristique de l'invention, l'environnement d'exécution peut être un système d'exploitation. L'invention concerne également un dispositif de communication pour contrôler le traitement d'un objet multimédia par une application logicielle implémentée dans le dispositif de communication, comprenant : des moyens pour intercepter un appel depuis l'application logicielle vers un environnement d'exécution pour effectuer une opération basique sur l'objet multimédia, l'objet multimédia étant divisé en des segments associés chacun à des données de contrôle comprenant au moins des données parmi des données de sémantique, des données de sensibilité et des données de fonctionnalité, des moyens pour associer à l'appel des paramètres de transformation 0 comprenant au moins un paramètre de fonctionnalité et au moins l'un d'un paramètre de sémantique et d'un paramètre de sensibilité en fonction d'un contexte d'exécution de l'appel, des moyens pour transformer l'objet multimédia en un objet multimédia transformé en fonction des données de contrôle associées à l'objet multimédia et des paramètres de transformation associés à l'appel, l'objet multimédia transformé comprenant au moins un segment transformé de sorte que l'objet multimédia transformé présente moins d'information que l'objet multimédia et soit apte à subir une opération basique effectuée par l'environnement d'exécution. 20 L'invention se rapporte encore à un programme d'ordinateur apte à être mis en oeuvre dans un dispositif, ledit programme comprenant des instructions qui, lorsque le programme est exécuté dans ledit dispositif, réalisent les étapes selon le procédé de l'invention. 25 La présente invention et les avantages qu'elle procure seront mieux compris au vu de la description ci-après faite en référence aux figures annexées, dans lesquelles : - la figure 1 est un bloc-diagramme schématique d'un système de communication selon une réalisation de l'invention, et 30 - la figure 2 est un algorithme d'un procédé de contrôle traitement d'un objet multimédia par une application logicielle selon une réalisation de l'invention. En référence à la figure 1, un système de communication comprend un dispositif de communication DC et au moins un terminal de communication TC, aptes à communiquer entre eux à travers un réseau de télécommunications RT. Le réseau de télécommunications RT peut être un réseau filaire ou sans fil, 5 ou une combinaison de réseaux filaires et de réseaux sans fil. Selon un exemple, le réseau de télécommunications RT est un réseau de paquets à haut débit de type 1P ("Internet Protocol" en anglais), tel que l'internet ou un intranet. Selon un autre exemple, le réseau de télécommunications RT est un 0 réseau de type TDM ("Time Division Multiplexing" en anglais) ou encore un réseau privé spécifique à une société supportant un protocole propriétaire. Un terminal de communication TC est apte à communiquer à travers le réseau de télécommunications RT avec le dispositif de communication DC, et notamment à transmettre à ce dernier un objet multimédia 0M. Selon un exemple, un terminal de communication est un ordinateur personnel relié directement par modem à une liaison de type xDSL ("Digital Subscriber Une" en anglais) ou RNIS (Réseau Numérique à Intégration de Services) reliée au réseau de télécommunications RT. 20 Selon un autre exemple, un terminal de communication est un terminal de radiocommunications cellulaire mobile, relié par un canal de radiocommunication au réseau de télécommunications, par exemple de type GSM ("Global System for Mobile communications" en anglais) ou UMTS ("Universal Mobile Telecommunications System" en anglais). 25 Selon un autre exemple, un terminal de communication comprend un dispositif ou objet électronique de télécommunications qui est personnel à l'utilisateur et qui peut être un assistant numérique personnel communicant PDA ("Personnal Digital Assistant" en anglais), ou un téléphone intelligent (SmartPhone), pouvant être relié à une borne d'accès d'un réseau public sans fil de faible portée du 30 type WLAN ("Wireless Local Area Network" en anglais) ou conforme à l'une des normes 802.1x, ou de moyenne portée selon le protocole WIMAX ("World wide Interoperability Microwave Access" en anglais), relié au réseau de télécommunications. Le terminal de communication TC comprend une application de segmentation AS pour segmenter un objet multimédia 0M. Un objet multimédia 0M est par exemple une image ou un fichier ayant un contenu textuel, et/ou audio, et/ou vidéo. L'application de segmentation AS associe des données de contrôle DonC à un objet multimédia 0M. Les données de contrôle DonC sont par exemple des métadonnées. Plus particulièrement, l'application de segmentation AS segmente un objet multimédia 0M en plusieurs parties, de manière automatique, semi-automatique ou manuelle à l'initiative de l'utilisateur qui est à l'origine de la création de l'objet multimédia ou qui en est le propriétaire. L'application de segmentation AS communique avec une base de données de vocabulaire BDV qui contient des définitions et des guides d'utilisation des données de contrôle DonC, et distingue ces dernières sous forme d'au moins trois 15 catégories : - des données de sémantique DonSm définissant la signification d'un segment d'un objet multimédia, - des données de sensibilité DonSb définissant le niveau de sensibilité d'un segment d'un objet multimédia, et 20 - des données de fonctionnalité DonF définissant des actions possibles pour un segment d'un objet multimédia. Des données de sémantique DonSm indiquent par exemple une relation personnelle, une vision politique, ou encore une appartenance religieuse. Des données de sensibilité DonSb indiquent le niveau de sensibilité d'un 25 segment d'un objet multimédia par exemple sous forme d'un score qui peut être attribué selon une échelle graduée, ou sous forme d'une information parmi des informations du type "bas", "moyen" et "élevé". Des données de fonctionnalité DonF indiquent par exemple des actions du type "supprimer", "rendre anonyme", ou encore "rendre flou". 30 Les données de contrôle DonC peuvent être associées à l'objet multimédia par exemple sous forme de différentes étiquettes respectivement attribuées à différents segments de l'objet multimédia. Les données de contrôle DonC peuvent contenir en outre des ensembles de règles sous forme d'une politique globale associée à l'objet multimédia 0M. L'information contenue dans les données de contrôle DonC peut être considérée comme un ensemble de possibilités, soit comme possibilités de référence pour les donnes de sémantique et les données de sensibilité, soit comme possibilités de transformations pour les données de fonctionnalité. Selon une réalisation, l'application de segmentation AS effectue une analyse de l'objet multimédia et présente des propositions de données de contrôles et de segmentation de l'objet multimédia. Par exemple dans le cas d'un document textuel, les données de contrôle sont suggérées en se basant sur des techniques de traitement de texte qui identifie des mots considérés sensibles, tels que des noms propres ou des expressions permettant d'identifier une personne, telles qu'une adresse ou un numéro de téléphone et associe une partie de texte, assimilé à un segment, au mot identifié. Plusieurs techniques peuvent être utilisées pour segmenter l'objet multimédia selon le format de l'objet multimédia. Par exemple, pour un fichier de type "html" ("Hypertext Markup Language" en anglais), des balises dédiées peuvent être utilisées pour segmenter le fichier et associer des données de contrôle aux différents segments. Selon un autre exemple pour un fichier contenant du texte, des commentaires peuvent être utilisés dans un suivi des modifications. Pour un fichier vidéo, des techniques relatives au standard MPEG ("Moving Picture Experts Group" 20 en anglais) permettent d'associer des descriptives à différents segments de la vidéo ou à des parties de chaque trame de la vidéo. Pour un fichier contenant de l'image, du type "JPEG" ("Joint Photographie Experts Group" en anglais) ou PDF ("Portable Document Format" en anglais), des techniques relatives au standard XMP ("Extensible Metadata Platform" en anglais) permettent d'associer des métadonnées 25 au fichier. Le dispositif de communication DC est par exemple un ordinateur personnel ou un serveur d'applications. Le dispositif de communication DC comprend un environnement 30 d'exécution EE et une application de contrôle AC comprenant un module d'analyse ANA, un module d'interprétation INT et un module de transformation TRA. Le dispositif de communication DC comprend différentes ressources matérielles, telles qu'un processeur, de la mémoire vive et de la mémoire de stockage. L'environnement d'exécution EE est un ensemble de programmes assurant une liaison entre les ressources matérielles du dispositif de communication DC et des applications logicielles AppL. Par exemple, l'environnement d'exécution est un système d'exploitation, ou bien un navigateur web, ou encore un composant logiciel de type middleware. Une application logicielle AppL est par exemple un éditeur de contenu, un outil de partage de contenu, ou encore un client de messagerie électronique. L'environnement d'exécution EE contient notamment des interfaces de programmation API ("Application Programming Interface" en anglais) pour exécuter des opérations basiques sur des fichiers, telles que les opérations du type "lire", "copier", "coller", "déplacer", "éditer", "ouvrir", ou "imprimer". Une interface API peut être vue comme un ensemble de fonctions, procédures ou classes mises à disposition par l'environnement d'exécution EE, dont la connaissance permet l'interopérabilité entre les différents composants logiciels 15 gérés par le dispositif de communication DC. Pour traiter un objet multimédia, l'application logicielle AppL interagit avec l'environnement d'exécution, en faisant appel notamment à des opérations basiques gérées par l'environnement d'exécution. 20 Dans le cas où l'environnement d'exécution EE est un système d'exploitation, l'application de contrôle AC peut être considérée comme une surcouche du système d'exploitation intervenant lors de l'exécution de toute application logicielle. L'application de contrôle AC, et éventuellement l'application logicielle AppL 25 , communiquent avec une base de données de vocabulaire BDV qui contient des définitions et des guides d'utilisation des données de contrôle, du même type que la base de données associée à l'application de segmentation AS. Il est considéré que l'application de contrôle AC intercepte tout appel 30 depuis une application logicielle AppL à l'environnement d'exécution EE pour effectuer une opération basique sur un objet multimédia. Le module d'analyse ANA analyse une politique incluse dans les données de contrôles DonC et associée à l'objet multimédia 0M pour déterminer des paramètres de transformation à associer à l'appel en fonction d'un contexte d'exécution de l'appel par l'application logicielle AppL. Le contexte d'exécution de l'appel par l'application logicielle est déterminé en fonction du type d'opération demandé par l'application logicielle AppL. Le contexte d'exécution de l'appel par l'application logicielle peut être en outre déterminé en fonction du nom et du type de l'application logicielle AppL, du type de l'environnement d'exécution EE, ou encore de l'identité de l'utilisateur de l'application logicielle. Par exemple, la politique incluse dans les données de contrôles DonC définit les informations à prendre en compte pour déterminer le contexte de l'invention. Le module d'analyse ANA produit et associe des paramètres de transformation ParT à l'appel en interrogeant la base de données de vocabulaire. A l'instar des données de contrôle DonC associées à l'objet multimédia, les paramètres peuvent être organisés sous forme d'au moins trois catégories : -un paramètre de sémantique ParSm décrit une signification relative à l'objet multimédia, telle qu'un sujet particulier, un thème ou un concept. -un paramètre de sensibilité ParSb décrit un niveau de sensibilité relative à l'objet multimédia, -un paramètre de fonctionnalité ParF décrit une action demandée sur l'objet 20 multimédia. Les paramètres ParSm et ParSb sont utilisés par la suite pour identifier les segments dans l'objet multimédia 0M en vérifiant une correspondance d'au moins l'un des paramètres ParSm et ParSb avec au moins l'une des étiquettes relatives aux données DonSm et DonSb. Une fois qu'au moins un segment est identifié, une 25 opération de transformation à effectuer sur le segment peut être déterminée en fonction des données DonF associées au segment, ou en absence de ces données DonF, en fonction du paramètre ParF. A titre d'exemple, l'application de contrôle AC produit un appel paramétré en invoquant des opérations basiques modifiées telles que des opérations du type 30 "p-lire", "p-copier", "p-coller", "p-déplacer", "p-éditer", "p-ouvrir", ou "p-imprimer", ces opérations permettant une transformation de l'objet multimédia selon les possibilités de transformation fournis par l'utilisateur dans les données de contrôle DonC, avant que l'objet multimédia transformé ne subisse les opérations du type "lire", "copier", "coller", "déplacer", "éditer", "ouvrir", ou "imprimer". L'information contenue dans les paramètres de transformation ParT associés aux appels correspond à une demande faite par l'application logicielle pour effectuer une action sur l'objet multimédia. Ainsi, les demandes faites par l'application logicielle ne seront exécutées 5 que si elles correspondent à une possibilité donnée par l'utilisateur créateur de l'objet multimédia lorsque des données de contrôle ont été associées à l'objet multimédia. Il est considéré que les paramètres de transformation ParT contiennent au moins un paramètre de fonctionnalité ParF, et au moins l'un d'un paramètre de 10 sémantique ParSm et d'un paramètre de sensibilité ParSb. Il peut être en outre considéré que la politique incluse dans les données de contrôles DonC et associée à l'objet multimédia 0M contient des éléments de condition permettant de décrire un contexte d'exécution de l'appel par l'application logicielle AppL et des éléments d'action permettant de déterminer les paramètres de 15 transformation ParT. Le module d'interprétation INT interprète des données de contrôle DonC associées à des segments de l'objet multimédia 0M et interprète des paramètres ParT associés à un appel d'opération basique par l'application logicielle AppL afin 20 de déterminer des segments de l'objet multimédia remplissant les conditions pour être transformés. Le module d'interprétation INT produit une requête de transformation ReqT indiquant une transformation à effectuer pour chaque segment de l'objet multimédia Cette requête est fournie en entrée du module de transformation TRA. 25 Le module de transformation TRA transforme l'objet multimédia OM en un objet multimédia transformé OMt en fonction de la requête de transformation ReqT, notamment en fonction des données de fonctionnalité des données de contrôle DonC. Par exemple, au moins un segment de l'objet multimédia peut être supprimé ou rendu flou, si des données de fonctionnalité associées audit segment indiquent 30 ce type d'action pour préserver la vie privée relative aux informations contenues dans ce segment. Selon un exemple, l'application logicielle fait appel à une opération de type "copier" sur un objet multimédia qui est un document dans lequel des parties confidentielles doivent être supprimées. L'application de contrôle AC intercepte cet appel, et associe à l'appel des paramètres ParT suivants: "niveau de sensibilité élevé" comme paramètre de sensibilité et "supprimer" comme paramètre de fonctionnalité, en fonction du contexte de l'appel selon la politique incluse dans les données de contrôles DonC associées à l'objet multimédia OM et après avoir consulté la base de données de vocabulaire BDV. Selon un autre exemple, si l'objet multimédia est associé seulement à des données de sensibilité indiquant "confidentiel" et n'est associé à aucune donnée de fonctionnalité, et si l'application logicielle est un outil de partage de contenu, l'application de contrôle autorisera l'application logicielle à faire appel à l'opération 0 "lire" sans transformation de l'objet multimédia, et transformera au moins un segment de l'objet multimédia associé aux données de sensibilité, par exemple en la supprimant, si l'application logicielle fait appel à l'opération "imprimer". Si des données de fonctionnalité sont associées à l'objet multimédia, il est considéré que l'action définie par ces dernières est prioritaire par rapport à une 5 action définie dans des paramètres de fonctionnalité associés à un appel d'opération basique. Il est considéré que l'objet multimédia transformé OMt présente moins d'information à l'utilisateur que l'objet multimédia initiai. 20 Après la transformation de l'objet multimédia, l'objet multimédia transformé OMt peut être sujet à l'exécution d'opérations basiques de manière classique à la demande de l'application logicielle, les segments de l'objet multimédia considérés sensibles ayant été traités par l'application de contrôle AC. 25 Selon une réalisation, le terminal de communication TC et le dispositif de communication DC sont confondus. Dans ce cas, l'application de segmentation AS et l'application de contrôle AC peuvent être confondues. En référence à la figure 2, un procédé de contrôle de traitement d'un objet 30 multimédia par une application logicielle selon une réalisation de l'invention comprend des étapes El à E4 exécutées dans le système de communication. A l'étape El, un premier utilisateur souhaite publier ou transmettre un objet multimédia OM à travers le réseau de télécommunications RT. 2976430 Il L'application de segmentation AS exécutée dans le terminal de communication associe des données de contrôle DonC à l'objet multimédia OM, le premier utilisateur pouvant lui-même renseigner au moins une partie des données de contrôle. 5 L'objet multimédia OM est alors transmis depuis le terminal de communication TC à destination d'un dispositif de communication DC à travers le réseau de télécommunications RT. A l'étape E2, le dispositif de communication DC reçoit l'objet multimédia OM et une application logicielle AppL accède à l'objet multimédia 0M. L'application logicielle AppL, interagissant avec un environnement d'exécution EE, fait un appel à ce dernier pour effectuer une opération basique sur un objet multimédia. L'application de contrôle AC intercepte cet appel et analyse des données de contrôle DonC associées à des segments de l'objet multimédia 0M. Notamment, le module d'analyse ANA détermine des paramètres de transformation ParT en fonction du contexte de l'appel selon une politique incluse dans les données de contrôle DonC associées à l'objet multimédia OM. Par exemple, selon ladite politique, l'application de contrôle AC se base sur le type de l'application logicielle et le type d'opération basique demandé pour identifier le 20 contexte d'appel. Le module d'analyse ANA associe à l'appel ces paramètres de transformation ParT déterminés en fonction du contexte de l'appel, les paramètres ParT contenant au moins un paramètre de fonctionnalité ParF, et au moins l'un d'un paramètre de sémantique ParSm et d'un paramètre de sensibilité ParSb. 25 A l'étape E3, le module d'interprétation INT de l'application de contrôle AC analyse des données de contrôle DonC associées à des segments de l'objet multimédia OM et analyse les paramètres de transformation ParT associés à l'appel. L'application de contrôle sélectionne les segments remplissant les conditions pour être transformés, c'est-à-dire lorsqu'ils sont associés à des données 30 de contrôle compatibles avec les paramètres de transformation. Selon un exemple, l'application logicielle fait appel à une opération de type "copier" sur un objet multimédia qui est un document dans lequel des parties confidentielles doivent être supprimées. L'appel est associé à un paramètre de sensibilité ParSb décrivant "niveau de sensibilité élevé" et à un paramètre de fonctionnalité ParF décrivant "supprimer". L'objet multimédia comprend un premier segment associé à des données de sémantique DonSm indiquant "personnel", des données de sensibilité DonSb indiquant "niveau de sensibilité élevé" et des données de fonctionnalité DonF indiquant les actions possibles "supprimer, rendre flou", et comprend un deuxième segment associé à des données de sémantique DonSm indiquant "personnel", des données de sensibilité DonSb indiquant "niveau de sensibilité faible" et des données de fonctionnalité DonF indiquant les actions possibles "rendre anonyme". L'application de contrôle détermine seulement le premier segment comme segment à transformer, à l'aide du paramètre de sensibilité ParSb qui correspond aux données de sensibilité DonSb et à l'aide du paramètre de fonctionnalité décrivant une action qui correspond à une action possible définie dans les données de fonctionnalité DonF. L'application de contrôle AC produit une requête de transformation ReqT indiquant une transformation de chaque segment de l'objet multimédia, en fonction des données de contrôle DonC et des paramètres de transformation ParT. La requête de transformation ReqT peut être produite en outre en fonction du contexte d'exécution de l'application logicielle. A l'étape E4, le module de transformation TRA de l'application de contrôle AC transforme l'objet multimédia OM en un objet multimédia transformé OMt en 20 fonction de la requête de transformation ReqT. L'objet multimédia transformé OMt peut alors subir une opération basique effectuée par l'environnement d'exécution EE. L'invention décrite ici concerne un procédé et un dispositif pour le 25 traitement d'un objet multimédia par une application logicielle. Selon une implémentation de l'invention, les étapes du procédé de l'invention sont déterminées par les instructions d'un programme d'ordinateur incorporé dans un dispositif, tel que le dispositif DC, le programme dictant le comportement d'au moins une application logicielle AppL et de l'application de contrôle AC. Le programme 30 comporte des instructions de programme, qui lorsque ledit programme est chargé et exécuté dans le dispositif, réalisent les étapes du procédé de l'invention. En conséquence, l'invention s'applique également à un programme d'ordinateur, notamment un programme d'ordinateur sur ou dans un support d'informations, adapté à mettre en oeuvre l'invention. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou code intermédiaire entre code source et code objet tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable pour implémenter le procédé selon l'invention.