A receiving system and a method for processing data in the receiving system are disclosed. The receiving system includes a receiving unit, a first handler, and a second handler. The receiving unit receives a broadcast signal through a mobile broadcast network. Herein, the broadcast signal includes mobile service data and a first signaling table. And, the first signaling table includes service guide transmission information and service guide bootstrapping information on the mobile service data. The first handler acquires the service guide bootstrapping information based upon the service guide transmission information included in the first signaling table. And, the second handler accesses a service guide by using the acquired service guide bootstrapping information.

Patent
   RE46157
Priority
Mar 19 2009
Filed
Jan 14 2015
Issued
Sep 20 2016
Expiry
Oct 29 2029
Assg.orig
Entity
Large
3
11
EXPIRED
1. A method of receiving a broadcast signal in a receiver, the method comprising:
receiving a the broadcast signal carrying mobile data, wherein the broadcast signal delivers signaling data for rapid service acquisition and an ensemble which is a collection of mobile services and is encoded with the same Forward Error Correction code, wherein the signaling data includes an identifier of the ensemble, wherein the ensemble includes a stream for a service signaling channel for delivering service signaling tables, and wherein the service signaling tables includes include a guide access table describing service guide (SG) data services present in a mobile broadcast;
demodulating the broadcast signal;
decoding the signaling data from the demodulated broadcast signal;
accessing the ensemble from the demodulated broadcast signal;
acquiring the guide access table from the accessed ensemble, wherein the guide access table includes service guide bootstrapping information providing parameters that are necessary for bootstrapping a service guide of the service guide data; and
accessing the service guide by using the acquired service guide bootstrapping information and a mobile service of the accessed ensemble, wherein the service guide bootstrapping information includes service guide delivery network type information indicating whether service guide fragments of the service guide data are delivered through the same mobile broadcast where the guide access table is delivered or the service guide fragments of the service guide data are delivered through a different mobile broadcast from the mobile broadcast where the guide access table is delivered.
7. A receiver for receiving a broadcast signal in a receiver, the receiver comprising:
a tuner for receiving a the broadcast signal carrying mobile data, wherein the broadcast signal delivers signaling data for rapid service acquisition and an ensemble which is a collection of mobile services and is encoded with the same Forward Error collection code, wherein the signaling data includes an identifier of the ensemble, wherein the ensemble includes a stream for a service signaling channel for delivering service signaling tables, and wherein the service signaling tables includes a guide access table describing service guide (SG) data services present in a mobile broadcast;
a demodulator for demodulating the broadcast signal;
a decoder decoding the signaling data from the demodulated broadcast signal;
a first handler for accessing the ensemble from the demodulated broadcast signal;
a second handler for acquiring the guide access table from the accessed ensemble, wherein the guide access table includes service guide bootstrapping information providing parameters that are necessary for bootstrapping a service guide of the service guide data; and
a third handler for accessing the service guide by using the acquired service guide bootstrapping information and a mobile service of the accessed ensemble, wherein the service guide bootstrapping information includes service guide delivery network type information indicating whether service guide fragments of the service guide data are delivered through the same mobile broadcast where the guide access table is delivered or the service guide fragments of the service guide data are delivered through a different mobile broadcast from the mobile broadcast where the guide access table is delivered.
2. The method of claim 1, wherein the guide access table includes information about SG data service provider for a source, delivery network type of the SG data service services, and access information for the source.
3. The method of claim 1, wherein the guide access table includes a service identifier of a SG data service and a transmission session identifier (TSI) of a File Delivery over Unidirectional Transport (FLUTE) session of an announcement channel of the SG data service.
4. The method of claim 3, wherein the guide access table further includes a transport stream identifier of a broadcaster, a service identifier of a SG data service and a transmission session identifier (TSI) of a File Delivery over Unidirectional Transport (FLUTE) session of an announcement channel of the SG data service.
5. The method of claim 1, wherein the guide access table includes information for signaling a service guide delivered through an IP-based broadcast channel which is not included in the broadcast signal.
6. The method of claim 1, wherein the guide access table includes information for signaling a service guide delivered through an IP-based interaction channel.
8. The method of claim 7, wherein the guide access table includes information about SG data service provider for a source, delivery network type of the SG data service services, and access information for the source.
9. The method of claim 7, wherein the guide access table includes a service identifier of a SG data service and a transmission session identifier (TSI) of a File Delivery over Unidirectional Transport (FLUTE) session of an announcement channel of the SG data service.
10. The method of claim 9, wherein the guide access table further includes a transport stream identifier of a broadcaster, a service identifier of a SG data service and a transmission session identifier (TSI) of a File Delivery over Unidirectional Transport (FLUTE) session of an announcement channel of the SG data service.
11. The method of claim 7, wherein the guide access table includes information for signaling service guide delivered through an IP-based broadcast channel which is not included in the broadcast signal.
12. The method of claim 7, wherein the guide access table includes information for signaling service guide delivered through an IP-based interaction channel.


j=(5+the number of signaling data bytes being inserted in the FIC chunk payload)mod 35   Equation 1

For example, when the added total length of the 5-byte header within the FIC chunk and signaling data, which is to be inserted in the payload within the FIC chunk, is equal to 205 bytes, the payload of the FIC chunk may include 5 bytes of stuffing data because j is equal to 30 in Equation 1. Also, the length of the FIC chunk payload including the stuffing data is equal to 210 bytes. Thereafter, the FIC chunk is divided into 6 FIC segments, which are then transmitted. At this point, a segment number is sequentially assigned to each of the 6 FIC segments divided from the FIC chunk.

Furthermore, the present invention may transmit the FIC segments divided from a single FIC chunk to a single sub-frame, or may transmit the divided FIC segments to multiple sub-frames. If the FIC chunk is divided and transmitted to multiple sub-frames, signaling data, which are required even when the amount of data that are to be transmitted through the FIC chunk is larger than the amount of FIC segments being transmitted through a single sub-frame (this case corresponds to when multiple services having very low bit rates are being executed), may all be transmitted through the FIC chunk.

Herein, the FIC segment numbers represent FIC segment numbers within each FIC chunk, and not the FIC segment number within each sub-frame. Thus, the subordinate relation between the FIC chunk and the sub-frame can be eliminated, thereby reducing excessive waste of FIC segments.

Furthermore, the present invention may add a null FIC segment. Despite the repeated transmission of the FIC chunk, and when stuffing is required in the corresponding M/H frame, the null FIC segment is used for the purpose of processing the remaining FIC segments. For example, it is assumed that TNoG is equal to ‘3’ and that the FIC chunk is divided into 2 FIC segments. Herein, when the FIC chunk is repeatedly transmitted through 5 sub-frames within a single M/H frame, only 2 FIC segments are transmitted through one of the 5 sub-frames (e.g., the sub-frame chronologically placed in the last order). In this case, one null FIC segment is assigned to the corresponding sub-frame, thereby being transmitted. More specifically, the null FIC segment is used for aligning the boundary of the FIC chunk and the boundary of the M/H frame. At this point, since the null FIC segment is not an FIC segment divided from the FIC chunk, an FIC segment number is not assigned to the null FIC segment.

In the present invention, when a single FIC chunk is divided into a plurality of FIC segments, and when the divided FIC segments are included in each data group of at least one sub-frame within the M/H frame, so as to be transmitted, the corresponding FIC segments are allocated in a reversed order starting from the last sub-frame within the corresponding M/H frame. According to an embodiment of the present invention, in case a null FIC segment exists, the null FIC segment is positioned in the sub-frame within the M/H frame, so that the corresponding null FIC segment can be transmitted as the last (or final) segment.

At this point, in order to enable the receiving system to discard the null FIC segment without having to process the corresponding null FIC segment, identification information that can identify (or distinguish) the null FIC segment is required.

According to an embodiment of the present invention, the present invention uses the FIC_segment_type field within the header of the null FIC segment as the identification information for identifying the null FIC segment. In this embodiment, the value of the FIC_segment_type field within the null FIC segment header is set to ‘11’, so as to identify the corresponding null FIC segment. More specifically, when the FIC_segment_type field value within the null FIC segment header is set to ‘11’ and transmitted to the receiving system, the receiving system may discard the payload of the FIC segment having the FIC_segment_type field value set to ‘11’ without having to process the corresponding FIC segment payload. Herein, the value ‘11’ is merely an exemplary value given to facilitate and simplify the understanding of the present invention. As long as a pre-arrangement between the receiving system and the transmitting system is established, any value that can identify the null FIC segment may be given to the FIC_segment_type field. Therefore, the present invention will not be limited only to the example set presented herein. Furthermore, the identification information that can identify the null FIC segment may also be indicated by using another field within the FIC segment header.

FIG. 14 illustrates an exemplary syntax structure of an FIC segment header according to an embodiment of the present invention.

Herein, the FIC segment header may include an FIC_segment_type field, an FIC_chunk_major_protocol_version field, a current_next_indicator field, an error_indicator field, an FIC_segment_num field, and an FIC_last_segment_num field. Each field will now be described as follows.

The FIC_segment_type field corresponds to a 2-bit field, which, when set to ‘00’ indicates that the corresponding FIC segment is carrying a portion of an FIC chunk. Alternatively, when the FIC_segment_type field is set to ‘11’, the FIC_segment_type field indicates that the corresponding FIC segment is a null FIC segment, which transmits stuffing data. Herein, the remaining values are reserved for future use.

