视频帧处理方法、装置、电子设备及可读存储介质与流程

未命名 08-05 阅读:90 评论:0


1.本技术涉及视频编码技术领域,尤其涉及一种视频帧处理方法、装置、电子设备及可读存储介质。


背景技术:

2.视频编码技术中,视频帧的类型包括帧内编码帧(i帧)、前向预测帧(p帧)和双向预测帧(b帧)。其中,i帧在编码时保留了完整画面,解码时仅靠本帧数据就能重构完整画面,不需要参考其它视频帧;p帧在编码时仅保留本帧与前一个i帧或p帧的差异信息,解码时需要参考i帧;b帧在编码时保留了本帧与前一个i帧(或p帧)和后一个i帧(或p帧)之间的差异信息,解码时需要参考i帧和p帧。因此,i帧是视频编码中的关键帧,也是p帧和b帧的参考帧,而i帧的压缩率较低,所以,在视频编码时确定合适的i帧对于提高视频的压缩率尤为重要。


技术实现要素:

3.本技术提供一种视频帧处理方法、装置、电子设备及可读存储介质,能够提高视频的压缩率。本技术的技术方案如下。
4.根据本技术实施例的第一方面,提供一种视频帧处理方法,该方法包括:
5.确定目标视频中的候选帧集合,该候选帧集合包括基于预设间隔确定的第一视频帧以及位于该第一视频帧之后的至少一个第二视频帧;
6.若候选帧集合中存在目标视频帧,则将该目标视频帧确定为i帧,该目标视频帧为基于第一视频帧发生场景切换的视频帧;
7.若候选帧集合中不存在目标视频帧,则将第一视频帧确定为i帧。
8.上述方法中,终端从基于预设间隔确定的第一视频帧和该第一视频帧之后的至少一个第二视频帧中确定i帧,其中,若任一第二视频帧基于第一视频帧发生了场景切换,终端则将该第二视频帧确定为i帧,否则,终端将第一视频帧确定为i帧。终端以是否发生场景切换为依据,从第一视频帧以及第一视频帧附近的第二视频帧中确定i帧,由于发生场景切换前后的视频帧之间的差异信息较大,因此,以是否发生场景切换为依据确定i帧,能够减小i帧之后的视频帧与i帧之间的差异信息,进而减小视频帧压缩后的数据量,从而提高视频的压缩率。
9.在一种可能实施方式中,确定目标视频中的候选帧集合包括下述任一种方式:
10.基于预设间隔,确定第一视频帧,将第一视频帧之后的至少一个视频帧确定为第二视频帧;
11.基于预设间隔,确定位于目标位置范围的多个视频帧,将多个视频帧中的第一个视频帧确定为第一视频帧,将多个视频帧中除第一视频帧之外的其余视频帧确定为第二视频帧,该目标位置范围的起点基于预设间隔确定。
12.在一种可能实施方式中,该方法还包括:
13.确定各个第二视频帧的帧内预测代价和各个第二视频帧与第一视频帧之间的帧间预测代价;
14.若候选帧集合中存在目标视频帧,则将该目标视频帧确定为i帧,包括:
15.若任一第二视频帧的帧内预测代价与帧间预测代价的比值小于第一阈值,则将该第二视频帧确定为i帧。
16.上述方法中,若任一第二视频帧的帧内预测代价与帧间预测代价的比值小于第一阈值,说明该第二视频帧基于第一视频帧发生了场景切换,由于发生场景切换前后的视频帧之间的差异信息较大,且i帧为该i帧与下一个i帧之间的各个视频帧的参考帧,将该第二视频帧确定为i帧,能够提高目标视频的压缩率,从而降低码率,节约传输资源。
17.在一种可能实施方式中,该方法还包括:
18.确定候选帧集合中各个视频帧的颜色直方图;
19.基于颜色直方图,确定各个第二视频帧与第一视频帧的差异信息;
20.若候选帧集合中存在目标视频帧,则将该目标视频帧确定为i帧,包括:
21.若任一第二视频帧与第一视频帧的差异信息大于第二阈值,则将该第二视频帧确定为i帧。
22.上述方法中,通过比较颜色直方图的差异来衡量两个视频帧在色彩的频数分布上的差异,来确定视频帧是否发生了场景切换,与通过比较视频帧在色彩的空间分布上的差异来确定视频帧是否发生了场景切换的方法相比,能够节约终端的计算资源,提高i帧的确定效率。
23.在一种可能实施方式中,预设间隔基于目标视频对应的业务类型确定。
24.上述方法中,终端基于目标视频对应的业务类型,确定预设间隔,不同业务类型下的目标视频的预设间隔不同,能够灵活地满足不同业务类型对目标视频的要求。
25.在一种可能实施方式中,候选帧集合中第二视频帧的数量基于目标视频的内容类型确定。
26.上述方法中,终端基于目标视频的内容类型确定第二视频帧的数量,有利于减少候选帧集合中的各个视频帧对应的场景数量,将候选帧集合中第一个场景切换对应的第二视频帧确定为i帧,能够提高所确定的i帧的有效性,从而提高目标视频的压缩率,进而降低码率,节约传输资源。
27.根据本技术实施例的第二方面,提供一种视频帧处理装置,该装置包括:
28.候选帧集合确定单元,被配置为执行确定目标视频中的候选帧集合,该候选帧集合包括基于预设间隔确定的第一视频帧以及位于该第一视频帧之后的至少一个第二视频帧;
29.i帧确定单元,被配置为执行若候选帧集合中存在目标视频帧,则将该目标视频帧确定为i帧,该目标视频帧为基于第一视频帧发生场景切换的视频帧;
30.该i帧确定单元,还被配置为执行若候选帧集合中不存在目标视频帧,则将第一视频帧确定为i帧。
31.在一种可能实施方式中,该候选帧集合确定单元被配置为执行下述任一项:
32.基于预设间隔,确定第一视频帧,将第一视频帧之后的至少一个视频帧确定为第二视频帧;
33.基于预设间隔,确定位于目标位置范围的多个视频帧,将多个视频帧中的第一个视频帧确定为第一视频帧,将多个视频帧中除第一视频帧之外的其余视频帧确定为第二视频帧,该目标位置范围的起点基于预设间隔确定。
34.在一种可能实施方式中,该装置还包括:
35.目标视频帧确定单元,被配置为执行确定各个第二视频帧的帧内预测代价和各个第二视频帧与第一视频帧之间的帧间预测代价;
36.该i帧确定单元,还被配置为执行:
37.若任一第二视频帧的帧内预测代价与帧间预测代价的比值小于第一阈值,则将该第二视频帧确定为i帧。
38.在一种可能实施方式中,该装置还包括:
39.颜色直方图确定单元,被配置为执行确定候选帧集合中各个视频帧的颜色直方图;
40.差异信息确定单元,被配置为执行基于颜色直方图,确定各个第二视频帧与第一视频帧的差异信息;
41.该i帧确定单元,还被配置为执行:
42.若任一第二视频帧与第一视频帧的差异信息大于第二阈值,则将该第二视频帧确定为i帧。
43.在一种可能实施方式中,预设间隔基于目标视频对应的业务类型确定。
44.在一种可能实施方式中,候选帧集合中第二视频帧的数量基于目标视频的内容类型确定。
45.根据本技术实施例的第三方面,提供一种电子设备,该电子设备包括:
46.一个或多个处理器;
47.用于存储该处理器可执行程序代码的存储器;
48.其中,该处理器被配置为执行该程序代码,以实现上述第一方面或第一方面中任一种可能实施方式提供的视频帧处理方法。
49.根据本技术实施例的第四方面,提供一种计算机可读存储介质,该计算机可读存储介质中存储有执行一条计算机程序:当该至少一条计算机程序由电子设备的处理器执行时,使得该电子设备能够执行上述第一方面或第一方面中任一种可能实施方式提供的视频帧处理方法。
50.根据本技术实施例的第五方面,提供一种计算机程序产品,包括一条或多条计算机程序,该一条或多条计算机程序由电子设备的一个或多个处理器执行,使得该电子设备能够执行上述第一方面或第一方面中任一种可能实施方式提供的视频帧处理方法。
51.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
52.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理,并不构成对本技术的不当限定。
53.图1是本技术实施例提供的一种视频帧处理方法的实施环境示意图;
54.图2是本技术实施例提供的一种视频帧处理方法的流程图;
55.图3是本技术实施例提供的一种视频帧处理方法的流程图;
56.图4是本技术实施例提供的一种视频帧处理方法的示意图;
57.图5是本技术实施例提供的一种视频帧处理方法的流程图;
58.图6是本技术实施例提供的一种视频帧处理装置的结构框图;
59.图7是本技术实施例提供的一种终端的结构框图;
60.图8是本技术实施例提供的一种服务器的结构框图。
具体实施方式
61.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
62.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的方法和系统的例子。
63.本技术中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。
64.这些术语只是用于将一个元素与另一个元素区别开。例如,在不脱离各种示例的范围的情况下,第一人阈值能够被称为第二阈值,并且类似地,第二阈值也能够被称为第一阈值。
65.其中,“至少一个”是指一个或多个,例如,至少一个第二视频帧可以是一个第二视频帧、两个第二视频帧、三个第二视频帧等任意大于等于一的整数个第二视频帧。而“多个”的含义是指两个或两个以上,例如,多个视频帧可以是两个视频帧、三个视频帧等任意大于或等于二的整数个视频帧。
66.需要说明的是,本技术所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本技术涉及到的目标视频都是在充分授权的情况下获取的。
67.为了便于理解本技术实施例的内容,下面对本技术实施例中涉及的若干技术术语进行解释。
68.帧内预测:帧内预测是指通过视频帧内已编码的像素来预测该视频帧内未编码的像素,以去除同一视频帧内的冗余信息,提高视频帧的压缩率。
69.帧间预测:帧间预测是指通过已编码的视频帧预测未编码的视频帧,以去除不同视频帧之间的冗余信息,提高视频的压缩率。
70.帧内预测代价(intracost):帧内预测代价指示帧内预测所耗费的运算成本。
71.帧间预测代价(intercost):帧间预测代价指示帧间预测所耗费的运算成本。
72.下面对本技术实施例的实施环境进行介绍。
73.图1是本技术实施例提供的一种视频帧处理方法的实施环境示意图,如图1所示,该实施环境包括:终端101和服务器102。终端101能够通过无线网络或有线网络与服务器102相连。
74.终端101可以为智能手机、智能手表、台式电脑、手提电脑、虚拟现实终端、增强现实终端、无线终端和膝上型便携计算机等设备中的至少一种,终端101具有通信功能,可以接入互联网,终端101可以泛指多个终端中的一个,本实施例仅以终端101来举例说明。本领域技术人员可以知晓,上述终端的数量可以更多或更少。示意性地,终端101运行有应用程序,该应用程序提供视频编码功能,该应用程序能够通过该视频编码功能确定目标视频中的i帧,进而以i帧为参考帧,对目标视频中的其他视频帧进行编码,以对目标视频进行压缩。该应用程序可以为视频编码器类应用程序(例如,x265视频编码器和x264视频编码器等),视频处理类应用程序、影音视听类应用程序、会议类应用程序、社交类应用程序等等,对此不做限定。在一些实施例中,终端101将目标视频发送给服务器102,由服务器102确定目标视频中的i帧,服务器102进而以i帧为参考帧,对目标视频中的其他视频帧进行编码,以对目标视频进行压缩,本技术实施例对此不做限定。
75.服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式文件系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器102用于为终端101所运行的应用程序提供后台服务,例如,服务器102能够为终端101中所运行的应用程序提供对象账号登录服务,等等。在一些实施例中,服务器102接收终端101发送的目标视频,确定目标视频中的i帧,进而以i帧为参考帧,对目标视频中的其他视频帧进行编码,以对目标视频进行压缩,将压缩后的目标视频发送给终端101,本技术实施例对此不做限定。
76.在一些实施例中,有线网络或无线网络使用标准通信技术和/或协议。网络通常为因特网、但也能够是任何网络,包括但不限于lan(local area network,局域网)、man(metropolitan area network,城域网)、wan(wide area network,广域网)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括html(hyper text markup language,超级文本标记语言)、xml(extensible markup language,可扩展标记语言)等的技术和/或格式来代表通过网络交换的数据。此外还能够使用诸如ssl(secure socket layer,安全套接字层)、tls(transport layer security,传输层安全)、vpn(virtual private network,虚拟专用网络)、ipsec(internet protocol security,网际协议安全)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还能够使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
77.上面介绍了本技术实施例的实施环境,下面介绍本技术实施例提供的一种视频帧处理方法。图2是本技术实施例提供的一种视频帧处理方法的流程图,如图2所示,以该方法由终端执行为例,该方法包括下述步骤201至步骤203。
78.在步骤201中,终端确定目标视频中的候选帧集合,该候选帧集合包括基于预设间隔确定的第一视频帧以及位于该第一视频帧之后的至少一个第二视频帧。
79.其中,目标视频为待编码的视频,该目标视频包括多个视频帧。每个候选帧集合中
会有一个视频帧被确定为i帧,候选帧集合也即是候选的i帧的集合。候选帧集合中的第一视频帧基于预设间隔(keyint)确定,该预设间隔是指相邻的两个i帧之间相隔的视频帧的预设数量。候选帧集合中的第二视频帧是指位于第一视频帧之后的至少一个视频帧。其中,预设间隔和每个候选帧集合中第二视频帧的数量可以根据实际需求进行设置,本技术实施例对此不做限定。终端确定目标视频中的候选帧集合的过程将在后续实施例中进行详细阐述,在此不再赘述。
80.在步骤202中,若候选帧集合中存在目标视频帧,终端则将该目标视频帧确定为i帧,该目标视频帧为基于第一视频帧发生场景切换的视频帧。
81.其中,候选帧集合中存在目标视频帧,说明候选帧集合中发生场景切换之前的各个视频帧之间的差异信息小于场景切换前后两个视频帧之间的差异信息,由于i帧为该i帧与下一个i帧之间的各个视频帧的参考帧,将目标视频帧确定为i帧与将第一视频帧确定为i帧相比,i帧与下一个i帧之间的各个视频帧在编码时需要保留的与i帧的差异信息较小,能够提高i帧与下一个i帧之间的各个视频帧的压缩率,进而提高目标视频的压缩率,从而降低码率,节约传输资源。
82.在一些实施例中,终端将目标视频帧确定为i帧,也即是终端对该目标视频帧的帧序号和帧类型(i帧)等编码参数进行记录,在后续编码过程中,终端查询该目标视频帧的编码参数,以获取该目标视频帧的帧类型,进而按照i帧的编码方式对该目标视频帧进行编码。在另一些实施例中,终端将目标视频帧进行标记,该标记指示该目标视频帧的帧类型(i帧),在后续编码过程中,终端基于该标记,按照i帧的编码方式对该目标视频帧进行编码。其中,该标记可以由该目标视频帧的至少一个像素承载,该标记的形式可以为符号、数字或者图案等等,本技术实施例不对标记的承载方式和形式做出限定。需要说明的是,上述对终端将目标视频帧确定为i帧的过程的说明仅是示例性的,将目标视频帧确定为i帧的过程可以根据实际需求进行确定,本技术实施例对此不做限定。
83.在步骤203中,若候选帧集合中不存在目标视频帧,终端则将第一视频帧确定为i帧。
84.其中,与步骤202相对应地,候选帧集合中不存在目标视频帧,说明候选帧集合中的各个第二视频帧基于第一视频帧未发生场景切换,各个第二视频帧与第一视频帧之间的差异信息较小,在该情况下,将第一视频帧确定为i帧。在一些实施例中,播放器基于目标视频中i帧的位置显示进度条的刻度,在目标视频播放时,播放器响应于对进度条的拖动操作,从该拖动操作对应的视频帧之前的一个i帧开始对目标视频进行播放,由于第一视频帧是基于预设间隔确定的,因此,将第一视频帧确定为i帧,能够便于播放器显示进度条的刻度,从而提高播放器对拖动操作的响应速度。
85.其中,终端将第一视频帧确定为i帧的过程与上述步骤202中终端将目标视频确定为i帧的过程同理,不再赘述。
86.上述方法中,终端从基于预设间隔确定的第一视频帧和该第一视频帧之后的至少一个第二视频帧中确定i帧,其中,若任一第二视频帧基于第一视频帧发生场景切换,终端则将该第二视频帧确定为i帧,否则,终端将第一视频帧确定为i帧。终端以是否发生场景切换为依据,从第一视频帧以及第一视频帧附近的第二视频帧中确定i帧,由于发生场景切换前后的视频帧之间的差异信息较大,以是否发生场景切换为依据确定i帧,能够减小i帧之
后的视频帧与i帧之间的差异信息,进而减小视频帧压缩后的数据量,从而提高视频的压缩率。
87.上述图2所示仅为本技术实施例的基本流程,下面对本技术实施例的具体流程进行详细阐述。在本技术实施例中,终端判断候选帧集合中是否存在目标视频帧的方式包括:基于视频帧的帧内预测代价和帧间预测代价进行确定,以及,基于视频帧的颜色直方图进行确定。下面分别对采用上述两种方式确定目标视频帧的实施例的具体流程进行介绍。
88.首先,以基于视频帧的帧内预测代价和帧间预测代价确定目标视频帧为例进行介绍。图3是本技术实施例提供的一种视频帧处理方法的流程图,如图3所示,以该方法由终端执行为例,该方法包括下述步骤301至步骤305。
89.在步骤301中,终端基于目标视频对应的业务类型,确定预设间隔。
90.其中,预设间隔的大小决定目标视频中i帧的数量,而i帧的数量决定目标视频的压缩率和失真程度,因此,预设间隔越大,目标视频中i帧的数量越多,目标视频的压缩率越低,失真程度也越低;预设间隔越大,目标视频中i帧的数量越少,目标视频的压缩率越高,失真程度也越高。其中,压缩率影响压缩后的目标视频的大小,进而影响目标视频传输时所耗费的传输资源;失真程度影响目标视频的播放质量。由于不同业务类型对于目标视频的压缩率和失真程度的要求不同,所以,可以基于目标视频对应的业务类型确定预设间隔,进而使得目标视频的压缩率和失真程度满足业务要求。例如,业务类型包括直播和录播,直播相对于录播,对目标视频的传输效率要求较高,对目标视频的质量要求较低,因此,直播业务对应的预设间隔可以设置得比录播业务对应的预设间隔小一些,以满足业务要求。需要说明的是,上述对不同的业务类型下目标视频的预设间隔的说明仅是示例性的,各个业务类型下目标视频的预设间隔的大小可以根据实际需求进行设置,本技术实施例对此不做限定。
91.上述方法中,终端基于目标视频对应的业务类型,确定预设间隔,不同业务类型下的目标视频的预设间隔不同,能够灵活地满足不同业务类型对目标视频的要求。
92.在一些实施例中,终端在视频集上对不同的间隔进行测试,以确定各个间隔对应视频编码指标,进而将最大的视频编码指标对应的间隔确定为目标视频的预设间隔。其中,视频编码指标用于评估间隔造成的视频的压缩率和失真程度,该视频编码指标可以是bd-rate-psnr(-delta rate-peak signal to noise ratio,率失真性能评价指标-峰值信噪比)等等,本技术实施例对此不做限定。上述方法中,基于不同的间隔对应的视频编码指标确定预设间隔,能够平衡压缩率和失真程度两个指标,进而提高视频编码的性能。
93.在一些实施例中,终端存储有业务类型和业务类型对应的目标视频的预设间隔的大小,终端通过目标视频的标签(tag)或标题等识别出目标视频对应的业务类型,或,对目标视频的内容进行扫描,以识别出目标视频对应的业务类型;终端基于识别出的业务类型,从存储空间中查询到该业务类型对应的预设间隔。
94.需要说明的是,该步骤301为可选步骤,在一些实施例中,预设间隔由登录该终端的对象自行设置或采用其他方式确定,与目标视频的业务类型不相关,本技术实施例不对预设间隔的确定方式做出限定。
95.在步骤302中,终端确定目标视频中的候选帧集合,该候选帧集合包括基于预设间
隔确定的第一视频帧以及位于该第一视频帧之后的至少一个第二视频帧。
96.其中,终端基于预设间隔确定第一视频帧包括下述任一方式。
97.第一种方式:终端基于预设间隔,确定第一视频帧,将该第一视频帧之后的至少一个视频帧确定为第二视频帧。例如,终端先基于预设间隔,将第n帧确定为第一视频帧,再将第n+1至第n+x帧确定为第二视频帧,其中,n和x为大于0的整数,x为一个候选帧集合中第二视频帧的数量。
98.第二种方式:终端基于预设间隔,确定位于目标位置范围内的多个视频帧,将多个视频帧中的第一个视频帧确定为第一视频帧,将多个视频帧中除第一视频帧之外的其余视频帧确定为第二视频帧,该目标位置范围的起点基于预设间隔确定。例如,终端基于预设间隔,确定目标位置范围的起点为第n帧,再基于目标位置范围的大小为x+1帧,确定第n至第n+x帧为一个候选帧集合,再将该候选帧集合中的第一个视频帧(也即是第n帧)确定为第一视频帧,将该候选帧集合中的其余视频帧确定为第二视频帧(也即是第n+1至第n+x帧)。其中,n和x为大于0的整数,x为一个候选帧集合中第二视频帧的数量。
99.其中,由于不同的内容类型的视频中场景切换的次数不同,对于同一时长的两个视频,场景切换次数较多的视频中相邻两个场景切换帧的间隔较小,场景切换次数较少的视频中相邻两个场景切换帧的间隔较大。所以,在一些实施例中,终端基于目标视频的内容类型确定第二视频帧的数量,例如,内容类型包括公开课和旅行视频,内容类型为公开课的视频与内容类型为旅行视频的视频相比,场景切换次数较少,公开课视频中一个候选帧集合中第二视频帧的数量可以大于旅行视频中一个候选帧集合中第二视频帧的数量。其中,终端通过目标视频的标签(tag)或标题等识别出目标视频的内容类型。上述方法中,终端基于目标视频的内容类型确定第二视频帧的数量,有利于减少候选帧集合中的各个视频帧对应的场景数量,将候选帧集合中第一个场景切换对应的第二视频帧确定为i帧,能够提高所确定的i帧的有效性,从而提高目标视频的压缩率,降低码率,节约传输资源。在另一些实施例中,第二视频帧的数量基于预设间隔确定,例如,第二视频帧的数量为预设间隔的1/4。需要说明的是,上述确定第二视频帧的数量的方法仅是示例性的,第二视频帧的数量可以根据实际需求进行确定,本技术实施例对此不做限定。
100.在步骤303中,终端确定各个第二视频帧的帧内预测代价和各个第二视频帧与第一视频帧之间的帧间预测代价。
101.其中,终端确定各个第二视频帧的帧内预测代价,也即是确定基于第二视频帧内已编码的像素来预测该第二视频帧内未编码的像素所耗费的运算成本。在一些实施例中,终端采用基于色度的预测模式或采用基于亮度的预测模式确定各个第二视频帧的帧内预测代价。需要说明的是,终端还可以根据实际需求采用其他方式确定帧内预测代价,本技术实施例对此不做限定。
102.其中,终端确定各个第二视频帧与第一视频帧之间的帧间预测代价,也即是确定基于第一视频帧来预测第二视频帧所耗费的运算成本。在一些实施例中,终端采用运动估计法或运动补偿法确定各个第二视频帧与第一视频帧之间的帧间预测代价。需要说明的是,终端还可以根据实际需求采用其他方式确定帧间预测代价,本技术实施例对此不做限定。
103.在步骤304中,若任一第二视频帧的帧内预测代价与帧间预测代价的比值小于第
一阈值,终端则将该第二视频帧确定为i帧。
104.其中,第二视频帧的帧内预测代价与帧间预测代价的比值指示第二视频帧基于第一视频帧发生场景切换的可能性,比值越大,发生场景切换的可能性越小;比值越小,发生场景切换的可能性越大。第一阈值为预设的阈值,比值小于该第一阈值,说明第二视频帧基于第一视频帧发生了场景切换。需要说明的是,第一阈值可以根据实际需求进行设置,本技术实施例对此不做限定。
105.在一些实施例中,终端依次确定各个第二视频帧的帧内预测代价与帧间预测代价的比值,每得到一个比值,就将该比值与第一阈值进行比较,若任一比值小于第一阈值,终端则将该比值对应的第二视频帧确定为i帧,并停止确定后续的第二视频帧的帧内预测代价与帧间预测代价的比值,能够节约终端的计算资源,提高i帧的确定效率。在另一些实施例中,终端先确定各个第二视频帧的帧内预测代价与帧间预测代价的比值,再将各个比值与第一阈值进行比较。本技术实施例对此不做限定。
106.其中,终端将该第二视频帧确定为i帧的过程与步骤202同理,不再赘述。
107.需要说明的是,上述步骤304是若候选帧集合中存在目标视频帧,则将该目标视频帧确定为i帧的一种实现方式,在一些实施例中,该过程基于其他步骤实现,本技术实施例对此不做限定。
108.在步骤305中,若各个第二视频帧的帧内预测代价与帧间预测代价的比值均大于或等于第一阈值,终端将第一视频帧确定i帧。
109.其中,与步骤304相对应地,帧内预测代价与帧间预测代价的比值大于或等于第一阈值,说明第二视频帧基于第一视频帧未发生场景切换。
110.在一些实施例中,终端依次确定各个第二视频帧的帧内预测代价与帧间预测代价的比值,每得到一个比值,就将该比值与第一阈值进行比较,若各个比值均大于或等于第一阈值,终端则将第一视频帧确定为i帧。在另一些实施例中,终端先确定各个第二视频帧的帧内预测代价与帧间预测代价的比值,再将各个比值与第一阈值进行比较。本技术实施例对此不做限定。
111.其中,终端将第一视频帧确定为i帧的过程与步骤203同理,不再赘述。
112.需要说明的是,上述步骤305是若候选集合中不存在目标视频帧,则将第一视频帧确定为i帧的一种实现方式,在一些实施例中,该过程基于其他步骤实现,本技术实施例对此不做限定。
113.需要说明的是,在本技术实施例中,终端每确定一个i帧,就以该i帧所在的位置为起始位置,基于预设间隔,确定下一个候选帧集合,进而确定下一个i帧,在一些实施例中,终端以第一视频帧所在的位置为起始位置确定下一个候选帧集合,本技术实施例对此不做限定。
114.下面通过图4对上述步骤301至305所示的流程进行举例说明。图4是本技术实施例提供的一种视频帧处理方法的示意图,该方法由x265编码器执行,该编码器包括预测先行(lookahead)模块,该模块用于在编码时决策目标视频的帧类型和两个i帧之间的预设间隔(keyint)等编码参数。该编码器还提供场景切换检测(scenecut)功能,该场景切换检测功能用于识别出目标视频中的场景切换帧。lookahead模块从目标视频帧的第一个视频帧开始顺序确定i帧,lookahead模块基于预设间隔确定第一视频帧,lookahead模块对第一视频
帧的后续几帧(keyint/4帧)进行scenecut检测。如果在第一视频帧后的keyint/4帧范围内没有场景切换帧,则将第一视频帧确定为i帧。如果在第一视频帧后的keyint/4帧范围内有场景切换帧,则将第一视频帧跳过,将场景切换帧确定为i帧,可以理解为将keyint临时延长至场景切换帧所在的位置。如图4所示,keyint=147,第147帧为第一视频帧,第一视频帧后的37帧为第二视频帧,对第147帧后的37帧进行场景切换检测,检测到第149帧为场景切换帧(也即是目标视频帧),lookahead模块将第147帧确定为p帧,第149帧确定为i帧,从而使得第147帧可以通过帧间预测提高压缩率。另外,在视频集上对本技术实施例提供的一种视频帧处理方法进行测试,测试结果为说明在keyint为60时,可以获得bd-rate-psnr收益0.5%,说明该方法能够提高编码器的压缩性能。
115.上述方法中,终端以是否发生场景切换为依据,从第一视频帧以及第一视频帧附近的第二视频帧中确定i帧,由于发生场景切换前后的视频帧之间的差异信息较大,以是否发生场景切换为依据确定i帧,能够减小i帧之后的视频帧与i帧之间的差异信息,进而减小视频帧压缩后的数据量,从而提高视频的压缩率。进一步地,终端基于目标视频对应的业务类型,确定预设间隔,不同业务类型下的目标视频的预设间隔不同,能够灵活地满足不同业务类型对目标视频的要求;另外,终端基于目标视频的内容类型确定第二视频帧的数量,有利于减少候选帧集合中的各个视频帧对应的场景数量,将候选帧集合中第一个场景切换对应的第二视频帧确定为i帧,能够提高所确定的i帧的有效性,从而提高视频的压缩率。
116.下面以基于视频帧的颜色直方图确定目标视频帧为例进行介绍。图5是本技术实施例提供的一种视频帧处理方法的流程图,如图5所示,以该方法由终端执行为例,该方法包括下述步骤501至步骤506。
117.在步骤501中,终端基于目标视频对应的业务类型,确定预设间隔。
118.在步骤502中,终端确定目标视频中的候选帧集合,该候选帧集合包括基于预设间隔确定的第一视频帧以及位于该第一视频帧之后的至少一个第二视频帧。
119.该步骤501至步骤502与上述步骤301至步骤302同理,不再赘述。
120.在步骤503中,终端确定候选帧集合中各个视频帧的颜色直方图。
121.其中,颜色直方图用于描述不同色彩在整个视频帧中所占的比例,所以,颜色直方图能够指示视频帧中色彩的频数分布情况,而不能指示视频帧中色彩的空间分布情况。终端通过统计候选帧集合中各个视频帧色彩的频数分布,得到各个视频帧的颜色直方图。上述方法中,由于不同的场景下,视频帧色彩的频数分布情况由较大不同,所以,可以通过比较颜色直方图的差异来衡量两个视频帧在色彩的频数分布上的差异,来确定视频帧是否发生了场景切换,该方法与通过比较视频帧在色彩的空间分布上的差异来确定视频帧是否发生了场景切换的方法相比,能够节约终端的计算资源,提高i帧的确定效率。
122.在步骤504中,终端基于颜色直方图,确定各个第二视频帧与第一视频帧的差异信息。
123.其中,第二视频帧与第一视频帧的差异信息通过第二视频帧和第一视频帧的颜色直方图的相似度来指示。相似度越高,差异信息越小,第二视频帧相对于第一视频帧发生了场景切换的可能性越小;相似度越低,差异信息越大,第二视频帧相对于第一视频帧发生了场景切换的可能性越大。
124.在一些实施例中,终端将视频帧中每个像素的三原色(red-green-blue,rgb)值转
换为灰度值,将灰度值从0到255划分为多个灰度区间,统计各个灰度区间对应的像素数量,以得到视频帧的灰度特征向量,终端确定第二视频帧和第一视频帧的灰度特征向量的相似度,用1减该相似度来描述第二视频帧与第一视频帧的差异信息。例如,终端将灰度值划分为5个灰度区间,对于第一视频帧,各个灰度区间对应的像素数量分别为200、100、150、100、300,则第一视频帧的灰度特征向量为[200,100,150,100,300],对于第二视频帧,各个灰度区间对应的像素数量分别为100、200、250、300、100,则第二视频帧的灰度特征向量为[100,200,250,300,100]。终端确定第一视频帧和第二视频帧的灰度特征向量的相似度,以得到第一视频帧和第二视频帧的差异信息。需要说明的是,上述对确定颜色直方图的相似度的方式的说明仅是示例性的,本技术实施例不对确定颜色直方图的相似图的方式做出限定。
[0125]
在步骤505中,若任一第二视频帧与第一视频帧的差异信息大于第二阈值,终端则将该第二视频帧确定为i帧。
[0126]
其中,第二阈值为预设的阈值,第二视频帧与第一视频帧的差异信息大于该第二阈值,说明第二视频帧基于第一视频帧发生了场景切换。需要说明的是,第二阈值可以根据实际需求进行设置,本技术实施例对此不做限定。
[0127]
在一些实施例中,终端依次确定各个第二视频帧与第一视频帧的差异信息,每得到一个差异信息,就将该差异信息与第二阈值进行比较,若任一差异信息大于第二阈值,终端则将该差异信息对应的第二视频帧确定为i帧,并停止确定后续的第二视频帧与第一视频帧的差异信息,能够节约终端的计算资源,提高i帧的确定效率。在另一些实施例中,终端先确定各个第二视频帧与第一视频帧的差异信息,再将各个差异信息与第二阈值进行比较。本技术实施例对此不做限定。
[0128]
其中,终端将该第二视频帧确定为i帧的过程与步骤202同理,不再赘述。
[0129]
需要说明的是,该步骤505是若候选帧集合中存在目标视频帧,则将该目标视频帧确定为i帧的一种实现方式,在一些实施例中,该过程基于其他步骤实现,本技术实施例对此不做限定。
[0130]
在步骤506中,若各个第二视频帧与第一视频帧的差异信息均小于或等于第二阈值,终端则将该第一视频帧确定为i帧。
[0131]
其中,与步骤505相对应地,第二视频帧与第一视频帧的差异信息大于该第二阈值,说明第二视频帧基于第一视频帧未发生场景切换。
[0132]
在一些实施例中,终端依次确定各个第二视频帧与第一视频帧的差异信息,每得到一个差异信息,就将该差异信息与第二阈值进行比较,若各个差异信息均小于或等于第二阈值,终端则将第一视频帧确定为i帧。在另一些实施例中,终端先确定各个第二视频帧与第一视频帧的差异信息,再将各差异信息与第二阈值进行比较。本技术实施例对此不做限定。
[0133]
其中,终端将第一视频帧确定为i帧的过程与步骤203同理,不再赘述。
[0134]
需要说明的是,该步骤506是若候选帧集合中不存在目标视频帧,则将第一视频帧确定为i帧的一种实现方式,在一些实施例中,该过程基于其他步骤实现,本技术实施例对此不做限定。
[0135]
上述方法中,终端以是否发生场景切换为依据,从第一视频帧以及第一视频帧附近的第二视频帧中确定i帧,由于发生场景切换前后的视频帧之间的差异信息较大,以是否
发生场景切换为依据确定i帧,能够减小i帧之后的视频帧与i帧之间的差异信息,进而减小视频帧压缩后的数据量,从而提高视频的压缩率。进一步地,通过比较颜色直方图的差异来衡量两个视频帧在色彩的频数分布上的差异,来确定视频帧是否发生了场景切换,与通过比较视频帧在色彩的空间分布上的差异来确定视频帧是否发生了场景切换的方法相比,能够节约终端的计算资源,提高i帧的确定效率。
[0136]
需要说明的是,上述图3和图5所示的实施例是分别以基于视频帧的帧内预测代价和帧间预测代价和基于视频帧的颜色直方图确定发生了场景切换的视频帧为例进行说明的,在一些实施例中,可以采用其他方式确定发生了场景切换的视频帧,本技术实施例对此不做限定。
[0137]
图6是本技术实施例提供的一种视频帧处理装置的结构框图,如图6所示,该装置包括候选帧集合确定单元601和i帧确定单元602。
[0138]
候选帧集合确定单元601,被配置为执行确定目标视频中的候选帧集合,该候选帧集合包括基于预设间隔确定的第一视频帧以及位于该第一视频帧之后的至少一个第二视频帧;
[0139]
i帧确定单元602,被配置为执行若候选帧集合中存在目标视频帧,则将该目标视频帧确定为i帧,该目标视频帧为基于第一视频帧发生场景切换的视频帧;
[0140]
该i帧确定单元602,还被配置为执行若候选帧集合中不存在目标视频帧,则将第一视频帧确定为i帧。
[0141]
在一种可能实施方式中,该候选帧集合确定单元601被配置为执行下述任一项:
[0142]
基于预设间隔,确定第一视频帧,将第一视频帧之后的至少一个视频帧确定为第二视频帧;
[0143]
基于预设间隔,确定位于目标位置范围的多个视频帧,将多个视频帧中的第一个视频帧确定为第一视频帧,将多个视频帧中除第一视频帧之外的其余视频帧确定为第二视频帧,该目标位置范围的起点基于预设间隔确定。
[0144]
在一种可能实施方式中,该装置还包括:
[0145]
目标视频帧确定单元,被配置为执行确定各个第二视频帧的帧内预测代价和各个第二视频帧与第一视频帧之间的帧间预测代价;
[0146]
该i帧确定单元602,还被配置为执行:
[0147]
若任一第二视频帧的帧内预测代价与帧间预测代价的比值小于第一阈值,则将该第二视频帧确定为i帧。
[0148]
在一种可能实施方式中,该装置还包括:
[0149]
颜色直方图确定单元,被配置为执行确定候选帧集合中各个视频帧的颜色直方图;
[0150]
差异信息确定单元,被配置为执行基于颜色直方图,确定各个第二视频帧与第一视频帧的差异信息;
[0151]
该i帧确定单元602,还被配置为执行:
[0152]
若任一第二视频帧与第一视频帧的差异信息大于第二阈值,则将该第二视频帧确定为i帧。
[0153]
在一种可能实施方式中,预设间隔基于目标视频对应的业务类型确定。
[0154]
在一种可能实施方式中,候选帧集合中第二视频帧的数量基于目标视频的内容类型确定。
[0155]
综上,以是否发生场景切换为依据,从第一视频帧以及第一视频帧附近的第二视频帧中确定i帧,由于发生场景切换前后的视频帧之间的差异信息较大,以是否发生场景切换为依据确定i帧,能够减小i帧之后的视频帧与i帧之间的差异信息,进而减小视频帧压缩后的数据量,从而提高视频的压缩率。
[0156]
需要说明的是:上述实施例提供的视频帧处理装置在执行相应步骤时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频帧处理装置与视频帧处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0157]
在本公开实施例中,还提供了一种电子设备,该电子设备包括处理器和存储器,该存储器用于存储至少一条计算机程序,该至少一段计算机程序由该处理器加载并执行以实现上述的视频帧处理方法。
[0158]
以电子设备为终端为例,图7是本技术实施例提供的一种终端的结构框图,参见图7,终端700可以是:智能手机、平板电脑、mp3播放器(moving picture experts group au dio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts grou p audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0159]
通常,终端700包括有:处理器701和存储器702。
[0160]
处理器701可以包括一个或多个处理核心,比如4核心处理器、7核心处理器等。处理器701可以采用dsp(digital signal processing,数字信号处理)、fpga(field-progra mmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0161]
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器701所执行以实现本公开中方法实施例提供的视频帧处理方法中终端执行的过程。
[0162]
在一些实施例中,终端700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、显示屏705、摄像头组件706、音频电路707和电源708中的至少一种。
[0163]
外围设备接口703可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本公开实施例对此不加以限定。
[0164]
射频电路704用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。在一些实施例中,射频电路704包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括nfc(near field communication,近距离无线通信)有关的电路,本公开对此不加以限定。
[0165]
显示屏705用于显示ui(user interface,用户页面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置在终端700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端700的不同表面或呈折叠设计;在另一些实施例中,显示屏705可以是柔性显示屏,设置在终端700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
[0166]
摄像头组件706用于采集图像或视频。在一些实施例中,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0167]
音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括
耳机插孔。
[0168]
电源708用于为终端700中的各个组件进行供电。电源708可以是交流电、直流电、一次性电池或可充电电池。当电源708包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
[0169]
在一些实施例中,终端700还包括有一个或多个传感器709。该一个或多个传感器709包括但不限于:加速度传感器710、陀螺仪传感器711、压力传感器712、光学传感器713以及接近传感器714。
[0170]
加速度传感器710可以检测以终端700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器710可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器710采集的重力加速度信号,控制显示屏705以横向视图或纵向视图进行用户页面的显示。加速度传感器710还可以用于游戏或者用户的运动数据的采集。
[0171]
陀螺仪传感器711可以检测终端700的机体方向及转动角度,陀螺仪传感器711可以与加速度传感器710协同采集用户对终端700的3d动作。处理器701根据陀螺仪传感器711采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0172]
压力传感器712可以设置在终端700的侧边框和/或显示屏705的下层。当压力传感器712设置在终端700的侧边框时,可以检测用户对终端700的握持信号,由处理器701根据压力传感器712采集的握持信号进行左右手识别或快捷操作。当压力传感器712设置在显示屏705的下层时,由处理器701根据用户对显示屏705的压力操作,实现对ui页面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0173]
光学传感器713用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器713采集的环境光强度,控制显示屏705的显示亮度。具体地,当环境光强度较高时,调高显示屏705的显示亮度;当环境光强度较低时,调低显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器713采集的环境光强度,动态调整摄像头组件706的拍摄参数。
[0174]
接近传感器714,也称距离传感器,通常设置在终端700的前面板。接近传感器714用于采集用户与终端700的正面之间的距离。在一个实施例中,当接近传感器714检测到用户与终端700的正面之间的距离逐渐变小时,由处理器701控制显示屏705从亮屏状态切换为息屏状态;当接近传感器714检测到用户与终端700的正面之间的距离逐渐变大时,由处理器701控制显示屏705从息屏状态切换为亮屏状态。
[0175]
本领域技术人员可以理解,图7中示出的结构并不构成对终端700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0176]
以电子设备为服务器为例,图8是本技术实施例提供的一种服务器的结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或多个cpu(central processing units,处理器)801和一个或多个的存储器802,其中,该一个或多个存储器802中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器801加载并执行以实现上述视频帧处理方法。当然,该服务器800还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器800还可以包括其他用于实现设
备功能的部件,在此不做赘述。
[0177]
在本技术实施例中,还提供了一种包括程序代码的计算机可读存储介质,例如包括程序代码的存储器702,上述程序代码可由上述终端700的处理器701执行以完成上述视频帧处理方法。可选地,计算机可读存储介质可以是rom(read-only memory,只读内存)、ram(random access memory,随机存取存储器)、cd-rom(compact-disc read-only memory,只读光盘)、磁带、软盘和光数据存储设备等。
[0178]
在本技术实施例中,还提供了一种计算机程序产品,包括一条或多条计算机程序,该一条或多条计算机程序由电子设备的一个或多个处理器执行,使得该电子设备能够执行上述视频帧处理方法。
[0179]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0180]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

