WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Reprogrammable subscriber terminal    
United States Patent5440632   
Link to this pagehttp://www.wikipatents.com/5440632.html
Inventor(s)Bacon; Kinney C. (Lawrenceville, GA); Haman; R. Thomas (Duluth, GA); Lett; David B. (Duluth, GA); Banker; Robert O. (Cumming, GA); Harney; Michael P. (Atlanta, GA)
AbstractA reprogrammable subscriber terminal of a subscription television service which can have the control program code of its control processor modified by downloading new program code from the headend. The control processor stores a boot program in an internal read only memory. Upon start up and resets, the boot program determines whether the control program should be changed from a command sent from the headend. The command, termed a parameters transactions, includes the number of expected download program code transactions required to complete the control code modification, the memory space areas where the code is to be loaded, and the channel over which the download program code transactions are to be transmitted. The channel is tuned and when the boot program receives all the download program code transactions accurately and stores them, the boot program will cause the control program to be restarted at a selected address of the new or modified control program code which has been downloaded. The boot program may download code to different configurations of subscriber terminals including those with Flash EPROM or extended memories from plug-in expansion modules.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5440632
Reprogrammable subscriber terminal - US Patent 5440632 Drawing
Reprogrammable subscriber terminal
Inventor     Bacon; Kinney C. (Lawrenceville, GA); Haman; R. Thomas (Duluth, GA); Lett; David B. (Duluth, GA); Banker; Robert O. (Cumming, GA); Harney; Michael P. (Atlanta, GA)
Owner/Assignee     Scientific-Atlanta, Inc. (Norcross, GA)
Patent assignment
All assignments
Publication Date     August 8, 1995
Application Number     08/220,626
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     March 28, 1994
US Classification    
Int'l Classification    
Examiner     Buczinski; Stephen C.
Assistant Examiner    
Attorney/Law Firm     Jones & Askew
Address
Parent Case     This is a continuation of application Ser. No. 07/983,909, filed Dec. 2, 1992 now abandoned.
Priority Data    
USPTO Field of Search    
Patent Tags     reprogrammable subscriber terminal
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5093921
Bevins, Jr.
725/152
Mar,1992

[0 after 0 votes]
5091936
Katznelson
380/237
Feb,1992

[0 after 0 votes]
4912760
West, Jr.
380/209
Mar,1990

[0 after 0 votes]
4908834
Wiedemer
380/228
Mar,1990

[0 after 0 votes]
4866770
Seth-Smith
380/212
Sep,1989

[0 after 0 votes]
4829569
Seth-Smith
380/234
May,1989

[0 after 0 votes]
4787085
Suto
370/509
Nov,1988

[0 after 0 votes]
4742543
Frederiksen
380/237
May,1988

[0 after 0 votes]
4494142
Mistry
380/241
Jan,1985

[0 after 0 votes]
4475123
Dumbauld
380/211
Oct,1984

[0 after 0 votes]
4430669
Cheung
380/241
Feb,1984

[0 after 0 votes]
4247106
Jeffers
463/29
Jan,1981

[0 after 0 votes]
3789131
Harney
380/241
Jan,1974

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A method of downloading program code to modify the control program of a subscriber terminal of a subscription television system, said method comprising the steps of:

providing a memory in the subscriber terminal;

storing in said memory a boot code program operative for downloading new program code for the control program of the subscriber terminal into said memory from a remote location, said control program operative for controlling predetermined features of the subscriber terminal;

providing over one of a plurality of channels of said subscription television system a download program code parameters transaction to the subscriber terminal, said download program code parameters transaction including information identifying a selected one of said plurality of channels on which said new program code will be transmitted;

activating said boot code program in response to a predetermined condition;

said boot code program operative for tuning the subscriber terminal to said selected one of said plurality of channels; and

storing said new program code in said memory.

2. The method of claim 1, further comprising the step of:

providing a download program code parameters transaction to the subscriber terminal, said download program code parameters transaction including a destination in said memory for said new program code and a selected one of a plurality of channels on which said new program code will be transmitted.

3. The method of claim 2, wherein said new program code is transmitted in a plurality of download program code transactions, and wherein said download program code parameters transactions identifies the number of said plurality of download program code transactions that are to be received by the subscriber terminal.

4. The method of claim 3, wherein said boot code program is operative for receiving download program code transactions and storing said new program code until all of said plurality of download program code transactions are received by the subscriber terminal.

