Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TRAJECTORY DETERMINING DEVICE
Document Type and Number:
WIPO Patent Application WO/2018/154217
Kind Code:
A1
Abstract:
A trajectory determining device is designed for determining trajectory data (10) based on signalling data associating mobile communication device identifiers, time markers and signalling identifiers, at least some of the signalling identifiers designating a location cell. These trajectory data are used in order to identify pairs of movement markers associated with a same mobile communication device identifier, and corresponding signalling data, the time markers of which are between the time markers of a given pair, are reprocessed in order to return classified movement data (16) associating movement type data and departure and arrival data determined from location cells associated with the signalling data and a group of chosen locations.

Inventors:
THOUEMENT SÉBASTIEN (FR)
CUNY PIERRE-LOUIS (FR)
COÏC JEAN-MARC (FR)
Application Number:
PCT/FR2018/050347
Publication Date:
August 30, 2018
Filing Date:
February 13, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INTERSEC (FR)
International Classes:
G07C9/00; H04W4/02; H04W4/029
Domestic Patent References:
WO2017021600A12017-02-09
Foreign References:
US20140114561A12014-04-24
Other References:
None
Attorney, Agent or Firm:
CABINET NETTER (FR)
Download PDF:
Claims:
Revendications

1. Dispositif de détermination de trajectoire, comprenant :

une mémoire (4) pour recevoir des données de signalisation associant des identifiants de dispositif mobile de communication, des marqueurs de temps et des identifiants de signalisation, certains au moins des identifiants de signalisation désignant une cellule de localisation,

un classifïcateur (6) capable, pour un identifiant de dispositif mobile de communication donné, de marquer les données de signalisation qui lui sont associées avec un marqueur de déplacement indiquant un état choisi parmi une liste comprenant au moins un mouvement et un arrêt court,

un analyseur (8) capable de traiter les données de signalisation marquées en fonction des marqueurs de déplacement afin de produire des données de trajectoire associant d'une part un identifiant de dispositif mobile de communication donné et d'autre part une suite de marqueurs de déplacement associés chacun à une cellule de localisation et à un marqueur de temps, de sorte que deux marqueurs de déplacement dont les marqueurs de temps indiquent qu'ils se succèdent désignent des états distincts, en appliquant l'une au moins des règles suivantes :

a) la modification de marqueurs de déplacement quelconques en marqueurs de déplacement indiquant un arrêt court, lorsque, pour deux marqueurs de déplacement indiquant un arrêt court associé à une unique cellule de localisation, le nombre de marqueurs de déplacements dont les marqueurs de temps indiquent qu'ils sont entre ces deux marqueurs de déplacement est inférieur ou égal à 4, b) la modification de marqueurs de déplacement indiquant un mouvement en marqueurs de déplacement indiquant un arrêt court lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un arrêt court et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un premier seuil, c) la modification de marqueurs de déplacement indiquant un mouvement en marqueurs de déplacement indiquant un arrêt court lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un arrêt court qui sont associés à une même cellule de localisation et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un deuxième seuil,

d) la modification de marqueurs de déplacement indiquant un arrêt court en marqueurs de déplacement indiquant un mouvement lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un mouvement et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un troisième seuil, e) la fusion de marqueurs de déplacement indiquant un arrêt court dont les marqueurs de temps indiquent qu'ils sont consécutifs, et l'association au marqueur de déplacement résultant de la cellule de localisation associée aux marqueurs de déplacement dont les marqueurs de temps représentent la durée la plus importante et d'un marqueur de temps correspondant à la somme des durées des marqueurs de temps associés,

- un extracteur (12) agencé pour déterminer parmi les données de trajectoires des couples de marqueurs de déplacement associés à un même identifiant de dispositif mobile de communication dont les marqueurs de temps et les cellules de localisation associés définissent une durée excédant un premier seuil et une distance excédant un deuxième seuil, et, pour un couple de marqueurs de déplacement donné, pour regrouper en un ensemble candidat les données de signalisation associées à l'identifiant de dispositif mobile de communication correspondant et dont les marqueurs de temps sont compris entre les deux marqueurs de temps du couple de marqueurs de déplacement donné,

un détecteur (14) agencé pour déterminer dans un ensemble candidat donné si des données de signalisation associées à des marqueurs de temps remplissent l'une des conditions suivantes :

I) les données de signalisation définissent une vitesse de déplacement supérieure à un troisième seuil, et les marqueurs de temps correspondants sont séparés par une durée supérieure à un quatrième seuil,

II) les marqueurs de temps des données de signalisation sont séparés par une durée supérieure à un cinquième seuil supérieur au quatrième seuil, les identifiants de signalisation associés indiquent une absence d'activité, les données de signalisation définissent une vitesse de déplacement supérieure à la vitesse définie par la division du premier seuil par le deuxième seuil,

le détecteur (14) étant agencé, lorsque l'une des conditions I) et II) est remplie, pour retourner des données de déplacement classifié (16) associant des données de type de déplacement et des données de départ et d'arrivée déterminées à partir des cellules de localisation associées aux données de signalisation et d'un groupe d'emplacements choisis.

Dispositif selon la revendication 1, dans lequel le détecteur (14) est agencé, lorsque la condition II) est remplie, pour vérifier que les cellules de localisation associées ou celles de données de signalisation dont les marqueurs de temps sont proches dans le temps désignent un emplacement appartenant à un groupe d'emplacements choisis avant de retourner des données de déplacement classifié (16).

Dispositif selon l'une des revendications précédentes, dans lequel le classifïcateur (6) et l'analyseur (8) sont agencés pour être appelés séquentiellement pour produire des données de trajectoire.

Dispositif selon l'une des revendications précédentes, dans lequel l'analyseur (8) est agencé pour appliquer la règle a) avant d'appliquer la règle b) et/ou la règle b) avant d'appliquer la règle c), et/ou la règle c) avant d'appliquer la règle d).

Dispositif selon l'une des revendications précédentes, dans lequel l'analyseur (8) est agencé pour appliquer l'une des règles a), b), c) et d) avant d'appliquer la règle e).

Dispositif selon l'une des revendications précédentes, dans lequel le détecteur (14) est agencé pour déterminer si l'une des conditions I) et II) s'applique à des données de signalisation situées entre des marqueurs de temps associés à des données de déplacement classifié, et pour répéter cette détermination sur les données de déplacement classifïé résultantes, jusqu'à ce qu'aucune des conditions I) et II) ne soit remplie.

Procédé de détermination de trajectoire comprenant les opérations suivantes : a) recevoir des données de signalisation associant des identifiants de dispositif mobile de communication, des marqueurs de temps et des identifiants de signalisation, certains au moins des identifiants de signalisation désignant une cellule de localisation,

b) pour un identifiant de dispositif mobile de communication donné, de marquer les données de signalisation qui lui sont associées avec un marqueur de déplacement indiquant un état choisi parmi une liste comprenant au moins un mouvement et un arrêt court,

c) traiter les données de signalisation marquées en fonction des marqueurs de déplacement afin de produire des données de trajectoire associant d'une part un identifiant de dispositif mobile de communication donné et d'autre part une suite de marqueurs de déplacement associés chacun à une cellule de localisation et à un marqueur de temps, de sorte que deux marqueurs de déplacement dont les marqueurs de temps indiquent qu'ils se succèdent désignent des états distincts, en appliquant l'une au moins des règles suivantes :

