一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频图像处理方法、装置及服务器与流程

2021-12-14 23:35:00 来源:中国专利 TAG:


1.本技术涉及云计算及视频图像处理技术领域,具体而言,涉及一种视频图像处理方法、装置及服务器。


背景技术:

2.随着用户需求的不断提高,对应用软件的要求也越来越高,同时应用软件对客户端的硬件要求也不断提高,受限于客户端的硬件配置,很多应用软件无法在客户端上运行或者运行效果不佳。为了解决上述问题,现有技术将云计算和应用软件(比如,游戏运用软件或视频播放软件)相结合诞生了云应用方案,在云应用方案中,所有的应用逻辑都在服务器中运行,然后由服务器将视频压缩后传输给客户端进行显示,如此,只需要客户端配置一般的硬件即可。对客户端唯一的要求就是需要具有视频解码功能以及稳定可靠的网络。如果网络不稳定,云应用可能也不可靠。以云游戏为例,目前市面上涌现的很多云游戏平台(比如,网易云游戏平台、腾讯start、西山居云游戏和菜鸡云游戏等)对网络具有较高的要求,即在进入游戏时会进行实时网速测量,在实时网速大于预设网速(比如,20m/s)时才能进入游戏,进而导致很多客户端因实时网速达不到要求而无法使用云应用。


技术实现要素:

3.为了至少克服现有技术中的上述不足,本技术的目的在于提供一种视频图像处理方法、装置及服务器。
4.第一方面,本技术实施例提供一种视频图像处理方法,应用于服务器,所述服务器与客户端通信连接,所述方法包括:
5.获取目标应用在所述服务器上运行时的目标视频图像;
6.将所述目标视频图像中的首帧图像编码为内部编码帧,并将所述目标视频图像中的首帧图像之后的帧图像编码为向前预测帧,得到编码后的目标视频图像;
7.将所述编码后的目标视频图像发送给所述客户端,由所述客户端对所述编码后的目标视频图像进行解码后进行显示。
8.在上述方案中,通过将目标视频图像中的首帧图像编码为内部编码帧(i帧),并将目标视频图像中的首帧图像之后的帧图像编码为向前预测帧(p帧),由内部编码帧和向前预测帧组成编码后的目标视频图像。一方面,只有首帧图像会编码成内部编码帧,可以减少编码后内部编码帧的数量,进而减小编码后视频数据的数据量;另一方面,将首帧图像之后的帧图像均编码成向前预测帧,由于不编码双向内插帧(b帧),在进行编码时,可以降低编码延时。基于上述理由可以降低客户端对网速的要求,即便在低于目前云应用要求的实时网速条件下,也可以获得良好的云端服务。
9.在一种可能的实现方式中,所述将所述编码后的目标视频图像发送给所述客户端的步骤,包括:
10.将所述编码后的目标视频图像进行封装得到数据包;
11.将所述封装得到的数据包发送给所述客户端;
12.所述方法还包括:
13.记录所述服务器发送的数据包的第一数量,并接收所述客户端反馈的接收到的数据包的第二数量;
14.在所述第一数量与所述第二数量不相等时,将获取的目标视频图像中的下一帧图像更新为所述目标视频图像的首帧图像,并回到所述将所述目标视频图像中的首帧图像编码为内部编码帧,并将所述目标视频图像中的首帧图像之后的帧图像编码为向前预测帧,得到编码后的目标视频图像的步骤。
15.在一种可能的实现方式中,在所述第一数量与所述第二数量相等时,所述方法还包括:
16.接收所述客户端对接收到的数据包进行解封装操作的反馈信息,其中,所述进行解封装操作的反馈信息包括用于表征接收到的数据包中的数据是否有效的第一指示信息;
17.在所述第一指示信息表征接收到的数据包中的数据无效时,将获取的目标视频图像中的下一帧图像更新为所述目标视频图像的首帧图像,并回到所述将所述目标视频图像中的首帧图像编码为内部编码帧,并将所述目标视频图像中的首帧图像之后的帧图像编码为向前预测帧,得到编码后的目标视频图像的步骤。
18.在一种可能的实现方式中,所述方法还包括:
19.在所述第一指示信息表征接收到的数据包中的数据有效时,接收所述客户端对解封装操作后的数据进行解码操作的反馈信息,其中,进行解码操作的反馈信息包括用于表征对数据进行解码是否成功的第二指示信息;
20.在所述第二指示信息表征解码不成功时,将获取的目标视频图像中的下一帧图像更新为所述目标视频图像的首帧图像,并回到所述将所述目标视频图像中的首帧图像编码为内部编码帧,并将所述目标视频图像中的首帧图像之后的帧图像编码为向前预测帧,得到编码后的目标视频图像的步骤;
21.在所述第二指示信息表征解码成功时,检测所述目标应用是否结束,在检测到目标应用未结束时,将获得的目标视频图像中的帧图像编码为向前预测帧。
22.在一种可能的实现方式中,所述方法还包括:
23.监测所述服务器的运行数据,以判断所述服务器是否发生异常;
24.在所述服务器发生异常时,重启所述服务器用于进行所述视频图像处理的服务模块。
25.在一种可能的实现方式中,在所述运行数据为获取的所述目标视频图像的帧率时,所述监测所述服务器的运行数据,以判断所述服务器是否发生异常的步骤包括:
26.将获取的所述目标视频图像的帧率与预设的第一帧率范围进行比较,在获取的所述目标视频图像的帧率位于所述预设的第一帧率范围内时,判定所述服务器未发生异常,反之,则判定所述服务器发生异常,其中,所述第一帧率范围由所述目标应用在所述服务器上运行时的显示帧率确定;
27.在所述运行数据为所述目标视频图像的拍摄快照时,所述监测所述服务器的运行数据,以判断所述服务器是否发生异常的步骤包括:
28.将所述目标视频图像的拍摄快照输入训练好的图像异常模型中进行异常识别,在
所述训练好的图像异常模型输出拍摄快照为异常快照时,判定所述服务器发生异常,反之,判定所述服务器未发生异常,其中,所述图像异常模型将所述拍摄快照与该拍摄快照之前的拍摄快照以及之后的拍摄快照进行比较,并根据比较结果判定所述拍摄快照是否异常;
29.在所述运行数据为对所述目标视频图像进行编码后输出的帧率时,所述监测所述服务器的运行数据,以判断所述服务器是否发生异常的步骤包括:
30.将对所述目标视频图像进行编码后输出的帧率与预设的第二帧率范围进行比较,在对所述目标视频图像进行编码后输出的帧率位于所述预设的第二帧率范围内时,判定所述服务器未发生异常,反之,则判定所述服务器发生异常,其中,所述第二帧率范围由编码前所述目标视频图像的帧率确定。
31.在一种可能的实现方式中,所述将所述目标视频图像中的首帧图像编码为内部编码帧,并将所述目标视频图像中的非首帧图像编码为向前预测帧,得到编码后的目标视频图像的步骤,包括:
32.基于可变码率的编码方式将所述目标视频图像中的首帧图像编码为内部编码帧,并将所述目标视频图像中的非首帧图像编码为向前预测帧,得到编码后的目标视频图像。
33.在一种可能的实现方式中,接收所述客户端发送的所述客户端支持的目标编码规则,以采用所述目标编码规则对所述目标视频图像进行编码;其中,所述目标编码规则为第一编码规则或第二编码编码规则,在相同图像质量要求的条件下,采用所述第一编码规则编码的视频的数据量小于采用所述第二编码规则编码的视频的数据量;
34.所述目标编码规则根据所述客户端的本地缓存配置确定,所述本地缓存配置包括用于表征所述客户端支持所述第一编码规则或所述第二编码规则的编码参数;在所述编码参数表征所述客户端支持第一目标编码规则时,将所述第一目标编码规则确定为所述目标编码规则;在所述编码参数表征所述客户端支持第二目标编码规则时,将所述第二目标编码规则确定为所述目标编码规则。
35.第二方面,本技术实施例还提供视频图像处理装置,应用于服务器,所述服务器与客户端通信连接,所述装置包括:
36.获取模块,用于获取目标应用在所述服务器上运行时的目标视频图像;
37.编码模块,用于将所述目标视频图像中的首帧图像编码为内部编码帧,并将所述目标视频图像中的首帧图像之后的帧图像编码为向前预测帧,得到编码后的目标视频图像;
38.发送模块,用于将所述编码后的目标视频图像发送给所述客户端,由所述客户端对所述编码后的目标视频图像进行解码后进行显示。
39.第三方面,本技术实施例还提供一种服务器,所述服务器包括处理器、计算机可读存储介质及通信单元,所述处理器、所述计算机可读存储介质及所述通信单元之间通过总线系统连接,所述通信单元用于连接客户端以实现所述服务器与所述客户端之间的数据交互,所述计算机可读存储介质用于存储程序、指令或代码,所述处理器用于执行所述计算机可读存储介质中的程序、指令或代码,以实现第一方面中任意一个可能的实现方式中的视频图像处理方法。
40.第四方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其被执行时,使得计算机执行上述第一方面或者第一方面中任意一个可能
的实现方式中的视频图像处理方法。
41.基于上述任意一个方面,本技术实施例提供的视频图像处理方法、装置及服务器。一方面只有首帧图像会编码成内部编码帧(i帧),可以减少编码后内部编码帧的数量,进而减小编码后视频数据的数据量;另一方面,将首帧图像之后的帧图像均编码成向前预测帧(p帧),由于不编码双向内插帧(b帧),在进行编码时,可以降低编码延时。基于上述理由可以降低客户端对网速的要求,即便在低于目前云应用要求的实时网速条件下,也可以获得良好的云端服务。
附图说明
42.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要调用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
43.图1为本技术实施例提供的云应用系统的交互场景示意图;
44.图2为本技术实施例提供的视频图像处理方法的一种流程示意图;
45.图3为本技术实施例提供的视频图像处理方法的另一种流程示意图;
46.图4为本技术实施例提供的视频图像处理装置的功能模块示意图;
47.图5为本技术实施例提供的服务器的可能结构示意图。
具体实施方式
48.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解,本技术中附图仅起到说明和描述的目的,并不用于限定本技术的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本技术中使用的流程图示出了根据本技术实施例的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本技术内容的指引下,可以向流程图添加一个或多个其它操作,也可以从流程图中移除一个或多个操作。
49.另外,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本技术保护的范围。
50.请参照图1,图1示出了本技术实施例提供的云应用系统10的交互场景示意图。例如,云应用系统10可以是用于诸如云游戏、云视频播放等的服务平台。云应用系统10可以包括通信连接的服务器100及客户端200,服务器100可以为客户端200提供数据运算支持,如由服务器100进行应用软件的逻辑运行。
51.在本技术实施例中,客户端200可以是,但不限于智能手机、个人数字助理、平板电脑、个人计算机、笔记本电脑、虚拟现实终端设备、增强现实终端设备等。在具体实施过程中,可能有一个或多个客户端200接入该服务器100,图1中仅示出两个。其中,客户端200中
可以安装由服务器100提供服务(比如,游戏服务)的程序产品,例如,程序产品可以是计算机或智能手机中使用的与互联网视频相关的应用程序app或小程序等。
52.在本技术实施例中,服务器100可以是单个物理服务器,也可以是一个由多个用于执行不同数据处理功能的物理服务器构成的服务器组。服务器组可以是集中式的,也可以是分布式的(例如,服务器100可以是分布式系统)。在一些可能的实施方式中,如服务器100采用单个物理服务器,可以基于不同业务功能为该物理服务器分配不同的逻辑服务器组件。
53.可以理解,图1所示的云应用系统10仅为一种可行的示例,在其它可行的实施例中,该云应用系统10也可以仅包括图1所示组成部分的其中一部分或者还可以包括其它的组成部分。
54.下面结合图1所示的应用场景对本技术实施例提供的视频图像处理方法进行示例性说明。首先,请参阅图2,本技术实施例提供的视频图像处理方法可以由前述的服务器100执行,在其它实施例中,本技术实施例的视频图像处理方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该服务器100执行的视频图像处理方法的详细步骤介绍如下。
55.步骤s11,获取目标应用在服务器100上运行时的目标视频图像。
56.目标应用可以是需要借助于服务器100上计算资源运行,且在服务器100上以视频方式展示的应用,例如,目标应用可以是游戏应用、视频播放应用或视频直播应用等。
57.在本技术实施例中,服务器100可以通过捕获目标应用在服务器100上运行时的视频画面的方式获取目标视频图像。例如,服务器100可以通过视频捕获软件(比如,webcam surveyor)进行目标视频图像的获取。
58.步骤s12,将目标视频图像中的首帧图像编码为内部编码帧,并将目标视频图像中的首帧图像之后的帧图像编码为向前预测帧,得到编码后的目标视频图像。
59.目标视频图像由时序上连续的帧图像组成,一般采用帧率来表示帧图像的刷新频率。例如,对于一张分辨率为1920*1080、位深度为24的帧图像而言,其大小约为6mb左右,若帧率为30fts,则传输上述帧图像需要180mb/s的网速,在5g还未普及的情况下,大部分客户端200很难达到上述网速要求。由于同一帧图像中规则的物体和背景具有很强的相关性和空间冗余,因此可以通过引入视频压缩编码,来减少冗余信息,其中常见的视频压缩编码是将帧图像压缩成内部编码帧(i帧)、向前预测帧(p帧)及双向内插帧(b帧)。其中,i帧是关键帧,其包括一个完整的图像信息;p帧记录了相对于该p帧的前一帧图像的图像差别信息;b帧记录与该b帧的前后帧图像的图像差别信息;i帧的数据量大于p帧和b帧的数据量。
60.详细地,可以将目标视频图像中连续的帧画面组成一画面组(group of picture,gop),在编码时,将目标视频图像中的首帧图像编码为内部编码帧(i帧),将目标视频图像中的首帧图像之后的帧图像编码为向前预测帧(p帧),即编码后画面组中的第一帧为i帧,画面组中的其余帧均为p帧。
61.以包括5帧图像的画面组为例,采用本技术技术方案编码得到的画面组a为ipppp,假设现有技术编码得到的画面组b为ipbbp。在编码画面组a时,编码一帧输出一帧,编码延时很低,以分辨率为1920x1080、帧率60fps为例,单帧图像编码可以在10ms以内完成编码;而在编码画面组b时,由于b帧需要其前后帧图像信息才能编码,在将画面组b的第一帧输入
编码器进行编码时,需要等到第五帧输入编码器后才会输出1帧,如果按照帧率60fps为例,单帧图像编码的编码延时可以达到(1/60)*5=83ms。
62.为了克服上述情况,一种可能的方式是将画面组的帧数减小,增加画面组的数量,如此虽然可以减少b帧对编码延影响,但由于每个画面组的第一帧均为i帧,而i帧的数据量大,随着画面组的数量增多,i帧数量增多,进而编码后数据量增大,这会增大编码后数据的传输压力,对网络的要求提高。
63.而在本技术实施例中,不对画面组中帧图像数量进行限定,即可以将画面组中帧图像数量设置为无限大,同时在编码画面组时只将第一帧图像编码成i帧,而将画面组中的其余帧编码成p帧。如此可以减小编码后的数据量以及编码过程中的延时。
64.步骤s13,将编码后的目标视频图像发送给客户端200,由客户端200对编码后的目标视频图像进行解码后进行显示。
65.编码后的目标视频图像被一帧帧的发送给客户端200,由客户端200对接收的一帧帧的目标视频图像进行解码渲染后进行显示。
66.上述技术方案,一方面只有首帧图像会编码成内部编码帧(i帧),可以减少编码后内部编码帧的数量,进而减小编码后视频数据的数据量。另一方面,将首帧图像之后的帧图像均编码成向前预测帧(p帧),由于不编码双向内插帧(b帧),在进行编码时,可以降低编码延时。基于上述理由可以降低客户端对网速的要求,即便在低于目前云应用要求的实时网速条件下,也可以获得良好的云端服务。
67.进一步地,在本技术实施例中,步骤s13可以通过以下方式实现。
68.首先,服务器100将编码后的目标视频图像进行封装得到数据包。
69.其中,帧图像在编码后会被封装成数据包,即一帧图像对应一数据包。
70.然后,服务器100将封装得到的数据包发送给客户端200。
71.请参照图3,图3示出了本技术实施例提供的视频图像处理方法的另一种流程示意图,在服务器100将数据包发送给客户端200的过程中,可能会因网络不稳定或硬件故障导致数据丢包、客户端解封装数据无效以及客户端无法解码等异常情况,从而影响客户端200上的显示效果,为了解决上述技术问题,本技术实施例提供的视频图像处理方法还可以包括以下步骤。
72.步骤s14,记录服务器100发送的数据包的第一数量,并接收客户端200反馈的接收到的数据包的第二数量。
73.具体地,第一数量和第二数量分别为相同时间段内服务器100和客户端200处理数据包的数量。
74.步骤s15,比较第一数量与第二数量是否相等,在第一数量与第二数量不相等时进入步骤s16,在第一数量与第二数量相等时进入步骤s17。
75.步骤s16,将获取的目标视频图像中的下一帧图像更新为目标视频图像的首帧图像。
76.详细地,本实施例中,在出现数据丢包情况时,可以重新创建一新的画面组,具体地,可把获取的目标视频图像中的下一帧图像更新为目标视频图像的首帧图像,即将下一帧图像作为新的画面组的第一帧图像。在完成将下一帧图像更新为目标视频图像的首帧图像之后,回到步骤s12,将更新后的目标视频图像的首帧图像编码为内部编码帧。
77.步骤s17,接收客户端200对接收到的数据包进行解封装操作的反馈信息。
78.其中,进行解封装操作的反馈信息包括用于表征接收到的数据包中的数据是否有效的第一指示信息。
79.步骤s18,根据进行解封装操作的反馈信息判断接收到的数据包中的数据是否有效。
80.其中,数据包中的数据是否有效是指数据包的协议格式是否为客户端200支持的数据包协议格式。在第一指示信息表征接收到的数据包中的数据无效时,回到步骤s16,即在出现数据无效时重新创建一新的画面组,具体地,把获取的目标视频图像中的下一帧图像更新为目标视频图像的首帧图像,即将下一帧图像作为新的画面组的第一帧图像。在完成将下一帧图像更新为目标视频图像的首帧图像之后,回到步骤s12,将更新后目标视频图像的首帧图像编码为内部编码帧。
81.相应地,在第一指示信息表征接收到的数据包中的数据有效时,进入步骤s19。
82.步骤s19,接收客户端200对解封装操作后的数据进行解码操作的反馈信息。
83.其中,进行解码操作的反馈信息包括用于表征对数据进行解码是否成功的第二指示信息。
84.步骤s20,根据进行解码操作的反馈信息判断解码是否成功。
85.在第二指示信息表征解码不成功时,回到步骤s16,即在解码不成功时重新创建一新的画面组,具体地,把获取的目标视频图像中的下一帧图像更新为目标视频图像的首帧图像,即将下一帧图像作为新的画面组的第一帧图像。在完成将下一帧图像更新为目标视频图像的首帧图像之后,回到步骤s12,将更新后目标视频图像的首帧图像编码为内部编码帧。
86.相应地,在第二指示信息表征解码成功时,进入步骤s21。
87.步骤s21,检测目标应用是否结束。
88.具体地,服务器100可以根据目标应用的进程是否被关闭,判断目标应用是否结束,在服务器100检测到目标应用的进程被关闭时判定目标应用结束,在服务器100检测到目标应用的进程未被关闭时判定目标应用未结束。
89.在目标应用结束时,结束流程;在目标应用未结束时,回到步骤s12,将获得的目标视频图像中的帧图像编码为向前预测帧。
90.进一步地,由于服务器100的处理器、显卡等硬件处于长时间运行的负荷状态,可能会出现异常(比如,显卡驱动失效),进而会影响本技术实施例提供的视频图像处理方法,造成服务器100不可用,为了解决上述缺陷,本技术实施例提供的视频图像处理方法还可以包括以下步骤。
91.首先,监测服务器100的运行数据,以判断服务器100是否发生异常。
92.然后,在服务器100发生异常时,重启服务器100用于进行视频图像处理的服务模块。
93.具体地,可以在服务器100发生异常时,通过发送邮件或告警信息给管理人员,由管理人员将用于进行视频图像处理的服务模块(比如,用于视频图像获取的模块及用于视频图像编码的模块)进行重启;也可以在服务器100发生异常时,由服务器100自动对用于进行视频图像处理的服务模块进行重启。
94.下面对服务器100发生异常时,自动对用于进行视频图像处理的服务模块进行重启的方式进行介绍。
95.在本技术实施例的一种实施方式中,在运行数据为获取的目标视频图像的帧率时,其中,监测服务器100的运行数据,以判断服务器100是否发生异常的步骤可以通过以下方式实现。
96.将获取的目标视频图像的帧率与预设的第一帧率范围进行比较,在获取的目标视频图像的帧率位于预设的第一帧率范围内时,判定服务器100未发生异常,反之,则判定服务器100发生异常,其中,第一帧率范围由目标应用在服务器100上运行时的显示帧率确定。
97.详细地,比如在目标应用在服务器100上运行时的显示帧率为60fps时,第一帧率范围可以设置为55fps