The FIC_Chunk_major_protocol_version field corresponds to a 2-bit field, which indicates a major protocol version of the corresponding FIC chunk. At this point, the value of the FIC_Chunk_major_protocol_version field should be the same as the value of the FIC_major_protocol_version field within the corresponding FIC chunk header. Since reference may be made to the description of the FIC chunk header shown in FIG. 12, a detailed description of the major protocol version of the FIC chunk syntax will be omitted for simplicity.

The current_next_indicator field corresponds to a 1-bit indicator, which, when set to ‘1’, shall indicate that the corresponding FIC segment is carrying a portion of the FIC chunk, which is applicable to the current M/H frame. Alternatively, when the value of the current_next_indicator field is set to ‘0’, the current_next_indicator field shall indicate that the corresponding FIC segment is carrying a portion of the FIC chunk, which will be applicable for the next M/H frame.

The error_indicator field corresponds to a 1-bit field, which indicates whether or not an error has occurred in the corresponding FIC segment during transmission. Herein, the error_indicator field is set to ‘1’, when an error has occurred. And, the error_indicator field is set to ‘0’, when an error does not exist (or has not occurred). More specifically, during the process of configuring the FIC segment, when a non-recovered error exists, the error_indicator field is set to ‘1’. More specifically, the error_indicator field enables the receiving system to recognize the existence (or presence) of an error within the corresponding FIC segment.

The FIC_segment_num field corresponds to a 4-bit unsigned integer number field, which indicates a number of the corresponding FIC segment. For example, if the corresponding FIC segment is the first FIC segment of the FIC chunk, the value of the FIC_segment_num field shall be set to ‘0x0’. Also, if the corresponding FIC segment is the second FIC segment of the FIC chunk, the value of the FIC_segment_num field shall be set to ‘0x1’. More specifically, the FIC_segment_num field shall be incremented by one with each additional FIC segment in the FIC chunk. Herein, if the FIC chunk is divided into 4 FIC segments, the FIC_segment_num field value of the last FIC segment within the FIC chunk will be indicated as ‘0x3’.

The FIC_last_segment_num field corresponds to a 4-bit unsigned integer number field, which indicates the number of the last FIC segment (i.e., the FIC segment having the highest FIC_segment_num field value) within a complete FIC chunk.

In the conventional method, FIC segment numbers are sequentially assigned (or allocated) for each FIC segment within one sub-frame. Therefore, in this case, the last FIC segment number always matches with the TNoG (i.e., the last FIC segment number is always equal to the TNoG). However, when using the FIC number assignment method according to the present invention, the last FIC segment number may not always match with the TNoG. More specifically, the last FIC segment number may match with the TNoG, or the last FIC segment number may not match with the TNoG. The TNoG represents a total number of data groups that are allocated (or assigned) to a single sub-frame. For example, when the TNoG is equal to ‘6’, and when the FIC chunk is divided into 8 FIC segments, the TNoG is equal to ‘6’, and the last FIC segment number is ‘8’.

According to another embodiment of the present invention, the null FIC segment may be identified by using the value of the FIC_segment_num field within the FIC segment header. More specifically, since an FIC segment number is not assigned to the null FIC segment, the transmitting system allocates null data to the FIC_segment_num field value of the null FIC segment, and the receiving system may allow the FIC segment having null data assigned to the FIC_segment_num field value to be recognized as the null FIC segment. Herein, instead of the null data, data pre-arranged by the receiving system and the transmitting system may be assigned to the FIC_segment_num field value, instead of the null data.

As described above, the FIC chunk is divided into a plurality of FIC segments, thereby being transmitted through a single sub-frame or being transmitted through multiple sub-frames. Also, FIC segments divided from a single FIC chunk may be transmitted through a single sub-frame, or FIC segments divided from multiple single FIC chunks may be transmitted through a single sub-frame. At this point, the number assigned to each FIC segment corresponds to a number within the corresponding FIC chunk (i.e., the FIC_seg_number value), and not the number within the corresponding sub-frame. Also, the null FIC segment may be transmitted for aligning the boundary of the M/H frame and the boundary of the FIC chunk. At this point, an FIC segment number is not assigned to the null FIC segment.

As described above, one FIC chunk may be transmitted through multiple sub-frames, or multiple FIC chunks may be transmitted through a single sub-frame. However, according to the embodiment of the present invention, the FIC segments are interleaved and transmitted in sub-frame units.

Meanwhile, FIG. 15 illustrates an exemplary structure of a bit stream syntax of an SMT section which is included in the RS frame and then transmitted. Herein, the SMT section is configured in an MPEG-2 private section format for simplicity. However, the SMT section data may be configured in any possible format.

The SMT may provide access information of mobile services within an ensemble including the SMT. Also, the SMT may provide information required for the rendering of mobile services. Furthermore, the SMT may include at least one or more descriptors. Herein, other additional (or supplementary) information may be described by the descriptor.

At this point, the service signaling channel that transmits the SMT may further include another signaling table (e.g., GAT) in addition to the SMT.

Herein, according to the embodiment of the present invention, IP datagrams of the service signaling channel have the same well-known destination IP address and the same well-known destination UDP port number. Therefore, the SMT included in the service signaling data is distinguished (or identified) by a table identifier. More specifically, the table identifier may correspond to a table_id existing in the corresponding table or in a header of the corresponding table section. And, when required, the table identifier may further refer to a table_id_extension field, so as to perform the identification process. Exemplary fields that can be transmitted through the SMT section will now be described in detail.

A table_id field is an 8-bit table identifier, which may be set up as an identifier for identifying the SMT.

A section_syntax_indicator field corresponds to an indicator defining the section format of the SMT. For example, the section_syntax_indicator field shall be set to ‘0’ to always indicate that this table is derived from the “short” form of the MPEG-2 private section table format may correspond to MPEG long-form syntax.

A private_indicator field is a 1-bit field, which indicates whether or not the SMT follows (or is in accordance with) a private section.

A section_length field is a 12-bit field, which specifies the section length of the remaining SMT data bytes immediately following the section_length field.

A table_id_extension field corresponds to a table-dependent 16-bit field. Herein, the table_id_extension field corresponds to a logical portion of the table_id field providing the scope for the remaining fields. The table_id_extension field includes a SMT_protocol_version field and an ensemble_id field.

The SMT_protocol_version field corresponds to an 8-bit unsigned integer field. Herein, the SMT_protocol_version field indicates a protocol version for allowing the corresponding SMT to carry, in a future process, parameters that may be structure differently from those defined in the current protocol. Presently, the value of the SMT_protocol_version field shall be equal to zero (0). Non-zero values of the SMT_protocol_version field may be used by a future version of this standard to indicate structurally different tables.

The ensemble_id field corresponds to an 8-bit field. Herein, the ID values associated with the corresponding ensemble that can be assigned to the ensemble_id field may range from ‘0x00’ and ‘0x3F’. It is preferable that the value of the ensemble_id field is derived from the TPC data of the parade_id field. When the corresponding ensemble is transmitted through a primary RS frame, the most significant bit (MSB) is set to ‘0’, and the remaining 7 bits are used as the parade_id field value of the corresponding parade. Meanwhile, when the corresponding ensemble is transmitted through a primary RS frame, the most significant bit (MSB) is set to ‘1’, and the remaining 7 bits are used as the parade_id field value of the corresponding parade.

A version_number field corresponds to a 5-bit field, which specifies the version number of the SMT.

A current_next_indicator field corresponds to a 1-bit field indicating whether or not the SMT section is currently applicable.

A section_number field is an 8-bit field specifying the number of the current SMT section.

A last_section_number field corresponds to an 8-bit field that specifies the number of the last section configuring the corresponding SMT.

And, a num_MH_services field corresponds to an 8-bit field, which specifies the number of mobile services in the corresponding SMT section.

Hereinafter, a number of ‘for’ loop (also referred to as mobile (M/H) service loop) statements equivalent to the number of mobile services corresponding to the num_MH_services field is performed so as to provide signaling information on multiple mobile services. More specifically, signaling information of the corresponding mobile service is indicated for each mobile service that is included in the SMT section. Herein, the following field information corresponding to each mobile service may be provided as described below.

An MH_service_id field corresponds to a 16-bit unsigned integer number, which can uniquely identify the corresponding mobile service within the scope of the corresponding SMT section.

A multi_ensemble_service field corresponds to a 2-bit field, which indicates whether the corresponding mobile service is transmitted through one or more ensembles. Since the multi_ensemble_service field has the same meaning as the multi_ensemble_service field included in the FIC chunk, detailed description of the same will be omitted for simplicity.

An MH_service_status field corresponds to a 2-bit field, which can identify the status of the corresponding mobile service. Herein, the MSB indicates whether the corresponding mobile service is active (‘1’) or whether the corresponding mobile service is inactive (‘0’). Also, the LSB indicates whether the corresponding mobile service is hidden (‘1’) or not hidden (‘0’).

An SP_indicator field corresponds to a 1-bit field, which specifies service protection status of the corresponding mobile service. If the SP_indicator field is set to ‘1’, then service protection is applied to at least one of the components needed to provide a meaningful presentation of the corresponding service.

A short_MH_service_name_length field corresponds to a 3-bit field, which indicates the length of a short service name described in a short_service_name field in byte-length units.

