United States Patent5734853
Hendricks , ; et al.March 31, 1998

Title

Set top terminal for cable television delivery systems

Abstract

A viewer interface for a television program delivery system is described. The innovation relates to methods and devices for viewer pathways to television programs. Specifically, the interface involves hardware and software used in conjunction with a television at the viewer home to create a user friendly menu based approach to television program access. The device is particularly useful in a program delivery system with hundreds of programs and a data signal carrying program information. The disclosure describes menu generation and menu selection of television programs.


Inventors:Hendricks; John S. (Potomac, MD), Bonner; Alfred E.  (Bethesda, MD), Berkobin; Eric C.  (Woodstock, GA)
Assignee:Discovery Communications, Inc. (Bethesda, MD)
Appl. No.:160193
Filed:December 2, 1993

Current U.S. Class:715/716 715/721 725/119 725/132 725/31 725/47 725/61 380/241 
Field of Search:395/156,352,353,354 348/1,3,6,7,8,9,10,13,478,460,706,734 455/2,4.1,4.2 380/9,14,16,20

U.S. Patent Documents
3891792June 1975Kimura
4361848November 1982Poignet et al.
4369225January 1983Washizuka
4488179December 1984Kruger et al.
4517598May 1985Van Valkenburg et al.
4587520May 1986Astle
4605964August 1986Chard
4688218August 1987Blineau et al.
4694490September 1987Harvey et al.
4697209September 1987Kiewit et al.
4706121November 1987Young
4712105December 1987Kohler
4724491February 1988Lambert
4792972December 1988Cook, Jr.
4829558May 1989Welsch
4829569May 1989Seth-Smith et al.
4860379August 1989Schoeneberger et al.
4876736October 1989Kiewit
4928168May 1990Iwashita
4947429August 1990Bestler et al.
4949187August 1990Cohen
4959810September 1990Darbee et al.
4961109October 1990Tanaka
4965825October 1990Harvey et al.
4975951December 1990Bennett
4977455December 1990Young
5001554March 1991Johnson et al.
5014125May 1991Pocock et al.
5015829May 1991Eilert et al.
5020129May 1991Martin et al.
5027400June 1991Baji et al.
5036394July 1991Morii et al.
5036537July 1991Jeffers et al.
5046093September 1991Wachob
5047867September 1991Stubbe et al.
5077607December 1991Johnson et al.
5078019January 1992Aoki
5093718March 1992Hoarty et al.
5105268April 1992Yamanouchi et al.
5132789July 1992Ammon et al.
5132992July 1992Yurt et al.
5133079July 1992Ballantyne et al.
5144663September 1992Kudelski et al.
5150118September 1992Finkle et al.
5151782September 1992Ferraro
5151789September 1992Young
5155591October 1992Wachob
5166886November 1992Molnar et al.
5172413December 1992Bradley et al.
5182639January 1993Jutamulia et al.
5202817April 1993Koenck et al.
5206954April 1993Inoue et al.
5216515June 1993Steele et al.
5223924June 1993Strubbe
5237311August 1993Mailey et al.
5253066October 1993Vogel
5253275October 1993Yurt et al.
5260778November 1993Kauffman et al.
5283639February 1994Esch et al.
5285272February 1994Bradley et al.
5289271February 1994Watson
5293540March 1994Trani et al.
5319455June 1994Hoarty et al.
5319707June 1994Wasilewski et al.
5323249June 1994Amano et al.
5327554July 1994Palazzi, III et al.
5339315August 1994Maeda et al.
5341474August 1994Gelman et al.
5343239August 1994Lappington et al.
5345594September 1994Tsuda
5351075September 1994Herz et al.
5353121October 1994Young et al.
5355162October 1994Yazolino et al.
5357276October 1994Banker et al.
5367571November 1994Bowen et al.
5375068December 1994Palmer et al.
5400401March 1995Wasilewski et al.
5404393April 1995Remillard
5410326April 1995Goldstein
5410344April 1995Graves et al.
5412416May 1995Nemirofsky
5414426May 1995O'Donnell et al.
5416508May 1995Sakuma et al.
5432542July 1995Thibadeau et al.
5442626August 1995Wei
5446919August 1995Wilkins
5469206November 1995Strubbe et al.
5473362December 1995Fitzgerald et al.
5477263December 1995O'Callaghan et al.
5479268December 1995Young et al.
5481294January 1996Thomas et al.
5481296January 1996Cragun et al.
5481542January 1996Logston et al.
5483278January 1996Strubbe et al.
5515098May 1996Carles
D301037May 1989Matsuda
D314383February 1991Hafner
D325581April 1992Schwartz
D329238September 1992Grasso et al.
D331760December 1992Renk, Jr.
Foreign Patent Documents
103438Mar., 1984EP
1130683May., 1989JP
1142918May., 1989JP
1204190Sep., 1970GB
145063Jun., 1985EP
149536Jul., 1985EP
158548Oct., 1985EP
167237Jan., 1986EP
2044574Dec., 1992CA
2168227Jun., 1986GB
243312Oct., 1987EP
3114375May., 1991JP
3423846Jan., 1986DE
355697Feb., 1990EP
402809Dec., 1990EP
420123Apr., 1991EP
506435Sep., 1992EP
5250106Sep., 1993JP
61-06015Mar., 1986JP
8601962Mar., 1986WO
8909528Oct., 1989WO
9100670Jan., 1991WO
9103112Mar., 1991WO
9211713Jul., 1992WO
9212599Jul., 1992WO
9217027Oct., 1992WO
9221206Nov., 1992WO
9322877Nov., 1993WO
Other References
Advertisement, Hong Kong Enterprises, "Two Innovative New Consumer Products From SVI," Nov. 1988, p. 379. .
Advertisement, Great Presentations, "Remote, Remote," 1987, p. 32. .
Advertisement, Consumer Digest, "Expand Your TV's Channel Capability," Fall/Winter, 1992. .
van den Boom, "An Interactive Videotex System for Two-Way CATV Networks," AEO.Band 40, No. 6, Nov.-Dec., 1986. .
Maloney, D.M., "Digital Compression In Todays Addressable Environment," 1993 NCTA Technical Papers, Jun. 6, 1993, pp. 308-316. .
Bestler, C., "Flexible Data Structures and Interface Rituals for Rapid Development of OSD Applications," NCTA Tech. Jun. 6, 1993, pp. 223-236. .
Gelman, et al., "A Store-And-Forward Architecture For Video-On-Demand Service," Jun. 1991 IEEE, pp. 842-846. .
Sharpless, G.T., "Subscription Teletext For Value Added Services," IEE Transactions on Cons.Elec., Aug. No. 3, 1985, pp. 283-289..~
Primary Examiner: Powell; Mark R.
Assistant Examiner: Huynh; Ba
Attorney, Agent or Firm:Dorsey & Whitney LLP

Parent Case Text



RELATED APPLICATIONS

This application is a continuation-in-part of application Ser. No. 07/991,074 filed Dec. 9, 1992 entitled TELEVISION PROGRAM PACKAGING AND DELIVERY SYSTEM WITH MENU DRIVEN SUBSCRIBER ACCESS. The following other continuation-in-part applications, also based on the above-referenced patent application, are incorporated herein by reference:

Ser. No. 08/160,281, entitled REPROGRAMMABLE TERMINAL FOR SUGGESTING PROGRAMS OFFERED ON A TELEVISION PROGRAM DELIVERY SYSTEM, filed on Dec. 2, 1993

Ser. No. 08/160,280, entitled NETWORK CONTROLLER FOR CABLE TELEVISION DELIVERY SYSTEMS, filed on Dec. 2, 1993

Ser. No. 08/160,282, entitled AN OPERATIONS CENTER FOR A TELEVISION PROGRAM PACKAGING AND DELIVERY SYSTEM, filed on Dec. 2, 1993

Ser No. 08/160,094, entitled ADVANCED SET TOP TERMINAL FOR CABLE TELEVISION DELIVERY SYSTEMS, filed on Dec. 2, 1993

Ser. No. 08/160,283, entitled DIGITAL CABLE HEADEND FOR CABLE TELEVISION DELIVERY SYSTEM, filed on Dec. 2, 1993.

Claims


What is claimed is:
1. A set top terminal with microprocessor instructions for prompting generation of menus for use with a program delivery system with menu selection of programs, using a program signal containing programs and a program control information signal containing program identification data and menu identification data identifying the menu location for each program identification data, the set top terminal comprising:
means for receiving the program signal containing the programs and the program control information signal containing the program identification data and the menu identification data;
demultiplexer means for demultiplexing the received program signal into individual programs and the program control information signal into the program identification data and the menu identification data;
instruction memory means for holding the microprocessor instructions for prompting generation of menus;
a microprocessor, connected to the instruction memory, for executing the microprocessor instructions for prompting generation of menus;
menu memory means, connected to the demultiplexer and the microprocessor, for storing information used to generate menus, wherein the program identification data and the menu identification data are stored, and wherein the menu identification data relates the program identification data to one or more specific menus;
means, connected to the microprocessor, for generating a menu from the stored information in the menu memory, including the program identification data and menu identification data, when prompted by the microprocessor; and
means for commanding the microprocessor to prompt the menu generator means to generate a menu for display.

2. The set top terminal of claim 1 wherein the means for commanding comprises a remote control for remotely commanding the microprocessor.

3. The set top terminal of claim 1 wherein the individual programs demultiplexed from the program signal are in compressed form, the set top terminal further comprising:
a video decompressor for decompressing the individual programs.

