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

视频数据传输方法、装置、介质和计算设备与流程

2022-08-13 12:52:57 来源:中国专利 TAG:


1.本公开的实施方式涉及视频技术领域,更具体地,本公开的实施方式涉及一种视频数据传输方法、装置、介质和计算设备。


背景技术:

2.本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.随着计算机技术的发展,以及数字媒体技术的日趋成熟,视频录制app、视频通话app等的应用越来越广泛。用户可以通过视频录制app,录制一段视频,并将该视频分享给其他用户;或者,用户可以通过视频通话app,与其他用户进行视频形式的实时通信(real time communication,rtc)。在这种情况下,通常需要由用户使用的电子设备采集视频数据,并将该视频数据传输至其他用户使用的电子设备,以由其他用户所使用的电子设备将对应于该视频数据的视频内容展示给其他用户。
4.而在视频数据传输过程中,如何保证视频质量,也就成为了备受关注的问题。


技术实现要素:

5.在本上下文中,本公开的实施方式期望提供一种。
6.在本公开实施方式的第一方面中,提供了一种视频数据传输方法,所述方法应用于发送端;所述方法包括:
7.获取待传输的视频帧图像;
8.确定与接收端协商获得的图像处理能力集合中是否包含超分辨率能力;
9.如果所述图像处理能力集合中包含超分辨率能力,对所述视频帧图像进行降低图像分辨率的处理,得到低分辨率图像;其中,所述低分辨率图像的图像分辨率匹配所述超分辨率能力的可处理分辨率;
10.将所述低分辨率图像发送给所述接收端,以使所述接收端基于超分辨率算法,对所述低分辨率图像进行超分辨率重建,得到与所述低分率图像对应的高分辨率图像,并将所述高分辨率图像确定为所述视频帧图像。
11.在本公开实施方式的第二方面中,提供了一种视频实时传输方法,所述方法应用于接收端;所述方法包括:
12.接收发送端发送的低分辨率图像;其中,所述低分辨率图像由所述发送端在确定与所述接收端协商获得的图像处理能力集合中包含超分辨率能力的情况下,对待传输的视频帧图像进行降低图像分辨率的处理得到;其中,所述低分辨率图像的图像分辨率匹配所述超分辨率能力的可处理分辨率;
13.基于超分辨率算法,对所述低分辨率图像进行超分辨率重建,得到与所述低分率图像对应的高分辨率图像,并将所述高分辨率图像确定为所述视频帧图像。
14.在本公开实施方式的第三方面中,提供了一种视频数据传输装置,所述装置应用
于发送端;所述装置包括:
15.获取模块,用于获取待传输的视频帧图像;
16.确定模块,用于确定与接收端协商获得的图像处理能力集合中是否包含超分辨率能力;
17.处理模块,用于如果所述图像处理能力集合中包含超分辨率能力,对所述视频帧图像进行降低图像分辨率的处理,得到低分辨率图像;其中,所述低分辨率图像的图像分辨率匹配所述超分辨率能力的可处理分辨率;
18.发送模块,用于将所述低分辨率图像发送给所述接收端,以使所述接收端基于超分辨率算法,对所述低分辨率图像进行超分辨率重建,得到与所述低分率图像对应的高分辨率图像,并将所述高分辨率图像确定为所述视频帧图像。
19.在本公开实施方式的第四方面中,提供了一种视频实时传输装置,所述装置应用于接收端;所述装置包括:
20.接收模块,用于接收发送端发送的低分辨率图像;其中,所述低分辨率图像由所述发送端在确定与所述接收端协商获得的图像处理能力集合中包含超分辨率能力的情况下,对待传输的视频帧图像进行降低图像分辨率的处理得到;其中,所述低分辨率图像的图像分辨率匹配所述超分辨率能力的可处理分辨率;
21.第一重建模块,用于基于超分辨率算法,对所述低分辨率图像进行超分辨率重建,得到与所述低分率图像对应的高分辨率图像,并将所述高分辨率图像确定为所述视频帧图像。
22.在本公开实施方式的第五方面中,提供了一种介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一视频数据传输处理方法。
23.在本公开实施方式的第四方面中,提供了一种计算设备,包括:
24.处理器;
25.用于存储处理器可执行程序的存储器;
26.其中,所述处理器通过运行所述可执行程序以实现上述任一视频数据传输方法。
27.根据本公开的实施方式,在视频数据传输过程中,发送端可以在确定与接收端协商获得的图像处理能力集合中包含超分辨率能力的情况下,先对待传输的视频帧图像进行降低图像分辨率的处理,得到低分辨率图像,该低分辨率图像的图像分辨率与该超分辨率能力的可处理分辨率匹配,后续可以将该低分辨率图像发送给该接收端,而该接收端可以基于超分辨率算法,对该低分辨率图像进行超分辨率重建,得到与该低分率图像对应的高分辨率图像,并将该高分辨率图像确定为该视频帧图像。
28.采用上述方式,一方面,发送端可以对待传输的视频帧图像进行降低图像分辨率的处理,并将处理得到的低分辨率图像发送给接收端,因此可以减少视频数据传输过程中所传输的视频数据的数据量,从而提高视频数据传输效率;另一方面,接收端可以对接收到的低分辨率图像进行超分辨率重建,并将重建得到的高分辨率图像确定为发送端发送的视频帧图像,因此可以保证接收端获取到的视频帧图像的图像质量,从而保证相应视频的传输质量,提升用户体验。
附图说明
29.通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
30.图1示意性地示出了根据本公开实施方式的一种视频数据传输的应用场景的示意图;
31.图2示意性地示出了根据本公开实施方式的一种视频数据传输方法的流程图;
32.图3示意性地示出了根据本公开实施方式的另一种视频数据传输方法的流程图;
33.图4示意性地示出了根据本公开实施方式的一种图像处理能力集合协商方法的流程图;
34.图5示意性地示出了根据本公开实施方式的一种图像处理能力集合协商的软件架构图;
35.图6示意性地示出了根据本公开实施方式的一种视频质量控制的软件架构图;
36.图7示意性地示出了根据本公开实施方式的一种超分辨率重建的软件架构的示意图;
37.图8示意性地示出了根据本公开实施方式的一种介质的示意图;
38.图9示意性地示出了根据本公开实施方式的一种视频数据传输装置的框图;
39.图10示意性地示出了根据本公开实施方式的另一种视频数据传输装置的框图;
40.图11示意性地示出了根据本公开实施方式的一种计算设备的示意图。
41.在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
42.下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
43.本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
44.根据本公开的实施方式,提出了一种视频数据传输方法、装置、介质和计算设备。
45.在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
46.下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
47.发明概述
48.以两个不同的用户(假设为用户1和用户2)通过视频通话app,进行视频形式的实时通信为例,一方面,可以由用户1使用的电子设备采集视频数据,并将该视频数据发送给对应于该视频通话app的服务端,由该服务端将该视频数据发送给用户2使用的电子设备,以由用户2使用的电子设备将对应于该视频数据的视频展示给用户2,使得用户2可以查看用户1拍摄的视频。此时,用户1使用的电子设备即为视频数据传输过程中的发送端,用户2
使用的电子设备即为视频数据传输过程中的接收端。
49.另一方面,可以由用户2使用的电子设备采集视频数据,并将该视频数据发送给对应于该视频通话app的服务端,由该服务端将该视频数据发送给用户1使用的电子设备,以由用户1使用的电子设备将对应于该视频数据的视频展示给用户1,使得用户1可以查看用户2拍摄的视频。此时,用户2使用的电子设备即为视频数据传输过程中的发送端,用户1使用的电子设备即为视频数据传输过程中的接收端。
50.在实际应用中,视频数据包括在一段时间内针对被拍摄目标所采集到的在时序上连续的一系列图像;这些图像通常被称为视频帧图像。
51.相关技术中,由于网络带宽的限制,通常会在发送端对待发送的视频数据进行处理,以减小该视频数据的数据量;例如,降低该视频数据中各视频帧图像的图像分辨率,以减少各视频帧图像中像素点的数量。
52.然而,降低图像的图像分辨率会影响图像的图像质量。因此,接收端获取到的对应于视频数据的视频帧图像质量通常会受到影响,用户体验较差。
53.为了保证视频数据传输过程中的视频帧图像质量,本公开提供了一种用于视频数据传输的技术方案。在视频数据传输过程中,发送端可以在确定与接收端协商获得的图像处理能力集合中包含超分辨率能力的情况下,先对待传输的视频帧图像进行降低图像分辨率的处理,得到低分辨率图像,该低分辨率图像的图像分辨率与该超分辨率能力的可处理分辨率匹配,后续可以将该低分辨率图像发送给该接收端,而该接收端可以基于超分辨率算法,对该低分辨率图像进行超分辨率重建,得到与该低分率图像对应的高分辨率图像,并将该高分辨率图像确定为该视频帧图像。
54.采用上述方式,一方面,发送端可以对待传输的视频帧图像进行降低图像分辨率的处理,并将处理得到的低分辨率图像发送给接收端,因此可以减少视频数据传输过程中所传输的视频数据的数据量,从而提高视频数据传输效率;另一方面,接收端可以对接收到的低分辨率图像进行超分辨率重建,并将重建得到的高分辨率图像确定为发送端发送的视频帧图像,因此可以保证接收端获取到的视频帧图像的图像质量,从而保证相应视频的传输质量,提升用户体验。
55.在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。
56.应用场景总览
57.参考图1,图1示意性地示出了根据本公开实施方式的一种视频数据传输的应用场景的示意图。
58.如图1所示,在视频数据传输的应用场景中,可以包括服务端,以及通过任一类型的有线或者无线网络接入该服务端的至少一个客户端(例如:客户端1-n)。
59.上述服务端可以部署在包含一台独立的物理主机的服务器或者由多台互相独立的物理主机构成的服务器集群上;或者,上述服务端可以是基于云计算服务搭建的服务端。
60.上述客户端可以对应于用户在其使用的电子设备中安装的app;其中,该电子设备具体可以是智能手机、平板电脑、笔记本电脑、pc(personal computer,个人电脑)、掌上电脑(pdas,personal digital assistants)、可穿戴设备(例如:智能眼镜、智能手表等)、智能车载设备或游戏机等。
61.一方面,上述电子设备上可以搭载嵌入式摄像头、外接式摄像头等用于采集图像或者视频的拍摄硬件。在这种情况下,该电子设备可以调用这些拍摄硬件,针对拍摄目标进行视频的采集,并作为视频数据传输过程中的发送端,将采集到的视频数据通过上述服务端,发送给作为视频数据传输过程中的接收端的其他电子设备。
62.另一方面,上述电子设备可以作为视频数据传输过程中的接收端,接收作为视频数据传输过程中的发送端的其他电子设备通过上述服务端,发送的视频数据,并将对应于该视频数据的视频展示给用户。
63.示例性方法
64.下面结合图1的应用场景,参考图2-图5来描述根据本公开示例性实施方式的用于视频数据传输的方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
65.参考图2,图2示意性地示出了根据本公开实施方式的一种视频数据传输方法的流程图。
66.上述视频数据传输方法可以应用于视频数据传输过程中的发送端;该视频数据传输方法可以包括以下步骤:
67.步骤201:获取待传输的视频帧图像。
68.在本实施例中,上述发送端可以获取待传输的视频数据中的视频帧图像。
69.在实际应用中,待传输的视频数据可以是由上述发送端自主采集到的视频数据,也可以是该发送端从其他电子设备处获取到的视频数据。待传输的视频数据可以是实时的视频数据(例如:视频形式的实时通信下的视频数据),也可以是预先获得的视频数据。本公开对此均不作限制。
70.步骤202:确定与接收端协商获得的图像处理能力集合中是否包含超分辨率能力。
71.在本实施例中,上述发送端在对待传输的视频数据中的视频帧图像进行处理之前,可以先确定与视频数据传输过程中的接收端协商获得的图像处理能力集合中是否包含超分辨率能力。
72.在实际应用中,超分辨率是通过硬件或软件的方法提高图像的图像分辨率;超分辨率重建即为通过低分辨率的图像,得到高分辨率的图像的过程。
73.步骤203:如果所述图像处理能力集合中包含超分辨率能力,对所述视频帧图像进行降低图像分辨率的处理,得到低分辨率图像;其中,所述低分辨率图像的分辨率匹配所述超分辨率能力的可处理分辨率。
74.在本实施例中,如果上述图像处理能力集合中包含超分辨率能力,则可以认为上述接收端具有超分辨率能力,即该接收端可以将低分辨率的图像超分辨率重建为高分辨率的图像。在这种情况下,上述发送端可以对上述视频帧图像进行降低图像分辨率的处理,得到低分辨率图像。
75.需要说明的是,为了保证上述接收端可以对上述低分辨率图像进行超分辨率重建,该低分辨率图像的图像分辨率可以匹配上述超分辨率能力的可处理分辨率。
76.如果上述图像处理能力集合中不包含超分辨率能力,则可以认为上述接收端不具有超分辨率能力,即该接收端无法将低分辨率的图像超分辨率重建为高分辨率的图像。在
这种情况下,上述发送端也就无需对上述视频帧图像进行降低图像分辨率的处理。
77.步骤204:将所述低分辨率图像发送给所述接收端,以使所述接收端基于超分辨率算法,对所述低分辨率图像进行超分辨率重建,得到与所述低分率图像对应的高分辨率图像,并将所述高分辨率图像确定为所述视频帧图像。
78.在本实施例中,上述发送端在得到了上述低分辨率图像的情况下,可以将该低分辨率图像发送给上述接收端。
79.上述接收端在接收到上述发送端发送的上述低分辨率图像的情况下,可以基于超分辨率算法,对该低分辨率图像进行超分辨率重建,得到与该低分辨率图像对应的高分辨率图像,并将该高分辨率图像确定为上述视频帧图像,从而可以基于该视频帧图像进行视频展示。
80.与如图2所示的视频数据传输方法相应地,参考图3,图3示意性地示出了根据本公开实施方式的另一种视频数据传输方法的流程图。
81.上述视频数据传输方法可以应用于视频数据传输过程中的接收端;该视频数据传输方法可以包括以下步骤:
82.步骤301:接收发送端发送的低分辨率图像;其中,所述低分辨率图像由所述发送端在确定与所述接收端协商获得的图像处理能力集合中包含超分辨率能力的情况下,对待传输的视频帧图像进行降低图像分辨率的处理得到;其中,所述低分辨率图像的分辨率匹配所述超分辨率能力的可处理分辨率。
83.步骤302:基于超分辨率算法,对所述低分辨率图像进行超分辨率重建,得到与所述低分率图像对应的高分辨率图像,并将所述高分辨率图像确定为所述视频帧图像。
84.上述步骤301-302的具体实现可以参考上述步骤201-204,在此不再赘述。
85.根据如图2和图3所示的实施例,在视频数据传输过程中,发送端可以在确定与接收端协商获得的图像处理能力集合中包含超分辨率能力的情况下,先对待传输的视频帧图像进行降低图像分辨率的处理,得到低分辨率图像,该低分辨率图像的图像分辨率与该超分辨率能力的可处理分辨率匹配,后续可以将该低分辨率图像发送给该接收端,而该接收端可以基于超分辨率算法,对该低分辨率图像进行超分辨率重建,得到与该低分率图像对应的高分辨率图像,并将该高分辨率图像确定为该视频帧图像。
86.此外,发送端在对待传输的视频帧图像进行降低图像分辨率的处理,得到低分辨率图像之前,还可以先基于视频质量控制策略,对该视频帧图像的图像分辨率、视频帧率和/或视频码率进行调整。
87.下面从图像处理能力集合协商、视频质量控制、降低图像分辨率的处理、超分辨率重建的方面,对如图2和图3所示的视频数据传输方法进行说明。
88.在示出的一种实施方式中,上述发送端与上述接收端可以预先通过协商,获得上述图像处理能力集合,以避免在视频数据传输过程中再进行图像处理能力集合的协商,影响视频数据传输效率。
89.具体地,上述发送端和上述接收端可以分别将其图像处理能力集合上报至服务端,由该服务端基于该发送端的图像处理能力集合(下称为第一图像处理能力集合)和该接收端的图像处理能力集合(下称为第二图像处理能力集合),确定该发送端和该接收端所共同满足的图像处理能力集合,并将确定的该图像处理能力集合下发至该发送端,以使该发
送端将该服务端下发的图像处理能力集合确定为与该接收端协商获得的图像处理能力集合。
90.此外,上述服务端还可以将确定的上述图像处理能力集合下发至上述接收端,以便于该接收端在作为新的发送端,向上述发送端进行视频数据传输时,直接将该服务端下发的图像处理能力集合确定为与该发送端协商获得的图像处理能力集合。
91.参考图4,图4示意性地示出了根据本公开实施方式的一种图像处理能力集合协商方法的流程图。
92.上述图像处理能力集合协商方法可以通过上述发送端、上述接收端与服务端之间的数据交互实现;该图像处理能力集合协商方法可以包括以下步骤:
93.步骤401:发送端将第一加入群组请求发送给服务端;其中,所述第一加入群组请求包括所述发送端的第一图像处理能力集合。
94.步骤402:接收端将第二加入群组请求发送给服务端;其中,所述第二加入群组请求包括所述接收端的第二图像处理能力集合。
95.在本实施例中,上述发送端可以向上述服务端发送加入群组请求(下称为第一加入群组请求),以在相应的通信群组中进行视频数据传输。
96.同理,上述接收端可以向上述服务端发送加入群组请求(下称为第二加入群组请求),以在相应的通信群组中进行视频数据传输。
97.在上述发送端和上述接收端接入同一通信群组的情况下,该发送端与该接收端之间可以进行数据交互,即该发送端可以将视频数据传输至该接收端。
98.需要说明的是,上述步骤401与上述步骤402在时序上不存在先后顺序。也即,可以是上述发送端先向上述服务端发送上述第一加入群组请求,也可以是上述接收端先向该服务端发送上述第二加入群组请求。
99.步骤403:服务端基于所述第一图像处理能力集合和所述第二图像处理能力集合,确定所述通信群组的所述图像处理能力集合。
100.在本实施例中,上述服务端可以基于上述第一图像处理能力集合和上述第二图像处理能力集合,确定上述发送端和上述接收端所在的通信群组的图像处理能力集合。
101.在示出的一种实施方式中,上述服务端可以将上述第一图像处理能力集合和上述第二图像处理能力集合的交集,确定为上述通信群组的图像处理能力集合。也即,该通信群组的图像处理能力集合中的图像处理能力,既包含于该第一图像处理能力集合中,又包含于该第二图像处理能力集合中,从而可以保证该图像处理能力集合与上述发送端和上述接收端均匹配。
102.步骤404:服务端将所述图像处理能力集合发送给发送端。
103.步骤405:发送端将所述图像处理能力集合确定为与所述接收端协商获得的图像处理能力集合。
104.步骤406:服务端将所述图像处理能力集合发送给接收端。
105.步骤407:接收端将所述图像处理能力集合确定为与所述发送端协商获得的图像处理能力集合。
106.在本实施例中,上述服务端在确定了上述通信群组的图像处理能力集合的情况下,可以将该图像处理能力集合发送给上述发送端,以使该发送端将该图像处理能力集合
确定为与上述接收端协商获得的图像处理能力集合。
107.此外,上述服务端还可以将该图像处理能力集合发送给上述接收端,以使该接收端将该图像处理能力集合确定为与上述发送端协商获得的图像处理能力集合。
108.需要说明的是,上述步骤404与上述步骤406在时序上不存在先后顺序。也即,可以是上述服务端先向上述发送端发送上述图像处理能力集合,也可以是该服务端先向上述接收端发送该图像处理能力集合。
109.参考图5,图5示意性地示出了根据本公开实施方式的一种图像处理能力集合协商的软件架构图。
110.在实际应用中,对于上述通信群组而言,可以先由上述服务端创建该通信群组,并为该通信群组设置默认图像处理能力集合。
111.需要说明的是,加入该通信群组的客户端既可以作为上述发送端,也可以作为上述接收端。
112.上述服务端在接收到第一个客户端发送的请求加入该通信群组的加入群组请求的情况下,可以先确定该加入群组请求中是否携带了对应于该客户端的图像处理能力集合,如果是,则可以使用对应于该客户端的图像处理能力集合,覆盖上述默认图像处理能力集合,即将该通信群组的图像处理能力集合更新为对应于该客户端的图像处理能力集合。
113.上述服务端在接收到后续的客户端发送的请求加入该通信群组的加入群组请求的情况下,可以先确定该加入群组请求中是否携带了对应于该客户端的图像处理能力集合,如果是,再确定对应于该客户端的图像处理能力集合是否大于该通信群组的当前图像处理能力集合。如果对应于该客户端的图像处理能力集合大于该通信群组的当前图像处理能力集合,则上述服务端可以不更新该通信群组的图像处理能力集合,而将该当前图像处理能力集合发送给该客户端,以使该客户端将该当前图像处理能力集合确定为协商获得的图像处理能力集合。如果对应于该客户端的图像处理能力集合小于该通信群组的当前图像处理能力集合,则上述服务端可以取对应于该客户端的图像处理能力集合与该通信群组的当前图像处理能力集合的交集,并将该通信群组的图像处理能力集合更新为该交集,将新的图像处理能力集合发送给该通信群组中的各客户端,以使各客户端将该新的图像处理能力集合确定为协商获得的图像处理能力集合。
114.上述发送端在确定与上述接收端协商获得的图像处理能力集合中包含超分辨率能力的情况下,可以对上述视频帧图像进行降低图像分辨率的处理,得到低分辨率图像。
115.对于不同的视频数据传输过程而言,其中网络带宽等网络环境参数通常也不相同。为了使视频数据传输能够更好地满足实际的网络环境参数的要求,上述发送端在对上述视频帧图像进行降低图像分辨率的处理,得到低分辨率图像之前,还可以先基于视频质量控制策略,对该视频帧图像的图像分辨率、视频帧率和/或视频码率进行调整。例如,在网络带宽较小的情况下,可以在降低视频帧图像的图像分辨率之前,先基于视频质量控制策略,降低该视频帧图像的图像分辨率、视频帧率和/或视频码率,以减少传输过程中的带宽占用;而在网络带宽较大的情况下,则可以在降低视频帧图像的图像分辨率之前,先基于视频质量控制策略,提高该视频帧图像的图像分辨率、视频帧率和/或视频码率,以充分利用网络带宽。
116.参考图6,图6示意性地示出了根据本公开实施方式的一种视频质量控制的软件架
构图。
117.具体地,在一个例子中,上述发送端可以通过overuseframedetector模块,按照一定的时间周期(下称为第一时间周期),周期性地基于对历史视频帧图像进行编码时的编码耗时,确定cpu(central processing unit,中央处理器)使用率,并将确定的该cpu使用率分别与高使用率阈值和低使用率阈值进行比较。
118.如果上述cpu使用率大于上述高使用率阈值,则说明之前对视频帧图像进行编码所占用的cpu资源较多,对cpu造成了影响,因此上述发送端可以先降低上述视频帧图像的图像分辨率和/或视频帧率,以降低cpu使用率,再对该视频帧图像进行降低图像分辨率的处理,得到低分辨率图像。
119.如果上述cpu使用率小于上述低使用率阈值,则说明之前对视频帧图像进行编码所占用的cpu资源较少,未能充分利用cpu,因此上述发送端可以先提高上述视频帧图像的图像分辨率和/或视频帧率,以提高cpu使用率,再对该视频帧图像进行降低图像分辨率的处理,得到低分辨率图像。
120.其中,上述第一时间周期、上述高使用率阈值和上述低使用率阈值的具体数值均可以由技术人员预先设置,也可以是默认的缺省值,本公开对此不作限制。
121.在另一个例子中,上述发送端可以通过mediaoptimization模块,基于漏桶算法,根据最大视频码率、最小视频码率、目标视频码率,以及对历史视频帧图像进行编码时的实际视频码率,先确定是否对上述视频帧图像进行丢帧处理,以对该视频帧图像的视频码率进行调整,再在无需对该视频帧图像进行丢帧处理的情况下,对该视频帧图像进行降低图像分辨率的处理,得到低分辨率图像。
122.其中,上述最大视频码率表示当前的视频数据传输过程中所允许的最大视频码率,上述最小视频码率表示当前的视频数据传输过程中所允许的最小视频码率,上述目标视频码率表示当前的视频数据传输过程中所要求的视频码率。该最大视频码率、该最小视频码率和该目标视频码率的具体数值均可以由技术人员预先设置,也可以是默认的缺省值,本公开对此不作限制。
123.在另一个例子中,上述发送端可以通过qualityscaler模块,按照一定的时间周期(下称为第二时间周期),周期性地确定对历史视频帧图像进行编码时的平均量化参数(quantizer parameter,qp),并将确定的该平均量化参数分别与高量化参数阈值和低量化参数阈值进行比较。
124.在实际应用中,量化参数的值越小,量化越精细,图像质量越高,视频码率也越高;量化参数的值越大,量化越粗糙,图像质量越低,视频码率也越低。
125.需要说明的是,上述高量化参数阈值和上述低量化参数阈值对应于对历史视频帧图像进行编码时所采用的编码方式。与不同的编码方式对应的高量化参数阈值和低量化参数阈值通常也不相同;例如,与h.264标准的编码方式对应的高量化参数阈值可以是37,与h.264标准的编码方式对应的低量化参数阈值可以是24。
126.如果上述平均量化参数大于上述高量化参数阈值,则上述发送端可以先降低上述视频帧图像的图像分辨率和/或视频帧率,再对该视频帧图像进行降低图像分辨率的处理,得到低分辨率图像。
127.如果上述平均量化参数小于上述低量化参数阈值,则上述发送端可以先提高上述
视频帧图像的图像分辨率和/或视频帧率,再对该视频帧图像进行降低图像分辨率的处理,得到低分辨率图像。
128.其中,上述第二时间周期、上述高量化参数阈值和上述低量化参数阈值的具体数值均可以由技术人员预先设置,也可以是默认的缺省值,本公开对此不作限制。
129.对于上述视频帧图像而言,在降低该视频帧图像的图像分辨率时,具体可以将该视频帧图像的图像分辨率降低至原图像分辨率的1/4至3/5,而在提高该视频帧图像的图像分辨率时,具体可以将该视频帧图像的图像分辨率提高至原图像分辨率的5/3至4倍。
130.其中,降低和提高图像分辨率时所采用的具体数值,都可以根据人工经验和实际需求进行选取。
131.类似地,在降低该视频帧图像的视频帧率时,具体可以将该视频帧图像的视频帧率降低至原视频帧率的2/3,而在提高该视频帧图像的视频帧率时,具体可以将该视频帧图像的视频帧率提高至当前图像分辨率下所允许的最高视频帧率。
132.其中,降低和提高视频帧率时所采用的具体数值,都可以根据人工经验和实际需求进行选取。
133.上述发送端在确定与上述接收端协商获得的图像处理能力集合中包含超分辨率能力的情况下,可以对上述视频帧图像进行降低图像分辨率的处理,得到低分辨率图像,并将该低分辨率图像发送给上述接收端。
134.需要说明的是,为了保证上述接收端可以对上述低分辨率图像进行超分辨率重建,该低分辨率图像的图像分辨率可以匹配上述超分辨率能力的可处理分辨率。
135.在示出的一种实施方式中,可以根据实际需求和技术限制,将上述超分辨率能力的可处理分辨率的范围确定为360
×
360至1280
×
1280。
136.在实际应用中,360
×
360表示图像的水平方向和垂直方向上的像素点的数量均为360,1280
×
1280表示图像的水平方向和垂直方向上的像素点的数量均为1280。
137.对于匹配上述超分辨率能力的可处理分辨率而言,上述低分辨率图像的水平方向上的像素点的数量可以在360-1280的范围内,该低分辨率图像的垂直方向上的像素点的数量也可以在360-1280的范围内。
138.上述接收端在接收到上述发送端发送的上述低分辨率图像的情况下,可以基于超分辨率算法,对该低分辨率图像进行超分辨率重建,得到与该低分辨率图像对应的高分辨率图像,并将该高分辨率图像确定为上述视频帧图像,从而可以基于该视频帧图像进行视频展示。
139.参考图7,图7示意性地示出了根据本公开实施方式的一种超分辨率重建的软件架构的示意图。
140.在示出的一种实施方式中,上述接收端在基于超分辨率算法,对上述低分辨率图像进行超分辨率重建,得到与该低分率图像对应的高分辨率图像时,具体可以将该低分辨率图像输入用于对图像进行超分辨率重建的超分模型,以使该超分模型对该低分辨率图像进行超分辨率重建,得到与该低分率图像对应的高分辨率图像。
141.在示出的一种实施方式中,上述超分模型可以是基于双重注意力机制的超分模型。也即,该超分模型可以基于双重注意力机制,对所输入的图像进行特征提取。
142.在实际应用中,引入注意力机制是为了从大量信息中有筛选出少量重要信息,并
聚焦到这些重要信息上,而忽略大多不重要的信息。
143.上述双重注意力机制可以是空间注意力机制和通道注意力机制。
144.对于所输入的图像而言,空间注意力可以帮助聚焦于该图像中的重要信息。
145.对于上述超分模型中的卷积层而言,在将图像输入该卷积层进行特征提取后,该卷积层输出的图像的数量等于该卷积层的卷积通道数。也即,该卷积层的每个卷积通道都会输出通过该卷积通道对该图像进行特征提取得到的特征数据。在这种情况下,通道注意力可以帮助聚焦于输出重要信息的卷积通道。
146.通过基于双重注意力机制的超分模型,对图像进行超分辨率重建,可以使超分辨率重建得到的图像具有更好的细节和边缘。
147.在示出的一种实施方式中,上述超分模型可以包括用于对特征图像中的像素进行重新排列的亚像素卷积层,以充分利用该超分模型中的卷积层的每个卷积通道输出的特征数据。
148.在相机成像的过程中,获得的图像数据是将图像进行了离散化的处理,由于感光元件本身的能力限制,到成像面上每个像素只代表附近的颜色。例如,两个感官原件上的像素之间有4.5um的间距,宏观上它们是连在一起的,微观上它们之间还有无数微小的东西存在,这些存在于两个实际物理像素之间的像素,就被称为“亚像素”。
149.亚像素实际上应该是存在的,只是缺少更小的传感器将其检测出来而已,因此只能在软件上将其近似计算出来。
150.根据相邻两像素之间插值情况的不同,可以调整亚像素的精度,例如四分之一,就是将每个像素从横向和纵向上当做四个像素点。这样通过亚像素插值的方法可以实现从小矩形到大矩形的映射,从而提高分辨率。
151.在示出的一种实施方式中,上述接收端在将上述低分辨率图像输入上述超分模型之前,可以先将该低分辨率图像分割为多个图像块,并按照图像纹理的复杂程度,对这多个图像块进行分类,以对高纹理复杂度的图像块和低纹理复杂度的图像块进行不同的超分辨率重建。
152.具体地,可以将各图像块输入纹理分类模型,以使该纹理分类模型对各图像块进行纹理分类。其中,该纹理分类模型可以基于多个图像样本进行有监督的训练得到;这多个图像样本可以分别标注有对应于纹理复杂程度的标签。
153.在实际应用中,图像中可以包含人或物等拍摄目标(也被称为细节)和背景。对于将图像分割得到的多个图像块而言,其中包含细节的图像块的图像纹理较为复杂,即为高纹理复杂度的图像块;不包含细节而只包含背景的图像块的图像纹理较为简单,即为低纹理复杂度的图像块。
154.对于低纹理复杂度的图像块而言,基于复杂的超分辨率算法和简单的超分辨率算法,对其进行超分辨率重建的效果差距不大。因此,可以基于简单的超分辨率算法,对低纹理复杂度的图像块进行超分辨率重建,以在保证超分辨率重建的效果的前提下提高计算速度,而基于复杂的超分辨率算法,对高纹理复杂度的图像块进行超分辨率重建,以保证超分辨率重建的效果。
155.具体地,可以基于线性插值算法,对低纹理复杂度的图像块进行超分辨率重建,而将高纹理复杂度的图像块输入上述超分模型,由该超分模型对其进行超分辨率重建。
156.也即,在由上述纹理分类模型对上述低分辨率图像分割得到的各图像块进行纹理分类后,可以基于线性插值算法,对纹理分类结果为低纹理复杂度的各图像块进行超分辨率重建,而将纹理分类结果为高纹理复杂度的各图像块输入上述超分模型,由该超分模型对其进行超分辨率重建。
157.此外,可以采用并行的方式,对多个高纹理复杂度的图像块进行超分辨率重建,以进一步提高计算速度。
158.在示出的一种实施方式中,为了保证上述纹理分类模型和上述超分模型的联合计算效果,可以预先对该纹理分类模型和该超分模型进行联合训练,直至联合损失函数收敛。
159.其中,上述联合损失函数可以是与上述纹理分类模型对应的损失函数(下称为第一损失函数)和与上述超分模型对应的损失函数(下称为第二损失函数)的加权和,如下式所示:
160.l=w1
×
l1 w2
×
l2
161.其中,l表示联合损失函数,l1表示第一损失函数,w1表示与第一损失函数对应的权重,l2表示第二损失函数,w2表示与第二损失函数对应的权重。
162.在实际应用中,具体可以先基于上述第二损失函数对上述超分模型进行训练,再减小该超分模型的学习率,基于上述联合损失函数对上述纹理分类模型进行训练,最后基于该联合损失函数对该纹理分类模型和该超分模型进行优化,直至该联合损失函数收敛。
163.根据本公开的实施方式,在视频数据传输过程中,发送端可以在确定与接收端协商获得的图像处理能力集合中包含超分辨率能力的情况下,先对待传输的视频帧图像进行降低图像分辨率的处理,得到低分辨率图像,该低分辨率图像的图像分辨率与该超分辨率能力的可处理分辨率匹配,后续可以将该低分辨率图像发送给该接收端,而该接收端可以基于超分辨率算法,对该低分辨率图像进行超分辨率重建,得到与该低分率图像对应的高分辨率图像,并将该高分辨率图像确定为该视频帧图像。
164.采用上述方式,一方面,发送端可以对待传输的视频帧图像进行降低图像分辨率的处理,并将处理得到的低分辨率图像发送给接收端,因此可以减少视频数据传输过程中所传输的视频数据的数据量,从而提高视频数据传输效率;另一方面,接收端可以对接收到的低分辨率图像进行超分辨率重建,并将重建得到的高分辨率图像确定为发送端发送的视频帧图像,因此可以保证接收端获取到的视频帧图像的图像质量,从而保证相应视频的传输质量,提升用户体验。
165.与之相应地,接收端可以将接收到的低分辨率图像分割为多个图像块,并基于线性插值算法对其中纹理复杂度较低的图像块进行超分辨率重建,由超分模型对其中纹理复杂度较高的图像块进行超分辨率重建,该超分模型可以是基于双重注意力机制的、包括亚像素卷积层的超分模型,以提升超分辨率重建的效果。
166.除此之外,发送端在对待传输的进行降低图像分辨率的处理,得到低分辨率图像之前,还可以先基于视频质量控制策略,对该视频帧图像的图像分辨率、视频帧率和/或视频码率进行调整,以满足视频数据传输过程中的网络带宽等网络环境参数的要求。
167.示例性介质
168.在介绍了本公开示例性实施方式的方法之后,接下来,参考图8对本公开示例性实施方式的、用于视频数据传输的介质进行说明。
169.本示例性实施方式中,可以通过程序产品实现上述方法,如可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
170.该程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。
171.可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
172.可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
173.可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、re等等,或者上述的任意合适的组合。
174.可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如java、c 等,还包括常规的过程式程序设计语言,诸如c语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
175.示例性装置
176.在介绍了本公开示例性实施方式的介质之后,接下来,参考图9对本公开示例性实施方式的、用于视频数据传输的装置进行说明。
177.下述装置中各个模块的功能和作用的实现过程具体参见上述方法中的对应步骤的实现过程,在此不再赘述。对于装置实施例而言,其基本对应于方法实施例,因此,相关之处参见方法实施例的部分说明即可。
178.参考图9,图9示意性地示出了根据本公开实施方式的一种视频数据传输装置。
179.上述视频数据传输装置可以应用于发送端,包括:
180.获取模块901,用于获取待传输的视频帧图像;
181.确定模块902,用于确定与接收端协商获得的图像处理能力集合中是否包含超分辨率能力;
182.处理模块903,用于如果所述图像处理能力集合中包含超分辨率能力,对所述视频帧图像进行降低图像分辨率的处理,得到低分辨率图像;其中,所述低分辨率图像的图像分辨率匹配所述超分辨率能力的可处理分辨率;
183.发送模块904,用于将所述低分辨率图像发送给所述接收端,以使所述接收端基于超分辨率算法,对所述低分辨率图像进行超分辨率重建,得到与所述低分率图像对应的高分辨率图像,并将所述高分辨率图像确定为所述视频帧图像。
184.可选地,通过以下方式与所述接收端协商获得所述图像处理能力集合:
185.向服务端发送第一加入群组请求,以在相应的通信群组中进行视频数据传输,其中,所述第一加入群组请求包括所述发送端的第一图像处理能力集合,以使所述服务端基于所述第一图像处理能力集合,以及所述接收端发送的第二加入群组请求中的第二图像处理能力集合,确定所述通信群组的所述图像处理能力集合,并将所述图像处理能力集合返回给所述发送端和所述接收端;
186.接收所述服务端返回的所述图像处理能力集合,并将所述图像处理能力集合确定为与所述接收端协商获得的图像处理能力集合。
187.可选地,所述通信群组的所述图像处理能力集合为所述第一图像处理能力集合与所述第二图像处理能力集合的交集。
188.可选地,所述装置还包括:
189.调整模块905,用于在对所述视频帧图像进行降低图像分辨率的处理,得到低分辨率图像之前,基于视频质量控制策略,对所述视频帧图像的图像分辨率、视频帧率和/或视频码率进行调整。
190.可选地,所述调整模块905具体用于:
191.按照第一时间周期,周期性地基于对历史视频帧图像进行编码时的编码耗时,确定cpu使用率,并将所述cpu使用率分别与高使用率阈值和低使用率阈值进行比较;
192.如果所述cpu使用率大于所述高使用率阈值,则降低所述视频帧图像的图像分辨率和/或视频帧率;
193.如果所述cpu使用率小于所述低使用率阈值,则提高所述视频帧图像的图像分辨率和/或视频帧率。
194.可选地,所述调整模块905具体用于:
195.基于漏桶算法,根据最大视频码率、最小视频码率、目标视频码率,以及对历史视频帧图像进行编码时的实际视频码率,确定是否对所述视频帧图像进行丢帧处理,以对所述视频帧图像的视频码率进行调整。
196.可选地,所述调整模块905具体用于:
197.按照第二时间周期,周期性地确定对历史视频帧图像进行编码时的平均量化参数,并将所述平均量化参数分别与高量化参数阈值和低量化参数阈值进行比较;其中,所述高量化参数阈值和低量化参数阈值对应于编码方式;
198.如果所述平均量化参数大于所述高量化参数阈值,则降低所述视频帧图像的图像分辨率和/或视频帧率;
199.如果所述平均量化参数小于所述低量化参数阈值,则提高所述视频帧图像的图像分辨率和/或视频帧率。
200.可选地,降低所述视频帧图像的图像分辨率,包括:
201.将所述视频帧图像的图像分辨率降低至原图像分辨率的1/4至3/5;
202.提高所述视频帧图像的图像分辨率,包括:
203.将所述视频帧图像的图像分辨率提高至原图像分辨率的5/3至4倍。
204.可选地,降低所述视频帧图像的视频帧率,包括:
205.将所述视频帧图像的视频帧率降低至原视频帧率的2/3;
206.提高所述视频帧图像的视频帧率,包括:
207.将所述视频帧图像的视频帧率提高至当前图像分辨率下所允许的最高视频帧率。
208.可选地,所述超分辨率能力的可处理分辨率的范围为360
×
360至1280
×
1280。
209.参考图10,图10示意性地示出了根据本公开实施方式的另一种视频数据传输装置。
210.上述视频数据传输装置可以应用于接收端,包括:
211.接收模块1001,用于接收发送端发送的低分辨率图像;其中,所述低分辨率图像由所述发送端在确定与所述接收端协商获得的图像处理能力集合中包含超分辨率能力的情况下,对待传输的视频帧图像进行降低图像分辨率的处理得到;其中,所述低分辨率图像的图像分辨率匹配所述超分辨率能力的可处理分辨率;
212.第一重建模块1002,用于基于超分辨率算法,对所述低分辨率图像进行超分辨率重建,得到与所述低分率图像对应的高分辨率图像,并将所述高分辨率图像确定为所述视频帧图像。
213.可选地,通过以下方式与所述发送端协商获得所述图像处理能力集合:
214.向服务端发送第二加入群组请求,以在相应的通信群组中进行视频数据传输,其中,所述第二加入群组请求包括所述接收端的第二图像处理能力集合,以使所述服务端基于所述第二图像处理能力集合,以及所述发送端发送的第一加入群组请求中的第一图像处理能力集合,确定所述通信群组的所述图像处理能力集合,并将所述图像处理能力集合返回给所述发送端和所述接收端;
215.接收所述服务端返回的所述图像处理能力集合,并将所述图像处理能力集合确定为与所述发送端协商获得的图像处理能力集合。
216.可选地,所述通信群组的所述图像处理能力集合为所述第一图像处理能力集合与所述第二图像处理能力集合的交集。
217.可选地,所述第一重建模块1002具体用于:
218.将所述低分辨率图像输入超分模型,以使所述超分模型对所述低分辨率图像进行超分辨率重建,得到与所述低分率图像对应的高分辨率图像;其中,所述超分模型用于对图像进行超分辨率重建。
219.可选地,所述超分模型为基于双重注意力机制的超分模型。
220.可选地,所述超分模型包括用于对特征图像中的像素进行重新排列的亚像素卷积层。
221.可选地,所述装置还包括:
222.分割模块1003,用于在将所述低分辨率图像输入所述超分模型之前,将所述低分辨率图像分割为多个图像块;
223.分类模块1004,用于将各图像块输入纹理分类模型,以使所述纹理分类模型对所述图像块进行纹理分类;其中,所述纹理分类模型基于图像样本进行有监督的训练得到;所述图像样本标注有对应于纹理复杂程度的标签;
224.所述第一重建模块1002具体用于:
225.将纹理分类结果为高纹理复杂度的各图像块输入所述超分模型。
226.可选地,所述装置还包括:
227.第二重建模块1005,用于基于线性插值算法,对纹理分类结果为低纹理复杂度的各图像块进行超分辨率重建。
228.可选地,所述装置还包括:
229.训练模块1006,用于对所述纹理分类模型和所述超分模型进行联合训练,直至联合损失函数收敛;其中,所述联合损失函数为第一损失函数和第二损失函数的加权和;所述第一损失函数为与所述纹理分类模型对应的损失函数;所述第二损失函数为与所述超分模型对应的损失函数。
230.示例性计算设备
231.在介绍了本公开示例性实施方式的方法、介质和装置之后,接下来,参考图11对本公开示例性实施方式的、用于视频数据传输的计算设备进行说明。
232.图11显示的计算设备1100仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
233.如图11所示,计算设备1100以通用计算设备的形式表现。计算设备1100的组件可以包括但不限于:上述至少一个处理单元1101、上述至少一个存储单元1102,连接不同系统组件(包括处理单元1101和存储单元1102)的总线1103。
234.总线1103包括数据总线、控制总线和地址总线。
235.存储单元1102可以包括易失性存储器形式的可读介质,例如随机存取存储器(ram)11021和/或高速缓存存储器11022,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(rom)11023。
236.存储单元1102还可以包括具有一组(至少一个)程序模块11024的程序/实用工具11025,这样的程序模块11024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
237.计算设备1100也可以与一个或多个外部设备1104(例如键盘、指向设备等)通信。
238.这种通信可以通过输入/输出(i/o)接口1105进行。并且,计算设备1100还可以通过网络适配器1106与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图9所示,网络适配器1106通过总线1103与计算设备1100的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备1100使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
239.应当注意,尽管在上文详细描述中提及了视频数据传输装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
240.此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个
步骤分解为多个步骤执行。
241.虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
再多了解一些

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

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

相关文献