多媒体云计算.docx
《多媒体云计算.docx》由会员分享,可在线阅读,更多相关《多媒体云计算.docx(20页珍藏版)》请在冰豆网上搜索。
多媒体云计算
多媒体云计算
编者按:
多媒体云计算是一种可用于提供多媒体服务和应用的新兴技术。
本文详细介绍了热门的云计算与多媒体相融合的多媒体云计算技术发展和未来趋势。
多媒体云计算(图片来自于网络)
本文介绍了多媒体云计算的主要概念,并提出了一种新的框架。
我们将从多媒体云和云多媒体这两个角度探讨多媒体云计算。
首先,我们提出了“媒体云”的概念,用于探讨云怎样执行分布式多媒体处理和存储,并为多媒体服务提供服务质量(QoS)配置。
为了提供较高的QoS,我们提出一个“媒体边缘云(MEC)”架构,其中的存储、中央处理单元(CPU)和图形处理单元(GPU)集群部署在云边缘位置,以便为各类设备提供分布式并行处理和QoS适配。
然后,我们提出了“云媒体”概念,用于探讨多媒体服务和应用(例如数据存储和共享、媒体创作和融合、自适应资源分配和传输,以及渲染和检索)怎样才能最大限度地利用云计算资源,以达到更好的用户体验质量(QoE)。
我们也指出了相应的研究方向和所遇到的问题。
引言
云计算是一种新兴技术,其目标是通过互联网提供各种计算服务和存储服务[1],[2],包括基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaA)等服务模式。
云服务提供商主要提供数据中心硬件和软件,利用互联网实现存储服务和计算服务。
通过使用云计算,用户可以像使用“超级”计算机那样从云中获取服务。
用户把数据存储在云中,而不是存储在自己的设备上,从而可以随时随地访问数据。
通过在更强大的云计算平台上运行应用程序并在云中配置软件,可有效减轻用户在本地设备中进行软件安装和频繁升级的负担。
在Web2.0时代,网络多媒体是以服务的形式兴起的。
通过提供多元化的媒体服务,多媒体计算已经成为一项受人瞩目的技术,它可以生成、编辑、处理、搜索各种媒体内容,如图像、视频、音频、图形。
对于基于互联网和移动无线网络的多媒体应用和服务而言,由于同时服务于数百万网民和移动用户,需要大量的计算资源,因此对多媒体云计算的需求也非常大。
在这种基于云的新型多媒体计算模式中,用户可以在云中分布式地存储和处理多媒体应用数据,不需要在计算机或终端设备上安装媒体应用软件,进而减轻了用户对多媒体软件维护和升级的负担,避免了在用户设备上进行计算,延长了移动终端的续航时间。
在云中进行多媒体信息处理带来了巨大的挑战,下面介绍其面临的几个基本挑战:
(1)多媒体和服务异构性。
由于存在多种不同类型的多媒体和服务,如VoIP、视频会议、照片共享和编辑,多媒体流化、图像搜索、基于图像的渲染、视频编码转换和适配,多媒体内容传送等等,云必须为数百万用户同时提供不同类型的多媒体和多媒体服务支持。
(2)QoS异构性。
由于不同的多媒体服务具有不同的QoS需求,云必须提供自适应的QoS配置和支持各种类型的多媒体服务,以满足不同多媒体的QoS要求。
(3)网络异构性。
由于不同的网络(如互联网、无线局域网、蜂窝网等)具有不同的网络特性(如带宽、延迟和抖动),云须提供与网络环境相适配的多媒体内容,以便将数据以最优方式传送到具有不同网络带宽和时延的各种设备上。
(4)设备异构性。
由于不同类型的设备(如电视、电脑和手机)有着不同的多媒体处理功能,包括CPU、GPU、显示器、内存、存储器和电源,云须拥有多媒体适配功能,以适应不同类型的设备。
对云中的多媒体计算来说,由于严格的多媒体QoS要求以及整个互联网范围内大量用户的同时访问,云中同时突发的多媒体数据访问、处理和传输会在通用云中产生瓶颈。
当前的云计算通常分配一个用户定额的计算(如CPU)资源,这对一般数据任务是非常有效的。
但是,对多媒体应用来说,除CPU和存储要求外,另一个非常重要的因素是带宽、延迟和抖动等方面的QoS要求。
因此,使用互联网中的通用云来处理多媒体服务,可能会产生不可接受的媒体QoS或用户QoE(用户体验质量)[3]。
移动设备的内存、计算能力和电池工作时间是有限的,因此它们对利用云来解决计算和通信之间矛盾的需求更大。
据预测,对移动应用和服务来说,云计算可能会成为一种“颠覆性”技术[4]。
具体说来,在移动媒体应用和服务中,由于多媒体的功率要求[5]和无线信道具有随时间变化的特点,云计算对QoS的支持变得比互联网更难。
总之,对云中的多媒体计算而言,关键是怎样在(有线)互联网和移动互联网中提供QoS保障的多媒体应用和服务。
图1多媒体云计算基本概念
为满足多媒体服务在互联网和移动无线网络中的QoS要求,我们引入了多媒体云计算概念,如图l所示。
具体地说,我们提出了多媒体云计算框架,它采用云计算,通过互联网和移动互联网提供多媒体应用和服务,井拥有QoS支持功能。
我们从多媒体云和云多媒体两方面来探讨多媒体云计算。
媒体云主要研究如何使云为多媒体应用和服务提供QoS支持。
云媒体则重点研究多媒体怎样在云中执行内容存储、处理、适配、渲染等任务,以最好地利用云计算资源,进而为多媒体服务提供高QoE服务。
图2阐述了媒体云服务和云媒体服务之间的关系。
再具体一些,媒体云提供原始资源,如硬盘、CPU和GPU,这些资源由媒体服务提供商(MSPs)出租给用户。
MSPs利用媒体云资源来开发多媒体应用和服务,如存储、编辑、流化、渲染等。
图2媒体云和云媒体服务的关系
在媒体云中,我们提出了媒体边缘云(MEC)结构以降低时延,其中媒体内容及其处理根据用户位置被推到云的边缘。
在这种结构中,MEC是个子云,数据以物理方式放在边缘。
MEC在边缘存储、处理和传送媒体数据,以实现更短的延迟。
媒体云由多个MEC构成,可通过集中或对等(P2P)方式对其进行管理。
首先,为了更好地处理MEC中各种类型的媒体服务,我们建议按照属性将类型相似的媒体服务放在同一个服务器集群中。
具体来说,我们建议使用DHT(分布式散列表)[6]进行数据存储,同时使用CPU/GPU集群进行多媒体计算。
第二,为提高MEC中的计算效率,我们建议对GPU或CPU集群中的多媒体应用和服务采用分布式并行处理模型。
第三,在MEC的移动代理/边缘服务器上,我们建议对异构移动设备的媒体服务进行媒体适配/编码变换,以实现高QoE。
在云媒体中,云媒体应用和服务既可以全都在云中进行,也可以部分在云中进行。
对于前者而言,将由云来完成所有的多媒体计算,例如对于终端处理能力较弱的手机情形。
对于后者来说,主要问题是怎样在云和客户端之间分配用于多媒体计算的资源(例如CPU和GPU)。
在本文中,我们将介绍多媒体应用(例如处理、适配、渲染等)如何最好地利用云计算资源,以实现高QoE。
相关工作
一般而言,多媒体云计算是与网格多媒体计算、内容分发网络(CDN)、基于服务器的计算和P2P多媒体计算相关的。
更具体地说,网格多媒体计算是从高性能计算(HPC)的方面[7]来解决针对多媒体的基础设施计算问题。
CDN则侧重于如何在边缘提供多媒体功能,以减少传输延迟或最大限度地扩大客户访问数据的带宽。
具体例子包括Akamai技术公司、亚马逊CloudFront和Limelight网络。
YouTube使用Akamai公司的CDN来提供视频。
基于服务器的多媒体计算针对的是桌面计算,其中所有的多媒体计算都是在一组服务器中完成,而客户端仅与服务器打交道[8]。
具体例子包括微软远程显示协议和AT&T虚拟网络计算。
P2P多媒体计算指的是一种分布式应用架构,它在对等体之间分配多媒体计算任务或工作负荷。
具体例子包括Skype、PPLive和Coolstream。
本文所介绍的媒体云侧重于解决云如何为多媒体运算提供QoS支持。
据我们所知,文献中有关多媒体云计算的资料凤毛麟角。
IBM曾经提出了一项云计算计划(http:
//)。
Trajkovska等提出了用于多媒体流化的联合P2P和云计算架构实现方案,并提出了QoS成本函数[9]。
媒体云
媒体云需要具备下述功能:
1)为拥有不同QoS要求的各种多媒体服务提供QoS配置和支持;2)分布式并行多媒体处理;3)具备多媒体QoS适配功能,以适应各类设备和网络带宽。
在本节中,我们首先介绍媒体云的架构。
然后,我们将讨论媒体云中的分布式并行多媒体处理。
媒体云计算架构
在本节中,我们提出一个MEC计算架构,目的是从QoS的角度处理多媒体计算。
MEC是一个子云,而服务器在物理上被放置云的边缘,以向用户提供高QoS(例如低延迟)的媒体服务。
请注意,MEC架构类似于CDN边缘服务器架构,其区别在于CDN用于多媒体传输,而MEC是用于多媒体计算。
使用CDN边缘服务器向最终用户提供多媒体传输服务,其延迟可能会小于直接从原始服务器进行传输的方法。
由此可以看出,与位于云中央的所有多媒体内容相比,在MEC中进行多媒体计算可以产生较少的多媒体流量,并减少延迟。
如图3(a)及(b),MEC有两种类型的架构:
一种情况下,所有用户的媒体数据都基于其用户特征或位置存储在MECs上,而所有与用户和内容地点有关的信息都由其负责人(lead)通过P2P传输;另一种情况下,中心管理员(master)负责维护所有与用户和内容位置相关的信息,而MEC则以分布的方式保存所有内容数据。
图3(a)基于P2P的MEC计算架构,以及(b)中央控制型MEC计算架构
在MEC中,我们采用P2P技术,进行分布式媒体数据存储和计算。
在P2P架构中,每个节点都是同等重要的,因此,MEC具有媒体数据存储和多媒体计算的高可伸缩性、可用性和鲁棒性。
为了支持移动用户,我们提出了云代理概念,它驻留在MEC的边缘或网关上,如图3(a)和(b)所示,用于执行多媒体处理(如适配和转码)和缓存,以弥补移动设备计算能力弱和电池续航时间短的局限性。
分布式并行多媒体处理
传统上,多媒体处理是在客户端或专有服务器上进行的。
在多媒体云计算中,多媒体处理通常是第三方的云数据中心进行的(除非有人喜欢建设私有云,这是很昂贵的)。
随着多媒体处理转移到云中,多媒体云计算面临的主要挑战之一是云如何为包括移动用户在内的数百万用户提供多媒体数据的分布式并行处理。
为了解决这个问题,多媒体存储和计算需要以分布式和并行的方式执行。
在MEC中,我们建议存储集群使用DHT进行媒体数据存储,而CPU或GPU集群使用带有媒体负载均衡器的多媒体处理程序并行执行模型,用于媒体计算。
如图4(a)所示,对于媒体存储,我们对数据跟踪器赋以与数据相关的独特键值,数据跟踪器用于管理媒体数据以何种方式分配到存储集群中。
对于媒体计算,我们使用程序跟踪器或所谓的负载均衡器,以分布方式安排媒体任务;接着,在MEC中由CPU或GPU集群执行媒体任务。
此外,我们在MEC内使用并行分布式多媒体处理来执行大型多媒体程序,如图4(b)所示。
具体来说,首先,我们可以在用户级别上执行媒体负载均衡[10]。
其次,我们可以在多媒体任务级别上运行并行媒体处理。
换句话说,我们提出的方法不仅在用户级别上实现了分布式负载平衡,而且在多媒体任务级别上实现了多媒体任务并行处理。
在下面的案例研究中,我们将进一步加以说明。
图4(a)用于多媒体服务的数据和程序跟踪器;(b)分布式并行多媒体处理
案例研究
为了进一步阐述我们前面所讨论的内容,我们将以Photosynth为例,来说明多媒体并行处理是如何工作的,以及它如何优于传统方法。
Photosynth()是一种应用软件,用于数码照片分析,并生成照片的三维(3-D)模型[11],[12]。
用户可以在客户端上使用该软件生成他们自己的模型,然后将它们上传到PhotoSynth网站。
目前,PhotoSynth图像计算是在本地PC完成的。
PhotoSynth的主要计算任务是图像转换、特征提取、图像匹配和重建。
在传统方式中,上述四项任务是在本地客户端按顺序执行的。
在云计算环境中,我们建议在MEC上执行PhotoSynth的四项计算任务。
对于移动设备而言,这一点尤为重要,因为他们的计算能力和电池续航能力都很有限。
在处理大量的用户时,为了减少计算时间,我们提出通过负载均衡器,进行基于云的并行合成,其中PhotoSynth算法在MEC的一个并行管道中运行。
我们所提出的并行合成包含了用户级别和任务级别的并行化。
图5显示了从用户级别的合成,其中来自一个用户的所有合成任务都分配到一台服务器上计算,而来自所有用户的任务则可以在MEC中同时并行完成。
图6显示了任务级别上的并行合成,其中来自一个用户的所有合成任务被分配到N个服务器上并行计算。
更具体地说,图像转换、特征提取、图像匹配的任务是在N个服务器上计算的。
根据图6的显示,从理论上说,如果忽略通信的固定开支,与使用一台服务器的情况相比,使用N个服务器的任务级别并行化执行时,图像转换、特征提取、图像匹配等环节可以节省N倍的计算时间。
图5MEC中的用户级别并行合成
图6MEC中的任务级别并行合成
我们进行了初步的模拟,其中我们在带有9台服务器的HPC群集节点上并行执行照片合成程序。
表1和表2分别列出了针对200张和400张图像的模拟结果。
我们可以从表1和表2中看到,在使用两台服务器的情况下,我们实现了相当于传统顺序方法1.65倍的计算增益;使用9台服务器的情况下,我们实现了相当于传统方法4.25倍的计算增益。
表1HPC群集中进行200张图像并行合成的模拟结果
表2HPC群集中进行400张图像并行合成的模拟结果
媒体云QoS
媒体云/MEC的另一项关键的挑战是QoS。
提供多媒体QoS配置的方式有两种:
一种是在目前的云计算基础设施中添加QoS;另一种是在云基础设施和多媒体应用之间添加QoS中间件。
在前一种情况下,着重于云基础设施的QoS,在云基础设施提供QoS配置,以支持具有不同媒体QoS要求的多媒体应用和服务。
在后一种情况下,着重于改善中间层的云QoS,例如传输层QoS,以及云基础设施和多媒体应用(例如层叠)之间的QoS映射。
云基础设施QoS是一个新领域,还需要进行更多的研究,以便为云中的多媒体应用和服务提供严格的QoS配置。
在本文中,我们侧重于云如何为多媒体应用和服务提供QoS配置。
具体来说,在MEC中,根据媒体服务的属性,我们将类型类似的媒体服务组织到最善于处理它们的同一个服务器集群中。
MEC由三个集群组成:
存储、CPU和GPU集群。
例如,与图形有关的媒体应用可以流向GPU集群,常规媒体处理可以流向CPU集群,存储类的媒体应用可以流向存储集群。
这样,一个MEC就可以为具有不同QoS要求的不同类型的多媒体提供QoS配置。
为了提高媒体云中多媒体的QoS,除了将媒体内容和计算转移至MEC以减少延迟,以及针对异构设备执行内容适配外,我们的架构中还提出了媒体云代理概念,以进一步减少延迟和最好地服务于不同类型的设备,尤其是适应手机移动设备的要求。
媒体云代理主要用于移动多媒体的计算和缓存。
由于手机电池续航时间和计算能力有限,可以通过媒体云代理来执行全部或部分的移动多媒体计算,以弥补手机的上述局限,完成对不同类型终端的QoS适配。
此外,媒体云代理也可以为手机提供媒体缓存。
未来的研究方向包括:
云计算基础设施QoS,针对多媒体服务的云计算QoSoverlay,多媒体动态负载均衡等。
云媒体
云计算的出现将对多媒体内容的整个生命周期产生深远影响。
如图7所示,典型的媒体生命周期由采集、存储、处理、分发和展示组成。
图7典型的媒体生命周期
在相当长的时期内,只有拥有专业设备的专业机构才能采集到优质媒体内容,媒体内容的分发则依赖于硬拷贝,如胶片、VCD和DVD。
近十年里,低成本商用数码相机和便携式摄像机的上市,使得用户生成的媒体内容迅猛增长。
最近,cyber-physical系统[13]通过传感器网络提供了一种新的数据采集方式,明显提高了媒体数据的容量和多样性。
在“Web2.0”浪潮中,用户现在可以非常容易地通过互联网分发或共享数字媒体内容。
YouTube的巨大成功展示了网络媒体的流行程度。
在云计算时代之前,媒体存储、处理和分发服务由拥有专有服务器群的不同服务提供商提供。
现在,各种服务提供商都可以选择成为公有云的用户。
公有云“量入为出”的模式将在极大程度上便利小型企业和多媒体爱好者使用资源。
对小型企业以及个人用户来说,他们只需为所使用的媒体计算和存储量付费,而不需要仅仅为了峰值负荷就要维护—大堆服务器。
对个人而言,云计算可以提供潜在的无限存储空间,使用起来要比购买硬盘更为方便。
下面我们将分别介绍媒体存储和共享、制作和编辑、编码转换和适配、媒体渲染、以及媒体搜索。
存储和共享
云存储的优点是用户可以在任何时间、任何设备上访问自己的文件,好友们更可以在任何时间访问相关内容。
另一个重要特点是,云存储的可靠性要比本地存储高得多。
云存储服务可以分成面向消费者的服务和面向开发人员的服务。
在面向消费者的云存储服务中,一些云供应商部署自己的服务器群,而一些云供应商则基于用户提供的物理存储设备提供服务。
IOmega()是一种面向消费者的云存储服务,它在自己的服务器上进行存储服务,从而只提供付费服务。
AllMyData()用1GB的主机空间换取用户的10GB空间,其主要投资是软件或服务,如数据加密、分段和分配以及备份。
亚马逊S3()和Openom()是面向开发人员的云存储服务。
AmazonS3是“只针对使用项目付费”的典型云,它没有最低收费,也没有起步费用,而是同时按存储容量及每GB带宽来收费。
在Openomy,文件纯粹按标记整理。
Openomy的特色是拥有一个可以公开调用的API(应用编程界面),并把主要重点放在标记上,而不是典型的文件系统层次上。
对于通用云供应商来说,像MicrosoftAzure(),还允许开发人员在其顶部构建存储服务。
例如,NeoGeo公司就在MicrosoftAzure基础上建立了自己的数字资源管理软件neoMediaCenter.NET.
共享是云服务不可分割的重要功能。
对轻松分享的需求是多媒体内容占据大部分云储存空间的主要原因。
从传统意义上讲,只有共享内容的发起者和接受者同时在线,并拥有高数据速率连接时,才会发生多媒体共享。
现在,云计算把这种“同步”过程转换成“异步”过程,使得一对多共享变得更加高效。
共享内容的发起者只需在自己方便的时候把内容上传到云存储器中,然后把超链接发送给要接受者即可。
因为云一直开通,所以接受者便可以在任何时间任何地点访问该内容。
通过云的共享也提高了媒体的QoS,这是因为云-端连接几乎总是能够提供比端到端连接更高的带宽和更短的延时,更不用说端到端沟通中经常发生的防火墙和网络地址翻译问题了。
基于云共享的复杂性主要在于命名、寻址和访问控制。
通过媒体流化,可以实现音乐和视频的瞬时共享。
与通过流化服务提供商专有服务器群运营的传统流化服务相比,基于云流化的服务可望实现非常短的时延。
这是因为云提供商在广泛的地理区域内部署了大量的服务器。
例如,流负载只针对那些对富媒体流化和托管感兴趣的人。
他们对付费用户提供无限量的存储空间,而收费标准则取决于下载所用的带宽。
在本文中,我们向大家介绍一种基于云的流化传送架构,与[14]中的视频流化结构相比,媒体云/MEC采用分布式媒体存储模块为数百万用户存储及传输压缩视频和音频流,对不同类型的设备采用QoS适配模块,如手机、个人电脑和电视。
虽然基于媒体云/MEC的流化结构为云流化的QoS配置提供了一个可能的解决方案,但仍有许多科研问题有待解决。
比如,考虑到云网络属性,需要开发一种新的云传送协议。
此外,多媒体内容对高带宽的要求也需研发动态负载平衡算法,专门针对基于云的媒体流化。
制作和编辑
多媒体制作是编辑多段多媒体内容的过程,编辑的重点则是把来自不同多媒体源的多个片段组合起来。
到目前为止,制作和编辑工具大体可分成两类:
一类是离线工具,如AdobePremiere、WindowsMovieMaker;另一类是在线服务,如Jaycut()。
离线工具提供的编辑功能较多,但客户端通常需要维护编辑软件。
而在线工具虽然提供的功能较少,但客户端通常不需要软件维护。
一般来说,制作和编辑耗时较长,多媒体内容也会占用大量的存储空间。
而云则可以大大提高制作和编辑的效率,为客户提供更多的功能,因为它拥有强大的计算能力和地域分布广泛的存储资源。
不仅如此,基于云的多媒体制作和编辑可以避免在客户端上预先安装编辑软件。
在本文中,我们向大家介绍基于云的在线多媒体制作和编辑框架。
在这个框架中,用户将媒体云进行多媒体的编辑和剪接。
基于云的制作和编辑面临的主要挑战之一是处理来自单一来源或多束源的多个片段的计算成本和通信成本。
为解决这一难题,在[15]的启迪下,我们为基于云的媒体制作和编辑提出了一种基于XML(可扩展标记语言)的文件格式。
如图8所示,这是一个描述文件,主要用来指示不同多媒体内容中的组织结构。
该文件在逻辑上被视为一个多层容器。
这些层可以是实体层,如视频层、音频层、图形层以及转换和效果层。
每一层的每一个分割可以是一个指向原始文件的链接以及相关的描述信息。
由于媒体云保留了大量的原始多媒体内容,和使用频繁的效果模板[16],因此,在制作或剪接过程中,通过这种基于链接的方式可明显降低云的计算负荷。
在我们的处理方法中,我们将选择一个MEC为包括手机用户在内的所有异构客户端提供制作或编辑服务。
通过在拥有手机代理的MEC中利用边缘服务器提供的帮助手机编辑可以实现较高的QoE。
关于基于云的多媒体制作和编辑的未来研究,需要解决云内分布式存储和处理、客户端在线预览等问题,特别要针对手机和平板设备。
图8基于云的多媒体制作和编辑
编码转换及适配
由于存在各种类型的终端(如个人电脑、手机、平板设备和电视)以及不同结构的网络(如以太网、WLAN和蜂窝网络),如何通过一个云,为异构设备有效提供多媒体内容就变得非常重要,也极具挑战性。
视频编码转换及适配[17],[18]在多媒体传输中发挥着重要作用。
它可以按照用户需求把输入视频变换成输出视频。
一般来说,视频编码转换及适配需要大量的计算,特别是当大量消费者同时请求服务时,执行起来尤为困难。
尽管有时可以非常有效地通过离线编码转码将一个视频转换成适应不同条件的多个版本,但它需要更大的存储容量。
此外,离线编码转换不能用于实时视频编码转换及适配服务,例如需要实时运行的IPTV。
由于云强大的计算和存储能力,云中既可离线,也可以在线实现到不用类型终端的媒体编码及适配。
云编码器是基于云的视频适配服务的一个很好的实例,它是建立在MicrosoftAzure平台之上[19]。
云编码器被集成到OriginDigital中央管理平台,同时把大部分处理能力转移到云中。
编码转换器的实例数量可自动成比例变化,以此来处理数据的增长或减少。
在本文中,我们以一种基于云的视频适配框架(如图9所示)为例经行分析。
媒体云中的视频适配将负责收集定制参数(如屏幕尺寸、带宽等),并根据离线或在线参数产生各种版本。
需要注意的是,前者需要更多的存储容量,而后者则需要动态视频适配。
能够执行在线媒体适配是媒体云与传统CDN的一个主要差异化特点。
需要指出的是,媒体边缘服务器的处理能力使服务供应商能够把更多的精力放在动态网络条件下的用户体验质量(QoE)上,而不再仅仅局限于某些预先定义的QoS指标。
在上述的框架中,针对单层视频适配和多层视频适配将以不同的方式来执行。
如果视频是单层的,那么视频适