IP Library Granted Patent US 9,667,990
Granted Patent B2
US 9,667,990 · App. 14/290,374 · Granted May 30, 2017

Parallel derived disparity vector for 3D video coding with neighbor-based disparity vector derivation

Inventors: Ying Chen (San Diego, CA); Li Zhang (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/52H04N19/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,667,990
App. No.
14/290,374
Granted
May 30, 2017
Kind
B2
Abstract

For each respective coding unit (CU) of a slice of a picture of the video data, a video coder may set, in response to determining that the respective CU is the first CU of a coding tree block (CTB) row of the picture or the respective CU is the first CU of the slice, a derived disparity vector (DDV) to an initial value. Furthermore, the video coder may perform a neighbor-based disparity vector derivation (NBDV) process that attempts to determine a disparity vector for the respective CU. When performing the NBDV process does not identify an available disparity vector for the respective CU, the video coder may determine that the disparity vector for the respective CU is equal to the DDV.

Claims (53)

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

for each respective coding unit (CU) of a slice of a picture of the video data:

determining whether the respective CU occurs first among CUs in a row of coding tree blocks (CTBs) in the slice;

in response to determining that the respective CU occurs first among CUs in the row of CTBs, setting a derived disparity vector (DDV) to an initial value;

performing a neighbor-based disparity vector derivation (NBDV) process that attempts to determine an available disparity vector for the respective CU;

setting the disparity vector for the respective CU, wherein in response to the NBDV process not determining an available disparity vector for the respective CU, the disparity vector for the respective CU is set equal to the DDV, or in response to the NBDV process determining an available disparity vector for the respective CU, the disparity vector for the respective CU is set equal to the available disparity vector determined by the NBDV process;

reconstructing, based in part on the disparity vector for the respective CU, a coding block for the respective CU;

determining whether the respective CU is intra coded; and

after setting the disparity vector for the respective CU and in response to determining that the respective CU is not intra coded, updating the DDV to be equal to the disparity vector of the respective CU.

2. The method of claim 1 , further comprising, for each respective CU of the slice:

in response to determining that the respective CU is the first CU of a tile of the picture, setting the DDV to the initial value.

3. The method of claim 1 , wherein the slice is decoded using wavefront parallel processing (WPP).

4. The method of claim 1 , further comprising, for each respective CU of the slice:

in response to determining that the respective CU is the first CU of a CTB, setting the DDV to the initial value.

5. The method of claim 1 , wherein the initial value is zero.

6. The method of claim 1 , further comprising determining the initial value based at least in part on one or more camera parameters, wherein the one or more camera parameters include a horizontal displacement of two views.

7. The method of claim 1 , further comprising performing the NBDV process only if the current CU is not intra coded.

8. A method of encoding video data, the method comprising:

for each respective coding unit (CU) of a slice of a picture of the video data:

determining whether the respective CU occurs first among CUs in a row of coding tree blocks (CTBs) in the slice;

in response to determining that the respective CU occurs first among CUs in the row of CTBs, setting a derived disparity vector (DDV) to an initial value;

performing a neighbor-based disparity vector derivation (NBDV) process that attempts to determine an available disparity vector for the respective CU;

setting the disparity vector for the respective CU, wherein in response to the NBDV process not determining an available disparity vector for the respective CU, the disparity vector for the respective CU is set equal to the DDV, or in response to the NBDV process determining an available disparity vector for the respective CU, the disparity vector for the respective CU is set equal to the available disparity vector determined by the NBDV process;

generating, based in part on the disparity vector for the respective CU, an encoded representation of a coding block for the respective CU;

determining whether the respective CU is intra coded; and

after setting the disparity vector for the respective CU and in response to determining that the respective CU is not intra coded, updating the DDV to be equal to the disparity vector of the respective CU.

9. The method of claim 8 , further comprising, for each respective CU of the slice:

in response to determining that the respective CU is the first CU of a tile of the picture, setting the DDV to the initial value.

10. The method of claim 8 , wherein the slice is encoded using wavefront parallel processing (WPP).

11. The method of claim 8 , further comprising, for each respective CU of the slice:

in response to determining that the respective CU is the first CU of a CTB, setting the DDV to the initial value.

12. The method of claim 8 , wherein the initial value is zero.

13. The method of claim 8 , further comprising determining the initial value based at least in part on one or more camera parameters, wherein the one or more camera parameters include a horizontal displacement of two views.

14. The method of claim 8 , further comprising: performing the NBDV process only if the current CU is not intra coded.

15. A device for coding video data, the device comprising:

a buffer storing decoded pictures of the video data; and

one or more processors configured such that, for each respective coding unit (CU) of a slice of a picture of the video data, the one or more processors:

determine whether the respective CU occurs first among CUs in a row of coding tree blocks (CTBs) in the slice;

in response to determining that the respective CU occurs first among CUs in the row of CTBs, set a derived disparity vector (DDV) to an initial value;

perform a neighbor-based disparity vector derivation (NBDV) process that attempts to determine an available disparity vector for the respective CU;

set the disparity vector for the respective CU, wherein in response to the NBDV process not determining an available disparity vector for the respective CU, the disparity vector for the respective CU is set equal to the DDV, or in response to the NBDV process determining an available disparity vector for the respective CU, the disparity vector for the respective CU is set equal to the available disparity vector determined by the NBDV process;

determine whether the respective CU is intra coded; and

after setting the disparity vector for the respective CU and in response to determining that the respective CU is not intra coded, update the DDV to be equal to the disparity vector of the respective CU.

16. The device of claim 15 , wherein the one or more processors are configured such that, for each respective CU of the slice, the one or more processors:

in response to determining that the respective CU is the first CU of a tile of the picture, set the DDV to the initial value.

17. The device of claim 15 , wherein the slice is coded using wavefront parallel processing (WPP).

18. The device of claim 15 , wherein the one or more processors are configured such that, for each respective CU of the slice, the one or more processors:

in response to determining that the respective CU is the first CU of a CTB, set the DDV to the initial value.

19. The device of claim 15 , wherein the initial value is zero.

20. The device of claim 15 , wherein the one or more processors are configured to determine the initial value based at least in part on one or more camera parameters, wherein the one or more camera parameters include a horizontal displacement of two views.

21. The device of claim 15 , wherein the one or more processors are configured to perform the NBDV process only if the current CU is not intra coded.

22. The device of claim 15 , wherein the one or more processors are configured to reconstruct, based in part on the disparity vector for the respective CU, a coding block for the respective CU.

23. The device of claim 15 , wherein the one or more processors are configured to generate, based in part on the disparity vector for the respective CU, an encoded representation of a coding block for the respective CU.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2014
From: CHEN, YING; ZHANG, LI
To: QUALCOMM INCORPORATED
Reel/Frame 033469/0131 →
Continuity (2)
Provisional Application 61829821 · May 31, 2013
Related Publication 20140355685A1 · Dec 4, 2014