Selection of motion vector precision
US-11095904-B2 · Aug 17, 2021 · US
US11638016B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11638016-B2 |
| Application number | US-202117366887-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 2, 2021 |
| Priority date | Jan 8, 2014 |
| Publication date | Apr 25, 2023 |
| Grant date | Apr 25, 2023 |
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.
Approaches to selection of motion vector (“MV”) precision during video encoding are presented. These approaches can facilitate compression that is effective in terms of rate-distortion performance and/or computational efficiency. For example, a video encoder determines an MV precision for a unit of video from among multiple MV precisions, which include one or more fractional-sample MV precisions and integer-sample MV precision. The video encoder can identify a set of MV values having a fractional-sample MV precision, then select the MV precision for the unit based at least in part on prevalence of MV values (within the set) having a fractional part of zero. Or, the video encoder can perform rate-distortion analysis, where the rate-distortion analysis is biased towards the integer-sample MV precision. Or, the video encoder can collect information about the video and select the MV precision for the unit based at least in part on the collected information.
Opening claim text (preview).
We claim: 1. One or more computer-readable media having stored therein computer-executable instructions for causing one or more processing units, when programmed thereby, to perform operations, the one or more computer-readable media being selected from the group consisting of non-volatile memory, volatile memory, and tangible storage, the operations comprising: encoding frames of a video sequence, thereby producing encoded data, wherein the encoding the frames includes: encoding an indicator in a first-layer syntax structure that applies for at least one of the frames of the video sequence, the indicator indicating: whether or not motion vector (“MV”) precision is adaptively selected for units of the at least one of the frames; and if the MV precision for the units of the at least one of the frames is not adaptively selected, whether the MV precision for the units of the at least one of the frames is fractional-sample precision or integer-sample precision; and if the MV precision for the units of the at least one of the frames is adaptively selected, for each of the units, setting a flag in a second-layer syntax structure for the unit, the flag indicating whether MV precision for the unit is fractional-sample precision or integer-sample precision; and outputting the encoded data as part of a bitstream, the encoded data including the encoded indicator in the first-layer syntax structure and, if the MV precision for the units of the at least one of the frames is adaptively selected, for each of the units, the flag in the second-layer syntax structure for the unit that indicates the MV precision for the unit. 2. The one or more computer-readable media of claim 1 , wherein the first-layer syntax structure is a sequence-layer syntax structure, wherein the units are frames, and wherein the second-layer syntax structure is a picture-layer syntax structure. 3. The one or more computer-readable media of claim 1 , wherein the first-layer syntax structure is a sequence parameter set, wherein the units are slices, and wherein the second-layer syntax structure is a slice-header-layer syntax structure. 4. The one or more computer-readable media of claim 1 , wherein, for the indicator: a first possible value indicates that the MV precision for the units of the at least one of the frames is not adaptively selected and further indicates that the MV precision for the units of the at least one of the frames is fractional-sample precision; a second possible value indicates that the MV precision for the units of the at least one of the frames is not adaptively selected and further indicates that the MV precision for the units of the at least one of the frames is integer-sample precision; and a third possible value indicates that the MV precision for the units of the at least one of the frames is adaptively selected. 5. The one or more computer-readable media of claim 1 , wherein the encoding the indicator uses two bits in the first-layer syntax structure or includes entropy coding a two-bit value for the first-layer syntax structure. 6. The one or more computer-readable media of claim 1 , wherein the fractional-sample precision is quarter-sample precision. 7. The one or more computer-readable media of claim 1 , wherein the indicator is based on source of the frames of the video sequence, measurement of a performance heuristic, or historical data. 8. A computer system comprising: a buffer, implemented using memory, configured to receive encoded data for frames of a video sequence as part of a bitstream; and a video decoder, implemented using one or more processing units and memory, configured to perform operations to decode the encoded data to reconstruct the frames of the video sequence, the operations including: determining an indicator using a first-layer syntax structure that applies for at least one of the frames of the video sequence, the indicator indicating: whether or not motion vector (“MV”) precision is adaptively selected for units of the at least one of the frames; and if the MV precision for the units of the at least one of the frames is not adaptively selected, whether the MV precision for the units of the at least one of the frames is fractional-sample precision or integer-sample precision; determining, based on the indicator, whether or not the MV precision for the units of the at least one of the frames is adaptively selected; if the MV precision for the units of the at least one of the frames is not adaptively selected, for each of the units, determining, based on the indicator, whether MV precision for the unit is fractional-sample precision or integer-sample precision; and if the MV precision for the units of the at least one of the frames is adaptively selected, for each of the units, determining, based on a flag in a second-layer syntax structure for the unit, whether the MV precision for the unit is fractional-sample precision or integer-sample precision. 9. The computer system of claim 8 , wherein the first-layer syntax structure is a sequence-layer syntax structure, wherein the units are frames, and wherein the second-layer syntax structure is a picture-layer syntax structure. 10. The computer system of claim 8 , wherein the first-layer syntax structure is a sequence parameter set, wherein the units are slices, and wherein the second-layer syntax structure is a slice-header-layer syntax structure. 11. The computer system of claim 8 , wherein, for the indicator: a first possible value indicates that the MV precision for the units of the at least one of the frames is not adaptively selected and further indicates that the MV precision for the units of the at least one of the frames is fractional-sample precision; a second possible value indicates that the MV precision for the units of the at least one of the frames is not adaptively selected and further indicates that the MV precision for the units of the at least one of the frames is integer-sample precision; and a third possible value indicates that the MV precision for the units of the at least one of the frames is adaptively selected. 12. The computer system of claim 8 , wherein, for a given unit of the units, if the flag for the given unit is not present in the bitstream, the flag for the given unit is inferred to have a value equal to the indicator. 13. The computer system of claim 8 , wherein the determining the indicator uses two bits from the first-layer syntax structure or includes entropy decoding an entropy-coded two-bit value from the first-layer syntax structure. 14. One or more computer-readable media having stored therein computer-executable instructions for causing one or more processing units, when programmed thereby, to perform operations, the one or more computer-readable media being selected from the group consisting of non-volatile memory, volatile memory, and tangible storage, the operations comprising: receiving encoded data for frames of a video sequence as part of a bitstream; and decoding the encoded data to reconstruct the frames of the video sequence, including: determining an indicator using a first-layer syntax structure that applies for at least one of the frames of the video sequence, the indicator indicating: whether or not motion vector (“MV”) precision is adaptively selected for units of the at least one of the frames; and if the MV precision for the units of the at least one of the frames is not adaptively selected, whether the MV precision for the units of the at least one of the frames is fractional-sample precision or integer-sample precision; determining, based on the indicator, whether or not the MV precision for the
Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC] · CPC title
the unit being an image region, e.g. an object · CPC title
characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding · CPC title
according to rate distortion criteria (rate-distortion as a criterion for motion estimation H04N19/567) · 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
Related publications grouped by family.
Answers are generated from the same data shown on this page.