Macroblock Storage in Video Frame Buffer Banks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current DDR-SDRAM technology inefficiencies in storing macroblocks for video data lead to significant memory overhead due to the inability to pack full macro-block rows in one bank, resulting in wasted memory space and increased access time for video decoding, particularly in SD size pictures.
Innovation Solution
A system and method for storing macroblocks by organizing them across multiple rows or banks in a memory subsystem, allowing adjacent macroblocks to be stored in different banks or rows, reducing memory wastage and access overhead by optimizing data placement within the memory hierarchy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If four macro blocks are packed into one bank of DDR-SDRAM, then memory access efficiency is improved for HD size pictures, but memory wastage increases significantly for SD size pictures
Solution Approach 1:
The patent implements dynamic memory organization that adapts to different picture sizes. For HD pictures, it packs four macro blocks into one bank for efficient access. For SD pictures, it reorganizes to store one macro block row per bank to minimize wastage. This dynamic adaptation resolves the contradiction between access efficiency and memory utilization across different resolution requirements.
Solution Approach 2:
The system changes the memory storage parameters based on picture size detection. When SD size is detected, it switches from the standard 4-macro-block-per-bank configuration to a 1-macro-block-row-per-bank configuration. This parameter change optimizes memory utilization for smaller pictures while maintaining the ability to use the standard configuration for larger pictures.
2Device complexity
If macro blocks are stored linearly in the same bank, then memory organization is simplified, but SDRAM overhead increases due to row switching
Solution Approach 1:
The patent segments the memory bank into distinct row assignments for different frame portions. Specifically, it stores current frame macro block rows in even-numbered rows and previous frame macro block rows in odd-numbered rows within the same bank. This segmentation allows the memory controller to access both current and previous frame data without triggering row switching overhead, thus reducing access time while maintaining organized structure.
3Loss of time
If adjacent macro blocks are stored in different banks, then SDRAM overhead is reduced to zero, but memory access complexity increases
Solution Approach 1:
Instead of distributing adjacent macro blocks across different banks (horizontal distribution), the patent uses vertical distribution within the same bank by assigning different rows. This dimensional change within the bank structure achieves the benefit of reduced overhead (similar to different bank access) while avoiding the complexity of inter-bank coordination, as all data remains within a single bank's address space.
Data Source
AI summary
Presented herein is a system for storing macroblocks for concatenated frames. A decoder system comprises a frame buffer. The frame buffer comprises one or more rows. A particular one of the rows stores macroblocks from a plurality of frames.


