IP Library › Granted Patent US 9,628,795
Granted Patent B2
US 9,628,795 · App. 14/333,084 · Granted Apr 18, 2017

Block identification using disparity vector in video coding

Inventors: Li Zhang (San Diego, CA); Ying Chen (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/00733H04N19/176H04N19/51H04N19/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,628,795
App. No.
14/333,084
Granted
Apr 18, 2017
Kind
B2
Abstract

Techniques are described for determining a block in a reference picture in a reference view based on a disparity vector for a current block. The techniques start the disparity vector from a bottom-right pixel in a center 2×2 sub-block within the current block, and determine a location within the reference picture to which the disparity vector refers. The determined block covers the location referred to by the disparity vector based on the disparity vector starting from the bottom-right pixel in the center 2×2 sub-block within the current block.

Claims (50)

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

determining a disparity vector for a current block in a current picture in a current view;

determining a block in a reference picture in a reference view based on a location in the reference picture to which the disparity vector refers based on the disparity vector starting from a bottom-right pixel in a center 2×2 sub-block within the current block, wherein determining the block in the reference picture in the reference view comprises:

determining an x-coordinate for the location in the reference picture based on a width of the reference picture, an x-coordinate of a top-left corner of the current block, a width of the current block, and an x-component of the disparity vector, wherein the x-coordinate for the location in the reference picture equals Clip 3 (0, PicWidthInSamples L −1, xP+((nPSW)>>1)+((mvDisp[0]+2)>>2)), wherein PicWidthInSamples L equals the width of the reference picture, wherein xP equals the x-coordinate of the top-left corner of the current block, wherein nPSW equals the width of the current block, wherein mvDisp[0] equals the x-component of the disparity vector, wherein the >> is a shift operation, and wherein the Clip 3 operation clips a third operand to a range of a first and a second operand,

determining a y-coordinate for the location in the reference picture based on a height of the reference picture, a y-coordinate of the top-left corner of the current block, a height of the current block, and a y-component of the disparity vector, wherein the y-coordinate for the location in the reference picture equals Clip 3 (0, PicHeightInSamples L −1, yP+((nPSH)>>1)+((mvDisp[1]+2)>>2)), wherein PicHeightInSamples L equals the height of the reference picture, wherein yP equals the y-coordinate of a top-left corner of the current block, wherein nPSH equals the height of the current block, and wherein mvDisp[1] equals the v-component of the disparity vector, and

determining the block that covers the determined x- and y-coordinates; and

inter-prediction decoding the current block based on the determined block.

2. The method of claim 1 , wherein inter-prediction decoding the current block comprises one of inter-prediction decoding the current block based on motion information of the determined block or inter-prediction decoding the current block based on a reconstruction of the determined block.

3. The method of claim 1 , wherein determining the block in the reference picture comprises determining a 4×4 block that covers the location in the reference picture to which the disparity vector refers.

4. The method of claim 1 , further comprising:

inserting motion information of the determined block in a list of candidate motion vector predictors,

wherein inter-prediction decoding the current block comprises inter-prediction decoding the current block using the motion information of the determined block if the motion information of the determined block is selected from the list of candidate motion vector predictors.

5. A method of video encoding, the method comprising:

determining a disparity vector for a current block in a current picture in a current view;

determining a block in a reference picture in a reference view based on a location in the reference picture to which the disparity vector refers based on the disparity vector starting from a bottom-right pixel in a center 2×2 sub-block within the current block, wherein determining the block in the reference picture in the reference view comprises:

determining an x-coordinate for the location in the reference picture based on a width of the reference picture, an x-coordinate of a top-left corner of the current block, a width of the current block, and an x-component of the disparity vector, wherein the x-coordinate for the location in the reference picture equals Clip 3 (0, PicWidthInSamples L −1, xP+((nPSW)>>1)+((mvDisp[0]+2)>>2)), wherein PicWidthInSamples L equals the width of the reference picture, wherein xP equals the x-coordinate of the top-left corner of the current block, wherein nPSW equals the width of the current block, wherein mvDisp[0]equals the x-component of the disparity vector, wherein the >> is a shift operation, and wherein the Clip 3 operation clips a third operand to a range of a first and a second operand,

determining a y-coordinate for the location in the reference picture based on a height of the reference picture, a y-coordinate of the top-left corner of the current block, a height of the current block, and a y-component of the disparity vector, wherein the y-coordinate for the location in the reference picture equals Clip 3 (0, PicHeightInSamples L −1, yP+((nPSH)>>1)+((mvDisp[1]+2)>>2)), wherein PicHeightInSamples L equals the height of the reference picture, wherein yP equals the y-coordinate of the top-left corner of the current block, wherein nPSH equals the height of the current block, and wherein mvDisp[1] equals the y-component of the disparity vector, and

determining the block that covers the determined x- and y-coordinates; and

inter-prediction encoding the current block based on the determined block.

6. The method of claim 5 , wherein inter-prediction encoding the current block comprises one of inter-prediction encoding the current block based on motion information of the determined block or inter-prediction encoding the current block based on a reconstruction of the determined block.

7. The method of claim 5 , wherein determining the block in the reference picture comprises determining a 4×4 block that covers the location in the reference picture to which the disparity vector refers.

8. The method of claim 5 , further comprising:

inserting motion information of the determined block in a list of candidate motion vector predictors,

wherein inter-prediction encoding the current block comprises inter-prediction encoding the current block using the motion information of the determined block if the motion information of the determined block is selected from the list of candidate motion vector predictors.

9. A device for video coding, the device comprising:

a video data memory configured to store video data; and

a video coder comprising one or more processors and configured to:

determine a disparity vector for a current block in a current picture in a current view based on the stored video data;

determine a block in a reference picture in a reference view based on a location in the reference picture to which the disparity vector refers based on the disparity vector starting from a bottom-right pixel in a center 2×2 sub-block within the current block, wherein to determine the block in the reference picture in the reference view, the video coder is configured to:

determine an x-coordinate for the location in the reference picture based on a width of the reference picture, an x-coordinate of a top-left corner of the current block, a width of the current block, and an x-component of the disparity vector, wherein the x-coordinate for the location in the reference picture equals Clip 3 (0, PicWidthInSamples L −1, xP+((nPSW)>>1)+((mvDisp[0]+2) >>2)), wherein PicWidthInSamples L equals the width of the reference picture, wherein xP equals the x-coordinate of the top-left corner of the current block, wherein nPSW equals the width of the current block, wherein mvDisp[0] equals the x-component of the disparity vector, wherein the >> is a shift operation, and wherein the Clip 3 operation clips a third operand to a range of a first and a second operand,

determine a y-coordinate for the location in the reference picture based on a height of the reference picture, a y-coordinate of the top-left corner of the current block, a height of the current block, and a y-component of the disparity vector, wherein the y-coordinate for the location in the reference picture equals Clip 3 (0, PicHeightInSamples L −1, yP+((nPSH)>>1)+((mvDisp[1]+2) >>2)), wherein PicHeightInSamples L equals the height of the reference picture, wherein yP equals the y-coordinate of a top-left corner of the current block, wherein nPSH equals the height of the current block, and wherein mvDisp[1] equals the y-component of the disparity vector, and

determine the block that covers the determined x- and y-coordinates; and

inter-prediction code the current block based on the determined block.

10. The device of claim 9 , wherein to inter-prediction code the current block, the video coder is configured to one of inter-prediction code the current block based on motion information of the determined block or inter-prediction code the current block based on a reconstruction of the determined block.

11. The device of claim 9 , wherein to determine the block in the reference picture, the video coder is configured to determine a 4×4 block that covers the location in the reference picture to which the disparity vector refers.

12. The device of claim 9 ,

wherein the video coder is configured to insert motion information of the determined block in a list of candidate motion vector predictors, and

wherein to inter-prediction code the current block, the video coder is configured to inter-prediction code the current block using the motion information of the determined block if the motion information of the determined block is selected from the list of candidate motion vector predictors.

13. The device of claim 9 , wherein the device comprises one of:

a microprocessor;

an integrated circuit; or

a wireless communication device that includes the video coder.

14. A non-transitory computer-readable storage medium having instructions stored thereon that when executed cause one or more processors of a device for video coding to:

determine a disparity vector for a current block in a current picture in a current view;

determine a block in a reference picture in a reference view based on a location in the reference picture to which the disparity vector refers based on the disparity vector starting from a bottom-right pixel in a center 2×2 sub-block within the current block, wherein the instructions that cause the one or more processors to determine the block in the reference picture in the reference view comprise instructions that cause the one or more processors to:

determine an x-coordinate for the location in the reference picture based on a width of the reference picture, an x-coordinate of a top-left corner of the current block, a width of the current block, and an x-component of the disparity vector, wherein the x-coordinate for the location in the reference picture equals Clip 3 (0, PicWidthInSamples L −1, xP+((nPSW)>>1)+((mvDisp[0]+2)>>2)), wherein PicWidthInSamples L equals the width of the reference picture, wherein xP equals the x-coordinate of the top-left corner of the current block, wherein nPSW equals the width of the current block, wherein mvDisp[0] equals the x-component of the disparity vector, wherein the >> is a shift operation, and wherein the Clip 3 operation clips a third operand to a range of a first and a second operand,

determine a y-coordinate for the location in the reference picture based on a height of the reference picture, a y-coordinate of the top-left corner of the current block, a height of the current block, and a y-component of the disparity vector, wherein the y-coordinate for the location in the reference picture equals Clip 3 (0, PicHeightInSamples L −1, yP+((nPSH) >>1)+((mvDisp[1]+2)>>2)), wherein PicHeightInSamples L equals the height of the reference picture, wherein yP equals the y-coordinate of a top-left corner of the current block, wherein nPSH equals the height of the current block, and wherein mvDisp[1] equals the y-component of the disparity vector, and

determine the block that covers the determined x- and y-coordinates; and

inter-prediction code the current block based on the determined block.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the instructions that cause the one or more processors to determine the block in the reference picture comprise instructions that cause the one or more processors to determine a 4×4 block that covers the location in the reference picture to which the disparity vector refers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2014
From: ZHANG, LI; CHEN, YING; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 033468/0880 →
Continuity (2)
Provisional Application 61847522 · Jul 17, 2013
Related Publication 20150023423A1 · Jan 22, 2015