INPI-France/Brevets-Francais-2024-Chunked huggingface dataset:
La illustre, par deux vues A et B très schématiques, un exemple de mise en œuvre du filtre 102 des figures 1 et 2, avec un taux de suréchantillonnage OSR égal à 4.
La vue A (à gauche en ) montre l'évolution en fonction du temps d'un signal de donnée binaire DATA. Le signal DATA correspond donc à une succession de bits, l'état de chaque bit étant maintenu pendant une durée égale à 1/Fdata. Dit autrement, le signal DATA est un signal binaire à la fréquence Fdata.
Des points 300 (à gauche en ) représentent un exemple d'échantillonnage du signal DATA à une fréquence égale à Fdata.
Pour suréchantillonner le signal DATA à une fréquence Fs égale à OSR*Fdata, avec OSR égal à 4 dans cet exemple, une solution connue consiste à ajouter des échantillons 302 n'introduisant pas d'énergie dans le signal DATA et ne modifiant pas la répartition fréquentielle du signal DATA. Ces échantillons 302, qui sont représentés par des carrés en , ne correspondent pas à un échantillonnage de la valeur binaire réelle du signal DATA. Dit autrement, on rajoute des échantillons 302 correspondant à une tension nulle du signal DATA. Dans l'exemple de la où OSR est égal à 4, 3 échantillons 302 d'énergie nulle sont ajoutés après chaque échantillon 300, de sorte à obtenir des échantillons 300, 302 du signal DATA à une fréquence égale à OSR*Fdata, ou, dit autrement, un signal suréchantillonné DATA[n] à la fréquence Fdata*OSR.
La vue B (à droite en ) représente de manière schématique un exemple de mise en œuvre du filtre numérique 102 dans le cas où le filtre 102 reçoit le signal DATA[n], c'est à dire les échantillons 300, 302 du signal DATA, à la fréquence Fs=OSR*Fdata. Dans l'exemple de la , le filtre d'interpolation 102 comprend N coefficients Bi, avec i un indice entier allant de 0 à N-1.
Le filtre 102 comprend un registre à décalage 304 configuré pour recevoir les échantillons 300, 302 du signal DATA, c'est à dire pour recevoir le signal DATA[n], à la fréquence Fs.
Le registre à décalage 304 est synchronisé sur un signal d'horloge clk1 ayant une fréquence égale à la fréquence Fs.
Le registre à décalage 304 comprend des éléments à retard 306, par exemple N éléments 306, connectés en série. Dit autrement, chaque élément 306 a son entrée connectée à la sortie de l'élément 306 qui le précède et a sa sortie connectée à l'entrée de l'élément 306 qui le suit. Chaque élément à retard 306 est synchronisé sur le signal clk1. Chaque élément à retard 306 est configuré pour mettre à jour sa sortie à la fréquence Fs, par exemple à chaque front montant ou à chaque front descendant du signal clk1, puis pour maintenir constant le niveau de sa sortie jusqu'à la prochaine mise à jour de sa sortie. Ainsi, les échantillons DATA[n] se propagent dans le registre 304 à la fréquence Fs.
Le registre à décalage 304 comprend N sorties auxquelles sont appliqués N coefficients Bi respectifs, avec i entier allant de 0 à N-1. Les signaux obtenus par l'application des N coefficients Bi aux N sorties correspondantes du registre à décalage 304 sont ensuite sommés (blocs 307 en ) pour obtenir un signal OUT de sortie du filtre 102.
Un problème de la mise en œuvre décrite en relation avec la est que le signal DATA est un signal binaire ne prenant que deux niveaux ou états, à savoir une tension nulle et une tension positive, correspondants à deux valeurs binaires '1' et '0'. Ainsi, chaque échantillon 300, 302 correspond à un bit à '1' ou à '0'. Or, appliquer un coefficient Bi à un bit 300, 302 revient à fournir un signal A lorsque le bit 300, 302 est dans un premier état binaire, par exemple '1', et à fournir un signal complémentaire -A lorsque le bit 300, 302 est dans un deuxième état binaire, par exemple '0'. Pour ne pas introduire d'énergie dans le signal DATA à filtrer, c'est à dire pour ne pas créer une composante continue (DC) non nulle sur la sortie OUT du filtre 102, il faudrait que l'application d'un coefficient Bi à un bit 302 revienne à fournir un signal de valeur nulle, ce qui pose de nombreux problèmes. En effet, cela complexifie la mise en œuvre du filtre 102.
Par exemple, cela impose de prévoir des traitements différents entre un échantillon 300 et un échantillon 302, ce qui n'est pas souhaitable.
Par exemple, cela impose de déterminer pour chaque échantillon DATA[n] si l'échantillon correspond à un bit DATA à la valeur '1', à un bit DATA à la valeur '0' ou à un échantillon 302 correspondant à un zéro d'énergie du signal DATA. Il devient donc nécessaire de coder chaque échantillon DATA[n] par un signal numérique à au moins trois états. Par exemple, dans le cas où l'application des coefficients Bi aux échantillons DATA[n] conduit à l'obtention d'un signal OUT numérique sur plusieurs bits, cela rend complexe une étape ultérieure de conversion numérique-analogique du signal OUT. Par exemple, dans le cas où l'application des coefficients Bi aux échantillons DATA[n] se fait simultanément ou postérieurement à la conversion numérique-analogique, la conversion numérique-analogique n'est plus intrinsèquement linéaire contrairement au cas d'un convertisseur numérique analogique 1 bit.
Le système 101 de transfert sécurisé d’un fichier de production comporte également une chaîne de blocs 108 construite et agencée pour enregistrer la deuxième valeur de hachage déterminée. A cette fin, le serveur central 4 est construit et agencé pour transmettre la deuxième valeur de hachage déterminée à la chaîne de blocs 108.
En outre, le premier agent 106 est construit et agencé pour : Comparer la première valeur de hachage déterminée à la deuxième valeur de hachage déterminée ; et pour Déclencher une production, via le site de production 103 sélectionné, d’une pièce conforme au fichier de production sélectionné si les première et deuxième valeurs de hachage déterminées sont identiques.
Dans une mise en œuvre non limitative, lorsqu’une pièce conforme au fichier de production sélectionné est produite : Le premier agent 106 est construit et agencé pour déterminer une confirmation de production ; Le serveur central 104 est construit et agencé pour enregistrer ladite confirmation de production, ladite confirmation de production ayant été transmise du premier agent 106 au serveur central 104 ; et La chaîne de blocs 108 est construite et agencée pour enregistrer ladite confirmation de production, ladite confirmation de production ayant été transmise du serveur central 104 à la chaîne de blocs 108.
Dans une mise en œuvre non limitative : Le serveur central 104 est construit et agencé pour enregistrer la première valeur de hachage déterminée ; pour ce faire le serveur central 104 est construit et agencé pour communiquer avec le premier agent 106 ; La chaîne de blocs 108 est construite et agencée pour enregistrer ladite première valeur de hachage déterminée ; A cette fin, le serveur central 104 est construit et agencé pour transmettre la première valeur de hachage déterminée à la chaîne de blocs 108.
Dans une mise en œuvre non limitative, lorsqu’une pièce conforme au fichier de production sélectionné est produite : Le premier agent 106 est construit et agencé pour déterminer un rapport de conformité de la pièce produite ; Le serveur central 104 est construit et agencé pour enregistrer le rapport de conformité de la pièce produite, ledit rapport de conformité ayant été transmis du premier agent 106 au serveur central 104 ; et La chaîne de blocs 108 est construite et agencée pour enregistrer le rapport de conformité ; ledit rapport de conformité ayant été transmis du serveur central 104 à la chaîne de blocs 108.
De manière générale, il convient de noter que le système 101 héberge de manière distribuée une chaîne de blocs 108 associée à un protocole d'écriture/lecture et de validation cryptographique de transactions effectuées auprès du serveur central 104. Une telle chaîne de blocs 108 est plus connue sous sa dénomination anglaise de blockchain. Cette chaîne de blocs 108 forme ainsi un registre de transactions, répliqué sur une ou plusieurs machines reliées entre elles par un réseau pair à pair. Ces machines constituent des nœuds et la communication entre les nœuds est cryptée et garantit l'identité de l'expéditeur et du destinataire. Quand un nœud veut ajouter une nouvelle transaction au registre, un consensus est effectué pour déterminer où et quand cette transaction doit être inscrite dans le registre. Ce consensus constitue un bloc. En pratique, un bloc regroupe plusieurs transactions.
Selon l'invention, la chaîne de blocs 108 est utilisée pour répertorier toutes les transactions reçues par le serveur central 104, et notamment : La première valeur de hachage attribuée par le premier agent 106 à un fichier de production sélectionné via le serveur central 104 ; La deuxième valeur de hachage attribuée par le deuxième agent 107 au fichier de production sélectionné qui est hébergé dans le système 102 de partage de fichiers ; Le site de production 103 sélectionné pour produire la pièce ; Une production effective d’une pièce conforme au fichier de production sélectionné ; Un rapport de conformité de la pièce produite ; et Un nombre de pièces produites.
La chaîne de bloc 108 permet ainsi d'identifier et de tracer l'utilisation qui est faite du fichier de production sélectionné.
La illustre un procédé 200 de transfert sécurisé d’un fichier de production d’une pièce entre le système 102 de partage de fichiers hébergeant des fichiers d’une production d’une pièce et le site de production 103 distant du système 102 de partage de fichiers.
Les étapes du procédé 200 sont exécutées par un système 101 de transfert sécurisé d’un fichier de production conforme à celui précédemment décrit à l’appui de la .
Le procédé 200 comporte une étape de sélectionner 201, auprès du serveur central 104, un fichier de production d’une pièce. L’accès au serveur central 104 peut être réalisé au moyen du navigateur web 105.
Le procédé 200 comporte ensuite une étape de sélectionner 202, auprès du serveur central 104, un site de production 103 d’une pièce conforme au fichier de production sélectionné.
Ainsi, en se connectant à son navigateur web 5, un utilisateur peut sélectionner une pièce à fabriquer et sélectionner un site de production accessible à cet utilisateur et capable de produire la pièce.
Le procédé 200 comporte ensuite une étape de transmettre 203 une demande de production d’une pièce conforme au fichier de production sélectionné, la demande de production étant transmise du serveur central 104 au premier agent 106 construit et agencé pour communiquer avec le site de production 103 sélectionné.
Le procédé 200 comporte également une étape d’établir 204 une connexion sécurisée entre le premier agent 106 et le système 102 de partage de fichiers contenant le fichier de production sélectionné.
Cette connexion sécurisée peut être assurée par le fait de renseigner un identifiant formé, par exemple, par un nom d’utilisateur et un mot de passe.
Dans certains modes de réalisation, le système informatique de gestion de trajectoires 214 offre une variété de fonctionnalités qui est rendue possible par la capacité d’échanger des trajectoires relatives de l'applicateur entre les sujets. Par exemple, dans certains modes de réalisation, le système informatique de gestion de trajectoires 214 peut fournir une interface qui permet à un deuxième sujet 210 de rechercher des tutoriels d’applications de maquillage particulières (par exemple, un eyeliner œil de chat, des yeux charbonneux, etc.). Le système informatique de gestion de trajectoire 214 peut fournir une ou plusieurs trajectoires relatives de l'applicateur pertinentes au deuxième dispositif informatique d’instrumentation 204 pour créer l’aspect généré par, éventuellement, le premier sujet 208 utilisant le premier dispositif informatique d’instrumentation 202, et le deuxième dispositif informatique d’instrumentation 204 présente les trajectoires relatives de l'applicateur au deuxième sujet 210. Un tel mode de réalisation peut être utile aux influenceurs et à d’autres pour se développer un public et améliorer la capacité à guider les sujets à travers des tutoriels de maquillage.
À titre d’autre exemple, dans certains modes de réalisation, le système informatique de gestion de trajectoire 214 peut fournir une interface de connexion sociale qui permet aux sujets de se connecter entre eux pour fournir des informations de préférence relatives aux apparences, couleurs et/ou produits ; partager des trajectoires relatives de l'applicateur ; examiner les trajectoires relatives de l'applicateur publiés par d’autres et ainsi de suite. L’interface de connexion sociale peut ensuite utiliser un moteur de recommandation pour déterminer une ou plusieurs trajectoires relatives de l'applicateur recommandées qu’un sujet peut souhaiter en fonction de ses informations de préférence et des revues qui ont été publiées, et peut fournir pour présentation les trajectoires relatives de l'applicateur recommandées au dispositif informatique d’instrumentation associé au sujet.
La est une illustration représentant un exemple non limitatif de mode de réalisation d’une vidéo capturée d’un visage d’un sujet selon divers aspects de la présente divulgation. Dans certains modes de réalisation, la vidéo peut être présentée sur un affichage d’un dispositif informatique d’instrumentation (tel qu’un dispositif informatique mobile) pendant que la vidéo est capturée, bien que le dispositif informatique d’instrumentation lui-même ne soit pas illustré sur la (ou le reste des illustrations de la présente divulgation) dans un souci de clarté.
La illustre quelques exemples non limitatifs de repères faciaux qui peuvent être détectés par le moteur de détection faciale 112. Comme illustré, la vidéo comprend une aile 302, ou « aile » du nez ; une « narine » 304, un angle palpébral interne de l'œil 306 ; un angle palpébral externe de l'œil 308 ; un point nasal 310, une jonction médiane entre les yeux et sous les sourcils. Dans certains modes de réalisation, d’autres repères faciaux, y compris, entre autres, des caractéristiques des lèvres, des oreilles, de la structure osseuse et/ou d’autres repères faciaux, peuvent être détectés. Dans certains modes de réalisation, le contour de surface du visage peut lui-même être utilisé comme repère facial. En trouvant ces repères faciaux dans un modèle du visage dans la vidéo, il est possible de déterminer et d’enregistrer une trajectoire relative de l'applicateur (par rapport aux repères faciaux).
La Figure 4A - et la Figure 4B sont un organigramme qui illustre un exemple de mode de réalisation non limitatif d’un procédé d’instrumentation des applications de maquillage et de génération de présentations selon divers aspects de la présente divulgation. Dans la méthode 400, une trajectoire relative de l’applicateur est déterminée lors de l’enregistrement d’une application de maquillage. La trajectoire relative de l’applicateur peut ensuite être utilisée pour générer des présentations lors d’une deuxième application de maquillage afin d’améliorer la deuxième application de maquillage, comme décrit ci-dessus.
À partir d’un bloc de départ, la méthode 400 passe au bloc optionnel 402, où un premier capteur de mouvement est associé à un premier applicateur. Dans certains modes de réalisation, le premier capteur de mouvement comporte un accéléromètre à trois, six ou neuf axes qui génère des signaux représentant une orientation, une position et/ou un mouvement du capteur de mouvement (et, par association, de tout objet auquel le capteur de mouvement est attaché). Dans certains modes de réalisation, d’autres types de capteurs de mouvement, y compris, entre autres, un capteur photo, une caméra, un capteur magnétique, un capteur tomographique, un capteur à infrarouges, un capteur à ultrasons, un capteur de force, et/ou des combinaisons de ceux-ci.
Le capteur de mouvement peut être associé au premier applicateur de n’importe quelle manière appropriée. Par exemple, le capteur de mouvement peut être intégré dans un boîtier du premier applicateur ou relié de manière permanente au premier applicateur. Autre exemple : le capteur de mouvement peut être couplé de manière amovible au premier applicateur, par exemple à l’aide d’un clip, d’une sangle, d’un cliquet, d’une poche ou de tout autre moyen d’accouplement amovible. Autre exemple : le capteur de mouvement peut être fixé à un gant, une montre ou un autre dispositif portable porté par le sujet sur la main tenant le premier applicateur.
Au bloc optionnel 404, le premier capteur de mouvement est couplé à un premier dispositif informatique d’instrumentation 110. Dans certains modes de réalisation, le premier capteur de mouvement communique via Bluetooth, Wi-Fi ou une autre technologie de communication sans fil, et le couplage du premier capteur de mouvement avec le premier dispositif informatique d’instrumentation 110 entraîne la transmission d’informations par le premier capteur de mouvement au premier dispositif informatique d’instrumentation 110. Dans certains modes de réalisation, le couplage du premier capteur de mouvement avec le premier dispositif informatique d’instrumentation 110 peut inclure l’utilisation de la caméra 116 du premier dispositif informatique d’instrumentation 110 pour scanner un identifiant du premier capteur de mouvement. Les blocs 402 et 404 sont décrits comme étant facultatifs parce que, dans certains modes de réalisation, le procédé 400 peut fonctionner en utilisant les informations vidéo sans les informations du capteur de mouvement.
Au bloc 406, une caméra 116 associée au premier dispositif informatique d’instrumentation 110 capture une première vidéo d’un procédé d’application de maquillage, la première vidéo représentant au moins une partie d’un visage d’un premier sujet et au moins une partie du premier applicateur. Dans certains modes de réalisation, la première vidéo comprend une représentation bidimensionnelle d’une scène qui inclut la partie du visage du premier sujet et la partie du premier applicateur. Dans certains modes de réalisation, la première vidéo comprend une représentation tridimensionnelle de la scène. Dans certains modes de réalisation, la première vidéo inclut des informations de profondeur pour accompagner la représentation bidimensionnelle de la scène.
La illustre un exemple non limitatif de mode de réalisation d’une image d’une première vidéo d’un procédé d’application de maquillage selon divers aspects de la présente divulgation. L’image représentée sur la est un exemple non limitatif d’image d’une première vidéo capturée au bloc 406. Dans l’image, une partie du visage du premier sujet est visible et le premier sujet applique le maquillage à l’aide du premier applicateur 502. Dans le mode de réalisation illustré, le premier applicateur 502 est un crayon eye-liner, et le maquillage appliqué 504 est un eye-liner, mais ces exemples ne doivent pas être considérés comme limitatifs. Dans d’autres exemples, le premier applicateur 502 peut être un pinceau, une éponge, une pince, une houppette, une imprimante de maquillage ou tout autre type d’outil utilisable pour appliquer le maquillage. Dans d’autres exemples, le maquillage 504 appliqué peut être un rouge à lèvres, un blush, un mascara, un fond de teint, un correcteur ou tout autre type de maquillage.
Si nous revenons à la Figure 4A, le procédé 400 passe au bloc facultatif 408, où un moteur de détermination de trajectoire 114 du premier dispositif informatique d’instrumentation 110 reçoit des signaux du premier capteur de mouvement pendant la capture de la première vidéo. Les signaux indiquent l’orientation, la position et/ou le mouvement du premier capteur de mouvement, et donc du premier applicateur, pendant la vidéo. Dans certains modes de réalisation, le moteur de détermination de trajectoire 114 corrèle ces signaux avec la représentation du premier applicateur dans la première vidéo. Les actions du bloc 408 sont illustrées et décrites comme facultatives car, dans certains modes de réalisation, le procédé 400 peut fonctionner en utilisant les données vidéo sans les signaux du capteur de mouvement.
Au bloc 410, un moteur de détection faciale 112 du premier dispositif informatique d’instrumentation 110 construit un modèle du visage du premier sujet sur la base de la première vidéo. Dans certains modes de réalisation, le modèle du visage peut être un modèle bidimensionnel basé sur des informations bidimensionnelles présentes dans la première vidéo. Dans certains modes de réalisation, le modèle du visage peut être un modèle tridimensionnel construit à partir d’un nuage de points dérivé d’informations de profondeur ou d’autres informations tridimensionnelles dans la première vidéo. Dans certains modes de réalisation, le modèle du visage peut être un modèle tridimensionnel construit à partir d’informations bidimensionnelles présentes dans la première vidéo en utilisant, par exemple, des techniques de traitement d’image par apprentissage automatique (par exemple, LOLNeRF développé par Google, Inc.). Dans certains modes de réalisation, la construction du modèle peut inclure des parties prédictives du modèle qui sont obscurcies dans une ou plusieurs images de la première vidéo, telles que des parties du visage qui sont cachées par le premier applicateur ou par une main du sujet. Dans certains modes de réalisation, un modèle initial du visage peut être construit sur la base d’une partie de la première vidéo capturée avec une vue non obstruée du visage (par exemple, avant le début de l’application du maquillage).
Au bloc 412, le moteur de détection faciale 112 détecte un ou plusieurs repères faciaux dans le modèle du visage du premier sujet. Dans certains modes de réalisation, le ou les repères faciaux sont détectés sur le modèle lui-même. Dans certains modes de réalisation, le ou les repères faciaux sont détectés dans des images bidimensionnelles de la première vidéo, puis corrélés à des emplacements dans le modèle du visage. Toute technique appropriée pour détecter les repères faciaux peut être utilisée, y compris, entre autres, les routines de traitement d’image fournies par la bibliothèque dlib open source accessible au public.
Au bloc 414, un moteur de détermination de trajectoire 114 du premier dispositif informatique d’instrumentation 110 construit un modèle d’emplacements du premier applicateur basé sur la première vidéo et, en option, sur les signaux du capteur de mouvement. Dans certains modes de réalisation, le moteur de détermination de trajectoire 114 utilise des techniques similaires utilisées dans le bloc 410 pour construire le modèle du visage pour construire un modèle similaire du premier applicateur dans le même espace de coordonnées que le modèle du visage, et comme avec les techniques du bloc 410, peut générer un modèle bidimensionnel ou un modèle tridimensionnel.
L’utilisation du capteur de mouvement est facultative car, dans certains modes de réalisation, les informations de la première vidéo peuvent être adéquates pour construire le modèle des emplacements du premier applicateur. Dans d’autres modes de réalisation, les signaux du capteur de mouvement peuvent être utilisés pour améliorer le détail du modèle de localisation, y compris en fournissant des informations détaillées sur la rotation et l’attitude qui peuvent ne pas être facilement visibles dans la première vidéo. Les signaux du capteur de mouvement peuvent être particulièrement utiles si une grande partie du premier applicateur est masquée dans la première vidéo (par exemple, si le sujet saisit le premier applicateur à proximité d’un embout du premier applicateur, de sorte que la majeure partie du premier applicateur est masquée, etc.) ou si le premier applicateur est lisse, réfléchissant ou conçu de manière à ce que les caractéristiques détaillées du premier applicateur autres que la forme ne soient pas facilement détectables dans la première vidéo.