Method of broadcasting of same data stream to multiple receivers that allows different video rendering of video content to occur at each receiver
10499092 ยท 2019-12-03
Assignee
Inventors
Cpc classification
H04H20/28
ELECTRICITY
H04N21/2668
ELECTRICITY
H04N21/4312
ELECTRICITY
International classification
H04N21/2343
ELECTRICITY
H04N21/431
ELECTRICITY
H04N21/2668
ELECTRICITY
H04N21/236
ELECTRICITY
H04N21/235
ELECTRICITY
H04H20/28
ELECTRICITY
H04N21/258
ELECTRICITY
Abstract
A remote server generates a data stream that is broadcasted to a plurality of receivers. The broadcasted data stream includes a video track having a video data stream, a control track, and a plurality of ancillary data tracks including ancillary data. A specific template is assigned to each of the receivers. Each of the receivers renders a composite video image for display on a display device. Each of the composite video images includes the same video data stream, but each receiver uses its assigned template and selected ancillary data to render its own unique composite video image from the same video data stream.
Claims
1. A method of broadcasting a data stream generated by a first remote server, the broadcasted data stream including (i) a video track including a video data stream, (ii) a control track, and (iii) a plurality of ancillary data tracks including ancillary data, the broadcasted data stream being received by a plurality of receivers, each of which process selected portions of the broadcasted data stream for display on a display device, each of the receivers including an application program, each of the receivers having a unique public key, the method comprising: (a) authorizing each of the plurality of receivers to process the selected portions of the broadcasted data stream by enrolling the unique public key of each of the plurality of receivers with a second remote server; (b) individually defining specifications for each of the plurality of receivers and storing the individually defined specifications in the second remote server, at least some of the specifications being used to configure the ancillary data tracks for the respective receiver, the specifications including a unique name for the respective receiver; (c) creating, using the first remote server, unique authorization data for each of the respective receivers using at least the unique public key for the receivers; (d) assigning, by the first remote server, a template to each of the respective receivers based on: (i) the selected specifications, (ii) a type of the video data stream, and (iii) a state of the video data stream; (e) broadcasting an assembled control track including: (i) the unique authorization data created in step (c), and (ii) the templates assigned in step (d); (f) broadcasting the video data stream and the plurality of ancillary data tracks; (g) the plurality of receivers receiving the assembled control track, the video data stream and the plurality of ancillary data tracks; and (h) each of the plurality of receivers rendering a composite video image for display on the display device, the composite video image including the video data stream, the template assigned to the respective receiver, and the ancillary data, wherein the template is populated with the ancillary data.
2. The method of claim 1 wherein the data stream is broadcasted to a plurality of different venues, each receiver being associated with one of the venues, each venue being associated with the same template.
3. The method of claim 2 wherein at least one of the venues has a plurality of associated receivers, and wherein the same template is allocated for each of the receivers in the same venue, thereby resulting in the same composite video image being rendered by each of the receivers associated with the same venue.
4. The method of claim 3 wherein at least one of the venues has multiple geographically different locations with the venue's associated receivers located at the different locations, thereby resulting in the same composite video image being rendered by each of the receivers associated with the different locations of the same venue.
5. The method of claim 1 wherein the video track includes a plurality of different video data streams, each video data stream being associated with a different event.
6. The method of claim 5 wherein each template is associated with one or more of the different events, thereby rendering a composite video image that matches the event associated with the respective video data stream.
7. The method of claim 1 wherein the video data stream is associated with an event.
8. The method of claim 1 wherein the unique name for the receiver is the same as the unique public key for the receiver.
9. The method of claim 1 wherein the assembled control tracks are broadcast continuously, including at times where no video data stream or ancillary data tracks are being broadcast.
10. The method of claim 1 wherein the data stream is broadcasted to a plurality of different venues, each receiver being associated with one of the venues, and wherein the individually defined specifications include a name of venue and country of venue.
11. The method of claim 1 wherein the first remote server and the second remote server are the same remote server.
12. The method of claim 1 wherein the application program is an applet.
13. The method of claim 1 wherein the receiver is a set top box.
14. The method of claim 1 wherein the authorization data further includes for each receiver (iii) a symmetrical encryption key, the method further comprising: (i) encrypting the templates assigned in step (d) and the ancillary data in the plurality of ancillary data tracks with the symmetrical encryption key, the encryption keys being used by the receivers to decrypt the templates and the ancillary data received by the respective receivers.
15. The method of claim 1 wherein the receivers operate in simplex mode, and thus only receive data from the first remote server and do not send any data to the first remote server.
16. The method of claim 1 wherein the authorization data for each receiver further includes: (iii) formatting data.
17. The method of claim 1 wherein a template assigned to each of the respective receiver further includes: (iv) formatting data.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The foregoing summary, as well as the following detailed description of the invention, will be better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, there are shown in the drawings embodiments which are presently preferred. It should be understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown. In the drawings:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
DETAILED DESCRIPTION OF THE INVENTION
(13) Certain terminology is used herein for convenience only and is not to be taken as a limitation on the present invention. The words a and an, as used in the claims and in the corresponding portions of the specification, mean at least one. In the context of the present invention, track refers to a sub-channel of allocated bandwidth that is a portion of the main data stream communications channel. The term simplex, known well in the art and repeated here for clarity, means a communication channel that sends information in one direction only. The abbreviation UFTP, also known well in the art, denotes UDP-based File Transfer Protocol, where UDP is an abbreviation for User Datagram Protocoli.e., one of the core members of the Internet Protocol suite. Set Top Box or STB is an information appliance device with memory and a processor that receives an analog or digital input signal (e.g., satellite broadcast) and displays an output to a monitor or television set. The STB tunes to and demodulates the external source signal, turning the source signal into content in a form that then be displayed on the television screen or other display device. In the context of the present invention, STB and receiver are used interchangeably. The terms customized and local may refer to a single store or establishment's video rendering or a chain of store's all sharing the same rendering. The term venue as used herein describes a physical place or places where the customized rendered video of the present invention is displayed. In some contexts, the venue could be a single store or address of the store. In other contexts, the venue could be a chain of stores all owned by the same company. In still other contexts, the venue could even be a country when at least two countries receive the same common video data.
(14) Reference will now be made in detail to examples of the invention, one or more embodiments of which are illustrated in the drawings. Each example is provided by way of explanation of the invention, and are not meant as limitations of the invention. For example, features illustrated or described as part of one embodiment may be used with another embodiment to yield still a further embodiment. The present invention encompasses these and other modifications and variations as come within the scope and spirit of the invention.
(15)
(16) Returning to
(17) In the specific embodiment when a receiver is operated by a betting establishment, the venue unique data typically provides betting statistics for virtual or real sporting eventse.g., see 429 of
(18) As is apparent to one skilled in the art, while this general embodiment discloses a system and method for combined simplex data stream communications, there are several other modes of operation (e.g., operating over half-duplex or full-duplex channels) that would be within the parameters of the present invention and its appended claims. Optionally, if a half or full duplex channel was employed, each receiver or STB could be configured to acknowledge each received data packet to the first remote server.
(19) A breakdown of track or channel allocation of the combined simplex data stream discussed in general embodiment 100 is provided in
(20) i. a control track 151 that broadcasts per-receiver authorization codes and template updates to all receivers on the system;
(21) ii. at least one video track 152 that is typically high-resolution and high-bandwidth constituting the common video element displayed on all receivers with no venue specific data or branding; and
(22) iii. an extendable plurality of variation tracks 153 through 156 (typically at least one variation track for each venue) containing the venue specific local overlay data required for a customized local rendering.
(23) The control track 151 continuously streams two classes of data:
(24) i. authorization data enrolling each individual receiver or STB, which will allow it to access and decrypt its associated variation track (e.g., 153 through 156); and
(25) ii. templates used to control and format the rendering of the decrypted variation track (e.g., 153 through 156) data to provide venue specific customization and local rendering (e.g., branding, formatting).
(26) The control track 151 is comprised of a fixed portion of allocated bandwidth that is read by every receiver or STB on the system. Since the combined data stream 150 is primarily intended to support simplex operation, there are typically no acknowledgements or ACKs returned by the receivers or STBs. Thus, as is typical of all simplex systems, the transmitter must assume that the intended receiver has accepted and processed any appropriate authorization data or templates previously transmitted. This assumption can be problematic in noisy environments. Consequently, to increase the probability that all receivers or STBs in the system receive intended transmissions, a high degree of redundancy is incorporated into the system of the general embodiment. As disclosed later in
(27) To ensure that the control track 151 is continuously utilized, individual data packets will be transmitted via four different queues varying in priority:
(28) (1) The authorization expedite queue is the highest priority control track 151 queue. It is used to ensure that authorization data for recently enrolled receivers or STBs is transmitted as soon as possible after enrollment so that the receiver or STB can receive and decrypt subsequent template data and any applicable variation track data.
(29) (2) The authorization queue is the second highest priority control track 151 queue. It is used to ensure that all receivers or STBs are receiving refreshed authorization keys well in advance of time period that an extant decryption key expires.
(30) (3) The template expedite queue is the third priority control track 151 queue. It is used to ensure that the graphical templates for recently enrolled receivers or STBs are transmitted as soon as possible after enrollment so that the device can install and use the correct graphical template at the correct time.
(31) (4) The template queue is the lowest priority control track 151 queue. It is used to cycle through updates of all templates, which can be installed and used in the foreseeable future.
(32) The video track 152 is comprised of at least one common video data stream that is displayed by all receivers or STBs in the system. Typically, the common video track is a high-resolution sporting event (e.g., virtual or real boxing match, horse race, football or soccer match) and consequently, consumes a majority of the system's available bandwidth. Thus, the present invention reserves its bandwidth intensive data for communal usage by all receivers and STBs in the system with the lower bandwidth data providing the venue customization. Consequently, the general embodiment of the present invention is inherently efficient in terms of video quality and costs. Standard digital container formats for transmission of audio and video (e.g., Motion Picture Expert Group Transport Stream or MPEG-TS) can support the transmitting of a plurality of different video data streams at the same time. In embodiments where a plurality of video data streams are simultaneously transmitted on the video track 152, the associated ancillary track data will instruct the receiver which specific video data stream to render. In this manner, the same video track 152 may be used to transmit multiple events (e.g., a virtual or real boxing match, and a horse race, and a football or soccer match) to different sets of receivers or STBs, while still allowing for venue localized data to be sent to specific receivers or STBs for the same event.
(33) Finally, the variation tracks 153 through 156 transmit all venue localized data to specific receivers or STBs. The variation track 153 through 156 for a given receiver or STB is assigned as part of the authorization data.
(34)
(35) Flowchart 200 of
(36) If no authorization data is found, the device will display its public key on its associated display 205, preferably in both human and machine readable formats. Since the public key needs to be copied from the display and encoded into the installer's enrollment device to ultimately be transmitted to the second remote server 105 (
(37) An exemplary authorization snippet 250 capable of authorizing an individual receiver or STB to receive broadcast data is illustrated in
(38) An authorization snippet 250 is merely one example of how a receiver or STB can be authorized to received broadcast data. Other configurations and supplementary data fields are possible and in some instances desirable. For example, in a preferred embodiment, an additional formatting data field is included that defines formatting of the subsequent data to be displayed (e.g., time zone of the establishment; currency types such as $, , ; name of the venue; screen resolution of the display; comma , or period . used as thousand delimiter). This data field does not necessarily change any subsequent data itself, but rather only changes the formatting of how the subsequent data is rendered and displayed. This embodiment is preferred because format data definitions are relatively static and therefore not frequently changed. Thus, to minimize bandwidth consumption, formatting data definitions can usually be transmitted only once at the time of authorization.
(39) As is also apparent to one skilled in the art, the exemplary authorization snippet 250 is shown written in JavaScript Object Notation (JSON) for ease of reading and familiarity. However, in practice, another data protocol with less bandwidth overhead would be preferable, such as Protocol Buffers.
(40) Referring again to
(41) An exemplary view 300 of a graphics template snippet is illustrated in
(42) As before, the graphics template snippet 300 provides only one example of how a receiver or STB can be authorized to received broadcast data. Other configurations and supplementary data fields are possible and in some instances desirable. For example, in an alternative embodiment, an additional formatting data field is also included that defines formatting of the subsequent data to be displayed that does not necessarily change any subsequent data itself, but rather the formatting of how the subsequent data is rendered and displayed. This embodiment is an alternative to the preferred embodiment of including a formatting data field within the authorization data. This alternative embodiment has the advantage of greater flexibility of changing formatting data, with the disadvantage of higher bandwidth consumption due to repeated retransmission of formatting data.
(43) A key element of the present invention is that the graphics template and ancillary data collected by the receiver or STB can be synchronized, not just to an individual venue but also in coordination with specific states or time periods of the video track 152 (
(44)
(45) With the example of the virtual boxing match state machine 400 of
(46) After the virtual boxing match video starts 401, the video feed data displays a pending state 402 background 426 (
(47) Once the time period for the pending state 402 expires, the video data progresses to its preamble state 403. Typically, the preamble state 403 will be very similar to the pending state 402 with the exception that the preamble state 403 usually displays bet data (e.g., odds, payoff) associated with the virtual sporting event. After the preamble state 403 betting period concludes, the video data and state machine progresses to the no more bets state 404. This usually short state allows for all betting accounts to be settled and provides a countdown for the consumers before a virtual or real sporting event begins.
(48) After the no more bets state 404 terminates, the video data and state machine progress to the running state 405. In this state 405, the actual virtual sporting event plays out 475 (
(49) After the running state 405 (
(50) Alternatively, if for some reason (e.g., insufficient bets made, scheduling error, real sporting event illness of a participate) the virtual sporting event is cancelled during the pending 402 through no more bets 404 states, the state machine progresses to a cancelled state 406 where the video data displays some indicia indication the cancellation and the synchronized graphic template may contain refund information for the consumers. However, the normal state machine flow for the exemplary virtual boxing match is to sequence through five serial states (402 through 407).
(51) An exemplary view 480 of an event template snippet is illustrated in
(52) In addition to redundant broadcast over the control 151 and variations (153 through 156) tracks of
(53) Of course, there are other variations of the disclosed embodiments (e.g., transmitting the disclosed system over a full-duplex channel) that would be apparent to anyone skilled in the art in view of the present disclosure, and would be within the parameters of the appended claims.