Video Re-encoding Motion Vector Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing video processing and delivery systems face significant latency issues due to video editing and re-encoding processes, particularly in live streaming applications where real-time or near-real-time presentation of edited video content is desired, as the re-use of input motion vectors can lead to undesirable compression ratios and increased latency when substantial video content changes occur.

Innovation Solution

The system selectively re-uses or avoids re-using input motion vectors based on a distortion threshold, comparing the amount of distortion in edited video content to determine whether to reuse motion vectors for re-encoding, thereby reducing video encoding latency and maintaining optimal compression ratios.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If input motion vectors are reused for re-encoding edited video content, then video encoding latency is reduced, but compression ratio deteriorates when substantial content changes occur

Engineering Contradiction:
Improvevideo encoding latencyVSAvoidcompression ratio
Core Design Contradiction:
Loss of timeVSManufacturing precision

Solution Approach 1:

The system dynamically changes the parameter of motion vector reuse based on distortion threshold comparison. When distortion below threshold, motion vectors are reused to reduce latency. When distortion exceeds threshold, motion vectors are not reused to maintain compression ratio. This dynamic parameter adjustment resolves the contradiction between latency reduction and compression quality.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The re-encoding process becomes dynamic by selectively applying motion vector reuse based on real-time distortion assessment. The system transitions from static motion vector handling to dynamic decision-making, adjusting encoding parameters mid-process based on the degree of content change detected through distortion threshold comparison.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If video content is edited and re-encoded in real-time, then responsiveness to content changes is improved, but encoding latency increases

Engineering Contradiction:
Improveresponsiveness to content changesVSAvoidencoding latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary motion vector reuse for portions of video content that have minimal distortion, before fully processing the entire frame. This preliminary action allows the system to maintain real-time responsiveness for stable regions while avoiding the latency penalty of re-processing motion vectors for substantially changed regions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The video frame is segmented into portions based on distortion levels. Regions with minimal distortion can reuse motion vectors, while regions with substantial changes cannot. This segmentation allows selective optimization across different parts of the same frame, maintaining overall real-time performance while adapting to local content changes.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10972788B1Distortion-based video re-encoding
Publication Date: 2021.04.06 AMAZON TECH INC
  • US10972788B1 patent drawing
  • US10972788B1 patent drawing
  • US10972788B1 patent drawing

AI summary

An input video stream of video content may be encoded and transmitted from a provider to an intermediary, which decodes and edits the video content, and then re-encodes and transmits the video content to end viewers via an output video stream. When re-encoding the video content, the intermediary may determine to selectively re-use and/or not re-use input motion vectors from the input video stream, for example based on an amount of distortion associated with editing of the video content. In some examples, input motion vectors may be re-used for re-encoding of certain portions (e.g., frames, parts of frames, etc.) of the output video stream and not re-used for re-encoding of other portions of the output video stream.