cl) la modification de marqueurs de déplacement quelconques en marqueurs de déplacement indiquant un arrêt court, lorsque, pour deux marqueurs de déplacement indiquant un arrêt court associé à une unique cellule de localisation, le nombre de marqueurs de déplacements dont les marqueurs de temps indiquent qu'ils sont entre ces deux marqueurs de déplacement est inférieur ou égal à 4,

c2) la modification de marqueurs de déplacement indiquant un mouvement en marqueurs de déplacement indiquant un arrêt court lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un arrêt court et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un premier seuil, c3) la modification de marqueurs de déplacement indiquant un mouvement en marqueurs de déplacement indiquant un arrêt court lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un arrêt court qui sont associés à une même cellule de localisation et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un deuxième seuil,

c4) la modification de marqueurs de déplacement indiquant un arrêt court en marqueurs de déplacement indiquant un mouvement lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un mouvement et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un troisième seuil,

c5) la fusion de marqueurs de déplacement indiquant un arrêt court dont les marqueurs de temps indiquent qu'ils sont consécutifs, et l'association au marqueur de déplacement résultant de la cellule de localisation associée aux marque de déplacement dont les marqueurs de temps représentent la durée la plus importante et d'un marqueur de temps correspondant à la somme des durées des marqueurs de temps associés, d) déterminer parmi les données de trajectoires des couples de marqueurs de déplacement associés à un même identifiant de dispositif mobile de communication dont les marqueurs de temps et les cellules de localisation associés définissent une durée excédant un premier seuil et une distance excédant un deuxième seuil, et, pour un couple de marqueurs de déplacement donné, pour regrouper en un ensemble candidat les données de signalisation associées à l'identifiant de dispositif mobile de communication correspondant et dont les marqueurs de temps sont compris entre les deux marqueurs de temps du couple de marqueurs de déplacement donné,

e) déterminer dans un ensemble candidat donné si des données de signalisation associées à des marqueurs de temps remplissent l'une des conditions suivantes : I) les données de signalisation définissent une vitesse de déplacement supérieure à un troisième seuil, et les marqueurs de temps correspondants sont séparés par une durée supérieure à un quatrième seuil,

II) les marqueurs de temps des données de signalisation sont séparés par une durée supérieure à un cinquième seuil supérieur au quatrième seuil, les identifiants de signalisation associés indiquent une absence d'activité, les données de signalisation définissent une vitesse de déplacement supérieure à la vitesse définie par la division du premier seuil par le deuxième seuil,

f) lorsque l'une des conditions I) et II) est remplie, retourner des données de déplacement classifîé (16) associant des données de type de déplacement et des données de départ et d'arrivée déterminées à partir des cellules de localisation associées aux données de signalisation et d'un groupe d'emplacements choisis.

8. Procédé selon la revendication 7, dans lequel la condition II) comprend en outre de vérifier que les cellules de localisation associées ou celles de données de signalisation dont les marqueurs de temps sont proches dans le temps désignent un emplacement appartenant à un groupe d'emplacements choisis avant de retourner des données de déplacement classifîé (16).

9. Procédé selon l'une des revendications 7 et 8, dans lequel l'opération c) applique la règle cl) avant la règle c2), et/ou la règle c2) avant d'appliquer la règle c3), et/ou la règle c3) avant d'appliquer la règle c4).

10. Procédé selon l'une des revendications 7 à 9, dans lequel l'opération c) applique l'une des règles cl), c2), c3) et c4) avant d'appliquer la règle c5).

11. Procédé selon l'une des revendications 7 à 10, dans lequel les opérations c), d), e) et f) sont réalisées dans cet ordre.

12. Procédé selon l'une des revendications 7 à 11, dans lequel l'opération e) est répétée sur des données de signalisations situées entre des marqueurs de temps associés à des données de déplacement classifîé, ainsi que sur les données de déplacement classifïé résultantes, jusqu'à ce qu'aucune des conditions I) et II) ne soit remplie.

13. Produit de programme d'ordinateur comprenant des portions de code de programme pour mettre en œuvre le dispositif selon l'une des revendications 1 à 6 ou le procédé selon l'une des revendications 7 à 12 lorsque ledit programme est exécuté sur un ordinateur.

Description:
Dispositif de détermination de trajectoire

L'invention concerne le domaine de la détection de trajectoire, plus particulièrement de manière passive, à partir de données de signalisation associées à un dispositif mobile.

Il est complexe de déterminer les flux de personnes qui se déplacent entre divers endroits. Pour un endroit donné, il est possible de déterminer des flux de manière statistique, en mesurant humainement le nombre de personnes qui rentrent et sortent. Cependant, ces méthodes sont peu fiables, présentent un coût important, et sont pauvres en informations contextuelles. En effet, il n'est pas possible de savoir quelle est le lieu d'origine des personnes comptées, quels sont les moyens de transport utilisés, etc.

L'invention vient améliorer la situation. A cet effet, l'invention propose un dispositif de détermination de trajectoire, comprenant une mémoire pour recevoir des données de signalisation associant des identifiants de dispositif mobile de communication, des marqueurs de temps et des identifiants de signalisation, certains au moins des identifiants de signalisation désignant une cellule de localisation, un classificateur capable, pour un identifiant de dispositif mobile de communication donné, de marquer les données de signalisation qui lui sont associées avec un marqueur de déplacement indiquant un état choisi parmi une liste comprenant au moins un mouvement et un arrêt court, et un analyseur capable de traiter les données de signalisation marquées en fonction des marqueurs de déplacement afin de produire des données de trajectoire associant d'une part un identifiant de dispositif mobile de communication donné et d'autre part une suite de marqueurs de déplacement associés chacun à une cellule de localisation et à un marqueur de temps, de sorte que deux marqueurs de déplacement dont les marqueurs de temps indiquent qu'ils se succèdent désignent des états distincts, en appliquant l'une au moins des règles suivantes :

a) la modification de marqueurs de déplacement quelconques en marqueurs de déplacement indiquant un arrêt court, lorsque, pour deux marqueurs de déplacement indiquant un arrêt court associé à une unique cellule de localisation, le nombre de marqueurs de déplacements dont les marqueurs de temps indiquent qu'ils sont entre ces deux marqueurs de déplacement est inférieur ou égal à 4, b) la modification de marqueurs de déplacement indiquant un mouvement en marqueurs de déplacement indiquant un arrêt court lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un arrêt court et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un premier seuil,

c) la modification de marqueurs de déplacement indiquant un mouvement en marqueurs de déplacement indiquant un arrêt court lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un arrêt court qui sont associés à une même cellule de localisation et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un deuxième seuil,

d) la modification de marqueurs de déplacement indiquant un arrêt court en marqueurs de déplacement indiquant un mouvement lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un mouvement et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un troisième seuil,

e) la fusion de marqueurs de déplacement indiquant un arrêt court dont les marqueurs de temps indiquent qu'ils sont consécutifs, et l'association au marqueur de déplacement résultant de la cellule de localisation associée aux marqueurs de déplacement dont les marqueurs de temps représentent la durée la plus importante et d'un marqueur de temps correspondant à la somme des durées des marqueurs de temps associés.

