MULTIPLE USER PROFILE REMOTE CONTROL

Abstract: A method and apparatus for controlling access to television programming uses a remote control device. The remote control device contains program control data which limits the viewer's access to television programming. The program control data is created and modified by a user with the master control user id assigned to the remote control device. The remote control device is optionally assigned one or more user ids for creating, maintaining, and in one embodiment activating a user-customizable profile which controls programming access according to the users' preferences. The program control data, user profile data, and related circuitry is stored in the remote control device, or alternatively in the television receiver or a control device attached to the television receiver. Where the circuitry is not in the remote control devices the remote control device has a unique identifying signal which causes the programming control circuitry to employ the program control data and user profile data associated with that particular remote control device.

Description: MULTIPLE USER PROFILE REMOTE CONTROL Field of the Invention The present invention relates in general to methods and apparatus for wireless control of entertainment systems, and particularly to multiple wireless units providing user defined programming control. Background of the Invention There has been interest in controlling access to television programming for a number of years. The primary users of this type of technology are parents who wish to limit their children's access to certain programming. With the increasing amount of available programming, however, viewers in general are looking for a convenient way to limit their selection to only the channels in which they are interested. There have been several attempts to address this need. Conventional programming access control systems are incorporated into the television receiver or, in the case of cable television subscribers, in the cable converter box. U.S. Patent 5,382,983, issued to Kwoh et al., describes programming control circuitry which may be located in a remote control device, the television itself, or an attached device such as a cable converter box. The conventional systems permit the owner to program the television circuitry such that selected channels are blocked. Some systems block the entire channel, while others allow the owner to block out just certain blocks of time. One undesirable effect of these systems is that once a channel is blocked it is blocked for all viewers. A user can, in some systems, override channel restrictions by keying in a special code, although having to remember the code and key it in each time the viewer wants to select the restricted channel is in itself an inconvenience. What is needed is a means of restricting the programming access of certain users without impacting the viewing options for other users. Another undesirable effect of blocking a channel in the television circuitry is that a channel-surfing viewer still passes through that channel even though the television signals on that channel are not displayed on the television monitor. One reason this is undesirable is, especially if there is more than one blocked channel, the viewer has to pass through inactive channels while scanning for programming to watch. Another reason is that the constant reminder that there are "prohibited" channels may tempt the restricted viewer to try and exceed their allowable viewing boundaries. There is a need for a means for controlling viewing access on a viewer-by-viewer basis, such that each viewer sees only those channels they wish to or are allowed to see. Summary of the Invention Access to television programming is controlled using a remote control device. Programming control circuitry, in one embodiment, is incorporated in the remote control device. This allows programming access to be user-specific, each viewer restricted according only to the programming controls embodied in the memory of the remote control device they are using. The method and apparatus of the invention thereby avoids the conventional limitation of establishing programming access which affects all viewers alike, allowing each user access to all programming to which they are allowed unaffected by other viewers' restrictions. According to one embodiment the present invention provides a method for controlling television programming a remote control device, wherein the remote control device comprises a user input interface, a processor, and a memory. The method comprises the steps of storing a unique user id in the memory of the remote control device, independently storing program control data in the memory of the remote control device for controlling television programming by remote control device, and independently controlling access to television programming through the remote control device according to the unique user id and program control data stored in the remote control device. In another embodiment the method controls television programming using two or more independent remote control devices, wherein each remote control device comprises a user input interface, a processor, and a memory. A further embodiment of the present invention further comprises the step of verifying a master control user id, and upon successful verification allowing unlimited access, for a predetermined amount of time, to programming using the remote control device. According to another aspect of the method of controlling television programming, user input data requesting programming is compared to program control data stored in the remote control device, and if the input data matches then the user is denied access to the requested programming. In another embodiment of the present invention a user is allowed to modify the program control data stored in the memory of the remote control device when the user inputs the proper user id and that user id is verified. In yet another embodiment independent user profile data is stored in a remote control device. The user profile data provides user-customizable access to programming via the remote control device. Each user establishes a personalized viewing environment through use of the user profiles. According to one embodiment the remote control device has one user profile which is active at all times. In another embodiment the remote control device may have one or more user profiles, any one user profile of which is activated by the user inputting a unique user id. Verification circuitry activates the user profile corresponding to the input user id if it matches the user id stored in association with the user profile. A further aspect of the present invention provides a system for controlling television programming, comprising a television receiver and a remote control device. The remote control device comprises a user input interface, a memory, means for storing a unique master control user id in the memory, means for storing program control data associated with the unique master control user id in the memory, and circuitry for controlling access to television programming according to the program control data. Yet another embodiment of the present invention provides a system for controlling television programming, comprising a television receiver and two or more remote control devices. Each remote control device comprises a user input interface, a memory, means for storing a unique master control user id in the memory, means for storing program control data associated with the unique master control user id in the memory, and circuitry for controlling access to television programming according to the program control data. According to another aspect of the present invention the system for controlling television programming further comprises circuitry for comparing input entered through the user input interface to the program control data stored in the memory. Yet another embodiment comprises circuitry for adding, modifying, or deleting program control data stored in the memory. A further embodiment comprises means for storing a unique user id in the memory and means for storing user profile data associated with the unique user id in the memory. In this embodiment, the circuitry for controlling access to television programming further comprises circuitry for comparing input entered through the user input interface to the user profile data stored in the memory. In yet another aspect of the present invention each remote control device further comprises circuitry for adding, modifying, or deleting user profile data stored in the memory. Brief Description of the Drawings Figure 1 is a pictorial representation of a television monitor and multiple remote control devices according to one embodiment of the present invention. Figure 2 is a schematic block diagram of circuitry in a remote control device according to one embodiment of the present invention. Figure 3 is a perspective view of a remote control device incorporating the circuitry shown in Figure 2. Figure 4 is a logic flow diagram illustrating an input verification process according to one embodiment of the present invention. Figure 5 is a block diagram showing a menu screen for modifying program control parameters. Figure 6 is a block diagram showing a menu screen for modifying viewer control parameters. Figure 7 is a block diagram showing a menu screen for modifying viewer profile parameters. Figure 8 is a block diagram showing a menu screen for modifying individual programming within a viewer profile. Figure 9 is a block diagram showing a menu screen for modifying a programming group within a viewer profile. Detailed Description of the Preferred Embodiments In the following detailed description, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that structural, logical and electrical changes may be made without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims. Figure 1 shows a pictorial representation of a television receiver 110 and corresponding multiple remote control devices 200a, b, c, d according to one embodiment of the present invention. The system 100 provides for user control of television programming by means of remote controls 200a-d. Television programming comprises the functions of television receiver 110, such as volume, channel access and display, and power off or on. According to one embodiment television programming also includes program identification codes incorporated into the program signals. In the embodiment shown remote control devices 200a-d communicate with monitor 110 via window 120 using infra red (IR) control signals. Those skilled in the art will recognize, however, that radio frequency (RF) or other electromagnetic signals can be used in the place of IR without exceeding the scope or spirit of the present invention. RF control signals, received at the television through an antenna (not shown), are preferable in a situation where the monitor 110 is in a different room from remote control device 200 or where a clear line of sight is not available. Alternatively, IR control signals may be selected because of the availability of standard circuitry at low cost. Figure 2 is a block diagram showing elements of the circuitry of one embodiment of the present invention. Remote control device 200 comprises keypad 210 for user input, electromagnetic transceiver 280 for communications between remote control device 200 and a video monitor (not shown), electrically erasable programmable read-only memory (EEPROM) 250 for storing and processing key combination data, all electrically connected to micro controller 205. One example of a commercially available EEPROM which is used in one embodiment of the present invention is the Hitachi HN58C65. Micro controller 205 controls the remote control device's various functions and communications between the devices incorporated in remote control device 200. In the embodiment shown, transceiver 280 is coupled to all the keys for generating RF signals corresponding to the keys pressed. Those skilled in the art will recognize, however, that infrared (IR) or any other wireless communication technology can be used in the place of RF signals. Micro controller 205 manages communication between the other elements of remote control device 200. It comprises an input/output (I/O) interface 215, a processor 220, read only memory (ROM) 230 and random access memory (RAM) 240. The input/output interface 215 is electrically connected through direct signals to the keypad 210 for processing user-input commands. The elements of micro controller 205, and EEPROM 250 are also electrically connected, in the embodiment shown, via data bus 260 and address bus 270. Figure 3 is a block diagram of a remote control device 200 according to one embodiment of the present invention. In the embodiment shown, remote control device 200 is a hand held-size device. A viewer inputs commands and control information using the various keys which make up keypad 210. Keypad 210 comprises keys for conventional television control, including but not limited to the following examples. Power key 310 provides power-on/off functions for the monitor. Channel control keys 316 provide the familiar television/VCR up and down channel control function. Volume control buttons 312 include a mute function. According to one embodiment of the present invention, an id function key 320 is used to activate user identification and verification functions provided by firmware and/or circuitry within micro controller 205. Much as the "Ctrl" and "Alt" keys are used on a computer keyboard to select different functions, the id function key 320 is similarly used on the hand held remote to select the functions defined by the program control circuitry. In one embodiment of the present invention the program control circuitry is incorporated, along with user verification circuitry (explained later in conjunction with Figure 4), in each remote control device. In other embodiments the program control circuitry is incorporated in the television receiver, a cable control box, or a separate tuner. According to either of these embodiments the program control circuitry is activated by pressing program key 314. In an alternative embodiment, where the program control circuitry is always active, the user verification circuitry is triggered only by a user pressing id function key 320. In other embodiments different designs are employed for remote control device 200. For example, a remote control device designed for easier use by children may have larger and/or fewer keys, symbols (such as animal figures) instead of characters on the keys, and so forth. Each remote control device 200 is assigned at least one unique user id which is stored in EEPROM 250. A user id comprises a predetermined sequence of alphanumeric keys for each user. In another embodiment, each remote control device 200 is assigned two or more unique user ids. Each user id is one of two types - a "master control user id" provides access to program control parameters, while a "user id" provides access to viewer profile parameters. For general viewing operations, such as selecting channels or adjusting volume, the user is not required to input either type of user id. When no user id is input the remote device defaults to the lowest level of access as defined by the program control parameters. When a user presses the id function key 320, user verification firmware and/or circuitry is activated which, in one embodiment, waits for the user to key in a user id. In another embodiment the user is prompted to input a user id by a message displayed on the television monitor. The code input by the user is processed by the firmware and/or circuitry embodied in micro controller 205 according to the steps outlined below (Figure 4 and accompanying text). The user verification process checks user ids stored in EEPROM 250 for a match with the input user id. If there is no match then the default environment remains active. The embodiments below are described in terms of a software program that controls access to memory. It will be apparent to one skilled in the art, however, that this is only one of several possible implementations of the invention. Figure 4 is a block flow diagram showing the process by which a viewer uses a remote control device according to one embodiment of the present invention. Those skilled in the art will recognize that the process represented by Figure 4 can be executed by circuitry incorporated in the remote control devices, the television receiver, or an attached device such as a cable control box without exceeding the spirit and scope of the present invention. Alternate embodiments include embedding the logic flow in firmware or in a microcoded processor, executing it as a software program in a processor , or creating a state machine with states determined by the results of the decision blocks in the logic flow. Wherever it resides, the circuitry is triggered at block 410 by a viewer selecting one of the buttons on keypad 210. The first step, occurring at decision block 412, is to determine whether it was the id function key 320 which was pressed. If the id function key 320 was selected, then at decision block 414 the user verification process compares the input user id against the user ids stored in EEPROM 250. If the input user id matches the master control user id then the next key selected is evaluated at decision block 435. If program key 314 is that next key, then the user is allowed at block 445 to modify the program control data and profile data contained in the remote's EEPROM 250. If any other key besides program key 314 is that next key, the viewer is given access for a predetermined time period to all functions of the television, the user selections being sent at block 470 to the standard remote control circuitry 280. From there the signal is transmitted at block 480 to the receiver controlling the television receiver. In one embodiment the predetermined time period is a matter of seconds, just long enough to select a particular channel. In another embodiment the time period is several minutes, to allow the viewer time to preview a number of channels. Program control data comprises user ids and associated parameters such as channel identifiers and start and stop times. When the user has entered a valid master control user id and then pressed program key 314, a menu screen to modify program control parameters is displayed on the television monitor. Figure 5 shows one example of such a menu screen 500 for the embodiment of the present invention where each remote control device is assigned a single user id. When the screen 500 is first displayed, it lists the current user id 510. If the user wishes to change the user id he or she keys it in over the displayed user id 510. In fields associated with channels 520 are start and end times 530, 540 identifying the periods the remote control device prevents access to channels 520. If the user wishes to change the master control user id, he or she selects the reset id field 550. A prompt (not shown) is displayed on the screen in which the user types the new control user code. To add new channels or times to block for the remote control device, the user selects the respective fields and enters the appropriate information. In the example shown in Figure 5, the remote control device is prevented from accessing channel 5 at any time, channel 17 from 4 to 6 p.m. and 10 p.m. to 2 a.m., and channel 35 from 8 p.m. to 6 a.m. The user is able to add, delete, or modify parameter values in the display. The displayed parameter values are stored in EEPROM 250 when the user exits the display by pressing program key 314 again. In another embodiment of the present invention, in which multiple viewers use the same remote control device, there is an additional menu screen for editing viewer control parameter values. Figure 6 shows one example of such a menu screen 600. Screen 600 is the first one displayed after the user has entered a valid master control user id and then pressed program key 314. If the user wishes to change the master control user id, he or she selects the reset id field 550. The display fields list the currently active user ids 620, the level of access granted to each user id 630, and an indicator of whether programming restrictions have been defined for the respective user ids 640. To see or modify the specific programming restrictions associated with a particular user id 620, the user selects the corresponding entry in the program field 640. The system then displays the screen shown in Figure 5 (described above), showing the parameter values for that user id and allowing the user to add, delete, or modify parameter values. In the embodiment represented in Figure 6, where multiple viewers use the same remote control device, default access is at the lowest common denominator - defined access limitations are in effect regardless of the associated user id if the remote control device is used without entering a user id. User ids stored in EEPROM 250 are granted one of three access levels. The lowest is "view only", which indicates that when a user keys in the user id, they have access to all programming except that which is explicitly restricted to that particular user id. The next level is "profile", at which the user has access to all programming except that which is explicitly restricted when they key in the user id, and in addition the user can create and maintain a user profile further controlling the viewing environment (described in more detail below) when they select the program key 314 as described above. The highest level is "control", at which the user who types in the associated user id has complete access to all programming, but cannot program other users' access parameters. A viewer with control-level access is also able to create and maintain a user profile for their user id. In one embodiment RAM 240 (in Figure 2) stores user profile information, customizing the viewing environment for the viewer using the remote control device. For example, each user can customize a remote control device for their own particular tastes in television programming. In one embodiment each user has their own customized remote control device, while in another embodiment a number of viewers can use the same remote control device, each viewer entering a unique user id to activate their particular customized viewer profile. The viewer profile may be a single level of programming control, identifying which programming is activated by the remote control device. Alternatively, the viewer profile may be a hierarchy of programming, wherein the user defines groups of programming by subject, such as 'sports' or 'news' and the remote control device only activates the programming within the selected group. When a user presses the id function key 320 and enters the user id, the code is verified against the user ids stored in EEPROM 250. If the entered code is a valid profile code, the user is presented with a menu for modifying or activating their profile. Figure 7 is one example of such a menu 700. If the user is currently viewing in the default environment, they can activate their profile by selecting the 'activate profile' icon 720. Their viewing environment is then controlled by both the restrictions defined by the programming control data as well as any restrictions they have defined for themselves in their profile. The profile stays active until the user activates this menu 700 again and selects the 'deactivate profile' icon 730. Alternatively, the user may choose to activate one of the groups they have predefined using the procedures outlined below. The user selects the group they want active from the list of currently defined groups 740, and then their viewing environment is restricted to only those channels identified as being within the selected group. This allows the user to limit the scope of channels visited while channel surfing to those related to a particular area of interest such as new or sports. Any one channel may be in any number of groups. When a particular group is active, the user may select a different group 740 or the profile 720 by activating this menu 700 again and making the desired selection. The user returns to the default viewing environment by selecting 'deactivate profile' 730. When the user wishes to modify their profile they select the 'modify profile' icon 710. The user is then presented with a menu showing the profile as it is currently defined. Figure 8 shows one example of the menu 800 presented when the user selects the such a menu. In the example shown the user has entered user id 6792 850. The menu displayed shows that the specified user id has chosen to prevent certain channels 810 from being visited when channel surfing during certain times of the day between the specified start time 820 and end time 830. As an example, profile Channels 37 and 2 are never visited. In one embodiment the channels are always blocked for the specified user id 850, while in an alternate embodiment the channels are blocked only when channel surfing but may be visited by specific selection of the channel. If the user selects the 'groups' icon 840, the user is able to create and maintain viewing groups. Figure 9 shows one example of the menu presented when the 'groups' icon 840 is selected. The user selects a unique name 910 for the group, and then identifies the channels 920 which are to be available when the group is selected. In the embodiment shown, the group name comprises alphanumeric characters. According to one embodiment, the user activates a submenu to create a new group name. The user is presented with a grid from which individual characters are selected using the directional arrow keys on keypad 210. The user creates or modifies additional groups by selecting the 'next' 930 or 'previous' 940 icons. Returning to the block diagram shown in Figure 4, at block 412 the logic identifies the button selected. If the viewer selects a button on keypad 210 which is not the id function key 320 then the remote device defaults to the lowest level of access control at block 460. According to one embodiment, the lowest level of access is established by combining all restrictions defined for all active profiles associated with that particular remote control device. If the user selection is not one of those blocked according to program control data in EEPROM 250 then the user selection is sent at block 470 to the standard remote control circuitry 280. From there the signal is transmitted at block 480 to the receiver controlling the television receiver. If id function key 320 has been pressed at decision block 412 and the input user id does not match the remote device's one or more master control user ids at decision block 414, it is determined at decision block 420 whether the input user id matches any of the other user ids stored in EEPROM 250. If the input user id does not match any of the stored user ids then the remote device defaults to the lowest level of access control at block 460. If the user selection is not one of those blocked according to program control data in EEPROM 250 then the user selection is sent at block 470 to the standard remote control circuitry 280. From there the signal is transmitted at block 480 to the receiver controlling the television receiver. If at decision block 420 the input user id matches a user id stored in EEPROM 250, and program key 314 has not been pressed at decision block 430, then for a predetermined period of time the viewer is allowed to select programming according to their particular user id profile at block 450. The viewer's selection is then sent at block 470 to the standard remote control circuitry 280, and from there the signal is transmitted at block 480 to the receiver controlling the television receiver. If, however, at decision block 420 the input user id matches a user id stored in EEPROM 250 but program key 314 is pressed at decision block 430, then the viewer is able to modify their user profile data according to the procedures described previously (block 440, Figure 4, and accompanying text). In an alternate embodiment, the user profile and programming restrictions are stored in circuitry within the television or an attached device such as a cable control box. Each remote control device has, instead of the circuitry described earlier (Figure 2 and accompanying text), an individualized identifying signal incorporated in the conventional circuitry. Each user selection is then accompanied by the identifying signal, which is translated by the circuitry in the television or attached device in order to reference the proper user profile and assigned viewing restrictions. In this embodiment the circuitry in the television or attached device performs essentially the same tasks as the EEPROM 250 in the embodiment described previously. It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.

