视频帧选取方法、视频缩时处理方法、装置及计算机设备与流程

文档序号:30951861发布日期:2022-07-30 07:58阅读:112来源:国知局
视频帧选取方法、视频缩时处理方法、装置及计算机设备与流程

1.本技术涉及视频处理技术领域,尤其涉及一种视频帧选取方法、视频缩时处理方法、装置及计算机设备。


背景技术:

2.随着摄影机与摄影技术的进步,用户对于拍照及录像的要求也越高,因应而生的是更加丰富的拍摄体验。随着今日摄影储存装置的加大,用户以摄影器材录制一段生活影片或是运动过程时,拍摄影片的长度较以往加长许多。但大多数使用者事后并没有时间或耐性去看完那么长时间的影片,所以往往使用快转方式在短时间内浏览完毕。延时视频便是针对此一需求所开发的特殊影片浓缩功能,依据加速倍率以每隔预设帧输出一帧的视频缩时处理方式制成一段精简的短影片。
3.早期制作延时视频通常将拍摄装置固定只针对同一场景相同视野录制,不会有视野变化的问题。但当拍摄者自身正在移动中或是刻意移动拍摄装置来录制视频时,连续画面帧视野就会有变动,以前述等间隔取帧相接后的视频就会有跳动感,需要增加后续处理例如动态选帧或是影像稳定(image sabilization)机制来改善缩时视频的画面平稳度。
4.instagram于2014年首先开发一套应用程序(application,简称app)在录制影片过程时同时记录陀螺仪(gyroscope,简称gyro)数值以计算出平滑的相机移动定向orientation,然后在后续影片滤波过程中修正画面将原本摇晃的连续帧变得稳定。
5.现有的延时摄影方案有多种,但均存在相应的问题。例如,微软创建移动缩时视频的方法需要用到影像信息,计算量大,通常用以处理已经录制完成后的视频,无法在录制过程中实时运算,并在录制完成当下就得到结果。
6.可见,现有视频缩时处理方案存在后期选帧效果较差的技术问题。


技术实现要素:

