RELATED APPLICATIONSThe present application is related to and claims priority from U.S. Provisional Application No. 60/315,731, filed Aug. 29, 2001, entitled “System and Method for Visual Channel Surfing”, which is hereby incorporated by reference in its entirety. The present application is also related to and claims priority from U.S. Provisional Application No. 60/317,612, filed Sep. 6, 2001, entitled “System and Method for Visual Channel Surfing”, which is hereby incorporated by reference in its entirety. The present application is further related to and claims priority from U.S. Provisional Application No. 60/324,997, filed Sep. 26, 2001, entitled “System and Method for Visual Channel Surfing Using Center-Focused Navigation”, which is hereby incorporated by reference in its entirety.[0001]
BACKGROUND1. Field of the Invention[0002]
The present invention relates generally to interactive television (ITV) systems. More specifically, the present invention relates to a system and method for focused navigation within a user interface of an ITV system.[0003]
2. Description of Related Background Art[0004]
Recent advances in technology have vastly increased the number of available channels within ITV systems. As used herein, a “channel” refers to any capability of the ITV system that a user may selectively activate. For example, one type of channel may be a broadcast channel, such as NBC®, HBO®, ESPN®, etc. Another type of channel may be an interactive channel, such as a World Wide Web browser, an e-mail program, a videophone, a personal video recorder, a directory of contacts, various search functions or filters, and so forth. Many ITV systems now offer hundreds of broadcast channels and a variety of interactive channels.[0005]
Unfortunately, despite the rapid advances in ITV systems, user interfaces for these ITV systems remain largely unchanged. For example, a user of a modern ITV system must scan through user options and channels in much the same way as a user selected a TV channel twenty years ago, i.e., by repeatedly pressing channel up/down buttons on a remote control. Such an outdated approach is far too slow and inconvenient to facilitate effective navigation of a modern ITV system.[0006]
Accordingly, it would be an advancement in the art to provide a user interface for an ITV system that allows for rapid and efficient navigation of a plurality of channels without the drawbacks of conventional approaches. In particular, it would be an advancement in the art to provide a user interface in which a user need not repeatedly press a button to display each available option, as is often the case with a conventional television or ITV interface.[0007]
BRIEF DESCRIPTION OF THE DRAWINGSNon-exhaustive embodiments of the invention are described with reference to the figures, in which:[0008]
FIG. 1 is an illustration of an ITV system;[0009]
FIGS.[0010]2-3 are illustrations of a method for focused navigation of a plurality of channels within an ITV user interface;
FIGS.[0011]4-6 are timing diagrams for a successive display of visual cards representing channels available on the ITV system;
FIG. 7 is a block diagram of physical components of a set-top box (STB);[0012]
FIG. 8 is a block diagram of logical components of a system for focused navigation of a plurality of channels within an ITV user interface; and[0013]
FIG. 9 is a flowchart illustrating a method for focused navigation of a plurality of channels within an ITV user interface.[0014]
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTSThe present invention solves the foregoing problems and disadvantages by providing a system and method for focused navigation within a user interface of an ITV system. In one embodiment, an ITV system may include a television (TV) having a display screen, a set-top box (STB), and a remote control. A graphical user interface (GUI) for the ITV system may be displayed on the display screen.[0015]
The ITV system may provide access to a plurality of “channels.” As previously noted, a channel may refer to any capability of the ITV system or entertainment device that a user may selectively activate, such as a television broadcast channel, a Pay-Per-View (PPV) channel, or an Interactive Television (ITV) channel. In addition, as used herein, a channel may refer to other selectable options, such as databases, application programs, digital photographs, video clips, audio clips, MP3 files, and programs recorded by a Personal Video Recorder (PVR).[0016]
In one embodiment, a visual card is created to represent each channel that is available through the ITV system. Each visual card may include a graphical representation of the represented channel. The graphical representation may take the form of an icon (e.g., a drawing), an image (e.g., a photograph or video frame), a symbol, or the like. In certain configurations, the graphical representation may be combined with text for increased clarity.[0017]
The visual cards may be linked together or grouped in one or more sequences. In response to a single user action, the visual cards within a particular sequence may be successively displayed within a focus area of the GUI. As used herein, a “focus area” is a single location of the GUI at which the visual cards are displayed one at a time in sequence. The focus area may be located at a central or visually dominant location of the user interface, although the invention is not limited in this respect.[0018]
The single user action to initiate the successive display of visual cards may take many forms, such as pressing (or pressing and holding down) a button on a remote control. Once all of the visual cards within a particular sequence are displayed, the cycle may be repeated any number of times until halted by the user.[0019]
The visual cards may be successively displayed at a high rate of speed, preferably within the user's image recognition threshold. For instance, in one embodiment, the graphical representations may be shown at a rate between about six and eight per second (360-420 per minute).[0020]
When displayed within the focus area, the visual cards are preferably large enough to permit user recognition from a comfortable viewing distance. For instance, in one embodiment, a visual card occupies between about one-fifth and about one-fourth of the display screen.[0021]
When the user sees a visual card being displayed of a channel that he or she desires to select, the user may take some additional action and the successive display of visual cards is discontinued. For example, the additional action may be releasing the button on the remote control or pressing the same or a different button.[0022]
In certain embodiments, it may be desirable to display more than one visual card within a particular sequence in a first direction across the GUI, with one visual card being displayed within the focus area. This may provide the user with a better understanding of his or her navigational position within the sequence. For example, in one embodiment, a subset including three visual cards may be displayed vertically or horizontally across the GUI. Of course, a sequence including any number of visual cards may be displayed within the scope of the invention.[0023]
Additionally, it may be desirable to create different sequences of visual cards for each type of channel associated with the ITV system. For example, a first sequence may include visual cards that represent broadcast channels, and a second sequence may include visual cards that represent interactive channels.[0024]
A subset of visual cards from different sequences may be displayed in different directions across the GUI. For example, in one embodiment, a first subset including three visual cards from a first sequence may be displayed horizontally across the GUI, and a second subset including three visual cards from a second sequence may be displayed vertically across the GUI. These two subsets may intersect to define the focus area. As before, a single visual card may be displayed within the focus area.[0025]
Regardless of the number of visual cards displayed within the GUI at any given time, a particular visual card representing a desired channel may be displayed within the focus area once navigation has been discontinued. This remaining visual card may be enhanced to further distinguish it from previously displayed visual cards, and/or to provide the user with additional information about the represented channel.[0026]
The remaining visual card may be enhanced in a variety of ways. For example, the visual card may be enhanced by displaying information within the GUI that is descriptive of the represented channel. Alternatively, where the remaining visual card represents a broadcast channel, the visual card may be enhanced by displaying a reduced-size presentation of the broadcast channel in the focus area in place of the visual card. Alternatively still, the visual card may be enhanced by animating the graphical representation on the visual card. Additionally, the visual card may be enhanced by enlarging it with respect to other visual cards within the GUI and/or with respect to its original size.[0027]
The user may select the channel associated with the displayed visual card by taking a selection action. The selection action may be, for instance, activating a selection control on the remote control. In response to the selection action, the desired channel may be displayed in place of the GUI on the display screen.[0028]
If the user's reaction time is fast enough, the visual card representing the desired channel remains displayed in the focus area once navigation is discontinued. If not, one or more visual cards may be subsequently displayed. In such a case, the user may manually backtrack to the desired visual card by, for example, repeatedly activating a suitable control on a remote control. In an alternative embodiment, the user's delayed response may be automatically compensated for by reverting to a previously displayed visual card once the user halts the successive display.[0029]
The rate at which the visual cards are successively displayed may be increased in response to the user taking a suitable action. For example, the rate at which visual cards are successively displayed may increase gradually or according to a stepwise function. The user action to increase the display rate may take many forms, such as holding down a button on the remote control for a set amount of time or by repeatedly pressing a button on the remote control.[0030]
Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment.[0031]
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of programming, software modules, user selections, network transactions, database queries, database structures, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.[0032]
Referring now to FIG. 1, there is shown an illustration of an[0033]ITV system10. TheITV system10 includes, in one embodiment, a television (TV)12 having adisplay screen14, a set-top box (STB)16, and aremote control18.
The[0034]STB16 is a consumer electronics device that serves as a gateway between theTV12 and a broadband network (not shown), such as a cable or satellite network. TheSTB16 receives TV signals and other information from the broadband network and processes the same for display on thedisplay screen14. TheSTB16 may also be responsible for displaying a graphical user interface (GUI)20 on thedisplay screen14.
In alternative embodiments, the term “STB” may broadly encompass a personal computer (PC) that performs STB-like functions. In such an embodiment, a PC may be used to process TV signals and other data received from the broadband network. The PC may operate in the context of a home network to provide display signals to a variety of devices, including one or more television sets, computer monitors, personal digital assistants (PDAs), cellular phones, and the like. A variety of home networking systems and protocols may be used, such as Ethernet, 802.11b, Bluetooth, etc.[0035]
The[0036]remote control18 is provided for convenient operation of theSTB16 and theTV12. Theremote control18 may include awireless transmitter22 for transmitting control signals to a wireless receiver24 within theSTB16. In addition, theremote control18 may include a number of buttons or other similar controls. For instance, theremote control18 may include a “Channel-Up”button26, a “Channel-Down”button28, a “Channel-Left”button30, a “Channel-Right”button32, and a “Select” button34. Of course, a variety of other buttons or controls may be provided within the scope of the invention. In alternative implementations, theremote control18 may be embodied as a keyboard, mouse, or other input device.
FIG. 2 illustrates one embodiment of a method for focused navigation of a plurality of channels within an ITV user interface. As previously noted, a channel refers to any capability of the[0037]ITV system10 that a user may selectively activate. Examples of channels include broadcast channels and interactive channels.
In one embodiment, a visual card[0038]36 is created to represent each channel that is available through theITV system10. Each visual card36 may be stored as a graphics file in any suitable format in a memory, disk drive, or the like, within theITV system10.
Each visual card[0039]36 may include a graphical representation38 of the represented channel. The graphical representation38 may take the form of an icon (e.g., a drawing), an image (e.g., a photograph or video frame), a symbol, or the like. Where the visual cards36 represent broadcast channels, the graphical representation38 may represent the broadcast channel generally or the particular TV program being shown on the broadcast channel. For example, each graphical representation38 may take the form of a video frame taken from the current TV program being shown on the broadcast channel. In one embodiment, video frames may be captured at periodic intervals by a broadcast center and downloaded by anSTB16 for use in one or more visual cards36. Alternatively, video frames may be captured by theSTB16, itself.
In the embodiment depicted in FIG. 2, the represented channels are broadcast channels, and the graphical representations[0040]38 on the visual cards36 take the form of icons38 which represent the broadcast channel generally. For instance, a visual card36amay include a chef icon38arepresenting a broadcast channel related to cooking (e.g., the TV Food Network®); a visual card36bmay include a lion icon38brepresenting a broadcast channel related to nature (e.g., The Discovery Channel®); a visual card36cmay include a football player icon38crepresenting a broadcast channel related to sports (e.g., ESPN®); a visual card36dmay include a music icon38drepresenting a broadcast channel related to music (e.g., MTV®); and a visual card36emay include an airplane icon38erepresenting a broadcast channel related to travel (e.g., The Travel Channel®). Of course, the visual cards36 may also include other information (e.g., descriptive text, numerals, and so forth) in addition to the graphical representations38.
The visual cards[0041]36 may be linked together or grouped in a sequence40, such as the sequence40a. The sequence40 may take the form of a closed loop, as illustrated in FIG. 2. Alternatively, the sequence40 may be linear. The ordering of the sequence40 may be dictated, for example, by the numerical order of the represented channels, e.g., visual card36amay correspond to channel2, visual card36bmay correspond to channel4, etc. Of course, the sequence40 may be ordered in other ways or may be user-defined.
Within the sequence[0042]40, one visual card36 may be selected or active. As shown, the selected visual card36 is displayed within afocus area42 of the GUI20 (e.g., brought into “focus”). As previously noted, afocus area42 is a single location of theGUI20 at which the visual cards36 are successively displayed, e.g., displayed one at a time in sequence. Thefocus area42 may be located at a central or visually dominant location of the user interface, although the invention is not limited in this respect. For example, the focus area may be located at the center of the GUI20 (and/or display screen14).
In response to a single user action, the visual cards[0043]36 within a sequence40 may be successively displayed within thefocus area42. For example, the visual cards36a-ewithin the sequence40amay be successively displayed within thefocus area42. Where the sequence40 is a closed loop, the successive display may continue indefinitely until halted by the user.
The visual cards[0044]36 may be successively displayed at a high rate of speed, preferably within the user's image recognition threshold. The image recognition threshold will vary somewhat from user to user depending on a number of factors, including age, eyesight, and so forth. Typically, however, the image recognition threshold for many users will range between 5 and 8 graphical representations per second. Of course, the display rate may be adjusted for users with unusually high or low image recognition thresholds. For instance, a user may cap the maximum display rate at a preferred value.
In one embodiment, the image recognition threshold may be determined or approximated by initially showing a user a test image and then displaying the test image at a point in a cycling sequence of graphical representations being displayed at a high rate of speed (e.g., >10 representations per second). Thereafter, the display rate may be decreased in steps until the user recognizes the test image and presses a button, such as the “Select” button[0045]36. The display rate at which the user first recognizes the test image may be deemed the user's image recognition threshold.
The single user action to initiate navigation may be pressing (or pressing and holding down) a button on the[0046]remote control18. For example, the user may press the “Channel-Up”button26 to initiate the successive display in afirst direction44 within the sequence40, and press the “Channel-Down”button28 to initiate navigation in theopposite direction46. Alternatively, the user may speak a command into a microphone (either within theSTB16 or remote control18) to initiate navigation. Of course, the user may initiate navigation in a variety of other ways within the scope of the invention.
Preferably, the visual cards[0047]36, when displayed within thefocus area42, are sufficiently large to permit user recognition from a comfortable viewing distance for theparticular display screen14. For instance, as shown in FIG. 2, the visual card36 occupies between about one-fifth and about one-fourth of thedisplay screen14.
When the user sees a visual card[0048]36 being displayed of a channel that he or she desires to select, the user may take some additional action and the successive display of visual cards36 may be discontinued. For example, where the successive display was initiated by pressing and holding down the “Channel-Up”button26, the user may release the “Channel-Up”button26 to discontinue navigation. In an alternative embodiment, where the successive display was initiated simply by pressing a button, the user may press the same or a different button to halt the successive display. Of course, the user may discontinue navigation in a variety of other ways within the scope of the invention. Once navigation is discontinued, a visual card36 representing a desired channel is displayed within thefocus area42.
In certain embodiments, it may be desirable to display a[0049]subset48 of the visual cards36 within a particular sequence40 in a first direction across theGUI20. This may provide the user with a better understanding of his or her navigational position within the sequence40. For example, as shown in FIG. 3, a subset48aof the first sequence40aof visual cards36 may be displayed vertically across theGUI20. The subset48aincludes the visual cards36c-e. In particular, a portion of the visual card36cmay be displayed above thefocus area42, the entire visual card36dmay be displayed within thefocus area42, and a portion of the visual card36emay be displayed below thefocus area42. Of course, in other embodiments the subset48amay be displayed horizontally or in other locations of theGUI20.
As previously noted, an[0050]ITV system10 in accordance with the invention may include different types of channels, such as broadcast channels and interactive channels. In one implementation, it may be desirable to create a different sequence40 of visual cards36 for each type of channel associated with theITV system10. For example, as previously described, a first sequence40aincluding visual cards36a-ethat represent broadcast channels. A second sequence40bmay be created including visual cards36f-jthat represent interactive channels.
As in the first sequence[0051]40a, each visual card36f-jin the second sequence40bmay include a graphical representation38 of an available channel. The graphical representation38 may take the form of an icon (e.g., a drawing), an image (e.g., a photograph or video frame), a symbol, or the like. In the embodiment depicted in FIG. 3, the graphical representations38 on the visual cards36f-jtake the form of icons38. For instance, a visual card36fmay include a computer icon38frepresenting a World Wide Web browser; a visual card36gmay include an envelope icon38grepresenting an e-mail program; a visual card36hmay include a videophone icon38hrepresenting a videophone; a visual card36imay include a VCR icon38irepresenting a personal video recorder (PVR); and a visual card36jmay include a rotary file icon38jrepresenting a directory of contacts.
In certain embodiments, it may be desirable to display more than one[0052]subset48 of visual cards36 within a sequence40 in different directions across theGUI20. For example, in addition to displaying the subset48avertically across theGUI20, a subset48bof the second sequence40bof visual cards36 is displayed horizontally across theGUI20. The subset48bincludes the visual cards36g-h. In particular, a portion of the visual card36gappears to the left of thefocus area42, and a portion of the visual card36happears to the right of thefocus area42. Of course, in other embodiments the subset48bmay be displayed vertically or in other locations of theGUI20.
The subset[0053]48aof the first sequence40aand the subset48bof the second sequence40bmay intersect to define thefocus area42. Such an arrangement further enhances the visual dominance of thefocus area42 within theGUI20, because visual cards36 are directed into thefocus area42 from multiple directions. The area of intersection, and thus thefocus area42, may be located at a center portion of theGUI20, although the invention is not limited in this respect.
Navigation of the different sequences[0054]40 may be accomplished by different user actions. For example, the user may utilize a first set of controls (e.g., the “Channel-Up” and “Channel-Down”buttons26,28 on the remote control18) to navigate the sequence40adisplayed vertically across theGUI20, and a second set of controls (e.g., the “Channel-Left” and “Channel-Right”buttons30,32 on the remote control18) to navigate the sequence40bdisplayed horizontally across theGUI20.
Regardless of the number of visual cards[0055]36 displayed within theGUI20 at any given time, a particular visual card36 representing a desired channel may be displayed within thefocus area42 once navigation has been discontinued. This remaining visual card36 may be enhanced to further distinguish it from previously displayed visual cards36, and/or to provide the user with additional information about the represented channel.
As shown in FIG. 3, the visual card[0056]36dmay be enhanced by displaying information within theGUI20 that is descriptive of the represented channel. This information may be displayed within “quadrants” that are formed by the intersection of the displayedsubsets48a-b. The quadrants may be used to display context-sensitive information about a visual card36 in thefocus area42. Alternatively, or in addition, the quadrants may be used to display advertising, additional options, and the like. The size of the quadrants may vary depending, for instance, on the location of the intersection of the displayedsubsets48a-b. If the intersection is near the center of theGUI20, the quadrants may be equal in size; otherwise, the relative sizes of the quadrants may vary.
As an example, because the visual card[0057]36din FIG. 3 represents a broadcast channel, the information may include thename50 of the broadcast channel, thechannel number52, thename54 of the TV program currently being broadcast on the channel, and the program's start time56 and end time58, as well as other useful information.
The remaining visual card[0058]36 may be enhanced in a variety of other ways. For example, where the remaining visual card36 represents a broadcast channel, the visual card36 may be enhanced by displaying a reduced-size presentation of the broadcast channel in thefocus area42 in place of the visual card36. Other visual cards36 and/or information may remain displayed outside thefocus area42 during this reduced-size presentation. Such an approach enables the user to view a portion of a TV program without losing his or her navigational position within theGUI20. Alternatively, the visual card36 may be enhanced by animating the graphical representation38 on the visual card36. Additionally, the visual card36 may be enhanced by enlarging it with respect to other visual cards36 within theGUI20 and/or with respect to its original size. The enlargement may be accomplished through pixel duplication and/or interpolation. Alternatively, a higher-resolution image may be used. Of course, the remaining visual card36 may be enhanced in a number of other ways within the scope of the invention.
The user may select the channel associated with the displayed visual card[0059]36 by taking a selection action. The selection action may be activating a selection control on theremote control18, such as the “Select” button34. Alternatively, the selection action may simply be waiting a set amount of time without activating any controls on theremote control18. In response to the selection action, the desired channel may be displayed in place of theGUI20 on thedisplay screen14, e.g., “maximized” to fill theentire display screen14.
Referring now to FIG. 4, there is shown a timing diagram illustrating the successive display of visual cards[0060]36 in accordance with the invention. Each vertical line within the timing diagram represents a moment in time at which a particular visual card36 is displayed. In particular, in response to a single user action, visual cards36 are successively displayed atmoments60,62,64, and so on. When the user takes some additional action to discontinue navigation, the successive display of visual cards36 is halted atmoment66.
If the user's reaction time is fast enough, the visual card[0061]36 representing the desired channel remains displayed in thefocus area42 once navigation is discontinued. However, the user's reaction time may not be fast enough and one or more visual cards36 may be subsequently displayed. In such a case, the user may manually backtrack to the desired visual card36 by, for example, repeatedly activating a suitable control on theremote control18. For example, briefly pressing the “Channel-Up” or “Channel-Down”buttons26,28 may result in the previous or next visual card36, respectively, being displayed.
In alternative embodiments, the user's delayed response may be automatically compensated for by reverting to a previously displayed visual card[0062]36 once the user halts the successive display. For example, if a visual card36 representing a desired channel is displayed within theGUI20 atmoment68, but the user takes the additional action to discontinue navigation atmoment66, theITV system10 may be configured to automatically revert to the visual card36 displayed a set amount of time before the action was taken. Thetime difference70 betweenmoments68 and66 corresponds to an anticipated time delay between the user's recognition of a desired visual card36 and the user's additional action. Because the actual time delay between recognition and release will vary depending on a number of factors such as age, reaction time, agility, and so forth, it may be desirable to allow a user to adjust thetime difference70. In addition, thetime difference70 may vary depending on the rate at which the visual cards36 are being displayed, e.g., a faster rate may require agreater time difference70.
The rate at which the visual cards[0063]36 are successively displayed may be increased in response to the user taking a suitable action. For example, as shown in FIG. 5, the rate at which visual cards36 are successively displayed may gradually increase from aminimum rate72 to a maximum rate74 (preferably at or below the user's recognition threshold). Alternatively, as shown in FIG. 6, the display rate may increase from aminimum rate76 to anintermediate rate78 to amaximum rate80 according to a stepwise function. The user action to increase the display rate may take many forms, such as holding down a button on theremote control18 for a set amount of time. In such case, the rate may be increased based on how long the button is held down. Alternatively, the user may increase the display rate by repeatedly pressing a button on theremote control18, in which case the rate may be increased each time the button is pressed.
Referring now to FIG. 7, a block diagram of physical components within the[0064]STB16 is shown. In one implementation, theSTB16 includes a wireless receiver24 for receiving control signals sent by thewireless transmitter22 in theremote control18. TheSTB16 may also include a network interface/tuner82 for receiving an ITV signal (which may include both TV signals and other information) from a broadcast center (not shown) over a transmission medium, such as a broadband network. The interface/tuner82 may include conventional tuning circuitry for receiving, demodulating, and demultiplexing the ITV signal, which may be encoded using MPEG or the like.
The[0065]STB16 may also include a codec (encoder/decoder)84, which serves to decode a data stream received from the broadcast center over the transmission medium. Thecodec84 may be implemented in hardware and/or software.
In certain embodiments, the[0066]STB16 includes a memory device86. The memory device86 may include a random access memory (RAM) for storing temporary data. Alternatively, or in addition, the memory device86 may include a read-only memory (ROM) for storing more permanent data, such as fixed code and configuration data. For instance, the memory device86 may include an operating system (OS) for theSTB16, such as Linuxe® or Windows CE® or XP®. The memory device86 may also be embodied as a magnetic storage device, such as a hard disk drive.
An audio/video (A/V)[0067]controller88 may be provided for converting digital audio/video signals into analog signals for playback/display on theTV12. The A/V controller88 may be implemented using one or more physical devices, such as separate graphics and sound controllers. The A/V controller88 may also include graphics hardware for performing bit-block transfers (bit-blits) and other graphical operations for displaying the visual cards36 on thedisplay screen14.
In certain implementations, a[0068]CPU90 is provided to control the operation of theSTB16, including the other components thereof, which are coupled to theCPU90 via abus92. TheCPU90 may be embodied as a microprocessor, microcontroller, digital signal processor or other device known in the art. For instance, theCPU90 may be embodied as an Intel® ×86 microprocessor. TheCPU90 performs logical and arithmetic operations based on program code stored within the memory device86.
Of course, FIG. 7 illustrates only one possible configuration of an[0069]STB16. Those skilled in the art will recognize that various other architectures and components may be provided. In addition, various standard components are not illustrated in order to avoid obscuring aspects of the invention.
Referring now to FIG. 8, a block diagram of logical components within the[0070]STB16 is shown. The depicted logical components may be implemented using one or more of the physical components shown in FIG. 7. Of course, various logical components may be implemented as software modules stored in the memory device86 and executed by theCPU90. Those skilled in the art will recognize that various illustrated components may be combined together or integrated with standard components in various configurations without departing from the scope or spirit of the invention.
An ITV signal[0071]94 containing compressed TV signals and other information is received by a signal detector96. The signal detector96 decompresses the ITV signal94 and separates the TV signals from the other information. The TV signals are then conveyed to a display unit98, which performs further processing to convert the TV signals into a suitable format for theTV12. The other information is routed to a storage device100.
The other information may include a channel database[0072]102. In one embodiment, the channel database102 includes records104 containing information about the various channels available within theITV system10. Each record104 may be uniquely associated with a particular channel, and may include a visual card36 representing that channel. Other information106 about the channel may also be provided. For example, a record104 of a broadcast channel may include information106 such as the channel number, the name of the program being (or to be) broadcast, the start time, the end time, and so forth. For an interactive channel, the information106 may include a text description, memory location, and the like.
Each record[0073]104 within the database102 may also include one or more pointers108 to other records104. This allows the records104 to be grouped together into one or more sequences40, such as the sequences40a-bdescribed previously. Of course, records104 may be grouped in sequences40 using other mechanisms within the scope of the invention.
In one embodiment, a user action to initiate and/or discontinue navigation causes a navigational control signal to be detected by a[0074]user input detector110. The control signal may be delivered to a controller112 which is driven by aclock signal114 having a periodic clock cycle.
In response to a control signal to initiate navigation, the controller[0075]112 may retrieve one or more records104 from the channel database102 and deliver them to the display unit98 for processing. To implement the successive display of visual cards36 described previously, this action may be repeated every N clock cycles (where N is any integral value). Additionally, the records104 may be retrieved in a particular sequence40, as described previously. The display unit98 may be configured to prepare data from the records104, such as the visual cards36, for display on thedisplay screen14 in the manner illustrated in FIGS.2-3. In response to a control signal to discontinue navigation, the controller112 may halt retrieval of the records104 from the channel database102.
As described previously, the rate at which the visual cards[0076]36 are successively displayed may be increased. This may be accomplished by initiating acounter116 when the control signal to initiate navigation is detected by theuser input detector110. Thecounter116 may increment every M clock cycles (where M may be any integral value), for as long as the control signal is detected by theuser input detector110. After thecounter116 has reached a set value, the value of N may be decreased, which has the effect of accelerating the rate of successive display of visual cards36. In one implementation, the value of N may not decrease below a certain value corresponding to a typical user's image recognition threshold.
The values of M and N may be adjusted to implement the gradual and stepwise acceleration discussed previously. For example, high values of M and N correspond to stepwise acceleration as illustrated in FIG. 6, whereas low values of M and N correspond to gradual acceleration as illustrated in FIG. 5. Of course, a wide variety of other techniques may be used to implement the successive display of visual cards[0077]36.
As discussed previously, a user's delayed response may be automatically compensated for by reverting to a previously displayed visual card[0078]36 once the user takes action to discontinue navigation. This may be accomplished in a variety of ways. For example, the controller112 may retrieve the record104 X positions behind the last-retrieved record104 within a particular sequence40 once navigation has been discontinued. Alternatively, the display unit98 may include a memory for storing the X visual cards36 most recently displayed within thefocus area42, and may be configured to display the visual card36 in the Xth position once navigation is discontinued. In either implementation, the value of X (which may be any integral value) may correspond to an anticipated time delay between a user's recognition of a desired visual card36 and the time that the user takes action to discontinue navigation.
In certain embodiments, as discussed previously, a particular visual card[0079]36 representing a desired channel may be displayed within thefocus area42 once navigation has been discontinued. This remaining visual card36 may be enhanced to further distinguish it from previously displayed visual cards36, and/or to provide the user with additional information about the represented channel. This, too, may be accomplished in a variety of ways. For example, some or all of the information106 within each database record104 may be displayed within theGUI20. Alternatively, where the remaining visual card36 represents a broadcast channel, the controller112 may be configured to tune the signal detector96 to the represented channel, and the display unit98 may be configured to replace the remaining visual card36 with a reduced-size presentation of the broadcast channel (while leaving the remainder of theGUI20 in place). Alternatively still, the graphical representation38 included within the visual card36 may be an animation file, and the storage device100 may include software configured to animate the graphical representation38.
Finally, as discussed previously, the user may select the channel associated with a displayed visual card[0080]36 by taking a selection action. When a visual card36 is selected, the corresponding channel may be executed by the controller112. For instance, where a user selects a visual card36 corresponding to a broadcast channel, the controller112 may tune the signal detector96 to the selected channel. Where a user selects a visual card36 corresponding to an interactive channel, the controller112 may execute an application within the storage device100 corresponding to the selected channel.
Of course, FIG. 8 illustrates only one implementation of the above-described techniques. Various other implementations, using various combinations of hardware and software, may be known to those skilled in the art based on the teachings contained herein.[0081]
Referring now to FIG. 9, there is shown a flowchart illustrating a method for focused navigation of a plurality of channels within an ITV user interface. A plurality of visual cards[0082]36 representing channels available within theITV system10 is created and stored118. As discussed previously, the visual cards36 may be linked together or grouped in one or more sequences40. One or more visual cards36 from one or more sequences40 may be displayed across theGUI20, with one visual card36 being displayed within afocus area42.
In one configuration, the[0083]ITV system10 waits120 for user input. When a single user action is detected122 as previously discussed, the visual cards36 from a particular sequence are successively displayed124 in afocus area42 of theGUI20. This successive display continues until an additional user action is detected126, at which point the successive display is discontinued and a single visual card36 is displayed within thefocus area42. As discussed previously, this remaining visual card36 may be enhanced. In addition, the user may select the channel associated with the displayed visual card36 by taking a selection action.
In view of the foregoing, the present invention offers a number of advantages not available in conventional approaches. In accordance with the invention, visual cards representing channels available in an ITV system may be successively and rapidly displayed within a focus area.[0084]
Because navigation is initiated by a single user action, the user need not repeatedly press a button to display each channel, as is often the case with conventional television or ITV interfaces. This greatly increases navigation speed, reduces wear on the remote control, and reduces the likelihood of repetitive stress injury of the user's hand.[0085]
Likewise, because the visual cards are all displayed within a single area of the user interface (the focus area), the visual cards may be displayed at a relatively high rate of speed, while still being within the user's image recognition threshold. Typically, the focused navigation technique of the claimed invention allows a user to more quickly and efficiently locate and select a desired channel than conventional approaches.[0086]
While specific embodiments and applications of the present invention have been illustrated and described, it is to be understood that the invention is not limited to the precise configuration and components disclosed herein. Various modifications, changes, and variations apparent to those skilled in the art may be made in the arrangement, operation, and details of the methods and systems of the present invention disclosed herein without departing from the spirit and scope of the invention.[0087]