IP Library Granted Patent US 9,948,949
Granted Patent B2
US 9,948,949 · App. 14/743,564 · Granted Apr 17, 2018

Intra block copy block vector signaling for video coding

Inventors: Krishnakanth Rapaka (San Diego, CA); Joel Sole Rojals (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/593H04N19/52
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,948,949
App. No.
14/743,564
Granted
Apr 17, 2018
Kind
B2
Abstract

This disclosure describes techniques for coding video data according to an intra Block Copy (BC) coding mode. A block vector difference that identifies a prediction block may be represented by a plurality of syntax elements, which may be encoded and decoded. This disclosure proposes various techniques whereby a video encoder may conditionally signal syntax elements representing the absolute value and/or sign of the components of the block vector difference. Likewise, a video decoder may be configured to infer the values of the syntax elements representing the absolute value and/or sign of the components of the block vector difference when such syntax elements are not signaled.

Claims (69)

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

receiving, in an encoded video bitstream, an encoded block of video data encoded using an intra Block Copy (BC) mode;

decoding a first absolute value of a first component of a block vector difference (BVD) associated with the encoded block of video data;

decoding a second absolute value of a second component of the BVD associated with the encoded block of video data;

decoding a first sign value for the first component of the BVD;

inferring a second sign value for the second component of the BVD based on one or more video coding characteristics indicating that the second sign value is restricted to one value, the one or more video coding characteristics being associated with a location of the block of video data;

determining the BVD based on the decoded first absolute value of the first component of the BVD, the decoded second absolute value of the second component of the BVD, the decoded first sign value for the first component of the BVD, and the inferred second sign value for the second component of the BVD;

determining a block vector from the BVD and a block vector predictor; and

decoding the block of video data using the block vector.

2. The method of claim 1 , wherein the one or more video coding characteristics include one or more of the first sign value of the first component of the BVD, use of default block vector predictors, a value of a block vector predictor, a position of the block vector predictor, an availability of a neighboring block to the encoded block, a coding mode of the neighboring block, or an intra BC merge index.

3. The method of claim 1 , wherein the first component of the BVD is the x component of the BVD, and wherein the second component of the BVD is the y component of the BVD.

4. The method of claim 3 , wherein inferring the second sign value for the second component comprises inferring the second sign value of the y component of the BVD in the case that the BVD is predicted and an absolute value of the x component is greater than zero.

5. The method of claim 1 , wherein the first component of the BVD is the y component of the BVD, and wherein the second component of the BVD is the x component of the BVD.

6. The method of claim 5 , wherein inferring the second sign value for the second component comprises inferring the second sign value of the x component of the BVD in the case that the BVD is predicted and an absolute value of the y component is greater than zero.

7. The method of claim 1 , wherein decoding the first absolute value of the first component of the BVD comprises:

receiving a first syntax element associated with the first absolute value of the first component of the BVD;

inferring that a value of the first syntax element represents the first absolute value of the first component of the BVD minus an offset based on the one or more video coding characteristics indicating that the first absolute value of the first component is greater than the offset; and

determining the first absolute value of the first component by adding the value of the first syntax element to the offset.

8. The method of claim 7 , wherein the offset is one of a width of the encoded block of video data or a height of the encoded block of video data.

9. The method of claim 7 , wherein the offset is a function of a width of the encoded block of video data or a function of a height of the encoded block of video data.

10. The method of claim 1 , wherein inferring the second sign value for the second component comprises inferring the second sign value for the second component in the case that a syntax element indicating the second sign value is not present in the encoded video bitstream.

11. An apparatus configured to decode video data, the apparatus comprising:

a memory configured to store video data; and

a video decoder configured to:

receive, in an encoded video bitstream, an encoded block of the video data encoded using an intra Block Copy (BC) mode;

decode a first absolute value of a first component of a block vector difference (BVD) associated with the encoded block of video data;

decode a second absolute value of a second component of the BVD associated with the encoded block of video data;

decode a first sign value for the first component of the BVD;

infer a second sign value for the second component of the BVD based on one or more video coding characteristics indicating that the second sign value is restricted to one value, the one or more video coding characteristics being associated with a location of the block of video data;

determine the BVD based on the decoded first absolute value of the first component of the BVD, the decoded second absolute value of the second component of the BVD, the decoded first sign value for the first component of the BVD, and the inferred second sign value for the second component of the BVD;

determine a block vector from the BVD and a block vector predictor; and

decode the block of video data using the block vector.

12. The apparatus of claim 11 , wherein the one or more video coding characteristics include one or more of the first sign value of the first component of the BVD, use of default block vector predictors, a value of a block vector predictor, a position of the block vector predictor, an availability of a neighboring block to the encoded block, a coding mode of the neighboring block, or an intra BC merge index.

13. The apparatus of claim 11 , wherein the first component of the BVD is the x component of the BVD, and wherein the second component of the BVD is the y component of the BVD.

14. The apparatus of claim 13 , wherein to infer the second sign value for the second component, the video decoder is configured to infer the second sign value of the y component of the BVD in the case that the BVD is predicted and an absolute value of the x component is greater than zero.

15. The apparatus of claim 11 , wherein the first component of the BVD is the y component of the BVD, and wherein the second component of the BVD is the x component of the BVD.

16. The apparatus of claim 15 , wherein to infer the second sign value for the second component, the video decoder is configured to infer the second sign value of the x component of the BVD in the case that the BVD is predicted and an absolute value of the y component is greater than zero.

17. The apparatus of claim 11 , wherein to decode the first absolute value of the first component of the BVD, the video decoder is configured to:

receive a first syntax element associated with the first absolute value of the first component of the BVD;

infer that a value of the first syntax element represents the first absolute value of the first component of the BVD minus an offset based on the one or more video coding characteristics indicating that the first absolute value of the first component is greater than the offset; and

determine the first absolute value of the first component by adding the value of the first syntax element to the offset.

18. The apparatus of claim 17 , wherein the offset is one of a width of the encoded block of video data or a height of the encoded block of video data.

19. The apparatus of claim 17 , wherein the offset is a function of a width of the encoded block of video data or a function of a height of the encoded block of video data.

20. The apparatus of claim 11 , wherein to infer the second sign value for the second component, the video decoder is configured to infer the second sign value for the second component in the case that a syntax element indicating the second sign value is not present in the encoded video bitstream.

21. The apparatus of claim 11 , wherein the video decoder is implemented in a processor, and wherein the apparatus is a wireless communication device, the wireless communication device further comprising:

a receiver configured to receive the video data.

22. The apparatus of claim 21 , wherein the wireless communication device is a cellular telephone, and wherein the receiver is configured to receive the video data and demodulate the received video data according to a cellular communication standard.

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

encoding a first absolute value of a first component of a block vector difference (BVD) associated with a block of video data encoded with intra Block Copy (BC) mode;

encoding a second absolute value of a second component of the BVD associated with the block of video data;

encoding a first sign value for the first component of the BVD;

not encoding a second sign value for the second component of the BVD based on one or more video coding characteristics indicating that the second sign value is restricted to one value, the one or more video coding characteristics being associated with a location of the block of video data; and

generating syntax elements for the first absolute value, the second absolute value, and the first sign value.

24. The method of claim 23 , wherein the one or more video coding characteristics include one or more of the first sign value of the first component of the BVD, use of default block vector predictors, a value of a block vector predictor, a position of the block vector predictor, an availability of a neighboring block to the encoded block, a coding mode of the neighboring block, or an intra BC merge index.

25. The method of claim 23 , wherein encoding the first absolute value of the first component of the BVD comprises:

subtracting an offset from the first absolute value based on the one or more video coding characteristics indicating that the first absolute value of the first component is greater than the offset.

26. The method of claim 25 , wherein the offset is one of a width of the block of video data or a height of the block of video data.

27. An apparatus configured to encode video data, the apparatus comprising:

a memory configured to store video data; and

a video encoder configured to:

encode a first absolute value of a first component of a block vector difference (BVD) associated with a block of the video data encoded with intra Block Copy (BC) mode;

encode a second absolute value of a second component of the BVD associated with the block of the video data;

encode a first sign value for the first component of the BVD;

not encode a second sign value for the second component of the BVD based on one or more video coding characteristics indicating that the second sign value is restricted to one value, the one or more video coding characteristics being associated with a location of the block of the video data; and

generate syntax elements for the first absolute value, the second absolute value, and the first sign value.

28. The apparatus of claim 27 , wherein the one or more video coding characteristics include one or more of the first sign value of the first component of the BVD, use of default block vector predictors, a value of a block vector predictor, a position of the block vector predictor, an availability of a neighboring block to the encoded block, a coding mode of the neighboring block, or an intra BC merge index.

29. The apparatus of claim 27 , wherein the video encoder is implemented in a processor, and wherein the apparatus is a wireless communication device, the wireless communication device further comprising:

a transmitter configured to transmit the syntax elements.

30. The apparatus of claim 29 , wherein the wireless communication device is a cellular telephone, and wherein the transmitter is configured to modulate and transmit the syntax elements according to a cellular communication standard.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2015
From: RAPAKA, KRISHNAKANTH; SOLE ROJALS, JOEL; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 036312/0321 →
Continuity (4)
Provisional Application 62015313 · Jun 20, 2014
Provisional Application 62053672 · Sep 22, 2014
Provisional Application 62056965 · Sep 29, 2014
Related Publication 20150373370A1 · Dec 24, 2015