IP Library Granted Patent US 9,832,467
Granted Patent B2
US 9,832,467 · App. 14/860,250 · Granted Nov 28, 2017

Deblock filtering for intra block copying

Inventors: Krishnakanth Rapaka (San Diego, CA); Joel Sole Rojals (La Jolla, CA); Cheng-Teh Hsieh (Del Mar, CA); Chao Pang (Marina del Ray, CA); Vadim Seregin (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/117H04N19/159H04N19/176H04N19/182H04N19/513H04N19/593H04N19/82H04N19/86
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,832,467
App. No.
14/860,250
Granted
Nov 28, 2017
Kind
B2
Abstract

Techniques are described for determining boundary strength value for an intra-block copy (IBC)-coded block and for selective storage of unfiltered pixel values of a region of a picture based on whether the region will be used as reference for IBC coding.

Claims (74)

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

determining a coding mode of a current block in a picture of the video data and a coding mode of a neighboring block in the picture of the video data;

determining a boundary strength value by performing a boundary strength value determination process, wherein at least one of the current block is an intra-block copy (IBC)-coded block or the neighboring block is an IBC-coded block, wherein neither the current block nor the neighboring block is intra-mode coded, wherein determining the boundary strength value by performing the boundary strength value determination process comprises determining whether any pixel in a reference block to one of the current block or the neighboring block that is IBC-coded is coded in intra-prediction mode or IBC mode, and determining the boundary strength value based on the determination of whether any pixel in the reference block is coded in intra-prediction mode or IBC mode, and wherein the boundary strength value determination process to determine the boundary strength value is different than a boundary strength value determination process to determine the boundary strength value where one of the current block or the neighboring block is intra-coded and the other is IBC-coded; and

deblock filtering along an edge between the current block and the neighboring block based on the determined boundary strength value.

2. The method of claim 1 , wherein the boundary strength value determination process to determine the boundary strength value is the same boundary strength value determination process to determine the boundary strength value where one of the current block or the neighboring block is an IBC-coded block and the other block is an inter-coded block.

3. The method of claim 1 , further comprising:

determining whether any pixel in the reference block is coded in intra-mode or IBC mode

wherein determining the boundary strength value by performing the boundary strength value determination process comprises:

setting the boundary strength value equal to one based on determining that none of the pixels in the reference block is coded in intra-mode or IBC mode, or

setting the boundary strength value equal to two based on determining that any pixel in the reference block is coded in intra-mode or IBC mode.

4. The method of claim 1 , further comprising:

determining whether a region in the picture is referenced for prediction using IBC mode for at least one block in the picture;

storing unfiltered pixel values for the region in the picture based on a determination that the region is referenced for prediction using IBC mode; and

avoiding the storing of unfiltered pixel values for the region in the picture based on a determination that the region is not referenced for prediction using IBC mode.

5. The method of claim 4 , wherein each region comprises one of: a picture, a tile, a slice, a prediction unit (PU) block, a coding unit (CU), a coding tree block (CTB), a group of CTBs, a fixed size of NxN, or rectangular partitions of MxN.

6. The method of claim 4 , further comprising:

receiving information in one or more of a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), slice header, parameter set extensions, or a supplemental enhancement information (SEI) message,

wherein determining whether the region in the picture is referenced for prediction using IBC mode for at least one block in the picture comprises determining based on received information in one or more of the VPS, SPS, PPS, slice header, parameter set extension, or SEI message.

7. The method of claim 4 , further comprising:

outputting information in one or more of a video parameter set (VPS), sequence parameter set (SPS), picture parameter set (PPS), slice header, parameter set extensions, or supplemental enhancement information (SEI) message, wherein the information identifies whether the region in the picture is referenced for prediction using IBC mode for at least one block in the picture.

8. A device for processing video data, the device comprising:

a memory configured to store a neighboring block of the video data; and

a video coder comprising at least one of fixed-function or programmable circuitry and configured to:

