US9591325B2ActiveUtilityA1

Special case handling for merged chroma blocks in intra block copy prediction mode

99
Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Jan 27, 2015Filed: Jan 27, 2015Granted: Mar 7, 2017
Est. expiryJan 27, 2035(~8.6 yrs left)· nominal 20-yr term from priority
H04N 19/593H04N 19/52H04N 19/55H04N 19/186
99
PatentIndex Score
92
Cited by
187
References
15
Claims

Abstract

Innovations in intra block copy (“BC”) prediction facilitate handling of special cases when chroma blocks are merged for purposes of the intra BC prediction. For example, encoding includes intra BC prediction for a set of adjacent units (e.g., prediction units of a coding unit). An encoder derives a block vector (“BV”) value for secondary component blocks (e.g., chroma blocks) of the set of adjacent units using one or more of the BV values associated with the adjacent units. The encoding includes special case handling for any derived BV value referencing sample values outside a boundary (e.g., picture boundary, slice boundary, tile boundary). The special case handling can use constraints on values of the BVs, clipping of the derived BV value, or padding of sample values at the boundary. In some implementations, corresponding decoding includes special case handling.

Claims

exact text as granted — not AI-modified
We claim: 
     
       1. A computer system comprising a processor and memory, wherein the computer system is configured to implement a media encoder that performs media processing comprising:
 encoding a picture to produce encoded data, wherein the encoding includes intra block copy (“BC”) prediction for a set of adjacent units of the picture, including:
 determining block vector (“BV”) values associated with the adjacent units during BV estimation; 
 for each unit of the set of adjacent units, performing the intra BC prediction for a primary component block of the unit using one of the BV values that is associated with the unit; 
 deriving a BV value for secondary component blocks of the set of adjacent units based at least in part on one or more of the BV values associated with the adjacent units; and 
 performing the intra BC prediction for the secondary component blocks using the derived BV value, wherein adjacent blocks among the secondary component blocks are merged for purposes of the intra BC prediction; 
 wherein the encoding further includes special case handling for any value of the derived BV value referencing sample values outside a boundary, wherein the determining the BV values includes, for the special case handling, enforcing one or more constraints on a given BV value of the BV values so that the derived BV value does not reference any sample values outside the boundary; and 
 
 outputting the encoded data. 
 
     
     
       2. The computer system of  claim 1 , wherein each unit of the set of adjacent units is a prediction unit, and wherein the set of adjacent units is a set of prediction units of a single coding unit. 
     
     
       3. The computer system of  claim 1 , wherein the primary component blocks are luma blocks and the secondary component blocks are chroma blocks. 
     
     
       4. The computer system of  claim 1 , wherein the secondary component blocks of the set of adjacent units have a size below a threshold size at which secondary component blocks are merged for the intra BC prediction, and wherein the encoding further includes intra BC prediction for another set of adjacent units, including, for each unit of the other set of adjacent units, performing the intra BC prediction for a primary component block and secondary component blocks of the unit using a BV value associated with the unit. 
     
     
       5. The computer system of  claim 1 , wherein the primary component blocks define a current region for the set of adjacent units, wherein the given BV value indicates a reference region for the set of adjacent units, and wherein the one or more constraints ensure that no sample value in the reference region is outside the boundary. 
     
     
       6. The computer system of  claim 1 , wherein the primary component blocks define a current region for the set of adjacent units, wherein the given BV value indicates a reference region for the set of adjacent units, and wherein the one or more constraints include:
 (1) a top-left position of the current region and a top-left position of the reference region are in the same slice, if applicable, and in the same tile, if applicable; 
 (2) the top-left position of the current region and a bottom-right position of the reference region are in the same slice, if applicable, and in the same tile, if applicable; 
 (3) one of the following three conditions is satisfied:
 (a) a coding tree unit (“CTU”) row that includes a bottom edge of the reference region is above a CTU row that includes a top edge of the current region; 
 (b) if the CTU row that includes the bottom edge of the reference region equals the CTU row that includes the top edge of the current region, then a CTU column that includes the right edge of the reference region is left of a CTU column that includes a left edge of the current region; and 
 (c) if the CTU row that includes the bottom edge of the reference region equals the CTU row that includes the top edge of the current region, and if the CTU column that includes the right edge of the reference region equals the CTU column that includes the left edge of the current region, then the bottom-right position of the reference region is earlier in z-scan order than the top-left position of the current region; and 
 
 (4)a horizontal displacement value from the reference region to the current region is less than or equal to a vertical displacement value from the current region to the reference region. 
 
     
     
       7. The computer system of  claim 1 , wherein the one or more constraints are enforced for a subset of the set of adjacent units, the subset depending on size of the adjacent units and chroma sampling rate for the picture. 
     
     
       8. In a computer system that implements a media decoder, a method comprising:
 receiving encoded data; and 
 decoding a picture using the encoded data, wherein the decoding includes intra block copy (“BC”) prediction for a set of adjacent units of the picture, including:
 reconstructing block vector (“BV”) values associated with the adjacent units: 
 for each unit of the set of adjacent units, performing the intra BC prediction for a primary component block of the unit using one of the BV values that is associated with the unit; 
 deriving a BV value for secondary component blocks of the set of adjacent units based at least in part on one or more of the BV values associated with the adjacent units; and 
 performing the intra BC prediction for the secondary component blocks using the derived BV value, wherein adjacent blocks among the secondary component blocks are merged for purposes of the intra BC prediction; 
 wherein the decoding further includes special case handling for any value of the derived BV value referencing sample values outside a boundary, and wherein the reconstructing includes, for the special case handling, evaluating, according to a priority order, different candidate BV values used to determine the derived BV value until the derived BV value does not reference any sample values outside the boundary. 
 
 
     
     
       9. The method of  claim 8 , wherein each unit of the set of adjacent units is a prediction unit, and wherein the set of adjacent units is a set of prediction units of a single coding unit. 
     
     
       10. The method of  claim 8 , wherein the primary component blocks are luma blocks and the secondary component blocks are chroma blocks. 
     
     
       11. The method of  claim 8 , wherein the secondary component blocks of the set of adjacent units have a size below a threshold size at which secondary component blocks are merged for the intra BC prediction, and wherein the decoding further includes intra BC prediction for another set of adjacent units, including, for each unit of the other set of adjacent units, performing the intra BC prediction for a primary component block and secondary component blocks of the unit using a BV value associated with the unit. 
     
     
       12. A computer system comprising a processor and memory, wherein the computer system is configured to implement a media decoder that performs media processing comprising:
 receiving encoded data; and 
 decoding a picture using the encoded data, wherein the decoding includes intra block copy (“BC”) prediction for a set of adjacent units of the picture, including:
 for each unit of the set of adjacent units, performing the intra BC prediction for a primary component block of the unit using a block vector (“BV”) value associated with the unit; 
 deriving a BV value for secondary component blocks of the set of adjacent units based at least in part on one or more of the BV values associated with the adjacent units; and 
 performing the intra BC prediction for the secondary component blocks using the derived BV value, wherein adjacent blocks among the secondary component blocks are merged for purposes of the intra BC prediction; 
 wherein the decoding further includes special case handling for any value of the derived BV value referencing sample values outside a boundary, the special case handling including padding sample values away from the boundary or using default sample values when the derived BV value references sample values outside the boundary. 
 
 
     
     
       13. The computer system of  claim 12 , wherein each unit of the set of adjacent units is a prediction unit, and wherein the set of adjacent units is a set of prediction units of a single coding unit. 
     
     
       14. The computer system of  claim 12 , wherein the primary component blocks are luma blocks and the secondary component blocks are chroma blocks. 
     
     
       15. The computer system of  claim 12 , wherein the secondary component blocks of the set of adjacent units have a size below a threshold size at which secondary component blocks are merged for the intra BC prediction, and wherein the decoding further includes intra BC prediction for another set of adjacent units, including, for each unit of the other set of adjacent units, performing the intra BC prediction for a primary component block and secondary component blocks of the unit using a BV value associated with the unit.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.