Motion compensation method and module, chip, electronic device and storage media

US11638031B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11638031-B2
Application numberUS-202117304920-A
CountryUS
Kind codeB2
Filing dateJun 28, 2021
Priority dateJun 30, 2020
Publication dateApr 25, 2023
Grant dateApr 25, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The present disclosure relates to a motion compensation method and module, a chip, an electronic device, and a storage medium, to improve the problem of haloes easily appearing on the edges of moving objects.

First claim

Opening claim text (preview).

What is claimed is: 1. A motion compensation method, comprising: determining whether a current block is located at a junction of a foreground and a background; in response to a determination that the current block is located at the junction of the foreground and the background, marking the current block as a target block, a motion vector of the target block being a basic motion vector; obtaining a first set of motion vectors based on differences between motion vectors of a first central block of the target block pointing to a previous frame within a search range and the basic motion vector; obtaining a second set of motion vectors based on differences between motion vectors of a second central block of the target block pointing to a current frame within a search range and the basic motion vector; clustering the first set of motion vectors and the second set of motion vectors to obtain an additional motion vector of the target block; obtaining a pixel value of the target block based on the basic motion vector and the additional motion vector; wherein obtaining the first set of motion vectors comprises: taking a block in the previous frame which basic motion vector of the target block points to as the first central block; obtaining motion vectors of a plurality of first surrounding blocks of the first central block within the search range; determining whether differences between the motion vectors of the plurality of the first surrounding blocks and the basic motion vector are greater than a first predetermined threshold; in response to a determination that a difference between a motion vector of one of the plurality of the first surrounding blocks and the basic motion vector is greater than a first predetermined threshold, classifying the motion vector of the one of the plurality of the first surrounding blocks into the first set of motion vectors; and obtaining the second set of motion vectors comprises: defining a block in the current frame which basic motion vector of the target block points to as the second central block; obtaining motion vectors of a plurality of second surrounding blocks of the second central block within the search range; determining whether differences between the motion vectors of the plurality of the second surrounding blocks and the basic motion vector are greater than a first predetermined threshold; and in response to a determination that a difference between a motion vector of one of the plurality of the second surrounding blocks and the basic motion vector is greater than a first predetermined threshold, classifying the motion vector of the one of the plurality of the second surrounding blocks into the second set of motion vectors. 2. The method of claim 1 , wherein the first predetermined threshold is within a range of one-third of the basic motion vector to two-thirds of the basic motion vector. 3. The method of claim 1 , wherein obtaining the pixel value of the target block based on the basic motion vector and the additional motion vector comprises: obtaining the pixel value of the basic motion vector in the previous frame as a first basic pixel value and the pixel value of the basic motion vector in the current frame as a second basic pixel value; obtaining the pixel values of the additional motion vector in the previous frame and the current frame as reference pixel values; obtaining a pixel value of the target block based on a pixel value of the reference pixel values that has a correlation with the basic pixel value. 4. The method of claim 3 , wherein obtaining the pixel value of the target block based on the pixel value of the reference pixel values that has a correlation with the basic pixel value comprises: for each reference pixel value, calculating a first difference between the reference pixel value and the first basic pixel value, and a second difference between the reference pixel value and the second base pixel value; calculating a sum of the first difference and second difference as a deviation amount; determining whether the deviation amount corresponding to the reference pixel value is less than a second predetermined threshold; and in response to the deviation amount being less than the second predetermined threshold, taking the reference pixel value as a target pixel value; for each additional motion vector, taking a mean or a median value of the target pixel values as the pixel value of the target block. 5. The method of claim 4 , wherein the second predetermined threshold is within a range of one-fifth to one-half of the first basic pixel value, or, the second predetermined threshold is within a range of one-fifth to one-half of the second basic pixel value. 6. The method of claim 1 , wherein clustering the first set of motion vectors and the second set of motion vectors to obtain the additional motion vector of the target block comprises: dividing the first set of motion vectors and the second set of motion vectors into a plurality of groups based on variabilities of the motion vectors; taking a mean value of the motion vectors or a median value of the motion vectors in each group as the additional motion vector. 7. The method of claim 1 , wherein determining whether the current block is located at the junction of the foreground and the background comprises: obtaining a motion vector of the current block; determining whether motion vectors of surrounding blocks centered on the current block are the same as the motion vector of the current block; in response to a determination that a motion vector of a surrounding block is different from the motion vector of the current block, determining that the current block is located at the junction of foreground and background. 8. A chip, comprising a motion compensation module, the motion compensation module comprising: a judgment unit, configured to determine whether a current block is located at a junction of a foreground and a background; an extraction unit, configured to mark the current block as a target block, a motion vector of the target block being a basic motion vector, in response to a determination that the current block is located at the junction of the foreground and the background; a calculation unit, configured to: (i) obtain a first set of motion vectors based on differences between motion vectors of a first central block of the target block pointing to a previous frame within a search range and the basic motion vector; and (ii) obtain a second set of motion vectors based on differences between motion vectors of a second central block of the target block pointing to a current frame within a search range and the basic motion vector; a clustering unit, configured to cluster the first set of motion vectors and the second set of motion vectors to obtain an additional motion vector of the target block; and an interpolation unit, configured to obtain a pixel value of the target block based on the basic motion vector and the additional motion vector; wherein the calculation unit further comprises: a valuation cell, configured to take a block in the previous frame which basic motion vector of the target block points to as the first central block; and obtain motion vectors of a plurality of first surrounding blocks of the first central block within the search range; and configure to define a block in the current frame which basic motion vector of the target block points to as the second central block; and obtain motion vectors of a plurality of second surrounding blocks of the second central block within the search range; a comparison cell, configured to determine whether differences between the motion vectors of the plurality of the second surrounding blocks and the basic motion vector are greater than a

Assignees

Inventors

Classifications

  • Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability · CPC title

  • Movement estimation (for video coding H04N19/51) · CPC title

  • Circuitry for suppressing or minimising disturbance, e.g. moiré or halo · CPC title

  • using block-matching · CPC title

  • Motion estimation using multistep search, e.g. two-dimensional [2D]-log search or one-at-a-time search [OTS] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11638031B2 cover?
The present disclosure relates to a motion compensation method and module, a chip, an electronic device, and a storage medium, to improve the problem of haloes easily appearing on the edges of moving objects.
Who is the assignee on this patent?
Amlogic Shanghai Co Ltd
What technology area does this patent fall under?
Primary CPC classification H04N5/14. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 25 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).