5. The method of claim 2, wherein said download program code parameters transaction is individually addressed to a particular subscriber terminal.

6. The method of claim 2, wherein said download program code parameters transaction is addressed to a group of subscriber terminals.

7. The method of claim 2, wherein said download program code parameters transaction is globally addressed to all of the subscriber terminals in the subscription television system.

8. The method of claim 2, wherein said new program code is globally transmitted.

9. The method of claim 2, wherein said memory comprises a first memory for storing said boot code program and a second memory for storing program code for the subscriber terminal.

10. The method of claim 9, wherein said first memory is internal ROM of the subscriber terminal.

11. The method of claim 9, wherein said second memory is at least one of RAM, EPROM, and FLASH EPROM memory.

12. The method of claim 9, wherein said second memory is FLASH EPROM and is divided into several pages.

13. The method of claim 12, wherein said second memory has an internal portion and an external portion.

14. The method of claim 13, wherein said external portion of said second memory is provided by a plug-in expansion card.

15. The method of claim 1, wherein said predetermined condition comprises initialization of the subscriber terminal.

16. The method of claim 1, wherein said predetermined condition comprises detection of a failed memory checksum test.

17. The method of claim 1, wherein said predetermined features comprise on-screen parameters.

18. The method of claim 1, wherein said predetermined features comprise subscriber interfaces.

19. A reprogrammable subscriber terminal for a subscription television system which provides a plurality of information sources to the terminal, comprising:

means for providing over one of said plurality of information sources a download program code parameters transaction, said download code parameters transaction including information identifying a selected one of said plurality of information sources on which new program code will be transmitted;

a processor for controlling said providing means, said processor including a first memory which stores a boot program and a memory bus defining a memory space larger than said first memory;

a second memory connected to said memory bus which is defined in said memory space for storing said new program code for the control program of said processor, said control program operative for controlling predetermined features of the subscriber terminal; and

said processor under regulation of said boot program operative for causing said providing means to download said new program code from said selected one of said plurality of information sources into said second memory.

20. A reprogrammable subscriber terminal as set forth in claim 19, wherein said selecting means comprises:

means for tuning to a television channel with downloadable information inserted in the vertical blanking interval said television channel.

21. A reprogrammable subscriber terminal as set forth in claim 19 wherein said selecting means comprises:

means for tuning to a television channel with downloadable information inserted on the audio carrier of said television channel.

22. A reprogrammable subscriber terminal as set forth in claim 19 wherein:

said processor is a microprocessor contained on an integrated circuit and said first memory is a read only memory internal to the integrated circuit.

23. A reprogrammable subscriber terminal as set forth in claim 19 wherein:

said second memory is at least one of RAM, EPROM, and FLASH EPROM memory.

24. A reprogrammable subscriber terminal as set forth in claim 19 wherein:

said second memory has at least a portion which is non-volatile.

25. A reprogrammable subscriber terminal as set forth in claim 19 wherein:

said second memory is downloaded with program code which controls said processor.

26. A reprogrammable subscriber terminal as set forth in claim 19 wherein:

said second memory is Flash EPROM and is divided into several pages.

27. A reprogrammable subscriber terminal as set forth in claim 26 wherein:

said second memory has an internal portion and an external portion.

28. A reprogrammable subscriber terminal as set forth in claim 27 wherein:

said external portion of said second memory is provided by plug-in card.

29. The reprogrammable subscriber terminal of claim 19, wherein said boot program is executed in response to a predetermined condition.

30. The reprogrammable subscriber terminal of claim 29, wherein said predetermined condition comprises initialization of the subscriber terminal.

31. The method of claim 29, wherein said predetermined condition comprises detection of a failed memory checksum test.

32. The reprogrammable subscriber terminal of claim 19, wherein said information sources comprise channels in the subscription television system.

33. The method of claim 19, wherein said predetermined features comprise on-screen parameters.

34. The method of claim 19, wherein said predetermined features comprise subscriber interfaces.

35. In a subscription television system having a plurality of channels in which signals are transmitted to subscriber terminals, a method of downloading program code to modify the control program of a subscriber terminal, said method comprising the steps of:

providing in the subscriber terminal a first memory and a second memory;

storing in said first memory a boot code program operative for downloading new program code for the subscriber terminal into said second memory;

activating said boot code program in response to a predetermined condition;

