The present invention relates to a mobile television broadcast system, and more specifically in one embodiment relates to enhancement of the current ATSC Digital TV broadcast system for mobile services to mobile and handheld devices.
The ATSC (Advanced Television Systems Committee) standard relates to a digital television format which will replace the analog NTSC television system. The ATSC standard is a high definition television standard that produces standard 4:3 or wide screen 16:9 images up to 1920×1080 pixels in size—more than six times the display resolution of the earlier NTSC standard. The ATSC standard makes provisions to transport multiple standard-definition “virtual channels” broadcast on a single 6 MHz TV channel. The ATSC standard also includes “theater quality” audio using the Dolby Digital AC-3 format to provide 5.1-channel surround sound. The ATSC standard also provides numerous auxiliary datacasting services.
The ATSC standard uses the MPEG-2 systems specification for encapsulation (transport) of data. More specifically, ATSC uses the 188-byte MPEG transport stream packets to carry data. MPEG-2 is also referred to as “transport stream”, “MPEG-TS”, or simply “TS”. At the receiver side, before decoding of audio and video occurs, the receiver demodulates and applies error correction to the signal. Then, the transport stream may be demultiplexed into its constituent streams. A video codec, e.g. MPEG-2, H.264, VC-1, is used for encoding and decoding video, subject to certain constraints.
Previously, mobile reception of digital television stations transmitted using the ATSC standard has been difficult to impossible. For example, mobile reception of digital television stations is very difficult when moving at vehicular speeds. Therefore, there is a need for an improved system and method for transmission and/or reception of digital television signals for improved mobile reception.
Various embodiments are presented of a system and method for wirelessly communicating audiovisual information. One set of embodiments involves a system and method for wirelessly transmitting audiovisual information to a mobile device. Another set of embodiments involves a system and method for wirelessly receiving audiovisual information by a mobile device. The audiovisual information may be packetized according to the ATSC (Advanced Television Standards Committee) standard, e.g., using 8-VSB modulation.
The method for transmitting audiovisual information to a mobile device may include generating a first plurality of packets including first audiovisual information. The first plurality of packets may also include error correction coding information of a first type; or, there may be multiple types of error correction coding information in the first plurality of packets. A second plurality of packets including first error correction coding information for the first audiovisual information may also be generated. The first error correction coding information may be formed using a first error correction encoding method, while the error correction coding information in the first plurality of packets may be formed using a second error correction encoding method. The first and second error correction encoding methods may be the same or may be different error correction encoding methods.
The first error correction coding information may include a first pattern of error correction coding information and a second pattern of error correction coding information. The first and second patterns of error correction coding information may be complementary to each other; alternatively, they may overlap or be identical. The first and second patterns of error correction coding information may be separated in time and/or frequency; in other words, they may be configured for transmission at different times and/or on different frequencies.
Control information, including commands for associating the first error correction coding information with at least a portion of the first audiovisual information, may also be generated. Thus, although the first error correction coding information and the first audiovisual information may be in different streams (e.g., different sets of packets), and may in some embodiments be transmitted separately in time and/or on different frequencies, the control information may be usable by a mobile device (e.g., may inform the mobile device) to associate the first error correction coding information and the first audiovisual information with each other, thereby enabling the mobile device to use the first error correction coding information in processing the first audiovisual information. Once the control information is generated, the control information may be included in the second plurality of packets with the first error correction coding information, or may be included in a third plurality of packets.
The plurality of packets, including the first, second, and (possibly) third pluralities of packets, may be wirelessly transmitted, e.g., to a mobile device. The plurality of packets may be transmitted by a transmitter, e.g., including an antenna.
In some embodiments, there may be additional packets generated. For example, in one embodiment, a fourth plurality of packets, including second audiovisual information, may be generated. The second audiovisual information may be completely complementary to the first audiovisual information, or partially overlapping (i.e., at least a portion of the first and second audiovisual information may be the same audiovisual information), or the first and second audiovisual may be identical or redundant. The fourth plurality of packets may also include error correction coding information, similar to the first plurality of packets. In some embodiments, even if the first and second audiovisual information are partially or entirely redundant, the error correction coding information for each may be partially or entirely complementary. Alternatively, the first and fourth pluralities of packets may be identical, including error correction coding information; for example, one set of packets may be backup information, sent at a different time or on a different frequency than the other set of packets. It should further be noted that it is possible that the first and fourth pluralities of packets (the first and second audiovisual streams) may be configured for transmission at separate times and/or frequencies, regardless of whether they are identical or not. In some embodiments, neither (or, only one of) the first and fourth pluralities of packets includes error correction coding information; for example, any error correction coding information for the first and second audiovisual information may be sent separately in another stream (e.g., in another set of packets). The commands in the control information may also associate the first and second audiovisual information. This may also include associating any error correction coding information for the first and second audiovisual information, whether that error correction coding information is located in the same plurality of packets or in a different plurality of packets as the audiovisual information for which it is intended.
A fifth plurality of packets may also be generated. The fifth plurality of packets may include second error correction coding information, e.g., for the second audiovisual information. The second error correction coding information may be a (partially or entirely) complementary pattern of error correction coding information to the first error correction coding information. For example, the first and second audiovisual information may be associated, and if the respective error correction coding information for the first and second audiovisual information is complementary, the complementary patterns of the first and second error correction coding information would together form a stronger form of error protection. Thus, the commands in the control information may also associate the second error correction coding information with the second audiovisual information, and in some embodiments, may associate the first audiovisual information and the first error correction coding information with the second audiovisual information and the second error correction coding information. Alternatively, the commands in the control information may simply associate the first audiovisual information with the first error correction information, the second audiovisual information with the second error correction information, and the first audiovisual information with the second audiovisual information, and a mobile device receiving said control information may implicitly associate the second error correction coding information with the first audiovisual information and the first error correction coding information with the second audiovisual information due to the explicit associations in the control information.
The method for wirelessly transmitting audiovisual information to a mobile device may be performed partially or entirely by a system, which in various embodiments may include some or all of memory for storing the audiovisual information, transmit logic coupled to the memory and configured to generate the packets and the control information, and a transmitter for transmitting the pluralities of packets.
The method for wirelessly receiving audiovisual information by a mobile device may include wirelessly receiving a plurality of packets. The packets may include first and second pluralities of packets (and in some embodiments, third, fourth and fifth pluralities of packets), which may correspond to the first and second pluralities of packets (and in some embodiments, the third, fourth and fifth pluralities of packets) as described above with respect to the method for wirelessly transmitting audiovisual information to a mobile device, according to any of the various embodiments described above.
The first error correction coding information (in the second plurality of packets) may be associated with at least a portion of the first audiovisual information (in the first plurality of packets) based on the control information. If there are fourth and fifth pluralities of packets, the second error correction coding information may also be associated with the second audiovisual information based on the control information. Likewise, one or more of: the first audiovisual information and the second audiovisual information; the first audiovisual information and the second error correction coding information; or the second audiovisual information and the first error correction coding information, may be associated, either based explicitly on the commands in the control information or implicitly based on other cross stream associations.
The audiovisual information may be processed for presentation on the mobile device. Processing the audiovisual information may include processing the first audiovisual information and any associated error correction coding information (such as, according to various embodiments, might be contained in the first, second, and/or fifth pluralities of packets), and in some embodiments, processing the second audiovisual information and any associated error correction coding information (such as, according to various embodiments, might be contained in the second, fourth, and/or fifth pluralities of packets). In some embodiments, the first and second audiovisual streams (e.g., the first and fourth pluralities of packets) may be processed together, and with all of the associated error correction coding information for both streams.
Processing the audiovisual information with the associated error correction coding information may enable presentation of the audiovisual information even under adverse receiving conditions, e.g., if there is background noise in the transmission channel, or while the mobile device is moving rapidly and/or unpredictably. In addition, if the audiovisual information and/or the associated error correction coding information are received separately, at different times and/or frequencies, this may reduce the susceptibility of the mobile device to specific reception issues such as burst noise and deep channel fading, because even if some of the error correction coding information is lost, or some partially redundant audiovisual information is lost, there may be enough audiovisual and/or error correction coding information received at other times and/or frequencies such that service at the mobile device may be uninterrupted.
Once the audiovisual information is processed for presentation, the processed audiovisual information may be presented on the mobile device. This may include presenting (e.g., displaying) video information on a display and/or presenting (e.g., playing) audio information on one or more speakers.
The method for wirelessly receiving audiovisual information by a mobile device may be performed by a mobile device. The mobile device may include an antenna for wirelessly receiving the packets, receiver logic coupled to the antenna for associating the audiovisual and error correction coding information, processing the audiovisual and error correction coding information, and presenting the processed audiovisual information, and a display and one or more speakers on which the audiovisual information may actually be presented.
A better understanding of the present invention can be obtained when the following detailed description of the preferred embodiment is considered in conjunction with the following drawings, in which:
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and are herein described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present invention as defined by the appended claims.
As used herein, the term “audiovisual information” includes any of various types of information or data that comprises video data and/or audio data. The term “video data” includes motion video (such as television, movies, streaming video, etc., as well as image data, such as JPEGs. The term “audiovisual information” further includes any of various types of information or program instructions that, when executed, cause a device to present video data (on a display) and/or audio data (on speakers). For example, the term “audiovisual information” includes any of various types of gaming content (including program instructions and/or data) that can be used and/or executed to present gaming content (e.g., images, video, and/or audio) on a presentation device.
The broadcast system 100 and the various methods described herein are described in the present application in the context of transmitting audiovisual information for presentation by a receiving device, in particular digital television. However, it is noted that the broadcast system 100 and the various methods described herein may be used for transmission/reception of any of various types of data (e.g., audiovisual information, email, files, text documents, seismic data, measurement data, weather data, etc.), with audiovisual information being merely one representative example.
In one set of embodiments, the broadcast system may operate according to the ATSC (Advanced Television Standards Committee) standard, e.g., using 8-VSB modulation. Alternatively, the broadcast system may operate according to a modified version of the ATSC standard, or according to another standard. For example, the Mobile/Handheld (M/H) modification of the ATSC standard is used for transmission of audiovisual information for moving receivers. The current M/H system transports M/H services in bursts alongside the main service stream encapsulated in NULL packets consistent with the methods prescribed for E-VSB service multiplexing. The system uses serial concatenated convolutional coding (SCCC) for additional robustness. To aid M/H reception, the existing M/H system supplements the base 8-VSB transport with the addition of extra training multiplexed with the mobile packet data in such a way that the training data appears in contiguous bytes (2 full segments per training) at transmission. Thus, when it is available, a receiver can utilize this additional training information to update its equalizer in order to track fast moving channel conditions. Specific examples of the embodiments disclosed herein may be based on, or include portions of the M/H modification to the ATSC standard, and may also include further variations and modifications to M/H and the ATSC standard. However, the embodiments related to transmission of audiovisual information disclosed herein are not necessarily limited to use with the ATSC or M/H systems, and may be equally applicable for transmission of audiovisual information in accordance with other standards and/or modulations schemes, such as DVB-T/H, ISDB-T, DMB-T/H, etc.
As shown, the system 100 comprises a transmission system (or transmit system) 102, one or more mobile devices 112 (e.g., mobile devices 112A-112D), and at least one stationary device 114. As noted above
The transmission system 102 is configured to transmit audiovisual information to the one or more mobile devices 112 in a wireless manner. More particularly, the transmission system 102 may be configured to transmit digital television signals/channels to the mobile devices 112. The mobile devices 112 may receive and present the audiovisual information, e.g., receive and present the digital television signals/channels. The transmission system 102 may also be configured to transmit audiovisual information to the stationary device 114 (e.g., stationary television) in a wireless manner. The transmission system 102 is also configured to transmit audiovisual information to the one or more stationary devices 114, e.g., televisions.
For the sake of convenience, embodiments of the invention are described herein with respect to reception by mobile devices 112. However, the various embodiments of the invention described herein may also of course be used for reception by stationary devices. For example, one embodiment of the invention provides for reception of additional error correction information by stationary devices 114 for the purpose of enhancing the robustness of the terrestrial broadcast. Thus any of the various methods described herein may be utilized with either mobile devices 112 or stationary devices 114, or both, as desired.
The transmission system 102 comprises a transmitter 106 as well as transmit logic 104 coupled to the transmitter 106. The transmit logic 104 may comprise any of various types of logic, such as one or more computer systems (with accompanying software), digital logic, analog logic, programmable gate arrays, etc., or combinations thereof. The transmit logic 104 is adapted for receiving and/or storing audiovisual information (e.g., television data) and for generating packets containing the audiovisual information. The transmit logic 104 may generate packets according to any of various standards, such as the ATSC (Advanced Television Standards Committee) standard, e.g., using 8-VSB modulation. The transmission system 102 may use other modulation schemes, such as DVB-T/H, ISDB-T, DMB-T/H, etc. The transmit logic 104 is also adapted for generating error correction coding information. For example, the transmit logic 104 may be configured to encode data with any of various types of error correction techniques, including (but not limited to): convolutional coding (such as trellis encoding), block coding (such as Reed-Solomon encoding), or other error correction techniques. The transmit logic 104 may be configured to encode data with more than one error correction technique. The transmit logic 104 is also configured to generate packets containing control information as described herein. In one embodiment, one or more of the digital television channels are intended for stationary receivers, such as televisions. One or more of the digital television channels may also be intended for mobile and/or handheld (M/H) (referred to collectively herein as “mobile”) devices 112. In one embodiment, one or more of the digital television channels may be intended for either stationary receivers or mobile devices.
As described herein, for digital television channels intended for mobile devices 112 (and possibly for all channels, e.g., channels intended for stationary devices 114 and/or mobile devices 112), the transmit logic 104 may be configured to generate packets containing error correction coding information. For example, the transmit logic 104 may generate error correction coding information for audiovisual information, and may transmit the error correction coding information in a separate packet (or packets) than the audiovisual information, with another packet (or packets) containing control information for associating the error correction coding information with the audiovisual information. Thus, a receiver (such as a stationary receiver) which does not require or is not configured to use the error correction coding information may ignore the error correction coding information packet and simply receive the audiovisual information as a normal audiovisual stream, while a receiver (such as a mobile device) which does require additional error correction coding information and is configured to use the error correction coding information may associate the error correction coding information with the audiovisual information (e.g., based on the control information) and thereby achieve a more robust system. Furthermore, the control information can be used by the transmit logic 104 to generate and transmit new types of error correction coding that is usable by the receiver.
The mobile devices 112 may be any of various types of devices, such as portable computer systems (laptops) 112A, wireless telephones 112B (e.g., Blackberrys, iPhones, etc.), personal digital assistants 112C, television equipment 112D configured in vehicles, and other types of portable devices capable of displaying received audiovisual information.
The mobile devices 112 are configured to wirelessly receive (e.g., with an antenna) the packets transmitted by the transmitter 106, including the packets containing audiovisual information, the packets containing error correction coding information, and the packets containing control information. A respective mobile device 112 may also include receiver logic for processing the received audiovisual information, as well as a display for presenting video information and one or more speakers for presenting audio information. Thus each of the mobile devices 112 may include television-like capabilities for presenting received television channels as described herein.
The stationary devices 114 may be any of various types of devices that are intended to be placed at a fixed location (referred to as stationary or “non-mobile”), such as conventional televisions, e.g., liquid crystal displays (LCD displays), plasma displays, etc.
In 202, a first plurality of packets including audiovisual information may be generated. The packets containing audiovisual information may include one or more content streams intended for mobile and/or stationary devices. In one embodiment, the packets may be generated according to the ATSC (Advanced Television Standards Committee) DTV (digital television) standard containing one or more digital television channels intended for stationary receivers (e.g., televisions); alternatively, or in addition, the packets may contain one or more digital television channels intended for mobile/handheld (M/H) receivers.
Generation of the packets containing audiovisual information may comprise various steps, such as encoding the audio and video data (e.g., using MPEG-2 encoding), applying forward error correction, generating appropriate packet headers and control information, etc. The forward error correction may take any number of forms, including Reed-Solomon (RS) encoding, Trellis encoding, cyclic redundancy codes (CRCs), or any other form of error correction coding, including a combination of multiple methods.
In 204, a second plurality of packets including error correction coding information for the audiovisual information may be generated. The error correction coding information in the second plurality of packets may be any type of error correction coding, as desired; thus, it may be the same as or different than the error correction coding information in the first plurality of packets. The error correction information in the second plurality of packets may be supplemental to any error correction information in the first plurality of packets. In one embodiment, both the first and second pluralities of packets may include coding information from a four state convolutional encoder, such as shown in
In a specific embodiment, the packets including the audiovisual information may include a systematic (i.e., including the input (audiovisual) data) coding scheme, while the packets including the additional error correction coding information may include a complementary non-systematic (i.e., including only coded (error correction) data) coding scheme. This is referred to herein as ‘main stream augmentation’ and is described in more detail according to an exemplary embodiment with respect to
In another embodiment, the packets including the additional error correction information may include more than one complementary non-systematic coding scheme. In other words, there may be a systematic coding scheme in the audiovisual stream and two or more error correction coding patterns, complementary to each other and to the systematic coding scheme in the audiovisual stream, in a separate error correction stream. This is referred to herein as ‘nested stream encoding’ and is described in more detail according to an exemplary embodiment with respect to
In some embodiments, two or more of these audiovisual and/or error correction streams may be separated in time and/or frequency. In other words, one stream may be sent at one time on a certain frequency, while another stream may be sent at a specified time delay and/or on a different frequency. This may be used in combination with any of main stream augmentation, nested stream encoding, or stagger casting (which will be defined later), as desired. This is referred to herein as ‘transmission diversity’ and is explained more fully with respect to
In 206, control information including commands for associating the error correction coding with the audiovisual information may be generated. The control information may indicate which error correction coding information is to be associated with which audiovisual information, and may indicate where in the pluralities of packets the error correction coding information and the audiovisual information to be associated are to be found. In other words, the control information may be usable by a mobile device receiving the first plurality of packets and the second plurality of packets to determine which error correction information in the second plurality of packets to use to process a particular block of audiovisual information from the first plurality of packets. The control information may be in any number of formats, or may be divided into multiple formats. For example, in the ATSC M/H system, there may be a Fast Information Channel (FIC) and a Transmission Protocol Channel (TPC). Each of these may include part of the control information. In one embodiment, the presence of an augmented main stream (e.g., the presence of additional error correction information in the second plurality of packets) may be signaled in the TPC, while the location, length, and form (and/or other information) of the additional error correction may be signaled in the FIC. Specific embodiments of TPC and FIC signaling and syntax are shown in
In general, the use of control information to associate separate streams of information (audiovisual, error correction, or otherwise) for use together is referred to herein as ‘cross stream association’. Cross stream association is an underlying concept to main stream augmentation, nested stream encoding, and stagger casting (as will be defined later), and allows for planned and systematic use of transmission diversity, in particular in combination with these cases, in order to achieve a significant improvement in packetized data transmission, and in particular packetized transmission of audiovisual information for mobile devices.
In 208, a third plurality of packets including the control information may be generated. The control information may be packetized in a similar way as the first plurality of packets and the second plurality of packets. In an alternative embodiment, some or all of the control information may be included in either the first plurality of packets, or the second plurality of packets, or both, rather than separately in a third plurality of packets. However, in some embodiments, sending the control information separately may be beneficial, e.g., in the case where both stationary devices and mobile devices should be able to use the audiovisual stream, but stationary devices might not be able to use the control information; in this case, sending the control information with the audiovisual information could potentially render the audiovisual stream unusable for the stationary devices.
In 210, the plurality of packets, including the first, second, and (possibly) third pluralities of packets, may be transmitted. Transmission of these pluralities of packets may comprise multiplexing the first, second, and third pluralities of packets (multiplexing the first, second and third streams). Multiplexing of these different packets or streams may be performed based on a ratio of the relative bandwidth allocations of the respective pluralities of packets (or streams). In one embodiment corresponding to continuous mode, multiplexing these different packet streams comprises ordering the packets to distribute them evenly according to their relative bandwidth. In another embodiment corresponding the burst mode, the different packet streams are aggregated in separate bursts preceded by control information (aggregated in its own burst) to indicate the start position of the remaining bursts. The multiplexing may operate to reduce transmission overhead. In one embodiment, the transmission method transmits size information regarding the bandwidth allocations of the various packet streams, wherein the size information is useable at the receiver to demultiplex the received packet streams.
In 302, a first plurality of packets including first audiovisual information may be generated. The packets containing the first audiovisual information may include one or more content streams intended for mobile and/or stationary devices. In one embodiment, the packets may be generated according to the ATSC (Advanced Television Standards Committee) DTV (digital television) standard containing one or more digital television channels intended for stationary receivers (e.g., televisions); alternatively, or in addition, the packets may contain one or more digital television channels intended for mobile/handheld (M/H) receivers.
Generation of the packets containing the first audiovisual information may comprise various steps, such as encoding the audio and video data (e.g., using MPEG-2 encoding), applying forward error correction, generating appropriate packet headers and control information, etc. The forward error correction may take any number of forms, including Reed-Solomon (RS) encoding, Trellis encoding, cyclic redundancy codes (CRCs), or any other form of error correction coding, including a combination of multiple methods.
In 304, a second plurality of packets including first error correction coding information for the first audiovisual information may be generated. The first error correction coding information in the second plurality of packets may be any type of error correction coding, as desired; thus, it may be the same as or different than the error correction coding information in the first plurality of packets. The error correction coding information in the second plurality of packets may be supplemental to any error correction information in the first plurality of packets. In one embodiment, both the first and second pluralities of packets may include coding information from a four state convolutional encoder, such as shown in
In a specific embodiment, the packets including the first audiovisual information may include a systematic coding scheme, while the packets including the first error correction coding information may include a complementary non-systematic coding scheme. In other words, the first error correction coding information may be an augmentation to the main stream (e.g., the first audiovisual information).
In another embodiment, the packets including the first error correction information may include more than one complementary non-systematic coding scheme. In other words, there may be a systematic coding scheme in the first audiovisual stream and two or more error correction coding patterns, complementary to each other and to the systematic coding scheme in the audiovisual stream, in a separate error correction stream (or streams). In other words, the first error correction coding information may be encoded in multiple nested streams.
In some embodiments, two or more of these audiovisual and/or error correction streams may be separated in time and/or frequency. In other words, one stream may be sent at one time on a certain frequency, while another stream may be sent at a specified time delay and/or on a different frequency. This may be used in combination with any of main stream augmentation, nested stream encoding, or stagger casting (which will be defined below), as desired. In other words, the multiple streams of audiovisual and/or error correction coding information may be configured for transmission diversity.
In 306, a third plurality of packets including second audiovisual information may be generated. The second audiovisual information may be complementary to, partially complementary to and partially overlapping with, or completely overlapping with the first audiovisual information. In general, the first and second audiovisual information may benefit from being associated with each other; for example, the first and second audiovisual information may build on each other to produce a more robust signal.
In 308, a fourth plurality of packets including second error correction coding information for the second audiovisual information may be generated. The second error correction coding information may be any type of error correction coding, as desired; thus, it may be the same as or different than the error correction coding information in the third plurality of packets. The error correction information in the fourth plurality of packets may be supplemental to any error correction information in the third plurality of packets. In one embodiment, both the third and fourth pluralities of packets may include coding information from a four state convolutional encoder, such as shown in
In a specific embodiment, the third plurality of packets may include a systematic coding scheme, while the fourth plurality of packets may include a complementary non-systematic coding scheme. Thus, in some embodiments, the first audiovisual information may be the input data in a systematic coding scheme, while the second audiovisual information may be complementary or overlapping input data in a complementary or overlapping coding scheme. The coded data (error correction information) for the complementary or overlapping coding schemes may be complementary.
The audiovisual streams (first and third pluralities of packets) may include this complementary error correction information; alternatively, or in addition, the complementary error correction coding information may be the error correction information in the second and fourth pluralities of packets. In some embodiments, the error correction coding information in the second and/or fourth packets may also be systematic coding schemes. Thus, in some embodiments, there may be a number of streams of overlapping or complementary audiovisual streams with complementary error correction coding information. In another possible embodiment, the error correction information in the second and fourth pluralities of packets may be non-systematic, but still complementary. In this case, there would be nested stream encoding in addition to the multiple complementary/overlapping audiovisual streams.
In other words, the audiovisual data may be either overlapping or complementary, while the error correction information may be complementary. In this way, it may be possible for a device to receive either the first packets with the first audiovisual information, or the third packets with the second audiovisual information, and use the audiovisual information even if the complementary/overlapping audiovisual information is not received. On the other hand, if all of the complementary/overlapping audiovisual information is received, the complementary coding data may provide additional robustness, allowing for a lower receive threshold. The case where multiple streams with overlapping audiovisual data with complementary error correction information are transmitted is referred to herein as ‘stagger casting’ and is described in further detail as it could be implemented in one embodiment with respect to
In 310, control information including commands for associating the first error correction coding information with the first audiovisual information and commands for associating the second error correction coding information with the second audiovisual information may be generated. The control information may indicate which error correction coding information is to be associated with which audiovisual information, and may indicate where in the pluralities of packets the error correction coding information and the audiovisual information to be associated are to be found. In other words, the control information may be usable by a mobile device receiving the first plurality of packets and the second plurality of packets to determine which error correction information in the second plurality of packets to use to process a particular block of audiovisual information from the first plurality of packets. The commands in the control information may also indicate if multiple blocks of audiovisual information are to be associated with each other, e.g., if the first and third pluralities of packets contain complementary or overlapping information. Similarly, the error correction coding associated with each audiovisual stream may be associated with another (complementary or overlapping) audiovisual stream, either explicitly by the commands in the control information, or inherently due to the association of the complementary or overlapping audiovisual streams with each other. In short, the commands in the control information may effectively form a cross stream association.
The control information may be in any number of formats, or may be divided into multiple formats. For example, in the ATSC M/H system, there may be a Fast Information Channel (FIC) and a Transmission Protocol Channel (TPC). Each of these may include part of the control information. In one embodiment, the presence of an augmented main stream (e.g., the presence of additional error correction information in the second plurality of packets) may be signaled by a command in the TPC, while the location, length, and form (and/or other information) of the additional error correction may be signaled by commands in the FIC. Specific embodiments of TPC and FIC signaling and syntax are shown in
In 312, a fifth plurality of packets including the control information may be generated. The control information may be packetized in a similar way as the first plurality of packets (and the other pluralities of packets). In an alternative embodiment, some or all of the control information may be included in one or more of the other pluralities of packets, rather than separately in a fifth plurality of packets. However, in some embodiments, sending the control information separately may be beneficial, e.g., in the case where both stationary devices and mobile devices should be able to use the audiovisual stream(s), but stationary devices might not be able to use the control information; in this case, sending the control information with the audiovisual information could potentially render the audiovisual stream unusable for the stationary devices.
In 314, the plurality of packets, including the first, second, third, fourth, and fifth pluralities of packets may be transmitted. Transmission of these pluralities of packets may comprise multiplexing the first, second, third, fourth, and fifth pluralities of packets (multiplexing the first, second, and third streams). Multiplexing of these different packets or streams may be performed based on a ratio of the relative bandwidth allocations of the respective pluralities of packets (or streams). In one embodiment corresponding to continuous mode, multiplexing these different packet streams comprises ordering the packets to distribute them evenly according to their relative bandwidth. In another embodiment corresponding the burst mode, the different packet streams are aggregated in separate bursts preceded by control information (aggregated in its own burst) to indicate the start position of the remaining bursts. The multiplexing may operate to reduce transmission overhead. In one embodiment, the transmission method transmits size information regarding the bandwidth allocations of the various packet streams, wherein the size information is useable at the receiver to demultiplex the received packet streams.
In 402, a first plurality of packets including audiovisual information may be received. The packets containing audiovisual information may include one or more content streams intended for mobile and/or stationary devices. In one embodiment, the packets may be generated according to the ATSC (Advanced Television Standards Committee) DTV (digital television) standard containing one or more digital television channels intended for stationary receivers (e.g., televisions); alternatively, or in addition, the packets may contain one or more digital television channels intended for mobile/handheld (M/H) receivers. The packets containing audiovisual information may also include error correction coding, such as forward error correction; this may take any number of forms, including but not limited to RS encoding, Trellis encoding, CRCs, or other forms of error correction coding, including a combination of multiple methods.
In 404, a second plurality of packets including error correction coding information for the audiovisual information may be received. The error correction coding information in the second plurality of packets may be any type of error correction coding, as desired; thus, it may be the same as or different than the error correction coding information in the first plurality of packets. The error correction information in the second plurality of packets may be supplemental to any error correction information in the first plurality of packets. In one embodiment, both the first and second pluralities of packets may include coding information from a four state convolutional encoder, such as shown in
In a specific embodiment, the packets including the audiovisual information may include a systematic (i.e., including the input (audiovisual) data) coding scheme, while the packets including the additional error correction coding information may include a complementary non-systematic (i.e., including only coded (error correction) data) coding scheme. In other words, the error correction coding information may be an augmentation to the main stream (e.g., the audiovisual information).
In another embodiment, the packets including the additional error correction information may include more than one complementary non-systematic coding scheme. In other words, there may be a systematic coding scheme in the audiovisual stream and two or more error correction coding patterns, complementary to each other and to the systematic coding scheme in the audiovisual stream, in a separate error correction stream. In other words, the error correction coding information may be encoded in multiple nested streams.
In some embodiments, two or more of these audiovisual and/or error correction streams may be separated in time and/or frequency. In other words, one stream may be received at one time on a certain frequency, while another stream may be received at a specified time delay and/or on a different frequency. In other words, there may be transmission diversity between the audiovisual information and the error correction coding information.
In 406, a third plurality of packets including control information which includes commands for associating the error correction coding with the audiovisual information may be received. The control information may indicate which error correction coding information is associated with which audiovisual information, and may indicate where in the pluralities of packets the error correction coding information and the associated audiovisual information are to be found. In other words, the control information may be usable by the mobile device to determine which error correction information in the second plurality of packets to use to process a particular block of audiovisual information from the first plurality of packets. In short, the commands in the control information may effectively form a cross stream association.
The control information may be in any number of formats, or may be divided into multiple formats. For example, in the ATSC M/H system, there may be a Fast Information Channel (FIC) and a Transmission Protocol Channel (TPC). Each of these may include part of the control information. In one embodiment, the presence of an augmented main stream (e.g., the presence of additional error correction information in the second plurality of packets), or nested streams, may be signaled in the TPC, while the location, length, and form (and/or other information) of the additional error correction may be signaled in the FIC. Specific embodiments of TPC and FIC signaling and syntax are shown in
In 408, the error correction coding information may be associated with the audiovisual information based on the control information. The mobile device may associate specific error correction coding information with a specific portion of audiovisual information based on the commands in the control information, e.g., based on the TPC and FIC commands.
In 410, the audiovisual information, including the error correction coding information associated with the audiovisual information, may be processed. Processing the audiovisual information may include performing the inverse of any steps taken in preparing the data for transmission and/or packetizing the data, e.g., demultiplexing the data, decoding any error correction information, decoding the audio and video data, etc. Decoding the error correction information may include both decoding any error correction information received in the first plurality of packets (i.e., with the audiovisual information), and any error correction information received in the second plurality of packets (i.e., separated from the audiovisual information) that is associated with the audiovisual information based on the commands in the control information.
In 412, the processed audiovisual information may be presented. Presenting the processed audiovisual information may include presenting video information on a display and/or presenting audio information on one or more speakers.
In 502, a first plurality of packets including first audiovisual information may be received. The packets containing the first audiovisual information may include one or more content streams intended for mobile and/or stationary devices. In one embodiment, the packets may be generated according to the ATSC (Advanced Television Standards Committee) DTV (digital television) standard containing one or more digital television channels intended for stationary receivers (e.g., televisions); alternatively, or in addition, the packets may contain one or more digital television channels intended for mobile/handheld (M/H) receivers. The packets containing the first audiovisual information may also include error correction coding, such as forward error correction; this may take any number of forms, including but not limited to RS encoding, Trellis encoding, CRCs, or other forms of error correction coding, including a combination of multiple methods.
In 504, a second plurality of packets including first error correction coding information for the first audiovisual information may be received. The first error correction coding information may be any type of error correction coding, as desired; thus, it may be the same as or different than the error correction coding information (if any) in the first plurality of packets. The first error correction information may be supplemental to any error correction information in the first plurality of packets. In one embodiment, both the first and second pluralities of packets may include coding information from a four state convolutional encoder, such as shown in
In a specific embodiment, the packets including the first audiovisual information may include a systematic coding scheme, while the packets including the first error correction coding information may include a complementary non-systematic coding scheme. In other words, the first error correction coding information may be an augmentation to the main stream (e.g., the first audiovisual information).
In another embodiment, the packets including the additional error correction information may include more than one complementary non-systematic coding scheme. In other words, there may be a systematic coding scheme in the audiovisual stream and two or more error correction coding patterns, complementary to each other and to the systematic coding scheme in the audiovisual stream, in a separate error correction stream. In other words, the first error correction coding information may be encoded in multiple nested streams.
In some embodiments, two or more of these audiovisual and/or error correction coding patterns may be separated in time and/or frequency. In other words, one stream may be received at one time on a certain frequency, while another stream may be received at a specified time delay and/or on a different frequency. In other words, there may be transmission diversity between the audiovisual information and the error correction coding information.
In 506, a third plurality of packets including second audiovisual information may be received. The second audiovisual information may be complementary to, partially complementary to and partially overlapping with, or completely overlapping with the first audiovisual information. In general, the first and second audiovisual information may benefit from being associated with each other; for example, the first and second audiovisual information may build on each other to produce a more robust signal.
In 508, a fourth plurality of packets including second error correction coding information for the second audiovisual information may be received. The second error correction coding information may be any type of error correction coding, as desired; thus, it may be the same as or different than the error correction coding information in the third plurality of packets. The error correction information in the fourth plurality of packets may be supplemental to any error correction information in the third plurality of packets. In one embodiment, both the third and fourth pluralities of packets may include coding information from a four state convolutional encoder, such as shown in
In a specific embodiment, the third plurality of packets may include a systematic coding scheme, while the fourth plurality of packets may include a complementary non-systematic coding scheme. Thus, in some embodiments, the first audiovisual information may be the input data in a systematic coding scheme, while the second audiovisual information may be complementary or overlapping input data in a complementary or overlapping coding scheme. The coded data (error correction information) for the complementary or overlapping coding schemes may be complementary.
The audiovisual streams (first and third pluralities of packets) may include this complementary error correction information; alternatively, or in addition, the complementary error correction coding information may be the error correction information in the second and fourth pluralities of packets. In some embodiments, the error correction coding information in the second and/or fourth packets may also be systematic coding schemes. Thus, in some embodiments, there may be a number of streams of overlapping or complementary audiovisual streams with complementary error correction coding information. In another possible embodiment, the error correction information in the second and fourth pluralities of packets may be non-systematic, but still complementary. In this case, there would be nested stream encoding in addition to the multiple complementary/overlapping audiovisual streams.
In other words, the audiovisual data may be either overlapping or complementary, while the error correction information may be complementary. In this way, it may be possible for a device to receive either the first packets with the first audiovisual information, or the third packets with the second audiovisual information, and use the audiovisual information even if the complementary/overlapping audiovisual information is not received. On the other hand, if all of the complementary/overlapping audiovisual information is received, the complementary coding data may provide additional robustness, allowing for a lower receive threshold. The case where multiple streams with overlapping audiovisual data with complementary error correction information are transmitted is referred to herein as ‘stagger casting’ and is described in further detail as it could be implemented in one embodiment with respect to
In 510, a fifth plurality of packets including control information which includes commands for associating the first error correction coding information with the first audiovisual information and commands for associating the second error correction coding information with the second audiovisual information may be received. The control information may indicate which error correction coding information is to be associated with which audiovisual information, and may indicate where in the pluralities of packets the error correction coding information and the audiovisual information to be associated are to be found. In other words, the control information may be usable by the mobile device to determine which error correction information in the second plurality of packets to use to process a particular block of audiovisual information from the first plurality of packets. The commands in the control information may also indicate if multiple blocks of audiovisual information are to be associated with each other, e.g., if the first and third pluralities of packets contain complementary or overlapping information. Similarly, the error correction coding associated with each audiovisual stream may be associated with another (complementary or overlapping) audiovisual stream, either explicitly by the commands in the control information, or inherently due to the association of the complementary or overlapping audiovisual streams with each other. In short, the commands in the control information may effectively form a cross stream association.
The control information may be in any number of formats, or may be divided into multiple formats. For example, in the ATSC M/H system, there may be a Fast Information Channel (FIC) and a Transmission Protocol Channel (TPC). Each of these may include part of the control information. In one embodiment, the presence of an augmented main stream (e.g., the presence of additional error correction information in the second plurality of packets) may be signaled by a command in the TPC, while the location, length, and form (and/or other information) of the additional error correction may be signaled by commands in the FIC. Specific embodiments of TPC and FIC signaling and syntax are shown in
In 512, the first error correction coding information may be associated with the first audiovisual information based on the control information, while in 514, the second error correction coding information may be associated with the second audiovisual information based on the control information. The mobile device may associate specific error correction coding information with a specific portion of audiovisual information based on the commands in the control information, e.g., based on the TPC and FIC commands.
In 516, the first and second audiovisual information, including the first and second error correction coding information associated with the first and second audiovisual information, may be processed. Processing the audiovisual information may include performing the inverse of any steps taken in preparing the data for transmission and/or packetizing the data, e.g., demultiplexing the data, decoding any error correction information, decoding the audio and video data, etc. Decoding the error correction information may include both decoding any error correction information received in the first plurality of packets (i.e., with the first audiovisual information), and any error correction information received in the second plurality of packets (i.e., separated from the first audiovisual information) that is associated with the first audiovisual information based on the commands in the control information. Similarly, any error correction coding information received in the third plurality of packets may be decoded along with any associated error correction coding information received in the fourth plurality of packets. In some embodiments, because of the (explicit or implicit) association of the second error correction coding information with the first audiovisual information, the second error correction coding information may be used in processing the first audiovisual information. Similarly, the first error correction information may be used in processing the second audiovisual information. Likewise, if the first and second audiovisual information include complementary error correction coding information, they may be processed together. Such combinations of associated error correction coding information during processing may result in a stronger, more robust audiovisual stream for presentation, and/or may make it possible to receive and present audiovisual information at the mobile device even under adverse receiving conditions.
In 518, the processed audiovisual information may be presented. Presenting the processed audiovisual information may include presenting video information on a display and/or presenting audio information on one or more speakers.
In
The association of information between multiple data streams is what is referred to herein as cross stream association. In particular, when cross stream association is used to associate additional error correction information with a main audiovisual information stream, the resulting data stream is what is referred to herein as an augmented main stream.
A Fast Information Channel (FIC) may be used to enable transmission of management layer controls. The FIC may operate under a transport layer, in some embodiments providing channel content type but not content configuration. The FIC can be used to notify a receiver where to locate stream content and how to use that content in maximizing system performance. In one embodiment, no zero padding or byte stuffing will be used to align the state of an augmentation block to a particular M/H group. Instead, the start location must be signaled (i.e., because it will vary). The augmentation may occur at regular intervals, allowing a receiver to compare what it calculates to be the next block to what is signaled by the FIC. This may allow the use of multiple FIC packets to improve reliability.
Associated Parade ID (7 bits)—The ID of the associated parade this augmentation is to be applied. The value of 127 is reserved to specify the main service.
Station for service (7 bits)—the station number the service can be found on. This allows for frequency diversity and also allowed for the augmentation to exceed 19.28 Mbps since it can be placed on a different station.
Augmentation Type (4 bits)—
Length n (4 bits)—specified the number of nibbles (4 bit blocks) in the following field
Start of Next Augmentation Block (4n bits)—Value in parade payload bytes from the start of this group location to the start of the next augmentation block.
Block Size of the service (4n Bits)—Count in segments of the number of segments to apply the data to.
Size of Augmentation Block (4n Bits)—Number of bytes for the augmentation.
Start of Payload data (4n Bits)—number of segments from the current group to the start of the payload. This value can be negative so the field is a signed integer. This value should always be 0 for the augmentation of an M/H parade. This field will also specify where redundant information can be found as an alternative to the current data stream (i.e. diversity). If a stream has no redundancy or augmentation then this value will point to the current service and always be 0.
In addition to the FIC (which operates under the Transport Layer), there may also be a Transmission Parameter Channel (TPC) for signaling within the PHY layer. The TPC data has the following properties:
Parade Type (2 bits)—Specifies the type of parade that is being sent. The possible values and corresponding meanings of this field according to one embodiment are shown in Table 1.
Block Encoder Mode (2 bits)—Specifies the type of block encoder used. The block encoder mode can be used to disable the addition of RS+CRC, as shown in Table 2.
SCCC Outer Code Mode Extensions (2 bits each)—May be used to signal rates (e.g., 1/3, 2/3, 4/5, etc.) beyond the basic 1/4 and 1/2. An SCCC Outer Code Mode Field may signal an extension to an SCCC Outer Code Mode Extension, as shown in Table 3.
A further extension of transmission diversity is what is referred to herein as stagger casting. In this case, multiple complementary streams of error correction coding information may be transmitted, however, unlike nested stream encoding, each stream may retain sufficient information to permit decoding when received alone. In other words, each stream may employ systematic encoding. In this case, although each stream may be decoded when received alone, reception of multiple such streams (e.g., including complementary error correction coding information, similar to nested stream encoding) may effectively produce a higher coding rate, permitting a lower receive threshold.
Stagger casting is a further extension of the nested stream encoding concept, whereby complementary streams are encoded in a way that permits layered encoding coupled with potential for reliable data recovery based on receipt of either stream alone. The streams may be staggered in time and/or frequency to combat temporary signal dropout, as previously discussed. The complementary streams may be encoded with minimal overlap to conserve bandwidth, however, each stream still retains sufficient information (in terms of data (AV information) and code bits (error correction coding information) to enable stand alone data recovery. When both streams are received and associated with one another, the information builds together to permit reception at lower receive thresholds. To do this in the M/H system, slight modifications to the convolutional encoder (e.g., as shown in
Currently the M/H system offers (C0,C2),(C1,C4) and (C0,C1),(C3,C4) modes for 1/4 rate encoding. For 1/2 rate coding the M/H system offers (C0,C1). It is possible to split the 1/4 rate code (C0,C2),(C1,C4) into two separate streams. The two streams would be (C0,C2) and (C1,C4).
It can be seen that (C0,C2) is just a delayed parity version of the (C0,C1) code. Decoding this mode would only require a simple adjustment to a trellis decoder's state machine.
The (C1,C4) code has two problems. Firstly, it is a non-systematic code. However, the M/H convolutional encoder has a benefit that the memory is reset to 0 at the start of every SCCC block system, putting the trellis into a known state. The C4 code is a feedforward methodology. Due to cancellation of terms, C4 is the sum of C0 with a delayed version of itself. As the starting state is known, C4 can be transformed to C0, which means that a systematic decoder for the (C1,C4) code can be constructed.
The second issue with the (C1,C4) code is that equivalent code bit C4 is placed into the Z1 bit of the output symbol while the C1 bit is placed in the stronger Z2 bit. This opens up the issue of using only the C4 bit to decode the signal, since this bit by itself will be weaker than having it in the Z2 bit. However, may not matter if it is assumed that the decoding is for R=1/2 in this mode; in this case the decoder will just be more strongly biased by the parity code.
In order to enable the additional R=1/2 modes described with respect to
In order for the TPC signaling modification described with respect to
As described with respect to
Although the embodiments above have been described in considerable detail, numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.
This application is a continuation of U.S. patent application Ser. No. 15/847,636 titled “Multimedia Streams Which Use Control Information to Associate Audiovisual Streams” filed Dec. 19, 2017; which is a continuation of U.S. patent application Ser. No. 15/346,213 titled “Multimedia Streams Which Use Control Information to Associate Audiovisual Streams” filed Nov. 8, 2016, now U.S. Pat. No. 9,900,364 issued on Feb. 20, 2018; which is a continuation of U.S. patent application Ser. No. 13/629,844 titled “Wireless Transmission of Multimedia Streams Which Uses Control Information to Associate Error Correction Coding With an Audiovisual Stream” filed Sep. 28, 2012, now U.S. Pat. No. 9,515,776 issued on Dec. 6, 2016; which is a continuation of U.S. application Ser. No. 12/472,892 titled “Transmission of Multimedia Streams to Mobile Devices With Cross Stream Association” filed on May 27, 2009, now U.S. Pat. No. 8,332,896 issued on Dec. 11, 2012; which is a continuation-in-part of U.S. application Ser. No. 12/167,708 titled “Mobile Television Broadcast System” filed on Jul. 3, 2008, now U.S. Pat. No. 8,151,305 issued on Apr. 3, 2012; which claims benefit of priority to provisional applications Ser. No. 60/948,185 titled “Robust Mobile TV Broadcast System” filed Jul. 5, 2007, Ser. No. 60/958,585 titled “Robust Mobile TV Broadcast System” filed Jul. 5, 2007, and Ser. No. 60/999,039 titled “Robust Mobile TV Broadcast System” filed Oct. 14, 2007, all of which are hereby incorporated by reference in their entirety as though fully and completely set forth herein. U.S. application Ser. No. 12/472,892 also claims benefit of priority to provisional application Ser. No. 61/130,344 titled “Enhanced Mobile TV System” filed on May 31, 2008, which is hereby incorporated by reference in its entirety as though fully and completely set forth herein.
Number | Date | Country | |
---|---|---|---|
60948185 | Jul 2007 | US | |
60958585 | Jul 2007 | US | |
60999039 | Oct 2007 | US | |
61130344 | May 2008 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15847636 | Dec 2017 | US |
Child | 16560715 | US | |
Parent | 15346213 | Nov 2016 | US |
Child | 15847636 | US | |
Parent | 13629844 | Sep 2012 | US |
Child | 15346213 | US | |
Parent | 12472892 | May 2009 | US |
Child | 13629844 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12167708 | Jul 2008 | US |
Child | 12472892 | US |