Method and apparatus for non-sequential access to an in-progress video feed
DCFirst Claim
1. A method for delivering a live feed to a client, the method comprising the steps of:
- generating tag data that indicates locations of video frame data within content data, wherein frames of data are encoded in a particular encoding order within said content data;
storing said content data at a location from which the content data is delivered to said client;
storing said tag data at a location from which the tag data may be used to provide the client non-sequential access to the content data;
before said content data has been completely generated, performing the steps ofreceiving a request for non-sequential access to said content data by said client, wherein said request for non-sequential access requests frames of data to be sent to said client in an order that differs from said particular encoding order;
constructing second content data based on said content data, said tag data and said request for non-sequential access, wherein said second content data includes frames of data from said content data that are arranged in said order that differs from said particular encoding order; and
transmitting said second content data to said client.
15 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A method and system for delivering a live feed to a client is provided. According to one aspect of the invention, content data is generated by an encoder. Tag data that indicates locations of video frame data within the content data is generated while the content data is being generated. According to one embodiment, the tag data is generated by the encoder. According to an alternative embodiment, the tag data is generated by parsing the content data. The content data is at a location from which the content data is delivered to the client. The tag data is stored at a location from which the tag data may be used to provide the client non-sequential access to the content data. Before the encoder finishes generating the content data, a request is received for non-sequential access to the content data by the client, second content data is constructed based on the content data, the tag data and the request for non-sequential access, and the second content data is sent to the client.
220 Citations
23 Claims
-
1. A method for delivering a live feed to a client, the method comprising the steps of:
-
generating tag data that indicates locations of video frame data within content data, wherein frames of data are encoded in a particular encoding order within said content data; storing said content data at a location from which the content data is delivered to said client; storing said tag data at a location from which the tag data may be used to provide the client non-sequential access to the content data; before said content data has been completely generated, performing the steps of receiving a request for non-sequential access to said content data by said client, wherein said request for non-sequential access requests frames of data to be sent to said client in an order that differs from said particular encoding order; constructing second content data based on said content data, said tag data and said request for non-sequential access, wherein said second content data includes frames of data from said content data that are arranged in said order that differs from said particular encoding order; and transmitting said second content data to said client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-readable medium carrying sequences of instructions for delivering a live feed to a client, the sequences of instructions including sequences of instructions for causing one or more processors to perform the steps of:
-
generating tag data that indicates locations of video frame data within content data, wherein frames of data are encoded in a particular encoding order within said content data; storing said content data at a location from which the content data is delivered to said client; storing said tag data at a location from which the tag data may be used to provide the client non-sequential access to the content data; before said content data has been completely generated, performing the steps of receiving a request for non-sequential access to said content data by said client, wherein said request for non-sequential access requests frames of data to be sent to said client in an order that differs from said particular encoding order; constructing second content data based on said content data, said tag data and said request for non-sequential access, wherein said second content data includes frames of data from said content data that are arranged in said order that differs from said particular encoding order; and transmitting said second content data to said client. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A video delivery system comprising:
-
a mechanism for generating tag data that indicates locations of video frame data within content data, wherein frames of data are encoded in a particular encoding order within said content data; a video server configured to store said content data at a location from which the content data is delivered to a client; a storage system that stores said tag data, the storage system storing the tag data at a particular location so that the tag data may be used to provide the client non-sequential access to the content data; a video delivery subsystem configured to perform the following actions before said content data has been completely generated; receiving a request for non-sequential access to said content data by said client, wherein said request for non-sequential access requests frames of data to be sent to said client in an order that differs from said particular encoding order; constructing second content data based on said content data, said tag data and said request for non-sequential access, wherein said second content data includes frames of data from said content data that are arranged in said order that differs from said particular encoding order; and transmitting said second content data to said client. - View Dependent Claims (19, 20, 21, 22, 23)
-
Specification