Parallel Video Frame Slice Processing for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics pipeline architectures that process video frames sequentially introduce noticeable latency in real-time applications, such as interactive games, due to the time required for a framebuffer to fill and for entire frames to be encoded before transmission, leading to unresponsive user experiences and latency issues when frames are corrupted or dropped during streaming.

Innovation Solution

Implementing a graphics pipeline that processes video frames in portions or slices concurrently, allowing components like the encoder and multiplexer to start processing before the entire frame is complete, reducing end-to-end latency and enabling efficient recovery from frame corruption by using intra-slices for partial frame encoding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a graphics pipeline processes video frames sequentially (frame-by-frame), then hardware design and software driving are simplified, but latency increases making real-time applications unresponsive

Engineering Contradiction:
Improvehardware and software design simplicityVSAvoidend-to-end latency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent divides video frames into slices that can be processed independently. The encoder processes slices concurrently as they become available in the framebuffer, rather than waiting for complete frames. This segmentation enables parallel processing across different stages of the pipeline while maintaining design simplicity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by starting to encode slices before the framebuffer is completely filled. As soon as a slice becomes available in the framebuffer, the encoder begins processing it, rather than waiting for the entire frame to be generated. This reduces latency by overlapping frame generation with encoding operations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the entire frame must be encoded before transmission starts, then encoding completeness is ensured, but latency increases and responsiveness decreases

Engineering Contradiction:
Improveencoding completenessVSAvoidtime to start transmission
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments frames into independent slices that can be encoded and transmitted separately. This allows the encoder to process and transmit slices as they become available, ensuring encoding completeness for each slice while reducing overall latency through parallel processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent maintains continuity of useful action by keeping the encoder busy processing slices as soon as they are available, rather than idling until complete frames are ready. This continuous processing maximizes throughput and minimizes latency in real-time applications.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If an entire Iframe is transmitted for recovery after frame corruption, then complete recovery is achieved, but frame size spikes cause latency and jitter

Engineering Contradiction:
Improveframe recovery capabilityVSAvoidrecovery latency and jitter
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments frames into slices, allowing recovery to be performed at the slice level rather than requiring complete Iframes. When corruption is detected, only the affected slices need retransmission, significantly reducing the data volume and associated latency compared to transmitting entire frames for recovery.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10003811B2Parallel processing of a video frame
Publication Date: 2018.06.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10003811B2 patent drawing
  • US10003811B2 patent drawing
  • US10003811B2 patent drawing

AI summary

A graphics pipeline with components that process frames by portions (e.g., pixels or rows) or slices to reduce end-to-end latency. Components of a pipeline process portions of a same frame at the same time. For example, as graphics data for a frame is being generated and fills a framebuffer, once a certain portion of video data less than the whole frame (slice or sub-frame) becomes available, before the corresponding frame is finished filling the framebuffer, the next pipeline component after the framebuffer, for instance a video processor for color conversion or an encoder, begins to process the portion of the frame. While one portion of a frame is accumulating in the frame buffer, another portion of the same frame is being encoded by an encoder, and another portion of the frame might be being packaged by a multiplexer, and a network socket might start streaming the multiplexed portion.