determine a coding mode of a current block in a picture of the video data and a coding mode of the neighboring block in the picture of the video data;

determine a boundary strength value by performing a boundary strength value determination process, wherein at least one of the current block is an intra-block copy (IBC)-coded block or the neighboring block is an IBC-coded block, wherein neither the current block nor the neighboring block is intra-mode coded wherein to determine the boundary strength value by performing the boundary strength value determination process, the video coder is configured to determine whether any pixel in a reference block to one of the current block or the neighboring block that is IBC-coded is coded in intra-prediction mode or IBC mode, and determine the boundary strength value based on the determination of whether any pixel in the reference block is coded in intra-prediction mode or IBC mode, and wherein the boundary strength value determination process to determine the boundary strength value is different than a boundary strength value determination process, performed by the video coder, to determine the boundary strength value where one of the current block or the neighboring block is intra-coded and the other is IBC-coded; and

deblock filter along an edge between the current block and the neighboring block based on the determined boundary strength value.

9. The device of claim 8 , wherein the boundary strength value determination process to determine the boundary strength value is the same boundary strength value determination process to determine the boundary strength value where one of the current block or the neighboring block is an IBC-coded block and the other block is an inter-coded block.

10. The device of claim 8 ,

wherein the video coder is configured to determine whether any pixel in the reference block is coded in intra-mode or IBC mode,

wherein to determine the boundary strength value by performing the boundary strength value determination process, the video coder is configured to:

set the boundary strength value equal to one based on the determination that none of the pixels in the reference block is coded in intra-mode or IBC mode, or

set the boundary strength value equal to two based on the determination that any pixel in the reference block is coded in intra-mode or IBC mode.

11. The device of claim 8 , wherein the video coder is configured to:

determine whether a region in the picture is referenced for prediction using IBC mode for at least one block in the picture;

store in the memory unit unfiltered pixel values for the region in the picture based on a determination that the region is referenced for prediction using IBC mode; and

avoid the storing of unfiltered pixel values for the region in the picture based on a determination that the region is not referenced for prediction using IBC mode.

12. The device of claim 11 , wherein each region comprises one of: a picture, a tile, a slice, a prediction unit (PU) block, a coding unit (CU), a coding tree block (CTB), a group of CTBs, a fixed size of NxN, or rectangular partitions of MxN.

13. The device of claim 11 , wherein the video coder comprises a video decoder, and wherein the video decoder is configured to:

receive information in one or more of a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), slice header, or a supplemental enhancement information (SEI) message,

wherein to determine whether the region in the picture is referenced for prediction using IBC mode for at least one block in the picture, the video decoder is configured to determine based on received information in one or more of the VPS, SPS, PPS, slice header, or SEI message.

14. The device of claim 11 , wherein the video coder comprises a video encoder, and wherein the video encoder is configured to:

output information in one or more of a video parameter set (VPS), sequence parameter set (SPS), picture parameter set (PPS), slice header, or supplemental enhancement information (SEI) message, wherein the information identifies whether the region in the picture is referenced for prediction using IBC mode for at least one block in the picture.

15. The device of claim 8 , wherein the device comprises one or more of:

an integrated circuit (IC);

a microprocessor; or

a wireless communication device that includes at least one of a camera to capture the picture or a display to display the picture.

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

determine a coding mode of a current block in a picture of the video data and a coding mode of a neighboring block in the picture of the video data;

determine a boundary strength value by performing a boundary strength value determination process, wherein at least one of the current block is an intra-block copy (IBC)-coded block or the neighboring block is an IBC-coded block, wherein neither the current block nor the neighboring block is intra-mode coded, wherein the instructions that cause the one or more processors to determine the boundary strength value by performing the boundary strength value determination process comprise instructions that cause the one or more processors to determine whether any pixel in a reference block to one of the current block or the neighboring block that is IBC-coded is coded in intra-prediction mode or IBC mode, and determine the boundary strength value based on the determination of whether any pixel in the reference block is coded in intra-prediction mode or IBC mode, and wherein the boundary strength value determination process to determine the boundary strength value is different than a boundary strength value determination process to determine the boundary strength value where one of the current block or the neighboring block is intra-coded and the other is IBC-coded; and

