屏幕描述方法及装置制造方法及图纸

技术编号:8323133 阅读:298 留言:0更新日期:2013-02-13 23:35
本发明专利技术提供了一种屏幕描绘方法,用于实现在第一显示设备上显示第二显示设备上的屏幕显示内容,所述方法包括:通过网络接收从第二显示设备发送的屏幕显示内容数据,所述屏幕显示内容数据是第二显示设备的屏幕显示区域中发生变化的屏幕区域的屏幕显示内容的数据;利用所接收的屏幕显示内容数据覆盖第一显示设备的存储装置中存储的全屏显示内容数据副本中的对应区域;以及将经过覆盖处理后得到的全屏显示内容数据副本绘制到第一显示设备的主表面上进行显示。利用本发明专利技术的方法,可以降低对显存的要求,减少了描绘过程中的Flip等操作,同时避免出现双表面之间画面需要协调匹配的问题。

【技术实现步骤摘要】

本专利技术涉及屏幕镜像技术,更为具体地,涉及一种屏幕描述方法及装置
技术介绍
屏幕镜像技术是指将某个设备 (比如,智能手机)的屏幕显示内容传输到另一个设备(如个人电脑)上进行显示的技术。图I示出了屏幕镜像技术的一个应用的示意图。如图I所示,智能手机上的屏幕显示内容可以通过WiFi传输到个人电脑的显示器上进行显示。图2示出了屏幕镜像技术的业务流程的流程图。如图2所示,在该业务流程中,首先,在设备A上获取屏幕显示内容并封装为数据包。接着,通过网络传输(无线传输和/或有线传输,通常是无线传输),将封装后的数据包传输到设备B。然后,在设备B接收到数据包后,对所接收的数据包进行解包处理,并且在设备B的显示屏幕上描绘并显示设备A上所显示的屏幕内容。依据不同的平台,上述各个步骤的实现各不相同。为了提高描绘性能,在设备B上进行的“描绘”步骤在Windows平台下一般通过基于DirectDraw进行描绘来实现。在现有技术中,为了实现动画效果,一般采用Flip方式进行描绘。Flip的工作原理类似于电影胶片的放映过程。胶片的每一页是一个静态的图片。当把这些胶片快速切换并依次投放到屏眷上时,就广生了动画。Flip正是利用该原理来显不动画。具体而目,Flip描绘方法主要依靠两个表面之间的连续切换来显示动画。通常的做法是申请两个表面(Surface),一个为主表面(Primary Surface),该表面上存储的内容即为设备A的屏幕上显示的内容;另一个为副表面(Back Surface),作为主表面的一个备用表面。通过不断地更新副表面的内容,并和主表面进行切换产生效果,如图3所示。图4示出了 Flip描述过程的示意图。如图4所示,在步骤S410,当设备B通过网络接收到从设备A传输的数据包后,对所接收的数据包进行解包处理。将解包处理后得到的数据拷贝到副表面(步骤S420),然后将屏幕更新通知发送给窗口处理函数(步骤S430)。在发送完屏幕更新通知后,网络端进行到步骤S470,等待新的网络数据。窗口处理函数在收到屏幕更新通知(步骤S440)后,调用Flip函数,将副表面切换到前台(步骤S450),成为主表面显示在屏幕上。接着,在步骤S460,窗口处理函数阻塞,等待新的屏幕更新通知。在接收到新的屏幕更新通知后,返回到步骤S440。与此同时,原来的主表面切换为副表面隐藏起来,由此完成了从一帧到另一帧的过渡。整个描绘过程如图4所示。然而,上述采用Flip方式的描绘方法存在下述问题。首先,该描绘方法采用基于消息通知的异步描绘模式,增大了描绘过程的开销,不能应对性能要求严格的场合。在异步描绘模式中,为了保护描绘过程的上下文环境,在进入描绘过程时需要加锁,退出描绘过程时需要解锁,锁操作属于读写内存的操作,相比于一般的CPU操作来说需要多花费近300倍的时间,这种慢速操作对于快速描绘这种性能要求严格的场合来说是不适用的。其次,在该描绘方法中,采用两个表面进行轮换。在这种情况下,当屏幕只发生了部分变化时会出现问题。如图5所示。假设设备A上将依次显示帧A、帧B和帧C,其中帧A和帧B相比,整个画面发生了变化,而帧B和帧C相比仅变化了一小片区域,即图中的粉红色区域。在时刻I时,设备A显示帧A,并将帧A通过网络传输给设备B,设备B接收到帧A后将其拷贝到副表面,然后发送屏幕更新请求,整个过程如图5A所示。在时刻2时,设备B已经发生了主副表面切换,将前一时刻的副表面的切换为主表面,并显示在屏幕上。此时,设备A正显示帧B,并将帧B传输到设备B,设备B接收到数据后将其拷贝至副表面,如图所示。在时刻3时,同样,设备B的主副表面发生了切换,原来的副表面成为现在的主表面并显示在屏幕上。此时,设备A的屏幕只有一小部分发生了变化,为了节省网络带宽,设备A仅发送发生了变化的区域,即图中的粉红色区域。设备B在接收到该区域后,将其传输到副表面,如图5C所示。这样,在时刻4时,副表面中的内容将显示到屏幕上,如图所示。由此可见,设备A上的帧C传输到设备B上后显示,已经变成了帧A和粉红色变化区域的组合,出现了错误。 此外,在上述描绘方法中,调用Flip函数来切换两个表面,该函数的作用是进行主副表面的切换。该切换需要消耗一定的时间。另外,在画面局部变化的情况下,仍需要进行整个表面的切换,也造成了一定的资源浪费。
技术实现思路
鉴于上述,本专利技术的目的在于提供一种网络数据驱动的单表面描绘方法及装置,其能够在接收到网络数据后,使用同步描述机制来在单个表面上实现两个显示设置之间的屏幕镜像。根据本专利技术的一个方面,提供了一种屏幕描绘方法,用于实现在第一显示设备上显示第二显示设备上的屏幕显示内容,所述方法包括通过网络接收从第二显示设备发送的屏幕显示内容数据,所述屏幕显示内容数据是第二显示设备的屏幕显示区域中发生变化的屏幕区域的屏幕显示内容的数据;在接收到所述屏幕显示内容数据后,利用所接收的屏幕显示内容数据覆盖第一显示设备的存储装置中存储的全屏显示内容数据副本中的对应区域,所述存储装置中存储的全屏显示内容数据副本是在接收到所述屏幕显示内容数据之前在第一显示设备的屏幕上当前显示的全屏屏幕显示内容数据的副本;以及将经过覆盖处理后得到的全屏显示内容数据副本绘制到第一显示设备的主表面上进行显示,所述主表面是所述第一显示设备获取的唯一显示表面。在上述方面的一个或多个示例中,所述屏幕显示内容数据仅仅在第二显示设备上的屏幕显示内容发生变化时发送。在上述方面的一个或多个示例中,将经过覆盖处理后得到的全屏显示内容数据副本绘制到所述主表面上进行显示时,仅仅绘制与所述屏幕显示内容数据对应的屏幕区域。在上述方面的一个或多个示例中,所述第二显示设备的数据发送速率根据所述第一显示设备的用于接收数据的缓冲器的实际剩余缓冲大小进行调整。根据本专利技术的另一方面,提供了一种屏幕描绘装置,用于实现在第一显示设备上显示第二显示设备上的屏幕显示数据,所述屏幕描绘装置包括接收单元,用于通过网络接收从第二显示设备发送的屏幕显示内容数据,所述屏幕显示内容数据是第二显示设备的屏幕显示区域中发生变化的屏幕区域的屏幕显示内容的数据;存储单元,用于存储全屏显示内容数据副本,所述全屏显示内容数据副本是在接收到所述屏幕显示内容数据之前在所述第一显示设备上当前显示的全屏屏幕显示内容数据的副本;覆盖单元,用于在接收到所述屏幕显示内容数据后,利用所接收的屏幕显示内容数据覆盖所述存储单元中存储的全屏显示内容数据副本中的对应区域;以及屏幕绘制单元,用于将经过覆盖处理后的全屏显示数据副本绘制在所述主表面上进行显示,所述主表面是所述第一显示设备获取的唯一显示表面。在上 述方面的一个或多个示例中,所述屏幕显示内容数据仅仅在第二显示设备上的屏幕显示发生变化时发送。在上述方面的一个或多个示例中,将经过覆盖处理后得到的全屏显示内容数据副本绘制到所述主表面上进行显示时,仅仅绘制与所述屏幕显示内容数据对应的屏幕区域。在上述方面的一个或多个示例中,所述第二显示设备的数据发送速率根据所述第一显示设备的用于接收数据的缓冲器的实际剩余缓冲大小进行调整。根据本专利技术的另一方面,提供了一种屏幕描绘方法,用于实现在第一显示设备上显示第二显示设备上的屏幕显示内容,所述方法包括通过网络接收从第二显示本文档来自技高网
...

