Motion Vector Difference Signaling for Lower Video Bit Rate
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video encoding and decoding technologies face challenges in efficiently compressing and decompressing large video sequences, particularly for screen content and synthetically generated scenes, due to inefficiencies in predicting and encoding motion vectors, leading to increased data size and transmission requirements.
Innovation Solution
The implementation of advanced motion vector difference (MVD) indication methods, including context-based adaptive binary arithmetic coding (CABAC) and quadtree+multi-type tree partitioning, to enhance video encoding and decoding efficiency by optimizing block partitioning and predicting motion vectors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If traditional motion vector encoding methods are used, then the encoding process is simple, but the data size increases and compression efficiency decreases
Solution Approach 1:
The patent applies segmentation by dividing the motion vector difference encoding into multiple components (e.g., horizontal and vertical components) and further segmenting the encoding process based on different prediction modes. This allows selective application of different encoding strategies to different parts of the motion data, reducing overall data size while managing complexity through structured division.
Solution Approach 2:
The patent utilizes parameter changes by dynamically adjusting encoding parameters such as the precision of motion vector differences, the selection of prediction modes, and the application of different bit-rate allocation strategies based on scene characteristics. This enables adaptive compression that reduces data size while maintaining quality, though it increases encoding complexity.
2Productivity
If advanced motion vector difference indication methods are implemented, then compression efficiency improves, but the encoding and decoding complexity increases
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing motion vector predictors from reference blocks before encoding the current block. This preliminary preparation of prediction data enables more efficient compression by reducing the residual motion vector differences that need to be encoded, thereby improving compression efficiency while managing complexity through advance computation.
Solution Approach 2:
The patent uses motion vector predictors as intermediaries between reference blocks and current blocks. These predictors serve as intermediate values that approximate the motion vectors, allowing the encoder to only transmit the differences (residuals) rather than full motion vectors. This intermediary approach significantly improves compression efficiency while the complexity is managed through the systematic use of prediction algorithms.
3Quantity of substance
If context-based adaptive binary arithmetic coding is used, then bit rate is reduced, but the computational load increases
Solution Approach 1:
The patent applies parameter changes in CABAC by dynamically adjusting probability models and coding parameters based on the context of the current block and previously encoded data. This adaptive parameter adjustment enables more efficient bit rate reduction by allocating bits more intelligently, though it increases computational energy requirements for model updates and probability calculations.
Data Source
AI summary
In video coding, current blocks may be decoded in an inter prediction mode using a motion vector difference (MVD). A decoder receives, in a bitstream, one indicator indicating whether an absolute value of each component of the MVD is greater than zero. Based on the received indictor, the decoder determines the MVD for the current block. Similarly, current blocks may be decoded in an intra mode such as intra block copy using a block vector difference (BVD). The decoder receives, in the bitstream, one indicator indicating whether an absolute value of each component of the BVD is greater than zero. Based on the received indictor, the decoder determines the BVD for the current block.


