Program schedule generating device and program schedule generating method

A program schedule generating device includes a program schedule individual data generating unit that generates program schedule individual data including graphics rendering definitions for using raw material data to form images indicating display information, and raw material data reference information indicating the positions on video memory at which the raw material data used in the graphics rendering definitions are stored, a program schedule display list generating unit that generates a program schedule display list indicating the positions at which to display the image rendered on the basis of the program schedule individual data for each item of the program schedule individual data, and a rendering unit that renders the image for each program by use of the raw material data on the basis of the program schedule individual data and places the rendered image on the basis of the program schedule display list, thereby generating the screen data for a program schedule screen.

FIELD OF THE INVENTION

The present invention relates to a program schedule generating device and a program schedule generating method.

BACKGROUND ART

In digital broadcasting, each broadcast station can transmit program data on its broadcast signal, so receiving devices generally have a function for displaying the program schedule of each broadcast station as an electronic program guide on a television screen or the like.

An electronic program guide can be used to display, in addition to an electronic program schedule, the title and air time of the currently tuned program, summaries of programs and their performers, program reservations, and so on. In particular, an electronic program schedule enables the program information for multiple broadcast stations in a desired time slot to be displayed, which is useful in checking broadcast schedules and searching for programs.

A technique for preventing user operations on an electronic program schedule from being interrupted by update of the electronic program schedule is disclosed in Patent Reference 1. The electronic program schedule generating device disclosed in Patent Reference 1 is configured so as not to execute update processing on the electronic program schedule while the user continues to operate on the electronic program schedule. Therefore, the technique disclosed in Patent Reference 1 can enhance operability by preventing user operations from being temporarily interrupted by electronic program schedule update processing.

PRIOR ART REFERENCES

Patent Documents

SUMMARY OF THE INVENTION

Problem to be Solved by the Invention

With the technique described in Patent Reference 1, however, there is the possibility that if a program broadcast ends while the user is carrying out an operation on the electronic program schedule, the content of the currently displayed electronic program schedule may differ from the current broadcast program content.

Furthermore, the time slots or broadcast stations displayed on an electronic program schedule can generally be changed by scrolling the displayed content with key operations or the like. However, since an electronic program schedule has a large amount of information to display, changing the display screen by generating screen data from scratch requires much time. Accordingly, a user who, for example, makes a mistake in a key operation and must perform the key operation again after the display screen has changed experiences much stress on account of the slow response of the display.

It is therefore an object of the present invention to reduce the processing load and processing time associated with electronic program schedules, thereby enabling the more responsive display of electronic program schedules.

Means for Solving the Problem

A program schedule generating device according to an embodiment of the invention includes: a video memory for storing raw material data that are vector data for image rendering; a program information storing unit for storing program data generating information including display information to be displayed for each program in a program schedule; a program schedule individual data generating unit for generating program schedule individual data for each program, including graphic rendering definitions for using the raw material data to form an image indicating the display information, and raw material data reference information indicating storage locations, in the video memory, of the raw material data used in the graphic rendering definitions; a program schedule display list generating unit for generating a program schedule display list indicating, for each of the program schedule individual data, a position at which to place the image rendered on a basis of the program schedule individual data; and a rendering unit for rendering the image for each program by use of the raw material data on the basis of the program schedule individual data and placing the rendered image on a basis of the program schedule display list, thereby generating screen data for a program schedule screen.

Effects of the Invention

According to an embodiment of the invention, the processing load and processing time associated with electronic program schedules can be reduced, so electronic program schedules can be displayed more responsively.

MODE FOR CARRYING OUT THE INVENTION

FIG. 1is a block diagram showing the schematic configuration of a program schedule generating device100in an embodiment. The program schedule generating device100includes a reception processing unit101, a program information receiving unit102, an operation receiving unit103, a vector data management information storing unit104, a program information storing unit105, a data storing unit106, a base data storing unit107, a control unit108, a clock113, a video memory114, a rendering unit115, and a display unit116. The reception processing unit101and program information receiving unit102constitute a program information acquisition unit.

The reception processing unit101generates a TS (Transport Stream) as a digital signal from a radio signal received by an antenna, not shown in the drawings, and separates SI (Service Information), which is program table information, from the TS. Then the reception processing unit101sends the separated SI to the program information receiving unit102. Here, for example, the TS generated by the reception processing unit101is an MPEG-2 (Moving Picture Experts Group 2) TS.

The program information receiving unit102acquires program information necessary to configure a program schedule from the SI. The program information includes information related to programs to be broadcast. The program information receiving unit102sends the acquired program information to the control unit108. Here, in this embodiment, the program information includes at least a TOT (Time Offset Table), an EIT_p/f (Event Information Table present/following), and an EIT_s (Event Information Table schedule). The TOT includes information regarding the current time and date and information indicating offset times for daylight saving time implementation. From among the information in the EIT (Event Information Table), which gives program names, broadcast dates and times, program content, and other program related information, the EIT_p/f includes information indicating the current programs (present) and the next programs (following). The EIT_s is schedule information in the EIT; it includes, for example, an eight-day program schedule.