providing over one of said plurality of channels a download program code parameters transaction to the subscriber terminal, said download program code parameters transaction including a destination in said second memory for said new program code and a selected one of said plurality of channels on which said new program code will be transmitted; and

said boot code program operative for receiving said new program code in said selected one of said plurality of channels and storing said new program code in said second memory.

36. The method of claim 35, wherein said new program code is transmitted in a plurality of download program code transactions, and wherein said download program code parameters transactions identifies the number of said plurality of download program code transactions that are to be received by the subscriber terminal.

37. The method of claim 36, wherein said boot code program is operative for receiving download program code transactions and storing said new program code until all of said plurality of download program code transactions are received by the subscriber terminal.

38. The method of claim 35, wherein said download program code parameters transaction is individually addressed to a particular subscriber terminal.

39. The method of claim 35, wherein said download program code parameters transaction is addressed to a group of subscriber terminals.

40. The method of claim 35, wherein said download program code parameters transaction is globally addressed to all of the subscriber terminals in the subscription television system.

41. The method of claim 35, wherein said new program code is globally transmitted.

42. The method of claim 35, wherein said first memory is internal ROM of the subscriber terminal.

43. The method of claim 35, wherein said second memory is at least one of RAM, EPROM, and FLASH EPROM memory.

44. The method of claim 35, wherein said second memory is FLASH EPROM and is divided into several pages.

45. The method of claim 44, wherein said second memory has an internal portion and an external portion.

46. The method of claim 45, wherein said external portion of said second memory is provided by a plug-in expansion card.

47. The method of claim 35, wherein said predetermined condition comprises initialization of the subscriber terminal.

48. The method of claim 35, wherein said predetermined condition comprises detection of a failed memory checksum test.

49. A reprogrammable subscriber terminal for a subscription television system having a plurality of channels in which signals are transmitted to subscriber terminals, said reprogrammable subscriber terminal comprising:

a tuner for tuning to one of a plurality of channels;

a control microprocessor;

a first memory and a second memory; and

a boot code program for said control microprocessor stored in said first memory executed in response to a predetermined condition,

said boot code program operative for:

receiving a download program code parameters transaction over one of said plurality of channels, said download program code parameters transaction including a destination in said second memory for new program code and a selected one of said plurality of channels on which said new program code will be transmitted;

tuning said tuner to said selected one of said plurality of channels identified in said download program code parameters transaction;

receiving said new program code in said selected one of said plurality of channels; and

storing said new program code in said second memory.

50. The reprogrammable subscriber terminal of claim 49, wherein said new program code is transmitted from the head end in a plurality of download program code transactions, and wherein said download program code parameters transactions identifies the number of said plurality of download program code transactions that are to be received by the subscriber terminal.

51. The reprogrammable subscriber terminal of claim 50, wherein said boot code program is operative for receiving download program code transactions and storing said new program code until all of said plurality of download program code transactions are received by the subscriber terminal.

52. The reprogrammable subscriber terminal of claim 50, wherein said download program code parameters transaction is individually addressed to a particular subscriber terminal.

53. The reprogrammable subscriber terminal of claim 49, wherein said download program code parameters transaction is addressed to a group of subscriber terminals.

54. The reprogrammable subscriber terminal of claim 49, wherein said download program code parameters transaction is globally addressed to all of the subscriber terminals in the subscription television system.

55. The reprogrammable subscriber terminal of claim 49, wherein said new program code is globally transmitted.

56. The reprogrammable subscriber terminal of claim 49, wherein said first memory is internal ROM of the subscriber terminal.

57. The reprogrammable subscriber terminal of claim 49, wherein said second memory is at least one of RAM, EPROM, and FLASH EPROM memory.

58. The reprogrammable subscriber terminal of claim 49, wherein said second memory is FLASH EPROM and is divided into several pages.

59. The reprogrammable subscriber terminal of claim 58, wherein said second memory has an internal portion and an external portion.

60. The reprogrammable subscriber terminal of claim 59, wherein said external portion of said second memory is provided by a plug-in expansion card.

61. The reprogrammable subscriber terminal of claim 49, wherein said predetermined condition comprises initialization of the subscriber terminal.

62. The reprogrammable subscriber terminal of claim 49, wherein said predetermined condition comprises detection of a failed memory checksum test.
 Description Submit all comments and votes
 


