IP Library Granted Patent US 10,558,261
Granted Patent B1
US 10,558,261 · App. 16/174,017 · Granted Feb 11, 2020

Sensor data compression

Inventors: Boyang Zhang (Cupertino, CA); Adrian Brian Ratter (Redwood City, CA); Chengyuan Yan (Fremont, CA); Jack Hood Profit, Jr. (Vashon, WA); Paul Austin Buckley (Seattle, WA)
Assignee: Facebook Technologies, LLC
G06F3/011G06F3/0346H04W4/80
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,558,261
App. No.
16/174,017
Granted
Feb 11, 2020
Kind
B1
Abstract

In one embodiment, a method includes receiving motion data from a motion sensor during a packet-transmission interval of a wireless protocol. The motion data corresponds to a first pre-determined number of samples measured at a first sampling frequency. Each sample is associated with a first timestamp corresponding to a measurement time of that sample during the packet-transmission interval. The method also includes converting the motion data to correspond to a second pre-determined number of samples. The second pre-determined number is fewer than the first pre-determined number. The method also includes determining a second timestamp for each of the second pre-determined number of samples. The second timestamps are within the packet-transmission interval and represent measurement times at a second sampling frequency that is lower than the first sampling frequency. The method also includes combining the converted motion data and the corresponding second timestamps into a first data packet.

Claims (61)

1. A method comprising:

by one or more computing devices, receiving motion data from a motion sensor during a packet-transmission interval of a wireless protocol, wherein:

the motion data corresponds to a first pre-determined number of samples measured at a first sampling frequency; and

each sample is associated with a first timestamp corresponding to a measurement time of that sample during the packet-transmission interval;

by the one or more computing devices, converting the motion data to correspond to a second pre-determined number of samples, wherein the second pre-determined number is fewer than the first pre-determined number;

by the one or more computing devices, determining a second timestamp for each of the second pre-determined number of samples, wherein the second timestamps are within the packet-transmission interval and represent measurement times at a second sampling frequency that is lower than the first sampling frequency;

by the one or more computing devices, combining the converted motion data and the corresponding second timestamps into a first data packet; and

by the one or more computing devices, sending the first data packet using the wireless protocol having a packet-transmission frequency that is lower than the first sampling frequency and the second sampling frequency, wherein the first data packet is configured to be used for generating at least a portion of a virtual-reality or mixed-reality environment that is responsive to user motion.

2. The method of claim 1 , wherein converting the motion data comprises:

interpolating a value of the motion sensor measured at an initial measurement time and a subsequent measurement time; and

interpolating a value of the motion sensor measured at an ending measurement time and a previous measurement time.

3. The method of claim 1 , wherein determining the second timestamps comprises:

interpolating a timestamp of data measured at an initial measurement time and a subsequent measurement time; and

interpolating a timestamp measured at an ending measurement time and a previous measurement time.

4. The method of claim 1 , further comprising:

integrating data from an accelerometer and magnetometer having a corresponding third timestamp into a second data packet, wherein the data from the accelerometer and magnetometer is measured at the packet-transmission frequency; and

sending the second data packet between successive first data packets using the wireless protocol, wherein the second data packet comprises data used to correct motion measured by the motion sensor.

5. The method of claim 4 , wherein the second data packet further comprises input data of a user modifying the mixed-reality environment through a controller held by the user.

6. The method of claim 1 , wherein the sending the first data packet comprises sending the first data packet to a headset of a mixed-reality system through a BLUETOOTH LOW ENERGY wireless protocol.

7. The method of claim 1 , wherein the second pre-determined number of samples is based on the packet-transmission frequency.

8. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

receive motion data from a motion sensor during a packet-transmission interval of a wireless protocol, wherein:

the motion data corresponds to a first pre-determined number of samples measured at a first sampling frequency; and

each sample is associated with a first timestamp corresponding to a measurement time of that sample during the packet-transmission interval;

convert the motion data to correspond to a second pre-determined number of samples, wherein the second pre-determined number is fewer than the first pre-determined number;

