WO2015044104A1 - Video traffic management - Google Patents
Video traffic management Download PDFInfo
- Publication number
- WO2015044104A1 WO2015044104A1 PCT/EP2014/070181 EP2014070181W WO2015044104A1 WO 2015044104 A1 WO2015044104 A1 WO 2015044104A1 EP 2014070181 W EP2014070181 W EP 2014070181W WO 2015044104 A1 WO2015044104 A1 WO 2015044104A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- video
- video streams
- data packets
- streams
- packets associated
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/765—Media network packet handling intermediate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Definitions
- the present subject matter relates to communication networks and, particularly but not exclusively, to video traffic management in communication networks.
- Communication networks such as cellular networks, are often used for making voice calls and video calls, and for accessing data available on the internet and so on.
- the number of users using internet has increased substantially over the years.
- the standards for communication networks such as Long Term Evolution (LTE) standards, facilitate high speed data transfer.
- LTE Long Term Evolution
- the service providers operating the communication networks, usually upgrade their existing network infrastructure to address the increasing demand for high speed data transfer.
- the service providers may block some applications that are data intensive during selected time intervals of the day so as to manage the demand for data transfer. This leads to dissatisfaction of the users who are unable to access their applications when they wish.
- a video traffic management system for video traffic management in communication networks, comprises a processor and a video data analysis module coupled to the processor.
- the video data analysis module receives a plurality of video streams and analyzes each of the plurality of video streams to determine a video frame size of video frames in the each of the plurality of video streams.
- a video traffic prediction module coupled to the processor, estimates a video frame size of upcoming data packets associated with the each of the plurality of video streams, based on the determined video frame size of the video frames.
- the video traffic management system further comprises a video traffic scheduling module, coupled to the processor, to compute a total bandwidth required for transmitting the upcoming data packets associated with the plurality of video streams, based on the estimated video frame size of upcoming data packets, and determine an available bandwidth for transmission of the upcoming data packets associated with the plurality of video streams.
- the video traffic scheduling module then ascertains whether the available bandwidth is less than the total bandwidth, and on ascertaining the available bandwidth to be less than the total bandwidth, transmits a set of video streams from amongst the plurality of video streams, wherein the bandwidth required to transmit the set of video streams substantially adds up to the available bandwidth and wherein the set of video streams is selected based on the estimated video frame size of upcoming data packets.
- a method for video traffic management in communication networks, comprises receiving a plurality of video streams and analyzing each of the plurality of video streams to determine a video frame size of video frames of the each of the plurality of video streams.
- the method further comprises estimating video frame size of upcoming data packets associated with the each of the plurality of video streams, based on the determined video frame size of the video frames, and computing, based on the estimated video frame size of upcoming data packets, a total bandwidth required for transmitting all the upcoming data packets associated with the plurality of video streams.
- the method includes determining an available bandwidth for transmission of the upcoming data packets associated with the plurality of video streams and ascertaining whether the available bandwidth is less than the total bandwidth.
- the method further comprises transmitting, on ascertaining the available bandwidth to be less than the total bandwidth, a set of video streams from amongst the plurality of video streams, wherein the bandwidth required to transmit the set of video streams substantially adds up to the available bandwidth and wherein the set of video streams is selected based on the estimated video frame size of upcoming data packets.
- Figure 1 illustrates a network environment implementation of a video traffic management system for video traffic management in communication networks, in accordance with an example of the present subject matter
- FIGs 2a and 2b illustrate a method for scheduling a plurality of video streams, wherein each of the plurality of video streams has the same Quality of Service (QoS) factor, for video traffic management in communication networks, in accordance with an example of the present subject matter; and
- QoS Quality of Service
- Figures 3a and 3b illustrate a method for scheduling a plurality of video streams, wherein each of the plurality of video streams has a different QoS factor, for video traffic management in communication networks, in accordance with another example of the present subject matter.
- Systems and methods related to video traffic management in communication networks are described herein.
- the present subject matter discloses a system and methods for video traffic management in communication networks by scheduling the transmission of video streams having the same or different quality of service (QoS) factor.
- QoS quality of service
- the methods and systems as described herein may be implemented as any computing systems, such as a server, a workstation, and a personal computer.
- service providers while providing streaming multimedia services, process data packets associated with streaming multimedia content, such as audio content and video content. These services may be provided in compliance with one or more quality of service (QoS) requirements. Furthermore, the multimedia content which is to be provided may be selected based on requests received from users. On receiving a request for streaming multimedia content from a user, the service provider may further determine, based on the available resources like bandwidth, whether the streaming service can be provided in response to the request. Since, the resources of the communication networks, such as bandwidth are limited, it is difficult to process requests from multiple users simultaneously. For example, there may not be sufficient bandwidth to transmit streaming multimedia content requested by multiple users simultaneously. This may lead to the streaming multimedia content not complying with the quality of service (QoS) requirements. Thus, the user experience of viewing the streaming multimedia content may be reduced.
- QoS quality of service
- the service providers implement traffic management techniques to optimize the data transmission in the form of video streams, which are to be provided or streamed in response to requests made by multiple users.
- the techniques of traffic management generally include queuing, servicing the traffic, policing the traffic and shaping the traffic.
- the techniques of traffic management are also used to control various parameters of the communication network, such as the bandwidth allocated to the traffic, probability of data packet loss in the communication network, delay in delivery of data packets to the users, and variations in delay, referred to as jitters, in delivery of data packets to the users. Since, the volume of data to be transferred over the communication networks changes with time, the parameters associated with techniques of traffic management are also modified accordingly. Each request from a user may be serviced using a combination of values for the parameters.
- a major portion of the traffic generated by users is video traffic.
- video traffic is a result of videos being streamed from video servers to users. Such videos are transmitted to the users in form of video streams.
- Each video stream has a QoS factor associated with it.
- the QoS factor may be indicative of the tolerable limits of values of various parameters, such as delay, jitter, loss, and signal-to-noise ratio, of the data packets associated with a video stream.
- Conventional techniques for traffic management for video traffic generally do not consider the QoS factor associated with video streams.
- conventional techniques for traffic management may transmit the video streams in such a way that the QoS of the video stream is not complied with.
- data packets associated with a high quality video, such as high definition (HD) video having a high QoS factor may be queued which increases the buffering time thereby resulting in non-compliance with QoS. This reduces the user experience.
- HD high definition
- Some conventional techniques for video traffic management involve implementing a gateway or a proxy server for managing video traffic. Such mechanisms not only increase costs but also add to the delay in delivery, due to processing of video traffic done either at the gateway or the proxy server, of the video streams to the user. This again leads to failure to meet the QoS and users being dissatisfied.
- the present subject matter discloses methods and systems for video traffic management in communication networks.
- the systems and methods may be implemented in a variety of computing devices.
- a video traffic management system for video traffic management in communication networks may be implemented using various computing systems, such as personal computers, workstations, and servers.
- the methods and systems for video traffic management in communication networks provide for scheduling of video streams such that the available bandwidth for transmission is optimally utilized and QoS for each of the multiple streams, demanded by several users simultaneously, is complied with.
- the video traffic management system receives video traffic, in form of video streams from a plurality of video servers.
- the data may be arranged in the form of data packets.
- the video traffic may be generated due to various kinds of streaming video services, such as conversational video services, video on demand services, video broadcast services, and Internet Protocol Television (IPTV) services.
- IPTV Internet Protocol Television
- the video streams may be received by the video traffic management system, based on requests of the users, at any random interval.
- Each of the video streams may have different QoS factor.
- each of the video stream that are being provided or streamed to the users may be associated with a QoS factor.
- the video traffic management system may determine an order of the video streams based on a descending order of their respective QoS.
- the video traffic management system captures and analyzes the video stream to determine packet size of the data packets of each of the video streams. Based on the data packet size of the data packets, the video traffic management system determines the video frame size of each of the video streams.
- the video traffic management system may also determine the video frame size of each of the video streams based on the communication protocol, such as User Datagram Protocol (UDP) over which the data packets, associated with each of the video streams, are transmitted over the communication network.
- UDP User Datagram Protocol
- the video traffic management system for determining the video frame size of each of the video streams, the video traffic management system generates a video frame trace for each of the video streams.
- the video frame trace can be understood to be a collection of video frame information, such as encoded video time stamp, video frame size, video frame type and Peak signal-to-noise ratio (PSNR).
- PSNR Peak signal-to-noise ratio
- the video traffic management system may determine the video frame size from the video frame trace.
- the video frame size may be understood as the size of individual frames of which the video is composed. For example, a 25 frame per second (fps) video contains 25 video frames which shall be displayed in the duration of one second.
- the video frame trace for each video stream is then modeled by performing a time series analysis to determine one or more modeling parameters.
- modeling parameters include an autoregressive parameter, an integrating parameter, a moving average parameter, and so on.
- the video traffic management system predicts the frame size of upcoming video frames.
- the video traffic management system computes the size of the data packets of each video stream, based on the frame size of the upcoming video, which would eventually be received by the user. Thereafter, the video traffic management system computes the estimated bandwidth to transmit the upcoming data packets of all the video streams.
- the video traffic management system also ascertains the bandwidth, of a communication network, available for transmitting the upcoming data packets to the user.
- the video traffic management system schedules the transmission of the video streams based on the descending order of the QoS of the respective video streams.
- the schedule may indicate transmitting data packets associated with the video streams, in an order of arrival, at a specified time. The specified time may be based on the size of the data packets to be transmitted, the available bandwidth, the delay tolerance of the data packets, and so on.
- the video traffic management system shapes the video traffic such that the bandwidth required to transmit the video streams is reduced. The scheduling facilitates in reducing usage of the available bandwidth and make the bandwidth available for use for transmission of any other data over the communication network.
- the video traffic management system selects a set comprising of one or more video streams from amongst the total number of video streams being received.
- the set of video streams selected from amongst the available video streams is based on the available bandwidth.
- the set of video streams may be selected based on the descending order defined by the QoS factor associated with all the video streams. For example, video streams associated with the top three values of the QoS factor and which cumulatively require the available bandwidth, may be selected to form the set and streamed to the users.
- the data packets of the remaining video streams are buffered.
- the size of such a buffer is typically predefined.
- the video traffic management system buffers the data packets associated with the remaining video streams based on the decreasing order of their respective QoS factors. For the same, data packets of a video stream having a higher QoS factor are buffered prior to data packets associated with a video stream having a lower QoS factor. As and when the video streams in the buffer are streamed, the buffer becomes available. Subsequently, video streams with further lower QoS factor can be buffered and subsequently streamed. In case, the buffer size is exceeded, the video traffic management system drops data packets associated with the video streams having the lowest QoS factors.
- the video traffic management system may transmit the video streams based on the available bandwidth for transmission.
- the video traffic management system selects a random set of video streams from amongst the video streams being received by the video traffic management system, based on the available bandwidth.
- the aforementioned systems and methods for video traffic management in communication networks facilitate scheduling of video streams having the same QoS factor and arriving from different video servers at random intervals.
- the systems and methods for video traffic management also facilitates scheduling of video traffic associated with video streams having different QoS factor, such that the available bandwidth for transmission is optimally utilized.
- the available bandwidth for transmission is optimally utilized and QoS for each of the multiple streams, demanded by several users simultaneously, is complied with.
- the systems and methods for video traffic management operates without using any prior knowledge of metadata associated with the video streams and hence may be implemented in various cases, such as streaming video, conversation video traffic and video on demand services.
- FIG. 1 illustrates a network environment 100 implementation of a video traffic management system 102 for video traffic management in communication networks, in accordance with an example of the present subject matter.
- the video traffic management system 102 may be implemented as various computing systems, such as a laptop, a desktop, a workstation and a server.
- the video traffic management system 102 may be communicatively coupled to various client devices, such as a desktop 104-1 , a mobile phone 104-2 and a smart phone 104-3, henceforth collectively referred to as the client devices 104.
- the video traffic management system 102 may include processor
- the processor 106 may fetch and execute computer-readable instructions stored in the memory 108.
- the memory 108 may include any non-transitory computer-readable medium including, for example, volatile memory, and/or non-volatile memory.
- the video traffic management system 102 may include the modules 1 10.
- the modules 1 include routines, programs, objects, components, and data structures, which perform particular tasks or implement particular abstract data types.
- the modules 1 10 may also be implemented as signal processor(s), state machine(s), logic circuitries, field-programmable gate array (FPGA) modules, application-specific integrated circuit (ASIC) module, and/or any other device or component that manipulates signals based on operational instructions.
- the modules 1 10 can be implemented by hardware, by computer-readable instructions executed by a processing unit, or by a combination thereof.
- the modules 1 10 include a video data analysis module 1 12, a video traffic prediction module 1 14, a video traffic scheduling module 1 16, and other modules 1 18. These other modules 1 18 may include programs or coded instructions that supplement applications or functions performed by the video traffic management system 102.
- the video traffic management system 102 includes data 120.
- the data 120 may include buffer data 122, and other data 124.
- the other data 124 may include data generated and saved by the modules 1 10 for providing various functionalities of the video traffic management system 102.
- the video traffic management system 102 may be communicatively coupled, over a communication network 126, to various video servers, such as the video servers 128-1 and 128-2, henceforth referred to as the video servers 128.
- the video servers 128 may provide various video data or video streams to the users on their respective client devices 104.
- the video traffic management system 102 may be integrated within the video servers 128.
- the communication network 126 may include a Global System for Mobile Communication (GSM) network, a Universal Mobile Telecommunications System (UMTS) network, Long Term Evolution (LTE) network or any other communication network that use any of the commonly used protocols, for example, Real Time Protocol (RTP) and User Datagram Protocol/Internet Protocol ( UDP/IP).
- GSM Global System for Mobile Communication
- UMTS Universal Mobile Telecommunications System
- LTE Long Term Evolution
- the video traffic management system 102 may be implemented in the wired backhaul of broadband wireless network.
- the video traffic management system 102 may be implemented in between the video servers and a network element 130, for example, the UMTS Terrestrial Radio Access (UTRA) element, such as eNodeB and Radio Network Controller (RNC) of the communication network 126.
- UTRA UMTS Terrestrial Radio Access
- RNC Radio Network Controller
- the video traffic management system 102 may be communicatively coupled to the client devices 104 over the communication network 126.
- the video servers 128 may provide the users with video or video streams.
- the video streams may have the same or different QoS factor.
- the QoS factor of a video stream may be indicative of minimum values of network parameters, such as service response time, loss, signal-to-noise ratio, interrupts and frequency response, which should be complied with to ensure overall user satisfaction.
- a video stream with QoS factor '5 ' may have the requirements that loss should not be more than 1 percent, latency should not be more than 150 milliseconds (ms) or 200 ms, and jitter should not be more than 30 ms.
- the video servers 128 may be communicatively coupled to the video traffic management system 102. Based on requests received from the client devices 104, the video servers 128 may transmit the video streams to the video traffic management system 102.
- the video traffic management system 102 implements the techniques, as mentioned in the present subject matter, and transmits the video streams to the network element 130.
- the network element 130 thereafter transmits the video streams to the client devices 104 over the communication network 126.
- the video data analysis module 1 12 captures video traffic corresponding to each video stream and analyzes the same to determine a packet size of the data packets of the video stream.
- the data packet size may refer to the size of the Media Access Control (MAC) Protocol Data Unit (PDU), which is usually represented as MAC PDU Size.
- MAC Media Access Control
- PDU Media Data Unit
- the analysis of the captured video traffic is explained with the help of an example.
- the video traffic is encoded, by the video servers 128, as per the parameters mentioned in table 1.
- a video stream may be understood to be a collection of GOPs.
- Table 1 the Table 1
- GOP may be understood as a series of successive frames in a video stream.
- the GOP specifies the order of arrangement of the intra-frames and the inter-frames of video stream.
- the GOP generally starts with an intra coded frame (I-frame), which is a reference frame representing a fixed image. Thereafter, a series of predictive coded frame (P-frame) follows, wherein each P- frame includes motion-compensated difference information from the preceding I-frame or P- frame.
- I-frame intra coded frame
- P-frame predictive coded frame
- the GOP size indicates the distance between two successive I-frames and is measured in terms of number of frames.
- the quantization parameter indicates the degree of quantization used to compress the video stream.
- Quantization refers to a lossy compression technique, used for image processing and video processing, wherein a range of values of a parameter, such as hue, color, and saturation, is rounded off to a single quantum value.
- frame rate represents the number of frames per second in the video stream.
- the encoded video stream may then be transmitted by the video servers 128 over
- the video servers 128 may fragment the video frames into multiple chunks for the purpose of transmission. For example, a video frame may be fragmented into multiple data packets.
- each data packet may be encapsulated with a RTP header, i.e., the RTP header may be added to each data packet.
- the RTP header may include various parameters, such as the sending and receiving host ports, a field with the length of the data packet, a sequential number of the data packet and a checksum for detecting and correcting transmission errors.
- the data packet comprises a RTP header and one or more video coding layer (VCL) units. Based on the header information in the RTP header, the data packets may be combined to generate the video frame.
- the video servers 128 may aggregate the video frames into a single chunk for the purpose of transmission.
- the video data analysis module 1 12 may ascertain the size of the RTP header and subsequently determine the data packet size of the RTP data packets by scanning the physical layer interface of the communication network 126. Thereafter, the video data analysis module 1 12 may determine the size of the video frame generated by combining the RTP data packets associated with the video frame.
- the video data analysis module 1 12 determines the video frame trace of the video stream. Based on the video frame trace, the video data analysis module 1 12 may determine the size of the video frame.
- RTP Real-time Transport Protocol
- UDP User Datagram Protocol
- the video traffic prediction module 114 predicts the upcoming video frames.
- the video traffic prediction module 1 14 implements time series modeling of the video trace to predict the upcoming video frames.
- the video traffic prediction module 1 14 models the video stream using Seasonal Autoregressive Integrated Moving Average (SARXMA) method.
- SARXMA Seasonal Autoregressive Integrated Moving Average
- the video traffic prediction module 1 14 obtains the modeling parameters and predicts the size of the upcoming video frames of the modeled video stream. Modeling of video traffic helps in determining the statistical dependency among sizes of video frames and helps in predicting upcoming video traffic without prior knowledge of video frame statistics.
- the video traffic prediction module 114 computes the data packet size of the data packets of the upcoming video frames and computes bandwidth required for the transmission of the upcoming video frames.
- each of the video streams may have the same QoS factor. Based on the computed data packet size of upcoming video frames for each of the video streams, the video traffic scheduling module 1 16 determines the total bandwidth for transmitting the plurality of video streams and ascertains whether the available bandwidth for transmission is less than the total bandwidth required for the transmission. In case, the available bandwidth for transmission is equal to or greater than the total bandwidth required for the transmission, the video traffic scheduling module 1 16 schedules the transmission of each of the plurality of video streams and transmits each of the plurality of video streams, based on the schedule. In one example, each of the video streams may have a variable bit-rate. Thus, each of the video streams may transmit different volumes of data at different intervals of time.
- a first video stream may transmit 120 kilobytes (kb) of data in the first millisecond, 72 kb of the data in the second millisecond, 187 kb of data in the third millisecond, 62 kb of data in the fourth millisecond, and so on.
- a second video stream may transmit 143 kilobytes (kb) of data in the first millisecond, 90 kb of the data in the second millisecond, 122 kb of data in the third millisecond, 59 kb of data in the fourth millisecond, and so on.
- the volume of data to be transmitted in the first four milliseconds will be 263 kb, 162 kb, 309 kb, and 121 kb respectively.
- the volume of data to be transmitted in the first four milliseconds will be 120 kb, 219 kb, 277kb, 184 kb, and 59 kb respectively.
- the bandwidth required to transmit the two video streams reduces from 309 kb to 277 kb.
- the video traffic scheduling module 1 16 shapes the video traffic such that the bandwidth required to transmit the two video streams is reduced.
- the scheduling the transmission of the video streams even if the available bandwidth for transmission is greater than or equal to the bandwidth required for transmitting the upcoming data packets of all the video streams, facilitates in reducing usage of the available bandwidth and make the bandwidth available for use for transmission of any other data over the communication network.
- the video traffic scheduling module 116 schedules the transmission of a set of video streams from amongst the video streams, based on the available bandwidth.
- the sum of bandwidth required for the set of video streams being scheduled may be equal to or nearly equal to the available bandwidth.
- the video traffic scheduling module 1 16 thereafter transmits the set of video streams, based on the schedule.
- the video traffic scheduling module 1 16 also buffers the data packets associated with a remaining part of the plurality of video streams as buffer data 122. As and when bandwidth becomes available for transmission, the video traffic scheduling module 1 16 schedules the transmission of the buffered data packets and transmits the buffered data packets based on the schedule.
- the video traffic scheduling module 1 16 further monitors the size of the buffer data 122 and determines whether the size of the buffer data 122 exceeds or is about to exceed a pre-defined buffer size.
- the pre-defined buffer size may be specified by the service provider of the communication network 126. In case, the video traffic scheduling module 1 16 determines that the buffer size is exceeded, the video traffic scheduling module 1 16 may drop data packets associated with the remaining part of the plurality of video streams.
- each of the video streams has a delay threshold associated with it.
- the delay threshold is based on the QoS factor of the video stream.
- the video traffic scheduling module 116 may monitor the delay in transmission of data packets associated with each of the plurality of video streams whose data packets are being buffered. In case, the video traffic scheduling module 1 16 determines that the delay in transmission of data packets of one of the plurality of video streams is greater than the delay threshold for the video stream, then the video traffic scheduling module 1 16 drops the data packets associated with the video stream. This also helps in freeing up the buffer size of the buffer data 122.
- the video traffic scheduling module 1 16 determines that the delay in transmission of data packets of one of the plurality of video streams is less than the delay threshold for the video stream, the video traffic scheduling module 1 16 retains the data packets associated with the video stream in the buffer data 122.
- each of the video streams to be transmitted over the communication network 126 may have different QoS factor.
- the video traffic scheduling module 1 16 may order the plurality of video streams in a descending order of QoS factor. Based on the computed data packet size of upcoming video frames for each of the video streams, the video traffic scheduling module 116 determines the total bandwidth for transmitting the plurality of video streams and ascertains whether the available bandwidth for transmission is less than the total bandwidth required for the transmission. In case, the available bandwidth for transmission is equal to or greater than the total bandwidth required for the transmission, the video traffic scheduling module 1 16 schedules the transmission of each of the plurality of video streams and transmits each of the plurality of video streams, based on the schedule.
- the video traffic scheduling module 116 schedules the transmission of a set of video streams from amongst the video streams to be transmitted, based on the order and available bandwidth. For example, a video stream having a higher QoS factor will be transmitted before a video stream having a lower QoS factor. In one example, the sum of bandwidth required for the set of video streams being scheduled may be equal to or nearly equal to the available bandwidth.
- the video traffic scheduling module 116 thereafter transmits the set of the plurality of video streams, based on the schedule. Meanwhile, the video traffic scheduling module 1 16 also buffers the data packets associated with a remaining part of the plurality of video streams as buffer data 122.
- the video traffic scheduling module 1 16 schedules the transmission of the buffered data packets, based on the order of the video streams, and transmits the buffered data packets based on the schedule. In one example, the video traffic scheduling module 1 16 further monitors the size of the buffer data 122 and determines whether the size of the buffer data 122 exceeds or is about to exceed a pre-defined buffer size. In case, the video traffic scheduling module 116 determines that the buffer size is exceeded, the video traffic scheduling module 1 16 may drop data packets associated with the remaining part of the plurality of video streams based on the order. In one example, data packets associated with a video stream having a low QoS may be dropped before data packets associated with a video stream having a high QoS.
- each of the video streams has a delay threshold associated with it.
- the delay threshold is based on the QoS factor of the video stream.
- the video traffic scheduling module 116 may monitor the delay in transmission of data packets associated with each of the plurality of video streams whose data packets are being buffered. In case, the video traffic scheduling module 1 16 determines that the delay in transmission of data packets of one of the plurality of video streams is greater than the delay threshold for the video stream, then the video traffic scheduling module 1 16 drops the data packets associated with the video stream. This also helps in freeing up the buffer size of the buffer data 122. It will be understood that video streams which have high QoS will have low delay threshold, whereas video streams having low QoS will have high threshold.
- the video traffic scheduling module 116 determines that the delay in transmission of data packets of one of the plurality of video streams is less than the delay threshold for the video stream, the video traffic scheduling module 116 retains the data packets associated with the video stream in the buffer data 122.
- the aforementioned systems and methods for video traffic management in communication networks facilitate scheduling of video streams having the same QoS factor and arriving from different video servers 128 at random intervals.
- the video management system 102 also facilitates scheduling of video traffic associated with video streams having different QoS factor, such that the available bandwidth for transmission is optimally utilized.
- the video management system 102 operates without using any prior knowledge of meta data associated with the video streams and hence may be implemented in various cases, such as streaming video, conversation video traffic and video on demand services.
- Figure 2a, 2b, 3a, and 3b illustrate methods 200 and 300 for video traffic management in communication networks, according to an example of the present subject matter.
- the order in which the methods 200 and 300 are described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the methods 200 and 300, or an alternative method. Additionally, individual blocks may be deleted from the methods 200 and 300 without departing from the spirit and scope of the subject matter described herein.
- the methods 200 and 300 may be implemented in any suitable hardware, computer-readable instructions, or combination thereof.
- the steps of the methods 200 and 300 may be performed by either a computing device under the instruction of machine executable instructions stored on a storage media or by dedicated hardware circuits, microcontrollers, or logic circuits.
- some examples are also intended to cover program storage devices, for example, digital data storage media, which are machine or computer readable and encode machine-executable or computer-executable programs of instructions, where said instructions perform some or all of the steps of the described methods 200 and 300.
- the program storage devices may be, for example, digital memories, magnetic storage media, such as a magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media.
- a plurality of video streams is received, wherein each video stream has the same quality of service (QoS) factor.
- the video data analysis module 1 12 receives the plurality of video streams from the video servers 128.
- the size of data packet for each of the plurality of video streams is ascertained.
- the video data analysis module 112 ascertains the size of data packet of each of the plurality of video streams.
- the size of video frame for each of the plurality of video streams is determined based on the size of the data packet.
- the video data analysis module 1 12 determines the size of video frame for each of the plurality of video streams, based on the size of the data packet.
- the size of video frame of a pre-defined number of upcoming data packets is estimated for each of the plurality of video streams, based on the determined video frame size.
- the video traffic prediction module 1 14 estimates the size of video frame of a pre-defined number of upcoming data packets for each of the plurality of video streams, based on the determined video frame size.
- a total bandwidth required for transmitting the plurality of video streams is determined based on the estimated video frame sizes.
- the video traffic scheduling module 1 16 determines the total bandwidth required for transmitting the plurality of video streams, based on the estimated video frame sizes.
- the video traffic scheduling module 1 16 determines whether the bandwidth available for transmission is less than the total bandwidth required for transmitting the plurality of video streams.
- the video traffic scheduling module 1 16 schedules the transmission of each of the plurality of video streams.
- each of the plurality of video streams is transmitted based on the schedule.
- the video traffic scheduling module 1 16 transmits each of the plurality of video streams based on the schedule.
- the transmission of a set of video streams is scheduled, based on the available bandwidth.
- the video traffic scheduling module 1 16 schedules the transmission of a set of video streams, based on the available bandwidth.
- the set of video streams is selected based on the estimated video frame size of upcoming data packets.
- the set of video streams is transmitted, based on the schedule.
- the video traffic scheduling module 1 16 transmits the set of video streams based on the schedule.
- data packets associated with a remaining part of the plurality of video streams are buffered, wherein the buffered data packets are transmitted on bandwidth being available for transmission.
- the video traffic scheduling module 1 16 buffers the data packets associated with the remaining part of the plurality of video streams.
- the buffered data packets are stored as the buffer data 122.
- the video traffic scheduling module 116 monitors the size of the buffer data 122 and determines whether the size of the buffer data 122 has been exceeded. [0066] If at block 224, it is determined that the size of the buffer has been exceeded, then as shown in block 226, data packets associated with the remaining part of the plurality of video streams are dropped. In one example, the video traffic scheduling module 1 16 drops the data packets associated with the remaining part of the plurality of video streams.
- the video traffic scheduling module 116 determines whether a delay in transmission of data packets of at least one of the plurality of video streams is greater than the delay threshold for the at least one video stream.
- a plurality of video streams is received, wherein each video stream has a different quality of service (QoS) factor.
- the video data analysis module 1 12 receives the plurality of video streams from the video servers 128.
- the size of data packet of each of the plurality of video streams is ascertained.
- the video data analysis module 112 ascertains the size of data packet of each of the plurality of video streams.
- the size of video frame for each of the plurality of video streams is determined based on the size of the data packet.
- the video data analysis module 1 12 determines the size of video frame for each of the plurality of video streams, based on the size of the data packet.
- the size of video frame of a pre-defined number of upcoming data packets is estimated for each of the plurality of video streams, based on the determined video frame size.
- the video traffic prediction module 1 14 estimates the size of video frame of a pre-defined number of upcoming data packets for each of the plurality of video streams, based on the determined video frame size.
- the plurality of video streams is arranged in a descending order of QoS factor.
- the video traffic scheduling module 1 16 arranges the plurality of video streams in a descending order of QoS factor.
- a total bandwidth required for transmitting the plurality of video streams is determined based on the estimated video frame sizes.
- the video traffic scheduling module 1 16 determines the total bandwidth required for transmitting the plurality of video streams, based on the estimated video frame sizes.
- the video traffic scheduling module 1 16 determines whether the bandwidth available for transmission is less than the total bandwidth required for transmitting the plurality of video streams.
- the video traffic scheduling module 1 16 schedules the transmission of each of the plurality of video streams.
- each of the plurality of video streams is transmitted based on the schedule.
- the video traffic scheduling module 1 16 transmits each of the plurality of video streams based on the schedule.
- the transmission of a set of video streams is scheduled, based on the available bandwidth and the descending order.
- the video traffic scheduling module 1 16 schedules the transmission of the set of video streams, based on the available bandwidth and the order.
- the set of video streams is selected based on the estimated video frame size of upcoming data packets.
- the set of video streams is transmitted, based on the schedule and the order.
- the video traffic scheduling module 116 transmits the set of video streams based on the schedule and the order.
- data packets associated with a remaining part of the plurality of video streams are buffered, wherein the buffered data packets are transmitted on bandwidth being available for transmission.
- the video traffic scheduling module 1 16 buffers the data packets associated with the remaining part of the plurality of video streams.
- the buffered data packets are stored as buffer data 122.
- the video traffic scheduling module 116 monitors the size of the buffer data 122 and determines whether the size of the buffer data 122 has been exceeded.
- the video traffic scheduling module 1 16 determines whether a delay in transmission of data packets of at least one of the plurality of video streams is greater than the delay threshold for the at least one video stream.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The present subject matter pertains to video traffic management. In one implementation, the method comprises receiving a plurality of video streams and analyzing each of the plurality of video streams to determine a video frame size of the each of the plurality of video streams. The method further comprises estimating video frame size of upcoming data packets associated with the each of the plurality of video streams and computing a total bandwidth required for transmitting all the upcoming data packets associated with the plurality of video streams. Thereafter, an available bandwidth for transmission of the upcoming data packets is determined. The method further comprises ascertaining whether the available bandwidth is less than the total bandwidth, and transmitting a part of the plurality of video streams, wherein the bandwidth required to transmit the part of the plurality of video streams substantially adds up to the available bandwidth.
Description
VIDEO TRAFFIC MANAGEMENT
TECHNICAL FIELD
[0001] The present subject matter relates to communication networks and, particularly but not exclusively, to video traffic management in communication networks.
BACKGROUND
[0002] Communication networks, such as cellular networks, are often used for making voice calls and video calls, and for accessing data available on the internet and so on. The number of users using internet has increased substantially over the years. Also, in recent times, the standards for communication networks, such as Long Term Evolution (LTE) standards, facilitate high speed data transfer. The increase in use of data intensive applications and services, such as video streaming, quickly exhausts the capacity and the bandwidth of the communication networks, thereby affecting the quality of experience of the users. This has led to development and deployment of techniques that attempt to manage video traffic in communication networks, so that the users have a substantially good quality of experience while accessing video data or availing of video services.
[0003] The service providers, operating the communication networks, usually upgrade their existing network infrastructure to address the increasing demand for high speed data transfer. In certain scenarios, the service providers may block some applications that are data intensive during selected time intervals of the day so as to manage the demand for data transfer. This leads to dissatisfaction of the users who are unable to access their applications when they wish.
SUMMARY
[0004] This summary is provided to introduce concepts related to video traffic management in communication networks. This summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
[0005] In one example, a video traffic management system for video traffic management, in communication networks, comprises a processor and a video data analysis module coupled to the processor. The video data analysis module receives a plurality of video streams and analyzes each of the plurality of video streams to determine a video frame size of video frames in the each of the plurality of video streams. Thereafter, a video traffic prediction
module, coupled to the processor, estimates a video frame size of upcoming data packets associated with the each of the plurality of video streams, based on the determined video frame size of the video frames. The video traffic management system further comprises a video traffic scheduling module, coupled to the processor, to compute a total bandwidth required for transmitting the upcoming data packets associated with the plurality of video streams, based on the estimated video frame size of upcoming data packets, and determine an available bandwidth for transmission of the upcoming data packets associated with the plurality of video streams. The video traffic scheduling module then ascertains whether the available bandwidth is less than the total bandwidth, and on ascertaining the available bandwidth to be less than the total bandwidth, transmits a set of video streams from amongst the plurality of video streams, wherein the bandwidth required to transmit the set of video streams substantially adds up to the available bandwidth and wherein the set of video streams is selected based on the estimated video frame size of upcoming data packets.
[0006] In another example a method for video traffic management, in communication networks, comprises receiving a plurality of video streams and analyzing each of the plurality of video streams to determine a video frame size of video frames of the each of the plurality of video streams. The method further comprises estimating video frame size of upcoming data packets associated with the each of the plurality of video streams, based on the determined video frame size of the video frames, and computing, based on the estimated video frame size of upcoming data packets, a total bandwidth required for transmitting all the upcoming data packets associated with the plurality of video streams. Thereafter, the method includes determining an available bandwidth for transmission of the upcoming data packets associated with the plurality of video streams and ascertaining whether the available bandwidth is less than the total bandwidth. The method further comprises transmitting, on ascertaining the available bandwidth to be less than the total bandwidth, a set of video streams from amongst the plurality of video streams, wherein the bandwidth required to transmit the set of video streams substantially adds up to the available bandwidth and wherein the set of video streams is selected based on the estimated video frame size of upcoming data packets.
BRIEF DESCRIPTION OF THE FIGURES
[0007] The detailed description is described with reference to the accompanying figures.
In the figures, the left-most digit(s) of a reference number identifies the figure in which the
reference number first appears. The same numbers are used throughout the figures to reference like features and components. Some embodiments of system and/or methods in accordance with embodiments of the present subject matter are now described, by way of example only, and with reference to the accompanying figures, in which:
[0008] Figure 1 illustrates a network environment implementation of a video traffic management system for video traffic management in communication networks, in accordance with an example of the present subject matter;
[0009] Figures 2a and 2b illustrate a method for scheduling a plurality of video streams, wherein each of the plurality of video streams has the same Quality of Service (QoS) factor, for video traffic management in communication networks, in accordance with an example of the present subject matter; and
[0010] Figures 3a and 3b illustrate a method for scheduling a plurality of video streams, wherein each of the plurality of video streams has a different QoS factor, for video traffic management in communication networks, in accordance with another example of the present subject matter.
[0011] It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative systems embodying the principles of the present subject matter. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
DETAILED DESCRIPTION
[0012] Systems and methods related to video traffic management in communication networks are described herein. In one embodiment, the present subject matter discloses a system and methods for video traffic management in communication networks by scheduling the transmission of video streams having the same or different quality of service (QoS) factor. The methods and systems as described herein may be implemented as any computing systems, such as a server, a workstation, and a personal computer.
[0013] Nowadays, service providers, while providing streaming multimedia services, process data packets associated with streaming multimedia content, such as audio content and
video content. These services may be provided in compliance with one or more quality of service (QoS) requirements. Furthermore, the multimedia content which is to be provided may be selected based on requests received from users. On receiving a request for streaming multimedia content from a user, the service provider may further determine, based on the available resources like bandwidth, whether the streaming service can be provided in response to the request. Since, the resources of the communication networks, such as bandwidth are limited, it is difficult to process requests from multiple users simultaneously. For example, there may not be sufficient bandwidth to transmit streaming multimedia content requested by multiple users simultaneously. This may lead to the streaming multimedia content not complying with the quality of service (QoS) requirements. Thus, the user experience of viewing the streaming multimedia content may be reduced.
[0014] Generally, the service providers implement traffic management techniques to optimize the data transmission in the form of video streams, which are to be provided or streamed in response to requests made by multiple users. The techniques of traffic management generally include queuing, servicing the traffic, policing the traffic and shaping the traffic. The techniques of traffic management are also used to control various parameters of the communication network, such as the bandwidth allocated to the traffic, probability of data packet loss in the communication network, delay in delivery of data packets to the users, and variations in delay, referred to as jitters, in delivery of data packets to the users. Since, the volume of data to be transferred over the communication networks changes with time, the parameters associated with techniques of traffic management are also modified accordingly. Each request from a user may be serviced using a combination of values for the parameters.
[0015] A major portion of the traffic generated by users is video traffic. Generally, such video traffic is a result of videos being streamed from video servers to users. Such videos are transmitted to the users in form of video streams. Each video stream has a QoS factor associated with it. The QoS factor may be indicative of the tolerable limits of values of various parameters, such as delay, jitter, loss, and signal-to-noise ratio, of the data packets associated with a video stream.
[0016] Conventional techniques for traffic management for video traffic generally do not consider the QoS factor associated with video streams. Hence, conventional techniques for traffic management may transmit the video streams in such a way that the QoS of the video stream is
not complied with. For example, data packets associated with a high quality video, such as high definition (HD) video, having a high QoS factor may be queued which increases the buffering time thereby resulting in non-compliance with QoS. This reduces the user experience.
[0017] Some conventional techniques for video traffic management involve implementing a gateway or a proxy server for managing video traffic. Such mechanisms not only increase costs but also add to the delay in delivery, due to processing of video traffic done either at the gateway or the proxy server, of the video streams to the user. This again leads to failure to meet the QoS and users being dissatisfied.
[0018] The present subject matter discloses methods and systems for video traffic management in communication networks. The systems and methods may be implemented in a variety of computing devices. In one embodiment, a video traffic management system for video traffic management in communication networks may be implemented using various computing systems, such as personal computers, workstations, and servers. The methods and systems for video traffic management in communication networks provide for scheduling of video streams such that the available bandwidth for transmission is optimally utilized and QoS for each of the multiple streams, demanded by several users simultaneously, is complied with.
[0019] In one implementation, the video traffic management system receives video traffic, in form of video streams from a plurality of video servers. Within the video streams, the data may be arranged in the form of data packets. As mentioned previously, the video traffic may be generated due to various kinds of streaming video services, such as conversational video services, video on demand services, video broadcast services, and Internet Protocol Television (IPTV) services. The video streams may be received by the video traffic management system, based on requests of the users, at any random interval. Each of the video streams may have different QoS factor.
[0020] As part of the video streaming services, each of the video stream that are being provided or streamed to the users, may be associated with a QoS factor. In operation, the video traffic management system, as per one implementation, may determine an order of the video streams based on a descending order of their respective QoS. The video traffic management system captures and analyzes the video stream to determine packet size of the data packets of each of the video streams. Based on the data packet size of the data packets, the video traffic management system determines the video frame size of each of the video streams. In one
example, the video traffic management system may also determine the video frame size of each of the video streams based on the communication protocol, such as User Datagram Protocol (UDP) over which the data packets, associated with each of the video streams, are transmitted over the communication network.
[0021] In one example, for determining the video frame size of each of the video streams, the video traffic management system generates a video frame trace for each of the video streams. The video frame trace can be understood to be a collection of video frame information, such as encoded video time stamp, video frame size, video frame type and Peak signal-to-noise ratio (PSNR). In one example, the video traffic management system may determine the video frame size from the video frame trace. The video frame size may be understood as the size of individual frames of which the video is composed. For example, a 25 frame per second (fps) video contains 25 video frames which shall be displayed in the duration of one second.
[0022] The video frame trace for each video stream is then modeled by performing a time series analysis to determine one or more modeling parameters. Examples of such modeling parameters include an autoregressive parameter, an integrating parameter, a moving average parameter, and so on. Based on the modeling parameters associated with the time series analysis, the video traffic management system predicts the frame size of upcoming video frames. On determining the frame size of the upcoming video, the video traffic management system computes the size of the data packets of each video stream, based on the frame size of the upcoming video, which would eventually be received by the user. Thereafter, the video traffic management system computes the estimated bandwidth to transmit the upcoming data packets of all the video streams. The video traffic management system also ascertains the bandwidth, of a communication network, available for transmitting the upcoming data packets to the user.
[0023] In case the available bandwidth for transmission is greater than or equal to the bandwidth required for transmitting the upcoming data packets of all the video streams, the video traffic management system schedules the transmission of the video streams based on the descending order of the QoS of the respective video streams. In one example, the schedule may indicate transmitting data packets associated with the video streams, in an order of arrival, at a specified time. The specified time may be based on the size of the data packets to be transmitted, the available bandwidth, the delay tolerance of the data packets, and so on. By scheduling, the video traffic management system shapes the video traffic such that the bandwidth required to
transmit the video streams is reduced. The scheduling facilitates in reducing usage of the available bandwidth and make the bandwidth available for use for transmission of any other data over the communication network.
[0024] In one implementation, it can be determined that the available bandwidth for transmission is less than the bandwidth required for transmitting the upcoming data packets of all the video streams. In such cases, the video traffic management system selects a set comprising of one or more video streams from amongst the total number of video streams being received. The set of video streams selected from amongst the available video streams is based on the available bandwidth. In one example, wherein the video streams are associated with different QoS factors, the set of video streams may be selected based on the descending order defined by the QoS factor associated with all the video streams. For example, video streams associated with the top three values of the QoS factor and which cumulatively require the available bandwidth, may be selected to form the set and streamed to the users.
[0025] In one implementation, the data packets of the remaining video streams are buffered. As would be conventionally known, the size of such a buffer is typically predefined. In the present implementation, the video traffic management system buffers the data packets associated with the remaining video streams based on the decreasing order of their respective QoS factors. For the same, data packets of a video stream having a higher QoS factor are buffered prior to data packets associated with a video stream having a lower QoS factor. As and when the video streams in the buffer are streamed, the buffer becomes available. Subsequently, video streams with further lower QoS factor can be buffered and subsequently streamed. In case, the buffer size is exceeded, the video traffic management system drops data packets associated with the video streams having the lowest QoS factors.
[0026] In case, all the video streams have the same QoS factor, then the video traffic management system may transmit the video streams based on the available bandwidth for transmission. In one example, the video traffic management system selects a random set of video streams from amongst the video streams being received by the video traffic management system, based on the available bandwidth.
[0027] Thus, the aforementioned systems and methods for video traffic management in communication networks facilitate scheduling of video streams having the same QoS factor and arriving from different video servers at random intervals. The systems and methods for video
traffic management also facilitates scheduling of video traffic associated with video streams having different QoS factor, such that the available bandwidth for transmission is optimally utilized. Thus, the available bandwidth for transmission is optimally utilized and QoS for each of the multiple streams, demanded by several users simultaneously, is complied with. Further, the systems and methods for video traffic management operates without using any prior knowledge of metadata associated with the video streams and hence may be implemented in various cases, such as streaming video, conversation video traffic and video on demand services.
[0028] The above systems and the methods are further described in conjunction with the following figures. It should be noted that the description and figures merely illustrate the principles of the present subject matter. Further, various arrangements may be devised that, although not explicitly described or shown herein, embody the principles of the present subject matter and are included within its spirit and scope.
[0029] The manners in which the systems and methods for video traffic management in communication networks are implemented are explained in details with respect to Figures 1 , 2a, 2b, 3a, and 3b. While aspects of described systems and methods for video traffic management in communication networks can be implemented in any number of different computing systems, environments, and/or implementations, the examples and implementations are described in the context of the following system(s).
[0030] Figure 1 illustrates a network environment 100 implementation of a video traffic management system 102 for video traffic management in communication networks, in accordance with an example of the present subject matter. In one example, the video traffic management system 102 may be implemented as various computing systems, such as a laptop, a desktop, a workstation and a server. The video traffic management system 102 may be communicatively coupled to various client devices, such as a desktop 104-1 , a mobile phone 104-2 and a smart phone 104-3, henceforth collectively referred to as the client devices 104.
[0031] In one example, the video traffic management system 102 may include processor
106 and memory 108 communicatively coupled to the processor 106. Among other capabilities, the processor 106 may fetch and execute computer-readable instructions stored in the memory 108. The memory 108 may include any non-transitory computer-readable medium including, for example, volatile memory, and/or non-volatile memory.
[0032] Further, the video traffic management system 102 may include the modules 1 10.
The modules 1 10, amongst other things, include routines, programs, objects, components, and data structures, which perform particular tasks or implement particular abstract data types. The modules 1 10 may also be implemented as signal processor(s), state machine(s), logic circuitries, field-programmable gate array (FPGA) modules, application-specific integrated circuit (ASIC) module, and/or any other device or component that manipulates signals based on operational instructions. Further, the modules 1 10 can be implemented by hardware, by computer-readable instructions executed by a processing unit, or by a combination thereof. In one implementation, the modules 1 10 include a video data analysis module 1 12, a video traffic prediction module 1 14, a video traffic scheduling module 1 16, and other modules 1 18. These other modules 1 18 may include programs or coded instructions that supplement applications or functions performed by the video traffic management system 102.
[0033] In an example, the video traffic management system 102 includes data 120. In said example, the data 120 may include buffer data 122, and other data 124. The other data 124 may include data generated and saved by the modules 1 10 for providing various functionalities of the video traffic management system 102.
[0034] In one implementation, the video traffic management system 102 may be communicatively coupled, over a communication network 126, to various video servers, such as the video servers 128-1 and 128-2, henceforth referred to as the video servers 128. The video servers 128 may provide various video data or video streams to the users on their respective client devices 104. In one example, the video traffic management system 102 may be integrated within the video servers 128.
[0035] In one example, the communication network 126 may include a Global System for Mobile Communication (GSM) network, a Universal Mobile Telecommunications System (UMTS) network, Long Term Evolution (LTE) network or any other communication network that use any of the commonly used protocols, for example, Real Time Protocol (RTP) and User Datagram Protocol/Internet Protocol ( UDP/IP). In one example, the video traffic management system 102 may be implemented in the wired backhaul of broadband wireless network. In said example, the video traffic management system 102 may be implemented in between the video servers and a network element 130, for example, the UMTS Terrestrial Radio Access (UTRA) element, such as eNodeB and Radio Network Controller (RNC) of the communication network
126. In one example, the video traffic management system 102 may be communicatively coupled to the client devices 104 over the communication network 126.
[0036] In one example, the video servers 128 may provide the users with video or video streams. The video streams may have the same or different QoS factor. The QoS factor of a video stream may be indicative of minimum values of network parameters, such as service response time, loss, signal-to-noise ratio, interrupts and frequency response, which should be complied with to ensure overall user satisfaction. For example, a video stream with QoS factor '5 ' may have the requirements that loss should not be more than 1 percent, latency should not be more than 150 milliseconds (ms) or 200 ms, and jitter should not be more than 30 ms.
[0037] In one example, the video servers 128 may be communicatively coupled to the video traffic management system 102. Based on requests received from the client devices 104, the video servers 128 may transmit the video streams to the video traffic management system 102. The video traffic management system 102 implements the techniques, as mentioned in the present subject matter, and transmits the video streams to the network element 130. The network element 130 thereafter transmits the video streams to the client devices 104 over the communication network 126.
[0038] In operation, the video data analysis module 1 12 captures video traffic corresponding to each video stream and analyzes the same to determine a packet size of the data packets of the video stream. In one example, the data packet size may refer to the size of the Media Access Control (MAC) Protocol Data Unit (PDU), which is usually represented as MAC PDU Size. The analysis of the captured video traffic is explained with the help of an example. In said example, the video traffic is encoded, by the video servers 128, as per the parameters mentioned in table 1.
[0039] A video stream may be understood to be a collection of GOPs. In the Table 1 , the
GOP may be understood as a series of successive frames in a video stream. The GOP specifies
the order of arrangement of the intra-frames and the inter-frames of video stream. The GOP generally starts with an intra coded frame (I-frame), which is a reference frame representing a fixed image. Thereafter, a series of predictive coded frame (P-frame) follows, wherein each P- frame includes motion-compensated difference information from the preceding I-frame or P- frame. The GOP size indicates the distance between two successive I-frames and is measured in terms of number of frames. In the Table 1 , the quantization parameter indicates the degree of quantization used to compress the video stream. Quantization refers to a lossy compression technique, used for image processing and video processing, wherein a range of values of a parameter, such as hue, color, and saturation, is rounded off to a single quantum value. In the Table-1, frame rate represents the number of frames per second in the video stream.
[0040] The encoded video stream may then be transmitted by the video servers 128 over
RTP. In one example, the video servers 128 may fragment the video frames into multiple chunks for the purpose of transmission. For example, a video frame may be fragmented into multiple data packets. In UDP protocol, each data packet may be encapsulated with a RTP header, i.e., the RTP header may be added to each data packet. The RTP header may include various parameters, such as the sending and receiving host ports, a field with the length of the data packet, a sequential number of the data packet and a checksum for detecting and correcting transmission errors. Thus, the data packet comprises a RTP header and one or more video coding layer (VCL) units. Based on the header information in the RTP header, the data packets may be combined to generate the video frame. In another example, the video servers 128 may aggregate the video frames into a single chunk for the purpose of transmission.
[0041] Since, the encapsulation process of the RTP data packets is known, the video data analysis module 1 12 may ascertain the size of the RTP header and subsequently determine the data packet size of the RTP data packets by scanning the physical layer interface of the communication network 126. Thereafter, the video data analysis module 1 12 may determine the size of the video frame generated by combining the RTP data packets associated with the video frame.
[0042] In another implementation, in scenarios, such as the aforementioned example, in which the video stream is transmitted over Real-time Transport Protocol (RTP) over User Datagram Protocol (UDP), the video data analysis module 1 12 determines the video frame trace
of the video stream. Based on the video frame trace, the video data analysis module 1 12 may determine the size of the video frame.
[0043] Based on the video frame trace, the video traffic prediction module 114 predicts the upcoming video frames. In one example, the video traffic prediction module 1 14 implements time series modeling of the video trace to predict the upcoming video frames. In said example, the video traffic prediction module 1 14 models the video stream using Seasonal Autoregressive Integrated Moving Average (SARXMA) method. Thereafter, the video traffic prediction module 1 14 obtains the modeling parameters and predicts the size of the upcoming video frames of the modeled video stream. Modeling of video traffic helps in determining the statistical dependency among sizes of video frames and helps in predicting upcoming video traffic without prior knowledge of video frame statistics. Thereafter, the video traffic prediction module 114 computes the data packet size of the data packets of the upcoming video frames and computes bandwidth required for the transmission of the upcoming video frames.
[0044] In certain cases, each of the video streams may have the same QoS factor. Based on the computed data packet size of upcoming video frames for each of the video streams, the video traffic scheduling module 1 16 determines the total bandwidth for transmitting the plurality of video streams and ascertains whether the available bandwidth for transmission is less than the total bandwidth required for the transmission. In case, the available bandwidth for transmission is equal to or greater than the total bandwidth required for the transmission, the video traffic scheduling module 1 16 schedules the transmission of each of the plurality of video streams and transmits each of the plurality of video streams, based on the schedule. In one example, each of the video streams may have a variable bit-rate. Thus, each of the video streams may transmit different volumes of data at different intervals of time.
[0045] The above concepts would be better understood by way of the following illustrations. For example, a first video stream may transmit 120 kilobytes (kb) of data in the first millisecond, 72 kb of the data in the second millisecond, 187 kb of data in the third millisecond, 62 kb of data in the fourth millisecond, and so on. Similarly a second video stream may transmit 143 kilobytes (kb) of data in the first millisecond, 90 kb of the data in the second millisecond, 122 kb of data in the third millisecond, 59 kb of data in the fourth millisecond, and so on. If in an example, the first video stream and the second video stream are received at the same instant; the volume of data to be transmitted in the first four milliseconds will be 263 kb, 162 kb, 309 kb, and
121 kb respectively. However, if the second video stream is delayed by one millisecond, the volume of data to be transmitted in the first four milliseconds will be 120 kb, 219 kb, 277kb, 184 kb, and 59 kb respectively. Thus, by delaying the second video stream by one millisecond, the bandwidth required to transmit the two video streams reduces from 309 kb to 277 kb. Thus, by scheduling, the video traffic scheduling module 1 16 shapes the video traffic such that the bandwidth required to transmit the two video streams is reduced. The scheduling the transmission of the video streams, even if the available bandwidth for transmission is greater than or equal to the bandwidth required for transmitting the upcoming data packets of all the video streams, facilitates in reducing usage of the available bandwidth and make the bandwidth available for use for transmission of any other data over the communication network.
[0046] In case, the available bandwidth for transmission is less than the total bandwidth required for the transmission, the video traffic scheduling module 116 schedules the transmission of a set of video streams from amongst the video streams, based on the available bandwidth. In one example, the sum of bandwidth required for the set of video streams being scheduled may be equal to or nearly equal to the available bandwidth. The video traffic scheduling module 1 16 thereafter transmits the set of video streams, based on the schedule. Meanwhile, the video traffic scheduling module 1 16 also buffers the data packets associated with a remaining part of the plurality of video streams as buffer data 122. As and when bandwidth becomes available for transmission, the video traffic scheduling module 1 16 schedules the transmission of the buffered data packets and transmits the buffered data packets based on the schedule. In one example, the video traffic scheduling module 1 16 further monitors the size of the buffer data 122 and determines whether the size of the buffer data 122 exceeds or is about to exceed a pre-defined buffer size. The pre-defined buffer size may be specified by the service provider of the communication network 126. In case, the video traffic scheduling module 1 16 determines that the buffer size is exceeded, the video traffic scheduling module 1 16 may drop data packets associated with the remaining part of the plurality of video streams.
[0047] As mentioned earlier, each of the video streams has a delay threshold associated with it. The delay threshold is based on the QoS factor of the video stream. In one example, the video traffic scheduling module 116 may monitor the delay in transmission of data packets associated with each of the plurality of video streams whose data packets are being buffered. In case, the video traffic scheduling module 1 16 determines that the delay in transmission of data
packets of one of the plurality of video streams is greater than the delay threshold for the video stream, then the video traffic scheduling module 1 16 drops the data packets associated with the video stream. This also helps in freeing up the buffer size of the buffer data 122. In case, the video traffic scheduling module 1 16 determines that the delay in transmission of data packets of one of the plurality of video streams is less than the delay threshold for the video stream, the video traffic scheduling module 1 16 retains the data packets associated with the video stream in the buffer data 122.
[0048] In certain cases, each of the video streams to be transmitted over the communication network 126 may have different QoS factor. In such cases, the video traffic scheduling module 1 16 may order the plurality of video streams in a descending order of QoS factor. Based on the computed data packet size of upcoming video frames for each of the video streams, the video traffic scheduling module 116 determines the total bandwidth for transmitting the plurality of video streams and ascertains whether the available bandwidth for transmission is less than the total bandwidth required for the transmission. In case, the available bandwidth for transmission is equal to or greater than the total bandwidth required for the transmission, the video traffic scheduling module 1 16 schedules the transmission of each of the plurality of video streams and transmits each of the plurality of video streams, based on the schedule.
[0049] In case, the available bandwidth for transmission is less than the total bandwidth required for the transmission, the video traffic scheduling module 116 schedules the transmission of a set of video streams from amongst the video streams to be transmitted, based on the order and available bandwidth. For example, a video stream having a higher QoS factor will be transmitted before a video stream having a lower QoS factor. In one example, the sum of bandwidth required for the set of video streams being scheduled may be equal to or nearly equal to the available bandwidth. The video traffic scheduling module 116 thereafter transmits the set of the plurality of video streams, based on the schedule. Meanwhile, the video traffic scheduling module 1 16 also buffers the data packets associated with a remaining part of the plurality of video streams as buffer data 122. As and when bandwidth becomes available for transmission, the video traffic scheduling module 1 16 schedules the transmission of the buffered data packets, based on the order of the video streams, and transmits the buffered data packets based on the schedule. In one example, the video traffic scheduling module 1 16 further monitors the size of the buffer data 122 and determines whether the size of the buffer data 122 exceeds or is about to
exceed a pre-defined buffer size. In case, the video traffic scheduling module 116 determines that the buffer size is exceeded, the video traffic scheduling module 1 16 may drop data packets associated with the remaining part of the plurality of video streams based on the order. In one example, data packets associated with a video stream having a low QoS may be dropped before data packets associated with a video stream having a high QoS.
[0050] As mentioned earlier, each of the video streams has a delay threshold associated with it. The delay threshold is based on the QoS factor of the video stream. In one example, the video traffic scheduling module 116 may monitor the delay in transmission of data packets associated with each of the plurality of video streams whose data packets are being buffered. In case, the video traffic scheduling module 1 16 determines that the delay in transmission of data packets of one of the plurality of video streams is greater than the delay threshold for the video stream, then the video traffic scheduling module 1 16 drops the data packets associated with the video stream. This also helps in freeing up the buffer size of the buffer data 122. It will be understood that video streams which have high QoS will have low delay threshold, whereas video streams having low QoS will have high threshold. In case, the video traffic scheduling module 116 determines that the delay in transmission of data packets of one of the plurality of video streams is less than the delay threshold for the video stream, the video traffic scheduling module 116 retains the data packets associated with the video stream in the buffer data 122.
[0051] Thus, the aforementioned systems and methods for video traffic management in communication networks facilitate scheduling of video streams having the same QoS factor and arriving from different video servers 128 at random intervals. The video management system 102 also facilitates scheduling of video traffic associated with video streams having different QoS factor, such that the available bandwidth for transmission is optimally utilized. Further, the video management system 102 operates without using any prior knowledge of meta data associated with the video streams and hence may be implemented in various cases, such as streaming video, conversation video traffic and video on demand services.
[0052] Figure 2a, 2b, 3a, and 3b illustrate methods 200 and 300 for video traffic management in communication networks, according to an example of the present subject matter. The order in which the methods 200 and 300 are described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the methods 200 and 300, or an alternative method. Additionally, individual blocks
may be deleted from the methods 200 and 300 without departing from the spirit and scope of the subject matter described herein. Furthermore, the methods 200 and 300 may be implemented in any suitable hardware, computer-readable instructions, or combination thereof.
[0053] The steps of the methods 200 and 300 may be performed by either a computing device under the instruction of machine executable instructions stored on a storage media or by dedicated hardware circuits, microcontrollers, or logic circuits. Herein, some examples are also intended to cover program storage devices, for example, digital data storage media, which are machine or computer readable and encode machine-executable or computer-executable programs of instructions, where said instructions perform some or all of the steps of the described methods 200 and 300. The program storage devices may be, for example, digital memories, magnetic storage media, such as a magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media.
[0054] With reference to method 200, at block 202, a plurality of video streams is received, wherein each video stream has the same quality of service (QoS) factor. In one example, the video data analysis module 1 12 receives the plurality of video streams from the video servers 128.
[0055] As shown in block 204, the size of data packet for each of the plurality of video streams is ascertained. In one example, the video data analysis module 112 ascertains the size of data packet of each of the plurality of video streams.
[0056] As depicted in block 206, the size of video frame for each of the plurality of video streams is determined based on the size of the data packet. In one example, the video data analysis module 1 12 determines the size of video frame for each of the plurality of video streams, based on the size of the data packet.
[0057] As illustrated in block 208, the size of video frame of a pre-defined number of upcoming data packets is estimated for each of the plurality of video streams, based on the determined video frame size. In one example, the video traffic prediction module 1 14 estimates the size of video frame of a pre-defined number of upcoming data packets for each of the plurality of video streams, based on the determined video frame size.
[0058] At block 210, a total bandwidth required for transmitting the plurality of video streams is determined based on the estimated video frame sizes. In one implementation, the
video traffic scheduling module 1 16 determines the total bandwidth required for transmitting the plurality of video streams, based on the estimated video frame sizes.
[0059] At block 212, it is determined whether the bandwidth available for transmission is less than the total bandwidth required for transmitting the plurality of video streams. In one example, the video traffic scheduling module 1 16 determines whether the bandwidth available for transmission is less than the total bandwidth required for transmitting the plurality of video streams.
[0060] In case at block 212 it is determined that the bandwidth available for transmission is not less than the total bandwidth required for transmitting the plurality of video streams, then as shown in block 214, the video traffic scheduling module 1 16 schedules the transmission of each of the plurality of video streams.
[0061] As shown in block 216, each of the plurality of video streams is transmitted based on the schedule. In one example, the video traffic scheduling module 1 16 transmits each of the plurality of video streams based on the schedule.
[0062] In case at block 212 it is determined that the bandwidth available for transmission is less than the total bandwidth required for transmitting the plurality of video streams, then as shown in block 218, the transmission of a set of video streams is scheduled, based on the available bandwidth. In one example, the video traffic scheduling module 1 16 schedules the transmission of a set of video streams, based on the available bandwidth. In one example, the set of video streams is selected based on the estimated video frame size of upcoming data packets.
[0063] As shown in block 220, the set of video streams is transmitted, based on the schedule. In one example, the video traffic scheduling module 1 16 transmits the set of video streams based on the schedule.
[0064] As illustrated in block 222, data packets associated with a remaining part of the plurality of video streams are buffered, wherein the buffered data packets are transmitted on bandwidth being available for transmission. In one example, the video traffic scheduling module 1 16 buffers the data packets associated with the remaining part of the plurality of video streams. The buffered data packets are stored as the buffer data 122.
[0065] At block 224, it is determined whether the size of the buffer is exceeded. In one example, the video traffic scheduling module 116 monitors the size of the buffer data 122 and determines whether the size of the buffer data 122 has been exceeded.
[0066] If at block 224, it is determined that the size of the buffer has been exceeded, then as shown in block 226, data packets associated with the remaining part of the plurality of video streams are dropped. In one example, the video traffic scheduling module 1 16 drops the data packets associated with the remaining part of the plurality of video streams.
[0067] If at block 224, it is determined that the size of the buffer has not been exceeded, then at block 228, it is determined whether a delay in transmission of data packets of at least one of the plurality of video streams is greater than the delay threshold for the at least one video stream. In one example, the video traffic scheduling module 116 determines whether a delay in transmission of data packets of at least one of the plurality of video streams is greater than the delay threshold for the at least one video stream.
[0068] If at block 228, it is determined that the delay in transmission of data packets of at least one of the plurality of video streams is greater than the delay threshold for the at least one video stream, then as shown in block 230, data packets associated with the at least one video stream are dropped. In one example, the video traffic scheduling module 116 drops the data packets associated with the at least one video stream.
[0069] If at block 228, it is determined that the delay in transmission of data packets of the at least one video stream is not greater than the delay threshold for the at least one video stream, then as shown in block 232, data packets associated with the at least one video stream are retained in the buffer. In one example, the video traffic scheduling module 1 16 retains the data packets associated with the at least one video stream.
[0070] With reference to method 300 as shown in figure 3, at block 302, a plurality of video streams is received, wherein each video stream has a different quality of service (QoS) factor. In one example, the video data analysis module 1 12 receives the plurality of video streams from the video servers 128.
[0071] As shown in block 304, the size of data packet of each of the plurality of video streams is ascertained. In one example, the video data analysis module 112 ascertains the size of data packet of each of the plurality of video streams.
[0072] As depicted in block 306, the size of video frame for each of the plurality of video streams is determined based on the size of the data packet. In one example, the video data analysis module 1 12 determines the size of video frame for each of the plurality of video streams, based on the size of the data packet.
[0073] As illustrated in block 308, the size of video frame of a pre-defined number of upcoming data packets is estimated for each of the plurality of video streams, based on the determined video frame size. In one example, the video traffic prediction module 1 14 estimates the size of video frame of a pre-defined number of upcoming data packets for each of the plurality of video streams, based on the determined video frame size.
[0074] As shown in block 310, the plurality of video streams is arranged in a descending order of QoS factor. In one example, the video traffic scheduling module 1 16 arranges the plurality of video streams in a descending order of QoS factor.
[0075] At block 312, a total bandwidth required for transmitting the plurality of video streams is determined based on the estimated video frame sizes. In one implementation, the video traffic scheduling module 1 16 determines the total bandwidth required for transmitting the plurality of video streams, based on the estimated video frame sizes.
[0076] At block 314, it is determined whether the bandwidth available for transmission is less than the total bandwidth required for transmitting the plurality of video streams. In one example, the video traffic scheduling module 1 16 determines whether the bandwidth available for transmission is less than the total bandwidth required for transmitting the plurality of video streams.
[0077] In case at block 314 it is determined that the bandwidth available for transmission is not less than the total bandwidth required for transmitting the plurality of video streams, then as shown in block 316, the video traffic scheduling module 1 16 schedules the transmission of each of the plurality of video streams.
[0078] As shown in block 318, each of the plurality of video streams is transmitted based on the schedule. In one example, the video traffic scheduling module 1 16 transmits each of the plurality of video streams based on the schedule.
[0079] In case at block 314, it is determined that the bandwidth available for transmission is less than the total bandwidth required for transmitting the plurality of video streams, then as shown in block 320, the transmission of a set of video streams is scheduled, based on the available bandwidth and the descending order. In one example, the video traffic scheduling module 1 16 schedules the transmission of the set of video streams, based on the available bandwidth and the order. In one example, the set of video streams is selected based on the estimated video frame size of upcoming data packets.
[0080] As shown in block 322, the set of video streams is transmitted, based on the schedule and the order. In one example, the video traffic scheduling module 116 transmits the set of video streams based on the schedule and the order.
[0081] As illustrated in block 324, data packets associated with a remaining part of the plurality of video streams are buffered, wherein the buffered data packets are transmitted on bandwidth being available for transmission. In one example, the video traffic scheduling module 1 16 buffers the data packets associated with the remaining part of the plurality of video streams. The buffered data packets are stored as buffer data 122.
[0082] At block 326, it is determined whether the size of the buffer is exceeded. In one example, the video traffic scheduling module 116 monitors the size of the buffer data 122 and determines whether the size of the buffer data 122 has been exceeded.
[0083] If at block 326, it is determined that the size of the buffer has been exceeded, then as shown in block 328, data packets associated with the remaining part of the plurality of video streams are dropped. In one example the video traffic scheduling module 1 16 drops the data packets associated with the remaining part of the plurality of video streams
[0084] If at block 326, it is determined that the size of the buffer has not been exceeded, then at block 330, it is determined whether a delay in transmission of data packets of at least one of the plurality of video streams is greater than the delay threshold for the at least one video stream. In one example, the video traffic scheduling module 1 16 determines whether a delay in transmission of data packets of at least one of the plurality of video streams is greater than the delay threshold for the at least one video stream.
[0085] If at block 330, it is determined that the delay in transmission of data packets of the at least one video stream is greater than the delay threshold for the at least one video stream, then as shown in block 332, data packets associated with the at least one video stream is dropped. In one example, the video traffic scheduling module 1 16 drops the data packets associated with the at least one video stream.
[0086] If at block 330, it is determined that the delay in transmission of data packets of the at least one video stream is not greater than the delay threshold for the at least one video stream, then as shown in block 334, data packets associated with the at least one video stream are retained in the buffer. In one example, the video traffic scheduling module 1 16 retains the data packets associated with the at least one video stream.
[0087] Although implementations for video traffic management in communication networks have been described in language specific to structural features and/or methods, it is to be understood that the appended claims are not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as examples of systems and methods for video traffic management in communication networks.
Claims
A video traffic management system (102) for video traffic management in communication networks, the video traffic management system (102) comprising:
a processor (106);
a video data analysis module (112), coupled to the processor (106), to:
receive a plurality of video streams;
analyze each of the plurality of video streams to determine a video frame size of video frames in the each of the plurality of video streams;
a video traffic prediction module (114), coupled to the processor (106) to:
estimate a video frame size of upcoming data packets associated with the each of the plurality of video streams, based on the determined video frame size of the video frames; and
a video traffic scheduling module (1 16), coupled to the processor (106) to:
compute a total bandwidth required for transmitting the upcoming data packets based on the estimated video frame size of upcoming data packets associated with the plurality of video streams;
determine an available bandwidth for transmission of the upcoming data packets associated with the plurality of video streams; and
ascertain whether the available bandwidth is less than the total bandwidth; and
on ascertaining the available bandwidth to be less than the total bandwidth, transmit a set of video streams from amongst the plurality of video streams, wherein the bandwidth required to transmit the set of video streams substantially adds up to the available bandwidth, and wherein the set of video streams is selected based on the estimated video frame size of upcoming data packets.
The video traffic management system (102) as claimed in claim 1 , wherein the video traffic scheduling module (116) further:
determines a quality of service (QoS) factor associated with each of the plurality of video streams; and
arranges the plurality of video streams based on a descending order of the QoS factor associated with each of the plurality of video streams, wherein the set of video streams is selected based on the descending order of the QoS factor.
The video traffic management system (102) as claimed in claim 2, wherein the video traffic scheduling module (116) further:
buffers data packets associated with a remaining part of the plurality of video streams;
determines whether a pre-defined buffer size is exceeded; and
drops the data packets associated with the remaining part of the plurality of video streams on determining the exceeding of the buffer size.
The video traffic management system (102) as claimed in claim 2, wherein the video traffic scheduling module (116) further:
determines whether a delay associated with data packets associated with at least one video stream, from amongst a remaining part of the plurality of video streams, exceeds a delay threshold for the video stream, based on the QoS factor associated with the at least one video stream; and
drops data packets associated with the at least one video stream on determining the delay to have exceeded the delay threshold.
The video traffic management system (102) as claimed in claim 1 , wherein the video traffic prediction module (1 14) further:
performs time series modeling of each of the plurality of video streams; and determines modeling parameters associated with a generated time series model for each of the plurality of video streams, based on the time series modeling;
wherein the estimation of the video frame size of the upcoming data packets associated with the each of the plurality of video streams is based on the parameters.
The video traffic management system (102) as claimed in claim 1 wherein the video data analysis module (112) further ascertains a data packet size of data packets associated each of the plurality of video streams to determine the video frame size of the video frames of the each of the plurality of video streams.
The video traffic management system (102) as claimed in claim 2, wherein the video traffic scheduling module (1 16) further schedules a part of the plurality of video streams based on the descending order, and wherein the transmission of the part of the plurality of video streams is based on the scheduling.
A method for video traffic management in communication networks, the method comprising:
receiving a plurality of video streams;
analyzing each of the plurality of video streams to determine a video frame size of video frames of the each of the plurality of video streams;
estimating video frame size of upcoming data packets associated with the each of the plurality of video streams, based on the determined video frame size of the video frames;
computing a total bandwidth, based on the estimated video frame size of upcoming data packets, required for transmitting all the upcoming data packets associated with the plurality of video streams;
determining an available bandwidth for transmission of the upcoming data packets associated with the plurality of video streams; and
ascertaining whether the available bandwidth is less than the total bandwidth; on ascertaining the available bandwidth to be less than the total bandwidth, transmitting a set of video streams from amongst the plurality of video streams, wherein the bandwidth required to transmit the set of video streams substantially adds up to the available bandwidth, and wherein the set of video streams is selected based on the estimated video frame size of upcoming data packets.
The method as claimed in claim 8, wherein the method further comprises:
determining a quality of service (QoS) factor associated with each of the plurality of video streams; and
arranging the plurality of video streams based on a descending order of QoS factor associated with each of the plurality of video streams, wherein the set of video streams is selected based on the descending order of QoS factor.
10. The method as claimed in claim 8, wherein the method further comprises:
scheduling a remaining part of the plurality of video streams based on the descending order; and
wherein the transmitting is further based on the scheduling.
1 1. The method as claimed in claim 8, wherein the method further comprises:
buffering the data packets associated with a remaining part of the plurality of video streams;
determining whether a pre-defined buffer size is exceeded; and
on determining the pre-defined buffer size to have exceeded, dropping data packets associated with the remaining part of the plurality of video streams.
The method as claimed in claim 11, wherein the method further comprises:
determining whether a delay associated with data packets associated with at least one video stream from amongst the remaining part of the plurality of video streams exceeds a delay threshold for the video stream, based on the QoS factor associated with the video stream; and
drop the data packets associated with the at least one video stream on determining the delay to have exceeded the delay threshold.
The method as claimed in claim 8, wherein the analyzing further comprises ascertaining data packet size of data packets associated each of the plurality of video streams.
The method as claimed in claim 8, wherein the estimating further comprises:
performing time series modeling of each of the plurality of video streams; and
determining the parameters of a model generated for each of the plurality of video streams, based on the time series modeling, wherein the estimation of the video frame size of the upcoming data packets associated with the each of the plurality of video streams is based on the parameters.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN2884/DEL/2013 | 2013-09-27 | ||
IN2884DE2013 IN2013DE02884A (en) | 2013-09-27 | 2013-09-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015044104A1 true WO2015044104A1 (en) | 2015-04-02 |
Family
ID=51610108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2014/070181 WO2015044104A1 (en) | 2013-09-27 | 2014-09-23 | Video traffic management |
Country Status (2)
Country | Link |
---|---|
IN (1) | IN2013DE02884A (en) |
WO (1) | WO2015044104A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3314838A4 (en) * | 2015-06-25 | 2019-01-09 | Thomson Licensing | Method and device for data transmission |
US20220086225A1 (en) * | 2020-09-11 | 2022-03-17 | Western Digital Technologies, Inc. | Variable QoS Management of Multiple Data Streams |
US11438545B2 (en) | 2019-12-23 | 2022-09-06 | Carrier Corporation | Video image-based media stream bandwidth reduction |
US11463651B2 (en) | 2019-12-23 | 2022-10-04 | Carrier Corporation | Video frame-based media stream bandwidth reduction |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060120282A1 (en) * | 2000-05-19 | 2006-06-08 | Carlson William S | Apparatus and methods for incorporating bandwidth forecasting and dynamic bandwidth allocation into a broadband communication system |
US20080084896A1 (en) * | 2006-06-29 | 2008-04-10 | Jean-Francois Fleury | Method of managing requests for remote access to multimedia contents |
US20090110061A1 (en) * | 2007-10-24 | 2009-04-30 | Electronics & Telecommunications Research Institute | Method and apparatus for predicting video traffic |
EP2563030A1 (en) * | 2011-08-26 | 2013-02-27 | Thomson Licensing | Method for multiplexing multiple video sources on a medium |
-
2013
- 2013-09-27 IN IN2884DE2013 patent/IN2013DE02884A/en unknown
-
2014
- 2014-09-23 WO PCT/EP2014/070181 patent/WO2015044104A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060120282A1 (en) * | 2000-05-19 | 2006-06-08 | Carlson William S | Apparatus and methods for incorporating bandwidth forecasting and dynamic bandwidth allocation into a broadband communication system |
US20080084896A1 (en) * | 2006-06-29 | 2008-04-10 | Jean-Francois Fleury | Method of managing requests for remote access to multimedia contents |
US20090110061A1 (en) * | 2007-10-24 | 2009-04-30 | Electronics & Telecommunications Research Institute | Method and apparatus for predicting video traffic |
EP2563030A1 (en) * | 2011-08-26 | 2013-02-27 | Thomson Licensing | Method for multiplexing multiple video sources on a medium |
Non-Patent Citations (1)
Title |
---|
ABDEL-KARIM AL-TAMIMI ET AL: "Dynamic resource allocation based on online traffic prediction for video streams", INTERNET MULTIMEDIA SERVICES ARCHITECTURE AND APPLICATION(IMSAA), 2010 IEEE 4TH INTERNATIONAL CONFERENCE ON, IEEE, 15 December 2010 (2010-12-15), pages 1 - 6, XP031929634, ISBN: 978-1-4244-7930-6, DOI: 10.1109/IMSAA.2010.5729421 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3314838A4 (en) * | 2015-06-25 | 2019-01-09 | Thomson Licensing | Method and device for data transmission |
US11438545B2 (en) | 2019-12-23 | 2022-09-06 | Carrier Corporation | Video image-based media stream bandwidth reduction |
US11463651B2 (en) | 2019-12-23 | 2022-10-04 | Carrier Corporation | Video frame-based media stream bandwidth reduction |
US20220086225A1 (en) * | 2020-09-11 | 2022-03-17 | Western Digital Technologies, Inc. | Variable QoS Management of Multiple Data Streams |
US11863623B2 (en) * | 2020-09-11 | 2024-01-02 | Western Digital Technologies, Inc. | Variable QoS management of multiple data streams |
Also Published As
Publication number | Publication date |
---|---|
IN2013DE02884A (en) | 2015-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10419502B2 (en) | Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network | |
US9538220B2 (en) | Video streaming quality of experience degradation control using a video quality metric | |
US10911506B2 (en) | Methods for quality-aware adaptive streaming over hypertext transfer protocol and reporting quality of experience | |
Yahia et al. | HTTP/2-based frame discarding for low-latency adaptive video streaming | |
US20130290492A1 (en) | State management for video streaming quality of experience degradation control and recovery using a video quality metric | |
US20130298170A1 (en) | Video streaming quality of experience recovery using a video quality metric | |
Ray et al. | Vantage: optimizing video upload for time-shifted viewing of social live streams | |
US20150341646A1 (en) | System and method for automatic encoder adjustment based on transport data | |
CN109729437B (en) | Streaming media self-adaptive transmission method, terminal and system | |
US20170142029A1 (en) | Method for data rate adaption in online media services, electronic device, and non-transitory computer-readable storage medium | |
AU2021200428B2 (en) | System and method for automatic encoder adjustment based on transport data | |
WO2014209493A1 (en) | State management for video streaming quality of experience degradation control and recovery using a video quality metric | |
US9246830B2 (en) | Method and apparatus for multimedia queue management | |
WO2015044104A1 (en) | Video traffic management | |
WO2014209494A1 (en) | Video streaming quality of experience degradation control using a video quality metric | |
WO2014209495A1 (en) | Video streaming quality of experience recovery using a video quality metric | |
Jansang et al. | Adjustable TXOP mechanism for supporting video transmission in IEEE 802.11 e HCCA | |
Sutinen et al. | Towards ubiquitous video services through scalable video coding and cross-layer optimization | |
Uppu et al. | QoE of video streaming over LTE network | |
Goel et al. | Enhancing QoS of streaming videos over WLANs | |
Fairoz | Adaptive Cross-Layer Video Streaming Over Wireless LAN | |
Tappayuthpijarn | Adaptive Streaming of Scalable Video in Mobile Networks | |
El Essaili | Towards User-centric Video Transmission in Next Generation Mobile Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14772121 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14772121 Country of ref document: EP Kind code of ref document: A1 |