This application claims priority under 35 U.S.C. §119 to European Patent Application No. 11151663.9 filed on Jan. 21, 2011, the entire content of which is hereby incorporated by reference.
1. Field of the Invention
The present invention relates to a method and an evaluation server for evaluating a plurality of videos.
The proposed method may e.g. be used for real-time video distribution of one event, which is captured by several video producers simultaneously, and it may be used to optimize resources from the video sources through the network to the sink (video server, portal, etc. . . . ).
2. Description of the Related Art
The number of mobile phones supporting higher video quality resolutions and providing enhanced capabilities is dramatically increasing. Nowadays, users make use of the advanced features in their mobile phones streaming daily life videos and sharing them in the network through video portals. In a soccer game or a live concert, users attending the event may share their live experience with others by capturing a video of the event in real-time (no archiving).
It is an object of the present invention to provide a method and an apparatus which make it possible to implement such a live video portal where users may upload and share with other users their videos which they are taking when attending an event.
An attempt to create such a portal is quite difficult. In principle it is easy to provide a server where videos may be uploaded by users attending an event and are then offered for viewing by other users. However, implementing such a system in a way that is really feasible and satisfactory to the users is not easy. For example there may be many users attending an event like a concert, and a very large number of video streams may be the result. It is difficult to upload them due to bandwidth restrictions, and furthermore it is difficult to offer them for download in a reasonable way so that the user can find what he is interested in. Enabling such an event-based live video portal is actually quite challenging.
This problem leads to related problems and questions, for example the question of how to allocate resources to the video streams of the portal. There exist approaches for optimizing resource allocation. These approaches typically are related to QoE-based cross-layer optimization in downlink, in which the network resources allocation is optimized based on the information abstracted from different layers. For example in S. Khan, S. Duhovnikov, E. Steinbach, and W. Kellerer, “MOS-based multiuser multiapplication cross-layer optimization for mobile multimedia communication,” Advances in Multimedia, 2007, article ID 94918, method are proposed to take the information from application, network, MAC and physical layer into account. Based on the objective function set for the optimization problem, the network resources are allocated differently, for example, a network may want to achieve the maximum average user perceived quality of all users. B. Radunovic and J. Y. Le Boudec, “A unified framework for maxmin and min-max fairness with applications, ” IEEE/ACM Trans. on Networking, vol. 15, no. 5, pp. 1073-1083, October 2007, or U.S. Pat. No. 5,675,576 disclose to allocating the network resources such that all users perceive a similar quality of service.
The resource allocation in uplink packet transmission is for example discussed in J. Huang, V. G. Subramanian, R. Agrawal, and R. Berry, “Joint scheduling and resource allocation in uplink OFDM systems for broadband wireless access network,” IEEE journal on selected areas in Communications, Vol. 27, Issue 2, February 2009, in which the scheduling and resource allocation algorithm jointly run.
Modelling the expected user perceived quality for video application is discussed in ITU-T Recommendation J.144, “Objective perceptual video quality measurement techniques for digital cable television in the presence of a full reference,” March 2004, or in Z. Wang, L. Lu, and A. C. Bovik, “Video Quality Assessment Based on Structural Distortion Measurement,” IEEE Signal Processing: Image Communication, vol. 19, no. 1, pp. 121-132, February 2004. These works use MOS as a measure of expected user perceived quality.
In T. C. Thang, Y. J. Jung, and M. M. Ro, “Semantic quality for content-aware video adaptation,” Proc. IEEE Workshop on Multimedia Signal Processing (MMSP), pp. 41-44, October 2005, Thang et al. propose an analytical framework to evaluate the video quality using the semantic entity in a video, rather than just the visual clarity and motion smoothness as a measure. The purpose of application modelling is to know how the user perceived quality changes with respect to network/application performance metric (e.g. data rate, packet loss, PSNR).
None of the prior art, however, addresses the problem in which the mobile network resources allocation is optimized to achieve an optimal live video distribution of an event captured by multiple video producers.
This is not an easy task given the number and the large variety of possible channels that need to have allocated resources, e.g. by assigning them a “class” or a priority or a “rank”.
In the extreme case, an operator might deny the resources to users belonging to the lowest user class (pricing policy), thus allowing the video sharing to only “premium” subscribers. Furthermore, in case of even more severe resource constraints, only the best media contributions, in terms of video quality and semantic information provided, will be pushed to the video server.
According to one embodiment there is provided an evaluation server for evaluating a plurality of videos, said evaluation server comprising: a module for identifying among a plurality of videos those videos which capture the same event by determining whether the video has been taken from a location lying at or within a certain geographic area and by determining whether the video has been taken at or within a certain time; a module for automatically obtaining for the videos which have been identified as being taken from the same event one or more scene-based relevance parameters, each scene-based relevance parameter expressing by a numeric value the relevance of the semantic content of the video for a user on a scale ranging from a minimum relevance parameter value to a maximum relevance parameter value; a module for obtaining for the videos which have been identified as being taken from the same event a priority value based on said one or more relevance parameter values, said priority value expressing for said videos which have been identified as being taken from the same event the priority with which a certain processing is to be carried our for each of said videos, wherein said processing comprises: Assigning a network resource to each of said videos for uploading each of said videos to a server; said evaluation server further comprising: a module for receiving said plurality of videos in real-time; a module for repeatedly obtaining said scene-based relevance parameters to obtain updated priority values of said videos; a module for rearranging the priority of said processing based on the updated priority values.
This enables the implementation of a real-time event-based video portal which can handle a large number of videos which may be taken from different events but where several of the multiple videos are taken from the same event and handled as belonging to the same event.
Moreover, the updating and rearranging enables the adaptation to a changing environment.
According to one embodiment said videos are prioritized according to said priority values in a video portal, and said priority values are calculated based on the following: calculating for each video a weighted sum of said relevance parameters to obtain thereby the priority value for each of said videos, wherein the relevance parameters include one or more relevance parameters based on sensed information sensed by a sensor of a mobile device such as the distance from the event or the viewing angle, and further one or more scene based relevance parameters which are based on the video content itself such as quality indicators like PSNR, resolution or brightness; prioritizing the plurality of videos in said video portal according to the calculated priority values such that a video having a higher priority value is prioritized higher than a video having a lower priority value.
The sensing of the relevance parameters by sensors and calculating based thereon a priority value enables an automatic processing according to the priority of the videos.
According to one embodiment said videos are prioritized according to said priority values for allocating network resources, and said resource allocation based on said calculated priority values is carried out using the following steps: calculating for each video a weighted sum of said relevance parameters to obtain thereby the priority value for each of said videos, wherein the relevance parameters include one or more relevance parameters based on sensed information sensed by a sensor of a mobile device such as the distance from the event or the viewing angle, and further one or more scene based relevance parameters which are based on the video content itself such as quality indicators like PSNR, resolution or brightness; allocating bandwidth to the video which has the maximum priority value and which has not yet been assigned bandwidth; and repeating said allocating step until all bandwidth which can be allocated has been assigned to said plurality of videos.
This enables an algorithm for prioritized processing automatically based on sensed relevance parameter values.
According to one embodiment said one or more scene-based relevance parameters are obtained based one or more of the following: Context information which is sensed by one or more suitable sensors of a mobile device of a user with which the video is recorded, said context information being transmitted together with said video to said evaluation server, wherein said context information comprises one or more of the following: The time at which said video is recorded; the location information at which said video is recorded; the two- or three-dimensional location and/or inclination of the mobile device which records said video.
These are advantageous examples of relevance parameters.
According to one embodiment the evaluation server further comprises: a module for calculating based on the plurality of scene-based relevance parameters obtained for each of said plurality of videos a combined scene-based relevance parameter as priority value for each of said videos; a module for carrying out said processing in accordance with said combined priority values.
The combined scene-based relevance parameter makes it possible to take multiple relevance parameters into account.
According to one embodiment said one or more scene-based relevance parameters are obtained based on context information which express the geographic or semantic context of said video
This enables the determination of the priority value based on parameters which are particularly useful for judging the relevance, namely location and semantic context.
According to one embodiment said scene-based relevance parameter reflects one or more of the following: The viewing angle of the scene; the distance from which the scene recorded by the camera; the size of one or more faces recorded on the video; the brightness of the video; the resolution; the PSNR; the popularity of the video.
These are examples of relevance parameters.
According to one embodiment said plurality of videos are generated recording the same event or the same scene by the mobile devices of a plurality of users and said videos are uploaded by said users to said evaluation server for being distributed to other users through a video-portal.
This enables the usage of the videos to implement a video portal.
According to one embodiment the evaluation server comprises: A recognizing module for automatically recognizing those videos which are recording the same event or the same scene; a module for grouping said plurality of videos according to the respective scenes or events which they are recording; a module for carrying out said prioritized processing separately for each group of videos.
This enables the automatic categorization and grouping of videos uploaded by the users.
According to one embodiment the evaluation comprises: A classifying module which stores information about how a certain automatically obtained context information or semantic information is to be translated into a certain numeric scene-based relevance parameter, obtains said context information and refers to said stored information to obtain said scene-based relevance parameter.
This enables the translation of context information into relevance parameters which then can—according to some mechanism—be transformed into a priority value.
According to one embodiment said classifying module stores one or more of the following: How to translate a certain location into a certain scene-based relevance parameter; how to translate a certain distance from the recorded event into a certain scene-based relevance parameter; how to translate a certain viewing angle of the recorded event into a certain scene-based relevance parameter; how to translate a certain brightness of the recorded event into a certain scene-based relevance parameter.
This enables the translation of context information into relevance parameters which then can—according to some mechanism—be transformed into a priority value.
According to one embodiment there is provided a method for evaluating a plurality of videos, said method comprising: identifying among a plurality of videos those videos which capture the same event by determining whether the video has been taken from a location lying at or within a certain geographic area and by determining whether the video has been taken at or within a certain time; automatically obtaining for each video one or more scene-based relevance parameters, each scene-based relevance parameter expressing by a numeric value the relevance of the semantic content of the video for a user on a scale ranging from a minimum relevance parameter value to a maximum relevance parameter value; obtaining for each of said plurality of videos a priority value based on said one or more relevance parameter values, said priority value expressing for each of said plurality of videos the priority with which a certain processing is to be carried our for each of said videos, wherein said processing comprises: assigning a network resource to each of said videos for uploading each of said videos to a server; Wherein said method further comprises: receiving said plurality of videos in real-time; repeatedly obtaining said scene-based relevance parameters to obtain updated priority values of said videos; rearranging the priority of said processing based on the updated priority values.
This enables the implementation of a method according to an embodiment of the invention.
According to one embodiment there is a computer program comprising computer program code which when being executed by a computer enables said computer to carry out a method according one of the embodiments of the invention.
In the following there will be described embodiments for the distribution of live video contents generated by multiple video sources about the same event (e.g. mobile users attending a concert, football game, etc. . . . ). The users may use cameras with different capabilities (camera resolution, video quality, etc. . . . ) to capture the event and streaming the event from different angles.
First of all one basic embodiment will be explained. In this embodiment there is an evaluation server (e.g. in a network of a mobile operator) which is receiving uploaded videos. There may be videos uploaded from quite different locations at different times which may correspond to different events like concerts, sports events, or any other public events.
The server according to one embodiment comprises a module for identifying those videos among the uploaded ones which capture the same event. This can for example be achieved by evaluating the geographic information which is sent together with the uploaded video and which may be derived from a GPS sensor of the mobile phone with which the video is taken. Additionally the time at which the video is taken can be taken into account to judge whether it is capturing the same event.
For example, there may be predefined geographic areas like the geographic boundaries of the location of a soccer stadium. All the uploaded videos where the geographic information corresponds to the geographic area of the soccer stadium and where the time of capturing corresponds to the time of a soccer match may then be judged as showing the same event, namely the soccer match.
In this manner the module can identify those videos showing the same event.
Then the server may further comprise a module for obtaining one or more scene-based relevance parameters. Each scene-based relevance parameter expresses by a numeric value the relevance of the content (the “semantic content”) of the video for a user on a scale ranging form a minimum relevance parameter value (which may be zero or even negative) to a maximum relevance parameter value.
The relevance parameters may e.g. parameters like the “distance from the scene” or “distance from the stage”, the “viewing angle”, or any other parameters which reflect the content of the video in a way which expresses the relevance of the content for the user in view of the specific parameter. There may be a “best viewing angle” which will correspond to the maximum relevance parameter, and a “worst” viewing angle” corresponding to the minimum relevance parameter.
The correspondence between viewing angle and the relevance parameter may be predefined for a certain location such as a soccer stadium or a concert hall.
There may be obtained one or more relevance parameters by the module.
Then there may be provided a module which obtains for the videos showing the same event a priority value based on the relevance parameter(s). If there are more than one relevance parameters they may be combined by some mathematical calculation method to obtain a combined relevance parameter, if there is only one relevance parameter it may directly correspond to the priority value.
The priority value expresses for its corresponding video the priority with which a certain processing is to be carried out for the video, and the processing may thereby be the assigning of a network resource (such as bandwidth) to the video for uploading it, or the processing may be the offering of the video for download of for viewing by a user.
For the plurality of uploaded videos the processing (resource allocation, offering for viewing or download) is carried out in accordance with the priority values assigned to the videos. Higher prioritized videos may have allocated more network resources for upload, they may be higher prioritized for offering for download or viewing by a user (e.g. by being shown larger or earlier or at a more prominent place in the portal for download).
In this way there can be implemented a portal for event-based video handling (upload and download) which can deal with the challenges of a potential large number of videos and the implications and problems which this creates for the resource allocation and for the user interface which offers the videos for viewing and for download.
According to one embodiment the mobile phones or devices used for capturing the videos are equipped with one or more sensor used for sensing the relevance parameters. Distance or viewing angle may be sensed using GPS sensor or orientation/rotation sensors. For example a soccer stadium or an event location may be divided into regions which have assigned corresponding relevance parameters when the video is captured from this region. Similarly, certain viewing angles or ranges may have assigned corresponding relevance parameters. The relevance parameters may also include scene based relevance parameters like PSNR, resolution or brightness. According to one embodiment the multiple relevance parameters are then combined by calculating their weighted sum to obtain the priority value for a video which then is used for prioritization with respect to the certain processing such as resource allocation or offering for viewing or download.
According to one embodiment the prioritized processing is the allocation of bandwidth, which is done as follows in this embodiment.
After having calculated the priority values for the videos, first there is allocated bandwidth to the video which has the highest priority value and still has not been allocated any bandwidth. Then the mechanism proceeds with allocating bandwidth to the video having the next highest priority, then again the one with the next highest priority, and so on. This process is then repeated until all bandwidth which is available for allocation has been allocated.
According to one embodiment the scene-based relevance parameters are based on context information which are obtained by one or more sensors of the mobile device by which the video is captured. The context information is then transmitted together with the video, and it is used to obtain the scene-based relevance parameter. This may e.g. be the time at which the video is recorded (e.g. a break is less relevant compared to a moment of a soccer match when one team scores). Another example for context information is the location of the mobile device, still another example is the orientation of the mobile device which can be used to determine the viewing angle.
According to one embodiment the priority value is then obtained by calculating a combined scene-based relevance parameter value as priority value based on the individual scene-based relevance parameter values. This priority value is then used for prioritizing the processing.
The scene-based relevance parameters according to one embodiment express or reflect the geographic or the semantic context of a video. The geographic context may be the location, the semantic context may be the viewing angle or the content of the stream. An example for the content could e.g. be whether there are faces which can be recognized and the size of such faces in relation to the screen. For a stream showing large faces the relevance might e.g. be higher than for video streams with small faces or no faces at all.
As mentioned already, there may be taken into account a plurality of scene-based relevance parameters which may then be combined to obtain a combined value. Examples for the relevance parameters are the viewing angle, the distance, the size of faces on the video, the resolution or the PSNR.
According to one embodiment the scene-based relevance parameters are repeatedly sent and repeatedly evaluated to obtain repeatedly a (new) priority value for each video. In this way changes in the “sample” of available videos can be taken into account, e.g. if a video stream now has become more relevant because the user has moved more towards the stage from his previous place, then the priority of this view may increase. As a consequence, in a video portal it may be offered for viewing on a more prominent place at a higher rank, e.g. more on top of the list of available videos. Similarly the resource allocation may be adapted to the new priority value.
The repeated evaluation may e.g. be carried out with a certain predetermined frequency.
The evaluation server according to one embodiment may be part of a network, and it may receive the uploaded videos for determining their priority. According to one other embodiment the videos are uploaded to a certain server, and the evaluation server is a separate entity and receives only the necessary relevance parameters of their corresponding context information and then determines the priority value for each video and sends it back to the server where the uploaded videos are stored and processed. This server may be part of a video portal where the videos can be uploaded and are then offered for download. For that purpose the portal may provide a user interface where the videos are sorted in accordance with the events which they are showing. The videos of the same event are then displayed for to be offered for download (e.g. by showing their icon) such that the display and offering reflects their priority, e.g. by showing the higher prioritized ones larger and/or at a more prominent position than the less prioritized ones.
The portal may offer groups of videos corresponding to the different events, and for the videos of each event once the event has been selected the offering is done according to their priority. The grouping may be done fully automatically based on the module for recognizing that the video belongs to a certain event (such as a soccer game). For those videos for which no group (or event) can be identified, there may be a group category “others” into which the video is then categorized.
In this way a fully automated event-based video portal may be created which categorizes the uploaded videos and then processes them according to their priority, e.g. for offering them for download or viewing.
According to one embodiment the server comprises a classifying module which is capable of receiving the context information and translates it into a scene-based relevance parameter. This module may e.g. store information about the correspondence between a certain context information value and a corresponding relevance parameter. In case of the context information being geographic location this module may e.g. store information about which location in a stadium or a concert hall corresponds to which relevance parameter. By performing a lookup then the relevance parameter may be determined. In a similar way also other context information such as “viewing angle” or PSNR” may be classified by assigning a certain context information value a corresponding relevance parameter and storing the correspondence in the classifying module so that it can be looked up.
In the following further embodiments will be described.
According to one embodiment there is provided a method to optimize the resource allocation for the upstream, i.e. there are selected and prioritized those videos with the best combination of video characteristics (quality metrics such as camera resolution and relevance of the scene, i.e. semantic content) provided simultaneously by video-stream producers of the same event to be transmitted through the network to a video portal or a video server. From here videos are offered to the video consumers in real-time. Hence, an operator can control network resources by avoiding an increase of undesirable push-based network traffic, while still offering the best video contents for the same event to the video-stream consumers.
The allocation procedure according to one embodiment takes into account the video content based on its “relevance” for the user. The content, or one may also say the “semantic content” (because what matters is what the content “means” for the user”) is taken into account based on its relevance for the user. According to one embodiment additional other properties of the video stream may be taken into account, such as quality, e.g., resolution. Another property which may be taken into account can be the “importance” of an event being captured, (e.g., the popularity of the whole event or subsets of recordings, this may be measured based on the “number of clicks” on the event or on a certain stream). Other examples for properties which are taken into account may e.g. be the video utility function (e.g., dynamic/static video), and the channel conditions for each video producer.
Based on the properties which are taken into account the method according to one embodiment determines an optimal network resource allocation for the stream that maximizes the overall quality perceived by the users (video consumers) watching in real-time the live event.
In one embodiment only the best video(s), i.e. the best combinations of video quality and content relevance (relevance of the semantic information of the video for the user) provided by the real-time streaming, will be streamed to the video consumers. Thus, the other videos may e.g. be discarded from the upstream or reduced to a minimum resource consumption compared to the selected streams, which means that applying the optimization algorithm would reduce upstream traffic required for sharing such live video contents in the community in real-time.
According to one embodiment the videos or video streams process in the portal are assigned a priority value or a “rank”.
In the extreme case, an operator might deny the resources to users belonging to the lowest user class (pricing policy), thus allowing the video sharing to only “premium” subscribers. Furthermore, in case of even more severe resource constraints, only the best media contributions, in terms of video quality and semantic information provided, will be pushed to the video server.
The user perceived quality of a video-stream to some extent depends on the mobile terminal and network capabilities, but according to one embodiment there is used as a basis for the priority value determination the content of the video or the “relevance” of the content for the user. This may be called the “semantic information” or the “semantic content” of the video. The “semantic content” should be understood as the “meaning” which the content of the video has for the user in terms of its relevance. Such “semantic information” or “semantic content” may e.g. be the angle from where the video is captured. Video-stream consumers might prefer the point of view of a video producer close to the action (e.g., football game) or in front of the main player involved in such action to clearly distinguish the details the consumer is interested in. The content of such a video has a higher relevance for the user than one from a different viewing angle, which means the “semantic content” or “semantic information” corresponding to the viewing angle has the “meaning” for the user that it is more relevant.
The combination of the video quality provided by the use of a mobile phone with enhanced capabilities and the semantic information carried alongside by the shot video in one embodiment is used to rank a video among all videos streamed for the same event to thereby take into account the relevance of the videos. Moreover, optimizing the network resource allocation for multiple video producers sharing the generated content of the same event can also be carried out according to one embodiment by a network operator to efficiently allocate the network resources.
The embodiments of the present invention are capable of achieving a number of advantageous effects.
One example consists of more efficient resource allocation for the distribution of live video contents generated from the same event (e.g. by multiple attendees), while guaranteeing the best combination of video quality metrics, including relevance of the scene (semantic content). From an operator point of view, this leads to avoid undesirable network traffic increase, while either at least preserving or enhancing the customer satisfaction.
Furthermore embodiments of the invention enable the following: Fast selection (important for real-time applications) of video-streams to be offered by a portal/server for a certain event; Adaptive resource allocation (push-based traffic); Avoidance of overloaded buffering and processing at the video portal or in the network.
Before discussing in the following an embodiment of a pseudo-algorithm that solves the optimization problem with respect to the network resource allocation for the upstream, there will be provided an explanation of a more simple embodiment in connection with
In
A video content can be represented by a set of parameters such as brightness, luminance, contrast, viewing angle (which may be derived from a combination of spatial coverage information via GPS, which gives also the distance from the event, and facial recognition software or data from orientation sensors which can be used to determine the line of sight of the camera)), picture motion, steadiness, camera resolution, frame rate and background noise. For the sake of simplicity, in this embodiment there are consider only the subset of parameters that can be translated into a machine processable figure/representation, in other words parameters where the “relevance value” or metric value” can be automatically be obtained. Thus, for instance, in the example in
In case of bandwidth constraints when upstreaming, i.e. not all the video producers will be accepted by the base station, thus an optimization algorithm placed in a module in the network (e.g. in an evaluation server), e.g. close to the base station, performs the selection of the streams providing the best combination of video quality metrics (which means the stream which has the highest priority value).
In this embodiment, each video metric under consideration is weighted based on the users' expectation from a specific event. For instance, background noise is expected to be a main issue for users watching a concert, while for soccer games the relevance of the scene (angle, steadiness and distance) is more important. The mapping of “context information” into a corresponding “relevance parameter” therefore may depend on the event.
In the example provided in
The optimization algorithm, which may be placed in a module close to the base stations, in this embodiment has to take into account: (i) the bandwidth to be used for the up-streaming of the generated video contents; (ii) specific quality and semantic information of each video for the same event; (iii) the time-varying nature of the metrics, since it might happen that a video producer is lowered in the ranking and is replaced by another video producer with better “combined” mark or priority value; (iv) time-varying nature of the wireless channel quality for each video producer; (v) the importance of different events, i.e. quality and semantic information depend on the type of video content, thus the metrics preferably should be weighted and tuned accordingly, for each “event” under consideration.
Assuming the same weight for each metric (or relevance parameter) A, B, and C in this case, it can be seen that the priority value for stream 1 with metric value A=10, B=10, and C=10 is larger than for video stream 2 with metric value A=8, B=7, and C=9.
According to one embodiment, in case of over-provisioned resources, i.e. all video producers for the same event can push their videos into the network, and this number of video producers is very high, the optimization algorithm can be further used to reduce the set of available choices for the video consumers in the video portal, e.g. the only “premium” user class is allowed to upstream, thus helping the consumers for a fast selection (important for real-time applications).
In the following there will be described an example of an optimization algorithm according to one embodiment.
A video content can be represented by a set of parameters such as brightness, luminance, contrast, angle (given by a combination of spatial coverage information via GPS, which gives also the distance from the event, and facial recognition software or orientation sensors), picture motion, steadiness, camera resolution, frame rate and background noise. For the sake of simplicity, it is hereby considered again only the subset of parameters that can be translated into a machine processable figure/representation, such as brightness and distance for instance.
Based on the user's expectations from a certain event, one can draw an application utility function as the weighted sum of a list of (relevance) parameters (weight a for parameter A, weight b for parameter B, etc. . . . ). Assuming that one can extract the value of each parameter from a video stream i, which is sent from the terminal to the portal, in the optimization module in the network (Ai, Bi, etc. . . . ), one can write the following generic formula which solves the optimization problem:
i
MAX
U=argmaxi=1 . . . N(a*Ai+b*Bi+c*Ci+ . . . )
The weighted sum of a given video stream corresponds to its priority value, and the maximum priority value is iMAX
Moreover, one can take into account the required bandwidth for each up-stream, hence dealing with a possible trade-off between bandwidth saving and quality/quantity gain.
A generic pseudo-algorithm, which takes into account bandwidth required for up-streaming the videos selected through our optimization procedure, is the following:
The algorithm in each iteration finds the video that maximizes the priority value (the “mark” as calculated by the weighted combination of the metric values), assigns in each iteration a bandwidth BuMAX to this video stream, and increases the counter B which indicates the already allocated bandwidth by BuMAX.
This procedure is then repeated as long as the allocated bandwidth is smaller than the total available bandwidth BWTOT, if this limit is reached, the allocation ends.
This procedure in one embodiment is repeated at regular intervals in the time domain, to take into account the time-varying nature of the metrics (relevance parameters) involved, as well as the possibility that video producers either quit the event (either physically or, for instance, due to low battery level of the camera) or join it later.
It will be readily apparent to the skilled person that the methods, the elements, units and apparatuses described in connection with embodiments of the invention may be implemented in hardware, in software, or as a combination of both. In particular it will be appreciated that the embodiments of the invention and the elements of modules described in connection therewith may be implemented by a computer program or computer programs running on a computer or being executed by a microprocessor. Any apparatus implementing the invention may in particular take the form of a network entity such as a router, a server, a module acting in the network, or a mobile device such as a mobile phone, a smartphone, a PDA, or anything alike.
Number | Date | Country | Kind |
---|---|---|---|
11151663.9 | Jan 2011 | EP | regional |