65fps。
98.在本技术实施例的另一种实施方式中,在运行数据为目标视频图像的拍摄快照时,其中,监测服务器100的运行数据,以判断服务器100是否发生异常的步骤可以通过以下方式实现。
99.将目标视频图像的拍摄快照输入训练好的图像异常模型中进行异常识别,在训练好的图像异常模型输出拍摄快照为异常快照时,判定服务器发生异常,反之,判定服务器未发生异常,其中,图像异常模型将拍摄快照与该拍摄快照之前的拍摄快照以及之后的拍摄快照进行比较,并根据比较结果判定所述拍摄快照是否异常。
100.详细地,服务器100可以采用心跳采样的方式定时对目标视频图像进行采样,输出拍摄快照,拍摄快照可以以图片的形式保存在服务器100中,同时拍摄快照的存储量达到存储量上限时,支持拍摄快照的自动清理,如此以保证新获得的拍摄快照可以被保存。
101.图像异常模型可以根据拍摄快照与其之前的拍摄快照之间的图像信息差异及与其之后的拍摄快照之间的图像信息差异,判断拍摄快照是否为异常快照。具体地,可以采用图像信息差异信息值表征两拍摄快照之间的图像信息差异,其中,图像信息差异信息值越大表示两拍摄快照之间的差异越大,图像信息差异信息值越小表示两拍摄快照之间的差异越小,若拍摄快照与其之前(比如,前一帧)的拍摄快照之间的第一图像信息差异信息值大于预设的图像信息差异信息阈值,且拍摄快照与其之后(比如,后一帧)的拍摄快照之间的第一图像信息差异信息值大于预设的图像信息差异信息阈值,则判定拍摄快照为异常快照,其中,异常快照可以包括诸如黑屏之类的异常显示。
102.在本技术实施例的再一种实施方式中,在运行数据可以是对目标视频图像进行编码后输出的帧率,其中,监测服务器100的运行数据,以判断服务器100是否发生异常的步骤可以通过以下方式实现。
103.将对目标视频图像进行编码后输出的帧率与预设的第二帧率范围进行比较,在对所述目标视频图像进行编码后输出的帧率位于所述预设的第二帧率范围内时,判定所述服务器100未发生异常,反之,则判定所述服务器100发生异常,其中,所述第二帧率范围由编码前所述目标视频图像的帧率确定。
104.详细地,比如编码前目标视频图像的帧率为60fps时,第二帧率范围可以设置为55fps