4. The set top terminal of claim 1 wherein the individual programs are encrypted, the set top terminal further comprising:
a decryptor to decrypt one or more of the individual programs from the program signal to produce one or more decrypted programs; and
a tuner for tuning to at least one of the decrypted programs for display.

5. The set top terminal of claim 1 wherein the program control information signal is in digitally compressed form, the set top terminal further comprising:
a decompressor for decompressing the program control information signal.

6. A set top terminal for use with a television, with menu selection of television programs from a set of menus, using a program control information signal containing program identities and menu locations within the set of menus for the program identities comprising:
a receiver, wherein the program control information signal is received;
a menu memory, connected to the receiver, for storing the program identities and menu locations within the set of menus for the program identities;
means, connected to the menu memory, for generating menus from the set of menus, including a program identity subset menu containing program identifies, wherein the means for generating uses the program identities and the menu locations for the program identities stored in the menu memory;
processor means, connected to the generating means for sequencing between menus within the set of menus to generate one menu at a time wherein at least one of the generated menus is from the program identity subset of menus; and
means, in communication with the processor means, for selecting a program by choosing a program identity from a generated menu.

7. The set top terminal of claim 6 wherein the displayed menu has a cursor overlay and wherein the means for selecting a program comprises a remote control device with directional buttons for moving the cursor overlay to assist in selecting a television program identity from the displayed menu.

8. The set top terminal of claim 6 wherein the program control information also includes time of day information and wherein the means for generating the set of menus further comprises means for generating the current time of day information on each menu.

9. The set top terminal of claim 16, further comprising:
a sequence memory, which stores information concerning the sequencing of menus within the set of menus; and
wherein the processor means is connected to the sequence memory, and uses the stored information on sequencing to control the sequencing between menus within the set of menus.

10. The set top terminal of claim 9, wherein the stored information concerning the sequencing of menus are executable processor instructions on menu sequencing, and wherein the processor means uses the stored processor instructions on menu sequencing.

11. The set top terminal of claim 6, wherein the generating means further comprises a means to generate a cursor overlay controlled by a cursor signal, wherein the selecting means comprises a remote control device with directional buttons for creating and transmitting a cursor signal; the set top terminal further comprising:
a remote control interface, connected to the generating means, which receives the transmitted cursor signal.

12. The set top terminal of claim 6, wherein the means for generating the set of menus includes a means for providing at least one introductory menu, a home menu, and subset of major menus relating to program categories.

13. The set top terminal of claim 6, wherein a composite signal contains the program control information signal and a program signal, wherein the program signal is encrypted, and wherein the receiver further comprises:
an extractor, wherein the program control information signal is extracted from the composite signal; and
a decryptor.

14. The set top terminal of claim 6, wherein a composite signal contains the program control information signal and a program signal, wherein the composite signal is compressed, and wherein the receiver further comprises:
a decompressor; and
an extractor, wherein the program control information signal is extracted from the composite signal.

15. The set top terminal of claim 6, wherein a composite signal contains the program control information signal and a program signal, wherein the program signal is compressed and encrypted, and wherein the receiver further comprises:
a program signal decryptor;
a decompressor, connected to the program signal decryptor; and
an extractor, wherein the compressed program control information signal is extracted from the composite signal.

16. The set top terminal of claim 6, wherein the menus in the set of menus are grouped in a hierarchial configuration which descends from at least one introductory menu to a home menu to a major menu subset and to the program identification menu subset, wherein the selecting means is a remote control which generates a remote signal and comprises a plurality of menu select buttons, each menu select button corresponding to a major menu, and wherein the processor means sequences to a major menu in response to a single activation of the corresponding menu select button, the set top terminal further comprising:
a remote control interface, connected to the processor means, which receives the transmitted remote signal from the remote control.

17. The set top terminal of claim 6, wherein the program control information signal contains polling request information and event identification information corresponding to each program identity, the set top terminal further comprising:
a means for identifying event identification information for one or more selected programs;
a means for storing the identified event identification information;
a means, connected to the receiving means, for determining the presence of a polling request from the polling request information;
a transmitter, connected to the means for storing and the means for determining, wherein the stored event identification information is transmitted upon the occurrence of a polling request.

18. The set top terminal of claim 6, wherein the receiver comprises:
a telephone port.

19. The set top terminal of claim 6, wherein the receiver is a digital receiver.

20. A set top terminal with executable instructions for use with a program delivery system with menu selection of programs from a plurality of menus, using a combined signal including compressed video and a program control information signal with program identities, the menus including an introductory menu, a home menu, major menus, and submenus, comprising:
means for receiving the combined signal including the compressed video and the program control information signal for processing;
a demultiplexer means for demultiplexing the received signal into compressed video and into the program control information signal;
an instruction memory which stores executable instructions;
means, operably connected to the demultiplexer and instruction memory, for generating menus including an introductory menu, a home menu, at least one major menu, and at least one submenu using the program identities of the program control information signal wherein the submenus include program identities, and wherein the generating means builds the menus;
means, connected to the generating means, for sequencing between menus, including sequencing between the introductory menu, home menu, major menus, and submenus using the executable instructions;
means for selecting a program identity from a submenu; and
a video decompressor means coupled to the demultiplexer for decompressing the compressed video wherein the decompressed video corresponds to the program identity selected from the submenu.

21. The set top terminal of claim 20 wherein the means for generating menus comprises a video combiner for combining video with generated submenus.

22. The set top terminal of claim 20 wherein the means for generating menus further comprises means for generating during program menus including hidden menus and overlay menus and wherein the means for sequencing between menus includes means for sequencing between during program menus and submenus.

23. The set top terminal of claim 20 wherein the means for selecting a program identity from a submenu comprises a user interface with a plurality of buttons.

24. The set top terminal of claim 23 wherein the user interface further comprises a means for affecting the sequencing between menus.

25. An apparatus with executable instructions for use with a program delivery system with menu selection of programs from a plurality of menus, using a program control information signal containing program identities, a cursor movement button and a go button, the apparatus comprising:
means for receiving the program control information signal;
an instruction memory for storing executable instructions;
means, connected to the instruction memory and receiving means, for generating menus including an introductory menu, a home menu, at least one major menu, and at least one submenu containing program identities, using the stored executable instructions and the program identities contained in the program control information signal, wherein the generating means creates a movable cursor overlay for overlaying the program identities on the submenu, and wherein the generating means builds the menus;
means, connected to the generating means, for selecting a program comprising:
a user interface means including a cursor movement button and a go button;
means, electronically connected to the user interface means, for sequencing between menus, including sequencing between the home menu, major menu, and submenu; and
means for selecting a program from a submenu by moving the cursor overlay with the cursor movement button to overlay a program identity and depressing the go button.

26. The set top of claim 25 wherein the sequencing means further comprises:
means for sequencing between menus using the go button.

27. A method for generating menu displays with a set top terminal and television display for use with a program delivery system with a text signal and menu selection of programs from a plurality of menus, wherein portions of the graphics and text for the menus are stored in files including background graphics files, logo graphics files, menu display and cursor graphics files, comprising the steps of:
generating menu graphics for display comprising the steps of:
fetching background graphic files and generating background graphics;
fetching logo graphics files and generating logo graphics; and
fetching menu display and cursor graphic files and generating the menu display and cursor graphics;
generating menu text for display comprising:
fetching text files and generating menu text;
receiving text from the program delivery system text signal and generating menu text;
combining the generated menu graphics and the generated menu text; and
displaying the combined graphics and text as a menu.

28. The method of claim 27 wherein the program delivery system text signal is a component of a program control information signal, wherein the step of receiving text from the program delivery system text signal comprises:
receiving program control information signal; and
extracting the text including text for program names from the program control information signal.

29. A method for generating menu displays for a television with a set top terminal for use with a program delivery system with menu selection of programs from a plurality of individual menus, using executable instructions and compressed files stored in memory including background, logo, menu display and cursor graphic files, as well as long, intermediate and short term compressed text files, comprising the steps of:
executing the stored executable instructions to initiate the generation of a menu for display;
generating menu graphics for display comprising the steps of:
fetching background graphic files and decompressing background graphics files;
fetching logo graphics files and decompressing logo graphics files; and
fetching menu display and cursor graphic files and decompressing the menu display and cursor graphics files;
generating menu text for display comprising:
fetching and decompressing the long, intermediate, and short term text files;
combining the generated menu graphics files and the generated menu text files; and
displaying the combined menu graphics and menu text files as a menu on the television.

30. The menu generation method of claim 29, wherein the program delivery system delivers video channels, the combining step further comprising step of:
combining video from the program delivery system with the generated menu graphics and the generated menu text comprising the steps of:
selecting a video channel;
decompressing the video channel into video;
scaling the video to change its size; and
redirecting the video to change its projected location on the television.

31. The menu generation method of claim 29 wherein still video is stored in memory, further comprising the step of:
still video picture generation for menu display comprising the steps of:
fetching a still video picture stored in memory; and
decompressing the still video picture; and
wherein the combining step further comprises means for combining the decompressed still video.

32. A method of set top terminal menu generation and sequencing for selecting television programs to display on a television, where the set top terminal receives a packaged program signal the method comprising the steps of:
determining that a packaged program signal is being received by the set top terminal;
generating and displaying an introductory menu;
awaiting subscriber key entry;
determining whether to display a packaged program or generate and display a menu from a set of menus based on a subscriber key entry;
generating and displaying one or more menus from the set of menus including the steps of:
building at least one home menu;
building at least one menu from a major menu subset; and
building at least one menu from a program list subset, including the step of listing the program identities;
displaying on the television a selected program, wherein the selected program is determined by subscriber key entries made during a sequence of generated menus.

