Systems and methods for subblock motion vector coding
US-2024089487-A1 · Mar 14, 2024 · US
US9706221B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9706221-B2 |
| Application number | US-201314065605-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 29, 2013 |
| Priority date | Oct 29, 2013 |
| Publication date | Jul 11, 2017 |
| Grant date | Jul 11, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Reference pictures received via a video signal are downscaled to a specified resolution by a video encoder/decoder. For each current picture being processed by the video encoder/decoder, the current picture is maintained at its original received resolution, but is divided into blocks. Each block is further divided into sub-blocks, and each sub-block is compared, for a set of specified positions, to a corresponding block of the downscaled reference image to generate a set of candidate motion vectors. The candidate motion vectors are scored according to how closely their corresponding sub-block matches the corresponding block of the reference picture at the corresponding position, and a motion vector for each block of the current image is selected based on the scores. The selected motion vectors are used to process (e.g. encode) the video signal.
Opening claim text (preview).
What is claimed is: 1. A method implemented at a video encoder/decoder, comprising: comparing a first picture having a first resolution to a second picture having a second resolution, the first resolution being different than the second resolution; identifying a first motion vector for a video signal based on the comparison of the first picture and the second picture; processing the video signal based on the first motion vector to generate a processed video signal, and wherein identifying the first motion vector comprises: dividing the second picture into N blocks; dividing each of the N blocks of the second picture into M sub-blocks, wherein dividing each of the N blocks comprises dividing a first of the N blocks into a first sub-block by selecting a first initial pixel of the first of the N blocks and selecting the first initial pixel and every M-th pixel after the first initial pixel for the first sub-block; generating a plurality of motion vectors for each of a plurality of search positions by comparing, for each of the plurality of search positions, each of the M sub-blocks to a corresponding portion of the first picture; and selecting the first motion vector from the plurality of motion vectors. 2. The method of claim 1 , further comprising: downscaling the first picture from the second resolution to the first resolution prior to identifying the first motion vector. 3. The method of claim 1 , wherein selecting the first motion vector comprises: assigning a score to each of the plurality of motion vectors based on how closely the corresponding portion of the first picture matches the corresponding one of the M sub-blocks; and selecting the first motion vector based on the scores assigned to the plurality of motion vectors. 4. The method of claim 3 , wherein assigning the score comprises assigning the score based upon a sum of absolute differences between the M sub-blocks and the corresponding portions of the first picture. 5. The method of claim 1 , wherein dividing each of the N blocks further comprises: dividing a second of the N blocks into a second sub-block by selecting a second initial pixel of the first of the N blocks and selecting the second initial pixel and every M-th pixel after the second initial pixel for the second sub-block. 6. The method of claim 1 , wherein processing the video signal comprises encoding the video signal. 7. A method, comprising: downscaling a reference picture of a video signal to generate a downscaled reference picture; comparing the downscaled reference picture to a current picture of the video signal, the current picture having a different resolution than the downscaled reference picture; identifying a plurality of motion vectors for the current picture based on the comparison; processing the video signal based on the plurality of motion vectors, and wherein identifying the plurality of motion vectors comprises: dividing the current picture into N blocks; dividing each of the N blocks of the current picture into M sub-blocks, wherein dividing each of the N blocks comprises dividing a first of the N blocks into a first sub-block by selecting a first initial pixel of the first of the N blocks and selecting the first initial pixel and every M-th pixel after the first initial pixel for the first sub-block; generating a plurality of candidate motion vectors for each of a plurality of search positions by comparing, for each of the plurality of search positions, each of the M sub-blocks to a corresponding portion of the downscaled reference picture; and selecting the plurality of motion vectors the plurality of candidate motion vectors. 8. The method of claim 7 , wherein the resolution of the current picture matches a resolution of the reference picture. 9. The method of claim 7 , wherein selecting the plurality of candidate motion vectors comprises: assigning a score to each of the plurality of candidate motion vectors based on how closely the corresponding portion of the downscaled reference picture matches the corresponding one of the M sub-blocks; and selecting the plurality of motion vectors based on the scores assigned to the plurality of candidate motion vectors. 10. The method of claim 7 , wherein dividing each of the N blocks further comprises: dividing a second of the N blocks into a second sub-block by selecting a second initial pixel of the first of the N blocks and selecting the second initial pixel and every M-th pixel after the second initial pixel for the second sub-block. 11. A video encoder/decoder, comprising: a motion search module to compare a first picture having a first resolution to a second picture having a second resolution, the first resolution being different than the second resolution and identify a first motion vector for a video signal based on the comparison of the first picture to the second picture, wherein the motion search module is to identify the first motion vector by: dividing the second picture into N blocks; dividing each of the N blocks of the second picture into M sub-blocks by dividing a first of the N blocks into a first sub-block by selecting a first initial pixel of the first of the N blocks and selecting the first initial pixel and every M-th pixel after the first initial pixel for the first sub-block; generating a plurality of motion vectors for each of a plurality of search positions by comparing, for each of the plurality of search positions, each of the M sub-blocks to a corresponding portion of the first picture; and selecting the first motion vector from the plurality of motion vectors; and a processing module to process the video signal based on the first motion vector to generate a processed video signal. 12. The video encoder/decoder of claim 11 , wherein the processing module is to: downscale the first picture from the second resolution to the first resolution prior to identifying the first motion vector. 13. The video encoder/decoder of claim 11 , wherein the motion search module is to select the first motion vector by: assigning a score to each of the plurality of motion vectors based on how closely the corresponding portion of the first picture matches the corresponding one of the M sub-blocks; and selecting the first motion vector based on the scores assigned to the plurality of motion vectors. 14. The video encoder/decoder of claim 11 , wherein the motion search module is to divide each of the N blocks further by: dividing a second of the N blocks into a second sub-block by selecting a second initial pixel of the first of the N blocks and selecting the second initial pixel and every M-th pixel after the second initial pixel for the second sub-block.
involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution · CPC title
with sub-pixel accuracy · CPC title
Motion estimation based on rate distortion criteria · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.