
本发明涉及计算机视觉与数字图像处理领域,特别涉及一种基于云计算的虚拟视点合成的自适应卸载方法。
背景技术:
:随着移动互联网时代的来临以及智能移动端多核处理器记忆GPU等硬件处理设备的发展,移动端的功能越来越强大。这使越来越多的娱乐媒体活动慢慢的从PC机转移到了以移动端,移动端自由视点合成便是其主要方向之一。自由视点视频(FTV)可以为用户提供任意视点的场景图像,从而极大地增强用户的视觉体验效果,因而具有广阔的发展前景。如果能在移动终端上实现FTV,不仅能够极大地普及3D技术,而且还能够带来巨大的经济意义。为了将高质量的任意视点图像应用于FTV,MPEG组织开发了VSRS(ViewSynthesisReferenceSoftware)参考软件,此软件用两个参考视点纹理图和相应的深度图作为输入来生成一个合成的虚拟视点。但是,VSRS运行耗时非常长,其虚拟视点合成速度大约是2帧/秒,远小于实时播放下要求的30帧/秒。这就造成了VSRS在现实中的应用受到了限制,特别是PC端和移动端等终端设备上。随着云计算的流行,大量研究致力于将移动端应用中相对复杂的计算卸载到云端,以降低移动端的功耗。移动终端通过无线网络连接到云端,将本应在本地终端进行的计算工作及数据发送到云端,由云端多个虚拟机完成计算,以降低本地终端功耗。但是,现存的云卸载方案在卸载的同时会产生大量的功耗,也很难在降低本地功耗的同时获得高质量的合成的虚拟视点。技术实现要素:本发明的主要目的在于解决现有技术中云卸载方案很难在降低本地功耗的同时获得高质量的合成的虚拟视点的问题,提供一种基于移动端虚拟视点合成的云卸载方法及系统。本发明提供了一种基于移动端虚拟视点合成的云卸载方法,包括以下步骤:A1.将输入帧,包括左右视点的纹理图和深度图,平均分成n块,其中n为用户自行设定的将每帧视频分割的块数,n为大于1的整数;A2.参考上一帧分割块空洞数目,预测当前帧每一分割块进行视点合成的负载;A3.将每个图像块的负载代入云卸载模型,通过最小化移动端的功耗,得到分配结果,实现资源的动态分配;A4.根据A3分配结果,在云端或者在移动端分别对不同的图像块进行视点合成;A5.将云端和移动端合成的虚拟视点图像进行拼接,生成一个完整的虚拟视点。优选地,所述步骤A1中,将输入帧,包括左右视点的纹理图和深度图,平均分割成n块,分割为纵向分割或者横向分割,对左右视点的纹理图和深度图采用的分割方法完全相同。优选地,所述步骤A2中对分割后的每帧图像块进行负载预测:Ψ≈ΨF+ΨM,其中Ψ为每一块进行视点合成的负载,ΨF和ΨM分别为左右视点的纹理图向虚拟视点的映射的负载和左右视点向虚拟视点映射后的图像融合的负载;ΨF=2α1WH,其中,W和H分别为分割后的每块的宽度和高度;对于α1,把所有线程各自ForwardWarp()函数时间加在一起除以总的像素点,即ΨM≈α2(2WH-Θ),其中,Θ为空洞点的数目,对于α2,把所有线程各自Merge()函数时间加在一起除以总的非空洞像素点,即其中,TMerge()为Merge()函数时间,Nonholes为非空洞像素点。优选地,所述步骤A3中云卸载模型的表达式为:其中,为向量,如果Ii(i=1,2...n)为1,则第i块分配到云端进行虚拟视点合成,若Ii(i=1,2...n)为0,则在移动端进行视点合成;Pc为移动端在计算时的功耗,Pi为移动端闲置时的功耗,Ptr为移动端在数据传送时的功耗;Cm为分配到移动端的算法复杂度,Cc为分配到云端的算法复杂度;f为移动端的每秒处理速度,S为每秒云端的计算速度,D是云端和移动端传输的数据的大小,B为带宽;其中ψi(i=1,2,…,n)为第i块进行视点合成的负载,ft为当前设备的每秒处理速度;D=Dm+Dc,其中Dm和Dc分别为在移动端上和在云端进行视点合成时需要传输到移动端的数据。优选地,当视频在云端时,若某块需分配到移动端进行视点合成,需要传输到移动端的数据包括该合成块对应的左右视点的深度图和纹理图;当该块分配到云端进行视点合成时,需要传输到移动端的数据包括该合成块对应的左右视点的深度图和纹理图以及新合成的视点,即其中,W、H为当前块的宽度和高度,n为将一帧视频分割的块数,对应于YUV420,YUV422和YUV444的视频,γ分别为1.5,2和3。优选地,当视频在移动端时,若某块需分配到移动端进行视点合成,由于视频原来就存储在移动端,需要传输到移动端的数据为0;当该块分配到云端进行视点合成时,需要先将该合成块对应的左右视点的深度图和纹理图传输到云端进行视点合成,待合成完毕后,需要将合成后的视点传输回移动端,即其中,W、H为当前块的宽度和高度,n为将一帧视频分割的块数,对应于YUV420,YUV422和YUV444的视频,γ分别为1.5,2和3。优选地,所述步骤A4中在云端或者在移动端分别对不同的图像块进行视点合成,采用视点合成参考软件VSRS里的标准方法进行视点合成。优选地,所述步骤A5中将云端和移动端合成的虚拟视点图像进行拼接,是指将合成的每块视点拼成完整的一帧。本发明还提出一种基于移动端虚拟视点合成的云卸载系统,包括输入帧视点分割模块、负载预测模块、云卸载模块、虚拟视点合成模块、虚拟视点拼接模块;输入帧视点分割模块用于将输入的左右视点的深度图和纹理图的等份分割;负载预测模块用于预测分割后每块图像进行视点合成的负载;云卸载模块通过代入一帧中每块进行视点合成的负载,最小化移动端的功耗,得到分配结果,实现资源的动态分配;虚拟视点合成模块用于在移动端或云端进行虚拟视点合成;虚拟视点拼接模块用于将云端和移动端产生的虚拟视点图像进行拼接,输出一个完整的虚拟视点图像。本发明的有益效果为:使用本发明的基于移动端虚拟视点合成的云卸载方法或系统,对输入帧的左右视点的纹理图和深度图进行分割,预测各个分割块进行虚拟视点合成的负载,通过本发明提出的云卸载模型,将各个块分配到云端或者移动端进行虚拟视点合成,然后把各个子线程产生的虚拟视点图像进行拼接,产生一个完成的虚拟视点图像输出,不管待合成视点在云端还是在移动端,皆能够实现资源的动态分配,不仅能够提高虚拟视点合成的算法效率、降低移动端的功耗,而且还能高效地获取较高质量的合成的虚拟视点图像或者视频。附图说明图1是本发明实施例1中基于移动端虚拟视点合成的云卸载方法的流程图。图2是本发明实施例1中待合成视点在云端时的云卸载系统结构示意图。图3是本发明实施例1中待合成视点在移动端时的云卸载系统结构示意图。图4a和4d是本发明实施例2中没有使用云卸载模型时合成的虚拟视点的图像。图4b和4e是本发明实施例2中每帧视频被分割成4块时对应的合成的虚拟视点的图像。图4c和4f是本发明实施例2中每帧视频被分割成8块时对应的合成的虚拟视点的图像。具体实施方式下面结合具体实施方式并对照附图对本发明做进一步详细说明,应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。实施例1本实施例提供了一种基于移动端虚拟视点合成的云卸载方法及系统,其方法流程如附图1所示,包括如下步骤:A1.视点分割。将输入帧,包括左右视点的纹理图和深度图,等分成n块,其中n为用户自行设定的将每帧视频分割的块数,n为大于1的整数;分割可以为纵向分割或者横向分割,对输入的左右视点的纹理图和深度图采取的分割方法完全相同。A2.负载预测。参考上一帧分割块空洞数目,预测当前帧中每一分割块进行视点合成的负载;通过观察线程时间和执行视点合成各个函数所用时间之间的关系发现,线程执行的视点合成函数是DoOneFrame(),而且此函数中包含的子函数ForwardWarp()和Merge()执行时间占了总时间的94%以上,故可以得到如下的关系:Ψ≈ΨF+ΨM公式(1)其中Ψ为每一块进行视点合成的负载;ΨF和ΨM分别为参考视点向虚拟视点的映射的负载和左右视点向虚拟视点映射后的图像融合的负载。参考视点向虚拟视点的映射时,它的时间与像素的总数是成正比,即ΨF=2α1WH公式(2)其中,W和H分别为分割后的每块的宽度和高度;乘以2是因为有左右两幅图像;对于α1,把所有线程各自ForwardWarp()函数时间加在一起除以总的像素点,即对两种特征点执行融合,第一种是向虚拟视点映射后形成的空洞点,第二种是非空洞点,而且非空洞点越多,此函数执行时间越长,两者之间近乎成线性关系,即ΨM≈α2(2WH-Θ)公式(4)其中,Θ为空洞点的数目,对于α2,把所有线程各自Merge()函数时间加在一起除以总的非空洞像素点,即公式(5)分母求和的是整个图像的非空洞像素点的总数目。A3.云卸载模型动态分配资源。将每个图像块的负载,代入云端卸载模型,通过最小化移动端的功耗,得到分配结果,实现资源的动态分配;所述云卸载模型的表达式为:其中,为向量,如果Ii(i=1,2...n)为1,则第i块分配到云端进行虚拟视点合成,若Ii(i=1,2...n)为0,则在移动端进行视点合成;Pc为移动端在计算时的功耗,Pi为移动端闲置时的功耗,Ptr为移动端在数据传送时的功耗;Cm为分配到移动端的算法复杂度,Cc为分配到云端的算法复杂度;f为移动端的每秒处理速度,S为每秒云端的计算速度,D是云端和移动端传输的数据的大小,B为带宽。其中ψi(i=1,2,…,n)为第i块进行视点合成的负载,ft为当前设备的每秒处理速度。D=Dm+Dc公式(8)Dm和Dc分别为在移动端上和在云端进行视点合成时需要传输到移动端的数据。A4.移动端和云端视点合成。根据A3分配结果,在云端或者在移动端分别对分配到其平台上的不同的图像块进行虚拟视点合成,采用VSRS视频合成参考软件的方法;A5.图像拼接。将云端和移动端合成的虚拟视点图像进行拼接,生成一个完整的虚拟视点。然后在移动端输出一个完整的虚拟试点图像。本实施例的上述基于移动端虚拟视点合成的云卸载方法是在云卸载系统上实现的,该云卸载系统包括输入帧视点分割模块(1)、负载预测模块(2)、云卸载模块(3)、虚拟视点合成模块和虚拟视点拼接模块(6),其中虚拟视点合成模块又包括移动端虚拟视点合成模块(4)和云端虚拟视点合成模块(5)。输入帧视点分割模块(1)用于将输入的左右视点的深度图和纹理图的等份分割;负载预测模块(2)用于预测分割后每块图像进行视点合成的负载;云卸载模块(3)通过将一帧中每块进行视点合成的负载代入云卸载模型,最小化移动端的功耗,得到分配结果,实现资源的动态分配;移动端虚拟视点合成模块(4)和云端虚拟视点合成模块(5)分别设置在移动端和云端,分别用于在移动端和云端进行虚拟视点合成;虚拟视点拼接模块(6)设置在移动端,用于将云端和移动端产生的虚拟视点图像进行拼接,在移动端输出一个完整的虚拟视点图像。当视频在云端时,基于移动端虚拟视点合成的云卸载系统如附图2所示,输入帧视点分割模块(1)、负载预测模块(2)、云卸载模块(3)均设置在云端。此时,若某块需分配到移动端进行视点合成,需要传输到移动端的数据包括该合成块对应的左右视点的深度图和纹理图;当该块分配到云端进行视点合成时,需要传输到移动端的数据包括该合成块对应的左右视点的深度图和纹理图以及新合成的视点。因此,公式(8)中的Dm和Dc分别为:其中,W、H为当前块的宽度和高度,n为将一帧视频分割的块数,对应于YUV420,YUV422和YUV444的视频,γ分别为1.5,2和3。当视频在移动端时,基于移动端虚拟视点合成的云卸载系统如附图3所示,输入帧视点分割模块(1)、负载预测模块(2)、云卸载模块(3)均设置在移动端端。此时,若某块需分配到移动端进行视点合成,由于视频原来就存储在移动端,需要传输到移动端的数据为0;当该块分配到云端进行视点合成时,需要先将该合成块对应的左右视点的深度图和纹理图传输到云端进行视点合成,待合成完毕后,需要将合成后的视点传输回移动端。因此,公式(8)中的Dm和Dc分别为:其中,W、H为当前块的宽度和高度,n为将一帧视频分割的块数,对应于YUV420,YUV422和YUV444的视频,γ分别为1.5,2和3。实施例2本实施例的基于移动端虚拟视点合成的云卸载方法,包括如下步骤:A1.输入左右视点的深度和纹理视频,将每帧等分成n个图像块,4种视频对应的分割方法一致,其中n为用户自行设定的将每帧视频分割的块数,n为大于1的整数;A2.参考上一帧分割块空洞数目,预测当前帧每一分割块进行视点合成的负载;A3.将每个图像块的负载,代入云卸载模型:其中,为向量,如果Ii(i=1,2...n)为1,则第i块分配到云端进行虚拟视点合成,若Ii(i=1,2...n)为0,则在移动端进行视点合成;Pc为移动端在计算时的功耗,Pi为移动端闲置时的功耗,Ptr为移动端在数据传送时的功耗;Cm为分配到移动端的算法复杂度,Cc为分配到云端的算法复杂度;f为移动端的每秒处理速度,S为每秒云端的计算速度,D是云端和移动端传输的数据的大小,B为带宽。通过最小化移动端的功耗得到分配结果,实现资源的动态分配;A4.按照A3最优化得到的分配结果,分别在移动端或云端进行视点合成,生成视点合成图。A5.将云端和移动端合成的虚拟视点图像进行拼接,产生一个完整的虚拟视点输出。本实验的测试平台数据HPiPAQPDA,各数据参数为Pc为0.9W,Pi为0.3W,Ptr为1.3W。原来测试序列如表1所示。本实验采用国际视频测试常用的视频序列,为简便,每个视频序列均取前100帧。输入视点列表示的是输入的左右参考视点位置,合成视点列是待合成的虚拟视点,如Bookarrival序列的左参考视点是视点10,右参考视点是视点8,待合成的虚拟视点位置是视点9。表1输入的测试序列输入序列大小帧数输入视点合成视点Bookarrival1024x76810010,89Champagne_tower1280x96010039,4140Newspaper1024x7681004,65PoznanStreet1920x10801003,54Kendo1024x7681005,34Lovebird11024x7681006,87当测试平台为HPiPAQPDA,带宽分别为2Mbps、20Mbps、40Mbps、60Mbps和80Mbps时,使用本发明云卸载方法时移动端节省的能量百分比如下表2所示。表2云卸载动态资源分配结果和节省的能量百分比(%)在表2中,n=4和n=8分别表示为分割成4块和8块,表中的数据表示,相对于未使用本发明所提出云卸载方法,使用本发明的云卸载方法时移动端节省的能量的百分比。从表2中可以看出,当带宽较小时,传输数据功耗较大,此时大部分块会被分配到移动端,移动端节省的能量的百分比较小;当带宽较大时,传输功耗较小,此时大部分块会被卸载到云端,移动端节省的能量的百分比较大;而且,带宽越大,移动端节省的能量越多。使用本发明所提供的基于移动端虚拟视点合成的云卸载方法,得到的图像效果如附图4所示。图4a、图4d为没有使用云卸载方法时合成的虚拟视点的图像,图4b、图4e为每帧视频被分割成4块时对应的合成的虚拟视点的图像,图4c、图4f为每帧视频被分割成8块时对应的合成的虚拟视点的图像。由于并没有看到合成虚拟视点的区别,由此可知采用本发明提出的使用云卸载模型的虚拟视点合成方法,合成的虚拟视点的主观质量并没有下降。通过本实施例提出的云卸载方法,对输入帧的左右视点的纹理图和深度图进行分割,预测各个分割块进行虚拟视点合成的负载,通过云卸载模型,将各个块分配到云端或者移动端进行虚拟视点合成,然后把各个子线程产生的虚拟视点图像进行拼接,产生一个完成的虚拟视点图像输出。本发明根据上述思路,实现了基于云卸载模型的虚拟视点合成方法,提高了VSRS的虚拟视点合成效率,大大降低了移动端进行虚拟视点合成的功耗,为FTV在移动终端上的实现开辟了道路。以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属
技术领域:
的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。当前第1页1 2 3