Claims: What is claimed is: 1. A method for controlling television programming using a first remote control device, wherein the first remote control device comprises a user input interface, a processor, and a memory, the method comprising the steps of: storing a first unique user id in the memory of the first remote control device; storing program control data in the memory of the first remote control device for controlling access to and display of television programming by the first remote control device; associating a subset of the program control data with the first unique user id; and controlling access to and display of television programming through the first remote control device according to the unique user id and associated program control data stored in the first remote control device. 2. The method of Claim 1 , and further comprising the steps of: receiving a user id input into the first remote control device; processing the user id to verify the level of access to be granted; and upon successful verification of the user id granting access to and display of all television programming commensurate with the verified level of access for a predetermined period of time. 3. The method of Claim 1 , and further wherein the step of controlling access to television programming through the first remote control device according to the unique user id and program control data stored in the respective first remote control devices further comprises comparing user input data to program control data stored in the first remote control device's memory. 4. The method of Claim 1 , and further wherein the step of controlling access to television programming through the first remote control device according to the unique user id and program control data stored in the first remote control device further comprises verifying a master control user id, and upon verification allowing modification of the program control data stored in the memory of the first remote control device. 5. The method of Claim 1, and further comprising the steps of: independently storing user profile data in the memory of the first remote control device for controlling television programming by the first remote control device; and verifying a user id, and upon verification allowing modification of the user profile data stored in the memory of the first remote control device. 6. The method of claim 1, wherein the method steps are performed in a second remote control device, the second control unit independent from the first remote control device. 7. The method of claim 1, further comprising the steps of: storing a second unique user id in the memory of the first remote control device; and associating a subset of the program control data with the second unique user id. 8. An apparatus for controlling television programming, comprising: a television receiver; and a first remote control device, comprising: a user input interface for receiving commands and other information; circuitry connected to the user input interface, the circuitry for controlling functions of the television receiver according to the commands and other information received by the user input interface; a memory connected to the circuitry; the memory for storing a unique master control user id and program control data; and logic controlling responses by the circuitry to commands received through the user input interface according to the information stored in the memory. 9. The apparatus of Claim 8, and wherein the first remote control device further comprises logic for adding, modifying, or deleting information stored in the memory. 10. The apparatus of Claim 8, and further comprising: means for storing a first unique user id in the memory; means for storing user profile data in the memory; and means for associating a subset of the profile data with the first unique user id; wherein the circuitry for controlling functions of the television receiver further comprises circuitry for comparing input entered through the user input interface to the user profile data stored in the memory. 11. The apparatus of Claim 10, and wherein the first remote control device further comprises logic for adding, modifying, or deleting user profile data stored in the memory. 12. The apparatus of Claim 10, and further comprising: means for storing a second unique user id in the memory; and means for associating a subset of the profile data with the second unique user id. 13. The apparatus of Claim 8, further comprising a second remote control device independent from the first remote control device, the second remote control device comprising: a user input interface for receiving commands and other information; circuitry connected to the user input interface, the circuitry for controlling functions of the television receiver according to the commands and other information received by the user input interface; a memory connected to the circuitry; the memory for storing a unique master control user id and program control data; and logic controlling responses by the circuitry to commands received through the user input interface according to the information stored in the memory. 14. An apparatus for controlling access to and display of television programming, comprising: a television receiver, comprising a display; a first remote control device for requesting programming to be transmitted to the display by the television receiver, wherein the first remote control device includes a unique identifier in the signal sent to the television receiver when programming is selected using the first remote control device; a memory for storing program control data, wherein the program control data comprises programming restrictions associated with the unique identifying signal of the first remote control device; and a processor electrically connected to the television receiver and the memory, the processor for processing programming requests sent by the first remote control device. 15. The apparatus of claim 14, further comprising a second remote control device for requesting programming to be transmitted to the display by the television receiver, wherein the second remote control device includes a unique identifier in the signal sent to the television receiver when programming is selected using the second remote control device, and wherein the program control data stored in the memory further comprises programming restrictions associated with the unique identifying signal of each of the first and second remote control devices, and wherein the processor processes programming requests sent by each of the first and second remote control devices. 16. A method for controlling access to and display of television programming by a television receiver comprising a memory and a processor, the method comprising: defining a plurality of unique identifiers, including a first unique identifier; assigning the first unique identifier to a first remote control device, the first remote control device for independently selecting television programming by transmitting programming requests to the television receiver; storing program control data in the memory, the program control data comprising program restrictions; associating a subset of the program control data with each one of the plurality of unique identifiers; incorporating the first unique identifier of the first remote control device in the programming requests sent by that remote control device to the television receiver; reading the unique identifier incorporated in a programming request; comparing the unique identifier and the programming request with the stored program control data; and rejecting the programming request if a match is found and processing the request if no match is found.

Inventors: NICKUM LARRY A, NICKUM, LARRY, A.
Applicants: GATEWAY 2000 INC, GATEWAY 2000, INC.
Application year: 1997
Main classification: H04N7
IPC codes: H04B1, H04N5, H04N7