×

Synchronizing data streams

  • US 10,368,057 B1
  • Filed: 09/28/2016
  • Issued: 07/30/2019
  • Est. Priority Date: 09/28/2016
  • Status: Active Grant
First Claim
Patent Images

1. A system comprising:

  • a first camera configured to generate depth data of an environment based on acquired depth images;

    a second camera configured to acquire color images of the environment;

    a computing device coupled to the first camera and the second camera, the computing device comprising;

    a pulse-width-modulation (PWM) unit coupled to the first camera and the second camera and configured to generate a pulse and an interrupt at a first time;

    one or more processors to receive the interrupt;

    memory, coupled to the one or more processors;

    a first driver stored in the memory and executable on the one or more processors to receive a depth image acquired by the first camera, the first camera configured to acquire the first depth image in response to receiving the pulse from the PWM unit;

    a second driver stored in the memory and executable on the one or more processors to receive a color image acquired by the second camera, the second camera acquiring the color image in response to receiving the pulse from the PWM unit;

    a first timestamp queue for storing, in the memory, timestamps for association with depth images acquired by the first camera;

    a second timestamp queue for storing, in the memory, timestamps for association with color images acquired by the second camera;

    an interrupt service stored in the memory and executable on the one or more processors to;

    receive a call from the one or more processors in response to the one or more processors receiving the interrupt;

    store, in response to receiving the call;

    (i) a first timestamp corresponding to the first time in the first timestamp queue, and (ii) a second timestamp corresponding to the first time in the second timestamp queue;

    an application stored in the memory and executable on the one or more processors to;

    receive the depth image from the first driver;

    read the first timestamp from the first timestamp queue;

    add metadata that is based on the first timestamp to the depth image;

    receive the color image from the second driver;

    read the second timestamp from the second timestamp queue; and

    add metadata that based on the second timestamp to the color image.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×