IP Library Granted Patent US 10,509,096
Granted Patent B2
US 10,509,096 · App. 14/274,226 · Granted Dec 17, 2019

Location error radius determination

Inventor: Jyh-Han Lin (Mercer Island, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G01S5/021G01S5/02G01S5/0236G01S5/0252G01S5/0278G01S5/14
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,509,096
App. No.
14/274,226
Filed
May 9, 2014
Granted
Dec 17, 2019
Kind
B2
Art Unit
3646
USPC
342/464
Abstract

A system and method determining an error radius reflecting the accuracy of a calculated position of a processing device is provided. A data structure includes an error radius mapped to a scaled geographic area or “tile” comprising an area in which a calculated position may be determined. The data structure may include a plurality of first fields identifying a scaled geographic area based on a global projection reference system, and a plurality of second fields identifying, for each of the first fields, a position error radius associated with a scaled geographic area and level. For any calculation of an inferred position based on beacon observations, a rapid lookup of the corresponding scaled area including the new inferred position in the data structure returns an error radius for the new inferred position.

Claims (77)

1. A computer implemented method of determining an error radius for a calculated position of a mobile computing device, comprising:

creating, by the mobile computing device, a data structure including multiple levels of scaled geographic areas, different levels of the scaled geographic areas having different size scales, the data structure further including a plurality of first fields identifying a plurality of scaled geographic areas based on a global projection reference system, and a plurality of second fields identifying, for each of the first fields, a position error radius, each position error radius calculated to be a maximum error radius for at least a threshold percentage of inferred positions in an associated scaled geographic area;

determining, by the mobile computing device, a scaled geographic area from the data structure, the scaled geographic area associated with the calculated position of the mobile computing device;

returning, by the mobile computing device, a corresponding error radius from the data structure, the corresponding error radius mapped to the scaled geographic area associated with the calculated position of the mobile computing device; and

utilizing, by a location-aware application on the mobile computing device, the corresponding error radius to provide information to a user of the mobile computing device;

wherein creating the data structure comprises:

gathering position survey information for a location venue for which limited global positioning system (GPS) data is available, the position survey information comprising beacon fingerprints of wireless beacons detected by an antenna of the mobile computing device at the location venue and known actual positions associated with the beacon fingerprints;

partitioning the position survey information into first and second data sets;

determining, for the multiple levels of the scaled geographic areas, first errors between a plurality of first inferred positions determined based on beacon fingerprints in the first data set and the known actual positions associated with said beacon fingerprints;

determining, for the multiple levels of the scaled geographic areas, second errors between a plurality of second inferred positions determined based on beacon fingerprints in the second data set and the known actual positions associated with said beacon fingerprints;

determining, for the multiple levels of the scaled geographic areas, a correlation between the first errors and the second errors;

selecting the scaled geographic areas for which the first errors and the second errors satisfy a correlation threshold; and

including the selected scaled geographic areas and the position error radii in associated fields of the data structure.

2. The computer implemented method of claim 1 wherein said returning the corresponding error radius comprises:

determining whether the scaled geographic area in the global projection reference system including the calculated position is identified at a level in the data structure;

if the scaled geographic area in the global projection reference system is present at the level in the data structure, returning the corresponding error radius; and

if the scaled geographic area in the global projection reference system is not present at the level in the data structure, returning the corresponding error radius from a search of a lower resolution scaled geographic area at another level including the calculated position.

3. The computer implemented method of claim 2 wherein if no lower resolution scaled geographic area including the calculated position is present in the data structure, returning a venue-level default as the corresponding error radius.

4. The computer implemented method of claim 1 wherein creating the data structure includes storing the data structure on the mobile computing device.

5. The computer implemented method of claim 1 wherein the mobile computing device is coupled to a remote computing device via a network, wherein returning the corresponding error radius comprises outputting the corresponding error radius to the remote computing device.

6. A non-transitory computer-readable medium comprising instructions that, when executed by a processor of a mobile computing device, cause the processor to perform functions comprising:

creating, by the processor, a data structure, the data structure including:

(a) a plurality of first data fields, each first data field containing data representing a position estimation error radius; and

(b) a plurality of second data fields, each second data field representing a scaled geographic area in a global projection reference system divided into levels of varying size scaled geographic areas;

wherein each of the plurality of second data fields is mapped to one of the plurality of first data fields so that ones of the scaled geographic areas at a level are associated with an error radius which is calculated to include a true position relative to an inferred position for greater than a threshold percentage of inferred positions in the scaled geographic area; and

wherein creating the data structure comprises:

gathering position survey information for a location venue for which limited global positioning system (GPS) data is available, the position survey information comprising beacon fingerprints of wireless beacons detected by an antenna of the mobile computing device at the location venue and known actual positions associated with the beacon fingerprints;

partitioning the position survey information into first and second data sets;

determining, for the multiple levels of the scaled geographic areas, first errors between a plurality of first inferred positions determined based on beacon fingerprints in the first data set and the known actual positions associated with said beacon fingerprints;

determining, for the multiple levels of the scaled geographic areas, second errors between a plurality of second inferred positions determined based on beacon fingerprints in the second data set and the known actual positions associated with said beacon fingerprints;

determining, for the multiple levels of the scaled geographic areas, a correlation between the first errors and the second errors;

selecting the scaled geographic areas for which the first errors and the second errors satisfy a correlation threshold; and

including the selected scaled geographic areas and the position estimation error radii in associated fields of the data structure;

determining, by the processor, a scaled geographic area from the data structure, the scaled geographic area associated with a calculated position of the mobile computing device;

returning, by the processor, a corresponding error radius from the data structure, the corresponding error radius mapped to the scaled geographic area associated with the calculated position of the mobile computing device; and

utilizing the corresponding error radius to provide information to a user of the mobile computing device.

7. The non-transitory computer-readable medium of claim 6 , wherein the data structure further includes for each inferred position relative to a venue at least one venue-level default error radius.

8. The non-transitory computer-readable medium of claim 6 , wherein the non-transitory computer-readable medium is provided in the mobile computing device and wherein each inferred position refers to a position of the mobile computing device.

9. A mobile computing device, comprising:

an antenna;

a processor;

a memory including a data structure having position estimation error radii, the position estimation error radii mapped to a global projection reference system divided into levels of varying scaled geographic areas, each error radius of the position estimation error radii in the data structure calculated to be accurate for greater than a threshold percentage of inferred positions to thereby more accurately infer a position of the mobile computing device; and

code stored in the memory, the code instructing the processor to perform the steps of:

gathering position survey information for a location venue for which limited global positioning system (GPS) data is available, the position survey information comprising beacon fingerprints of wireless beacons detected by an antenna of the mobile computing device at the location venue and known actual positions associated with the beacon fingerprints;

partitioning the position survey information into first and second data sets;

determining, for the multiple levels of the scaled geographic areas, first errors between a plurality of first inferred positions determined based on beacon fingerprints in the first data set and the known actual positions associated with said beacon fingerprints;

determining, for the multiple levels of the scaled geographic areas, second errors between a plurality of second inferred positions determined based on beacon fingerprints in the second data set and the known actual positions associated with said beacon fingerprints;

selecting the scaled geographic areas for which the first errors and the second errors satisfy a correlation threshold;

including the selected scaled geographic areas in the data structure;

calculating an inferred position for the mobile computing device;

determining, using the data structure, a scaled geographic area associated with the inferred position;

returning, from the data structure, a corresponding error radius mapped to the scaled geographic area associated with the inferred position; and

utilizing the corresponding error radius to provide information to a user of the mobile computing device.

10. The mobile computing device of claim 9 , wherein returning the corresponding error radius includes:

determining whether the scaled geographic area in the global projection reference system including the inferred position is identified at a level in the data structure;

if the scaled geographic area in the global projection reference system is present at the level in the data structure, returning the corresponding error radius; and

if the scaled geographic area in the global projection reference system is not present at the level in the data structure, returning the corresponding error radius from a search of a lower resolution scaled geographic area at another level including the inferred position.

11. The mobile computing device of claim 10 wherein if no lower resolution scaled geographic area including the inferred position is present in the data structure, returning a venue-level default as the corresponding error radius.

12. The mobile computing device of claim 10 wherein the data structure includes further for each inferred position relative to a venue at least one venue-level default error radius.

13. A computer implemented method of determining an error radius for a calculated position, the computer implemented method being implemented by a mobile computing device, the computer implemented method comprising:

creating, by the mobile computing device, a data structure including multiple levels of scaled geographic areas, different levels of the scaled geographic areas having different size scales, the data structure further including a plurality of first fields identifying a plurality of scaled geographic areas based on a global projection reference system, and a plurality of second fields identifying, for each of the first fields, a position error radius, each position error radius calculated to be a maximum error radius for at least a threshold percentage of inferred positions in an associated scaled geographic area;

determining, by the mobile computing device, a scaled geographic area from the data structure, the scaled geographic area associated with the calculated position of the mobile computing device;

returning, by the mobile computing device, a corresponding error radius from the data structure, the corresponding error radius mapped to the scaled geographic area associated with the calculated position of the mobile computing device; and

utilizing, by a location-aware application on the mobile computing device, the corresponding error radius to provide information to a user of the mobile computing device;

wherein creating the data structure comprises:

gathering position survey information for a location venue for which limited global positioning system (GPS) data is available, the position survey information comprising beacon fingerprints of wireless beacons detected by an antenna of the mobile computing device at the location venue and known actual positions associated with the beacon fingerprints;

partitioning the position survey information into first and second data sets;

determining, for the multiple levels of the scaled geographic areas, first errors between a plurality of first inferred positions determined based on beacon fingerprints in the first data set and the known actual positions associated with said beacon fingerprints;

determining, for the multiple levels of the scaled geographic areas, second errors between a plurality of second inferred positions determined based on beacon fingerprints in the second data set and the known actual positions associated with said beacon fingerprints;

determining, for the multiple levels of the scaled geographic areas, a correlation between the first errors and the second errors;

selecting the scaled geographic areas for which the first errors and the second errors satisfy a correlation threshold; and

including the selected scaled geographic areas and the position error radii in associated fields of the data structure; and

wherein returning the corresponding error radius comprises:

determining whether the scaled geographic area in the global projection reference system including the calculated position of the mobile computing device is identified at a level in the data structure;

if the scaled geographic area in the global projection reference system is present at the level in the data structure, returning the corresponding error radius; and

if the scaled geographic area in the global projection reference system is not present at the level in the data structure, returning the corresponding error radius from a search of a lower resolution scaled geographic area at another level including the calculated position of the mobile computing device.

14. The computer implemented method of claim 13 wherein if no lower resolution scaled geographic area including the calculated position is present in the data structure, returning a venue-level default as the corresponding error radius.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2014
From: LIN, JYH-HAN
To: MICROSOFT CORPORATION
Reel/Frame 033061/0047 →
Continuity (1)
Related Publication 20150323646A1 · Nov 12, 2015
Cited By (1)
US 12,520,224