掌桥专利:专业的专利平台
掌桥专利
首页

一种自适应的视频帧处理方法及播放终端

文献发布时间:2024-01-17 01:27:33


一种自适应的视频帧处理方法及播放终端

技术领域

本发明涉及视频处理技术领域,具体涉及一种自适应的视频帧处理方法和一种播放终端。

背景技术

改变视频的帧率是一个比较常见的需求,主要是为了向不同需求的用户提供差异化服务;受到存储空间的限制,有一些摄像机所录制的视频,单位时间内所包含的帧数相对较少导致视频连续性差,或者由于视频剪辑原因,缺少连接视频帧的画面,也会导致视频的连续性不够。而对视频压制有所研究的用户会为了更好的显示效果而追求更高的帧率,或者为了更高的压缩率而选择更低的帧率。帧率的变化能分为两种:低帧率变为高帧率;高帧率变为低帧率。虽然两者出于不同的需求,但是采取的是同一实现方式。插帧对于视频播放效果有提升,然而,插帧并不是越多越好,插帧操作对硬件各方面条件均有要求。因此,需要提出一种根据播放终端的硬件条件,自适应地进行视频帧处理的方法及播放终端。

发明内容

本发明的主要目的是提供一种自适应的视频帧处理方法和一种播放终端,旨在根据播放终端的硬件条件,自适应地进行视频帧处理。

为实现上述目的,本发明提出的一种自适应的视频帧处理方法中,播放终端与云端服务器通讯连接;所述方法包括如下步骤:

将播放终端在历史播放各视频的过程中的初始设备参数、视频参数,以及设备参数变化,发送至云端服务器;

云端服务器根据播放终端在历史播放各视频的过程中的初始设备参数、视频参数,以及设备参数变化,计算出不同初始设备参数和不同视频参数下的优选帧率集合,其中优选帧率集合为保证播放终端性能稳定的帧率范围;

云端服务器生成自适应帧操作模块,其中,自适应帧操作模块存储有不同初始设备参数和不同视频参数下对应的优选帧率集合,以根据播放终端性能变化自适应地开启帧操作权限,帧操作包括插帧操作或减帧操作;

播放视频时,侦测播放终端的实时设备参数和视频参数,在不允许开启帧操作权限的播放时段关闭帧操作权限,在允许开启帧操作权限的播放时段,将自适应帧操作模块发送至播放终端,以在播放终端通过自适应帧操作模块开启帧操作权限;

在自适应帧操作模块开启帧操作权限的时段,播放终端侦测待播放视频帧的连续情况,判断是否触发帧操作指令;

在帧操作指令触发时,通过自适应帧操作模块启动帧操作。

优选地,所述云端服务器根据播放终端在历史播放各视频的过程中的初始设备参数、视频参数,以及设备参数变化,计算出不同初始设备参数和不同视频参数下的优选帧率集合,其中优选帧率集合为保证播放终端性能稳定的帧率范围的步骤,包括:

从播放终端历史播放的各视频中获取帧率、分辨率、码率和播放时长,作为视频参数;

分别获取播放终端在历史播放过程中的计算能力占用率、剩余存储空间、续航时间和播放终端发热的温度的初始数据,作为初始设备参数;

分别获取播放终端在历史播放过程中的计算能力占用率、剩余存储空间、续航时间和播放终端发热的温度的数据变化,作为设备参数变化;

计算视频播放时每一种视频参数对每一设备性能的影响因子;

计算出不同初始设备参数和不同视频参数下的优选帧率集合。

优选地,所述计算出不同初始设备参数和不同视频参数下的优选帧率集合的步骤,包括:

确定与视频参数和计算能力占用率相关的第一帧率集合;

确定与视频参数和剩余存储空间相关的第二帧率集合;

确定与视频参数和续航时间相关的第三帧率集合;

确定与视频参数和发热温度相关的第四帧率集合;

根据第一帧率集合、第二帧率集合、第三帧率集合和第四帧率集合,确定优选帧率集合。

