# US 9,883,197 B2 · Intra prediction of chroma blocks using the same vector

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,883,197 B2
- Document ID: US9883197B2
- Status: Granted
- Kind: B2
- Application number: 14/592,819
- Filed: 2015-01-08
- Published: 2015-07-09
- Granted: 2018-01-30
- Earliest claimed: 2014-01-09
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Ying Chen; Chao Pang; Li Zhang; Joel Sole Rojals; Marta Karczewicz
- Web page: https://patentgrep.com/patent/US9883197B2

## CPC

- H04N 19/513: Processing of motion vectors
- H04N 19/11: among a plurality of spatial predictive coding modes
- H04N 19/154: Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion (use of rate-distortion criteria H04N19/147)
- H04N 19/186: the unit being a colour or a chrominance component
- H04N 19/52: by predictive encoding
- H04N 19/593: involving spatial prediction techniques
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## 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

### Claim 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.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 4)

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.

### Claim 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.

### Claim 7 (depends on 6)

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

### Claim 8 (depends on 6)

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.

### Claim 9 (depends on 8)

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.

### Claim 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.

### Claim 11 (depends on 10)

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

### Claim 12 (depends on 10)

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.

### Claim 13 (depends on 10)

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

### Claim 14 (depends on 13)

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

### Claim 15 (depends on 14)

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.

### Claim 16 (depends on 10)

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

### Claim 17 (depends on 16)

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

### Claim 18 (depends on 17)

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.

### Claim 19 (depends on 10)

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.

### Claim 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.

### Claim 21 (depends on 20)

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

### Claim 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.

### Claim 23 (depends on 22)

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

### Claim 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.

### Claim 25 (depends on 24)

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.

### Claim 26 (depends on 25)

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.

### Claim 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.

### Claim 28 (depends on 27)

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

### Claim 29 (depends on 28)

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.
