DESCRIPTION METHOD AND SYSTEM FOR CREATING A CUSTOMIZED ELECTRONIC PROGRAM GUIDE FOR A DIGITAL TELEVISION
Technical Field The invention relates to a method and system for creating an electronic program guide, more particularly to a method and system for creating a customized electronic program guide (EPG) for a digital television, in which there is provided a graphical user interface for designing customized electronic program guides.
Background Art Compared with traditional analog television services, digital television services can provide subscribers with better audio-visual services, more digital programs, etc. In other words, while a channel originally is able to show only one analog program, it is now able to show a plurality of digital programs after digitizing. With the increase in the number of programs, an electronic program guide plays an important role as it allows subscribers to determine what program is shown on a channel at any time. An electronic program guide is a graphical user interface provided for enabling subscribers to obtain present program show service menus for each channel, and introduction and announcement of soon-to-be-shown television programs, through the electronic program guide. However, as to how an electronic program guide can be utilized to make these program contents quickly and clearly provided to subscribers for selection has become an important topic.
Referring to Figure 1 , U.S. Patent Application No. 10/265034 (i.e., U.S. Patent Application Publication No. 2003/0070171 ) discloses the design of an electronic program guide. The method provides a classification table for electronic programs, such as general channels, charged channels, consumer channels, etc., so as to reduce complexity and display screen cluster. This method involves rudimentary functional design, and it is still difficult for subscribers to obtain preferred channels. Moreover, this method is not only unable to cope with extensive popular preferences, but is also ineffective for different groups with unique interests, especially now that individual differences are often stressed. The broadcasting content of digital electronic services includes audio, video, data, and other related information. Through a manufacturer-defined booting script file stored in a set-top box, relevant information of each program loaded in the broadcasting content can be retrieved and categorized for presentation in an electronic program guide, which guides subscribers when browsing through the programs. An electronic program guide generally has a plurality of screen menus, and each screen menu has a plurality of elements, such as channel headers, etc. , therein. Nevertheless, the relationships among the screen menus, the layouts, background pictures, font types, and character sizes of the screen menus, as well as the position, style and name of each index, such as channel banner or title, interactions with different buttons of a remote controller, etc. , have been configured in the set-top box beforehand by manufacturers or broadcasters prior to purchase by subscribers. Since the booting script file was burned in a read-only memory (ROM) of the set-top box
before delivery, the method has non-customized and non-adjustable drawbacks. Furthermore, present electronic program guides are designed by engineers through writing of source code programs. Hence, the design of electronic program guides requires skilled engineers who are knowledgeable in the programming language, and takes a lot of time and effort, which make it more difficult to redesign electronic program guides so as to comply with customization requests of different subscribers.
Disclosure of Invention Conventional electronic program guides are burned in set-top boxes beforehand and thus have no updated conditions in general. Also, conventional electronic program guides require engineers to write and compile codes in a programming language, which arises in inconvenience. Hence, if a graphical user interface can be provided to enable engineers to design an electronic program guide, which is then encoded automatically into a booting script file, not only can the difficulty in the design of electronic program guides be significantly reduced and the design cycle be shortened, the design of electronic program guides in accordance with customization requirements is also made feasible. In addition, subscribers can utilize the graphical user interface to compile a preferred electronic program guide for replacing a previous electronic program guide, thereby meeting current trends toward stressing individual differences. Therefore, an object of the present invention is to provide a method and system for creating a customized electronic program guide for a digital television, in which a graphical user interface (GUI)
is provided for compiling the electronic program guide so as to achieve the effect of reducing the difficulty in compiling. Another object of the present invention is to provide a method and system for creating a customized electronic program guide for a digital television, in which a set-top box can automatically update an electronic program guide so as to achieve the effect of facilitating the update of the electronic program guide. Accordingly, a method for creating a customized electronic program guide for a digital television of the present invention comprises the steps of: a) through a graphical user interface, designing an electronic program guide for showing relevant program information of a plurality of channels, the electronic program guide having at least one screen menu, the screen menu having at least one element; and b) encoding the electronic program guide into a booting script file. Thereafter, in the method of this invention, the booting script file can be transmitted to a set-top box so as to replace an old booting script file in the set-top box. Hence, a subscriber is able to redesign and customize the electronic program guide through the present invention according to his/her personal preferences after purchasing the set-top box. Therefore, in the method and system for creating a customized electronic program guide for a digital television according to the present invention, a graphical user interface, default samples and automatic encoding are provided so that a designer, such as a subscriber or an engineer, can easily lay out an intended electronic
program guide, and can easily update the electronic program guide in the future so as to achieve the effect of better customization in the design of the electronic program guide.
Brief Description of Drawings Other features and advantages of the present invention will become apparent in the following detailed description of the preferred embodiment with reference to the accompanying drawings, of which: Figure 1 is a schematic diagram of a hierarchy of a conventional electronic program guide; Figure 2 is a schematic view of a framework for realizing the preferred embodiment of a system according to the present invention; Figure 3 is a schematic block diagram of the system of this embodiment; Figure 4 is a flowchart of the method of this embodiment; Figure 5 is a flowchart of the design of an electronic program guide in this embodiment; Figure 6 is a schematic diagram for illustrating basic keys of a remote controller for a set-top box in this embodiment; Figure 7 is a schematic diagram of an exemplary screen menu in this embodiment; Figure 8 is a schematic diagram of a first type electronic program guide element of this embodiment; Figure 9 is a schematic diagram for illustrating an activity of the first type electronic program guide element of this embodiment, a fourth element being moved to a second row of the first type electronic program guide element table;
Figure 10 is a schematic diagram for illustrating another activity of the first type electronic program guide element of Figure 8, the channel program number being larger than the row number of the first type electronic program guide element table, the fourth element being located at the lowermost row of the table; Figure 11 is a schematic diagram of a second type electronic program guide element of this embodiment; Figure 12 is a schematic diagram for illustrating an activity of the second type electronic program guide element of Figure 1 1 , a ninth element being moved to a second row of the second type electronic program guide element table; Figure 13 is a schematic diagram for illustrating another activity of the second type electronic program guide element of Figure 1 1 , the channel program number being larger than the row number of the second type electronic program guide element table, the ninth element being located at the lowermost row of the table; Figure 14 is a flowchart for illustrating encoding in this embodiment; Figures 15 and 16 respectively show two exemplary screen menus of a newly designed electronic program guide in this embodiment; Figure 17 is a schematic diagram illustrating a booting script file for the examples of Figures 15 and 16 after encoding; and Figure 18 is a flowchart for illustrating updating of a booting script file in this embodiment.
Best Mode for Carrying Out the Invention
The method of this invention is primarily realized in a computer- aided design (CAD) environment, and resides in an electronic data storage medium of a typical computer work platform. Figure 2 illustrates a typical computer platform 1 applied to computer-aided design operations. The computer platform 1 is stored with various computer-aided design tools having image design tools, and comprises a display device 100, a keyboard 101 serving as a user input unit, and a host 103. Many components, such as a floppy disk drive, an optical disk drive, a hard disk drive, a processor, a memory, etc., are installed in the host 103. A CAD tool that includes the method of this invention can be stored in different storage devices during use, and can be retrieved from the storage devices. Moreover, since a booting script file that defines the manner of presenting an electronic program guide is generally stored in a set-top box 2, in order to facilitate and permit transmission of a new booting script file generated by the method of this invention to the set-top box 2 for executing an updating operation, the computer platform 1 further has an output portion 14 (see Figure 3) for transmitting the newly generated booting script file to the set-top box 2. The output portion 14 can be a wired cable, such as an Ethernet cable 201 , for interconnecting the computer platform 1 and the set-top box 2, or the same type of a portable storage medium read/write device, such as a security disk (SD) card reader 104, 202, provided on both the computer platform 1 and the set-top box 2. Referring to Figure 3, when the computer work platform 1 of
Figure 2 realizes the method of this invention, the processing system will be configured to include an event processing unit 11 , a database
12, an encoding unit 13, an output portion 14 that can be an Ethernet cable 201 or an SD card reader 104, an input unit 15 that can be a keyboard 101 , and a display unit 16 that can be a display device 100, the uses thereof to be detailed in the following paragraphs. Moreover, when the set-top box 2 realizes the method of this invention, the processing system will be configured to include an update unit 21 , a database 22, and an input portion 23 that can be an Ethernet cable 201 or an SD card reader 104, the uses thereof to be detailed in the following paragraphs. The database 22 stores an operating system, which includes a booting script file, of the set-top box 2. Figure 4 is a flowchart illustrating the preferred embodiment of the method for creating a customized electronic program guide for a digital television according to this invention. This embodiment mainly includes three major procedures. In step 3, through a graphical user interface, an electronic program guide for showing relevant program information of a plurality of channels is first designed. The electronic program guide has at least one screen menu. The screen menu has at least one element. Then, in step 4, the electronic program guide is encoded into a booting script file. Finally, in step 5, the newly created booting script file is used to update a booting script file in the set-top box 2. A detailed flow of the three steps 3, 4, 5 will be described in sequence in the following description. It is evident to those skilled in the art that only steps 3 and 4 are essential in practice for creating a customized electronic program guide. Therefore, step 5 can be added or omitted whenever appropriate. For instance, the electronic program guide created by the manufacturer can be directly installed in the set- top box 2, such that the invention should not be limited by the
disclosure of this embodiment. Herein, Figure 5 is first referred to for an introduction to the design of an electronic program guide in step 3. When designing an electronic program guide, apart from the need to design the contents presented thereby, it is further needed to define whether changes in accordance with control commands of a subscriber are allowed so that the subscriber is able to manipulate the electronic program guide. The subscriber generally issues control commands to the set-top box 2 through a remote controller. Figure 6 introduces basic keys of a remote controller 20. Key 2001 of the remote controller 20 is a power source key 2001 for controlling power source activation and deactivation of the set-top box 2. Keys 2000, 2002, 2006, 2007 are direction keys respectively used for controlling upward, rightward, leftward, and downward item selection movement. Key 2005 represents a confirmation key to confirm a selected item. Keys 2003, 2004 are keys respectively used for controlling to a previous program channel or a next program channel. Keys 2008 are a key set for inputting numbers. Keys 2009, 2010 are hot keys. First, in step 31 , a screen menu is initially generated, such as a rectangular screen menu 1001 shown in Figure 7. The screen menu 1001 serves as a layout board for placing elements (to be described hereinafter). Moreover, since an electronic program guide may have a plurality of screen menus 1001 , for the sake of sufficient identification, in this example, each screen menu 1001 has a unique identification code (ID). In addition, if the screen menu 1001 is a root screen menu, the identification code thereof is predefined to be ID0. The root screen menu is the first screen menu that appears when the set-top box 2 is
booted. In this example, setting of the identification code of a screen menu 1001 is generated automatically by the system. However, the value thereof can be changed by a designer as required. In this embodiment, the designer can be an electronic program guide design engineer or a subscriber. The database 12 has a screen menu sample previously stored therein. In detail, when the designer inputs a command for generating a screen menu, the event processing unit 1 1 will first retrieve a screen menu sample from the database 12 according to the command, and a screen menu 1001 is shown on the display unit 16. When generating a new screen menu 1001 , the designer is initially required to define properties of the screen menu 1001 in step 32. The properties of the screen menu 1001 include background color, and height and width of the screen menu 1001 on a television screen. Therefore, the background color and size of the screen menu 1001 can be changed in accordance with subscriber preference and design requirements. The designer can use the input unit 15 to input setup contents of the properties, and the event processing unit 1 1 will change the presentation manner of the screen menu 1001 on the display unit 16 according to the setup contents. Next, in step 33, it is determined whether the designer has generated a new element on the screen menu 1001. There are many types of elements to be generated available for selection by the designer. The basic element types provided in this embodiment include a channel program video show window element 1003, a program introduction element 1002, a program name and time element 1004, a fixed header element 1005, a current time element 1006, an
electronic program guide element 1007, a linking element 1008, a picture element 1009, etc., which are provided for selection by the designer for laying out on the screen menu 1001. Samples of these elements 1002 ~ 1008 are stored in the database 12, and the functions thereof will be described hereinafter. If it was determined in step 33 that a new element was indeed generated on the screen menu 1001 , it is required in step 34 to define the properties of the new element. When step 34 is finished, the flow jumps back to step 33, thus repeating generation of an element on the screen menu 1001 , until laying out of elements on the screen menu 1001 is completed. Therefore, if the designer uses the input unit 15 to select generation of an element, the event processing unit 1 1 will retrieve a sample corresponding to the selected element from the database 12 for presentation on the display unit 16. Thereafter, the designer can use the input unit 15 to define properties of the element, and the event processing unit 1 1 will change the presentation manner of the element on the display unit 16 correspondingly, so that the designer can obtain the design outcome in real-time through the presented image on the display unit 16, and can decide to maintain or readjust the settings of the properties, thereby achieving the effect of effective assisted design. On the other hand, if it was determined in step 33 that no new element is generated on the screen menu 1001 , the flow jumps to step 35 for defining a linking relation between this screen menu 1001 and an existing screen menu. Through the definition of the linking relation, each screen menu 1001 can possibly be a father or child screen menu. For instance, it is assumed that there are screen menus 101 1 having
identification codes IDO, ID1 , respectively. When the set-top box 2 receives a control command from the remote controller 20 for switching the screen menu 1001 with the identification code IDO to the screen menu 1001 with the identification code ID1 , the screen menu 1001 with the identification code IDO is the father screen menu, while the screen menu 1001 with the identification code ID1 is the child screen menu. On the other hand, when the set-top box 2 receives another control command from the remote controller 20 for switching the screen menu 1001 with the identification code ID1 to the screen menu 1001 with the identification code IDO, the screen menu 1001 with the identification code ID1 is the father screen menu, while the screen menu 1001 with the identification code IDO is the child screen menu. After step 35, step 36 is executed so as to determine whether a new screen menu 1001 is to be generated. If it was determined in step 36 that generation of a new screen menu 1001 is to be continued, the flow jumps back to step 32 so as to repeat the steps of defining properties of the new screen menu 1001 and element layout. In this manner, the aforesaid steps can be repeated to continue generating a new screen menu 1001 , until generation of a new screen menu 1001 is no longer intended. Therefore, if the determination made in step 36 is a no, the design of the electronic program guide is terminated, and the flow continues to the next procedure to begin encoding. Before introducing the encoding procedure, an introduction to the various types of the elements 1002 ~ 1008 and the properties that need to be defined is first provided herein. If it is required to lay out a window for showing programs on the
screen menu 1001 , generation of a channel program video show window element 1003 can be selected in step 33. Thereafter, in step 34, the properties of the channel program video show window element 1003 that need to be defined include scale size and position of the channel program video show window element 1003 on the screen menu 1001 . Moreover, in this embodiment, a default property of the channel program video show window element 1003 is that the channel program which is being shown can be selected under the control of the keys 2003, 2004 and 2008 of the remote controller 20. When the set-top box 2 receives a control command generated as a result of pressing the key 2003 of the remote controller 20, the channel program in the channel program video show window element 1003 will be switched to the program of a previous channel. In general, the channel number is reduced, e.g., switching from an original channel 2 to channel 1. When the set-top box 2 receives a control command generated as a result of pressing the key 2004 of the remote controller 20, the channel program in the channel program video show window element 1003 will be switched to the program of a next channel. In general, the channel number is increased, e.g., switching from an original channel 2 to channel 3. When the set-top box 2 receives a control command generated by the key 2008 of the remote controller 20, the channel program in the channel program video show window element 1003 will be switched to a channel program with a channel program number that is the same as the numerical value inputted through the key 2008. Of course, the keys 2003, 2004, 2008 of the remote controller 20 for switching the channel program in the channel program video show window element 1003 can be changed
as required by the designer. If it is desired to make a text introduction of the channel program shown in the channel program video show window element 1003, generation of a program introduction element 1002 on the screen menu 1001 can be selected in step 33 for displaying the introduction to the channel program in the channel program video show window element 1003. Similarly, in step 34, the properties of the program introduction element 1002 that need to be defined include font type, character size, character color, boundary of the program introduction element 1002 on the screen menu 1001 (that is, the scale size of the program introduction element 1002), position of the program introduction element 1002 on the screen menu 1001 , and background color within the boundary of the program introduction element 1002. In this embodiment, the default properties of the program introduction element 1002 include the limitation that only one program introduction element 1002 can be placed on the screen menu 1001 , and, if the introductory content of the channel program exceeds the boundary of the program introduction element 1002, the program introduction element 1002 will show the introduction to the channel program line by line in turns within the boundary thereof. If it is desired to show the name and show time of the channel program in the channel program video show window element 1003 on the screen menu 1001 , generation of a program name and time element 1004 can be selected in step 33. Thereafter, in step 34, the properties of the program name and time element 1004 that need to be defined include font type, character size, character color, position of the program name and time element 1004 on the screen menu 1001 ,
and background color within the boundary of the program name and time element 1004. If it is needed to lay out a header on the screen menu 1001 , generation of a fixed header element 1005 on the screen menu 1001 can be selected in step 33. Thus, in step 34, the properties of the fixed header element 1005 that need to be defined include content of the header, such as "Channel Information", font type, character size, character color, position of the fixed header element 1005 on the screen menu 1001 , and background color within the boundary of the fixed header element. If it is required to show a current time on the screen menu 1001 , the designer can opt to design a current time element 1006 in step 33. Thereafter, in step 34, the properties of the current time element 1006 that need to be defined at least include font type, character size, character color, position of the current time element 1006 on the screen menu 1001 , and background color within the boundary of the current time element 100. Moreover, the designer is able to change the presentation manner of the time in the current time element 1006 as required. If it is intended to display relevant program information of all channels on the screen menu 1001 , creation of an electronic program guide element 1007 can be selected in step 33. In this embodiment, two types of electronic program guide elements are provided for selection by the designer when making the electronic program guide element 1007. The first type electronic program guide element 1007 serves to show present programs (as shown in Figure 8), whereas the second type electronic program guide element 1007 serves to show
present and future programs (as shown in Figure 11 ). Moreover, only one electronic program guide element 1007, which is one of the aforesaid two types, can exist on a screen menu 1001 . Figure 8 shows the first type electronic program guide element, which shows only present programs of all channels. The first type electronic program guide element includes a first element 1013 for showing channel names, a second element 1012 beside the first element 1013 for showing the names and show times of present programs associated with the channels, and a third element 1011 above the first and second elements 1013, 1012 for indicating headers of the elements 1013, 1012. In this example, the first element 1013, the second element 1012 and the third element 101 1 are integrated in a table, wherein the header row of the table is the third element 1013, and there are three columns. The first column is provided for placing the channel names of the first element 1013. The second and third columns are provided respectively for placing the present program names and show times of the second element 1012. In each row, the program name and show time shown in the second element 1012 is associated with the channel name in the same row of the first element 1013. That is, the program name and show time shown in the second element 1012 is the present program being shown by the channel having the channel name in the same row of the first element 1013. In addition, the first type electronic program guide element further includes a fourth element 1014 for marking a selected program. The fourth element 1014 of this example is a frame line that surrounds the first and second elements 1013, 1012 associated with the selected program. The properties of the first type electronic program guide
element that need to be defined include position of the first type electronic program guide element, a specified row number of the table that simultaneously includes the first and second elements 1013, 1012, and whether or not to accept a control command generated as a result of pressing the key 2005 of the remote controller 20, i.e. , whether or not an action is to be made in response to the control command generated as a result of pressing the key 2005. If it is decided that the first type electronic program guide element can accept the control command generated by the key 2005 of the remote controller 20, the event processing unit 1 1 can automatically generate a new screen menu or must link to an existing screen menu. The new screen menu is used to show information relevant to the program selected by the fourth element 1014. Thus, the new screen menu must include at least one of a program introduction element 1002 and a channel program video show window element 1003, or both. Moreover, the properties of the elements 1013, 1012, 101 1 in the first type electronic program guide element that need to be defined include font type, character size, character color, and background color within the boundary of each element. It should be noted that the header content of the third element 101 1 can be changed in accordance with the designer's requirements, such as "Channel Name" being changed to "Channel Information". The fourth element 1014 is defaulted to move in response to control of the keys 2000, 2007 of the remote controller 20 for movement. If the set-top box 2 receives a control command generated by the key 2007 of the remote controller 20, as shown in Figure 9, the fourth element 1014 moves down one row to mark the program of the
first and second elements 1013 and 1012 of the next row as the selected program. Moreover, the row number of the first electronic program guide element has an upper limit that is limited by the height of the screen menu 1001 and the position of the first electronic program guide element on the screen menu 1001 . Assuming that the number of programs is larger than a specified row number (such as 5) of the first type electronic program guide element, and that the fourth element 1014 is located at a lowermost row of the table, if a control command from the key 2007 of the remote controller 20 is received once more, as shown in Figure 10, the first and second elements 1003 and 1012 will shift upward in their entirety such that a channel program that was not originally shown appears at the lowermost row, whereas a channel program originally in the first row disappears. It should be noted that the number of channel programs is not necessarily all of the programs provided by a digital television service provider, and can be limited to the program number carried by a single MPEG transport stream. The second type electronic program guide element is used to show all present and future programs during a specified period starting from the current time. Referring to Figure 1 1 , in this embodiment, the specified period is one week, and the second type electronic program guide element shows the programs of all of the channels within one week. The second type electronic program guide element includes a fifth element 1019 for showing the channel names, a sixth element 1018 beside the fifth element 1019 for showing all program names within one week that are associated with the corresponding channels, a seventh element 1017 above the sixth
element 1018 for showing time points within one week, and an eighth element 1016 disposed above the seventh element 1017 for showing dates within one week. In this embodiment, the seventh element 1017 shows a 24-hour time format, such as "23:00". The eighth element 1016 shows the month, day of the month, and day of the week of the date, such as "07/29(Tuesday)'\ Like the first type electronic program guide element, the second type electronic program guide element includes a ninth element 1020 for marking a selected program. The ninth element 1020 is a frame line that surrounds a selected program of the fifth element 1018. In this embodiment, the ninth element 1020 is defaulted to respond to control commands of the keys 2000, 2002, 2006, 2007 of the remote controller 20 so as to be able to move upward, downward, leftward and rightward. For instance, when the set-top box 2 receives the control command from the key 2007 of the remote controller 20, as shown in Figure 12, the ninth element 1020 moves downward. The properties of the second type electronic program guide element that need to be defined include its position, a specified row number of the fifth element 1019, and whether or not to accept a control command generated by the key 2005 of the remote controller 20. If it was set that the second type electronic program guide element can accept the control command from the key 2005 of the remote controller 20, the event processing unit 1 1 will automatically generate a new screen menu for showing relevant information of the selected program. This new screen menu must include a program introduction element 1002. Similarly, the properties of the elements 1019, 1018, 1017, 1016 in the second type electronic program guide element that need to be
defined include font type, character size, character color, and background color within the boundary of each element. Moreover, the row number or width of the table of the second type electronic program guide element has an upper limit that is limited by the height or width of the screen menu 1001 and the position of the second type electronic program guide element on the screen menu 1001 . Therefore, the fifth element 1019 or the sixth element 1018 is defaulted to move appropriately in its entirety in accordance with movement of the ninth element 1020. For instance, assuming that the number of programs is larger than the specified row number, and that the ninth element 1020 is located at the lowermost row of the table, if a control command was received from the key 2007 of the remote controller 20, as shown in Figure 13, the fifth and sixth elements 1019, 1018 will shift upward in their entirety such that a channel program that was not originally shown appears at the lowermost row, whereas a channel program that was originally at the first row disappears. If it is needed for a screen menu 1001 with an identification code, such as ID N, to be able to link to a screen menu 1001 with another identification code, such as ID X, in step 33, the designer can opt to generate a linking element 1008. Of course, in step 34, the properties of the linking element 1008 that need to be defined include specifying the screen menu 1001 with the linked identification code such as ID X, and specifying which one of the control commands generated when the hot key 2009 or 2010 of the remote controller 20 is pressed can switch to the screen menu 1001 with the linked identification code such as ID X. In this embodiment, a linking element
1008 for the screen menu 1001 with the linked identification code such as ID X will be automatically generated to specify linking to the screen menu 1001 with the identification code such as ID N. Therefore, the two screen menus with the identification codes such as ID N, ID X are deemed to be one unit. If there is only one root screen menu with the identification code IDO in the electronic program guide, there will not be any linking element 1008 in the screen menu. In addition, aside from being able to use a linking element 1008 to establish a link between two screen menus 1001 , some of the elements also have the function of linking two screen menus 1001. For instance, the electronic program guide element 1007 is configured so as to be able to accept the control command from the key 2005 of the remote controller 20. When the control command of the key 2005 is received, the generated screen menu can have a linking relation only with its father screen menu 1001 (that is, the screen menu 1001 including the electronic program guide element 1007). To enrich the image of the screen menu 1001 , in step 33, creation of a picture element 1009 can be selected. Thereafter, in step 34, the properties of the picture element 1009 that need to be defined include source of the picture, file format (such as bmp, gif, etc.) of the picture, boundary of the picture element 1009 on the screen menu 1001 (that is, size of the picture element 1009), position of the picture element 1009 on the screen menu 1001 , and transparency setting. It should be noted that this embodiment can provide a template, such as that shown in Figure 7, so that the designer makes modifications on the basis of the template. Alternatively, after the designer has finished compiling the layout of a new electronic
program guide, the latter can be stored in a template format in the database 12, thereby permitting its use during future design of an electronic program guide. When the designer has designed the desired electronic program guide using the aforesaid elements with reference to Figure 5, the encoding unit 13 begins the encoding procedure 4 of Figure 4. Refer to Figure 14 for an introduction to the encoding procedure of this embodiment. Initially, in step 41 , the encoding unit 13 first creates a file to record all designs in the aforesaid electronic program guide design steps. This file is intended to serve as a booting script file for the set- top box 2, and has a format similar to that of the booting script file in the set-top box 2, such as *.ROM. Next, in step 42, the encoding unit 13 records the total number of the screen menus 1001 in the electronic program guide. In this embodiment, a tag, such as "Number of Screen Menus", is added to indicate in the booting script file the total number of the screen menus 1001 . Finally, in step 43, the encoding unit 13 records the properties of each screen menu 1001 and each element. In this embodiment, the unique identification code ID of each screen menu 1001 and a tag, such as "Screen Menu ID", are applied to distinguish among the different screen menus 1001 , and to start recording the properties belonging to the screen menus 1001 and the properties of all elements of the screen menus 1001. Therefore, three initial start tags, i.e., (Background Color), (Width) and (Height), describe the properties of the screen menu 1001. The following tag, such as (Element 1003),
denotes the start of recording the properties belonging to a channel program video show window element 1003. Upon completion of encoding of all of the properties of the electronic program guide in step 43, a booting script file is formed, and the encoding procedure is terminated. In the following, referring to Figure 7 and the aforesaid definitions of the properties, the description manner of program codes after encoding by the encoding unit 13 is introduced. Taking the screen menu 1001 as an example, the encoding unit 13 will first generate the tag (Element 1001 ) to announce the screen menu 1001 , and subsequently uses the tags (Background Color), (Width) and (Height) for recording the background color and the width and height on a television screen, respectively. As for the program introduction element 1002, the encoding unit 13 first uses the tag (Element 1002) to announce the program introduction element 1002, and subsequently uses the tags (Font Type), (Character Size), (Character Color), (Width), (Height), (Position X), (Position Y) and (Background Color) for recording the font type, character size, character color, the boundary of the program introduction element 1002 on the screen menu 1001 , the position of the program introduction element 1002 on the screen menu 1001 , and the background color within the boundary of the program introduction element 1002. As for the channel program video show window element 1003, the encoding unit 13 first uses the tag (Element 1003) to announce the channel program video show window element 1003, and subsequently uses the tags (Scale Size), (Position X) and (Position Y) for describing the video scale size and the position on the screen
menu 1001. At the same time, if the (Scale Size) equals 1 , this means that compression of the video size is not needed. As for the program name and time element 1004, the encoding unit 13 first uses the tag (Element 1004) to announce the program name and time element 1004, and then uses the tags (Font Type), (Character Size), (Character Color), (Position X), (Position Y) and (Background Color) for describing the font type, character size, character color, the position of the program name and time element 1004 on the screen menu 1001 , and the background color within the boundary of the program name and time element 1004. As for the fixed header element 1005, the encoding unit 13 will first use the tag (Element 1005) to announce the fixed header element
1005, and then uses the tags (Content), (Font Type), (Character Size), (Character Color), (Position X), (Position Y) and (Background Color) for describing the header content, font type, character size, character color, the position of the fixed header element 1005 on the screen menu 1001 , and the background color within the boundary of the fixed header element 1005. As for the current time element 1006, the encoding unit 13 will first use the tag (Element 1006) to announce the current time element
1006, and then uses the tags (Font Type), (Character Size), (Character Color), (Position X), (Position Y) and (Background Color) for describing the font type, character size, character color, the position of the current time element 1006 on the screen menu 1001 , and the background color within the boundary of the current time element 1006. As for the electronic program guide element 1007, the encoding
unit 13 first uses the tag (Element 1007) to announce the electronic program guide element 1007, and then uses the tags (Option), (Number of Rows), (Receiving Element 2005 Message), (Linked Screen Menu ID), (Position X) and (Position Y) for describing a selected type (i.e., 1 represents first type, 2 represents second type) for the electronic program guide element 1007, the number of rows, whether or not to accept a control command from the key 2005 of the remote controller 20 (i.e., Yes represents accept, No represents otherwise), the identification code ID of the linked screen menu when the control command from the key 2005 is accepted, and the position of the electronic program guide element 1007 on the screen menu 1001. In the case of a first type electronic program guide element, such as (Option) 1 , the encoding unit 13 uses the tags (101 1 -1 Content), (101 1 -2 Content), (101 1 -3 Content), (101 1 Font Type), (101 1 Character Size), (101 1 Character Color), (101 1 Background Color), (1012 Font Type), (1012 Character Size), (1012 Character Color), (1012 Background Color), (1013 Font Type), (1013 Character Size), (1013 Character Color) and (1013 Background Color) to describe the header content of the third element 101 1 , the font types, character sizes, character colors, and the background colors within the boundaries of the first, second and third elements 1013, 1012, 1011. In the case of a second type electronic program guide element, such as (Option) 2, the encoding unit 13 uses the tags (1016 Font Type), (1016 Character Size), (1016 Character Color), (1016 Background Color), (1017 Font Type), (1017 Character Size), (1017
Character Color), (1017 Background Color), (1018 Font Type), (1018 Character Size), (1018 Character Color), (1018 Background Color), (1019 Font Type), (1019 Character Size), (1019 Character Color) and (1019 Background Color) to describe the font types, character sizes, character colors, and the background colors within the boundaries of the fifth, sixth, seventh and eighth elements 1019, 1018, 1017, 1016. As for a linking element 1008, the encoding unit 13 first uses the tag (Element 1008) to announce the linking element 1008, and then uses the tags (Linked Screen Menu ID) and (Hotkey), wherein the identification code is used to describe the linked screen menu, and wherein the hotkey 2009 or 2010 of the remote controller 20 that is used to control switching to the linked screen menu is described. As for a picture element 1009, the encoding unit first uses the tag (Element 1009) to announce the picture element 1009, and then uses the tags (Picture ID), (Picture Type), (Width), (Height), (Position X), (Position Y) and (Transparency Setting) for describing the source of the picture, the file format of the picture, the boundary of the picture element 1009 on the screen menu 1001 , the position of the picture element 1009 on the screen menu 1001 , and the transparency setting. The tag (Picture ID) indicates a designated picture during design. As such, the booting script file includes the picture source, and different tags (Picture ID) correspond to different picture sources. The following example is provided based on the aforesaid introduction on the design and encoding of an electronic program guide. Figures 15 and 16 illustrate a new electronic program guide, that includes two screen menus 1001 ', 1001 ", and that was designed according to the layout procedure. The screen menu 1001 ' is a root
screen menu and its identification code ID is 0. The identification code ID of the other screen menu 1001 " is 1. The screen menu 1001 ' with the identification code IDO has a channel program video show window element 1003' and a fixed header element 1005'. The fixed header element 1005' is used to describe a message, i.e., one can switch to another screen menu when the H1 key 2009 of the remote controller 20 is pressed. The screen menu 1001 " with the identification code ID1 has a channel program video show window element 1003" and an electronic program guide element 1007". There exists a linking relation between the screen menus 1001 ', 1001 ". When the set-top box 2 receives the control command generated by the key 2009 of the remote controller 20, the screen menu 1001 ' with the identification code IDO will be switched to the screen menu 1001 " with the identification code ID1 . When the set-top box 2 receives the control command generated by the key 2005 of the remote controller 20, the screen menu 1001 " with the identification code ID1 will be switched to the screen menu 1001 ' with the identification code IDO. After defining the properties of the screen menus 1001 ', 1001 " and the elements 1003', 1003", 1005', 1007", the encoding unit 13 executes the encoding procedure so as to form a booting script file, such as that shown in Figure 17. Therefore, since the designer is able to load samples of the required elements from the database 12 to lay out a new electronic program guide during the design procedure, the designer only has to define properties of each element and does not need to write programs. At the same time, the effect after defining the properties of the elements can be presented on the display unit 16 in real-time so
as to enable the designer to evaluate the design effect in real-time and to make appropriate adjustments in real-time. In this manner, the designer is able to design the required electronic program guide easily through the graphical user interface. Thereafter, the encoding unit 13 will automatically encode the new electronic program guide that was laid out into a booting script file. As a result, complexity in electronic program guide design is significantly reduced, and it is possible for anyone to easily apply the method of this invention in designing a desired customized electronic program guide. Thereafter, when the design and encoding of an electronic program guide are completed, a new booting script file will be formed. This booting script file can be installed in a set-top box 2 before delivery of the set-top box 2. However, it is preferable that the electronic program guide in the set-top box 2 can be updated to meet the designer's need whenever appropriate after delivery of the set-top box 2. Therefore, the method of this embodiment further includes a step 5 in Figure 4 to assist the set-top box 2 for automatic updating of the booting script file. The procedure for updating a booting script file will be described in the following with reference to Figure 18. In step 51 , the computer work platform 1 transmits the encoded booting script file to the set-top box 2 through the output portion 14 and the input portion 23 of the set-top box 2 so as to enable the set- top box 2 to download the booting script file. During transmission of the booting script file, the transmission specification of the output portion 14 is the same as that of the input portion 23. In this embodiment, the output portion 14 and the input portion 15 can transmit the booting script file through the SD card readers 104, 202
or the Ethernet cable 201 . Next, the update unit 21 first parses the booting script file in step 52, and then connects to the database 22 in step 53. Thereafter, in step 54, the update unit 21 updates the old booting script file in the database 22 so that the new booting script file from the computer work platform 1 replaces the old booting script file stored in the database 22. After completing the aforesaid steps, the set-top box 2 is rebooted, and the newly designed electronic program guide starts to work until a subsequent new booting script file is loaded into the set-top box 2. In this manner, the drawback of difficulty in updating the booting script file of a conventional set-top box 2 can be overcome. The designer can easily replace an old electronic program guide in the set-top box 2 with a personally designed customized electronic program guide. Hence, designers, such as end users, can apply this invention appropriately to change the layout design of electronic program guides, thereby meeting customization demands of users. In sum, in contrast with the use of compiling an electronic program guide through programming languages in the prior art, this invention provides a user-friendly graphical user interface for a designer to design a desired electronic program guide with ease, and then encodes the electronic program guide automatically into a booting script file that can be decoded by a set-top box 2. Hence, the complexity in electronic program guide design is significantly reduced, and any person can easily design a customized electronic program guide. Afterwards, the new booting script file can be transmitted to the set-top box 2 with ease for updating an old booting script file automatically so as to allow the user to update the electronic program
guide of the set-top box 2 appropriately with a customized electronic program guide designed according to personal preference. While the present invention has been described in connection with what is considered the most practical and preferred embodiment, it is understood that this invention is not limited to the disclosed embodiment but is intended to cover various arrangements included within the spirit and scope of the broadest interpretation so as to encompass all such modifications and equivalent arrangements.
Industrial Applicability The present invention can be used in a digital television.