IP Library Granted Patent US 9,197,857
Granted Patent B2
US 9,197,857 · App. 12/434,480 · Granted Nov 24, 2015

IP-based stream splicing with content-specific splice points

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,197,857
App. No.
12/434,480
Granted
Nov 24, 2015
Kind
B2
Abstract

A method and system for conditioning a media stream for splicing are disclosed. In an embodiment, content-specific splice points, which correspond to a possible playout splice point within an original media stream, are identified for both audio and video components of the original media stream. Once the audio bitstream and video bitstream splice points are identified, the audio bitstream in the vicinity of the audio bitstream splice point is packetized into IP packets containing only audio with one of the audio-containing IP packets having an IP packet boundary that corresponds to the audio bitstream splice point and the video bitstream in the vicinity of the video bitstream splice point is packetized into IP packets containing only video with one of the video-containing IP packets having an IP packet boundary that corresponds to the video bitstream splice point. The conditioned original media stream is then transmitted downstream to a splicer.

Claims (47)

1. A method for conditioning a media stream for splicing, the method comprising:

receiving a media stream comprising transport packets carrying packetized elementary stream (PES) packets of an audio bitstream and a video bitstream;

identifying a possible playout splice point within the media stream, wherein identifying the possible splice point comprises identifying a point of interest in the media stream;

identifying an audio bitstream splice point within the audio bitstream as a function of the possible playout splice point, wherein identifying the audio bitstream splice point further comprises identifying a transport packet of the media stream carrying an audio bitstream PES packet corresponding to the audio bitstream splice point;

packetizing the identified transport packet carrying portions of the audio bitstream splice point into audio IP packets, wherein packetizing the identified transport packet carrying portions of the audio bitstream splice point comprises packetizing the audio bitstream PES packet corresponding to the audio bitstream splice point into the audio IP packets such that one of the audio IP packets has an IP packet boundary that corresponds to the audio bitstream splice point, wherein packetizing into the audio IP packets further comprises truncating the one of the audio IP packets at the audio bitstream splice point, wherein packetizing the PES packet corresponding to the audio bitstream splice point further comprises not adding silence information to the audio IP packets;

identifying a video bitstream splice point within the video bitstream as a function of the possible playout splice point, wherein identifying the video bitstream splice point further comprises identifying a transport packet in the media stream carrying a video bitstream PES packet corresponding to the video bitstream splice point;

packetizing the identified transport packet carrying portions of the video bitstream splice point into video IP packets, wherein packetizing the identified transport packet carrying portions of the video bitstream splice point comprises packetizing the video PES packet corresponding to the video bitstream splice point into the video IP packets such that one of the video IP packets has an IP packet boundary that corresponds to the video bitstream splice point, wherein packetizing into the video IP packets comprises truncating the one of the video IP packets at the audio bitstream splice point, wherein packetizing the PES packet corresponding to the video bitstream splice point further comprises not adding black information to the video IP packets;

generating a reference to the audio bitstream splice point;

generating a reference to the video bitstream splice point; and

transmitting the audio bitstream splice point reference, the video bitstream splice point reference, the audio IP packets, and the video IP packets to a splicer.

2. The method of claim 1 wherein the audio bitstream splice point temporally leads the video bitstream splice point.

3. The method of claim 1 wherein the audio bitstream splice point temporally leads the video bitstream splice point by an encoder-specific time interval.

4. The method of claim 1 wherein the audio bitstream splice point reference, the video bitstream splice point reference, the audio IP packets, and the video IP packets are transmitted in MPEG-TS compliant flows.

5. The method of claim 1 wherein the audio bitstream splice point reference and the video bitstream splice point reference are transmitted to the splicer in a stream of packets that is separate from the audio IP packets and the video IP packets.

6. The method of claim 1 wherein the audio bitstream splice point reference and the audio IP packets are transmitted to the splicer in a first combined stream and the video bitstream splice point reference and the video IP packets are transmitted to the splicer in a second combined stream.

7. The method of claim 6 wherein the audio bitstream splice point reference is transmitted in the header of a transport layer packet of the first combined stream and the video bitstream splice point reference is transmitted in the header of a transport layer packet of the second combined stream.

