Encoder, decoder, encoding method, and decoding method
US-2021289205-A1 · Sep 16, 2021 · US
US12452448B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12452448-B2 |
| Application number | US-202217736881-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 4, 2022 |
| Priority date | May 6, 2021 |
| Publication date | Oct 21, 2025 |
| Grant date | Oct 21, 2025 |
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.
An encoder or decoder can perform enhanced motion vector prediction by receiving an input block of data for encoding or decoding and accessing stored motion information for at least one other block of data. Based on the stored motion information, the encoder or decoder can generate a list of one or more motion vector predictor candidates for the input block in accordance with an adaptive list construction order. The encoder or decoder can predict a motion vector for the input block based on at least one of the one or more motion vector predictor candidates.
Opening claim text (preview).
What is claimed is: 1. A decoder, comprising: at least one processor; and memory storing instructions which, when executed by the at least one processor, cause the at least one processor to perform operations comprising: receiving an input block of data; accessing stored motion information for at least one other block of data; based on the stored motion information, generating a list of one or more motion vector predictor candidates for the input block in accordance with an adaptive list construction order, wherein the adaptive list construction order assigns a weight to a motion vector predictor candidate based in part on (i) a type of motion associated with the motion vector predictor candidate, and (ii) a comparison of a temporal distance between a frame including the input block and a frame including the motion vector predictor candidate with a threshold value; and predicting a motion vector for the input block based on at least one of the one or more motion vector predictor candidates. 2. The decoder of claim 1 storing instructions which, when executed by the at least one processor, cause the at least one processor to perform operations comprising: generating a predicted block for the input block by applying the motion vector to the at least one other block; and decoding the input block based at least in part on the predicted block. 3. The decoder of claim 1 , wherein the input block is part of a current frame, the memory storing instructions which, when executed by the at least one processor, cause the at least one processor to perform operations comprising: identifying a plurality of reference frames for the current frame; determining a score for each of the plurality of reference frames based at least in part on a temporal distance between the current frame and a respective reference frame; and based on the score, prioritizing the plurality of reference frames. 4. The decoder of claim 3 , wherein determining the score for each of the plurality of reference frames is based at least in part on a pixel quality of at least a portion of the respective reference frame. 5. The decoder of claim 3 , wherein determining the score for each of the plurality of reference frames is based at least in part on whether a motion vector associated with the respective reference frame crosses the current frame. 6. The decoder of claim 3 storing instructions which, when executed by the at least one processor, cause the at least one processor to perform operations comprising: based on the stored motion information, generating a projected motion vector from the current frame to a first reference frame of the plurality of reference frames; and assigning a priority to the projected motion vector based at least in part on the score of the first reference frame. 7. The decoder of claim 6 , wherein the projected motion vector comprises a first projected motion vector, the memory storing instructions which, when executed by the at least one processor, cause the at least one processor to perform operations comprising: generating a second projected motion vector from the current frame to a second reference frame of the plurality of reference frames, wherein the second reference frame has a lower score than the first reference frame, and wherein the first projected motion vector is not allowed to be overwritten by the second projected motion vector due to the second reference frame having a lower score than the first reference frame. 8. The decoder of claim 1 , wherein the at least one other block comprises a previously coded block having been coded using inter uni-prediction, and wherein the stored motion information comprises a motion vector with a backward reference. 9. The decoder of claim 1 , wherein the at least one other block comprises a previously coded block having been coded using intra prediction, and wherein the stored motion information comprises a projected motion vector. 10. The decoder of claim 1 storing instructions which, when executed by the at least one processor, cause the at least one processor to perform operations comprising: determining that the motion information for the at least one other block comprises linear motion; determining that a temporal distance between a frame associated with the at least one other block and a frame associated with the input block satisfies a threshold value; and increasing a priority of a motion vector predictor candidate associated with the at least one other block in the list of the one or more motion vector predictor candidates based on the determination that the motion information comprises linear motion and the determination that the temporal distance satisfies the threshold value. 11. The decoder of claim 1 , wherein the input block and the at least one other block are part of a same frame, the memory storing instructions which, when executed by the at least one processor, cause the at least one processor to perform operations comprising: determining that a reference frame of the at least one other block is different from but in the same direction as a reference frame of the input block; and responsive to the determination, applying a scaling algorithm to the motion information for the at least one other block to generate a motion vector predictor for the input block. 12. The decoder of claim 11 , wherein the input block is coded in an inter uni-prediction mode. 13. The decoder of claim 1 storing instructions which, when executed by the at least one processor, cause the at least one processor to perform operations comprising: accessing stored motion information for at least two other blocks of data, wherein the at least two other blocks and the input block of data are part of a same frame; determining that a reference frame for each of the at least two other blocks is different from a reference frame of the input block; and responsive to the determination, combining the motion information for the at least two other previously coded blocks of data to generate a motion vector predictor for the input block. 14. The decoder of claim 13 , wherein the input block is coded in a bi-predictive or multi-hypothesis inter prediction mode. 15. The decoder of claim 1 , wherein the input block comprises a first block of a first tile row, the memory storing instructions which, when executed by the at least one processor, cause the at least one processor to perform operations comprising storing the list of one or more motion vector predictor candidates for the input block as a list of one or more motion vector predicator candidates for a first block of a second tile row. 16. The decoder of claim 1 , wherein the stored motion information is downsampled, the memory storing instructions which, when executed by the at least one processor, cause the at least one processor to perform operations comprising: upconverting the stored motion information; and generating the list of the one or more motion vector predictor candidates for the input block based on the upconverted motion information. 17. The decoder of claim 1 , wherein the stored motion information is quantized, the memory storing instructions which, when executed by the at least one processor, cause the at least one processor to perform operations comprising: inverse quantizing the stored motion information; and generating the list of the one or more motion vector predictor candidates for the input block based on the inverse quantized motion information. 18. The decoder of claim 1 , wherein the adaptive list construction order assigns a greater we
Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction · CPC title
Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction · CPC title
Quantisation · CPC title
the region being a block, e.g. a macroblock · CPC title
by predictive encoding · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.