视频流的超分辨率重建方法及装置
技术领域
本发明涉及图像处理技术领域,具体涉及一种视频流的超分辨率重建方法及装置。
背景技术
超分辨率算法是指由低分辨率图像恢复出高分辨率图像。高分辨率图像的像素密度更高,可以提供更多的细节。单幅图像的超分辨率算法主要分为三类:基于插值的方法、基于重建的方法和基于学习的方法。
目前,比较热门的是基于学习的方法中的基于深度神经网络的方法。基于深度神经网络的超分辨率方法中,主要采用的是CNN(Convolutional Neural Network,卷积神经网络)。如输入图像分辨率为MxN,经过CNN处理后,得到s倍放大的图像。从3层的超分辨率重建卷积神经网络到20层的VDSR,再到100层左右的EDSR。随着神经网络不断加深,计算量越来越大。
但是,发明人在实现本发明的过程中发现,现有技术针对于视频流的各个视频帧图像采用单一的技术进行超分辨率重建,这种处理方式效果较差或难以达到实时性的要求。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的视频流的超分辨率重建方法及装置。
根据本发明的一个方面,提供了一种视频流的超分辨率重建方法,包括:
将视频流中的目标视频帧图像划分为多个图像块,针对于任一图像块,检测该图像块的运动状态;
统计目标视频帧图像中满足预设条件的图像块所占的比例;其中,满足预设条件的图像块包括:运动状态为静止状态或者运动缓慢的图像块;
根据满足预设条件的图像块所占的比例确定重建帧率,根据重建帧率确定各个待重建视频帧图像;
基于预设的超分辨率网络模型,对各个待重建视频帧图像进行超分辨率重建,得到各个待重建视频帧图像的超分辨率重建结果;
采用预设的缩放算法对视频流逐帧进行放大,得到视频流各个视频帧图像的放大结果;
将各个待重建视频帧图像的超分辨率重建结果以及各个视频帧图像的放大结果进行融合,得到视频流的超分辨率重建结果。
可选地,基于预设的超分辨率网络模型,对各个待重建视频帧图像进行超分辨率重建,得到各个待重建视频帧图像的超分辨率重建结果进一步包括:
针对任一待重建视频帧图像,检测该待重建视频帧图像中各个图像块的运动状态以及纹理丰富程度;
根据各个图像块的运动状态以及纹理丰富程度确定目标图像块,其中,目标图像块包括:运动状态为静止状态或运动缓慢并且纹理丰富的图像块;
基于预设的第一超分辨率网络模型,对该待重建视频帧图像中的目标图像块进行重建,得到目标图像块的超分辨率重建结果;
基于预设的第二超分辨率网络模型,对该待重建视频帧图像中的其他图像块进行重建,得到其他图像块的超分辨率重建结果。
可选地,基于预设的第一超分辨率网络模型,对该待重建视频帧图像中的目标图像块进行重建进一步包括:
根据目标图像块所占的比例,选择相应深度的第一超分辨率网络模型,基于选择的第一超分辨率网络模型对目标图像块进行重建;
其中,目标图像块所占的比例越高,选择的第一超分辨率网络模型的深度越小。
可选地,将各个待重建视频帧图像的超分辨率重建结果以及各个视频帧图像的放大结果进行融合,得到视频流的超分辨率重建结果进一步包括:
针对任一视频帧图像的放大图像中的任一像素点,确定该像素点的放大结果的权重;以及确定该视频帧图像对应的超分辨率重建结果中该像素点的超分辨率重建结果的权重;
计算该像素点的放大结果以及该视频帧图像对应的超分辨率重建结果中该像素点的超分辨率重建结果的加权和,将加权结果确定为该像素点最终的超分辨率重建结果。
可选地,根据满足预设条件的图像块所占的比例确定重建帧率具体包括:
当满足预设条件的图像块所占的比例小于第一阈值时,确定重建帧率为第一帧率;
当满足预设条件的图像块所占的比例位于第一阈值到第二阈值之间时,确定重建帧率为第二帧率;其中,第二阈值大于第一阈值,第二帧率小于第一帧率;
当满足预设条件的图像块所占的比例大于第二阈值时,确定重建帧率为第三帧率;其中,第三帧率小于第二帧率;
则根据重建帧率确定各个待重建视频帧图像具体包括:
当重建帧率为第一帧率时,将每秒的视频帧图像中的各个视频帧图像确定为待重建视频帧图像;
当重建帧率为第二帧率时,将每秒的视频帧图像中的N个视频帧图像确定为待重建视频帧图像;其中,N为小于每秒的视频帧图像的总数量的数值;
当重建帧率为第三帧率时,将每秒的视频帧图像中的M个视频帧图像确定为待重建视频帧图像;其中,M小于N。
可选地,当重建帧率为第二帧率或者第三帧率时,确定该视频帧图像对应的待重建视频帧图像具体包括:
若该视频帧图像未被确认为待重建视频帧图像,将该视频帧图像之前最近的待重建视频帧图像确定为该视频帧图像对应的待重建视频帧图像。
可选地,检测该图像块的运动状态具体包括:
计算该图像块内各个像素点的亮度值与目标视频帧图像的前一个视频帧图像中与该图像块相对应的图像块内的各个像素点的亮度值的平均绝对误差;
若平均绝对误差不大于第三阈值,确定该图像块的运动状态为静止状态或者运动缓慢;
检测待重建视频帧图像中各个图像块的纹理丰富程度具体包括:
针对于待重建视频帧图像中的任一图像块,计算该图像块内各个像素点的梯度值,计算每个像素点的梯度值的和作为该图像块的梯度值;
若该图像块的梯度值不小于第四阈值,确定该图像块纹理丰富。
根据本发明的另一方面,提供了一种视频流的超分辨率重建装置,包括:
划分模块,适于将视频流中的目标视频帧图像划分为多个图像块;
检测模块,适于针对于任一图像块,检测该图像块的运动状态;
统计模块,适于统计所述目标视频帧图像中满足预设条件的图像块所占的比例;其中,所述满足预设条件的图像块包括:运动状态为静止状态或者运动缓慢的图像块;
目标确定模块,适于根据所述满足预设条件的图像块所占的比例确定重建帧率,根据重建帧率确定各个待重建视频帧图像;
重建模块,适于基于预设的超分辨率网络模型,对所述各个待重建视频帧图像进行超分辨率重建,得到各个待重建视频帧图像的超分辨率重建结果;
放大模块,适于采用预设的缩放算法对视频流逐帧进行放大,得到视频流各个视频帧图像的放大结果;
融合模块,适于将所述各个待重建视频帧图像的超分辨率重建结果以及各个视频帧图像的放大结果进行融合,得到视频流的超分辨率重建结果。
可选地,检测模块进一步适于:针对任一待重建视频帧图像,检测该待重建视频帧图像中各个图像块的运动状态以及纹理丰富程度;
则重建模块进一步适于:
根据各个图像块的运动状态以及纹理丰富程度确定目标图像块,其中,目标图像块包括:运动状态为静止状态或运动缓慢并且纹理丰富的图像块;
基于预设的第一超分辨率网络模型,对该待重建视频帧图像中的目标图像块进行重建,得到目标图像块的超分辨率重建结果;
基于预设的第二超分辨率网络模型,对该待重建视频帧图像中的其他图像块进行重建,得到其他图像块的超分辨率重建结果。
可选地,重建模块进一步适于:根据目标图像块所占的比例,选择相应深度的第一超分辨率网络模型,基于选择的第一超分辨率网络模型对目标图像块进行重建;其中,目标图像块所占的比例越高,选择的第一超分辨率网络模型的深度越小。
可选地,融合模块进一步适于:
针对任一视频帧图像的放大图像中的任一像素点,确定该像素点的放大结果的权重;以及确定该视频帧图像对应的超分辨率重建结果中该像素点的超分辨率重建结果的权重;
计算该像素点的放大结果以及该视频帧图像对应的超分辨率重建结果中该像素点的超分辨率重建结果的加权和,将加权结果确定为该像素点最终的超分辨率重建结果。
可选地,重建模块进一步适于:当满足预设条件的图像块所占的比例小于第一阈值时,确定重建帧率为第一帧率;
当满足预设条件的图像块所占的比例位于第一阈值到第二阈值之间时,确定重建帧率为第二帧率;其中,第二阈值大于第一阈值,第二帧率小于第一帧率;
当满足预设条件的图像块所占的比例大于第二阈值时,确定重建帧率为第三帧率;其中,第三帧率小于第二帧率;
则根据重建帧率确定各个待重建视频帧图像具体包括:
当重建帧率为第一帧率时,将每秒的视频帧图像中的各个视频帧图像确定为待重建视频帧图像;
当重建帧率为第二帧率时,将每秒的视频帧图像中的N个视频帧图像确定为待重建视频帧图像;其中,N为小于每秒的视频帧图像的总数量的数值;
当重建帧率为第三帧率时,将每秒的视频帧图像中的M个视频帧图像确定为待重建视频帧图像;其中,M小于N。
可选地,当重建帧率为第二帧率或者第三帧率时,融合模块进一步适于:
若该视频帧图像未被确认为待重建视频帧图像,将该视频帧图像之前最近的待重建视频帧图像确定为该视频帧图像对应的待重建视频帧图像。
可选地,检测模块进一步适于:计算该图像块内各个像素点的亮度值与目标视频帧图像的前一个视频帧图像中与该图像块相对应的图像块内的各个像素点的亮度值的平均绝对误差;
若平均绝对误差不大于第三阈值,确定该图像块的运动状态为静止状态或者运动缓慢;
检测模块进一步适于:
针对于待重建视频帧图像中的任一图像块,计算该图像块内各个像素点的梯度值,计算每个像素点的梯度值的和作为该图像块的梯度值;
若该图像块的梯度值不小于第四阈值,确定该图像块纹理丰富。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述视频流的超分辨率重建方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述视频流的超分辨率重建方法对应的操作。
根据本发明的视频流的超分辨率重建方法及装置,将视频流中的目标视频帧图像划分为多个图像块,针对于任一图像块,检测该图像块的运动状态;统计目标视频帧图像中满足预设条件的图像块所占的比例;其中,满足预设条件的图像块包括:运动状态为静止状态或者运动缓慢的图像块;根据满足预设条件的图像块所占的比例确定重建帧率,根据重建帧率确定各个待重建视频帧图像;基于预设的超分辨率网络模型,对各个待重建视频帧图像进行超分辨率重建,得到各个待重建视频帧图像的超分辨率重建结果;采用预设的缩放算法对视频流逐帧进行放大,得到视频流各个视频帧图像的放大结果;将各个待重建视频帧图像的超分辨率重建结果以及各个视频帧图像的放大结果进行融合,得到视频流的超分辨率重建结果。该方式通过视频的变化状态选择待重建视频帧图像,对待重建视频帧图像进行更精细的超分辨率处理,同时对每一个视频帧图像都进行放大,最终将神经网络的重建结果和放大结果进行融合得到超分辨率的视频流,实现了视频流的超分辨率重建,同时由于该方式是基于变帧率的方式对视频流进行超分辨率重建,能够满足实时性的要求,提升了视频流的视觉观看效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的视频流的超分辨率重建方法的流程图;
图2示出了本发明另一实施例提供的视频流的超分辨率重建方法的流程图;
图3示出了本发明实施例中的视频帧图像的示意图;
图4示出了本发明实施例中重建结果和放大结果进行融合的示意图;
图5示出了本发明实施例提供的视频流的超分辨率重建装置的结构示意图;
图6示出了本发明计算设备实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1示出了本发明实施例提供的视频流的超分辨率重建方法的流程图,如图1所示,该方法包括以下步骤:
步骤S101,将视频流中的目标视频帧图像划分为多个图像块,针对于任一图像块,检测该图像块的运动状态。
挑选视频流中的一帧图像作为目标视频帧图像,将目标视频帧图像划分为多个图像块,检测每一个图像块的运动状态。需要说明的是,本发明实施例中将图像块的运动状态区分为两种,即:静止状态或者运动缓慢和快速运动,其中,静止状态或者运动缓慢是一种运动状态。
步骤S102,统计目标视频帧图像中满足预设条件的图像块所占的比例;其中,满足预设条件的图像块包括:运动状态为静止状态或者运动缓慢的图像块。
统计目标视频帧中运动状态为静止状态或者运动缓慢的图像块所占的比例。其中,运动状态为静止状态或者运动缓慢的图像块所占的比例越高,表明视频内容的变化是缓慢的,反之,则表明视频内容的变化是快速的。
步骤S103,根据满足预设条件的图像块所占的比例确定重建帧率,根据重建帧率确定各个待重建视频帧图像。
其中,重建帧率决定了每秒的视频帧图像中待重建视频帧图像的数量,以帧率为60fps的视频流为例,若重建帧率为60fps,代表对每秒内的60个视频帧图像都需要进行超分辨率重建;若重建帧率为30fps,代表对每秒内60个视频帧图像中的30个视频帧图像需要进行超分辨率重建,如每隔一个视频帧图像进行超分辨率重建;若重建帧率为20fps,代表对每秒60个视频帧图像中的20个视频帧图像进行超分辨率重建,如每隔两个视频帧图像进行超分辨率重建。
根据运动状态为静止状态或者运动缓慢的图像块所占的比例,确定重建帧率,并根据重建帧率确定待重建视频帧图像。例如,如果运动状态为静止状态或者运动缓慢的图像块所占的比例越高,表明视频变化缓慢甚至是不变化的,比如每秒的60个视频帧图像中若干个视频帧图像都是不变的,在此情况下,无需对每一个视频帧图像都进行重建处理,仅筛部分视频帧图像进行重建即可。
步骤S104,基于预设的超分辨率网络模型,对各个待重建视频帧图像进行超分辨率重建,得到各个待重建视频帧图像的超分辨率重建结果。
其中,超分辨率网络模型为深度较大的神经网络模型,预先根据训练集训练得到超分辨率网络模型。基于超分辨率网络模型,对各个待重建视频帧图像进行超分辨率重建,得到各个待重建视频帧图像的超分辨率重建结果。
步骤S105,采用预设的缩放算法对视频流逐帧进行放大,得到视频流各个视频帧图像的放大结果。
采用常规的缩放方法对视频流的各个视频帧图像进行放大处理,得到各个视频帧图像的放大处理结果。
根据上述内容可知,本发明实施例中对视频流的视频帧图像的处理包括两个方面,一方面,使用较深的神经网络模型对待重建视频帧图像进行重建,另一方面,采取常规的放大方法对视频流逐帧进行放大处理。
步骤S106,将各个待重建视频帧图像的超分辨率重建结果以及各个视频帧图像的放大结果进行融合,得到视频流的超分辨率重建结果。
将各个待重建视频帧经过超分辨率网络模型进行重建所得到的超分辨率重建结果,以及逐帧进行放大所得到的放大结果进行融合,最终得到视频流的超分辨率重建结果,至此,完成了视频流的超分辨率重建。
根据本实施例所提供的视频流的超分辨率重建方法,将输入图像划分为块,根据静止或者运动缓慢的图像块在整帧图像中所占的比例,选择重建帧率,根据重建帧率确定待重建视频帧图像,对待重建视频帧图像采取神经网络的方法进行重建,并对视频流逐帧进行放大,最终将神经网络的重建结果与逐帧的放大结果进行融合,得到超分辨率的视频流。该方式通过视频的变化状态选择待重建视频帧图像,对待重建视频帧图像进行更精细的超分辨率处理,同时对每一个视频帧图像都进行放大,最终将神经网络的重建结果和放大结果进行融合得到超分辨率的视频流,实现了视频流的超分辨率重建,提升了视频流的视觉观看效果。
图2示出了本发明另一实施例提供的视频流的超分辨率重建方法的流程图,如图2所示,该方法包括以下步骤:
步骤S201,将视频流中的目标视频帧图像划分为多个图像块,针对于任一图像块,检测该图像块的运动状态。
挑选视频流中的一帧图像作为目标视频帧图像,将目标视频帧图像划分为M行N列的多个图像块,检测每一个图像块的运动状态。需要说明的是,本发明实施例中将图像块的运动状态区分为两种,即:静止状态或者运动缓慢、快速运动,其中,静止状态或者运动缓慢是一种运动状态。
具体地,计算该图像块内各个像素点的亮度值与目标视频帧图像的前一个视频帧图像中与该图像块相对应的图像块内的各个像素点的亮度值的平均绝对误差;若平均绝对误差不大于第一阈值,确定该图像块的运动状态为静止状态或者运动缓慢。
图3示出了本发明实施例中的视频帧图像的示意图,如图3所示,其中Fcur为目标视频帧图像,Fpre为目标视频帧图像的前一个视频帧图像,目标视频帧图像中的图像块Ac,其在MxN个图像块中的坐标为(m,n),前一个视频帧图像中相同位置图像块为图像块Ap,计算图像块Ac和图像块Ap的亮度值的平均绝对误差MAE。计算MAE的方法为:计算图像块Ac内每个像素点与图像块Ap内每个像素点的亮度的差值,取绝对值,将所有的亮度差值的绝对值相加,即为图像块Ac的MAE值。若MAE大于或等于设定的第三阈值T3,则认为图像块Ac为运动快速的,否则为静止状态或运动缓慢的。
MAE的具体计算公式为下面的公式一,其中,MAE(m,n)表示的是目标视频帧图像中第m行第n列的图像块的MAE,(i,j)表示的是像素点的坐标,Fcur(i,j)表示的是图像块Ac中位于(i,j)处的像素点的亮度值,Fpre(i,j)表示的是图像块Ap中位于(i,j)处的像素点的亮度值.
本发明实施例中,用S_flag(m,n)表示图像块运动检测的结果,1表示静止或运动缓慢,0表示运动,参见下面的公式二。
MAE(m,n)=∑(i,j)∈Ac|Fcur(i,j)-Fpre(i,j)| (公式一)
步骤S202,统计目标视频帧图像中满足预设条件的图像块所占的比例;其中,满足预设条件的图像块包括:运动状态为静止状态或者运动缓慢的图像块。
统计静止或运动缓慢的图像块在整帧图像中占的比例ratio_static,计算公式如下公式三:
步骤S203,根据满足预设条件的图像块所占的比例确定重建帧率,根据重建帧率确定各个待重建视频帧图像。
本步骤的具体实施方式如下:
当满足预设条件的图像块所占的比例小于第一阈值时,确定重建帧率为第一帧率。当重建帧率为第一帧率时,将每秒的视频帧图像中的各个视频帧图像确定为待重建视频帧图像。
当满足预设条件的图像块所占的比例位于第一阈值到第二阈值之间时,确定重建帧率为第二帧率;其中,第二阈值大于第一阈值,第二帧率小于第一帧率。当重建帧率为第二帧率时,将每秒的视频帧图像中的N个视频帧图像确定为待重建视频帧图像;其中,N为小于每秒的视频帧图像的总数量的数值。
当满足预设条件的图像块所占的比例大于第二阈值时,确定重建帧率为第三帧率;其中,第三帧率小于第二帧率。当重建帧率为第三帧率时,将每秒的视频帧图像中的M个视频帧图像确定为待重建视频帧图像;其中,M小于N。
目标视频帧图像内静止状态或者运动缓慢的图像块所占的比例越高,目标视频帧图像内快速运动图像块越少,表明视频内容的变化较小,则无需对每一个视频帧图像都进行精细化的重建,筛选出部分视频帧图像进行精细化的重建即可。相反,目标视频帧图像内静止状态或者运动缓慢的图像块所占的比例越低,目标视频帧图像内快速运动图像块越多,表明视频内容的变化是较大的,则需要对越多的视频帧图像甚至每一个视频帧图像进行精细化重建。
下面以一个具体的示例进行说明,该示例中,例如,视频流的帧率60fps的视频,重建帧率可以分为60fps,30fps,20fps。重建的帧率SR_fps的计算公式如下的公式四:
其中,当静止状态或者运动缓慢的图像块所占的比例小于T1(第一阈值)时,重建帧率SR_fps为60fps,在此情况下,将每一个视频帧图像确定为待重建视频帧图像;当静止状态或者运动缓慢的图像块所占的比例大于或等于T1且小于T2(即第二阈值)时,重建帧率SR_fps为30fps,在此情况下,每隔一个视频帧图像,将视频帧图像确定为待重建视频帧图像;当静止状态或者运动缓慢的图像块所占的比例大于或等于T4时,重建帧率SR_fps为20fps,在此情况下,每隔两个视频帧图像,将视频帧图像确定为待重建视频帧图像。
步骤S204,针对任一待重建视频帧图像,检测该待重建视频帧图像中各个图像块的运动状态以及纹理丰富程度。
针对每一个待重建视频帧图像,对该待重建视频帧中各个图像块检测运动状态以及纹理丰富程度。其中,图像运动块的检测方式参见上述内容中相应的描述,在此不进行赘述。
检测图像块的纹理丰富程度的具体实施方式如下:针对于待重建视频帧图像中的任一图像块,计算该图像块内各个像素点的梯度值,计算每个像素点的梯度值的和作为该图像块的梯度值;若该图像块的梯度值不小于第四阈值,确定该图像块纹理丰富。
举例来说,计算图像块内每个像素点在水平和垂直方向上的梯度,具体地,对每个像素进行水平和垂直方向上的滤波,如进行水平反向和垂直方向上[-1,2,-1]的滤波,将水平滤波结果的绝对值与垂直滤波结果的绝对值相加,作为该像素梯度值。将图像块内所有像素点的梯度值相加,作为整个图像块的梯度值Grad(m,n)。若图像块的梯度值大于或等于设定的第四阈值T4,则认为该图像块属于纹理丰富的块,否则为纹理不丰富的块。用T_flag(m,n)表示该块纹理划分结果,1表示纹理丰富的块,0表示纹理不丰富的块,参见如下的公式五。
步骤S205,根据各个图像块的运动状态以及纹理丰富程度确定目标图像块,其中,目标图像块包括:运动状态为静止状态或运动缓慢并且纹理丰富的图像块。
检测到待重建视频帧图像中各个图像块的运动状态和纹理丰富程度之后,根据各个图像块的运动状态和纹理丰富程度,将静止或者运动缓慢且纹理丰富的图像块确定为目标图像块,目标图像块也就是需要使用第一超分辨率网络模型进行重建的图像块。
用SR_flag标记是否需要使用第一超分辨率网络模型进行超分辨率重建的块。静止或运动缓慢且纹理丰富的图像块需要进行第一超分辨率网络模型的超分辨率重建,其他块可使用传统方法或较浅的神经网络进行超分辨率重建,参见如下的公式六。
其中,图像块的SR_flag(m,n)=1时,该图像块为需要使用第一超分辨率网络模型进行重建的图像块,图像块的SR_flag(m,n)=0时,该图像块为需要使用第二超分辨率网络模型进行重建,将在后面进行详述。
步骤S206,基于预设的第一超分辨率网络模型,对该待重建视频帧图像中的目标图像块进行重建,得到目标图像块的超分辨率重建结果。
具体地,根据目标图像块所占的比例,选择相应深度的第一超分辨率网络模型,基于选择的第一超分辨率网络模型对目标图像块进行重建;其中,目标图像块所占的比例越高,选择的第一超分辨率网络模型的深度越小。
统计静止或运动缓慢且纹理丰富的图像块在整帧图像中占的比例ratio_SR,计算公式参见如下的公式七。根据所占的比例选择第一超分辨率网络模型的神经网络的深度。
ratio_SR越高,说明需要用神经网络进行超分辨率重建的块越多,由于神经网络越深,超分辨率重建的方法复杂度越高,为了保证处理的实时性,只能采用较浅的神经网络;随着ratio_SR的降低,神经网络的深度可以有所增加。也就是说,目标图像块所占的比例越高,则选择的第一超分辨率网络模型的深度越小,而目标图像块所占的比例越低,则选择的第一超分辨率网络模型的深度越大。
步骤S207,基于预设的第二超分辨率网络模型,对该待重建视频帧图像中的其他图像块进行重建,得到其他图像块的超分辨率重建结果。
需要说明的是,上述第一超分辨率网络模型与第二超分辨率网络模型是不同的模型,具体应用中,第一超分辨率网络模型的重建结果的质量优于第二超分辨率网络模型的重建结果的质量,例如,相比于第一超分辨率网络模型,第二超分辨率网络模型可以是较浅的神经网络模型。
对待重建视频帧图像中除了目标图像块之外的其他图像块,也即SR_flag(m,n)=0的图像块,采用预设的第二超分辨率网络模型进行重建,得到其他图像块的超分辨率重建结果。
根据上述内容可知,本实施例中针对于待重建视频帧图像的超分辨率重建包括两方面:一方面,基于第一超分辨率网络模型,对目标图像块进行的重建;另一方面,基于第二超分辨率网络模型,对待重建视频帧图像的除目标图像块之外的图像块进行的重建。
步骤S208,采用预设的缩放算法对视频流逐帧进行放大,得到视频流各个视频帧图像的放大结果。
采用常规的缩放方法对视频流的各个视频帧图像进行放大处理,如采用多相位滤波器的方法逐帧进行放大,得到各个视频帧图像的放大处理结果。
步骤S209,针对任一视频帧图像的放大图像中的任一像素点,确定该像素点的放大结果的权重;确定该视频帧图像对应的超分辨率重建结果中该像素点的超分辨率重建结果的权重。
如果视频帧图像被确定为待重建视频帧图像,该视频帧图像本身具有超分辨率重建结果。如果视频帧图像未被确定为待重建视频帧图像,则该视频帧图像对应的超分辨率重建结果就是其之前最近的待重建视频帧图像的超分辨率重建结果。根据上述内容可知,当重建帧率为第一帧率时,每一个视频帧图像都会被确定为待重建视频帧图像。当重建帧率为第二帧率或者第三帧率时,部分视频帧图像会被确定为待重建视频帧图像,则当视频帧图像未被确定为待重建视频帧图像时,该视频帧图像对应的超分辨率重建结果就是该视频帧图像之前最近的待重建视频帧图像的超分辨率重建结果。
视频帧图像的放大图像也就是视频帧图像经过放大处理所得到的图像,对于任一视频帧图像的放大图像,针对该放大图像中的任一像素点,确定该像素点的放大结果的权重,以及该视频帧图像所对应的超分辨率重建结果中该像素点的超分辨率结果的权重。
以重建帧率为第一帧率为例,重建帧率为第一帧率时,每一个视频帧图像都是待重建视频帧图像,该示例中,基于神经网络的超分辨率重建是逐帧进行的,基于缩放算法的放大处理也是逐帧进行的。以视频流的第S秒内的第T个视频帧图像(为了便于描述,以下称视频帧图像ST)为例,进行融合时,针对于视频帧图像ST对应的放大图像中的像素点Q,确定其放大结果的权重。同时,视频帧图像ST对应的重建图像中位置与像素点Q的位置一致的像素点为Q’,则视频帧图像ST的超分辨率重建结果中像素点Q对应的超分辨率重建结果也就是像素点Q’的超分辨率重建结果,然后,确定其权重。
步骤S210,计算该像素点的放大结果以及该视频帧图像对应的超分辨率重建结果中该像素点的超分辨率重建结果加权和,将加权结果确定为该像素点最终的超分辨率重建结果。
按照确定的权重,计算该像素点的放大结果以及该视频帧图像对应的超分辨率重建结果中该像素点的超分辨率重建结果的加权和,加权结果就是融合结果,也就是该像素点最终的超分辨率重建结果。也即,像素点Q的放大结果和像素点Q’的超分辨率重建结果的加权和。其中,像素点的放大结果和像素点的超分辨率重建结果都是指的色彩值,例如RGB值等。
在一种实施方式中,根据该视频帧图像中与该像素点相对应的图像块的运动状态和纹理丰富程度的标记值,确定该像素点的放大结果的权重和该视频帧图像对应的超分辨率重建结果中该像素点的超分辨率重建结果的权重。融合处理的实施方式如下:
针对于视频帧图像的放大图像中的任一像素点,令该每个像素点的pix_SR_flag等于其对应到该视频帧图像中所在图像块的SR_flag,然后对该像素点的KxL窗口大小内各个像素点的pix_SR_flag求平均,作为视频帧图像对应的超分辨率重建结果中该像素点的超分辨率重建结果的权重w。如上所述,SR_flag表征的是图像块的运动状态和纹理丰富程度,在此不进行赘述。最终该像素点的重建结果等于:
Out(i,j)=w(i,j)*SRout(i,j)+(1-w(i,j))*Fout(i,j)
其中,w(i,j)代表的是视频帧图像对应的超分辨率重建结果中像素点(i,j)按照上述方法计算出的权重,SRout(i,j)代表的是视频帧图像对应的超分辨率重建结果中像素点(i,j)对应的超分辨率重建结果,Fout(i,j)代表的是视频帧图像的放大结果中像素点(i,j)的放大结果。
由此可见,本发明实施例在具体实施时,需要检测视频流中每一个视频帧图像中的图像块的运动状态和纹理丰富程度,并且,对于每一个视频帧图像来说,其本身的图像块的运动状态和纹理丰富程度,决定了该视频帧图像使用其对应的超分辨率重建结果以及放大结果的权重。举例来说,对于一个非待重建视频帧图像来说,虽然用的是前一个待重建视频帧图像的超分辨率重建结果,但其权重却是由其本身的运动状态和纹理丰富程度所决定的。
上述内容中以视频帧图像对应的放大图像中的一个像素点为例,对融合方式进行了描述,而针对于每一个视频帧图像,都按照上述像素级别的融合方式进行融合,就能够得到每一个视频帧图像的超分辨率重建结果,进而得到超分辨率重建后的视频流。
其中,当重建帧率为第二帧率或者第三帧率时,并且,当视频帧图像未被确定为待重建视频帧图像时,将该视频帧图像的放大结果,以及该视频帧图像之前最近的待重建视频帧图像的超分辨率重建结果进行融合。当视频帧图像不是待重建视频帧图像时,那么就不会对视频帧采用神经网络进行重建,融合时,就把该视频帧图像的前一个待处理视频帧图像的超分辨率重建结果作为该视频帧图像的超分辨率重建结果,然后,将该视频帧图像的放大结果及其超分辨率重建结果进行融合。放大结果和超分辨率重建结果融合的实施方式参见上述内容,在此不进行赘述。
下面以图4为例来说明本发明实施例中融合的具体实施方式,图4示出了本发明实施例中重建结果和放大结果进行融合的示意图。如图4所示,该示例中视频流的帧率为60fps,重建帧率为30fps,也即每隔一帧进行神经网络的高分辨率重建。输入视频帧图像包括LRn-2、LRn-1、LRn、LRn+1,由于是每隔一个视频帧进行超分辨率重建,则对LRn-2和LRn进行超分辨率重建,得到超分辨率重建结果SRn-2和SRn。同时,按照缩放方法逐帧进行放大,得到放大结果HRn-2、HRn-1、HRn、HRn+1。
融合时,将视频帧图像LRn-2的超分辨率重建结果SRn-2及其放大结果HRn-2进行融合,得到视频帧图像LRn-2最终的超分辨率重建结果HROn-2;将视频帧图像LRn-2的超分辨率重建结果SRn-2,以及视频帧图像LRn-1的放大结果HRn-1进行融合,得到视频帧图像LRn-1最终的超分辨率重建结果HROn-1;将视频帧图像LRn的超分辨率重建结果SRn及其放大结果HRn进行融合,得到视频帧图像LRn最终的超分辨率重建结果HROn;将视频帧图像LRn的超分辨率重建结果SRn,以及视频帧图像LRn+1的放大结果HRn+1进行融合,得到视频帧图像LRn+1最终的超分辨率重建结果HROn+1。
根据本实施例的视频流的超分辨率重建方法,将输入图像划分为块,统计静止或者运动缓慢的图像块所占的比例,选择重建帧率,基于重建帧率确定需要进行精细化重建的视频帧图像,相当于调整了视频的帧率,因此,该方式是一种视频流变帧率的重建方式。对于静止或者运动缓慢且纹理丰富的图像块,采用较复杂的深层神经网络进行超分辨率重建,与逐帧传统缩放算法处理的结果进行融合,能够获得更精细的超分辨率重建结果和更好的视觉观看效果。同时,还能够根据静止或者运动缓慢且纹理丰富的图像块所占的比例,选择神经网络的深度,从而能够提升处理的效率。
图5示出了本发明实施例提供的视频流的超分辨率重建装置的结构示意图,如图5所示,该装置包括:
划分模块51,适于将视频流中的目标视频帧图像划分为多个图像块;
检测模块52,适于针对于任一图像块,检测该图像块的运动状态;
统计模块53,适于统计所述目标视频帧图像中满足预设条件的图像块所占的比例;其中,所述满足预设条件的图像块包括:运动状态为静止状态或者运动缓慢的图像块;
目标确定模块54,适于根据所述满足预设条件的图像块所占的比例确定重建帧率,根据重建帧率确定各个待重建视频帧图像;
重建模块55,适于基于预设的超分辨率网络模型,对所述各个待重建视频帧图像进行超分辨率重建,得到各个待重建视频帧图像的超分辨率重建结果;
放大模块56,适于采用预设的缩放算法对视频流逐帧进行放大,得到视频流各个视频帧图像的放大结果;
融合模块57,适于将所述各个待重建视频帧图像的超分辨率重建结果以及各个视频帧图像的放大结果进行融合,得到视频流的超分辨率重建结果。
可选地,检测模块52进一步适于:针对任一待重建视频帧图像,检测该待重建视频帧图像中各个图像块的运动状态以及纹理丰富程度;
则重建模块55进一步适于:
根据各个图像块的运动状态以及纹理丰富程度确定目标图像块,其中,目标图像块包括:运动状态为静止状态或运动缓慢并且纹理丰富的图像块;
基于预设的第一超分辨率网络模型,对该待重建视频帧图像中的目标图像块进行重建,得到目标图像块的超分辨率重建结果;
基于预设的第二超分辨率网络模型,对该待重建视频帧图像中的其他图像块进行重建,得到其他图像块的超分辨率重建结果。
可选地,重建模块55进一步适于:根据目标图像块所占的比例,选择相应深度的第一超分辨率网络模型,基于选择的第一超分辨率网络模型对目标图像块进行重建;其中,目标图像块所占的比例越高,选择的第一超分辨率网络模型的深度越小。
可选地,融合模块57进一步适于:
针对任一视频帧图像的放大图像中的任一像素点,确定该像素点的放大结果的权重;以及确定该视频帧图像对应的超分辨率重建结果中该像素点的超分辨率重建结果的权重;
计算该像素点的放大结果以及该视频帧图像对应的超分辨率重建结果中该像素点的超分辨率重建结果的加权和,将加权结果确定为该像素点最终的超分辨率重建结果。
可选地,重建模块55进一步适于:当满足预设条件的图像块所占的比例小于第一阈值时,确定重建帧率为第一帧率;
当满足预设条件的图像块所占的比例位于第一阈值到第二阈值之间时,确定重建帧率为第二帧率;其中,第二阈值大于第一阈值,第二帧率小于第一帧率;
当满足预设条件的图像块所占的比例大于第二阈值时,确定重建帧率为第三帧率;其中,第三帧率小于第二帧率;
则根据重建帧率确定各个待重建视频帧图像具体包括:
当重建帧率为第一帧率时,将每秒的视频帧图像中的各个视频帧图像确定为待重建视频帧图像;
当重建帧率为第二帧率时,将每秒的视频帧图像中的N个视频帧图像确定为待重建视频帧图像;其中,N为小于每秒的视频帧图像的总数量的数值;
当重建帧率为第三帧率时,将每秒的视频帧图像中的M个视频帧图像确定为待重建视频帧图像;其中,M小于N。
可选地,当重建帧率为第二帧率或者第三帧率时,融合模块进一步适于:
若该视频帧图像未被确认为待重建视频帧图像,将该视频帧图像之前最近的待重建视频帧图像确定为该视频帧图像对应的待重建视频帧图像。
可选地,检测模块52进一步适于:计算该图像块内各个像素点的亮度值与目标视频帧图像的前一个视频帧图像中与该图像块相对应的图像块内的各个像素点的亮度值的平均绝对误差;
若平均绝对误差不大于第三阈值,确定该图像块的运动状态为静止状态或者运动缓慢;
检测模块52进一步适于:
针对于待重建视频帧图像中的任一图像块,计算该图像块内各个像素点的梯度值,计算每个像素点的梯度值的和作为该图像块的梯度值;
若该图像块的梯度值不小于第四阈值,确定该图像块纹理丰富。
本发明实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的视频流的超分辨率重建方法。
可执行指令具体可以用于使得处理器执行以下操作:
将视频流中的目标视频帧图像划分为多个图像块,针对于任一图像块,检测该图像块的运动状态;
统计目标视频帧图像中满足预设条件的图像块所占的比例;其中,满足预设条件的图像块包括:运动状态为静止状态或者运动缓慢的图像块;
根据满足预设条件的图像块所占的比例确定重建帧率,根据重建帧率确定各个待重建视频帧图像;
基于预设的超分辨率网络模型,对各个待重建视频帧图像进行超分辨率重建,得到各个待重建视频帧图像的超分辨率重建结果;
采用预设的缩放算法对视频流逐帧进行放大,得到视频流各个视频帧图像的放大结果;
将各个待重建视频帧图像的超分辨率重建结果以及各个视频帧图像的放大结果进行融合,得到视频流的超分辨率重建结果。
在一种可选的方式中,所述可执行指令使所述处理器执行以下操作:
针对任一待重建视频帧图像,检测该待重建视频帧图像中各个图像块的运动状态以及纹理丰富程度;
根据各个图像块的运动状态以及纹理丰富程度确定目标图像块,其中,目标图像块包括:运动状态为静止状态或运动缓慢并且纹理丰富的图像块;
基于预设的第一超分辨率网络模型,对该待重建视频帧图像中的目标图像块进行重建,得到目标图像块的超分辨率重建结果;
基于预设的第二超分辨率网络模型,对该待重建视频帧图像中的其他图像块进行重建,得到其他图像块的超分辨率重建结果。
在一种可选的方式中,所述可执行指令使所述处理器执行以下操作:
根据目标图像块所占的比例,选择相应深度的第一超分辨率网络模型,基于选择的第一超分辨率网络模型对目标图像块进行重建;
其中,目标图像块所占的比例越高,选择的第一超分辨率网络模型的深度越小。
在一种可选的方式中,所述可执行指令使所述处理器执行以下操作:
针对任一视频帧图像的放大图像中的任一像素点,确定该像素点的放大结果的权重;以及确定该视频帧图像对应的超分辨率重建结果中该像素点的超分辨率重建结果的权重;
计算该像素点的放大结果以及该视频帧图像对应的超分辨率重建结果中该像素点的超分辨率重建结果的加权和,将加权结果确定为该像素点最终的超分辨率重建结果。
在一种可选的方式中,所述可执行指令使所述处理器执行以下操作:
当满足预设条件的图像块所占的比例小于第一阈值时,确定重建帧率为第一帧率;
当满足预设条件的图像块所占的比例位于第一阈值到第二阈值之间时,确定重建帧率为第二帧率;其中,第二阈值大于第一阈值,第二帧率小于第一帧率;
当满足预设条件的图像块所占的比例大于第二阈值时,确定重建帧率为第三帧率;其中,第三帧率小于第二帧率;
当重建帧率为第一帧率时,将每秒的视频帧图像中的各个视频帧图像确定为待重建视频帧图像;
当重建帧率为第二帧率时,将每秒的视频帧图像中的N个视频帧图像确定为待重建视频帧图像;其中,N为小于每秒的视频帧图像的总数量的数值;
当重建帧率为第三帧率时,将每秒的视频帧图像中的M个视频帧图像确定为待重建视频帧图像;其中,M小于N。
在一种可选的方式中,当重建帧率为第二帧率或者第三帧率时,所述可执行指令使所述处理器执行以下操作:
若该视频帧图像未被确认为待重建视频帧图像,将该视频帧图像之前最近的待重建视频帧图像确定为该视频帧图像对应的待重建视频帧图像。
在一种可选的方式中,所述可执行指令使所述处理器执行以下操作:
计算该图像块内各个像素点的亮度值与目标视频帧图像的前一个视频帧图像中与该图像块相对应的图像块内的各个像素点的亮度值的平均绝对误差;
若平均绝对误差不大于第三阈值,确定该图像块的运动状态为静止状态或者运动缓慢;
针对于待重建视频帧图像中的任一图像块,计算该图像块内各个像素点的梯度值,计算每个像素点的梯度值的和作为该图像块的梯度值;
若该图像块的梯度值不小于第四阈值,确定该图像块纹理丰富。
图6示出了本发明计算设备实施例的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图6所示,该计算设备可以包括:处理器(processor)602、通信接口(Communications Interface)604、存储器(memory)606、以及通信总线608。
其中:处理器602、通信接口604、以及存储器606通过通信总线608完成相互间的通信。通信接口604,用于与其它设备比如客户端或其它服务器等的网元通信。处理器602,用于执行程序610,具体可以执行上述用于计算设备的视频流的超分辨率重建方法实施例中的相关步骤。
具体地,程序610可以包括程序代码,该程序代码包括计算机操作指令。
处理器602可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器606,用于存放程序610。存储器606可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序610具体可以用于使得处理器602执行以下操作:
将视频流中的目标视频帧图像划分为多个图像块,针对于任一图像块,检测该图像块的运动状态;
统计目标视频帧图像中满足预设条件的图像块所占的比例;其中,满足预设条件的图像块包括:运动状态为静止状态或者运动缓慢的图像块;
根据满足预设条件的图像块所占的比例确定重建帧率,根据重建帧率确定各个待重建视频帧图像;
基于预设的超分辨率网络模型,对各个待重建视频帧图像进行超分辨率重建,得到各个待重建视频帧图像的超分辨率重建结果;
采用预设的缩放算法对视频流逐帧进行放大,得到视频流各个视频帧图像的放大结果;
将各个待重建视频帧图像的超分辨率重建结果以及各个视频帧图像的放大结果进行融合,得到视频流的超分辨率重建结果。
在一种可选的方式中,所述程序610使所述处理器602执行以下操作:
针对任一待重建视频帧图像,检测该待重建视频帧图像中各个图像块的运动状态以及纹理丰富程度;
根据各个图像块的运动状态以及纹理丰富程度确定目标图像块,其中,目标图像块包括:运动状态为静止状态或运动缓慢并且纹理丰富的图像块;
基于预设的第一超分辨率网络模型,对该待重建视频帧图像中的目标图像块进行重建,得到目标图像块的超分辨率重建结果;
基于预设的第二超分辨率网络模型,对该待重建视频帧图像中的其他图像块进行重建,得到其他图像块的超分辨率重建结果。
在一种可选的方式中,所述程序610使所述处理器602执行以下操作:根据目标图像块所占的比例,选择相应深度的第一超分辨率网络模型,基于选择的第一超分辨率网络模型对目标图像块进行重建;
其中,目标图像块所占的比例越高,选择的第一超分辨率网络模型的深度越小。
在一种可选的方式中,所述程序610使所述处理器602执行以下操作:
针对任一视频帧图像的放大图像中的任一像素点,确定该像素点的放大结果的权重;以及确定该视频帧图像对应的超分辨率重建结果中该像素点的超分辨率重建结果的权重;
计算该像素点的放大结果以及该视频帧图像对应的超分辨率重建结果中该像素点的超分辨率重建结果的加权和,将加权结果确定为该像素点最终的超分辨率重建结果。
在一种可选的方式中,所述程序610使所述处理器602执行以下操作:
当满足预设条件的图像块所占的比例小于第一阈值时,确定重建帧率为第一帧率;
当满足预设条件的图像块所占的比例位于第一阈值到第二阈值之间时,确定重建帧率为第二帧率;其中,第二阈值大于第一阈值,第二帧率小于第一帧率;
当满足预设条件的图像块所占的比例大于第二阈值时,确定重建帧率为第三帧率;其中,第三帧率小于第二帧率;
当重建帧率为第一帧率时,将每秒的视频帧图像中的各个视频帧图像确定为待重建视频帧图像;
当重建帧率为第二帧率时,将每秒的视频帧图像中的N个视频帧图像确定为待重建视频帧图像;其中,N为小于每秒的视频帧图像的总数量的数值;
当重建帧率为第三帧率时,将每秒的视频帧图像中的M个视频帧图像确定为待重建视频帧图像;其中,M小于N。
在一种可选的方式中,当重建帧率为第二帧率或者第三帧率时,所述程序610使所述处理器602执行以下操作:
若该视频帧图像未被确认为待重建视频帧图像,将该视频帧图像之前最近的待重建视频帧图像确定为该视频帧图像对应的待重建视频帧图像。
在一种可选的方式中,所述程序610使所述处理器602执行以下操作:
计算该图像块内各个像素点的亮度值与目标视频帧图像的前一个视频帧图像中与该图像块相对应的图像块内的各个像素点的亮度值的平均绝对误差;
若平均绝对误差不大于第三阈值,确定该图像块的运动状态为静止状态或者运动缓慢;
针对于待重建视频帧图像中的任一图像块,计算该图像块内各个像素点的梯度值,计算每个像素点的梯度值的和作为该图像块的梯度值;
若该图像块的梯度值不小于第四阈值,确定该图像块纹理丰富。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。