# US 8,786,411 B1 · Remote control programming system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,786,411 B1
- Document ID: US8786411B1
- Status: Granted
- Kind: B1
- Application number: 12/639,960
- Filed: 2009-12-16
- Granted: 2014-07-22
- Earliest claimed: 2003-10-02
- Assignees: TiVo Inc.
- Applicants: Craig Seidel; David E. Bruce
- Inventors: Craig Seidel; David E. Bruce
- Web page: https://patentgrep.com/patent/US8786411B1

## CPC

- H04N 21/42226: {Reprogrammable remote control devices}
- G08C 23/04: using light waves, e.g. infrared
- G11B 27/005: {Reproducing at a different information rate from the information rate of recording (for television signals H04N5/783)}
- G11B 27/105: {of operating discs}
- H04N 5/76: Television signal recording
- H04N 5/782: on tape
- H04N 7/163: {by receiver means only}
- H04N 7/173: with two-way working, e.g. subscriber sending a programme selection signal
- H04N 7/17318: {Direct or substantially direct transmission and handling of requests}
- H04N 7/17354: {in an intermediate station common to a plurality of user terminals}
- H04N 21/252: {Processing of multiple end-users' preferences to derive collaborative data}
- H04N 21/2547: Third Party Billing, e.g. billing of advertiser
- H04N 21/25891: {being end-user preferences (retrieval of video data in a video database based on user preferences G06F16/739; arrangements for recognizing users' preferences H04H60/46; user profiles in network data switching protocols H04L67/306; processing of user preferences or user profiles in wireless networks H04W8/18)}
- H04N 21/4147: PVR [Personal Video Recorder] (H04N5/76 takes precedence {; arrangements for broadcast with accumulation-type receivers H04H20/40})
- H04N 21/42204: {User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor (constructive details of casings for the remote control device H01H9/0235; user interfaces for controlling a tuning device of a television receiver through a remote control H03J9/00; remote control of peripheral devices connected to a television receiver through the remote control device of the television receiver H04B1/205)}
- H04N 21/4325: {by playing back content from the storage medium (reproduction of recorded television signals H04N5/76; reproduction of recorded television signals H04N9/79)}
- H04N 21/4331: {Caching operations, e.g. of an advertisement for later insertion during playback}
- H04N 21/4334: {Recording operations (recording of a television signal H04N5/76; arrangements for recording or accumulating broadcast information or broadcast-related information H04H60/27)}
- H04N 21/44008: {involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream (arrangements characterised by components specially adapted for monitoring, identification or recognition of video in broadcast systems H04H60/59)}
- H04N 21/44016: {involving splicing one content stream with another content stream, e.g. for substituting a video clip}
- H04N 21/4532: {involving end-user characteristics, e.g. viewer profile, preferences (monitoring of user activities for profile generation for accessing a video database G06F16/739; user profiles in network data switching protocols H04L67/306; processing of user preferences or user profiles in wireless networks H04W8/18)}
- H04N 21/454: Content {or additional data} filtering, e.g. blocking advertisements
- H04N 21/4663: {involving probabilistic networks, e.g. Bayesian networks}
- H04N 21/47: End-user applications
- H04N 21/4825: {using a list of items to be played back in a given order, e.g. playlists}
- H04N 21/4826: {using recommendation lists, e.g. of programmes or channels sorted out according to their score}
- H04N 21/4828: {for searching programme descriptors (retrieval of video data G06F16/739)}
- H04N 21/485: End-user interface for client configuration
- H04N 21/6543: for forcing some client operations, e.g. recording {(remote booting in general G06F9/4416)}
- H04N 21/812: {involving advertisement data (advertising per se G06Q30/02)}
- H04N 21/8153: {comprising still images, e.g. texture, background image}
- H04N 21/84: Generation or processing of descriptive data, e.g. content descriptors {(systems specially adapted for using meta-information in broadcast systems H04H60/73)}
- H04N 21/8455: {involving pointers to the content, e.g. pointers to the I-frames of the video stream}
- G08C 2201/20: Binding and programming of remote control devices
- G11B 27/34: Indicating arrangements {(indicating means incorporated in magazine or cassette G11B23/046 and G11B23/0875; indicating measured values in general G01D)}
- G11B 2220/20: Disc-shaped record carriers
- H04N 5/781: on disks or drums
- H04N 5/85: on discs or drums
- H04N 5/907: using static stores, e.g. storage tubes or semiconductor memories (H04N5/91 takes precedence)
- H04N 9/8042: {involving data reduction}
- H04N 21/42228: {the reprogrammable keys being displayed on a display screen in order to reduce the number of keys on the remote control device itself}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G08C: TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS (fluid pressure transmitting systems F15B; mechanical means for transferring the output of a sensing member into a different variable G01D5/00; mechanical control systems G05G)
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)

## Abstract

A method and apparatus for programming a remote control is provided. Control data that identifies one or more mode codes is stored in a computing device that is operationally connected to a detector. A user presses a button on a source remote control to cause an input signal to be transmitted from the source remote control to be received by the detector. The detector decodes the input signal, and consults the control data to determine a particular IR code that is associated with the source remote control. The computing device may then display information identifying a particular mode code on a display to allow the user to manually program a target remote control with the particular mode code. Alternately, the computing device may transmit the particular mode code to the target remote control to allow the target remote control to automatically configure itself with the particular mode code.

## Claims

### Claim 1

A method for programming a target remote control, comprising:
receiving, at a target remote control, user interface information that describes a user interface for a remote control and a mode code, transmitted from a computing device, the user interface information describing a user interface that is configured by a user on the computing device, the mode code is mapped to a specific set of signals, which the target remote control supports, to control a particular target device, the computing device being different from the particular target device;
creating, at the target remote control, a particular user interface using the user interface information;
displaying, on the target remote control, the particular user interface; and
the target remote control configuring itself using said mode code.

### Claim 2 (depends on 1)

The method of claim 1, wherein:
the particular user interface is based, at least in part, on a particular mode code that the target remote control is configured to emulate; and
the particular mode code identifies a specific set of signals used by a remote control to control one or more devices.

### Claim 3 (depends on 2)

The method of claim 2, wherein the user interface information is transmitted with said particular mode code.

### Claim 4 (depends on 1)

The method of claim 1, wherein the target remote control is configured to transmit one or more of a set of control signals that are associated with a source remote control.

### Claim 5 (depends on 4)

The method of claim 4, wherein the particular user interface enables a user to use the target remote control to perform operations associated with the source remote control.

### Claim 6 (depends on 1)

The method of claim 1, wherein:
the user interface includes controls for multiple devices; and
the multiple devices include at least one of (a) a consumer electronic device, (b) motorized blinds, (c) a remotely dimmable light, (d) a kitchen appliance, (e) computer equipment, (f) an automobile, or (g) a garage door.

### Claim 7

A non-transitory machine-readable medium storing one or more sequences of instructions for programming a target remote control, wherein execution of the one or more sequences of instructions by one or more processors causes:
receiving, at a target remote control, user interface information that describes a user interface for a remote control and a mode code, transmitted from a computing device, the user interface information describing a user interface that is configured by a user on the computing device, the mode code is mapped to a specific set of signals, which the target remote control supports, to control a particular target device, the computing device being different from the particular target device;
creating, at the target remote control, a particular user interface using the user interface information;
displaying, on the target remote control, the particular user interface; and
the target remote control configuring itself using said mode code.

### Claim 8 (depends on 7)

The non-transitory machine-readable medium of claim 7, wherein:
the particular user interface is based, at least in part, on a particular mode code that the target remote control is configured to emulate; and
the particular mode code identifies a specific set of signals used by a remote control to control one or more devices.

### Claim 9 (depends on 8)

The non-transitory machine-readable medium of claim 8, wherein the user interface information is transmitted with said particular mode code.

### Claim 10 (depends on 7)

The non-transitory machine-readable medium of claim 7, wherein the target remote control is configured to transmit one or more of a set of control signals that are associated with a source remote control.

### Claim 11 (depends on 10)

The non-transitory machine-readable medium of claim 10, wherein the particular user interface enables a user to use the target remote control to perform operations associated with the source remote control.

### Claim 12 (depends on 7)

The non-transitory machine-readable medium of claim 7, wherein:
the user interface includes controls for multiple devices; and
the multiple devices include at least one of (a) a consumer electronic device, (b) motorized blinds, (c) a remotely dimmable light, (d) a kitchen appliance, (e) computer equipment, (f) an automobile, or (g) a garage door.

### Claim 13

An apparatus comprising:
a receiving subsystem that receives, at a target remote control, user interface information that describes a user interface for a remote control and a mode code, transmitted from a computing device, the user interface information describing a user interface that is configured by a user on the computing device, the mode code is mapped to a specific set of signals, which the target remote control supports, to control a particular target device, the computing device being different from the particular target device;
a creating subsystem that creates, at the target remote control, a particular user interface using the user interface information;
a displaying subsystem that displays, on the target remote control, the particular user interface; and
a configuring subsystem that causes the target remote control to configure itself using said mode code.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein:
the particular user interface is based, at least in part, on a particular mode code that the target remote control is configured to emulate; and
the particular mode code identifies a specific set of signals used by a remote control to control one or more devices.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the user interface information is transmitted with said particular mode code.

### Claim 16 (depends on 13)

The apparatus of claim 13, wherein the target remote control is configured to transmit one or more of a set of control signals that are associated with a source remote control.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein the particular user interface enables a user to use the target remote control to perform operations associated with the source remote control.

### Claim 18 (depends on 13)

The apparatus of claim 13, wherein:
the user interface includes controls for multiple devices; and
the multiple devices include at least one of (a) a consumer electronic device, (b) motorized blinds, (c) a remotely dimmable light, (d) a kitchen appliance, (e) computer equipment, (f) an automobile, or (g) a garage door.

### Claim 19

A method for programming a target remote control, comprising:
storing control data at a computing device that identifies a plurality of mode codes, wherein each particular mode code of the plurality of mode codes is mapped to a specific set of signals used by a type of remote control to control a particular target device, the computing device being different from the particular target device;
determining, at the computing device, a particular mode code from the plurality of mode codes;
allowing, at the computing device, a user to configure a user interface;
sending user interface information describing the configured user interface and the particular mode code to a target remote control, the target remote control configures itself using said particular mode code and displays a particular user interface using the user interface information.

### Claim 20

A non-transitory machine-readable medium storing one or more sequences of instructions for programming a target remote control, wherein execution of the one or more sequences of instructions by one or more processors causes:
storing control data at a computing device that identifies a plurality of mode codes, wherein each particular mode code of the plurality of mode codes is mapped to a specific set of signals used by a type of remote control to control a particular target device, the computing device being different from the particular target device;
determining, at the computing device, a particular mode code from the plurality of mode codes;
allowing, at the computing device, a user to configure a user interface;
sending user interface information describing the configured user interface and the particular mode code to a target remote control, the target remote control configures itself using said particular mode code and displays a particular user interface using the user interface information.

### Claim 21

An apparatus comprising:
a storing subsystem that stores control data at a computing device that identifies a plurality of mode codes, wherein each particular mode code of the plurality of mode codes is mapped to a specific set of signals used by a type of remote control to control a particular target device, the computing device being different from the particular target device;
a determining subsystem that determines, at the computing device, a particular mode code from the plurality of mode codes;
a configuration allowing subsystem that allows, at the computing device, a user to configure a user interface;
a user interface sending subsystem that sends user interface information describing the configured user interface and the particular mode code to a target remote control, the target remote control configures itself using said particular mode code and displays a particular user interface using the user interface information.
