Motion vector coding and bi-prediction in HEVC and its extensions

US9503720B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9503720-B2
Application numberUS-201313801350-A
CountryUS
Kind codeB2
Filing dateMar 13, 2013
Priority dateMar 16, 2012
Publication dateNov 22, 2016
Grant dateNov 22, 2016

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.

In one example, a device includes a video coder (e.g., a video encoder or a video decoder) configured to determine that a block of video data is to be coded in accordance with a three-dimensional extension of High Efficiency Video Coding (HEVC), and, based the determination that the block is to be coded in accordance with the three-dimensional extension of HEVC, disable temporal motion vector prediction for coding the block. The video coder may be further configured to, when the block comprises a bi-predicted block (B-block), determine that the B-block refers to a predetermined pair of pictures in a first reference picture list and a second reference picture list, and, based on the determination that the B-block refers to the predetermined pair, equally weight contributions from the pair of pictures when calculating a predictive block for the block.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of decoding video data, the method comprising: determining a first type for a current motion vector of a current block of video data; determining a second type for a candidate motion vector predictor of a neighboring block to the current block; setting a variable representative of whether the candidate motion vector predictor is available for use as a motion vector predictor for the current motion vector to a first value indicating that the candidate motion vector predictor is not available for use as the motion vector predictor for the current motion vector, wherein the variable can be set to either the first value or a second value, different from the first value, indicating that the candidate motion vector predictor is available for use as the motion vector predictor for the current motion vector; determining whether the first type is different from the second type; and after initially setting the variable to the first value, setting the variable to the second value in response to determining that the first type is identical to the second type; and decoding the current motion vector based at least in part on the second value of the variable. 2. The method of claim 1 , wherein determining the first type for the current motion vector comprises determining the first type based on a first reference picture subset to which a first reference picture referred to by the current motion vector belongs, and wherein determining the second type for the candidate motion vector comprises determining the second type based on a second reference picture subset to which a second reference picture referred to by the candidate motion vector predictor belongs. 3. The method of claim 2 , wherein the current block is included within a picture of a current layer, and wherein determining that the first type is different from the second type comprises determining that the first type is different from the second type when the first reference picture is included in the current layer and the second reference picture is included in a layer other than the current layer. 4. The method of claim 2 , wherein the current block is included within a picture of a current layer, and wherein determining that the first type is different from the second type comprises determining that the first type is different from the second type when the second reference picture is included in the current layer and the first reference picture is included in a layer other than the current layer. 5. The method of claim 1 , further comprising, prior to setting the variable to the first value, determining that the candidate motion vector is available based on criteria other than whether the first type is different from the second type. 6. The method of claim 1 , wherein the first type for the current motion vector represents whether a current reference picture order count (POC) value of a first reference picture referred to by the current motion vector is the same as a current POC value of a current picture including the current block, and wherein the second type for the candidate motion vector predictor represents whether a candidate reference POC value of a second reference picture referred to by the candidate motion vector predictor is the same as the current POC value. 7. The method of claim 6 , further comprising decoding information indicating that, when at least one of the current reference POC value and the candidate reference POC value is the same as the current POC value, the neighboring block including the candidate motion vector predictor is to be set as unavailable for reference. 8. The method of claim 7 , wherein decoding the current motion vector comprises decoding the current motion vector without scaling the candidate motion vector predictor when a type for the first reference picture referred to by the current motion vector is different than a type for the second reference picture referred to by the candidate motion vector predictor. 9. The method of claim 1 , wherein decoding the current motion vector comprises decoding the current motion vector using at least one of advanced motion vector prediction (AMVP) mode and merge mode, the method further comprising, when decoding the motion vector using AMVP and when the variable indicates that the candidate motion vector predictor is not available, avoiding adding the motion vector predictor into an AMVP candidate list for the current motion vector, and when decoding the motion vector using merge mode and when the variable indicates that the candidate motion vector predictor is not available, avoiding adding the motion vector predictor into a merge candidate list for the current motion vector. 10. The method of claim 1 , further comprising decoding data indicative of whether, for all slices in a decoded video sequence of the video data, an inter-view reference is never chosen as a co-located picture of temporal motion vector prediction (TMVP) mode. 11. The method of claim 10 , wherein decoding the data comprises decoding a disable_inter_view_as_tmvp_flag. 12. The method of claim 10 , wherein decoding the data comprises decoding the data in at least one of extension bits for a multiview video decoding (MVC) extension, extension bits for a three-dimensional video (3DV) extension, a subset sequence parameter set (SPS), and a video parameter set (VPS). 13. The method of claim 1 , further comprising determining a type for a reference picture set (RPS) subset including a reference picture to which the current motion vector refers, wherein determining the first type for the current motion vector comprises determining that the first type is equal to the type for the RPS subset. 14. A method of encoding video data, the method comprising: determining a first type for a current motion vector of a current block of video data; determining a second type for a candidate motion vector predictor of a neighboring block; setting a variable representative of whether the candidate motion vector predictor is available for use as a motion vector predictor for the current motion vector to a first value indicating that the candidate motion vector predictor is not available for use as the motion vector predictor for the current motion vector, wherein the variable can be set to either the first value or a second value, different from the first value, indicating that the candidate motion vector predictor is available for use as the motion vector predictor for the current motion vector; determining whether the first type is different from the second type; and after initially setting the variable to the first value, setting the variable to the second value in response to determining that the first type is identical to the second type; and encoding the current motion vector based at least in part on the second value of the variable. 15. The method of claim 14 , wherein determining the first type for the current motion vector comprises determining the first type based on a first reference picture subset to which a first reference picture referred to by the current motion vector belongs, and wherein determining the second type for the candidate motion vector comprises determining the second type based on a second reference picture subset to which a second reference picture referred to by the candidate motion vector predictor belongs. 16. The method of claim 15 , wherein the current block is included within a picture of a current layer, and wherein determining that the first type is different from the second type comprises determining that the first type is different from the second

Assignees

Inventors

Classifications

  • H04N19/139Primary

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

  • H04N19/597Primary

    specially adapted for multi-view video sequence encoding · 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

  • Electricity · mapped topic

  • characterised by syntax aspects related to video coding, e.g. related to compression standards · 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 US9503720B2 cover?
In one example, a device includes a video coder (e.g., a video encoder or a video decoder) configured to determine that a block of video data is to be coded in accordance with a three-dimensional extension of High Efficiency Video Coding (HEVC), and, based the determination that the block is to be coded in accordance with the three-dimensional extension of HEVC, disable temporal motion vector p…
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification H04N19/139. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 22 2016 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).