33. The method of claim 32 wherein the step of generating and displaying further comprises the steps of:
fetching the universal background graphics file for the menu;
decompressing the fetched universal background file to create the menu background;
fetching the logos graphics file for the menu;
decompressing the fetched logos graphics file to create logos; and
combining the menu background and logos.

34. The method of claim 32 wherein the step of generating and displaying the menus including a major menu comprises:
fetching the universal background graphics file for an upper sash;
fetching the universal background graphics file for a lower sash;
decompressing the fetched universal background files to create the major menu background;
fetching the network logo graphics file for the major menu;
fetching other logo graphics files for the major menu;
decompressing the fetched logos graphics files to create the major menu logos;
combining the major menu background and major menu logos;
fetching the cursor highlight graphics file;
decompressing the cursor highlights graphics file to create the cursor highlights; and
combining the cursor highlights with the major menu background and the major menu logos.

35. The method of claim 32 wherein the step of generating and displaying the menus including a major menu further comprises the steps of:
fetching a major menu icon graphics file from memory; and
decompressing the major menu icon graphics file to create a major menu icon.

36. The method of claim 32 further comprising the steps of:
producing an overlay menu and one or more icons for display with the overlay menu during the display of a television program; and
executing software at the microprocessor for one or more hidden menus, wherein the software is executed during display of the television program.

37. The method of claim 32, wherein the step of generating and displaying further includes the steps of:
building at least one menu from a program description subset of menus;
building a program order menu; and
building a program confirmation menu.

38. The method of claim 32, wherein the major menu subset of menus relates to a plurality of program categories and associated subcategories, and wherein the step of generating and displaying further includes the step of:
building a menu from a program subcategory subset of menus.

39. The method of claim 32, wherein the step of displaying includes the step of:
overlaying a menu on the displayed program so that the selected program and the overlay menu are displayed simultaneously.

40. The method of claim 39, wherein the selected program contains video and the step of overlaying includes the steps of:
scaling the selected program video to change its size;
positioning the scaled program video;
placing an overlay menu adjacent to the scaled and positioned program video.

41. The method of claim 32 wherein the step of displaying includes the steps of:
executing software to determine whether a subscriber key entry relates to displaying a hidden menu;
generating and displaying a hidden menu in response to a subscriber key entry relating to displaying a hidden menu, as determined by the step of executing software.

42. The method of claim 32, wherein the subscriber's selected program costs a fee if viewed for more than a predetermined time period and wherein the step of displaying further includes the step of:
running a timer for the predetermined time period;
generating an escape menu containing the timer value;
overlaying the escape menu on the display of the selected program until the timer has expired or the subscriber exits the selected program.

43. The method of claim 42, where the subscriber has exited the selected program after the predetermined time period, the step of displaying further including the steps of:
generating and displaying a warning menu relating to the fact that the subscriber has been charged for the selected program;
monitoring subscriber key entries for a certain key entry indicating that the subscriber desires to rejoin the selected program;
rejoining the subscriber's selected program in response to said certain key entry.

44. The method of claim 32, where the subscriber has been charged for the selected program and has exited the selected program prior to the program's conclusion, further including the steps of:
monitoring subscriber key entries to detect an entry corresponding to selection of the exited program;
identifying one or more start times when the subscriber may rejoin the exited program;
generating and displaying a rejoin menu containing reentry menu selections for rejoining the exited program, the reentry menu selections including one or more of the identified start times;
allowing the subscriber to rejoin the exited program in response to a subscriber selection of a reentry menu selection.

45. The method of claim 32, wherein there is a time interval between the subscriber's selection and the beginning of the selected program, further comprising the steps of:
running a countdown timer for the time interval;
generating and displaying a countdown menu, the countdown menu containing the value of the timer.

46. The method of claim 45, further comprising the step of:
displaying the selected program upon expiration of the countdown timer.

47. The method of claim 32, wherein the program control information is compressed, the programs are compressed and encrypted, the step of extracting comprises the step of decompressing the program control information, and the step of displaying comprises the steps of:
decrypting the selected program; and
decompressing the decrypted program.

48. A method of sequencing menus on a television screen for selecting television programs in a program delivery system with set top terminal menu generation, where the set top terminal receives packaged television programs including program control information, the menus generated by the set top terminal including an introductory menu, a home menu, a major menu, a submenu, and an overlay menu, comprising the steps of:
determining if a packaged program signal is being received by the set top terminal;
generating and displaying an introductory menu;
awaiting subscriber key entry;
determining whether to decompress a packaged video signal or display a menu;
generating and displaying the menus including at least one home menu, major menu, submenu for a subcategory, program list submenu, program description submenu, or confirmation submenu to confirm the packaged program selected, wherein the generated menus are built;
decompressing the selected packaged program video;
decompressing the selected packaged program audio;
generating the overlay menu;
combining the decompressed video and the overlay menu in a combiner;
displaying the combined video and the overlay menu.

Description

TECHNICAL FIELD

The invention relates to television entertainment systems for providing television programming to consumer homes. More particularly, the invention relates to a set top terminal for use with a program delivery system with menu selection of programs.

BACKGROUND OF THE INVENTION

Advances in television entertainment have been primarily driven by breakthroughs in technology. In 1939, advances on Vladmir Zworykin's picture tube provided the stimulus for NBC to begin its first regular broadcasts. In 1975, advances in satellite technology provided consumers with increased programming to homes.

Many of these technology breakthroughs have produced inconvenient systems for consumers. One example is the ubiquitous three remote control home, having a separate and unique remote control for the TV, cable box and VCR. More recently, technology has provided cable users in certain parts of the country with 100 channels of programming. This increased program capacity is beyond the ability of many consumers to use effectively. No method of managing the program choices has been provided to consumers.

Consumers are demanding that future advances in television entertainment, particularly programs and program choices, be presented to the consumer in a user friendly manner. Consumer preferences, instead of technological breakthroughs, will drive the television entertainment market for at least the next 20 years. As computer vendors have experienced a switch from marketing new technology in computer hardware to marketing better useability, interfaces and service, the television entertainment industry will also experience a switch from new technology driving the market to consumer useability driving the market.

Consumers want products incorporating new technology that are useful, and will no longer purchase new technology for the sake of novelty or status. Technological advances in sophisticated hardware are beginning to surpass the capability of the average consumer to use the new technology. Careful engineering must be done to make entertainment products incorporating new technology useful and desired by consumers.

In order for new television entertainment products to be successful, the products must satisfy consumer demands. TV consumers wish to go from limited viewing choices to a variety of choices, from no control of programming to complete control. Consumers wish to advance from cumbersome and inconvenient television to easy and convenient television and keep costs down. Consumers do not wish to pay for one hundred channels when due to lack of programming information, they seldom, if ever, watch programming on many of these channels.

The concepts of interactive television, high definition television and 300 channel cable systems in consumer homes will not sell if they are not packaged, delivered and presented in a useable fashion to consumers. The problem is that TV programming is not being delivered and presented to consumers in a user friendly manner.

Consumers are already being bombarded with programming options, numerous "free" cable channels, subscription cable channels and pay-per-view choices. Any further increase in TV entertainment choices, without a user friendly presentation and approach, will likely bewilder viewers with a mind-numbing array of choices.

The TV industry has traditionally marketed and sold its programs to consumers in bulk, such as continuous feed broadcast and long-term subscriptions to movie channels. The TV industry has been unable to sell its programming in large quantities on a per unit basis, such as the ordering of one program. Consumers prefer a unit sales approach because it keeps costs down and allows the consumer to be more selective in their viewing.

In addition, viewership fragmentation, which has already begun, will increase. Programming not presented in a user friendly manner will suffer with a decrease in viewership and revenue.

What is needed is a system which can deliver and present television programming through a user friendly interface which allows the consumer to easily select from among the many program choices.

What is needed is a set top converter that provides a user friendly interface for subscribers to access television programs.

What is needed is a set top converter that allows users to easily navigate through hundreds of programming choices using on-screen menus.

What is needed is a set top converter that allow subscribers to select a program from among hundreds of choices without a television viewing guide.

What is needed is a method that allows efficient access to hundreds of television programming options.

What is needed is hardware that provides an upgrade capability allowing the use of existing set top converter technology in advanced program delivery systems.

What is needed is technology that upgrades the functionality of existing set top converters.

What is needed is a set top converter that provides an upstream communications capability between the set top converter and cable headend.

What is needed is a set top converter that provides a capability of generating menus for display.

What is needed is a set top converter that provides a simple way to select a program from a menu.

What is needed is a set top converter that provides pay-per-view type program access in the same system as specialty channel and broadcast television access.

What is needed is a set top converter that allows users to subscribe on-screen to specialty channels.

What is needed is a set top converter that monitors subscriber viewing choices for statistical purposes.

What is needed is a set top converter that provides on-screen billing information to subscribers.

What is needed is a set top converter that provides sophisticated on-screen television menus which can incorporate still video or moving video.

What is needed is a set top converter that provides a capability of scaling and redirecting video for menus.

What is needed is a set top converter that provides a capability of using a program signal with a split screen video for menus. The present invention is addressed to fulfill these needs.

