Expedited splicing of video streams
Abstract
In one embodiment, a method is described that includes receiving a conditioned bitstream that includes a digital insertion location and primary network packets that contain compressed video data. The digital insertion location includes replaceable network packets. The method also includes receiving a second bitstream that includes replacement compressed video data. The method also includes determining a location of the digital insertion location. The method further includes adjusting the bitrate of the replacement compressed video data to create adjusted replacement compressed video data. The method further includes providing timestamp information with the replacement compressed video data. The method additionally includes packetizing the adjusted replacement compressed video data and timestamp information into replacement network packets. The method further includes combining the replacement network packets into the digital insertion location in the conditioned bitstream at the network packet level without depacketizing or decompressing the compressed video data in the primary network packets.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . An apparatus comprising:
a first network receiver interface adapted for receiving
a conditioned bitstream that includes a digital insertion location and primary network layer packets that contain compressed video data, the digital insertion location including a number of replaceable network layer packets, wherein the compressed video data in the primary network layer packets of the conditioned bitstream is temporally independent of the digital insertion location;
a second bitstream that includes replacement compressed video data to be inserted into the digital insertion location in the conditioned bitstream;
an extractor configured to determine a location of the digital insertion location in the conditioned bitstream; a transcoder configured to adjust the bitrate of the replacement compressed video data in the second bitstream to be inserted into the digital insertion location to create adjusted replacement compressed video data, wherein the bitrate of the replacement compressed video data is adjusted such that a virtual buffer of a modeled decoder that receives an output bitstream from a channel does not experience overflow or underflow; an embedder configured to provide timestamp information with the replacement compressed video data, wherein the timestamp information is configured to inform a decoder that receives the output bitstream when and where to position replacement video data, derived from the replacement compressed video data after decoding, relative to video data included in the compressed video data in the primary network layer packets; a packetizer configured to packetize the adjusted replacement compressed video data and timestamp information into replacement network layer packets; a combiner configured to combine the replacement network layer packets into the digital insertion location in the conditioned bitstream at the network packet level such that the replacement network layer packets replace the replaceable network layer packets in the conditioned bitstream, without depacketizing the video data in the primary network packets and without decompressing the video data in the primary network packets, to produce the output bitstream including the primary network layer packets of the conditioned bitstream and the replacement compressed video data and timestamp information of the second bitstream; and a second network interface adapted for transmitting the output bitstream onto the channel.
2 . The apparatus as recited in claim 1 , wherein the combiner splices the replacement network layer packets into the digital insertion location in the conditioned bitstream at the network packet level.
3 . The apparatus as recited in claim 1 , wherein a splice-in point of the digital insertion location corresponds to a boundary between a last primary network layer packet before the digital insertion location and a first replaceable network layer packet in the digital insertion location, and a splice-out point of the digital insertion location corresponds to a boundary between a last replaceable network layer packet in the digital insertion location and a first primary network layer packet after the digital insertion location, and wherein the compressed data in the conditioned bitstream before a splice-in point is temporally independent of the compressed data after the splice-in point and the compressed data in the conditioned bitstream before a splice-out point is temporally independent of the compressed data after the splice-out point.
4 . The apparatus as recited in claim 1 , wherein the conditioned bitstream is packetized into network layer packets according to Internet Protocol and the first network interface is configured to receive network layer packets packetized according to Internet Protocol.
5 . The apparatus as recited in claim 1 , wherein the extractor determines a location of the digital insertion location by obtaining sequence number information that describes the sequence numbers of the network layer packets corresponding to the associated digital insertion location.
6 . The apparatus as recited in claim 5 , wherein the sequence number information is embedded in the conditioned bitstream or is sent to the extractor out of the band.
7 . The apparatus as recited in claim 1 , wherein the transcoder is configured to adjust the bitrate of the replacement compressed video data by transcoding the replacement compressed video data if the virtual buffer level is below a first desired level, and wherein the transcoder is configured to adjust the bitrate of the replacement compressed video data by inserting stuffing bits into the replacement compressed video data if the virtual buffer level is above a second desired level.
8 . The apparatus as recited in claim 1 , wherein the embedder is further configured to include a PCR discontinuity indication with the replacement compressed video data.
9 . The apparatus as recited in claim 1 , wherein the transcoder is configured to monitor the virtual buffer level before, during and after combining and adjusts the bitrate of the replacement compressed video data so as to achieve a desired buffer level.
10 . A method comprising:
receiving a first bitstream including compressed video data; identifying a splice point corresponding to a digital insertion location within the first bitstream; re-encoding a portion of the compressed video data in the first bitstream to remove temporal reliance across the splice point such that all compressed video data before the splice point has no temporal reliance in encoding with all compressed video data after the splice point, the re-encoding producing a first conditioned bitstream including modified compressed video data; packetizing the first conditioned bitstream into network layer packets such that the splice point corresponds to a boundary between two consecutive network layer packets, the packetizing producing a first packetized conditioned bitstream comprising packetized modified compressed video data; embedding sequence number information into the packetized modified compressed video data, the sequence number information describing the sequence numbers of the network layer packets corresponding to the associated digital insertion location; and outputting the packetized conditioned bitstream onto a channel.
11 . The method as recited in claim 10 , wherein removing the temporal reliance comprises re-encoding the first bitstream such that no frames of the first bitstream prior to the splice point temporally reference any frames after the splice point.
12 . The method as recited in claim 11 , wherein the first bitstream is re-encoded according to MPEG format and wherein the first frame of the re-encoded bitstream after the splice point is an I frame.
13 . The method as recited in claim 10 , wherein the conditioned bitstream is packetized into network layer packets according to Internet Protocol.
14 . The method as recited in claim 10 , wherein the sequence number information is embedded into a Real-time Transport Protocol (RTP) session layer protocol packet header.
15 . The method as recited in claim 10 , further comprising embedding bitrate profile information into the conditioned bitstream.
16 . The method as recited in claim 10 , further comprising inserting timestamp information into the conditioned bitstream.
17 . The method as recited in claim 10 , wherein the splice point corresponds to the beginning of the digital insertion location and the modified compressed video data in the conditioned bitstream after the splice point is packetized in a new network layer packet.
18 . The method as recited in claim 10 , wherein the splice point corresponds to the end of the digital insertion location and the modified compressed video data in the conditioned bitstream after the splice point is packetized in a new network layer packet.
19 . The method as recited in claim 10 , further comprising:
receiving a second bitstream including compressed video data; identifying a splice point within the second bitstream; re-encoding the compressed video data in the second bitstream to remove temporal reliance across the splice point such that any compressed video data before the splice point has no temporal reliance in encoding with any compressed video data after the splice point, the re-encoding producing a second conditioned bitstream including modified compressed video data; adjusting the bitrate profile of the second conditioned bitstream to substantially match the bitrate profile of the digital insertion location in the first conditioned bitstream; and packetizing the second conditioned bitstream into network layer packets such that the splice point corresponds to a boundary of a network layer packet, the packetizing producing a second packetized conditioned bitstream comprising packetized modified compressed video data.
20 . An apparatus comprising:
a first network receiver interface configured to receive a first bitstream including compressed video data; an extractor configured to determine a location of a splice point of a digital insertion location in the conditioned bitstream; a conditioning apparatus that receives the first bitstream and outputs a conditioned bitstream, the conditioning apparatus being configured to modify compressed video data in the first bitstream to remove temporal reliance across the splice point such that all compressed video data before the splice point has no temporal reliance in encoding with all compressed video data after the splice point; a packetizer configured to packetize the conditioned bitstream into network layer packets such that the splice point corresponds to a boundary between two consecutive network layer packets and to embed sequence number information into the packetized modified compressed video data, the sequence number information describing the sequence numbers of the network layer packets corresponding to the associated digital insertion location; and a second network interface configured to transmit the packetized conditioned bitstream onto a channel.
21 . The apparatus as recited in claim 20 , wherein the conditioning apparatus modifies compressed video data in the first bitstream by re-encoding compressed video data in the first bitstream and wherein removing the temporal reliance comprises re-encoding the first bitstream such that no frames of the first bitstream prior to the splice point temporally reference any frames after the splice point.
22 . The apparatus as recited in claim 21 , wherein the first bitstream is re-encoded according to MPEG format and wherein the first frame of the re-encoded bitstream after the splice point is an I frame.
23 . The apparatus as recited in claim 20 , wherein the conditioned bitstream is packetized into network layer packets according to Internet Protocol.
24 . The apparatus as recited in claim 20 , wherein the sequence number information is embedded into a Real-time Transport Protocol (RTP) session layer protocol packet header.
25 . The apparatus as recited in claim 20 , further comprising an embedder apparatus that embeds bitrate profile information into the conditioned bitstream.
26 . The apparatus as recited in claim 20 , further comprising an embedder apparatus that inserts timestamp information into the conditioned bitstream.
27 . The apparatus as recited in claim 20 , wherein the splice point corresponds to the beginning of the digital insertion location and the modified compressed video data in the conditioned bitstream after the splice point is packetized in a new network layer packet.
28 . The apparatus as recited in claim 20 , wherein the splice point corresponds to the end of the digital insertion location and the modified compressed video data in the conditioned bitstream after the splice point is packetized in a new network layer packet.
29 . An apparatus comprising:
means for receiving a first bitstream including compressed video data; means for identifying a splice point corresponding to a digital insertion location within the first bitstream; means for re-encoding a portion of the compressed video data in the first bitstream to remove temporal reliance across the splice point such that all compressed video data before the splice point has no temporal reliance in encoding with all compressed video data after the splice point, the re-encoding producing a first conditioned bitstream including modified compressed video data; means for packetizing the first conditioned bitstream into network layer packets such that the splice point corresponds to a boundary between two consecutive network layer packets, the packetizing producing a first packetized conditioned bitstream comprising packetized modified compressed video data; means for embedding sequence number information into the packetized modified compressed video data, the sequence number information describing the sequence numbers of the network layer packets corresponding to the associated digital insertion location; and means for outputting the packetized conditioned bitstream onto a channel.Join the waitlist — get patent alerts
Track US2013208811A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.