An original-stream based solution for smoothly replaying high-definition videos in desktop virtualization systems

https://doi.org/10.1016/j.jvlc.2014.09.009Get rights and content

Highlights

  • This paper proposes a solution for replaying high-definition videos remotely in desktop virtualization systems.

  • Server׳s video content is not decoded on server but intercepted and delivered to client in its originally encoded state.

  • The encoded video content is intercepted in server׳s display driver.

  • The extremely CPU-intensive video decoding tasks are executed on client by using GPU-accelerated video decoding technology.

Abstract

Existing desktop virtualization systems suffer from a very limited performance in replaying high-definition videos remotely: intolerable CPU and bandwidth consumption, high response delay and poor video quality. In this paper, we propose an original-stream based solution to provide good user experience for replaying high-definition videos in desktop virtualization systems without any modification on applications and support most of prevalent high-definition video formats. In our solution, server׳s video content is not decoded on server but intercepted and delivered to client in its originally encoded state, so that the video content can be easily stored and transported in computer systems with high quality and low bandwidth. The encoded video content is intercepted in server׳s display driver, which enables HDR to work seamlessly with existing applications. The extremely CPU-intensive video decoding tasks are executed on client by using GPU-accelerated video decoding technology so that CPU can concentrate on other tasks. The experimental results validate our method and show that this proposed approach measurably outperforms state-of-the-art solutions.

Introduction

As an emerging trend, virtualization [1], [2], [3] has been widely used in cloud computing [4], [5], [6] over the past decade. Among those virtualization applications, desktop virtualization has become an important branch [7], [8]. In desktop virtualization environment, all applications and operating system code are executed in a server which lies in a remote data center. End user only needs a thin client which handles display, keyboard and mouse combined with adequate processing power for graphical rendering and network communication. The client no longer has to keep user state and communicate with server by using a remote protocol. The protocol allows graphical displays to be virtualized, and transmits user input from the client to the server [9]. Many productive desktop virtualization systems have been developed and applied to various commercial applications since they provide a lot of advantages for IT enterprises such as reducing maintenance and operating costs and improving resource utilization efficiency.

However, existing desktop virtualization systems still suffer from a number of problems before being widely applied: they cannot provide high fidelity display and good interactive experiences for end users, especially on multimedia applications which are commonly used in desktop computing. Current remote display protocols such as Remote Framebuffer protocol (RFB) [10] and Remote Desktop Protocol (RDP) [11] are widely used in desktop virtualization systems [12]. They are mainly designed for low-motion graphical applications, such as text editors whose graphic changes are minor with low frequency. However, those protocols cannot effectively support high-motion scenarios such as video playback and real-time interactions. First, because the transport of multimedia data over those protocols is inefficient, requiring high bandwidth to ensure the delivery of all frames to the client in real time. Second, intensive computation for video decoding imposes a heavy burden on server׳s CPU, which greatly decreases the overall performance of a desktop virtualization system with increasing clients. The problems become even worse when it comes to replaying high definition (HD) video [13] which has a much larger amount of data than standard definition (SD) video. Real-time re-encoding of the video data can definitely save bandwidth but it is computationally expensive, even with modern CPUs, and it causes high response delay, poor video quality and dropped frames that greatly deteriorate user experience.

To address the existing problems, we propose a high-definition remote rendering system named HDR, which is an original-stream based solution for replaying HD videos in desktop virtualization systems. Combined with virtualization technology, HDR provides great user experiences of replaying HD videos without any changes on applications or the window system. The HDR prototype is implemented in Virtualbox [14], an open-sourced virtualization software. The experimental results show that our system could reach almost 100% video quality and full frame rate in full screen on HD video playback in both 100 Mbps and 10 Mbps network environments while classic systems only achieve no more than 20% quality and very low frame rate which is not enough to replay HD videos smoothly. We have tested most of prevalent video formats such as H264 [15], MPEG-2 and VC-1 with generally used resolutions for HD videos such as 720P, 1080i and 1080P. Besides, a number of popular media players have been tested in our experiments. The results show that all the tested video formats and media player applications can be well supported in HDR while some other systems only support specific video formats and media player applications. Additionally, our solution greatly reduces both server and client׳s CPU usage by using GPU-accelerated video decoding technology [16].

