PROTOCOL AND SYSTEM FOR TRANSMITTING TRIGGERS FROM A REMOTE NETWORK AND FOR CONTROLLING INTERACTIVE PROGRAM CONTENT AT A BROADCAST STATION

Abstract: A digital broadcast station is configured to turn around and add interactive programming to a television signal originally conveyed by a remote network. The remote network inserts trigger commands within the vertical blanking intervals (VBIs) of the television signal to control the loading and playing of the interactive program at the broadcast station. The protocol associated with the trigger commands allows commands to be repeated to thereby ensure that the interactive program is controlled correctly, even in the event that an original command was not received or was corrupted in the transmission. If a repeated trigger command is received by the broadcast station and the original command was not properly received, the interactive program source enters an error recovery state to determine the appropriate action for the interactive program source. For certain commands, such as continue, pause and stop, the interactive program source responds to the repeated command without further error compensation. For other commands, such as a command to play a specified file at a particular time, an error recovery mechanism compares the time code associated with the command with the local time and indexes into the specified file at a point which compensates for the difference between the particular time indicated by the command and the actual time for playing.

Description: TITLE: PROTOCOL AND SYSTEM FOR TRANSMITTING TRIGGERS FROM A REMOTE NETWORK AND FOR CONTROLLING INTERACTIVE PROGRAM CONTENT AT A BROADCAST STATION BACKGROUND OF THE INVENTION 1. Field of the Invention This invention relates to interactive television systems and more particularly to the insertion of interactive program content within a television signal originaUng at a remote network. 2. Description of the Relevant Art The emerging technology of interactive television holds a promise of allowing a television set to serve as a two-way informauon distribution mechanism. Proposed features of interactive television accommodate a variety of marketing, entertainment and educational capabilities such as allowing a user to order an advertised product or service, compete against contestants in a game show, or request specialized informauon regarding a televised program. Typically, the interactive functionality is controlled by a "set top" decoder which executes an interactive program wπtten for the television broadcast. The interactive functionality is often displayed upon the television's screen and may include icons or menus to allow a user to make selections via the television's remote control. Several unique problems are posed for a digital broadcaster of interactive television, particularly for configurations involving "turn arounds". The term "turn around" refers to a configurauon in which a video feed oπginaung at a remote network comes into the digital broadcast plant. The video feed from the remote network is often in an analog format and may be a live telecast. When the video feed is received at the digital broadcast plant, it is demodulated or decoded and converted into the native format of the digital broadcast plant One such native format is SMPTE-259M, which is a 270 Mbps digital studio standard. The native video signal is routed throughout the broadcast plant, possibly taped and Ume shifted, and is subsequently routed to a video encoder where it is compressed and retransmitted. For the vast majority of broadcasts, the content does not reside within the digital broadcast plant for more than several hundred milliseconds. If a digital broadcaster desires to add interactive funcuonality to a television signal originating at a remote network, the interactive programming informauon must be inserted at the proper time. However, present practices are such that the digital network operator does not need, nor have, elaborate informauon regarding the content playing on the turn around channel. Although there is sufficient informauon to build a program guide indicating the approximate times of the aiπngs of specific programs, there is not sufficient information to determine exactly when a particular program will begin, when commercials will be played, and whether certain preempUve actions have been taken. This information remains with the program originator, which is geographically remote and typically operated as a separate business. To complicate the problem still further, the order of playing interactive content and the ability to invoke "day of air" edits should be controlled by the signal originator. Although the mteracuve programming informauon could be provided directly by the signal originator, most remote networks are neither equipped to provide interactive programming nor have suitable trammission formats and bandwidth to allow for interactive content In addition, it is often desirable that the digital broadcaster be able to maintain control over the actual aiπng and content of the interactive progi rarruning, which is typically not possible or practical if the interactive programming information is provided directly by the signal originator An interactive television system may thus be configured such that commands are sent from a remote network to a broadcast station where the interactive content is actually combined with the television signal A problem can occur within such a configuration, however, if the command from the remote network is for some reason not received at the broadcast station, or is otherwise corrupted in the transmission If such a failure occurs, the interactive program content will not play in accordance with the commands from the remote network A protocol and system for transmitting commands from a remote network and for controlling interactive program content at a broadcast station are thus desirable which alleviate the problems of failed command transmissions from the remote network SUMMARY OF THE INVENTION The problems outlined above are in large part solved by a protocol and system for transmitting triggers from a remote network and for controlling interacUve program content at a broadcast station in accordance with the present invention In one embodiment, a digital broadcast station is configured to turn around and add interactive programming to a television signal oπgmallv conveved bv a remote network While conveying the television signal, the remote network inserts trigger commands within the vertical blanking intervals (VBIs) of the television signal to control the loading and plavmg of the interactive program at the broadcast station The protocol associated with the trigger commands allows commands to be repeated to therebv ensure that the interactive program is controlled corrcctlv, even in the event that an original command was not received or was corrupted in the transmission A given command mav be identified as being repeated by setting a flag within the command The television signal with inserted tngger commands is modulated and transmitted from the remote network via a satellite uplink or other transmission mechanism This combined signal is correspondingly received at the digital broadcast station where it is digitized and routed through a video network for channel assignment and other processing From the video network, the digitized television signal is provided to a VBI decoder which extracts the received trigger commands The extracted tngger commands are provided to a server (I e , an interactive program source) which controls the loading or playing of an interactive program in accordance with the trigger commands The remainder of the digitized television signal is provided to a video encoder where it is compressed An AVI (audio-video interactive) generation unit of the digital broadcast station then combines the compressed television signal and the interactive program to form an AVI signal to be broadcast to end users via a satellite uplink The AVI signal mav be formed by time-multiplexing packetized audio, video and interactive components of the AVI signal In one implementation, if a repeated tngger command is received by the server and the original command was not properly received, the interactive program source enters an error recovery state to determine the appropπate action for the interactive program source For certain commands, such as continue, pause and stop, the interactive program source responds to the repeated command without further error compensation For example, if a repeated stop command is received by the interactive program and the interactive program source is not in a "stopped" state, the interactive program source simply transitions to a stopped state in response to the repeated stop command For other commands, such as a command to play a specified file at a particular time, an error recovery mechamsm compares the time code associated with the command with the local time and indexes into the specified file at a point which compensates for the difference between the particular time indicated bv the command and the actual time for playing For example, if a repeated command is received two seconds after the particular time at which the file was to play, the error recovery mechamsm causes the interactive program source to begin playing the specuied file beginning at a point which is two seconds from the start of the file In this manner, the play of the specified file in response to the repeated command is synchronized with the time at which the specified file would have been playing if the onginal command had been received and was responded to properly The protocol and system for tiansmitting tπggers from a remote network and for controlling interactive program content at a broadcast station in accordance with the present invention advantageously provides a mechamsm by which the system may recover from failures m command transmission from a remote network Broadly speaking, the present invention contemplates an interactive television system compnsing a remote network configured to transmit a television signal and to transmit an onginal interactive command to control an interactive program associated with the television signal The remote network is further configured to transmit a redundant interactive command subsequent to transmitting the onginal interactive command The interactive television system further compπses a broadcast station configured to receive the television signal and configured to detect incoming interactive commands associated with the television signal The broadcast station is additionalh configured to control the interactive program in response to the redundant interacUve command The invention also contemplates a method for controlling interactive program content conveyed with a video signal from a broadcast station The method compnses transmitting the video signal from a remote network, transmitting an onginal interactive command from the remote network to control an interactive program associated with the video signal, and transmitting a redundant interactive command The method further compπses receiving the video signal and associated interactive commands at a broadcast station, and controlling an interactive program source in response to the redundant interactive command The invention still further contemplates a broadcast station for an interactive television system compnsing a receiver configured to receive a video signal, an onginal interactive command and a repeated interacUve command from a remote network, and an interactive program source coupled to receive the onginal interactive command and the repeated interactive command The interacUve program source is configured to detect whether a particular interactive command is an onginal or a repeated command The interactive program source is configured to perform an operation in response to the repeated interactive command if the operation was not performed m response to the onginal interactive command The invention additionally contemplates a remote network for an interactive television system compnsing a television signal source for providing a television signal, a trigger generator for generating interactive commands to control an interactive program associated with the television signal, and a tngger insertion unit coupled to the television signal source and to the tngger generator The tngger insertion unit is configured to combine the television signal and the interactive commands The tngger generator is configured to generate redundant interactive commands BRIEF DESCRIPTION OF THE DRAWINGS Other objects and advantages of the invention will become apparent upon reading the following detailed descnption and upon reference to the accompanying drawings in which Figure 1 is a block diagram of a flow manager and server architecture for an interactive television system Figure 2 is a diagram of an exemplary format for a tngger command for transmitting the remote network's local time Figure 3 is a diagram that illustrates an exemplary format for a tngger command for queuing a file and specifying a play time Figure 4 is a diagram that illustrates an exemplary tngger command for stopping the file being broadcast Figure 5 is a diagram that illustrates an exemplary trigger command for pausing the file being broadcast Figure 6 is a diagram that illustrates an exemplary tngger command for continuing, following a paused state, the broadcast of the file Figure 7 is a state diagram illustrating operation of an interactive program source and an error recovery mechamsm Figure 8 is a table summanzing state transitions associated with the state diagram of Figure 7 Figure 9 is a diagram illustrating an exemplary format of an AVI signal Figure 10 is a block diagram of a flow manager and server architecture for an interactive television system Figure 11 is a block diagram of an interactive television system While the invention is susceptible to vanous modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be descπbed in detail It should be understood, however that the drawings and detailed descnption thereto are not intended to limit the invention to the particular form disclosed, but on the contiarv. the intention is to cover all modifications, equivalents and alternatives falling within the spmt and scope of the present invention as defined bv the appended claims DETAILED DESCRIPTION OF THE INVENTION Turning now to the drawings, Figure 1 is a block diagram of a system employing a protocol for transmitting triggers from a remote network and for controlling interactive program content at a broadcast station in accordance with an embodiment of the present invention The system of Figure 1 includes a remote network 10 for transmitting a television signal via satellite, and a broadcast station 50 which receives the television signal and provides interactive programming mateπal therewith to form an AVI (audio-video- mteractive) signal The AVI signal is then transmitted by broadcast station 50 for receipt by end-users or a subsequent distribution link Remote network 10 illustratively includes a television signal source 12 and a tngger generator 14 coupled to a trigger insertion unit 16 An output of tngger insertion unit 16 is coupled to a transmitter collectively formed by a modulator 18 and a satellite uplink 20 A local time clock 22 is finally shown coupled to tngger generator 14 Broadcast station 50 includes a receiver collectively formed by a satellite downlink 52 and a demodulator 54 An output of demodulator 54 is coupled to a tngger extraction umt 56, which in turn is coupled to an interactive program source 58 and an AVI generation umt 60 An output of the AVI generation umt 60 is shown coupled to a satellite uplink 62 For the embodiment of Figure 1, AVI generation umt 60 illustratively includes an A-V (audio-video) compression umt 64 and a data input umt 66 coupled to an AVI transmission umt 68 A clock 70 and an error recovery umt 72 are finally shown coupled to interactive program source 58 Generally speaking, tngger insertion umt 16 receives a television signal from television signal source 12 and provides tngger commands therewith to form a combined television-tngger signal The tngger commands include information to control the loading and or playing of an interactive program to be associated with the television signal and are generated by tngger generator 14 Certain tngger commands are also provided to allow the local time of the remote network 10, as determined by clock 22, to be conveved to broadcast station 50 The combined signal is provided to modulator 18 where it is modulated upon a earner m a manner suitable for transmission via satellite uplink 20 The protocol associated with the tngger commands allows commands to be repeated, and allows the repeated commands to be specifically identified as being repeated As will be descnbed further below, by repeating tngger commands, broadcast station 50 may recover from situations wherein an onginal command is not received or is otherwise corrupted Furthermore, for certain tngger commands, the error recovery umt 72 associated with interactive program source 58 compensates for the error to ensure proper playing of the interacUve program matenal This error compensation mechamsm will also be explained in further detail below The transmission from remote network 10 is received by broadcast station 50 at satellite downlink 52 and is provided to demodulator 54 Following demodulation, the combined television-tngger signal is provided to tngger extraction unit 56 where the tngger is extracted The extracted tngger is subsequently provided to an interactive program source 58 to control the loading or playing of the interactive program associated with the tngger The remainder of the television signal is provided to A-V (audio-video) compression umt 64 of AVI generation umt 60 for compression When an interactive program is output from interactive program source 58 in accordance with the tngger extracted by tngger extraction umt 56, the interactive program is provided to AVI transmission umt 68 through data input umt 66 Compressed audio and video are similarly provided to AVI transmission umt 68 from A-V compression umt 64 AVI transmission umt 68 then combines the interactive program and the compressed components of the television signal to form an AVI signal to be broadcast to end users via satellite uplink 62 Details regarding the illustrated implementations of remote network 10 and broadcast station 50 will be discussed next It is understood that the tngger command protocol discussed herein mav be employed within a vanetv of alternative system configurations Referπng first to the remote network 10, television signal source 12 mav compnse a live video feed and/or a video tape playback apparatus, among other mechanisms In one embodiment, the television signal provided from television signal source 12 is compliant with the NTSC (National Television Systems Committee) signal standard It is understood, however, that the television signal provided from television signal source 12 may be conveyed in a vanety of alternative formats As stated previously, tngger generator 14 is provided to generate tngger commands including informauon to control an interactive program associated with the television signal from television signal source 12 Other tngger commands are provided to convey the remote network's local time to broadcast station 50 These tngger commands may take a vanety of forms Figures 2-6 illustrate exemplary trigger commands Figure 2 is a diagram of an exemplary format for a trigger command 200 for transmitting the remote network's local time Tngger command 200 includes a "start of text code" field 202 which, for this implementation, takes on the value of 0xF3 (values specified beginning with "Ox" are hexidecimal numbers) The start of text code is used to identify the start of all triggers If a start of text code is not received upon completion of a previous tngger, an error condiuon is assumed by the interactive program source 58 of broadcast station 50, and all bytes up to the next start of text code are discarded It is noted that other specific values may be used to identify the start of a particular tngger in other implementations Tngger command 200 further includes a "bvte count" field 204 that contains a number indicative of the number of bytes that follow the byte count field 204 up to. but not including, the check sum field 224 The value within the byte count field 204 may take on decimal values from " 1 " to "255" In one implementation, the byte count field value of "0" is not allowed, and thus tnggers mav range in length from 4 to 258 bytes An "onginal or repeat" field 206 indicates whether the trigger is new or repeated For this implementation a value of "1" indicates that the tngger is new. and a value of "0" indicates the tngger is repeated As will be explained further below, ideally interactive program source 58 should react to the reception of a new tngger The reaction of interactive program source 58 to a repeated tngger depends upon the cunent state of the interactive program source 58 and that which was intended bv the onginal command, as will be discussed further below A "command type" field 208 indicates the intended interpretation of "command code" field 212, as described below In other words, the interpretation of the command code field 212 depends upon the value of the command type field 208 A "umt address" field 210 is provided to direct a tngger to a particular interactive program source of a receiving broadcast station It is noted that in implementations wherein only a single interactive program source 58 is employed by broadcast station 50, the unit address does not change The "command code" 212 indicates the specific operation that must be executed For the tngger command 200 of Figure 2, which is a command for transmitting the remote network's local time, the command code is Oxle, and the command type is 2 It is noted that other specific encodings mav be alternatively used in other implementations A "data field" 213 is further shown within the tngger command 200 of Figure 2. Generally, the data field of a trigger conveys information regarding the specific command to be executed For the trigger command 200 of Figure 2, the data field 213 includes a "time code type" field 214 which indicates the type of time code format In one implementation, a "TC type" value of 0x00 indicates NTSC drop frame time code, a value of 0x01 indicates NTSC non-drop frame time code, and a value of 0x02 indicates PAL time code The hour, minute, second, and frame fields 216-219 respectively, store the BCD (Binary Coded Decimal) values of the hour, minute, second, and frame of the time being conveyed bv the tngger Finally, the "checksum" field 224 is used for detecting an error in a tngger command The checksum field is calculated by 2's complementing the sum of all bytes between the byte count field 204 and the checksum field 224 (non-inclusive) Figure 2, (and similarly Figures 3-6) further illustrates the number of bits associated with each field of the depicted trigger commands It is noted that other implementations may emplov diffenng fields and/or diffeπng numbers of bits for each field Figure 3 is a diagram that illustrates an exemplary format of a trigger command 230 used for queuing a file and specifying a playtime Fields that correspond to those of the tngger command 200 of Figure 2 are numbered idenucallv for simp cm The tngger command 230 is similar to that of Figure 2. however, the command code field 212 for this tngger takes on a different encoded value to specify the diffeπng function of this command In addition, the bvte count field 204 also takes on a different value to indicate the diffeπng number of bytes forming this tngger command The tngger 230 sends a relevant time code within fields 216-219. and a "file handle" field 220 The file handle 220 is an 8-byte word which is used bv the interactive program source 58 to determine the appropnatc file name The time code is in the SMPTE time code format, and is of the type indicated bv the time trigger 200 The tngger command 230 is used to cause interactive program source 58 to play the file specified by the file handle field 220 at the specified time Tngger commands for stopping, pausing, and continuing a file from the pause state are illustrated in Figures 4-6 respectively These trigger commands are identical, with the exception of the encoded values of the command code fields 212. which indicate the specified function for the respective command Refernng back to Figure 1, trigger insertion unit 16 is configured to combine a television signal from television signal source 12 with tngger commands generated by tngger generator 14 In one implementation, tngger insertion umt 16 includes a VBI (vertical blanking interval) encoding mechamsm which inserts a tngger into the vertical blanking region of the NTSC television signal This combined signal is then provided to modulator 18 for transmission in a conventional manner It is specifically contemplated that in alternative configurations, tngger insertion umt 16 may combine the tngger with the television signal using other techniques, such as DTMF (dual tone multi-frequency) coding or ancillary data earner m the transmission When the transmission from remote network 10 is received by broadcast station 50. it is demodulated by demodulator 54 At this point, the combined television-tngger signal mav be converted from its analog format into a digital format, such as the SMPTE 259M studio standard The combined signal may further be routed through a video network, where it may be processed and/or taped and time-shifted Subsequently, the combined signal is provided to trigger extraction umt 56 The extracted tngger and remaining television signal are then separatel y routed to interactive program source 58 and AVI generation umt 60. respectively For configurations in which the trigger is inserted within the vertical blanking interval of the television signal, tiigger extraction unit 56 is implemented with a VBI decoder. It is noted that depending upon the manner in which triggers are inserted, other mechanisms to implement trigger extraction unit 56 may be alternatively employed, such as a DTMF decoder or a demodulator. Interactive program source 58 is a source of interactive program information used to control, for example, operations of a set-top box. It will be appreciated that the set-top box is typically responsive to a user's remote control and provides an interactive display output to the user's television. The interactive progTam source 58 may be formed by a flow manager and server including a plurality of interactive programs contained in mass storage, such as a disk array. The interactive programs contained in mass storage may be installed from floppy disk, from tape storage, or through remote downloading, among other mechanisms. When interactive program source 58 receives an original trigger (as identified by the "original or repeat" field 206), interactive program source 58 performs an operation in accordance with the command code and, if present, the time code or file handle of the trigger. For example, interacUve program source 58 may receive a command 230 to queue (load)and play an interactive program specified by a specific file handle, in response to which interactive program source 58 loads the specified program from mass storage into a local memory (i.e., DRAM). Interactive program source 58 then plays the file corresponding to the file handle at the time specified by the time code. When interactive program source 58 plays a file, it outputs the specified interactive program in a bit stream to data input unit 66. A trigger command 200 as illustrated in Figure 2 may similarly be conveyed by remote network 10 to transmit the remote network's local time in order to synchronize the clock 70 of broadcast station 50 to the clock 22 of remote network 10. In other words, since the clock 22 and clock 70 may operate from slightly different crystal frequencies or may otherwise be offset from one another, the time of the remote network 10 as indicated by clock 22 may be conveyed to broadcast station 50 in order to ensure that the clock 70 indicates the same time. As stated previously, an original trigger conveyed by remote network 10 may not be received by broadcast station 50 or may be corrupted. Accordingly, the command protocol utilized by remote network 10 allows triggers to be repeated. Figure 7 illustrates a state diagram depicting states in which interactive program source 58 may be operating with respect to a particular loaded or queued file. As illustrated, interactive program source 58 may be in a stopped state 702, a playing state 704, a paused state 706, or an error recovery state 708. Figure 8 is a table summarizing state transitions associated with the state diagram of Figure 7. As indicated by transition number 1, if a continue trigger command is received during the paused command 706, interactive program source 58 transitions to playing state 704. This transition occurs regardless of whether the trigger is indicated as an original command or a repeated command. Similarly, transition number 2 occurs when a pause trigger command is received when interactive program source 58 is in playing state 704. As indicated by transitions 3 and 5, if a stop trigger command is received when the interactive program source is either in playing state 704 or paused state 706, interactive program source 58 transitions to stopped state 702. Transition number 6 depicts operation of interactive program source 58 when a time trigger command is received during either the stopped state 702. the playing state 704, or the paused state 706. When the time command trigger is received in any of these states, the interactive program source 58 venues the time code on the trigger with the local time indicated by clock 70, and performs any necessary adjustments to the time indicated by clock 70 As indicated by transition number 4, if a tngger command 230 for queuing a file and specifying a play time is received when interactive program source 58 is in stopped state 702, and if the tngger is indicated as onginal. the interactive program source 58 transitions to playing state 704, in which the interactive program source 58 starts the player at the specified time and plays the specified file If a repeated command is received corresponding to the specified file while the interactive program source 58 is in plavmg state 704 the interacuve program source 58 ignores the repeated tngger command On the other hand, if the interactive program source 58 receives a repeated trigger command to play a specified file at a specified time, and if the interactive program source 58 is in either stopped state 702 or paused state 706 interactive program source 58 transitions to error recovery state 708 as indicated bv number 7 During enor recovery state 708, the error recovery unit 72 determines the offset between the starting time code as indicated by the tngger command and the current time as indicated by clock 70 The interactive program source 58 then transitions to plaving state 704 and begins plav of the file If the current time is subsequent to the starting ume code indicated by the tngger command, the interactive program source 58 begins play of the file at a point as determined by error recovery umt 72 It is noted that in one embodiment enor recovery unit 72 is implemented in software Furthermore, enor recovery umt 72 mav be an integral portion of interactive program source 58 Refemng back to Figure 1, AVI generation unit 60 is a mechamsm configured to combine a television signal from trigger extraction umt 56 with an interactive program from interactive program source 58 to thereby generate an AVI signal for subsequent transmission The A-V compression umt 64 as illustrated within the specific embodiment of Figure 1 is configured to compress the television signal using a compression algonthm such as MPEG2 A-V compression umt 64 is further configured to packetize the compressed audio and video components of the television signal into fixed bit length packets, and to provide a header for each packet for identification This will be explained in further detail below Data input umt 66 provides an interface for interactive program information conveved from interactive program source 58 to AVI transmission umt 66 Data input umt 66 mav temporaπly buffer interactive program information until AVI transmission umt 68 can receive the information Similar to the output of A-V compression umt 64, interactive program information provided from data input umt 66 is packetized into fixed bit-length packets, with a header assoαated with each for identification It is noted that the interactive program information may be alternatively packetized by interactive program source 58 AVI transmission umt 68 is configured to combine the respective outputs of A-V compression umt 64 and data input umt 66 to form an AVI signal at its output In one embodiment. AVI transmission umt is implemented using a multiplexer which time division multiplexes the respective audio, video and interactive program packets The resulting time division multiplexed signal is then modulated on a earner for transmission via satellite uplink 62 Figure 9 illustrates an exemplary format of an AVI signal generated by AVI transmission umt 68 The signal format of Figure 9 includes time division multiplexed packets of audio, video, and interactive program informauon Each audio packet 300 includes a header field 302 (designated by "H") and a data field 306 Similarly, each video packet 310 includes a header field 312 and a data field 314 Finally, each interactive program packet 320 includes a header field 22 and a code/data field 324 It will be appreαated that in the illustrated AVI signal, many more video packets 310 are transmitted as time elapses in compaπson to the number of audio packets 300 and the number of interactive program packets 320 This is to accommodate the relatively high bandwidth requirements of video The system supervisor may dynamically control the bandwidth allocations provided to the video audio and interactive program packets, respectively, depending upon the particular requirements of the system at a given time It is noted that the header of each packet is used bv a receiving set top box to reassemble the television signal as well as the interactive program information according to an electronic program guide locally available in the set top box Further details regarding an exemplary embodiment of AVI generation umt 60 may be found within U S Patent Number 5.448,568 entitled "System For Transmitting An InteracUve TV Signal" bv Delpuch et al This patent is incorporated herein by reference m its entirety Turning next to Figure 10 a block diagram of another embodiment of a flow manager and server architecture for an interactive television system is shown Circuit portions that correspond to those Figure 1 are numbered identically for simplicity and clantv The tngger command protocols as illustrated bv Figures 4- 8 are emploved bv the architecture of Figure 10 in a manner similar to that descπbed above The system of Figure 10 includes a remote network 400 for conveying a television signal via a satellite uplink to a broadcast station 450 in a manner similar to that of the svstεm of Figure 1 Figure 10 illustrates a video tape playback apparatus 402 coupled to a VBI encoder 404 The VBI encoder 404 encodes tngger commands generated bv tngger generator 14 within the vertical blanking interval of a television signal from video tape playback apparatus 402 or from an alternative television signal source Tngger commands are generated bv tngger generator 14 in accordance with an electronic plavlist 406 indicating the programs to be transmitted A clock 22 is further coupled to tngger generator 14 to provide a Ume reference It is noted that the electronic play st 406 mav further be coupled to control the specific television signal provided to VBI encoder 404 and that the plavlist 406 mav be implemented using a computer svstem It is finally noted that video tape playback apparatus 402 mav provide an output with trigger information already inserted within the vertical blanking interval of the television signal This output mav bvpass VBI encoder 404 and be provided directlv to modulator 18 In addition, similar to the embodiment of Figure 1 , tngger commands could be provided with the television signal using techniques such as DTMF coding or data earner in the transmission Such alternative tngger insertion techniques may be emploved in the event that adequate VBI bandwidth is unavailable After the combined television-tngger signal is received and demodulated bv broadcast station 450, the analog television signal is converted to a digital format bv analog-to-digital converter 452 For the embodiment of Figure 4, the SMPTE 259M digital television signal standard is employed If the tngger commands are was encoded within the vertical blanking interval of the television signal, the digitized signal is then routed directly to the video network 454 Broadcast station 450 includes a data-to-VBI conversion unit 456 which mav be emploved when the tngger commands, from remote network 400 are provided using an alternative coding scheme, such as DTMF coding or data earner in the transmission The data-to-VBI conversion umt 456 is configured to convert the tngger information received by broadcast station 450 to digitized information which can be inserted into the vertical blanking interval of the digitized television signal by VBI digital encoder 458 In this manner, television signals provided to video network 454 are encoded with tngger information within their vertical blanking intervals Incorporating the tngger information directly within the digitized television signal itself avoids the necessity of having to know the delays associated with the television signal as it propagates through video network 454 (1 e., compared to a situation wherein the trigger informauon is routed via a different path to the tngger extraction mechamsm) Video network 454 is configured to process incoming television signals and may tape and or time shift these signals Video network 454 is further employed to assign designated incoming television signals to specified channels broadcast from digital broadcast station 450 It is noted that the illustrated output from video network 454 to VBI decoder 462 corresponds to a designated channel of broadcast station 450, and that additional, similarly configured channels may further be provided Video network 454 is controlled by a broadcast controller 460 Similar to the embodiment of Figure 1, after passing through video network 454, a digitized television signal is provided to a VBI decoder 462 which extracts the VBI tngger information and provides a SMPTE 259M digiuzed television signal (without tngger information) to AVI generation umt 60 The extracted tngger information is provided to a VBI- to-BCS command umt 464. which converts the VBI digitized command into the native command format employed bv broadcast controller 460 The naUve command conesponding to the tngger is then provided to flow server 466 or flow manager 468 to control the loading or playing of an interactive program designated bv the tngger AVI generation unit 60 combines the interactive programming information with the audio and video components of the television signal to form an AVI signal for transmission via satellite uplink 62 Enor recovery unit 72 operates in a manner similar to that descnbed above with respect to Figure 1 Specifically, enor recovery umt 72 compensates for the difference between a specified play time and the current time when a repeated command is received and the onginal command was not received Error recovery umt 72 determines an offset in the middle of a file to provide this compensation, as descnbed previously Figure 10 also illustrates a data network 470 and a gateway 472 through which interactive application programs can be loaded into flow manager 468 The gateway 472 may be coupled to remote locations via modem or internet A management station 474 is further coupled to data network 472 allow local control of the downloading of interactive application programs into flow manager 468 Figure 10 finally illustrates an optional second flow server 480 which is also configured to receive interactive application programs from flow manager 468 The application programs are then provided to a transmitter 482 through a data input unit 484 The interactive program channel formed by flow server 480, data input umt 484, and transmitter 482 are advantageously provided to allow interactive progτam transmissions independent of an associated television signal The output of transmitter 482 may be conveyed via a separate transponder of a satellite transmitting the AVI signal from satellite uplink 62 It is noted that the architecture of Figure 4 further allows broadcast controller 460 to control the generation of AVI signals for television programs that are provided locally to video network 454 It is further noted that broadcast controller 460 may receive alarms and errors from vanous system resources such as flow manager 468 and flow server 466. Turning finally to Figure 11, a block diagram of an interactive television system employing the remote network 400 and broadcast station 450 of Figure 10 is shown. Figure 11 illustrates the receipt of an AVI signal from broadcast station 450 by an end user via a satellite downlink 500 The AVI signal is decoded by an interactive set top box 502 which provides an output to a television set 504. The interactive decoder 502 executes an interactive application program conveyed within a selected AVI signal to allow interactivity by a user under control of a remote control 506 A return channel 508 utilizing a phone line and associated modems (not shown) interconnects the interactive decoder 502 to a transaction server 510, which monitors certain selections by the user and responds accordingly, as desired Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. For example, it is understood that the tngger command formats may take a vanety of alternative forms, such as diffeπng control and data fields. Similarly, a command may be indicated as being repeated in a vanety of different manners. For example, repeated commands may be assigned command code values which are umque from the onginal command code values It is intended that the following claims be interpreted to embrace all such vaπations and modifications

