Packet reordering system
First Claim
1. A method for reordering video packets from a multiplexed video bitstream, the method implemented on a computing device and comprising:
- defining a current program identifier (PID);
receiving said video packets, wherein each of said video packets is associated with an associated PID and a next-PID indication, wherein said next-PID indication indicates said associated PID for a next packet to follow a current packet, wherein for at least a first video packet of said video packets, said next-PID indication is an explicit next-PID marker in said at least a first video packet, and for at least a second video packet of said video packets, said next-PID indication is an implicit next-PID indication indicating a default associated PID for said next packet in the absence of said next-PID marker in said at least a second video packet; and
for each video packet from among said received video packets;
a) checking whether said associated PID is equal to said current PID;
b) upon determining that said associated PID is equal to said current PID for said video packet according to said checking, appending said video packet as an output video packet to a reordered video bitstream;
c) upon determining that said associated PID is not equal to said current PID for said video packet according to said checking, queueing said video packet as a queued video packet in a PID queue associated with said associated PID; and
d) upon determining that said current PID is different than said next-PID indication from a most recently appended said output video packet in said reordered video bitstream, updating said current PID in accordance with said next-PID indication from said most recently appended output video packet.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a method for reordering video packets from a multiplexed video bitstream is implemented on a computing device and includes: defining a current program identifier (PID), receiving the video packets, where each of the video packets is associated with an associated PID and a next-PID indication, for each video packet from among the received video packets, checking whether the associated PID is equal to the current PID, upon determining that the associated PID is equal to the current PID, appending the video packet as an output video packet to a reordered video bitstream, upon determining that the associated PID is not equal to the current PID, queueing the video packet as a queued video packet in a PID queue associated with the associated PID, and updating the current PID in accordance with the next-PID indication from a most recently appended output video packet in the reordered video bitstream.
12 Citations
18 Claims
-
1. A method for reordering video packets from a multiplexed video bitstream, the method implemented on a computing device and comprising:
-
defining a current program identifier (PID); receiving said video packets, wherein each of said video packets is associated with an associated PID and a next-PID indication, wherein said next-PID indication indicates said associated PID for a next packet to follow a current packet, wherein for at least a first video packet of said video packets, said next-PID indication is an explicit next-PID marker in said at least a first video packet, and for at least a second video packet of said video packets, said next-PID indication is an implicit next-PID indication indicating a default associated PID for said next packet in the absence of said next-PID marker in said at least a second video packet; and for each video packet from among said received video packets; a) checking whether said associated PID is equal to said current PID; b) upon determining that said associated PID is equal to said current PID for said video packet according to said checking, appending said video packet as an output video packet to a reordered video bitstream; c) upon determining that said associated PID is not equal to said current PID for said video packet according to said checking, queueing said video packet as a queued video packet in a PID queue associated with said associated PID; and d) upon determining that said current PID is different than said next-PID indication from a most recently appended said output video packet in said reordered video bitstream, updating said current PID in accordance with said next-PID indication from said most recently appended output video packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A video broadcast system comprising:
-
a video headend operative to generate a multiplexed video bitstream from video packets, wherein each video packet of said video packets is associated with one of at least three program identifiers (PIDs), and wherein said each video packet is associated with a next-PID indication indicating which of said at least three PIDs is associated with a next video packet from among said video packets according to an original order, wherein said next-PID indication is added as an explicit next-PID marker to at least a first video packet, and for at least a second video packet of said video packets, said next-PID indication is an implicit next-PID indication indicating a default associated PID for said next packet in the absence of said next-PID marker in said at least a second video packet; and a reordering module operative to; define a current PID from among said at least three PIDs based on said original order, append a current PID video packet as an output video packet to a reordered output video bitstream, wherein said current PID video packet is one of said video packets associated with said current PID, queue a non-current PID video packet to a PID queue, wherein said non-current PID video packet is one of said video packets that is not associated with said current PID, and said PID queue and said non-current PID video packet are associated with a same one of said at least three PIDs, and update said current PID in accordance with said next-PID indication from a most recently appended output video packet. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A method for embedding a forensic watermark in a video content item, the method implemented on a computing device and comprising:
-
generating an encoded video content item by encoding said video content item, wherein packets of said encoded video content item are associated with a primary program identifier (PID); generating at least two alternate versions of portions of said encoded video content item to replace said portions of said encoded video content item, wherein packets of each of said at least two alternate versions are associated with one of at least two secondary PIDs; defining a default next-PID for each of said primary PID and said at least two secondary PIDS, wherein said default next-PID indicates an expected PID associated with a next packet to follow a current packet from among said packets; upon determining that a PID for said next packet according to an original order of said packets is different than a defined said default next-PID associated with said current packet, adding an explicit next-PID indication to said current packet, wherein said explicit next-PID indication overrides said default next-PID and indicates which of said primary and at least two secondary PIDs is associated with said next packet according to said original order of said packets; multiplexing said encoded video content item and said at least two alternate versions to produce a multiplexed video bitstream of video packets, wherein said multiplexing maintains said original order among said video packets associated with a same PID in said multiplexed video bitstream; defining a first output PID as either said primary PID or said one of at least two secondary PIDs; reordering said multiplexed video bitstream to produce an output video bitstream in accordance with said first output PID and said next-PID indication for each of said packets; and sequentially processing said output video bitstream to provide a watermarked video content item by outputting said packets associated with said primary PID interleaved with selected secondary PID packets, wherein said selected secondary PID packets are selected from said packets associated with said one of at least two secondary PIDs according to a conditional access scheme.
-
Specification