IP Library Granted Patent US 11,303,886
Granted Patent B2
US 11,303,886 · App. 16/942,650 · Granted Apr 12, 2022

Intra-picture prediction using non-adjacent reference lines of sample values

Inventors: Bin Li (Beijing, CN); Jizheng Xu (Beijing, CN); Jiahao Li (Beijing, CN)
Assignee: Microsoft Technology Licensing, LLC
H04N19/105H04N19/11H04N19/117H04N19/147H04N19/159H04N19/176H04N19/593H04N19/82H04N19/196
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,303,886
App. No.
16/942,650
Granted
Apr 12, 2022
Kind
B2
Abstract

Innovations in intra-picture prediction with multiple candidate reference lines available are described herein. For example, intra-picture prediction for a current block uses a non-adjacent reference line of sample values to predict the sample values of the current block. This can improve the effectiveness of the intra-picture prediction when the reference line of sample values that is adjacent the current block includes significant capture noise, significant quantization error, or significantly different values (compared to the current block) due to an occlusion. Innovations described herein include, but are not limited to, the following: intra-picture prediction with multiple candidate reference lines available; encoding/decoding of reference line indices using prediction; filtering of reference sample values; residue compensation; weighted prediction; mode-dependent padding to replace unavailable reference sample values; using in-loop-filtered reference sample values; encoder-side decisions for selecting reference lines; and post-filtering of predicted sample values.

Claims (46)

1. In a computer system that implements a video encoder, a method comprising:

receiving a picture;

encoding the picture, thereby producing encoded data, including performing intra-picture prediction for a current block of sample values in the picture, wherein an adjacent reference line of sample values and a non-adjacent reference line of sample values are available for the intra-picture prediction for the current block, and wherein the performing the intra-picture prediction for the current block includes:

selecting one of multiple candidate reference lines of sample values outside the current block, the multiple candidate reference lines including the adjacent reference line of sample values and the non-adjacent reference line of sample values;

predicting the sample values of the current block using at least some sample values of the selected reference line; and

filtering at least some of the predicted sample values of the current block, wherein the filtering uses at least some sample values outside the current block; and

outputting the encoded data as part of a bitstream.

2. The method of claim 1 , wherein the filtering includes, for a given predicted sample value of the predicted sample values of the current block:

computing one or more gradients between sample values outside the current block; and

adjusting the given predicted sample value based on the one or more gradients.

3. The method of claim 2 , wherein a given gradient, among the one or more gradients, indicates a difference between first and second sample values among the sample values outside the current block, the first sample value outside the current block being aligned by row or column with the given predicted sample value, and the second sample value outside the current block being in an adjacent reference row and adjacent reference column.

4. The method of claim 2 , wherein the filtering further includes, for each of the one or more gradients, applying a weight to the gradient, wherein the weighted gradient is used in the adjusting.

5. The method of claim 4 , wherein the weight depends on block size of the current block and/or position of the given predicted sample value in the current block.

6. The method of claim 1 , wherein the filtering includes, for a given predicted sample value of the predicted sample values of the current block:

adjusting the given predicted sample value based on multiple sample values outside the current block.

7. The method of claim 6 , wherein the filtering further includes, for each of the multiple sample values used in the adjusting, applying a weight to the sample value used in the adjusting.

8. The method of claim 7 , wherein the weight depends on block size of the current block and/or position of the given predicted sample value in the current block.

9. The method of claim 6 , wherein the multiple sample values used in the adjusting depend on block size of the current block and/or position of the given predicted sample value in the current block.

10. A computer system comprising:

a coded data buffer configured to store encoded data as part of a bitstream;

a video decoder configured to perform operations to decode the encoded data, thereby reconstructing a picture, the operations including intra-picture prediction for a current block of sample values in the picture, wherein an adjacent reference line of sample values and a non-adjacent reference line of sample values are available for the intra-picture prediction for the current block, and wherein the performing the intra-picture prediction for the current block includes:

selecting one of multiple candidate reference lines of sample values outside the current block, the multiple candidate reference lines including the adjacent reference line of sample values and the non-adjacent reference line of sample values;

predicting the sample values of the current block using at least some sample values of the selected reference line; and

filtering at least some of the predicted sample values of the current block, wherein the filtering uses at least some sample values outside the current block; and

a picture buffer configured to store the reconstructed picture for output.

11. The computer system of claim 10 , wherein the filtering includes, for a given predicted sample value of the predicted sample values of the current block:

computing one or more gradients between sample values outside the current block; and

adjusting the given predicted sample value based on the one or more gradients.

12. The computer system of claim 11 , wherein a given gradient, among the one or more gradients, indicates a difference between first and second sample values among the sample values outside the current block, the first sample value outside the current block being aligned by row or column with the given predicted sample value, and the second sample value outside the current block being in an adjacent reference row and adjacent reference column.

13. The computer system of claim 11 , wherein the filtering further includes, for each of the one or more gradients, applying a weight to the gradient, wherein the weighted gradient is used in the adjusting.

14. The computer system of claim 13 , wherein the weight depends on block size of the current block and/or position of the given predicted sample value in the current block.

15. The computer system of claim 10 , wherein the filtering includes, for a given predicted sample value of the predicted sample values of the current block:

adjusting the given predicted sample value based on multiple sample values outside the current block.

16. The computer system of claim 15 , wherein the filtering further includes, for each of the multiple sample values used in the adjusting, applying a weight to the sample value used in the adjusting.

17. The computer system of claim 16 , wherein the weight depends on block size of the current block and/or position of the given predicted sample value in the current block.

18. The computer system of claim 15 , wherein the multiple sample values used in the adjusting depend on block size of the current block and/or position of the given predicted sample value in the current block.

19. One or more computer-readable media having stored thereon encoded data in a bitstream, the encoded data being organized to facilitate processing by a video decoder with operations comprising:

decoding the encoded data, thereby reconstructing a picture, including performing intra-picture prediction for a current block of sample values in the picture, wherein an adjacent reference line of sample values and a non-adjacent reference line of sample values are available for the intra-picture prediction for the current block, and wherein the performing the intra-picture prediction for the current block includes:

selecting one of multiple candidate reference lines of sample values outside the current block, the multiple candidate reference lines including the adjacent reference line of sample values and the non-adjacent reference line of sample values;

predicting the sample values of the current block using at least some sample values of the selected reference line; and

filtering at least some of the predicted sample values of the current block, wherein the filtering uses at least some sample values outside the current block; and

storing the reconstructed picture for output.

20. The one or more computer-readable media of claim 19 , wherein the performing the intra-picture prediction for the current block further includes one or more of:

performing padding to replace one or more unavailable reference sample values in the selected reference line;

performing residue compensation; and

performing weighted prediction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2020
From: LI, BIN; XU, JIZHENG; LI, JIAHAO
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 053352/0949 →
Continuity (2)
Continuation 16099077
Related Publication 20200359018A1 · Nov 12, 2020