The operation receiving unit103accepts input from user operations. The operation receiving unit103can be implemented by, for example, a key input device (a keyboard, a touch panel, a remote control, etc.), a pointing device (a mouse, etc.), or an interface having functions for communicating with an external device. The operation receiving unit103then notifies the control unit108of the user operation information of which it has accepted input.

The vector data management information storing unit104stores a raw material data expansion table120indicating relationships between raw material vector data and addresses on the video memory114when the raw material vector data are expanded onto the video memory114and, when the raw material data are font data, a font table121indicating relationships between character codes in the font data and the addresses at which the glyph data of the character codes are stored in the font data.

FIG. 2is a schematic diagram showing an exemplary raw material data expansion table120. As shown, the raw material data expansion table120includes a raw material type field120a, a registration name field120b, and an expansion address field120c.

The raw material type field120cstores the raw material type, which is raw material identification information indicating whether the raw material data150, which are vector data, are font data, or path data other than font data.

The registration name field120bstores registration names, which are indexes unique to the raw material data150to be expanded onto the video memory114.

The expansion address field120cstores expansion addresses at which the raw material data150identified in the registration name field120bare expanded onto the video memory114.

When program schedule individual data160are generated as described later, the above indexes identify the addresses on the video memory114of the vector data (raw material data150) used in rendering.

The example inFIG. 2indicates that raw material A is raw material of the font data type, and that the vector data are registered with index ‘Font—001’ and expanded at address ‘0x06000000’ and addresses thereafter on the video memory114. This example also indicates that raw material B is raw material of the path data type, and that the vector data are registered with index ‘Path—001’ and expanded at address ‘0x07000000’ and addresses thereafter.

FIG. 3is a schematic diagram showing an exemplary font table130. As shown, the font table130includes a font ID field130a, a character code field130b, a reference address field130c, and a size field130d.

The font ID field130astores font IDs, which are font identification information for identifying font data. A font ID gives a three-digit number included in the index (registration name) of the font data registered in the raw material data expansion table120.

The character code field130bstores character codes, which are character identification information for identifying the characters included in the font data designated in the font ID field130a.

The reference address field130cstores reference addresses indicating the addresses on the font data at which the glyph data of the characters indicated by the character codes designated in the character code field130bare stored.

The size field130dstores the data size of the glyph data indicated by the character codes designated in the character code field130b.

The example inFIG. 3indicates that the hiragana character ‘o’ with character code ‘304A’ included in the font data ‘Font—003’ identified by font ID ‘003’ has glyph data with a size of ‘512’ bytes at font data address ‘0x000F4E20’. Similarly, the hiragana character ‘ga’ with character code ‘304C’ has glyph data with a size of ‘462’ bytes at font data address ‘0x000F51B0’.

Returning to the description ofFIG. 1, the program information storing unit105stores program schedule related information140including program data generating information which indicates the latest program information obtained from the program information receiving unit102and generation or non-generation of the program schedule individual data160for each program, and the display reference position of the program schedule.FIG. 4is a schematic diagram showing exemplary program schedule related information140. As illustrated, the program schedule related information140includes program data generating information including a program ID, broadcast station ID, broadcast station name, start time, end time, genre, title, program summary, and data address, and a display reference position including a broadcast station ID and time.

The program ID is an index assigned to each program.

The broadcast station ID is an index assigned to the broadcast station that broadcasts the program identified by the program ID.

The broadcast station name is the name of the broadcast station that broadcasts the program identified by the program ID.

The start time is the starting time of the program identified by the program ID.

The end time is the ending time of the program identified by the program ID.

Here, the start time and end time define the airtime of the program identified by the program ID.

The genre is category information for the program identified by the program ID, indicating a category such as movie, sports, or news, for example.

The title is the name of the program identified by the program ID.

The program summary is information that indicates the content of the program identified by the program ID. The program summary includes performers etc. in the program identified by the program ID.

The above information, from the program ID to the program summary, is extracted from the program information sent from the program information receiving unit102, and is stored in the program data generating information for each program. Since a program schedule displays titles and program summaries, the titles and program summaries constitute the display information.

The data address represents the address on the video memory114when the program schedule individual data160corresponding to the program identified by the program ID are stored on the video memory114as described later.

The display reference position indicates a broadcast station and time that are used as a reference for display of the program schedule. The display reference position is, for example, information that indicates the upper left display starting position in the actually displayed screen display region in the program schedule. In this embodiment, the display starting position of the screen display region is indicated by a broadcast station ID and time.

Returning to the description ofFIG. 1, the data storing unit106stores multiple items of raw material data150for generating images of the component parts that constitute the screen data of the program schedule screen. The raw material data150are, for example, vector data including vector graphics data for icon data and logo marks and vector font data (outline font data). It will be assumed that unique three-digit numbers are individually assigned to the graphics data and font data as data identification information.

The base data storing unit107stores generating rule information that indicates generating rules to be applied in generating the image for each program in a program schedule screen. The generating rule information includes, for example, information designating a background color for each genre in the image of each program, information designating font IDs and character sizes of characters used in the program schedule, information designating the placement of the channel corresponding to the broadcast station ID indicated by the display reference position, reference positional information indicating the reference position (e.g., x=260 pixels, y=260 pixels) of the screen display region, etc. The base data storing unit107also stores display parameters indicating the width per broadcast station and height per hour when images are generated for each program. The base data storing unit107further stores channel information indicating broadcast station IDs and, in association therewith, the channels used by the broadcast stations identified by the broadcast station IDs.

The control unit108exercises general control over the processing in the program schedule generating device100. For example, the control unit108generates a display list and individual data for configuring the screen data of the program schedule screen, and updates the display list. Here, the control unit108includes a program schedule control unit109, a program schedule individual data generating unit110, a program schedule display list generating unit111, and a program schedule display list updating unit112.

The program schedule control unit109controls the overall program schedule display processing. For example, the program schedule control unit109notifies the rendering unit115of display instructions, thereby causing the display unit116to display a program schedule screen. The program schedule control unit109also notifies the rendering unit115of switch-over instructions, thereby changing the screen displayed on the display unit116. In addition, the program schedule control unit109executes processing corresponding to the content of operations accepted as input by the operation receiving unit103.

To generate program schedule individual data160for each program, the program schedule individual data generating unit110uses the program schedule related information140stored in the program information storing unit105and the address information stored in the raw material data expansion table120stored in the vector data management information storing unit104, giving the addresses of the raw material data150on the video memory114. The program schedule individual data generating unit110stores the generated program schedule individual data160in the program schedule individual data area114ein the video memory114, as described later (seeFIG. 9).

FIG. 5is a schematic diagram showing exemplary program schedule individual data160. As shown in the diagram, the program schedule individual data160include first header information160a, second header information160b, graphic rendering definitions160c, and a raw material data reference table160d.

The first header information160aindicates the offset address from the top of the program schedule individual data160to the top of the raw material data reference table160d.

The second header information160bindicates the offset address from the top of the program schedule individual data160to the top of the vector data area114f, which will be described later (seeFIG. 9), in the video memory114.

The graphic rendering definitions160crepresent rendering definitions for rendering an image for each program by use of the raw material data150constituting the program schedule individual data160. The graphic rendering definitions160cinclude, for example, placement information, ID information, depth information, transformation matrix information, and end-of-frame information. The placement information defines the placement, update, or deletion of the raw material data150. The ID information defines the intended raw material data150by indexes. For example, ‘ID=0’ indicates the raw material data150stored at the first address in the raw material data reference table160d. The depth information defines the order of overlap when images rendered with the raw material data150defined by the ID information are placed. The transformation matrix information defines parallel translation, enlargement, reduction, rotation, and color specifications for the placement or updating of images rendered with the raw material data150defined by the ID information. The end-of-frame information defines a change of frame.

The raw material data reference table160dindicates the offset address from the top of the vector data area114f(seeFIG. 9) in the video memory114to the top of the intended raw material data150for each index of the raw material data150used in the graphic rendering definitions160c. The offset addresses are listed sequentially in the raw material data reference table160d, starting from index ‘0’ (ID=0).

In the example inFIG. 5, the raw material data reference table160dis located at address ‘0x00000140’ from the top of the program schedule individual data160, as indicated by the first header information160a. The vector data area114fin the video memory114is shown to be positioned at address ‘0x04000000’ from the top of the program schedule individual data, as indicated by the second header information160b. The program schedule individual data160are shown to be configured from multiple items of raw material data150; the raw material data150with ID=1 are shown to be stored at address ‘0x00344E20’ from the top of the vector data area114fin the video memory114, as indicated on the second line in the raw material data reference table160d. The raw material data with ID=2 are shown to be stored address ‘0x00348086’ from the top of the vector data area114f, as indicated on the third line of the raw material data reference table160d, and the image of the raw material data150with ID=2 is rendered at a position translated by 30 pixels in the X-direction from the image of the raw material data with ID=1.

Returning to the description ofFIG. 1, the program schedule display list generating unit111generates program schedule display lists170indicating the placement positions and display positions of the images rendered by use of the program schedule individual data160generated by the program schedule individual data generating unit110, and stores the program schedule display lists170in the video memory114.

