一种基于在线分辨率提升的降低网络视频带宽占用方法与流程

文档序号:13682373阅读:210来源:国知局
技术领域本发明属于计算机视觉与图像处理领域,涉及降低网络视频带宽占用的方法,具体涉及一种基于分辨率提升的降低网络视频带宽占用方法。

背景技术:
随着视频获取、传输、存储、显示技术的发展,影视作品不断向着高分辨率发展。人们欣赏视频的口味也越来越高,不断追求高分辨率、高清晰度的影视作品。同时,高分辨率显示设备的出现(如4K、5K电视和显示器),又使高分辨率的影视作品的普及成为可能。近年来我国网络带宽不断提升,网络提速进程加快,很多在线视频网站已经开始提供4K超清片源。然而,若要在线流畅播放4K视频至少需要独占25Mbps带宽,一方面现阶段我国很多家庭用户网络带宽还达不到这一程度,另一方面在线视频服务商需要花费大量资金购买带宽。一部4K电影,按照现有的编码技术来说,动辄几十GB,甚至上百GB容量,耗费视频服务商和用户大量网络流量。解决这一问题的一种有效方法是进行在线分辨率提升。即在线视频服务商通过网络提供较低分辨率(如1080p、720p甚至更低)的视频,在播放时实时进行分辨率提升,转换为高分辨率(如4K或更高)视频。这样便能够达到既满足用户的观影需求又降低网络带宽占用和网络流量的目的。所谓的分辨率提升,是指将低分辨率的视频(或视频帧),通过一定方法,快速有效的生成一个高分辨率的视频。其难点在于如何突破原有低分辨率视频像素数量限制,填充本来不存在的像素点,既要保持原低分辨率视频的结构、纹理,又要在人眼看来更加自然合理。传统的分辨率提升方法,主要包括基于插值的方法和基于学习的方法。基于插值的方法是通过将已有的像素点进行线性组合,作为缺失的像素点。插值算法简单迅速,但是提升后的视频视觉效果并不理想。基于学习的算法通常利用一定数量的训练数据,训练得到低分辨率视频到高分辨率视频的映射关系,此类算法运算量大、速度慢,无法实现视频的实时分辨率提升。

