IP Library Granted Patent US 11,196,992
Granted Patent B2
US 11,196,992 · App. 15/754,694 · Granted Dec 7, 2021

Method and apparatus of neural network based processing in video coding

Inventors: Yu-Wen Huang (Taipei, TW); Yu-Chen Sun (Keelung, TW); Tzu-Der Chuang (Zhubei, TW); Jian-Liang Lin (Su'ao Township, Yilan County, TW); Ching-Yeh Chen (Taipei, TW)
Assignee: MEDIATEK INC.
H04N19/117G06N3/04G06T5/001H04N19/182H04N19/50H04N19/82H04N19/86G06N3/0445G06N3/0472G06N3/08G06N3/084G06N3/088H04N19/91
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,196,992
App. No.
15/754,694
Granted
Dec 7, 2021
Kind
B2
Abstract

A method and apparatus of video coding incorporating Deep Neural Network are disclosed. A target signal is processed using DNN (Deep Neural Network), where the target signal provided to DNN input corresponds to the reconstructed residual, output from the prediction process, the reconstruction process, one or more filtering processes, or a combination of them. The output data from DNN output is provided for the encoding process or the decoding process. The DNN can be used to restore pixel values of the target signal or to predict a sign of one or more residual pixels between the target signal and an original signal. An absolute value of one or more residual pixels can be signalled in the video bitstream and used with the sign to reduce residual error of the target signal.

Claims (64)

1. A method of video decoding for a video decoder, the method comprising:

receiving a video bitstream corresponding to one or more pictures in a video sequence; and

decoding each picture using a decoding process comprising a residual decoding process to generate a reconstructed residual from the video bitstream, a prediction process to generate a prediction signal related to each picture, a reconstruction process to generate a reconstructed picture from the reconstructed residual and the prediction signal, a restoration process to generate a restored picture from the reconstructed picture, and at least one filtering process applied to the restored picture to generate a decoded picture for output,

wherein

the at least one filtering process comprises either a deblocking filtering process, or the deblocking filtering process and one or more of an SAO (Sample Adaptive Offset) filtering process and an ALF (Adaptive Loop Filter) filtering process, and

the restoration process comprises:

performing a DNN (Deep Neural Network) process to process pixel values of the reconstructed picture corresponding to target pixels of a target block and to generate output values for the target pixels of the target block, respectively; and

generating pixel values of the restored picture corresponding to the target pixels of the target block according to the generated output values.

2. The method of claim 1 , wherein the output values generated by the performing the DNN process are set as the pixel values of the restored picture corresponding to the target pixels of the target block.

3. The method of claim 1 , wherein

the restoration process further comprises receiving difference values of the target pixels of the target block from the video bitstream,

the output values generated by the performing the DNN process indicate signs for applying the difference values to the respective target pixels of the target block, and

the generating the pixel values of the restored picture corresponding to the target pixels of the target block comprises combining, according to the signs for applying the difference values, the difference values and the pixel values of the reconstructed picture corresponding to the target pixels of the target block.

4. The method of claim 1 , wherein DNN parameters for the DNN process are pre-defined for the video decoder.

5. The method of claim 4 , wherein multiple sets of DNN parameters are available for the video decoder to select.

6. The method of claim 5 , wherein selection among the multiple sets of DNN parameters is determined from the video bitstream or implicitly decided at the video decoder.

7. The method of claim 6 , wherein the selection among the multiple sets of DNN parameters is determined from the video bitstream in a sequence level, picture level, slice level, CTU (Coding Tree Unit) level or CU (Coding Unit) level.

8. The method of claim 6 , wherein the selection among the multiple sets of DNN parameters is decided at the video decoder, the selection is dependent on a slice type, quantization parameter, prediction mode, quantized coefficients, the reconstructed residual, predictors, reconstructed pixels, motion information, or any combination thereof.

9. The method of claim 1 , wherein DNN parameters for the DNN process are determined from the video bitstream.

10. The method of claim 9 , wherein the DNN parameters are determined from the video bitstream in a sequence level, picture level, slice level, CTU (Coding Tree Unit)-row level, CTU level or CU (Coding Unit) level.

11. The method of claim 1 , wherein an on/off control flag is used to indicate whether the DNN process is enabled or not.

12. The method of claim 11 , wherein the on/off control flag is determined from the video bitstream in a sequence level, picture level, slice level, CTU (Coding Tree Unit)-row level, CTU level or CU (Coding Unit) level.

13. The method of claim 1 , wherein

the one or more pictures comprise different colour components, and

the pixel values of the reconstructed picture to be processed by the DNN process correspond to the different colour components jointly or independently.

14. The method of claim 1 , wherein a bit depth for performing the DNN process is dependent on a bit depth of the target pixels.

15. The method of claim 1 , wherein

the pixel values of the reconstructed picture to be processed by the DNN process correspond to at least a luminance component of the target pixels, and

the output values correspond to a chrominance component of the target pixels.

16. An apparatus for video decoding in a video decoder, the apparatus comprising one or more electronics or processors configured to:

receive a video bitstream corresponding to one or more pictures in a video sequence; and

decode each picture using a decoding process comprising a residual decoding process to generate a reconstructed residual from the video bitstream, a prediction process to generate a prediction signal related to each picture, a reconstruction process to generate a reconstructed picture from the reconstructed residual and the prediction signal, a restoration process to generate a restored picture from the reconstructed picture, and at least one filtering process applied to the restored picture to generate a decoded picture for output,

wherein

the at least one filtering process comprises either a deblocking filtering process, or the deblocking filtering process and one or more of an SAO (Sample Adaptive Offset) filtering process and an ALF (Adaptive Loop Filter) filtering process, and

the restoration process comprises:

performing a DNN (Deep Neural Network) process to process pixel values of the reconstructed picture corresponding to target pixels of a target block and to generate output values for the target pixels of the target block, respectively; and

generating pixel values of the restored picture corresponding to the target pixels of the target block according to the generated output values.

17. A method of video encoding for a video encoder, the method comprising:

receiving input data corresponding to one or more pictures in a video sequence; and

encoding each picture using an encoding process comprising a prediction process to generate a prediction signal related to each picture, a reconstruction process to generate a reconstructed picture from a reconstructed residual and the prediction signal, a restoration process to generate a restored picture from the reconstructed picture, and at least one filtering process applied to the restored picture to generate a decoded picture for a subsequent prediction process,

wherein

the at least one filtering process comprises either a deblocking filtering process, or the deblocking filtering process and one or more of an SAO (Sample Adaptive Offset) filtering process and an ALF (Adaptive Loop Filter) filtering process, and

the restoration process comprises:

performing a DNN (Deep Neural Network) process to process pixel values of the reconstructed picture corresponding to target pixels of a target block and to generate output values for the target pixels of the target block, respectively; and

generating pixel values of the restored picture corresponding to the target pixels of the target block according to the generated output values.

18. The method of claim 17 , wherein the output values generated by the performing the DNN process are set as the pixel values of the restored picture corresponding to the target pixels of the target block.

19. The method of claim 17 , wherein

the restoration process further comprises receiving difference values of the target pixels of the target block,

the output values generated by the performing the DNN process indicate signs for applying the difference values to the respective target pixels of the target block, and

the generating the pixel values of the restored picture corresponding to the target pixels of the target block comprises combining, according to the signs for applying the difference values, the difference values and the pixel values of the reconstructed picture corresponding to the target pixels of the target block.

20. The method of claim 17 , wherein

DNN parameters for the DNN process are selected from multiple sets of DNN parameters, and

selection of the DNN parameters is signaled via a video bitstream generated by the video encoder or implicitly derived.

21. The method of claim 20 , wherein the selection of the DNN parameters is signaled via the video bitstream in a sequence level, picture level, slice level, CTU (Coding Tree Unit) level, or CU (Coding Unit) level.

22. The method of claim 20 , wherein the selection of the DNN parameters is derived based on a slice type, quantization parameter, prediction mode, quantized coefficients, the reconstructed residual, predictors, reconstructed pixels, motion information, or any combination thereof.

23. The method of claim 17 , wherein a bit depth for performing the DNN process is dependent on a bit depth of the target pixels.

24. An apparatus for video encoding in a video encoder, the apparatus comprising one or more electronics or processors configured to:

receive input data corresponding to one or more pictures in a video sequence; and

encode each picture using an encoding process comprising a prediction process to generate a prediction signal related to each picture, a reconstruction process to generate a reconstructed picture from a reconstructed residual and the prediction signal, a restoration process to generate a restored picture from the reconstructed picture, and at least one filtering process applied to the restored picture to generate a decoded picture for a subsequent prediction process,

wherein

the at least one filtering process comprises either a deblocking filtering process, or the deblocking filtering process and one or more of an SAO (Sample Adaptive Offset) filtering process and an ALF (Adaptive Loop Filter) filtering process, and

the restoration process comprises:

performing a DNN (Deep Neural Network) process to process pixel values of the reconstructed picture corresponding to target pixels of a target block and to generate output values for the target pixels of the target block, respectively; and

generating pixel values of the restored picture corresponding to the target pixels of the target block according to the generated output values.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2018
From: HUANG, YU-WEN; SUN, YU-CHEN; CHUANG, TZU-DER; LIN, JIAN-LIANG; CHEN, CHING-YEH
To: MEDIATEK INC.
Reel/Frame 045868/0312 →
Continuity (2)
Provisional Application 62214121 · Sep 3, 2015
Related Publication 20180249158A1 · Aug 30, 2018
Cited By (4)
US 12,237,846 US 12,278,957 US 12,470,700 US 12,689,748