Ce dispositif comprend en outre un extracteur agencé pour déterminer parmi les données de trajectoires des couples de marqueurs de déplacement associés à un même identifiant de dispositif mobile de communication dont les marqueurs de temps et les cellules de localisation associés définissent une durée excédant un premier seuil et une distance excédant un deuxième seuil, et, pour un couple de marqueurs de déplacement donné, pour regrouper en un ensemble candidat les données de signalisation associées à l'identifiant de dispositif mobile de communication correspondant et dont les marqueurs de temps sont compris entre les deux marqueurs de temps du couple de marqueurs de déplacement donné, et un détecteur agencé pour déterminer dans un ensemble candidat donné si des données de signalisation associées à des marqueurs de temps remplissent l'une des conditions suivantes :

I) les données de signalisation définissent une vitesse de déplacement supérieure à un troisième seuil, et les marqueurs de temps correspondants sont séparés par une durée supérieure à un quatrième seuil,

II) les marqueurs de temps des données de signalisation sont séparés par une durée supérieure à un cinquième seuil supérieur au quatrième seuil, les identifiants de signalisation associés indiquent une absence d'activité, les données de signalisation définissent une vitesse de déplacement supérieure à la vitesse définie par la division du premier seuil par le deuxième seuil.

Le détecteur est agencé, lorsque l'une des conditions I) et II) est remplie, pour retourner des données de déplacement classifïé associant des données de type de déplacement et des données de départ et d'arrivée déterminées à partir des cellules de localisation associées aux données de signalisation et d'un groupe d'emplacements choisis.

Ce dispositif est très avantageux car il permet de déterminer des trajectoires de manière passive, à partir des données de signalisation des dispositifs de communication. Cette détermination est fiable, automatisable et peu coûteuse en moyens humains. De plus, elle permet un traitement statistique permettant de qualifier de nombreuses informations contextuelles.

Dans certaines variantes, le dispositif pourra présenter une ou plusieurs des caractéristiques suivantes :

- le détecteur est agencé, lorsque la condition II) est remplie, pour vérifier que les cellules de localisation associées ou celles de données de signalisation dont les marqueurs de temps sont proches dans le temps désignent un emplacement appartenant à un groupe d'emplacements choisis avant de retourner des données de déplacement classifïé,

- le classifïcateur et l'analyseur sont appelés séquentiellement pour produire des données de trajectoire,

-l'analyseur applique la règle a) avant d'appliquer la règle b),

- l'analyseur applique la règle b) avant d'appliquer la règle c), - l'analyseur applique la règle c) avant d'appliquer la règle d),

- l'analyseur applique l'une des règles a), b), c) et d) avant d'appliquer la règle e), et

- le détecteur est agencé pour déterminer si l'une des conditions I) et II) s'applique à des données de signalisation situées entre des marqueurs de temps associés à des données de déplacement classifîé, et pour répéter cette détermination sur les données de déplacement classifïé résultantes, jusqu'à ce qu'aucune des conditions I) et II) ne soit remplie.

L'invention concerne également un procédé de détermination de trajectoire comprenant les opérations suivantes :

a) recevoir des données de signalisation associant des identifiants de dispositif mobile de communication, des marqueurs de temps et des identifiants de signalisation, certains au moins des identifiants de signalisation désignant une cellule de localisation,

b) pour un identifiant de dispositif mobile de communication donné, de marquer les données de signalisation qui lui sont associées avec un marqueur de déplacement indiquant un état choisi parmi une liste comprenant au moins un mouvement et un arrêt court,

c) traiter les données de signalisation marquées en fonction des marqueurs de déplacement afin de produire des données de trajectoire associant d'une part un identifiant de dispositif mobile de communication donné et d'autre part une suite de marqueurs de déplacement associés chacun à une cellule de localisation et à un marqueur de temps, de sorte que deux marqueurs de déplacement dont les marqueurs de temps indiquent qu'ils se succèdent désignent des états distincts, en appliquant l'une au moins des règles suivantes :

cl) la modification de marqueurs de déplacement quelconques en marqueurs de déplacement indiquant un arrêt court, lorsque, pour deux marqueurs de déplacement indiquant un arrêt court associé à une unique cellule de localisation, le nombre de marqueurs de déplacements dont les marqueurs de temps indiquent qu'ils sont entre ces deux marqueurs de déplacement est inférieur ou égal à 4,

c2) la modification de marqueurs de déplacement indiquant un mouvement en marqueurs de déplacement indiquant un arrêt court lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un arrêt court et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un premier seuil,

c3) la modification de marqueurs de déplacement indiquant un mouvement en marqueurs de déplacement indiquant un arrêt court lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un arrêt court qui sont associés à une même cellule de localisation et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un deuxième seuil,

c4) la modification de marqueurs de déplacement indiquant un arrêt court en marqueurs de déplacement indiquant un mouvement lorsque les marqueurs de temps qui leur sont associés indiquent qu'ils sont précédés et suivis par des marqueurs de déplacement indiquant un mouvement et que les marqueurs de temps associés à ces derniers indiquent une durée inférieure à un troisième seuil,

c5) la fusion de marqueurs de déplacement indiquant un arrêt court dont les marqueurs de temps indiquent qu'ils sont consécutifs, et l'association au marqueur de déplacement résultant de la cellule de localisation associée aux marque de déplacement dont les marqueurs de temps représentent la durée la plus importante et d'un marqueur de temps correspondant à la somme des durées des marqueurs de temps associés, d) déterminer parmi les données de trajectoires des couples de marqueurs de déplacement associés à un même identifiant de dispositif mobile de communication dont les marqueurs de temps et les cellules de localisation associés définissent une durée excédant un premier seuil et une distance excédant un deuxième seuil, et, pour un couple de marqueurs de déplacement donné, pour regrouper en un ensemble candidat les données de signalisation associées à l'identifiant de dispositif mobile de communication correspondant et dont les marqueurs de temps sont compris entre les deux marqueurs de temps du couple de marqueurs de déplacement donné,

e) déterminer dans un ensemble candidat donné si des données de signalisation associées à des marqueurs de temps remplissent l'une des conditions suivantes :

I) les données de signalisation définissent une vitesse de déplacement supérieure à un troisième seuil, et les marqueurs de temps correspondants sont séparés par une durée supérieure à un quatrième seuil, II) les marqueurs de temps des données de signalisation sont séparés par une durée supérieure à un cinquième seuil supérieur au quatrième seuil, les identifiants de signalisation associés indiquent une absence d'activité, les données de signalisation définissent une vitesse de déplacement supérieure à la vitesse définie par la division du premier seuil par le deuxième seuil,

f) lorsque l'une des conditions I) et II) est remplie, retourner des données de déplacement classifîé (16) associant des données de type de déplacement et des données de départ et d'arrivée déterminées à partir des cellules de localisation associées aux données de signalisation et d'un groupe d'emplacements choisis.

Dans certaines variantes, le procédé pourra présenter une ou plusieurs des caractéristiques suivantes :

- la condition II) comprend en outre de vérifier que les cellules de localisation associées ou celles de données de signalisation dont les marqueurs de temps sont proches dans le temps désignent un emplacement appartenant à un groupe d'emplacements choisis avant de retourner des données de déplacement classifîé,