The invention pertains generally to a subscriber terminal for CATV or other description television systems and is more particularly directed to a method and an apparatus for reprogramming a subscriber terminal.

The subscriber terminal, more commonly known as a set top terminal, is an integral component of subscription television systems. These subscription television systems can be cable television (CATV) systems, SMATV systems, multi-point, multi-distribution (MMDS) systems, or direct-to-home (DTH) systems. The terminals have conventionally provided the functions of tuning particular channels of the subscription television system which are outside the subscriber's television receiver capability. Further, they provide conditional access to the particular subscription service through authorization codes and in many services provide tiering or authorization of particular channels of the service by descrambling.

More recently, the subscriber terminal has become user friendly by providing an interactive, on-screen display and other user functions that allow the subscriber to manipulate the subscription service and his television receiver in additional ways. These features include such things as volume control, pay-per-view event confirmation, favorite channel listings, sleep timer features, parental control capability, messaging, program timers for recording VCR programs, and other consumer friendly operational features.

In addition, some of the features found in newer television receivers can be provided for older receivers by the subscription terminal. For example, channel identifiers, mute and volume control can be accomplished by the subscriber terminal making the subscriber's television receiver appear to be a newer model with these capabilities.

An advantageous example of a subscriber terminal with these advanced consumer features is the 8600 model series of subscriber terminals manufactured by Scientific-Atlanta, Inc. of Norcross, Ga.

Currently, these subscriber terminals are controlled by programmable microcontrollers which have their control programs stored in a read only memory (either integral with the microprocessor or included in a separate integrated circuit) or stored in a separate non-volatile memory such as an EPROM or a battery backed up RAM. With the current programming methods, the control program of the subscriber terminal can only be changed by removing the memory device (or the device incorporating the memory) and replacing it. This method is very inconvenient and expensive for changes which are to be made to subscriber terminals as it means a home visit from the service personnel of the subscription service provider. Subscription television systems may have several hundred thousand subscriber terminals which may need such upgrades.

Therefore, it would be advantageous to be able to reprogram the subscriber terminals of a subscription television service to change on screen parameters, change subscriber interfaces, add new features, and modify the control program from a remote location.

SUMMARY OF INVENTION

The invention provides a method and an apparatus for allowing a subscriber terminal of a subscription television system to be reprogrammed.

The preferred implementation of the subscriber terminal includes a control microprocessor which includes at least a read only memory (ROM) and random access memory (RAM) which is internal to the microprocessor chip. The memory capability of the microprocessor additionally includes several pages of Flash EPROM memory in 64k blocks which can be mounted internally to the subscriber terminal or externally in the form of plug-in modules. The memory space may include other types of memory which can be reprogrammed.

The subscriber terminal further has a multifunction control circuit (MCC) which controls the input of data to the subscriber terminal from the headend of the subscription television system. The MCC controls a plurality of decoders for in-band video data, in-band audio data, and out-of-band data which it buffers in a volatile memory area. The data which the subscriber terminal receives occurs in defined transactions between the headend and the subscriber terminal. Among the multiplicity of transactions between the headend and subscriber terminal are several to download program code parameters and another to download program code from the headend into the memory space of the control microprocessor. This capability provides a means to change the control program of the control microprocessor to either upgrade it, add additional features, disable obsolete features, or to correct the performance of certain routines of the control program.

In the preferred embodiment, the ROM of the control microprocessor is but a small part of the overall memory space of the processor and contains a loader program and, optionally, several kernel routines. This system code, collectively termed the boot program, is the only part of the memory space which is static and cannot be reprogrammed. In an alternative embodiment, the boot program further contains a revision number so that the control microprocessor may be upgraded by replacement and matched with reprogrammed control program code if so desired. The subscriber terminal is adapted to receive a download program code parameters transaction from the headend which describes the new control code which is to be downloaded into the memory space of the subscriber terminal. The boot program then utilizes these parameters to receive a plurality of download program code transactions which contain the program code to be stored.

In the illustrated implementation, the download program code parameters transaction indicates the expected number of download program code transactions that are to be received by the subscriber terminal, the channel of the subscription system (in-band or out-of-band) where the information is to be found, and the memory space into which it should be stored.

The boot program receives a plurality of the download program code transactions, possibly multiple times. Once a download program code transaction is accurately received, the program code will be stored in the memory space reserved for it and the count of expected transactions decremented. When all the transactions for a particular reprogramming operation have been received, the expected transaction count will be zero and thereby indicate that the downloading operation is complete. In this manner, the downloading operation may be accomplished efficiently even if one or several transactions are not received the first time they are transmitted.

