Simplified shifting merge candidate and merge list derivation in 3D-HEVC
AssigneeQUALCOMM Incorporated
InventorsYing Chen, Hongbin Liu
Life of this patent
Estimating the term…
Abstract
A device for coding three-dimensional includes a video coder configured to add one or more motion vector candidates to a motion vector candidate list; identify, from the one or more motion vector candidates in the motion vector candidate list, a disparity motion vector candidate; based on the disparity motion vector candidate, determine a disparity shifted motion vector (DSMV) candidate; and add the DSMV candidate to the motion vector candidate list; and code the block of video data using a motion vector corresponding to the identified candidate.
Claims28
A method of decoding three-dimensional (3D) video data, the method comprising:
- for a block of video data in a current view, adding one or more motion vector candidates to a motion vector candidate list;
- identifying, from the one or more motion vector candidates in the motion vector candidate list, a disparity motion vector candidate, wherein identifying the disparity motion vector candidate comprises identifying a first available disparity motion vector candidate from the first N candidates in the motion vector candidate list, wherein N is an integer number that is less than a maximum number of candidates;
- based on the disparity motion vector candidate, determining a disparity shifted motion vector (DSMV) candidate by shifting the disparity motion vector candidate by ((PuWidth/2*4+4), (PuHeight/2*4+4)), wherein PuWidth is a width of a prediction unit (PU) of the block of video data and PuHeight is a height of the PU of the block of video data;
- in response to a bottom-right inter-view predicted motion (IPMC) candidate being unavailable, adding the DSMV candidate to the motion vector candidate list;
- for the block of video data, receiving an index value identifying a candidate from the motion vector candidate list;
- and,
- decoding the block of video data using a motion vector corresponding to the identified candidate.
A device for decoding three-dimensional (3D) video data, the device comprising:
- one or more memory devices configured to store the 3D video data;
- and
- one or more processors configured to:
- for a block of video data in a current view, add one or more motion vector candidates to a motion vector candidate list for a current block of the 3D video data;
- identify, from the one or more motion vector candidates in the motion vector candidate list, a disparity motion vector candidate, wherein to identify the disparity motion vector candidate, the one or more processors are further configured to identify a first available disparity motion vector candidate from the first N candidates in the motion vector candidate list, wherein N is an integer number that is less than a maximum number of candidates;
- based on the disparity motion vector candidate, determine a disparity shifted motion vector (DSMV) candidate, wherein to determine the DSMV candidate, the one or more processors are further configured to shift the disparity motion vector candidate by ((PuWidth/2*4+4), (PuHeight/2*4+4)), wherein PuWidth is a width of a prediction unit (PU) of the block of video data and PuHeight is a height of the PU of the block of video data;
- in response to a bottom-right inter-view predicted motion (IPMC) candidate being unavailable, add the DSMV candidate to the motion vector candidate list;
- for the block of video data, receive an index value identifying a candidate from the motion vector candidate list;
- and
- decode the current block using a motion vector corresponding to the identified candidate.
A device for encoding three-dimensional (3D) video data, the device comprising:
- one or more memory devices configured to store the 3D video data;
- and
- one or more processors configured to:
- for a block of video data in a current view, add one or more motion vector candidates to a motion vector candidate list for a current block of the 3D video data;
- identify, from the one or more motion vector candidates in the motion vector candidate list, a disparity motion vector candidate, wherein to identify the disparity motion vector candidate, the one or more processors are further configured to identify a first available disparity motion vector candidate from the first N candidates in the motion vector candidate list, wherein N is an integer number that is less than a maximum number of candidates;
- based on the disparity motion vector candidate, determine a disparity shifted motion vector (DSMV) candidate, wherein to determine the DSMV candidate, the one or more processors are further configured to shift the disparity motion vector candidate by ((PuWidth/2*4+4), (PuHeight/2*4+4)), wherein PuWidth is a width of a prediction unit (PU) of the block of video data and PuHeight is a height of the PU of the block of video data;
- in response to a bottom-right inter-view predicted motion (IPMC) candidate being unavailable, add the DSMV candidate to the motion vector candidate list;
- determine a candidate from the motion vector candidate list;
- and
- encode the current block using a motion vector corresponding to the determined candidate.
A method of encoding three-dimensional (3D) video data, the method comprising:
- for a block of video data in a current view, adding one or more motion vector candidates to a motion vector candidate list;
- identifying, from the one or more motion vector candidates in the motion vector candidate list, a disparity motion vector candidate, wherein identifying the disparity motion vector candidate comprises identifying a first available disparity motion vector candidate from the first N candidates in the motion vector candidate list, wherein N is an integer number that is less than a maximum number of candidates;
- based on the disparity motion vector candidate, determining a disparity shifted motion vector (DSMV) candidate by shifting the disparity motion vector candidate by ((PuWidth/2*4+4), (PuHeight/2*4+4)), wherein PuWidth is a width of a prediction unit (PU) of the block of video data and PuHeight is a height of the PU of the block of video data;
- in response to a bottom-right inter-view predicted motion (IPMC) candidate being unavailable, adding the DSMV candidate to the motion vector candidate list;
- determining a candidate from the motion vector candidate list;
- and
- encoding the current block using a motion vector corresponding to the determined candidate.
Dependencies are inferred from the claim text.