Patent ID: 9609338
Date: 2017-03-28
CPC Classifications: H04N

Claim:
1. A system comprising: one or more computing nodes, each comprising at least one processor and memory, wherein the memory includes computer storage media storing computer readable instructions that when executed by the at least one processor perform operations comprising: generating a first encoding of a first frame of a video stream according to a first layer encoding, wherein the first frame references a second frame previous to the first frame in the video stream and the second frame is encoded according to the first layer encoding; determining that an amount of change between one or more regions of a third frame of a video stream corresponding with one or more regions of a fourth frame previous to the third frame in the video stream is greater than a threshold amount of change; determining, based at least partly on the amount of change, that the one or more regions of the third frame are suitable for a second layer encoding; generating a second encoding of the third frame according to the second layer encoding, wherein the third frame references the fourth frame and the fourth frame is encoded according to the second layer encoding; detecting, after generating the first encoding and the second encoding, changes to network conditions during transmission of additional frames of the video stream; generating, based at least partly on the changes to the network conditions, a first additional encoding for a first additional frame encoded according to the first layer encoding and referencing a second additional frame previous to the first additional frame in the video stream with the second additional frame being encoded according to the first layer encoding; and generating, based at least partly on the changes to the network conditions, a second additional encoding for a third additional frame encoded according to the second layer encoding and referencing the second additional frame, wherein the third additional frame is subsequent to the first additional frame and the second additional frame in the video stream.