7.为了解决上述技术问题,本技术实施例提供了一种视频帧选取方法、视频缩时处理方法、装置及计算机设备。
8.第一方面,本技术实施例提供了一种视频帧选取方法,所述方法包括:
9.根据视频帧序列中每一个候选帧的前向邻接帧的姿态数据,计算每个候选帧对应的预估姿态值,其中,候选帧的前向邻接帧为所述视频帧序列中位于候选帧之前的预设数量的视频帧;
10.根据每个候选帧对应的预估姿态值和实际姿态值,计算候选帧的综合成本值;
11.将综合成本值满足预设要求的候选帧作为所述视频帧序列的结果帧。
12.根据本公开的一种具体实施方式,所述根据视频帧序列中每一个候选帧的前向邻接帧的姿态角数据,计算每个候选帧对应的预估姿态值的步骤,包括:
13.计算所述候选帧的全部前向邻接帧的姿态角数据的平均姿态角数据;
14.将所述平均姿态角数据作为所述候选帧的预估姿态值。
15.根据本公开的一种具体实施方式,所述根据视频帧序列中每一个候选帧的前向邻接帧的姿态角数据,计算每个候选帧对应的预估姿态值的步骤,包括:
16.将首个候选帧及其前向邻接帧的姿态角数据存入预设队列,并根据所述预设队列内的全部姿态角数据计算所述首个候选帧的预估姿态值,其中,所述首个候选帧的姿态角数据位于所述预设队列的队尾;
17.依次将新的候选帧的姿态角数据补入所述预设队列的队尾并在所述预设队列存满时剔除所述预设队列的队首的姿态角数据,在每次补入新的候选帧的姿态角数据时根据当前预设队列内的全部姿态角数据计算当前的候选帧的预估姿态值。
18.根据本公开的一种具体实施方式,所述根据每个候选帧对应的预估姿态值和实际姿态值,计算候选帧的综合成本值的步骤,包括:
19.根据候选帧对应的预估姿态值和所述候选帧的实际姿态值,计算所述候选帧的预估成本值;
20.计算所述候选帧的前后帧累计姿态差异值、所述候选帧的与前向邻接帧的姿态平均值的差异值、所述候选帧的采集速度与设定速度的差异值和所述候选帧的与前帧的帧间速度变化量值;
21.将所述候选帧的预估成本值、前后帧累计姿态差异值、与前帧姿态平均差异值、采集速度与设定速度的差异值和帧间速度变化量值加权求和,得到所述候选帧的综合成本值。
22.根据本公开的一种具体实施方式,所述根据候选帧对应的预估姿态值和所述候选帧的实际姿态值,计算所述候选帧的预估成本值的步骤,包括:
23.计算所述预估姿态值和所述实际姿态值在三维向量上的差值平方和;
24.将所述差值平方和作为所述候选帧的预估成本值。
25.根据本公开的一种具体实施方式,所述候选帧的预估成本值的计算公式为:
26.c
pred
=∑((θ
pred_x-θ
cand_x
)2+(θ
pred_y-θ
cand_y
)2+(θ
pred_z-θ
cand_z)2
);
27.其中,c
pred
表示预估成本值,θ
pred
表示候选帧对应的预估姿态值,θ
cand
表示候选帧的实际姿态值。
28.根据本公开的一种具体实施方式,所述候选帧的前后帧累计姿态差异值的计算公式包括:
29.其中,
30.c
sum
表示前后帧累计姿态差异值,frame
n-1
表示前帧,framen表示后帧,numi表示i维向量,δgyro表示姿态差异值;
31.所述候选帧的与前向邻接帧的姿态平均值的差异值的计算步骤包括:
32.计算前帧姿态角数据总和;
33.根据所述候选帧前帧姿态角数据总和计算前帧姿态角平均值;
34.根据候选帧的实际姿态值与前帧姿态角平均值的差值,作为候选帧的与前向邻接帧的姿态平均值的差异值。
35.根据本公开的一种具体实施方式,所述将综合成本值满足预设要求的候选帧作为所述视频帧序列的结果帧的步骤,包括:
36.从每连续预设数量的候选帧中选择综合成本值最小的候选帧作为所述视频帧序列的一个结果帧。
37.第二方面,本技术实施例提供了一种视频缩时处理方法,所述方法包括:
38.获取视频帧序列;
39.根据视频帧序列中每一个候选帧的前向邻接帧的姿态角数据,计算每个候选帧对应的预估姿态值,其中,候选帧的前向邻接帧为所述视频帧序列中位于候选帧之前的预设数量的视频帧;
40.根据每个候选帧对应的预估姿态值和实际姿态值,计算候选帧的综合成本值;
41.将综合成本值满足预设要求的候选帧作为所述视频帧序列的结果帧;
42.根据全部结果帧生成所述视频帧序列对应的缩时视频。
43.第三方面,本技术实施例提供了一种视频帧选取装置,包括:所述装置包括:
44.第一计算模块,用于根据视频帧序列中每一个候选帧的前向邻接帧的姿态数据,计算每个候选帧对应的预估姿态值,其中,候选帧的前向邻接帧为所述视频帧序列中位于候选帧之前的预设数量的视频帧;
45.第二计算模块,用于根据每个候选帧对应的预估姿态值和实际姿态值,计算候选帧的综合成本值;
46.处理模块,用于将综合成本值满足预设要求的候选帧作为所述视频帧序列的结果帧。
47.第四方面,本技术实施例提供了一种视频缩时处理装置,所述装置包括:
48.获取模块,用于获取视频帧序列;
49.第一计算模块,用于根据视频帧序列中每一个候选帧的前向邻接帧的姿态角数据,计算每个候选帧对应的预估姿态值,其中,候选帧的前向邻接帧为所述视频帧序列中位于候选帧之前的预设数量的视频帧;
50.第二计算模块,用于根据每个候选帧对应的预估姿态值,计算候选帧的综合成本值;
51.处理模块,用于将综合成本值满足预设要求的候选帧作为所述视频帧序列的结果帧;
52.生成模块,用于根据全部结果帧生成所述视频帧序列对应的缩时视频。
53.第五方面,本技术实施例提供了一种计算机设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述计算机程序在所述处理器运行时执行第一方面中任一项所述的视频帧选取方法,或者执行第二方面所述的视频缩时处理方法。
54.第六方面,本技术实施例提供了一种计算机设备,计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面中任一项所述的视频帧选取方法,或者执行第二方面所述的视频缩时处理方法。
55.上述本技术提供的一种视频帧选取方法、视频缩时处理方法、装置及计算机设备,在进行视频帧选取时,会针对视频帧序列中每一个候选帧,先依据该视频帧的前向邻接帧的姿态数据计算出对应的预估姿态值,再结合候选帧的实际姿态值,以及其他姿态关联参数,计算出候选帧的综合成本值,这样可以得到能够更贴合帧间实际匹配程度的综合成本值来表征各候选帧,进而依据综合成本值从视频帧序列中选择稳定性更强的视频帧用于视
频延时处理或者缩时处理等场景,提高视频帧选取的效率。
附图说明
56.为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅所示为本技术的某些实施例,因此不应被看作是对本技术保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
57.图1所示为本技术实施例提供的一种视频帧选取方法的流程示意图;
58.图2所示为本技术实施例提供的视频帧选取方法所涉及的三维姿态示意图;
59.图3所示为本技术实施例提供的视频帧选取方法所涉及的结果帧选取示意图;
60.图4所示为本技术实施例提供的一种视频缩时处理方法的流程示意图;
61.图5所示为本技术实施例提供的一种视频帧选取装置的模块框图;
62.图6所示为本技术实施例提供的一种视频缩时处理装置的模块框图;
63.图7所示为本技术实施例提供的一种计算机设备的硬件结构图。
具体实施方式
64.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。
65.通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
66.在下文中,可在本技术的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
67.此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
68.除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本技术的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本技术的各种实施例中被清楚地限定。
69.实施例1
70.参见图1,为本技术实施例提供的一种视频帧选取方法的流程示意图。如图1所示,所述方法主要包括以下步骤:
71.s101,根据视频帧序列中每一个候选帧的前向邻接帧的姿态数据,计算每个候选帧对应的预估姿态值,其中,候选帧的前向邻接帧为所述视频帧序列中位于候选帧之前的预设数量的视频帧;
72.本实施例提供的视频帧选取方法,用于对包含多个连续视频帧的视频帧序列进行视频帧选取,目的是选取能表征该视频帧序列内容和变化趋势的视频帧。选取出的视频帧可以应用于视频缩时处理、视频延时处理等场景。
73.在进行视频帧选取时,将每一个参与选取的视频帧均定义为候选帧。视频帧序列中的每一个视频帧可以均作为候选帧,也可以将舍弃最初部分帧之后的全部视频帧作为候选帧。当然也可以由用户自定义整个视频帧序列中的候选帧范围,不作限定。
74.按照视频帧的时间轴顺序,除了起始视频帧外,其他的每个候选帧之前都存在一定数量的视频帧,将视频帧序列中位于候选帧之前的预设数量的视频帧作为该候选帧的前向邻接帧。例如,第6帧作为候选帧,那么其前向邻接帧为第1至5帧,相应的,第7帧作为候选帧,那么其前向邻接帧为第2至6帧。当然,也可以将每个候选帧之前的全部视频帧均作为其邻接帧。根据计算机设备采集视频帧时的姿态传感器、陀螺仪(gyroscope,简称gyro)、加速度传感器等能够采集计算机设备位置、姿态的采集组件采集的原始数据,可以获得对应每个视频帧的姿态数据,如图2所示,本实施方式中,可以将姿态数据限定为每个视频帧采集时三维的姿态角数据。那么,在对每个候选帧进行成本计算时,需要获取该视频帧的全部前向邻接帧的姿态数据,并以此来预估计算该候选帧的可能的姿态值,定义为预估姿态值。
75.所提供的视频帧选取方法,可以应用于已录制好的完整视频帧序列的视频帧选取场景,也可以应用于在录制过程中边录制边从已录制部分视频帧中选取结果帧的场景,这样,在视频录制完成后候选帧也选好,实现了实时选帧方案。
76.s102,根据每个候选帧对应的预估姿态值和实际姿态值,计算候选帧的综合成本值;
77.候选帧在采集时,计算机设备内置的陀螺仪等也会采集到此时的姿态数据,此数据为该候选帧的实际姿态值。本实施方式中,姿态数据、预估姿态值和实际姿态值,可以为同一类数据,例如,全部设为陀螺仪数据。
78.依据上述步骤,根据每个候选帧的前向邻接帧的姿态数据预估计算得到每个候选帧对应的预估姿态值之后,再结合该候选帧采集时的实际姿态值,即可计算该候选帧与视频帧序列中其他视频帧的匹配程度,定义为综合成本值。
79.s103,将综合成本值满足预设要求的候选帧作为所述视频帧序列的结果帧。
80.获取全部候选帧的综合成本值之后,考虑到所获取的全部候选帧的数量较多,在应用于视频缩时处理等视频帧选取场景时,需要从全部候选帧中选取部分能够表征整体视频内容的视频帧,将选取出的该部分视频帧作为能够表征整体视频内容的结果帧。从大量的候选帧中选择能够表征视频内容的结果帧,减少视频帧数量及内存占用,可以应用于视频缩时场景或者视频延时场景,以较少的视频帧数量提供丰富的视觉延时体验等。
81.在结果帧选取时,计算机设备加载预设要求,将综合成本值满足预设要求的候选帧作为从全部候选帧中选取部分视频帧作为最终的结果帧的依据。针对综合成本值的预设要求可以有多种,例如,可以将各候选帧中综合成本值的大小小于预设值作为预设要求,根据预设要求从候选帧中选取结果帧也可以为按照综合成本值大小排序后从中间隔挑选候选帧作为结果帧,或者将综合成本值在综合成本序列中位于最小路径上作为预设要求等,不作限定。
82.具体实施时,上述将综合成本值满足预设要求的候选帧作为所述视频帧序列的结
果帧的步骤,可以包括:
83.从每连续预设数量的候选帧中选择综合成本值最小的候选帧作为所述视频帧序列的一个结果帧。
84.本实施方式中,将综合成本值满足预设要求设定为,连续预设数量的候选帧中综合成本值最小。具体的,在选择得到各候选帧的综合成本值之后,可以在每连续预设数量的候选帧中选择综合成本值最小的候选帧,当然也可以利用动态编程方法,寻找最小路径所指示的综合成本值对应的候选帧。
85.上述本实施例提供的视频帧选取方法,在进行视频帧选取时,会针对视频帧序列中每一个候选帧,先依据该视频帧的前向邻接帧的姿态数据计算出对应的预估姿态值,再结合候选帧的实际姿态值,以及其他姿态关联参数,计算出候选帧的综合成本值,这样可以得到能够更贴合帧间实际匹配程度的综合成本值来表征各候选帧,进而依据综合成本值从视频帧序列中选择稳定性更强的视频帧用于视频延时处理或者缩时处理等场景,提高视频帧选取的效率。
86.在上述实施例的基础上,下面将结合几个具体实施方式对预估姿态值的获取过程和综合成本值的计算过程作具体限定。
87.根据本公开的一种具体实施方式,所述根据视频帧序列中每一个候选帧的前向邻接帧的姿态角数据,计算每个候选帧对应的预估姿态值的步骤,包括:
88.计算所述候选帧的全部前向邻接帧的姿态角数据的平均姿态角数据;
89.将所述平均姿态角数据作为所述候选帧的预估姿态值。
90.本实施方式中,限定直接将候选帧的全部前向邻接帧的姿态角数据计算平均值,将得到的平均姿态角数据作为候选帧的预估姿态值。
91.根据本公开的一种具体实施方式,所述根据候选帧对应的预估姿态值和所述候选帧的实际姿态值,计算所述候选帧的预估成本值的步骤,包括:
92.计算所述预估姿态值和所述实际姿态值在三维向量上的差值平方和;
93.将所述差值平方和作为所述候选帧的预估成本值。
94.相应的,所述候选帧的预估成本值的计算公式为:
95.c
pred
=∑((θ
pred_x-θ
cand_x
)2+(θ
pred_y-θ
cand_y
)2+(θ
pred_z-θ
cand_z
)2);
96.其中,c
pred
表示预估成本值,θ
pred
表示候选帧对应的预估姿态值,θ
cand
表示候选帧的实际姿态值。
97.具体的,所述根据视频帧序列中每一个候选帧的前向邻接帧的姿态角数据,计算每个候选帧对应的预估姿态值的步骤,包括:
98.将首个候选帧及其前向邻接帧的姿态角数据存入预设队列,并根据所述预设队列内的全部姿态角数据计算所述首个候选帧的预估姿态值,其中,所述首个候选帧的姿态角数据位于所述预设队列的队尾;
99.依次将新的候选帧的姿态角数据补入所述预设队列的队尾并在所述预设队列存满时剔除所述预设队列的队首的姿态角数据,在每次补入新的候选帧的姿态角数据时根据当前预设队列内的全部姿态角数据计算当前的候选帧的预估姿态值。
100.本方案采用移动平均的姿态预估方法。给定一个移动平均窗口大小值w,视频开始录制后会使用一个fifo(first in,first out)且大小为w的队列记录所有gyro数据计算出
的相机姿态三维向量。当预设队列满了后开始计算当前预设队列中所有相机姿态的平均值,称为相机姿态移动平均。随着每个新进的相机姿态数值向量进入此预设队列,预设队列中最早进入的数值向量将会被移除,并且重新计算出新的相机姿态移动平均。如此迭代出的数值即为每个时间点候选帧的预估姿态值。
101.每次从候选帧选择一张结果帧时,先由过去输入帧的陀螺仪数据推估一个预测值(或称目标值)出来,再去比对候选帧的各陀螺仪数据。找出差异量最小的当作最新结果帧。如图3所示为一段手机陀螺仪数据示例,s1为观测记录值,s2是目标预测值,s3曲线为选定帧所组成的输出路径。
102.其中s1为实际陀螺仪数据累加值,即为当下手机姿态数值,s2是根据过去一段长度的姿态值推估出的预测姿态值。放大(a)中矩形框为(b),圆圈里的最后一个数值为当前计算出的预测目标值,以虚线对应画出近似之候选帧姿态值,则虚线指向之位置就是根据该预测值所选定的结果帧。再放大(a)中矩形框为(c),圆圈里的每一个数值都是依此逻辑选定的结果帧姿态值,这些点相连后的s3曲线即是输出视频的姿态变化路径。
103.需要说明的是,利用过去的前向邻接帧的陀螺仪数据做出预测的方法不限于使用前述的移动平均。著名的卡尔曼滤波也能藉由输入量测值来得出预估值,藉以计算成本函数里的预估成本项。
104.根据本公开的一种具体实施方式,所述根据每个候选帧对应的预估姿态值和实际姿态值,计算候选帧的综合成本值的步骤,包括:
105.根据候选帧对应的预估姿态值和所述候选帧的实际姿态值,计算所述候选帧的预估成本值;
106.计算所述候选帧的前后帧累计姿态差异值、所述候选帧的与前向邻接帧的姿态平均值的差异值、所述候选帧的采集速度与设定速度的差异值和所述候选帧的与前帧的帧间速度变化量值;
107.将所述候选帧的预估成本值、前后帧累计姿态差异值、与前帧姿态平均差异值、采集速度与设定速度的差异值和帧间速度变化量值加权求和,得到所述候选帧的综合成本值。
108.根据本公开的一种具体实施方式,所述候选帧的前后帧累计姿态差异值的计算公式包括:
109.其中,
110.c
sum
表示前后帧累计姿态差异值,frame
n-1
表示前帧,framen表示后帧,numi表示i维向量,δgyro表示姿态差异值;
111.所述候选帧的与前向邻接帧的姿态平均值的差异值的计算步骤包括:
112.计算前帧姿态角数据总和;
113.根据所述候选帧前帧姿态角数据总和计算前帧姿态角平均值;
114.根据候选帧的实际姿态值与前帧姿态角平均值的差值,作为候选帧的与前向邻接帧的姿态平均值的差异值。
115.具体的,与前帧姿态平均差异,需先累加计算出前帧各gyro变化时的绝对陀螺仪数据再把各绝对陀螺仪数据加总计算平均,即:
[0116][0117]
mean
prev
=∑sample
prev_k
/num
i-1
[0118]
接着计算各候选帧的绝对陀螺仪数据与前述平均值之差异如下:
[0119][0120]
另外,与设定速度差异成本为:
[0121]cspeed
=index
frame-selected-speed
setting

