IP Library Granted Patent US 11,979,564
Granted Patent B2
US 11,979,564 · App. 17/684,461 · Granted May 7, 2024

Adaptive filter intra prediction modes in image/video compression

Inventors: Alexander Bokov (Mountian View, CA); Hui Su (Sunnyvale, CA)
Assignee: GOOGLE LLC
H04N19/11H04N19/117H04N19/184
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,979,564
App. No.
17/684,461
Granted
May 7, 2024
Kind
B2
Abstract

Generating a prediction block for coding a block includes determining an adaptive intra-prediction mode indicative of at least a training region and a configuration of neighboring pixel locations. The training region neighbors the block and includes a plurality of reconstructed pixels. Filter coefficients are obtained. The filter coefficients are used to obtain respective prediction pixels of neighboring pixels within the training region when applied to defined respective configurations of the neighboring pixels according to the configuration of the neighboring pixels. The filter coefficients minimize a function of differences, each difference being a respective difference between a pixel in the training region and a prediction of that pixel in the training region. The prediction block is generated by recursive extrapolations that use the filter coefficients by predicting each pixel of the prediction block by applying the filter coefficients to the configuration of neighboring pixels for the pixel being predicted.

Claims (200)

1. A method for generating a prediction block for coding a block of a frame using intra prediction, the method comprising:

determining an adaptive intra-prediction mode indicative of at least a training region and a configuration of neighboring pixel locations, wherein the adaptive intra-prediction mode is one of a plurality of adaptive intra-prediction modes, S k , and wherein the training region neighbors the block and comprises a plurality of reconstructed pixels;

determining filter coefficients used to obtain respective prediction pixels of neighboring pixels within the training region when applied to defined respective configurations of the neighboring pixels according to the configuration of the neighboring pixels,

wherein the filter coefficients minimize a function of differences, each difference being a respective difference between a pixel in the training region and a prediction of that pixel in the training region; and

generating the prediction block by recursive extrapolations that use the filter coefficients by predicting each pixel of the prediction block by applying the filter coefficients to the configuration of neighboring pixels for the pixel being predicted.

2. The method of claim 1 , further comprising:

encoding, in a compressed bitstream, the adaptive intra-prediction mode.

3. The method of claim 1 , wherein determining, using the training region that neighbors the block, the filter coefficients for generating the prediction block for the block comprises:

decoding, from a compressed bitstream, the adaptive intra-prediction mode.

4. The method of claim 1 ,

where each neighboring pixel is selected from a group of neighboring pixels comprising a left neighbor, a top-left neighbor, a top neighbor, a bottom-left neighbor, and a top-right neighbor, and

wherein each filter coefficient is applied to a respective one of the one or more neighboring pixels.

5. The method of claim 4 , wherein the one or more neighboring pixels excludes both of the bottom-left neighbor and the top-right neighbor.

6. The method of claim 1 , wherein the training region comprises at least one of a first region that is above the block or a second region that is left of the block.

7. The method of claim 1 , wherein, for a first pixel in the training region, a prediction of the first pixel comprises a sum of each of the filter coefficients applied to a respective second pixel, each second pixel is a pixel in the training region that neighbors the first pixel.

8. The method of claim 1 , wherein the function of differences between each pixel in the training region and the prediction of that pixel in the training region is a function of a sum of squares of differences between each pixel in the training region and the prediction of that pixel in the training region.

9. The method of claim 1 , wherein the plurality of adaptive intra-prediction modes, S k , are selected using an offline training, from a set F of possible adaptive intra-prediction modes by solving an optimization problem given by

S

k

=

arg

min

S

P

k

(

F

)

[

b

B

min

(

(

M

SE

)

b

est_mod

e

(

b

)

,

min

f

S

(

MS

E

f

(

b

)

)

)

]

,

wherein B is a set of training blocks of varying sizes, MSE best_mode (b) is a mean-square-error that is obtained when a training block b is predicted using an optimal intra-prediction mode, MSE f (b) is a mean-square error of predicting the training block b using an adaptive intra-prediction mode f, F is a set of all possible adaptive intra-prediction modes, and P k (F) is the set of subsets of size k of F.

10. An apparatus for generating a prediction block for coding a block of a frame using intra prediction, the apparatus comprising:

a processor configured to:

determine an adaptive intra-prediction mode indicative of at least a training region and a configuration of neighboring pixel locations, wherein the adaptive intra-prediction mode is one of a plurality of adaptive intra-prediction modes, S k , and wherein the training region neighbors the block and comprises a plurality of reconstructed pixels;

