Buffer compression for motion vector competition

Patent No. US9749657 (titled "Buffer compression for motion vector competition") on May 5, 2011. The application was issued on Aug 29, 2017.

What is this patent about?

’657 is related to the field of video compression and motion estimation, specifically addressing the memory and computational overhead associated with motion vector competition in high-resolution video codecs. In modern standards like H.264/AVC or TMuC, decoders improve efficiency by predicting the motion of a current block based on previously decoded vectors from both spatial neighbors and temporal references in preceding frames. However, storing every motion vector from a reference frame to facilitate this prediction creates significant memory bottlenecks, particularly for embedded systems and high-definition content.

The underlying idea behind ’657 is to reduce the memory footprint of the motion vector buffer by implementing a systematic downsampling or quantization of the temporal motion field. Instead of requiring access to the exact motion vector of every individual pixel or sub-block in a reference frame, the invention uses a mathematical rounding mechanism to map the current block's coordinates to a specific, grid-aligned reference point. By using bitwise operations to effectively 'floor' the coordinates, the system can store fewer motion vectors in the buffer while still providing a highly relevant temporal candidate for the prediction list.

The claims of ’657 focus on a specific method for generating a motion vector predictor candidate list that combines spatial neighbors with a uniquely derived temporal motion vector. The core of the claim is the multi-step arithmetic process used to find the reference pixel position (x′, y′) in a previous frame. This involves calculating the center of the current block, applying an arithmetic right shift to quantize the coordinate, and then applying an arithmetic left shift to align the result to a reduced-resolution grid, ensuring the decoder pulls a motion vector from a predictable, compressed memory layout.

In practice, the invention functions as a buffer compression mechanism. When the decoder needs to build a candidate list for a block, it looks at the top-left and center coordinates of that block and performs the shift operations to determine which stored vector to retrieve. This allows the hardware to discard a large percentage of motion vectors from the reference frame memory after they are no longer needed for de-blocking, as the prediction logic only ever requests vectors that fall on the specific grid defined by the shift factor Z.

This approach differs from prior methods that either stored every motion vector or used simple co-located block matching, which often resulted in massive memory requirements or inefficient cache usage. By utilizing arithmetic shift operations to derive the modified position, the invention provides a computationally 'cheap' way to implement a flooring function that is natively supported by digital signal processors. This ensures that the motion vector competition process remains accurate enough for high compression gains while being lean enough for implementation in memory-constrained hardware.

How does this patent fit in bigger picture?

Technical Landscape

In the early 2010s when ’657 was filed, video coding architectures were characterized by a trade-off between high coding efficiency and the resulting computational and memory overhead. At a time when motion estimation was typically implemented using high-precision temporal prediction, systems commonly relied on large, uncompressed buffers to store motion vector data for reference frames. Hardware constraints in embedded systems made the storage and rapid retrieval of these extensive motion vector maps non-trivial, as the increasing resolution of video content placed significant pressure on available memory bandwidth and on-chip storage capacity.

Prosecution Position

The disclosed invention addresses the technical problem of excessive memory consumption and hardware complexity associated with motion vector competition in video decoding. By integrating a buffer compression mechanism specifically for motion vector data, the architecture reduces the physical memory footprint required to store temporal predictors. This architectural shift enables the decoder to perform motion vector competition and derivation using compressed representations of reference data, thereby overcoming the constraint of limited memory bandwidth in embedded environments while maintaining the accuracy necessary for high-efficiency video reconstruction.

Claims

The patent contains a total of 5 claims, with claim 1 serving as the sole independent claim. This independent claim focuses on a method for deriving a motion vector for a block in a video frame by generating a candidate list that includes a temporal motion vector calculated through specific arithmetic shift operations on a modified pixel position. The dependent claims serve to further define the criteria for populating the candidate list, specify the locations of adjacent blocks used for spatial motion vectors, and establish conditions for utilizing temporal motion vectors based on the coding type of the reference frame.

Key Claim Terms New

Definitions of key terms used in the patent claims.

Term (Source)Support for SpecificationInterpretation
Arithmetic right shift operation
(Claim 1)
The modified position is derived by setting a second intermediate position by performing an arithmetic right shift operation to the first intermediate position. This operation is part of the process to derive the position (x′, y′) from the block size and top-left position.A bitwise operation used to scale down the coordinate values of the first intermediate position, contributing to the derivation of the modified position for temporal motion vector selection.
Difference motion vector
(Claim 1)
The motion vector of the current block is derived by using a motion vector predictor and a difference motion vector. The difference motion vector is the difference between the motion vector predictor and an actual motion vector.The residual value representing the difference between the selected motion vector predictor from the candidate list and the actual motion vector of the current block.
Modified position (x′, y′)
(Claim 1)
The modified position (x′, y′) is derived by modifying a top-left position (x, y) of the current block. The derivation involves setting a first intermediate position as (x+N/2, y+M/2), performing an arithmetic right shift, and thereafter performing an arithmetic left shift.A specific coordinate in a previous frame derived by applying a sequence of arithmetic operations to the top-left coordinates of the current block to identify a temporal motion vector.
Motion vector predictor candidate list
(Claim 1)
The motion vector predictor candidate list comprises a set of first motion vectors and a second motion vector. A first motion vector belongs to at least one adjacent block in the current frame, while the second motion vector is a temporal motion vector belonging to a pixel at a modified position in a previous frame.A data structure containing a set of potential motion vectors, including spatial vectors from adjacent blocks and at least one temporal vector from a previous frame, used to predict the motion vector of a current block.
Temporal motion vector
(Claim 1)
The second motion vector is a temporal motion vector belonging to a pixel at a modified position (x′, y′) in a previous frame. The invention relates to image decoding using buffer compression for motion vector competition where temporal vectors are utilized.A motion vector associated with a pixel or block located in a frame other than the current frame (a previous frame) used for motion vector competition.

Litigation Cases New

US Latest litigation cases involving this patent.

Case NumberFiling DateTitle
1:25-cv-00967Jun 23, 2025Velos Media, LLC v. ByteDance Ltd et al

Patent Family

Patent Family

File Wrapper

The dossier documents provide a comprehensive record of the patent's prosecution history - including filings, correspondence, and decisions made by patent offices - and are crucial for understanding the patent's legal journey and any challenges it may have faced during examination.

  • Get instant alerts for new documents

US9749657

Application Number
US13101451A
Filing Date
May 5, 2011
Publication Date
Aug 29, 2017
External Links
Slate, USPTO , Google Patents