Providing integration of multi-bit-rate media streams
First Claim
Patent Images
1. A method comprising:
- receiving, at a client computer system from a media provider via a communication channel, a media document comprising a portion of media and a portion of an index for the media document, the portion of the index comprising information relating to fewer than all the segments of the media document and including an insertion-media switch point and an indication for upcoming insertion media, the insertion media being located at an insertion-media provider that is different from the media provider, the indication for the upcoming insertion-media comprising;
an insertion verifier, the insertion verifier including an instruction to the client computer system to request the insertion media from the insertion-media provider and insert the insertion media if a predetermined condition has been met, and a return reference that includes instructions for returning to playing the media if the condition is not met or after the completion of playing the insertion media;
an address of the insertion-media provider; and
available encoding bit-rates for the insertion media;
determining, by the client computer system, a supportable streaming bit-rate of the communication channel while receiving the portion of media;
while playing the portion of media on an output device of the client computer system, selecting the insertion media at an encoding bit-rate of the available bit-rates that is less than or equal to the supportable streaming bit-rate of the communication channel;
requesting a portion of the insertion media from the insertion media provider at the indicated address of the insertion-media provider;
receiving, by the client computer system, an insertion-media document comprising the portion of the insertion media at the selected bit rate and an insertion-media index, the insertion-media index including an indication of other upcoming insertion media, the indication of the other upcoming insertion media comprising another insertion verifier that indicates whether the client computer system is instructed to request the other insertion media from the insertion-media provider or another insertion-media provider; and
upon determining that the predetermined condition of the insertion verifier has been met, inserting and playing the insertion media and the other insertion media at the insertion point and on the output device.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, based on multi-bit-rate streaming for inserting secondary streaming media into primary streaming media are described. In some implementations, the secondary streaming media, also referred to as insertion-media, may be advertisements. In other implementations, the secondary streaming media may be breaking news, emergency notifications or public service announcements. The systems and methods disclosed in this specification enable seamless integration of insertion-media streams with a primary media stream for providing a viewer a high-quality online video experience.
-
Citations
20 Claims
-
1. A method comprising:
-
receiving, at a client computer system from a media provider via a communication channel, a media document comprising a portion of media and a portion of an index for the media document, the portion of the index comprising information relating to fewer than all the segments of the media document and including an insertion-media switch point and an indication for upcoming insertion media, the insertion media being located at an insertion-media provider that is different from the media provider, the indication for the upcoming insertion-media comprising; an insertion verifier, the insertion verifier including an instruction to the client computer system to request the insertion media from the insertion-media provider and insert the insertion media if a predetermined condition has been met, and a return reference that includes instructions for returning to playing the media if the condition is not met or after the completion of playing the insertion media; an address of the insertion-media provider; and available encoding bit-rates for the insertion media; determining, by the client computer system, a supportable streaming bit-rate of the communication channel while receiving the portion of media; while playing the portion of media on an output device of the client computer system, selecting the insertion media at an encoding bit-rate of the available bit-rates that is less than or equal to the supportable streaming bit-rate of the communication channel; requesting a portion of the insertion media from the insertion media provider at the indicated address of the insertion-media provider; receiving, by the client computer system, an insertion-media document comprising the portion of the insertion media at the selected bit rate and an insertion-media index, the insertion-media index including an indication of other upcoming insertion media, the indication of the other upcoming insertion media comprising another insertion verifier that indicates whether the client computer system is instructed to request the other insertion media from the insertion-media provider or another insertion-media provider; and upon determining that the predetermined condition of the insertion verifier has been met, inserting and playing the insertion media and the other insertion media at the insertion point and on the output device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14)
-
-
13. A non-transitory computer-readable medium encoding instructions that, when executed by a programmable processor of a client computer system, cause the programmable processor to configure the client computer system to:
-
receive, from a media provider via a communication channel, a media document comprising a portion of media and a portion of an index for the media document, the portion of the index comprising information relating to fewer than all the segments of the media document and including an insertion-media switch point and an indication for upcoming insertion media, the insertion media being located at an insertion-media provider that is different from the media provider, the indication for the upcoming insertion-media comprising; an insertion verifier, the insertion verifier including an instruction to the client computer system to request the insertion media from the insertion-media provider and insert the insertion media if a predetermined condition has been met, and a return reference that includes instructions for returning to playing the media if the condition is not met or after the completion of playing the insertion media; an address of the insertion-media provider; and available encoding bit-rates for the insertion media; determine a supportable streaming bit-rate of the communication channel while receiving the portion of media; while playing the portion of media on an output device of the client computer system, select the insertion media at an encoding bit-rate of the available bit-rates that is less than or equal to the supportable streaming bit-rate of the communication channel; request a portion of the insertion media from the insertion media provider at the indicated address of the insertion-media provider; receive an insertion-media document comprising the portion of the insertion media at the selected bit rate and an insertion-media index, the insertion-media index including an indication of other upcoming insertion media, the indication of the other upcoming insertion media comprising another insertion verifier that indicates whether the client computer system is instructed to request the other insertion media from the insertion-media provider or another insertion-media provider; and upon determining that the predetermined condition of the insertion verifier has been met, insert and play the insertion media and the other insertion media at the insertion point and on the output device. - View Dependent Claims (15, 16)
-
-
17. A system comprising:
a server for providing media streaming, the server configured to; receive a request from a user device via a data communication network for a media document comprising a portion of media and a portion of an index for the media document, including an interleaved index; distribute, to the user device, the media document, the portion of the index comprising information relating to fewer than all the segments of the media document and including an insertion-media switch point configured to cause the user device to insert and play insertion media at the scheduled insertion-media switch point, and an indication for upcoming insertion media, the insertion media being located at an insertion-media provider that is different from the server, the indication for the upcoming insertion-media comprising; an address of the insertion-media streaming provider; available encoding bit-rates for the upcoming insertion-media; and an insertion verifier, the insertion verifier including an instruction to the user device to request the insertion media from the insertion-media provider and insert the insertion media if a predetermined condition has been met, and a return reference that is effective to cause the user device to return to outputting the portion of media distributed to the user device if the condition is not met or after the completion of playing the insertion media, the instruction being configured to cause the user device to request the selected insertion media at a bit-rate rate that is less than or equal to a supportable streaming bit-rate of the data communication network that is determined at the user device, and using the address of the insertion-media streaming provider. - View Dependent Claims (18, 19, 20)
Specification