# Patent

## Title
Systems and methods for presenting an interactive user interface

## Abstract

A system interactively controlled by a TV viewer remote control transmitter displays portions of a scroll program guide on the viewer's display screen. A tuner receives TV radio frequency or optical transmission signals in a plurality of cable channels and passes a viewer usable signal to a signal combiner. A computer receives control signals from the TV viewer remote control transmitter. It controls the tuner to pass the viewer usable signal in response to one of the control signals. Program information, such as TV program schedule information, may be displayed, and a user may select at least some of the displayed program information to be presented with additional program information related to the selected program information.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This is a continuation of U.S. application Ser. No. 10/359,034, filed Feb. 3, 2003, which is a continuation of U.S. application Ser. No. 09/515,997, filed Feb. 29, 2000, now U.S. Pat. No. 6,542,169, which is a continuation of U.S. application Ser. No. 09/227,481, filed Jan. 7, 1999, now U.S. Pat. No. 6,072,460, which is a continuation of U.S. application Ser. No. 08/763,615, filed Dec. 11, 1996, now U.S. Pat. No. 5,892,498, which is a continuation of U.S. application Ser. No. 08/225,246, filed Apr. 8, 1994, now abandoned. The aforementioned, earlier-filed applications are all hereby incorporated by reference herein in their entireties.


BACKGROUND OF THE INVENTION
This invention relates generally to interactive video communications and more particularly concerns viewer controlled channel programming guide displays.
Channel programming guide information is presently displayed to the home TV viewer in a non-interactive scroll. When the home viewer selects the channel programming guide display, the display is viewed as it is transmitted from the cable network. Consequently, the viewer may have to wait for almost the entire running time of the scroll for a desired segment of the scroll to be displayed on the viewer's screen. Furthermore, the program information on the scroll is changed at discrete time intervals selected by the cable provider. Consequently, only the programming information included in the discrete time interval of the transmitted scroll can be observed by the home viewer. Later programming information will become available to the viewer only when that programming information comes into the particular discrete time interval selected for transmission by the cable provider. In other words, the viewer has no alternative but to wait for the scroll to display the desired programming time slot and, when it is displayed, can view it only for as long as that scroll segment remains on the screen during its normal running time. Any distraction at this juncture starts a new waiting period. It is, therefore, an object of this invention to provide a process and in-home scrolling hardware by which a home viewer may interactively control a channel programming guide. Another object of this invention is to provide a process and in-home scrolling hardware in which the scroll can be stopped by the home viewer. Another object of this invention is to provide a process and in-home scrolling hardware by which a home viewer may forward scroll the channel programming guide. Another object of this invention is to provide a process and in-home scrolling hardware by which a home viewer may reverse scroll the channel program guide. Another object of this invention is to provide a process and in-home scrolling hardware by which a home viewer may select a discrete time interval of channel program guide information from a plurality of discrete time intervals of such information.
SUMMARY OF THE INVENTION
In accordance with the invention, a system interactively controlled by a TV viewer remote control transmitter displays portions of a scroll program guide on the viewer's display screen. A tuner receives TV radio frequency or optical transmission signals in a plurality of cable channels and passes a viewer usable signal of a selected one of the channels to a signal combiner. A computer receives any of a plurality of control signals from the TV viewer remote control transmitter. It also controls the tuner to pass the viewer usable signal in response to one of the control signals from the TV viewer remote control transmitter. It also receives and stores a scroll input picture image signal containing local program guide data and generates a scroll output picture image signal consisting of at least a portion of the scroll input picture image signal. The signal combiner combines the viewer usable signal from the tuner with the output picture image signal from the computer to provide a display signal for input to the viewer's display screen. The computer is responsive to a “forward” control signal from the remote to advance the scroll output picture image signal, to a “reverse” control signal from the remote to back up the scroll output picture image signal and to a “stop” control signal from the remote to freeze the scroll output picture image signal. It is also responsive to directional control signals from the remote to reposition a “highlight” background to corresponding program data slots on the scroll grid and to display further program information corresponding to the program of the data slot shown in “highlight”. In addition, it is responsive to further directional control signals to redraw the grid to display earlier or later time segment program data than is normally displayed on the viewer's screen.



BRIEF DESCRIPTION OF THE DRAWINGS
Other objects and advantages of the invention will become apparent upon reading the following detailed description and upon reference to the drawings in which:
FIG. 1 is a block diagram illustrating a preferred embodiment of the hardware of the interactive scroll program guide;
FIG. 2 is a flow chart illustrating the basic process and options of the interactive scroll program guide;
FIG. 3 is a flow chart illustrating further options of the interactive scroll program guide;
FIG. 4 is a representation of an interactive scroll program guide display for a selected date and time;
FIG. 5 is a representation of the interactive scroll program guide display of FIG. 4 in a “scrolled down” condition relative to FIG. 4;
FIG. 6 is a representation of the interactive scroll program guide display of FIG. 5 in a “highlighted” condition relative to FIG. 5; and
FIG. 7 is a representation of the interactive scroll program guide display showing selected information describing the program highlighted in FIG. 6.



