IP Library Granted Patent US 9,888,203
Granted Patent B2
US 9,888,203 · App. 15/093,120 · Granted Feb 6, 2018

Method and system for video processing to remove noise from a digital video sequence containing a modulated light signal

Inventors: Daniel Ryan (San Francisco, CA); Peter Staats (Cambridge, MA); Robert Sumner, Jr. (Berkeley, CA)
Assignee: ABL IP HOLDINGS LLC
H04N5/455G01S1/70G01S7/484G01S17/46G06T5/002G06T5/50H04N5/144H04N5/217H04N5/4401
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 9,888,203
App. No.
15/093,120
Granted
Feb 6, 2018
Kind
B2
Abstract

In one aspect, the present disclosure relates to a method for removing noise from a digital video sequence containing a modulated light signal emitted from a beacon light source. In some embodiments, the method includes electronically receiving, by an image sensor of a device, a digital video sequence of a scene, calculating noise from the digital video sequence, wherein the noise comprises information within the digital video sequence corresponding to the un-modulated illumination of the scene, reducing the noise from the digital video sequence to obtain an isolated digital video sequence of the modulated illumination of the scene, and demodulating the emitted light signal from the isolated digital video sequence.

Claims (72)

1. A method comprising:

electronically receiving, by an image sensor of a device, a still image of a scene, wherein:

the scene comprises both modulated illumination emitted by a beacon light source and un-modulated illumination; and

the still image comprises a plurality of pixel values, each of the plurality of pixel values being for a given point in the still image;

calculating noise from the still image, wherein the noise comprises information within the still image corresponding to the un-modulated illumination of the scene;

removing the calculated noise from the still image to obtain an isolated digital image of the modulated illumination of the scene; and

demodulating the emitted light signal from the isolated digital image.

2. The method of claim 1 , wherein removing the calculated noise comprises subtracting the plurality of pixel values corresponding to the un-modulated illumination of the scene from the plurality of pixel values corresponding to the modulated illumination of the scene.

3. The method of claim 1 , wherein demodulating the emitted light signal from the isolated digital image comprises:

applying a blob detection algorithm to the isolated digital image, wherein a blob represents a region of interest identifiable as one of a plurality of beacon light sources, the blob detection algorithm including:

determining an average pixel value for the region of interest;

comparing the average pixel value to a threshold value; and

based on the comparison, storing a binary value for the region of interest in a processed image indicating where the plurality of beacon light sources are detected.

4. The method of claim 3 , further comprising;

identifying a physical location of the device based on the processed image indicating where the plurality of beacon light sources are detected.

5. The method of claim 4 , wherein the processed image is at a sampling rate equal to a frame rate of the image sensor.

6. The method of claim 1 , wherein removing the calculated noise comprises:

applying phase correlation to detect scene motion between a plurality of frames, the plurality of frames including the still image;

upon detecting the scene motion between the plurality of frames, transforming the plurality of frames by shifting each of the plurality of frames to cause each frame to overlie a previous frame;

generating an averaged image by averaging a plurality of frames such that a banding effect due to the time-varying illumination of a plurality of beacon light sources is reduced to a constant value added on to all pixels of the averaged image; and

subtracting the averaged image from the still image to reveal the isolated digital image that is independent of the scene.

7. The method of claim 1 , wherein calculating the noise comprises averaging the plurality of pixel values of each given point of the still image.

8. The method of claim 7 , wherein the averaging is performed using a technique comprising one of calculating a simple numerical average, calculating a normalized average, calculating a Gaussian average, or calculating a difference between the still image and at least one prior digital image previously received electronically by the image sensor of the device.

9. The method of claim 1 , wherein removing the calculated noise comprises subtracting the calculated noise from the still image to obtain the isolated digital image.

10. The method of claim 9 , wherein demodulating the emitted light signal from the isolated digital image comprises taking the Fourier transform of row values along different columns of the isolated digital image.

11. An apparatus comprising:

an imaging sensor; and

a processor in communication with the imaging sensor configured to:

electronically receive a still image of a scene, wherein:

the scene comprises both modulated illumination emitted by a beacon light source and un-modulated illumination; and

the still image comprises a plurality of pixel values, each of the plurality of pixel values being for a given point in the still image;

calculate noise from the still image, wherein the noise comprises information within the still image corresponding to the un-modulated illumination of the scene;

remove the calculated noise from the still image to obtain an isolated digital image of the modulated illumination of the scene; and

demodulate the emitted light signal from the isolated digital image.

12. The apparatus of claim 11 , wherein the processor is configured to remove the calculated noise using a technique comprising subtracting the plurality of pixel values corresponding to the un-modulated illumination of the scene from the plurality of pixel values corresponding to the modulated illumination of the scene.

