FR3121832A1 - MOTION SENSOR DATA ENCODING METHOD, RELATED DEVICE AND SYSTEM - Google Patents

MOTION SENSOR DATA ENCODING METHOD, RELATED DEVICE AND SYSTEM Download PDF

Info

Publication number
FR3121832A1
FR3121832A1 FR2103876A FR2103876A FR3121832A1 FR 3121832 A1 FR3121832 A1 FR 3121832A1 FR 2103876 A FR2103876 A FR 2103876A FR 2103876 A FR2103876 A FR 2103876A FR 3121832 A1 FR3121832 A1 FR 3121832A1
Authority
FR
France
Prior art keywords
data
movement
mobile entity
encoding
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR2103876A
Other languages
French (fr)
Inventor
Mathieu CHRETIEN
Brieuc BERRUET
Radouane Oudrhiri
Karim Oumnia
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BAL INC, US
Original Assignee
Zhor Tech SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhor Tech SAS filed Critical Zhor Tech SAS
Priority to FR2103876A priority Critical patent/FR3121832A1/en
Priority to PCT/FR2022/050712 priority patent/WO2022219289A1/en
Priority to EP22722318.7A priority patent/EP4304472A1/en
Publication of FR3121832A1 publication Critical patent/FR3121832A1/en
Pending legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1113Local tracking of patients, e.g. in a hospital or private home
    • A61B5/1114Tracking parts of the body
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1126Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/68Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient
    • A61B5/6801Arrangements of detecting, measuring or recording means, e.g. sensors, in relation to patient specially adapted to be attached to or worn on the body surface
    • A61B5/6802Sensor mounted on worn items
    • A61B5/681Wristwatch-type devices
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7253Details of waveform analysis characterised by using transforms
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7264Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems
    • A61B5/7267Classification of physiological signals or data, e.g. using neural networks, statistical classifiers, expert systems or fuzzy systems involving training the classification device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2560/00Constructional details of operational features of apparatus; Accessories for medical measuring apparatus
    • A61B2560/02Operational features
    • A61B2560/0204Operational features of power management
    • A61B2560/0209Operational features of power management adapted for power saving
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2560/00Constructional details of operational features of apparatus; Accessories for medical measuring apparatus
    • A61B2560/02Operational features
    • A61B2560/0223Operational features of calibration, e.g. protocols for calibrating sensors
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1121Determining geometric values, e.g. centre of rotation or angular range of movement
    • A61B5/1122Determining geometric values, e.g. centre of rotation or angular range of movement of movement trajectories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/08Feature extraction

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Animal Behavior & Ethology (AREA)
  • Surgery (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Artificial Intelligence (AREA)
  • Physiology (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Psychiatry (AREA)
  • Signal Processing (AREA)
  • Dentistry (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

L’invention porte sur un procédé (1) d’encodage de données générées par un ou plusieurs capteurs de mouvement (21) couplés à une entité mobile, comportant : Une étape d’acquisition (200) de données comportant des valeurs variables sous forme de séries temporelles ;Une étape de calcul (300) d’une pluralité de descripteurs sur une fenêtre temporelle (31), l’étape de calcul étant répétée pour plusieurs fenêtres temporelles consécutives ;Une étape de transformation (400) comportant un codage des descripteurs chacun sur au plus huit bits, lesdits bits associés à une fenêtre temporelle (31) étant représentatifs d’un phonème de mouvement de l’entité mobile  ;Une étape de génération (500) d’un tenseur de données comportant les bits obtenus pour chacune des fenêtres temporelles (31), de sorte que le tenseur de données comporte un encodage d’une combinaison de phonèmes de mouvement de l’entité mobile représentatifs d’un mouvement de l’entité mobile. Figure à publier avec l’abrégé : Figure 1.The invention relates to a method (1) for encoding data generated by one or more motion sensors (21) coupled to a mobile entity, comprising: A step of acquiring (200) data comprising variable values in the form of time series ;A step of calculating (300) a plurality of descriptors over a time window (31), the step of calculating being repeated for several consecutive time windows ;A step of transforming (400) comprising coding of the descriptors each on at most eight bits, said bits associated with a time window (31) being representative of a motion phoneme of the mobile entity  ;A generation step (500) of a data tensor comprising the bits obtained for each time windows (31), such that the data tensor includes an encoding of a combination of mobile entity motion phonemes representative of a movement of the mobile entity. Figure to be published with abstract: Figure 1.

Description

PROCÉDÉ D’ENCODAGE DE DONNÉES DE CAPTEUR DE MOUVEMENT, DISPOSITIF ET SYSTÈME ASSOCIÉSMOTION SENSOR DATA ENCODING METHOD, RELATED DEVICE AND SYSTEM

L’invention s’intéresse au domaine de l’étude du déplacement et plus particulièrement au traitement de données brutes provenant de capteurs de mouvement pour faciliter l’étude en temps réel des mouvements, de la position ou plus largement de l’activité d’une entité mobile. L’invention concerne un procédé d’encodage de données générées par un ou plusieurs capteurs de mouvement de préférence couplés à une entité mobile. L’invention concerne en outre un dispositif d’encodage et un système d’encodage de données générées par un ou plusieurs capteurs de mouvement pouvant mettre en œuvre un tel procédé.The invention relates to the field of the study of movement and more particularly to the processing of raw data from movement sensors to facilitate the real-time study of movements, position or more broadly the activity of a mobile entity. The invention relates to a method for encoding data generated by one or more motion sensors preferably coupled to a mobile entity. The invention further relates to an encoding device and a system for encoding data generated by one or more motion sensors that can implement such a method.

L’étude du déplacement trouve des applications dans un grand nombre de domaines différents. En particulier, l’étude du déplacement peut viser à comprendre comment se décomposent les mouvements effectués par une entité lorsqu’elle se déplace. Elle trouve par exemple une application dans le cadre de l’analyse de la démarche humaine, processus complexe et cyclique visant principalement à soutenir la position verticale et à maintenir l’équilibre dans des conditions statiques ou dynamiques. Un tel processus nécessite la synergie des muscles, des os et du système nerveux. En outre, l’étude du mouvement ou du déplacement trouve d’autres applications, par exemple en robotique, afin de permettre la coordination des membres d’un robot, ou bien de manière plus générale pour permettre l’analyse et la représentation des déplacements d’une entité (e.g. objet, individu) au cours du temps.The study of displacement finds applications in a large number of different fields. In particular, the study of displacement can aim to understand how the movements made by an entity are broken down when it moves. It finds, for example, an application in the context of the analysis of human gait, a complex and cyclic process aimed mainly at supporting the vertical position and maintaining balance in static or dynamic conditions. Such a process requires the synergy of muscles, bones and the nervous system. In addition, the study of movement or displacement finds other applications, for example in robotics, to allow the coordination of the limbs of a robot, or more generally to allow the analysis and representation of movements. of an entity (e.g. object, individual) over time.

De nombreux systèmes ont été développés au fil des années pour étudier les mouvements/déplacements d’une entité. Ces systèmes comportent par exemple l’utilisation de capteurs de pression ou de capteurs inertiels positionnés en des points stratégiques. En particulier, plusieurs équipes se sont concentrées sur l’utilisation et le traitement des données de capteurs inertiels pour l’analyse du mouvement humain ou plus largement l’analyse d’entité mobile telle que des drones.Many systems have been developed over the years to study the movements/displacements of an entity. These systems include, for example, the use of pressure sensors or inertial sensors positioned at strategic points. In particular, several teams have focused on the use and processing of inertial sensor data for the analysis of human movement or more broadly the analysis of mobile entities such as drones.

Ces systèmes reposent le plus souvent sur des capteurs de pression ou des capteurs inertiels couplés à des centrales de calcul déportées dans des dispositifs externes présentant de fortes capacités de calcul. Ainsi, les systèmes d’étude du mouvement actuels comportent généralement la transmission de données à haute fréquence depuis les capteurs embarqués vers les centrales de calcul. Ces systèmes doivent être capables de fonctionner en continu sans avoir à changer/recharger la batterie fréquemment tout en proposant une analyse fine du mouvement. Or dans les systèmes classiques, la transmission en temps réel des données brutes entraine une forte consommation énergétique alors que ces systèmes doivent pouvoir fonctionner en autonomie sur une longue durée. Alternativement, la transmission de données prétraitées exclusivement limite les possibilités d’évolution des interprétations des données mesurées par les capteurs de mouvement.These systems are most often based on pressure sensors or inertial sensors coupled to remote computing units in external devices with high computing capabilities. Thus, current motion study systems generally include the transmission of high-frequency data from on-board sensors to central computing units. These systems must be able to operate continuously without having to change/recharge the battery frequently while offering a fine analysis of the movement. However, in conventional systems, the real-time transmission of raw data leads to high energy consumption, whereas these systems must be able to operate independently over a long period of time. Alternatively, the transmission of exclusively pre-processed data limits the possibilities of changing the interpretations of the data measured by the motion sensors.

Une étude réalisée en 2018 montre que sur les 14 systèmes évalués, la médiane d’autonomie des systèmes proposés est située à moins de 6 heures. Cela est clairement insuffisant pour des applications grand public où un suivi du mouvement sur une journée au moins est souhaité (« A survey on smart shoe insole systems ». Salma Saidani et al. 2018 10.1109/SMARTNETS.2018.8707391 ; ©2018 IEEE).A study carried out in 2018 shows that of the 14 systems evaluated, the median autonomy of the systems offered is less than 6 hours. This is clearly insufficient for consumer applications where motion tracking over at least one day is desired (“A survey on smart shoe insole systems”. Salma Saidani et al. 2018 10.1109/SMARTNETS.2018.8707391; ©2018 IEEE).

Une solution pour augmenter l’autonomie des systèmes d’étude du mouvement est d’augmenter la taille de la batterie. Néanmoins, une telle solution ne peut pas être appliquée dans toutes les situations, notamment lorsqu’une miniaturisation des dispositifs de suivi est souhaitée. Il a par exemple été proposé des centrales inertielles capables de fonctionner pendant environ 35 heures en envoyant les données brutes à un dispositif externe capable de les analyser (« Bluetooth Embedded Inertial Measurement Unit for Real-Time Data Collection for Gait Analysis ». Nimsiri Abhayasinghe et al. Octobre 2013 ; Conference: Indoor Positioning and Indoor Navigation. Montbéliard (France)). Toutefois une telle centrale inertielle présente des dimensions de l’ordre de 50 cm3et un poids de l’ordre de 50 grammes. De telles dimensions sont notamment imposées par l’utilisation d’une batterie présentant une capacité suffisante pour transmettre en continu les données à un dispositif externe de traitement.One solution to increase the autonomy of motion study systems is to increase the size of the battery. Nevertheless, such a solution cannot be applied in all situations, in particular when miniaturization of the tracking devices is desired. For example, inertial units capable of operating for about 35 hours by sending raw data to an external device capable of analyzing them have been proposed (“Bluetooth Embedded Inertial Measurement Unit for Real-Time Data Collection for Gait Analysis”. Nimsiri Abhayasinghe et al. October 2013; Conference: Indoor Positioning and Indoor Navigation. Montbéliard (France)). However, such an inertial unit has dimensions of the order of 50 cm 3 and a weight of the order of 50 grams. Such dimensions are in particular imposed by the use of a battery having sufficient capacity to continuously transmit the data to an external processing device.

D’autres solutions, déjà proposées par la demanderesse (WO2019193301, WO2019077266, WO2020217037), sont de permettre un calcul au moins partiel au niveau du dispositif de mesure du mouvement de façon à ne pas transférer l’ensemble des données mesurées et ainsi réduire la consommation associée au stockage et/ou transfert de données. Néanmoins, une telle solution présume de disposer de tous les algorithmes déjà intégrés dans le dispositif de mesure. Or, dans certains cas, seulement une partie des algorithmes de traitement de données ont été intégrés dans le dispositif de mesure. Il peut aussi exister un besoin de faire évoluer les méthodes de traitement des données.Other solutions, already proposed by the applicant (WO2019193301, WO2019077266, WO2020217037), are to allow at least partial calculation at the level of the movement measurement device so as not to transfer all the measured data and thus reduce the consumption associated with the storage and/or transfer of data. Nevertheless, such a solution presumes to have all the algorithms already integrated in the measuring device. However, in some cases, only part of the data processing algorithms have been integrated into the measuring device. There may also be a need to develop data processing methods.

Ainsi, il existe un besoin pour une méthode d’encodage des données de capteur de mouvement permettant un stockage et un transfert de données qui soit moins énergivore au niveau du dispositif de mesure tout en minimisant au maximum la perte de données.Thus, there is a need for a method of encoding motion sensor data allowing storage and transfer of data that is less energy-consuming at the level of the measuring device while minimizing data loss as much as possible.

[Problème technique][Technical problem]

L’invention a pour but de remédier aux inconvénients de l’art antérieur. En particulier, l’invention a pour but de proposer un procédé d’encodage de données générées par un ou plusieurs capteurs de mouvement, de préférence couplé(s) à une entité mobile, capable de générer/transmettre une information fidèle des données mesurées et suffisante pour l’étude du mouvement de l’entité mobile équipée par lesdits capteurs de mouvements. Un tel procédé permet à des systèmes de fonctionner sur de plus longues durées sans avoir à changer/recharger la batterie, cela tout en proposant une analyse fine du mouvement. En outre, un tel procédé rend possible une détermination du mouvement d’une entité mobile en temps réel.The object of the invention is to remedy the drawbacks of the prior art. In particular, the aim of the invention is to propose a method for encoding data generated by one or more motion sensors, preferably coupled to a mobile entity, capable of generating/transmitting faithful information from the measured data and sufficient for the study of the movement of the mobile entity equipped with said movement sensors. Such a method allows systems to operate over longer periods without having to change/recharge the battery, while offering a fine analysis of the movement. In addition, such a method makes it possible to determine the movement of a mobile entity in real time.

L’invention a en outre pour but de proposer un dispositif d’encodage de données et un système de détermination du mouvement d’une entité mobile intégrant un tel dispositif, ledit système présentant une autonomie améliorée tout en étant capable d’une étude du mouvement de l’entité mobile en temps réel.The invention also aims to provide a device for encoding data and a system for determining the movement of a mobile entity integrating such a device, said system having improved autonomy while being capable of studying the movement of the mobile entity in real time.

[Brève description de l’invention][Brief description of the invention]

À cet effet, l’invention porte sur un procédé d’encodage de données générées par un ou plusieurs capteurs de mouvement couplé(s) à une entité mobile, pour l’identification d’une position ou d’un mouvement de l’entité mobile sur une séquence temporelle,To this end, the invention relates to a method for encoding data generated by one or more motion sensors coupled to a mobile entity, for the identification of a position or a movement of the entity. mobile over a time sequence,

ledit procédé, exécuté par un ou plusieurs processeurs, comportant :said method, executed by one or more processors, comprising:

  • Une étape d’acquisition de données générées par le ou les capteurs de mouvement couplé(s) à l’entité mobile, lesdites données comportant des valeurs variables sous forme de séries temporelles, de préférence lesdites valeurs variables comportent des valeurs d’accélération et de vitesse angulaire ;A step of acquiring data generated by the motion sensor(s) coupled to the mobile entity, said data comprising variable values in the form of time series, preferably said variable values comprising acceleration and angular velocity ;
  • Une étape de calcul, à partir des données acquises sur une fenêtre temporelle, d’une pluralité de descripteurs, ladite étape de calcul étant répétée pour plusieurs fenêtres temporelles consécutives, les fenêtres temporelles consécutives formant la séquence temporelle ; etA step of calculating, from the data acquired over a time window, a plurality of descriptors, said step of calculating being repeated for several consecutive time windows, the consecutive time windows forming the time sequence; and
  • Une étape de transformation de la pluralité de descripteurs de chacune des fenêtres temporelles consécutives formant la séquence temporelle, ladite étape de transformation comportant une génération pour chacun des descripteurs d’une donnée codée sur au plus huit bits, de préférence sur au plus quatre bits ;A step of transforming the plurality of descriptors of each of the consecutive time windows forming the time sequence, said step of transforming comprising a generation for each of the descriptors of a datum coded on at most eight bits, preferably on at most four bits;

lesdites données codées sur au plus huit bits associées à la séquence temporelle étant représentatives d’une position ou d’un mouvement de l’entité mobile sur ladite séquence temporelle.said data coded on at most eight bits associated with the time sequence being representative of a position or of a movement of the mobile entity on said time sequence.

La demanderesse a développé un procédé embarquable capable de traiter quasi-instantanément (e.g. temps inférieur à 1 ms avec une cadence de processeur à 64 MHz), de préférence par des processeurs couplés aux capteurs de mouvements, les données brutes générées par les capteurs de mouvement. Cela permet de les encoder dans un format qui pourra être soit traité au niveau d’un processeur couplé au capteur de mouvement, par exemple dans un dispositif embarqué tel qu’un bracelet ou un téléphone, soit transmis ponctuellement à un terminal externe avec une consommation d’énergie réduite et/ou une mémoire de stockage réduite.The applicant has developed an on-board process capable of processing almost instantaneously (e.g. time less than 1 ms with a processor rate of 64 MHz), preferably by processors coupled to the motion sensors, the raw data generated by the motion sensors . This makes it possible to encode them in a format which can either be processed at the level of a processor coupled to the motion sensor, for example in an embedded device such as a bracelet or a telephone, or transmitted punctually to an external terminal with a consumption reduced power and/or reduced storage memory.

La demanderesse a développé en particulier un encodage de données permettant une meilleure interprétation par apprentissage automatique des mouvements. Sans être lié par la théorie, cet encodage peut être considéré comme une phonémisation des séries temporelles issues des capteurs de mouvement. Ainsi, le procédé générera à partir d’une série temporelle de données de capteur de mouvement, un ensemble de « phonème » capable de décrire des intervalles consécutifs de la série temporelle. La combinaison ou l’assemblage particulier de ces phonèmes permettra de définir des positions ou mouvements particuliers de l’entité mobile.The applicant has developed in particular a data encoding allowing a better interpretation by automatic learning of the movements. Without being bound by theory, this encoding can be considered as a phonemization of time series from motion sensors. Thus, the method will generate from a time series of motion sensor data, a set of "phonemes" capable of describing consecutive intervals of the time series. The particular combination or assembly of these phonemes will make it possible to define particular positions or movements of the mobile entity.

En outre, un tel encodage donne également la possibilité à un algorithme de traiter la donnée encodée en temps réel pour la traduire en des prédictions de déplacements d’une entité mobile (e.g. mouvement et/ou position).In addition, such encoding also gives the possibility to an algorithm to process the encoded data in real time to translate it into movement predictions of a mobile entity (e.g. movement and/or position).

Les données ainsi encodées pourront être alors traitées ou transmises sous la forme de tenseur de données. Le procédé comportant alors une étape de génération d’un tenseur de données comportant les données codées sur au plus huit bits obtenus pour plusieurs des fenêtres temporelles, de sorte que le tenseur de données comporte un encodage représentatif d’une position ou d’un mouvement de l’entité mobile . En outre, le tenseur de données pourra comporter un encodage représentatif d’une pluralité de positions ou de mouvements de l’entité mobile.The data thus encoded can then be processed or transmitted in the form of a data tensor. The method then comprising a step of generating a data tensor comprising the data coded on at most eight bits obtained for several of the time windows, so that the data tensor comprises an encoding representing a position or a movement of the mobile entity. In addition, the data tensor may include an encoding representative of a plurality of positions or movements of the mobile entity.

Selon d’autres caractéristiques optionnelles du procédé, ce dernier peut inclure facultativement une ou plusieurs des caractéristiques suivantes, seules ou en combinaison :Depending on other optional features of the method, the latter may optionally include one or more of the following features, alone or in combination:

  • les un ou plusieurs capteurs de mouvement ainsi que les un ou plusieurs processeurs sont intégrés dans un dispositif d’encodage, de préférence positionné dans un accessoire porté par un utilisateur telle qu’une montre ou un bracelet. Lorsque l’entité mobile est un objet, le dispositif d’encodage pourra par exemple être intégré aux circuits électroniques contrôlant les déplacement de l’objet ou bien dans un dispositif électronique dédié. Un tel dispositif embarquant capteur de mouvement et processeurs permet de réaliser une partie du traitement au plus proche de la génération d’une donnée brute de mouvement et donc d’accélérer le traitement et d’en réduire le cout énergétique. De façon plus préférée, le dispositif d’encodage est positionné dans une montre ou un bracelet. La présence du dispositif d’encodage dans une montre ou un bracelet est possible grâce à la faible consommation du procédé et permet d’utiliser le procédé sur plusieurs accessoires.the one or more motion sensors as well as the one or more processors are integrated in an encoding device, preferably positioned in an accessory worn by a user such as a watch or a bracelet. When the mobile entity is an object, the encoding device may for example be integrated into the electronic circuits controlling the movement of the object or else in a dedicated electronic device. Such a device embedding motion sensor and processors makes it possible to carry out part of the processing as close as possible to the generation of raw motion data and therefore to accelerate the processing and reduce the energy cost. More preferably, the encoding device is positioned in a watch or a bracelet. The presence of the encoding device in a watch or a bracelet is possible thanks to the low consumption of the process and makes it possible to use the process on several accessories.
  • l’étape de calcul comporte un prétraitement des données acquises. Il peut être avantageux de modifier les données, par exemple, via des filtrages, de façon à accélérer le traitement ultérieur et dans certains cas réduire la consommation d’énergie associée.the calculation step includes a pre-processing of the acquired data. It may be advantageous to modify the data, for example, via filtering, so as to speed up subsequent processing and in some cases reduce the associated energy consumption.
  • il comporte en outre une étape de génération d’un tenseur de données comportant les données codées sur au plus huit bits obtenus pour plusieurs des fenêtres temporelles, de sorte que le tenseur de données comporte un encodage représentatif d’une position ou d’un mouvement de l’entité mobile.it further comprises a step of generating a data tensor comprising the data coded over at most eight bits obtained for several of the time windows, such that the data tensor comprises an encoding representative of a position or of a movement of the mobile entity.
  • les descripteurs sont calculés à partir de fonctions mathématiques appliquées aux données, prétraitées ou non, générées par le ou les capteurs de mouvement couplé à l’entité mobile, et lesdites fonctions mathématiques appliquées comportant par exemple un calcul de moyenne, d’asymétrie statistique, du coefficient d’aplatissement, de comparaisons de valeurs des extremums ou des quartiles, de positions des extremums dans une série temporelle, de comparaisons des valeurs de bord des sous-ensembles du mouvement et/ou d’un calcul d’une topologie de données.the descriptors are calculated from mathematical functions applied to the data, preprocessed or not, generated by the motion sensor(s) coupled to the mobile entity, and said applied mathematical functions comprising for example a calculation of average, statistical asymmetry, of the kurtosis coefficient, comparisons of values of extremums or quartiles, positions of extremums in a time series, comparisons of edge values of motion subsets and/or calculation of a data topology .

  • il comporte une étape d’extraction d’une séquence temporelle pouvant correspondre à une unité de mouvement, ladite étape d’extraction mettant en œuvre un modèle d’apprentissage, de préférence un modèle d’apprentissage non supervisé. Une extraction préalable d’une unité de mouvement peut permettre d’améliorer la justesse de prédiction du procédé tout en réduisant la consommation d’énergie associée.it includes a step for extracting a time sequence that may correspond to a unit of movement, said extraction step implementing a learning model, preferably an unsupervised learning model. A preliminary extraction of a unit of movement can make it possible to improve the accuracy of prediction of the process while reducing the associated energy consumption.
  • Il comporte une étape d’analyse des données codées sur au plus huit bits, de préférence du tenseur de données, en fonction d’une donnée d’activité de l’entité mobile, ladite étape d’analyse comprenant une comparaison entre les données codées sur au plus huit bits ou de préférence le tenseur de données et une base de données comprenant des données de référence pour l’activité donnée. Cela permet avantageusement de déterminer quelles données sont associées aux mouvements relatifs à une activité et quelles données correspondent à des mouvements à risque ou non intentionnels. L’activité donnée peut par exemple correspondre à un protocole de déplacement, un protocole de fonctionnement, une activité sportive mais également une activité de détente ou professionnelle.It comprises a step of analyzing the data coded on at most eight bits, preferably of the data tensor, as a function of an activity datum of the mobile entity, said analysis step comprising a comparison between the coded data on at most eight bits or preferably the data tensor and a database comprising reference data for the given activity. This advantageously makes it possible to determine which data are associated with movements relating to an activity and which data correspond to risky or unintentional movements. The given activity can for example correspond to a travel protocol, an operating protocol, a sporting activity but also a relaxation or professional activity.
  • les fenêtres temporelles de deux séquences temporelles consécutives présentent des durées différentes. Ainsi, l’analyse peut s’adapter à différents types de déplacements, différentes temporalités de cycle de déplacements et ne nécessite pas de longue segmentation des données.the time windows of two consecutive time sequences have different durations. Thus, the analysis can be adapted to different types of travel, different travel cycle times and does not require long data segmentation.
  • lors de l’étape de transformation, au moins quatre descripteurs sont utilisés pour chacun générer une donnée codée sur au moins un bit, de façon plus préférée sur au moins deux bits.during the transformation step, at least four descriptors are used for each generating data coded on at least one bit, more preferably on at least two bits.
  • lors de l’étape de transformation, plusieurs descripteurs sont transformés en une seule donnée d’au plus huit bits, de préférence d’au plus trois bits. Dans certains cas, des descripteurs « composites », formés à partir de plusieurs descripteurs peuvent être les seuls à être nécessaire. En particulier, lors de l’étape de transformation, au moins huit descripteurs sont utilisés, pour chacun générer une donnée codée sur au moins un bit, de façon plus préférée au moins deux bits.during the transformation step, several descriptors are transformed into a single data item of at most eight bits, preferably of at most three bits. In some cases, "composite" descriptors, formed from several descriptors, may be the only ones necessary. In particular, during the transformation step, at least eight descriptors are used, for each generating data coded on at least one bit, more preferably at least two bits.
  • une ou plusieurs données codées sur au plus huit bits, de préférence au plus trois bits, sont calculées à partir de valeurs de descripteurs calculés à partir de données acquises sur des fenêtres temporelles consécutives. Dans certains cas, un descripteur « composite », formé à partir de plusieurs descripteurs provenant de fenêtres temporelles différentes peut améliorer la performance.one or more data coded on at most eight bits, preferably at most three bits, are calculated from values of descriptors calculated from data acquired over consecutive time windows. In some cases, a “composite” descriptor, formed from several descriptors coming from different time windows can improve performance.
  • lors de l’étape de transformation, entre quatre et vingt descripteurs sont utilisés pour chacun générer une donnée codée sur un nombre de bits sélectionné parmi : un, deux ou trois. De telles valeurs permettent d’obtenir de meilleures performances en termes de conservation de données, volume de stockage et consommation électrique.during the transformation step, between four and twenty descriptors are used to each generate data coded on a number of bits selected from: one, two or three. Such values provide better performance in terms of data retention, storage volume, and power consumption.

Selonun deuxième objet, l’invention porte sur un procédé de détermination d’un déplacement d’une entité mobile, à partir de données susceptibles d’avoir été encodées selon un procédé d’encodage selon l’invention, ledit procédé de détermination, exécuté par un ou plusieurs processeurs, comportant :According to a second object , the invention relates to a method for determining a movement of a mobile entity, from data likely to have been encoded according to an encoding method according to the invention, said method of determining, executed by one or more processors, including:

  • Une étape de chargement d’un ou de plusieurs tenseurs de données comportant un encodage représentatif d’une position ou d’un mouvement de l’entité mobile ; etA step of loading one or more data tensors including an encoding representing a position or a movement of the mobile entity; and
  • Une étape de traitement du ou des tenseurs de données par un modèle d’apprentissage automatique entrainé de manière à identifier une position ou un mouvement de l’entité mobile.A step of processing the data tensor(s) through a trained machine learning model to identify a position or movement of the mobile entity.

Selon d’autres caractéristiques optionnelles du procédé, ce dernier peut inclure facultativement une ou plusieurs des caractéristiques suivantes, seules ou en combinaison :Depending on other optional features of the method, the latter may optionally include one or more of the following features, alone or in combination:

  • le déplacement de l’entité mobile comporte un ou plusieurs mouvements et/ou positions de l’entité mobile.the movement of the mobile entity comprises one or more movements and/or positions of the mobile entity.
  • l’étape de traitement du ou des tenseurs de données par un modèle d’apprentissage automatique comporte l’identification de classes d’événements à partir d’un ou de plusieurs tenseurs de données, de préférence une classe de mouvement par séquence temporelle.the step of processing the data tensor(s) by a machine learning model includes identifying classes of events from one or more data tensors, preferably one motion class per time sequence.
  • il comporte une étape de sélection, de préférence par le modèle d’apprentissage automatique entrainé, d’une position ou d’un mouvement à partir d’une comparaison des positions ou mouvements identifiés à partir de fenêtres temporelles contiguës ou de séquences temporelles contiguës.it comprises a step of selecting, preferably by the trained automatic learning model, a position or a movement from a comparison of the positions or movements identified from contiguous time windows or contiguous time sequences.
  • il comporte l’identification, par le modèle d’apprentissage entrainé, d’une position ou d’un mouvement pour chacune de plusieurs séquences temporelles contiguës, le procédé comportant alors une sélection de la position ou du mouvement le plus représenté au sein des séquences temporelles contiguës. Une telle étape permet de réduire les risques de faux positifs en tirant parti de la reconnaissance en temps réel de séries temporelles et d’une validation multiple d’une même position ou mouvement. Par exemple, un mouvement peut être sélectionné à partir d’une analyse d’au moins 3, de préférence d’au moins 4 et de façon encore plus préférée d’au moins cinq séquences temporelles contiguës.il comporte une étape de comparaison de positions et/ou de mouvements identifiés pour une fenêtre temporelle ou une séquence temporelle donnée à partir de données de capteurs différents de façon à identifier une position ou un mouvement de l’entité mobile. En particulier, il peut comporter, pour une unité de mouvement, une comparaison du mouvement identifié pour chacun des bras, ou une comparaison par rapport à un référentiel, de façon à déterminer une position ou un mouvement d’un utilisateur couplé aux capteurs de mouvements.it comprises the identification, by the trained learning model, of a position or of a movement for each of several contiguous temporal sequences, the method then comprising a selection of the position or of the movement most represented within the sequences contiguous temporal. Such a step reduces the risk of false positives by taking advantage of real-time recognition of time series and multiple validation of the same position or movement. For example, a movement can be selected from an analysis of at least 3, preferably of at least 4 and even more preferably of at least five contiguous time sequences. it comprises a step of comparing positions and/or movements identified for a time window or a given time sequence from data from different sensors so as to identify a position or a movement of the mobile entity. In particular, it may comprise, for a movement unit, a comparison of the movement identified for each of the arms, or a comparison with a reference frame, so as to determine a position or a movement of a user coupled to the movement sensors .

L’invention porte en outre sur un dispositif d’encodage de données générées par un ou plusieurs capteurs de mouvement couplés à une entité mobile, pour l’identification d’une position ou d’un mouvement de l’entité mobile sur une séquence temporelle, ledit dispositif d’encodage comportant un ou plusieurs processeurs, lesdits un ou plusieurs processeurs étant configurés pour :The invention further relates to a device for encoding data generated by one or more motion sensors coupled to a mobile entity, for the identification of a position or a movement of the mobile entity over a time sequence. , said encoding device comprising one or more processors, said one or more processors being configured to:

  • Acquérir les données générées par un ou plusieurs capteurs de mouvement couplé(s) à l’entité mobile , lesdites données comportant des valeurs variables sous forme de séries temporelles, de préférence des valeurs d’accélération et de vitesse angulaire ;Acquire the data generated by one or more motion sensors coupled to the mobile entity, said data comprising variable values in the form of time series, preferably acceleration and angular velocity values;
  • Calculer, à partir des données acquises sur une fenêtre temporelle, une pluralité de descripteurs, le calcul étant répété pour plusieurs fenêtres temporelles consécutives, les fenêtres temporelles consécutives formant une séquence temporelle ;Calculate, from the data acquired over a time window, a plurality of descriptors, the calculation being repeated for several consecutive time windows, the consecutive time windows forming a time sequence;
  • Transformer la pluralité de descripteurs de chacune des fenêtres temporelles consécutives formant la séquence temporelle, ladite transformation comportant une génération pour chacun des descripteurs d’une donnée codée sur au plus huit bits, de préférence au plus trois bits, lesdites données codées sur au plus huit bits associées à une fenêtre temporelle étant représentatives d’un mouvement ou d’une position de l’entité mobile sur ladite séquence temporelle.Transforming the plurality of descriptors of each of the consecutive time windows forming the time sequence, said transformation comprising a generation for each of the descriptors of data coded on at most eight bits, preferably at most three bits, said data coded on at most eight bits associated with a time window being representative of a movement or of a position of the mobile entity on said time sequence.

En outre, le dispositif d’encodage peut comporter lesdits un ou plusieurs capteurs de mouvement. En outre, le ou les processeurs peuvent être configurés pour générer un tenseur de données comportant les données codées sur au plus huit bits obtenus pour plusieurs des fenêtres temporelles, de sorte que le tenseur de données comporte un encodage représentatif d’une position ou d’un mouvement de l’entité mobile .Furthermore, the encoding device may include said one or more motion sensors. Furthermore, the processor or processors can be configured to generate a data tensor comprising the data encoded in at most eight bits obtained for several of the time slots, such that the data tensor comprises an encoding representative of a position or a movement of the mobile entity.

L’invention porte en outre sur un système de détermination d’une position ou d’un mouvement d’une entité mobile, ledit système de détermination comportant au moins un dispositif d’encodage selon l’invention et un terminal externe configuré pour recevoir le tenseur de données généré puis pour déterminer le déplacement d’une entité mobile à partir du tenseur de données généré.The invention further relates to a system for determining a position or a movement of a mobile entity, said determination system comprising at least one encoding device according to the invention and an external terminal configured to receive the generated data tensor and then to determine the displacement of a mobile entity from the generated data tensor.

D’autres avantages et caractéristiques de l’invention apparaitront à la lecture de la description suivante donnée à titre d’exemple illustratif et non limitatif, en référence aux Figures annexées :Other advantages and characteristics of the invention will appear on reading the following description given by way of illustrative and non-limiting example, with reference to the appended Figures:

, la représente un schéma d’un procédé selon un mode de réalisation de l’invention. Les étapes en pointillés sont facultatives. , the shows a diagram of a method according to one embodiment of the invention. Dotted steps are optional.

, La représente un schéma d’un procédé selon un autre mode de réalisation de l’invention. Les étapes en pointillés sont facultatives. , The shows a diagram of a method according to another embodiment of the invention. Dotted steps are optional.

et , Les figures 3A et 3B représentent chacune un graphe montrant des données générées, divisées en séquence temporelle subdivisée en fenêtres temporelles, par un capteur de mouvement selon l’axe x. La figure 3C correspond à des tenseurs de données d’ordre 2 et des tenseurs issus respectivement de données de fenêtres temporelles et de données de séquences temporelles. and , FIGS. 3A and 3B each represent a graph showing data generated, divided into a time sequence subdivided into time windows, by a motion sensor along the x axis. FIG. 3C corresponds to data tensors of order 2 and tensors resulting respectively from data from temporal windows and from data from temporal sequences.

, La représente un schéma d’un procédé de détermination du déplacement d’un utilisateur selon un mode de réalisation de l’invention. Les étapes en pointillés sont facultatives. , The represents a diagram of a method for determining the movement of a user according to an embodiment of the invention. Dotted steps are optional.

, La représente un schéma d’un dispositif d’encodage ouvert vu du dessus comprenant notamment une carte électronique, une source d’énergie, un connecteur et un moyen de communication. , The shows a diagram of an open encoding device seen from above comprising in particular an electronic card, a power source, a connector and a means of communication.

, La représente un schéma d’un système de détermination d’un déplacement d’une entité mobile selon l’invention. , The represents a diagram of a system for determining a movement of a mobile entity according to the invention.

Des aspects de la présente invention sont décrits en référence à des organigrammes et/ou à des schémas fonctionnels de procédés, d’appareils (systèmes) et de produits de programme d’ordinateur selon des modes de réalisation de l’invention.Aspects of the present invention are described with reference to flow charts and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention.

Sur les figures, les organigrammes et les schémas fonctionnels illustrent l’architecture, la fonctionnalité et le fonctionnement d’implémentations possibles de systèmes, de procédés et de produits de programme d’ordinateur selon divers modes de réalisation de la présente invention. À cet égard, chaque bloc dans les organigrammes ou blocs-diagrammes peut représenter un système, un dispositif, un module ou un code, qui comprend une ou plusieurs instructions exécutables pour mettre en œuvre la ou les fonctions logiques spécifiées. Dans certaines implémentations, les fonctions associées aux blocs peuvent apparaitre dans un ordre différent que celui indiqué sur les figures. Par exemple, deux blocs montrés successivement peuvent, en fait, être exécutés sensiblement simultanément, ou les blocs peuvent parfois être exécutés dans l’ordre inverse, en fonction de la fonctionnalité impliquée. Chaque bloc des schémas de principe et/ou de l’organigramme, et des combinaisons de blocs dans les schémas de principe et/ou l’organigramme, peuvent être mis en œuvre par des systèmes matériels spéciaux qui exécutent les fonctions ou actes spécifiés ou effectuer des combinaisons de matériel spécial et d’instructions informatiques.In the figures, flowcharts and block diagrams illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowcharts or block diagrams may represent a system, device, module, or code, which includes one or more executable instructions to implement the specified logical function(s). In some implementations, the functions associated with the blocks may appear in a different order than that indicated in the figures. For example, two blocks shown in succession may, in fact, be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order, depending on the functionality involved. Each block in the block diagrams and/or flowchart, and combinations of blocks in the block diagrams and/or flowchart, may be implemented by special hardware systems that perform the specified functions or acts or perform combinations of special equipment and computer instructions.

[Description de l’invention][Description of the invention]

Dans la suite de la description, le « déplacement » au sens de l’invention correspond à la position, les mouvements, la locomotion, et l’équilibre de l’entité mobile. L’équilibre correspond notamment à la stabilité du par rapport au centre de gravité de l’entité mobile. Néanmoins il peut intégrer aussi bien l’équilibre statique que l’équilibre dynamique.In the rest of the description, the "displacement" within the meaning of the invention corresponds to the position, the movements, the locomotion, and the balance of the mobile entity. Balance corresponds in particular to the stability of the relative to the center of gravity of the mobile entity. However, it can integrate both static and dynamic equilibrium.

La « détermination d’un déplacement » correspond, au sens de l’invention, à l’attribution d’une ou de plusieurs valeurs par exemple un score, un classement ou une note à une trajectoire ou au mouvement de l’entité mobile, et comme présenté en lien avec un mode de réalisation, d’un bras d’un utilisateur. Cette détermination du déplacement peut aussi permettre d’obtenir une ou plusieurs valeurs numériques ou alphanumériques de paramètres biomécanique représentatifs du déplacement en fonction de l’entité mobile considérée.The "determination of a movement" corresponds, in the sense of the invention, to the attribution of one or more values, for example a score, a classification or a note to a trajectory or to the movement of the mobile entity, and as shown in connection with one embodiment, a user's arm. This determination of the displacement can also make it possible to obtain one or more numerical or alphanumeric values of biomechanical parameters representative of the displacement according to the mobile entity considered.

Le terme « activité » au sens de l’invention peut correspondre à une action réalisée par l’entité mobile sur une période prolongée. Cela peut par exemple correspondre à un type de déplacement particulier, lié à titre d’exemples non limitatifs à une activité sportive telle que du football, du cyclisme ou du basketball, mais aussi à une activité sédentaire telle qu’une activité de bureau ou toute autre activité telle qu’une marche récréative ou une randonnée pédestre.The term “activity” within the meaning of the invention may correspond to an action performed by the mobile entity over an extended period. This may for example correspond to a particular type of travel, linked by way of non-limiting examples to a sports activity such as football, cycling or basketball, but also to a sedentary activity such as an office activity or any other activity such as recreational walking or hiking.

On entend par « entité mobile », toute entité capable de, ou configurée pour, se déplacer de manière autonome ou non. Une entité mobile peut par exemple correspondre à un être vivant, un véhicule, un engin robotisé ou encore un drone.“Mobile entity” means any entity capable of, or configured to, move independently or not. A mobile entity can for example correspond to a living being, a vehicle, a robotic device or even a drone.

Le terme « Descripteur » au sens de l’invention peut correspondre de préférence à une valeur obtenue via une transformation mathématique des données acquises à partir des capteurs de mouvement. Une transformation mathématique pourra par exemple correspondre au calcul d’une moyenne, d’une médiane, d’une variance, d’asymétrie statistique, du coefficient d’aplatissement, de valeurs des extremums, de valeurs de quartile, de comparaisons de valeurs des extremums ou des quartiles, de positions des extremums dans une série temporelle, et de comparaisons des valeurs de bord des sous-ensembles du mouvement. Par exemple, pour une fenêtre, une valeur de bord correspond à la valeur initiale et finale de la fenêtre.The term "Descriptor" within the meaning of the invention may preferably correspond to a value obtained via a mathematical transformation of the data acquired from the motion sensors. A mathematical transformation could, for example, correspond to the calculation of an average, a median, a variance, statistical asymmetry, the kurtosis coefficient, values of extremums, values of quartiles, comparisons of values of extrema or quartiles, positions of extrema in a time series, and comparisons of edge values of motion subsets. For example, for a window, an edge value is the start and end value of the window.

L’expression « phonème de mouvement » au sens de l’invention, peut correspondre à un ensemble de données calculées à partir de plusieurs descripteurs générés sur une fenêtre temporelle donnée. Ces données prennent avantageusement la forme dans le cadre de l’invention de données encodées sur au plus huit bits. Ainsi le phonème de mouvement correspond à plusieurs valeurs encodées sur au plus huit bits décrivant au moins en partie un mouvement sur la fenêtre temporelle étudiée. Ces phonèmes de mouvement peuvent ainsi correspondre à des données calculées à partir de plusieurs descripteurs décrivant une sous-partie d'un mouvement appelée un micromouvement, c’est-à-dire un mouvement pouvant par exemple se dérouler sur moins de 500 ms.The expression "motion phoneme" within the meaning of the invention may correspond to a set of data calculated from several descriptors generated over a given time window. These data advantageously take the form within the framework of the invention of data encoded on at most eight bits. Thus the motion phoneme corresponds to several values encoded on at most eight bits describing at least in part a motion over the time window studied. These movement phonemes can thus correspond to data calculated from several descriptors describing a sub-part of a movement called a micro-movement, i.e. a movement that can for example take place over less than 500 ms.

L’expression « tenseur de données » au sens de l’invention, peut correspondre à un objet, ou à une structure de données, telle qu’un tableau à une dimension, une matrice à deux dimensions ou encore un cube comportant des données relatives à des valeurs de descripteurs transformées en valeurs codées en au plus huit bits, de préférence en au plus deux bits. La représentation sous forme de tenseur est une représentation des données permettant par exemple d’avoir recours à des opérations de calcul matriciel, optimisée en termes de complexité de calcul et mémoire. En outre, les tenseurs de données, lorsqu’ils correspondent aux valeurs d’un capteur pour une fenêtre temporelle peuvent former un tenseur de données d’ordre 3 et peuvent être traités conjointement avec des tenseurs de données pour d’autres capteurs et des tenseurs de données pour d’autres fenêtres temporelles de façon à former une liste de tenseurs de données d’ordre 3.The expression "data tensor" within the meaning of the invention, can correspond to an object, or to a data structure, such as a one-dimensional array, a two-dimensional matrix or even a cube comprising relative data to descriptor values transformed into values coded in at most eight bits, preferably in at most two bits. The representation in the form of a tensor is a representation of the data allowing for example to use matrix calculation operations, optimized in terms of calculation and memory complexity. Also, data tensors when matched to values from one sensor for a time window can form a 3rd order data tensor and can be processed in conjunction with data tensors for other sensors and tensors of data for other time windows so as to form a list of data tensors of order 3.

Par « paramètre bio-mécanique », on entend au sens de l’invention une caractéristique de la démarche d’une entité mobile lorsque celle-ci correspond à un être humain ou à un robot dont les déplacements nécessitent une coordination particulière.By "bio-mechanical parameter" is meant in the sense of the invention a characteristic of the gait of a mobile entity when the latter corresponds to a human being or a robot whose movements require particular coordination.

Le terme « accessoire », correspond à tout article destiné à être porté par une entité mobile. Un accessoire selon l’invention peut prendre la forme d’un article textile ou plus généralement d’un vêtement. L’accessoire peut également être adapté pour être fixé ou intégré à un vêtement ou prendre la forme d’un bracelet. L’accessoire peut également être un élément modulaire amovible adaptable sur un ski, des bâtons de marche, une chaussure (par exemple une cale pour le cyclisme), une prothèse etc.The term “accessory” corresponds to any item intended to be worn by a mobile entity. An accessory according to the invention can take the form of a textile article or more generally of a garment. The accessory can also be adapted to be attached or integrated into clothing or take the form of a bracelet. The accessory can also be a removable modular element adaptable to a ski, walking sticks, a shoe (for example a cleat for cycling), a prosthesis, etc.

On entend par « amovible » la capacité à être détachée, enlevée ou démontée aisément sans avoir à détruire des moyens de fixation soit parce qu’il n’y a pas de moyens de fixation soit parce que les moyens de fixation sont aisément et rapidement démontables (e.g. encoche, vis, languette, ergot, clips). Par exemple, par amovible, il faut comprendre que l’objet n’est pas fixé par soudure ou par un autre moyen non prévu pour permettre de détacher l’objet.By "removable" is meant the ability to be easily detached, removed or disassembled without having to destroy the fastening means either because there are no fastening means or because the fastening means are easily and quickly removable. (e.g. notch, screw, tab, lug, clips). For example, by removable, it should be understood that the object is not fixed by welding or by any other means not intended to allow the object to be detached.

Par « modèle » ou « règle » ou « algorithme », il faut comprendre au sens de l’invention une suite finie d’opérations ou d’instructions permettant de calculer une valeur par l’intermédiaire d’un classement ou d’un partitionnement des données au sein de groupes préalablement définis Y et d’attribuer un score ou de hiérarchiser une ou plusieurs données au sein d’un classement. La mise en œuvre de cette suite finie d’opérations permet par exemple d’attribuer une étiquette Y à une observation décrite par un ensemble de caractéristiques ou paramètres X grâce par exemple à la mise en œuvre d’une fonction f, susceptible de reproduire Y en ayant observé X.By “model” or “rule” or “algorithm”, it is necessary to understand within the meaning of the invention a finite sequence of operations or instructions making it possible to calculate a value by means of a classification or a partitioning data within previously defined groups Y and assigning a score or prioritizing one or more data within a classification. The implementation of this finite sequence of operations makes it possible, for example, to assign a label Y to an observation described by a set of characteristics or parameters X thanks, for example, to the implementation of a function f, capable of reproducing Y having observed X.

Y = f (X) + eY = f(X) + e

où e symbolise le bruit ou erreur de mesure.where e symbolizes the noise or measurement error.

Par « méthode d’apprentissage supervisé », on entend au sens de l’invention un procédé permettant de définir une fonction f à partir d’une base de n observations étiquetées (X1…n, Y1…n) où Y = f (X) + e.By “supervised learning method”, we mean within the meaning of the invention a process making it possible to define a function f from a base of n labeled observations (X 1…n , Y 1…n ) where Y = f (X) + e.

Par « méthode d’apprentissage non supervisée », on entend une méthode visant à hiérarchiser les données ou à diviser un ensemble de données en différents groupes homogènes, les groupes de données homogènes partageant des caractéristiques communes et cela sans que les observations soient étiquetées.By “unsupervised learning method”, we mean a method aimed at hierarchizing the data or at dividing a set of data into different homogeneous groups, the groups of homogeneous data sharing common characteristics and this without the observations being labelled.

On entend par « sensiblement constante » une valeur variant de moins de 15 % par rapport à la valeur comparée, de préférence de moins de 10 %, de façon encore plus préférée de moins de 5 %.“Substantially constant” means a value varying by less than 15% with respect to the compared value, preferably by less than 10%, even more preferably by less than 5%.

On entend par « traiter », « calculer », « déterminer », « afficher », « transformer », « extraire », « comparer » ou plus largement « opération exécutable », au sens de l’invention, une action effectuée par un dispositif ou un processeur sauf si le contexte indique autrement. À cet égard, les opérations se rapportent à des actions et/ou des processus d’un système de traitement de données, par exemple un système informatique ou un dispositif informatique électronique, qui manipule et transforme les données représentées en tant que quantités physiques (électroniques) dans les mémoires du système informatique ou d’autres dispositifs de stockage, de transmission ou d’affichage de l’information. Ces opérations peuvent se baser sur des applications ou des logiciels.The term "process", "calculate", "determine", "display", "transform", "extract", "compare" or more broadly "executable operation", within the meaning of the invention, an action performed by a device or processor unless the context indicates otherwise. In this regard, operations refer to actions and/or processes of a data processing system, for example a computer system or an electronic computing device, which manipulates and transforms data represented as physical (electronic ) in computer system memories or other information storage, transmission or display devices. These operations can be based on applications or software.

Les termes ou expressions « application », « logiciel », « code de programme », et « code exécutable » signifient toute expression, code ou notation, d’un ensemble d’instructions destinées à provoquer un traitement de données pour effectuer une fonction particulière directement ou indirectement (e.g. après une opération de conversion vers un autre code). Les exemples de code de programme peuvent inclure, sans s’y limiter, un sous-programme, une fonction, une application exécutable, un code source, un code objet, une bibliothèque et/ou toute autre séquence d’instructions conçues pour l’exécution sur un système informatique.The terms or expressions "application", "software", "program code", and "executable code" mean any expression, code or notation, of a set of instructions intended to cause data processing to perform a particular function directly or indirectly (e.g. after a conversion operation to another code). Sample program code may include, but is not limited to, a subroutine, function, executable application, source code, object code, library, and/or any other sequence of instructions designed for the running on a computer system.

On entend par « processeur », au sens de l’invention, au moins un circuit matériel configuré pour exécuter des opérations selon des instructions contenues dans un code. Le circuit matériel peut être un circuit intégré. Des exemples d’un processeur comprennent, sans s’y limiter, une unité de traitement central, un processeur graphique, un circuit intégré spécifique à l’application (ASIC) et un circuit logique programmable.The term "processor", within the meaning of the invention, means at least one hardware circuit configured to execute operations according to instructions contained in a code. The hardware circuit may be an integrated circuit. Examples of a processor include, but are not limited to, central processing unit, graphics processor, application-specific integrated circuit (ASIC), and programmable logic circuit.

On entend par « dispositif informatique », tout dispositif comprenant une unité de traitement ou un processeur, par exemple sous la forme d’un microcontrôleur coopérant avec une mémoire de données, éventuellement une mémoire programme, lesdites mémoires pouvant être dissociées. L’unité de traitement coopère avec lesdites mémoires au moyen d’un bus de communication interne.The term “computer device” is understood to mean any device comprising a processing unit or a processor, for example in the form of a microcontroller cooperating with a data memory, possibly a program memory, said memories possibly being dissociated. The processing unit cooperates with said memories by means of an internal communication bus.

Par « infrastructure informatique », on entend au sens de l’invention un ensemble de structures informatiques (i.e. dispositifs informatiques) apte à faire fonctionner une application ou une chaine applicative. La structure informatique peut être un serveur et peut par exemple être composée d’un serveur de présentation, d’un serveur métier et d’un serveur de données. De façon préférée, la structure informatique est un serveur.By “IT infrastructure”, we mean within the meaning of the invention a set of IT structures (i.e. IT devices) capable of operating an application or an application chain. The IT structure can be a server and can for example be composed of a presentation server, a business server and a data server. Preferably, the computer structure is a server.

On entend par « couplé », au sens de l’invention, connecté, directement ou indirectement avec un ou plusieurs éléments intermédiaires. Deux éléments peuvent être couplés mécaniquement, électriquement ou liés par un canal de communication.The term “coupled”, within the meaning of the invention, is understood to mean connected, directly or indirectly with one or more intermediate elements. Two elements can be coupled mechanically, electrically or linked by a communication channel.

Dans cette description et même avant, les mêmes références sont utilisées pour désigner les mêmes éléments.In this description and even before, the same references are used to designate the same elements.

Les inventeurs ont testé plusieurs procédés et systèmes pour étudier le déplacement d’une entité mobile (e.g. position et/ou mouvement). Ils ont privilégié les systèmes intégrant des capteurs de mouvement, de préférence des centrales inertielles, systèmes les plus à même de fournir une réponse rapide et à un coût supportable pour une industrialisation.The inventors have tested several methods and systems to study the displacement of a mobile entity (e.g. position and/or movement). They favored systems integrating motion sensors, preferably inertial units, systems most likely to provide a rapid response and at a cost bearable for industrialization.

Cependant, comme cela a été mentionné, la grande majorité des systèmes d’étude du déplacement d’une entité mobile souffrent de l’autonomie de la batterie utilisée, cela étant principalement causé par la transmission en temps réel de données brutes générées par les capteurs de mouvement et en particulier par des centrales inertielles. L’alternative, à savoir dimensionner une batterie capable de tenir plusieurs dizaines d’heures concerne alors des systèmes qui ne pourraient plus être considérés comme portables ou d’usage courant.However, as mentioned, the vast majority of systems for studying the movement of a mobile entity suffer from the autonomy of the battery used, this being mainly caused by the real-time transmission of raw data generated by the sensors. of movement and in particular by inertial units. The alternative, namely sizing a battery capable of holding several tens of hours, then concerns systems that could no longer be considered portable or in common use.

Face à ces insuffisances, la demanderesse a développé un procédé embarquable capable de traiter les données brutes générées par les capteurs de mouvement quasi instantanément et de les encoder en un format permettant une transmission avec une consommation d’énergie réduite et/ou une mémoire de stockage réduite. En outre, le procédé permet un encodage tel que les données transmises, bien que ne nécessitant qu’une faible quantité d’énergie, conservent un maximum d’informations et permettent ensuite une analyse fine du déplacement de l’entité mobile par des capteurs de mouvement.Faced with these shortcomings, the applicant has developed an on-board process capable of processing the raw data generated by the motion sensors almost instantaneously and of encoding them in a format allowing transmission with reduced energy consumption and/or storage memory. scaled down. In addition, the method allows encoding such that the data transmitted, although requiring only a small amount of energy, retain a maximum of information and then allow a fine analysis of the movement of the mobile entity by sensors of movement.

En particulier, la demanderesse a développé une solution d’encodage de données générées par un ou plusieurs capteurs de mouvement. Comme cela a été mentionné, cet encodage pourrait être considéré comme reposant sur une phonémisation du mouvement lié au déplacement d’une entité mobile (e.g. position et/ou mouvement).In particular, the applicant has developed a solution for encoding data generated by one or more motion sensors. As mentioned, this encoding could be considered as based on a phonemization of the movement linked to the displacement of a mobile entity (e.g. position and/or movement).

Une telle solution pourra s’appliquer à tout type d’entité mobile et ne saurait se limiter aux exemples présentés, dans la suite de la description, uniquement à titre illustratifs. Comme déjà évoqué, la solution d’encodage pourra s’appliquer à une entité mobile lorsque celle-ci correspond à un véhicule, un aéronef ou encore un robot, notamment un robot industriel automatisé (par exemple un bras robotisé). De façon préférée, la solution d’encodage est particulièrement adaptée aux systèmes embarqués alimentés par des batteries.Such a solution may apply to any type of mobile entity and cannot be limited to the examples presented in the following description, solely for illustrative purposes. As already mentioned, the encoding solution can be applied to a mobile entity when it corresponds to a vehicle, an aircraft or even a robot, in particular an automated industrial robot (for example a robotic arm). Preferably, the encoding solution is particularly suitable for on-board systems powered by batteries.

Selon un premier aspect, l’invention porte sur un procédé 1 d’encodage de données générées par un ou plusieurs capteurs de mouvement. En particulier, un tel procédé peut être mis en œuvre pour un ou plusieurs capteurs de mouvement 21 couplés à une entité mobile. Il pourra notamment être mis en œuvre par un ou plusieurs processeurs 22.According to a first aspect, the invention relates to a method 1 for encoding data generated by one or more motion sensors. In particular, such a method can be implemented for one or more motion sensors 21 coupled to a mobile entity. It may in particular be implemented by one or more processors 22.

Ainsi, afin d’illustrer la solution proposée par la demanderesse, dans les différents exemples ou modes de réalisation présentés dans la suite de la description, l’entité mobile considérée pourra correspondre à un être vivant comme un être humain (ci-après dénommé « utilisateur ») et le dispositif d’encodage sera présenté comme couplé, ou intégré, à un objet porté par l’entité mobile tel qu’un vêtement, une montre, un bracelet ou encore un téléphone portable. L’entité mobile peut aussi correspondre à un objet motorisé capable de se déplacer de façon autonome ou par commandes.Thus, in order to illustrate the solution proposed by the applicant, in the various examples or embodiments presented in the remainder of the description, the mobile entity considered may correspond to a living being such as a human being (hereinafter referred to as " user”) and the encoding device will be presented as coupled, or integrated, to an object worn by the mobile entity such as clothing, a watch, a bracelet or even a mobile phone. The mobile entity can also correspond to a motorized object capable of moving autonomously or by commands.

En particulier, un tel procédé est mis en œuvre à partir de données générées par un ou plusieurs capteurs de mouvement 21 d’un objet tel qu’une montre 11. Par la suite, l’invention sera décrite dans une mise en œuvre pouvant impliquer une montre ou un bracelet mais l’invention peut être mise en œuvre pour toute entité mobile comportant un ou plusieurs capteurs de mouvement ou pour tout objet porté par une entité mobile.In particular, such a method is implemented from data generated by one or more motion sensors 21 of an object such as a watch 11. Subsequently, the invention will be described in an implementation which may involve a watch or a bracelet, but the invention can be implemented for any mobile entity comprising one or more motion sensors or for any object carried by a mobile entity.

Certains des capteurs de mouvement 21 peuvent être répartis dans la montre 11 de façon à suivre les mouvements du bras de l’utilisateur. Les capteurs de mouvement peuvent aussi être tous intégrés dans un premier dispositif d’encodage 20 associé à la montre 11 ou à un premier bracelet et un deuxième dispositif d’encodage 20 associé à un deuxième bracelet positionné sur l’autre bras de l’utilisateur. L’invention peut également s’appliquer à des données générées par des centrales inertielles couplées à des vêtements ou encore des textiles connectés, agencés pour détecter des mouvements d’un porteur dudit vêtement.Some of the movement sensors 21 can be distributed in the watch 11 so as to follow the movements of the user's arm. The motion sensors can also be all integrated in a first encoding device 20 associated with the watch 11 or with a first bracelet and a second encoding device 20 associated with a second bracelet positioned on the other arm of the user. . The invention can also be applied to data generated by inertial units coupled to clothing or even connected textiles, arranged to detect movements of a wearer of said clothing.

Un procédé 1 d’encodage selon l’invention permettra avantageusement une identification d’une position ou d’un mouvement d’une entité mobile couplée à un ou plusieurs capteurs de mouvement 21 sur une séquence temporelle ST, et notamment du bras de l’utilisateur lorsque la montre 11 et/ou le bracelet 12 est (sont) porté(s) par l’utilisateur.An encoding method 1 according to the invention will advantageously allow identification of a position or a movement of a mobile entity coupled to one or more movement sensors 21 over a time sequence ST, and in particular of the arm of the user when the watch 11 and/or the bracelet 12 is (are) worn by the user.

Comme cela est illustré à la , le procédé 1 d’encodage comporte : une étape d’acquisition 200 de données générées par le ou les capteurs de mouvement 21, une étape de calcul 300 d’une pluralité de descripteurs à partir des données acquises sur une fenêtre temporelle 31, une étape de transformation 400 de la pluralité de descripteurs et une étape de génération 500 d’un tenseur de données comportant les bits obtenus pour chacune des fenêtres temporelles 31, de sorte que le tenseur de données comporte un encodage d’une combinaison de plusieurs phonèmes de mouvement qui est représentative d’une position ou d’un mouvement du bras de l’utilisateur ou d’une position ou d’un mouvement de la montre 11 ou du bracelet 12 porté par l’utilisateur.As illustrated in the , the encoding method 1 comprises: a step 200 for acquiring data generated by the motion sensor(s) 21, a step 300 for calculating a plurality of descriptors from the data acquired over a time window 31, a step 400 of transforming the plurality of descriptors and a step 500 of generating a data tensor comprising the bits obtained for each of the time windows 31, such that the data tensor comprises an encoding of a combination of several phonemes of movement which is representative of a position or of a movement of the arm of the user or of a position or of a movement of the watch 11 or of the bracelet 12 worn by the user.

En outre, un procédé selon l’invention peut comporter des étapes avantageuses telles que : un apprentissage 100, une calibration 210 d’un déplacement de l’utilisateur, un prétraitement 220 des données générées par les capteurs de mouvement et/ou des valeurs calculées dans le cadre du procédé, une extraction 230 d’une séquence temporelle correspondant à une unité de mouvement, une transmission 600 d’un tenseur de données, une détermination 700 d’un déplacement de l’utilisateur ou encore une mémorisation 900 des données.In addition, a method according to the invention may comprise advantageous steps such as: learning 100, calibration 210 of a movement of the user, pre-processing 220 of the data generated by the movement sensors and/or of the calculated values within the framework of the method, an extraction 230 of a time sequence corresponding to a unit of movement, a transmission 600 of a data tensor, a determination 700 of a movement of the user or else a storage 900 of the data.

Dans la suite de la présente description, la solution proposée par la demanderesse sera décrite dans un mode de réalisation dans lequel, le ou les capteurs de mouvement 21 comportent au moins une centrale inertielle d’au moins six axes et ce ou ces capteurs de mouvement 21 sont intégrés à une montre 11 et/ou à un bracelet 12.In the remainder of this description, the solution proposed by the applicant will be described in an embodiment in which the motion sensor(s) 21 comprise at least one inertial unit of at least six axes and this or these motion sensors 21 are integrated into a watch 11 and/or a bracelet 12.

Néanmoins, la présente invention dans ces différents modes de réalisation, préférés ou non, pourrait être appliquée dans le cas où les capteurs de mouvement ne sont pas intégrés à une montre ou à un bracelet. Elle pourrait en particulier être appliquée lorsque les capteurs de mouvement sont positionnés au niveau du corps d’un utilisateur, par exemple intégrés dans un vêtement porté par ce-dernier. En effet, les données de mouvements générées par un ou plusieurs capteurs de mouvement positionnés sur le corps d’un utilisateur par exemple au niveau de membres inférieurs ou de la colonne vertébrale pourraient être encodées par un procédé d’encodage selon l’invention et ou utilisées pour déterminer le déplacement de l’utilisateur.Nevertheless, the present invention in these different embodiments, preferred or not, could be applied in the case where the motion sensors are not integrated into a watch or a bracelet. It could in particular be applied when the motion sensors are positioned at the level of the body of a user, for example integrated into a garment worn by the latter. Indeed, the movement data generated by one or more movement sensors positioned on the body of a user, for example at the level of the lower limbs or the spine, could be encoded by an encoding method according to the invention and or used to determine user movement.

Les capteurs de mouvement pourraient également être des capteurs piézoélectriques, des fibres textiles ou des capteurs de pression qui s’ils sont positionnés de façon adéquate peuvent renseigner sur les mouvements notamment de l’utilisateur.Motion sensors could also be piezoelectric sensors, textile fibers or pressure sensors which, if positioned appropriately, can provide information on the movements of the user in particular.

Dans le cadre de la description qui suit, de façon préférée, les un ou plusieurs processeurs sont positionnés dans une montre et/ou un bracelet. Alternativement, les un ou plusieurs processeurs pourraient être positionnés dans un boitier agencé pour être fixé à un utilisateur.In the context of the following description, preferably, the one or more processors are positioned in a watch and/or a bracelet. Alternatively, the one or more processors could be positioned in a box arranged to be attached to a user.

En particulier, les un ou plusieurs capteurs de mouvement ainsi que les un ou plusieurs processeurs sont intégrés dans un boitier électronique, tel qu’un dispositif d’encodage 20, de préférence positionné dans un accessoire d’un utilisateur tel qu’un vêtement, une montre ou dans un bracelet.In particular, the one or more motion sensors and the one or more processors are integrated into an electronic box, such as an encoding device 20, preferably positioned in a user's accessory such as clothing, a watch or in a bracelet.

Comme illustré à la , un procédé selon l’invention peut comporter une étape 100 d’apprentissage.As shown in , a method according to the invention may include a learning step 100 .

Une étape 100 d’apprentissage pourra comporter une étape de collecte des données d’entrainement puis une agrégation et un stockage de ces données cibles dans une base de données. Ces données d’entrainement peuvent être ou non annotées et peuvent être utilisées pour générer des tenseurs de données utilisables dans une étape d’entrainement, de préférence distribuée et parallélisée.A learning step 100 may comprise a training data collection step then an aggregation and storage of these target data in a database. This training data may or may not be annotated and may be used to generate data tensors that can be used in a training step, preferably distributed and parallelized.

De façon préférée l’étape 100 d’apprentissage pourra comporter la génération et la sélection de multiples modèles d’apprentissage par validation croisée et sélection d’hyper paramètres optimisés. Enfin, l’étape 100 d’apprentissage peut comporter une sélection du modèle d’apprentissage fournissant les meilleures performances de classification, c’est-à-dire une performance optimale et homogène entre les classes.Preferably, the learning step 100 may include the generation and selection of multiple learning models by cross-validation and selection of optimized hyper-parameters. Finally, the learning step 100 can comprise a selection of the learning model providing the best classification performance, that is to say an optimal and homogeneous performance between the classes.

Une telle étape peut notamment comporter la définition d’une pluralité de valeurs de référence d’activité d’un utilisateur. Par exemple, lors de la répétition de mouvements, positions et déplacements effectués par un utilisateur sur une durée déterminée, des valeurs de référence d’activité peuvent être enregistrées et classées selon une pluralité de valeurs, incluant des motifs par exemple de type statique ou dynamique.Such a step may in particular comprise the definition of a plurality of user activity reference values. For example, during the repetition of movements, positions and displacements performed by a user over a determined duration, activity reference values can be recorded and classified according to a plurality of values, including patterns for example of the static or dynamic type. .

Un procédé selon l’invention comporte une étape d’acquisition 200 de données générées par le ou les capteurs de mouvement 21, de préférence couplé(s) à une entité mobile, notamment à une montre 11 et/ou un bracelet 12 porté par un utilisateur. L’acquisition, comme cela peut être compris à la lecture de la présente description, est de préférence réalisée pour chacun des accessoires porté par l’utilisateur et le cas échéant à la montre 11 et/ou au bracelet. Cette étape peut correspondre en particulier dans le cadre de l’invention à l’acquisition de données générées par un ou plusieurs capteurs de mouvement d’un dispositif d’encodage 20 ou de plusieurs dispositifs d’encodage 20 par exemple chacun intégré à une montre 11 et/ou à un bracelet 12. Cette acquisition pourra par exemple correspondre à une mise en mémoire, de préférence dans une mémoire vive des données générées par les capteurs. Cette acquisition pourra également correspondre à un chargement dans la mémoire d’un ou plusieurs processeurs destiné(s) à les traiter.A method according to the invention comprises a step 200 of acquiring data generated by the motion sensor(s) 21, preferably coupled to a mobile entity, in particular to a watch 11 and/or a bracelet 12 worn by a user. The acquisition, as can be understood from reading this description, is preferably carried out for each of the accessories worn by the user and, where applicable, for the watch 11 and/or the bracelet. This step may correspond in particular in the context of the invention to the acquisition of data generated by one or more motion sensors of an encoding device 20 or of several encoding devices 20, for example each integrated into a watch. 11 and/or to a wristband 12. This acquisition could for example correspond to a storage, preferably in a random access memory, of the data generated by the sensors. This acquisition may also correspond to a loading into the memory of one or more processors intended to process them.

En particulier, les données acquises sont des données brutes générées par le ou les capteurs de mouvement 21. Alternativement, les données acquises peuvent aussi correspondre à des données prétraitées. Comme cela sera décrit après, les données acquises prétraitées peuvent par exemple correspondre à des données qui ont été normalisées, filtrées, complétées ou encore à des données ayant été fusionnées par exemple par un filtrage de Kalman. De façon préférée, les données acquises comportent des valeurs variables sous forme de séries temporelles. Ces valeurs variables pourront de préférence correspondre à des valeurs d’accélération et de vitesse angulaire, mais elles peuvent par exemple aussi correspondre à des valeurs générées par des capteurs de pression. Elles pourront éventuellement comporter des données de champs magnétiques ou une fusion de ces données. Ainsi, les données générées par le ou les capteurs de mouvement peuvent comporter en outre des données de champ magnétique.In particular, the acquired data is raw data generated by the motion sensor(s) 21. Alternatively, the acquired data can also correspond to preprocessed data. As will be described below, the preprocessed acquired data can for example correspond to data which have been normalized, filtered, completed or else to data which have been merged for example by Kalman filtering. Preferably, the data acquired includes variable values in the form of time series. These variable values may preferably correspond to acceleration and angular velocity values, but they may for example also correspond to values generated by pressure sensors. They may possibly comprise magnetic field data or a fusion of these data. Thus, the data generated by the motion sensor(s) may also include magnetic field data.

Cette étape d’acquisition peut également comporter l’acquisition d’autres données telles que des données de géolocalisation, des données de température, ou encore des données de pression.This acquisition step can also include the acquisition of other data such as geolocation data, temperature data, or even pressure data.

En particulier, lorsque les données acquises ont été générées par des capteurs de mouvement couplés à une entité mobile, notamment positionnés dans une montre ou un bracelet, ces données correspondront de préférence à des valeurs d’accélération et de vitesse angulaire de l’entité mobile, notamment de la montre ou du bracelet.In particular, when the acquired data has been generated by motion sensors coupled to a mobile entity, in particular positioned in a watch or a bracelet, this data will preferably correspond to acceleration and angular speed values of the mobile entity. , in particular the watch or bracelet.

En particulier, un procédé selon l’invention peut comprendre une étape de calibration 210. Comme cela sera décrit par la suite, les capteurs de mouvement 21 peuvent être associés à l’entité mobile, plus particulièrement à un accessoire tel qu’une montre ou un bracelet, et peuvent être intégrés dans un dispositif d’encodage 20.In particular, a method according to the invention can comprise a calibration step 210. As will be described later, the motion sensors 21 can be associated with the mobile entity, more particularly with an accessory such as a watch or a bracelet, and can be integrated into an encoding device 20.

Un procédé selon l’invention peut également comporter un prétraitement 220 des données générées par les capteurs de mouvement avant ou après leur acquisition.A method according to the invention may also include a pre-processing 220 of the data generated by the motion sensors before or after their acquisition.

En particulier cette étape de prétraitement 220 peut correspondre au prétraitement des valeurs d’accélération, de vitesse angulaire et/ou d’orientation d’une montre ou d’un bracelet ou encore de valeur de pression. Par exemple elle peut comporter en particulier au moins un traitement sélectionné parmi : un filtrage fréquentiel, une suppression de la gravité sur les valeurs d’accélération, une suppression de la gravité, une suppression du bruit sur les valeurs d’accélération et une suppression de la dérive sur les valeurs de vitesse angulaire et/ou d’orientation de la montre ou du bracelet.In particular, this preprocessing step 220 can correspond to the preprocessing of the acceleration, angular velocity and/or orientation values of a watch or of a bracelet or else of the pressure value. For example, it may include in particular at least one processing selected from: frequency filtering, suppression of gravity on the acceleration values, suppression of gravity, suppression of noise on the acceleration values and suppression of the drift on the values of angular speed and/or orientation of the watch or bracelet.

Comme cela a été mentionné et illustré à la , un procédé selon l’invention peut comporter une étape d’extraction 230 d’une séquence temporelle pouvant correspondre à une unité de mouvement.As mentioned and illustrated in , a method according to the invention may include a step 230 for extracting a time sequence that may correspond to a movement unit.

L’unité de mouvement au sens de l’invention peut correspondre à un enchaînement d’un ou de plusieurs mouvements identiques ou différents, tel qu’à titre d’exemples non limitatifs une flexion, une rotation, une translation ou une extension. Ces mouvements peuvent être définis comme la période de temps allant de l’initiation d’un mouvement, par exemple du bras de l’utilisateur équipé de la montre 11 ou du bracelet 12, à l’occurrence suivante du même événement ou du même mouvement avec le même bras.The unit of movement within the meaning of the invention may correspond to a sequence of one or more identical or different movements, such as, by way of non-limiting examples, flexion, rotation, translation or extension. These movements can be defined as the period of time going from the initiation of a movement, for example of the arm of the user equipped with the watch 11 or the bracelet 12, to the following occurrence of the same event or of the same movement. with the same arm.

Dans le cadre de l’invention, de nombreuses méthodes de partitionnement peuvent être utilisées. Ainsi cette étape peut par exemple comporter la mise en œuvre d’étapes classiques d’étude du mouvement, par exemple la méthode Pan-Tompkins ou la détection de seuils, de maxima et/ou de minima.In the context of the invention, many partitioning methods can be used. Thus this step can for example include the implementation of classic motion study steps, for example the Pan-Tompkins method or the detection of thresholds, maxima and/or minima.

L’extraction 230 pourra avantageusement mettre en œuvre un modèle d’apprentissage automatique, de préférence un modèle d’apprentissage automatique non supervisé.The extraction 230 may advantageously implement a machine learning model, preferably an unsupervised machine learning model.

Un procédé selon l’invention comporte également une étape de calcul 300 d’une pluralité de descripteurs à partir des données acquises sur une fenêtre temporelle 31.A method according to the invention also includes a step 300 of calculating a plurality of descriptors from the data acquired over a time window 31.

Avantageusement, cette étape de calcul peut être répétée pour plusieurs fenêtres temporelles 31 consécutives. Comme cela sera décrit par la suite, les fenêtres temporelles 31 consécutives forment une séquence temporelle 32. Cela est notamment illustré aux figures 3A et 3B.Advantageously, this calculation step can be repeated for several consecutive time windows 31 . As will be described below, the consecutive time windows 31 form a time sequence 32. This is particularly illustrated in FIGS. 3A and 3B.

Les figures 3A et 3B représentent des données générées par un capteur de mouvement, par exemple des données d’accélération selon l’axe x, prétraitées ou non. Ces données peuvent être divisées en séquence temporelle 32, deux à la , puis subdivisées en fenêtres temporelles 31.FIGS. 3A and 3B represent data generated by a motion sensor, for example acceleration data along the x axis, preprocessed or not. This data can be divided into 32 time sequence, two at the , then subdivided into 31 time windows.

Comme cela a été présenté, un procédé selon l’invention peut comporter une étape d’extraction 230 d’une séquence temporelle 32 pouvant correspondre à une unité de mouvement. Alternativement, une séquence temporelle 32 pourra correspondre à une fenêtre glissante comme cela est illustré à la figure 3B. En outre, comme cela est illustré à la figure 3B, de façon préférée, les séquences temporelles 32 peuvent être chevauchantes.As has been presented, a method according to the invention may comprise a step 230 of extracting a time sequence 32 which may correspond to a movement unit. Alternatively, a time sequence 32 could correspond to a sliding window as illustrated in FIG. 3B. Further, as illustrated in Figure 3B, preferably, time sequences 32 may overlap.

La fenêtre temporelle 31 ne correspond pas obligatoirement à une durée prédéterminée. En outre, de préférence, elle ne correspond pas à une durée prédéterminée. Par exemple, la durée de la fenêtre temporelle 31 peut être définie une fois qu’une unité de mouvement, ou un type de mouvement a été identifié.The time window 31 does not necessarily correspond to a predetermined duration. Furthermore, preferably, it does not correspond to a predetermined duration. For example, the duration of the time window 31 can be defined once a unit of movement, or a type of movement has been identified.

Comme cela est illustré à la figure 3B, toutes les fenêtres temporelles 31 d’une séquence temporelle 32 peuvent présenter une durée identique. En outre, les fenêtres temporelles 31 de deux séquences temporelles 32 consécutives peuvent présenter des durées différentes.As illustrated in FIG. 3B, all the time slots 31 of a time sequence 32 can have an identical duration. Furthermore, the time windows 31 of two consecutive time sequences 32 may have different durations.

Ainsi, la durée d’une fenêtre temporelle peut s’adapter à la durée d’une unité de mouvement. Cela permet de considérer des déplacements indépendamment de leur temps d’exécution.Thus, the duration of a time window can be adapted to the duration of a movement unit. This makes it possible to consider movements independently of their execution time.

Par exemple, la durée de chacune des fenêtres temporelles 31 d’une séquence temporelle 32 pourra correspondre à une fraction prédéterminée de la durée de la séquence temporelle 32.For example, the duration of each of the time slots 31 of a time sequence 32 could correspond to a predetermined fraction of the duration of the time sequence 32.

La durée d’une fenêtre temporelle 31 pourra par exemple être comprise entre 25 et 1000 ms tandis que la durée d’une séquence temporelle 32 pourra par exemple être comprise entre 100 et 5000 ms. Une fenêtre temporelle 31 pourra par exemple représenter entre 1/20 et 1/4 d’une séquence temporelle 32, de préférence entre 1/10 et 1/5 d’une séquence temporelle 32.The duration of a time window 31 may for example be between 25 and 1000 ms while the duration of a time sequence 32 may for example be between 100 and 5000 ms. A time window 31 could for example represent between 1/20 and 1/4 of a time sequence 32, preferably between 1/10 and 1/5 of a time sequence 32.

Avantageusement, les descripteurs sont calculés à partir de fonctions mathématiques appliquées aux données générées par le ou les capteurs de mouvement 21, prétraitées ou non. Les fonctions mathématiques comportent de préférence des calculs d’asymétrie statistique, de coefficient d’aplatissement, de valeurs des extremums, de comparaisons des valeurs de bord des sous-ensembles du mouvement et/ou d’un calcul de topologie de données.Advantageously, the descriptors are calculated from mathematical functions applied to the data generated by the motion sensor(s) 21, preprocessed or not. The mathematical functions preferably include calculations of statistical asymmetry, kurtosis coefficient, values of extremums, comparisons of the edge values of the subsets of the movement and/or a calculation of data topology.

En outre, les fonctions mathématiques implémentées peuvent permettre de calculer des descripteurs dits « topologiques » permettant d’extraire, de mesurer et de comparer des informations structurelles cachées au sein de données complexes. Dans ce cas, les fonctions mathématiques peuvent être adaptées pour permettre le calcul de la topologie des données via notamment la détermination d’un diagramme de persistance uni ou multidimensionnelle (comme présenté dans H. Edelsbrunner and J. Harer.Computational Topology: An Introduction.American Mathematical Society, 2009, ou encore dans H. Edelsbrunner, D. Letscher, and A. Zomorodian.Topological persistence and simplification. Disc. Compu. Geom., 2002), du graphe de Reeb (J. Tierny, A. Gyulassy, E. Simon, and V. Pascucci. Loop surgery for volu-metric meshes: Reeb graphs reduced to contour trees. IEEE Transactionson Visualization and Computer Graphics(Proc. of IEEE VIS), 2009.), ou encore du complexe de Morse-Smale (A. Gyulassy, P. T. Bremer, B. Hamann, and V. Pascucci. A practical approach to morse-smale complex computation: Scalability and generality.IEEE Transactions on Visualization and Computer Graphics(Proc. Of IEEE VIS), 2008). Bien entendu, le calcul de ces descripteurs topologiques ne se limite pas à l’utilisation des fonctions mathématiques décrites uniquement à titre d’exemples indicatifs, d’autres fonctions mathématiques peuvent être utilisées afin de déterminer d’autres types de descripteurs topologiques.In addition, the implemented mathematical functions can make it possible to calculate so-called “topological” descriptors making it possible to extract, measure and compare structural information hidden within complex data. In this case, the mathematical functions can be adapted to allow the calculation of the topology of the data via in particular the determination of a unidimensional or multidimensional persistence diagram (as presented in H. Edelsbrunner and J. Harer. Computational Topology: An Introduction. American Mathematical Society, 2009, or in H. Edelsbrunner, D. Letscher, and A. Zomorodian. Topological persistence and simplification . Disc. Compu. Geom., 2002), of the Reeb graph (J. Tierny, A. Gyulassy, E. Simon, and V. Pascucci. Loop surgery for volu-metric meshes: Reeb graphs reduced to contour trees . IEEE Transactionson Visualization and Computer Graphics (Proc. of IEEE VIS), 2009.), or the Morse-Smale complex (A. Gyulassy, PT Bremer, B. Hamann, and V. Pascucci. A practical approach to morse-smale complex computation: Scalability and generality. IEEE Transactions on Visualization and Computer Graphics (Proc. Of IEEE VIS), 2008). Of course, the calculation of these topological descriptors is not limited to the use of the mathematical functions described solely by way of indicative examples, other mathematical functions can be used in order to determine other types of topological descriptors.

De façon préférée, les fonctions mathématiques appliquées incorporent des données provenant de plusieurs capteurs de mouvement pour générer une donnée codée sur au plus huit bits, de préférence au plus trois bits, de façon plus préférée au plus deux bits. Par exemple, dans le cas d’une centrale inertielle générant des données d’accélération sur trois axes, un descripteur codé sur au plus trois bits, de préférence au plus deux bits, pourra avoir été généré à partir des valeurs des trois axes.Preferably, the mathematical functions applied incorporate data coming from several motion sensors to generate data coded on at most eight bits, preferably at most three bits, more preferably at most two bits. For example, in the case of an inertial unit generating acceleration data on three axes, a descriptor coded on at most three bits, preferably at most two bits, may have been generated from the values of the three axes.

En outre, les fonctions mathématiques appliquées peuvent avantageusement incorporer des données provenant d’une fenêtre temporelle antérieure pour calculer un descripteur d’une fenêtre donnée. Ainsi, les valeurs des descripteurs peuvent transcrire une évolution des valeurs générées par les capteurs de mouvement.Furthermore, the applied mathematical functions can advantageously incorporate data from an earlier time window to calculate a descriptor of a given window. Thus, the values of the descriptors can transcribe an evolution of the values generated by the motion sensors.

De façon préférée, les fonctions mathématiques appliquées peuvent incorporer également des variables ne provenant pas des capteurs de mouvements.Preferably, the mathematical functions applied can also incorporate variables not originating from the motion sensors.

De façon préférée, l’étape de calcul 300 d’une pluralité de descripteurs comportera le calcul d’au moins 4 descripteurs, de préférence d’au moins six descripteurs pour chacune des fenêtres temporelles 31.Preferably, the calculation step 300 of a plurality of descriptors will include the calculation of at least 4 descriptors, preferably at least six descriptors for each of the time windows 31.

Un procédé selon l’invention comporte une étape de transformation 400 de la pluralité de descripteurs.A method according to the invention comprises a step 400 of transformation of the plurality of descriptors.

Cette étape de transformation 400 de la pluralité de descripteurs comporte avantageusement un codage de descripteurs, chacun sur au plus huit bits, de préférence au plus cinq bits, de façon plus préférée d’au plus quatre bits, de façon encore plus préférée d’au plus trois bits, par exemple chacun sur au plus deux bits. De façon préférée, lors de l’étape de transformation 400, les descripteurs de la pluralité de descripteurs sont transformés chacun en une donnée codée sur deux bits.This step 400 of transformation of the plurality of descriptors advantageously comprises a coding of descriptors, each on at most eight bits, preferably at most five bits, more preferably on at most four bits, even more preferably on at most plus three bits, for example each on at most two bits. Preferably, during the transformation step 400, the descriptors of the plurality of descriptors are each transformed into a data item coded on two bits.

Généralement, tous les descripteurs calculés feront l’objet d’un encodage. Néanmoins, il est possible que tous les descripteurs calculés ne fassent pas l’objet d’un encodage. Par exemple, le procédé selon l’invention peut comporter une étape de sélection des descripteurs qui feront l’objet d’un encodage ou non.Generally, all the calculated descriptors will be encoded. Nevertheless, it is possible that not all the calculated descriptors are encoded. For example, the method according to the invention may comprise a step of selecting the descriptors which will be the subject of an encoding or not.

Généralement, cet encodage sera exclusivement associé à un descripteur. Toutefois, il est possible que plusieurs descripteurs concourent à la définition d’une valeur encodée sur au plus huit bits qui sera complémentaire à des valeurs encodées propre à un descripteur. En outre, il est possible qu’un descripteur soit impliqué dans la définition de plusieurs valeurs encodées sur au plus huit bits. Dans un mode de réalisation, lors de l’étape de transformation 400, plusieurs descripteurs pourraient être utilisés pour générer une donnée codée sur deux bits, complémentaire.Generally, this encoding will be exclusively associated with a descriptor. However, it is possible that several descriptors contribute to the definition of a value encoded on at most eight bits which will be complementary to encoded values specific to a descriptor. Furthermore, it is possible for a descriptor to be involved in the definition of several values encoded on at most eight bits. In one embodiment, during the transformation step 400, several descriptors could be used to generate complementary two-bit coded data.

Les inventeurs ont testé plusieurs méthodes de traitement des données générées par les capteurs de mouvements. En outre, ils ont testé plusieurs méthodes permettant de réduire la dimensionnalité des données produites par ces capteurs de mouvements. Toutefois c’est la méthode selon la présente invention qui a permis d’atteindre les meilleurs résultats en termes de consommation énergétique et de compression des données tout en conservant l’information utile des données transmises pour représenter correctement le déplacement de l’utilisateur.The inventors have tested several methods for processing the data generated by the motion sensors. In addition, they tested several methods to reduce the dimensionality of the data produced by these motion sensors. However, it is the method according to the present invention that has made it possible to achieve the best results in terms of energy consumption and data compression while retaining the useful information of the data transmitted to correctly represent the movement of the user.

Le tableau 1 ci-dessous représente des données normalisées des performances du système en fonction du traitement des données acquises depuis les capteurs de données avant transmission.Table 1 below represents normalized data of system performance based on the processing of data acquired from the data sensors before transmission.

Tableau 1 : Consommation de la batterie Conservation de l’information utile des données Stockage requis des données Pas de codage 100 1 100 Codage sur un bit ; 4 descripteurs 1 38,2 1 Codage sur deux bits ; 4 descripteurs 5,5 23,7 3,7 Codage sur trois bits ; 4 descripteurs 15,1 14,2 5,2 Codage sur quatre bits ; 4 descripteurs 21,9 9 16 Codage sur un bit ; 8 descripteurs 3,1 24,1 3,2 Codage sur deux bits ; 8 descripteurs 10,8 11,9 7,3 Codage sur trois bits ; 8 descripteurs 26,5 8 16,5 Codage sur quatre bits ; 8 descripteurs 34 4,9 29,1 Codage sur huit bits ; 8 descripteurs 59 2,4 42,6 Table 1: Battery consumption Preservation of useful data information Required data storage No coding 100 1 100 One-bit encoding; 4 descriptors 1 38.2 1 Two-bit encoding; 4 descriptors 5.5 23.7 3.7 Three-bit encoding; 4 descriptors 15.1 14.2 5.2 Four-bit encoding; 4 descriptors 21.9 9 16 One-bit encoding; 8 descriptors 3.1 24.1 3.2 Two-bit encoding; 8 descriptors 10.8 11.9 7.3 Three-bit encoding; 8 descriptors 26.5 8 16.5 Four-bit encoding; 8 descriptors 34 4.9 29.1 Eight-bit encoding; 8 descriptors 59 2.4 42.6

Ainsi, les valeurs de consommation de la batterie correspondent à des valeurs de consommation de la batterie normalisée en fonction de la plus haute consommation (100) et de la plus basse consommation (1). Les valeurs de conservation de l’information utile des données correspondent à des valeurs normalisées en fonction d’une capacité à conserver une quantité maximale d’information (1) et d’une conservation minimale (100). En particulier, la conservation de l’information des données est estimée à travers la précision des prédictions des mouvements par un ensemble de modèles d’apprentissage automatique et supervisés sur la base des données encodées. Enfin, les valeurs de stockage requises des données correspondent au volume en termes d’espace mémoire normalisé de la valeur la plus élevée (100) à la valeur la plus basse (1).Thus, the battery consumption values correspond to normalized battery consumption values according to the highest consumption (100) and the lowest consumption (1). The conservation values of the useful information of the data correspond to normalized values according to a capacity to preserve a maximum quantity of information (1) and a minimum conservation (100). In particular, the information retention of the data is estimated through the accuracy of motion predictions by a set of machine learning models and supervised based on the encoded data. Finally, the required data storage values correspond to the volume in terms of normalized memory space from the highest value (100) to the lowest value (1).

De façon préférée, lors de l’étape de transformation 400, au moins huit descripteurs sont utilisés et chacun codé sur au moins un bit, de façon plus préférée au moins deux bits. De façon générale, lors de l’étape de transformation 400, des descripteurs sont chacun codés sur au plus huit bits, de façon préférée au plus six bits et de façon encore plus préférée au plus quatre bits.Preferably, during the transformation step 400, at least eight descriptors are used and each encoded on at least one bit, more preferably at least two bits. Generally, during the transformation step 400, descriptors are each coded on at most eight bits, preferably at most six bits and even more preferably at most four bits.

Par exemple, parmi les modes de réalisation préférée, lors de l’étape de transformation 400, le codage est réalisé sur :For example, among the preferred embodiments, during the transformation step 400, the coding is performed on:

  • un bit pour entre 4 et 20 descripteurs, par exemple quatre descripteurs ou huit descripteurs ;one bit for between 4 and 20 descriptors, for example four descriptors or eight descriptors;
  • deux bits pour entre 4 et 20 descripteurs, par exemple quatre descripteurs ou huit descripteurs ;two bits for between 4 and 20 descriptors, for example four descriptors or eight descriptors;
  • trois bits pour entre 4 et 20 descripteurs, par exemple quatre descripteurs.three bits for between 4 and 20 descriptors, for example four descriptors.

Le codage sera de préférence réalisé pour chacune des fenêtres temporelles 31.The coding will preferably be carried out for each of the time slots 31.

Ainsi, les données encodées sur au plus deux bits et associés à une fenêtre temporelle 31 seront de préférence représentatives de ce qui pourrait être considéré comme un phonème de mouvement de l’entité mobile ou du bras de l’utilisateur équipé d’une montre ou d’un bracelet. Alternativement, ces données encodées sur au plus deux bits et associés à une fenêtre temporelle 31 peuvent être considérées comme un phonème si une phonémisation des mouvements associés au déplacement est considérée.Thus, the data encoded on at most two bits and associated with a time window 31 will preferably be representative of what could be considered as a movement phoneme of the mobile entity or of the arm of the user equipped with a watch or of a bracelet. Alternatively, this data encoded on at most two bits and associated with a time window 31 can be considered as a phoneme if a phonemization of the movements associated with the displacement is considered.

Avantageusement, plusieurs données encodées (e.g. une pluralité de descripteurs chacun encodé sur au plus deux bits) caractérisent un phonème de mouvement et plusieurs phonèmes de mouvement caractérisent un mouvement.Advantageously, several encoded data (e.g. a plurality of descriptors each encoded on at most two bits) characterize a movement phoneme and several movement phonemes characterize a movement.

Ainsi, les données encodées sous une série de valeurs encodées sur au plus deux bits associés à une fenêtre temporelle 31 sont représentatives d’un micromouvement de l’utilisateur, en particulier d’un objet tel qu’une montre ou un bracelet porté par l’utilisateur .Thus, the data encoded under a series of values encoded on at most two bits associated with a time window 31 are representative of a micro-movement of the user, in particular of an object such as a watch or a bracelet worn by the user. 'user .

Le tableau 2 ci-dessous illustre un exemple de données obtenues à la suite d’une étape de transformation selon l’invention. FT1 FT2 FT3 Calculée Encodée Calculée Encodée Calculée Encodée Descripteur 1 12,45989 -1 70,8759 1 49,3476 0 Descripteur 2 9,7228 -1 23,7459 0 93,8016 2 Descripteur 3 69,7904 1 69,0302 1 1,6486 -1 Descripteur 4 17,9573 -1 24,2259 0 38,1186 0 Descripteur 5 24,2259 0 147,2232 2 72,8551 1 Table 2 below illustrates an example of data obtained following a transformation step according to the invention. FT1 FT2 FT3 Calculated Encoded Calculated Encoded Calculated Encoded Descriptor 1 12.45989 -1 70.8759 1 49.3476 0 Descriptor 2 9.7228 -1 23.7459 0 93.8016 2 Descriptor 3 69.7904 1 69.0302 1 1.6486 -1 Descriptor 4 17.9573 -1 24.2259 0 38.1186 0 Descriptor 5 24.2259 0 147.2232 2 72.8551 1

Le codage des descripteurs et donc des valeurs obtenues peut être réalisé sur la base d’intervalles prédéterminés. Par exemple, dans le cadre du descripteur 1 pouvant correspondre à une valeur maximale d’accélération sur l’axe Y, le procédé selon l’invention peut faire appel à des règles prédéterminées selon lesquelles une valeur inférieure à 20 sera transformée en une valeur « -1 », une valeur de 20 à 50 (50 inclus) sera transformée en une valeur « 0 », une valeur comprise entre 50 (50 exclu) et 80 (80 exclu) sera transformée en une valeur « 1 », et une valeur supérieure ou égale à 80 sera transformée en une valeur « 2 ». Ainsi, le descripteur 1 est transformé en une donnée codée sur au plus huit bits, en l’occurrence 2 bits.The coding of the descriptors and therefore of the values obtained can be carried out on the basis of predetermined intervals. For example, in the context of descriptor 1 which can correspond to a maximum value of acceleration on the Y axis, the method according to the invention can call upon predetermined rules according to which a value less than 20 will be transformed into a value " -1", a value from 20 to 50 (50 inclusive) will be transformed into a value "0", a value between 50 (50 excluded) and 80 (80 excluded) will be transformed into a value "1", and a value greater than or equal to 80 will be transformed into a value “2”. Thus, descriptor 1 is transformed into data coded on at most eight bits, in this case 2 bits.

Les intervalles prédéterminés peuvent être modifiés dans le temps soit automatiquement en fonction des valeurs obtenues soit au travers de mises à jour.The predetermined intervals can be modified over time either automatically according to the values obtained or through updates.

Le codage des descripteurs peut également correspondre à des comparaisons de valeurs de descripteurs différents ou d’un même descripteur sur plusieurs fenêtres temporelles 31. Par exemple, si le descripteur 3, qui peut correspondre à la moyenne de l’accélération sur l’axe x, ne varie pas de plus de 10 % entre les fenêtres FT0 et FT1 alors sa valeur sera transformée en une valeur « 1 ». De la même façon, le descripteur 3 ne varie pas de plus de 10 % entre les fenêtres FT1 et FT2 alors sa valeur sera transformée en une valeur « 1 ». Par contre, le descripteur 3 varie de plus de 80 % à la baisse entre les fenêtres FT2 et FT3 alors sa valeur sera transformée en une valeur « -1 ».The coding of the descriptors can also correspond to comparisons of values of different descriptors or of the same descriptor over several time windows 31. For example, if the descriptor 3, which can correspond to the average of the acceleration on the x axis , does not vary by more than 10% between the windows FT0 and FT1 then its value will be transformed into a value "1". Similarly, descriptor 3 does not vary by more than 10% between windows FT1 and FT2, so its value will be transformed into a value “1”. On the other hand, descriptor 3 varies by more than 80% downwards between windows FT2 and FT3, so its value will be transformed into a “-1” value.

Ainsi, le codage des descripteurs, c’est-à-dire la génération pour chacun des descripteurs d’une donnée codée sur au plus huit bits, peut être avantageusement basée sur des règles prédéterminées. En outre, elle peut avantageusement prendre en compte des intervalles prédéterminés, des évolutions de valeurs dans le temps et/ou des résultats d’opération mathématiques entre les descripteurs.Thus, the coding of the descriptors, that is to say the generation for each of the descriptors of a datum coded on at most eight bits, can advantageously be based on predetermined rules. In addition, it can advantageously take into account predetermined intervals, changes in values over time and/or results of mathematical operations between the descriptors.

Un procédé selon l’invention pourra conduire, comme cela sera décrit par la suite, la génération d’un tenseur de données qui pourrait selon l’exemple ci-dessus être représenté sous la forme suivant :A method according to the invention may lead, as will be described later, to the generation of a data tensor which could, according to the example above, be represented in the following form:

V1 = {-1,-1,1,-1,0 ;1,0,1,0,2 ;0 ;2,-1,0,1}V1 = {-1,-1,1,-1,0;1,0,1,0,2;0;2,-1,0,1}

Un tel tenseur de données comporte plusieurs ensembles de données encodées en au plus deux bits. Par exemple il comporte un ensemble de cinq valeurs encodées en au plus deux bits correspondants à l’encodage de descripteurs pour la fenêtre temporelle notée « FT1 » ; un ensemble de cinq valeurs encodées en au plus deux bits correspondants à l’encodage de descripteurs pour la fenêtre temporelle notée « FT2 » ; et un ensemble de cinq valeurs encodées en au plus deux bits correspondants à l’encodage de descripteurs pour la fenêtre temporelle notée « FT3 ».Such a data tensor comprises several sets of data encoded in at most two bits. For example, it comprises a set of five values encoded in at most two bits corresponding to the encoding of descriptors for the time window denoted "FT1"; a set of five values encoded in at most two bits corresponding to the encoding of descriptors for the time window denoted "FT2"; and a set of five values encoded in at most two bits corresponding to the encoding of descriptors for the time window denoted “FT3”.

Ainsi, si les fenêtres temporelles FT1, FT2 et FT3 (tableau 2) correspondent à une séquence temporelle 32 et donc à une unité de mouvement alors ledit mouvement d’une seconde peut être décrit par quinze valeurs encodées sur deux bits soit dans le cas illustré par 30 bits. En outre, dans le cas de l’utilisation d’une séquence temporelle 32 glissante alors, un tel mouvement pourrait être représenté par cinq fenêtres temporelles 32 soit 150 bits.Thus, if the time windows FT1, FT2 and FT3 (table 2) correspond to a time sequence 32 and therefore to a unit of movement then said movement of one second can be described by fifteen values encoded on two bits either in the case illustrated by 30 bits. In addition, in the case of the use of a sliding time sequence 32 then, such a movement could be represented by five time windows 32 or 150 bits.

Cela est à comparer aux 14400 bits des données de capteurs de mouvements tels que des centrales inertielles 9 axes échantillonnant un mouvement d’une seconde à 100 Hz.This is to be compared to the 14400 bits of data from motion sensors such as 9-axis inertial units sampling a movement of one second at 100 Hz.

La présente invention permet donc, avec une réduction minime de l’information, une réduction des flux de données nécessaires d’un ordre cent environ engendrant une réduction de la consommation énergétique et des capacités de stockage nécessaires.The present invention therefore makes it possible, with a minimal reduction in information, to reduce the necessary data flows by an order of about one hundred, generating a reduction in energy consumption and in the necessary storage capacities.

Ainsi, un procédé selon l’invention peut comporter également une étape de génération 500 d’un tenseur de données comportant les données codées obtenues pour chacune des fenêtres temporelles 31.Thus, a method according to the invention can also include a step 500 of generating a data tensor comprising the coded data obtained for each of the time windows 31.

Le tenseur de données comportant les données codées obtenues pour chacune des fenêtres temporelles 31 notées « FT » dans le tableau 2 peut correspondre à une pluralité de tenseurs de données comportant chacun les données codées obtenues pour une fenêtre temporelle 31.The data tensor comprising the coded data obtained for each of the time windows 31 denoted “FT” in table 2 can correspond to a plurality of data tensors each comprising the coded data obtained for a time window 31.

Ainsi, le tenseur de données comporte de préférence un encodage d’une combinaison de plusieurs phonèmes de mouvement de l’entité mobile et en particulier de l’utilisateur de préférence d’une montre ou d’un bracelet. Le tenseur de données comporte avantageusement un encodage qui est représentatif d’une position ou d’un mouvement de la montre ou du bracelet porté par l’utilisateur.Thus, the data tensor preferably comprises an encoding of a combination of several movement phonemes of the mobile entity and in particular of the user, preferably of a watch or a bracelet. The data tensor advantageously comprises an encoding which is representative of a position or of a movement of the watch or of the bracelet worn by the user.

Les inventeurs ont en outre montré que l’utilisation d’un tel tenseur de données, comportant des données codées sur au plus huit bits, de préférence au plus trois bits, de façon plus préférée au plus deux bits, permet d’améliorer la performance d’un modèle d’apprentissage automatique reposant sur un tel tenseur de données. En effet, un modèle d’apprentissage automatique reposant sur un encodage selon l’invention présentera le cas échéant une taille de réseau de neurones réduite et/ou un temps de calcul réduit tout en étant tolérant aux variabilités statistiques des populations représentatives des jeux de données et flexible à la sensibilité mécanique des capteurs inertiels.The inventors have also shown that the use of such a data tensor, comprising data coded on at most eight bits, preferably at most three bits, more preferably at most two bits, makes it possible to improve the performance of a machine learning model based on such a data tensor. Indeed, an automatic learning model based on an encoding according to the invention will, if necessary, have a reduced neural network size and/or a reduced calculation time while being tolerant to the statistical variabilities of the representative populations of the data sets. and flexible to the mechanical sensitivity of inertial sensors.

Avantageusement, le tenseur de données comporte une série codée sur quatre bits au plus, de préférence trois bits au plus et de façon plus préférée deux bits au plus. Cependant, il pourra comporter d’autres données qui ne seront pas obligatoirement codées sur au plus deux bits. Par exemple, le tenseur de données pourra comporter des données non encodées pouvant correspondre à des attributs calculés au niveau par exemple de la montre ou du bracelet et décrivant un aspect d’un déplacement de l’utilisateur.Advantageously, the data tensor comprises a series coded on four bits at most, preferably three bits at most and more preferably two bits at most. However, it may include other data which will not necessarily be coded on at most two bits. For example, the data tensor may include non-encoded data that may correspond to attributes calculated at the level of the watch or bracelet, for example, and describing an aspect of a user's movement.

Alternativement, le tenseur de données 34 correspond à une série codée sur huit bits au plus, de préférence au plus trois bits, de préférence deux bits au plus.Alternatively, the data tensor 34 corresponds to a series coded on eight bits at most, preferably at most three bits, preferably two bits at most.

L’étape de génération 500 peut comporter la génération de plusieurs tenseurs de données pour une fenêtre temporelle 31. C’est par exemple le cas si un tenseur de données est généré pour chacun des axes d’une plateforme inertielle. Alternativement un tenseur de données peut comporter les données codées concernant plusieurs axes d’une plateforme inertielle.The generation step 500 can include the generation of several data tensors for a time window 31. This is the case, for example, if a data tensor is generated for each of the axes of an inertial platform. Alternatively a data tensor can include coded data concerning several axes of an inertial platform.

Un procédé selon l’invention peut comporter également une étape de transmission 600 du tenseur de données.A method according to the invention may also include a step 600 of transmitting the data tensor.

Avantageusement, les données étant codées sur au plus huit bits, la transmission peut avantageusement faire l’objet d’une concaténation au sein de trames de données permettant le transfert de trames de données par exemple de 8 bits, 16 bits ou 32 bits. Ainsi le nombre de message est réduit par l’optimisation de l’occupation des trames. Ainsi les trames de transmission sont optimisées réduisant le cout énergétique et le cout de vérification des paquets (e.g. Ack…). Cela est particulièrement significatif dans le cadre des transmissions basses énergie telle que BLE (pour Bluetooth Low Energy en terminologie anglo-Saxonne) ou Zigbee.Advantageously, the data being coded on at most eight bits, the transmission can advantageously be the subject of a concatenation within data frames allowing the transfer of data frames for example of 8 bits, 16 bits or 32 bits. Thus the number of messages is reduced by optimizing the occupation of the frames. Thus the transmission frames are optimized reducing the energy cost and the cost of verifying the packets (e.g. Ack…). This is particularly significant in the context of low energy transmissions such as BLE (for Bluetooth Low Energy in Anglo-Saxon terminology) or Zigbee.

Bien qu’une étape de détermination d’un mouvement ou plus globalement d’un déplacement d’un utilisateur puisse être réalisée au niveau du dispositif réalisant l’étape d’acquisition 200 de données générées par le ou les capteurs de mouvement, il est également possible de diviser les traitements et d’interpréter le tenseur de données dans un dispositif électronique différent du dispositif électronique ayant généré le tenseur de données.Although a step of determining a movement or more generally a movement of a user can be carried out at the level of the device carrying out the step 200 of acquiring data generated by the movement sensor(s), it is also possible to divide the processings and to interpret the data tensor in an electronic device different from the electronic device having generated the data tensor.

La transmission pourra par exemple être réalisée par des moyens de communication sans fil tel que des radiocommunications. La transmission du tenseur de données se faisant alors de préférence vers un dispositif mobile externe. La transmission du tenseur de données pourrait également se faire vers un dispositif informatique distant tel qu’un serveur de traitement de données.The transmission could for example be carried out by means of wireless communication such as radio communications. The transmission of the data tensor then preferably takes place to an external mobile device. Transmission of the data tensor could also be to a remote computing device such as a data processing server.

La transmission du tenseur de données peut également se faire directement vers un dispositif de traitement des données mesurées par un capteur de mouvement à un autre. Par exemple d’une montre à un bracelet ou d’un bracelet à un autre bracelet. La transmission du tenseur de données peut être réalisée en continu avec la transmission d’un tenseur de données à la fois. Elle peut également correspondre à la transmission de plusieurs tenseurs de données. Par exemple une transmission peut comporter plusieurs tenseurs de données chacun correspondant à une fenêtre temporelle différente ou encore à des tenseurs de données générés à partir de variables de capteurs de mouvement différents.The transmission of the data tensor can also be done directly to a device for processing the data measured by one motion sensor to another. For example from a watch to a bracelet or from a bracelet to another bracelet. Data tensor transmission can be performed continuously with the transmission of one data tensor at a time. It can also correspond to the transmission of several data tensors. For example, a transmission can comprise several data tensors each corresponding to a different time window or even to data tensors generated from variables of different motion sensors.

Selon un autre aspect, la présente invention porte sur un procédé de détermination 2 d’un déplacement d’une entité mobile. De façon préférée, le procédé de détermination 2 d’un déplacement d’une entité mobile correspond à un procédé de détermination de la démarche d’un être vivant, de préférence d’un être humain, utilisant le dispositif d’encodage 20.According to another aspect, the present invention relates to a method 2 for determining a movement of a mobile entity. Preferably, the method 2 for determining a movement of a mobile entity corresponds to a method for determining the gait of a living being, preferably a human being, using the encoding device 20.

De préférence, la détermination du déplacement de l’entité mobile ou la détermination de la démarche correspond à la détermination d’une position, un mouvement, ou une activité de l’entité mobile, ou en particulier à une position, un mouvement, ou une activité de l’utilisateur.Preferably, the determination of the movement of the mobile entity or the determination of the gait corresponds to the determination of a position, a movement, or an activity of the mobile entity, or in particular to a position, a movement, or user activity.

Le procédé de détermination 2 sera de préférence exécuté par un ou plusieurs processeurs. Avantageusement, le procédé de détermination 2 d’un déplacement d’un utilisateur est mis en œuvre au moins en partie au niveau d’un dispositif d’encodage 20 couplé à l’utilisateur, de préférence positionné sur un bras de l’utilisateur, par exemple dans une montre ou dans un bracelet porté par l’utilisateur. Alternativement, le procédé de détermination 2 d’un déplacement d’un utilisateur est mis en œuvre au moins en partie au niveau d’un terminal externe 30 tel qu’un dispositif mobile, ou d’une infrastructure informatique.The determination method 2 will preferably be executed by one or more processors. Advantageously, the method 2 for determining a movement of a user is implemented at least in part at the level of an encoding device 20 coupled to the user, preferably positioned on an arm of the user, for example in a watch or in a bracelet worn by the user. Alternatively, the method 2 for determining a user's movement is implemented at least in part at the level of an external terminal 30 such as a mobile device, or of a computer infrastructure.

Une telle détermination se fera de préférence à partir de données encodées, ou susceptibles d’être encodées, selon un procédé d’encodage 1 selon la présente invention.Such a determination will preferably be made from data encoded, or capable of being encoded, according to an encoding method 1 according to the present invention.

En particulier, le procédé de détermination 2 d’un déplacement d’une entité mobile selon l’invention se basera au moins en partie sur des données encodées. En particulier, les données encodées prennent la forme d’une série temporelle pour laquelle chaque fenêtre temporelle 31 comporte au moins quatre données encodées sur au plus huit bits, de préférence au plus trois bits, de façon plus préférée au plus deux bits. De façon préférée, chaque fenêtre temporelle 31 comporte entre 4 et 50 données encodées sur au plus huit bits, de préférence au plus trois bits, de façon plus préférée au plus deux bits. La série temporelle peut correspondre par exemple à une ou plusieurs unité(s) de mouvement et chacune des unités de mouvement étant formées par plusieurs fenêtres temporelles 31.In particular, the method 2 for determining a movement of a mobile entity according to the invention will be based at least in part on encoded data. In particular, the encoded data takes the form of a time series for which each time window 31 comprises at least four data encoded on at most eight bits, preferably at most three bits, more preferably at most two bits. Preferably, each time window 31 comprises between 4 and 50 data encoded on at most eight bits, preferably at most three bits, more preferably at most two bits. The time series can correspond for example to one or more movement unit(s) and each of the movement units being formed by several time windows 31.

En particulier, le procédé de détermination 2 du déplacement d’une entité mobile selon l’invention se basera au moins en partie sur des données encodées qui prennent la forme d’un ou plusieurs tenseurs de données comportant pour chaque fenêtre temporelle 31 au moins quatre données encodées sur au plus huit bits, de préférence au plus trois bits, de façon plus préférée au plus deux bits. De façon préférée, chaque fenêtre temporelle 31 est représentée par 4 à 50 données encodées sur au plus trois bits, de préférence au plus deux bits. Les un ou plusieurs tenseurs de données correspondant par exemple à un ou plusieurs mouvement(s) et chacun des mouvements étant formés représentés par plusieurs fenêtres temporelles.In particular, the method 2 for determining the movement of a mobile entity according to the invention will be based at least in part on encoded data which takes the form of one or more data tensors comprising for each time window 31 at least four data encoded in at most eight bits, preferably at most three bits, more preferably at most two bits. Preferably, each time window 31 is represented by 4 to 50 data encoded on at most three bits, preferably at most two bits. The one or more data tensors corresponding for example to one or more movement(s) and each of the movements being formed represented by several time windows.

Comme cela est illustré à la , le procédé de détermination 2 d’un déplacement d’une entité mobile comporte : une étape de chargement 710 d’un, de préférence de plusieurs tenseurs de données ; et une étape de traitement 720 des tenseurs de données de préférence par un modèle d’apprentissage automatique entrainé de manière à identifier une position ou un mouvement.As illustrated in the , the method 2 for determining a movement of a mobile entity comprises: a step 710 of loading one, preferably several data tensors; and a step 720 of processing the data tensors preferably by a trained machine learning model so as to identify a position or a movement.

Le procédé de détermination 2 du déplacement d’une entité mobile correspond de préférence à une détermination en temps réel à un ou plusieurs éléments constitutifs du déplacement d’une entité mobile, par ex. d’un utilisateur. C’est-à-dire qu’après la génération de données par un ou plusieurs capteurs de mouvement, de préférence en moins de 60 secondes, de façon plus préférée en moins de 30 secondes, de façon encore plus préférée en moins de 10 secondes, le procédé selon l’invention est en mesure de déterminer un élément du déplacement de l’utilisateur tel qu’une position, un pas, un saut, ou tout autre mouvement constitutif du déplacement de l’entité mobile.The method 2 for determining the movement of a mobile entity preferably corresponds to a real-time determination of one or more constituent elements of the movement of a mobile entity, e.g. of a user. That is, after the generation of data by one or more motion sensors, preferably within 60 seconds, more preferably within 30 seconds, even more preferably within 10 seconds , the method according to the invention is able to determine an element of the user's movement such as a position, a step, a jump, or any other movement constituting the movement of the mobile entity.

Comme illustré à la , le procédé de détermination 2 selon l’invention peut également comporter les étapes suivantes : une étape de sélection 730 d’une position ou d’un mouvement pour un intervalle temporel à partir des positions ou des mouvements identifiés pour des séquences temporelles contiguës, une étape de comparaison 740 de la position et/ou du mouvement identifié à partir de données de capteurs différents et une étape de transmission 750 de données à un terminal externe 30.As shown in , the determination method 2 according to the invention can also comprise the following steps: a step 730 for selecting a position or a movement for a time interval from the positions or movements identified for contiguous time sequences, a step 740 of comparing the position and/or movement identified from data from different sensors and a step 750 of transmitting data to an external terminal 30.

Comme mentionné, le procédé de détermination 2 d’un déplacement d’une entité mobile comporte une étape de chargement 710 d’un ou de plusieurs tenseurs de données.As mentioned, the method 2 for determining a movement of a mobile entity includes a step 710 for loading one or more data tensors.

Le chargement du tenseur de données peut correspondre au chargement de plusieurs tenseurs de données. Cette étape peut correspondre en particulier dans le cadre de l’invention à la mise en mémoire, de préférence dans une mémoire vive d’un ou plusieurs tenseurs de données. Cette acquisition pourra également correspondre à un chargement dans la mémoire d’un ou plusieurs processeurs destiné(s) à les traiter.The loading of the data tensor can correspond to the loading of several data tensors. This step can correspond in particular within the framework of the invention to the storage, preferably in a random access memory, of one or more data tensors. This acquisition may also correspond to a loading into the memory of one or more processors intended to process them.

Comme mentionné, le procédé de détermination 2 d’un déplacement d’une entité mobile comporte une étape de traitement 720 du ou des tenseurs de données par un modèle d’apprentissage automatique.As mentioned, the method 2 for determining a movement of a mobile entity comprises a step 720 of processing the data tensor(s) by an automatic learning model.

En particulier, l’étape de traitement 720 du tenseur de données par un modèle d’apprentissage automatique comportera l’identification de classes d’événements à partir du ou des tenseurs de données. En particulier, l’étape de traitement 720 permet à partir de plusieurs tenseurs de données, de préférence chacun correspondant à un phonème de mouvement, d’identifier une classe d’événements. De façon préférée, l’étape de traitement 720 est réalisée sur des tenseurs de données d’ordre 3 comportant plusieurs tenseurs de données.In particular, the step 720 of processing the data tensor by a machine learning model will include the identification of classes of events from the data tensor(s). In particular, the processing step 720 makes it possible, from several data tensors, preferably each corresponding to a motion phoneme, to identify a class of events. Preferably, the processing step 720 is performed on data tensors of order 3 comprising several data tensors.

La figure 3C illustre par exemple trois tenseurs de données 34 sous la forme de trois tenseurs d’ordre 2 comportant chacun cinq tenseurs de données. Chaque tenseur de données correspond ici à des données calculées à partir d’une fenêtre temporelle 31 et un tenseur de données 34 peut correspondre alors à une séquence temporelle 32. Un tenseur d’ordre 2 illustré à la figure 3C comporte des données codées sur un bit (0 ou 1) pour sept descripteurs et sur cinq fenêtres temporelles 31.FIG. 3C illustrates for example three data tensors 34 in the form of three tensors of order 2 each comprising five data tensors. Each data tensor here corresponds to data calculated from a time window 31 and a data tensor 34 can then correspond to a time sequence 32. A tensor of order 2 illustrated in FIG. 3C comprises data coded on a bit (0 or 1) for seven descriptors and over five time windows 31.

À la figure 3C, les tenseurs 34 correspondent à des fenêtres temporelles 32 glissantes et chevauchantes. Une séquence temporelle 32 pourrait également correspondre à une fenêtre dont la taille varie au fur et à mesure des calculs de position, mouvement ou plus largement classe d’événement. Par exemple, une première séquence temporelle 32 comporte trois fenêtres temporelles 31, une seconde séquence temporelle 32 comporte quatre fenêtres temporelles 31 et ainsi de suite jusqu’à atteindre une valeur prédéterminée de dimension maximale de séquence temporelle 32. La séquence temporelle 32 pourrait alors voir sa taille réduite à une valeur prédéterminée de dimension minimale.In FIG. 3C, the tensors 34 correspond to sliding and overlapping time windows 32. A time sequence 32 could also correspond to a window whose size varies as position, movement or more broadly class of events are calculated. For example, a first time sequence 32 comprises three time slots 31, a second time sequence 32 comprises four time slots 31 and so on until reaching a predetermined value of maximum dimension of time sequence 32. The time sequence 32 could then see its size reduced to a predetermined value of minimum dimension.

Ainsi, les données codées sous bits associés à une ou plusieurs fenêtres temporelles 31, de préférence représentatifs d’un phonème de mouvement, seront traitées par un modèle d’apprentissage automatique pour inférer une classe d’événement telle qu’une classe de mouvement ou de position. Une classe de mouvement peut correspondre au sens de l’invention à un mouvement se déroulant sur une durée très courte, par exemple moins de 500 ms et peuvent correspondre à des portions de mouvement plus long. Par exemple, il sera possible dans le cadre de l’invention, à partir des bits associés à une fenêtre temporelle 31 ou à une séquence temporelle 32, de déterminer s’il y a, par exemple un agenouillement en cours, un pas avant, un pas arrière, etc.Thus, the data coded under bits associated with one or more time windows 31, preferably representative of a movement phoneme, will be processed by an automatic learning model to infer an event class such as a movement class or of position. A movement class can correspond within the meaning of the invention to a movement taking place over a very short duration, for example less than 500 ms and can correspond to longer movement portions. For example, it will be possible within the framework of the invention, from the bits associated with a time window 31 or with a time sequence 32, to determine whether there is, for example, kneeling in progress, a step forward, a step back, etc.

Avantageusement, la solution selon l’invention utilise un ou plusieurs algorithmes issus d’apprentissages automatiques, de préférence préalablement calibrés, pour le traitement du ou des tenseurs de données. Ces algorithmes peuvent avoir été construits à partir de différents modèles d’apprentissage, supervisés, non supervisés ou par renforcement. Un algorithme d’apprentissage non supervisé peut par exemple être sélectionné parmi un modèle de mélange Gaussien non supervisé, une classification ascendante hiérarchique (Hierarchical clustering Agglomerative en terminologie anglo-Saxonne), une classification descendante hiérarchique (Hierarchical clustering divisive en terminologie anglo-Saxonne). Alternativement, l’algorithme repose sur un modèle d’apprentissage statistique supervisé configuré de façon à minimiser un risque de la règle d’ordonnancement et ainsi permettant d’obtenir des règles de prédiction plus performantes. Dans ce cas, les étapes de calcul de détermination et d’estimations peuvent être basées sur un modèle, entrainé sur un jeu de données et configuré pour prédire une étiquette (e.g. déplacement similaire ou non au déplacement enregistrée). Par exemple, aux fins de la calibration, il est possible d’utiliser un jeu de données représentatif d’une situation dont l’étiquette est connue. Le jeu de données peut également comprendre des étiquettes multiples. L’algorithme peut être issu de l’utilisation d’un modèle d’apprentissage statistique supervisé sélectionné par exemple parmi les méthodes à noyau (e.g. Séparateurs à Vaste Marge - Support Vector Machines SVM, Régression à noyau de type Ridge), les méthodes d’ensembles (e.g. arbres de décision, Forêts aléatoires), partitionnement hiérarchique, partitionnement en k-moyenne, régression logique ou les réseaux de neurones.Advantageously, the solution according to the invention uses one or more algorithms resulting from automatic learning, preferably previously calibrated, for the processing of the data tensor(s). These algorithms may have been built from different learning models, supervised, unsupervised or by reinforcement. An unsupervised learning algorithm can for example be selected from an unsupervised Gaussian mixture model, an ascending hierarchical clustering (Hierarchical clustering Agglomerative in Anglo-Saxon terminology), a descending hierarchical clustering (Hierarchical clustering divisive in Anglo-Saxon terminology) . Alternatively, the algorithm is based on a supervised statistical learning model configured in such a way as to minimize a risk of the scheduling rule and thus making it possible to obtain more efficient prediction rules. In this case, the determination and estimation calculation steps can be based on a model, trained on a dataset and configured to predict a label (e.g. displacement similar or not to the recorded displacement). For example, for calibration purposes, it is possible to use a dataset representative of a situation whose label is known. The dataset can also include multiple labels. The algorithm can be derived from the use of a supervised statistical learning model selected, for example, from kernel methods (e.g. Vast Margin Separators - Support Vector Machines SVM, Ridge type kernel regression), d sets (e.g. decision trees, random forests), hierarchical partitioning, k-means partitioning, logical regression or neural networks.

De façon préférée, le modèle d’apprentissage automatique entrainé est de préférence sélectionné parmi un réseau de neurones, par exemple un modèle d’apprentissage profond, un réseau de neurones récurrent (e.g. un LSTM, pour « Long Short-Term Memory » en terminologie anglo-saxonne), un perceptron multicouche ou encore d’autres méthodes d’apprentissage automatique telles que des méthodes à base d’arbres décisionnels (e.g. forêt aléatoire) ou des méthodes de clustering (e.g. Méthode par partitionnement ou Méthodes hiérarchiques).Preferably, the trained automatic learning model is preferably selected from a neural network, for example a deep learning model, a recurrent neural network (e.g. an LSTM, for "Long Short-Term Memory" in terminology Anglo-Saxon), a multilayer perceptron or other automatic learning methods such as methods based on decision trees (e.g. random forest) or clustering methods (e.g. Partitioning method or Hierarchical methods).

En outre, avantageusement, le procédé selon l’invention pourra comporter une étape de sélection 730 d’une position ou d’un mouvement à partir des positions ou des mouvements identifiés pour des séquences temporelles 32 contiguës. Cette position ou ce mouvement sélectionné peut en particulier correspondre à la position ou au mouvement d’un utilisateur durant un intervalle temporel 33 particulier ayant fait l’objet de plusieurs séquences temporelles 32 contiguës comme cela est illustré à la figure 3B. L’intervalle temporel 33 peut correspondre à une unité de mouvement.In addition, advantageously, the method according to the invention may include a step 730 of selecting a position or a movement from the positions or movements identified for contiguous time sequences 32 . This selected position or movement may in particular correspond to the position or movement of a user during a particular time interval 33 having been the subject of several contiguous time sequences 32 as illustrated in FIG. 3B. The time interval 33 can correspond to one movement unit.

Ainsi, l’étape de sélection 730 d’une position ou d’un mouvement peut être considérée comme une validation d’un mouvement ou d’une position à partir du traitement de plusieurs classes de mouvement ou de position inférés lors de l’étape de traitement 720 du tenseur de données par un modèle d’apprentissage automatique.Thus, the step 730 of selecting a position or a movement can be considered as a validation of a movement or a position from the processing of several classes of movement or position inferred during the step processing 720 of the data tensor by an automatic learning model.

L’étape de sélection 730 pourrait comporter une comparaison de la position ou du mouvement identifié pour des séquences temporelles 32 contiguës. En effet, en particulier lorsqu’une fenêtre glissante est utilisée, ou plus généralement lorsqu’un mouvement est représenté par plusieurs séquences temporelles contiguës, comme c’est le cas à la figure 3B, le procédé selon l’invention peut comporter une identification d’une position ou d’un mouvement pour chacune des plusieurs séquences temporelles 32 contiguës. Puis, le procédé comporte une sélection de la position ou du mouvement le plus représenté au sein des séquences temporelles 32 contiguës étudiées. Cela permet de réduire les risques de faux positifs en tirant parti de la reconnaissance en temps réel de position ou de mouvement au sein de séries temporelles et d’une validation multiple d’une même position ou mouvement. Par exemple, une position ou un mouvement peut être sélectionné à partir d’une analyse d’au moins 3, de préférence d’au moins 4 et de façon encore plus préférée d’au moins cinq séquences temporelles contiguës.The selection step 730 could include a comparison of the identified position or movement for contiguous 32 time sequences. Indeed, in particular when a sliding window is used, or more generally when a movement is represented by several contiguous time sequences, as is the case in FIG. 3B, the method according to the invention can comprise an identification of a position or a movement for each of the several contiguous time sequences 32 . Then, the method includes a selection of the most represented position or movement within the contiguous time sequences 32 studied. This reduces the risk of false positives by leveraging real-time position or motion recognition within time series and multiple validation of the same position or motion. For example, a position or a movement can be selected from an analysis of at least 3, preferably at least 4 and even more preferably at least five contiguous time sequences.

De façon préférée, l’étape de sélection 730 est réalisée sur des tenseurs de données d’ordre 3 comportant plusieurs tenseurs de données.Preferably, the selection step 730 is performed on data tensors of order 3 comprising several data tensors.

En outre, avantageusement, le procédé selon l’invention pourra également comporter une étape de comparaison 740 de positions et/ou de mouvement identifiés, par exemple pour un instant donné, à partir de données de capteurs différents.In addition, advantageously, the method according to the invention may also include a step 740 of comparing positions and/or movements identified, for example for a given instant, from data from different sensors.

Une telle comparaison 740 de positions et/ou de mouvement identifiés peut être utilisée pour déterminer le déplacement de l’entité mobile, par ex. de l’utilisateur, par l’association d’informations provenant de plusieurs capteurs.Such a comparison 740 of identified positions and/or movement can be used to determine the movement of the mobile entity, e.g. of the user, by combining information from several sensors.

Cette comparaison 740 se fait de façon préférée pour des intervalles de temps synchronisés de façon que les données mesurées et interprétées correspondent bien à un même moment du déplacement de l’entité mobile, par ex. de l’utilisateur. Une telle synchronisation est possible par exemple grâce à l’utilisation d’une horloge synchronisée ou encore à des communications inter dispositifs.This comparison 740 is preferably done for synchronized time intervals so that the measured and interpreted data correspond well to the same moment of movement of the mobile entity, e.g. of the user. Such synchronization is possible for example through the use of a synchronized clock or through inter-device communications.

En particulier, le procédé de détermination 2 d’un déplacement de l’entité mobile, par ex. de l’utilisateur peut être mis en œuvre à partir de tenseurs de données provenant de plusieurs sources. Par exemple, de plusieurs capteurs de mouvement positionnés en différents points d’une entité mobile générant eux aussi des tenseurs de données selon la présente invention.In particular, the method 2 for determining a movement of the mobile entity, e.g. user can be implemented using data tensors from multiple sources. For example, several motion sensors positioned at different points of a mobile entity also generating data tensors according to the present invention.

Dans ces conditions, le procédé de détermination 2 d’un déplacement d’une entité mobile peut avantageusement comporter, pour un intervalle de temps donné, une comparaison 740 de la position, et/ou du mouvement, identifié à partir des données d’un premier capteur avec la position, ou le mouvement, identifié à partir d’un second capteur. Par exemple, l’étape de comparaison 740 de la position, et/ou du mouvement, identifié peut comporter une comparaison de la position, ou du mouvement, identifié à partir d’un capteur positionné sur le bras droit d’un utilisateur avec la position ou le mouvement identifié à partir d’un capteur positionné sur le bras gauche de l’utilisateur.Under these conditions, the method 2 for determining a movement of a mobile entity can advantageously comprise, for a given time interval, a comparison 740 of the position, and/or of the movement, identified from the data of a first sensor with the position, or movement, identified from a second sensor. For example, the step 740 of comparing the position, and/or the movement, identified can comprise a comparison of the position, or the movement, identified from a sensor positioned on the right arm of a user with the position or movement identified from a sensor positioned on the user's left arm.

L’étape de comparaison 740 de positions et/ou de mouvements identifiés pour un instant donné pour des capteurs différents pourra mettre en œuvre des positions ou mouvements identifiés à partir de données de différents capteurs ne mettant pas en œuvre le tenseur de données selon l’invention. Par exemple, la position, ou le mouvement, identifié à partir de données encodées selon l’invention pourra être comparé avec la position, ou le mouvement, identifié avec d’autres méthodes.The step 740 of comparing positions and/or movements identified for a given instant for different sensors may implement positions or movements identified from data from different sensors not implementing the data tensor according to the invention. For example, the position, or the movement, identified from data encoded according to the invention could be compared with the position, or the movement, identified with other methods.

En particulier, le procédé de détermination 2 d’un déplacement d’une entité mobile peut avantageusement comporter une comparaison de la position ou du mouvement identifié pour chacun des bras d’un utilisateur à un référentiel. Une telle comparaison permettra de renforcer la spécificité de la performance de détermination et dans certains cas de déterminer un type de mouvement ou une position complexe. En effet, certains mouvements ou positions ne pourront être déterminés avec exactitude qu’avec la prise en compte des résultats de plusieurs capteurs de mouvement. Le référentiel pourra consister en une base de données, un algorithme transcrivant des règles expertes, ou encore un modèle d’apprentissage automatique.In particular, the method 2 for determining a movement of a mobile entity can advantageously include a comparison of the position or of the movement identified for each of the arms of a user with a reference frame. Such a comparison will make it possible to reinforce the specificity of the determination performance and in certain cases to determine a type of movement or a complex position. Indeed, certain movements or positions can only be determined with accuracy if the results of several movement sensors are taken into account. The repository may consist of a database, an algorithm transcribing expert rules, or even a machine learning model.

De préférence, le procédé peut également comporter une étape de transmission 750 de données à un terminal externe 30. Cette transmission se fait de préférence ponctuellement. En particulier cela peut correspondre à la transmission de l’ensemble des données générées et/ou calculées à un terminal externe 30.Preferably, the method can also include a step 750 of transmitting data to an external terminal 30. This transmission is preferably done on an ad hoc basis. In particular, this may correspond to the transmission of all the data generated and/or calculated to an external terminal 30.

En outre, le procédé peut comporter la transmission des données reçues par le terminal externe 30 à un ou d’autres terminaux externes qui pourraient être impliqués dans le calcul d’autres paramètres du déplacement ou dans leur affichage.Furthermore, the method may include the transmission of the data received by the external terminal 30 to one or more external terminals which could be involved in the calculation of other parameters of the movement or in their display.

Les données transmises peuvent par exemple être des données brutes telles qu’elles ont été générées par les capteurs de mouvement, des données prétraitées, des données transformées ou encore des données de déplacements.The data transmitted can for example be raw data as generated by the motion sensors, pre-processed data, transformed data or even displacement data.

En outre, un procédé de détermination 2 selon l’invention peut comporter également une étape d’identification 800 d’une activité associée à un ou plusieurs mouvements et/ou positions identifiés.In addition, a determination method 2 according to the invention may also include a step 800 of identifying an activity associated with one or more identified movements and/or positions.

Cette identification d’une activité comporte de préférence la comparaison de valeurs de référence d’activité aux valeurs d’un ou de plusieurs tenseurs de données ou aux valeurs d’un ou plusieurs mouvements ou position identifiés.This identification of an activity preferably comprises the comparison of activity reference values with the values of one or more data tensors or with the values of one or more identified movements or positions.

Il est alors possible, de préférence à partir de plusieurs mouvements et/ou positions identifiés de déterminer quel est, d’une part, le type d’entité mobile dont les mouvements/positions ont été identifiées et d’autre part quelle est l’activité pratiquée par l’entité mobile. En effet, l’homme du métier comprendra qu’en fonction du type d’entité mobile considérée, les mouvements et positions identifiés seront radicalement différents et permettront de caractériser l’entité mobile. En outre, lorsque l’entité mobile est par exemple un utilisateur, il sera possible de déterminer le type d’activité pratiquée par ce-dernier en fonction des mouvements/positions identifiés.It is then possible, preferably from several identified movements and/or positions, to determine what is, on the one hand, the type of mobile entity whose movements/positions have been identified and, on the other hand, what is the activity carried out by the mobile entity. Indeed, those skilled in the art will understand that depending on the type of mobile entity considered, the movements and positions identified will be radically different and will make it possible to characterize the mobile entity. In addition, when the mobile entity is for example a user, it will be possible to determine the type of activity practiced by the latter according to the identified movements/positions.

Ci-après, les différentes étapes obligatoires ou non d’un procédé de détermination 2 d’un déplacement d’une entité mobile sont présentées pour résumer et mettre en perspective la présente invention.Below, the different steps, whether mandatory or not, of a method 2 for determining the movement of a mobile entity are presented to summarize and put the present invention into perspective.

Lors du traitement 720 du tenseur de données par un modèle d’apprentissage automatique, la présente invention pourra par exemple étudier une pluralité de fenêtres temporelles 31 de façon à identifier une classe de mouvement pour chacune des fenêtres temporelles 31. De façon plus préférée, lors du traitement 720 du tenseur de données en particulier d’un tenseur de données d’ordre 3 par un modèle d’apprentissage automatique, la présente invention pourra étudier une pluralité de fenêtres temporelles 31 de façon à identifier une classe de mouvement pour chacune des séquences temporelles 32 comportant plusieurs fenêtres temporelles 31.During the processing 720 of the data tensor by an automatic learning model, the present invention could for example study a plurality of time windows 31 so as to identify a class of movement for each of the time windows 31. More preferably, when of the processing 720 of the data tensor in particular of a data tensor of order 3 by an automatic learning model, the present invention will be able to study a plurality of time windows 31 so as to identify a class of movement for each of the sequences time slots 32 comprising several time slots 31.

Une étape complémentaire optionnelle de sélection 730 d’une position ou d’un mouvement peut être mise en œuvre de façon à confirmer, par l’analyse des classes de mouvement identifiées pour plusieurs fenêtres temporelles 31 contiguës ou pour plusieurs séquences temporelles 32, la présence d’un mouvement particulier tel qu’une flexion, translation, rotation, extension. Par exemple, une séquence temporelle 32 peut indiquer rotation alors que les trois suivantes indiquent une translation. Dans ce cas, au terme de l’étape complémentaire de sélection 730 d’une position ou d’un mouvement, la présente invention pourra indiquer la survenue d’une translation.An optional additional step 730 of selecting a position or a movement can be implemented so as to confirm, by analyzing the movement classes identified for several contiguous time windows 31 or for several time sequences 32, the presence of a particular movement such as flexion, translation, rotation, extension. For example, one time sequence 32 may indicate rotation while the next three indicate translation. In this case, at the end of the additional step 730 of selecting a position or a movement, the present invention may indicate the occurrence of a translation.

En outre, de manière plus générale, l’analyse des classes de mouvement identifiées pour plusieurs fenêtres temporelles 31 contiguës ou pour plusieurs séquences temporelles 32, peut permettre d’indiquer la survenue d’un mouvement à « risque ». En effet, lorsque le mouvement identifié n’est associé à aucune classe de mouvement ou de position inféré, celui-ci peut être la conséquence d’un mouvement involontaire de l’entité mobile.In addition, more generally, the analysis of the movement classes identified for several contiguous time windows 31 or for several time sequences 32, can make it possible to indicate the occurrence of a “risk” movement. Indeed, when the identified movement is not associated with any class of inferred movement or position, it may be the consequence of an involuntary movement of the mobile entity.

Dans une étape complémentaire optionnelle de comparaison 740 de positions et/ou de mouvement identifiés, la présente invention étudiera des données générées par d’autres capteurs, de préférence également sous la forme de tenseurs de données (e.g. un tenseur de données d’ordre 3), par exemple un tenseur de données généré à partir des mouvements du bras gauche de l’utilisateur. Dans la suite de l’exemple ci-dessus, l’analyse du ou des tenseurs de données provenant du bras gauche peut indiquer une flexion du coude. Dans ce cas, le mouvement identifié au terme de l’étape 740 pourra par exemple être représentatif d’un mouvement de course de l’utilisateur ou encore d’un mouvement de protection en boxe. Ainsi, le mouvement ou la position identifié(e) au terme de l’étape 740 peut être considéré comme un mouvement plus complexe. En effet, les tenseurs de données, plus particulièrement les tenseurs de niveau 3, peuvent avantageusement être associés à un motif de déplacement particulier décrivant un ou plusieurs mouvements spécifiques.In an optional complementary step of comparison 740 of identified positions and/or movements, the present invention will study data generated by other sensors, preferably also in the form of data tensors (e.g. a data tensor of order 3 ), for example a data tensor generated from the movements of the user's left arm. In the continuation of the example above, analysis of the tensor(s) of data from the left arm may indicate elbow flexion. In this case, the movement identified at the end of step 740 could for example be representative of a running movement of the user or even of a protection movement in boxing. Thus, the movement or position identified at the end of step 740 can be considered as a more complex movement. Indeed, the data tensors, more particularly the level 3 tensors, can advantageously be associated with a particular movement pattern describing one or more specific movements.

Enfin, dans une étape d‘identification de l’activité 800, la présente invention pourra à partir de données générées déterminer plusieurs mouvements qui conduiront par exemple à identifier que l’activité réalisée est une activité sportive de type judo, course ou boxe.Finally, in a step of identification of the activity 800, the present invention will be able from generated data to determine several movements which will lead for example to identifying that the activity carried out is a sporting activity of the judo, running or boxing type.

De préférence, le procédé peut également comporter une étape de mémorisation 900 de données. Cette mémorisation se fait de préférence en continu. En particulier cela peut correspondre à la mémorisation de l’ensemble des données générées et/ou calculées dans le cadre d’un procédé selon l’invention. Les données mémorisées peuvent par exemple être des données brutes telles qu’elles ont été générées par les capteurs de mouvement, des données prétraitées, des données transformées ou encore des données de déplacement. De préférence, les données mémorisées correspondent à des données transformées ou encore des données de déplacement.Preferably, the method can also include a step of storing 900 data. This storage is preferably done continuously. In particular, this may correspond to the storage of all the data generated and/or calculated within the framework of a method according to the invention. The stored data can for example be raw data as generated by the motion sensors, pre-processed data, transformed data or even displacement data. Preferably, the stored data correspond to transformed data or even displacement data.

Avantageusement, par opposition aux données brutes et/ou prétraitées qui sont sauvegardées sur une durée courte (p. ex. inférieure à 5 minutes) par exemple sur une mémoire cache, une valeur de tenseur de données ou de déplacement est mémorisée à plus long terme, par exemple sur une mémoire.Advantageously, as opposed to raw and/or preprocessed data which is saved over a short period of time (eg less than 5 minutes) for example on a cache memory, a data tensor or displacement value is stored over a longer term , for example on a memory.

Avantageusement, le calcul d’un tenseur de données et/ou d’un déplacement déterminée est fait en temps réel, c’est-à-dire moins de 1 heure après la génération des données par l’un ou plusieurs des capteurs de mouvement couplé à l’entité mobile, de préférence moins de 10 minutes, de façon plus préférée moins d’une minute, de façon encore plus préférée moins de 10 secondes.Advantageously, the calculation of a data tensor and/or of a determined displacement is done in real time, that is to say less than 1 hour after the generation of the data by one or more of the motion sensors coupled to the mobile entity, preferably less than 10 minutes, more preferably less than one minute, even more preferably less than 10 seconds.

Selon un autre aspect, l’invention porte sur un dispositif d’encodage 20 de données générées par un ou plusieurs capteurs de mouvement 21, de préférence couplés à un une entité mobile, par exemple à une montre ou un bracelet porté par un utilisateur.According to another aspect, the invention relates to a device 20 for encoding data generated by one or more motion sensors 21, preferably coupled to a mobile entity, for example to a watch or a bracelet worn by a user.

Un tel dispositif d’encodage 20 de données peut en particulier être utilisé pour identifier une position ou un mouvement d’une entité mobile, par ex. d’un utilisateur, sur une séquence temporelle 32. Plus largement, s’il est appliqué à des capteurs de mouvement 21 positionnés sur le corps d’un utilisateur, il peut être utilisé pour identifier une position ou un mouvement de l’utilisateur. Plus spécifiquement, un tel dispositif d’encodage 20 est particulièrement avantageux lorsqu’il est utilisé pour identifier un mouvement d’un utilisateur lorsqu’il (elle) porte une montre 11 ou un bracelet 12.Such a data encoding device 20 can in particular be used to identify a position or a movement of a mobile entity, e.g. of a user, over a time sequence 32. More broadly, if it is applied to motion sensors 21 positioned on the body of a user, it can be used to identify a position or a movement of the user. More specifically, such an encoding device 20 is particularly advantageous when it is used to identify a movement of a user when he (she) is wearing a watch 11 or a bracelet 12.

Ne pesant que quelques grammes et étant de dimension réduite, ce dispositif d’encodage 20 peut se loger de façon peu encombrante dans n’importe quel accessoire. Ce faible volume limite l’impact sur le confort de l’utilisateur et présente l’avantage d’optimiser les couts de production en rendant moins onéreux et plus simple l’intégration de cette technologie dans tout type d’accessoire porté par l’utilisateur ou directement dans l’entité mobile lors du processus industriel.Weighing only a few grams and being of small size, this encoding device 20 can be housed in a space-saving manner in any accessory. This low volume limits the impact on user comfort and has the advantage of optimizing production costs by making it less expensive and simpler to integrate this technology into any type of accessory worn by the user. or directly in the mobile entity during the industrial process.

Un dispositif d’encodage 20 selon l’invention est détaillé dans la . Les différents composants du dispositif d’encodage 20 sont de préférence agencés sur une carte électronique 27 (ou circuit imprimé), mais l’invention peut prévoir divers types d’agencement, par exemple un seul module cumulant l’ensemble des fonctions décrites ici. De même, ces moyens peuvent être divisés en plusieurs cartes électroniques ou bien rassemblés sur une seule carte électronique. En outre, lorsque l’on prête une action à un dispositif, un moyen ou un module, celle-ci est en fait généralement effectuée par un microprocesseur du dispositif ou module commandé par des codes instructions enregistrés dans une mémoire. De même, si l’on prête une action à une application, celle-ci est en fait effectuée par un microprocesseur du dispositif dans une mémoire duquel les codes instructions correspondant à l’application sont enregistrés. Lorsqu’un dispositif ou module émet ou reçoit un message, ce message est émis ou reçu par une interface de communication.An encoding device 20 according to the invention is detailed in the . The different components of the encoding device 20 are preferably arranged on an electronic card 27 (or printed circuit), but the invention can provide for various types of arrangement, for example a single module combining all the functions described here. Likewise, these means can be divided into several electronic cards or even combined on a single electronic card. Furthermore, when an action is assigned to a device, a means or a module, this action is in fact generally carried out by a microprocessor of the device or module controlled by instruction codes recorded in a memory. Similarly, if an action is attributed to an application, this action is in fact performed by a microprocessor of the device in a memory of which the instruction codes corresponding to the application are recorded. When a device or module sends or receives a message, this message is sent or received by a communication interface.

Un tel dispositif d’encodage 20 selon l’invention peut comporter un capteur de mouvement 21 tel qu’une plateforme inertielle configurée pour générer des données sur le déplacement d’une entité mobile. Au cours de l’utilisation du dispositif d’encodage 20 par un utilisateur (le dispositif d’encodage est avantageusement positionné sur un utilisateur), la plateforme inertielle acquière des signaux représentatifs d’un paramètre de mouvement (accélération et/ou vitesse, par exemple vitesse angulaire) de l’utilisateur, de préférence du bras de l’utilisateur, selon les axes X, Y, Z. En outre, ces données peuvent ensuite être traitées pour générer au moins un signal d’accélération. La plateforme inertielle est par exemple constituée d’au moins un accéléromètre et un gyroscope. De façon préférée, elle comporte plusieurs accéléromètres et gyroscopes. Le dispositif d’encodage 20 peut également comporter un ou plusieurs magnétomètres de façon à acquérir trois signaux bruts supplémentaires correspondant aux valeurs de champs magnétiques sur trois dimensions.Such an encoding device 20 according to the invention may include a motion sensor 21 such as an inertial platform configured to generate data on the movement of a mobile entity. During the use of the encoding device 20 by a user (the encoding device is advantageously positioned on a user), the inertial platform acquires signals representative of a motion parameter (acceleration and/or speed, for example angular velocity) of the user, preferably of the user's arm, along the X, Y, Z axes. In addition, these data can then be processed to generate at least one acceleration signal. The inertial platform is for example made up of at least one accelerometer and one gyroscope. Preferably, it comprises several accelerometers and gyroscopes. The encoding device 20 can also include one or more magnetometers so as to acquire three additional raw signals corresponding to the values of magnetic fields in three dimensions.

Chaque dispositif d’encodage 20 peut comporter par ailleurs d’autres capteurs, notamment un inclinomètre, un baromètre, un capteur de température et un altimètre pour bénéficier d’une précision accrue.Each encoding device 20 can also comprise other sensors, in particular an inclinometer, a barometer, a temperature sensor and an altimeter to benefit from increased precision.

De façon préférée, un dispositif d’encodage 20 comporte un ou plusieurs processeurs 22 configurés pour exécuter un des procédés selon l’invention, de préférence le procédé d’encodage, et leurs différents modes de réalisation, préférés, avantageux ou non.Preferably, an encoding device 20 comprises one or more processors 22 configured to execute one of the methods according to the invention, preferably the encoding method, and their different embodiments, preferred, advantageous or not.

En particulier, les un ou plusieurs processeurs 22 sont configurés de façon à acquérir des données générées par le ou les capteurs de mouvement 21, lesdites données comportant des valeurs d’accélération et de vitesse angulaire.In particular, the one or more processors 22 are configured so as to acquire data generated by the motion sensor(s) 21, said data comprising acceleration and angular speed values.

Les un ou plusieurs processeurs 22 peuvent aussi être configurés de façon à calculer une pluralité de descripteurs à partir des données acquises sur une fenêtre temporelle 31, l’étape de calcul étant répétée pour plusieurs fenêtres temporelles 31 consécutives, les fenêtres temporelles 31 consécutives formant une séquence temporelle 32 ;The one or more processors 22 can also be configured so as to calculate a plurality of descriptors from the data acquired over a time window 31, the calculation step being repeated for several consecutive time windows 31, the consecutive time windows 31 forming a time sequence 32;

En outre, les un ou plusieurs processeurs 22 peuvent aussi être configurés de façon à transformer la pluralité de descripteurs calculés, ladite étape comportant un codage des descripteurs chacun sur au plus deux bits, lesdits bits associés à une fenêtre temporelle 31 étant représentatifs d’un phonème de mouvement.Furthermore, the one or more processors 22 can also be configured in such a way as to transform the plurality of descriptors calculated, said step comprising encoding of the descriptors each on at most two bits, said bits associated with a time window 31 being representative of a movement phoneme.

Aussi, les un ou plusieurs processeurs 22 peuvent être configurés de façon à générer un tenseur de données comportant les bits obtenus pour chacune des fenêtres temporelles 31, de sorte que le tenseur de données comporte un encodage d’une combinaison de plusieurs phonèmes de mouvement qui est représentatif d’une position ou d’un mouvement de l’utilisateur.Also, the one or more processors 22 can be configured so as to generate a data tensor comprising the bits obtained for each of the time windows 31, so that the data tensor comprises an encoding of a combination of several motion phonemes which is representative of a position or a movement of the user.

De façon préférée, les un ou plusieurs processeurs 22 seront configurées de façon à :Preferably, the one or more processors 22 will be configured so as to:

  • acquérir des données générées par le ou les capteurs de mouvement 21,acquire data generated by the motion sensor(s) 21,
  • calculer une pluralité de descripteurs à partir des données acquises sur une fenêtre temporelle 31, l’étape de calcul étant répétée pour plusieurs fenêtres temporelles 31 consécutives ; etcalculating a plurality of descriptors from the data acquired over a time window 31, the calculation step being repeated for several consecutive time windows 31; and
  • transformer la pluralité de descripteurs calculés, ladite étape comportant un codage des descripteurs chacun sur au plus deux bits, lesdits bits associés à une fenêtre temporelle 31 étant représentatifs d’un phonème de mouvementtransforming the plurality of calculated descriptors, said step comprising encoding the descriptors each on at most two bits, said bits associated with a time window 31 being representative of a motion phoneme

En outre, les un ou plusieurs processeurs 22 seront configurées de façon à générer un tenseur de données comportant les bits obtenus pour chacune des fenêtres temporelles 31, de sorte que le tenseur de données comporte un encodage, de préférence d’une combinaison de plusieurs phonèmes de mouvement, qui est représentatif d’une position ou d’un mouvement de l’entité mobile.Furthermore, the one or more processors 22 will be configured to generate a data tensor comprising the bits obtained for each of the time windows 31, so that the data tensor comprises an encoding, preferably of a combination of several phonemes movement, which is representative of a position or a movement of the mobile entity.

En particulier, les un ou plusieurs processeurs 22 peuvent être configurés de façon à exécuter les actions suivantes :In particular, the one or more processors 22 can be configured to perform the following actions:

  • Charger des données codées sur au plus huit bits associées à la séquence temporelle 32, étant représentatives d’un mouvement d’une entité mobile sur ladite séquence temporelle 32, par exemple sous la forme d’un ou de plusieurs tenseurs de données ; etLoad data coded on at most eight bits associated with the time sequence 32, being representative of a movement of a mobile entity on said time sequence 32, for example in the form of one or more data tensors; and
  • Traiter le ou les tenseurs de données par un modèle d’apprentissage automatique entrainé de manière identifier une position ou un mouvement de l’entité mobile.Process the data tensor(s) through a trained machine learning model to identify a position or movement of the mobile entity.

Alternativement, le ou les processeurs peuvent être configurés pour générer le tenseur de données puis l’envoyer à un terminal externe 30 pour que soit déterminée le déplacement de l’entité mobile.Alternatively, the processor or processors can be configured to generate the data tensor then send it to an external terminal 30 so that the movement of the mobile entity is determined.

Ainsi, le dispositif d’encodage 20 selon l’invention comporte avantageusement un ou plusieurs moyens de communication 25. Les un ou plusieurs moyens de communication 25 sont aptes à recevoir et à transmettre les données sur au moins un réseau de communication. De préférence la communication est opérée par l’intermédiaire d’un protocole sans fils tel que wifi, 3G, 4G, 5G et/ou Bluetooth. De préférence le protocole de communication est un protocole BLE ou ANT+. Ces protocoles de communications permettent une consommation faible en énergie.Thus, the encoding device 20 according to the invention advantageously comprises one or more communication means 25. The one or more communication means 25 are capable of receiving and transmitting the data over at least one communication network. Preferably, the communication is operated via a wireless protocol such as wifi, 3G, 4G, 5G and/or Bluetooth. Preferably the communication protocol is a BLE or ANT+ protocol. These communication protocols allow low energy consumption.

De préférence, le dispositif d’encodage 20 selon l’invention comporte un premier moyen de communication 25 configuré de sorte que le dispositif d’encodage 20 soit apte à transmettre au moins une partie du tenseur de données à un terminal externe 30. Ces données peuvent être transmises en temps réel ou en différé à un terminal externe 30. Le terminal externe 30 peut par exemple être un système distant tel qu’une tablette, un téléphone mobile (« smartphone » en terminologie anglo-saxonne), un ordinateur ou un serveur. Comme cela a été mentionné, le dispositif d’encodage 20 selon l’invention peut également mettre en œuvre une étape de détermination du déplacement d’un utilisateur ou plus généralement d’une entité mobile ainsi, il peut être configuré pour envoyer des données de position ou de mouvements identifiés pour un utilisateur. Ces données peuvent être transmises en temps réel ou en différé à un terminal externe 30.Preferably, the encoding device 20 according to the invention comprises a first communication means 25 configured so that the encoding device 20 is capable of transmitting at least part of the data tensor to an external terminal 30. These data can be transmitted in real time or delayed to an external terminal 30. The external terminal 30 can for example be a remote system such as a tablet, a mobile telephone (“smartphone” in English terminology), a computer or a waiter. As mentioned, the encoding device 20 according to the invention can also implement a step of determining the movement of a user or more generally of a mobile entity thus, it can be configured to send data from position or movements identified for a user. These data can be transmitted in real time or delayed to an external terminal 30.

Avantageusement, un dispositif d’encodage 20 selon l’invention comporte en outre un second moyen de communication configuré pour qu’un premier dispositif d’encodage 20 soit apte à communiquer avec un second dispositif d’encodage 20.Advantageously, an encoding device 20 according to the invention further comprises a second means of communication configured so that a first encoding device 20 is able to communicate with a second encoding device 20.

En particulier, les dispositifs d’encodage 20 peuvent être configurés pour communiquer entre eux et pour initier la génération de données sur le mouvement d’un utilisateur seulement après réception d’un message de l’autre dispositif d’encodage 20. Cela participe à la synchronisation des dispositifs d’encodage 20. Par exemple, les dispositifs d’encodage 20 peuvent être configurés pour associer et/ ou mettre en correspondance des horodatages des échantillons issus des plateformes inertielles.In particular, the encoding devices 20 can be configured to communicate with each other and to initiate the generation of data on the movement of a user only after reception of a message from the other encoding device 20. This contributes to the synchronization of the encoding devices 20. For example, the encoding devices 20 can be configured to associate and/or match timestamps of the samples coming from the inertial platforms.

Avantageusement, si un dispositif d’encodage 20 venait à se déconnecter ou perdre la synchronisation dans le temps par rapport à l’autre dispositif d’encodage 20, un procédé selon l’invention pourrait comprendre une étape de synchronisation des dispositifs d’encodage 20. Ainsi, un signal de recherche est envoyé par le dispositif d’encodage 20 connecté, le dispositif d’encodage 20 déconnecté reçoit le signal de recherche et se synchronise sur le dispositif d’encodage 20 connecté.Advantageously, if an encoding device 20 were to disconnect or lose synchronization over time with respect to the other encoding device 20, a method according to the invention could comprise a step of synchronizing the encoding devices 20 Thus, a search signal is sent by the connected encoding device 20, the disconnected encoding device 20 receives the search signal and is synchronized with the connected encoding device 20.

Le dispositif d’encodage 20 selon l’invention comporte également une mémoire de données 23, configurée pour mémoriser au moins une partie des données acquises et/ou des tenseurs de données. Le dispositif d’encodage 20 selon l’invention est tel qu’il permet de fonctionner avec une mémoire de données 23 de faible capacité. Il peut être configuré pour mémoriser les données brutes générées par la plateforme inertielle. Avantageusement, la mémoire de données 23 est configurée pour mémoriser au moins une partie des données transformées, mais ne pas mémoriser les données brutes générées. Ainsi, sa capacité n’est pas grevée par des données brutes générées. Les données transformées peuvent correspondre à des données prétraitées par le ou les processeurs ou à des tenseurs de données.The encoding device 20 according to the invention also comprises a data memory 23, configured to store at least part of the acquired data and/or data tensors. The encoding device 20 according to the invention is such that it allows operation with a low capacity data memory 23. It can be configured to store raw data generated by the inertial platform. Advantageously, the data memory 23 is configured to store at least part of the transformed data, but not to store the raw data generated. Thus, its capacity is not burdened by raw data generated. The transformed data may correspond to data preprocessed by the processor(s) or to data tensors.

En outre, le dispositif d’encodage 20 selon l’invention peut comporter une source d’énergie 26. La source d’énergie est de préférence de type batterie, rechargeable ou non. De préférence la source d’énergie est une batterie rechargeable. En outre, elle peut être associée à un système de recharge par le mouvement ou par une énergie extérieure. Le système de recharge par une énergie extérieure peut notamment être un système de recharge par connexion filaire, un système de recharge par induction ou encore photovoltaïque.In addition, the encoding device 20 according to the invention may include an energy source 26. The energy source is preferably of the battery type, rechargeable or not. Preferably the power source is a rechargeable battery. In addition, it can be associated with a charging system by movement or by external energy. The system for charging by external energy can in particular be a system for charging by wired connection, a system for charging by induction or else photovoltaic.

La source d’énergie 26 est de préférence de type batterie, rechargeable ou non. De préférence la source d’énergie est une batterie rechargeable. La recharge peut être réalisée selon différentes technologies telles que :The energy source 26 is preferably of the battery type, rechargeable or not. Preferably the power source is a rechargeable battery. Charging can be done using different technologies such as:

  • par chargeur, avec un connecteur affleurant au niveau de la montre ou du bracelet ;by charger, with a connector flush with the watch or bracelet;
  • avec un dispositif de recharge mécanique intégré à la montre ou au bracelet, par exemple un dispositif piézoélectrique apte à fournir une énergie électrique à partir de la marche ;with a mechanical recharging device integrated into the watch or bracelet, for example a piezoelectric device capable of supplying electrical energy from walking;
  • avec un dispositif sans contact, par exemple par induction ; et/ouwith a contactless device, for example by induction; and or
  • avec un dispositif photovoltaïque.with a photovoltaic device.

En outre, le dispositif d’encodage selon l’invention peut comporter un port pour connexion filaire 28, de préférence protégé par une languette amovible. Ce port pour connexion filaire peut être par exemple un port USB ou firewire. Avantageusement, le port USB est également résistant à l’eau ou l’humidité. En outre, le port USB est avantageusement surmonté d’une poutrelle en polymère permettant de lui conférer une plus grande résistance en condition d’utilisation. Ce port pour connexion filaire 28 peut être utilisé comme évoqué ci-dessus pour recharger la batterie, mais également pour échanger des données et par exemple mettre à jour le micrologiciel de la carte électronique portant les différents composants du dispositif d’encodage.In addition, the encoding device according to the invention may include a port for wired connection 28, preferably protected by a removable tab. This port for wired connection can for example be a USB or firewire port. Advantageously, the USB port is also resistant to water or humidity. In addition, the USB port is advantageously surmounted by a polymer beam giving it greater resistance in use conditions. This port for wired connection 28 can be used as mentioned above to recharge the battery, but also to exchange data and for example update the firmware of the electronic card carrying the various components of the encoding device.

De préférence, la languette amovible ou USB cover, permet de protéger le port USB de corps étrangers. Par exemple, la languette amovible permet de protéger le port USB de l’eau ou de la poussière. Une telle languette peut de préférence être réalisée en polymère de type élastomère ou polyuréthane.Preferably, the removable tab or USB cover protects the USB port from foreign bodies. For example, the removable tab helps protect the USB port from water or dust. Such a tongue can preferably be made of a polymer of the elastomer or polyurethane type.

En outre, selon un autre aspect, la présente invention porte sur un système de détermination 5 d’un déplacement d’une entité mobile.Furthermore, according to another aspect, the present invention relates to a system for determining a movement of a mobile entity.

Un tel système de détermination 5 d’un déplacement d’une entité mobile, décrit en lien avec la , comportera avantageusement un ou plusieurs dispositifs d’encodage 20 selon la présente invention. En particulier, le système de détermination 5 d’un déplacement d’une entité mobile selon l’invention comporte au moins deux dispositifs d’encodage 20 selon la présente invention.Such a system 5 for determining the movement of a mobile entity, described in connection with the , will advantageously comprise one or more encoding devices 20 according to the present invention. In particular, the system 5 for determining a movement of a mobile entity according to the invention comprises at least two encoding devices 20 according to the present invention.

En particulier, chacun des dispositifs d’encodage 20 est conçu de manière à pouvoir communiquer indépendamment avec l’autre et/ou directement avec un terminal externe 30 afin de pouvoir échanger ses propres informations sur la position /le mouvement/l’activité de l’entité mobile et en particulier du bras d’un utilisateur.In particular, each of the encoding devices 20 is designed so as to be able to communicate independently with the other and/or directly with an external terminal 30 in order to be able to exchange its own information on the position/the movement/the activity of the mobile entity and in particular the arm of a user.

En particulier, le système 5 selon l’invention peut comporter une montre 11 et un bracelet 12 ou bien deux bracelets 12, comportant chacun un dispositif d’encodage 20 selon l’invention. Classiquement, les montre 11 et bracelet 12 comportent chacun un dispositif d’encodage 20 selon l’invention.In particular, the system 5 according to the invention can comprise a watch 11 and a bracelet 12 or else two bracelets 12, each comprising an encoding device 20 according to the invention. Conventionally, the watch 11 and bracelet 12 each include an encoding device 20 according to the invention.

Comme mentionné, le système 5 selon l’invention peut comporter un terminal externe 30 configuré pour recevoir des données provenant du ou des dispositif(s) d’encodage 20.As mentioned, the system 5 according to the invention may include an external terminal 30 configured to receive data from the encoding device(s) 20.

Avantageusement, une application dédiée est installée sur ce terminal externe afin de traiter les informations transmises par le ou les dispositif(s) d’encodage 20 et permettre à l’utilisateur d’interagir avec l’invention. Il est alors par exemple possible d’accéder à ce serveur distant via une interface web. Toutes les communications avec le serveur distant peuvent être sécurisées par exemple par des protocoles HTTPS (pour « HyperText Transfer Protocol Secure » selon une terminologie anglo-saxonne) et cryptage AES (pour « Advanced Encryption Standard » selon une terminologie anglo-saxonne) 512. Ainsi, cela peut permettre, via un client, l’accès aux données par du personnel médical en charge du suivi de l’utilisateur.Advantageously, a dedicated application is installed on this external terminal in order to process the information transmitted by the encoding device(s) 20 and allow the user to interact with the invention. It is then possible, for example, to access this remote server via a web interface. All communications with the remote server can be secured, for example, by HTTPS (for "HyperText Transfer Protocol Secure" in English terminology) and AES (for "Advanced Encryption Standard" in English terminology) 512 encryption. Thus, this can allow, via a client, access to the data by medical personnel in charge of monitoring the user.

Le terminal externe 30 est généralement une tablette, un téléphone mobile (« smartphone » en terminologie anglo-saxonne), une passerelle, un routeur, un ordinateur ou un serveur. Il peut être apte à transférer ces données à un serveur distant. Il est alors par exemple possible d’accéder à ce serveur distant via une interface web. Il pourra par exemple être configuré pour mettre en œuvre des solutions d’inférence propres à des applications données à partir de données codées, ou de tenseurs de données codées ou en particulier de tenseurs de données d’ordre générés le dispositif d’encodage 20. Il pourra également être configuré pour générer des données sur le déplacement à partir de données issues de l’étape de détermination 700 d’un déplacement de l’utilisateur.The external terminal 30 is generally a tablet, a mobile telephone (“smartphone” in English terminology), a gateway, a router, a computer or a server. It may be able to transfer this data to a remote server. It is then possible, for example, to access this remote server via a web interface. It could for example be configured to implement inference solutions specific to given applications from coded data, or coded data tensors or in particular order data tensors generated by the encoding device 20. It may also be configured to generate data on the movement from data resulting from the step 700 for determining a movement of the user.

Ainsi, l’utilisateur peut accéder à des données liées à son déplacement telle que des données relatives à ses activités physiques quotidiennes et relatives à plusieurs paramètres biomécaniques, comme la position, la pronation/supination, la force d’impact, la longueur des pas, le temps de contact, la boiterie, l’équilibre et plusieurs autres paramètres relatifs à l’utilisateur et décrivant ses déplacements, sa marche, ses positions et ses mouvements et ainsi de suivre leur évolution.
Thus, the user can access data related to his movement such as data relating to his daily physical activities and relating to several biomechanical parameters, such as position, pronation/supination, impact force, step length , contact time, lameness, balance and several other parameters relating to the user and describing his movements, his walk, his positions and his movements and thus to follow their evolution.

Claims (15)

Procédé (1) d’encodage de données générées par un ou plusieurs capteurs de mouvement (21) couplé(s) à une entité mobile, pour l’identification d’une position ou d’un mouvement de l’entité mobile sur une séquence temporelle (32),
ledit procédé (1), exécuté par un ou plusieurs processeurs (22), comportant :
  • Une étape d’acquisition (200) de données générées par le ou les capteurs de mouvement (21) couplé(s) à l’entité mobile, lesdites données comportant des valeurs variables sous forme de séries temporelles, de préférence lesdites valeurs variables comportent des valeurs d’accélération et de vitesse angulaire ;
  • Une étape de calcul (300), à partir des données acquises sur une fenêtre temporelle (31), d’une pluralité de descripteurs, l’étape de calcul (300) étant répétée pour plusieurs fenêtres temporelles (31) consécutives, des fenêtres temporelles (31) consécutives formant la séquence temporelle (32) ; et
  • Une étape de transformation (400) de la pluralité de descripteurs de chacune des fenêtres temporelles (31) consécutives formant la séquence temporelle (32), ladite étape de transformation (400) comportant une génération pour chacun des descripteurs d’une donnée codée sur au plus huit bits,
lesdites données codées sur au plus huit bits associées à la séquence temporelle (32) étant représentatives d’une position ou d’un mouvement de l’entité mobile sur ladite séquence temporelle (32).
Method (1) for encoding data generated by one or more motion sensors (21) coupled to a mobile entity, for the identification of a position or a movement of the mobile entity on a sequence temporal (32),
said method (1), executed by one or more processors (22), comprising:
  • A step of acquiring (200) data generated by the motion sensor(s) (21) coupled to the mobile entity, said data comprising variable values in the form of time series, preferably said variable values comprising acceleration and angular velocity values;
  • A calculation step (300), from the data acquired over a time window (31), of a plurality of descriptors, the calculation step (300) being repeated for several consecutive time windows (31), time windows (31) consecutive forming the time sequence (32); and
  • A transformation step (400) of the plurality of descriptors of each of the consecutive time windows (31) forming the time sequence (32), said transformation step (400) comprising a generation for each of the descriptors of a datum coded on at plus eight bits,
said data coded on at most eight bits associated with the time sequence (32) being representative of a position or of a movement of the mobile entity on said time sequence (32).
Procédé (1) d’encodage de données selon la revendication 1, caractérisé en ce qu’il comporte en outre une étape de génération (500) d’un tenseur de données (34) comportant les données codées sur au plus huit bits obtenus pour plusieurs des fenêtres temporelles (31), de sorte que le tenseur de données (34) comporte un encodage représentatif d’une position ou d’un mouvement de l’entité mobile.Method (1) for encoding data according to Claim 1, characterized in that it further comprises a step of generating (500) a data tensor (34) comprising the data coded on at most eight bits obtained for several of the time slots (31), such that the data tensor (34) includes encoding representative of a position or movement of the mobile entity. Procédé (1) d’encodage de données selon l’une quelconque des revendications 1 ou 2, caractérisé en ce que les descripteurs sont calculés à partir de fonctions mathématiques appliquées aux données, prétraitées ou non, générées par le ou les capteurs de mouvement (21) couplé(s) à l’entité mobile, et lesdites fonctions mathématiques appliquées comportant par exemple un calcul de moyenne, d’asymétrie statistique, du coefficient d’aplatissement, de comparaisons de valeurs des extremums ou des quartiles, de positions des extremums dans une série temporelle, de comparaisons des valeurs de bord des sous-ensembles du mouvement et/ou un calcul d’une topologie de données.Method (1) for encoding data according to any one of Claims 1 or 2, characterized in that the descriptors are calculated from mathematical functions applied to the data, preprocessed or not, generated by the movement sensor(s) ( 21) coupled to the mobile entity, and said applied mathematical functions comprising for example a calculation of the average, of statistical asymmetry, of the flattening coefficient, of comparisons of values of the extremums or of the quartiles, of positions of the extremums in a time series, comparisons of the edge values of the motion subsets and/or a calculation of a data topology. Procédé (1) d’encodage de données selon l’une quelconque des revendications 1 à 3, caractérisé en ce que les fenêtres temporelles (31) de deux séquences temporelles (32) consécutives présentent des durées différentes.Method (1) for encoding data according to any one of Claims 1 to 3, characterized in that the time windows (31) of two consecutive time sequences (32) have different durations. Procédé (1) d’encodage de données selon l’une quelconque des revendications 1 à 4, caractérisé en ce q ue, lors de l’étape de transformation (400), au moins quatre descripteurs sont utilisés pour chacun générer une donnée codée sur au moins un bit, de façon plus préférée sur au moins deux bits.Method (1) for encoding data according to any one of Claims 1 to 4, characterized in that, during the transformation step (400), at least four descriptors are used for each generating a data item coded on at least one bit, more preferably on at least two bits. Procédé (1) d’encodage de données selon l’une quelconque des revendications 1 à 5, caractérisé en ce que, lors de l’étape de transformation (400), entre quatre et vingt descripteurs sont utilisés pour chacun générer une donnée codée sur un nombre de bits sélectionné parmi : un, deux ou trois.Method (1) for encoding data according to any one of Claims 1 to 5, characterized in that, during the transformation step (400), between four and twenty descriptors are used for each generating a data item coded on a number of bits selected from: one, two or three. Procédé (1) d’encodage de données selon l’une quelconque des revendications 2 à 6, caractérisé en ce qu’il comporte une étape d’analyse des données codées sur au plus huit bits, de préférence du tenseur de données (34), en fonction d’une donnée d’activité de l’entité mobile, ladite étape d’analyse comprenant une comparaison entre les données codées sur au plus huit bits ou de préférence le tenseur de données (34) et une base de données comprenant des données de référence pour l’activité donnée.Method (1) for encoding data according to any one of Claims 2 to 6, characterized in that it comprises a step of analyzing the data encoded on at most eight bits, preferably of the data tensor (34) , as a function of an activity datum of the mobile entity, said analysis step comprising a comparison between the data coded on at most eight bits or preferably the data tensor (34) and a database comprising reference data for the given activity. Procédé (1) d’encodage de données selon l’une quelconque des revendications 1 à 7, caractérisé en ce que, lors de l’étape de transformation (400), une ou plusieurs données codées sur au plus trois bits, sont calculées à partir de valeurs de descripteurs calculés à partir de données acquises sur des fenêtres temporelles (31) consécutives.Method (1) for encoding data according to any one of Claims 1 to 7, characterized in that, during the transformation step (400), one or more data encoded on at most three bits, are calculated at from values of descriptors calculated from data acquired over consecutive time windows (31). Procédé de détermination (2) d’un déplacement d’une entité mobile, à partir de données encodées selon un procédé d’encodage selon l’une quelconque des revendications 2 à 8, caractérisé en ce que ledit procédé de détermination (2), exécuté par un ou plusieurs processeurs (22), comporte :
  • Une étape de chargement (710) d’un ou de plusieurs tenseurs de données (34) comportant un encodage représentatif d’une position ou d’un mouvement de l’entité mobile ; et
  • Une étape de traitement (720) du ou des tenseurs de données (34) par un modèle d’apprentissage automatique entrainé de manière à identifier une position ou un mouvement de l’entité mobile.
Method (2) of determining a movement of a mobile entity, from data encoded according to an encoding method according to any one of Claims 2 to 8, characterized in that the said method of determining (2), executed by one or more processors (22), comprises:
  • A step of loading (710) one or more data tensors (34) comprising an encoding representing a position or a movement of the mobile entity; and
  • A step of processing (720) the at least one data tensor (34) with a trained machine learning model to identify a position or movement of the mobile entity.
Procédé de détermination (2) d’un déplacement d’une entité mobile selon la revendication 9, caractérisé en ce que l’étape de traitement (720) du ou des tenseurs de données par un modèle d’apprentissage automatique comporte l’identification de classes d’événements à partir du ou des tenseurs de données (34), de préférence une classe de mouvement par séquence temporelle (32).Method for determining (2) a displacement of a mobile entity according to claim 9, characterized in that the step of processing (720) the data tensor(s) by an automatic learning model includes the identification of classes of events from the one or more data tensors (34), preferably one class of motion per time sequence (32). Procédé de détermination (2) d’un déplacement d’une entité mobile selon l’une quelconque des revendications 9 ou 10, caractérisé en ce qu’il comporte une étape de sélection (730), de préférence par le modèle d’apprentissage automatique entrainé, d’une position et/ou d’un mouvement à partir d’une comparaison des positions et/ou des mouvements identifiés à partir de fenêtres temporelles (31) contiguës ou de séquences temporelles (32) contiguës.Method for determining (2) a movement of a mobile entity according to any one of claims 9 or 10, characterized in that it comprises a step of selection (730), preferably by the automatic learning model trained, of a position and/or of a movement from a comparison of the positions and/or of the movements identified from contiguous time windows (31) or from contiguous time sequences (32). Procédé de détermination (2) d’un déplacement d’une entité mobile selon l’une quelconque des revendications 10 à 11, caractérisé en ce qu’il comporte une étape de comparaison (740) des positions et/ou des mouvements identifiés pour une fenêtre temporelle (31) ou une séquence temporelle (32) donnée à partir de données de capteurs différents de façon à identifier une position et/ou un mouvement de l’entité mobile.Method for determining (2) a movement of a mobile entity according to any one of Claims 10 to 11, characterized in that it comprises a step of comparing (740) the positions and/or movements identified for a time window (31) or a time sequence (32) given from data from different sensors so as to identify a position and/or a movement of the mobile entity. Dispositif d’encodage (20) de données générées par un ou plusieurs capteurs de mouvement (21) couplé(s) à une entité mobile, pour l’identification d’une position ou d’un mouvement de l’entité mobile sur une séquence temporelle (32), ledit dispositif d’encodage (20) comportant un ou plusieurs processeurs (22), lesdits un ou plusieurs processeurs (22) étant configurés pour :
  • Acquérir les données générées par le ou les capteurs de mouvement (21) couplé(s) à l’entité mobile, lesdites données comportant des valeurs variables sous forme de séries temporelles, de préférence lesdites valeurs variables comportent des valeurs d’accélération et de vitesse angulaire ;
  • Calculer, à partir des données acquises sur une fenêtre temporelle (31), une pluralité de descripteurs, le calcul étant répété pour plusieurs fenêtres temporelles (31) consécutives, les fenêtres temporelles (31) consécutives formant une séquence temporelle (32) ;
  • Transformer la pluralité de descripteurs de chacune des fenêtres temporelles (31) consécutives formant la séquence temporelle (32), ladite transformation comportant une génération pour chacun des descripteurs d’une donnée codée sur au plus huit bits, lesdites données codées sur au plus huit bits associées à la séquence temporelle (32) étant représentatives d’une position ou d’un mouvement de l’entité mobile sur ladite séquence temporelle (32).
Device for encoding (20) data generated by one or more motion sensors (21) coupled to a mobile entity, for identifying a position or a movement of the mobile entity over a sequence (32), said encoding device (20) comprising one or more processors (22), said one or more processors (22) being configured to:
  • Acquiring the data generated by the motion sensor(s) (21) coupled to the mobile entity, said data comprising variable values in the form of time series, preferably said variable values comprising acceleration and speed values angular;
  • Calculating, from the data acquired over a time window (31), a plurality of descriptors, the calculation being repeated for several consecutive time windows (31), the consecutive time windows (31) forming a time sequence (32);
  • Transforming the plurality of descriptors of each of the consecutive time windows (31) forming the time sequence (32), said transformation comprising a generation for each of the descriptors of data coded on at most eight bits, said data coded on at most eight bits associated with the time sequence (32) being representative of a position or of a movement of the mobile entity on said time sequence (32).
Dispositif d’encodage (20) de données générées par un ou plusieurs capteurs de mouvement (21) selon la revendication précédente caractérisé en ce que lesdits un ou plusieurs processeurs (22) sont configurés pour générer un tenseur de données (34) comportant les données codées sur au plus huit bits obtenues pour plusieurs des fenêtres temporelles (31), de sorte que le tenseur de données (34) comporte un encodage représentatif d’une position ou d’un mouvement de l’entité mobile.Device (20) for encoding data generated by one or more motion sensors (21) according to the preceding claim, characterized in that the said one or more processors (22) are configured to generate a data tensor (34) comprising the data coded on at most eight bits obtained for several of the time windows (31), so that the data tensor (34) comprises an encoding representative of a position or of a movement of the mobile entity. Système (5) de détermination d’un déplacement d’une entité mobile, ledit système de détermination comportant au moins un dispositif d’encodage (20) selon la revendication 14 et un terminal externe (30) configuré pour recevoir le tenseur de données (34) généré puis pour déterminer le déplacement d’une entité mobile à partir du tenseur de données (34) généré.System (5) for determining a movement of a mobile entity, said determination system comprising at least one encoding device (20) according to claim 14 and an external terminal (30) configured to receive the data tensor ( 34) generated then to determine the displacement of a mobile entity from the data tensor (34) generated.
FR2103876A 2021-04-14 2021-04-14 MOTION SENSOR DATA ENCODING METHOD, RELATED DEVICE AND SYSTEM Pending FR3121832A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR2103876A FR3121832A1 (en) 2021-04-14 2021-04-14 MOTION SENSOR DATA ENCODING METHOD, RELATED DEVICE AND SYSTEM
PCT/FR2022/050712 WO2022219289A1 (en) 2021-04-14 2022-04-14 Method for encoding motion sensor data, and associated device and system
EP22722318.7A EP4304472A1 (en) 2021-04-14 2022-04-14 Method for encoding motion sensor data, and associated device and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2103876 2021-04-14
FR2103876A FR3121832A1 (en) 2021-04-14 2021-04-14 MOTION SENSOR DATA ENCODING METHOD, RELATED DEVICE AND SYSTEM

Publications (1)

Publication Number Publication Date
FR3121832A1 true FR3121832A1 (en) 2022-10-21

Family

ID=77317056

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2103876A Pending FR3121832A1 (en) 2021-04-14 2021-04-14 MOTION SENSOR DATA ENCODING METHOD, RELATED DEVICE AND SYSTEM

Country Status (1)

Country Link
FR (1) FR3121832A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019077266A1 (en) 2017-10-16 2019-04-25 Zhor Tech Miniaturized electronic unit for integration in any sole
WO2019193301A1 (en) 2018-04-06 2019-10-10 Zhor Tech System for detecting a gait disorder of a user and associated methods
US20190328243A1 (en) * 2016-12-21 2019-10-31 Emory University Methods and Systems for Determining Abnormal Cardiac Activity
WO2020217037A1 (en) 2019-04-25 2020-10-29 Zhor Tech Method and system for determining a value of an advanced biomechanical gait parameter
US10978093B1 (en) * 2019-12-18 2021-04-13 Audio Analytic Ltd Computer apparatus and method implementing sound detection to recognize an activity

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190328243A1 (en) * 2016-12-21 2019-10-31 Emory University Methods and Systems for Determining Abnormal Cardiac Activity
WO2019077266A1 (en) 2017-10-16 2019-04-25 Zhor Tech Miniaturized electronic unit for integration in any sole
WO2019193301A1 (en) 2018-04-06 2019-10-10 Zhor Tech System for detecting a gait disorder of a user and associated methods
WO2020217037A1 (en) 2019-04-25 2020-10-29 Zhor Tech Method and system for determining a value of an advanced biomechanical gait parameter
US10978093B1 (en) * 2019-12-18 2021-04-13 Audio Analytic Ltd Computer apparatus and method implementing sound detection to recognize an activity

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
A. GYULASSYP. T. BREMERB. HAMANNV. PASCUCCI: "A practical approach to morse-smale complex computation: Scalability and generality", IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, 2008
H. EDELSBRUNNERD. LETSCHERA. ZOMORODIAN: "Topological persistence and simplification", DISC. COMPU. GEOM., 2002
J. TIERNY, A. GYULASSYE. SIMONV. PASCUCCI: "IEEE Transactions on Visualization and Computer Graphics", 2009, AMERICAN MATHEMATICAL SOCIETY, article "Loop surgery for volu-metric meshes: Reeb graphs reduced to contour trees"
NIMSIRI ABHAYASINGHE ET AL.: "Conférence: Indoor Positioning and Indoor Navigation", October 2013, MONTBÉLIARD, article "Bluetooth Embedded Inertial Measurement Unit for Real-Time Data Collection for Gait Analysis"
SALMA SAIDANI ET AL.: "A survey on smart shoe insole systems", 2018, IEEE

Similar Documents

Publication Publication Date Title
EP3958738B1 (en) Method and system for determining a value of an advanced biomechanical gait parameter
EP3697245B1 (en) System and method to analyze and quantify posture and gait of a user
Johnston et al. Smartwatch-based biometric gait recognition
Bruno et al. Analysis of human behavior recognition algorithms based on acceleration data
US20180107793A1 (en) Health activity monitoring and work scheduling
US10769260B2 (en) Behavioral biometric feature extraction and verification
WO2011039283A1 (en) System and method for recognizing gestures
US11551479B2 (en) Motion behavior pattern classification method, system and device
WO2017021662A1 (en) Methods and systems for acoustically stimulating brain waves
Benbasat et al. A framework for the automated generation of power-efficient classifiers for embedded sensor nodes
Fan et al. A new approach for smoking event detection using a variational autoencoder and neural decision forest
WO2021058701A1 (en) Method and system for calculating personalised values of parameters of a sole with a view to designing made-to-measure soles
Huo et al. Uncertainty quantification for deep context-aware mobile activity recognition and unknown context discovery
FR3121831A1 (en) MOTION SENSOR DATA ENCODING METHOD, RELATED DEVICE AND SYSTEM
EP3481286B1 (en) Method and system for measuring and displaying data linked to a person's physical activity
FR3060147B1 (en) METHOD OF CHARACTERIZING A MARK CYCLE OF A SUBJECT USING A MARKOV CACHE MODEL
EP3308104B1 (en) Method for processing measurements of at least one electronic sensor placed in a handheld device
EP2638492B1 (en) Sensor-based detection device, corresponding detection method and computer program
Harasimowicz et al. Accelerometer-based human activity recognition and the impact of the sample size
FR3121832A1 (en) MOTION SENSOR DATA ENCODING METHOD, RELATED DEVICE AND SYSTEM
EP4304472A1 (en) Method for encoding motion sensor data, and associated device and system
EP4025120A1 (en) Systems and methods for detecting sleep activity
Stojanović et al. Sensor data fusion and big mobility data analytics for activity recognition
Filios et al. Efficient parameterized methods for physical activity detection using only smartphone sensors
EP4033931A1 (en) Method and system for analysing the use of an item of footwear

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20221021

PLFP Fee payment

Year of fee payment: 3

TP Transmission of property

Owner name: BAL INC, US

Effective date: 20230821

PLFP Fee payment

Year of fee payment: 4