While the invention will be described in connection with a preferred embodiment and process, it will be understood that it is not intended to limit the invention to that embodiment or process. On the contrary, it is intended to cover all alternatives, modifications and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims.
DETAILED DESCRIPTION OF THE INVENTION
Turning first to FIG. 1, the components of the interactive scroll program guide are illustrated. A computer 11 having a command information receiver, preferably an infrared or radio frequency receiver 13, provides a control signal 15 to a tuner 17 and a picture image signal 19 to a digital video board 21. The tuner 17 converts or demodulates radio frequencies or optical transmission to a signal usable by the viewer to output a signal 23 selected from a plurality of signals 25 input to the tuner 17 from the cable source (not shown), typically frequency division multiplexed video, audio and data signals transmitted via a coaxial cable, over-the-air radio frequencies or fiber optics. The digital video board 21 converts digital data into a video signal. The tuner output signal 23 is superimposed on or combined with a scroll information picture image signal 27 from the digital video board 21 in a genlock signal combiner or overlayer 29. The combined scroll and TV picture signal 31 is then displayed on a video signal display device such as the display screen 33 of the viewer's television. The viewer sends commands to the receiver 13 to control the operation of the computer 11 by the use of a remote control transmitter, preferably an infrared or radio frequency transmitter 35. The computer 11 is based on a microprocessor and may utilize random access (RAM) and/or read only (ROM) memory. The software necessary to operate the microprocessor may be embedded in the device or downloaded via the cable system to the device.
The above described interactive scroll program guide components operate in response to the control of the computer 11. As shown in FIG. 2, when the home viewer elects to view the scroll mode 51 by operation of the viewer remote control 35, the computer 11 automatically resets to the top of the grid 53 so as to set the display of the scroll at its beginning point for viewing. The computer 11 then provides a control signal 15 to the tuner 17 to select the channel designated by the home viewer's cable system as its programming data channel 55. The computer 11 further causes the portion of the display 33 on which the program data is to appear to be masked 57. With the existing program guide area of the display masked, the computer 11 causes the picture image signal 19 to be generated, thus causing the program guide grid to be drawn 59. With the grid drawn, the computer 11 further initiates operation of a millisecond timer 61 which causes the picture image signal 19 to be fired in millisecond intervals. The operation of the millisecond timer 61 adjusts the speed of the scroll by changing the number of lines of pixels moved at one time. When a timer interrupt 63 permits a change, the software scrolls the grid by causing deletion of the forward lines 65, copying of the rest of the lines forward to overlay the deleted lines 67 and addition of new lines to the rear of the grid 69. This is repeated every few milliseconds so that a smooth scroll is accomplished.
Each text line is generated when the first pixel line in that text line is needed. This text line is stored in a memory buffer until all of its pixel lines are used and then is replaced by the next text line. This allows the pixels to be used without having to regenerate them each time the scroll is updated. When the last text line is reached, the first text line is generated and added onto the screen in a circular fashion. Thus, the scroll becomes a continuous loop. Typically, the scroll will be changed in one to three pixel line increments and preferably in two pixel line increments for a display having an approximately two hundred pixel line scroll. The current text line is remembered and, if the viewer stops the grid, the current text line is positioned at the top of the grid and the scroll timer halted. Looking at FIG. 4, the viewer display screen 33 displays, on approximately its top half, the display defined by the viewer usable signal 23 passed by the tuner 17 (display not shown). It also displays, on approximately the bottom half, a first horizontal data slot divided into vertical columns indicating the proper date 201 and second the program times, as shown, in two half hour increments 203 and 205. Second, third and fourth horizontal data slots are divided into a vertical column showing sequential channel identifications 207, 209 and 211 and into other vertical columns showing program identification data for corresponding channels and times 213, 215 and 217. As shown, the scroll has advanced to illustrate data for channels 15 MAX on slots 207 and 213, 16 ENCORE in slots 209 and 215 and 17 TJC in slots 211 and 217. As scrolling continues the channel 15 MAX data will be removed, the channel 16 ENCORE data and 17 TJC data will move up to slots 207 and 213 and 209 and 215, respectively, channel data will be presented in the lower slots 211 and 217. When the scroll is reversed, the above described process is executed in opposite fashion. That is, the rear bit lines are deleted, the bit lines are moved rearwardly and the last bit lines are added to the front of the grid. Looking at FIG. 5, the scroll of FIG. 4 has been reversed so that the channel 17 TJC and channel 16 ENCORE data have been removed, the channel 15 MAX data has moved down to the lower slots 211 and 217 and channel 14 HBO and 13 PREV data have been added to the slots 209 and 215 and 207 and 213, respectively.
In one preferred operating mode of the invention, the “back arrow” key of the remote would be used for reverse scrolling operation, the “forward arrow” key of the remote would be used for forward scrolling, the “enter” key of the remote would be used to stop the scroll, the “right arrow” key of the remote would be used to forward the time slot, the “left arrow” key of the remote would be used to back up the time slot, the “stop” key of the remote would be used to exit and the “power” key of the remote would be used as an off switch.
The computer routine will inquire as to whether one of the computer keys used in the routine has been pressed 71. If the answer is “NO”, the routine returns to point 73 to maintain the inquiry. If the answer is “YES”, the routine continues via another route 75. In the “YES” route 75, the next inquiry may be whether the viewer has selected a user exit 77 by pressing the “stop” key. If the answer to this inquiry is “YES”, the routine returns to the previous menu 79. If the answer to this inquiry is “NO”, the routine may determine if the viewer has selected a scroll reverse direction 81 by pressing the “back arrow” key. If the answer to this inquiry is “YES”, the routine continues through a reversal stage 83 which shifts the pixel rotation as above described and then returns to the routine at point 73 to the key pressed inquiry 71. If the response to the reverse direction inquiry 81 is “NO”, the routine may next inquire whether the viewer has chosen to stop the scroll 85 by pressing the “enter key”. If the response to this inquiry is “YES”, the routine is routed to stop the timer 87 so as to cease the sequence of pixel line rotation. At this point, the routine further directs that the grid be redrawn to the current top channel 89 so as to index the grid to display complete programming data for the top channel displayed on the grid. With the grid thus redrawn, the routine may place the system into a highlight mode 91 to be hereafter explained. In any event, the redrawn grid will be displayed until the viewer selects a new mode of operation.
The user may also select a different programming time slot, thus changing the program information displayed. That is, a different picture image signal 19 corresponding to the time slot selected by the viewer will be generated by the computer 11 for display. The entire grid will thus be redrawn for the time slot chosen. Thus, if the response to the stop the scroll inquiry 85 is “NO”, the routine may continue to a time forward inquiry 93. At this point in the routine, the screen display continues as shown in FIG. 4, with the channel identification and program identification slots scrolling in a normal forward sequence as hereinbefore described. If the viewer has pressed the time forward or “right arrow” key, a “YES” response to the time forward inquiry 93 will cause the time slots to be advanced by a predetermined increment time 95 and the grid redrawn 100 so that the scroll will display information relevant to a different time slot. The time slots can be arranged in any predetermined increments, the increments normally being chosen in one hour segments. With the grid redrawn, the routine returns through point 73 to the key pressed inquiry 71 for a repeat of the routine. If the answer to the time forward inquiry 93 is “NO”, the routine continues on to a time backward inquiry 97. If the time backward or “left arrow” key has been depressed, a “YES” response will cause the time slots to be backed up by a predetermined decrement time 99 and the grid redrawn 100 to the next earlier time segment in opposite fashion as for the increment time 95 portion of the routine. With the grid redrawn 100, the routine then returns through point 73 to the key pressed inquiry 71 to be repeated. If the answer to the time backward inquiry 97 is “NO”, the routine returns through the point 73 to the key pressed inquiry 71 to again continue the routine.
Turning now to FIG. 3, another routine option is presented beginning with the highlight mode 91 earlier discussed in relation to FIG. 2. If the viewer has proceeded through the stop scroll inquiry 85 with a “YES” response, the top program identification slot 213 will be automatically drawn highlighted 101 by a background color different than the remainder of the grid. At this point, the viewer may select one of several keys. For example, the “enter” key would indicate a command to display the first program information highlighted. Alternatively, the “up arrow”, “down arrow”, “right arrow” and “left arrow” would indicate directional movements of the highlight condition in reference to the program information then highlighted. For example, in FIG. 6, the viewer has opted to “down arrow” the highlight to the second program identification slot 215. Finally, the “exit” key would be used to indicate a desire to exit the highlight routine of the program. If, at a key pressed inquiry 103, the answer is “NO”, the routine returns through point 105 to maintain the key pressed inquiry 103. If, however, the answer is “YES”, the routine proceeds to an “enter key” inquiry 107. If the answer to this inquiry is “YES”, the routine continues to the display program information stage 109 so that specific information regarding the highlighted program will be displayed on the screen as shown in FIG. 7. The program would then continue to another key pressed inquiry 111. If the answer to this inquiry is “YES”, this will indicate the desire of the viewer to exit the display of that particular selected information and the routine is returned through point 105 to the earlier key pressed inquiry 103 to continue the highlight routine. If the answer to the key pressed inquiry 111 is “NO”, the routine returns to the same key pressed inquiry 111 to maintain the display presently existing for the viewer. If the response to the enter key inquiry 107 is “NO”, the routine proceeds to a direction key inquiry 113. If the answer to this inquiry is “YES”, the highlight will move in the direction of the key pressed 115 as above described and the grid will be redrawn 117 to show the highlight moved. With the highlight so moved, the routine will continue through point 105 to the key pressed inquiry 103 for continuance of the highlight routine. If the response to the direction key inquiry 113 is “NO”, the routine will proceed to an exit key inquiry 119. If the answer to the exit key inquiry 119 is “YES”, the routine will exit back to the user selection or scroll mode 51 shown in FIG. 2. If the answer to the exit key inquiry 119 is “NO”, the routine will continue through point 105 to the key pressed inquiry 103 for continuation of the highlight routine.
Thus, each individual viewer will be provided with an interactive scroll program guide which can be programmed at intervals by the cable provider to provide programming data for a multiplicity of viewing time segments. The home viewer can in turn interactively determine whether the scroll of data should be forwarded, reversed, stopped or changed as to the time displayed. In addition, the viewer may select to highlight certain data or to display additional information relevant to a selected program.
Thus, it is apparent that there has been provided, in accordance with the invention, an interactive scroll program guide that fully satisfies the objects, aims and advantages set forth above. While the invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art and in light of the foregoing description. Accordingly, it is intended to embrace all such alternatives, modifications and variations as fall within the spirit of the appended claims.

