IP Library › Granted Patent US 12,225,221
Granted Patent B2
US 12,225,221 · App. 17/779,380 · Granted Feb 11, 2025

Ultra light models and decision fusion for fast video coding

Inventors: Shan Li (Fremont, CA); Claudionor Coelho (Redwood City, CA); In Suk Chong (Mountain View, CA); Aki Kuusela (Palo Alto, CA)
Assignee: GOOGLE LLC
H04N19/436H04N19/11H04N19/124H04N19/149H04N19/159H04N19/176H04N19/593
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 12,225,221
App. No.
17/779,380
Granted
Feb 11, 2025
Kind
B2
Abstract

Ultra light models and decision fusion for increasing the speed of intra-prediction are described. Using a machine-learning (ML) model, an ML intra-prediction mode is obtained. A most-probable intra-prediction mode is obtained from amongst available intra-prediction modes for encoding the current block. As an encoding intra-prediction mode, one of the ML intra-prediction mode or the most-probable intra-prediction mode is selected, and the encoding intra-prediction mode is encoded in a compressed bitstream. A current block is encoded using the encoding intra-prediction mode. Selection of the encoding intra-prediction mode is based on relative reliabilities of the ML intra-prediction mode and the most-probable intra-prediction mode.

Claims (59)

1. A method for encoding a current block of video using intra-prediction, comprising:

obtaining, using a machine-learning (ML) model, an ML intra-prediction mode;

obtaining a most-probable intra-prediction mode from amongst available intra-prediction modes for encoding the current block;

selecting, as an encoding intra-prediction mode, one of the ML intra-prediction mode or the most-probable intra-prediction mode, wherein the selecting is based on relative reliabilities of the ML intra-prediction mode and the most-probable intra-prediction mode, wherein the relative reliabilities are values of a decision matrix generated during training of the ML model;

encoding, in a compressed bitstream, the encoding intra-prediction mode; and

encoding the current block using the encoding intra-prediction mode.

2. The method of claim 1 , wherein the one of the ML intra-prediction mode or the most-probable intra-prediction mode is more reliable than the other of the one of the ML intra-prediction mode or the most-probable intra-prediction mode in case where the one of the ML intra-prediction mode or the most-probable intra-prediction mode provides the best rate-distortion performance.

3. The method of claim 1 , wherein, in a training phase, the ML model is trained using input data to output the ML intra-prediction mode for the current block, and an input datum of the input data comprises an input block of video and a corresponding ground-truth intra-prediction mode for encoding the input block of video.

4. The method of claim 3 , wherein selecting, as the encoding intra-prediction mode, one of the ML intra-prediction mode or the most-probable intra-prediction mode comprises:

using the decision matrix to select the encoding intra-prediction mode, wherein:

the decision matrix is generated during the training phase using statistics that compare respective performances of the ML model and an encoder selecting most-probable intra-prediction modes as compared to ground-truth intra prediction modes, and

the decision matrix indicating whether the ML intra-prediction mode or the most-probable intra-prediction mode is to be selected as the encoding intra-prediction mode.

5. The method of claim 1 , wherein obtaining, using the ML model, the ML intra-prediction mode comprises:

using at least one of a mean of the current block or a variance of the current block as input to the ML model.

6. The method of claim 1 , wherein obtaining, using the ML model, the ML intra-prediction mode comprises:

applying a kernel to the current block to obtain a convolution block;

obtaining a scalar from the convolution block; and

using the scalar as an input to the ML model.

7. The method of claim 6 , wherein the kernel is a Sobel filter corresponding to a direction associated with an available intra-prediction mode of the available intra-prediction modes, and the scalar is a sum of absolute values of the convolution block resulting from applying the Sobel filter.

8. The method of claim 6 , wherein the kernel is applied to the current block using one or more convolution layers that are trained during a training phase.

9. The method of claim 1 , wherein obtaining, using the ML model, the ML intra-prediction mode comprises using a non-linear function of a quantization parameter as an input to the ML model.

10. The method of claim 1 , wherein obtaining, using the ML model, the ML intra-prediction mode comprises:

calculating, for multiple modes of the available intra-prediction modes, respective prediction blocks;