65fps。其中,可以通过心跳采样的方式获取编码后的目标视频图像。
105.通过上述方式,在服务器100发生异常时,可以对用于进行视频图像处理的服务模块进行重启,提高服务器100的可用性。
106.在服务器100上运行的目标应用的图像画面中存在静止画面或者变化较小的图像画面时,由于图像画面之间的图像差异信息量很小,为了进一步降低编码后目标视频帧的数据量。在本技术实施例中,采用可变码率的编码方式实现步骤s12,如此,可以相对于固定码率的编码方式减小编码后目标视频图像的数据量,从而降低对编码后目标视频图像对网络的要求。
107.为了进一步减小编码后目标视频图像的数据量,本技术实施例提供的视频图像处理方法还可以包括以下步骤。
108.接收客户端200发送的客户端200支持的目标编码规则,以采用目标编码规则对目标视频图像进行编码;其中,目标编码规则为第一编码规则或第二编码编码规则,在相同图像质量要求的条件下,采用第一编码规则编码的视频的数据量小于采用第二编码规则编码的视频的数据量;
109.目标编码规则根据客户端200的本地缓存配置确定,本地缓存配置包括用于表征客户端200支持第一编码规则或所述第二编码规则的编码参数;在编码参数表征客户端200支持第一目标编码规则时,将第一目标编码规则确定为目标编码规则;在编码参数表征客户端200支持第二目标编码规则时,将所述第二目标编码规则确定为所述目标编码规则。
110.详细地,在本技术实施例中,第一目标编码规则可以为h.265,第二目标编码规则可以为h.264。h.264是由itu