8. The method of claim 7 wherein the audio bitstream splice point reference and the video bitstream splice point reference are carried in an RTP header using RTP header extensions.

9. The method of claim 1 further comprising identifying multiple possible playout splice points within the media stream and identifying separate audio and video bitstream splice points for each of the multiple possible playout splice points.

10. The method of claim 1 wherein the audio bitstream splice point reference temporally leads the audio bitstream splice point in the transmission to the splicer and wherein the video bitstream splice point reference temporally leads the video bitstream splice point in the transmission to the splicer.

11. The method of claim 1 further comprising signaling a clock discontinuity at each splice point.

12. The method of claim 1 further comprising embedding a pointer into an RTP header that points to PCR/PTS/DTS references within the media stream.

13. The method of claim 1 further comprising transmitting a reference to a currently playing program, including an original program or a spliced program.

14. A method for conditioning a media stream for splicing, the method comprising:

receiving a media stream comprising transport packets carrying packetized elementary stream (PES) packets of an audio bitstream and a video bitstream;

identifying multiple possible playout splice points within the media stream;

for each possible playout splice point, identifying, as a function of the possible playout splice point, a content-specific splice point for the audio bitstream and a content-specific splice point for the video bitstream, wherein identifying the content-specific splice point for the audio bitstream comprises identifying a transport packet in the media stream carrying an audio bitstream PES packet corresponding to an audio bitstream splice point, and wherein identifying the content-specific splice point for the video bitstream comprises identifying a transport packet in the media stream carrying a video bitstream PES packet corresponding to a video bitstream splice point;

packetizing the identified transport packet corresponding to the audio bitstream splice point into audio IP packets, wherein packetizing the identified transport packet corresponding to the audio bitstream splice point into the audio IP packets further comprises packetizinq the audio bitstream PES packet corresponding to the audio bitstream splice point into the audio IP packets such that at least one of the audio IP packets has IP packet boundaries that correspond to the content-specific splice points for the audio bitstream, wherein packetizinq into the audio IP packets further comprises truncating the at least one of the audio IP packets at the the audio bitstream splice point, wherein packetizinq the PES packet corresponding to the audio bitstream splice point further comprises not adding silence information to the audio IP packets;

packetizing the identified transport packet corresponding to the video bitstream splice point into video IP packets, wherein packetizing the identified transport packet corresponding to the video bitstream splice point into the video IP packets further comprises packetizinq the audio bitstream PES packet corresponding to the video bitstream splice point into the video IP packets such that at least one of the video IP packets has IP packet boundaries that correspond to the content-specific splice points for the video bitstream, wherein packetizing into the video IP packets comprises truncating the one of the video IP packets at the the video bitstream splice point, wherein packetizing the PES packet corresponding to the video bitstream splice point further comprises not adding black information to the video IP packets;

generating references to audio bitstream splice points;

generating references to video bitstream splice points; and

transmitting the audio bitstream splice point references, the video bitstream splice point references, the audio IP packets, and the video IP packets to a splicer.

15. A system for conditioning a media stream for splicing, the system comprising:

a conditioner configured to:

identify a possible playout splice point within a media stream comprising transport packets carrying packetized elementary stream (PES) packets of an audio bitstream and a video bitstream;

identify an audio bitstream splice point within the audio bitstream as a function of the possible playout splice point, wherein the conditioner being configured to identify the audio bitstream splice point further comprises the conditioner being configured to identify a transport packet of the media stream carrying an audio bitstream PES packet corresponding to the audio bitstream splice point;

packetize the identified transport packet carrying the audio bitstream PES packet corresponding to the audio bitstream splice point into audio IP packets, wherein the conditioner being configured to packetize the transport packet carrying the audio bitstream PES packet comprises the conditioner being configured to packetizing the audio bitstream PES packet carrying the audio bitstream splice point into the audio IP packets such that one of the audio IP packets has an IP packet boundary that corresponds to the audio bitstream splice point, wherein the conditioner being configured to packetize the audio bitstream PES packet into the audio IP packets comprises the conditioner being configured to truncate the one of the audio IP packets at the audio bitstream splice point, wherein packetizinq the PES packet corresponding to the audio bitstream splice point further comprises not adding silence information to the video IP packets;

identify a video bitstream splice point within the video bitstream as a function of the possible playout splice point, wherein the conditioner being configured to identify the video bitstream splice point comprises the conditioner being configured to identify a transport packet in the media stream carrying a video bitstream PES packet corresponding to the video bitstream splice point; and

packetize the identified transport packet carrying the video bitstream PES packet corresponding to the video bitstream splice point into video IP packets, wherein the conditioner being configured to packetize the transport packet carrying the audio bitstream PES packet comprises the conditioner being configured to packetize the video bitstream PES packet into the video IP packets such that one of the video IP packets has an IP packet boundary that corresponds to the video bitstream splice point, wherein the conditioner being configured to packetize the video bitstream PES packet into the video IP packets comprises the conditioner being configured to truncate the one of the video IP packets at the video bitstream splice point, wherein packetizing the PES packet corresponding to the video bitstream splice point further comprises not adding black information to the video IP packets;

a point of interest producer configured to:

generate a reference to the audio bitstream splice point; and

generate a reference to the video bitstream splice point; and

a transmitter configured to transmit the audio bitstream splice point reference, the video bitstream splice point reference, the audio IP packets, and the video IP packets to a splicer.

16. The system of claim 15 wherein the audio bitstream splice point temporally leads the video bitstream splice point.

17. The method of claim 15 wherein the audio bitstream splice point temporally leads the video bitstream splice point by an encoder-specific time interval.

18. The system of claim 15 wherein the audio bitstream splice point reference and the video bitstream splice point reference are transmitted to the splicer in a stream of packets that is separate from the audio IP packets and the video IP packets.

19. The system of claim 15 wherein the audio bitstream splice point reference and the audio IP packets are transmitted to the splicer in a first combined stream and the video bitstream splice point reference and the video IP packets are transmitted to the splicer in a second combined stream.

20. The method of claim 19 wherein the audio bitstream splice point reference is transmitted in the header of a transport layer packet of the first combined stream and the video bitstream splice point reference is transmitted in the header of a transport layer packet of the second combined stream.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Dec 9, 2025
From: DENALI EUROPEAN OPPORTUNITIES DESIGNATED ACTIVITY COMPANY
To: SYNAMEDIA VIVIDTEC HOLDINGS, INC.
Reel/Frame 073156/0488 →
SECURITY INTEREST Recorded Dec 18, 2023
From: SYNAMEDIA VIVDTEC HOLDINGS, INC.
To: DENALI EUROPEAN OPPORTUNITIES DESIGNATED ACTIVITY COMPANY
Reel/Frame 065902/0726 →
RELEASE OF SECURITY INTEREST Recorded Dec 5, 2023
From: BANK OF AMERICA, N. A.
To: SYNAMEDIA VIVIDTEC HOLDINGS, INC
Reel/Frame 065765/0928 →
RELEASE OF SECURITY INTEREST Recorded Dec 5, 2023
From: BANK OF AMERICA, N. A.
To: SYNAMEDIA VIVIDTEC HOLDINGS, INC
Reel/Frame 065766/0064 →
SECURITY AGREEMENT Recorded Dec 5, 2023
From: SYNAMEDIA VIVIDTEC HOLDINGS, INC.
To: ADAMS STREET CREDIT ADVISORS LP
Reel/Frame 065775/0517 →
CORRECTIVE ASSIGNMENT TO CORRECT THE OWNER CHANGE PREVIOUSLY RECORDED AT REEL: 050113 FRAME: 0701. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 2, 2021
From: CISCO TECHNOLOGY, INC.
To: TRITON US VP ACQUISITION CO.
Reel/Frame 057049/0808 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2019
From: TRITON US VP ACQUISITION CO.
To: NDS LIMITED
Reel/Frame 050113/0701 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2018
From: CISCO TECHNOLOGY, INC.
To: TRITON US VP ACQUISITION CO.
Reel/Frame 047419/0001 →
SECURITY AGREEMENT (SECOND LIEN) Recorded Oct 31, 2018
From: TRITON US VP ACQUISITION CO.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 047376/0449 →
SECURITY AGREEMENT (FIRST LIEN) Recorded Oct 30, 2018
From: TRITON US VP ACQUISITION CO.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 047364/0034 →