Modular Video Codec Architecture for Multi-Core Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video codecs face challenges such as over-smoothing, high complexity, and increased bitrate in error-resilient streaming, particularly in broadcasting and real-time video communication applications, due to limitations in motion estimation and error resilience methods, especially when dealing with high motion and varying frame textures.

Innovation Solution

A modular video codec architecture for multi-core systems that employs pre-processing temporal denoising, distributed motion estimation, and weighted texture prediction, along with dynamic task assignment and error resilience techniques to improve encoding efficiency and flexibility, allowing for efficient interconnections between motion vectors of different block sizes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional motion estimation and error resilience methods are used in video codecs, then error resilience is improved, but computational complexity increases and image details are lost due to over-smoothing

Engineering Contradiction:
Improveerror resilienceVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The video frame is divided into multiple blocks, and motion estimation is performed independently for each block. This segmentation allows parallel processing across multiple blocks, reducing overall computational complexity while maintaining error resilience through block-level redundancy and independent error handling.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Motion vectors are predicted and prepared in advance for multiple blocks before actual motion estimation. This preliminary action reduces the search space and computational requirements for final motion compensation, thereby reducing complexity while preserving error resilience through pre-computed reference data.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If traditional motion estimation and error resilience methods are used in video codecs, then error resilience is improved, but image details are lost due to over-smoothing

Engineering Contradiction:
Improveerror resilienceVSAvoidimage detail preservation
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

Different processing strategies are applied to different blocks based on their local characteristics. Blocks with high motion or important visual information receive less smoothing to preserve details, while blocks with low motion receive more aggressive error resilience processing. This local differentiation maintains image quality while ensuring error resilience where needed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Error resilience techniques such as intra-refresh and motion vector redundancy are applied selectively to only certain blocks rather than uniformly across the entire frame. This partial application reduces overall smoothing and detail loss while maintaining sufficient error resilience for the most critical regions.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If modular codec architecture with distributed motion estimation is used, then computational complexity is reduced through parallel processing, but device complexity increases due to multi-core system requirements

Engineering Contradiction:
Improveencoding efficiencyVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The modular codec architecture uses standardized interfaces and data structures that can function across different numbers of cores. The same modular components can operate on single-core or multi-core systems, providing universality that reduces the impact of increased system architecture complexity while maintaining encoding efficiency benefits.

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

Solution Approach 2:

The codec dynamically adjusts the degree of parallelization and task distribution based on the available computational resources. The system can adaptively scale from sequential processing on single-core systems to full parallel processing on multi-core systems, thereby reducing the perceived complexity impact while maintaining high encoding efficiency when resources are available.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8665960B2Real-time video coding/decoding
Publication Date: 2014.03.04 BEAMR IMAGING LTD
  • US8665960B2 patent drawing
  • US8665960B2 patent drawing
  • US8665960B2 patent drawing

AI summary

A video codec having a modular structure for encoding/decoding a digitized sequence of video frames in a multi-core system is described. The video codec comprises a memory unit; a multithreading engine. and a plurality of control and task modules organized in a tree structure, each module corresponding to a coding operation. The modules communicate with each other by control messages and shared memory. The control modules control all coding logic and workflow, and lower level task modules perform tasks and provide calculations upon receiving messages from the control task modules. The multithreading engine maintains context of each task and assigns at least one core to each task for execution. The method of coding/decoding comprises an error resilient algorithm.