Abstract:
A method and apparatus providing display of content and automatic pause of the display. The method and apparatus exists in a client device and/or ahead-end or network operator. Event are assigned a relative priority based on event type, originator and the type of current display so that a variable response level ranging from a required viewer action to the viewer completely ignoring an event is provided.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS  
       [0001]    This patent application is related to U.S. patent application Ser. No. 09/858,436 filed on May 16, 2001, entitled “A Service Gateway for Interactive Television” which is hereby incorporated by reference in its entirety. 
     
    
     
       BACKGROUND OF THE INVENTION  
         [0002]    1. Field of the Invention  
           [0003]    The present invention relates generally to interactive television systems, and more particularly, to providing an automatic pause and possibly recording of broadcasts during servicing of specified event types and resuming playback of the broadcast after acknowledging the event.  
           [0004]    2. Summary of the Related Art  
           [0005]    Interactive television systems are capable of displaying text and graphic images in addition to typical video program streams and provide a number of services and interactive applications to viewers. Generally, a broadcast service provider generates an interactive television signal for transmission to a viewer&#39;s television. The interactive television signal includes an interactive portion consisting of application code or system information, as well as an audio-video portion consisting of a television program. The broadcast service provider combines the audio-video and interactive portions into a single signal for transmission to a receiver connected to the viewer&#39;s television. The signal is generally compressed prior to transmission and transmitted through typical broadcast channels, such as cable television (CATV) lines or direct satellite transmission systems.  
           [0006]    A set top box connected to the television controls the interactive functionality of the television. The set top box receives the signal transmitted by the broadcast service provider, separates the interactive portion from the audio-video portion, and decompresses the respective portions of the signal. The set top box uses the interactive information to execute an application while the audio-video information (after processing) is transmitted to the television, for example. The set top box may combine the audio-video information with interactive graphics or audio generated by the interactive application prior to transmitting the information to the television. The interactive graphics and audio may present additional information to the viewer or may prompt the viewer for input. The set top box may provide viewer input or other information to the broadcast service provider via a modem connection.  
           [0007]    The video, audio, and system information may be sent from a head end in various blocks of data via various transport mediums. For example, they may be sent from the head end via cable or satellite to the set top box. An example of the contents of such system information includes information regarding present or future events, services that the user of the set top box may access, and the current time and date. Examples of events include a television program (e.g., news, movie, sports), while an example of services includes a set of channels broadcast by the network (head end). Information on events is contained within an Event Information Table (EIT). This information is typically transferred from the head end to the set top box in EIT sections. These EIT tables are continuously re-broadcast by the head end due to the fact that the head end does not know when a set-top box is powered on.  
           [0008]    The interactive television environment is rich and diverse in content and sources of content. A variety of inputs are available from a variety of sources, including email, voice mail, alternative broadcasting and numerous other devices. Presently there is no known method of adequately servicing these inputs during live broadcast of a show or playback of a recorded show without either missing a portion of the show. For example, an important phone call may go unanswered while a viewer watches a three hour soccer match. Thus, there is a need for a method and apparatus that handles incoming events during live broadcasts on interactive television.  
           [0009]    The above is a brief description of some deficiencies in the prior art and advantages of the present invention. Other features, advantages, and embodiments of the invention will be apparent to those skilled in the art from the following description, drawings, and claims.  
         SUMMARY OF THE INVENTION  
         [0010]    The present invention relates primarily to the use of a set top box that automatically pauses a playback when a popup program is launched and resumes playback when the popup has exited. The present invention provides a method and apparatus for automatically pausing a video on demand program, or either a live or prerecorded broadcast of an interactive television program, or an application running on a set top box associated with the interactive television, to notify a viewer of an incoming event. The paused broadcast is recorded during the pause and is available for playback after the pause when the viewer returns from servicing or acknowledging the incoming message or event. Incoming events are assigned event identification codes and an associated priority. The present invention issues a non-obtrusive event notification during live programming for lesser priority events and interrupts playback for higher priority events. Playback of live broadcast is at variable speed so that slow motion, freeze frame and accelerated playback are available. Accelerated playback may be automatically engaged so that the playback eventually catches up to the live broadcast and recorded playback is terminated. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0011]    [0011]FIG. 1 is a diagram illustrating the distribution of interactive television applications, television programs, and system information from a source to a receiving station;  
         [0012]    [0012]FIG. 2 is a diagram of a Service Platform environment in which the present invention operates;  
         [0013]    [0013]FIG. 3 is a diagram illustrating the present invention within a set top box; and  
         [0014]    [0014]FIG. 4 is an illustration of the processing that takes place in a preferred embodiment of the present invention. 
     
    
       [0015]    Corresponding reference characters indicate corresponding parts throughout the several views of the drawings.  
       DETAILED DESCRIPTION OF THE INVENTION  
       [0016]    The following description is presented to enable one of ordinary skill in the art to make and use the present invention. Descriptions of specific embodiments and applications are provided only as examples and various modifications will be readily apparent to those skilled in the art. The general principles described herein may be applied to other embodiments and applications without departing from the scope of the invention. Thus, the present invention is not to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features described herein. For purpose of clarity, details relating to technical material that is known in the technical fields related to the invention have not been described in detail.  
         [0017]    Turning now to FIG. 1, FIG. 1 is a diagram illustrating the distribution of interactive television applications, television programs (audio and video) and system information (e.g., number of services, service names, event names, event schedules) from a source to a viewer. The system includes a head end  20 , which may be coupled with a video and audio device (not shown) that feeds a particular video with associated audio to the head end. The audio-video-interactive signal contains television programs or similar audio-video content, as well as interactive content such as control signals, system information, and interactive applications. The video information may be digitized at the head end  20  and transmitted via a transmitter to a receiving system  24 . The information transmitted by the head end  20  may be transmitted to the receiving system  24  in various ways. For example, the transmitted information may be sent to the receiving system  24  via a broadcast signal such as a satellite transmission. The receiving station  24  may also be configured to receive signals via a modem channel, cable or terrestrial air waves. The receiving system  24  may include, for example, a television  26  connected to a set top box  28 . If satellite transmission is used, the set top box  28  may include a receiving antenna  30  for receiving information from a satellite  32 . The receiving station antenna  30  passes the interactive television signal to the set top box  28 , which performs the processing functions of the receiving station  24 . Once information is received through the receiving antenna  30 , it may be processed by the set top box  28  and displayed on the television set  26 . In this manner, audio, video, and interactive data may be received and processed by the set top box  28 . The signals transmitted via the broadcast or modem channels may embody various modules which comprise components of an interactive application. The modules may contain any type of data, such as application code, raw data, or graphical information.  
         [0018]    System information provided to the set top box  28  also includes a list of services (e.g., CNN, MTV, ESPN) available to a viewer, event names (e.g., Dateline, Star Trek), and a schedule of the events (start time/date and duration). The service gateway  246  provides a communication link between the STB and service platform  50  as shown in FIG. 2.  
         [0019]    Turning now to FIG. 2, the Service Platform (SP) in which the present invention resides is presented. The present invention may alternatively reside in the STB. The SP  50  enables services  200  to interact with a client  212 . The services  200  communicate through a communication link  265  to the SP  50 . The SP  50  in turn communicates with a client  212 . The client  212  may be a STB, a digital assistant, a cellular phone, or any other communication device capable of communicating with the SP through communication link  210 .  
         [0020]    [0020]FIG. 2 illustrates an example of a preferred implementation of Service Platform  50 . Services  200  provide shopping, chat, and other services either over the Internet or over another network or communication channel accessible to the network operator. Using the SP, the network operator accesses those services. Business functions  206 , comprising service manager  238 , interact with carousel manager  254  to retrieve content from a service  200 . The carousel comprises a repeating stream of audio/video/interactive data broadcast to clients from the SP  50 . Carousel manager  254 , transaction manager  242  and service manager  238  control the content insertion and deletion from the broadcast carousel. Service content is retrieved and converted into a SP suitable format by H2O  248 . H2O  248  is a possible implementation of content conversion. H2O converts HTML content into SP/client readable content. The converted content is formatted into a data carousel and multiplexed by the Open Streamer  256  for broadcast to the client  212 . Client  212  interacts with the services and if necessary communicates with the SP and the services  200 . PTP communication goes through SGW  246 . SGW  246  performs transport conversion to convert the STB DATP protocol into a standard communication protocol which the Platform Business Agents  226  and H2O  248  understand. Client  212  and Service  200  interact via Point-to-Point link  210 . The service  200  comprises shopping, audio/video, gaming, voting, advertisement, messaging, or any other service. Interactive applications are also transmitted from the SP to the STB. User interactive inputs, to interactive programs running on the SP, are transmitted via communication link  210 .  
         [0021]    Viewer Manager  240  stores client/user information and viewer interruption scenarios (pause and playback) in User Data  220 . Platform Business Agents  226  control the flow of viewer information to the Service  200 . Transaction Manager  242  records transactional information exchanged between the service  200  and Client  212 . Based on the Business Rules  222  and the User Data  220 , Advertising Manager  244  determines which advertisements and which type of advertisements will be presented to the client via Broadcast  234  link  241  and Point-to-Point  232  link  210 . The Service Platform Transaction Manager records all transactions, including interruption, pause and playback scenarios in the Transaction and subscriber profiles in Viewer Profile  162  and Viewer Category  160  (viewer buying and viewing habits). The SP gathers the viewer habits, for example, interruption scenarios or how a viewer reacts to an interruption, for statistical purposes and stores them in the User Data  220 . The SP enables the broadcaster to determine interruption policies depending on the users interruption scenarios and the program being broadcast or replayed. The STB sends a message to the SP indicating that a particular program is being replayed to invoke the same rules of interruption that were in effect when the program was originally broadcast. An email alert or other message or trigger is sent from the STB to the SP through the SGW, for example, upon pause of the playback, to retrieve the body of the email and then pause the playback to the user at the STB. For example, after a stock broker alert, a decision to buy/sell results in a connection of the STB to the SP through the SGW  246  to executer the order.  
         [0022]    Turning now to FIG. 3, a broadcast feed  30  provides live programming, prerecorded events and head-end generated or inserted special event notifications to the set top box  28 . The Service Gateway, discussed above provides additional inputs to the STB. A hard disk storage device  102  is connected to the set top box to store data acquired from incoming broadcast feed  30  for playback. A user  104  viewing or listening to the television  26  can communicate with the set top box  28  via viewer interface  106 . Viewer interface  106  is preferably a wireless remote control with suitable viewer response buttons, suitable for making an appropriate response to an event notification, as discussed below.  
         [0023]    External inputs  108  communicate with the set top box via external input interface  110 . External inputs  108  comprise programmable signals from devices or other viewers, other than the local viewer, user  104 . These external inputs comprise signals from such household devices as phone, oven timers, baby monitors, doorbells, burglar alarms, appliances or other computers connected via networks or carriers or additional head end feeds. The present invention resides in the set top box or other user device where it receives and processes the programming and applications from the broadcast feed  30 , user input via viewer interface  106  from viewer/user  104  and external inputs  108  via interface  110 .  
         [0024]    The pause command from the user STB also pauses an interactive running on SP or STB. Pausing an interactive application comprises sending a message or signal to the application to tell the application to pause and then sending and then sending another message or signal telling the application to resume. As shown in FIG. 4, the incoming event launches a popup application and is processed according to the present invention. The present invention processes incoming events preferably with a user watching  112  an interactive audio and/or video data stream at a television (TV) with a set top box having a processor and data storage  275  or at a personal data assistant (PDA) having a processor and data storage. The user device in which the present invention operates and resides can also be a cell phone or other electronic device. The present invention may also run as a head-end application. During a playback or broadcast of a program, whether or not the viewer is watching, the present invention sends an event notification to the user device, preferably a STB with which the viewer is associated.  
         [0025]    The event notification includes an event identification code defining the type of event and a relative priority. The event can be an incoming email, a reminder for an upcoming show on TV, a phone call, or an appliance timer such as an oven timer. The priority can be assigned by the user or the head end operator or the entity originating the event. In a preferred embodiment, the incoming event is identified as to type, for example, email, phone call, reminder, etc. and assigned a priority based on the event type, the current viewing activity and the user&#39;s preferences regarding incoming messages and viewing rules. A viewer may decide to hold all calls during viewing of Seinfeld reruns. Thus, incoming events, that is, phone calls, emails, reminders, etc. are handled differently depending on who is calling and the assignment of priority to a call from that particular caller. Different callers may be assigned different priorities and handled differently depending on what program or application with which the viewer is currently engaged or is on the screen when the view is not watching.  
         [0026]    For example, event priority is compared to a table of viewer priority and preferences  116  to determine what actions are appropriate for the event. The viewer priority and preference table  116  comprises event types, event originators, viewer interruption rules and relative priorities. Appropriate responses to incoming events are determined by looking at the event type (email, phone call, etc.) and event source (stockbroker, friend, boss, mom) to determine a relative priority or by looking for an event type and priority previously programmed and stored in a priority table. The priority assignment decision further comprises consideration of interruption rules. Interruption rules determine whether the current message type and originator warrant interruption of the current program. In an alternative embodiment, the present invention further comprises a neural network. Appropriate responses to incoming events can be learned by a trained neural network provided by the present invention and executed by the present invention depending on what programming is currently being displayed at the STB, PDA or other user device. For, example, an incoming phone call from an unidentified number may be ignored, while a call from the viewer&#39;s mother causes a notification to be sent to the viewer and may even pause viewing or application running on the TV, to answer the call, depending on what the viewer is watching. Viewer preferences dictate interruption rules as to which phone numbers and email originators generate a notice only, which phone calls and emails interrupt viewing and under what circumstances. For example, a viewer may want to answer a call from his girlfriend unless he is watching soccer. In this case, the call would be unobtrusively noticed or ignored without a pause during a soccer match but would pause viewing otherwise.  
         [0027]    Processing in the present invention proceeds depending on the event priority. Based on the event priority, a preferred embodiment of the present invention will issue one of four categories of event notification, as shown in FIG. 4. For an event originated from an external input  108 , for example, the expiration of an oven timer, the user  104  will be presented with an appropriate response scenario based on the viewer preferences and interruption rules.  
         [0028]    Of primary interest is the automatic pause scenario of block  120 . Pausing is the primary processing path, that is, that path which impacts the viewer the most. This first category of notification is illustrated as block  120  in FIG. 4. When an event with a high relative priority occurs, the present invention, based on a balance between the nature of the event and the user&#39;s preferences or interests in the incoming event, the present invention will automatically pause the current broadcast and render the event to the viewer  120 . The viewer responds to the event via a voice or digital command from a remote control, or by simply walking out of, or back into the room and being sensed by a motion sensor or camera/image recognition system provided by the present invention. Motion sensors (not shown) and cameras are well known in the art and are provided in an alternative embodiment of the present invention as an option in the STB.  
         [0029]    For example, given a very high event priority, the present invention will automatically pause the live broadcast when an oven timer times out, so that the viewer can run to the oven, take the roast out and then resume viewing the recorded portion of the live broadcast in time-shifted mode upon returning without missing anything. That is, the recorded portion of the live program, recorded during the pause, is played back after the automatic pause to enable the viewer time to respond to the oven time out and resume viewing without missing any part of his program. The recorded program segment that was recorded during the pause, is played back when the viewer returns from the oven and clicks in a resume command with the STB to indicate he or she is now ready to begin watching the rest of the program, at the point where the program was paused. In an alternative embodiment, the viewer&#39;s departure and return are also detected with a motion detector, an infrared scanner or with a camera and associated video image recognition system. When the viewer leaves and reenters the room, playback resumes.  
         [0030]    As shown in block  122 ,  124  and  126  the present invention issues less invasive, non-obtrusive notifications for events having a lesser priority than the primary events processed by block  120 . Block  126  issues a non-obtrusive event notification that may be audio or visual or both. In any case, the non-obtrusive event notification is superimposed over the uninterrupted current program, be it a prerecorded or live broadcast or an application. It is at the viewer&#39;s discretion as to what further action, if any, is taken once the program is paused. The non-obtrusive event notification can simply be ignored by the viewer and will time out and expire, unless its event relative priority is high enough to warrant retrying with additional emphasis. Events that are ignored with a medium-low priority expire. Initially ignored events, with a medium-high priority are first intensified before expiring. Typical visual notification are graphical popups that are surimposed on the video program and/or interactive content of the program. Visual or aural intensification is accomplished in a preferred embodiment by adding audio to a visual notification; adding visual notice to an audio notification; enlarging, brightening, reversing color, or flashing a visual notification; or increasing volume for an audio notification, until the event is acknowledged or times out. Timed-out events either expire or are placed in a pending queue by placing the timed-out event in a retry queue, depending on priority. An event having a medium-high priority is placed in the retry queue while a lower priority event expires and is not placed in the retry queue.  
         [0031]    In a preferred embodiment, the stored program and subsequent time delayed broadcast can be replayed at an accelerated pace to catch up to view live broadcast and eliminate any time delay between the viewer and the live broadcast. For example, if a viewer is watching world cup soccer and has to take a five-minute break to service an oven timer timeout notification, the viewer may resume watching the soccer game when he returns. By selecting accelerated playback, that portion of the live broadcast that occurred during the viewer&#39;s absence is played back at an accelerated pace to make up the five-minute lag between the viewer and the live broadcast. Thus, the five-minute segment of recorded live broadcast can be played back in, for example, two and one-half minutes. That portion of the live or prerecorded broadcast that occurs during the accelerated playback is also stored for accelerated playback until the accelerated playback catches up to the live broadcast.  
         [0032]    In an alternative embodiment, the present invention calculates the optimal acceleration rate by sensing the duration of the pause, the remaining duration of the program and calculating an optimal acceleration rate. The duration of the program is determined from the start time and duration information retrieved from the System Information. The elapsed time is the difference between the start time and the current time. The remaining duration is calculated by subtracting the elapsed time from the total program duration. To determine the optimal amount of acceleration required to catch up to live broadcast, the present invention assumes a default maximum acceleration value of 100%. This maximum acceleration value is programmable and can be adjusted by the viewer. Applying this value, after a five-minute pause, if there are more two and one-half minutes to five minutes remaining in the program, the present invention would apply the maximum playback acceleration rate to catch up to live programming in two and one-half minutes. Accelerated playback enables catching up playback to a live or real-time broadcast which accomplishes at least two objectives: (1) it enables the viewer to see the live ending of a live program without delay (for example the last five minutes of the super bowl football game) and (2) it enables a prerecorded program to end on time so that it does not overlap a subsequent program. The playback automatically accelerates unless deselected by the viewer. If there are more than ten minutes remaining the program a slower acceleration rate of 50% is applied. If there are more than thirty minutes remaining in the program, a still slower acceleration rate of 25% is used. Different playback acceleration rates can be applied to different types of programming. For example, faster rates for live programming, where catching up quickly to see live action is imperative, and slower rates for prerecorded programming where the program just needs to end on time.  
         [0033]    As shown in block  128 , the user response to a Non-obtrusive Notification  126  is preferably generated from a viewer&#39;s remote control button, from a voice command, or from a time out parameter. When a time out occurs, the event notification terminates, placed in a pending status and the present invention may retry the notification later. The remaining duration of the broadcast determines how often and at what time retries will be attempted. If five minutes are left, a single retry will occur at the three minutes remaining mark. If thirty minutes are left in the program, three retries, one every five minutes will be attempted. The amount of retries and time or retry attempts is programmable and depends on message type, priority and interruption rules. After the user response the present invention proceeds to either block  130  Do Nothing, block  132  Do Something or block  134  Go to New Action.  
         [0034]    In block  130  Do Nothing, the viewer does not respond, the event is simply placed in a pending queue and no further action is taken until timeouts occur and pended events are reevaluated to retry or expire. The viewer does nothing and programming continues uninterrupted. Certain medium-low priority events are allowed to expire after a programmable number of retries. Certain medium-high priority events are retried until acknowledged or a second retry time out value is exceeded, upon which occurrence the event notification expires. In block  132  the preferred embodiment of the present invention initiates a programmable response. In this case, playback of recorded programming broadcast, recorded during the pause resumes after the viewer acknowledges the event notification. The viewer can choose to resume viewing in real time and skip playback of recorded programming recorded during the pause. In block  134  the preferred embodiment goes to a new action. This new action might be to send a hardware command to a household device, such as turning off the oven or turning on a burglar alarm. In this case, playback of programming recorded during the pause, resumes after the viewer acknowledges the event notification.  
         [0035]    All incoming events requesting resources are processed by process Check Resource Availability  118 . The viewer priority and preferences  116  are factored into the event relative priority, so that an event identification indicating an urgent notice from his stockbroker to sell immediately, interrupts at a high priority and a reminder from the dentist does not, based on the preferences and priorities the viewer chooses. In that case, the dentist remainder popup would be interrupted by the stock broker alert, while if the stock broker alert was displayed first, the dentist remainder would wait (put in a pending event queue) until the user is done with the stock broker alert. Viewers can assign special codes to indicate urgency, which can given to an email originator who can use the code to get special attention or handling for a message. An urgency code can be inserted into an incoming event, for example, an email subject line or message header encapsulating an email and decoded for special treatment by the present invention. In a preferred embodiment, a profile of the viewer&#39;s choices is collected and utilized to assign priority to events. In an alternative embodiment, a neural network can be utilized to learn a viewer profile and generate appropriate event priorities based on the incoming event priority and the viewer profile. Event priorities  124  that require no immediate feed back and are essentially ignored by the viewer  104  as shown in block  124 . Other outputs  122  can be programmed for particular event types, for example, an oven time out can send a signal to the oven to turn it off. The user may or may not be notified when such operation occurs.  
         [0036]    The above described method and apparatus also apply to the playback of a recording (e.g. from a video cassette recorder (VCR) or a personal video recorder (PVR) which may comprise audio, video as well as interactive data. Similarly to previous embodiments, the playback may be automatically interrupted (i.e. paused) by external events. The above described method and apparatus may be implemented in a computer program product having computer codes that perform the various steps of the methods. The computer codes are preferably stored in a computer readable medium, such as CD-ROM, zip disk, floppy disk, tape, flash memory, system memory, hard drive, and data signal embodied in a carrier wave, such as over a network.  
         [0037]    Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations made to the embodiment without departing from the scope of the present invention. Accordingly, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.