Section snippets

Related work

Many productive desktop virtualization systems have been developed and applied to various commercial applications since they provides a lot of advantages for IT enterprises such as reducing maintenance and operating costs and improving resource utilization efficiency. VNC [10] and THINC [17] are famous thin-client systems proposed in academic research while in industry there are Microsoft Remote Desktop [11], Citrix XenDesktop [18], VMware View [19], Sun Ray and HP Remote Graphics and so on.

Design of architecture

We propose HDR, an original-stream based method to address existing problems of replaying HD videos in desktop virtualization systems. In the HDR, encoded video content and decoding API calls are intercepted from the display driver of the server and delivered to the client through the network. The client re-executes the API calls to display the video on the screen. The intercepted video content is in its originally encoded state, which means that the video has never been decoded in the server.

Implementation

We have implemented a prototype server based on Windows 7 system in a virtual environment created by Virtualbox and a client based on Windows 7 system in real physical machines. In the HDR, we have assumed that all the media players of the server adopt GPU-accelerated technology to decode and render HD videos so that the encoded video data can be intercepted from the display driver. In Windows 7 system, DirectX Video Acceleration (DXVA) [21] technology is the most widely used GPU-accelerated

Performance evaluation

In this section, system performance is evaluated in real applications under different network conditions to demonstrate the effectiveness of HDR. We mainly evaluate the performance of HDR in terms of bandwidth consumption, CPU usage, video quality and frame rate. Several prevalent remote display systems are involved for comparison. They are TightVNC [23], Microsoft Remote Desktop and THINC.

Conclusion

Desktop virtualization has been widely applied and multimedia applications play a significant role in it. Existing desktop virtualization systems provide good performance for general-purpose applications but still have some challenges for multimedia applications, especially for replaying HD videos which have large amount of data and frequent display updates. We introduce HDR which transmits video content to the clients in its originally encoded state so that video is replayed on the client with

Acknowledgment

This work is supported by the National Science and Technology Major Project of the Ministry of Science and Technology of China under Grant 2013ZX03003010-002.

References (25)

  • Paul Barham et al.

    Xen and the art of virtualization

    ACM SIGOPS Oper. Syst. Rev.

    (2003)
  • Rich Uhlig et al.

    Intel virtualization technology

    Computer

    (2005)
  • Irfan Habib

    Virtualization with KVM

    Linux J.

    (2008)
  • Peter Mell, Tim Grance. The NIST Definition of Cloud Computing. National Institute of Standards and Technology, vol....
  • Michael Armbrust et al.

    A view of cloud computing

    Commun. ACM

    (2010)
  • Ajay Gulati, Ganesha Shanmuganathan, Anne Holler, Irfan Ahmad, Cloud-scale resource management: challenges and...
  • Karissa Miller, Mahmoud Pegah, Virtualization: virtually at the desktop, in: Proceedings of the 35th Annual ACM SIGUCCS...
  • Xiaofei Liao et al.

    Towards virtualized desktop environment

    Concurr. Comput. Pract. Exp.

    (2010)
  • Jiewei Wu, Jiajun Wang, Zhengwei Qi, Haibing Guan, Sridesk: a streaming based remote interactivity architecture for...
  • Tristan Richardson et al.

    Virtual network computing

    IEEE Internet Comput.

    (1998)
  • Windows Remote Desktop Protocol (RDP),...
  • Charles Border. The development and deployment of a multi-user, remote access virtualization system for networking,...
  • Cited by (3)

    This paper has been recommended for acceptance by S.-K. Chang.

    View full text