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

投屏数据处理方法和装置与流程

2022-02-22 22:58:10 来源:中国专利 TAG:


1.本技术涉及投屏技术领域,尤其涉及一种投屏数据处理方法和装置。


背景技术:

2.近年来,随着智能终端飞速发展,手机、平板、电脑、投影仪以及智能电视不断迭代更新,无线投屏技术使得多屏幕之间交互以及相应的应用场景也变得越来丰富、流行。正是这样的背景下,手机为中心的流媒体资源在设备间无缝流转正快速成为刚需。
3.无线投屏是近一两年在多屏幕之间交互的一种模式,常见的场景有屏幕镜像、游戏投屏、多屏互动等。其中主流无线投屏协议有:数字生活网络联盟(digital living network alliance,dlna)、苹果的隔空播放(airplay)以及wi-fi联盟指定的无线显示标准(miracast)。
4.当前主流这3种无线投屏方式,时延基本维持在100ms-2000ms左右,时延较大,无法满足游戏应用中直接无线投屏玩游戏的场景,用户体验较差。


技术实现要素:

5.本技术实施例提供了一种投屏数据处理方法,用于降低投屏时延,提升用户体验。
6.本技术实施例的第一方面提供了一种投屏数据处理方法,包括:终端获取网络状态信息,所述网络状态信息用于指示所述终端和投屏设备之间的通信链路的质量;所述终端根据所述网络状态信息确定待投屏图像的目标分辨率;所述终端根据所述目标分辨率合成图像数据,并将所述图像数据发送给所述投屏设备,所述图像数据用于所述投屏设备显示所述待投屏图像。
7.所述待投屏图像可以理解为一个静态的图像,比如图片;也可以理解为一系列动态图像,比如视频等。
8.本技术实施例提供的投屏数据处理方法,终端通过获取指示终端和投屏设备之间的通信链路质量的网络状态信息,确定待投屏图像的目标分辨率,基于实时的网络状态信息对目标分辨率进行调整,相较现有技术中以固定的分辨率发送图像,可以更灵活地适应当前场景,本方法考虑网络状态信息来确定目标分辨率,可以在无线网络通信质量较差时通过调整分辨率来减少图像数据的数据量,从而降低投屏时图像画面的延迟,提升用户体验。
9.在第一方面的一种可能的实现方式中,所述目标分辨率与所述通信链路的质量正相关。
10.本技术实施例提供的投屏数据处理方法,例如在通信链路质量较差时以较低的分辨率发送图像以减少时延,在通信链路质量较好时以较高的分辨率发送图像以提升投屏画质。
11.在第一方面的一种可能的实现方式中,所述网络状态信息包括接收信号强度指示rssi。
12.本技术实施例提供的投屏数据处理方法,通过rssi信号可以对通信链路的质量进行衡量,包括基于wi-fi协议构建的无线通信链路或者蜂窝移动网络协议构建的无线通信链路等。可选地,预设rssi的数值与目标分辨率之间的对应关系,由此,可以基于rssi信号确定当前网络状态下的目标。
13.在第一方面的一种可能的实现方式中,所述终端根据所述网络状态信息确定待投屏图像的目标分辨率包括当所述rssi的数值大于或等于第一阈值,则所述终端确定所述目标分辨率为第一分辨率;当所述rssi的数值小于所述第一阈值且大于或等于第二阈值,则所述终端确定所述目标分辨率为所述第一分辨率的二分之一,所述第二阈值小于所述第一阈值;当所述rssi的数值小于所述第二阈值,则所述终端确定所述目标分辨率为所述第一分辨率的三分之一。
14.本技术实施例提供的投屏数据处理方法,通过预设的rssi的数值范围以及第一分辨率,可以将终端和投屏设备之间的通信链路的质量划分为三种情况,通信链路的质量越低,则对应的目标分辨率越低,合成的待投屏图像的数据量越小,可以减少通信链路的质量的影响,降低投屏时延。
15.在一种可能的实现方式中,第一分辨率为待合成的图层的分辨率,该信息可以通过获取surfaceflinger侧当前帧所有的图层信息来获得,图层信息中包含图层的应用名、图层的源真实分辨率等。
16.在第一方面的一种可能的实现方式中,所述方法还包括:所述终端确定当前的使用场景;所述终端根据所述目标分辨率合成图像数据包括:所述终端根据所述使用场景和所述目标分辨率有选择性地合成图像数据。
17.本技术实施例提供的投屏数据处理方法,还考虑找那个的当前的使用场景,结合场景以及目标分辨率有选择性地合成图像数据可以进一步地降低无线投屏时的数据量。
18.在第一方面的一种可能的实现方式中,所述终端确定当前的使用场景包括:所述终端确定所述待投屏图像是否处于全屏场景;所述终端根据所述使用场景和所述目标分辨率有选择性地合成图像数据包括:当所述终端确定所述待投屏图像处于全屏场景时,所述终端根据所述目标分辨率仅对所述待投屏图像的所有图层中的应用图层进行合成;或者,当所述终端确定所述待投屏图像处于非全屏场景时,所述终端根据所述目标分辨率对所述应用图层和所述待投屏图像的系统图层进行合成。
19.本技术实施例提供的投屏数据处理方法,终端还可以确定当前的图像显示场景信息是否为全屏的显示场景,若是,则只需要合成应用图层并经编码发送给投屏设备,由此,可以进一步减少投屏的数据发送量,降低无线投屏时延,提升用户体验。
20.在第一方面的一种可能的实现方式中,所述终端确定所述待投屏图像是否处于全屏场景包括:当所述应用图层的源分辨率大于或等于第三阈值时,所述终端确定所述待投屏图像处于全屏场景;当所述应用图层的源分辨率小于第三阈值时,所述终端确定所述待投屏图像处于非全屏场景。
21.终端显示的待投屏图像可能存在两种场景的场景,一个是全屏的显示场景,例如全屏的游戏画面,以及视频应用中的全屏画面,全屏的显示场景可称为全屏场景;另一个是非全屏的显示场景,例如桌面场景,或者小窗口播放的视频画面,也称为非全屏场景。本实施例提供了一种确定待投屏图像是否处于全屏场景的具体方法,即确定应用图层的源分辨
率,由于在不同的显示场景下,应用图层的源分辨率会改变,在全屏场景中的分辨率高于非全屏场景中的分辨率,通过第三阈值的设置,可以通过比较,简单但粗略地确定当前待投屏图像是否处于全屏场景。
22.在第一方面的一种可能的实现方式中,所述终端确定所述待投屏图像是否处于全屏场景包括:当所述应用图层的像素长宽比和屏幕的像素长宽比相同时,所述终端确定所述待投屏图像处于全屏场景;当所述应用图层的像素长宽比和屏幕的像素长宽比不相同时,所述终端确定所述待投屏图像处于非全屏场景。
23.本实施例提供了一种确定待投屏图像是否处于全屏场景的另一种具体方法,即判断应用图层的像素长宽比和屏幕的像素长宽比是否相同,由于在不同的显示场景下,应用图层的像素长宽比一般会改变,在全屏场景中,应用图层的像素长宽比和屏幕的像素长宽比相同;而非全屏场景中,应用图层的像素长宽比和屏幕的像素长宽比可能不相同,本方案可以简单但粗略地确定当前待投屏图像是否处于全屏场景。
24.在第一方面的一种可能的实现方式中,所述终端确定所述待投屏图像是否处于全屏场景包括:当所述应用图层的源分辨率大于或等于第三阈值,且所述应用图层的像素长宽比和屏幕的像素长宽比相同时,所述终端确定所述待投屏图像处于全屏场景;当所述应用图层的源分辨率小于第三阈值,或者,所述应用图层的像素长宽比和屏幕的像素长宽比不相同时,所述终端确定所述待投屏图像处于非全屏场景。
25.本实施例提供了一种确定待投屏图像是否处于全屏场景的另一种具体方法,同时考虑了应用图层的源分辨率,以及判断应用图层的像素长宽比和屏幕的像素长宽比是否相同,由于部分特殊情况下,全屏场景或非全屏场景中,应用图层的像素长宽比和屏幕的像素长宽比都相同;或者,采用高分辨小窗口播放画面时,仅通过应用图层的源分辨率判断,会将非全屏场景误判为全屏场景。本方案中同时考虑两个因素,可以提高场景判断的准确率。
26.在第一方面的一种可能的实现方式中,所述终端确定所述待投屏图像是否处于全屏场景包括:当所述应用图层的源分辨率大于或等于第三阈值,且所述应用图层的像素长宽比和屏幕的像素长宽比相同,且预设的图层标识集合中包括所述应用图层的标识时,所述终端确定所述待投屏图像处于全屏场景;当所述应用图层的源分辨率小于第三阈值,或者,所述应用图层的像素长宽比和屏幕的像素长宽比不相同,或者,预设的图层标识集合中不包括所述应用图层的标识时,所述终端确定所述待投屏图像处于非全屏场景。
27.本实施例提供了一种确定待投屏图像是否处于全屏场景的另一种具体方法,同时考虑了应用图层的源分辨率,判断应用图层的像素长宽比和屏幕的像素长宽比是否相同,以及图层名。在极少数特殊情况下,通过应用图层的源分辨率以及像素长宽比,仍可能出现场景误判,本方案中还可以考虑图层名,可选地,终端预设图层名白名单,属于图层名白名单中的图层名对应的图层为可能全屏显示的图层,这样,可以进一步提高场景判断的准确率。
28.在第一方面的一种可能的实现方式中,所述终端根据所述目标分辨率合成图像数据包括:所述终端根据所述目标分辨率和第一帧率合成图像数据,其中所述第一帧率比所述待投屏图像在所述终端上显示的帧率要低。
29.本技术实施例提供的投屏数据处理方法,对于视频类的动态图像数据,终端还可以对待投屏图像进行降帧处理,进一步减少投屏需要发送的数据量,从而减少投屏时延,提
高用户体验。
30.本技术实施例的第二方面提供了一种投屏数据处理方法包括:投屏设备接收第一分辨率的待投屏图像;所述投屏设备通过图形处理器gpu,根据预设的神经网络模型对所述第一分辨率的待投屏图像进行超分,获取第二分辨率的图像;所述投屏设备显示所述第二分辨率的图像。
31.本技术实施例提供的投屏数据处理方法,投屏设备可以通过gpu,对终端发送的第一分辨率的待投屏图像进行超分,提升显示的图像的分辨率,由于投屏设备通常具有较高的显示分辨率,而受限于无线传输的时延等问题,接收的待投屏图像的分辨率通常较低,对图像进行超分处理后再播放,可以提升图像显示的清晰度,改善画质,提升用户体验。
32.在第二方面的一种可能的实现方式中,所述待投屏图像包括第一图像帧;所述投屏设备通过图形处理器gpu,根据预设的神经网络模型对所述第一分辨率的图像数进行超分,获取第二分辨率的所述图像数据包括:所述投屏设备在一个音视频同步周期中进行第一图像帧的解码和超分,以获取解码后的第二分辨率的图像数据。
33.通常,投屏设备在一个音视频同步周期进行一帧图像的解码,并在下一周期到来后送显,本技术实施例提供的投屏数据处理方法,投屏设备可以在一个音视频同步期间内完成解码加超分,从而不会因为超分增加额外的投屏的时延。
34.在第二方面的一种可能的实现方式中,当所述待投屏图像的第一帧率小于第四阈值时,所述投屏设备对所述待投屏图像进行插帧,以获取第二帧率的待投屏图像。
35.本技术实施例提供的投屏数据处理方法,由于终端通过减帧降低投屏时延,相应地,投屏设备通过插帧可以增加帧率。投屏设备若判断待投屏图像的帧率较低,可以进行智能插帧,提升播放画质。
36.在第二方面的一种可能的实现方式中,所述第一分辨率的待投屏图像包括如本技术第一方面以及任意一种可能的实现方式中所述的合成后的图像数据。
37.本技术实施例提供的投屏数据处理方法,投屏设备接收到的待投屏图像可以是本技术第一方面以及任意一种可能的实现方式中合成的图像数据,这样,第一分辨率即为目标分辨率,投屏设备可以通过超分,减少因终端降低分辨率造成的画质损失,由此,投屏过程既可以满足低时延,又可以保证投屏画质,显著提升用户体验。
38.本技术实施例的第三方面提供了一种投屏数据处理装置,包括:获取单元,用于获取网络状态信息,所述网络状态信息用于指示所述终端和投屏设备之间的通信链路的质量;确定单元,用于根据所述网络状态信息确定待投屏图像的目标分辨率;合成单元,用于根据所述目标分辨率合成图像数据,并将所述图像数据发送给所述投屏设备,所述图像数据用于所述投屏设备显示所述待投屏图像。
39.在第三方面的一种可能的实现方式中,所述目标分辨率与所述通信链路的质量正相关。
40.在第三方面的一种可能的实现方式中,所述网络状态信息包括接收信号强度指示rssi。
41.在第三方面的一种可能的实现方式中,所述确定单元具体用于:当所述rssi的数值大于或等于第一阈值时,确定所述目标分辨率为第一分辨率;当所述rssi的数值小于所述第一阈值且大于或等于第二阈值时,确定所述目标分辨率为所述第一分辨率的二分之
一,所述第二阈值小于所述第一阈值;当所述rssi的数值小于所述第二阈值时,确定所述目标分辨率为所述第一分辨率的三分之一。
42.在第三方面的一种可能的实现方式中,所述确定单元还用于:确定当前的使用场景;所述合成单元具体用于:根据所述使用场景和所述目标分辨率有选择性地合成图像数据。
43.在第三方面的一种可能的实现方式中,所述确定单元具体用于:确定所述待投屏图像是否处于全屏场景;所述合成单元具体用于:当确定所述待投屏图像处于全屏场景时,根据所述目标分辨率仅对所述待投屏图像的所有图层中的应用图层进行合成;或者,当确定所述待投屏图像处于非全屏场景时,根据所述目标分辨率对所述应用图层和所述待投屏图像的系统图层进行合成。
44.在第三方面的一种可能的实现方式中,所述确定单元具体用于:当所述应用图层的源分辨率大于或等于第三阈值时,确定所述待投屏图像处于全屏场景;当所述应用图层的源分辨率小于第三阈值时,确定所述待投屏图像处于非全屏场景。
45.在第三方面的一种可能的实现方式中,所述确定单元具体用于:当所述应用图层的像素长宽比和屏幕的像素长宽比相同时,确定所述待投屏图像处于全屏场景;当所述应用图层的像素长宽比和屏幕的像素长宽比不相同时,确定所述待投屏图像处于非全屏场景。
46.在第三方面的一种可能的实现方式中,所述确定单元具体用于:当所述应用图层的源分辨率大于或等于第三阈值,且所述应用图层的像素长宽比和屏幕的像素长宽比相同时,确定所述待投屏图像处于全屏场景;当所述应用图层的源分辨率小于第三阈值,或者,所述应用图层的像素长宽比和屏幕的像素长宽比不相同时,确定所述待投屏图像处于非全屏场景。
47.在第三方面的一种可能的实现方式中,所述确定单元具体用于:当所述应用图层的源分辨率大于或等于第三阈值,且所述应用图层的像素长宽比和屏幕的像素长宽比相同,且预设的图层标识集合中包括所述应用图层的标识时,确定所述待投屏图像处于全屏场景;当所述应用图层的源分辨率小于第三阈值,或者,所述应用图层的像素长宽比和屏幕的像素长宽比不相同,或者,预设的图层标识集合中不包括所述应用图层的标识时,确定所述待投屏图像处于非全屏场景。
48.在第三方面的一种可能的实现方式中,所述合成单元具体用于:根据所述目标分辨率和第一帧率合成图像数据,其中硕士第一帧率比所述待投屏图像在所述终端上显示的帧率要低。
49.本技术实施例的第四方面提供了一种投屏数据处理装置,包括:接收单元,用于接收第一分辨率的待投屏图像;获取单元,用于通过图形处理器gpu,根据预设的神经网络模型对所述第一分辨率的待投屏图像进行超分,获取第二分辨率的图像;显示单元,用于显示所述第二分辨率的图像。
50.在第四方面的一种可能的实现方式中,所述待投屏图像包括第一图像帧;所述获取单元,具体用于:在一个音视频同步周期中进行第一图像帧的解码和超分,以获取解码后的第二分辨率的图像数据。
51.在第四方面的一种可能的实现方式中,所述装置还包括:处理单元,用于当所述待
投屏图像的第一帧率小于第四阈值时,对所述待投屏图像进行插帧,以获取第二帧率的待投屏图像。
52.在第四方面的一种可能的实现方式中,所述第一分辨率的待投屏图像包括如上述第一方面以及各种可能的实现方式中所述的合成后的图像数据。
53.本技术实施例的第五方面提供了一种投屏系统,包括发送端和接收端,所述发送端和所述接收端之间通过无线通信链路连接;所述发送端包括本技术第三方面以及任意一种可能的实现方式中所述的投屏数据处理装置;所述接收端包括本技术第四方面以及任意一种可能的实现方式中所述的投屏数据处理装置。
54.本技术实施例提供的投屏系统,终端通过感知实时的网络状态信息调整目标分辨率,投屏设备对接收到的待投屏图像进行超分,减少因终端降低分辨率造成的画质损失,由此,投屏过程既可以满足低时延,又可以保证投屏画质,显著提升用户体验。
55.本技术实施例的第六面提供了一种终端,包括:一个或多个处理器和存储器;其中,所述存储器中存储有计算机可读指令;所述一个或多个处理器读取所述计算机可读指令以使所述终端实现执行如上述第一方面以及各种可能的实现方式中任一项所述的方法。
56.本技术实施例的第七方面提供了一种投屏设备,包括:一个或多个处理器和存储器;其中,所述存储器中存储有计算机可读指令;所述一个或多个处理器读取所述计算机可读指令以使所述终端实现执行如上述第二面以及各种可能的实现方式中任一项所述的方法。
57.本技术实施例第八方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行如上述第一方面或第二方面以及各种可能的实现方式中任一项所述的方法。
58.本技术实施例第九方面提供了一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如上述第一方面或第二方面以及各种可能的实现方式中任一项所述的方法。
59.本技术实施例第十方面提供了一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行上述第一方面或第二方面以及各种可能的实现方式中任一项所述的方法。可选地,该芯片该包括存储器,该存储器与该处理器通过电路或电线与存储器连接。进一步可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理,并通过该通信接口输出处理结果。该通信接口可以是输入输出接口。
60.其中,第三方面、第四方面、第六方面至第十方面中任一种实现方式所带来的技术效果可参见第一方面或第二方面中相应实现方式所带来的技术效果,此处不再赘述。
61.从以上技术方案可以看出,本技术实施例具有以下优点:
62.本技术实施例提供的投屏数据处理方法,终端获取当前的网络状态信息,基于网络状态信息确定待投屏图像的目标分辨率,可以基于实时的网络状态调整目标分辨率,当终端和投屏设备之间的通信链路的质量较差时,可以通过降低目标分辨率减少无线投屏中需传输的数据量,从而降低时延,提升用户体验。
63.此外,本方法中终端还可以获取待投屏图像中应用图层的源分辨率,以及屏幕分
辨率,基于应用图层的源分辨率以及屏幕分辨率确定当前待投屏的场景是否为全屏场景,由于全屏场景时,可以仅显示应用图层的信息,即仅需要向投屏设备发送应用图层的图像数据,而非全屏场景,需要显示应用图层和系统图层的图像信息,因此,投屏设备发送的图像数据需要包括应用图层以及系统图层的图像信息。终端根据场景确定待投屏图像中的待合成图层,结合当前网络状态确定合成的目标分辨率,基于网络状态和实际投屏需要,对待合成图层进行合成、编码及发送,可以进一步减少无线投屏中需传输的数据量,从而降低时延,提升用户体验。
64.此外,本技术实施例提供的投屏数据处理方法,投屏接收端即投屏设备,可以对接收的第一分辨率的图像数据进行超分辨率,获取第二分辨率的图像数据并显示,可以提升显示图像的分辨率,充分发挥投屏设备的性能,改善画质,提升用户体验。
65.本技术实施例提供的投屏系统,终端通过感知当前待投屏的场景以及网络状态,减少图像数据发送量,配合投屏设备的超分辨率处理,可以在图像数据减少的情况下保证投屏画质,该投屏系统,投屏时延小且投屏画质高,可以显著提升用户体验。
附图说明
66.图1为无线投屏的场景的示意图;
67.图2为本技术实施例中无线投屏的技术框架的示意图;
68.图3为本技术实施例中投屏发送端的投屏数据处理方法的实施例示意图;
69.图4a为本技术实施例中终端的图形软件系统的层次框架图;
70.图4b为本技术实施例中感知模块的关键流程示意图;
71.图5a为本技术实施例中投屏接收端的投屏数据处理方法的实施例示意图;
72.图5b为本技术实施例中投屏设备的推理计算的示意图;
73.图6为本技术实施例中音视频同步集成超分的处理示意图;
74.图7a为本技术实施例中投屏设备的图形软件系统的层次框架图;
75.图7b为本技术实施例中超分模块的关键流程的示意图;
76.图8为本技术实施例中投屏数据处理装置的一个实施例示意图;
77.图9为本技术实施例中投屏数据处理装置的一个实施例示意图;
78.图10为本技术实施例中终端的一个实施例示意图;
79.图11为本技术实施例中投屏设备的一个实施例示意图。
具体实施方式
80.本技术实施例提供了一种投屏数据处理方法,用于降低投屏时延,提升用户体验。
81.为了便于理解,下面对本技术实施例涉及的部分技术术语进行简要介绍:
82.1、无线投屏
83.无线投屏又称无线同屏、飞屏或屏幕共享等。具体来说,就是通过无线传输技术将设备a(如手机、平板、笔记本或电脑等)的画面“实时地”显示到另一个设备b的屏幕上(如平板、笔记本、电脑、电视、一体机或投影仪等),输出的内容包括各类媒体信息或实时操作画面。目前,支持无线投屏技术比较成熟的方案也就是:苹果阵营的airplay屏幕镜像,wifi联盟的miracast协议,以及其他公司的dlna推送。
84.通过无线投屏可以将会议内容、多媒体文件、游戏画面、电影、视频画面投放到另一面屏幕上呈现,进行互动而不需要各种连线,摆脱束缚享受更快捷、更自由的投屏体验。无线投屏技术已经与我们的生活息息相关,为工作和娱乐提供了更多便利。
85.2、图像
86.本技术实施例中所述的图像可以静态的图像,例如图片,还可以一系列动态图像,例如视频等。“图像”、“视频帧”、“帧”可以用作同义词。图像可能由多个图层合成得到。
87.3、图层
88.图像在终端显示屏中显示时,显示图像可能由两类图层合成得到,两类图层分别为:应用图层和系统图层。其中,应用图层为主要的内容显示图层,其分辨率可以设定,或根据用户对显示窗口大小的选择而定;系统图层为终端应用本地进行2d绘图得到的用户界面图层,通常包括状态栏、控制菜单、提示信息等,系统图层的分辨率通常为终端的系统分辨率。
89.通常,终端在非全屏场景下显示画面时,会以在线或者离线的方式对应用图层和系统图层进行合成,然后对合成得到的图像进行显示。多个图层根据预置的规则进行和成得到预设分辨率的图像,具体合成过程为已有技术,此处不再赘述。但是在全屏显示场景中,例如游戏全屏场景或视频播放全屏场景等,终端可以仅显示应用图层。
90.需要说明的是,单个图层包含的数据为图像数据,由多个图层合成得到的显示画面包含的数据也为图像数据,本技术实施例中为便于区分,将用于在终端中显示的图像数据称为图像,将用于合成图像的单个图层对应的图像数据称为图层,可以理解的是,当显示的图像仅包含一个图层(例如,全屏场景下,仅显示应用的图层)时,图像和图层对应于同一图像数据。
91.4、帧率(frame rate)
92.以帧为单位的位图图像连续出现在显示器上的频率(速率)。测量单位为“每秒显示帧数”(frame per second,fps)或“赫兹”,一般来说fps用于描述影片、电子绘图或游戏每秒播放多少帧。
93.5、分辨率
94.为避免混淆,下面对几个涉及分辨率的术语进行介绍和区分。
95.图像分辨率:指图像中存储的信息量,是每英寸图像内有多少个像素点,常用“水平像素数
×
垂直像素数”来表示,也可以用规格代号表示。例如,图像分辨率640*480,代表水平像素点数量为640个,垂直像素点数量为480个,分辨率就为307200像素,也就是常说的30万像素。分辨率为720p,中代号p是逐行扫描的意思,720p对应的分辨率为1280*720,类似地,1080p对应的分辨率为1920*1080。可以理解的是,图像分辨率越高,包含的数据越多,也能表现更丰富的细节,但同时需要更多的计算机存储资源。
96.显示分辨率:显示器分辨率是指计算机显示器本身的物理分辨率,对crt显示器而言,是指屏幕上的荧光粉点;对lcd显示器来说,是指显示屏上的像素,显示分辨率是显示器在生产制造时加工确定,描述的是显示器自身的像素点数量,是固有的不可改变的值。显示器分辨率通常用“水平像素数x垂直像素数”的形式表示,如800
×
600,1024
×
768,1280
×
1024等,也可以用规格代号表示。显示分辨率对于显示设备而言拥有非常重要的意义,在同尺寸屏幕大小的情况下,分辨率越高意味着屏幕更加细腻,即能够将画面的细节呈现得更
加清晰,能大大增加用户的视觉体验。
97.屏幕分辨率,是指实际显示图像时计算机所采用的分辨率,可以根据用户需要设置屏幕分辨率。屏幕分辨率必须小于或等于显示器分辨率。
98.此外,本技术实施例还涉及的术语有:
99.1)图层的源分辨率:属于图像分辨率,指示图层中存储的信息量。
100.2)目标显示区域的分辨率:属于屏幕分辨率的部分,指示图像在屏幕上显示区域的大小。
101.下面结合附图,对本技术的实施例进行描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
102.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本技术中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
103.本技术实施例适用于多类无线投屏的场景,包括游戏投屏或实时流媒体业务等,例如:视频直播业务、视频通话业务、视频会议业务等场景。如图1所示,该无线投屏场景包括终端100和投屏设备200。
104.终端100,即无线投屏场景中数据的发送端,或称发送侧,例如:终端可以为手机、笔记本电脑、平板电脑等。
105.投屏设备200,即无线投屏场景中数据的接收端,或称接收侧,具有图像显示的功能。投屏设备200和终端100通常位于相同的场景中。示例性的,投屏设备200和终端100位于同一家庭,或者,位于同一办公场所,或者,位于同一活动场地等。投屏设备200可以为电脑、智能电视或智慧屏等。
106.终端100可以将显示画面投影到投屏设备200,使投屏设备200与终端100进行同步显示。上述的终端将显示画面投影到投屏设备的过程,也可以称为“投屏”、“传屏”或者“同屏互动”等。由于终端100的显示屏的尺寸通常较小,使得用户在通过终端100观看图像或者视频画面时,视觉体验较差。而投屏设备200的显示屏的尺寸通常较大,或者显示装置的尺寸较大,因此,将终端100的显示画面投影到投屏设备200上,用户通过投屏设备200观看显示画面,能够提升用户的视觉体验。
107.终端100与投屏设备200之间通过无线网络通信,无线网络包括根据无线保真协议、蓝牙协议或蜂窝移动网络协议中的一种协议或多种协议的组合组建的网络。可选地,终端通过wifi将图像数据发送给投屏设备。可选地,终端通过5g将图像数据发送给投屏设备。
108.通常,终端100与投屏设备200之间数据无线传输的时延范围为100毫秒(ms)至2000ms左右,时延宽松,在对实时性要求较高的场景,例如游戏投屏场景下,用户体验较差。
投屏的时延与传输的图像数据的数据量大小有关,若简单地通过降低图像数据的分辨率来减少数据量,将导致画质受损,投屏的画面模糊,反而有损用户体验。
109.本技术实施例中,一方面,考虑到无线投屏时无线网络的实时网络状态,当无线网络通信链路的质量较高时,可以按照待合成图层的源分辨率进行合成、编码和传输;而当通信链路的质量较差时,可以适当降低每个待合成图层的分辨率。另一方面,考虑到终端显示图像的具体应用场景,在全屏显示场景中,例如游戏全屏场景或视频播放全屏场景等,可以仅显示应用图层,而系统图层被隐藏,因此,全屏显示场景下,终端可以仅向投屏设备发送应用图层的图像数据;在非全屏显示场景中,例如桌面显示场景下,则需要对应用图层和系统图层进行合并后显示,因此,非全屏显示场景下,终端需要向投屏设备发送所有图层的图像数据。
110.本技术提出的投屏数据处理方法,通过图层信息和网络状态信息,确定图像数据中的待合成图层以及目标分辨率,在全屏场景时,减少发送的图层,并在通信链路的质量较差时,降低分辨率,从而减少无线投屏时,发送的图像数据的数据量,从而,避免投屏时图像画面的延迟,提升用户体验。
111.此外,当前的无线投屏技术中,发送端会将待投屏图像的分辨率统一到720p或者1080p发送到投屏设备;而投屏设备通常支持更高的分辨率,例如2k/4k/8k;接收到无线投屏的数据帧后会线性拉伸到电视所支持的分辨率,而产生的模糊感;另一方面,部分场景下发送端的图层的真实的分辨率低于720p或者1080p,发送端统一进行拉伸放大后再发送,从而也影响了画质显示以及加重了编解码和传输的负载。
112.本技术提出的投屏数据处理方法,投屏设备对终端发送的图像进行超分,提高分辨率以提升显示画质。可以减少在网络状态不佳时,发送端减少图像分辨率造成了画质降低,由此,可以使得投屏时延小且画质好,从而显著提升用户体验。
113.下面对投屏技术进行简要介绍,请参阅图2,为本技术实施例中无线投屏的技术框架示意图;
114.发送侧,例如为手机,合成器服务(下面以安卓系统中的surfaeflinger服务为例进行介绍)surfaceflinger服务可以获取待显示图像的各个图层,包括图像数据以及图层信息,一方面经显示子系统(display sub system,dss)合成,得到的图像在手机显示屏上显示,另一方面,通过gpu将各图层合成的图像数据送入编码器,再进行加密、打包再通过vip/tcp等传输协议发送。本技术新增了智能感知模块,通过智能感知场景,以及网络状态,并基于网络状态以及场景确定的目标分辨率去指导合成器筛选合适的图层进行合成,能有效保证传输负载,减少投屏时延;
115.在接收侧,通常为大屏显示器,进行接收、拼包和解密,再将数据送往解码器,最后通过音视频同步模块进行送显。本技术新增的超分模块,结合在已有的音视频同步模块中,利用音视频同步周期性进行超分,在送显之前进一步改善显示画质;
116.下面结合图3,对本技术实施例中投屏发送端的投屏数据处理方法的进行介绍:
117.301、终端获取网络状态;
118.终端获取实时的网络状态,网络状态信息用于指示所述终端和投屏设备之间的通信链路的质量;
119.可选地,通过wifimanager实时获取当前的wifi连接的状态,即通过获取当前连接
的接收的信号强度指示(received signal strength indication,rssi),获取信号强度依赖getrssi接口。网络连接状态下,rssi值的取值为[0,-100]范围的整数,网络断开连接时rssi值为-200。
[0120]
302、终端获取待投屏图像的应用图层的源分辨率;
[0121]
待投屏图像是终端将要通过无线投屏发送给投屏设备的图像,终端可以获取系统当前待显示的图像的应用图层的源分辨率。
[0122]
可选地,终端通过系统服务(surfaceflinger)获取当前待投屏图像的应用图层的源分辨率。通常终端通过surfaceflinger将系统图层和应用图层合并后得到待显示的图像,本技术实施例中,终端通过surfaceflinger可以获取图像中每个图层的图层信息。图层信息包括图层名、图层源分辨率以及目标显示区域的分辨率等。下面对图层信息进行详细介绍:
[0123]
a)图层名:标识该图层的归属者,一般有2种类型,一类是系统图层,常见有状态栏对应的图层、或导航栏对应的图层等;另一类是应用图层,是属于应用(app)自身显示的图层,通常,图层名中也包括了app的包名。
[0124]
b)图层的源分辨率:是指图层的真实分辨率大小,系统图层的分辨率一般与屏幕分辨率一致,应用图层的源分辨率则可以根据应用场景或用户指令进行调整或设置,例如,在游戏应用场景下,游戏应用会根据不同游戏配置呈现成不同的源分辨率大小。具体地,终端获取应用图层的源分辨率大小,图层的源分辨率小于或等于屏幕分辨率。若图层的原分辨率采用水平像素数
×
垂直像素数的形式表示,还可以进一步获取图层的像素长宽比,例如:图层的源分辨率为1280*720,则该图层的像素长宽比为16:9。
[0125]
c)目标显示区域的分辨率大小:指图层最终合成后显示在屏幕中时的分辨率大小,用于确定图层在屏幕上显示区域的大小。为确定图层在屏幕中显示区域的具体位置,一般还需要该图层显示区域的起始点位置。
[0126]
需要说明的是,步骤301和步骤302的执行顺序不做限定。
[0127]
根据网络状态和图层信息确定合成策略(待合成的图层以及合成分辨率);具体地,包括确定待合成图层,以及确定待合成图层的目标分辨率,下面分别进行介绍。
[0128]
303、根据网络状态确定待投屏图像的目标分辨率;
[0129]
终端根据网络状态确定待投屏图像的目标分辨率。
[0130]
可选地,目标分辨率与终端和投屏设备之间通信链路的质量正相关。即通信链路的质量越差,则目标分辨率越小,通信链路的质量越好,则目标分辨率越大。目标分辨率一般小于或等于图层源分辨率。
[0131]
可选地,终端可以预设目标分辨率的数值,例如1080*2340、720*1560等。
[0132]
终端可以根据当前网络状态,合理的对原始分辨率的图像数据进行下采样降低分辨率后合成,再进行编码和传输,从而减少时延。
[0133]
可选地,网络状态信息包括接收信号强度指示rssi,rssi值可以指示通信链路的信号质量,信号质量越好,对应的目标分辨率越高,反之,信号质量越差,目标分辨率越低,目标分辨率一般小于或等于图层源分辨率。
[0134]
可选地,若所述rssi的数值大于或等于第一阈值,则所述终端确定所述目标分辨率为第一分辨率;若所述rssi的数值小于所述第一阈值且大于或等于第二阈值,则所述终
端确定所述目标分辨率为所述第一分辨率的二分之一,所述第二阈值小于所述第一阈值;若所述rssi的数值小于所述第二阈值,则所述终端确定所述待合成图层的目标分辨率为所述第一分辨率的三分之一。第一分辨率可以为预设的标准分辨率,例如1080p或720p等,也可以根据预设规则实时生成,或者为应用图层的源分辨率,第一分辨率的具体数值此处不做限定。
[0135]
示例性的,第一阈值为-50,第二阈值为-70,第一分辨率为1080p即,rssi的数值属于[0,-50]时,表示信号质量好,终端确定所述待投屏图像的目标分辨率为1080p;rssi的数值属于(-50,-70]表示信号质量中,则所述终端确定所述目标分辨率为540p;小于-70表示信号质量差,则所述终端确定目标分辨率为360p。
[0136]
需要说明的是,步骤303在步骤301之后执行,步骤303与步骤302和步骤304之间的执行顺序不做限定。
[0137]
304、终端确定待合成图层;
[0138]
终端还可以确定当前的使用场景,根据使用场景和目标分辨率有选择性地合成图像数据。使用场景可以根据当前终端显示的内容分类,例如应用的显示场景,或者,桌面显示场景,具体的,对于应用的显示场景还可以基于应用的类型进行细分,例如视频或游戏类显示动态画面的应用,以及音乐或阅读应用等画面更新较慢的应用。使用场景还可以根据当前画面是否全屏显示分类,包括全屏场景和非全屏场景。后续实施例中,以全屏场景和非全屏场景为例进行介绍。
[0139]
终端判断当前为全屏场景或者非全屏场景,针对不同的场景,确定不同的待合成图层,对于全屏场景,可以仅合成应用图层,对于非全屏场景,则需要对图像的所有图层进行合成。
[0140]
终端确定当前是否为全屏场景的方法包括多种,下面举例进行介绍:
[0141]
1、根据应用图层的图层源分辨率;
[0142]
若所述应用图层的源分辨率大于或等于第三阈值,则所述终端判断所述待投屏图像处于全屏场景;若所述应用图层的源分辨率小于第三阈值,则所述终端判断所述待投屏图像处于非全屏场景。
[0143]
第三阈值为预设值,可以通过统计现有应用在全屏显示时,应用图层的常见分辨率获取,由于全屏场景下应用图层的常用分辨率一般大于720p,因此,可以将第三阈值设置为720p,需要说明的是,第三阈值的具体数值此处不做限定。
[0144]
2、根据应用图层的像素长宽比;
[0145]
若所述应用图层的像素长宽比和屏幕的像素长宽比相同,则所述终端判断所述待投屏图像处于全屏场景;若所述应用图层的像素长宽比和屏幕的像素长宽比不相同,则所述终端判断所述待投屏图像处于非全屏场景。
[0146]
3、根据应用图层的图层源分辨率,以及像素长宽比;
[0147]
若所述应用图层的源分辨率大于或等于第三阈值,且所述应用图层的像素长宽比和屏幕的像素长宽比相同,则所述终端判断所述待投屏图像处于全屏场景;
[0148]
若所述应用图层的源分辨率小于第三阈值,或者,所述应用图层的像素长宽比和屏幕的像素长宽比不相同,则所述终端判断所述待投屏图像处于非全屏场景。
[0149]
4、根据应用图层的图层源分辨率、像素长宽比以及图层名;
[0150]
若所述应用图层的源分辨率大于或等于第三阈值,且所述应用图层的像素长宽比和屏幕的像素长宽比相同,且预设的图层标识集合中包括所述应用图层的标识,则所述终端判断所述待投屏图像处于全屏场景;
[0151]
若所述应用图层的源分辨率小于第三阈值,或者,所述应用图层的像素长宽比和屏幕的像素长宽比不相同,或者,预设的图层标识集合中不包括所述应用图层的标识,则所述终端判断所述待投屏图像处于非全屏场景。
[0152]
应用图层的图层信息包括了应用图层的图层源分辨率,应用图层的像素长宽比,以及图层名。
[0153]
需要说明的是,步骤304在步骤302之后执行,步骤304与步骤301和步骤303之间的执行顺序不做限定。
[0154]
305、终端根据目标分辨率合成图像数据,并将该图像数据发送给投屏设备;
[0155]
终端根据目标分辨率合成图像数据,经编码、压缩等操作后,通过无线网络发送给投屏设备,该图像数据用于投屏设备显示待投屏图像。
[0156]
可选地,终端还可以对待投屏图像降低帧率进行合成,再编码发送。帧率控制的方法为已有技术,此处不再赘述,示例性地,待投屏图像的原始帧率为60每秒传输帧数(frames per second,fps),降低帧率后,待投屏图像的帧率为30fps。降低帧率可以进一步减少数据发送量,减少投屏时延。
[0157]
本技术提出的投屏数据处理方法,终端,即投屏发送端,通过图层信息和网络状态信息,确定图像数据中的待合成图层以及目标分辨率,在全屏场景时,减少发送的图层,并在通信链路的质量较差时,降低分辨率,从而减少无线投屏时,发送的图像数据的数据量,从而,避免投屏时图像画面的延迟,提升用户体验。
[0158]
下面对实现本技术实施例的投屏数据处理方法的系统进行介绍,可选的,产品实现状态是终端的图形软件系统中,是部署在其中的程序代码。如图4a所示,展示的是终端的图形软件系统的层次框架图。
[0159]
其中最顶层是app层为应用层,每个app层有自己的显示图层,以呈现自身的显示内容。在framework层surfaceflinger作为android智能终端系统中的图形图层合成器,会将各个app的图层以及系统图层进行合成,一方面会将合成的图像进行显送,另一方面在存在投屏服务时,surfaceflinger通过调用native层open gl es系统库的api进行gpu合成,再将合成后数据传递给投屏服务(cast server),在投屏的流程中可以将合成器的输出通过编码器编码、打包后发送到对端显示。
[0160]
本技术的发送端新增的感知模块可以提供感知服务(perception service),通过surfaceflinger获取当前待显示图像的各图层(layer)的信息,判断当前的场景,指导surfaceflinger最终合成的图层以及合成后的分辨率的大小,再送入投屏服务。
[0161]
下面结合图4b,对感知模块的关键流程进行介绍。
[0162]
其中感知模块的关键流程具体如下:
[0163]
1.收集信息:是指通过获取surfaceflinger侧当前帧所有的图层信息,信息主要包括图层的应用名、图层的源分辨率。另外通过wifi manager service获取当前wifi连接的网络信号状态;
[0164]
2.分析信息:是指根据步骤1中收集的图层信息,通过图层所对应的应用名、应用
图层的源分辨率以及应用图层的像素长宽比等来推测当前显示图像的实际场景是否为全屏场景;此外,还可以根据网络信号状态,例如将网络状态划分为3种状态:差、中、好;
[0165]
3.策略制定:根据当前推测出来的场景,制定策略,其中主要包括;
[0166]
3.1针对全屏游戏场景、全屏视频播放场景等全屏场景,只合成应用图层,并根据网络状态决定合成帧的分辨率大小,当网络状态好时,根据应用图层的源分辨率或者预设第一分辨率进行合成、编码;当网络状态中时,对当前应用图层的源分辨率或者预设第一分辨率进行采样1/2后再进行合成、编码;当网络状态为差时,对当前应用图层的源分辨率或者预设第一分辨率进行下采样1/3后进行合成、编码。
[0167]
3.2针对桌面场景等非全屏场景,合成全部应用图层,根据网络状态调整策略与步骤3.1相同;
[0168]
4.策略执行:根据步骤3中按场景制定的相应策略,更新surfaceflinger真实参与合成的图层以及最终合成后帧分辨率,最后进行编码和以及传输,从而减少链路的实际负载;
[0169]
感知模块通过场景感知,获取用户当前真实的使用场景以及当前的网络状态,同时对当前所合成的图层进行信息收集、分析,并按场景和网络状态,执行对应的策略,动态调整合成的图层内容以及最终合成的视频帧的分辨率大小,从而改变合成的分辨率,以减少编码和传输数据,减轻负载,减小时延。
[0170]
上面介绍了投屏发送端的投屏数据处理方法,下面对投屏接收端的投屏数据处理方法进行介绍,投屏接收端属于终端,为了描述方便,与投屏发送端进行区分,本技术实施例中将投屏接收端的终端称为投屏设备,对于投屏设备的具体设备形态不做限定。
[0171]
下面结合图5a,对本技术实施例中投屏接收端的投屏数据处理方法的进行介绍:
[0172]
501、投屏设备接收第一分辨率的待投屏图像;
[0173]
投屏设备通过无线网络接收第一分辨率的待投屏图像,可选地,该第一分辨率的待投屏图像是图3对应的实施例中终端发送的以目标分辨率的合成的图像数据。
[0174]
由于通常投屏设备支持的图像的分辨率较高,而接收到的图像数据的第一分辨率较低,常规地通过将第一分辨率线性拉伸到投屏设备所支持的分辨率进行显示的方式,会导致显示画面产生模糊感,画质较差,影响用户体验。
[0175]
可选地,对于视频类动态的图像数据,若投屏设备接收的待投屏图像的帧率小于或等于阈值,则对待投屏图像进行插帧,该阈值即第四阈值,第四阈值例如可以为30fps。插帧的具体过程为已有技术,此处不再赘述,可选地,对待投屏图像进行智能插帧,示例性的,若获取的待投屏图像的帧率为30fps,通过插帧,将帧率提升至60fps。由此,可以减少发送帧率控制对用户体验的影响。
[0176]
502、根据预设的神经网络模型对所述第一分辨率的图像数进行超分,获取第二分辨率的所述图像数据。
[0177]
投屏设备可以根据神经网络模型对图像数据进行超分,提高图像数据的分辨率,该神经网络模型可以是现有的各类超分模型中的任意一个,具体此处不做限定。下面对超分过程进行简要介绍:
[0178]
1、加载模型:解析模型的层次关系,对各个层进行拓扑排序;解析每一层的参数,包括各个层的权重值、各个层的激活函数、对应的卷积核大小以及步长等信息。
[0179]
2、前处理:根据模型的需求,配置输入的归一化范围、输出数据归一化范围等,例如在超分模型输入往往以图片的yuv色域下的y通道数据作为输入,并数据归一化至0~0.1或者-0.1~0.1范围内。
[0180]
3、推理计算:即执行模型推理计算的过程,具体请参考图5b,包括:
[0181]
a)选择后端(backend):根据不同的硬件平台选择合适的backend,由于gpu在处理图片数据更有优势,特别是在减少数据i/o开销,因此,优先选择gpu作为backend。
[0182]
b)资源重组:再将加载好的模型,按照选择的backend进行资源重组,如果以gpu作为backend,则将每一层的参数等信息整理,生成当前层所对应的fragment shader;
[0183]
c)遍历计算:以gpu backend为例,针对模型的每一层计算时,先要绑定对应的输入和输出的纹理id,此信息用于在fragment shader中使用,指定对应的输入数据来源和输出数据的保存;通过调用open gl指令,执行当前层的fragment shader以完成当前层所对应的所有卷积计算。
[0184]
4、后处理:是前处理的逆过程,将推理计算的结果与原始输入的数据相结合,重组成原来的图片格式,作为最后送显的数据,即用于显示的图像数据。
[0185]
通常超分后的第二分辨率为第一分辨率的整数倍,具体倍数不做限定,示例性的,第一分辨率大小为360p,超分后的第二分辨率大小720p;第一分辨率大小为540p,超分后的第二分辨率大小为1080p。需要说明的是,利用gpu或npu进行加速ai计算,改善显示画质时,超分的软件开发包(software development kit,sdk)集成在解码后,送显之前,在原来的音视频同步步骤中,利用送显的时间周期内完成超分,而不增加额外的时间,下面结合图6,对音视频同步集成超分的处理的过程进行介绍。
[0186]
vsync信号是周期性显示的触发信号,主要作用是同步应用层的视图绘制任务和native层视图合成任务。
[0187]
现有技术中,在音视频同步阶段按vsync周期性对图像帧进行解码,从图6可以看到,第一帧(在图中以编号1进行示意,以此类推)完成解码后,在下一个vsync周期进行显示。每一帧图像均在一个vsync周期内完成解码,并在该vsync周期结束后显示。本技术实施例中,在音视频同步阶段加入超分模块,通过接收端的gpu算力进行超分ai的推理计算,耗时较短,可以在一个vsync周期内完成解码和超分的动作,再将超分后的结果进行送显。从而在不影响延时的前提下,进一步改善画质,提升用户体验。
[0188]
下面对接收端中实现本技术实施例的投屏数据处理方法的系统进行介绍,可选的,产品实现状态是终端的图形软件系统中,是部署在其中的程序代码。如图7a所示,展示的是投屏设备的图形软件系统的层次框架图。
[0189]
参考发送端的图形软件系统的层次框架图,接收端集成投屏服务(cast service)之后的超分模块(sr)。现有方案中,在接收侧的通过硬件编译码器(hardware codec)解码后的数据送入在接收侧的cast service,而本技术实施例中,在cast接收到发送端解码的数据后,先送到sr模块,再将超分的数据作为一个应用的图层最终显示在屏幕上。
[0190]
下面结合图7b,对超分模块的关键流程进行介绍。
[0191]
其中感知模块的关键流程具体如下:
[0192]
1.模型加载:
[0193]
a)运行期间运行是否加载过模型,如果没有加载过,则加载对应的模型文件,解析
模型有向图的层状结构,生成对应的结构层次以及输入输出,解析每层的参数,生成相应的计算单元。该过程仅初始化一次,将结构、权重参数相关资源加载到内存中。
[0194]
b)如果已经加载模型,则直接进入下一步;
[0195]
2.选择计算后端(backend):根据不同的硬件平台,选择合成的backend,优先会采用gpu作为相应的backend,因为gpu在处理视频帧数据时更能发挥其并行处理的优势,有npu的硬件平台,会使用npu做部分辅助计算。
[0196]
3.推理计算:根据不同的计算后端,按照模型结构的有向图排序好的层节点依次进行相应的计算。
[0197]
4.前后处理:前处理是指在超分模块计算前,提取图像帧的ai推理计算的感兴趣信息,比如图像的y通路路数;后处理是指将图像数据还原成rgba的原始的数据格式。
[0198]
超分模块在接收侧通过在音视频同步阶段集成超分,根据不同的分辨率加载对应的超分模型、运行相应的推理引擎,利用后端管理选择相应的gpu或者npu进行ai计算,从而改善显示画质。
[0199]
上面介绍了本技术提供的投屏数据处理方法,下面对实现该投屏数据处理方法的投屏数据处理装置进行介绍,请参阅图8,为本技术实施例中投屏数据处理装置的一个实施例示意图。
[0200]
图8中的各个模块的只一个或多个可以软件、硬件、固件或其结合实现。所述软件或固件包括但不限于计算机程序指令或代码,并可以被硬件处理器所执行。所述硬件包括但不限于各类集成电路,如中央处理单元(cpu)、数字信号处理器(dsp)、现场可编程门阵列(fpga)或专用集成电路(asic)。
[0201]
该投屏数据处理装置,具体为无线投屏场景中数据的发送端,或称发送侧,即本技术中的终端,终端具体可以为手机、笔记本电脑、平板电脑等,具体设备形态此处不做限定。
[0202]
该投屏数据处理装置包括:
[0203]
获取单元801,用于获取网络状态信息,所述网络状态信息用于指示所述终端和投屏设备之间的通信链路的质量;
[0204]
确定单元802,用于根据所述网络状态信息确定待投屏图像的目标分辨率;
[0205]
合成单元803,用于根据所述目标分辨率合成图像数据,并将所述图像数据发送给所述投屏设备,所述图像数据用于所述投屏设备显示所述待投屏图像。
[0206]
可选地,所述目标分辨率与所述通信链路的质量正相关。
[0207]
可选地,所述网络状态信息包括接收信号强度指示rssi。
[0208]
可选地,所述确定单元802具体用于:
[0209]
当所述rssi的数值大于或等于第一阈值时,确定所述目标分辨率为第一分辨率;
[0210]
当所述rssi的数值小于所述第一阈值且大于或等于第二阈值时,确定所述目标分辨率为所述第一分辨率的二分之一,所述第二阈值小于所述第一阈值;
[0211]
当所述rssi的数值小于所述第二阈值时,确定所述目标分辨率为所述第一分辨率的三分之一。
[0212]
可选地,所述确定单元802还用于:
[0213]
确定当前的使用场景;
[0214]
所述合成单元803具体用于:根据所述使用场景和所述目标分辨率有选择性地合
成图像数据。
[0215]
可选地,所述确定单元802具体用于:确定所述待投屏图像是否处于全屏场景;
[0216]
所述合成单元803具体用于:当确定所述待投屏图像处于全屏场景时,根据所述目标分辨率仅对所述待投屏图像的所有图层中的应用图层进行合成;或者,
[0217]
当确定所述待投屏图像处于非全屏场景时,根据所述目标分辨率对所述应用图层和所述待投屏图像的系统图层进行合成。
[0218]
可选地,所述确定单元802具体用于:
[0219]
当所述应用图层的源分辨率大于或等于第三阈值时,确定所述待投屏图像处于全屏场景;
[0220]
当所述应用图层的源分辨率小于第三阈值时,确定所述待投屏图像处于非全屏场景。
[0221]
可选地,所述确定单元802具体用于:
[0222]
当所述应用图层的像素长宽比和屏幕的像素长宽比相同时,确定所述待投屏图像处于全屏场景;
[0223]
当所述应用图层的像素长宽比和屏幕的像素长宽比不相同时,确定所述待投屏图像处于非全屏场景。
[0224]
可选地,所述确定单元802具体用于:
[0225]
当所述应用图层的源分辨率大于或等于第三阈值,且所述应用图层的像素长宽比和屏幕的像素长宽比相同时,确定所述待投屏图像处于全屏场景;
[0226]
当所述应用图层的源分辨率小于第三阈值,或者,所述应用图层的像素长宽比和屏幕的像素长宽比不相同时,确定所述待投屏图像处于非全屏场景。
[0227]
可选地,所述确定单元802具体用于:
[0228]
当所述应用图层的源分辨率大于或等于第三阈值,且所述应用图层的像素长宽比和屏幕的像素长宽比相同,且预设的图层标识集合中包括所述应用图层的标识时,确定所述待投屏图像处于全屏场景;
[0229]
当所述应用图层的源分辨率小于第三阈值,或者,所述应用图层的像素长宽比和屏幕的像素长宽比不相同,或者,预设的图层标识集合中不包括所述应用图层的标识时,确定所述待投屏图像处于非全屏场景。
[0230]
可选地,所述合成单元803具体用于:
[0231]
根据所述目标分辨率和第一帧率合成图像数据,其中硕士第一帧率比所述待投屏图像在所述终端上显示的帧率要低。
[0232]
该投屏数据处理装置的优点可以参考前述实施例中投屏数据处理方法的效果,此处不再赘述。
[0233]
请参阅图9,为本技术实施例中投屏数据处理装置的一个实施例示意图。
[0234]
图9中的各个模块的只一个或多个可以软件、硬件、固件或其结合实现。所述软件或固件包括但不限于计算机程序指令或代码,并可以被硬件处理器所执行。所述硬件包括但不限于各类集成电路,如中央处理单元(cpu)、数字信号处理器(dsp)、现场可编程门阵列(fpga)或专用集成电路(asic)。
[0235]
该投屏数据处理装置,即无线投屏场景中数据的接收端,或称接收侧,本技术中称
为投屏设备,该投屏设备具有图像显示的功能,具体可以为电脑、智能电视或智慧屏等,设备形态不做限定。
[0236]
该投屏数据处理装置,包括:
[0237]
接收单元901,用于接收第一分辨率的待投屏图像;
[0238]
获取单元902,用于通过图形处理器gpu,根据预设的神经网络模型对所述第一分辨率的待投屏图像进行超分,获取第二分辨率的图像;
[0239]
显示单元903,用于显示所述第二分辨率的图像。
[0240]
可选地,所述待投屏图像包括第一图像帧;
[0241]
所述获取单元902,具体用于:
[0242]
在一个音视频同步周期中进行第一图像帧的解码和超分,以获取解码后的第二分辨率的图像数据。
[0243]
可选地,所述装置还包括:
[0244]
处理单元904,用于当所述待投屏图像的第一帧率小于第四阈值时,对所述待投屏图像进行插帧,以获取第二帧率的待投屏图像。
[0245]
可选地,所述第一分辨率的待投屏图像包括如上一实施例所述的合成后的图像数据。
[0246]
请参阅图10,为本技术实施例中终端的一个实施例示意图;
[0247]
为便于理解,下面将对本技术实施例提供的终端100的结构进行示例说明。参见图10,图10是本技术实施例提供的终端的结构示意图。
[0248]
如图10所示,终端100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
[0249]
可以理解的是,本技术实施例示意的结构并不构成对终端100的具体限定。在本技术另一些实施例中,终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
[0250]
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
[0251]
其中,控制器可以是终端100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0252]
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
[0253]
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i1c)接口,集成电路内置音频(inter-integrated circuit sound,i1s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
[0254]
可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端100的结构限定。在本技术另一些实施例中,终端100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
[0255]
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。
[0256]
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
[0257]
终端100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
[0258]
在一些可行的实施方式中,终端100可以使用无线通信功能和其他设备通信。例如,终端100可以和第二电子设备通信,终端100与第二电子设备建立投屏连接,终端100输出投屏数据至第二电子设备等。其中,终端100输出的投屏数据可以为音视频数据。
[0259]
天线1和天线2用于发射和接收电磁波信号。终端100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
[0260]
移动通信模块150可以提供应用在终端100上的包括1g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线2转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。终端可以通过移动通信模块与服务器通信。
[0261]
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理
后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170a,受话器170b等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
[0262]
无线通信模块160可以提供应用在终端100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线1接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。终端100可以通过wi-fi网络与投屏设备200通信。
[0263]
在一些实施例中,终端100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma),长期演进(long term evolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioning system,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
[0264]
终端100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
[0265]
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,终端100可以包括1个或n个显示屏194,n为大于1的正整数。具体地,显示屏194可以将输出的词显示给用户。
[0266]
在一些可行的实施方式中,显示屏194可用于显示终端100的系统输出的各个界面。例如终端100可以同步输出待投屏的图像数据。
[0267]
终端100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
[0268]
isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传
递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
[0269]
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,终端100可以包括1个或n个摄像头193,n为大于1的正整数。
[0270]
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。
[0271]
视频编解码器用于对数字视频压缩或解压缩。终端100可以支持一种或多种视频编解码器。这样,终端100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg1,mpeg3,mpeg4等。
[0272]
npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现终端100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
[0273]
外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展终端100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
[0274]
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
[0275]
终端100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。在一些可行的实施方式中,音频模块170可用于播放视频对应的声音。例如,显示屏194显示视频播放画面时,音频模块170输出视频播放的声音。
[0276]
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。
[0277]
扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。
[0278]
受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。
[0279]
麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
[0280]
耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,
ctia)标准接口。
[0281]
压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。陀螺仪传感器180b可以用于确定终端100的运动姿态。气压传感器180c用于测量气压。
[0282]
加速度传感器180e可检测终端100在各个方向上(包括三轴或六轴)加速度的大小。当终端100静止时可检测出重力的大小及方向。还可以用于识别终端姿态,应用于横竖屏切换,计步器等应用。
[0283]
距离传感器180f,用于测量距离。
[0284]
环境光传感器180l用于感知环境光亮度。
[0285]
指纹传感器180h用于采集指纹。
[0286]
温度传感器180j用于检测温度。
[0287]
触摸传感器180k,也称“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于终端100的表面,与显示屏194所处的位置不同。
[0288]
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端100可以接收按键输入,产生与终端100的用户设置以及功能控制有关的键信号输入。
[0289]
马达191可以产生振动提示。
[0290]
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
[0291]
sim卡接口195用于连接sim卡。
[0292]
请参阅图11,为本技术实施例中投屏设备的一个实施例示意图;
[0293]
本实施例提供的投屏设备,可以为电脑、电视或智慧屏等,本技术实施例中对其具体设备形态不做限定。
[0294]
该投屏设备1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器1101和存储器1102,该存储器1102中存储有程序或数据。
[0295]
其中,存储器1102可以是易失性存储或非易失性存储。可选地,处理器1101是一个或多个中央处理器(cpu,central processing unit,该cpu可以是单核cpu,也可以是多核cpu。处理器1101可以与存储器1102通信,在投屏设备1100上执行存储器1102中的一系列指令。
[0296]
该投屏设备1100还包括一个或一个以上无线网络接口1103,例如以太网接口。可选地,尽管图11中未示出,投屏设备1100还可以包括有线网络接口
[0297]
该投屏设备1100还包括显示器1104,用于显示投屏画面。
[0298]
可选地,尽管图11中未示出,投屏设备1100还可以包括一个或一个以上电源;一个或一个以上输入输出接口,输入输出接口可以用于连接显示器、鼠标、键盘、触摸屏设备或传感设备等,输入输出接口为可选部件,可以存在也可以不存在,此处不做限定。
[0299]
本实施例中投屏设备1100中的处理器1101所执行的流程可以参考前述方法实施例中描述的方法流程,此处不加赘述。
[0300]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0301]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0302]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0303]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0304]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0305]
以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

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

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

相关文献