IP Library › Granted Patent US 11,647,212
Granted Patent B2
US 11,647,212 · App. 17/489,459 · Granted May 9, 2023

Activation function design in neural network-based filtering process for video coding

Inventors: Hongtao Wang (San Diego, CA); Jianle Chen (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/436G06N3/04H04N19/117H04N19/176H04N19/184H04N19/70H04N19/82
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,647,212
App. No.
17/489,459
Granted
May 9, 2023
Kind
B2
Abstract

A method of coding video data, the method comprising: reconstructing a block of the video data; and applying a Convolutional Neural Network (CNN)-based filter to the reconstructed block, wherein the CNN-based filter uses a LeakyReLU activation function.

Claims (234)

1. A method of encoding video data, the method comprising:

reconstructing a block of the video data;

determining a plurality of values of an Alpha parameter;

applying a Convolutional Neural Network (CNN)-based filter to the reconstructed block, wherein:

the CNN-based filter uses a Leaky Rectified Linear Unit (LeakyReLU) activation function,

the LeakyReLU activation function is defined as:

f

⁡

(

y

)

=

{

Alpha

*

y

,

y

<

0

y

,

y

≥

0

y is an output value of a convolutional layer of a CNN of the CNN-based filter,

the CNN includes a plurality of convolutional layers, and

applying the CNN-based filter to the reconstructed block comprises using different values of the Alpha parameter from the plurality of values of the Alpha parameter in two or more different convolutional layers of the plurality of convolutional layers; and

encoding, in a bitstream that comprises an encoded representation of the video data, one or more syntax elements that provide information for deriving the plurality of values of the Alpha parameter at a video decoder.

2. The method of claim 1 , wherein the one or more syntax elements directly specify the values of the Alpha parameter.

3. The method of claim 1 , wherein the one or more syntax elements specify indexes corresponding to the values of the Alpha parameter within a predefined set of indices.

4. A device for encoding video data, the device comprising:

a memory to store the video data; and

one or more processors implemented in circuitry, the one or more processors configured to:

reconstruct a block of the video data;

determine a plurality of values of an Alpha parameter;

apply a Convolutional Neural Network (CNN)-based filter to the reconstructed block, wherein:

the CNN-based filter uses a Leaky Rectified Linear Unit (LeakyReLU) activation function,

the LeakyReLU activation function is defined as:

f

⁡

(

y

)

=

{

Alpha

⋆

y

,

y

<

0

y

,

y

≥

0

y is an output value of a convolutional layer of a CNN of the CNN-based filter,

the CNN includes a plurality of convolutional layers, and

the one or more processors are configured to, as part of applying the CNN-based filter to the reconstructed block, use different values of the Alpha parameter from the plurality of values of the Alpha parameter in two or more different convolutional layers of the plurality of convolutional layers; and

encode, in a bitstream that comprises an encoded representation of the video data, one or more syntax elements that provide information for deriving the plurality of values of the Alpha parameter at a video decoder.

5. The device of claim 4 , wherein the device comprises one or more of a camera, a computer, a mobile device, a broadcast receiver device, or a set-top box.

6. The device of claim 4 , wherein the device comprises a video encoder.

7. A device for encoding video data, the device comprising:

means for reconstructing a block of the video data;

means for determining a plurality of values of an Alpha parameter;

means for applying a Convolutional Neural Network (CNN)-based filter to the reconstructed block, wherein:

the CNN-based filter uses a Leaky Rectified Linear Unit (LeakyReLU) activation function,

the LeakyReLU activation function is defined as:

f

⁡

(

y

)

=

{

Alpha

⋆

y

,

y

<

0

y

,

y

≥

0

y is an output value of a convolutional layer of a CNN of the CNN-based filter,

the CNN including a plurality of convolutional layers, and

applying the CNN-based filter to the reconstructed block comprises using different values of the Alpha parameter from the plurality of values of the Alpha parameter in two or more different convolutional layers of the plurality of convolutional layers; and

means for encoding, in a bitstream that comprises an encoded representation of the video data, one or more syntax elements that provide information for deriving the plurality of values of the Alpha parameter at a video decoder.

8. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause one or more processors to:

reconstruct a block of video data;

determine a plurality of values of an Alpha parameter;

apply a Convolutional Neural Network (CNN)-based filter to the reconstructed block, wherein:

the CNN-based filter uses a Leaky Rectified Linear Unit (LeakyReLU) activation function,

the LeakyReLU activation function is defined as:

f

⁡

(

y

)

=

{

Alpha

⋆

y

,

y

<

0

y

,

y

≥

0

y is an output value of a convolutional layer of a CNN of the CNN-based filter,

the CNN including a plurality of convolutional layers, and

applying the CNN-based filter to the reconstructed block comprises using different values of the Alpha parameter from the plurality of values of the Alpha parameter in two or more different convolutional layers of the plurality of convolutional layers; and

encode, in a bitstream that comprises an encoded representation of the video data, one or more syntax elements that provide information for deriving the plurality of values of the Alpha parameter at a video decoder.

9. A method of decoding video data, the method comprising:

reconstructing a block of the video data; and

determining a value of an Alpha parameter based on one or more syntax elements signaled in a bitstream that comprises an encoded representation of the video data; and

applying a Convolutional Neural Network (CNN)-based filter to the reconstructed block, wherein the CNN-based filter uses a Leaky Rectified Linear Unit (LeakyReLU) activation function, wherein the LeakyReLU activation function is defined as:

f

⁡

(

y

)

=

{

Alpha

⋆

y

,

y

<

0

y

,

y

≥

0

where y is an output value of a convolutional layer of a CNN of the CNN-based filter and the Alpha parameter is a fixed parameter.

10. The method of claim 9 , wherein the value of the Alpha parameter is signaled in the bitstream.

11. The method of claim 9 ,

wherein an index of the Alpha parameter within a predefined set is signaled in the bitstream, and

wherein determining the value of the Alpha parameter comprises determining the value of the Alpha parameter in the predefined set to which the index of the Alpha parameter corresponds.

12. A device for decoding video data, the device comprising:

a memory to store the video data; and

one or more processors implemented in circuitry, the one or more processors configured to:

reconstruct a block of the video data; and

determine a value of an Alpha parameter based on one or more syntax elements signaled in a bitstream that comprises an encoded representation of the video data; and

apply a Convolutional Neural Network (CNN)-based filter to the reconstructed block, wherein the CNN-based filter uses a Leaky Rectified Linear Unit (LeakyReLU) activation function, wherein the LeakyReLU activation function is defined as:

f

⁡

(

y

)

=

{

Alpha

⋆

y

,

y

<

0

y

,

y

≥

0

where y is an output value of a convolutional layer of a CNN of the CNN-based filter and the Alpha parameter is a fixed parameter.

13. The device of claim 12 , wherein the value of the Alpha parameter is signaled in the bitstream.

14. The device of claim 12 ,

wherein an index corresponding to the value of the Alpha parameter within a predefined set of indices is signaled in the bitstream, and

wherein determining the value of the Alpha parameter comprises determining the value of the Alpha parameter in the predefined set to which the index of the Alpha parameter corresponds.

15. A method of encoding video data, the method comprising:

reconstructing a block of the video data; and

determining a single value of an Alpha parameter;

applying a Convolutional Neural Network (CNN)-based filter to the reconstructed block, wherein the CNN-based filter uses a Leaky Rectified Linear Unit (LeakyReLU) activation function, wherein the LeakyReLU activation function is defined as:

f

⁡

(

y

)

=

{

Alpha

⋆

y

,

y

<

0

y

,

y

≥

0

where y is an output value of a convolutional layer of a CNN of the CNN-based filter and the Alpha parameter is a fixed parameter; and

encoding, in a bitstream that comprises an encoded representation of the video data, one or more syntax elements that provide information for deriving the value of the Alpha parameter at a video decoder.

16. The method of claim 15 , wherein the one or more syntax elements directly specify the value of the Alpha parameter.

17. The method of claim 15 , wherein the one or more syntax elements specify an index corresponding to the value of the Alpha parameter within a predefined set of indices.

18. A device for encoding video data, the device comprising:

a memory to store the video data; and

one or more processors implemented in circuitry, the one or more processors configured to:

reconstruct a block of the video data; and

determine a single value of an Alpha parameter;

apply a Convolutional Neural Network (CNN)-based filter to the reconstructed block, wherein the CNN-based filter uses a Leaky Rectified Linear Unit (LeakyReLU) activation function, wherein the LeakyReLU activation function is defined as:

f

⁡

(

y

)

=

{

Alpha

⋆

y

,

y

<

0

y

,

y

≥

0

where y is an output value of a convolutional layer of a CNN of the CNN-based filter and the Alpha parameter is a fixed parameter; and

encode, in a bitstream that comprises an encoded representation of the video data, one or more syntax elements that provide information for deriving the value of the Alpha parameter at a video decoder.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2021
From: WANG, HONGTAO; CHEN, JIANLE; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 058182/0038 →
Continuity (2)
Provisional Application 63085936 · Sep 30, 2020
Related Publication 20220103845A1 · Mar 31, 2022