IP Library Granted Patent US 8,559,438
Granted Patent B2
US 8,559,438 · App. 12/101,895 · Granted Oct 15, 2013

Modification of live streams

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,559,438
App. No.
12/101,895
Granted
Oct 15, 2013
Kind
B2
Abstract

Mechanisms are provided for generating and modifying live media streams. A device establishes a session and requests a media stream from a content server. The content server provides the media stream to the device. The content server also obtains an insertion stream for inclusion in the media stream. Packets are removed from the media stream to allow inclusion of the insertion stream. Timestamp information and sequence number information is maintained to allow uninterrupted delivery of the modified media stream.

Claims (35)

1. A method, comprising: receiving a request from a device at a content server, the request associated with a session and corresponding to a media stream including a plurality of packets;

identifying a plurality of media stream variants, the plurality of media stream variants encoded by the content server at varying bit rates;

selecting one of the plurality of media stream variants to be an insertion sequence, wherein the selected one of the plurality of media stream variants is selected so that the insertion sequence has the same bit rate as a removal sequence, wherein the removal sequence encodes media content for presentation as part of the media stream, wherein the selected media stream variant encodes media content for presentation in place of the removal sequence;

obtaining the insertion sequence for inclusion in the media stream, the insertion sequence having an insertion sequence start packet including key frame data, the insertion sequence also having an insertion stream end packet;

extracting the removal sequence from the media stream to allow inclusion of the insertion stream in the media stream; and

modifying sequence number information for a media stream restart packet and packets following the media stream restart packet using sequence number information from the insertion sequence end packet.

2. The method of claim 1 , wherein the insertion sequence includes a first number of packets.

3. The method of claim 2 , wherein the removal sequence includes a second number of packets different from the first number.

4. The method of claim 1 , wherein the insertion sequence is selected based at least partially on a bit rate match with the removal sequence.

5. The method of claim 4 , wherein the insertion sequence is selected based at least partially on a timestamp information match with the removal sequence.

6. The method of claim 1 , wherein the media stream is a Real-Time Transport Protocol (RTP) stream.

7. The method of claim 1 , wherein the content server is connected over a network to a controller operable to establish a session with the device using a Real-Time Streaming Protocol (RTSP).

8. The method of claim 1 , wherein the plurality of packets hold I-frames, P-frames, and B-frames.

9. The method of claim 8 , wherein the content server includes the insertion sequence without decoding payload data in the plurality of packets.

10. A system, comprising:

an interface operable to receive a request from a device at a content server, the request associated with a session and corresponding to a media stream including a plurality of packets; and

a processor operable to identify a plurality of media stream variants, the plurality of media stream variants encoded by the content server at varying bit rates,

select one of the plurality of media stream variants to be an insertion sequence, wherein the selected one of the plurality of media stream variants is selected so that the insertion sequence has the same bit rate as a removal sequence, wherein the removal sequence encodes media content for presentation as part of the media stream, wherein the selected media stream variant encodes media content for presentation in place of the removal sequence, wherein the insertion sequence is obtained for inclusion in the media stream, the insertion sequence having an insertion sequence start packet including key frame data, the insertion sequence also having an insertion stream end packet, the processor further operable to extract a removal sequence from the media stream to allow inclusion of the insertion stream in the media stream;

wherein sequence number information for a media stream restart packet and packets following the media stream restart packet are modified using sequence number information from the insertion sequence end packet.

11. The system of claim 10 , wherein the insertion sequence includes a first number of packets.

12. The system of claim 11 , wherein the removal sequence includes a second number of packets different from the first number.

13. The system of claim 10 , wherein the insertion sequence is selected based at least partially on a bit rate match with the removal sequence.

14. The system of claim 13 , wherein the insertion sequence is selected based at least partially on a timestamp information match with the removal sequence.

15. The system of claim 10 , wherein the media stream is a Real-Time Transport Protocol (RTP) stream.

16. The system of claim 10 , wherein the content server is connected over a network to a controller operable to establish a session with the device using a Real-Time Streaming Protocol (RTSP).

17. The system of claim 10 , wherein the plurality of packets hold I-frames, P-frames, and B-frames.

18. The system of claim 17 , wherein the content server includes the insertion sequence without decoding payload data in the plurality of packets.

19. An apparatus, comprising:

means for receiving a request from a device at a content server, the request associated with a session and corresponding to a media stream including a plurality of packets;

means for identifying a plurality of media stream variants, the plurality of media stream variants encoded by the content server at varying bit rates;

means for selecting one of the plurality of media stream variants to be an insertion sequence, wherein the selected one of the plurality of media stream variants is selected so that the insertion sequence has the same number of bits and the same bit rate as a removal sequence, wherein the removal sequence encodes media content for presentation as part of the media stream, wherein the selected media stream variant encodes media content for presentation in place of the removal sequence;

means for obtaining the insertion sequence for inclusion in the media stream, the insertion sequence having an insertion sequence start packet including key frame data, the insertion sequence also having an insertion stream end packet;

means for extracting the removal sequence from the media stream to allow inclusion of the insertion stream in the media stream; and

means for modifying sequence number information for a media stream restart packet and packets following the media stream restart packet using sequence number information from the insertion sequence end packet.

20. The apparatus of claim 19 , wherein the insertion sequence includes a first number of packets.

Assignments (8)
CHANGE OF NAME Recorded Mar 31, 2026
From: ADEIA MEDIA HOLDINGS LLC
To: ADEIA MEDIA HOLDINGS INC.
Reel/Frame 075303/0980 →
CHANGE OF NAME Recorded Oct 1, 2024
From: TIVO LLC
To: ADEIA MEDIA HOLDINGS LLC
Reel/Frame 069083/0325 →
CHANGE OF NAME Recorded Oct 1, 2024
From: TIVO CORPORATION
To: TIVO LLC
Reel/Frame 069083/0250 →
SECURITY INTEREST Recorded May 19, 2023
From: ADEIA GUIDES INC.; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063707/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2021
From: MOBITV, INC.; MOBITV SERVICES, INC.
To: TIVO CORPORATION
Reel/Frame 056444/0076 →
SECURITY INTEREST Recorded Aug 10, 2018
From: MOBITV, INC.
To: ALLY COMMERICAL FINANCE LLC
Reel/Frame 046761/0718 →
SECURITY INTEREST Recorded Feb 15, 2017
From: MOBITV, INC.
To: ALLY BANK
Reel/Frame 041718/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2008
From: KARLSSON, KENT; HALLMARKER, OLA; LINDEROTH, MARTIN
To: MOBITV, INC.
Reel/Frame 021484/0049 →