Co-located Motion Vector Storage for Video Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing methods for storing motion vectors in video decoding and encoding systems require large external memory spaces, leading to increased costs and bandwidth consumption, as they typically store all motion vectors, including co-located ones, which are not efficiently managed.
Innovation Solution
A method for processing video bitstreams that determines and stores co-located motion information for specific sub-blocks within a macroblock, allowing inference of current motion information for macroblocks in different pictures, thereby reducing the number of motion vectors stored and the memory required, using a dual block motion vector storage approach.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all co-located motion vectors are stored in external memory, then motion vector availability for decoding is improved, but storage space and system cost increase
Solution Approach 1:
The patent segments motion vector storage into two parts: a small on-chip buffer storing only essential co-located motion vectors (from P-frames) and a larger external memory storing neighboring motion vectors. This segmentation allows the system to maintain motion vector availability while minimizing external memory usage by storing only the most critical vectors on-chip.
Solution Approach 2:
The patent applies local quality by differentiating which motion vectors receive premium storage (on-chip buffer) versus standard storage (external memory). Specifically, co-located motion vectors from P-frames are prioritized for on-chip storage due to their higher reliability and reuse frequency, while other vectors are stored externally.
2Adaptability or versatility
If large external memory is used to store all motion vectors, then motion vector access completeness is improved, but device complexity and cost increase
Solution Approach 1:
The patent divides motion vector storage responsibilities between the on-chip buffer and external memory, with the on-chip buffer handling frequently accessed co-located vectors and external memory storing the complete set. This reduces external memory requirements while maintaining access completeness through the hybrid architecture.
Solution Approach 2:
The patent performs preliminary action by pre-fetching and storing essential co-located motion vectors in the on-chip buffer before they are needed for decoding. This ensures that critical vectors are immediately available without requiring large external memory capacity.
3Speed
If high speed external memory is used, then data transfer rate is improved, but system cost increases
Solution Approach 1:
The patent segments data access patterns by frequency, placing frequently accessed co-located motion vectors in the fast on-chip buffer and less frequently accessed vectors in slower external memory. This reduces the demand for high-speed external memory while maintaining overall data transfer performance.
Solution Approach 2:
The on-chip buffer acts as an intermediary between the decoding logic and external memory, caching frequently accessed motion vectors. This intermediary layer reduces the speed requirements for external memory by handling time-critical accesses locally, thereby reducing system cost.
Data Source
AI summary
A method for processing a video bitstream is disclosed. The method generally includes the steps of (A) determining co-located motion information for a plurality of co-located sub-blocks in a co-located macroblock of the video bitstream, (B) storing the co-located motion information for (i) at least a first three of the co-located sub-blocks along a left side of the co-located macroblock, (ii) at least a second three of the co-located sub-blocks along a right side of the co-located macroblock and (iii) less than all of the co-located sub-blocks and (C) inferring current motion information for a current macroblock co-located in a different picture from the co-located macroblock using the co-located motion information that was stored.