In accordance with another aspect of the invention, the download parameters transactions can be individually addressed, group addressed or globally addressed while the actual download program code transactions are globally transmitted. This operation permits a small set of transactions, the program code parameters transactions, to direct the storage of a much larger set of transactions, the program code transaction. This dramatically decreases the time it takes to encode and decode addressed transactions in the system. This provides for further efficiencies in reprogramming only certain subscriber terminals or groups of subscriber terminals.

Moreover, the program code parameters transactions may contain a program code revision identifier in order to provide other selective criteria on which to determine which subscriber terminals are reprogrammed. In this manner, a current program code version may be periodically transmitted from the headend to update all terminals for system revisions and to initially program new terminals as they are added to the subscriber base. The system operator is then assured that the entire subscriber base is operating with the same program and that revising a terminal's software and initially loading the software do not have to be accomplished by different methods.

According to another aspect of the invention, the program code parameters transactions define the memory space destination to which the new program code is to be downloaded. Conveniently, the memory space may be divided into contiguous areas such as a 64k bytes, which physically may be separate integrated circuits. This permits selected memory chips to be downloaded rather than the entire memory space. This aspect is advantageous when particular types of memory chips are used such as Flash EPROM memory which must be entirely erased before being rewritten. With this method, only those memory chips which need to be changed are erased.

The memory space definition may also include a designation concerning whether the program code which is to be downloaded is to be stored in an internal memory, an external memory, or both. The preferred subscriber terminal has an expandable memory space which can be augmented with plug-in modules. By being able to direct the downloaded code to either the internal or external memory, a choice can be made of where to store certain basic control routines as opposed to supplemental features. For example, a core of control routines which provide a basic features set of the subscriber terminal can be stored internally. Other features which are special, or are individually or group directed, can be stored externally. This produces an advantageous subscription television system where all the subscriber terminals have a certain common capability based on a common control program loaded into the internal memory space. If the subscriber or subscriber group does not desire or need any of a special or additional features set, the plug-in modules need not be present and their cost saved.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects, features and aspects of the invention will be more clearly understood and better described if the following detailed description is read in conjunction with the appended drawings wherein:

FIG. 1 is a system block diagram of a subscription television system of the CATV type which includes a multiplicity of subscriber terminals;

FIG. 2 is a detailed block diagram of one of the subscriber terminals of the system illustrated in FIG. 1;

FIGS. 3A-3D are pictorial representations of several download program code parameters transactions which the system uses to request the downloading of new program code to the subscriber terminal illustrated in FIG. 2;

FIG. 4 is a pictorial representation of the download program code transaction which the system uses to download program code which will supplement or replace program code in the memory space of the subscriber terminal illustrated in FIG. 2;

FIG. 5 is a detailed electrical schematic diagram of the memory architecture of the subscriber terminal illustrated in FIG. 2;

FIG. 6 is a detailed memory map of the memory space created by the architecture illustrated in FIG. 5;

FIG. 7 is a pictorial representation of the separation of internal and external memory for the subscriber terminal illustrated in FIG. 2;

FIGS. 8A and 8B are a detailed flow chart of the boot program stored in the internal ROM of the control microprocessor of the subscriber terminal illustrated in FIG. 2;

FIG. 9 is a detailed flow chart of the program code which stores the download program code parameters transactions for the subscriber terminal illustrated in FIG. 2;

FIG. 10 is a detailed flow chart of the program code which the control microprocessor executes in the off mode of the subscriber terminal illustrated in FIG. 2;

FIG. 11A is a perspective front view of the expansion card 138 illustrated in FIG. 2 with its protective door closed;

FIG. 11B is a perspective front view of the expansion card 138 illustrated in FIG. 2, with its protective door open;

FIG. 12 is a perspective pictorial of the subscriber terminal 40 receiving an expansion card 138 in accordance with the invention; and

FIGS. 12A-12C are fragmented side perspective views of the subscriber terminal illustrated in FIG. 12 with a snap on cover protecting the expansion slot of the terminal, with the slot open, and the expansion card inserted in the slot;

FIGS. 13A and 13B are fragmentary side views, shown partially cross-sectioned, of the expansion card partially inserted and fully inserted in the carrier of the subscriber terminal shown in FIG. 12.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

