Scrambling and descrambling control word control in a remultiplexer for video bearing transport streams
First Claim
1. A method for descrambling transport packets of a transport stream, said transport packets containing elementary stream data of one or more video programs, said method comprising the steps of:
- (a) defining a sequence of one or more processing steps to be performed on each transport packet and ordering the step of descrambling processing within said sequence,(b) allocating one unique descriptor of a queue for each transport packet, each allocated descriptor containing a pointer to a memory location for storing said transport packet for which said descriptor is allocated, one or more processing indications and a control word information field,(c) storing control word information associated with contents of said transport packet in said control word information field of selected ones of said allocated descriptors,(d) setting said one or more of said processing indications to indicate that the next step of processing of said sequence may be performed on each of said allocated descriptors,(e) sequentially accessing each allocated descriptor, and(f) for each accessed descriptor pointing to a memory location for storing a to-be-descrambled transport packet, descrambling said transport packet stored in said memory location pointed to by said accessed descriptor using said control word information in said accessed descriptor, only if said one or more processing indications of said accessed descriptor are set to indicate that descrambling processing may be performed on said accessed descriptor and transport packet stored in said memory location to which said accessed descriptor points.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and system are provided for remultiplexing program bearing data. The remultiplexing method and system are applicable to MPEG-2 compliant transport streams carrying video programs. A descriptor based system is used for scheduling the timely output of transport packets wherein each descriptor records a dispatch time as well as a receipt time for each transport packet. The receipt time is used for estimating program clock reference adjustments, but final program clock reference adjustment is performed in hardware in relation to the precise output timing of each transport packets. A descriptor and transport packet caching technique is used for decoupling the synchronous receipt and transmission of transport packets from any asynchronous processing performed thereon. The descriptors can also be used for managing scrambling and descrambling control words (encryption and decryption keys). Remultiplexing functions may be distributed across a network. The remultiplexer can furthermore optimize the bandwidth of transport streams by replacing null transport packets with transport packet data to be inserted into the output transport stream. Program data transmitted via asynchronous communication links is re-timed and assistance is provided for outputting program data on such asynchronous communication links to reduce a variation in end-to-end delay incurred by the program data. Remultiplexing and program specific information can be seamlessly dynamically varied without stopping, or introducing a discontinuity in, the flow of outputted transport packets. A technique is also provided for locking multiple internal reference clock generators.
-
Citations
48 Claims
-
1. A method for descrambling transport packets of a transport stream, said transport packets containing elementary stream data of one or more video programs, said method comprising the steps of:
-
(a) defining a sequence of one or more processing steps to be performed on each transport packet and ordering the step of descrambling processing within said sequence, (b) allocating one unique descriptor of a queue for each transport packet, each allocated descriptor containing a pointer to a memory location for storing said transport packet for which said descriptor is allocated, one or more processing indications and a control word information field, (c) storing control word information associated with contents of said transport packet in said control word information field of selected ones of said allocated descriptors, (d) setting said one or more of said processing indications to indicate that the next step of processing of said sequence may be performed on each of said allocated descriptors, (e) sequentially accessing each allocated descriptor, and (f) for each accessed descriptor pointing to a memory location for storing a to-be-descrambled transport packet, descrambling said transport packet stored in said memory location pointed to by said accessed descriptor using said control word information in said accessed descriptor, only if said one or more processing indications of said accessed descriptor are set to indicate that descrambling processing may be performed on said accessed descriptor and transport packet stored in said memory location to which said accessed descriptor points. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for scrambling transport packets of a transport stream, said transport packets containing elementary stream data of one or more video programs, said method comprising the steps of:
-
(a) defining a sequence of one or more steps to be performed on each transport packet and ordering scrambling processing within said sequence, (b) allocating a unique descriptor of a queue for each transport packet, each allocated descriptor containing a pointer to a memory location for storing said transport packet for which said descriptor is allocated, one or more processing indications and a control word information field, (c) storing control word information associated with contents of said transport packet in said control word information field of selected ones of said allocated descriptors, (d) setting said one or more of said processing indications to indicate that the next step of processing of said sequence may be performed on each of said allocated descriptors, (e) sequentially accessing each allocated descriptor, and (f) for each accessed descriptor pointing to a memory location storing a to-be-scrambled transport packet, scrambling said transport packet stored in said memory location pointed to by said accessed descriptor using said control word information in said accessed descriptor, only if said one or more processing indications of said accessed descriptor are set to indicate that scrambling processing may be performed on said accessed descriptor and transport packet stored in said memory location to which said accessed descriptor points. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A remultiplexer for descrambling transport packets of a transport stream, said transport packets containing elementary stream data of one or more video programs, said remultiplexer comprising:
-
a processor for defining a sequence of one or more processing steps to be performed on each transport packet and for ordering descrambling processing within said sequence, a data link control circuit for allocating one unique descriptor of a queue for each transport packet, each allocated descriptor containing a pointer to a memory location for storing said transport packet for which said descriptor is allocated, one or more processing indications and a control word information field, and for setting said one or more of said processing indications to indicate that the next step of processing of said sequence may be performed on each of said allocated descriptors, and a descrambler for sequentially accessing each allocated descriptor, and, for each accessed descriptor pointing to a memory location storing a to-be-descrambled transport packet, descrambing said transport packet pointed to by said accessed descriptor using control word information in said accessed descriptor, only if said one or more processing indications of said accessed descriptor are set to indicate that descrambling processing may be performed on said accessed descriptor and transport packet stored in said memory location to which said accessed descriptor points, wherein said processor also stores control word information associated with the contents of received transport packets in said control word information fields of corresponding ones of said descriptors. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A remultiplexer for scrambling transport packets of a transport stream, said transport packets containing elementary stream data of one or more video programs, said remultiplexer comprising:
-
a processor for defining a sequence of one or more processing steps to be performed on each transport packet, for ordering scrambling processing within said sequence, for allocating a unique descriptor of a queue for each transport packet, each allocated descriptor containing a pointer to a memory location for storing said transport packet for which said descriptor is allocated, one or more processing indications and a control word information field, storing control word information associated with contents of said transport packet in said control word information field of selected ones of said allocated descriptors, and for setting one or more of said processing indications to indicate that the next step of processing of said sequence may be performed on each of said allocated descriptors, and a scrambler for sequentially accessing each allocated descriptor, and, for each accessed descriptor pointing to a memory location storing a to-be-scrambled transport packet, scrambling said transport packet stored in said memory location pointed to by said accessed descriptor using said control word information in said accessed descriptor, only if said one or more processing indications of said accessed descriptor are set to indicate that scrambling processing may be performed on said accessed descriptor and transport packet stored in said memory location to which said accessed descriptor points. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A transport stream containing descrambled transport packets, said transport packets containing elementary stream data of one or more video programs, said transport stream being produced by the steps of:
-
(a) defining a sequence of one or more processing steps to be performed on each transport packet and ordering descrambling processing within said sequence, (b) allocating a unique descriptor of a queue for each transport packet, each allocated descriptor containing a pointer to a memory location for storing said transport packet for which said descriptor is allocated, one or more processing indications and a control word information field, (c) storing control word information associated with contents of said transport packet in said control word information field of selected ones of said allocated descriptors, (d) setting one or more of said processing indications to indicate that the next step of processing of said sequence may be performed on each of said allocated descriptors, (e) sequentially accessing each allocated descriptor, and (f) for each accessed descriptor pointing to a memory location storing a to-be-descrambled transport packet, descrambling said transport packet stored in said memory location pointed to by said accessed descriptor using said control word information in said accessed descriptor, only if said one or more processing indications of said accessed descriptor are set to indicate that descrambling processing may be performed on said accessed descriptor and transport packet stored in said memory location to which said accessed descriptor points.
-
-
24. A transport stream containing scrambled transport packets, said transport packets containing elementary stream data of one or more video programs, said transport stream being produced by the steps of:
-
(a) defining a sequence of one or more processing steps to be performed on each transport packet and ordering scrambling processing within said sequence, (b) allocating a unique descriptor of a queue for each transport packet, each allocated descriptor containing a pointer to a memory location for storing said transport packet for which said descriptor is allocated, one or more processing indications and a control word information field, (c) storing control word information associated with contents of said transport packet in said control word information field of selected ones of said allocated descriptors, (d) setting one or more of said processing indications to indicate that the next step of processing of said sequence may be performed on each of said allocated descriptors, (e) sequentially accessing each allocated descriptor, and (f) for each accessed descriptor pointing to a memory location storing a to-be-scrambled transport packet, scrambling said transport packet stored in said memory location pointed to by said accessed descriptor using said control word information in said accessed descriptor, only if said one or more processing indications of said accessed descriptor are set to indicate that scrambling processing may be performed on said accessed descriptor and transport packet stored in said memory location to which said accessed descriptor points.
-
-
25. A method for descrambling transport packets of a transport stream, said transport packets containing elementary stream data of one or more video programs, said method comprising the steps of:
-
(a) defining a sequence of one or more processing steps to be performed on each transport packet and ordering the step of descrambling processing within said sequence, (b) allocating one unique descriptor of a queue for each transport packet, each allocated descriptor containing a pointer to a memory location for storing said transport packet for which said descriptor is allocated, and a control word information field, (c) storing control word information associated with contents of said transport packet in said control word information field of selected ones of said allocated descriptors, (d) sequentially accessing each allocated descriptor, and (e) for each accessed descriptor pointing to a memory location for storing a to-be-descrambled transport packet, descrambling said transport packet stored in said memory location pointed to by said accessed descriptor using said control word information in said accessed descriptor. - View Dependent Claims (26, 27, 28, 29, 30)
-
-
31. A method for scrambling transport packets of a transport stream, said transport packets containing elementary stream data of one or more video programs, said method comprising the steps of:
-
(a) defining a sequence of one or more steps to be performed on each transport packet and ordering scrambling processing within said sequence, (b) allocating a unique descriptor of a queue for each transport packet, each allocated descriptor containing a pointer to a memory location for storing said transport packet for which said descriptor is allocated and a control word information field, (c) storing control word information associated with contents of said transport packet in said control word information field of selected ones of said allocated descriptors, (d) sequentially accessing each allocated descriptor, and (e) for each accessed descriptor pointing to a memory location storing a to-be-scrambled transport packet, scrambling said transport packet stored in said memory location pointed to by said accessed descriptor using said control word information in said accessed descriptor. - View Dependent Claims (32, 33, 34, 35)
-
-
36. A remultiplexer for descrambling transport packets of a transport stream, said transport packets containing elementary stream data of one or more video programs, said remultiplexer comprising:
-
a processor for defining a sequence of one or more processing steps to be performed on each transport packet and for ordering descrambling processing within said sequence, a data link control circuit for allocating one unique descriptor of a queue for each transport packet, each allocated descriptor containing a pointer to a memory location for storing said transport packet for which said descriptor is allocated and a control word information field, and a descrambler for sequentially accessing each allocated descriptor, and, for each accessed descriptor pointing to a memory location storing a to-be-descrambled transport packet, descrambling said transport packet pointed to by said accessed descriptor using control word information in said accessed descriptor, wherein said processor also stores control word information associated with the contents of received transport packets in said control word information fields of corresponding ones of said descriptors. - View Dependent Claims (37, 38, 39, 40, 41)
-
-
42. A remultiplexer for scrambling transport packets of a transport stream, said transport packets containing elementary stream data of one or more video programs, said remultiplexer comprising:
-
a processor for defining a sequence of one or more processing steps to be performed on each transport packet, for ordering scrambling processing within said sequence, for allocating a unique descriptor of a queue for each transport packet, each allocated descriptor containing a pointer to a memory location for storing said transport packet for which said descriptor is allocated and a control word information field, and for storing control word information associated with contents of said transport packet in said control word information field of selected ones of said allocated descriptors, and a scrambler for sequentially accessing each allocated descriptor, and, for each accessed descriptor pointing to a memory location storing a to-be-scrambled transport packet, scrambling said transport packet stored in said memory location pointed to by said accessed descriptor using said control word information in said accessed descriptor. - View Dependent Claims (43, 44, 45, 46)
-
-
47. A transport stream containing descrambled transport packets, said transport packets containing elementary stream data of one or more video programs, said transport stream being produced by the steps of:
-
(a) defining a sequence of one or more processing steps to be performed on each transport packet and ordering descrambling processing within said sequence, (b) allocating a unique descriptor of a queue for each transport packet, each allocated descriptor containing a pointer to a memory location for storing said transport packet for which said descriptor is allocateds and a control word information field, (c) storing control word information associated with contents of said transport packet in said control word information field of selected ones of said allocated descriptors, (d) sequentially accessing each allocated descriptor, and (e) for each accessed descriptor pointing to a memory location storing a to-be-descrambled transport packet, descrambling said transport packet stored in said memory location pointed to by said accessed descriptor using said control word information in said accessed descriptor.
-
-
48. A transport stream containing scrambled transport packets, said transport packets containing elementary stream data of one or more video programs, said transport stream being produced by the steps of:
-
(a) defining a sequence of one or more processing steps to be performed on each transport packet and ordering scrambling processing within said sequence, (b) allocating a unique descriptor of a queue for each transport packet, each allocated descriptor containing a pointer to a memory location for storing said transport packet for which said descriptor is allocated and a control word information field, (c) storing control word information associated with contents of said transport packet in said control word information field of selected ones of said allocated descriptors, (d) sequentially accessing each allocated descriptor, and (e) for each accessed descriptor pointing to a memory location storing a to-be-scrambled transport packet, scrambling said transport packet stored in said memory location pointed to by said accessed descriptor using said control word information in said accessed descriptor.
-
Specification