The present disclosure relates to a network-based system and to a method of providing a combined single data stream to at least one user or user group.
There are known network-based systems and method for providing cloud computing to a plurality of clients such as mobile devices. Such a system is described in U.S. Pre-Grant Patent Publication 2010/0257252 A1.
Typically, current systems that render several media streams for a viewer do so on the viewer's own client machine. For example, a browser installed on a user's PC or mobile device renders videos, audio files, and the like using the computation power available on the client machine. Such a system is described in U.S. Pre-Grant Patent Publication 2009/0288019 A1. This technique automatically sets a limit of what can be displayed and in what quality. Therefore the quality might be not sufficient for an optimal experience of the content.
The present disclosure relates to a network-based system and to a method of providing a combined single data stream to at least one user or user group. In particular, the present disclosure relates to a network-based system and to a method of computing, in particular rendering, different media data for generating said single data stream, wherein the media data may come from different data sources such as game servers, ad servers, and/or the like. In particular, the disclosure relates to a system and to a method that enables the mixing or combining of two or more multimedia streams into a single stream, via a cloud-based rendering.
According to a first aspect of the disclosure there is described a network-based system configured to provide a combined single data stream to at least one user device or user group device, the system comprising:
a computing cloud configured to receive different data from a plurality of data sources and generate from said data a single data stream to be provided to at least one remote user or user group; and
equipment such as at least one user device or user group device having access to the computing cloud and configured to receive said combined single data stream to be outputted for the at least one remote user or user group.
According to a second aspect of the disclosure there is described a method of providing a combined single data stream to at least one user device or user group device within a network-based system, the method comprising the steps of:
receiving at a computing cloud different data from a plurality of data sources;
generating from said data a single data stream to be provided to at least one remote user or user group; and
receiving at the at least one user device or user group device said combined single data stream to be outputted for the at least one remote user or user group.
The described systems and methods use a rendering cloud to compute the stream online, before transferring the rendered data to the client device. This way, the quality of the content is less restricted and can be more readily provided at a premium level (or any quality level desired by the content provider). The structure of the cloud provides a consistent high level of performance through the distributed nature of the cloud server(s).
The content itself can be any multimedia content, such as audio, 2D or 3D video, still pictures, animations, and others. The content can be delivered in different forms, including advertisements, and a particular content item can include different types of multimedia content. For example, an advertisement can include audio and video content. It can also be interactive in its presentation, although this does not have to be the case. Thus, the different data may comprise media data, in particular video, audio, still images, and/or graphics, from said plurality of data sources, and the computing cloud renders said different data for generating said single data stream to be provided to the at least one remote user.
The plurality of data sources may comprise media data servers and/or sources, in particular game servers and/or ad servers. The computing cloud may comprise a plurality of cloud servers, in particular media renderers, performing the data computations, in particular the rendering of media data, to provide said single data stream. The plurality of cloud servers may perform said data computations according to at least one stream build list provided by a service and/or by said data sources. Moreover, the plurality of cloud servers may perform said data computations for a predefined quality of service independently from any condition and/or characteristic of the user device's display.
The term “stream build list” shall define a list of logical media or other items that are comprising the stream. The list also contains additional metadata that defines where the logical media items are placed in the stream, in terms of time and space. The list can be, but does not have to be, formatted as an XML file listing all elements with their parameters. This list is the structure that is used by the system to generate one stream from the single files.
In one embodiment, the plurality of cloud servers generates said single data stream to be provided to a plurality of user devices. In another embodiment, the plurality of cloud servers generates individually for a plurality of users or groups of users several single data streams to be provided individually to the users and/or groups of users.
The at least one user device may comprise at least one client computer or terminal being connected via a network, in particular an IP network, to said plurality of cloud servers. Preferably, the at least one user device interacts with said plurality of cloud servers to modify the provided single data stream. The plurality of cloud servers may provide said modified single data stream to several user devices only if said user devices interact with said plurality of cloud servers to indicate the same choice of modification.
The described method of providing said combined single data stream may further comprise at least one of the following steps:
requesting a computation, in particular a rendering, of said different data for generating said single data stream;
generating said single data stream according to a stream build list provided by a service and/or by said data sources;
transmitting via a network, in particular an IP network, said single data stream to the at least one user device which in particular is a client device; and/or
displaying the data stream at the at least one user device which in particular is a client device.
Further features and advantages of the present disclosure, as well as the structure and operation of various illustrative embodiments of the present disclosure, are described in detail below with reference to the accompanying schematic drawings, wherein:
As shown in
The content itself can be any media data, in particular multimedia data, such as audio, 2D or 3D video, still pictures, animations, and others. The content can be delivered in different forms, including advertisements, and a particular content item can include different types of multimedia content. For example, an advertisement can include audio and video content. It can also be interactive in its presentation, although this does not have to be the case. The media data can come from different data sources such as game servers 101, ad servers 102, music servers 103, and the like.
Rendering of the stream is performed as follows:
The system 100 gets the necessary data from connected data servers 101-102, together with the stream build list that defines the order and composition of the individual content items. In addition, the stream is compressed with codecs as requested by the stream build list; for instance, depending on the supported codecs on the client device, the stream is encoded with the preferred codec.
In an example scenario, a user has a browser open with the following items active: he is playing a game, a music file is being played back, and an advertisement is shown in an ad frame. All these individual content items are combined on the server and streamed as a single video and audio stream to the user.
In one example scenario, the user is watching videos online. Several videos are played simultaneously in frames next to each other. These videos are streamed as one video from the server. The user switches to a different view where the videos are stacked behind each other, slightly overlapping (stacking the videos such that the videos are arranged at different depths in the stack). The animation of moving from one view mode (videos next to each other) to the other (stacked view) is calculated on the server while the videos keep running. In the stacked view, the videos are still running.
Optionally, the view can be switched to a stereoscopic 3D view rendered on the server cloud.
In another embodiment, the system and method can provide a video conference stream: Many users (e.g., “User 1,” “User 2,” “User 3,” “User 4”) may want to join one video conference from different locations, using video cameras for their source video. Each user is filmed by his separate video camera and streams his video stream to the server(s) in the rendering cloud.
Inside the cloud all videos are by default combined to one default video stream, displaying every user (up to a certain amount) as a tiled video frame, e.g., 16 single video streams are tiled as 4 by 4 smaller video streams into one video stream), significantly reducing the required download bandwidths per user (see
Each user can now interact with the default video stream and demand a certain video be displayed enlarged inside the composited video. This request is sent to the server cloud and the stream to this specific user will be modified to his liking (see
The interaction is not limited to changing the size. All typical manipulations of multimedia streams are possible, for example, color changes, contrast or brightness, audio volume, and others.
In this way, the system may generate a combined video/audio stream from any media content that may contain video, audio, still images, graphics, and other media sources. All computations are done on the server side in the server cloud.
The renderer (rendering cloud) is able to combine/mix different content sources into one stream and can do this individually for any user or user group.
The quality of the stream combination is independent of the client's display device.
The supplied video stream can be modified interactively by the user. That interactive stream can or would be served to the user only who does the interaction or served to more than one user if more users have same interaction choices.
While illustrative embodiments have been illustrated and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the invention.
This application claims the benefit of U.S. Provisional Patent Application No. 61/581,227, filed Dec. 29, 2011, the disclosure of which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
61581227 | Dec 2011 | US |