A subscription television system of the CATV type is more fully illustrated in FIG. 1. The subscription television system includes a headend 10 and a plurality of subscriber terminals 40, 44 and 48 which are connected over a distribution system 52. As is conventional, the distribution system 52 may include coaxial or optical fiber cable, system amplifiers, line extenders, etc. The headend 10 is under the supervision of a system manager 12 which controls a hardware controller, headend controller 22. A billing computer 11 communicates with the system manager 12 to authorize and transmit transactions to subscribers.

The television or other programming for the subscription system may come from a satellite downlink where it is decoded and demodulated by satellite receivers 18 into a number of channels. Each channel is either applied to a modulator 24 and 30 or a scrambler and modulator 26 and 28 which, under the control of the headend controller 22, remodulates the channels to the frequencies of the local subscription system channel line up. For a premium or restricted channel service (tiered, pay-per-view, or the like), some channels are scrambled by any of the known CATV methods by the scramblers and modulators 26 and 28, while the other channels can be transmitted without conversion. The program channels are then frequency division multiplexed onto the distribution system 52 by an RF combiner 34 as a broadband television signal. The plurality of channels of programming can then be transmitted over the distribution system 52 and supplied to each of the subscriber terminals 40, 44, and 48.

The scramblers and modulators 26 and 28 further may include the function of data insertion for its particular channel. This method of providing the data within the channel signal is generally termed in-band signaling. The data may be applied to any audio portion, video portion or both audio and video portions in combination, or any other portion of the television channel. Many subscription television systems have amplitude modulated data pulses on the audio subcarrier. Further, in other subscription television systems, data may be inserted into the vertical and/or horizontal blanking intervals of the video portion.

The data which is inserted into the television channel in this manner can be conditional access data to globally or locally address and control the subscriber terminals 40, 44 and 48, on screen text data, or other types of information from the headend controller 22. Other data and information, such as electronic program guides and information services, can be inserted into the channels from a data controller 20. The data controller 20 can receive local data or national data from the satellite downlink through the satellite receiver 18.

In addition, data can be transmitted over the distribution system 52 by out-of-band signaling. In this mode, the system manager 12 accesses an addressable transmitter 32 with transactions to transmit this data. The addressable transmitter 32 may be used to modulate a data signal on a frequency not associated with the television programming The broadband television programming of the cable systems has generally been applied from 50 MHz to 550 MHz and above, while out-of-band signaling systems have been used in non-video portions of these signals, such as at 108.2 MHz with a frequency shift keying modulation technique. These transactions are combined with the broadband television signal at 36 and transmitted to the subscriber terminals 40, 44 and 48.

Transactions in the system are designated as addressed (to a particular subscriber terminal or group of subscriber terminals) and global (to all subscriber terminals). These transactions are in a standardized format which can be sent over any of the communication paths mentioned.

Signaling and data information may also flow in the reverse direction from the subscriber terminals to the headend via a reverse signaling path through the distribution system 52. In one form, the reverse signals are digital biphase shift keying (BPSK) modulated and applied to a frequency below 50 MHz. The signals flow back from the subscriber terminals to an IPPV processor where they are decoded. In addition, any of the subscriber terminals 40, 44 and 48 may include a modem and telephone link 56 to a telephone processor 16 at the headend 10. The information from processors 14 and 16 are directed to the system manager 12, which communicates to the billing computer 11 to obtain authorization and billing information. The reverse signaling system has generally been used for ordering pay-per-view (PPV) or impulse-pay-per-view (IPPV) events. In the future the reverse signal path may be used for any number of additional interactive services.

Referring to FIG. 2, a detailed block diagram of one of the subscriber terminals, for example, the one indicated as 40 of the subscription television system will now be described. The broadband television signal from signal distribution system 52 is received at the input of up/down converter or tuner 100. An out-of-band data receiver 150 is also coupled to the broadband input. Conventionally, the up/down converter 100 may include an input filter, such as a diplexer, to separate the 108.2 MHz out-of-band signal and the broadband television signal. The up/dow converter 100 can be tuned to a predetermined channel for receiving in-band video and audio data when not in use. The channel may be predetermined from the system manager 12 and, by one of the data transmission methods described herein, the predetermined channel identification can be stored in subscriber terminal 40.

