scispace - formally typeset
Search or ask a question

Showing papers by "Carsten Griwodz published in 2011"


Proceedings ArticleDOI
28 Nov 2011
TL;DR: Amplitude plays the dominant role in delivering satisfactory video quality, while frequency can also be adjusted to relieve the annoyance of flicker artifacts.
Abstract: Streaming video over the Internet requires mechanisms that limit the streams' bandwidth consumption within its fair share. TCP streaming guarantees this and provides lossless streaming as a side-effect. Adaptation by packet drop does not occur in the network, and excessive startup latency and stalling must be prevented by adapting the bandwidth consumption of the video itself. However, when the adaptation is performed during an ongoing session, it may influence the perceived quality of the entire video and result in improved or reduced visual quality of experience. We have investigated visual artifacts that are caused by adaptive layer switching -- we call them flicker effects -- and present our results for handheld devices in this paper. We considered three types of flicker, namely noise, blur and motion flicker. The perceptual impact of flicker is explored through subjective assessments. We vary both the intensity of quality changes (amplitude) and the number of quality changes per second (frequency). Users' ability to detect and their acceptance of variations in the amplitudes and frequencies of the quality changes are explored across four content types. Our results indicate that multiple factors influence the acceptance of different quality variations. Amplitude plays the dominant role in delivering satisfactory video quality, while frequency can also be adjusted to relieve the annoyance of flicker artifacts.

123 citations


Proceedings ArticleDOI
23 Feb 2011
TL;DR: A client-side request scheduler that distributes requests for the video over multiple heterogeneous interfaces simultaneously, and reduces the number of playback interruptions and improves video quality significantly for all cases where the earlier approach struggled.
Abstract: Devices capable of connecting to multiple, overlapping networks simultaneously are becoming increasingly common. For example, most laptops are equipped with LAN- and WLAN-interfaces, and smart phones can typically connect to both WLANs and 3G mobile networks. At the same time, streaming high-quality video is becoming increasingly popular. However, due to bandwidth limitations or the unreliable and unpredictable nature of some types of networks, streaming video can be subject to frequent periods of rebuffering and characterised by a low picture quality.In this paper, we present a client-side request scheduler that distributes requests for the video over multiple heterogeneous interfaces simultaneously. Each video is divided into independent segments with constant duration, enabling segments to be requested over separate links, utilizing all the available bandwidth. To increase performance even further, the segments are divided into smaller subsegments, and the sizes are dynamically calculated on the fly, based on the throughput of the different links. This is an improvement over our earlier subsegment approach, which divided segments into fixed size subsegments.Both subsegment approaches were evaluated with on-demand streaming and quasi-live streaming. The new subsegment approach reduces the number of playback interruptions and improves video quality significantly for all cases where the earlier approach struggled. Otherwise, they show similar performance.

79 citations


Proceedings ArticleDOI
01 Jun 2011
TL;DR: This paper combines the existing adaptive segmented HTTP streaming system with an application layer framework for creating transparent multi-link applications, and a location based QoS information system containing GPS coordinates and accompanying bandwidth measurements, populated through crowd-sourcing.
Abstract: A well known challenge with mobile video streaming is fluctuating bandwidth. As the client devices move in and out of network coverage areas, the users may experience varying signal strengths, competition for the available resources and periods of network outage. These conditions have a significant effect on video quality. In this paper, we present a video streaming solution for roaming clients that is able to compensate for the effects of oscillating bandwidth through bandwidth prediction and video quality scheduling. We combine our existing adaptive segmented HTTP streaming system with 1) an application layer framework for creating transparent multi-link applications, and 2) a location based QoS information system containing GPS coordinates and accompanying bandwidth measurements, populated through crowd-sourcing. Additionally, we use real-time traffic information to improve the prediction by, for example, estimating the length of a commute route. To evaluate our prototype, we performed real-world experiments using a popular tram route in Oslo, Norway. The client connected to multiple networks, and the results show that our solution increases the perceived video quality significantly. Also, we used simulations to evaluate the potential of aggregating bandwidth along the route.

65 citations


Proceedings ArticleDOI
04 Oct 2011
TL;DR: It is shown in this paper, that the streaming source is essentially an on-off source and that synchronization of client requests has a negative impact on router queues and leads to increased packet loss, and should thus be avoided to achieve a high goodput.
Abstract: Nowadays, several live and on-demand streaming solutions use HTTP for signaling and data delivery. A frequently used technique is to chop a continuous stream into segments, encode these in multiple qualities and make these available for download using plain HTTP methods. This approach has become known as dynamic adaptive segment streaming over HTTP. Its advantage is that the deployed web infrastructure is easily reused, even for live segment streaming. In this case, however, it is not strictly bulk traffic. We show in this paper, that the streaming source is essentially an on-off source. Furthermore, this paper analyzes several client-controlled segment request strategies for live adaptive HTTP segment streaming. We present experimental results showing the benefits and drawbacks of each strategy with respect to achieved video quality, smoothness of playback and end-to-end delay. We show that it matters how clients request segments. The results indicate strongly that synchronization of client requests has a negative impact on router queues and leads to increased packet loss, and should thus be avoided to achieve a high goodput.

