IP Library Granted Patent US 10,949,717
Granted Patent B2
US 10,949,717 · App. 16/537,423 · Granted Mar 16, 2021

Generating images using neural networks

Inventors: Aaron Gerard Antonius van den Oord (London, GB); Nal Emmerich Kalchbrenner (London, GB); Karen Simonyan (London, GB)
Assignee: DeepMind Technologies Limited
G06K9/66G06K9/4652G06K9/623G06N3/04G06N3/0445G06N3/0454G06N3/08G06N3/084H04N19/50H04N19/52H04N19/172H04N19/182H04N19/186
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,949,717
App. No.
16/537,423
Granted
Mar 16, 2021
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating images using neural networks. One of the methods includes generating the output image pixel by pixel from a sequence of pixels taken from the output image, comprising, for each pixel in the output image, generating a respective score distribution over a discrete set of possible color values for each of the plurality of color channels.

Claims (46)

1. A system for generating a predicted next video frame that is a prediction of a video frame that will follow a last video frame in a temporal sequence of video frames, wherein the predicted next video frame comprises a plurality of pixels each having a respective color value for each of a plurality of color channels, wherein the pixels are ordered according to a pixel order and the color channels are ordered according to a channel order, and wherein the system comprises:

an encoder neural network implemented by one or more computers and configured to:

process each video frame in the temporal sequence to generate an encoded representation of the temporal sequence of video frames; and

a decoder neural network implemented by the one or more computers and configured to, for each color channel of each pixel in the predicted next video frame:

receive an input comprising (i) the encoded representation of the temporal sequence of video frames, (ii) color values for any pixels in the predicted next video frame before the pixel in the pixel order, and (iii) color values for the pixel for any color channels before the color channel in the channel order; and

process the input to generate an output defining a score distribution over a plurality of possible color values for the color channel of the pixel.

2. The system of claim 1 , further comprising:

a decoder subsystem configured to generate the predicted next video frame pixel by pixel according to the pixel order and the channel order by, for each color channel of each pixel,

providing as input to the decoder neural network (i) the encoded representation of the temporal sequence of video frames, (ii) color values for any pixels in the predicted next video frame before the pixel in the pixel order, and (iii) color values for the pixel for any color channels before the color channel in the channel order; and

determining the color value for the color channel of the pixel by sampling from the score distribution defined by the output of the decoder neural network.

3. The system of claim 1 , wherein the encoder neural network comprises:

a convolutional sub-neural network configured to, for each video frame in the temporal sequence, process the video frame to generate a convolved representation of the video frame that preserves a resolution of the video frame; and

a convolutional LSTM sub-neural network configured to, for each video frame in the temporal sequence, process the convolved representation to generate an encoded representation that preserves the resolution of the video frames in the temporal sequence.

4. The system of claim 3 , wherein the convolutional sub-neural network comprises a plurality of residual blocks of convolutional neural network layers.

5. The system of claim 4 , wherein the residual blocks are residual multiplicative blocks.

6. The system of claim 4 , wherein the convolutional neural network layers comprise one or more dilated convolutional neural network layers.

7. The system of claim 6 , wherein the convolutional neural network layers comprise one or more masked convolutional neural network layers.

8. The system of claim 1 , wherein the decoder neural network comprises a plurality of residual blocks of convolutional neural network layers and an output layer.

9. The system of claim 1 ,

wherein the video frames in the temporal sequence are video frames of an environment being interacted with by a robotic agent, wherein each video frame is associated with a respective action vector defining an action to be performed by the robotic agent when the environment is in the state characterized by the associated video frame, and wherein, when generating the predicted next frame, the decoder neural network is conditioned on the action vector defining an action to be performed by the robotic agent when the environment is in the state characterized by the last video frame in the temporal sequence.

10. One or more non-transitory computer-readable storage media storing instructions that when executed by one or more computers cause the one or more computers to implement a system for generating a predicted next video frame that is a prediction of a video frame that will follow a last video frame in a temporal sequence of video frames, wherein the predicted next video frame comprises a plurality of pixels each having a respective color value for each of a plurality of color channels, wherein the pixels are ordered according to a pixel order and the color channels are ordered according to a channel order, and wherein the system comprises:

an encoder neural network implemented by one or more computers and configured to:

process each video frame in the temporal sequence to generate an encoded representation of the temporal sequence of video frames; and

a decoder neural network implemented by the one or more computers and configured to, for each color channel of each pixel in the predicted next video frame:

receive an input comprising (i) the encoded representation of the temporal sequence of video frames, (ii) color values for any pixels in the predicted next video frame before the pixel in the pixel order, and (iii) color values for the pixel for any color channels before the color channel in the channel order; and

process the input to generate an output defining a score distribution over a plurality of possible color values for the color channel of the pixel.

11. A computer-implemented method of generating a predicted next video frame that is a prediction of a video frame that will follow a last video frame in a temporal sequence of video frames, wherein the predicted next video frame comprises a plurality of pixels each having a respective color value for each of a plurality of color channels, wherein the pixels are ordered according to a pixel order and the color channels are ordered according to a channel order, and wherein the method comprises:

processing the temporal sequence of video frames using an encoder neural network configured to:

process each video frame in the temporal sequence to generate an encoded representation of the temporal sequence of video frames; and

processing the encoded representation using a decoder neural network configured to, for each color channel of each pixel in the predicted next video frame:

receive an input comprising (i) the encoded representation of the temporal sequence of video frames, (ii) color values for any pixels in the predicted next video frame before the pixel in the pixel order, and (iii) color values for the pixel for any color channels before the color channel in the channel order; and

process the input to generate an output defining a score distribution over a plurality of possible color values for the color channel of the pixel.

12. The method of claim 11 , further comprising:

generating the predicted next video frame pixel by pixel according to the pixel order and the channel order by, for each color channel of each pixel,

providing as input to the decoder neural network (i) the encoded representation of the temporal sequence of video frames, (ii) color values for any pixels in the predicted next video frame before the pixel in the pixel order, and (iii) color values for the pixel for any color channels before the color channel in the channel order; and

determining the color value for the color channel of the pixel by sampling from the score distribution defined by the output of the decoder neural network.

13. The method of claim 11 , wherein the encoder neural network comprises:

a convolutional sub-neural network configured to, for each video frame in the temporal sequence, process the video frame to generate a convolved representation of the video frame that preserves a resolution of the video frame; and

a convolutional LSTM sub-neural network configured to, for each video frame in the temporal sequence, process the convolved representation to generate an encoded representation that preserves the resolution of the video frames in the temporal sequence.

14. The method of claim 13 , wherein the convolutional sub-neural network comprises a plurality of residual blocks of convolutional neural network layers.

15. The method of claim 14 , wherein the residual blocks are residual multiplicative blocks.

16. The method of claim 14 , wherein the convolutional neural network layers comprise one or more dilated convolutional neural network layers.

17. The method of claim 16 , wherein the convolutional neural network layers comprise one or more masked convolutional neural network layers.

18. The method of claim 17 , wherein the encoder neural network is conditioned on action vectors and, optionally, on state vectors characterizing states of the robotic agent.

19. The method of claim 11 , wherein the decoder neural network comprises a plurality of residual blocks of convolutional neural network layers and an output layer.

20. The method of claim 11 , wherein the video frames in the temporal sequence are video frames of an environment being interacted with by a robotic agent, wherein each video frame is associated with a respective action vector defining an action to be performed by the robotic agent when the environment is in the state characterized by the associated video frame, and wherein, when generating the predicted next frame, the decoder neural network is conditioned on the action vector defining an action to be performed by the robotic agent when the environment is in the state characterized by the last video frame in the temporal sequence.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2025
From: DEEPMIND TECHNOLOGIES LIMITED
To: GDM HOLDING LLC
Reel/Frame 071109/0414 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2019
From: VAN DEN OORD, AARON GERARD ANTONIUS; KALCHBRENNER, NAL EMMERICH; SIMONYAN, KAREN
To: GOOGLE LLC
Reel/Frame 050208/0506 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2019
From: GOOGLE LLC
To: DEEPMIND TECHNOLOGIES LIMITED
Reel/Frame 050208/0789 →