# Patent

## Title
Television system with downloadable features

## Abstract

The present invention is directed to providing downloadable features, and more particularly to providing these features to identified receiving locations (50) in a television system (10). Features may be desired by the manufacturer for correcting software defects, updating software, or meeting compatibility requirements. Features may also be ordered by consumers who respond to solicitation advertisements (130) for those features. The data related to the features is compiled and sent from a main location (20) to multiple receiving locations (46, 48 and 50). The data is then stored in a memory (58) in the identified receiving locations (50), and software is used to install or operate the stored feature.

## Background
This application is a continuation of U.S. patent application Ser. No. 09/018,279, filed Feb. 4, 1998 (abandoned), which is a continuation of U.S. patent application Ser. No. 08/482,268, filed on Jun. 7, 1995 (abandoned), which is a continuation-in-part of U.S. patent application Ser. No. 08/243,598, filed on May 13, 1994, issued as U.S. Pat. No. 5,619,274, which was a continuation-in-part of U.S. patent application Ser. No. 08/239,225, filed on May 4, 1994, issued as U.S. Pat. No. 5,790,198, all of which are incorporated herein by reference in their entirety for all purposes.


BACKGROUND OF THE INVENTION
Several methods for downloading television-related information are currently available. This information is often associated with television schedule guides. Many different transmission schemes are also available for providing the information required for a television schedule guide. For example, a direct broadcast satellite system (“DUBS”) can provide television program schedule information via a satellite dish in conjunction with a set-top receiver. In addition, conventional satellite dishes, coax cable, telephone lines, fiber optic cable, antenna, etc. are often used to distribute television program schedule information. For example, the vertical blanking interval (“VBI”) withing a television channel, or an independent television channel can be used to provide the television program schedule information.
U.S. Pat. No. 5,353,121 is representative of systems which present television schedule guide information, and has found wide success in the industry. U.S. Pat. No. 5,353,121 is hereby incorporated by reference for all purposes. Additionally, U.S. patent application Ser. No. 08/423,411, filed Apr. 17, 1996, discloses many of the available transmission schemes for television information, and it is hereby incorporated by reference for all purposes.
There are also systems which allow a subscriber to select video(s) for display at the subscriber's location. One such system utilizes a touch tone telephone keypad to input the subscriber's selection(s). These systems are sometimes available on cable television, and they are often referred to as pay-per-view video systems.
Sometimes the software in a television becomes outdated, or perhaps even non-functional, due to new developments in the technology. Thus, adding new features, updating software and correcting software problems is sometimes desirable. Moreover, an incompatibility may arise due to newly-purchased units in the television system (e.g., a remote infrared code needed for a new VCR). In these situations, a serviceperson is needed to enter the consumer's home in order to perform a repair or update, or the consumer must bring or send the device to a retail location where the device can be serviced. In both of these situations, the consumer is exposed to a certain degree of inconvenience. Therefore, a more convenient way of providing this type of service is desirable. Additionally, when newly developed features are desired, consumers sometimes replace a still functioning unit with a new one in order to obtain those features.
Finally, manufacturers can communicate directly with their customers, but this communication is limited and costly. For example, a manufacturer can send out a mailing, make a phone call, distribute advertisements, or broadcast a commercial. While a manufacturer can direct mailings and telephone calls to consumers who have purchased a particular product, they cannot direct their television commercials in the same manner. Therefore, a system which allows for advertisements to be placed on certain consumer's televisions is desirable. Moreover, as set forth above, a system which allows manufacturers to update, replace or add television system software without the need for a repairperson is also desirable.
SUMMARY OF THE INVENTION
In the preferred embodiment, the present invention is directed to providing downloadable features, and more particularly to providing these features to identified receiving locations in a television system. Features may be desired by the manufacturer for (1) correcting software defects, (2) adding or updating software, or (3) meeting compatibility requirements. Features may also be ordered by consumers who respond to solicitations or advertisements for these features in response to advertising in the television system. For example, advertisements can be electronically delivered via a network to specific consumer's televisions (or other electronic products) based on the products' electronic serial number. These features can also add functionality to a television system. The data related to these features are compiled and sent from a main location to consumer's electronic products (e.g., televisions) in multiple receiving locations. The data are then stored in the identified receiving locations, and software is used to install the stored feature. This storing is usually done in a non-volatile or flash RAM. Each of the receiving locations has a receiver, a memory, and a processor. The receiver receives data associated with the features. These data include an identifier which identifies at least one of the receiving locations. The memory at each receiving location only stores the received data when the data's identifier identifies the associated receiving location. The processor at each receiving location uses the saved data to load, save or implement the features into the receiving locations.
These and other advantages will become apparent to those skilled in this art upon a reading of the following detailed description of the invention, which should be taken in conjunction with the accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a system for broadcasting and receiving features;
FIG. 2 reveals the basic components of a receiving television;
FIG. 3 is a portion of a packet of data which shows the relevant feature fields; and
FIG. 4 reveals how information related to a feature is shown on the television screen, and how a remote can be used to gain additional information.