13. The apparatus of claim 11 , wherein demodulating the emitted light signal from the isolated digital image comprises:

applying a blob detection algorithm to the isolated digital image, wherein a blob represents a region of interest identifiable as one of a plurality of beacon light sources, the blob detection algorithm including:

determining an average pixel value for the region of interest;

comparing the average pixel value to a threshold value; and

based on the comparison, storing a binary value for the region of interest in a processed image indicating where the plurality of beacon light sources are detected.

14. The apparatus of claim 13 , wherein the processor is configured to identify a physical location of the apparatus based on the processed image indicating where the plurality of beacon light sources are detected.

15. The apparatus of claim 14 , wherein the processed image is at a sampling rate equal to a frame rate of the image sensor.

16. The apparatus of claim 11 , wherein removing the calculated noise comprises:

applying phase correlation to detect scene motion between a plurality of frames, the plurality of frames including the still image;

upon detecting the scene motion between the plurality of frames, transforming the plurality of frames by shifting each of the plurality of frames to cause each frame to overlie a previous frame;

generating an averaged image by averaging a plurality of frames such that a banding effect due to the time-varying illumination of a plurality of beacon light sources is reduced to a constant value added on to all pixels of the averaged image; and

subtracting the averaged image from the still image to reveal the isolated digital image that is independent of the scene.

17. The apparatus of claim 11 , wherein the processor is configured to perform the calculating of noise using a technique comprising averaging the plurality of pixel values of each given point of the still image.

18. The apparatus of claim 17 , wherein the processor is configured to perform averaging using a technique comprising one of calculating a simple numerical average, calculating a normalized average, calculating a Gaussian average, or calculating a difference between the still image and at least one prior digital image previously received electronically by the imaging sensor.

19. The apparatus of claim 11 , wherein removing the calculated noise comprises subtracting the calculated noise from the still image to obtain the isolated digital image.

20. The apparatus of claim 19 , wherein demodulating the emitted light signal from the isolated digital image comprises taking the Fourier transform of row values along different columns of the isolated digital image.

21. A device comprising:

an image sensor;

a central processing unit (CPU) coupled to the image sensor; and

storage accessible to the CPU;

wherein the CPU is configured to operate the image sensor to:

electronically receive, by the image sensor of the device, a still image of a scene, wherein:

the scene comprises both modulated illumination emitted by a beacon light source and un-modulated illumination; and

the still image comprises a plurality of pixel values, each of the plurality of pixel values being for a given point in the still image;

calculate noise from the still image, wherein the noise comprises information within the still image corresponding to the un-modulated illumination of the scene;

remove the calculated noise from the still image to obtain an isolated digital image of the modulated illumination of the scene; and

demodulate the emitted light signal from the isolated digital image.

22. The device of claim 21 , wherein:

the image sensor is a rolling shutter type camera; and

the demodulating of the emitted light signal from the isolated digital image comprises capturing data in response to characteristics of stripes in the still image from the rolling shutter camera caused by the modulated illumination.

23. The device of claim 22 , wherein the CPU is further configured to:

correlate the captured data to a light source identifier associated with the beacon light source; and

calculate an estimate of a physical location of the device based on a location of the correlated beacon light source identifier.

24. The device of claim 23 , wherein the location of the correlated beacon light source identifier is global positioning system (GPS) coordinates mapped into an indoor space.

25. The device of claim 22 , wherein the CPU is further configured to:

transmit the captured data to a server; and

in response to transmitting the captured data, receive a calculation of a physical location of the device based on the captured data from the server.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2016
From: BYTELIGHT, INC.
To: ABL IP HOLDING LLC
Reel/Frame 038384/0317 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2016
From: RYAN, DANIEL; STAATS, PETER; SUMNER, ROB
To: BYTELIGHT, INC.
Reel/Frame 038355/0816 →
Continuity (22)
Continuation 14163772 · Jan 24, 2014
Continuation 13718233 · Dec 18, 2012
Continuation 13526656 · Jun 19, 2012
Continuation In Part 13446520 · Apr 13, 2012
Continuation 13445019 · Apr 12, 2012
Continuation 13435448 · Mar 30, 2012
Continuation 13422591 · Mar 16, 2012
Continuation 13422580 · Mar 16, 2012
Continuation 13369147 · Feb 8, 2012
Continuation 13369144 · Feb 8, 2012
Continuation In Part 13446506 · Apr 13, 2012
Continuation 13445019
Continuation 13435448
Continuation 13422591
Continuation 13422580
Continuation 13369147
Continuation 13369144
Provisional Application 61639428 · Apr 27, 2012
Provisional Application 61635413 · Apr 19, 2012
Provisional Application 61567484 · Dec 6, 2011
Provisional Application 61511589 · Jul 26, 2011
Related Publication 20160227153A1 · Aug 4, 2016