EP1459530A2 - Systemes et procedes concernant la determination de l'interet d'evenements de programmation et de leur enregistrement - Google Patents

Systemes et procedes concernant la determination de l'interet d'evenements de programmation et de leur enregistrement

Info

Publication number
EP1459530A2
EP1459530A2 EP02791233A EP02791233A EP1459530A2 EP 1459530 A2 EP1459530 A2 EP 1459530A2 EP 02791233 A EP02791233 A EP 02791233A EP 02791233 A EP02791233 A EP 02791233A EP 1459530 A2 EP1459530 A2 EP 1459530A2
Authority
EP
European Patent Office
Prior art keywords
programming
data
programming event
metadata
keyword
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP02791233A
Other languages
German (de)
English (en)
Other versions
EP1459530A4 (fr
Inventor
Gil Gavriel Dudkiewicz
Dale Kittrick Hitt
Jonathan Percy Barker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MYDTV Inc
Original Assignee
MYDTV Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/992,882 external-priority patent/US7337462B2/en
Application filed by MYDTV Inc filed Critical MYDTV Inc
Publication of EP1459530A2 publication Critical patent/EP1459530A2/fr
Publication of EP1459530A4 publication Critical patent/EP1459530A4/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7844Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using original textual content or text extracted from visual content or transcript of audio data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4662Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
    • H04N21/4665Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms involving classification methods, e.g. Decision trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4755End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user preferences, e.g. favourite actors or genre
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4854End-user interface for client configuration for modifying image parameters, e.g. image brightness, contrast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • H04N21/8405Generation or processing of descriptive data, e.g. content descriptors represented by keywords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums

Definitions

  • Embodiments of the invention relate to technologies that enable the identification of programming events of interest to a viewer.
  • U.S. Patent 5,223,924 describes a device that downloads program descriptions.
  • the program descriptions are viewed individually by a user, who indicates whether he is interested in each program.
  • the device Based on the user's input, the device builds a database of keywords associated with the user's positive and negative preferences. This database is then used to identify upcoming programs that may be of interest to the user.
  • U.S. Patent 5,410,344 describes a device that stores a viewer preference file that reflects the viewer's positive and negative preferences concerning various program attributes.
  • the device uses the preference file to analyze content codes that describe attributes of available programs, and presents a program to the user based on the analysis. Programs are ranked using a neural network thresholding method.
  • U.S. Patent 5,434,678 and its related patents describe a video retrieval system in which individual portions of scenes within a video are rated in accordance with a rating system and a version of the video is presented by selecting the segments that are acceptable based on a user's content preferences. Similar technology is described in U.S. Patent 5,717,814 and its related patents.
  • U.S. Patent 5,444,999 describes a device that tracks the viewing habits of a user and builds a weekly viewing trend. The device notifies the viewer when the television is tuned to different channel in conflict with the viewing trend.
  • U.S. Patent 5,534,91 1 describes a system in which a viewer builds a personal profile that is then used to analyze data describing available programs. Programs are selected based on the analysis and are made available on a personalized virtual channel. The viewer is also enabled to select from among programs that are ranked in accordance with the profile. The specific manner in which program analysis is performed is not described.
  • U.S. Patent 5,585,865 describes a system that searches for a genre code in broadcast signals in accordance with a specified program genre. If more than one signal contains the desired genre code, the system displays the channel with the greatest display history.
  • U.S. Patent 5,61 9,247 describes a video recording device that selects programs for storage based on predefined user preferences, and allows a user to view the stored programs on a pay-per-view basis.
  • U.S. Patent 5,767,893 describes a system that uses content based filtering for identifying video programs to be stored. The specific manner in which content is filtered is not described.
  • U.S. Patent 5,878,222 describes a system that monitors channel data describing contents of available channels and arbitrates access to display or storage resources based on a user profile.
  • U.S. Patent 5,945,988 describes a system that monitors the programs viewed by a current viewer and determines the identity of the current viewer using stored viewer profiles. The system may then use the viewer profile to analyze metadata describing upcoming programs to identify programs for viewing or recording. The specific manner in which the metadata analysis is performed is not described.
  • U.S. Patent 6,088,722 describes a system in which a user profile is compared to program content profiles to generate an agreement matrix for each program.
  • the agreement matrixes are used to select a program for presentation to the viewer.
  • Agreement matrixes may also be generated at a server end using profiles for multiple viewers to select programs to be made available from the server.
  • aspects of the invention are applicable to programs such as news broadcasts that are multi-segmented and are typically not described in detail in conventionally available information sources because their contents are typically not known until shortly before broadcast, ln accordance with embodiments of the invention, the production data used to produce such programs may be processed to generate metadata for the individual segments of the program and to distribute that metadata to consumers in advance of the airing of the program.
  • a further shortcoming of the conventional technology is that program classification is limited to broadly defined subject categories that are typically not easily compared to an individual viewers' personal tastes.
  • conventional technology may be capable of classifying programs as being within the category of "sports.”
  • sports for the viewer who is only interested in a particular sport, or a particular team, such classification is not effective in identifying programs of particular interest.
  • Embodiments of the invention may address this problem through the use of a content classification hierarchy for classifying the content of programming events and for defining viewer's particular interests.
  • the classification hierarchy is comprised of trees of subject categories of increasing specificity.
  • the use oThierarchical classification as described above enables intelligent identification of programming events that will be of particular interest to a given viewer.
  • This intelligence may be implemented to automatically record programming events of interest, to alert a viewer of upcoming programming events of interest, to automatically display programming events of interest as they become available, or to selectively provide programs to the viewer.
  • this intelligence is coupled with metadata describing individual program segments as described above, it becomes possible to provide the viewer with a truly personalized viewing experience, from which all uninteresting subject matter has been eliminated through deep content specific filtering at the program segment level.
  • Further embodiments of the invention may combine the use of a content classification hierarchy with keywords for further characterizing programming events. Keywords may be given scores to characterize the degree to which they are descriptive of the programming event. In some embodiments, a keyword may be associated with a category of a classification hierarchy in a device that analyzes programming events to more precisely indicate the manner in which the keyword characterizes the subject matter of interest to the viewer. Related embodiments of the invention may therefore evaluate programming events using a combination of keyword matching and category matching.
  • Further embodiments of the invention may utilize interactive processes whereby personnel involved in the production of a programming event are enabled to participate in the generation of metadata for the programming event through an interactive process, whereby preliminary metadata produced by a system is either approved or edited to reflect the judgment of the production personnel as to various aspects such as the categories used to described the programming event, scores associated with the categories, keywords and their scores and category associations, and a title for the programming event.
  • timing data may be inserted in a closed caption data stream to mark at least the beginnings of programming events with precision so that a recording device is enable to determine the beginning of the programming event.
  • the timing data may be created at the time that the rest of the closed caption data is created for the programming event, and closed caption data including such timing data may be synchronized to the programming event through triggering by a teleprompter system.
  • a recording device may use the timing data to initiate, pause, un-pause ⁇ and terminate recording.
  • Related embodiments may incorporate such timing data in the video signal itself.
  • Figure 1 illustrates a system for providing metadata and programming events to a client device in accordance with an embodiment of the invention
  • Figure 2 illustrates a process in a system such as the system shown in Figure 1 ;
  • Figure 3 illustrates an example of production data comprising HTML script data produced by a conventional production application
  • Figure 4 illustrates an example of production data comprising rundown data produced by a conventional production application
  • Figure 5 illustrates a system for providing metadata and programming events to a client device in accordance with an embodiment of the invention
  • Figure 6 illustrates a process in a system such as the system shown in Figure 5;
  • Figure 7 illustrates metadata in accordance with an embodiment of the invention
  • Figure 8 illustrates a portion of a classification hierarchy in accordance with an embodiment of the invention
  • Figure 9 illustrates a process for generating metadata in accordance with an embodiment of the invention.
  • Figure 10 illustrates a process for generating keyword metadata in accordance with an embodiment of the invention.
  • Figure 1 1 illustrates an interactive process for generating metadata in accordance with an embodiment of the invention
  • Figure 1 2 illustrates a client device in accordance with an embodiment of the invention
  • Figure 1 3 illustrates a viewer profile in accordance with an embodiment of the invention
  • Figure 14 illustrates a process for producing a preferred programming event schedule in accordance with an embodiment of the invention
  • Figure 1 5 illustrates a process for selectively notifying a viewer of a programming event and recording a programming event in accordance with an embodiment of the invention
  • Figure 1 6 illustrates a process for assigning a desirability score to a programming event based on category matching using a viewer profile in accordance with a preferred embodiment of the invention
  • Figure 17 illustrates a process for assigning a desirability score to a programming event based on category matching using multiple viewer profiles in accordance with a preferred embodiment of the invention
  • Figure 18 shows a process for ranking programming events based on category matching and keyword matching in accordance with a preferred embodiment of the invention
  • Figure 1 9 shows a process for ranking programming events based on category matching, keyword matching and qualified keyword matching in accordance with a preferred embodiment of the invention
  • Figure 20 shows timing data included in a closed caption data stream in accordance with a preferred embodiment of the invention
  • Figure 21 shows a system for producing closed caption data in accordance with a preferred embodiment of the invention
  • Figure 22 shows a process in a client device utilizing closed caption timing data in accordance with a preferred embodiment of the invention
  • Figure 23 Illustrates a system for providing programming events in accordance with an embodiment of the invention
  • Figure 24 illustrates a process in a system such as the system shown in Figure 23;
  • Figure 25 illustrates a system for providing alerts regarding programming events to viewers in accordance with an embodiment of the invention.
  • Figure 26 illustrates a process in a system such as the system shown in Figure 25.
  • program is used in the conventional sense of a video program such as a television program.
  • a program comprises one or more "program segments” that pertain to different subjects and therefore can stand on their own as complete or individual viewing experiences.
  • Examples of programs that typically consist of a single programming segment are movies, sit-coms, and sporting events.
  • Examples of programs that are typically comprised of multiple program segments are news broadcasts, news magazine shows that present multiple feature stories, sports highlight shows, music video shows, informational shows, home shopping shows, and variety shows.
  • programming event is used in this description to describe a distinct video production presentation that pertains to a particular subject and therefore stands on its own as a complete or individual viewing experience. Therefore, a given programming event may be a segment of a program, or it may be a whole program if that program consists of only one program segment.
  • FIG. 1 provides an overview of a programming event distribution system in accordance with embodiments of the invention.
  • a metadata generator 1 8 generates metadata 20 that is descriptive of a video programming event.
  • the metadata generator 1 8 is typically implemented as a computing device including a processor or processors to execute programming instructions and memory coupled to the processor(s) and containing programming instructions for instantiating a metadata generator system, details of which are described below.
  • the metadata 20 is provided by a metadata distributor 22 to a client device 26 maintained by a viewer.
  • the client device 26 also receives programming events 28 from a programming event provider 24.
  • the metadata distributor 22 and programming event provider 24 may be a single entity such as a television broadcasting station or a cable or satellite television provider.
  • the metadata distributor 22 and the programming event provider 24 may be separate entities.
  • the metadata distributor 22 may be an internet server, whereas the programming event provider 24 may be a television broadcasting station or a cable or satellite television provider.
  • the metadata 20 provided by the metadata generator 1 8 is typically received by the client device 26 in advance of corresponding programming events 28 to allow sufficient time for processing of the metadata in order to evaluate the desirability of upcoming programming events to the viewer.
  • the metadata generator 18 generates metadata 20 that describes programming events in a standard format that may be processed by the client device 26.
  • Metadata typically comprises delimited data associated with fields in a generic metadata format, and typically includes at least data describing the subject of a programming event and data describing the time and duration of the programming event.
  • the metadata generator 18 may receive as input conventional program descriptive data (PDD) data 14 that is provided by a commercial PDD provider 10.
  • Current providers of conventional PDD data are Tribune TV, TV Data, and TV Guide.
  • the conventional PDD data describes television programs through information such as the program title, program start time, and program duration.
  • PDD data may also include a program subject description if the program is one that is produced, or capable of being described, significantly in advance of its transmission.
  • Typical examples of programming events for which PDD data contains subject descriptions include movies, sit-coms, and sporting events.
  • the metadata generator 18 may also receive production data 16 from a production facility agent 1 2 that obtains the production data from production equipment of a production facility.
  • the production facility agent 1 2 is typically implemented as a computing device including a processor or processors to execute programming instructions and memory coupled to the processor(s) and containing programming instructions for instantiating a production facility agent system, details of which are described below.
  • the production facility agent is preferably implemented on the production facility equipment so as to cooperate with the production facility software to obtain production data.
  • Production data 1 6 provided by the production facility agent 1 2 generally includes data that is used in the production of a program, such as scripts, cue sheets, schedules, rundowns, closed caption text, teleprompter text, editing information, as so forth.
  • production data used in accordance with the invention includes descriptive information (scripts, segment titles, segment descriptions, etc.) that is associated with timing information, thus enabling individual program segments within a program to be identified and individually described with respect to both their subjects and their times and durations.
  • descriptive information e.g., descriptive information, segment titles, segment descriptions, etc.
  • production data enables the generation of metadata for individual segments of programs, and as a result, program segments such as individual news stories, variety show skits and so forth may be individually analyzed and provided with their own metadata.
  • Production data is typically stored in computer systems and may exist in a variety of formats. Examples of conventional software applications that generate production data include the Associated Press Electronic News Production System (ENPS), AVID iNEWS NRCS, Avstar, and NewsCenter production software. Some such systems may conform to the Media Object Server (MOS) protocol, which is commonly used in production facilities to provide control of production facility equipment, such as transmission of script data to closed caption generation devices or teleprompter devices.
  • ENPS Associated Press Electronic News Production System
  • AVID iNEWS NRCS AVID iNEWS NRCS
  • Avstar Avstar
  • NewsCenter production software Some such systems may conform to the Media Object Server (MOS) protocol, which is commonly used in production facilities to provide control of production facility equipment, such as transmission of script data to closed caption generation devices or teleprompter devices.
  • MOS Media Object Server
  • Figure 3 shows an example of production data generated by the conventional ENPS system.
  • Figure 4 shows a further example of production data generated by the conventional ENPS system.
  • the production data of Figure 4 comprises "rundown" data that provides a duration and ending time of individual segments within a news broadcast.
  • the rundown data of Figure 4 is derived from script data, with the timing for each segment of the program being calculated using an average read rate that is specific to the person reading the script for that segment.
  • the rundown data of Figure 4 is one example of rundown data that may be derived from script data, and in alternative forms the rundown data may include any other information from the script data.
  • FIG. 3 and 4 It will be seen by comparison of Figures 3 and 4 that a common set of identifiers is used for identifying segments in the script data and in the rundown data. For example, the segment identified as "125TERROR" in the HTML script data can be seen in the rundown data to have a total time of 2:23 and an ending time of 2:26 into the news broadcast.
  • the data in Figures 3 and 4 pertain to a program in which individual segments are described by single sections in the HTML data and rundown data, other programs may have individual segments that are described by multiple sections in the HTML data and rundown data, for example, when the segment consists of multiple distinct "live” and video portions.
  • the production data of Figures 3 and 4 is meant to be exemplary and not descriptive of all production data. Further, the production data of Figures 3 and 4 is representative only of data produced by one conventional production system, and a variety of other data formats will be known to those familiar with video production applications.
  • the metadata generator 18 includes a production data standardization agent that receives production data from the production facility agent 1 2 in its various native formats and processes the production data 16 into a standardized delimited form.
  • the production facility agent 1 2 may provide standardization functions.
  • the production data 1 6 is preferably processed together with any available PDD data to generate metadata for individual programming events.
  • the metadata generator receives production data for a program (30).
  • the production data includes timing data and descriptive data for the program, such as is contained in the HTML script data and rundown data of Figures 3 and 4.
  • the received production data may be processed to conform to a standard delimited format, for example, by tagging using an appropriate set of XML tags.
  • the rundown data may be parsed into rundown data for individual segments by searching for delimiting data or characters and extracting Total and Back Time data associated with the same or related identifiers.
  • Time data is data that enables determination of when the segment begins and ends, and may comprises beginning and ending times, a beginning time and duration, or an ending time and duration.
  • time data for segments may be determined through reference to the Total time and Back time associated with each identifier. For example, if the program represented by Figure 4 is a 1 2 noon news program, the ending time of the segment may be determined by adding the latest Back Time for the segment to the 12 noon start time of the program, and the starting time may be determined by subtracting the Total time from the ending time.
  • the production data is also processed to determine descriptive data for each programming event (33).
  • Descriptive data may be determined through reference to script data as shown in Figure 3. For example, keywords and descriptive phrases may be extracted from the script data. Metadata for the programming events is then generated and stored (34). The metadata for each programming event comprises at least time data and descriptive data. PDD data and other types of production data may also be processed to generate time data and descriptive data.
  • the process of Figure 2 was described as occurring within a metadata generator, in alternative embodiments the task of processing the production data into a standard delimited format for individual programming events may be performed by the production facility agent.
  • the production data is provided to the metadata generator in a standard delimited form, such as an XML document.
  • Metadata may be provided to consumers by a provider of programming events or by an independent metadata distributor.
  • Figure 5 illustrates an embodiment of the system illustrated in Figure 1 in which programming events occurring within a multi-segment program such as a live local news broadcast are provided through a transmission system in common with the programming events.
  • a metadata generator 18 receives production data 1 6 from a production facility agent 1 2 that obtains production data from production equipment 36 in the production facility where the program is produced.
  • the metadata generator 1 8 may be local or remote with respect to the production facility agent 12.
  • the metadata generator 18 is connected to the production facility agent 1 2 through a data network such as a LAN, WAN, or the internet.
  • the metadata generator 18 may also receive PDD data 14 from an PDD provider 10. PDD data may likewise be received through a data network.
  • the metadata generator 18 generates metadata 20 for each segment of the program from the production data, and optionally also from the PDD data. Metadata 20 for each programming event within the program may then be provided from the metadata generator 18 to the production facility agent 12, where it may be provided for transmission in common with programming events through a transmission system 38, such as RF airwaves or cable or satellite distribution systems, for reception by a client device 26.
  • the metadata may then be transmitted to client devices, in the case of a production facility agent at a broadcast production facility location such as a local television station.
  • the metadata may be provided to a distribution agent 35 that transmits the metadata through a transmission system 38 independently of the transmission of programming events from the production facility.
  • the distribution agent may be located, for example, at a cable system head end.
  • a variety of coding standards may be used for encoding the metadata, such as the Harris Communication, Divicom, and NDS standards. Metadata may be transmitted in the vertical blanking interval of the video signal. Alternatively, where programming events are broadcast using MPEG-2 digital video, the metadata may be encoded in the text portion defined by the MPEG-2 standard.
  • the metadata In cable televisions applications, it is preferable to transmit the metadata by out of band signaling, such as by using the separate band reserved for data transmission to a separate tuner of the cable receiver, as is conventionally used for services such as viewing authorization. In satellite television applications, it is preferable to provide the metadata by in band multiplexing.
  • the metadata for a given programming event is preferably transmitted sufficiently in advance of corresponding programming events to allow time for processing of the metadata by client devices.
  • the production facility agent provides production data for a program to a metadata generator (40).
  • the production data typically includes descriptive information that is associated with timing information, such as the data illustrated in Figures 3 and 4.
  • the production facility agent then receives metadata for individual programming events within the program (42).
  • the production facility agent then provides the metadata for transmission through a programming event transmission system (44).
  • the metadata may encoded using an encoding standard such as described above.
  • FIG. 7 shows an example of a logical organization of metadata for a programming event in accordance with preferred embodiments of the invention.
  • the illustrated metadata describes a segment of a local news broadcast relating to an NFL team.
  • the metadata is comprised of delimited descriptive data associated with fields of a generic metadata format.
  • a ProgramJD field provides a unique identifier for each programming event.
  • a Program_Name field provides the name of the program with which the programming event is associated.
  • a Program_Description field provides a description of the programming event, and a Program Reduced Description field provides a shortened description or "gist" of the programming event.
  • Fields tor Program Date, Program_Start_Time and Program_Duration provide information identifying when and for how long the programming event is aired.
  • a ChannelJD field identifies the channel on which the programming event will be received.
  • a Program_Type field describes the type of programming event, such as a program, a program segment, or a movie.
  • Program TV Rating and ProgramJ lPAA Rating fields provide ratings assigned to the program by rating services.
  • a Message_Status field indicates whether the programming event is a first transmission, a retransmission, or an updated transmission.
  • a Category List field provides goodness of fit scores for the programming event with respect to categories in a classification hierarchy as described further below.
  • a KeywordJJst field contains keywords describing the subject matter of the programming event and may further contain goodness of fit scores for each keyword.
  • the metadata is preferably formatted in a standard delimited format, for example, as an XML document using appropriate tags.
  • the classification hierarchy with respect to which the programming event is scored comprises a hierarchy of subject categories.
  • Figure 8 illustrates a portion of an exemplary classification hierarchy in accordance with embodiments of the invention. At the top level of the hierarchy are general subject categories such as Sports, Entertainment, News, etc. Extending from each of the top level categories is a tree of more specific subject categories that fall within the top level category.
  • Figure 8 particularly illustrates a branch within the hierarchy in which Football is one of several categories within Sports, NFL is one of several categories within Football, AFC is one of several categories within NFL, and Buffalo Bills is one of several categories within AFC.
  • the categories are shown as being organized in common ordinal levels, such that all categories at the top level of the hierarchy are at Level 1 , all categories depending from Level 1 categories are at Level 2, and so forth.
  • Embodiments of the invention may treat the common ordinal level of a category as being representative of that category's specificity relative to other categories of the classification hierarchy.
  • the degree of specificity of categories at a given ordinal level may vary among branches of the hierarchy, alternative embodiments may represent specificity in other manners. For example, each category may be assigned individual specificity scores, or all categories depending from a given category in the hierarchy may be commonly assigned a particular specificity score.
  • metadata generators such as those of Figures 1 and 5 produce metadata such as shown in Figure 7 by processing descriptive data concerning a given programming event to classify the subject of the programming event using a classification hierarchy such as the one shown in Figure 8.
  • An example of processing performed by a metadata generator to produce metadata for a programming event in accordance with an embodiment of the invention is illustrated in Figure 9.
  • the metadata generator receives data for analysis that relates to a programming event (50).
  • the received data may include PDD data and production data.
  • production data that data is preferably processed by a standardization agent that converts the production data to a standard delimited format for further processing.
  • the data may also be parsed to determine individual programming events within a program.
  • a goodness of fit score indicates how well the particular category describes the subject matter of the programming event.
  • Goodness of fit scores may be generated using an appropriately configured classification application.
  • the InterMedia media searching tool produced by Oracle Corporation, or the K2 classification tool produced by Verity Corporation may be configured to define a thesaurus reflecting words, phrases and concepts associated with the categories of the classification hierarchy, such that PDD and production data for a programming event may be searched with respect to each category of the hierarchy to generate a list of matched categories with associated confidence scores in a range from 1 % to 100%.
  • the confidence score for each matched category is used as that category's goodness of fit score, and categories having no match are treated as having goodness of fit scores of zero.
  • the metadata generator determines a set of categories within the hierarchy that are representative of the programming event (54). In the preferred embodiment, the metadata generator first determines for each branch of the classification hierarchy the most specific category that has non-zero goodness of fit score. For example, referring to the classification hierarchy of Figure 8, if the category Buffalo Bills is assigned a goodness of fit score of 75%, the higher level categories in its branch will also have non-zero goodness of fit scores; however, Buffalo Bills is the most specific category having a non-zero score in its particular branch of the hierarchy. The metadata generator then determines additional representative categories by examining the differences in the goodness of fit scores of the most specific categories and their parent categories.
  • the parent category of a most specific category is determined to be an additional representative category if the difference between its score and the most specific category exceeds a predetermined amount or percentage. Determination of such parent categories serves to identify instances in which it is desirable to supplement or qualify the representative information conveyed by the score of a most specific category. It may also be preferable to limit the number of categories per programming event by defining a maximum number of categories per programming event and utilizing the categories with the highest scores consistent with that maximum number. It may further be preferable to utilize a score thresholding procedure whereby a minimum goodness of fit score is required for a category to be included in the metadata.
  • the identifiers and associated goodness of fit scores of the representative categories are stored in delimited fashion (56).
  • Other data is also generated through processing of the PDD and production data and is stored together with the goodness of fit scores in delimited fashion to comprise metadata for the programming event.
  • the other data referred to here may comprise data such as is shown in the exemplary metadata of Figure 7, such as description, time, duration, keywords, etc.
  • keywords may be assigned goodness of fit scores using a classification application.
  • a variety of storage formats are available for storing the metadata.
  • the metadata may be stored as an XML document using appropriate tags for indicating the various types of data within the metadata.
  • the metadata generator may additionally provide automatic generation of keywords. Keywords are preferably generated through analysis of descriptive data included in any production data and PDD data that is available for the programming event. In one preferred embodiment, all text data associated with the programming event such as script data and PDD data is processed to identify all verbs and all nouns and associated adjectives contained therein. These candidate keywords are then provided as input to the categorization tool, which produces a goodness of fit score for each category of the classification hierarchy based on each input candidate keyword. Keywords are then chosen from among the candidate keywords based on the highest goodness of fit score associated with each candidate.
  • the category goodness of fit scores for each candidate keyword may be correlated with the category goodness ot tit scores for the programming event as a whole, so that candidates having high goodness of fit scores for categories that are not relevant to the programming event as a whole are not chosen as keywords.
  • the highest category goodness of fit score for each chosen keyword may be adopted as a goodness of fit score for the keyword itself.
  • processing of the descriptive data to determine nouns and verbs may be eliminated and all words from available script data may be provided as candidate keyword inputs to the classification tool.
  • candidate keywords are determined (220) from descriptive data associated with a programming event.
  • the candidate keywords are provided (222) as input to a classification tool configured to generate goodness of fit scores for categories of a classification hierarchy. Keywords are then selected (224) from among the candidate keywords based on the category goodness of fit scores generated for each of the candidate keywords by the classification tool.
  • the selected keywords are then stored (226) as a component of metadata for the programming event.
  • the metadata generator may additionally provide automatic generation of titles for programming events. This embodiment is particularly preferred for applications in which the programming event comprises a segment of a larger program, for example, an individual segment of a news program.
  • the metadata generator generates a title for the programming event through analysis of the production data.
  • the title may comprise the name of the category having the highest goodness of fit score in the metadata, combined with one or more of the highest scoring keywords.
  • the classification tool that generates category goodness of fit scores may be further configured to produce a summary of the programming event using the descriptive data.
  • a most descriptive noun, action word, or phrase may be selected from the descriptive data.
  • a further preferred embodiment may implement an interactive process whereby a producer of a programming event is enabled to select or specify categories, keywords, and goodness of fit scores to be included in the metadata for the programming event.
  • Figure 1 1 shows process flow in a system in accordance with this preferred embodiment.
  • the preliminary metadata is typically generated from production data and PDD data using a classification tool in the manner described herein, and typically comprises categories and category goodness of fit scores, keywords and keyword goodness of fit scores, and a title.
  • the preliminary metadata is then provided (230) to a system user, typically a producer or other person involved with production of the programming event.
  • the preliminary metadata is preferably provided using a graphical user interface that displays the various components of the preliminary metadata and enables the system user to change the preliminary metadata or to add additional metadata.
  • the system user is preferably enabled to delete a category, add a category, and add or change a category goodness of fit score.
  • the system user is preferably enabled to add or delete keywords, to change keyword goodness of fit scores, and to edit titles and other descriptive components of the preliminary metadata.
  • the system receives (232) specified metadata from the system user responsive to the preliminary metadata.
  • the specified metadata, or at least the portions of the metadata that were specified by the system user are then utilized by the metadata generator in preference to any conflicting metadata that may be later generated by the classification application.
  • the system user may simply approve the preliminary metadata provided by the system. This approval may be provided separately for the different metadata components such as categories, category goodness of fit scores, keywords, keyword goodness of fit scores, and title.
  • the user interface is generated by the production facility agent, while the preliminary metadata is generated by a remote metadata generator with which the production facility agent interacts.
  • the production facility agent may be implemented independently of other applications running on the production facility equipment, or it may be implemented through macros or extensions associated with other production equipment applications.
  • the metadata generator may be implemented locally as part ot the production facility agent or as a separate agent running on the production facility equipment.
  • goodness of fit scores may be raised so that that analysis of the goodness of fit scores will be biased in favor of those programming events as compared to other programming events.
  • Metadata for programming events may be distributed to client devices, where it may then be processed by a client device to automatically determine programming events that are desirable for viewing or storage.
  • the client device is preferably a video storage device that is used in association with a video display device such as a television for reception, display and storage of video.
  • a video display device such as a television for reception, display and storage of video.
  • embodiments of the invention may be implemented in a variety of other types of client devices including set top boxes, personal computers, video display devices such as televisions, wireless communication devices, and personal digital assistants.
  • Client devices in accordance with embodiments of the invention are comprised of a data processing device that includes a processor or processors and memory storing one or more viewer profiles, received metadata, and programming instructions that instantiate a client agent that processes metadata to determine programming events that are desirable for viewing or storage in accordance with the viewer profiles.
  • Figure 12 shows a client device in accordance with a preferred embodiment of the invention.
  • the client device receives video signals from a broadcast, cable or satellite television provider, data network, or other video source, and receives metadata from a distinct metadata distributor such as an internet server.
  • the client device includes a video receiver 60 for receiving and demodulating signals representing programming events 62.
  • the video receiver is a device for demodulating analog or digital video signals.
  • the client device further includes a metadata receiver 64 for receiving metadata 66.
  • the metadata receiver is a device that is capable of communicating with a network for downloading metadata files to the client device.
  • the metadata receiver may be a modem that is programmed to periodically access a remote server where metadata is stored.
  • the client device further comprises a data processor 68 such as a microprocessor, a data storage device 70 such as a RAM or ROM or a combination of the two, and a bulk data storage device 72 such as hard disk storage or optical disk storage.
  • a display interface 74 generates audio and video signals 78 for use by a display device such as a television.
  • the video receiver 60, metadata receiver 64, data processor 68, data storage 70, bulk data storage 72, and display interface 74 are coupled through a bus 76.
  • the client device receives video signals from a broadcast, cable or satellite television provider, or data network and receives metadata from a distinct metadata distributor such as a dial-up server, and therefore has separate video and metadata receivers.
  • a distinct metadata distributor such as a dial-up server
  • both the metadata and programming events may be received by a single receiver.
  • metadata may be transmitted in broadcast provided through broadcast or cable television channels, or may be provided in a text band of a digital video signal such as is provided in the MPEG-2 digital video standard.
  • video and metadata may be provided from a common source through a common transmission medium, but received by separate receivers in the client device, as is the case in preferred cable television receiver embodiments.
  • Client devices in accordance with preferred embodiments of the invention provide standard PDD information and standard tools such as a program grid and keyword searching to allow users to manually identify programs for viewing or recording.
  • client devices in accordance with preferred embodiments of the invention analyze metadata to determine desirable upcoming programming events, and may automatically record these programming events, alert the viewer to these programming events, or automatically display these programming events.
  • the desirability of a programming event is determined with respect to viewer preferences represented in. one or more viewer profiles stored in the client device.
  • An example of a viewer profile in accordance with preferred embodiments of the invention is provided in Figure 13.
  • a ProfileJD field provides a unique identifier for the profile.
  • a Profile_Name field provides a name for the profile as it will be known to viewers.
  • a Profile Description field provides a longer description that may be used to provide more detail about the types of programs that the profile is intended to identify.
  • a Profile_Priority field provides a number that indicates the priority of the profile relative to other profiles stored in the client device.
  • a Profile_Alerts_Per_Hour field provides a number of times per hour that an alert is provided to the viewer indicating that a program providing a better fit than the one being viewed is currently available for viewing.
  • a Profile_Alert_Minutes_ln_Advance field specifies an amount of time prior to a programming event that a viewer is to be notified of a programming event.
  • a Profile_Activation_Time indicates a time frame during which the profile should be used for analyzing programs.
  • a Category_Scores field contains an identifier and associated preference score for categories in a classification hierarchy for which a preference score has been specified.
  • the preference scores represent a relative degree of interest in each category that may be used in processing of metadata to determine the relative desirability of programming events using their category goodness of fit scores.
  • a preference score of ten indicates the highest level of preference.
  • a KeywordJJst field contains keywords that reflect the viewer's viewing tastes.
  • a keyword may be associated with a category of the classification hierarchy, indicating that the keyword reflects the viewer's viewing tastes specifically with regard to subject matter falling within that category. For example, in Figure 1 3, the keyword "Bills" is associated with the category Sports/Football/NFL. Such keywords are referred to herein as qualified keywords.
  • Qualified keywords allow the viewer to effectively define a subset of subject matter within a category that is of particular interest. Keywords may also be assigned preference scores, as shown in Figure 1 2. As with categories, keyword preference score may be used in processing of metadata to determine the relative desirability of programming events using keyword matching.
  • a variety of storage formats are available for storing the viewer profile. For example, the viewer profile may be stored as an XML document using appropriate tags for indicating the various types of data within the viewer profile.
  • the client device is preferably provided with generic viewer profiles that are tailored to different viewing interests such as sports, political news, and other interests.
  • the generic profiles may be pre-programmed in the client device or may be provided to the client device by the metadata distributor.
  • the user is preferably enabled to modify or delete the pre-programmed viewer profiles and to configure additional viewer profiles in accordance with particular viewing tastes.
  • the client device is provided with programming instructions for providing an editor enabling the user to create and edit viewer profiles.
  • the profile editor provides a graphical user interface that includes tools enabling a user to enter the types of information that may be included in a viewer profile such as the one illustrated in Figure 1 3.
  • the viewer may enter information such as The profile name, description and priority, alerts per hour or other period of time, alert minutes in advance or time in advance, profile activation time, and keywords.
  • the viewer may enter scores for each category in the classification hierarchy, may associate keywords with categories of the classification hierarchy as qualified keywords, and may associate preference scores with keywords and qualified keywords.
  • the user interface preferably allows the user to navigate through the classification hierarchy structure and to enter scores for categories as desired.
  • a preference score is entered for a given category
  • that preference score is preferably assigned to all subcategories of the given category.
  • all categories that branch from the given category are assigned the same preference score as the given category. Therefore, if a category is given a preference score of ten, all of its subcategories will likewise be given a preference score of ten. Similarly, if a category is given a preference score of zero, all of its subcategories are likewise given a score of zero.
  • the scores for those subcategories can later be changed individually.
  • Viewer profiles may be used in processing metadata to build a schedule of desirable programming events that may be automatically recorded, recommended for viewing, or switched to automatically.
  • a schedule building process in a client device in accordance with preferred embodiments is illustrated in Figure 14. This process assumes that metadata for various programming events becomes available sporadically, and the process therefore involves periodic updating to account for any newly available metadata. Initially, all available metadata for upcoming programming events is received (100). The metadata may be received by connecting to a server and downloading new metadata. Alternatively, metadata may be continuously received through the broadcast system that provides programming events. The metadata is then processed in accordance with one or more viewer profiles to assign desirability scores to each programming event (102). The scores of the programming events along with their times and durations are then processed to determine a preferred programming event schedule (104).
  • a recording schedule in a device capable of recording only one programming event at a time schedule reflects the most desirable non- overlapping available programming events.
  • the programming events may overlap, since the viewer can decide which programming events to watch.
  • the client device preferably stores at least the programming event title, time, duration, and category, and the viewer profile or profiles that resulted in its selection.
  • Generation of the schedule may included thresholding function whereby a programming event must achieve a minimum desirability score in order to be included in the schedule. Other functions, such as filtering out programming events that have already been recorded or viewed, may also be performed. After the schedule is determined, a periodic updating of the schedule is performed.
  • additional metadata is received ( 106).
  • the additional metadata typically corresponds to programming events for which no metadata was previously received, but updated metadata may also be received.
  • the additional metadata is processed to determine desirability scores for corresponding programming events ( 108).
  • the scores, times and durations for those programming events are then processed to determine any updates to the preferred programming event schedule ( 1 10).
  • An alert list may be updated whenever a new programming event score is determined to be higher than one already stored in the schedule.
  • a recording schedule may be updated when a new programming event score is determined to be higher than another programming event in the same time slot that is already stored in the schedule, or when a new programming event with a sufficiently high score occurs in a time slot for which there is no programming event listed in the schedule.
  • the updates are stored in the preferred programming event schedule (1 1 2).
  • the updating process is then repeated at intervals.
  • Metadata Since metadata is assumed to arrive sporadically and may arrive only shortly prior to the time of its corresponding programming event, it is preferable to prioritize the processing of available metadata on the basis of the time remaining until the beginning of the corresponding programming event. This may be determined through reference to time data contained within the metadata.
  • the viewer is preferably notified each time a programming event is added to the schedule, and enabled to approve or decline each programming event. This may be accomplished by displaying an icon that may be operated by the viewer to display information about a newly scheduled programming event. Scheduled programming events that have been explicitly approved by the viewer may be treated in the updating process as having a highest possible desirability score, irrespective of the actual score, such that conflicting programming events that have higher scores but were not identified prior to the viewer's approval cannot be substituted in the schedule without explicit viewer approval.
  • the user is enabled to manually edit the preferred programming event schedule and to manually schedule programming events for recording. Like viewer-approved programming events, manually scheduled programming events are given priority over later-identified preferred programming events.
  • the preferred programming event schedule may be used by the client agent to provide alerts concerning programming events to a real time viewer, or to automatically record programming events when no real time viewer is present.
  • a control process performed by the client agent in accordance with preferred embodiments of the invention is shown in Figure 1 5.
  • the client device includes two RF tuners enabling a real time viewer to receive a first channel for viewing while a second channel may also be received for recording.
  • the client agent checks the schedule to determine a next upcoming preferred programming event (1 20).
  • the client agent determines whether a real time viewer is present (122). If no viewer is present, the preferred programming event is recorded (1 24), for example, by storage in the bulk data storage device as illustrated in Figure 1 2.
  • the viewer is provided with an alert for the upcoming preferred programming event (1 26).
  • Alerts may be provided in various manners, such as by generating an audible tone or displaying a banner on the video display device.
  • the time of the notification may be determined with reference to the value in the Profile_Alert_Minutes_ln_Advance field of a viewer profile as shown in Figure 1 3. If the viewer selects the preferred programming event for viewing (128), the preferred programming event is automatically displayed as soon as it is available for viewing (130). On the other hand, if the viewer does not select the preferred programming event for viewing, the preferred programming event is recorded (1 24).
  • the decision by a real time viewer not to view something other than the preferred programming event causes the recording of the preferred programming event to abort.
  • Newly recorded programs are preferably identified in a notification list that may be accessed by the viewer. The notification list may be cleared after each access by the viewer.
  • Recorded programming events are preferably indicated in a recorded program list from which the user is enabled to select recorded programming events for viewing.
  • Information stored in association with each programming event in the recorded program list preferably includes the time and date of the programming event, the programming event score, the profile that selected the programming event for recording, and the category of the programming event.
  • a user is preferably enabled to sort the recorded program list in accordance with any of these categories of information.
  • the device also preferably provides the option of seamless replay of the recorded programming events in an order chosen in accordance with one of the above categories of information.
  • the client device comprises a set top box such as a cable box.
  • the set top box analyzes metadata and generates a schedule of programming events that match viewer preferences.
  • the set top box further provides on-screen alerts in advance of each programming event in the schedule.
  • the on-screen alert is preferably available in multiple styles that may be chosen by the user, such as an icon or an information banner.
  • the banner may contain information such as the programming event title, a description, an indication of categories or keywords matched, and the channel number or identifier. A particular category matched, or the fact of a keyword match, may be indicated by an icon displayed within the alert banner.
  • the banner includes the matched category generating the highest match score, the matched keyword generating the highest match score, and the associated scores.
  • the banner is also preferably provided in different colors that correspond to the viewer profile that generated the alert.
  • the user is preferably enabled to configure the default amount of time that the alert is displayed, to clear the alert from the screen, and to switch to the programming event of the alert automatically.
  • the user is also preferably enabled to view the alert list and to delete programming events from the alert list.
  • the alert list is preferably viewable by the viewer, and preferably allows the viewer to delete programming events from the alert list, and to confirm interest in programming events in the alert list so that subsequently analyzed programming events with higher scores do not cause those programming events to be bumped from the list.
  • the alert list is preferably generated in a manner that provides a maximum number of alerts within a given time period, such as a fixed number of alerts per hour. This parameter may be configured as part of a viewer profile, as shown in Figure 13.
  • the alert list preferably highlights any programming events in the list that are currently showing.
  • the alert list is preferably limited to those channels that the client device is capable of receiving.
  • the client device may determine preferred programming events with respect to one or more viewer profiles.
  • the viewer profiles used by the client device to identify programming events correspond to the preferences of the actual real time viewers.
  • the client device may enable a real-time viewer to specify one or more viewer profiles to be used for generating alerts during the viewer's viewing session. For example, the viewer may select a particular viewing profile tailored to his tastes while excluding profiles of other viewers who are not present, or the viewer may select a group viewer profile that reflects the collective tastes of present viewers.
  • a real time viewer such as by detecting activation of the video display device or changing of channels, such profiles may be automatically selected by the client device based on indicators of the current real time viewer such as channel selection patterns.
  • embodiments that provide both real time viewer alerts and automatic recording may preferably maintain a first preferred programming schedule for recording purposes based on the full set of viewer profiles maintained by the client device, and may further generate a second preferred programming schedule in accordance with profiles specific to the real time viewer as described above for purposes of providing alerts.
  • conflicts between the two programming schedules are resolved in favor of the real time viewer where only a single receiver is available.
  • the task of determining desirability scores for programming events is performed using the metadata for a programming event and one or more viewer profiles stored in the client device.
  • scores are determined in a manner that gives preference to keyword matches over category matches.
  • a viewer's keyword matches a keyword contained in the keyword field of the metadata, or matches a word contained in the description field of the metadata
  • that programming event may be assigned the maximum preference score irrespective of any preference score generated using the programming event's category goodness of fit scores. Further scoring methods using a combination of keyword and category matching are described below.
  • FIG. 1 6 A process for determining a desirability score for a programming event based on metadata category goodness of fit scores and viewer profile category preference scores in accordance with a preferred embodiment of the invention is shown in Figure 1 6.
  • the process first determines each category of the classification hierarchy that has a goodness of fit score in the metadata and that is assigned a preference score in the viewer profile (140). These categories are referred to herein as matched categories. For purposes of this determination, a category having a preference score that is equal to zero or less than a threshold minimum score may be treated as not having a preference score, and thus the category will not be considered a matched category. For each matched category, a score is determined (142).
  • the score is a function of the goodness of fit score of the matched category and the preference score of the matched category.
  • the score may be weighted in accordance with the specificity of the matched category so that the score increases with the specificity of the matched category.
  • the function and weighting scheme for generating scores may be implemented in a variety of manner.
  • the score may be calculated as a function of the goodness of fit score, the preference score, and the specificity weight of the matched category.
  • the score is influenced by the preference encoded by the viewer in the profile for the matched category, the degree to which the programming event is described by the matched category, and the specificity with which the matched category describes the subject matter of the programming event.
  • a score is calculated as illustrated in the right-hand column of Figure 16.
  • the categories of the classification hierarchy are arranged in common ordinal levels, and the level of a category is taken as being representative of its specificity.
  • the score for a given matched category is calculated by first weighting the preference score of each category in the branch terminating with the matched category by a factor that is based on the level of the category (146). In the preferred embodiment, this weight is calculated as the quantity e N ⁇ ' , where N is the number of ordinal levels in the classification hierarchy and / is the ordinal level of that particular category.
  • the weighted preference scores for all of the categories in the branch are then summed, and the sum is multiplied by the goodness of fit score of the matched category (148). This sum is then weighted in accordance with the duration of the programming event ( 1 50), for example, by multiplying the score by 10,000 and adding the duration in seconds of the programming event. Weighting of the score by the program duration serves to resolve conflicts among overlapping programming events that would otherwise have identical scores.
  • the score for each matched category is therefore calculated as:
  • N the number of ordinal levels in the classification hierarchy
  • V i a category in the branch of the matched category at level / " of the hierarchy
  • the category preference scores of multiple viewer profiles may be used for determining desirability scores for programming events.
  • a process for determining a desirability score for programming events in accordance with a preferred embodiment is shown in Figure 1 7, This embodiment is particularly preferred for generating scores to be used in determining a recording schedule that accounts for the combined preferences expressed in more than one viewer profile. Referring to the left-hand column of Figure 1 7, the process first determines each category that has a goodness of fit score in the metadata and that is assigned a preference score in a viewer profile ( 1 60). These again are referred to as matched categories, and may omit any categories having a preference score less than a certain minimum value. For each matched category, a score is determined (1 62).
  • the score is a function of the goodness of fit score of the matched category, the preference score assigned to the matched category in each viewer profile, and a priority of each viewer profile.
  • the score may be weighted in accordance with the specificity of the matched category so that the score increases with the specificity of the matched category. After scores for each matched category are determined, the highest score and the category generating the highest score are adopted as the desirability score and category of the programming event (1 64). [00101]
  • the function and weighting scheme for generating scores may be implemented in a variety of manner.
  • the score may be calculated as the sum of quantities calculated for each profile, where that quantity is the product of the goodness of fit score, the preference score, a quantity proportional to the priority of the viewer profile, and the specificity weight of the matched category.
  • the score is influenced by the preference encoded by the viewer in each profile for the matched category, the degree to which the programming event is described by the matched category, the priority of each profile that included a score for the matched category, and the specificity with which the matched category describes the subject matter of the programming event.
  • the score is calculated as illustrated in the right-hand column of Figure 17.
  • the categories of the classification hierarchy are arranged in common ordinal levels, and the level of a category is taken as being representative of its specificity.
  • the score for a given matched category is calculated by first weighting the preference score of each category in the branch terminating with the matched category by a factor that is based on the level of the category (1 66). This is done for each profile that includes a preference score for the matched category. In the preferred embodiment, this weight is calculated as the quantity e w , where N is the number of ordinal levels in the classification hierarchy and / is the ordinal level of that particular category.
  • the weighted preference scores for all of the categories in each branch are then summed for each profile, and these sums are multiplied by the goodness of fit score of the matched category (168).
  • Each of these products is then weighted in accordance with the priority of its profile.
  • a quantity P is associated with each priority, such that P is greater for higher priority.
  • the weight for a given profile/ may then be calculated as the quantity Pj divided by the sum of all Ps corresponding to all profiles having a preference score for the matched category.
  • the priority weighted products are summed together and multiplied by the number of profiles that include a preference score for the matched category (172). This sum is then weighted in accordance with the duration of the programming event (174), for example, by multiplying the score by 10,000 and adding the duration in seconds ⁇ of the programming event.
  • the score tor each matched category is therefore calculated as:
  • N the number of ordinal levels in the classification hierarchy
  • V ; a category in the branch of the matched category at level / of the hierarchy
  • P(Vy) the preference score of category V, in profile /
  • P(j) a quantity representing the priority of Profile /
  • desirability scores may be determined through a combination of keyword and category matching to produce results that satisfy the viewer's preferences with greater reliability.
  • desirability scores determined based upon category matching as described above will be referred to as category match scores
  • desirability scores based upon keyword matching will be referred to as keyword match scores or qualified keyword match scores, as discussed further below.
  • simple keyword matching may be employed in combination with category matching to rank programming events.
  • a simple keyword match between a keyword of a viewer profile and a metadata keyword or a word included in descriptive data of the metadata produces a keyword match score.
  • a keyword match preferably encompasses both exact matches between keywords and matches between roots of keywords.
  • the keyword match score assigned to a simple keyword match is preferably chosen to be greater than a maximum category match score, so that any programming event having a keyword match is ranked higher than any programming event not having a keyword match. This reflects a presumption that a programming event matching a keyword provided by a viewer is more likely to satisfy the viewer's preferences than a programming event matching the viewer's specified categories.
  • alternatives to the present embodiment may implement different scoring reflecting different presumptions.
  • the keyword match score may be a constant that is assigned for each keyword match.
  • the keyword match score may be a constant that is augmented by an additional quantity that is programming event dependent to thereby minimize the possibility of equal ranking resulting from more than one keyword match.
  • a constant used as a basic keyword match score may be augmented by a quantity that is derived from the length of the programming event, or a preference score associated with the keyword in the viewer profile that produced the keyword match, or a category match score determined for the programming event using the category preference scores of the viewer profile that produced the keyword match.
  • a basic process in a client device encompassing the first alternative preferred embodiment and various implementations thereof is illustrated in Figure 18.
  • the metadata describes programming events, and includes goodness of fit scores associated with categories of a classification hierarchy.
  • the metadata further includes at least one of descriptive data, such as is illustrated in the Program_Description and Program_Reduced_Description fields of the metadata of Figure 7, and keyword data, as illustrated in the KeywordJJst field of Figure 7.
  • the programming events are ranked (236) in accordance with viewer preferences expressed in one or more viewer profiles.
  • the viewer profiles include preference scores associated with categories of the classification hierarchy and one or more keywords.
  • the ranking uses the metadata goodness of fit scores and the viewer profile category preference scores to determine category matches and uses the metadata descriptive data and/or keyword data and the viewer profile keywords to determine keyword matches.
  • ' qualified ⁇ keyword matching may be employed in combination with simple keyword matching and category matching to rank programming events.
  • a match between a qualified keyword of a viewer profile a metadata keyword or a word included in descriptive data of the metadata produces a qualified keyword match score when the metadata includes a goodness of fit score for the category specified in the viewer profile for the qualified keyword.
  • a qualified keyword match preferably encompasses both exact matches between keywords and matches between roots of keywords.
  • the keyword match score assigned to a qualified keyword match is preferably greater than a greatest possible simple keyword match score, so that any programming event having a qualified keyword match is ranked higher than any programming event having only a simple keyword and/or category match. This reflects a presumption that a programming event matching a qualified keyword provided by a viewer is more likely to satisfy the viewer's preferences than a programming event matching a simple keyword or the viewer's specified categories. Of course, alternatives to the present embodiment may implement different scoring reflecting different presumptions.
  • the qualified keyword match score is preferably determined using a constant that is assigned to each qualified keyword match and that is augmented in each case by quantity that is determined using the preference score associated with the category of the qualified keyword in the viewer profile of the qualified keyword.
  • the qualified keyword matches are ranked relative to one another based on the preferences for their associated categories expressed by the viewer.
  • Alternative manners of ranking qualified keyword matches may also be employed, for example, using a preference score associated with the qualified keyword in the viewer profile that produces the qualified keyword match, or the length of the programming event, or a category match score determined for the programming event using the category preference scores of the viewer profile that produces the qualified keyword match, or the goodness of fit score of the qualified keyword's category in the programming event metadata.
  • the metadata describes programming events, and includes goodness of fit scores associated with categories of a classification hierarchy.
  • the metadata further includes at least one of descriptive data, such as is illustrated in the Program_DescriptiorTand Program Reduced Descriptidn fields ffihe metadata of Figure 7, and keyword data, as illustrated in the KeywordJJst field of Figure 7.
  • the programming events are ranked (240) in accordance with viewer preferences expressed in one or more viewer profiles.
  • the viewer profiles include preference scores associated with categories of the classification hierarchy and one or more keywords.
  • the keywords may be qualified keywords or simple keywords.
  • the ranking uses the metadata goodness of fit scores and the viewer profile category preference scores to determine category matches and uses the metadata descriptive data and/or keyword data and the viewer profile keywords and qualified keywords to determine keyword matches.
  • the matching processing in the client device may process qualified and simple keywords in a unified manner by treating unqualified keywords as qualified keywords that are associated with a super category of the classification hierarchy that encompasses all other categories.
  • a viewer profile in which ranking is based on scores generated using two or more different types of matches, it is possible for a viewer profile to generate more than one match score for a programming event. For example, a viewer profile may generate both a keyword match and a category match for the programming event. In such embodiments, it is preferred to use the highest score for purposes of ranking. Alternatively, in further embodiments a single function of category, keyword and qualified keyword matches may be employed to generate a single score for each programming event.
  • thresholding processes that exclude keywords or categories from match processing where preference scores or goodness of fit scores are below a threshold value. For example, where the category of a qualified keyword has a goodness of fit score below a threshold for a given programming event, the qualified keyword may be excluded from analysis of that programming event.
  • the aforementioned systems and methods may be employed to provide a client device that generates a preferred programming event list and uses that list to provide alerts or to record programming events.
  • the timing of the alerts or recording may be determined with reference to time maintained by a client local clock using timing information contained in programming event metadata, such as a beginning time and duration, to determine the actual start time of the programming event.
  • Client local clocks may be synchronized to a globally available timing reference such as the time signal provided by the Public Broadcasting System.
  • timing information contained in programming event metadata does not represent the actual local clock time at which a programming event will begin. This may occur for a variety of reasons. For example, different programming event providers such as television broadcasters may not be synchronized to the same global timing reference. Thus, for example, the beginning of the noon hour broadcast on one network may begin earlier or later than that of another network by as much as a minute or more, and therefore the client local clock may be synchronized to only one, or possibly to neither of the programming event providers. As a result, a recording that is commenced based on the local clock time may not fully capture the desired programming event or may capture unwanted matter.
  • the predicted times and durations expressed in the metadata for each segment may not be adhered to during the actual broadcast, since the nature of such programs can be fluid with some segments running shorter or longer than predicted.
  • some programming events such as sporting events may exceed their scheduled time, causing subsequent events to be delayed.
  • the closed caption data stream is used to convey programming event timing information to client devices.
  • the EIA608B standard for analog closed caption data and the EIA708B standard for digital closed caption data include protocols for "hidden" data that is not reproduced on the viewer's display and that therefore may be used for signaling.
  • the closed caption data stream from a given programming event provider may incorporate timing signals that are used by client devices to accurately determine the beginning and ending time of each programming event.
  • timing information may be included in the video signal itself. For example, in analog video signals the timing information may be included in a vertical blanking interval. In digital video signals the timing information may be provided in a ' data field ' oT ' trTe ' digital video signal.
  • a closed caption data stream includes a programming event identifier that is synchronized with the beginning of the corresponding programming event.
  • Figure 20 shows an example of a closed caption data stream in accordance with the preferred embodiment.
  • text corresponding to a programming event designated as "PE 1 " (programming event 1 ) precedes text corresponding to a following programming event designated as "PE 2" (programming event 2).
  • PE 1 programming event 1
  • PE 2 programming event 2
  • identifier for programming event 2 Immediately prior to the text data for PE 2 is an identifier for programming event 2.
  • the identifier is preferably the same identifier for programming event 2 that is used in metadata for programming event 2 previously supplied to client devices, and may be obtained through interaction with a local or remote metadata generator. However, other types of identifiers may be used so long as they can be recognized by client devices as relating to a particular programming event.
  • the timing data is preferably accompanied by a marker that identifies it as timing data, and the timing data is preferably encrypted.
  • timing data may be embedded in the closed caption data stream at a location prior to the beginning of a programming event in order to afford sufficient set-up time for recording in the client device.
  • the timing data may be located at a fixed time prior to commencement of the programming event, for example, five seconds before the programming event.
  • the timing data may be located at an arbitrary time prior to the programming event and may include information indicating the amount of time remaining before the beginning of the corresponding programming event.
  • the closed caption data may also include timing data that corresponds to the end of a programming event.
  • the end timing data may comprise an identifier located at the end of the programming event, or at a fixed or specified time prior to the end of the programming event.
  • the timing data indicating the end of the programming event may be timing data specifically defined as end point identifying timing data of the programming event being recorded, or it may be timing data indicating the beginning of the next programming event.
  • the closed caption timing data may include timing data indicating beginnings and endings ⁇ of individual segments within a pFogramming ' event.
  • the closed caption timing data may indicate points at which commercial breaks begin and end so that a recording device can use the timing data to exclude the commercial portions from recording, delete the commercial portions subsequent to recording, or skip the commercial portions during playback.
  • a process for producing closed caption data including programming event timing data of the types described above or other alternative types may be implemented in a video production facility to produce closed caption data including timing data at the time of production of the video program.
  • script data is received for a video program. Identifiers of individual programming events within the program are then determined. This may be done using the script data and other production data in a metadata generation process such as the metadata generation processes described above. Closed caption data is then produced for the program.
  • the closed caption data includes text data corresponding to the script data, and timing data.
  • the timing data is provided at locations within the closed caption data that correspond to the beginnings of each programming event within the program, and the timing data for each programming event includes the identifier of that programming event. Additional closed caption timing data may also be provided at locations corresponding to the ends of programming events and to the beginnings and endings of segments within programming events.
  • the producer may further provide synchronized transmission of the closed caption data and programming events, or may store the programming events and closed caption data on a machine readable storage medium.
  • a process for producing a video signal including programming event timing data of the types described above or other alternative types may be implemented in a video production facility to produce a video signal including timing data at the time of production of the video program.
  • the beginnings of programming events within the program and identifiers of each programming event are determined. This may be done using script data and other production data in a metadata generation process such as the metadata generation processes described above.
  • a video signal is then produced for the program.
  • the video signal includes timing data that is provided at locations within the video signal at locations that correspond to the beginnings of each programming event within the program, and the timing data for each' p ⁇ gra ' mmihg ⁇ eveht includes the identifier of that programming event. Additional timing data may also be provided at locations corresponding to the ends of programming events and to the beginnings and endings of segments within programming events.
  • the production of closed caption timing data is implemented in a manner that is preferred for providing enhanced synchronization for video programs, and particularly for "live" video programs and other programs produced using a teleprompter.
  • the exact timing of transitions between programming events within the program can depends on the rate at which narration within each programming event occurs.
  • the length of segments of a news program depends on the rate at which a news anchor reads the text of each segment.
  • Figure 21 illustrates basic components of a video production system in accordance with preferred embodiments for enhancing synchronization with client devices.
  • the video production system includes a video source 242 for providing the program video signal 244.
  • the system further includes a closed caption data source 246 for providing a closed caption data stream 248 including closed caption text data and timing data such as the timing data described above.
  • the closed caption data and video signal are provided to a storage device or a transmission medium 250.
  • the system includes a teleprompter system 252 that displays text to be read during the production of the video program, such as by news anchors or actors.
  • the teleprompter text is generally prepared in advance of the program and in typical implementations the teleprompter text and the closed caption text are prepared from the same source and are therefore identical or very similar.
  • the teleprompter displays text in a scrolling fashion that is regulated in accordance with the rate at which the text is being read.
  • the scrolling of the teleprompter text is used to trigger corresponding portions of the closed caption text data, thereby producing a high degree of synchronization between the audio portion of the program and the corresponding closed caption text data.
  • the closed caption data source provides text 254 for display by the teleprompter system 252, and the teleprompter system 252 provides a trigger signal 256 to trigger the transmission of portions of closed caption data that includes timing data such as the various types of timing data described above. This provides a high degree of synchronization between the timing data and transitions between programming events.
  • a process for generating closed caption data for a video program generally involves producing closed caption data comprising timing data and text data and producing a video signal for the video program.
  • the locations of timing data within the closed caption data may correspond to beginnings or endings of programming events within the video program, and the closed caption data is synchronized to the video signal in accordance with the display of corresponding data by a teleprompter system used in producing the video program.
  • the synchronized video signal and closed caption data may be transmitted to client video reception devices or stored on a machine readable storage medium.
  • the closed caption timing data described above may be used in client video devices for synchronizing recording of programming events to the reception of those programming events.
  • the timing data represented in programming event metadata is used for determining a preferred programming event list, while the closed caption data stream is monitored for a period prior to the anticipated commencement of a programming event to detect closed caption timing data signifying the actual beginning of the programming event.
  • the closed caption data stream may also be monitored during reception of the programming event to detect further timing data signifying an end point of the programming event or points at which recording should be paused or reinitiated after pausing.
  • a process for selectively recording programming events as illustrated in Figure 22 may therefore be implemented in a video recording device. Initially a programming event to be recorded is determined (258).
  • the programming event to be recorded may be determined from a recording schedule based on the current time maintained by the recording device. Timing data associated with the programming event is then identified (260) in a closed caption data stream received by the recording device. In some instances it may be necessary for the recording device to tune to the channel of the programming event in advance of the beginning of the programming event in order to receive the closed caption data stream of that channel so that the timing information indicating the beginning of the programming event may be detected-.
  • the recording device may then control (262) recording of the programming event in accordance with the timing data. Such control may include initiating recording, pausing recording, reinitiating recording after pausing, or terminating recording.
  • We '1 video signal as described above may be used in a similar manner in a recording device by detecting the timing data within the video signal rather than within closed caption data.
  • timing data comprises a simple identifier located at the beginning of the programming event
  • delays in commencing recording upon receipt of the timing data may be resolved through buffering of the video stream in the client device. Such delays may be avoided through the use of timing data that is located prior to the beginning of the programming event by a predetermined or specified distance as described above.
  • Alternative embodiments of the invention may employ different methods of using closed caption timing data or timing data provided within the video to synchronize recording to programming event transmission. For example, a recording device may begin recording the channel of a programming event in advance of the beginning of the programming event, and subsequently delete material recorded prior to the beginning of the programming event indicated by the corresponding timing data. Material recorded after the end of the programming event or during commercial breaks or other segments indicated by the timing data may be determined and deleted in a similar fashion.
  • timing data as described above may simply be recorded in the closed caption data stream accompanying the programming event or in the video signal itself, and used later by the device to control playback, such as by beginning playback in accordance with timing data indicating the beginning of the programming event, skipping portions such as commercial breaks indicated by the timing data, and ending playback in accordance with timing data indicating the end of the programming event.
  • additional information may accompany the timing information in the closed caption data or video signal.
  • scoring and scheduling processes described above are presented in the context of a client device that analyzes metadata for purposes of identifying upcoming programming events to be recommended or recorded
  • alternative embodiments of the invention may implement the scoring and scheduling processes in a server of a programming event distribution system that analyzes programming events to determine programming events of interest to particular viewers so that those programming events can be recommended for transmission or automatically transmitted.
  • a metadata distributor 1 80 supplies metadata 182 to a programming event provider 1 84, which in turn supplies preferred programming events 186 to a client device 188.
  • the client device may be a set top box, a computer, or a television.
  • the programming event provider may be a broadcast, cable, or satellite television provider system, or an internet server or video server.
  • the programming event provider is typically implemented as a computing device including a processor or processors to execute programming instructions and memory coupled to the processor(s) and containing programming instructions for instantiating a programming event provider system providing programming event scoring and transmission as described further below.
  • the programming event provider system may perform scoring or scheduling processes as described above to assign scores to programming events using programming event metadata and viewer profiles provided by one or more consumers.
  • the programming event provider may receive one or more viewer profiles from viewers (190).
  • the viewer profiles may be provided, for example, by client devices.
  • the viewer profiles include preference scores associated with categories of a classification hierarchy.
  • the programming event provider also receives metadata for one or more programming events (1 92).
  • the metadata includes goodness of fit scores for categories of the classification hierarchy. Metadata for programming events is processed using the viewer profiles to determine preferred programming events (1 94).
  • the metadata may be processed using a single viewer profile to determine preferred programming events for one viewer or a groups of viewers, or the metadata may be processed using multiple viewer profiles to determine preferred programming events for a group of viewers.
  • Preferred programming events are then transmitted to the one or more viewers (196). Transmissions may be provided in accordance with a preferred programming event schedule as described above. Alternatively, an index of preferred programming events may be made accessible to viewer to allow viewers to select programming events for transmission.
  • FIG. 1 For embodiments of the invention, may implement a programming event scoring process in a server that analyzes programming events to determine programming events of particular interest to a viewer a ⁇ d ⁇ pf ⁇ v ⁇ des alerts regarding the programming events to the viewer through a communication device such as a pager, email, instant messaging, telephone, or wireless communication device to alert the viewer to the availability of the programming event, and to provide related information such as the time and channel of the programming event and a description of the programming event.
  • a communication device such as a pager, email, instant messaging, telephone, or wireless communication device to alert the viewer to the availability of the programming event, and to provide related information such as the time and channel of the programming event and a description of the programming event.
  • a metadata distributor 200 supplies metadata 202 to a server 204, which determines preferred programming events in accordance with a viewer profile and communicates programming alerts 206 to a communication device 208 of the viewer.
  • the communication device may for example be a pager, cell phone, wireless communication device, telephone or computer.
  • the server may perform scoring processes as described above to assign scores to programming events using programming event metadata and a viewer profile provided by the viewer.
  • the programming event provider may receive a viewer profile from a viewer (210).
  • a viewer may provide a viewer profile, for example, by transmitting a previously established viewer profile to the server through the internet, or by accessing the server through the internet and filling a form to provide appropriate viewer profile information.
  • the viewer profile may include preference scores associated with categories of a classification hierarchy.
  • the viewer profile preferably contains contact information, such as an email address or pager number, for indicating where an alert should be sent for that viewer.
  • the programming event provider also receives metadata for one or more programming events (21 2).
  • the metadata may include goodness of fit scores for categories of the classification hierarchy.
  • Metadata for programming events is processed using the viewer profile to determine preferred programming events (214).
  • An alert is then provided to the viewer's communication device (21 6).
  • the alert is provided to the viewer's communication device using contact information such as an email address or pager address that is included in the viewer profile.
  • the alert may be in the form of a text message for viewing, or in the case of wireless communication devices such as digital cellular telephones, the alert may be provided as a computer-generated spoken message.
  • the manners of transmitting data from a server to various communication devices as described above is known in the art.
  • the time at which the alert is provided is preferably determined through reference to the time of the preferred programming event and information in the'v ⁇ ewer profile specifying an amount of time in advance for providing alerts.
  • systems and processes as discussed above may be applied to programming events involving other types of media.
  • metadata may be generated for audio programs or segments of audio programs, and the metadata may be analyzed using viewer profiles to determine an alert list or programs to be recorded.
  • Analogous processes may be applied to other media such as electronic print media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Television Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

L'invention concerne des métadonnées destinées à un événement de programmation. Ces métadonnées peuvent être engendrées par la réception d'information descriptive et d'information de synchronisation destinées audit événement et par l'analyse de cette information de manière à déterminer la validité de catégories de scores d'ajustement pour l'événement de programmation correspondant aux catégories d'une hiérarchie de classification. Cette information est, en outre, analysée pour déterminer des mots clés associés à l'événement de programmation. La validité de catégories des scores d'ajustement et des mots clés peut être stockée conjointement aux données temporelles et descriptives destinées à l'événement de programmation en fonction de métadonnées de l'événement de programmation. La validité des scores d'ajustement peut également être engendrée pour les mots clés. Des métadonnées peuvent être générées pour des segments individuels au sein d'un programme, chacun desdits segments étant traités comme un événement de programmation séparé. Les métadonnées peuvent être utilisées pour déterminer des événements de programmation d'intérêt destinés à l'enregistrement ou à la génération de bannières d'alerte. Des données de synchronisation permettant de synchroniser le dispositif d'enregistrement par rapport à l'événement de programmation peuvent se trouver dans un flux de données de sous-titre fermé.
EP02791233A 2001-11-16 2002-11-12 Systemes et procedes concernant la determination de l'interet d'evenements de programmation et de leur enregistrement Withdrawn EP1459530A4 (fr)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US991814 1992-12-16
US992414 1992-12-17
US992686 1992-12-18
US992882 1997-12-18
US991807 2001-11-16
US09/992,882 US7337462B2 (en) 2000-11-16 2001-11-16 System and method for providing timing data for programming events
US991741 2001-11-16
US09/992,414 US20020087987A1 (en) 2000-11-16 2001-11-16 System and method for creating and editing a viewer profile used in determining the desirability of video programming events
US09/991,807 US7367043B2 (en) 2000-11-16 2001-11-16 System and method for generating metadata for programming events
US09/992,686 US6973665B2 (en) 2000-11-16 2001-11-16 System and method for determining the desirability of video programming events using keyword matching
US09/991,814 US20020092022A1 (en) 2000-11-16 2001-11-16 System and method for using programming event timing data in a recording device
US09/991,741 US6651253B2 (en) 2000-11-16 2001-11-16 Interactive system and method for generating metadata for programming events
PCT/US2002/036328 WO2003044624A2 (fr) 2001-11-16 2002-11-12 Systemes et procedes concernant la determination de l'interet d'evenements de programmation et de leur enregistrement

Publications (2)

Publication Number Publication Date
EP1459530A2 true EP1459530A2 (fr) 2004-09-22
EP1459530A4 EP1459530A4 (fr) 2005-06-08

Family

ID=27560357

Family Applications (1)

Application Number Title Priority Date Filing Date
EP02791233A Withdrawn EP1459530A4 (fr) 2001-11-16 2002-11-12 Systemes et procedes concernant la determination de l'interet d'evenements de programmation et de leur enregistrement

Country Status (3)

Country Link
EP (1) EP1459530A4 (fr)
AU (1) AU2002366072A1 (fr)
WO (1) WO2003044624A2 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050177538A1 (en) * 2004-01-30 2005-08-11 Yusuke Shimizu Preference information managing apparatus which stores users' usage history of packaged contents, calculates scores of the usage history and outputs the result of the calculation as a preference information, and preference information managing apparatus which stores users' usage history of packaged contents and the other contents, and calculates scores of the usage history in such a manner that a usage history of packaged contents is considered to be more valuable than a usuage history of other contents, and outputs the result of the calculation as a preference information
JP2005328218A (ja) * 2004-05-13 2005-11-24 Sony Corp 録画処理装置、録画予約処理システム、記事管理システム、および録画処理方法、並びにコンピュータ・プログラム
JP4506270B2 (ja) * 2004-05-13 2010-07-21 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
EP3518550A1 (fr) * 2018-01-24 2019-07-31 Sixty AS Rendu vidéo en direct et système de diffusion

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0774868A1 (fr) * 1995-11-17 1997-05-21 Thomson Consumer Electronics, Inc. Planificateur utilisant un menu pour l'utilisation dans un récepteur de télévision
WO1999029108A1 (fr) * 1997-12-04 1999-06-10 Gte Laboratories Incorporated Procede et systeme de video presque sur demande
US5924090A (en) * 1997-05-01 1999-07-13 Northern Light Technology Llc Method and apparatus for searching a database of records
JP2000175141A (ja) * 1998-12-10 2000-06-23 Hitachi Ltd 放送映像自動録画装置
WO2001073599A2 (fr) * 2000-03-29 2001-10-04 Koninklijke Philips Electronics N.V. Interface utilisateur assurant la production automatique et la presentation ergonomique de criteres de recherche par mots-cles

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3856057T2 (de) * 1987-07-20 1998-10-29 Philips Electronics Nv Fernseh-Übertragungssystem
DE69128879T2 (de) * 1990-08-10 1998-10-22 Matsushita Electric Ind Co Ltd Übertragungssystem und empfänger dafür
US5390027A (en) * 1990-08-23 1995-02-14 Matsushita Electric Industrial Co., Ltd. Television program recording and reproducing system using program data of text broadcast signal
US5758257A (en) * 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5758259A (en) * 1995-08-31 1998-05-26 Microsoft Corporation Automated selective programming guide
US6005631A (en) * 1996-03-28 1999-12-21 Scientific-Atlanta, Inc. Methods and apparatus for organizing and searching an electronic programming guide
US6177931B1 (en) * 1996-12-19 2001-01-23 Index Systems, Inc. Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information
US6295092B1 (en) * 1998-07-30 2001-09-25 Cbs Corporation System for analyzing television programs

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0774868A1 (fr) * 1995-11-17 1997-05-21 Thomson Consumer Electronics, Inc. Planificateur utilisant un menu pour l'utilisation dans un récepteur de télévision
US5924090A (en) * 1997-05-01 1999-07-13 Northern Light Technology Llc Method and apparatus for searching a database of records
WO1999029108A1 (fr) * 1997-12-04 1999-06-10 Gte Laboratories Incorporated Procede et systeme de video presque sur demande
JP2000175141A (ja) * 1998-12-10 2000-06-23 Hitachi Ltd 放送映像自動録画装置
WO2001073599A2 (fr) * 2000-03-29 2001-10-04 Koninklijke Philips Electronics N.V. Interface utilisateur assurant la production automatique et la presentation ergonomique de criteres de recherche par mots-cles

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 2000, no. 09, 13 October 2000 (2000-10-13) & JP 2000 175141 A (HITACHI LTD), 23 June 2000 (2000-06-23) *
See also references of WO03044624A2 *

Also Published As

Publication number Publication date
AU2002366072A1 (en) 2003-06-10
AU2002366072A8 (en) 2003-06-10
WO2003044624A2 (fr) 2003-05-30
EP1459530A4 (fr) 2005-06-08
WO2003044624A3 (fr) 2003-12-31

Similar Documents

Publication Publication Date Title
US7367043B2 (en) System and method for generating metadata for programming events
US7444660B2 (en) System and method for generating metadata for video programming events
US20020083468A1 (en) System and method for generating metadata for segments of a video program
US20020152463A1 (en) System and method for personalized presentation of video programming events
US20020100046A1 (en) System and method for determining the desirability of video programming events
CA2924065C (fr) Segmentation de contenu video basee sur un contenu
US8762850B2 (en) Methods systems, and products for providing substitute content
US8230343B2 (en) Audio and video program recording, editing and playback systems using metadata
CA2883096C (fr) Guide de programmes electronique client-serveur
US8539529B2 (en) Interest messaging entertainment system
US7818764B2 (en) System and method for monitoring blocked content
CA2464213A1 (fr) Afficheur epg personnalise a indices visuels
WO2002102079A1 (fr) Systemes d'enregistrement, d'edition et de reproduction de programmes audio et video au moyen de metadonnees
WO2003044624A2 (fr) Systemes et procedes concernant la determination de l'interet d'evenements de programmation et de leur enregistrement
AU2013204490B2 (en) Client-Server Electronic Program Guide
EP1675396A2 (fr) Guide client-serveur de programmes électronique
EP3044728A1 (fr) Segmentation de contenu vidéo basée sur un contenu
AU2010206030A1 (en) Client-Server Electronic Program Guide

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20040616

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LI LU MC NL PT SE SK TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO SI

A4 Supplementary search report drawn up and despatched

Effective date: 20050427

RIC1 Information provided on ipc code assigned before grant

Ipc: 7H 04N 7/173 B

Ipc: 7H 04N 5/445 B

Ipc: 7H 04N 7/16 B

Ipc: 7H 04N 7/025 A

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20060403