一种视频解码的方法、装置及相机与流程

文档序号:14424618阅读:204来源:国知局

本发明属于视频处理领域,尤其涉及一种视频解码的方法、装置及相机。



背景技术:

相机拍摄运动物体,尤其是高速运动物体的视频中,由于视频帧率不足,物体可能会出现运动不连续现象,当降低播放速度查看慢动作时,这种运动不连续的现象尤为明显。



技术实现要素:

本发明的目的在于提供一种视频解码的方法、装置、计算机可读存储介质及相机,旨在解决视频中运动物体因帧率不足引起的运动不连续现象的问题。

第一方面,本发明提供了一种视频解码的方法,所述方法包括:

加载视频,并从视频中解码出每一帧图像;

对任意相邻的两帧图像,计算第一光流场;

根据第一光流场,计算待插入帧图像的位置的第二光流场,所述位置是相邻的两帧图像的中间;

利用第二光流场计算待插入的帧图像的每个像素在相邻的两帧图像的前一帧图像中对应的像素位置,并取前一帧图像中的像素值填到待插入的帧图像的像素上;

将插入的帧图像与解码出来的原始帧图像按时间顺序放在一起,重新组成高帧率视频。

第二方面,本发明提供了一种视频解码的装置,所述装置包括:

解码模块,用于加载视频,并从视频中解码出每一帧图像;

第一计算模块,用于对任意相邻的两帧图像,计算第一光流场;

第二计算模块,用于根据第一光流场,计算待插入帧图像的位置的第二光流场,所述位置是相邻的两帧图像的中间;

插值模块,用于利用第二光流场计算待插入的帧图像的每个像素在相邻的两帧图像的前一帧图像中对应的像素位置,并取前一帧图像中的像素值填到待插入的帧图像的像素上;

重组模块,用于将插入的帧图像与解码出来的原始帧图像按时间顺序放在一起,重新组成高帧率视频。

第三方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述的视频解码的方法的步骤。

第四方面,本发明提供了一种相机,包括:一个或多个处理器、存储器、以及一个或多个计算机程序,其中所述处理器和所述存储器通过总线连接,所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述处理器执行所述计算机程序时实现如上述的视频解码的方法的步骤。

在本发明中,由于对任意相邻的两帧图像,计算第一光流场;根据第一光流场,计算待插入帧图像的位置的第二光流场;利用第二光流场计算待插入的帧图像的每个像素在相邻的两帧图像的前一帧图像中对应的像素位置,并取前一帧图像中的像素值填到待插入的帧图像的像素上;将插入的帧图像与解码出来的原始帧图像按时间顺序放在一起。因此重新组成高帧率视频,从而消除或减缓了运动不连续的现象,达到了更流畅的视觉观看效果。

附图说明

图1是本发明实施例一提供的视频解码的方法的流程图。

图2是本发明实施例二提供的视频解码的装置的功能模块框图。

图3是本发明实施例四提供的相机的具体结构框图。

具体实施方式

为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一:

请参阅图1,本发明实施例一提供的视频解码的方法包括以下步骤:需注意的是,若有实质上相同的结果,本发明的视频解码的方法并不以图1所示的流程顺序为限。

s101、加载视频,并从视频中解码出每一帧图像。

s102、对任意相邻的两帧图像,计算第一光流场。

在本发明实施例一中,s102具体可以包括:

对任意相邻的两帧图像进行降采样,降到合适的分辨率;

对降采样后的相邻的两帧图像计算光流,得到降分辨率的第一光流场;

对第一光流场升采样到原始图像的分辨率,得到原始图像的分辨率的第一光流场。

在本发明实施例一中,所述对第一光流场升采样到原始图像的分辨率,得到原始图像的分辨率的第一光流场之后,所述方法还可以包括以下步骤:

对原始图像的分辨率的第一光流场做平滑处理以保证连续性,具体可以是将原始图像的分辨率的第一光流场的光流值乘以采样系数以保证光流在原始图像的分辨率下正确。