29 citations


Proceedings ArticleDOI
11 Jul 2011
TL;DR: This paper proposes bitrate and video quality planning algorithms for mobile streaming scenarios using a GPS-based bandwidth-lookup service in order to reduce frequently changing video quality and the number of playout interruptions.
Abstract: One of the main challenges when streaming video to mobile devices is to handle fluctuating bandwidth and frequent network outages as the device is brought in and out of areas with network coverage. In this paper, we propose bitrate and video quality planning algorithms for mobile streaming scenarios using a GPS-based bandwidth-lookup service in order to reduce frequently changing video quality and the number of playout interruptions. Our real world experiments using an adaptive segmented HTTP video streaming system while travelling on popular commute routes indicate that the users' quality of experience is greatly increased.

25 citations


Proceedings ArticleDOI
03 Nov 2011
TL;DR: The perceptual impact of blur and noise flicker is explored through subjective assessments, focusing on acceptance of variations in the amplitudes and frequencies of the quality changes, across four content types, indicating that the perception and acceptance of different layer variations are jointly influenced by multiple factors.
Abstract: Scalable video streaming may result in flicker effects — visual artifacts in video presentation due to adaptive layer switching. In our work, we have identified three types of flicker, noise, blur and motion flicker. Here, we investigate the blur and noise flicker, which are both related to the spatial domain. The perceptual impact of blur and noise flicker is explored through subjective assessments, focusing on acceptance of variations in the amplitudes and frequencies of the quality changes, across four content types. Our results indicate that the perception and acceptance of different layer variations are jointly influenced by multiple factors. When video scaling is required, frequency can be adjusted to relieve the annoyance of flicker artifacts, while amplitude still plays the dominant role in delivering satisfactory video quality. In addition, contents with complex details are more affected by blur flicker than other contents. This difference is not observed for noise flicker.

23 citations


Proceedings ArticleDOI
13 Sep 2011
TL;DR: A new framework, called P2G, designed specifically for developing and processing distributed real-time multimedia data, which supports arbitrarily complex dependency graphs with cycles, branches and deadlines, and provides both data- and task-parallelism.
Abstract: The computational demands of multimedia data processing are steadily increasing as consumers call for progressively more complex and intelligent multimedia services. New multi-core hardware architectures provide the required resources, but writing parallel, distributed applications remains a labor-intensive task compared to their sequential counter-part. For this reason, Google and Microsoft implemented their respective processing frameworks MapReduce and Dryad, as they allow the developer to think sequentially, yet benefit from parallel and distributed execution. An inherent limitation in the design of these batch processing frameworks is their inability to express arbitrarily complex workloads. The dependency graphs of the frameworks are often limited to directed acyclic graphs, or even pre-determined stages. This is particularly problematic for video encoding and other algorithms that depend on iterative execution. With the Nornir runtime system for parallel programs, which is a Kahn Process Network implementation, we addressed and solved several of these limitations. However, it is more difficult to use than other frameworks due to its complex programming model. In this paper, we build on the knowledge gained from Nornir and present a new framework, called P2G, designed specifically for developing and processing distributed real-time multimedia data. P2G supports arbitrarily complex dependency graphs with cycles, branches and deadlines, and provides both data- and task-parallelism. The framework is implemented to scale transparently with available (heterogeneous) resources, a concept familiar from the cloud computing paradigm. We have implemented an (interchangeable) P2G kernel language to ease development. In this paper, we present a proof of concept implementation of a P2G execution node and some experimental examples using complex workloads like Motion JPEG and K-means clustering. The results show that theP2G system is a feasible approach to multimedia processing.

14 citations


Proceedings ArticleDOI
28 Jun 2011
TL;DR: A transparent solution for proxy-based bandwidth aggregation that is able to overcome the different deployment and link heterogeneity challenges present in real-world networks, in terms of support for middle-boxes, congestion control, a client-based resequencer and support for all operating systems is presented.
Abstract: Networked devices often come equipped with multiple network interfaces, and bandwidth aggregation is one of the many possible benefits of using multiple interfaces simultaneously. Real-world networks introduce several challenges that have often been ignored by related work on bandwidth aggregation. The challenges include limited connectivity due to NAT-boxes, link heterogeneity and link variability. In this paper, we present a transparent solution for proxy-based bandwidth aggregation that is able to overcome the different deployment and link heterogeneity challenges present in real-world networks. Our focus has been on increasing the performance of bandwidth-intensive UDP-based applications, and through evaluation we show that our solution efficiently aggregates bandwidth and increases the in-order throughput. Previously, we introduced a multi-link UDP proxy solution that improves in-order throughput. This paper presents a significant extension and improvement in terms of support for middle-boxes (NAT), congestion control, a client-based resequencer and support for all operating systems.

