FIELD

The general inventive concepts relate to data transmission protocols and, more particularly, to an improved backhaul protocol for the transmission of video and audio data.

BACKGROUND

As disclosed in U.S. Pat. No. 9,167,275, the entire disclosure of which is incorporated herein by reference, computer-implemented systems and methods provide for the autonomous broadcasting of video data, audio data, or video and audio data during an event, wherein the broadcasting can be scheduled in advance and from a remote location (i.e., over a network). Various conventional protocols, such as Real-time Transport Protocol (RTP) over User Datagram Protocol (UDP), are used for sending the data over the network.

The systems and methods often use the H.264 video compression standard for video encoding and the Advanced Audio Coding (AAC) audio compression standard for audio encoding. These compression standards are designed to ride through some amount of packet loss. Consequently, UDP is preferred to Transmission Control Protocol (TCP), as TCP's congestion avoidance mechanisms can cause large backlogs (and subsequent buffering) in the face of occasional packet loss. Thus, RTP over UDP is frequently used as a backhaul protocol in the systems and methods.

Although RTP over UDP achieves the goals of having lower latency and less buffering than TCP, customers do notice packet losses, as artifacts commonly become visible/audible in the decoded picture and sound, especially when losses are part of a keyframe. Packet loss generally comes in two forms: (1) loss due to available bandwidth being lower than the transmitted data, and (2) loss due to temporary congestion along the backhaul path. A redesigned backhaul protocol would ideally address both of these situations, for example, by: (1) observing backpressure from the backhaul link and communicating that upstream to allow higher-level software to adjust transmission rates and (2) using measures to ensure that, in most circumstances, occasional loss is recovered.

Furthermore, the use of RTP over UDP allows intermediary backhaul nodes to freely inspect and analyze packet contents. This means that the stream data is free to be intercepted, observed, and even modified by any third-party through which the content passes, which may be undesirable for certain broadcasters with sensitive content. This also means that those intermediate nodes may use that information for undesired packet shaping or outright filtering. Service providers have used this approach to impose size restrictions on data transfers, including the streaming of video and/or audio data. A redesigned backhaul protocol should prevent or otherwise increase the difficulty of performing such activities.

Further still, the use of RTP over UDP leaves the distribution network vulnerable to attack at ingress by attackers who may spoof streamed content. Since the media servers are not able to ensure that received data actually originated from the expected transmission device, an attacker would be able to stream their own RTP/UDP data to the media server and disrupt the stream or even inject their own content. A redesigned backhaul protocol should prevent or otherwise increase the difficulty of performing such activities.

In view of the above, there is an unmet need for an improved backhaul protocol for the transmission of video and audio data.

SUMMARY

The general inventive concepts contemplate an improved backhaul protocol for the transmission of data (e.g., video data and/or audio data) over a network, and systems and methods using said backhaul protocol. For example, the general inventive concepts also encompass computer-implemented systems and methods for remotely scheduling autonomous broadcasting of video/audio data in advance, wherein the systems and methods use the improved backhaul protocol.

In one exemplary embodiment, a method of broadcasting digital content is disclosed. The method comprises: a. situating an autonomous broadcast device (ABD) behind a preexisting firewall; b. activating the ABD and establishing an Internet connection for the ABD behind the firewall, wherein the firewall prevents remote access to the ABD from outside the firewall; c. with the ABD, autonomously performing the following steps without any user intervention required at the location of the ABD and without any modification to or circumvention of the firewall: c-1. via the Internet connection, autonomously issuing a request to a scheduler web site situated outside the firewall and downloading schedule data for the ABD; c-2. determining a start time for an event from the schedule data downloaded from the scheduler web site; c-3. receiving digital content of the event at the start time from a digital recording device proximate to the event; c-4. via the Internet connection, transmitting streaming parameters to the scheduler web site; and c-5. via the Internet connection, transmitting the digital content to at least one server contemporaneously with the event, the digital content having a first quality; d. prior to processing the digital content, the at least one server receives the streaming parameters from the scheduler web site; and e. contemporaneously with the event, streaming from the at least one server the digital content having the first quality to a plurality of users. According to the method, all communications between the ABD and the scheduler web site are initiated by the ABD over the Internet connection. According to the method, the digital content is transmitted to the at least one server according to a first protocol, wherein the first protocol defines an encryption scheme for the digital content; and wherein the first protocol defines an error correction scheme for the digital content.

In one exemplary embodiment, the method further comprises: contemporaneously with the event, storing at the location of the ABD a version of the digital content having a second quality that is of higher quality than the first quality.

In one exemplary embodiment, the method further comprises: after the event, via the Internet connection, uploading to the at least one server the digital content having the second quality over a period of time longer than the length of the event.

In one exemplary embodiment, the method further comprises: in accordance with the start time for the event determined from the schedule data, automatically powering on the digital recording device before the start time.

In one exemplary embodiment, the method further comprises: permitting a user to alter a schedule and interrupt an upload only via the scheduler web site.

In one exemplary embodiment, the ABD lacks a user interface permitting a user to alter a schedule and interrupt an upload via the ABD.

In one exemplary embodiment, the method further comprises: dynamically scaling overall capacity represented by the at least one server based on demand for the digital content having the first quality by the users.

In one exemplary embodiment, the method further comprises: using the Internet connection to autonomously issue a request to a pre-determined registration web site situated outside the firewall to register the ABD.

In one exemplary embodiment, the method further comprises: determining an end time for the event from the schedule data downloaded from the scheduler web site, wherein at the end time, ceasing reception of the digital content from the digital recording device.

