Run-time Media Pipeline Optimization via Loop Fusion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Media processing in applications like image and video editing is performance-sensitive, requiring fast processing of millions of pixels while maintaining flexibility and maintainability, but existing frameworks face challenges such as inefficient memory access and redundant calculations due to serial iteration and separate compilation for different architectures.

Innovation Solution

A run-time optimization technique that generates a media pipeline using two copies of each block, a high-level representation, and a machine-readable copy, allowing for efficient loop fusion and JIT compilation to optimize operations, leveraging runtime knowledge of the application and hardware without sacrificing flexibility or maintainability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If separate compilation is used for different hardware architectures, then compatibility across architectures is improved, but processing speed deteriorates due to redundant calculations and inefficient memory access

Engineering Contradiction:
ImprovecompatibilityVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by performing loop fusion and optimization at compile time rather than at runtime. The compiler analyzes multiple loops and fuses them into a single optimized loop before execution, so that the optimization work is done in advance. This allows the code to run faster without requiring runtime compilation overhead, resolving the contradiction between compatibility and processing speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the compilation process into two distinct phases: a compile-time phase that performs loop fusion and generates optimized code, and a runtime phase that executes the pre-optimized code. This segmentation allows the heavy optimization work to be done separately from the actual media processing, improving runtime performance while maintaining architecture-specific optimization.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If multiple processing loops are executed sequentially, then flexibility in applying different modifications is improved, but processing time increases due to repeated memory access

Engineering Contradiction:
ImproveflexibilityVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent merges multiple sequential processing loops into a single fused loop that executes all modifications in one pass through the data. Instead of executing separate loops for different image adjustments (each requiring independent memory access), the fused loop combines all operations into one continuous execution stream, eliminating redundant memory access while preserving the ability to apply multiple different modifications.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If runtime optimization is implemented, then processing efficiency is improved, but system complexity increases due to JIT compilation requirements

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by moving the optimization work to compile time rather than runtime. The loop fusion and code generation happen during compilation, creating optimized machine code that can be executed directly without runtime interpretation or JIT compilation. This eliminates the runtime overhead and system complexity associated with dynamic optimization while still achieving high processing efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11087429B2Run-time optimization of media pipelines
Publication Date: 2021.08.10 RED HAT INC
  • US11087429B2 patent drawing
  • US11087429B2 patent drawing
  • US11087429B2 patent drawing

AI summary

A method comprises receiving, by a media pipeline framework, a plurality of copies of each block of a media pipeline, wherein a first copy of the plurality of copies is a high-level representation of the respective block and wherein the second copy of the plurality of copies is a machine-readable copy. The method further comprises generating, by a processing device, a run-time-optimized media pipeline using the first copy and the second copy.