IP Library Granted Patent US 8,300,968
Granted Patent B2
US 8,300,968 · App. 11/875,298 · Granted Oct 30, 2012

Method and system for enabling real-time speckle processing using hardware platforms

Assignee: EM Photonics, Inc.
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 8,300,968
App. No.
11/875,298
Granted
Oct 30, 2012
Kind
B2
Abstract

An accelerator for the speckle atmospheric compensation algorithm may enable real-time speckle processing of video feeds that may enable the speckle algorithm to be applied in numerous real-time applications. The accelerator may be implemented in various forms, including hardware, software, and/or machine-readable media.

Claims (94)

1. A method for real-time computation of a Speckle algorithm incorporating a sliding window, comprising:

initializing and setting up a plurality of memory locations;

setting a frame counter to zero;

inputting a present frame of a time sequenced image;

computing a bispectrum of the present, frame;

determining whether a computed bispectrum buffer is full with accumulated bispectrum computations and performing the following operations:

when the computed bispectrum buffer is not full,

setting a next oldest computed bispectrum frame to be an oldest computed bispectrum frame,

adding the computed bispectrum of the present frame to the previous accumulated bispectrum frame computations and,

if the computed bispectrum buffer is still not full,

incrementing the frame counter and return to the step of inputting the present frame;

and when the computed bispectrum buffer is full,

subtracting the oldest computed bispectrum frame from the accumulated bispectrum frame computations,

setting a next oldest computed bispectrum frame to be the oldest computed bispectrum frame,

adding the computed bispectrum of the present frame to the previous accumulated bispectrum frame computations and,

if the buffer is still not full,

incrementing the frame counter and return to the step of inputting the present frame;

and when the computed bispectrum buffer is full,

normalizing the accumulated computed bispectrums;

inverting the normalized accumulated bispectrums;

outputting the normalized accumulated inverted bispectrums;

incrementing the frame counter; and

returning to the step of inputting the present frame.

2. A system for real-time computation of the method as recited in claim 1 , the system comprising:

a host computer;

a PCI bridge;

an oscillator;

a transmitter synthesizer;

a serializer;

a receiver; and

an FPGA,

wherein at least one of the host computer or the FPGA, either alone or in combination, is configured for:

said computing a bispectrum of the present frame; and

said determining whether a computed bispectrum buffer is full with accumulated bispectrum computations and performing the following operations:

when the computed bispectrum buffer is not full,

setting a next oldest computed bispectrum frame to be an oldest computed bispectrum frame,

adding the computed bispectrum of the present frame to the previous accumulated bispectrum frame computations' and,

if the computed bispectrum buffer is still not full, incrementing the frame counter and returning to the step of inputting the present frame;

and when the computed bispectrum buffer is full,

subtracting the oldest computed bispectrum frame from the accumulated bispectrum frame computations,

setting a next oldest computed bispectrum frame to be the oldest computed bispectrum frame,

adding the computed bispectrum of the present frame to the previous accumulated bispectrum frame computations and,

if the buffer is still not full, incrementing the frame counter and returning to the step of inputting the present frame;

and when the computed bispectrum buffer is full,

normalizing the accumulated computed bispectrums;

inverting the normalized accumulated bispectrums;

outputting the normalized accumulated inverted bispectrums;

incrementing the frame counter; and

returning to the step of inputting the present frame.

3. The system of claim 2 , further comprising:

input and output shielded connectors configured to input and output video data;

an equalizer and cable driver connected to the input and output shielded connectors; and

a deserializer,

wherein the deserializer and serializer are connected to respective outputs of the equalizer and cable driver.

4. The system of claim 3 , wherein the FPGA further comprises:

a framing receiver and framing transmitter connected to the outputs from the deserializer and serializer; and

a decoder and encoder connected to the respective outputs from the framing receiver and framing transmitter; and

an SDRAM and the PCI Bridge connected to the FPGA,

wherein the deserializer is connected to the framing receiver and the serializer is connected to the framing transmitter.

5. The system of claim 4 , wherein the FPGA comprises a Speckle engine and the Speckle engine further comprises:

a startup function and parameter register file configured to control system operation;

an extract tile function connected to a Demean function and configured to provide inputs to an Apodization window;

a first two-dimensional (2-D) Real-Complex Fast Fourier Transform (FFT) connected to the outputs of the Apodization window;

an Intensity function connected to the 2-D Real-Complex FFT;

a Compute Bispectrum function connected to outputs of the Intensity function;

an Averaging Unit connected to outputs of the Compute Bispectrum function;

a second two-dimensional (2-D) Real-Complex FFT connected to outputs of the Averaging Unit; and

an Apodization Gain unit connected to outputs of the second two-dimensional (2-D) Real-Complex FFT,

wherein the startup function is connected to the parameter register file, and the Speckle engine, the PCI bridge is connected to the startup function and the SDRAM is connected to the Speckle engine.

6. The system of claim 5 , wherein at least one of the 2D-FFTs is configured to process real-number inputs in a range of at least 0 to 1, inclusive.

7. The system of claim 5 , wherein the FFT sizes are at least 64×64, 256×256, 512×512 and 1024×1024.

8. The system of claim 5 , wherein inverse FFT sizes are at least 64×64, 256×256, 512×512 and 1024×1024 and a range is constrained at the output.

9. A non-transitory machine-readable medium containing executable instructions that, when executed by a machine, cause the machine to implement a method for real-time computation of a Speckle algorithm incorporating a sliding window, comprising:

initializing and setting up a plurality of memory locations;

setting a frame counter to zero;

inputting a present frame of a time sequenced image;

computing a bispectrum of the present frame;

determining whether a computed bispectrum buffer is full with accumulated bispectrum computations and performing the following operations:

when the computed bispectrum buffer is not full,

setting a next oldest computed bispectrum frame to be an oldest computed bispectrum frame,

adding the computed bispectrum of the present frame to the previous accumulated bispectrum frame computations and,

if the computed bispectrum buffer is still not full,

incrementing the frame counter and return to the step of inputting the present frame;

and when the computed bispectrum buffer is full,

subtracting the oldest computed bispectrum frame from the accumulated bispectrum frame computations,

setting a next oldest computed bispectrum frame to be the oldest computed bispectrum frame,

adding the computed bispectrum of the present frame to the previous accumulated bispectrum frame computations and,

if the buffer is still not full,

incrementing the frame counter and return to the step of inputting the present frame;

and when the computed bispectrum buffer is full,

normalizing the accumulated computed bispectrums;

inverting the normalized accumulated bispectrums;

outputting the normalized accumulated inverted bispectrums;

incrementing the frame counter and returning to the step of inputting the present frame.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2012
From: CURT, PETERSEN F.
To: EM PHOTONICS, INC.
Reel/Frame 027805/0211 →
CONFIRMATORY LICENSE Recorded Sep 6, 2011
From: EM PHOTONICS, INC.
To: NASA
Reel/Frame 026900/0253 →
CONFIRMATORY LICENSE Recorded Jun 1, 2011
From: EM PHOTONICS, INC.
To: NASA
Reel/Frame 026771/0594 →
CONFIRMATORY LICENSE Recorded Aug 27, 2010
From: EM PHOTONICS, INC.
To: NASA
Reel/Frame 024902/0151 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2007
From: ORTIZ, FERNANDO E.; KELMELIS, ERIC J.; DURBANO, JAMES P.
To: EM PHOTONICS, INC.
Reel/Frame 019988/0296 →
Continuity (1)
Related Publication 20090103832A1 · Apr 23, 2009