FIG. 6is a schematic diagram showing an example of the data structure of a program schedule display list170. As shown, the program schedule display list170gives a structural definition for each item of the program schedule individual data160, for use in configuring the program schedule screen by combining the images rendered on the basis of the program schedule individual data160. In the program schedule display list170there are four parameters: PL1, PL2, PL3, and PL4.

Parameter PL1indicates the address on the video memory114at which corresponding program schedule individual data160are stored.

Parameter PL2indicates the reference coordinates of the screen display region, which is the effective display region in which the corresponding program schedule individual data160are displayed on the program schedule screen.

Parameter PL3indicates the width and height of the screen display region when the corresponding program schedule individual data160are displayed on the program schedule screen.

Parameter PL4indicates the reference coordinates when the image of the corresponding program schedule individual data160is rendered. The program schedule display list170designates a PL4value here for each item of program schedule individual data160, so that the image for the program broadcast at the time and with the broadcast station ID indicated by the display reference position is displayed at the reference coordinates of the screen display region.

FIG. 7is a schematic diagram showing an exemplary program schedule180based on the program schedule display list170inFIG. 6. As shown in the diagram, the program schedule180is configured from a combination of single-program images rendered on the basis of program schedule individual data160for nine channels (horizontal) and nine hours (vertical).

FIG. 8is a schematic diagram showing an exemplary screen display region180ain the program schedule180based on the program schedule display list170shown inFIG. 6. As illustrated, in the program schedule180structured horizontally for nine channels and vertically for nine hours on the basis of the program schedule individual data160and program schedule display list170, the rendering unit115renders images in a screen display region180aextending for seven channels horizontally and six hours vertically. In other words, the screen display region180ais the program schedule screen displayed on the display unit116.

In the example inFIG. 6, from parameter PL1, the program schedule individual data #0002 defined on the first line are stored at address ‘0x02400000’ on the video memory114; from parameters PL2and PL3, the screen display region180adisplayed as a program schedule screen has reference coordinates (X, Y)=(260, 260) and (width, height)=(1400, 960). From parameter PL4, the reference coordinates at which the image based on program schedule individual data #0002 is placed are (X, Y)=(60, 20). Accordingly, since the one-program image based on program schedule individual data #0002 is not included in the screen display region180a, the rendering unit115does not perform any rendering on the basis of program schedule individual data #0002.

Similarly, from parameter PL1, the program schedule individual data #0102 defined on the fourth line are stored at address ‘0x02402200’ on the video memory114; from parameters PL2and PL3, the screen display region180adisplayed as a program schedule screen has reference coordinates (X, Y)=(260, 260) and (width, height)=(1400, 960). From parameter PL4, the reference coordinates at which the image based on program schedule individual data #0002 is placed are (X, Y)=(260, 20) and it is not included in the screen display region180a. The rendering unit115does not perform any rendering on the basis of program schedule individual data #0102.

In contrast, from parameter PL1, the program schedule individual data #0103 defined on the fifth line are stored at address ‘0x02402600’ on the video memory114; from parameters PL2and PL3, the screen display region180adisplayed as a program schedule screen has reference coordinates (X, Y)=(260, 260) and (width, height)=(1400, 960). From parameter PL4, the reference coordinates at which the image based on program schedule individual data #0103 is placed are (X, Y)=(260, 180). Accordingly, the rendering unit115performs rendering on the basis of program schedule individual data #0103, but only the lower half (corresponding to the time from 10:30 to 11:00) is displayed on the program schedule screen.

Similarly, from parameter PL1, the program schedule individual data #0104 defined on the sixth line are stored at address ‘0x02402A00’ on the video memory114; from parameters PL2and PL3, the screen display region180adisplayed as a program schedule screen has reference coordinates (X, Y)=(260, 260) and (width, height)=(1400, 960). From parameter PL4, the reference coordinates at which the image based on program schedule individual data #0104 is placed are (X, Y)=(260, 340). Accordingly, the rendering unit115performs rendering on the basis of program schedule individual data #0103, and the entire rendered image is displayed on the program schedule screen.

The clock113keeps time. This embodiment assumes that the time kept by the clock113is the current time.

The video memory114stores the vector data constituting the raw material data150, the program schedule individual data160generated in the program schedule individual data generating unit110, the program schedule display lists170generated by the program schedule display list generating unit111, and other data.

FIG. 9is a schematic diagram showing an example of the structure of the video memory114. As shown, the video memory114includes a first frame buffer area114a, a second frame buffer area114b, a first program schedule display list area114c, a second program schedule display list area114d, a program schedule individual data area114e, and a vector data area114f.