SUMMARY OF INVENTION

The present invention is a set top converter box or terminal for a television program delivery system. More specifically, the present invention is an advanced set top converter box that acts as a terminal in the viewer home. The set top terminal is a key component of a digital cable television delivery system. The set top terminal provides for menu generation and menu selection of television programming.

The set top terminal is the portion of the program delivery system that resides in the home of a subscriber. The set top terminal has input and output ports that enable it to communicate with other local and remote devices. In the preferred embodiment, the set top terminal has an input port that is capable of receiving information from a cable headend. In addition, the unit has at least two output ports which provide communications from the set top terminal to a television, VCR or other electronic component in the viewer home. Also, the set top terminal contains a phone jack which can be used for maintenance, trouble shooting, reprogramming and additional customer features. The set top terminal may contain stereo/audio output terminals and a satellite dish input port.

Functionally, the set top terminal is the last component in the delivery system chain. In the preferred embodiment, the set top terminal receives compressed program and control signals from the cable headend (or, in some cases, directly from the operations center). After the set top terminal receives the individually compressed program and control signals, the signals are demultiplexed, decompressed, converted to analog signals (if necessary) and either placed in local storage (from which the menu template may be created), executed immediately, or sent directly to the television screen.

After processing certain signals received from the cable headend, the set top terminal is able to store an array of menu templates for creating menus that are displayed on a subscriber's television. Menu templates are created and sent to the set top terminal for storage. A microprocessor uses the control signals received from the operations center or cable headend to generate the menu templates for storage. Each menu template is stored in volatile memory in the set top terminal. When the set top terminal receives template information it may demultiplex the program control signals received from the cable headend into three primary parts: video, graphics and text. Each menu template represents a different portion of a whole menu, such as a menu background, television logo, cursor highlight overlay, or other miscellaneous components needed to build a menu. The menu templates may be deleted or altered using control signals received from the operations center or cable headend.

Once the menu templates have been stored in memory, the set top terminal can generate the appropriate menus. In the preferred embodiment, the basic menu format information is stored in memory located within the set top terminal so that the microprocessor may locally access the information from the set top terminal instead of from an incoming signal. The microprocessor next generates the appropriate menus from the menu templates and the other menu information stored in memory. The set top terminal then displays specific menus on the subscriber's television screen that correspond to the inputs the subscriber selects. If the subscriber selects a specific program from a menu, the set top terminal determines on which channel the program is being shown, demultiplexes and extracts the single channel transmitted from the cable headend.

In addition to menu information, the set top terminal may also store text transmitted from the cable headend or the operations center. The text may inform the subscriber about upcoming events, billing and account status, new subscriptions, or other relevant information. The text will be stored in an appropriate memory location depending on the frequency and the duration of the use of the textual message. The set top terminal can also support on-line data base services, interactive multi-media services, access to digital radio channels, and other services.

In the simplest embodiment, available converter boxes such as those manufactured by General Instruments or Scientific Atlanta, may be modified and upgraded to perform the functions of a set top terminal. The preferred upgrade is a circuit card with a microprocessor which is electronically connected to the converter box.

It is an object of the invention to provide a user friendly interface for subscribers to access television programs.

It is an object of the invention to allow users to easily navigate through hundreds of programming choices using on-screen menus.

It is an object of this invention to allow subscribers to select a program from among hundreds of choices without a television viewing guide.

It is an object of this invention to efficiently access hundreds of television programming options.

It is an object of this invention to provide an upgrade capability allowing the use of existing set top converter technology in an advanced program delivery system.

It is an object of this invention to upgrade the functionality of existing set top converters.

It is an object of this invention to provide an upstream communications capability between the set top converter and cable headend.

It is an object of this invention to provide a set top terminal capable of generating menus for display.

It is an object of this invention to provide a way to select a program from a menu with the push of one button.

It is an object of this invention to provide pay-per-view type program access in the same system as specialty channel and broadcast television access.

It is an object of this invention to allow users to subscribe on-screen to specialty channels.

It is an object of this invention to monitor subscriber viewing choices for statistical purposes.

It is an object of this invention to provide on-screen billing information to subscribers.

It is an object of this invention to provide sophisticated on-screen television menus which can incorporate still video or moving video.

It is an object of this invention to provide a set top terminal capable of scaling and redirecting video for menus.

It is an object of this invention to provide a set top terminal capable of using a program signal with a split screen video for menus.

These and other objects and advantages of the invention will become obvious to those skilled in the art upon review of the following description, the attached drawings and appended claims.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of the primary components of the television delivery system.

FIG. 2 is an overview of the television delivery system operations.

FIG. 3 is a schematic of the operation of the primary components of the system.

FIG. 4a is a drawing of a frame format for a program control information signal.

FIG. 4b is a drawing of a frame format for a polling response from the set top terminal.

FIG. 5a is a block diagram of the internals of a set top terminal.

FIG. 5b is a block diagram of an alternative embodiment of the internals of a set top terminal.

FIG. 6a is a perspective front view of a set top terminal.

FIG. 6b is a perspective rear view of a set top terminal.

FIG. 7 is a schematic of the basic components of the Turbo Card.

FIG. 8 shows the basic structure of the program menu system of the present invention.

FIG. 9a is a drawing of the basic menus used in the present invention, including the ten major menus represented by icons.

FIG. 9b is a drawing of additional menus used in a preferred embodiment (in addition to FIG. 9a).

FIG. 10 is a drawing of a flow chart showing the steps required for the microprocessor to sequence program menus.

FIGS. 11a, 11b and 11c depict an alternative approach to the sequencing of menus.

FIGS. 12a-12h depict the program flow of a Turbo card upgrade for an existing set top converter box.

FIG. 13 depicts an introductory menu.

FIG. 14 depicts a home menu display screen.

FIG. 15 depicts an alternative home menu screen.

FIG. 16 depicts a major menu for the hit movies category.

FIG. 17 depicts a hit movie description menu.

FIGS. 18 depicts a hit movie confirmation submenu.

FIGS. 19 depicts a hit movie notification submenu.

FIG. 20a is a drawing of a hit movie escape during program menu.

FIG. 20b is a drawing of a hit movie during program hidden menu.

FIG. 20c is a drawing of a hit movie re-entry menu.

FIG. 21 is a drawing of a movie library major menu.

FIGS. 22a-22e depict a typical menu sequence of the present invention.

FIGS. 23 and 24 depict a specialty channel major menu and a related submenu.

FIG. 25 is a drawing of a magazine channel major menu.

FIG. 26 is a drawing of a documentary/news subcategory menu.

FIG. 27a is a drawing of storage for on-screen menu templates stored in graphics memory of the set top terminal.

FIG. 27b is a drawing showing the hierarchical storage of text for the set top terminal.

FIG. 27c is a drawing of a flow chart showing the steps required for the microprocessor to retrieve, combine and display a menu.

FIGS. 28a-g and 29a-g show how menus are generated by the set top terminal.

FIG. 30 depicts a split-screen technique for use with the present invention .

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

A. Television Program Delivery System Description

1. Introduction

FIG. 1 shows the present invention as part of an expanded cable television program delivery system 200 that dramatically increases programming capacity using compressed transmission of television program signals. Developments in digital bandwidth compression technology now allow much greater throughput of television program signals over existing or slightly modified transmission media. The program delivery system 200 shown provides subscribers with a user friendly interface to operate and exploit a six-fold or more increase in current program delivery capability.

Subscribers are able to access an expanded television program package and view selected programs through a menu-driven access scheme that allows each subscriber to select individual programs by sequencing a series of menus. The menus are sequenced by the subscriber using simple alpha-numeric and iconic character access or moving a cursor or highlight bar on the TV screen to access desired programs by simply pressing a single button, rather than recalling from memory and pressing the actual two or more digit numeric number assigned to a selection. Thus, with the press of a single button, the subscriber can advance from one menu to the next. In this fashion, the subscriber can sequence the menus and select a program from any given menu. The programs are grouped by category so that similar program offerings are found on the same menu.

2. Major System Components

In its most basic form, the system uses a program delivery system 200 in conjunction with a conventional concatenated cable television system 210. The program delivery system 200 generally includes (i) at least one operations center 202, where program packaging and control information are created and then assembled in the form of digital data, (ii) a digital compression system, where the digital data is compressed, combined/multiplexed, encoded, and mapped into digital signals for satellite transmission to the cable headend 208, and (iii) a set of in-home decompressors. The program delivery system 200 transports the digital signals to the cable headend 208 where the signals are transmitted through a concatenated cable television system
210. Within the cable headend 208, the received signals may be decoded, demultiplexed, managed by a local central distribution and switching mechanism, combined and then transmitted to the set top terminal 220 located in each subscriber's home over the cable system 210. Although concatenated cable systems 210 are the most prevalent transmission media to the home, telephone lines, cellular networks, fiberoptics, Personal Communication Networks and similar technology for transmitting to the home can be used interchangeably with this program delivery system 200.

As shown in FIGS. 1 and 2, the delivery system 200 has a reception region 207 with an in-home decompression capability. This capability is performed by a decompressor housed within a set top terminal 220 in each subscriber's home. The decompressor remains transparent from the subscriber's point of view and allows any of the compressed signals to be demultiplexed and individually extracted from the composite data stream and then individually decompressed upon selection by the subscriber. The decompressed video signals are converted into analog signals for television display. Such analog signals include NTSC formatted signals for use by a standard television. Control signals are likewise extracted and decompressed and then either executed immediately or placed in local storage such as a RAM. Multiple sets of decompression hardware may be used to decompress video and control signals. The set top terminal 220 may then overlay or combine different signals to form the desired display on the subscriber's television. Graphics on video or picture-on-picture are examples of such a display.