The short_MH_service_name_field indicates the short name of the corresponding mobile service.

An MH_service_category field is a 6-bit field, which identifies the type category of the corresponding mobile service.

A num_components field corresponds to a 5-bit field, which specifies the number of IP stream components in the corresponding mobile service.

An IP_version_flag field corresponds to a 1-bit indicator, which when set to ‘0’ indicates that a source_IP_address field, an MH_service destination_IP_address field, and a component_destination_IP_address field correspond to IPv4 addresses. The value of ‘1’ for the IP_version_flag field is reserved for any possible future indication that the source_IP_address field, the MH_service_destination_IP_address field, and the component_destination_IP_address field correspond to IPv6 addresses. However, the usage of IPv6 addressing is currently undefined.

A source_IP_address_flag corresponds to a 1-bit Boolean flag, which indicates, when set, that a source IP address value for the corresponding service exists (or is present) so as to indicate a source specific multicast.

An MH_service_destination_IP_address_flag corresponds to a 1-bit, which indicates, when set, that the corresponding IP stream component is transmitted through an IP datagram having a destination IP address different from that of the MH_service_destination_IP_address field. Therefore, when the MH_service_destination_IP_address_flag is set, the receiving system may use the component_destination_IP_address as the destination_IP_address in order to access the corresponding IP stream component. Furthermore, the receiving system ignores (or disregards) the MH_service_destination_IP_address field within the mobile service loop.

The source_IP_address field corresponds to a 32-bit field or a 128-bit field. When the source_IP_address_flag is set to ‘1’, the source_IP_address field is required to be interpreted (or analyzed). However, when the source_IP_address_flag is set to ‘0’, the source_IP_address field is not required to be interpreted (or analyzed). When the source_IP_address_flag is set to ‘1’, and when the IP_version_flag field is set to ‘0’, the corresponding field indicates that the source_IP_address field indicates a 32-bit IPv4 address specifying the corresponding mobile service source. Alternatively, if the IP_version_flag field is set to ‘1’, the source_IP_address field indicates a 32-bit IPv6 address specifying the corresponding mobile service source.

The MH_service_destination_IP_address field corresponds to a 32-bit field or a 128-bit field. When the MH_service_destination_IP_address_flag field is set to ‘1’, the MH_service_destination_IP_address_flag is required to be interpreted (or analyzed). However, when the MH_service_destination_IP_address_flag is set to ‘0’, the MH_service_destination_IP_address_flag is not required to be interpreted (or analyzed). Herein, if the MH_service_destination_IP_address_flag is set to ‘1’, and if the IP_version_flag field is set to ‘0’, the MH_service_destination_IP_address field indicates a 32-bit destination IPv4 address for the corresponding mobile service.

Alternatively, if the MH_service_destination_IP_address_flag is set to ‘1’, and if the IP_version_flag field is set to ‘1’, the MH_service_destination_IP_address field indicates a 64-bit destination IPv6 address for the corresponding mobile service. In case the corresponding MH_service_destination_IP_address field cannot be interpreted, the component_destination_IP_address field within a component loop shall be interpreted. And, in this case, the receiving system shall use the component_destination_IP_address in order to access the IP stream component.

Meanwhile, the SMT according to the embodiment of the present invention provides information on multiple components using the ‘for’ loop statement. Hereinafter, a number of ‘for’ loop (also referred to as component loop) statements equivalent to the number of components corresponding to the num_component field value is performed so as to provide access information on multiple components. More specifically, access information of each component included in the corresponding mobile service is provided. In this case, the following field information on each component may be provided as described below.

An essential_component_indicator field is a 1-bit field, which indicates that the corresponding component is an essential component for the mobile service, when the essential_component_indicator field value is set to ‘1’. Otherwise, the essential_component_indicator field indicates that the corresponding component is an optional component. For example, in case of a basic layer audio stream and video stream, the essential_component_indicator field value is set to ‘1’. And, in case of the enhanced layer video stream, the essential_component_indicator field value is set to ‘0’.

A component_destination_IP_address_flag field corresponds to a 1-bit Boolean flag. When the component_destination_IP_address_flag field is set to ‘1’, this indicates that a component_destination_IP_address exists for the corresponding component. A port_num_count field corresponds to a 6-bit field, which indicates a UDP port number associated with the corresponding UDP/IP stream component. Herein, the destination UDP Port number value is increased by 1 starting from a destination_UDP_port_num field value. The destination_UDP_port_num field corresponds to a 16-bit field, which indicates a destination UDP port number for the corresponding IP stream component.

A component_destination_IP_address field corresponds to a 32-bit field or a 128-bit field. When the IP_version_flag field is set to ‘0’, the component_destination_IP_address field indicates a 32-bit destination IPv4 address for the corresponding IP stream component. Furthermore, when the IP_version_flag field is set to ‘1’, the component_destination_IP_address field indicates a 128-bit destination IPv6 address for the corresponding IP stream component. When this field is present, the destination address of the IP data-grams carrying the corresponding component of the M/H service shall match the address in the component_destination_IP_address field. Alternatively, when this field is not present, the destination address of the IP datagrams carrying the corresponding component shall match the address in the M/H_service_destination_IP_address field. The conditional use of the 128 bit-long address version of this field is to facilitate possible future usage of the IPv6, although the usage of the IPv6 is currently undefined.

A num_component_level_descriptors field corresponds to a 4-bit field, indicating a number of descriptors providing additional information on the component level. A number of component_level_descriptor( ) corresponding to the value of the num_component_level_descriptors field is included in the component loop, so as to provide additional (or supplemental) information on the corresponding component. A num_MH_service_level_descriptors field corresponds to a 4-bit field indicating a number of descriptors providing additional information of the corresponding mobile service level.

A number of service_level_descriptor( ) corresponding to the value of the num_MH_service_level_descriptors field is included in the mobile service loop, so as to provide additional (or supplemental) information on the mobile service. A num_ensemble_level_descriptors field corresponds to a 4-bit field, which indicates a number of descriptors providing additional information on ensemble levels. Furthermore, a number of ensemble_level_descriptor( ) corresponding to the value of the num_ensemble_level_descriptors field is included in the ensemble loop, so as to provide additional (or supplemental) information on the ensemble.

FIG. 16 illustrates a bit stream syntax structure of a GAT section according to an embodiment of the present invention. Herein, the GAT section has been written in an MPEG-2 private section format merely to facilitate the understanding of the present invention.

The GAT section according to the present invention is included in the service signaling channel, thereby being received. At this point, since the IP datagrams of the service signaling channel have the same well-known IP address and the same well-known UDP port number, the identification of the GAT included in the service signaling data is performed by a table identifier. More specifically, the table identifier may correspond to a table_id field existing in the corresponding table or in the header of the corresponding table section. And, when required, identification may be performed by making further reference to a table_id_extension field.

The GAT section includes service guide provider information and also includes service guide bootstrapping information for each provider.

Referring to FIG. 16, a table_id field is an 8-bit field acting as the table identifier. The table_id field may be set as the identifier for identifying the GAT.

A section_syntax_indicator field is a 1-bit field, which corresponds to an indicator defining a GAT section format.

A private_indicator field is also a 1-bit field indicating to which private section the GAT belongs.

A section_length field is a 13-bit field, which indicates the section length of the GAT.

Also, the GAT of FIG. 16 assigns a 16-bit GAT_protocol_version field to the position of a table_id_extension field. Therefore, when the GAT is received through the service signaling channel, the GAT_protocol_version field may be used as one of the table identifiers that can identify the GAT. More specifically, the GAT_protocol_version field indicates the protocol version which allows, in the future, the corresponding GAT to carry (or deliver or transmit) parameters that may be structured differently than those defined in the current protocol. Presently, the value for the GAT_protocol_version field shall be equal to zero (0). And, non-zero values of the GAT_protocol_version field may be used by a future version of this standard to indicate structurally different tables.

A version_number field is a 5-bit field, which indicates the version number of the GAT.

A current_next_indicator field is a 1-bit field, which indicates whether the GAT section is currently (or presently) applicable or not.

A section_number field corresponds to an 8-bit field, which indicates the section number of the current GAT section.

A last_section_number field corresponds to an 8-bit field, which indicates the last section number of the GAT.

A num_SG_providers field indicates a number of SG providers described in the current GAT section.

An SG_provider_id field indicates a unique indicator that can identify each SG provider.

Hereinafter, a ‘for’ loop (also referred to as an SG provider loop) is repeated as many times as the value of the num_SG_providers field, so as to provide SG bootstrapping information for each SG provider. For example the following field information may be provided for each SG provider.

An SG_provider_name_length field is an 8-bit field, which indicates the total length of an SG_provider_name_text( ) field that follows.

The SG_provider_name_text( ) field corresponds to a variable-length field, which indicates the name of the corresponding SG provider. Herein, the SG_provider_name_text( ) field is configured in a multiple string structure.

An SG_delivery_network_type field corresponds to an 8-bit field indicating the type of delivery network through which the SG is being transmitted. FIG. 17 illustrates the significance of the SG_delivery_network_type field value according to the present invention.

An SG_bootstrapping_data_length field is an 8-bit field, which indicates the total length of an SG_bootstrap_data( ) field that follows.