The first frame buffer area114aand second frame buffer area114bstore the frame data of the program schedule screen rendered by the rendering unit115. Here, the first frame buffer area114aand second frame buffer area114bstore the frame data alternately. For example, when the first frame buffer area114astores the frame data of the currently displayed program schedule screen, the second frame buffer area114bstores the frame data of the program schedule screen to be displayed next.

The first program schedule display list area114cand second program schedule display list area114dstore program schedule display lists170generated by the program schedule display list generating unit111. Here, the first program schedule display list area114cand second program schedule display list area114dstore the program schedule display lists170alternately. For example, when the first program schedule display list area114cstores the program schedule display list170corresponding to the currently displayed program schedule screen, the second program schedule display list area114dstores a program schedule display list170that was updated in the program schedule display list updating unit112.

The program schedule individual data area114estores the program schedule individual data160generated in the program schedule individual data generating unit110.

The vector data area114fstores raw material data150stored in the data storing unit106.

Returning to the description ofFIG. 1, the rendering unit115is a graphics engine for processing vector data, and operates by receives instructions from the control unit108. For example, when the rendering unit115receives a display instruction or a switch-over instruction from the program schedule control unit109in the control unit108, it decodes the vector data defined by the program schedule individual data160stored in the video memory114on the basis of a program schedule display list170, stored in the video memory114, that is designated by the program schedule control unit109, thereby rendering images, and combines the images, thereby generating the image data of the program schedule screen. Then the rendering unit115sends the generated image data to the display unit116.

Based on the image data acquired from the rendering unit115, the display unit116displays the screen.

The control unit108, vector data management information storing unit104, program information storing unit105, base data storing unit107, and rendering unit115may be configured from an integrated circuit including, for example, a CPU or other microprocessor, ROM (Read Only Memory), RAM (Random Access Memory), a timer circuit, an input/output interface, and special processing units. Some or all of the functions of the control unit108, vector data management information storing unit104, program information storing unit105, base data storing unit107, and rendering unit115may be implemented either by hardware or by having a microprocessor execute prescribed computer programs. Furthermore, when some or all of the functions of the control unit108, vector data management information storing unit104, base data storing unit107, and rendering unit115are implemented by computer programs (including executable files), the microprocessor can load computer programs or corresponding executable files from a computer-readable recording medium and execute them to implement the functions. The data storing unit106can be implemented by use of a storage device, such as a nonvolatile memory, an HDD (hard disc drive), or a read-write device equipped with an optical disc.

The operation of the program schedule generating device100with the above configuration will now be described.

FIG. 10is a flowchart schematically illustrating the initial processing by the program schedule generating device100. The control unit108of the program schedule generating device100initiates the flow inFIG. 10at startup, for example, or at other times.

First the program schedule control unit109loads the raw material data150stored in the data storing unit106(S10).

Then the program schedule control unit109determines the raw material types of the loaded raw material data150(S11). When the result of the determination is font data, the program schedule control unit109proceeds to the processing in step S12; when the result of the determination is not font data, it proceeds to the processing in step S14. Here, the program schedule control unit109may perform this determination according to a file extension. The raw material data150may be stored in different folders in the data storing unit106, classified according to raw material type.

In step S12, the program schedule control unit109generates font IDs from the data identification information assigned to the font data, refers to the raw material data150that are font data, thereby obtains the address, in the font data, and size of the glyph data corresponding to each character code, and stores this information in the corresponding fields to generate the font table130(see FIG.3).

Next, the program schedule control unit109stores the font table130generated in step S12in the vector data management information storing unit104(S13).

In step S14, the program schedule control unit109writes the raw material data150loaded in step S10into the vector data area114f(seeFIG. 9) in the video memory114.

Next, the program schedule control unit109stores information for the raw material data150written into the video memory114in the raw material data expansion table120stored in the vector data management information storing unit104, thereby updating the raw material data expansion table120(S15). Among the raw material data150that were loaded in step S10, for the data that were determined to be font data in step S11, for example, the program schedule control unit109generates a registration name (index) by assigning ‘01’ as the raw material type and adding ‘Font_’ at the head of the data identifier assigned to the raw material data150as its registration name. Among the raw material data150that were loaded in step S10, for the data that were not determined to be font data in step S11, it assigns ‘02’ as the raw material type, and as the registration name, it generates a registration name (index) by adding ‘Path_’ at the head of the data identifier preassigned to the raw material data150. Then the program schedule control unit109stores the above information and the addresses at which individual raw material data150are stored in the video memory114in the corresponding fields in the raw material data expansion table120.

FIG. 11is a flowchart schematically illustrating the processing when the program information is updated in the program schedule generating device100. The control unit108initiates the flow inFIG. 11when it receives program information from the program information receiving unit102.

First, the program schedule control unit109compares the content of the program information reported by the program information receiving unit102and the content of the program data generating information in the program schedule related information140stored in the program information storing unit105, and extracts updated information for programs that have ended or been added or altered (S20).

Next, the program schedule control unit109updates the program data generating information in the program schedule related information140to reflect the content of the updated information (S21). For an added or altered program, the data address, which is an element of the program data generating information, is here initialized to ‘0xFFFFFFFF’.

FIG. 12is a flowchart schematically illustrating the processing carried out in the program schedule generating device100when a user operation is performed. The control unit108initiates the flowchart inFIG. 12when it receives the content of the operation from the operation receiving unit103.

First, the program schedule control unit109in the control unit108determines the content of the user operation reported by the operation receiving unit103(S30). Then, if the operation content is determined to indicate that display of the program schedule is to start, the program schedule control unit109proceeds to the processing in step S31; if the operation content is determined to indicate an update of the displayed content of the program schedule, such as a scroll operation, the program schedule control unit109proceeds to the processing in step S37; if the operation content is determined to indicate that display of the program schedule is to end, it proceeds to the processing in step S44.

In step S31, the program schedule control unit109reads the display reference position at which to display the program schedule from the program schedule related information140stored in the program information storing unit105. Then, if the time included in the display reference position that is read is previous to the current time kept by the clock113, the program schedule control unit109updates the time included in the display reference position to the current time. For example, if the broadcast station ID at the display reference position that was read is ‘CH01’, the time is ‘August 7 10:30’, and the current time given by the clock is ‘August 8 10:23’, the program schedule control unit109updates the time included in the display reference position to ‘August 8 10:30’, so that the program currently being broadcast is displayed at the display reference position. In this way, the program schedule control unit109determines the display reference position based on which the program schedule will be displayed.

The program schedule individual data generating unit110then identifies relevant programs from the program schedule related information140stored in the program information storing unit105, on the basis of the display reference position identified in step S31, and generates the program schedule individual data160on the basis of the program data generating information of the identified programs (S32). If the broadcast station ID and time at the identified display reference position are ‘CH01’ and ‘August 8 10:30’, the number of broadcast stations displayed on one screen is ‘7’ and the time displayed on one screen is ‘6 hours’, for example, then the relevant programs for which program schedule individual data160are generated are the programs broadcast by broadcast stations ‘CH00’ to ‘CH08’ from ‘August 8 9:30’ to ‘August 8 17:30’. In other words, program schedule individual data160are generated for the programs broadcast on the channels in a given span of channels preceding and following the channel indicated by the broadcast station ID at the display reference position and in a given span of time preceding and following the time at the display reference position.

The program schedule individual data generating unit110determines the display regions of the programs from the program schedule individual data160for the relevant programs, the width per broadcast station and height per hour as the display parameters stored in the base data storing unit107, and the start and end times in the program data generating information included in the program schedule related information140. Then the program schedule individual data generating unit110identifies the background colors in the display regions according to the genres indicated by the program data generating information, by referring to the generating rule information stored in the base data storing unit107. The program schedule individual data generating unit110also refers to the generating rule information stored in the base data storing unit107to identify the fonts used to display the titles and summaries of the programs. Then The program schedule individual data generating unit110creates a graphic rendering definition160cfor each character or graphics data item according to the identified display regions, background colors, and fonts for the background, titles, and summaries of the programs. The program schedule individual data generating unit110also generates a raw material data reference table160dby identifying the addresses of the applicable raw material data150in the vector data area114fof the video memory114from the raw material data expansion table120and font table130in the vector data management information storing unit104.

Specifically, the program schedule individual data generating unit110places rectangular data with graphic rendering definition ID=0 and depth=0, and uses a matrix transformation to specify horizontal and vertical enlargement and reduction in order to obtain a size fitting the display region of the program, and a color to provide a background color appropriate for the program genre. Then the program schedule individual data generating unit110stores, in the raw material data reference table160d, an offset address, from the top of the vector data area114fon the video memory114, at which the rectangular data are stored.

Next, if the title begins with the hiragana character ‘o’ with font ID=003, the program schedule individual data generating unit110places the character ‘o’ in the font with ID=003 in a graphic rendering definition, setting ID=1 and depth=1.

Then the program schedule individual data generating unit110calculates the an offset address, from the top of the vector data area114fon the video memory114, at which the character ‘o’ in the font with ID=003 is stored and stores the calculated offset address in the raw material data reference table160d. For example, from the raw material data expansion table120stored in the vector data management information storing unit104, it can be seen that the font data with font ID=003 (Font—003) are expanded at ‘0x06250000’ on the video memory114. From the font table130stored in the vector data management information storing unit104, it can be seen that the character ‘o’ with the font ID=003 is located at address ‘0x000F4E20’ in the font data. Accordingly, the program schedule individual data generating unit110adds the address ‘0x000F4E20’ of ‘o’ in the font data to the address ‘0x06250000’ of the font data on the video memory114, thereby calculating the address ‘0x06344E20’ of ‘o’ on the video memory114. Consequently, the offset address from the top address ‘0x06000000’ of the vector data area114fis ‘0x00344E20’.

Similarly, if the next data of the title is the hiragana character ‘ha’ with the font ID=003, the program schedule individual data generating unit110places the character ‘ha’ in the font with ID=003 in a graphic rendering definition with a displacement of 30 pixels in the X direction, setting ID=2 and depth=2.

Then, the program schedule individual data generating unit110calculates an offset address, from the top of the vector data area114fon the video memory114, at which the character ‘ha’ with the font ID=003 is stored and stores the calculated offset address in the raw material data reference table160d. For example, from the raw material data expansion table120stored in the vector data management information storing unit104, it can be seen that the font data with font ID=003 (Font—003) are expanded at ‘0x06250000’ on the video memory114. From the font table130stored in the vector data management information storing unit104, it can be seen that the character ‘ha’ with the font ID=003 is located at address ‘0x000F8086’ in the font data. Accordingly, the program schedule individual data generating unit110adds ‘0x000F8086’ to ‘0x06250000’, thereby calculating the address ‘0x06348086’ of ‘ha’ on the video memory114. Consequently, the offset address from the top address ‘0x06000000’ of the vector data area114fis ‘0x00348086’.

If the address in the program schedule individual data area114eof the video memory114storing the program schedule individual data160is ‘0x02000000’, the second header information160bin the program schedule individual data160is the difference from the top address ‘0x06000000’ of the vector data area114f, which is ‘0x04000000’.

Then the program schedule individual data generating unit110performs similar processing on the raw material data150which can be placed in the display region of the program, and after the size of the graphic rendering definitions160cis determined, it generates an offset address from the head of the program schedule individual data160to the head of the raw material data reference table160dand stores the generated offset address in the first header information160a.

Next, the program schedule individual data generating unit110stores the generated program schedule individual data160in the program schedule individual data area114eon the video memory114and writes the address information at the data address of the corresponding program ID in the program data generating information included in the program schedule related information140stored in the program information storing unit105(S33).

Next, the program schedule display list generating unit111uses the program schedule individual data160generated in step S32to generate the program schedule display list170(S34). In this step, the program schedule display list generating unit111refers to the generating rule information stored in the base data storing unit107to determine the placement of the channels and the position of the screen display region. By generating program schedule individual data160for the programs surrounding the screen display region180a, such as the programs for one broadcast station on both the right and left sides in the X direction and for one hour both above and below in the Y direction, and adding them to the program schedule display list170in step S32, it becomes possible, when the user operation content is an update operation, to update the content of the program schedule displayed on the display unit116just by updating the content of the program schedule display list170.

Next, the program schedule display list generating unit111stores the generated program schedule display list170in the first program schedule display list area114cor the second program schedule display list area114don the video memory114, whichever has free space (S35).

The program schedule control unit109then issues a display start instruction to the rendering unit115on the basis of the program schedule display list170stored in step S35(S36). On the basis of the display start instruction from the control unit108, the rendering unit115decodes the raw material data150defined by the program schedule individual data on the basis of the specified program schedule display list170and combines the images, thereby generating the screen data of the program schedule screen.

If the operation content indicates an update operation (S30), however, the program schedule control unit109proceeds to the processing in step S37.

In step S37, the program schedule control unit109reads the display reference position for displaying the program schedule from the program schedule related information140stored in the program information storing unit105, and updates the content of the display reference position according to the content of the user operation. If the user operation content is a displacement operation in the X direction, for example, it updates the broadcast station ID at the display reference position so as to indicate the broadcast station ID at the destination position of the displacement indicated by the operation; if the user operation is a displacement operation in the Y direction, it updates the time at the display reference position so as to indicate the time at the destination position of the displacement indicated by the operation.

Next, the program schedule individual data generating unit110updates the PL4parameter values in the program schedule individual data160specified in the program schedule display list170on the basis of the updated display reference positions in the program information storing unit105(S38). In this example, the program schedule individual data generating unit110updates the PL4values of all the program schedule individual data160so that the PL4values of the program schedule individual data160of the program to be broadcast by the broadcast station indicated at the display reference position and at the time indicated at the display reference position are equal to the PL2value. Here, since the rendering unit115decodes the raw material data160defined by the program schedule individual data160on the basis of the updated program schedule display list170, the displayed content of the program schedule displayed on the display unit116is scrolled responsive to the displacement indicated by the user operation.

Then the program schedule individual data generating unit110generates program schedule individual data160for programs that have become newly relevant according to the updated display reference position in the program schedule related information140stored in the program information storing unit105, on the basis of their program data generating information (S39).

Next, the program schedule individual data generating unit110stores the program schedule individual data160generated in step S39in the program schedule individual data area114eon the video memory114(S40). The program schedule individual data generating unit110writes address information for the program schedule individual data160stored in step S40as the data addresses of the corresponding program IDs of the program data generating information. Conversely, regarding programs for which there is no longer need to generate program schedule individual data160, the data addresses of the corresponding program IDs are initialized to ‘0xFFFFFFFF’. Here, in the program schedule individual data area114eon the video memory114, the program schedule individual data160of newly added programs may be stored in the area used for programs for which program schedule individual data160need no longer be generated, using a fixed data size for each program. The program schedule individual data generating unit110may also store the program schedule individual data160by using the program schedule individual data area114eon the video memory114as a ring buffer.

Next, the program schedule display list generating unit111uses the display reference position updated in the program schedule related information140stored in the program information storing unit105and the program schedule individual data160generated in step S40to generate a program schedule display list170(S41). The program schedule display list generating unit111then stores the generated program schedule display list170in whichever of the first program schedule display list area114cand second program schedule display list area114don the video memory114is not currently being used (S42).

Then the program schedule control unit109gives the rendering unit115a switch-over instruction to decode the program schedule individual data160on the basis of the program schedule display list170stored in step S42(S43). On the basis of the switch-over instruction from the control unit108, the rendering unit115performs decoding based on the specified program schedule display list170and program schedule individual data160, thereby rendering images and generating screen data for the program schedule screen.

Here, referring toFIG. 8, if the broadcast station and time spans for which program schedule individual data160are generated are sufficiently large in relation to the screen display region180a, it is also possible to set respective broadcast station and time threshold values and omit the processing in step S41, step S42, and step S43unless the displacement indicated by the user operation exceeds the threshold value.

If the operation content indicates a termination operation (S30), the program schedule control unit109proceeds to the processing in step S44.

In step S44, the program schedule control unit109notifies the rendering unit115of the end of the display, thereby causing it to terminate the display of the program schedule screen.

In the flowchart inFIG. 12described above, in step S32, program schedule individual data are also generated for programs with channels and times surrounding the screen display region180a, but this is not a limitation. The program schedule individual data generating unit110may, for example, generate program schedule individual data only for the programs included in the screen display region180a.

In step S38in the flowchart inFIG. 12described above, when the program schedule screen is scrolled by a user operation, for channels and times corresponding to programs for which no program schedule individual data160has been generated yet, a predetermined background or the like may be displayed without displaying images of the programs on the program display screen.

The flowchart inFIG. 12illustrates processing when there is user operation input, but when a given time elapses during the display of the program schedule and a broadcast program has ended, for example, the program schedule control unit109may update the time indicated at the display reference position to the current time and the processing in step S37and the following steps may then be carried out.

As described above, the program schedule generating device100expands, in advance, the vector data needed as raw material data for dynamic generation of the program schedule display lists170defining combinations of multiple items of the program schedule individual data160used by the rendering unit115to generate the screen data, extracts information needed to generate the program schedule individual data160and program schedule display lists170, and stores the information in the vector data management information storing unit104, thereby enabling the data size of the program schedule individual data160and program schedule display lists170and the amount of processing required to generate them to be reduced.

In generating the program schedule individual data160for sixteen programs with 50 characters per program and an assumed average vector data size per character of 600 bytes, copies from the data storing unit106occur 800 times (=50 characters×16 programs). The total data size is about 470 kilobytes (=600 bytes×50 characters×16 programs). In the present embodiment, however, the first header information160aand second header information160bhave a size of 8 bytes, at 8 bytes per character the graphic rendering definitions160ctotal 400 bytes, and at 4 bytes per character the raw material data reference table160dtotals 200 bytes, making 608 bytes per program and less than 10 kilobytes for 16 programs.

In the embodiment described above, during a scroll operation the program schedule display list updating unit112updates the PL4values in the program schedule display list170, but instead, it may, for example, update the PL2values in the program schedule display list170, that is, the reference coordinates at which the screen display region180ais placed.

The embodiment described above shows an example in which the invention is applied to a program schedule generating device100, but the invention may also be applied to other devices, such as, for example, video receiving devices, video receiving and display devices, or video storing and reproducing devices.

Reference Characters

100program schedule generating device,101reception processing unit,102program information receiving unit,103operation receiving unit,104vector data management information storing unit,105program information storing unit,106data storing unit,107base data storing unit,108control unit,109program schedule control unit,110program schedule individual data generating unit,111program schedule display list generating unit,112program schedule display list updating unit,113clock,114video memory,115rendering unit,116display unit.