## Claims

1. A method for invoking an interactive user interface, comprising:
receiving a user interface invocation command;
in response to receiving the user interface invocation command: (1) transmitting an instruction for tuning from a first channel to a predetermined television channel, (2) generating for display at least a portion of the predetermined television channel, and (3) generating for display, simultaneously with the portion of the predetermined television channel, an interactive user interface comprising program information;
receiving a user selection of at least some of the program information; and
in response to receiving the user selection, generating for display replacement program information that replaces a portion of the selected program information.

2. The method of claim 1, wherein the predetermined television channel comprises programming data channel videos, the method further comprising:
generating for display the interactive user interface as an automatically scrolling grid on one portion of a display and the programming data channel videos on another portion of the display.

3. The method of claim 2 further comprising receiving user input to adjust how quickly the automatically scrolling grid is scrolling.

4. The method of claim 2, wherein the predetermined television channel comprises programming data channel data, the method further comprising:
masking the programming data channel data when the interactive user interface is displayed.

5. The method of claim 2 further comprising receiving user input to move the grid backward.

6. The method of claim 2 further comprising receiving user input to move the grid forward.

7. The method of claim 2 further comprising receiving user input to control in which direction the grid scrolls.

8. The method of claim 2 further comprising receiving user input to stop the grid from scrolling.