deblock filter along an edge between the current block and the neighboring block based on the determined boundary strength value.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the boundary strength value determination process to determine the boundary strength value is the same boundary strength value determination process to determine the boundary strength value where one of the current block or the neighboring block is an IBC-coded block and the other block is an inter-coded block.

18. The non-transitory computer-readable storage medium of claim 16 , further comprising instructions that cause the one or more processors to:

determine whether any pixel in the reference block is coded in intra-mode or IBC mode,

wherein the instructions that cause the one or more processors to determine the boundary strength value by performing the boundary strength value determination process comprise instructions that cause the one or more processors to:

set the boundary strength value equal to one based on the determination that none of the pixels in the reference block is coded in intra-mode or IBC mode, and

set the boundary strength value equal to two based on the determination that any pixel in the reference block is coded in intra-mode or IBC mode.

19. The non-transitory computer-readable storage medium of claim 16 , further comprising instructions that cause the one or more processors to:

determine whether a region in the picture is referenced for prediction using IBC mode for at least one block in the picture;

store unfiltered pixel values for the region in the picture based on a determination that the region is referenced for prediction using IBC mode; and

avoid the storing of unfiltered pixel values for the region in the picture based on a determination that the region is not referenced for prediction using IBC mode.

20. A device for processing video data, the device comprising:

means for determining a coding mode of a current block in a picture of the video data and a coding mode of a neighboring block in the picture of the video data;

means for determining a boundary strength value by performing a boundary strength value determination process, wherein at least one of the current block is an intra-block copy (IBC)-coded block or the neighboring block is an IBC-coded block, wherein neither the current block nor the neighboring block is intra-mode coded wherein the means for determining the boundary strength value by performing the boundary strength value determination process comprises means for determining whether any pixel in a reference block to one of the current block or the neighboring block that is IBC-coded is coded in intra-prediction mode or IBC mode, and means for determining the boundary strength value based on the determination of whether any pixel in the reference block is coded in intra-prediction mode or IBC mode, and wherein the boundary strength value determination process to determine the boundary strength value is different than a boundary strength value determination process to determine the boundary strength value where one of the current block or the neighboring block is intra-coded and the other is IBC-coded; and

means for deblock filtering along an edge between the current block and the neighboring block based on the determined boundary strength value.

21. The device of claim 20 , wherein the boundary strength value determination process to determine the boundary strength value is the same boundary strength value determination process to determine the boundary strength value where one of the current block or the neighboring block is an IBC-coded block and the other block is an inter-coded block.

22. The device of claim 20 , further comprising:

means for determining whether any pixel in the reference block is coded in intra-mode or IBC mode,

wherein the means for determining the boundary strength value by performing the boundary strength value determination process comprises:

means for setting the boundary strength value equal to one based on the determination that none of the pixels in the reference block being coded in intra-mode or IBC mode, or

means for setting the boundary strength value equal to two based on the determination that any pixel in the reference block being coded in intra-mode or IBC mode.

23. The device of claim 20 , further comprising:

means for determining whether a region in the picture is referenced for prediction using IBC mode for at least one block in the picture;

means for storing unfiltered pixel values for the region in the picture based on a determination that the region is referenced for prediction using IBC mode; and

means for avoiding the storing of unfiltered pixel values for the region in the picture based on a determination that the region is not referenced for prediction using IBC mode.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2015
From: RAPAKA, KRISHNAKANTH; SOLE ROJALS, JOEL; HSIEH, CHENG-TEH; PANG, CHAO; SEREGIN, VADIM; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 037049/0867 →
Continuity (3)
Provisional Application 62061063 · Oct 7, 2014
Provisional Application 62063330 · Oct 13, 2014
Related Publication 20160100163A1 · Apr 7, 2016