Abstract:
A computer and internet-based system and method for programming a PVR to record a particular program on an on-line programming guide, where clicking on a link in a cell in the program guide provides to a PVR or image viewer a standardized set of instructions directing the PVR or image viewer to record or display the program associated with the programming guide cell.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS  
       [0001]    This application is a continuation-in-part (CIP) application of and relates to co-pending application entitled “GUIDE WITH PROGRAM DELIVERING LINKS” having Ser. No. 09/681,275, filed on Mar. 12, 2001, which is itself a continuation-in-part application of and relates to U.S. Pat. No. 6,252,547 entitled “METHOD AND APPARATUS FOR LIMITING ACCESS TO SIGNALS DELIVERED VIA THE INTERNET”. This application also is related to co-pending application entitled “METHOD AND SYSTEM FOR PROVIDING HOUSEHOLD LEVEL TELEVISION PROGRAMMING INFORMATION”, having Ser. No. 09/681,171, which was filed on Feb. 8, 2001, and assigned to the same assignee. This application also is related to co-pending application entitled “INDIVIDUALIZED CONTENT GUIDE”, Ser. No. 09/681,172, which was also filed on Feb. 8, 2001, and assigned to the same assignee. The above-referenced applications are incorporated herein in their entirety by these references.  
     
    
     
       FIELD OF THE INVENTION  
         [0002]    The present invention generally relates to computers, and more particularly relates to computer-assisted delivery of television programming information, and even more particularly relates to methods and systems for delivering television program information to a PC to facilitate programming a personal video recorder (PVR) in an easy and efficient manner.  
         BACKGROUND OF THE INVENTION  
         [0003]    In recent years, with the proliferation of sources of television programming including conventional terrestrially broadcast TV, cable TV, and satellite-delivered TV, often an overwhelming number of programming choices exist for a consumer. Consumers often desire to have a guide which only shows the programming choices available at various selected time slots. The magazine, TV Guide, is one well-known example of such a printed programming guide.  
           [0004]    TV Guide Online is an example of a web-based programming guide which provides a user with a programming list which is configurable using drop-down boxes or links to enable customers to switch or sort the content of the display to another source; e.g. from cable only to broadcast only, etc. Another variant of TV Guide Online is delivered to the customer over the customer&#39;s cable TV connection.  
           [0005]    While such web-based programming guides have enjoyed success in the past, they have some drawbacks. First of all, the web-based TV Guide Online generally requires the user to switch from a computer to a video cassette recorder (VCR) or a Personal Video Recorder (PVR) and to remember the channel number, start and stop times and more importantly, remember the particular procedure necessary to program the recorder to record a television program in the future. Some PCs have had PCTV boards therein which allow a PC user to watch television and to record programs, but the TV Guide Online user would still be required to switch between computer programs (one for viewing TV and another for browsing the internet), then remember the channel, start and stop time, and then program the PCTV board to record the correct channel at the desired time. The TV Guide Online programming guide, which is delivered along with cable TV services, does not provide any information to a PC, and it does not provide information to cable users about broadcast stations unless they are included in the package of channels delivered via cable TV.  
           [0006]    Other systems exist which provide for recording of television programming. TiVo, Replay TV and Ultimate TV are examples of digital television recorders. However, these systems are generally associated with television sets and not with PCs and PCs having PCDT or PCTV cards therein.  
           [0007]    Guide Plus (Gemstar) is an Internet-enabled, but not web-based, program guide that provides PVR integration with ATI PCTV cards. It is believed to require custom driver modules to support additional PCTV cards.  
           [0008]    Guide Plus is also believed to be a Windows-only program. Guide Plus is an “off-line” program guide that stores data locally and only goes on-line to get data updates.  
           [0009]    Consequently, there exists a need for improved methods and systems for facilitating the selection and programming of a video recorder in an easy and efficient manner.  
         SUMMARY OF THE INVENTION  
         [0010]    It is an object of the present invention to provide a system and method for providing TV programming information to a video recorder in an efficient manner.  
           [0011]    It is a feature of the present invention to include a PC coupled to a television tuner and having PVR software and to program or schedule the PVR software to record a particular future program when a viewer, using a web-based program guide, clicks on a PVR icon in a program listing for that particular future program.  
           [0012]    It is an advantage of the present invention to achieve improved efficiency in delivery of programming and programming information to PC users.  
           [0013]    It is another advantage of the present invention to provide for a clean separation between the production of scheduling data and the use of that data by numerous users working on varied browsers, operating systems and hardware platforms.  
           [0014]    The present invention is an apparatus and method for programming a video recorder, which is designed to satisfy the aforementioned needs, provide the previously stated objects, include the above-listed features, and achieve the already articulated advantages. The present invention is carried out in a “wasted time-less” manner in a sense that the time consumed by a PC user in transferring web-based programming information to a PVR and programming thereon a future program to be recorded, has been greatly reduced. The time spent by video recorder manufacturers to support recording from a web-based program guide is also reduced.  
           [0015]    Accordingly, the present invention is a system and method for scheduling or programming a video recorder to record programs listed on an on-line programming guide, PVR software associated with the video recorder which recognizes and utilizes for programming the video recorder, a standardized scheduling message format provided by an on-line programming guide.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0016]    The invention may be more fully understood by reading the following description of the preferred embodiments of the invention, in conjunction with the appended drawings wherein:  
         [0017]    [0017]FIG. 1 is a simplified view of a system of the present invention, which PC of the present invention has a PCTV board and has a programming guide display thereon, with the PVR icon displayed therein.  
         [0018]    [0018]FIG. 2 is a simplified view of a display screen of the programming guide of the present invention, which includes the PVR icon.  
         [0019]    [0019]FIG. 3 is a simplified view of the structure of the system of the present invention.  
         [0020]    [0020]FIG. 4 is a simplified view of the interface between an internet browser containing the programming information, a television tuner card, and various other application software.  
     
    
     DETAILED DESCRIPTION  
       [0021]    Now referring to the drawings wherein like numerals refer to like matter throughout, and more specifically referring to FIG. 1, there is shown a system generally designated  100 , which includes a user PC  302 , which includes a PC display device  102 , which could be any type of display device capable of viewing web pages or portions thereof PC display device  102  is coupled to microprocessor  104  and display drivers  106  in a well-known manner. Microprocessor  104  has coupled thereto: a memory  108 , data storage drivers  110 , and a PCTV expansion board  112 . PCTV expansion board  112  can be an ISA, PCI or other type of expansion card, or it may be any type of circuitry which performs the function of tuning a television receiver within a PC. Throughout this document, PCTV expansion board  112  shall be read to include any type of device, software or circuitry which is coupled to a PC either internally as an expansion card or externally as through a USB or other port. PCDT expansion board should also be read to include conventional television or video cassette recorder coupled to a PC via a computer controlled infrared remote or similar device. It is expected that in the future, TV tuner functionality may be added to motherboards, much like Ethernet support has moved from expansion cards to motherboards. (At this point, it is both a PC with TV and a TV with computer). PCTV expansion board  112  ( 501  in FIG. 4) may have a PCTV board memory section  114  (driver  502  in FIG. 4) therein which includes dedicated memory. The “driver” may be in two pieces: an optional or standard on-board “firmware” piece; and an operating system driver. The first may be resident on the board, and the latter may be resident in main memory. An input/output function  116  is shown in FIG. 1 as coupling various external devices and/or I/O devices, such as broadcast television antenna  118 , mouse  122 , coaxial antenna cable  124 , network connection jack  126 , and keyboard  120 . These may be coupled to the microprocessor  104  or the other components in any functional manner. Coaxial antenna cable  124  can be coupled to a source of cable television (CATV) or a satellite receiver or other source of television signals.  
         [0022]    In general, PCTV expansion board  112  can be used to receive television signals from either broadcast television antenna  118  or coaxial antenna cable  124  or other source. PCTV expansion board  112  actually demodulates the television signal, just as would a receiver in a conventional television set. The demodulated signal is then provided to the PC display device  102  with the assistance of microprocessor  104  and display drivers  106  and other related hardware and software where appropriate. PCTV expansion board  112  preferably is an off-the-shelf PCTV expansion card.  
         [0023]    It should be understood that all of the client-side components (PC, PCTV board, PVR software, browser, etc.) are commercially available. For the purposes of this description, the PC, for example, may be a black box. The present invention is not intended to be limited to how a particular PC works; in fact, there could be major architectural changes to the PC, and it should not affect the present invention.  
         [0024]    Now referring to FIG. 2, there is shown a program guide of the present invention generally designated  200 , having a channel number column  202 , call letters column  204 , and a plurality of time slot columns  206 . Also shown is a programming cell  208  which is disposed in one of the time slot columns  206  and is associated with a particular channel number. Programming cell  208  includes information therein relating to a program which is associated with a particular time slot column and a particular channel number. More specifically, programming cell  208  may be in the form of a hypertext link which, when clicked by a user of user PC  302 , will result in a detailed description of the program being displayed on the PC display device  102 . Additionally, programming cell  208  may include an icon  209 , which, when clicked, programs the virtual VCR application  701  (FIG. 4), to record the program whose listing is displayed in the programming cell  208 . Virtual VCR application  701  will be referred to throughout this discussion as “PVR software” or “PVR application”. The PVR software is well known in the art and is commercially available from numerous suppliers of PCTV boards such as the PCTV board  112  shown in FIG. 1. Icon  209  is shown as resembling a VCR tape; however, any type of icon could be used as well.  
         [0025]    This act of clicking on icon  209  in a programming cell  208  of a programming guide and thereby automatically scheduling for later recording the program listed in that programming cell  208 , is a key aspect of the present invention.  
         [0026]    There are numerous ways that the scheduling for recording of a selected program could be automated. One way of achieving this result will be described below while referring to FIGS. 1, 3, and  4 .  
         [0027]    First of all, when a user clicks on the icon  209 , the browser  401  on PC  302  (which browser is well known in the art and can reside in memory  108 , on data storage  110  and be executed by microprocessor  104 ) sends a request to the World Wide Web (WWW) server (the providing computer  306  of FIG. 3) hosting the program guide application [To clarify: the WWW server hosts the application that produces the HTML/JavaScript/TVPI documents. The HTML document is sent to the browser which renders it to produce the program guide  200 ]. The WWW server responds over the Internet  304 , sending a TVPI document for the specific program requested to the client browser  401  on PC  302 . The HTTP response that contains the TVPI document has a MIME content-type header of “application/x-tv-program-info”. The browser  401  looks at the content-type header (or the .TVPI file extension, depending on the type of browser) and sees that it is not a built-in type and looks for a registered browser helper application. The browser  401  finds that PVR software, i.e., the virtual VCR application  701 , is associated with this content header type. The browser  401  then launches the PVR software and sends the TVPI document to the PVR software which reads the TVPI document and schedules the selected program for later recording.  
         [0028]    This notion of a browser sending certain pre-registered document types to helper applications is well known in the art. For example, it is common for many browsers to not directly open .pdf documents. Instead, the browser recognizes the document type, launches an Acrobat Reader program, which opens and processes the document for viewing. There is a variety of methods (ActiveX controls, Netscape-style browser plugins, etc.) for dealing with special document types. All are well known in the art, and the choice of which method to use is dependent on many factors, including the desired degree of browser integration and the number of supported browsers desired. The approach described above (registered browser helper application) is supported by many of the popular browsers and is believed to be the simplest to implement.  
         [0029]    The above description describes a request to a distant WWW server for the TVPI document upon clicking the icon  209 . It should be understood that an alternative approach would be to include all of the information necessary to produce the TVPI document with each program cell  208  at the time the program guide  200  is initially downloaded. While this may result in slower download times for the guide as a whole, it would speed up the process of scheduling a selected program after the program guide has been downloaded. In such cases, a Java script  402  or other applet, etc. could be used to produce the TVPI document when the icon  209  is clicked. This approach would be very useful if, for example, the client PC were programmed to request several days&#39; worth of HTML pages at once for subsequent offline operation.  
         [0030]    In the present invention, the PVR software  701  is launched by the browser  401 ; however, the TVPI document could be directed to a TV viewer application  601 , which could display a textual or graphic notification of the current programming available, and/or tune to the channel upon which the selected program will be provided. This may be done when the start time for recording is within a predetermined time period. Numerous variations of the present invention are anticipated and are intended to be covered by the claims below.  
         [0031]    Now referring to FIG. 3, there is shown a simplified view of the system  300  of the present invention, including user PC  302 , internet  304  and programming guide providing computer  306 . There would be well-known internet connections connecting the user PC  302  and the programming guide providing computer  306  with the internet  304 .  
         [0032]    Another method of delivering television programming to the PC display device  102  is in response to clicking a hypertext link in a programming cell  208  and merely linking the programming cell to a web address that is streaming the desired programming. It is expected that in the future as broadband connections become more commonplace, television programming will be more available from sites on the internet. Currently, with the use of software by Real Video or others, limited live television programming, generally news and weather and generally not network programming, is available from a few stations. It is anticipated that more programming—including network programming, sports, movies, etc.—will be available. The system and method for scheduling a PVR as described herein would be equally applicable to such programming delivery means.  
         [0033]    One of the key aspects of the present invention is the novel idea of providing a document with a registered MIME type and/or registered document extension in a predetermined standardized format to communicate the details necessary to automate the scheduling for recording by PVR software. It should be understood that documents with other MIME types or extensions, and documents which are formatted differently, could be used. The details described below are intended to be merely exemplary of the many various documents which could be used to automate the scheduling of PVR software.  
       Message Format  
       [0034]    The document will preferably consist of valid XML. The root node of the document will carry the same name as the MIME type of the document and will have a version number (1.0) as an attribute; i.e., &lt;x-tv-program-info version=“1.0”&gt;. The body of the XML document will consist of one or more program elements; each “program” element represents scheduling information for one television program. “Program” elements will contain the tokens defined below as text nodes.  
       Tokens  
       [0035]    The WWW Server  306  will send a document with one or more of the tokens described in the table below. The receiving application must assume no particular order of the tokens in the document. All times and dates are 24 hour UTC.  
                                               Possible       Token   Description   values/comments                   program   The root element for a   This node contains all           single program information   the tokens listed below.           descriptor. Several program           nodes may appear in the           same document.       station   Station call sign   Any valid call sign       tv-mode   Indicates the type of service   digital, analog, cable,           via which the requested   dbs-satellite, or datacast           program is broadcast.       program-   The name of the program,   Any string.       title   show or movie as shown on           WWW server 306       program-   The description as provided   Any string.       description   on WWW server 306       start-date   The date when the program   8-digits formatted as           starts   ccyymmdd       start-time   The time when the program   5 characters formatted           starts   as hh:mm       duration   The duration of the program   5 characters formatted               as hh:mm.       end-date   The date when the program   See start-date           will end       end-time   The time when the program   See start-time.           will end       rf-channel   The RE channel over which   Valid RF channel           the program is broadcast.   number           Paired with the tv-mode           above, should help the           PCDT tuner.       stream-number   This should help the tuner   Valid stream value.           select the proper stream in   Only supplied when tv-           case of digital broadcast.   mode value is digital or           This value may be different   datacast.           from psip-minor.       psip-major   The major channel number   Valid integer.           is as described in ASTC   Only supplied when tv-           A/65 document and   mode value is digital or           provided by WWW server   datacast           306       psip-minor   The minor channel number   Valid integer 0-999           is as described by ASTC   Only supplied when tv-           A/65 document.   mode value is digital or               datacast                  
 
       XML EXAMPLES  
       [0036]    [0036]                                                                                                                                                                                                                                                   Analog Packet       &lt;tv-program-info version=“1.0”&gt;                &lt;program&gt;                &lt;station&gt;WKPT&lt;/station&gt;           &lt;rf-channel&gt;5&lt;/rf-channel&gt;           &lt;tv-mode&gt;analog&lt;/tv-mode&gt;           &lt;program-title&gt;Friends&lt;/program-title&gt;           &lt;program-description&gt;                Description, if any, goes here.                &lt;/program-description&gt;           &lt;start-date&gt;20010512&lt;/start-date&gt;           &lt;start-time&gt;15:30&lt;/start-time&gt;           &lt;end-date&gt;20010512&lt;/end-date&gt;           &lt;end-time&gt;16:00&lt;/end-time&gt;           &lt;duration&gt;00:30&lt;/duration&gt;                &lt;/program&gt;            &lt;/tv-program-info&gt;       Digital Packet       &lt;tv-program-info version=“1.0”&gt;                &lt;program&gt;                &lt;station&gt;WKPT-DT&lt;/station&gt;           &lt;rf-channel&gt;43&lt;/rf-channel&gt;           &lt;stream-number&gt;1&lt;/stream-number&gt;           &lt;tv-mode&gt;digital&lt;/tv-mode&gt;           &lt;program-title&gt;Friends&lt;/program-title&gt;           &lt;program-description&gt;                Description, if any, goes here.                &lt;/program-description&gt;           &lt;start-date&gt;20010512&lt;/start-date&gt;           &lt;start-time&gt;21:00&lt;/start-time&gt;           &lt;end-date&gt;20010512&lt;/end-date&gt;           &lt;end-time&gt;21:30&lt;/end-time&gt;           &lt;duration&gt;00:30&lt;/duration&gt;           &lt;psip-major&gt;5&lt;/psip-major&gt;           &lt;psip-minor&gt;1&lt;/psip-minor&gt;                &lt;/program&gt;            &lt;/tv-program-info&gt;       Analog Packet -- Multiple Programs       &lt;tv-program-info version=“1.0”&gt;                &lt;program&gt;                &lt;station&gt;WKPT&lt;/station&gt;           &lt;rf-channel&gt;5&lt;/rf-channel&gt;           &lt;tv-mode&gt;analog&lt;/tv-mode&gt;           &lt;program-title&gt;Friends&lt;/program-title&gt;           &lt;program-description&gt;                Description, if any, goes here.                &lt;/program-description&gt;           &lt;start-date&gt;20010512&lt;/start-date&gt;           &lt;start-time&gt;15:30&lt;/start-time&gt;           &lt;end-date&gt;20010512&lt;/end-date&gt;           &lt;end-time&gt;16:30&lt;/end-time&gt;           &lt;duration&gt;00:30&lt;/duration&gt;                &lt;/program&gt;           &lt;program&gt;                &lt;station&gt;WKPL&lt;/station&gt;           &lt;rf-channel&gt;7&lt;/rf-channel&gt;           &lt;tv-mode&gt;analog&lt;/tv-mode&gt;           &lt;program-title&gt;Friends&lt;/program-title&gt;           &lt;program-description&gt;                Description, if any, goes here.                &lt;/program-description&gt;           &lt;start-date&gt;20010512&lt;/start-date&gt;           &lt;start-time&gt;18:00&lt;/start-time&gt;           &lt;end-date&gt;20010512&lt;/end-date&gt;           &lt;end-time&gt;18:30&lt;/end-time&gt;           &lt;duration&gt;00:30&lt;/duration&gt;                &lt;/program&gt;            &lt;/tv-program-info&gt;                    
         [0037]    Throughout this description, a standardized document is meant to refer to a document form that has been agreed upon by the guide provider and one or more PVR software providers. It does not imply that the document format has been adopted by a Standards body (although it does not preclude such adaptation).  
         [0038]    Throughout this description, reference is made to a television programming, because it is believed that the beneficial aspects of the present invention would be most readily apparent when used in connection with such programming; however, it should be understood that the present invention is not intended to be so limited and should be hereby construed to include other content, such as FM radio, digital cable radio, datacasts, etc.  
         [0039]    It is thought that the method and apparatus of the present invention will be understood from the foregoing description and that it will be apparent that various changes may be made in the form, construct steps, and arrangement of the parts and steps thereof, without departing from the spirit and scope of the invention or sacrificing all of their material advantages. The form herein described is merely a preferred exemplary embodiment thereof.