What is claimed is:
1 . A method for generating metadata for a programming event comprising: receiving data corresponding to a programming event, the data including descriptive information and timing information; analyzing the received data to determine category goodness of fit scores for the programming event corresponding to categories of a classification hierarchy; analyzing the received data to determine keywords associated with the programming event; and storing category goodness of fit scores and keywords in association with time data and descriptive data for the programming event as metadata for the programming event.
2. The method claimed in claim 1 , further comprising determining respective keyword goodness of fit scores for said determined keywords.
3. The method claimed in claim 2, further comprising determining a representative subset of said determined keywords by a thresholding procedure using said keyword goodness of fit scores, and wherein storing keywords comprises storing said representative subset of keywords and corresponding keyword goodness of fit scores as part of said metadata.
4. The method claimed in claim 1 , further comprising determining a representative subset of said category goodness of fit scores, and wherein storing category goodness of fit scores comprises storing said representative subset of said category goodness of fit scores.
5. The method claimed in claim 1 , wherein the received data comprises program descriptive data data.
6. The method claimed in claim 1 , wherein the received data comprises production data including descriptive information and timing information.
7. The method claimed in claim 6, wherein analyzing the received data is preceded by determining a time and a duration of individual segments of a program described by the production data.
8. The method claimed in claim 7, wherein determining a time and duration is preceded by processing the production data to conform to a standard delimited format.
9. The method claimed in claim 7, wherein the received data further comprises program descriptive data data describing the program.
10. The method claimed in claim 1 , wherein storing keywords comprises storing no more than a predetermined number of keywords.
1 1 . A device for generating metadata for a programming event comprising: at least one processor; and memory coupled to the at least one processor and having stored therein programming instructions to perform data processing, comprising: receiving data corresponding to a programming event, the data including descriptive information and timing information; analyzing the received data to determine category goodness of fit scores for the programming event corresponding to categories of a classification hierarchy; analyzing the received data to determine keywords associated with the programming event; and storing category goodness of fit scores and keywords in association with time data and descriptive data for the programming event as metadata for the programming event.
1 2. The device claimed in claim 1 1 , said processing further comprising determining respective keyword goodness of fit scores for said determined keywords.
13. The device claimed in claim 12, said processing further comprising determining a representative subset of said determined keywords by a thresholding procedure using said keyword goodness of fit scores, and wherein storing keywords comprises storing said representative subset of keywords and corresponding keyword goodness of fit scores as part of said metadata.
14. The device claimed in claim 1 1 , said processing further comprising determining a representative subset of said category goodness of fit scores, and wherein storing category goodness of fit scores comprises storing said representative subset of said category goodness of fit scores.
15. The device claimed in claim 1 1 , wherein the received data comprises program descriptive data data.
16. The device claimed in claim 1 1 , wherein the received data comprises production data including descriptive information and timing information.
17. The device claimed in claim 16, wherein analyzing the received data is preceded by determining a time and a duration of individual segments of a program described by the production data.
18. The device claimed in claim 17, wherein determining a time and duration is preceded by processing the production data to conform to a standard delimited format.
1 9. The device claimed in claim 17, wherein the received data further comprises program descriptive data describing the program.
20. The device claimed in claim 1 1 , wherein storing keywords comprises storing no more than a predetermined number of keywords.
21 . A method for generating metadata for a programming event comprising: determining candidate keywords from descriptive data associated with the programming event; providing the candidate keywords as input to a classification tool configured to generate goodness of fit scores for categories of a classification hierarchy; selecting keywords from among said candidate keywords based on category goodness of fit scores generated for each of said candidate keywords by the classification tool; and storing said selected keywords as a component of metadata for the programming event.
22. The method claimed in claim 21 , wherein determining candidate keywords comprise determining verbs and nouns of said descriptive data.
23. The method claimed in claim 21 , wherein selecting keywords is preceded by: correlating category goodness of fit scores of said candidate keywords to category goodness of fit scores of said programming event; and discarding candidate keywords having low correlation.
24. The method claimed in claim 21 , wherein selecting keywords comprises eliminating candidate keywords by a thresholding process using a highest category goodness of fit score associated with each candidate keyword.
25. The method claimed in claim 21 , further comprising storing a highest category goodness of fit score associated with each selected keyword as a corresponding keyword goodness of fit score.
26. The method claimed in claim 21 , wherein storing selected keywords comprises storing no more than a predetermined number of selected keywords.
27. A device for generating metadata for a programming event comprising: at least one processor; and memory coupled to the at least one processor and having stored therein programming instructions to perform data processing, comprising: determining candidate keywords from descriptive data associated with the programming event; providing the candidate keywords as input to a classification tool configured to generate goodness of fit scores for categories of a classification hierarchy; selecting keywords from among said candidate keywords based on category goodness of fit scores generated for each of said candidate keywords by the classification tool; and storing said selected keywords as a component of metadata for the programming event.
28. The device claimed in claim 27, wherein determining candidate keywords comprise determining verbs and nouns of said descriptive data.
29. The device claimed in claim 27, wherein selecting keywords is preceded by: correlating category goodness of fit scores of said candidate keywords to category goodness of fit scores of said programming event; and discarding candidate keywords having low correlation.
30. The device in claim 27, wherein selecting keywords comprises eliminating candidate keywords by a thresholding process using a highest category goodness of fit score associated with each candidate keyword.
31 . The device claimed in claim 27, said processing further comprising storing a highest category goodness of fit score associated with each selected keyword as a corresponding keyword goodness of fit score.
32. The device claimed in claim 27, wherein storing selected keywords comprises storing no more than a predetermined number of selected keywords.
33. A method for generating metadata for a programming event, comprising: receiving data corresponding to a programming event, the data including descriptive information and timing information; generating preliminary metadata for the programming event from the received data; providing the preliminary metadata to a system user; and receiving user specified metadata responsive to the preliminary metadata.
34. The method claimed in claim 33, wherein'lth'rpre1'im"ιharVfuft etadafal comprises at least one of categories of a classification hierarchy, goodness of fit scores associated with said categories, keywords, goodness of fit scores associated with said keywords, and a title.
35. The method claimed in claim 33, wherein receiving data comprises receiving production data corresponding to a video program, and wherein generating preliminary metadata comprises generating preliminary data for a programming event corresponding to a segment of the video program.
36. The method claimed in claim 33, wherein providing preliminary metadata comprises providing preliminary categories of a classification hierarchy, and wherein receiving user specified metadata comprises receiving specified categories of the classification hierarchy.
37. The method claimed in claim 33, wherein providing preliminary metadata comprises providing preliminary keywords, and wherein receiving user specified metadata comprises receiving specified keywords.
38. The method claimed in claim 33, wherein providing preliminary metadata comprises providing a preliminary title, and wherein receiving user specified metadata comprises receiving a specified title.
39. A device for generating metadata for a programming event, comprising: at least one processor; and memory coupled to the at least one processor and having stored therein programming instructions to perform data processing, comprising: receiving data corresponding to a programming event, the data including descriptive information and timing information; generating preliminary metadata for the programming event from the received data; providing the preliminary metadata to a system user; and receiving user specified metadata responsive to the preliminary metadata.
40. The device claimed in claim 39, wherein the p elimin ryα,rih"etadata comprises at least one of categories of a classification hierarchy, goodness of fit scores associated with said categories, keywords, goodness of fit scores associated with said keywords, and a title.
41 . The device claimed in claim 39, wherein receiving data comprises receiving production data corresponding to a video program, and wherein generating preliminary metadata comprises generating preliminary data for a programming event corresponding to a segment of the video program.
42. The device claimed in claim 39, wherein providing preliminary metadata comprises providing preliminary categories of a classification hierarchy, and wherein receiving user specified metadata comprises receiving specified categories of the classification hierarchy.
43. The device claimed in claim 39, wherein providing preliminary metadata comprises providing preliminary keywords, and wherein receiving user specified metadata comprises receiving specified keywords.
44. The device claimed in claim 39, wherein providing preliminary metadata comprises providing a preliminary title, and wherein receiving user specified metadata comprises receiving a specified title.
45. A method for generating metadata for a programming event, comprising: receiving data corresponding to a programming event, the data including descriptive information and timing information; generating preliminary metadata for the programming event from the received data; providing the preliminary metadata to a system user; receiving approval of the metadata from the user; and storing the preliminary metadata as approved metadata.
46. The method claimed in claim 45, wherein the preliminary metadata comprises at least one of categories of a classification hierarchy, goodness of fit scores associated with said categories, keywords, goodness of fit "scores 'a's'S'6'dfated wrtPrsa'id keywords, and a title.
47. The method claimed in claim 45, wherein receiving data comprises receiving production data corresponding to a video program, and wherein generating preliminary metadata comprises generating preliminary data for a programming event corresponding to a segment of the video program.
48. The method claimed in claim 45, wherein providing preliminary metadata comprises providing preliminary categories of a classification hierarchy, and wherein receiving approval comprises receiving approval of the preliminary categories of the classification hierarchy.
49. The method claimed in claim 45, wherein providing preliminary metadata comprises providing preliminary keywords, and wherein receiving approval comprises receiving approval of the preliminary keywords.
50. The method claimed in claim 45, wherein providing preliminary metadata comprises providing a preliminary title, and wherein receiving approval of the preliminary title.
51 . A device for generating metadata for a programming event, comprising: at least one processor; and memory coupled to the at least one processor and having stored therein programming instructions to perform data processing, comprising: receiving data corresponding to a programming event, the data including descriptive information and timing information; generating preliminary metadata for the programming event from the received data; providing the preliminary metadata to a system user; receiving approval of the metadata from the user; and storing the preliminary metadata as approved metadata.
52. The device claimed in claim 51 , wherein the "pr'elimrfiary'Η'ieta'data comprises at least one of ciategories of a classification hierarchy, goodness of fit scores associated with said categories, keywords, goodness of fit scores associated with said keywords, and a title.
53. The device claimed in claim 51 , wherein receiving data comprises receiving production data corresponding to a vitieo program, and wherein generating preliminary metadata comprises generating preliminary data for a programming event corresponding to a segn ent of the videi> program.
54. The device claimed in claim 51 , wher&in providing preliminary metadata comprises providing preliminary categories of a classification hierarchy, and wherein receiving approval comprises receiving approval of the preliminary categories.
55. The device claimed in claim 51 , wherein providing 'preliminary metadata comprises providing preliminary keywords, and wherein receiving approval comprises receiving approval άf the preliminary keywords.
56. The device claimed in claim 51 , wherein providing preliminary metadata comprises providing a preliminary title, and wherein receiving approval comprises receiving approval of the preliminary title.
57. A method for determining the desirability of programming events, comprising: receiving metadata describing programming events, the metadata for a programming event comprising goodness of fit scores associated with categories of a classification hierarchy and at least one of descriptive data and keyword data; and ranking the programming events in accordance with viewing preferences expressed in at least one viewer profile, each of the at least one viewer profiles comprising preference scores associated with categories of the classification hierarchy and at least one keyword, the ranking using the metadata goodness of fit scores and the viewer profile category preference scores to determine rank based on category matching, the ranking further using the at least one of metadata descriptive data and metadata keywords ana tne at least one keyword of the af least one iewer profife-fd1 determine rank based upon keyword matching.
58. The method claimed in claim 57, wherein said ranking is performed such that programming events having keyword matches are ranked higher than programming events not having keyword matches, and programming events not having keyword matches are ranked based upon category match scores.
59. The method claimed in claim 57, wherein said ranking comprises: determining a category match score for each programming event as a function of the metadata goodness of fit scores and viewer profile preference scores of matched categories of the programming event, wherein a matched category is a category of the classification hierarchy for which there is a goodness of fit score in the metadata of the programming event and a preference score in the at least one viewer profile; and determining a keyword match score for each programming event having a keyword match, wherein a keyword match is a match the at least one of descriptive data and keyword data of the programming event metadata and a keyword of the at least one viewer profile.
60. The method claimed in claim 59, wherein each keyword match score is greater than a greatest possible category match score, and wherein said ranking is based upon said keyword match scores and said category match scores.
61 . The method claimed in claim 59, wherein said programming event metadata further comprises a time and duration of the corresponding programming event, and wherein the method further comprises determining a programming event recording schedule in accordance with said keyword match scores and said category match scores of the programming events and the times and durations of the programming events.
62. The method claimed in claim 59, wherein said programming event metadata further comprises a time of the corresponding programming event, and wherein the method further comprises determining4"! prog ϊ_\ rfffn'ifig' event "alert schedule in accordance with said keyword match scores and said category match scores of the programming events and the times of the programming events.
63. The method claimed in claim 62, wherein the schedule comprises not more than a predetermined number of programming events within a given time period as specified in a viewer profile.
64. The method claimed in claim 57, wherein said ranking comprises: determining a category match score for each programming event as a function of the metadata goodness of fit scores and viewer profile preference scores of matched categories of the programming event, wherein a matched category is a category of the classification hierarchy for which there is a goodness of fit score in the metadata of the programming event and a preference score in the at least one viewer profile; determining a keyword match score for each programming event having a keyword match, wherein a keyword match is a match between the at least one of descriptive data and keyword data of the programming event metadata and a keyword of the at least one viewer profile; and determining a qualified keyword match score for each programming event having a qualified keyword match, wherein a qualified keyword match is a match between a qualified keyword of the at least one viewer profile and the at least one of descriptive data and keyword data of the metadata of a programming event having a goodness of fit score in the category associated with the qualified keyword.
65. The method claimed in claim 57, wherein the at least one viewer profile further comprises at least one qualified keyword comprising a keyword associated with a category of the category hierarchy, wherein said ranking further uses the at least one qualified keyword of the at least one viewer profile to determine rank based upon qualified keyword matching, and wherein said ranking is performed such that programming events having qualified keyword matches are ranked higher than programming events having keyword matches, programming events having keyword matches are ranked higher than programming events not having keyword matches and not having qualified keyword matches, and programming events not having keyword matches and not having qualified keyword matches are ranked based upon category match scores.
66. The method claimed in claim 65, wherein each qualified keyword match score is greater than a greatest possible keyword match score, each keyword match score is greater than a greatest possible category match score, and wherein said ranking is based upon said qualified keyword match scores, said keyword match scores and said category match scores.
67. The method claimed in claim 65, wherein a programming event having a qualified keyword match is ranked relative to other programming events having qualified keyword matches in accordance with the preference score associated with the category of each matched qualified keyword in its corresponding viewer profile.
68. The method claimed in claim 65, wherein said programming event metadata further comprises a time and duration of the corresponding programming event, and wherein the method further comprises determining a programming event recording schedule in accordance with said qualified keyword match scores, said keyword match scores and said category match scores of the programming events and the times and durations of the programming events.
69. The method claimed in claim 65, wherein said programming event metadata further, comprises a time of the corresponding programming event, and wherein the method further comprises determining a programming event alert schedule in accordance with said qualified keyword match scores, said keyword match scores and said category match scores of the programming events and the times of the programming events.
70. The method claimed in claim 69, wherein the schedule comprises not more than a predetermined number of programming events within a given time period as specified in a viewer profile.
71 . A device for determining the desirability of programming events, comprising: at least one processor; and memory coupled to the at least one processor and having Sfdfe' "llh'Blrein programming instructions to perform data processing, comprising: receiving metadata describing programming events, the metadata for a programming event comprising goodness of fit scores associated with categories of a classification hierarchy and at least one of descriptive data and keyword data; and ranking the programming events in accordance with viewing preferences expressed in at least one viewer profile, each of the at least one viewer profiles comprising preference scores associated with categories of the classification hierarchy and at least one keyword, the ranking using the metadata goodness of fit scores and the viewer profile category preference scores to determine rank based on category matching, the ranking further using the at least one of metadata descriptive data and metadata keywords and the at least one keyword of the at least one viewer profile to determine rank based upon keyword matching.
72. The device claimed in claim 71 , wherein said ranking is performed such that programming events having keyword matches are ranked higher than programming events not having keyword matches, and programming events not having keyword matches are ranked based upon category match scores.
73. The device claimed in claim 71 , wherein said ranking comprises: determining a category match score for each programming event as a function of the metadata goodness of fit scores and viewer profile preference scores of matched categories of the programming event, wherein a matched category is a category of the classification hierarchy for which there is a goodness of fit score in the metadata of the programming event and a preference score in the at least one viewer profile; and determining a keyword match score for each programming event having a keyword match, wherein a keyword match is a match the at least one of descriptive data and keyword data of the programming event metadata and a keyword of the at least one viewer profile.
74. The device claimed in claim 73, wherein each keyword match score is greater than a greatest possible category match score, and wherein said ranking is based upon said keyword match scores and said category match scores.
75. The device claimed in claim 73, wherein said*'plrD'grarrϊr?tϊhgtt:ev*erϊt: metadata further comprises a time and duration of the corresponding programming event, and wherein said processing further comprises determining a programming event recording schedule in accordance with said keyword match scores and said category match scores of the programming events and the times and durations of the programming events.
76. The device claimed in claim 73, wherein said programming event metadata further comprises a time of the corresponding programming event, and wherein said processing further comprises determining a programming event alert schedule in accordance with said keyword match scores and said category match scores of the programming events and the times of the programming events.
77. The device claimed in claim 76, wherein the schedule comprises not more than a predetermined number of programming events within a given time period as specified in a viewer profile.
78. The device claimed in claim 71 , wherein said ranking comprises: determining a category match score for each programming event as a function of the metadata goodness of fit scores and viewer profile preference scores of matched categories of the programming event, wherein a matched category is a category of the classification hierarchy for which there is a goodness of fit score in the metadata of the programming event and a preference score in the at least one viewer profile; determining a keyword match score for each programming event having a keyword match, wherein a keyword match is a match between the at least one of descriptive data and keyword data of the programming event metadata and a keyword of the at least one viewer profile; and determining a qualified keyword match score for each programming event having a qualified keyword match, wherein a qualified keyword match is a match between a qualified keyword of the at least one viewer profile and the at least one of descriptive data and keyword data of the metadata of a programming event having a goodness of fit score in the category associated with the qualified keyword.
79. The device claimed in claim 71 , wherein ϊhl"'af? lέas o ^- e ^r fri'e1 further comprises at least one qualified keyword comprising a keyword associated with a category of the category hierarchy, wherein said ranking further uses the at least one qualified keyword of the at least one viewer profile to determine rank based upon qualified keyword matching, and wherein said ranking is performed such that programming events having qualified keyword matches are ranked higher than programming events having keyword matches, programming events having keyword matches are ranked higher than programming events not having keyword matches and not having qualified keyword matches, and programming events not having keyword matches and not having qualified keyword matches are ranked based upon category match scores.
80. The device claimed in claim 79, wherein each qualified keyword match score is greater than a greatest possible keyword match score, each keyword match score is greater than a greatest possible category match score, and wherein said ranking is based upon said qualified keyword match scores, said keyword match scores and said category match scores.
81 . The device claimed in claim 79, wherein a programming event having a qualified keyword match is ranked relative to other programming events having qualified keyword matches in accordance with the preference score associated with the category of each matched qualified keyword in its corresponding viewer profile.
82. The device claimed in claim 79, wherein said programming event metadata further comprises a time and duration of the corresponding programming event, and wherein said processing further comprises determining a programming event recording schedule in accordance with said qualified keyword match scores, said keyword match scores and said category match scores of the programming events and the times and durations of the programming events.
83. The device claimed in claim 79, wherein said programming event metadata further comprises a time of the corresponding programming event, and wherein said processing further comprises determinϊhg a* pYόgTaϊ miήg'eVefϊt alert schedule in accordance with said qualified keyword match scores, said keyword match scores and said category match scores of the programming events and the times of the programming events.
84. The device claimed in claim 79, wherein the schedule comprises not more than a predetermined number of programming events within a given time period as specified in a viewer profile.
85. A method of alerting a viewer of upcoming programming events of interest to the viewer, comprising: receiving metadata describing programming events, the metadata for a programming event comprising goodness of fit scores associated with categories of a classification hierarchy and at least one of descriptive data and keyword data; ranking the programming events in accordance viewing preferences expressed in at least one viewer profile using said metadata; determining a programming event alert schedule in accordance with said ranking; and providing alerts to a viewer in accordance with said alert schedule.
86. The method claimed in claim 85, wherein providing alerts comprises displaying a banner on a video screen describing a programming event in said programming event schedule.
87. The method claimed in claim 86, wherein a color of said banner indicates a viewer profile most closely matched by the corresponding programming event.
88. The method claimed in claim 86, wherein said banner comprises a description of said programming event including a highest scored matched keyword from metadata of said programming event, and a highest scored matched category from said programming event.
89. The method claimed in claim 88, wherein said banner further comprises scores associated with said matched keyword and said matched category.
90. The method claimed in claim 85, wherein determining an amount of time in advance of a programming event to display an alert for the programming event from the at least one viewer profile; and displaying an alert for programming events in said programming event schedule in accordance with said amount of time.
91 . The method claimed in claim 85, further comprising displaying said programming event alert schedule in response to viewer input.
92. The method claimed in claim 91 , further comprising removing an alert from the alert schedule in response to viewer input.
93. The method claimed in claim 85, wherein determining a programming event alert schedule comprises selecting not more than a predetermined number of highest ranking programming events to occupy a given time period in said schedule.
94. The method claimed in claim 93, wherein said predetermined number and said given period of time are determined from said at least one viewer profile.
95. The method claimed in claim 85, wherein each of the at least one viewer profiles comprises preference scores associated with categories of the classification hierarchy and at least one keyword, wherein said ranking uses the metadata goodness of fit scores and the viewer profile category preference scores to determine rank based on category matching, and wherein said ranking further uses the at least one of metadata descriptive data and metadata keywords and the at least one keyword of the at least one viewer profile to determine rank based upon keyword matching.
96. The method claimed in claim 95, wherein said ranking comprises: determining a category match score for each programming event as a function of the metadata goodness of fit scores and viewer profile preference scores of matched categories of the programming event, wherein a matched category is a category of the classification hierarchy for which there is a goodness of fit score in the metadata of the programming event and a preference score in the at least one viewer profile; and determining a keyword match score for each prσgra nfnf'ng["eVehf rvaving!ta keyword match, wherein a keyword match is a match the at least one of descriptive data and keyword data of the programming event metadata and a keyword of the at least one viewer profile.
97. The method claimed in claim 95, wherein the at least one viewer profile further comprises at least one qualified keyword comprising a keyword associated with a category of the category hierarchy, wherein said ranking further uses the at least one qualified keyword of the at least one viewer profile to determine rank based upon qualified keyword matching.
98. The method claimed in claim 97, wherein said ranking comprises: determining a category match score for each programming event as a function of the metadata goodness of fit scores and viewer profile preference scores of matched categories of the programming event, wherein a matched category is a category of the classification hierarchy for which there is a goodness of fit score in the metadata of the programming event and a preference score in the at least one viewer profile; determining a keyword match score for each programming event having a keyword match, wherein a keyword match is a match between the at least one of descriptive data and keyword data of the programming event metadata and a keyword of the at least one viewer profile; and determining a qualified keyword match score for each programming event having a qualified keyword match, wherein a qualified keyword match is a match between a qualified keyword of the at least one viewer profile and the at least one of descriptive data and keyword data of the metadata of a programming event having a goodness of fit score in the category associated with the qualified keyword.
99. The method claimed in claim 85, wherein providing alerts comprises sending alerts to a communication device of the viewer.
100. A device for alerting a viewer of upcoming programming events of interest to the viewer, comprising: at least one processor; a storage device for storing video; and memory coupled~to the at least one processor ahd'ti'a irig 'sto WftTe'reiri programming instructions to perform data processing, comprising: receiving metadata describing programming events, the metadata for a programming event comprising goodness of fit scores associated with categories of a classification hierarchy and at least one of descriptive data and keyword data; ranking the programming events in accordance viewing preferences expressed in at least one viewer profile using said metadata; determining a programming event alert schedule in accordance with said ranking; and providing alerts to a viewer in accordance with said alert schedule.
101 . The device claimed in claim 100, wherein providing alerts comprises displaying a banner on a video screen describing a programming event in said programming event schedule.
102. The device claimed in claim 101 , wherein a color of said banner indicates a viewer profile most closely matched by the corresponding programming event.
103. The device claimed in claim 101 , wherein said banner comprises a description of said programming event including a highest scored matched keyword from metadata of said programming event, and a highest scored matched category from said programming event.
104. The device claimed in claim 103, wherein said banner further comprises scores associated with said matched keyword and said matched category.
105. The device claimed in claim 100, wherein providing an alert comprises: determining an amount of time in advance of a programming event to display an alert for the programming event from the at least one viewer profile; and displaying an alert for programming events in said programming event schedule in accordance with said amount of time.
106. The device claimed in claim 100, said processing further comprising displaying said programming event alert schedule in response to viewer input.
107. The device claimed in claim 106, said prδce'S'si'hg' f'tiftfi Hblδrri'prfSiril removing an alert from the alert schedule in response to viewer input.
108. The device claimed in claim 100, wherein determining a programming event alert schedule comprises selecting not more than a predetermined number of highest ranking programming events to occupy a given time period in said schedule.
109. The device claimed in claim 108, wherein said predetermined number and said given period of time are determined from said at least one viewer profile.
1 10. The device claimed in claim 100, wherein each of the at least one viewer profiles comprises preference scores associated with categories of the classification hierarchy and at least one keyword, wherein said ranking uses the metadata goodness of fit scores and the viewer profile category preference scores to determine rank based on category matching, and wherein said ranking further uses the at least one of metadata descriptive data and metadata keywords and the at least one keyword of the at least one viewer profile to determine rank based upon keyword matching.
1 1 1 . The device claimed in claim 1 10, wherein said ranking comprises: determining a category match score for each programming event as a function of the metadata goodness of fit scores and viewer profile preference scores of matched categories of the programming event, wherein a matched category is a category of the classification hierarchy for which there is a goodness of fit score in the metadata of the programming event and a preference score in the at least one viewer profile; and determining a keyword match score for each programming event having a keyword match, wherein a keyword match is a match the at least one of descriptive data and keyword data of the programming event metadata and a keyword of the at least one viewer profile.
1 1 2. The device claimed in claim 1 10, wherein the at least one viewer profile further comprises at least one qualified keyword comprising a keyword associated with a category of the category hierarchy, wherein said ranking further uses the at least one qualified keyword of the at least one viewer profile to determine rank based upon qualified keyword matching.
1 13. The device claimed in claim 1 12, wherein said ranking comprises: determining a category match score for each programming event as a function of the metadata goodness of fit scores and viewer profile preference scores of matched categories of the programming event, wherein a matched category is a category of the classification hierarchy for which there is a goodness of fit score in the metadata of the programming event and a preference score in the at least one viewer profile; determining a keyword match score for each programming event having a keyword match, wherein a keyword match is a match between the at least one of descriptive data and keyword data of the programming event metadata and a keyword of the at least one viewer profile; and determining a qualified keyword match score for each programming event having a qualified keyword match, wherein a qualified keyword match is a match between a qualified keyword of the at least one viewer profile and the at least one of descriptive data and keyword data of the metadata of a programming event having a goodness of fit score in the category associated with the qualified keyword.
1 14. The device claimed in claim 100, wherein providing alerts comprises sending alerts to a communication device of the viewer.
1 15. A method in a video production facility system for producing closed caption data for video programming events, comprising: receiving script data for a video program; determining identifiers of individual programming events within the program; and producing closed caption data for the program, the closed caption data comprising text data corresponding to said script data, and timing data provided at locations corresponding to beginnings of each of the programming events, the timing data corresponding to a programming event comprising an identifier of the corresponding programming event.
1 16. The method claimed in claim 1 1 5, wherein said closed caption data further comprises timing data provided at locations corresponding to ends of each programming event.
1 17. The method claimed in claim 1 15, wherein lai dlo eiF ε tϊoh dMi further comprises timing data provided at locations corresponding to beginnings of segments within the programming events.
1 18. The method claimed in claim 1 1 5, wherein said closed caption data further comprises timing data provided at locations corresponding to ends of segments within the programming events.
1 19. The method claimed in claim 1 1 5, further comprising providing synchronized transmission of the closed caption data and programming events .
120. The method claimed in claim 1 19, wherein providing synchronized transmission comprises synchronizing transmission of the closed caption data to the display of corresponding text by a teleprompter system used in the production of the video program.
1 21 . The method claimed in claim 1 1 5, further comprising storing the programming events and the closed caption data on a machine readable storage medium.
1 22. The method claimed in claim 1 1 5, wherein the timing data for a programming event comprises an identifier associated with the programming event and data indicating an amount of time by which the identifier precedes the beginning of the programming event.
1 23. The method claimed in claim 1 1 5, wherein the timing data for a programming event comprises an identifier associated with the programming event that is inserted into the closed caption data at a location separated from the beginning of the programming event by a predetermined amount of time.
1 24. The method claimed in claim 1 1 5, wherein the timing data is encoded as hidden closed caption data.
1 25. The method claimed in claim 1 1 5, wherein said timing data is accompanied by a timing data marker.
1 26. The method claimed in claim 1 1 5, wherein said timing data is encrypted.
1 27. A device for providing closed caption data for video programming events, comprising: at least one processor; and memory coupled to the at least one processor and having stored therein programming instructions to perform data processing, comprising: receiving script data for a video program; determining identifiers of individual programming events within the program; and producing closed caption data for the program, the closed caption data comprising text data corresponding to said script data, and timing data provided at locations corresponding to beginnings of each of the programming events, the timing data corresponding to a programming event comprising an identifier of the corresponding programming event.
1 28. The device claimed in claim 1 27, wherein said closed caption data further comprises timing data provided at locations corresponding to ends of each programming event.
1 29. The device claimed in claim 1 27, wherein said closed caption data further comprises timing data provided at locations corresponding to beginnings of segments within the programming events.
1 30. The device claimed in claim 1 27, wherein said closed caption data further comprises timing data provided at locations corresponding to ends of segments within the programming events.
1 31 . The device claimed in claim 1 27, further comprising providing synchronized transmission of the closed caption data and programming events .
1 32. The device claimed in claim 1 31 , wherein providing synchronized transmission comprises synchronizing transmission of the closed caption data to the display of corresponding" text by a teleprompter system"use'dBin'th'ό' proαωetron"θ'f«'th"'e video program.
133. The device claimed in claim 127, further comprising storing the programming events and the closed caption data on a machine readable storage medium.
134. The device claimed in claim 1 27, wherein the timing data for a programming event comprises an identifier associated with the programming event and data indicating an amount of time by which the identifier precedes the beginning of the programming event.
135. The device claimed in claim 127, wherein the timing data for a programming event comprises an identifier associated with the programming event that is inserted into the closed caption data at a location separated from the beginning of the programming event by a predetermined amount of time.
136. The device claimed in claim 127, wherein the timing data is encoded as hidden closed caption data.
137. The device claimed in claim 127, wherein said timing data is accompanied by a timing data marker.
138. The device claimed in claim 1 27, wherein said timing data is encrypted.
139. A method of generating closed caption data for a video program, comprising: producing closed caption data comprising timing data and text data corresponding to at least an audio portion of the video program, the timing data comprising beginning timing data provided at locations in the closed caption data corresponding to beginnings of programming events within the video program; producing a video signal for the video program; and synchronizing the closed caption data to the video signal in accordance with display of corresponding text by a teleprompter system used in the production of the video program.
140. The method claimed in claim 139, the timing data further comprising end timing data provided at locations corresponding to ends of programming events.
141 . The method claimed in claim 139, the timing data further comprising segment beginning timing data provided at locations corresponding to beginnings of segments within the programming events.
142. The method claimed in claim 139, the timing data further comprising segment end timing data provided at locations corresponding to ends of segments within the programming events.
143. The method claimed in claim 139, further comprising transmitting the synchronized video signal and closed caption data to client video reception devices.
144. The method claimed in claim 139, further comprising storing the synchronized video signal and closed caption data on a machine readable storage medium.
145. The method claimed in claim 139, wherein the timing data comprises an identifier associated with a programming event of the television program.
146. The method claimed in claim 139, wherein the timing data comprises an identifier associated with a programming event of the television program and data indicating an amount of time by which the identifier precedes the beginning of the programming event.
147. The method claimed in claim 139, wherein the timing data comprises an identifier associated with a programming event of the television program that is inserted into the closed caption data at a location separated from the beginning of a programming event by a predetermined amount of time.
148. The method claimed in claim 139, wherein the timing data is encoded as hidden data.
149. The method claimed in claim 139, wherein the,lli\/e'itle'i^!^il6n rog aml,fs«d news program.
1 50. The method claimed in claim 139, wherein the live television program is a home shopping program.
1 51 . The method claimed in claim 139, wherein said timing data is accompanied by a timing data marker.
1 52. The method claimed in claim 139, wherein said timing data is encrypted.
1 53. A system for providing closed caption data for a video program, comprising: a video signal source providing a video signal of the program; a closed caption data source providing closed caption data including text data for the video program and timing data for programming events within the video program, the timing data comprising beginning timing data provided at locations in the closed caption data corresponding to beginnings of programming events within the video program; and a teleprompter system for displaying text to be read during production of the video program, the closed caption data being synchronized to the video signal in accordance with display of corresponding text by the teleprompter system.
1 54. The device claimed in claim 1 53, the timing data further comprising end timing data provided at locations corresponding to ends of programming events.
1 55. The device claimed in claim 1 53, the timing data further comprising segment beginning timing data provided at locations corresponding to beginnings of segments within the programming events.
1 56. The device claimed in claim 1 53, the timing data further comprising segment end timing data provided at locations corresponding to ends of segments within the programming events.
157. The system claimed in claim 153, further comprising a' storing the video signal and the synchronized closed caption data on a machine readable storage medium.
1 58. The system claimed in claim 1 53, further comprising a transmitter for providing the video signal and the synchronized closed caption data to a transmission medium.
1 59. The device claimed in claim 1 53, wherein said timing data is accompanied by a timing data marker.
160. The device claimed in claim 1 53, wherein said timing data is encrypted.
1 61 . A machine readable storage medium storing signals representing a video program, the signals comprising: a video signal representing a video portion of the video program; and closed caption data comprising text data corresponding to at least an audio portion of the video program, and timing data comprising identifiers of programming events used in metadata describing the programming events, the locations of the timing data in the closed caption data corresponding to beginnings of corresponding programming events within the video program.
1 62. The storage medium claimed in claim 161 , wherein said timing data is accompanied by timing data markers.
1 63. The storage medium claimed in claim 161 , wherein said timing data is encrypted.
1 64. A method in a video production facility system for producing a video, comprising: determining programming events within a video program; determining identifiers of the programming events; and producing a video signal for the program, the video signal comprising timing data provided at locations corresponding to beginnings of each of the programming events, the timing data corresponding to a programming event eoMprising'-'aϊ id'e'ht'rfierWtiie1 corresponding programming event.
1 65. The method claimed in claim 1 64, wherein said video signal further comprises timing data provided at locations corresponding to ends of each programming event.
1 66. The method claimed in claim 1 64, wherein said video signal further comprises timing data provided at locations corresponding to beginnings of segments within the programming events.
1 67. The method claimed in claim 1 64, wherein said video signal further comprises timing data provided at locations corresponding to ends of segments within the programming events.
1 68. The method claimed in claim 1 64, wherein said timing data is provided in vertical blanking intervals of the video signal.
1 69. The method claimed in claim 1 64, wherein said timing data is provided in data fields of a digital video signal.
1 70. The method claimed in claim 1 64, further comprising storing the video signal including the timing data on a machine readable storage medium.
1 71 . The method claimed in claim 1 64, wherein the timing data for a programming event comprises an identifier associated with the programming event and data indicating an amount of time by which the identifier precedes the beginning of the programming event.
1 72. The method claimed in claim 1 64, wherein the timing data for a programming event comprises an identifier associated with the programming event that is inserted into the video signal at a location separated from the beginning of the programming event by a predetermined amount of time.
1 73. The meτnoα claimed in claim 1 64, whereϊn said immgOatfls' accompanied by a timing data marker.
1 74. The method claimed in claim 1 64, wherein said timing data is encrypted.
1 75. A device for providing closed caption data for video programming events, comprising: at least one processor; and memory coupled to the at least one processor and having stored therein programming instructions to perform data processing, comprising: determining programming events within a video program; determining identifiers of the programming events; and producing a video signal for the program, the video signal comprising timing data provided at locations corresponding to beginnings of each of the programming events, the timing data corresponding to a programming event comprising an identifier of the corresponding programming event.
1 76. The device claimed in claim 1 75, wherein said video signal further comprises timing data provided at locations corresponding to ends of each programming event.
1 77. The device claimed in claim 1 75, wherein said video signal further comprises timing data provided at locations corresponding to beginnings of segments within the programming events.
1 78. The device claimed in claim 1 75, wherein said video signal further comprises timing data provided at locations corresponding to ends of segments within the programming events.
1 79. The device claimed in claim 1 75, wherein said timing data is provided in vertical blanking intervals of the video signal.
1 80. The device claimed in claim 1 75, wherein said timing data is provided in data fields of a digital video signal.
1 81 . The device claimed in claim 175, further comphsing'gtr'fthQrthe-Video' signal including the timing data on a machine readable storage medium.
182. The device claimed in claim 1 75, wherein the timing data for a programming event comprises an identifier associated with the programming event and data indicating an amount of time by which the identifier precedes the beginning of the programming event.
1 83. The device claimed in claim 1 75, wherein the timing data for a programming event comprises an identifier associated with the programming event that is inserted into the video signal at a location separated from the beginning of the programming event by a predetermined amount of time.
184. The device claimed in claim 1 75, wherein said timing data is accompanied by a timing data marker.
1 85. The device claimed in claim 1 75, wherein said timing data is encrypted.
1 86. A method for selectively recording programming events, comprising: determining a programming event to be recorded; identifying timing data associated with the programming event within a closed caption data stream; and controlling recording of the programming event in accordance with the timing data.
187. The method claimed in claim 1 86, wherein identifying timing data is preceded by tuning to a transmission channel of the programming event to be recorded.
1 88. The method claimed in claim 186, wherein controlling recording comprises initiating recording of a video signal upon identifying the timing data.
1 89. The method claimed in claim 186, wherein controlling recording comprises initiating recording of a video signal beginning at a predetermined time after identifying the timing data. I
1 90. The method claimed in claim 186, wherein 'fcbritrbllMgTec'd'rding comprises initiating recording of a video signal after a period of time indicated in the timing data has elapsed subsequent to identifying the timing data.
1 91 . The method claimed in claim 186, wherein the timing data comprises an identifier of the programming event matching an identifier in metadata of the programming event used to determine that the programming event should be recorded.
1 92. The method claimed in claim 1 86, wherein controlling recording comprises terminating recording of the programming event in accordance with said timing data.
1 93. The method claimed in claim 186, wherein controlling recording comprises pausing recording of the programming event in accordance with said timing data.
1 94. The method claimed in claim 1 86, wherein determining a programming event to be recorded comprises: determining a schedule of programming events to be recorded; and determining a programming event to be recorded based on a current time and said schedule.
1 95. A video recording device comprising: at least one processor; a storage device for storing video; and storage media coupled to the at least one processor and having stored therein programming instructions for performing data processing comprising: determining a programming event to be recorded; identifying timing data associated with the programming event within a closed caption data stream; and controlling recording of the programming event in accordance with the timing data.
1 96. The device claimed in claim 1 95, wherein identifying timing data is preceded by tuning to a transmission channel of the programming event to be recorded.
1 97. The device claimed in claim 195, wherein controlling recording comprises initiating recording of a video signal upon identifying the timing data.
1 98. The device claimed in claim 195, wherein controlling recording comprises initiating recording of a video signal beginning at a predetermined time after identifying the timing data.
1 99. The device claimed in claim 1 95, wherein controlling recording comprises initiating recording of a video signal after a period of time indicated in the timing data has elapsed subsequent to identifying the timing data.
200. The device claimed in claim 195, wherein the timing data comprises an identifier of the programming event matching an identifier in metadata of the programming event used to determined that the programming event should be recorded.
201 . The device claimed in claim 195, wherein controlling recording comprises terminating recording of the programming event in accordance with said timing data.
202. The device claimed in claim 195, wherein controlling recording comprises pausing recording of the programming event in accordance with said timing data.
203. The device claimed in claim 1 95, wherein determining a programming event to be recorded comprises: determining a schedule of programming events to be recorded; and determining a programming event to be recorded based on a current time and said schedule.
204. A method in a video playback device comprising controlling playback of a recorded the programming event in accordance with timing data included within a closed caption data stream of the recorded programming event.
205. The method claimed in claim 204, wherein controlling playback is preceded by recording said programming event and said closed caption data stream.
206. The method claimed in claim 204, wherein cbritrbllϊng"^'ay5ack'"δ'fh'eμ programming event comprises initiating playback of the programming event in accordance with timing data indicating a beginning of the programming event.
207. The method claimed in claim 204, wherein controlling playback of the programming event comprises terminating playback of the programming event in accordance with timing data indicating an end of the programming event.
208. The method claimed in claim 204, wherein controlling playback of the programming event comprises skipping playback of a portion of the recorded video in accordance with the timing data.
209. A method for selectively recording programming events, comprising: determining a programming event to be recorded; identifying timing data associated with the programming event within a video signal; and controlling recording of the programming event in accordance with the timing data.
210. The method claimed in claim 209, wherein identifying timing data is preceded by tuning to a transmission channel of the programming event to be recorded.
21 1 . The method claimed in claim 209, wherein controlling recording comprises initiating recording of the video signal upon identifying the timing data.
212. The method claimed in claim 209, wherein controlling recording comprises initiating recording of the video signal beginning at a predetermined time after identifying the timing data.
213. The method claimed in claim 209, wherein controlling recording comprises initiating recording of the video signal after a period of time indicated in the timing data has elapsed subsequent to identifying the timing data.
214. The method claimed in claim 209, wherein tne timing data comprises'afl' identifier of the programming event matching an identifier in metadata of the programming event used to determine that the programming event should be recorded.
215. The method claimed in claim 209, wherein controlling recording comprises terminating recording of the programming event in accordance with said timing data.
216. The method claimed in claim 209, wherein controlling recording comprises pausing recording of the programming event in accordance with said timing data.
217. The method claimed in claim 209, wherein determining a programming event to be recorded comprises: determining a schedule of programming events to be recorded; and determining a programming event to be recorded based on a current time and said schedule.
218. A video recording device comprising: at least one processor; a storage device for storing video; and storage media coupled to the at least one processor and having stored therein programming instructions for performing data processing comprising: determining a programming event to be recorded; identifying timing data associated with the programming event within a video signal; and controlling recording of the programming event in accordance with the timing data.
219. The device claimed in claim 218, wherein identifying timing data is preceded by tuning to a transmission channel of the programming event to be recorded.
220. The device claimed in claim 218, wherein controlling recording comprises initiating recording of the video signal upon identifying the timing data.
221 . The device claimed in claim 218, wherein controlling fec'brdtrlg dbhfl'prises' initiating recording of the video signal beginning at a predetermined time after identifying the timing data.
222 The device claimed in claim 218, wherein controlling recording comprises initiating recording of the video signal after a period of time indicated in the timing data has elapsed subsequent to identifying the timing data.
223. The device claimed in claim 218, wherein the timing data comprises an identifier of the programming event matching an identifier in metadata of the programming event used to determine that the programming event should be recorded.
224. The device claimed in claim 218, wherein controlling recording comprises terminating recording of the programming event in accordance with said timing data.
225. The device claimed in claim 218, wherein controlling recording comprises pausing recording of the programming event in accordance with said timing data.
226. The device claimed in claim 218, wherein determining a programming event to be recorded comprises: determining a schedule of programming events to be recorded; and determining a programming event to be recorded based on a current time and said schedule.
227. A method in a video playback device comprising controlling playback of a recorded the programming event in accordance with timing data included within a video signal of the recorded programming event.
228. The method claimed in claim 227 wherein controlling playback is preceded by recording said video signal of the programming event.
229. The method claimed in claim 227, wherein controlling playback of the programming event comprises initiating playback of the programming event in accordance with timing data indicating a beginning of the programming event.
230. The method claimed in claim 227, wherein programming event comprises terminating playback of the programming event in accordance with timing data indicating an end of the programming event.
231 . The method claimed in claim 227, wherein controlling playback of the programming event comprises skipping playback of a portion of the recorded video in accordance with the timing data.