# Patent

## Title
Method of processing traffic information and digital broadcast system

## Abstract

A digital broadcast transmitting/receiving system and a method for processing data are disclosed. The method for processing data may enhance the receiving performance of the receiving system by performing additional coding and multiplexing processes on the traffic information data and transmitting the processed data. Thus, robustness is provided to the traffic information data, thereby enabling the data to respond strongly against the channel environment which is always under constant and vast change.

## Background
This application is a Continuation of application Ser. No. 12/719,622 filed Mar. 8, 2010 now U.S. Pat. No. 7,869,357, which is a Continuation of application Ser. No. 11/542,437 filed Oct. 4, 2006 now U.S. Pat. No. 7,701,850, and claims priority to Korean Patent Application Numbers 10-2005-0093639 filed Oct. 5, 2005, 10-2006-0039117 filed Apr. 29, 2006, 10-2006-0089736 filed Sep. 15, 2006 and 10-2006-0023211 filed Mar. 13, 2006, and each of the above-identified applications is incorporated by reference herein in its entirety.


BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a digital broadcast system, and more particularly, to a digital broadcast transmitting/receiving system and a method for processing data.
2. Discussion of the Related Art
Presently, the technology for processing digital signals is being developed at a vast rate, and, as a larger number of the population uses the Internet, digital electric appliances, computers, and the Internet are being integrated. Therefore, in order to meet with the various requirements of the users, a system that can add video/audio data through a digital broadcasting (or television) channel so as to transmit diverse supplemental information needs to be developed.
Some users may assume that supplemental data broadcasting would be applied by using a PC card or a portable device having a simple in-door antenna attached thereto. However, when used indoors, the intensity of the signals may decrease due to a blockage caused by the walls or disturbance caused by approaching or proximate mobile objects. Accordingly, the performance of the received digital signals may be deteriorated due to a ghost effect and noise caused by reflected waves. Therefore, a system highly resistant to (or robust against) ghost effects and noise is required to be developed. Particularly, in order for the supplemental data to be used in portable and mobile broadcast receivers, a higher degree of resistance (or robustness) against channel interruption and noise is required.
The supplemental data are generally transmitted by a time-division method through the same channel as the MPEG video/audio data. However, with the advent of digital broadcasting, ATSC VSB digital television receivers that receive only MPEG video/audio data are already supplied to the market. Therefore, the supplemental data that are transmitted through the same channel as the MPEG video/audio data should not influence the conventional ATSC VSB receivers that are provided in the market. In other words, this may be defined as ATSC VSB compatibility, and the supplemental data broadcast system should be compatible with the ATSC VSB system. Herein, the supplemental data may also be referred to as enhanced data or EVSB data. Furthermore, as the number of possessed automobiles (or cars) is in constant increase, and with the influence of the working-5-days-a-week policy (which eventually leads to an increase in the usage of cars), the need for traffic information is also increasing accordingly.
SUMMARY OF THE INVENTION
Accordingly, the present invention is directed to a digital broadcast transmitting/receiving system and a method for processing data that substantially obviate one or more problems due to limitations and disadvantages of the related art.
An object of the present invention is to provide a digital broadcast system and a method for processing data that can be compatible to the ATSC VSB system, that is suitable for transmitting enhanced data, and that is resistant to and robust against noise.
Another object of the present invention is to provide a digital broadcast transmitting/receiving system and a method for processing data that can effectively receive and transmit traffic information by applying the traffic information data as the enhanced data.
Another object of the present invention is to provide a digital broadcast transmitting/receiving system and a method for processing data that can enhance the receiving performance of the receiving system by performing additional coding on the traffic information data and transmitting the processed data.
A further object of the present invention is to provide a digital broadcast transmitting/receiving system and a method for processing data that can enhance the receiving performance of the receiving system by multiplexing the known data, which correspond to data known in advance according to an agreement between the transmitting system and the receiving system, and the traffic information data.
Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objectives and other advantages of the invention may be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
To achieve these objects and other advantages and in accordance with the purpose of the invention, as embodied and broadly described herein, a digital broadcast transmitter according to an embodiment of the present invention includes a traffic information message generator, a pre-processor, a multiplexer, a trellis encoder, and a transmitter.
The traffic information message generator may generate a traffic information message including tendency information on traffic congestion information. The pre-processor pre-processing traffic information data including the traffic information message by encoding the traffic information data and by generating a traffic information data packet including the encoded traffic information data and known data. The multiplexer may multiplex the traffic information data packet with one or more main audio and video (AV) data packets. The trellis encoder may have at least one memory and trellis-encoding the multiplexed data packets, the at least one memory being initialized by initialization data when data outputted from the multiplexer correspond to a beginning of a known data sequence. The data transmission unit may insert synchronization data into the trellis-encoded data, modulating the trellis-encoded data having the synchronization data, and transmitting the modulated data.
In other aspect of the present invention, a digital broadcast transmitter may include a traffic information message generator, a pre-processor, a multiplexer, a post-processor, a data encoding and interleaving unit, a trellis encoder, and a transmitter.
The traffic information message generator may generate a traffic information message including tendency information on traffic congestion information. The pre-processor may pro-process traffic information data including the traffic information message by encoding the traffic information data for at least one of error correction and error detection and by generating a traffic information data packet including the encoded traffic information data and known data. The multiplexer may multiplex the traffic information data packet with one or more main audio and video (AV) data packets. The post-processor post-processing the multiplexed data by encoding only traffic information data included in the multiplexed data with a coding rate of G/H, wherein G and H are positive integers and G is less than H. The data encoding and interleaving unit may add first parity data into the post-processed data and interleave the post-processed data having the first parity data. The trellis encoder may have at least one memory and trellis-encoding the interleaved data, the at least one memory being initialized by initialization data when data outputted from the data encoding and interleaving unit correspond to a beginning of a known data sequence. The data transmission unit may insert synchronization data into the trellis-encoded data, modulating the trellis-encoded data having the synchronization data, and transmitting the modulated data.
In another aspect of the present invention, a digital broadcast transmitter may include a traffic information message generator, a pre-processor, a multiplexer, a data encoding and interleaving unit, a post-processor, a trellis encoder, and a transmitter.
The traffic information message generator may generate a traffic information message including tendency information on traffic congestion information. The pre-processor may pre-process traffic information data including the traffic information message by encoding the traffic information data for at least one of error correction and error detection and by generating a traffic information data packet including the encoded traffic information data and known data. The multiplexer may multiplex the traffic information data packet with one or more main audio and video (AV) data packets. The data encoding and interleaving unit may add first parity data into the multiplexed data and interleave the multiplexed data having the parity data. The post-processor may post-process the interleaved data by coding only traffic information data included in the interleaved data with a coding rate of G/H, wherein G and H are positive integers and G is less than H. The trellis encoder having at least one memory and trellis-encoding the post-processed data, the at least one memory being initialized by initialization data when data outputted from the post-processor correspond to a beginning of a known data sequence. The data transmission unit may insert synchronization data into the trellis-encoded data, modulating the trellis-encoded data having the synchronization data, and the transmitting the modulated data.
In another aspect of the present invention, a method of processing traffic data in a digital transmitter may include generating a traffic information message including tendency information on traffic congestion information, generating at least one system information table required for decoding the traffic information message, and multiplexing the traffic information message and the system information table.
In another aspect of the present invention, a digital broadcast transmitter may include a traffic information message generator, a system information generator, and a multiplexer.
The traffic information message generator may generate a traffic information message including tendency information on traffic congestion information. The system information generator may generate system information required for decoding a traffic information message. The multiplexer may multiplex the traffic information message and the system information.
In another aspect of the present invention, a data structure may include system information required for decoding a traffic information message including tendency information on traffic congestion information, the system information comprising a traffic information table which includes at least one of a traffic information application identifier, a service component identifier, and service information.
In another aspect of the present invention, a method of processing traffic information data in a digital broadcast receiver may include receiving traffic information data including a traffic information message and system information, demultiplexing the traffic information message and the system information from the traffic information data, and decoding the traffic information message using the system information, thereby extracting tendency information on traffic congestion information.
In a further aspect of the present invention, a digital broadcast receiver may include a demodulator, a data demultiplexing and decoding unit, a data storage, and an application manager.
The demodulator may demodulate traffic information data including a traffic information message and system information and performing error correction to the demodulated data. The data demultiplexing and decoding unit may demultiplex the traffic information message and system information from the error-corrected data and decode the demultiplexed traffic information message using the system information. The data storage may store the system information and the decoded traffic information message. The application manager may provide a traffic information service to a user using the stored traffic information message by extracting tendency information on traffic congestion information.
It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.



BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiments of the invention and together with the description serve to explain the principle of the invention. In the drawings:
FIG. 1 illustrates a transmission format of traffic information according to the present invention;
FIG. 2A illustrates a syntax of CTT messages;
FIG. 2B shows syntax of formats of components carrying congestion status information;
FIGS. 2C and 2D show syntax of a CTT component carrying CTT events and location information, respectively;
FIG. 2E shows syntax of a CTT component carrying additional information of congestion status information;
FIG. 3A illustrates a syntax of the traffic/congestion information included in the CTT status container;
FIGS. 3B through 3E illustrate syntaxes of the average link speed, the link travel time, the link delay, and the congestion type included in the status component shown in FIG. 3A, respectively;
FIG. 4A illustrates a syntax of the traffic/congestion prediction information included in the CTT status container;
FIGS. 4B through 4D illustrate syntaxes of the predicted average link speed, the predicted link travel time, and the tendency information included in the status component shown in FIG. 4A, respectively;
FIG. 5A illustrates an example of a database storing the history of traffic status at each link for providing the traffic/congestion prediction information;
FIG. 5B illustrates an example of a graphical user interface configured to predict the average speed at a specific link using the database shown in FIG. 5A;
FIG. 6 illustrates a block view showing a general structure of a digital broadcast transmitting system according to an embodiment of the present;
FIG. 7 illustrates a syntax structure of traffic information descriptors according to an embodiment of the present invention;
FIG. 8 illustrates an example of table that may include the traffic information descriptors of FIG. 7;
FIG. 9 illustrates a syntax structure of a virtual channel table wherein the traffic information descriptors of FIG. 7 are included according to an embodiment of the present invention;
FIG. 10 illustrates a block view showing structure of a digital broadcast transmitting system according to a first embodiment of the present invention;
FIG. 11 illustrates an example of a detailed block view showing an E-VSB pre-processor of FIG. 10;
FIG. 12A and FIG. 12B each illustrate a data structure before and after a data deinterleaver of FIG. 10, respectively;
FIG. 13 illustrates a block view showing a structure of a digital broadcast transmitting system according to a second embodiment of the present invention;
FIG. 14 illustrates an example of a detailed block view showing an E-VSB pre-processor of FIG. 13;
FIG. 15 illustrates an example of a detailed block view showing an E-VSB post-processor of FIG. 13;
FIG. 16 illustrates a block view showing a structure of a digital broadcast transmitting system according to a third embodiment of the present invention;
FIG. 17 illustrates a block view of a digital broadcast receiving system according to an embodiment of the present invention;
FIG. 18 illustrates process steps of receiving traffic information data according to an embodiment of the present invention;
FIG. 19 illustrates a detailed view of a demodulator of FIG. 17 according to a first embodiment of the present invention; and
FIG. 20 illustrates a detailed view of a demodulator of FIG. 17 according to, a second embodiment of the present invention.