The SG_bootstrap_data( ) field corresponds to a variable-length field, which provides SG bootstrapping information based upon the value of the SG_delivery_network_type field, as shown in FIG. 18 to FIG. 21.

Furthermore, each SG provider may provide additional information being applied for each SG provider by using the descriptor.

According to another embodiment of the present invention, the SG_level_descriptors( ) field included in the SG provider loop includes the SG_delivery_network_type_field, the SG_bootstrapping_data_length field, and the SG_bootstrap_data( ) field. Also, the SG_level_descriptors( ) may also provide SG bootstrapping information based upon the value of the SG_delivery_network_type field, as shown in FIG. 18 to FIG. 21.

Furthermore, a num_additional_descriptors field corresponds to an 8-bit field, which indicates the number of descriptors that follow. A additional_descriptor( ) field, which is repeated as many times as the value of the num_additional_descriptors field, describes additional information that may be applied to all SG providers included in the GAT section.

For example, when the value of the SG_delivery_network_type field is equal to ‘0x00’, the SG is delivered through the same mobile (i.e., M/H) broadcast through which the GAT is delivered. More specifically, the SG is included and received as a single mobile service in the RS frame, wherein the RS frame belongs to the ensemble to which the GAT is delivered.

In another example, when the value of the SG_delivery_network_type field is equal to ‘0x01’, the SG is delivered through a mobile (i.e., M/H) broadcast other than that through which the GAT is delivered. More specifically, the SG is included and received as a single mobile service in an RS frame, wherein the RS frame belongs to an ensemble other than that to which the GAT is delivered. FIG. 1 illustrates an embodiment of this example, wherein a service provider possessing a separate physical channel may gather and combine information for the service guide, which is provided from each broadcast station. Thereafter, the service provider may transmit the combined SG through the possessed physical channel as a single mobile service.

In yet another example, when the value of the SG_delivery_network_type field is equal to ‘0x02’, the SG is delivered through an associated IP-based broadcast channel other, instead of the mobile broadcast. FIG. 2 illustrates an embodiment of this example. More specifically, in a hybrid system wherein a terrestrial mobile system is combined with a digital video broadcasting satellite services to handhelds (DVB-SH) system, which is used for European portable (or mobile) digital satellite TV broadcasting, DVB-SH operators (e.g., DVB-SH service providers) may gather and combine the information for service guides (e.g., schedule information on the corresponding mobile service) provided from a mobile broadcast station, so as to transmit the combined information to each receiving system through a DVB-SH network (i.e., satellite).

In yet another example, when the value of the SG_delivery_network_type field is equal to ‘0x03’, the SG is delivered through an interaction (or a two-way or bi-directional) channel. FIG. 3 illustrates an embodiment of this example. More specifically, in a hybrid system configured by a combination of a terrestrial mobile system and an interaction channel system (e.g., a cellular system), an interaction (or two-way or bi-directional) channel SG provider (e.g., an operator or server manager equipped with an interaction (or two-way) channel network, such as a cellular network operator) may gather and combine the information for service guides (e.g., schedule information on the corresponding mobile service) provided from a mobile broadcast station, so as to transmit the combined information to each receiving system through an interaction (or two-way or bi-directional) channel.

FIG. 18 illustrates a bit stream syntax structure of the SG_bootstrap_data( ) field, when the SG_delivery_network_type field value is equal to ‘0x00’ (i.e., when the SG is delivered through the current mobile broadcast). In other words, in this example, the SG delivering announcement information associated with the mobile service data is included and transmitted in the mobile broadcast signal delivering the mobile service data.

The SG bootstrapping information SG_bootstrap_data( ) of FIG. 18 includes a 16-bit MH_Service_id field and a 16-bit announcement_channel_TSI field.

When the SG_delivery_network_type field value is equal to ‘0x00’, the SG is delivered as a single mobile service. Therefore, the MH_service_id field marks an identifier that can identify the mobile service including the SG data. At this point, access information of the mobile service for the SG data is signaled to the SMT that, which is included in the mobile broadcast signal delivering the SG, as shown in FIG. 15. More specifically, the MH_service_id field value of FIG. 18 is matched with one of the multiple MH_service_id field values, which are included in the mobile service loop of the SMT.

The announcement_channel_TSI field indicates a transmission session identifier (TSI) of a FLUTE session, which corresponds to an announcement channel of a mobile service including the SG data. In other words, the announcement_channel_TSI field value corresponds to an identifier that can uniquely identify the FLUTE session, which corresponds to the announcement channel. More specifically, by matching the MH_service_id field value of the SMT acquired from the current mobile broadcast with the MH_service_id field value of FIG. 18, IP access information (e.g., a destination_IP_address, a destination UDP port number) of the mobile service including the SG data may be acquired from the SMT. Also, by using the IP access information, an IP datagram may be acquired from the corresponding mobile broadcast signal (i.e., an RS frame belonging to an ensemble including the SMT and the GAT). Furthermore, by using the announcement_channel_TSI field value, an ALC/LCT header may be removed from the acquired IP datagram, thereby accessing the corresponding FLUTE session and receiving the SG data.

FIG. 19 illustrates a bit stream syntax structure of the SG_bootstrap_data( ) field included in the GAT, when the SG_delivery_network_type field value is equal to ‘0x01’ (i.e., when the SG is delivered through a mobile broadcast signal other than that of the GAT). More specifically, when an SG associated with mobile services, which are transmitted through a mobile broadcast signal including the GAT, is transmitted through a different mobile broadcast signal, the SG_bootstrap_data( ) field of the GAT provides the bootstrapping information of the SG.

The SG bootstrapping information SG_bootstrap_data( ) of FIG. 19 includes a 16-bit transport_stream_id field, a 16-bit MH_Service_id field, and a 16-bit announcement_channel_TSI field. When the SG_delivery_network_type field value is equal to ‘0x01’, the transport_stream_id field indicates a label that can identify the mobile broadcast signal transmitting the SG.

More specifically, the transport_stream_id field indicates a transport stream ID of the mobile broadcast signal transmitting the SG. The transport_stream_id field value of FIG. 19 is equal to the value of the transport_stream_id field within the header of a program map table (PAT) and within the FIC chunk header of FIG. 12.

Also, when the SG_delivery_network_type field value is equal to ‘0x01’, the SG is delivered as a single mobile service. Therefore, the MH_service_id field marks an identifier that can identify the mobile service including the SG data. At this point, IP access information of the mobile service for the SG data is signaled to the SMT that, which is included in the mobile broadcast signal delivering the SG, and not the mobile broadcast signal delivering the GAT, as shown in FIG. 15. More specifically, the MH_service_id field value of FIG. 19 is matched with one of the multiple MH_service_id field values, which are included in the mobile service loop of the SMT.

The announcement_channel_TSI field indicates a transmission session identifier (TSI) of a FLUTE session, which corresponds to an announcement channel of a mobile service including the SG data.

More specifically, when the SG_delivery_network_type field value is equal to ‘0x01’, the mobile broadcast signal corresponding to the transport_stream_id field of FIG. 19 is received once again. Then, by matching the MH_service_id field value of the SMT acquired from the received mobile broadcast signal with the MH_service_id field value of FIG. 19, IP access information (e.g., a destination_IP_address, a destination UDP port number) of the mobile service including the SG data may be acquired from the SMT. Also, by using the IP access information, an IP datagram may be acquired from the corresponding mobile broadcast signal (i.e., an RS frame belonging to an ensemble including the SMT). Furthermore, after removing an ALC/LCT header from the acquired IP datagram, the corresponding FLUTE session may be accessed and the SG data may be received by using the announcement_channel_TSI field value.

FIG. 20 illustrates a bit stream syntax structure of the SG_bootstrap_data( ) field included in the GAT, when the SG_delivery_network_type field value is equal to ‘0x02’ (i.e., when the SG is delivered through a different IP-based broadcast network). More specifically, when an SG associated with mobile services, which are transmitted through a mobile broadcast signal including the GAT, is transmitted through a different IP-based broadcast network, the SG_bootstrap_data( ) field of the GAT provides the bootstrapping information of the SG.

The SG bootstrapping information SG_bootstrap_data( ) of FIG. 20 includes a 1-bit IP_version_flag field, a 1-bit source_IP_address_flag field, a 32-bit (or 128 bit) SG_bootstrap_destination_IP_address field, a 16-bit SG_bootstrap_destination_UDP_port_num field, and a 16-bit announcement_channel_TSI field. Furthermore, depending upon the source_IP_address_flag field value, the SG_bootstrap_data( ) may further include a 32-bit (or 128 bit) SG_bootstrap_source_IP_address field.

Referring to FIG. 20, when the source_IP_address_flag field value is set to ‘1’, the source_IP_address_flag field indicates that a source IP address value for the corresponding SG announcement channel exists in order to indicate a source-specific multicast.

When the value of the IP_version_flag field is set to ‘1’, this indicates that the source_IP_address field and the SG_bootstrap_destination_IP_address field are IPv6 addresses. Alternatively, when the value of the IP_version_flag field is set to ‘0’, this indicates that the source_IP_address field and the SG_bootstrap_destination_IP_address field are IPv4 addresses.