determine a second timestamp for each of the second pre-determined number of samples, wherein the second timestamps are within the packet-transmission interval and represent measurement times at a second sampling frequency that is lower than the first sampling frequency;

combine the converted motion data and the corresponding second timestamps into a first data packet; and

send the first data packet using the wireless protocol having a packet-transmission frequency that is lower than the first sampling frequency and the second sampling frequency, wherein the first data packet is configured to be used for generating at least a portion of a virtual-reality or mixed-reality environment that is responsive to user motion.

9. The media of claim 8 , wherein the software is further operable to:

interpolate a value of the motion sensor measured at an initial measurement time and a subsequent measurement time; and

interpolate a value of the motion sensor measured at an ending measurement time and a previous measurement time.

10. The media of claim 8 , wherein the software is further operable to:

interpolate a timestamp of data measured at an initial measurement time and a subsequent measurement time; and

interpolate a timestamp measured at an ending measurement time and a previous measurement time.

11. The media of claim 8 , wherein the software is further operable to:

integrate data from an accelerometer and magnetometer having a corresponding third timestamp into a second data packet, wherein the data from the accelerometer and magnetometer is measured at the packet-transmission frequency; and

send the second data packet between successive first data packets using the wireless protocol, wherein the second data packet comprises data used to correct motion measured by the motion sensor.

12. The media of claim 11 , wherein the second data packet further comprises input data of a user modifying the mixed-reality environment through a controller held by the user.

13. The media of claim 8 , wherein the software is further operable to send the first data packet to a headset of a mixed-reality system through a BLUETOOTH LOW ENERGY wireless protocol.

14. The media of claim 8 , wherein the second pre-determined number of samples is based on the packet-transmission frequency.

15. A system comprising:

one or more processors; and

a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to:

receive motion data from a motion sensor during a packet-transmission interval of a wireless protocol, wherein:

the motion data corresponds to a first pre-determined number of samples measured at a first sampling frequency; and

each sample is associated with a first timestamp corresponding to a measurement time of that sample during the packet-transmission interval;

convert the motion data to correspond to a second pre-determined number of samples, wherein the second pre-determined number is fewer than the first pre-determined number;

determine a second timestamp for each of the second pre-determined number of samples, wherein the second timestamps are within the packet-transmission interval and represent measurement times at a second sampling frequency that is lower than the first sampling frequency;

combine the converted motion data and the corresponding second timestamps into a first data packet; and

send the first data packet using the wireless protocol having a packet-transmission frequency that is lower than the first sampling frequency and the second sampling frequency, wherein the first data packet is configured to be used for generating at least a portion of a virtual-reality or mixed-reality environment that is responsive to user motion.

16. The system of claim 15 , wherein the processors are further operable to:

interpolate a value of the motion sensor measured at an initial measurement time and a subsequent measurement time; and

interpolate a value of the motion sensor measured at an ending measurement time and a previous measurement time.

17. The system of claim 15 , wherein the processors are further operable to:

interpolate a timestamp of data measured at an initial measurement time and a subsequent measurement time; and

interpolate a timestamp measured at an ending measurement time and a previous measurement time.

18. The system of claim 15 , wherein the processors are further operable to:

integrate data from an accelerometer and magnetometer having a corresponding third timestamp into a second data packet, wherein the data from the accelerometer and magnetometer is measured at the packet-transmission frequency; and

send the second data packet between successive first data packets using the wireless protocol, wherein the second data packet comprises data used to correct motion measured by the motion sensor.

19. The system of claim 18 , wherein the second data packet further comprises input data of a user modifying the mixed-reality environment through a controller held by the user.

20. The system of claim 15 , wherein the software is further operable to send the first data packet to a headset of a mixed-reality system through a BLUETOOTH LOW ENERGY wireless protocol.

Assignments (2)
CHANGE OF NAME Recorded Jul 6, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060591/0848 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2018
From: ZHANG, BOYANG; RATTER, ADRIAN BRIAN; YAN, CHENGYUAN; PROFIT, JACK HOOD, JR.; BUCKLEY, PAUL AUSTIN
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 047478/0434 →