IP Library Granted Patent US 10,122,831
Granted Patent B2
US 10,122,831 · App. 14/084,032 · Granted Nov 6, 2018

Method for compressing and reconstructing data sampled from continuous functions

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,122,831
App. No.
14/084,032
Granted
Nov 6, 2018
Kind
B2
Abstract

A method comprises obtaining data points, each comprised of a time stamp and measurement; dividing the data points into sequences of consecutive data points; limiting the maximum time between consecutive data points in the same sequence; limiting the maximum time between the earliest and latest data points in each sequence; calculating a polynomial of lowest transmission cost for each sequence; limiting the approximation error between the data points in a sequence and the associated polynomial; and transmitting, to a server, data based on the calculated polynomial.

Claims (49)

1. A method, comprising:

receiving at a memory of a device data comprising data points, the data points each representing a global positioning system location of the device and a time stamp at which the location was obtained;

accessing the data from a processor of the device to obtain the data points;

dividing, by the processor, the data points into sequences of three or more consecutive data points;

measuring, by the processor, a time between consecutive data points in a sequence;

in response to the time between consecutive data points exceeding a maximum time between consecutive data points in the same sequence, providing for transmission of parameters of a polynomial approximation of the data points in the sequence from the device to a server to mitigate approximation errors;

in response to the time between consecutive data points being below a maximum time between consecutive data points in the same sequence, measuring, by the processor, a time since an earliest data point in the sequence;

in response to the time since an earliest data point in the sequence exceeding a maximum age, providing for transmission of parameters of a polynomial approximation of the data points in the sequence from the device to a server to mitigate approximation errors;

in response to the time since an earliest data point in the sequence being below a maximum age, calculating, by the processor, a polynomial of lowest transmission cost for the sequence, the calculated polynomial being based on a candidate active set of data points that is set to a union of an active set of data points and new data points;

limiting an approximation error between the data points in a sequence and the calculated polynomial; and

transmitting, to the server, the calculated polynomial as compressed data, wherein the transmitted data is compressed relative to the data points received, and wherein a number of and frequency of transmissions is reduced relative to conventional GPS location reporting, thereby reducing bandwidth consumed by the data transmission and reducing database storage necessary to store the transmitted data.

2. The method of claim 1 , wherein calculating a polynomial of lowest transmission cost comprises applying a least squares error objective.

3. The method of claim 1 , wherein calculating a polynomial of lowest transmission cost comprises constraining the polynomial to pass through one or more of the data points in the sequence.

4. The method of claim 1 , wherein the data points use geodetic coordinates.

5. The method of claim 4 , wherein the geodetic coordinates are converted to a rectangular coordinate system before fitting the polynomials.

6. The method of claim 1 , wherein a measurement in the data points comprises a control area network bus signal.

7. The method of claim 1 , wherein high resolution reference points for sources of the data points are transmitted either only at the start of data collection or so as to include non-repeating data points and polynomials describe offsets from the corresponding reference point.

8. An apparatus, comprising:

at least one processor, and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to:

receive at the memory data comprising data points, the data points each representing a global positioning system location of a device and a time stamp at which the location of the device was obtained;

access the data from the memory to obtain the data points;

divide the data points into sequences of three or more consecutive data points;

measure a time between consecutive data points in a sequence;

in response to the time between consecutive data points exceeding a maximum time between consecutive data points in the same sequence, provide for transmission of parameters of a polynomial approximation of the data points in the sequence to a server to mitigate approximation errors;

in response to the time between consecutive data points being below a maximum time between consecutive data points in the same sequence, measure a time since an earliest data point in the sequence;

in response to the time since an earliest data point in the sequence exceeding a maximum age, provide for transmission of parameters of a polynomial approximation of the data points in the sequence to the server to mitigate approximation errors;

in response to the time since an earliest data point in the sequence being below a maximum age, calculate a polynomial of lowest transmission cost for the sequence, the calculated polynomial being based on a candidate active set of data points that is set to a union of an active set of data points and new data points;

