GB2440833A - Interactive broadcasting system which caters for time delays associated with broadcasting the data - Google Patents

Interactive broadcasting system which caters for time delays associated with broadcasting the data Download PDF

Info

Publication number
GB2440833A
GB2440833A GB0715643A GB0715643A GB2440833A GB 2440833 A GB2440833 A GB 2440833A GB 0715643 A GB0715643 A GB 0715643A GB 0715643 A GB0715643 A GB 0715643A GB 2440833 A GB2440833 A GB 2440833A
Authority
GB
United Kingdom
Prior art keywords
data
broadcast
time
local controller
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB0715643A
Other versions
GB0715643D0 (en
Inventor
Paul Krisman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ANSWERBACK Ltd
Original Assignee
ANSWERBACK Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ANSWERBACK Ltd filed Critical ANSWERBACK Ltd
Publication of GB0715643D0 publication Critical patent/GB0715643D0/en
Publication of GB2440833A publication Critical patent/GB2440833A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/53Arrangements specially adapted for specific applications, e.g. for traffic information or for mobile receivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/38Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space
    • H04H60/40Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space for identifying broadcast time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2221Secondary servers, e.g. proxy server, cable television Head-end being a cable television head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4758End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for providing answers, e.g. voting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8545Content authoring for generating interactive applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/28Arrangements for simultaneous broadcast of plural pieces of information
    • H04H20/30Arrangements for simultaneous broadcast of plural pieces of information by a single channel

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Social Psychology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A system for providing an interactive broadcast to a plurality of users comprises a central controller and one or more local controllers 12A, 12B in communication with the central controller. The central controller comprises a control server 16 for receiving data transmitted by a local controller or controllers, and broadcasting means 10 for broadcasting data for display to the local controller or controllers. The local controllers comprise a display 26A, 26B for displaying for users data that is broadcast to the local controllers by the central controller, and receive data relating to user inputs from a user interface device or devices 18A, 18B, 20A, 20B, 22A, 22B and 20 transmit such data to the central controller. The broadcast data includes data for identifying the time at which the data was broadcast, and the local controllers determine time information relating, e.g., to user inputs, using this time data.

Description

<p>INTERACTIVE ELECTRONIC SYSTEM AND METHOD FOR A PLURALITY</p>
<p>OF USERS</p>
<p>The present invention relates to an interactive electronic system and more particularly to an interactive broadcast system for a plurality of users.</p>
<p>Interactive electronic systems for multiple users are known in the art, especially in the fields of live events and interactive broadcasting. Typically, such systems are used to enable audience members to participate and interact with a broadcast by allowing users of the system to indicate their preference or response to a question.</p>
<p>In known interactive electronic systems, data is broadcast to a plurality of user interfaces (e.g. televisions with set-top boxes) from a central control server.</p>
<p>The Applicants have recognised that a problem associated with broadcasting an interactive application to plural different locations is the requirement to cater for time delays associated with broadcasting the data.</p>
<p>For example, broadcasting a video signal from recording studio to a remotely located television (TV) display via a satellite communication link may introduce the following delays: Studio and Network control processing 0.5 -1.0 seconds; MPEG coding 0.5 seconds; Satellite round trip 0.24 seconds; and MPEG decoding 0.5 seconds.</p>
<p>This example results in a total delay from the studio to the TV display of approximately 1.75 -2.25 seconds.</p>
<p>Because the delay associated with broadcasting the data to different venues may be variable and unknown, a broadcasted interactive application could be received at different venues at different times relative to the original time of the broadcast. Thus, users participating in an interactive event which is broadcasted to a number of different venues may be able interact with the broadcast at differing times relative to the original broadcast. This may effectively provide some users with additional time to answer a question,</p>
<p>for example.</p>
<p>It is therefore desirable to implement an interactive electronic system for a plurality of users which caters for time delays associated with broadcasting data to different venues.</p>
<p>According to a first aspect of the present invention, there is provided a system for providing an interactive broadcast to a plurality of users, the system comprising: a central controller and one or more local controllers in communication with the central controller; wherein the central controller comprises: means for receiving data transmitted by a local controller or controllers; and means for broadcasting data for display to the local controller or controllers; and the or each local controller comprises: means for displaying on a display for users data for display that is broadcast to the local controller by the central controller; and means for receiving data relating to user inputs from a user interface device or devices and for transmitting such data to the central controller; and wherein: the broadcast data includes data for identifying the time at which the data was broadcast; and the or each local controller comprises means for determining time information of the local controller using the data for identifying the time at which the data was broadcast that is included in the broadcast data.</p>
<p>According to a second aspect of the present invention, there is provided a method of operating system for providing an interactive broadcast to a plurality of users, which system comprises a central controller and one or more local controllers in communication with the central controller, the method comprising: the central controller: broadcasting data for display to the local controller or controllers; and the or each local controller: displaying on a display for users data for display that is broadcast to the local controller by the central controller; and receiving data relating to user inputs from a user interface device or devices and transmitting such data to the central controller; and wherein: the broadcast data includes data for identifying the time at which the data was broadcast; and the or each local controller uses the data for identifying the time at which the data was broadcast that is included in the broadcast data to determine time information of the local controller.</p>
<p>The present invention provides an interactive broadcast system in which a central controller transmits a "broadcast" data signal to one or more local controllers for display.</p>
<p>This broadcast data signal can, for example, and preferably does, comprise a television programme for display and preferably includes periodic user-prompts or stimuli, such as questions, to invite interactive responses by users watching the programme.</p>
<p>The local controllers also receive inputs from user interface devices and transmit data relating to such inputs to the central controller. This allows users to interact with the system.</p>
<p>In the present invention, data for identifying the time at which the data is broadcast to the local controller(s) is included in the broadcast data and is used by the local controller(s) to determine timing information (for example the time of user inputs).</p>
<p>As will be explained further below, this allows a local controller to determine the "true" time of, e.g., events at the local controller, such as (and preferably) user inputs, relative to the display of the broadcast data to users, notwithstanding any time delay in receiving the data at the local controller.</p>
<p>In particular, each local controller can, for example, and does preferably, use the time data included in the broadcast to synchronise its own "local" time to the "broadcast" time. The effect of this will then be that all the local controllers can then each be synchronised to a common clock value relative to their display of the broadcast data, notwithstanding any variable transmission time delays in receipt of the broadcast data by different local controllers.</p>
<p>Furthermore, each local controller will then, e.g., generate timings for events such as user inputs relative to the broadcast (their display of the broadcast) in a common time, frame.</p>
<p>The present invention also extends to the operation of the local controllers and of the central controller in their own right.</p>
<p>Thus, according to a third aspect of the present invention, there is provided a controller f or use in a system for providing an interactive broadcast to a plurality of users, the controller comprising: means for receiving data relating to user inputs from a user interface device or devices and for transmitting such data to a central controller; means for receiving broadcast data for display from the central controller, the broadcast data including data for identifying the time at which the data was broadcast; means for displaying broadcast data on a display for users of the system; and means for determining time information of the local controller using the data for identifying the time at which the data was broadcast that is included in the broadcast data.</p>
<p>According to a fourth aspect of the present invention, there is provided a method of operating a controller for use in a system for providing an interactive broadcast to a plurality of users, the method comprising the controller: receiving data relating to user inputs from a user interface device or devices and transmitting such data to a central controller; receiving broadcast data for display from the central controller, the broadcast data including data for identifying the time at which the data was broadcast; displaying received broadcast data on a display for users of the system; and determining time information of the local controller using the data for identifying the time at which the data was broadcast that is included in the broadcast data.</p>
<p>According to a fifth aspect of the present invention, there is provided a controller for use in a system for providing an interactive broadcast to a plurality of users, the controller comprising: means for broadcasting data for display to one or more local controllers, the broadcast data including data for identifying the time of broadcast of the data; and means for receiving data relating to user inputs from one or more of the local controllers.</p>
<p>According to a sixth aspect of the present invention, there is provided a method of operating controller for use in a system for providing an interactive broadcast to a plurality of users, the method comprising the controller: broadcasting data for display to one or more local controllers, the broadcast data including data for identifying the time of broadcast of the data; and receiving data relating to user inputs from one or more of the local controller or controllers.</p>
<p>Although it would be possible for the system of the present invention to include a single local controller only, in a particularly preferred embodiment there are plural local controllers, each having access to an appropriate display for displaying the data broadcast and transmitted by the central ontrol1er and each being coupled to one or more, and preferably plural, user interface devices.</p>
<p>The local controllers are preferably remote from the central controller and/or are preferably each arranged at locations where users will wish to participate in and interact with the broadcast, such as private homes and/or public buildings. In a particularly preferred embodiment the local controllers are located in private homes, public houses, bars and/or casinos.</p>
<p>Each local controller will, in effect, serve a given "venue". There could, of course, be more than one local controller (and display, etc.) at any given venue, if desired (and the local controllers at a given venue could each have their own individual displays, or share displays, etc., as desired -preferably each local controller has its own individual display).</p>
<p>The local controllers and the central controller have appropriate communication links with each other.</p>
<p>Thus there is a broadcast communication link for the broadcast data, and a data transmission link for the transmission of data (e.g. relating to user inputs) from the local controllers to the central controller. These communications links and the data transmissions can comprise any desired and suitable arrangements.</p>
<p>In a preferred embodiment, the broadcast data is transmitted via a television broadcast to the local controllers (which may be via a "normal" radio frequency transmission television broadcast, via satellite or cable, etc., as desired).</p>
<p>In another preferred embodiment, the broadcast transmissions takes place over a network link, such as, and preferably, over the Internet.</p>
<p>(It will be appreciated here that the data transmissions in general may be made wirelessly, or via wired connections, or a combination of wired and wireless connections, using any suitable arrangements for doing so, and may involve any number of intermediate components between the central controller and the local controller(s) .) The transmission of user-input data from the local controller(s) to the central controller can similarly take place in any desired and suitable fashion. It is preferably done via a communications network link to the central controller and preferably via the Internet.</p>
<p>The data that is broadcast to the local controllers for display can comprise any suitable and desired such data.</p>
<p>This broadcast data is preferably in the form of a television broadcast, and/or preferably comprises or has the nature of, a television programme. It preferably comprises an interactive event, preferably a continuous interactive event, preferably a live interactive event, and preferably includes periodic stimuli, such as questions, to invite responses from users. In a particularly preferred embodiment it comprises an interactive entertainment event or show, such as, and preferably, a quiz or game.</p>
<p>As well as the local controller(s) and central controller discussed above, it will be appreciated that the system of the present invention will also and preferably does also include an appropriate display or displays coupled to, and under the control of, the or each local controller, and one or more user interface devices coupled to the or each local controller. Thus, in a preferred embodiment, the system further comprises a display for displaying data from a local controller, and/or one or more, and preferably plural, user interface devices.</p>
<p>The displays may take any suitable form, such as television screens, computer monitors, projectors, etc., that can be used to display the broadcast data to users of the system.</p>
<p>The user interface devices that users use to interact in the system of the present invention can similarly comprise any suitable and desired such devices for allowing users to make inputs to and to interact with the system.</p>
<p>The user interface devices should, in response to a user input, generate data and provide such data to the corresponding local controller (which will then transmit some or all of the data relating to the user input to the central controller, as discussed above). In this way, users can interact with the system.</p>
<p>In a preferred embodiment, the user interface devices comprise keypads, preferably of a shape and size such that they may be easily held in a user's hand (although this is not essential). Each user interface device may, e.g., comprise one or a plurality of buttons and/or may comprise any suitable interface means such as, purely by way of example, a jog-dial, a touch-screen or a microphone (or a plurality thereof). The user interface devices (e.g. keypad) can preferably allow one or more and preferably plural (e.g. 4) users to use the same device at once.</p>
<p>A given local controller could have only a single user interface device associated with it, but in a preferred embodiment a and preferably each local controller has plural user interface devices associated with it (i.e. can receive and transmit data from two or more user interface devices) The or each local controller preferably transmits data relating to received user inputs upon demand or upon a pre-determined schedule to the central controller.</p>
<p>In the present invention, data for identifying the time at which the data is broadcast to the local controller(s) is included in the broadcast data and is used by the local controller(s) to determine timing information.</p>
<p>The data for identifying the time at which the data is broadcast that is included (embedded) in the broadcast data can take any suitable and desired form.</p>
<p>It could comprise, for example, the absolute (real) time at which the data is broadcast, or a relative time value (e.g. the time relative to the beginning of the broadcast). It is preferably periodically included in the broadcast data, preferably at regular intervals.</p>
<p>Thus, the broadcast data preferably includes a periodic, preferably regular, time stamp.</p>
<p>This time data is preferably in the form of machine-readable code that, preferably, can be extracted frOm the broadcast data by a local controller and then processed to derive or determine the time of the broadcast. Thus, the broadcast data preferably comprises machine-readable code for identifying the time at which data was broadcast.</p>
<p>-</p>
<p>In a particularly preferred embodiment, the time data is included in a portion of the broadcast data (e.g. program) that is to be displayed by the local controller (i.e. in a visible portion of the broadcast data). By placing the time data in a "visible portion of the broadcast program, the problem of a local controller (e.g. its broadcast receiver) removing data outside of the viewable area of broadcast (i.e. clipping the image) and thereby removing the time data is overcome.</p>
<p>In a preferred such embodiment, where appropriate, the local controller can and preferably does cover up the time data within the visible portion of the broadcast data by overlaying graphics, or other user-readable information, before the received data is displayed to users.</p>
<p>In a particularly preferred embodiment, particularly where the broadcast data for display has the nature of a television broadcast (program), the time data is included in the broadcast in the vertical blanking interval (VBI) part of the broadcast stream.</p>
<p>Most preferably, the time data is encoded as a teletext signal (in the teletext stream) in the (TV) broadcast.</p>
<p>In such an arrangement, the time data is preferably encoded in the standard teletext frame structure.</p>
<p>Other arrangements would, of course, be possible.</p>
<p>For example, time data in the form of text may be added to the broadcast data (from which the time information could then be extracted by a local controller using a suitable Optical Character Recognition (OCR) method).</p>
<p>Alternatively the time data may be in the form of a video watermark or bar code.</p>
<p>The local controller can extract the time data from the broadcast data in any desired and suitable manner.</p>
<p>For example, in the case where that data is embedded in the VBI component of the broadcast data, it can use filter software to extract the VBI component from the -11 -broadcast stream and then interpret the data contained therein to derive the time data.</p>
<p>The time data in the broadcast data can be used by a local controller in any desired and suitable manner for the purposes of deriving or determining time information for the local controller. In a particularly preferred embodiment, a or the or each local controller uses only the time data in the broadcast data when deriving or determining (all of) its time information.</p>
<p>In a particularly preferred embodiment, the time data in the broadcast (and preferably only that time data) is used by a or the local controllers to determine (when determining)' the time of an input or inputs made to a user interface device associated with (coupled to) the (respective) local controller. Thus, in a particularly preferred embodiment the or each local controller includes means for or a step of using (preferably only) the data included in the data broadcast for identifying the time the data was broadcast to derive or determine (when deriving or determining) the time of a user input made to a user interface device associated with the local controller.</p>
<p>In this way, the true time of user inputs of the local controller relative to the (local) display of the broadcast data can be determined by a local controller, irrespective of any broadcast reception time delay at the local controller.</p>
<p>Such timing information of user inputs of a local controller can be derived as desired, for example by checking the time data in the broadcast signal at the time of the user input. However, in a particularly preferred embodiment, the broadcast time data is used to set a clock of the local controller (which "local" clock can then be used to derive user input times, etc.).</p>
<p>This has the advantage that, in effect, the local controller's clock is then synchronised to (matches) the time of broadcast of the data. If each local controller -12 does this (which they preferably do), then each local controller will then be using the same timings relative to the broadcast data, notwithstanding the fact that each local controller may in fact receive and display the broadcast data at different (absolute) times.</p>
<p>Indeed, it is in general preferred that the local controllers use the time data included in the broadcast data (and preferably use only that time data included in the broadcast data) for setting (when setting) their (local) clocks. Thus, in a particularly preferred embodiment, the or each local controller includes means for or a step of setting a or its (local) clock on the basis of the time data included in the broadcast data (and preferably on the basis only of that time data), and most preferably means for or a step of synchronising or setting their clock signal (local time) with or to the time indicated in the broadcast data.</p>
<p>In a particularly preferred embodiment, the local controller(s) use the time data (and preferably only that time data) to determine (when determining) the response time of a user's input relative to a stimulus (such as a question or request for votes, etc.) included in the data broadcast (e.g. television program). Thus, in a preferred embodiment, the broadcast data includes a stimulus or stimuli for prompting user inputs, and a or each local controller includes means for using the time information (and preferably only that time information) included in the data broadcast to determine (when determining) the time of a user's inputs (responses) relative to a or the stimulus (the user's response-time to a or the stimulus).</p>
<p>In a preferred embodiment where the timing data is used to determine the time of a user input (e.g. a user's response time), the local controller in question transmits data relating to the user input and the determined time of the input to the central controller, preferably along with information identifying the user interface by which the input was provided.</p>
<p>This data is preferably then received and processed by the central controller, e.g., to determine if the input is a correct response and/or the fastest response.</p>
<p>Such processing may include any or all of the steps of converting, accumulating, counting, deleting, displaying and storing the received data in either its received form or any other form into which the data may be converted by the central controller.</p>
<p>In a preferred embodiment, a and preferably each local controller can also display on its respective (local) display information related to user inputs, such as, and preferably, to indicate that a first response has been provided by a user at the venue of the local controller, the input, the identity of the user interface and/or the calculated response time.</p>
<p>In a preferred embodiment, a and preferably each local controller is arranged to process the data for identifying the time of the broadcast in the broadcast data and data generated by at least one user interface and to selectively transfer data to at least one of a display and the central controller in response to processing the time identifying data and the generated data.</p>
<p>In a preferred embodiment, if a local controller determines that a user input response time is negative, it does not transmit data relating to the response (input) to the central controller. This is because a negative value time taken for a user to respond to the displayed stimulus will indicate that the user activated a user interface (made their input) before the stimulus was received by the relevant local controller and displayed to the users at the respective venue. In such 35. a situation, the local controller preferably discards the data signal received from the activated user interface.</p>
<p>-14 -In a particularly preferred embodiment, the local controllers are also or instead arranged to not transmit data to the central controller, and, preferably, to discard data signals received from user interfaces, when the calculated response time of a user's input is larger than a predetermined value (a predetermined maximum response time). In other words, a time window can preferably be defined, wherein a local controller only transmits data relating to a user response to the central controller if the calculated time taken for the response is within the time window (i.e. a predetermined range of values, 0 - where is the maximum permitted response time).</p>
<p>In a preferred such embodiment, the value of maximum permitted response time is indicated by data included (embedded) in the data broadcast. This will allow the value of the maximum response time to be modified during the broadcast program, and the local controllers can then obtain the value of the maximum response time from the embedded data and use it in subsequent calculations as necessary. Of course, the value of the maximum permitted response time may be set for use by the local controllers in other ways, and may not even be variable. Further, the definition of a maximum response time, is optional. For example it may not be required where a fastest user response ends an interactive game and subsequent responses from the same venue are to be ignored.</p>
<p>In a preferred embodiment, data received by the central controller from the local controllers is used to identify the fastest response to a stimulus/question provided by the broadcast program.</p>
<p>In a preferred embodiment, the received user input related data processed by the central controller can be used in conjunction with the broadcast data (e.g. television program). For example, and preferably, the -15 -central controller may use some or all of the processed data to control and/or modify the broadcast data (e.g. broadcast television program). For example, processed data relating to the previous question may also be included within the broadcast program. Such inclusion* may be, for example, achieved by modifying the actual broadcast program (e.g. information displayed in the background of studio may be modified) or by modifying or providing machine-readable code embedded within the signal to be broadcast, etc..</p>
<p>Thus, in a particularly preferred embodiment, the broadcast data is based, at least in part, on user input data received from the local controller(s). Thus, in a preferred embodiment, the present invention comprises means for or a step of the central controller receiving user input data from a local controller or controllers and modifying and/or controlling the broadcast data that is transmitted to the local controller(s) on the basis of the user input data.</p>
<p>In such an arrangement, the central controller preferably consolidates and/or mixes received user-input data with the, e.g., television program, to be broadcast and then broadcasts the program to the local controllers.</p>
<p>1n a particularly preferred embodiment, as well as the broadcast data for display that is transmitted to the local controllers, the central controller also includes means for or a step of transmitting data for display to a local controller or controllers separately to the broadcast of data for display to the local controller or controllers (and the local controllers include means for displaying such data for users).</p>
<p>This data for display that is transmitted to the local controller by the central controller separately to the broadcast data can be transmitted in any desired form. For example, the "broadcast" data and the separate data transmission can be transmitted to the -16 -local controller(s) using logically-separated transmissions (channels) on the same physical transmission medium (channel), such as time-multiplexed transmissions over a network link. They could also take place over physically separated (and distinct) transmission arrangements (channels).</p>
<p>It should also be noted here that references to "broadcast" data and "transmitted" data are not intended to require different delivery mechanisms for such data to the local controller(s), and both sets of data could be delivered to the local controllers using the same delivery mechanism (transmission arrangement or medium) if desired.</p>
<p>In a particularly preferred embodiment, the data transmissions to the local controller(s) take place via a different transmission arrangement to the broadcast data. Most preferably they are made over a network communications link, such as, and preferably, via the Internet.</p>
<p>The data for display that is transmitted to the local controller(s) separately to the broadcast data can comprise any desired and suitable such data. It is preferably data that does not have the form of a continuous, and/or live, event (such as a television program), but isinstead, for example, data that represents results and/or statistics, etc., relating to the broadcast data (program or event) and preferably data for display relating to user inputs provided in response to the broadcast data (program or event).</p>
<p>In a particularly preferred embodiment, the data for display that is transmitted separately to the broadcast data comprises data that is customised for (specific to) the local controller or controllers to which it is transmitted. In other words, it preferably comprises data that is "local" or specific to a given local controller or controllers (in contrast to the broadcast data that is intended to be common to, and to -17 -be displayed in common by, all of the local controllers). Thus, in a particularly preferred embodiment, one or more of the local controllers will receive via a "separate" data transmission data for display that is customised for, and/or specific to, them.</p>
<p>Most preferably in such an arrangement, the central controller can transmit plural sets of such data, each to different local controllers or groups of local controllers. This would then allow each local controller and/or group of local controllers to receive and display data that is specific or customised to them.</p>
<p>Thus, in a preferred embodiment, the data transmission that is separate to the broadcast data comprises data that is to be displayed by particular, preferably selected, local controller(s) only and most preferably data that is to be displayed by a group of the local controllers that are associated with each other.</p>
<p>In a particularly preferred embodiment, the data that is transmitted separately to the broadcast data is based on user input data received by the central controller. Preferably the data transmission is based on user input data received from the local controller or controllers to which the data transmission is to be sent. Most preferably it relates to and/or is based on data relating only to the inputs of users made via (associated with) the local controller or controllers (group of controllers) to which the data transmission is to be sent.</p>
<p>This facilitates the provision of specific, local data (data of local interest) to desired groups or sets of local controllers (and hence, e.g., users at a given venue or venues). For example, information relating to the user inputs provided at a venue, such as, local or intra-venue information, such as a venue leader board, can thus be displayed to users at the venue in -18 -conjunction with the broadcast "global" interactive event.</p>
<p>In a particularly preferred embodiment, data including information about the fastest response is transmitted to the local controllers for display to the users of the system. Preferably, such data transmitted to a specific venue (local controller or controllers) is customized to the venue and therefore provides information which is tailored to the venue. For * 10 example, and preferably, a list of the fastest responses from each venue may be provided to a first local controller for display at a first venue, wherein the fastest response from first venue is highlighted within the list.</p>
<p>It will be appreciated that in these arrangements, each local controller can produce an interactive program * which is customized to the specific venue at which it i,S located. In particular, the broadcast program is preferably a global broadcast which is supplied in the same form to any number of venues, whereas the data transmitted to each local controller separately is preferably specific to the controller to which it is transmitted. By consolidating these two received data signals, the local controllers produce a data signal for display which may contain data of a global nature (e.g. * * data relating to the inputs of all of the users of the interactive system) and data of a local or regional nature (e.g. data relating only to the inputs of users local to the specific local controller).</p>
<p>Thus, in a preferred embodiment of the invention which contains more than one venue, each of the venues may display an interactive broadcast which combines a broadcast signal (containing information relating to all of the venues of the system) and a custom transmitted signal (containing information relating to a specific venue and/or venues local to the same).</p>
<p>-19 -In these arrangements, the or each local controller can display the broadcast data and the separately transmitted data that it receives from the central controller in any desired fashion. Thus, it could, for example, (selectively) display one or other of the broadcast data and the transmitted data on the display for users.</p>
<p>In a preferred embodiment, the or each local controller can and preferably does consolidate and/or mix the received broadcast data and transmitted data for display. Thus, the or each local controller can preferably display both data broadcast by the central controller and data separately transmitted to the local controller from the central controller simultaneously on a user display.</p>
<p>It should be noted here that a local controller need not display the data immediately i is received, but the received data and broadcast may be stored for future interpretation and use. Thus, in a preferred embodiment, the or each local controller can store data received from the central controller. Similarly, although in one preferred embodiment the data broadcast and "separate" data transmission take place concurrently (and preferably simultaneously) this is not essential and they could be separated in time if desired.</p>
<p>Indeed, in a preferred embodiment, the transmitted, "local" data, is transmitted ahead of time (the time for its display) and/or at the same time as the broadcast data (that it is to be displayed with).</p>
<p>In a particularly preferred embodiment, the broadcast data is displayed by a, and preferably by each, local controller in real-time, as it is received.</p>
<p>This is particularly applicable where the broadcast data for display comprises an interactive event, such as a television program.</p>
<p>In a particularly preferred embodiment, the display of the additional, separately transmitted data is -20 -triggered by the broadcast data, e.g., and preferably, by including (encoding) data elements (commands) to trigger such display in the broadcast data (this could be done by including appropriate data (e.g. commands) in, e.g., and preferably, the vertical blanking interval portion (e.g. and preferably as a teletext transmission) of a television broadcast -other arrangements would, of course, be possible). In this case the transmitted data is preferably transmitted to the local controllers in advance of being displayed (ahead of the time for its display) (and then stored by the local controller), and its display then triggered by the broadcast data. This allows the broadcast (data) to control the display of the transmitted data.</p>
<p>In a particularly preferred embodiment, the broadcast data is displayed on a display for users and data from the transmitted data for display is displayed on the display during the display of the broadcast data (preferably in response to data in the broadcast data triggering such display).</p>
<p>Thus, in a particularly preferred embodiment, the additional transmitted data is transmitted to the local controller(s) ahead of being displayed, and its display is triggered by the broadcast data (preferably by including data elements or commands in the broadcast data to trigger its display). The broadcast data is preferably displayed in real time, as it is received.</p>
<p>In a particularly preferred embodiment a, and preferably each, local controller, as well as operating in the manner of the present invention as discussed above, can also operate independently of the central controller and the broadcast environment, and/or independently of any user interaction, for example to control displays, etc., locally. This is preferably done to provide locally-hosted entertainment at the venue of the local controller, such as music, and/or to provide and facilitate maintenance functions. Thus, in -21 -a preferred embodiment a or each local controller can display data for users independently of any data transmission by the central controller and/or independently of any user interaction via the local controller.</p>
<p>It will be appreciated that various components and elements of the system of the present invention, such as the central controller, local controllers, etc., can be arranged and constructed in any desired and suitable form. Thus they could, for example, comprise single units or systems, such as servers, that are configured to perform all the functions described, or they could.</p>
<p>comprise a number of different components such as servers, processors, etc., that are each appropriately coupled to each other for carrying out and performing the various functions. Thus, for example, the central controller need not comprise a single device, but could comprise a number of devices that are associated with each other, such as one server for controlling the broadcast data to the local controllers, and another, separate server for coordinating the separate data transmission to the local controller. It would also, e.g., be possible for there to be more than one central controller in the system.</p>
<p>Thus it should be understood that references herein to a "central controller" and a "local controller", etc., are not intended to require a single device that performs all the described functions (although in one embodiment that is the preferred arrangement), but are also intended to encompass arrangements in which plural separate or different devices or components act together to perform the functions of the necessary "controller", etc..</p>
<p>It would similarly be possible for the various functions of the different components of the system of the present invention to be performed in a distributed form, and with the components not necessarily having to -22 -be in the same physical locations, for example.</p>
<p>Similarly, a local controller and its respective user interface device(s) could, e.g., be separate devices, or could be integrated into a single unit or device, etc., as desired.</p>
<p>In a preferred embodiment, the local controller includes processing means.</p>
<p>The central controller preferably comprises a central server and preferably comprises a central server for processing data and transmitting data to the or each local controller, the or each local controller being in communication with the central server to transmit data to the central server. The central controller preferably also or instead comprises broadcasting means for broadcasting data to the local controller.</p>
<p>The method of the invention preferably includes generating data in response to a user input in a least one user interface, and processing the generated data in a local controller, and preferably also or instead includes broadcasting data from broadcasting means to a local controller and, preferably, processing the broadcasted data in the local controller.</p>
<p>The applicants have further recognised that, surprisingly, the present invention can advantageously avoid the need to use additional components, such as a synchronisation server. Thus, in a particularly preferred embodiment, the system of the present invention does not include a synchronization server for generating a time reference signal. Preferably, the local controller(s) are not in communication with a synchronization server, and/or do not receive a time reference signal from a synchronization server.</p>
<p>It is also preferred in some embodiments that a or the or each local controller is not arranged to selectively transfer data to at least one of the display and the central controller in response to processing the -23 -time identifying data in the broadcast data and data generated by at least one user interface.</p>
<p>Similarly, in a preferred embodiment, the method of the present invention does not comprise (and comprises not) generating a time reference signal in a synchronization server (and transmitting the time reference signal to a or the or each local controller).</p>
<p>It is also preferred in some embodiments for the method not to comprise selectively transferring data to at least one of a display for displaying data and a central server for processing data in response to processing the broadcast data and data generated by at least one user interface.</p>
<p>This said, the Applicants have recognised that there may be other situations and circumstances where the use of a synchronisation server, etc., may in fact be desirable and/or advantageous.</p>
<p>Thus, in another preferred embodiment of the invention, the system includes a synchronization server for generating a time reference signal, and the local controller(s) are in communication with the synchronization server to receive the time reference signal from the synchronization server. Similarly, the method of the present invention preferably includes generating a time reference signal in a synchronization server and transmitting the time reference signal to the local controller(s) In these embodiments, it is preferred that the local controller is arranged to process the data (machine-readable code) identifying the time of the broadcast and data generated by at least one user interface and to selectively transfer data to at least one of the display and the central server in response to processing the machine-readable code and the generated data. Similarly, the method in these embodiments preferably comprises in response to processing the broadcast data and data generated in response to a user input in at least one user interface, selectively transferring data to at least one of a display for displaying data and a central server for processing data.</p>
<p>It is believed that such arrangements may be new and advantageous in their own right.</p>
<p>Thus, according to a further aspect of the invention, there is provided an interactive system for a plurality of users, the system comprising: a local controller operable to receive data from at least one user interface for generating data in response to a user input, the local controller including processing means; broadcasting means for broadcasting data to the local controller, wherein the broadcasted data comprises machine-readable code for identifying the time at which data was broadcasted; a synchronization server for generating a time reference signal, the local controller being in communication with the synchronization server to receive the time reference signal from the synchronization server; a central server for processing data and transmitting data to the local controller, the local controller being in communication with the central server to transmit data to the central server; and a display for displaying data from the local controller, wherein the local controller is arranged to process the machine-readable code and data generated by at least one user interface and to selectively transfer data to at least one of the display and the central server in response to processing the machine-readable code and the generated data.</p>
<p>According to a further aspect of the invention, there is provided a method of operating an interactive -25 -system for a plurality of users, the method comprising the steps of: generating data in response to a user input in a least one user interface; processing the generated data in a local controller; broadcasting data from broadcasting means to the local controller, wherein the broadcasted data comprises machine-readable code for identifying the time at which data was broadcasted; generating a time reference signal in a synchronization server and transmitting the time reference signal to the local controller; processing the broadcasted data in the local controller; and in response to processing the broadcasted data and the generated data, selectively transferring data to at least one of a display for displaying data and a central server for processing data.</p>
<p>As will be appreciated by those skilled in the art, these aspects and embodiments of the invention can and preferably do include any one or more or all of the preferred and optional features of the invention described herein, as appropriate.</p>
<p>Thus, for example, in a preferred embodiment of these aspects and embodiments of the invention, the local controller is arranged to calculate and the method comprises calculating the value of. a broadcast time delay by processing the machine-readable code and the received time reference signal, the broadcast time delay being a time delay associated with broadcasting data to the local controller. Most preferably the local controller is arranged to calculate and the method comprises calculating a time taken for a user to provide a user input in response to a displayed stimulus by processing the machine-readable code, the received time reference signal, the calculated value of a broadcast -26 -time delay, and the data generated data in response to a user input.</p>
<p>Similarly, the display is preferably arranged to display both data broadcasted by the broadcasting means and data transmitted to the local controller by the central server.</p>
<p>In a preferred embodiment of these aspects and arrangements of the invention, having more than one local controller operable to receive data from at least one user interface for generating data in response to a user input, each local controller includes processing means and is in communication with the synchronization server to receive the time reference signal from the synchronization server, and each local controller is in communication with the central server to transmit data to the central server, connected to a display for displaying data from the local controller, and arranged to process the machine-readable code and data generated by at least one user interface and to selectively transfer data to at least one of the display and the central server in response to processing the machine-readable code and the generated data.</p>
<p>In a preferred embodiment of these aspects and embodiments of the invention, the time reference signal is provided to the local controller using the network timing protocol, and/or the machine-readable code comprises data relating to data transmitted to the central server from a local controller.</p>
<p>According to further aspect of the invention, there is provided an interactive system for a plurality of users, the system comprising: a local controller operable to receive data from at least one user interface for generating data in response to a user input, the local controller including processing means; broadcasting means for broadcasting data to the local controller, wherein the broadcast data comprises -27 -machine-readable code for identifying the time at which data was broadcast; a central server for processing data and transmitting data to the local controller, the local controller being in communication with the central server to transmit data to the central server; and a display for displaying data from the local controller, wherein the local controller is arranged to process the machine-readable code and data generated by at least one user interface to determine timing information relating to data generated by the user interface.</p>
<p>According to a further aspect of the invention, there is provided a method of operating an interactive system for a plurality of users, the method comprising the steps of: generating data in response to a user input i-n a least one user interface; processing the generated data in a local controller; broadcasting data from broadcasting means to the local controller, wherein the broadcast data comprises machine-readable code for identifying the time at which data was broadcast; processing the broadcast data in the local controller; and in response to processing the broadcast data and the generated data, determining timing information relating to the generated data.</p>
<p>As will be appreciated by those skilled in the art, these aspects and, indeed, all of the aspects and embodiments of the present invention described herein can and preferably do include any one or more or all of the preferred and optional features of the invention described herein, as appropriate.</p>
<p>The present invention may be used to provide any desired form of interactive broadcast, although as will -28 -be appreciated from the above, it is particularly applicable to the provision of interactive entertainment broadcasts, such as quizzes and games. Also, although the display of data, etc., to users in the present invention is intended to comprise and preferably comprises, visual, and preferably visual and audio, display to users, the invention could also be applied to arrangements which display data in an audio form only, if desired.</p>
<p>The methods in accordance with the present invention may be implemented at least partially using software e.g. computer programs. It will thus be seen that when viewed from further aspects the present invention provides computer software specifically adapted to carry out a method or the methods herein described when installed on data processing means, a computer program element comprising computer software code portions for performing a method or the methods herein described when the program element is run on data processing means, and a computer program comprising code means adapted to perform all the steps of a method or of the methods herein described when the program is run on a data-processing system.</p>
<p>The invention also extends to a computer software carrier comprising such software which when used to operate a radio system comprising data processing means causes in conjunction with said data processing means said system to carry out the steps of a method or of the methods of the present invention. Such a computer software carrier could be a physical storage medium such as a ROM chip, CD ROM or disk, or could be a signal such as an electronic signal over wires, an optical signal or a radio signal such as to a satellite or the like.</p>
<p>It will further be appreciated that not all steps of the methods of the invention need be carried out by computer software and thus from a further broad aspect the present invention provides computer software and -29 -such software installed on a computer software carrier for carrying out at least one of the steps of a method or of the methods set out herein.</p>
<p>The present invention may accordingly suitably be embodied as a computer program product for use with a computer system. Such an implementation may comprise a series of computer readable instructions either fixed on a tangible medium, such as a computer readable medium, for example, diskette, CD-ROM, ROM, or hard disk, or transmittable to a computer system, via a modem or other interface device, over either a tangible medium, including but not limited to optical or analogue communications lines, or intangibly using wireless techniques, including but not limited to microwave, infrared or other transmission techniques. The series of computer readable instructions embodies all or part of the functionality previously described herein.</p>
<p>Those skilled in the art will appreciate that such computer readable instructions can be written in a number of programming languages for use with many computer architectures or operating systems. Further, such instructions may be stored using any memory technology, present or future, including but not limited to, semiconductor, magnetic, or optical, or transmitted using any communications technology, present or future, including but not limited to optical, infrared, or microwave. It is contemplated that such a computer program product may be distributed as a removable methuin with accompanying printed or electronic documentation, for example, shrink-wrapped software, pre-loaded with a computer system, for example, on a system RUM or fixed disk, or distributed from a server or electronic bulletin board over a network, for example, the Internet or World Wide Web.</p>
<p>For a better understanding of the invention, embodiments will now be described, purely by way of -30 -example, with reference to the accompanying drawings, in which: Figure 1 shows an electronic system according to an embodiment of the invention; Figure 2 is a timing diagram illustrating the operation of the system shown in Figure 1; Figure 3 shows an electronic system according to a second embodiment of the invention; and Figure 4 is a timing diagram illustrating the operation of the Eystem shown in Figure 3.</p>
<p>Like reference numerals refer to like elements throughout.</p>
<p>The term user interface' refers to apparatus for receiving a user input comprising at least one input interface, such as a button. Although a user interface is preferably of a shape and size such that it may be easily held in a user's hand, a user interface according to the invention may be of any suitable shape and size.</p>
<p>Furthermore, a user interface need not comprise a plurality of buttons but, instead, may comprise any suitable interface means such as, purely by way of example, a jog-dial, a touch-screen or a microphone (or a plurality thereof).</p>
<p>Referring to Figure 1, an electronic system according to an embodiment of the invention is shown.</p>
<p>The electronic system comprises first 12A and second 12B local controllers at first 14A and second venues 14B, respectively, and a central controller including a central server 16 and a broadcast antenna 10 at a location which is remote from the first 14A and second 14B venues.</p>
<p>A venue is a location at which one or more users can participate in and interact with a broadcasted interactive event, for example a public house.</p>
<p>The first 12A controller is operable to receive data from first 18A, second 20A and third 22A user interfaces, the user interfaces generating data in -31 -response to user inputs. Similarly, the second 12B controller is operable to receive data from fourth 18B, fifth 20B and sixth 22B user interfaces.</p>
<p>Both the first 12A and second 12B local controllers are in communication with the central server 16 via a network 24, for example the internet, so that they can transmit and receive data to and from the central server 16. First 26A and second 26B displays for displaying data are also connected to the first 12A and second 12B local controllers, respectively.</p>
<p>The central server 16 comprises a computer system for processing data.</p>
<p>The broadcast antenna 10 is arranged to broadcast data for display to the venues 14A and l4B. Data broadcast by the antenna 10 includes machine-readable code for identifying the time at which data was broadcast.</p>
<p>Thus, the local controllers 12A and l2B are arranged to receive broadcast data comprising machine-readable code that represents a time reference signal. Upon receipt of this, the local controllers 12A and 12B process the machine-readable code and data generated by a connected user interface to calculate timing information relating to when the data was generated by the user interface, and (preferably selectively) transfer that data to the central server 16 and/or a connected display.</p>
<p>In an example where the central server 16 operates in conjunction with a broadcasted television program, the central server 16 and the broadcast antenna 10 are both located at a television studio. Of course, this is not essential to the invention, and the central server 16 and the broadcast antenna 10 may be located at separate locations as may be necessary.</p>
<p>Referring now to both Figures 1 and 2, an exemplary operation of the electronic system will be detailed, wherein the electronic system provides an interactive -32 -television program to a plurality of users. In this example, the interactive television program contains questions which theusers answer in orderto interact with the program. A user providing a correct answer in the quickest time (i.e. the first correct answer) is deemed to be the winner.</p>
<p>When the system is ready for an interactive television program to be broadcasted, the broadcast antenna 10 broadcasts the program via a broadcast communication link to the first 14A and second 14B venues. The time at which the program was broadcasted is denoted herein with a subscript B (i.e. TB) and machine-readable code containing information relating to the value of TB is embedded within the broadcasted program.</p>
<p>In the present embodiment, the time signal (representing the moment of broadcast, TB) is sent as part of the broadcast in the teletext (VBI) part o.f broadcast stream. It is stored in bespoke format, embedded in the standard teletext frame structure. On reception at the local controller, standard filter software is used to extract the VEI component from the stream, and then a program is used to interpret the time signal data contained therein. Standard calls in Windows are then used to set the clock on the local controller to synchronise with the time in the studio extracted from the broadcast data stream. In this way, any delay between the signal being broadcast and the reception at the venue is effectively eradicated.</p>
<p>(In other words, the time embedded in the broadcast stream is used to set the clock on each local controller, such that the time on each local controller is set to match the picture being seen on the local displays.) Variations of the above-detailed method of embedding machine-readable time code within the broadcasted program are nunerous. For example, text may -33 -be added to the program from which information can be extracted by a local controller using a suitable Optical Character Recognition (OCR) method, and/or such machine-readable code may be in the form of a video watermark or a barcode.</p>
<p>Whilst the program is being broadcast to the first 14?. and second l4B venues, time passes. After a time delay D1, the broadcast program is received by the local controller 12A at the first venue 14A. This time (the time at which the broadcast program is received by the first local controller 12?.) is denoted as TRG1 and is defined by the following equation (equation 1): T1 = T8 (1).</p>
<p>However, although D1 is unknown, the "true" time of the broadcast TB can be obtained by the local controller from the machine-readable time code embedded in the broadcast and thus by setting the local time at the local controller to the received time signal in the broadcast data, the effect of the broadcast time delay Dl can in effect be removed, and any timings generated by the local controller (e.g. the times at which user inputs are made) will then be relative to the "true" time of the broadcast and to the display of the broadcast by the local controller, notwithstanding any broadcast time delay.</p>
<p>(In other words, because the local controller uses the time T8 in the received broadcast to set its local time clock, it effectively sets the time Tft01 at which the broadcast program is received and displayed to "TB", so that its local clock is synchronised to the common, "true" time of the broadcast.) The received program is then fed to the display 26A by the local controller l2A for display to the users of the system at the first venue 14?.. In this way, the broadcast program is communicated to the users of the -34 -system at the first venue 14A, the program including a stimulus such as a question.</p>
<p>After the program is received by the first local controller 12A at the first venue 14A, and before a user interface is activated at the first venue 14A in response to stimulus/question displayed, the broadcast program is received by the local controller 12B at the second venue l4B. Thus, as illustrated in Figure 2, the time at which the broadcast program is received by the second local controller 12B is denoted as TRG2, and the time delay associated with broadcasting the program to the second venue is denoted as D2. Accordingly, it will be understood that the time at which the broadcast program is received by the second local controller 12B, T92, is defined by the following equation (equation 3): TRQ2 TB + D2 (3) Again, although D2 is unknown, the "true" time of the broadcast TB can be obtained by the local controller from the machine-readable time code embedded in the broadcast and thus by setting the local time at the local controller to the received time signal in the broadcast data, the effect of the broadcast time delay D2 can in effect be removed, and any timings generated by the local controller (e.g. the times at which user inputs are made) will then be relative to the "true" time of the broadcast and its display, notwithstanding any broadcast time delay.</p>
<p>The received program is then fed to the display 26B by the second local controller 12B and displayed to the users of the system at the second venue 14B. In this way, the broadcasted program is communicated to the users of the system at the second venue 14B, the program including a stimulus such as a question.</p>
<p>1hilst the users of the system at the second venue 14B are contemplating their response to the -35 -stimulus/question provided in the displayed program, a first user activates the first user interface 18A to provide a response to the stimulus. The time at which the first user activates the first user interface 18A is denoted by TKP 1. When the user activates the first user interface 18A, the first user interface 18A generates a data signal in response to the user input and transmits the generated data signal to the first local controller 12A in which it is processed. Such processing may include any or all of the steps of converting, accumulating, counting, deleting, displaying and storing the received data in either its received form or any other form into which the data may be converted by the local controller 12A.</p>
<p>Because the first local controller 12A has synchronised its clock to the time of the broadcast, T,, (rather than the time of reception, T,1), it can readily determine using its local clock time the "true" value of the time at TKPO1 (the time at which the first user activates the first user interface 18A) relative to the common broadcast time, T, and thus the true" time taken for the first user to respond to the displayed stimulus at the first venue.</p>
<p>It will be appreciated that the above detailed method of calculating the time at which a first user activates a first user interface uses timing information embedded in the broadcasted program to compensate for the broadcasting delay D1. By compensating for this delay, the local controller obtains a value of the time taken for a first user interface to be activated (T1) which is relative to the actual time at which the broadcasted program was communicated to the users of the system at the first venue 14A.</p>
<p>For the purposes of this example, it is assumed that the time taken to generate a data signal in response to the user input and to transmit the data signal to the local controller is negligible. Such timing is therefore not accounted for when calculating timing information. However, it will be understood that the finite time taken to complete the steps of generating and transmitting the data signal can be included in the above calculations. Further, it may be appreciated how the above method of calculating the time at which a user activates a user interface at the first venue 14A can be extended in a straightforward manner to subsequent responses from other user interfaces at the first venue.</p>
<p>As can be seen from Figure 1, the first local controller 12A is in communication with the central server 16 via the network 24 so that it can transmit and receive data to and from the central server 16. Using network-based communication link 24, the first local controller 12A then transmits some or all of the data relating to the-first user input to the central server 16. For example, the first local controller l2A of the present example transmits the calculated value of LTLl to the central server along with information identifying the user interface by which the response was provided.</p>
<p>This data is received and processed by the computer system 30 of the control server 16.. As above, it is to be appreciated that such processing may include any or all of the steps of converting, accumulating, counting, deleting, displaying and storing the received data in either its received form or any other form into which the data may be converted by the computer system 30.</p>
<p>Although optional, the first local controller 12A also feeds a signal to the display 26A which causes the display 26A to indicate that a first response has been provided by a user at the venue l4A. The display 26A may also display further information relating to the first response, such as the identity of the user interface and the calculated time response time TLl -37 -Subsequent to a first user activating a first user interface 18A at the first venue (in other words, subsequent to TKpBl), a user at the second venue 14B activates the fourth user interface 18B to provide a response to the stimulus. The time at which this user activates the fourth user interface 18B at the second venue 14B is denoted by TKp2.</p>
<p>When the user activates the fourth user interface 18B, the user interface l8B generates a data signal in response to the user input and transmits the generated data signal second local controller 12B in which it is processed. As before, the time taken to generate a data signal in response to the user input and to transmit the data signal to the local controller is assumed to be negligible.</p>
<p>As before, because the second local controller has synchronised its clock to the broadcast time value, TB, the second local controller 12B can determine the true value of the local time at TKpB2 (the time at which the user activates the fourth user interface 18B) relative to the common broadcast time, TB, and thus the true time taken for the user to respond to the displayed stimulus at the second venue.</p>
<p>Again, it will be appreciated that the above detailed method of calculating the time at which a second user activates their user interface uses timing information embedded in the broadcast program to compensate for the broadcasting delay D2. By compensating for this delay, the second local controller obtains a value of the time taken for a user interface to be activated (T2) which is relative to the actual time at which the broadcasted program was communicated to the users of the system at the second venue 14B.</p>
<p>Using the network-based communication link 24, the second local controller 12B then transmits some or all of the data relating to the user input to the central -38 -server 16. For example, the second local controller 12B of the present example transmits the calculated value of AT2 to the central server 16 along with information identifying the user interface by which the response was provided. The second local controller 123 also feeds a signal to the display 26B which causes the display 26B to indicate that a first response has been provided by a user at the venue 14B. The display 263 may also display further information relating to the first response, such as the identity of the user interface and the calculated response time ATL2 Data transmitted to the central server 16 by the local controller 12B is received and processed by the computer system 30 of the control server 16.</p>
<p>One example of when either of the local controllers does not transmit data to the central server is when the calculated response time (i.e. TL2) is negative. A negative value time taken for a user to respond to the displayed stimulus indicates that the user activated a user interface before the program was received by the relevant local controller and displayed to the users at the respective venue. In such a situation, the local controller discards the data signal received from the activated user interface.</p>
<p>Although it is not essential to the inventionS, the local controllers are also arranged to discard data signals received from user interfaces wherein the calculated response time is larger than a predetermined value, In other words, a time window can be defined, wherein the local controller only transmits data relating to a user response to the central server 16 if the calculated time taken for the response is within the time window (i.e. a predetermined range of values, 0 - -39 -In this embodiment of Figure 1 and 2, the value of is defined by the code embedded in the broadcast.</p>
<p>Therefore, the value of can be modified during the broadcast program, and the local controllers can then obtain the value zT from the embedded code and use it in subsequent calculations as necessary. Of course, the value of may be set for use by the local controllers in other ways, and may not even be variable. Further, the definition of a maximum response time, is optional, for example it is not required where a fastest user response ends an interactive game and subsequent responses from the same venue are to be ignored.</p>
<p>Data received by the central server 16 from the first 12A and second 12B local controllers is used to identify the fastest response to the stimulus/question provided by the broadcasted program. As illustrated in Figure 2, Dl is less than D2, resulting in the interactive program being communicated the users at the first venue 14A before it is communicated to the users the second venue 14B. Thus, without catering for the time delays introduced by broadcasting the interactive program, the users at the first venue 14A would have an unfair advantage when compared to the users at the second venue. This timing advantage allows the users at the first venue 14A to either take more time to contemplate their answers or be deemed the winner even if they took longer to provide response than users at the second venue 14B.</p>
<p>A system according to an embodiment of the invention, however, caters for time delays associated with broadcasting data to different venues. In the example illustrated in Figure 2, TLl is greater than meaning that the response from a user at the second venue 143 was provided in less time than that of a user at the first venue 14A. Thus, although the time (TKP@2) at which the user at the second venue 14B activated the third user interface 18B is later in absolute terms than the time (TKpl) at which the user at the first venue l4A activated the first user interface, the computer system 30 of the central server 16 identifies the response from a user at the second venue 14B as being the fastest.</p>
<p>In, other word, the computer system 30 processes the data received from the first 12A and second 12B local controllers and then identifies the fastest response to the stimulus/question provided by the broadcasted program.</p>
<p>In a preferred embodiment, data processed by the computer system 30 may then be then used in conjunction with the television program. For example, the computer system 30 may provide some or all of the processed data to the studio from which the program is being broadcasted in order to or control and/or modify the broadcasted television program. For example, processed data relating to the previous question may also be supplied to the studio for inclusion within the television program. Such inclusion may be, for example, achieved by modifying the actual television program (i.e. information displayed in the background of studio may be modified) or by modifying the machine-readable code embedded within signal to be broadcast. The updated television program signal is then broadcasted via the broadcast antenna 10 to the first 14A and second 14B venues.</p>
<p>It is also preferable that data processed by the computer system 30 is transmitted to the first 12A and second 12B local controllers via the network 24. In other words, the computer system 30 may transmit data to the local controllers via the network 24 in response to the data transmitted to it from the local controllers.</p>
<p>Purely by way of an example, data including information about the fastest response could be transmitted to the local controllers for display to the users of the -41 -system. Also, the data transmitted to a specific venue may be customized to the venue and therefore provide information which is tailored to the venue (i.e. a list of the fastest response from each venue may be provided to a first local controller 12A for display at the first venue 14A, wherein the fastest response from first venue 14A is highlighted within the list) Accordingly, in a preferred embodiment, the local controllers are arranged to receive both the television program broadcasted by the antenna 10 and data transmitted by the computer system 30. Each local controller then consolidates and/or mixes the received program and data and feeds the consolidated and/or mixed data to a connected display for display. Thus, the displays 26A and 26B display both data broadcasted by the antenna 10 and data transmitted to their respective local controllers 12A and 12B from the central server 16 via the network 24.</p>
<p>It can be appreciated that each local controller 10 therefore produces an interactive program which is customized to the specific venue at which it is located.</p>
<p>The broadcast program is a global broadcast which is supplied in the same form to any number of venues, whereas the data transmitted to each local controller via the network 24 is specific to the controller to which it is transmitted. By consolidating these two received data signals, the local controllers produce a data signal for display which may contain data of a global nature (i.e. data relating to the inputs of all of the users of the interactive system) and data of a local or regional nature (i.e. data relating only to the inputs of users local to the specific local controller).</p>
<p>Thus, in an alternative embodiment of the invention which contains more than one venue, each of the venues may display an interactive broadcast which combines a broadcast signal (containing information relating to all of the venues of the system) and a custom transmitted -42 -signal (containing information relating to a specific venue and/or venues local to the same).</p>
<p>Referring to Figure 3, an electronic system according to a second embodiment of the invention is shown. The electronic system comprises a broadcast antenna 10, first 12A and second 12B local controllers at first 14A and second venues 143, respectively, and a central server 16 at a location which is remote from the first 14A and second 14B venues.</p>
<p>The first 12A controller is operable to receive data from first 18A, second 20A and third 22A user interfaces, the user interfaces generating data in response to user inputs. Similarly, the second 12B controller is operable to receive data from fourth 18B, fifth 20A and sixth 22A user interfaces.</p>
<p>Both the first 12A and second l2B local controllers are in communication with the central server 16 via a network 24, for example the internet, so that they can transmit and receive data to and from the central server 16. First 26A and second 26B displays for displaying data are also connected to the first l2A and second 12B local controllers, respectively.</p>
<p>The central server 16 comprises a synchronization server 28 for generating a time reference signal and a computer system 30 for processing data. Each local controller is therefore in communication with the synchronization server 28 to receive the time reference signal from the synchronization server 28 via the network 24.</p>
<p>The broadcast antenna 10 is arranged to broadcast data to the venues 14A and 143. Data broadcasted by the antenna 10 comprises machine-readable code for identifying the time at which data was broadcasted.</p>
<p>Thus, the local controllers l2A and 12B are arranged to receive both the broadcasted data comprising machine-readable code and the time reference signal provided by the synchronization server 28. Upon receipt -43 -of these, the local controllers 12A and 12B process the machine-readable and data generated by a connected user interface. This processing enables each local controller to calculate timing information relating to when the data was generated by the user interface and to selectively transfer data to either a connected display or the central server 16.</p>
<p>In an example where the central server 16 operates in con:junction with a broadcasted television program, the central server 16 and the broadcast antenna 10 are both located at a television studio. Of course, this is not essential to the invention, and the central server 16 and the broadcast antenna 10 may be located at separate locations as may be necessary.</p>
<p>Referring now to both Figures 3 and 4, an exemplary operation of this embodiment of the electronic system will be detailed, wherein the electronic system provides an interactive television program to a plurality of users. In this example, the interactive television program contains questions which the users answer in order to interact with the program. A user providing a correct answer in the quickest time (i.e. the first correct answer) is deemed to be the winner.</p>
<p>Before a.program is broadcast, the synchronization server 28 transmits a time reference signal to first 12A and second 12B local controllers. This time reference signal is used by the local controllers to set a local time variable, wherein the local time variable at each of the local controllers is substantially synchronized according to the time reference signal. The local time at the first controller 12A is denoted with a subscript 1 (i.e. TL1) and the local time at the second controller 12B is denoted with a subscript 2 (i.e. TL2).</p>
<p>Any suitable time synchronization method can be used to synchronise the local time variable at each of the local controllers. In this example, the time reference signal is provided using the known Network -44-Time Protocol (NTP) and, according to a paper entitled "Using NTP to control and Synchronise System Clocks" from Sun ?Iircosystem, accuracies of 10-50 mS are readily achievable in a Wide Area Network (WAN) environment.</p>
<p>Preferably, the maximum synchronisation error is 4OmS which corresponds to the period of a single TV frame (in Europe). Thus, for the purpose of this example, NTP is an appropriate method for synchronizing the local time of the local controllers. It will, however, be appreciated that any other suitable synchronization method may be used to synchronise the local time variable of the local controllers. Further, transmission of a time reference signal to the local controllers need not be restricted to a time period before a program is broadcast. Alternative embodiments may be arranged such that time reference signals are repeatedly sent (i.e. during the broadcasted interactive event) and at similar or differing time intervals in order to synchronise the local controllers continually.</p>
<p>Once the local controllers have been synchronized, the system is ready for an interactive television program to be broadcasted. The broadcast antenna 10 broadcasts the program via a broadcast communication link to the first 14A and second l4B venues. The time at which the program was broadcasted is denoted with a subscript B (i.e. TB) and machine-readable code containing information relating to the value of TB is embedded within broadcasted program.</p>
<p>Although the precise method used to embed information within the broadcasted program is not essential to this embodiment, it is envisaged that a preferred a method of embedding information is to include machine-readable code in a visible portion of the broadcasted program. Such machine-readable code may be in the form of a video watermark or a barcode.</p>
<p>By placing machine readable code in a visible portion of the broadcasted program, the problem of a -45 -broadcast receiver removing data outside of the viewable area of broadcasted (i.e. clipping the image) is overcome. Upon receiving the broadcasted program, the local controllers process the machine-readable code and extract relevant information. The local controllers then cover up the machine-readable code within the visible portion of the broadcasted program by overlaying graphics, or other user-readable information, before the received program is provided to a connected display.</p>
<p>Variations of the above-detailed method of embedding machine-readable code within the broadcasted program are numerous. For example, text may be added to the program from which information can be extracted by a local controller using a suitable Optical Character Recognition (OCR) method. Alternatively, Vertical Blanking Interval (VBI) signals may be used to embed code within the broadcasted program.</p>
<p>Whilst the program is being broadcasted to the first 14A and second 14B venues, time passes and the local controllers increase the value of a local time variable. After a time delay Dl, the broadcasted program is received by the local controller 12A at the first venue 14A. This time (the time at which the broadcasted program is received by the first local controller l2A) is denoted as TRB1 and is defined by the following equation (equation 1): TRB1= TB + D1 (1).</p>
<p>Given that D1 is unknown, and that information relating to both T91 and TB can be obtained from the machine-readable code embedded in the broadcast and the local time at the local controller, respectively, the first local controller 12A calculates the value of the broadcast delay D1 using the following equation (equation 2): -46 -D1 = TRB1 -TB (2).</p>
<p>The received program is then fed to the display 26A by the local controller 12A for display to the users of the system at the first venue].4A. In this way, the broadcasted program is communicated to the users of the system at the first venue 14A, the program including a stimulus such as a question.</p>
<p>Whilst, the users of the system at the first venue 14A are contemplating their response to the stimulus/question provided in the displayed program, time passes and the value of a local time variable at both the first 12A and second 12B local controllers further increases.</p>
<p>After the program is received by the first local controller 12A at the first venue 14A, and before a user interface is activated at the first venue 14A in response to stimulus/question displayed, the broadcasted program is received by the local controller 12B at the second venue 14B Thus, as illustrated in Figure 4, the time at which the broadcasted program is received by the second local controller 12B is denoted as TR@2, and the time delay associated with broadcasting the program to the second venue is denoted asD2. Accordingly, it will be understood that the time at which the broadcasted program is received by the second local controller 12B, T,2, is defined by the following equation (equation 3): TB02 = TB + ID2 (3) Again, given that D2 is unknown, and that information relating to both TR@2 and TB is obtainable from the code embedded in the broadcast and the local time at the second local controller, respectively, the second local controller 12B calculates the value of the -47 -broadcast delay D2 using the following equation (equation 4): D2 = TRa2 -T8 (4) The received program is then fed to the display 26B by the second local controller 12B and displayed to the users of the system at the second venue 14B. In this way, the broadcasted program is communicated to the users of the system at the second venue 14B, the program including a stimulus such as a question.</p>
<p>Whilst, the users of the system at the second venue 14B are contemplating their response to the stimulus/question provided in the displayed program, a first user activates the first user interface 18A to provide a response to the stimulus. The time at which the first user activates the first user interface l8A is denoted by TKpj. When the useractivates the first user interface 18A, the first user interface 18A generates a data signal in response to the user input and transmits the generated data signal to the first local controller 12A in which it is processed. Such processing may include any or all of the steps of converting, accumulating, counting, deleting, displaying and storing the received data in either its received form or any other form into which the data may be converted by the local controller 12A.</p>
<p>Using the calculated value of D1, the obtained value of TB, and the value of the local time at TKPQ1 (the time at which the first user activates the first user interface 18A), the time taken for the first user to respond to the displayed stimulus at the first venue, ATL1, is calculated using the following equation (equation 5): = TKpl -T8 -() -48 -It will be appreciated that the above detailed method of calculating the time at which a first user activates a first user interface uses timing information embedded in the broadcasted program to compensate for the broadcasting delay D1. By compensating for this delay, the local controller obtains a value of the time taken for a first user interface to be activated (zYrLl) which is relative to the actual time at which the broadcasted program was communicated to the users of the system at the first venue 14A.</p>
<p>For the purposes of this example, it is assumed that the time taken to generate a data signal in response to the user input and to transmit the data signal to the local controller is negligible. Such timing is therefore not accounted for when calculating timing information. However, it will be understood that the finite time taken to complete the steps of generating and transmitting the data signal can be included in the above calculations. Further, it may be appreciated how the above detailed method of calculating the time at which a user activates a user interface at the first venue 14A can be extended in a straightforward manner to subsequent responses from other user interfaces at the first venue.</p>
<p>As can be seen from Figure 3, the first local controller 12A is in communication with the central server 16 via the network 24 so that it can transmit and receive data to and from the central server 16. Using network-based communication link 24, the first local controller 12A then transmits some or all of the data relating to the first user input to the central server 16. For example, the first local controller 12A of the present example transmits the calculated value of iTLj to the central server along with information identifying the user interface by which the response was provided.</p>
<p>-49 -This data is received and processed by the computer system 30 of the control server 16. As above, it is to be appreciated that such processing may include any or all of the steps of converting, accumulating, counting, deleting, displaying and storing the received data in either its received form or any other form into which the data may be converted by the computer system 30.</p>
<p>Although optional, the first local controller 12A also feeds a signal to the display 26A which causes the display 26A to indicate that a first response has been provided by a user at the venue 14A. The display 26A may also display further information relating to the first response, such as the identity of the user interface and the calculated time response time ET1.</p>
<p>Subsequent to a first user activating a first user interface 18A at the first venue (in other words, subsequent to TKl), a user at the second venue 14B activates the fourth user interface 18B to provide a response to the stimulus. The time at which this user activates the fourth user interface 18B at the second venue 14B is denoted by TKp02.</p>
<p>When the user activates the fourth user interface 18B, the user interface 18B generates a data signal in response to the user input and transmits the generated data signal second local controller 12B in which it is processed. As before, the time taken to generate a data signal in response to the user input and to transmit the data signal to the local controller is assumed to be negligible.</p>
<p>Using the calculated value of D2, the obtained value of TB, and the value of the local time at TKp2 (the time at which the user activates the fourth user interface 18B), the time taken for the user to respond to the displayed stimulus at the second venue, TL2, Is calculated using the following equation (equation 6): -50 -TL2 = TKPQ2 -T -D2 (6) Again, it will be appreciated that the above detailed method of calculating ATL2 uses timing information embedded in the broadcasted program to compensate for the broadcasting delay D2. By compensating for this delay, the second local controller obtains a value of the time taken for a user interface to be activated (AT2) which is relative to the actual time at which the broadcasted program was communicated to the users of the system at the second venue 14B.</p>
<p>Using the network-based communication link 24, the second local controller l2B then transmits some or all of the data relating to the user input to the central server 16. For example, the second local controller 12B of the present example transmits the calculated value of tT2 to the central server 16 along with information identifying the user interface by which the response was provided. The second local controller 12B also feeds a signal to the display 26B which causes the display 26B to indicate that a first response has been provided by a user at the venue 14B. The display 26B may also display further information relating to the first response, such as the identity of the user interface and the calculated response time LTL2.</p>
<p>Data transmitted to the central server 16 by the local controller 12B is received and processed by the computer system 30 of the control server 16.</p>
<p>One example of when either of the local controllers does not. transmit data to the central server is when the calculated response time (i.e. T2) is negative. A negative value time taken for a user to respond to the displayed stimulus indicates that the user activated a user interface before the program was received by the relevant local controller and displayed to the users at -51 -the respective venue. In such a situation, the local controller discards the data signal received from the activated user interface.</p>
<p>Although it is not essential to the invention, the local controllers are also arranged to discard data signals received from user interfaces wherein the calculated response time is larger than a predetermined value, AT. In other words, a time window can be defined, wherein the local controller only transmits data relating to a user response to the central server 16 if the calculated time taken for the response is within the time window (i.e. a predetermined range of values, 0 -In this embodiment of Figure 3 and 4, the value of AT is defined by the code embedded in the broadcast.</p>
<p>Therefore, the value of can be modified during the broadcast program, and the local controllers can then obtain the value from the embedded code and use it in subsequent calculations as necessary. Of course, the value of LT may be set for use by the local controllers in other ways, and may nQt even be variable. Further, the definition of a maximum response time, is optional, for example it is not required where a fastest user response ends an interactive game and subsequent resrionses from the same venue are to be ignored.</p>
<p>Data received by the central server 16 from the first 12A and second 12B local controllers is used to identify the fasted response to the stimulus/question provided by the broadcasted program. As illustrated in Figure 4, Dl is less than D2, resulting in the interactive program being communicated the users at the first venue 14A before it is communicated to the users the second venue 14B. Thus, without catering for the time delays introduced by broadcasting the interactive program, the users at the first venue 14A would have an -52 -unfair advantage when compared to the users at the second venue. This timing advantage allows the users at the first venue 14A to either take more time to contemplate their answers or be deemed the winner even if they took longer to provide response than users at the second venue l4B.</p>
<p>A system according to an embodiment of the invention, however, caters for time delays associated with broadcasting data to different venues. In the example illustrated in Figure 4; TLl is greater than iT2, meaning that the response from a user at the second venue 14B was provided in less time than that of a user at the first venue 14A. Thus, although the time (TKp2) at which the user at the second venue 14B activated the third user interface 18B is later than the time (TKp) at which the user at the first venue l4A activated the first user interface, the computer system 30 of the central server 16 identifies the response from a user at the second venue 14B as being the fastest. In, other word, the computer system 30 processes the data received from the first l2A and second 12B local controllers and then identifies the fastest response to the stimulus/question provided by the broadcasted program.</p>
<p>In a preferred embodiment, data processed by the computer system 30 may then be then used in conjunction with the television program. For example, the computer system 30 may provide some or all of the processed data to the studio from which the program is being broadcasted in order to or control and/or modify the broadcasted television program. For example, processed data relating to the previous question may also be supplied to the studio for inclusion within the television program. Such inclusion may be, for example, achieved by modifying the actual television program (i.e. information displayed in the background of studio may be modified) or by modifying the machine-readable -53 -code embedded within signal to be broadcast. The updated television program signal is then broadcasted via the broadcast antenna 10 to the first 14A and second 14B venues.</p>
<p>It is also preferable that data processed by the computer system 30 is transmitted to the first 12A and second 12B local controllers via the network 24. In other words, the computer system 30 may transmit data to the local controllers via the network 24 in response to the data transmitted to it from the local controllers.</p>
<p>Purely by way of an example, data including information about the fastest response could be transmitted to the local controllers for display to the users of the system. Also, the data transmitted to a specific venue may be customized to the venue and therefore provide information which is tailored to the venue (i.e. a list of the fastest response from each venue may be provided to a first local controller 12A for display at the first venue 14A, wherein the fastest response from first venue 14A is highlighted within the list) Accordingly, in a preferred embodiment, the local controllers are arranged to receive both the television program broadcasted by the antenna 10 and data transmitted by the computer system 30. Each local controller then consolidates and/or mixes the received program and data and feeds the consolidated and/or mixed data to a connected display for display. Thus, the displays 26A and 26B display both data broadcasted by the antenna 10 and data transmitted to their respective local controllers 12A and 12B from the central server 16 via the network 24.</p>
<p>It can be appreciated that each local controller 10 therefore produces an interactive program which is customized to the specific venue at which it is located.</p>
<p>The broadcast program is a global broadcast which is supplied in the same form to any number of venues, whereas the data transmitted to each local controller -54 -via the network 24 is specific to the controller to which it is transmitted. By consolidating these two received data signals, the local controllers produce a data signal for display which may contain data of a global nature (i.e. data relating to the inputs of all of the users of the interactive system) and data of a local or regional nature (i.e. data relating only to the inputs of users local to the specific local controller).</p>
<p>Thus, in an alternative embodiment of the invention which contains more than one venue, each of the venues may display an interactive broadcast which combines a broadcast signal (containing information relating to all of the venues of the system) and a custom transmitted signal (containing information relating to a specific venue and/or venues local to the same).</p>
<p>Those skilled in the art will realise that the above embodiments are purely by way of example and that modification and alterations are numerous and may be made while retaining the teachings of the invention.</p>
<p>For example, it will be understood the invention is not limited to the use of a broadcast antenna 10 in order to broadcast data. Rather, any such suitable broadcasting means may be employed to broadcast data, for example a cable-based or IP-based broadcast distribution network.</p>

Claims (1)

  1. <p>-55 -</p>
    <p>CLAIMS</p>
    <p>1. A system for providing an interactive broadcast to a plurality of users, the system comprising: a central controller and one or more local controllers in communication with the central controller; wherein the central controller comprises: means for receiving data transmitted by a local controller or controllers; and means for broadcasting data for display to the local controller or controllers; and the or each local controller comprises: means for displaying on a display for users data for display that is broadcast to the local controller by the central controller; and means for receiving data relating to user inputs from a user interface device or devices and for transmitting such data to the central controller; and wherein: the broadcast data includes data for identifying the time at which the data was broadcast; and the or each local controller comprises means for determining time information of the local controller using the data for identifying the time at which the data was broadcast that is included in the broadcast data.</p>
    <p>2. A system according to claim 1, having more than one local controller.</p>
    <p>3. A system according to any one of the preceding claims, wherein the broadcast data is broadcast via a broadcast communication link and data is transmitted from the central controller to a local controller via a second different communication link.</p>
    <p>-56 - 4. A system according to claim 3 wherein the second communication link is a network-based communication link.</p>
    <p>5. A system according to any one of the preceding claims, wherein the data for identifying the time of the broadcast is provided in a portion of the broadcast data which is for display to users of the system.</p>
    <p>6. A system according to any one of the preceding claims, wherein the data for identifying the time of the broadcast is included in a vertical blanking interval portion of the broadcast data.</p>
    <p>7. A system according to anyone of the preceding claims, wherein the central controller is arranged to modify the broadcast data in response to data communicated from a local controller to the central controller.</p>
    <p>8. A system according to any one of the preceding claims, wherein a local controller is arranged to set its clock to the time indicated by the data for identifying the time of the broadcast that is included in the broadcast data.</p>
    <p>9. A system according to any one of the preceding claim, wherein a local controller is arranged to calculate a time taken for a user to provide a user input in response to a displayed stimulus using the data for identifying the time of the broadcast that is included in the broadcast data.</p>
    <p>10. A system according to claim 9, wherein the local controller is arranged to transmit data relating to the user input if the calculated value of time taken for a user to provide a user input in response to a displayed -57 -stimulus is greater than zero and less than a predetermined maximum allowable time for response.</p>
    <p>11. A system according to claim 10, wherein the broadcast data includes data which defines a value of the maximum allowable time for response.</p>
    <p>12. A system according to any one of the preceding claims, wherein a local controller is arranged to display for users both data broadcast to the local controller by the central controller and data transmitted to the local controller by the central controller.</p>
    <p>13. A system according to any one of the preceding claims, wherein either the system does not include a synchronization server for generating a time reference signal, and/or a or the local controller or controllers are not in communication with a synchronization server, and/or a or the local controller or controllers do not receive a time reference signal from a synchronization server, and/or a or the local controller or controllers are not arranged to selectively transfer data to at least one of a display and the central controller in response to processing the time identifying data in the broadcast data and data generated by at least one user interface.</p>
    <p>14. A controller for use in a system for providing an interactive broadcast to a plurality of users, the controller comprising: means for receiving data relating to user inputs from a user interface device or devices and for transmitting such data to a central controller; means for receiving broadcast data for display from the central controller, the broadcast data including -58 -data for identifying the time at which the data was broadcast; means for displaying broadcast data on a display for users of the system; and means for determining time information of the local controller using the data for identifying the time at which the data was broadcast that is included in the broadcast data.</p>
    <p>15. A controller for use in a system for providing an interactive broadcast to a plurality of users, the controller comprising: means for broadcasting data for display to one or more local controllers, the broadcast data including data for identifying the time of broadcast of the data; and means for receiving data relating to user inputs from one or more of the local controllers.</p>
    <p>16. A method of operating system for providing an interactive broadcast to a plurality of users, which system comprises a central controller and one or more local controllers in communication with the central controller, the method comprising: the central controller: broadcasting data for display to the local controller or controllers; and the or each local controller: displaying on a display for users data for display that is broadcast to the local controller by the central controller; and receiving data relating to user inputs from a user interface device or devices and transmitting such data to the central controller; and wherein: the broadcast data includes data for identifying the time at which the data was broadcast; and -59 -the or each local controller uses the data for identifying the time at which the data was broadcast that is included in the broadcast data to determine time information of the local controller.</p>
    <p>17. A method according to claim 16, wherein the broadcast data is broadcast via a broadcast communication link and the method further comprises the step of transmitting data from the central controller to the local controller via a second different communication link.</p>
    <p>18. A method according to claim 17, wherein the second communication link is a network-based communication link.</p>
    <p>19. A method according to claim 16, 17 or 18, wherein the data for identifying the time of the broadcast is provided in a portion of the broadcast data which is for display to users of the system.</p>
    <p>20. A method according to any one of claims 16 to 19, wherein the data for identifying the time of the broadcast is included in a vertical blanking interval portion of the broadcast data.</p>
    <p>21. A method according to any one of claims 16 to 20, further comprising the step of modifying the broadcast data in response to data communicated from a local controller to the central controller.</p>
    <p>22. A method according to any one of claims 16 to 21, comprising a local controller setting its clock to the time indicated by the data for identifying the time of the broadcast that is included in the broadcast data.</p>
    <p>-60 - 23. A method according to any one of claims 16 to 22, the method further comprising the step of calculating a time taken for a user to provide a user input in response to a displayed stimulus using the data for identifying the time of the broadcast that is included in the broadcast data.</p>
    <p>24. A method according to claim 23, the method further comprising the step of transmitting data relating to the user input if the calculated value of time taken for a user to provide a user input in response to a displayed stimulus is greater than zero and less than a predetermined maximum allowable time for response.</p>
    <p>25. Amethod according to claim 24, wherein the broadcast data includes data which defines a value of the maximum allowable time for response.</p>
    <p>26. A method according to any of claims 16 to 25, the method further comprising the step of displaying both data broadcast to a local controller by the central controller and data transmitted to a local controller by the central controller.</p>
    <p>27. A method according to any one of claims 16 to 26, wherein the method does not comprise a step of generating a time reference signal in a synchronization server and transmitting the time reference signal to a or the or each local controller, and/or does not comprise a step of selectively transferring data to at least one of a display for displaying data and a central server for processing data in response to processing the broadcast data and data generated by at least one user interface.</p>
    <p>28. A method of operating a controller for use in a system for providing an interactive broadcast to a -61 -plurality of users, the method comprising the controller: receiving data relating to user inputs from a user interface device or devices and transmitting such data to a central controller; receiving broadcast data for display from the central controller, the broadcast data including data for identifying the time at which the data was broadcast; displaying received broadcast data on a display for users of the system; and determining time information of the local controller using the data for identifying the time at which the data was broadcast that is included in the broadcast data.</p>
    <p>29. A method of operating controller for use in a system for providing an interactive broadcast to a plurality of users, the method comprising the controller: broadcasting data for display to one or more local controllers, the broadcast data including data for identifying the time of broadcast of the data; and receiving data relating to user inputs from one or more of the local controller or controllers.</p>
    <p>30. A method of operating an interactive system for a plurality of users, the method comprising the steps of: generating data in response to a user input in a least one user interface; processing the generated data in a local controller; broadcasting data from broadcasting means to the local controller, wherein the broadcast data comprises machine-readable code for identifying the time at which data was broadcast; -62 -processing the broadcast data in the local controller; and in response to processing the broadcast data and the generated data, determining timing information relating to the generated data.</p>
    <p>31. A method of operating an interactive system for a plurality of users, the method comprising the steps of: generating data in response to a user input in a least one user interface; processing the generated data in a local controller; broadcasting data from broadcasting means to the local controller, wherein the broadcasted data comprises machine-readable code for identifying the time at which data was broadcasted; generating a time reference signal in a synchronization server and transmitting the time reference signal to the local controller; processing the broadcasted data in the local controller; and in response to processing the broadcasted data and the generated data, selectively transferring data to at least one of a display for displaying data and a central server for processing data.</p>
    <p>32. A method according to claim 30 or 31, comprising the features of any one of claims 17 to 29.</p>
    <p>33. A computer program element comprising computer software code portions for performing the method of any one of claims 16 to 32 when the program element is run on data processing means.</p>
    <p>34. An interactive system for a plurality of users, the system comprising: -63 -a local controller operable to receive data from at least one user interface for generating data in response to a user input, the local controller including processing means; broadcasting means for broadcasting data to the local controller, wherein the broadcast data comprises machine-readable code for identifying the time at which data was broadcast; a central server for processing data and transmitting data to the local controller, the local controller being in communication with the central server to transmit data to the central server; and a display for displaying data from the local controller, wherein the local controller is arranged to process the machine-readable code and data generated by at least one user interface to determine timing information relating to data generated by the user interface.</p>
    <p>35. An interactive system for a plurality of users, the system comprising: a local controller operable to receive data from at least one user interface for generating data in response to a user input, the local controller including processing means; broadcasting means for broadcasting data to the local controller, wherein the broadcasted data comprises machine-readable code for identifying the time at which data was broadcasted; a synchronization server for generating a time reference signal, the local controller being in communication with the synchronization server to receive the time reference signal from the synchronization server; a central server for processing data and transmitting data to the local controller, the local -64 -controller being in communication with the central server to transmit data to the central server; and a display for displaying data from the local controller, wherein the local controller is arranged to process the machine-readable code and data generated by at least one user interface and to selectively transfer data to at least one of the display and the central server in response to processing the machine-readable code and the generated data.</p>
    <p>36. A system according to claim 34 or 35, comprising the features of any one of claims 2 to 15.</p>
    <p>37. A system for providing an interactive broadcast to a plurality of users substantially as herein described with reference to any one of the accompanying drawings.</p>
    <p>38. A method of operating a system for providing an interactive broadcast to a plurality of users substantially as herein described with reference to any one of the accompanying drawings.</p>
GB0715643A 2006-08-11 2007-08-10 Interactive broadcasting system which caters for time delays associated with broadcasting the data Withdrawn GB2440833A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GBGB0616029.5A GB0616029D0 (en) 2006-08-11 2006-08-11 Interactive electronic system and method for a plurality of users

Publications (2)

Publication Number Publication Date
GB0715643D0 GB0715643D0 (en) 2007-09-19
GB2440833A true GB2440833A (en) 2008-02-13

Family

ID=37056240

Family Applications (2)

Application Number Title Priority Date Filing Date
GBGB0616029.5A Ceased GB0616029D0 (en) 2006-08-11 2006-08-11 Interactive electronic system and method for a plurality of users
GB0715643A Withdrawn GB2440833A (en) 2006-08-11 2007-08-10 Interactive broadcasting system which caters for time delays associated with broadcasting the data

Family Applications Before (1)

Application Number Title Priority Date Filing Date
GBGB0616029.5A Ceased GB0616029D0 (en) 2006-08-11 2006-08-11 Interactive electronic system and method for a plurality of users

Country Status (2)

Country Link
GB (2) GB0616029D0 (en)
WO (1) WO2008017862A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6870664B2 (en) * 2018-07-10 2021-05-12 株式会社安川電機 Control systems, controls and programs

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2267985A (en) * 1992-06-19 1993-12-22 Westinghouse Electric Corp Synchronisation of time-of-day clocks in a distributed processing network system
WO1998056136A2 (en) * 1997-06-03 1998-12-10 Abb Research Ltd. Method for providing time synchronization in a network
EP1050328A1 (en) * 1999-05-04 2000-11-08 Two Way TV Limited Interactive applications

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3285065B2 (en) * 1994-03-04 2002-05-27 ソニー株式会社 Response method for interactive broadcast program, remote control transmitter for response operation, response information transmitting device, interactive broadcast receiving device, and response information receiving device
US20040244057A1 (en) * 2003-04-30 2004-12-02 Wallace Michael W. System and methods for synchronizing the operation of multiple remote receivers in a broadcast environment
GB0411682D0 (en) * 2004-05-25 2004-06-30 Chello Broadband N V Display of enhanced content

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2267985A (en) * 1992-06-19 1993-12-22 Westinghouse Electric Corp Synchronisation of time-of-day clocks in a distributed processing network system
WO1998056136A2 (en) * 1997-06-03 1998-12-10 Abb Research Ltd. Method for providing time synchronization in a network
EP1050328A1 (en) * 1999-05-04 2000-11-08 Two Way TV Limited Interactive applications
US7073190B1 (en) * 1999-05-04 2006-07-04 Two Way Media Limited Interactive applications

Also Published As

Publication number Publication date
WO2008017862A1 (en) 2008-02-14
GB0715643D0 (en) 2007-09-19
GB0616029D0 (en) 2006-09-20

Similar Documents

Publication Publication Date Title
US8555313B2 (en) System and method for coordinating interactive television programs
CN1322754C (en) Identifying ancillary information associated with audio/video program
EP1480461A2 (en) System and methods for synchronizing the operation of multiple remote receivers in a broadcast environment
JP2001028743A (en) Interactive broadcast system and method for detecting illegal user
CN102685588A (en) Decoder and method at the decoder for synchronizing rendering of contents received through different networks
WO2004093429A2 (en) Method and apparatus for interactive video on demand
ZA200601821B (en) Pausing timebase when identification present in broadcast programme
MX2015001908A (en) Apparatus and method for processing an interactive service.
US20150101004A1 (en) Receiver apparatus and synchronization processing method thereof
CN105554532A (en) Method and system for precisely putting advertisements and information in live TV
US20080059999A1 (en) Multi-function display controller
JP5997500B2 (en) Broadcast communication cooperative receiver
GB201022003D0 (en) Improvements to interactive multimedia systems
GB2440833A (en) Interactive broadcasting system which caters for time delays associated with broadcasting the data
KR20020062022A (en) Digital television receiver capable of reproducing interactive contents and broadcasting system for the contents
CA2421344C (en) Display of enhanced content
KR20130103931A (en) Advance metadata provision augmented broadcasting apparatus and method
CA2421326C (en) Response timing
KR20160058870A (en) Methods for synchronizing and generating a stream, and corresponding computer programs, storage media, and playback, execution and generation devices
US20070016935A1 (en) Methods and apparatus for transmitting and receiving television signals
EP2461581B1 (en) Device and method for content delivery adapted for synchronous playbacks
CN117157986A (en) Method for providing time synchronization multi-stream data transmission
KR101261559B1 (en) Method and System for Providing a Broadcast based on the TV audience, Set Top Box
JP5022542B2 (en) Television broadcasting method and broadcasting system
KR20160062974A (en) Game Relay Broadcasting Contents Providing System For Personal Broadcasting

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)