- l'opération c) applique la règle cl) avant la règle c2),

- l'opération c) applique la règle c2) avant d'appliquer la règle c3),

- l'opération c) applique la règle c3) avant d'appliquer la règle c4),

- l'opération c) applique l'une des règles cl), c2), c3) et c4) avant d'appliquer la règle c5),

- les opérations c), d), e) et f) sont réalisées dans cet ordre, et

- l'opération e) est répétée sur des données de signalisations situées entre des marqueurs de temps associés à des données de déplacement classifîé, ainsi que sur les données de déplacement classifîé résultantes, jusqu'à ce qu'aucune des conditions I) et II) ne soit remplie.

L'invention concerne également un produit de programme d'ordinateur comprenant des portions de code de programme pour mettre en œuvre le dispositif ou le procédé selon l'invention. D'autres caractéristiques et avantages de l'invention apparaîtront mieux à la lecture de la description qui suit, tirée d'exemples donnés à titre illustratif et non limitatif, tirés des dessins sur lesquels :

- la figure 1 représente une vue schématique d'un dispositif selon l'invention,

- la figure 2 représente un exemple de mise en œuvre d'une fonction par le classifïcateur de la figure 1 ,

- les figures 3 à 7 représentent des exemples de mise en œuvre de fonctions par l'analyseur de la figure 1 ,

- la figure 8 représente un exemple de mise en œuvre d'une fonction par l'extracteur de la figure 1, et

- la figure 9 représente un exemple de mise en œuvre d'une fonction par le détecteur de la figure 1.

Les dessins et la description ci-après contiennent, pour l'essentiel, des éléments de caractère certain. Ils pourront donc non seulement servir à mieux faire comprendre la présente invention, mais aussi contribuer à sa définition, le cas échéant.

La présente description est de nature à faire intervenir des éléments susceptibles de protection par le droit d'auteur et/ou le copyright. Le titulaire des droits n'a pas d'objection à la reproduction à l'identique par quiconque du présent document de brevet ou de sa description, telle qu'elle apparaît dans les dossiers officiels. Pour le reste, il réserve intégralement ses droits.

La figure 1 représente une vue schématique d'un dispositif de détermination de trajectoire selon l'invention.

Le dispositif 2 comprend une mémoire 4, un classifïcateur 6 et un analyseur 8, qui produisent ensemble des données de trajectoire 10. Le dispositif 2 comprend en outre un extracteur 12 et un détecteur 14 qui traitent les données de trajectoire 10 et les données reçues dans la mémoire 4 pour produire de des données de déplacement classifîé 16. Dans l'exemple décrit ici, le classificateur 6, l'analyseur 8, l'extracteur 12 et le détecteur 14 sont des éléments accédant directement ou indirectement à la mémoire 4. Ils peuvent être réalisés sous la forme d'un code informatique approprié exécuté sur un ou plusieurs processeurs. Par processeurs, il doit être compris tout processeur adapté aux calculs décrits ci-après. Un tel processeur peut être réalisé de toute manière connue, sous la forme d'un microprocesseur pour ordinateur personnel, d'une puce dédiée de type FPGA ou SoC (« System on chip » en anglais), d'une ressource de calcul sur une grille, d'un microcontrôleur, ou de toute autre forme propre à fournir la puissance de calcul nécessaire à la réalisation décrite plus bas. Un ou plusieurs de ces éléments peuvent également être réalisés sous la forme de circuits électroniques spécialisés tel un ASIC. Une combinaison de processeur et de circuits électroniques peut également être envisagée.

Dans l'exemple décrit ici, la mémoire 4 reçoit des données d'un opérateur de téléphonie mobile (que ce soit en GSM, GPRS, EDGE, UMTS, LTE, ou leur évolution, ou encore un réseau WiFi étendu de type « hotspots »). La mémoire 4 contient l'ensemble des données de signalisation et d'activité d'une, plusieurs ou toutes les zones géographiques desservies par l'opérateur. La mémoire 4 peut être directement accessible ou déportée, répartie sur un ou plusieurs sites, correspondre à l'agrégation de plusieurs stockages distincts, y compris appartenant à plusieurs opérateurs mettant leurs ressources en commun. La mémoire 4 peut être tout type de stockage de données propre à recevoir des données numériques : disque dur, disque dur à mémoire flash (SSD en anglais), mémoire flash sous toute forme, mémoire vive, disque magnétique, stockage distribué localement ou dans le cloud, etc. Les données calculées par le dispositif peuvent être stockées sur tout type de mémoire similaire à la mémoire 4, ou sur celle-ci. Ces données peuvent être effacées après que le dispositif ait effectué ses tâches ou conservées.

Les données de signalisation associent un identifiant de dispositif mobile de communication, un identifiant de signalisation et un marqueur de temps. Le marqueur de temps peut être un marqueur brut ou être accompagné d'une durée. Les dispositifs mobiles de communication peuvent être tout dispositif se connectant à un réseau de téléphonie mobile GSM, GPRS, EDGE, UMTS, LTE ou leur évolution, ou à un réseau WiFi étendu de type « hotspots ». Les identifiants de signalisation peuvent être tirés de toute signalisation sur ces réseaux, ou d'une triangulation à partir de ces identifiants, et/ou à des données de type GPS communiquées par le dispositif. Le dispositif 2 va dans un premier temps analyser les données de signalisation associées à chaque identifiant de dispositif mobile afin d'adjoindre un marqueur de déplacement à la cellule de localisation correspondant aux identifiants de signalisation et aux marqueurs de temps associés. Ce triplet constitue ce qui sera par la suite appelé un événement. La figure 2 représente un exemple d'une fonction mise en œuvre par le classificateur 6 pour réaliser cela.

Dans une opération 200, le classificateur 6 initialise un indice de boucle i à 0. Ensuite, dans une opération 210, une fonction T() est exécutée pour analyser le marqueur de temps associé à l'identifiant de signalisation d'indice i. La fonction T() détermine le temps qui s'est écoulée entre le marqueur de temps associé à l'identifiant de signalisation d'indice i et le marqueur précédent. Si la durée est supérieure à un seuil choisi (par exemple supérieure à 4 heures, ou 6 heures, ou plus), alors dans une opération 220, un marqueur de déplacement de type arrêt long est associé à la cellule de localisation et au marqueur de temps associés à l'identifiant de signalisation d'indice i.

Les marqueurs de temps de type arrêt long sont importants car ils servent à « découper » les suites d'événements. Ainsi, tous les traitements décrits ci-après concernent des séquences d'événements situés entre deux événements indiquant un arrêt long. À tout le moins, dès qu'un arrêt long est détecté, deux séquences sont générées qui seront traitées de manière indépendante.

