A broadcast receiving system capable of receiving mobile broadcast data and a method for processing broadcast signals are disclosed. The broadcast receiving system includes N number of antenna elements, a demodulator, a transmission parameter detector, and a block decoder. The N number of antenna elements receives each of the broadcast signals. The demodulator demodulates the broadcast signal having greater signal strength among each of the received broadcast signals. The transmission parameter detector detects the transmission parameter. The block decoder symbol-decodes the mobile broadcast service data included in the received broadcast signal in block units, based upon the detected transmission parameter.
|
6. A method for processing broadcast signals, the method comprising:
receiving, at a tuner, a broadcast signal including a transmission frame,
wherein a parade of data groups are received during slots within the transmission frame, the slots being basic time periods for multiplexing of mobile data and main data,
wherein the data groups of the parade are assigned to the transmission frame, a total number of the data groups assigned to the transmission frame being a multiple of five,
wherein a plurality of consecutive data groups in the parade are assigned to be spaced apart from one another within the transmission frame,
wherein each of the data groups includes the mobile data, a transmission parameter, known data sequences and a plurality of regions including data blocks,
wherein a first region of the plurality of regions includes a fourth data block, a fifth data block, a sixth data block and a seventh data block of the data blocks,
wherein a second region of the plurality of regions includes a third data block and an eighth data block of the data blocks,
wherein a third region of the plurality of regions includes a second data block and a ninth data block of the data blocks,
wherein a fourth region of the plurality of regions includes a first data block and a tenth data block of the data blocks,
wherein a first known data sequence of the known data sequences is located in the third data block of the data blocks,
wherein a second known data sequence of the known data sequences and a third known data sequence of the known data sequences are located in the fourth data block of the data blocks,
wherein a fourth known data sequence of the known data sequences is located in the fifth data block of the data blocks,
wherein a fifth known data sequence of the known data sequences is located in the sixth data block of the data blocks, and
wherein a sixth known data sequence of the known data sequences is located in the seventh data block of the data blocks;
demodulating the broadcast signal;
detecting the transmission parameter;
symbol-decoding the mobile data included in the received broadcast signal in block units based upon the detected transmission parameter; and
building two-dimensional RS frames by gathering RS frame portions including the symbol-decoded mobile data,
wherein a size of at least one of the two-dimensional RS frames is (187+P)×(N+2), wherein P and N are integers.
1. A broadcast receiving system comprising:
a tuner for receiving a broadcast signal including a transmission frame,
wherein a parade of data groups are received during slots within the transmission frame, the slots being basic time periods for multiplexing of mobile data and main data,
wherein the data groups of the parade are assigned to the transmission frame, a total number of the data groups assigned to the transmission frame being a multiple of five,
wherein a plurality of consecutive data groups in the parade are assigned to be spaced apart from one another within the transmission frame,
wherein each of the data groups includes the mobile data, a transmission parameter, known data sequences and a plurality of regions including data blocks,
wherein a first region of the plurality of regions includes a fourth data block, a fifth data block, a sixth data block and a seventh data block of the data blocks,
wherein a second region of the plurality of regions includes a third data block and an eighth data block of the data blocks,
wherein a third region of the plurality of regions includes a second data block and a ninth data block of the data blocks,
wherein a fourth region of the plurality of regions includes a first data block and a tenth data block of the data blocks,
wherein a first known data sequence of the known data sequences is located in the third data block of the data blocks,
wherein a second known data sequence of the known data sequences and a third known data sequence of the known data sequences are located in the fourth data block of the data blocks,
wherein a fourth known data sequence of the known data sequences is located in the fifth data block of the data blocks,
wherein a fifth known data sequence of the known data sequences is located in the sixth data block of the data blocks, and
wherein a sixth known data sequence of the known data sequences is located in the seventh data block of the data blocks;
a demodulator for demodulating the broadcast signal;
a transmission parameter detector for detecting the transmission parameter;
a block decoder for symbol-decoding the mobile data included in the received broadcast signal in block units based upon the detected transmission parameter; and
a Reed-Solomon (RS) frame decoder for building two-dimensional RS frames by gathering RS frame portions including the symbol-decoded mobile data,
wherein a size of at least one of the two-dimensional RS frames is (187+P)×(N+2), wherein P and N are integers.
2. The broadcast receiving system of
a known sequence detector for detecting at least one known data included in the received broadcast signal; and
a channel equalizer for channel-equalizing the received mobile data using the detected at least one known data.
3. The broadcast receiving system of
wherein the RS frame decoder is further for performing cyclic redundancy check (CRC)-decoding and RS-decoding on the symbol-decoded mobile data of the two-dimensional RS frames in order to correct errors.
4. The broadcast receiving system of
a power controller for controlling power based upon the detected transmission parameter in order to receive one of the data groups including requested mobile data.
5. The broadcast receiving system of
a derandomizer for derandomizing the symbol-decoded mobile data.
7. The method of
detecting at least one known data included in the received broadcast signal; and
channel-equalizing the received mobile data using the detected at least one known data.
8. The method of
performing cyclic redundancy check (CRC)-decoding and Reed-Solomon (RS)-decoding on the symbol-decoded mobile data of the two-dimensional RS frames in order to correct errors.
9. The method of
controlling power based upon the detected transmission parameter in order to receive one of the data groups including requested mobile data.
0. 11. The broadcast receiving system of claim 1, wherein the transmission parameter includes a version of fast information channel.
0. 12. The method of claim 6, wherein the transmission parameter includes a version of fast information channel.
|
Herein, j indicates the slot number within a sub-frame. The value of j may range from 0 to 15 (i.e., 0≦j≦15). Also, variable i indicates the data group number. The value of i may range from 0 to 15 (i.e., 0≦i≦15).
In the present invention, a collection of data groups included in a MPH frame will be referred to as a “parade”. Based upon the RS frame mode, the parade transmits data of at least one specific RS frame. The mobile broadcast service data within one RS frame may be assigned either to all of regions A/B/C/D within the corresponding data group, or to at least one of regions A/B/C/D. In the embodiment of the present invention, the mobile broadcast service data within one RS frame may be assigned either to all of regions A/B/C/D, or to at least one of regions A/B and regions C/D. If the mobile broadcast service data are assigned to the latter case (i.e., one of regions A/B and regions C/D), the RS frame being assigned to regions A/B and the RS frame being assigned to regions C/D within the corresponding data group are different from one another.
In the description of the present invention, the RS frame being assigned to regions A/B within the corresponding data group will be referred to as a “primary RS frame”, and the RS frame being assigned to regions C/D within the corresponding data group will be referred to as a “secondary RS frame”, for simplicity. Also, the primary RS frame and the secondary RS frame form (or configure) one parade. More specifically, when the mobile broadcast service data within one RS frame are assigned either to all of regions A/B/C/D within the corresponding data group, one parade transmits one RS frame. Conversely, when the mobile broadcast service data within one RS frame are assigned either to at least one of regions A/B and regions C/D, one parade may transmit up to 2 RS frames. More specifically, the RS frame mode indicates whether a parade transmits one RS frame, or whether the parade transmits two RS frames. Table 1 below shows an example of the RS frame mode.
TABLE 1
RS frame
mode (2 bits)
Description
00
There is only one primary RS frame for all group regions
01
There are two separate RS frames.
Primary RS frame for group regions A and B
Secondary RS frame for group regions C and D
10
Reserved
11
Reserved
Table 1 illustrates an example of allocating 2 bits in order to indicate the RS frame mode. For example, referring to Table 1, when the RS frame mode value is equal to ‘00’, this indicates that one parade transmits one RS frame. And, when the RS frame mode value is equal to ‘01’, this indicates that one parade transmits two RS frames, i.e., the primary RS frame and the secondary RS frame. More specifically, when the RS frame mode value is equal to ‘01’, data of the primary RS frame for regions A/B are assigned and transmitted to regions A/B of the corresponding data group. Similarly, data of the secondary RS frame for regions C/D are assigned and transmitted to regions C/D of the corresponding data group.
Additionally, one RS frame transmits one ensemble. Herein, the ensemble is a collection of services requiring the same quality of service (QOS) and being encoded with the same FEC codes. More specifically, when one parade is configured of one RS frame, then one parade transmits one ensemble. Conversely, when one parade is configured of two RS frames, i.e., when one parade is configured of a primary RS frame and a secondary RS frame, then one parade transmits two ensembles (i.e., a primary ensemble and a secondary ensemble). More specifically, the primary ensemble is transmitted through a primary RS frame of a parade, and the secondary ensemble is transmitted through a secondary RS frame of a parade. The RS frame is a 2-dimensional data frame through which an ensemble is RS-CRC encoded.
As described in the assignment of data groups, the parades are also assigned to be spaced as far apart from one another as possible within the sub-frame. Thus, the system can be capable of responding promptly and effectively to any burst error that may occur within a sub-frame. Furthermore, the method of assigning parades may be identically applied to all sub-frames or differently applied to each sub-frame. According to the embodiment of the present invention, the parades may be assigned differently for each MPH frame and identically for all sub-frames within an MPH frame. More specifically, the MPH frame structure may vary by MPH frame units. Thus, an ensemble rate may be adjusted on a more frequent and flexible basis.
For example, when it is assumed that one parade transmits one RS frame, and that a RS frame encoder located in a later block performs RS-encoding on the corresponding RS frame, thereby adding 24 bytes of parity data to the corresponding RS frame and transmitting the processed RS frame, the parity data occupy approximately 11.37% (=24/(187+24)×100) of the total code word length. Meanwhile, when one sub-frame includes 3 data groups, and when the data groups included in the parade are assigned, as shown in
Meanwhile, when data groups of a parade are assigned as described above, either main broadcast service data may be assigned between each data group, or data groups corresponding to different parades may be assigned between each data group. More specifically, data groups corresponding to multiple parades may be assigned to one MPH frame. Basically, the method of assigning data groups corresponding to multiple parades is very similar to the method of assigning data groups corresponding to a single parade. In other words, data groups included in other parades that are to be assigned to an MPH frame are also respectively assigned according to a cycle period of 4 slots. At this point, data groups of a different parade may be sequentially assigned to the respective slots in a circular method. Herein, the data groups are assigned to slots starting from the ones to which data groups of the previous parade have not yet been assigned. For example, when it is assumed that data groups corresponding to a parade are assigned as shown in
As described above, data groups of multiple parades may be assigned to a single MPH frame, and, in each sub-frame, the data groups are serially allocated to a group space having 4 slots from left to right. Therefore, a number of groups of one parade per sub-frame (NOG) may correspond to any one integer from ‘1’ to ‘8’. Herein, since one MPH frame includes 5 sub-frames, the total number of data groups within a parade that can be allocated to an MPH frame may correspond to any one multiple of ‘5’ ranging from ‘5’ to ‘40’.
General Description of the Transmitting System
Herein, the digital broadcast transmitting includes a service multiplexer 1100 and a transmitter 1200. Herein, the service multiplexer 1100 is located in the studio of each broadcast station, and the transmitter 1200 is located in a site placed at a predetermined distance from the studio. The transmitter 1200 may be located in a plurality of different locations. Also, for example, the plurality of transmitters may share the same frequency. And, in this case, the plurality of transmitters receives the same signal. Accordingly, in the receiving system, a channel equalizer may compensate signal distortion, which is caused by a reflected wave, so as to recover the original signal. In another example, the plurality of transmitters may have different frequencies with respect to the same channel.
The receiving system may become a telematics terminal, a mobile phone, a terminal for receiving mobile broadcast. PDA, and a notebook computer, and so on.
A variety of methods may be used for data communication each of the transmitters, which are located in remote positions, and the service multiplexer. For example, an interface standard such as a synchronous serial interface for transport of MPEG-2 data (SMPTE-310M). In the SMPTE-310M interface standard, a constant data rate is decided as an output data rate of the service multiplexer. For example, in case of the 8VSB mode, the output data rate is 19.39 Mbps, and, in case of the 16VSB mode, the output data rate is 38.78 Mbps. Furthermore, in the conventional 8VSB mode transmitting system, a transport stream (TS) packet having a data rate of approximately 19.39 Mbps may be transmitted through a single physical channel. Also, in the transmitting system according to the present invention provided with backward compatibility with the conventional transmitting system, additional encoding is performed on the mobile broadcast service data. Thereafter, the additionally encoded mobile broadcast service data are multiplexed with the main broadcast service data to a TS packet form, which is then transmitted. At this point, the data rate of the multiplexed TS packet is approximately 19.39 Mbps.
At this point, the service multiplexer 1100 receives at least one type of mobile broadcast service data and program specific information/program and system information protocol (PSI/PSIP) table data for each mobile broadcast service so as to encapsulate the received data to each TS packet. Also, the service multiplexer 1100 receives at least one type of main broadcast service data and PSI/PSIP table data for each main broadcast service and encapsulates the received data to a transport stream (TS) packet. Subsequently, the TS packets are multiplexed according to a predetermined multiplexing rule and outputs the multiplexed packets to the transmitter 1200.
Service Multiplexer
The transport multiplexer 1160 may include a main broadcast service multiplexer 1161 and a transport stream (TS) packet multiplexer 1162.
Referring to
Thereafter, at least one type of the compression encoded mobile broadcast service data and the PSI/PSIP table data generated from the PSI/PSIP generator 1130 for the mobile broadcast service are inputted to the mobile broadcast service multiplexer 1150.
The mobile broadcast service multiplexer 1150 encapsulates each of the inputted mobile broadcast service data and PSI/PSIP table data to MPEG-2 TS packet forms. Then, the MPEG-2 TS packets are multiplexed and outputted to the TS packet multiplexer 1162. Herein, the data packet being outputted from the mobile broadcast service multiplexer 1150 will be referred to as a mobile broadcast service data packet for simplicity.
At this point, the transmitter 1200 requires identification information in order to identify and process the main broadcast service data packet and the mobile broadcast service data packet. Herein, the identification information may use values pre-decided in accordance with an agreement between the transmitting system and the receiving system, or may be configured of a separate set of data, or may modify predetermined location value with in the corresponding data packet.
As an example of the present invention, a different packet identifier (PID) may be assigned to identify each of the main broadcast service data packet and the mobile broadcast service data packet.
In another example, by modifying a synchronization data byte within a header of the mobile broadcast service data, the service data packet may be identified by using the synchronization data byte value of the corresponding service data packet. For example, the synchronization byte of the main broadcast service data packet directly outputs the value decided by the ISO/IEC13818-1 standard (i.e., 0×47) without any modification. The synchronization byte of the mobile broadcast service data packet modifies and outputs the value, thereby identifying the main broadcast service data packet and the mobile broadcast service data packet. Conversely, the synchronization byte of the main broadcast service data packet is modified and outputted, whereas the synchronization byte of the mobile broadcast service data packet is directly outputted without being modified, thereby enabling the main broadcast service data packet and the mobile broadcast service data packet to be identified.
A plurality of methods may be applied in the method of modifying the synchronization byte. For example, each bit of the synchronization byte may be inversed, or only a portion of the synchronization byte may be inversed.
As described above, any type of identification information may be used to identify the main broadcast service data packet and the mobile broadcast service data packet. Therefore, the scope of the present invention is not limited only to the example set forth in the description of the present invention.
Meanwhile, a transport multiplexer used in the conventional digital broadcasting system may be used as the transport multiplexer 1160 according to the present invention. More specifically, in order to multiplex the mobile broadcast service data and the main broadcast service data and to transmit the multiplexed data, the data rate of the main broadcast service is limited to a data rate of (19.39−K) Mbps. Then, K Mbps, which corresponds to the remaining data rate, is assigned as the data rate of the mobile broadcast service. Thus, the transport multiplexer which is already being used may be used as it is without any modification.
Herein, the transport multiplexer 1160 multiplexes the main broadcast service data packet being outputted from the main broadcast service multiplexer 1161 and the mobile broadcast service data packet being outputted from the mobile broadcast service multiplexer 1150. Thereafter, the transport multiplexer 1160 transmits the multiplexed data packets to the transmitter 1200.
However, in some cases, the output data rate of the mobile broadcast service multiplexer 1150 may not be equal to K Mbps. In this case, the mobile broadcast service multiplexer 1150 multiplexes and outputs null data packets generated from the null packet generator 1140 so that the output data rate can reach K Mbps. More specifically, in order to match the output data rate of the mobile broadcast service multiplexer 1150 to a constant data rate, the null packet generator 1140 generates null data packets, which are then outputted to the mobile broadcast service multiplexer 1150.
For example, when the service multiplexer 1100 assigns K Mbps of the 19.39 Mbps to the mobile broadcast service data, and when the remaining (19.39−K) Mbps is, therefore, assigned to the main broadcast service data, the data rate of the mobile broadcast service data that are multiplexed by the service multiplexer 1100 actually becomes lower than K Mbps. This is because, in case of the mobile broadcast service data, the pre-processor of the transmitting system performs additional encoding, thereby increasing the amount of data. Eventually, the data rate of the mobile broadcast service data, which may be transmitted from the service multiplexer 1100, becomes smaller than K Mbps.
For example, since the pre-processor of the transmitter performs an encoding process on the mobile broadcast service data at a coding rate of at least 1/2, the amount of the data outputted from the pre-processor is increased to more than twice the amount of the data initially inputted to the pre-processor. Therefore, the sum of the data rate of the main broadcast service data and the data rate of the mobile broadcast service data, both being multiplexed by the service multiplexer 1100, becomes either equal to or smaller than 19.39 Mbps.
Therefore, in order to match the data rate of the data that are finally outputted from the service multiplexer 1100 to a constant data rate (e.g., 19.39 Mbps), an amount of null data packets corresponding to the amount of lacking data rate is generated from the null packet generator 1140 and outputted to the mobile broadcast service multiplexer 1150. Accordingly, the mobile broadcast service multiplexer 1150 encapsulates each of the mobile broadcast service data and the PSI/PSIP table data that are being inputted to a MPEG-2 TS packet form. Then, the above-described TS packets are multiplexed with the null data packets and, then, outputted to the TS packet multiplexer 1162.
Thereafter, the TS packet multiplexer 1162 multiplexes the main broadcast service data packet being outputted from the main broadcast service multiplexer 1161 and the mobile broadcast service data packet being outputted from the mobile broadcast service multiplexer 1150 and transmits the multiplexed data packets to the transmitter 1200 at a data rate of 19.39 Mbps.
According to an embodiment of the present invention, the mobile broadcast service multiplexer 1150 receives the null data packets. However, this is merely exemplary and does not limit the scope of the present invention. In other words, according to another embodiment of the present invention, the TS packet multiplexer 1162 may receive the null data packets, so as to match the data rate of the finally outputted data to a constant data rate. Herein, the output path and multiplexing rule of the null data packet is controlled by the controller 1110. The controller 1110 controls the multiplexing processed performed by the mobile broadcast service multiplexer 1150, the main broadcast service multiplexer 1161 of the transport multiplexer 1160, and the TS packet multiplexer 1162, and also controls the null data packet generation of the null packet generator 1140. At this point, the transmitter 1200 discards the null data packets transmitted from the service multiplexer 1100 instead of transmitting the null data packets.
Further, in order to allow the transmitter 1200 to discard the null data packets transmitted from the service multiplexer 1100 instead of transmitting them, identification information for identifying the null data packet is required. Herein, the identification information may use values pre-decided in accordance with an agreement between the transmitting system and the receiving system. For example, the value of the synchronization byte within the header of the null data packet may be modified so as to be used as the identification information. Alternatively, a transport_error_indicator flag may also be used as the identification information.
In the description of the present invention, an example of using the transport_error_indicator flag as the identification information will be given to describe an embodiment of the present invention. In this case, the transport_error_indicator flag of the null data packet is set to ‘1’, and the transport_error_indicator flag of the remaining data packets are reset to ‘0’, so as to identify the null data packet. More specifically, when the null packet generator 1140 generates the null data packets, if the transport_error_indicator flag from the header field of the null data packet is set to ‘1’ and then transmitted, the null data packet may be identified and, therefore, be discarded. In the present invention, any type of identification information for identifying the null data packets may be used. Therefore, the scope of the present invention is not limited only to the examples set forth in the description of the present invention.
According to another embodiment of the present invention, a transmission parameter may be included in at least a portion of the null data packet, or at least one table or an operations and maintenance (OM) packet (or OMP) of the PSI/PSIP table for the mobile broadcast service. In this case, the transmitter 1200 extracts the transmission parameter and outputs the extracted transmission parameter to the corresponding block and also transmits the extracted parameter to the receiving system if required. More specifically, a packet referred to as an OMP is defined for the purpose of operating and managing the transmitting system. For example, the OMP is configured in accordance with the MPEG-2 TS packet format, and the corresponding PID is given the value of 0x1FFA. The OMP is configured of a 4-byte header and a 184-byte payload. Herein, among the 184 bytes, the first byte corresponds to an OM_type field, which indicates the type of the OM packet.
In the present invention, the transmission parameter may be transmitted in the form of an OMP. And, in this case, among the values of the reserved fields within the OM_type field, a pre-arranged value is used, thereby indicating that the transmission parameter is being transmitted to the transmitter 1200 in the form of an OMP. More specifically, the transmitter 1200 may find (or identify) the OMP by referring to the PID. Also, by parsing the OM_type field within the OMP, the transmitter 1200 can verify whether a transmission parameter is included after the OM_type field of the corresponding packet. The transmission parameter corresponds to supplemental data required for processing mobile broadcast service data from the transmitting system and the receiving system.
The transmission parameter corresponds to supplemental data required for processing mobile broadcast service data from the transmitting system and the receiving system. Herein, the transmission parameter may include data group information, region information within the data group, block information, RS frame information, super frame information, MPH frame information, parade information, ensemble information, information associated with serial concatenated convolution code (SCCC), and RS code information. The significance of some information within the transmission parameters has already been described in detail. Descriptions of other information that have not yet been described will be in detail in a later process.
The transmission parameter may also include information on how signals of a symbol domain are encoded in order to transmit the mobile broadcast service data, and multiplexing information on how the main broadcast service data and the mobile broadcast service data or various types of mobile broadcast service data are multiplexed.
The information included in the transmission parameter are merely exemplary to facilitate the understanding of the present invention. And, the adding and deleting of the information included in the transmission parameter may be easily modified and changed by anyone skilled in the art. Therefore, the present invention is not limited to the examples proposed in the description set forth herein.
Furthermore, the transmission parameters may be provided from the service multiplexer 1100 to the transmitter 1200. Alternatively, the transmission parameters may also be set up by an internal controller (not shown) within the transmitter 1200 or received from an external source.
Transmitter
The pre-processor 1230 performs an additional encoding process of the mobile broadcast service data included in the service data packet, which is demultiplexed and outputted from the demultiplexer 1210. The pre-processor 1230 also performs a process of configuring a data group so that the data group may be positioned at a specific place in accordance with the purpose of the data, which are to be transmitted on a transmission frame. This is to enable the mobile broadcast service data to respond swiftly and strongly against noise and channel changes. The pre-processor 1230 may also refer to the transmission parameter when performing the additional encoding process. Also, the pre-processor 1230 groups a plurality of mobile broadcast service data packets to configure a data group. Thereafter, known data, mobile broadcast service data, RS parity data, and MPEG header are allocated to predetermined regions within the data group.
Pre-Processor within Transmitter
When the RS frame mode value is equal to ‘01’, i.e., when the data of the primary RS frame are assigned to regions A/B of the corresponding data group and data of the secondary RS frame are assigned to regions C/D of the corresponding data group, each RS frame encoder creates a primary RS frame and a secondary RS frame for each parade. Conversely, when the RS frame mode value is equal to ‘00’, when the data of the primary RS frame are assigned to all of regions A/B/C/D, each RS frame encoder creates a RS frame (i.e., a primary RS frame) for each parade. Also, each RS frame encoder divides each RS frame into several portions. Each portion of the RS frame is equivalent to a data amount that can be transmitted by a data group.
The output multiplexer (MUX) 1320 multiplexes portions within M number of RS frame encoders 1310 to 131M-1 are multiplexed and then outputted to the block processor 1302. For example, if one parade transmits two RS frames, portions of primary RS frames within M number of RS frame encoders 1310 to 131M-1 are multiplexed and outputted. Thereafter, portions of secondary RS frames within M number of RS frame encoders 1310 to 131M-1 are multiplexed and transmitted. The input demultiplexer (DEMUX) 1309 and the output multiplexer (MUX) 1320 operate based upon the control of the control unit 1205. The control unit 1205 may provide necessary (or required) FEC modes to each RS frame encoder. The FEC mode includes the RS code mode, which will be described in detail in a later process.
More specifically, the data randomizer 1411 of the primary encoder 1410 receives mobile broadcast service data of a primary ensemble outputted from the output demultiplexer (DEMUX) 1309. Then, after randomizing the received mobile broadcast service data, the data randomizer 1411 outputs the randomized data to the RS-CRC encoder 1412. At this point, since the data randomizer 1411 performs the randomizing process on the mobile broadcast service data, the randomizing process that is to be performed by the data randomizer 1251 of the post-processor 1250 on the mobile broadcast service data may be omitted. The data randomizer 1411 may also discard the synchronization byte within the mobile broadcast service data packet and perform the randomizing process. This is an option that may be chosen by the system designer. In the example given in the present invention, the randomizing process is performed without discarding the synchronization byte within the corresponding mobile broadcast service data packet.
The RS-CRC encoder 1412 uses at least one of a Reed-Solomon (RS) code and a cyclic redundancy check (CRC) code, so as to perform forward error collection (FEC) encoding on the randomized primary ensemble, thereby forming a primary RS frame. Therefore, the RS-CRC encoder 1412 outputs the newly formed primary RS frame to the RS frame divider 1413. The RS-CRC encoder 1412 groups a plurality of mobile broadcast service data packets that is randomized and inputted, so as to create a RS frame. Then, the RS-CRC encoder 1412 performs at least one of an error correction encoding process and an error detection encoding process in RS frame units. Accordingly, robustness may be provided to the mobile broadcast service data, thereby scattering group error that may occur during changes in a frequency environment, thereby enabling the mobile broadcast service data to respond to the frequency environment, which is extremely vulnerable and liable to frequent changes. Also, the RS-CRC encoder 1412 groups a plurality of RS frame so as to create a super frame, thereby performing a row permutation process in super frame units. The row permutation process may also be referred to as a “row interleaving process”. Hereinafter, the process will be referred to as “row permutation” for simplicity.
More specifically, when the RS-CRC encoder 1412 performs the process of permuting each row of the super frame in accordance with a pre-determined rule, the position of the rows within the super frame before and after the row permutation process is changed. If the row permutation process is performed by super frame units, and even though the section having a plurality of errors occurring therein becomes very long, and even though the number of errors included in the RS frame, which is to be decoded, exceeds the extent of being able to be corrected, the errors become dispersed within the entire super frame. Thus, the decoding ability is even more enhanced as compared to a single RS frame.
At this point, as an example of the present invention, RS-encoding is applied for the error correction encoding process, and a cyclic redundancy check (CRC) encoding is applied for the error detection process in the RS-CRC encoder 1412. When performing the RS-encoding, parity data that are used for the error correction are generated. And, when performing the CRC encoding, CRC data that are used for the error detection are generated. The CRC data generated by CRC encoding may be used for indicating whether or not the mobile broadcast service data have been damaged by the errors while being transmitted through the channel. In the present invention, a variety of error detection coding methods other than the CRC encoding method may be used, or the error correction coding method may be used to enhance the overall error correction ability of the receiving system. Herein, the RS-CRC encoder 1412 refers to a pre-determined transmission parameter provided by the control unit 1205 and/or a transmission parameter provided from the service multiplexer 1100 so as to perform operations including RS frame configuration, RS encoding, CRC encoding, super frame configuration, and row permutation in super frame units.
Detailed Description of the RS Frame
Herein, NoG indicates the number of data groups assigned to a sub-frame. PL represents the number of SCCC payload data bytes assigned to a data group. And, P signifies the number of RS parity data bytes added to each column of the RS frame. Finally, └X┘ is the greatest integer that is equal to or smaller than X.
More specifically, in Equation 2, PL corresponds to the length of an RS frame portion. The value of PL is equivalent to the number of SCCC payload data bytes that are assigned to the corresponding data group. Herein, the value of PL may vary depending upon the RS frame mode, SCCC block mode, and SCCC outer code mode. Table 2 to Table 5 below respectively show examples of PL values, which vary in accordance with the RS frame mode, SCCC block mode, and SCCC outer code mode. The SCCC block mode and the SCCC outer code mode will be described in detail in a later process.
TABLE 2
SCCC outer code mode
for Region A
for Region B
for Region C
for Region D
PL
00
00
00
00
9624
00
00
00
01
9372
00
00
01
00
8886
00
00
01
01
8634
00
01
00
00
8403
00
01
00
01
8151
00
01
01
00
7665
00
01
01
01
7413
01
00
00
00
7023
01
00
00
01
6771
01
00
01
00
6285
01
00
01
01
6033
01
01
00
00
5802
01
01
00
01
5550
01
01
01
00
5064
01
01
01
01
4812
Others
Reserved
Table 2 shows an example of the PL values for each data group within an RS frame, wherein each PL value varies depending upon the SCCC outer code mode, when the RS frame mode value is equal to ‘00’, and when the SCCC block mode value is equal to ‘00’. For example, when it is assumed that each SCCC outer code mode value of regions A/B/C/D within the data group is equal to ‘00’ (i.e., the block processor 1302 of a later block performs encoding at a coding rate of 1/2), the PL value within each data group of the corresponding RS frame may be equal to 9624 bytes. More specifically, 9624 bytes of mobile broadcast service data within one RS frame may be assigned to regions A/B/C/D of the corresponding data group.
TABLE 3
SCCC outer code mode
PL
00
9624
01
4812
Others
Reserved
Table 3 shows an example of the PL values for each data group within an RS frame, wherein each PL value varies depending upon the SCCC outer code mode, when the RS frame mode value is equal to ‘00’, and when the SCCC block mode value is equal to ‘01’.
TABLE 4
SCCC outer code mode
for Region A
for Region B
PL
00
00
7644
00
01
6423
01
00
5043
01
01
3822
Others
Reserved
Table 4 shows an example of the PL values for each data group within a primary RS frame, wherein each PL value varies depending upon the SCCC outer code mode, when the RS frame mode value is equal to ‘01’, and when the SCCC block mode value is equal to ‘00’. For example, when each SCCC outer code mode value of regions A/B is equal to ‘00’, 7644 bytes of mobile broadcast service data within a primary RS frame may be assigned to regions A/B of the corresponding data group.
TABLE 5
SCCC outer code mode
for Region C
for Region D
PL
00
00
1980
00
01
1728
01
00
1242
01
01
990
Others
Reserved
Table 5 shows an example of the PL values for each data group within a secondary RS frame, wherein each PL value varies depending upon the SCCC outer code mode, when the RS frame mode value is equal to ‘01’, and when the SCCC block mode value is equal to ‘00’. For example, when each SCCC outer code mode value of regions C/D is equal to ‘00’, 1980 bytes of mobile broadcast service data within a secondary RS frame may be assigned to regions C/D of the corresponding data group.
According to the embodiment of the present invention, the value of N is equal to or greater than 187 (i.e., N≧187). More specifically, the RS frame of
When the mobile broadcast service data that are being inputted correspond to a MPEG transport packet stream configured of 188-byte units, the first synchronization byte is removed so as to configure a 187-byte unit. Then, N number of packets are grouped to form an RS frame. Herein, the synchronization byte is removed because each mobile broadcast service data packet has the same value. Meanwhile, when the input mobile broadcast service data of the RS frame do not correspond to the MPEG TS packet format, the mobile broadcast service data are inputted N number of times in 187-byte units without being processed with the removing of the MPEG synchronization byte, thereby creating a RS frame.
In addition, when the input data format of the RS frame supports both the input data corresponding to the MPEG TS packet and the input data not corresponding to the MPEG TS packet, such information may be included in a transmission parameter transmitted from the service multiplexer 1100, thereby being sent to the transmitter 1200. Accordingly, the RS-CRC encoder 1412 of the transmitter 1200 receives this information to be able to control whether or not to perform the process of removing the MPEG synchronization byte. Also, the transmitter provides such information to the receiving system so as to control the process of inserting the MPEG synchronization byte that is to be performed by the RS frame decoder of the receiving system. Herein, the process of removing the synchronization byte may be performed during a randomizing process of the data randomizer 1411 in an earlier process. In this case, the process of the removing the synchronization byte by the RS-CRC encoder 1412 may be omitted.
Moreover, when adding synchronization bytes from the receiving system, the process may be performed by the data derandomizer instead of the RS frame decoder. Therefore, if a removable fixed byte (e.g., synchronization byte) does not exist within the mobile broadcast service data packet that is being inputted to the RS-CRC encoder 1412, or if the mobile broadcast service data that are being inputted are not configured in a packet format, the mobile broadcast service data that are being inputted are divided into 187-byte units, thereby configuring a packet for each 187-byte unit.
Subsequently, N number of packets configured of 187 bytes is grouped to configure a RS frame. At this point, the RS frame is configured as a RS frame having the size of N(row)×187(column) bytes, in which 187-byte packets are sequentially inputted in a row direction. More specifically, each of the N number of columns included in the RS frame includes 187 bytes. When the RS frame is created, as shown in
TABLE 6
RS code mode
RS code
Number of Parity Bytes (P)
00
(211, 187)
24
01
(223, 187)
36
10
(235, 187)
48
11
Reserved
Reserved
Table 6 shows an example of 2 bits being assigned in order to indicate the RS code mode. The RS code mode represents the number of parity bytes corresponding to the RS frame. For example, when the RS code mode value is equal to ‘10’, (235, 187)-RS-encoding is performed on the RS frame of
When such RS encoding process is performed on all N number of columns, a RS frame having the size of N(row)×(187+P)(column) bytes may be created, as shown in
The present invention may also use different error detection encoding methods other than the CRC encoding method. Alternatively, the present invention may use the error correction encoding method to enhance the overall error correction ability of the receiving system.
g(x)=x16+x12+x5+1 Equation 3
The process of adding a 2-byte checksum in each row is only exemplary. Therefore, the present invention is not limited only to the example proposed in the description set forth herein. As described above, when the process of RS encoding and CRC encoding are completed, the (N×187)-byte RS frame is expanded to a (N+2)×(187+P)-byte RS frame. Based upon an error correction scenario of a RS frame expanded as described above, the data bytes within the RS frame are transmitted through a channel in a row direction. At this point, when a large number of errors occur during a limited period of transmission time, errors also occur in a row direction within the RS frame being processed with a decoding process in the receiving system. However, in the perspective of RS encoding performed in a column direction, the errors are shown as being scattered. Therefore, error correction may be performed more effectively. At this point, a method of increasing the number of parity data bytes (P) may be used in order to perform a more intense error correction process. However, using this method may lead to a decrease in transmission efficiency. Therefore, a mutually advantageous method is required. Furthermore, when performing the decoding process, an erasure decoding process may be used to enhance the error correction performance.
Additionally, the RS-CRC encoder 1412 according to the present invention also performs a row permutation (or interleaving) process in super frame units in order to further enhance the error correction performance when error correction the RS frame.
When a row permutation process permuting each row of the super frame configured as described above is performed based upon a pre-determined permutation rule, the positions of the rows prior to and after being permuted (or interleaved) within the super frame may be altered. More specifically, the ith row of the super frame prior to the interleaving process, as shown in
j=G(i mod(187+P))+└i/(187+P)┘
i=(187+P)(j mod G)+└j/G┘ Equation 4
Herein, each row of the super frame is configured of (N+2) number of data bytes even after being row-permuted in super frame units.
When all row permutation processes in super frame units are completed, the super frame is once again divided into G number of row-permuted RS frames, as shown in
The above description of the present invention corresponds to the processes of forming (or creating) and encoding an RS frame, when a data group is divided into regions A/B/C/D, and when data of an RS frame are assigned to all of regions A/B/C/D within the corresponding data group. More specifically, the above description corresponds to an embodiment of the present invention, wherein one RS frame is transmitted using one parade. In this embodiment, the secondary encoder 1420 does not operate (or is not active).
Meanwhile, 2 RS frames are transmitting using one parade, the data of the primary RS frame may be assigned to regions A/B within the data group and be transmitted, and the data of the secondary RS frame may be assigned to regions C/D within the data group and be transmitted. At this point, the primary encoder 1410 receives the mobile broadcast service data that are to be assigned to regions A/B within the data group, so as to form the primary RS frame, thereby performing RS-encoding and CRC-encoding. Similarly, the secondary encoder 1420 receives the mobile broadcast service data that are to be assigned to regions C/D within the data group, so as to form the secondary RS frame, thereby performing RS-encoding and CRC-encoding. More specifically, the primary RS frame and the secondary RS frame are created independently.
The data of the primary RS frame, which is encoded by RS frame units and row-permuted by super frame units from the RS-CRC encoder 1412 of the primary encoder 1410, are outputted to the RS frame divider 1413. If the secondary encoder 1420 also operates in the embodiment of the present invention, the data of the secondary RS frame, which is encoded by RS frame units and row-permuted by super frame units from the RS-CRC encoder 1422 of the secondary encoder 1420, are outputted to the RS frame divider 1423. The RS frame divider 1413 of the primary encoder 1410 divides the primary RS frame into several portions, which are then outputted to the output multiplexer (MUX) 1320. Each portion of the primary RS frame is equivalent to a data amount that can be transmitted by one data group. Similarly, the RS frame divider 1423 of the secondary encoder 1420 divides the secondary RS frame into several portions, which are then outputted to the output multiplexer (MUX) 1320.
Hereinafter, the RS frame divider 1413 of the primary RS encoder 1410 will now be described in detail. Also, in order to simplify the description of the present invention, it is assumed that an RS frame having the size of N(row)×187(column), as shown in
At this point, as shown in Table 2 to Table 5, the value of PL may vary depending upon the RS frame mode, SCCC block mode, and SCCC outer coder mode. Also, the total number of data bytes of the RS-encoded and CRC-encoded RS frame is equal to or smaller than 5×NoG×PL. In this case, the RS frame is divided (or partitioned) into ((5×NoG)−1) number of portions each having the size of PL and one portion having a size equal to smaller than PL. More specifically, with the exception of the last portion of the RS frame, each of the remaining portions of the RS frame has an equal size of PL. If the size of the last portion is smaller than PL, a stuffing byte (or dummy byte) may be inserted in order to fill (or replace) the lacking number of data bytes, thereby enabling the last portion of the RS frame to also be equal to PL. Each portion of an RS frame corresponds to the amount of data that are to be SCCC-encoded and mapped into a single data group of a parade.
S=(5×NoG×PL)−((N+2)×(187+P)) Equation 5
Herein, each portion including data having the size of PL passes through the output multiplexer 1320 of the MPH frame encoder 1301, which is then outputted to the block processor 1302.
At this point, the mapping order of the RS frame portions to a parade of data groups in not identical with the group assignment order defined in Equation 1. When given the group positions of a parade in an MPH frame, the SCCC-encoded RS frame portions will be mapped in a time order (i.e., in a left-to-right direction). For example, as shown in
Block Processor
Meanwhile, the block processor 1302 performs an SCCC outer encoding process on the output of the MPH frame encoder 1301. More specifically, the block processor 1302 receives the data of each error correction encoded portion. Then, the block processor 1302 encodes the data once again at a coding rate of 1/H (wherein H is an integer equal to or greater than 2 (i.e., H≧2)), thereby outputting the 1/H-rate encoded data to the group formatter 1303. According to the embodiment of the present invention, the input data are encoded either at a coding rate of 1/2 (also referred to as “1/2-rate encoding”) or at a coding rate of 1/4 (also referred to as “1/4-rate encoding”). The data of each portion outputted from the MPH frame encoder 1301 may include at least one of pure mobile broadcast service data, RS parity data, CRC data, and stuffing data. However, in a broader meaning, the data included in each portion may correspond to data for mobile broadcast services. Therefore, the data included in each portion will all be considered as mobile broadcast service data and described accordingly.
The group formatter 1303 inserts the mobile broadcast service data SCCC-outer-encoded and outputted from the block processor 1302 in the corresponding region within the data group, which is formed in accordance with a pre-defined rule. Also, in association with the data deinterleaving process, the group formatter 1303 inserts various place holders (or known data place holders) in the corresponding region within the data group. Thereafter, the group formatter 1303 deinterleaves the data within the data group and the place holders.
According to the present invention, with reference to data after being data-interleaved, as shown in
According to another embodiment of the present invention, the block processor 1302 may perform a 1/H-rate encoding process in SCCC block units. Herein, the SCCC block includes at least one MPH block. At this point, when 1/H-rate encoding is performed in MPH block units, the MPH blocks (B1 to B10) and the SCCC block (SCB1 to SCB10) become identical to one another (i.e., SCB1=B1, SCB2=B2, SCB3=B3, SCB4=B4, SCB5=B5, SCB6=B6, SCB7=B7, SCB8=B8, SCB9=B9, and SCB10=B10). For example, the MPH block 1 (B1) may be encoded at the coding rate of 1/2, the MPH block 2 (B2) may be encoded at the coding rate of 1/4, and the MPH block 3 (B3) may be encoded at the coding rate of 1/2. The coding rates are applied respectively to the remaining MPH blocks.
Alternatively, a plurality of MPH blocks within regions A, B, C, and D may be grouped into one SCCC block, thereby being encoded at a coding rate of 1/H in SCCC block units. Accordingly, the receiving performance of region C/D may be enhanced. For example, MPH block 1 (B1) to MPH block 5 (B5) may be grouped into one SCCC block and then encoded at a coding rate of 1/2. Thereafter, the group formatter 1303 may insert the 1/2-rate encoded mobile broadcast service data to a section starting from MPH block 1 (B1) to MPH block 5 (B5). Furthermore, MPH block 6 (B6) to MPH block 10 (B10) may be grouped into one SCCC block and then encoded at a coding rate of 1/4. Thereafter, the group formatter 1303 may insert the 1/4-rate encoded mobile broadcast service data to another section starting from MPH block 6 (B6) to MPH block 10 (B10). In this case, one data group may consist of two SCCC blocks.
According to another embodiment of the present invention, one SCCC block may be formed by grouping two MPH blocks. For example, MPH block 1 (B1) and MPH block 6 (B6) may be grouped into one SCCC block (SCB1). Similarly, MPH block 2 (B2) and MPH block 7 (B7) may be grouped into another SCCC block (SCB2). Also, MPH block 3 (B3) and MPH block 8 (B8) may be grouped into another SCCC block (SCB3). And, MPH block 4 (B4) and MPH block 9 (B9) may be grouped into another SCCC block (SCB4). Furthermore, MPH block 5 (B5) and MPH block 10 (B10) may be grouped into another SCCC block (SCB5). In the above-described example, the data group may consist of 10 MPH blocks and 5 SCCC blocks. Accordingly, in a data (or signal) receiving environment undergoing frequent and severe channel changes, the receiving performance of regions C and D, which is relatively more deteriorated than the receiving performance of region A, may be reinforced. Furthermore, since the number of mobile broadcast service data symbols increases more and more from region A to region D, the error correction encoding performance becomes more and more deteriorated. Therefore, when grouping a plurality of MPH block to form one SCCC block, such deterioration in the error correction encoding performance may be reduced.
As described-above, when the block processor 1302 performs encoding at a 1/H-coding rate, information associated with SCCC should be transmitted to the receiving system in order to accurately recover the mobile broadcast service data. Table 7 below shows an example of a SCCC block mode, which indicating the relation between an MPH block and an SCCC block, among diverse SCCC block information.
TABLE 7
SCCC Block Mode
00
01
10
11
Description
One MPH Block
Two MPH Blocks
per SCCC Block
per SCCC Block
SCB input,
SCB input,
SCB
MPH Block
MPH Blocks
Reserved
Reserved
SCB1
B1
B1 + B6
SCB2
B2
B2 + B7
SCB3
B3
B3 + B8
SCB4
B4
B4 + B9
SCB5
B5
B5 + B10
SCB6
B6
—
SCB7
B7
—
SCB8
B8
—
SCB9
B9
—
SCB10
B10
—
More specifically, Table 4 shows an example of 2 bits being allocated in order to indicate the SCCC block mode. For example, when the SCCC block mode value is equal to ‘00’, this indicates that the SCCC block and the MPH block are identical to one another. Also, when the SCCC block mode value is equal to ‘01’, this indicates that each SCCC block is configured of 2 MPH blocks.
As described above, if one data group is configured of 2 SCCC blocks, although it is not indicated in Table 7, this information may also be indicated as the SCCC block mode. For example, when the SCCC block mode value is equal to ‘10’, this indicates that each SCCC block is configured of 5 MPH blocks and that one data group is configured of 2 SCCC blocks. Herein, the number of MPH blocks included in an SCCC block and the position of each MPH block may vary depending upon the settings made by the system designer. Therefore, the present invention will not be limited to the examples given herein. Accordingly, the SCCC mode information may also be expanded.
An example of a coding rate information of the SCCC block, i.e., SCCC outer code mode, is shown in Table 8 below.
TABLE 8
SCCC outer
code mode (2 bits)
Description
00
Outer code rate of SCCC block is ½ rate
01
Outer code rate of SCCC block is ¼ rate
10
Reserved
11
Reserved
More specifically, Table 8 shows an example of 2 bits being allocated in order to indicate the coding rate information of the SCCC block. For example, when the SCCC outer code mode value is equal to ‘00’, this indicates that the coding rate of the corresponding SCCC block is 1/2. And, when the SCCC outer code mode value is equal to ‘01’, this indicates that the coding rate of the corresponding SCCC block is 1/4.
If the SCCC block mode value of Table 7 indicates ‘00’, the SCCC outer code mode may indicate the coding rate of each MPH block with respect to each MPH block. In this case, since it is assumed that one data group includes 10 MPH blocks and that 2 bits are allocated for each SCCC block mode, a total of 20 bits are required for indicating the SCCC block modes of the 10 MPH modes. In another example, when the SCCC block mode value of Table 7 indicates ‘00’, the SCCC outer code mode may indicate the coding rate of each region with respect to each region within the data group. In this case, since it is assumed that one data group includes 4 regions (i.e., regions A, B, C, and D) and that 2 bits are allocated for each SCCC block mode, a total of 8 bits are required for indicating the SCCC block modes of the 4 regions. In another example, when the SCCC block mode value of Table 7 is equal to ‘01’, each of the regions A, B, C, and D within the data group has the same SCCC outer code mode.
Meanwhile, an example of an SCCC output block length (SOBL) for each SCCC block, when the SCCC block mode value is equal to ‘00’, is shown in Table 9 below.
TABLE 9
SIBL
SCCC Block
SOBL
½ rate
¼ rate
SCB1 (B1)
528
264
132
SCB2 (B2)
1536
768
384
SCB3 (B3)
2376
1188
594
SCB4 (B4)
2388
1194
597
SCB5 (B5)
2772
1386
693
SCB6 (B6)
2472
1236
618
SCB7 (B7)
2772
1386
693
SCB8 (B8)
2508
1254
627
SCB9 (B9)
1416
708
354
SCB10 (B10)
480
240
120
More specifically, when given the SCCC output block length (SOBL) for each SCCC block, an SCCC input block length (SIBL) for each corresponding SCCC block may be decided based upon the outer coding rate of each SCCC block. The SOBL is equivalent to the number of SCCC output (or outer-encoded) bytes for each SCCC block. And, the SIBL is equivalent to the number of SCCC input (or payload) bytes for each SCCC block. Table 10 below shows an example of the SOBL and SIBL for each SCCC block, when the SCCC block mode value is equal to ‘01’.
TABLE 10
SIBL
SCCC Block
SOBL
½ rate
¼ rate
SCB1 (B1 + B6)
528
264
132
SCB2 (B2 + B7)
1536
768
384
SCB3 (B3 + B8)
2376
1188
594
SCB4 (B4 + B9)
2388
1194
597
SCB5 (B5 + B10)
2772
1386
693
In order to do so, as shown in
When the RS Frame mode is set to ‘00’, a portion of the primary RS Frame equal to the amount of data, which are to be SCCC outer encoded and mapped to 10 MPH blocks (B1 to B10) of a data group, will be provided to the block processor 1302. When the SCCC block mode value is equal to ‘00’, then the primary RS frame portion will be split into 10 SCCC Blocks according to Table 9. Alternatively, when the SCCC block mode value is equal to ‘01’, then the primary RS frame will be split into 5 SCCC blocks according to Table 10.
When the RS frame mode value is equal to ‘01’, then the block processor 1302 may receive two RS frame portions. The RS frame mode value of ‘01’ will not be used with the SCCC block mode value of ‘01’. The first portion from the primary RS frame will be SCCC-outer-encoded as SCCC Blocks SCB3, SCB4, SCB5, SCB6, SCB7, and SCB8 by the block processor 1302. The SCCC Blocks SCB3 and SCB8 will be mapped to region B and the SCCC blocks SCB4, SCB5, SCB6, and SCB7 shall be mapped to region A by the group formatter 1303. The second portion from the secondary RS frame will also be SCCC-outer-encoded, as SCB1, SCB2, SCB9, and SCB10, by the block processor 1302. The group formatter 1303 will map the SCCC blocks SCB1 and SCB10 to region D as the MPH blocks B1 and B10, respectively. Similarly, the SCCC blocks SCB2 and SCB9 will be mapped to region C as the MPH blocks B2 and B9.
The byte-bit converter 1512 identifies the mobile broadcast service data bytes of each SCCC block outputted from the RS frame portion-SCCC block converter 1511 as data bits, which are then outputted to the convolution encoder 1513. The convolution encoder 1513 performs one of 1/2-rate encoding and 1/4-rate encoding on the inputted mobile broadcast service data bits.
The first adder 1522 adds the input data bit U and the output bit of the first delay unit 1521 and, then, outputs the added bit to the second delay unit 1523. Then, the data bit delayed by a pre-determined time (e.g., by 1 clock) in the second delay unit 1523 is outputted as a lower bit u1 and simultaneously fed-back to the first delay unit 1521. The first delay unit 1521 delays the data bit fed-back from the second delay unit 1523 by a pre-determined time (e.g., by 1 clock). Then, the first delay unit 1521 outputs the delayed data bit as a lower bit u2 and, at the same time, outputs the fed-back data to the first adder 1522 and the second adder 1524. The second adder 1524 adds the data bits outputted from the first and second delay units 1521 and 1523 and outputs the added data bits as a lower bit u3. The third adder 1525 adds the input data bit U and the output of the second delay unit 1523 and outputs the added data bit as a lower bit u4.
At this point, the first and second delay units 1521 and 1523 are reset to ‘0’, at the starting point of each SCCC block. The convolution encoder 1513 of
TABLE 11
¼ rate
Region
½ rate
SCCC block mode = ‘00’
SCCC block mode = ‘01’
A, B
(u0, u1)
(u0, u2), (u1, u3)
(u0, u2), (u1, u4)
C, D
(u0, u1), (u3, u4)
For example, at the 1/2-coding rate, 1 output symbol (i.e., u0 and u1 bits) may be selected and outputted. And, at the 1/4-coding rate, depending upon the SCCC block mode, 2 output symbols (i.e., 4 bits) may be selected and outputted. For example, when the SCCC block mode value is equal to ‘01’, and when an output symbol configured of u0 and u2 and another output symbol configured of u1 and u4 are selected and outputted, a 1/4-rate coding result may be obtained.
The mobile broadcast service data encoded at the coding rate of 1/2 or 1/4 by the convolution encoder 1513 are outputted to the symbol interleaver 1514. The symbol interleaver 1514 performs block interleaving, in symbol units, on the output data symbol of the convolution encoder 1513. More specifically, the symbol interleaver 1514 is a type of block interleaver. Any interleaver performing structural rearrangement (or realignment) may be applied as the symbol interleaver 1514 of the block processor. However, in the present invention, a variable length symbol interleaver that can be applied even when a plurality of lengths is provided for the symbol, so that its order may be rearranged, may also be used.
In the present invention, when performing the symbol-intereleaving process, the conditions of L=2m (wherein m is an integer) and of L≧B should be satisfied. If there is a difference in value between B and L, (L−B) number of null (or dummy) symbols is added, thereby creating an interleaving pattern, as shown in P′(i) of
Equation 6 shown below describes the process of sequentially receiving B number of symbols, the order of which is to be rearranged, and obtaining an L value satisfying the conditions of L=2m (wherein m is an integer) and of L≧B, thereby creating the interleaving so as to realign (or rearrange) the symbol order.
In relation to all places, wherein 0≦i≦B−1,
P′(i)={89×i×(i+1)/2} mod L Equation 6
Herein, L≧B, L=2m, wherein m is an integer.
As shown in P′(i) of
If the SCCC block mode value is equal to ‘00’, the SCCC block is mapped at a one-to-one (1:1) correspondence with each MPH block within the data group. In another example, if the SCCC block mode value is equal to ‘01’, each SCCC block is mapped with two MPH blocks within the data group. For example, the SCCC block SCB1 is mapped with (B1, B6), the SCCC block SCB2 is mapped with (B2, B7), the SCCC block SCB3 is mapped with (B3, B8), the SCCC block SCB4 is mapped with (B4, B9), and the SCCC block SCB5 is mapped with (B5, B10). The MPH block that is outputted from the SCCC block-MPH block converter 1516 is configured of mobile broadcast service data and FEC redundancy. In the present invention, the mobile broadcast service data as well as the FEC redundancy of the MPH block will be collectively considered as mobile broadcast service data.
Group Formatter
The group formatter 1303 inserts data of MPH blocks outputted from the block processor 1302 to the corresponding MPH blocks within the data group, which is formed in accordance with a pre-defined rule. Also, in association with the data-deinterleaving process, the group formatter 1303 inserts various place holders (or known data place holders) in the corresponding region within the data group. More specifically, apart from the encoded mobile broadcast service data outputted from the block processor 1302, the group formatter 1303 also inserts MPEG header place holders, non-systematic RS parity place holders, main broadcast service data place holders, which are associated with the data deinterleaving in a later process, as shown in
Herein, the main broadcast service data place holders are inserted because the mobile broadcast service data bytes and the main broadcast service data bytes are alternately mixed with one another in regions B to D based upon the input of the data deinterleaver, as shown in
After inserting each data type and respective place holders in the data group, the group formatter 1303 may deinterleave the data and respective place holders, which have been inserted in the data group, as an inverse process of the data interleaver, thereby outputting the deinterleaved data and respective place holders to the packet encoder 1304. More specifically, when the data and respective place holders within the data group, which is configured (or structured) as shown in
The packet encoder 1304 removes the main broadcast service data place holders and the RS parity place holders that were allocated for the deinterleaving process from the deinterleaved data being inputted. Then, the packet encoder 1304 groups the remaining portion and inserts the 3-byte MPEG header place holder in an MPEG header having a null packet PID (or an unused PID from the main broadcast service data packet). Furthermore, the packet encoder 1304 adds a synchronization data byte at the beginning of each 187-byte data packet. Also, when the group formatter 1303 inserts known data place holders, the packet formatter 1303 may insert actual known data in the known data place holders, or may directly output the known data place holders without any modification in order to make replacement insertion in a later process. Thereafter, the packet encoder 1304 identifies the data within the packet-formatted data group, as described above, as a 188-byte unit mobile broadcast service data packet (i.e., MPEG TS packet), which is then provided to the packet multiplexer 1240.
Based upon the control of the control unit 1205, the packet multiplexer 1240 multiplexes the data group packet-formatted and outputted from the packet formatter 306 and the main broadcast service data packet outputted from the packet jitter mitigator 1220. Then, the packet multiplexer 1240 outputs the multiplexed data packets to the data randomizer 1251 of the post-processor 1250. More specifically, the control unit 1205 controls the time-multiplexing of the packet multiplexer 1240. If the packet multiplexer 1240 receives 118 mobile broadcast service data packets from the packet encoder 1304, 37 mobile broadcast service data packets are placed before a place for inserting VSB field synchronization. Then, the remaining 81 mobile broadcast service data packets are placed after the place for inserting VSB field synchronization. The multiplexing method may be adjusted by diverse variables of the system design. The multiplexing method and multiplexing rule of the packet multiplexer 1240 will be described in more detail in a later process.
Also, since a data group including mobile broadcast service data in-between the data bytes of the main broadcast service data is multiplexed (or allocated) during the packet multiplexing process, the shifting of the chronological position (or place) of the main broadcast service data packet becomes relative. Also, a system object decoder (i.e., MPEG decoder) for processing the main broadcast service data of the receiving system, receives and decodes only the main broadcast service data and recognizes the mobile broadcast service data packet as a null data packet.
Therefore, when the system object decoder of the receiving system receives a main broadcast service data packet that is multiplexed with the data group, a packet jitter occurs.
At this point, since a multiple-level buffer for the video data exists in the system object decoder and the size of the buffer is relatively large, the packet jitter generated from the packet multiplexer 1240 does not cause any serious problem in case of the video data. However, since the size of the buffer for the audio data in the object decoder is relatively small, the packet jitter may cause considerable problem. More specifically, due to the packet jitter, an overflow or underflow may occur in the buffer for the main broadcast service data of the receiving system (e.g., the buffer for the audio data). Therefore, the packet jitter mitigator 1220 re-adjusts the relative position of the main broadcast service data packet so that the overflow or underflow does not occur in the system object decoder.
In the present invention, examples of repositioning places for the audio data packets within the main broadcast service data in order to minimize the influence on the operations of the audio buffer will be described in detail. The packet jitter mitigator 1220 repositions the audio data packets in the main broadcast service data section so that the audio data packets of the main broadcast service data can be as equally and uniformly aligned and positioned as possible. Additionally, when the positions of the main broadcast service data packets are relatively re-adjusted, associated program clock reference (PCR) values may also be modified accordingly. The PCR value corresponds to a time reference value for synchronizing the time of the MPEG decoder. Herein, the PCR value is inserted in a specific region of a TS packet and then transmitted.
In the example of the present invention, the packet jitter mitigator 1220 also performs the operation of modifying the PCR value. The output of the packet jitter mitigator 1220 is inputted to the packet multiplexer 1240. As described above, the packet multiplexer 1240 multiplexes the main broadcast service data packet outputted from the packet jitter mitigator 1220 with the mobile broadcast service data packet outputted from the pre-processor 1230 into a burst structure in accordance with a pre-determined multiplexing rule. Then, the packet multiplexer 1240 outputs the multiplexed data packets to the data randomizer 1251 of the post-processor 1250.
If the inputted data correspond to the main broadcast service data packet, the data randomizer 1251 performs the same randomizing process as that of the conventional randomizer. More specifically, the synchronization byte within the main broadcast service data packet is deleted. Then, the remaining 187 data bytes are randomized by using a pseudo random byte generated from the data randomizer 1251. Thereafter, the randomized data are outputted to the RS encoder/non-systematic RS encoder 1252.
On the other hand, if the inputted data correspond to the mobile broadcast service data packet, the data randomizer 1251 may randomize only a portion of the data packet. For example, if it is assumed that a randomizing process has already been performed in advance on the mobile broadcast service data packet by the pre-processor 1230, the data randomizer 1251 deletes the synchronization byte from the 4-byte MPEG header included in the mobile broadcast service data packet and, then, performs the randomizing process only on the remaining 3 data bytes of the MPEG header. Thereafter, the randomized data bytes are outputted to the RS encoder/non-systematic RS encoder 1252. More specifically, the randomizing process is not performed on the remaining portion of the mobile broadcast service data excluding the MPEG header. In other words, the remaining portion of the mobile broadcast service data packet is directly outputted to the RS encoder/non-systematic RS encoder 1252 without being randomized. Also, the data randomizer 1251 may or may not perform a randomizing process on the known data (or known data place holders) and the initialization data place holders included in the mobile broadcast service data packet.
The RS encoder/non-systematic RS encoder 1252 performs an RS encoding process on the data being randomized by the data randomizer 1251 or on the data bypassing the data randomizer 1251, so as to add 20 bytes of RS parity data. Thereafter, the processed data are outputted to the data interleaver 1253. Herein, if the inputted data correspond to the main broadcast service data packet, the RS encoder/non-systematic RS encoder 1252 performs the same systematic RS encoding process as that of the conventional broadcasting system, thereby adding the 20-byte RS parity data at the end of the 187-byte data. Alternatively, if the inputted data correspond to the mobile broadcast service data packet, the RS encoder/non-systematic RS encoder 1252 performs a non-systematic RS encoding process. At this point, the 20-byte RS parity data obtained from the non-systematic RS encoding process are inserted in a pre-decided parity byte place within the mobile broadcast service data packet.
The data interleaver 1253 corresponds to a byte unit convolutional interleaver. The output of the data interleaver 1253 is inputted to the parity replacer 1254 and to the non-systematic RS encoder 1255. Meanwhile, a process of initializing a memory within the trellis encoding module 1256 is primarily required in order to decide the output data of the trellis encoding module 1256, which is located after the parity replacer 1254, as the known data pre-defined according to an agreement between the receiving system and the transmitting system. More specifically, the memory of the trellis encoding module 1256 should first be initialized before the received known data sequence is trellis-encoded. At this point, the beginning portion of the known data sequence that is received corresponds to the initialization data place holder and not to the actual known data. Herein, the initialization data place holder has been included in the data by the group formatter within the pre-processor 1230 in an earlier process. Therefore, the process of generating initialization data and replacing the initialization data place holder of the corresponding memory with the generated initialization data are required to be performed immediately before the inputted known data sequence is trellis-encoded.
Additionally, a value of the trellis memory initialization data is decided and generated based upon a memory status of the trellis encoding module 1256. Further, due to the newly replaced initialization data, a process of newly calculating the RS parity and replacing the RS parity, which is outputted from the data interleaver 1253, with the newly calculated RS parity is required. Therefore, the non-systematic RS encoder 1255 receives the mobile broadcast service data packet including the initialization data place holders, which are to be replaced with the actual initialization data, from the data interleaver 1253 and also receives the initialization data from the trellis encoding module 1256.
Among the inputted mobile broadcast service data packet, the initialization data place holders are replaced with the initialization data, and the RS parity data that are added to the mobile broadcast service data packet are removed and processed with non-systematic RS encoding. Thereafter, the new RS parity obtained by performing the non-systematic RS encoding process is outputted to the parity replacer 255. Accordingly, the parity replacer 255 selects the output of the data interleaver 1253 as the data within the mobile broadcast service data packet, and the parity replacer 255 selects the output of the non-systematic RS encoder 1255 as the RS parity. The selected data are then outputted to the trellis encoding module 1256.
Meanwhile, if the main broadcast service data packet is inputted or if the mobile broadcast service data packet, which does not include any initialization data place holders that are to be replaced, is inputted, the parity replacer 1254 selects the data and RS parity that are outputted from the data interleaver 1253. Then, the parity replacer 1254 directly outputs the selected data to the trellis encoding module 1256 without any modification. The trellis encoding module 1256 converts the byte-unit data to symbol units and performs a 12-way interleaving process so as to trellis-encode the received data. Thereafter, the processed data are outputted to the synchronization multiplexer 1260.
Since 2 symbols (i.e., 4 bits) are required for trellis initialization, the last 2 symbols (i.e., 4 bits) from the trellis initialization bytes are not used for trellis initialization and are considered as a symbol from a known data byte and processed accordingly. When the trellis encoder is in the initialization mode, the input comes from an internal trellis status (or state) and not from the parity replacer 1254. When the trellis encoder is in the normal mode, the input symbol provided from the parity replacer 1254 will be processed. The trellis encoder provides the converted (or modified) input data for trellis initialization to the non-systematic RS encoder 1255.
More specifically, when a selection signal designates a normal mode, the first multiplexer 1531 selects an upper bit X2 of the input symbol. And, when a selection signal designates an initialization mode, the first multiplexer 1531 selects the output of the first memory 1533 and outputs the selected output data to the first adder 1532. The first adder 1532 adds the output of the first multiplexer 1531 and the output of the first memory 1533, thereby outputting the added result to the first memory 1533 and, at the same time, as a most significant (or uppermost) bit Z2. The first memory 1533 delays the output data of the first adder 1532 by 1 clock, thereby outputting the delayed data to the first multiplexer 1531 and the first adder 1532.
Meanwhile, when a selection signal designates a normal mode, the second multiplexer 1541 selects a lower bit X1 of the input symbol. And, when a selection signal designates an initialization mode, the second multiplexer 1541 selects the output of the second memory 1542, thereby outputting the selected result to the second adder 1543 and, at the same time, as a lower bit Z1. The second adder 1543 adds the output of the second multiplexer 1541 and the output of the second memory 1542, thereby outputting the added result to the third memory 1544. The third memory 1544 delays the output data of the second adder 1543 by 1 clock, thereby outputting the delayed data to the second memory 1542 and, at the same time, as a least significant (or lowermost) bit Z0. The second memory 1542 delays the output data of the third memory 1544 by 1 clock, thereby outputting the delayed data to the second adder 1543 and the second multiplexer 1541.
The synchronization multiplexer 1260 inserts a field synchronization signal and a segment synchronization signal to the data outputted from the trellis encoding module 1256 and, then, outputs the processed data to the pilot inserter 1271 of the transmission unit 1270. Herein, the data having a pilot inserted therein by the pilot inserter 1271 are modulated by the modulator 1272 in accordance with a pre-determined modulating method (e.g., a VSB method). Thereafter, the modulated data are transmitted to each receiving system though the radio frequency (RF) up-converter 1273.
Multiplexing Method of Packet Multiplexer 1240
Data of the error correction encoded and 1/H-rate encoded primary RS frame (i.e., when the RS frame mode value is equal to ‘00’) or primary/secondary RS frame (i.e., when the RS frame mode value is equal to ‘01’), are divided into a plurality of data groups by the group formatter 1303. Then, the divided data portions are assigned to at least one of regions A to D of each data group or to an MPH block among the MPH blocks B1 to B10, thereby being deinterleaved. Then, the deinterleaved data group passes through the packet encoder 1304, thereby being multiplexed with the main broadcast service data by the packet multiplexer 1240 based upon a de-decided multiplexing rule. The packet multiplexer 1240 multiplexes a plurality of consecutive data groups, so that the data groups are assigned to be spaced as far apart from one another as possible within the sub-frame. For example, when it is assumed that 3 data groups are assigned to a sub-frame, the data groups are assigned to a 1st slot (Slot #0), a 5th slot (Slot #4), and a 9th slot (Slot #8) in the sub-frame, respectively.
As described-above, in the assignment of the plurality of consecutive data groups, a plurality of parades are multiplexed and outputted so as to be spaced as far apart from one another as possible within a sub-MPH frame. For example, the method of assigning data groups and the method of assigning parades may be identically applied to all sub-frames for each MPH frame or differently applied to each MPH frame.
When data groups of a parade are assigned as shown in
As described above, the packet multiplexer 1240 may multiplex and output data groups of multiple parades to a single MPH frame, and, in each sub-frame, the multiplexing process of the data groups may be performed serially with a group space of 4 slots from left to right. Therefore, a number of groups of one parade per sub-frame (NOG) may correspond to any one integer from ‘1’ to ‘8’. Herein, since one MPH frame includes 5 sub-frames, the total number of data groups within a parade that can be allocated to an MPH frame may correspond to any one multiple of ‘5’ ranging from ‘5’ to ‘40’.
Processing Signaling Information
The present invention assigns signaling information areas for inserting signaling information to some areas within each data group.
The group formatter 1303 inserts the signaling information, which is FEC-encoded and outputted by the signaling encoder 1304, in the signaling information area within the data group. Herein, the signaling information may be identified by two different types of signaling channels: a transmission parameter channel (TPC) and a fast information channel (FIC). Herein, the TPC information corresponds to signaling information including transmission parameters, such as RS frame-associated information, SCCC-associated information, and MPH frame-associated information. However, the signaling information presented herein is merely exemplary. And, since the adding or deleting of signaling information included in the TPC may be easily adjusted and modified by one skilled in the art, the present invention will, therefore, not be limited to the examples set forth herein. Furthermore, the FIC is provided to enable a fast service acquisition of data receivers, and the FIC includes cross layer information between the physical layer and the upper layer(s)
Herein, the block interleaver 1563 corresponds to a variable length block interleaver. The block interleaver 1563 interleaves the FIC data within each sub-frame in TNoG (column)×51(row) block units and then outputs the interleaved data to the multiplexer 1564. Herein, the TNOG corresponds to the total number of data groups being assigned to all sub-frames within an MPH frame. The block interleaver 1563 is synchronized with the first set of FIC data in each sub-frame. The block interleaver 1563 writes 51 bytes of incoming (or inputted) RS codewords in a row direction (i.e., row-by-row) and left-to-right and up-to-down directions and reads 51 bytes of RS codewords in a column direction (i.e., column-by-column) and left-to-right and up-to-down directions, thereby outputting the RS codewords.
The multiplexer 1564 multiplexes the RS-encoded TPC data from the TPC encoder 1561 and the block-interleaved FIC data from the block interleaver 1563 along a time axis. Then, the multiplexer 1564 outputs 69 bytes of the multiplexed data to the signaling randomizer 1565. The signaling randomizer 1565 randomizes the multiplexed data and outputs the randomized data to the PCCC encoder 1566. The signaling randomizer 1565 may use the same generator polynomial of the randomizer used for mobile broadcast service data. Also, initialization occurs in each data group. The PCCC encoder 1566 corresponds to an inner encoder performing PCCC-encoding on the randomized data (i.e., signaling information data). The PCCC encoder 1566 may include 6 even component encoders and 6 odd component encoders.
The Sub-Frame_number field corresponds to the current Sub-Frame number within the MPH frame, which is transmitted for MPH frame synchronization. The value of the Sub-Frame_number field may range from 0 to 4. The Slot_number field indicates the current slot number within the sub-frame, which is transmitted for MPH frame synchronization. Also, the value of the Sub-Frame_number field may range from 0 to 15. The Parade_id field identifies the parade to which this group belongs. The value of this field may be any 7-bit value. Each parade in a MPH transmission shall have a unique Parade_id field.
Communication of the Parade_id between the physical layer and the management layer may be performed by means of an Ensemble_id field formed by adding one bit to the left of the Parade_id field. If the Ensemble_id field is used for the primary Ensemble delivered through this parade, the added MSB shall be equal to ‘0’. Otherwise, if the Ensemble_id field is used for the secondary ensemble, the added MSB shall be equal to ‘1’. Assignment of the Parade_id field values may occur at a convenient level of the system, usually in the management layer. The starting_group_number (SGN) field shall be the first Slot_number for a parade to which this group belongs, as determined by Equation 1 (i.e., after the Slot numbers for all preceding parades have been calculated). The SGN and NoG shall be used according to Equation 1 to obtain the slot numbers to be allocated to a parade within the sub-frame.
The number_of_Groups (NoG) field shall be the number of groups in a sub-frame assigned to the parade to which this group belongs, minus 1, e.g., NoG=0 implies that one group is allocated (or assigned) to this parade in a sub-frame. The value of NoG may range from 0 to 7. This limits the amount of data that a parade may take from the main (legacy) service data, and consequently the maximum data that can be carried by one parade. The slot numbers assigned to the corresponding Parade can be calculated from SGN and NoG, using Equation 1. By taking each parade in sequence, the specific slots for each parade will be determined, and consequently the SGN for each succeeding parade. For example, if for a specific parade SGN=3 and NoG=3 (010b for 3-bit field of NoG), substituting i=3, 4, and 5 in Equation 1 provides slot numbers 12, 2, and 6. The Parade_repetition_cycle (PRC) field corresponds to the cycle time over which the parade is transmitted, minus 1, specified in units of MPH frames, as described in Table 12.
TABLE 12
PRC
Description
000
This parade shall be transmitted once every MPH frame.
001
This parade shall be transmitted once every 2 MPH frames.
010
This parade shall be transmitted once every 3 MPH frames.
011
This parade shall be transmitted once every 4 MPH frames.
100
This parade shall be transmitted once every 5 MPH frames.
101
This parade shall be transmitted once every 6 MPH frames.
110
This parade shall be transmitted once every 7 MPH frames.
111
Reserved
The RS_Frame_mode field shall be as defined in Table 1. The RS_code_mode_primary field shall be the RS code mode for the primary RS frame. Herein, the RS code mode is defined in Table 6. The RS_code_mode_secondary field shall be the RS code mode for the secondary RS frame. Herein, the RS code mode is defined in Table 6. The SCCC_Block_mode field shall be as defined in Table 7. The SCCC_outer_code_mode_A field corresponds to the SCCC outer code mode for Region A. The SCCC outer code mode is defined in Table 8. The SCCC_outer_code_mode_B field corresponds to the SCCC outer code mode for Region B. The SCCC_outer_code_mode_C field corresponds be the SCCC outer code mode for Region C. And, the SCCC_outer_code_mode_D field corresponds to the SCCC outer code mode for Region D.
The FIC_version field may be supplied by the management layer (which also supplies the FIC data). The Parade_continuity_counter field counter may increase from 0 to 15 and then repeat its cycle. This counter shall increment by 1 every (PRC+1) MPH frames. For example, as shown in Table 12, PRC=011 (decimal 3) implies that Parade_continuity_counter increases every fourth MPH frame. The TNOG field may be identical for all sub-frames in an MPH Frame. However, the information included in the TPC data presented herein is merely exemplary. And, since the adding or deleting of information included in the TPC may be easily adjusted and modified by one skilled in the art, the present invention will, therefore, not be limited to the examples set forth herein.
Since the TPC parameters (excluding the Sub-Frame_number field and the Slot_number field) for each parade do not change their values during an MPH frame, the same information is repeatedly transmitted through all MPH groups belonging to the corresponding parade during an MPH frame. This allows very robust and reliable reception of the TPC data. Because the Sub-Frame_number and the Slot_number are increasing counter values, they also are robust due to the transmission of regularly expected values.
Furthermore, the FIC information is provided to enable a fast service acquisition of data receivers, and the FIC information includes cross layer information between the physical layer and the upper layer(s).
For example, when Parade_repetition_cycle=‘000’, the values of the 3rd, 4th, and 5th sub-frames of the current MPH frame correspond to the next MPH frame. Also, when Parade_repetition_cycle=‘011’, the values of the 3rd, 4th, and 5th sub-frames of the current MPH frame correspond to the 4th MPH frame and beyond. The FIC_version field and the FIC_data field may have values that apply to the current MPH Frame during the 1st sub-frame and the 2nd sub-frame, and they shall have values corresponding to the MPH frame immediately following the current MPH frame during the 3rd, 4th, and 5th sub-frames of the current MPH frame.
Meanwhile, the receiving system may turn the power on only during a slot to which the data group of the designated (or desired) parade is assigned, and the receiving system may turn the power off during the remaining slots, thereby reducing power consumption of the receiving system. Such characteristic is particularly useful in portable or mobile receivers, which require low power consumption. For example, it is assumed that data groups of a 1st parade with NOG=3, a 2nd parade with NOG=2, and a 3rd parade with NOG=3 are assigned to one MPH frame, as shown in
Assignment of Known Data (or Training Signal)
In addition to the payload data, the MPH transmission system inserts long and regularly spaced training sequences into each group. The regularity is an especially useful feature since it provides the greatest possible benefit for a given number of training symbols in high-Doppler rate conditions. The length of the training sequences is also chosen to allow fast acquisition of the channel during bursted power-saving operation of the demodulator. Each group contains 6 training sequences. The training sequences are specified before trellis-encoding. The training sequences are then trellis-encoded and these trellis-encoded sequences also are known sequences. This is because the trellis encoder memories are initialized to pre-determined values at the beginning of each sequence. The form of the 6 training sequences at the byte level (before trellis-encoding) is shown in
The 1st training sequence is located at the last 2 segments of the 3rd MPH block (B3). The 2nd training sequence may be inserted at the 2nd and 3rd segments of the 4th MPH block (B4). The 2nd training sequence is next to the signaling area, as shown in
After the trellis-encoding process, the last 1416 (=588+828) symbols of the 1st training sequence, the 3rd training sequence, the 4th training sequence, the 5th training sequence, and the 6th training sequence commonly share the same data pattern. Including the data segment synchronization symbols in the middle of and after each sequence, the total length of each common training pattern is 1424 symbols. The 2nd training sequence has a first 528-symbol sequence and a second 528-symbol sequence that have the same data pattern. More specifically, the 528-symbol sequence is repeated after the 4-symbol data segment synchronization signal. At the end of each training sequence, the memory contents of the twelve modified trellis encoders shall be set to zero(0).
As described above, the telematics terminal capable of receiving broadcast data and the method for processing broadcast signals according to the present invention have the following advantages. More specifically, the telematics terminal capable of receiving broadcast data and the method for processing broadcast signals are robust (or strong) against any error that may occur when transmitting mobile broadcast service data through a channel. And, the present invention is also highly compatible to the conventional system. Moreover, the present invention may also receive the mobile broadcast service data without any error occurring, even in channels having severe ghost effect and noise.
Additionally, by receiving a plurality of mobile broadcast services using diversity reception and processing the received mobile broadcast services, the signal reception strength may be enhanced in the mobile broadcast service receiving environment (or condition). Furthermore, by inserting known data in a specific position within a data region and by transmitting the processed data, the receiving performance of a receiving system may be enhanced even in channel environments (or conditions) undergoing frequent channel changes. Finally, the present invention is even more effective when applied to mobile and portable receivers, which are also liable to frequent change in channels, and which require strength (or robustness) against intense noise.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the inventions. Thus, it is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.
Lee, Hyoung Gon, Choi, In Hwan, Kim, Jin Woo, Park, Jong Sun, Kwak, Kook Yeon, Cho, Il Soo, Cho, Hyeon Cheol, Song, Won Gyu, Kim, Seung Man, Kim, Jong Moon, Kim, Byoung Gill
Patent | Priority | Assignee | Title |
10650621, | Sep 13 2016 | RPX Corporation | Interfacing with a vehicular controller area network |
11232655, | Sep 13 2016 | ioCurrents, Inc. | System and method for interfacing with a vehicular controller area network |
Patent | Priority | Assignee | Title |
5151919, | Dec 17 1990 | ERICSSON-GE MOBILE COMMUNICATIONS HOLDING INC , A CORP OF NJ | CDMA subtractive demodulation |
5787133, | Mar 18 1994 | Glenayre Electronics, Inc. | Signal modulation employing a pseudo-random sequence of pilot symbols |
5862511, | Dec 28 1995 | BEACON NAVIGATION GMBH | Vehicle navigation system and method |
6760382, | Apr 01 1997 | SOCIONEXT INC | Digital communication system, transmitter, and data selector |
7076263, | Feb 19 2002 | Qualcomm Incorporated | Power control for partial channel-state information (CSI) multiple-input, multiple-output (MIMO) systems |
20050037721, | |||
20050162886, | |||
20060040789, | |||
20070211769, | |||
EP1475909, | |||
JP2001274769, | |||
JP2002218339, | |||
JP2006148543, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Aug 18 2008 | KWAK, KOOK YEON | LG Electronics Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 033576 | /0336 | |
Aug 25 2008 | CHO, HYEON CHEOL | LG Electronics Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 033576 | /0336 | |
Aug 26 2008 | KIM, BYOUNG GILL | LG Electronics Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 033576 | /0336 | |
Aug 26 2008 | KIM, JIN WOO | LG Electronics Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 033576 | /0336 | |
Aug 26 2008 | SONG, WON GYU | LG Electronics Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 033576 | /0336 | |
Aug 27 2008 | CHOI, IN HWAN | LG Electronics Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 033576 | /0336 | |
Aug 28 2008 | LEE, HYOUNG GON | LG Electronics Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 033576 | /0336 | |
Sep 04 2008 | KIM, SEUNG MAN | LG Electronics Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 033576 | /0336 | |
Sep 04 2008 | CHO, IL SOO | LG Electronics Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 033576 | /0336 | |
Sep 06 2008 | KIM, JONG MOON | LG Electronics Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 033576 | /0336 | |
Sep 08 2008 | PARK, JONG SUN | LG Electronics Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 033576 | /0336 | |
Aug 20 2014 | LG Electronics Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
May 10 2016 | ASPN: Payor Number Assigned. |
May 11 2016 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Dec 28 2020 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Apr 12 2019 | 4 years fee payment window open |
Oct 12 2019 | 6 months grace period start (w surcharge) |
Apr 12 2020 | patent expiry (for year 4) |
Apr 12 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Apr 12 2023 | 8 years fee payment window open |
Oct 12 2023 | 6 months grace period start (w surcharge) |
Apr 12 2024 | patent expiry (for year 8) |
Apr 12 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Apr 12 2027 | 12 years fee payment window open |
Oct 12 2027 | 6 months grace period start (w surcharge) |
Apr 12 2028 | patent expiry (for year 12) |
Apr 12 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |