IP Library Granted Patent US 10,848,765
Granted Patent B2
US 10,848,765 · App. 16/266,662 · Granted Nov 24, 2020

Rate/distortion/RDcost modeling with machine learning

Inventors: Urvang Joshi (Mountain View, CA); Debargha Mukherjee (Cupertino, CA); Hui Su (Sunnyvale, CA)
Assignee: GOOGLE LLC
H04N19/147H04L65/607H04N19/124H04N19/159H04N19/176H04N19/96
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 10,848,765
App. No.
16/266,662
Granted
Nov 24, 2020
Kind
B2
Abstract

A method for encoding a block of a video stream includes generating, using pixel values of the block, block features for the block; for each candidate encoding mode of candidate encoding modes, generating, using the block features and the each candidate encoding mode as inputs to a machine-learning module, a respective encoding cost; selecting, based on the respective encoding costs, a predetermined number of the candidate encoding modes; selecting, based on the respective encoding costs of the at least some encoding modes, a best mode for encoding the block; and encoding, in a compressed bitstream, the block using the best mode.

Claims (50)

1. A method for encoding a block of a video stream, comprising:

generating, using pixel values of the block, block features for the block; for each candidate encoding mode of candidate encoding modes,

generating, using the block features and the each candidate encoding mode as inputs to a neural network, a respective encoding cost, wherein the neural network is trained to output the respective encoding cost for the candidate encoding mode,

wherein the candidate encoding modes includes at least one of interprediction modes, intra-prediction modes, interpolation filter types, or transform types;

selecting, using the respective encoding costs, a predetermined number of the candidate

encoding modes corresponding to a best predetermined number of the respective encoding costs; encoding the block using the predetermined number of the candidate encoding modes to obtain a best mode for encoding the block; and

encoding, in a compressed bitstream, the block using the best mode.

2. The method of claim 1 , wherein the is trained to:

receive features of an input block to be encoded;

receive an encoding mode; and

output, without performing an encoding of the input block using the encoding mode, an encoding cost indicative of the encoding of the input block using the encoding mode.

3. The method of claim 1 , wherein the respective encoding cost comprises a rate-distortion (RD) cost value.

4. The method of claim 1 , wherein the respective encoding cost comprises a rate value and a distortion value.

5. An apparatus for encoding a block of a video stream, comprising: a memory; and

a processor, the processor configured to execute instructions stored in the memory to: generate, using pixel values of the block, block features for the block;

for each candidate encoding mode of candidate encoding modes,

generate, using the block features and the each candidate encoding mode, a respective encoding cost by instructions to:

use the block features and the each candidate encoding mode as inputs to a machine-learning model to generate the respective encoding cost, wherein the machine-learning model is trained to:

 receive features of an input block to be encoded; receive an encoding mode; and

 output, without performing an encoding of the input block using the encoding mode, an encoding cost indicative of the encoding of the input block using the encoding mode,

 wherein on a first condition that the candidate encodina modes are inter prediction modes, the each candidate encodina mode is an inter prediction mode,

 on a second condition that the candidate encoding modes are intra-prediction modes, the each candidate encoding mode is an intra-prediction mode,

 on a third condition that the candidate encodina modes are interoolation filter types, the each candidate encodina mode is an interoolation filter type, and

 on a fourth condition that the candidate encoding modes are transform types, the each candidate encoding mode is a transform type;

select, based on the respective encoding costs of the at least some encoding modes, a best mode for encoding the block; and

encode, in a compressed bitstream, the block using the best mode.

6. The apparatus of claim 5 , wherein to select, based on the respective encoding costs of the at least some encoding modes, the best mode for encoding the block comprises to:

select a subset of the candidate encoding modes, the subset corresponding to a best predetermined number of the respective encoding costs;

determine respective true encoding costs of each candidate encoding mode of the subset of the candidate encoding modes; and

select, as the best mode, a candidate encoding mode of the subset of the candidate encoding modes corresponding to a lowest true encoding cost of the true encoding costs.

7. The apparatus of claim 5 , wherein the respective encoding cost comprises a rate-distortion (RD) cost value.

8. The apparatus of claim 5 , wherein the respective encoding cost comprises a rate value and a distortion value.

9. The apparatus of claim 5 , wherein the best mode corresponds to a lowest encoding cost of the respective encoding costs.

10. An apparatus for decoding a block of a video stream, comprising: a memory; and

a processor, the processor configured to execute instructions stored in the memory to: decode, from a compressed bitstream, the block using a decoding mode that is

encoded in the compressed bitstream by an encoder,

wherein the encoder encoded the decoding mode in the compressed bitstream by instructions including instructions to:

generate, using pixel values of a source block, block features for the source block;

for each candidate encoding mode of candidate encoding modes, generate, using the block features and the each candidate

encoding mode, a respective encoding cost, wherein to generate the respective encoding cost by the encoder comprises to:

use the block features and the each candidate encoding mode as inputs to a machine-learning model to generate the respective encoding cost, wherein the machine-learning model is trained to:

 receive features of an input block to be encoded;

 receive an encoding mode; and

output, without performing an encoding of the input block using the encoding mode, an encoding cost indicative of the encoding of the input block using the encoding

mode, wherein the candidate encoding modes includes at least one of inter prediction modes, intra-prediction modes, transform types, or interolation filter types;

select, based on the respective encoding costs, a predetermined number of the candidate encoding modes;

select, based on the respective encoding costs of the at least some encoding modes, a best mode for encoding the source block; and encode, in the compressed bitstream, the source block using the best mode.

11. The apparatus of claim 10 , wherein to select, based on the respective encoding costs of the at least some encoding modes, the best mode for encoding the source block comprises to:

encode, to obtain respective real encoding costs, the block using the candidate encoding modes corresponding to a best predetermined number of the respective encoding modes; and

select, as the best mode, a candidate encoding mode corresponding to a lowest true encoding cost of the respective real encoding costs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2019
From: JOSHI, URVANG; MUKHERJEE, DEBARGHA; SU, HUI
To: GOOGLE LLC
Reel/Frame 048573/0106 →
Continuity (2)
Provisional Application 62778260 · Dec 11, 2018
Related Publication 20200186808A1 · Jun 11, 2020
Cited By (3)
US 12,225,221 US 12,356,073 US 12,489,895