【技术保护点】
一种屏幕描绘方法,用于实现在第一显示设备上显示第二显示设备上的屏幕显示内容,所述方法包括:通过网络接收从第二显示设备发送的屏幕显示内容数据,所述屏幕显示内容数据是第二显示设备的屏幕显示区域中发生变化的屏幕区域的屏幕显示内容的数据;在接收到所述屏幕显示内容数据后,利用所接收的屏幕显示内容数据覆盖第一显示设备的存储装置中存储的全屏显示内容数据副本中的对应区域,所述存储装置中存储的全屏显示内容数据副本是在接收到所述屏幕显示内容数据之前在第一显示设备的屏幕上当前显示的全屏屏幕显示内容数据的副本;以及将经过覆盖处理后得到的全屏显示内容数据副本绘制到第一显示设备的主表面上进行显示,所述主表面是所述第一显示设备获取的唯一显示表面。

【技术特征摘要】
1.一种屏幕描绘方法,用于实现在第一显示设备上显示第二显示设备上的屏幕显示内容,所述方法包括 通过网络接收从第二显示设备发送的屏幕显示内容数据,所述屏幕显示内容数据是第二显示设备的屏幕显示区域中发生变化的屏幕区域的屏幕显示内容的数据; 在接收到所述屏幕显示内容数据后,利用所接收的屏幕显示内容数据覆盖第一显示设备的存储装置中存储的全屏显示内容数据副本中的对应区域,所述存储装置中存储的全屏显示内容数据副本是在接收到所述屏幕显示内容数据之前在第一显示设备的屏幕上当前显示的全屏屏幕显示内容数据的副本;以及 将经过覆盖处理后得到的全屏显示内容数据副本绘制到第一显示设备的主表面上进行显示,所述主表面是所述第一显示设备获取的唯一显示表面。2.如权利要求I所述的屏幕描绘方法,其中,所述屏幕显示内容数据仅仅在第二显示设备上的屏幕显示内容发生变化时发送。3.如权利要求I所述的屏幕描述方法,其中,将经过覆盖处理后得到的全屏显示内容数据副本绘制到所述主表面上进行显示时,仅仅绘制与所述屏幕显示内容数据对应的屏幕区域。4.如权利要求I所述的屏幕描绘方法,其中,所述第二显示设备的数据发送速率根据所述第一显示设备的用于接收数据的缓冲器的实际剩余缓冲大小进行调整。5.一种屏幕描绘装置,用于实现在第一显示设备上显示第二显示设备上的屏幕显示数据,所述屏幕描绘装置包括 接收单元,用于通过网络接收从第二显示设备发送的屏幕显示内容数据,所述屏幕显示内容数据是第二显示设备的屏幕显示区域中发生变化的屏幕区域的屏幕显示内容的数据; 存储单元,用于存储全屏显示内容数据副本,所述全屏显示内容数据副本是在接收到所述屏幕显示内容数据之前在所述第一显示设备上当前显示的全屏屏幕显示内容数据的副本; 覆盖单元,用于在接收到所述屏幕显示内容数据后,利用所接收的屏幕显示内容数据覆盖所述存储单元中存储的全屏显示内容数据副本中的对应区域;以及 屏幕绘制单元,用于将经过覆盖处理后的全屏显示数据副本绘制在所述主表面上进行显示,所述主表面是所述第一显示设备获取的唯一显示表面。6.如权利要求5所述的屏幕描述装置,其中,所述屏幕显示内容数据仅仅在第二显示设备上的屏幕显示发生变化时发送。7...

【专利技术属性】
技术研发人员:聂山人杨明张翼包蕊
申请(专利权)人:东软集团股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1