GPU Video Playback Tool for Inter-Coded Block Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video playback tools face challenges in efficiently decoding and rendering video content, particularly for high-quality, high-bit-rate videos and low-latency scenarios like remote desktop conferencing, due to computational complexity and the need for hardware acceleration across diverse operating systems and hardware configurations.

Innovation Solution

The implementation of a video playback tool that utilizes a graphics processing unit (GPU) for decoding and rendering operations, specifically for inter-coded blocks, using graphics primitives and shader routines to perform motion compensation and interpolation, allowing for parallel processing and efficient handling of different block sizes and interlaced video content.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If video decoding and rendering operations are performed using CPU, then the system can handle diverse operating systems and hardware configurations, but the decoding and rendering process becomes computationally intensive and slow

Engineering Contradiction:
Improvedecoding speedVSAvoidcomputational complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces CPU-based decoding operations with GPU-based operations. The video playback tool transfers encoded video data to the GPU, which performs parallel processing of decoding and rendering operations using its specialized hardware architecture, thereby substituting the general-purpose CPU mechanical system with a dedicated GPU system optimized for video processing

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent divides the video data into inter-coded blocks and processes them independently in parallel on the GPU. Each block can be decoded and rendered simultaneously with other blocks, breaking down the computationally intensive task into smaller, parallelizable segments that the GPU can handle efficiently

Inventive Principle:
Principle #1Segmentation

2Productivity

If hardware acceleration using GPU is used for video decoding, then decoding speed increases, but the system requires specific hardware configuration and driver support

Engineering Contradiction:
Improverendering speedVSAvoidplatform compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a driver as an intermediary layer between the video playback tool and the GPU hardware. The driver handles the complexity of hardware-specific operations, allowing the playback tool to use GPU acceleration without being directly coupled to specific hardware configurations or operating system implementations

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent designs the video playback tool to work across multiple operating systems (Windows, macOS, Linux) and hardware configurations by using standard GPU interfaces and abstraction layers, making the GPU-accelerated decoding capability universally applicable across different platforms

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If native client is developed for specific operating system and hardware configuration, then decoding performance is optimized, but development time increases and installation becomes complicated

Engineering Contradiction:
Improvedecoding efficiencyVSAvoiddevelopment complexity
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent creates a universal video playback tool that can run on multiple operating systems and hardware configurations without requiring separate native clients. By using cross-platform programming and GPU abstraction, the same codebase achieves optimized decoding performance across Windows, macOS, and Linux systems

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent uses shader programs that can be copied and executed across different GPU architectures. The same shader code can be deployed to various GPU types and generations, allowing the playback tool to maintain optimized performance without redeveloping for each hardware configuration

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10157480B2Efficient decoding and rendering of inter-coded blocks in a graphics pipeline
Publication Date: 2018.12.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10157480B2 patent drawing
  • US10157480B2 patent drawing
  • US10157480B2 patent drawing

AI summary

Innovations in video decoding and rendering operations for inter-coded blocks in a graphics pipeline, in which at least some of the operations are performed using a graphics processing unit (“GPU”), are described. For example, a video playback tool receives encoded data for a current picture and performs operations to decode the encoded data and reconstruct the current picture. For a given inter-coded block of the current picture, a graphics primitive represents texture values as a point for processing by the GPU. The graphics primitive can have one or more attributes, including a motion vector, a block size, a display index value (indicating a location in a display buffer), and/or a residual index value (indicating a location of residual values). The operations performed by the video playback tool can include interpolation of sample values at fractional-sample offsets and motion compensation performed for inter-coded blocks in multiple passes for different block sizes.