11 citations


Proceedings ArticleDOI
28 Jun 2011
TL;DR: This work has developed a video streaming solution for mobile, roaming devices that makes use of the benefits offered by multiple links, and uses HTTP Adaptive Streaming, also used by for example Microsoft and Apple, which allows a client to change quality based on the available bandwidth.
Abstract: Video streaming has become one of the most popular services on the Internet today. At the same time, mobile devices capable of displaying high-quality multimedia content have become common. In addition, most of these devices are equipped with multiple network interfaces. Smartphones and tablets can typically connect to both 3G networks (HSDPA) and WLANs, while laptops at least have a LAN and a WLAN interface, amongst others. Even though a mobile device is capable of displaying highquality video, it will in many cases be connected to networks unable to meet the requirements of the stream or the user’s expectations. For example, the bitrate of H.264 encoded 1080p video is around 6-8 Mbit/s. This might not be a problem when connected to a fixed network. However, wireless networks are often unable to support this bandwidth, causing periods of rebuffering and playback interruptions. Also, mobile devices typically roam between networks. Unless supported by the application, the streaming will stop when the connection to the previous network is lost. The deployment of different wireless networks have increased rapidly. A device is therefore often within coverage range of multiple networks simultaneously. For example, several telephone providers allow their subscribers to access WiFi hotspots. Using networks simultaneously offers several benefits, for example, bandwidth aggregation and increased connection reliability. Bandwidth aggregation means merging the bandwidth of several interfaces. We have developed a video streaming solution for mobile, roaming devices that makes use of the benefits offered by multiple links. To the best of our knowledge, no such solution currently exists. We use HTTP Adaptive Streaming, also used by for example Microsoft and Apple, which allows a client to change quality based on the available bandwidth. In order to do bandwidth aggregation, each video segment is divided into smaller (logical) subsegments using HTTP range-requests, and the subsegments are requested over the different links. Our client application automatically detects when links are made available or become unavailable, and reacts accordingly. Bandwidth measurements, used to select video quality, are requested from a lookup database, using the client’s GPS coordinates as parameter. This database is populated using crowdsourcing and is consulted at given intervals, as the coverage range of wireless networks and

6 citations


Proceedings ArticleDOI
06 Oct 2011
TL;DR: This paper presents an implementation of a game server architecture based on a model that allows for massive parallelism, and shows that the case of implementing a game-server can actually be highly parallel problem.
Abstract: Games where thousands of players can interact concurrently pose many challenges with regards to the massive parallelism. Earlier work within the field suggests that this is difficult due to synchronization issues. In this paper, we present an implementation of a game server architecture based on a model that allows for massive parallelism. The system is evaluated using traces from live game sessions that has been scaled up to generate massive workloads. We measure the differences in server response time for all objects that need timely updates. We also measure how the response time for the multithreaded implementation varies with the number of threads used. Our results show that the case of implementing a game-server can actually be highly parallel problem.

4 citations


Proceedings ArticleDOI
27 Oct 2011
TL;DR: A distributed algorithm for multipath rate allocation that operates based on information collected by overlay nodes is implemented that is evaluated in the OMNet++ simulation environment and analyzed against the aforementioned benchmarking.
Abstract: We develop and evaluate a rate-allocation multipath algorithm for delivery of video in a Video-on-Demand (VoD) system built upon an overlay network. To evaluate how well the rate-allocation algorithms approach the optimum, we have earlier built a benchmarking system that provides the optimal solution for assigning available bandwidth to delivery paths. This solution is also proportionally-fair. We implement a distributed algorithm for multipath rate allocation that operates based on information collected by overlay nodes. The algorithm is evaluated in the OMNet++ simulation environment and analyzed against the aforementioned benchmarking.

Proceedings ArticleDOI
28 Nov 2011
TL;DR: This demo presents the P2G execution node using a MJPEG encoder as an example workload when dynamically adding and removing processing cores, and implements an interchangeable P3G kernel language which is meant to expose fundamental concepts of the P1G programming model and ease the application development.
Abstract: In this demo, we present the P2G framework designed for processing distributed real-time multimedia data. P2G supports arbitrarily complex dependency graphs with cycles, branches and deadlines. P2G is implemented to scale transparently with available resources, i.e., a concept familiar from the cloud computing paradigm. Additionally, P2G supports heterogeneous computing resources, such as x86 and GPU processing cores. We have implemented an interchangeable P2G kernel language which is meant to expose fundamental concepts of the P2G programming model and ease the application development. Here, we demonstrate the P2G execution node using a MJPEG encoder as an example workload when dynamically adding and removing processing cores.