limit an approximation error between the data points in a sequence and the calculated polynomial; and

transmit, to the server, the calculated polynomial as compressed data, wherein the transmitted data is compressed relative to the data points received, and wherein a number of and frequency of transmissions is reduced relative to conventional GPS location reporting, thereby reducing bandwidth consumed by the data transmission and reducing database storage necessary to store the transmitted data.

9. The apparatus of claim 8 , wherein when calculating a polynomial of lowest transmission cost the apparatus applies a least squares error objective.

10. The apparatus of claim 8 , wherein when calculating a polynomial of lowest transmission cost the apparatus applies a constraint that the polynomial passes through one or more of the data points in the sequence.

11. The apparatus of claim 8 , wherein the apparatus obtains data points in geodetic coordinates and fits the polynomials to the geodetic coordinates without transformation.

12. The apparatus of claim 8 , wherein the apparatus obtains data points in geodetic coordinates and the apparatus converts the geodetic coordinates to rectangular coordinates before fitting the polynomials.

13. The apparatus in claim 8 , wherein high resolution reference points for each data source are transmitted either only at the start of data collection or so as to include non-repeating data points and polynomials describe offsets from the corresponding reference point.

14. A non-transitory computer readable storage medium, comprising one or more sequences of one or more instructions which, when executed by one or more processors of an apparatus, cause the apparatus to at least:

access data to obtain data points stored in a memory, the data points each representing a global positioning system location of a device and a time stamp at which the location was obtained;

divide the data points into sequences of three or more consecutive data points;

measure a time between consecutive data points in a sequence;

in response to the time between consecutive data points exceeding a maximum time between consecutive data points in the same sequence, provide for transmission of parameters of a polynomial approximation of the data points in the sequence to a remote server to mitigate approximation errors;

in response to the time between consecutive data points being below a maximum time between consecutive data points in the same sequence, measure a time since an earliest data point in the sequence;

in response to the time since an earliest data point in the sequence exceeding a maximum age, provide for transmission of parameters of a polynomial approximation of the data points in the sequence to the remote server to mitigate approximation errors;

in response to the time since an earliest data point in the sequence being below a maximum age, approximate the data points using a piecewise polynomial comprising one or more local polynomials, the piecewise polynomial being based on a candidate active set of data points set to the union of an active set of data points and new data points; and

transmit the approximated data as compressed data to the remote server, wherein the transmitted data is compressed relative to the data points obtained, and wherein a number of and frequency of transmissions is reduced relative to conventional GPS location reporting, thereby reducing bandwidth consumed by the data transmission and reducing database storage necessary to store the transmitted data.

15. The non-transitory computer readable storage medium of claim 14 , wherein the polynomial is calculated by applying a least squares error objective.

16. The non-transitory computer readable storage medium of claim 14 , wherein the polynomial is calculated according to a lowest transmission cost including constraining the polynomial to pass through one or more of the data points in the sequence.

17. The non-transitory computer readable storage medium of claim 14 , wherein the data points use geodetic coordinates.

18. The non-transitory computer readable storage medium of claim 17 , wherein the geodetic coordinates are converted to a rectangular coordinate system before fitting the polynomials.

19. The non-transitory computer readable storage medium of claim 14 , wherein a measurement in the data points comprises a control area network bus signal.

20. The non-transitory computer readable storage medium of claim 14 , wherein high resolution reference points for sources of the data points are transmitted either only at the start of data collection or so as to include non-repeating data points, and polynomials describe offsets from the corresponding reference point.

Assignments (2)
CHANGE OF ADDRESS Recorded Apr 4, 2017
From: HERE GLOBAL B.V.
To: HERE GLOBAL B.V.
Reel/Frame 042153/0445 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2014
From: ADACHI, JEFFREY; LIU, XIAOQING
To: HERE GLOBAL B.V.
Reel/Frame 032056/0439 →