视频渲染方法、装置、计算机设备和可读存储介质转让专利

申请号 : CN201711020523.2

文献号 : CN107801093B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 韩庆龙张聪黄之燊

申请人 : 深圳市量子视觉科技有限公司

摘要 :

本发明涉及一种视频渲染方法、装置、计算机设备和可读存储介质,此视频渲染方法包括:接收服务器发送的视频以及视频的区域标识,根据区域标识识别视频中的动态区域和静态区域,按照视频中的视频帧的播放顺序渲染当前动态区域的每一帧和当前静态区域的第一帧,当当前动态区域和当前静态区域发生改变时,则按照视频中的视频帧的播放顺序渲染改变后的动态区域的每一帧和改变后的静态区域的第一帧,直至视频渲染完成。上述视频渲染方法、装置、计算机设备和可读存储介质节省了计算资源,提高了渲染效率,提高了高分辨率视频的渲染效果。

权利要求 :

1.一种视频渲染方法,其特征在于,包括:

接收服务器发送的视频以及所述视频的区域标识;

根据所述区域标识识别所述视频中的动态区域和静态区域,其中,与深度学习模型匹配的像素区域为动态区域,其他区域为静态区域;

按照所述视频中的视频帧的播放顺序渲染当前动态区域的每一帧和当前静态区域的第一帧;

读取当前静态区域的持续时间,若当前静态区域的持续时间到达时,所述当前动态区域和所述当前静态区域的位置发生改变,当所述当前动态区域和所述当前静态区域发生改变时,则按照所述视频中的视频帧的播放顺序渲染改变后的动态区域的每一帧和改变后的静态区域的第一帧,直至所述视频渲染完成。

2.根据权利要求1所述的方法,其特征在于,所述读取当前静态区域的持续时间的步骤,包括:接收所述服务器发送的静态区域的持续时间;

从所接收的静态区域的持续时间中选取与所述当前静态区域对应的持续时间;

所述当前动态区域和所述当前静态区域发生改变,包括:

当所述当前静态区域的第一帧的显示时间等于所选取的持续时间时,则所述当前动态区域和所述当前静态区域发生改变。

3.一种视频处理方法,其特征在于,包括:

获取待处理视频以及与所述待处理视频对应的处理算法;

通过所述处理算法将所述待处理视频分割为动态区域和静态区域,包括:当所述处理算法为深度学习算法时,识别待处理视频的主体,并根据所述主体建立深度学习模型,根据所述深度学习模型,将待处理视频中的每一帧与所述深度学习模型进行匹配,则每一帧中与所述深度学习模型匹配的像素区域为所述动态区域,其他区域为所述静态区域;

对所述动态区域和所述静态区域添加区域标识,统计所述静态区域的持续时间;

当接收到客户端的视频获取请求时,则将所述待处理视频、所述静态区域的持续时间以及所述待处理视频的区域标识发送至所述客户端。

4.根据权利要求3所述的方法,其特征在于,所述统计所述静态区域的持续时间的步骤,包括:当某区域在一定时间内被标识为所述静态区域,且所述区域在后续连续几个帧中都被标识为所述静态区域时,则统计所述静态区域的持续时间。

5.根据权利要求3所述的方法,其特征在于,所述通过所述处理算法将所述待处理视频分割为动态区域和静态区域的步骤,包括:当所选择的处理算法是帧间差分法时,通过所述处理算法计算所述待处理视频的相邻帧中对应像素的差值;

当所述差值不超过预设值时,则所述像素对应的区域为静态区域;

当所述差值超过预设值时,则所述像素对应的区域为动态区域。

6.一种视频渲染装置,其特征在于,包括:

接收模块,用于接收服务器发送的视频以及所述视频的区域标识;

识别模块,用于根据所述区域标识识别所述视频中的动态区域和静态区域,其中,与深度学习模型匹配的像素区域为动态区域,其他区域为静态区域;

渲染模块,用于按照所述视频中的视频帧的播放顺序渲染当前动态区域的每一帧和当前静态区域的第一帧;

判断模块,用于读取当前静态区域的持续时间,若当前静态区域的持续时间到达时,所述当前动态区域和所述当前静态区域的位置发生改变,当所述当前动态区域和所述当前静态区域发生改变时,则按照所述视频中的视频帧的播放顺序渲染改变后的动态区域的每一帧和改变后的静态区域的第一帧,直至所述视频渲染完成。

7.一种视频处理装置,其特征在于,包括:

算法模块,用于获取待处理视频以及与所述待处理视频对应的处理算法;

分割模块,用于通过所述处理算法将所述待处理视频分割为动态区域和静态区域,包括:当所述处理算法为深度学习算法时,识别待处理视频的主体,并根据所述主体建立深度学习模型,根据所述深度学习模型,将待处理视频中的每一帧与所述深度学习模型进行匹配,则每一帧中与所述深度学习模型匹配的像素区域为所述动态区域,其他区域为所述静态区域;

