IP Library › Granted Patent US 9,948,915
Granted Patent B2
US 9,948,915 · App. 14/339,256 · Granted Apr 17, 2018

Sub-PU motion prediction for texture and depth coding

Inventors: Ying Chen (San Diego, CA); Li Zhang (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N13/0048H04N19/176H04N19/51H04N19/513H04N19/597
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,948,915
App. No.
14/339,256
Granted
Apr 17, 2018
Kind
B2
Abstract

In accordance with one or more techniques of this disclosure, a video coder may divide a current prediction unit (PU) into a plurality of sub-PUs. Each of the sub-PUs may have a size smaller than a size of the PU. Furthermore, the current PU may be in a depth view of the multi-view video data. For each respective sub-PU from the plurality of sub-PUs, the video coder may identify a reference block for the respective sub-PU. The reference block may be co-located with the respective sub-PU in a texture view corresponding to the depth view. The video coder may use motion parameters of the identified reference block for the respective sub-PU to determine motion parameters for the respective sub-PU.

Claims (104)

1. A method of decoding multi-view video data, the method comprising:

dividing, by a video decoder, a current prediction unit (PU) of a current coding unit (CU) of a current picture into a plurality of sub-PUs, each of the sub-PUs having a size smaller than a size of the current PU, the current PU being in a depth view of the multi-view video data;

deriving, by the video decoder, default motion parameters, for the current PU, from a texture block co-located with a center sub-PU of the current PU;

for each respective sub-PU of the plurality of sub-PUs:

identifying, by the video decoder, a reference block for the respective sub-PU, wherein the identified reference block for the respective sub-PU is co-located with the respective sub-PU and the identified reference block for the respective sub-PU is in a texture view corresponding to the depth view,

when motion parameters of the identified reference block for the respective sub-PU are available, using, by the video decoder, motion parameters of the identified reference block for the respective sub-PU to determine motion parameters for the respective sub-PU, wherein the motion parameters of the identified reference block comprise a motion vector,

when the motion parameters of the identified reference block for the respective sub-PU are not available, setting the motion parameters of the respective sub-PU to the default motion parameters, and

using, by the video decoder, the motion parameters for the respective sub-PU to determine a respective predictive block for the respective sub-PU;

determining, by the video decoder, a predictive block for the current PU by assembling the predictive blocks for the sub-PUs; and

reconstructing, by the video decoder, the current PU based at least in part on the predictive block for the current PU.

2. The method of claim 1 , wherein for each respective sub-PU of the plurality of sub-PUs, the motion parameters of the identified reference block for the respective sub-PU include a first motion vector, a second motion vector, a first reference index, and a second reference index, the first motion vector and the first reference index being for a first reference picture list, the second motion vector and the second reference index being for a second reference picture list.

3. The method of claim 1 , further comprising:

including, by the video decoder, a particular candidate in a merge candidate list of the current PU, wherein the particular candidate has the motion parameters of each of the sub-PUs;

obtaining, by the video decoder, from a bitstream, a syntax element that indicates a selected candidate in the merge candidate list; and

based on the selected candidate being the particular candidate, invoking, by the video decoder, motion compensation for each of the sub-PUs.

4. The method of claim 1 ,

wherein the default motion parameters comprise a first default motion vector, a second default motion vector, a first default reference index, and a second default reference index, the first default motion vector and the first default reference index being for a first reference picture list, the second default motion vector and the second default reference index being for a second reference picture list.

5. The method of claim 1 , wherein each sub-PU of the plurality of sub-PUs has a block size equal to 4×4, 8×8, or 16×16.

6. The method of claim 1 , wherein using the motion parameters of the identified reference block for the respective sub-PU to determine the motion parameters for the respective sub-PU comprises using, by the video decoder, the motion parameters of the identified reference block for the respective sub-PU as the motion parameters for the respective sub-PU.

7. The method of claim 1 , further comprising:

dividing the current CU of the current picture into a plurality of PUs, the plurality of PUs including the current PU.

8. The method of claim 1 , wherein the center sub-PU is the sub-PU with the following coordinates relative to a top-left sample of a prediction block of the current PU:

((( nPSW >>( u+ 1))−1)<< u , (( nPSH >>( u+ 1))−1<< u )

or with the following coordinates relative to a top-left sample of a prediction block of the current PU:

(( nPSW >>( u+ 1))<< u , (( nPSH >>( u+ 1))<< u )

where nPSW and nPSH are the width and height of the prediction block of the current PU, and where the sub-PU size is 2 U ×2 U .

9. A method of encoding multi-view video data, the method comprising:

dividing, by a video encoder, a current prediction unit (PU) of a current coding unit (CU) of a current picture into a plurality of sub-PUs, each of the sub-PUs having a size smaller than a size of the current PU, the current PU being in a depth view of the multi-view video data;

deriving, by the video encoder, default motion parameters, for the current PU, from a texture block co-located with a center sub-PU of the current PU;

for each respective sub-PU of the plurality of sub-PUs:

identifying, by the video encoder, a reference block for the respective sub-PU, wherein the identified reference block for the respective sub-PU is co-located with the respective sub-PU and the identified reference block for the respective sub-PU is in a texture view corresponding to the depth view,

when motion parameters of the identified reference block for the respective sub-PU are available, using, by the video encoder, motion parameters of the identified reference block for the respective sub-PU to determine motion parameters for the respective sub-PU, wherein the motion parameters of the identified reference block comprise a motion vector,

when the motion parameters of the identified reference block for the respective sub-PU are not available, setting the motion parameters of the respective sub-PU to the default motion parameters, and

using, by the video encoder, the motion parameters for the respective sub-PU to determine a respective predictive block for the respective sub-PU;

determining, by the video encoder, a predictive block for the current PU by assembling the predictive blocks for the sub-PUs; and

encoding, by the video encoder, the current PU based at least in part on the predictive block for the current PU.

10. The method of claim 9 , wherein for each respective sub-PU of the plurality of sub-PUs, the motion parameters of the identified reference block for the respective sub-PU include a first motion vector, a second motion vector, a first reference index, and a second reference index, the first motion vector and the first reference index being for a first reference picture list, the second motion vector and the second reference index being for a second reference picture list.

11. The method of claim 9 , further comprising:

including, by the video encoder, a particular candidate in a merge candidate list of the current PU, wherein the particular candidate has the motion parameters of each of the sub-PUs;

signaling, by the video encoder, in a bitstream, a syntax element that indicates a selected candidate in the merge candidate list; and

based on the selected candidate being the particular candidate, invoking, by the video encoder, motion compensation for each of the sub-PUs.

12. The method of claim 9 ,

wherein the default motion parameters comprise a first default motion vector, a second default motion vector, a first default reference index, and a second default reference index, the first default motion vector and the first default reference index being for a first reference picture list, the second default motion vector and the second default reference index being for a second reference picture list.

13. The method of claim 9 , wherein each sub-PU of the plurality of sub-PUs has a block size equal to 4×4, 8×8, or 16×16.

14. The method of claim 9 , wherein using the motion parameters of the identified reference block for the respective sub-PU to determine the motion parameters for the respective sub-PU comprises using, by the video encoder, the motion parameters of the identified reference block for the respective sub-PU as the motion parameters for the respective sub-PU.

15. The method of claim 9 , further comprising:

dividing the current CU of the current picture into a plurality of PUs, the plurality of PUs including the current PU.

16. The method of claim 9 , wherein the center sub-PU is the sub-PU with the following coordinates relative to a top-left sample of a prediction block of the current PU:

((( nPSW >>( u+ 1))−1)<< u , (( nPSH >>( u+ 1))−1<< u )

or with the following coordinates relative to a top-left sample of a prediction block of the current PU:

(( nPSW >>( u+ 1))<< u , (( nPSH >>( u+ 1))<< u )

where nPSW and nPSH are the width and height of the prediction block of the current PU, and where the sub-PU size is 2 U ×2 U .

17. A device for coding multi-view video data, the device comprising:

means for dividing a current prediction unit (PU) of a current coding unit (CU) of a current picture into a plurality of sub-PUs, each of the sub-PUs having a size smaller than a size of the current PU, the current PU being in a depth view of the multi-view video data;

means for deriving default motion parameters, for the current PU, from a texture block co-located with a center sub-PU of the current PU;

for each respective sub-PU of the plurality of sub-PUs:

means for identifying a reference block for the respective sub-PU, wherein the identified reference block for the respective sub-PU is co-located with the respective sub-PU and the identified reference block for the respective sub-PU is in a texture view corresponding to the depth view,

means for using motion parameters of the identified reference block for the respective sub-PU to determine motion parameters for the respective sub-PU when motion parameters of the identified reference block for the respective sub-PU are available, wherein the motion parameters of the identified reference block comprise a motion vector,

means for setting the motion parameters of the respective sub-PU to the default motion parameters when the motion parameters of the identified reference block for the respective sub-PU are not available, and

means for using the motion parameters for the respective sub-PU to determine a respective predictive block for the respective sub-PU;

means for determining a predictive block for the current PU by assembling the predictive blocks for the sub-PUs; and

means for reconstructing the current PU based at least in part on the predictive block for the current PU.

18. The device of claim 17 , wherein for each respective sub-PU of the plurality of sub-PUs, the motion parameters of the identified reference block for the respective sub-PU include a first motion vector, a second motion vector, a first reference index, and a second reference index, the first motion vector and the first reference index being for a first reference picture list, the second motion vector and the second reference index being for a second reference picture list.

19. The device of claim 17 , further comprising:

means for including a particular candidate in a merge candidate list of the current PU, wherein the particular candidate has the motion parameters of each of the sub-PUs;

means for obtaining, from a bitstream, a syntax element that indicates a selected candidate in the merge candidate list; and

means for invoking motion compensation for each of the sub-PUs based on the selected candidate being the particular candidate.

20. The device of claim 17 ,

wherein the default motion parameters comprise a first default motion vector, a second default motion vector, a first default reference index, and a second default reference index, the first default motion vector and the first default reference index being for a first reference picture list, the second default motion vector and the second default reference index being for a second reference picture list.

21. The device of claim 17 , further comprising:

means for dividing the current CU of the current picture into a plurality of PUs, the plurality of PUs including the current PU.

22. The device of claim 17 , wherein the center sub-PU is the sub-PU with the following coordinates relative to a top-left sample of a prediction block of the current PU:

((( nPSW >>( u+ 1))−1)<< u , (( nPSH >>( u+ 1))−1<< u )

or with the following coordinates relative to a top-left sample of a prediction block of the current PU:

(( nPSW >>( u+ 1))<< u , (( nPSH >>( u+ 1))<< u )

where nPSW and nPSH are the width and height of the prediction block of the current PU, and where the sub-PU size is 2 U ×2 U .

23. A device for coding multi-view video data, the device comprising:

a memory configured to store the multi-view video data; and

a video coder configured to:

divide a current prediction unit (PU) of a current coding unit (CU) of a current picture into a plurality of sub-PUs, each of the sub-PUs having a size smaller than a size of the current PU, the current PU being in a depth view of the multi-view video data;

derive default motion parameters, for the current PU, from a texture block co-located with a center sub-PU of the current PU;

for each respective sub-PU of the plurality of sub-PUs:

identify a reference block for the respective sub-PU, wherein the identified reference block for the respective sub-PU is co-located with the respective sub-PU and the identified reference block for the respective sub-PU is in a texture view corresponding to the depth view,

when motion parameters of the identified reference block for the respective sub-PU are available, use motion parameters of the identified reference block for the respective sub-PU to determine motion parameters for the respective sub-PU, wherein the motion parameters of the identified reference block comprise a motion vector,

when the motion parameters of the identified reference block for the respective sub-PU are not available, setting the motion parameters of the respective sub-PU to the default motion parameters, and

use the motion parameters for the respective sub-PU to determine a respective predictive block for the respective sub-PU;

determine a predictive block for the current PU by assembling the predictive blocks for the sub-PUs; and

reconstruct the current PU based at least in part on the predictive block for the current PU.

24. The device of claim 23 , wherein for each respective sub-PU of the plurality of sub-PUs, the motion parameters of the identified reference block for the respective sub-PU include a first motion vector, a second motion vector, a first reference index, and a second reference index, the first motion vector and the first reference index being for a first reference picture list, the second motion vector and the second reference index being for a second reference picture list.

25. The device of claim 23 , wherein the video coder is further configured to:

include a particular candidate in a merge candidate list of the current PU, wherein the particular candidate has the motion parameters of each of the sub-PUs;

obtain, from a bitstream, a syntax element that indicates a selected candidate in the merge candidate list; and

based on the selected candidate being the particular candidate, invoke motion compensation for each of the sub-PUs.

26. The device of claim 23 ,

wherein the default motion parameters comprise a first default motion vector, a second default motion vector, a first default reference index, and a second default reference index, the first default motion vector and the first default reference index being for a first reference picture list, the second default motion vector and the second default reference index being for a second reference picture list.

27. The device of claim 23 , wherein each sub-PU of the plurality of sub-PUs has a block size equal to 4×4, 8×8, or 16×16.

28. The device of claim 23 , wherein the video coder is configured such that, as part of using the motion parameters of the identified reference block for the respective sub-PU to determine the motion parameters for the respective sub-PU, the video coder uses the motion parameters of the identified reference block for the respective sub-PU as the motion parameters for the respective sub-PU.

29. The device of claim 23 , wherein the video coder is further configured to:

divide the current CU of the current picture into a plurality of PUs, the plurality of PUs including the current PU.

30. The device of claim 23 , wherein the center sub-PU is the sub-PU with the following coordinates relative to a top-left sample of a prediction block of the current PU:

((( nPSW >>( u+ 1))−1)<< u , (( nPSH >>( u+ 1))−1<< u )

or with the following coordinates relative to a top-left sample of a prediction block of the current PU:

(( nPSW >>( u+ 1))<< u , (( nPSH >>( u+ 1))<< u )

where nPSW and nPSH are the width and height of the prediction block of the current PU, and where the sub-PU size is 2 U ×2 U .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2014
From: CHEN, YING; ZHANG, LI
To: QUALCOMM INCORPORATED
Reel/Frame 033710/0074 →
Continuity (5)
Continuation In Part PCTCN2013001639 · Dec 24, 2013
Provisional Application 61913031 · Dec 6, 2013
Provisional Application 61872540 · Aug 30, 2013
Provisional Application 61858089 · Jul 24, 2013
Related Publication 20150030073A1 · Jan 29, 2015