calculating respective errors between the respective prediction blocks and the current block; and

using the respective errors as inputs to the ML model.

11. The method of claim 1 , wherein selecting, as the encoding intra-prediction mode, one of the ML intra-prediction mode or the most-probable intra-prediction mode comprises:

calculating a first cost associated with the ML intra-prediction mode;

selecting the ML intra-prediction mode as the encoding intra-prediction mode; and

reducing the first cost to a second cost.

12. A method for encoding a current block of video using intra-prediction, comprising:

obtaining pre-calculated features, wherein the pre-calculated features comprise at least three of:

a non-linear function of a quantization parameter;

respective errors between the current block and respective prediction blocks, wherein each prediction block corresponds to an available intra-prediction mode;

a mean of the current block;

a variance of the current block; or

a sum-of-absolute values of a convolution block, the convolution block obtained from the current block;

obtaining, using a machine-learning (ML) model, an ML intra-prediction mode, wherein the ML model receives the pre-calculated features as inputs;

selecting an encoding intra-prediction mode using at least the ML intra-prediction mode, wherein selecting the encoding intra-prediction mode using at least the ML intra-prediction mode comprises:

obtaining a most-probable intra-prediction mode from amongst available intra-prediction modes for encoding the current block; and

using a decision matrix to select the encoding intra-prediction mode, wherein the encoding intra-prediction mode is one of the ML intra-prediction mode or the most-probable intra-prediction mode;

encoding, in a compressed bitstream, the encoding intra-prediction mode; and

encoding the current block using the encoding intra-prediction mode.

13. The method of claim 12 , wherein the pre-calculated features comprise the non-linear function of the quantization parameter, the respective errors between the current block and respective prediction blocks, the mean of the current block, the variance of the current block, and the sum-of absolute values of the convolution block.

14. The method of claim 12 , wherein:

the decision matrix is generated during a training phase using statistics that compare respective performances of the ML model and an encoder selecting most-probable intra-prediction modes as compared to ground-truth intra prediction modes, and

the decision matrix indicating whether the ML intra-prediction mode or the most-probable intra-prediction mode is to be selected as the encoding intra-prediction mode.

15. The method of claim 12 , wherein, in a training phase, the ML model is trained using input data to output the ML intra-prediction mode for the current block, wherein an input datum of the input data comprises an input block of video and a best intra-prediction mode for encoding the input block of video.

16. The method of claim 12 , wherein calculating the sum-of-absolute values of the convolution block obtained from the current block comprises applying a Sobel filter to the current block to obtain the convolution block.

17. The method of claim 12 , wherein calculating the sum-of-absolute values of the convolution block obtained from the current block comprises obtaining the convolution block using convolutional operations.

18. An apparatus for encoding a current block of video using intra-prediction, wherein the apparatus:

obtains, using a machine-learning (ML) model, ML intra-prediction modes;

obtains most-probable intra-prediction modes from amongst available intra-prediction modes for encoding the current block;

selects, as an encoding intra-prediction mode, one of the ML intra-prediction modes or one of the most-probable intra-prediction modes, wherein the selecting is based on relative reliabilities of the ML intra-prediction mode and the most-probable intra-prediction mode, wherein the relative reliabilities are values of a decision matrix generated during training of the ML model;

encodes, in a compressed bitstream, the encoding intra-prediction mode; and

encodes the current block using the encoding intra-prediction mode.

19. The apparatus of claim 18 , wherein:

the apparatus selects, as the encoding intra-prediction mode, one of the ML intra-prediction modes or one of the most-probable intra-prediction mode using a decision matrix,

the decision matrix is generated during a training phase of the ML model using statistics that compare respective performances of the ML model and an encoder selecting most-probable intra-prediction modes as compared to ground-truth intra prediction modes, and

