Motion Vector Encoding via Sub-Block Merging
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video compression schemes face challenges in minimizing the bit rate for transmitting motion vectors while maintaining efficient encoding of video data, as motion vectors contribute significantly to the compressed data and increasing the bit rate for pixel coefficients is undesirable.
Innovation Solution
The method involves determining motion vectors and flags for sub-blocks of a macroblock through Sum of Absolute Differences (SAD) calculations, generating merged motion vectors, and encoding these merged vectors to reduce the overall bit rate, allowing for efficient encoding without significantly increasing the bit rate for pixel coefficients.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If motion vectors are encoded for each sub-block of a macroblock, then encoding precision is improved, but bit rate increases significantly
Solution Approach 1:
The patent merges motion vectors of multiple sub-blocks within a macroblock by calculating the sum of absolute differences (SAD) for each sub-block and selecting a representative motion vector that best represents the group. This combining approach reduces the number of motion vectors that need to be transmitted, thereby reducing bit rate while maintaining acceptable encoding precision for the entire macroblock.
Solution Approach 2:
The patent segments the macroblock into sub-blocks and processes them in groups rather than individually. By organizing sub-blocks into larger units for motion vector encoding, the system reduces the total number of motion vectors required while still capturing local motion variations within each segment, thus balancing precision and bit rate efficiency.
2Measurement precision
If motion estimation is performed for each block, then encoding accuracy is improved, but computational complexity increases
Solution Approach 1:
The patent combines motion estimation operations for multiple sub-blocks by using SAD calculations across grouped sub-blocks to determine representative motion vectors. This merging of computational operations reduces the total number of separate motion estimation processes required, thereby reducing computational complexity while maintaining encoding accuracy through the use of flags to indicate when full precision estimation is necessary.
Solution Approach 2:
The patent applies partial motion estimation by using simplified SAD-based motion vector determination for sub-blocks where full motion estimation would be computationally expensive. Flags are used to indicate when partial estimation is sufficient versus when full motion estimation is required, allowing the system to perform only the necessary level of computation for each case, thus reducing overall computational complexity while maintaining accuracy where needed.
Data Source
AI summary
A method for encoding motion vectors, comprises the steps of: determining motion vectors and flags for sub-blocks of a macroblock (“MB”) as a function of SAD calculations for the MB; generating one or more merged motion vectors for the sub-blocks of the MB as a function of the determined motion vectors and the determined flags; generating a merged macroblock motion vector for the MB as a function of the generated merged motion vectors and of the determined flags; and encoding the determined motion vectors as a function of the generated merged motion vectors and the generated merged macroblock motion vector.


