Block Vector Difference Coding With Adaptive Variable-Length Codewords
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video coding techniques limit the range of block vector difference (BVD) values, leading to unused codewords and inefficient entropy coding, which affects compression performance and signaling efficiency.
Innovation Solution
Implementing variable length coding for the prefix and suffix parts of BVD codewords to selectively assign codewords, ensuring unused values are not assigned, thereby improving compression performance and signaling efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a fixed range of BVD values is used in existing video coding techniques, then the coding structure is simple, but unused codewords are generated and entropy coding efficiency deteriorates
Solution Approach 1:
The patent applies dynamics by making the BVD value range adaptive rather than fixed. The encoder dynamically determines the BVD range based on the actual block vector differences in the video data, allowing the coding system to adjust to the content characteristics. This resolves the contradiction by enabling the system to maintain simple structures when BVD values are limited while achieving high entropy coding efficiency when the full range of BVD values is utilized, eliminating unused codewords.
Solution Approach 2:
The patent changes the parameter of BVD value range from a fixed constant to a variable parameter that can be adjusted based on the video content. By modifying the range parameter dynamically, the system optimizes the mapping between BVD values and codewords, ensuring that all codewords in the entropy code are utilized efficiently. This parameter change eliminates wasted codewords and improves compression performance without significantly complicating the overall coding structure.
2Productivity
If variable length coding is implemented for BVD codewords, then compression performance improves, but the coding complexity increases
Solution Approach 1:
The patent segments the BVD encoding process into distinct stages: determining the BVD value range, dividing the range into sub-ranges, and assigning variable-length codewords to different sub-ranges. This segmentation allows the system to apply variable length coding selectively, improving compression performance by assigning shorter codewords to more frequent BVD values while maintaining manageable complexity through the structured segmentation approach.
Solution Approach 2:
The patent implements partial variable length coding by applying it only to specific sub-ranges of BVD values rather than uniformly to all possible values. This partial action approach achieves compression performance improvement for the most significant BVD ranges while limiting the increase in coding complexity, as not all BVD values require complex variable-length encoding.
Data Source
AI summary
Encoding and/or decoding a block of a video frame may be based on a previously decoded reference block in the same frame or in a different frame. The reference block may be indicated by a block vector (BV). The BV may be encoded as difference (e.g., block vector difference (BVD)) between a block vector predictor (BVP) and the BV. The BVP may indicate a codeword comprising a prefix part and a suffix part. Efficient entropy coding may be achieved by selectively using variable length coding for the prefix part and the suffix part. For example, variable length coding for the prefix part and the suffix part may be used if the prefix part indicates a maximum prefix value.