优选地,所述云端服务器生成自适应帧操作模块的步骤,包括:

云端服务器计算不同视频参数和初始设备参数条件下的帧操作限制条件,其中,帧操作限制条件包括优选帧率集合、允许插帧数量和允许减帧数量;

云端服务器建立不同视频参数、初始设备参数和帧操作限制条件的映射关系;

根据映射关系,将播放终端的视频参数和实时设备参数作为自适应帧操作模块的输入条件,将帧操作限制条件设置为自适应帧操作模块输出的控制参数,以使自适应帧操作模块能够根据视频参数和实时设备参数的不同,自适应地调整帧操作限制条件。

优选地,所述播放视频时,侦测播放终端的实时设备参数和视频参数,在不允许开启帧操作权限的播放时段关闭帧操作权限,在允许开启帧操作权限的播放时段,将自适应帧操作模块发送至播放终端,以在播放终端通过自适应帧操作模块开启帧操作权限的步骤,包括:

播放视频时,将侦测到的播放终端的实时设备参数和视频参数,发送至云端服务器;

云端服务器确定对应的允许开启帧操作权限的条件和不允许开启帧操作权限的条件;

云端服务器根据不允许开启帧操作权限的条件,确定不允许开启帧操作权限的第一播放时段;

云端服务器根据允许开启帧操作权限的条件,确定允许开启帧操作权限的第二播放时段;

将第一播放时段和第二播放时段发送至播放终端;

播放终端在第一播放时段关闭帧操作权限;

云端服务器在第二播放时段将自适应帧操作模块发送至播放终端,以在播放终端通过自适应帧操作模块开启帧操作权限。

优选地,所述播放视频时,侦测播放终端的实时设备参数和视频参数,在不允许开启帧操作权限的播放时段关闭帧操作权限,在允许开启帧操作权限的播放时段,将自适应帧操作模块发送至播放终端,以在播放终端通过自适应帧操作模块开启帧操作权限的步骤,还包括:

云端服务器计算单一设备参数触发的第一帧操作权限关闭条件;

云端服务器计算多个设备参数组合触发的第二帧操作权限关闭条件;

云端服务器获取播放终端的设备参数,以确定是否达到第一帧操作权限关闭条件或第二帧操作权限关闭条件;

若是,向自适应帧操作模块发送关闭帧操作权限指令,以停止帧操作。

优选地,所述在自适应帧操作模块开启帧操作权限的时段,播放终端侦测待播放视频帧的连续情况,判断是否触发帧操作指令的步骤,包括:

在自适应帧操作模块生成时,播放终端侦测解码后的待播放视频帧的帧间图像块运动关系;

根据帧间图像块运动关系,确定各相邻帧的图像块位移向量;

根据相邻帧的图像块位移向量,以及实时的设备参数,确定是否触发帧操作指令,其中帧操作指令包括插帧指令或减帧指令;

若是,触发帧操作指令。

优选地,优选帧率集合按照如下方式确定:

按照以下方式确定与视频参数和计算能力占用率相关的第一帧率集合:

其中,

根据g

按照以下方式确定与视频参数和剩余存储空间相关的第二帧率集合:

其中,

根据

按照以下方式确定与视频参数和续航时间相关的第三帧率集合:

其中,

根据

按照以下方式确定与视频参数和发热温度相关的第四帧率集合:

其中,

根据

确定优选帧率集合

优选地,所述方法,还包括:

云端服务器获取帧操作过程中导致的播放终端的设备参数变化增量;

云端服务器根据播放终端的初始设备参数、设备参数变化和帧操作导致的设备参数变化增量,调节自适应帧操作模块对帧操作的控制条件。

此外,为实现上述目的,本发明还提出一种播放终端,用于执行上述任一项所述的方法,所述播放终端用于与云端服务器通讯连接。

