Scalable seamless digital video stream splicing
First Claim
Patent Images
1. A computerized method for splicing at a splicer, a first video stream of bits and a plurality of additional video streams of bits, the method comprising:
- Rearranging data packets in the first video stream of bits;
Creating placeholder packets in a second video stream of bits, each placeholder packet including the location of the placeholder packet in the second video stream of bits and including a packet identification field having a value distinct from that defined for null packets in a format used by the second video stream of bits;
creating placeholder packets in a third video stream of bits, each placeholder packet including location the placeholder packet in the third video stream of bits and including a packet identification field with a value distinct from that defined for null packets in a format used by the third video stream of bits; and
In response to a splicing command, inserting a rearranged data packet from the first video stream of bits into (i) a placeholder packet in the second video stream of bits to generate a first spliced stream and (ii) a placeholder packet in the third video stream of bits to generate a second spliced stream.
2 Assignments
0 Petitions
Accused Products
Abstract
Described are computer-based methods and apparatuses, including computer program products, for scalable seamless digital video stream splicing. Data packets in a first video stream of bits are rearranged. Placeholder packets are created in a second video stream of bits. The first video stream of bits and the second video stream of bits are combined to generate a spliced stream by inserting data packets from the first video stream of bits into the placeholder packets in the second video stream of bits.
42 Citations
27 Claims
-
1. A computerized method for splicing at a splicer, a first video stream of bits and a plurality of additional video streams of bits, the method comprising:
-
Rearranging data packets in the first video stream of bits; Creating placeholder packets in a second video stream of bits, each placeholder packet including the location of the placeholder packet in the second video stream of bits and including a packet identification field having a value distinct from that defined for null packets in a format used by the second video stream of bits; creating placeholder packets in a third video stream of bits, each placeholder packet including location the placeholder packet in the third video stream of bits and including a packet identification field with a value distinct from that defined for null packets in a format used by the third video stream of bits; and In response to a splicing command, inserting a rearranged data packet from the first video stream of bits into (i) a placeholder packet in the second video stream of bits to generate a first spliced stream and (ii) a placeholder packet in the third video stream of bits to generate a second spliced stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer program product, tangibly embodied in a machine-readable storage device, for splicing at a splicer, a first video stream of bits and a plurality of additional video streams of bits, the computer program product including instructions operable to cause a data processing apparatus in communication with a splicer to:
-
rearrange data packets in the first video stream of bits; create placeholder packets in a second video stream of bits, each placeholder packet including the location of the placeholder packet in the second video stream of bits and including a packet identification field having a value distinct from that defined for null packets in a format used by the second video stream of bits; create placeholder packets in a third video stream of bits, each placeholder packet including location the placeholder packet in the third video stream of bits and including a packet identification field with a value distinct from that defined for null packets in a format used by the third video stream of bits; and in response to a splicing command, inserting a rearranged data packet from the first video stream of bits into (i) a placeholder packet in the second video stream of bits to generate a first spliced stream and (ii) a placeholder packet in the third video stream of bits to generate a second spliced stream.
-
-
26. A video stream splicer comprising:
-
means for rearranging data packets in the first video stream of bits; means for creating placeholder packets in a second video stream of bits, each placeholder packet including the location of the placeholder packet in the second video stream of bits and including a packet identification field having a value distinct from that defined for null packets in a format used by the second video stream of bits; means for creating placeholder packets in a third video stream of bits, each placeholder packet including location the placeholder packet in the third video stream of bits and including a packet identification field with a value distinct from that defined for null packets in a format used by the third video stream of bits; means for storing at least one of the first video stream of bits, the second video stream of bits, or the third video stream of bits in a storage device; and
means for inserting, in response to a splicing command, a rearranged data packet from the first video stream of bits into (i) a placeholder packet in the second video stream of bits to generate a first spliced stream and (ii) a placeholder packet in the third video stream of bits to generate a second spliced stream.
-
-
27. A method for splicing a first compressed video stream of bits and a plurality of additional compressed video streams of bits, the method comprising:
-
receiving the first compressed video stream of bits; extracting stream metadata from the first compressed stream of bits; determining a splice out-point of the first compressed video stream of bits based on the stream metadata; rearranging data packets in the first compressed video stream of bits based on the stream metadata; storing the rearranged first compressed video stream of bits in a storage device; receiving a second compressed video stream of bits; extracting stream metadata from the second compressed video stream of bits; determining a splice in-point of the second compressed video stream of bits based on the stream metadata extracted from the second compressed video stream of bits; creating placeholder packets in the second compressed video stream of bits, each placeholder packet including the location of the placeholder packet in the second compressed video stream of bits and including a packet identification field having a value distinct from that defined for null packets in a format used by the second compressed video stream of bits; storing the second compressed video stream of bits in a storage device; receiving a third compressed video stream of bits; extracting stream metadata from the third compressed video stream of bits; determining a splice in-point of the third compressed video stream of bits based on the stream metadata extracted from the third compressed video stream of bits; creating placeholder packets in the third compressed video stream of bits, each placeholder packet including the location of the placeholder packet in the third compressed video stream of bits and including a packet identification field having a value distinct from that defined for null packets in a format used by the third compressed video stream of bits; storing the third compressed video stream of bits in a storage device; retrieving the first compressed video stream of bits from the storage device; retrieving at least one of the second compressed video stream of bits or the third compressed video stream of bits from the storage device; transmitting at least a portion of the first compressed video stream of bits, the transmission ending at the splice out-point; and transmitting immediately thereafter at least a portion of at least one of the second compressed video stream of bits or the third compressed video stream of bits, the transmission starting at the splice in-point.
-
Specification