1. Technical Field
Embodiments of the present disclosure relate to digital television devices, and more particularly to a set top box and a method of establishing a TV program table.
2. Description of Related Art
Usually, a television (TV) station office server provides a plurality of TV program groups at a same time for a set top box (STB) over multiple channels, respectively. Each channel corresponds to one TV program group. The TV station office server provides a plurality of frequencies to support the multiple channels, and each frequency support one or more channels.
For example, if a frequency range employed by the TV station office server is 87 MHz˜847 MHz and a frequency gap is 8 MHz, then all frequencies in the frequency range are 87 MHz, 95 MHz, 103 MHz, 111 MHz, . . . , and 847 MHz, which includes 96 frequencies in total. If the TV station office server employs 120 channels to transmit 120 TV program groups, the 120 channels are loaded by the 96 frequencies. In that case, some of the 96 frequencies supports one channel, and others of the 96 frequencies supports more than one channel. For example, a first frequency (87 MHz) supports a first channel, a second frequency (95 MHz) supports a second channel and a third channel, a third frequency (103 MHz) supports a fourth channel, . . . , and so on. In those frequencies which support several channels to transmit several TV program groups, the TV station office server transforms the several TV program groups into a transport stream (TS) by way of employing a frequency division multiplexing (FDM) technology, and transmits the transport stream with the frequencies.
One way is to establish a TV program table, where the STB needs to search 120 channels which are supported by the 96 frequencies provided by the TV station office server in sequence. For example, the original set top box can switch to the first frequency (such as 87 MHz) and searches all channels supported by the first frequency, and then switches to the second frequency (such as 95 MHz) and searches all channels supported by the second frequency, . . . , until all frequencies are searched. In that case, the set top box would cost rather long time to establish the TV program table. Therefore, a method of establishing the TV program table rapidly is desired.
The details of the disclosure, both as to its structure and operation, can best be understood by referring to the accompanying drawings, in which like reference numbers and designations refer to like elements.
All of the processes described may be embodied in, and fully automated via, software code modules executed by one or more general purpose computers or processors. The code modules may be supported by any type of computer-readable medium or other storage device. Some or all of the methods may alternatively be embodied in predeterminedized computer hardware or communication apparatus.
In one embodiment, the TV station office server 20 provides a plurality of TV programs groups for the set top box 30 over multiple channels of the TV station office server 20. As mentioned earlier, each channel corresponds to one TV program group. The TV station office server 20 provides a plurality of frequencies to support the multiple channels, and each frequency support one or more channels. Each TV program group is transmitted over one channel of the TV station office server 20, and each frequency is configured to transmit one or more TV program groups. The TV program groups may comprise related TV programs, such as sports, cooking, travelling, for example.
The TV station office server 20 selects a predetermined channel among the multiple channels to transmit an extensible markup language (XML) file comprising TV program information to the set top box 30. In one embodiment, the predetermined channel is selected from the multiple channels, and the TV program information comprises information regarding the plurality of TV program groups which are transmitted to the set top box 30 by the TV station office server 20. The TV program information comprises a program association table (PAT), a program map table (PMT), and a service description table (SDT) of each of the plurality of TV program groups.
The searching module 302 searches the predetermined channel provided to obtain the XML file. In one embodiment, the searching module 302 obtains a frequency of the predetermined channel from a network information table (NIT) transmitted by the TV station office server 20 when the set top box 30 is used at the first time. After obtaining the frequency, the searching module 302 scans the frequency to search the predetermined channel and then obtains the XML file.
The searching module 302 determines whether the XML file is received over the predetermined channel. If the XML file is not received over the predetermined channel, the program establishing module 304 establishes the TV program table 306a in a traditional way, namely the searching module 302 searches all the multiple channels provided by the TV station office server 20 one by one to obtain the PAT, the PMT, and the SDT of each of the plurality of TV program groups, and establishes the TV program table 306a according to the PAT, the PMT, and the SDT of each of the plurality of TV program groups. This way is time cost.
The program establishing module 304 analyzes the XML file with an XML analysis program if the XML file is received over the predetermined channel provided by the TV station office server 20. In one embodiment, the program establishing module 304 analyzes the XML file via the XML analysis program to obtain the TV program information, namely to obtain the PAT, the PMT, and the SDT of each of the plurality of TV program groups.
The program establishing module 304 establishes the TV program table 306a according to the TV program information obtained from the XML file, namely according to the PAT, the PMT, and the SDT of each of the plurality of TV program groups to establish the TV program table 306a. In one embodiment, the program establishing module 304 stores the TV program table 306a in the storage system 306 after establishing the TV program table 306a.
In a traditional way, to establish the TV program table, the original set top box needs to search 120 channels which are supported by the 96 frequencies provided by the TV station office server 20 in sequence. In one exemplary embodiment, the set top box 30 takes about 2 seconds to search one channel, and takes about 240 seconds to search all the 120 channels to establish the TV program table.
In the present disclosure, each TV program group information in the XML format may be about 8˜16K bits, so if the TV station office server 20 provides 120 TV program groups over 120 channels to the set top box 30, the XML file including all TV program groups information may be about 960˜1920K bits. Assuming a transmission rate of the predetermined channel is 100K bits per second, it would take about 9.6˜19.2 seconds to transmits the XML file to the set top box 30, and take about 20˜30 seconds to establish the TV program table. That is, the set top box 30 of the embodiment would establish the TV program table with at most 49.2 s. In comparison, the set top box 30 of the embodiment takes less time to establish the TV program table than the traditional way.
In block S300, the TV station office server 20 selects the predetermined channel among the multiple channels to transmit the XML file comprising TV program information to the set top box 30. In one embodiment, the predetermined channel is selected from the multiple channels, and the TV program information comprises information regarding the plurality of TV program groups which are transmitted to the set top box 30 by the TV station office server 20. The TV program information comprises the PAT, the PMT, and the SDT of each of the plurality of TV program groups.
In block S302, the searching module 302 searches the predetermined channel provided by the TV station office server 20 to obtain the XML file. In one embodiment, the searching module 302 obtains the frequency of the predetermined channel from the NIT transmitted by the TV station office server 20 when the set top box 30 is used at the first time. After obtaining the frequency, the searching module 302 scans the frequency to search the predetermined channel and then obtains the XML file.
In block S304, the searching module 302 determines whether the XML file is received over the predetermined channel.
If the XML file is received over the predetermined channel, then in block S306, the program establishing module 304 analyzes the XML file with the XML analysis program. In one embodiment, the program establishing module 304 analyzes the XML file via the XML analysis program to obtain the TV program information, namely to obtain the PAT, the PMT, and the SDT of each of the plurality of TV program groups.
In block S308, the program establishing module 304 establishes the TV program table 306a according to the TV program information obtained from the XML file, namely according to the PAT, the PMT, and the SDT of each of the plurality of TV program groups to establish the TV program table 306a. In one embodiment, the program establishing module 304 stores the TV program table 306a in the storage system 306 after establishing the TV program table 306a.
On the contrary, if the XML file is not received over the predetermined channel, the program establishing module 304 establishes the TV program table 306a in the traditional way which under in block S400˜S420, shown as in
In block S400, the searching module 302 of the set top box 30 switches to a next channel of the TV station office server 20 if the XML file is not received over the predetermined channel.
In block S402, the searching module 302 searches the PAT of next TV program group over the next channel. In one embodiment, the packet identity of the PAT is 0x0000, so the searching module 302 searches packets which the packet identity is 0x0000 to obtain the PAT, and obtain a packet identity of the PMT of the next channel from the PAT.
In block S404, the searching module 302 determines if a predetermined time is exceeded during searching the PAT. In one embodiment, the set top box 30 configures the predetermined time (such as 2 s) to search the PAT, the PMT, and the SDT of each TV program group transmitted in each channel. If the predetermined time is exceeded and the PAT (or the PMT, or the SDT) is not obtained, the searching module 302 switches to another channel, shown as in block S400.
If the predetermined time is not exceeded during searching the PAT, in block S406, the searching module 302 searches the PMT of next TV program group over the next channel. In one embodiment, the packet identity of the PMT is provided by the PAT, so the searching module 302 searches the PMT according to the packet identity of the PMT. For example, if the packet identity of the PMT provided by the PAT is 0x0111, the searching module 302 searches packets which the packet identity is 0x0111 to obtain the PMT.
In block S408, the searching module 302 determines if the predetermined time is exceeded during searching the PMT.
If the predetermined time is not exceeded during searching the PMT, in block S410, the searching module 302 searches the SDT of next TV program group over the next channel. In one embodiment, the packet identity of the SDT is 0x00011, so the searching module 302 searches packets which the packet identity is 0x0011 to obtain the SDT.
In block S412, the searching module 302 determines if the predetermined time is exceeded during searching the SDT.
If the predetermined time is not exceeded during searching the SDT, in block S414, the searching module 302 determines whether all the multiple channels are searched. For example, if the TV station office server 20 provides 120 channels, the searching module 302 determines if all the 120 channels are searched.
If all the multiple channels are not searched, in block S400, the searching module 302 switches to another channel. On the contrary, if all the multiple channels are searched, in block S416, the program establishing module 304 establishes the TV program table 306a according to the PAT, the PMT, and the SDT of each of the plurality of TV program groups, and stores the TV program table 306a in the storage system 306.
While various embodiments of the present disclosure have been described above, it should be understood that they have been presented by way of example only and not by way of limitation. Thus the breadth and scope of the present disclosure should not be limited by the above-described embodiments, but should be defined only in accordance with the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
201010157859.5 | Apr 2010 | CN | national |