Motion Vector Difference Coding Structure for Parallel Image Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing image coding methods face inefficiencies in processing and decoding due to insufficient parallel processing of motion vector differences, leading to delays in image processing and decoding.
Innovation Solution
The method involves coding a motion vector difference by combining parts of the horizontal and vertical components into a code string, allowing for increased parallelism in decoding processing through context adaptive binary arithmetic coding and bypass decoding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If motion vector difference is coded by processing horizontal and vertical components separately in sequential order, then coding simplicity is maintained, but decoding speed and processing efficiency deteriorate
Solution Approach 1:
The patent combines the coding of horizontal and vertical motion vector difference components into a unified code string. Specifically, it merges the sign flag and magnitude information of both components into a single integrated code structure, allowing the decoder to process both components simultaneously through parallel arithmetic decoding operations, thereby increasing decoding speed while maintaining manageable complexity through systematic organization
Solution Approach 2:
The patent transitions from sequential one-dimensional processing to two-dimensional parallel processing by interlacing horizontal and vertical component data in the code string. This dimensional change enables the decoder to extract and process both components concurrently using parallel arithmetic decoding paths, effectively doubling the processing throughput without proportionally increasing hardware complexity
2Productivity
If conventional sequential coding methods are used for motion vector differences, then processing delay increases, but implementation complexity remains low
Solution Approach 1:
The patent performs preliminary organization of motion vector difference data by pre-calculating and pre-structuring the code string to contain interleaved horizontal and vertical component information. This preliminary arrangement enables the decoder to immediately begin parallel processing without waiting for sequential completion of individual components, eliminating processing delays while keeping implementation complexity low through straightforward data preparation
3Speed
If motion vector difference components are coded in separate streams, then decoding parallelism is limited, but coding implementation is simpler
Solution Approach 1:
The patent segments the code string into distinct but interleaved sections for horizontal and vertical components at the bit level. By dividing the motion vector difference information into alternating segments of sign flags and magnitude data for each component, the structure enables the decoder to independently and simultaneously extract and process both components through parallel arithmetic decoding operations, achieving high parallelism while maintaining clear organizational structure
Solution Approach 2:
The patent implements a nested structure where horizontal and vertical component data are embedded within a unified code string framework. Each component's sign flag and magnitude information are nested in specific positions within the overall code structure, allowing the decoder to systematically extract and process nested data elements in parallel while maintaining a manageable and systematic code organization
Data Source
Figure 1
Figure 2
Figure 3~4
AI summary
An image coding method includes (S801) coding a motion vector difference indicating a difference between the motion vector and a predicted motion vector, wherein the coding (S801) includes: coding a first portion that is a part of a first component which is one of a horizontal component and a vertical component of the motion vector difference; coding a second portion that is a part of a second component which is different from the first component and is the other one of the horizontal component and the vertical component; coding a third portion that is a part of the first component and is different from the first portion; coding a fourth portion that is a part of the second component and is different from the second portion; and generating a code string which includes the first portion, the second portion, the third portion, and the fourth portion in the stated order.