DESCRIPTION OF SPECIFIC EMBODIMENTS
Types of Features
The present invention provides a scheme for downloading features in a television system. A wide number of downloadable features are available in the present invention. These downloadable features usually fall into one of two categories. The first category includes software defect corrections, compatibility requirement fixes, and software updates or additions which are provided by television manufacturers or third party suppliers. For example, a television manufacturer may encounter software problems after a certain model of television has been sold and distributed. In order to correct this problem without disturbing the consumers who purchased the affected television models, the manufacturer can easily download new software which corrects the software problem. In this arrangement, a serviceperson/go-between is not required. In another example, infrared (“IR”) codes may be incorrect or obsolete. IR codes can be used to allow interaction between a television and a VCR with a single remote control. Therefore, the correct IR codes are needed for a television remote control to control both a television and a VCR. In this scenario, the manufacturer can easily download new IR codes so that the consumer can use their existing television remote control to control a newly purchased or previously incompatible VCR, set-top box, etc. Again, a serviceperson is not required and the remote control or product does not need to be sent in for service.
In the second category of features, the consumer chooses which features they wish to have downloaded into or enabled in their television system. For example, the consumer may want enhancements to their user interface such that their television on-screen menu or guide contains more options. Other examples of these types of features include (1) picture-in-picture enhancements, (2) channel identification in a picture-in-picture screen, (3) the display of graphic network logos and icons with channel identification on the screen, (4) extended data service (EDS) enhancements, (5) stock quotation services, (6) virtual channel services, (7) news services, (8) weather services, and (9) sports score services.
Many of the above-identified features are already present in a television as sold, and only need to be enabled in the television system. For example, when a user selects to have the icon with the channel identification displayed, this icon is displayed in the upper left-hand corner whenever the user switches to a new channel. These icons with channel identification are usually included in the ROM of the televisions when the televisions are sold, but the icons are only activated when the proper software is present. The present invention allows this software to be easily downloaded at a later time. The downloaded software can also be used to provide additional icons for new networks.
Finally, advertisements for available features may be sent to a consumer or a group of consumers. The advertisements and information related to these advertisements can be viewed on any device with a screen (e.g., a television or a computer monitor).
Hardware Configuration
FIG. 1 is a system for broadcasting and receiving features. In the preferred embodiment, data associated with the above-described features are compiled in main location 20. Main location 20 may be, for example, a television manufacturer, a guide provider, or the like. The data are then sent over communication line 22 to distribution location 30. Line 22 can be any form of medium. In the preferred embodiment, line 22 is a telephone line. In an alternative embodiment, the compiled data are placed on a laser disk, video tape or compact disk, and sent to distribution location 30 via overnight mail or courier.
In the preferred embodiment, distribution location 30 works in conjunction with satellite 40 to broadcast data to receiving locations 46, 48 and 50. The data, in the preferred embodiment, are transported on the vertical blanking interval (“VBI”) of a certain dedicated channel. As an alternative, the data can be broadcast on a dedicated television or radio frequency channel, with or without other data. The data can also be broadcast in a hi-speed digital environment. In the preferred embodiment, the broadcast is done every night, so the receiving locations can be programmed to receive and, if needed, save the received data. Receiving locations 46, 48 and 50 include, for example, VCR(s) 46, miscellaneous box(es) 48 and television(s) 50. Miscellaneous box 48 could be, for example, a set-top box (e.g., a cable box) or a TVCR (television and VCR combined into one unit). In the preferred embodiment, the receiving locations are multiple televisions 50 and VCRs 46 located within households. These receiving locations 46, 48 and/or 50 could be linked to other devices/products in order to provide updates or downloads of data to those other devices/products.
In another embodiment of the present invention, data associated with the above-described features are compiled in main location 20 and placed on a computer disk (e.g., laser disk, compact disk, floppy disk, or the like). This disk is then sent, in the preferred embodiment, via overnight mail to consumers located at receiving locations 46, 48 and/or 50. The consumer can then insert the computer disk into computer storage device 52 in order to download the data related to the above-described features into the memory within one of the receiving locations 50. Computer storage device 52 can be any commercially available disk drive. In yet another embodiment, data can be provided on a video cassette tape (or other similar media) which is then shipped to the consumer via overnight mail, so that the consumer can use their VCR 46 to download the data related to their selected feature. In this arrangement, data is read from the VBI of the video tape. Finally, the compiled data can be sent via transmission line 42. Transmission line 42 may be, for example, coax cable, telephone lines, fiber optic cable, terrestrial antenna, or the like.
When data are broadcast, as shown in the first embodiment, the data contains an indicator address which indicates at least one of the available receiving locations 46, 48 and/or 50 within system 10. As stated above, these receiving locations 46, 48 and 50 can be, for example, television, VCRs, set-top boxes, TVCRs and/or the like. Thus, a certain feature can be sent to all televisions manufactured by a particular manufacturer by placing an indicator address in the associated data which indicates such manufacturers. Each of the receiving locations 46, 48 and 50 have an exclusive identification number. This identification number, in the preferred embodiment, has sub-identification fields which include: (1) TV brand, (2) model/series number, (3) customer serial number, and (4) region number. When data are received by one of the receiving locations 46, 48 or 50, the indicator address in that data is read. If the indicator address matches the appropriate portion(s) of the identification number for one of receiving locations 46, 48 or 50, then data associated with that indicator address is saved within corresponding receiving location 46, 48 or 50. Each indicator address subfield can contain a wildcard indicator which identifies all categories which can be indicated in that subfield. For example, if the customer serial number subfield contains a wildcard indicator, all customers with the indicated television brand, etc., will save the associated data. Therefore, the indicator address can be structured to identify a specific unit, a specific model or serial number group, a specific brand, a specific production or date run, or a specific product type (i.e., television, TVCR, VCR, or set-top box)
FIG. 2 reveals the basic components of a receiving television. As stated above, in the preferred embodiment, the receiving locations are televisions 50. The broadcast data are received by tuner 54, video processor 60 and data decoder 61, within television 50. In order to receive the broadcast data, microprocessor 62 causes tuner 54 to tune to the channel which carries the feature related data. When the received data contains an indicator address which corresponds to the appropriate portion(s) of the television's identification number, those data are saved in RAM 58. Microprocessor 62 monitors the received data at the time of broadcast for the correct indicator address. In some embodiments, after data are saved in RAM 58, on-screen display (“OSD”) 64 displays messages related to the available features on the television screen.
RAM 58 is a non-volatile, battery backed-up, or flash memory such that a continual primary power supply is not required to maintain the RAM. RAM 58 contains a TV control section, a loader program, and an advanced program. In another embodiment, ROM 59 may contain a loader program and a TV control section. The TV control section is a basic program which allows television 50 to interact with remote control 100. Signals transmitted by remote control 100 are received by IR receiver 68. The loader program is used for changing the advanced program. The advanced program may or may not be included in the television when the television is initially purchased. The advanced program can be later added when data implementing a new feature are received, or portions of the advanced program can be replaced or enabled in order to provide a new feature when data implementing that feature is received. Thus, the data sent for implementing a feature includes advanced program data.
The hardware and software within television 50 (see FIG. 2) can also be located within VCR 46 or set-top box 48. When this occurs, the control section. (corresponding to the TV control section described above) is a VCR control section or a set-top box control section. Accordingly, features can be implemented into VCR 46 and set-top box 48 in the same manner as they are implement into television 50.
Software
FIG. 3 is a portion of a packet of data which shows the relevant feature fields of one particular embodiment of the invention. In the preferred embodiment, the data associated with the features is broadcast in a packet format. Within each packet of data, information related to at least one feature is provided. For example, in FIG. 3 a portion of a particular packet for assigning IR codes is provided.
The IR Codes command specifies the control codes to be used by the remote control in order to control a specific peripheral device. In the preferred embodiment, peripheral devices include VCRs, set-top boxes, TVCRs and televisions. Transmission of this command normally occurs when a consumer has a remote control which is incompatible with one of their peripheral devices. As with other features, IR codes may be sent either addressed to a specific unit via its serial number or to groups of units which have a given product code, device type (e.g., VCR), and/or a device ID.
The IR Codes command presented in FIG. 3 includes multiple fields. The first field, field 0, includes Command Type 70. Command Type 70 identifies the command as an Assign IR Codes command. Flag 72 is also included in field 0. Flag 72 indicates if the current command has been encrypted. Decryption Key ID 74, also included in field 0, identifies which of two current program decryption keys should be used to decrypt this command, if needed. Fields 1 and 2 contain Command Length 76. These fields provide the total number of bytes contained in this command. Fields 3 through 7 contain Serial Number 78. Serial Number 78 is the consumer unit's serial number to which the command is addressed. If Serial Number=0, then the command is addressed to all consumer units having a Product Code, Device Type, and Device ID corresponding to the one in this command.
Fields 8 and 9 include Product Code 80, and field 10 includes Interconnect Configuration 82. Interconnect Configuration 82 contains a number corresponding to the way the components controlled by the peripheral devices are connected. Field 11 contains Vendor-Specific field 84. This field includes a byte value whose use value depends upon the product to which this command is addressed. For example, when this command is addressed to a particular manufacturer's television, this value is the tuning method index to be used with the downloaded IR Codes for that specific manufacturer's television. Product Code 80 contains the number identifying the type/model of consumer unit to which this command is addressed. This number also correlates with the type of remote controller for the peripheral device. This command is ignored by the consumer unit if this number does not match its Product Code when the Serial Number field=0. In addition, this field is ignored when the Serial Number field is non-zero.
Device Type 86 identifies the type of device (VCR, cable box, TV, IRD, etc.) that can recognize the IR Codes. Device ID 88 contains the code group number for the device that recognizes the IR Codes. The consumer unit (only if it has a matching address) replaces whatever group number it currently has for the given Device Type with this number. Thus, main location 20 can directly set the code group for a specific user. This is not done if the Serial Number field in this command is 0. In this case, the command is only processed if the consumer has already entered a code number that matches the Device ID for the same Device Type.
Field 15 contains IR Version 90 which has the version number for the IR Codes in this command. The identified peripheral device saves the version number for each Device Type and only processes those assign IR Codes commands addressed to groups of consumers if its version number is greater than the previously stored version number. Thus, the system does not re-process IR Codes commands. Fields 16 and 17 include IR Codes Length 92. IR Codes Length 92 contains the number of bytes in the IR Codes Fields. If this value equals 0, then only Device ID is used to update the code group for the specified Device Type and the field with the IR Codes is empty. Therefore, no downloading occurs if this field equals 0. Fields 18 through n include the IR Codes 94. IR Codes 94 contain information (normally IR Codes) to be used by the remote control to control devices of the specified type. Structure within fields 18 through n is determined by the remote control manufacturer.
In summary, when the appropriate field within a feature packet corresponds to the appropriate portion(s) of an identification number in a receiving location, microprocessor 62 saves that packet in RAM 58. The loader program then inserts data from the appropriate fields of the feature packet into the advanced program. Thus, software in the receiving location is used in conjunction with the feature command portion of the received packet to integrate a new feature.
Television Display
In the preferred embodiment, feature related data are sent in the above-described manner under three circumstances. First, data are sent when a manufacturer wants to update a device or wants to automatically fix a software problem. Consumer interaction may not be required in this situation. Thus, the data may be downloaded into the consumer's television system without the consumer's knowledge for regular maintenance purposes. If desired, a consumer can be provided with a description of all the data downloaded into their television system. If interaction is needed, remote 100 is used as described below. Second, data are sent when a new feature is available for consumer selection. In this scenario, the data is usually in the form of an advertisement. Third, data is sent to implement a feature after the feature has been ordered/purchased by a consumer. As set forth above, these features can be utilized for VCRs, televisions, TVCRs, set-top boxes, etc. When the feature data is send to a receiving site which is not a television, a television may still be used to display information related to that feature.
FIG. 4 reveals how information related to a feature is shown on the television screen, and how a remote can be used to gain additional information. In order to interact with television system 10, the consumer uses remote control 100 in response to messages on television screen 110. In the preferred embodiment, remote control buttons 102, 104 and 106 are initially blank. These buttons 102, 104 and 106 correspond to graphically-generated buttons 112, 114 and 116 on television screen 110. If the remote control sold with television 50 does not provide the required special buttons 102, 104 and 106, a new remote control can be sent to the consumer via overnight mail.
When data are sent to advertise a new feature to the consumer, a mailbox icon 120 is usually used to inform the consumer that the new feature is available for selection. A consumer can eliminate the display of the mailbox icon 120 when/if desired. The consumer can also receive more information related to a new feature by pressing any of special remote control buttons 102, 104 or 106 when prompted by generated buttons 112, 114 and 116.
In the preferred embodiment, when mailbox icon 120 is full (e.g., a flashing icon 120 may indicate a full mail box), the consumer can receive information related to a newly-available feature on television screen 110. This information may be provided as a demonstration after the consumer presses one of the special remote control buttons 102, 104 or 106. At the end of this short demonstration, the consumer is then prompted to either order the feature or to receive more information by pressing one of remote control buttons 102, 104 or 106. For example, an advertising message may include the following: “Now available to RCA TV owners—Deluxe digital picture-in-picture with network IDs! Call 1-800-STAR-NOW to order today. Just $19.95.” The consumer is also provided with a feature ID number for ordering. In addition, at any time during the demonstration related to the newly-available feature, the consumer can return to the regular television mode by pressing button 108 on remote control 100. Button 108 can be, for example, the pre-channel button on a remote control.
When data are downloaded into a television, VCR, TVCR, or cable box to provide the consumer with a consumer-ordered feature, the consumer may have to interact with the television system 10 in order to fully integrate the new feature. For example, after the feature has been downloaded into the consumer's VCR, a different mailbox icon 120 or onscreen message may be used to alert the consumer that information is required to implement the ordered feature. Again, the consumer begins the interactive process when desired by pressing any of the special remote control buttons 102, 104 or 106. Microprocessor 62 in conjunction with OSD 64 provides the necessary information on television screen 110 by using generated buttons 112, 114 and 116. These buttons solicit the required information from the consumer. The consumer responds to the various questions on television screen 110 by pressing the corresponding remote buttons 102, 104 and 106. For example, the placement and/or size of a second picture in a picture-in-picture display may need to be selected by the consumer for a picture-in-picture enhancement-type feature. Additionally, when data is downloaded to provide the consumer with a new feature (or features): (1) the new feature can be displayed almost immediately automatically, (2) the data or the new feature can be temporarily stored until the consumer requests the display of the feature, and (3) the data for multiple new features can be stored so that a group of features is later displayed at one time. If desired, consumers can select between these modes of displaying new features with remote control 100 and prompts 130 on television screen 110.
In the preferred embodiment, a telephone key pad at the consumer's location is used to order a desired feature. For example, an automated call response system may be utilized in conjunction with a touch tone keypad to receive the consumer's credit card number, consumer's identification number and the desired feature number such that the ordering can be done automatically. In an alternative embodiment, a two-way/interactive set-top box at the consumer's location is used to order the desired features with remote control 100. If this set-top box is a cable box, the cable company can then transmit the order to main location 20, and the cable company can also assist in the billing process. When ordering, the consumer's identification number may be needed so that the feature can later be saved in the correct consumer television system. This identification number is not needed in the interactive set-top box systems which can track an ordering consumer's location.
In another embodiment of the present invention, receiving location 48 is a computer, and information from an off-site database can be ordered for downloading into computer 48. For example, a particular article, news story, etc. may be advertised on an on-screen display. The customer could then order that particular article, news story, etc. for downloading into computer 48. Additionally, if desired, the consumer could order advertised software programs for computer 48 from the off-site database. These articles, news stories, software programs, and the like are sent to receiving locations in the same manner as described above.
While a full and complete disclosure of the invention has been provided hereinabove, it will be obvious to those skilled in the art that various modifications and changes may be made.

