System and method for verification of electronic television program guide data
Abstract
THE SYSTEM AND METHOD OF THE INVENTION PROVIDES AN AUTOMATIC CHECK OF PROGRAM LIST DATA IN A TELEVISION PROGRAM LISTING DATA BASE USED IN AN ELECTRONIC PROGRAM GUIDE ("EPG"). THE INVENTION PROVIDES A SYSTEM AND METHOD FOR VERIFICATION OF EPG DATA BEFORE TRANSMISSION TO A CABLE OR OTHER TELEVISION SYSTEM FOR PAYMENT (OR BEFORE ITS TRANSMISSION TO TELEVIDENT). THE VERIFICATION SYSTEM MAY BE USED TO CHECK THE COMPLETE DATABASE OR A SUB-SET DEFINED BY THE USER OF THE DATABASE TO FIND ERRORS LIKE THE FOLLOWING: MISSING, GAPING, AND OVERLAPPING STATIONS IN THE PROGRAMMING , MISSING FIELDS, MISSING FILM RATES, TITLES TOO LONG, COPIES TOO LONG, EDITORIAL ERRORS, AND INAPPROPRIATE LANGUAGE. IN THIS WAY, THE EPG SUPPLIER ENSURES THE INTEGRITY OF EPG DATA AND SUBSTANTIALLY REDUCES THE TIME REQUIRED TO MANUALLY CHECK ALL THE DATA IN THE PROGRAM LIST DATABASE. THE VERIFICATION SYSTEM CAN BE EASILY INTEGRATED WITH OTHER PROCESS STEPS PERFORMED ON EPG DATA BEFORE BEING TRANSMITTED TO CABLE AND MULTI-SYSTEM OPERATORS.