The source_IP_address field corresponds to a 32-bit or 128-bit field. Herein, the source_IP_address field will be significant (or requires analysis), when the value of the source_IP_address_flag field is set to ‘1’. However, when the value of the source_IP_address_flag field is set to ‘0’, the source_IP_address field will become insignificant (or will not require analysis). Herein, when the value of the source_IP_address_flag field is set to ‘1’, the source_IP_address field marks the source_IP_address of all IP datagrams transmitting the SG announcement channel with 32 bits or 128 bits. When the source_IP_address_flag field value is set to ‘1’, and when the IP_version_flag field value is set to ‘0’, the source_IP_address field is indicated as a 32-bit IPv4 address. Alternatively, when the IP_version_flag field value is set to ‘1’, the source_IP_address field indicates a 128-bit IPv6 address, which shows the source of the corresponding virtual channel.

The SG_bootstrap_destination_IP_address field indicates the destination_IP_address of the SG announcement channel. Herein, when the IP_version_flag field value is set to ‘0’, the SG_bootstrap_destination_IP_address field is indicated as a 32-bit IPv4 address. Alternatively, when the IP_version_flag field value is set to ‘1’, the SG_bootstrap_destination_IP_address field indicates a 128-bit IPv6 address, which shows the source of the corresponding virtual channel.

The SG_bootstrap_destination_UDP_port_number field indicates the destination UDP port number of the SG announcement channel.

The announcement_channel_TSI field indicates a transmission session identifier (TSI) of a FLUTE session, which corresponds to an announcement channel of the SG.

More specifically, an IP datagram is acquired from a broadcast signal, which is received through a different broadcast network (i.e., another IP-based broadcast network) transmitting the SG, by using the SG_bootstrap_destination_IP_address field and the SG_bootstrap_destination_UDP_port_num field of FIG. 20. Then, after removing the ALC/LCT header from the acquired IP datagram, connection may be made to the corresponding FLUTE session by using the announcement_channel_TSI field value, so as to receive the SG data.

FIG. 21 illustrates a bit stream syntax structure of the SG_bootstrap_data( ) field included in the GAT, when the SG_delivery_network_type field value is equal to ‘0x03’ (i.e., when the SG is delivered through an interaction (or two-way) channel). More specifically, when an SG associated with M/H services, which are transmitted through an M/H broadcast signal including the GAT, is transmitted through an interaction (or two-way) channel, the SG_bootstrap_data( ) field of the GAT provides the bootstrapping information of the SG.

The SG bootstrapping information SG_bootstrap_data( ) of FIG. 21 includes an 8-bit SG_entrypoint_URL_text_length field and a variable-length SG_entrypoint_URL_text field. The SG_entrypoint_URL_text_length field indicates, in byte units, the total length of the SG_entrypoint_URL_text field that follows. The SG_entrypoint_URL_text field indicates a uniform resource locator (URL), which indicates the location of the SG entry point. More specifically, the interaction channel transmitting the SG is accessed, based upon the value of the SG_entrypoint_URL_text field, so as to receive the SG data.

FIG. 22 and FIG. 23 illustrate a flow chart showing a method of performing bootstrapping for a service guide according to an embodiment of the present invention.

First of all, a mobile (i.e., M/H) broadcast signal including a user-selected mobile (i.e., M/H) service is received and demodulated (S101). Then, FIC segments are acquired from the demodulated mobile broadcast signal, and an FIC chunk is recovered based upon the acquired FIC segments. Mapping information between an ensemble and a mobile service is configured by using the information included in the recovered FIC chunk (S102). The mapping information between the ensemble and the mobile service may include an ensemble identifier, a mobile service identifier included in the ensemble, which is identified by the ensemble identifier, and service type information and so on.

Additionally, an RS frame including the user-selected mobile service is configured from the demodulated mobile broadcast signal, and CRC-decoding and RS-decoding are performed on the RS frame (S103). Thereafter, a service signaling channel is acquired from the CRC-decoded and RS-decoded RS frame (i.e., RS frame payload) (S104). Subsequently, a GAT section included in the service signaling channel is extracted (S105). More specifically, the GAT section is extracted from an IP datagram of a service signaling channel having the same well-known IP address and the same well-known UDP port number (e.g., an IP multicast stream) by using a table identifier.

Then, a number of SG providers (num_SG_providers) described in the GAT section is acquired from the GAT section (S106). The process steps following step 106 are repeated as many times as the acquired number of SG providers, so that SG bootstrapping information for each SG provider is gathered and the SG provided by each SG provider is accessed.

More specifically, name information of the corresponding SG provider (SG_provider_name_length, SG_provider_name_text), information on an SG delivery network type (SG_delivery_network_type) through which the SG is transmitted, and information on a bootstrapping data length of the SG (SG_bootstrapping_data_length) are acquired for each SG provider (S107).

Subsequently, SG bootstrapping information is acquired in step 107 depending upon the SG_delivery network type information (SG_delivery_network_type), and the corresponding SG is accessed by using the acquired SG bootstrapping information.

If it is verified in step 108 that the SG_delivery_network_type field value is equal to ‘0x00’, a mobile service identifier (MH_service_id) and a transmission session identifier of an announcement channel (announcement_channel_TSI) are acquired from the SG_bootstrap_data( ) shown in FIG. 18 (S109).

Thereafter, an SMT included in the service signaling channel acquired in step 104 is extracted (S110). Then, an IP access information associated with the M/H service identifier acquired in step 109 is acquired from the SMT extracted in step 110 (S111). An IP multicast stream is acquired from the RS frame, which belongs to the ensemble including the SMT, (i.e., from the RS frame CRC-decoded and RS-decoded in step 103) based upon the acquired IP access information (S112). Then, after removing the ALC/LCT header from the acquired IP multicast stream, a FLUTE session associated with the announcement_channel_TSI field is received (or joined) (S113), SG data is accessed (S114).

More specifically, by matching the MH_service_id field value of the SMT acquired from the current mobile broadcast signal with the MH_service_id field value of FIG. 18, IP access information (e.g., a destination_IP_address and a destination UDP port number) of the mobile service including the SG data is acquired from the SMT. Thereafter, an IP datagram (i.e., IP multicast stream) is acquired from a corresponding mobile broadcast signal (i.e., an RS frame that belongs to an ensemble including the SMT) by using the IP access information. Then, after removing the ALC/LCT header from the acquired IP datagram, access made to the corresponding FLUTE session by using the announcement_channel_TSI field value, so as to receive the SG data.

Meanwhile, when it is verified in step 108 that the SG_delivery_network_type field value is equal to ‘0x01’, a transport stream identifier (transport_stream_id), a mobile service identifier (MH_service_id), and a transmission session identifier of an announcement channel (announcement_channel_TSI) are acquired from the SG_bootstrap_data( ) shown in FIG. 19 (S115). Then, a mobile broadcast signal associated with the transport stream identifier (transport_stream_id) is received and demodulated (S116). For example, the mobile broadcast signal received in step 116 and the mobile broadcast signal received in step 101 each have different transport stream identifiers.

Subsequently, FIC segments are acquired from the mobile broadcast signal demodulated in step 116 and an FIC chunk is recovered based upon the acquired FIC segments. Then, an ensemble associated with the mobile broadcast signal acquired in step 115 is identified from the recovered FIC chunk (S117). Thereafter, an RS frame belonging to the ensemble, which is identified from the mobile broadcast signal demodulated in step 116, is configured, thereby performing CRC-decoding and RS-decoding on the RS frame. Then, a service signaling channel is acquired from the CRC-decoded and RS-decoded RS frame (i.e., from the RS frame payload), so as to extract an SMT included in the service signaling channel (S118). More specifically, an SMT section is extracted from an IP datagram of a service signaling channel having the same well-known IP address and the same well-known UDP port number (e.g., an IP multicast stream) by using a table identifier.

Then, an IP access information associated with the M/H service identifier acquired in step 115 is acquired from the SMT extracted in step 118 (S119). An IP multicast stream is acquired from the RS frame, which includes the SMT extracted in step 118, based upon the acquired IP access information (S120). Then, after removing the ALC/LCT header from the acquired IP multicast stream, a FLUTE session associated with the announcement_channel_TSI field is received (or joined) (S121), thereby accessing the SG data (S122).

More specifically, after receiving a mobile broadcast signal corresponding to the transport_stream_id field of FIG. 19, by matching the MH_service_id field value of the SMT acquired from the current mobile broadcast signal with the MH_service_id field value of FIG. 19, IP access information (e.g., a destination_IP_address and a destination UDP port number) of the mobile service including the SG data is acquired from the SMT. Thereafter, an IP datagram (i.e., IP multicast stream) is acquired from a corresponding mobile broadcast signal (i.e., an RS frame that belongs to the corresponding ensemble) by using the IP access information. Then, after removing the ALC/LCT header from the acquired IP datagram, connection made to the corresponding FLUTE session by using the announcement_channel_TSI field value, so as to receive the SG data.

Meanwhile, if it is verified in step 108 that the SG_delivery_network_type field value is equal to ‘0x02’, an IP access information for SG bootstrapping and a transmission session identifier of an announcement channel (announcement_channel_TSI) are acquired from the SG_bootstrap_data( ) shown in FIG. 20 (S123). Herein, the IP access information for SG bootstrapping includes an SG bootstrap destination_IP_address SG_bootstrap_destination_IP_address field) and an SG bootstrap destination UDP port number (SG_bootstrap_destination_UDP_port_num_field). The IP access information for SG bootstrapping may further include an SG bootstrap source IP address (SG_bootstrap_source_IP_address field).

