The present invention relates generally to the transmission of audio video data in a home network.
Part of the Conditional Access (CA) mechanism used by Multichannel Video Programming Distributors (MVPD) consist in scrambling the programs being distributed when transiting over their communication network. In order to enable retail availability of receiver devices the MVPD's proprietary conditional access system has been separated from the receiver device and put in a CA module. The CA module provides secure access to descrambled programming.
Specifications have been defined for the interface between the CA module and the receiver device. One part of this interface consists of a Transport Stream interface carrying data received through the tuner/demodulator to the CA module. This data is organized in MPEG-2 Transport Packets. If the packet is scrambled and belongs to the selected program it is descrambled and received back from the module providing access to the service is granted. The same applies if the packet is scrambled at the at Packetized Elementary Stream (PES) level.
The MPEG-2 Transport Stream sent over to the CA module consists of the whole MPEG-2 multiplex. This means that the packets sent over can belong to the selected program but can also belong to another program that is not currently selected but nonetheless carried in the same Transport Stream multiplex. The requirement for sending the whole transport multiplex over to the CA module comes from the proprietary character of the CA system that relies on secret messages being buried within transport packets carried within this Transport Stream multiplex.
Because MVPD are very sensitive to protection of the content they distribute and in order to allow a program to be viewed through a home network it is desirable to keep the Conditional Access in place throughout the home network and to descramble the program only after traveling through the home network.
The present invention describes a way to keep the original CA system in place throughout the home network by placing the home network between the tuner/demodulator and the CA module and a way to keep the bandwidth requirements low by intelligently filtering out data from the transport stream carried by the home network, without tampering with the CA system.
A home network has an input element receiving digital audio-video data and conditional access (CA) data from a source, and a tuner element receiving the data from the input element. In response to a demanded transport stream command, the tuner element passes only data in the demanded transport stream. This data in the demanded transport stream includes both CA data and data representing multiple audio-video programs. A first demultiplexer receives data in the demanded transport stream from the tuner element, with the first demultiplexer passing all of the CA data received from the tuner element and one and only one audio-video program in the demanded transport stream. The first demultiplexer does not pass any other audio-video program in the demanded transport stream. A conditional access (CA) device receives data from the first demultiplexer and decrypts the audio-video program in accordance with the CA data, so that a television can receive information from the CA device and display the audio-video program.
It is to be understood that when the demanded program includes two so-called “elementary” streams, e.g., a standard definition stream of the program and a high definition stream of the program, present principles can further screen out the elementary stream that is not desired.
In some embodiments, the audio-video data includes plural packets, with each packet having an unencrypted header and encrypted audio-video data. The first demultiplexer uses information in the headers, e.g., packet identification information, to determine which audio-video program to pass to the CA device. A second demultiplexer can be interposed between the CA device and television for not passing the CA data to the television.
If desired, the demanded transport stream is sent from the TV to the tuner element. The TV may access one or more tables in the MPEG stream to determine which transport stream to demand.
In another aspect, a method includes receiving a main digital transport stream that carries multiple audio video programs on respective programs. Prior to passing the programs through a conditional access (CA) device for decrypting, all audio video data of at least some of the programs is removed, and only then is the remaining audio video data passed through the CA device.
In still another aspect a TV tuner passes audio video streams of a demanded transport stream. A demultiplexer is downstream of the tuner, and a conditional access (CA) device is downstream of the demultiplexer for decrypting audio video data.
The details of the present invention, both as to its structure and operation, can best be understood in reference to the accompanying drawings, in which like reference numerals refer to like parts, and in which:
With reference to
The input element 12 is electronically connected to a stream selector assembly 14. The assembly 14 receives plural streams and selects one stream as demanded for output thereof to the below-discussed demultiplexer. In a non-limiting implementation the assembly 14 may be a tuner/demodulator assembly, which includes separate components that may be combined on a single integrated circuit in series with each other. In another embodiment the assembly 14 may be implemented as a network interface card. In any case, the assembly 14 receives data from the input element 12 and, in response to a demanded program command from a user separates as required the transport stream carrying the requested program from other transport streams received at the input element 12. Accordingly, the assembly 14 passes through only data of one transport stream.
The data received through the assembly 14 eventually must be carried over to the below-described CA module. This data is organized in Transport Stream Packets. If the packet is scrambled and belongs to the selected program it is descrambled and received back from the module providing access to the service is granted. The same applies if the packet is scrambled at the at Packetized Elementary Stream (PES) level. If the packet does not belong to the selected program it is passed through untouched.
As non-limiting examples, audio packets of unrequested programs that are not shared with the requested program are blocked. Thus, for instance, if a program has a high definition video elementary stream and standard definition video elementary stream which share a single audio stream, and the high definition elementary stream of the program is requested, then the shared audio stream is also passed along with the requested high definition video stream of the requested program, with both the standard definition video elementary stream and audio packets not associated with the requested stream being blocked. As well, audio, video and other packets that are identified not to disrupt the CA module and that are associated with unrequested programs are not passed to the CA module. For example, computer applications and other ancillary in the multiplex that are not related to the requested program also can be blocked from processing by the CA module.
Thus, a conditional access module 20, which may be implemented as a cable card device, decrypts the multimedia data belonging to the requested program that it receives. Absent the present invention, the MPEG-2 Transport Stream sent to the CA module consists of the whole MPEG-2 multiplex. This means that the packet sent over may belong to the selected program but may also belong to another program that is not currently selected but nonetheless carried within the same Transport Stream multiplex. This results in an excess in bandwidth usage along the path between the tuner/demodulator and the CA module.
The CA system relies on secret messages being buried within transport packets carried within this Transport Stream multiplex and prevents the identification of these packets as part of its robustness. But although the CA system prevents direct identification of these secret messages, one can postulate that for implementation cost and feasibility of the CA system and other head end equipment the CA system doesn't rely on the audio/video packets that belong to other programs carried over the transport stream. This critical recognition of the present invention forms the basis for a method to decrease the data flow from the tuner/demodulator to the CA module.
With this in mind and to reduce bandwidth, in the present invention the first demultiplexer element 16 is in the path between the stream selector 14 and the CA module element 20. This demultiplexer element 16 intercepts the transport stream and selectively filters out some packets before forwarding the remaining packets of the transport stream to the CA module. In one implementation this first demultiplexer passes all of the data received from the stream selector assembly 14 except the audio-video packets belonging to programs other than the demanded program.
Disclosure below describes the determination of which audio-video data packets should be passed and which other data packets may be discarded based on the postulate that the CA data is not embedded in the audio video packets of other program channels. As discussed further below in specific implementations, information in the service information (“SI”) data is used to configure the demultiplexer 16 to determine which identifiable packets were not explicitly requested and thus should not be passed on to the conditional access device 20. Consequently, the only audio-video data stream remaining present in the selected transport stream going from the first demultiplexer element 16 to the conditional access device 20 belongs to the selected program.
In another implementation the first demultiplexer 16 passes all of the data received from the assembly 14 except all the packets belonging only to programs other than the demanded program. Advantageously, fewer data is passed to the conditional access device 20 resulting in a reduced consumption of bandwidth, allowing a simpler connector or even a complete home network environment 10 to be used to transport data from the stream selector assembly 14 to the CA module.
The conditional access device 20 is electronically connected to a second demultiplexer 22, the demultiplexer 22 being interposed between the conditional access device 20 and a video processing device, such as a set-top box, a computer with a video player, and a television 18. The second demultiplexer 22 sends the desired audio-video data packet to the television 18 but further excludes the unnecessary data contained within the receiver transport stream. The demultiplexer 22 thus allows only necessary audio-video data to be sent to the audio-video decoder of the television.
Further, the television 18 includes a screen 24 which produces electronic images, a processor 26 and an optional data storage 28. The television 18 thus receives information from the conditional access device 20 and displays the audio-video program on the screen 24.
It is to be understood that the components shown in
Now referencing
Moving to
Beginning with block 42, the demultiplexer 16 receives plural audio-video packets belonging to different programs. At block 44 the logic determines which audio-video packets do not belong to the requested program and hence should be removed from the transport stream that is forwarded to the conditional access device 20. The undesired packets are selected by the demultiplexer 16 based on the accompanying program specific information (PSI) data in MPEG as is contained primarily in the program allocation table (PAT) and program map tables (PMT) 32. Concluding the logic at block 46, the remaining packets are sent to the conditional access device 20.
Each of the three major components (the gateway 200, the CA module 214, which may be embodied in a set back box or set top box, and the TV 222) has a respective system time clock synchronization circuit 234, 236, 238, which may be implemented by or include counters. The gateway clock synchronization circuit 234 can receive program clock reference (PCR) information from the first demultiplexer 210 and return clock recovery information to the module clock synchronization circuit 236 as shown. In turn, this clock recovery information may be sent from the module clock synchronization circuit 236 to the TV clock synchronization circuit 238 as shown. The clock recovery information may be used to synchronize the clocks of the various components.
Turning now to
Next, the program allocation table (PAT) in the received stream is extracted and processed at block 306 by, e.g., the host processor 102 in
While the particular SYSTEM AND METHOD FOR REDUCING scrambled and descrambled BANDWIDTH IN A HOME NETWORK is herein shown and described in detail, it is to be understood that the subject matter which is encompassed by the present invention is limited only by the claims.