System and method for verification of electronic television program guide data
Abstract
A method for creating a program of television programs available through a central distribution system, the method comprising: storing a database of television program listings collected from one or more information providers, the database comprising files of data for the television channel data for a plurality of television channels; extract from the database the data that provide a program schedule for the distribution system; and transmit the data to the distribution system to make program programming available through the distribution system; characterized in that: (10) the user is provided with the ability to use a data input device to select one or more channels from the plurality of channels and a range of program programming hours, in which one or more channels and the Program schedule hours are identified with one or more of the data fields; one or more of the data fields is automatically analyzed with a data processor to locate at least one of the invalid data or lost data (20); a report of the errors detected is provided; and the user is provided with editing means (30, 40) by which the user can correct the errors detected before the data is transmitted to the distribution system.

Term
Term ended
Projected expiry passed 27 October 2015, 10.9 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
14 claims: 14 independent, 0 dependent
- 1ES 2 204 445 T3 ES 2 204 445 T3 CLAIMS REIVINDICACIONES 1. A method of creating a television program schedule available through a central distribution system, the method comprising:1. Un método para crear una programación de programas de televisión disponible a través de un sistema de distribución central, comprendiendo el método: almacenar una base de datos de listados de programas de televisión recogidos desde uno o más proveedores de información, comprendiendo la base de datos ficheros de datos para los datos de los canales de televisión para una pluralidad de canales de televisión;storing a database of television program listings collected from one or more information providers, the database comprising data files for television channel data for a plurality of television channels;extracting from the database the data that provides a program schedule for the distribution system;and transmitting the data to the distribution system to make program programming available through the distribution system;extraer de la base de datos los datos que proporcionen una programación de programas para el sistema de distribución;y transmitir los datos al sistema de distribución para hacer que la programación de programas esté disponible a través del sistema de distribución;caracterizado porque: characterized in that: se proporciona (10) al usuario la capacidad de utilizar un dispositivo de entrada de datos para seleccionar uno o más canales desde la pluralidad de canales y un rango de horas de programación de programas, en el que uno ó más canales y el rango de horas de programación de programas se identifican con uno o más de los campos de los datos;the user is provided (10) with the ability to use a data entry device to select one or more channels from the plurality of channels and a range of program programming hours, wherein one or more channels and the range of hours Programming programs are identified with one or more of the data fields;one or more of the data fields is automatically analyzed with a data processor to locate at least one of the invalid data or the missing data (20);se analiza automáticamente con un procesador de datos uno o más de los campos de los datos para localizar al menos uno de los datos no válidos o los datos perdidos (20);a report of detected errors is provided;and the user is provided with editing means (30, 40) whereby the user can correct detected errors before the data is transmitted to the distribution system. se proporciona un informe de los errores detectados;y se proporciona al usuario medios de edición (30, 40) mediante los cuales el usuario puede corregir los errores detectados antes de que se transmitan los datos al sistema de distribución.
- 2El método definido en la reivindicación 1, en el que el análisis automático con un procesador de datos de uno o más de los campos de datos comprende el análisis automático con el procesador de datos de uno o más de los campos de datos para al menos uno de los títulos perdidos, copia perdida, y campos perdidos (20). two. The method defined in claim 1, wherein the automatic analysis with a data processor of one or more of the data fields comprises the automatic analysis with the data processor of one or more of the data fields for at least one of lost titles, lost copy, and missing fields (20).
- 3The method defined in claim 1, wherein the automatic analysis with the data processor of one or more of the data fields comprises the automatic analysis with the data processor of one or more of the data fields of at least one of long titles and long copies (20). 3. El método definido en la reivindicación 1, en el que el análisis automático con el procesador de datos de uno o más de los campos de datos comprende el análisis automático con el procesador de datos de uno o más de los campos de datos de al menos uno de los títulos largos y copias largas (20).
- 4El método definido en la reivindicación 1, en el que el análisis automático con el procesador de datos de uno o más de los campos de datos comprende el análisis automático con el procesador de datos de uno o más de los campos de datos de los errores de edición (20). Four. The method defined in claim 1, wherein the automatic analysis with the data processor of one or more of the data fields comprises the automatic analysis with the data processor of one or more of the data fields of the errors of edition (20).
- 5The method defined in claim 1, wherein the automatic analysis with the data processor of one or more of the data fields comprises the automatic analysis with the data processor of one or more of the data fields of the inappropriate language ( twenty). 5. El método definido en la reivindicación 1, en el que el análisis automático con el procesador de datos de uno o más de los campos de datos comprende el análisis automático con el procesador de datos de uno o más de los campos de datos del idioma inapropiado (20).
- 6The method defined in claim 1, wherein the automatic analysis with the data processor of one or more of the data fields comprises the automatic analysis with the data processor of one or more of the data fields of the evaluations of the movies (20). 6. El método definido en la reivindicación 1, en el que el análisis automático con el procesador de datos de uno o más de los campos de datos comprende el análisis automático con el procesador de datos de uno o más de los campos de datos de las evaluaciones de las películas (20).
- 7The method defined in claim 1, wherein the automatic analysis with the data processor of one or more of the data fields comprises the automatic analysis with the data processor of one or more of the data fields of the program type lost (20). 7. El método definido en la reivindicación 1, en el que el análisis automático con el procesador de datos de uno o más de los campos de datos comprende el análisis automático con el procesador de datos de uno o más de los campos de datos del tipo de programa perdido (20).
- 8The method defined in claim 1, wherein the automatic analysis with the data processor of one or more of the data fields comprises the automatic analysis with the data processor of one or more of the data fields of the lost price of payment programs (20). 8. El método definido en la reivindicación 1, en el que el análisis automático con el procesador de datos de uno o más de los campos de datos comprende el análisis automático con el procesador de datos de uno o más de los campos de datos del precio perdido de los programas de pago (20).
- 9The method defined in claim 1, wherein the automatic analysis with the data processor of one or more of the data fields comprises:9. El método definido en la reivindicación 1, en el que el análisis automático con el procesador de datos de uno o más de los campos de datos comprende: la selección de un fichero de lista de canales que identifica uno o más canales de televisión;y la comparación automática con el procesador de datos del fichero de la lista de canales con respecto a los campos de datos de la base de datos, para determinar si cualquiera de uno o más canales de televisión en el fichero se han perdido en la base de datos. selecting a channel list file that identifies one or more television channels;and automatic comparison with the data processor of the channel list file against the data fields of the database, to determine if any of one or more television channels in the file have been lost in the database. data. ES 2 204 445 T3 ES 2 204 445 T3
- 10The method defined in claim 1, wherein the central distribution system is a cable television system or another pay television system. 10. El método definido en la reivindicación 1, en el que el sistema de distribución central es un sistema de televisión por cable o bien otro sistema de televisión de pago.
- 11El método definido en la reivindicación 1, comprendiendo además la transmisión por el sistema de distribución central de los datos, suministrando la programación de los programas a una pluralidad de telespectadores. eleven. The method defined in claim 1, further comprising transmission by the central data distribution system, supplying the programming of the programs to a plurality of viewers.
- 12The method defined in claim 1, further comprising the automatic analysis with the data processor of one or more data fields to determine for each selected channel / channels if each of the following inequalities is substantially satisfied:12. El método definido en la reivindicación 1, comprendiendo además el análisis automático con el procesador de datos de uno o más campos de datos para determinar para cada canal/canales seleccionado/s si se cumple substancialmente cada una de las siguientes desigualdades: Tn + 1> Tn + RTn Tn+1 > Tn + RTn Tn + 1 <Tn + RTn where Tn indicates the programming time, and RTn indicates the execution time for listing the program of order n in the database for a selected channel, and Tn + 1 denotes the programming time. programming for the listing of the television program of order n + 1 in the database of the selected channel. Tn+1 < Tn + RTn en donde Tn indica el tiempo de la programación, y RTn indica el tiempo de ejecución para el listado del programa de orden n en la base de datos para un canal seleccionado, y Tn+1 denota el tiempo de programación para el listado del programa de televisión de orden n+1 en la base de datos del canal seleccionado.
- 13The method defined in claim 1, further comprising a report of a start time and an end time of one or more schedule gaps and schedule overlap. 13. El método definido en la reivindicación 1, comprendiendo además un informe de una hora de inicio y una hora de terminación de uno o más espacios vacíos de programación y de solapado de programación.
- 14A system for creating a television program schedule available through a central distribution system, comprising means for carrying out the method defined in any one of claims 1-13. 14. Un sistema para crear una programación de programas de televisión disponible a través de un sistema de distribución central, comprendiendo medios para llevar a cabo el método definido en la cualquiera de las reivindicaciones 1-13. 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 protección a productos químicos y farmacéuticos como tales. Esta información no prejuzga que la patente esté o no incluida en la mencionada reserva. This information does not prejudge whether or not the patent is included in the aforementioned reservation.
Independent claims14
365 paragraphs in 18 sections, as filed
ES 2 204 445 T3
DESCRIPTION
System and method for data verification of the electronic television program guide.
Background of the invention
This invention is related to a method of creating a television program schedule available through a central distribution system, through which television channels are distributed to users. More particularly, it relates to a method such as the one mentioned in which the EPG data can be verified in advance of transmission to a plurality of remote locations, such as the head-ends of the cable system or the locations of the viewers.
Electronic program guides for television systems are known in the art, particularly with respect to cable television systems. For example, a common implementation of an electronic program guide uses a dedicated cable television channel to continuously broadcast program schedule information. The advantage of such a system is that it is relatively easy to deploy because it is centrally implemented at the head end of the cable system. No additional electronics or software are required at the viewer site because complete control of the screen is maintained at the head end of the cable system. The screen information is then broadcast continuously on a dedicated cable channel. The viewer simply tunes the cable box-converter or the television tuner to the channel on which the programming information is modulated, thus being able to view the program listings. Typically, these program guides use a scrolling display of program listings or a fixed display that changes periodically. Some systems use a partial listing screen with additional information on the rest of the screen, such as pay-per-view movie ads, pay-per-view (PPV) event schedules, time and weather information, and other business information. These systems generally incorporate a grid or matrix to display the information on the programming of the programs, with a different row for each channel and columns representing different time intervals. Additionally, interactive program guides are well known. Said guides allow the user to select the program listings to be viewed, based on the user's selection criteria, and displaying the listings on the television receiver with a desired format. Interactive guides are more versatile than dedicated channel guides, because they operate under the control of the user. However, they are more expensive to implement because they require memory and processor capabilities at each user site. The present invention can be used either with the dedicated channel or with the interactive program guides, because it operates on the data of the program listings in both types of guides.
Modern cable systems include up to 100+ channels. Thus, for both dedicated channel and interactive program EPGs, large amounts of data are required to provide a complete list of program schedule information. A common problem for both types of systems is that there are frequent errors in the data that have to be corrected. Errors can arise due to various reasons. First of all, it is common for a complete database of program listings to have to be compiled from various sources. Much of the data is available on a national basis, including network programming (both broadcast and cable), pay-per-view (PPV) program listings, and regional programming. Some data, however, can be obtained locally, including locally sourced programs, channel maps for individual cable systems, and pricing rates for “pay-per-view” (PPV) programs. The fact that there is no single entity responsible for compiling the complete database of listings increases the risk of errors. For example, some of the data may need to be converted to a different format before it can be used in the program guide.
Second, the listings database contains a large amount of data. Electronic program guides, whether of the dedicated channel or of the interactive variety, include a database that includes the information of the program listings for the different stations and for the “pay per view” (PPV) channels. The data in the listings can be configured in weekly blocks or in other periods of time. As an example, suppose a cable system with eighty channels (80), each broadcasting 24 hours a day. Assuming for each station a daily average of four hours of two-hour programs, five hours of after-hours programs, and the rest comprising half-hour programs, 37 different programs would be broadcast per channel and per day. Thus, a one-week database will comprise an average information of 37 x 80 x 7 = 20,720 programs. Although many shows repeat on a daily basis, it is clear that even a week's rating of show listings for the average cable system is a large amount of data. Additionally, although much of the data can be compiled in advance, a substantial number of listings can be added, and taking into account schedule changes, very 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, certain programs, mainly sporting events, are not scheduled in advance of other programs. For example, although a time slot can be created for a baseball game, it may not be known until a week in advance of the baseball game, or the particular game to be broadcast. Thus there is a need to efficiently and accurately identify entries in a listing 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 utility information
ES 2 204 445 T3 limited. There is 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 procedure for verifying the data, to reduce the number of hours required of a manual type. Thus, there is a need for an automated system and method of reviewing EPG data, and for flagging any errors therein. Additionally, there is a need to provide a list of such errors to the database editor, to allow the editor to take any corrective action if necessary. In addition, different data may need to be generated for different cable systems because, for example, each cable system may have different programming or different "pay per view" programs or schedules.
A complicating factor is the need for a program listings database that is compatible with a plurality of different platforms. Different cable systems may have different hardware configurations at the cable system headend and different decoder-converters at viewer locations. For example, EPGs typically display program listings in grid format with columns representing different time slots, and rows representing different channels. Set-top boxes vary in their text display capabilities. Some can display text using a proportional typeface font, while others use a standard font. Additionally, some are configured to display symbols in the grid cells in addition to the text, which reduces the space available to display the text. Thus, the database can be configured to accommodate the different capabilities of the set-top boxes. One way to do this is by editing the text (program titles, copies, station identifications, and any other text included in the EPG), to abbreviate any text that does not fit within a grid cell. in particular. An aid system in this process of "text fitting" is described in the patent application pending together with the present one, serial number 08/247059. Thus, when verifying data prior to transmission to a cable system, it is necessary to specify the platform on which the EPG operates, in order to determine if the listings are properly edited for the particular platform.
The document “Digital display on screen, a new technology for the consumer interface”, by Brugliera V., Proceedings of the International Television Symposium and Technical Fair, CH, Geneva, CCITT, vol. SYMP. 18, 1993, pages 571-586, XP000379382, describes a system in which a screen display information gateway computer is designed to receive dynamic information, in the form of program guides from many outside data providers, and then moving the data output to the subscriber decoder. In particular, the gateway computer receives data input from several typeface sources concurrently, transferring the data to an on-screen display format, and providing the data to the out-of-band transmitter, and finally to the subscriber.
The system and method of the present invention provides an automated checking of the data of the program listings in the database. The disclosed invention solves these and other problems of prior art EPG guide systems by providing a system and method for verification of EPG data in advance of transmission to cable systems or another "pay per view" system. (PPV) (or before broadcast to viewers). Before being processed by the verification system of the present invention, the television program schedule listings database can undergo an initial process as follows. First, the data is collected from various information providers and checked for high-level errors. It may then be necessary to normalize the data in the EPG database structure and format it, as information collected from different sources may use different formats and syntax. Finally, the data can be processed with a text nesting system to determine if any titles in the database may need editing, in order to fit them into a grid cell, with a predetermined dimension for any of the different platforms on which the EPG guides operate. Alternatively, the text fitting process can be incorporated as part of the listing verification process, so that the text that requires editing fits within a particular grid cell dimension that is identified and displayed. to the user for editing, if it is not already included in a pre-edited text library or query table.
At this stage, the list verification system and procedure of the present invention operates on the data to be checked for errors in the data. In particular, the checks can be run for any missed stations, schedule gaps, schedule overlaps, missing titles, missing copies, missing fields (i.e. run times, time slot time, schedule type), lost movie price rates, lost program source, lost PPV price, PPV events, or non-PPV stations, non-PPV event at a PPV station, inappropriate language, long titles, long copies, and editing errors. The term "long" is used here to refer to text that is too long to fit within the assigned grid space in the program guide. Errors can be written automatically to output files and in separate files that are used for each of the above parameters.
The database can also be processed by 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 individual channel maps, which contain identification information of the stations supported by a cable system, as well as the hours of radio broadcasting for each station. Program listings can be searched using the program title, number
ES 2 204 445 T3 of program identification (PIN), or the name of the station. It is preferable to execute these verification stages in advance of the verification of the listings and the fitting of the text, in order to ensure that all the data in the data file has been processed through these last two stages. Alternatively, the listing verification process can be re-executed if any edit is performed after the initial data verification. Finally, an extraction process is run against the database to create data files, containing specific cable system data based on a specified data range and channel map. The data files can be of type ASCII or packaged binary files readable by the cable system for which they are destined. Finally, the data is processed according to the specific platform and being transmitted to the assigned cable system. The cable system as used herein is not limited to standard cable television systems, but includes direct broadcast television systems, radio-type pay television systems, and any other broadcast program distribution system. television, including central control over the distribution of television signals for a plurality of stations.
In accordance with an exemplary embodiment, a method is provided for creating a television program schedule available through a central distribution system, the method comprising:
storing a database of television program listings collected from one or more information providers, the database comprising data files for television channel data for a plurality of television channels;
extracting from the database the data that provides a program schedule for the distribution system; and transmitting the data to the distribution system to make program programming available through the distribution system;
characterized in that:
the user is provided with the ability to use a data entry device to select one or more channels from the plurality of channels and a range of program programming hours, in which one or more channels and the range of program programming hours programs are identified with one or more of the data fields;
one or more of the data fields is automatically analyzed with a data processor to locate at least one of the invalid data or the missing data;
a report of detected errors is provided; and the user is provided with editing means by which the user can correct detected errors before the data is transmitted to the distribution system.
In the exemplary embodiment, the automatic analysis with a data processor of one or more of the data fields comprises the automatic analysis with the data processor of one or more of the data fields for at least one of the missing files, lost copy, and lost fields.
In the exemplary embodiment, automatic analysis with a data processor of one or more of the data fields comprises automatic analysis with the data processor of one or more of the data fields for at least one of the long titles and of the long copy.
In a further exemplary embodiment, analyzing one or more of the data fields with a data processor comprises automatic analysis with the data processor of one or more of the data fields for editing errors.
In an exemplary embodiment, automatic analysis with a data processor of one or more data fields comprises automatic analysis with the data processor of one or more of the data fields for an inappropriate language.
In an exemplary embodiment, automatic analysis with a data processor of one or more data fields comprises automatic analysis with the data processor of one or more of the data fields for lost movie price rates.
In an exemplary embodiment, automatic analysis with a data processor of one or more data fields comprises automatic analysis with the data processor of one or more of the data fields for the missing program type.
In an exemplary embodiment, automatic analysis with a data processor of one or more data fields comprises automatic analysis with the data processor of one or more of the lost price data fields for payment programs.
ES 2 204 445 T3
In an exemplary embodiment, automatic analysis with a data processor of one or more of the data fields comprises:
selecting a channel list file that identifies one or more television channels; and automatically comparing with the data processor the channel list file against the data fields of the database, to determine if any of one or more television channels in the file are missing from the database.
In the exemplary embodiment, the central distribution system is a cable system or other pay television system.
In an exemplary embodiment, the method further comprises transmission by the central distribution system of data providing program programming to a plurality of viewers.
In an exemplary embodiment, the method further comprises automatic analysis with the data processor of one or more of the data fields, to determine for one or more selected channels whether each of the inequalities is substantially met:
Tn + 1> Tn + RTn
Tn + 1 <Tn + RTn where Tn denotes the programming time and RTn denotes the execution time for the nth list of television programs in the database for a selected channel, and Tn + 1 denotes the programming time for the n + 1 listing of television programs in the database for the selected channel.
In an exemplary embodiment, the method further comprises providing a report of a start time and an end time of one or more of a schedule free slot and a schedule overlap.
In an exemplary example, a system is provided for creating a television program schedule available through a central distribution system, comprising means for carrying out the above-described method.
Brief description of the drawings
Fig. 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 showing the complete operation of the data verification system of the present invention.
Fig. 3 is a flow chart showing the operation of the scheduling gap and overlap verification stage for an embodiment of the data verification system of the present invention.
Figure 4 is an illustration of the 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 function of one embodiment of the data verification system of the present invention.
Detailed description of the preferred embodiment System configuration
Fig. 1 is a block diagram schematically showing the general configuration of an embodiment of an electronic program guide delivery system. The information for the database can originate from a number of different information providers. For example, one source may provide all national listings that may include network programming (both broadcast and cable), and regional program programming, or alternatively, it may be multiple sources of such information. A single second source (or combination of second sources) can provide local listing information, which includes schedules for locally sourced programs, channel maps for individual cable systems, and
ES 2 204 445 T3 information about shared channels (cable channels that support different programming during different parts of the day). A third party information provider (for multiple providers) can supply all listing information for “pay per view” (PPV) events. It may even be the case that these categories of program schedule information are supplied by multiple sources. Of course, it is also possible that all the information is concentrated and supplied by a single source or that the overlapping information is concentrated from multiple sources. Additionally, there may be other information providers such as billing vendors that supply billing information.
Due to the fact that the listing database is likely to be comprised of information from a variety of different sources, which may or may not supply the data in the desired format, it may be necessary to perform format conversion and / or verification. of the syntax in 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 further processing. A second function that can be performed on the data is the preflight edit. An example of such editing is the processing of the data by means of the text fitting system set forth in the patent application pending together with this, serial number 247059. Text fit processing, in effect, expands the database to include multiple text field values for individual listings to accommodate different EPG guide platforms. For example, by varying the amounts of space that are allotted for program titles for different platforms. Additionally, within the same platform, multiple versions of a title may be required to fit within the grid cells of, for example, a two hour, 30, 60, 90 and 120 minute program. The text fit system determines whether an edited version of a title is necessary to fit within the space allotted for a particular deck and in the grid cell. The database is then edited to include a shortened version of the title, as well as the full title for the listing. It is also possible that a part of the data already contains multiple versions of the titles as well. In some cases, it may be desirable to incorporate the text-fitting process into the verification utility, by using the verification utility to first identify the listings that require text-fitting processing, and then running the system fit of the text in 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.
Following the pre-verification processing steps, the listings database is assembled and processed by the data verification system. As shown in figure 1, the data verification system operates on the database of the listings, and generates error reports of the errors found. Program listings and channel map editing systems are used to introduce data changes to the listings database. The data verification system operates under the control of the user, to determine which are the fields to be checked. Alternatively, the system can operate fully automatically to check all fields of the data. An advantageous feature of an embodiment of the present invention is the creation of reports for each type of error. The reports allow the publisher to resolve any missing or conflicting information in the database with the information provider. The reports can be generated electronically and then viewed on a computer, stored in an electronic format, or printed as hard copies. The utility operates on the database of program listing information for a user-defined period of time, such as one week. For each verification utility, stations can be selected individually, by channel map, platform type, multi-system operator (“MSO”) or by arbitrary grouping. Each of the processing options associated with the system are discussed below. The operation of the different options is exposed under the section with the title "System Operation".
1. Lost 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, which includes a list of stations that should be listed. be included in the database of listings or subset such as a station list file for a particular cable system. The missing station verification utility then generates a file with the list of lost stations.
two. Scheduling clearances and overlaps
It is important to ensure that there are no gaps or overlaps in the programming of the programs. Included in the database is an indication of the daily broadcast periods of each station. The database is then checked to determine whether, for any assigned station, there are any gaps between the end time of one program and the start time of the next program. Listing end times are calculated by adding the program time interval (total time until the beginning of the next listing) to the start time. The system provides the flexibility of being able to specify any range of hours to check for clearances and overlaps. If the beginning of a time range for a channel does not coincide with the beginning of a program, the system will check the "intersection list", that is, the list that starts before and ends after the beginning of the specified time range. The null spaces of the schedule are recorded by writing them to a file that includes the date, station, start time, and the end time of the null space or with enough other information to uniquely identify the null space of the schedule.
ES 2 204 445 T3
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 signaled as a program overlap error.
3. Lost titles
The listings database is checked to see if there are missing titles for program events, that is, where the listing does not have the title field. Listings with missing titles are written to a file that includes the date, season, and start time of the listing.
Four. Lost copy
Certain program listings include additional descriptive information in addition to the title of the program, referred to as a "copy." This information includes movies, live sports, and pay-per-view (PPV) programs. Additional information may also be supplied for other programs as well, as determined by operating rules for the EPG. The lost copy option checks these listings to see if there is a missing copy and writes those listings to a file with sufficient context data to identify the show, such as the show's date, station, start time, and title.
5. Lost 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 rules as defined by the EPG provider, the schedule information for pay-per-view (PPV) and premium movies include an MPAA rating, as this parameter can be used by viewers to block certain movies. Thus, the missing fields option will check that the MPAA assessment, as well as other fields dictated by operating rules, are in the database for the “pay per view” (PPV) and premium listings. For PPV events, operational rules may further dictate that the schedule information include pricing information, a phone number to order the event, and the promotional copy used for advertising the event. The missing fields option will then check these fields as well as the programs designated as PPV events. Similarly, operational rules may dictate different required fields for other types of listings. Listings with missing fields are written to a file that includes the date, station and start time of the program, as well as an identification of the missing field.
6. Lost movie evaluation
Listings database includes MPAA movie ratings for movies to be viewed on premium and PPV channels. Such movies with missed ratings are written to a file that includes the date, station, start time, and movie title.
7. Long titles
Part or all of the data in the database may have already been processed with the text fit system, to provide multiple titles as required to fit into the grid cells. The long titles option allows the user to run an additional check for any titles that do not fit within the maximum allowable space for one of the selected platforms, and also identifies those entries not yet processed with the text fit system. The different titles found are written in a file that includes the platform, date, station, start time, and title of the listings. This option can be selected for any of the platforms on which the EPG guides operate. Titles can then be processed using the text fit and verification utility rerun on the database.
8. Long copy
This option is similar to the long copy option and searches the listing database for copying movies, live sports, pay-per-view (PPV) shows, and any other copied entries that do not fit the list. allowable space for selected platforms. Any listings found are written in a file that includes the platform, date, station, start time, and title of the listings.
9. Editorial errors
The list database is searched to see if there are editing errors that may include, among others, duplicate titles or years in the copy of a film, cross references to other days, or certain phrases such as "press time ”. Editing errors are written to a file that includes the date, station, start time, and description of the error found in each listing. Of course, these particular errors represent only one particular embodiment of the system designed to detect the most common types of errors, and the utility can be easily modified to detect any specified editorial errors.
ES 2 204 445 T3
10. Idiom
This option searches the database for inappropriate language listings in titles, copy, and messages. The listing database is checked against a language dictionary that includes anything deemed inappropriate for the language. Listings with that language are written to a file that includes the date, station, start time, and the inappropriate language found.
eleven. Other verification options
The above options to verify the data in the listing database are not exhaustive. The verification system can be easily configured to verify any field in the database. Some of the other fields that can be checked are as follows: missed program type, missed time slot time, missed broadcast time, lost program source, PPV event on a non-PPV station, non-PPV event on a station PPV, and lost price or promotional copy for PPV events. The program types refer to the type of broadcast, ie broadcast, PPV, quasi-video on demand (“NVOD”), and so on. The duration of the time interval of a program is the total time from the beginning of one program to the start of the next program, including advertising time, and the execution time of the program is the current execution time of the program itself. . The length of a program's interval can exceed (or be slightly less than) its execution time, which is another possible verification option. Program source indicates the source of the program. The program type and station type are used to check if a PPV event is scheduled on a non-PPV station, and if a non-PPV event is scheduled on a PPV station.
It will be recognized by those skilled in the art that the particular information written in the appropriate file upon locating an error or omission is not critical. All that is necessary is that all sufficient context data be supplied to uniquely identify the fault listing for remediation 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 of the same, and the generation of the different error reports, the system can be configured to return to the parts of the database identified as those that contain errors, retrieving the appropriate database entries, and presenting them to the user for correction. Following error correction, 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.
System operation
The data verification utility operates as shown in the flow chart of figure 2. First, the user is asked to specify the platform or platforms and the channel maps for which the utility has to be executed. Alternatively, with a database such as described in Tables 1 and 2, the user only needs to specify the cable group, system, or headend. The verification system can then extract the platform (s) and channel map (s) from the database. Next, the desired verification options are selected. Alternatively, the user can choose to enable all verification options. Depending on the options selected, the user is prompted for additional information. If the option "Check long titles" or "Check long copy" is selected, the user has to enter the path and name of the file from a font library file, in order to determine the appropriate font to use to display the text. If the selection of a platform determines exclusively the font of typefaces, this stage can be eliminated since the file can be selected automatically. The particular typeface font affects the space required to display the text. Of course, the user may be supplied with a list of possible files and will only need to select one file from the displayed list. If the option "Check lost stations" is selected, the user will be asked to enter a master list of all stations that should appear in the listings database, or a subset of stations that represents the list of a cable system in particular. This information can be contained in a station list file. If "Check Language" is selected, the user enters a language dictionary file containing a library of inappropriate words. Finally, the user is asked to enter a path and file names for the check-out reports. Of course, a default path and filename can be used. Separate verification reports are generated for each selected option. The user can also combine selected reports into a single report.
Alternatively, to minimize the amount of user interaction required, 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 headend), the database contains a table with the correct platform (s), and a table with the lists of the different fonts available for use with the platforms. , so you don't need to designate the font library file. Similarly, the language dictionary file can be defined by platform selection, eliminating the need for the user to define the file.
Following the entry of all the requested information, the data verification utility displays the selected options and the parameters entered by the user, for confirmation by the user. Starts
ES 2 204 445 T3 then the data verification process. Following processing, the system displays a summary report to the user that shows the total accumulated errors located for each of the selected options. Additionally, output reports are generated for each of the selected options, including all the listings found with the error or omission found.
Table 1 is an alphabetical list of all the fields in one embodiment of the 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 entry in the database. For example, fields such as actor_name, mpaa_rating, mpaa_ra_description, mpaa_reason, mpaa_reason_code, star_rating, and year will generally only be used for movies. Those skilled in the art will recognize that the data verification utility set forth may be designed to operate with any database configuration. Table 2 shows the structure of the relational database in figure 1, showing how the different fields in the database are organized, as well as the primary keys (pk) and foreign keys. The bold typeface indicates the name of a table in the database and the entries listed below are the fields that make up the table.
TABLE 1
Element Definition Referenced By
<td>actor jome</td><td>* \ name of actor \ type VARCHAR2 (64)</td><td>Movie__Credhs</td>
<td>availablejmtil</td><td>= \ date A time YCTV program ends \ type DATE</td><td>Schedule</td>
<td>barker_description</td><td>»\ Text describemg 'barkcr type' \ typc VARCHAR2 (32)“</td><td>BarterType</td>
<td>barfcerjype</td><td>»\ Video barlcer type \ type NUMBER (4,0) tange {0 ... 5}</td><td>Baricer_Type InstanceTíme ChatmeÍMap</td>
<td>biflinj</td><td>»\ Actor credit ranlong \ type NUMBER (2,0)</td><td>Movie ^ Credits</td>
<td>category</td><td>= \ program category \ type VARCHAR2 (16) unique</td><td>Category Program</td>
<td>channeljtumber</td><td>= \ headend channd number \ type NUMBER (l, 0)</td><td>Channd_Map InstaneeJFime</td>
ES 2 204 445 T3 tange {O ... 9,999,999} C3aond_Map_ppv
<td>channel_label</td><td>= * \ patallel chame! station label \ type VARCHAR2 (16) ChanoeI_Map_PPV</td><td>Chatmel_Map Insunce / Time</td>
<td>cbancter</td><td>= »\ 8 bit ASCO chatacter \ • type NUMBER (3,0) tange {0 ... 2S5}</td><td>Pixei_Map</td>
<td colspan="2">cbarecters_fíeld_widü> » (chanelen) \ natform_Fidd type NUMBER (4,0) tange {1 ... 9,999}</td><td>\ platftcmfidd widtb</td>
<td>closed caption</td><td>«\ Closed captionisg indicator \ type NUMBER (5, 0) [BOOLEAN] tange {YES | NOT }</td><td>Sdiedule</td>
<td>color_class</td><td>* \ color State of movie \ type VARCHAR2 (16) tange {'BW' J 'Color' | 'Colorixed *}</td><td>Color them Scbedule</td>
<td>companyjuidres</td><td>- \ cable company address \ type VARCHAR2 (512)</td><td>Cable_Company</td>
<td>company_jd</td><td>"\ Cable System company identifier \ type NUMBER (8, 0) tange {I ... 99.999.999)</td><td>Cabte_Company CorapanyéCootact MSO_Campany</td>
<td>companyjogo</td><td>= »\ Cable company logo \ type VARCHAR2 (512)</td><td>Cable_Company</td>
<td>ootnpany_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>C * bte_Corapany</td>
<td>contaet_emaii</td><td>* \ contad eleettmic mail address \ type VARCHAR2 (64)</td><td>MSO_Contact CompanyéContact</td>
<td>count_ & x</td><td>* \ contad fax phone number \ type VARCHAR2 (16)</td><td>MSOéContact Company_Contact</td>
<td>contaet_name</td><td>= \ count yam \ type VARCHAR2 (64)</td><td>MSO_Contact Company_Contad</td>
ES 2 204 445 T3 contadjAone day day_description b \ contad phone munber \ type VARCHAR2 (16) b \ day of wedt code \ typeCHAR
MSO_Contact
Company_Contad
Day
Chaanel.Map tange {ΊΓ | 'M' | T | * Τ | Ή '| 'F' | 'S',
Ctanntí_Map_PFV b \ day of week descñptioo \ type VARCHAR2 (32) tange {'Sunday'} 'Mooday' | Tuesday '| 'Wedncsday' J 'Thursday * | 'Ftiday *,' Sanmday '}
Day daylight savings time daylight savings time indicator \ ”~ type NUMBER (5, 0) [BOOLEAN] tange {YES I NO} do_textfit end_time event_datetime eventjxrice fieldjdescriptiao
Headead = \ perform textflt on assoeiated text \ type NUMBER (5. O)
Platfonn
FieM_Typc \ sudón channel broadcaa end time \ Channel_Map type DATE \ EST timestamp of broadcast event \ Schedule type DATE = \ broadcast event coa to viewer \ type NUMBER (7. 2) tange f 0.00 ... 99,999.99} * \ fíeld type desctiption \ type VARCHAR2 (32)
TVG title
Ext title
AJtl title
Grid title
Sbort oopy
Long copy
Promocopy
Originator
Guidelinc
100
201
Schedule_Text
Schedule
Qannd_Map_PPV
Field_Type '
TVG title 30 min. TVG title 60 min.
ES 2 204 445 T3 fiddjine * field_source_type fieWJype fontjype
102
103
200
201
202
203 »\ Mnnber of scnen field fines \ type NUMBER (2, 0) range {1 ... 99}« \ soune of a text fitted value \ type NUMBER (3,0) = \ type of named field on platform \ type NUMBER (3. 0)
Platform__Field Program_Map Schedule Text
Chaiacter_Pair_Keming groupjlesciiption groupjd guidelinejveight headend id \ type of font used on platform \ type NUMBER (4, 0) tange {1 ... 9,999} = · \ physical headend group identifier \ type VARCHAR2 (128) = \ logical! system group identifier \ type NUMBER (8, 0) tange {i ... 99,999,999} unique
- \ TV Guide slight recommendation! \ type NUMBER (2, 0) tange {0 ... 4} \ target headend identifier \ type VARCHAR2 (32) unique itutanee_endjdatetiine “scheduled event \ Instance_Time type DATE instance_statt_datetime scheduled event \ Instance_Time type DATE
TVG title 90 mine. TVG tule 120 min. Ext tie 30 mm. Ext tille 60 min. Ext title 90 min. Ext title 120 min. Pbtform__ReId
Platform_Field
Matform_V <lue
Field_Type Platform Value
Font_Type
Platfonn_FiekJ
Groups
Groups
Groups_Systera
Schedule
Headend
System ^ Headend
Map_Time \ end date / time of \ start date / time of
ES 2 204 445 T3 lomncLvalue ”\ loeming space value (jüxds) \ Character Pair Kenting type NUMBER (2, 0) tange {1 ... 99 J last_verify_tíme * \ last verification date and time \ type DATE
Log_Control leftcbar = \ left character of keming pair \
Chan¡cter_ £ air_Keming type NUMBER (3,0) tange {0 ... 2S5} live_indicator
Ioad_date load_end_time taad_start_time
Iog_file_drive lotjd log_file ~ seqno long_statíon_id long_station_name map_end_time map_stan_time »\ program braadcast State (Kve / taped) \ Program type NUMBER (5, 0) range {YES | NO} \ last load process date \ type DATE to \ last load process end time \ type DATE<sup>s</sup> \ last load process start time \ type DATE a \ log file drive specification \ type VARCHAR2 (128) = \ tog control file identifier \ type NUMBER (2,0) tange {1} unique «\ last log file sequence number \ type NUMBER (2, 0) a \ status identifier long fbrm \ type VARCHAR2 (64) a \ status yam (long for) \ type VARCHAR (512) a \ channel map block start time \ type DATE “\ channel map block end time \ type DATE
Log_Comrol
Log_Control
LoCLControl
Log_Control
Log_Control
Log ^ Control
Statíon
Statíon
Map_Time
MapJTime
ES 2 204 445 T3 tnapjúnejd mpaa_rating mpaararingcodfc = \ chanoel map block designator \ type VARCHAR2 (48) muque
Channel_Map_PPV - \ MPAA rating character \ type CHAR range {'Ν' | 'G' | 'P * | ,3. | .<sub>R</sub>,, J
- \ MPAA rating cade \ type CHAR (10)
MapJTiine.
InstañceJTime
Channel_Map
MPAA_Rating
Movie mpaa ta description MPAA rating code description \ MPAA Rating »yi * VARCHAR2 (128)“ range {'NR - Not Rattd' |
Ό - General Audiences' | 'PG · Paramal Guidance' | 'PG-13 - Patent! Guidance (some material not suitoble fot under 13 yra) ']' R - Restricttd *] 'NC-17. No one under 17 admitted *} mpaa tension = \ MPAA rating reason description \ “type VARCHAR2 (64)
Movie_MPAA_Reason tange {'adult themes' | 'adult situations',' sexual situations * | 'strong language * | 'violence' | 'nudity' | 'partial nudity'} mpaa reason code - \ MPAA rating reason code \ ~ type CHAR tange {T | 'A * | * S '| 'L * | * V * | 'Ν' | * Ρ ·} mso_address »\ multi system owner address \ type VARCHAR2 (312) mso_id = \ multi system owner identifiert type NUMBER (8, 0) range {1 ... 99,999,999) mso logo = \ multi system owner logo \ type VARCHAR2 (312)
MPAA_Reason
MPAA_Reason
MSO
MSO
MSO ^ Contact MSO Conmany MSO
ES 2 204 445 T3 wet me mso owner onscreenjextjd ongmal_air_date pin pixei_map pixeljvidth pixels_field_width platform_text_id platformJd b \ muid system owner description \ type VARCHAR2 (512) * \ muid system owner yam \ type VARCHAR2 (128) \ TV Guide os semen type ñaBER
Text_Catalog (textjd)
MSO
MSO
Editad_Stadon
Platfonn__Station
Schedule
- \ YCTV event first braadeast \ type DATE tange {SYSTEM_MIN_DATE ... SYSTEMJrfAXJÍATE} \ TV Guide program ¡dentifler \ Program type CHAR (20) form: pppppppp.asssssss.XX wbeze (XX is
MV b movie |
SR * signals |
MS - misceUaneoos |
SM b series master (legit lock-out) |
UN * unknown (is not asñgned)) b \ character pixel set identifler \ type NUMBER (2, 0) tange {1 ... 99} b \ width of character (pixels) \ type NUMBER (2. 0) tange {1 ... 99} * \ width of platfonn field (pixels) \ type NUMBER (4,0) tange {1 ... 9,999} b \ platfonn field text catalog id \ type NUMBER
Text_Catalog (textjd) \ taiget display unit platform \ type VARCHAR2 (16) tange {'Catalyst Visual * | 'ESP 8600x * | 'ESP SA Grid' | 'ESP Turbo' | 'Staroet Passive'}
Valid_PixelJUap FentJType PixeJ_Map Pixel_Map
Platfonn Field
Pbtfbnn_Value Schedule Text
Platform
PIatform__Fie (d
Platform__Staticm
Platfonn__Value
Edited ^ Stadon
System
ES 2 204 445 T3 prevíew_eod_offset - \ PPV preview window ená time offset \ ScheduIe ““ «ype DATE Ctannd_Map__PPV preview_start_pffset - window start time offset \ typeDATC priflt_nm_time progratnjd \ actual braadcast event range {in time \ type NUMBER (0, Q) range event {0, Q) .. 9,999,999} where (0: »continuus running time) = \ program identifier \ type NUMBER unique
Movie__MPAA_Reasoo
PrqgnmJMap
Schedule \ PPV Schedule ChameiJMap_J> PV Schedule preview
Program
Movie
Movie___Credits programjextjd \ program event field text identifier \ Program_Map prograro_ «ype type NUMBER ScheduleJText Text_Catalog (text_id) = \ type of braadcast event \ type VARCHAR2 (8) range {'Other' | 'PPV' | • YCTV | 'NVOD'}
Platform Valué
Program Type Schedule _cal | _phone - \ PPV pinchase cali phone number \ Schedule 'type VARCHAR2 (16) Oannd_Map_PPV _end.offset «\ ppv pinchase window end time offset \ Schedule type NUMBER (4,0) Qannd.Map_FPV jsan_offset« \ PPV pinchase window start time offset \ Schedule type NUMBER (4,0) Channel_Map_PPV right_char = \ right character of kenting pair \
Charaeter Pair Kenñng type NUMBER (3,0) tange {0 ... 255} role yam • \ alias actor yam \ type VARCHAR2 (64)
Movie Crodit
ES 2 204 445 T3 searcfatype “\ wonl« ardí type - wbole word or not Wordlist type NUMBER (2.0)? tange {0 | 1} series id \ prognm series ideatifier \ type NUMBER (7,0) range {1 ... 9,999,999)
Schedule b \ sequence number to maintain ooder \ Day type NUMBER (2,0)
Movie_MPAA Reason range {1 ... 99} seqno slot nm time »\ broadcast event roa time (minutes) \ Schedule type NUMBER (7.0) rouge {0 ... 9,999.999} where (0:« continuous running time) star_iating \ TV Guide movie quality rating \ type NUMBER (2,0) range (0 ... S)
Movie start time \ broadcast station channel start time \ Channel_Map sution_description stationjd type DATE * \ station type description \ type VARCHAR2 (32) range {* Broadcast * | 'Cable * | 'Premium' | 'Select Entertainment'] * PPV 1
Hits at Home * | 'YCTV *} “\ broadcast station cali letters \ type VARCHAR2 (16) unique
Ptetibnn_Station Schedule Chanoel_Map ChannePMap__PPV Schedule Text
Oiannd_Map__I »PV
Station_Type
Station
Edked ^ Starion
Inxtanoe_Tirae station_priority «\ schedule conflict resolution priority \ Channel Map type NUMBER (2,0) Instance_Time range (1 ... S) ChannelJdq ^ ppv
ES 2 204 445 T3
<td>stalioajype</td><td>«=> \ Type of status claas \ type NUMBER (2,0) range (10 ... 99}</td><td>Station_Type Statíon</td>
<td>systemjlescription</td><td>- \ system descriptxm \ type VARCHAR2 (64)</td><td>System</td>
<td>systemjd</td><td>»\ System identifier \ type NUMBER (8,0) range {1 ... 99,999,999} unique</td><td>System Gtoups___System System_Headend</td>
<td>text</td><td>= \ catalog text chazacter string \ type VARCHAR2 (512)</td><td>Text ^ Catakig</td>
<td>text_id</td><td>«\ Catalog text identifier \ type NUMBER</td><td>Text_CataJog</td>
<td>tim me</td><td>«\ Broadcast event time zone \ type CHAR (3) range {'ET | 'CT | 'MT | 'PT 1' AT | 'HAT J' LT | *Mr)</td><td>Timezone Headend</td>
<td>touched</td><td>= \ text last touched timestamp \ type DATE</td><td>TextjCatalog</td>
<td>tz_described</td><td>= \ timezone description \ type VARCHAR2 (64)</td><td>Timezone</td>
<td>word</td><td> \ proscribed work \ type VARCHAR2 (30) unique</td><td>Wonflist</td>
<td>year</td><td>= \ movie idease year \ type NUMBER (4, Q) range {0 ... 9,999) Table 2</td><td>Movie</td>
Attribute / Primary Key Table
Barkerjfype
Foreign key table
ES 2 204 445 T3 pk - barkerjype
Mnoerjiype baricerdescriptíoo
Cabte_Conipany pk companyJd companyjd companyjname companyjowner eompany_addieas companyjogo
Catcgory pk “caiegory catcgory
Channeljtiap pk = map_timc_id + ctuumel_number + ehanneljabel + station jpriority + day + start tíme
<td>map_time_id channeljraniber</td><td>MapJTime</td>
<td>cbannel label</td><td></td>
<td>staúonjHtarity</td><td></td>
<td>day</td><td>Day</td>
<td>startjime</td><td></td>
<td>end * tíme</td><td></td>
<td>station id</td><td>Station</td>
<td>barker_type</td><td>BarkerJType</td>
ChanndéMap__PTV pk - mapjimejú + channd_number + ehanneljabel + station_priority + day + start tíme
ES 2 204 445 T3 map time id dttfflieljñniber channel labe! stationjiriofity dqr stntjtune purehase_aart_ofhet mwrii "M" end offset parchase_caD_phone preview_sart_offset previewjendjoffcet eventjprice
Charat ^ JPairJKerning pk «fontjype + left_char + right_char fontjype leftjhar right_char kemiñgjalue
Cator_Class pk 8 color_class colorjlass
Company_Contact pk = companyjd + contact_name company__id contact yam emuaetjphone eontaet.fox coataaemail
Day pk »day day dayjtescripttan seqno
MspJTSme
Day
FontJPype
CabtajCompany
ES 2 204 445 T3
EditedSteÜcm foot * platfónnjd + stañonJd platfónnjd «ationjd onscreenjextjd
FWId_Type pk * field jype field jype fiekHtescriptian dojextñt
Funt_Type pk = font jype fant_type pixeHnap
Group pk = groupjd groupjd groupjiescription
Groups ^ System pk ® group_id + system Jd groupjd systemjd
Platfonn
Statioa
TextjCatalog (textjd)
Vaüd_Pix <Map
Groups
System pk = beadendjd beadendjd tiinezone Tímezone daylight_savingsjime
Instance_Time
ES 2 204 445 T3 pk «napjHnejd -i * ebóaaeljDundter 4 * channd label 4 rtutoo_priority 4- instancejtaetjSaiedine inapjiatejd MapJIune cssqiigi noniDcs ghaimai label sationjpriority instan» jíanjUtectínee Stationary Bartypee station dajl eod station datypeer time bartypeer station dajl
Lo & Contvol pk a »togjd toO * date toadjstaitjtúne toad_endjifne lattverifyJiote togJBle.séqno tog_.Sto.drhe
Map.Thae pk »ntap_tímejd mapjiraejd headend Jd mapjmtjime mapjmdjine vr__ji
HeaMBd
Movie pie «programjd program Jd« wpaa rating year starjaxing program
MPAAJRating
Movie Credlts pk - programjd
ES 2 204 445 T3 + billing progiamjd billing
Movie actorjame role yam
MovfcéJMPAAJRcaMMi pk * programjd + mpaajeason
<img file="ES2204445T3_D0001.tif" />
seqno
Movie
ΜΡΑΛ Reason
MPAAJtating pk = »mpaajating mpaajating mpaajating.code mpaajajfescrqxk»
MPAA Reason pk = mpaajeason mpaajeason mpaajeason_code
MSO pk ~ msojd msojd msojame msojowner msojaddiea msojogo
MSQ Company pk = msojd + companyjd msojd companyjd
MSO
Cable_Company
ES 2 204 445 T3
MSOContad pk * msojd + contact.name msojd conttct_name contnet_pboae
CODtBCt_ £ U contact_email
Pfxel ^ Map pk »pixel_map + diaracter pixeljnap chancter pueljvidtb
Platform pk * platfonn Jd platfonn Jd dojextfit
PIatfora> _JFÍeld pk * platfonn Jd + fieldjype platform Jd fieldjype chatactenjiddjvidth pixds field width fieldjines fieldjsoureejype fontjype
Platfonn__Station pk = platfonn Jd 4- stationjd platfbrmjd stationjd onscrcen text id
MSO
Valid_Pixel_Map
Platfonn
FieMJType
HddJype (fieldjype) Fontjype
Platfonn
Statíon
Text_Catalog (textjd)
ES 2 204 445 T3
FIatfMW_Value pie = »platfonnJd + fletójype + programjextjd platfonn jd fietójype programjextjd platfonn jextjd fletójowcejype pk = program Jd programjd pin live_indicator category
Program.Map footer «programjd 4 · fletó Jype programjd fietójype programjextjd fogramjfype pk« program jype programjype
Schedule pie - stationjd + eventjbtetime stationjd event jiatetíme seriesjd programjd closedjaption color_dass slotjunjinie
Piadora
Field_Type
TertCualog (textjd) TcxTCatalog (text id) Field_Type (fietójype)
Category
Program FieW_Type Text_Catalog (textjd)
Station
Program
CotorJHasa
ES 2 204 445 T3 print_nm_time eueaTjprice jmretaejtttfoffiBt purcfcase_end_offset pmdiaM ^ adljphoQe prevsew_staxtjofáct previewjend_ofiset originaljúrjiste available_umü guúfelinejueJgbt prognmjype
Sd> edttle_Text pk "stationjd
4- event_datetime + fiddjype stationjd event_datctune fieldjype prograsnjextjd fk b stationjd + evcnt ^ datctime
Stotíoa pk b station Jd stationjd stationjype longjstationjname
SUtion_Type pk «station jype station_type station ^ description
Sjntem pk * systeroJd system_id system_description platfonn Jd
Program_Type
Station
Field_Type
TexrCatalog (textJd) schedule
Station_Type
Platfonn
ES 2 204 445 T3
System Headend pk - systemjd + beadendjd systemjd beadendjd
TextjCatalog pk »textjd textjd text touchcd
Tímezone pk “tímezone tiinezone tz_descripcion
VaIid_PÍxel_M> p pk «pixel_map pixel_map
WordUst pk * word woid searchtype
System
Headend
Lost stations
As shown in Fig. 2, in order to check the lost stations, the user has to designate a file from a station list. The station list file can contain each of the stations in the database, a subset of stations representing stations in 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 that indicates the daily broadcast hours for that station. The listings database (ie the station_id field) is then searched against this file to determine whether each station in the station listing file is included in the database. If the lost stations are located, the total number of lost stations is incremented and displayed, the name of the lost station being written on an exit card.
Free and overlapping spaces of the schedule
The overlapping and clearances option of the schedule operates as shown in Figure 3. The flow chart shows the operation for a single station, but the operation is the same for each station in a station list file. First, a range of hours is selected to check the existence of free and overlapping spaces. The system then checks the database to determine if the beginning of the hour range coincides with the beginning of a program, and begins the process with this listing. If the beginning of the hour range
ES 2 204 445 T3 intersects with a program that is already being shown, the system begins the process with this list. The start time (start_time) for the first listing to check is then retrieved from the database. If there are no free or overlapping spaces in the schedule, the start time of the next list must be the start time of the previous list plus the execution time of the time interval (slot_run_time) of the previous list. Each listing is then successively checked, according to the equations used to determine if there is a free space:
Tn + 1 = Tn + RTn (correct programming)
Tn + 1> Tn + RTn (free space of programming)
Tn + 1 <Tn + RTn (overlapping of the schedule) where Tn represents the start time, and RTn at the time of execution of the time interval for the list of order n in the database. Each entry in the database is checked independently of the other entries, so that a free or overlapping space of the schedule for a particular pair of programs will not affect all subsequent listings in the database. For stations not broadcasting 24 hours a day, a "no broadcast" slot hold is inserted into the database and treated as a program.
For some television stations, particularly premium stations, a small free or overlapping space (ie 5 minutes) may be allowed in the programs. For example, on a premium movie channel, a movie can start 5 minutes or so after the time slot, so if the previous movie runs 3 minutes in the time slot, there is no actual overlap. Similarly, a movie with a running time of, say 87 minutes, will end before the start of the next time interval. However, it is common for premium stations to fill this obvious free space with advertising or other promotional material. If this is the case, the equations can be modified as follows, to reflect the fact that such small overlapping clearances are permissible:
Tn + 1 = (Tn + RTn) +/- 5 minutes (correct programming)
Tn + 1> Tn + RTn + 5 minutes (free space for programming)
Tn + 1 <Tn + RTn - 5 minutes (overlapping programming)
Missing Movie Titles, Copies, Fields, and Ratings
The utilities for missing titles, missing copies, missing fields, and missing movie reviews operate as follows. For each of these options, the listings are checked for missing information by searching the designated field or fields. For missing titles, all different titles for a program can be checked, including the full title (TVG) and the various abbreviated versions (that is, for the 30, 60, 90, and 120 minute grid boxes). For the lost copy option, the long copy, short copy, and promotional copy fields can be checked. In the database described by Tables 1 and 2, all text data (including program titles, copies, and originators) for a program is stored in the Text_Catalog table, which is indexed using a text_id identification. The text_id identification is obtained from another table, such as the Program_Map, which comprises an array of pointers to the Tex_Catalog table. The Program_Map table is indexed using the program_id and field_type table. There is a text pointer to the different field types as indicated under the field_description in Table 1. Using a program_id, all text data associated with a program can be retrieved.
For the lost movies rating option, the MPAA_rating field is checked. For the missing fields option, all fields that should be present for a particular list are checked (according to the operating rules of the EPG). When any of the missing fields above are found, the appropriate count is incremented and displayed. Additionally, the date, start time, station ID, and title (for copy and missed MPAA assessments) are written on the appropriate exit verification report.
The lost copy option will check the lost copy for all listings that must include the copy such as movies, live sports, and pay-per-view (PPV) programs. The Missed Movie Ratings option checks all premium channels and pay-per-view (PPV) events from movie reviews, as only these channels will broadcast raw movies. Of course it is also possible to generate a
ES 2 204 445 T3 single check-out report, including all listings with missing information. Thus, a single file can be generated listing all listings with lost movie titles, copies and ratings.
Long titles and long copies
The operation of the long titles and long copies options is as follows. Based on the platform or platforms selected by the user (Platform_id field), the system checks a table in the database that indicates the different display formats for each listing. For example, if the platform supports both an interactive guide and an EPG-type channel guide, each with different display characteristics, the table will indicate that each one should be included in the database. So, for a two-hour movie, the system will check that there are titles for each of the listings labeled 30, 60, 90, and 120 minutes, to fit within the grid cells of different sizes of the two types of EPG guides. If any of the required titles are lost, the system will write enough information on the exit report to identify the lost title. Additionally, the system checks the multiple versions of the titles in the database, in order to ensure that each one fits within the space designated for the particular platform. The space required for displaying the lists is determined by consulting the list of tables of the fonts available for the platform, and calculating the space required based on the operating system of the font-character pair. The character_pair_kerning table shown in Table 2 returns the operating system value for the character pairs, which are used to determine the actual space required to display the character pair. In order to avoid calculating the space required to display a complete word each time it is found in the database, a look-up table can be created that includes, for each different source, the space required to display a word, taking into account the operating system counts the character pair. In this way, the look-up table is consulted in advance of the actual calculation of the required space. If the word is in the look-up table, it is not necessary to calculate the required space. Otherwise, after calculating the required space, the word is added to the look-up table for future reference. Alternatively, in order to avoid re-calculating whether any particular title will fit a particular screen for a particular platform, an appropriate tag is applied to each title that has previously been embedded in the text. Next, when the verification process is run, in order to determine if all the titles embedded in the text are present, the system checks for the presence of previously tagged titles for the specific platform.
For long copies, each listing is checked that, according to the operating rules of the EPG guides, must include the copy. Based on the selected platform, the system queries a table in the database indicating the space available for the copy. The long copy is then checked in the same way as the long titles. If the space required to display the title or copy exceeds the available space, the count is incremented and displayed, and the platform date, start time, station identification and the long title or copy are written on the verification report. appropriate.
Editing errors
The above options check for fields that are data and completely missing fields, which include data that exceeds the designated space in which they have to fit. However, they do not detect errors in the data itself. The edit errors option supplements these options for checking data fields for errors. This option searches the listings for the most common types of errors found in the database. These include duplicate film titles and years, cross references to other days of the week of programming (for shows that repeat every day), and the phrase "at press time" (often used when at the time when the database is compiled, some information about a program is not yet known). For such a 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 edit errors are just some of the errors that can occur in the database. If additional types of errors are detected, they can also be checked using the edit errors 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 the mentioned words and phrases are included in the language dictionary file. The database is then checked for the existence of any character strings that match these words and phrases. If any matches are found, the count is incremented and displayed in one unit, and the date, start time, station ID, and inappropriate language found in the output file are written. The inappropriate language utility can be configured to check every field in the database that contains text data. Alternatively, only certain text fields can be designated to check against the inappropriate language file.
Other verification options
The operation of the other verification options is similar to the options listed above. The options of type of program lost, time interval time, execution time, program origin, previous
ES 2 204 445 T3
PPV and PPV promotional copy can be implemented in the same way as the other missing field options. The PPV event on a non-PPV station and non-PPV event on a PPV station options are implemented by comparing the program_type and station_type fields for a program.
Implementation of the system
It will be recognized by those skilled in the art that the system can be implemented in any number of digital computers. In one embodiment, a personal computer system based on the 486 type can be used. Alternatively, due to the large amount of data to be processed, a more powerful workstation type computer can be used. A mass storage device, such as an optical disk, hard disk, or magnetic tape, is used to store the database. The data verification utility may be resident in the computer, which includes a display device and a keyboard for entering user commands. In one embodiment, the utility is implemented in a Microsoft Windows environment for maximum user friendliness. Figure 4 shows a verification setup screen for selecting the various verification options. At the top of screen 10, the user selects whether to run the verification on a group of cable systems, on a single cable system or on a single headend. Likewise, in the upper part of screen 10, the user selects the start and end times when the data verification is executed. At the bottom of screen 20, the various verification options are selected. Alternatively, all tests can be selected using a single button. After executing the verification, the user is presented with a correction menu 30 shown in FIG. 30. The correction menu allows the user to correct errors based on the type of error. When selecting a type of error for the correction, the user is presented with the corrections editor screen shown in figure 6. The corrections editor screen displays the values of the different fields for the list of the program that contains an error , so that the user can make the appropriate changes.
Once the data has been processed by the data verification utility and additions, changes, and edits have been made to the listings database, the data for a particular cable system is extracted and prepared for transmission. to the cable system. At this stage, the data corresponding to a particular channel map is extracted from the database, and being converted to an ASCII format or to a binary data format readable by the cable system. The data file can be transmitted to the cable system by any of different means such as satellite, telephone line, portable storage medium, or by broadcast broadcast.
In an alternative embodiment, the data verification utility may be resident at each of the cable system headends. In this way, the individual cable system data file is extracted from the program listings database, and transmitted to the cable system. The various test options associated with the utility can be run at the cable system headend in advance of the transmission of the EPG data to individual viewers. Thus, only data from stations supported by the particular cable system is checked. The advantage of this configuration is that it provides editing capabilities of the listings in each cable system, so that errors not detected by the EPG provider can be corrected, and reflecting the changes of the last minutes in the data supplied to the devices. viewers.
The code for a particular computer program to implement the invention set forth herein will be readily apparent to those skilled in the art of graphic display and video system programming based on the description contained herein and the associated figures. It will also be appreciated by those skilled in the art that they can deviate from the specific embodiment of the invention described herein, without departing from the actual scope of the appended claims.
Contents18
7 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7
40 members in 15 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 19940330684 | United States of America | – | |
| 33068494 | United States of America | A |
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 | |
| ES2154351T3 | 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 | |
| ES2204445T3This record | 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 |
Numbers
- Publication
- 2204445
- Application
- 201588
Titles2
- Spanish
- SISTEMA Y METODO PARA LA VERIFICACION DE DATOS DE LA GUIA ELECTRONICA Y DE PROGRAMAS DE TELEVISION.
- English
- SYSTEM AND METHOD FOR THE VERIFICATION OF DATA OF THE ELECTRONIC GUIDE AND 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