CA2453564A1 - A hand held device having a browser application - Google Patents
A hand held device having a browser application Download PDFInfo
- Publication number
- CA2453564A1 CA2453564A1 CA002453564A CA2453564A CA2453564A1 CA 2453564 A1 CA2453564 A1 CA 2453564A1 CA 002453564 A CA002453564 A CA 002453564A CA 2453564 A CA2453564 A CA 2453564A CA 2453564 A1 CA2453564 A1 CA 2453564A1
- Authority
- CA
- Canada
- Prior art keywords
- remote control
- display
- recited
- reminder
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 230000004913 activation Effects 0.000 claims abstract description 32
- 230000006870 function Effects 0.000 claims description 53
- 230000004044 response Effects 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 12
- 230000033001 locomotion Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 40
- 238000000034 method Methods 0.000 description 25
- 230000009471 action Effects 0.000 description 16
- 230000000694 effects Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000012546 transfer Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 230000001276 controlling effect Effects 0.000 description 6
- 230000003213 activating effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000003825 pressing Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000011022 operating instruction Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241001301450 Crocidium multicaule Species 0.000 description 1
- 238000004566 IR spectroscopy Methods 0.000 description 1
- 241001422033 Thestylus Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 235000016709 nutrition Nutrition 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 235000019640 taste Nutrition 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1626—Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1632—External expansion units, e.g. docking stations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
- G06F1/1637—Details related to the display arrangement, including those related to the mounting of the display in the housing
- G06F1/1643—Details related to the display arrangement, including those related to the mounting of the display in the housing the display being associated to a digitizer, e.g. laptops that can be used as penpads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
- G06F1/1684—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
- G06F1/1698—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a sending/receiving arrangement to establish a cordless communication link, e.g. radio or infrared link, integrated cellular phone
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C17/00—Arrangements for transmitting signals characterised by the use of a wireless electrical link
- G08C17/02—Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C23/00—Non-electrical signal transmission systems, e.g. optical systems
- G08C23/04—Non-electrical signal transmission systems, e.g. optical systems using light waves, e.g. infrared
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2816—Controlling appliance services of a home automation network by calling their functionalities
- H04L12/282—Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4126—The peripheral being portable, e.g. PDAs or mobile phones
- H04N21/41265—The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
- H04N21/42206—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
- H04N21/42224—Touch pad or touch panel provided on the remote control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4431—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4438—Window management, e.g. event handling following interaction with the user interface
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4622—Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4882—Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4884—Data services, e.g. news ticker for displaying subtitles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2200/00—Indexing scheme relating to G06F1/04 - G06F1/32
- G06F2200/16—Indexing scheme relating to G06F1/16 - G06F1/18
- G06F2200/163—Indexing scheme relating to constructional details of the computer
- G06F2200/1632—Pen holder integrated in the computer
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/20—Binding and programming of remote control devices
- G08C2201/21—Programming remote control devices via third means
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/90—Additional features
- G08C2201/92—Universal remote control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L2012/284—Home automation networks characterised by the type of medium used
- H04L2012/2841—Wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Abstract
A hand-held device having a display and a browser application which supports functionality particularly suited for the hand-held device. For example, the browser application supports a full screen tag which allows information to be displayed as a full screen within the display. The browser application may also support a tag for use in displaying a link the activation of which will cause the hand-held device to transmit command codes to a consumer appliance.
Still further, the browser application can support a tag which the hand-held device can use to issue reminders.
Still further, the browser application can support a tag which the hand-held device can use to issue reminders.
Description
A HAND HELD DEVICE HAVING A BROWSER APPLICATION
RELATED APPLICATION
This application claims the benefit of U.S. Non-Provisional Patent Application No. 09/905,396 filed on July 13, 2001.
BACKGROUND OF THE INVENTION
This invention relates generally to hand held devices and, more particularly, relates to a hand held device having a browser application.
Home appliances continue to become more complex, and for many consumers, more difficult to fully understand and operate. The first consumer electronic devices, radios and, later, televisions, had no remote controls. The controls of these first consumer electronic devices were simple - a combination power switch and volume control and a tuning control. With the advent of the remote control, new capabilities to control were added to consumer electronic devices - one of the first being the volume "Mute" feature.
New, and eventually popular, consumer electronic devices were later introduced, including the VCR, CD player and more recently, the DVD player and PVR (personal video recorder). While the VCR was initially introduced without a remote control, remote controls were quickly added to the product offering.
Early VCR remote controls simply controlled the power and the transport mechanism ("Play," "Stop," "Pause," "Rewind," "Fast Forward" and "Record"). Today, VCR
remote controls have far more controls, for example, to control the adjustment of tape tracking, the selection of programs for future recording, direct channel access, frame-by-frame program viewing and the ability to set the VCR's clock. For use in controlling these features the VCR remote control has grown from seven or eight keys to twenty or more.
The CD player, when first introduced, came with a remote control. The first CD players held a single disk and were easy to control. Today, a consumer can buy a CD player that holds two hundred or more disks. This CD "jukebox" permits the consumer to painstakingly enter the title of each disk by remote control and control which disk and track of that disk will play next. This remote control has also grown from ten keys or so to over thirty with many keys performing two or more functions.
Not only have the consumer electronic devices and their remote controls become more complex, but there are now many more devices that consumers are adding to their home that can be controlled using a remote control. In addition to the TV, VCR, CD player, and DVD player, remote controls can be used in connection with personal computers, game consoles, etc. Remote controls can also be used to control the lighting, window fixtures, thermostats, home alarm system, etc.
within the home.
Universal remote controls available today perform a valuable function, consolidating three, four, five, and more remote controls into one device.
Typically, the universal remote control simplifies operation by reducing the number of keys and, therefore, the number of features available to the consumer. With the same number of keys as found on one remote control, the universal remote control can operate the basic functions of several home appliances.
For companies that provide remote controls, home appliances continue their march toward even greater complexity. As new and more complex home appliances emerge, a new form of easy-to-use remote control will be required to meet the needs of consumers. To appeal to the largest number of consumers, this new form of remote control must also be inexpensive. Furthermore, to accommodate the continuing growth in complexity of home appliances, this new form of remote control must possess new features and include the ability to stay flexible.
SUMMARY OF THE INVENTION
In accordance with these needs, the subject invention is directed to a hand-held device having a display and a browser application which supports functionality particularly suited for the hand-held device. For example, the browser application supports a full screen tag which allows information to be displayed as a full screen within the display. The browser application may also support a tag for use in displaying a link the activation of which will cause the hand-held device to transmit command codes to a consumer appliance. Still further, the browser application can support a tag which the hand-held device can use to issue reminders.
A better understanding of the objects, advantages, features, properties and relationships of the invention will be obtained from the following detailed description and accompanying drawings which set forth an illustrative embodiment which is indicative of the various ways in which the principles of the invention may be employed.
RELATED APPLICATION
This application claims the benefit of U.S. Non-Provisional Patent Application No. 09/905,396 filed on July 13, 2001.
BACKGROUND OF THE INVENTION
This invention relates generally to hand held devices and, more particularly, relates to a hand held device having a browser application.
Home appliances continue to become more complex, and for many consumers, more difficult to fully understand and operate. The first consumer electronic devices, radios and, later, televisions, had no remote controls. The controls of these first consumer electronic devices were simple - a combination power switch and volume control and a tuning control. With the advent of the remote control, new capabilities to control were added to consumer electronic devices - one of the first being the volume "Mute" feature.
New, and eventually popular, consumer electronic devices were later introduced, including the VCR, CD player and more recently, the DVD player and PVR (personal video recorder). While the VCR was initially introduced without a remote control, remote controls were quickly added to the product offering.
Early VCR remote controls simply controlled the power and the transport mechanism ("Play," "Stop," "Pause," "Rewind," "Fast Forward" and "Record"). Today, VCR
remote controls have far more controls, for example, to control the adjustment of tape tracking, the selection of programs for future recording, direct channel access, frame-by-frame program viewing and the ability to set the VCR's clock. For use in controlling these features the VCR remote control has grown from seven or eight keys to twenty or more.
The CD player, when first introduced, came with a remote control. The first CD players held a single disk and were easy to control. Today, a consumer can buy a CD player that holds two hundred or more disks. This CD "jukebox" permits the consumer to painstakingly enter the title of each disk by remote control and control which disk and track of that disk will play next. This remote control has also grown from ten keys or so to over thirty with many keys performing two or more functions.
Not only have the consumer electronic devices and their remote controls become more complex, but there are now many more devices that consumers are adding to their home that can be controlled using a remote control. In addition to the TV, VCR, CD player, and DVD player, remote controls can be used in connection with personal computers, game consoles, etc. Remote controls can also be used to control the lighting, window fixtures, thermostats, home alarm system, etc.
within the home.
Universal remote controls available today perform a valuable function, consolidating three, four, five, and more remote controls into one device.
Typically, the universal remote control simplifies operation by reducing the number of keys and, therefore, the number of features available to the consumer. With the same number of keys as found on one remote control, the universal remote control can operate the basic functions of several home appliances.
For companies that provide remote controls, home appliances continue their march toward even greater complexity. As new and more complex home appliances emerge, a new form of easy-to-use remote control will be required to meet the needs of consumers. To appeal to the largest number of consumers, this new form of remote control must also be inexpensive. Furthermore, to accommodate the continuing growth in complexity of home appliances, this new form of remote control must possess new features and include the ability to stay flexible.
SUMMARY OF THE INVENTION
In accordance with these needs, the subject invention is directed to a hand-held device having a display and a browser application which supports functionality particularly suited for the hand-held device. For example, the browser application supports a full screen tag which allows information to be displayed as a full screen within the display. The browser application may also support a tag for use in displaying a link the activation of which will cause the hand-held device to transmit command codes to a consumer appliance. Still further, the browser application can support a tag which the hand-held device can use to issue reminders.
A better understanding of the objects, advantages, features, properties and relationships of the invention will be obtained from the following detailed description and accompanying drawings which set forth an illustrative embodiment which is indicative of the various ways in which the principles of the invention may be employed.
2 BRIEF DESCRIPTION OF THE DRAWINGS
For a better understanding of the invention, reference may be had to a preferred embodiment shown in the following drawings in which:
Figure 1 illustrates a pictorial drawing of a universal remote control in which the principles of the subject invention may be embodied;
Figure 2 illustrates an exploded assembly drawing of the universal remote control illustrated in Fig. 1;
Figure 3 illustrates a block diagram of exemplary hardware for use in connection with the universal remote control illustrated in Fig. 1;
Figure 4 illustrates an exemplary operating system and hardware hierarchy for use in the universal remote control illustrated in Fig. 1;
Figure 5 illustrates an exemplary remote control application program hierarchy for use in the universal remote control illustrated in Fig. 1;
Figure 6 illustrates an exemplary sub-application program hierarchy for use in setting up the universal remote control illustrated in Fig. 1;
Figure 7 illustrates an exemplary sub-application program hierarchy for use in personalizing the universal remote control illustrated in Fig. 1;
Figure 8 illustrates an exemplary sub-application program hierarchy for use in establishing the overall system behavior of the universal remote control illustrated in Fig. 1;
Figure 9 illustrates an exemplary process for initializing a browser application resident on the universal remote control illustrated in Fig. 1;
Figure 10 illustrates an exemplary operational sequence of the browser application resident on the universal remote control illustrated in Fig. 1;
Figure 11 illustrates an exemplary browser screen layout capable of being displayed on the universal remote control of Fig. 1;
Figure 12 illustrates an exemplary browser-based home control screen displayed on the universal remote control of Fig. 1 and the HTML source for use in displaying the control screen;
Figure 13 illustrates an exemplary browser-based TV guide screen displayed on the universal remote control of Fig. l and the HTML source for use in displaying the TV guide screen;
For a better understanding of the invention, reference may be had to a preferred embodiment shown in the following drawings in which:
Figure 1 illustrates a pictorial drawing of a universal remote control in which the principles of the subject invention may be embodied;
Figure 2 illustrates an exploded assembly drawing of the universal remote control illustrated in Fig. 1;
Figure 3 illustrates a block diagram of exemplary hardware for use in connection with the universal remote control illustrated in Fig. 1;
Figure 4 illustrates an exemplary operating system and hardware hierarchy for use in the universal remote control illustrated in Fig. 1;
Figure 5 illustrates an exemplary remote control application program hierarchy for use in the universal remote control illustrated in Fig. 1;
Figure 6 illustrates an exemplary sub-application program hierarchy for use in setting up the universal remote control illustrated in Fig. 1;
Figure 7 illustrates an exemplary sub-application program hierarchy for use in personalizing the universal remote control illustrated in Fig. 1;
Figure 8 illustrates an exemplary sub-application program hierarchy for use in establishing the overall system behavior of the universal remote control illustrated in Fig. 1;
Figure 9 illustrates an exemplary process for initializing a browser application resident on the universal remote control illustrated in Fig. 1;
Figure 10 illustrates an exemplary operational sequence of the browser application resident on the universal remote control illustrated in Fig. 1;
Figure 11 illustrates an exemplary browser screen layout capable of being displayed on the universal remote control of Fig. 1;
Figure 12 illustrates an exemplary browser-based home control screen displayed on the universal remote control of Fig. 1 and the HTML source for use in displaying the control screen;
Figure 13 illustrates an exemplary browser-based TV guide screen displayed on the universal remote control of Fig. l and the HTML source for use in displaying the TV guide screen;
3 Figure 14 illustrates a two-way communication system including a computer, a computer network, and the universal remote control illustrated in Fig. 1;
Figure 15 illustrates an exemplary Server Application Flow Chart for use in connection with the two-way communication system illustrated in Fig. 14;
Figure 16 illustrates an exemplary display of Web-based data using the browser of the universal remote control illustrated in Fig. l;
Figure 17 illustrates the universal remote control illustrated in Fig. 1 docked to an optional keyboard;
Figures 18a and 18b illustrate an exemplary method by which the remote control illustrated in Fig. 1 can be used to retrieve information regarding an appliance and the resulting display of an exemplary retrieved user's manual;
Figures 19a and 19b illustrate a further exemplary method by which the remote control illustrated in Fig. 1 can be used to retrieve information regarding an appliance and the resulting display of an exemplary retrieved user's manual;
Figure 20 illustrates an exemplary menu page for use in retrieving information regarding an appliance displayed on the remote control illustrated in Fig.l;
Figure 21 illustrates an exemplary error message displayed on the remote control illustrated in Fig. 1 displayed due to an error in communication;
Figure 22 illustrates a two-way communication system including an appliance and the universal remote control illustrated in Fig. 1;
Figure 23 illustrates an alternative two-way communication system including an appliance and the universal remote control illustrated in Fig. 1;
Figure 24 illustrates an exemplary display of screens used to display song lyrics using the remote control illustrated in Fig. 1;
Figure 25 illustrates an exemplary system for use in displaying closed captioning information using the remote control illustrated in Fig. 1;
Figure 26 illustrates an exemplary method for use in displaying closed captioning information using the system illustrated in Fig. 25.
Figure 27 illustrates an exemplary display of screens used to display TV guide information and to set and display reminders to watch certain shows using the remote control illustrated in Fig. 1;
Figure 28 illustrates an exemplary method by which the remote control illustrated in Fig. 1 can generate reminder displays of the type illustrated in Fig. 27;
Figure 15 illustrates an exemplary Server Application Flow Chart for use in connection with the two-way communication system illustrated in Fig. 14;
Figure 16 illustrates an exemplary display of Web-based data using the browser of the universal remote control illustrated in Fig. l;
Figure 17 illustrates the universal remote control illustrated in Fig. 1 docked to an optional keyboard;
Figures 18a and 18b illustrate an exemplary method by which the remote control illustrated in Fig. 1 can be used to retrieve information regarding an appliance and the resulting display of an exemplary retrieved user's manual;
Figures 19a and 19b illustrate a further exemplary method by which the remote control illustrated in Fig. 1 can be used to retrieve information regarding an appliance and the resulting display of an exemplary retrieved user's manual;
Figure 20 illustrates an exemplary menu page for use in retrieving information regarding an appliance displayed on the remote control illustrated in Fig.l;
Figure 21 illustrates an exemplary error message displayed on the remote control illustrated in Fig. 1 displayed due to an error in communication;
Figure 22 illustrates a two-way communication system including an appliance and the universal remote control illustrated in Fig. 1;
Figure 23 illustrates an alternative two-way communication system including an appliance and the universal remote control illustrated in Fig. 1;
Figure 24 illustrates an exemplary display of screens used to display song lyrics using the remote control illustrated in Fig. 1;
Figure 25 illustrates an exemplary system for use in displaying closed captioning information using the remote control illustrated in Fig. 1;
Figure 26 illustrates an exemplary method for use in displaying closed captioning information using the system illustrated in Fig. 25.
Figure 27 illustrates an exemplary display of screens used to display TV guide information and to set and display reminders to watch certain shows using the remote control illustrated in Fig. 1;
Figure 28 illustrates an exemplary method by which the remote control illustrated in Fig. 1 can generate reminder displays of the type illustrated in Fig. 27;
4 Figure 29 illustrates an exemplary display of screens used to provide additional information about a product whose UPC bar code has been entered using a bar code reader attached to the remote control illustrated in Fig. l; and Figure 30 illustrates an exemplary display of screens used to display TV guide information ordered according to individual preference.
DETAILED DESCRIPTION
Referring now to Figures 1 and 2, there is illustrated a universal remote control device 10, sometimes referred to as the "Mosaic" in the figures, in which the teachings of the present invention may be embodied. The remote control 10 comprises a housing 11 itself comprising two parts, namely, an upper housing 12 and a lower housing 13. Included in the lower housing 12 is a battery cover 14, a stylus repository, and a slot 16 through which a liquid crystal display (LCD) contrast control switch 42 may be accessed. Stylus 19 may be located in the stylus repository.
The upper housing 12 has openings through which keys 20, red light emitting diode (LED) 22 and a LCD 24 with a translucent touch sensitive overlay can be accessed. The keys 20 are illustrated as being arranged in a vertical line to the right of the LCD 24 and may comprise (from top to bottom) a "Backlight" key 30, "Volume Up" and "Volume Down" keys 32 and 34, "Mute" key 36, and "Channel Up" and "Channel Down" keys 38 and 40, respectively. The contrast control switch 42 can be located on the right side of the remote control 10 below the "Volume Up" and "Volume Down" keys, 38 and 40. The upper housing 12 may also include an opening for voice access to a microphone.
At the top or forward end of the remote control 10, there is illustrated an opening for two forward facing infrared LEDs SO and two side facing LEDs 51.
While the LEDs are provided for transmitting command signals to consumer devices, the forward facing LEDs 50 may also perform as an infrared light detector according to the teachings of co-pending U.S. Patent application 09/080,125 which is incorporated herein by reference in its entirety. The opening in which the LEDs 50 and 51 are carried may be covered by an infrared-transparent lens 17. The forward end of the remote control 10 may also include an opening for an RF antenna 52.
On the underneath portion of the remote control 10 are located openings for a battery compartment 58 and, optionally, a speaker, and/or battery charging contacts.
On the
DETAILED DESCRIPTION
Referring now to Figures 1 and 2, there is illustrated a universal remote control device 10, sometimes referred to as the "Mosaic" in the figures, in which the teachings of the present invention may be embodied. The remote control 10 comprises a housing 11 itself comprising two parts, namely, an upper housing 12 and a lower housing 13. Included in the lower housing 12 is a battery cover 14, a stylus repository, and a slot 16 through which a liquid crystal display (LCD) contrast control switch 42 may be accessed. Stylus 19 may be located in the stylus repository.
The upper housing 12 has openings through which keys 20, red light emitting diode (LED) 22 and a LCD 24 with a translucent touch sensitive overlay can be accessed. The keys 20 are illustrated as being arranged in a vertical line to the right of the LCD 24 and may comprise (from top to bottom) a "Backlight" key 30, "Volume Up" and "Volume Down" keys 32 and 34, "Mute" key 36, and "Channel Up" and "Channel Down" keys 38 and 40, respectively. The contrast control switch 42 can be located on the right side of the remote control 10 below the "Volume Up" and "Volume Down" keys, 38 and 40. The upper housing 12 may also include an opening for voice access to a microphone.
At the top or forward end of the remote control 10, there is illustrated an opening for two forward facing infrared LEDs SO and two side facing LEDs 51.
While the LEDs are provided for transmitting command signals to consumer devices, the forward facing LEDs 50 may also perform as an infrared light detector according to the teachings of co-pending U.S. Patent application 09/080,125 which is incorporated herein by reference in its entirety. The opening in which the LEDs 50 and 51 are carried may be covered by an infrared-transparent lens 17. The forward end of the remote control 10 may also include an opening for an RF antenna 52.
On the underneath portion of the remote control 10 are located openings for a battery compartment 58 and, optionally, a speaker, and/or battery charging contacts.
On the
5 left side of the remote control 10 can be placed a jack 61 reserved for serial data operations. In certain embodiments, a magnetic modem coupler 71, as described in US Patent 5,537,463 which is incorporated herein by reference in its entirety, can be included to permit transfer of data into the unit via a telephone handset or other source of magnetically encoded signal such as television or P.C. loudspeakers.
Referring now to Figure 3, there is illustrated a block diagram of exemplary operating circuitry 100 of the remote control 10. The operating circuitry 100 may be powered directly by a battery or indirectly from another electrical source (i.e., by way of the battery charging contacts or other do power source). The power supply is regulated and monitored by a power conditioning and status circuit 106. The operating circuitry 100 preferably includes a memory bank 110 comprising RAM
and flash memory 112, main processor 101 (e.g., a Sharp LU77790A), a display module 180 comprising a liquid crystal display glass 182, touch panel overlay 184, electroluminescent backlight 186 and drivers 188.
Also included in the operating circuitry 100 are shown a general purpose serial I/O circuit 108, an infrared controller 140 (e.g, comprising a Samsung Microcontroller), an infrared transmitter circuit 150, an infrared receiver circuit 160, a Analog-to-Digital converter (ADC) and touch decoder circuit 170 (e.g., comprising a PIC16LC715 Microcontroller or other touch screen controller/decoder chip), a speaker or buzzer 102, a key pad 190 (the electrical diagram equivalent of the elastomeric keyboard 20 shown in Figure 2), a magnetic modem 71, and an RF
module 152 comprising an RF controller 120 (e.g., a PIC16F84 Microcontroller) and an RF transceiver 130 (e.g. an RF Microdevices RF2915 chip). In an alternative embodiment, the RF module 125 may comprise an "off the-shelf' RF transceiver unit with an integral baseband processor such as the "900 MHz Microhopper"
available from World Wireless Communications Inc. (part number 011-1882). It will be appreciated that RF modules of other manufacture and/or other technologies (Bluetooth, IEE802.1 l, etc.) are equally suitable. The RF circuitry is connected to the RF antenna 52 while the IR circuitry is connected to the IR LEDs 50 and 51.
The main processor (e.g., a Sharp "System on a Chip," the LU77790A) may be based on a 32-bit, ARM RISC (Reduced Instruction Set Computer) core. In this regard, the main processor would comprise the ARM processor core 300, LCD
controller 310, general purpose I/O ports 320, and multiple serial UART ports 330.
Referring now to Figure 3, there is illustrated a block diagram of exemplary operating circuitry 100 of the remote control 10. The operating circuitry 100 may be powered directly by a battery or indirectly from another electrical source (i.e., by way of the battery charging contacts or other do power source). The power supply is regulated and monitored by a power conditioning and status circuit 106. The operating circuitry 100 preferably includes a memory bank 110 comprising RAM
and flash memory 112, main processor 101 (e.g., a Sharp LU77790A), a display module 180 comprising a liquid crystal display glass 182, touch panel overlay 184, electroluminescent backlight 186 and drivers 188.
Also included in the operating circuitry 100 are shown a general purpose serial I/O circuit 108, an infrared controller 140 (e.g, comprising a Samsung Microcontroller), an infrared transmitter circuit 150, an infrared receiver circuit 160, a Analog-to-Digital converter (ADC) and touch decoder circuit 170 (e.g., comprising a PIC16LC715 Microcontroller or other touch screen controller/decoder chip), a speaker or buzzer 102, a key pad 190 (the electrical diagram equivalent of the elastomeric keyboard 20 shown in Figure 2), a magnetic modem 71, and an RF
module 152 comprising an RF controller 120 (e.g., a PIC16F84 Microcontroller) and an RF transceiver 130 (e.g. an RF Microdevices RF2915 chip). In an alternative embodiment, the RF module 125 may comprise an "off the-shelf' RF transceiver unit with an integral baseband processor such as the "900 MHz Microhopper"
available from World Wireless Communications Inc. (part number 011-1882). It will be appreciated that RF modules of other manufacture and/or other technologies (Bluetooth, IEE802.1 l, etc.) are equally suitable. The RF circuitry is connected to the RF antenna 52 while the IR circuitry is connected to the IR LEDs 50 and 51.
The main processor (e.g., a Sharp "System on a Chip," the LU77790A) may be based on a 32-bit, ARM RISC (Reduced Instruction Set Computer) core. In this regard, the main processor would comprise the ARM processor core 300, LCD
controller 310, general purpose I/O ports 320, and multiple serial UART ports 330.
6
7 PCT/US02/04064 The main processor is provided to manage the entire process of interacting with the user through the backlit, graphical, touchscreen, LCD module 180, the speaker or buzzer 102, the key pad 190, the microphone and/or the red LED 235 (LED 22 of Figs. 1 and 2) and to provide two-way infrared and RF communications through the infrared controller 140 and the RF controller 120.
Fig. 3 further illustrates the electrical connections between the various modules such as connection 200 interconnecting the memory module 110 with the main processor 101, connections 210 and 220 interconnecting the LCD 180 with the main processor 101, connections 230, 240, 250, 260, and 270 interconnecting the main processor 101 with the key pad 190, buzzer 102, the general purpose serial I/O
circuit 108 and the RF controller 120, infrared controller 140, and ADC and touch decoder circuit 170, respectively. Other connections include the connection between the RF controller 120 and the RF transceiver 130 and connection 262 interconnecting the infrared controller 140 with the infrared transmitter 150 and also connecting the infrared controller 140 with the infrared receiver 160.
The electronic configuration illustrated in block diagram 100 comprises a general purpose, mufti-processor system. The operation of the mufti-processor system is controlled by internal control software. The control software may include routines, programs, objects, components, and/or data structures that perform particular tasks that can be viewed as an operating system together with one or more applications.
The operating system provides an underlying set of management and control functions which are utilized by the applications to offer user functions such as control of consumer appliances, access to Internet data, display of home automation controls, display of TV guide information, and the like. It should be understood that, while the term "remote control" is used herein to designate the physical unit, in terms of the internal software architecture the conventional "clicker" remote control user interface is but one of several possible applications which may co-exist within the unit.
Architecturally, the system is organized around the concept of Events and Resources. Events are occurrences which initiate an action. More specifically, an Event is an occurrence that requires a response from the remote control 10.
Events include user-initiated activities such as pressing a physical key on the keypad 20, activating the touch screen LCD 24, speaking into a microphone, etc. Events can also be generated by the main processor 101, for example by an internal timer register. In addition, Events can be generated by external means such as, for example, a communication transmission.
In response to an Event, the remote control will typically access one or more of its Resources. A Resource is, in its broadest definition, a block of data.
The data is often of a specific (i.e., defined) type. Within the memory 110, each memory data block is preferably identified by its "Resource ID" or by another indication where the Resource is located in the memory structure. Examples of Resources are bitmaps, strings, and control and display definitions. Generally, Resources are used to configure the remote control 10 to be responsive to the needs of the user.
Many Resources are loaded into the memory 110 of the remote control 10 by the manufacturer when the remote control 10 is built. Other Resources may be created or modified by the user and still other Resources can be remotely loaded into the memory 110 by a service center, via the Internet, etc. Resources allow the behavior, look and feel of the remote control 10 to be altered, even after it has been sold and is in the hands of the user thus permitting the user to personalize the remote control 10 to his or her own tastes.
For ease of development, Resources may be instantiated within the remote control 10 by use of a Resource Compiler running on a PC or equivalent. The Resource Compiler accepts a text description of graphic and control elements and compiles them into memory data structures suitable for use within the remote control 10. Although other mechanisms, e.g. manual compilation, self generation by the remote control operating system under user control, etc., are possible, a PC
based Resource Compiler may provide the most efficient method for rapid development of Resources needed for a particular remote control application. To assist in a better understanding of the Resources used to construct the remote control user interface software described herein, examples of commands which are available in an exemplary Resource Compiler for use in generating the memory data structures for the remote control include:
BITMAP (BitMapName BitsPerPixel Width, Height, Radix) The BITMAP command generates a black and white bitmap Resource.
"BitMapName" is the bitmap Resource ID while the "Width" and "Height" size the bitmap. "BitsPerPixel" is set to 'I' and "Radix" is set to '2' in the first generation of the remote control product.
FONT (FontName, StartAsciiIndex, EndAsciiIndex) FONT generates a Resource Table that associates numeric values with bitmaps. This approach permits the use of an unordered set of bitmaps to be used as alphabetic characters or font. "FontName" is a SYMBOL. Its assigned value is the S Resoure ID of the font. "StartAsciiIndex" is the index value associated with the first bitmap ID. "EndAsciiIndex" is the index value associated with the last bitmap ID. A
list of bitmap Ids follows this Command. The bitmap IDs are typically expressions in the form of SYMBOL names.
STRING (Strin~Name StringCharacters) STRING generates a String Resource. "StringName" is a SYMBOL. Its assigned value is the String Resource ID. "StringCharacters" comprise the text in the string.
DATA (DataName [DataSpecifier [Expr]] DataEnd) DATA generates a Data Resource. "DataName" is a SYMBOL. Its assigned 1 S value is the Data Resource ID. "DataSpecifier" indicates the size of the expressions ("Expr") that follow it. There can be multiple expressions following a DataSpecifier and there can be multiple DataSpecifiers in a Data Resource.
BITMAPBUTTONCONTROL (ControlName ControlCode, UpBitMapID, DownBitMapID InactiveBitMapID SelectBitMapID) BITMAPBUTTONCONTROL generates a bitmap push button control.
"ControlName" is a SYMBOL. Its assigned value is the Resource ID for the control.
"ControlCode" is the value generated when the control on the touchscreen display is pressed or released. "UpBitMapID" is the Resource ID of the bitmap that is drawn on the display when the control is active but not pressed. "DownBitMapID" is the Resource ID of the bitmap that is drawn on the display when the control is active and pressed by the user. "InactiveBitMapID" is the Resource ID of the bitmap that is drawn on the display when the control is inactive. "SelectedBitMapID" is the Resource ID of the bitmap that is drawn on the display when the control is active and visually highlighted.
STRINGBITMAPCONTROL (ControlName ControlCode, Strin~ID, FontID, UpBitMapID, DownBitMapID) STRINGBITMAPCONTROL generates a bitmap push button control on the display with a string drawn over it. "ControlName" is a SYMBOL. Its assigned value is the Resource ID for the control. "ControlCode" is the value generated when the control on the touchscreen is pressed or released. "StringID" is the Resource ID of the string that is drawn when the control is pressed or unpressed. "FontID" is the Resource ID of the font with which the string is drawn. "UpBitMapID" is the ResourceID of the bitmap that is drawn on the display when the control is active but not pressed. "DownBitMapID" is the Resource ID of the bitmap that is drawn on the display when the control is active and pressed by the user.
COMPOSITECONTROL (ControlName TopX TopY, ControlCode, Parameters f belowl, End) Rect: Xoffset, Yoffset, Width, Height, ForeGroundColor, BackGroundColor BitMap: BitMapID, Xoffset, Yoffset, XferMethod Line: Xloffset, Yloffset, X2offset, Y2offset RoundRect: Xoffset, Yoffset, Width, Height, Radius, ForeGroundColor, BackGroundColor Text: StringID, Xoffset, Yoffset, Spacing, ForeGroundColor, BackGroundColor, Direction, FontID
ClipRect: Xoffset, Yoffset, Width, Height COMPOSITECONTROL generates a bitmap control for display from a collection of drawing primitives. The control may be used as a picture or as a pushbutton control.
Unlike other controls just mentioned, this control does not change when pressed.
"ControlName" is a SYMBOL. Its assigned value is the Resource ID for the control.
"TopX" is the left coordinate of the control. "TopY" is the top coordinate of the control. "ControlCode" is the value generated when the control on the touchscreen display is pressed or released. The parameters are optional graphic commands.
They are:
'Rect' defines an unfilled rectangle. Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the rectangle is located. Width an Height are the dimensions of the rectangle.
ForeGroundColor is the color of the rectangle and BackGroundColor is the color behind the text.
'BitMap' defines a bitmap and its location. BitMapID is the Resource ID
of the bitmap. Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the bitmap is located. The XferMethod determines how the bits in the bitmap will be applied.
'Line' draws a line from Xloffset, Yloffset to X2offset, Y2offset.
X 1 offset and Y 1 offset are the distance from TopX and TopY at which point the line begins. X2offset and Y2offset are the distance from TopX and TopY
at which point the line ends.
'RoundRect' defines a rectangle with rounded corners. Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the rectangle is located. Width an Height are the dimensions of the rectangle. Radius is the radius of the rounded corners. ForeGroundColor is the color of the rectangle and BackGroundColor is the color behind the text.
'Text' places a text string on the display. StringID is the Resource ID of the text to be drawn on the display. Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the string is located.
Spacing is the number of blank bits between letters. ForeGroundColor is the color of the text and BackGroundColor is the color behind the text. Direction specifies the direction at which the text will be drawn. The FontID is the Resource ID for the font to be used in representing the text.
'ClipRect' defines an allowable area within the display within which a drawing may appear. Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the drawing area is located. Width an Height are the dimensions of the drawing area.
SCROLLCONTROL (ControlName ControlCode, Left, Top, Right, Bottom, State, TopUpID Top_DownID, BottomUpID, BottomDownID) SCROLLCONTROL generates a bitmap control which displays a vertical scroll bar with top and bottom arrows. "ControlName" is a SYMBOL. Its assigned value is the Resource ID for the control. "ControlCode" is the value generated when the control on the touchscreen is pressed or released. "Left" is the left most X
coordinate of the displayed control. "Top" is the upper most Y coordinate of the displayed control. "Right" is the right most X coordinate of the displayed control.
"Bottom" is the lower most Y coordinate of the displayed control. "State" is the default settings for the state flags. "TopUpID" is the Resource ID of the top arrow bitmap that is drawn on the display when the control is active but not pressed.
"TopDownID" is the Resource ID of the top arrow bitmap that is drawn on the display when the control is active and pressed by the user. "BottomUpID" is the Resource ID
of the bottom arrow bitmap that is drawn on the display when the control is active but not pressed. "BottomDownID" is the Resource ID of the bottom arrow bitmap that is drawn on the display when the control is active and pressed by the user.
TEXTBOXRESOURCE (ControlName ControlCode, Width, Height, Left, Top, Right Bottom ScrollID Strin~ID, FontID, Box, Type, Radius) TEXTBOXRESOURCE generates an allowable area on the display for text and an optional scrollbar and fills the area with scrollable text.
"ControlName" is a SYMBOL. Its assigned value is the Resource ID for the control. "ControlCode"
is the value generated when the control on the touchscreen is pressed or released.
"Width" and "Height" are the dimensions of the text box, including the scroll bar.
"Left" is the left most X coordinate of the displayed control. "Top" is the upper most Y coordinate of the displayed control. "Right" is the right most X coordinate of the 1 S displayed control. "Bottom" is the lower most Y coordinate of the displayed control.
"ScrollID" is the Resource ID of the scroll control used in the text box.
"StringID" is the Resource ID of the string that is drawn when the display is first shown.
"FontID"
is the Resource ID of the font with which the string is drawn. "BoxID"
specifies that the box will not be drawn or will be drawn with square or rounded corners. If rounded corners are specified, "Radius" defines the radius of the rounded corners.
Turning to Fig. 4, the Operating System (OS) 400 software that the Main Processor 101 executes is organized into several units called Managers. Each Manager performs a specific task when called upon by the OS 400. The following are exemplary Managers:
The Memory Manager 402 allocates blocks of memory and resources for use by an application program 434.
The Display Manager 404 controls what is shown on the LCD (180 in Figure 3). It can control what is shown over the entire LCD or just a portion of it. The Display Manager 404 generates a display based primarily on specified Resources held in memory. The display can, therefore, be modified by changing the content of the Resource rather than by changing the Display Manager code 404.
The Control Manager 406 creates and destroys controls as well as handles the user responses to the interactive graphical controls displayed on the LCD. When a user selects a graphical icon shown on the LCD, the Control Manager 406 responds to the Event and may alter the graphical S display in response to the user action. All icons and graphical entities displayed by the Control Manager 406 originate as a Resource and may, therefore, be changed.
The Graphic Manager 408 is responsible for the actual drawing of the entities shown on the display. It also loads the alphabetic fonts used for text in the display.
The Event Manager 410 will queue or mask Events that arise during the operation of the remote control 10. These Events include user interaction with the touch screen 24 or key pad 20 and system Events generated by timers or by any of the communication ports. Events in the queue are accessed by 1 S Application Software 434.
The real-time clock (RTC) Manager 412 generates a periodic timing mark as an Event. It may also be adapted to keep the current time.
The Touch Manager 414 generates an Event each time the touch screen 24 is touched and sends the Event to the Event manager 410.
The Communication Manager 416 handles all serial messages between the Applications 430 or other Operating System software modules and those peripherals connected on the serial buses such as the infrared controller 140, and the ADC and touch decoder 170.
The RF I/O manager 418 handles all two-way data communication between Applications 430 and remote resources such as server applications running in other devices (PCs, set top boxes, TV sets, CD jukeboxes, etc.).
To communicate to systems beyond those devices conventionally found in a home entertainment system, the remote control 10 provides a two-way infrared or two-way RF system (or other communication technology). Using this communication technology, the remote control 10 can access, process, and/or display data from remote sources. The RF I/O manager 418 (or IR I/O manager in the event a two-way IR communications path is used instead) accepts data from Applications 430 running under the OS and prepares the data for communication by splitting the data into packets and adding packet header information. It also accepts received packets, ensures packet integrity and assembles the received packets into data to be sent to the Applications) 430.
The RF I/O manager 418 interacts directly with the two-way RF hardware previously described (e.g., RF controller 120 and RF transceiver 130).
Checksums are appended to outbound data and the packets are sent. Inbound data is received from the communications hardware. Error free packets are passed to the Application interface and a confirmation of successful reception is sent to the originator. Packets with errors are discarded and up to three retransmit requests can be sent to the originator.
In one preferred embodiment, the data communication protocol implemented by the RF I/O Manager 418 comprises communication packets which can carry data or commands. Each packet comprises a header and the attached command or data.
Commands are transfers of non-data and are acted upon. A sequence is any number of packets that comprises an entire transfer of data, such as a complete text stream, a complete bitmap file, a Web page or any other complete data resource. A block is a series of data packets. A single block or multiple blocks may constitute a sequence.
An exemplary Communication Packet format is illustrated in Table 1 below.
Table 1 Field Bytes ~ Description Byte Count 1 Total number of bytes supplied to the end of the data (7+n) To Address 2 The address of the receiving station (usually the server).
From Address2 The address of the Remote Control platform Packet Number1 Bits 0-6 are used to be sure every packet is sequential.
Most significant bit used to indicate a command packet (MSB set).
Port Number 1 Used to keep track of multiple data streams.
Data n Packet payload - data or command The Byte Count is the total number of bytes in the packet, including the header. The To Address is the address of the receiving station (usually a server or gateway). The From Address is the address of the remote control 10. The Packet Number is used to ensure every packet is sequential. The Most Significant Bit of the Packet Number indicates a command packet when set to a Logic 1. A unique Port Number can be assigned to each unique data sequence, so that packets of different sequences can be transmitted in an interleaved fashion. Each separate stream of data packets should have its own port number as well as its own packet number sequence.
In one embodiment, six commands are defined for use by the remote control 10. The payload data of each command comprises a one byte command code followed by a variable number of parameters, as:
STX (data = Ox02h). The STX command indicates the start of the transmission of a series of packets comprising a data sequence. This command is accompanied by parameters which specify the total number of packets in the sequence and the Port Number assigned to the sequence. Once an STX command is answered by an ACK, any communication using the specified Port Number will be associated with that specific "sequence" of data.
ETX (data = Ox03h). The ETX command follows after a complete sequence has been transmitted, and contains the checksum for the entire sequence (excluding the headers). If a NAK is sent as a reply to an ETX
command it is meant to signal retransmission of the entire sequence.
ACK (data = Ox06h). The ACK command signals a successful transfer of a data Block or Sequence.
NAK (data = Ox 15h). The NAK command signals an unsuccessful transfer of a data block or sequence. NAK also constitutes a request for retransmission of the data not correctly received.
ETB (data = Oxl7h). The ETB command indicates the end of a block of data. Also causes the packet sequence count to be reset to zero.
CAN (data = Ox18h). The CAN command cancels the sequence on the Port Number included in the data portion of this command.
While the above describes one possible implementation of a communications protocol for transfer of data between the remote control 10 and another device, it will be appreciated that there are many other possible protocols that are equally suitable including, but not limited to, those corresponding to various standards, e.g.
Bluetooth, IrDA Control, IEE802.11 and others.
To effect the transmission of IR codes, the IR controller 140 communicates with applications 430 resident in the remote control 10 using a pre-defined set of commands. Since the actual mechanisms and formats for transmitting such IR
signals are well known in the art - see, for example, U.S. Patent 4,959,810 which is incorporated herein by reference in its entirety - it will not be described further herein.
In an exemplary embodiment, the SendIR command is issued to the IR Controller to cause an IR code to be transmitted. The SendIR command may be a six byte packet including the fields RcdLength( 1 ), O 1 h, DeviceTypeNum(2),KeyCode( 1 ) and KeyFlag(1) where:
RcdLength is a one byte value indicating the total number of bytes in this packet.
O 1 h is a command type which identifies this command as a "send IR"
command.
DeviceTypeNum is a combination of DeviceType and DeviceNumber as follows:
Bits 15..12: DeviceType - see Table 2 below.
Bits 11..0: DeviceNumber represents a four (decimal) digit number which identifies a set of IR functions to control a specific device (e.g.
"Sony TV set") KeyCode identifies the function to be transmitted, according to Table 3 below.
KeyFlag indicates if any special processing is required. For example, if KeyFlag bit 7 is "on" this can indicate that this IR command is part of a macro sequence playback, requiring that the IR data frame be repeated a certain minimum number of times. If bit 5 is "on" this can indicate that the IR
Controller should use a learned IR code rather than its pre-programmed code.
Table 2: IR Controller device types Device Type Device Name Letter Representation 1 Cable C
2 Video Accessory N
3 Satellite/DSS S
5 Cassette Tape K
6 Laser Disk L
7 Digital Audio J
Tape
Fig. 3 further illustrates the electrical connections between the various modules such as connection 200 interconnecting the memory module 110 with the main processor 101, connections 210 and 220 interconnecting the LCD 180 with the main processor 101, connections 230, 240, 250, 260, and 270 interconnecting the main processor 101 with the key pad 190, buzzer 102, the general purpose serial I/O
circuit 108 and the RF controller 120, infrared controller 140, and ADC and touch decoder circuit 170, respectively. Other connections include the connection between the RF controller 120 and the RF transceiver 130 and connection 262 interconnecting the infrared controller 140 with the infrared transmitter 150 and also connecting the infrared controller 140 with the infrared receiver 160.
The electronic configuration illustrated in block diagram 100 comprises a general purpose, mufti-processor system. The operation of the mufti-processor system is controlled by internal control software. The control software may include routines, programs, objects, components, and/or data structures that perform particular tasks that can be viewed as an operating system together with one or more applications.
The operating system provides an underlying set of management and control functions which are utilized by the applications to offer user functions such as control of consumer appliances, access to Internet data, display of home automation controls, display of TV guide information, and the like. It should be understood that, while the term "remote control" is used herein to designate the physical unit, in terms of the internal software architecture the conventional "clicker" remote control user interface is but one of several possible applications which may co-exist within the unit.
Architecturally, the system is organized around the concept of Events and Resources. Events are occurrences which initiate an action. More specifically, an Event is an occurrence that requires a response from the remote control 10.
Events include user-initiated activities such as pressing a physical key on the keypad 20, activating the touch screen LCD 24, speaking into a microphone, etc. Events can also be generated by the main processor 101, for example by an internal timer register. In addition, Events can be generated by external means such as, for example, a communication transmission.
In response to an Event, the remote control will typically access one or more of its Resources. A Resource is, in its broadest definition, a block of data.
The data is often of a specific (i.e., defined) type. Within the memory 110, each memory data block is preferably identified by its "Resource ID" or by another indication where the Resource is located in the memory structure. Examples of Resources are bitmaps, strings, and control and display definitions. Generally, Resources are used to configure the remote control 10 to be responsive to the needs of the user.
Many Resources are loaded into the memory 110 of the remote control 10 by the manufacturer when the remote control 10 is built. Other Resources may be created or modified by the user and still other Resources can be remotely loaded into the memory 110 by a service center, via the Internet, etc. Resources allow the behavior, look and feel of the remote control 10 to be altered, even after it has been sold and is in the hands of the user thus permitting the user to personalize the remote control 10 to his or her own tastes.
For ease of development, Resources may be instantiated within the remote control 10 by use of a Resource Compiler running on a PC or equivalent. The Resource Compiler accepts a text description of graphic and control elements and compiles them into memory data structures suitable for use within the remote control 10. Although other mechanisms, e.g. manual compilation, self generation by the remote control operating system under user control, etc., are possible, a PC
based Resource Compiler may provide the most efficient method for rapid development of Resources needed for a particular remote control application. To assist in a better understanding of the Resources used to construct the remote control user interface software described herein, examples of commands which are available in an exemplary Resource Compiler for use in generating the memory data structures for the remote control include:
BITMAP (BitMapName BitsPerPixel Width, Height, Radix) The BITMAP command generates a black and white bitmap Resource.
"BitMapName" is the bitmap Resource ID while the "Width" and "Height" size the bitmap. "BitsPerPixel" is set to 'I' and "Radix" is set to '2' in the first generation of the remote control product.
FONT (FontName, StartAsciiIndex, EndAsciiIndex) FONT generates a Resource Table that associates numeric values with bitmaps. This approach permits the use of an unordered set of bitmaps to be used as alphabetic characters or font. "FontName" is a SYMBOL. Its assigned value is the S Resoure ID of the font. "StartAsciiIndex" is the index value associated with the first bitmap ID. "EndAsciiIndex" is the index value associated with the last bitmap ID. A
list of bitmap Ids follows this Command. The bitmap IDs are typically expressions in the form of SYMBOL names.
STRING (Strin~Name StringCharacters) STRING generates a String Resource. "StringName" is a SYMBOL. Its assigned value is the String Resource ID. "StringCharacters" comprise the text in the string.
DATA (DataName [DataSpecifier [Expr]] DataEnd) DATA generates a Data Resource. "DataName" is a SYMBOL. Its assigned 1 S value is the Data Resource ID. "DataSpecifier" indicates the size of the expressions ("Expr") that follow it. There can be multiple expressions following a DataSpecifier and there can be multiple DataSpecifiers in a Data Resource.
BITMAPBUTTONCONTROL (ControlName ControlCode, UpBitMapID, DownBitMapID InactiveBitMapID SelectBitMapID) BITMAPBUTTONCONTROL generates a bitmap push button control.
"ControlName" is a SYMBOL. Its assigned value is the Resource ID for the control.
"ControlCode" is the value generated when the control on the touchscreen display is pressed or released. "UpBitMapID" is the Resource ID of the bitmap that is drawn on the display when the control is active but not pressed. "DownBitMapID" is the Resource ID of the bitmap that is drawn on the display when the control is active and pressed by the user. "InactiveBitMapID" is the Resource ID of the bitmap that is drawn on the display when the control is inactive. "SelectedBitMapID" is the Resource ID of the bitmap that is drawn on the display when the control is active and visually highlighted.
STRINGBITMAPCONTROL (ControlName ControlCode, Strin~ID, FontID, UpBitMapID, DownBitMapID) STRINGBITMAPCONTROL generates a bitmap push button control on the display with a string drawn over it. "ControlName" is a SYMBOL. Its assigned value is the Resource ID for the control. "ControlCode" is the value generated when the control on the touchscreen is pressed or released. "StringID" is the Resource ID of the string that is drawn when the control is pressed or unpressed. "FontID" is the Resource ID of the font with which the string is drawn. "UpBitMapID" is the ResourceID of the bitmap that is drawn on the display when the control is active but not pressed. "DownBitMapID" is the Resource ID of the bitmap that is drawn on the display when the control is active and pressed by the user.
COMPOSITECONTROL (ControlName TopX TopY, ControlCode, Parameters f belowl, End) Rect: Xoffset, Yoffset, Width, Height, ForeGroundColor, BackGroundColor BitMap: BitMapID, Xoffset, Yoffset, XferMethod Line: Xloffset, Yloffset, X2offset, Y2offset RoundRect: Xoffset, Yoffset, Width, Height, Radius, ForeGroundColor, BackGroundColor Text: StringID, Xoffset, Yoffset, Spacing, ForeGroundColor, BackGroundColor, Direction, FontID
ClipRect: Xoffset, Yoffset, Width, Height COMPOSITECONTROL generates a bitmap control for display from a collection of drawing primitives. The control may be used as a picture or as a pushbutton control.
Unlike other controls just mentioned, this control does not change when pressed.
"ControlName" is a SYMBOL. Its assigned value is the Resource ID for the control.
"TopX" is the left coordinate of the control. "TopY" is the top coordinate of the control. "ControlCode" is the value generated when the control on the touchscreen display is pressed or released. The parameters are optional graphic commands.
They are:
'Rect' defines an unfilled rectangle. Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the rectangle is located. Width an Height are the dimensions of the rectangle.
ForeGroundColor is the color of the rectangle and BackGroundColor is the color behind the text.
'BitMap' defines a bitmap and its location. BitMapID is the Resource ID
of the bitmap. Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the bitmap is located. The XferMethod determines how the bits in the bitmap will be applied.
'Line' draws a line from Xloffset, Yloffset to X2offset, Y2offset.
X 1 offset and Y 1 offset are the distance from TopX and TopY at which point the line begins. X2offset and Y2offset are the distance from TopX and TopY
at which point the line ends.
'RoundRect' defines a rectangle with rounded corners. Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the rectangle is located. Width an Height are the dimensions of the rectangle. Radius is the radius of the rounded corners. ForeGroundColor is the color of the rectangle and BackGroundColor is the color behind the text.
'Text' places a text string on the display. StringID is the Resource ID of the text to be drawn on the display. Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the string is located.
Spacing is the number of blank bits between letters. ForeGroundColor is the color of the text and BackGroundColor is the color behind the text. Direction specifies the direction at which the text will be drawn. The FontID is the Resource ID for the font to be used in representing the text.
'ClipRect' defines an allowable area within the display within which a drawing may appear. Xoffset and Yoffset are the distance from TopX and TopY at which the top left coordinate of the drawing area is located. Width an Height are the dimensions of the drawing area.
SCROLLCONTROL (ControlName ControlCode, Left, Top, Right, Bottom, State, TopUpID Top_DownID, BottomUpID, BottomDownID) SCROLLCONTROL generates a bitmap control which displays a vertical scroll bar with top and bottom arrows. "ControlName" is a SYMBOL. Its assigned value is the Resource ID for the control. "ControlCode" is the value generated when the control on the touchscreen is pressed or released. "Left" is the left most X
coordinate of the displayed control. "Top" is the upper most Y coordinate of the displayed control. "Right" is the right most X coordinate of the displayed control.
"Bottom" is the lower most Y coordinate of the displayed control. "State" is the default settings for the state flags. "TopUpID" is the Resource ID of the top arrow bitmap that is drawn on the display when the control is active but not pressed.
"TopDownID" is the Resource ID of the top arrow bitmap that is drawn on the display when the control is active and pressed by the user. "BottomUpID" is the Resource ID
of the bottom arrow bitmap that is drawn on the display when the control is active but not pressed. "BottomDownID" is the Resource ID of the bottom arrow bitmap that is drawn on the display when the control is active and pressed by the user.
TEXTBOXRESOURCE (ControlName ControlCode, Width, Height, Left, Top, Right Bottom ScrollID Strin~ID, FontID, Box, Type, Radius) TEXTBOXRESOURCE generates an allowable area on the display for text and an optional scrollbar and fills the area with scrollable text.
"ControlName" is a SYMBOL. Its assigned value is the Resource ID for the control. "ControlCode"
is the value generated when the control on the touchscreen is pressed or released.
"Width" and "Height" are the dimensions of the text box, including the scroll bar.
"Left" is the left most X coordinate of the displayed control. "Top" is the upper most Y coordinate of the displayed control. "Right" is the right most X coordinate of the 1 S displayed control. "Bottom" is the lower most Y coordinate of the displayed control.
"ScrollID" is the Resource ID of the scroll control used in the text box.
"StringID" is the Resource ID of the string that is drawn when the display is first shown.
"FontID"
is the Resource ID of the font with which the string is drawn. "BoxID"
specifies that the box will not be drawn or will be drawn with square or rounded corners. If rounded corners are specified, "Radius" defines the radius of the rounded corners.
Turning to Fig. 4, the Operating System (OS) 400 software that the Main Processor 101 executes is organized into several units called Managers. Each Manager performs a specific task when called upon by the OS 400. The following are exemplary Managers:
The Memory Manager 402 allocates blocks of memory and resources for use by an application program 434.
The Display Manager 404 controls what is shown on the LCD (180 in Figure 3). It can control what is shown over the entire LCD or just a portion of it. The Display Manager 404 generates a display based primarily on specified Resources held in memory. The display can, therefore, be modified by changing the content of the Resource rather than by changing the Display Manager code 404.
The Control Manager 406 creates and destroys controls as well as handles the user responses to the interactive graphical controls displayed on the LCD. When a user selects a graphical icon shown on the LCD, the Control Manager 406 responds to the Event and may alter the graphical S display in response to the user action. All icons and graphical entities displayed by the Control Manager 406 originate as a Resource and may, therefore, be changed.
The Graphic Manager 408 is responsible for the actual drawing of the entities shown on the display. It also loads the alphabetic fonts used for text in the display.
The Event Manager 410 will queue or mask Events that arise during the operation of the remote control 10. These Events include user interaction with the touch screen 24 or key pad 20 and system Events generated by timers or by any of the communication ports. Events in the queue are accessed by 1 S Application Software 434.
The real-time clock (RTC) Manager 412 generates a periodic timing mark as an Event. It may also be adapted to keep the current time.
The Touch Manager 414 generates an Event each time the touch screen 24 is touched and sends the Event to the Event manager 410.
The Communication Manager 416 handles all serial messages between the Applications 430 or other Operating System software modules and those peripherals connected on the serial buses such as the infrared controller 140, and the ADC and touch decoder 170.
The RF I/O manager 418 handles all two-way data communication between Applications 430 and remote resources such as server applications running in other devices (PCs, set top boxes, TV sets, CD jukeboxes, etc.).
To communicate to systems beyond those devices conventionally found in a home entertainment system, the remote control 10 provides a two-way infrared or two-way RF system (or other communication technology). Using this communication technology, the remote control 10 can access, process, and/or display data from remote sources. The RF I/O manager 418 (or IR I/O manager in the event a two-way IR communications path is used instead) accepts data from Applications 430 running under the OS and prepares the data for communication by splitting the data into packets and adding packet header information. It also accepts received packets, ensures packet integrity and assembles the received packets into data to be sent to the Applications) 430.
The RF I/O manager 418 interacts directly with the two-way RF hardware previously described (e.g., RF controller 120 and RF transceiver 130).
Checksums are appended to outbound data and the packets are sent. Inbound data is received from the communications hardware. Error free packets are passed to the Application interface and a confirmation of successful reception is sent to the originator. Packets with errors are discarded and up to three retransmit requests can be sent to the originator.
In one preferred embodiment, the data communication protocol implemented by the RF I/O Manager 418 comprises communication packets which can carry data or commands. Each packet comprises a header and the attached command or data.
Commands are transfers of non-data and are acted upon. A sequence is any number of packets that comprises an entire transfer of data, such as a complete text stream, a complete bitmap file, a Web page or any other complete data resource. A block is a series of data packets. A single block or multiple blocks may constitute a sequence.
An exemplary Communication Packet format is illustrated in Table 1 below.
Table 1 Field Bytes ~ Description Byte Count 1 Total number of bytes supplied to the end of the data (7+n) To Address 2 The address of the receiving station (usually the server).
From Address2 The address of the Remote Control platform Packet Number1 Bits 0-6 are used to be sure every packet is sequential.
Most significant bit used to indicate a command packet (MSB set).
Port Number 1 Used to keep track of multiple data streams.
Data n Packet payload - data or command The Byte Count is the total number of bytes in the packet, including the header. The To Address is the address of the receiving station (usually a server or gateway). The From Address is the address of the remote control 10. The Packet Number is used to ensure every packet is sequential. The Most Significant Bit of the Packet Number indicates a command packet when set to a Logic 1. A unique Port Number can be assigned to each unique data sequence, so that packets of different sequences can be transmitted in an interleaved fashion. Each separate stream of data packets should have its own port number as well as its own packet number sequence.
In one embodiment, six commands are defined for use by the remote control 10. The payload data of each command comprises a one byte command code followed by a variable number of parameters, as:
STX (data = Ox02h). The STX command indicates the start of the transmission of a series of packets comprising a data sequence. This command is accompanied by parameters which specify the total number of packets in the sequence and the Port Number assigned to the sequence. Once an STX command is answered by an ACK, any communication using the specified Port Number will be associated with that specific "sequence" of data.
ETX (data = Ox03h). The ETX command follows after a complete sequence has been transmitted, and contains the checksum for the entire sequence (excluding the headers). If a NAK is sent as a reply to an ETX
command it is meant to signal retransmission of the entire sequence.
ACK (data = Ox06h). The ACK command signals a successful transfer of a data Block or Sequence.
NAK (data = Ox 15h). The NAK command signals an unsuccessful transfer of a data block or sequence. NAK also constitutes a request for retransmission of the data not correctly received.
ETB (data = Oxl7h). The ETB command indicates the end of a block of data. Also causes the packet sequence count to be reset to zero.
CAN (data = Ox18h). The CAN command cancels the sequence on the Port Number included in the data portion of this command.
While the above describes one possible implementation of a communications protocol for transfer of data between the remote control 10 and another device, it will be appreciated that there are many other possible protocols that are equally suitable including, but not limited to, those corresponding to various standards, e.g.
Bluetooth, IrDA Control, IEE802.11 and others.
To effect the transmission of IR codes, the IR controller 140 communicates with applications 430 resident in the remote control 10 using a pre-defined set of commands. Since the actual mechanisms and formats for transmitting such IR
signals are well known in the art - see, for example, U.S. Patent 4,959,810 which is incorporated herein by reference in its entirety - it will not be described further herein.
In an exemplary embodiment, the SendIR command is issued to the IR Controller to cause an IR code to be transmitted. The SendIR command may be a six byte packet including the fields RcdLength( 1 ), O 1 h, DeviceTypeNum(2),KeyCode( 1 ) and KeyFlag(1) where:
RcdLength is a one byte value indicating the total number of bytes in this packet.
O 1 h is a command type which identifies this command as a "send IR"
command.
DeviceTypeNum is a combination of DeviceType and DeviceNumber as follows:
Bits 15..12: DeviceType - see Table 2 below.
Bits 11..0: DeviceNumber represents a four (decimal) digit number which identifies a set of IR functions to control a specific device (e.g.
"Sony TV set") KeyCode identifies the function to be transmitted, according to Table 3 below.
KeyFlag indicates if any special processing is required. For example, if KeyFlag bit 7 is "on" this can indicate that this IR command is part of a macro sequence playback, requiring that the IR data frame be repeated a certain minimum number of times. If bit 5 is "on" this can indicate that the IR
Controller should use a learned IR code rather than its pre-programmed code.
Table 2: IR Controller device types Device Type Device Name Letter Representation 1 Cable C
2 Video Accessory N
3 Satellite/DSS S
5 Cassette Tape K
6 Laser Disk L
7 Digital Audio J
Tape
8 Digital Video Y
Disk
Disk
9 Tuner/Amplifier R
Amplifier/Misc. A/M
Audio 11 Compact Disk D
12 Phonograph P
13 Home Control H
15-31 Reserved Table 3: IR Controller KeyCodes KeyCode Function Name 1 Digit 1 2 Digit 2 3 Digit 3 4 Digit 4 5 Digit S
6 Digit 6 7 Digit 7 8 Digit 8 9 Digit 9
Amplifier/Misc. A/M
Audio 11 Compact Disk D
12 Phonograph P
13 Home Control H
15-31 Reserved Table 3: IR Controller KeyCodes KeyCode Function Name 1 Digit 1 2 Digit 2 3 Digit 3 4 Digit 4 5 Digit S
6 Digit 6 7 Digit 7 8 Digit 8 9 Digit 9
10 Digit 0
11 Volume Up
12 Volume Down
13 Mute
14 Channel Up Channel Down 16 Power 17 Enter 18 Previous Channel TVNCR
KeyCode Function Name 24 Input 25 TV/DSS, TV/SAT
26 Play 27 Stop 28 (Search) Forward 29 (Search) Reverse 30 Pause 31 Record 32 Menu 33 Menu Up 34 Menu Down 35 Menu Left 36 Menu Right 37 Select 38 Exit 39... 255 Other functions It will be appreciated that there are many other commands that go back and forth between the processors and that the above description with respect to the SendIR
command is not intended to be limiting.
As noted previously, the exemplary remote control hardware and operating system are capable of supporting multiple application programs. In a preferred embodiment, two application programs coexist in the unit: one which provides conventional remote control ("clicker") functionality 432, and another associated with the two-way RF communication subsystem which provides general purpose text and graphics display capability in the form of a compact browser utility 434. The application which provides conventional consumer appliance remote control functionality is preferably the application that is launched by default upon power-up (i.e. insertion of batteries into the unit) and is the mode of operation most commonly used by the user.
Fig. 1 illustrates a typical appearance of the LCD touch screen 24 when the remote control 10 is in the mode of operation for providing remote control functionality. It will be appreciated that many other displays are also available, depending on the type, model, and functionality of the devices) to be controlled. In addition, the remote control application need not display key icons for functions not supported by a particular device, so the actual display may vary according to the specific device brand or even model currently set up. For example, even though the IR controller and the remote control screen layout may in general support menu operations (see KeyCodes 32 through 38 in Table 1), if the specific device currently set (e.g. a Goldstar TV) does not offer this feature, those keys need not be displayed.
Turning now to Fig. 5, Fig. 5 illustrates the top level program hierarchy within the remote control application 432. The remote control application 432 (and it's sub applications) acquire Events from an event queue (placed there by the Event Manager 410) and use other Managers and Resources to perform their intended function.
The main menu sub-application S00 is called at the time the remote control 10 receives power, for example, the time at which the batteries are installed. It initializes all the Managers 400, places a welcome message on the LCD display 24, initializes and loads all Applications and Resources that may be used. After a set period of time (a few seconds), the welcome message should be replaced by the default device screen.
A typical default device screen is shown in Figure 1.
Once all Applications and Resources have been initialized, the main menu sub-application 500 waits for an Event. One such Event is an internal main processor timeout which, in this specific case, turns off the display and system CPU to save battery power. Another such Event is a user key press. In this latter case, the user may press one of several types of keys, creating Events to which the main menu sub-Application 500 responds. One or more of the control keys shown on the display generates an Event invoking a sub-application 503 that produces a new display.
Typically this might be a second "page" (i.e. alternative device screen) of command keys for the current device under control (e.g. a TV) or for a different device (e.g.
from TV to VCR) with a new page of keys. Activation of another group of keys (both the soft keys shown on the display and the hard keys in the keypad 20) will invoke a sub-application 504 that transmits an infrared code. The send IR sub-application 504 communicates with the IR controller 140 via the operating system's communication manager using the IR controller command structure described earlier to cause the appropriate device IR command signal to be transmitted.
Activation of other keys can invoke a sub-application 502 that will turn on the display backlighting. It will be appreciated that a motion sensor could also be used to turn on the display backlighting, for example, when the remote control 10 is picked up. Yet another key activation can invoke the setup sub-application 501 that permits the user to customize the remote control 10. Activation of still other keys can invoke a different application 508 and pass control of the unit to that application.
By way of example, activation of a key 41 labeled "iMosiac" may invoke the Browser application 434 which is described in greater detail below.
For customizing the universal remote control 10, the setup Application 501 is invoked. Customization, as is shown in Figure 5, can be provided by three menu-driven, sub-applications, namely, the device personalization sub menu 505, the device setup sub menu 506 and the system sub menu 507. The device setup sub menu 506, shown in Figure 6, comprises five sub-applications that afford the user the opportunity to access all of the infrared control codes required for operation of an entire home electronics system. Control codes may be pre-stored in the main memory 110 or the IR Controller 140 of the remote control 10, learned into the main memory 110 by using the remote control that was supplied with a device, or downloaded from a remote source, e.g., from a source via the Internet.
To select control codes to be available for access to control consumer electronic devices by device type and manufacturer, the setup by brand sub-application 510 is utilized. This sub-application is based in part on technology disclosed in U.S. Patent No. 5,614,906 entitled "Method for selecting a remote control command set" that is incorporated herein by reference in its entirety. The setup by search sub-application 516 permits the user to select control codes by linearly stepping through the data base of codes by device type, trying each one in turn. The setup by code sub-application 513 permits the user to simply enter a known code number to configure the remote control 10 to make accessible the control codes to control the devices) corresponding to the known code number. The new code sub-application 519 allows the user to try new codes received during a prior download over the Internet or through customer service via the telephone.
Selected/downloaded control codes may be made available for user access by using the add function 511 or used to replace currently accessible control codes using the replace function 512. The delete sub-application 522 can be used to erase all selected control codes, allowing the user to start over with a clean slate.
The personalization sub menu SOS of sub-applications shown in Figure 7 offers some very powerful sub-applications to the user that permit the remote control to be fully personalized to meet specific needs of a user. For example, the macros sub-application 530 comprises five different functions. The macros sub-application 10 530 is based on technology disclosed in U.S. Patent No. 5,959,751 entitled "Universal Remote Control Device" which is incorporated herein by reference in its entirety. The macros sub-application permits the user to add 531, view 532, delete 534, copy (e.g., onto another screen) or delete all 535 macro functions.
To select a key from one device representing a specific infrared function and create a copy of it for use with another device, the move key sub-application 540 is utilized. For example, the move key sub-application 540 can be used to move the channel up function for the TV device such that it is accessible from the VCR
device screen. This Sub-Application is based on technology disclosed in U.S. Patent No.
6,014,092 entitled "Key mover" that is incorporated herein by reference in its entirety.
In addition to moving a key 541 a user may delete all 542 keys that have been moved.
To teach the remote control a new function from another remote control, the learn sub-application 550 is utilized. The learn sub-application is based on technology disclosed in U.S. Patent No. 6,097,309 entitled "Remote control learning system and method using signal envelope pattern recognition" that is incorporated herein by reference in its entirety. A new function can be learned 551 by the remote control and assigned to a pre-defined function key or to a blank key. All learned functions can be deleted 552.
To label new device keys 561, new function keys 562 or to edit existing key labels, the label keys sub-application 560 is utilized. The label key sub-application 562 makes available symbols and lower and upper case characters as well as the backspace, space, and shift for use in creating alphanumeric key labels. A
caps lock function can also be provided.
To teach the remote control a new function by entering a code, the key magic sub-application 570 is utilized. The key magic sub-application 570 is based on technology disclosed in U.S. Patent No. 5,515,052 entitled "Universal remote control with function synthesis" that is incorporated herein by reference in its entirety. A new function can be added 571 and assigned to a pre-defined function key or to a blank key. All added functions can be deleted 572.
Any key on any device page may be viewed and deleted by the view & delete function 595.
The volume lock sub-application 580 affords the user a means for controlling the volume for one device (the amplifier, for example) from another screen dedicated to controlling another device like the TV, for example. The user may institute the locking feature using the lock function 581 or may remove the feature using the unlock function 582.
The home theater sub-application 590 offers the user a means for creating on one or several screens a set of keys that are those most often used keys in a home theater system. The user may configure the feature using the configure function 591 or may remove the feature using the reset to default function 592.
The system sub menu 507 of sub-applications, illustrated in Fig. 8, offers the user the ability to affect the overall operation of the remote control. For example, the upgrade sub-application 600 permits the user to add 601 codes from a remote source such as a server on the Internet, via a cable set top box, etc. This application makes it easy for the user to always have the most current and/or correct codes in the subject remote control, even after the purchase or upgrade of new devices for the family home entertainment system. This sub-application may be based on technology disclosed in U.S. Patent No. 5,537,463 entitled "Magnetic modem in a remote control," U.S. Patent No. 5,228,077 entitled "Remotely upgradable universal remote control" and in U.S. Patent No. 5,689,353 entitled "Remote control with two-way data coupling" that are incorporated herein by reference in their entirety. The add function 601 and the replace function 602 make it possible for the user to add or replace codes after the upgrade process is complete.
The LCD sub-application 610 provides a means for the user to compensate for any drift in the calibration of the LCD 24 during long-term use. The user may invoke the calibrate function 611 to return the LCD 24 to factory-level settings.
While using the touchscreen 24, the user can receive audible feedback that a key has been selected. To this end, a soft clicking sound is issued by the speaker or by the buzzer 102. This sound may be turned on or off using the sound on/off sub-application 630.
After the user has fully personalized the subject remote control, those settings may be locked into place to avoid inadvertent changes. This feature is performed by the lock on/off sub-application 620. The user may return the remote control 10 to its original, factory settings by invoking the user reset/master reset sub-application 640.
To navigate and browse HTML-formatted data supplied from an external source (e.g., via a two-way RF or IR communications link) the remote control includes a browser application 434 that supports a sub set of XHTML-Basic and Compact HTML as proposed and defined by the World Wide Web Consortium. In this manner, the remote control 10 provides for customized user interface and data display since, within the constraints of the remote control hardware (screen size, color, memory availability, etc.), any screen layout of text, images, and/or hyperlink buttons is possible. Thus, any external device equipped with a compatible RF
or IR
transceiver, such as a personal computer, cable or satellite set top box, home automation controller or security system, CD jukebox, TV set, and the like, can avail itself of the remote control 10 as a data display and interface device via a well-understood standardized set of HTML commands.
In addition to the subset of XHTML-Basic commands supported, the remote control browser can also offer extra META statements as special extensions of the standard to facilitate use in situations which are not classically Web-based.
For example, the browser can support a "Full screen" META statement, <META NAME
= "Any Names" CONTENT = "Full Screen">, that will cause the browser to go to full screen display mode (e.g., no navigation buttons or scroll bars are displayed).
Similarly, the browser can support a "Refresh" META statement, <META HTTP-EQUIV = "Refresh" CONTENT = "xx; URL =
http://www.name.com/anything.html">, that will cause the Browser to count a given number of seconds, as specified in the "content field," and then display the next html page specified, or if the "URL =" is not present, refresh the current page.
Both of these extensions are useful for authoring displays in which the user is not necessarily aware that the interface presented to him is HTML based via a browser - for example, simple TV guide applications and the like. Additionally, the "Refresh" feature is useful in applications where the data content to be displayed on the remote control 10 needs to be synchronized with a TV or audio program, for example enhanced TV
services or karaoke lyrics.
The browser application can also be adapted to support a special extended HTML tag type, "IROP." With this ability, the remote control 10 can be used in connection with HTML pages that are authored to support "buttons" for use in sending IR commands. The general format of the IROP tag is <IROP KEY=" 1-18,... ", LABEL = "function name" IMG = "file path"> where the "KEY =
xx,yy..."
field contains data indicative of an IR code to be transmitted. In this regard, the data could specify the IR code(s) to be transmitted upon activation of the button using the IR KeyCodes defined for the IR controller defined in Table 3 above.
Alternatively, the field could contain data representative of the actual IR code to be transmitted using a formatting technology such as described in U.S. Patent No. 5,515,052 which is incorporated herein by reference in its entirety. The "LABEL = " and "IMG
="
fields respectively define a label and graphic (i.e. icon) associated with the button or link. For example <IROP KEY = "10, 7", LABEL = "ABC"> would result in the display of "ABC" as a selectable area on the screen. User activation by pressing the "ABC" area on the touch screen would cause the browser to send to the IR
Controller 140 a SendIR command containing KeyCode number 10 followed by a SendIR
command containing KeyCode number 7, thus causing the IR Controller to transmit the IR codes for the digits "zero" and "seven," i.e., selecting channel 7 on the current consumer electronic device used for channel changing (TV, Cable box, Satellite receiver, etc.).
As will be appreciated, this extended IROP tag is useful in situations where it is desired that a user be provided with the ability to interact with an HTML
page to initiate the transmission of IR command codes to consumer appliances. Examples of such HTML pages include TV guides, CD jukebox managers, and the like.
Furthermore, it is contemplated that the IROP tag could be used to present to a user a virtual remote control that has the key layout and appearance of a prepackaged remote control (e.g., a display presenting a key layout and appearance of a Sony remote that is prepackaged with a Sony TV) . In this manner, activation of a link having an IROP
tag on the virtually displayed remote control (i.e., selection of a virtually displayed control key) can cause the remote control 10 to transmit the same control code as if the user where actually activating the corresponding key on the prepackaged remote control.
The remote control can be further adapted to support another special extended HTML tag type "MREM." With this ability, the remote control 10, if equipped with a date/time clock capability, can support a reminder/calendar feature used in connection with HTML pages that are authored to supply data regarding upcoming events.
The general format of the MREM tag is < MREM TTR = "Time to Remind" LABEL =
"Note/Memo" IMG = "file path" LINK = "URL">. This tag will cause a calendar event to be registered with the Remote Control application where TTR
represents the time at or after which a reminder message is to be displayed during normal operation of the remote, LABEL represents the message to be displayed at reminder time, IMG
(optional) represents an image to be displayed at reminder time, and LINK
(optional) specifies the URL of an HTML page to be automatically loaded at reminder time.
Note that if the LINK option is specified, this will also cause the Remote Control application to automatically invoke the Browser application to load and process the specified URL. With the exception of TTR, any of the fields specified above for the MREM tag may be omitted, i.e. "null," as required. For example <MREM TTR = "5-
KeyCode Function Name 24 Input 25 TV/DSS, TV/SAT
26 Play 27 Stop 28 (Search) Forward 29 (Search) Reverse 30 Pause 31 Record 32 Menu 33 Menu Up 34 Menu Down 35 Menu Left 36 Menu Right 37 Select 38 Exit 39... 255 Other functions It will be appreciated that there are many other commands that go back and forth between the processors and that the above description with respect to the SendIR
command is not intended to be limiting.
As noted previously, the exemplary remote control hardware and operating system are capable of supporting multiple application programs. In a preferred embodiment, two application programs coexist in the unit: one which provides conventional remote control ("clicker") functionality 432, and another associated with the two-way RF communication subsystem which provides general purpose text and graphics display capability in the form of a compact browser utility 434. The application which provides conventional consumer appliance remote control functionality is preferably the application that is launched by default upon power-up (i.e. insertion of batteries into the unit) and is the mode of operation most commonly used by the user.
Fig. 1 illustrates a typical appearance of the LCD touch screen 24 when the remote control 10 is in the mode of operation for providing remote control functionality. It will be appreciated that many other displays are also available, depending on the type, model, and functionality of the devices) to be controlled. In addition, the remote control application need not display key icons for functions not supported by a particular device, so the actual display may vary according to the specific device brand or even model currently set up. For example, even though the IR controller and the remote control screen layout may in general support menu operations (see KeyCodes 32 through 38 in Table 1), if the specific device currently set (e.g. a Goldstar TV) does not offer this feature, those keys need not be displayed.
Turning now to Fig. 5, Fig. 5 illustrates the top level program hierarchy within the remote control application 432. The remote control application 432 (and it's sub applications) acquire Events from an event queue (placed there by the Event Manager 410) and use other Managers and Resources to perform their intended function.
The main menu sub-application S00 is called at the time the remote control 10 receives power, for example, the time at which the batteries are installed. It initializes all the Managers 400, places a welcome message on the LCD display 24, initializes and loads all Applications and Resources that may be used. After a set period of time (a few seconds), the welcome message should be replaced by the default device screen.
A typical default device screen is shown in Figure 1.
Once all Applications and Resources have been initialized, the main menu sub-application 500 waits for an Event. One such Event is an internal main processor timeout which, in this specific case, turns off the display and system CPU to save battery power. Another such Event is a user key press. In this latter case, the user may press one of several types of keys, creating Events to which the main menu sub-Application 500 responds. One or more of the control keys shown on the display generates an Event invoking a sub-application 503 that produces a new display.
Typically this might be a second "page" (i.e. alternative device screen) of command keys for the current device under control (e.g. a TV) or for a different device (e.g.
from TV to VCR) with a new page of keys. Activation of another group of keys (both the soft keys shown on the display and the hard keys in the keypad 20) will invoke a sub-application 504 that transmits an infrared code. The send IR sub-application 504 communicates with the IR controller 140 via the operating system's communication manager using the IR controller command structure described earlier to cause the appropriate device IR command signal to be transmitted.
Activation of other keys can invoke a sub-application 502 that will turn on the display backlighting. It will be appreciated that a motion sensor could also be used to turn on the display backlighting, for example, when the remote control 10 is picked up. Yet another key activation can invoke the setup sub-application 501 that permits the user to customize the remote control 10. Activation of still other keys can invoke a different application 508 and pass control of the unit to that application.
By way of example, activation of a key 41 labeled "iMosiac" may invoke the Browser application 434 which is described in greater detail below.
For customizing the universal remote control 10, the setup Application 501 is invoked. Customization, as is shown in Figure 5, can be provided by three menu-driven, sub-applications, namely, the device personalization sub menu 505, the device setup sub menu 506 and the system sub menu 507. The device setup sub menu 506, shown in Figure 6, comprises five sub-applications that afford the user the opportunity to access all of the infrared control codes required for operation of an entire home electronics system. Control codes may be pre-stored in the main memory 110 or the IR Controller 140 of the remote control 10, learned into the main memory 110 by using the remote control that was supplied with a device, or downloaded from a remote source, e.g., from a source via the Internet.
To select control codes to be available for access to control consumer electronic devices by device type and manufacturer, the setup by brand sub-application 510 is utilized. This sub-application is based in part on technology disclosed in U.S. Patent No. 5,614,906 entitled "Method for selecting a remote control command set" that is incorporated herein by reference in its entirety. The setup by search sub-application 516 permits the user to select control codes by linearly stepping through the data base of codes by device type, trying each one in turn. The setup by code sub-application 513 permits the user to simply enter a known code number to configure the remote control 10 to make accessible the control codes to control the devices) corresponding to the known code number. The new code sub-application 519 allows the user to try new codes received during a prior download over the Internet or through customer service via the telephone.
Selected/downloaded control codes may be made available for user access by using the add function 511 or used to replace currently accessible control codes using the replace function 512. The delete sub-application 522 can be used to erase all selected control codes, allowing the user to start over with a clean slate.
The personalization sub menu SOS of sub-applications shown in Figure 7 offers some very powerful sub-applications to the user that permit the remote control to be fully personalized to meet specific needs of a user. For example, the macros sub-application 530 comprises five different functions. The macros sub-application 10 530 is based on technology disclosed in U.S. Patent No. 5,959,751 entitled "Universal Remote Control Device" which is incorporated herein by reference in its entirety. The macros sub-application permits the user to add 531, view 532, delete 534, copy (e.g., onto another screen) or delete all 535 macro functions.
To select a key from one device representing a specific infrared function and create a copy of it for use with another device, the move key sub-application 540 is utilized. For example, the move key sub-application 540 can be used to move the channel up function for the TV device such that it is accessible from the VCR
device screen. This Sub-Application is based on technology disclosed in U.S. Patent No.
6,014,092 entitled "Key mover" that is incorporated herein by reference in its entirety.
In addition to moving a key 541 a user may delete all 542 keys that have been moved.
To teach the remote control a new function from another remote control, the learn sub-application 550 is utilized. The learn sub-application is based on technology disclosed in U.S. Patent No. 6,097,309 entitled "Remote control learning system and method using signal envelope pattern recognition" that is incorporated herein by reference in its entirety. A new function can be learned 551 by the remote control and assigned to a pre-defined function key or to a blank key. All learned functions can be deleted 552.
To label new device keys 561, new function keys 562 or to edit existing key labels, the label keys sub-application 560 is utilized. The label key sub-application 562 makes available symbols and lower and upper case characters as well as the backspace, space, and shift for use in creating alphanumeric key labels. A
caps lock function can also be provided.
To teach the remote control a new function by entering a code, the key magic sub-application 570 is utilized. The key magic sub-application 570 is based on technology disclosed in U.S. Patent No. 5,515,052 entitled "Universal remote control with function synthesis" that is incorporated herein by reference in its entirety. A new function can be added 571 and assigned to a pre-defined function key or to a blank key. All added functions can be deleted 572.
Any key on any device page may be viewed and deleted by the view & delete function 595.
The volume lock sub-application 580 affords the user a means for controlling the volume for one device (the amplifier, for example) from another screen dedicated to controlling another device like the TV, for example. The user may institute the locking feature using the lock function 581 or may remove the feature using the unlock function 582.
The home theater sub-application 590 offers the user a means for creating on one or several screens a set of keys that are those most often used keys in a home theater system. The user may configure the feature using the configure function 591 or may remove the feature using the reset to default function 592.
The system sub menu 507 of sub-applications, illustrated in Fig. 8, offers the user the ability to affect the overall operation of the remote control. For example, the upgrade sub-application 600 permits the user to add 601 codes from a remote source such as a server on the Internet, via a cable set top box, etc. This application makes it easy for the user to always have the most current and/or correct codes in the subject remote control, even after the purchase or upgrade of new devices for the family home entertainment system. This sub-application may be based on technology disclosed in U.S. Patent No. 5,537,463 entitled "Magnetic modem in a remote control," U.S. Patent No. 5,228,077 entitled "Remotely upgradable universal remote control" and in U.S. Patent No. 5,689,353 entitled "Remote control with two-way data coupling" that are incorporated herein by reference in their entirety. The add function 601 and the replace function 602 make it possible for the user to add or replace codes after the upgrade process is complete.
The LCD sub-application 610 provides a means for the user to compensate for any drift in the calibration of the LCD 24 during long-term use. The user may invoke the calibrate function 611 to return the LCD 24 to factory-level settings.
While using the touchscreen 24, the user can receive audible feedback that a key has been selected. To this end, a soft clicking sound is issued by the speaker or by the buzzer 102. This sound may be turned on or off using the sound on/off sub-application 630.
After the user has fully personalized the subject remote control, those settings may be locked into place to avoid inadvertent changes. This feature is performed by the lock on/off sub-application 620. The user may return the remote control 10 to its original, factory settings by invoking the user reset/master reset sub-application 640.
To navigate and browse HTML-formatted data supplied from an external source (e.g., via a two-way RF or IR communications link) the remote control includes a browser application 434 that supports a sub set of XHTML-Basic and Compact HTML as proposed and defined by the World Wide Web Consortium. In this manner, the remote control 10 provides for customized user interface and data display since, within the constraints of the remote control hardware (screen size, color, memory availability, etc.), any screen layout of text, images, and/or hyperlink buttons is possible. Thus, any external device equipped with a compatible RF
or IR
transceiver, such as a personal computer, cable or satellite set top box, home automation controller or security system, CD jukebox, TV set, and the like, can avail itself of the remote control 10 as a data display and interface device via a well-understood standardized set of HTML commands.
In addition to the subset of XHTML-Basic commands supported, the remote control browser can also offer extra META statements as special extensions of the standard to facilitate use in situations which are not classically Web-based.
For example, the browser can support a "Full screen" META statement, <META NAME
= "Any Names" CONTENT = "Full Screen">, that will cause the browser to go to full screen display mode (e.g., no navigation buttons or scroll bars are displayed).
Similarly, the browser can support a "Refresh" META statement, <META HTTP-EQUIV = "Refresh" CONTENT = "xx; URL =
http://www.name.com/anything.html">, that will cause the Browser to count a given number of seconds, as specified in the "content field," and then display the next html page specified, or if the "URL =" is not present, refresh the current page.
Both of these extensions are useful for authoring displays in which the user is not necessarily aware that the interface presented to him is HTML based via a browser - for example, simple TV guide applications and the like. Additionally, the "Refresh" feature is useful in applications where the data content to be displayed on the remote control 10 needs to be synchronized with a TV or audio program, for example enhanced TV
services or karaoke lyrics.
The browser application can also be adapted to support a special extended HTML tag type, "IROP." With this ability, the remote control 10 can be used in connection with HTML pages that are authored to support "buttons" for use in sending IR commands. The general format of the IROP tag is <IROP KEY=" 1-18,... ", LABEL = "function name" IMG = "file path"> where the "KEY =
xx,yy..."
field contains data indicative of an IR code to be transmitted. In this regard, the data could specify the IR code(s) to be transmitted upon activation of the button using the IR KeyCodes defined for the IR controller defined in Table 3 above.
Alternatively, the field could contain data representative of the actual IR code to be transmitted using a formatting technology such as described in U.S. Patent No. 5,515,052 which is incorporated herein by reference in its entirety. The "LABEL = " and "IMG
="
fields respectively define a label and graphic (i.e. icon) associated with the button or link. For example <IROP KEY = "10, 7", LABEL = "ABC"> would result in the display of "ABC" as a selectable area on the screen. User activation by pressing the "ABC" area on the touch screen would cause the browser to send to the IR
Controller 140 a SendIR command containing KeyCode number 10 followed by a SendIR
command containing KeyCode number 7, thus causing the IR Controller to transmit the IR codes for the digits "zero" and "seven," i.e., selecting channel 7 on the current consumer electronic device used for channel changing (TV, Cable box, Satellite receiver, etc.).
As will be appreciated, this extended IROP tag is useful in situations where it is desired that a user be provided with the ability to interact with an HTML
page to initiate the transmission of IR command codes to consumer appliances. Examples of such HTML pages include TV guides, CD jukebox managers, and the like.
Furthermore, it is contemplated that the IROP tag could be used to present to a user a virtual remote control that has the key layout and appearance of a prepackaged remote control (e.g., a display presenting a key layout and appearance of a Sony remote that is prepackaged with a Sony TV) . In this manner, activation of a link having an IROP
tag on the virtually displayed remote control (i.e., selection of a virtually displayed control key) can cause the remote control 10 to transmit the same control code as if the user where actually activating the corresponding key on the prepackaged remote control.
The remote control can be further adapted to support another special extended HTML tag type "MREM." With this ability, the remote control 10, if equipped with a date/time clock capability, can support a reminder/calendar feature used in connection with HTML pages that are authored to supply data regarding upcoming events.
The general format of the MREM tag is < MREM TTR = "Time to Remind" LABEL =
"Note/Memo" IMG = "file path" LINK = "URL">. This tag will cause a calendar event to be registered with the Remote Control application where TTR
represents the time at or after which a reminder message is to be displayed during normal operation of the remote, LABEL represents the message to be displayed at reminder time, IMG
(optional) represents an image to be displayed at reminder time, and LINK
(optional) specifies the URL of an HTML page to be automatically loaded at reminder time.
Note that if the LINK option is specified, this will also cause the Remote Control application to automatically invoke the Browser application to load and process the specified URL. With the exception of TTR, any of the fields specified above for the MREM tag may be omitted, i.e. "null," as required. For example <MREM TTR = "5-
15-2001-14:45" LABEL = "Watch 'Who wants to be a Millionaire"'> would result in the reminder text message "Watch 'Who wants to be a Millionaire"' being displayed at or after 2:45pm on May 15, 2001. Further examples of the application of this HTML
tag are discussed later.
Turning to Fig. 9, to invoke the browser application, the user may, for example, press a soft button 910 (such as "iMosaic" 41 on the regular remote control application display screen 24). When invoked, the browser application starts by initializing itself and the two-way communication interface 912 (via the RF
I/O
Manager in the illustrative embodiment). If the browser application and two-way communication interface are successfully initialized, the remote control 10 displays the basic Browser screen layout, an example of which is shown in Figure 11, and issues a request to load a preset home page 914, 916. Figures 10a through 1 Og provide flowcharts depicting an overall operation of the exemplary Browser Application, showing how subsequent processing of the downloaded HTML data can be performed.
Turning to Figure 1 Oa, there is shown the overall flow of the exemplary Browser application. As described earlier, the remote control 10 is an event-driven system, so once initialized, the Browser Application simply waits for an Event to occur 1002. Browser-related Events can be classified into one of three general categories: KeyDown Events 1004 which result from user activation of any of the keys shown in Figure 11 (hard or soft); HTML Events 1006 which result from user activation of an HTML generated item in the current display area (for example a hyperlink, check box, text input area, etc.); and I/O Events 1008 resulting from activity on the two way communication link, timers, or other system-generated interrupts (a low battery indication, for example). The individual processing of each of these categories of Event will be described in further detail below in conjunction with the figures that follow.
In one exemplary embodiment, internal priorities within the Browser Application are arranged such that, while in the process of loading and displaying a page of data via the RF link, it will ignore other inputs such as HTML Events.
In other words, it is designed such that a user is required to wait until the current page is completely displayed before initiating any action such as a hyperlink selection. This is evident in Figure 10a where the "IDLE" status of the Browser application (i.e., not currently loading data via the RF link) is used to determine whether KeyDown and HTML events are processed or not. It will be appreciated that other implementations are also possible, in particular, providing the ability to abort an HTML
download in progress and initiate a new one by pressing a key or hyperlink in a partially loaded and displayed page.
Figure l Ob depicts the processing of a KeyDown Event, specifically the action taken in response to each of the possible key press user inputs. As can be seen, these actions are used to effect page navigation and browser control in addition to providing a means to configure the Browser Application and to return the unit to the (default) Remote Control Application.
Figure l Oc depicts the processing of an HTML Event. In the HTML subset supported by the exemplary Browser Application, only four classes of HTML
Events can occur: Activation of a hyperlink 1010; activation of a form control field 1012;
expiration of a "refresh" META statement timer 1014 (a special extension to standard HTML which allows periodic reloading of a page); or activation of a IROP field (a special extension to standard HTML which allows IR commands to be transmitted to consumer appliances). Activation of a hyperlink results in a request for the contents of the specified URL to be issued via the communications link, after which the Browser Application returns to the "Get Next Event" waiting state shown at the top of Figure 10a pending receipt of the requested data. Activation of a forms control function results in the appropriate action as shown in Figure l Ob (note that not all possible HTML forms functions are supported by the subset and, therefore, unrecognized control requests may be ignored), again followed by a return to the "Get Next Event" waiting state. Expiration of a "refresh" timer causes a request to be issued via the communications link for the URL specified in the META statement (or, if no URL is specified, the current page to be automatically reloaded) and a return to the "Get Next Event" waiting state pending receipt of the requested data.
Activation of an IROP control causes the Browser to issue SendIR commands to the IR
Controller, as described earlier, also followed by a return to the "Get Next Event"
waiting state.
Figure l Od depicts the processing of an RF I/O Event. All communications transactions are preferably timed in order to allow appropriate action to be taken by the Browser in the event the communications link is interrupted, for example by the user wandering out of RF range. Thus, the first I/O Event that is checked for is a timer expired status 1020. If there is a Port currently open (i.e. activity in progress) the timer expired event is handled as shown in Figure 10e, described in more detail below. If the Event is an "RF Buffer Ready" event 1022, indicating that there is received data ready for processing, the event is handled as shown in Figure l Og, described in more detail below. An RF buffer overflow event 1024 signifies an error condition, handled as shown in Figure l Of, described in more detail below. If the sending (server) side issues a "Cancel" command (a request to abort transmission), this event 1026 is handled in a similar manner to a timeout event. All other types of events 1028 represent conditions which should abort any page download currently in progress (e.g. a low battery condition), and thus result in the Browser issuing a "CANCEL" request to the server (the inverse of the server "CANCEL" described previously) provided a Port is currently open.
Figure 10e shows the error processing invoked in the case of a timeout or a server initiated "CANCEL" request when the Browser application is not "idle,"
i.e. it is loading HTML or image data via the RF link. If a given time, e.g., three seconds, has not elapsed since the last activity on this port 1030, timing continues without any action. If the given time has been reached or exceeded, the Browser issues a "CANCEL" request to the server 1032. It then determines if a given number of retries, e.g., three, have already occurred for this particular request 1034.
If the number or retries has not been exceeded, the Browser reissues the request 1036. If all of the retries have been exhausted, the Browser takes error action as appropriate: in the case of a failed HTML page download it may display an error message to the user 1038 (Figure 21 is a example of such a message); if the failure occurred during the download of an image 1040, the Browser may simply skip display of that image and proceeds to request the next image 1042, if any exists. (The processing of HTML and requests for image data is described in more detail later in conjunction with Figure l Og.) Figure l Of shows the error processing that occurs in the event of a buffer overflow. As can be seen, the actions taken by the remote control 10 are similar to those described above in conjunction with an exhausted retry count.
Figure l Og shows the processing steps that occur upon receipt of a buffer full of data Events from the RF I/O Manager. In this case, the Browser first checks its internal status to determine if it is currently expecting HTML or image data 1050. If expecting HTML data, the HTML page is sent to the HTML parser 1052, which processes the HTML data and breaks it down into individual elements for display (text strings and images), position coordinates for each hyperlink or control within the display, and a table of control-link relationships. The HTML parser also sets the appropriate timer if a "refresh" META statement is encountered. When the HTML
parser has completed its analysis, the display information is passed to the Display Manager 1054 for rendering on the LCD screen. Once the basic HTML page is displayed (i.e., text, links, controls, etc. together with "place holder"
icons for the locations of graphic images) the Browser may then issue requests for any graphic images called out in the HTML source, loading and displaying the graphic images one by one until all specified graphics have been displayed. This is achieved by issuing a request for the next graphic file 1056 via the RF communications link and then returning to the "Get Next Event" state (Figure 10a).
When a response is received, the next RF buffer ready Event will find the Browser in an "expecting image data" state. This will cause the opposite branch to be taken at the top of Figure l Og. Here, the Browser, after making any necessary adjustments to page layout resulting from the insertion of the new graphic 1058, displays the graphic data just received 1060 and issues a request for the next graphic.
In some instances the graphic size may have been predefined in the HTML, in which case no adjustment is necessary since the appropriate area is already allocated, but in others the final graphic may differ in size from the "place holder" icon and require adjustment to the balance of the page layout to accommodate it. After the last graphic has been downloaded and displayed, the Browser sets its internal status to "IDLE"
(thereby enabling recognition of HTML and KeyDown Events) and returns to the "Get Next Event" state (Figure 10a.) Figure 11 shows an exemplary, basic touch screen display layout for the remote control Browser. In the illustration, the layout comprises a toolbar containing the usual Browser control items (e.g., "back," "forward," "reload,"
"stop,"
"go to," and "home" illustrated from left to right), a key 1120 to access previously entered bookmarks, a general display area 1150 in which HTML formatted data is displayed, and a scroll bar 1140 used to navigate pages of data which are longer than the display space. In addition, the screen may include two control elements specific to the browser application, namely, a key 1130 to access set up routines used to adjust items such as RF link addresses, home page URL, etc., and a key 1110 used to return the unit to the basic remote control application 432 when use of the Browser is complete.
The "home page" URL first loaded by the Browser application need not be Web based in the classical sense. Rather, the "home page" may be an address pointing to a locally stored, HTML formatted interface to a home control system as illustrated in Fig. 12. The "home page" illustrated in Fig. 12 shows an example of how the universal remote control 10 can display simple icons and messages 1202 useful in receiving information from appliances around the home and, in turn, controlling them. In yet another example, the "home page" initially loaded might take the form of a TV guide display loaded from a cable or satellite set top box including program viewing information 1302, as illustrated in Fig. 13. Note that this particular example makes use of the "full screen" META statement 1300 as described above to hide the generic browser controls (e.g., "back," "forward," "reload," etc.) from the user.
By way of further example, Fig. 14 illustrates the use of the universal remote control 10 as part of a two-way communication system. In this illustrated example, the remote control 10 is used as a platform to browse the Internet, using a personal computer 1420 as a gateway or proxy server. Requests by the user of the universal remote control 10 for access to certain information located on Web pages on the Internet are sent through the RF I/O manager 418 and RF module 125 to a matching RF transceiver unit 1410 which is attached to the personal computer 1420 via one of its serial ports 1415. Software resident in the personal computer 1420, including an HTTP interface and server application 1440, formats the request appropriately and forwards it to the specified Web URL. When a response to a request is received at the personal computer 1420, the personal computer 1420 performs any format conversion required for compatibility with the subset of HTML supported by the remote control 10, and then forwards it to the remote control 10 via the reverse of the path described above. In this manner, Web content may be ultimately displayed on the universal remote control 10.
In the illustrative example, the PC application that provides the Internet access for the remote control 10 is called the server application. As illustrated in Fig. 15, the server start up module 1500 is invoked when the server application is started on the personal computer 1420. The server application manages the display (to the PC
screen) and internal settings 1510, the transfer of data 1520 between the Internet and the remote control 10, and the external serial port 1540 to which the PC-side RF
transceiver unit 1410 is attached. As serial messages are received 1542 they are placed in an internal data buffer 1544 from which they are subsequently processed and delivered to the Internet 1522,1524,1526. If Internet data is received 1526, then it is converted to a compatible format if necessary 1528, 1530 and then sent to the remote control 10 for display 1532. It will be appreciated that while this example uses a personal computer based Web gateway, similar systems can readily be implemented using various other devices to implement the gateway, for example a cable or satellite set top box, a Web-enabled TV set, a residential home gateway controller, a Web-enabled game console, a personal video recorder, etc.
Once the universal remote control 10 with two-way communication is suitably installed, many new and heretofore unavailable applications can be provided.
For example, of particular advantage, the remote control 10 may be equipped to communicate with an electronic device to retrieve operating instructions for display on the LCD screen 24 of the remote control 10 as illustrated in Fig. 22. In this manner, instead of a printed user manual which may be lost, a device 2200 which is already equipped to communicate bi-directionally with the remote control 10 (e.g. a cable set top box, a thermostat, a security system, a household appliance, etc.) has user manual information stored in low cost ROM memory 2202. To this end, the remote control 10 can be equipped with an application 2210 that allows its display 24 to display information that is encoded using a mark-up language, such as HTML
or XML as described earlier. Thus, the user manual can be formatted using at least a subset of the mark-up language where it can be retrieved by the user from the device (e.g., in response to a keystroke on the remote) and displayed on the screen 24 of the remote control 10 as needed. In an alternative embodiment shown in Figure 23, an appliance 2300, which is not itself equipped with wireless communication capability can use a wireless capable device 2320 as a relay to communicate with the remote control in a similar manner to that described above. In this case, the appliance 2300 would have a hardwired (e.g. dedicated wiring, powerline, telephone, video or audio cable, etc.) communication connection 2310 to the device 2320 which does have wireless capability.
By way of illustration, Figures 18a and 18b set forth an exemplary method by which a thermostat unit might support the above-described information retrieval feature. To initiate the information retrieval, the remote control 10 can transmit a command to the appliance that signifies a request for the information. The transmission of the information request command by the remote control 10 would normally be in response to the occurrence of an Event at the remote control 10, e.g., the activation of a soft key. Upon receipt of a command at the appliance, the appliance determines if the command is a request for information 1810. If the command is a request for information, the appliance can set a flag to indicate that the appliance is in a state of servicing the request 1812, can retrieve its current operational status 1814, and fetch from memory a pre-formatted page that has user instructions corresponding to the current operational status 1816. The retrieved information would be transmitted 1818 back to the remote control 10 for display on the LCD 24 as illustrated in Fig. 18b.
If multiple user instruction pages are stored in memory, the appliance may further set a pointer to indicate the next page in a sequence 1820. The availability of more information would be indicated to the user in the displayed user's manual by, for example, a "more" hyper-link or button as illustrated in Fig. 18b. It will be appreciated that in the HTML, this "more" function could be associated with either a hyper-link in the conventional HTML sense, or with an IROP tag to cause an IR
command to be transmitted, depending on the requirements of the particular appliance. In either case, if the user causes the remote control 10 to issue a command requesting the next page of information 1822 by activating the "more" key, the appliance will retrieve the next page of information from memory 1824 , transmit 1818 the page information to the remote control 10, and update the page pointer 1820, if necessary. If the command received by the appliance from the remote control 10 is not related to the retrieval of the user's manual from the memory of the appliance, the command will be processed by the appliance in accordance with its operating instructions 1826.
In an alternative embodiment, once the make (and also possibly the model) of the device has been entered into the remote control 10 (either by direct interaction with the device or by a process of deduction based on the setup number input by the user to control the device) the user manual could be obtained via an Internet connection (using a Web site specific to the manufacturer or a generic compilation maintained by a third party). For this purpose, the remote control 10 would use the browser functionality, in conjunction with Web access via a personal computer, set top box, or the like, as previously described. In this case, if the model of the consumer appliance were important to which user manual were to be displayed (i.e., multiple user manuals for multiple models of appliances), and only the make of the consumer appliance were provided, the Web site could offer a list of selectable model numbers and/or pose one or more questions to the user by which questions it could be deduced which user manual the Web site should provide to the user (e.g., does your TV support PIP, etc.).
By way of further example, Figures 19a and 19b illustrate one method by which the remote control 10 might support Web based retrieval of a user's guide. In the illustrated embodiment, the Remote Control Application is provided with a soft key (labeled, for example, "Info") which causes the Application to retrieve 1910 the current device set up information, i.e., the code number provided by the user via one of the methods described earlier in conjunction with the setup sub-application 501, and invoke the Browser Application using this information as a parameter 1920.
Once the Browser Application is invoked, the Browser can issue a request via the Internet to retrieve the Web pages corresponding to the user's manual for the device indicated by the device set-up code number 1922. To this end, the Browser application might consult a URL look-up table stored in memory that functions to map URLs of Web pages with the devices cross-referenced by the device set-up code numbers. As an alternative to storing a URL look-up table in local memory the Browser application might first access a separate URL that itself contains such a table.
In either case, once the URL corresponding to the specific device user's manual has been located, the initial Web page retrieved from that Internet site would generally comprise a Main Index page 1930 having hyper-links 1932 to Web pages 1940 that contain further detailed information, an example of which is illustrated in Fig. 19b.
In yet another alternative embodiment, the Browser Application, starting with an internally stored HTML page, could present the user with a menu of devices for which instructions are available as illustrated in Fig. 20. Depending on the item selected by the user, HTML links 2002 associated with the menu of devices 2000 could point to further internal pages which initiate a download from a local device using for example an IROP tag (or it's RF equivalent) in the manner described in conjunction with Figure 18 above. Alternatively, links can be provided that point to external, Web-based sources for the user information in the manner described in conjunction with Figure 19 above.
Providing the remote control 10 with browser capabilities has further advantages. For example, the remote control 10 could access Web sites, via a set top box, an adapter connected to a PC (especially in homes where the PC is always connected to a network, for example, by way of a cable modem or DSL-based Internet connection), directly to an ISP (provided the remote is equipped with a modem) or other gateway device to gather information, such as, weather, stock quotes, movie reviews, etc., as illustrated in Figure 16, in the manner previously described in conjunction with Figures 14 and 1 S.
In a further embodiment, the display 24 of the remote control 10 could be used to display television viewing guide information, with personalization and/or reminder capabilities. Such guide data may be obtained directly from an Internet server, using a local PC, set top box, home gateway or the like as a proxy server as described in conjunction with Figures 14,15 and 16. The guide data may also be retrieved from data locally resident in a PC or set top box that periodically obtains and stores guide information by, for example, dialing a pre-determined number or accessing a particular Web site every night. In either case, the TV guide data, formatted into a compatible subset of HTML, is transmitted to the remote control for display at the request of the user. One such form of display is shown, together with the HTML
that generated it, in Figure 13. An alternative form for displaying guide information is shown in Figure 27. While additional capabilities will be described in conjunction with Figure 27, it will be appreciated that, since these displays are created by HTML
source pages, many other layouts offering equivalent functionality are also possible.
Turning to Figure 27, Figure 27 shows a "list" guide 2710 in which the programs available at a selected time and date are listed, in channel number sequence, for multiple TV channels. Alternative arrangements of this list are possible, for example, displaying listings for a channel rather than for a time (i.e., all programs to be broadcast by a selected channel are listed in a time sequence) or displaying a list that is not sequential by channel number but instead arranged to match a user's preferences by broadcast channel and/or content type as will be described in more detail later in conjunction with Figure 30.
To effect rapid selection of a program of interest, the remote control 10 can be adapted such that selecting (touching) any of the broadcast station identifiers 2720 listed on the display 2710 will activate an IROP HTML tag, as described earlier, to cause the remote control to issue the command to switch the TV (or set top box in the case of cable or satellite subscribers) to the corresponding channel. For example, as illustrated in the exemplary embodiment shown in Figure 27, selecting "PBS"
will cause the remote control to issue the commands to cause the corresponding appliance to switch to channel 10.
The remote control 10 can be further adapted such that selection of the title of the program, for example "Clifford Big Red Dog" 2730, will result in the display of additional information regarding that particular program. In this illustrative embodiment, touching one of the program names activates an HTML tag which points to other HTML pages) containing additional information regarding that program.
Once again, such additional information pages) may be resident locally or may be accessed via the Web. In the example shown, screen display 2750 is the result of selecting "Clifford Big Red Dog" 2730 on the initial display 2710. In this manner television viewing guide information can offer Web links to additional information about shows, for example movie reviews, that are accessible by an individual user using the Web browser without disturbing the TV screen display of the program currently being viewed by others.
The TV guide information displayed on the remote control can also be presented in differing forms to suit the preferences of individual users. By way of example, Figure 30 illustrates a system in which the order of the show listings is arranged according to individual preferences. In this example, upon initiation of the guide function, users are presented with a screen 3010 which prompts the user for identifying information, such as a password. Based on the input received, the same TV guide entries may be presented in different orders 3020, 3030, 3040 to match the user's individual preferences. While only a single page of guide information is illustrated in Figure 30 for the sake of simplicity, it will be appreciated that that this feature is of particular utility when the guide information spans multiple pages and the users are spared excessive paging back and forth by virtue of their favorite shows appearing in the first pages(s) of the display.
Another feature also illustrated in Fig. 30 is the possibility of "filtering"
listings. For example, a closer examination of the listing display 3040 corresponding to the child "Maggie" will reveal that KCAL Channel 9's "Jerry Springer Show"
is not listed as a viewing choice for Maggie. Importantly, it should also be realized that although the feature is illustrated in this example via the sharing of a single remote control by three different individuals who identify themselves to the unit with each use, it could equally be implemented using three different remote controls, i.e. each user provided with a personal remote control customized to their particular preferences. An advantage to having the television viewing guide resident in the remote control 10 is that it allows such unique features to be offered to the consumer.
By way of further example, in cases where the remote control hardware supports a time-of day clock, the remote control 10 could be used to issue a "missing program" reminder if it detects activity which indicates that the user is not currently watching TV (i.e., the remote is in a mode for controlling the operation of a CD
player, audio equipment commands being issued, etc. and the user has programmed a reminder to watch a particular show). The remote control 10 could similarly be used to remind the user of "tonight's favorite programs" when it detects the user turning the TV on in the evening after a pre-determined "off' period which indicates that the user was away from home. The favorites could be entered by the user or determined from previous viewing habits (e.g., by tracking channel selections in time slots for a given day), etc.
For entering reminders into the remote control 10, an exemplary embodiment is illustrated in Figure 27. Turning again to the program detail display 2750, two exit options are provided to the user. The first exit option, "BACK" 2760, simply returns the user to the previous page 2710. The second option, "REMIND ME" 2770 is associated with an MREM tag embedded in the HTML. Selection of this option will cause the Browser Application to extract the date, time, and program information contained in the MREM tag and register this data with the reminder function of the Remote Control Application for subsequent action as described in further detail later.
More specifically, the Browser Application will store within a table in memory the information pertaining to the reminder events. For example, when the Browser application encounters <MREM TTR = "5-11-2001-16:00" LABEL = "REMINDER:
Channel 10 at 4:OOpm">, the Browser application would register a message display 2790 to appear at or near 4:OOpm on May 11, 2001. Thus, the Browser Application populates the table with the date/time, message, image, and URL link information from each MREM tag.
To produce a reminder message 2790 on the standard remote control display 24 at an appropriate time, the steps illustrated in Figure 28 can be followed.
Turning now to Figure 28, which illustrates an exemplary method by which reminder data is subsequently processed by the remote control application, whenever a key (hard or soft) is pressed 2802 by the user, movement of the remote control 10 is sensed, etc., the Remote Control Application first fetches the current time value 2804 and compares 2806 this value to those contained in the table of reminder data. If no entry exists in the table with a time value which is earlier than or equal to the current time, no reminder actions are required and the Remote Control Application continues to process the event in the usual manner. When no reminder actions are necessary, the remote control 10 can erase 2820 any previous reminder messages that had been displayed.
If, however, an entry is found in the table of reminder data with a time value less than or equal to the current time, the Remote Control Application next checks 2810 if the entry in question contains a URL pointer value (as described earlier in connection with the MREM tag definition, URL and message fields may be null) and, if a URL pointer exists, the Remote Control Application immediately invokes and passes control to the Browser Application 2812 to load and act on the specified HTML page. Thus, in this implementation, existence of a URL pointer takes priority over both any reminder message text as well as any remote control action called for by the key press which initiated table scan. It will, however, be appreciated by those skilled in the art that other prioritizations are possible.
If no URL pointer is present, the Remote Control Application next checks 2814 if the reminder table entry is "stale," i.e., reminders are scheduled for a time more than 30 minutes ago. If so, it simply ignores the message, deleting the table entry 2818 with no further action. Once again, those skilled in the art will recognize that other implementations are possible using a longer, shorter, or even no measure of "staleness." The 30 minute value in this exemplary implementation was selected as appropriate for the TV guide reminder feature it is being described in connection with.
If the entry is determined to be "not stale" or valid, the Remote Control Application then checks for the existence of any reminder display data, text, or graphic and generates 2816 any reminder message display required, e.g. 2790. A
reminder may also cause the buzzer 102 to emit a sound, providing emphasis to the display. Thereafter, the Remote Control Application can delete 2818 the reminder table entry it has just acted upon and continue to scan and process any further table entries which may also be eligible for action.
Of particular advantage to this implementation of a reminder feature is the fact that the remote control logic is able to detect when the unit is in use (e.g., the consumer is pressing buttons, moved the remote, etc.) and thus displays the reminder message when the unit is actually in the consumers hand, as opposed to a passive display system dependent only on a timer where a reminder message would be displayed regardless of whether anyone is there to see it or not.
Use of the MREM tag is not limited to TV show reminders. When the remote control is used in communication with a PC or home automation server as described in conjunction with Figure 14, application programs running on these devices can download appointment reminders, medication schedule reminders, etc. into the remote control via an HTML page in the manner described above. Equally, set top boxes could download reminders of special features, upcoming pay-per-view events, etc.
Further, for use in connection with home automation applications, the reminder feature of remote control 10 can be used in conjunction with appliances and home systems to allow alarms and status messages to be displayed on the display 24 of the remote control 10 (e.g., freezer quit, oven timer expired, garage door ajar).
To this end, the remote control 10 could periodically poll appliances or home automation servers and store messages received in the form of reminder tags to later inform the user ("beep and display") when the remote control 10 senses activity on the part of the user - i.e. the remote control 10 determines that it is being handled/looked at by a user.
In still another embodiment, the display 24 of the remote control 10 could be used to present closed caption text. To this end, a TV or set top box equipped (or retrofitted) with closed caption capability can communicate with the remote control 10 to transmit the closed caption data stream to the remote control 10 instead of the TV screen. When closed captioning is displayed on the screen 24 of the remote control 10 it allows one person to utilize the caption feature without affecting the program display on the TV screen.
To effect the display of close captioning information, the system may be arranged as illustrated in Fig. 25. In particular, the remote control 10 is adapted to communicate with a television, set-top box, or like device 2510 that has a memory 2520 in which the closed captioning information to be displayed is stored. In the illustrated example, the closed captioning information stored in the memory 2520 of the device 2510 is extracted from an incoming video signal using a tuner 2530 and closed caption decoder 2540. It will be appreciated that the closed captioning information may be included in a vertical blanking interval ("VBI") of the incoming video signal. While the illustrated example shows the closed captioning information being downloaded to the memory 2520 from an incoming video signal, it is contemplated that the closed captioning information can be received from other sources such as, for example, the Internet.
To request that the device 2510 transmit the closed captioning information to the remote 10 for display on the LCD 24, the user may activate a soft key which will result in the transmission of a closed captioning request command from the remote control 10 to the device 2510. The transmission of the command can be accomplished using either the IR transmitter or the RF transmitter. Upon receipt of the closed captioning request command, as illustrated in Fig. 26, the device determines 2610 if it is currently in a closed captioning transmit mode. If the device 2510 is already sending closed captioning information to the remote control 10, via, for example, RF communication module 2550, the device 2510 ends this mode of operation, by clearing a flag used to indicate this operational mode 2620. If , however, the device 2510 is not presently sending closed captioning information to the remote control 10, the device 2510 sets the flag 2630 to indicate it has entered the closed captioning transmit mode of operation. It will be appreciated that the effect of this logic is to allow a single command (i.e., remote control button) to toggle the feature on and off by alternate presses. Other implementations are also possible, e.g., separate "on" and "off' buttons. On initially entering the closed caption transmit mode of operation, the device 2510 retrieves 2640 a pre-formatted Web page into which the closed captioning information will be placed.
To transmit the closed captioning information to the remote control 10 from the device 2510, the memory 2520 is accessed to load into the pre-formatted Web page the buffered closed captioning information 2650. The Web page containing the current closed caption information may then be transmitted 2660 to the remote control 10. When the device 2510 is in the transmit closed captioning information mode of operation, the steps of loading the current closed captioning information into the Web page and transmitting the Web page to the remote control 10 are repeated as requested by the remote control 10. This is accomplished by the remote control 10 issuing a closed captioning refresh request to the device 2510 which causes the device 2510, upon the receipt of the request 2670, to load the closed captioning information stored in the memory 2520 into the Web page and transmit the Web page to the remote control 10.
The rate at which the remote control issues such refresh requests is determined by the value contained in the special "Refresh" META statement in the HTML
page loaded at step 2640. The value is preferably selected to adequately support the closed caption rate while taking into account the battery power consumption of the remote control. It will be appreciated that, in alternative applications where battery life is not a critical factor, for example, where the remote control unit is to be docked in a recharging base during closed caption display, the refresh interval can be made very small or even omitted entirely. In this manner, the remote control is continuously polling the device 2510 which can then refresh the display as often as is necessary to accommodate the streaming of information into memory 2520.
Using the above described procedure, the system can be further adapted to present "Fast news." In this regard, a "headline summary" feature can be implemented by storing the closed caption frames during a news broadcast and then displaying the captured frames as a scrollable text file on the display 24 of the remote control 10. In this regard, the fast news information can be stored in the memory 2520 of the device and accessed on request. Alternatively, the information could be placed into one or more Web pages that are transmitted to the remote control 10 and locally stored for later viewing. Still further, if the set top box or TV is equipped to communicate bi-directionally with the remote control 10, additional information about a show or event in progress (e.g. athlete statistics, actor biographies, etc.) could be displayed on the LCD 24 of the remote control 10 without interfering with the main picture on the TV screen. The information could be in the form of text or links to Web pages having the content which is accessible via the Internet. Again, this information would be received from an external source and transmitted to the remote control 10 by way of the device 2510.
The capabilities described above can further be used to allow the remote control 10 to communicate with an electronic device, such as a DVD player, CD
player, etc. to display individual movie subtitles, karaoke lyrics, etc. on the display 24. This information could be transmitted in real-time or down-loaded and displayed in a manner synchronized with the electronic media using the procedure above-described. The display can be in paragraphs/verses, line-by-line or word-by-word.
Also, since this information is conveyed to the remote control in HTML form, the subtitles, lyrics, etc. may comprise plain text data, graphic images, or a mixture of both.
In yet another embodiment, Figure 24 illustrates and application in which song lyrics may be obtained from a Web site using a personal computer 1420 or a set top box or other device 2510 as a gateway or proxy server. In this case, the first HTML
page downloaded 2402 prompts the user to enter a song title. When the user activates the text entry field by touching within the indicated area, the Browser display can change to a keyboard arrangement 2404 (corresponding to HTML event 1018 shown in Figure l Oc) to allow entry of text data. On completion of text entry, the user can touch an "OK" soft button 2406 to return to the previous display (with the text data entered) 2408. Touching a "submit" soft button can be used to cause the text information to be transmitted back to the proxy server and, thereafter, to the Web site.
In response, the Web site returns an HTML formatted data page to the proxy sever which page is transmitted to the remote control 10 to cause display of the appropriate lyrics 2412.
For displaying sub-titles for movies, etc. in a language that is not supported by the relevant media, the sub-titles etc. can be downloaded from a supporting Web site, kiosk, etc. In this regard, the information can be downloaded directly to the remote control 10, provided the memory is of sufficient size, or downloaded to a smart card or other releasable type of memory. It will be appreciated that, to support this latter described functionality, the remote control 10 can be adapted to include a releasable media reader or be adapted to communicate with releasable media reader.
Synchronization of the playing of the media and the display of the sub-titles, etc. can be performed manually, e.g., by activating a key to initiate the reading and display of information from the memory at the time the movie, etc. Alternatively, a signal can be issued from the media player which will cause the remote control 10 to automatically initiate the reading and display of information from the memory at the time the movie, etc. Since a system and method for adapting a remote control to use a smart card is described in greater detail in U.S. Patent No. 6,223,348 which is incorporated herein by reference in its entirety, it will not be discussed further for the sake of brevity.
Still further, the remote control 10 can be equipped with a bar code reader to facilitate the gathering of information related to programming the remote control 10, home appliances/consumer electronic devices, TV programming, etc.
Alternatively, the bar code digits can be entered by the user. Use of a bar code to facilitate programming a remote control to match the consumer's equipment is disclosed in U.S. Patent No. 6,225,938 entitled "Universal Remote Control System with Bar Code Setup" which is incorporated herein by reference in its entirety. In addition, use of a bar code reader allows the remote control I 0 to retrieve information indicative of an item/article and, thereafter, display information relevant to the item/article (e.g., instructions, warnings, nutritional info, spare part lists, command codes for controlling its operation, etc.). Furthermore, the UPC/Bar code information could be used as a pointer to Web sites on the Internet. This bar code could be a standard Universal Product Code (UPC) or could be a special bar code format intended for use only with the remote control.
In an exemplary implementation, a bar code reader module with a serial interface, such as are available from Symbol Technologies Inc., can be attached through the general purpose serial I/O connection 108 and UART port 330. This bar code reader module may be physically incorporated into the housing 13 of the remote control, or may be in the form of a self contained external module connected via a cable to the serial I/O jack 61. When so equipped, the bar code reader can be used as an alternative to the keyboard for entry of data into input fields in HTML
pages. By way of example, Figure 29 illustrates an application in which a consumer can obtain additional information regarding a product from the Internet, the remote control communicating with the Internet in a manner similar to that previously described in connection with Figs. 14-15.
To request information in this manner, the user would initially request an HTML page containing an input field 2910 into which a UPC code is entered, either via the keyboard or by scanning the product itself with the bar code reader.
Preferably keyboard entry is provided as a backup in the event the UPC bar code label on the product is damaged, obscured, unreachable, or the like. An "EXIT"
button 2915 is also provided on this and subsequent pages so that the user can return to the Browser Application start page or other designated beginning point at any time.
After capture of the UPC code 2930 by scanning the product with the bar code reader, selecting the "SUBMIT" 2940 button causes the remote control Browser Application to transmit the UPC code data back to the URL from which the initial HTML page originated. At the originating site, this data can be used to directly index into a database of product information or, alternatively, may be used to index into a table of other URLs (corresponding to manufacturer Web pages, for example) to transfer the request to a specific site from which the appropriate information is available. In either event, the resulting response is the transmission of a page of HTML
formatted data back to the remote control 10 to cause display of the desired product information 2960. This page of information can itself contain links) to additional pages) of information as seen in this example where selecting "COOKING DIRECTIONS"
2970 results in the display of a secondary page of information 2980, which in turn can contain a link 2990 to yet another page, and so on. In this manner all needed product information can be made available to a consumer.
The bar code reader may also be used in many other Internet based applications implemented in a similar manner to that described above for example, grocery shopping, on line warranty registration, product and/or price comparisons, and the like. It may also be used as an alternative input means during the process of acquiring song lyrics or user manual information as described earlier, by swiping the UPC on the product packaging in place of manually entering text or setup data.
For use in facilitating interaction with the Internet and/or other modes of communication both wireless and wired, the remote control 10 can be adapted to dock to a keyboard. A view of the remote control 10 used in a landscape mode is illustrated in Fig. 17. In this manner, the keyboard 300 and the remote control 10 can communicate such that the remote control 10 can be used for sending email, talking in Internet chat rooms, etc. Communications via a network Internet would occur in a manner similar to that described in connection with Figs. 14-15.
While specific embodiments of the invention have been described in detail, it will be appreciated by those skilled in the art that various modifications and alternatives to those details could be developed in light of the overall teachings of the disclosure. Accordingly, the particular arrangement disclosed is meant to be illustrative only and not limiting as to the scope of the invention which is to be given the full breadth of the appended claims and any equivalents thereof.
tag are discussed later.
Turning to Fig. 9, to invoke the browser application, the user may, for example, press a soft button 910 (such as "iMosaic" 41 on the regular remote control application display screen 24). When invoked, the browser application starts by initializing itself and the two-way communication interface 912 (via the RF
I/O
Manager in the illustrative embodiment). If the browser application and two-way communication interface are successfully initialized, the remote control 10 displays the basic Browser screen layout, an example of which is shown in Figure 11, and issues a request to load a preset home page 914, 916. Figures 10a through 1 Og provide flowcharts depicting an overall operation of the exemplary Browser Application, showing how subsequent processing of the downloaded HTML data can be performed.
Turning to Figure 1 Oa, there is shown the overall flow of the exemplary Browser application. As described earlier, the remote control 10 is an event-driven system, so once initialized, the Browser Application simply waits for an Event to occur 1002. Browser-related Events can be classified into one of three general categories: KeyDown Events 1004 which result from user activation of any of the keys shown in Figure 11 (hard or soft); HTML Events 1006 which result from user activation of an HTML generated item in the current display area (for example a hyperlink, check box, text input area, etc.); and I/O Events 1008 resulting from activity on the two way communication link, timers, or other system-generated interrupts (a low battery indication, for example). The individual processing of each of these categories of Event will be described in further detail below in conjunction with the figures that follow.
In one exemplary embodiment, internal priorities within the Browser Application are arranged such that, while in the process of loading and displaying a page of data via the RF link, it will ignore other inputs such as HTML Events.
In other words, it is designed such that a user is required to wait until the current page is completely displayed before initiating any action such as a hyperlink selection. This is evident in Figure 10a where the "IDLE" status of the Browser application (i.e., not currently loading data via the RF link) is used to determine whether KeyDown and HTML events are processed or not. It will be appreciated that other implementations are also possible, in particular, providing the ability to abort an HTML
download in progress and initiate a new one by pressing a key or hyperlink in a partially loaded and displayed page.
Figure l Ob depicts the processing of a KeyDown Event, specifically the action taken in response to each of the possible key press user inputs. As can be seen, these actions are used to effect page navigation and browser control in addition to providing a means to configure the Browser Application and to return the unit to the (default) Remote Control Application.
Figure l Oc depicts the processing of an HTML Event. In the HTML subset supported by the exemplary Browser Application, only four classes of HTML
Events can occur: Activation of a hyperlink 1010; activation of a form control field 1012;
expiration of a "refresh" META statement timer 1014 (a special extension to standard HTML which allows periodic reloading of a page); or activation of a IROP field (a special extension to standard HTML which allows IR commands to be transmitted to consumer appliances). Activation of a hyperlink results in a request for the contents of the specified URL to be issued via the communications link, after which the Browser Application returns to the "Get Next Event" waiting state shown at the top of Figure 10a pending receipt of the requested data. Activation of a forms control function results in the appropriate action as shown in Figure l Ob (note that not all possible HTML forms functions are supported by the subset and, therefore, unrecognized control requests may be ignored), again followed by a return to the "Get Next Event" waiting state. Expiration of a "refresh" timer causes a request to be issued via the communications link for the URL specified in the META statement (or, if no URL is specified, the current page to be automatically reloaded) and a return to the "Get Next Event" waiting state pending receipt of the requested data.
Activation of an IROP control causes the Browser to issue SendIR commands to the IR
Controller, as described earlier, also followed by a return to the "Get Next Event"
waiting state.
Figure l Od depicts the processing of an RF I/O Event. All communications transactions are preferably timed in order to allow appropriate action to be taken by the Browser in the event the communications link is interrupted, for example by the user wandering out of RF range. Thus, the first I/O Event that is checked for is a timer expired status 1020. If there is a Port currently open (i.e. activity in progress) the timer expired event is handled as shown in Figure 10e, described in more detail below. If the Event is an "RF Buffer Ready" event 1022, indicating that there is received data ready for processing, the event is handled as shown in Figure l Og, described in more detail below. An RF buffer overflow event 1024 signifies an error condition, handled as shown in Figure l Of, described in more detail below. If the sending (server) side issues a "Cancel" command (a request to abort transmission), this event 1026 is handled in a similar manner to a timeout event. All other types of events 1028 represent conditions which should abort any page download currently in progress (e.g. a low battery condition), and thus result in the Browser issuing a "CANCEL" request to the server (the inverse of the server "CANCEL" described previously) provided a Port is currently open.
Figure 10e shows the error processing invoked in the case of a timeout or a server initiated "CANCEL" request when the Browser application is not "idle,"
i.e. it is loading HTML or image data via the RF link. If a given time, e.g., three seconds, has not elapsed since the last activity on this port 1030, timing continues without any action. If the given time has been reached or exceeded, the Browser issues a "CANCEL" request to the server 1032. It then determines if a given number of retries, e.g., three, have already occurred for this particular request 1034.
If the number or retries has not been exceeded, the Browser reissues the request 1036. If all of the retries have been exhausted, the Browser takes error action as appropriate: in the case of a failed HTML page download it may display an error message to the user 1038 (Figure 21 is a example of such a message); if the failure occurred during the download of an image 1040, the Browser may simply skip display of that image and proceeds to request the next image 1042, if any exists. (The processing of HTML and requests for image data is described in more detail later in conjunction with Figure l Og.) Figure l Of shows the error processing that occurs in the event of a buffer overflow. As can be seen, the actions taken by the remote control 10 are similar to those described above in conjunction with an exhausted retry count.
Figure l Og shows the processing steps that occur upon receipt of a buffer full of data Events from the RF I/O Manager. In this case, the Browser first checks its internal status to determine if it is currently expecting HTML or image data 1050. If expecting HTML data, the HTML page is sent to the HTML parser 1052, which processes the HTML data and breaks it down into individual elements for display (text strings and images), position coordinates for each hyperlink or control within the display, and a table of control-link relationships. The HTML parser also sets the appropriate timer if a "refresh" META statement is encountered. When the HTML
parser has completed its analysis, the display information is passed to the Display Manager 1054 for rendering on the LCD screen. Once the basic HTML page is displayed (i.e., text, links, controls, etc. together with "place holder"
icons for the locations of graphic images) the Browser may then issue requests for any graphic images called out in the HTML source, loading and displaying the graphic images one by one until all specified graphics have been displayed. This is achieved by issuing a request for the next graphic file 1056 via the RF communications link and then returning to the "Get Next Event" state (Figure 10a).
When a response is received, the next RF buffer ready Event will find the Browser in an "expecting image data" state. This will cause the opposite branch to be taken at the top of Figure l Og. Here, the Browser, after making any necessary adjustments to page layout resulting from the insertion of the new graphic 1058, displays the graphic data just received 1060 and issues a request for the next graphic.
In some instances the graphic size may have been predefined in the HTML, in which case no adjustment is necessary since the appropriate area is already allocated, but in others the final graphic may differ in size from the "place holder" icon and require adjustment to the balance of the page layout to accommodate it. After the last graphic has been downloaded and displayed, the Browser sets its internal status to "IDLE"
(thereby enabling recognition of HTML and KeyDown Events) and returns to the "Get Next Event" state (Figure 10a.) Figure 11 shows an exemplary, basic touch screen display layout for the remote control Browser. In the illustration, the layout comprises a toolbar containing the usual Browser control items (e.g., "back," "forward," "reload,"
"stop,"
"go to," and "home" illustrated from left to right), a key 1120 to access previously entered bookmarks, a general display area 1150 in which HTML formatted data is displayed, and a scroll bar 1140 used to navigate pages of data which are longer than the display space. In addition, the screen may include two control elements specific to the browser application, namely, a key 1130 to access set up routines used to adjust items such as RF link addresses, home page URL, etc., and a key 1110 used to return the unit to the basic remote control application 432 when use of the Browser is complete.
The "home page" URL first loaded by the Browser application need not be Web based in the classical sense. Rather, the "home page" may be an address pointing to a locally stored, HTML formatted interface to a home control system as illustrated in Fig. 12. The "home page" illustrated in Fig. 12 shows an example of how the universal remote control 10 can display simple icons and messages 1202 useful in receiving information from appliances around the home and, in turn, controlling them. In yet another example, the "home page" initially loaded might take the form of a TV guide display loaded from a cable or satellite set top box including program viewing information 1302, as illustrated in Fig. 13. Note that this particular example makes use of the "full screen" META statement 1300 as described above to hide the generic browser controls (e.g., "back," "forward," "reload," etc.) from the user.
By way of further example, Fig. 14 illustrates the use of the universal remote control 10 as part of a two-way communication system. In this illustrated example, the remote control 10 is used as a platform to browse the Internet, using a personal computer 1420 as a gateway or proxy server. Requests by the user of the universal remote control 10 for access to certain information located on Web pages on the Internet are sent through the RF I/O manager 418 and RF module 125 to a matching RF transceiver unit 1410 which is attached to the personal computer 1420 via one of its serial ports 1415. Software resident in the personal computer 1420, including an HTTP interface and server application 1440, formats the request appropriately and forwards it to the specified Web URL. When a response to a request is received at the personal computer 1420, the personal computer 1420 performs any format conversion required for compatibility with the subset of HTML supported by the remote control 10, and then forwards it to the remote control 10 via the reverse of the path described above. In this manner, Web content may be ultimately displayed on the universal remote control 10.
In the illustrative example, the PC application that provides the Internet access for the remote control 10 is called the server application. As illustrated in Fig. 15, the server start up module 1500 is invoked when the server application is started on the personal computer 1420. The server application manages the display (to the PC
screen) and internal settings 1510, the transfer of data 1520 between the Internet and the remote control 10, and the external serial port 1540 to which the PC-side RF
transceiver unit 1410 is attached. As serial messages are received 1542 they are placed in an internal data buffer 1544 from which they are subsequently processed and delivered to the Internet 1522,1524,1526. If Internet data is received 1526, then it is converted to a compatible format if necessary 1528, 1530 and then sent to the remote control 10 for display 1532. It will be appreciated that while this example uses a personal computer based Web gateway, similar systems can readily be implemented using various other devices to implement the gateway, for example a cable or satellite set top box, a Web-enabled TV set, a residential home gateway controller, a Web-enabled game console, a personal video recorder, etc.
Once the universal remote control 10 with two-way communication is suitably installed, many new and heretofore unavailable applications can be provided.
For example, of particular advantage, the remote control 10 may be equipped to communicate with an electronic device to retrieve operating instructions for display on the LCD screen 24 of the remote control 10 as illustrated in Fig. 22. In this manner, instead of a printed user manual which may be lost, a device 2200 which is already equipped to communicate bi-directionally with the remote control 10 (e.g. a cable set top box, a thermostat, a security system, a household appliance, etc.) has user manual information stored in low cost ROM memory 2202. To this end, the remote control 10 can be equipped with an application 2210 that allows its display 24 to display information that is encoded using a mark-up language, such as HTML
or XML as described earlier. Thus, the user manual can be formatted using at least a subset of the mark-up language where it can be retrieved by the user from the device (e.g., in response to a keystroke on the remote) and displayed on the screen 24 of the remote control 10 as needed. In an alternative embodiment shown in Figure 23, an appliance 2300, which is not itself equipped with wireless communication capability can use a wireless capable device 2320 as a relay to communicate with the remote control in a similar manner to that described above. In this case, the appliance 2300 would have a hardwired (e.g. dedicated wiring, powerline, telephone, video or audio cable, etc.) communication connection 2310 to the device 2320 which does have wireless capability.
By way of illustration, Figures 18a and 18b set forth an exemplary method by which a thermostat unit might support the above-described information retrieval feature. To initiate the information retrieval, the remote control 10 can transmit a command to the appliance that signifies a request for the information. The transmission of the information request command by the remote control 10 would normally be in response to the occurrence of an Event at the remote control 10, e.g., the activation of a soft key. Upon receipt of a command at the appliance, the appliance determines if the command is a request for information 1810. If the command is a request for information, the appliance can set a flag to indicate that the appliance is in a state of servicing the request 1812, can retrieve its current operational status 1814, and fetch from memory a pre-formatted page that has user instructions corresponding to the current operational status 1816. The retrieved information would be transmitted 1818 back to the remote control 10 for display on the LCD 24 as illustrated in Fig. 18b.
If multiple user instruction pages are stored in memory, the appliance may further set a pointer to indicate the next page in a sequence 1820. The availability of more information would be indicated to the user in the displayed user's manual by, for example, a "more" hyper-link or button as illustrated in Fig. 18b. It will be appreciated that in the HTML, this "more" function could be associated with either a hyper-link in the conventional HTML sense, or with an IROP tag to cause an IR
command to be transmitted, depending on the requirements of the particular appliance. In either case, if the user causes the remote control 10 to issue a command requesting the next page of information 1822 by activating the "more" key, the appliance will retrieve the next page of information from memory 1824 , transmit 1818 the page information to the remote control 10, and update the page pointer 1820, if necessary. If the command received by the appliance from the remote control 10 is not related to the retrieval of the user's manual from the memory of the appliance, the command will be processed by the appliance in accordance with its operating instructions 1826.
In an alternative embodiment, once the make (and also possibly the model) of the device has been entered into the remote control 10 (either by direct interaction with the device or by a process of deduction based on the setup number input by the user to control the device) the user manual could be obtained via an Internet connection (using a Web site specific to the manufacturer or a generic compilation maintained by a third party). For this purpose, the remote control 10 would use the browser functionality, in conjunction with Web access via a personal computer, set top box, or the like, as previously described. In this case, if the model of the consumer appliance were important to which user manual were to be displayed (i.e., multiple user manuals for multiple models of appliances), and only the make of the consumer appliance were provided, the Web site could offer a list of selectable model numbers and/or pose one or more questions to the user by which questions it could be deduced which user manual the Web site should provide to the user (e.g., does your TV support PIP, etc.).
By way of further example, Figures 19a and 19b illustrate one method by which the remote control 10 might support Web based retrieval of a user's guide. In the illustrated embodiment, the Remote Control Application is provided with a soft key (labeled, for example, "Info") which causes the Application to retrieve 1910 the current device set up information, i.e., the code number provided by the user via one of the methods described earlier in conjunction with the setup sub-application 501, and invoke the Browser Application using this information as a parameter 1920.
Once the Browser Application is invoked, the Browser can issue a request via the Internet to retrieve the Web pages corresponding to the user's manual for the device indicated by the device set-up code number 1922. To this end, the Browser application might consult a URL look-up table stored in memory that functions to map URLs of Web pages with the devices cross-referenced by the device set-up code numbers. As an alternative to storing a URL look-up table in local memory the Browser application might first access a separate URL that itself contains such a table.
In either case, once the URL corresponding to the specific device user's manual has been located, the initial Web page retrieved from that Internet site would generally comprise a Main Index page 1930 having hyper-links 1932 to Web pages 1940 that contain further detailed information, an example of which is illustrated in Fig. 19b.
In yet another alternative embodiment, the Browser Application, starting with an internally stored HTML page, could present the user with a menu of devices for which instructions are available as illustrated in Fig. 20. Depending on the item selected by the user, HTML links 2002 associated with the menu of devices 2000 could point to further internal pages which initiate a download from a local device using for example an IROP tag (or it's RF equivalent) in the manner described in conjunction with Figure 18 above. Alternatively, links can be provided that point to external, Web-based sources for the user information in the manner described in conjunction with Figure 19 above.
Providing the remote control 10 with browser capabilities has further advantages. For example, the remote control 10 could access Web sites, via a set top box, an adapter connected to a PC (especially in homes where the PC is always connected to a network, for example, by way of a cable modem or DSL-based Internet connection), directly to an ISP (provided the remote is equipped with a modem) or other gateway device to gather information, such as, weather, stock quotes, movie reviews, etc., as illustrated in Figure 16, in the manner previously described in conjunction with Figures 14 and 1 S.
In a further embodiment, the display 24 of the remote control 10 could be used to display television viewing guide information, with personalization and/or reminder capabilities. Such guide data may be obtained directly from an Internet server, using a local PC, set top box, home gateway or the like as a proxy server as described in conjunction with Figures 14,15 and 16. The guide data may also be retrieved from data locally resident in a PC or set top box that periodically obtains and stores guide information by, for example, dialing a pre-determined number or accessing a particular Web site every night. In either case, the TV guide data, formatted into a compatible subset of HTML, is transmitted to the remote control for display at the request of the user. One such form of display is shown, together with the HTML
that generated it, in Figure 13. An alternative form for displaying guide information is shown in Figure 27. While additional capabilities will be described in conjunction with Figure 27, it will be appreciated that, since these displays are created by HTML
source pages, many other layouts offering equivalent functionality are also possible.
Turning to Figure 27, Figure 27 shows a "list" guide 2710 in which the programs available at a selected time and date are listed, in channel number sequence, for multiple TV channels. Alternative arrangements of this list are possible, for example, displaying listings for a channel rather than for a time (i.e., all programs to be broadcast by a selected channel are listed in a time sequence) or displaying a list that is not sequential by channel number but instead arranged to match a user's preferences by broadcast channel and/or content type as will be described in more detail later in conjunction with Figure 30.
To effect rapid selection of a program of interest, the remote control 10 can be adapted such that selecting (touching) any of the broadcast station identifiers 2720 listed on the display 2710 will activate an IROP HTML tag, as described earlier, to cause the remote control to issue the command to switch the TV (or set top box in the case of cable or satellite subscribers) to the corresponding channel. For example, as illustrated in the exemplary embodiment shown in Figure 27, selecting "PBS"
will cause the remote control to issue the commands to cause the corresponding appliance to switch to channel 10.
The remote control 10 can be further adapted such that selection of the title of the program, for example "Clifford Big Red Dog" 2730, will result in the display of additional information regarding that particular program. In this illustrative embodiment, touching one of the program names activates an HTML tag which points to other HTML pages) containing additional information regarding that program.
Once again, such additional information pages) may be resident locally or may be accessed via the Web. In the example shown, screen display 2750 is the result of selecting "Clifford Big Red Dog" 2730 on the initial display 2710. In this manner television viewing guide information can offer Web links to additional information about shows, for example movie reviews, that are accessible by an individual user using the Web browser without disturbing the TV screen display of the program currently being viewed by others.
The TV guide information displayed on the remote control can also be presented in differing forms to suit the preferences of individual users. By way of example, Figure 30 illustrates a system in which the order of the show listings is arranged according to individual preferences. In this example, upon initiation of the guide function, users are presented with a screen 3010 which prompts the user for identifying information, such as a password. Based on the input received, the same TV guide entries may be presented in different orders 3020, 3030, 3040 to match the user's individual preferences. While only a single page of guide information is illustrated in Figure 30 for the sake of simplicity, it will be appreciated that that this feature is of particular utility when the guide information spans multiple pages and the users are spared excessive paging back and forth by virtue of their favorite shows appearing in the first pages(s) of the display.
Another feature also illustrated in Fig. 30 is the possibility of "filtering"
listings. For example, a closer examination of the listing display 3040 corresponding to the child "Maggie" will reveal that KCAL Channel 9's "Jerry Springer Show"
is not listed as a viewing choice for Maggie. Importantly, it should also be realized that although the feature is illustrated in this example via the sharing of a single remote control by three different individuals who identify themselves to the unit with each use, it could equally be implemented using three different remote controls, i.e. each user provided with a personal remote control customized to their particular preferences. An advantage to having the television viewing guide resident in the remote control 10 is that it allows such unique features to be offered to the consumer.
By way of further example, in cases where the remote control hardware supports a time-of day clock, the remote control 10 could be used to issue a "missing program" reminder if it detects activity which indicates that the user is not currently watching TV (i.e., the remote is in a mode for controlling the operation of a CD
player, audio equipment commands being issued, etc. and the user has programmed a reminder to watch a particular show). The remote control 10 could similarly be used to remind the user of "tonight's favorite programs" when it detects the user turning the TV on in the evening after a pre-determined "off' period which indicates that the user was away from home. The favorites could be entered by the user or determined from previous viewing habits (e.g., by tracking channel selections in time slots for a given day), etc.
For entering reminders into the remote control 10, an exemplary embodiment is illustrated in Figure 27. Turning again to the program detail display 2750, two exit options are provided to the user. The first exit option, "BACK" 2760, simply returns the user to the previous page 2710. The second option, "REMIND ME" 2770 is associated with an MREM tag embedded in the HTML. Selection of this option will cause the Browser Application to extract the date, time, and program information contained in the MREM tag and register this data with the reminder function of the Remote Control Application for subsequent action as described in further detail later.
More specifically, the Browser Application will store within a table in memory the information pertaining to the reminder events. For example, when the Browser application encounters <MREM TTR = "5-11-2001-16:00" LABEL = "REMINDER:
Channel 10 at 4:OOpm">, the Browser application would register a message display 2790 to appear at or near 4:OOpm on May 11, 2001. Thus, the Browser Application populates the table with the date/time, message, image, and URL link information from each MREM tag.
To produce a reminder message 2790 on the standard remote control display 24 at an appropriate time, the steps illustrated in Figure 28 can be followed.
Turning now to Figure 28, which illustrates an exemplary method by which reminder data is subsequently processed by the remote control application, whenever a key (hard or soft) is pressed 2802 by the user, movement of the remote control 10 is sensed, etc., the Remote Control Application first fetches the current time value 2804 and compares 2806 this value to those contained in the table of reminder data. If no entry exists in the table with a time value which is earlier than or equal to the current time, no reminder actions are required and the Remote Control Application continues to process the event in the usual manner. When no reminder actions are necessary, the remote control 10 can erase 2820 any previous reminder messages that had been displayed.
If, however, an entry is found in the table of reminder data with a time value less than or equal to the current time, the Remote Control Application next checks 2810 if the entry in question contains a URL pointer value (as described earlier in connection with the MREM tag definition, URL and message fields may be null) and, if a URL pointer exists, the Remote Control Application immediately invokes and passes control to the Browser Application 2812 to load and act on the specified HTML page. Thus, in this implementation, existence of a URL pointer takes priority over both any reminder message text as well as any remote control action called for by the key press which initiated table scan. It will, however, be appreciated by those skilled in the art that other prioritizations are possible.
If no URL pointer is present, the Remote Control Application next checks 2814 if the reminder table entry is "stale," i.e., reminders are scheduled for a time more than 30 minutes ago. If so, it simply ignores the message, deleting the table entry 2818 with no further action. Once again, those skilled in the art will recognize that other implementations are possible using a longer, shorter, or even no measure of "staleness." The 30 minute value in this exemplary implementation was selected as appropriate for the TV guide reminder feature it is being described in connection with.
If the entry is determined to be "not stale" or valid, the Remote Control Application then checks for the existence of any reminder display data, text, or graphic and generates 2816 any reminder message display required, e.g. 2790. A
reminder may also cause the buzzer 102 to emit a sound, providing emphasis to the display. Thereafter, the Remote Control Application can delete 2818 the reminder table entry it has just acted upon and continue to scan and process any further table entries which may also be eligible for action.
Of particular advantage to this implementation of a reminder feature is the fact that the remote control logic is able to detect when the unit is in use (e.g., the consumer is pressing buttons, moved the remote, etc.) and thus displays the reminder message when the unit is actually in the consumers hand, as opposed to a passive display system dependent only on a timer where a reminder message would be displayed regardless of whether anyone is there to see it or not.
Use of the MREM tag is not limited to TV show reminders. When the remote control is used in communication with a PC or home automation server as described in conjunction with Figure 14, application programs running on these devices can download appointment reminders, medication schedule reminders, etc. into the remote control via an HTML page in the manner described above. Equally, set top boxes could download reminders of special features, upcoming pay-per-view events, etc.
Further, for use in connection with home automation applications, the reminder feature of remote control 10 can be used in conjunction with appliances and home systems to allow alarms and status messages to be displayed on the display 24 of the remote control 10 (e.g., freezer quit, oven timer expired, garage door ajar).
To this end, the remote control 10 could periodically poll appliances or home automation servers and store messages received in the form of reminder tags to later inform the user ("beep and display") when the remote control 10 senses activity on the part of the user - i.e. the remote control 10 determines that it is being handled/looked at by a user.
In still another embodiment, the display 24 of the remote control 10 could be used to present closed caption text. To this end, a TV or set top box equipped (or retrofitted) with closed caption capability can communicate with the remote control 10 to transmit the closed caption data stream to the remote control 10 instead of the TV screen. When closed captioning is displayed on the screen 24 of the remote control 10 it allows one person to utilize the caption feature without affecting the program display on the TV screen.
To effect the display of close captioning information, the system may be arranged as illustrated in Fig. 25. In particular, the remote control 10 is adapted to communicate with a television, set-top box, or like device 2510 that has a memory 2520 in which the closed captioning information to be displayed is stored. In the illustrated example, the closed captioning information stored in the memory 2520 of the device 2510 is extracted from an incoming video signal using a tuner 2530 and closed caption decoder 2540. It will be appreciated that the closed captioning information may be included in a vertical blanking interval ("VBI") of the incoming video signal. While the illustrated example shows the closed captioning information being downloaded to the memory 2520 from an incoming video signal, it is contemplated that the closed captioning information can be received from other sources such as, for example, the Internet.
To request that the device 2510 transmit the closed captioning information to the remote 10 for display on the LCD 24, the user may activate a soft key which will result in the transmission of a closed captioning request command from the remote control 10 to the device 2510. The transmission of the command can be accomplished using either the IR transmitter or the RF transmitter. Upon receipt of the closed captioning request command, as illustrated in Fig. 26, the device determines 2610 if it is currently in a closed captioning transmit mode. If the device 2510 is already sending closed captioning information to the remote control 10, via, for example, RF communication module 2550, the device 2510 ends this mode of operation, by clearing a flag used to indicate this operational mode 2620. If , however, the device 2510 is not presently sending closed captioning information to the remote control 10, the device 2510 sets the flag 2630 to indicate it has entered the closed captioning transmit mode of operation. It will be appreciated that the effect of this logic is to allow a single command (i.e., remote control button) to toggle the feature on and off by alternate presses. Other implementations are also possible, e.g., separate "on" and "off' buttons. On initially entering the closed caption transmit mode of operation, the device 2510 retrieves 2640 a pre-formatted Web page into which the closed captioning information will be placed.
To transmit the closed captioning information to the remote control 10 from the device 2510, the memory 2520 is accessed to load into the pre-formatted Web page the buffered closed captioning information 2650. The Web page containing the current closed caption information may then be transmitted 2660 to the remote control 10. When the device 2510 is in the transmit closed captioning information mode of operation, the steps of loading the current closed captioning information into the Web page and transmitting the Web page to the remote control 10 are repeated as requested by the remote control 10. This is accomplished by the remote control 10 issuing a closed captioning refresh request to the device 2510 which causes the device 2510, upon the receipt of the request 2670, to load the closed captioning information stored in the memory 2520 into the Web page and transmit the Web page to the remote control 10.
The rate at which the remote control issues such refresh requests is determined by the value contained in the special "Refresh" META statement in the HTML
page loaded at step 2640. The value is preferably selected to adequately support the closed caption rate while taking into account the battery power consumption of the remote control. It will be appreciated that, in alternative applications where battery life is not a critical factor, for example, where the remote control unit is to be docked in a recharging base during closed caption display, the refresh interval can be made very small or even omitted entirely. In this manner, the remote control is continuously polling the device 2510 which can then refresh the display as often as is necessary to accommodate the streaming of information into memory 2520.
Using the above described procedure, the system can be further adapted to present "Fast news." In this regard, a "headline summary" feature can be implemented by storing the closed caption frames during a news broadcast and then displaying the captured frames as a scrollable text file on the display 24 of the remote control 10. In this regard, the fast news information can be stored in the memory 2520 of the device and accessed on request. Alternatively, the information could be placed into one or more Web pages that are transmitted to the remote control 10 and locally stored for later viewing. Still further, if the set top box or TV is equipped to communicate bi-directionally with the remote control 10, additional information about a show or event in progress (e.g. athlete statistics, actor biographies, etc.) could be displayed on the LCD 24 of the remote control 10 without interfering with the main picture on the TV screen. The information could be in the form of text or links to Web pages having the content which is accessible via the Internet. Again, this information would be received from an external source and transmitted to the remote control 10 by way of the device 2510.
The capabilities described above can further be used to allow the remote control 10 to communicate with an electronic device, such as a DVD player, CD
player, etc. to display individual movie subtitles, karaoke lyrics, etc. on the display 24. This information could be transmitted in real-time or down-loaded and displayed in a manner synchronized with the electronic media using the procedure above-described. The display can be in paragraphs/verses, line-by-line or word-by-word.
Also, since this information is conveyed to the remote control in HTML form, the subtitles, lyrics, etc. may comprise plain text data, graphic images, or a mixture of both.
In yet another embodiment, Figure 24 illustrates and application in which song lyrics may be obtained from a Web site using a personal computer 1420 or a set top box or other device 2510 as a gateway or proxy server. In this case, the first HTML
page downloaded 2402 prompts the user to enter a song title. When the user activates the text entry field by touching within the indicated area, the Browser display can change to a keyboard arrangement 2404 (corresponding to HTML event 1018 shown in Figure l Oc) to allow entry of text data. On completion of text entry, the user can touch an "OK" soft button 2406 to return to the previous display (with the text data entered) 2408. Touching a "submit" soft button can be used to cause the text information to be transmitted back to the proxy server and, thereafter, to the Web site.
In response, the Web site returns an HTML formatted data page to the proxy sever which page is transmitted to the remote control 10 to cause display of the appropriate lyrics 2412.
For displaying sub-titles for movies, etc. in a language that is not supported by the relevant media, the sub-titles etc. can be downloaded from a supporting Web site, kiosk, etc. In this regard, the information can be downloaded directly to the remote control 10, provided the memory is of sufficient size, or downloaded to a smart card or other releasable type of memory. It will be appreciated that, to support this latter described functionality, the remote control 10 can be adapted to include a releasable media reader or be adapted to communicate with releasable media reader.
Synchronization of the playing of the media and the display of the sub-titles, etc. can be performed manually, e.g., by activating a key to initiate the reading and display of information from the memory at the time the movie, etc. Alternatively, a signal can be issued from the media player which will cause the remote control 10 to automatically initiate the reading and display of information from the memory at the time the movie, etc. Since a system and method for adapting a remote control to use a smart card is described in greater detail in U.S. Patent No. 6,223,348 which is incorporated herein by reference in its entirety, it will not be discussed further for the sake of brevity.
Still further, the remote control 10 can be equipped with a bar code reader to facilitate the gathering of information related to programming the remote control 10, home appliances/consumer electronic devices, TV programming, etc.
Alternatively, the bar code digits can be entered by the user. Use of a bar code to facilitate programming a remote control to match the consumer's equipment is disclosed in U.S. Patent No. 6,225,938 entitled "Universal Remote Control System with Bar Code Setup" which is incorporated herein by reference in its entirety. In addition, use of a bar code reader allows the remote control I 0 to retrieve information indicative of an item/article and, thereafter, display information relevant to the item/article (e.g., instructions, warnings, nutritional info, spare part lists, command codes for controlling its operation, etc.). Furthermore, the UPC/Bar code information could be used as a pointer to Web sites on the Internet. This bar code could be a standard Universal Product Code (UPC) or could be a special bar code format intended for use only with the remote control.
In an exemplary implementation, a bar code reader module with a serial interface, such as are available from Symbol Technologies Inc., can be attached through the general purpose serial I/O connection 108 and UART port 330. This bar code reader module may be physically incorporated into the housing 13 of the remote control, or may be in the form of a self contained external module connected via a cable to the serial I/O jack 61. When so equipped, the bar code reader can be used as an alternative to the keyboard for entry of data into input fields in HTML
pages. By way of example, Figure 29 illustrates an application in which a consumer can obtain additional information regarding a product from the Internet, the remote control communicating with the Internet in a manner similar to that previously described in connection with Figs. 14-15.
To request information in this manner, the user would initially request an HTML page containing an input field 2910 into which a UPC code is entered, either via the keyboard or by scanning the product itself with the bar code reader.
Preferably keyboard entry is provided as a backup in the event the UPC bar code label on the product is damaged, obscured, unreachable, or the like. An "EXIT"
button 2915 is also provided on this and subsequent pages so that the user can return to the Browser Application start page or other designated beginning point at any time.
After capture of the UPC code 2930 by scanning the product with the bar code reader, selecting the "SUBMIT" 2940 button causes the remote control Browser Application to transmit the UPC code data back to the URL from which the initial HTML page originated. At the originating site, this data can be used to directly index into a database of product information or, alternatively, may be used to index into a table of other URLs (corresponding to manufacturer Web pages, for example) to transfer the request to a specific site from which the appropriate information is available. In either event, the resulting response is the transmission of a page of HTML
formatted data back to the remote control 10 to cause display of the desired product information 2960. This page of information can itself contain links) to additional pages) of information as seen in this example where selecting "COOKING DIRECTIONS"
2970 results in the display of a secondary page of information 2980, which in turn can contain a link 2990 to yet another page, and so on. In this manner all needed product information can be made available to a consumer.
The bar code reader may also be used in many other Internet based applications implemented in a similar manner to that described above for example, grocery shopping, on line warranty registration, product and/or price comparisons, and the like. It may also be used as an alternative input means during the process of acquiring song lyrics or user manual information as described earlier, by swiping the UPC on the product packaging in place of manually entering text or setup data.
For use in facilitating interaction with the Internet and/or other modes of communication both wireless and wired, the remote control 10 can be adapted to dock to a keyboard. A view of the remote control 10 used in a landscape mode is illustrated in Fig. 17. In this manner, the keyboard 300 and the remote control 10 can communicate such that the remote control 10 can be used for sending email, talking in Internet chat rooms, etc. Communications via a network Internet would occur in a manner similar to that described in connection with Figs. 14-15.
While specific embodiments of the invention have been described in detail, it will be appreciated by those skilled in the art that various modifications and alternatives to those details could be developed in light of the overall teachings of the disclosure. Accordingly, the particular arrangement disclosed is meant to be illustrative only and not limiting as to the scope of the invention which is to be given the full breadth of the appended claims and any equivalents thereof.
Claims (33)
1. An electrical signal representative of a mark-up language page tag, comprising:
a first field containing information indicative of an infrared code to be transmitted upon activation of a link displayed on a display; and a second field containing information representing a label which is displayed on the display and which is activatable as the link.
a first field containing information indicative of an infrared code to be transmitted upon activation of a link displayed on a display; and a second field containing information representing a label which is displayed on the display and which is activatable as the link.
2. The electrical signal as recited in claim l, wherein the information contained within the first field comprises data for use in generating the infrared code.
3. The electrical signal as recited in claim 2, wherein the information contained within the first field comprises a pointer to data for use in generating the infrared code.
4. A mark-up language page tag, comprising:
a first field containing information indicative of an infrared code to be transmitted upon activation of a link displayed on a display; and a second field containing information representing a label which is displayed on the display and which is activatable as the link.
a first field containing information indicative of an infrared code to be transmitted upon activation of a link displayed on a display; and a second field containing information representing a label which is displayed on the display and which is activatable as the link.
5. The mark-up language tag as recited in claim 4, wherein the information contained within the first field comprises data for use in generating the infrared code.
6. The mark-up language tag as recited in claim 4, wherein the information contained within the first field comprises a pointer to data for use in generating the infrared code.
7. A readable media on which is stored a mark-up language page tag, comprising:
a first field containing information indicative of an infrared code to be transmitted upon activation of a link displayed on a display; and a second field containing information representing a label which is displayed on the display and which is activatable as the link.
a first field containing information indicative of an infrared code to be transmitted upon activation of a link displayed on a display; and a second field containing information representing a label which is displayed on the display and which is activatable as the link.
8. The readable media as recited in claim 7, wherein the information contained within the first field comprises data for use in generating the infrared code.
9. The readable media as recited in claim 7, wherein the information contained within the first field comprises a pointer to data for generating the infrared code.
10. A readable media having instructions for displaying information in a display, the instructions performing steps comprising:
retrieving a mark-up language formatted page containing the information and a tag including information indicative of an infrared code to be transmitted upon activation of a link;
displaying the mark-up language formatted page and the link in the display;
determining if the link has been activated; and if the link has been activated, transmitting the infrared code to a consumer appliance.
retrieving a mark-up language formatted page containing the information and a tag including information indicative of an infrared code to be transmitted upon activation of a link;
displaying the mark-up language formatted page and the link in the display;
determining if the link has been activated; and if the link has been activated, transmitting the infrared code to a consumer appliance.
11. The readable media as recited in claim 10, wherein the information indicative of the infrared code comprises data for use in generating the infrared code.
12. The readable media as recited in claim 10, wherein the information indicative of the infrared code comprises a pointer to data for generating the infrared code.
13. The readable media as recited in claim 11, wherein the mark-up language page is representative of a media guide.
14. The readable media as recited in claim 13, wherein the link is representative of a television channel.
15. The readable media as recited in claim 13, wherein the link is representative of a radio channel.
16. The readable media as recited in claim 13, wherein the link is representative of a CD track.
17. The readable media as recited in claim 13, wherein the link is representative of a DVD chapter.
18. The readable media as recited in claim 10, wherein the tag includes information indicative of a label, the label being displayable as a representation of the link.
19. The readable media as recited in claim 10, wherein the mark-up language page depicts a representation of a user interface of a remote control.
20. A device for use in commanding the operation of a consumer appliance, comprising:
a display;
a memory storing a library of command codes for commanding the operation of a plurality of different consumer appliances;
a transmission circuit for transmitting command codes to the consumer appliance; and a browser application for displaying a mark-up language page within the display wherein the mark-up language page includes a tag comprising information representing a command code to be transmitted to the consumer appliance upon activation of a displayed link and wherein the browser application is responsive to activation of the displayed link to cause the transmission circuit to transmit a command code selected from the library of command codes stored in memory which corresponds to the command code represented by the data included in the tag.
a display;
a memory storing a library of command codes for commanding the operation of a plurality of different consumer appliances;
a transmission circuit for transmitting command codes to the consumer appliance; and a browser application for displaying a mark-up language page within the display wherein the mark-up language page includes a tag comprising information representing a command code to be transmitted to the consumer appliance upon activation of a displayed link and wherein the browser application is responsive to activation of the displayed link to cause the transmission circuit to transmit a command code selected from the library of command codes stored in memory which corresponds to the command code represented by the data included in the tag.
21. The device as recited in claim 19, wherein the transmission circuit comprises an infrared transmitter.
22. The device as recited in claim 19, wherein the device comprises a hand-held remote control.
23. The device as recited in claim 19, wherein the display comprises a touch screen.
24. A readable media having instructions for displaying information in a display, the instructions performing steps comprising:
retrieving a mark-up language formatted page containing the information and a tag representative of a reminder event including a first field containing data representing a date and time and a second field containing data representing a reminder notice;
registering the reminder event with a reminder function;
determining a time of activation of the reminder function; and comparing the time of activation of the reminder function to the date and time associated with the reminder event to determine if the reminder notice should be displayed in the display.
retrieving a mark-up language formatted page containing the information and a tag representative of a reminder event including a first field containing data representing a date and time and a second field containing data representing a reminder notice;
registering the reminder event with a reminder function;
determining a time of activation of the reminder function; and comparing the time of activation of the reminder function to the date and time associated with the reminder event to determine if the reminder notice should be displayed in the display.
25. The readable media as recited in claim 24, wherein the reminder function is activated in response to a detected handling of a device in which the readable media is housed.
26. The readable media as recited in claim 24, wherein the reminder function is activated in response to activation of a key associated with the device.
27. The readable media as recited in claim 24, wherein the reminder notice comprise a mark-up language page and the data in the second field represents a URL
address of the mark-up language page.
address of the mark-up language page.
28. The readable media as recited in claim 24, wherein the reminder notice comprises a text label and the data in the second field is representative of the text label.
29. A device, comprising:
a display;
a browser application for displaying a mark-up language page within the display wherein the mark-up language page includes a tag representing a reminder event having a first field containing data representing a date and time and a second field containing data representing a reminder notice; and a reminder function with which the reminder event is registered, the reminder function having instructions for determining its time of activation and for comparing the time of its activation to the date and time associated with the reminder event to determine if the reminder notice should be displayed in the display.
a display;
a browser application for displaying a mark-up language page within the display wherein the mark-up language page includes a tag representing a reminder event having a first field containing data representing a date and time and a second field containing data representing a reminder notice; and a reminder function with which the reminder event is registered, the reminder function having instructions for determining its time of activation and for comparing the time of its activation to the date and time associated with the reminder event to determine if the reminder notice should be displayed in the display.
30. The device as recited in claim 29, wherein the reminder function is activated in response to a sensed movement of the device.
31. The device as recited in claim 29, wherein the reminder function is activated in response to activation of a input device associated with the device.
32. In a remote control having a plurality of modes each used to command the operation of a different consumer appliance, a readable media having instructions for displaying a reminder to operate a given one of the consumer appliances at a selected time, the instructions performing steps comprising:
allowing a user to set a reminder event to display the reminder at a selected time; and displaying the reminder if the remote control is in a mode for commanding the operation of a consumer appliance other than the given one of the consumer appliances at approximately the selected time.
allowing a user to set a reminder event to display the reminder at a selected time; and displaying the reminder if the remote control is in a mode for commanding the operation of a consumer appliance other than the given one of the consumer appliances at approximately the selected time.
33. A mark-up language page, comprising:
code for use in displaying a virtual representation of a remote control including a plurality of links displayed as control keys and mark-up language tags comprising a first field containing information indicative of an infrared code to be transmitted upon activation of a corresponding link and a second field containing information representing a label which is displayed on the display and which is activatable as the corresponding link.
code for use in displaying a virtual representation of a remote control including a plurality of links displayed as control keys and mark-up language tags comprising a first field containing information indicative of an infrared code to be transmitted upon activation of a corresponding link and a second field containing information representing a label which is displayed on the display and which is activatable as the corresponding link.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/905,396 | 2001-07-13 | ||
US09/905,396 US6938101B2 (en) | 2001-01-29 | 2001-07-13 | Hand held device having a browser application |
PCT/US2002/004064 WO2003007597A1 (en) | 2001-07-13 | 2002-02-11 | A hand held device having a browser application |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2453564A1 true CA2453564A1 (en) | 2003-01-23 |
Family
ID=25420749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002453564A Abandoned CA2453564A1 (en) | 2001-07-13 | 2002-02-11 | A hand held device having a browser application |
Country Status (6)
Country | Link |
---|---|
US (4) | US6938101B2 (en) |
EP (2) | EP1410623A1 (en) |
BR (1) | BR0211128A (en) |
CA (1) | CA2453564A1 (en) |
MX (1) | MXPA04000285A (en) |
WO (1) | WO2003007597A1 (en) |
Families Citing this family (336)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7831930B2 (en) | 2001-11-20 | 2010-11-09 | Universal Electronics Inc. | System and method for displaying a user interface for a remote control application |
US6859799B1 (en) | 1998-11-30 | 2005-02-22 | Gemstar Development Corporation | Search engine for video and graphics |
US8531276B2 (en) | 2000-03-15 | 2013-09-10 | Logitech Europe S.A. | State-based remote control system |
US20010033243A1 (en) | 2000-03-15 | 2001-10-25 | Harris Glen Mclean | Online remote control configuration system |
US7283059B2 (en) * | 2000-03-15 | 2007-10-16 | Logitech Europe S.A. | Remote control multimedia content listing system |
US6784805B2 (en) | 2000-03-15 | 2004-08-31 | Intrigue Technologies Inc. | State-based remote control system |
US7245291B2 (en) * | 2000-07-11 | 2007-07-17 | Imran Sharif | System and method for internet appliance data entry and navigation |
US7103906B1 (en) | 2000-09-29 | 2006-09-05 | International Business Machines Corporation | User controlled multi-device media-on-demand system |
EP1986435B1 (en) * | 2000-10-11 | 2020-01-22 | Rovi Guides, Inc. | Systems and methods for providing storage of data on servers in an on-demand media delivery system |
JP2003015993A (en) * | 2001-06-28 | 2003-01-17 | Sony Corp | Information processing apparatus and method thereof, recording medium and program |
FR2827466B1 (en) * | 2001-07-11 | 2003-10-31 | Orange France Sa | SYSTEM AND METHOD FOR MANAGING ACCESS OF A MOBILE TERMINAL TO A COMMUNICATION NETWORK |
US20050134578A1 (en) * | 2001-07-13 | 2005-06-23 | Universal Electronics Inc. | System and methods for interacting with a control environment |
US7574723B2 (en) * | 2001-07-19 | 2009-08-11 | Macrovision Corporation | Home media network |
WO2003015450A1 (en) * | 2001-08-08 | 2003-02-20 | Matsushita Electric Industrial Co., Ltd. | Device control apparatus and device control system |
GB0123793D0 (en) * | 2001-10-04 | 2001-11-21 | Pace Micro Tech Plc | STB web browser fast link selection |
US10235873B2 (en) * | 2001-12-20 | 2019-03-19 | Universal Electronics Inc. | System and method to facilitate configuration of a controlling device |
US8176432B2 (en) * | 2001-11-20 | 2012-05-08 | UEI Electronics Inc. | Hand held remote control device having an improved user interface |
US20030101159A1 (en) * | 2001-11-28 | 2003-05-29 | Kenneth Liou | Personal information website system |
US6658091B1 (en) | 2002-02-01 | 2003-12-02 | @Security Broadband Corp. | LIfestyle multimedia security system |
JP2003283868A (en) * | 2002-03-22 | 2003-10-03 | Toshiba Corp | Portable information terminal, information apparatus, and information apparatus control system by portable information terminal |
US8001567B2 (en) * | 2002-05-02 | 2011-08-16 | Microsoft Corporation | Media planner |
US7653212B2 (en) * | 2006-05-19 | 2010-01-26 | Universal Electronics Inc. | System and method for using image data in connection with configuring a universal controlling device |
US10046244B2 (en) | 2002-06-14 | 2018-08-14 | Dizpersion Corporation | Method and system for operating and participating in fantasy leagues |
US9172915B2 (en) * | 2004-08-04 | 2015-10-27 | Dizpersion Corporation | Method of operating a channel recommendation system |
JP3975851B2 (en) * | 2002-07-26 | 2007-09-12 | 松下電器産業株式会社 | Mobile terminal device |
US20060074696A1 (en) * | 2002-10-15 | 2006-04-06 | Sharp Kabushiki Kaisha | Information processing device, information processing method, information processing program and medium |
US8931010B2 (en) * | 2002-11-04 | 2015-01-06 | Rovi Solutions Corporation | Methods and apparatus for client aggregation of media in a networked media system |
HUP0203993A2 (en) * | 2002-11-19 | 2004-08-30 | László Domján | Optical system of binocular video glass |
US7154566B2 (en) * | 2002-12-05 | 2006-12-26 | Koninklijke Philips Electronics N.V. | Programmable universal remote control unit and method of programming same |
US7013434B2 (en) | 2003-01-03 | 2006-03-14 | Universal Electronics Inc. | Remote control with local, screen-guided setup |
US7493646B2 (en) | 2003-01-30 | 2009-02-17 | United Video Properties, Inc. | Interactive television systems with digital video recording and adjustable reminders |
JP3800626B2 (en) * | 2003-01-30 | 2006-07-26 | ソニー株式会社 | Control device and method, information processing device and method, recording medium, and program |
CN100562084C (en) * | 2003-02-21 | 2009-11-18 | 松下电器产业株式会社 | Synchronously use the equipment and the method for audio-visual data |
US7640168B2 (en) * | 2003-03-06 | 2009-12-29 | Bartlit Jr Fred H | Method and computer program product for enabling customers to adjust the level of service provided by service providers |
US7574691B2 (en) * | 2003-03-17 | 2009-08-11 | Macrovision Corporation | Methods and apparatus for rendering user interfaces and display information on remote client devices |
US7161524B2 (en) * | 2003-03-28 | 2007-01-09 | Universal Electronics Inc. | System and method for using an universal remote control to access extended operational functions of a device |
US7249147B2 (en) * | 2003-04-04 | 2007-07-24 | Gibson Guitar Corp. | Combination compact disc recorder and player system |
US7802848B2 (en) * | 2003-05-20 | 2010-09-28 | Scott Suprina | Bleacher seat |
USD487452S1 (en) | 2003-06-06 | 2004-03-09 | Johnson Controls Technology Company | Remote control |
US20060196979A1 (en) * | 2003-06-10 | 2006-09-07 | Emerson Electric Co. | Audio operation indicator for food waste disposer |
US7005979B2 (en) | 2003-06-25 | 2006-02-28 | Universal Electronics Inc. | System and method for monitoring remote control transmissions |
US7257585B2 (en) * | 2003-07-02 | 2007-08-14 | Vibrant Media Limited | Method and system for augmenting web content |
US20050029356A1 (en) * | 2003-08-05 | 2005-02-10 | Didier Frantz | Scanner reader Active-X plug-in |
CA2476697A1 (en) * | 2003-08-19 | 2005-02-19 | Karim Moheb Zaki | Remote reminders application system |
US7394451B1 (en) * | 2003-09-03 | 2008-07-01 | Vantage Controls, Inc. | Backlit display with motion sensor |
JP4158105B2 (en) * | 2003-09-25 | 2008-10-01 | ソニー株式会社 | In-vehicle device and method for controlling in-vehicle device |
US20050073608A1 (en) * | 2003-10-02 | 2005-04-07 | Stone Christopher J. | Method and system for passing closed caption data over a digital visual interface or high definition multimedia interface |
US7363028B2 (en) | 2003-11-04 | 2008-04-22 | Universal Electronics, Inc. | System and method for controlling device location determination |
KR100617827B1 (en) * | 2003-11-14 | 2006-08-28 | 삼성전자주식회사 | Apparatus and method for displaying menu of hierarchy structures in mobile terminal equipment |
TWI234961B (en) * | 2003-11-25 | 2005-06-21 | Kye Systems Corp | Control apparatus of household appliances for use in the wireless network |
US20050198663A1 (en) * | 2003-12-18 | 2005-09-08 | Samsung Electronics Co., Ltd. | User interface method and system for navigation in networked devices |
US20050160451A1 (en) * | 2004-01-16 | 2005-07-21 | Mitsubishi Digital Electronics America, Inc. | Home message system |
US7460134B2 (en) * | 2004-03-02 | 2008-12-02 | Microsoft Corporation | System and method for moving computer displayable content into a preferred user interactive focus area |
EP1738540B1 (en) * | 2004-03-16 | 2017-10-04 | Icontrol Networks, Inc. | Premises management system |
US10313303B2 (en) | 2007-06-12 | 2019-06-04 | Icontrol Networks, Inc. | Forming a security network including integrated security system components and network devices |
US11277465B2 (en) | 2004-03-16 | 2022-03-15 | Icontrol Networks, Inc. | Generating risk profile using data of home monitoring and security system |
US8963713B2 (en) | 2005-03-16 | 2015-02-24 | Icontrol Networks, Inc. | Integrated security network with security alarm signaling system |
US10444964B2 (en) | 2007-06-12 | 2019-10-15 | Icontrol Networks, Inc. | Control system user interface |
US11201755B2 (en) | 2004-03-16 | 2021-12-14 | Icontrol Networks, Inc. | Premises system management using status signal |
US9141276B2 (en) | 2005-03-16 | 2015-09-22 | Icontrol Networks, Inc. | Integrated interface for mobile device |
US10522026B2 (en) | 2008-08-11 | 2019-12-31 | Icontrol Networks, Inc. | Automation system user interface with three-dimensional display |
US11113950B2 (en) | 2005-03-16 | 2021-09-07 | Icontrol Networks, Inc. | Gateway integrated with premises security system |
US9191228B2 (en) | 2005-03-16 | 2015-11-17 | Icontrol Networks, Inc. | Cross-client sensor user interface in an integrated security network |
US11316958B2 (en) | 2008-08-11 | 2022-04-26 | Icontrol Networks, Inc. | Virtual device systems and methods |
US10237237B2 (en) | 2007-06-12 | 2019-03-19 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11368327B2 (en) | 2008-08-11 | 2022-06-21 | Icontrol Networks, Inc. | Integrated cloud system for premises automation |
US11916870B2 (en) | 2004-03-16 | 2024-02-27 | Icontrol Networks, Inc. | Gateway registry methods and systems |
US9729342B2 (en) | 2010-12-20 | 2017-08-08 | Icontrol Networks, Inc. | Defining and implementing sensor triggered response rules |
US10721087B2 (en) | 2005-03-16 | 2020-07-21 | Icontrol Networks, Inc. | Method for networked touchscreen with integrated interfaces |
US10127802B2 (en) | 2010-09-28 | 2018-11-13 | Icontrol Networks, Inc. | Integrated security system with parallel processing architecture |
US10156959B2 (en) | 2005-03-16 | 2018-12-18 | Icontrol Networks, Inc. | Cross-client sensor user interface in an integrated security network |
US10200504B2 (en) | 2007-06-12 | 2019-02-05 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
US11489812B2 (en) | 2004-03-16 | 2022-11-01 | Icontrol Networks, Inc. | Forming a security network including integrated security system components and network devices |
US20160065414A1 (en) | 2013-06-27 | 2016-03-03 | Ken Sundermeyer | Control system user interface |
US11244545B2 (en) | 2004-03-16 | 2022-02-08 | Icontrol Networks, Inc. | Cross-client sensor user interface in an integrated security network |
US11343380B2 (en) | 2004-03-16 | 2022-05-24 | Icontrol Networks, Inc. | Premises system automation |
US11368429B2 (en) | 2004-03-16 | 2022-06-21 | Icontrol Networks, Inc. | Premises management configuration and control |
US7711796B2 (en) | 2006-06-12 | 2010-05-04 | Icontrol Networks, Inc. | Gateway registry methods and systems |
US20090077623A1 (en) | 2005-03-16 | 2009-03-19 | Marc Baum | Security Network Integrating Security System and Network Devices |
US8635350B2 (en) | 2006-06-12 | 2014-01-21 | Icontrol Networks, Inc. | IP device discovery systems and methods |
US9609003B1 (en) | 2007-06-12 | 2017-03-28 | Icontrol Networks, Inc. | Generating risk profile using data of home monitoring and security system |
US10142392B2 (en) | 2007-01-24 | 2018-11-27 | Icontrol Networks, Inc. | Methods and systems for improved system performance |
US8988221B2 (en) | 2005-03-16 | 2015-03-24 | Icontrol Networks, Inc. | Integrated security system with parallel processing architecture |
US11159484B2 (en) | 2004-03-16 | 2021-10-26 | Icontrol Networks, Inc. | Forming a security network including integrated security system components and network devices |
US9531593B2 (en) | 2007-06-12 | 2016-12-27 | Icontrol Networks, Inc. | Takeover processes in security network integrated with premise security system |
US10380871B2 (en) | 2005-03-16 | 2019-08-13 | Icontrol Networks, Inc. | Control system user interface |
US11811845B2 (en) | 2004-03-16 | 2023-11-07 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
US10375253B2 (en) | 2008-08-25 | 2019-08-06 | Icontrol Networks, Inc. | Security system with networked touchscreen and gateway |
US11582065B2 (en) | 2007-06-12 | 2023-02-14 | Icontrol Networks, Inc. | Systems and methods for device communication |
US11190578B2 (en) | 2008-08-11 | 2021-11-30 | Icontrol Networks, Inc. | Integrated cloud system with lightweight gateway for premises automation |
US10382452B1 (en) | 2007-06-12 | 2019-08-13 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11677577B2 (en) | 2004-03-16 | 2023-06-13 | Icontrol Networks, Inc. | Premises system management using status signal |
US10339791B2 (en) | 2007-06-12 | 2019-07-02 | Icontrol Networks, Inc. | Security network integrated with premise security system |
US7995517B2 (en) * | 2004-03-24 | 2011-08-09 | Lg Electronics Inc. | System and method for transmitting units of messages in a mobile communication system |
JP4654591B2 (en) * | 2004-04-01 | 2011-03-23 | 日本電気株式会社 | Portable terminal device, application execution screen display method, and program |
US20060085825A1 (en) * | 2004-04-30 | 2006-04-20 | Vulcan Inc. | Controlling content presentation |
WO2005109904A2 (en) * | 2004-04-30 | 2005-11-17 | Vulcan, Inc. | Maintaining a graphical user interface state that is based on a selected type of content |
US20050289480A1 (en) * | 2004-06-25 | 2005-12-29 | Motorola, Inc. | Method and apparatus to reduce navigational keystrokes in electronic devices |
US20060034611A1 (en) * | 2004-08-16 | 2006-02-16 | Weidong Li | Method and system for reducing power consumption of IrDA enabled handsets by turning on/off an IrDA port dynamically |
US20060041906A1 (en) * | 2004-08-17 | 2006-02-23 | Nokia Corporation | Electronic service information application appropriate for display on devices having smaller display screens |
US7941786B2 (en) * | 2004-09-08 | 2011-05-10 | Universal Electronics Inc. | Configurable controlling device and associated configuration distribution system and method |
US9632665B2 (en) | 2004-09-08 | 2017-04-25 | Universal Electronics Inc. | System and method for flexible configuration of a controlling device |
US7743012B2 (en) * | 2004-09-08 | 2010-06-22 | Universal Electronics Inc. | Configurable controlling device and associated configuration upload and download system and method |
US11687217B2 (en) | 2004-09-08 | 2023-06-27 | Universal Electronics Inc. | System and method for flexible configuration of a controlling device |
US7526566B2 (en) * | 2004-09-10 | 2009-04-28 | Sony Ericsson Mobile Communications Ab | Methods of operating radio communications devices including predefined streaming times and addresses and related devices |
US8659996B2 (en) | 2004-09-17 | 2014-02-25 | At&T Intellectual Property I, L.P. | Network capacity management system and method |
US20060061451A1 (en) * | 2004-09-17 | 2006-03-23 | Shoei-Lai Chen | Personalized control device having security mechanism |
US8086575B2 (en) | 2004-09-23 | 2011-12-27 | Rovi Solutions Corporation | Methods and apparatus for integrating disparate media formats in a networked media system |
US7885622B2 (en) * | 2004-10-27 | 2011-02-08 | Chestnut Hill Sound Inc. | Entertainment system with bandless tuning |
US8090309B2 (en) | 2004-10-27 | 2012-01-03 | Chestnut Hill Sound, Inc. | Entertainment system with unified content selection |
US20190278560A1 (en) | 2004-10-27 | 2019-09-12 | Chestnut Hill Sound, Inc. | Media appliance with auxiliary source module docking and fail-safe alarm modes |
US20060167859A1 (en) * | 2004-11-09 | 2006-07-27 | Verbeck Sibley Timothy J | System and method for personalized searching of television content using a reduced keypad |
US20060167761A1 (en) * | 2005-01-27 | 2006-07-27 | Elcock Albert F | Method and apparatus for providing automated network reminders |
US20060247851A1 (en) * | 2005-03-08 | 2006-11-02 | Morris Robert P | Mobile phone having a TV remote style user interface |
KR20060099982A (en) * | 2005-03-15 | 2006-09-20 | 삼성전자주식회사 | Digital composite apparatus and method to display information thereof |
US20110128378A1 (en) | 2005-03-16 | 2011-06-02 | Reza Raji | Modular Electronic Display Platform |
US11496568B2 (en) | 2005-03-16 | 2022-11-08 | Icontrol Networks, Inc. | Security system with networked touchscreen |
US11615697B2 (en) | 2005-03-16 | 2023-03-28 | Icontrol Networks, Inc. | Premise management systems and methods |
US9306809B2 (en) | 2007-06-12 | 2016-04-05 | Icontrol Networks, Inc. | Security system with networked touchscreen |
US10999254B2 (en) | 2005-03-16 | 2021-05-04 | Icontrol Networks, Inc. | System for data routing in networks |
US20170180198A1 (en) | 2008-08-11 | 2017-06-22 | Marc Baum | Forming a security network including integrated security system components |
US11700142B2 (en) | 2005-03-16 | 2023-07-11 | Icontrol Networks, Inc. | Security network integrating security system and network devices |
US20120324566A1 (en) | 2005-03-16 | 2012-12-20 | Marc Baum | Takeover Processes In Security Network Integrated With Premise Security System |
US20060223582A1 (en) * | 2005-03-31 | 2006-10-05 | Nokia Corporation | Switching device via power key initiated wizard |
US20060253782A1 (en) * | 2005-04-01 | 2006-11-09 | Vulcan Inc. | Interface for manipulating multimedia playlists |
DE102006018238A1 (en) * | 2005-04-20 | 2007-03-29 | Logitech Europe S.A. | Remote control system for home theater system, analyzes log of events stored by remote controller to identify patterns of interest in logged use of remote controller |
US20070002784A1 (en) * | 2005-06-30 | 2007-01-04 | Edwards David A | Systems, methods, and media for notifying users of events on a remote control device |
US7450852B2 (en) * | 2005-07-21 | 2008-11-11 | Microsoft Corporation | IR control signal distribution via a communications network |
US9866697B2 (en) | 2005-08-19 | 2018-01-09 | Nexstep, Inc. | Consumer electronic registration, control and support concierge device and method |
US8225231B2 (en) | 2005-08-30 | 2012-07-17 | Microsoft Corporation | Aggregation of PC settings |
US20070287540A1 (en) * | 2005-09-08 | 2007-12-13 | Brahmandam Kiran | Soft key hot spot activation system and method |
CZ302502B6 (en) * | 2005-09-26 | 2011-06-22 | Microrisc S. R. O. | Device for wireless communication of electric or electronic appliances or systems, method of its control and method of making generic platform for user applications in the area of wireless communication using such a device |
CN101288295B (en) * | 2005-09-30 | 2010-06-23 | 松下电器产业株式会社 | Display device, external connection device, and screen control method |
US7523226B2 (en) * | 2005-11-09 | 2009-04-21 | Microsoft Corporation | Controlling an auxiliary display user interface based on usage context |
US7664067B2 (en) * | 2005-12-15 | 2010-02-16 | Microsoft Corporation | Preserving socket connections over a wireless network |
US9467322B2 (en) * | 2005-12-27 | 2016-10-11 | Rovi Solutions Corporation | Methods and apparatus for integrating media across a wide area network |
JP4753713B2 (en) * | 2005-12-27 | 2011-08-24 | 富士通株式会社 | Data communication system, relay device, and portable terminal device |
TWI362876B (en) * | 2005-12-28 | 2012-04-21 | Panasonic Corp | Input unit, mobile terminal unit, and content data manipulation method in mobile terminal unit |
US8607287B2 (en) | 2005-12-29 | 2013-12-10 | United Video Properties, Inc. | Interactive media guidance system having multiple devices |
US9681105B2 (en) | 2005-12-29 | 2017-06-13 | Rovi Guides, Inc. | Interactive media guidance system having multiple devices |
EP1806901B1 (en) * | 2006-01-04 | 2011-12-07 | Alcatel Lucent | Remotely controllable soft keys |
KR101108057B1 (en) * | 2006-01-24 | 2012-01-25 | 엘지전자 주식회사 | A broadcasting receiving terminal having a program reservation and a program reservation method using the terminal |
US7616761B1 (en) | 2006-01-27 | 2009-11-10 | Cisco Technology, Inc. | User interface with key timeout |
US20070233731A1 (en) * | 2006-02-22 | 2007-10-04 | Logitech Europe S.A. | System and method for configuring media systems |
US20070214422A1 (en) * | 2006-03-07 | 2007-09-13 | Sun Microsystems, Inc. | Framework for implementing skins into a portal server |
US20070210177A1 (en) * | 2006-03-10 | 2007-09-13 | Jan Karasek | Programmable thermostat |
US7929551B2 (en) * | 2006-06-01 | 2011-04-19 | Rovi Solutions Corporation | Methods and apparatus for transferring media across a network using a network interface device |
US10079839B1 (en) | 2007-06-12 | 2018-09-18 | Icontrol Networks, Inc. | Activation of gateway device |
US20080005679A1 (en) * | 2006-06-28 | 2008-01-03 | Microsoft Corporation | Context specific user interface |
US20080022312A1 (en) * | 2006-07-19 | 2008-01-24 | Lucent Technologies Inc. | Method and apparatus for displaying personal schedules on a television |
WO2008024915A2 (en) * | 2006-08-23 | 2008-02-28 | Hunter Douglas Inc. | Dual control system and method |
KR101292770B1 (en) * | 2006-11-06 | 2013-08-02 | 삼성전자주식회사 | Method and apparatus of reproducing Audio Visual data comprising application having indeterminate start time |
US8230466B2 (en) | 2006-11-16 | 2012-07-24 | At&T Intellectual Property I, L.P. | Home automation system and method including remote media access |
US20080134030A1 (en) * | 2006-12-05 | 2008-06-05 | Palm, Inc. | Device for providing location-based data |
TWM314487U (en) * | 2006-12-20 | 2007-06-21 | Amtran Technology Co Ltd | Remote control having the audio-video function |
US11706279B2 (en) | 2007-01-24 | 2023-07-18 | Icontrol Networks, Inc. | Methods and systems for data communication |
US8896426B1 (en) * | 2007-02-09 | 2014-11-25 | Uei Cayman Inc. | Graphical user interface for programming universal remote control devices |
US7633385B2 (en) | 2007-02-28 | 2009-12-15 | Ucontrol, Inc. | Method and system for communicating with and controlling an alarm system from a remote server |
US8452853B2 (en) * | 2007-03-05 | 2013-05-28 | International Business Machines Corporation | Browser with offline web-application architecture |
US8026983B2 (en) | 2007-03-30 | 2011-09-27 | Verizon Patent And Licensing Inc. | Remote control with TV listing display |
US8451986B2 (en) | 2007-04-23 | 2013-05-28 | Icontrol Networks, Inc. | Method and system for automatically providing alternate network access for telecommunications |
US11423756B2 (en) | 2007-06-12 | 2022-08-23 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11212192B2 (en) | 2007-06-12 | 2021-12-28 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US10498830B2 (en) | 2007-06-12 | 2019-12-03 | Icontrol Networks, Inc. | Wi-Fi-to-serial encapsulation in systems |
US11218878B2 (en) | 2007-06-12 | 2022-01-04 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11646907B2 (en) | 2007-06-12 | 2023-05-09 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US10051078B2 (en) | 2007-06-12 | 2018-08-14 | Icontrol Networks, Inc. | WiFi-to-serial encapsulation in systems |
US10666523B2 (en) | 2007-06-12 | 2020-05-26 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11316753B2 (en) | 2007-06-12 | 2022-04-26 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11601810B2 (en) | 2007-06-12 | 2023-03-07 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US10616075B2 (en) | 2007-06-12 | 2020-04-07 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US11237714B2 (en) | 2007-06-12 | 2022-02-01 | Control Networks, Inc. | Control system user interface |
US10523689B2 (en) | 2007-06-12 | 2019-12-31 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
US11089122B2 (en) | 2007-06-12 | 2021-08-10 | Icontrol Networks, Inc. | Controlling data routing among networks |
US10423309B2 (en) | 2007-06-12 | 2019-09-24 | Icontrol Networks, Inc. | Device integration framework |
US10389736B2 (en) | 2007-06-12 | 2019-08-20 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US20090019188A1 (en) * | 2007-07-11 | 2009-01-15 | Igt | Processing input for computing systems based on the state of execution |
US20090019492A1 (en) | 2007-07-11 | 2009-01-15 | United Video Properties, Inc. | Systems and methods for mirroring and transcoding media content |
US8818272B2 (en) * | 2007-07-18 | 2014-08-26 | Broadcom Corporation | System and method for remotely controlling bluetooth enabled electronic equipment |
US7728636B2 (en) * | 2007-08-14 | 2010-06-01 | Qimonda Ag | Clock signal synchronizing device with inherent duty-cycle correction capability |
KR101404606B1 (en) * | 2007-08-21 | 2014-06-10 | 삼성전자주식회사 | A method of providing menus by using a touchscreen and a multimedia apparatus thereof |
US11831462B2 (en) | 2007-08-24 | 2023-11-28 | Icontrol Networks, Inc. | Controlling data routing in premises management systems |
KR101229880B1 (en) * | 2007-10-05 | 2013-02-05 | 켄지 요시다 | Remote control device capable of reading dot patterns formed on medium and display |
US20120218477A1 (en) * | 2007-10-09 | 2012-08-30 | Comfy Ware Ltd. | Ergonomic learning remote control |
US8266635B2 (en) * | 2007-12-20 | 2012-09-11 | Access Co., Ltd. | Browser-based user interface and control architecture with priority attributes |
US20100299438A1 (en) * | 2008-01-21 | 2010-11-25 | Gottfried Zimmerman | Online resource server for allowing device control and access to digital content trhough pluggable user interfaces |
US11916928B2 (en) | 2008-01-24 | 2024-02-27 | Icontrol Networks, Inc. | Communication protocols over internet protocol (IP) networks |
US20090240502A1 (en) * | 2008-03-24 | 2009-09-24 | Sony Corporation | Multimedia controller tablet |
US9520743B2 (en) | 2008-03-27 | 2016-12-13 | Echostar Technologies L.L.C. | Reduction of power consumption in remote control electronics |
US8082455B2 (en) * | 2008-03-27 | 2011-12-20 | Echostar Technologies L.L.C. | Systems and methods for controlling the power state of remote control electronics |
US8009054B2 (en) | 2008-04-16 | 2011-08-30 | Echostar Technologies L.L.C. | Systems, methods and apparatus for adjusting a low battery detection threshold of a remote control |
US9870123B1 (en) | 2008-04-18 | 2018-01-16 | Universal Electronics Inc. | Selecting a picture of a device to identify an associated codeset |
US8094875B1 (en) | 2008-04-18 | 2012-01-10 | Uei Cayman Inc. | Performing optical recognition on a picture of a remote to identify an associated codeset |
US7907060B2 (en) * | 2008-05-08 | 2011-03-15 | Echostar Technologies L.L.C. | Systems, methods and apparatus for detecting replacement of a battery in a remote control |
US7890816B2 (en) * | 2008-05-08 | 2011-02-15 | Echostar Technologies L.L.C. | Systems, methods and apparatus for detecting remote control errors |
CN102047156B (en) * | 2008-05-30 | 2014-03-26 | 皇家飞利浦电子股份有限公司 | Round illumination device |
JP2009296033A (en) * | 2008-06-02 | 2009-12-17 | Sharp Corp | Reservation control device, reservation execution device, reservation control system and reservation control method |
US20090303097A1 (en) * | 2008-06-09 | 2009-12-10 | Echostar Technologies Llc | Systems, methods and apparatus for changing an operational mode of a remote control |
US8601526B2 (en) | 2008-06-13 | 2013-12-03 | United Video Properties, Inc. | Systems and methods for displaying media content and media guidance information |
US8362906B1 (en) | 2008-06-16 | 2013-01-29 | Sears Brands, L.L.C. | Remote control device that uses color to indicate change in status |
US20170185278A1 (en) | 2008-08-11 | 2017-06-29 | Icontrol Networks, Inc. | Automation system user interface |
US9294705B2 (en) | 2008-06-27 | 2016-03-22 | Universal Electronics Inc. | System and method for ubiquitous appliance control |
US8305249B2 (en) | 2008-07-18 | 2012-11-06 | EchoStar Technologies, L.L.C. | Systems and methods for controlling power consumption in electronic devices |
US11792036B2 (en) | 2008-08-11 | 2023-10-17 | Icontrol Networks, Inc. | Mobile premises automation platform |
US11729255B2 (en) | 2008-08-11 | 2023-08-15 | Icontrol Networks, Inc. | Integrated cloud system with lightweight gateway for premises automation |
US11258625B2 (en) | 2008-08-11 | 2022-02-22 | Icontrol Networks, Inc. | Mobile premises automation platform |
US11758026B2 (en) | 2008-08-11 | 2023-09-12 | Icontrol Networks, Inc. | Virtual device systems and methods |
US20100083189A1 (en) * | 2008-09-30 | 2010-04-01 | Robert Michael Arlein | Method and apparatus for spatial context based coordination of information among multiple devices |
KR20100039017A (en) * | 2008-10-07 | 2010-04-15 | 한국전자통신연구원 | Remote control apparatus using menu markup language |
KR20100045188A (en) * | 2008-10-23 | 2010-05-03 | 삼성전자주식회사 | Remote control device and method for controlling other devices using the remote control device |
US8411046B2 (en) | 2008-10-23 | 2013-04-02 | Microsoft Corporation | Column organization of content |
US20100107100A1 (en) | 2008-10-23 | 2010-04-29 | Schneekloth Jason S | Mobile Device Style Abstraction |
JP2010109446A (en) * | 2008-10-28 | 2010-05-13 | Sony Corp | Controller, system and method for controlling electronic equipment |
US9100585B2 (en) | 2008-10-28 | 2015-08-04 | Sony Computer Entertainment Inc. | Combined broadcast and backchannel delivery of streaming content |
US9953519B2 (en) | 2008-11-17 | 2018-04-24 | Universal Electronics Inc. | System and method for rapid configuration of a universal controlling device |
US9398242B2 (en) * | 2008-11-17 | 2016-07-19 | Universal Electronics Inc. | System and method for rapid configuration of a universal controlling device |
US9094723B2 (en) * | 2008-12-16 | 2015-07-28 | Echostar Technologies L.L.C. | Systems and methods for a remote alarm |
US8327048B2 (en) | 2009-01-07 | 2012-12-04 | Sony Computer Entertainment Inc. | Using USB suspend/resume to communicate information through a USB device |
US8352652B2 (en) * | 2009-01-07 | 2013-01-08 | Sony Computer Entertainment Inc. | Using analog signals to communicate through an A/D converter and USB interface |
US9257034B2 (en) | 2009-02-19 | 2016-02-09 | Echostar Technologies L.L.C. | Systems, methods and apparatus for providing an audio indicator via a remote control |
US20100217410A1 (en) * | 2009-02-22 | 2010-08-26 | Yang Pan | User interface for home media system |
US8134475B2 (en) * | 2009-03-16 | 2012-03-13 | Echostar Technologies L.L.C. | Backlighting remote controls |
EP2409243A4 (en) * | 2009-03-20 | 2013-04-17 | Peel Technologies Inc | Device-based control system |
US8175653B2 (en) | 2009-03-30 | 2012-05-08 | Microsoft Corporation | Chromeless user interface |
US8238876B2 (en) | 2009-03-30 | 2012-08-07 | Microsoft Corporation | Notifications |
US8638211B2 (en) | 2009-04-30 | 2014-01-28 | Icontrol Networks, Inc. | Configurable controller and interface for home SMA, phone and multimedia |
US8836648B2 (en) | 2009-05-27 | 2014-09-16 | Microsoft Corporation | Touch pull-in gesture |
US9405710B2 (en) * | 2009-06-30 | 2016-08-02 | Rovi Guides, Inc. | Systems and methods for providing interactive media guidance on a wireless communications device |
US8185132B1 (en) | 2009-07-21 | 2012-05-22 | Modena Enterprises, Llc | Systems and methods for associating communication information with a geographic location-aware contact entry |
US8676930B2 (en) * | 2009-08-14 | 2014-03-18 | Tyco Safety Products Canada Ltd. | System and method for multiport automation |
KR101700441B1 (en) * | 2009-08-25 | 2017-02-21 | 코닌클리케 필립스 엔.브이. | Remote control of a plurality of devices |
US9014546B2 (en) | 2009-09-23 | 2015-04-21 | Rovi Guides, Inc. | Systems and methods for automatically detecting users within detection regions of media devices |
KR101058525B1 (en) * | 2009-10-09 | 2011-08-23 | 삼성전자주식회사 | Text input method and display device using the same |
US9222798B2 (en) | 2009-12-22 | 2015-12-29 | Modena Enterprises, Llc | Systems and methods for identifying an activity of a user based on a chronological order of detected movements of a computing device |
US8502925B2 (en) * | 2009-12-29 | 2013-08-06 | VIZIO Inc. | Television programming of a remote control |
US8339246B2 (en) * | 2009-12-30 | 2012-12-25 | Echostar Technologies Llc | Systems, methods and apparatus for locating a lost remote control |
JP5378249B2 (en) * | 2010-01-26 | 2013-12-25 | 富士通コンポーネント株式会社 | Electronic device and control method thereof |
US9215735B2 (en) | 2010-03-03 | 2015-12-15 | Modena Enterprises, Llc | Systems and methods for initiating communications with contacts based on a communication specification |
US9680886B2 (en) | 2010-03-22 | 2017-06-13 | Peel Technologies, Inc. | Internet enabled universal remote control system |
US9288525B2 (en) | 2010-04-27 | 2016-03-15 | Interdigital Patent Holdings, Inc | Inter-device communications using visible light |
US9520056B2 (en) * | 2010-05-11 | 2016-12-13 | Universal Electronics Inc. | System and methods for enhanced remote control functionality |
US9503773B2 (en) * | 2010-05-26 | 2016-11-22 | Sony Corporation | Separating internet TV and broadcast TV using a TV remote control |
US9183560B2 (en) | 2010-05-28 | 2015-11-10 | Daniel H. Abelow | Reality alternate |
US8558716B2 (en) * | 2010-06-10 | 2013-10-15 | Verizon Patent And Licensing Inc. | Systems and methods to adaptively change functionality of a remote control device to execute the script on a client program for reprogramming buttons on the remote control device |
US9786159B2 (en) | 2010-07-23 | 2017-10-10 | Tivo Solutions Inc. | Multi-function remote control device |
US8508401B1 (en) | 2010-08-31 | 2013-08-13 | Logitech Europe S.A. | Delay fixing for command codes in a remote control system |
US8836467B1 (en) | 2010-09-28 | 2014-09-16 | Icontrol Networks, Inc. | Method, system and apparatus for automated reporting of account and sensor zone information to a central station |
KR101786577B1 (en) | 2010-10-19 | 2017-11-15 | 삼성전자주식회사 | Method for Controlling Bidirectional Remote Controller and Bidirectional Remote Controller for implementing thereof |
US20120106972A1 (en) * | 2010-10-29 | 2012-05-03 | Sunrex Technology Corp. | Universal remote control |
US9490998B1 (en) | 2010-11-08 | 2016-11-08 | Google Inc. | Network-based remote control |
KR20120050083A (en) * | 2010-11-10 | 2012-05-18 | 삼성전자주식회사 | Display apparatus, remote controller and control method thereof |
US10303357B2 (en) | 2010-11-19 | 2019-05-28 | TIVO SOLUTIONS lNC. | Flick to send or display content |
CN102487462A (en) * | 2010-12-02 | 2012-06-06 | 康佳集团股份有限公司 | Time reminding method of set top box and system thereof |
US11750414B2 (en) | 2010-12-16 | 2023-09-05 | Icontrol Networks, Inc. | Bidirectional security sensor communication for a premises security system |
US9147337B2 (en) | 2010-12-17 | 2015-09-29 | Icontrol Networks, Inc. | Method and system for logging security event data |
US20120159383A1 (en) | 2010-12-20 | 2012-06-21 | Microsoft Corporation | Customization of an immersive environment |
US9451311B2 (en) * | 2010-12-20 | 2016-09-20 | Ricoh Company, Ltd. | Generic remote controller |
US20120159395A1 (en) | 2010-12-20 | 2012-06-21 | Microsoft Corporation | Application-launching interface for multiple modes |
US8612874B2 (en) | 2010-12-23 | 2013-12-17 | Microsoft Corporation | Presenting an application change through a tile |
US8689123B2 (en) | 2010-12-23 | 2014-04-01 | Microsoft Corporation | Application reporting in an application-selectable user interface |
US9423951B2 (en) | 2010-12-31 | 2016-08-23 | Microsoft Technology Licensing, Llc | Content-based snap point |
US8918719B2 (en) * | 2011-02-14 | 2014-12-23 | Universal Electronics Inc. | Graphical user interface and data transfer methods in a controlling device |
FR2972062B1 (en) * | 2011-02-28 | 2013-04-12 | Somfy Sas | CONTROL DEVICE COMPRISING AN INTERFACE CAPABLE OF PROVIDING THE NEXT CONTROL ORDER TO BE TRANSMITTED TO DOMOTIC EQUIPMENT |
US9383917B2 (en) | 2011-03-28 | 2016-07-05 | Microsoft Technology Licensing, Llc | Predictive tiling |
US8918544B2 (en) | 2011-03-31 | 2014-12-23 | Logitech Europe S.A. | Apparatus and method for configuration and operation of a remote-control system |
US8745024B2 (en) | 2011-04-29 | 2014-06-03 | Logitech Europe S.A. | Techniques for enhancing content |
US9015576B2 (en) * | 2011-05-16 | 2015-04-21 | Microsoft Technology Licensing, Llc | Informed partitioning of data in a markup-based document |
US20120304132A1 (en) | 2011-05-27 | 2012-11-29 | Chaitanya Dev Sareen | Switching back to a previously-interacted-with application |
US9658766B2 (en) | 2011-05-27 | 2017-05-23 | Microsoft Technology Licensing, Llc | Edge gesture |
US9158445B2 (en) | 2011-05-27 | 2015-10-13 | Microsoft Technology Licensing, Llc | Managing an immersive interface in a multi-application immersive environment |
US9104440B2 (en) | 2011-05-27 | 2015-08-11 | Microsoft Technology Licensing, Llc | Multi-application environment |
US8893033B2 (en) | 2011-05-27 | 2014-11-18 | Microsoft Corporation | Application notifications |
US9104307B2 (en) | 2011-05-27 | 2015-08-11 | Microsoft Technology Licensing, Llc | Multi-application environment |
US9400850B2 (en) * | 2011-05-31 | 2016-07-26 | Verizon Patent And Licensing Inc. | Systems and methods for providing a tailored user interface associated with a web page |
US8650600B2 (en) * | 2011-06-20 | 2014-02-11 | Enseo, Inc. | Set top/back box, system and method for providing a remote control device |
US10148998B2 (en) | 2011-06-20 | 2018-12-04 | Enseo, Inc. | Set-top box with enhanced functionality and system and method for use of same |
US9380336B2 (en) * | 2011-06-20 | 2016-06-28 | Enseo, Inc. | Set-top box with enhanced content and system and method for use of same |
US10791360B2 (en) | 2011-06-20 | 2020-09-29 | Enseo, Inc. | Commercial television-interfacing dongle and system and method for use of same |
US9326020B2 (en) | 2011-06-20 | 2016-04-26 | Enseo, Inc | Commercial television-interfacing dongle and system and method for use of same |
US10149005B2 (en) | 2011-06-20 | 2018-12-04 | Enseo, Inc. | Set-top box with enhanced content and system and method for use of same |
US9832511B2 (en) | 2011-06-20 | 2017-11-28 | Enseo, Inc. | Set-top box with enhanced controls |
US10349109B2 (en) | 2011-06-20 | 2019-07-09 | Enseo, Inc. | Television and system and method for providing a remote control device |
US11051065B2 (en) | 2011-06-20 | 2021-06-29 | Enseo, Llc | Television and system and method for providing a remote control device |
US8687023B2 (en) | 2011-08-02 | 2014-04-01 | Microsoft Corporation | Cross-slide gesture to select and rearrange |
US9311426B2 (en) | 2011-08-04 | 2016-04-12 | Blackberry Limited | Orientation-dependent processing of input files by an electronic device |
US20130057587A1 (en) | 2011-09-01 | 2013-03-07 | Microsoft Corporation | Arranging tiles |
US9557909B2 (en) | 2011-09-09 | 2017-01-31 | Microsoft Technology Licensing, Llc | Semantic zoom linguistic helpers |
US10353566B2 (en) | 2011-09-09 | 2019-07-16 | Microsoft Technology Licensing, Llc | Semantic zoom animations |
US8922575B2 (en) | 2011-09-09 | 2014-12-30 | Microsoft Corporation | Tile cache |
US9146670B2 (en) | 2011-09-10 | 2015-09-29 | Microsoft Technology Licensing, Llc | Progressively indicating new content in an application-selectable user interface |
US9244802B2 (en) | 2011-09-10 | 2016-01-26 | Microsoft Technology Licensing, Llc | Resource user interface |
US8933952B2 (en) | 2011-09-10 | 2015-01-13 | Microsoft Corporation | Pre-rendering new content for an application-selectable user interface |
US11451618B2 (en) | 2014-05-15 | 2022-09-20 | Universal Electronics Inc. | Universal voice assistant |
US11792185B2 (en) | 2019-01-08 | 2023-10-17 | Universal Electronics Inc. | Systems and methods for associating services and/or devices with a voice assistant |
US11700412B2 (en) | 2019-01-08 | 2023-07-11 | Universal Electronics Inc. | Universal voice assistant |
US9223472B2 (en) | 2011-12-22 | 2015-12-29 | Microsoft Technology Licensing, Llc | Closing applications |
US8805418B2 (en) | 2011-12-23 | 2014-08-12 | United Video Properties, Inc. | Methods and systems for performing actions based on location-based rules |
US9128605B2 (en) | 2012-02-16 | 2015-09-08 | Microsoft Technology Licensing, Llc | Thumbnail-image selection of applications |
US9430937B2 (en) * | 2012-07-03 | 2016-08-30 | Google Inc. | Contextual, two way remote control |
CN103581253A (en) * | 2012-08-01 | 2014-02-12 | 腾讯科技(深圳)有限公司 | Method for remote control, Web server and system for remote control |
US9450952B2 (en) | 2013-05-29 | 2016-09-20 | Microsoft Technology Licensing, Llc | Live tiles without application-code execution |
EP2997559B1 (en) | 2013-05-16 | 2018-07-18 | Universal Electronics, Inc. | System and method for rapid configuration of a universal controlling device |
KR102182041B1 (en) * | 2013-06-17 | 2020-11-23 | 구글 엘엘씨 | Method, apparatus and computer-readable medium for media content streaming device setup |
DE102013107716A1 (en) * | 2013-07-19 | 2015-01-22 | Miele & Cie. Kg | Method for operating a system comprising a domestic appliance and a display device, system having means for carrying out the method and domestic appliance and display device for carrying out the method |
JP2016533673A (en) * | 2013-07-24 | 2016-10-27 | トムソン ライセンシングThomson Licensing | Method, apparatus and system for hidden advertisements |
JP6188490B2 (en) | 2013-08-28 | 2017-08-30 | キヤノン株式会社 | Image display apparatus, control method, and computer program |
JP6261237B2 (en) * | 2013-08-28 | 2018-01-17 | キヤノン株式会社 | Image display apparatus, image display apparatus control method, and computer program |
US9674563B2 (en) | 2013-11-04 | 2017-06-06 | Rovi Guides, Inc. | Systems and methods for recommending content |
US11405463B2 (en) | 2014-03-03 | 2022-08-02 | Icontrol Networks, Inc. | Media content management |
US11146637B2 (en) | 2014-03-03 | 2021-10-12 | Icontrol Networks, Inc. | Media content management |
US20150281869A1 (en) * | 2014-03-31 | 2015-10-01 | Google Inc. | Native web-based application |
KR102298602B1 (en) | 2014-04-04 | 2021-09-03 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Expandable application representation |
KR102107275B1 (en) | 2014-04-10 | 2020-05-06 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Collapsible shell cover for computing device |
CN105359055A (en) | 2014-04-10 | 2016-02-24 | 微软技术许可有限责任公司 | Slider cover for computing device |
US10063625B2 (en) * | 2014-05-15 | 2018-08-28 | Universal Electronics Inc. | System and method for appliance detection and app configuration |
US11445011B2 (en) | 2014-05-15 | 2022-09-13 | Universal Electronics Inc. | Universal voice assistant |
US10592080B2 (en) | 2014-07-31 | 2020-03-17 | Microsoft Technology Licensing, Llc | Assisted presentation of application windows |
US10678412B2 (en) | 2014-07-31 | 2020-06-09 | Microsoft Technology Licensing, Llc | Dynamic joint dividers for application windows |
US10254942B2 (en) | 2014-07-31 | 2019-04-09 | Microsoft Technology Licensing, Llc | Adaptive sizing and positioning of application windows |
CN104244054B (en) * | 2014-08-22 | 2019-04-23 | 深圳创维数字技术有限公司 | A kind of remote control method and relevant apparatus, system of multi-terminal equipment |
JP6336864B2 (en) * | 2014-09-05 | 2018-06-06 | シャープ株式会社 | Cooking system |
US10642365B2 (en) | 2014-09-09 | 2020-05-05 | Microsoft Technology Licensing, Llc | Parametric inertia and APIs |
CN104503374B (en) * | 2014-10-28 | 2017-03-15 | 武汉领傲科技有限公司 | A kind of intelligent reminding memorandum system and method |
CN106662891B (en) | 2014-10-30 | 2019-10-11 | 微软技术许可有限责任公司 | Multi-configuration input equipment |
US11503360B2 (en) * | 2015-03-04 | 2022-11-15 | Comcast Cable Communications, Llc | Adaptive remote control |
TWM510574U (en) * | 2015-04-16 | 2015-10-11 | ren-qing Li | WIFI wireless remote controller based on web server technology |
US9894400B2 (en) * | 2015-05-12 | 2018-02-13 | Roku, Inc. | Profile driven communication polling for remote control |
US9959840B2 (en) * | 2016-06-23 | 2018-05-01 | Bryan Nunes | Multimedia servers that broadcast packet-switched audio with second screen content |
KR102297512B1 (en) * | 2017-04-04 | 2021-09-03 | 삼성전자주식회사 | Electronic apparatus and method for control thereof |
KR102347208B1 (en) | 2017-09-07 | 2022-01-05 | 삼성전자주식회사 | Method for performing task using external device and electronic device, server and recording medium supporting the same |
US10496568B2 (en) * | 2017-11-30 | 2019-12-03 | Qualcomm Incorporated | Technique for RFFE and SPMI register-0 write datagram functional extension |
CN109739707B (en) * | 2018-12-29 | 2023-08-11 | Tcl移动通信科技(宁波)有限公司 | Test processing method, mobile terminal and storage medium |
US11776539B2 (en) | 2019-01-08 | 2023-10-03 | Universal Electronics Inc. | Voice assistant with sound metering capabilities |
US11665757B2 (en) | 2019-01-08 | 2023-05-30 | Universal Electronics Inc. | Universal audio device pairing assistant |
DE102020128476A1 (en) | 2020-10-29 | 2022-05-05 | René Brade | communication arrangement |
CN113900576A (en) * | 2021-11-03 | 2022-01-07 | 杭州逗酷软件科技有限公司 | Interaction method, interaction device, electronic equipment and storage medium |
Family Cites Families (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US91755A (en) * | 1869-06-22 | Improvement in guide-rolling hoop | ||
US261127A (en) * | 1882-07-18 | Insect-destroyer | ||
US87402A (en) * | 1869-03-02 | William fawcett | ||
EP0120345B1 (en) * | 1983-03-23 | 1988-03-02 | TELEFUNKEN Fernseh und Rundfunk GmbH | Remote control apparatus controlling various functions of one or more devices |
US4837414A (en) | 1986-04-23 | 1989-06-06 | Sharp Kabushiki Kaisha | Oven with electronic remote controller |
US5228077A (en) | 1987-12-02 | 1993-07-13 | Universal Electronics Inc. | Remotely upgradable universal remote control |
US5537463A (en) | 1987-10-14 | 1996-07-16 | Universal Electronics Inc. | Magnetic modem in a remote control |
US6014092A (en) | 1987-10-14 | 2000-01-11 | Universal Electronics Inc. | Key mover |
US5515052A (en) | 1987-10-14 | 1996-05-07 | Universal Electronics Inc. | Universal remote control with function synthesis |
US4959810A (en) | 1987-10-14 | 1990-09-25 | Universal Electronics, Inc. | Universal remote control device |
US4894789A (en) | 1988-02-22 | 1990-01-16 | Yee Keen Y | TV data capture device |
US5005084A (en) | 1989-12-19 | 1991-04-02 | North American Philips Corporation | Remote control television system using supplementary unit for simplified personalized control |
JPH06503894A (en) | 1990-08-16 | 1994-04-28 | ゼネラル・パラメトリックス・コーポレーション | Display control device including auxiliary display device |
US5408686A (en) * | 1991-02-19 | 1995-04-18 | Mankovitz; Roy J. | Apparatus and methods for music and lyrics broadcasting |
US5835864A (en) | 1991-10-03 | 1998-11-10 | Thomson Consumer Electronics S.A. | Method and apparatus for customizing a device with a smart card |
DE69232396T2 (en) | 1991-12-10 | 2002-09-19 | Khyber Technologies Corp | PORTABLE NEWS AND PLANNING DEVICE WITH BASE STATION |
US6850252B1 (en) * | 1999-10-05 | 2005-02-01 | Steven M. Hoffberg | Intelligent electronic appliance system and method |
DK0561435T3 (en) | 1992-02-19 | 1999-11-08 | Koninkl Philips Electronics Nv | Information transmission system and transmitter, receiver and record carrier used therein |
CA2087503A1 (en) * | 1992-04-13 | 1993-10-14 | Lester Wayne Dunaway | Multimodal remote control device having electrically alterable keypad designations |
US5410326A (en) | 1992-12-04 | 1995-04-25 | Goldstein; Steven W. | Programmable remote control device for interacting with a plurality of remotely controlled devices |
US5321229A (en) * | 1993-04-05 | 1994-06-14 | Whirlpool Corporation | Remote control for a domestic appliance |
JP3186390B2 (en) * | 1993-12-27 | 2001-07-11 | ソニー株式会社 | Electronic equipment control system and electronic equipment control device |
JPH07248494A (en) * | 1994-03-14 | 1995-09-26 | Hitachi Ltd | Liquid crystal display device |
US5552806A (en) * | 1994-04-29 | 1996-09-03 | Motorola, Inc. | Method and apparatus for positioning selectable function icons on a display |
US5810598A (en) * | 1994-10-21 | 1998-09-22 | Wakamoto; Carl Isamu | Video learning system and method |
US6124804A (en) * | 1994-11-10 | 2000-09-26 | Matsushita Electric Industrial Co., Ltd. | Remote controller, remote control interface, and remote control system including a remote controller and a remote control interface |
US5671267A (en) | 1994-12-30 | 1997-09-23 | Lucent Technologies Inc. | Interactive system for communications between a cordless telephone and a remotely operated device |
JPH08307942A (en) | 1995-05-02 | 1996-11-22 | Sony Corp | Cordless telephone set, electronic apparatus and program selecting method |
US5625608A (en) * | 1995-05-22 | 1997-04-29 | Lucent Technologies Inc. | Remote control device capable of downloading content information from an audio system |
US5574964A (en) | 1995-05-30 | 1996-11-12 | Apple Computer, Inc. | Signal distribution system |
US5724106A (en) | 1995-07-17 | 1998-03-03 | Gateway 2000, Inc. | Hand held remote control device with trigger button |
US5710805A (en) * | 1995-11-03 | 1998-01-20 | Motorola, Inc. | Combined registration and call continuation method and apparatus for a mobile communication system |
US6231347B1 (en) * | 1995-11-20 | 2001-05-15 | Yamaha Corporation | Computer system and karaoke system |
DE19548776A1 (en) * | 1995-12-23 | 1997-06-26 | Thomson Brandt Gmbh | Method for remote control of electronic devices and device for remote control of electronic devices and electronic device |
US5710605A (en) | 1996-01-11 | 1998-01-20 | Nelson; Rickey D. | Remote control unit for controlling a television and videocassette recorder with a display for allowing a user to select between various programming schedules |
US5761606A (en) | 1996-02-08 | 1998-06-02 | Wolzien; Thomas R. | Media online services access via address embedded in video or audio program |
US6025837A (en) * | 1996-03-29 | 2000-02-15 | Micrsoft Corporation | Electronic program guide with hyperlinks to target resources |
US5614906A (en) | 1996-04-23 | 1997-03-25 | Universal Electronics Inc. | Method for selecting a remote control command set |
US5907322A (en) * | 1996-10-16 | 1999-05-25 | Catch Tv Acquisition Corp. | Television event marking system |
US5956487A (en) | 1996-10-25 | 1999-09-21 | Hewlett-Packard Company | Embedding web access mechanism in an appliance for user interface functions including a web server and web browser |
IL119955A0 (en) * | 1997-01-01 | 1997-04-15 | Advanced Recognition Tech | An instruction and/or identification input unit |
US6111569A (en) * | 1997-02-21 | 2000-08-29 | Compaq Computer Corporation | Computer-based universal remote control system |
US6002450A (en) | 1997-03-24 | 1999-12-14 | Evolve Products, Inc. | Two-way remote control with advertising display |
US6130726A (en) | 1997-03-24 | 2000-10-10 | Evolve Products, Inc. | Program guide on a remote control display |
NZ337920A (en) | 1997-03-24 | 2000-06-23 | Evolve Products Inc | Two-way wireless remote control including advertising display |
US5956025A (en) * | 1997-06-09 | 1999-09-21 | Philips Electronics North America Corporation | Remote with 3D organized GUI for a home entertainment system |
EP1015962B2 (en) * | 1997-06-25 | 2006-11-02 | Samsung Electronics Co., Ltd. | Method for creating home network macros |
US7103834B1 (en) * | 1997-06-25 | 2006-09-05 | Samsung Electronics Co., Ltd. | Method and apparatus for a home network auto-tree builder |
US6317885B1 (en) * | 1997-06-26 | 2001-11-13 | Microsoft Corporation | Interactive entertainment and information system using television set-top box |
US6211870B1 (en) * | 1997-07-07 | 2001-04-03 | Combi/Mote Corp. | Computer programmable remote control |
US6223348B1 (en) | 1997-09-03 | 2001-04-24 | Universal Electronics Inc. | Universal remote control system |
EP0951194B1 (en) | 1997-09-25 | 2012-07-04 | Mitsubishi Denki Kabushiki Kaisha | Remote control device |
US6133847A (en) * | 1997-10-09 | 2000-10-17 | At&T Corp. | Configurable remote control device |
JP3070555B2 (en) * | 1997-12-03 | 2000-07-31 | 日本電気株式会社 | Markup language document storage method and communication method |
US6757001B2 (en) | 1999-03-30 | 2004-06-29 | Research Investment Network, Inc. | Method of using physical buttons in association with a display to access and execute functions available through associated hardware and software |
US6483548B1 (en) | 1998-12-28 | 2002-11-19 | Research Investment Network, Inc. | Method of data display for electronic program guides (EPGs) |
US6097441A (en) * | 1997-12-31 | 2000-08-01 | Eremote, Inc. | System for dual-display interaction with integrated television and internet content |
US6104334A (en) * | 1997-12-31 | 2000-08-15 | Eremote, Inc. | Portable internet-enabled controller and information browser for consumer devices |
US6127941A (en) | 1998-02-03 | 2000-10-03 | Sony Corporation | Remote control device with a graphical user interface |
US6545587B1 (en) * | 1998-03-06 | 2003-04-08 | Matsushita Electric Industrial Co., Ltd. | Bidirectional remote control system, bidirectional remote controller, and device controlled by bidirectional remote controller |
US6195589B1 (en) | 1998-03-09 | 2001-02-27 | 3Com Corporation | Personal data assistant with remote control capabilities |
US6328570B1 (en) * | 1998-03-20 | 2001-12-11 | Cyberinc Pte Ltd. | Portable karaoke unit |
DE69938700D1 (en) | 1998-04-03 | 2008-06-26 | Matsushita Electric Ind Co Ltd | PORTABLE DISPLAY SYSTEM |
US6040829A (en) | 1998-05-13 | 2000-03-21 | Croy; Clemens | Personal navigator system |
US6384737B1 (en) * | 1998-06-15 | 2002-05-07 | Winbond Electronics Corp. | Method and apparatus for allowing a personal computer to control one or more devices |
US6496122B2 (en) | 1998-06-26 | 2002-12-17 | Sharp Laboratories Of America, Inc. | Image display and remote control system capable of displaying two distinct images |
US6097309A (en) | 1998-07-23 | 2000-08-01 | Universal Electronics Inc. | Remote control learning system and method using signal envelope pattern recognition |
US8098140B1 (en) | 2000-07-13 | 2012-01-17 | Universal Electronics Inc. | Customizable and upgradable devices and methods related thereto |
EP1046097B1 (en) * | 1998-09-17 | 2004-03-17 | Koninklijke Philips Electronics N.V. | Remote control device with location dependent interface |
US6437836B1 (en) * | 1998-09-21 | 2002-08-20 | Navispace, Inc. | Extended functionally remote control system and method therefore |
GB2343073B (en) | 1998-10-23 | 2003-01-22 | Sony Uk Ltd | Television receiving apparatus with remote control |
US6597374B1 (en) * | 1998-11-12 | 2003-07-22 | Microsoft Corporation | Activity based remote control unit |
JP4569790B2 (en) * | 1998-11-20 | 2010-10-27 | ソニー株式会社 | Control apparatus and method, and recording medium |
US6539437B1 (en) * | 1998-11-30 | 2003-03-25 | Intel Corporation | Remote control inputs to java applications |
US6225938B1 (en) | 1999-01-14 | 2001-05-01 | Universal Electronics Inc. | Universal remote control system with bar code setup |
US6584496B1 (en) | 1999-01-29 | 2003-06-24 | Sony Corporation | Distributed help system for consumer electronic devices |
US6256019B1 (en) | 1999-03-30 | 2001-07-03 | Eremote, Inc. | Methods of using a controller for controlling multi-user access to the functionality of consumer devices |
US6486892B1 (en) * | 1999-04-07 | 2002-11-26 | Joseph L. Stern | System and method for accessing, manipulating and viewing internet and non-internet related information and for controlling networked devices |
US6401059B1 (en) * | 1999-05-25 | 2002-06-04 | International Business Machines Corporation | Method and system for using a personal digital assistant as a remote control |
US6496927B1 (en) | 1999-06-09 | 2002-12-17 | Amx Corporation | Method and configuring a user interface for controlling a controlled device based upon a device class |
US6892230B1 (en) * | 1999-06-11 | 2005-05-10 | Microsoft Corporation | Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages |
US7254825B1 (en) * | 1999-08-23 | 2007-08-07 | Xperex Corporation | Method and device with DVD and HTML control environments |
US6476871B1 (en) * | 1999-08-25 | 2002-11-05 | Sharp Laboratories Of America, Inc. | Text display on remote device |
US7894474B1 (en) * | 1999-09-10 | 2011-02-22 | Koninklijke Philips Electronics N.V. | Remote control of an electronic device through downloading of a control interface of the electronic device in a mobile station |
WO2001039150A2 (en) | 1999-11-26 | 2001-05-31 | Koninklijke Philips Electronics N.V. | Method and system for programming a universal remote controller |
TW456112B (en) * | 1999-12-10 | 2001-09-21 | Sun Wave Technology Corp | Multi-function remote control with touch screen display |
US6826725B1 (en) * | 1999-12-16 | 2004-11-30 | Microsoft Corporation | Techniques for invoking system commands from within a mark-up language document |
US6650248B1 (en) * | 1999-12-22 | 2003-11-18 | Thomson Licensing, S.A. | Programming a universal remote control device |
US6970127B2 (en) * | 2000-01-14 | 2005-11-29 | Terayon Communication Systems, Inc. | Remote control for wireless control of system and displaying of compressed video on a display on the remote |
US6892359B1 (en) * | 2000-02-18 | 2005-05-10 | Xside Corporation | Method and system for controlling a complementary user interface on a display surface |
WO2001069567A2 (en) | 2000-03-15 | 2001-09-20 | Glen Mclean Harris | State-based remote control system |
US6791467B1 (en) * | 2000-03-23 | 2004-09-14 | Flextronics Semiconductor, Inc. | Adaptive remote controller |
US6765557B1 (en) * | 2000-04-10 | 2004-07-20 | Interlink Electronics, Inc. | Remote control having touch pad to screen mapping |
US7162700B1 (en) * | 2000-04-28 | 2007-01-09 | Intel Corporation | Enabling hypertext elements to work with software applications |
US7076743B2 (en) * | 2000-05-04 | 2006-07-11 | I-Lor, Llc | Method for adding a plurality of user selectable functions to a hyperlink |
US6966034B2 (en) * | 2000-06-30 | 2005-11-15 | Microsoft Corporation | Supplemental request header for applications or devices using web browsers |
US6587739B1 (en) * | 2000-09-29 | 2003-07-01 | Sunbeam Products, Inc. | Appliance communication and control system and appliances for use in same |
US8132105B1 (en) * | 2000-10-10 | 2012-03-06 | Koninklijke Philips Electronics, N.V. | Control codes for programmable remote supplied in XML format |
US20020080161A1 (en) | 2000-11-02 | 2002-06-27 | St. Maurice Susan T. | Network appliance for enhanced television services |
US20020087402A1 (en) * | 2001-01-02 | 2002-07-04 | Zustak Fred J. | User selective advertising |
US9264755B2 (en) * | 2001-07-13 | 2016-02-16 | Universal Electronics Inc. | System and method for presenting program guide information in an electronic portable device |
US6989763B2 (en) * | 2002-02-15 | 2006-01-24 | Wall Justin D | Web-based universal remote control |
DE102004014076B3 (en) | 2004-03-19 | 2005-12-22 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Metal foam body with open-pore structure and process for its preparation |
-
2001
- 2001-07-13 US US09/905,396 patent/US6938101B2/en not_active Expired - Lifetime
-
2002
- 2002-02-11 CA CA002453564A patent/CA2453564A1/en not_active Abandoned
- 2002-02-11 EP EP02706246A patent/EP1410623A1/en not_active Withdrawn
- 2002-02-11 WO PCT/US2002/004064 patent/WO2003007597A1/en not_active Application Discontinuation
- 2002-02-11 MX MXPA04000285A patent/MXPA04000285A/en unknown
- 2002-02-11 BR BR0211128-4A patent/BR0211128A/en not_active Application Discontinuation
- 2002-02-11 EP EP10178772A patent/EP2273782A1/en not_active Withdrawn
-
2004
- 2004-10-06 US US10/959,847 patent/US7143214B2/en not_active Expired - Lifetime
-
2005
- 2005-03-24 US US11/088,694 patent/US20050216606A1/en not_active Abandoned
-
2012
- 2012-11-28 US US13/687,100 patent/US20140009689A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2003007597A1 (en) | 2003-01-23 |
US20020143805A1 (en) | 2002-10-03 |
US7143214B2 (en) | 2006-11-28 |
US6938101B2 (en) | 2005-08-30 |
EP1410623A1 (en) | 2004-04-21 |
US20050216606A1 (en) | 2005-09-29 |
EP2273782A1 (en) | 2011-01-12 |
BR0211128A (en) | 2004-10-26 |
US20050080496A1 (en) | 2005-04-14 |
MXPA04000285A (en) | 2004-05-04 |
US20140009689A1 (en) | 2014-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7102688B2 (en) | System and method for using a hand held device to display a readable representation of an audio track | |
US7143214B2 (en) | Hand held device having a browser application | |
US20020140571A1 (en) | System and method for using a hand held device to display product information | |
US6859197B2 (en) | Universal remote control with display and printer | |
US8330582B2 (en) | Online remote control configuration system | |
US6844807B2 (en) | Home electronics system enabling display of state of controlled devices in various manners | |
JP5437547B2 (en) | Control code for programmable remote control supplied in XML format | |
US7283059B2 (en) | Remote control multimedia content listing system | |
EP1456827B1 (en) | User interface for a remote control application | |
US6597374B1 (en) | Activity based remote control unit | |
US20030035074A1 (en) | Remote control device having a display for displaying a television channel guide | |
US20070052675A1 (en) | Remote controller and digital information control system employing the same | |
US20020196268A1 (en) | Systems and methods for providing a dynamically controllable user interface that embraces a variety of media | |
US20040148419A1 (en) | Apparatus and method for multi-user entertainment | |
WO2001058151A2 (en) | Displaying enhanced content information on a remote control unit | |
US20030034957A1 (en) | Method and system for displaying information related to a television program on a remote control device | |
JP2001218286A (en) | General-purpose hand-held type remote controller | |
JP2004525576A (en) | Electronic program guide including virtual channels for interactive television | |
US20130082920A1 (en) | Content-driven input apparatus and method for controlling electronic devices | |
CA2453713A1 (en) | System and method for using a hand held device to display information | |
AU2002240348A1 (en) | A hand held device having a browser application | |
AU2002242159A1 (en) | System and method for using a hand held device to display information | |
JP4665285B2 (en) | Remote control device and remote control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FZDE | Discontinued |