IP Library › Granted Patent US 11,470,339
Granted Patent B2
US 11,470,339 · App. 14/469,477 · Granted Oct 11, 2022

Residual prediction for intra block copying

Inventors: Liwei Guo (San Diego, CA); Chao Pang (San Diego, CA); Rajan Laxman Joshi (San Diego, CA); Joel Sole Rojals (La Jolla, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/50H04N19/176H04N19/593H04N19/70
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 11,470,339
App. No.
14/469,477
Granted
Oct 11, 2022
Kind
B2
Abstract

In an example, a method of decoding video data includes generating a residual block of a picture based on a predicted residual block including reconstructing one or more residual values of the residual block based on one or more predicted residual values of the residual block. The method also includes generating a current block of the picture based on a combination of the residual block and a prediction block of the picture.

Claims (86)

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

decoding a single syntax element, in a sequence parameter set (SPS) that is applicable to a plurality of pictures, which explicitly indicates whether a residual differential pulse code modulation (RDPCM) process is enabled for one or more blocks in the plurality of pictures of the SPS including whether the RDPCM process is enabled for at least a first block in one of the plurality pictures predicted in an intra-block copying prediction mode and whether the RDPCM process is enabled for at least a second block in one of the plurality of pictures predicted in an inter-prediction mode

based on the syntax element indicating that the RDPCM process is enabled, generating a residual block for the first block based on a predicted residual block including reconstructing one or more residual values of the residual block by applying the RDPCM process to one or more predicted residual values of the predicted residual block, wherein applying the RDPCM process comprises obtaining, from an encoded bitstream, data that indicates an RDPCM mode for the residual block from a plurality of RDPCM modes and applying the indicated RDPCM mode to the predicted residual block;

applying the intra-block copying prediction mode to predict the first block, wherein applying the intra-block copying prediction mode comprises locating a prediction block in a picture that includes the first block based on a displacement vector and a location of the first block in the picture that includes the first block; and

generating the first block based on a combination of the residual block and the prediction block.

2. The method of claim 1 , further comprising obtaining the predicted residual block from the encoded bitstream.

3. The method of claim 1 , wherein applying the indicated RDPCM mode to the predicted residual block comprises applying horizontal RDPCM to the one or more predicted residual values of the predicted residual block based on the RDPCM mode for the residual block indicating horizontal RDPCM.

4. The method of claim 1 , wherein applying the indicated RDPCM mode to the predicted residual block comprises applying vertical RDPCM to the one or more predicted residual values of the predicted residual block based on the RDPCM mode for the residual block indicating vertical RDPCM.

5. The method of claim 1 , wherein the plurality of RDPCM modes comprise an RDPCM off mode, an RDPCM vertical mode, and an RDPCM horizontal mode.

6. The method of claim 1 , further comprising:

obtaining, from the encoded bitstream, the displacement vector for locating the prediction block in the picture.

7. The method of claim 1 , wherein generating the residual block further comprises applying inverse quantization to the residual block in a lossy decoding process.

8. The method of claim 1 , wherein generating the residual block comprises generating the residual block without performing inverse quantization in a lossless decoding process.

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

applying an intra-block copying prediction mode to predict a first block in a picture of a plurality of pictures, wherein applying the intra-block copying prediction mode comprises locating a prediction block in the picture of the plurality of pictures based on a displacement vector and a location of the first block of the picture;

generating a residual block for the first block of the picture based on a difference between the first block and the prediction block of the picture;

determining whether a residual differential pulse code modulation (RDPCM) process is enabled for the plurality of pictures including for at least the first block predicted in the intra-block copying prediction mode and at least a second block predicted in an inter-prediction mode;

based on the RDPCM process being enabled, generating a predicted residual block based on the residual block by applying the RDPCM process to predict one or more residual values of the residual block based on one or more other residual values of the residual block, wherein applying the RDPCM process comprises selecting an RDPCM mode from a plurality of RDPCM modes and applying the selected RDPCM mode;

encoding, in a bitstream, a single syntax element, in a sequence parameter set (SPS) that is applicable to the plurality of pictures, which explicitly indicates that RDPCM process is enabled for one or more blocks in the plurality of pictures of the SPS including that RDPCM process is enabled for at least the first block predicted in the intra-block copying prediction mode and that RDPCM process is enabled for at least the second block in one of the plurality of pictures predicted in the inter-prediction mode;

encoding, in the bitstream, data that indicates the RDPCM mode from the plurality of RDPCM modes; and

encoding data that represents the predicted residual block in the bitstream.

10. The method of claim 9 , wherein applying the selected RDPCM mode to the residual block comprises applying horizontal RDPCM to the one or more residual values based on the selected RDPCM mode being horizontal RDPCM.

11. The method of claim 9 , wherein applying the selected RDPCM mode to the residual block comprises applying vertical RDPCM to the one or more residual values based on the selected RDPCM mode being vertical RDPCM.

12. The method of claim 9 , wherein the plurality of RDPCM modes comprise an RDPCM off mode, an RDPCM vertical mode, and an RDPCM horizontal mode.

13. The method of claim 9 , further comprising encoding data that represents the displacement vector.

14. The method of claim 9 , wherein encoding the data comprises applying quantization to the predicted residual block in a lossy encoding process.

15. The method of claim 9 , wherein encoding the data comprises encoding the data without applying quantization to the predicted residual in a lossless encoding process.

16. A device for of decoding video data, the device comprising:

a memory configured to store the video data; and

a video decoder comprising processing circuitry, the video decoder is configured to:

decode a single syntax element, in a sequence parameter set (SPS) that is applicable to a plurality of pictures, which explicitly indicates whether a residual differential pulse code modulation (RDPCM) process is enabled for one or more blocks in the plurality of pictures of the SPS including whether the RDPCM process is enabled for at least a first block in one of the plurality of pictures predicted in an intra-block copying prediction mode and whether the RDPCM process is enabled for at least a second block in one of the plurality of pictures predicted in an inter-prediction mode

based on the syntax element indicating that the RDPCM process is enabled, generate a residual block for the first block based on a predicted residual block stored in the memory, wherein to generate the residual block, the video decoder is configured to reconstruct one or more residual values of the residual block by applying the RDPCM process to one or more predicted residual values of the predicted residual block, wherein to apply the RDPCM process, the video decoder is configured to obtain, from an encoded bitstream, data that indicates an RDPCM mode for the residual block from a plurality of RDPCM modes and apply the indicated RDPCM mode to the predicted residual block;

apply the intra-block copying prediction mode to predict the first block, wherein to apply the intra-block copying prediction mode, the video decoder is configured to locate a prediction block in a picture that includes the first block based on a displacement vector and a location of the first block in the picture that includes the first block; and

generate the first block based on a combination of the residual block and the prediction block.

17. The device of claim 16 , wherein the video decoder is further configured to obtain the predicted residual block from the encoded bitstream.

18. The device of claim 16 , wherein to apply the indicated RDPCM mode to the predicted residual block, the video decoder is configured to apply horizontal RDPCM to the one or more predicted residual values of the predicted residual block based on the RDPCM mode for the residual block indicating horizontal RDPCM.

19. The device of claim 16 , wherein to apply the indicated RDPCM mode to the predicted residual block, the video decoder is configured to apply vertical RDPCM to the one or more predicted residual values of the predicted residual block based on the RDPCM mode for the residual block indicating horizontal RDPCM.

20. The device of claim 16 , wherein the plurality of RDPCM modes comprise an RDPCM off mode, an RDPCM vertical mode, and an RDPCM horizontal mode.

21. The device of claim 16 , wherein the video decoder is further configured to:

obtain, from the encoded bitstream, the displacement vector that indicates a location of the prediction block in the picture.

22. The device of claim 16 , wherein to generate the residual block, the video decoder is configured to apply inverse quantization to the residual block in a lossy decoding process.

23. The device of claim 16 , wherein to generate the residual block, the video decoder is configured to generate the residual block without performing inverse quantization in a lossless decoding process.

24. The device of claim 16 , further comprising a display configured to display the first block of the picture.

25. A device for encoding video data, the device comprising:

a memory configured to store the video data;

a video encoder comprising processing circuitry, the video encoder is configured to:

apply an intra-block copying prediction mode to predict a first block in a picture of a plurality of pictures, wherein to apply the intra-block copying prediction mode, the video encoder is configured to locate a prediction block in the picture of the plurality of pictures based on a displacement vector and a location of the first block of the picture;

generate a residual block for the first block of the picture based on a difference between the first block and the prediction block of the picture;

determine whether a residual differential pulse code modulation (RDPCM) process is enabled for the plurality of pictures including for at least the first block predicted in the intra-block copying prediction mode and at least a second block predicted in an inter-prediction mode;

based on the RDPCM process being enabled, generate a predicted residual block based on the residual block by applying the RDPCM process to predict one or more residual values of the residual block based on one or more other residual values of the residual block, wherein to apply the RDPCM process, the video encoder is configured to select an RDPCM mode from a plurality of RDPCM modes and apply the selected RDPCM mode;

encode, in a bitstream, a single syntax element, in a sequence parameter set (SPS) that is applicable to the plurality of pictures, which explicitly indicates that the RDPCM process is enabled for one or more blocks in the plurality of pictures of the SPS includes that RDPCM process is enabled for at least the first block predicted in the intra-block copying prediction mode and that RDPCM process is enabled for at least the second block in one of the plurality of pictures in the inter-prediction mode

encode, in the bitstream, data that indicates the RDPCM mode from the plurality of RDPCM modes; and

encode data that represents the predicted residual block in the bitstream.

26. The device of claim 25 , wherein to apply the selected RDPCM mode to the residual block, the video encoder is configured to apply horizontal RDPCM to the one or more residual values based on the selected RDPCM mode being horizontal RDPCM.

27. The device of claim 25 , wherein to apply the selected RDPCM mode to the residual block, the video encoder is configured to apply vertical RDPCM to the one or more residual values based on the selected RDPCM mode being vertical RDPCM.

28. The device of claim 25 , wherein the plurality of RDPCM modes comprise an RDPCM off mode, an RDPCM vertical mode, and an RDPCM horizontal mode.

29. The device of claim 25 , wherein the video encoder is further configured to encode data that represents the displacement vector.

30. The device of claim 25 , wherein to encode the data, the video encoder is configured to apply quantization to the predicted residual block in a lossy encoding process.

31. The device of claim 25 , wherein to encode the data, the video encoder is configured to encode the data without applying quantization to the predicted residual in a lossless encoding process.

32. The device of claim 25 , further comprising a video camera configured to capture the picture that includes the first block.

33. A device for decoding video data, the device comprising:

means for decoding a single syntax element, in a sequence parameter set (SPS) that is applicable to a plurality of pictures, which explicitly indicates whether a residual differential pulse code modulation (RDPCM) process is enabled for one or more blocks in the plurality of pictures of the SPS including whether the RDPCM process is enabled for at least a first block in one of the plurality of pictures predicted in an intra-block copying prediction mode and whether the RDPCM process is enabled for at least a second block in one of the plurality of pictures predicted in an inter-prediction mode

means for generating a residual block for the first block based on a predicted residual block, based on the syntax element indicating that the RDPCM process is enabled, including reconstructing one or more residual values of the residual block by applying the RDPCM process to one or more predicted residual values of the predicted residual block, wherein the means for applying the RDPCM process comprises means for obtaining, from an encoded bitstream, data that indicates an RDPCM mode for the residual block from a plurality of RDPCM modes and means for applying the indicated RDPCM mode to the predicted residual block;

means for applying the intra-block copying prediction mode to predict the first block, wherein the means for applying the intra-block copying prediction mode comprises means for locating a prediction block in a picture that includes the first block based on a displacement vector and a location of the first block in the picture that includes the first block; and

means for generating the first block based on a combination of the residual block and the prediction block.

34. A device for encoding video data, the device comprising:

means for applying an intra-block copying prediction mode to predict a first block in a picture of a plurality of pictures, wherein the means for applying the intra-block copying prediction mode comprises means for locating a prediction block in the picture of the plurality of pictures based on a displacement vector and a location of the first block of the picture;

means for generating a residual block for the first block of the picture based on a difference between the first block and the prediction block of the picture;

means for determining whether a residual differential pulse code modulation (RDPCM) process is enabled for the plurality of pictures including for at least the first block predicted in the intra-block copying prediction mode and at least a second block predicted in an inter-prediction mode;

means for generating, based on the RDPCM process being enabled, a predicted residual block based on the residual block by applying the RDPCM process to predict one or more residual values of the residual block based on one or more other residual values of the residual block, wherein means for applying the RDPCM process comprises means for selecting an RDPCM mode from a plurality of RDPCM modes and means for applying the selected RDPCM mode;

means for encoding, in a bitstream, a single syntax element, in a sequence parameter set (SPS) that is applicable to the plurality of pictures, which explicitly indicates that RDPCM process is enabled for one or more blocks in the plurality of pictures of the SPS including that RDPCM process is enabled for at least the first block predicted in the intra-block copying prediction mode and that RDPCM process is enabled for at least the second block in one of the plurality of pictures predicted in the inter-prediction mode

means for encoding, in the bitstream, data that indicates the RDPCM mode from the plurality of RDPCM modes; and

means for encoding data that represents the predicted residual block in the bitstream.

35. A non-transitory computer-readable medium having instructions stored thereon that, when executed, cause one or more processors to:

decode a single syntax element, in a sequence parameter set (SPS) that is applicable to a plurality of pictures, which explicitly indicates whether a residual differential pulse code modulation (RDPCM) process is enabled for one or more blocks in the plurality of pictures of the SPS including whether the RDPCM process is enabled for at least a first block in one of the plurality pictures predicted in an intra-block copying prediction mode and whether the RDPCM process is enabled for at least a second block in one of the plurality of pictures predicted in an inter-prediction mode

based on the syntax element indicating that the RDPCM process is enabled, generate a residual block for the first block based on a predicted residual block including reconstructing one or more residual values of the residual block by applying the RDPCM process to one or more predicted residual values of the predicted residual block, wherein the instructions that cause the one or more processors to apply the RDPCM process comprise instructions that cause the one or more processors to obtain, from an encoded bitstream, data that indicates an RDPCM mode for the residual block from a plurality of RDPCM modes and apply the indicated RDPCM mode to the predicted residual block;

apply the intra-block copying prediction mode to predict the first block, wherein the instructions that cause the one or more processors to apply the intra-block copying prediction mode comprise instructions that cause the one or more processors to locate a prediction block in a picture that includes the first block based on a displacement vector and a location of the first block in the picture that includes the first block; and

generate the first block based on a combination of the residual block and the prediction block.

36. A non-transitory computer-readable medium having instructions stored thereon that, when executed, cause one or more processors to:

apply an intra-block copying prediction mode to predict a first block in a picture of a plurality of pictures, wherein the instructions that cause the one or more processors to apply the intra-block copying prediction mode comprise instructions that cause the one or more processors to locate a prediction block in the picture of the plurality of pictures based on a displacement vector and a location of the first block of the picture;

generate a residual block for the first block of the picture based on a difference between the first block and the prediction block of the picture;

determine whether a residual differential pulse code modulation (RDPCM) process is enabled for the plurality of pictures including for at least the first block predicted in the intra-block copying prediction mode and at least a second block predicted in an inter-prediction mode;

based on the RDPCM process being enabled, generate a predicted residual block based on the residual block by applying the RDPCM process to predict one or more residual values of the residual block based on one or more other residual values of the residual block, wherein the instructions that cause the one or more processors to apply the RDPCM process comprise instructions that cause the one or more processors to select an RDPCM mode from a plurality of RDPCM modes and apply the selected RDPCM mode;

encode, in a bitstream, a single syntax element, in a sequence parameter set (SPS) for that is applicable to the plurality of pictures, which explicitly indicates that RDPCM process is enabled for one or more blocks in the plurality of pictures of the SPS including that RDPCM process is enabled for at least the first block predicted in the intra-block copying prediction mode and that RDPCM process is enabled for at least the second block in one of the plurality of pictures predicted in the inter-prediction mode

encode, in the bitstream, data that indicates the RDPCM mode from the plurality of RDPCM modes; and

encode data that represents the predicted residual block in the bitstream.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2014
From: GUO, LIWEI; PANG, CHAO; JOSHI, RAJAN LAXMAN; SOLE ROJALS, JOEL; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 033852/0675 →
Continuity (3)
Provisional Application 61870654 · Aug 28, 2013
Provisional Application 61870654 · Aug 27, 2013
Related Publication 20150063454A1 · Mar 5, 2015