Sinon, dans une opération 230, une fonction V() est exécutée pour déterminer la différence d'emplacement entre la cellule de localisation associée à l'identifiant de signalisation d'indice i et celle associée à l'identifiant de signalisation d'indice i précédent. Si la fonction V() indique que la vitesse de déplacement entre ces cellules de localisation est inférieure à une vitesse seuil (égale à environ 10 km/h par exemple), alors dans une opération 240, un marqueur de déplacement de type arrêt court est associé à la cellule de localisation et au marqueur de temps associés à l'identifiant de signalisation d'indice i. Sinon, dans une opération 250, un marqueur de déplacement de type mouvement est associé à la cellule de localisation et au marqueur de temps associés à l'identifiant de signalisation d'indice i. Ainsi, les événements désignent des paires d'identifiants de signalisation associés à un même dispositif de communication mobile et consécutifs temporellement, et un événement n'est de type mouvement que si la vitesse de déplacement perçue est plus rapide qu'une vitesse de marche. En variante, la fonction V() pourrait déterminer si la cellule de localisation n'a pas changé entre les deux identifiants de signalisation successifs au lieu de se baser sur la vitesse de déplacement.

Après l'association d'un marqueur par l'une des opérations 220, 240 ou 250, une opération 260 teste si tous les identifiants de signalisation ont été parcourus. Lorsque cela n'est pas le cas, l'indice i est incrémenté dans une opération 270. Sinon, la fonction se termine dans une opération 299.

Une fois que toutes les données ont été marquées, le dispositif 2 peut procéder à leur traitement. En effet, de nombreuses données de signalisation peuvent ne pas représenter un déplacement d'une personne. Par exemple, un dispositif de communication peut être entouré de plusieurs antennes, et pour diverses raisons être attaché successivement à diverses de ces antennes, sans pour autant se déplacer. Dans ce cas, les données de signalisation indiqueront des cellules de localisation distinctes, ce qui suggère un déplacement, alors que le dispositif de communication (et donc son utilisateur) ne s'est pas déplacé. De nombreux autres cas de figures qui ajoutent du bruit peuvent exister et doivent être traités pour obtenir des données de trajet fiables.

Les exemples de fonctions représentées sur les figures 3 à 7 montrent comment l'analyseur 8 traite les données marquées pour en tirer des données de trajet. La figure 3 représente un exemple de mise en œuvre d'une première fonction. Cette fonction traite du cas décrit plus haut. Ainsi, lorsqu'entre deux données de localisation dont le marqueur de déplacement indique un arrêt court dans une même cellule de localisation et qui sont séparés par moins de quatre événements, tous les marqueurs de déplacement sont convertis en arrêt court.

Ainsi, dans une opération 300, un indice de boucle i est initialisé à 0. Ensuite dans une opération 310, un test est réalisé pour déterminé si l'événement d'indice i a un marqueur de déplacement E[i].l qui indique un arrêt court ou pas. Tant que ce n'est pas le cas, l'indice i est incrémenté dans une opération 320 et le test de l'opération 310 est répété.

Dès qu'un arrêt court est détecté, un indice j est défini avec la valeur i ajoutée de 4, et un indice de boucle k est défini avec la valeur i ajoutée de 1 dans une opération 330. Ensuite, une boucle détermine s'il existe un événement entre i et j qui est également un arrêt court. Pour cela, un test est fait dans une opération 340. Tant que ce test n'est pas positif, un test dans une opération 350 vérifie que k est inférieur à j, et k est incrémenté dans une opération 360.

Lorsqu'un arrêt court est trouvé, un test dans une opération 370 vérifie si les deux événements E[i] et E[k] partagent la même cellule de localisation. Si c'est le cas, alors on a bien deux événements avec un marqueur de déplacement de type arrêt court, et qui sont séparés par moins de quatre événements. Alors, une fonction MStop() recevant i et k comme arguments transforme tous les marqueurs de déplacement E[n].l en arrêt court, avec n compris entre i et k.

Ensuite, ou lorsque l'opération 350 détermine qu'il n'y a pas d'événement de type arrêt court à moins de 4 événements de l'événement i, ou lorsque les cellules de localisation de l'événement i et celle de l'événement k sont distinctes, un test dans une opération 390 vérifie s'il reste encore 4 opérations pour relancer une boucle. Si oui, alors dans une opération 395, l'indice i est mis à jour avec l'indice k et la boucle reprend avec l'opération 310. Sinon, la fonction se termine dans une opération 399. La figure 4 représente un autre exemple d'une fonction mise en œuvre par l'analyseur 8. En effet, lorsque deux événements dont les marqueurs de déplacement indiquent un arrêt court sont séparés par une durée, et que ces événements sont séparés par une durée inférieure à un premier seuil permettant de passer d'une cellule à une autre, ou que les deux événements sont associés à la même cellule de localisation mais que leurs marqueurs de temps sont séparés par une durée supérieure à un deuxième seuil indiquant que Γ aller- retour vers une cellule voisine n'était pas possible, alors tous les événements entre ceux- ci sont modifiés de sorte que leur marqueur de déplacement indique un arrêt court.

Ainsi, dans une opération 400, un indice i de boucle est initialisé à 0. Ensuite, dans une opération 405, un test est réalisé pour déterminé si l'événement d'indice i courant est associé à un arrêt court ou pas. Tant que ce test est négatif, dans une opération 410 teste s'il reste au moins trois événements (puisque la fonction cherche au minimum un événement entre deux événements de type arrêt court), et, si c'est le cas, l'indice i est incrémenté dans une opération 415 et le test de l'opération 405 est répété. Si ce n'est pas le cas, la fonction se termine dans une opération 499. Lorsqu'un événement dont le marqueur de déplacement indique un arrêt court est trouvé, une boucle à deux tests est lancée afin d'essayer de vérifier si l'une des deux conditions ci-dessus est remplie. Pour cela, dans une opération 420, un indice j égal à i est défini.

Ensuite, une boucle commence dans laquelle deux conditions sont recherchées. Si l'une de ces deux conditions est remplie, alors les événements situés entre les deux événements les plus extrêmes temporellement sont modifiés pour les marquer comme correspondant à un arrêt court.

Ainsi, dans une opération 425, la condition d'arrêt la moins contraignante est testée, en comparant une durée T qui indique la différence entre le marqueur de temps de l'événement d'indice j courant et celui de l'événement d'indice i. Si la durée T est inférieure à ce premier seuil AC, alors l'indice j est incrémenté dans une opération 430. Puis, dans une opération 435, un test détermine si l'événement d'indice j indique un mouvement ou un arrêt court. S'il s'agit d'un mouvement, alors dans une opération 440, un test détermine si l'événement d'indice j est le dernier ou pas. Si c'est le cas, alors la fonction se termine avec l'opération 499. Sinon, une durée T correspondant à la différence entre le marqueur de temps de l'événement d'indice i et l'événement d'indice j est calculée dans une opération 445, puis la boucle reprend avec l'opération 425, jusqu'à ce qu'un événement indiquant un arrêt court soit rencontré dans l'opération 435.

Lorsqu'un deuxième événement indiquant un arrêt court est trouvé dans l'opération 435, un test dans une opération 450 détermine si la durée T est inférieure à un deuxième seuil SMS. Si c'est le cas, alors la deuxième condition (la plus contraignante) est remplie, et dans une opération 460, la fonction MStop() est appelée avec les indices i et j pour modifier les marqueurs de déplacement des événements entre ces indices en arrêt court. Ensuite, un test est réalisé dans une opération 465 pour déterminer s'il reste encore 3 événement dans la liste E[], comme pour l'opération 410..