When SG bootstrapping information of the corresponding SG provider is acquired in step 123, another broadcast network transmitting the SG is tuned, so as to gather (or collect) the appropriate parameters (S124). Thereafter, by using the parameters, an IP multicast stream is acquired from the other broadcast network (S125). Then, after removing the ALC/LCT header from the acquired IP multicast stream, a FLUTE session associated with the announcement_channel_TSI field is received (or joined) (S126), thereby accessing the SG data (S127).

More specifically, an IP datagram is acquired from a broadcast signal, which is received through a different broadcast network (i.e., another IP-based broadcast network) transmitting the SG, by using the SG_bootstrap_destination_IP_address field and the SG_bootstrap_destination_UDP_port_num field of FIG. 20. Then, after removing the ALC/LCT header from the acquired IP datagram, connection may be made to the corresponding FLUTE session by using the announcement_channel_TSI field value, so as to receive the SG data.

Meanwhile, if it is verified in step 108 that the SG_delivery_network_type field value is equal to ‘0x03’, an access information for SG bootstrapping is acquired from the SG_bootstrap_data( ) shown in FIG. 21 (S128). Herein, the access information includes an SG entry point URL (SG_entrypoint_URL field). Also, an interaction (or two-way or bi-directional) channel is accessed, based upon the access information (S129), so as to receive the SG data (S130). When the SG data are received by performing any one of step 114, step 122, step 127, and step 130, after subtracting ‘1’ from the num_SG_providers field value acquired in step 106 (S131), it is verified whether the num_SG_providers field value is equal to ‘0’ (S132). If the num_SG_providers field value is not equal to ‘0’, the process returns to step 107, so as to extract bootstrapping information for accessing the SG, which is transmitted by the next SG provider, thereby performing the process of accessing the SG. Alternatively, if the num_SG_providers field value not equal to ‘0’, this indicates that all SGs provided from the SG providers included in the GAP section have been received. Therefore, the SG bootstrapping process is terminated.

Receiving System

FIG. 24 illustrates an embodiment of a receiving system according to the present invention. In FIG. 24, a solid arrow denotes a data path and a dotted arrow denotes a control signal path.

The receiving system according to the present invention may include an operation controller 2100, a tuner 2111, a demodulator 2112, an equalizer 2113, a known sequence detector (or known data detector) 2114, a block decoder 2115, a primary Reed-Solomon (RS) frame decoder 2116, a secondary RS frame decoder 2117, a signaling decoder 2118, and a baseband controller 2119. The receiving system according to the present invention may further include an FIC handler 2121, a service manager 2122, a service signaling handler 2123, and a first storage unit 2124. The receiving system according to the present invention may further include a primary RS frame buffer 2131, a secondary RS frame buffer 2132, and a transport packet (TS) handler 2133. The receiving system according to the present invention may further include an Internet Protocol (IP) datagram handler 2141, a descrambler 2142, an User Datagram Protocol (UDP) datagram handler 2143, a Real-time Transport Protocol/Real-time Transport Control Protocol (RTP/RTCP) datagram handler 2144, a Network Time Protocol (NTP) datagram handler 2145, a service protection stream handler 2146, a second storage unit 2147, an Asynchronous Layered Coding/Layered Coding Transport (ALC/LCT) stream handler 2148, an Extensible Mark-up Language (XML) parser 2150, and a Field Device Tool (FDT) handler 2151. The receiving system according to the present invention may further include an Audio/Video (A/V) decoder 2161, a file decoder 2162, a third storage unit 2163, a middle ware (M/W) engine 2164, and a Service Guide (SG) handler 2165. The receiving system according to the present invention may further include an Electronic Program Guide (EPG) manager 2171, an application manager 2172, and an User Interface (UI) manager 2173. Additionally, the receiving system further includes another broadcast network interface 2001 for receiving a service guide, which is transmitted through another broadcast network, and an interaction (or two-way or bi-directional) network interface 2003 for receiving a service guide, which is transmitted through an interaction channel. According to the embodiment of the present invention, the interaction network interface 2003 constructs an interface with an IP-based interaction network regardless of a physical medium, such as wireless or optical medium.

Herein, for simplicity of the description of the present invention, the operation controller 2100, the tuner 2111, the demodulator 2112, the equalizer 2113, the known sequence detector (or known data detector) 2114, the block decoder 2115, the primary RS frame decoder 2116, the secondary RS frame decoder 2117, the signaling decoder 2118, and the baseband controller 2119 will be collectively referred to as a baseband processor 2110. The FIC handler 2121, the service manager 2122, the service signaling handler 2123, and the first storage unit 2124 will be collectively referred to as a service multiplexer 2120. The primary RS frame buffer 2131, the secondary RS frame buffer 2132, and the TS handler 2133 will be collectively referred to as an IP adaptation module 2130. The IP datagram handler 2141, the descrambler 2142, the UDP datagram handler 2143, the RTP/RTCP datagram handler 2144, the NTP datagram handler 2145, the service protection stream handler 2146, the second storage unit 2147, the ALC/LCT stream handler 2148, the XML parser 2150, and the FDT handler 2151 will be collectively referred to as a common IP module 2140. The A/V decoder 2161, the file decoder 2162, the third storage unit 2163, the M/W engine 2164, and the SG handler 2165 will be collectively referred to as an application module 2160.

In addition, although the terms used in FIG. 24 are selected from generally known and used terms, some of the terms mentioned in the description of FIG. 24 have been selected by the applicant at his or her discretion, the detailed meanings of which are described in relevant parts of the description herein. Furthermore, it is required that the present invention is understood, not simply by the actual terms used but by the meaning of each term lying within.

Referring to FIG. 24, the baseband controller 2119 controls the operation of each block included in the baseband processor 2110.

By tuning the receiving system to a specific physical channel frequency (or physical transmission channel frequency, PTC), the tuner 2111 enables the receiving system to receive main service data, which correspond to broadcast signals for fixed-type broadcast receiving systems, and mobile service data, which correspond to broadcast signals for mobile broadcast receiving systems. At this point, the tuned frequency of the specific physical channel is down-converted to an intermediate frequency (IF) signal, thereby being outputted to the demodulator 2112 and the known sequence detector 2114.

At this point, the tuner 2111 may receive main service data and mobile service data, or the tuner 2111 may receive a service guide associated with the mobile service data or service guide data associated with another set of mobile service data.

More specifically, the service guide delivering announcement information on the mobile service data included in the mobile broadcast signal, which is currently being received, may be received by being included in the mobile broadcast signal or received through a mobile broadcast signal of another physical channel. In this case, the service guide is received and processed by the tuner 2111 of the baseband processing unit 2110 based upon the control of the service manager 2122 and/or the operation controller 2100. Also, the service guide may be transmitted through a different broadcast network. And, the service guide being transmitted through the other broadcast network is received and processed by the other broadcast network interface 2001 based upon the control of the service manager 2122 and/or the operation controller 2100. Furthermore, the service guide may be transmitted through an interaction channel. And, the service guide being transmitted through the interaction channel is received and processed by the interaction network interface 2003 based upon the control of the service manager 2122 and/or the operation controller 2100.

The passband digital IF signal being outputted from the tuner 2111 may only include main service data, or only include mobile service data, or include both main service data and mobile service data.

The demodulator 2112 performs self-gain control, carrier recovery, and timing recovery processes on the passband digital IF signal inputted from the tuner 2111, thereby modifying the IF signal to a baseband signal. Then, the demodulator 2112 outputs the baseband signal to the equalizer 2113 and the known sequence detector 2114. The demodulator 2112 uses the known data symbol sequence inputted from the known sequence detector 2114 during the timing and/or carrier recovery, thereby enhancing the demodulating performance.

The equalizer 2113 compensates channel-associated distortion included in the signal demodulated by the demodulator 2112. Then, the equalizer 2113 outputs the distortion-compensated signal to the block decoder 2115. By using a known data symbol sequence inputted from the known sequence detector 2114, the equalizer 2113 may enhance the equalizing performance. Furthermore, the equalizer 2113 may receive feed-back on the decoding result from the block decoder 2115, thereby enhancing the equalizing performance.

The known sequence detector 2114 detects known data place (or position) inserted by the transmitting system from the input/output data (i.e., data prior to being demodulated or data being processed with partial demodulation). Then, the known sequence detector 2114 outputs the detected known data position information and known data sequence generated from the detected position information to the demodulator 2112, the equalizer 2113, and the baseband controller 2119. Additionally, in order to allow the block decoder 2115 to identify the mobile service data that have been processed with additional encoding by the transmitting system and the main service data that have not been processed with any additional encoding, the known sequence detector 2114 outputs such corresponding information to the block decoder 2115.

If the data channel-equalized by the equalizer 2113 and inputted to the block decoder 2115 correspond to data processed with both block-encoding of serial concatenated convolution code (SCCC) method and trellis-encoding by the transmitting system (i.e., data within the RS frame, signaling data), the block decoder 2115 may perform trellis-decoding and block-decoding as inverse processes of the transmitting system. On the other hand, if the data channel-equalized by the equalizer 2113 and inputted to the block decoder 2115 correspond to data processed only with trellis-encoding and not block-encoding by the transmitting system (i.e., main service data), the block decoder 2115 may perform only trellis-decoding.

