Image coding method, image decoding method, image coding apparatus, and image decoding apparatus
US-9172971-B2 · Oct 27, 2015 · US
US9503746B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9503746-B2 |
| Application number | US-201213647076-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 8, 2012 |
| Priority date | Oct 8, 2012 |
| Publication date | Nov 22, 2016 |
| Grant date | Nov 22, 2016 |
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.
A method for encoding a video stream having a plurality of blocks including a current block. The method includes identifying, from a plurality of previously coded blocks, a plurality of candidate motion vectors; identifying, for the current block, a set of reconstructed pixel values corresponding to a set of previously coded pixel values; determining, for at least one of the plurality of candidate motion vectors, an error value based on the set of reconstructed pixel values and a set of predicted values for the set of previously coded pixel values; and selecting, from the plurality of candidate motion vectors, a reference motion vector for the current block based on the error value.
Opening claim text (preview).
What is claimed is: 1. A method for encoding a current block of a video stream having a plurality of blocks including the current block, comprising: identifying, from a plurality of blocks coded before the current block, a plurality of candidate motion vectors, each candidate motion vector associated with a respective reference frame; identifying, for the current block of a current frame, a set of reconstructed pixel values for a set of pixel positions within the current frame, but outside of the current block, coded before the current block; for each candidate motion vector of the plurality of candidate motion vectors: generating, by applying the candidate motion vector to the set of pixel positions, a set of predicted pixels for the reconstructed pixels within the respective reference frame associated with the candidate motion vector; and determining an error value between the set of reconstructed pixel values and values of the set of predicted pixels; and selecting, from the plurality of candidate motion vectors, a reference motion vector for the current block based on the error value for each candidate motion vector. 2. The method of claim 1 , wherein the set of pixel positions includes at least one of: one or more rows of pixels above the current block or one or more columns of pixels to the left of the current block. 3. The method of claim 1 , wherein the error value is determined using one of the following metrics: sum of absolute difference (SAD), sum of squared error (SSE) or mean squared error (MSE). 4. The method of claim 1 , wherein the reference motion vector is selected from the plurality of candidate motion vectors as the candidate motion vector associated with the lowest error value. 5. The method of claim 1 , further comprising: encoding, for the current block, a motion vector using the reference motion vector. 6. The method of claim 5 , wherein encoding, for the current block, the motion vector using the reference motion vector includes encoding, for the current block, a difference value based on the reference motion vector and the motion vector for the current block. 7. The method of claim 5 , wherein encoding, for the current block, the motion vector using the reference motion vector includes: identifying a probability distribution based on the reference motion vector; and encoding a magnitude value of the motion vector for the current block based on the probability distribution. 8. The method of claim 1 , wherein the reference motion vector is selected as a motion vector for the current block. 9. A method for decoding a current block of an encoded video stream having a plurality of blocks including the current block, comprising: identifying, from a plurality of blocks decoded before the current block, a plurality of candidate motion vectors, each candidate motion vector associated with a respective reference frame; identifying, for the current block of a current frame, a set of reconstructed pixel values corresponding to a set of pixel positions within the current frame, but outside of the current block, decoded before the current block; for each candidate motion vector of the plurality of candidate motion vectors: generating, by applying the candidate motion vector to the set of pixel positions, a set of predicted pixels within the respective reference frame associated with the candidate motion vector; and determining an error value between the set of reconstructed pixel values and values of the set of predicted pixels; and selecting, from the plurality of candidate motion vectors, a reference motion vector for the current block based on the error value for each candidate motion vector. 10. The method of claim 9 , wherein the set of pixel positions includes at least one of: one or more rows of pixels above the current block or one or more columns of pixels to the left of the current block. 11. The method of claim 9 , wherein the error value is determined using one of the following metrics: sum of absolute difference (SAD), sum of squared error (SSE) or mean squared error (MSE). 12. The method of claim 9 , wherein the reference motion vector is selected from the plurality of candidate motion vectors as the candidate motion vector associated with the lowest error value. 13. The method of claim 9 , further comprising: decoding, for the current block, a motion vector using the reference motion vector. 14. The method of claim 13 , wherein decoding, for the current block, the motion vector using the reference motion vector includes decoding, from the current block, a difference value based on the reference motion vector and the motion vector for the current block; and determining the motion vector for the current block based on a sum of the difference value and the reference motion vector. 15. The method of claim 13 , wherein decoding, for the current block, the motion vector using the reference motion vector includes: identifying a probability distribution based on the reference motion vector; and decoding a magnitude value of the motion vector for the current block based on the probability distribution. 16. The method of claim 9 , wherein the reference motion vector is selected as a motion vector for the current block. 17. An apparatus for encoding a current block of a video stream having a plurality of blocks including the current block, comprising: a memory; a processor configured to execute instructions stored in the memory to: identify, from a plurality of blocks coded before the current block, a plurality of candidate motion vectors, each candidate motion vector associated with a respective reference frame; identify, for the current block of a current frame, a set of reconstructed pixel values for a set of pixel positions within the current frame, but outside of the current block, coded before the current block; for each candidate motion vector of the plurality of candidate motion vectors: generate, by applying the candidate motion vector to the set of pixel positions, a set of predicted pixels within the respective reference frame associated with the candidate motion vector; and determine an error value between the set of reconstructed pixel values and values of the set of predicted pixels; and select, from the plurality of candidate motion vectors, a reference motion vector for the current block based on the error value for each candidate motion vector. 18. The apparatus in claim 17 , wherein the processor is further configured to execute instructions to: encode, for the current block, a motion vector using the reference motion vector.
Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion (use of rate-distortion criteria H04N19/147) · CPC title
in combination with predictive coding · CPC title
by compressing encoding parameters before transmission · CPC title
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
Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.