Design and Implementation of an Optimized Set Top Box Electronic Program Guide System

[Abstract] This paper introduces an optimized design scheme for an electronic program guide (EPG) system on a set-top box. The innovation of this scheme is to design different SI engine processes for the characteristics of simple EPG and advanced EPG, thus improving their respective execution efficiency. At the same time, a new EPG database structure with separate program index and program information is proposed. It is convenient for the application layer to query the database and the database itself.
[Keywords] EPG digital TV set-top box SI engine

1 Introduction

The Electronic Program Guide (EPG) is a unique feature of digital TV. It inserts the Service Information (SI) defined by the DVB standard into the TS transport stream conforming to MPEG-2 (13818-1), making the set-top box The Integrated Receive Decoder (IRD) of (Set-Top-Box) can extract the list of broadcast programs of the program provider and the broadcast parameters from the TS stream, and display them to the digital TV users in an intuitive form, so that the user can conveniently Receive and select digital TV programs. The electronic program guide is a complex system. Its implementation depends on the software and hardware resources of the set-top box, and it is also related to the front-end SI publishing strategy. This paper presents an optimized implementation of the electronic program guide for the set-top box from the perspective of the development of the set-top box.

2 overall system structure

The basic functions of the electronic program guide include two types:

1. Simple EPG: Display current and next program information

2. Advanced EPG: Display all program information for the week

The process of processing the EPG information by the set-top box is as follows: the demultiplexer work of the set-top box starts by searching for the PAT table, and the PID number of the PAT table is “0x00”. The PAT gives the PID of the PMT constituting each program service in the transport stream, and also gives the PID number of the NIT. According to the PID value of the NIT and the PMT and the corresponding Table ID value, the corresponding information such as PMT, NIT, SDT, EIT, etc. can be solved from the stream. The resolution of the receiving end of the set top box is mainly responsible for the reconstruction of these SI data information. The simple EPG information is stored in the EIT P/F (present/following) table, and the advanced EPG information is stored in the EIT schedule table.

The example shown in this article is based on Fujitsu SmartMPEG MB86H20/5 as the core hardware platform. Metaware and related tools are software development platforms, using Nucleus real-time operating system.

3 specific module implementation

3.1 SI engine

The traditional set-top box's SI engine is the same for all SI tables (including EIT P/F and EIT schedule). The optimization process of this paper is to treat the EIT P/F table and the EIT schedule table differently in the processing method of the set-top box terminal. In the "Digital Broadcast Service Information Specification (GY/Z174-2001)", GY/Z174-2001 NIT, BAT, SDT, and EIT are all divided into one or several section representations and then inserted into TS packets. The EIT P/F table has two sections, which store the current program information and the next program information respectively; the EIT schedule can have up to 32 segments, and each section can store one channel of three hours. Information, and there can be up to 8 sections in each section. The simple EPG has less information, and the parsing and storage process is relatively simple, but its update speed is fast. The transmission interval requirement for the front-end EIT P/F table in DVB is 2s; the advanced EPG has a large amount of information, parsing and storage process. It is a lot more complicated, but its update speed is slow. The transmission interval requirement for the front-end EIT schedule table in DVB is 10s. This paper designs different SI engine solutions for two different types of SI table reception requirements.

When the filter receives the EIT table and calls the interrupt handler function, the simple EPG first closes the EIT P/F channel and sets the relevant flag, waiting for the background polling function to parse the table and then open the EIT P/F channel to receive again. The process of receiving the table by the filter and the parsing process of the background polling function are serially processed. This mechanism can process the current table in real time, which is suitable for the simple EPG with small amount of information and fast update speed; the advanced EPG does not close the channel. Instead, the header is parsed first. If the segment has not been received, the segment information is inserted into the message queue, waiting for the background polling function to parse the processing, that is, the process of receiving the table by the filter and the parsing process of the background polling function are parallel processing. This mechanism can ensure that the filter collection process is continuous without being interrupted by the background, which is suitable for the advanced EPG with large amount of information and continuous transmission of the front end.

In terms of EIT table version update, after the simple EPG receives the current and next program information, the filter is set to receive only the new version of the EIT P/F table, so that the simple EPG information can be received and updated in real time; for the advanced EPG, The amount of information is large and the front-end update speed is slow, so the latest version of the EIT table information is received only at each reboot.

3.2 EPG database

The EPG database on the traditional set-top box is a single program information database. The optimization process of this paper is that the program index and the program detailed information respectively establish a database and maintain independently of each other. The program index database is a tree-like index structure according to the channel-sub-table-segment-program, wherein the segment node contains the id (parameter event_id) of all programs to which it belongs, and also includes a parameter sectavail indicating whether the segment is received.

This tree index database has three advantages:

1. Tree index all program ids, which facilitates querying and time sorting of program information

2. Record the reception status of all segments of the EIT table of a channel, so that the SI engine can determine whether the segment has been received when receiving.

3. The index structure facilitates the management of the program information database, such as deleting all advanced EPG information of a certain channel, etc.

The program information database stores detailed information of each program, including the program name, program start and end time, program description, and program language type. The important parameter is the program id, through which the program index database can access the corresponding program information database content.

3.3 EPG application

The main function of the EPG application is to respond to the relevant EPG button in the remote control and query the EPG database to output the program information to the OSD interface in time order. For the simple EPG, only the time sorting output of the current and next programs is required; and for the advanced EPG, after selecting the specific channel and the specific date in the OSD interface, all the programs of the specified channel are extracted by accessing the program index database in the EPG database. Id, then select the program of the specified date in the program information database according to the program id, and perform bubble sorting according to the program start time, and finally output to the OSD display.

4 Conclusion

This paper introduces the architecture of the EPG system in the set-top box and introduces the optimization scheme for the specific functional modules. In the SI engine, different processes for simple EPG and advanced EPG are proposed. In the EPG database, a database structure for program index and program information separation is proposed. This optimized structure achieves good results in actual EPG code stream testing.



:
0 times
Window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "2", "bdMiniList": false, "bdPic": "", "bdStyle": " 0", "bdSize": "24" }, "share": {}, "image": { "viewList": ["qzone", "tsina", "tqq", "renren", "weixin"], "viewText": "Share to:", "viewSize": "16" }, "selectShare": { "bdContainerClass": null, "bdSelectMiniList": ["qzone", "tsina", "tqq", "renren" , "weixin"] } }; with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share. Baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];

Basic LED Flood Light

Waterproof Flood Light,Flood Light LED,200W LED Flood Light

Chandelier & Pendant Light,Basic LED Tube Light Co., Ltd. , http://www.chledtube.com