Shared In-Loop Filter Data Buffer for Multi-Standard Video Codecs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The high production cost of video codec chips that support both H.264 and HEVC standards due to differing data buffer requirements for de-blocking filters in these standards.
Innovation Solution
A shared/configurable in-loop filter data buffer architecture that allows multiple in-loop filters, adhering to different video standards, to share a data buffer and dynamically allocate storage space based on tile partition settings, reducing buffer requirements and improving memory bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If separate data buffers are allocated for H.264 and HEVC de-blocking filters, then each standard can operate independently, but the production cost and device complexity increase significantly
Solution Approach 1:
The patent implements a universal data buffer architecture where a single buffer system serves multiple video coding standards (H.264 and HEVC). The buffer is designed with configurable parameters including buffer size, line buffer depth, and tile partition support, allowing it to adapt to different standard requirements without requiring separate dedicated buffers for each standard.
Solution Approach 2:
The buffer architecture employs dynamic configuration capabilities where buffer parameters such as size, depth, and partitioning can be adjusted based on the active video standard and processing requirements. This dynamic adaptability allows the same physical buffer to meet the different data storage requirements of H.264 macroblock-based processing and HEVC picture-based processing.
2Adaptability or versatility
If a whole picture buffer is allocated for HEVC picture-based de-blocking filter, then picture-based processing can be implemented, but the memory bandwidth and buffer size requirements increase
Solution Approach 1:
The patent divides the picture buffer into configurable tile partitions, allowing the buffer to be segmented into multiple independent regions. Each tile can be processed independently with its own data storage requirements, reducing the need to allocate buffer space for the entire picture at once. This segmentation enables efficient memory utilization while supporting HEVC's picture-based processing paradigm.
Solution Approach 2:
The buffer architecture provides different buffer configurations for different regions or processing modes. Instead of uniformly allocating buffer space for the entire picture, the system can adjust buffer depth and size locally based on the specific processing requirements of different picture regions or different video standards, optimizing memory usage while maintaining processing flexibility.
3Reliability
If multiple line buffers are allocated for luminance and chrominance components, then de-blocking filter requirements are met, but the buffer complexity and memory usage increase
Solution Approach 1:
The patent merges the separate buffer requirements for luminance and chrominance components into a unified buffer architecture. Instead of maintaining completely separate buffer systems for different color components and different video standards, the system uses a single configurable buffer that can be allocated to serve different component requirements, reducing overall buffer complexity while maintaining the necessary filter performance.
Data Source
AI summary
A video processing system includes a data buffer and a storage controller. The data buffer is shared between a plurality of in-loop filters, wherein not all of the in-loop filters comply with a same video standard. The storage controller controls data access of the data buffer, wherein for each in-loop filter granted to access the data buffer, the data buffer stores a partial data of a picture processed by the in-loop filter. Another video processing system includes a storage device and a storage controller. The storage controller adaptively determines a size of a storage space according to a tile partition setting of a picture to be processed by an in-loop filter, and controls the storage device to allocate the storage space to serve as a data buffer for storing data of the in-loop filter.


