HK1059521B - Enhanced television services for digital video recording and playback - Google Patents
Enhanced television services for digital video recording and playback Download PDFInfo
- Publication number
- HK1059521B HK1059521B HK04102294.5A HK04102294A HK1059521B HK 1059521 B HK1059521 B HK 1059521B HK 04102294 A HK04102294 A HK 04102294A HK 1059521 B HK1059521 B HK 1059521B
- Authority
- HK
- Hong Kong
- Prior art keywords
- program
- broadcast
- event
- data
- television
- Prior art date
Links
Description
Technical Field
This application is a continuation of application serial No. 09/903,973 entitled "enhanced television service" filed on 12.7.2001. The subject matter of that application is incorporated herein by reference in its entirety.
Background
The present invention relates generally to manipulating data in entertainment systems and services, and more particularly to services and systems for Digital Video Recording (DVR) and playback.
Television broadcast programs are typically accessed through communication channels including radio wave broadcasts, cable providers, and satellite transmissions. These services provide viewers with a wide variety of entertainment, sports, news, advertising, and educational programming. They can typically provide a large number of television programs at any one time.
To enable guidance through viewable program listings, known services provide viewers with electronic broadcast program guide ("EPG") data. The EPG is presented to the viewer as a static list of available broadcast programs. EPG data is periodically updated and then downloaded to the user so that the viewer can search for a particular program of interest. However, since the amount of broadcast programs available for viewing is large, even with an EPG, it is often difficult for a viewer to make a flexible decision about the most desirable broadcast program at any particular time. This is because known filtering mechanisms, even if used to display EPG data, often do not provide a viewer-satisfying experience due to the amount of information displayed. Further, by the time the broadcast program is broadcast, the data itself is often obsolete. This is particularly the case for televised sporting events that do not always occur within a scheduled time. Therefore, the information provided by the EPG does not necessarily accurately reflect the content being broadcast.
Viewers may also be provided with an interactive programming experience through the use of set-top boxes or other similar computing devices. The experience of interactive radio programs is that it is desirable to allow the viewer to participate or understand that the viewer is actually participating in the television broadcast. In some cases, interactive programming also allows viewers to participate in game programs with participants by answering questions and jackpots simultaneously. Furthermore, the interactive programming experience also allows viewers to gain more through the knowledge of a particular television broadcast. The set-top box makes this experience available to broadcast-related information by connecting to a website and then rendering the obtained content on a display in place of or in combination with the television broadcast. For example, the set-top box may connect to a website for sports to obtain information such as pass efficiency ratings for quarterback or other statistics.
Although broadcast program services can now provide the experience of EPG data and interactive broadcast programs in some way, these services have various drawbacks. For example, these services may not be able to quickly convey information about other broadcast programs of interest that a viewer may arouse from a currently viewed broadcast program. The types of broadcast programs and data provided by known services are indeed not ubiquitous, as there is currently no adequate way to bundle information over multiple programs. Rather, each program is isolated from other programs, although viewers may be generally interested in groups of programs. Program enhancement modes are currently provided in content streams associated with specific programs. Different data providers provide these enhanced modes of inconsistent content representation. Retrieving and assembling content streams is not feasible due to the overhead requirements imposed (i.e., 1-n tuners for each content stream). This prevents browsing of the delivered content as a more general guide rather than one related to a specific program. In many cases, known services provide an excessive number of options for the viewer's personal experience by not employing methods that allow the user to easily make a flexible decision to screen available broadcast programs.
In addition to interactive broadcast programs, services such as Data Video Recording (DVR) have recently been adopted. While these services provide greater freedom to viewers, DVR services currently suffer from various deficiencies. For example, DVR recording is not sufficient for viewers to find the desired portion of the recording. "rewind" and "fast-forward" operations in DVR services and devices are limited to fixed time intervals, typically fast-forward for 30 second intervals and rewind for 7 second intervals.
Accordingly, there is a need for systems and methods that allow a user to more freely control the television viewing experience. In addition, there is a need to provide systems and services in which data, such as real-time data, can be linked to broadcast television programming to provide an enhanced programming experience.
Disclosure of Invention
The present invention provides an enhanced television viewing experience for users through a system and method that utilizes real-time and/or other data linked with broadcast television programming. The present invention provides Digital Video Recording (DVR) and playback services by forming content that is relevant to a particular DVR that can be used by one or more user systems. The content associated with a particular DVR includes one or more event records that correspond to the occurrence of events in the broadcast program. In some cases, the event records are formed according to procedural rules that are established for specific types of events.
It is a further object of this invention to provide such a data management system that allows related pre-and post-content to be guided through recorded programs. Such data management systems provide features such as "intelligent skip" based on the logical positioning of the appropriate program segment at playback. To form this feature, the management system receives event records and, in some cases, other control data related to the program, related to the occurrence of events in the program. The system then associates the received event records with corresponding video segments to form an index relating to some of the contextual content of the recorded program. During playback, the system uses these program indices to determine the stored video segments to play. These indices may also be associated with the received video stream in real time to allow the viewer to logically jump to a desired location in the video stream.
The enhanced content allows the creation of additional recording features, such as a "record adjust" feature that informs the user that the system adjusts the recording time for a particular program. This feature may be implemented as a tunable alert where having a unique identifier of the enhanced content allows for an association between the content and the received program. Thus, the program recording time may be adjusted when a televised event extends beyond its scheduled time or is completed before its scheduled time.
Drawings
FIG. 1 is a block diagram representation of a user server system in one operational environment of the present invention;
FIG. 2 is a block diagram representation of another example operating environment of the present invention;
FIG. 3 is a data structure corresponding to general data types sent from a server to one or more user systems in accordance with the present invention;
FIG. 4 is a block diagram representation of some of the components that may be used by the server user system shown in the service of the embodiment of FIG. 1;
FIG. 5 is a block diagram representation of an example user system that may be used in the embodiments of FIG. 1 or FIG. 2;
FIG. 6 is a flow diagram representing some operational aspects of the sports content aggregator section shown in FIG. 4;
FIG. 7a is a flow diagram representing some operational aspects of an application program executing in the user system shown in FIG. 5 according to one embodiment of the present invention;
FIG. 7b is a flow diagram representing some operational aspects of an application program executing in the user system shown in FIG. 5 according to another embodiment of the present invention;
FIG. 8 illustrates a first guide that may be delivered to a viewer;
FIG. 9 shows another guide having a layout similar to that shown in FIG. 8;
FIG. 10 is a guide according to another embodiment of the present invention;
FIG. 11 illustrates a guidance guide updated in accordance with a user selection of one of the guidance elements shown in the screen of FIG. 10;
FIG. 12 is a guide similar to that shown in FIG. 11;
FIG. 13a is a guidance guide showing a first type of alert displayed to a viewer;
FIG. 13b is a guidance guide for a second alert displayed to the viewer similar to FIG. 13 a;
FIG. 14 is a display screen showing information relating to a future recordable event according to another feature of the present invention;
fig. 15 is another guidance guide showing advance notice information;
fig. 16a-16c illustrate memory and directory structures that include entries related to recorded programs and associated data files.
FIGS. 17a-17c are similar to FIGS. 16a-16c and illustrate memory and directory structures according to another embodiment of the present invention;
18a-18b illustrate user interfaces that may be used with the DVR feature of the present invention to playback sporting events;
FIG. 19 is a user interface that may be used with the DVR feature of the invention to playback news events;
FIG. 20 is a user interface that may be used with the DVR feature of the invention to playback music videos; and
FIG. 21g is a user interface that may be used with the DVR feature of the invention to select a movie.
Detailed Description
The present invention relates to systems and methods for delivering television broadcast programs and related content to viewers to enhance the program viewing experience. In particular, the present invention provides a guide service that provides internet protocol ("IP") data and broadcast television programming. The IP data is linked with the broadcast television broadcast program and displayed in such a manner that the viewer can easily make a flexible selection. In one embodiment, the present invention separates the video display into different display areas, including a guide display portion and a program display portion. The guide display section displays the IP data that has been screened according to a currently viewable selection of a certain broadcast program. Selecting a guide cell in the guide display portion may cause the system to tune to the television program corresponding to the selected guide cell and display that program in the program display portion. By linking or contacting parallel data sources in this manner, a viewer can tune to one or more television programs in accordance with the flexible selections displayed on the display.
FIG. 1 illustrates a block diagram representation of a suitable environment in which a boot system 100 according to the present invention may be implemented. In such an embodiment, the server user system may provide broadcast television programming and Internet Protocol (IP) data over different broadcast channels. As used herein, IP data is used to mean data that is packetized according to a protocol that informs a transport network how to address and route data packets. Skilled persons will appreciate that although the invention has been described primarily by providing IP data in parallel with the broadcast channel, other types of data may be transmitted. That is, the present invention may be applied in any environment where data streams are somehow associated with television broadcast programs.
As shown in fig. 1, a television broadcast program, represented by functional block 102, is broadcast to one or more user systems over a broadcast network, represented by digital satellite system 104. In particular, a viewable television broadcast program is uplinked to the satellite system 104 via the communication channel 108 via the transmitter 106. In such a point-to-multipoint system, a broadcast program is downlinked via a data communication channel 110 to a plurality of subscriber systems, one of which is shown as subscriber system 100. The receiver 112 illustrated in fig. 1 captures a broadcast program.
In addition to broadcasting television broadcast programs, broadcast server 114 also generates parallel data streams, such as IP content streams associated with the broadcast programs. Likewise, the parallel data streams are uplink linked to the satellite system 104 through a data communication channel 116. The IP content stream is downlinked to the user system 100 via a second downlink communication channel 118. As described below, the user system 100 in this embodiment includes a receiver 120 or other similar computing device for decoding and processing data received from the antenna receiver 112. The user system 100 also includes a display device, such as a Television (TV) 122. Some alternative embodiments also include personal digital assistants (PADs), cellular telephones and other computing devices, and optionally other audio/video devices. In fig. 1, the system includes an external Digital Video Recorder (DVR)124 and an audio system 126.
As shown in fig. 2, data traffic is sometimes sent to the user system over a network 230. This embodiment is similar to the embodiment of fig. 1 in that the broadcast television programming is uplinked to the satellite system 204 via a communication channel 208 via a transmitter 206. The broadcast program data is downlinked to the user system 200 via the communication channel 210 and the antenna receiver 212. However, in FIG. 2, the IP content is sent to the user system 200 over a Wide Area Network (WAN) 230 via network connections 216 and 218. User system 200 may also access server 240 via a network. User system 200 also includes a digital video recorder 224, a television device 222 for display, and an audio device.
Although fig. 1 and 2 illustrate the delivery of television programming via a satellite system, such programming may also be delivered via a cable television system. In one embodiment of the present invention, the television broadcast program may be provided over a digital cable system that may transmit multiple channels of video data in a compressed format (e.g., MPEG II format). Of course, other broadcast television systems may be used. Thus, fig. 4 shows the delivery of broadcast programming over a satellite link or/and a network/cable system.
For both satellite and digital cable implementations, data services in the form of enhanced IP content may be provided to the user system in a dedicated data communication channel. In such an embodiment, the broadcast server 144 or head-end equipment pre-allocates bandwidth to accommodate data traffic in the channel or channels intended for exclusive use by the data traffic. However, data traffic may be transmitted in any manner. For example, such data services may be interleaved with television broadcast programming. That is, for satellite and digital cable implementations, the data traffic may be inserted into the MPEG video stream in a "trickle" fashion of IP data. The use of trickle currents may avoid allocating additional communication channels.
To reduce bandwidth, the trickle flow generated preferably contains only dynamic content, such as real-time event notifications and program updates. Other content may be periodically transmitted over a separate broadcast data communication channel or over the WAN. This embodiment may be used when the server or head-end device does not have pre-allocated bandwidth. The use of trickle currents is also advantageous for the user end, since the tuner does not have to tune to the channel carrying the IP content to obtain the enhanced service. This allows the viewer more options and control over the television viewing experience.
In addition, other transmitters may be used to transmit the enhanced data stream. For example, in some cases, a non-program-synchronized Advanced TV enhancement Forum ("ATVEF") transmitter may be used.
Fig. 3 shows an example of a data structure of such a data service. The IP data header 320 specifies network protocol information, information related to the transfer between applications, and the appropriate encoding method (e.g., NTSC-compatible encoding). The IP data 320 compresses information relating to one or more television programs. Such data typically comprises a portion of a television transport stream that includes database information 324 and/or user interface information 326 for generating enhanced guidance tools to allow viewers flexibility in searching for particular programs. This information may be packaged like an HTML file or other type of data file.
As described below, the enhanced IP data is sometimes augmented with real-time data 328, trigger data 330, and alert data 332, among others. "enhanced IP data" refers to any type of data that includes associated identification data or may be associated in some manner with a particular television program. In any event, such data incorporates identification data, such as event identifier 334 shown in fig. 3, thereby associating the data packets with the corresponding television program. The event ID is an ID that associates any type of enhanced IP data with the television program. The event ID may be formed by using a client ID assigned to the IP data, or the event ID may be formed by converting a heterogeneous ID previously assigned to the IP data or the broadcast program into a single homogeneous event ID system, or, if a pre-existing general ID system is available, the event ID may be derived from or identical to the pre-existing general ID system.
Thus, according to the invention, for each television program that is viewable through such a service, an event identifier for that program may also be provided. Thus, in one embodiment, an enhanced television schedule may be formed and downloaded to the user's system on a periodic basis. Each entry in the enhanced television schedule includes an event identifier, an event time, and an industry identifier corresponding to a channel number or tuner location for a particular local television industry.
To create an enhanced user experience, IP data is augmented in some way before being sent to the user system. For example, real-time event data relating to the present status of a viewable television broadcast program may be inserted into an IP stream and then provided to the subscriber system. This data is used to form various real-time tunable alarms, triggers or screens, etc. The user system processes this data to form real-time visual indicators and prompts and displays these visual indicators and prompts along with the IP data. Thus, for example, data corresponding to the current status indicator of an available athletic activity event for invoking a particular action is provided to the user system. As described below, real-time data may be transmitted as an event-based extended markup language (XML) representation. In one embodiment, such enhanced IP data is sent from the server to the user system by transmitting IP compressed data. In one embodiment the server is a dedicated server. Alternatively, the server may be located in the head end equipment of various cable operators, such as server 112 shown in FIG. 1 or server 212 in FIG. 2. XML event data is sometimes provided to the user system separately from the enhanced sports schedule data, but may also be used in conjunction with such data in other embodiments.
The communication channel 221 shown in fig. 2 may also be used as a back channel so that the user system 200 may initiate an internet service request. In this way, additional data relating to the currently broadcast program can also be retrieved from the internet and provided to the viewer. For example, the data may enable a viewer to connect to a related website to obtain related information about the broadcast.
In embodiments involving the delivery of information relating to sporting events, the data provider and/or broadcast server forms real-time and other content to be delivered to the user system. As described below, the sports content aggregator forms a normalized data stream that includes an event identifier associated with each sports-related event or metadata provided by an external sports data provider. The content aggregator preferentially transmits the normalized data stream to the broadcast server. The normalized data stream preferably conforms the various data received by the sports content aggregator to the API used by the broadcast server. The broadcast server then matches the local adjustment data with the event Id sent by the content aggregator to form a new topic broadcast programme schedule indexed by the event Id, in this case the topic being sports. The content aggregator receives data from an external source that does not have a data ID or its own unique data ID. The content aggregator transforms the data into a single event ID system and then sends the normalized data to the broadcast server indexed by event ID.
Alternatively, the content aggregator receives external data that has been transformed into a single event ID system. The broadcast server then periodically provides the user system with an updated enhanced schedule. When a sports event is broadcast, a content aggregator aggregates and normalizes the various live data feeds to produce some real-time event notifications, alert notifications, and other data that is transformed into an event identifier. This allows the user system to manipulate such data, wherein tunable alarms and other real-time indicators that have previously been associated with the appropriate event identifier will also be displayed. Upon selection of such a tunable alert, the user system tunes the television to the channel corresponding to the event identifier. The user system also uses this data to indicate other information, such as status information indicating that a particular game is in progress, stopped, or has been extended beyond a predetermined time.
As shown in fig. 4, the broadcast server 114 operates with components to form data services related to the television content streams transmitted to the user systems. The various content aggregators 402 generate a number of normalized data feeds corresponding to the various events or pieces of content that can be viewed. For example, sports content aggregator 402(1) receives various data feeds based on televised events occurring in a game of interest provided by external sports data provider 414 (1). The data feeds include, for example, real-time data of sports status, sports statistics and editing data from internet data services such as STATS, companies, related news agencies, etc. Data provider 414 is external to content aggregator 402 or may be part of content aggregator 402. As described below, in one embodiment, the content aggregator 402 also receives a plurality of event identifiers, where each event identifier corresponds to a particular event or piece of content of interest. Alternatively, the content aggregator 402 receives some data IDs and then the broadcast server 114 matches the data IDs with the event Id, or the content aggregator 402 receives data without IDs and transmits the data to the broadcast server 114, and then the broadcast server 114 assigns an event Id to the data.
In one embodiment, the content aggregator 402 then processes these data feeds by assigning priority characteristics. Specifically, information that is considered dynamic content (such as real-time indicators, alerts, and scoreboard status changes) is assigned a high priority. The next priority (such as "fast" priority) is assigned to information such as the personal achievement list of the currently ongoing game. A "normal" priority is assigned to information that typically changes on a daily basis, such as news events related to the program of interest. Finally, "low" priority is assigned to content such as pictures, schedules, or other relatively static information related to the program of interest.
Assigning different priorities to received data feeds allows the sports content aggregator 402(1) to more efficiently and conveniently manage the bandwidth of the various data streams. In the illustrated embodiment, the content aggregator 402 orders and sorts the input data feeds according to assigned priorities. The sorted and sorted data feeds are then output to the broadcast server 114 according to the assigned priorities. In one embodiment, multiple data transmission channels are used to transmit these different priorities of data. For example, "high" priority data feed transmission, "fast" priority data feed transmission, "normal" priority data feed transmission, and "low" priority data feed transmission may all be used to communicate data in accordance with the present invention. Thus, data feeds can be transmitted simultaneously according to their priority. In such an embodiment, each data transmission channel may be implemented independently of the other channels. Alternatively, a single transmission may be generated that accommodates all of the different priorities. These data transmission channels may be implemented as logical channels or as physical connection channels. In summary, a dynamic content stream relating to real-time events in a sports television broadcast can be used to generate real-time indicators at the user end to initiate tunable alerts or indicators. However, such real-time data may also be used to invoke some other action.
In addition to dynamic content related to the current state of various sporting events, the sporting content aggregator 402(1) may also generate game records in an index of particular sporting events according to predetermined game rules that apply to those sporting events. These indices are formed from various data feeds provided by the athletic data provider 414 and include data relating to playing actions such as when a ball is snapped, when a pause, etc. For example, to index a football game, the content aggregator 402 forms an XML representation of the game segments. In this example, the first match rule may be that a record to be captured is required each time a football game is played, i.e. each time a game is played from side by side and is played by a line from either party. The second match rule may be that a record to be captured is required each time the whistle blow ends the match or at some preselected time thereafter. In this way, the content aggregator 402 forms real-time DVR data that a user may utilize to perform DVR playback in a forward and backward "smart" or "intelligent" jump "manner when applying, thereby allowing a viewer to jump between games of interest in the recorded video, including other logical jumps or jumps.
These event records are sometimes collected and sent to the user system as a file or collection of files. Although a variety of formats may be used, in one embodiment, the sports content aggregator 402(1) forms an index file containing some XML-based event records according to a specified schema. The index file also includes various control data. An example tag control data entry for capturing an index file related to UCLA games for college football in washington is shown below:
<version>0.1</version>
-<metadata>
-<theme>
<category>sports</category>
<subcategory>football</subcategory>
-<sport>
<type>football</type>
<league>College</league>
-<team>
<type>home</type>
<name>UCLA</name>
<nickname>Bruins</nickname>
<abbreviation>Bru</abbreviation>
<record>0-3</record>
</team>
-<team>
<type>away</type>
<name>WAshington State</name>
<nickname>Cougars</nickname>
<abbreviation>Cou</abbreviation>
<record>2-1</record>
</team>
<location>Pasadena CA</location>
<temperature>80Degrees</temperature>
<gameid>12345</gameid>
</sport>
</theme>
<storyid>12345</storyid>
-<tvlocation>
<tvtoken>tv:foxsports.com#20001130T091027/+T0300</
tvtoken>
<tmsid>EP4120870008</tmsid>
</tvlocation>
<timestamp>=″04/21/005:10:27 PM PCF″</timestamp>
<headline>Washington State at UCLA game log</headline>。
<smartplaybackhtmlfile>file://Content/TV/Sports/playback/pla
yback_football.html</smartplaybackhtmlfile>
</metadata>
for each program index file, a plurality of metadata entries identify various characteristics of the file. In the above example, such data includes genre (sports), genre (football), league (college football), team identification and logo, venue, weather and time stamp. Also included in the metadata entry is metadata relating to the associated control file, which in this case is a file written in a markup language such as an HTML file.
The sports content aggregator 402(1) also forms a record of specific events associated with the program, in this case a football game. An example format for these tag event entries is as follows:
<event id=″″play=″″kind=″″yards=″″highlight=″″
clock=″″start=″″>
<description></description>
</event>
in this example, the arguments in these tag event entries correspond to the following information: an event id number; the match numbers; the category or type of game; the number of codes won (lost) in the game; a highlight field; a clock entry corresponding to the time stamp; and a race start time entry corresponding to a time other than the start of the event. In addition, the descriptive label allows for the inclusion of additional information relating to the event as required by the service provider. Thus, to indicate that a televised football game is starting to drive, the event record may be expressed as follows:
<event id=″4″play=″1″kind=″kickoff″yards=″42″
dock=″13:20″start=″572″>
<description>###</description>
</event>
to represent game highlights such as touchdowns (darts), an example event record may be represented as follows:
<period id=″1″>
<possession id=″1″pos=″Cou″>
<event id=″10″play=″2″kind=″touchdown″yards=″27″
highlight=″y″clock=″9:34″start=″815″>
<description>WSU Touchdown</description>
</event>
</possession>
</period>
in addition to the tag entries related to the event, tag entries related to the section (first section) and the pass (first leopard pass) may be included. Thus, event records relating to other events associated with a particular game may be captured. Other game-specific and/or sports-specific algorithms and rules may also be applied to televised events to form different levels of game segments. These algorithms and rules may include: an event record is generated whenever more than 20 codes are won in any game, and an event record is generated when a transition from attack to defense (turnover) and/or other important events occur (such as scoring actions). The user can process these event records as they are applied so that highlights or other game segments can be seen.
In the football example described above, the actions in a football game may be categorized as highlights using the following rules. The scoring action may be categorized as a highlight. These actions include: (1) touchdown (hit); (2) catching or attempting to catch a ball; (3) an extra score or an attempted score; (4) a two-point touchdown score or an attempt to score; and (5) throw the ball across the goal line of the team (so that the opposing pair divides two). The transition from attack to defense can also be categorized as a highlight. These actions include the following game actions: (1) intercepting; (2) missed connection errors; (3) switching between the upside down land attack and defense; and (4) the kicking of the suspended ball is blocked. Other game actions, as described below, may also be categorized as highlights: (1) run 10 yards or more than 10 yards; (2) pass 20 yards or more than 20 yards; (3) the ball is opened and returned to 35 yards or more than 35 yards; (4) kicking the suspended ball and returning 20 yards or more than 20 yards; (5) robbing; (6) a fourth touchdown score; (7) scoring the kicked ball in the successful rule-matching position; (8) penalty of 16 yards or more than 16 yards; and (9) a third touchdown or failure to reach 20 yards.
In the presently preferred embodiment, the sports content aggregator 402(1) receives various data feeds from sports data providers 414 (1). However, in other embodiments, the content aggregator does not generate some indices from the data feeds received from the data provider 414 (1). Rather, the content aggregator forms a series of event records or DVR indices by analyzing the video stream in one or more ways. For example, the content aggregator may analyze the Close caption data (Close caption data) from the video stream of the desired program. Thus, with closed teletext data, the content aggregator can build an index file for transmission to the user system. In addition, the content aggregator may utilize ATVEF data to intelligently analyze the received video signal and create an index file. The sports content aggregator may also be used to intelligently analyze the received video stream to search for certain transitions between video frames. From this video data, the content aggregator can then build an index file. This is particularly useful in the case where teletext or ATVEF data is not closed.
By capturing these event records, the sports content aggregator 402(1) forms a series of XML representations of the segments of the football game. These event records are packaged into a game index file representing the televised football game in the previous example.
In addition to the program index file, sports content aggregator 402(1) sometimes provides one or more control files to allow the user system to display a conventional user interface upon playback. In the above example, the control file is written in a markup language such as HTML or FLASH 5 of the macro media company. As described below, the control file sometimes includes script code and other control data that may provide additional enhancements, such as displaying an icon that indicates to the viewer that the recording is a "smart recording," or allowing a "skip" function (which may cause the user system to perform a logical skip when a skip input command is received), or for other formatting functions (such as full screen operation).
The sports content aggregator 402(1) may optionally perform various post-processing based on the game index file to provide further enhancements to the index file and/or control file. These post-processing may include post-game analysis and statistical updates, interviews, and scheduling content related to scheduled future television broadcasts.
This information is sent to the user system where it is associated with the record obtained by the user system. Such information allows one or more modes of playback, such as playback of only intense game play, playback of participation by specific players, or playback of other highlights from the formed game segment. This information can also be used to enable real-time pauses and intelligent jumps back and forth.
The sports content aggregator 402(1) in addition to forming the game record index file, also sends a content stream of a transient event, such as the beginning of the football game event in the example above. These transient events are captured and processed by the user system, as described below, so that intelligent skips can be made during a live television broadcast. For example, if the viewer starts watching a football game at the midfield break of the game, the viewer may jump back to the beginning of the game to only see highlights or violent action in the first half of the game. Typically, the real-time content stream contains less recording information than the program index file transmitted at the end of the program. The sports content aggregator 402(1) may also send the record index file at some point during the televised event (e.g., at the end of each game in the above example).
Other information and content (such as pictures, schedules, etc.) may also be assigned a low priority. According to the present invention, high priority information is transmitted dynamically (e.g., via digital satellite). On the other hand, low priority information may be sent over a relatively slow transmission channel (e.g., over the internet). The content aggregator 402 may also format the data stream to optimize for unidirectional broadcast to the broadcast server 114.
The event identifier may be transformed into the special sports content stream in various ways. In the described embodiment, the sports content aggregator 402(1) may normalize the various data streams into an appropriate event identifier. In particular, the content aggregator 402(1) retrieves event identifiers, each event identifier uniquely corresponding to a particular athletic event assigned by one or more sources. These identifiers include sports statistics and/or editors that provide information to content aggregator 402 (1). The broadcast server 114 also maintains a database that includes adjustment entries indexed by event identifiers. The content aggregator 402(1) also forms a new record based on the received event identification information. In this way, the content aggregator 402(1) may transform event identification data between multiple sources of program information, sports statistics, other broadcast information, and the enhanced data stream. Alternatively, the content aggregator 402(1) transforms heterogeneous event ID data into a single homogeneous event ID system, as described above.
Fig. 4 also shows other content aggregators that may optionally be used in accordance with the present invention to form the event Id. As shown, a movie service provider 404, a music service provider 406, and a news service 408 may also provide the normalized output data streams to the broadcast server 114. That is, for each television program, movie or other piece of content, the appropriate service provider may form an event identifier for each program, event or piece of content and associate this identifier with the content relating to that program, event or piece of content. For example, each movie in the movie database may receive an event Id. Then, metadata related to the movie is also assigned the same event ID. Such data may include movie reviews, trailers, interviews, and the like. In the news, events can be assigned such event ids as, for example, election morning, aids workshop, legislative debate, etc. Accordingly, metadata related to the event is also assigned the same event ID, including a website, an image clip, and the like related to the event. For music, the song and artist databases may each receive an event ID, and the metadata relating to the song and artist receives the same event ID. Other heterogeneous service providers 402 may also form event IDs that associate programs, events, and content related to their category with an event identifier.
While the sports content aggregator 402 functions as a "push" mode of aggregating and transmitting various data feeds to the broadcast server, the service providers (including the sports content aggregator 402) may optionally operate in a "pull" mode. For example, the movie content aggregator 402 includes a movie database with enhanced content streams, and associated event identifiers. In this case, broadcast server 114, upon receiving the local list information, will register movie service provider 402 for communication of enhanced data corresponding to the local list.
In one embodiment, upon receiving the normalized data stream from the content aggregator 402, the broadcast server 114 will receive locally adjusted television listings data destined for a viewer. In particular, television data services, such as forum media service data, are provided through data service 422. In addition, data provided by the local carrier relating to specific program listings is provided by the network operator service 424 and provided to the broadcast server 114. For example, the specific list data provided by the service may include schedule information corresponding to DIRECTV NFL SundayTicket information and the like.
The broadcast server then matches the schedule data with the local list data. In the sports embodiment, broadcast server 114 does this by retrieving the date, time, team name and league name from the data of the event ID with a piece of special IP data. The broadcast server 114 then matches the schedule data with TV listing data that typically contains the date, time, field indicating whether the event is live, program description, and program genre using conventional fuzzy logic matching. Upon completion of this matching, broadcast server 114 may form a new enhanced sports schedule that associates IP data with local channel adjustments for a particular viewing area. For a news content aggregator, this matching process matches the subject matter description with event Id with the program description and the date of the TV listing. Thus, the topic may be an aids workshop held on a particular day, and the broadcast server 114 searches the program description of the TV listings for that day to identify news programs that discuss the topic. Once this news program is determined, it is assigned an aids seminar event ID. For movies, the broadcast server 114 matches the event ID information with the title, show date, and attributes of the movie, such as director's type (cut), mailbox, etc., in order to assign an event ID to the particular movie being broadcast. For all matching steps, manual editing can also be used as a quality check in automatic matching. The broadcast server 114 then periodically generates an updated schedule of topics (e.g., sports, music, news, etc.) in which the event identification data matches the local television adjustments for the particular industry, and then transmits the updated schedule to the user system.
The modular structure used in this embodiment allows the broadcast server 114 to transmit domain-specific television schedule data received from the service providers 402, 404, 406 and 408 in the same manner. In addition, the broadcast server 114 may also customize the schedule data to a particular viewing area. For example, since the schedule information is updated daily, the broadcast server may adapt the enhanced data to any changes in the local channel adjustment. This is advantageous over known EPG delivery systems. Because they are not updated frequently, these systems often mismatch the EPG with the local listings (especially when the occurrence of sporting events is uncertain). The broadcast server 114 may optionally perform additional positioning functions based on the normalized data stream received from the service provider. However, the modularity of the component parts of these servers is optional.
The broadcast server 114 transmits the enhanced and normalized data stream to the user viewer to enhance the viewing experience, as described in more detail below. In one embodiment, broadcast server 114 may also implement the functionality of content aggregator 402. In this embodiment, the broadcast server 114 receives different kinds of data from sports providers (or other providers) 414 relating to different enhanced IP data from multiple sources, television schedule information from multiple sources (e.g., cable providers, satellite providers, TV listing services such as forum media services, etc.), and forms a schedule for a single sports or other topic that combines the enhanced IP data with different program listings to form "tunable" IP data. In another alternative embodiment, the different content aggregator 402 forms an enhanced topic schedule by placing a call to the centralized TV listings database to extract TV listings information, then transforms the proposed TV listings into event ids as described above to form an enhanced schedule, which is then sent to the broadcast server 114, which in turn sends the schedule to the user.
Broadcast server 114 also preferably manages and schedules the delivery of various formatted content streams. This may be accomplished by querying the availability of such content according to a set of delivery rules in real time. Thus, for example, the transfer of data provided by other content sources, such as advertising information, may be well scheduled.
The broadcast server 114 provides the processed real-time data stream and the transformed data enhancement mode to the user system via a transmission medium, such as the user system 100 shown in fig. 4 via a network/cable transmission system or a satellite link. Other information, such as EPG data, may also be transmitted over these media. These data streams are received by a receiver 120, processed and displayed on a display device 122. As described below, the display device 122 is partitioned into different display areas including a viewing area 122a for displaying the currently tuned television channel, a dashboard or guide display area 122b for displaying real-time performance and other statistics, and a tunable alert area 122c for providing real-time information (which, when selected, enables the user system to tune to the associated channel).
Fig. 5 is a block diagram representation of an example user system 100. User system 100 is implemented as one or more devices such as a set-top box, a cellular telephone, a video game console, a PDA, or other embedded computing device (such devices may be configured to receive broadcast television programming and data services, or to operate with other such configured devices). For example, the user system may be implemented as various interoperable devices or nodes, such as in a local network. Thus, the display may be through a PAD in communication with a set-top box containing at least one tuner. The input information may be provided to the user system through the PDA, through a set-top box, or through another device. In the illustrated embodiment, the user system 100 includes at least one tuner, and preferably two or more digital tuners, for receiving digital satellite television programming and/or IP content. The user system 100 also has advanced digital video recording ("DVR") capabilities. This allows the desired television channel to be recorded simultaneously and has pause, playback, slow motion and picture-in-picture viewing capabilities. The subscriber system 100 facilitates television guidance and viewing and facilitates internet guidance. However, the skilled person will appreciate that many other user systems may be used to implement the invention, while utilising the above features.
The user system 100 provides the output video to the display device 122. Display device 122 may be implemented as a high definition television display, a standard television display, a computer monitor, or other device capable of displaying images or video represented by image or video data. The user system also includes an external signal recorder 124 and an audio system 126. An audio system represents a speaker, a stereo system, or a device capable of emitting sound represented by sound data.
The user system 100 includes a signal input module 510 that receives digital television programming and/or other data from first and second data communication channels 512 and 514 via first and second digital tuners 516 and 518, respectively, of the module 510. Although the broadcast program is preferably delivered via a digital satellite system (see fig. 1), the information may also be delivered via a digital cable system (see fig. 4), a cable or optical connection, a terrestrial antenna system, or any other device or system capable of transmitting the broadcast program and IP content to the local user system 100.
When the digital signal includes multiple channels, a first digital tuner, represented by block 524, tunes to a selected channel in the signal. If only one tuner is used, the selected channel includes a trickle of IP content, thereby providing enhanced services to the viewer. It is preferred to use multiple digital tuners to provide enhanced viewing features, such as picture-in-picture, recording one channel while viewing another, or recording multiple channels simultaneously. In the disclosed embodiment, at least one additional tuner 526 is adapted to receive digital signals and tune to a second channel. This allows the IP content to be delivered over a separate channel received by tuner 526. However, even when the user includes multiple tuners, the selected channel and the television programming may contain trickle currents to avoid allocating tuners to receive IP content. This allows the viewer to utilize the additional tuner 526 to view and or record options while receiving services in accordance with the present invention.
A pair of signal decoder modules 520 and 522 converts the received video data into an appropriate data format. For example, the video decoder 522 may decode a received video data stream from a compressed video format (e.g., an MPEG-2 format). Thus, although fig. 5 shows the user system 100 receiving data over two data communication channels 512 and 514, it should be understood that multiple program play input lines may be used that transmit programs from multiple data sources. In such embodiments, the user system 100 receives programming from one source or from multiple sources simultaneously.
The user system 100 also includes a user input interface 524 that receives input control signals from an input device 526, such as a remote control, a keyboard, a microphone, or any other device capable of generating electronic instructions for the user system 100. The input device 526 is connected to the user system via an input link 528 to enable transmission of such control signals. The input device 526 generates an electronic indication via the input link 528 in response to preprogrammed data or in response to the viewer pressing a button on the input device 526. The input device 526 also controls the Web browser software in the user system 100.
Fig. 5 also shows a DVR device 530 for receiving video and/or audio data and recording such data on a storage medium. In the illustrated embodiment, the DVR device 530 is included in the set top box 120. In addition to the internal DVR device 530, a signal recorder external to the set-top box, such as the recorder 124, may also be provided.
A Central Processing Unit (CPU), shown as processing unit 532 in fig. 5, controls the operation of set top box 120. The CPU 532 is coupled to an Application Specific Integrated Circuit (ASIC)534 and uses computer executable instructions implemented in software and/or hardware logic circuits. The CPU 532 and the ASIC 534 are connected by a system bus 536, which also interconnects the various other system elements. These system elements include system memory 538, mass storage interface 540, user interface 524, and signal input device 510. CPU 532 executes software designed to implement the features of user system 100, including the features of the present invention. The ASIC 534 includes circuitry to implement certain functions of the system. Instructions, data, and other software necessary for operation of the processing unit 532 and the ASIC 534 may be stored in the system memory 538, and/or stored in the mass storage device 542 connected to the mass storage interface 540. The system memory 538 and the mass storage device 542 are communicatively coupled to the ASIC 534 such that data may be read from and written to the system memory or mass storage device.
The mass storage device 542 is implemented as a magnetic hard disk or any other magnetic or optical mass storage device capable of storing large amounts of data. Computer readable instructions or data, including application programs 544, other program modules 546, and an Electronic Program Guide (EPG) database 548 that specifies broadcast times and channels for programs, may be stored in the mass storage device. In addition to the EPG data provided by the second data communication channel, EPG data may be provided periodically to continuously maintain a current schedule of broadcast programs in the user system 100. When the user system 100 contacts the internet, the data contained in the EPG may be downloaded from the internet. In addition, the EPG may be transmitted to the user system using direct dial-up communications over standard telephone lines, or using cable television facilities, satellite networks, broadcast over the air, or data transmission over any other available medium. Video data 550 is also stored in the mass storage device. As described below, this data can thereafter be accessed and read out so as to be viewable on a display device.
Skilled artisans will appreciate that users 100 typically communicate with web servers (not shown) as well as with other remote computers, such as computer 552. Communications over the wide area network 556 are facilitated by the serial port interface 554, which is interposed between the system bus 536 and the modem 558 (or other suitable means for establishing communications over the WAN 556). The subscriber system may also communicate information over a network, such as the internet, using direct dial-up communications over standard telephone lines or using other available communication media as described above.
The user system 100 may also include video output circuitry 560, which may include a video encoder and/or a video converter. The video encoder assigns a code to the frames of video data to be transmitted over the video image link and converts between analog and digital formats as needed. Similarly, the audio output circuit 562 may include an audio converter to provide the required conversion between analog and digital formats.
There are many advantages to using multiple digital tuners and one or more digital recording devices in implementing the present invention. For example, live television control may be provided to further enhance the viewing experience. That is, these controls may be used to pause for a period of time (e.g., 30 minutes) or to form an instant replay, or to view even frame-by-frame action with slow motion control, depending on the live broadcast television signal. In a preferred embodiment, the user system automatically records the enhanced mode so that the viewer can use the interactive enhanced mode at a later time for convenience.
The present invention provides various user interface enhancement modes in the form of graphical and informational elements that are overlaid on a portion of the display screen. These enhanced modes help viewers make flexible decisions regarding the available television programming, as described below.
One such user interface enhancement mode is a television guidance tool. The guidance tool provides improved interworking for viewers as it can introduce the viewer to a particular event currently available over one or more networks. Thus, in one embodiment, the present invention introduces viewers to currently available sporting events by displaying a list of these events in a guide display area on a screen. The list of events displayed in the guide display area may also be filtered according to viewer preferences. That is, the viewer may only be interested in the currently available football game. In this case, the guidance tool may be used to display only currently available football games, such as the national football league currently in progress on a certain sunday, afternoon.
According to one feature of the invention, the information shown in the guide display area is based on filtered enhanced sports schedule data that shows up-to-date information to the viewer. For example, an icon may be used to indicate that a particular event identified in the display area is currently in progress and/or that a situation in the event has occurred or is about to occur. Thus, the guide display area displays only those items currently available to the viewer. In this embodiment, the user may select the appropriate program by selecting the portion of the guide display area corresponding to the desired program. The system then automatically tunes to the channel corresponding to the program identified in the guide display area. In addition, the display may also display information such as events that may be viewed in the future.
To display such information to the viewer, the user system 100 shown in FIG. 5 may extract an event identifier associated with the data provided in the generated content stream. The system then searches for a previously transmitted enhanced sports schedule that also includes the associated event identifier. This allows the system to automatically tune to the program corresponding to the event identifier selected based on the user.
As described above, the event identifier data is associated with other generated content, such as real-time indicators, alerts, DVR startup information, and other enhanced content. To provide this information to the user system to enhance the viewing experience, the user system executes one or more applications. These applications are based on one or more underlying data engines for processing the received content. Table 1 below identifies several examples of applications that may be built on top of the correlation engine. As shown in the table, an example sports application forms some guidance tools, such as the "on air" tool. This procedure is built on top of a data processing engine for processing the received real-time indicator data. Similarly, game alerts (e.g., player alerts and start/pause alerts) use an alert processing engine. To provide the game index, the DVR engine performs a function of extracting index information. In addition, the enhanced content processing engine enables the display of content such as tournament advance information for use with the DVR features of the invention.
TABLE 1
| Engine | Sports game | News/finance | Television program | Music | Film |
| Real-time indicator | 'now broadcast' guide | Story fragment | 'now broadcast' guide | Wireless music | 'now broadcast' guide |
| Alarm system | Player alarms, start/pause alarms | News alert and tuning | Guests in the talk show come out | The tape starts playing | Famous person alarm |
| DVR | Match indexing | Indexed news program | Indexed awarding activity. Recording position of performance (monologue) | Indexed music videos | Showing of indexed movie reviews or trailers |
| Enhanced content | Match preview with record button | Of related contentWrite/record button | Recording catalogues, relative singers | Write/record button for movie recorded comments |
Other applications may be implemented using the same basic processing engine. For example, applications related to news delivery may use a real-time processing engine to provide viewers with an indication of the segments of a story that are currently available for viewing. Similarly, the application may use an alert processing engine to provide news alerts and tuning capabilities. The news application may also use the DVR engine to process the indexing of news programs, as with the game indexing functionality implemented for the sports application described above. In one embodiment, the application will display an alert if a video clip about a company preferred by the viewer is to be broadcast as part of a news program being broadcast on another channel. In this embodiment, a news program that is playing has been previously processed and recorded, and an event ID is assigned to the video clip that is transformed into the local channel on which the video clip will be displayed. The event ID is then transformed into IP data containing the alarm. When the alert is displayed, it shows "now tuned for report about company X! "the viewer can select the alert and then tune to the video clip about the company he prefers. Table 1 above also illustrates a music application that provides a guide tool for tracks of currently available digital radio programs or available music related television programs, as described in more detail below. In this example, the alert processing engine may be used to form notifications such as when a band on a television begins to play. The DVR processing engine is operative to process an index corresponding to a music video program. Finally, the movie application may also provide a guidance tool for movies that are currently available for viewing. In this example, the alert processing engine may be used to form notifications that include special scenes (e.g., love scenes) of famous people. The present invention can also be used to process the indexing of other types of programs, such as trailers and informational advertisements (infomercials).
Fig. 6 is a flow chart representing some operations of the sports content aggregator 402(1) shown in fig. 4. To form a data stream with tunable alert information that may be transmitted to one or more user systems, an enhanced athletic schedule is first formed and transmitted to broadcast server 114 and ultimately to one or more user systems, as shown in block 610 of FIG. 6. As described above, for a particular athletic event, such schedule information includes an associated event identifier. Then, during the event occurrence, the sports content aggregator 402(1) receives sports listing data, real-time sports information, sports statistics and edit data, and other sports enhanced data, as shown in block 612. As described above, the sports content aggregator 402(1) also retrieves the event identifiers for these data, as shown in block 614. The received content is then associated with local channel information based on the event identifier in block 616. In block 618, the aggregator 402(1) forms an enhanced sports data stream with the associated event identifier for transmission. Finally, in block 620, the enhanced data stream is then transmitted to the broadcast server 114 and ultimately to one or more user systems. As mentioned above, these steps may also be implemented by other service providers and/or server units.
Fig. 7a and 7b show a flow chart according to two embodiment of the user system 100 enabled with tunable alarms. In fig. 7a, the user system periodically receives an enhanced athletic movement schedule with associated event identification data, as shown in block 710. In block 712, an enhanced data stream is also received that also contains event identification data. In block 714, the subscriber system composes a tunable alert based on the received enhanced data stream. As described below, the alert may provide information about an event that is about to occur in some other athletic activity event. In block 716, the tunable alert is displayed on a display device. Upon receiving a control signal corresponding to the viewer selection of the tunable alert at block 718, the user system will search the enhanced data stream for the television channel based on the event identifier associated with the tunable alert, as shown in block 720. Finally, in block 722, the user system will tune to the television channel associated with the event identifier.
Fig. 7b shows a flowchart of the operation of an application program executed in the user system 100 in order to form a guidance guide according to another embodiment of the present invention. In this embodiment, the enhanced content is associated with a corresponding television program in the user system. Execution of the program begins in step 740. In this step, the broadcast program data and the IP data are first received by the user system. As described above, the broadcast program data and the IP content are associated with their own unique identification information. Next, in step 741, the system will form a lead-through and other enhanced content from the received IP content. As described below, this step includes forming buttons, alerts, or other real-time indicators that inform the viewer of events or fierce scenes in the associated television program that are not currently being viewed. The system also transforms the program and content identification data so that the IP content is overlaid around the television program viewed by the viewer. Then, in step 742, the user system 100 displays a guidance guide having one or more guidance units on the display. In many cases, the system may also display a viewing window for displaying the currently viewed program.
The system then controls the signals or other input from the viewer at step 743. These signals may correspond to a user selection of a desired program by highlighting or otherwise selecting the guide cell on the display. These signals are typically input through a remote input unit 526 shown in fig. 5. The system then processes the input control signal in step 744. Next, in step 745, the system may tune to the broadcast program selected by the user. Finally, in step 746, the system updates the displayed guide unit and viewing window.
Although the alerts shown in fig. 6, 7a and 7b are "tunable" to allow the subscriber system to tune to the appropriate channel based on the previously associated event identifier, the present invention may be used to provide other types of alerts. These alerts typically activate another specific action of the user system. For example, an alarm sometimes initiates some action such as may extend video recording. This may occur if the sporting event enters an extended period or event. Another example of such an alternative type of alarm is a speculative recording alarm. Such alerts allow the user system to record particularly interesting events, although the viewer does not require the system to record the event. For example, one speculative recording alert selected by the user causes the DVR engine to record the last two minutes of all basketball games. Thus, in this embodiment, an alert is sent to inform the user engine of the event in the last two minutes. The alert corresponds to an event ID, and the DVR tunes to the channel specified by the event ID to record the program. Another example of this feature is to speculatively record all game instances that have entered an extended period, all last half hour instances of the awarding event (assuming that there is the most significant award), or all first 10 minute instances of the talk show at that night to record these distinctions.
Although a "tunable" alert is described, the present invention may also broadcast an alert that may inform the user that only one event of interest is about to occur on a device that does not have a tuner. For example, if a news program is about to talk about a company, an alert may be sent to the cell phone of the interested user. The cell phone alert will only inform the user that a program is currently being broadcast for a company that is about to talk about interest. The user may then be able to locate a television or other tunable device (such as a computer equipped with a tuner card) nearby to view the program, or request that the program be recorded on the user's home video recorder. In this embodiment, the cellular telephone, PDA or other non-tuner device may also download an enhanced theme schedule relating to the IP data into the television programming listings (customized for the user). When the user selects the alert, the alert in this example displays only broadcast program information or provides an option to record the program remotely.
Fig. 8 to 15 show user interfaces or displays rendered by an application utilizing a data service delivered in accordance with the present invention. In these embodiments, the user interface has several separate display areas: a program viewing display area, a guide area, and an alert display area. The program display area is typically used to view a television broadcast program, such as a sporting event. In the boot mode of operation, the display area shrinks to be as large as a window using only a portion of the display screen. It should be understood, however, that the present invention is not limited to the specific location of the window units (e.g., guide and video display areas) on the screen in the described embodiments.
Fig. 8 shows the general layout of a novel guide 800. The guide is divided into a program viewing window 810 and associated buttons such as the "race information" and "viewing statistics" buttons shown in fig. 8. These buttons allow access to additional information about the program currently being displayed in the viewing window 810. This information may reside on the user's system, or the system may access a website containing such information. In addition to the viewing window, the screen display includes various guide portions. These guidance portions are shown in fig. 8 as a guidance guide or dashboard region 816 and a thick guide bar 818. As described below in connection with fig. 9, the coarse guide bar 818 provides a coarse screen for the type of information shown in the guide area 816. That is, in FIG. 8, the viewer has selected the "Menu 1" button in the thick guide bar, which causes the system to present a particular guide element in display area 816.
In addition to the coarse filtering provided by the guide bar 818, the cells shown in the guide area 816 are logically grouped by event category. That is, the currently available programs are grouped by event type (here, motion event). Thus, the event category 1 program offering may include the national football league currently available. Event category 2 programs may include major league baseball games, and the like.
Fig. 9 shows a specific implementation of the guidance guide corresponding to the general screen layout described above. In the guide of this example, the program display window 910 displays a currently available football game and buttons located next to the viewing window for viewing further information relating to the game. For example, if the viewer selects the "Tampa bay of New England" button, the system accesses additional information related to the broadcast. Similarly, the "viewership statistics" button may cause the system to display statistics related to the program.
The guide 900 also provides some coarse filtering in the form of menu entries located in the coarse guide area 918. In fig. 9, the viewer has selected the "now on air" button which screens the currently available sporting events in the guide area 916. The guide area 916 includes a number of guide elements that may also be categorized by event type. In the illustrated embodiment, the currently viewable NFL game is displayed as a set of guide units. Also, the guide units corresponding to the collectable major league baseball game and the national hockey league are classified and displayed.
As described above, each lead unit in the guide section 816 has some information to assist the viewer in making the decision. For example, the first lead unit shown in fig. 9 corresponds to a currently available broadcast of the football game by the philadelphia team for the new york team. Real-time indications of scores and remaining time are also shown. Other visual cues, such as a highlighted football in the guide cell, provide up-to-date information about the game status, such as the current ball power. Highlighting may also indicate that the game is currently in progress.
In the second guide unit shown in fig. 9, the visual cue of a darkened, i.e. not highlighted, football corresponds to the broadcast of the game of miami versus oakland indicating that the game is not currently in progress. This advantageously provides the viewer with an important reminder of the activity status of other available sporting events. Of course, the activity status of other events may be provided by other visual cues such as: by highlighting or dimming the guide unit, or even by a tunable "start/pause" alarm, as described below.
The guidance tool forms other visual cues to provide real-time information about the currently playing baseball game, such as hitter, runner, score, and number of rounds. Finally, several visual cues created for the currently available hockey game may tell the viewer to aggressively attack (powerplay) or goal scoring, as shown in the guide element in fig. 9.
According to another aspect of the present invention, various data may also be displayed in conjunction with the enhanced sports schedule data shown in the guide area. In particular, the screen display may also include a display area that may display real-time event alerts to viewers. The display area provides up-to-date information about recently occurring or about-occurring events or actions in one or more currently viewable programs that are not displayed in the display area. Since the alerts include relevant event identification data, they may enable the user system to automatically tune to the channel associated with the alert selected by the user.
In fig. 9, the tunable alert display area 920 displays real-time notifications for events in another active broadcast program. The alert shown in FIG. 9 corresponds to an episode of one of the currently ongoing baseball games. It informs the viewer that an item of interest to the viewer is about to occur. Here a player is preparing to hit a ball. The alert window includes a "go" button that allows the user to tune to the television broadcast. These alerts therefore include event identification data, as do the lead units, so that they can be associated with the corresponding broadcast programs.
Fig. 10 illustrates a guide screen 1000 according to another embodiment of the present invention. This guide screen displays viewable broadcast television programming that is also screened to correspond to various categories, albeit in a somewhat different manner than the embodiments of fig. 8 and 9. The first category of programming relates to sporting events, as shown in the first viewing window 1002. A second display window or viewing area 1004 displays other viewing options. These options may also be categorized by the particular category of interest (such as cooking programs). In addition, other display windows may also be used. For example, FIG. 10 shows a display window 1006 that displays information about news items of a particular category of interest.
In addition to the viewing window, the display 1000 also includes buttons or controls that are selectable by the viewer. In the display screen shown in fig. 10, these additional controls include a "fantasy" button 1008 that allows information to be displayed regarding individual players, or a class of players, of a fantasy sports team assigned to the viewer. After selection, the system tunes to the appropriate channel or accesses a website, which may provide statistics and other information about the particular team or individual that the viewer said. In addition, the "shopping" button 1010 may also be used to guide the viewer to advertisements or promotional items related to the provided broadcast program. The "news" button 1012 and the "achievements" button 1014 may also be used to cause the system to transmit content that preferably relates to these topics or hyperlinks containing these content.
To guide or select a desired program through the various display screens, the viewer preferably uses the input panel 526 shown in FIG. 5. When the user selects a display region or a display unit corresponding to a viewable television broadcast program, the display unit will be highlighted. Alternatively, the color of the display area may change to indicate that the user has selected the display area. As described above, the data displayed by the user system includes the above-related event Id. When the user selects the desired display area, the system looks up the appropriate channel in the previously transmitted enhanced sports schedule and automatically tunes the television to that channel, thereby displaying the selected broadcast program.
Fig. 11 shows another example guidance guide 1100. The illustrated guide 1100 is separated into a first display window region 1120, a guide region 1160, and an information region 1140. Boot region 1160 may also be divided into one or more boot cells, such as boot cells 1162 and 1164. According to one aspect of the invention, the guide elements displayed correspond to a type of currently available broadcast programming selection. Thus, for example, the guidance unit shown in FIG. 11 corresponds to a currently viewable sporting event. When the viewer selects the desired guide element (e.g., element 1162), the system will automatically tune to the program and the program will be displayed in the viewing area 1120. The display area 1120 includes various buttons, such as a "full screen" button, which allows the user to exit the guide mode and view a full screen display of the broadcast program.
To provide an enhanced experience, the lead unit may be updated to provide information to the viewer, preferably in real time. Thus, in the embodiment shown in FIG. 11, the score for the currently available sporting event shown in the guide area 1160 is updated and displayed to the viewer. In addition, additional information may also be provided with other icons in the guidance display area. For example, an icon representing the right to play or the current player may also be displayed to the viewer. According to one embodiment of the invention, this information is merged with the enhanced sports schedule data displayed in the guide display area of the screen.
Fig. 12 shows a screen display 1200 that is similar to the display 1100 shown in fig. 11 in that it includes a viewing display area 1220 and a guide area 1240. However, in this example, the viewer has selected a broadcast program of a slightly different genre, i.e., a baseball game is currently in progress rather than a football game. According to the present invention, the guide display area 1240 is then updated to display other viewing options according to the viewer's preferences. That is, the guidance unit (such as unit 1262) is rearranged compared to the screen shown in FIG. 11 to display other options that are likely to be of interest to the viewer based on the program being viewed. In addition, the guidance elements in the guidance display area 1220 are also updated to reflect the current score and other important information.
FIG. 13a illustrates another display screen 1300a using an alert indicator according to the present invention. As with the embodiment of fig. 11 and 12, the display screen is divided into a viewing area 1320a and a guide area 1360 a. The guiding unit shown in this area of the display screen is similar to the above. Fig. 13a also shows an alert display area 1340a that is used to provide specific information of interest to the viewer. In this example, an alert is displayed in the screen corresponding to a player that may be of particular interest to the viewer. For example, this alert may correspond to a fantasy player preparing to hit a ball in another currently viewable sporting event.
Fig. 13b shows another alarm that may be used according to the present invention. In this example, the alert display area 1340b displays information related to an upcoming event in another broadcast program. As shown, the viewer is provided with a text message that means that a team is just about to hold the ball into the "red zone," i.e., the opponent's 20 code line, and will have a touchdown (hit). The viewer may decide to view the program by simply selecting the appropriate button displayed on the display screen (such as the "tune now" button 1342b, as shown in fig. 13 b). Upon selection by the viewer, the system automatically tunes to the program corresponding to the alert display area 1340 b. Various other alerts may also be formed according to the defined rules of the game. These alerts include the occurrence of a game scoring action, such as touchdown (struggle) in a football game or base run in a baseball game. In addition, whenever an athlete completes a task or is ready to complete a task, an alert notification may be formed corresponding to each athlete.
According to the present invention, the digital video recording feature may also be incorporated into a DVR engine executed by the user system. That is, the user system processes received real-time and other data traffic to provide enhanced DVR features. As described above, the broadcast service generates triggers corresponding to the game index to enable the recorded game segments to be stored, played back and viewed. These triggers include real-time event notifications related to items of interest corresponding to specific locations in the recorded video stream. In addition to the above-mentioned game action events, triggers may also be formed for informing the user: the recorded game has been extended or even a very interesting game should be recorded based on the viewer's profile. Upon receiving notification that the recording is to be extended, the system will automatically employ the auto-extend feature to avoid losing overtime or other unpredictable portions of the program timeout.
In a preferred embodiment, the user system uses the DVR engine and one or more elements to form a playback application. As described below, such playback applications are generally specific to an event or topic (e.g., sporting event, sports highlights, news, movies, music, etc.).
Fig. 14 illustrates a display screen for providing DVR services to viewers using IP content. In this example, the viewer has selected the "later on air" control in the thick guide 1418 on the display. This operation causes the system to display a motion event to be broadcast later in the guide area 1416. In addition, the display also displays enhanced content related to the specific scope related to the future event in the information display area 1422. As shown in fig. 14, this information includes historical facts and other items of interest. The display also displays "reminder" and "record" buttons so that the user can select these features.
Fig. 15 shows an information screen display representing advance notice information according to another embodiment of the present invention. To provide information regarding future programming that a viewer may want to record, a preview or attraction display screen 1500 may be displayed. When the present invention is applied to the transmission of sports events, the trailer screen may provide information about the analysis of the importance of the game, etc. in the trailer viewing zone 1520. The "record" button 1530 allows the viewer to record the program by other selection scenarios. Other information about the selected game is displayed by highlighting the relevant buttons listed in the operation bar 1510 so that the viewer can be guided by the "race" button, the "status" button, the "pitcher" button, the "tailing and remarking" button, and the "injury" button. These buttons correspond to additional static and/or dynamic information related to the program.
The present invention also enables DVR guidance tools to be formed and deployed based on context-related categories. For example, in a recorded football game, the present invention allows the viewer to "jump" intelligently to discrete points of interest in the football game record, such as to the start of a certain section, to the behavior of a certain player, to highlight only, or from one action to another in the game. Alternatively, the viewer may jump from one action to only one action in the football game. In other sporting events, smart game recordings may also be made based on content formed according to rules associated with a particular game. The invention may also be used to enhance the recording of music, news or movies. For example, the indexing feature may be used to jump viewers to portions of a news program or a group of news programs that are of interest.
The present invention forms a plurality of indices by associating received event records with the appropriate locations of recorded video on a storage medium. As described above, in the case of indexed sports broadcasts, the sports content aggregator 402(1) captures and packages event records related to television programming as a plurality of DVR index files. These index files are sent to the user system, which associates the index files with corresponding records if the index files are already available to the system.
Figures 16a-16c illustrate a method of associating a received DVR index file with a video file stored on a user system storage medium. In this example, various data packets (each of which may contain a program index file) are downloaded to the user system. These packets are shown as packets P1, P2, P3 … PN in fig. 16 a. These data packets typically include a program DVR index file and a control file (or pointer to a control file). As described above, the DVR index file includes an event index record of a program, and in the case of a football game, the event index record includes indexes of actions, highlights, and additional characteristics that are sometimes broadcast. A control file is a file that typically includes user interface elements and script code to display a user interface to a user to simplify playback control of a recorded video program. The control file may provide an entry point from the user operating system to the control of the playback application. The control file may display a user interface or load and invoke other files to display alternative display elements to form a user interface to the playback application. In a preferred embodiment, the control file is written in a markup language (such as HTML or FLASH 5 from the Macro media company) and may optionally include script code (such as JavaScript, Perl, or visual Basic). The control file may optionally include or point to code written in other languages, such as C + +, Java, or C #.
The system maintains a metadata directory of recorded programs, index files, and control files. Fig. 16b and 16c show a storage medium comprising a directory of used metadata with entries for recorded programs PI and PIII. The recorded video data of the recorded programs PI and PIII are stored in another part of the storage medium, as shown in the left diagram of fig. 116 b. In addition to the entries of the recorded programs, the metadata directory also includes entries of the related index file P1 and entries of the related control file P1, which are placed in the directory as a result of matching with the program entries PI.
When a package is downloaded, a data package handling service resident in the user's system is invoked to perform the function of transforming the package into a recorded program, if one exists. The packet processing service first determines whether a corresponding program has been recorded. This association can be accomplished in a variety of ways, such as with an event ID or other information that uniquely associates the package with the recorded program. As described above, the event ID may be obtained by converting a heterogeneous ID previously assigned to a packet into a single homogeneous event ID system, or the event ID may also be obtained from or employed with the preexisting universal ID system. In this example, the arguments of the method to implement this function include the schedule and genre information about the program and the event ID.
When there is a match, the packet processing service places the entry of the matched index file and any other related files in the index file directory. As shown in fig. 16c, the service forms a new directory entry P1 for the indexed program and places the entry in the indexed file directory. The service also renames the index file and places the entry data. The service also renames the control file and puts the entry controlfile. Then, the index and control files are stored in the memory. As shown in fig. 16c, the service may also optionally receive other relevant data to enhance the user interface of the indexed program. In fig. 16c, the service may also receive the image files a.gif and b.gif and the additional HTML files and place these entries in the appropriate subdirectory of the file indexed by P1. These related files may also be stored to a storage medium.
Other data packets received by the user system may also be processed in a similar manner. Therefore, when the package processing service is invoked to process the next data package P2, there will be no match because there is no corresponding recorded program entry in the metadata directory. Therefore, the packet P2 will be discarded. However, the data packet P3 will be related to the recorded program PIII. Thus, entries relating to the P3 index file and the P3 control file will be placed in the metadata directory. When no match is found with the recorded program, the packet processing service will discard the data packet.
During playback recording, the event index may be matched to a video clip of the recorded program. When the viewer selects playback of the recording, the recorded program is located. Based on the entries in the metadata directory, the DVR engine loads the associated DVR index file and control files. The control file typically includes code (such as script code) for initiating certain operations (such as starting playback). Wherein the DVR engine further creates an event data structure that includes events derived from the associated DVR index file. When the viewer provides an input corresponding to a selection of an event (e.g., a jump to the next play segment), the DVR engine looks up in the event data structure to obtain the time index of the next play segment. The time index is a time offset from the start of the recorded program. Since the time series information also has stored video files, the DVR engine determines the appropriate video segment that corresponds to the time offset in the event data structure, causing the system to begin playback of the video segment. Other event indices may be handled in the same way by obtaining a time offset or index from the start of the program and finding the appropriate video segment corresponding to the time index.
The index received by the user system preferably includes other tag data in addition to information relating to the start of each tag event. In the football example above, this additional tag data includes a description of the type of game, the number of codes won, the name of the player and the event. Thus, in a user system, different levels of personalization may be applied to the tag event data to display preferred data for the user. For example, the user system may instruct the DVR engine to apply a filtering technique (such as XML conversion) to the data, so that the user can only receive preferred data as a subset of the recording, and even more intelligently jump to those portions of the DVR recording that are of interest to the user during playback.
Thus, if a user is interested in the performance of a particular athlete, the user can easily jump to highlights associated with that athlete. In one embodiment involving indexed sports highlights television programming, the playback application may be operable to select (and display) only the highlights of the user's favorite sports team. In addition, while playing back a news story, the user may have the user system browse and intelligently jump to news items about the user's favorite companies or favorite news items or news related to a particular venue.
Fig. 17a-17c illustrate the association of various enhanced files with DVR index files. In this example, various additional portions are downloaded to the user system so that a playback application associated with the DVR index file can be formed. As shown in fig. 17b, three records PI, PII, and PIII are stored in the storage medium. Thus, as shown in fig. 17c, the metadata directory includes entries p1.dar, p2.dat, and p3.dat corresponding to the records stored in the storage medium. However, in the example shown in fig. 17c, only one of the recordings P1.dat includes the associated downloaded program DVR index file P1. In this case, the index file entry is represented by "index. The metadata directory also includes entries for various portions of the associated playback application. These entries include a control file, represented in FIG. 17c by "control. html," which serves as an entry point for passing control from the user operating system to the playback application. In addition to index file entries and control file entries, some subdirectories include entries for files such as GIF files, JavaScript codes, and HTML pages. In the implementation shown in FIG. 17c, the GIF subdirectory includes entries for downloaded GIF files (e.g., "Back" and "Button" files). Likewise, the JavaScript subdirectory includes entries for various JavaScript libraries. Finally, the HTML subdirectory includes entries for "UserAborted" and "ChoosePreference" files.
When a user enters this playback application, control is initially passed to the control. The page itself calls other pages in the directory or control may be passed to other html pages. In this way, the playback application can be implemented as a series of HTML pages compiled for the television platform, script code such as JavaScript, GIF files, JPEG files, FLASH code, or even one or more Dynamic Link Libraries (DLLs). In addition to receiving various files as download packages, the playback application itself may also decide the files to be downloaded and displayed to the user.
Although the playback application has been described so far for a single DVR recording, the skilled person will understand that such an application may also be associated with a recording of multiple indices, thereby providing a specific service. For example, if a user wants to watch a particular athlete during multiple events, the present invention may be used to implement an index that has access to all such events, thereby providing the particular video playback desired by the user.
Fig. 18a and 18b show user interfaces that may be used in conjunction with the present invention to play back a football game. In fig. 18a, the display screen 1800 is divided into television viewing windows 1810. This interface displays a "playback +" icon 1812 that informs the viewer that the record is a "smart indexed" record. In addition, the interface displays a "play" button 1814 when the viewer wants to watch the entire program. In addition, the interface displays a "delete" button 1816 to allow recorded programs to be deleted. If the user selects the "playback +" button 1814, the user system may display an intelligent playback interface, as shown in FIG. 18 b. In this example, the display 1820 also provides a viewing window 1822. The interface includes selection switch buttons 1826 that correspond to the locations in the video file that relate to the front and back content (i.e., the beginning of the recorded football game segment in the previous example). In addition, the interface displays a "highlight" bar 1824 that allows the user to jump to the highlight of the recorded program. The "playback +" button may be implemented as a drop-down menu or the like as a selection to provide various selections to the viewer.
In addition to the game index file used to enhance the entire program (such as the entire football game in the example above), event tags may also be sent to the user system in real time to enhance the televised programming that occurs. That is, the DVR index engine may be used to build an event data structure associated with a program when the program is broadcast. In this example, these indices are associated with the video clips stored in the pause storage buffer and can be used to index programs that are not or are not permanently recorded. The DVR index engine can then look up the time index in the event data structure and the corresponding video segments in the same manner as described above. Thus, although the delivery of a playback application has been described above in connection with fig. 16 and 17 for some embodiments in which enhanced content is received after a broadcast program is recorded, the present invention may also be implemented to allow user interaction in accordance with enhanced content received during a broadcast program.
The control data provided to the user system may also be used to provide enhanced modes associated with the user interface of the user system. One such feature is the "over-ride" feature to associate the remote control with the broadcast program. In most cases, selecting the skip forward input key on the user's remote control may cause the user's system to perform a 30 second skip forward in the video, while selecting the skip backward may allow a 7 second skip backward. According to the present invention, the skip feature may be used to process a received "skip ahead" input command to perform the next logical skip. This feature allows the viewer to observe the desired response through the user system. That is, when viewing a record of a football game, the viewer can see if the jump to the start of the next playing segment is 30 seconds ahead of the previous playing segment. Likewise, the skip feature may also be used to process a received "skip backward" input command to perform a logical skip to the last video segment desired by the viewer.
In the presently preferred embodiment, the DVR enhanced mode is adapted for recording of an entire program. Thus, the video recording cannot be copied or modified. However, the user system may be used to process and enhance video recordings in various ways. For example, the user system may edit the record to the viewer's preference and restore the edited version of the record. In the football example, the user system may process the recording and save only some of the recorded game actions in the football game, highlights or the behaviour of a certain player as a new abridged video file. This feature can be exploited where disk storage space is at a premium.
In addition, some alerts may be provided to the user system to initiate certain operations, such as automatically adjusting the recording time for a recorded program. For example, when the sporting event is longer than originally planned, the recording time of the sporting event may be extended. Conversely, when the movement event is shorter than the originally planned time, the recording time of the movement event can be shortened. Furthermore, a speculative recording alert may be used, which may cause the system to begin recording events, such as highly interesting races. Such an alert may be formed based on a brief information of the viewer, such as his favorite team or player, or location.
Finally, DVR enhanced modes are sometimes combined according to traffic. For example, once the speculative recording feature is utilized, the user system may thereafter receive any program, whether or not it has an event record index associated with the speculatively recorded program.
Although the invention has been described primarily with respect to the integration of different data sources, such as real-time IP data, event identification data and broadcast television programming, it will be appreciated by those skilled in the art that many other data sources and data types may be integrated. For example, in addition to enhanced schedule data, the present invention may also be used to combine real-time IP data with event identification data so that a user can make flexible decisions on broadcast program selection.
Also, the present invention can be applied to television broadcast programs other than sports broadcast programs. The invention may also be applied in the context of music, movies and news selection, for example. Fig. 19 shows a user interface for navigating between titles in a recorded news program. In this example, the recorded news programs are indexed as described above, including an index of news items or segments that have different origins. In a preferred embodiment, the associated title and brief description of the news item is also provided in the index file sent to the user system. As shown, the news playback application forms a display screen 1900 that may be divided into a television viewing window 1910, an advertising area 1912, and a title directory area 1914. The title directory area 1914 is further divided into a "My News titles" directory 1916 and a "News titles" directory 1918. Thus, the news playback application forms a list of news items that have been entered previously according to the user's preferences. In this way, the playback application may sort the news items in various ways. For example, a user may determine all news items related to a certain company or industry. Alternatively, news items related to a certain subject matter (such as 9/11/2001) may be determined. This is easily accomplished by matching the user's preferences to the control tag entries inserted into the indexed data (as described above).
When the user selects a title in the directory, such as news title 1920, the description associated with the title will appear in a region 1922 next to the television viewing window. As in the above-described embodiment, the title entry corresponds to a position in the video file with respect to the front and back contents (i.e., the start of the news entry in the program). Selecting one of the titles in the directory may cause the viewer to jump to the corresponding entry in the recorded news program.
Fig. 20 shows a user interface for guiding between recorded music videos. In this example, broadcast programs for various music video channels may be stored and processed by the user system. To play back the desired recorded video content, the music video playback application forms a display screen 2000 that includes a television viewing window 2010, a music genre selection bar 2012, and a playlist 2014 for determining the available music videos of the selected genre. The playlists 2014 may be sorted in various ways, such as by artist. As with news playback applications, when a user selects a video title in an entry, the description associated with that title is also preferably displayed in the viewing area 2016. The application also displays an additional button or interface (such as a "buy" button 2018) so that the user can make purchases at their will. Thus, the music video playback application forms a catalog of videos that may also be categorized by genre and/or user's preferences. This feature may also be implemented by matching genre types and/or user preferences with control tag entries inserted into the indexed data (as described above). When the user selects a music video in the catalog, the description relating to that video will appear in the area 2022 next to the television viewing window. As in the above-described embodiment, the video name corresponds to a position in the video file related to the front and rear contents (i.e., the start point of the video recording). Selecting one of the music videos in the catalog may cause the viewer to jump to the corresponding entry in the recording.
Fig. 21 shows a user interface for guiding between movie trailers and other offerings. In this example, the movie trailer application associates various trailers with a table of names. The trailer application forms a display screen 2100 that may be divided into a television viewing window 2110, an entertainment type selection bar 2112 and a movie directory area 2114. When the user selects a movie title, the description associated with that title appears in the area 2116 next to the television viewing window. This application allows the user to select movies and other entertainment in an "on-demand" manner. The movie trailer application may also display additional buttons or interfaces (such as a "buy" button 2118) so that the user may make a purchase.
Various advantages and features are derived from the present invention. In existing systems, electronic broadcast program data and other information is only statically displayed to viewers. This information is separate from the broadcast television broadcast program. Instead, the present invention combines this data with real-time data to provide the viewer with up-to-date information. As described above, such real-time information may include alerts that sporting events are entering a overtime or are otherwise prolonged. In addition to informing viewers of the broadcast program of interest, this information may be used to extend the recording of the event or to remind the user to switch to the sporting event. In addition, the use of television controls also allows multiple video signals to be viewed and toggled between. These controls can be used to pause, replay and skip over portions of the program being broadcast. This feature allows the viewer the option of viewing only the indexed highlights and/or other features, which generally enhances the viewing experience.
The invention thus makes it possible to integrate the content and metadata of a plurality of television programs into one or more normalized content streams. In another aspect, known program enhancement modes are provided in different content representations in a plurality of content streams associated with a particular program. These known enhancement modes cannot be aggregated due to the stream retrieval overhead that may be required.
The invention is particularly applicable to applications where broadcast programs of a particular type are aggregated, screened in some way, and provided to viewers. In the above embodiments, information about a subject matter or subject (such as a currently available sporting event) is aggregated and then provided to the user. The present invention may also be used to aggregate and display information about available music programs and even other content, such as available movies or news items. Accordingly, an enhanced television service has been described that meets the above objectives. It should be understood, however, that the foregoing is not limited to the best mode presently contemplated for carrying out the present invention. It will be apparent that various modifications may be made to the invention, with the attainment of some or all of its advantages. Furthermore, the present invention does not intend for each and every feature or aspect described above or combination thereof to be required, because, in many cases, certain features and aspects are not essential to the implementation of other features and aspects. Accordingly, the invention is not to be restricted except in light of the attached claims and their equivalents, which are intended to cover such other changes and modifications as are within the spirit and scope of the invention.
Claims (33)
1. A system for digital recording and playback of a broadcast television broadcast program in a network environment having at least one client system and a broadcast server coupled to said network environment, wherein said network environment is a distributed environment capable of delivering broadcast television broadcast programs, said system comprising:
means for enabling the client system to receive broadcast television broadcast programs and to receive dynamic content containing a plurality of program indices, wherein the program indices correspond to predetermined timestamps for at least one of the broadcast television broadcast programs;
means for causing the client system to store at least a portion of the broadcast television broadcast program as at least one program segment in a storage medium;
means for associating one of the program indices with at least one program segment;
means for searching the at least one program segment based on the associated program index; and
means for causing said client system to display the at least one broadcast television program segment.
2. The system of claim 1, wherein the dynamic content includes control data associating the dynamic content with at least one user interface.
3. The system of claim 2, further comprising: means for forming a plurality of program segments from the program index.
4. The system of claim 3, further comprising means for automatically skipping from the end of the first programming segment to the start of the second programming segment in a skip forward operation.
5. The system of claim 4, further comprising means for automatically skipping back from the end of the second program segment to the start of the first program segment in a skip back operation.
6. The system of claim 1, wherein the dynamic content received by the client system further comprises an event-based indicator, and wherein the system further comprises means for adjusting a recording time of the television program based on the event-based indicator.
7. The system of claim 6, wherein the system includes means for extending the recording time based on the event-based indicator.
8. The system of claim 6, wherein the system further comprises means for shortening the recording time of the television program based on the event-based indicator.
9. The system of claim 1, wherein the dynamic content received by the client system further comprises an event-based indicator, and wherein the system further comprises means for causing the client system to automatically record the television program in response to receiving the event-based indicator.
10. A method of forming a digital video recording enhancement of a television program for use in a digital recording and playback system for television programs, comprising the steps of:
forming a program event record index for marking events in a program that meet program specific rules;
forming one or more control files associated with the program event record index to facilitate receiving user input at the client system; and
the program event record index and the one or more control files are transmitted to the client system to enable the client system to perform intelligent screening based on processing of the program event record index in response to user input.
11. The method of claim 10, wherein a program event record index is formed as the television program is broadcast.
12. The method of claim 11, wherein the program event record index is transmitted to the client system in real time as the program is broadcast.
13. The method of claim 11, wherein the program recording index is transmitted to the client system after recording a show.
14. The method of claim 10, wherein the program specific rules relate to sporting events.
15. The method of claim 14, wherein the program specific rules relate to football.
16. The method of claim 10, wherein the program specific rules relate to news events.
17. The method of claim 10, wherein the program specific rules relate to televised music programs.
18. The method of claim 10, wherein the program specific rules relate to televised movies.
19. The method of claim 10, wherein the program specific rules relate to preview programs.
20. The method of claim 10, wherein the program specific rules relate to information advertisements.
21. The method of claim 12, wherein the event record index is transmitted in a format that enables the client system to define a plurality of playback modes of operation.
22. The method of claim 10, wherein the program event record index is formatted in an extensible markup language.
23. The method of claim 10, wherein the program event record index is transmitted to the client system in a batch.
24. The method of claim 12 wherein additional versions of the program recording index are transmitted to the client system in batches.
25. The method of claim 12, wherein the event record index is transmitted in a peer-to-peer network environment.
26. The method of claim 12, wherein the one or more control files are used by the client system to form a playback application.
27. A method for processing video recording enhancements in a client system adapted to receive television broadcast programs for a digital recording and playback system, comprising the steps of:
receiving a television broadcast program;
storing the television broadcast program as a recorded program;
receiving a program event index derived from one or more defined rules applied to a television broadcast program; and
the program event index is associated with a corresponding segment in the recorded program.
28. The method of claim 27, wherein at least one of the plurality of defined rules requires that an event record be captured upon the occurrence of an action in the television broadcast.
29. A method for use in a digital recording and playback system, comprising the steps of:
receiving enhanced content related to a digitally recorded broadcast program;
receiving index information related to a digitally recorded broadcast program;
associating the enhanced content with the index information;
forming a playback application from enhanced content containing functionality for forming an interactive user interface on a video display;
displaying an interactive user interface on the video display containing at least one selector button;
causing the entertainment system to automatically seek out at least one of the plurality of indices in response to a viewer selection of the selector button; and
displaying the digital recording broadcast program corresponding to the at least one found index.
30. The method of claim 29, further comprising the steps of: a broadcast television broadcast program is recorded while the interactive user interface is displayed.
31. The method of claim 29, wherein the playback application includes markup language files, graphics files, image files, script files, index files, and other data.
32. The method of claim 29, wherein the steps of receiving the enhanced content and receiving the index information occur after the broadcast program is broadcast.
33. The method of claim 29, wherein the steps of receiving the enhanced content and receiving the index information occur during broadcast of the broadcast program.
Applications Claiming Priority (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US27313901P | 2001-03-02 | 2001-03-02 | |
| US60/273,139 | 2001-03-02 | ||
| US09/903,973 US20020157099A1 (en) | 2001-03-02 | 2001-07-12 | Enhanced television service |
| US09/903,973 | 2001-07-12 | ||
| US10/052,111 US20020166123A1 (en) | 2001-03-02 | 2002-01-17 | Enhanced television services for digital video recording and playback |
| US10/052,111 | 2002-01-17 | ||
| PCT/US2002/005984 WO2002071749A1 (en) | 2001-03-02 | 2002-02-27 | Enhanced television services for digital video recording and playback |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1059521A1 HK1059521A1 (en) | 2004-07-02 |
| HK1059521B true HK1059521B (en) | 2009-05-15 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN100420293C (en) | Enhanced TV Services for Digital Video Recording and Playback | |
| EP1237371B1 (en) | Enhanced television service | |
| US20020157101A1 (en) | System for creating and delivering enhanced television services | |
| US8042136B2 (en) | Information processing apparatus and information processing method, and computer program | |
| US10057605B2 (en) | Systems and methods for caching data in media-on-demand systems | |
| US6263501B1 (en) | Systems and methods for linking television viewers with advertisers and broadcasters | |
| US8850477B2 (en) | Systems and methods for linking television viewers with advertisers and broadcasters | |
| CN102883191B (en) | The system and method for following the tracks of for the collection of drama in interactive media environment | |
| CN101540875B (en) | Client-server electronic program guide | |
| JP4724343B2 (en) | Interactive TV program guide system with list item groups | |
| US20030023975A1 (en) | Enhanced music services for television | |
| US20020170068A1 (en) | Virtual and condensed television programs | |
| CN101681371A (en) | Multimedia content search and record scheduling system | |
| NZ503002A (en) | Advanced television system with memory and recording and playback options | |
| KR20030036149A (en) | Systems and methods for improved audience measuring | |
| HK1059521B (en) | Enhanced television services for digital video recording and playback | |
| HK1183356B (en) | Multimedia content search and recording scheduling system | |
| HK1136665B (en) | Multimedia content search and recording scheduling system |