本发明的技术方案中,云端服务器在播放终端日常播放视频时,侦测播放终端的初始设备参数、视频参数,以及设备参数变化,形成了历史播放数据,云端服务器对侦测到的这些历史播放数据进行分析,可以确定播放视频时,每种视频参数在取值不同时,分别对播放终端的各个设备参数变化的影响大小,并计算出不同初始设备参数和不同视频参数下的优选帧率集合。从而,云端服务器根据对播放终端侦测的历史播放数据的分析结果,生成自适应帧操作模块,自适应帧操作模块存储有不同初始设备参数和不同视频参数下对应的优选帧率集合,自适应帧操作模块的作用是:侦测播放终端的视频参数和实时设备参数,将实时设备参数作为初始设备参数,根据播放终端播放的视频的视频参数和实时设备参数的不同,在保证播放终端性能稳定的情况下(即设备参数处于设定范围的情况下)开启对应的帧操作权限,以使播放终端能够在帧操作权限(即优选帧率集合)内进行视频帧率调整,而超出帧操作权限的视频帧率调整操作会被自适应帧操作模块拒绝。在播放终端播放视频的过程中,云端服务器侦测播放终端的实时设备参数和视频参数,根据实施设备参数确定不允许开启帧操作权限的播放时段和允许开启帧操作权限的播放时段,在允许开启帧操作权限的播放时段,将自适应帧操作模块当做虚拟开关发送至播放终端,以开启帧操作权限。从而,在播放终端播放视频的过程中,适应帧操作模块能够根据播放终端的实际情况,自适应的确定帧操作权限,自适应地启动帧操作或者拒绝帧操作,且启动的帧操作由于处于帧操作权限内,符合优选帧率集合,不会造成播放终端性能严重不足,实现了根据播放终端的硬件条件,自适应地进行视频帧处理的目的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1为本发明自适应的视频帧处理方法一实施例的流程图;

图2为本发明的功能框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

请参阅图1至图2,在本发明的自适应的视频帧处理方法的第一实施例中,播放终端与云端服务器通讯连接;所述方法包括如下步骤:

步骤S10,将播放终端在历史播放各视频的过程中的初始设备参数、视频参数,以及设备参数变化,发送至云端服务器;

步骤S20,云端服务器根据播放终端在历史播放各视频的过程中的初始设备参数、视频参数,以及设备参数变化,计算出不同初始设备参数和不同视频参数下的优选帧率集合,其中优选帧率集合为保证播放终端性能稳定的帧率范围;

步骤S30,云端服务器生成自适应帧操作模块,其中,自适应帧操作模块存储有不同初始设备参数和不同视频参数下对应的优选帧率集合,以根据播放终端性能变化自适应地开启帧操作权限,帧操作包括插帧操作或减帧操作;

步骤S40,播放视频时,侦测播放终端的实时设备参数和视频参数,在不允许开启帧操作权限的播放时段关闭帧操作权限,在允许开启帧操作权限的播放时段,将自适应帧操作模块发送至播放终端,以在播放终端通过自适应帧操作模块开启帧操作权限;其中,播放终端的实时设备参数作为每个时刻播放终端对应的初始设备参数;

步骤S50,在自适应帧操作模块开启帧操作权限的时段,播放终端侦测待播放视频帧的连续情况,判断是否触发帧操作指令;

步骤S60,在帧操作指令触发时,通过自适应帧操作模块启动帧操作。