t视频编码专家组(vceg)和iso/iec动态图像专家组(mpeg)联合组成的联合视频组(jvt,joint video team)提出的高度压缩数字视频编解码器标准。h.265是itu

t vceg继h.264之后所制定的新的视频编码标准,h.265标准围绕着现有的视频编码标准h.264,保留原来的某些技术,同时对一些相关的技术加以改进,新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。h.265/hevc的编码架构大致上和h.264/avc的架构相似,在相同的图象质量下,相比于h.264,通过h.265编码的视频大小可以减少大约39

44%。由于质量控制的测定方法不同,这个数据也会有相应的变化。通过主观视觉测试得出的数据显示,在码率减少51

74%的情况下,h.265编码视频的质量还能与h.264编码视频近似甚至更好。在本技术实施例中,在客户端200支持h.265时,服务器100采用h.265对目标视频图像编码,可以进一步减低编码后目标视频图像的数据量。
111.本技术实施例中提供的视频图像处理方法,通过将目标视频图像中的首帧图像编码为内部编码帧,并将目标视频图像中的首帧图像之后的帧图像编码为向前预测帧,一方面只有首帧图像会编码成内部编码帧,可以减少编码后内部编码帧的数量,进而减小编码后视频数据的数据量;另一方面,将首帧图像之后的帧图像均编码成向前预测帧,由于不存在双向内插帧,在进行编码时,可以降低编码延时。另外,通过监测服务器100运行数据,可以在服务器100异常时重启用于进行视频图像处理的服务模块,以提高服务器100的可用性。进一步地,采用可变码率的编码方式及采用编码效率更高的目标编码规则可以降低编码后视频图像的数据量,降低编码后视频图像对网络的依赖。使得客户端200即便在低于目前云应用要求的实时网速条件下,也可以获得良好的云端服务。
112.进一步地,请参照图4,图4为本技术实施例提供的视频图像处理装置200的一种功能模块示意图,本技术实施例可以根据电子设备执行的方法实施例对视频图像处理装置200进行功能模块的划分,也即该视频图像处理装置200所对应的以下各个功能模块可以用
于执行上述各个方法实施例。其中,该基于视频图像处理装置200可以包括获取模块210、编码模块220及发送模块230,下面分别对该视频图像处理装置200的各个功能模块的功能进行详细阐述。
113.获取模块210,用于获取目标对象的第一动作姿态帧序列信息。
114.目标应用可以是需要借助于服务器100上计算资源运行,且在服务器100上以视频方式展示的应用,具体地,目标应用可以是游戏应用、视频播放应用或视频直播应用等。
115.在本技术实施例中,获取模块210可以通过捕获目标应用在服务器100上运行时的视频画面的方式获取目标视频图像。具体地,获取模块210可以通过视频捕获软件(比如,webcam surveyor)进行目标视频图像的获取。
116.获取模块210可以用于执行上述的步骤s11,关于获取模块210的详细实现方式可以参照上述针对步骤s11的详细描述即可。
117.编码模块220,用于将目标视频图像中的首帧图像编码为内部编码帧,并将目标视频图像中的首帧图像之后的帧图像编码为向前预测帧,得到编码后的目标视频图像。
118.详细地,可以将目标视频图像中连续的帧画面组成一画面组(group of picture,gop),在编码时,将目标视频图像中的首帧图像编码为内部编码帧(i帧),将目标视频图像中的首帧图像之后的帧图像编码为向前预测帧(p帧),即编码后画面组中的第一帧为i帧,画面组中的其余帧均为p帧。在本技术实施例中,不对画面组中帧图像数量进行限定,即可以将画面组中帧图像数量设置为无限大,同时在编码画面组时只将第一帧图像编码成i帧,而将画面组中的其余帧编码成p帧。如此可以减小编码后的数据量以及编码过程中的延时。
119.编码模块220可以用于执行上述的步骤s12,关于编码模块220的详细实现方式可以参照上述针对步骤s12的详细描述即可。
120.发送模块230,用于将编码后的目标视频图像发送给客户端200,由客户端200对编码后的目标视频图像进行解码后进行显示。
121.编码后的目标视频图像被一帧帧的发送给客户端200,由客户端200对接收的一帧帧的目标视频图像进行解码渲染后进行显示。
122.发送模块230可以用于执行上述的步骤s13,关于发送模块230的详细实现方式可以参照上述针对步骤s13的详细描述即可。
123.需要说明的是,应理解以上装置或系统中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以在物理上分开。且这些模块可以全部以软件(比如,开源软件)可以通过处理器调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理器调用软件的形式实现,部分模块通过硬件的形式实现。作为一种示例,编码模块220可以由单独处理器运行实现,可以以程序代码的形式存储于上述装置或系统的存储器中,由上述装置或系统的某一个处理器调用并执行以上编码模块220的功能,其它模块的实现与之类似,在此就不再赘述。此外这些模块可以全部或部分集成在一起,也可以独立实现。这里所描述的处理器可以是一种具有信号的处理能力的集成电路,在实现过程中,上述技术方案中的各步骤或各个模块可以通过处理器中的集成逻辑电路或者执行软件程序的形式完成。
124.请参照图5,图5示出了本公开实施例提供的用于实现上述的视频图像处理方法的服务器100的硬件结构示意图。如图5所示,服务器100可包括处理器110、计算机可读存储介
质120、总线130及通信单元140。
125.在具体实现过程中,处理器110执行计算机可读存储介质120存储的计算机执行指令(例如图4中所示的视频图像处理装置200包括的获取模块210、编码模块220及发送模块230),使得处理器110可以执行如上方法实施例的视频图像处理方法,其中,处理器110、计算机可读存储介质120以及通信单元140可以通过总线130连接。
126.处理器110的具体实现过程可参见上述服务器100执行的各个方法实施例,其实现原理和技术效果类似,本技术实施例此处不再赘述。
127.计算机可读存储介质120可以是,但不限于,随机存取存储器(random accessmemory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmableread

only memory,prom),可擦除只读存储器(erasable programmable read

onlymemory,eprom),电可擦除只读存储器(electric erasable programmable read

onlymemory,eeprom)等。其中,存储器111用于存储程序或者数据。
128.总线130可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
129.通信单元140用于与客户端200通信,以实现服务器100与客户端200之间的数据交互。
130.此外,本技术实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的视频图像处理方法。
131.综上所述,本技术实施例提供的视频图像处理方法、装置及服务器,通过将目标视频图像中的首帧图像编码为内部编码帧,并将目标视频图像中的首帧图像之后的帧图像编码为向前预测帧,一方面只有首帧图像会编码成内部编码帧,可以减少编码后内部编码帧的数量,进而减小编码后视频数据的数据量;另一方面,将首帧图像之后的帧图像均编码成向前预测帧,由于不存在双向内插帧,在进行编码时,可以降低编码延时。另外,通过监测服务器运行数据,可以在服务器异常时重启用于进行视频图像处理的服务模块,以提高服务器的可用性。进一步地,采用可变码率的编码方式及采用编码效率更高的目标编码规则可以降低编码后视频图像的数据量,降低编码后视频图像对网络的依赖。使得客户端200即便在低于目前云应用要求的实时网速条件下,也可以获得良好的云端服务。
132.此外,除非权利要求中明确说明,本说明书处理元素和序列的顺序、数字字母的使用、或其它名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
133.同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
134.以上所描述的实施例仅仅是本技术的一部分实施例,而不是全部的实施例。通常
在附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,在附图中提供的本技术的实施例的详细描述并非旨在限制本技术的保护范围,而仅仅是表示本技术的选定实施例。基于此,本技术的保护范围应以权利要求的保护范围为准。此外,基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下可获得的所有其它实施例,都应属于本技术保护的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献