H.264 Slice Encoding with Motion Constraints
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Video encoding using the H.264 standard, particularly in the Main and High profiles, faces challenges in distributing computational tasks effectively across multiple processors without introducing boundary errors due to the lack of Motion Constrained Slice Groups, which are only available in the Extended Profile.
Innovation Solution
A slice-based encoding system that divides video frames into blocks and uses upper and lower extrapolation areas for prediction, constraining motion vectors and search areas to minimize boundary errors, employing a combination of hardware-based Video Acceleration Modules and general-purpose processing units to optimize processing and ensure accurate decoding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If video encoding is divided into multiple slices and processed in parallel across multiple processors, then processing speed and throughput are improved, but boundary errors occur at slice edges due to lack of motion constraints
Solution Approach 1:
The video frame is divided into multiple independent slices that can be processed in parallel by separate processors. Each slice is self-contained with its own motion vector constraints, allowing independent encoding without requiring global motion information from other slices.
Solution Approach 2:
Motion vector constraints are applied locally at slice boundaries rather than globally across the entire frame. The constraint mechanism is tailored specifically to boundary regions where errors occur, applying different processing rules to boundary pixels versus interior pixels within each slice.
2Adaptability or versatility
If H.264 Main Profile or High Profile is used without Motion Constrained Slice Groups, then encoding flexibility and compatibility are improved, but boundary matching errors occur between adjacent slices
Solution Approach 1:
Motion vector constraints are pre-applied to boundary pixels before the actual motion compensation process. By constraining the motion vectors of boundary pixels in advance, the encoding process ensures that adjacent slices will match at their boundaries without requiring post-processing correction.
Solution Approach 2:
A constraint mechanism acts as an intermediary between adjacent slices, ensuring compatibility at boundaries. This intermediary layer of constraint logic mediates the interaction between slices, allowing independent processing while maintaining boundary coherence through enforced motion constraints.
3Measurement precision
If extrapolation areas are used for motion prediction at slice boundaries, then prediction accuracy is improved, but boundary errors increase when slices are processed independently
Solution Approach 1:
The patent applies preliminary constraints to prevent the harmful effect of extrapolation at boundaries. By constraining motion vectors before extrapolation can cause errors, the system anticipates and counteracts potential boundary mismatches that would otherwise occur when slices are processed independently.
Data Source
AI summary
An array encoding system and method for use with high definition digital video data streams includes method and means for analyzing the incoming data stream, splitting the data stream in accordance with video complexity or other criteria, encoding each of the subsidiary data streams in accordance with a desired encoding standard, and combining the data streams to generate an output. The encoding system and method is particularly suited to encoding data streams to provide an output with is substantially consistent with the H.264 video communications standard. The system and method are scalable.