The signaling decoder 2118 decodes signaling data that have been channel-equalized and inputted from the equalizer 2113. It is assumed that the signaling data (or signaling information) inputted to the signaling decoder 2118 correspond to data processed with both block-encoding and trellis-encoding by the transmitting system. Examples of such signaling data may include transmission parameter channel (TPC) data and fast information channel (FIC) data.

For example, among the data that are being inputted, the signaling decoder 2118 performs regressive turbo decoding of a parallel concatenated convolution code (PCCC) method on data corresponding to the signaling information region. Subsequently, the signaling decoder 2118 separates FIC data and TPC data from the regressive-turbo-decoded signaling data. Additionally, the signaling decoder 2118 performs RS-decoding as inverse processes of the transmitting system on the separated TPC data, thereby outputting the processed data to the baseband controller 2119. Also, the signaling decoder 2118 performs deinterleaving in sub-frame units on the separated FIC data, so as to perform RS-decoding as inverse processes of the transmitting system on the deinterleaved FIC data, thereby outputting the processed data to the FIC handler 2121. The FIC data being deinterleaved and RS-decoded from the signaling decoder 2118 and outputted to the FIC handler 2121 are transmitted in units of FIC segments.

The FIC handler 2121 receives FIC data from the signaling decoder 2118, so as to extract signaling information for service acquisition (i.e., mapping information between an ensemble and a mobile service). In order to do so, the FIC handler 2121 may include an FIC segment buffer, an FIC segment parser, and an FIC chunk parser.

The FIC segment buffer buffers FIC segment groups being inputted in M/H frame units from the signaling decoder 2118, thereby outputting the buffered FIC segment groups to the FIC segment parser. Thereafter, the FIC segment parser extracts the header of each FIC segment stored in the FIC segment buffer so as to analyze the extracted headers. Then, based upon the analyzed result, the FIC segment parser outputs the payload of the respective FIC segments to the FIC chunk parser. The FIC chunk parser uses the analyzed result outputted from the FIC segment parser so as to recover the FIC chunk data structure from the FIC segment payloads, thereby analyzing the received FIC chunk data structure. Subsequently, the FIC chunk parser extracts the signaling information for service acquisition. The signaling information acquired from the FIC chunk parser is outputted to the service manager 2122.

Meanwhile, the service signaling handler 2123 is configured by including a service signaling buffer and a service signaling parser. And, the service signaling handler 2123 buffers the table sections (e.g., SMT section, GAT section) included in the service signaling channel, which is transmitted from the UDP datagram handler 2143, thereby analyzing and processing the buffered table sections. The SMT information and GAT information processed by the service signaling handler 2123 are also outputted to the service manager 2122.

According to the embodiment of the present invention, the service signaling channel transmitting the SMT section and the GAT section is included in the corresponding RS frame in a UDP/IP packet format having a well-known IP destination address and a well-known destination UDP port number, thereby being received. Accordingly, in the receiving system, a service signaling channel may be acquired without requiring separate IP access information. Furthermore, each signaling table (e.g., SMT, GAT, etc.) within the acquired service signaling channel is identified by using a table identifier.

The SMT section provides signaling information on all services (including IP access information) within the ensemble, which includes the SMT section. Therefore, an IP stream component belonging to a requested service is accessed by using the information parsed from the SMT, so as to provide the corresponding service to the user. Furthermore, if service guide data are included in an ensemble, which includes the SMT section, as a signaled mobile service, so as to be received, the SMT section provides IP access information of the mobile service including the SG data.

Additionally, the GAT section provides information on the SG providers each transmitting a service guide and service guide bootstrapping information, which is required for accessing the SG. The SG bootstrapping information may very depending upon the SG transmission method and includes access information on the corresponding SG. Furthermore, the SG bootstrapping information may further include a transmission session identifier of an announcement channel.

The service manager 2122 uses the SG bootstrapping information, which is included in the GAT and signaled for each SG provider, so as to receive the corresponding SG from any one of the current RS frame, the tuner 2111, the other broadcast network interface 2001, and the interaction network interface. More specifically, based upon the SG bootstrapping information signaled to the GAT, which has been extracted from the mobile broadcast signal received through the tuner 2111, a service guide associated with the mobile broadcast signal is received from any one of the corresponding mobile broadcast signal, a mobile broadcast signal of another physical channel, another broadcast network, and an interaction channel. The received SG is either outputted to the ALC/LCT handler 2148 or outputted to the SG handler 2165.

Since the process of receiving the corresponding SG using the SG bootstrapping information has been described in detail with reference to FIG. 16 to FIG. 22, detailed description of the same will be omitted for simplicity.

The information parsed from the SMT is collected by the service manager 2122 and is then stored in the first storage unit 2124. The service manager 2122 stores the information extracted from the SMT in the first storage unit 2124 in a service map and guide data format.

That is, the service manager 2122 uses the signaling information collected from each of the FIC handler 2121 and the service signaling handler 2123, so as to configure a service map. Thereafter, the service manager 2122 uses a service guide (SG) collected from the service guide (SG) handler 2165 so as to draw up a program guide. Then, the service manager 2122 controls the baseband controller 2119 so that a user can receive (or be provided with) a user-requested mobile service by referring to the service map and service guide. Furthermore, the service manager 2122 may also control the system so that the program guide can be displayed on at least a portion of the display screen based upon the user's input.

The first storage unit 2124 stores the service map and service guide drawn up by the service manager 2122. Also, based upon the requests from the service manager 2122 and the EPG manager 2171, the first storage unit 2124 extracts the required data, which are then transferred to the service manager 2122 and/or the EPG manager 2171.

The baseband controller 2119 receives the known data place information and TPC data, thereby transferring M/H frame time information, information indicating whether or not a data group exists in a selected parade, place information of known data within a corresponding data group, power control information, and so on to each block within the baseband processor 2110. The TPC data will be described in detail in a later.

Meanwhile, according to the present invention, the transmitting system uses RS frames by encoding units. Herein, the RS frame may be divided into a primary RS frame and a secondary RS frame. However, according to the embodiment of the present invention, the primary RS frame and the secondary RS frame will be divided based upon the level of importance of the corresponding data.

The primary RS frame decoder 2116 receives, as an input, the output of the block decoder 2115. Here, in an embodiment, the primary RS frame decoder 2116 receives mobile service data, which has been encoded through Reed Solomon (RS) encoding and/or Cyclic Redundancy Check (CRC) encoding, from the block decoder 2115. The primary RS frame decoder 2116 may also receive SMT section data, GAT section data or SG data, which has been encoded through Reed Solomon (RS) encoding and/or Cyclic Redundancy Check (CRC) encoding, from the block decoder 2115.

The primary RS frame decoder 2116 performs inverse processes of an RS frame encoder (not shown) included in the transmitting system, thereby correcting errors existing within the primary RS frame. More specifically, the primary RS frame decoder 2116 forms a primary RS frame by grouping a plurality of data groups and, then, correct errors in primary RS frame units. In other words, the primary RS frame decoder 2116 decodes primary RS frames, which are being transmitted for actual broadcast services. The primary RS frame decoded by the primary RS frame decoder 2116 outputs to the primary RS frame buffer 2131. The primary RS frame buffer 2131 buffers the primary RS frame, and then configures an M/H TP in each row unit. The M/H TPs of the primary RS frame outputs to the TP handler 2133.

Additionally, the secondary RS frame decoder 2117 receives, as an input, the output of the block decoder 2115. Herein, in an embodiment, the secondary RS frame decoder 2117 receives mobile service data, which has been encoded through Reed Solomon (RS) encoding and/or Cyclic Redundancy Check (CRC) encoding, from the block decoder 2115. The secondary RS frame decoder 2117 may also receive SMT section data, GAT section data or SG data, which has been encoded through Reed Solomon (RS) encoding and/or Cyclic Redundancy Check (CRC) encoding, from the block decoder 2115.

The secondary RS frame decoder 2117 performs inverse processes of an RS frame encoder (not shown) included in the transmitting system, thereby correcting errors existing within the secondary RS frame. More specifically, the secondary RS frame decoder 2117 forms a secondary RS frame by grouping a plurality of data groups and, then, correct errors in secondary RS frame units. In other words, the secondary RS frame decoder 2117 decodes secondary RS frames, which are being transmitted for actual broadcast services. The secondary RS frame decoded by the secondary RS frame decoder 2117 outputs to the secondary RS frame buffer 2132. The secondary RS frame buffer 2132 buffers the secondary RS frame, and then configures an M/H TP in each row unit. The M/H TPs of the secondary RS frame outputs to the TP handler 2133.

The TP handler 2133 consists of a TP buffer and a TP parser. The TP handler 2133 buffers the M/H TPs inputted from the primary RS frame buffer 2131 and the secondary RS frame buffer 2132, and then extracts and analyzes each header of the buffered M/H TPs, thereby recovering IP datagram from each payload of the corresponding M/H TPs. The recovered IP datagram is outputted to the IP datagram handler 2141.

The IP datagram handler 2141 consists of an IP datagram buffer and an IP datagram parser. The IP datagram handler 2141 buffers the IP datagram delivered from the TP handler 2133, and then extracts and analyzes a header of the buffered IP datagram, thereby recovering UDP datagram from a payload of the corresponding IP datagram. The recovered UDP datagram is outputted to the UDP datagram handler 2143.

