Multi-Format Video Engine with Self-Loading Code for Low Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video processing systems face challenges in efficiently handling multiple video formats with high chip-area consumption and significant utilization of the video controller, particularly in low-latency applications like video conferencing and surveillance, due to the need for frequent software code loading.

Innovation Solution

A video processing system comprising a memory and a multi-format video engine that performs self-loading of software code and video frames based on determined formats, using a primary set of instructions to fetch and process video frames, with conflict-free memory access through DMA and processing modules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If dedicated hardware is used for each video format, then video processing capability is improved, but chip-area consumption increases

Engineering Contradiction:
Improvevideo processing capabilityVSAvoidchip-area consumption
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The video engine is designed as a universal processing unit that can handle multiple video formats (MPEG-1/2/4, H.264, etc.) through a single hardware structure. The engine loads format-specific software code from memory rather than having dedicated hardware for each format, thereby achieving multi-functionality without proportionally increasing chip area.

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

Solution Approach 2:

Instead of duplicating hardware circuits for each video format, the patent uses software code copies stored in memory that describe the processing steps for different formats. The video engine executes these software code copies to achieve format-specific processing, replacing physical hardware duplication with informational duplication.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If software code is loaded at each video frame for low-latency applications, then processing adaptability is improved, but video controller utilization increases

Engineering Contradiction:
Improveprocessing adaptabilityVSAvoidvideo controller utilization
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system pre-loads the software code for the current video format into the video engine before processing begins. For low-latency applications, the video controller makes the format decision at each frame and pre-loads the corresponding software code, allowing the video engine to process immediately without format-switching delays while minimizing video controller involvement after initial loading.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The video engine is designed to autonomously execute the loaded software code and process video frames without requiring continuous intervention from the video controller. Once the software code is loaded, the video engine self-manages the processing workflow, reducing the video controller's utilization to only the initial code loading and format selection decisions.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12382114B2Systems and methods for video processing
Publication Date: 2025.08.05 TEXAS INSTRUMENTS INC
  • US12382114B2 patent drawing
  • US12382114B2 patent drawing
  • US12382114B2 patent drawing

AI summary

Several systems and methods for processing of video frames based on one or more video formats are disclosed. In an embodiment, a video processing system comprises a memory and a video engine. The memory stores a plurality of video frames, a primary set of instructions and a plurality of secondary sets of processing instructions. Each secondary set of processing instructions is associated with a video format. The video engine is loaded with the primary set of instructions and is configured to fetch one or more video frames and a secondary set of processing instructions from the memory based on the loaded primary set of instructions. The fetched secondary set of processing instructions corresponds to a video format determined for processing of the one or more video frames. The video engine performs processing of the one or more video frames based on the secondary set of processing instructions.