This document summarizes research on the impact of different video encoding parameters on dynamic video transcoding. It describes how a transcoding proxy server can dynamically change encoding parameters like frame size, quantization scale (Q-scale), and color depth in response to varying client devices, network bandwidth, and content demand. Experiments were conducted to measure how these encoding parameters affect network bandwidth usage, CPU load, and energy consumption on the transcoding server. The results provide insight into designing algorithms for dynamic transcoding control.
Optimal Streaming Protocol for VoD Using Clients' Residual BandwidthIDES Editor
A true VoD system has tremendous demand in the
market. The existing VoD system does not cater the needs
and demands of the market. The major problem in the VoD
system is serving of clients with expected QoS is difficult. In
this paper, we proposed a protocol and algorithm that
chains the proxy servers and subscribed clients. Our
objective is to send one server stream and this stream should
be served to N asynchronous clients. The server bandwidth
is scarcity and on the client uplink bandwidth is
underutilized. In this protocol, we are using client’s residual
bandwidth such that the load on the server bandwidth is
reduced. We have proved that optimal utilization of the
buffer and bandwidth for the entire VoD system and also
less rejection ratio of the clients.
Optimal Streaming Protocol for VoD Using Clients' Residual BandwidthIDES Editor
A true VoD system has tremendous demand in the
market. The existing VoD system does not cater the needs
and demands of the market. The major problem in the VoD
system is serving of clients with expected QoS is difficult. In
this paper, we proposed a protocol and algorithm that
chains the proxy servers and subscribed clients. Our
objective is to send one server stream and this stream should
be served to N asynchronous clients. The server bandwidth
is scarcity and on the client uplink bandwidth is
underutilized. In this protocol, we are using client’s residual
bandwidth such that the load on the server bandwidth is
reduced. We have proved that optimal utilization of the
buffer and bandwidth for the entire VoD system and also
less rejection ratio of the clients.
How Dimetis is automating the management of hybrid network transports to provide realtime end-to-end traffic routing and QOS assurance for mission-critical video feeds
Chaining Algorithm and Protocol for Peer-to-Peer Streaming Video on Demand Sy...ijwmn
As the various architectures and protocol have been implemented a true VoD system has great demand in the global users. The traditional VoD system does not provide the needs and demands of the global users. The major problem in the traditional VoD system is serving of video stream among clients is duplicated and streamed to the different clients, which consumes more server bandwidth and the client uplink bandwidth is not utilized and the performance of the system degrades. Our objective in this paper is to send one server stream sufficient to serve the many clients without duplicating the server stream. Hence we have proposed a protocol and algorithm that chains the proxy servers and subscribed clients utilize client’s uplink bandwidth such that the load on the server is reduced. We have also proved that less rejection ratio of the clients and better utilization of the buffer and bandwidth for the entire VoD system.
(Paper) P2P VIDEO BROADCAST BASED ON PER-PEER TRANSCODING AND ITS EVALUATION ...Naoki Shibata
Shibata, N., Yasumoto, K., and Mori, M.: P2P Video Broadcast based on Per-Peer Transcoding and its Evaluation on PlanetLab, Proc. of 19th IASTED Int'l. Conf. on Parallel and Distributed Computing and Systems (PDCS2007), pp. 478-483, (November 2007).
http://ito-lab.naist.jp/themes/pdffiles/071121.shibata.pdcs2007.pdf
We have previously proposed a P2P video broadcast method called MTcast for simultaneously delivering video to user peers with different quality requirements. In this paper, we design and implement a prototype system of MTcast and report the results of its performance evaluation in the real Internet environment. MTcast relies on each peer to transcode and forward video to other peers. We conducted experiments on 20 PlanetLab nodes, evaluated startup delay and recovery time from peer leaving/failure, and confirmed that MTcast achieves practical performance in a real environment.
Network Configuration Example: Configuring LDP Over RSVPJuniper Networks
This document describes the LDP-over-RSVP feature and the benefits of using it. It also includes a step-by-step procedure for configuring an LDP-over-RSVP topology.
Minimizing Server Throughput for Low-Delay Live Streaming in Content Delivery...Gwendal Simon
Large-scale live streaming systems can experience bottle- necks within the infrastructure of the underlying Content Delivery Network. In particular, the “equipment bottleneck” occurs when the fan-out of a machine does not enable the concurrent transmission of a stream to multiple other equipments. In this paper, we aim to deliver a live stream to a set of destination nodes with minimum throughput at the source and limited increase of the streaming delay. We leverage on rateless codes and cooperation among destination nodes. With rateless codes, a node is able to decode a video block of k information symbols after receiving slightly more than k encoded symbols. To deliver the encoded symbols, we use multiple trees where inner nodes forward all received symbols. Our goal is to build a diffusion forest that minimizes the transmission rate at the source while guaranteeing on-time delivery and reliability at the nodes. When the network is assumed to be lossless and the constraint on delivery delay is relaxed, we give an algorithm that computes a diffusion forest resulting in the minimum source transmission rate. We also propose an effective heuristic algorithm for the general case where packet loss occurs and the delivery delay is bounded. Simulation results for realistic settings show that with our solution the source requires only slightly more than the video bit rate to reliably feed all nodes.
Distributed Adaptation Decision-Taking Framework and Scalable Video Coding Tu...mgrafl
Existing and future media ecosystems need to cope with the ever-increasing heterogeneity of networks, devices, and user characteristics collectively referred to as (usage) context. The key to address this problem is media adaptation to various and dynamically changing contexts in order to provide a service quality that is regarded as satisfactory by the end user. The adaptation can be performed in many ways and at different locations, e.g., at the edge and within the network resulting in a substantial number of issues to be integrated within a media ecosystem. This paper describes research challenges, key innovations, target research outcomes, and achievements so far for edge and in-network media adaptation by introducing the concept of Scalable Video Coding (SVC) tunneling.
IMPROVING TRANSMISSION EFFICIENCY IN OPTICAL COMMUNICATIONradziwil
This work address problem of inefficient bandwidth utilization in optical
telecommunication systems that is caused by network impairments such as
latency, congestion, packet loss ratio and error ratio.
The proposed solution is software based system that implements User
Datagram Protocol (UDP), Java platform. and custom designed
transmission control mechanisms.
From Nemertes Research: Data center architects need to consider designs that limit complexity and reduce the
possibility of chaotic behavior. Learn more at http://www.juniper.net/us/en/dm/datacenter/
What are the issues integration in integrating sensor nets and other distributed systems collecting and sharing real time data? How does RTI's Data Distribution Service address the integration needs without sacrificing the real-time collaboration constraints?
An SDN Based Approach To Measuring And Optimizing ABR Video Quality Of Experi...Cisco Service Provider
Reprinted with permission of NCTA, from the 2014 Cable Connection Spring Technical Forum Conference Proceedings. For more information on Cisco video solutions, visit: http://www.cisco.com/c/en/us/products/video/index.html
An Overview on Multimedia Transcoding Techniques on Streaming Digital Contentsidescitation
The current IT infrastructure as well as various
commercial applications are directly formulated based on
deployment in multimedia system e.g. education, marketing,
risk management, tele-medicines, military etc. One of the
challenges found in using such application is to deliver
uninterrupted stream of video between multiple terminals
e.g. smart-phone, PDAs, laptops, IPTV etc. The research shows
that there is a stipulated need of designing novel mechanism
of bit rate adjustment as well as format conversion policy so
that the source stream may stream well in diverse end devices
with multiple configuration of processor, memory, decoding
etc. This paper discusses various eminent points from
literature that will throw better highlights in understanding
a schema of direct digital-to-digital data conversion of one
encoding to another termed as transcoding. Although
multimedia transcoding has covered more than a decade in
the area of research, but unfortunately, there is a huge trade-
off between the application, service, resource constraint, and
hardware design that gives rise to QoS issues.
How Dimetis is automating the management of hybrid network transports to provide realtime end-to-end traffic routing and QOS assurance for mission-critical video feeds
Chaining Algorithm and Protocol for Peer-to-Peer Streaming Video on Demand Sy...ijwmn
As the various architectures and protocol have been implemented a true VoD system has great demand in the global users. The traditional VoD system does not provide the needs and demands of the global users. The major problem in the traditional VoD system is serving of video stream among clients is duplicated and streamed to the different clients, which consumes more server bandwidth and the client uplink bandwidth is not utilized and the performance of the system degrades. Our objective in this paper is to send one server stream sufficient to serve the many clients without duplicating the server stream. Hence we have proposed a protocol and algorithm that chains the proxy servers and subscribed clients utilize client’s uplink bandwidth such that the load on the server is reduced. We have also proved that less rejection ratio of the clients and better utilization of the buffer and bandwidth for the entire VoD system.
(Paper) P2P VIDEO BROADCAST BASED ON PER-PEER TRANSCODING AND ITS EVALUATION ...Naoki Shibata
Shibata, N., Yasumoto, K., and Mori, M.: P2P Video Broadcast based on Per-Peer Transcoding and its Evaluation on PlanetLab, Proc. of 19th IASTED Int'l. Conf. on Parallel and Distributed Computing and Systems (PDCS2007), pp. 478-483, (November 2007).
http://ito-lab.naist.jp/themes/pdffiles/071121.shibata.pdcs2007.pdf
We have previously proposed a P2P video broadcast method called MTcast for simultaneously delivering video to user peers with different quality requirements. In this paper, we design and implement a prototype system of MTcast and report the results of its performance evaluation in the real Internet environment. MTcast relies on each peer to transcode and forward video to other peers. We conducted experiments on 20 PlanetLab nodes, evaluated startup delay and recovery time from peer leaving/failure, and confirmed that MTcast achieves practical performance in a real environment.
Network Configuration Example: Configuring LDP Over RSVPJuniper Networks
This document describes the LDP-over-RSVP feature and the benefits of using it. It also includes a step-by-step procedure for configuring an LDP-over-RSVP topology.
Minimizing Server Throughput for Low-Delay Live Streaming in Content Delivery...Gwendal Simon
Large-scale live streaming systems can experience bottle- necks within the infrastructure of the underlying Content Delivery Network. In particular, the “equipment bottleneck” occurs when the fan-out of a machine does not enable the concurrent transmission of a stream to multiple other equipments. In this paper, we aim to deliver a live stream to a set of destination nodes with minimum throughput at the source and limited increase of the streaming delay. We leverage on rateless codes and cooperation among destination nodes. With rateless codes, a node is able to decode a video block of k information symbols after receiving slightly more than k encoded symbols. To deliver the encoded symbols, we use multiple trees where inner nodes forward all received symbols. Our goal is to build a diffusion forest that minimizes the transmission rate at the source while guaranteeing on-time delivery and reliability at the nodes. When the network is assumed to be lossless and the constraint on delivery delay is relaxed, we give an algorithm that computes a diffusion forest resulting in the minimum source transmission rate. We also propose an effective heuristic algorithm for the general case where packet loss occurs and the delivery delay is bounded. Simulation results for realistic settings show that with our solution the source requires only slightly more than the video bit rate to reliably feed all nodes.
Distributed Adaptation Decision-Taking Framework and Scalable Video Coding Tu...mgrafl
Existing and future media ecosystems need to cope with the ever-increasing heterogeneity of networks, devices, and user characteristics collectively referred to as (usage) context. The key to address this problem is media adaptation to various and dynamically changing contexts in order to provide a service quality that is regarded as satisfactory by the end user. The adaptation can be performed in many ways and at different locations, e.g., at the edge and within the network resulting in a substantial number of issues to be integrated within a media ecosystem. This paper describes research challenges, key innovations, target research outcomes, and achievements so far for edge and in-network media adaptation by introducing the concept of Scalable Video Coding (SVC) tunneling.
IMPROVING TRANSMISSION EFFICIENCY IN OPTICAL COMMUNICATIONradziwil
This work address problem of inefficient bandwidth utilization in optical
telecommunication systems that is caused by network impairments such as
latency, congestion, packet loss ratio and error ratio.
The proposed solution is software based system that implements User
Datagram Protocol (UDP), Java platform. and custom designed
transmission control mechanisms.
From Nemertes Research: Data center architects need to consider designs that limit complexity and reduce the
possibility of chaotic behavior. Learn more at http://www.juniper.net/us/en/dm/datacenter/
What are the issues integration in integrating sensor nets and other distributed systems collecting and sharing real time data? How does RTI's Data Distribution Service address the integration needs without sacrificing the real-time collaboration constraints?
An SDN Based Approach To Measuring And Optimizing ABR Video Quality Of Experi...Cisco Service Provider
Reprinted with permission of NCTA, from the 2014 Cable Connection Spring Technical Forum Conference Proceedings. For more information on Cisco video solutions, visit: http://www.cisco.com/c/en/us/products/video/index.html
An Overview on Multimedia Transcoding Techniques on Streaming Digital Contentsidescitation
The current IT infrastructure as well as various
commercial applications are directly formulated based on
deployment in multimedia system e.g. education, marketing,
risk management, tele-medicines, military etc. One of the
challenges found in using such application is to deliver
uninterrupted stream of video between multiple terminals
e.g. smart-phone, PDAs, laptops, IPTV etc. The research shows
that there is a stipulated need of designing novel mechanism
of bit rate adjustment as well as format conversion policy so
that the source stream may stream well in diverse end devices
with multiple configuration of processor, memory, decoding
etc. This paper discusses various eminent points from
literature that will throw better highlights in understanding
a schema of direct digital-to-digital data conversion of one
encoding to another termed as transcoding. Although
multimedia transcoding has covered more than a decade in
the area of research, but unfortunately, there is a huge trade-
off between the application, service, resource constraint, and
hardware design that gives rise to QoS issues.
A Real-Time Adaptive Algorithm for Video Streaming over Multiple Wireless Acc...Priti Kana
JP INFOTECH, offering bulk 2014 and 2015 IEEE Project titles for CSE, IT, ECE, EEE final year students. We are guide to give a best projects for your academic and future career.
The main problem is to avoid the complexity of retrieving the video content without streaming problem in multi network clients. The proposed work is to improve Collaboration among streaming contents on server resources in order to improve the network performance. Implementing network collaboration on a content delivery scenario, with a strong reduction of data transferred via servers. Audio and video files are transmitted in blocks to clients through the peer using the Network Coding Equivalent Content Distribution scheme. The objective of the system is to tolerate out-of-order arrival of blocks in the stream and is resilient to transmission losses of an arbitrary number of intermediate blocks, without affecting the verifiability of remaining blocks in the stream. To formulate the joint rate control and packet scheduling problem as an integer program where the objective is to minimize a cost function of the expected video distortion. Suggestions of cost functions are proposed in order to provide service differentiation and address fairness among users.
Building Cloud-ready Video Transcoding System for Content Delivery Networks (...Zhenyun Zhuang
GLOBECOM 2012
Video streaming traffic of both VoD (Video on
Demand) and Live is exploding. Various types of businesses
and many people are relying on video streaming to attract
customers/users and for other purposes. Given the vast number
of video stream formats (e.g., MP4, FLV) and transmission
protocols (e.g., HTTP, RTMP, RTSP) for supporting varying
types of playback terminals (particularly mobile devices such as
iphone/ipad and Android phones), video content providers often
need to transcode videos to multiple formats in order to stream
to different types of users.
Being time-sensitive and requiring high bandwidth, video
streaming exerts high pressure on underlying delivery networks.
Content Delivery Network (CDN) providers can help their
customers quickly and reliably distribute stream contents to end
users. In addition to distributing video streams, CDN providers
typically allow their customers to perform video transcoding on
CDN platforms. With the high volume of video streams and the
bursty transcoding workload, CDN providers are eager to deploy
elastic and optimized cloud-based transcoding platforms.
Using Bandwidth Aggregation to Improve the Performance of Video Quality- Adap...paperpublications3
Abstract: Smart phone provides many multimedia services for mobile users. Most of these smart phones are equipped with multiple wireless network interfaces (that support real time video processing. How to use efficiently and cost-effectively utilize multiple links to improve video streaming quality over multiple wireless access networks . In order to maintain high video streaming quality while reducing the wireless service cost, In Video quality-adaptive streaming, the optimal video streaming process with multiple links is formulated as a Markov Decision Process (MDP). The reward function is designed to consider the quality of service (QoS) requirements for video traffic, such as the startup latency, playback fluency, average playback quality, playback smoothness and wireless service cost. To solve the MDP in real time, Quality-adaptive streaming propose an Adaptive search Depth algorithm to obtain a sub-optimal solution.
Analyzing Video Streaming Quality by Using Various Error Correction Methods o...IJERA Editor
Transmission video over ad hoc networks has become one of the most important and interesting subjects of study for researchers and programmers because of the strong relationship between video applications and frequent users of various mobile devices, such as laptops, PDAs, and mobile phones in all aspects of life. However, many challenges, such as packet loss, congestion (i.e., impairments at the network layer), multipath fading (i.e., impairments at the physical layer) [1], and link failure, exist in transferring video over ad hoc networks; these challenges negatively affect the quality of the perceived video [2].This study has investigated video transfer over ad hoc networks. The main challenges of transferring video over ad hoc networks as well as types of errors that may occur during video transmission, various types of video mechanisms, error correction methods, and different Quality of Service (QoS) parameters that affect the quality of the received video are also investigated.
Efficient and thorough data collection and its timely analysis are critical for disaster response and recovery in order to save people's lives during disasters. However, access to comprehensive data in disaster areas and their quick analysis to transform the data to actionable knowledge are challenging. With the popularity and pervasiveness of mobile devices, crowdsourcing data collection and analysis has emerged as an effective and scalable solution. This paper addresses the problem of crowdsourcing mobile videos for disasters by identifying two unique challenges of 1) prioritizing visual data collection and transmission under bandwidth scarcity caused by damaged communication networks and 2) analyzing the acquired data in a timely manner. We introduce a new crowdsourcing framework for acquiring and analyzing the mobile videos utilizing fine granularity spatial metadata of videos for a rapidly changing disaster situation. We also develop an analytical model to quantify the visual awareness of a video based on its metadata and propose the visual awareness maximization problem for acquiring the most relevant data under bandwidth constraints. The collected videos are evenly distributed to off-site analysts to collectively minimize crowdsourcing efforts for analysis. Our simulation results demonstrate the effectiveness and feasibility of the proposed framework.
IJERA (International journal of Engineering Research and Applications) is International online, ... peer reviewed journal. For more detail or submit your article, please visit www.ijera.com
Video transmission over wireless networks is considered the most interesting application in our daily life nowadays. As
mobile data rates continue to increase and more people rely on wireless transmission, the amount of video transmitted over at least one
wireless hop will likely continue to increase. This kind of application needs large bandwidth, efficient routing protocols, and content
delivery methods to provide smooth video playback to the receivers. Current generation wireless networks are likely to operate on
internet technology combined with various access technologies. Achieving effective bandwidth aggregation in wireless environments
raises several challenges related to deployment, link heterogeneity, Network congestion, network fluctuation, and energy consumption.
In this work, an overview of technical challenges of over wireless networks is presented. A survey of wireless networks in recent video
transmission schemes is introduced. Demonstration results of few scenarios are showed.
A FRAMEWORK FOR MOBILE VIDEO STREAMING AND VIDEO SHARING IN CLOUDJournal For Research
The transmission of data has grown over years in all the streams of technology. Video and image data plays a very important position in communication around the globe. The usage of Medias over mobile devices had exploded years ago in technology. However, the usage of traditional network connecting protocols and the service providers are providing lack of quality in services. As the number of users who uses mobile phones is increasing day by day the video traffic over network is also increasing thereby causes disruption in the service which is caused by low bandwidth. Due to this disruption the wireless cannot able to satisfy the users demand for video streaming which eventually causes long buffering time. Influencing cloud computing knowledge to gain advantage over this issue we suggest two solutions. i) Mobile Video Streaming (MoV) and Social Video Sharing (SoV). MoV will create a private cloud for each mobile user which adjusts the bit rate based on return value using scalable video coding technique to improve the scalability and efficient utilization of bandwidth. SoV uses the agent to pre fetch the video data for effective sharing and to reduce the buffering time.
AN ADAPTIVE REMOTE DISPLAY FRAMEWORK TO IMPROVE POWER EFFICIENCY cscpconf
As computing performance and network technology have evolved, mobile device users can enjoy high quality multimedia more easily. Remote Display - the technology which mirrors the screen of one device to another device - allows handheld mobile devices to share their screen contents with larger-sized display devices such as TVs. However, there is general concern about high power consumption caused by complex computation for encoding and continuous data transmission in the mobile devices. In this paper, we present an adaptive remote display framework considering and utilizing the processing capability of display device. By supporting the Content Mirroring Mode, we can skip unnecessary steps and perform core activities to improve power efficiency and extend overall processing capability.
Similar to Impact of Video Encoding Parameters on Dynamic Video Transcoding (20)
Impact of Video Encoding Parameters on Dynamic Video Transcoding
1. Impact of Video Encoding Parameters on Dynamic Video
Transcoding
Vidyut Samanta, Ricardo Oliveira, Advait Dixit, Parixit Aghera, Petros Zerfos, Songwu Lu
University of California Los Angeles
Computer Science Department
{vids,rveloso,advait,parixit,pzerfos,slu}@cs.ucla.edu
Abstract which they connect to the Internet: some may connect
Currently there are a wide variety of devices with dif- through wired 100Mbps connections, some may use
ferent screen resolutions, color support, processing wireless technology like CDMA, 1xEV-DO, EDGE,
power, and network connectivity, capable of receiv- and GPRS, while others may use 802.11b or 802.11g.
ing streaming video from the Internet. In order to serve Hence, the available bandwidth per connection also
different multimedia content to all these devices, mid- varies. These conditions make it impractical for content
dleware proxy servers which transcode content to fit servers to provide different formats of the same content
different types of devices are becoming popular. In this to all different types of devices. Therefore, middleware
paper, we present result of several tests conducted with proxy servers capable of transcoding content for vari-
different combination of video encoding parameters ous devices are becoming popular[15, 10, 9, 8].
and show their impact on network, CPU and energy re- Due to increase in bandwidth availability, video
source usage of a transcoding server. For this purpose, streaming is becoming a popular method of deliver-
we implemented a dynamic video trancoding server, ing video content to Internet enabled devices. Popu-
which enables dynamic changes in different trancoding lar video streaming services such as Yahoo Launch-
parameters during a video streaming session. cast, MSN Video, and MSNBC news web-cast are few
such examples. Video streaming can also be used for
Categories and Subject Descriptors C.2.m [Computer- web-casting lectures or presentations to a number of
Communication Networks]: Miscellaneous online attendees at the same time. Client device het-
General Terms Design, Experimentation, Measure- erogeneity in terms of screen size, processing capabil-
ment, Performance. ities and network connectivity should be handled by a
video transcoding server. Moreover, a video transcod-
Keywords Dynamic video transcoding, middleware,
ing server must be able to address the following sce-
network bandwidth, processor load, streaming video
narios:
1. Introduction
Today there are wide ranges of devices with varying 1. Switching between different devices: Some ubiqui-
features such as screen size, color depth, and process- tous computing applications allow transferring of a
ing power. These devices may have different means by video streaming session from a small PDA device
to big screen TV and vice versa. In this case, it is
Permission to make digital or hard copies of all or part of this work for required for transcoding server to change the frame
personal or classroom use is granted without fee provided that copies are size of the video stream dynamically, which in turn
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
results into change in network and CPU load on the
republish, to post on servers or to redistribute to lists, requires prior specific server. Changes in frame size can be disconcerting
permission and/or a fee. to the viewer, and so these changes would not be
COMSWARE’06, January 8–12, 2006, New Delhi, India.
Copyright c 2006 IEEE continuous but would only be at isolated discrete
moments.
2. 2. Varying network bandwidth at wireless client: For the design and implementation of the dynamic video
devices that are connected in wireless environments, transcoding proxy we have used. Section 4 has ex-
perceived bandwidth changes continuously due to perimental results, which show the effect of different
varying characteristics of wireless channels, e.g. transcoding parameters on consumption of transcoding
fading, interference. This should be handled by server resources. We conclude in section 5.
changing the transcoding of the content on server
dynamically, which results in to increase or decrease 2. Related Work
in CPU load on the server. Substantial work has been done in the area of mid-
3. Varying content access patterns: Access patterns to dleware servers. In [5], the authors present a mid-
Internet web sites are highly unpredictable and can dleware architecture to handle heterogeneous mobile
have spikes, which may be caused by a particular client problems. [3] presents a middleware-oriented so-
event like an important sports match or breaking lution to the application session handoff problem. Mid-
news. For example during a crisis a large number dlware servers have been used to improve scalability in
of clients will access streaming clips from a news [14]. Seminal work on proxy-based content adaptation
website. This scenario also results in drastic change is BARWAN project [9]. The argument for adapting
in CPU and network load on transcoding server. data on the fly was made there. A middleware archi-
tecture specifically for dynamic video transcoding was
Above scenarios indicate that transcoding server is presented in [22]. They present a control algorithm,
subject to varying network and CPU loads under dif- which adapts transcoding to the varying network band-
ferent circumstances. Since transcoding servers have width of a 3G-network device. Their algorithm relies
fixed amount of computing resource and network band- on experimental relationship between encoding bit rate
width, it should use dynamic transcoding capability to and frame rate for a given quantization scale, but lacks
balance the required network and CPU resources with data on proxy resource consumption in determining
available network and CPU resources without discon- desired transcoding.
necting the existing client or denying access to new We use the cascaded pixel domain transcoding (CPDT)
clients. Work in [4, 7] also indicates that energy con- algorithm that was proposed in [16]. The authors of
sumption in server farms is becoming more important [2] propose a frequency domain transcoding algorithm
as the number of servers increases. This indicates that which significantly reduced computational complex-
energy consumption at transcoding server for different ity compared to the CPDT approach. [6] proposes a
transcoding paramters is an interesting relationship to video transcoding algorithm that integrates error con-
study. One can design an transcoding control algorithm trol schemes into the transcoding. They present a two-
which optimizes the transcoding server resources while pass video transcoding scheme that allocates bits be-
serving to maximum number of clients at their accept- tween source coding and channel coding.
able video stream quality. This requires establishing re- The effect of transcoding on visual quality has also
lationship of different transcoding parameters of video been studied in literature. A number of studies [11]
stream with network, CPU and energy resources of prove the intuition that sequences with lots of motion
transcoding servers. require higher frame rate is wrong. Another study [21]
In our work, we perform a systematic evaluation of shows that large quantization steps should be avoided.
a transcoding server system by measuring impact of Our work presents experimental measurements of a
different transcoding parameters such as q-scale, frame real transcoding server and can be used in conjunction
size, and color depth on CPU, network and energy re- with these results for designing algorithms for the mod-
source consumption at the trancoding server and a com- ule that controls transcoding parameters.
parison of transcoding different video content. We also
describe our design and implementation of a dynamic 3. Design and Implementation
video transcoding proxy that we used for this evalua- In this section, we describe the design and implementa-
tion. tion of an open source based dynamic video transcod-
The rest of the paper is organized as follows. Sec- ing proxy. The design of video transcoding proxy sys-
tion 2 talks about related works. Section 3 describes tem leverages middleware architecture previously used
3. CLIENT ENCODER CONTENT
DECODER
DEVICE FRAME SERVER
SIZE
Q-SCALE
COLOR
FEEDBACK CONTROLLER
TRANSCODING PROXY
Figure 1. Transcoding architecture
in many transcoding proxy designs. Following is an can get that information along with the content re-
overview of the transcoding proxy design. quest. The controller module may get client’s avail-
able network bandwidth information directly from
3.1 Design Overview
client device or some by monitoring network condi-
The design of our video transcoding proxy is illustrated tions. The dotted line in Figure 1 between the client
in Figure 1. The system consists of following three device and the controller is an optional communica-
components. tion link between those modules. Note that design
1. The content server provides high quality video of the control logic as well as control channel com-
streams to the transcoding proxy. The content server munication is a very complex issue and is not ad-
is typically a network of file servers with load dressed in this paper. We are studying the relation-
balancing mechanisms. Examples of such content ship between different transcoding parameters and
servers are CNBC News web-cast server or MSN their impact on transcoding server resource usage,
video server. which can be utilized in design of the transcoding
control algorithm.
2. The transcoding proxy is responsible for perform-
ing dynamic transcoding of the video content as 3. The client device is used by end user to view the
per the client preferences and different transcoding video streaming and is characterized by its screen
parameters supplied by a control mechanism. The size, color depth, processing power and network
proxy uses the Cascaded Pixel Domain Transcoder connectivity. Laptops, PDAs and cellphones are ex-
(CPDT) scheme initially proposed in [16], which amples of some such client devices.
consists of an encoder connected to a decoder. This
3.2 Transcoding Parameters
particular transcoding scheme is flexible since the
frame is fully decoded to raw pixels before re- Following is the description of the transcoding param-
encoding, which makes dynamic change in transcod- eters that can be changed dynamically in our current
ing parameters easier. The controller module con- design.
trols transcoding by changing the frame size, Q-
scale (or quantization scale) and color transcod- 3.2.1 Frame Size
ing parameters for encoder. These parameters can This is the size of the video frame. It can be initially
be changed using a control algorithm, which takes specified based on the clients screen size. In section 3,
client device’s profile, user’s preferences, proxy we have taken measurements of streaming video with
server resource usage, and network bandwidth avail- different frame sizes and the results show that smaller
able at the client device into consideration. frame sizes can take up considerably less network
The controller can have access to client device’s bandwidth. If the client is experiencing network con-
profile and user preferences from user database or it gestion while streaming a video, the parameter on the
4. transcoding proxy can be dynamically changed so that in each frame block. Q-Scale value can be changed
the size of the frame is reduced and the client receives from 1 to 31, where 1 indicates highest quality video
continuous streaming, but with smaller frame size (Fig- and 31 indicates lowest quality video.
ure 2). If the network conditions improve, frame size
can be converted back to size the session started with.
One could extend the proxy further to support hand-
offs between devices, where the dynamic scaling of
the frame size would be very useful for devices with
different screen sizes. MPEG standard requires a fresh
restart of the video stream in order to change the frame
size. In order to circumvent this limitation we keep the
Figure 3. Transcoding operation with a high Q-scale.
original frame size, but insert a black band around the
video content as shown in Figure 2.
3.3 Implementation Details
The video transcoding proxy was implemented us-
ing Tinyproxy [20] and FFserver [17]. Tinyproxy is
a lightweight http proxy server licensed under GPL.
FFserver is a streaming server for both audio and video
licensed under LGPL.
FFserver provides two codec libraries (libavcodec
Figure 2. Frame Scaling for width and height by 50% and libavf ormat) that can be used to encode and de-
code MPEG video. We modified tinyproxy and inte-
grated it with the FFmpeg libraries so that it would be
3.2.2 Color Depth able to decode and encode a video stream.
MPEG standard specifies a single pixel format where The transcoding process is initiated by the client by
each pixel is represented in the YUV scheme, where sending its device specification, along with the request
Y is the luminance, and U and V specifies the chromi- for a video to the proxy. If transcoding is required,
nance. [12] Because each pixel is represented always the proxy begins to get the requested video stream and
with 12 bits (e.g. 4:2:0 planar format), we are only ex- decodes each frame, and then re-encodes it applying
pecting minimal performance improvements by chang- the parameters specified by the client during encoding
ing the video to gray scale. and streams it to the client device. We implemented Q-
scaling, frame scaling, and altering color depth while
3.2.3 Q-scale re-encoding the frame at the proxy. The transcoding
The Q-scale is a parameter used to compress a given then works as follows: Tinyproxy has one parent pro-
block of a video frame. Each block is a 8 × 8 pixel cess, which spawns multiple http server processes that
square to which a DCT (Discrete Cosine Transform) will serve incoming http requests from clients. We
is applied (similar to JPEG encoding). The coefficients modified tinyproxy so that in addition it spawns an
Cij of each block are then divided by a quantization additional child, which serves as a dynamic transcod-
matrix Mij and a quantization scale q: ing request handler. The controller shown in Figure 1
connects to this request handler on the proxy. The con-
Cij
Cij = (1) troller can dynamically change the video transcoding
q · Mij parameters while streaming.
The encoder quantizes to zero the values of Cij that The algorithm for the transcoder is shown in the
are below a certain threshold. Each block is then fed flowchart in Figure 4. If the input frame satisfies the
into a RLE module (Run Length Encoder) that does transcoding requirements, it is directly sent to the
zigzag encoding to achieve better compression. A very output buffer without being decoded and re-encoded.
high Q-Scale will give a “pixilated” look to a frame Otherwise, the frame is decoded. Then, the codec
(Figure 3) due to the loss of high frequency components is changed by the transcoder if the transcoding pa-
5. rameters have changed since the last frame was de- 3. Energy consumption
coded. The frame is then re-encoded with the current
codec and stored in the output buffer, from where it is 4.1 Testbed Setup
streamed to the client. For each of the above measurements we used different
trans-coding parameters (Q-scale, video frame size and
Start gray/color scale). All the measurements were done at
the proxy server. At the client side, we used M P layer
[13] to play the video streams. CPU usage was com-
puted as the CPU time spent by the transcoder during
End of Yes
stream?
Stop the entire video stream. This CPU time has two com-
ponents: user time and system time. The user time is
No the CPU time allocated to the main user-level process
and all its children, while the system usage is the CPU
Fetch frame
from input time allocated to kernel processes (i.e., disk I/O, net-
buffer
work access) during the user process execution 1 . All
CPU measurements presented in this paper refer to the
total time (user + system).
Does frame We used T cpdump [18] to trace the TCP connec-
need
No
transcoding? tions to the server and computed the throughput of
these connections using T cptrace [19].
Yes
For energy measurements, we used a laptop with
1.8GHz AMD processor and 512MB of RAM config-
Decode frame
ured as the proxy. Since energy measurements are very
sensitive to other processes running in the system at
the same time as the transcoder, we turned off all un-
necessary processes leaving only the transcoding proxy
Have
transcoding Yes server and some kernel processes running. The ACPI
Change codec
parameters [1] system of the laptop allowed us to get readings of
changed?
voltage levels and current drawn from the battery. ACPI
No
can be integrated in the Linux kernel and has a mapping
to the /proc file system where current battery status can
Encode frame
be accessed. Since ACPI takes measurements directly
from the battery, we unplugged the power supply to
avoid its constant recharge. We took periodic measure-
ments of voltage level and current intensity from the
Store frame battery, as the proxy was processing the video stream.
in output
buffer We then computed the energy as follows:
Figure 4. Transcoding Algorithm T
E(T ) = v(t) · i(t) · dt
0
N
4. Measurements ∼ v(n∆t) · i(n∆t) · ∆t (2)
To understand how the trans-coding system reacts to n=1
different configuration parameters, we set up a testbed
Where v(t), i(t) are instantaneous voltage and cur-
and did the following measurements:
rent drawn from battery, T is the total measurement
1. CPU usage, 1
We used the C function getrusage() to return the values of CPU
2. Bandwidth usage, and, usage
6. time, N is the number of samples taken during T and 250
T
∆t = N .
For the following measurements we used a MPEG-4 200
encoded video of length 3.5 minutes, with initial frame
Throughput (KBytes/s)
size 320x240at24 frames a second. 150
4.2 Q-scale Measurements 100
For the CPU measurements with different Q-scales we
used a 4 minute video clip file in avi format (the video 50
stream was encoded in MPEG-2). We took two mea-
0
surements for each allowed value of the Q-scale (1-31) 0 5 10 15 20 25 30
Q-Scale
and averaged them. The results are shown in Figure 5.
Figure 6. Throughput for different Q-scales.
40
35 Figure 6 clearly shows that throughput drops very
fast for Q<5 and then converges to a stable value as we
CPU usage (seconds)
increase the Q-scale. This was also expected since as
30
the Q-scale increases, the number of bits necessary to
encode the blocks of each video frame is also reduced,
25 thus reducing the amount of data to be transmitted over
the network.
20
0 5 10 15
Q-Scale
20 25 30 4.3 Frame Scale Measurements
Figure 5. CPU usage for different values of Qscale. MPlayer uses avi decoder functions supplied by the
libavcodec library, however the decoder does not sup-
port frame size changes during the playback of the
As can be seen from the figure, the total CPU us- video stream. To overcome this limitation we used an
age has a linear decay for Q-scale<5 and a descen- image resize function provided by the libavformat li-
dent trend as we go up in the Q-scale. This was ex- brary. This function resizes the video image and inserts
pected since MPEG encoding performs a lossy com- black strips around the resized image (in the case of a
pression over the video image and the amount of com- size reduction) but keeps the original height and width
pression/loss is greatly affected by the Q-scale parame- of the video frame (Figure 2). Black blocks in a video
ter. As the value of Q-scale increases, the quantization frame have a high degree of compression (∼ 100%)
matrix will contain smaller DCT components, which due to the MPEG image compression scheme (simi-
eventually will be quantized as zero. Since this is fol- lar to JPEG). In addition, the constant black blocks in
lowed by a RLE (Run Length Encoding) in each block the image take advantage of the MPEG motion predic-
of the image, a sequence of consecutive zeros will be tion algorithm to increase the compression level of the
greatly compressed, thus reducing the time to encode a video stream and obtain both CPU and bandwidth sav-
sequence of video frames (containing B and P frames). ings.
The irregularity of the curves (ups and downs) is due Figures 7 and 8 represent the CPU usage (at the
to the fact that we were using a precision of seconds to proxy) and throughput (at the client) for different frame
measure the CPU time, which introduces some level of scales. As an example, after applying a 50% frame
noise in the measurements (at least one second error scale to a 640x480 frame, the size becomes 320x240,
margin). i.e., the scaling applies to both frame width and height.
The throughput measurements of Figure 6 were As observed in Figure 7, the CPU usage increases as
taken using the same video file as above with also two we approach the original scaling of the frame. Indeed
samples per Q-scale: CPU cycles are saved as the original video frame is
7. 20 4.4 Gray Scale Measurements
The MPEG standard uses the Y U V scheme instead
15 of the traditional RGB scheme to encode each pixel.
Y is the luminance component, while U and V are
CPU usage (seconds)
the blue and green chrominance respectively. The most
10
common format is the Y U V 4 : 2 : 0 planar format
that uses 3 planes (Y, U, V ) to encode a given frame.
5 By using gray scale, we are effectively using only the
Y plane, since we are discarding the color information.
However, MPEG standards require that all three YUV
0
20 40 60
Frame scale (%)
80 100
planes exist in the video stream, which means that
each pixel is still represented by 12-bit YUV as in the
Figure 7. CPU usage for different frame size.
color case. Most of the image information is in the
luminance plane (Y plane). Therefore, the throughput
and CPU usage are not significantly improved by using
shrunken and the black portion of the frame increases. gray scale, which were confirmed by our tests.
The encoding will be faster because of:
4.5 Energy Measurements
1. MPEG motion prediction working in the time do-
We did several energy measurements at the proxy, un-
main and,
der the conditions described previously in the testbed
2. MPEG image compression working in the spatial setup. By changing one transcoding parameter at a
domain. time, we could effectively identify the impact of each
The same reasoning applies for the throughput curve parameter on the overall energy consumption. More-
in Figure 8. over, we were not so much interested in observing
Notice that both CPU usage and throughput curves the absolute values of the measurements, but to com-
drop at 100%. This is because with 90% scale, the pare energy consumptions of different configurations.
MPEG encoder still has to encode a tiny black strip These measurements can also extend to other systems
on bottom/right sides, however this strip is removed like desktops and server farms [7, 4]. Proxy energy
when the frame scaling is set to 100%. The black strip consumption is an important parameter in production
is a discontinuity in spatial domain (high frequencies middleware systems and large data centers, and need to
in DCT) and needs additional bits to be encoded (in be minimized as much as possible.
comparison to 100% scaling). 3.6
3.4
300 3.2
3
250
2.8
Energy (KJ)
2.6
200
Throughput (KBytes/s)
2.4
150 2.2
2
100
1.8
1.6
50
Q:30 Q:20 Q:15 Q:10 Q:5 FS:25 FS:50 FS:75 Full
0
20 40 60 80 100
Figure 9. Energy consumption for different transcoder
Frame scale (%)
parameters.
Figure 8. Throughput for different frame scales.
Energy was computed according to (2) over a 4-
minute video. The frame scale (FS) tests were per-
8. formed with a Q-scale of 1 and the Full test was done 700
News
Cartoon
without any transcoding at all. Figure 9 shows a behav- 600
Music
Sports
ior similar to that of CPU usage for different transcod-
ing parameters. Indeed, great savings can be achieved 500
Throughput (KBytes/s)
by using frame scale reduction or using high Q-scale 400
values.
300
4.6 Different Video Contents
200
The impact of transcoding parameters may depend also
on the content of the video streams, such as different 100
11.0
17.8 11.7
9.7
textures, colors, and movement. We did experiments 0
Q:2 Q:31
with four different types of videos that provide a range
of different levels of color, textures and motion: Figure 11. Throughput for different videos.
1. Cartoon: video clip with flat colors, with fewer tex-
tures. Figure 10 shows the results for CPU usage: the num-
2. News: interview between a news caster and a re- bers above the bars represent the percentage of CPU us-
porter, the background behind the both the news age of a transcoding with Q-scale=31 compared to the
caster and the reporter is static and there is very little values achieved for Q=2, e.g. a bar with 80% means
movement in each frame. that trancoding the video with Q-scale=31 takes 80%
3. Sports: Formula One race, with fast moving cars, of the CPU usage of the transcoding with Q=2.
there is a lot of movement between each frame. Note that the values are approximately the same for
4. Music Clip: video with static parts and parts with all videos (between 72% and 80%) , indicating that
lots of movement, and has frames with flat colors as the result of variation of encoding parameters is not
well as heavy textures. impacted by the content of the video.
A similar reasoning can be applied to Figure 11,
320
News
Cartoon
where we show the throughput measured at the server
Music
300 Sports for different videos.
280
5. Conclusion
CPU usage (seconds)
260
We presented the design and implementation of an
240
72.1 open source dynamic video transcoding proxy server
220
based on a three-tier transcoding proxy architecture.
200 80.7 The video transcoding proxy provides flexibility for
180
applying different transcoding control algorithms with-
76.2
75.6 out modifying the other components of the system.
160
Q:2 Q:31 We conducted a systematic evaluation of the system
Figure 10. CPU usage for different videos. parameters: Q-scale, color depth, and frame size on
CPU usage, bandwidth usage, and energy consumption
of the transcoding proxy.
All the videos were MPEG-4 encoded and each clip Our measurements show that by reducing the image
was of length 45 seconds, with initial frame size quality down to a Q-Scale of 10, one can dramatically
640x480at30 frames per second. For each video, we decrease proxy CPU cycles and streaming through-
compared the performance in terms of CPU and through- put. Furthermore, video frame size reduction results in
put between an encoding with Q-scale=2 and an encod- a significant decrease of perceived throughput at the
ing with Q-scale=31. We expect to observe a decreases client side. Our measurements also show that a 50%
in both CPU and throughput usage when going from scaling on both, width and height of the video frame ef-
Q-scale=2 to Q-scale=31, but would this decrease be fectively reduces the throughput to approximately 50%.
the same for all videos? In addition, energy measurements show that by using a
9. Q-scale of greater than 5, it is possible to reduce en- and P. Gauthier. Cluster-based scalable network
ergy consumption at proxy server by more than 50%, services. In Proceedings of the 16th Symposium on
in comparison to the no-transcoding scenario. We also Operating Systems Principles (SOSP-97), volume 31,5
study the impact of transcoding of different video con- of Operating Systems Review, pages 78–91, New York,
Oct.5–8 1997. ACM Press.
tent and find that the result of variation of these encod-
[10] R. Han, P. Bhagwat, R. LaMaire, T. Mummert,
ing parameters is not impacted by the content of the
V. Perret, and J. Rubas. Dynamic adaptation in an
video. image transcoding proxy for mobile www browsing.
We plan to develop an automatic controller mod- IEEE Personal Communication, 5(6):8–17, December
ule based on our measurement results. The automatic 1998.
control module would enable us to explore different [11] J. D. McCarthy, M. A. Sasse, and D. Miras. Sharp
feedback mechanisms to estimate the client’s perceived or smooth?: comparing the effects of quantization
throughput and experience during the transcoding pro- vs. frame rate for streamed video. In CHI ’04:
cess and this remains as future work. Proceedings of the SIGCHI conference on Human
factors in computing systems, pages 535–542, New
York, NY, USA, 2004. ACM Press.
References [12] MPEG Home Page. http://www.chiariglione.
[1] ACPI at Intel. http://developer.intel.com/ org/mpeg/.
technology/iapc. [13] MPlayer. http://www.mplayerhq.hu.
[2] P. A. A. Assuncao and M. Ghanbari. A frequency- [14] T. Phan, R. G. Guy, and R. Bagrodia. A scalable,
domain video transcoder for dynamic bit-rate reduction distributed middleware service architecture to support
of mpeg-2 bit streams. In IEEE Transactions on mobile internet applications. In Wireless Mobile
Circuits Systems Video Technology, vol. 8, no. 8, pp. Internet, pages 27–33, 2001.
953-967, December 1998. [15] A. Singh, A. Trivedi, K. Ramamritham, and P. J.
[3] R. Bagrodia, S. Bhattacharyya, F. Cheng, S. Gerding, Shenoy. Ptc: Proxies that transcode and cache in
G. Glazer, R. Guy, Z. Ji, J. Lin, T. Phan, E. Skow, heterogeneous web client environments. World Wide
M. Varshney, and G. Zorpas. imash: Interactive mobile Web, 7(1):7–28, 2004.
application session hando, 2003. [16] H. Sun, W. Kwok, and J. Zpedski. Architectures for
[4] G. Banga, P. Druschel, and J. Mogul. Resource mpeg compressed bitstream scaling. In IEEE Trans.
containers: A new facility for resource management in Circuits and Systems for Video Technology, April 1996.
server systems. In Proceedings of the Third Symposium [17] FFmpeg. http://ffmpeg.sourceforge.net.
on Operating System Design and Implementation
[18] tcpdump / libpcap. http://www.tcpdump.org/.
OSDI’99, February 1999.
[19] tcptrace. http://www.tcptrace.org/.
[5] A. Bond, M. Gallagher, and J. Indulska. An infor-
mation model for nomadic environments. In DEXA [20] Tinyproxy. http://tinyproxy.sourceforge.
Workshop, pages 400–405, 1998. net/.
[6] J. Cai and C. W. Chen. A high-performance and [21] D. Wang, F. Speranza, A. Vincent, T. Martin, and
low-complexity video transcoding scheme for video P. Blanchfield. Toward optimal rate control: a study
streaming over wireless links. In Proceeding of of the impact of spatial resolution, frame rate, and
Wireless Communications and Networking Conference quantization on subjective video quality and bit rate.
2002, March 2002. In VCIP, pages 198–209, 2003.
[7] J. Chase, D. Anderson, P. Thakur, and A. Vahdat. [22] A. Warabino, S. Ota, D. Morikawa, M. Ohashi,
Managing energy and server resources in hosting H. Nakamura, H. Iwashita, and F. Watanabe. Video
centers. In Proceedings of the 18th Symposium on transcoding proxy for 3gwireless mobile internet
Operating Systems Principles SOSP’01, October 2001. access. Communications Magazine, IEEE, pages 66 –
71, Oct 2000.
[8] A. Fox, S. D. Gribble, E. A. Brewer, and E. Amir.
Adapting to Network and Client Variability via On-
Demand Dynamic Distillation. In Proceedings of
the Seventh International Conference on Architectural
Support for Programming Languages and Operating
Systems, pages 160–170, Cambridge, MA, October
1996.
[9] A. Fox, S. D. Gribble, Y. Chawathe, E. A. Brewer,