DETAILED DESCRIPTION OF THE INVENTION
Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. In addition, although the terms used in the present invention are selected from generally known and used terms, some of the terms mentioned in the description of the present invention 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.
In the present invention, the known data refer to a set of data known in advance according to an agreement between a transmitting system and a receiving system. The main data refer to a set of data that can be received by a conventional receiving system. Both known data and main data may include video data and/or audio data. Also, in the present invention, the enhanced data may refer to data including information, such as a program execution file, stock information, traffic information, and so on. The enhanced data may also include video data and/or audio data. Such enhanced data may include traffic information, data for providing data service, system information for ground (or terrestrial) wave broadcasting such as PSI and/or PSIP, system information for cable broadcasting such as out of band system information (OOB-SI), supplemental data configured of diverse Java language or HTML language for data services providing a wide range of applications, audio data, and video data. The enhanced data may also include various control software for controlling the receiver, and meta data that are configured of an XML language, for example, in order to provide diverse information to the user.
In the description of the present invention, traffic information data will be applied for the enhanced data, so as to be transmitted and received. A road searching service and a traffic information providing service according to the present invention may be applied to a variety of digital broadcast standards. Representative examples of the digital broadcast standards are a European Digital Audio Broadcasting (DAB) service based on the Eureka-147 [ETSI EN 300 401], a Digital Video Broadcasting-Terrestrial (DVB-T) service provided in Europe, a Digital Video Broadcasting-Handheld (DVB-H) service also provided in Europe, a Media Forward Link Only (FLO) service provided in the United States, and a Digital Multimedia Broadcasting (DMB) service that is provided in the Republic of Korea. The DMB service of the Republic of Korea is classified into a Terrestrial Digital Multimedia Broadcasting (T-DMB) service based on the Eureka-147 and a Satellite Digital Multimedia Broadcasting (S-DMB) service using satellite communication.
Herein, the traffic information includes information on public transportation, congestion and travel time, road traffic, emergency events and situation, and so on. The traffic information also includes information associated with all types of transportation means including train, ship (or cruiser), airplane, and so on. Furthermore, the traffic information may also include information on factors that may influence traffic, such as travel information, information parking facilities, weather information, environmental pollution information, and so on. Most particularly, although the congestion and travel time (hereinafter referred to as “CTT”) information is given as an example of the present invention, any other information type may be applied herein. Furthermore, as long as the term indicates a particular function, the terms used in the present invention are not limited only to the ones used in the description set forth herein.
The term “traffic status” is indicative of a road congestion status (i.e., a flow status), however, it is not limited to the above-mentioned road congestion status and can be applied to similar examples as necessary. For the convenience of description and better understanding of the present invention, the term “traffic status” is referred to as a Congestion and Travel Time Information (CTT) status. The above-mentioned CTT status includes CTT status information, and CTT status prediction information, additional information, and so on. The term “section” or “link” is indicative of a specific area of roads. However, it is not limited to the above-mentioned meanings and may be applied to other similar meanings as necessary.
The traffic information service according to the present invention is provided to the users by a receiver having only one or none of an electronic map and a GPS mounted therein in the form of at least one of a text, a voice, a graphic, a still image, and a motion picture. The traffic information data are configured and transmitted by traffic information message units. More specifically, the traffic information message is the smallest unit for transmitting the traffic information. Herein, information on a single traffic information application is included in a traffic information message. In the present invention, the term “Transport Protocol Expert Group (TPEG)” will be used on the traffic information for simplicity. Furthermore, as described above, as long as the term indicates a particular function, the terms used in the present invention are not limited only to the ones used in the description set forth herein.
The traffic information application corresponds to the highest hierarchy within an ISO/OSI protocol stack. Each traffic information application is assigned with a unique identification number, which is referred to as an application identification (AID). Each time a new application is developed and created, a new application identification is assigned. For example, each of the congestion and travel time (CTT) information, the road traffic message (RTM), the public transport information (PTI), and so on, is a traffic information application that is given unique application identification. The traffic information data correspond to a stream form including Various traffic information messages. Herein, the traffic information messages correspond to at least one application.
FIG. 1 illustrates an example of two traffic information applications (e.g., CTT and RTM) being included in a stream. Traffic information message generator (not shown in figure) generating a traffic information message can be a broadcast station. For simplicity of the description of the present invention, the traffic information message generator is referred to as a traffic information providing server. The traffic information message generator construct in a traffic information message unit traffic congestion information collected from various sources (e.g., operator input, or information received from another server or probe cars through a network).
At this point, each traffic information message has the same container configuration, which may be referred to as a traffic information (or TPEG) message container. The CTT message container described herein corresponds to one of the traffic information message containers. More specifically, the CTT message container according to the present invention, which transmits the CTT message, includes a CTT message management container 102, a CTT-status container 104, and a TPEG-location container 106.
The above-mentioned CTT message management container 102 includes a message identification information and date and time information, and uses the message identification information and the date and time information as management information of the information received by the receiving system. The message ID information requisite for the message includes a message identifier (MID) and a version number (VER). In this case, the message ID (MID) is indicative of an identifier of a single message associated with individual status of a service component. The MID according to the present invention gradually increases the MID number from 0 by a predetermined number “1” at a time. If the MID value reaches the maximum value “65535”, the maximum value “65535” is initialized to zero. The version number (VER) is indicative of a sequential number for identifying successive messages having a single message ID. The version number according to the present invention may be determined to be any one of 0 to 255, and it should be noted that the version number is sequentially increased in the range from 0 to 255.
The TPEG location container 106 includes a plurality of TPEG location components (tpeg_loc_component) equipped with link location information. In this case, the location information may be information based on a coordinates system and information of a predetermined link ID. Each TPEG location container (tpeg_loc_container) includes at least one location coordinates component (location_coordinates_component) to which an ID “00 hex” is assigned. The above-mentioned CTT component includes information of a link as a target object both the CTT status information and the CTT status prediction information. The above-mentioned link information includes a road-type list, a WGS 84 indicative of location coordinates, a link shape point, a link ID, link description, and so on.
A TPEG-CTT message, whose syntax is shown in FIG. 2a, may include a CTT message management container 102, a CTT status container 104 (or Application Event Container), and TPEG location container 106. The TPEG-CTT message may also include different type of containers other than, less than, or in addition to the CTT status container as in the TPEG-CTT message.
In various implementations, a CTT status container and a TPEG location container, as illustrated in FIG. 2b, are composed of one or more CTT components 202. Each of CTT components may be constructed according to the syntax shown in FIG. 2c if it carries congestion status information while it may be constructed according to the syntax shown in FIG. 2d if the component carries location information.
A CTT status container 104 may be composed of one component or a plurality of CTT components. In various implementations, CTT components including an ID of 80h (notation ‘h’ means hexadecimal) or 84h includes one or more status components including basic traffic information such as the average link speed, link travel time, link delay, or congestion type. In the description, specific IDs are described as assignments to structures associated with specific information. The actual value of an assigned ID (e.g., 80h) is exemplary, and different implementations may assign different values for specific associations or circumstances.
In various implementations, CTT components including an ID of 81h include one or more status components including predicted CTT status. The predicted CTT status may include predicted average link speed, predicted link travel time, or congestion acceleration tendency. The congestion acceleration tendency may include information indicative of the tendency of congestion status. The congestion acceleration tendency will be described as a type of prediction information as the congestion status in the near future may be predicted from it.
In various implementations, the TPEG-CTT message may comprise CTT components structured as FIG. 2e to deliver additional information of traffic information. As shown, an identifier 8Ah may be assigned to the CTT component carrying additional information, and a language code that is indicative of language used for the additional information may also be included in the CTT component.
FIG. 3a shows an example of a syntax of the CTT component included in the CTT status container, which delivers the current congestion and travel time status. The CTT component may be assigned an ID 212 including a value of 80h or 84h and may include m status components 216 and a field 214 indicative of the length of the data included in the status components included therein, the length being expressed in the unit of byte. Other units, such as bit, may be used.
The status components 216 may include information on the average link speed, the link travel time, the link delay, and/or the congestion type. The syntax, according to one implementation, of each of which, is shown in FIGS. 3b, 3c, 3d, and 3e, respectively. In one implementation, status components delivering the average link speed, the link travel time, the link delay, and the congestion type are assigned IDs of ‘00’, ‘01’, ‘02’, and ‘03’, respectively. The link delay may be, for example, the delay in the time required to pass through the link under current traffic condition with respect to the time required to pass through the link at a limit speed specified in the link. The link delay may be expressed in the unit of minute, second, tens or tenths of seconds, or another unit. The link delay may be calculated with respect to the average time required to pass the link on the same days or in the same time slot. The link delay may enable traffic information receiving terminals that do not have information on each link (e.g., speed limit in the link, length of the link, etc) to expect the time required to pass a link.
FIG. 4a shows an example of a syntax of the CTT component included in the CTT status container, which delivers the predicted congestion and travel time status. The CTT component may be assigned an ID 222 including a value of 81h and may include m status components 226 and a field 224 indicative of the length of the data included in the status components included therein, the length, may be, for example, expressed in the unit of byte.
The status components 226 may include information on the predicted average link speed, the predicted link travel time, and/or, the congestion acceleration tendency, the syntax, according to one implementation, of each of which, is shown in FIGS. 4b, 4c, and 4d, respectively. The status components delivering the predicted average link speed, the predicted link travel time, and the congestion acceleration tendency may be assigned IDs of ‘00’, ‘01’, and ‘02’, respectively.
Alternatively, the predicted congestion and travel time status may be delivered by the CTT component that delivers the current congestion and travel time status (e.g., average link speed, link travel time, link delay, congestion type) including an ID of 80h or 84h. In this case, the status components delivering the predicted congestion and travel time status may be assigned IDs different from the IDs of the status components delivering the current congestion and travel time status.
The traffic information provider (for example, a traffic information Server) may create predicted status information shown, according to one implementation, in FIGS. 4b through 4d based on the traffic information which may be collected from various sources and/or its own traffic information database, which will be described in detail below.
To provide predicted traffic information, the traffic information provider may store the average speed at each link according to day, time slot, week, month, or year. For example, in one implementation, the traffic information provider may store the average speed at each link at intervals, such as every 30 minutes, as shown in FIG. 5a. The unit of the values shown in FIG. 5a is km/h, though other units, such as m/s, may be used.
Additionally, in one implementation, the traffic information provider may store the average speed, or other information, such as travel time or congestion, of links for which the traffic information is currently provided at intervals for a predetermined period of time (e.g., 3 hours) and compare the pattern of change in the average speed for the period of time with the pattern of change in the same time slot of the same day stored in the database. For example, if FIG. 5b shows the pattern of change in the average speed for the past 3 hours from 4:30 pm on a Monday afternoon (A), the traffic information provider compares the data with the average speeds of from 1:30 pm to 4:30 pm stored in the database (B). If the difference (e.g., the sum of the absolute values of the difference in average speeds at each corresponding time or a weighted sum thereof) is less than a predetermined threshold, the traffic information provider reads the average speed B1 at 30 minutes after the current time (i.e., the average speed at 5:00 pm) from the database and transmits the value as the predicted average speed in the corresponding link according to the syntax shown in FIG. 4b. The predicted average link speed may be expressed in the unit of km/h, for example. The predicted time (e.g., 5:00 pm in the previous example) may also be transmitted in the form of the syntax shown in FIG. 4b, for example in UTC (Universal Time Coordinated) format.
Explaining FIG. 4b in more detail, the predicted time in UTC format may be indicative of a target time or date in the future, and the predicted speed indicates average speed (in km/h, for example) on a link at the target time or date, such as, a day of year, month of year, year, holiday, time of day, rush hour, event, morning/afternoon/evening. For example, the link may be an inter-road between cities, a bridge, or a road between intersections. The data may be incorporated into the component in units of a byte unit, and/or it may be incorporated in units of a bit or a long byte, according to data size. In addition, the speed may be expressed in various units, for example, m/sec, mile/hour, etc.
In one implementation, if the calculated difference exceeds the predetermined threshold, i.e., it is determined that the pattern of change in the average speed stored in the database does not match the pattern of change in the measured average speed, the traffic information provider may not provide the predicted average link speed, or alternatively, the traffic information provider may estimate the predicted average link speed A1 from the average link speeds extracted for the past 3 hours and provide the estimated value as the predicted average link speed. Various processes may be used to estimate the average speed from the measured average speed values. One process, for example, involves calculation of a weighted sum which gives the latest sample value the highest weight and gives the oldest sample value the lowest weight. For example, the predicted speed A1 in FIG. 5b can be extracted by calculating 0.5×current speed+0.2×speed of 30 minutes ago+0.1×speed of 1 hour ago+0.1×speed of 1.5 hours ago+0.05×speed of 2 hours ago+0:05×2.5 hours ago, etc.
After calculating the predicted average link speed in the aforementioned way, the traffic information provider may calculate the predicted travel time of each link and transmit the predicted travel time of each link along with associated predicted time according to the syntax shown in FIG. 4c. The predicted travel time may be calculated by multiplying the predicted average speed at each link by the length of the corresponding link stored in the database. The predicted travel time may be expressed in the unit of minutes, tens of seconds, second, or a unit smaller than seconds, for example.
When providing the average speed in a particular link, the traffic information provider may compare the current average speed with the average speed at the previous time slot and provide the tendency of change in the average link speeds 41 according to the syntax shown in FIG. 4d. In one implementation, the information, which is called the congestion acceleration tendency, may have one value among several values defined by a table shown in FIG. 4d. For example, the information may be assigned 1 if the current average speed is higher than the average speed of 30 minutes ago. The congestion acceleration tendency may be assigned 2 if the current average speed is lower than the average speed of 30 minutes ago. The congestion acceleration tendency may be assigned 3 if the average speed remains unchanged. If there is no available data to compare, the congestion acceleration tendency may be assigned 0. The congestion acceleration tendency information may enable a driver to choose a route that shows improvement in the traffic congestion from among several possible routes showing similar average speeds. Instead of providing the congestion acceleration tendency in the form of a number (e.g., 1, 2, 3, etc.), the traffic information provider may provide the rate of change of the average speed, i.e., the slope in the graph shown in FIG. 5b as the congestion acceleration tendency, or other indicia or descriptors.
In one implementation, the traffic information provider may prevent the size of information which it should transmit from becoming excessively large by maintaining the ratio of the current congestion and travel time status to the predicted congestion and travel time status below an appropriate level (e.g., 3:1).
The above described traffic information data require a more stable receiving performance than the general audio and/or video data, i.e., the main data. In case of the main data, small errors that cannot be noticed by the eyes and ears of a user are not problematic. Conversely, in case of the traffic information data, even a 1-bit size error can cause a serious problem. Therefore, the traffic information data are processed with an additional coding process, which is then multiplexed with the main data and transmitted. Thus, robustness is provided to the traffic information data, such as the CTT data, thereby enabling the data to respond strongly against the channel environment which is always under constant and vast change. At this point, system information is required in order to extract the traffic information data from the channel through which the traffic information data are transmitted and, then, to decode the extracted traffic information data. In some cases, the system information is referred to as service information. The system information may include channel information, event information, and so on.
In the preferred embodiment of the present invention, program specific information/program and system information protocol (PSI/PSIP) is applied as the system information. However, the present invention is not limited only to the example given in the description set forth herein. More specifically, if the system information corresponds to a protocol being transmitted in a table format may be applied to the present invention regardless of name of the system information. The PSI is an MPEG-2 system standard defined for classifying the channels and the programs. And, PSIP is an advanced television systems committee (ATSC) standard having channels and programs that can be classified.
Herein, the PSI may include a program association table (PAT), a conditional access table (CAT), a program map table (PMT), and a network information table (NIT). More specifically, the PAT corresponds to a special information that can be transmitted by a packet having a packet identification (PID) of ‘0’. The PAT transmits the corresponding PID information of the PMT and the corresponding PID information of the NIT for each program. The CAT transmits information on a paid broadcast system that is used by the transmitting end. The PMT transmits PID information of a transport stream packet to which the program identification number and separate bit sequences, such as video data and audio data configuring the corresponding program, are transmitted. The PMT also transmits PID information to which the PCR is transmitted. The NIT transmits information of the actual transmission network.
On the other hand, the PISP may include a virtual channel table (VCT), a system time table (STT), a rating region table (RRT), an extended text table (ETT), a direct channel change table (DCCT), a direct channel change selection code table (DCCSCT), an event information table (EIT), and a master guide table (MGT). The VCT transmits information on the virtual channel such as channel information for selecting the channel and a packet identification (PID) for receiving audio data and/or video data. More specifically, by parsing the VCT, PIDs of the audio data and video data corresponding to the broadcast program that is being transmitted through the channel along with the channel name, channel number, and so on. The STT transmits information on the current weather and time, and the RRT transmits information on the region and deliberation committee for program rating. The EIT transmits information on the events of a virtual channel (e.g., program title, program start time, etc.). The DCCT/DCCSCT transmits information associated with automatic channel change, and the MGT transmits version and PID information of each table within the PSIP.
Each table within the above-described PSI/PSIP includes a basic unit referred to as a “section”, and at least one or more sections are combined to configure a table. For example, the VCT may be divided into 256 sections. Herein, a single section may carry a plurality of channel information. However, the information on the virtual channel is not divided into two or more sections. An example of multiplexing and transmitting a traffic information message and a table associated with a system information is given in the description of the present invention.
FIG. 6 illustrates a block view showing a general structure of a digital broadcast transmitting system according to an embodiment of the present, wherein a traffic information message and a table associated with the system information are multiplexed and transmitted. Referring to FIG. 6, the transmitting system includes a first multiplexer 311, a PSI/PSIP generator 312, and a second multiplexer 313. More specifically, for example, the transmitting system may correspond to a broadcast station. In order words, the traffic information message is inputted to the first multiplexer 311 in a 188-byte transport stream (TS) packet unit. Herein, the traffic information message a traffic information application (e.g., a CTT application) that is to be transmitted.
The TS packet is configured of a header part and a payload part. Herein, the header part includes information indicating the beginning of the data and packet identification (PID) identifying the data part corresponding to the payload part. And, the payload part includes a traffic information message that is intended to be transmitted. At this point, the PID within the header part may either correspond to an identifier that can identify the data carried by the payload part as the traffic information message among the enhanced data, or correspond to an identifier that can identify the enhanced data. In case the PID of the header can identify the traffic information message, the traffic information message may be extracted from the TS packet. On the other hand, in case the PID of the header can identify the enhanced data, all TS packets identified as the enhanced data are received. Thereafter, the traffic information message is extracted from the received enhanced data. Furthermore, the TS packet which carries the traffic information message may correspond either to a packetized elementary stream (PES) type or to a section type. In other words, either a PES type traffic information message may be configured as the TS packet, or a section type traffic information message may be configured as the TS packet.
An example of the traffic information message being transmitted as the section type will be described in the present invention. In this embodiment of the present invention, the traffic information message is included in a digital storage media-command and control (DSM-CC) section, and the DSM-CC section is then configured as a 188-byte size TS packet. Herein, the identifier of the TS packet configuring the DSM-CC section is included in a data service table (DST). When transmitting the DST table, ‘0x95’ is assigned as a stream_type field value within a service location descriptor of either the PMT or the VCT. More specifically, in the receiving system, when the stream_type field value of the PMT or VCT is equal to ‘0x95’, this indicates that data broadcasting (i.e., enhanced data) including the traffic information data is being received. At this point, the traffic: information data may be transmitted by a data carousel method. Herein, the data carousel method refers to repeatedly transmitting the same data periodically.
Meanwhile, the PSI/PSIP generator 312 is an example of a system information generator. The table that may be created by the PSI is at least one of PMT, PAT, CAT, and NIT. And, the table that may be created by the PSIP is at least one of VCT, STT, RRT, ETT, DCCT, DCCST, EIT, and MGT. The table created by the PSI/PSIP generator 312 includes a system information so that the receiving system may parse and decode the traffic information message. At this point, the receiving system may use only the tables within the PSI, or only the tables within the PSIP, or a combination of tables within both the PSI and the PSIP, so as to parse and decode the traffic information message. At least the PAT and PMT of the PSI and at least the VCT of the PSIP is required for parsing and decoding the traffic information message. For example, the PAT may include the system information transmitting the traffic information message and the PID of the PMT corresponding to the traffic information message (or program number). The PMT may include the PID of the TS packet transmitting the traffic information message. The VCT may include the PID of the TS packet transmitting the information of the virtual channel, which transmits the traffic information message, and the traffic information message.
Also, the present invention includes supplemental information associated with traffic information specifically indicating to which application the traffic information message belonged and information specifically indicating which information is included. The supplemental information associated with the traffic information may include service component identification information, application identification information, service information, and so on. The service information may include service name, service description, service logo, subscriber information, free text information, help information, and so on. Furthermore, such supplemental information may be included in a particular table within the PSI/PSIP either in a descriptor format or in a field format.
For simplicity of the description of the present invention, a descriptor including the supplemental information associated with the traffic information that is included in a particular table within the PSI/PSIP is referred to as a traffic information descriptor. Herein, the traffic information descriptor may also be referred to as a TPEG service descriptor. As described above, the term “traffic information descriptor” is only an example given to facilitate the understanding of the present invention. Therefore, any other term having the same function as the traffic information descriptor may also be applied herein. Moreover, in the description of the present invention, the particular table including the traffic information descriptor is defined as a traffic information providing table. Furthermore, the particular table including the traffic information descriptor is defined as a system information (SI) table wherein the traffic information descriptor is included.
FIG. 7 illustrates a syntax structure of traffic information descriptors according to an embodiment of the present invention. Referring to FIG. 7, the TPEG service descriptor may include a Descriptor_tag field, a Descriptor_length field, a Number_of_TPEG_Service_Components field, and a ‘for’ loop repetition statement. Herein, the Number_of_TPEG_Service_Components field indicates the number of service components included in the TPEG service descriptor (or traffic information descriptor). And, the ‘for’ loop repetition statement is repeated as much as the value of the Number_of_TPEG_Service_Components field. The repetition statement may include a Service_Component_ID field, an Application_ID field, and a service information field.
More specifically, the Descriptor_tag field is an 8-bit field, which is given a value that can uniquely identify the TPEG service descriptor. In the example of the present invention, a value of 0xAC is given as the tag value of the TPEG service descriptor. However, this is only an example provided for an easier understanding of the present invention. Depending upon the design of the system designer, other kind of unused tag values may be allocated to the Descriptor_tag field. The Descriptor_length field is an 8-bit field, which indicates in byte units the length starting from the Descriptor_length field to the end of this field.
The Service_component_ID (SCID) field is also an 8-bit field, which indicates a value that can uniquely identify the service component within a service. The SCID field may be decided by the service provider. Herein, a single service component substantially corresponds to a single channel within the TPEG stream. The Application_ID field is a 16-bit field, which indicates a value that can uniquely identify each application. More specifically, a unique application identifier (AID) is assigned to each traffic information application, and a new AID is allocated whenever a new application is developed (or created).
The service information field within the repetition statement may include a Service_name field, a Service_description field, a Service_logo field, a Subscriber_information field, a Free_text_information field, and a Help_information field. The length of each field within the service information field is variable and is indicates in the form of at least one of a text sequence, numbers, and graphics. The Service_name field indicates the name of service, which allows the user to identify a particular service. For example, a service name such as ‘TPEG service of broadcast company A’ may be included when the broadcast program is being transmitted. The Service_description field indicates a detailed description of the corresponding service. This field is for describing the service contents in more detail. For example, a service named “suburban public transportation information in the southern urban area” may be included and transmitted. The Service_logo field indicates a service logo, so as to allow a service or a service provider to be identified visually. The service logo is generally transmitted in a bitmap format or any other image format.
The Subscriber_information field indicates the subscriber information. For example, information such as a user fee for limited (or restricted) service components and payment information may be included and transmitted. The Free_text_information field indicates additional information that is to be transmitted to the user. Fort example, information on an interruption (or suspension) of a service, cancellation of a particular information, and so on, may be included and transmitted. And, the Help_information field indicates help information which the user can refer to. For example, information such as Internet addresses, telephone numbers, and so on may be included herein and transmitted.
The order, location, and meaning of each field shown in FIG. 7 are merely examples for facilitating the understanding of the present invention. And, since the order, location, and meaning of each field, and the number of field being additionally allocated can be adequately modified by anyone skilled in this field, the present invention is not limited only to the examples set forth herein. Also, in the example given in the present invention, the traffic information descriptor shown in FIG. 7 is included in at least one of the PMT of the PSI and the VCT of the PSIP and then transmitted.
More specifically, in the description of the present invention, an example of applying the PMT of the PSI and the VCT of the PSIP as the traffic information providing table. This indicates that the supplemental information associated with the traffic information may be transmitted through the PMT and/or VCT of the descriptor or the field. Similarly, when supplemental information associated with the traffic information is described in a field format, it is apparent that the fields can be applied to at least one of the tables of the PMT of the PSI and the VCT of the PSIP. Herein, the process of including the PMT and/or the VCT in the traffic information descriptor may be either mandatory or optional. Furthermore, whether the PMT and/or the VCT are/is mandatorily or optionally included is also merely an example of the present invention. Accordingly, the example does not limit the scope and spirit of the present invention.
FIG. 8 illustrates an example of table that may include the traffic information descriptors of FIG. 7. More specifically, FIG. 8 shows examples of the main descriptor types used in the PSI/PSIP table, the descriptor tag values allocated to each descriptor, and the PSI/PSIP tables using at least one of the above-described descriptors. Referring to FIG. 8, a service location descriptor indicated as ‘S’ must always exist in the VCT. More specifically, the service location descriptor carries the audio PID and video PID of a broadcast program. Also, in a corresponding service each of the descriptors must be included in the tables indicated as ‘M (i.e., mandatory)’ and may or may not be included in the tables indicated as ‘O (i.e., optionally)’.
For example, AC-3 audio descriptor is given a value of 0x81 as the descriptor tag value and must indicate that it is used in the PMT and EIT. Furthermore, the TPEG service descriptor according to the example of the present invention is given a value of 0xAC the descriptor tag value and is marked as ‘mandatory (M)’ on the PMT and VCT. The above-described example is only proposed to simplify the description of the present invention. The TPEG service descriptor may also be marked as ‘mandatory (M)’ or ‘optional (O)’ on at least one of the PMT and VCT. The 0xAC value given as the TPEG service descriptor tag value is also only proposed as an example for facilitating the understanding of the present invention. Accordingly, depending upon the design of the system designer, other unused tag values may also be assigned herein.
FIG. 9 illustrates a syntax structure on a virtual channel table (VCT) wherein the traffic information descriptors of FIG. 7 are included according to an embodiment of the present invention. Herein, the syntax structure and its meaning correspond to those of a private section. The VCT syntax of FIG. 9 is configured by including at least one of a table_id field, a section_syntax_indicator field, a private_indicator field, a section_length field, a transport_stream_id field, a version_number field, a current_next_indicator field, a section_number field, a last_section_number field, a protocol_version field, and a num_channels_in_section field.
The VCT syntax further includes a first ‘for’ loop repetition statement that is repeated as much as the num_channels_in_section field value. The first repetition statement may include at least one of a short_name field, a major_channel_number field, a minor_channel_number field, a modulation_mode field, a carrier_frequency field, a channel_TSID field, a program_number field, an ETM_location field, an access_controlled field, a hidden field, a service_type field, a source_id field, a descriptor_length field, and a second ‘for’ loop statement that is repeated as much as the number of descriptors included in the first repetition statement. Herein, the second repetition statement will be referred to as a first descriptor loop for simplicity. The descriptor descriptors( ) included in the first descriptor loop is separately applied to each virtual channel.
Furthermore, the VCT syntax may further include an additional_descriptor_length field, and a third ‘for’ loop statement that is repeated as much as the number of descriptors additionally added to the VCT. For simplicity of the description of the present invention, the third repetition statement will be referred to as a second descriptor loop. The descriptor additional_descriptors( ) included in the second descriptor loop is commonly applied to all virtual channels described in the VCT.
As described above, referring to FIG. 7, the table_id field indicates a unique identifier (or identification) (ID) that can identify the information being transmitted to the table as the VCT. More specifically, the table_id field indicates a value informing that the table corresponding to this section is a VCT. For example, a 0xC8 value may be given to the table_id field.
The version_number field indicates the version number of the VCT. The section_number field indicates the number of this section. The last_section_number field indicates the number of the last section of a complete VCT. And, the num_channel_in_section field designates the number of the overall virtual channel existing within the VCT section. Furthermore, in the first ‘for’ loop repetition statement, the short_name field indicates the name of a virtual channel. The major_channel_number field indicates a ‘major’ channel number associated with the virtual channel defined within the first repetition statement, and the minor_channel_number field indicates a ‘minor’ channel number. More specifically, each of the channel numbers should be connected to the major and minor channel numbers, and the major and minor channel numbers are used as user reference numbers for the corresponding virtual channel.
A virtual channel number is assigned to the traffic information message according to the present invention, and the traffic information message may be transmitted through the assigned virtual channel. In this case, the short_name field indicates the name of the virtual channel through which the traffic information message is transmitted. The major_channel_number/minor_channel_number field the number of the virtual channel through which the traffic information message is transmitted. The program_number field is shown for connecting the virtual channel having an MPEG-2 program association table (PAT) and program map table (PMT) defined therein, and the program_number field matches the program number within the PAT/PMT. Herein, the PAT describes the elements of a program corresponding to each program number, and the PAT indicates the PID of a transport packet transmitting the PMT. The PMT described subordinate information, and a PID list of the transport packet through which a program identification number and a separate bit sequence, such as video and/or audio data configuring the program, are being transmitted.
The source_id field indicates a program source connected to the corresponding virtual channel. Herein, a “source” refers a particular source such as a video image, data or sound. The value of the source_id field corresponds to a unique value within the transport stream, which transmits the VCT. In an example according to the present invention, the traffic information descriptor describing the supplemental information associated with traffic information (i.e., supplemental information associated with the CTT) is included in the first descriptor loop. As described above in the description of the VCT, it is apparent that anyone skilled in the art can apply the example given in the present invention to other tables.
According to the present invention, there are two different methods of defining the PID of the VCT, which includes the traffic information descriptor. Herein, the PID of the VCT is a packet identifier (PID) required for identifying (or distinguishing) the VCT from the other tables. In the first method, the PID of the VCT according to the present invention may be set to depend upon the MGT. In this case, the receiving system cannot directly identify (or verify) the plurality of tables of the PSIP or PSI. Therefore, the VCT can be read only after the PID defined by the MGT is checked. Herein, the MGT is a table defining the PID, size, version number, and so on, of the plurality of tables. In the second method, the PID of the VCT according to the present invention may be set to have a base PID value (i.e., a fixed PID value) that is independent from the MGT. Unlike the first method, the second method is more advantageous in that the VCT can be identified without having to verify every single PID of the MGT. Evidently, the agreement on the base PID should precede the transmitting system and the receiving system.
As described above, the PAT, PMT, VCT, MGT, DCCT, and so on, describing the system information and supplemental information associated with traffic information are generated by the PSI/PSIP generator 312. Herein, the PMT is provided to the first multiplexer 311, and the remaining tables excluding the PMT (i.e., PAT, VCT, MGT, DCCT, and so on) are provided to the second multiplexer 313. The first multiplexer 311 multiplexes the traffic information message, which includes information on the traffic information application that is to be transmitted (e.g., CTT application), with the PMT, which is generated from the PSI/PSIP generator 312, to a 188-byte transport stream (TS) packet. Thereafter, the multiplexed message and table are outputted to the second multiplexer 313. The second multiplexer 313 multiplexes the output of the first multiplexer 311 with the tables outputted from the PSI/PSIP generator 312 to a 188-byte transport stream (TS) packet. Subsequently, the multiplexed message and table are outputted for additional coding.
An example of providing the PMT to the first multiplexer 311 and providing the remaining tables to the second multiplexer 313 is proposed in the description of the present invention. However, the present invention may also be designed to have a single multiplexer by integrating the first multiplexer 311 and the second multiplexer 313. The traffic information data that are outputted from the multiplexer of FIG. 6 for additional coding include a traffic information message and PSI/PSIP tables associated with the traffic information message multiplexed therein. Also, at least one of the above-described tables (e.g., PMT, VCT) may include a traffic information descriptor shown in FIG. 7.
Hereinafter, the coding and transmitting processes of the traffic information data will be described in detail according to first, second, and third embodiments of the present invention. By performing the additional coding process on the traffic information data, robustness can be provided to the traffic information data, such as the CTT data. Thus, the data can respond swiftly and appropriately to the channel environment that undergoes fast and frequent change.
First Embodiment
FIG. 10 illustrates a block view showing a structure of a digital broadcast transmitting system according to a first embodiment of the present invention. Referring to FIG. 10, the digital broadcast transmitting system includes an E-VSB pre-processor 401, a packet multiplexer 402, a data randomizer 403, a RS encoder 404, a data interleaver 405, a backward compatibility processor 406, a trellis encoder 407, a frame multiplexer 408, a pilot inserter 409, a VSB modulator 410, and a RF up-converter 411. Herein, as shown in FIG. 11, the E-VSB pre-processor 401 includes an E-VSB randomizer 421, a RS frame encoder 422, an E-VSB block processor 423, a group formatter 424, a data deinterleaver 425, and a packet formatter 426.
In the digital broadcast transmitting system having the above described structure, the main data are inputted to the packet multiplexer 402. On the other hand, the traffic information data are inputted to the E-VSB pre-processor 401, which performs additional coding processes so as to enable the traffic information data to respond quickly with robustness against noise and channel change. The E-VSB randomizer 421 of the E-VSB pre-processor 401 receives the traffic information data, thereby randomizing the received data and outputting the randomized data to the RS frame encoder 422. Herein, since the E-VSB randomizer 421 randomizes the traffic information data, the randomizing process of data randomizer 403 on the traffic information in a later process may be omitted.
The RS frame encoder 422 receives the randomized traffic information data and performs at least one of an error correction coding process and an error detection coding process on the received data. Accordingly, by providing robustness to the traffic information data, the data can scatter group error that may occur due to a change in the frequency environment. Thus, the data can respond appropriately to the frequency environment which is very poor and liable to change. The RS frame multiplexer 422 also includes a process of mixing in row units many sets of traffic information data each having pre-determined size. By performing an error correction coding process on the inputted traffic information data, the RS frame encoder 422 adds data required for the error correction and, then, performs an error detection coding process, thereby adding data required for the error detection process.
The error correction coding uses the RS coding method, and the error detection coding uses the cyclic redundancy check (CRC) coding method. When performing the RS coding process, parity data required for error correction are generated. And, when performing the CRC coding process, CRC data required for error detection are generated. More specifically, the RS frame encoder 422 identifies the traffic information data by units of a predetermined length (A). Then, a plurality of (A)-length units of traffic information data is grouped so as to form (or configure) a RS frame. Thereafter, an RS coding process is performed in at least one of a row direction and a column direction on the newly configured RS frame. In the present invention, the predetermined length unit (A) corresponds to 187 bytes.
If the inputted traffic information data correspond to a 188-byte unit MPEG transport stream (TS) packet, the first MPEG synchronization byte is removed, so as to form a 187-byte unit packet. Herein, the MPEG synchronization byte is removed because all traffic information data packets are given the same value. The MPEG synchronization byte may also be removed during the randomizing process on the E-VSB randomizer 421. In this case, the process of removing the MPEG synchronization byte performed by the RS frame encoder 422 is omitted. More specifically, if the inputted traffic information data does not include a fixed byte that can be removed, or if the length of the inputted packet is not 187 bytes, the inputted traffic information data is distinguished by 187-byte units. Thereafter, a plurality of 187-byte units of traffic information data is grouped so as to form (or configure) a RS frame. Thereafter, an RS coding process is performed in at least one of a row direction and a column direction on the newly configured RS frame.
Depending upon the channel situation between the transmission and the reception, an error may be included in the RS frame. When such error occurs, the CRC data (or CRC code or CRC checksum) may be used for checking whether an error exists by each row unit. In order to generate (or create) the CRC checksum, the RS frame encoder 422 performs CRC coding on the RS-coded traffic information data: The CRC checksum created by the CRC coding process may be used for notifying whether a damage has occurred by an error while the traffic information data are being transmitted through a channel. In the present invention, error detection coding method other than the CRC coding method may be used. Alternatively, an error correction coding method may be used in order to enhance the overall error correction ability of the receiving end.
The traffic information data sets RS-coded and CRC-coded, as described above, are outputted to the E-VSB block processor 423. The E-VSB block processor 423 codes the RS-coded and CRC-coded traffic information data at a coding rate of G/H (wherein G and H are integers, and G<H) and then outputs the G/H-rate coded data to the group formatter 424. For example, if 1 bit of the input data is coded to 2 bits and outputted, then G is equal to 1 and H is equal to 2 (i.e., G=1 and H=2). Alternatively, if 1 bit of the input data is coded to 4 bits and outputted, then G is equal to 1 and H is equal to 4 (i.e., G=1 and H=4).
An example performing a coding process at a coding rate of 1⁄2 (also referred to as a 1⁄2-rate coding process) or a coding process at a coding rate of 1⁄4 (also referred to as a 1⁄4-rate coding process) on the traffic information data is given in the description of the present invention. More specifically, in case of performing the 1⁄2-rate coding process, the E-VSB block processor 423 receives 1 bit and codes the received 1 bit to 2 bits (i.e., 1 symbol). Then, the E-VSB block processor 423 outputs the processed 2 bits (or 1 symbol). On the other hand, in case of performing the 1⁄4-rate coding process, the E-VSB block processor 423 receives 1 bit and codes the received 1 bit to 4 bits (i.e., 2 symbols). Then, the E-VSB block processor 423 outputs the processed 4 bits (or 2 symbols). At this point, in case of performing the 1⁄4-rate coding process, the symbol coded at a 1⁄2 coding rate may be repeated twice so as to output 2 symbols, or the input data may be coded twice at a 1⁄2 coding rate so as to output 2 symbols.
The 1⁄4-rate coding process may provide more enhanced error correction ability, due to the higher coding rate as compared to the 1⁄2-rate coding process. For this reason, the data coded at a 1⁄4 coding rate by the group formatter 424 in a later process are allocated to locations (or positions) in which the channel may affect the performance. On the other hand, the data coded at a 1⁄2 coding rate are allocated to locations having better performance. Thus, a difference in performance may be decreased. The above-mentioned 1⁄2-coding rate and 1⁄4-coding rate are only exemplary embodiments proposed in the description of the present invention, and the coding rate may vary depending upon either the selection of the coded symbols or the number of repetition.
The group formatter 424 inserts the traffic information data outputted from the E-VSB block processor 423 in a corresponding area within a data group formed according to a pre-defined rule. Also, the group formatter 424 inserts various place holders related to data interleaving or known data sets to a corresponding area within the data group. At this point, the data group may be described by at least one hierarchical area. And, depending upon the characteristic of each hierarchical area, the data type being allocated to each area may also vary.
FIG. 12A illustrates a data structure of data groups prior to the data deinterleaving process, and FIG. 12B illustrates a data structure of data groups after the data deinterleaving process. FIG. 12A illustrates an example of a data group within a data structure prior to the data deinterleaving, the data group being divided into three hierarchical areas: a head area, a body area, and a tail area. Accordingly, in the data group that is inputted for the data deinterleaving process, data are first inputted to the head area, then inputted to the body area, and inputted finally to the tail area. The three areas described above are only exemplary to facilitate the understanding of the present invention. Depending upon the design of the system designer, the areas may be described in a smaller number of areas or a larger number of areas. Further, the data being inserted in each area may also vary. Therefore, the present invention is not limited only to the example proposed herein.
As described above, the head, body, and tail areas have been given as an example to simplify the description of the present invention. Additionally, in the example shown in FIG. 12A, the data group is set to have, head, body, and tail areas so that the body area is defined as the area which is not mixed with the main data area within the data group. The data group is divided into a plurality of areas so that each area may be used differently. More specifically, the area that is not interfered by the main data has a highly resistant receiving performance as compared to the area that is interfered by the main data. Furthermore, when using a system inserting and transmitting the known data to the data group, and when a long and continuous set of known data is to be inserted periodically in the enhanced data, a predetermined length of known data may be periodically inserted in the body area. However, since the main data may be mixed in the head and tail areas, it is difficult to periodically insert the known data, and it is also difficult to insert a long and continuous set of known data.
Assuming that the data group is allocated to a plurality of hierarchical areas, as shown in FIG. 12A, the above-described E-VSB block processor 423 may codes the data that are to be inserted in each area, according to the characteristic of each hierarchical area, at different coding rates. In the example of the present invention, the receiving system uses different coding rates based on areas in which it is assumed that performance may vary after performing an equalization process using channel information that may be used for channel equalization.
For example, the traffic information data that are to be inserted in the body area are 1⁄2-rate coded by the E-VSB block processor 423, and such 1⁄2-rate coded traffic information data are inserted to the body area by the group formatter 424. Additionally, the traffic information data that are to be inserted in the head and tail areas are 1⁄4-rate coded by the E-VSB block processor 423. Herein, the 1⁄4-rate coding provides greater error correction performance as compared to 1⁄2-rate coding. Thereafter, 1⁄4-rate coded traffic information data are inserted to the head and tail areas by the group formatter 424. Alternatively, the traffic information data that are to be inserted in the head and tail areas may be coded by the E-VSB block processor 423 at a coding rate providing more efficient error correction performance. Subsequently, such coded traffic information data are inserted in the head and tail areas by the E-VSB block processor 423, or such coded data may be stored in a reserve area for future usage.
As shown in FIG. 12A, apart from the traffic information data coded and outputted from the E-VSB block processor 423, the group formatter 424 also inserts an MPEG header place holder, a non-systematic RS parity place holder, and a main data place holder in relation with the data deinterleaving. Referring to FIG. 12A, the main data place is allocated because the traffic information data and the main data are alternately mixed in the head and tail areas based upon the input of the data deinterleaver. In the output data that have been data deinterleaved, the place holder for the MPEG header is allocated to the very beginning of each packet.
The group formatter 424 either inserts the known data generated by a pre-decided method in a corresponding area, or inserts a known data place holder in a corresponding area so as to insert the known data in a later process. Moreover, a place holder for initializing the trellis encoder 407 is inserted in the corresponding area. For example, the initialization data place holder may be inserted in front of the known data sequence. The output of the group formatter 424 is inputted to the data interleaver 425. The data deinterleaver 425 performs an inverse process of the data interleaver on the data within the data group and the place holder outputted from the group formatter 424. And, then, the data deinterleaver 425 outputs the deinterleaved data to the packet formatter 426. More specifically, when the data within the data group and the place holder the configuration shown in FIG. 12A are deinterleaved by the data deinterleaver 425, the data group being outputted to the packet formatter 426 has the structure (or configuration) shown in FIG. 12B.
Among the deinterleaved and inputted data, the packet formatter 426 removes the main data place holder and the RS parity place holder that have been allocated for the deinterleaving process. Then, the packet formatter 426 groups the remaining portion of the input data and inserts the remaining data to the 4-byte MPEG header place holder in the MPEG header. Furthermore, when the known data place holder is inserted by the group formatter 424, the packet formatter 426 may insert the known data in the known data place holder. Alternatively, the known data place holder may be directly outputted without any modification for the replacement insertion in a later process.
Thereafter, the packet formatter 426 configures the data within the data group packet that is formatted as described above, as a 188-byte unit traffic information data packet. Then, the packet formatter 426 provides the configured 188-byte unit traffic information data packet to the packet multiplexer 402. The packet multiplexer 402 multiplexes the 188-byte traffic information data packet and the main data packet outputted from the packet formatter 426 according to a pre-defined multiplexing method. Then, the multiplexed packets are outputted to the data randomizer 403. The multiplexing method may be altered or modified by various factors in the design of the system.
In a multiplexing method of the packet multiplexer 402, a traffic information data burst section and a main data section are distinguished (or identified) along a time axis, then the two sections are set to be repeated alternately. At this point, in the traffic information data burst section, at least one of the data groups may be transmitted, and only the main data may be transmitted in the main data section. In the traffic information data burst section, the main data may also be transmitted. When the traffic information data are transmitted in the above-described burst structure, the digital broadcast receiving system receiving only the traffic information data may turn on the power only during the data burst section. Alternatively, in the main data section whereby only the main data are transmitted, the power is turned off during the main data section, thereby preventing the main data from being received. Thus, excessive power consumption of the digital broadcast receiving system may be reduced or prevented. As described above, the packet multiplexer 402 receives the main data packet and the data group, which is outputted from the packet formatter 426, and transmits the received packets in a burst structure.
When the inputted data correspond to the main data packet, the data randomizer 403 performs a randomizing process identical to that of the conventional randomizer. More specifically, the MPEG synchronization byte within the main data packet is discarded (or deleted). Then, the remaining 187 bytes are randomized by using a pseudo random byte generated from within the data randomizer 403. Subsequently, the randomized, data bytes are outputted to the RS encoder 404.
However, when the inputted data correspond to the traffic information data packet, the MPEG synchronization byte among the 4 bytes inserted in the traffic information data packet by the packet formatter 426 is discarded (or deleted) and only the remaining 3 bytes are randomized. The remaining portion of the traffic information data excluding the MPEG header is not randomized and outputted directly to the RS encoder 404. This is because a randomizing process has already been performed on the traffic information data by the E-VSB randomizer 421. The RS encoder 404 RS-codes the data randomized by the data randomizer 403 or the data bypassing the data randomizer 403. Then, the RS encoder 404 adds a 20-byte RS parity to the coded data, thereby outputting the RS-parity-added data to the data interleaver 405.
At this point, if the inputted data correspond to the main data packet, the RS encoder 404 performs a systematic RS-coding process identical to that of the conventional ATSC VSB system on the inputted data, thereby adding the 20-byte RS parity at the end of the 187-byte data. Alternatively, if the inputted data correspond to the traffic information data packet, each place of the 20 parity bytes is decided within the packet. Thereafter, the 20 bytes of RS parity gained by performing the non-systematic RS-coding are respectively inserted in the decided parity byte places. The data interleaver 405 receives the data having the parity added by the RS encoder 404 and interleaves the received data. Thereafter, the data interleaver 405 outputs the interleaved data to the backward compatibility processor 406 and the trellis encoder 407. Herein, the data interleaver 405 corresponds to a byte unit convolutional interleaver.
Meanwhile, a memory within the trellis encoder 407 should first be initialized in order to allow the output data of the trellis encoder 407 so as to become the known data defined based upon an agreement between the receiver and the transmitter. More specifically, the memory of the trellis encoder 407 should first be initialized before the known data sequence being inputted is trellis-encoded. At this point, the beginning of the known data sequence that is inputted corresponds to the initialization data place holder inserted by the group formatter 424 and not the actual known data. Therefore, a process of generating initialization data right before the trellis-encoding of the known data sequence being inputted and a process Of replacing the initialization data place holder of the corresponding trellis encoder memory with the newly generated initialization data are required. This is to ensure the backward-compatibility with the conventional receiving system.
The trellis memory initialization data generated to replace the initialization data place holder are decided based upon the current status of the memory within the trellis encoder 407 and the desired initialization status. Further, due to the replaced initialization data, a process of recalculating the RS parity of the corresponding data packet and a process of replacing the newly calculated RS parity with the RS parity outputted from the data interleaver 405 are required. Therefore, the backward compatibility processor 406 receives the traffic information data packet including the initialization data place holder that is to be replaced with the initialization data from the data interleaver.
Subsequently, the backward compatibility processor 406 receives the initialization data from the trellis encoder 407. Then, the backward compatibility processor 406 calculates a new non-systematic RS parity and outputs the newly calculated non-systematic RS parity to the trellis encoder 407. Thereafter, the trellis encoder 405 selects the output of the data interleaver 405 as the data within the traffic information data packet including the initialization data place holder that is to be replaced. The trellis encoder 405 also selects the output of the backward compatibility processor 406. Accordingly, the trellis encoder 405 trellis-encodes the selected outputs by symbol units. More specifically, the trellis encoder 407 trellis-encodes the initialization data instead of the initialization data place holder included in the traffic information data packet which has been inputted.
Meanwhile, when the main data packet is inputted or when the traffic information data packet is inputted, wherein the traffic information data packet does not include the initialization data place holder that is to be replaced, the trellis encoder 407 selects the data outputted from the data interleaver 405 and the RS parity, thereby performing a trellis-encoding process by symbol units. Then, the data trellis-encoded by the trellis encoder 407 are inputted to the frame multiplexer 408. The frame multiplexer 408 inserts field and segment synchronization signals in the output of the trellis encoder 407 and outputs the processed data to the pilot inserter 409. The pilot inserter 409 adds a pilot signal to the output symbol sequence of the frame multiplexer 408. The pilot-added symbol sequence is modulated to a 8VSB signal of an intermediate frequency band and, then, converted to a RF band signal, thereby being transmitted through the antenna.
Meanwhile, the embodiment shown in FIG. 11 for the components and positioning of the components of the E-VSB pre-processor 401 is merely an example for the simplicity of the description of the present invention. According to a second embodiment of the present invention, the E-VSB pre-processor 401 includes a RS frame encoder, an E-VSB randomizer, an E-VSB block processor, a group formatter, a data interleaver, and a packet formatter. The difference between the second embodiment and the E-VSB pre-processor shown in FIG. 11 is the positioning order of the RS frame multiplexer and the E-VSB randomizer. More specifically, in the second embodiment of the present invention, RS frame coding is first performed on the traffic information data, and then the data randomizing process is performed. Apart from this detail, the remaining structure of the second embodiment is identical to the embodiment shown in FIG. 11. Therefore, a detailed description of the same will be omitted for simplicity.
In a third embodiment of the present invention, the E-VSB pre-processor 401 includes a RS frame encoder, an E-VSB randomizer, a group formatter, an E-VSB block processor, a data interleaver, and a packet formatter. The difference between the third embodiment and the E-VSB pre-processor shown in FIG. 11 is the positioning order of the RS frame multiplexer and the E-VSB randomizer and, also, the positioning order of the group formatter and the E-VSB block processor. More specifically, in E-VSB pre-processor according to the third, embodiment of the present invention, RS frame coding is first performed on the traffic information data, and then the data randomizing and byte expansion processes are performed. Thereafter, group formatting, E-VSB block processing, data randomizing, and packet formatting processes are sequentially performed on the byte-expanded traffic information data.
In this case, since the group formatter is positioned before the E-VSB block processor, a byte expansion process needs to be performed before the group formatter in order to correspond to the coding process of the E-VSB, block processor, thereby enabling the group formatter to operate without trouble. Therefore, the E-VSB randomizer not only randomizes the traffic information data but also performs byte expansion by inserting null data bits. Furthermore, the E-VSB block processor performs one of a 1⁄2-rate coding process and a 1⁄4-rate coding process on only the valid data of the byte-expanded traffic information data, which correspond to the data bits having the actual information. As described above, the E-VSB pre-processor 401 performing additional coding processes on the traffic information data may be applied in various methods. Thus, the present invention is not limited only to the examples given in the description set forth herein.
Second Embodiment
FIG. 13 illustrates a block view showing a structure of a digital broadcast transmitting system according to a second embodiment of the present invention. Referring to FIG. 13, the digital broadcast transmitting system includes an E-VSB pre-processor 501, a packet multiplexer 502, a data randomizer 503, an E-VSB post-processor 504, a RS encoder 505, a data interleaver 506, a backward compatibility processor 507, a trellis encoder 508, a frame multiplexer 509, a pilot inserter 510; a VSB modulator 511, and a RF up-converter 512. Herein, as shown in FIG. 14, the E-VSB pre-processor 501 includes a RS frame encoder 521, an E-VSB randomizer 522, a group formatter 523, a data deinterleaver 524, and a packet formatter 525. Further, as shown in FIG. 15, the E-VSB post-processor 504 includes RS parity place holder inserter 531, data interleaver 532, an E-VSB block processor 533, data deinterleaver 534, and a RS parity place holder remover 535.
In the digital broadcast transmitting system according to the second embodiment of the present invention having the above described structure, the main data are inputted to the packet multiplexer 502. On the other hand, the traffic information data are inputted to the E-VSB pre-processor 501, which performs additional coding processes so as to enable the traffic information data to respond quickly with robustness against noise and channel change.
The RS frame encoder 521 of the E-VSB pre-processor 501 receives the randomized traffic information data and performs at least one of an error correction coding process and an error detection coding process on the received data. Accordingly, by providing robustness to the traffic information data, the data can scatter group error that may occur due to a change in the frequency environment. Thus, the data can respond appropriately the frequency environment which is very poor and liable to change. The RS frame multiplexer 521 also includes a process of mixing in row units many sets of traffic information data each having pre-determined size. The error correction coding uses the RS coding method, and the error detection coding uses the cyclic redundancy check (CRC) coding method. When performing the RS coding process, parity data required for error correction are generated. And, when performing the CRC coding process, CRC data required for error detection are generated.
In the RS frame encoder 521, the process of creating the RS frame creating process and the process of performing error correction coding and error detection coding on the created RS frame are identical to those of the RS frame encoder 422 shown in FIG. 11. Therefore, a detailed description of the same will be omitted for simplicity. The traffic information data coded by the RS frame encoder 521 are inputted to the E-VSB randomizer/byte expander 522. The E-VSB randomizer/byte expander 522 receives the coded traffic information data and performs data randomizing and byte expansion processes thereon.
At this point, since the E-VSB randomizer/byte expander 522 already performs a randomizing process on the traffic information data, the process of randomizing the traffic information by the data randomizer 503 at a later end may be omitted for simplicity. Further, the order of performing the data randomizing process and the byte expansion process may be altered. More specifically, the byte expansion process may be performed after the data randomizing process. Alternatively, the data randomizing process may be performed after the byte expansion process. The order may be selected while taking into consideration the overall system and its structure.
The byte expansion may differ depending upon the coding rate of the E-VSB block processor 533 within the E-VSB post-processor 504. More specifically, when the coding rate of E-VSB block processor 533 is G/H, the byte expander expands G bytes to H bytes (wherein G and H are integers, and G<H). For example, if the coding rate if 1⁄2, 1 data byte is expanded to 2 data bytes. Alternatively, if the coding rate if 1⁄4, 1 data byte is expanded to 4 data bytes. Then, the traffic information data outputted from the E-VSB randomizer/byte expander 522 is inputted to the group formatter 523. The operations of the group formatter 523, data deinterleaver 524, and the packet formatter 525 within the E-VSB pre-processor 501 are similar to those the group formatter 424, data deinterleaver 425, and the packet formatter 426 within the E-VSB pre-processor 401 shown in FIG. 10. Therefore, a detailed description of the same will be omitted for simplicity.
The traffic information data packet pre-processed by the E-VSB pre-processor 501 is inputted to the packet multiplexer 502 so as to be multiplexed with the main data packet. The data multiplexed and outputted from the packet multiplexer 502 are data randomized by the data randomizer 503 and, then, inputted to the E-VSB post-processor 504. Herein, the operations of the packet multiplexer 502 and data randomizer 503 are identical to those shown in FIG. 10, and therefore a detailed description of the same will be omitted for simplicity. Hereinafter, the E-VSB post-processor 504 will now be described in detail.
More specifically, the data randomized by the data randomizer 503 or bypassing the data randomizer 503 are inputted the RS parity place holder inserter 531 of the E-VSB post-processor 504. When the inputted data correspond to a 187-byte main data packet, the RS parity place holder inserter 531 inserts a 20-byte RS parity place holder at the back of the 187-byte data, thereby outputting the processed data to the data interleaver 532. Alternatively, when the inputted data correspond to a 187-byte traffic information data packet, the RS parity place holder inserter 531 inserts a 20-byte RS parity place holder within the data packet in order to perform a non-systematic RS-coding process in a later end. Thereafter, in the remaining portion of the 187 byte places bytes are inserted in the traffic information data packet, which are then outputted to the data interleaver 532.
The data interleaver 532 performs a data interleaving process on the output of the RS parity place holder inserter 531 and, then, outputs the processed data to the E-VSB block processor 533. The E-VSB block processor 533 performs additional coding processes on the valid data among the traffic information data being outputted from data interleaver 532. For example, if 1 byte has been expanded to 2 bytes by inserting null bits between data bits from the E-VSB randomizer/byte expander 522, the E-VSB block processor 533 1⁄2-rate codes only the valid data bit among the symbol configured of a null bit and a valid data bit and, then, outputs the processed data. On the other hand, if 1 byte has been expanded to 4 bytes by inserting null bits between data bits from the E-VSB randomizer/byte expander 522, the E-VSB block processor 533 1⁄4-rate codes only the valid data bit among the symbol configured of 3 null bits and 1 valid data bit and, then, outputs the processed data.
Either the main data or the RS parity place holder directly bypasses the E-VSB randomizer/byte expander 522. Also, the known data and the initialization data place holder may directly bypass the E-VSB randomizer/byte expander 522. In case of the known data place holder, the known data generated from the E-VSB block processor 533 may be outputted instead of the known data place holder. The data being coded, replaced, and bypassed from the E-VSB block processor 533 are inputted to the data deinterleaver 534. The data deinterleaver 534 performs an inverse process of the data interleaver 532, whereby a data deinterleaving process is performed on the input data, which are then outputted to the RS parity place holder remover 535.
The RS parity place holder remover 535 removes the 20-byte RS parity place holder inserted by the RS parity place holder inserter 531 for the operations of the data interleaver 532 and the data deinterleaver 534 and, then, outputs the processed data to the RS encoder 505. At this point, if the inputted data correspond to main data packet, the last 20 bytes of RS parity place holders are removed from the 207 bytes of the main data packet. Alternatively, if the inputted data correspond to the traffic information data packet, the 20 bytes of RS parity place holders are removed from the 207 bytes of the traffic information data packet in order to perform the non-systematic RS-coding process.
As another embodiment of the E-VSB post-processor 504, if the inputted data correspond to the 187-byte main data packet, the RS parity place holder inserter 531 may perform a systematic RS-coding process so as to insert a 20-byte RS parity at the end of the 187-byte main data. Accordingly, the RS parity place holder inserter 531 removes the last 20 bytes of RS parity from the 207 bytes of the main data packet. Meanwhile, the RS encoder 505, the data interleaver 506, the backward compatibility processor 507, the trellis encoder 508, the frame multiplexer 509, the pilot inserter 510, the VSB modulator 511, and the RF up-converter 512 which are provided behind the E-VSB post-processor 504 are identical to those shown in FIG. 10. Therefore, a detailed description of the same will be omitted for simplicity.
Third Embodiment
FIG. 16 illustrates a block view showing a structure of a digital broadcast transmitting system according to a third embodiment of the present invention. Referring to FIG. 16, the digital broadcast transmitting system includes an E-VSB pre-processor 601, a packet multiplexer 602, a data randomizer 603, a RS encoder 604, a data interleaver 605, an E-VSB post-processor 606, a backward compatibility processor 607, a trellis encoder 608, a frame multiplexer 609, a pilot inserter 610, a VSB modulator 611, and a RF up-converter 612.
In the digital broadcast transmitting system according to the third embodiment of the present invention having the above described structure, the main data are inputted to the packet multiplexer 602. On the other hand, the traffic information data are inputted to the E-VSB pre-processor 601, which performs additional coding processes so as to enable the traffic information data to respond quickly with robustness against noise and channel change. The structure and operation of each component of the E-VSB pre-processor 601 are identical to those of the E-VSB pre-processor 501 shown in FIG. 14. Therefore, a detail description of the same will be omitted for simplicity.
The traffic information data packet pre-processed by the E-VSB pre-processor 601 is inputted to the packet multiplexer 602 so as to be multiplexed with the main data packet. The multiplexed data outputted from the packet multiplexer 602 are data randomized by the data randomizer 603 and, then, inputted to the RS encoder 604. The packet multiplexer 602 multiplexes the main data packet and the traffic information data packet according to a pre-defined multiplexing rule. At this point, the main data packet and the traffic information data packet may be multiplexed to have burst structures as shown in FIG. 10. Furthermore, if the traffic information data have been data randomized by the E-VSB pre-processor 601, then the data randomizing process on the traffic information data performed by the data randomizer 603 may be omitted.
The RS encoder 604 RS-codes the data being randomized from or bypassing the data randomizer 603, thereby adding a 20-byte RS parity and outputting the processed data to the data interleaver 605. At this point, if the inputted data correspond to the main data packet, the RS encoder 604 performs a systematic RS-coding process identical to that of the conventional ATSC VSB system on the input data, thereby adding a 20-byte RS parity at the end of the 187-byte data. Conversely, if the inputted data correspond to the traffic information data packet, the RS encoder 604 first decides 20 parity byte places and, then, performs a non-systematic RS-coding process on the decided parity byte places, thereby inserting the 20 bytes of non-systematic RS parity in the traffic information data packet.
The non-systematic coding process is performed on the traffic information data packet because, when the value of the traffic information data is changed by the E-VSB post-processor 606, the process of which will be described in detail in a later process, the RS parity is required to be recalculated. And, at this point, the parity bytes should be outputted later than the traffic information data bytes at the output end of the data interleaver 605. The data interleaver 605 receives the data having parity added thereto by the RS encoder 604. Then, after performing an interleaving process, the data interleaver 605 outputs the processed data to the E-VSB post-processor 606 and the backward compatibility processor 607. Herein, the data interleaver 605 receives the RS parity newly recalculated and outputted from the backward compatibility processor 607, thereby outputting the received RS parity instead of non-systematic RS parity which is not yet outputted.
The E-VSB post-processor 606 performs additional coding processes in symbol units only on the traffic information data being outputted from the data interleaver 605. For example, if 1 byte has been expanded to 2 bytes by inserting null bits between data bits from the E-VSB pre-processor 606, the E-VSB post-processor 606 1⁄2-rate codes only the valid data bit among the symbol configured of a null bit and a valid data bit and, then, outputs the processed data. On the other hand, if 1 byte has been expanded to 4 bytes by inserting null bits between data bits from the E-VSB pre-processor 601, the E-VSB post-processor 606 1⁄4-rate codes only the valid data bit among the symbol configured of null bits and 1 valid data bit and, then, outputs the processed data.
The main data or the RS parity being outputted from the data interleaver 605 directly bypass (or bypasses) the E-VSB post-processor 606. Moreover, the known data and initialization data place holder also directly bypass (or bypasses) the E-VSB post-processor 606. At this point, the known data place holder may be replaced with the known data generated from the E-VSB post-processor 606 and then outputted. Furthermore, the E-VSB post-processor 606 generates initialization data so as to initialize the memory within the trellis encoder 608 to a decided status at the beginning of a known data sequence. Thereafter, the initialization data generated from the E-VSB post-processor 606 is outputted instead of the initialization data place holder. Accordingly, the value of the memory within the trellis encoder 608 should be received from the E-VSB post-processor 606.
The backward compatibility processor 607 calculates the 20-byte non-systematic RS parity corresponding to the traffic information data packet configured on 187 data bytes and outputted from the E-VSB post-processor 606. Subsequently, the calculated non-systematic RS parity is outputted to the data interleaver 605. The data interleaver 605 receives the RS parity bytes calculated and outputted from the backward compatibility processor 607 and, then, outputs the received RS parity bytes instead of the non-systematic RS parity. Herein, the backward compatibility processor 607 performs a non-systematic RS-coding process because the E-VSB post-processor 606 changes the values of the traffic information data and the initialization data place holder. Accordingly, when a decoding process is performed by the conventional ATSC VSB receiver, a decoding error may be prevented. In other words, this process is performed to provide backward compatibility to, the conventional ATSC VSB receiver.
The data that are additionally coded and replaced by the E-VSB post-processor 606 and that bypass the E-VSB post-processor 606 are inputted to the trellis encoder 608 so as to be trellis-encoded. Thereafter, the trellis-encoded data sequentially pass through the frame multiplexer 609, the pilot inserter 610, the VSB modulator 611, and the RF up-converter 612. Meanwhile, according to another embodiment of the present invention, initialization data, which are generated for initializing a memory within the trellis encoder 608, are generated from the trellis encoder 608 instead of the E-VSB post-processor 606. In this case, the backward compatibility processor 607 receives a traffic information data packet from the E-VSB post-processor 606 in order to calculate the parity value. Herein, the traffic information data packet includes an initialization data place holder that is to be replaced by the initialization data. Further, the backward compatibility processor 607 receives the initialization data from the trellis encoder 608. Thereafter, the calculated non-systematic RS parity is outputted to the trellis encoder 608. The remaining processes that may follow are identical to those shown in FIG. 10. Therefore, a detailed description of the same will be omitted for simplicity. Furthermore, the frame multiplexer 609, the pilot inserter 610, the VSB modulator 611, and the RF up-converter 612 are also identical to those shown in FIG. 10. Therefore, a detailed description of the same will also be omitted for simplicity.
FIG. 17 illustrates a block view of a digital broadcast receiving system according to an embodiment of the present invention. More specifically, FIG. 17 illustrates a block view showing an example of a digital broadcast receiving system that can receive traffic information data being transmitted from a transmitting system and that demodulates and equalizes the received data, thereby recovering the processed data to its initial state. Referring to FIG. 17, the receiving system includes a tuner 701, a demodulator 702, a demultiplexer 703, an audio decoder 704, a video decoder 705, a native TV application manager 706, a channel manager 707, a channel map 708, a first memory 709, a data decoder 710, a second memory 711, a system manager 712, a data broadcasting application manager 713, and a GPS module 714. Herein, the first memory 709 corresponds to a non-volatile memory (NVRAM) (or a flash memory).
The tuner 701 tunes a frequency of a particular channel through any one of an antenna, a cable, and a satellite, thereby down-converting the tuned frequency to an intermediate frequency (IF) signal. Thereafter, the down-converted signal is outputted to the demodulator 702. At this point, the tuner 701 is controlled by the channel manager 707. The result and strength of the broadcast signal corresponding to the tuned channel are reported to the channel manager 707. Herein, the data being received through the frequency of a particular channel include the main data, the enhanced data, and the table data which are used for decoding the main data and enhanced data. In the example given in the present invention, traffic information data and a traffic information providing table may be applied to the enhanced data.
The demodulator 702 performs VSB demodulation and channel equalization processes on the signal outputted from the tuner 701. Then, after identifying the main data and the traffic information data from the signal, the demodulator 702 outputs the data (or signal) by TS packet units. The structure and operation of the demodulator 702 will be described in detail in a later process. In the example of the present invention, only the traffic information data packet outputted from the demodulator 702 is inputted to the demultiplexer 703. In other words, the main data packet may be inputted to another demultiplexer (not shown) that processes main data packets. Furthermore, the present invention may also be designed in a way that the demultiplexer 703 also demultiplexes the enhanced data packet as well as the main data packet. In the description of the present invention, the receiving and processing of traffic information data are described in detail. And, it should be noted that a detailed description of the processing of main data starting from the demultiplexer 703 may be omitted.
The demultiplexer 703 demultiplexes the traffic information messages and the PSI/PSIP tables from the traffic information data packets being inputted based upon the control of the data decoder 710. Thereafter, the demultiplexed traffic information messages and PSI/PSIP tables are outputted to the data decoder 710 in a section format. In an example given in the present invention, a traffic information message carried by a payload within the TS packet is outputted in a DSM-CC section format. At this point, the demultiplexer 703 performs a section filtering process based upon the control of the data decoder 710 so as to delete duplicate sections and to output only the non-duplicate sections to the data decoder 710. Moreover, the demultiplexer 703 may output the section configuring a desired table (e.g., VCT) through a section filtering process to the data decoder 710. Herein, the VCT includes traffic information descriptors shown in FIG. 7. The traffic information descriptors may also be included in the PMT.
The section filtering method includes a method of initiating section filtering after verifying the PID of a table defined by the MGT (e.g., VCT), and, when the VCT has a fixed PID (i.e., a base PID), a method of initiating section filtering without verifying the MGT. At this point, the demultiplexer 703 performs section filtering by referring to the table_id field, the version_number field, the section_number field, and so on. The data decoder 710 parses the DSM-CC section configuring the demultiplexed traffic information message. Then, the data decoder 710 decodes the traffic information message being a result of the parsing process and, then stores the traffic information message in a database of the second memory 711. The data decoder 710 groups a plurality of sections having the same table identifiers (table_id) to configure and parse a table. Then, the data decoder 710 stores the system information being the parsed result in the database of the second memory 711.
The second memory 711 is a table and data carousel database storing system information parsed from the tables and traffic information messages parsed from the DSM-CC section. Whether or not a table is configured of a single section or a plurality of sections can be known by the table_id field, the section_number field, and the last_section_number field within the table. For example, grouping only the TS packets having the PID of the VCT becomes a section. On the other hand, grouping sections having table identifiers allocated to the VCT becomes the VCT.
When parsing the VCT, information on the virtual channel to which traffic information is transmitted may be obtained. In addition, supplemental information associated with the traffic information message described, as shown in FIG. 7, in the traffic information descriptors included in the VCT may also be obtained. More specifically, when parsing the traffic information descriptors, application identification information, service component identification information, service information (e.g., service name, service description, service logo, subscriber information, free text information, help information, etc.), and so on, of the traffic information message being transmitted to the corresponding virtual channel can be obtained.
The application identification information, service component identification information, and service information of the traffic information message obtained as described above may either be stored in the second memory 711 or outputted to the data broadcasting application manager 713. Additionally, reference may be made to the application identification information, service component identification information, and service information for decoding the traffic information message. Alternatively, the application identification information, service component identification information, and service information may also be used for preparing the operation of the application program for the traffic information message.
The data decoder 710 controls the demultiplexing of the system information table corresponding to the table associated with channel and event information. Thereafter, the data decoder 710 can transmit an A/V PID list to the channel manager 707. The channel manager 707 may refer to the channel map 708 to send a request (or command) for receiving an information table associated with the system, and then the channel manager 707 can receive the corresponding result. The channel manager 707 may also control the channel tuning of the tuner 701. Furthermore, the channel manager 707 directly controls the demultiplexer 703 so as to directly set up the A/V PID, thereby controlling the audio and video decoders 704 and 705.
The audio and video decoders 704 and 705 may respectively decode and output the audio and video data demultiplexed from the main data packet, or respectively decode and output the audio and video data demultiplexed from the traffic information data packet. Meanwhile, according to the embodiment of the present invention, it is apparent that when traffic information data and also audio data and video data are included in the enhanced data, the audio data and video data demultiplexed by the demultiplexer 703 may be respectively decoded by the audio decoder 704 and the video decoder 705. For example, the audio decoder 704 may decode the audio data by using an audio coding (AC)-3 decoding algorithm, and the video decoder 705 may decode the video data by using an MPEG-2 decoding algorithm.
Meanwhile, the native TV application manager 706 operates a native application program stored in the first memory 709, thereby performing general functions such as channel switching. The native application program refers to a software that is being mounted upon shipping of the receiving system. More specifically, when a user request is transmitted to the receiving system through a user interface (UI), the native TV application manager 706 the request onto the screen through a graphic user interface (GUI), thereby responding to the user request. The user interface receives the user request through an inputting device, such as a remote controller, a key pad, a jog dial, and a touch screen provided on the display screen. Thereafter, the user interface outputs the received user request to the native TV application manager 706, the data broadcasting application manager 713, and so on.
The native TV application manager 706 controls the channel manager 707, thereby controlling channel associated operations, such as managing the channel map 708 and controlling the data decoder 710. In addition, the native TV application manager 706 stores the GUI control of the general receiving system, the user request, and the status of the receiving system to the first memory 709, and also recovers the information stored in the first memory 709. The channel manager 707 controls the tuner 701 and the data decoder 710, thereby managing the channel map 708 so as to be able to respond to the channel request made by the user.
More specifically, the channel manager 707 sends a request to the data decoder 710 so that the table associated with the channel, which is to be tuned, can be parsed. Thereafter, the channel manager 707 receives a report on the parsing result of the corresponding table from the data decoder 710. Then, depending upon the reported parsing result, the channel manager 707 updates the channel map 708. The channel manager 707 also sets up a PID to the demultiplexer 703 so as to demultiplex the table associated with the traffic information message from the traffic information data. The system manager 712 controls booting of the receiving system by turning on and off the power and, then, stores a ROM image (including downloaded software images) to the first memory 709. In other words, the first memory 709 stores operation programs, such as operation system (OS) programs required for operating the receiving system, and application programs performing data service functions.
The application program is a program that processes the traffic information message stored in the second memory 711, thereby providing the traffic information service to the user. If a data broadcasting data type other than the traffic information data is stored in the second memory 711, the corresponding data are processed by the application program or another type of application program and, then, provided to the user. The operation program and application program stored in the first memory 709 may be updated or corrected with a newly downloaded program. Furthermore, since the stored operation program and application program are not deleted even when the driving power supply is shut down, when the driving power is supplied, the program can be performed without having to download a new program.
The application program for providing the traffic information service according to the present invention may be mounted in the first memory 709 upon shipping of the receiving system, or stored later on in the first memory 709 after being downloaded. Also, the application program for the traffic information service (i.e., traffic information providing application program) that is stored in the first memory 709 can be deleted, updated, and corrected. Furthermore, the traffic information providing application program may also be downloaded along with the traffic information data and executed each time the traffic information data are being received.
When a data service request is made through the user interface, the data broadcasting application manager 713 operates the corresponding application program stored in the first memory 709 so as to process the requested data, thereby providing the requested data service to the user. And, in order to provide such data service, the data broadcasting application manager 713 supports the GUI. Herein, the data service is provided in the form of text, voice, graphic, still image, motion picture, and so on. The data broadcasting application manager 713 may be provided with a platform for executing the application program stored in the first memory 709. The platform may be, for example, a Java virtual machine for executing a Java program.
Hereinafter, an example of providing traffic information service to the user by having the data broadcasting application manager 713 execute the traffic information providing application program stored in the first memory 709 and, then, process the traffic information message stored in the second memory 711 will now be described in detail. The traffic information service according to the present invention is provided to the users by a receiver having only one or none of an electronic map and a GPS mounted therein in the form of at least one of a text, voice, a graphic, a still image, and a motion picture. If the GPS module 714 is mounted on the receiving system shown in FIG. 17, the GPS module 714 receives satellite signals transmitted from a plurality of low earth orbit satellites so as to extract a current location information (i.e., longitude, latitude, altitude), thereby outputting the extracted information to the data broadcasting application manager 713. At this point, it is assumed that the electronic map including information on each link and node and the various graphic information are stored in a storage unit (or memory) other than the first memory 709 or the second memory 711.
By executing the traffic information providing application program, the data broadcasting application manager 713 provides the traffic information service requested by the user based upon the current location information acquired from the GPS module 714 and the traffic information message stored in the second memory 711. More specifically, based upon the request of the data broadcasting application manager 713, the traffic information message stored in the second memory 711 is read and inputted to the data broadcasting application manager 713. The data broadcasting application manager 713 analyses the traffic information message read from the second memory 711, thereby extracting required information and/or control signals in accordance with the contents of the message. In the description of the present invention, it is assumed that a request for a CTT service has been made by the user.
More specifically, the data broadcasting application manager 713 extracts date/time and message generation time included in the message management container of each TPEG message and determines if the following container is a CTT status container based on ‘message element’ information (i.e. an identifier). If it is determined that the following container is a CTT status container, the data broadcasting application manager 713 provides the information extracted from the CTT component included in the CTT status container. The data broadcasting application manager 713 may display congestion and travel time status and predicted congestion and travel time status, which will be described below. The information extracted from the CTT component may include determining, based on identifiers, that the traffic information includes a message management container including status information within various message components, within the message management container. The components may each include different status information associated with different links or locations and identifiers associated with the different status information. The containers and components may each include information associated with a generation time, version number, data length, and identifiers of included information.
The data broadcasting application manager 713 then extracts information on the link location for which the previously extracted information is intended from the following TPEG location container. The position information may be, for example, the coordinates (i.e., latitudes and longitudes) of the start and end positions or an ID that is uniquely assigned to each link, depending on the type of the TPEG location container. If the terminal is equipped with the second memory 711, The data broadcasting application manager 713 finds the location of the link for which the received traffic information is intended with reference to the information on each link and node stored in the second memory 711. The data broadcasting application manager 713 may convert the coordinates of a link into a link ID or vice versa.
The data broadcasting application manager 713 reads a part of the electronic map centered around the position coordinates received from the GPS module 714, and displays the read electronic map data on a display screen. In this case, a specific graphic sign is displayed at a specific point corresponding to the current location.
The data broadcasting application manager 713 displays the average link speed at a location corresponding to the coordinates or link ID delivered via the TPEG location container following the container delivering the average link speed. There are various processes for the data broadcasting application manager 713 to display the traffic information.
For example, the data broadcasting application manager 713 may show links in different colors. For example, if the road on the image is determined to a current road, the red color is indicative of 0 to 10 km per hour, the orange color is indicative of 10 to 20 km per hour, the green color is indicative of 20 to 40 km per hour, and the blue color is indicative of at least 40 km per hour. If the congestion change information has a specific value “1” or “2”, a character string (“Increase” or “Reduction”) or icon assigned to the specific value “1” or “2” may also be displayed on a corresponding link along with the congestion change information. If the congestion change information has a specific value “0” or “3”, a displayed status is not updated to a new status, such that a current displayed status remains. If the congestion acceleration tendency is received in the form of the rate of change of the average speed, the data broadcasting application manager, 713 displays the value only when a request from the user is received to prevent visual confusion of the user. The rate of change may be displayed together for a user-chosen route or a front link.
If the terminal does not include the second memory unit 711 equipped with the electronic map, an average link speed associated with only a forward link of a current traveling path may be displayed in different colors, or may be displayed in different numerals. If the route of the vehicle with the terminal installed is determined, the terminal may show the average speed at the links included in the determined route instead of the links located in front of the current position.
The data broadcasting application manager 713, responsive to user input, may display the link travel time, the link delay, and the congestion type instead of or simultaneously with the average link speed.
If the user requests predicted congestion and travel time status, the data broadcasting application manager 713 displays the predicted average link speed at each link in colors or in numbers instead of the current average link speed. In this case, the colors or numbers describing the predicted status may be displayed simultaneously with the current average link speed but the location or used colors may be different. If the user switches the display mode to see the predicted link travel time instead of the predicted average link speed, the data broadcasting application manager 713 displays the predicted link travel time on the electronic map or graphics on a display screen.
If the data broadcasting application manager 713 is capable of routing, the data broadcasting application manager 713 may search or research the desirable route based on the received predicted average link speed or predicted link travel time. For example, the data broadcasting application manager 713 finds the shortest time path to the destination by using the predicted link average time or predicted link travel time at each link to be reached 30 minutes later at the current speed.
If the terminal is equipped with a voice output capability, the terminal may audibly output the received predicted status or congestion tendency information for a specified link or links.
The information and/or control signals are temporarily stored in the rewritable memory and used by the data broadcasting application manager 713. After using the information stored in the memory, the data broadcasting application manager 713 may store the average link speed or link travel time at intervals of, such as, for example, 20 minutes (e.g., 1:00, 1:20, 1:40) for the last 1 hour. The interval of storage may differ depending on the storage capacity of the memory. By automatically expiring the information from within memory, the system may be assured that it is working with recent information when consulting the contents of the memory, and thus may be able to represent information as current with confidence without having to otherwise maintain or check information reflecting when the stored data was collected/aggregated/stored.
If a specific link is selected by the user while the average speed at each link is stored in the memory, the data broadcasting application manager 713 controls a display screen so that the history of the average link speed or the history of the link travel time at the specified link is displayed as a graph. The link name is received along with the coordinates of the link or link ID through the TPEG location container or included in the electronic map stored in the second memory 711. The current congestion status, predicted congestion status, or other status may be displayed in other or different ways.
If the predicted congestion status is not included in the received traffic information, the data broadcasting application manager 713 may predict the average speed using the current average speed and the history of the average link speed stored in the memory, and displays the predicted average link speed. The method for predicting the average link speed may be the same as the aforementioned prediction method executed in the traffic information provider.
FIG. 18 illustrates a flow chart showing process steps of receiving and processing traffic information data according to an embodiment of the present invention. Referring to FIG. 18, a method of processing traffic information data according to the present invention will now be described in detail. More specifically, when the power of the receiving system is turned on (S721), and when a channel selection or channel switching is inputted (S722), a received channel signal is tuned to a physical frequency so as to correspond to the selected or switched channel by using the channel map (S723). Herein, the channel selection or channel switching is performed in accordance with a user command or a system command.
At this point, the traffic information data having the traffic information message and the system information multiplexed therein may be received through the channel frequency tuned as described above. If the traffic information data are received (S724), the demultiplexer 703 may demultiplex the traffic information message and system information tables by using PID extraction and section filtering (S725). Among the system information, tables associated with channel information include the VCT or the PAT/PMT. Herein, at least one of the PMT and VCT may include the traffic information descriptor(s) according to the present invention. By parsing the system information table, information on the virtual channel can be obtained, and whether an A/V element stream is being transmitted to the corresponding virtual channel and whether the traffic information data are being transmitted can be known. If the traffic information data are transmitted to the virtual channel, an application identifier, a service component identifier, and service information can be acquired by parsing the traffic information descriptor.
More specifically, information on the virtual channel is extracted by referring to an element stream type (ES type) and PID within the system information table (i.e., VCT and/or PAT/PMT) (S726). If the channel information extracted from the system information table indicates that an A/V ES exists within the virtual channel (S727), an A/V PID of the corresponding virtual channel in the channel map is set up (S728), thereby performing A/V demultiplexing and decoding (S729). Therefore, the user can view the broadcast program corresponding to the A/V (S730). Meanwhile, if it is indicated in Step 727 that an A/V ES does not exist in the virtual channel, the present invention verifies when the traffic information data are being transmitted to the virtual channel (S731).
A plurality of methods for verifying whether the traffic information data have been transmitted to the virtual channel may be proposed. For example, verification can be performed by parsing the system information table, and verification can also be performed by using the PID within the TS packet. When assuming that the traffic information data have been transmitted to the DSM-CC section, the existence (or presence) of the traffic information data can be known by parsing the field value of any one of the stream_type field within the PMT and the stream_type field of the service location descriptor within the VCT. In other words, if the stream_type field value is ‘0x95’, this indicates that the traffic information data have been transmitted to the corresponding virtual channel. Therefore, if it is verified in Step 731 that the traffic information data are being transmitted to the virtual channel, all traffic information having the DSM-CC data format that are being transmitted to the virtual channel are received (S732), thereby providing the traffic information service desired (or requested) by the user (S733).
If it is verified, in Step 731, that neither the A/V ES nor the traffic information data exist in the virtual channel, then the corresponding virtual channel is determined to be an invalid channel. In this case, the system may display, for example, a message that no valid channel or signal exists (S736). Thereafter, the process is returned to Step 724 in order to newly receive a valid channel information table.
Meanwhile, the system verifies whether a request for changing (or switching) the channel is made during the data service or while viewing a broadcast program (S734). If a change in channel has been requested, and if the request corresponds to changing the virtual channel, the data broadcasting process is reset, and the process is returned to Step 726 in order to find a new set of virtual channel information. Further, if the request corresponds to changing the physical channel, the process is returned to Step 723 so as to tune to the corresponding physical channel.
However, if there is no request for changing the channel, the system verifies whether a channel information version has been upgraded (S735). If it is determined in Step 735 that the channel information version has been upgraded, this indicates that the channel information has been changed (or modified) by the broadcast station. Therefore, the process is returned to Step 724 in order to receive a new channel information table. Conversely, if it is determined in Step 735 that the channel information has not been changed (or modified), then viewing of the broadcast program may be resumed.
The demodulator (reference numeral 702 of FIG. 17) according to the present invention uses the known data information that is inputted to a traffic information data section and, then, transmitted by a transmitting system so as to perform process such as carrier wave synchronization recovery, frame synchronization recovery, channel equalization, and so on. Thus, the receiving performance can be enhanced. FIG. 19 and FIG. 20 respectively illustrate detailed block views of the demodulator shown in FIG. 17.
Referring to FIG. 19, the demodulator includes a VSB demodulator 761, an equalizer 762, a known sequence (or data) detector 763, an E-VSB block decoder 764, an E-VSB data processor 765, and a main data processor 766. More specifically, an intermediate frequency (IF) signal of a channel frequency tuned by the tuner 701 (shown in FIG. 17) is inputted to the VSB demodulator 761 and the known sequence detector 763. The VSB demodulator 761 performs self gain control, carrier wave recovery, and timing recovery processes on the inputted IF signal, thereby modifying the IF signal to a baseband signal. Then, the VSB demodulator 761 outputs the newly created baseband signal to the equalizer 762 and the known sequence detector 763. The equalizer 762 compensates the distortion of the channel included in the demodulated signal and then outputs the error-compensated signal to the E-VSB block decoder 764.
At this point, the known sequence detector 763 detects the known sequence location inserted by the transmitting end from the input/output data of the VSB demodulator 761 (i.e., the data prior to the demodulation or the data after the modulation). Thereafter, the location information along with the symbol sequence of the known data, which are generated from the detected location, is outputted to the VSB demodulator 761 and the equalizer 762. Further, the known sequence detector 763 outputs information related to the traffic information data additionally coded by the transmitting end and the main data that have not been additionally coded to the E-VSB block decoder 764. Herein, the information allowing the traffic information data and the main data to be differentiated (or identified) by the E-VSB block decoder 764 is outputted to the E-VSB block decoder 764. Although the connection state is not shown in FIG. 19, the information detected by the known sequence detector 763 may be used throughout almost the entire receiving system. Herein, the detected information may also be used in the E-VSB data deformatter 765-1 and in the RS frame decoder 765-2.
The VSB demodulator 761 uses the known data symbol sequence during the timing and/or carrier recovery, thereby enhancing the demodulating performance. Similarly, the equalizer 762 uses the known data sequence, thereby enhancing the equalizing performance. Furthermore, the decoding result of the E-VSB block decoder 764 may also be fed-back to the equalizer 762, thereby enhancing the equalizing performance. Meanwhile, when the data being inputted to the E-VSB block decoder 764, after being equalized by the equalizer 762, correspond to the traffic information data being additionally coded and trellis-encoded by the transmitting end, the equalizer 762 performs an inverse process of the transmitting end by additionally decoding and trellis-decoding the inputted enhanced data. On the other hand, when the data being inputted correspond to the main data being trellis-encoded only and not additionally coded, the equalizer 762 only performs trellis-decoding on the inputted main data.
The data group decoded by the E-VSB block decoder 764 is outputted to the E-VSB data processor 765, and the main data packet is outputted to the main data processor 766. More specifically, when the inputted data correspond to the main data, the E-VSB block decoder 764 performs Viterbi-decoding on the input data so as to output a hard decision value or to perform hard decision on a soft decision value and output the hard-decided result. Meanwhile, when the inputted data correspond to the traffic information data, the E-VSB decoder 764 outputs a hard decision value or a soft decision value on the inputted enhanced value.
More specifically, when the inputted data correspond to the traffic information data, the E-VSB block decoder 764 performs a decoding process on the data encoded by the E-VSB block processor and the trellis encoder of the transmitting system. At this point, the data outputted from the RS frame encoder of the E-VSB pre-processor included in the transmitting system may correspond to an external code, and the data outputted from each of the E-VSB block processor and the trellis encoder may correspond to an internal code. When decoding such concatenated codes, the decoder of the internal code should output a soft decision value, so that the external coding performance can be enhanced. Therefore, the E-VSB block decoder 764 may output a hard decision value on the traffic information data. However, it is more advantageous to output a soft decision value.
As an example of the present invention, the E-VSB data processor 765 includes an E-VSB data deformatter 765-1, a RS frame decoder 765-2, and an E-VSB derandomizer 765-3. It would be efficient to apply this structure in the E-VSB pre-processor of the transmitting system (shown in FIG. 11) which includes an E-VSBG randomizer, a RS frame encoder, an E-VSB block processor, a group formatter, a data deinterleaver, and a packet formatter. The main data processor 766 includes a data deinterleaver 766-1, a RS decoder 766-2, and a data derandomizer 766-3.
Herein, the data deinterleaver 766-1, the RS decoder 766-2, and the data derandomizer 766-3 included in the main data processor 766 are blocks required for receiving the main data. Therefore, these blocks may not be required in the structure of the receiving system that only receives the traffic information data. The data deinterleaver 766-1 performs an inverse process of the data interleaver included in the transmitting end. More specifically, the data deinterleaver 766-1 deinterleaves the main data being outputted from the E-VSB block decoder 764 and outputs the deinterleaved data to the RS decoder 766-2.
The RS decoder 766-2 performs systematic RS decoding on the deinterleaved data and outputs the RS-decoded data to the data derandomizer 766-3. The data derandomizer 766-3 receives the output of the RS decoder 766-2 and generates a pseudo random data byte identical to that of the randomizer included in the transmitting system. Thereafter, the data derandomizer 766-3 performs a bitwise exclusive OR (XOR) operation on the generated pseudo random data byte, thereby inserting the MPEG synchronization bytes to the beginning of each packet so as to output the data in 188-byte main data packet units. At this point, the output of the data derandomizer 766-3 may be inputted to the demultiplexer 703 shown in FIG. 17. Alternatively, the output of the data derandomizer 766-3 may be inputted to a main data specific demultiplexer (not shown), which demultiplexes the A/V data and channel information associated tables from the main data.
The data being outputted from the E-VSB block decoder 764 are inputted to the E-VSB data deformatter 765-1 in a data group form. At this point, the E-VSB data deformatter 765-1 already knows the configuration of the input data group. Accordingly, the E-VSB data deformatter 765-1 removes the main data, the known data that have been inserted in the data group, the trellis initialization data, the MPEG header, and the RS parity added by the RS encoder of the transmitting system that all were inserted in the main data group. Thereafter, the E-VSB data deformatter 765-1 outputs only the traffic information data to the IRS frame decoder 765-2. More specifically, the RS frame decoder 765-2 receives only the traffic information data RS-coded and/or CRC-coded by the E-VSB data deformatter 765-1.
The RS frame decoder 765-2 performs an inverse process of the RS frame encoder included in the transmitting system. Accordingly, the RS frame decoder 765-2 corrects the errors within the RS frame. Thereafter, the RS frame decoder 765-2 adds a 1-byte MPEG synchronization, byte, which was removed during a RS frame coding process, to the error-corrected traffic information data packet. Then, the processed data are outputted to the E-VSB data derandomizer 766-3. At this point, if a row permutation process was performed on the traffic information data, an inverse row permutation process is also required. The E-VSB data derandomizer 766-3 performs a derandomizing process, which corresponds to an inverse process of the E-VSB randomizer included in the transmitting system, on the inputted traffic information data and outputs, the processed data. Thus, the transmitting system can receive the transmitted traffic information data.
Meanwhile, if the E-VSB randomizer is positioned after the RS frame encoder in the structure of the E-VSB pre-processor included in the transmitting system, the E-VSB data processor may include only the E-VSB data deformatter and the RS frame decoder. In this case, the operation of the E-VSB data deformatter becomes partially different from that of the E-VSB data deformatter shown in FIG. 19. In other words, the difference between the E-VSB data deformatter of FIG. 19 and the above-described E-VSB data deformatter is that a derandomizing process is first performed on the traffic information data, and the RS frame decoding process is performed afterwards.
In this case, only the data derandomizing process may be performed, or the data derandomizing process may be processed along with the null data removing process. This may differ depending upon the structure and operation of the E-VSB pre-processor included in the transmitting system. More specifically, only the data derandomizing process may be performed, or the data derandomizing process and the null data removing process may both be processed depending upon the positioning order of the E-VSB block processor and the group formatter, and whether the coding process was performed only on the valid data by the E-VSB block processor.
For example, if the E-VSB block processor is positioned before the group formatter in the E-VSB pre-processor, the receiving system does not require the null data to be removed, since byte expansion has not been performed. In addition, even though a byte expansion process has been performed, if the E-VSB block processor has performed an additional coding process only on the valid data (e.g., if the coding process was performed at a coding rate of 1⁄2 or at a coding rate of 1⁄4), the receiving system does not require the process of removing the null data. Conversely, if the E-VSB block processor is positioned after the group formatter in the E-VSB pre-processor, the receiving system requires a byte expansion process to be performed. In this case, if the E-VSB block processor has performed an additional coding process all data types (e.g., if the coding process was performed at a coding rate of 1⁄2 or at a coding rate of 1⁄4), the receiving system requires the null data to be removed.
However, if the removal of the expanded byte is required, the order of the byte removal process and the derandomizing process may vary depending upon the structure of the transmitting system. More specifically, if the byte expansion is performed after the randomizing process in the transmitting system, then the byte removal process is first performed before performing the derandomizing process in the receiving system. Conversely, if the order of the process is changed in the transmitting system, the order of the respective processes in the receiving system is also changed.
When performing the derandomizing process, if the RS frame decoder requires a soft decision in a later process, and if, therefore, the E-VSB block decoder receives a soft decision value it is difficult to perform an XOR operation between the soft decision and the pseudo random bit, which is used for the derandomizing process. Accordingly, when an XOR operation is performed between the pseudo random bit and the soft decision value of the traffic information data bit, and when the pseudo random bit is equal to ‘1’, the E-VSB data deformatter changes the code of the soft decision value and then outputs the changed code. On the other hand, if the pseudo random bit is equal to ‘0’, the E-VSB data deformatter outputs the soft decision value without any change in the code. Thus, the state of the soft decision may be maintained and transmitted to the RS frame decoder.
If the pseudo random bit is equal to ‘1’ as described above, the code of the soft decision value is changed because, when an XOR operation is performed between the pseudo random bit and the input data in the randomizer of the transmitter, and when the pseudo random bit is equal to ‘1’, the code of the output data bit becomes the opposite of the input data (i.e., 0 XOR 1=1 and 1 XOR 0=0). More specifically, if the pseudo random bit generated from the E-VSB packet deformatter is equal to ‘1’, and when an XOR operation is performed on the hard decision value of the traffic information data bit, the XOR-operated value becomes the opposite value of the hard decision value. Therefore, when the soft decision value is outputted, a code opposite to that of the soft decision value is outputted.
Accordingly, the RS frame decoder performs an inverse process of the RS frame encoder included in the transmitting system. Therefore, the RS frame decoder corrects the errors within the RS frame. Subsequently, the RS frame decoder adds a 1-byte MPEG synchronization byte, which was removed during a RS frame coding process, to the error-corrected traffic information data packet. Thus, the initial traffic information data transmitted by the transmitting system can be obtained.
FIG. 20 illustrates a detailed block view of the demodulator according to a second embodiment of the present invention. Referring to FIG. 20, the demodulator includes a VSB demodulator 781, an equalizer 782, a known sequence (or data) detector 783, a Viterbi decoder 784, a data deinterleaver 785, a RS decoder 786, a data derandomizer 787, and an E-VSB data processor 788. Herein, the E-VSB data processor 788 includes a main data packet remover 788-1, an E-VSB packet deformatter 788-2, and an E-VSB data processor 788-3. It would be efficient to apply the demodulator shown in FIG. 20 to the transmitting system having the structure shown in FIG. 16. Furthermore, the VSB demodulator 781, the equalizer 782, and the known sequence detector 783 are identical to those shown in FIG. 19. Therefore, since reference can be made for the structure of the same components, a detailed description of the same will be omitted for simplicity.
The Viterbi decoder 784 Viterbi-decodes the data outputted from the equalizer 782 and converts the Viterbi-decoded data to bytes. Thereafter, the converted data are outputted to the data deinterleaver 785. The data deinterleaver 785 performs an inverse process of the data interleaver of the transmitting system and outputs the deinterleaved data to the RS decoder 786. If the received data packet is the main data packet, the RS decoder 786 RS-decodes the received main data packet. Alternatively, if the received data packet is the traffic information data packet, the RS decoder 786 removes the non-systematic RS parity bytes and outputs the processed data to the data derandomizer 787.
The data derandomizer 787 performs an inverse process of the randomizer of the transmitting system on the output of the RS decoder 786. Thereafter, the data derandomizer 787 inserts the MPEG synchronization byte in the beginning of each packet, thereby outputting the data in 188-byte packet units. The output of the data derandomizer 787 is simultaneously outputted to the demultiplexer 703 (shown in FIG. 17) or the main data specific demultiplexer (not shown) and outputted to the main data packet remover 788-1 of the E-VSB data processor 788.
The main data packet remover 788-1 removes the 188-byte main data packet from the data outputted from the data derandomizer 787 and outputs the processed data to the E-VSB packet deformatter 788-2. The E-VSB packet deformatter 788-2 removes the 4-byte MPEG header, known data, and trellis initialization data from the 188-byte data packet. Then, the E-VSB packet deformatter 788-2 outputs only the traffic information data to the E-VSB data processor 788-3. At this point, the E-VSB packet deformatter 788-2 may or may not remove the null data.
More specifically, when the E-VSB post-processor of the transmitting system shown in FIG. 16 performs additional coding on the traffic information data, and, accordingly, when the coding is performed only on the valid traffic information data, the removing of the null data is not required. Conversely, however, if the additional coding process is performed on all byte-expanded traffic information data, the null data must be removed. The E-VSB data processor 788-3 performs an inverse process of the E-VSB pre-processor included in the transmitting system on the output of the E-VSB packet deformatter 788-2. Thus, the traffic information data initially transmitted from the transmitting system may be obtained.
As described above, the digital broadcast transmitting/receiving system and the method for processing data are advantageous in that when receiving traffic information data through a channel, the data are robust against error and are compatible with the conventional VSB receiver. Furthermore, data can be received more efficiently without error even in channels having severe noise and ghost effect.
In addition, by performing additional error correction coding and error detection coding processes on the traffic information data and transmitting the processed data, robustness is provided to the traffic information data, thereby allowing the data to respond appropriately to the changes in the channel environment. Furthermore, by using link identifiers for providing the traffic information data, the transmission capacity may be minimized. And, by warning in advance the information on heavy congested traffic status, the amount of traffic may be adequately dispersed, thereby allowing the roads to be circulated efficiently. The present invention having the above-described advantages may be more efficiently used when applied in mobile and portable receiver which requires a greater degree of robustness against noise and ghost effect.
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.

