The present invention relates to streams in a communications system and, more specifically to program manipulation through editing of elementary services and associated tables.
Mixing services within MPEG/DVB transports streams for distribution within the digital tier requires editing of elementary services and associated tables. Downstream equipment is not always interoperable and may expect a very specific assignment of packet IDs (PIDs) and program numbers further complicating the editing process. Traditional solutions apply point-to-point mapping of PIDs for each installation. The input programs and elementary service PIDS are mapped to output PIDs and programs. Any subsequent change on the input side such as a change in the program or referenced elementary services is not necessarily reflected on the output side. Therefore, PID point-to-point remapping unfortunately inhibits several features dependent on dynamic transport changes such as re-tuning, channel changing, service replacement (S/R), and automatic mapping of elementary services as they are added.
Existing remapping controls provide for only manual mapping modifications in the event of, for example, a channel change, selection of a different transport, or when new services are to be added to a program. Manual updates such as channel changes by installers require some knowledge of the transport change and, therefore, the opportunity for installer error is significant for installation change. This is because PID reassignments are specified on an individual basis and every such change must be entered manually. Therefore, burdensome operator invention is often necessary with manual point-to-point remapping which is undesirable. As a further example, Service Replacement (S/R) is an independent control mechanism that was developed as a means of temporarily switching baseband content at downlink sites. The channel number change as a result of the S/R is not presented to the end user during the switch to alternate programming. In the case of S/R for which any service interruption carries negative consequences, manual intervention is more than undesirable, it is unacceptable from a service provider's point of view.
What is needed is a means to permit routing and editing in a more dynamic environment such that downstream equipment receives the expected table references and services without interruption, despite for example the content of the services having changed, which should occur unbeknownst to the downstream equipment.
The present invention will be described more fully hereinafter with reference to the accompanying drawings in which like numerals represent like elements throughout the several figures, and in which an exemplary embodiment of the invention is shown. This invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein; rather, the embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. The present invention is described more fully hereinbelow.
The present invention is implemented by one or more multi-decrypt receivers such as a D9828 PowerVu Multi-Decrypt Receiver made by Scientific-Atlanta, Inc. of Lawrenceville, Ga., USA, which emphasizes multiple program control in order to improve automated adjustments based on MPEG program specific information (PSI) tables. Rather than utilizing fixed point-to-point remapping of PIDS, the present invention utilizes the type of stream that the PIDS are associated with and the related program services IDs to specify the associations between input and output programs. This permits mapping at the program level and, therefore, allows dynamic responses to input program changes based upon the program mapping references. Resolving PID mapping based upon programs and the included services allows output PIDs to remain constant service-by-service even as the input programs change. Also, this permits automatic routing of services which may have been added later than installation. Therefore, simplified mapping based upon service type enable PID mapping to be resolved on program changes resulting in simpler program setup for the installer.
Digital program mapping (DPM) provides a method for grooming services into digital headends by taking advantage of elementary stream and program references to connect input services to specified output mapping. This allows indefinite input program changes without further installation requirements to update the output mapping. DPM is implemented through the use of program directed controls or primary command modes/selectors may have at least the following command elements: Drop, Pass, and Map, in order to provide grooming functions on a program basis. Additional command elements may be added. When implemented through a multi-decrypt receiver, DPM supports remapping of service replacement, channel changes including force tunes and disaster recovery. This applies equally whether a switch to another transport is involved or if the specific change occurs within the presently selected transport.
DPM typically applies to manipulation of service within a single transport stream on a multi-decrypt receiver. However, DPM can also be extended to manipulation of services following a transition to another transport stream on another multi-decrypt receiver. Moreover, DPM can be extended to manipulation of selected services on a device multiplexing two or more transport stream on a multi-decrypt receiver adapted to receive two or more transport streams and to select programs between the multiple transport stream for decryption and remapping.
A program may not be selected for DPM processing unless it has been assigned a program entry (PE). The number of available PEs depends on a specific implementation. In some cases, the same program may be assigned to multiple PE's. Also, several different programs may be created from a single input program's content. There are two types of PEs: secure program entries (SPEs) and local program entries (LPEs). SPEs are program entries associated with security elements. Only SPEs support conditional access functions. LPEs are program entries independent of security elements. No conditional access capability is associated with an LPE.
DPM modes are associated with PEs. A program is assigned to the PE and the DPM mode is associated with the program as long as the program occupies the PE. Prior to allocation of any PEs, all programs are considered to be in the unreferenced content of the transport stream. As programs are assigned to PEs for filtering, they are removed from the unreferenced portion of the transport stream. If so enabled, DPM may permit all programs and elementary services within the unreferenced content to appear at the output without further operator intervention. Unreferenced content is not merely a collection of unwanted PIDs. The unreferenced content allows two or more multi-decrypt receivers to be concatenated with one another. Decryption may take place in two or more devices while retaining integrity of the processed transport stream. Therefore, the unreferenced content provides the flexibility of not being limited to any particular number of multi-decrypt receivers.
In DPM, the Drop control allows an entire program including all of its elementary streams to be dropped from the transport. Alternatively, less than all of the elementary streams may be dropped. For example, only a single elementary stream may be dropped. Also, if other filtered programs require the dropped material, then only the references may be adjusted rather than completely dropping the elementary streams from the transport stream. DPM supports both explicit and implicit dropping of content. Explicit dropping is one in which the PE is configured with the Drop control is applied to a specific elementary stream within a program. Implicit Drop occurs when a source elementary stream is added to the incoming program and a matching MAP control has not been preconfigured for this elementary stream.
The Pass control passes the program and elementary streams without altering table or PID references unless the installer has applied the Drop control to elementary streams within the program entry. Any elementary stream added by the uplink will typically pass through without modification to the output and the output PSI/service information (SI) references are updated as appropriate to include the new streams. Similarly, changes in the incoming program references and/or elementary streams assigned to the PE are passed to the output and downstream devices.
The MAP control provides a solution based on PID remap and another in which PSI tables are modified without changing service PIDs. Input PIDs are stamped to installer selected output PIDS. Despite the particular PIDs for the elementary streams set up by the installer, the output mapping is maintained even as the input subsequently changes. Therefore, the MAP control freezes the output PIDs and programs for the benefit of the downstream devices. A variety of controls are provided to enable user initiated synchronization of the input to the output PIDs. Both manual selection of output service PIDs and automated synchronization are possible.
DPM permits the same source elementary stream to be used for multiple DPM transforms and provides for reconciliation of conflicts. Direct collisions arising from multiple references to the same PID for different services may not be mitigated because these are most often a result of direct or indirect user configuration. For example, specifying an audio service and a video service on the output side with the same packet ID produces an explicit collision that DPM will not permit.
However, when input elementary streams are used with multiple different output controls on multiple program entries, a conflict resolution hierarchy must be employed to determine which control has priority over the others. Resolution of conflicts may involve invalidating a PE's output, invalidating use of one or more single elementary streams within the PE, dropping one or more single ES, dropping a program, selection of a lead PE's output for use by a dependant PE, and enforcing DPM conversions on one or more PEs. The influence of each option should be evaluated in an order of priority until the conflict is resolved; simultaneous evaluation of two or more parameters may be required.
Preferably, the hierarchy of conflict resolution prioritizes in descending order as follows: conditional access, mode functions, mapping features and PE order. Preferably, the DPM controls are prioritized in descending order as follows: Map, Pass, Drop, and unreferenced content. Other prioritizations may be utilized and include fewer or more rules depending on the implementation. The conflict resolution hierarchy ensures that a stable PE is defined as the filter source for each output program and its constituent elementary streams and, therefore, reduces the likelihood of algorithmic switches from a source PE resulting in output transients that adversely affect downstream equipment.
In the absence of packet copy or PID remapping, the applicable DPM control must be determined for application, and then how PSI regeneration follows the resultant DPM control. Resolution hierarchy depends upon several factors (e.g. DPM control, conditional access status, PE ordering etc.) and allows different rules to apply to the DPM priority control and the ordering of PSI regeneration. For example, packet copy, PID remapping, and PSI remapping represent one hierarchical set at the program level that imposes different limitations on DPM. This is the point of the S/R examples that follow (
From the Drop control 106, one or more of the elementary streams of the transport stream may be dropped, as explained above. From the Pass control 104, the constituent elementary services may be either passed without modification to the output as shown in block 112 or dropped as shown in block 114. From the Map control 108, the constituent elementary services identified within the input PMT may be either remapped as shown in block 116 and as explained in more detail below or dropped from the output as shown in block 118. Still referring to
During the S/R transition from primary (channel 1) to alternate (channel 26) on PE 1, the services of channel 26 replace those of channel 1. Employing PSI remapping, only the primary service ID, 1, is retained and transferred to the PMT of the alternate program on PE 1. No PIDs have been modified. Therefore, the output PMT of service ID 1 now has the PIDs which had corresponded to the PIDs of input PMT alternate PE 1. Thus, program 26 has been remapped as program 1. Other programs on other PEs, such as PE 2 remain unchanged.
In this example, the content and PIDs of program 1 are discarded in order to filter program 26 in place of program 1. Program 26's PIDs are mapped into program 1's output PMT. The replaced output of program 1 continues to look like program 1 despite having its original content and PIDs discarded. Also, because program 26 is the alternate to primary program 2, Program 26's PIDs are mapped into program 2's output PMT and the replaced output of program 2 continues to look like program 2 despite having its original content and PIDs discarded. However, because program 26 only has two audio elementary streams in the input, the remapped program 2 can only have two audio elementary streams at the output. In this case, the reference to the third audio service is lost because the alternate's PID assignments are retained under PSI remapping. A PID remapping exercise would have permitted the output PMT of remapped program 2 to continue to make reference to the missing elementary stream without discarding it.
The content and PIDs of program 1 are discarded in order to filter program 26 in place of program 1. A PID remap then maps the replaced content of the output PMT of program 1 with the retained the PIDs of the original content of program 1. Also, the input PMT of program 26 is discarded. In other words, the identity of program 26 has been removed from the output of program 1. In this example, which is distinguishable from the example of
The content and PIDs of program 1 on PE 1 are discarded in favor of program 26 as provided by PE 2. The regenerated PMT of Program 1 references the services provided by PE 2 having a service ID of 26. PE 2 remains unaffected by the transition. More importantly, downstream devices dependent on service ID 26 perceive no interruption of service.
In this example, the collision upon S/R can be resolved by copying the elementary stream packets from PE 2 and restamping them with the PIDs referenced in the PMT on PE 1. PE 2 remains unaffected by the service replacement of PE. Again, downstream devices dependent on service ID 26 perceive no interruption of service. However, there may be bandwidth consequences as a result of implementing this example.
In the disaster recovery example of PSI remapping, the input PMT identifying service ID 32 results in a modified output PMT again identifying service ID 1 but having the content and PIDs of its input PMT. In the S/R example of PSI remapping, the input PMT identifying service ID 27 results in a modified PMT again identifying service ID 1 but having the content and PIDs of its input PMT. However, in this example of PSI remapping in S/R as depicted in
This detailed program mapping in
The foregoing has broadly outlined some of the more pertinent aspects and features of the present invention. These should be construed to be merely illustrative of some of the more prominent features and applications of the invention. Other beneficial results can be obtained by applying the disclosed information in a different manner or by modifying the disclosed embodiments. Accordingly, other aspects and a more comprehensive understanding of the invention may be obtained by referring to the detailed description of the exemplary embodiments taken in conjunction with the accompanying drawings, in addition to the scope of the invention defined by the claims.