IP Library Granted Patent US 11,930,215
Granted Patent B2
US 11,930,215 · App. 17/448,658 · Granted Mar 12, 2024

Multiple neural network models for filtering during video coding

Inventors: Hongtao Wang (San Diego, CA); Venkata Meher Satchit Anand Kotra (Munich, DE); Jianle Chen (San Diego, CA); Marta Karczewicz (San Diego, CA); Dana Kianfar (Diemen, NL); Auke Joris Wiggers (Amsterdam, NL)
Assignee: QUALCOMM Incorporated
H04N19/70H04N19/172H04N19/192H04N19/44H04N19/80
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,930,215
App. No.
17/448,658
Granted
Mar 12, 2024
Kind
B2
Abstract

An example device for filtering decoded video data includes a memory configured to store video data; and one or more processors implemented in circuitry and configured to: decode a picture of video data; code a value for a syntax element representing a neural network model to be used to filter a portion of the decoded picture, the value representing an index into a set of pre-defined neural network models, the index corresponding to the neural network model in the set of pre-defined neural network models; and filter the portion of the decoded picture using the neural network model corresponding to the index.

Claims (60)

1. A method of filtering decoded video data, the method comprising:

decoding a picture of video data;

coding a value for a syntax element representing a plurality of neural network models to be used to filter a portion of the decoded picture, the plurality of neural network models being pre-defined neural network models; and

filtering the portion of the decoded picture using the plurality of neural network models corresponding to the value, including:

separately applying each of the plurality of neural network models represented by the value to the portion to form distinct results; and

combining each of the results to form a final filtered portion.

2. The method of claim 1 , further comprising coding a value representing a subset of the pre-defined neural network models, the neural network model being one of the subset of the pre-defined neural network models, the subset being smaller than the pre-defined neural network models.

3. The method of claim 1 , wherein coding the value for the syntax element comprises coding the value for the syntax element in one of a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), an adaptive parameter set (APS), an intra period level, a group of pictures (GOP) level, a temporal layer level in a GOP, a picture level, a slice level, a coding tree unit (CTU) level, or a grid level for a grid of the picture.

4. The method of claim 1 , further comprising partitioning the picture according to a grid, wherein the portion comprises an element of the grid of the picture.

5. The method of claim 4 , further comprising determining a number of elements of the grid.

6. The method of claim 5 , wherein the syntax element comprises a first syntax element, and wherein determining the number of elements of the grid comprises decoding a second syntax element of at least one of a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), a picture header, a slice header, an adaptation parameter set (APS), an intra period level, a group of pictures (GOP) level, a temporal layer level in the GOP, a picture level, a slice level, a coding tree unit (CTU) level, or a grid size level.

7. The method of claim 5 , wherein the syntax element comprises a first syntax element, and wherein determining the number of elements in the grid comprises decoding a value of a second syntax element representing an index into a set of possible grid sizes.

8. The method of claim 1 , further comprising determining to apply the neural network model prior to determining the neural network model.

9. The method of claim 8 , wherein the syntax element comprises a first syntax element, and wherein determining to apply the neural network model comprises decoding a value for a second syntax element indicating that the neural network model is to be applied.

10. The method of claim 9 , wherein the second syntax element is of at least one of a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), a picture header, a slice header, an adaptation parameter set (APS), an intra period level, a group of pictures (GOP) level, a temporal layer level in the GOP, a picture level, a slice level, a coding tree unit (CTU) level, or a grid size level.

11. The method of claim 1 , wherein the portion of the decoded picture comprises a portion of a color component of the decoded picture, the color component comprising one of a luminance component, a blue hue chrominance component, or a red hue chrominance components.

12. The method of claim 11 , wherein the syntax element comprises a first syntax element, the method further comprising coding a second syntax element that jointly represents filtering using the neural network model for each of the color components of the decoded picture.

13. The method of claim 1 , wherein the value for the syntax element indicates a quantization parameter (QP) for the portion of the picture.

14. The method of claim 1 , further comprising encoding the picture prior to decoding the picture, wherein coding the value for the syntax element comprises encoding the value for the syntax element.

15. The method of claim 14 , further comprising determining the neural network model according to a rate-distortion computation.

16. A device for filtering decoded video data, the device comprising:

a memory configured to store video data; and

one or more processors implemented in circuitry and configured to:

decode a picture of video data;

code a value for a syntax element representing a plurality of neural network models to be used to filter a portion of the decoded picture, the plurality of neural network models being pre-defined neural network models; and

filter the portion of the decoded picture using the neural network model corresponding to the value, wherein to filter the portion of the decoded picture, the one or more processors are configured to:

separately apply each of the plurality of neural network models represented by the value to the portion to form distinct results; and

combine each of the results to form a final filtered portion.

17. The device of claim 16 , wherein the one or more processors are further configured to code a value representing a subset of the pre-defined neural network models, the neural network model being one of the subset of the pre-defined neural network models, the subset being smaller than the pre-defined neural network models.

18. The device of claim 16 , wherein the one or more processors are configured to code the value for the syntax element in one of a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), an adaptive parameter set (APS), an intra period level, a group of pictures (GOP) level, a temporal layer level in a GOP, a picture level, a slice level, a coding tree unit (CTU) level, or a grid level for a grid of the picture.

19. The device of claim 16 , wherein the one or more processors are configured to partition the picture according to a grid, wherein the portion comprises an element of the grid of the picture.

