IP Library Granted Patent US 9,031,078
Granted Patent B2
US 9,031,078 · App. 14/454,569 · Granted May 12, 2015

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 9,031,078
App. No.
14/454,569
Granted
May 12, 2015
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 (38)

1. A method, comprising:

selecting, via a processor, one of a plurality of media stream variants to be an insertion segment for insertion into a media stream that includes a plurality of portions, wherein the insertion segment includes an insertion stream start portion and an insertion stream end portion, wherein the insertion segment encodes media content for presentation in place of a removal segment, wherein the removal segment encodes media content for presentation as part of the media stream;

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

modifying first order data information for one or more portions of the media stream using second order data information from the insertion segment.

2. The method recited in claim 1 , wherein the insertion segment is selected so that the insertion segment has the same bit rate as the removal segment.

3. The method recited in claim 1 , wherein the insertion segment includes a first amount of data and the removal segment includes a second amount of data, the first amount of data being different from the second amount of data.

4. The method recited in claim 1 , wherein the insertion segment is selected based at least partially on a timestamp information match with the removal segment.

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

6. The method recited in claim 1 , the method further comprising:

communicating via a network with a controller operable to establish a session with a device using a Real-Time Streaming Protocol (RTSP); and

transmitting the media stream to the device via the established session.

7. The method recited in claim 6 , the method further comprising:

receiving a media stream content request from the device, the request associated with the session and corresponding to the media stream.

8. The method recited in claim 1 , wherein the plurality of portions include I-frames, P-frames, and B-frames.

9. The method recited in claim 8 , wherein the insertion segment is included in the media stream without decoding payload data in the plurality of portions.

10. A system comprising:

a storage system configured to store a plurality of media stream variants;

a processor configured to:

select one of the media stream variants to be an insertion segment for insertion into a media stream that includes a plurality of portions, wherein the insertion segment includes an insertion stream start portion and an insertion stream end portion, wherein the insertion segment encodes media content for presentation in place of a removal segment, wherein the removal segment encodes media content for presentation as part of the media stream,

extract the removal segment from the media stream to allow inclusion of the insertion segment in the media stream, and

modify first order data information for one or more portions of the media stream using second order data information from the insertion segment;

a communications interface operable to transmit the modified media stream to a client machine via a network.

11. The system recited in claim 10 , wherein the insertion segment is selected so that the insertion segment has the same bit rate as the removal segment.

12. The system recited in claim 10 , wherein the insertion segment includes a first amount of data and the removal segment includes a second amount of data, the first amount of data being different from the second amount of data.

13. The system recited in claim 10 , wherein the insertion segment is selected based at least partially on a timestamp information match with the removal segment.

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

15. The system recited in claim 10 , wherein the processor is further configured to:

communicate with a controller operable to establish a session with a device using a Real-Time Streaming Protocol (RTSP) via the network; and

transmit the media stream to the device via the established session.

16. The system recited in claim 15 , wherein the processor is further configured to:

receive a media stream content request from the device, the request associated with the session and corresponding to the media stream.

17. The system recited in claim 10 , wherein the plurality of portions include I-frames, P-frames, and B-frames.

18. The system recited in claim 17 , wherein the insertion segment is included in the media stream without decoding payload data in the plurality of portions.

19. One or more non-transitory computer readable media having instructions stored thereon for performing a method, the method comprising:

selecting, via a processor, one of a plurality of media stream variants to be an insertion segment for insertion into a media stream that includes a plurality of portions, wherein the insertion segment includes an insertion stream start portion and an insertion stream end portion, wherein the insertion segment encodes media content for presentation in place of a removal segment, wherein the removal segment encodes media content for presentation as part of the media stream;

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

modifying first order data information for one or more portions of the media stream using second order data information from the insertion segment.

20. The one or more non-transitory computer readable media recited in claim 19 , wherein the insertion segment is selected so that the insertion segment has the same bit rate as the removal segment.

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 Oct 13, 2014
From: KARLSSON, KENT; HALLMARKER, OLA; LINDEROTH, MARTIN
To: MOBITV, INC.
Reel/Frame 033935/0874 →