Si ce n'est pas le cas, alors un test est réalisé dans une opération 455 pour déterminer si les événements d'indices i et j concernent la même cellule de localisation. Si c'est le cas, alors la première condition est remplie, et dans une opération 460, la fonction MStop() est appelée avec les indices i et j pour modifier les marqueurs de déplacement des événements entre ces indices en arrêt court, puis le test de l'opération 465 est réalisé.

Si le test de l'opération 455 est négatif, alors la boucle se poursuit avec l'opération 440 jusqu'à ce que la première condition soit remplie ou que la durée T excède le premier seuil AC, ou que l'opération 440 indique la fin de la boucle.

Enfin, lorsque le test de l'opération 465 est positif, alors l'indice i est mis à jour avec la valeur de l'indice j (puisque l'événement d'indice j indique un arrêt court) dans une opération 470, et la boucle reprend avec l'opération 430.

Le premier seuil AC et le deuxième seuil SMS sont prévus de sorte que AC est supérieur à SMS. Le premier seuil AC permet de détecter les cas indiquant un changement de cellule puis un retour à la cellule originale, alors que le temps nécessaire pour cela (le temps correspondant au premier seuil AC), n'était pas suffisant. De manière similaire, le deuxième seuil SMS désigne un temps estimé nécessaire pour passer d'une cellule à une autre cellule voisine. Dans l'exemple décrit ici, le premier seuil AC est d'environ 10 minutes, tandis que le deuxième seuil SMS est d'environ 6 minutes. Ainsi, la fonction va transformer en arrêt courts les événements associés à un mouvement compris entre deux événements associés à un arrêt court et séparés de moins de 6 (deuxième seuil SMS) ou 10 minutes (premier seuil AC).

La figure 5 représente un autre exemple d'une fonction mise en œuvre par l'analyseur 8. En effet, lorsque deux événements indiquent un mouvement, et que ces événements sont séparés par une durée inférieure à un troisième seuil indiquant qu'un arrêt court n'est pas possible, alors les événements intermédiaires sont modifiés de sorte que leurs marqueurs de déplacement indiquent un mouvement.

Ainsi, dans une opération 500, un indice i de boucle est initialisé à 0. Ensuite dans des opérations 505, 510 et 515 similaires aux opérations 405, 410 et 415, l'événement d'indice i est testé et incrémenté jusqu'à trouver un événement indiquant un mouvement. La seule différence est que l'opération 405 teste si l'événement est de type arrêt court alors que l'opération 505 teste si l'événement est de type mouvement.

Ensuite, une boucle est lancée afin de chercher l'événement d'indice j dont le marqueur de déplacement indique un mouvement et dont le marqueur de temps indique une durée inférieure au troisième seuil MS lorsque comparé au marqueur de temps de l'événement d'indice i.

Ainsi, dans une opération 520, un indice j est défini comme égal à i plus 1, puis dans une opération 525 une durée T entre le marqueur de temps de l'événement d'indice j et le marqueur de temps de l'événement d'indice i est calculée.

Ensuite, dans une opération 530, la durée T est comparée au troisième seuil afin de déterminer si celui-ci est dépassé ou pas. Si c'est le cas, alors un test similaire à celui de l'opération 510 est réalisé dans une opération 535. Si c'est le cas, alors l'indice i est mis à jour avec l'indice j dans une opération 540, et le prochain événement indiquant un mouvement est recherché avec l'opération 505. Si ce n'est pas le cas, alors la fonction se termine dans une opération 599. Si la durée T est inférieure au troisième seuil, alors dans une opération 545, un test détermine si l'événement d'indice j indique un arrêt court. Si c'est le cas, alors dans une opération 550, un test détermine s'il s'agit de la dernière opération de la liste E. Si c'est le cas, alors la fonction se termine avec l'opération 599. Sinon, alors l'indice j est incrémenté dans une opération 555 et la boucle reprend avec l'opération 525 jusqu'à trouver un deuxième événement indiquant un mouvement, ou jusqu'à ce que le troisième seuil MS soit dépassé.

Lorsqu'un deuxième événement indiquant un mouvement est trouvé dans l'opération 545, une fonction MMove() est exécutée dans une opération 560. La fonction MMove() reçoit comme arguments les indices i et j, pour modifier les marqueurs de déplacement des événements entre ces indices en mouvement. Enfin, dans une opération 565, l'indice i est mis à jour avec j (puisque l'événement d'indice j indique un mouvement), et la boucle reprend avec l'opération 520.

Dans l'exemple décrit ici, le troisième seuil MS est d'environ 15 minutes. Ainsi, tous les événements associés à un arrêt court entre deux événements associés à un mouvement et séparés de moins de 15 minutes. En variante, le seuil MS pourrait être plus important, et par exemple être d'une heure. Dit autrement, cette fonction revient à considérer qu'un arrêt court entre deux mouvements n'est pas une anomalie si elle dure plus longtemps que le troisième seuil MS.

La figure 6 représente un autre exemple d'une fonction mise en œuvre par l'analyseur 8. Cette fonction peut être vue comme une variante de la fonction représentée sur la figure 4, ou comme un complément à celle-ci, qui peut par exemple être exécutée après la fonction de la figure 5.

Dans cette fonction la structure est similaire, mais les conditions recherchées diffèrent : - la première condition, la moins contraignante, diffère en ce que les cellules de localisation associées aux deux événements ne sont pas identiques, le premier seuil étant lui aussi identique, et la vitesse de déplacement entre les deux arrêts courts extrême devant être inférieure à une vitesse seuil SL, - la deuxième condition est similaire à la deuxième condition de la fonction de la figure 4, le deuxième seuil étant identique, mais les cellules de localisation doivent ici être identiques. La fonction de la figure 6 étant très proche de celle de la figure 4, les références numériques ont été maintenues identiques, en adaptant la centaine. En fait, seules les opérations 650 et 655 diffèrent des opérations 450 et 455, une opération 657 étant ajoutée.

L'opération 650 teste la seconde condition, et la combinaison des opérations 655 et 657 teste la première condition. Dans la pratique, la première condition ne devrait pas être remplie, dans la mesure où elle correspond à la même première condition que pour la fonction de la figure 4. Mais elle permet de s'assurer que la fonction de la figure 5 ou toute autre fonction exécutée précédemment n'a pas introduit de cas non souhaité. L'opération 657 teste si la vitesse « à vol d'oiseau » entre les cellules de localisation associées aux événements d'indice i et j est inférieure à une vitesse seuil SL d'environ 10 km/h. Elle est calculée en divisant la distance entre les centres des cellules de localisation respectives par la durée entre les deux événements. Ainsi, dans le cas où un événement de type bruit (par exemple si le dispositif de communication mobile s'attache à une station éloignée par accident) pourrait faire croire à un déplacement entre les événements i et j, ce test permet de le corriger. L'opération 655 n'est également pas supposée se produire dans la pratique, mais, si cela devait être le cas, elle permet de ne pas avoir à calculer la vitesse dans l'opération 657 ce qui représente un gain de temps précieux. Une fois que l'analyseur 8 a exécuté les fonctions des figures 3 à 6, il va simplifier les données résultantes pour produire les données de trajet. Pour cela, l'analyseur 8 va fusionner toutes les données de signalisations successives indiquant un arrêt court, et les associer, pour une durée totale correspondant à la différence entre les marqueurs de temps des événements extrêmes, à la cellule de localisation la plus représentée. La figure 7 représente un exemple de réalisation de cette fonction. Ainsi, dans une opération 700, la liste d'événements E[] modifiée tel que précédemment est utilisée comme point de départ. Ensuite, une boucle va dépiler cette liste et agréger les événements indiquant un arrêt court lorsque nécessaire. Pour cela, dans une opération 710, la liste E[] est dépilée dans un événement el. Lorsque la liste est vide, la fonction se termine dans une opération 799. Dans une opération 715, un test détermine si l'événement el indique un arrêt court. Lorsque ce n'est pas le cas, l'opération 710 est répétée.