If the UDP datagram is scrambled, the scrambled UDP datagram is descrambled by the descrambler 2142, and the descrambled UDP datagram is outputted to the UDP datagram handler 2143. For example, when the UDP datagram among the received IP datagram is scrambled, the descrambler 2142 descrambles the UDP datagram by inputting an encryption key and so on from the service protection stream handler 2146, and outputs the descrambled UDP datagram to the UDP datagram handler 2143.

The UDP datagram handler 2143 consists of an UDP datagram buffer and an UDP datagram parser. The UDP datagram handler 2143 buffers the UDP datagram delivered from the IP datagram handler 2141 or the descrambler 2142, and then extracts and analyzes a header of the buffered UDP datagram, thereby recovering data transmitted through a payload of the corresponding UDP datagram. If the recovered data is an RTP/RTCP datagram, the recovered data is outputted to the RTP/RTCP datagram handler 2144. If the recovered data is also an NTP datagram, the recovered data is outputted to the NTP datagram handler 2145. Furthermore, if the recovered data is a service protection stream, the recovered data is outputted to the service protection stream handler 2146. And, if the recovered data is an ALC/LCT stream, the recovered data is outputted to the ALC/LCT steam handler 2148. Also, when the recovered data is SMT section data, the recovered data output to the service signaling section handler 2123.

Since the SMT section or the service signaling channel that carries the SMT section is an IP datagram having a well-known IP destination address and a well-known destination UDP port number, the IP datagram handler 2141 and the UDP datagram handler 2143 can output data including the SMT section to the service signaling section handler 2123 without requiring additional information.

The RTP/RTCP datagram handler 2144 consists of an RTP/RTCP datagram buffer and an RTP/RTCP datagram parser. The RTP/RTCP datagram handler 2144 buffers the data of RTP/RTCP structure outputted from the UDP datagram handler 2143, and then extracts A/V stream from the buffered data, thereby outputting the extracted A/V stream to the A/V decoder 2161.

The A/V decoder 2161 decodes the audio and video streams outputted from the RTP/RTCP datagram handler 2144 using audio and video decoding algorithms, respectively. The decoded audio and video data is outputted to the presentation manager 2170. Herein, at least one of an AC-3 decoding algorithm, an MPEG 2 audio decoding algorithm, an MPEG 4 audio decoding algorithm, an AAC decoding algorithm, an AAC+ decoding algorithm, an HE AAC decoding algorithm, an AAC SBR decoding algorithm, an MPEG surround decoding algorithm, and a BSAC decoding algorithm can be used as the audio decoding algorithm and at least one of an MPEG 2 video decoding algorithm, an MPEG 4 video decoding algorithm, an H.264 decoding algorithm, an SVC decoding algorithm, and a VC-1 decoding algorithm can be used as the audio decoding algorithm.

The NTP datagram handler 2145 consists of an NTP datagram buffer and an NTP datagram parser. The NTP datagram handler 2145 buffers data having an NTP structure, the data being outputted from the UDP datagram handler 2143. Then, the NTP datagram handler 2145 extracts an NTP stream from the buffered data. Thereafter, the extracted NTP stream is outputted to the A/V decoder 2161 so as to be decoded.

The service protection stream handler 2146 may further include a service protection stream buffer. Herein, the service protection stream handler 2146 buffers data designated (or required) for service protection, the data being outputted from the UDP datagram handler 2143. Subsequently, the service protection stream handler 2146 extracts information required for descrambling from the extracted data. The information required for descrambling includes a key value, such as SKIM and LKTM. The information for descrambling is stored in the second storage unit 2147, and, when required, the information for descrambling is outputted to the descrambler 2142.

The ALC/LCT stream handler 2148 consists of an ALC/LCT stream buffer and an ALC/LCT stream parser. And, the ALC/LCT stream handler 2148 buffers data having an ALC/LCT structure, the data being outputted from the UDP datagram handler 2143. Then, the ALC/LCT stream handler 2148 analyzes a header and a header expansion of an ALC/LCT session from the buffered data. Based upon the analysis result of the header and header expansion of the ALC/LCT session, when the data being transmitted to the ALC/LCT session correspond to an XML structure, the corresponding data are outputted to an XML parser 2150. Alternatively, when the data being transmitted to the ALC/LCT session correspond to a file structure, the corresponding data are outputted to a file decoder 2162. At this point, when the data that are being transmitted to the ALC/LCT session are compressed, the compressed data are decompressed by a decompressor 2149, thereby being outputted to the XML parser 2150 or the file decoder 2162.

The XML parser 2150 analyses the XML data being transmitted through the ALC/LCT session. Then, when the analyzed data correspond to data designated to a file-based service, the XML parser 2150 outputs the corresponding data to the FDT handler 2151. On the other hand, if the analyzed data correspond to data designated to a service guide, the XML parser 2150 outputs the corresponding data to the SG handler 2165. The FDT handler 2151 analyzes and processes a file description table of a FLUTE protocol, which is transmitted in an XML structure through the ALC/LCT session.

The SG handler 2165 collects and analyzes the data designated for a service guide, the data being transmitted in an XML structure, thereby outputting the analyzed data to the service manager 2122.

The file decoder 2162 decodes the data having a file structure and being transmitted through the ALC/LCT session, thereby outputting the decoded data to the middleware engine 2164 or storing the decoded data in a third storage unit 2163. Herein, the middleware engine 2164 translates the file structure data (i.e., the application) and executes the translated application. Thereafter, the application may be outputted to an output device, such as a display screen or speakers, through the application presentation manager 2170. According to an embodiment of the present invention, the middleware engine 2164 corresponds to a JAVA-based middleware engine.

Based upon a user-input, the EPG manager 2171 receives EPG data either through the service manager 2122 or through the SG handler 2165, so as to convert the received EPG data to a display format, thereby outputting the converted data to the presentation manager 2170.

The application manager 2172 performs overall management associated with the processing of application data, which are being transmitted in object formats, file formats, and so on. Furthermore, based upon a user-command inputted through the UI manager 2173, the operation controller 2100 controls at least one of the service manager 2122, the EPG manager 2171, the application manager 2172, and the presentation manager 2170, so as to enable the user-requested function to be executed.

The UI manager 2173 transfers the user-input to the operation controller 2100 through the UI.

Finally, the presentation manager 2170 provides at least one of the audio and video data being outputted from the A/V decoder 2161 and the EPG data being outputted from the EPG manager 2171 to the user through the speaker and/or display screen.

As described above, the transmitting and receiving system and the broadcast signal processing method of the same according to the present invention have the following advantages.

The present invention can signal mapping information between an ensemble and a mobile service by using an FIC chunk, and can divide and transmit the FIC chunk into FIC segment units, thereby enabling the receiving system to perform quick service acquisition.

Additionally, by using the service guide bootstrapping information signaled to a guide access table (GAT), the service guide may be accessed, even if the service guide associated with the current mobile broadcast signal is transmitted to any one of the current mobile broadcast signal, a mobile broadcast signal of another channel, another broadcast network, and an interaction channel.

Moreover, the present invention may also receive the mobile service data without any error even in channels having severe ghost effect and noise. Furthermore, by inserting known data in a particular position (or place) within a data region and transmitting the processed data, the receiving performance of the receiving system may be enhanced even in a channel environment that is liable to frequent changes. Finally, the present invention is even more effective when applied to mobile and portable receivers, which are also liable to a frequent change in channel and which require protection (or resistance) 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.

Song, Jae Hyung, Thomas, Gomer

Patent Priority Assignee Title
10142233, Jan 21 2015 LG Electronics Inc Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal
10778580, Jan 21 2015 LG Electronics Inc. Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal
11032200, Jan 21 2015 LG Electronics Inc. Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal
Patent Priority Assignee Title
7088697, Dec 09 1998 MUNITECH IP S A R L Methods and apparatus for transmitting data in a radio communication system including signaling allocation of a common channel
20090013356,
20090019494,
20090052580,
20090070811,
KR1020080114592,
KR1020090004580,
KR1020090004582,
KR1020090010913,
WO2008123734,
WO2009002113,
///
Executed onAssignorAssigneeConveyanceFrameReelDoc
Oct 22 2009SONG, JAE HYUNGLG Electronics IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0347130164 pdf
Oct 27 2009THOMAS, GOMERLG Electronics IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0347130164 pdf
Jan 14 2015LG Electronics Inc.(assignment on the face of the patent)
Date Maintenance Fee Events
Nov 02 2016ASPN: Payor Number Assigned.
Sep 07 2020REM: Maintenance Fee Reminder Mailed.
Feb 22 2021EXP: Patent Expired for Failure to Pay Maintenance Fees.


Date Maintenance Schedule
Sep 20 20194 years fee payment window open
Mar 20 20206 months grace period start (w surcharge)
Sep 20 2020patent expiry (for year 4)
Sep 20 20222 years to revive unintentionally abandoned end. (for year 4)
Sep 20 20238 years fee payment window open
Mar 20 20246 months grace period start (w surcharge)
Sep 20 2024patent expiry (for year 8)
Sep 20 20262 years to revive unintentionally abandoned end. (for year 8)
Sep 20 202712 years fee payment window open
Mar 20 20286 months grace period start (w surcharge)
Sep 20 2028patent expiry (for year 12)
Sep 20 20302 years to revive unintentionally abandoned end. (for year 12)