the decision matrix indicates whether an ML intra-prediction mode or a most-probable intra-prediction mode is to be selected as the encoding intra-prediction mode.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2022
From: LI, SHAN; COELHO, CLAUDIONOR; CHONG, IN SUK; KUUSELA, AKI
To: GOOGLE LLC
Reel/Frame 060062/0724 →
Continuity (2)
Provisional Application 62940272 · Nov 26, 2019
Related Publication 20230007284A1 · Jan 5, 2023
References Cited (38)
US 10499081B1 · Wang · 2019 [cited by examiner]
US 10848765B2 · Joshi · 2020 [cited by examiner]
US 20080205515A1 · Kalva et al. · 2008 [cited by applicant]
US 20120082220A1 · Mazurenko · 2012 [cited by examiner]
US 20160014421A1 · Cote et al. · 2016 [cited by applicant]
US 20180184123A1 · Terada · 2018 [cited by examiner]
US 20180227585A1 · Wang · 2018 [cited by examiner]
US 20190045195A1 · Gokhale et al. · 2019 [cited by applicant]
US 20190075301A1 · Chou · 2019 [cited by examiner]
US 20200092552A1 · Coelho · 2020 [cited by examiner]
US 20200186808A1 · Joshi · 2020 [cited by examiner]
US 20200186809A1 · Mukherjee · 2020 [cited by examiner]
US 20200236349A1 · Zhai · 2020 [cited by examiner]
US 20200252654A1 · Su · 2020 [cited by examiner]
US 20200280717A1 · Li · 2020 [cited by examiner]
US 20210014531A1 · Pfaff · 2021 [cited by examiner]
US 20210103793A1 · Huang · 2021 [cited by examiner]
US 20210214558A1 · Choi · 2021 [cited by examiner]
US 20210218997A1 · Rezazadegan Tavakoli · 2021 [cited by examiner]
US 20210235085A1 · Chen · 2021 [cited by examiner]
US 20220007045A1 · Yang · 2022 [cited by examiner]
US 20220141455A1 · Cricri · 2022 [cited by examiner]
US 20220201316A1 · Coelho · 2022 [cited by examiner]
US 20220295116A1 · Ma · 2022 [cited by examiner]
US 20220351422A1 · Li · 2022 [cited by examiner]
US 20220377342A1 · Santamaria Gomez · 2022 [cited by examiner]
US 20220398455A1 · Dumas · 2022 [cited by examiner]
US 20230393960A1 · Yadagiri · 2023 [cited by examiner]
CN 109842799A · 2019 [cited by applicant]
Yuan et al. “Edge Information Based Effective Intra Mode Decision Algorithm”, 2012 IEEE. [cited by examiner]
International Search Report and Written Opinion of International Application No. PCT/US2019/068279 dated Nov. 27, 2020, 27 pgs. [cited by applicant]
Fanyi Duanmu et al., “Fast Mode and Partition Decision Using Machine Learning for Intra-Frame Coding in HEVC Screen Content Coding Extension”, IEEE Journal of Emerging and Selected Topics in Circuits and Systems, IEEE, … [cited by applicant]
J. Pfaff et al., “Neural network based intra prediction for video coding”, Proceedings of SPIE, vol. 10752, Sep. 17, 2018, p. 1075213-1 to 1075213-7. [cited by applicant]
R. Jillianu et al., “Low Complexity Intra MB Encoding in AVC/H.264”, IEEE Transactions on Consumer Electronics, IEEE Service Center, New York, NY, US, vol. 55 , No. 1, Feb. 1, 2009, pp. 277-285. [cited by applicant]
Junaid Tariq et al., “Adaptive stopping strategies for fast intra mode decision in HEVC”, Journal of Visual Communication and Image Representation, Academic Press, Inc., US, vol. 51, Dec. 20, 2017, pp. 1-13. [cited by applicant]
Thorsten Laude et al., “Deep learning-based intra prediction mode decision for HEVC”, 2016 Picture Coding Symposium (PCS), IEEE, Dec. 4, 2016, 5 pgs. [cited by applicant]
Yule Yuan et al., “Edge information based effective intra mode decision algorithm”, 2012 IEEE International Conference on Signal Processing, Communication and Computing (ICSPCC), Aug. 12, 2012, pp. 628-633. [cited by applicant]
Linwei Zhu et al., “Binary and Multi-Class Learning Based Low Complexity Optimization for HEVC Encoding”, IEEE Transactions on Broadcasting, vol. 63, No. 3, Sep. 2017, pp. 547-561. [cited by applicant]