Ensuite, dans une opération 720, une liste F[] est initialisée avec el . La liste F[] va recevoir tous les événements successifs indiquant un arrêt court. Dans une opération 730, la liste E[] est à nouveau dépilée, cette fois dans un événement e2. S'il y a pas un événement e2, alors dans une opération 740, un test détermine si l'événement e2 concerne un arrêt court. Si c'est le cas, alors l'événement e2 est introduit dans la liste F[] dans une opération 750, et l'opération 720 est répétée. Lorsque le prochain événement e2 qui indique un mouvement est trouvé dans l'opération 740, ou lorsque l'opération 730 indique que la liste E[] se termine par une suite d'arrêts courts, une fonction Max() recevant la liste F[] comme argument est exécutée dans une opération 760. La fonction Max() a pour fonction la fusion des événements de la liste F[], en choisissant la cellule de localisation la plus représentée en terme de durée dans la liste F[], et en résumant tous les événements de cette liste en un seul événement dont la durée correspond à la différence entre les marqueurs de temps les plus extrêmes de la liste F[], associée à la cellule de localisation choisie.

Ainsi, les données de trajet produites en sortie de l'analyseur 8 contiennent des suites d'événements indiquant un mouvement et/ou un unique événement indiquant un arrêt court. Dans l'exemple décrit ici, l'analyseur exécute les fonctions des figures 3 à 7 séquentiellement, et de manière successive. Ainsi, l'analyseur exécute d'abord la fonction de la figure 3 sur l'ensemble des données, puis la fonction de la figure 4 sur les données résultantes, etc. Ces fonctions successives permettent de réduire le bruit naturel des données de signalisation et de réduire leur nombre, en produisant des données de trajectoire qui acquièrent un « sens » lié à la notion de déplacement autre qu'à pied. Les suites d'événements qui en résultent sont particulièrement avantageuses car elles présentent une certaine régularité qui permet de rassembler les trajets entre eux pour établir des statistiques et/ou rattacher une suite d'événement à un parcours connu. De plus, elles permettent de réduire grandement le bruit qui est inhérent aux données de signalisation utilisées en entrée, ainsi que de réduire la quantité de calculs pour les comparer entre elles, en permettant de définir des épisodes signifiants.

Ainsi, les données de trajectoire qui sont produites représentent des segments qui représentent un déplacement tangible, même s'il ne correspond pas parfaitement aux données de signalisation originelles. Elles constituent une abstraction des données de signalisation qui permet, par leur nature qui désigne un mouvement ou un arrêt court de segmenter les données de signalisation originales en épisodes significatifs.

De plus, la notion d'arrêt court permet de déterminer concrètement une présence dans un lieu donné pour une plage de temps donnée, ce qui est presque impossible à partir des données de signalisation seules. Il devient en outre possible de comparer des trajectoires avec des trajectoires de référence.

Enfin, les données de trajectoire constituent une forme de compression des données de signalisation : cela rend possible des calculs sur de grands volumes de données de localisation. Par exemple, la Demanderesse a pu réduire un volume de données associées à un aéroport d'environ 4To à seulement lOOGo. Cette réduction a permis de rendre le traitement des données de trajectoires possible, alors qu'il ne l'était pas avec la masse de données originelle, sauf à ajouter une quantité de serveurs importante.

Une fois que les données de trajectoire 10 ont été produites, celles-ci peuvent être traitées afin de classifier les déplacements qu'elles désignent. Pour cela, l'extracteur 12 et le détecteur 14 vont traiter les données de trajectoire 10 pour sélectionner les données de signalisation de la mémoire 4 qui sont pertinentes, et en tirer des données de déplacement classifîé lorsque cela est possible. La figure 8 représente un exemple de mise en œuvre d'une fonction par l'extracteur 12.

Dans une opération 800, la fonction part des données de trajectoire 10 qui ont été calculées. Ensuite, une boucle est lancée pour traiter les données de trajectoire paire par paire.

Ainsi, dans une opération 810, les données de trajectoire Traj[] sont dépilées au moyen d'une fonction Pop() qui retourne une paire de marqueurs de déplacement ml et m2 qui sont associés à un même identifiant de dispositif de communication mobile et qui ont des marqueurs de temps respectifs successifs.

Dans une opération 820, il est vérifié que le couple (ml ,m2) n'est pas vide. Si c'est le cas, alors toutes les données de trajectoire ont été traitées et la fonction se termine dans une opération 899. Lorsque le couple n'est pas vide, l'extracteur 12 exécute une fonction Spd() dans une opération 830. La fonction Spd() détermine si la durée entre les marqueurs de temps excède une durée minimale (par exemple 30 minutes), et compare la distance entre les centres des cellules de localisation associées au marqueurs de temps à une distance seuil, par exemple 200 km.

Si la fonction Spd() retourne un résultat positif, alors le déplacement désigné par le couple (ml ,m2) est un candidat qui doit être analysé par le détecteur 14. Pour cela, dans une opération 840, l'extracteur 12 exécute une fonction Dat(). La fonction Dat() reçoit comme arguments les marqueurs de déplacement ml et m2, et sélectionne dans la mémoire 4 toutes les données de signalisation qui sont associées à l'identifiant de dispositif mobile de communication qui leur correspond et dont les marqueurs de temps sont compris entre les marqueurs de temps des marqueurs de déplacement ml et m2. Le résultat est stocké sous forme de liste dans un ensemble candidat Cand[] qui reçoit tous les jeux de données extraits au gré des exécutions de la fonction Dat(). La liste stockée dans l'ensemble candidat Cand[] peut également recevoir les marqueurs de temps ml et m2 concernés. Une fois l'opération 840 terminée, ou lorsque la fonction Spd() retourne un résultat négatif, la boucle est répétée avec l'opération 810.

Une fois que tous les déplacements susceptibles d'être classifïés ont été déterminés et que les données de signalisation pertinentes ont été récupérées dans la mémoire 4, le détecteur 14 peut être appelé pour les analyser et déterminer ceux d'entre eux qui sont susceptibles de donner lieu à des données de déplacement classifïé.

La figure 9 représente un exemple de mise en œuvre d'une fonction par le détecteur 14 à cet effet.

Dans une opération 900, le détecteur 14 reçoit l'ensemble candidat déterminé par l'extracteur 12. Ensuite, une boucle est lancée pour traiter les données de trajectoire paire par paire. Ainsi, dans une opération 910, l'ensemble candidat Cand[] est dépilée au moyen d'une fonction Pop() qui retourne une liste de données de signalisation Ev[] qui a été déterminée avec la fonction de la figure 8.