## Claims

1. A method of processing a digital broadcast signal for transmitting the digital broadcast signal, the method comprising:
Forward Error Correction (FEC) and Cyclic Redundancy Check (CRC) encoding enhanced service data to build at least one Reed-Solomon (RS) frame of the enhanced service data;
first encoding enhanced service data in the built RS frame at a coding rate of at least one of 1⁄2 and 1⁄4;
forming a data group including the first-encoded enhanced service data, a plurality of known data sequences, and place holder bytes for main service data and first non-systematic RS parity data;
removing the place holder bytes for the main service data and the first non-systematic RS parity data which are included in the data group and outputting enhanced service data packets including data in the data group;
multiplexing the outputted enhanced service data packets and main service data packets;
second encoding the multiplexed enhanced and main service data packets to obtain systematic RS parity data for the main service data packets and the first non-systematic RS parity data for the enhanced service data packets;
interleaving data in the second-encoded main and enhanced service data packets;
third encoding the interleaved data, wherein third encoding the interleaved data comprises initializing at least one memory included in a third encoding module by initialization data at a start of at least one of the plurality of known data sequences in the interleaved data; and
fourth encoding a portion of the interleaved data and the initialization data to obtain second non-systematic RS parity data and replacing the first non-systematic RS parity data with the second non-systematic RS parity data.

