Brevet FR3087025A1 — publié le 20200410

- 1 - « Procédé pour transformer un modèle tridimensionnel (3D) en un modèle 3D embarquable dans une interface humain-machine d'un équipement mobile>) Domaine de l'invention La présente invention concerne un procédé pour transformer un modèle tridimensionnel (3D) en un modèle 3D embarquable dans une interface humain-machine d'un équipement mobile. Le domaine de l'invention est celui des interfaces humain-machine, et plus particulièrement des interfaces humain-machine embarqués dans des systèmes de mobilité, terrestres, aériens ou maritimes. Etat de la technique Il existe actuellement une forte demande, exprimée notamment par les constructeurs automobiles, pour des interfaces humain-machine (IHM) ergonomiques, efficaces et hautement 15 dynamiques. Le développement actuel des nouvelles formes de mobilité, notamment le transport autonome ou semi-autonome, suscite des besoins importants en termes d'interfaces humain-machine équipant les systèmes de mobilité. On attend de ces interfaces humain-machine qu'elles soient ergonomiques, intuitives et performantes. Pour cela, il est fait de plus en plus appel à des représentations graphiques 20 tridimensionnelles dynamiques. S'il est déjà très courant d'utiliser des modèles tridimensionnels temps-réel et à haute résolution dans le domaine des jeux vidéo et de l'animation, ce n'est pas encore le cas pour les équipementiers du domaine automobile des véhicules légers ou industriels qui sont pourtant actuellement très demandeurs d'animations 3D temps-réel embarquées tandis qu'ils font face à une somme de 25 contraintes technologiques bien supérieures à celles adressées dans le secteur du jeu vidéo. En effet, il existe un réel décalage culturel et expérientiel entre les designers graphiques 3D et les développeurs logiciel chargés de concevoir les IHM tournant sur des systèmes électroniques embarqués. Ce décalage se matérialise par l'utilisation de logiciels de développement informatique fondamentalement différents et de prime abord incompatibles, ce qui a pour conséquence de nécessiter 30 un pont entre deux univers « métier)) distincts. Les procédés existants tels que ceux utilisés par les logiciels Unreal Engine, Unity3D ou encore 3DVia, qui remplissent ce rôle, opèrent d'ordinaire une conversion a minima qui nécessite systématiquement une intervention manuelle afin de conformer l'apparence d'un modèle 3D avant qu'il soit exploitable par des développeurs. Cette conformation doit être répétée à chaque modification du 35 modèle 3D entraînant nécessairement une perte de productivité, un plus grand risque d'erreur induit - 2 - par la multiplication d'interventions humaines, l'allongement des échéances au détriment de l'accomplissement des projets, qu'ils soient portés par des cellules innovation ou production. L'amélioration de ce processus de conformation réclame une forme d'automatisation de cette étape de conformation qui peut nécessiter l'écriture d'un script expert. En l'état de l'art, il n'est pas 5 possible d'intervenir de façon automatique sur les étapes de conversion. En effet, on constate que les solutions technologiques disponibles implémentent un procédé rigide, lequel interdit toute forme d'automatisation et donc de conformation des modèles 3D. Afin d'intervenir sur le modèle 3D converti pour le conformer, il est nécessaire de procéder à une réécriture du code 3D. Cette possibilité technologique n'est pas disponible dans les logiciels de 10 référence comme Unreal Engine, Unity3D ou 3DVia. En outre, la réécriture automatisée du code 3D, qui s'appréhende de la façon la plus pertinente dans un mode orienté-projet, nécessite à la fois des compétences expertes en imagerie et l'accès à des fonctions 3D bas-niveau. Cette approche « par projet » justifie la mise en place d'un binding, qui réalise la jonction entre l'accessibilité d'un langage haut-niveau tel qu'utilisé par les experts métiers en interface humain-machine et imagerie 3D d'un part et les fonctionnalités bas-niveau d'une bibliothèque graphique 3D d'autre part. En l'état de l'art, SWIG est un programme permettant de générer de tels "bindings". Il est open-source, libre d'accès et permet de relier des programmes écrits en C/C++ à une variété de langages de programmation de « haut niveau ». Parmi les langages cibles, on trouve des langages de script courants tels que Javascript, Perl, PHP, Python, Tcl et Ruby. SWIG souffre d'une dette technique trop importante et d'un traitement inégal des langages cibles supportés. Ainsi, il est fréquent qu'une fonctionnalité désirable ne soit supportée que dans quelques langages cibles et parfois dans aucun, ce qui constitue un handicap important pour l'intégration de scripts experts dans un processus de conformation de modèles 3D automatisé. Le document US5083262A décrit un procédé de liaison de langage (« langage binding ») destiné à des fonctions graphiques, avec pour objectif de permettre à un programme d'application d'être utilisé dans différents environnements de traitement. Par ailleurs, le document US20110047217A1 décrit un procédé de gestion des données 3D collaboratif agissant par centralisation des données 3D via une base de données, et garantissant l'intégrité des données dans un contexte de modifications temps-réel et d'accès concurrents. Ce procédé, toutefois, ne propose pas de solution spécifique pour la conformation de modèles 3D dans un contexte industriel où le niveau d'attente est de plus en plus élevé face à des cycles de développements de plus en plus courts. Un autre aspect de la conformation 3D peut trouver une solution dans l'utilisation de normes 3D existantes. Ainsi, la norme de format 3D développée par un conglomérat industriel sous le nom de - 3 - COLLADA offre une grande souplesse d'utilisation mais ne propose pas de solution au problème de performance posé par le XM L (cf. Références Bibliographique n°14 - www.ibm.com/developerworks). L'établissement d'une liaison spécifique à un langage entre des programmes d'application graphique de haut niveau écrits dans un langage de programmation spécifique permet de transporter 5 un programme d'application graphique entre et utilisé dans différents systèmes de traitement graphique. Un seul programme d'application graphique portable peut être utilisé avec n'importe lequel des processeurs graphiques avec lesquels une liaison de langage d'application a été établie pour produire des graphiques sur un périphérique de sortie. Le document CN1018140244 divulgue un outil de conception d'une interface 3D 10 multiplateforme, principalement utilisé pour développer des interfaces interactives homme-machine 3D grand écran. L'outil comprend un noyau système capable d'invoquer des fonctions systémiques de manière multi-plateformes, dans lequel le noyau prend en charge les fonctions principales d'une plate-forme grand public actuelle et peut effectuer une auto-vérification pour trouver la différence entre les fonctions système de différents systèmes d'exploitation. 15 La combinaison de l'héritage technologique de SWIG et de son support fragmenté des fonctionnalités du C++ fait qu'il est extrêmement compliqué et coûteux d'assurer son évolution et sa maintenance. Les alternatives logicielles, peu nombreuses, à SWIG ne s'intéressent en général qu'à un seul langage cible tout en étant beaucoup plus limitées que ce dernier en termes de fonctionnalités C++ supportées. 20 De plus, avec l'arrivée du nouveau standard C++ (C++11), les nouvelles constructions du langage sont peu ou pas supportées et de nombreuses configurations d'utilisation des nouvelles fonctionnalités C++ ne sont pas correctement supportées par SWIG. Par ailleurs, un inconvénient des procédés de traitement de modèles 3D pour des applications embarquables selon l'état de l'art est qu'ils sont généralement dépendants de plateformes logicielles 25 opérant en mode collaboratif ou ouvert, ce qui ne permet pas d'assurer une stricte confidentialité des données de conception des modèles 3D mis en oeuvre et peut constituer un handicap pour certains marchés, notamment dans le domaine des équipements de défense et de sécurité. Ainsi, pour atteindre l'objectif attendu d'embarquer des modèles 3D en affichant un niveau de qualité visuelle répondant aux exigences du PBR ("Rendu Physique Réaliste"), se pose le problème de 30 l'interprétation des descriptions de matériaux issus des outils CAD (pour « Computer Aided Design »). En effet, si des propositions de norme de description des matériaux physiques ont bien été réalisées, il n'existe pas de spécifications communes aux matériaux exportés depuis la majorité des logiciels de CAD faisant référence dans l'industrie. Dans l'état de l'art, cette nécessité n'a pas de réponse technique. Dans bon nombre de centres de conception et de développement d'interfaces humain-machine, 35 on réécrit le code d'un modèle 3D généré par un outil CAD pour pouvoir l'embarquer sur une plateforme mobile. L'utilisation d'un format spécifique hérité de l'environnement de la CAD pour le stockage de données 3D adaptées aux contraintes de l'embarqué pose le problème de la versatilité et de la souplesse pour faire face aux contraintes d'un environnement embarqué. Par ailleurs, le stockage de métadonnées spécifiques à la 3D temps-réel au sein de modèle CAD 5 (dont le format est propriétaire) pour obtenir le résultat attendu dans l'affichage d'interfaces humain- machine a été abordé dans l'industrie de l'image de synthèse conduisant à une impasse technique récurrente. L'utilisation d'un tel format, optimisé et parfaitement adapté aux contraintes de l'embarqué, conduit généralement à la perte des métadonnées qui sont pourtant l'enjeu même des projets au sein desquels elles interviennent. 10 Ainsi, les contraintes s'appliquant au modèle de stockage sont doubles : niveau d'attente des filières industrielles dans la qualité visuelle des interfaces humain-machine, contraintes de bande passante des GPU et plateformes matérielles et performance de la 3D « temps-réel » embarquée. Par ailleurs, un verrou technologique majeur à lever est celui de la difficulté d'établir des règles de traduction et d'encodage qui soient suffisamment ouvertes et flexibles pour être adaptées à une 15 diversité existante dans les codes pouvant être acceptés sur les systèmes embarqués des équipements mobiles, tout en étant suffisamment précises et stables pour garantir une haute qualité de rendu après transformation de modèle. Un objectif principal de la présente invention est de proposer une conformation automatisée d'un modèle 3D qui doit permettre d'exploiter directement les conceptions I.H.M. réalisées par des 20 designers spécialisés, pour les rendre automatiquement prêtes à être embarquées dans un équipement mobile après chaque modification sans requérir d'intervention humaine. Cette conformation doit pouvoir atteindre des performances en termes d'efficacité, de fiabilité et d'ergonomie largement supérieures à celles observées avec les procédés existants. Un autre but de l'invention est de proposer un procédé nouveau d'affichage de modèle 3D qui 25 procure un rendu physique réaliste et qui soit stable et performant. Résumé de l'invention Cet objectif est atteint avec un procédé pour transformer un modèle tridimensionnel (3D) issu 30 d'un outil de conception assisté par ordinateur (CAD) en un modèle 3D embarquable dans une interface humain-machine d'un équipement mobile, comprenant les étapes de : - recevoir un modèle 3D réalisé à partir de l'outil CAD, - convertir le modèle 3D reçu et en extraire ses caractéristiques, - conformer le modèle 3D converti en appliquant des règles définies dans un script expert, -5- - sauvegarder le modèle 3D ainsi conformé de façon à le rendre embarquable dans un équipement mobile. L'étape de conversion peut avantageusement comprendre: - une traduction du modèle 3D, 5 - un appel d'un jeu de fonctions correspondant à des transformations à apporter sur des modèles 3D envoyés par l'équipement mobile. Le procédé de transformation selon l'invention peut en outre comprendre une modification de la topologie et/ou de la densité et/ou de l'orientation d'un modèle 3D en transformation, et une intervention sur des matériaux de façon à les redéfinir et/ou de leur assigner des algorithmes de 10 traitement de la lumière et des matières. Le procédé de transformation selon l'invention peut en outre comprendre, au moment du stockage du modèle 3D, un choix d'un format le plus adapté à l'équipement mobile. L'étape de conversion peut avantageusement comprendre es étapes de : - décoder le modèle 3D reçu et en extraire des caractéristiques du modèle 3D, 15 - traduire le modèle ainsi décodé, en appliquant des règles de traduction, - encoder le modèle 3D ainsi traduit, en appliquant des règles d'encodage, de façon à générer un modèle 3D prêt à être embarqué dans un équipement mobile, dans lequel les caractéristiques extraites lors de ladite étape de décodage du modèle 3D sont analysées par un interpréteur appliquant sur ledit modèle 3D respectivement lesdites règles de traduction lors de 20 ladite étape de traduction et lesdites règles d'encodage lors de ladite étape d'encodage. Les règles de traduction et les règles d'encodage ont par exemple été préalablement conçues dans un mode orienté-projet à partir d'informations spécifiques sur l'équipement mobile destiné à recevoir le modèle 3D. L'interpréteur peut fonctionner sensiblement en parallèle des étapes de décodage, de 25 traduction et d'encodage. Dans une forme particulière de mise en oeuvre du procédé de transformation selon l'invention, celui-ci est en outre adapté pour transformer un modèle numérique d'un matériau initialement mis en oeuvre dans un outil CAD en un modèle numérique dudit matériau qui adapté pour être mis en oeuvre dans une interface humain-machine d'un équipement mobile. 30 La transformation du modèle numérique du matériau peut comprendre une étape d'assignation audit modèle numérique d'un ou plusieurs algorithmes de traitement de la lumière et/ou de matières. La transformation du modèle numérique du matériau peut aussi comprendre une étape de conversion de flux d'images de façon à rendre lesdites images compatibles et optimisées pour l'équipement mobile. - 6 - Suivant un autre aspect de l'invention, il est proposé un module informatique implémentant le procédé de transformation selon l'invention, comprenant : - un module pour décoder un modèle tridimensionnel (3D) initialement réalisé à partir d'un outil de conception assistées par ordinateur (CAD) et extraire des caractéristiques inhérentes audit modèle 3D, 5 - un module pour traduire ledit modèle 3D ainsi décodé en appliquant des règles de traduction, - un module pour encoder le modèle 3D ainsi traduit, en appliquant des règles d'encodage, de façon à générer un modèle 3D prêt à être embarqué dans un équipement mobile, - un module interpréteur prévu pour analyser les caractéristiques extraites par ledit module décodeur, et pour appliquer sur ledit modèle 3D respectivement lesdites règles de traduction et lesdites règles 10 d'encodage lors de ladite étape d'encodage. Ce module informatique peut en outre être configuré pour transformer un modèle numérique d'un matériau initialement mis en oeuvre dans un outil CAD en un modèle numérique dudit matériau qui adapté pour être mis en oeuvre dans une interface humain-machine d'un équipement mobile. Suivant encore un autre aspect de l'invention, il est proposé une application du procédé de 15 transformation selon l'invention à la réalisation d'interfaces humain-machine pour des équipements de mobilité, notamment des véhicules terrestres, aériens ou maritimes Selon un mode particulier d'implémentation du procédé de transformation selon l'invention, en cas de modification des propriétés du modèle 3D source, on repart de la première étape, en particulier dans le traitement des matériaux et textures. 20 Il devient possible d'automatiser la phase de conformation nécessaire après chaque conversion depuis un logiciel de CAD. Cette automatisation se traduit (i) par un gain de productivité qui a un impact direct sur les cycles de développement et sur le « time to market » (pour «temps de mise sur le marché ») des projets d'interface humain-machine, et (ii) l'assurance d'éviter les erreurs de manipulation humaine, pour une augmentation significative de la qualité des données produites. 25 Ainsi, le procédé de transformation selon l'invention met en oeuvre un procédé de conformation automatisée à l'aide d'un script expert de modèles 3D après conversion depuis un outil CAD en vue de les rendre embarquables dans l'interface humain-machine d'un équipement mobile. L'un des principaux avantages de la solution a été de permettre aux équipes de développement de se détacher du problème de conformation manuelle lors des étapes d'intégration et de mise à jour des 30 contenus 3D issus des équipes de production graphique. Avec le procédé selon l'invention, il devient possible d'augmenter la qualité du rendu proposé tout en réduisant significativement le temps de mise en oeuvre et en assurant un niveau de performances élevé par rapport aux solutions disponibles sur le marché. 35 - 7 - Description détaillée de l'invention D'autres avantages et particularités de l'invention apparaîtront à la lecture de la description détaillée de mises en oeuvre et de modes de réalisation nullement limitatifs, et des dessins annexés suivants : 5 - la figure 1 illustre le procédé de conversion avec une conformation automatisée à l'aide de scripts experts ; - la figure 2 est un schéma fonctionnel du procédé de conversion, augmenté d'étapes de conformation automatisées ; et - la figure 3 est un schéma synoptique illustrant les interactions entre différents modules d'un système 10 mettant en oeuvre le procédé selon l'invention. Définitions On entend par Bibliothèque est une bibliothèque d'affichage et de manipulation de modèles 3D. On entend par Convertisseur un logiciel qui permet de convertir les modèles 3D issus de logiciels de CAD 15 (« Computer Aided Design ») en modèles 3D temps-réel exploitables par la Bibliothèque. On entend par Outil de développement 3D un environnement de développement 3D visuel destiné à des utilisateurs finaux, designers et non-développeurs basé sur la Bibliothèque. Il permet d'agencer et programmer des modèles 3D en vue de la production d'interfaces humain-machine. On entend par Générateur de binding, un logiciel et procédé de réalisation d'interface de liaisons 20 logicielles (binding). Le Générateur de binding permet de relier une Bibliothèque C++ à un langage haut- niveau. On entend par Finaliseur un module logiciel intervenant en aval du procédé de conversion, qui est chargée d'interroger les scripts de conformation. 25 Exemple de réalisation Ces modes de réalisation étant nullement limitatifs, on pourra notamment considérer des variantes de l'invention ne comprenant qu'une sélection de caractéristiques décrites ou illustrées par la suite isolées des autres caractéristiques décrites ou illustrées (même si cette sélection est isolée au sein d'une phase comprenant ces autres caractéristiques), si cette sélection de caractéristiques est suffisante pour conférer un avantage technique ou pour différencier l'invention par rapport à l'état de la technique antérieure. Cette sélection comprend au moins une caractéristique de préférence fonctionnelle sans détails structurels, et/ou avec seulement une partie des détails structurels si cette partie uniquement est suffisante pour conférer un avantage technique ou à différencier l'invention par rapport à l'état de la technique antérieure. - 8 - On va maintenant décrire, en référence aux figures précitées, un mode particulier de réalisation et de mise en oeuvre du procédé de transformation selon l'invention. Dans cet exemple de réalisation, le procédé de transformation selon l'invention est réalisé sous la forme d'un module informatique outil de développement 3D (désigné en figure 1 sous le terme de ASSEMBLE) et qui inclut un module 5 Finaliseur désigné en figure 1 sous le terme de module Finaliseur. L'outil de développement 3D (ASSEMBLE) inclut, outre le sous-module Finaliseur, un module de décodage de modèle 3D, un module de traduction de modèle 3D et un module d'encodage de modèle 3D. Ces trois modules respectivement de décodage, de traduction et d'encodage sont reliés séquentiellement. 10 Le module de décodage reçoit en entrée un modèle 3D réalisé initialement à partir d'un outil CAD et délivre en sortie au modèle de traduction un modèle 3D décodé et à l'interpréteur des caractéristiques spécifiques du modèle 3D. Le module de traduction délivre au module d'encodage une traduction du modèle 3D selon les règles de traduction opérées par l'interpréteur tandis que le module d'encodage délivre un modèle 3D prêt pour être embarqué après encodage selon les règles d'encodage 15 opérées par l'interpréteur. Le module Finaliseur inclut un interpréteur qui reçoit en entrée des règles de conversion centrées-projet préalablement établies par un ou plusieurs experts et des données caractéristiques issues du module de décodage. L'interpréteur est aussi relié fonctionnellement respectivement aux modules de traduction et d'encodage. 20 On va maintenant décrire, toujours en référence à la figure 1, un exemple de déroulement du procédé de transformation selon l'invention : (1) Un modèle 3D issu d'un outil CAD est envoyé au module l'un outil de développement 3D, (2) Des règles de traduction du modèle 3D conformes aux spécifications techniques d'un équipement embarquée ont été préalablement écrites sous forme de langage interprété par un 25 spécialiste en 3D temps réel, (3) Le module décodeur de modèle 3D informe l'interpréteur des caractéristiques du modèles 3D CAD (forme, couleur, matières, nomenclature...), (4) L'interpréteur analyse le modèle 3D pendant son décodage (3), (5) Le modèle 3D décodé est ensuite traduit selon les règles de traduction, 30 (5a) L'interpréteur applique des opérations spécifiques, selon les règles de traduction, sur les données du modèle 3D pendant la traduction, (6) Le modèle 3D est ensuite encodé (6a) L'interpréteur applique des conversions de format spécifiques, selon les règles d'encodage, du modèle 3D pendant l'encodage - 9 - (7) Le module l'un outil de développement 3D produit un modèle 3D conforme aux spécifications techniques de l'équipement embarqué et aux attentes de design et d'esthétique spécifiques au projet. En référence à la figure 2, le script de conformation est libre d'intervenir à chaque étape du 5 processus de conversion afin d'effectuer des ajustements, des plus fins aux plus généraux. Le procédé de conversion selon comprend une succession d'étapes : - La traduction d'un modèle 3D par le CONVERTISSEUR invoque le Finaliseur automatiquement. C'est le démarrage du procédé. Par un système de rappels (ou caf/bocks), l'interpréteur, qui fonctionne en parallèle de la conversion, appelle un jeu de fonctions préalablement 10 implémentées par un expert ou un homme de l'art, projet par projet, qui détaillent les transformations à apporter pour que les modèles 3D envoyés par l'équipement embarqué soient conformes aux attendus des designers. - Si le Finaliseur a reçu comme instruction d'intervenir sur la transformation du modèle 3D, il a la possibilité de modifier sa topologie, sa densité, son orientation, etc. Toutes ces 15 transformations doivent avoir pour but principal de rendre le modèle 3D compatible et optimisé pour l'équipement embarqué. - Si le Finaliseur a reçu comme instruction d'intervenir sur la transformation des matériaux, il a la possibilité de les redéfinir entièrement, de les factoriser, de leur assigner des algorithmes de traitement de la lumière et des matières (ou shaders), de convertir les flux d'images avec pour 20 but de rendre les données compatibles et optimisées pour l'équipement embarqué. - Au moment du stockage du modèle 3D, le Finaliseur peut choisir le format le plus adapté à l'équipement embarqué (binaire, XML, Json, etc...). Le Finaliseur est appelé autant de fois qu'un modèle 3D ou des matériaux sont traités par le Convertisseur. 25 Un module expérimental a été réalisé sur la base de modèles 3D complexes répondant aux critères visuels du rendu physiquement réaliste avec comme objectifs, d'une part l'affichage dans un contexte embarqué et d'autre part des contraintes de performances élevées. Ces modèles 3D ont été sélectionnés avec une densité d'information variable. Par modèles 3D complexes, on entend une représentation graphique 3D réaliste, reconnaissable 30 tant par un expert que par un non-expert. La base de données de modèles 3D, fournie par l'université de Stanford, propose de mettre à disposition différents modèles 3D constitués de polygones (ou triangles). Ce module expérimental a aussi été configuré pour assurer la transformation d'un modèle numérique d'un matériau initialement mis en oeuvre dans un outil CAD. A l'issue de cette étape de - 10 - transformation, le modèle numérique produit automatiquement est adapté et donc conforme aux contraintes d'une interface humain-machine d'un équipement mobile. Ce modèle CAD 3D doit répondre aux critères suivants : - référence visuelle commune permettant à un expert autant qu'un non expert de juger du 5 niveau de réalisme atteint. - densité de maillage variable afin de s'adapter aux différentes capacités des plateformes matérielles ciblées par l'expérimentation. - format FBX. L'objectif visé est de produire un visuel 3D temps-réel interactif en multiple points de vue, 10 simulant les contraintes compatibles avec les futures interfaces humain machine : display (« visualisation ») holographique - écran stéréoscopique ou multi-view - réalité virtuelle Le résultat à atteindre étant la portabilité et la mobilité, plusieurs plateformes matérielles ont 15 été choisies pour leurs spécifications qualifiées par le secteur industriel. Le tableau de résultats ci-dessous est construit à partir des hypothèses de travail suivantes: - Le « Polygon budget » (pour « budget Polygone ») détaille la densité d'informations, qui est variable afin de s'adapter aux capacités de bande passante de la plateforme matérielle ciblée. 20 - La « shading complexity » (pour « complexité d'ombrage ») représente une mesure quantifiable de complexité de traitement des algorithmes de rendu de la lumière (shader), adapté à la plateforme matérielle. On sait en effet que la notion de mobilité des plateformes embarquées est liée au nombre d'unités de traitement et à la capacité de traitement des algorithmes de rendu de la lumière. 25 - La notion de « Multiple rendering » (pour « rendu multiple ») présente le degré d'effort demandé à la plateforme matérielle dans le traitement des modèles 3D afin d'en obtenir des représentations projetées sous des angles de vues différentes et complémentaires. - Le « GPU type » indique le type d'architecture matérielle qui exécute le module d'expérimentation. Plusieurs architectures ont été sélectionnées, toutes répondant aux 30 contraintes et spécifications industrielles embarquées. Une plateforme de référence a également été ajoutée au module d'expérimentation. - La « plateform » (pour « plateforme ») fait référence au système d'exploitation ciblé, afin de valider les résultats en répondant à la contrainte énoncée de portabilité. Le résultat du module d'expérimentation est détaillé dans la dernière ligne du tableau ci-dessous, par la valeur de « display rate » (pour « taux de visualisation ») qui détermine, à partir du seuil de 30Hz, la qualité perceptible de l'interface humain-machine. Les objectifs de performance sont atteints, en termes de qualité visuelle (30Hz voire 60Hz dans 5 la majorité des cas de figure), de portabilité (compatibilité Unix/Windows à partir des mêmes données en entrée) et de mobilité (sur les plateformes Tegra et Mali). Polygon 10.000 triangles 10.000 triangles 100.000 triangles 1.000.000 triangles budget Shading 150 GLSL lines 150 GLSL linos 250 GLSL linos 380 GLSL linos complexity* Multiple 8 distincts 8 distincts viewpoints 16 distincts viewpoints 64 distincts viewpoints rendering viewpoints GPU Type Nvidia Tegra K1 Mali T880 Nvidia Tegra X1 Nvidia GTX 1070 Platform 4rm32 Linux Arm64 Linux Arm64 Linux Inte164 Windows Display rate 30Hz 60Hz 60Hz 120Hz *Average number of unes of GLSL code executed per fragment/per light (pour « Nombre moyens de lignes de code GLSL exécutées par fragment/par lumière ») 10 Le résultat de l'expérimentation de validation permet de montrer que la conformation modèle 3D issu de CAD peut être automatisée pour être ensuite traitée par une plateforme embarquée dans des conditions satisfaisantes, voire optimales. Ainsi, le prototype d'expérimentation fonctionne à une fréquence de traitement de 30Hz sur la plateforme Nvidia Tegra K1 embarquée, considérée comme le scénario du cas le pire. En regard, le 15 même prototype affiche une fréquence de 60hz sur la plateforme Mali qualifiée pour l'industrie automobile, soit les conditions idéales d'ergonomie et de performance. La variété des plateformes démontre en outre que les objectifs de portabilité sont atteints. Il est à noter que l'étape de conformation automatisée a les caractéristiques d'un script. Afin de fournir au script les moyens de conformer les modèles 3D après conversion, il est nécessaire de donner 20 accès aux fonctionnalités d'une Bibliothèque C++ depuis le langage de script sélectionné, en l'occurrence le langage bien connu Lua. Le procédé consistant à interfacer un langage de programmation avec un autre est désigné sous le terme de "Binding". Ce procédé peut être réalisé manuellement et représente un investissement de temps conséquent où chaque fonctionnalité du langage source doit être manuellement interfacée avec - 12 - le langage cible. Compte tenu de l'importance de la tâche et de la complexité de la bibliothèque C++, l'étape de création du "Binding" a été automatisée. Le Générateur de binding est capable de lier automatiquement l'intégralité de la Bibliothèque vers les langages de script Luc' et Python. On dispose d'un langage de script à part entière pour l'écriture des scripts expert de 5 conformation afin de concevoir des règles suffisamment souples pour supporter d'importants changements de topologie ou de nomenclature sur le modèle CAD source. De plus, avoir accès à la totalité des fonctionnalités de la Bibliothèque pour intervenir sur le modèle après conversion offre une liberté totale quant aux modifications apportées. Des modifications en masse sont ainsi très simplement accomplies alors qu'elles représentaient une tâche considérable lorsqu'elles étaient effectuées 10 manuellement. En combinant l'expressivité d'un langage de script de haut niveau et la possibilité d'accéder à l'ensemble des fonctionnalités de bas niveau de la Bibliothèque, on supprime toute intervention manuelle des étapes de conversion d'un modèle 3D depuis un logiciel de CAD vers un format exploitable sur équipement mobile embarqué. Le résultat de cette conversion est directement exploitable par une 15 équipe de développement tout en respectant la vision graphique et fonctionnelle des designers dans le cadre, entre autres, d'un projet de conception d'une IH M. Dans les secteurs où les contraintes économiques constituent un enjeu stratégique (comme dans l'industrie du jeu vidéo), on constate pourtant, à ce jour, que la question de la conformation automatique des modèles 3D n'est ni adressée, ni résolue. Paradoxalement, cette automatisation est 20 au mieux contournée, le plus souvent remplacée par une intervention manuelle in fine coûteuse et présentant des risques d'erreurs de manipulation générateurs de nuisances sur les standards qualité. Des bibliothèques de règles spécifiques aux différents types de matériels embarqués supportés ont ainsi pu être établies, accélérant encore davantage le processus de conversion/conformation de modèles 3D vers la Bibliothèque. 25 Avec le procédé de conversion selon l'invention, il est désormais possible de séparer la conversion de modèles 3D issus d'outils CAD de leur conformation en vue de les rendre embarquables dans des conditions réalistes de capacité de traitement et de temps réel. En opérant l'étape de conformation de manière automatisée à l'aide d'un script expert, il est maintenant possible de répéter l'étape de conversion sans requérir d'intervention humaine dont il est avéré qu'elle constitue un 30 obstacle aux objectifs de maîtrise des coûts de développement d'un projet industriel et génératrice d'un risque d'erreur. Bibliothèque logicielle Le module Générateur de binding/Finaliseur est intégré dans une Bibliothèque logicielle - dénommée ici la Bibliothèque -, conçue et développée en C++, qui offre un ensemble de fonctionnalités - 13 - pour l'affichage de données 3D de tout type, jusqu'à pouvoir être intégrée dans des équipements embarqués. Cette Bibliothèque se compose d'un ensemble de sous-systèmes qui adressent les besoins spécifiques à la réalisation d'interface humain-machine sur écran, dont l'affichage de modèles 3D, la 5 gestion du rendu réaliste, de la lumière, des interactions physiques... La Bibliothèque permet de réécrire un code 3D depuis un script expert. Cette jonction est rendue possible par le "binding" (en français, liaison) de la libraire BIBLIOTHÈQUE avec le langage du script expert. 10 Bien sûr, l'invention n'est pas limitée aux exemples qui viennent d'être décrits et de nombreux aménagements peuvent être apportés à ces exemples sans sortir du cadre de l'invention. Bien entendu, les différentes caractéristiques, formes, variantes et modes de réalisation de l'invention peuvent être associées les unes avec les autres selon diverses combinaisons dans la mesure où elles ne sont pas incompatibles ou exclusives les unes des autres. En particulier toutes les variantes et modes de 15 réalisation décrits précédemment sont combinables entre eux. Références bibliographiques Kochhar, K., Hall, J. (1996)A Umlied, Object-Oriented Graphics System and Software Architecture for Visualising CAD/CAM Presentations. Computer Graphics Forum, 15, pp.229-248. 20 Li, Y., Hedlind, M., T Kjellberg, T. and Sivard, G. (2014). System integration for kinematic data exchange. International Journal of Computer Integrated Manufacturing, 28(1), pp. 87-97. Arnaud, R. and Mammou, K. (2009). Real Time Collaborative Three Dimension o! Asset Management System. U.S Patent 20110047217A1. VVEB3D CONSORTIUM (2008). X3D specification. httnylwww.web3olorestandreds/current 25 Bornes, M. and Levy Finch, E. (2008). COLLADA - Digital Asset Schema Release 1.5.0. kt orefileilcollada sper Smigel, B., and Meiding, D. (2002) Best Practices in CAD Conversion. Solid Solution. Bouville Berthelot, R., Royan, J., Duval, T. and Arnaldi, B. (2012) 3DFC: a new container for 3D file formats compositing. Web3D'12 Proceedings of the 17th International Conference on 3D VVeb 30 technology, pp.27-36. Bouville Berthelot, R., Royan, J., Duval, T. and Arnaldi, B. (2011) Scene Graph Adapter: An efficient Architecture to Improve Interoperability between 3D Formats and 3D Applications Engines. Web3D'11 Proceedings of the 16th International Conference on 3D Web Technology, pp.21-29. - 14 - Dobcg,J. and Steed, A. (2012) 3D Diff an interactive approach to mesh differencing and conflict resolution. SIGGRAPH Asia 2012 Technical Briefs, p.20. Remi S. Arnaud, Khaled Mammou (2009 Real Time Collaboratiye Three Dimensional Asset Management System) US20110047217A1 The Standford 3D Scanning Repository, htt. rashksstanfordedu'dataDscanrep/ Peter Seebach, IBM (2006) The lnterchange File Format(IFF) - Simple, portable, REVENDICATIONS1. Procédé pour transformer un modèle tridimensionnel (3D) issu d'un outil de conception assisté par ordinateur (CAD) en un modèle 3D embarquable dans une interface humain-machine d'un équipement mobile, comprenant les étapes de : - recevoir un modèle 3D réalisé à partir dudit outil CAD, - convertir le modèle 3D reçu et en extraire des caractéristiques, dans lequel les caractéristiques extraites sont analysées par un interpréteur appliquant sur ledit modèle 3D des règles de traduction et des règles d'encodage, de façon à générer un modèle 3D prêt à être embarqué dans un équipement mobile. 2. Procédé de transformation selon la revendication 1, caractérisé en ce que l'étape de conversion comprend: - une traduction du modèle 3D, - un appel d'un jeu de fonctions correspondant à des transformations à apporter sur des modèles 3D envoyés par l'équipement mobile. 3. Procédé selon la revendication 2, caractérisé en ce qu'il comprend en outre une modification de la topologie et/ou de la densité et/ou de l'orientation d'un modèle 3D en transformation. 4. Procédé selon l'une des revendications 2 ou 3, caractérisé en ce qu'il comprend en outre une intervention sur des matériaux de façon à les redéfinir et/ou de leur assigner des algorithmes de traitement de la lumière et des matières. 5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend en outre une étape de stockage du modèle 3D prêt à être embarqué dans un équipement mobile, dans un format le plus adapté audit équipement mobile. 6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'étape de conversion comprendre les étapes de : - décoder ledit modèle 3D reçu et en extraire des caractéristiques dudit modèle 3D, - traduire ledit modèle ainsi décodé, en appliquant des règles de traduction, - encoder le modèle 3D ainsi traduit, en appliquant des règles d'encodage, de façon à générer un modèle 3D prêt à être embarqué dans un équipement mobile. 7. Procédé de transformation selon la revendication 6, caractérisé en ce que les règles de traduction et les règles d'encodage ont été préalablement conçues dans un mode orienté-projet à partir d'informations spécifiques sur l'équipement mobile destiné à recevoir le modèle 3D. 8. Procédé de transformation selon l'une quelconque des revendications 6 ou 7, caractérisé en ce que l'interpréteur fonctionne sensiblement en parallèle des étapes de décodage, de traduction et d'encodage. 9. Procédé de transformation selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il est en outre adapté pour transformer un modèle numérique d'un matériau initialement mis en oeuvre dans un outil CAD en un modèle numérique dudit matériau qui adapté pour être mis en oeuvre dans une interface humain-machine d'un équipement mobile. 10. Procédé de transformation selon la revendication 9, caractérisé en ce que la transformation du modèle numérique du matériau comprend une étape d'assignation audit modèle numérique d'un ou plusieurs algorithmes de traitement de la lumière et/ou de matières. 11. Procédé de transformation selon l'une des revendications 9 ou 10, caractérisé en ce que la transformation du modèle numérique du matériau comprend une étape de conversion de flux d'images de façon à rendre lesdites images compatibles et optimisées pour l'équipement mobile. 12. Module informatique implémentant le procédé de transformation selon l'une quelconque des revendications précédentes, comprenant : - un module pour décoder un modèle tridimensionnel (3D) initialement réalisé à partir d'un outil de conception assistées par ordinateur (CAD) et extraire des caractéristiques inhérentes audit modèle 3D, - un module pour traduire ledit modèle 3D ainsi décodé en appliquant des règles de traduction, - un module pour encoder le modèle 3D ainsi traduit, en appliquant des règles d'encodage, de façon à générer un modèle 3D prêt à être embarqué dans un équipement mobile, - un module interpréteur prévu pour analyser les caractéristiques extraites par ledit module décodeur, et pour appliquer sur ledit modèle 3D respectivement lesdites règles de traduction et lesdites règles d'encodage lors de ladite étape d'encodage. 13. Module informatique selon la revendication 12, caractérisé en ce qu'il est en outre configuré pour transformer un modèle numérique d'un matériau initialement mis en oeuvre dans un outil CAD en un modèle numérique dudit matériau qui adapté pour être mis en oeuvre dans une interface humain-machine d'un équipement mobile. 14. Application du procédé de transformation selon l'une quelconque des revendications 1 à 11 à la réalisation d'interfaces humain-machine pour des équipements de mobilité, notamment des véhicules terrestres, aériens ou maritimes