Video upsampling using one or more neural networks
Apparatuses, systems, and techniques to enhance video are disclosed. In at least one embodiment, one or more neural networks are used to create a higher resolution video using upsampled frames from a lower resolution video.
1. A processor comprising:
one or more circuits to generate, using one or more neural networks, a higher resolution video using upsampled frames of a lower resolution video blended with previously-inferred frames of the higher resolution video.
2. The processor of claim 1 , wherein the one or more neural networks are trained using pairs of lower and higher resolution video frames.
3. The processor of claim 1 , wherein the one or more neural networks are trained using a complex loss function comprising at least a style loss term and a temporal loss term.
4. The processor of claim 1 , wherein the one or more neural networks are trained to determine a blending factor and at least one kernel factor for blending pixel values of the upsampled frames and previously-inferred frames.
5. The processor of claim 1 , wherein the one or more circuits are to be configured to convert the upsampled frames and the previously-inferred frames to a single channel of a target color space before providing as input to the one or more neural networks, the higher resolution video being generated in a full color space.
6. The processor of claim 1 , wherein the previously-inferred frames are bicubically motion warped, and wherein the one or more circuits are to be configured to temporally anti-alias the frames of the upsampled lower resolution video being upsampled.
7. The processor of claim 1 , wherein the lower resolution video is received from a game engine, and wherein the higher resolution video is output for display to a player during gameplay of a game executing on the game engine.
8. The processor of claim 1 , wherein the one or more circuits are to generate the higher resolution video using data from the previously-inferred frames.
9. The processor of claim 1 , wherein the upsampled frames of a lower resolution video are blended with previously-inferred frames of the higher resolution video by blending pixel values of an upsampled frame with pixel values of a previously-inferred frame.
10. A system comprising:
one or more processors to be configured to generate, using one or more neural networks, a higher resolution video using upsampled frames of a lower resolution video blended with prior higher resolution frames of the higher resolution video; and
one or more memories to store the one or more neural networks.
11. The system of claim 10 , wherein the one or more neural networks are trained using pairs of lower and higher resolution video frames.
12. The system of claim 11 , wherein the one or more neural networks are trained using a complex loss function comprising at least a style loss term and a temporal loss term.
13. The system of claim 11 , wherein the one or more neural networks are trained to determine a blending factor and at least one kernel factor for blending pixel values of the upsampled frames and previously-inferred frames.
14. The system of claim 11 , wherein the one or more processors are to be configured to convert the upsampled frames and the previously-inferred frames to a single channel of a target color space before providing as input to the one or more neural networks, the higher resolution video being generated in a full color space.
15. The system of claim 10 , wherein the lower resolution video is received from a game engine, and wherein the higher resolution video is output for display to a player during gameplay of a game executing on the game engine.
16. A non-transitory machine-readable medium having stored thereon a set of instructions, which if performed by one or more processors, cause the one or more processors to at least:
generate, using one or more neural networks, a higher resolution video using upsampled frames of a lower resolution video blended with prior higher resolution frames of the higher resolution video.
17. The non-transitory machine-readable medium of claim 16 , wherein the one or more neural networks are trained using pairs of lower and higher resolution video frames.
18. The non-transitory machine-readable medium of claim 17 , wherein the one or more neural networks are trained using a complex loss function comprising at least a style loss term and a temporal loss term.
19. The non-transitory machine-readable medium of claim 17 , wherein the one or more neural networks are trained to determine a blending factor and at least one kernel factor for blending pixel values of the upsampled frames and previously-inferred frames.
20. The non-transitory machine-readable medium of claim 17 , wherein the one or more processors are to be configured to convert the upsampled frames and the previously-inferred frames to a single channel of a target color space before providing as input to the one or more neural networks, the higher resolution video being generated in a full color space.
21. The non-transitory machine-readable medium of claim 16 , wherein the lower resolution video is received from a game engine, and wherein the higher resolution video is output for display to a player during gameplay of a game executing on the game engine.
22. A processor comprising:
one or more circuits to train one or more neural networks, at least in part, to generate a higher resolution video using upsampled frames of a lower resolution video blended with prior higher resolution frames of the higher resolution video.
23. The processor of claim 22 , wherein the one or more neural networks are trained using pairs of lower and higher resolution video frames.
24. The processor of claim 23 , wherein the one or more neural networks are trained using a complex loss function comprising at least a style loss term and a temporal loss term.
25. The processor of claim 23 , wherein the one or more neural networks are trained to determine a blending factor and at least one kernel factor for blending pixel values of the upsampled frames and previously-inferred frames.
26. The processor of claim 23 , wherein the one or more circuits are to be configured to convert the upsampled frames and the previously-inferred frames to a single channel of a target color space before providing as input to the one or more neural networks, the higher resolution video being generated in a full color space.
27. The processor of claim 22 , wherein the lower resolution video is received from a game engine, and wherein the higher resolution video is output for display to a player during gameplay of a game executing on the game engine.
28. A system comprising:
one or more processors to calculate parameters corresponding to one or more neural networks, at least in part, to generate a higher resolution video using upsampled frames of a lower resolution video blended with prior higher resolution frames of the higher resolution video; and
one or more memories to store the parameters.
29. The system of claim 28 , wherein the one or more neural networks are trained using pairs of lower and higher resolution video frames.
30. The system of claim 29 , wherein the one or more neural networks are trained using a complex loss function comprising at least a style loss term and a temporal loss term.
31. The system of claim 29 , wherein the one or more neural networks are trained to determine a blending factor and at least one kernel factor for blending pixel values of the upsampled frames and previously-inferred frames.
32. The system of claim 29 , wherein the one or more processors are to be configured to convert the upsampled frames and the previously-inferred frames to a single channel of a target color space before providing as input to the one or more neural networks, the higher resolution video being generated in a full color space.
33. The system of claim 28 , wherein the lower resolution video is received from a game engine, and wherein the higher resolution video is output for display to a player during gameplay of a game executing on the game engine.
34. A non-transitory machine-readable medium having stored thereon a set of instructions, which if performed by one or more processors, cause the one or more processors to at least:
cause one or more neural networks to be trained, at least in part, to generate a higher resolution video using upsampled frames of a lower resolution video blended with prior higher resolution frames of the higher resolution video.
35. The non-transitory machine-readable medium of claim 34 , wherein the one or more neural networks are trained using pairs of lower and higher resolution video frames.
36. The non-transitory machine-readable medium of claim 35 , wherein the one or more neural networks are trained using a complex loss function comprising at least a style loss term and a temporal loss term.
37. The non-transitory machine-readable medium of claim 35 , wherein the one or more neural networks are trained to determine a blending factor and at least one kernel factor for blending pixel values of the upsampled frames and previously-inferred frames.
38. The non-transitory machine-readable medium of claim 35 , wherein the one or more processors are to be configured to convert the upsampled frames and the previously-inferred frames to a single channel of a target color space before providing as input to the one or more neural networks, the higher resolution video being generated in a full color space.
39. The non-transitory machine-readable medium of claim 34 , wherein the lower resolution video is received from a game engine, and wherein the higher resolution video is output for display to a player during gameplay of a game executing on the game engine.