System and method for remote-hosted video effects
View Patent ↗A method for remote-hosted video effects includes rendering an application frame buffer in a hosting service that is streaming interactive video. Only a portion of the application frame buffer is subsequently displayed on a local device.
1. A method for delivering video over a packetized network comprising:
subdividing, by a hosting service, video frames of a video stream into a plurality of tiles and encoding the plurality of tiles as I-tiles and P-tiles;
transmitting, by the hosting service, compressed video comprising an initial set of encoded I-tiles followed by a sequence of encoded P-tiles over a communication channel to a client device configured with a decoder for decompressing the encoded tiles, wherein each P-tile is encoded to be dependent on a previous P-tile when there is no indication of unsuccessfully received tiles, said transmitting includes sending a first tile before sending a second tile within the sequence of encoded P-tiles;
receiving, by the hosting service from the client device, an acknowledgement message that the second tile was successfully received by the client device but not receiving an acknowledgement message related to the first tile; and
responsive to receiving the acknowledgement message that the second tile was successfully received but not the acknowledgement message related to the first tile, transmitting a new set of encoded I-tiles to the client device, wherein the client device is configured with a memory device for storing a past state of the decoder and wherein the past state includes at least a state associated with a P-tile which was the last P-tile that was successfully received by the decoder.
2. The method of claim 1 , wherein a single I-tile of the new set of encoded I-tiles is transmitted at a different position within a set of successive encoded frames.
3. The method of claim 1 , wherein the new set of encoded I-tiles are individually spread across multiple encoded frames.
4. The method of claim 1 , further comprising generating a new sequence of encoded P-tiles for streaming to the client device.
5. The method of claim 2 , wherein each of said successive encoded frame includes four tiles.
6. A method for delivering video over a packetized network comprising:
subdividing, by a hosting service, video frames of a video stream into a plurality of tiles and encoding the plurality of tiles as I-tiles and P-tiles;
transmitting, by the hosting service, compressed video comprising a sequence of encoded P-tiles over a communication channel to a client device configured with a decoder for decompressing the encoded tiles, wherein each P-tile is encoded to be dependent on a previous P-tile when there is no indication of unsuccessfully received tiles, said transmitting includes sending a first tile before sending a second tile within the sequence of encoded P-tiles;
receiving, by the hosting service from the client device, an acknowledgement message that the second tile was successfully received by the client device but not receiving an acknowledgement message associated with the first tile, wherein the decoder client device is configured with a memory device for storing a past state of the decoder and wherein the past state includes at least a state associated with a P-tile which was the last P-tile that was successfully received by the decoder; and
responsive to receiving the acknowledgement message that the second tile was successfully received but not receiving the acknowledgement message associated with the first tile, encoding, by the hosting service, a next P-tile dependent upon the last P-tile that was successfully received by the decoder.
7. The method of claim 6 , further comprising storing in a memory device of the hosting service a past state of an encoder utilized to generate the encoded P-tiles.
8. The method of claim 7 , wherein the past state of the decoder includes combined data from prior P-tiles.
9. The method of claim 7 wherein the past state of the encoder comprises combined data from prior encoded P-tiles.
10. The method of claim 7 , further comprising retrieving the past state of the encoder following receipt of the acknowledgement message that the second tile was successfully received but not the acknowledgement message associated with the first tile.
11. The method of claim 10 , wherein the next P tile is generated from the past state of the encoder which includes a state associated with the last P-tile that was successfully received by the decoder.