determine filter coefficients used to obtain respective prediction pixels of neighboring pixels within the training region when applied to defined respective configurations of the neighboring pixels according to the configuration of the neighboring pixels,

wherein the filter coefficients minimize a function of differences, each difference being a respective difference between a pixel in the training region and a prediction of that pixel in the training region; and

generate the prediction block by recursive extrapolations that use the filter coefficients by predicting each pixel of the prediction block by applying the filter coefficients to the configuration of neighboring pixels for the pixel being predicted.

11. The apparatus of claim 10 , wherein the processor is further configured to:

encode, in a compressed bitstream, the adaptive intra-prediction mode.

12. The apparatus of claim 10 , wherein to determine, using the training region that neighbors the block, the filter coefficients for generating the prediction block for the block comprises to:

decode, from a compressed bitstream, the adaptive intra-prediction mode.

13. The apparatus of claim 12 ,

wherein each neighboring pixel is selected from a group of neighboring pixels comprising a left neighbor, a top-left neighbor, a top neighbor, a bottom-left neighbor, and a top-right neighbor, and

wherein each filter coefficient is applied to a respective one of the neighboring pixels.

14. The apparatus of claim 13 , wherein the neighboring pixels excludes both of the bottom-left neighbor and the top-right neighbor.

15. The apparatus of claim 10 , wherein the training region comprises at least one of a first region that is above the block or a second region that is left of the block.

16. The apparatus of claim 10 , wherein, for a first pixel in the training region, a prediction of the first pixel comprises a sum of each of the filter coefficients applied to a respective second pixel, each second pixel is a pixel in the training region that neighbors the first pixel.

17. The apparatus of claim 10 , wherein the function of differences between each pixel in the training region and the prediction of that pixel in the training region is a function of a sum of squares of differences between each pixel in the training region and the prediction of that pixel in the training region.

18. The apparatus of claim 10 , wherein the plurality of adaptive intra-prediction modes, S k , are selected using an offline training, from a set F of possible adaptive intra-prediction modes by solving an optimization problem given by

S

k

=

arg

min

S

P

k

(

F

)

[

b

B

min

(

MSE

b

est_mod

e

(

b

)

,

min

f

S

(

MS

E

f

(

b

)

)

)

]

,

wherein B is a set of training blocks of varying sizes, MSE best_mode (b) is a mean-square-error that is obtained when a training block b is predicted using an optimal intra-prediction mode, MSE f (b) is a mean-square error of predicting the training block b using an adaptive intra-prediction mode f, F is a set of all possible adaptive intra-prediction modes, and P k (F) is the set of subsets of size k of F.

19. A non-transitory computer-readable storage medium, comprising executable instructions that, when executed by a processor, facilitate performance of operations for coding a block of a frame using intra prediction and comprising:

determining an adaptive intra-prediction mode indicative of at least a training region and a configuration of neighboring pixel locations, wherein the adaptive intra-prediction mode is one of a plurality of adaptive intra-prediction modes, S k , and wherein the training region neighbors the block and comprises a plurality of reconstructed pixels;

determining filter coefficients used to obtain respective prediction pixels of neighboring pixels within the training region when applied to defined respective configurations of the neighboring pixels according to the configuration of the neighboring pixels,

wherein the filter coefficients minimize a function of differences, each difference being a respective difference between a pixel in the training region and a prediction of that pixel in the training region; and

generating a prediction block for the block by recursive extrapolations that use the filter coefficients by predicting each pixel of the prediction block by applying the filter coefficients to the configuration of neighboring pixels for the pixel being predicted.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the plurality of adaptive intra-prediction modes, S k , are selected using an offline training, from a set F of possible adaptive intra-prediction modes by solving an optimization problem given by

S

k

=

arg

min

S

P

k

(

F

)

[

b

B

min

(

MSE

b

est_mod

e

(

b

)

,

min

f

S

(

MS

E

f

(

b

)

)

)

]

,

wherein B is a set of training blocks of varying sizes, MSE best_mode (b) is a mean-square-error that is obtained when a training block b is predicted using an optimal intra-prediction mode,

MSE f (b) is a mean-square error of predicting the training block b using an adaptive intra-prediction mode f, F is a set of all possible adaptive intra-prediction modes, and P k (F) is the set of subsets of size k of F.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2023
From: BOKOV, ALEXANDER; SU, HUI
To: GOOGLE LLC
Reel/Frame 065664/0951 →
Continuity (3)
Continuation 16999109 · Aug 21, 2020
Continuation 16287969 · Feb 27, 2019
Related Publication 20220191479A1 · Jun 16, 2022
Cited By (2)
US 12,335,469 US 12,425,645