标识模块,用于对所述动态区域和所述静态区域添加区域标识,统计所述静态区域的持续时间;

发送模块,用于当接收到客户端的视频获取请求时,则将所述待处理视频、所述静态区域的持续时间以及所述待处理视频的区域标识发送至所述客户端。

8.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1或2所述方法中的步骤。

9.一种可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1或2所述方法中的步骤。

说明书 :

视频渲染方法、装置、计算机设备和可读存储介质

技术领域

[0001] 本发明涉及计算机技术领域,特别是涉及一种视频渲染方法、装置、计算机设备和可读存储介质。

背景技术

[0002] 随着科技的进步,视频这种直观的信息显示方式的使用范围越来越广,人们对于显示视频的分辨率要求也越来越高。全景视频和三维视频由于其显示效果更符合现实生活中的3D场景,开始得到广泛的应用;为获得全景或三维视频更好的显示效果,通常需要对视频数据进行渲染这一操作。
[0003] 传统渲染工序是按照视频文件的时间顺序,渲染每一帧图像的内容;当前主流硬件、软件设备的渲染能力有限,在渲染高分辨率的视频数据时,可能会出现渲染效果差的问题,如渲染后的视频出现卡顿、掉帧、马赛克等。

发明内容

[0004] 基于此,有必要针对渲染高分辨率视频时,渲染效果差的问题,提供一种视频渲染方法、装置、计算机设备和可读存储介质。
[0005] 一种视频渲染方法,包括:
[0006] 接收服务器发送的视频以及视频的区域标识;
[0007] 根据区域标识识别视频中的动态区域和静态区域;
[0008] 按照视频中的视频帧的播放顺序渲染当前动态区域的每一帧和当前静态区域的第一帧;
[0009] 当当前动态区域和当前静态区域发生改变时,则按照视频中的视频帧的播放顺序渲染改变后的动态区域的每一帧和改变后的静态区域的第一帧,直至视频渲染完成。
[0010] 在其中一个实施例中,当前动态区域和当前静态区域发生改变的步骤包括:
[0011] 接收服务器发送的静态区域的持续时间;
[0012] 从所接收的静态区域的持续时间中选取与当前静态区域对应的持续时间;
[0013] 当当前静态区域的第一帧的显示时间等于所选取的持续时间时,则当前动态区域和当前静态区域发生改变。
[0014] 一种视频处理方法,包括:
[0015] 获取待处理视频以及与待处理视频对应的处理算法;
[0016] 通过处理算法将待处理视频分割为动态区域和静态区域;
[0017] 对动态区域和静态区域添加区域标识;
[0018] 当接收到客户端的视频获取请求时,则将待处理视频以及待处理视频的区域标识发送至客户端。
[0019] 在其中一个实施例中,通过处理算法将待处理视频分割为动态区域和静态区域的步骤之后还包括:
[0020] 统计静态区域的持续时间;
[0021] 所述将待处理视频以及待处理视频的区域标识发送至客户端的步骤,包括:
[0022] 将待处理视频、待处理视频的区域标识以及静态区域的持续时间发送至所述客户端。
[0023] 在其中一个实施例中,通过处理算法将待处理视频分割为动态区域和静态区域的步骤,包括:
[0024] 通过处理算法计算待处理视频的相邻帧中对应像素的差值;
[0025] 当差值不超过预设值时,则像素对应的区域为静态区域;
[0026] 当差值超过预设值时,则像素对应的区域为动态区域。
[0027] 在其中一个实施例中,通过处理算法将待处理视频分割为动态区域和静态区域的步骤,包括:
[0028] 当处理算法为深度学习算法时,则获取与待处理视频对应的匹配模型;
[0029] 将待处理视频输出至匹配模型中得到动态区域和静态区域。
[0030] 一种视频渲染装置,包括:
[0031] 接收模块,用于接收服务器发送的视频以及视频的区域标识;
[0032] 识别模块,用于根据区域标识识别视频中的动态区域和静态区域;
[0033] 渲染模块,用于按照视频中的视频帧的播放顺序渲染当前动态区域的每一帧和当前静态区域的第一帧;
[0034] 判断模块,用于当当前动态区域和当前静态区域发生改变时,则按照视频中的视频帧的播放顺序渲染改变后的动态区域的每一帧和改变后的静态区域的第一帧,直至视频渲染完成。
[0035] 一种视频处理装置,包括:
[0036] 算法模块,用于获取待处理视频以及与待处理视频对应的处理算法;
[0037] 分割模块,用于通过处理算法将待处理视频分割为动态区域和静态区域;
[0038] 标识模块,用于对动态区域和静态区域添加区域标识;
[0039] 发送模块,用于当接收到客户端的视频获取请求时,则将待处理视频以及待处理视频的区域标识发送至客户端。
[0040] 一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的步骤。
[0041] 一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法中的步骤。
[0042] 上述视频渲染方法、装置、计算机设备及存储介质,不需实时渲染所有的视频内容,而是将待渲染视频分割为动态区域和静态区域,在执行渲染操作时,只渲染当前静态区域的第一帧,并持续使用渲染后的这一帧,还需根据待渲染视频的实际情况实时更新分割后的动态区域和静态区域;只渲染静态区域的第一帧并持续使用,节省了计算资源,提高了渲染效率,使得当渲染设备可以在同样的渲染效率下,渲染更高分辨率的视频数据,提高了高分辨率视频的渲染效果。