本发明的技术方案中,云端服务器在播放终端日常播放视频时,侦测播放终端的初始设备参数、视频参数,以及设备参数变化,形成了历史播放数据,云端服务器对侦测到的这些历史播放数据进行分析,可以确定播放视频时,每种视频参数在取值不同时,分别对播放终端的各个设备参数变化的影响大小,并计算出不同初始设备参数和不同视频参数下的优选帧率集合。从而,云端服务器根据对播放终端侦测的历史播放数据的分析结果,生成自适应帧操作模块,自适应帧操作模块存储有不同初始设备参数和不同视频参数下对应的优选帧率集合,自适应帧操作模块的作用是:侦测播放终端的视频参数和实时设备参数,将实时设备参数作为初始设备参数,根据播放终端播放的视频的视频参数和实时设备参数的不同,在保证播放终端性能稳定的情况下(即设备参数处于设定范围的情况下)开启对应的帧操作权限,以使播放终端能够在帧操作权限(即优选帧率集合)内进行视频帧率调整,而超出帧操作权限的视频帧率调整操作会被自适应帧操作模块拒绝。在播放终端播放视频的过程中,云端服务器侦测播放终端的实时设备参数和视频参数,根据实施设备参数确定不允许开启帧操作权限的播放时段和允许开启帧操作权限的播放时段,在允许开启帧操作权限的播放时段,将自适应帧操作模块当做虚拟开关发送至播放终端,以开启帧操作权限。从而,在播放终端播放视频的过程中,适应帧操作模块能够根据播放终端的实际情况,自适应的确定帧操作权限,自适应地启动帧操作或者拒绝帧操作,且启动的帧操作由于处于帧操作权限内,符合优选帧率集合,不会造成播放终端性能严重不足,实现了根据播放终端的硬件条件,自适应地进行视频帧处理的目的。

自适应帧操作模块在播放终端自适应地开启帧操作权限具体可以参照如下方式:

例如,在自适应帧操作模块发送至播放终端后,假设播放终端当前的视频参数为A,初始设备参数为B(A和B分别为数组,每个数组包括多个参数),自适应帧操作模块根据视频参数A和初始设备参数B,确定保证播放终端性能稳定的条件下(性能稳定指的是在播放终端播放完当前视频之前,不会由于性能严重不足导致宕机、严重卡顿、断电、温度过高等现象)的优选帧率集合为20-30fps。

若播放终端播放的视频当前的帧率为25fps,位于优选帧率集合20-30fps之间,则自适应帧操作模块允许播放终端对当前播放的视频进行插帧操作或减帧操作,只要插帧或减帧操作后,视频的帧率不超过20-30fps即可。因此,插帧操作或者减帧操作触发时,都能通过自适应帧操作模块启动帧操作。

若播放终端当前播放的视频的当前帧率为30fps,处于优选帧率集合20-30fps的上限值,若此时帧操作指令中的插帧指令触发,则插帧会导致超出优选帧率集合,所以自适应帧操作模块拒绝启动插帧指令。

具体的,步骤S10至步骤S30为正式启动自适应的视频帧处理方法之前的历史播放数据处理步骤,而步骤S40至步骤S60则为正式的自适应视频帧处理执行的步骤。

基于本发明的第一实施例,本发明的第二实施例中,所述步骤S20,包括:

步骤S21,从播放终端历史播放的各视频中获取帧率、分辨率、码率和播放时长,作为视频参数;

步骤S22,分别获取播放终端在历史播放过程中的计算能力占用率、剩余存储空间、续航时间和播放终端发热的温度的初始数据,作为初始设备参数;

步骤S23,分别获取播放终端在历史播放过程中的计算能力占用率、剩余存储空间、续航时间和播放终端发热的温度的数据变化,作为设备参数变化;

步骤S24,计算视频播放时每一种视频参数对每一设备性能的影响因子;

步骤S25,计算出不同初始设备参数和不同视频参数下的优选帧率集合。

具体的:

帧率为每秒钟的帧画面数量,帧率越大视频播放越流畅,帧率越小视频越卡顿。

分辨率指的是单位英寸中所包含的像素点数。分辨率影响图像大小,与图像大小成正比:分辨率越高,图像越大;分辨率越低,图像越小。

码率是指每秒传输的数据位数。码率越高,视频越清晰,网络加载时间更长,对网络带宽要求越高,且文件就会越大,占用存储空间大。码率和视频时长也直接影响存储空间。

播放时长为播放终端的视频长度,其对计算能力、存储空间、续航时间、温度均有明显影响。

