Unified Pixel Interface for Video Encoder Reference Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video coding technologies face challenges in achieving higher compression rates while maintaining computational efficiency, particularly with the increased complexity of advanced formats like AV1, which requires improved hardware architecture and techniques for effective video encoding and decoding.
Innovation Solution
The proposed solution involves a video encoder system that includes a direct memory access (DMA) controller, motion estimation, mode decision, and fractional motion estimation modules, along with a unified pixel data interface and padding logic to efficiently transfer and process reference pixel blocks, optimizing data transfer and interpolation for various video coding formats like AV1, H.264, and VP9.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of substance
If higher video compression rates are implemented (e.g., AV1 format), then compression efficiency is improved, but computational complexity increases
Solution Approach 1:
The reference pixel block is divided into multiple sub-blocks, and the block decision process is segmented into multiple stages (first block decision, second block decision, third block decision). This segmentation allows the complex AV1 encoding process to be broken down into manageable computational steps, reducing the overall computational burden while maintaining high compression efficiency.
Solution Approach 2:
The patent performs preliminary actions by pre-determining block types and making block decisions in advance through a structured multi-stage process. By预先 deciding the type of each block and its encoding parameters before actual encoding, the system reduces real-time computational complexity while achieving high compression rates.
2Adaptability or versatility
If multiple video coding formats are supported, then versatility is improved, but device complexity increases
Solution Approach 1:
The patent implements a universal block decision mechanism that can handle multiple video coding formats (H.264, VP9, AV1) through a single unified process. The same multi-stage decision logic and block type classification system works across different formats, allowing the device to support multiple formats without proportionally increasing complexity.
Solution Approach 2:
The system adapts to different video formats by changing parameters such as block sizes, partitioning methods, and decision thresholds rather than requiring completely different processing pipelines. This parameter-based adaptation allows versatile format support while maintaining a consistent underlying architecture.
3Manufacturing precision
If reference pixel blocks are fetched for video encoding, then encoding accuracy is improved, but data transfer time increases
Solution Approach 1:
The system performs preliminary block decisions and determines reference pixel requirements in advance through the multi-stage decision process. By预先 identifying which blocks need reference pixels and their exact requirements, the data transfer can be optimized and performed more efficiently, reducing actual transfer time while maintaining encoding accuracy.
Solution Approach 2:
The patent uses partial action by fetching only the necessary reference pixel blocks that are actually needed for encoding, rather than fetching all possible reference data. The multi-stage block decision process identifies and processes only the relevant blocks, reducing unnecessary data transfer while maintaining encoding precision.
Data Source
AI summary
The controller is configured to receive a request that causes transferring of a reference pixel block of a video, wherein the video is being encoded using the reference pixel block. The controller is configured to determine whether the reference pixel block has at least a portion that is outside a frame of the video. In response to the determination of the reference pixel block having at least a portion outside the frame of the video, the controller is configured to cause a portion of the reference pixel block of the video inside the frame of the video to be fetched from a memory storage and stored in a cache storage, pad a remaining missing portion of the reference pixel block of the video outside the frame of the video with padding pixel data to form the reference pixel block, and transfer the reference pixel block in response to the request.


