Resource Aware Video Processor Dynamic CPU Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing digital video processing systems face inefficiencies in dynamically allocating CPU cycles, leading to potential frame loss and suboptimal video quality due to static configuration modes and inadequate resource management.

Innovation Solution

A resource allocator dynamically adjusts CPU cycle allocation to video processing software modules based on real-time availability, allowing for adaptive operation between high density and high quality modes, using metrics like Sender Delta and Leaky Bucket Fall Behind to optimize resource utilization and maintain video quality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If static configuration modes are used for video processing, then device complexity is reduced and ease of operation is improved, but video quality becomes suboptimal and frame loss occurs under fluctuating resource conditions

Engineering Contradiction:
Improvevideo quality consistencyVSAvoidresource management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic CPU cycle allocation where the resource allocator continuously monitors available CPU cycles and adjusts the number of threads executed by video processing software modules in real-time. This dynamic adjustment allows the system to adapt to fluctuating resource conditions, maintaining consistent video quality and preventing frame loss without requiring complex manual configuration or static mode switching.

Inventive Principle:
Principle #15Dynamics

2Reliability

If more CPU cycles are allocated to video processing, then video quality improves, but resource utilization efficiency decreases when resources are abundant

Engineering Contradiction:
Improvevideo qualityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent employs a feedback mechanism where the resource allocator monitors actual CPU cycle availability and performance metrics (such as frame loss and video quality indicators) in real-time. Based on this feedback, the system dynamically adjusts the number of threads executed by video processing software modules, ensuring optimal resource utilization efficiency while maintaining high video quality. The system reduces thread execution when CPU cycles are abundant and increases execution when resources are constrained, achieving efficient adaptability.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If dynamic resource allocation is implemented, then adaptability to resource conditions improves, but device complexity and control difficulty increase

Engineering Contradiction:
Improveresource allocation adaptabilityVSAvoidcontrol system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a self-service mechanism where the resource allocator autonomously monitors CPU cycle availability, evaluates performance metrics, and adjusts thread execution without external intervention. The system automatically detects resource constraints and dynamically reallocates CPU cycles among video processing software modules based on current conditions, eliminating the need for complex manual control systems while maintaining high adaptability to fluctuating resource environments.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10506266B2Resource aware video processor
Publication Date: 2019.12.10 HARMONIC INC
  • US10506266B2 patent drawing
  • US10506266B2 patent drawing
  • US10506266B2 patent drawing

AI summary

Approaches for dynamically allocating CPU cycle resources to a video encoder. A resource allocator assesses an amount of available CPU cycle resources on the hardware device on which it executes. The resource allocator determines that a change in the amount of available CPU cycle resources has occurred. The resource allocator, adjusts, in real-time, which particular cycle profile, in a plurality of cycle profiles, is assigned to at least one of a plurality of video modules. The plurality of cycle profiles each allocate, to video modules, a particular amount CPU cycle resources for processing digital video. The plurality of cycle profiles also each specify a set of configuration settings and are arranged in a sequence based upon the video quality and density achievable by video modules using configuration settings associated with each cycle profile when processing digital video.