9. The method of claim 1 wherein the program information comprises program schedule information.

10. The method of claim 9 wherein the program schedule information comprises television program schedule information.

11. A system for invoking an interactive user interface, comprising:
control circuitry configured to:
receive, from a user input device, a user interface invocation command;
in response to receiving the user interface invocation command: (1) transmit an instruction to tune from a first channel to a predetermined television channel, (2) generate for display at least a portion of the predetermined television channel, and (3) generate for display, simultaneously with the portion of the predetermined television channel, an interactive user interface comprising program information;
receive a user selection of at least some of the program information; and
in response to receiving the user selection, generate for display replacement program information that replaces a portion of the selected program information.

12. The system of claim 11, wherein the predetermined television channel comprises programming data channel videos, and the control circuitry is further configured to:
generate for display the interactive user interface as an automatically scrolling grid on one portion of a display and the programming data channel videos on another portion of the display.

13. The system of claim 12 wherein the control circuitry is further configured to receive user input to adjust how quickly the automatically scrolling grid is scrolling.

14. The system of claim 12, wherein the predetermined television channel comprises programming data channel data, and the control circuitry is further configured to:
mask the programming data channel data when the interactive user interface is displayed.

15. The system of claim 12 wherein the control circuitry is further configured to receive user input to move the grid backward.

16. The system of claim 12 wherein the control circuitry is further configured to receive user input to move the grid forward.

17. The system of claim 12 wherein the control circuitry is further configured to receive user input to control in which direction the grid scrolls.

18. The system of claim 12 wherein the control circuitry is further configured to receive user input to stop the grid from scrolling.

19. The system of claim 11 wherein the program information comprises program schedule information.

20. The system of claim 19 wherein the program schedule information comprises television program schedule information.