In one exemplary embodiment, the method further comprises: at the end time, automatically powering off the digital recording device.

In one exemplary embodiment, the digital content comprises at least one of video data and audio data.

In one exemplary embodiment, the digital content comprises video data, wherein the ABD transmits the video data to the at least one server in a first video resolution and a second video resolution, and wherein the first video resolution is lower than the second video resolution. In one exemplary embodiment, the video data having the first video resolution is streamed from the at least one server to the users contemporaneously with the event. In one exemplary embodiment, the video data having the second video resolution is stored on the at least one server for subsequent retrieval by a user.

In one exemplary embodiment, the method further comprises: dynamically scaling the at least one server based on demand for the digital content being streamed to the users.

In one exemplary embodiment, the method further comprises: prior to the start time: calculating an estimated bandwidth on the at least one server for the event, and reserving the estimated bandwidth on the at least one server.

In one exemplary embodiment, the digital recording device is a digital camera.

In one exemplary embodiment, the first protocol is a backhaul protocol that transports the digital content from the ABD to the at least one server using a plurality of packets, wherein at least one of the packets comprises encrypted data corresponding to a portion of the digital content, and wherein at least one of the packets comprises error correction information.

In one exemplary embodiment, the encryption scheme is one of eBC-0 and eBC-x16.

In one exemplary embodiment, the error correction scheme is a 1-dimensional XOR scheme suitable for recovering one missing packet from a group of N packets. In one exemplary embodiment, the value of N is selected to correspond to the last packet of a multi-packet frame.

In one exemplary embodiment, the error correction scheme is fBC-X1d.

In one exemplary embodiment, the streaming parameters are transmitted to the scheduler website according to the first protocol.

In one exemplary embodiment, the streaming parameters are transmitted to the scheduler website according to a second protocol. In one exemplary embodiment, the second protocol is Session Description Protocol (SDP).

In one exemplary embodiment, a system for scheduling broadcasting of video data is disclosed. The system comprises: scheduling logic; a video acquisition device; a broadcasting device; a plurality of media servers; and a network. According to the system, the broadcasting device is situated behind a pre-existing firewall; the scheduling logic is remote from and in data communication with the broadcasting device and the media servers over the network; the scheduling logic interfaces with a first user to allow the first user to set a start time for an event; the scheduling logic transmits the start time to the broadcasting device over the network; at the start time, the video acquisition device begins acquiring video data and the broadcasting device transmits the video data to the media servers over the network; the media servers transmit the video data as a live video stream to a second user over the network; the scheduling logic manages the flow of the video data from the broadcasting device to the media servers; and the scheduling logic manages the flow of the live video stream from the media servers to the second user. According to the system, the video data is transmitted to the media servers according to a backhaul protocol; wherein the backhaul protocol defines an encryption scheme for the video data; and wherein the backhaul protocol defines an error correction scheme for the video data.

In one exemplary embodiment, the first user, the second user, and the broadcasting device are remote from one another.

In one exemplary embodiment, at the start time, the broadcasting device automatically powers on the video acquisition device.

In one exemplary embodiment, the scheduling logic logs the start time in a schedule associated with the broadcasting device.

In one exemplary embodiment, the scheduling logic interfaces with the first user to allow the first user to set an end time for the event; the scheduling logic logs the end time in the schedule; the scheduling logic transmits the end time to the broadcasting device over the network; and at the end time, the broadcasting device ceases transmission of the video data captured by the video acquisition device.

In one exemplary embodiment, at the end time, the broadcasting device automatically powers off the video acquisition device.

In one exemplary embodiment, the broadcasting device transmits the video data captured by the video acquisition device to the media servers in a first video resolution and a second video resolution. In one exemplary embodiment, the first video resolution is lower than the second video resolution. In one exemplary embodiment, the video data in the first video resolution is used for the live video stream. In one exemplary embodiment, the video data in the first video resolution is stored on the media servers for subsequent retrieval by a third user. In one exemplary embodiment, the video data in the second video resolution is stored on the media servers for subsequent retrieval by a third user.

In one exemplary embodiment, the media servers include at least one streaming server for transmitting the live video stream to the second user over the network; and the media servers include at least one storage server for storing the video data for subsequent retrieval by a third user over the network.

In one exemplary embodiment, the scheduling logic dynamically scales the media servers based on demand for the live video stream.

In one exemplary embodiment, prior to the start time: the scheduling logic calculates an estimated bandwidth on the media servers for the event, and the scheduling logic reserves the estimated bandwidth on the media servers.

In one exemplary embodiment, the broadcasting device periodically polls the scheduling logic to detect any changes in the start time. In one exemplary embodiment, the broadcasting device periodically polls the scheduling logic to detect any changes in the end time.

In one exemplary embodiment, the video data includes audio data. In one exemplary embodiment, the video acquisition device is operable to acquire the audio data.

In one exemplary embodiment, the video acquisition device is a digital video camera.

In one exemplary embodiment, the network is the Internet.

In one exemplary embodiment, an improved backhaul protocol for use in a method of or by a system for broadcasting data (comprising at least one of video data and audio data) is disclosed. The protocol conveys the data between a stream originating device and a media server using a plurality of packets, wherein at least one of the packets comprises encrypted data corresponding to a portion of the data, and wherein at least one of the packets comprises error correction information.

Numerous other aspects, advantages, and/or features of the general inventive concepts will become more readily apparent from the following detailed description of exemplary embodiments, from the claims, and from the accompanying drawings being submitted herewith.

