IP Library Granted Patent US 9,883,197
Granted Patent B2
US 9,883,197 · App. 14/592,819 · Granted Jan 30, 2018

Intra prediction of chroma blocks using the same vector

Inventors: Ying Chen (San Diego, CA); Chao Pang (San Diego, CA); Li Zhang (San Diego, CA); Joel Sole Rojals (La Jolla, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/513H04N19/11H04N19/154H04N19/186H04N19/52H04N19/593
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,883,197
App. No.
14/592,819
Granted
Jan 30, 2018
Kind
B2
Abstract

A device for coding video data is configured to: determine a coding unit of a picture of the video data is coded using an intra block copy mode; determine a vector for a first chroma block of the coding unit; locate a first chroma reference block using the vector, the first chroma reference block being in the picture; predict the first chroma block based on the first chroma reference block; locate a second chroma reference block using the vector, the second chroma reference block being in the picture; and predict a second chroma block of the coding unit based on the second chroma reference block.

Claims (132)

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

determining that a coding unit of a picture of the video data is coded using an intra block copy mode, the coding unit comprising at least a first prediction unit and a second prediction unit and having a plurality of vectors, wherein each prediction unit has an associated vector from the plurality of vectors, wherein a chroma sampling format for the coding unit is 4:2:0;

locating a first luma reference block using a vector associated with the first prediction unit of the coding unit, wherein the first prediction unit corresponds to a bottom-right block of the coding unit;

locating a second luma reference block using a vector associated with the second prediction unit of the coding unit, wherein the vector associated with the first prediction unit of the coding unit is different than the vector associated with the second prediction unit of the coding unit;

determining, from the plurality of vectors associated with the coding unit, a vector for a first chroma block of the coding unit, wherein determining the vector for the first chroma block of the coding unit comprises obtaining the vector associated with the first prediction unit;

locating a first chroma reference block for the first chroma block of the coding unit using the vector associated with the first prediction unit of the coding unit, wherein the first chroma reference block is in the picture, and wherein the first chroma block corresponds to the first prediction unit of the coding unit;

predicting the first chroma block of the coding unit based on the first chroma reference block;

locating a second chroma reference block for a second chroma block of the coding unit using the vector associated with the first prediction unit, wherein the second chroma reference block is in the picture and is a different block than the first chroma reference block, wherein the second chroma block corresponds to the second prediction unit of the coding unit;

predicting the second chroma block of the coding unit based on the second chroma reference block, wherein the second chroma block is a top-right block of the coding unit;

locating a third chroma reference block using the vector associated with the first prediction unit, wherein the third chroma reference block is in the picture;

predicting a third chroma block based on the third chroma reference block, wherein the third chroma block is a top-left block of the coding unit;

locating a fourth chroma reference block using the vector associated with the first prediction unit, wherein the fourth chroma reference block is in the picture; and

predicting a fourth chroma block of the coding unit based on the fourth chroma reference block, wherein the fourth chroma block is a bottom-left block of the coding unit.

2. The method of claim 1 , wherein the coding unit comprises residual data.

3. The method of claim 1 , further comprising:

outputting a decoded picture comprising the first chroma block, the second chroma block, the third chroma block, the fourth chroma block, the first luma reference block, and the second luma reference block.

4. The method of claim 1 , further comprising:

receiving the video data at a receiver of a wireless communication device;

storing the video data in a memory of the wireless communication device; and

processing the video data on one or more processors of the wireless communication device.

5. The method of claim 4 , wherein the wireless communication device comprises a telephone handset and wherein receiving the video data at the receiver of the wireless communication device comprises demodulating, according to a wireless communication standard, a signal comprising the video data.

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

determining that a coding unit of a picture of the video data is coded using an intra block copy mode, the coding unit comprising at least a first prediction unit and a second prediction unit and having a plurality of vectors, wherein each prediction unit has an associated vector from the plurality of vectors, wherein a chroma sampling format for the coding unit is 4:2:0;

locating a first luma reference block using a vector associated with the first prediction unit of the coding unit, wherein the first prediction unit corresponds to a bottom-right block of the coding unit;

locating a second luma reference block using a vector associated with the second prediction unit of the coding unit, wherein the vector associated with the first prediction unit of the coding unit is different than the vector associated with the second prediction unit of the coding unit;

determining, from the plurality of vectors associated with the coding unit, a vector for a first chroma block of the coding unit of the picture, wherein determining the vector for the first chroma block of the coding unit comprises obtaining the vector associated with the first prediction unit;

locating a first chroma reference block for the first chroma block of the coding unit using the vector associated with the first prediction unit of the coding unit, wherein the first chroma reference block is in the picture, and wherein the first chroma block corresponds to the first prediction unit of the coding unit;

predicting the first chroma block of the coding unit based on the first chroma reference block;

locating a second chroma reference block for a second chroma block of the coding unit using the vector associated with the first prediction unit, wherein the second chroma reference block is in the picture and is a different block than the first chroma reference block, wherein the second chroma block corresponds to the second prediction unit of the coding unit;

predicting a second chroma block of the coding unit based on the second chroma reference block, wherein the second chroma block is a top-right block of the coding unit;

locating a third chroma reference block using the vector associated with the first prediction unit, wherein the third chroma reference block is in the picture;

predicting a third chroma block based on the third chroma reference block, wherein the third chroma block is a top-left block of the coding unit;

locating a fourth chroma reference block using the vector associated with the first prediction unit, wherein the fourth chroma reference block is in the picture; and

predicting a fourth chroma block of the coding unit based on the fourth chroma reference block, wherein the fourth chroma block is a bottom-left block of the coding unit; and

generating, for inclusion in the encoded video data, an indication that the coding unit of the picture is coded using an intra block copy mode and an indication of a vector for each luma block of the coding unit.

7. The method of claim 6 , wherein the coding unit comprises residual data.

8. The method of claim 6 , further comprising:

storing the video data in a memory of a wireless communication device;

processing the video data on one or more processors of the wireless communication device; and

transmitting the video data from a transmitter of the wireless communication device.

9. The method of claim 8 , wherein the wireless communication device comprises a telephone handset and wherein transmitting the video data at the transmitter of the wireless communication device comprises modulating, according to a wireless communication standard, a signal comprising the video data.

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

a memory configured to store video data;

a video coder comprising one or more processors configured to:

determine a coding unit of a picture of the video data is coded using an intra block copy mode, the coding unit comprising at least a first prediction unit and a second prediction unit and having a plurality of vectors, wherein each prediction unit has an associated vector from the plurality of vectors, wherein a chroma sampling format for the coding unit is 4:2:0;

locate a first luma reference block using a vector associated with the first prediction unit of the coding unit, wherein the first prediction unit corresponds to a bottom-right block of the coding unit;

locate a second luma reference block using a vector associated with the second prediction unit of the coding unit, wherein the vector associated with the first prediction unit of the coding unit is different than the vector associated with the second prediction unit of the coding unit;

determine from the plurality of vectors associated with the coding unit, a vector for a first chroma block of the coding unit, wherein to determine the vector for the first chroma block of the coding unit, the one or more processors are configured to obtain the vector associated with the first prediction unit;

locate a first chroma reference block for the first chroma block of the coding unit using the vector associated with the first prediction unit of the coding unit, wherein the first chroma reference block is in the picture, wherein the first chroma block corresponds to the first prediction unit of the coding unit;

predict the first chroma block of the coding unit based on the first chroma reference block;

locate a second chroma reference block for a second chroma block of the coding unit using the vector associated with the first prediction unit, wherein the second chroma reference block is in the picture and is a different block than the first chroma reference block, wherein the second chroma block corresponds to the second prediction unit of the coding unit;

predict the second chroma block of the coding unit based on the second chroma reference block, wherein the second chroma block is a top-right block of the coding unit;

locate a third chroma reference block using the vector associated with the first prediction unit, wherein the third chroma reference block is in the picture;

predict a third chroma block based on the third chroma reference block, wherein the third chroma block is a top-left block of the coding unit;

locate a fourth chroma reference block using the vector associated with the first prediction unit, wherein the fourth chroma reference block is in the picture; and

predict a fourth chroma block of the coding unit based on the fourth chroma reference block, wherein the fourth chroma block is a bottom-left block of the coding unit.

11. The device of claim 10 , wherein the coding unit comprises residual data.

12. The device of claim 10 , wherein the device comprises one of:

a microprocessor;

an integrated circuit (IC); or

a wireless communication device comprising the video encoder.

13. The device of claim 10 , wherein the video coder comprises a video encoder.

14. The device of claim 13 , wherein the device comprises a wireless communication device, further comprising a transmitter configured to transmit encoded video data.

15. The device of claim 14 , wherein the wireless communication device comprises a telephone handset and wherein the transmitter is configured to modulate, according to a wireless communication standard, a signal comprising the encoded video data.

16. The device of claim 10 , wherein the video coder comprises a video decoder.

17. The device of claim 16 , wherein the device comprises a wireless communication device, further comprising a receiver configured to receive encoded video data.

18. The device of claim 17 , wherein the wireless communication device comprises a telephone handset and wherein the receiver is configured to demodulate, according to a wireless communication standard, a signal comprising the encoded video data.

19. The device of claim 10 , wherein the one or more processors are further configured to:

output a decoded picture comprising the first chroma block, the second chroma block, the third chroma block, the fourth chroma block, the first luma reference block, and the second luma reference block.

20. An apparatus for coding video data, the apparatus comprising:

means for determining a coding unit of a picture of the video data is coded using an intra block copy mode, the coding unit comprising at least a first prediction unit and a second prediction unit and having a plurality of vectors, wherein each prediction unit has an associated vector from the plurality of vectors, wherein a chroma sampling format for the coding unit is 4:2:0;

means for locating a first luma reference block using a vector associated with the first prediction unit of the coding unit, wherein the first prediction unit corresponds to a bottom-right block of the coding unit;

means for locating a second luma reference block using a vector associated with the second prediction unit of the coding unit, wherein the vector associated with the first prediction unit of the coding unit is different than the vector associated with the second prediction unit of the coding unit;

means for determining from the plurality of vectors associated with the coding unit, a vector for a first chroma block of the coding unit, wherein the means for determining the vector for the first chroma block of the coding unit comprises means for obtaining the vector associated with the first prediction unit;

means for locating a first chroma reference block for a first chroma block of the coding unit using the vector associated with the first prediction unit of the coding unit, wherein the first chroma reference block is in the picture, wherein the first chroma block corresponds to the first prediction unit of the coding unit;

means for predicting the first chroma block of the coding unit based on the first chroma reference block;

means for using the vector associated with the first prediction unit of the coding unit, to locate a second chroma reference block for a second chroma block of the coding unit, wherein the second chroma reference block is in the picture and is a different block than the first chroma reference block, wherein the second chroma block corresponds to the second prediction unit of the coding unit;

means for predicting the second chroma block of the coding unit based on the second chroma reference block, wherein the second chroma block is a top-right block of the coding unit;

means for locating a third chroma reference block using the vector associated with the first prediction unit, wherein the third chroma reference block is in the picture;

means for predicting a third chroma block based on the third chroma reference block, wherein the third chroma block is a top-left block of the coding unit;

means for locating a fourth chroma reference block using the vector associated with the first prediction unit, wherein the fourth chroma reference block is in the picture; and

means for predicting a fourth chroma block of the coding unit based on the fourth chroma reference block, wherein the fourth chroma block is a bottom-left block of the coding unit.

21. The apparatus of claim 20 , wherein the coding unit comprises residual data.

22. A non transitory computer readable storage medium storing instructions that when executed by one or more processors cause the one or more processors to:

determine a coding unit of a picture of the video data is coded using an intra block copy mode, the coding unit comprising at least a first prediction unit and a second prediction unit and having a plurality of vectors, wherein each prediction unit has an associated vector from the plurality of vectors, wherein a chroma sampling format for the coding unit is 4:2:0;

locate a first luma reference block using a vector associated with the first prediction unit of the coding unit, wherein the vector associated with the first prediction unit is associated with a bottom-right block of the coding unit;

locate a second luma reference block using a vector associated with the second prediction unit of the coding unit, wherein the vector associated with the first prediction unit of the coding unit is different than the vector associated with the second prediction unit of the coding unit;

determine from the plurality of vectors associated with the coding unit, a vector for a first chroma block of the coding unit, wherein determining the vector for the first chroma block of the coding unit comprises obtaining the vector associated with the first prediction unit;

locate a first chroma reference block for the first chroma block of the coding unit using the vector associated with the first prediction unit of the coding unit, wherein the first chroma reference block is in the picture, wherein the first chroma block corresponds to the first prediction unit of the coding unit;

predict the first chroma block of the coding unit based on the first chroma reference block;

locate a second chroma reference block for a second chroma block of the coding unit using the vector associated with the first prediction unit of the coding unit, wherein the second chroma reference block is in the picture and is a different block than the first chroma reference block, wherein the second chroma block corresponds to the second prediction unit of the coding unit;

predict the second chroma block of the coding unit based on the second chroma reference block, wherein the second chroma block is a top-right block of the coding unit;

locate a third chroma reference block using the vector associated with the first prediction unit, wherein the third chroma reference block is in the picture;

predict a third chroma block based on the third chroma reference block, wherein the third chroma block is a top-left block of the coding unit;

locate a fourth chroma reference block using the vector associated with the first prediction unit, wherein the fourth chroma reference block is in the picture; and

predict a fourth chroma block of the coding unit based on the fourth chroma reference block, wherein the fourth chroma block is a bottom-left block of the coding unit.

23. The non-transitory computer-readable storage medium of claim 22 , wherein the coding unit comprises residual data.

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

determining that a coding unit of a picture of the video data is coded using an intra block copy mode, the coding unit comprising at least a first prediction unit and a second prediction unit and having a plurality of vectors, wherein each prediction unit has an associated vector from the plurality of vectors, wherein a chroma sampling format for the coding unit is 4:2:2;

locating a first luma reference block using a vector associated with the first prediction unit of the coding unit;

locating a second luma reference block using a vector associated with the second prediction unit of the coding unit, wherein the vector associated with the first prediction unit of the coding unit is different than the vector associated with the second prediction unit of the coding unit;

determining, from the plurality of vectors associated with the coding unit, a vector for a first chroma block of the coding unit, wherein determining the vector for the first chroma block of the coding unit comprises obtaining the vector associated with the first prediction unit, wherein the first chroma block is a top-right block;

locating a first chroma reference block for the first chroma block of the coding unit using the vector associated with the first prediction unit of the coding unit, wherein the first chroma reference block is in the picture, and wherein the first chroma block corresponds to the first prediction unit of the coding unit;

predicting the first chroma block of the coding unit based on the first chroma reference block;

locating a second chroma reference block for a second chroma block of the coding unit using the vector associated with the second prediction unit of the coding unit, wherein the second chroma reference block is in the picture and is a different block than the first chroma reference block, wherein the second chroma block corresponds to the second prediction unit of the coding unit;

predicting the second chroma block based on the second chroma reference block, wherein the second chroma block is a bottom-right block of the coding unit;

locating a third chroma reference block using the vector associated with the first prediction unit, wherein the third chroma reference block is in the picture;

predicting a third chroma block based on the third chroma reference block, wherein the third chroma block is a top-left block of the coding unit;

locating a fourth chroma reference block using the vector associated with the second prediction unit, wherein the fourth chroma reference block is in the picture; and

predicting a fourth chroma block of the coding unit based on the fourth chroma reference block, wherein the fourth chroma block is a bottom-left block of the coding unit.

25. The method of claim 24 , further comprising:

receiving the video data at a receiver of a wireless communication device;

storing the video data in a memory of the wireless communication device; and

processing the video data on one or more processors of the wireless communication device.

26. The method of claim 25 , wherein the wireless communication device comprises a telephone handset and wherein receiving the video data at the receiver of the wireless communication device comprises demodulating, according to a wireless communication standard, a signal comprising the video data.

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

a memory configured to store video data;

a video coder comprising one or more processors configured to:

determine that a coding unit of a picture of the video data is coded using an intra block copy mode, the coding unit comprising at least a first prediction unit and a second prediction unit and having a plurality of vectors, wherein each prediction unit has an associated vector from the plurality of vectors, wherein a chroma sampling format for the coding unit is 4:2:2;

locate a first luma reference block using a vector associated with the first prediction unit of the coding unit;

locate a second luma reference block using a vector associated with the second prediction unit of the coding unit, wherein the vector associated with the first prediction unit of the coding unit is different than the vector associated with the second prediction unit of the coding unit;

determine, from the plurality of vectors associated with the coding unit, a vector for a first chroma block of the coding unit, wherein to determine the vector for the first chroma block of the coding unit, the one or more processors are configured to obtain the vector associated with the first prediction unit, wherein the first chroma block is a top-right block;

locate a first chroma reference block for the first chroma block of the coding unit using the vector associated with the first prediction unit of the coding unit, wherein the first chroma reference block is in the picture, and wherein the first chroma block corresponds to the first prediction unit of the coding unit;

predict the first chroma block of the coding unit based on the first chroma reference block;

locate a second chroma reference block for a second chroma block of the coding unit using the vector associated with the second prediction unit of the coding unit, wherein the second chroma reference block is in the picture and is a different block than the first chroma reference block, wherein the second chroma block corresponds to the second prediction unit of the coding unit;

predict the second chroma block based on the second chroma reference block, wherein the second chroma block is a bottom-right block of the coding unit;

locate a third chroma reference block using the vector associated with the first prediction unit, wherein the third chroma reference block is in the picture;

predict a third chroma block based on the third chroma reference block, wherein the third chroma block is a top-left block of the coding unit;

locate a fourth chroma reference block using the vector associated with the second prediction unit, wherein the fourth chroma reference block is in the picture; and

predict a fourth chroma block of the coding unit based on the fourth chroma reference block, wherein the fourth chroma block is a bottom-left block of the coding unit.

28. The device of claim 27 , wherein the device comprises a wireless communication device, further comprising a transmitter configured to transmit encoded video data.

29. The device of claim 28 , wherein the wireless communication device comprises a telephone handset and wherein the transmitter is configured to modulate, according to a wireless communication standard, a signal comprising the encoded video data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2015
From: PANG, CHAO; CHEN, YING; ZHANG, LI; SOLE ROJALS, JOEL; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 035489/0400 →
Continuity (3)
Provisional Application 61925647 · Jan 9, 2014
Provisional Application 61926224 · Jan 10, 2014
Related Publication 20150195559A1 · Jul 9, 2015