技术实现要素:
本发明的技术解决问题是:本发明提供一种降低网络视频带宽占用的方法,将低分辨率的影视作品(通常低于720P)经过分辨率提升技术,实时转换为较高分辨率视频(如4K或更高),实现降低网络视频播放时的带宽占用,同时提供高分辨率、高画面质量的观影效果。本发明的技术解决方案为:一种基于在线分辨率提升的降低网络视频带宽占用方法,包括服务器端和客户端,包括以下步骤:①用户通过客户端向服务器端请求一部影视作品;②服务器端将该影视作品的低分辨率视频数据和对应的映射关系模型数据发送至客户端;③客户端接收到低分辨率视频数据和对应的映射关系模型数据后,利用映射关系模型将低分辨率视频转换为高分辨率视频,利用视频播放模块播放高分辨率视频。所述步骤②中的映射关系模型的建立步骤为:(1)选取任意一部高分辨率视频作为训练样本,将其拆分为高分辨率视频帧,并使用高斯核对视频帧进行卷积;(2)根据影视作品的低分辨率视频和目标高分辨率视频计算放大倍数,利用该倍数对卷积后的高分辨率视频帧进行隔行采样,得到对应的低分辨率视频帧;(3)将高分辨率视频帧和采样所得的低分辨率视频帧分别分割成块,作为训练数据;(4)初始化一个混合专家模型,使用步骤(3)得到的训练数据,对混合专家模型进行迭代优化,直到迭代过程收敛,最终得到的模型参数即为映射关系模型,包括专家函数参数和门函数参数。所述混合专家模型包括专家函数和门函数,具体表达式为:专家函数为:y=Wx其中W为专家参数,x和y分别表示低分辨率视频帧块和对应的高分辨率视频帧块;第i个门函数表示为:gi(x,vi)=exp(x-vi)2(Σj=1K(x-vj)2)-1]]>其中,x和y分别表示低分辨率视频帧块和对应的高分辨率视频帧块,vi表示第i个门函数参数,vj表示第j个门函数参数,K为混合专家模型中专家的个数。所述初始化混合专家模型的步骤为:①指定专家的数量K;②假定每个专家的概率分布服从高斯分布:p(y|x,Wi)=N(y(x,Wi),σ),其中Wi表示第i个专家的参数,σ为高斯分布的标准差。假定参数Wi的分布也服从高斯分布:p(Wi)=N(0,μ),其中μ表示高斯分布的均值。③采用k-均值算法将训练数据按照专家的数量K聚类,每个专家的参数的初始值Wi(0)指定为类内斜率,每个门函数参数的初始值vi(0)指定为聚类中心;④计算每一个门函数的初始值:gi(0)(x,vi(0))=exp(x-vi(0))2(Σj=1K(x-vj(0))2)-1]]>其中x表示低分辨率视频帧块,vi(0)表示第i个门函数参数的初始值,K为混合专家模型中专家的个数。所述对混合专家模型进行迭代优化的步骤为:①指定迭代终止时的允许误差ε;②计算本轮迭代中每个门函数的后验概率:hi(k+1)(x)=gi(k)(x,vi(k))pi(y|x,Wi(k))Σj=1Kgi(k)(x,vi(k))pj(y|x,Wj(k))]]>其中k为迭代步数,pi(y|x,Wi(k))和pj(y|x,Wj(k))表示专家的概率分布,gi(k)(x,vi(k))表示第i个门函数的第k步迭代值。③更新每个专家参数:Wi(k+1)=YHi(k+1)XTμ2XHi(k+1)XTμ2+σ2I]]>其中k为迭代步数,X为训练数据中的所有低分辨率块x组成的向量,Y为训练数据中所有高分辨率块y组成的向量,XT表示X的转置,I表示单位矩阵,Hi(k+1)表示第k+1步中第i个专家所对应的所有低分辨率块x的后验概率组成的向量。④更新每一个门函数参数:vi(k+1)=vi(k)-(x(t)-vi(k))Σt=1N(hi(k)(x(t))-gi(x(t),vi(k)))]]>其中表示第k步迭代中第i个门函数参数,为第k步迭代中第i个门函数的后验概率,x(t)表示第t个低分辨率块。⑤计算本轮迭代中每个门函数的输出:gi(k+1)(x,vi(k+1))=exp(x-vi(k+1))2(Σj=1K(x-vj(k+1))2)-1]]>⑥计算本轮迭代中的似然概率:Q(k+1)=Σt=1NΣi=1Khi(k+1)(x)(loggi(k+1)(x,vi(k+1))+logpi(y|x,Wi(k+1))p(Wi(k+1)))]]>其中,pi(y|x,Wi(k+1))表示专家的概率分布,p(Wi(k+1))表示专家参数的概率分布。⑦判断迭代是否收敛。当本轮迭代的似然概率与上一轮迭代的似然概率之差的绝对值小于迭代终止时的允许误差ε时,结束迭代。否则重复执行步骤②~⑦。所述步骤③中将低分辨率视频转换为高分辨率视频的步骤为:(1)将低分辨率视频数据拆分为低分辨率视频帧,并将低分辨率视频帧分割成块;(2)将步骤(1)得到的低分辨率视频帧块作为混合专家模型门函数的输入,并使用映射关系模型中的门函数参数计算每一个门函数的输出;(3)使用输出值最大的门函数所对应的专家函数的参数计算对应的高分辨率块,其步骤为:①计算取得最大输出值门函数的序号:i=argmax(gi)其中,gi为第i个门函数的输出;②使用第i个专家函数计算高分辨率视频帧块:y=Wix其中,Wi为第i个专家函数的参数,y为输入的低分辨率视频帧块x所对应的高分辨率视频帧块。(4)将所有的高分辨率块按照其对应的低分辨率块在低分辨率视频帧中的位置拼接为对应的高分辨率视频帧,将所有低分辨率视频帧对应的高分辨率视频帧后,将其组合为高分辨率视频。本发明与现有技术相比的优点在于:网络视频提供商将低分辨率视频和映射模型数据一起传输到用户的客户端(计算机、平板电脑、智能手机等),客户端的分辨率提升算法使用传输过来的模型将低分辨率视频进行分辨率提升,即可实时欣赏高分辨率视频。由于映射模型数据量很小,以这种方式进行影视作品实时在线播放,可以大幅度降低网络数据传输量。附图说明图1为本发明所述的基于在线分辨率提升的降低在线视频网络带宽方法的系统结构图。图2为本发明所述的基于在线分辨率提升的降低在线视频网络带宽方法的流程图。图3为本发明所述的将视频帧分割为视频帧块示意图。具体实施方式以下具体实施方式中以一个实例对本发明所述方法进行说明。如图1所示,为本发明所述的基于在线分辨率提升的降低在线视频网络带宽方法的系统结构图,包括服务器端和客户端,其中服务器端包括低分辨率视频数据库和映射关系模型数据库两部分,客户端包括客户(计算机、平板电脑、智能手机等),利用本发明所述方法时,网络视频提供商将低分辨率视频和映射模型数据一起传输到Internet中,在客户端请求传输一部影视作品时,从低分辨率影视作品数据库中检索到该视频,同时从映射关系模型数据库中检索到与该视频对应的映射关系模型数据,将二者同时通过互联网发送至客户端,之后用户的客户端(计算机、平板电脑、智能手机等)利用分辨率提升算法使用传输过来的模型将低分辨率视频进行分辨率提升,即可实时欣赏高分辨率视频。由于映射模型数据量很小,以这种方式进行影视作品实时在线播放,可以大幅度降低网络数据传输量,上述过程可以概括为:用户通过客户端向服务器请求一部影视作品,服务器端将低分辨率视频数据和对应的映射关系模型数据发送至客户端。客户端接收到数据后,分辨率提升模块使用映射关系模型数据将低分辨率视频进行分辨率提升,转换为高分辨率视频,视频播放模块播放分辨率提升后的视频。以下具体说明本发明所述的方法实现过程:本实施例中,本发明所述方法分为两部分实现:服务器端和客户端。服务器端用于离线创建映射关系模型;客户端用于根据映射关系模型实时对低分辨率影视作品进行分辨率提升播放。将一部原始分辨率为768*432的影视作品发送到客户端,并以3072*1728的分辨率播放的具体步骤为:①用户通过客户端向服务器端请求一部影视作品;②服务器端将该影视作品的低分辨率视频数据和对应的映射关系模型数据发送至客户端,该步骤具体又分为以下流程:(1)选取任意一部高分辨率视频作为训练样本,将其拆分为高分辨率视频帧,并使用高斯核对视频帧进行卷积;选择一部高分辨率影视作品,利用视频处理软件读入影视作品的视频流,将视频流中的每一帧保存为视频帧,本实施例中,影视作品长度为1200秒,帧速率为25帧/秒,所得视频帧总数为:1200*25=15000;对所得的视频帧使用均值为0,标准差为1的高斯核卷积;(2)根据影视作品的低分辨率视频和目标高分辨率视频计算放大倍数,利用该倍数对卷积后的高分辨率视频帧进行隔行采样,得到对应的低分辨率视频帧;获取原始低分辨率视频分辨率和目标分辨率,根据两者计算放大倍数。原始分辨率为768*432,目标分辨率为3072*1728,放大倍数为:3072/768=4。据此,将卷积后的视频帧下采样到原始大小的1/4,得到对应的低分辨率视频帧。(3)将高分辨率视频帧和采样所得的低分辨率视频帧分别分割成块,作为训练数据;把所得的每一幅低分辨率视频帧通过现有的分割标准,将其分割为大小为10×10像素的不重叠小块,如附图3所示,并从中选取1,000,000块作为训练数据。(4)初始化一个混合专家模型,使用步骤(3)得到的训练数据,对混合专家模型进行迭代优化,直到迭代过程收敛,最终得到的模型参数即为映射关系模型,包括专家函数参数和门函数参数。混合专家模型包括专家函数和门函数,具体表达式为:专家函数为:y=Wx其中W为专家参数,x和y分别表示低分辨率视频帧块和对应的高分辨率视频帧块;第i个门函数表示为:gi(x,vi)=exp(x-vi)2(Σj=1K(x-vj)2)-1]]>其中,x和y分别表示低分辨率视频帧块和对应的高分辨率视频帧块,vi表示第i个门函数参数,vj表示第j个门函数参数,K为混合专家模型中专家的个数。初始化混合专家模型的步骤为:(i)指定专家的数量K,本实施例中,取K=100;(ii)假定每个专家的概率分布服从高斯分布:p(y|x,Wi)=N(y(x,Wi),σ),其中Wi表示第i个专家的参数,σ为高斯分布的标准差。假定参数Wi的分布也服从高斯分布:p(Wi)=N(0,μ),其中μ表示高斯分布的均值。本实施例中,取σ=0.32,μ=0.58。(iii)采用k-均值算法将训练数据按照专家的数量K聚类,每个专家的参数的初始值Wi(0)指定为类内斜率,每个门函数参数的初始值vi(0)指定为聚类中心;(iv)计算每一个门函数的初始值:gi(0)(x,vi(0))=exp(x-vi(0))2(Σj=1K(x-vj(0))2)-1]]>其中x表示低分辨率视频帧块,vi(0)表示第i个门函数参数的初始值,K为混合专家模型中专家的个数。对混合专家模型进行迭代优化的步骤为:<1>指定迭代终止时的允许误差ε,本实施例中,取模型迭代终止所允许的误差ε=0.005。<2>计算本轮迭代中每个门函数的后验概率:hi(k+1)(x)gi(k)(x,vi(k))pi(y|x,Wi(k))Σj=1Kgi(k)(x,vi(k))pj(y|x,Wj(k))]]>其中k为迭代步数,pi(y|x,Wi(k))和pj(y|x,Wj(k))表示专家的概率分布,gi(k)(x,vi(k))表示第i个门函数的第k步迭代值。<3>更新每个专家参数:Wi(k+1)=YHi(k+1)XTμ2XHi(k+1)XTμ2+σ2I]]>其中k为迭代步数,X为训练数据中的所有低分辨率块x组成的向量,Y为训练数据中所有高分辨率块y组成的向量,XT表示X的转置,I表示单位矩阵,Hi(k+1)表示第k+1步中第i个专家所对应的所有低分辨率块x的后验概率组成的向量。<4>更新每一个门函数参数:vi(k+1)=vi(k)-(x(t)-vi(k))Σt=1N(hi(k)(x(t))-gi(x(t),vi(k)))]]>其中表示第k步迭代中第i个门函数参数,为第k步迭代中第i个门函数的后验概率,x(t)表示第t个低分辨率块。<5>计算本轮迭代中每个门函数的输出:gi(k+1)(x,vi(k+1))=exp(x-vi(k+1))2(Σj=1K(x-vj(k+1))2)-1]]><6>计算本轮迭代中的似然概率:Q(k+1)=Σt=1NΣi=1Khi(k+1)(x)(loggi(k+1)(x,vi(k+1))+logpi(y|x,Wi(k+1))p(Wi(k+1)))]]>其中,pi(y|x,Wi(k+1))表示专家的概率分布,p(Wi(k+1))表示专家参数的概率分布。<7>判断迭代是否收敛。当本轮迭代的似然概率与上一轮迭代的似然概率之差的绝对值小于迭代终止时的允许误差ε时,结束迭代。否则重复执行步骤<2>~<7>。迭代结束时得到的门函数参数vi、连同专家数量K、专家参数Wi、专家的概率分布的标准差σ和专家参数的概率分布的均值μ,一起作为最终的映射关系模型存储在服务器端磁盘中。当用户通过网络向服务器端发出播放视频请求时,服务器端通过网络将低分辨率视频连同存储的映射关系模型一同发送到客户端播放设备,如计算机、智能电视、智能机顶盒、智能手机、平板电脑等。客户端基于映射关系模型将低分辨率的影视作品进行分辨率提升后播放。③客户端接收到低分辨率视频数据和对应的映射关系模型数据后,利用映射关系模型将低分辨率视频转换为高分辨率视频,利用视频播放模块播放高分辨率视频。(1)将低分辨率视频数据拆分为低分辨率视频帧,本实施例中,影视作品长度为2000秒,帧速率为25帧/秒,所得视频帧总数为:2000*25=50000,将所得的低分辨率视频帧分割为10×10的视频帧块,如图3所示;(2)将步骤(1)得到的低分辨率视频帧块作为混合专家模型门函数的输入,并使用映射关系模型中的门函数参数计算每一个门函数的输出;gi(x,vi)=exp(x-vi)2(Σj=1K(x-vj)2)-1]]>其中,x为低分辨率视频帧块。K为混合专家模型中专家的个数,vi表示第i个门函数参数,并通过网络传输至客户端。(3)使用输出值最大的门函数所对应的专家函数的参数计算对应的高分辨率块,其步骤为:(i)计算取得最大输出值门函数的序号:i=argmax(gi)其中,gi为第i个门函数的输出;(ii)使用第i个专家函数计算高分辨率视频帧块:y=Wix,通过网络传输到客户端。x为低分辨率视频帧块,其大小为10×10。y为分辨率提升后的高分辨率视频帧块,大小为40×40。其中,Wi为第i个专家函数的参数,y为输入的低分辨率视频帧块x所对应的高分辨率视频帧块。(4)将所有的高分辨率块按照其对应的低分辨率块在低分辨率视频帧中的位置拼接为对应的高分辨率视频帧,将所有低分辨率视频帧对应的高分辨率视频帧后,将其组合为高分辨率视频。由于一部低分辨率影视作品和映射关系模型总共的数据量要远远小于一部高分辨率影视作品的数据量,因此本发明方法可以大大降低网络传输的带宽占用。在本实施例中,在线播放一部原始分辨率为768*432,时长为2000秒,帧速率为25帧/秒的影视作品,其数据量约为200M字节。如果直接传输高分辨率视频(分辨率为3072*1728),数据量约为3G字节,二者差值约为2.8G字节,远远大于映射关系模型的数据量。且原始视频的时长越长,帧速率越高,本发明在节省网络带宽方面的优势越明显。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1