IP Library › Granted Patent US 9,762,905
Granted Patent B2
US 9,762,905 · App. 14/172,410 · Granted Sep 12, 2017

Disparity vector refinement in video coding

Inventors: Jewon Kang (San Diego, CA); Ying Chen (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/00769H04N19/51H04N19/533H04N19/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,762,905
App. No.
14/172,410
Granted
Sep 12, 2017
Kind
B2
Abstract

A video coding device performs a disparity vector derivation process for a current block of multi-view video data. The current block is in a current view. An availability value indicates that a disparity vector for the current block is unavailable when the disparity vector derivation process is unable to derive the disparity vector for the current block. When the availability value indicates that the disparity vector derivation process has not derived the disparity vector for the current block, the video coding device generates a disparity vector for the current block in another manner.

Claims (100)

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

performing a disparity vector derivation process for a current block of the multi-view video data, the current block being in a current view;

setting an availability value such that the availability value indicates that a disparity vector for the current block is unavailable when the disparity vector derivation process is unable to derive the disparity vector for the current block;

based on the disparity vector derivation process being unable to derive the disparity vector, generating the disparity vector, wherein generating the disparity vector comprises:

based on the availability value indicating that the disparity vector for the current block is unavailable, applying a disparity vector refinement process to a zero disparity vector that has a zero horizontal component and a zero vertical component at least in part by:

accessing a depth view component of a reference view, wherein the reference view is different from the current view;

selecting a depth value from respective depth values associated with four corner pixels of a depth block associated with the depth view component of the reference view; and

converting the selected depth value to a horizontal component of the generated zero disparity vector to form a refined disparity vector; and

decoding the current block based on the refined disparity vector for the current block.

2. The method of claim 1 , further comprising

setting the availability value to indicate that the disparity vector for the current block is available.

3. The method of claim 2 , further comprising:

maintaining a variable to indicate whether the disparity vector derivation process originally derived the disparity vector for the current block; and

providing the variable for use by one or more coding tools.

4. The method of claim 3 , further comprising enabling one or more of the coding tools based on the value of the variable.

5. The method of claim 1 , wherein:

the disparity vector derivation process is a neighboring block disparity vector (NBDV) derivation process; and

the disparity vector refinement process is a neighboring block disparity vector refinement (NBDV-R) process.

6. The method of claim 1 , wherein decoding the current block based on the disparity vector for the current block comprises using the disparity vector for at least one of inter-view motion prediction, inter-view residual prediction, or backward view synthesis prediction.

7. The method of claim 1 , wherein the multi-view video data is 3D-HEVC video data.

8. The method of claim 1 , wherein the depth block and the current block are of a same size.

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

performing a disparity vector derivation process for a current block of the multi-view video data, the current block being in a current view;

setting an availability value such that the availability value indicates that a disparity vector for the current block is unavailable when the disparity vector derivation process is unable to derive the disparity vector for the current block;

based on the disparity vector derivation process being unable to derive the disparity vector, generating the disparity vector, wherein generating the disparity vector comprises:

based on the availability value indicating that the disparity vector for the current block is unavailable, applying a disparity vector refinement process to a zero disparity vector that has a zero horizontal component and a zero vertical component at least in part by:

accessing a depth view component of a reference view, wherein the reference view is different from the current view;

selecting a depth value from respective depth values associated with four corner pixels of a depth block associated with the depth view component of the reference view; and

converting the selected depth value to a horizontal component of the generated zero disparity vector to form a refined disparity vector; and

encoding the current block based on the refined disparity vector for the current block.

10. The method of claim 9 , further comprising

setting the availability value to indicate that the disparity vector for the current block is available.

11. The method of claim 10 , further comprising:

maintaining a variable to indicate whether the disparity vector derivation process originally derived the disparity vector for the current block; and

providing the variable for use by one or more coding tools.

12. The method of claim 11 , further comprising enabling one or more of the coding tools based on the value of the variable.

13. The method of claim 9 , wherein:

the disparity vector derivation process is a neighboring block disparity vector (NBDV) derivation process; and

the disparity vector refinement process is a neighboring block disparity vector refinement (NBDV-R) process.

14. The method of claim 9 , wherein encoding the current block based on the disparity vector for the current block comprises using the disparity vector for at least one of inter-view motion prediction, inter-view residual prediction, or backward view synthesis prediction.

15. The method of claim 9 , wherein the multi-view video data is 3D-HEVC video data.

16. A video decoding device comprising:

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

one or more processors coupled to the memory and configured to:

perform a disparity vector derivation process for a current block of the multi-view video data, the current block being in a current view;

set an availability value such that the availability value indicates that a disparity vector for the current block is unavailable when the disparity vector derivation process is unable to derive the disparity vector for the current block;

based on the disparity vector derivation process being unable to derive the disparity vector, generate the disparity vector, wherein to generate the disparity vector the one or more processors are configured to:

apply, based on the availability value indicating that the disparity vector for the current block is unavailable, a disparity vector refinement process to a zero disparity vector that has a zero horizontal component and a zero vertical component, wherein to apply the disparity vector refinement process, the one or more processors are configured to:

access a depth view component of a reference view to generate the disparity vector for the current block, wherein the reference view is different from the current view;

select a depth value from respective depth values associated with four corner pixels of a depth block associated with the depth view component of the reference view; and

convert the selected depth value to a horizontal component of the generated zero disparity vector to form a refined disparity vector; and

decode the current block based on the refined disparity vector for the current block.

17. The video decoding device of claim 16 , wherein the video decoding device comprises at least one of:

one or more integrated circuits;

one or more microprocessors;

one or more digital signal processors (DSPs);

one or more field programmable gate arrays (FPGAs);

a desktop computer;

a laptop computer;

a tablet computer;

a phone;

a television;

a camera;

a display device;

a digital media player;

a video game console;

a video game device;

a video streaming device; or

a wireless communication device.

18. The video decoding device of claim 16 , wherein the one or more processors are configured to

set the availability value to indicate that the disparity vector for the current block is available.

19. The video decoding device of claim 18 , wherein the one or more processors are configured to:

maintain a variable to indicate whether the disparity vector derivation process originally derived the disparity vector for the current block; and

provide the variable for use by one or more coding tools.

20. The video decoding device of claim 19 , wherein the one or more processors are configured to enable one or more of the coding tools based on the value of the variable.

21. The video decoding device of claim 16 , wherein:

the disparity vector derivation process is a neighboring block disparity vector (NBDV) derivation process; and

the disparity vector refinement process is a neighboring block disparity vector refinement (NBDV-R) process.

22. The video decoding device of claim 16 , wherein the one or more processors are configured to use the disparity vector for at least one of inter-view motion prediction, inter-view residual prediction, or backward view synthesis prediction.

23. The video decoding device of claim 16 , wherein the multi-view video data is 3D-HEVC video data.

24. The video decoding device of claim 16 , wherein the one or more processors are configured to decode the current block based on the refined disparity vector for the current block.

25. The video decoding device of claim 16 , wherein the one or more processors are configured such that, as part of coding the current block based on the refined disparity vector for the current block, the one or more processors encode the current block based on the refined disparity vector for the current block.

26. A video decoding device comprising:

means for performing a disparity vector derivation process for a current block of multi-view video data, the current block being in a current view;

means for setting an availability value such that the availability value indicates that a disparity vector for the current block is unavailable when the disparity vector derivation process is unable to derive the disparity vector for the current block;

means for generating the disparity vector based on the disparity vector derivation process being unable to derive the disparity vector, the means for generating the disparity vector comprising:

means for applying, based on the availability value indicating that the disparity vector for the current block is unavailable, a disparity vector refinement process to a zero disparity vector that has a zero horizontal component and a zero vertical component, the means for applying the disparity vector refinement process comprising:

means for accessing a depth view component of a reference view, wherein the reference view is different from the current view;

means for selecting a depth value from respective depth values associated with four corner pixels of a depth block associated with the depth view component of the reference view; and

means for converting the selected depth value to a horizontal component of the generated zero disparity vector to form a refined disparity vector; and

means for decoding the current block based on the refined disparity vector for the current block.

27. A non-transitory computer-readable data storage medium having instructions stored thereon that, when executed, configure one or more processors of a video decoding device to:

perform a disparity vector derivation process for a current block of multi-view video data, the current block being in a current view;

set an availability value such that the availability value indicates that a disparity vector for the current block is unavailable when the disparity vector derivation process is unable to derive the disparity vector for the current block;

based on the disparity vector derivation process being unable to derive the disparity vector, generate the disparity vector, wherein the instructions to generate the disparity vector comprise instructions that, when executed, cause the one or more processors to:

apply, based on the availability value indicating that the disparity vector derivation process has not derived the disparity vector for the current block, a disparity vector refinement process to a zero disparity vector that has a zero horizontal component and a zero vertical component, wherein the instructions to apply the disparity vector refinement process comprise instructions that, when executed, cause the one or more processors to:

access a depth view component of a reference view, wherein the reference view is different from the current view;

select a depth value from respective depth values associated with four corner pixels of a depth block associated with the depth view component of the reference view; and

convert the selected depth value to a horizontal component of the generated zero disparity vector to form a refined disparity vector; and

decode the current block based on the refined disparity vector for the current block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2014
From: KANG, JEWON; CHEN, YING
To: QUALCOMM INCORPORATED
Reel/Frame 032137/0663 →
Continuity (2)
Provisional Application 61804583 · Mar 22, 2013
Related Publication 20140286421A1 · Sep 25, 2014