技术特征:
1.一种视频帧处理方法,其特征在于,所述方法包括:确定目标视频中的候选帧集合,所述候选帧集合包括基于预设间隔确定的第一视频帧以及位于所述第一视频帧之后的至少一个第二视频帧;若所述候选帧集合中存在目标视频帧,则将所述目标视频帧确定为i帧,所述目标视频帧为基于所述第一视频帧发生场景切换的视频帧;若所述候选帧集合中不存在目标视频帧,则将所述第一视频帧确定为i帧。2.根据权利要求1所述的方法,其特征在于,所述确定目标视频中的候选帧集合包括下述任一种方式:基于所述预设间隔,确定所述第一视频帧,将所述第一视频帧之后的至少一个视频帧确定为第二视频帧;基于所述预设间隔,确定位于目标位置范围的多个视频帧,将所述多个视频帧中的第一个视频帧确定为第一视频帧,将所述多个视频帧中除所述第一视频帧之外的其余视频帧确定为第二视频帧,所述目标位置范围的起点基于所述预设间隔确定。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定各个所述第二视频帧的帧内预测代价和各个所述第二视频帧与所述第一视频帧之间的帧间预测代价;所述若所述候选帧集合中存在目标视频帧,则将所述目标视频帧确定为i帧,包括:若任一所述第二视频帧的所述帧内预测代价与所述帧间预测代价的比值小于第一阈值,则将所述第二视频帧确定为i帧。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定所述候选帧集合中各个视频帧的颜色直方图;基于所述颜色直方图,确定各个所述第二视频帧与所述第一视频帧的差异信息;所述若所述候选帧集合中存在目标视频帧,则将所述目标视频帧确定为i帧,包括:若任一所述第二视频帧与所述第一视频帧的差异信息大于第二阈值,则将所述第二视频帧确定为i帧。5.根据权利要求1所述的方法,其特征在于,所述预设间隔基于所述目标视频对应的业务类型确定。6.根据权利要求1所述的方法,其特征在于,所述候选帧集合中第二视频帧的数量基于所述目标视频的内容类型确定。7.一种视频帧处理装置,其特征在于,所述装置包括:候选帧集合确定单元,被配置为执行确定目标视频中的候选帧集合,所述候选帧集合包括基于预设间隔确定的第一视频帧以及位于所述第一视频帧之后的至少一个第二视频帧;i帧确定单元,被配置为执行若所述候选帧集合中存在目标视频帧,则将所述目标视频帧确定为i帧,所述目标视频帧为基于所述第一视频帧发生场景切换的视频帧;所述i帧确定单元,还被配置为执行若所述候选帧集合中不存在目标视频帧,则将所述第一视频帧确定为i帧。8.根据权利要求7所述的装置,其特征在于,所述候选帧集合确定单元被配置为执行下述任一项:
基于所述预设间隔,确定所述第一视频帧,将所述第一视频帧之后的至少一个视频帧确定为第二视频帧;基于所述预设间隔,确定位于目标位置范围的多个视频帧,将所述多个视频帧中的第一个视频帧确定为第一视频帧,将所述多个视频帧中除所述第一视频帧之外的其余视频帧确定为第二视频帧,所述目标位置范围的起点基于所述预设间隔确定。9.根据权利要求7所述的装置,其特征在于,所述装置还包括:目标视频帧确定单元,被配置为执行确定各个所述第二视频帧的帧内预测代价和各个所述第二视频帧与所述第一视频帧之间的帧间预测代价;所述i帧确定单元,还被配置为执行:若任一所述第二视频帧的所述帧内预测代价与所述帧间预测代价的比值小于第一阈值,则将所述第二视频帧确定为i帧。10.根据权利要求7所述的装置,其特征在于,所述装置还包括:颜色直方图确定单元,被配置为执行确定所述候选帧集合中各个视频帧的颜色直方图;差异信息确定单元,被配置为执行基于所述颜色直方图,确定各个所述第二视频帧与所述第一视频帧的差异信息;所述i帧确定单元,还被配置为执行:若任一所述第二视频帧与所述第一视频帧的差异信息大于第二阈值,则将所述第二视频帧确定为i帧。11.根据权利要求7所述的装置,其特征在于,所述预设间隔基于所述目标视频对应的业务类型确定。12.根据权利要求7所述的装置,其特征在于,所述候选帧集合中第二视频帧的数量基于所述目标视频的内容类型确定。13.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器用于存储至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现如权利要求1至权利要求6任一项所述的视频帧处理方法。14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由电子设备的处理器加载并执行以实现如权利要求1至权利要求6任一项所述的视频帧处理方法。

技术总结
本申请关于一种视频帧处理方法、装置、电子设备及存储介质,属于视频编码技术领域,该方法包括:从基于预设间隔确定的第一视频帧和该第一视频帧之后的至少一个第二视频帧中确定I帧,其中,若任一第二视频帧基于第一视频帧发生了场景切换,则将该第二视频帧确定为I帧,否则,将第一视频帧确定为I帧。上述方法中,以是否发生场景切换为依据,从第一视频帧以及第一视频帧附近的第二视频帧中确定I帧,由于发生场景切换前后的视频帧之间的差异信息较大,因此,以是否发生场景切换为依据确定I帧,能够减小I帧之后的视频帧与I帧之间的差异信息,进而减小视频帧压缩后的数据量,从而提高视频的压缩率。压缩率。压缩率。


技术研发人员:刘晶 谷嘉文 黄博 钟婷婷 肖君实 邵宇超 刘何为 闻兴
受保护的技术使用者:北京达佳互联信息技术有限公司
技术研发日:2023.04.24
技术公布日:2023/8/4
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