Restriction of prediction units in B slices to uni-directional inter prediction
AssigneeQUALCOMM Incorporated
InventorsVadim Seregin, Xianglin Wang, Joel Sole Rojals, Muhammed Zeyd Coban, Marta Karczewicz
Life of this patent
Estimating the term…
Abstract
A video coding device generates a motion vector (MV) candidate list for a prediction unit (PU) of a coding unit (CU) that is partitioned into four equally-sized PUs. The video coding device converts a bi-directional MV candidate in the MV candidate list into a uni-directional MV candidate. In addition, the video coding device determines a selected MV candidate in the merge candidate list and generates a predictive video block for the PU based at least in part on one or more reference blocks indicated by motion information specified by the selected MV candidate.
Claims25
A method for encoding video data, the method comprising:
- generating a motion vector (MV) candidate list for a prediction unit (PU) of a coding unit (CU) in a B slice;
- after generating the MV candidate list, determining a selected MV candidate in the MV candidate list;
- after determining the selected MV candidate, converting the selected MV candidate from a bi-directional MV candidate into a uni-directional MV candidate;
- after converting the selected MV candidate into the uni-directional MV candidate, assigning the uni-directional MV candidate to the PU;
- generating a predictive video block for the PU based at least in part on one or more reference blocks of decoded reference pictures, the one or more reference blocks indicated by motion information specified by the selected MV candidate;
- using the uni-directional MV candidate assigned to the PU for merge candidate list construction or advanced motion vector prediction (AMVP) candidate list construction for a next block in coding order;
- and
- outputting encoded video data based at least in part on the predictive video block.
A video encoding device comprising:
- a data storage medium configured to store decoded reference pictures;
- and
- one or more processors configured to:
- generate a motion vector (MV) candidate list for a prediction unit (PU) of a coding unit (CU) in a B slice;
- after generating the MV candidate list, determine a selected MV candidate in the MV candidate list;
- after determining the selected MV candidate, convert the selected MV candidate from a bi-directional MV candidate into a uni-directional MV candidate;
- after converting the selected MV candidate into the uni-directional MV candidate, assign the uni-directional MV candidate to the PU;
- and
- generate a predictive video block for the PU based at least in part on one or more reference blocks of the decoded reference pictures, the one or more reference blocks indicated by motion information specified by the selected MV candidate;
- use the uni-directional MV candidate assigned to the PU for merge candidate list construction or advanced motion vector prediction (AMVP) candidate list construction for a next block in coding order;
- and
- output encoded video data based at least in part on the predictive video block.
A video encoding device comprising:
- means for generating a motion vector (MV) candidate list for a prediction unit (PU) of a coding unit (CU) in a B slice, wherein the CU is partitioned into four equally-sized PUs;
- means for determining, after the MV candidate list is generated, a selected MV candidate in the MV candidate list;
- means for converting, after determining the selected MV candidate, the selected MV candidate from a bi-directional MV candidate into a uni-directional MV candidate;
- means for assigning, after converting the selected MV candidate into the uni-directional MV candidate, the uni-directional MV candidate to the PU;
- and
- means for generating a predictive video block for the PU based at least in part on one or more reference blocks of decoded reference pictures, the one or more reference blocks indicated by motion information specified by the selected MV candidate;
- means for using the uni-directional MV candidate assigned to the PU for merge candidate list construction or advanced motion vector prediction (AMVP) candidate list construction for a next block in coding order;
- and
- means for outputting encoded video data based at least in part on the predictive video block.
A non-transitory computer readable storage medium that store instructions that, when executed, configure one or more processors to:
- generate a motion vector (MV) candidate list for a prediction unit (PU) of a coding unit (CU) in a B slice;
- after generating the MV candidate list, determine a selected MV candidate in the MV candidate list;
- after determining the selected MV candidate, convert the selected MV candidate from a bi-directional MV candidate into a uni-directional MV candidate;
- after converting the selected MV candidate into the uni-directional MV candidate, assign the uni-directional MV candidate to the PU;
- generate a predictive video block for the PU based at least in part on one or more reference blocks of decoded reference pictures, the one or more reference blocks indicated by motion information specified by the selected MV candidate;
- use the uni-directional MV candidate assigned to the PU for merge candidate list construction or advanced motion vector prediction (AMVP) candidate list construction for a next block in coding order;
- and
- output encoded video data based at least in part on the predictive video block.
A method for decoding video data, the method comprising:
- generating a motion vector (MV) candidate list for a prediction unit (PU) of a coding unit (CU) in a B slice;
- after generating the MV candidate list, determining a selected MV candidate in the MV candidate list;
- after determining the selected MV candidate, converting the selected MV candidate from a bi-directional MV candidate into a uni-directional MV candidate;
- after converting the selected MV candidate into the uni-directional MV candidate, assigning the uni-directional MV candidate to the PU;
- generating a predictive video block for the PU based at least in part on one or more reference blocks of decoded reference pictures, the one or more reference blocks indicated by motion information specified by the selected MV candidate;
- using the uni-directional MV candidate assigned to the PU for merge candidate list construction or advanced motion vector prediction (AMVP) candidate list construction for a next block in coding order;
- and
- outputting decoded video data based at least in part on the predictive video block.
A video decoding device comprising:
- a data storage medium configured to store decoded reference pictures;
- and
- one or more processors configured to:
- generate a motion vector (MV) candidate list for a prediction unit (PU) of a coding unit (CU) in a B slice;
- after generating the MV candidate list, determine a selected MV candidate in the MV candidate list;
- after determining the selected MV candidate, convert the selected MV candidate from a bi-directional MV candidate into a uni-directional MV candidate;
- after converting the selected MV candidate into the uni-directional MV candidate, assign the uni-directional MV candidate to the PU;
- generate a predictive video block for the PU based at least in part on one or more reference blocks of the decoded reference pictures, the one or more reference blocks indicated by motion information specified by the selected MV candidate;
- use the uni-directional MV candidate assigned to the PU for merge candidate list construction or advanced motion vector prediction (AMVP) candidate list construction for a next block in coding order;
- and
- output decoded video data based at least in part on the predictive video block.
A video decoding device comprising:
- means for generating a motion vector (MV) candidate list for a prediction unit (PU) of a coding unit (CU) in a B slice;
- means for determining, after the MV candidate list is generated, a selected MV candidate in the MV candidate list;
- means for converting, after determining the selected MV candidate, the selected MV candidate from a bi-directional MV candidate into a uni-directional MV candidate;
- means for assigning, after converting the selected MV candidate into the uni-directional MV candidate, the uni-directional MV candidate to the PU;
- means for generating a predictive video block for the PU based at least in part on one or more reference blocks of decoded reference pictures, the one or more reference blocks indicated by motion information specified by the selected MV candidate;
- means for using the uni-directional MV candidate assigned to the PU for merge candidate list construction or advanced motion vector prediction (AMVP) candidate list construction for a next block in coding order;
- and
- outputting decoded video data based at least in part on the predictive video block.
Dependencies are inferred from the claim text.