Dans une opération 920, il est vérifié que la liste Ev[] n'est pas vide. Si c'est le cas, alors l'ensemble candidat a été traité et la fonction se termine dans une opération 999.

Lorsque le couple n'est pas vide, l'extracteur 12 exécute deux fonctions Spdl() et Spd2() dans des opérations 940 et 950. Dans l'exemple décrit ici, l'opération 950 est réalisée si le résultat de l'opération 940 est négative. En variante, les opérations 940 et 950 pourraient être réalisées en une seule opération ou en parallèle. La fonction Spdl() et la fonction Spd2() représentent deux conditions par lesquelles les données de signalisation de la liste Ev[] vont être testées pour déterminer si le déplacement peut être classifïé avec des données de déplacement classifïé 16. La fonction Spdl() a pour rôle de tester les données de signalisation par couple de marqueurs de temps et de garder la vitesse maximale (c'est-à-dire la distance entre les centres des cellules de localisation de ces données de signalisation divisée par la durée entre leurs marqueurs de temps respectifs) sur l'ensemble des données de la liste Ev[], parmi les couples pour lesquels la durée entre les marqueurs de temps excède 10 minutes. Dans l'exemple décrit ici, ces couples sont formés en sélectionnant, pour chaque donnée de signalisation, la donnée de signalisation dont le marqueur de temps est le plus proche tout en étant éloigné de plus de 10 minutes. Cela permet d'éviter de prendre en compte des couples correspondant à un artefact, comme lorsqu'un dispositif mobile s'attache et se détache successivement à des antennes dans des cellules de localisation contiguës, mais sans qu'il y ait de véritable déplacement. D'autres méthodes pourraient être utilisées pour sélectionner des couples permettant d'écarter les artefacts. Une fois cette vitesse maximale déterminée, elle est comparée à une vitesse seuil, par exemple 350km/h, et la fonction Spdl() retourne une valeur positive si la vitesse maximale excède le seuil, et négative sinon. Cette vitesse très élevée indique clairement un voyage par un transport aérien, ce qui permettra de classifïer le déplacement comme aérien.

La fonction Spd2() a pour rôle de tester les données de signalisation dans le cas, où la liste Ev[] contient une longue période sans événement, avec des cellules de localisation très éloignées. C'est typiquement le cas lorsqu'un téléphone est éteint et/ou n'est plus enregistré auprès d'une antenne car il est à 10 000 pieds d'altitude. Ainsi, si un utilisateur a éteint son téléphone longtemps avant que l'avion ne décolle, ou qu'il ne le rallume pas rapidement à l'atterrissage, la fonction Spd2() permet de détecter quand même le déplacement. Dès lors, la vitesse apparente entre les deux données de signalisation successives pourra être inférieure au seuil de la fonction Spdl(), mais néanmoins être considérée comme désignant un déplacement aérien dès lors qu'elle est supérieure à 150km/h par exemple. L'idée sous-jacente de la fonction Spd2() est que seuls les transports aériens ont pour conséquence une absence d'événement pendant une durée longue, par exemple supérieure à deux heures, et avec une vitesse apparente importante. Si l'utilisateur était dans un train ou une voiture, il y aurait un événement. Afin de compléter cette détermination, la fonction Spd2() peut de manière optionnelle analyser la cellule de localisation des données de signalisation légèrement avant le premier marqueur de temps et légèrement après le deuxième marqueur de temps afin de déterminer si une cellule de localisation correspond à un aéroport, ce qui finirait de confirmer qu'il s'agit d'un déplacement aérien. S'il n'existe pas de données de signalisation successives séparées par une durée supérieure à par exemple deux heures et sans événement réseau ou si la vitesse apparente n'est pas supérieure à une vitesse de par exemple 150km/h, alors la fonction Spd2() retourne une valeur négative. Dans le cas contraire, s'il existe des données de signalisation successives séparées par une durée supérieure à deux heures et sans événement réseau et si la vitesse apparente est supérieure à par exemple 150km/h, la fonction Spd2() retourne une valeur positive.

Lorsque la fonction Spdl() ou la fonction Spd2() retourne une valeur positive, alors une fonction Loc() est exécutée dans une opération 950. La fonction Loc() part des données de signalisations ayant donné la vitesse supérieure à par exemple 350km/h dans le cas de la fonction Spdl() et des données de signalisation successives séparées par une durée supérieure à deux heures et sans événement réseau dans le cas de la fonction Spd2() et remonte de part et d'autre de celles-ci par marqueurs de temps croissants et décroissants jusqu'à trouver une cellule de localisation dans les données de signalisation qui correspond à une zone aéroportuaire. En variante, si aucune cellule de localisation ne correspond à une zone aéroportuaire, l'aéroport le plus proche des cellules de localisation dans les données de signalisation est retenu. Les deux aéroports ainsi déterminés sont stockés dans une variable L. D'autres données pourraient être stockées dans la variable L, comme les heures de vol déterminé, la durée correspondante ou la vitesse maximale détectée sur ce trajet. Ensuite, dans une opération 960, une fonction Air() crée les données de déplacement classifïé en associant les marqueurs de temps ml et m2 à l'origine de la liste Ev[] et les aéroports de la variable L. En option, l'identifiant de dispositif de communication mobile peut être attaché, ainsi qu'une valeur indiquant qu'il s'agit d'un transport aérien.

Après cela, ou lorsque les opérations 940 et 950 retournent toutes deux une valeur négative, la boucle est répétée avec l'opération 910.

Ce type d'information est particulièrement utile pour classifier les flux de transport et de personnes. Compte tenu de la croissance du trafic de biens et de personnes, ces informations, indisponibles par ailleurs présentent un intérêt technique considérable pour le dimensionnement des infrastructures publiques ainsi que la maîtrise des informations commerciales associées à ces flux. Une fois les données de déplacement classifïé déterminées, la fonction de la Figure 9 peut être répétée de manière récursive sur chaque trajet aérien identifié pour gérer les cas où un trajet comprenait une escale. En effet, dans le cas d'un trajet Brest-Toulouse comportant une escale à Paris, celle-ci est potentiellement mal gérée ou ignorée. Pour pallier ce problème, entre deux marqueurs de temps ml et m2 associés à un déplacement classifïé comme aérien, des marqueurs de temps ni et n2 associés aux aéroports de la variable L sont déterminés, et l'opération de la Figure 9 est répétée entre les marqueurs de temps ml et ni et n2 et m2. Si un déplacement aérien est découvert dans ces segments, l'opération est encore répétée, jusqu'à ce qu'aucun déplacement aérien supplémentaire ne soit détecté.

De plus, afin de déterminer une cellule de localisation dans les données de signalisation qui correspond à une zone aéroportuaire, le détecteur 14 peut être agencé pour déterminer, pour chaque événement, la vitesse entre cet événement et un événement ayant lieu 15 minutes avant ou après, afin de déterminer si la vitesse de déplacement correspondante est inférieure à un seuil bas, par exemple de l'ordre de 50 km/h. Si c'est le cas, alors une zone aéroportuaire est recherchée dans un rayon faible de l'ordre de 50 km autour de la cellule de localisation associée à cet événement.