IP Library Granted Patent US 11,317,113
Granted Patent B2
US 11,317,113 · App. 16/783,852 · Granted Apr 26, 2022

Features of intra block copy prediction mode for video and image coding and decoding

Inventors: Bin Li (Beijing, CN); Jizheng Xu (Beijing, CN); Gary J. Sullivan (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC
H04N19/52H04N19/56H04N19/57H04N19/593H04N19/82H04N19/86H04N19/91H04N19/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,317,113
App. No.
16/783,852
Granted
Apr 26, 2022
Kind
B2
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.

Claims (54)

1. In a computing system that implements a video decoder, a method comprising:

receiving encoded data in a bitstream for at least part of a video sequence; and

decoding the encoded data, including reconstructing first and second blocks of a picture of the video sequence, each of the first and second blocks having a prediction mode, and performing in-loop deblock filtering across a boundary between the first and second blocks, wherein the performing the in-loop deblock filtering includes:

checking if the prediction mode for at least one of the first and second blocks is intra spatial prediction mode and, if so, assigning a filtering strength value that indicates strong filtering;

otherwise, the prediction mode for each of the first and second blocks being intra block copy (“BC”) prediction mode or inter prediction mode, assigning a filtering strength value that indicates moderate filtering or a filtering strength value that indicates no filtering according to an approach that depends at least in part on the prediction modes of the first and second blocks, respectively, wherein:

a first approach is applied when the prediction mode for one of the first and second blocks is the intra BC prediction mode and the prediction mode for the other of the first and second blocks is the inter prediction mode; and

a second approach, different than the first approach, is applied when the prediction mode for both of the first and second blocks is the intra BC prediction mode; and

a third approach, different than the first and second approaches, is applied when the prediction mode for both of the first and second blocks is the inter prediction mode.

2. The method of claim 1 , wherein:

the first approach includes checking presence/absence of non-zero transform coefficients for the first and second blocks; and

the filtering strength value that indicates moderate filtering is assigned if either of the first and second blocks includes any non-zero transform coefficients.

3. The method of claim 2 , wherein the first and second blocks are transform blocks associated with one or more coding units.

4. The method of claim 1 , wherein:

the second approach includes checking (a) presence/absence of non-zero transform coefficients for the first and second blocks and/or (b) a value of a block vector for each of the first and second blocks; and

the filtering strength value that indicates moderate filtering is assigned if either of the first and second blocks includes any non-zero transform coefficients or if a difference between vector components of the values of the block vectors for the first and second blocks is greater than a threshold amount.

5. The method of claim 4 , wherein the first and second blocks are transform blocks associated with one or more coding units, and wherein the block vectors for the first and second blocks are signaled for prediction units associated with the one or more coding units.

6. The method of claim 1 , wherein:

the third approach 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) a value of a motion vector for each of the first and second blocks; and

the filtering strength value that indicates moderate filtering is assigned if either of the first and second blocks includes any non-zero transform coefficients, if the reference index values for the first and second blocks are different, or if a difference between vector components of the values of the motion vectors for the first and second blocks is greater than a threshold amount.

7. The method of claim 6 , wherein the first and second blocks are transform blocks associated with one or more coding units, and wherein the motion vectors for the first and second blocks are signaled for prediction units associated with the one or more coding units.

8. The method of claim 1 , wherein, according to the first approach, the second approach, and the third approach, the filtering strength value that indicates moderate filtering is assigned if either of the first and second blocks includes any non-zero transform coefficients.

9. One or more computer-readable media having stored thereon encoded data in a bitstream for at least part of a video sequence, the one or more computer-readable media being selected from the group consisting of non-volatile memory, magnetic disk, CD-ROM, and DVD, the encoded data being organized to facilitate decoding by operations comprising:

reconstructing first and second blocks of a picture of the video sequence, each of the first and second blocks having a prediction mode; and

performing in-loop deblock filtering across a boundary between the first and second blocks, wherein the performing the in-loop deblock filtering includes:

checking if the prediction mode for at least one of the first and second blocks is intra spatial prediction mode and, if so, assigning a filtering strength value that indicates strong filtering;

otherwise, the prediction mode for each of the first and second blocks being intra block copy (“BC”) prediction mode or inter prediction mode, assigning a filtering strength value that indicates moderate filtering or a filtering strength value that indicates no filtering according to an approach that depends at least in part on the prediction modes of the first and second blocks, respectively, wherein:

a first approach is applied when the prediction mode for one of the first and second blocks is the intra BC prediction mode and the prediction mode for the other of the first and second blocks is the inter prediction mode; and

a second approach, different than the first approach, is applied when the prediction mode for both of the first and second blocks is the intra BC prediction mode; and

