US 12,010,360 B1
Techniques for recreating outputting of content
Micheal Anthony Larkin, Pasadena, CA (US); Mustafa Hakim, Tustin, CA (US); Doyle Albert Martin, Rescue, CA (US); Brian Fisher, Lake Forest, CA (US); Mickey Ottis Williams, Fallbrook, CA (US); and Chris Predeek, Silverton, OR (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Feb. 8, 2021, as Appl. No. 17/169,964.
Int. Cl. H04N 21/231 (2011.01); H04L 65/70 (2022.01); H04N 21/235 (2011.01); H04N 21/239 (2011.01); H04N 21/44 (2011.01)
CPC H04N 21/231 (2013.01) [H04L 65/70 (2022.05); H04N 21/235 (2013.01); H04N 21/239 (2013.01); H04N 21/44 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A system comprising:
one or more processors; and
one or more computer-readable media storing instructions that, when executed by the one or more processors, cause the system to perform operations comprising:
processing source video data representing a current state of a network game;
encoding the source video data in order to generate encoded video data, the encoded video data representing the current state of the network game and at least a first encoded frame of the source video data and a second encoded frame of the source video data;
storing the encoded video data in one or more databases;
sending, to an electronic device, a copy of the encoded video data for outputting by the electronic device;
receiving, from the electronic device, event data associated with the electronic device:
receiving the copy of the encoded video data,
decoding the copy of the encoded video data, or
rendering the copy of the encoded video data, the event data representing at least:
a first time that the first encoded frame was decoded in order to generate a first decoded frame;
a second time that the first decoded frame was rendered by the electronic device;
a first indication that the electronic device did not decode the second encoded frame to generate a second decoded frame; or
a second indication that the electronic device did not render the second decoded frame;
storing, in the one or more databases, the event data in association with the encoded video data;
processing, by the system and based at least in part on the event data, the encoded video data in order to generate decoded video data representing the rendering of the current state of the network game, by the electronic device, the processing comprising:
decoding, at a third time that is based at least in part on the first time, the first encoded frame in order to generate a third decoded frame similar to the first decoded frame;
causing rendering, at a fourth time that is based at least in part on the second time, of the third decoded frame;
refraining from decoding, based at least in part on the first indication that the electronic device did not decode the second encoded frame, the second encoded frame in order to generate a fourth decoded frame; and
refraining from rendering, based at least in part on the second indication that the electronic device did not render the third decoded frame, the fourth decoded frame; and
causing a display to present content represented by the decoded video data such that the system recreates the rendering of the current state of the network game similarly as the electronic device rendered the current state of the network game.