Although a single digital compression standard (e.g., MPEG) may be used for both the program delivery system 200 and the concatenated cable system 210, the compression technique used may differ between the two systems. When the compression standards differ between the two media, the signals received by the cable headend 208 must be decompressed before transmission from the headend 208 to the set top terminals 220. Subsequently, the cable headend 208 must recompress and transmit the signals to the set top terminal 220, which would then decompress the signals using a specific decompression algorithm.

The video signals and program control signals received by the set top terminal 220 correspond to specific television programs and menu selections that each subscriber may access through a subscriber interface. As shown in FIG. 1 and 2, the subscriber interface is a device with buttons located on the set top terminal 220 or on a portable remote control 900. In the preferred system embodiment, the subscriber interface is a combined alpha-character, numeric and iconic remote control device
900, which provides direct or menu-driven program access. The preferred subscriber interface also contains cursor movement and go buttons as well as alpha, numeric and iconic buttons. This subscriber interface and menu arrangement enables the subscriber to sequence through menus by choosing from among several menu options that are displayed on the television screen. In addition, a user may bypass several menu screens and immediately choose a program by selecting the appropriate alpha-character, numeric or iconic combinations on the subscriber interface. In the preferred embodiment, the set top terminal 220 generates the menus that are displayed on the television by creating arrays of particular menu templates, and the set top terminal 220 displays a specific menu or submenu option for each available video signal.

3. Operations Center and Digital Compression System

The operations center 202 performs two primary services, packaging television programs and generating the program control information signal. At the operations center 202, television programs are received from external program sources in both analog and digital form. FIG. 2 shows an embodiment of the operations center receiving signals from various external sources 212. Examples of the external program sources are sporting events, children's programs, specialty channels, news or any other program source that can provide audio or visual signals. Once the programs are received from the external program sources, the operations center 202 digitizes (and preferably compresses) any program signals received in analog form. The operations center 202 may also maintain an internal storage of programs. The internally stored programs may be in analog or digital form and stored on permanent or volatile memory sources, including magnetic tape or RAM. Subsequent to receiving programming, the operations center 202 packages the programs into the groups and categories which provide the optimal marketing of the programs to subscribers. For example, the operations center 202 may package the same programs into different categories and menus for weekday, prime-time viewing and Saturday afternoon viewing. Also, the operations center 202 packages the television programs in a manner that enables both the various menus to easily represent the programs and the subscribers to easily access the programs through the menus.

The packaging of the digital signals is typically performed at the operations center 202 by computer assisted packaging equipment (CAP). The CAP system normally includes at least one computer monitor, keyboard, mouse, and standard video editing equipment. A programmer packages the signals by entering certain information into the CAP. This information includes the date, time slot, and program category of the various programs. The programmer and the CAP utilize demographic data and ratings in performing the packaging tasks. After the programmer selects the various programs from a pool of available programs and inputs the requisite information, the programmer, with assistance from the CAP, can select the price and allocate transponder space for the various programs. After the process is complete, the CAP displays draft menus or program schedules that correspond to the entries of the programmer. The CAP may also graphically display allocation of transponder space. The programmer may edit the menus and transponder allocation several times until satisfied with the programming schedule. During the editing, the programmer may direct the exact location of any program name on a menu with simple commands to the CAP.

The packaging process also accounts for any groupings by satellite transponder which are necessary. The operations center 202 may send different groups of programs to different cable headends 208 and/or set top terminals 220 (FIG. 1). One way the operations center 202 may accomplish this task is to send different program packages to each transponder. Each transponder, or set of transponders, then relays a specific program package to specific cable headends 208 and/or set top terminals 220. The allocation of transponder space is an important task performed by the operations center 202.

The operations center 202 may also "insert" directions for filling local available program time in the packaged signal to enable local cable and television companies to fill the program time with local advertising and/or local programming. Consequently, the local cable headends 208 are not constrained to show only programs transmitted from the operations center 202. New set top converters will incorporate both digital and analog channels. Therefore, the cable headend 208 may combine analog signals with the digital signals prior to transmitting the program signals to the set top terminals 220.

After the CAP packages the programs, it creates a program control information signal to be delivered with the program package to the cable headend 208 and/or set top terminal 220. The program control information signal contains a description of the contents of the program package, commands to be sent to the cable headend 208 and/or set top terminal 220, and other information relevant to the signal transmission.

In addition to packaging the signal, the operations center 202 employs digital compression techniques to increase existing satellite transponder capacity by at least a 4:1 ratio, resulting in a four-fold increase in program delivery capability. A number of digital compression algorithms currently exist which can achieve the resultant increase in capacity and improved signal quality desired for the system. The algorithms generally use one or more of three basic digital compression techniques: (1) within-frame (intraframe) compression, (2) frame-to-frame (interframe) compression, and (3) within carrier compression. Specifically, in the preferred embodiment, the MPEG 2 compression method is used. After digital compression, the signals are combined (multiplexed) and encoded. The combined signal is subsequently transmitted to various uplink sites 204.

