Features of intra block copy prediction mode for video and image coding and decoding
AssigneeMicrosoft Technology Licensing, LLC
InventorsBin Li, Jizheng Xu, Gary J. Sullivan
Life of this patent
Estimating the term…
Abstract
Innovations in intra block copy (“BC”) prediction mode facilitate intra BC prediction that is more effective in terms of rate-distortion performance and/or computational efficiency of encoding and decoding. For example, some of the innovations provide ways to select block vector (“BV”) values more effectively. Other innovations provide ways to encode/decode BV values more efficiently. Still other innovations address how to perform in-loop deblock filtering when a block has intra BC prediction mode, or address how to perform intra BC prediction when constrained intra prediction is enabled.
Claims20
In a computing device, a method comprising:
- reconstructing first and second blocks of a picture, wherein the picture includes at least some blocks encoded using intra block copy prediction;
- and
- performing in-loop deblock filtering across a boundary between the first and second blocks, one of the first and second blocks having been encoded using intra block copy prediction, and the other of the first and second blocks having been encoded using inter-picture prediction, wherein the performing the in-loop deblock filtering includes adjusting the in-loop deblock filtering, and wherein the adjusting the in-loop deblock filtering includes:
- checking (a) presence/absence of non-zero transform coefficients for the first and second blocks, (b) reference index values for the first and second blocks, and/or (c) value of a block vector or motion vector for each of the first and second blocks;
- and
- assigning a filtering strength value, wherein the assigned filtering strength value indicates moderate filtering if either of the first and second blocks includes any non-zero transform coefficients.
A computing device comprising:
- a buffer configured to store a picture;
- and
- a video encoder or image encoder configured to perform operations comprising:
- partitioning the picture into coding units, at least one of the coding units having one or more prediction units for signaling of prediction information and one or more transform units for signaling of residual information, each of the one or more prediction units including prediction blocks, and each of the one or more transform units including transform blocks;
- determining a block vector for a current prediction block of a given prediction unit of a given coding unit of the coding units of the picture, wherein the current prediction block has a first size, and wherein the current prediction block is associated with transform blocks of a given transform unit of the given coding unit, the transform blocks having a second size smaller than the first size, including checking a constraint on value of the block vector, the constraint requiring that, for a given one of the transform blocks of the second size, the block vector references a region that is outside of the given one of the transform blocks of the second size;
- performing intra block copy prediction for the current prediction block using the block vector, including performing block copy operations within the picture on a transform block-by-transform block basis for the transform blocks associated with the current prediction block;
- and
- encoding the block vector.
One or more computer-readable media storing computer-executable instructions for causing a computing device, when programmed thereby, to perform operations, the one or more computer-readable media being selected from the group consisting of non-volatile memory, magnetic disk, CD-ROM, and DVD, the operations comprising:
- determining a block vector for a current prediction block of a given prediction unit of a given coding unit of a picture, the picture having multiple coding units including the given coding unit, each of the multiple coding units having one or more prediction units for signaling of prediction information and one or more transform units for signaling of residual information, each of the one or more prediction units including prediction blocks, and each of the one or more transform units including transform blocks, wherein the current prediction block has a first size;
- based on value of the block vector and the first size, splitting a current transform block into multiple transform blocks each having a second size smaller than the first size;
- and
- performing intra block copy prediction operations using the block vector on a transform block-by-transform block basis for the multiple transform blocks having the second size.
A computing device comprising:
- a buffer configured to store encoded data for a picture;
- and
- a video decoder configured to decode the encoded data to reconstruct the picture, wherein the video decoder is configured to perform decoding operations that include:
- reconstructing first and second blocks of the picture;
- and
- performing in-loop deblock filtering across a boundary between the first and second blocks, one of the first and second blocks having been encoded using intra block copy prediction, and the other of the first and second blocks having been encoded using inter-picture prediction, wherein the performing the in-loop deblock filtering includes adjusting the in-loop deblock filtering, and wherein the adjusting the in-loop deblock filtering includes:
- checking (a) presence/absence of non-zero transform coefficients for the first and second blocks, (b) reference index values for the first and second blocks, and/or (c) value of a block vector or motion vector for each of the first and second blocks;
- and
- assigning a filtering strength value, wherein the assigned filtering strength value indicates moderate filtering if either of the first and second blocks includes any non-zero transform coefficients.
Dependencies are inferred from the claim text.