屏幕共享显示方法、装置、设备及存储介质与流程

文档序号:24812340发布日期:2021-04-27 13:15阅读:102来源:国知局
1.本公开实施例涉及计算机与网络通信
技术领域
:,尤其涉及一种屏幕共享显示方法、装置、设备及存储介质。
背景技术
::2.随着视频会议的普及,满足了用户的远程会议和沟通的需求,提高了办公效率,在视频会议中,屏幕共享是非常核心的功能,通过远程向屏幕共享接收端展示屏幕上的内容,实现了信息的快速传递,有效的提高了用户之间的信息交互效率。3.目前,在屏幕共享的实现方案中,需要屏幕共享的发送端逐帧采集屏幕的图像数据,并进行编码后,通过网络发送至接收端用户进行显示。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.图1为本公开实施例提供的一种应用场景示意图;30.图2为本公开实施例提供的屏幕共享显示方法流程示意图一;31.图3为本公开实施例提供的一种向第二终端设备发送压缩图像的示意图;32.图4为本公开实施例提供的屏幕共享显示方法流程示意图二;33.图5为本公开实施例提供的一种连续多帧图像示意图;34.图6为图4所示实施例中步骤s202的流程示意图;35.图7为本公开实施例提供的一种对多帧连续图像进行处理的示意图;36.图8为本公开实施例提供的屏幕共享显示方法流程示意图三;37.图9为本公开实施例提供的一种屏幕共享显示方法的信令图;38.图10为本公开实施例提供的一种屏幕共享显示装置的结构框图;39.图11为本公开实施例提供的另一种屏幕共享显示装置的结构框图;40.图12为本公开实施例提供的一种电子设备的结构示意图;41.图13为本公开实施例提供的另一种电子设备的结构示意图;42.图14为本公开实施例提供的电子设备的硬件结构示意图。具体实施方式43.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。44.下面首先对本公开所涉及的应用场景进行介绍。45.图1为本公开实施例提供的一种应用场景示意图,如图1所示,在应用屏幕共享功能的场景下,用户a向用户b远程展示终端设备内显示的内容,具体地,用户a所操作的终端设备a和用户b所操作的终端设备b在建立通信连接后,用户a通过终端设备a向用户b所操作的终端设备b发送屏幕图像,使用户b能够通过终端设备b实时在线观看终端设备a屏幕中的内容。其中,终端设备a与终端设备b之间,可以如图1所示,通过云服务器实现数据的交换,也可以是直接进行数据交互(如图未示出),此处不进行具体限定。在图1所示的应用场景中,用户a将终端设备a的屏幕上显示的内容,通过屏幕共享显示在终端设备b中,实现了实时的文档展示、信息交流等目的。46.现有技术中,在应用屏幕共享的功能时,通常屏幕共享的发送端是逐帧采集屏幕显示的图像数据,并进行编码后,通过网络发送至接收端用户进行显示。然而,由于屏幕共享对采集的屏幕图像的清晰度要求很高,逐帧采集编码,会导致在共享屏幕过程中会产生巨大的数据流量,增加网络带宽负担,若网络负载过高,则会造成了视频卡顿的问题,影响屏幕共享显示的效果。47.在实际应用中,与视频会议等场景不同的是,屏幕共享功能的主要目的,是为了展示具有高信息密度的文档、图片等文件,该类高信息密度文件的展示过程,通常需要屏幕保持在静止态进行展示。以展示文档为例,共享屏幕一方在展示文档的当前页时,屏幕保持静止状态,观看屏幕一方则需要对文档当前页的内容进行详细观看;在当前页展示完毕后,滑动文档,至下一页进行展示,在该文档滑动期间,实际上观看屏幕一方的用户是不需要对屏幕所展示的内容进行详细观看的,因此,将文档滑动期间屏幕所显示的图片也无差别的进行高频采样、编码和传输,实际上是浪费了设备资源和带宽资源,从而造成了网络带宽负担的问题。因此,现阶段亟需一种方法来解决上述问题。48.本公开实施例提供一种屏幕共享显示方法以解决上述问题。49.图2为本公开实施例提供的屏幕共享显示方法流程示意图一,参考图2,本实施例的方法可以应用在第一终端设备中,该屏幕共享显示方法包括:50.s101:获取第一终端设备的相邻两帧图像。51.示例性地,第一终端设备为提供屏幕共享的图像数据的终端设备,即第一终端设备将本机的屏幕图像作为源信息分享给其他终端设备进行观看。示例性地,第一终端设备获取屏幕所显示的图像的方法可以是通过对屏幕所显示的内容进行逐帧采样,从而获得多帧屏幕图像。进一步地,为了判断共享屏幕当前是处于静止状态还是滑动状态,需要获取相邻两帧图像之间的变化情况。其中,示例性地,此处的相邻两帧可以是当前最新采集到的一帧图像和与该帧相邻的前一帧图像。52.s102:根据相邻两帧图像,确定图像变化信息,其中,图像变化信息表征相邻两帧图像中后一帧图像相对于前一帧图像的变化程度。53.示例性地,获取相邻两帧图像后,确定该相邻两帧图像之间的变化情况,即确定图像变化信息,图像变化信息表征相邻两帧图像中后一帧图像相对于前一帧图像的变化程度。示例性地,图像变化信息包括相似度评估值,相似度评估值用于表征相邻两帧图像中的后一帧图像与前一帧图像之间的相似度。54.在一种可能的实现方式中,根据相邻两帧图像,确定图像变化信息,包括:根据多组相邻两帧图像分别确定每组相邻两帧图像的相似度,并根据每组相邻两帧图像的相似度评估值,生成图像变化信息,具体地,例如,计算各组相邻两帧图像所分别对应的相似度,得到各组相邻两帧图像的相似度评估值,将与多组相邻两帧图像对应的多个相似度评估值,组成一个相似度评估值序列,作为图像变化信息。55.s103:若确定图像变化信息所表征变化程度大于等于第一预设程度,则对后一帧图像进行压缩,得到压缩图像数据。56.具体地,在一种可能的实现方式中,若图像变化信息所表征变化程度大于等于第一预设程度,说明相邻两帧图像中的后一帧,相对前一帧有较大变化,此时,可判定屏幕处于滑动状态,即此状态下屏幕所显示的信息为无意义信息。在另一种可能的实现方式中,图像变化信息为相似度评估值序序列,相似度评估值序序列中包括多个相似度评估值,若图像变化信息所表征变化程度大于等于第一预设程度,说明多个相似度评估值均已大于预设阈值,即已有连续多帧图像有较大变化,此时,可判定屏幕处于滑动状态,即此状态下屏幕所显示的信息为无意义信息。57.其中,当两帧图像中的后一帧相对前一帧有较大变化时,该后一帧图像在后续的编码过程中会生成关键帧(i帧),相比于非关键帧(p帧),关键帧的数据量更大,传输关键帧会占用更大的带宽,因此,对此阶段所采集的屏幕图像进行压缩,可以使后续编码产生的关键帧的数据体积降低,从而有效地降低数据传输量。示例性地,对屏幕数据压缩是指对采集到的相邻两帧图像中的后一帧图像,或连续多帧图像中的最后一帧图像,即当前最新采集到的一帧图像进行压缩,进一步地,对后一帧图像进行压缩,得到压缩图像数据包括:对后一帧图像进行降采样,例如,将1080p分辨率的图像,降采样至270p。降采样后得到压缩图像帧,该压缩图像帧相比降采样之前的图像具有更低的分辨率,同时,图像体积也更小。58.进一步地,将压缩图像帧发送至编码器进行编码处理,得到压缩图像数据。此处,对图像进行编码的过程为本领域现有技术,此处不再赘述。59.s104:将压缩图像数据发送给第二终端设备进行显示。60.示例性地,第二终端设备为接收共享屏幕图像,并进行显示的终端设备。向该第二终端设备发送压缩图像的实现方式,可以是向云服务器发送该压缩图像数据,并由云服务器向第二终端设备转发该压缩图像数据,也可以是第一终端设备直接向第二终端设备发送该压缩图像数据,可以根据需要进行设置,此处不进行具体限定。在生成压缩图像数据后,将压缩图像数据发送至第二终端设备,第二终端设备对压缩图像数据进行解码后,进行显示,完成共享屏幕显示的过程。图3为本公开实施例提供的一种向第二终端设备发送压缩图像的示意图,如图3所示,第一终端设备根据当前采集到的屏幕图像帧与前一帧之间的变化程度,判断屏幕是否处于滑动状态,若处于滑动状态,则对屏幕图像进行压缩,生成压缩图像数据发送至第二终端设备进行显示,降低数据传输量,降低网络负载。61.在本实施例中,通过获取第一终端设备的相邻两帧图像;根据相邻两帧图像,确定图像变化信息,其中,图像变化信息表征相邻两帧图像中后一帧图像相对于前一帧图像的变化程度;若确定图像变化信息所表征变化程度大于等于第一预设程度,则对后一帧图像进行压缩,得到压缩图像数据;将压缩图像数据发送给第二终端设备进行显示,由于第一终端设备根据图像发生变化的程度,对图像进行了压缩,因此在屏幕共享过程中若图像变化较大,即屏幕滑动过程中,对屏幕图像对应的图像数据进行压缩,可以实现在不影响有效数据传递的情况下,降低传输数据量,解决了屏幕共享显示过程中数据流量大的问题,提高了屏幕共享显示的流畅度,降低显示卡顿。62.图4为本公开实施例提供的屏幕共享显示方法流程示意图二。本实施例中进一步对步骤s101至s103进行细化,并增加了在屏幕处于静止状态时,丢弃对应屏幕图像帧的步骤,该屏幕共享显示方法包括:63.s201:获取第一终端设备的多帧连续图像,其中,多帧连续图像至少包括三帧图像,多帧连续图像中每相邻两帧构成一组相邻两帧图像。64.具体地,获取第一终端设备的多帧连续图像,包括:第一终端设备对其屏幕所显示的内容进行逐帧的图像采集,在每次采集到一帧图像后,对其进行缓冲,存储在本地的存储介质中,之后继续采集后一帧图像。第一终端设备在每次采集到当前最新的一帧图像后,从缓冲中读取与当前帧图像相邻的若干帧图像,并将该相邻的若干帧图像与当前帧图像一起组成多帧连续图像。具体地,例如,从缓冲中获取当前帧之前的两帧图像,与当前帧图像共同形成一个三帧连续图像。65.进一步地,多帧连续图像中的每相邻两帧,构成一组相邻两帧图像。图5为本公开实施例提供的一种连续多帧图像示意图,如图5所示,在多帧连续图像中共包括第一帧至第四帧,其中,第一帧与第二帧、第二帧与第三帧、第三帧与第四帧,分别组成三组相邻两帧图像。66.s202:根据各组相邻两帧图像,确定图像变化信息。67.示例性地,图像变化信息包括相似度评估值序列,相似度评估值序列中包括多个相似度评估值,每一个相似度评估值分别与一组相邻两帧图像相对应。相似度评估值用于表征相邻两帧图像中的后一帧图像与前一帧图像之间的相似度。68.可选地,如图6所示,步骤s202包括步骤s2021、s2022两个具体的实现步骤:69.s2021:获取各组相邻两帧图像中前一帧图像的像素信息和后一帧图像的像素信息。70.s2022:根据预设的图像比较算法,对各组相邻两帧图像中前一帧图像的像素信息和后一帧图像的像素信息进行特征对比,各组相邻两帧图像的相似度评估值。71.示例性地,对各组相邻两帧图像中前一帧图像的像素信息和后一帧图像的像素信息进行特征对比,例如为,分别计算其中前一帧图像和后一帧图像的像素信息的相似度,从而获得一个相应的相似度评估值,其中,根据像素信息计算相似度的实现方法为现有技术,此处不再赘述。再例如,还可以通过计算结构相似性(structuralsimilarity,ssim),从亮度,对比度,结构三面进行比较,或者通过内容特征法,关键点匹配法等方法,确定各组相邻两帧图像的相似度评估值,此处不再对此进行一一赘述。72.s203:若多帧连续图像中的各组相邻两帧图像的相似度评估值均小于预设第一相似度阈值,则对多帧连续图像的最后一帧图像进行压缩,得到压缩图像数据。73.具体地,若多帧连续图像中的各组相邻两帧图像的相似度评估值均小于预设第一相似度阈值,说明在连续多帧图像中,各帧图像之间均具有较大变化,此时判断屏幕进入滑动状态,在屏幕处于滑动状态下,所显示的内容为不需用户仔细观看的内容,并且,屏幕处于滑动状态下,所采集的图像在后续的编码过程中会生成关键帧,相比于非关键帧,关键帧的数据量更大,传输关键帧会占用更大的带宽,因此,对进入滑动状态下采集的平面图像,即多帧连续图像的最后一帧图像进行压缩和编码,得到压缩图像数据,对该压缩图像数据进行传输,可有效地降低数据传输量。74.s204:若多帧连续图像中,最后一组相邻两帧图像的相似度评估值大于预设第二相似度阈值,则在本地缓冲最后一组相邻两帧图像中的后一帧图像,其中,第二终端设备不更新图像。75.具体地,在第一终端设备采集屏幕图像的过程中,获得的连续多帧图像中,若最后一组相邻两帧图像,即当前最新采集到的屏幕图像,和与其相邻的一帧屏幕图像,相似度评估值大于第二预设相似度阈值,如相似度评估值大于99%,即说明当前最新采集到的屏幕图像相较相邻的前一帧屏幕图像,几乎无变化,此时,判断屏幕处于静止状态。其中,当屏幕处于静止状态时,最新采集到的屏幕图像在后续的编码过程中,会生成非关键帧,而缺失非关键帧并不会影响视频的正常播放。因此,在屏幕处于静止状态时,屏幕上的显示的内容不更新,此时无需将采集到的屏幕图像发送给第二终端设备,即不生成和发送屏幕图像对应的非关键帧,减少数据传输量,降低带宽资源消耗,而第二终端设备可以继续显示当前的屏幕图像,而无需进行更新图像。76.本实施例中,通过判断在多帧连续图像中的最后一组相邻两帧图像的相似度评估值大于预设第二相似度阈值的情况下,不向第二终端设备发送图像数据,而仅是对最新采集到的图像进行缓冲,用于下一帧屏幕图像的判断,使屏幕处于静止状态时,不再向第二终端设备发送图像数据,进一步减少屏幕分享显示过程中的数据传输量,降低网络负载。77.下面以一个更具体的实施例对第一终端设备对多帧连续图像处理的过程进行说明。图7为本公开实施例提供的一种对多帧连续图像进行处理的示意图,如图7所示,第一终端设备实时采集屏幕所显示的内容,生成屏幕图像帧,并进行缓冲,第一终端设备通过对最近的三帧连续图像进行判断,确定屏幕状态,即在该最近的三帧连续图像中,若第一帧图像p1与第二帧图像p2组成的相邻两帧图像的相似度评估值,大于99%,即确定当前为屏幕静止状态,则将最新采集到的第一帧图像p1缓冲至本地存储介质,而不向第二终端设备发送数据,以使第二终端设备继续显示当前内容,不更新显示,同时第一终端设备继续采集屏幕图像;若第一帧图像p1与第二帧图像p2组成的相邻两帧图像的相似度评估值小于90%,且第二帧图像p2与第三帧图像p3组成的相邻两帧图像的相似度评估值小于90%,即确定当前为屏幕滑动状态,则将最新采集到的第一帧图像p1压缩为压缩图像数据,发送至第二终端设备,以使第二终端设备更新图像;若是其他情况,即确定当前为屏幕一般状态,则第一终端设备将最新采集的第一帧图像p1发送至第二终端设备进行正常显示。78.可选地,若确定图像变化信息表征变化程度小于等于第二预设程度,则向第二终端设备发送心跳信号;其中,心跳信号用于指示第一终端设备与第二终端设备处于连接状态。79.本实施例步骤中,在图像变化信息表征变化程度小于等于第二预设程度时,由于第一终端设备此时不向第二终端设备发送数据,为了使第二终端设备能够实时的确认与第一终端设备的连接状态,避免连接重置,第一终端设备向第二终端设备发送心跳信号,提高屏幕共享过程中的连接稳定性。80.可选地,在步骤s204之后,还包括:81.s205:获取鼠标图层数据;将鼠标图层数据发送至编码器进行编码处理,得到鼠标图层编码数据;将鼠标图层编码数据发送至第二终端设备。82.示例性地,在第一终端设备判断在屏幕处于静止状态时,通过不向第二终端发送屏幕图像数据,可以实现降低数据传输量的目的。然而,很一些场景下,第一终端设备一侧的用户,需要使用鼠标,对第一终端设备的屏幕上显示的内容进行指示,从而能更清楚的实现视频会议过程中的语音讲解,因此,需要将鼠标的显示位置,发送至第二终端设备进行显示。83.具体地,获取鼠标图层数据后,将鼠标图层数据发送至编码器进行编码处理,可以得到鼠标图层编码数据,由于鼠标图层数据的数据量很小,对其单独进行编码,并将生成的鼠标图层编码数据发送至第二终端设备,对数据传输量的影响很小,因此可以实现在不更新屏幕图像的基础上,更新显示鼠标的位置,实现鼠标的实时显示。84.s206:将压缩图像数据发送给第二终端设备进行显示。85.在本实施例中,步骤s206与上述实施例中步骤s104的一致,详细论述请参考步骤s104的论述,这里不再赘述。86.图8为本公开实施例提供的屏幕共享显示方法流程示意图三,参考图8,本实施例的方法可以应用在第二终端设备中,该屏幕共享显示方法包括:87.s301:接收第一终端设备发送的压缩图像数据。88.s302:显示压缩图像数据中的压缩图像帧。89.其中,压缩图像数据中包含压缩图像帧,该压缩图像帧是第一终端设备对屏幕滑动状态下采集的平面图像进行压缩而得到的图像帧,该图像帧具有更小体积,同时也有更低的分辨率。的具体地,显示压缩图像数据中的压缩图像帧,包括:90.对压缩图像数据进行解码,得到压缩图像帧;根据预设的图像尺寸,对压缩图像帧进行放大显示。其中,第一终端设备在对屏幕图像进行压缩的过程中,通过对图像进行尺度变换(scale),缩小了图像的尺度,为了使该图片在第二终端设备一侧以正常的尺度显示,需要再对该图像进行放大,即对该图像再次进行尺度变换,时图像尺度与屏幕显示尺度相匹配。91.在一种可能的实现方式中,第二终端设备在未接收到第一终端设备发送的压缩图像数据时,继续显示当前的图像帧。92.进一步地,在一种可能的实现方式中,若接收到第一终端设备发送的心跳数据,且未接收到第一终端设备发送的压缩图像数据时,显示当前的图像帧;若未接收到第一终端设备发送的心跳数据,且未接收到第一终端设备发送的压缩图像数据时,输出报警信息。93.可选地,该方法还包括:94.s303:接收鼠标图层编码数据;对鼠标图层编码数据进行解码,得到鼠标图层数据,并对鼠标图层数据进行显示。95.在第二终端设备接收到鼠标图层编码数据后,对鼠标图层编码数据进行解码,可以得到鼠标图层数据,该鼠标图层数据表征显示鼠标的位置。根据第一终端设备实时发送的鼠标图层编码数据,将鼠标实时的显示在第二终端设备上,由于鼠标图层编码数据数据量小,因此通过接收鼠标图层编码数据并进行处理和鼠标显示,能够在不影响数据传输量的情况下,实现鼠标的显示目的。96.图9为本公开实施例提供的一种屏幕共享显示方法的信令图,参考图9,对本公开实施例提供的屏幕共享显示方法包括:97.s401:第一终端设备采集当前屏幕图像,得到当前图像帧。98.s402:第一终端设备根据当前图像帧,确定当前图像帧之前的相邻两帧图像,并将当前图像帧与当前图像帧之前的相邻两帧图像作为多帧连续图像。99.s403:第一终端设备若判断多帧连续图像中的各组相邻两帧图像的相似度评估值均小于预设第一相似度阈值,则对当前图像帧进行压缩,得到压缩图像数据。100.s404:第一终端设备若所判断述多帧连续图像中,当前图像帧与之前相邻的图像帧的相似度评估值大于预设第二相似度阈值,则在本地缓冲当前图像帧。101.s405:第一终端设备获取鼠标图层数据;将鼠标图层数据发送至编码器进行编码处理,得到鼠标图层编码数据。102.s406:第一终端设备将鼠标图层编码数据发送至第二终端设备。103.s407:第二终端设备接收鼠标图层编码数据。104.s408:第二终端设备对鼠标图层编码数据进行解码,得到鼠标图层数据,并对鼠标图层数据进行显示。105.s409;第一终端设备将压缩图像数据发送给第二终端设备进行显示。106.s410;第二终端设备接收第一终端设备发送的压缩图像数据,并显示压缩图像数据中的压缩图像帧。107.其中,本实施例中s401‑s410的各步骤的实现方法及有益效果,在上述图2‑图7所示实施例中均有介绍,此处不再进行赘述。108.对应于上文实施例的屏幕共享显示方法,图10为本公开实施例提供的一种屏幕共享显示装置的结构框图,应用于第一终端设备。为了便于说明,仅示出了与本公开实施例相关的部分。参照图10,屏幕共享显示装置5,包括:109.获取单元51,用于获取第一终端设备的相邻两帧图像。110.确定单元52,用于根据相邻两帧图像,确定图像变化信息,其中,图像变化信息表征相邻两帧图像中后一帧图像相对于前一帧图像的变化程度。111.压缩单元53,用于若确定图像变化信息所表征变化程度大于等于第一预设程度,则对后一帧图像进行压缩,得到压缩图像数据。112.发送单元54,用于将所述压缩图像数据发送给第二终端设备进行显示。113.在本公开的一个实施例中,确定单元52,还用于:若确定图像变化信息表征变化程度小于等于第二预设程度,则在本地缓冲相邻两帧图像中的后一帧图像,其中,第二终端设备不更新图像。114.在本公开的一个实施例中,获取单元51,还用于:获取第一终端设备的多帧连续图像,其中,多帧连续图像至少包括三帧图像,多帧连续图像中每相邻两帧构成一组相邻两帧图像;相应的,压缩单元53,具体用于:若多帧连续图像中的各组相邻两帧图像,所对应的图像变化信息所表征变化程度均大于等于第一预设程度,则对多帧连续图像的最后一帧图像进行压缩,得到压缩图像数据。115.在本公开的一个实施例中,图像变化信息包括相似度评估值,相似度评估值用于表征相邻两帧图像中的后一帧图像与前一帧图像之间的相似度;压缩单元53,具体用于:若多帧连续图像中的各组相邻两帧图像的相似度评估值均小于预设第一相似度阈值,则对多帧连续图像的最后一帧图像进行压缩,得到压缩图像数据。116.在本公开的一个实施例中,确定单元52,还用于:若多帧连续图像中,最后一组相邻两帧图像的相似度评估值大于预设第二相似度阈值,则在本地缓冲最后一组相邻两帧图像中的后一帧图像,其中,第二终端设备不更新图像。117.在本公开的一个实施例中,压缩单元53在对后一帧图像进行压缩,得到压缩图像数据时,具体用于:对后一帧图像进行降采样,得到压缩图像帧;将压缩图像帧发送至编码器进行编码处理,得到压缩图像数据。118.在本公开的一个实施例中,发送单元54,还用于:若确定图像变化信息表征变化程度小于等于第二预设程度,则向第二终端设备发送心跳信号;其中,心跳信号用于指示第一终端设备与第二终端设备处于连接状态。119.在本公开的一个实施例中,获取单元51,还用于:获取鼠标图层数据;将鼠标图层数据发送至编码器进行编码处理,得到鼠标图层编码数据;发送单元54还用于:将鼠标图层编码数据发送至第二终端设备。120.在本公开的一个实施例中,确定模块52,具体用于:获取前一帧图像的像素信息和后一帧图像的像素信息;根据预设的图像比较算法,对前一帧图像的像素信息和后一帧图像的像素信息进行特征对比,确定图像变化信息。121.本实施例提供的设备,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。122.图11为本公开实施例提供的另一种屏幕共享显示装置的结构框图,应用于第二终端设备。为了便于说明,仅示出了与本公开实施例相关的部分。参照图11,屏幕共享显示装置6,包括:123.接收单元61,用于接收第一终端设备发送的压缩图像数据。124.显示单元62,用于显示压缩图像数据中的压缩图像帧。125.在本公开的一个实施例中,显示单元62具体用于:对压缩图像数据进行解码,得到压缩图像帧;根据预设的图像尺寸,对压缩图像帧进行放大显示。126.在本公开的一个实施例中,接收单元61,还用于:接收鼠标图层编码数据。显示单元,还用于:对鼠标图层编码数据进行解码,得到鼠标图层数据,并对鼠标图层数据进行显示。127.在本公开的一个实施例中,显示单元62,还用于:在未接收到第一终端设备发送的压缩图像数据时,继续显示当前的图像帧。128.在本公开的一个实施例中,显示单元62在未接收到第一终端设备发送的压缩数据时,继续显示当前的图像帧时,具体用于:若接收到第一终端设备发送的心跳数据,且未接收到第一终端设备发送的压缩图像数据时,显示当前的图像帧;若未接收到第一终端设备发送的心跳数据,且未接收到第一终端设备发送的压缩图像数据时,输出报警信息。129.图12为本公开实施例提供的一种电子设备的结构示意图,如图12所示,该电子设备7包括至少一个处理器701和存储器702;130.存储器702存储计算机执行指令;131.至少一个处理器701执行存储器702存储的计算机执行指令,使得至少一个处理器701执行如图2‑图7所示实施例中的屏幕共享方法,或者,执行图9所示实施例中由第一终端设备执行的方法步骤。132.其中,处理器701和存储器702通过总线703连接。133.相关说明可以对应参见图2‑图7所对应的实施例中的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。134.图13为本公开实施例提供的另一种电子设备的结构示意图,如图13所示,该电子设备8包括至少一个处理器801和存储器802;135.存储器802存储计算机执行指令;136.至少一个处理器801执行存储器802存储的计算机执行指令,使得至少一个处理器801执行如图8所示实施例中的屏幕共享方法,或者,执行图9所示实施例中由第二终端设备执行的方法步骤。137.其中,处理器801和存储器802通过总线803连接。138.相关说明可以对应参见图8所对应的实施例中的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。139.参考图14,其示出了适于用来实现本公开实施例的电子设备900的结构示意图,该电子设备900可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(personaldigitalassistant,简称pda)、平板电脑(portableandroiddevice,简称pad)、便携式多媒体播放器(portablemediaplayer,简称pmp)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图14示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。140.如图14所示,电子设备900可以包括处理装置(例如中央处理器、图形处理器等)901,其可以根据存储在只读存储器(readonlymemory,简称rom)902中的程序或者从存储装置908加载到随机访问存储器(randomaccessmemory,简称ram)903中的程序而执行各种适当的动作和处理。在ram903中,还存储有电子设备900操作所需的各种程序和数据。处理装置901、rom902以及ram903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。141.通常,以下装置可以连接至i/o接口905:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置906;包括例如液晶显示器(liquidcrystaldisplay,简称lcd)、扬声器、振动器等的输出装置907;包括例如磁带、硬盘等的存储装置908;以及通信装置909。通信装置909可以允许电子设备900与其他设备进行无线或有线通信以交换数据。虽然图14示出了具有各种装置的电子设备900,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。142.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置909从网络上被下载和安装,或者从存储装置908被安装,或者从rom902被安装。在该计算机程序被处理装置901执行时,执行本公开实施例的方法中限定的上述功能。143.需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd‑rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。144.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。145.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。146.可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(localareanetwork,简称lan)或广域网(wideareanetwork,简称wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。147.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。148.描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。149.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。150.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd‑rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。151.第一方面,根据本公开的一个或多个实施例,提供了一种屏幕共享显示方法,包括:获取第一终端设备的相邻两帧图像;根据相邻两帧图像,确定图像变化信息,其中,图像变化信息表征相邻两帧图像中后一帧图像相对于前一帧图像的变化程度;若确定图像变化信息所表征变化程度大于等于第一预设程度,则对后一帧图像进行压缩,得到压缩图像数据;将压缩图像数据发送给第二终端设备进行显示。152.根据本公开的一个或多个实施例,方法还包括:若确定图像变化信息表征变化程度小于等于第二预设程度,则在本地缓冲相邻两帧图像中的后一帧图像,其中,第二终端设备不更新图像。153.根据本公开的一个或多个实施例,获取第一终端设备的相邻两帧图像,包括:获取第一终端设备的多帧连续图像,其中,多帧连续图像至少包括三帧图像,多帧连续图像中每相邻两帧构成一组相邻两帧图像;若确定图像变化信息所表征变化程度大于等于第一预设程度,则对后一帧图像进行压缩,得到压缩图像数据,包括:若多帧连续图像中的各组相邻两帧图像,所对应的图像变化信息所表征变化程度均大于等于第一预设程度,则对多帧连续图像的最后一帧图像进行压缩,得到压缩图像数据。154.根据本公开的一个或多个实施例,图像变化信息包括相似度评估值,相似度评估值用于表征相邻两帧图像中的后一帧图像与前一帧图像之间的相似度;若多帧连续图像中的各组相邻两帧图像,所对应的图像变化信息所表征变化程度均大于等于第一预设程度,则对多帧连续图像的最后一帧图像进行压缩,得到压缩图像数据,包括:若多帧连续图像中的各组相邻两帧图像的相似度评估值均小于预设第一相似度阈值,则对多帧连续图像的最后一帧图像进行压缩,得到压缩图像数据。155.根据本公开的一个或多个实施例,方法还包括:若多帧连续图像中,最后一组相邻两帧图像的相似度评估值大于预设第二相似度阈值,则在本地缓冲最后一组相邻两帧图像中的后一帧图像,其中,第二终端设备不更新图像。156.根据本公开的一个或多个实施例,对后一帧图像进行压缩,得到压缩图像数据,包括:对后一帧图像进行降采样,得到压缩图像帧;将压缩图像帧发送至编码器进行编码处理,得到压缩图像数据。157.根据本公开的一个或多个实施例,方法还包括:若确定图像变化信息表征变化程度小于等于第二预设程度,则向第二终端设备发送心跳信号;其中,心跳信号用于指示第一终端设备与第二终端设备处于连接状态。158.根据本公开的一个或多个实施例,方法还包括:获取鼠标图层数据;将鼠标图层数据发送至编码器进行编码处理,得到鼠标图层编码数据;将鼠标图层编码数据发送至第二终端设备。159.根据本公开的一个或多个实施例,根据相邻两帧图像,确定图像变化信息,包括:获取前一帧图像的像素信息和后一帧图像的像素信息;根据预设的图像比较算法,对前一帧图像的像素信息和后一帧图像的像素信息进行特征对比,确定图像变化信息。160.第二方面,根据本公开的一个或多个实施例,提供了一种屏幕共享显示方法,包括:接收第一终端设备发送的压缩图像数据;显示压缩图像数据中的压缩图像帧。161.根据本公开的一个或多个实施例,显示压缩图像数据中的图像帧,包括:对压缩图像数据进行解码,得到压缩图像帧;根据预设的图像尺寸,对压缩图像帧进行放大显示。162.根据本公开的一个或多个实施例,方法还包括:接收鼠标图层编码数据;对鼠标图层编码数据进行解码,得到鼠标图层数据,并对鼠标图层数据进行显示。163.根据本公开的一个或多个实施例,方法还包括:在未接收到第一终端设备发送的压缩图像数据时,继续显示当前的图像帧。164.根据本公开的一个或多个实施例,在未接收到第一终端设备发送的压缩数据时,继续显示当前的图像帧,包括:若接收到第一终端设备发送的心跳数据,且未接收到第一终端设备发送的压缩图像数据时,显示当前的图像帧;若未接收到第一终端设备发送的心跳数据,且未接收到第一终端设备发送的压缩图像数据时,输出报警信息。165.第三方面,根据本公开的一个或多个实施例,提供了一种屏幕共享显示装置,包括:166.获取单元,用于获取第一终端设备的相邻两帧图像。167.确定单元,用于根据相邻两帧图像,确定图像变化信息,其中,图像变化信息表征相邻两帧图像中后一帧图像相对于前一帧图像的变化程度。168.压缩单元,用于若确定图像变化信息所表征变化程度大于等于第一预设程度,则对后一帧图像进行压缩,得到压缩图像数据。169.发送单元,用于将所述压缩图像数据发送给第二终端设备进行显示。170.在本公开的一个实施例中,确定单元,还用于:若确定图像变化信息表征变化程度小于等于第二预设程度,则在本地缓冲相邻两帧图像中的后一帧图像,其中,第二终端设备不更新图像。171.根据本公开的一个或多个实施例,获取单元,还用于:获取第一终端设备的多帧连续图像,其中,多帧连续图像至少包括三帧图像,多帧连续图像中每相邻两帧构成一组相邻两帧图像;相应的,压缩单元,具体用于:若多帧连续图像中的各组相邻两帧图像,所对应的图像变化信息所表征变化程度均大于等于第一预设程度,则对多帧连续图像的最后一帧图像进行压缩,得到压缩图像数据。172.根据本公开的一个或多个实施例,图像变化信息包括相似度评估值,相似度评估值用于表征相邻两帧图像中的后一帧图像与前一帧图像之间的相似度;压缩单元,具体用于:若多帧连续图像中的各组相邻两帧图像的相似度评估值均小于预设第一相似度阈值,则对多帧连续图像的最后一帧图像进行压缩,得到压缩图像数据。173.根据本公开的一个或多个实施例,确定单元,还用于:若多帧连续图像中,最后一组相邻两帧图像的相似度评估值大于预设第二相似度阈值,则在本地缓冲最后一组相邻两帧图像中的后一帧图像,其中,第二终端设备不更新图像。174.根据本公开的一个或多个实施例,压缩单元在对后一帧图像进行压缩,得到压缩图像数据时,具体用于:对后一帧图像进行降采样,得到压缩图像帧;将压缩图像帧发送至编码器进行编码处理,得到压缩图像数据。175.根据本公开的一个或多个实施例,发送单元,还用于:若确定图像变化信息表征变化程度小于等于第二预设程度,则向第二终端设备发送心跳信号;其中,心跳信号用于指示第一终端设备与第二终端设备处于连接状态。176.根据本公开的一个或多个实施例,获取单元,还用于:获取鼠标图层数据;将鼠标图层数据发送至编码器进行编码处理,得到鼠标图层编码数据;发送单元还用于:将鼠标图层编码数据发送至第二终端设备。177.根据本公开的一个或多个实施例,确定模块,具体用于:获取前一帧图像的像素信息和后一帧图像的像素信息;根据预设的图像比较算法,对前一帧图像的像素信息和后一帧图像的像素信息进行特征对比,确定图像变化信息。178.第五方面,根据本公开的一个或多个实施例,提供了一种屏幕共享显示装置,包括:179.接收单元,用于接收第一终端设备发送的压缩图像数据。180.显示单元,用于显示压缩图像数据中的压缩图像帧。181.根据本公开的一个或多个实施例,显示单元具体用于:对压缩图像数据进行解码,得到压缩图像帧;根据预设的图像尺寸,对压缩图像帧进行放大显示。182.根据本公开的一个或多个实施例,接收单元,还用于:接收鼠标图层编码数据。显示单元,还用于:对鼠标图层编码数据进行解码,得到鼠标图层数据,并对鼠标图层数据进行显示。183.根据本公开的一个或多个实施例,显示单元,还用于:在未接收到第一终端设备发送的压缩图像数据时,继续显示当前的图像帧。184.根据本公开的一个或多个实施例,显示单元在未接收到第一终端设备发送的压缩数据时,继续显示当前的图像帧时,具体用于:若接收到第一终端设备发送的心跳数据,且未接收到第一终端设备发送的压缩图像数据时,显示当前的图像帧;若未接收到第一终端设备发送的心跳数据,且未接收到第一终端设备发送的压缩图像数据时,输出报警信息。185.第五方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;186.存储器存储计算机执行指令;187.至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如上第一方面以及第一方面各种可能的设计的屏幕共享显示方法。188.第六方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;189.存储器存储计算机执行指令;190.至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如上第二方面以及第二方面各种可能的设计的屏幕共享显示方法。191.第七方面,根据本公开的一个或多个实施例,提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计的屏幕共享显示方法,或者,当处理器执行计算机执行指令时,实现如上第二方面以及第二方面各种可能的设计的屏幕共享显示方法。192.第八方面,根据本公开的一个或多个实施例,提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现如上第一方面以及第一方面各种可能的设计的屏幕共享显示方法,或者,实现如上第二方面以及第二方面各种可能的设计的屏幕共享显示方法。193.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。194.此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。195.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1