除了播放时长之外,视频的帧率、分辨率、码率一般都在几种常用数据中选择。因此,可以较为容易地找到视频参数中其中三种参数取值相同,而另一种参数取值不同的若干组视频参数。将找到的分析该若干组视频参数分别带来的设备参数变化,则能确定取值不同的这一种视频参数对每一种设备参数的单位时间影响因子。从而,采用该方法,可以确定每一种视频参数分别对每一种设备参数的单位时间影响因子。

具体的,播放终端历史播放第i个视频的视频参数采用数组C

其中,

播放终端历史播放第i个视频的初始设备参数采用数组D

其中,

设备参数变化采用数组

其中,

播放终端获取的播放终端的实时设备参数采用数组E

其中,

当初始设备参数满足下列公式(1)至(5)中至少一者时,为不允许开启帧操作权限的播放时段,其余播放时段为允许开启帧操作权限的播放时段:

其中,

基于本发明的第二实施例,本发明的第三实施例中,所述步骤S25,包括:

步骤S251,确定与视频参数和计算能力占用率相关的第一帧率集合;

步骤S252,确定与视频参数和剩余存储空间相关的第二帧率集合;

步骤S253,确定与视频参数和续航时间相关的第三帧率集合;

步骤S254,确定与视频参数和发热温度相关的第四帧率集合;

步骤S255,根据第一帧率集合、第二帧率集合、第三帧率集合和第四帧率集合,确定优选帧率集合。

步骤S25具体参照如下方式进行:

1)按照以下方式确定与视频参数和计算能力占用率相关的第一帧率集合:

其中,

根据g

2)按照以下方式确定与视频参数和剩余存储空间相关的第二帧率集合:

其中,

根据

3)按照以下方式确定与视频参数和续航时间相关的第三帧率集合:

其中,

根据

4)按照以下方式确定与视频参数和发热温度相关的第四帧率集合:

其中,

根据

确定优选帧率集合

基于本发明的第一实施例至第三实施例,本发明的第四实施例中,所述步骤S30,包括:

步骤S31,云端服务器计算不同视频参数和初始设备参数条件下的帧操作限制条件,其中,帧操作限制条件包括优选帧率集合、允许插帧数量和允许减帧数量;

步骤S32,云端服务器建立不同视频参数、初始设备参数和帧操作限制条件的映射关系;

步骤S33,根据映射关系,将播放终端的视频参数和实时设备参数作为自适应帧操作模块的输入条件,将帧操作限制条件设置为自适应帧操作模块输出的控制参数,以使自适应帧操作模块能够根据视频参数和实时设备参数的不同,自适应地调整帧操作限制条件。

其中,允许插帧数量和允许减帧数量是在获取到播放终端的视频参数中的初始帧率之后,根据优选帧率集合与初始帧率共同确定的。

允许插帧数量为优选帧率集合的上限值与当前帧率的差值;允许减帧数量为当前帧率与优选帧率集合的下限值的差值。

自适应帧操作模块存储有映射关系,能够将播放终端的视频参数和实时设备参数作为输入条件,通过查找映射关系,输出帧操作限制条件。从而可以根据帧操作限制条件中的优选帧率集合、允许插帧数量和允许减帧数量,控制播放终端的帧操作。

进一步的,所述方法,还包括:

步骤S70,云端服务器根据播放终端在不同设备参数情况和不同视频参数下的性能变化,确定不同视频参数和初始设备参数下,允许开启帧操作权限的条件和不允许开启帧操作权限的条件。

当初始设备参数满足第二实施例的公式(1)至(5)中至少一者时,则达到不允许开启帧操作权限的条件;若均不满足第二实施例的公式(1)至(5),则达到允许开启帧操作权限的条件。

基于本发明的第一实施例至第四实施例,本发明的第五实施例中,所述步骤S40,包括:

步骤S41,播放视频时,将侦测到的播放终端的实时设备参数和视频参数,发送至云端服务器;

步骤S42,云端服务器确定对应的允许开启帧操作权限的条件和不允许开启帧操作权限的条件;

