Motion Vector Reuse for Multi-Camera Video Stabilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing panoramic video generation systems face challenges with unwanted camera movement, leading to shaky videos and difficulties in encoding, which affect the quality and efficiency of video compression and stabilization.

Innovation Solution

A system utilizing multiple cameras with integrated motion sensors, such as gyroscopes and accelerometers, to capture and stabilize video data, applying motion compensation algorithms to account for camera movement and enhance encoding efficiency by calculating motion vectors and applying stabilization adjustments across multiple camera streams.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If motion estimation is performed on multiple camera streams separately, then stabilization quality improves, but computational complexity and processing time increase significantly

Engineering Contradiction:
Improvestabilization qualityVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the computational task by performing motion estimation on a single reference camera stream rather than all streams, then reuses these motion vectors across multiple stabilized streams. This divides the complex problem into a reference estimation phase and multiple application phases, reducing overall computational complexity while maintaining stabilization quality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent copies motion estimation results (motion vectors) from a reference camera stream and applies them to multiple other camera streams. Instead of performing independent motion estimation on each stream, the system creates and reuses motion compensation data across multiple outputs, significantly reducing processing requirements.

Inventive Principle:
Principle #26Copying

2Manufacturing precision

If high-resolution panoramic video is generated from multiple cameras, then video quality improves, but encoding difficulty and processing resources increase

Engineering Contradiction:
Improvevideo qualityVSAvoidencoding efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The system performs motion estimation and calculates motion vectors in advance during the stabilization process, before the actual video encoding occurs. This preliminary computation of motion data prepares the encoded video for more efficient compression by pre-identifying motion patterns, thereby improving encoding efficiency without compromising video quality.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If motion compensation is applied to multiple camera streams, then stabilization effectiveness improves, but energy consumption increases

Engineering Contradiction:
Improvestabilization effectivenessVSAvoidbattery consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent merges the motion estimation operations by performing a single motion estimation on a reference stream and reusing the resulting motion vectors for stabilizing multiple other streams. This combining of computational operations maintains stabilization effectiveness across all camera streams while significantly reducing the total energy consumption compared to independent motion estimation for each stream.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10447926B1Motion estimation based video compression and encoding
Publication Date: 2019.10.15 AMAZON TECH INC
  • US10447926B1 patent drawing
  • US10447926B1 patent drawing
  • US10447926B1 patent drawing

AI summary

A video capture device may include multiple cameras that simultaneously capture video data. The video capture device may include one or more motion sensors that track the motion of the video capture device during video capture. Using the motion data, motion vectors can be calculated and used by an encoder to compress and encode a stream of video data. The motion vectors calculated for one stream of video data can then be used to compress and encode a second stream of video data due to the symmetry of a first camera that captured the first video stream and a second camera that captured the second video stream. The video capture device and/or remote computing resources may stitch together the first and second video streams to generate a panoramic video.