Motion Vector Difference Bitstream Layout for Parallel Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Inefficient coding of images using motion vectors leads to delays in processing and decoding, as existing methods do not allow sufficient parallel processing of motion vector differences.

Innovation Solution

An image coding method that codes 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

VSEngineering Contradiction Analysis

1Productivity

If motion vector difference is coded using conventional sequential methods, then coding completeness is achieved, but processing delay increases and parallel processing capability is reduced

Engineering Contradiction:
Improveprocessing speedVSAvoidprocessing delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The motion vector difference coding is segmented into four independent portions: first portion (horizontal component high-order bits), second portion (vertical component high-order bits), third portion (horizontal component low-order bits), and fourth portion (vertical component low-order bits). This segmentation allows each portion to be coded independently, enabling parallel processing and reducing processing delay while maintaining complete motion vector difference information.

Inventive Principle:
Principle #1Segmentation

2Productivity

If conventional coding methods are used for motion vector difference, then coding simplicity is maintained, but parallel processing opportunities are insufficient

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidcoding structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The motion vector difference is divided into four separable portions that can be processed in parallel. Each portion is independently coded using appropriate coding methods (context-adaptive binary arithmetic coding or bypass coding), which increases parallel processing capability while the overall structure remains manageable through systematic organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The four separately coded portions are merged into a single code string in a predetermined order (first portion, second portion, third portion, fourth portion). This merging allows the decoder to reconstruct the complete motion vector difference by combining the parallel-coded portions, thereby increasing parallel processing capability while maintaining coding systematicity.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If motion vector difference is coded efficiently, then coding performance improves, but decoding complexity increases

Engineering Contradiction:
Improvecoding efficiencyVSAvoiddecoding complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The encoder performs preliminary organization of the motion vector difference into four distinct portions before coding. This preliminary segmentation enables the decoder to systematically reconstruct the motion vector difference by following a predetermined decoding order, improving coding efficiency while keeping decoding complexity manageable through structured reconstruction.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8855207B2Image coding method for encoding a difference motion vector into a bitstream
Publication Date: 2014.10.07 SUN PATENT TRUST
  • US8855207B2 patent drawing
  • US8855207B2 patent drawing
  • US8855207B2 patent drawing

AI summary

An image coding method includes coding a motion vector difference indicating a difference between the motion vector and a predicted motion vector, wherein the coding 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.