Video Encoding Parallelization with Time-Interleaved Cache Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Video encoders face challenges in quickly determining the most suitable coding tools for efficient video encoding, as existing methods require evaluating multiple tools, which can be time-consuming and inefficient, especially with the increasing complexity of video coding standards like VVC.
Innovation Solution
The implementation of parallelization techniques using multiple processing elements (PEs) that concurrently evaluate the coding efficiency of different tools using low-complexity rate-distortion optimizers (LC-RDOs) and a comparator to determine the most suitable tool and parameter settings for video data, along with a time-interleaving cache access approach to optimize hardware usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If multiple coding tools are evaluated sequentially to determine the most suitable tool, then coding accuracy is improved, but coding latency increases
Solution Approach 1:
The patent divides the video data into multiple blocks and assigns different coding tools to different blocks for parallel evaluation. Multiple processing elements simultaneously evaluate different coding tools on different blocks, thereby maintaining coding accuracy while reducing overall encoding latency through spatial parallelization.
Solution Approach 2:
The patent performs preliminary evaluation of coding tools using simplified metrics before final encoding. Processing elements pre-evaluate multiple coding tools in parallel using low-complexity rate-distortion optimizers, and only the most promising tools are fully evaluated later, reducing the time required for comprehensive coding accuracy assessment.
2Productivity
If multiple processing elements are used for parallel evaluation, then coding speed is improved, but hardware overhead increases
Solution Approach 1:
The patent designs processing elements with multi-functionality, where each processing element can evaluate multiple different coding tools using the same hardware resources. The processing elements are configured to handle various coding standards and tools (e.g., HEVC, VVC, intra-picture prediction, inter-picture prediction) without requiring dedicated hardware for each tool, thereby increasing coding speed while controlling hardware overhead.
Solution Approach 2:
The patent combines multiple coding tool evaluations into a unified parallel processing framework. Different coding tools are merged into a single evaluation pipeline where multiple processing elements work concurrently on different tools and blocks, sharing common resources such as memory access structures and control logic, thus achieving high coding speed with reduced hardware overhead.
3Loss of substance
If complex coding tools are used to achieve better compression, then bitstream efficiency is improved, but processing complexity increases
Solution Approach 1:
The patent applies different coding tools to different local blocks of video data based on their specific characteristics. Each block is evaluated with appropriate coding tools (e.g., intra-picture prediction for some blocks, inter-picture prediction for others) rather than applying a single complex tool uniformly, achieving better bitstream efficiency while managing processing complexity through localized adaptation.
Solution Approach 2:
The patent performs partial evaluation of complex coding tools by first assessing their potential benefit using simplified metrics. Only coding tools that show promise in the preliminary evaluation are fully executed, avoiding the full processing complexity of all possible tools while still achieving optimal bitstream efficiency for each block.
Data Source
AI summary
Various schemes pertaining to video coding parallelization techniques are described. An apparatus receives video data. The apparatus subsequently calculates a plurality of figures of merits (FOMs), each of the FOM representing how well a particular coding tool may perform in encoding the video data. The apparatus further determines a coding tool that may be suitable for encoding the video data by comparing the FOMs. In determining the coding tool, the apparatus utilizes time-interleaving techniques to parallelly process the video data. The video data may include an array of coding blocks, and the apparatus may receive the video data using a snake-like processing order scanning through the array of coding blocks.


