Method and apparatus for communication of video, audio, teletext, and data to groups of decoders in a communication system4866770Abstract A communication system enabling transmission of individual subscriber teletext messages, audio and video to individual subscribers and permitting group communications of audio, video, teletext and data information from a single central subscriber location, such as a corporate head office to a plurality of satellite offices, such as field or sales offices of the corporation, is disclosed. A composite signal including the information to be transmitted as well as system wide, individual decoder and group decoder control signals is transmitted. The system-wide control signals include data germane to operation of each of the decoders of this system, including key information needed to decode the composite signal. The system-wide control data is transmitted at a first relatively high frequency. The group decoder information includes information permitting individual groups of decoders to receive information portion of the composite signal being transmitted at a given time. In this way, for example, an audio and video signal can be transmitted at a convenient time from a central location to a number of satellite locations. The group decoder control signal can also include signals used by the decoder to cause recording of the signals, e.g., by activating a video cassette recorder or the like. The group control signals also include signals defining service packages to which the individual groups may be assigned. The individual decoder messages include information relevant to the operation of each individual decoder, including further key information needed to decode the composite signal, and group assignment codes. Claims We claim: Description FIELD OF THE INVENTION
______________________________________
TABLE OF CONTENTS
Page
______________________________________
A. System Overview 19
B. The Communications Format Employed
24
1. Overview 24
2. The Horizontal Blanking Interval
26
3. The Vertical Blanking Interval
28
4. Line 1 30
5. Line 2 30
6. Line 3 31
a. The Cryptocycle 31
b. Line 3 Format 32
c. The Distinction between System-
Wide and Individual-Decoder Data
33
d. The System Data Packets
35
(i) Packet A 35
(ii) Packet B 39
(iii) Packet C 41
7. Transmission of Subscriber Messages
42
a. The Addressed Packets
43
b. Teletext Communication
46
c. Line Formats 48
C. The Commercial Decoder 51
1. Overview 51
2. System Uses 53
3. Definitions 55
D. Teletext Message Processing
56
1. Message Origination 56
2. Partition of Decoder Functions
62
E. Use of System Data for Control of
Commercial Decoders 67
1. Description of Commercial
Control Commands 69
2. Command Syntax 73
3. Buffering of Commands 76
a. Double Buffering 77
b. Command Sequences 78
c. Bundles 78
F. Decryption 81
G. Further Advantages 82
______________________________________
A. System Overview FIG. 1 shows in highly schematic form a communication system suitable for achieving some of the objects of the system of the invention, that is, for communication of message to individual subscribers in a subscription television system listed above. At a first transmitter location, indicated generally by the numeral 10, the teletext message sequence is first assembled as indicated at 12. This may include standard items such as templates, that is, data which provides a format to which user-specific information can be added by a decoder to personalize a message; personal messages directed to individual users; billing status updates, that is, billing information generated in response to a telephone call or letter from the subscriber to the broadcaster; and broadcast messages, that is, messages which are out of the ordinary course of business, but which are transmitted to substantially all or a predetermined subcategory of subscribers (for example, that there is some general danger of which all should be aware). At 14, the teletext information from item 12 is assembled together with video information, and in a preferred embodiment of the system of the invention, with multichannel audio. As will be detailed below in connection with FIGS. 3 and 4, six channels of digital audio are provided in the system of the invention. These are transmitted during the horizontal blanking interval and may be provided on a pay-per-listen basis, whereby the broadcaster can generate additional revenue from audio transmission. At 16, the assembled teletext, video and audio signal is encrypted. The signal transmitted includes what are referred to as addressed packets, which among other functions alert an individual subscriber's decoder that a message has been sent to it, and teletext information. The subscriber identification portion of the addressed packet is transmitted in clear text, that is, is not encrypted, so that it can be detected without decryption. The addressed packet further contains certain cipher key information used in decrypting system control data In turn the system control data is required for decryption of encrypted user messages. Thus, a double level of security is provided, as only the individual decoder can even receive the message, and only that decoder can use the system data which it also must receive to decode the individual message, which is subsequently sent. The composite, encrypted signal is transmitted as indicated at 18. It may travel via a satellite 20, by a landline or a combination of both to receiving antenna 22. It is there passed to a decoder 24 which comprises means for detecting the signal, decrypting the encrypted portions of it, completing any messages requiring any subscriber-specific data, such as billing status information and the like, and display of the received messages. Of course, the decoder also permits user selection of the decrypted audio and video information, and includes means for maintaining the billing history information related to a specific user, for restricting access of individuals to the video signal, prevention of impulse purchase of programs by those not authorized to do so, and so on, all as detailed below. The system of the invention is completed by means permitting the user to communicate with the broadcaster. Ordinarily, the user will only need to communicate with the broadcaster sporadically, for example, to request addition of a service, or to pay a bill or the like. Conventional communications facilities such as the telephone system or the mails are suited for this function, as indicated schematically at 8. In this way, no uplink facility at the user's station need be provided FIG. 1A shows the system of the invention as configured for example of transmission of messages from a commercial transmitter to commercial decoders. For example, FIG. 1A shows transmission of signals, which as noted may comprise audio, video, teletext or data, from Customers A, B, and C (300a, 300b and 300c respectively) to end users shown at 314a, b, and c as Customer A--Field Location 32, Customer B--Field Location 6, and Customer A--Field Location 17. Obviously these are exemplary and are merely intended to indicate the nature of the system of the invention. As indicated, data flows from each of the home offices of Customers A, B and C to a central location 302. Also within the scope of the invention are arrangements where several offices of a single customer all share the same transmission facility; alternatively, the central facility 302 can be the property of a firm which merchandises these communication services to the various corporate customers. In either event, the signals received at the central location 302 are typically stored at 304 for later assembly and encoding into the so-called B-MAC composite transmission signal format employed according to the preferred embodiment of the invention. The storage means shown is a tape drive, but obviously other convenient forms of storage can be used. An operator provided with an operator input keyboard and CRT or the like as indicated at 306 controls a suitably programmed computer 308 to assign the various data to various transmission services to be transmitted at particular periods of time. The operator thus defines the groups of decoders which receive the various signals, assigns the groups to receive particular service packages at particular times, and defines the services of each package The computer 308 is also used to create a "database" of past system configurations, to allow rapid changes between reused system configurations. More particularly, according to the present invention, the decoders are each assigned to one or more Groups. The operator operating in conjunction with the computer 308 can revise the assignment of each decoder to a group by sending each decoder a so called "addressed packet" (as described in detail below) indicating group membership. This is done as needed, perhaps on the order of once per month. Thereafter, to define the services to which a particular decoder has access, the operator need merely assign a particular service to a "service package," which is defined as a set of services, and assign each group or set of groups to receive a particular service package. As mentioned, historical records of the assignments of the decoder to the services, and so forth, are maintained so that earlier configurations can be readily recalled for subsequent reuse. For example, suppose the Chairman of the Board of a particular corporation desires to address all the corporate field locations once per month. All decoders will therefore be assigned to a first group. Suppose the sales department wishes to send out a monthly "video memo". All the sales offices would thus be assigned to a second group. If the head of research desired to similarly communicate with all the research departments, they will be assigned to a third group. It will be appreciated that if all the remote offices belong to groups, there need be no separate group to which all the decoders belong. Instead the Chairman of the Board's monthly message can simply be sent to all of the groups. All of this is very readily accomplished by the operator operating the transmitter computer 308, as will be detailed below. After the message from the various network users 300 A, B, and C are received at the central location 302, the signals are transmitted by way of an antenna 310 to a satellite or other transmission medium 312, which may include a landline. The satellite sends the signal along a downlink towards all the decoders 314a, 314b and 314c. It is then decoded and made available to the users as indicated. In the example shown in FIG. 1A, the arrow connecting the receiver 314b with the user is shown broken whereas those for the receiver 314a and c are shown connected to the users. This is because, as indicated by the legends, the receivers 314a and c belong to Customer A's field staff. When a message is sent by Customer A, clearly it is essential that only the decoders of its field offices be able to receive it. Therefore the staff at 314b, belonging as indicated to Customer B, field location 6, should not receive this message. The messages transmitted therefore include repeated indication of the group which is entitled to receive the information. In effect, each of the decoders receives all the information transmitted, but does not permit the users to "see" the signal unless the decoder itself recognizes the message as having been transmitted to a group of which it is a member. As noted, the decoders may be attached to storage devices, as indicated at 320. In the preferred embodiments the control signal sent to the decoders may include a signal activating the storage device, which may simply be a conventional video cassette recorder, to record a subsequent transmission. In this way, for example, a video message can be sent at night, when transmission time is relatively inexpensive, and stored automatically for viewing when convenient the following day. B. The Communications Format Employed 1. Overview FIG. 2 shows the overall transmission format of the system according to the invention. (FIG. 20 shows another view of the overall signal format, including details relevant only in connection with the commercial decoder). As is conventional in television, a number of "frames", typically 30, each comprising a still image are transmitted per second as indicated. Each frame includes two "fields" as also shown. In a preferred embodiment of the invention, the video encoding scheme employed is that referred to generally generally as "B-MAC". This is an acronym for type B format, Multiplexed Analog Component system. "Type B" refers to the fact that data is carried integral to the video signal. See generally Lowry, "B-MAC: An Optimum Format for Satellite Television Transmission," SMPTE Journal, Nov. 1984, pp. 1034-1043, which discusses in detail the B-MAC format and explains why it was chosen over various competing systems. According to the present invention, the vertical blanking interval (VBI) of each field contains certain "system data" necessary for operation of a subscription television system according to the invention, as well as addressed packets and teletext lines used to carry data needed for the operation of individual decoders, for transmission of messages to individual subscribers, and for "commercial" operations, that is, intercompany transmission of video, audio, teletext and data. In the preferred embodiment of the present invention, the vertical blanking intervals of 16 total fields are used for complete transmission of all system data required, which includes an encryption key which is changed every 16 fields, that is, on the order of three times per second. The 16 - field interval is termed a "cryptocycle". As also shown in FIG. 2, each line also includes a horizontal blanking interval (HBI). During the HBI are transmitted six channels of high quality digitally-encoded audio information, with error correction, such that the decoder can also be used to supply a high quality audio signal. This can be used to provide the audio component of the corresponding video signal (or several versions thereof, in different languages) or an additional audio signal, such that subscription audio is also made available according to the system of the invention. In the commercial decoder embodiment of the invention, a portion of the commercial command sequence, that is, control data used to define the services available to each particular group, is transmitted during each cryptocycle This is detailed below in connection with FIG. 12 and FIG. 20. 2. The Horizontal Blanking Interval FIG. 3 shows the format of the horizontal blanking interval (HBI), which begins each line of each field. In the preferred embodiment, the HBI consists of 78 total bits of four-level frequency-shift-keyed (FSK) data. The HBI is interposed between the vertical blanking interval or video information from a previous line and that of the present line. A typical horizontal blanking interval as shown begins with a two-bit guard band 30, followed by 45 bits of audio and utility data 32, a second two-bit guard band 34, twenty bits of color burst information 36, a further guard band 38, six more bits of data 40 and a final guard band 42, after which the VBI or the video signal of the particular line commences. The position of the color burst 36 within the HBI varies, to provide signal scrambling; descrambling involves the use of a repetitively-transmitted key, described below in connection with FIGS. 10-12. The number of bits of data in the HBI of each line can be varied pseudorandomly as well; the average number is 51. FIG. 4 shows some additional details of the horizontal blanking interval data 32 and 40 shown in FIG. 3. In the example shown, fifty-one total bits of data are provided in each line of the HBI, and each bit is four-level FSK encoded, such that each bit period includes transmission of two bits. One bit can be referred to as sign and the other as magnitude as indicated on FIG. 4. As shown, the first seventy-eight bits are digital audio; thus each frame provides a thirteen-bit digital representation of a sample of each of six audio channels High quality transmission of audio frequencies up to approximately 15 kHz is thus provided. Following the audio information are six bits of stepsize and bandwidth information. The stepsize bits indicate the size of the steps numbered by the thirteen bits of information preceding, and the bandwidth information relates to the amount of emphasis or de-emphasis of the signal employed. Alternate fields carry the stepsize and bandwidth data. Both these terms are used as conventional in the "Dolby delta modulation" scheme, which is employed in the preferred embodiment of this invention for transmission of the audio. Following are twelve bits of error correction code (ECC) for correction of the audio, indicated at 48. Four utility data bits follow at 50, and the last bits 52 of the data are parity check bits for checking the parity of the error correction bits 48. The utility data bits 50 can be used for transmission of data encoded according to the well known RS-232c format, which is particularly useful in connection with the commercial decoder embodiment of the invention. Similarly, the audio channels can be reconfigured to carry RS-232c utility data as well. Other common encoding formats are of course within the scope of the invention. 3. The Vertical Blanking Interval FIG. 5 shows the arrangement of the lines which make up the vertical blanking interval (VBI). The VBI includes 16 lines in the 525-line NTSC version of this invention. A slightly different number of lines are used in the 625-line PAL embodiment of this invention. The functions of the lines and their arrangement in other respects are identical. Discussion of a specific number of lines herein therefore should not be taken to limit the invention, except as specifically required. As indicated, the vertical blanking interval is 377 bits wide. These bits are two level FSK encoded as compared to the four level FSK scheme used in the HBI as discussed above. Lines 1, 2 and 3 include the transmission of clock recovery, synchronization and system service data, as indicated in FIG. 5. The detailed formats of lines 1 and 2 and the use of the information contained therein are discussed in copending application Ser. No. 704,024, filed Feb. 21, 1985, incorporated by reference herein. A particularly significant portion of the data contained in lines 1-3 is a system key which is updated every sixteen frames, that is, which changes with each complete system data transmission as indicated above in connection with FIG. 2. The system key is common to all decoders. The system key is contained in the service data of line 3, and is used for decryption of video program material audio and teletext text together with additional less frequently transmitted cipher data, as well as with invariant individual decryption ciphers. This arrangement provides substantial system security. Operation of this system is described in detail below. Lines 4-8 of the VBI include the addressed packets, as indicated by reference numeral 62. As noted, these each contain an address which is then followed by data, concluding with error correction coding (ECC). The addresses are those of the individual decoders. The addresses in the address packets are transmitted in clear text, such that they can be received without decryption by the receiver. The remainder of the message is encrypted. In this way, addressed packet data, which is very significant to the proper functioning of the system because one of the addressed packets includes one of the decrypting ciphers needed, is provided with a high degree of security. Addressed packets addressed to differing decoders can be transmitted in the same field. In the commercial decoder embodiment of the invention, the addressed packet data is used to assign individual decoders to groups of decoders. In this way, group assignments can be varied "on the air". As indicated at 64, lines 9-13 of the VBI are used to transmit teletext. The first part of each teletext line is a teletext identification which indicates that the line in fact is teletext. As shown, two types of teletext lines are used. Teletext headers include a relatively larger number of flags, and indicate which of the following teletext lines are part of a particular "page" or message. The text lines themselves include a somewhat lesser number of flags and text data; typically forty ASCII-encoded bytes are sent per text line, and up to twenty lines can be displayed on the user's screen at once. Finally, lines 14 and 15 indicated at 66 are not used in the presently preferred embodiment of the invention. 4. Line 1 FIG. 6 shows line 1 of the VBI which consists of alternative zeroes and ones, or maxima and minima of the transmitted symbol set, if multi-level symbols are used. At the typical NTSC transmission frequency, these symbols occur at a rate of 7.16 mHz, twice the color subcarrier frequency. Line 1 therefore contains a 52.66 microsecond continuous wave of 3.58 mHz, the subcarrier frequency. Preferably, the receiver will typically contain a clock driven at the color subcarrier frequency. (When the term "receiver" is used herein, it will usually include not only the standard television receiver, but also the decoder and other terminal equipment necessary to convert the incoming television signal to a standard format. The clock therefore may be considered part of the decoder portion of the receiving system). Line 1 is thus used to drive the receiver's phase locked loop circuit into synchronism with the transmitter clock. 5. Line 2 Line 2 of the VBI is shown in FIG. 7, which consists of a timing signal used for framing recovery. This subject is discussed in more detail in application Ser. No. 736,305, filed May 21, 1985 which is incorporated herein by reference. Beginning at symbol 79, a series of first code patterns P is transmitted. The first code pattern P is the following set of eight binary digits 1 1 1 1 0 0 0 0. This first code pattern P is transmitted 411/2 times for a total of 332 symbols. After the first code pattern P has been transmitted, a second code pattern which is the inverse of P, that is, 0 0 0 0 1 1 1 1, is transmitted twice, in phase with P. Since the P pattern is transmitted 411/2 times, it ends 1 1 1 1; and since the Q pattern is transmitted in phase, it begins 1 1 1 1. Hence the phase reversal occurs in the middle of a set of eight ones in a row. Finally, a field identification FD is transmitted which can be used to identify which one of the 16 fields transmitted in a cryptocycle is being transmitted in the particular field. 6. Line 3 a. The Cryptocycle FIG. 8 shows the 16-field cryptocycle. According to this aspect of the invention, the system data transmitted in line 3 of the VBI is too extensive to fit into a single line, given the extensive data duplication and error correction coding provided, which is discussed in detail below. Therefore, the system data is divided into three packets which are transmitted as part of different fields. Furthermore, each of the three packets is repeated five times in successive fields, for further error elimination through the use of majority logic. Thus in FIG. 8, a first packet A is shown being transmitted in the first five fields of the 16 field cryptocycle, packet B is transmitted in the next five, and packet C in the succeeding five. The sixteenth field is marked with an "X" in the location of line 3; this is done to indicate that system data is not derived from the sixteenth field of the cryptocycle. b. Line 3 Format As mentioned above, three packets of data are transmitted in line 3. Each of these contains data which is relevant to the operation of the entire system. It is accordingly extremely important that each be accurately received. To ensure this, each packet is transmitted three times, as described above in connection with FIG. 8. Furthermore, each bit of each packet is repeated three times within the line and each individual bit is protected by a parity bit. Thus, in FIG. 9, one can observe that the first bit, bit M.sub.1, is repeated three times and each repetition thereof is followed by a parity bit P. Bit M.sub.2 is then transmitted identically and so on, until the last bit M.sub.62 is reached. There are some additional bits which are transmitted, but which are not used; these are omitted from FIG. 9 for clarity. As described in detail below, the decoder comprises a microprocessor and a microprocessor and teletext support (MATS) chip. The MATS chip provides a number of message processing steps which must be performed at high speed, higher than the capability of the microprocessor. As described below, the MATS chip and the microprocessor together reduce the 30 bits transmitted for each bit of the system control data to one. In particular, the MATS chip reduces the redundant data of each line to one, and the microprocessor performs 5:1 majority logic voting between the multiply-transmitted lines. This has important advantages as detailed below. c. The Distinction between System-Wide and Individual-Decoder Data It will be appreciated by those skilled in the art that the communications system of the invention requires certain data to be transmitted system-wide, that is, all the decoders must receive certain information, while other information should be transmitted only to individually addressable decoders. Furthermore, it will be appreciated that some data, such as data identifying the program material currently being transmitted or constantly changing ciphers, needs to be transmitted repetitively, over and over again, while other data need only be transmitted infrequently or upon a single occurrence. According to one important aspect of the present invention, data which must be transmitted system-wide and/or repetitively is transmitted as part of the system data in line 3, whereas control data (as opposed to teletext) transmitted to individual decoders or groups of decoders is transmitted as part of the addressed packets appearing in lines 4-8. As mentioned above, three different versions of line 3, which together include all system data, are transmitted during the "cryptocycle" which is completed every sixteen frames, i.e., approximately every one-third second. Other information repetitively transmitted as part of the system data, which is particularly significant in connection with the subscription television application of the system of the invention, includes the program tier number, that is, an indication of the tier to which the program being transmitted on a particular channel at that time belongs. The tier concept is used to separate various classes of programming transmitted by the transmitter. The user selects which tiers of programs he chooses to watch, e.g., sports programs, special features, premium movies, and the like. The user then indicates which tiers he wishes to view to the broadcaster, e.g., by telephone or by letter, and the broadcaster transmits indication of the tiers selected by the user to the user's decoder individually as part of an addressed packet. The individual decoders then use the tier number transmitted as part of the system data to either enable or disable the viewing of a particular program at a particular time. The distinction between system data and addressed packet data is thus illustrated: The program tier number relates to the particular program being transmitted by the broadcaster at a given time and thus clearly should be transmitted to all decoders. On the other hand, the primary and secondary program tiers, which terms refer to the tiers selected by and paid for by the subscriber, are transmitted individually as part of the addressed packets, thus enabling the decoder to determine which programs it should allow the viewer to see. A similar distinction between data transmitted to individual decoders and data transmitted more or less system-wide is found in the commercial decoder embodiment of the invention. In this case, individual decoder group assignments may be altered by addressed packets addressed individually to the decoders. By comparison, the service packages made available to each group are defined group by group. That is, each group receives its service package assignments in a single portion of the system data transmitted in a given cryptocycle. Stated differently, the service assignment of a single group is transmitted during each of the cryptocycles. The services in a given service package are then similarly transmitted. The service package assignment is thereafter used by the individual decoders in determining which services the viewer is enabled to see. d. The System Data Packets FIGS. 10, 11 and 12 show, respectively, packets A, B and C of the system data, that is, the three portions into which the system data is divided for transmission on line 3 of different fields. In each case, the Figure shows in a column extending down the left side the number of bits each data item requires, next to the title of the data item. A brief text description of each item follows. Most of the data items described relate to subscription television uses of the system of the invention. Where desirable for clarity, reference is made to the commercial decoder. (i) Packet A Thus, in FIG. 10, the first data item shown is a one-bit entry for "full field mode select." This bit is provided in order to allow teletext or addressed packets to be transmitted on what would otherwise be lines of the video signal. This capability is not provided in the presently preferred embodiment of the invention. The next item is a two-bit entry for the key source code. These two bits enable broadcaster control of decryption of the signal, including the video signal, for a variety of purposes such as testing. For example, if this field is zero, that is, 00, decryption of the system data is done using a "fail" key which is stored as part of the microprocessor, and which is the same with respect to all the decoders in a given system. This allows all services to be decoded. The signal will of course have been encrypted using the corresponding key. In this way the usual steps required to transmit a key to the decoder for decryption can be bypassed for testing and similar purposes. When this field is 1, that is, 01, decryption is done using a second stored key referred to as the "test" key, in a similar manner and for similar reasons. When this field is 2, that is, 10, decryption of the system data is done using the even key of the month (KOM); when it is 3, hat is, 11, decryption is done using the odd key of the month. The key of the month is a decryption key which is transmitted to each individual decoder by way of the addressed packet, as more fully explained below. Because the key of the month is transmitted separately to each individual decoder, typically the key of the month for a succeeding month is transmitted prior to the end of the preceding month, so as to ensure that each decoder receives its key in plenty of time, so that the user is not prevented from seeing programs when the month ends and the encryption key used at the transmitter changes. The even or odd key of the month simply refers to which of the two stored keys of the month are to be used by the decoder in decrypting the signal. The next item in packet A is a one-bit entry indicating an encrypted program. When this field is 0, the system data is nonencrypted; when it is 1, it is encrypted and therefore must be decrypted before use. The following segment, "broadcaster identification" is a two-bit entry allowing one of up to four different broadcasters to be specified; this information is used in decoding the remainder of the system data. In particular, each of the four broadcasters may have two KOMs, differing tier identifications, and differing billing arrangements. The broadcaster identification bits allow all system data to be separately tracked for each. Throughout the following discussion this fact should be kept in mind, although usually only two KOMs are referred to, for example, for simplicity. The next item, the program tier number, is an eight-bit entry. This in combination with the four-bit service tier number which follows specifies the class of program to which the currently transmitted program belongs. This information is used by the decoder for comparison to authorized program tiers, that is, program tiers selected and paid for by the user, to determine whether a particular user is permitted to view the particular program being transmitted, as discussed above. The program number segment of the packet A is a 12-bit item which together with the segment identification forms a program identification. Should a user purchase a program through a pay-per-view arrangement, that is, as opposed to viewing it through its being a member of a tier to which he is authorized access, the program identification is saved in the memory of the microprocessor comprised by the decoder. This is used in order to track pay-per-view billing for the user's convenience. The cost of current program item is an eight-bit field used to price the current program for pay-perview billing purposes. The following item is the first section of the decryption key and is 14 bits long. This with the nine-bit second segment and the 32-bit third segment appearing in packet B (FIG. 11) together make up a 55-bit decryption key which is unique to each cryptocycle. That is to say, this portion of the decryption key information is varied at the end of each cryptocycle, that is, approximately every one-third second, which has the effect of rendering the unauthorized theft of any one of these decryption keys relatively worthless to the thief. The key may be used in decryption as generally discussed below and also to indicate the position of the color burst in the HBI, as discussed above. Different portions of the key may be used in decryption of different parts of the signal; that is, there may be separate audio seeds, video seeds, teletext seed; and so forth. The remaining bit in packet A of FIG. 10 is a fast scrambling select bit which allows the selection between several descrambling algorithms to be used by video descrambling hardware comprised by the decoder See U.S. Pat. No. 4,642,688 to Lowry et al. which issued Feb. 10, 1987, incorporated by reference herein. (ii) Packet B FIG. 11 shows packet B of the system data. In addition to the last segment of the decryption key which was discussed above, this packet includes an eight-bit item entitled "black-out code." This is used for geographical black-out purposes, for example, to prevent reception of sporting events in the viewing area of the venue, which is frequently required in the business arrangements between the sanctioning body and the broadcaster. The decoder is supplied with an eight-bit number which is compared with the black-out code to prevent the viewer from viewing the program where indicated. Following the black-out code is a single bit which is the most significant bit of the program cost which is used in conjunction with the cost of current program item appearing in packet A (FIG. 10). Five check bits are also provided as indicated on FIG. 11. This field includes the last five bits of the system data, which are written thereto before encryption. This enables comparison of these five bits with the last five bits of the system data after decryption. This allows the decoder to detect bit errors in the system data and in turn to prevent operation using an improper KOM, by preventing the decoder from responding to system data. This is thus ultimately one point at which the KOM is used to ensure security of the program material. A single bit is used as a fingerprint trigger. This bit when set causes the user identification number to be written to the user's screen at a particular point in the transmission of a particular program, such as a pay TV movie. If the user then makes an illegal copy of the program, using a VCR or the like, the user identification number will be written to the copy at a specific point known to the broadcaster. Should the user make illegal copies and distribute them, this will enable the broadcaster to locate the original source of the illegal copy and take appropriate action. The next bit is an impulse enable bit which prevents the general public from buying the program through the buy button, but restricts purchases to the program tier method described above. The following item includes five bits of audio/data channel usage information. This associates the six channels of audio with the program. For example, in many countries, several languages are spoken, or the same language is spoken in a number of different dialects, each of which may be separately transmitted by the broadcaster in association with the video portion of the program. In a preferred embodiment, 32(2.sup.5) combinations of the following information categories can be provided in the six audio channels of the HBI: TV audio, monaural audio, pay audio, stereo audio, and data. The audio/data channel usage information thus provides the correlation needed by the decoder to satisfy the user's selection from among the HBI channels. The three-bit program rating item provides an indication of the maturity level of the current program, for example, for use by parents in preventing access of children to inappropriate program material. The next item, active video usage, allows indication of the program transmission format, i.e whether it is B-MAC, NTSC or otherwise. The general message bit is used to indicate to the decoder that a general message, that is, a teletext message directed at all of the subscribers, for example, to indicate that a programming change has been made or the like, is available. The source switch request item is a single bit used to automatically switch the decoder to a new transmitter, for use where plural transmitters are used to transmit the same program material, as may be useful, for example, in large countries where long distance transmissions may be difficult. The next bit, scrambled program, indicates whether the video is scrambled or not, thus indicating to the decoder whether descrambling is necessary. Finally, the tracked program item is a single bit which, if the program is purchased using a pay-perview arrangement, causes the program identification to be saved by the microprocessor. (iii) Packet C FIG. 12 shows Packet C of the system data. The first bit, Pay-per-Listen, indicates that a predetermined set of the audio channels are carrying subscription programs, that is, ones for which the user must pay if he wishes to hear the material. In such case, the program tier number, program number, cost of current program and track program fields pertain to the current program on the designated audio channels, rather than the current video program. The next five bits are reserved, that is, are not used in the preferred embodiment of the invention. The next four fields, each of which is eight bits long, provide additional system control bits The port control bits are not used according to the presently preferred embodiment of the invention. The commercial control command and commercial control data bits are used in connection with the commercial decoder embodiment of the invention as discussed in detail below. The check bits are used for error detection and correction of the data transmitted in the preceding two fields Finally, the last 24 bits of packet C are not used in the presently preferred embodiment of the invention. 7. Transmission of Subscriber Messages As described above, a primary aspect of the communications system described and claimed in the present application is the transmission of individually addressable, encrypted messages from a transmitter to an individual decoder for display to the subscriber. (This function is not available in the presently preferred embodiment of the commercial decoder of the invention). As has been described previously, this is done by using an addressed packet to indicate to an individual decoder that a personal message for the subscriber is to be found in a forthcoming frame. The individual decoder is thus alerted to select that teletext message when it is subsequently transmitted. The addressed packets are also used to assign particular decoders to groups. The method of processing the addressed packet is essentially similar in both cases. a. The Addressed Packets FIG. 13 shows five types of addressed packets which are made available in a presently preferred embodiment of the invention. Their formats, and the various items of information shown on FIG. 13 as being transmitted by each can, of course, vary as needed, depending on the specific requirements of communication between the transmitter and individual decoders. Therefore, these particular addressed packets should not be considered exclusive or as a limitation on the proper scope of this invention. The 377 bits of each of the addressed packets are encoded such that they can decoded by a one-half rate forward error correcting code. This reduces the number of useful bits to 188, which is the total appearing in each of the several possible addressed packets shown in FIG. 13. In each case, the first twenty-eight bits, indicated generally at 74, are the decoder address which is transmitted in clear text, that is, is not encrypted. This acts as a label for recognition by the target decoder. The twenty-eight bit user address allows a maximum of some 268,000,000 decoders to be addressed by an individual broadcaster. A nonencrypted two-bit consortium identification 76 is also provided in each of the addressed packets. This identifies a broadcaster or a group of broadcasters. The remainder of the addressed packet is encrypted, as indicated. This includes 138 bits of various keys, credit updates, program tiers indicating which programs which the decoder is authorized to access, and other information, and twenty bits of cyclic redundancy check data for error detection and correction of the 138 bits just described. Four of the encrypted bits, possibly in conjunction with the consortium identification bits, identify the addressed packet format of a particular line. The data transmitted in the addressed packet can vary quite widely, as indicated generally in FIG. 13. For example, in a first addressed packet 78, the "message portion" 79 of the addressed packet may include credit update information, may identify the primary program tiers, that is, the classes of programming for which the subscriber has paid and therefore is entitled to view, other billing data, and importantly the key-of-the-month (KOM). As described above, and in copending Ser. No. 883,301, filed July 8, 1986 incorporated by reference herein, the KOM is used in the decryption of program data. The KOM is varied once per month, and is used together with a secret serial number which is permanently written into memory comprised by the decoder. The key-of-the-month is the same for all decoders, but is individually transmitted to each. This allows deauthorization of individual decoders as needed by the broadcaster. The key-of-the-month is used together with the secret serial number of each of the individual decoders, to provide a decryption key which is unique for each decoder. As will be appreciated by those skilled in the art, this provides a very high level of security to the system. It also requires that the key-of-the-month be reliably detected by the decoder. In order to accomplish this goal, the primary addressed packet 78 is transmitted on a regular basis throughout the month, e.g., on the order of once every hour or so. In the preferred embodiment of the decoder of the invention, the "intelligent" portion of the system is always enabled, whether or not, for example, the subscriber is actually watching his television at the time, such that the key-of-the-month is reliably received, even if the subscriber rarely watches television. The key-of-the-month for a subsequent month can also be transmitted so as to be received in advance of the first day of the month so that no service interruption is likely to occur; as described above, a key-of-the-month odd/even bit transmitted as part of the system data can be used to indicate which is to be used in decryption of any given signal portion. A second addressed packet format is shown at 80. This addressed packet is transmitted regularly only if the consortium wishes to make use of more than the forty program tiers which can be separately identified within the primary addressed packet 78. If it is used, it may also include credit update information and other billing data as indicated, as well as the secondary program tier information shown. Other addressed packets are shown at 82 and 84. These may contain a variety of data as indicated. For example, a third format shown at 82 may include personal message page numbers and system housekeeping data. The personal message page numbers are used by the decoder to select appropriate teletext lines from subsequently broadcast frames. The fourth addressed packet format shown at 84 is a memory patch address packet, which is used to modify the memory contents of a particular decoder, for example, in the event of a change of address or to correct certain fault conditions. A fifth addressed packet is shown at 85. This addressed packet is used to change the assignments of commercial decoders to groups. As indicated it is of the same format as the other addressed packets and includes a primary group assignment, which is a binary encoded number between 0-255 (2.sup.8 -1). A secondary group number may also be provided, as shown. This can have two functions. One is simply to assign the same decoder to two groups using a single addressed packet. The other is to provide a 16-bit group number, to extend the number of groups possible to 65,536 (2.sup.16) b. Teletext Communication There are a number of important objectives of the communications system of the invention which have a direct impact on the design of the teletext communication format employed. One of the most significant features is the fact that teletext messages to be displayed are to be selectable in several ways to provide flexibility to the system. For example, it was deemed highly desirable that the system be "menu-driven," that is, that the user be provided with screens showing help pages, diagnostic messages, programming schedules and the like, and that he be able to readily move through them at his own option. In order that the decoder can be economically manufactured, the large quantity of data required to provide the many screens showing these requirements cannot be stored at the decoder, as the amount of memory capacity required to store all this data would be prohibitively expensive. Therefore, as much of the data as possible is stored at the transmitter location. On the other hand, because it is highly undesirable that a continuous uplink or landline connection be provided between the decoder and the transmitter, i.e., to allow the decoder to cause the transmitter to send particular data needed, all this information has to be made available to the decoder on a regular basis, such that it can select the data it needs, for example, to construct the various personal messages or to implement the other desired features. Therefore, the teletext messages, at least insofar as they are identical for all subscribers, are transmitted repetitively, and the decoders are enabled to select those which they require, for example, in order to respond to the user's commands as input from a key pad. The template feature of teletext is not especially important to the commercial decoder embodiment of the invention, inasmuch as this is not the primary requirement of the system as described above. Nevertheless, it does appear that in some circumstances, commercial decoders may desirably have the ability to select teletext templates and the like, e.g., for providing a format for a report for confirming the messages sent during a particular time period, so that where not specifically indicated otherwise this is to be deemed to be within the scope of the commercial decoder embodiment of the invention. These diverse uses and objectives of teletext communication are achieved by the present invention, according to which teletext is transmitted in a bipartite format. Teletext according to the present invention is transmitted in the form of a number of text lines or rows, making up a page of text. The rows making up the page are preceded in transmission by a teletext header. The header indicates the fact that a teletext page follows and indicates its page number. A decoder looking for a particular page number, for example, a template page, scans the teletext page numbers provided in the teletext headers for the particular page of interest. When the page number sought is detected, the decoder then selects the following page, that is, selects for storage and eventual display all the teletext lines which follow until the next teletext header line is identified. c. Line Formats FIGS. 14 and 15 show respectively the formats of the teletext header and text lines. In FIG. 14, the teletext header 90 is shown as comprising a thirty-two bit teletext identifier 92. This field simply indicates that this particular line of the vertical blanking interval is a teletext line, as opposed to, for example, an addressed packet. The next thirty-two bit area 94 contains various control flags, which will be returned to momentarily for discussion. The teletext header then contains a 128 bit field which identifies the page number which is comprised by the following text lines, as indicated at 96. In the preferred embodiment, the page number is a sixteen bit number, each bit of which is encoded as an eight bit byte The flags 94 are similarly encoded; that is, a flag which is either a "1" or a "0" is nevertheless encoded as an eight bit byte for transmission, so as to render its correct detection more probable than if it were simply a single bit flag. For the same reason, the page number is a 128-bit word in which each eight-bit byte indicates whether the corresponding bit is a 1 or a 0, again for extremely reliable detection of page numbers. Finally, the last 165 bits 98 of the teletext header 90 are not used. The flags 94 include a header flag 94a which indicates whether the teletext line is a header or is not, a linked page flag 94b indicating whether the subsequent page of teletext is one of a number of "linked" pages related to the present page, (that is, whether a subsequent page is textually related to the present page), an encrypted page flag 94c indicating whether the subsequent page is encrypted or not, and a box page flag 94d indicating whether the text shown in the subsequent page should be displayed against a video background or a black background. An additional update page flag 94e, indicating that the page is new, is not currently supported. Additional details of the significance of the flags and their use is found in the co-pending applications referred to above. As mentioned, each of the flags 94 is transmitted as an eight bit byte rather than as a single bit flag, to render the detection and decoding process more certain and thus to reduce overall system errors. As mentioned, the bits making up the page number, which identifies the succeeding page of text, are similarly encoded, such that a sixteen bit page number occupies 128 bits of the teletext header. FIG. 15 shows the structure of an individual text line 100 up to twenty of which may make up a page of text. As in the case of the teletext header of FIG. 14, the first thirty-two bits 102 of the text line 100 are a teletext identifier. These are identical whether the teletext line is in fact a header or is a text line. The next eight bits are a header flag 104, which is identical to the header flag comprised by flags 94 of the header line 90, that is, it is an eight bit byte indicating that the teletext line is in fact a text line 100 and not a teletext header 90. The following 320 bits are devoted to the transmission of forty bytes of textual data. Typically, these are encoded according to the usual ASCII standards, whereby each byte is seven bits of data plus a parity bit for error detection. Thus, each text line transmits forty characters which may be any alpha-numeric character found in the ASCII character set. The last seventeen bits 108 are not used. Thus, in practice, the broadcast transmitter transmits a sequence of teletext lines in lines 9-13 of the vertical blanking interval (see FIG. 5). Up to twenty text lines 100 may follow each teletext header 90. The teletext header 90 contains a page number 96 which identifies the following text lines as, for example, belonging to a template useful in displaying billing status, or as being the current information concerning the current movie being run, that is, describing its title, its lead characters, its length, and the price the subscriber will be charged for viewing it, or the like. It will be appreciated, therefore, that the teletext lines in any given vertical blanking interval may be all text lines 100, since only five teletext lines can be transmitted in a vertical blanking interval. (It will be appreciated by those skilled in the art that this numerical limitation (as well as others herein) relates to a 525-line NTSC-type signal; the actual numbers of the lines in the VBI are different in the PAL type 625-line system.) C. The Commercial Decoder As mentioned above, the composite communication signal format of the invention is designed to provide unprecedented flexibility in communication between a broadcaster and a decoder. Primarily, this involves communication of text messages to the subscriber. Nevertheless, it is also desired to utilize the same communication format for commercial applications, such as intra-company video communication, which do not require this capability. Instead what is required is the capability to provide certain signals only to certain decoders, e.g. those at a company's various locations. In this way, for example, an instructional tape can be simultaneously and automatically distributed to a number of locations. 1. Overview The commercial decoder is designed specifically to fulfill the requirements of a private satellite communications network. An important distinguishing feature is the method of control, termed Group Control. The broadcaster controls the services which the commercial decoders deliver by Group Control data sent in the Vertical Blanking Interval--there is no means of control available at the decoder (the ON/OFF switch excepted). Only commercial decoders respond to Group Control commands. Each individual decoder is assigned to a Group by an Addressed Packet. The network is controlled by signalling to Groups of decoders using System Data Packets - Type C. These packets indicate which Groups are authorized to receive the various parts of the B-MAC signal Several different packets are sent in a sequence in order to define this authorization Each packet is repeated five times (line 3, fields 9-14: the System Data C interval, as above), to allow for 5:1 majority logic to be applied at the decoder. A new packet is then sent during the System Data C interval of the following session. The complete sequence is known as a Command Sequence. The Command Sequence defines all "Service Packages" which are active at the particular time. The set of all active services is termed a "Bundle". The Service Packages are defined by the Command Sequence in that it assigns authorization to decode parts of the composite B-MAC signal to a Service Package Number. Up to eight Service Packages may be defined at any one time. The Command Sequence also signals which Groups are assigned to each Service Package. Up to sixteen individual Groups may be assigned to a Service Package, or (by a single command) all Groups may be assigned to a Service Package. A complementary form of control is also possible i.e. "Assign All Groups Except . . . ". A Command Sequence is of variable length, depending on the number of the control messages being sent. The limits of the Command Sequence are defined by the "START" packet. This signals the beginning of a new Command Sequence, and implicitly closes the previous sequence. The authorization(s) defined in the Command Sequence are not implemented by the decoders until the "START" packet of the following sequence is sent. The advantage of this method of control is that large numbers of decoders can be grouped together and authorized/de-authorized simultaneously, allowing the network rapidly to be reconfigured. To increase flexibility still further, two Group Numbers may be assigned to each decoder The decoder will gain access to service(s) if either of the Group Numbers is assigned to a Service Package. Group Numbers range from 1 to 255; this can be extended to allow definition of some 65,000 groups, as indicated above. To better understand the functions of the 16 bits provided in packet C of the system data (FIG. 12) which are useful in connection with the commercial decoder, the following additional information is provided. Additional information is found below, in connection with the discussion of FIG. 20. 2. System Uses As described above, commercial decoders are addressed in common by assigning them to groups. Each of the groups is then assigned certain services, i.e. audio, video, teletext, utility data and/or combinations thereof, which may be received at any given time. In order to provide flexibility to this system, it is essential that the groups be capable of being reconfigured, that is, that individual decoders can be added or subtracted from particular groups. However, this is relatively infrequent if the group assignments are sensibly planned. More commonly, the services made available to a particular group need to vary. For example, in the example described above, the Chairman of the Board of a company desires to send out a monthly message to each of his field offices. In some months, this may include teletext; other months it may include data. There is no particular reason to have available a service which is not needed at any particular time. Therefore, in a first month, the operator does not assign the teletext service to the service package assigned to the particular group numbers which corresponds to the decoders of all the field offices. In the succeeding month, he adds the data service and deletes teletext, and so on. For the above reasons, it is deemed desirable that the assignment of a particular decoder to a group be varied by way of the addressed packets, as discussed above and that the assignment of services to particular groups be varied by way of the system data. That is, decoder assignment to a group is performed using the individually addressed packet method of communication, while the service provided to the group is defined by the "commercial command sequence" which is transmitted in the system data. As will be discussed in further detail below in connection with FIG. 20, the 16 bits of packet C of a particular cryptocycle assigned to transmission of the commands for control of the commercial decoders are insufficient to define all of the services assigned to all of the groups. In fact, each packet C of the system data is devoted to transmitting a single command directed to a single group. Still more particularly, the command sent by the packet C data may first send particular commands to particular groups and then define the action to be taken by the corresponding decoders in response thereto. That is, in a particular packet C, a particular group may be assigned a particular service package. In a subsequent packet, that same service package may then be defined as including teletext. Therefore, it will be appreciated that the transmission of a change in group service involves a multi-cryptocycle process. 3. Definitions To more further fully understand the above, the following definitions are deemed useful Group Number - The commercial decoder stores in its secure memory a set of group numbers which are used in the interpretation of the "commercial control commands" (defined below) by the decoder. Each group number may have a value ranging from one through 255. A Group - is the set of all decoders sharing a group number. The Group Number identifies the Group. A Service - is defined as any authorizable portion of the B-MAC signal, i.e., audio, video, teletext, data or any combination thereof A Service Package - is defined as a set of services. Multiple groups may be assigned the same service package. Commercial Control Command - refers to the commercial control command field of system data C in particular, and to the conjunction of the commercial control command and the commercial control data fields in general. Commercial Control Sequence - A commercial control sequence is defined as the complete sequence of commercial control commands needed to fully configure the commercial decoders. As described above, each packet C of the system data sent to the commercial decoders may include a command sent to an identified group of decoders. For example, a commercial control command may involve the assignment of a specific service package to a group. The syntax of these commands is such that the "assign group" command is a predetermined set of bits followed by a plurality of bits defining a number N which is the service package number. The bits of the subsequent field of packet C, termed "commercial control data", specify the group which is to be assigned service package N. Other examples of commercial control commands and the associated commercial control data are given below. Finally, the check bits indicated in packet C of the system data are simply error detection and correction bits, for corroboration of the commercial control command and commercial control data bits. D. Teletext Message Processing 1. Message Origination FIG. 16 indicates in flowchart form the steps taken which result in the display of a teletext message on a subscriber's television screen in the system according to the invention. FIG. 17 shows in schematic form the hardware of the decoder which is used to perform this function, as well as the ordinary video processing. The following discussion of teletext processing may benefit from simultaneous consideration of both figures. As mentioned above, in a preferred embodiment of the invention, a teletext message can be generated in response to a user-initiated request, in response to the decoder determining that a particular message should be given to the subscriber, or in response to the broadcaster's transmitting a message to the individual subscribers. FIG. 16 shows how these three forms of initiation of a message all result in a display thereof. The user-initiated service path begins on the left side of FIG. 16 at 110. For example, suppose the user wishes to see on his screen the current program material being transmitted, or wishes to check his billing status. He presses the appropriate key or combination of keys of a key pad, as indicated at 112 of FIG. 17. The decoder comprises a microprocessor indicated at 114, which accesses an electrically erasable programmable read-only memory (EEPROM) indicated at 116 to determine which teletext page number provides the appropriate template for this information, as indicated at 118. In the preferred embodiment, the microprocessor 114 is a "secure" microprocessor, meaning that it cannot be tampered with or its software read out or altered without destroying it, and the EEPROM 116 is comprised therein. As indicated at 120, the decoder then "grabs" the indicated page when the teletext header including the appropriate page number is received by "grabbing" the teletext lines which follow the teletext header thus identified. As shown in FIG. 17, the microprocessor 114 is assisted in its operations by a chip referred to as MATS 122, these letters being an acronym for Microprocessor and Teletext Support. In the preferred embodiment of the invention, MATS 122 receives the page number from the microprocessor 114 and compares all incoming teletext page numbers with this number. When MATS 122 detects a coincidence, it then copies all succeeding text lines until a further teletext header is detected, and stores these text lines in a random access memory (RAM) 124. It subsequently causes these to be read out and passes them to a character generator 126, which integrates them with the video signal and displays these on the subscriber's television as indicated at 128. As indicated at 130 on FIG. 16, in a preferred embodiment, the step of grabbing independent pages is repeated. This is to ensure that the teletext page lines are correctly received. Should the page grabbed at 120 have been a template page, subscriber-specific information is needed to complete the information. This information may be stored in the electrically erasable programmable read only memory 116 (FIG. 17) and are used to complete the template page as needed, as indicated at 132. The complete ASCII encoded stream of bits is then supplied to a character generator 126, as indicated generally at 134, which in turn is used at 136 to supply a complete video signal to the display unit 128. FIG. 16 also shows as mentioned the steps taken when the system initiates the display of a message on the user's television screen and when the decoder initiates such a step. At 138, the transmitter causes an addressed packet to be sent indicating that a personal message is available at a particular page number. For example, the addressed packet format shown at 82 of FIG. 13 would typically be sent. The MATS 122 in this case would recognize the decoder's identification number in the addressed packet and send it to the microprocessor. The microprocessor will then return the page number to the MATS 122 which can thereafter grab the indicated page as shown at 120 and process and display the message as above. A third method of initiating a message is shown beginning at 140 of FIG. 16. In this case, the microprocessor initiates the message. For example, in the commercial decoder, this facility can be used to display error messages or other control information. In the individual subscriber decoder, for example, when the microprocessor detects that the subscriber's credit level is running relatively low, it should alert him that he should arrange for increased credit by sending the broadcaster a payment. Thereafter, of course, the broadcaster will transmit an addressed packet to the decoder, which is detected by the microprocessor and used to update the billing records. In this case, the microprocessor 114 selects from a ROM 117 the page number of an appropriate template for displaying to the user his billing status. The ROM 117 stores the microprogram which is run by the microprocessor, and which includes the page numbers. Responsive, for example, to a user input, the micropocessor 114 sends the appropriate page number to MATS 122. MATS 122 thereafter compares the page numbers of all incoming teletext pages until it detects this particular page. When it does so, it copies this template into RAM 124. It then completes the page by inserting the user's various billing information into the template and displays it at 136. It will be appreciated that there has been described an extremely flexible method of providing individually addressable teletext messages to a subscriber in a subscription television system. Additional possibilities and features of the system are discussed in the co-pending applications referred to above. To conclude the discussion of FIG. 17, the B-MAC signal is input at 150. The data contained in the vertical blanking interval (VBI) is shown at 152 being passed to MATS 122 for processing as discussed above. The MATS examines the user numbers of the addressed packets and supplies those bearing the correct number to the microprocessor. The addressed packet and system data are directed as shown at 154 to the microprocessor 114 for generation of control signals and decryption keys, transmitted at 156 to the MATS. Meanwhile, the remaining portions of the vertical blanking interval data, the teletext material, is processed by MATS 122. In general, the teletext data is stored in RAM 124 and is subsequently supplied to the character generator 126 after decryption using the encryption keys provided at 156 by the microprocessor 114. As mentioned above, if a particular text header indicates the presence of a linked page, a second page of text will be selected by MATS 122 and stored in RAM 124 for supply to the character generator 126 upon request thereof by user input at 112. FIG. 17 also shows schematically the processing of the audio information contained in the horizontal blanking interval (HBI). This is sent to an audio descrambling unit 158 which receives a control signal from the microprocessor at 160 for controlling access to any pay-audio services which may be provided by a broadcaster. Somewhat similarly, the video signal is sent to a video descrambler 162, which is also supplied by the control signal from the microprocessor at 164, providing the descrambling information necessary and preventing access of the subscriber to programs to which he is not entitled, using the information contained in the addressed packets, all as discussed above. The video signal is combined in mixer 166 with the teletext video from character generator 126 and supplied to a display unit 128 as indicated. As indicated at the caption 154 in FIG. 17, the addressed packets and system data, separated from the remainder of the vertical blanking interval data by MATS 122, are supplied to microprocessor 114 via RAM 124. This is because, in general, the microprocessor 114 is much slower than the MATS 122, so that the RAM 124 is useful as a data buffer. In the embodiment of the system of the invention described above, each addressed packet is individually addressed and received. This places a limitation on the throughput of the system, that is, it limits the number of individual packets which can be sent. To alleviate this problem, a "bank adressing" scheme may be employed. In this embodiment, the decoders are divided into "banks" and are assigned to users having characteristics which make it likely that messages may be commonly addressed to them, for example, common time-zone residence, common language, etc. [This is of course to be distinguished from the manner in which plural commercial decoders are assigned membership in groups, which is discussed in detail below.] Each of the decoders in a bank responds to the same 28-bit user address, that is, each receives the same addressed packet. Further, each decoder in a bank has written to it at manufacture a six-bit member code. A bank- addressed packet includes a number of "packet enable" bits, each one of which is assigned to one of the decoders of the bank. Thus, when an addressed packet is received, the stored member code is used to determine whether the corresponding packet enable bit is set; if so, the other addressed packet functions described above are enabled. A single data bit can also be transmitted to each decoder similarly, as part of a second group of bits in an addressed packet corresponding to the packet enable bits; again, the member code is used to identify the corresponding one of the second group of bits. In this way, one-bit individual messages can be communicated to a number of individual decoders by transmission of a single addressed packet. 2. Partition of Decoder Functions FIG. 18 shows the key elements of the decoder shown in FIG. 17 in significantly greater detail, and indicates in block diagram form the functions performed thereby. As discussed generally above, vertical blanking interval data indicated at 152 is supplied to MATS 122. At this point, system data and addressed packets are stored in RAM 124 for later accessing by the microprocessor 114 as indicated at 170 and 172, respectively. The system data taken from RAM 124 at 170 includes the service key, which as discussed above changes with every 16-frame cryptocycle, that is, each time a complete set of system data has been transmitted, all as discussed above. The addressed packet data supplied to RAM 124 by MATS 122 is supplied at 172 to microprocessor 114. As mentioned above, the user address portion of the addressed packet, which as noted above is transmitted in clear text, is compared by MATS 122 to a decoder identification number, stored therein at manufacture as indicated at 175. If the numbers match, such that the addressed packet is appropriate for processing by the particular decoder, the remainder of the addressed packet is supplied to microprocessor 114 as indicated at 172 and decrypted at 176 using a secret serial number which is stored in the electrically erasable programmable read only memory (EEPROM) 116 at manufacture of the device, as indicated at 180. Preferably, a bar coded label is attached to each microprocessor chip at manufacture. An assembly worker wands the bar coded chip so that this bar code identification is supplied to an associated computer device. Thereafter, the computer associates a secret serial number with that decoder number without requiring operator intervention. The computer then writes the secret serial number to the EEPROM 116 The correlation between the decoder identification and the secret serial number stored in EEPROM 116 is critical to the proper functioning of this system Therefore, this information is guarded very carefully. The output of decryption unit 176, in addition to the other data contained in the addressed packets as discussed above, includes the key-of-the-month (KOM), which as mentioned is transmitted repetitively over a period of a month, and in advance of the month in which it is to be effective, all such that each decoder can obtain the key-of-the-month well in advance of its being required for decoding of program material. The odd and even KOMs are stored (for each broadcaster, as noted above) in the EEPROM as indicated at 178. The selected KOM is supplied as indicated at 182 to a further decryption unit 174 and is thereafter used to decode the system data. As mentioned, the system data is transmitted frequently and repetitively, on the order of every one-third second, to keep the system control data up to date. The output of decryption unit 174 is supplied to a " seed" 184. The seed 184 is intended to refer generically to means for generating a number of control signals and decryption keys which are, in effect, the control outputs of the microprocessor. For example, the seed output includes video and audio descramble signals supplied at 160, 164, respectively, to audio and video descrambler 158 and 162, respectively, as discussed above in connection with FIG. 17. Similarly, the decryption keys are passed as indicated at 156 to MATS 122 for decryption of teletext data, such that personal messages can be decoded by the MATS from the encoded incoming VBI data 152. The seed 184 also has as inputs to it a number of signals from a device identified generically as feature enabling unit 188. This unit receives an input from the user input key pad 112 and also a number of inputs from the EEPROM 116. These latter inputs include such things as the tiers enabled, that is, the classes of programs which the subscriber is permitted to watch. As discussed above, the system data 170 supplied to the microprocessor 114 includes program tier data indicative of whether a program being broadcast at any given moment belongs to a particular tier. Therefore, the seed combines the tier data from EEPROM 116, via the feature enabled unit 188 and the system data input at 170, to determine whether to permit video descrambling, as indicated by the video enable signal 160. Teletext page numbers are also supplied to MATS 122 when, for example, the user desires to view the programming guide. In this case, the microprogram run by the microprocessor, which is stored in ROM 117 at manufacture, responds to the appropriate key pad input by sending the appropriate teletext page number to the MATS, as indicated at 192. Thereafter, as discussed generally above, the MATS 122 reviews the page numbers of all incoming teletext headers for the appropriate page number, and when it detects a match, grabs the subsequent text pages as indicated at 194. If the linked page flag indicates that the teletext message extends over more than one page, it selects plural teletext pages and stores those not immediately displayed, as indicated at 196, in RAM 124. If they are encrypted, as indicated by the encrypted page flag, it decrypts them, as indicated at 198, using the key supplied at 156. Finally, if the page is a template, it completes the template by inserting user specific information, as indicated at 200. The user specific information can include billing data stored in EEPROM 116, as indicated at 204; this may include credit data indicating the user's credit status, billing data including, for example, what programs he has recently purchased, should he desire to review his purchases, and the like, all generally as indicated at 204. The secure microprocessor 114 may also include within it a relatively small RAM indicated at 206. This can be used to store data which is permitted to be volatile, that is, lost upon power-off to the unit, unlike the data which is stored in the EEPROM, which is retained even if power is lost to the unit. Data suitable for storage in RAM 206 includes such things as the user's selection of audio channels, and other user-selectable data. FIG. 19 shows schematically another example of the division of function between MATS and the microprocessor. As described above, the system data, which must be accurately received by all decoders in the system, is transmitted with a high degree of redundancy and together with error correction information, such as to improve the odds of its being received In particular, more system data is required than can be transmitted in a single line of the VBI, given the heavy duplication employed for reliability, and therefore the system data is transmitted in three packets, described in detail in FIGS. 10-12, one of which is transmitted during each VBI at line 3. Within each of these three lines, each bit of each of the packets is transmitted in triplicate and each of the three bits is provided with a parity bit, such that a total of 30 bits must be processed to yield a single bit of system data. (3 bits/line.times.5 repetitions of each line.times.2, for the parity bit). As shown in FIG. 19, the microprocessor and MATS each contribute to the reduction of the system data through a ratio of 30:1. MATS performs parity check and 3:1 reduction, while the microprocessor performs the final 5:1 majority logic voting. Note that the bit duplication is done both in a single field and over a number of fields. This is such that errors of different types are separately dealt with and eliminated. Gaussian noise will typically affect a single field so that the duplication of data across plural fields will enable its recovery. On the other hand, errors in the same part of the line of each field can be avoided due to duplication of the bit in each field. MATS performs the priority correction and 3:1 voting because these can be done in realtime at high speed; the microprocessor performs the 5:1 voting because this requires memory. E. Use of System Data In Control of the Commercial Decoders The co-pending applications referred to above include additional detailed disclosure of the use of the system data bits which is not particularly germane to the operations of the commercial decoder. Reference is made to the co-pending applications referred to above, which are incorporated herein by reference, for any additional details of the teletext signal processing and subscription television system operation which may be of interest to those of the skill in the art. Similarly, reference is made to the co-pending applications for discussion of the use of the credit, data and other billing information supplied to the individual subscription television decoders. FIG. 20 shows in schematic form the manner in which the commercial control commands are transmitted. The endless sequence of fields shown schematically at 330 represents transmission of the B-MAC signal for a time sufficient to transmit the entire commercial command sequence. As mentioned a complete cryptocycle is defined by sixteen successive fields. Of these, the first five of the last six fields define packet C, all as described above. In the commercial decoder control sequence, each packet C contains a single command and a single data item used in response to the command. Thus, in cryptocycle 0 there is transmitted a "START" command indicating the beginning of a new commercial command sequence. In cryptocycle 1, there is transmitted a first command and a first data item. In this case, the command, for example, is "Assign group to service packet 6." The "data" is the number of the group which is to respond to this command, in this case group 42. In cryptocycle 2, the command and data together define the audio of service packet 6 to be channel A, i.e., service packet 6 includes the audio of channel A of the HBI. During the sequence all presently implemented commands are transmitted. Command N is the last command. Cyptocycle N is followed by the START command which then begins the entire sequence again; at this point any assignment changes made by the system operator in the interim are implemented. It will have been noted that transmission of all the commercial control commands over a number of cryptocycles may take some appreciable time. This difficulty is addressed in an extension of the commercial control concept described below, which may be desirable in certain large systems. The example given in FIG. 20 involves the assignment of a particular decoder to Group 42, assignation of Service Package 6 to Group 42, and subsequent definition of Service Package 6 such that Audio A (i.e. one of the six audio channels of the HBI) is to be sent to channel 2 of the decoder. This involves three commands, as follows: The assignment of the decoder to the Group is done by an addressed packet identifying the decoder and the group; The assignment of the service package to the group is done by a first decoder command; and The definition of the audio of the service package is done by a subsequent decoder command. The following is a definition of a number of the commercial control commands which are currently supported in the currently preferred embodiment of the invention. The command titles are given, the syntax of the command and data fields are indicated, and a description is provided. In most cases, the command is followed by a data item, i.e. applying the commands to a particular group code or the equivalent. For example, the "Assign Group to Service Package N" command specifies that a change of the assignment of service package to a group is to be made, and is accordingly followed by a service package number and a group code, which identify the group and the service package to which it is to be assigned. 1. Description of Commer | ||||||