20. The device of claim 19 , wherein the syntax element comprises a first syntax element, and wherein the one or more processors are further configured to decode a value for a second syntax element representing a number of elements of the grid, the syntax element being included in at least one of a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), a picture header, a slice header, an adaptation parameter set (APS), an intra period level, a group of pictures (GOP) level, a temporal layer level in the GOP, a picture level, a slice level, a coding tree unit (CTU) level, or a grid size level.

21. The device of claim 16 , wherein the syntax element comprises a first syntax element, and wherein the one or more processors are configured to determine to apply the neural network model prior to determining the neural network model, wherein to determine to apply the neural network model, the one or more processors are configured to decode a value for a second syntax element indicating that the neural network model is to be applied.

22. The device of claim 16 , wherein the portion of the decoded picture comprises a portion of a color component of the decoded picture, the color component comprising one of a luminance component, a blue hue chrominance component, or a red hue chrominance components.

23. The device of claim 16 , wherein the value for the syntax element comprises a quantization parameter (QP) for the portion of the picture.

24. The device of claim 16 , wherein the one or more processors are further configured to encode the picture prior to decoding the picture, and wherein to code the value for the syntax element, the one or more processors are configured to encode the value for the syntax element.

25. The device of claim 24 , wherein the one or more processors are further configured to determine the neural network model according to a rate-distortion computation.

26. The device of claim 16 , further comprising a display configured to display the decoded video data.

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

28. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause a processor to:

decode a picture of video data;

code a value for a syntax element representing a plurality of neural network models to be used to filter a portion of the decoded picture, the plurality of neural network models being pre-defined neural network models; and

filter the portion of the decoded picture using the neural network model corresponding to the value, including instructions that cause the processor to:

separately apply each of the plurality of neural network models represented by the value to the portion to form distinct results; and

combine each of the results to form a final filtered portion.

29. The non-transitory computer-readable storage medium of claim 28 , further comprising instructions that cause the processor to code a value representing a subset of the pre-defined neural network models, the neural network model being one of the subset of the pre-defined neural network models, the subset being smaller than the pre-defined neural network models.

30. The non-transitory computer-readable storage medium of claim 28 , wherein the instructions that cause the processor to code the value for the syntax element comprise instructions that cause the processor to code the value for the syntax element in one of a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), an adaptive parameter set (APS), an intra period level, a group of pictures (GOP) level, a temporal layer level in a GOP, a picture level, a slice level, a coding tree unit (CTU) level, or a grid level for a grid of the picture.

31. The non-transitory computer-readable storage medium of claim 28 , further comprising instructions that cause the processor to partition the picture according to a grid, wherein the portion comprises an element of the grid of the picture.

32. The non-transitory computer-readable storage medium of claim 31 , wherein the syntax element comprises a first syntax element, further comprising instructions that cause the processor to decode a value for a second syntax element representing a number of elements of the grid, the syntax element being included in at least one of a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), a picture header, a slice header, an adaptation parameter set (APS), an intra period level, a group of pictures (GOP) level, a temporal layer level in the GOP, a picture level, a slice level, a coding tree unit (CTU) level, or a grid size level.

33. The non-transitory computer-readable storage medium of claim 28 , wherein the syntax element comprises a first syntax element, further comprising instructions that cause the processor to determine to apply the neural network model prior to determining the neural network model, wherein the instructions that cause the processor to determine to apply the neural network model comprise instructions that cause the processor to decode a value for a second syntax element indicating that the neural network model is to be applied.

34. The non-transitory computer-readable storage medium of claim 28 , wherein the portion of the decoded picture comprises a portion of a color component of the decoded picture, the color component comprising one of a luminance component, a blue hue chrominance component, or a red hue chrominance components.

35. The non-transitory computer-readable storage medium of claim 28 , wherein the value for the syntax element comprises a quantization parameter (QP) for the portion of the picture.

36. The non-transitory computer-readable storage medium of claim 28 , further comprising instructions that cause the processor to encode the picture prior to decoding the picture, and wherein the instructions that cause the processor to code the value for the syntax element comprise instructions that cause the processor to encode the value for the syntax element.

37. The non-transitory computer-readable storage medium of claim 36 , further comprising instructions that cause the processor to determine the neural network model according to a rate-distortion computation.

38. A device for filtering decoded video data, the device comprising:

means for decoding a picture of video data;

means for coding a value for a syntax element representing a plurality of neural network models to be used to filter a portion of the decoded picture, the plurality of neural network models being pre-defined neural network models; and

means for filtering the portion of the decoded picture using the neural network model corresponding to the value, including:

means for separately applying each of the plurality of neural network models represented by the value to the portion to form distinct results; and

means for combining each of the results to form a final filtered portion.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2024
From: WANG, HONGTAO; KOTRA, VENKATA MEHER SATCHIT ANAND; CHEN, JIANLE; KARCZEWICZ, MARTA; KIANFAR, DANA; WIGGERS, AUKE JORIS
To: QUALCOMM INCORPORATED
Reel/Frame 066393/0623 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 24, 2021
From: WANG, HONGTAO; KOTRA, VENKATA MEHER SATCHIT ANAND; CHEN, JIANLE; KARCZEWICZ, MARTA; KIANFAR, DANA; WIGGERS, AUKE JORIS
To: QUALCOMM INCORPORATED
Reel/Frame 058208/0852 →
Continuity (2)
Provisional Application 63085092 · Sep 29, 2020
Related Publication 20220103864A1 · Mar 31, 2022