a third approach, different than the first and second approaches, is applied when the prediction mode for both of the first and second blocks is the inter prediction mode.

10. The one or more computer-readable media of claim 9 , wherein: the first approach includes checking presence/absence of non-zero transform coefficients for the first and second blocks; and the filtering strength value that indicates moderate filtering is assigned if either of the first and second blocks includes any non-zero transform coefficients.

11. The one or more computer-readable media of claim 9 , wherein: the second approach includes checking (a) presence/absence of non-zero transform coefficients for the first and second blocks and/or (b) a value of a block vector for each of the first and second blocks; and the filtering strength value that indicates moderate filtering is assigned if either of the first and second blocks includes any non-zero transform coefficients or if a difference between vector components of the values of the block vectors for the first and second blocks is greater than a threshold amount.

12. The one or more computer-readable media of claim 9 , wherein: the third approach 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) a value of a motion vector for each of the first and second blocks; and the filtering strength value that indicates moderate filtering is assigned if either of the first and second blocks includes any non-zero transform coefficients, if the reference index values for the first and second blocks are different, or if a difference between vector components of the values of the motion vectors for the first and second blocks is greater than a threshold amount.

13. A computing system comprising memory and one or more processing units, wherein the computing system implements a video encoder configured to perform operations comprising:

receiving a picture of a video sequence;

encoding the picture to produce encoded data, including reconstructing first and second blocks of the picture, each of the first and second blocks having a prediction mode, and performing in-loop deblock filtering across a boundary between the first and second blocks, wherein the performing the in-loop deblock filtering includes:

checking if the prediction mode for at least one of the first and second blocks is intra spatial prediction mode and, if so, assigning a filtering strength value that indicates strong filtering;

otherwise, the prediction mode for each of the first and second blocks being intra block copy (“BC”) prediction mode or inter prediction mode, assigning a filtering strength value that indicates moderate filtering or a filtering strength value that indicates no filtering according to an approach that depends at least in part on the prediction modes of the first and second blocks, respectively, wherein:

a first approach is applied when the prediction mode for one of the first and second blocks is the intra BC prediction mode and the prediction mode for the other of the first and second blocks is the inter prediction mode; and

a second approach, different than the first approach, is applied when the prediction mode for both of the first and second blocks is the intra BC prediction mode; and

a third approach, different than the first and second approaches, is applied when the prediction mode for both of the first and second blocks is the inter prediction mode; and

outputting, as part of a bitstream, the encoded data.

14. The computing system of claim 13 , wherein:

the first approach includes checking presence/absence of non-zero transform coefficients for the first and second blocks; and

the filtering strength value that indicates moderate filtering is assigned if either of the first and second blocks includes any non-zero transform coefficients.

15. The computing system of claim 14 , wherein the first and second blocks are transform blocks associated with one or more coding units.

16. The computing system of claim 13 , wherein:

the second approach includes checking (a) presence/absence of non-zero transform coefficients for the first and second blocks and/or (b) a value of a block vector for each of the first and second blocks; and

the filtering strength value that indicates moderate filtering is assigned if either of the first and second blocks includes any non-zero transform coefficients or if a difference between vector components of the values of the block vectors for the first and second blocks is greater than a threshold amount.

17. The computing system of claim 16 , wherein the first and second blocks are transform blocks associated with one or more coding units, and wherein the block vectors for the first and second blocks are signaled for prediction units associated with the one or more coding units.

18. The computing system of claim 13 , wherein:

the third approach 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) a value of a motion vector for each of the first and second blocks; and

the filtering strength value that indicates moderate filtering is assigned if either of the first and second blocks includes any non-zero transform coefficients, if the reference index values for the first and second blocks are different, or if a difference between vector components of the values of the motion vectors for the first and second blocks is greater than a threshold amount.

19. The computing system of claim 18 , wherein the first and second blocks are transform blocks associated with one or more coding units, and wherein the motion vectors for the first and second blocks are signaled for prediction units associated with the one or more coding units.

20. The computing system of claim 13 , wherein, according to the first approach, the second approach, and the third approach, the filtering strength value that indicates moderate filtering is assigned if either of the first and second blocks includes any non-zero transform coefficients.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2020
From: LI, BIN; XU, JIZHENG; SULLIVAN, GARY J.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 052552/0726 →
Continuity (2)
Continuation 15025128
Related Publication 20200177910A1 · Jun 4, 2020
Cited By (10)
US 12,231,667 US 12,244,823 US 12,262,045 US 12,316,860 US 12,375,711 US 12,413,771 US 12,425,612 US 12,634,458 US 12,666,049 US 12,695,895