2. The method of claim 1, wherein the enhance service data includes traffic information data.

3. The method of claim 1, wherein the obtained systematic RS parity data are added at end of each of the main service data packets.

4. The method of claim 1, wherein the obtained first or second non-systematic RS parity data are inserted in pre-determined locations of the enhanced service data packets, and wherein the pre-determined locations are locations where the place holder bytes for the first non-systematic RS parity data were located.

5. An apparatus of processing a digital broadcast signal for transmitting the digital broadcast signal, the apparatus comprising:
an RS frame encoder configured to Forward Error Correction (FEC) and Cyclic Redundancy Check (CRC) encode enhanced service data to build at least one Reed-Solomon (RS) frame of the enhanced service data;
a first encoding module configured to first encode enhanced service data in the built RS frame at a coding rate of at least one of 1⁄2 and 1⁄4;
a group formatter configured to form a data group including the first-encoded enhanced service data, a plurality of known data sequences and place holder bytes for main service data and first non-systematic RS parity data;
a packet formatter configured to remove the place holder bytes for the main service data and the first non-systematic RS parity data which are included in the data group and outputting enhanced service data packets including data in the data group;
a multiplexer configured to multiplex the outputted enhanced service data packets and main service data packets including the main service data;
a second encoding module configured to second encode the multiplexed enhanced and main service data packets to obtain systematic RS parity data for the main service data packets and the first non-systematic RS parity data for the enhanced service data packets;
an interleaver configured to Interleave data in the second-encoded main and enhanced service data packets;
a third encoding module configured to third encode the interleaved data, wherein the third encoding module is further configured to perform initializing at least one memory included in the third encoding module by initialization data at a start of at least one of the plurality of known data sequences in the interleaved data; and
a fourth encoding module configured to fourth encode a portion of the interleaved data and the initialization data to obtain second non-systematic RS parity data and replace the first non-systematic RS parity data with the second non-systematic RS parity data.

6. The apparatus of claim 5, wherein the enhance service data includes traffic information data.

7. The apparatus of claim 5, wherein the obtained systematic RS parity data are added at end of each of the main service data packets.

8. The apparatus of claim 5, wherein the obtained first or second non-systematic RS parity data are inserted in pre-determined locations of the enhanced service data packets, and wherein the pre-determined locations are locations where the place holder bytes for the first non-systematic RS parity data were located.