Brevet FR3064777A1 — publié le 20181005

Procédé, calculateur et système pour la transmission de données relatives à une maquette numérique d'un objet Lors de la conception d'un objet, il est maintenant usuel de créer une représentation informatique dudit objet au moyen d'une maquette numérique ou DMU (« Digital Mock Up » en anglais). Cette maquette numérique peut être éditée au moyen d'un logiciel approprié qui permet également de visualiser des représentations de l'objet. La visualisation de représentations de l'objet est notamment utile lors de la conception de l'objet, en particulier lorsque l'objet est complexe. Par exemple, lorsque l'objet correspond à un aéronef, la visualisation de l'aéronef est particulièrement utile pour vérifier d'éventuelles interactions entre différents sous-ensembles ou différents systèmes de l'aéronef. Il existe également un besoin de pouvoir visualiser l'objet, ou une partie de l'objet, en dehors de la conception de l'objet. Par exemple, la visualisation de l'objet ou d'une partie de l'objet serait utile pour former un utilisateur de l'objet ou un opérateur de maintenance susceptible d'intervenir sur l'objet réel. Toutefois, la maquette numérique correspond à un ensemble de données considérées comme sensibles par le concepteur ou le fabriquant de l'objet, ces données correspondant à du savoir-faire dudit concepteur ou fabriquant. Il est par conséquent souhaitable que les données de la maquette numérique de l'objet ne soient pas transmises à un utilisateur ayant simplement le besoin de visualiser l'objet ou une partie de l'objet, afin que cet utilisateur ne risque pas de s'approprier le savoir-faire du concepteur ou du fabriquant de l'objet. EXPOSE DE L'INVENTION: La présente invention a notamment pour but d'apporter une solution à ces problèmes. Elle concerne un procédé de transmission de données relatives à une maquette numérique d'un objet, d'un calculateur source vers un calculateur utilisateur, en vue de permettre la visualisation d'au moins une partie de l'objet au moyen du calculateur utilisateur. 3064777 2 Le procédé est remarquable en ce qu'il comporte les étapes suivantes mises en oeuvre par le calculateur source : - a) recevoir une requête du calculateur utilisateur, relative à une partie à visualiser de l'objet ; 5 - b) acquérir des données de la maquette numérique relatives au moins à ladite partie à visualiser de l'objet ; - c) transformer de façon irréversible les données issues de la maquette numérique, de façon à produire des données dégradées de visualisation de l'objet ; et 10 - d) envoyer les données dégradées de visualisation de l'objet vers le calculateur utilisateur. Ainsi, lorsque le calculateur utilisateur envoie une requête vers le calculateur source afin d'obtenir des données relatives à une partie à 15 visualiser de l'objet, le calculateur source n'envoie pas, au calculateur utilisateur, des données issues de la maquette numérique mais des données dégradées de visualisation de l'objet. Etant donné que les données dégradées de visualisation de l'objet sont obtenues en transformant de façon irréversible les données issues de la maquette numérique, un utilisateur qui 20 chercherait à exploiter les données dégradées reçues par le calculateur utilisateur ne pourrait pas retrouver les données issues de la maquette numérique. Un tel utilisateur n'a par conséquent pas accès au savoir-faire du concepteur ou du fabriquant de l'objet, ce qui permet de préserver ce savoir-faire. 25 Selon un mode particulier de réalisation, l'étape c) comprend au moins l'une des sous-étapes suivantes : - cl) transformer les données issues de la maquette numérique au moyen d'un algorithme de décimation. 30 - c2) transformer les données issues de la maquette numérique au moyen d'un algorithme de suppression de détails de l'objet. - c3) transformer les données issues de la maquette numérique au moyen d'un algorithme de déformation de l'objet. Lorsque l'étape c) comprend plusieurs desdites sous-étapes, celles-ci 35 peuvent être mises en oeuvre dans un ordre quelconque. De façon 3064777 3 particulière, elles peuvent être mises en oeuvre dans l'ordre cl ) puis c2) puis c3). De façon avantageuse, l'étape b) comprend une sous-étape de filtrage des données issues de la maquette numérique, cette sous-étape comprenant 5 la suppression de données relatives à des parties de l'objet autres que ladite partie à visualiser. Dans un mode de réalisation, l'étape d) comprend une sous-étape d'encryptage des données dégradées de visualisation avant leur envoi vers le calculateur utilisateur. 10 Dans un mode avantageux de réalisation, le procédé comporte en outre les étapes suivantes mises en oeuvre par le calculateur utilisateur : - e) recevoir les données dégradées de visualisation de l'objet, provenant du calculateur source ; - f) commander l'affichage, sur un dispositif de visualisation, d'une 15 représentation d'au moins ladite partie à visualiser de l'objet, en fonction des données dégradées de visualisation. De façon particulière, lorsque l'étape d) comprend une sous-étape d'encryptage des données dégradées de visualisation avant leur envoi vers le calculateur utilisateur, l'étape f) comprend une sous-étape, mise en oeuvre 20 de façon matérielle par un processeur graphique du calculateur utilisateur, de décryptage des données dégradées de visualisation. L'invention est également relative à un calculateur source pour la transmission de données relatives à une maquette numérique d'un objet, 25 vers un calculateur utilisateur, en vue de permettre la visualisation d'au moins une partie de l'objet au moyen du calculateur utilisateur. Le calculateur source est remarquable en ce qu'il est configuré pour : - a) recevoir une requête du calculateur utilisateur, relative à une partie à visualiser de l'objet ; 30 - b) acquérir des données de la maquette numérique relatives au moins à ladite partie à visualiser de l'objet ; - c) transformer de façon irréversible les données issues de la maquette numérique, de façon à produire des données dégradées de visualisation de l'objet ; et 3064777 4 - d) envoyer les données dégradées de visualisation de l'objet vers le calculateur utilisateur. L'invention est également relative à un système de visualisation d'un 5 objet en fonction de données d'une maquette numérique de l'objet. Ce système est remarquable en ce qu'il comporte un calculateur source tel que précité, ainsi qu'un calculateur utilisateur configuré pour : - e) recevoir les données dégradées de visualisation de l'objet, provenant du calculateur source ; et 10 - f) commander l'affichage, sur un dispositif de visualisation, d'une représentation d'au moins ladite partie à visualiser de l'objet, en fonction des données dégradées de visualisation. 15 DESCRIPTION DETAILLEE : L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures annexées. La figure 1 illustre de façon simplifiée la transmission de données d'un 20 calculateur source vers un calculateur utilisateur conformément à un mode de réalisation de l'invention. La figure 2 illustre de façon plus détaillée un module de dégradation de données de la figure 1. La figure 3 représente un algorithme pour la transmission de données 25 d'un calculateur source vers un calculateur utilisateur, conforme à un mode de réalisation de l'invention. Le calculateur source 10 représenté sur la figure 1 comporte un module d'acquisition de données 14, un module de dégradation de données 30 16 et un module d'envoi de données 18 (libellé Tx sur la figure). Ces trois modules 14, 16 et 18 sont mis en oeuvre sous la forme de modules logiciels du calculateur source 10. Dans un mode particulier de réalisation représenté sur la figure 2, le module de dégradation de données 16 comprend un sous-module de décimation 16a, un sous-module de suppression de détails 16b et un sous-module de déformation 16c. Le calculateur source 10 est relié à une 3064777 5 base de données 12 comprenant des données relatives à une maquette numérique d'un objet. La base de données correspond par exemple à une représentation de l'objet en trois dimensions. Le calculateur source 10 est également relié à un calculateur utilisateur 20, par une liaison 26a, 26b. De 5 façon particulière, la liaison 26a, 26b transite par un réseau de communication 24, par exemple par le réseau Internet. Le calculateur utilisateur 20 est relié en sortie à un dispositif d'affichage 22, correspondant par exemple à un casque de réalité virtuelle. En fonctionnement, le calculateur utilisateur 20 envoie une requête 10 vers le calculateur source 10 pour demander l'envoi d'informations relatives à une partie à visualiser de l'objet et, le calculateur source 10 reçoit cette requête. Cela correspond à une étape 32 de l'algorithme 30 représenté sur la figure 3. Au cours d'une étape 34, le calculateur source 10 fait alors l'acquisition, à partir de la base de données 12, de données de la maquette 15 numérique relatives au moins à ladite partie à visualiser de l'objet. Le calculateur source 10 réalise cette acquisition au moyen du module d'acquisition 14. De façon avantageuse, si nécessaire, le calculateur source met en oeuvre une sous-étape de filtrage 34a. Cette sous-étape de filtrage permet de filtrer des données relatives à des parties de l'objet autres que la 20 partie à visualiser, de façon à ne conserver que des données relatives à la partie à visualiser. Au cours d'une étape 36, le calculateur source 10 transforme de façon irréversible les données de la maquette numérique issues de la base de données 12, pour produire des données dégradées de visualisation de l'objet, au moyen du module de dégradation 16. Dans un 25 mode particulier de réalisation, l'étape 36 comprend au moins l'une des sous-étapes suivantes : - une sous-étape de décimation 36a, mise en oeuvre par le sous-module de décimation 16a, correspondant à une transformation des données issues de la maquette numérique au moyen d'un algorithme de décimation ; 30 - une sous-étape de suppression de détails 36b, mise en oeuvre par le sous-module de suppression de détails 16b, correspondant à une transformation des données issues de la maquette numérique au moyen d'un algorithme de suppression de détails ; et 3064777 6 - une sous-étape de déformation 36c, mise en oeuvre par le sous-module de déformation 16c, correspondant à une transformation des données issues de la maquette numérique au moyen d'un algorithme de déformation de l'objet. Chacune des sous-étapes 36a, 36b, 36c permet de transformer de 5 façon irréversible les données de la maquette numérique issues de la base de données 12. Selon différents modes de réalisation conformes à l'invention, une seule des trois sous-étapes ou encore une combinaison de plusieurs desdites sous-étapes est mise en oeuvre. Dans le cas d'une combinaison de plusieurs sous-étapes, celles-ci peuvent être combinées 10 dans un ordre quelconque. Les données transformées au cours d'une sous-étape correspondent alors aux données d'entrée utilisées par la sous-étape suivante. L'algorithme de la figure 3 illustre l'exemple particulier dans lequel les 3 sous-étapes sont combinées dans l'ordre 36a, 36b puis 36c. L'algorithme de décimation utilisé à la sous-étape de décimation 36a 15 réalise une simplification de la modélisation de l'objet par rapport à la modélisation de l'objet correspondant à la maquette numérique. Lorsque la modélisation de l'objet correspond à un maillage comprenant des sommets et des vecteurs entre ces sommets, cette simplification correspond notamment, de façon connue, à une réduction du nombre de sommets et du 20 nombre de vecteurs entre ces sommets. Il en résulte une modélisation de l'objet moins précise que la modélisation correspondant à la maquette numérique, mais toutefois suffisante pour la visualisation de la partie à visualiser de l'objet. L'algorithme de suppression de détails utilisé à la sous-étape de 25 suppression de détails 36b a pour objet la suppression de certaines catégories d'informations techniques par rapport à la modélisation de l'objet correspondant à la maquette numérique. Les catégories d'informations techniques supprimées correspondent à des détails non essentiels pour la visualisation de la partie à visualiser de l'objet, tels par exemple que des vis, 30 des trous, etc. Ces détails, bien que non essentiels pour la visualisation de l'objet, sont néanmoins nécessaires pour sa fabrication. Leur suppression permet donc une dégradation irréversible des données issues de la maquette numérique de façon à rendre difficile une reproduction de l'objet à partir desdites données. Les catégories d'informations techniques relatives à l'objet 35 sont par exemple identifiées au moyen de codes distincts dans la base de 3064777 7 données 12 : cela permet à l'algorithme de suppression de détails d'identifier les données dont les catégories d'informations techniques correspondent à des détails dont la suppression est souhaitée. L'algorithme de déformation de l'objet utilisé à la sous-étape de 5 déformation 36c a pour objet d'introduire des déformations de l'objet par rapport à l'objet correspondant aux données issues de la base de données 12. Ces déformations correspondent à une transformation irréversible des données issues de la base de données 12. Lorsque la modélisation de l'objet correspond à un maillage tel que précité, ces déformations correspondent 10 par exemple à des déplacements d'au moins une partie des sommets du maillage. Les sommets déplacés sont déplacés d'une distance de déplacement par rapport à leur position enregistrée dans la base de données 12. La distance de déplacement correspondant à chaque sommet déplacé est de préférence inférieure, en valeur absolue, à une distance 15 maximale de déplacement choisie de façon à ce que les déformations de l'objet soient pas ou peu visibles par un oeil humain lors de la visualisation de l'objet, mais soient suffisantes pour rendre difficile une reproduction correcte de l'objet. La distance maximale de déplacement est par exemple choisie dans un intervalle de 1 à 2 millimètres. De façon avantageuse, la distance de 20 déplacement appliquée à chacun des sommets déplacés est choisie de façon aléatoire (en utilisant par exemple un algorithme dit de « randomisation ») dans un intervalle de distances compris entre 0 et la distance maximale de déplacement. Au cours d'une étape 38, le calculateur source 10 envoie les données 25 dégradées de visualisation de l'objet, produites à l'étape 36, vers le calculateur utilisateur 20. Pour cela, le module d'envoi de données 18 envoie les données dégradées de visualisation de l'objet vers le calculateur utilisateur, via la liaison 26a, 26b et le réseau de communication 24. De façon avantageuse, le calculateur source 10 met en oeuvre une sous-étape 30 d'encryptage 38a des données dégradées de visualisation de l'objet avant leur envoi vers le calculateur utilisateur 20. Cela permet d'éviter une utilisation frauduleuse desdites données si celles-ci sont interceptées lors de leur acheminement sur le réseau de communication 24. Dans un mode particulier de réalisation, les données dégradées de 35 visualisation sont marquées selon une technique de tatouage numérique 3064777 8 (« watermarking » en anglais) permettant d'identifier la source desdites données. Au cours d'une étape 40, le calculateur utilisateur 20 reçoit les données dégradées de visualisation de l'objet envoyées par le calculateur 5 source 10. De façon avantageuse, si les données dégradées de visualisation de l'objet ont été encryptées par le calculateur source lors de la sous-étape 38a, le calculateur utilisateur 20 décrypte ces données au cours d'une sous-étape de décryptage 40a. Au cours d'une étape 42, le calculateur utilisateur 20 commande 10 l'affichage, sur le dispositif d'affichage 22, de ladite partie à visualiser de l'objet en fonction des données dégradées de visualisation de l'objet. Les données dégradées de visualisation (éventuellement décryptées s'il y a lieu) ne sont pas enregistrées par le calculateur utilisateur 20. Le calculateur utilisateur 20 utilise ces données uniquement en mémoire 15 volatile, en particulier en mémoire vive, pendant le fonctionnement d'une application dédiée d'affichage sur le dispositif d'affichage 22. Ainsi, ces données sont non persistantes dans le calculateur utilisateur 20, c'est-à-dire qu'elles ne restent pas mémorisées dans une mémoire permanente, tel qu'un disque dur ou une carte mémoire du calculateur utilisateur 20. Cela empêche 20 leur interception et leur réutilisation par un utilisateur. Dans une première variante, le décryptage précité des données dégradées de visualisation de l'objet à la sous-étape de décryptage 40a est réalisé de façon matérielle par un processeur graphique du calculateur utilisateur, en particulier par un processeur graphique d'une carte graphique 25 du calculateur utilisateur. Cette première variante présente l'avantage d'empêcher une interception des données dégradées de visualisation de l'objet, une fois décryptées, avant leur affichage. En effet, le décryptage est alors réalisé dans la carte graphique qui commande directement l'affichage sur le dispositif d'affichage 22 : les données décryptées ne sortent donc pas 30 de la carte graphique, ce qui rend difficile leur interception. Dans une deuxième variante, le décryptage des données dégradées de visualisation de l'objet à la sous-étape de décryptage 40a est réalisé de façon logicielle par le calculateur utilisateur 20. De façon avantageuse, le calculateur utilisateur met alors en oeuvre un logiciel de surveillance de 35 capture 3D. Un tel logiciel surveille, à la façon d'un anti-virus, que le 3064777 9 calculateur utilisateur n'utilise pas un logiciel connu d'enregistrement des données dégradées de visualisation de l'objet lors de leur envoi vers la carte graphique du calculateur utilisateur en vue de leur affichage. Si le logiciel de surveillance de capture 3D détecte la présence d'un tel logiciel, alors il arrête 5 la communication avec le calculateur source 10 et l'affichage sur le dispositif d'affichage 22. REVENDICATIONS1. Procédé (30) de transmission de données relatives à une maquette numérique d'un objet, d'un calculateur source (10) vers un calculateur utilisateur (20), en vue de permettre la visualisation d'au moins une partie de l'objet au moyen du calculateur utilisateur, caractérisé en ce qu'il comporte les étapes suivantes mises en oeuvre par le calculateur source (10) : 10 - a) recevoir (32) une requête du calculateur utilisateur, relative à une partie à visualiser de l'objet ; - b) acquérir (34) des données de la maquette numérique relatives au moins à ladite partie à visualiser de l'objet ; - c) transformer de façon irréversible (36) les données issues de la maquette 15 numérique, de façon à produire des données dégradées de visualisation de l'objet ; et - d) envoyer (38) les données dégradées de visualisation de l'objet vers le calculateur utilisateur. 2. Procédé selon la revendication 1, caractérisé en ce que l'étape c) comprend la sous-étape (36a) suivante : - cl ) transformer les données issues de la maquette numérique au moyen d'un algorithme de décimation. 25 3- Procédé selon l'une des revendications 1 ou 2, caractérisé en ce que l'étape c) comprend la sous-étape (36b) suivante : - c2) transformer les données issues de la maquette numérique au moyen d'un algorithme de suppression de détails de l'objet. 30 4- Procédé selon l'une des revendications 1 à 3, caractérisé en ce que l'étape c) comprend la sous-étape (36c) suivante : 3064777 11 - c3) transformer les données issues de la maquette numérique au moyen d'un algorithme de déformation de l'objet. 5- Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que l'étape b) comprend une sous-étape (34a) de filtrage des données issues de la maquette numérique, cette sous-étape comprenant la suppression de données relatives à des parties de l'objet autres que ladite partie à visualiser. 6- Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que l'étape d) comprend une sous-étape (38a) d'encryptage des données dégradées de visualisation avant leur envoi vers le calculateur utilisateur. 7- Procédé selon l'une quelconque des revendications précédentes caractérisé en ce qu'il comporte les étapes suivantes mises en oeuvre par le calculateur utilisateur (20) : - e) recevoir (40) les données dégradées de visualisation de l'objet, provenant du calculateur source (10) ; - f) commander l'affichage (42), sur un dispositif de visualisation (22), d'une représentation d'au moins ladite partie à visualiser de l'objet, en fonction des données dégradées de visualisation. 8- Procédé selon la revendication 7 combinée avec la revendication 6, 25 caractérisé en ce que l'étape f) comprend une sous-étape (40a), mise en oeuvre de façon matérielle par un processeur graphique du calculateur utilisateur, de décryptage des données dégradées de visualisation. 9- Calculateur source (10) pour la transmission de données relatives à une 30 maquette numérique d'un objet, vers un calculateur utilisateur (20), en vue de permettre la visualisation d'au moins une partie de l'objet au moyen du 3064777 12 calculateur utilisateur, caractérisé en ce que le calculateur source (10) est configuré pour : - a) recevoir (32) une requête du calculateur utilisateur, relative à une partie à visualiser de l'objet ; 5 - b) acquérir (34) des données de la maquette numérique relatives au moins à ladite partie à visualiser de l'objet ; - c) transformer de façon irréversible (36) les données issues de la maquette numérique, de façon à produire des données dégradées de visualisation de l'objet ; et 10 - d) envoyer (38) les données dégradées de visualisation de l'objet vers le calculateur utilisateur. 10- Système (1) de visualisation d'un objet en fonction de données d'une maquette numérique de l'objet, caractérisé en ce qu'il comporte un 15 calculateur source (10) selon la revendication 9, ainsi qu'un calculateur utilisateur (20) configuré pour : - e) recevoir (40) les données dégradées de visualisation de l'objet, provenant du calculateur source (10) ; et - f) commander l'affichage (42), sur un dispositif de visualisation (22), d'une 20 représentation d'au moins ladite partie à visualiser de l'objet, en fonction des données dégradées de visualisation.