When in use, the up/down converter 100 is tuned according to a channel entered by a subscriber via a user interface having an IR receiver 124, remote control 126 and terminal keypad 122. Up/down converter 100 uses a phase locked loop under the control of a tuning control 102 to convert the selected or predetermined default RF channel signal to a 45.75 MHz intermediate frequency signal. A multifunction control circuit (MCC) 104, preferably an application specific integrated circuit (ASIC) combining many subscriber terminal control and data handling functions into a single package, is linked to up/down converter 100 by a bidirectional link to the tuner control 102. The link has one path for tuning and a return link for feedback control of the tuning process. A feedback signal for automatic gain control and one for automatic frequency control are transmitted to the up/down converter 100 through filters 101, 103, respectively from a video demodulator 109.

A filter, such as a SAW filter 106, filters the IF channel signal to split the signal into separate video and audio portions for further processing. The video portion is demodulated and descrambled by the video demodulator 109 under the control of a descrambler control 110 of the MCC 104. The video demodulator 109 performs the sync restoration (descrambling of the video signal) for sync suppression scrambling. The video signal then passes through a band pass filter 130 and to a video inverter 132 where inverse video inversion (descrambling) takes place. The descrambling of the video portion, whether sync suppression, sync inversion, video line inversion, etc. is under the control of the descrambler control 110 of the MCC 104. The descrambler control 110 provides the necessary timing signals, inversion axis levels, and whether the video is inverted or not to the video inverter 132 and supplies the necessary timing, restoration levels and identification of sync pulses to be restored to the demodulator 109. The descrambler control 110 usually receives such descrambling information from pulses as in-band audio data.

In the other path, the audio signal is converted from the 41.25 MHz IF carrier to the intermodulation frequency of 4.5 Hz by a synchronous detector 105. Feedback for automatic gain control of detector 105 is supplied from the output of band pass filter 131. The audio signal may then be demodulated by an FM demodulator 119. An amplitude modulation detector 111 performs pulse detection to recover the in-band audio data which are amplitude modulated onto the audio carrier. The recovered in-band pulses are supplied to an in-band audio data decoder 117 of MCC 104 for processing after being shaped by pulse shaper 115. The in-band data, except for descrambling data, is stored in DRAM 137 for buffering. Descrambler control 104 accesses descrambling data directly for the video descrambling operation. Volume control of the audio signal is performed under the control of a volume control 118 of the MCC 104 and the microprocessor 128 as described in U.S. Pat. No. 5,054,071, incorporated herein by reference. After volume control, the audio signal is passed through a low pass filter 123 and a mute switch 125. The output of the mute switch 125 is applied to a modulator 142.

The MCC 104 receives the video signal after demodulation and descrambling and strips the in-band video data from the VBI of the signal with a VBI decoder 129. The in-band video data is transmitted at a frequency on the order of known teletext systems, such as about 4.0 megabits per second, and a data clock provides an appropriate sampling frequency higher than the Nyquist rate according to well known techniques. The in-band decoder 129 stores the data in DRAM 137 prior to processing by the microprocessor 128, the DRAM 128 serving as a data buffer.

The output of video inversion circuit 132 is also supplied to an on screen display control 127 of the MCC 104. The on screen display control 127 selectively generates on screen character and graphic displays in place of or overlaid on the video signal. The modulator 142 combines the video signal from the output of the on screen display control 127 and the audio signal from the output of the mute circuit 125 and converts the combined signal to the channel frequency selected by the microprocessor 128, such as channel 3/4 for NTSC. The combined and remodulated signal is supplied as an RF output to a television receiver in well known manner.

A control microprocessor 128 controls the overall operation of the subscriber terminal 40. The subscriber communicates to and controls the microprocessor 128 through an interactive user interface with an on screen display. The user interface includes a keyboard 122 on the front panel of the subscriber terminal 40 and the remote 126 which generate subscriber control signals for channel tuning, volume level control, feature selection, and the like. These subscriber control commands are decoded by an input scanner and control 148 of MCC 104. The remote IR receiver 124 of the user interface receives the commands from the infrared (IR) or other remote control 126, as is well known in the art, and provides commands to the microprocessor 128. The user interface additionally includes a 4 digit, 7 segment LED display 120 which displays the tuned channel numbers and diagnostics.

When the keypad 122 or IR remote control 126 is utilized to select a command, the microprocessor 128 operates to execute the command. For example, this operation may be to inst