[0122]
以及,候选帧的帧间速度变化量为:
[0123]cacceleration
=index
frame-selected-speed
prev

[0124]
综上,整体成本函式将原始各项成本如前后帧累积姿态差异c
sum
、与前帧姿态平均差异c
std
、与设定速度差异c
speed
、帧间速度变化量c
acceleration
等再加入本方案提出之预估成本c
pred
以加权λi相加的方式得到最终成本值c
total
如下:
[0125]ctotal
=λ
sumcsum

stdcstd

speedcspeed

accelerationcacceleration

predcpred

[0126]
最佳帧的选定就是比较所有候选帧计算出的成本值,选定最小成本值的那张为结果帧。
[0127]
综上所述,本实施例提供的视频帧选取方法,由过去几帧的陀螺仪数据计算出移动平均值来推估相机运动姿态趋势,将该项预估姿态值与选定候选帧计算出姿态差异量后加权到最终成本中,藉此挑选出最佳候选帧。
[0128]
实施例2
[0129]
参见图4,为本技术实施例提供的一种视频缩时处理方法的流程示意图。如图4所示,所述方法主要包括以下步骤:
[0130]
s401,获取视频帧序列;
[0131]
本实施方式提供的视频缩时处理方法,基于上述实施例提供的视频帧选取方法。依据各候选帧的前向邻接帧的姿态数据来计算候选帧的预估姿态值,再根据预估姿态值计算候选帧的综合成本值,结合各候选帧的综合成本值来选取视频帧。
[0132]
s402,根据视频帧序列中每一个候选帧的前向邻接帧的姿态角数据,计算每个候选帧对应的预估姿态值,其中,候选帧的前向邻接帧为所述视频帧序列中位于候选帧之前的预设数量的视频帧;
[0133]
s403,根据每个候选帧对应的预估姿态值和实际姿态值,计算候选帧的综合成本值;
[0134]
s404,将综合成本值满足预设要求的候选帧作为所述视频帧序列的结果帧;
[0135]
从计算各候选帧的综合成本值的方案以及结果帧的选择方案可以参见上述实施例中对应部分,不再赘述。
[0136]
s405,根据全部结果帧生成所述视频帧序列对应的缩时视频。
[0137]
在获取对应视频帧序列的结果帧序列之后,即可按照预设频率进行显示。
[0138]
当然,除此之外,本技术提供的视频帧选取方法可以应用于视频缩时处理方案,也可以应用于其他需要进行视频帧选取的场景中,例如视频延时处理等,不作限定。
[0139]
视频缩时处理的具体实施过程,可以参见上述视频帧选取方案的具体实施过程,不再一一赘述。
[0140]
实施例3
[0141]
参见图5,为本技术实施例提供了一种视频帧选取装置的模块框图。如图5所示,所述视频帧选取装置500包括:
[0142]
第一计算模块501,用于根据视频帧序列中每一个候选帧的前向邻接帧的姿态数据,计算每个候选帧对应的预估姿态值,其中,候选帧的前向邻接帧为所述视频帧序列中位于候选帧之前的预设数量的视频帧;
[0143]
第二计算模块502,用于根据每个候选帧对应的预估姿态值和实际姿态值,计算候选帧的综合成本值;
[0144]
处理模块503,用于将综合成本值满足预设要求的候选帧作为所述视频帧序列的结果帧。
[0145]
参见图6,为本技术实施例提供的一种视频缩时处理装置的模块框图。如图6所示,所述视频缩时处理装置600包括:
[0146]
获取模块601,用于获取视频帧序列;
[0147]
第一计算模块602,用于根据视频帧序列中每一个候选帧的前向邻接帧的姿态角数据,计算每个候选帧对应的预估姿态值,其中,候选帧的前向邻接帧为所述视频帧序列中位于候选帧之前的预设数量的视频帧;
[0148]
第二计算模块603,用于根据每个候选帧对应的预估姿态值,计算候选帧的综合成本值;
[0149]
处理模块604,用于将综合成本值满足预设要求的候选帧作为所述视频帧序列的结果帧;
[0150]
生成模块605,用于根据全部结果帧生成所述视频帧序列对应的缩时视频。
[0151]
参见图7,是本技术另一实施例提供的计算机设备的结构示意图。如图7所示,为实现本技术各个实施例的一种计算机设备,该计算机设备700包括但不限于:射频单元701、网络模块702、音频输出单元703、输入单元704、传感器705、显示单元706、用户输入单元707、接口单元708、存储器709、处理器710、以及电源711等部件。本领域技术人员可以理解,图7中示出的计算机设备结构并不构成对计算机设备的限定,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本技术实施例中,计算机设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载计算机设备、可穿戴设备、以及计步器等。
[0152]
应理解的是,本技术实施例中,射频单元701可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器710处理;另外,将上行的数据发送给基站。通常,射频单元701包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元701还可以通过无线通信系统与网络和其他设备通信。
[0153]
计算机设备通过网络模块702为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
[0154]
音频输出单元703可以将射频单元701或网络模块702接收的或者在存储器709中
存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元703还可以提供与计算机设备700执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元703包括扬声器、蜂鸣器以及受话器等。
[0155]
输入单元704用于接收音频或视频信号。输入单元704可以包括图形处理器(graphics processing unit,gpu)7041和麦克风7042,图形处理器7041对在视频捕获模式或图像捕获模式中由图像捕获计算机设备(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以视频播放在显示单元706上。经图形处理器7041处理后的图像帧可以存储在存储器709(或其它存储介质)中或者经由射频单元701或网络模块702进行发送。麦克风7042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元701发送到移动通信基站的格式输出。
[0156]
计算机设备700还包括至少一种传感器705,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板7061的亮度,接近传感器可在计算机设备700移动到耳边时,关闭显示面板7061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别计算机设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器705还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
[0157]
显示单元706用于视频播放由用户输入的信息或提供给用户的信息。显示单元706可包括显示面板7061,可以采用液晶视频播放器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板7061。
[0158]
用户输入单元707可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元707包括触控面板7071以及其他输入设备7072。触控面板7071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板7071上或在触控面板7071附近的操作)。触控面板7071可包括触摸检测计算机设备和触摸控制器两个部分。其中,触摸检测计算机设备检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测计算机设备上接收触摸信息,并将它转换成触点坐标,再送给处理器710,接收处理器710发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板7071。除了触控面板7071,用户输入单元707还可以包括其他输入设备7072。具体地,其他输入设备7072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
[0159]
进一步的,触控面板7071可覆盖在显示面板7061上,当触控面板7071检测到在其上或附近的触摸操作后,传送给处理器710以确定触摸事件的类型,随后处理器710根据触摸事件的类型在显示面板7061上提供相应的视觉输出。虽然在图5中,触控面板7071与显示面板7061是作为两个独立的部件来实现计算机设备的输入和输出功能,但是在某些实施例中,可以将触控面板7071与显示面板7061集成而实现计算机设备的输入和输出功能,具体此处不做限定。
[0160]
接口单元708为外部计算机设备与计算机设备700连接的接口。例如,外部计算机设备可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的计算机设备的端口、音频输入/输出(i/o)端口、视频i/o端口、耳机端口等等。接口单元708可以用于接收来自外部计算机设备的输入(例如,数据信息、电力等等)并且将接收到的输入传输到计算机设备700内的一个或多个元件或者可以用于在计算机设备700和外部计算机设备之间传输数据。
[0161]
存储器709可用于存储软件程序以及各种数据。存储器709可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器709可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0162]
处理器710是计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器709内的软件程序和/或模块,以及调用存储在存储器709内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。处理器710可包括一个或多个处理单元;优选的,处理器710可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器710中。
[0163]
计算机设备700还可以包括给各个部件供电的电源711(比如电池),优选的,电源711可以通过电源管理系统与处理器710逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0164]
另外,计算机设备700包括一些未示出的功能模块,在此不再赘述。
[0165]
所述存储器用于存储计算机程序,所述计算机程序在所述处理器运行时执行上述的视频帧选取方法,或者视频缩时处理方法。
[0166]
另外,本技术实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行上述的视频帧选取方法,或者视频缩时处理方法。
[0167]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0168]
另外,在本技术各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
[0169]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说
对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0170]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1