## Claims

1. A method for providing an upgradeable user equipment, comprising:
receiving program guide software that includes data related to program listings;
processing the program guide software to generate a display of the program guide that includes at least one of the program listings;
receiving information identifying a list of features that are not currently implemented in the program guide software;
responsive to receiving the information, automatically generating for display an indication of the identified list of features that are not currently implemented in the program guide software;
receiving a user selection of at least one feature of the identified list of features; and
modifying the program guide software with additional program guide software associated with the at least one feature selected by a user to implement the at least one feature selected by the user.

2. The method of claim 1, wherein the additional program guide software is downloaded from a distribution location in response to the user selection of the at least one feature.

3. The method of claim 1, further comprising providing information regarding the at least one feature to the user.

4. The method of claim 3, wherein the information regarding the at least one feature is displayed in the form of an advertisement.

5. The method of claim 4, wherein the advertisement includes on-screen prompts which enable a user to interactively order the feature.

6. The method of claim 3, wherein the information regarding the at least one feature is provided to a plurality of users.

7. The method of claim 1, wherein the at least one feature is at least one of picture-in-picture enhancements, channel identification in a picture-in-picture screen, the display of graphic network logos and icons with channel identification, extended data service enhancements, stock quotation services, virtual channel services, news services, weather services, and sports score services.