附图说明

[0043] 图1为一实施例中视频渲染方法应用场景图;
[0044] 图2为一实施例中视频渲染方法的流程图;
[0045] 图3为一实施例中视频渲染方法中当前动态区域和所述当前静态区域发生改变的步骤的流程图;
[0046] 图4为一实施例中视频处理方法的流程图;
[0047] 图5为一实施例中视频渲染装置的结构图;
[0048] 图6为一实施例中视频处理装置的结构图;
[0049] 图7为一实施例中执行视频渲染的计算机设备的结构示意图;
[0050] 图8为一实施例中执行视频处理的计算机设备的结构示意图。

具体实施方式

[0051] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
[0052] 在详细说明根据本发明的实施例前,应该注意到的是,所述的实施例主要在于与视频渲染方法、装置、计算机设备及可读存储介质相关的步骤和系统组件的组合。因此,所属系统组件和方法步骤已经在附图中通过常规符号在适当的位置表示出来了,并且只示出了与理解本发明的实施例有关的细节,以免因对于得益于本发明的本领域普通技术人员而言显而易见的那些细节模糊了本发明的公开内容。
[0053] 在本文中,诸如左和右,上和下,前和后,第一和第二之类的关系术语仅仅用来区分一个实体或动作与另一个实体或动作,而不一定要求或暗示这种实体或动作之间的任何实际的这种关系或顺序。术语“包括”、“包含”或任何其他变体旨在涵盖非排他性的包含,由此使得包括一系列要素的过程、方法、物品或者设备不仅包含这些要素,而且还包含没有明确列出的其他要素,或者为这种过程、方法、物品或者设备所固有的要素。
[0054] 请参见图1,图1提供一实施例中视频渲染方法应用场景图,其中包括视频渲染设备和视频服务器,视频渲染设备和视频服务器可以进行网络连接,视频渲染设备可以是3D视频播放设备,如3D眼镜或计算机设备等,视频服务器上设置有视频处理算法,通过相应的算法将待处理视频分割为动态区域和静态区域并标识,然后将标识后的视频发送给视频渲染设备;视频渲染设备接收视频服务器发送的视频以及视频的区域标识,根据区域标识识别动态区域和静态区域,实时渲染动态区域且更新动态区域的内容,而对静态区域只渲染第一帧并持续使用,静态区域变化时,按照变化后的区域按照前述的渲染方式渲染,直至整个视频渲染完成,使得视频渲染设备能够根据视频服务器的算法,分别对分割出的动态区域和静态区域进行不同的渲染操作。
[0055] 请参见图2,提供一种视频渲染方法的流程图,本实施例以该方法应用到上述图1中的视频渲染设备来举例说明,该视频渲染设备上运行有视频渲染程序,通过该视频渲染程序来对视频服务器发送的待渲染视频进行渲染。该方法包括如下步骤:
[0056] S202:接收服务器发送的视频以及视频的区域标识。
[0057] 其中,区域标识是服务器对待渲染视频进行分析后,对该视频标注的可以区分动态区域和静态区域的标识。例如这一标识可以是标签或者标志位;如在视频数据中预设特定位作为标志位,若为动态区域,则该标识位为0,若为静态区域,则该标识位为1;或者在视频文件最后指定位数中设置特定数据段,该特定数据段为在待渲染视频中,动态区域和静态区域分别对应的像素坐标区间。
[0058] 具体地,服务器将待渲染视频按照相应算法分割为动态区域和静态区域后,根据视频渲染设备的请求将标识后的视频发送给视频渲染设备。且由于视频文件通常占用的带宽较大,可在发送前对标识后的待渲染视频进行编码和压缩等操作,以方便传输,此外服务器向视频渲染设备发送的待渲染视频中的静态区域可以仅包括该静态区域的持续时间内的第一帧中的静态区域,以减少传输量。
[0059] S204:根据区域标识识别视频中的动态区域和静态区域。
[0060] 具体地,视频渲染设备接收到服务器发送的标识后的待渲染视频后,对该待渲染视频进行渲染,在渲染前首先读取视频的区域标识,根据区域标识获取到视频的动态区域和静态区域。其中,如果待渲染视频在服务器端已经被编码或者压缩,视频渲染设备则先对该文件进行对应的解码和解压缩等操作;再根据区域标识,识别出与区域标识对应的动态区域和静态区域。
[0061] S206:按照视频中的视频帧的播放顺序渲染当前动态区域的每一帧和当前静态区域的第一帧。
[0062] 具体地,视频渲染设备在识别出服务器标注的待渲染视频的动态区域和静态区域后,对动态区域的所有内容按照渲染要求进行实时渲染,即对于动态区域,按照视频帧的播放顺序渲染每一帧的图像;而对于静态区域来说,一段时间内静态区域的视频内容基本不发生变化,不需要实时更新,因此当某一区域被标识为静态区域时,只需渲染此区域被标识为静态区域的时间内的第一帧图像,并在静态区域的持续时间内始终使用渲染后的第一帧图像进行显示即可。
[0063] 例如,一个视频文件包括20帧。其中每一帧的第一区域为动态区域,第二区域为静态区域,在渲染的时候,按照顺序渲染该10帧图像的动态区域,且只渲染第一帧的静态区域,并持续显示20帧中第一帧的第二区域,且按视频播放顺序显示渲染后的第一区域的每一帧,直至20帧图像渲染完成。
[0064] S208:当当前动态区域和当前静态区域发生改变时,则按照视频中的视频帧的播放顺序渲染改变后的动态区域的每一帧和改变后的静态区域的第一帧,直至视频渲染完成。
[0065] 具体地,若当前动态区域和当前静态区域发生改变,即当前静态区域的第一帧不再能够代表下一帧中对应的区域,则根据下一帧图像的区域标识获取下一帧图像中的静态区域,并在下一帧图像中的静态区域的持续时间内仅渲染下一帧图像中的静态区域,并持续渲染后续图像帧的动态区域。
[0066] 例如,上述20帧的视频文件中,前10帧中每一帧的第一区域为动态区域,第二区域为静态区域,而第11至20帧中每一帧的第一区域为静态区域,第二区域为动态区域;在渲染的时候,先按照顺序渲染前10帧图像的第二区域,且只渲染第1帧的第一区域,并在前10帧始终显示第1帧的第一区域,并按10帧视频的播放顺序显示每一帧的第二区域;然后按顺序渲染第11至20帧中的第一区域,且只渲染第11帧的第二区域,并在第11至20帧中,始终显示第11帧的第二区域和的按顺序显示这10帧的每一帧的第一区域,直至20帧图像显示完成。
[0067] 上述的视频渲染方法,视频渲染设备不需对待渲染视频的所有内容进行渲染,只渲染识别出的静态区域的第一帧,并在此静态区域的持续时间内始终显示静态区域的第一帧图像,只需更新动态区域的图像即可,节省了渲染静态区域每一帧图像的计算资源,提高了渲染设备的渲染效率,使得当前的视频渲染设备能够支持对更高分辨率的视频文件的渲染要求,避免出现在待渲染视频分辨率较高时,渲染设备的计算能力不足,而出现卡顿、掉帧、马赛克等问题,提高了对高分辨率视频的渲染效果。
[0068] 请参见图3,在其中一实施例中,上述方法中的步骤S208中当前动态区域和当前静态区域发生改变的步骤可以包括:
[0069] S302:接收服务器发送的静态区域的持续时间。
[0070] 具体地,服务器在对视频进行动态分析时,当某区域在一定时间内被标识为静态区域,且该区域在后续连续几个帧中都被标识为静态区域时,服务器则统计该静态区域的持续时间,即在持续时间内,对应的静态区域的位置是固定的,而到达持续时间之后,动态区域和静态区域的位置发生改变。渲染设备在接收服务器发送的待渲染视频的同时,也接收服务器标注的对应静态区域的持续时间。
[0071] S304:从所接收的静态区域的持续时间中选取与当前静态区域对应的持续时间。
[0072] 具体地,视频渲染设备根据当前静态区域,从所接收到静态区域的持续时间选取到静态区域的持续时间。例如视频渲染设备在渲染视频时,按照视频播放顺序进行对视频进行渲染,该静态区域的持续时间也可以按照视频播放顺序进行排序,若视频渲染设备开始渲染当前静态区域时,则直接读取当前静态区域的持续时间,若当前静态区域的持续时间到达时,则继续渲染下一帧图像帧中的静态区域,并按照顺序读取下一静态区域的持续时间,即下一帧图像帧的持续时间即可。
[0073] S306:当当前静态区域的第一帧的显示时间等于所选取的持续时间时,则当前动态区域和当前静态区域发生改变。
[0074] 具体地,当某一静态区域的第一帧的显示时间等于对应静态区域的持续时间时,则认为待渲染视频的下一帧的动态区域和静态区域与上一帧不同,需要按照新识别的动态区域和静态区域继续渲染视频,即根据区域标识识别下一图像帧中的静态区域和动态区域,并按照上述方式进行渲染。
[0075] 其中,如果一个视频文件中同时有多个动态区域和多个静态区域,需要分别统计每个静态区域的持续时间,当其中第一静态区域到达其持续时间后,在下一帧图像帧中,第一静态区域发生变化,而其他静态区域的显示时间不等于对应的持续时间,则下一帧图像帧中,第一静态区域的显示图像发生改变,而其他静态区域不发生改变仍显示渲染后的对应静态区域的当前持续时间内的第一帧图像。例如某一视频文件中存在第一静态区域和第二静态区域时,第一静态区域的持续时间为1秒,第二静态区域的持续时间为2秒,当第一静态区域在1秒后变为动态区域时,视频渲染设备仍可以保持第二静态区域显示对应持续时间内的第一帧,而不需要重新渲染第二静态区域在1秒后的第一帧。
[0076] 在渲染复杂的视频时,单一的区域标识无法准确反映视频的图像变化情况。服务器需要对复杂的视频进行对应的区域标识,并统计标识后的静态区域的持续时间,而视频渲染设备通过上述方法,能够使得每一静态区域只在到达这一静态区域对应的持续时间时,才需要渲染并显示下一帧的内容,不会受到其他静态区域变化的影响。在渲染复杂的视频时,既保证了视频的渲染效果,也最大程度上节省了渲染设备的计算资源。
[0077] 上述实施例,视频渲染设备通过与静态区域对应的持续时间来判断静态区域和动态区域的变化情况,通过此方法能够使服务器更加准确地识别待渲染视频的变化情况,视频渲染设备也可以根据服务器的识别结果,实现更精确的渲染效果。
[0078] 请参见图4,图4提供一实施例中视频处理方法的流程图,本实施例以该方法应用到上述图1中的服务器来举例说明,该服务器上运行有视频处理程序,通过该视频处理程序来对待处理视频进行处理。该方法包括如下步骤:
[0079] S402:获取待处理视频以及与待处理视频对应的处理算法。
[0080] 具体地,服务器获取待处理视频,并根据待处理视频的复杂程度和处理要求等参数选择对应的处理算法,以对待处理视频进行动态分析。例如每个服务器可以根据需要设置对应的处理算法,从而当待处理视频被传输至该服务器时,则直接获取服务器对应的处理算法对待处理视频进行处理即可。或者每个待处理视频携带有复杂程度和处理要求参数,服务器根据该复杂程度和处理要求参数获取到对应的处理算法,该种情况下,服务器可以预设复杂程度的级别M和处理要求的级别N的权重,例如分别为m和n,然后计算处理算法的等级=M×m+N×n,再根据所得到的算法的等级获取相应的算法。其中,处理算法可以是帧间差分法、深度学习算法或边缘检测法等。
[0081] S404:通过处理算法将待处理视频分割为动态区域和静态区域。
[0082] 具体地,通过上述处理算法对待处理视频进行动态分析,以将待处理视频分割为动态区域和静态区域,以便客户端对待处理视频的不同区域进行对应的渲染操作:实时渲染动态区域,而对静态区域只渲染第一帧并持续使用;当静态区域变化时,按照变化后的区域按照前述的渲染方式渲染,直至整个视频渲染完成。
[0083] S406:对动态区域和静态区域添加区域标识。
[0084] 其中,区域标识是服务器对待渲染视频进行分析后,对该视频标注的可以区分动态区域和静态区域的标识。例如这一标识可以是标签或者标志位;如在视频数据中预设特定位作为标志位,若为动态区域,则该标识位为0,若为静态区域,则该标识位为1;或者在视频文件最后指定位数中设置特定数据段,该特定数据段为在待渲染视频中,动态区域和静态区域分别对应的像素坐标区间。
[0085] S408:当接收到客户端的视频获取请求时,则将待处理视频以及待处理视频的区域标识发送至客户端。
[0086] 其中,视频获取请求是客户端(即视频渲染设备)向服务器发送的获取待渲染视频的请求,待渲染视频即为服务器处理后的视频,包括待处理视频和区域标识。
[0087] 具体地,由于视频文件通常占用的带宽较大,可在发送前对标识后的待渲染视频进行编码和压缩等操作,以方便传输,此外服务器向视频渲染设备发送的待渲染视频中的静态区域可以仅包括该静态区域的持续时间内的第一帧中的静态区域,以减少传输量。客户端接收服务器发送的待处理视频以及待处理视频的区域标识后,按照上述视频渲染方法对此视频进行渲染。
[0088] 上述视频处理方法中,服务器将待处理视频按照相应算法将待处理视频分割为动态区域和静态区域,并对分割后的动态区域和静态区域标注区域标识,然后将待处理视频和区域标识一起发送给客户端,通过动态区域和静态区域的分割这一操作,使得视频渲染设备(即客户端)能够根据不同区域的变化情况对待渲染视频执行适应的渲染操作,视频渲染设备不需对待渲染视频的所有内容进行渲染,只渲染识别出的静态区域的第一帧,并在此静态区域的持续时间内始终显示静态区域的第一帧图像,只需更新动态区域的图像即可,节省了渲染静态区域每一帧图像的计算资源,提高了渲染设备的渲染效率,使得当前的视频渲染设备能够支持对更高分辨率的视频文件的渲染要求,避免出现在待渲染视频分辨率较高时,渲染设备的计算能力不足,而出现卡顿、掉帧、马赛克等问题,提高了对高分辨率视频的渲染效果。
[0089] 在其中一个实施例中,当所选择的算法是帧间差分法时,图4中所示的步骤S404,即通过处理算法将待处理视频分割为动态区域和静态区域的步骤可以包括:通过处理算法计算待处理视频的相邻帧中对应像素的差值;当差值不超过预设值时,则像素对应的区域为静态区域;当差值超过预设值时,则像素对应的区域为动态区域。
[0090] 其中,帧间差分法即将相邻帧的对应像素点相减,当一个区域所有像素点所得的差值的绝对值在几个相邻帧中均小于预设值时,此区域为静态区域,反之,则为动态区域。上述差值可以是相邻帧对应像素点亮度的差值;也可以计算图像的灰度值,上数差值取相邻帧对应像素点的灰度值的差。
[0091] 具体地,服务器对待处理视频的相邻帧对应的像素点的亮度值或者灰度值相减,当一个像素点的所得差值在连续几个相邻帧中都小于预设值时,此像素为静态像素;当相邻的像素点超过静态像素阈值时,此若干相邻的像素点合称静态区域。
[0092] 例如,一待处理视频共20帧,其中每帧包括10个像素,服务器提取每帧图像的亮度值或者灰度值,并从第一帧开始,将每帧图像中的每个像素点和下一帧图像中对应的像素点相减,得到差值,如果20帧图像中的前5个像素点的差值的绝对值均小于阈值时,则前5个像素点被称为静态像素,而服务器预设的静态像素阈值为3个,前5个静态像素相邻且满足构成静态区域的条件,则此视频的每帧图像的前5个像素合称静态区域。
[0093] 上述实施例中采用帧间差值法对待处理视频进行动态分析,能够通过相邻帧对应像素的差值分析视频中对应区域的变化,通过设置阈值的方式,得出对应像素的变化情况,将变化不明显的部分分割为静态区域,变化明显的部分分割为动态区域,并对分割后的动态区域和静态区域添加区域标识,以便客户端对不同的区域执行对应的渲染操作,且帧间差值法可适用于所有的视频文件,根据视频文件的亮度或灰度的变化情况来对视频进行动态分析,应用范围广。
[0094] 在其中一个实施例中,当所选择的算法是深度学习算法时,图4中所示的步骤S404,即通过处理算法将待处理视频分割为动态区域和静态区域的步骤可以包括:通过处理算法获取与所述待处理视频对应的匹配模型;将所述待处理视频输出至所述匹配模型中得到动态区域和静态区域。
[0095] 具体地,深度学习算法,即服务器可以对待处理视频的进行分析,识别待处理视频的主体,并根据主体建立深度学习模型,然后根据深度学习模型,将待处理视频中的每一帧与深度学习模型进行匹配。
[0096] 例如,在一个视频处理操作中,服务器对待处理视频的前10帧进行分析,识别在这10帧待处理视频的主体(如某人物),并根据主体建立深度学习模型,然后根据深度学习模型,将待处理视频中的每一帧与深度学习模型进行匹配,则每一帧中可以与深度学习模型匹配的像素区域为动态区域,其他区域为静态区域,即在这10帧视频中,识别出的人物主体的运动轨迹及人物动作的变化区域为动态区域。
[0097] 上述实施例中采用深度学习算法对待处理视频进行动态分析,服务器可以通过匹配待处理视频的主体,将与匹配模型对应的主体部分分割为动态区域,其他区域分割为静态区域,并对分割后的动态区域和静态区域添加区域标识,以便客户端对不同的区域执行对应的渲染操作,使得客户端根据主要渲染视频主体的运动轨迹,对于其他区域可不做实时的渲染和更新,使渲染操作更加智能,更有针对性。
[0098] 在其中一个实施例中,上述视频处理方法还可以包括以下步骤:统计静态区域的持续时间。对应地,步骤S408,即当接收到客户端的视频获取请求时,则将待处理视频以及待处理视频的区域标识发送至客户端可以包括当接收到客户端的视频获取请求时,将待处理视频、待处理视频的区域标识以及静态区域的持续时间发送至所述客户端。
[0099] 具体地,服务器获取待处理视频,并选择与待处理视频对应的处理算法后,根据处理算法对视频进行动态分析,将待处理视频分割为动态区域和静态区域,并对分割后的动态区域和静态区域添加区域标识,当某区域在一定时间内被标识为静态区域,且该区域在后续连续几个帧中都被标识为静态区域时,服务器则统计该静态区域的持续时间,即在持续时间内,对应的静态区域的位置是固定的,而到达持续时间之后,动态区域和静态区域的位置发生改变,当接收到客户端的视频获取请求时,将静态区域的持续时间与待处理视频、待处理视频的区域标识一起发送至所述客户端,以便于客户端根据该静态区域的持续时间来判断静态区域和动态区域的位置是否改变。
[0100] 进一步地,当某一静态区域在连续多帧(可自行设置连续帧的数量)被标识为静态区域时,则统计此连续多帧的播放时间,即为静态区域的持续时间。服务器对待处理视频做完上述处理后,将待处理视频、区域标识及静态区域的持续时间发送给客户端。
[0101] 视频渲染设备接收所述待处理视频、区域标识及静态区域的持续时间,从所接收到静态区域的持续时间选取当前要渲染的静态区域的持续时间。例如视频渲染设备在渲染视频时,按照视频播放顺序进行对视频进行渲染,该静态区域的持续时间也可以按照视频播放顺序进行排序,若视频渲染设备开始渲染当前静态区域时,则直接读取当前静态区域的持续时间,若当前静态区域的持续时间到达时,则继续渲染下一帧图像帧中的静态区域,并按照顺序读取下一静态区域的持续时间,即下一帧图像帧的持续时间即可。
[0102] 上述实施例,视频渲染设备通过与静态区域对应的持续时间来判断静态区域和动态区域的变化情况,通过此方法能够使服务器更加准确地识别待渲染视频的变化情况,视频渲染设备也可以根据服务器的识别结果,实现更精确的渲染效果。
[0103] 在其中一个实施例中,可参见图5,提供一视频渲染装置的结构示意图,该视频渲染装置500包括:
[0104] 接收模块502,用于接收服务器发送的视频以及视频的区域标识。
[0105] 识别模块504,用于根据区域标识识别视频中的动态区域和静态区域。
[0106] 渲染模块506,用于按照视频中的视频帧的播放顺序渲染当前动态区域的每一帧和当前静态区域的第一帧。
[0107] 判断模块508,用于当当前动态区域和当前静态区域发生改变时,则按照视频中的视频帧的播放顺序渲染改变后的动态区域的每一帧和改变后的静态区域的第一帧,直至视频渲染完成。
[0108] 在其中一个实施例中,上述视频渲染设备510中的判断模块518包括:
[0109] 接收单元,用于接收服务器发送的静态区域的持续时间。
[0110] 选取单元,用于从所接收的静态区域的持续时间中选取与当前静态区域对应的持续时间。
[0111] 判断单元,用于当当前静态区域的第一帧的显示时间等于所选取的持续时间时,则当前动态区域和当前静态区域发生改变。
[0112] 上述关于视频渲染装置的具体限定可以参见上文中关于视频渲染方法的限定,在此不再赘述。
[0113] 在其中一个实施例中,可参见图6,提供一视频处理装置的结构示意图,视频处理装置600包括:
[0114] 算法模块602,用于获取待处理视频以及与待处理视频对应的处理算法。
[0115] 分割模块604,用于通过处理算法将待处理视频分割为动态区域和静态区域。
[0116] 标识模块606,用于对动态区域和静态区域添加区域标识。
[0117] 发送模块608,用于当接收到客户端的视频获取请求时,则将待处理视频以及待处理视频的区域标识发送至客户端。
[0118] 在其中一个实施例中,视频处理装置还可以包括:
[0119] 计时模块,用于统计静态区域的持续时间。
[0120] 上述发送模块还用于将静态区域的持续时间发送至客户端。
[0121] 在其中一个实施例中,上述视频处理装置610中的分割模块604可以包括:
[0122] 计算单元,用于通过处理算法计算待处理视频的相邻帧中对应像素的差值。
[0123] 第一分割单元,用于当差值不超过预设值时,则像素对应的区域为静态区域。当差值超过预设值时,则像素对应的区域为动态区域。
[0124] 在其中一个实施例中,上述视频处理装置610中的分割模块604可以包括:
[0125] 获取单元,用于当处理算法为深度学习算法时,则获取与待处理视频对应的匹配模型。
[0126] 第二分割单元,用于将待处理视频输出至匹配模型中得到动态区域和静态区域。
[0127] 上述关于视频处理装置的具体限定可以参见上文中关于视频处理方法的限定,在此不再赘述。
[0128] 在其中一个实施例中,请参见图7,提供一执行视频渲染的计算机设备的结构示意图,该计算机设备可以执行视频渲染设备、是常规服务器或其他任何合适的计算机设备,包括存储器、处理器、操作系统、数据库以及存储在存储器上并可在处理器上运行的视频渲染程序,其中存储器可以包括内存储器,处理器执行视频渲染程序时实现以下步骤:接收服务器发送的视频以及视频的区域标识;根据区域标识识别视频中的动态区域和静态区域;按照视频中的视频帧的播放顺序渲染当前动态区域的每一帧和当前静态区域的第一帧;当当前动态区域和当前静态区域发生改变时,则按照视频中的视频帧的播放顺序渲染改变后的动态区域的每一帧和改变后的静态区域的第一帧,直至视频渲染完成。
[0129] 在其中一个实施例中,处理器执行程序时所实现的当前动态区域和所述当前静态区域发生改变的步骤可以包括:接收服务器发送的静态区域的持续时间,从所接收的静态区域的持续时间中选取与当前静态区域对应的持续时间,当当前静态区域的第一帧的显示时间等于所选取的持续时间时,则当前动态区域和当前静态区域发生改变。
[0130] 上述关于计算机设备的具体限定可以参见上文中关于视频渲染方法的限定,在此不再赘述。
[0131] 在一个实施例中,请继续参阅图7,提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:接收服务器发送的视频以及视频的区域标识;根据区域标识识别视频中的动态区域和静态区域;按照视频中的视频帧的播放顺序渲染当前动态区域的每一帧和当前静态区域的第一帧;当当前动态区域和当前静态区域发生改变时,则按照视频中的视频帧的播放顺序渲染改变后的动态区域的每一帧和改变后的静态区域的第一帧,直至视频渲染完成。
[0132] 在其中一个实施例中,该程序被处理器执行时所实现的当前动态区域和所述当前静态区域发生改变的步骤可以包括:接收服务器发送的静态区域的持续时间,从所接收的静态区域的持续时间中选取与当前静态区域对应的持续时间,当当前静态区域的第一帧的显示时间等于所选取的持续时间时,则当前动态区域和当前静态区域发生改变。
[0133] 上述关于计算机存储介质的具体限定可以参见上文中关于视频渲染方法的限定,在此不再赘述。
[0134] 在其一个实施例中,请参见图8,提供一执行视频处理的计算机设备的结构示意图,该计算机设备可以执行视频处理设备、是常规服务器或其他任何合适的计算机设备,包括存储器、处理器、操作系统、数据库以及存储在存储器上并可在处理器上运行的视频处理程序,其中存储器可以包括内存储器,处理器执行视频处理程序时实现以下步骤:获取待处理视频以及与待处理视频对应的处理算法;通过处理算法将待处理视频分割为动态区域和静态区域;对动态区域和静态区域添加区域标识;当接收到客户端的视频获取请求时,则将待处理视频以及待处理视频的区域标识发送至客户端。
[0135] 在其中一个实施例中,处理器执行程序时所实现的通过所述处理算法将所述待处理视频分割为动态区域和静态区域的步骤之后还可以包括:统计静态区域的持续时间,并将静态区域的持续时间发送至客户端。
[0136] 在其中一个实施例中,处理器执行程序时所实现的通过所述处理算法将所述待处理视频分割为动态区域和静态区域的步骤还可以包括:通过处理算法计算待处理视频的相邻帧中对应像素的差值,当差值不超过预设值时,则像素对应的区域为静态区域,当差值超过预设值时,则像素对应的区域为动态区域。
[0137] 在其中一个实施例中,处理器执行程序时所实现的通过所述处理算法将所述待处理视频分割为动态区域和静态区域的步骤,还可以包括:当处理算法为深度学习算法时,则获取与待处理视频对应的匹配模型,将待处理视频输出至匹配模型中得到动态区域和静态区域。
[0138] 上述关于计算机设备的具体限定可以参见上文中关于视频处理方法的限定,在此不再赘述。
[0139] 在一个实施例中,请继续参阅图8,提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:获取待处理视频以及与待处理视频对应的处理算法;通过处理算法将待处理视频分割为动态区域和静态区域;对动态区域和静态区域添加区域标识;当接收到客户端的视频获取请求时,则将待处理视频以及待处理视频的区域标识发送至客户端。
[0140] 在其中一个实施例中,该程序被处理器执行时所实现的通过所述处理算法将所述待处理视频分割为动态区域和静态区域的步骤之后还可以包括:统计静态区域的持续时间,并将静态区域的持续时间发送至客户端。
[0141] 在其中一个实施例中,该程序被处理器执行时所实现的通过所述处理算法将所述待处理视频分割为动态区域和静态区域的步骤还可以包括:通过处理算法计算待处理视频的相邻帧中对应像素的差值,当差值不超过预设值时,则像素对应的区域为静态区域,当差值超过预设值时,则像素对应的区域为动态区域。
[0142] 在其中一个实施例中,该程序被处理器执行时所实现的通过所述处理算法将所述待处理视频分割为动态区域和静态区域的步骤,还可以包括:当处理算法为深度学习算法时,则获取与待处理视频对应的匹配模型,将待处理视频输出至匹配模型中得到动态区域和静态区域。
[0143] 上述关于计算机存储介质的具体限定可以参见上文中关于视频处理方法的限定,在此不再赘述。
[0144] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的程序可存储于一非易失性计算机可读取计算机存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,计算机可读取的计算机存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
[0145] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0146] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。