Dynamic client-server video tiling streaming
First Claim
1. A method for communicating content across a network using video frames, the method comprising:
- partitioning the content into a plurality of tiles, each tile including a subset of the content and index data describing a relationship between a tile and one or more adjacent tiles;
encoding the content associated with each tile in the plurality of tiles as a reference frame;
transmitting the plurality of encoded tiles to a client to allow the client to combine the plurality of encoded tiles using the index data;
responsive to a modification to the content associated with a tile, generating a difference frame, the difference frame describing the modification to the content associated with the tile in relation to the reference frame;
comparing a storage size of the difference frame to a threshold specifying a maximum storage size of the difference frame;
responsive to the storage size of the difference frame being less than the threshold, transmitting the index data of the tile whose content has been modified and the difference frame to the client, the client configured to combine the difference frame with the reference frame associated with the tile identified by the index data; and
responsive to the storage size of the difference frame being greater than the threshold,generating a replacement reference frame, the replacement reference frame including the modified content associated with the tile, andtransmitting the index data of the tile whose content has been modified and the replacement reference frame to the client to allow the client to combine the replacement reference frame with one or more of the plurality of encoded tiles using the index data.
8 Assignments
0 Petitions
Accused Products
Abstract
A system and a method for communicating video data associated with content across a network are disclosed. A server partitions the content into a plurality of tiles where each tile includes a subset of the content and index data describing a relationship between a tile and one or more adjacent tiles. Each tile is then encoded as a video frame, for example each tile is encoded according to the H.264 standard. The plurality of tiles are then transmitted to a client which combines the plurality of tiles using the index data to locally recreate the content. The client associates a predetermined viewport tile with a client viewport representing the area of the content that is visible in a client display device to allow viewing of the content while tiles not associated with the client viewport are cached to expedite subsequent retrieval.
100 Citations
15 Claims
-
1. A method for communicating content across a network using video frames, the method comprising:
-
partitioning the content into a plurality of tiles, each tile including a subset of the content and index data describing a relationship between a tile and one or more adjacent tiles; encoding the content associated with each tile in the plurality of tiles as a reference frame; transmitting the plurality of encoded tiles to a client to allow the client to combine the plurality of encoded tiles using the index data; responsive to a modification to the content associated with a tile, generating a difference frame, the difference frame describing the modification to the content associated with the tile in relation to the reference frame; comparing a storage size of the difference frame to a threshold specifying a maximum storage size of the difference frame; responsive to the storage size of the difference frame being less than the threshold, transmitting the index data of the tile whose content has been modified and the difference frame to the client, the client configured to combine the difference frame with the reference frame associated with the tile identified by the index data; and responsive to the storage size of the difference frame being greater than the threshold, generating a replacement reference frame, the replacement reference frame including the modified content associated with the tile, and transmitting the index data of the tile whose content has been modified and the replacement reference frame to the client to allow the client to combine the replacement reference frame with one or more of the plurality of encoded tiles using the index data. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A non-transitory computer-readable storage medium configured to store instructions for communicating content across a network using video frames, the instructions when executed by a processor causing the processor to:
-
partition the content into a plurality of tiles, each tile including a subset of the content and index data describing a relationship between a tile and one or more adjacent tiles; encode the content associated with each tile in the plurality of tiles as a reference frame; transmit the plurality of encoded tiles to a client to allow the client to combine the plurality of encoded tiles using the index data; responsive to a modification to the content associated with a tile, generate a difference frame, the difference frame describing the modification to the content associated with the tile in relation to the reference frame; compare a storage size of the difference frame to a threshold specifying a maximum storage size of the difference frame; responsive to the storage size of the difference frame being less than the threshold, transmit the index data of the tile whose content has been modified and the difference frame to the client, the client configured to combine the difference frame with the reference frame associated with the tile identified by the index data; and responsive to the storage size of the difference frame being greater than the threshold, generate a replacement reference frame, the replacement reference frame including the modified content associated with the tile, and transmit the index data of the tile whose content has been modified and the replacement reference frame to the client to allow the client to combine the replacement reference frame with one or more of the plurality of encoded tiles using the index data. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A system for communicating content across a network using video frames, the system comprising:
-
a processor configured to execute computer program instructions; and a non-transitory computer readable storage medium storing the computer program instructions executable by the processor, the instructions for; partitioning the content into a plurality of tiles, each tile including a subset of the content and index data describing a relationship between a tile and one or more adjacent tiles; encoding the content associated with each tile in the plurality of tiles as a reference frame; transmitting the plurality of encoded tiles to a client to allow the client to combine the plurality of encoded tiles using the index data; responsive to a modification to the content associated with a tile, generating a difference frame, the difference frame describing the modification to the content associated with the tile in relation to the reference frame; comparing a storage size of the difference frame to a threshold specifying a maximum storage size of the difference frame; responsive to the storage size of the difference frame being less than the threshold, transmitting the index data of the tile whose content has been modified and the difference frame to the client, the client configured to combine the difference frame with the reference frame associated with the tile identified by the index data; and responsive to the storage size of the difference frame being greater than the threshold; generating a replacement reference frame, the replacement reference frame including the modified content associated with the tile, and transmitting the index data of the tile whose content has been modified and the replacement reference frame to the client to allow the client to combine the replacement reference frame with one or more of the plurality of encoded tiles using the index data. - View Dependent Claims (12, 13, 14, 15)
-
Specification