Optical Flow Computation Circuitry for Dense Video Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional optical flow implementations on programmable logic devices are limited by external memory bandwidth, restricting them to analyze only a sparse fraction of pixels and small window sizes due to high reliance on external memory and arithmetic circuitry.

Innovation Solution

The implementation of optical flow computation circuitry within an integrated circuit using image shift registers to compute gradient matrices incrementally, minimizing external memory interactions and reusing previous gradient matrix values to support dense optical flow calculations and larger window sizes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional optical flow implementations use external memory to store computed information, then the circuit can support basic optical flow computation, but the performance is limited by external memory bandwidth and only sparse flow with small window sizes can be achieved

Engineering Contradiction:
Improveoptical flow computation throughputVSAvoidexternal memory bandwidth requirement
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the optical flow computation into distinct functional units: gradient computation units, matrix construction units, and incremental update units. Each unit processes specific portions of the computation independently, allowing parallel operation and reducing the need for centralized external memory storage. The image data is divided into windows processed separately, with intermediate results held in on-chip registers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a memory-bandwidth-limited architecture to a compute-bound architecture by adding temporal dimension through incremental updates. Instead of recomputing gradient matrices from scratch for each pixel, the system maintains state in on-chip registers and performs incremental updates, effectively adding a time dimension to the computation process that eliminates repeated memory accesses.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Measurement precision

If conventional implementations store substantial computed information in external memory, then the system can handle basic computations, but the amount of arithmetic circuitry required becomes prohibitively large

Engineering Contradiction:
Improveoptical flow calculation densityVSAvoidarithmetic circuitry amount
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent performs preliminary computation of gradient values and stores them in on-chip registers before they are needed for matrix construction. The gradient computation units pre-calculateIx and Iy values and hold them in registers, so that when matrix construction is needed, the data is already available on-chip without requiring external memory access or additional arithmetic units for repeated computation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent discards the conventional approach of storing complete gradient matrices in external memory and instead recovers efficiency by maintaining only essential intermediate results in on-chip registers. The system discards redundant computations by using incremental updates that recover and reuse previous computation results, keeping only the necessary state information in fast on-chip storage.

Inventive Principle:
Principle #34Discarding and recovering

3Measurement precision

If the system supports dense optical flow calculation with large window sizes, then comprehensive motion analysis is achieved, but external memory bandwidth requirements become unsustainable

Engineering Contradiction:
Improveoptical flow analysis coverageVSAvoidexternal memory traffic
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent merges multiple computation steps into unified on-chip operations. The gradient computation, matrix construction, and optical flow calculation are merged into a single pipeline that operates entirely on on-chip data. This consolidation eliminates the need for intermediate storage in external memory and reduces memory traffic to only the initial image data input and final results output.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system makes itself self-sufficient by maintaining all necessary intermediate computation results in on-chip registers. The incremental update mechanism allows each computation stage to serve itself with data from previous stages without external memory intervention. The system serves its own data needs through internal register transfers and incremental updates, eliminating dependence on external memory bandwidth.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9819841B1Integrated circuits with optical flow computation circuitry
Publication Date: 2017.11.14 ALTERA CORP
  • US9819841B1 patent drawing
  • US9819841B1 patent drawing
  • US9819841B1 patent drawing

AI summary

An integrated circuit with optical flow computation circuitry is provided. The optical flow computation circuitry may include a first image shift register for receiving pixel values from a current video frame, a second image shift register for receiving pixel values from a previous video frame, column shift registers for storing column sums of various gradient-based values, square sum registers for storing square sums generated at least partly based on the column sum values, and an associated computation circuit that constructs a gradient matrix based on values stored in the square sum registers and that computes a 2-dimensional optical flow vector based on an inverse of the gradient matrix and differences between the current and previous frames. Optical flow computing circuitry configured in this way may be capable of supporting dense optical flow calculation for at least one pixel per clock cycle while supporting large window sizes.