s103、根据第一光流场,计算待插入帧图像的位置的第二光流场,所述位置是相邻的两帧图像的中间。

在本发明实施例一中,s103具体可以为:

记相邻的两帧图像中的第一帧图像i1到相邻的两帧图像中的第二帧图像i2的第一光流场为m1,当在第一帧图像i1和第二帧图像i2中间插入一帧图像时,记插入的帧图像到第一帧图像i1的第二光流场为m,则:m(x+dx,y+dy)=-m1(x,y)/2,其中(dx,dy)=m1(x,y),为第一帧图像i1中(x,y)坐标到第二帧图像i2的运动向量。

由于第二光流场m可能存在空洞,即存在无效坐标。因此在本发明实施例一中,计算待插入位置的第二光流场后,所述方法还可以包括以下步骤:

针对第二光流场中存在的无效坐标,在无效坐标周围取一最小区域(例如正方形、长方形等),使该区域包含有效坐标,然后将有效坐标的光流均值填到无效坐标上以填补光流空洞,最后对第二光流场m做平滑处理。

s104、利用第二光流场计算待插入的帧图像的每个像素在相邻的两帧图像的前一帧图像中对应的像素位置,并取前一帧图像中的像素值填到待插入的帧图像的像素上。

本发明实施例一中,s104具体可以为:

记插入的帧图像为i,第二光流场为m,计算插入的帧图像i中每个坐标(x,y)在相邻的两帧图像中的第一帧图像i1中的位置(x+dx,y+dy),其中(dx,dy)=m(x,y)为从插入的帧图像i到第一帧图像i1在坐标(x,y)处的运动向量;

对插入的帧图像i的每个像素赋值,具体公式为:i(x,y)=i1(x+dx,y+dy)。

s105、将插入的帧图像与解码出来的原始帧图像按时间顺序放在一起,重新组成高帧率视频。

本发明实施例一中,s105具体可以为:

记从视频中解码出来的帧图像序列为ii、li+1……,利用光流在帧图像ii和ii+1中插入的帧图像为i′i,将这些帧按i1、i′1、i2、i′2……顺序编码成视频流,形成高帧率视频。

实施例二:

请参阅图2,本发明实施例二提供的视频解码的装置包括:

解码模块11,用于加载视频,并从视频中解码出每一帧图像;

第一计算模块12,用于对任意相邻的两帧图像,计算第一光流场;

第二计算模块13,用于根据第一光流场,计算待插入帧图像的位置的第二光流场,所述位置是相邻的两帧图像的中间;

插值模块14,用于利用第二光流场计算待插入的帧图像的每个像素在相邻的两帧图像的前一帧图像中对应的像素位置,并取前一帧图像中的像素值填到待插入的帧图像的像素上;

重组模块15,用于将插入的帧图像与解码出来的原始帧图像按时间顺序放在一起,重新组成高帧率视频。

本发明实施例二提供的视频解码的装置及本发明实施例一提供的视频解码的方法属于同一构思,其具体实现过程详见说明书全文,此处不再赘述。

实施例三:

本发明实施例三提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明实施例一提供的视频解码的方法的步骤。

实施例四:

图3示出了本发明实施例四提供的相机的具体结构框图,一种相机100包括:一个或多个处理器101、存储器102、以及一个或多个计算机程序,其中所述处理器101和所述存储器102通过总线连接,所述一个或多个计算机程序被存储在所述存储器102中,并且被配置成由所述一个或多个处理器101执行,所述处理器101执行所述计算机程序时实现如本发明实施例一提供的视频解码的方法的步骤。

在本发明中,由于对任意相邻的两帧图像,计算第一光流场;根据第一光流场,计算待插入帧图像的位置的第二光流场;利用第二光流场计算待插入的帧图像的每个像素在相邻的两帧图像的前一帧图像中对应的像素位置,并取前一帧图像中的像素值填到待插入的帧图像的像素上;将插入的帧图像与解码出来的原始帧图像按时间顺序放在一起。因此重新组成高帧率视频,从而消除或减缓了运动不连续的现象,达到了更流畅的视觉观看效果。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1