Motion Vector Buffer Compression for Video Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding standards, such as H.264/AVC, face increased computational complexity and memory requirements due to high coding efficiency, leading to decreased encoding and decoding speeds, particularly in embedded systems, and require larger and more complex circuitry for accurate motion estimation.
Innovation Solution
The implementation of buffer compression techniques for motion vector competition, which reduces the number of candidate motion vectors by using flooring functions and limiting selection to inter-coded blocks, thereby reducing memory requirements and computational complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If buffer compression techniques are applied to reduce memory requirements, then memory usage decreases, but the complexity of the decoding process increases
Solution Approach 1:
The motion vector derivation process is segmented into multiple stages: first deriving candidate motion vectors from reference pictures, then applying buffer compression to select a reduced set of candidates, and finally using these compressed candidates for motion vector prediction. This segmentation allows memory usage to be controlled at the candidate selection stage while maintaining the overall functionality of motion estimation.
Solution Approach 2:
Candidate motion vectors are pre-derived and stored in a buffer before the buffer compression step. The compression algorithm then processes these pre-prepared candidates to select the final motion vector. This preliminary action allows the system to manage memory more efficiently by processing and selecting motion vectors in a controlled sequence rather than maintaining all possible candidates simultaneously.
2Measurement precision
If more candidate motion vectors are considered for accurate motion estimation, then motion estimation accuracy improves, but computational complexity increases
Solution Approach 1:
The system derives more candidate motion vectors than strictly necessary (excessive action) and stores them in a buffer, then applies buffer compression to select a reduced subset. This approach ensures that sufficient candidates are available for accurate motion estimation while controlling the actual computational processing by limiting the number of candidates that need to be fully processed and compared.
Solution Approach 2:
The buffer compression algorithm changes the parameter of candidate motion vector selection by using flooring functions and inter-coding techniques to reduce the number of active candidates. This parameter change allows the system to maintain accuracy by preserving the most relevant motion vectors while reducing computational complexity through fewer candidates requiring full processing.
3Measurement precision
If larger memory buffers are used to store motion vectors, then motion estimation accuracy improves, but encoding and decoding speeds decrease
Solution Approach 1:
The system dynamically manages the motion vector buffer by compressing it based on the current decoding context. Rather than using a fixed large buffer size, the buffer is actively compressed using flooring functions and inter-coding techniques to adapt its effective size, allowing fast processing when possible while maintaining accuracy when needed.
Solution Approach 2:
Candidate motion vectors are pre-derived and buffered before the compression step, allowing the system to prepare data in advance. This preliminary buffering action enables efficient processing by having candidates ready for immediate selection without requiring large persistent memory buffers throughout the entire encoding/decoding process.
Data Source
AI summary
A method for decoding video includes creating a first list of motion vectors from at least one neighboring block in a current frame of the video and creating a second list of motion vectors from at least one previous block in a temporally earlier frame of the video. A third list of motion vectors is created based upon the first list and the second list. Based upon receiving a motion vector competition control parameter selecting one of the motion vectors from the third list, wherein the second list of motion vectors is further based upon a flooring function.