8. The method of claim 1, wherein the user selects the at least one feature by ordering the feature via a telephone.

9. The method of claim 1, wherein receiving information identifying a list of features that are not currently implemented in the program guide software further comprises:
receiving an additional indication from an external source of at least one additional feature of the list of features that is not currently implemented in the program guide software; and
in response to receiving the additional indication, automatically displaying the additional indication.

10. The method of claim 1, wherein the indication of the identified list of features is displayed after data is stored for at least two features that are not currently implemented in the program guide software.

11. An upgradeable user equipment, comprising a processor configured to:
receive a program guide software that includes data related to program listings from a distribution location;
process the program guide software to generate a display of the program guide that includes at least one of the program listings;
receive information identifying a list of features that are not currently implemented in the program guide software;
responsive to receiving the information, automatically generate for display an indication of the identified list of features that are not currently implemented in the program guide software;
receive a user selection of at least one feature of the identified list of features; and
modify the program guide software with additional program guide software associated with the at least one feature selected by a user to implement the at least one feature selected by the user.

12. The system of claim 11, wherein the additional program guide software is downloaded from a distribution location in response to the user selection of the at least one feature.

13. The system of claim 11, wherein the processor is further configured to display information regarding the at least one feature to the user.

14. The system of claim 13, wherein the information regarding the at least one feature is displayed in the form of an advertisement.

15. The system of claim 14, wherein the advertisement includes on-screen prompts which enable a user to interactively order the feature.

16. The system of claim 13, wherein the information regarding the at least one feature is provided to a single user or to a plurality of users.

17. The system of claim 11, wherein the at least one feature is at least one of picture-in-picture enhancements, channel identification in a picture-in-picture screen, a display of graphic network logos and icons with channel identification, extended data service enhancements, stock quotation services, virtual channel services, news services, weather services, and sports score services.

18. The system of claim 11, wherein the user selects the feature by ordering the feature via a telephone.

19. The system of claim 11, wherein the indication of the identified list of features is displayed after data is stored for at least two features that are not currently implemented in the program guide software.