There may be a single uplink site 204 or multiple uplink sites (represented by 204', shown in phantom in FIG. 1) for each operation center 202. The uplink sites 204 may either be located in the same geographical place or may be located remotely from the operations center 202. Once the composite signal is transmitted to the uplink sites 204, the signal may be multiplexed with other signals, modulated, upconverted and amplified for transmission over satellite. Multiple cable headends 208 may receive such transmissions.

In addition to multiple uplinks, the delivery system 200 may also contain multiple operations centers. The preferred method for using multiple operations centers is to designate one of the operations centers as a master operations center and to designate the remaining operations centers as slave operations centers. In this configuration, the master operations center coordinates various functions among the slave operations centers such as synchronization of simultaneous transmissions and distributes the operations workload efficiently.

4. Cable Headend

After the operations center 202 has compressed and encoded the program signals and transmitted the signals to the satellite, the cable headend 208 receives and further processes the signals before they are relayed to each set top terminal 220. Each cable headend site is generally equipped with multiple satellite receiver dishes. Each dish is capable of handling multiple transponder signals from a single satellite and sometimes from multiple satellites.

As an intermediary between the set top terminals 220 and the operations center 202 (or other remote site), the cable headend 208 performs two primary functions. First, the cable headend 208 acts as a distribution center, or signal processor, by relaying the program signal to the set top terminal 220 in each subscriber's home. In addition, the cable headend 208 acts as a network controller 214 by receiving information from each set top terminal 220 and passing such information on to an information gathering site such as the operations center 202.

FIG. 3 shows an embodiment where the cable headend 208 and the subscriber's home are linked by certain communications media 216. In this particular embodiment, analog signals, digitally compressed signals, other digital signals and up-stream/interactivity signals are sent and received over the media 216. The cable headend 208 provides such signaling capabilities in its dual roles as a signal processor 209 and network controller 214.

As a signal processor 209, the cable headend 208 prepares the program signals that are received by the cable headend 208 for transmission to each set top terminal 220. In the preferred system, the signal processor 209 re-routes or demultiplexes and recombines the signals and digital information received from the operations center 202 and allocates different portions of the signal to different frequency ranges. Cable headends 208 which offer different subscribers different program offerings may allocate the program signals from the operations center 202 in various manners to accommodate different viewers. The signal processor 209 may also incorporate local programming and/or local advertisements into the program signal and forward the revised signal to the set top terminals 220. To accommodate this local programming availability, the signal processor 209 must combine the local signal in digital or analog form with the operations center program signals. If the local cable system uses a compression standard that is different than the one used by the operations center 202, the signal processor 209 must also decompress and recompress incoming signals so they may be properly formatted for transmission to the set top terminals 220. This process becomes less important as standards develop (i.e., MPEG 2). In addition, the signal processor 209 performs any necessary signal decryption and/or encryption.

As a network controller 214, the cable headend 208 performs the system control functions for the system. The primary function of the network controller 214 is to manage the configuration of the set top terminals 220 and process signals received from the set top terminals 220 (as shown in FIG. 1). In the preferred embodiment, the network controller 214 monitors, among other things, automatic poll-back responses from the set top terminals 220 remotely located at each subscriber's home. The polling and automatic report-back cycle occurs frequently enough to allow the network controller 214 to maintain accurate account and billing information as well as monitor authorized channel access. In the simplest embodiment, information to be sent to the network controller 214 will be stored in RAM within each subscriber's set top terminal 220 and will be retrieved only upon polling by the network controller 214. Retrieval may, for example, occur on a daily, weekly or monthly basis. The network controller 214 allows the system to maintain complete information on all programs watched using a particular set top terminal 220.

The network controller 214 is also able to respond to the immediate needs of a set top terminal 220 by modifying a program control information signal received from the operations center 202. Therefore, the network controller 214 enables the delivery system to adapt to the specific requirements of individual set top terminals 220 when the requirements cannot be provided to the operations center 202 in advance. In other words, the network controller 214 is able to perform "on the fly programming" changes. With this capability, the network controller 214 can handle sophisticated local programming needs such as, for example, interactive television services, split screen video, and selection of different foreign languages for the same video. In addition, the network controller 214 controls and monitors all compressors and decompressors in the system.

The delivery system 200 and digital compression of the preferred embodiment provides a one-way path from the operations center 202 to the cable headend 208. Status and billing information is sent from the set top terminal 220 to the network controller 214 at the cable headend 208 and not directly to the operations center 202. Thus, referring to FIG. 3 program monitoring and selection control will take place only at the cable headend 208 by the local cable company and its decentralized network controllers 214 (i.e., decentralized relative to the operations center 202, which is central to the program delivery system 200). The local cable company will in turn be in communication with the operations center 202 or a regional control center (not shown) which accumulates return data from the set top terminal 220 for statistical or billing purposes. In alternative system embodiments, the operations center 202 and the statistical and billing sites are collocated. Further, telephone lines with modems are used to transfer information from the set top terminal 220 to the statistical and billing sites.

5. Set Top Terminal

The set top terminal 220 is the portion of the delivery system 200 that resides in the home of a subscriber. The set top terminal 220 (shows in FIGS. 6a and 6b) is usually located above or below the subscriber's television, but it may be placed anywhere in or near the subscriber's home as long as it is within the range of the subscriber's remote control device 900 (FIG. 3). In some aspects, the set top terminal 220 may resemble converter boxes already used by many cable systems. For instance, each set top terminal 220 may include a variety of error detection, decryption, and coding techniques such as anti-taping encoding. However, it will become apparent from the discussion below that the set top terminal 220 is able to perform many functions that an ordinary converter box cannot perform.

The set top terminal 220 has a plurality of input and output ports to enable it to communicate with other local and remote devices. The set top terminal 220 has an input port that receives information from the cable headend 208. In addition, the unit has at least two output ports which provide communications from the set top terminal 220 to a television and a VCR. Certain menu selections may cause the set top terminal 220 to send control signals directly to the VCR to automatically program or operate the VCR. Also, the set top terminal 220 contains a phone jack which can be used for maintenance, trouble shooting, reprogramming and additional customer features. The set top terminal 220 may also contain stereo/audio output terminals and a satellite dish input port.

Functionally, the set top terminal 220 is the last component in the delivery system chain. The set top terminal 220 receives compressed program and control signals from the cable headend 208 (or, in some cases, directly from the operations center 202). After the set top terminal 220 receives the individually compressed program and control signals, the signals are demultiplexed, decompressed, converted to analog signals (if necessary) and either placed in local storage (from which the menu template may be created), executed immediately, or sent directly to the television screen.

Referring to FIGS. 27a, 27b and 27c, after processing certain signals received from the cable headend 208, the set top terminal 220 is able to store menu templates for creating menus that are displayed on a subscriber's television by using an array of menu templates. Before a menu can be constructed, menu templates must be created and sent to the set top terminal 220 for storage. A microprocessor uses the control signals received from the operations center 202 or cable headend 208 to generate the menu templates for storage. Each menu template may be stored in volatile memory in the set top terminal 220. When the set top terminal receives template information it demultiplexes the program control signals received from the cable headend 208 into four primary parts: video, graphics, program logic and text. Each menu template represents a different portion of a whole menu, such as a menu background, television logo, cursor highlight overlay, or other miscellaneous components needed to build a menu. The menu templates may be deleted or altered using control signals received from the operations center 202 or cable headend 208.

Once the menu templates have been stored in memory, the set top terminal 220 can generate the appropriate menus. In the preferred embodiment, the basic menu format information is stored in memory located within the set top terminal 220 so that the microprocessor may locally access the information from the set top terminal instead of from an incoming signal. The microprocessor next generates the appropriate menus from the menu templates and the other menu information stored in memory. The set top terminal 220 then displays specific menus on the subscriber's television screen that correspond to the inputs the subscriber selects.

If the subscriber selects a specific program from a menu, the set top terminal 220 determines on which channel the program is being shown, demultiplexes and extracts the single channel transmitted from the cable headend 208. The set top terminal
220 then decompresses the channel and, if necessary, converts the program signal to an analog NTSC signal to enable the subscriber to view the selected program. The set top terminal 220 can be equipped to decompress more than one program signal, but this would unnecessarily add to the cost of the unit since a subscriber will generally only view one program at a time. However, two or three decompressors may be desirable to provide picture-on-picture capability, control signal decompression, enhanced channel switching or like features.

In addition to menu information, the set top terminal 220 may also store text transmitted from the cable headend 208 or the operations center 202. The text may inform the subscriber about upcoming events, billing and account status, new subscriptions, or other relevant information. The text will be stored in an appropriate memory location depending on the frequency and the duration of the use of the textual message.

Also, optional upgrades are available to enhance the performance of a subscriber's set top terminal 220. These upgrades may consist of a cartridge or computer card (not shown) that is inserted into an expansion slot in the set top terminal 220
or may consist of a feature offered by the cable headend 208 or operations center 202 to which the user may subscribe. Available upgrades may include on line data base services, interactive multi-media services, access to digital radio channels, and other services.

In the simplest embodiment, available converter boxes such as those manufactured by General Instruments or Scientific Atlanta, may be modified and upgraded to perform the functions of a set top terminal 220. The preferred upgrade is a circuit card with a microprocessor which is electronically connected to or inserted into the converter box.

6. Remote Control Device

The primary conduit for communication between the subscriber and the set top terminal 220 is through the subscriber interface, preferably a remote control device 900. Through this interface, the subscriber may select desired programming through the system's menu-driven scheme or by directly accessing a specific channel by entering the actual channel number. Using the interface, the subscriber can navigate through a series of informative program selection menus. By using menu-driven, iconic or alpha-character access, the subscriber can access desired programs by simply pressing a single button rather than recalling from memory and pressing the actual channel number to make a selection. The subscriber can access regular broadcast and basic cable television stations by using either the numeric keys on the remote control 900 (pressing the corresponding channel number), or one of the menu icon selection options.

In addition to enabling the subscriber to easily interact with the cable system 200, the physical characteristics of the subscriber interface 900 should also add to the user friendliness of the system. The remote control 900 should easily fit in the palm of the user's hand. The buttons of the preferred remote control 900 contain pictorial symbols that are easily identifiable by the subscriber. Also, buttons that perform similar functions may be color coordinated and consist of distinguishing textures to increase the user friendliness of the system.

7. Menu-Driven Program Selection

The menu-driven scheme provides the subscriber with one-step access to all major menus, ranging from hit movies to sport specials to specialty programs. From any of the major menus, the subscriber can in turn access submenus and minor menus by cursor or alpha-character access (as shown in FIGS. 8-10).

There are two different types of menus utilized by the preferred embodiment, the Program Selection menus and the During Program menus. The first series of menus, Program Selection menus, consists of an Introductory, a Home, Major menus, and Submenus. The second series of menus, During Program menus, consists of two primary types, Hidden menus and the Program Overlay menus.

Immediately after the subscriber turns on the set top terminal 220, the Introductory menu welcomes the subscriber to the system. The Introductory menu may display important announcements from the local cable franchise, advertisements from the cable provider, or other types of messages. In addition, the Introductory menu can inform the subscriber if the cable headend 208 has sent a personal message to the subscriber's particular set top terminal 220.

After the Introductory menu has been displayed the subscriber may advance to the next level of menus, namely the Home menu. In the preferred embodiment, after a certain period of time, the cable system will advance the subscriber by default to the Home menu. From the Home menu, the subscriber is able to access all of the programming options. The subscriber may either select a program directly by entering the appropriate channel number from the remote control 900, or the subscriber may sequence through incremental levels of menu options starting from the Home menu. The Home menu lists categories that correspond to the first level of menus called Major menus,

If the subscriber chooses to sequence through subsequent menus, the subscriber will be forwarded to the Major menu that corresponds to the chosen category from the Home menu. The Major menus further refine a subscriber's search and help guide the subscriber to the selection of his choice.

From the Major menus, the subscriber may access several submenus. From each submenu, the subscriber may access other submenus until the subscriber finds a desired television program. Similar to the Major menu, each successive level of Submenus further refines the subscriber's search. The system also enables the subscriber to skip certain menus or submenus and directly access a specific menu or television program by entering the appropriate commands on the remote control 900.

The During program menus (including Hidden Menus and Program Overlay Menus) are displayed by the set top terminal 220 only after the subscriber has selected a television program. In order to avoid disturbing the subscriber, the set top terminal
220 does not display the Hidden Menus until the subscriber selects the appropriate option to display a Hidden Menu. The Hidden Menus contain options that are relevant to the program selected by the viewer. For example, a Hidden Menu may contain options that enable a subscriber to enter an interactive mode or escape from the selected program.

Program Overlay Menus are similar to Hidden Menus because they occur during a program and are related to the program being viewed. However, the Program Overlay Menus are displayed concurrently with the program selected by the subscriber. Most Program Overlay Menus are small enough on the screen to allow the subscriber to continue viewing the selected program comfortably.

B. Set Top Terminal Description

1. Overview

Preferably, the signal reaches the subscriber's home in a compressed format (e.g., MPEG) and is decompressed prior to viewing. Included in the delivered program signal is information which enables equipment at the subscriber's home to display menus for choosing particular programs. Depending on the particular embodiment, the television program signal may arrive at the subscriber's home through one or more coaxial cables, fiber cables, twisted pairs, cellular telephone connections, satellite or personal communications network (PCN).

FIG. 3 shows the set top terminal 220 receiving the signals from the cable headend 208 and manipulating them for the subscriber. The set top terminal 220 is equipped with local computer memory and the capability of interpreting the digitally compressed signal to produce menus for the subscriber. The remote control 900 communicates the subscriber's selections to the set top terminal 220. The subscriber's selections are generally based upon menus or other prompts displayed on the television screen.

2. Program Control Information Signal

The program control information signal is generated by the operations center 202 and provides the network controller 214 with data on the scheduling and description of programs. In an alternate configuration, this data is sent directly to the set top terminal 220 for display to the subscriber. In the preferred embodiment, the program control information signal is stored and modified by the network controller 214 and sent to the set top terminal 220 in the form of a set top terminal control information stream (STTCIS). The set top terminal 220 integrates either the program control information signal or the STTCIS with data stored in the memory of the set top terminal 220 to generate on-screen menus that assist the subscriber in choosing the programs for display.

Throughout this description the term "program control information" is being used to indicate control information coming from the cable headend 208 to the set top terminal 220, whether it is sent directly from the operations center 202, processed by the network controller 214 and then forwarded to the set top box (STTCIS), or transmitted over telephone lines.

The types of information that can be sent using the program control signal include: number of program categories, names of program categories, the channels assigned to a specific category (such as specialty channels), names of channels, names of programs on each channel, program start times, length of programs, description of programs, menu assignment for each program, pricing, whether there is a sample video clip for advertisement for the program, and any other program, menu or product information.

In this simple embodiment, the program control information, including these menu codes, is sent continuously from the operations center 202 to the network controller 214, and ultimately to the set top terminal 220. For example, four hours worth of programming information can be sent via the program control information signal continuously as shown in Table A.

TABLE A ______________________________________ *Program *Program name length *Menu code *Description *Video ______________________________________ 12 PM 1 Cheers .5 E24 C N 2 Terminator 2.0 A33 Tx S 3 PrimeTime 1.0 D14 N N 4 Football .5 B24 S N Special . . 12:30 PM 1 Simpsons .5 E14 & C13 C S 4 Football 3.0 B13 S N Game . . . ______________________________________

Table A shows the basic programming information that may be sent by the set top terminal 220. The program descriptions shown are coded abbreviations. For example, C for comedy, N for news, S for sports, A for cartoons, and TX for text. If there is a textual description for a program, such as a movie, the description may be given following that program's coded description or may be communicated following the four hours' worth of programming information. As is shown in the coded listing, program descriptions for programs greater than a half hour in length need not be repeated (each half hour). The video description code informs the set top terminal 220 of whether there is still or live video available to advertise the program.

For example, a sporting program may be assigned a code of B35-010194-1600-3.25-Michigan St. vs. USC. The letter B would assign the program to category B, sports. The second alpha-numeric character number 3 would assign the program to the third menu of the sports category. The third character of the code, number 5, assigns the program to the fifth program slot on the third menu. The next six characters, Jan. 1, 1994, represent the date. The following four characters, 1600 represent the start time which is followed by the length of the program and the program name. This entry represents a sports show, a college football game, which will be aired at 4:00PM on New Years day 1994.

In the 12:30 Channel 1 entry of Table A, two menu codes are shown. By allowing two menu codes, programs that may fit under two different category descriptions may be shown in both menus to the subscriber. With this minimal amount of information being communicated to the set top terminal 220 on a regular basis, the terminal is able to determine the proper menu location for each program and the proper time and channel to activate for the subscriber after his menu selection.

Table B shows an example Events Table that may be downloaded to a set top terminal 220 using an Event Data file which contains information about events and pricing. As shown in Table B, the three columns of the Events Table identify the field number, the field itself and the type of information downloaded in the Event Data file. The first column contains the field numbers 1 through 11. The middle column contains the corresponding field parameters, including the event type, event ID, global channel ID, price, start time, end time, start date, end date, P- icon, name and description. The third column contains corresponding field type information. Field type information typically consists of an unsigned integer; hours, minutes and seconds; months, day and year; and ASCII character identifier.

TABLE B ______________________________________ Field # Field Type ______________________________________ 1 Event Type Unsigned Int 1 = YCTV 2 = Pay-Per-View 3 = Reg. TV 2 Event ID Unsigned Int 3 Global Channel ID Unsigned Int 4 Price (in Cents) Unsigned Int 5 Start Time HH:MM:SS 6 End Time HH:MM:SS 7 Start Date MM/DD/YY 8 End Date MM/DD/YY 9 P-Icon ASCIIZ 10 Name ASCIIZ 11 Description ASCIIZ ______________________________________

Table C shows an example Event Data file. In particular, Table C shows two data streams corresponding to two event types. The first data stream identifies an event in the first field. The second field designates the event ID, which is in this example. The third field includes the global channel ID number two. The fourth field indicates the cost of 50 cents for this event. The fifth and sixth fields indicate the respective start and end times of 3:00 AM to 3:00 PM, respectively. The seventh and eighth fields show the corresponding start and end dates, designated as Aug. 25, 1993 and Aug. 27, 1993, respectively. Field nine indicates the P-icon set to a graphics file. Finally, fields ten and eleven indicate the name and description of the event selected, which in this case is Sesame Street.TM. and Barney.TM.. The second data stream in the Event Data example shown in Table C includes analogous information for Terminator IV.TM., which is designated in field one as a pay-per-view event.

TABLE C ______________________________________ Event Data Example ______________________________________ 1`1234`2`50`03:00:00`15:00:00`08/25/93`08/27/93`pbs.pcx`Sesame Street & Barney's Sesame Street and Barney Abstract
2`1234`2`50`20:00:00`22:00:00`08/25/93`08/25/93`t4.pcx`Terminator 4`Ter- minator 4 Abstract ______________________________________

The program control information signal (and STTCIS) can be formatted in a variety of ways and the on-screen menus can be produced in many different ways. For instance, if the program control information signal carries no menu format information, the menu format for creating the menus can be fixed in ROM at the set top terminal. This method allows the program control information signal to carry less information but has the least flexibility since the menu formats can not be changed without physically swapping the ROM.

In order to limit the amount of bandwidth needed to transmit the program control information signal, various compression techniques employed for non-video may be used such as block coding, contour coding, blob encoding, and run-length encoding. Further, the program control information signal may contain data divided into text and graphics, or video, text and graphics and then recombined at the set top terminal 220 using a text generator, graphics decompressor, and video decompressor as necessary.

Preferably the menu driven program selection system, allows the subscriber to choose a program by touring through a series of menus utilizing the remote control 900 for cursor movement. The final choice in the series of menus will identify one particular channel and one time for activation of that channel. With a channel and activation time, the set top terminal 220 can display the selected program on the television for the viewer. To achieve this goal, a simple embodiment assigns an intelligent alpha-numeric code to each program. This alpha-numeric code identifies the category of the program, the menu in which the program should be displayed, its transmission time(s), and the position on the menu that the program should be displayed.

In the preferred embodiment, the menu format information is stored at the set top terminal 220 in temporary memory either in a RAM, FLASH ROM, EEPROM or EPROM. This configuration provides the desired flexibility in the menu format while still limiting the amount of information needed to be communicated via the program control information signal. New menu format information can be sent via the program control information signal to the set top terminals 220 each time there is a change to a menu.

3. Polling

In addition to the menu format information that is stored in graphics memory 628, the set top terminal 220 also stores data, tracking programs that have been selected for viewing. By gathering this data, the set top terminal 220 can maintain an accurate record of all programs accessed/watched by storing the data in EEPROM or RAM. Subsequently, this data can be transmitted to the cable headend 208, where it can be used in carrying out network control and monitoring functions. Such data transmissions between the set top terminal 220 and cable headend 208 can be accomplished, for example, through upstream transmission over the cable network or over telephone lines through the use of telephone modems. Where upstream transmission over the cable network is used, set top terminals 220 can complete any data transmissions on a scheduled or as-needed basis.

Program access information identifying each program watched by the viewer is stored at each set top terminal 220 until the terminal 220 is polled by the network controller 214 for information retrieval. This information can be accomplished by using a polling request message format 920 as shown in FIG. 4a. This frame format 920 consists of six fields, namely: (1) a leading flag 922 at the beginning of the message, (2) an address field 924, (3) a subscriber region designation 926, (4) a set top terminal identifier 928 that includes a polling command/response (or P/F) bit 930, (5) an information field 932, and (6) a trailing flag 934 at the end of the message.

The eight-bit flag sequence 922 that appears at the beginning and end of a frame is used to establish and maintain synchronization. Such a sequence typically consists of a "01111110" bit-stream. The address field 924 designates a 4-bit address for a given set top terminal 220. The subscriber region designation 926 is a 4-bit field that indicates the geographical region in which the subscriber's set top terminal is housed. The set top terminal identifier 928 is a 16-bit field that uniquely identifies each set top terminal with a 15-bit designation followed by an appended P/F bit 930. Although field size is provided by this example, a variety of sizes can be used with the present invention.

The P/F bit 930 is used to command a polling response from the set top terminal 220 addressed, as described below. The frame format 920 also provides a variable-length information field 932 for other data transmissions, such as information on system updates. The frame format 920 ends with an 8-bit flag (or trailing flag 934) that is identical in format to the leading flag 922, as set forth above. Other frame formats will be apparent to one skilled in the art and can be easily adapted for use with the system.

Using any such polling request message format, the network controller 214 (FIG. 3) interrogates each set top terminal 220. The set top terminals 220 are identified by a unique address and set top terminal identifier. It is preferred that the set top terminal 220 transmits information and messages to the network controller 214 only when given permission by the network controller 214.

Where, for example, specialty programs have been accessed since the previous poll, the set top terminal 220 is given permission to transmit a polling response 920 in the form of a status report that includes any such access information. These status reports generally include information that allows the network controller 214 to track a subscriber's program access history.

FIG. 4b shows an example of frame format 920' for the status reports received from the set top terminals 220 during the polling cycle. This frame format is identical to the polling request message format 920 and is similarly numbered.

The information field 932 remains variable in length so that the status of an indeterminate number of programs, e.g., programs 1-N indicated generally at 929, accessed can be included in the frame. After a polling response 920' by a given set top terminal 220, the control message length increases in proportion to the number of programs accessed.

During transmission, the P/F bit 930 is used to carry out the polling function. In particular, the P/F bit 930 is set to a "1" position to command a polling response from the set top terminal 220 whose address is identified in the frame. The response will include the number of programs accessed and their corresponding event identification numbers as shown at 929 in FIG. 4b. In cases where the set top terminal 220 has not accessed any programs since the previous polling cycle, the set top terminal 220 responds with the P/F bit 930 set to "1" and the programs access block denoting zero programs accessed.

In between polling cycles, the program control information continues to supply the set top terminals with menu information. In the simplest embodiment, the menus remain fixed and only the text changes. Thus, the program control information signal can be limited to primarily text and a text generator can be employed in the set top terminal 220. This simple embodiment keeps the cost of the set top terminal 220 low and limits the bandwidth necessary for the program control information. Another simple embodiment uses a separate channel full-time (large bandwidth) just for the menu information.

4. Sending Promotional Video

As will be described later, live video signals may be used in windows of certain menus. These video signals can be transmitted using the program control information signal or can be taken off channels being transmitted simultaneously with the menu display. If the video signal is taken off a channel, less information needs to be transmitted using the program control information signal. While using this technique requires that separate decompression hardware be used for the program control information and the channel carrying the video, this embodiment allows for the greatest flexibility in the system and is preferred. A separate decompressor also assists in assuring that the switch from menus to television programming is smooth and without any significant time delay. Video for menus, promos or demos may be sent to the set top terminal 220 in several formats, including: (1) on a dedicated channel, (2) on a regular program channel and scaled to size, and (3) along with the program control information signal. However, in the preferred embodiment, a number of short promos or demo video are sent using a split screen technique on a dedicated channel as described later.

5. Set Top Terminal

FIG. 5a shows a basic block diagram of the hardware components of a digital compression set top terminal 220. The set top terminal 220 has a decryptor 600, tuner 603, digital demodulator 606, and demultiplexers 609, 616 as well as audio equipment 612, 614. Also shown in FIG. 5a is a remote control interface 626 for receiving and processing signals from a remote control unit 900. A modem 627 is provided for allowing communication between a microprocessor 602 and the cable headend 208
(but not shown in FIG. 5a). An NTSC encoder 625 provides an NTSC video output.

The microprocessor 602 is capable of executing program instructions stored in memory. These instructions allow a user to access various menus by making selections on the remote control 900. The various program instructions for accessing menus and performing other functions are described below.

The manner in which the video is decompressed and the menus are generated from the program control signal varies depending on the specific embodiment of the invention. However, at a minimum, one video decompressor 618 capable of decompressing one video signal will be used. Basic menu format information may be stored in a graphics memory 628 comprising ROM, non-volatile RAM, EPROM, and/or EEPROM 620. If compressed graphics are used, a second decompressor 622 is used to generate menus. In one embodiment (not shown), a separate decompressor is used to process the program control information signal and a video combiner incorporates video and menu graphic information. The program control information signal may be sent with three primary parts, compressed video for menu display (or video location information), compressed graphics, and text. After the program signal is demultiplexed into its component parts, a video decompressor 618, a graphic decompressor 622, a text generator (shown in FIG. 5b at 623) and a video combiner 624 are used to assist in creating the menus.

FIG. 5b shows a basic block diagram of an alternative digital compression set top terminal 220'. The same components shown in FIG. 5a are repeated in FIG. 5b, and given the same reference numbers (e.g., tuner 603, modem 617, NTSC encoder 625, etc.). FIG. 5b also shows the addition of an expansion card interface 617 to allow additional features to be included on an expansion card (not shown) insertable into the expansion card interface 617. Error correction circuitry 607 is also shown receiving the demodulated signal, prior to demultiplexing the signal. Memory 610 associated with the microprocessor 602, the demultiplexer 609, the decryptor 600, and the video decompressor 618 is shown in FIG. 5b.

The elements of an upgrade module 500, (connected to a basic decompression box 520) are shown (in the dotted box) in FIG. 5b. The circuitry in the upgrade module 500 includes a video, graphics and text demultiplexer 510, a text, graphics, and (video plane) video combiner 515, a graphic decompressor 525 and a graphics memory 530. The graphics stored in memory 530 is preferably run-length compressed. However, other methods of compressing graphics known by those skilled in the art may be used with the present invention.

The generated menus and video are combined in the video combiner 515 and output to an anti-taping encoder 619. Any method of anti-taping encoding known by those skilled in the art may be used with the present invention.

FIGS. 6a and 6b show front and back views respectively for the preferred embodiment of the set top terminal 220. The front panel of the set top terminal 220 includes an infrared sensor 630 and a series of LED displays 640. These LED displays
640 may indicate with an icon or a letter (e.g., A-K) the major menu currently selected by the set top terminal 220 or the channels selected directly by a user, or menu channel selections (e.g., from 1 to 50). This visual display will remain lit while the subscriber is watching (or listening to) programming within a major menu.

LEDs 640 are preferably provided to indicate a decompression error, a processing error, or other error. Text messages may be displayed on LEDs. During the normal functioning of the set top terminal 220, the LED display 640 can be customized by the user to display the time, the program channel, VCR activation or other pertinent information. Further displays may include current channel, time, volume level, sleep time, parental lock (security), account balance, use of a hardware upgrade, second channel being recorded by VCR, use of the Level D music hardware upgrade in a separate room, and any other displays useful to a subscriber to indicate the current status of the set top terminal 220.

The LEDs 640 may also provide an indication of the digital audio channel currently tuned. With this display feature, subscribers may use the digital audio feature without activating the television screen. The signal source and output selected (e.g., a subscriber's separate audio system, a VCR, etc.) may be displayed. Although LEDs are preferred, the set top terminal 220 may also use a CRT, LCDs, or other display technology.

The set top terminal 220 includes a flapped opening 635 on its front that allows the insertion of a magnetic cartridge (or similar portable storage device, including optical disk, ROM, EPROM, etc., not shown). This opening 635 allows the set top terminal 220 to be upgraded or reprogrammed locally with the use of the applicable magnetic or optical storage device.

On the top or cover of the set top terminal 220 are pushbutton controls 645. Preferably these pushbutton controls 645 duplicate the two-part alpha-iconic remote control 900. Any function that can be performed on the remote 900 may also be performed at the set top terminal 220 using the duplicative pushbutton controls 645.

FIG. 6b shows the back of the set top terminal 220 which includes the input/output ports of the terminal 220. The input/output ports include a pair of output terminals 650, a pair of input terminals 652, a pair of stereo/audio output terminals
654, a satellite dish input port 656, a telephone jack 658 and an RS422 port 660. One of the output terminals 650 is for a television and the other is for a VCR. The set top terminal 220 is equipped to handle incoming signals on one or two cables using the input terminal 652. The phone jack 658 and RS-232 or RS-422 port 660 are provided for maintenance, trouble shooting, reprogramming and additional customer features. In alternate embodiments, the telephone jack 658 may be used as the primary mode of communication between the cable headend 208 and the set top terminal 220. This connection is possible through local telephone, cellular telephone or personal communications networks (PCN).

The basic programming of each set top terminal 220 will be located on ROM within the set top terminal 220. Random access memory, the magnetic cartridge capability, and the extension card slot 635 allow upgrades and changes to be easily made to the set top terminal 220.

In the preferred embodiment, the set top terminal 220 includes a hardware upgrade port 662 as shown in FIG. 6b, in addition to expansion card slots 665. Each expansion slot 665 is covered by the metal plate cover 664. The hardware upgrade port
662 accommodates a four-wire (or more) connection for: (1) error corrected, decrypted data output of the set top terminal 220, (2) a control interface, (3) decompressed video output of set top terminal 220, and (4) video input port. In the preferred embodiment, multiple wires are used to perform each of the four functions. Typically, the four sets of wires are combined in a single cable with a single multipin connector.

In the preferred embodiment, multipin connections may be used for multiwire cable. The multipin connection 662 may range from DB9 to DB25. A variety of small computer system interface (SCSI) ports may also be provided. Alternatively, four or more ports may be provided instead of the single port 662 depicted. Port 662 may also be used to attach various hardware upgrades to a set top terminal 220.

The preferred embodiment has five hardware upgrades available for use with a set top terminal 220, including: (1) Level A interactive unit, (2) a Level B interactive unit, (3) Level C interactive unit with compact disc capability, (4) Level D digital radio tuner for separate room use, and (5) Level E information download unit. Each of these upgrades can be connected to the set top terminal 220 unit through the upgrade port 662.

The memory in the set top terminal is used to store the graphical and textual components of menus. Specifically, background, logo, menu display, and cursor graphical files are stored, as well as long term, intermediate, and short term text.

Existing set top converter boxes such as those made by Scientific Atlanta or General Instruments are presently unequipped to handle the menu selection system of the pre