APPARATUS AND METHOD FOR RESOLUTION OF CONFLICTS IN PROTOCOL DATA OF MULTIPLE DATA STREAMS
BACKGROUND OF THE INVENTION
The present invention relates to electronic communications, and more particularly to a method and apparatus for resolving conflicts in protocol data of individual and/or multiplexed cable television, satellite, or off-air data streams which are to be multiplexed and/or re-multiplexed into a combined multiplex.
Protocol data carried in a transmitted data stream may comprise, for example, program service information protocol data (PSIP), which may include source identifiers, program numbers, virtual channel tables, master guide tables, event information tables, extended text tables, and the like.
A virtual channel table (NCT) contains a list of attributes for a displayed (virtual) channel. Some of the attributes may include source identifier, program number, channel number, and carrier frequency. A master guide table (MGT) contains a list of: virtual channel tables; event information tables; extended text tables; the packet identifiers (PIDs) which contain these tables; and a version number of each table. An event information table (EIT) contains titles, start times, and rating information for programs carried on the virtual channels described by the NCT. An extended text table (ETT) contains more detailed information about the programs carried on the virtual channels described by the NCT. The use of such tables in television distribution systems is well known in the art.
Conflicts in protocol data or PSIP data occur when multiplexing or re-multiplexing broadcast data streams, such as those promulgated by the Advanced Television Systems Committee (ATSC). When two or more individual data streams are to be multiplexed, the potential exists for conflicts in the protocol data. Similarly, PSIP is guaranteed only to uniquely describe a single multiplexed data stream. When two or more multiplexed data streams are to be re-multiplexed, the potential exists for conflicts in the PSIP data between
the multiplexed data streams. These conflicts must be resolved in order to define properly the multiplexed or re-multiplexed data stream for re-broadcast.
A current method of addressing this problem involves creating and inserting new protocol data (or new PSIP data) after multiplexing (or re-multiplexing) of the data streams. In such a scheme, the old protocol data or PSIP data is removed prior to the multiplexing or re- multiplexing, and additional processing is required to create and insert the new data, which adds complexity and expense. It would be advantageous to provide a scheme for correcting the protocol data of individual data streams or the PSIP data of multiplexed data streams that are to be combined such that the aforementioned problem of the prior art is overcome. The present invention provides an improved scheme having these and other advantages.
More particularly, the present invention uses the protocol data or PSIP data included in data streams and 'fixes' it using, e.g., a combination of hardware and software, prior to multiplexing or re-multiplexing. This can be done either algorithmically, or by using a template. The end result is that conflicts between protocol data and/or PSIP data of different data streams are repaired.
SUMMARY OF THE INVENTION
The present invention relates to a method and apparatus for resolving conflicts in protocol data, such as program service information protocol data (PSIP), of cable television, satellite or off-air data streams comprising individual and/or multiplexed data streams which are to be multiplexed or re-multiplexed into a combined data stream. In particular, the invention reads the protocol data from several incoming data streams and resolves any conflicts in protocol data which may exist among the several data streams prior to the data streams being combined. The invention may be utilized in a cable television system headend, satellite uplink, or any other place where multiplexing or re- multiplexing of data streams needs to be performed. The data streams may be MPEG2 data streams or the like.
PSIP data may include source identifiers, program numbers, virtual channel tables, master guide tables, event information tables, extended text tables, and the like. In particular, the invention provides for the redefining of the source identifiers contained in the PSIP data. However, channel numbers and other conflicting information within the PSIP data can be redefined as well.
In one embodiment, a transport processing system (located, e.g., in a cable television system headend or at a satellite uplink) receives a plurality of data streams containing content which is to be carried in a combined multiplex of data streams. A processor, which is coupled to the transport processing system, receives the protocol data of each incoming data stream. The protocol data contains source identifiers for content carried by the data streams. These source identifiers are extracted from the inbound protocol data of each data stream by the processor. The processor extracts the source identifiers from the protocol data for each data stream and checks for conflicts between the source identifiers of each data stream. In the event conflicts exist between source identifiers of the data streams, the processor will then redefine, as required, some or all of the source identifiers for one or more of the data streams to eliminate any conflicts therebetween. The
processor will then utilize the redefined source identifiers to rebuild the protocol data for use in outbound data streams containing the content of the original data streams. The transport processing system incorporates the outbound data streams with the rebuilt protocol data into the combined multiplex. The processor may be an external device that, for example, interfaces to a Digital Headend Expansion Interface (DHEI) and reads the PSIP from those interfaces. A DHEI is a bit serial synchronous interface for transporting MPEG2 transport streams between different pieces of headend equipment. Alternatively, this processor could be a personal computer on the control port of a transport processing system or it could be part of the internal control software of the transport processing system.
In a further embodiment, the data streams may comprise multiplexed data streams which are to be re-multiplexed into the combined multiplex.
The protocol data of the data streams may comprise PSIP data, such as source identifiers, program numbers, virtual channel tables, master guide tables, event information tables, extended text tables, and the like.
In a further embodiment of the invention, the processor may discard extraneous PSIP data information, such as event information table information, extended text table information or the like, which results from the step of rebuilding the PSIP data.
In another embodiment of the invention the master guide table may be modified based on a redefined virtual channel table, a redefined event information table, a redefined extended text table, or any combination thereof.
The processor may redefine the source identifiers by mapping the inbound source identifiers in accordance with a predefined table which defines how each inbound source identifier maps to outbound values. Alternatively, the source identifiers may be algorithmically redefined.
In a further embodiment, the processor checks channel numbers of each of a plurality of channels contained within each multiplexed data stream for conflicts therebetween and then redefines the channel numbers to eliminate any such conflicts.
The data streams which are to be carried in the combined multiplex may be transmitted via satellite, cable, terrestrial, wireless, or a combination of any of these.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a block diagram illustrating apparatus in accordance with the present invention; and
Figure 2 is a flowchart illustrating the functional operation of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
The present invention relates to a method and apparatus for resolving conflicts in protocol data, such as program service information protocol data (PSIP), of individual and/or multiplexed cable television, satellite or off-air data streams which are to be multiplexed and/or re-multiplexed into a combined multiplex of data streams. In particular, the invention reads the protocol data from several incoming data streams and resolves any conflicts which may exist in the protocol data among the several data streams prior to the streams being combined. The invention may be utilized in a cable television headend, satellite uplink, or any other place where multiplexing or re-multiplexing of data streams needs to be performed. The data streams may be MPEG2 data streams or the like.
More particularly, the invention provides for the redefining of source identifiers contained in the protocol data. Source identifiers identify the source of the programming broadcast (e.g., HBO East, local Network affiliates, etc.) and are initially assigned by the broadcast source. The invention also applies to redefining channel numbers and other conflicting information within PSIP data of multiplexed data streams which are to be re- multiplexed.
In one embodiment as shown in Figure 1, a transport processing system 10 receives data streams 1, 2 containing content which is to be carried in a combined multiplex of data streams 3. Although only two inbound data streams 1, 2 are shown in Figure 1, the transport processing system 10 may receive a plurality of data streams. A processor 20 ("PSIP Modifier"), which is coupled to the transport processing system 10, receives the protocol data of each incoming data stream 1, 2.
In Figure 1 the protocol data is shown entering the processor 20 as protocol data 19. The protocol data contains source identifiers for content carried by the data streams. The processor 20 extracts the source identifiers from the protocol data 19 for each data stream 1, 2 and checks for conflicts between the source identifiers of data stream 1 and data stream 2. In the event conflicts exist between source identifiers of data stream 1 and data stream 2,
the processor 20 will redefine, as required, some or all of the source identifiers for one or more of the data streams 1, 2 to eliminate any conflicts therebetween. The processor 20 will then utilize the redefined source identifiers to rebuild the protocol data for use in outbound data streams containing the content of the original data streams. The processor 20 forwards the rebuilt protocol data (shown as protocol data 21 in Figure 1) to the transport processing system 10 for incorporation into outbound data streams derived from data streams 1 and 2. The outbound data streams have the same content (e.g., television services) as the original data streams 1 and 2; only the protocol data has been revised to eliminate any conflicts between the different data streams. The modified data streams are then incorporated by the transport processing system 10 into a combined multiplex of data streams 3 that contains the different data streams 1, 2, etc. in a combined stream for transmission.
In a further embodiment, the data streams 1, 2 may comprise multiplexed data streams which are to be re-multiplexed into the combined multiplex 3. Although the processor 20 is shown as separate from the transport processing system 10, the processor may also be a component contained within the transport processing system 10 or a software program running in the transport processing system 10. The protocol data of the data streams may comprise PSIP data. The PSIP data may comprise at least one of source identifiers, program numbers, virtual channel tables, master guide tables, event information tables, extended text tables, and the like. The data rate of the PSIP can be limited at the headend if desired.
The processor 20 can be implemented to discard extraneous PSIP data information, such as event information table information, extended text table information or the like, resulting from the step of rebuilding the PSIP data. Moreover, the master guide table may be modified based on at least one of a redefined virtual channel table, a redefined event information table, and a redefined extended text table.
The processor 20 may redefine the source identifiers by mapping the inbound source identifiers in accordance with a predefined table. The predefined table absolutely
defines the inbound values and how they map to outbound values. Alternatively, the source identifiers may be algorithmically redefined.
For example, the processor 20 may read source identifiers 12, 22, 32 and 42 from data stream 1 and source identifiers 11, 22, 33, and 44 from data stream 2. As the data streams 1 and 2 contain at least one identical source identifier 22, the processor 20 will determine that a conflict exists and redefine the source identifiers. The processor 20 may be programmed, for example, to map all source identifiers on data stream 1 to values from 0 to 99 and to map all source identifiers on data stream 2 to values from 100 to 199. Such a range is appropriate as it is unlikely that an inbound multiplexed data stream will have more than 100 source identifiers.
A typical terrestrial multiplexed data stream has approximately 4 source identifiers and a typical Headend in The Sky (HITS) is a multiplexed data stream which may contain several MPEG2 data streams with a total of approximately 12 source identifiers. A HITS data stream also has a control and EPG data stream that is transported over satellite and delivered to a cable headend for, normally, eventual retransmission as an out-of-band set- top control and data carrier.
Continuing the above example, the processor 20 would redefine the source identifiers on data stream 2 from 11, 22, 33, and 44 to 111, 122, 133, and 144 respectively, thereby resolving the conflict between the source identifiers of data stream 1 and data stream 2. Alternatively, the source identifiers 12, 22, 32, and 42 of data stream 1 can be redefined to 0, 1, 2, and 3 respectively and the source identifiers 11, 22, 33, and 44 of data stream 2 can be redefined to 100, 101, 102, and 103 respectively, thereby resolving the conflict.
Those skilled in the art will appreciate that the above examples illustrate the basic concept of the invention and are simplified for purposes of explanation. In practice, it would not be uncommon to find more than one source identifier in conflict between data streams 1 and 2. In addition, complexity would naturally increase depending upon the number of inbound data streams which are to be multiplexed and/or re-multiplexed. As an
example, a typical cable headend will receive approximately two to four inbound multiplexes which are to be re-multiplexed into a single combined multiplex. In addition, other PSIP data, such as channel numbers, program numbers, and the like may also need to be redefined in the same manner. The processor 20 can also be implemented (e.g., using software) to check channel numbers of each of a plurality of channels contained within each multiplexed data stream 1, 2 for conflicts therebetween. Processor 20 would then redefine the channel numbers to eliminate any such conflicts.
The data streams 1 and 2 which are to be carried in the combined multiplex of data streams 3 may be transmitted via satellite, cable, terrestrial, wireless, or a combination of any of these.
Figure 2 describes the steps that take place within the processor 20 of Figure 1. Protocol data of the data streams is received from the transport processing system via line 19 (Figure 1) and read by the processor as indicated at step 25. The processor extracts the source identifiers from the protocol data of each data stream (step 30). The source identifiers from each data stream are then checked for any conflicts which may exist therebetween (step 35). If conflicts are discovered, the source identifiers are redefined as described above in connection with Figure 1 (step 40). The protocol data is rebuilt (step 45) as necessary and appropriate depending upon the type of conflicts found. The new, unified, rebuilt protocol data is then communicated back to the transport processing system via line 21, as indicated at step 50. The transport processing system uses this data to provide a combined multiplex of data streams having the rebuilt protocol data.
It should now be appreciated that the present invention provides an improved method and system for resolving conflicts between protocol data of different individual and/or multiplexed data streams which are to be combined. In particular, methods and apparatus are provided that redefine source identifiers and other protocol data so as to resolve conflicts in such data prior to multiplexing and/or re-multiplexing and transmission of the content with which the protocol data is associated.
Although the invention has been described in connection with various preferred embodiments, it should be appreciated that numerous adaptations and modifications can be made thereto without departing from the scope of the invention as set forth in the claims. In particular, the invention is not limited to television implementations, and can be used in connection with the communication of all types of individual or multiplexed data streams including multimedia, audio services, presentation data, and the like.