步骤S43,云端服务器根据不允许开启帧操作权限的条件,确定不允许开启帧操作权限的第一播放时段;

步骤S44,云端服务器根据允许开启帧操作权限的条件,确定允许开启帧操作权限的第二播放时段;

步骤S45,将第一播放时段和第二播放时段发送至播放终端;

步骤S46,播放终端在第一播放时段关闭帧操作权限;

步骤S47,云端服务器在第二播放时段将自适应帧操作模块发送至播放终端,以在播放终端通过自适应帧操作模块开启帧操作权限。

具体的,播放视频时,首先默认关闭帧操作权限,并按照设定周期获取播放终端的实时设备参数,从而可以获取到当前视频参数下,实时设备参数随时间的变化规律。

根据播放终端的实时设备参数和实时设备参数随时间的变化规律,可以推算实时设备参数满足不允许开启帧操作权限的条件的第一播放时段,和允许开启帧操作权限的条件的第二播放时段。

基于本发明的第五实施例,本发明的第六实施例中,所述步骤S40,还包括:

步骤S48,云端服务器计算单一设备参数触发的第一帧操作权限关闭条件;

步骤S49,云端服务器计算多个设备参数组合触发的第二帧操作权限关闭条件;

步骤S410,云端服务器获取播放终端的设备参数,以确定是否达到第一帧操作权限关闭条件或第二帧操作权限关闭条件;

若是,执行步骤S411,向自适应帧操作模块发送关闭帧操作权限指令,以停止帧操作。

云端服务器按照设定周期实时侦测播放终端的计算能力占用率、剩余存储空间、续航时间和播放终端发热的温度,并在侦测到各项设备参数满足第二实施例的公式(1)至(5)中至少一者时,向自适应帧操作模块发送关闭帧操作权限指令,以停止帧操作,此时,不允许进行插帧和减帧,以避免插帧和减帧造成播放终端的性能严重下降。

基于本发明的第一实施例至第六实施例,本发明的第七实施例中,所述步骤S50,包括:

步骤S51,在自适应帧操作模块生成时,播放终端侦测解码后的待播放视频帧的帧间图像块运动关系;

步骤S52,根据帧间图像块运动关系,确定各相邻帧的图像块位移向量;

步骤S53,根据相邻帧的图像块位移向量,以及实时的设备参数,确定是否触发帧操作指令,其中帧操作指令包括插帧指令或减帧指令;

若是,执行步骤S54:触发帧操作指令。

进一步的,本发明中的所述步骤S60,包括:

步骤S61,在帧操作指令触发时,自适应帧操作模块根据播放终端的实时设备参数和视频参数,确定实时帧操作限制条件;

步骤S62,自适应帧操作模块根据待播放视频帧的连续情况,和实时帧操作限制条件,确定帧操作参数;

步骤S63,自适应帧操作模块根据帧操作参数控制帧操作,以通过帧操作对播放的视频进行帧率调整。

基于本发明的第一实施例至第七实施例,本发明的第八实施例中,所述方法,还包括:

步骤S80,云端服务器获取帧操作过程中导致的播放终端的设备参数变化增量;

步骤S90,云端服务器根据播放终端的初始设备参数、设备参数变化和帧操作导致的设备参数变化增量,调节自适应帧操作模块对帧操作的控制条件。

在帧操作(包括插帧操作和减帧操作)的过程中,会导致额外的设备参数变化增量,本发明主要考虑计算能力占用率变化增量。采用计算能力占用率变化增量修正第一优选帧率集合的计算过程中。

具体的:

按照以下方式得到修正的第一帧率集合:

g

确定修正的优选帧率集合

此外,为实现上述目的,本发明还提出一种播放终端,用于执行所述的方法;所述播放终端用于与云端服务器通讯连接。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

相关技术
  • 一种视频处理方法、视频索引方法、装置及终端设备
  • 一种视频帧处理方法、装置及播放器
  • 一种视频帧流处理方法、视频服务器及终端设备
技术分类

06120116223248