Term
Term ended
Projected expiry passed 27 October 2015, 10.9 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
11 claims: 8 independent, 3 dependent
- 1ES 2 154 351 T3 ES 2 154 351 T3 CLAIMS REIVINDICACIONES 1. A method of making available a planning of television programs through a central distribution system, through which television channels are distributed to users, said method comprising the stages of:1. Un móetodo de hacer disponible una planificacioón de programas de televisioón a travóes de un sistema de distribucióon central, a travóes del cual se distribuyen canales de televisióon a los usuarios, comprendiendo dicho móetodo las etapas de: almacenar una base de datos (130) de listados de programas de televisioón recopilados a partir de una pluralidad de proveedores (101-103)de informacioón, comprendiendo dicha base de datos campos de datos para una pluralidad de canales de televisióon y de tiempos de planificacioón de programas y tiempos de ejecucióon de programas para cada canal;storing a database (130) of television program listings compiled from a plurality of information providers (101-103), said database comprising data fields for a plurality of television channels and planning times of programs and program execution times for each channel;extracting (170) from said database, the data that provide a program planning for said distribution system;and transmitting (180) the data to the distribution system, in order to make program planning available through said system;extraer (170) de la citada base de datos, los datos que proporcionan una planificacioón de programas para el citado sistema de distribucioón;y transmitir (180) los datos al sistema de distribucioón, con el fin de hacer disponible la planificacioón de programas a travóes de dicho sistema;caracterizado por analizar (1) automóaticamente los citados listados formateados para localizar vacóos de planificacioón y/o solapamientos de planificacióon;characterized by automatically analyzing (1) the aforementioned formatted lists to locate planning gaps and / or planning overlaps;proporcionar un informe (140) de los vacóos de planificacióon y/o los solapamientos de planificacióon;y proporcionar medios (150) de edicióon mediante los que pueden ser editados los citados listados de programas, en respuesta a dicho informe, con anterioridad a que los datos se transmitan al sistema de distribucioón. providing a report (140) of planning gaps and / or planning overlaps;and providing editing means (150) by which said program listings may be edited, in response to said report, prior to the data being transmitted to the distribution system.
- 5The method of any preceding claim, comprising the steps of selecting (202) a channel list file for comparison against said plurality of television channels in said database;5. El móetodo de cualquier reivindicacióon anterior, que comprende las etapas de seleccionar (202) un archivo de lista de canal para su comparacioón frente a la citada pluralidad de canales de televisióon de dicha base de datos;automatically comparing (203) said channel list file against said data fields to determine if each channel of said file is included in said database;and provide a report (230) that mentions each station of said file that is not included in comparar (203) automóaticamente dicho archivo de lista de canal frente a los citados campos de datos para determinar si cada canal de dicho archivo se encuentra incluido en la citada base de datos;y proporcionar un informe (230) que mencione cada estacioón de dicho archivo que no estóe incluida en ES 2 154 351 T3 la citada base de datos. ES 2 154 351 T3 the aforementioned database.
- 6The method of any previous claim, comprising the steps of selecting (202) one or more verification options, chosen from missing headings, missing copy, long copy, long headings, editorial errors, missing fields, inappropriate language and missing movie ratings;6. El móetodo de cualquier reivindicacióon anterior, que comprende las etapas de seleccionar (202) una o maós opciones de verificacióon, elegidas a partir de tótulos que faltan, copia que falta, copia prolongada, tótulos prolongados, errores editoriales, campos que faltan, lenguaje inapropiado y calificaciones de pelóculas que faltan;analizar (209) automaóticamente los citados campos de datos en cuanto a errores entre las opciones de verificacióon seleccionadas, y proporcionar informes (230) de las opciones de verificacioón seleccionadas y de los errores entre ellas. automaotically analyze (209) the aforementioned data fields for errors among the selected verification options, and provide reports (230) of the selected verification options and the errors between them.
- 7The method of any previous claim, carried out on program planning data prior to its transmission to a cable or other pay television system. 7. El móetodo de cualquier reivindicacióon anterior, llevado a cabo sobre datos de planificacioón de programa con anterioridad a su transmisioón a un sistema de cable u otra televisioón de pago.
- 8The method of any of claims 1-6, carried out at the originating end of a cable television distribution system prior to transmission to viewers. 8. El móetodo de cualquiera de las reivindicaciones 1-6, llevado a cabo en el extremo de origen de un sistema de distribucioón de televisióon por cable con anterioridad a la transmisioón a los espectadores.
- 9The method of any previous claim, which comprises the stage (111-113) of normalization of the information collected regarding the structure of the database before it is analyzed. 9. El móetodo de cualquier reivindicacióon anterior, que comprende la etapa (111-113) de normalizacioón de la informacióon recopilada respecto a la estructura de la base de datos con anterioridad a que sea analizada.
- 10The method of any previous claim, which comprises the stage of editing (120) the information collected before it is analyzed. 10. El móetodo de cualquier reivindicacióon anterior, que comprende la etapa de editar (120) la informacióon recopilada con anterioridad a que la misma sea analizada.
- 11Aparato para hacer disponible una planificacioón de programas de televisioón a travóes de un sistema de distribucioón central, a travóes del cual se distribuyen a los usuarios canales de televisioón, comprendiendo dicho aparato medios para llevar a cabo el meótodo definido en cualquiera de las reivindicaciones 1-10. eleven. Apparatus for making television program planning available through a central distribution system, through which television channels are distributed to users, said apparatus comprising means to carry out the method defined in any of claims 1- 10. INFORMATION NOTE:In accordance with the reservation of art. 167.2 of the European Patent Convention (CPE) and the Transitory Provision of RD 2424/1986, of October 10, relative to the application of the European Patent Convention, the European patents that designate Spain and requested before 10-07-1992 , will not produce any effect in Spain to the extent that they confer protection to chemical and pharmaceutical products as such. NOTA INFORMATIVA: Conforme a la reserva del art. 167.2 del Convenio de Patentes Europeas (CPE) y a la Disposición Transitoria del RD 2424/1986, de 10 de octubre, relativo a la aplicación del Convenio de Patente Europea, las patentes europeas que designen a España y solicitadas antes del 7-10-1992, no producirán ningún efecto en España en la medida en que confieran proteccion a productos químicos y farmacéuticos como tales. Esta informacioín no prejuzga que la patente estíeonoincluída en la mencionada reserva. This information does not prejudge that the patent is not included in the aforementioned reservation.
Independent claims8
326 paragraphs in 19 sections, as filed
ES 2 154 351 T3
System and method for the verification of electronic television program guide data.
DESCRIPTION
Background of the invention
This invention relates to a method of making a list of television programs available through a central distribution system, through which television channels are distributed to users. More in particular, refers to a method, as stated above, in which EPG (Electronic Program Guide) data can be verified prior to transmission to a plurality of remote locations, such as system source endpoints by cable or spectator locations.
Electronic program guides for television systems are known in the art, particularly in connection with cable television systems. For example, a common implementation of an electronic program guide uses a dedicated cable television channel to continuously broadcast program planning information. The advantage of such a system is that it is relatively easy to deploy, as it is implemented centrally at the cable originating end. No additional software or electrode devices are required at the viewer site, as complete control of the display is maintained at the cable source end. The display information is therefore broadcast continuously on a dedicated cable channel. The television viewer simply tunes the cable converter box, or television tuner, to the channel on which the planning information is modulated, and views the program listings. Typically, these program guides use a sequential display of television listings or a fixed display that changes periodically. Some systems employ a partial listing screen with additional information on the rest of the screen, such as movie ads on pay channels, pay-per-view (PPV) event schedules, time and time information. time, and other commercial information. These systems generally incorporate a grid or matrix to present the program planning information, with a different row for each channel, and columns representing different time bands.
In addition, interactive program guides are also known. Such guides allow the user to select the program listings to be displayed, based on user selection criteria, and present the listings on the television receiver in the desired format. Interactive guides are more versatile than dedicated channel guides, since they operate under user control. However, they are costly to implement as they require memory and processor availability at the user site. The present invention can be used with both dedicated channel and interactive program guides, since it operates on the program listing data common to both types of guides.
Modern cable systems include 100-channel mine. Thus, for both dedicated channel and interactive program EPGs, large amounts of data are required to provide a complete listing of program planning information. A common problem with both types of systems is that there are often errors in the data that must be corrected. Errors can occur for various reasons. First, it is common for a complete database of program listings to be compiled from several different sources. Much of the data is available on a national basis, including network schedules (both broadcast and cable), pay-per-view listings, and regional schedules. Some data, however, must be obtained locally, including locally sourced programs, channel maps for individual cable systems, and rates for pay-per-view programs. The fact that there is no single entity responsible for compiling the complete database of listings increases the risk of errors. For example, a portion of the data may need to be converted into a different format before it can be used in the program guide.
Second, the listing database contains a huge amount of data. The electronic program guides, whether it is the dedicated channel or the interactive variety, include a database comprising information on program listings for the various stations and pay-per-view channels. Listing data can be organized by weekly blocks or other time periods. As an example, consider a cable system with eighty (80) channels, each broadcasting 24 hours a day. Assuming for each station a daily average of four hours of two-hour programs, five hours of one-hour programs, and including the rest of half-hour programs, 37 different programs are launched per channel and per day. Thus, a one-week database includes an average of information for 37x80x7 = 20,720 programs. Although many programs are repeated on a daily basis, it is clear that the set of
ES 2 154 351 T3 a week of program listings for the average cable system is a very large amount of data. Furthermore, although much of the data may be compiled in advance, a substantial number of listings and scheduling changes must be added shortly before the data is transmitted to the various cable systems. The volume of data makes it difficult and time consuming to manually ensure its reliability.
Finally, some programs, mainly sporting events, are not planned as much in advance as other programs. For example, although a time slot may be reserved for a baseball game, it may not be known until a week or less before the scheduled game, the particular game to be broadcast. There is, therefore, a need to identify, efficiently and quickly, the entries in a database that require editing in one way or another, either to add information or to correct errors.
A database of program listings with incorrect listings or incomplete information is of limited utility. There is therefore a need to ensure the reliability of data transmitted to cable systems, and ultimately to viewers. However, because the volume of data is so large, there is a need for an automated data verification procedure to reduce the number of manual hours required. There is thus a need for an automated system and method to review EPG data, and to flag any errors in the data. Furthermore, there is a need to provide a list of any such errors to the database editor, in order to allow the editor to take any corrective action that may be necessary. In addition, different data may need to be generated for different cable systems since, for example, each cable system may have different local programming, or different pay-per-view schedules or schedules.
A complicating factor is the need for a program listings database that is compatible with a plurality of different media. Different cable systems may have different hardware configurations at the cable system originating end and different high-definition converter boxes at the viewer positions. For example, EPGs typically display program listings in grid form, with columns representing different time slots and rows representing different channels. High-definition converters vary in relation to their text rendering capabilities. Some may present text using a proportional font, while others use a standard font. In addition, some are configured to display symbols in the grid cells along with the text, which reduces the space available for text display. Thus, the database must be configured in such a way that it accommodates the variance capabilities of the high-determination converters. One way to do this is to edit the text (program titles, copy, station ID, and any other text included in the EPG), to abbreviate any text that fits into a particular grid cell. A system to assist in this "text coupling" process is described in US Patent 5,635,978 (corresponding to EP-A-0 763 303). Thus, when data is verified prior to transmission to a cable system, it is necessary to specify the medium on which the EPG operates, in order to determine if the listings have been appropriately edited for the particular medium.
The present invention provides a method for carrying out television program planning, available through a central distribution, said method still being defined in claim 1 of the accompanying claims. It also provides an apparatus as defined in claim 11, for the verification of EPG data before transmission to a cable or other pay television system (or before transmission to viewers). Before being processed by the data verification system of the present invention, the television program schedule listing database may undergo initial processing, as follows. First, the data is collected from the various information providers and checked for high-level errors. Next, it may be necessary to normalize the data in terms of the format and structure of the EPG database, since it is possible that the information collected from the different sources uses different syntax and formats. Finally, the data can be processed with a text wrapping system, to determine if any of the titles in the database requires editing in order to fit it into a grid cell of predetermined size for any of the different supports in the files. to be operated by the EPG. Alternatively, the text wrapping process can be incorporated as part of the listing verification process, so that text requiring editing for docking within a particular grid cell size is identified and presented to the user for editing if it is no longer included in a pre-edited text search table or library.
At this stage, the listing verification procedure and system of the present invention act
ES 2 154 351 T3 on the data, in order to check for any errors in the data. In particular, checks can be made for missing stations, scheduling lapses, scheduling overlaps, missing titles, missing copy, missing fields (i.e. run time, time slot, schedule type), ratings of movies missing, show source missing, pay-per-view price missing, pay-per-view events at non-pay-per-view stations, non-pay-per-view event at pay-per-view stations, inappropriate language, long titles, lengthy copying and editorial errors. The term "long", as used here, refers to text that is too long to fit into a grid space assigned in the program guide. Errors are automatically written to output files and separate files are used for each of the above parameters.
The database can also be processed through additional steps such as a program listing editing system, to create, delete, or modify individual program listings, and a channel map editing system to create, delete, or modify maps. individual channels, which contain information that identifies the stations carried by a cable system, as well as the broadcast times for each station. Program listings can be searched using the program title, program identification number (PIN), or station name. It is preferred to carry out these editing stages before verifying the list and adjusting the text, in order to ensure that all the data in the data file has been processed by these last two stages. Alternatively, the listing verification process can be rerun if any edits are made after the initial data verification. Finally, an extraction process is run against the database, in order to create data files containing data specific to the cable system, based on a specified channel map and date range. The data files can be ASCII or tightly packed binary files, readable by the cable system for which they are intended. Finally, the data is processed according to the specific medium and transmitted to the designated cable system. The cable system, as used herein, is not limited to standard cable television systems, but includes direct broadcast television systems, non-broadcast pay television systems, and any other television program distribution system that include central control over the distribution of a television signal to a plurality of stations.
Brief description of the drawings
Figure 1 is a block diagram showing an EPG delivery system, including the data verification system of the present invention.
Figure 2 is a flow chart illustrating the overall operation of the data verification system of the present invention.
Figure 3 is a flow chart showing the operation of the verification stage of overlaps and planning voids, of an embodiment of the data verification system of the present invention.
Figure 4 is an illustration of a user interface for setting the parameters of an embodiment of the data verification system of the present invention.
Figure 5 is an illustration of a post-verification correction menu of one embodiment of the data verification system of the present invention.
Figure 6 is an illustration of the correction editor device of one embodiment of the data verification system of the present invention.
Detailed description of the preferred embodiment System Configuration
Figure 1 is a block diagram schematically illustrating the general configuration of an embodiment of an electronic program guide delivery system. The information for the database can originate from different information providers. For example, one source may provide all national listings which may include network schedules (both broadcast and cable) and regional program schedules, or, alternatively, it may be multiple sources of such information. A single second source (or a combination of second sources) can provide local listing information that includes schedules for locally sourced programs, channel maps for individual cable systems, and information about shared channels (cable channels).
ES 2 154 351 T3
They only have different programming during different parts of the day). A third party information provider (or multiple providers) can provide all listing information for pay-per-view events. It may even be the case that each of these categories of program planning information is provided by multiple sources. Of course, it is also possible that all the information is accumulated and provided by a single source, or that the overlapping information is accumulated from multiple sources. In addition, there may be other information providers, such as billing providers, that provide billing information.
Due to the fact that the listings database is likely to be comprised of information from a variety of different sources that may or may not supply the data in the desired format, it may be necessary to perform a format and conversion conversion. / or a verification of the syntax on the received data, before loading it into the database. This stage is necessary to ensure that the data is in a uniform format in the database, for better processing. A second function that can be performed on the data, consists of the pre-verification edition. An example of such an editing is the processing of the data by the text coupling system described in US Patent No. 5,635,978 (corresponding to EP-0 763 303). Text flattening processing, in effect, expands the database to include multiple values for the text fields so that the individual listings host different EPG media. For example, varying amounts of space are allocated for program labels for different media. In addition, within the same support, multiple versions of a text can be required for coupling inside grid cells of, for example, for a program of two hours, 30, 60, 90 and 120 minutes. The text docking system determines whether an edited version of a banner is required to dock within the designated space for a particular bracket and grid cell. The database is edited below to include an abbreviated version of the title, as well as the full title for the listing. It is also possible that a portion of the data already contains multiple versions of the labels. In some cases, it may be desirable to incorporate the text-flattening process into the verification utility, using the verification utility to first identify the listings that require text-flattening processing, and then run the text coupling system on these identified listings. Depending on the particular implementation of the EPG delivery system, it may be desirable or necessary to perform additional pre-verification processing on the data.
After the pre-verification processing stages, the listing database is assembled and processed by the data verification system. As shown in Figure 1, the data verification system operates on the database of listings and generates error reports for the errors found. The program listing and channel map editing systems are used to make changes to the listing database data. The data verification system operates under user control to determine which data fields are to be verified. Alternatively, the system can be fully automated to check all data fields. An advantageous feature of an embodiment of the present invention is the creation of reports for each type of error. The reports allow the editor to tailor any missing or conflicting information from the database with the provider of the information. Reports can be generated electronically and later viewed on a computer, stored in electronic format, or printed as hard copies. The utility operates on the database of program listing information for a user-definable period of time, such as one week. For each verification utility, stations can be selected individually, by channel map, media type, multi-system operator (“MSO”), or arbitrary grouping. Each of the processing options associated with the system are discussed below. The operation of the various options is discussed under the section headed "System Operation".
1. Missing Stations
In order to determine if there are missing stations in the database, the listing database (or any subset thereof) is checked against a second database that includes a list of all stations that should be included in the subset or in the listing database, such as a station list file for a particular cable system. The missing stations check utility is set after the output, for a file, as a list of missing stations.
two. Planning Overlaps and Gaps
It is important to ensure that there are no gaps in the scheduling planning. At the base
ES 2 154 351 T3 data includes an indication of the daily broadcast periods for each station. The database is then checked to determine whether, for any designated stations, there are gaps between the end time of one program and the start time of the next program. The completion times for the listings are calculated by adding the program slot time (total time until the beginning of the next listing) to the starting time. The system provides the flexibility of being able to specify any time range to check for gaps and overlaps. If the beginning of the time range for a channel does not coincide with the beginning of a program, the system checked the "intersection listing", that is, the listing that starts before the start and after the end of the specified time range. .
Planning gaps are written to a file that includes the date, season, start time, and end time of the gap, or other information that is sufficient to uniquely identify the planning gap.
This option also checks for overlaps in a similar way. If the listing data indicates that a program, on a particular channel, starts before the sum of the start time plus the execution time of the previous program, the listing is marked as a program overlap error.
3. Missing Titles
The listing database is checked for missing titles for program events, that is, where the listing does not have any title fields. Listings with missing titles are written to a file that includes the date, season, and start time of the listing.
Four. Missing Copy
Some program listings include additional descriptive information, in addition to the program title, called a "copy." These include movies, live sports, and pay-per-view programs. Additional information may also be provided for other programs, as well as determined by the operating rules of the EPG. The missing copy option checks these listings for missing copy, and writes any such listings to a file with sufficient context data to identify the program, such as the show's date, season, start time, and time. title.
5. Missing fields
This option checks the database listings to ensure that all required fields for each type of program are present. For example, according to the EPG operating standards, as defined by the EPG provider, the planning information for premiere and pay-per-view movies must include an MPAA rating, as this parameter can be used by viewers to block certain movies. In this way, the missing fields option checked if the MPAA rating, as well as the other fields dictated by the operating rules, are in the database for the premiere and pay-per-view listings. For PPV events, operating regulations may also require that the planning information include pricing information, a phone number to order the event, and the promotional copy used to promote the event. The option of missing fields will be verified after these changes, as well as the programs designated as PPV events. Similarly, operational rules may impose different required fields for other types of listings. Listings with missing fields are written to a file that includes the date, season, program start time, as well as an identification of the missing field.
6. Missing Movie Ratings
The listings database includes MPAA movie ratings for movies to be shown on premiere and pay-per-view channels. Any such movies with missing ratings are written to a file that includes the date, season, start time and title of the movie.
7. Extended Titles
Some or all of the data in the database may have already been processed with the text coupling system, to provide multiple titles where its coupling is required in the grid cells. The option of prolonged titles allows the user to perform an additional check of any title that does not fit in the maximum space available for each of the selected supports,
ES 2 154 351 T3 and also identifies those entries that have not yet been processed with the text coupling system. Whichever of these titles are found, they are written to a file including the medium, the date, the season, the start time and the title of the listings. This option can be selected for any of the media on which the EPG operates. Titles can then be processed using text coupling and rerun of the verification utility on the database.
8. Long Copy
This option is similar to the long copy option and searches the listing database for the copy, for movies, live sports, pay-per-view shows, and any other entries with copy that will not fit in the space. available for selected media. Any such listings that are found are written to a file including the media, date, season, start time, and title of the listings.
9. Editorial Errors
The listing database is investigated for editorial errors that may include, but are not limited to, duplicate titles or years in the copy of a film, cross-references for other days, and certain phrases such as "at press time." Editorial errors are written to a file that includes the date, season, start time, and description of the error found for each listing. Of course, these particular errors represent only a particular embodiment of the system designed to detect the most common types of errors (the utility can be easily modified to detect any specified editorial errors).
10. Language
This option searches the listing database for inappropriate language in headlines, copy, and messages. The listings database is checked against a language dictionary that includes everything in the language that is deemed inappropriate. Listings with such language are written to a file that includes the date, season, start time, and inappropriate language found.
eleven. Other Verification Options
The above options for verifying the data in the listing database are not exhaustive. The verification system can be easily configured to verify any field in the database. Some other fields that can be checked are as follows: Missing program type, Missing time slot, Missing execution time, Missing program source, PPV event in a non-PPV station, No PPV event in a pay-per-view season and promotional copy or missing price for pay-per-view events. The program type refers to the type of broadcast, ie, broadcast, PPV, direct video on demand (“NVOD”), and so on. The slot time of a program is the total time from the beginning of one program to the start of the next program, including commercial time, and the program execution time is the actual execution time of the program itself. The slot time for a program should exceed (or be only slightly less than) its execution time, which is another possible verification option. The program source indicates the source of the program. The program type and station type are used to check if a PPV event has been scheduled in a non-PPV station, and if a non-PPV event has been scheduled in a PPV station.
Those skilled in the art will recognize that particular information written in the appropriate file when an error or omission is located is not critical. All that is required is that sufficient context data be supplied to uniquely identify the faulty listing for correction purposes.
The data verification system can also be configured with an error navigation feature, as follows. Following the processing of the database or the designated subset thereof and the generation of the various error reports, the system may be configured to return to the portions of the database identified as containing errors, retrieve the base entries of appropriate data and present them to the user for correction. After correcting the errors, the database can be processed again with the data verification utility to check for errors. In this way, an iterative process can be implemented to correct and verify all the data in the database.
ES 2 154 351 T3
System Operation
The data verification utility operates as shown in the flow chart of Figure 2. First, the user is prompted to specify the media (s) and channel maps for which the utility is to run. Alternatively, with a database such as the one described in Tables 1 and 2, the user only needs to specify the source endpoint, system, or cable group. The verification system can then extract, from the database, the media (s) and the appropriate channel map (s). Next, the desired verification options are chosen. Alternatively, the user can choose to enable all verification options. Depending on the options chosen, the user may be asked for additional information. If the option "Check Long Titles" or "Check Long Copy" is chosen, the user enters the path and file name for a source library file, in order to determine the appropriate font to be used to display the text. If the media selection uniquely determines the source, this step can be eliminated since the file can be selected automaotically. The particular font chosen affects the space required to present the text. Of course, the user can be supplied with a list of possible files and he only needs to select a file from the displayed list. If the option "Check Missing Stations" is chosen, the user will be prompted to enter a master list of all the stations that should appear in the listing database or in a subset of stations that represents the list for a monitoring system. particular cable. This information may be contained in a station list file. If the "Check Language" option is chosen, the user enters a language dictionary file containing a library of inappropriate words. Finally, the user is asked to enter a password and file names to obtain the verification reports. Of course, you can use a default filename and voice. Separate verification reports are generated for each selected option. The user can also choose to combine the selected reports into a single report.
Alternatively, to reduce the amount of interaction required with the user to a mononym, the database can be configured to define all the necessary parameters, so that the user only needs to select the cable system and verification options. For each cable system (or cable group or source end), the database contains a table with the correct media (s), and a table listing the different sources available for use with supports, so that the user does not need to designate the source library file. Similarly, the language dictionary file can be defined by choice of media, eliminating the need for the user to define the file.
After entering all the requested information, the data verification utility presents the selected options and the parameters entered by the user, for confirmation by the user. The data verification process begins next. After processing, the system presents the user with a summary report showing the total cumulative errors, located for each of the selected options. In addition, output reports are generated for each of the chosen options, including all the listings found with the indicated error or omission.
Table 1 is an alphabetical list of all data fields in one embodiment of a relational database for television program listings. The table shows the format, size, and range of data for each field. Not every data field is used for every database entry. For example, fields such as sleepy me, mpaa_raling, mpaa_ra_description, mpa.a_rea.som mpaa_reason_code, star-rating, and year were generally only used for movies. Those skilled in the art will recognize that the disclosed data verification utility can be designed to operate with any database configuration. Table 2 illustrates the structure of the relational database in Figure 1, showing how the various fields in the database are organized, as well as the primary keys (pk) and foreign keys. The bold type indicates the name of a table in the database and the related entries below it constitute the fields that comprise the table.
ES 2 154 351 T3
<img file="ES2154351T3_D0001.tif" />
ES 2 154 351 T3
<td></td><td>range {0 ... 9,999,999}</td><td>Channel Map PPV</td>
<td>channel_label</td><td>= \ parallel channel station label \ type VARCHAR2 (16) ChannelMap PPV</td><td>Channel_Map Instan ce_Time</td>
<td>character</td><td><sup>=</sup> \ 8 bit ASCII character \ type NUMBER (3, 0) range {0 ... 255}</td><td>PixelMap</td>
<td colspan="2">characters_field_width = (characters) \ Platform__F¡eld type NUMBER (4, 0) ranee {1 ... 9,999}</td><td>\ platform field width</td>
<td>closed_captíon</td><td>- \ closed captioning indicator \ type NUMBER (5, 0) [BOOLEAN] range {YES | NOT }</td><td>Schedule</td>
<td>color_class</td><td>= \ color state of movie \ type VARCHAR2 (16) range {'BW | 'Color' | 'Colorized'}</td><td>ColorClass Schedule</td>
<td>company_address</td><td>= \ cable company address 1 type VARCHAR2 (512)</td><td>Cable_Company</td>
<td>company_id</td><td>= \ cable system company identifier \ type NUMBER (8, 0) range {1 ... 99,999,999}</td><td>Cable_Company Company_Contact MSO_Company</td>
<td>company_logo</td><td>= \ cable company logo \ type VARCHAR2 (512)</td><td>Cable_Company</td>
<td>company_name</td><td>- \ cable company description \ type VARCHAR2 (512)</td><td>Cable_Company</td>
<td>company_owner</td><td>- \ cable company yam \ type VARCHAR2 (128)</td><td>Cable_Company</td>
<td>contact_email</td><td>- \ contact electronic mail address \ type VARCHAR2 (64)</td><td>MSO_Contact Company_Contact</td>
<td>contact fax</td><td>= \ contact fax phone number \ type VARCHAR2 (16)</td><td>MSOContact Company_Contact</td>
<td>contact_name</td><td>= \ contact yam \ type VARCHAR2 (64)</td><td>MSOContact Company_Contact</td>
ES 2 154 351 T3 contact_phone day
- \ contact phonc numbcr \ type VARCHAR2 (16) = \ day of wcck code \ type CHAR tange {'N' | 'M' | 'T' | 'W'
MSOContact
Company_Contact
Day
Channel_Map | 'H' | 'F' | 'S'}
Channel_Map__PPV day description - \ day of week descñption \ Day type VARCHAR2 (32) range {'Sunday' | 'Monday' | 'Tuesday' | 'Wednesday') 'Thursday' | 'Fñday' | 'Saturday'}
<td>daylight_savings_l</td><td>time = \ daylight savings time indicator \ type NUMBER (5, 0) [BOOLEAN] range {YES | NOT }</td><td>Headend</td>
<td>dotextfit</td><td>= \ perform textfit on associated text \</td><td>Platform</td>
<td></td><td>type NUMBER (5, 0)</td><td>Field_Type</td>
<td>end_time</td><td>= \ station channel broadeast end time \</td><td>ChannelJMap</td>
<td></td><td>type DATE</td><td></td>
<td>eventdatetime</td><td>= \ EST timestamp of broadeast event \</td><td>Schedule</td>
<td></td><td>type DATE</td><td>Schedule_Text</td>
<td rowspan="2">event_price</td><td>= \ broadeast event cost to viewer \</td><td>Schedule</td>
<td>type NUMBER (7, 2) range {0.00 ... 99,999.99}</td><td>Channel_Map_PPV</td>
<td rowspan="2">fielddescription</td><td>= \ field type description \</td><td>Field_Type</td>
<td>type VARCHAR2 (32) 1 TVG title 2 Ext title, 3 Altl title 4 Grid title 5 Sbort copy 6 Long copy 7 Promo copy 8 Originator 9 Guideline</td><td rowspan="2">TVG title 30 min.</td>
<td></td><td> 100</td>
<td></td><td> 101</td><td>TVG title 60 min.</td>
ES 2 154 351 T3 field Enes
102
103
200
201
202
203 == \ nurober of screen field Enes \ type NUMBER (2, 0) range {1 ... 99} fieldsourcetype = \ source of a text fitted value \ type NUMBER (3,0) field type = \ type of named field on platform \ type NUMBER (3, 0)
Platfonn Field Program Map Schedule Text font_type
- \ type of font used on platform \ type NUMBER (4, 0)
Chaiacter_Pair_Keming range {1 ... 9,999} group_description = \ physical headend group identifier \ type VARCHAR2 (128) - \ logical! system group identifier \ type NUMBER (8, 0) range {1 ... 99,999,999} unique guideline_weight - \ TV Guide recommendation level \ type NUMBER (2, 0) range {0 ... 4 } headend_id = \ target headend identifier \ type VARCHAR2 (32) unique instance_end_datebme = scheduled event \ Instance_Time type DATE instance_start_datetime = scheduled event \ InstanceTime type DATE groupid
TVG title 90 min. TVG title 120 min. Ext title 30 min. Ext title 60 min. Ext title 90 min. Ext title 120 min.
Platfonn _Field
Platform_Field
Platfonn_Valué
Field_Type Platfonn Value
Font_Type
Platfonn Field
Groups
Groups
Groups_System
Schedule
Headend
System_Headend
MapTime \ end date / time of \ start date / time of
ES 2 154 351 T3 keming_value = \ keming space value (pixels) \
Character Pair_Keming type NUMBER (2, O) range {1 ... 99} last_verify_dme = \ last verification date and time \ LogControl type DATE left_char = \ left character of keming pair \
Character_Pair_Kerning type NUMBER (3, 0) range {0 ... 255} live_indicator = \ program broadcast State (live / taped) VProgram type NUMBER (5, 0) range {YES | NOT }
<td>load_date</td><td>= \ last load process date \ type DATE</td><td>Log_Control</td>
<td>load_end_time</td><td>= \ last load process end time \ type DATE</td><td>LogControl</td>
<td>load_start_time</td><td>- \ last load process start time \ type DATE</td><td>LogControl</td>
<td>log_file_drive</td><td>= \ log file drive specification \ type VARCHAR2 (128)</td><td>Log_Control</td>
<td>logid</td><td>= \ log control file identifier \ type NUMBER (2, 0) range {1} unique</td><td>Log_Control</td>
<td>log_file_seqno</td><td>= \ last log file sequence number \ type NUMBER (2, 0)</td><td>Log_Control</td>
<td>long_station_id</td><td>= \ station identifier long form \ type VARCHAR2 (64)</td><td>Station</td>
<td>long_station_name</td><td>= \ station yam Gong form) \ type VARCHAR (512)</td><td>Station</td>
<td>map_end_time</td><td>= \ channel map block start time \ type DATE</td><td>Map_Time</td>
<td>map_start_time</td><td>= \ channel map block end time \</td><td>Map_Time</td>
type DATE
ES 2 154 351 T3 map_hme_id «= \ channel map block designator \ type VARCHAR2 (48) unique
Channel_Map_PPV mpaa_rating = \ MPAA rating character \ type CHAR range {'N' | V | 'P' | '3' | 'R' | '7'}
Map_Time
Instance_Time
ChannelMap
MPAARating
Movie mpaa_rating_code - \ MPAA rating code \ type CHAR (10) mpaa_ra_description = \ MPAA rating code description \ MPAA Ratina type VARCHAR2 (128) ~ range {'NR - Not Rated' | 'G - General Audiences' | 'PG - Parental Guidance' |
PG-13 - Parental Guidance (some material not suitable for under 13 yrs) '| 'R - Restrictcd' |
NC-17 - No one under 17 admitted '} mpaa_reason = \ MPAA rating reason description \ MPAA Reason,. type VARCHAR2 (64) "
Movie_MPAAJReason range {'adult themes * | 'adult situations' | 'sexual situations' | 'strong language' | 'violence' ¡'nudity' | 'partial nudity'} mpaa_reason_code = \ MPAA rating reason code \ type CHAR range {'T' | 'A' ¡'S' | 'L' | 'V' ¡'N' | 'P'}
MPAA Reason mso address mso id msologo - \ muli; vstem owner address \ type VARCHAR2 (512) = \ multi system owner identifier \ type NUMBER (8, 0) range {1 ... 99,999,999} - \ multi system owner logo \ type VARCHAR2 (512)
MSO
MSO
MSO_Contact MSO_Company
MSO
ES 2 154 351 T3 mso yam = \ multi System owner description \ MSO type VARCHAR2 (512) mso owner onscreen text id original_air_date = \ multi system owner yam \ type VARCHAR2 (128) = \ TV Guide on screen yam \ type NUMBER
Text_Catalog (text_id) = \ YCTV event first broadcast \ type DATE
MSO
Edited_Station
Platform_Station
Schedule range {SYSTEM_MIN_DAT £ ... SYSTEMMAXDATE pin = \ TV Guide program identifier \ Program type CHAR (20) format pppppppp.ssssssss.XX where (XX is
MV = movie |
SR = series |
MS = miscellaneous |
SM - master signals (for lock-out) |
UN = unknown (is not assigned)) pixel_map pixel_width pixels_field_width = \ character pixel set identifier \ type NUMBER (2, 0) range {1 ... 99} = \ width of character (pixels) \ type NUMBER (2, 0) range {1 ... 99}
- \ width of platform field (pixels) \ type NUMBER (4, 0) range {1 ... 9,999}
Valid_Pixel_Map
FontType
PixelMap
Pixel_Map
Platform_Field platform_tcxt_id = \ platform field text catalog id \ type NUMBER
Text_Catalog (text_id)
Platform_Valué
Schedule_Text platform_id = \ target display unit platform \ type VARCHAR2 (16) range {'Catalyst Visual' | 'ESP 8600x * | 'ESP SA Grid' | 'ESP Turbo' | 'Stamet Passive'}
Platform
Platform_Field
Platform Station
Platform_Valué
Edited_Station
System
ES 2 154 351 T3 preview_end_offseí = \ PPV preview window end time offset \ Schedule type DATE preview_start_offset = window start time offset \ type DATE print_run_time scheduled
Channel_Map_PPV \ PPV preview Schedule
Channel_Map_PPV = \ actual broadcast event run time \ Schedule type NUMBER (7, 0) tange {0 ... 9,999,999} where (0: = continuous running time) = \ progiam identifier \ type NUMBER unique
Movie MPAA Reason
Program_Map
Schedule
Program
Movie
Movie Credits programjextjd = \ progiam event field text identifier \ Program_Map type NUMBER Schedule_Text Text_Catalog (text_id) programtype = \ type of broadcast event \ type VARCHAR2 (8) range {'Other' | 'PPV' | 'YCTV' | 'NVOD'}
Platform Valué
Program Type Schedule purchase_call_phone - \ PPV purchase cali phone number \ Schedule type VARCHAR2 (16)
Channel_Map__PPV purchaee_end_offset - \ PPV purchase window end time offset \ Schedule type NUMBER (4, 0) Channel_Map_PPV purchase_start_offset = \ PPV purchase window start time offset \ Schedule type NUMBER (4, 0) ChannelJdapPPV right_char = \ iight chaiacter of keming pair \
Character_Pair_Keming type NUMBER (3, 0) range {0 ... 255} rolename = \ alias actor yam \ type VARCHAR2 (64)
Movie Credit
ES 2 154 351 T3 searchtype series_id seqno
Movie MPAA slot_run_time star_rating start time = \ word search type - whole word or not Wordlist type NUMBER (2, 0)? range {0 (1} = \ program series identifier \ Schedule type NUMBER (7, 0) range {1 ... 9,999,999} = \ sequence number to maintain order \ Day type NUMBER (2, 0)
Reason range {1 ... 99} = \ broadcast event run time (minutes) \ Schedule type NUMBER (7, 0) range {0 ... 9,999,999} where (0: = continuous ninning time) = \ TV Guide movie quality rating \ Movie type NUMBER (2, 0) range {0 ... 5 } = \ broadcast station channel start time \ Channel_Map type DATE Channel Map PPV station_description = \ station type description \ StationType type VARCHAR2 (32) range {'Broadcast' | 'Cable' | 'Premium' | 'Select Entertainment') 'PPV' | 'Hits at Home' | 'YCTV'} station id station_priority = \ broadcast station cali letters \ type VARCHAR2 (16) unique
Platform Station Schedule Channel_Map Channel_Map_PPV Schedule Text = \ schedule conflict resolution priority \ type NUMBER (2, 0) range (1 ... 5)
Station
Edited_Station
Instance_Time
ChannelMap lnstance_Time
Channel_Map__PPV
ES 2 154 351 T3 stationJype = \ type of station class \ type NUMBER (2, 0) range {10 ... 99} systemdescription = \ system description \ type VARCHAR2 (64) system_id = \ system identifier \ type NUMBER (8, 0) range {1 ... 99,999,999} unique text ~ \ catalog text character string \ type VARCHAR2 (512) text id = \ catalog text identifier \ type NUMBER timezone = \ broadcast event time zone \ type CHAR (3) range {'ET' | 'CT' | 'MT' | 'PT | 'AT' j 'HAT' | 'LT' 1 'ST'} touched = \ text last touched timestamp \ type DATE tz_description = \ timezone description \ type VARCHAR2 (64) word year = \ proscribed work \ type VARCHAR2 (50) unique
- \ movie reread year \ type NUMBER (4, 0) range {0 ... 9,999}
Station_Type
Station
System
System
Groups_System
System_Headend
TextCatalog
Text_Catalog
Timezone
Headend
TextCatalog
Timezone
Wordlist
Movie
Table 2
Primary Key Table ¿Attribute Foreign Key Table
BarkerType
ES 2 154 351 T3 pk = barker_type barker_type barker_description
CableCompany pk ~ company_id companyjd compan y_name company_owner company_address companyjogo
Category pk = category category
ChannelMap pk = map_time id + channel_number + channeljabel + stationjpriority + day + startjime map_time_id MapJTime channel_number channeljabel station_priority day Day startjime endjime stationjd Station barkerjype BarkerType
Channel_Map_PPV pk = mapjimejd + channelnumber + channeljabel + station_priority + day + startjime
ES 2 154 351 T3 map_time_id Map_Time channel_number channel_label sta £ ion_priority day Day start_time purchase_start_offset purchase_end_offset purchase_call_phone preview_start_pffset preview_end_offset event_price
CharacterPairKerning pk = font_type + left_char + right_char font_type Pont <sub>T</sub> leñ_char rightchar kemmg_value
ColorClass pk = color_class color_class
CompanyContact pk = company_id + contact_name company_id Cable_Company contact_name contact_phone contact_fax contact email pk - day day day_description seqno
ES 2 154 351 T3
Edited_Station pk = platformjd + station_id platformjd station id onscreenjextjd
Keld_Type pk = ñeld_type fieldjype field_description do_textfit
FontType pk = font_type font_type pixelmap
Groups pk = groupjd groupjd group_description
Groups_System pk = groupjd + systemjd groupjd systemjd
Headend pk = headendjd headendjd timezone daylight_savings_time Instance Time
Platform
Station
Tex jCatalog (textjd)
Valid_Pixel_Map
Groups
System
Timezone
ES 2 154 351 T3 pk = map_time_id + channeljoumber + channel_label + station_priority + instance_start_datetime map_time_id Map_Time channel_number channeljabel stationjpriority iastance_start_datetime.
instance_end_datetime station_iti Station barkerjype Barkerjype
LogControl pk = log_id log_id load_date load_start_time load_end_time last_verify_time log_file_seqno log_file_drive
Map_Time pk = map_time_id inapjimejd headendid map_start_time map_end_time
Headend
Movie pk = program Jd programid mpaa_rating year starjating
Program
MPAA_Rating
Movie_Credits pk - program jd
ES 2 154 351 T3 + billing program_id billing
Movie actor_name role yam
Movie MPAA Reason pk = program_id + mpaa_reason programjd mpaareason seqno
Movie
MPAA Reason
MPAARating pk = mpaa_rating mpaa_rating mpaa_rating_code mpaa_ra_description
MPAA Reason pk = mpaa_reason mpaa_reason mpaa_reason_codc
MSO pk = msoid mso_id msojoame mso_owner msoaddress mso_logo
MSO_Company pk = msoid + company_id msoid company_id
MSO
CableCompany
ES 2 154 351 T3
MSOContací pk = mso_id + contact_name msoid contact_name contact_phone contactfax contact_email
PixeI_Map pk = pixel_map + character pixel_map character pixel_width
Platform pk = platform_id platformjid dotextfit
Platform_FleId pk = platform_id + fieldjype platform_id field_type characters_field_width pixels_field_width field_lines field_source_type fontjype
Platfonn_Station pk = platformjd + station_id platform_id stationjd onscreentextjd
MSO
Valid_PixeI_Map
Platform
Field_Type
Field_Type (field_type) Font_Type
Platform
Station
Text_Catalog (text_id)
ES 2 154 351 T3
Platíonn__Value pk = platform_id + ñeld_type + program_text_id platform_id field_type program_text_id platform_text_id field_source_type
Program pk = programid program_id pin live_indicator category
Program_Map pk = programid + field_type program_id field_type program_text_id
ProgramType pk = program_type program_type
Schedule pk = stationid
-i- eventdatetime station_id event_datetime series_id program_id closedcaption color_class slot nm time
Platform
Field_Type
Text_Catalog (text_id) Text_Catalog (textid) Field_Type (field_type)
Category
Program
Field_Type TextCatalog (text_id)
Station
Program
Color_Class
ES 2 154 351 T3 print_nin_time event_price purchase_start_offset purchase_end_offset purchase_call_phone preview_start_offset previewendoffset original_air_date avaibble_until guideline_weight program_type
Scheduie_Text pk = stationjd + event_datetime + fieldjype stationjd event_datctime fieldjype program_textjd fk - stationjd + event_datetime
Station pk = stationjd stationjd stationjype long_station_name
StationJType pk = stationjype stationjype station_description
System pk = system Jd systemjd system_description platformjd
Program JType
Station
Field_Type Text_Catalog (textjd)
Schedule
StationJType
Platform
ES 2 154 351 T3
System_JHeadend pk = system_id + headend_id system_id System headend_id Headend
TextCatalog pk = textjd textjd text touched
Timezone pk = timezone timezone tz_description
ValidPixelMap pk = pixel_map pixel_map
Wordlist pk = word word searchtype
ES 2 154 351 T3
Missing Stations
As shown in Figure 2, in order to check the missing stations, the user needs to designate a station list file. The station list file can contain each station in the database, a subset of stations representing stations on a particular cable system, any user-defined group of stations, or a single station. In addition, the station list file contains a data field for each station, which indicates the daily broadcast times for the station. The listing database (ie the station_id_field field) is then investigated against this file to determine if each station in the station listing file was included in the database. If missing stations are found, the total number of missing stations is incremented and displayed, and the number of the missing station is written to an output file. Planning Overlaps and Gaps
The overlap and scheduling void option operates as shown in Figure 3. The flow chart shows the performance of a single station, but the performance is the same for each station in the station list file. First, a time range is selected to check for gaps and overlaps. The system then checks the database to determine if the start of the time range matches the start of a program, and starts the process for this listing. If the beginning of the time range intersects a program that is already showing, the system starts the process with this listing. The start time (start.time) for the first listing to be checked is then retrieved from the database. If there are no gaps or overlaps in the schedule, the start time of the next list must be the start time of the previous list plus the slot execution time (slot_run_time) of the previous list. Each listing is then checked in succession, according to the following equations used to determine if there is any space or void:
Tn + 1 = Tn + RTn (the planning is correct)
Tn + 1> Tn + RTn (planning gap)
Tn + 1 <Tn + RTn (planning overlap) where T<sub>n</sub> represents the start time, and RT<sub>n</sub> the strip execution time for listing no. of the database. Each entry in the database is checked independently of the other entries, so that a scheduling gap or overlap for a particular pair of programs will not affect all subsequent listings in the database. For stations that do not broadcast 24 hours a day, a symbol occupying a non-broadcasting place is inserted in the database and treated as a program.
For some television stations, particularly first-run stations, a small gap or overlap (eg 5 minutes) may be allowed in the programs. For example, in a movie release channel, the movie may start 5 minutes after the slot time, so if the previous movie runs for 3 minutes in the slot time, there is no real overlap. Similarly, a movie with a development time of, for example, 87 minutes, will end before the next time slot begins. However, it is common for first-rate stations to fill this apparent gap with advertising or other promotional material. If that is the case, the equations can be modified as follows to reflect the fact that such small gaps and overlaps are allowable:
Tn + 1 = (Tn + RTn) ± 5 minutes (correct planning)
Tn + 1> Tn + RTn + 5 minutes (planning gap)
Tn + a <Tn + RTn - 5 minutes (planning overlap)
Lack of Titles, Copy, Fields, and Movie Ratings
The Missing Titles, Missing Copy, Missing Fields, and Missing Movie Ratings utilities operate as follows. For each of these options, the listings are checked for missing information by searching the designated field (s). For missing captions, all the different captions for a program can be checked, including the full caption (TVG) and the various abbreviated versions (that is, the grid boxes for 30, 60, 90, and 120 minutes). For the missing copy option, the long copy, short copy and copy fields can be checked
ES 2 154 351 T3 promo. In the database described by Tables 1 and 2, all text data (including program, copy, and creator titles) for a program is stored in a Text_Catalog table, which is indexed using text_id. The text_id is obtained from another table, such as the Program_Map, which consists of a battery of pointers in the Text_Catalog. The Program_Map table is indexed using programad and field_type. There is a text pointer for each of the different types of field, as indicated under the fielddescription in Table 1. Using a program, all the text data associated with a program can be retrieved.
For the missing movie rating option, the MPAArating field is checked. For the missing fields option, all fields that should be present for a particular listing are checked (according to the EPG operating rules). When any of the above fields are found to be missing, the appropriate count is incremented and displayed. In addition, the date, start time, station identification, and tag (for copy and missing MPAA ratings) are written on an appropriate departure verification report.
The missing copy option, checked if the copy is missing for all listings that should include copy, such as movies, live sports, and pay-per-view programs. The missing movie ratings option checks all premiere channels and pay-perview events for movie ratings, since only these channels broadcast unedited movies. It is also possible, of course, to generate a single check-out report that includes all the listings with missing information. In this way, a single file can be generated that lists all listings with missing film titles, copy, and / or ratings.
Long Titles and Long Copy
The operation of the long title and long copy options is as follows. Based on the support or supports selected by the user (the Platformjd field), the system checks a table in the database, which indicates the various presentation formats for each listing. For example, if the support supports both an EPG guide, both channel and interactive, each one with different presentation characteristics, the table indicates that each one must be included in the database. In this way, for a two-hour film, the system verified that there are labels for each list labeled as 30, 60, 90 and 120 minute lists, for their coupling in grid cells of different sizes for each of the two types. from EPG. If any of the required titles are missing, the system wrote enough information in the output report to identify the missing title. In addition, the system checks the multiple versions of the titles in the database, to ensure that each one fits into the space designated for the particular medium. The space required to view the listings is determined by consulting the table that lists the available sources for the support, and calculating the required space based on the font and character pair formed. The character_pair_kerning table, shown in Table 2, returns the training value for pairs of characters that have been formed, which is used to determine the actual space required for the presentation of a pair of characters. In order to avoid calculating the space required to display a complete word, each time the word is found in the database, a look-up table can be formed that includes, for each different source, the space required to display a word, counting on the formation of the pair of characters. In this way, the look-up table is queried before the required space is actually calculated. If the word is in the look-up table, it is not necessary to calculate the space requirement. If it is not, after the space requirement calculation, the word is added to the look-up table for future reference. Alternatively, in order to avoid recalculation as to whether any particular title is matched into a particular presentation for a particular medium, an appropriate tag is applied to each title that has been previously matched for text. Next, when the verification process is run, in order to determine if all text-coupled titles are present, the system checks for the presence of previously tagged titles for the specific medium.
For the long copy, each listing is checked which, according to the EPG operating rules, must include a copy. Based on the chosen medium, the system consults a table in the database that indicates the space available for the copy. Long copy is checked afterwards in the same way as long titles. If the space required for the display of the title or the copy, exceeds the available space, the count is increased and displayed, and the medium, the date, the start time, the identification of the station and the title or the long copy they are written in the appropriate verification report.
ES 2 154 351 T3
Editorial Errors
The above options check for fields that are completely missing data, and fields that include data that exceeds the designated space in it must be docked. However, they do not detect errors in the data itself. The Editorial Errors option supplements these options, by checking the data fields for particular errors. This option searches the listings for the most common types of errors found in the database. These include duplicate years and movie titles, cross-references to other days of the programming week (for shows that repeat every day), and the phrase "at press time" (often used when at press time). compiling the database, some information about a program is not yet known). For each localized editorial error, the count is incremented and displayed, and the date, time, station identification, and type of error are written to the check-out file.
The above editorial errors are only a few errors that can occur in the database. If additional types of errors are detected, these can also be checked using the editorial error option.
Inappropriate Language
The inappropriate language option is similar to the editorial errors option in that it checks the listing database for certain words and phrases that are not appropriate for an EPG. All these words and phrases are included in the language dictionary file. The database is then checked for any character strings that are equivalent to these words and phrases. If a match is found, the count is incremented by one and displayed, and the date, start time, station ID, and inappropriate language found are written to the output file. The inappropriate language utility can be configured to check every database field that contains text data. Alternatively, only some text fields can be designated to perform checks against the inappropriate language file.
Other Verification Options
The operation of the other verification options is similar to that of the options listed above. Missing show type, slot time, show origin, PPV price, and PPV promo copy can all be implemented in the same way as the other missing field options. The PPV event on a non-PPV station and the non-PPV event on a PPV station options are implemented by comparing the program_type and station_type fields for a program.
System Implementation
Those skilled in the art recognize that the system can be implemented on any of a number of digital computers. In one embodiment, a 486-based personal computer system can be used. Alternatively, due to the large amount of data that has to be processed, a more powerful computer can be used. A mass storage device, such as an optical disk, hard disk, or magnetic tape, can be used to store the database. The data verification utility can be resident in the computer, which must include a display device and a keyboard for user command input. In one embodiment, the utility is implemented in a Microsoft Windows environment for maximum user comfort. Figure 4 shows a verification setup screen for selecting the various verification options. In the upper portion of screen 10, the user selects whether to perform the verification on a group of cable systems, a single cable system, or a single source end. Furthermore, in the upper part of screen 10, the user selects the start and end times in which the data verification is executed. At the bottom of screen 20, the various verification options are selected. Alternatively, all tests can be selected with the use of a simple button. Once the verification has been performed, the user is presented with a correction menu 30, shown in Figure 5. The correction menu allows the user to correct errors by type of error. With the selection of a type of error for correction, the user is presented with the correction editor screen shown in Figure 6. The correction editor screen presents the values of the different fields for the program listing that it contains. an error, so that the user can make the appropriate changes.
ES 2 154 351 T3
Once the data has been processed through the data verification utility, and additions, changes, and edits are made to the listing database, the data for a particular cable system is extracted and prepared for transmission to the listing database. cable system. At this stage, the data corresponding to a particular channel map is extracted from the database and converted to ASCII format or to a binary data format, capable of being read by the cable system. The data file can be transmitted to the cable system by any of several devices, such as satellite, telephone line, portable storage medium, or broadcast.
In an alternative embodiment, the data verification utility may be resident at each of the source ends of the cable system. In this way, the individual cable system data file is extracted from the program listings database and transmitted to the cable system. The various verification options associated with the utility can be run at the originating end of the cable system prior to transmitting the EPG data to individual viewers. In this way, only the data for the stations carried by the particular cable system is checked. The advantage of this arrangement is that it provides listing editing capabilities on each cable system, so that errors not detected by the EPG provider can be corrected, and last minute changes can be reflected in the data provided to users. viewers.
The code for a particular computer program to implement the invention described herein is readily apparent to those skilled in the art of video system programming and graphic display based on the description contained herein and the associated Figures. Those skilled in the art will also appreciate that they can depart from the specific embodiment of the invention described herein without departing from the true scope of the appended claims.
Contents19
7 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7
40 members in 15 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 19940330684 | United States of America | – | |
| 33068494 | United States of America | A | |
| 33068494 | United States of America | A | |
| 95937668 | – | – | – |
| US19940330684 | – | – | – |
Members40
| Document | Office | Kind | |
|---|---|---|---|
| CA2203017A1 | Canada | A1 | |
| WO9613935A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU3970795A | Australia | A | |
| US5576755A | United States of America | A | |
| EP0788713A1 | European Patent Office (EPO) | A1 | |
| BR9509532A | Brazil | A | |
| MX9703047A | Mexico | A | |
| JPH10512692A | Japan | A | |
| AU700801B2 | Australia | B2 | |
| JP2974784B2 | Japan | B2 | |
| EP1026894A1 | European Patent Office (EPO) | A1 | |
| EP0788713B1 | European Patent Office (EPO) | B1 | |
| AT197865T | Austria | T | |
| ATE197865T1 | Austria | T1 | |
| DK0788713T3 | Denmark | T3 | |
| DE69519524D1 | Germany | D1 | |
| ES2154351T3This record | Spain | T3 | |
| DE69519524T2 | Germany | T2 | |
| GR3035412T3 | Greece | T3 | |
| PT788713E | Portugal | E | |
| HK1031796A1 | Hong Kong, China | A1 | |
| CA2203017C | Canada | C | |
| EP1026894B1 | European Patent Office (EPO) | B1 | |
| AT246428T | Austria | T | |
| ATE246428T1 | Austria | T1 | |
| DE69531414D1 | Germany | D1 | |
| EP1377056A1 | European Patent Office (EPO) | A1 | |
| DE69531414T2 | Germany | T2 | |
| ES2204445T3 | Spain | T3 | |
| HK1063125A1 | Hong Kong, China | A1 | |
| EP1377056B1 | European Patent Office (EPO) | B1 | |
| AT442738T | Austria | T | |
| ATE442738T1 | Austria | T1 | |
| DE69536003D1 | Germany | D1 | |
| PT1377056E | Portugal | E | |
| ES2333210T3 | Spain | T3 | |
| EP2175646A2 | European Patent Office (EPO) | A2 | |
| EP2175646A3 | European Patent Office (EPO) | A3 | |
| EP2175646B1 | European Patent Office (EPO) | B1 | |
| ES2527951T3 | Spain | T3 |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Definitive protectionFG2A | FG2A |
Numbers
- Publication
- 2154351
- Publication, DOCDB
- 2154351
- Publication, EPODOC
- ES2154351T
- Application
- 95937668
- Application, DOCDB
- 95937668
- Application, EPODOC
- ES19950937668T
Titles2
- Spanish
- SISTEMA Y METODO PARA LA VERIFICACION DE DATOS DE GUIA ELECTRONICA DE PROGRAMAS DE TELEVISION.
- English
- SYSTEM AND METHOD FOR VERIFICATION OF ELECTRONIC GUIDE DATA OF TELEVISION PROGRAMS.
Classification
- CPC, 10
- H04H20/12
- H04H60/07
- H04H60/72
- H04N7/0887
- H04N7/10
- H04N7/16
- H04N17/00
- H04N21/26283
- H04N21/2665
- H04N21/84
- IPC, 11
- H04N7 025
- G06F17 30
- H04H20 12
- H04H60 07
- H04H60 72
- H04N7 03
- H04N7 035
- H04N7 088
- H04N7 10
- H04N7 16
- H04N17 00