Claims: WHAT IS CLAIMED IS: 1 An interactive television system compnsing a remote network configured to transmit a television signal and to transmit an onginal interactive command to control an interactive program associated with said television signal, wherein said remote network is further configured to transmit a redundant interactive command subsequent to transmitting said onginal interactive command, and a broadcast station configured to receive said television signal and configured to detect incoming interactive commands associated with said television signal, wherein said broadcast station is further configured to control said interactive program m response to said redundant interactive command 2 The interactive television svstem as recited in Claim 1 wherein said broadcast station is configured to control said interactive program m response to said redundant interactive command if said onginal interactive command was not received by said broadcast station 3 The interactive television svstem as recited in Claim 1 wherein said redundant interactive command includes a bit field encoded to indicate that said redundant interactive command is repeated 4 The interactive television svstem as recited in Claim 3 wherein said broadcast station is further configured to ignore said redundant interactive command if said onginal interactive command was received by said broadcast station 5 The interactive television system as recited in Claim 1 wherein said redundant interactive command is a command to plav said interactive program a specified time 6 The interactive television svstem as recited in Claim 5 wherein said broadcast station is further configured to determine an offset between said specified Ume and an actual Ume of starting to play said interactive program m response to said redundant interactive command 7 The interactive television system as recited in Claim 6 wherein said offset specifies a point within said interactive program that compensates for a difference in said specified time and said actual time of starting to play said interactive program 8 The interactive television system as recited m Claim 1 wherein said remote network is configured to transmit said television signal, said onginal interactive command and said redundant interactive command via a wireless transmission, and wherein said broadcast station is configured to receive said television signal, said onginal interacUve command, and said redundant interactive command The interactive television system as recited in Claim 8 wherein said broadcast station is further configured to transmit said television signal and said interactive program The interactive television system as recited in Claim 6 wherein said remote network is further configured to transmit an additional interactive command to indicate a local time of said remote network, and wherein said broadcast station is configured to receive said additional interactive command and to set a clock of said broadcast station in accordance with said local time The interactive television svstem as recited in Claim 1 wherein said broadcast station further includes an interactive program source for stonng said interactive program and for controlling said interactive program in accordance with said incoming interactive commands A method for controlling interactive program content conveved with a video signal from a broadcast station compnsing transmitting said video signal from a remote network transmitting an onginal interactive command from said remote network to control an interactive program associated with said video signal, transmitting a redundant interactive command receiving said video signal and associated interactive commands at a broadcast station, and controlling an interactive program source in response to said redundant interactive command The method for controlling interactive program content as recited m Claim 12 further compnsing encoding said redundant interactive command with a value to indicate that said redundant interactive command is a repeated command The method for controlling interactive program content as recited m Claim 12 further compnsing controlling said interactive program source m response to said redundant interactive command only if onginal interactive command is not received bv said broadcast station; and controlling said interactive program source in response to said onginal interactive command if said onginal interactive command is received by said broadcast station The method for controlling interactive program content as recited in Claim 12 further compnsing determining an offset between a time specified by said redundant interactive command to play an interactive program and an actual time for playing said interactive program in response to said redundant interactive command. 16. The method for controlling interactive program content as recited in Claim 15 wherein said offset compensates for a delay incuned as a result of said broadcast station failing to receive said original interactive command. 17. A broadcast station for an interactive television system comprising: a receiver configured to receive a video signal, an original interactive command and a repeated interactive command from a remote network: and an interactive program source coupled to receive said original interactive command and said repeated interactive command, wherein said interactive program source is configured to detect whether a particular interactive command is an original or a repeated command, and wherein said interactive program source is configured to perform an operation in response to said repeated interactive command if said operation was not performed in response to said original interactive command. 18. The broadcast station for an interactive television system as recited in Claim 17 further comprising an error compensation umt coupled to said interactive program source, wherein said error compensation unit is configured to determine an offset between a specified time for playing an interactive program according to said repeated interactive command and a time at which said interactive program is actually played by said interactive program source. 19. The broadcast station for an interactive television system as recited in claim 18 further comprising a clock coupled to said error detection unit, wherein said error detection unit is configured to determine a difference between said specified time and a time specified by said clock. 20. The broadcast station for an interactive television system as recited in Claim 19 wherein said interactive program source is further coupled to receive a trigger command to set said clock. 21. A remote network for an interactive television system comprising: a television signal source for providing a television signal; a trigger generator for generating interactive commands to control an interactive program associated with said television signal; and a trigger insertion umt coupled to said television signal source and to said trigger generator, wherein said trigger insertion unit is configured to combine said television signal and said interactive commands; wherein said trigger generator is configured to generate redundant interactive commands.

Inventors: KALLURI RAMA, ZDEPSKI JOEL, KALLURI, RAMA, ZDEPSKI, JOEL
Applicants: THOMSON CONSUMER ELECTRONICS, THOMSON CONSUMER ELECTRONICS, INC.
Application year: 1997
Main classification: H04N7
IPC codes: H04N7