[发明专利]屏幕描述方法及装置有效
| 申请号: | 201210364763.5 | 申请日: | 2012-09-26 |
| 公开(公告)号: | CN102929570A | 公开(公告)日: | 2013-02-13 |
| 发明(设计)人: | 聂山人;杨明;张翼;包蕊 | 申请(专利权)人: | 东软集团股份有限公司 |
| 主分类号: | G06F3/14 | 分类号: | G06F3/14;G09G5/00 |
| 代理公司: | 北京鸿元知识产权代理有限公司 11327 | 代理人: | 林锦辉 |
| 地址: | 110179 辽*** | 国省代码: | 辽宁;21 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 屏幕 描述 方法 装置 | ||
技术领域
本发明涉及屏幕镜像技术,更为具体地,涉及一种屏幕描述方法及装置。
背景技术
屏幕镜像技术是指将某个设备(比如,智能手机)的屏幕显示内容传输到另一个设备(如个人电脑)上进行显示的技术。图1示出了屏幕镜像技术的一个应用的示意图。如图1所示,智能手机上的屏幕显示内容可以通过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相比仅变化了一小片区域,即图中的粉红色区域。在时刻1时,设备A显示帧A,并将帧A通过网络传输给设备B,设备B接收到帧A后将其拷贝到副表面,然后发送屏幕更新请求,整个过程如图5A所示。在时刻2时,设备B已经发生了主副表面切换,将前一时刻的副表面的切换为主表面,并显示在屏幕上。此时,设备A正显示帧B,并将帧B传输到设备B,设备B接收到数据后将其拷贝至副表面,如图5D所示。在时刻3时,同样,设备B的主副表面发生了切换,原来的副表面成为现在的主表面并显示在屏幕上。此时,设备A的屏幕只有一小部分发生了变化,为了节省网络带宽,设备A仅发送发生了变化的区域,即图中的粉红色区域。设备B在接收到该区域后,将其传输到副表面,如图5C所示。这样,在时刻4时,副表面中的内容将显示到屏幕上,如图5D所示。由此可见,设备A上的帧C传输到设备B上后显示,已经变成了帧A和粉红色变化区域的组合,出现了错误。
此外,在上述描绘方法中,调用Flip函数来切换两个表面,该函数的作 用是进行主副表面的切换。该切换需要消耗一定的时间。另外,在画面局部变化的情况下,仍需要进行整个表面的切换,也造成了一定的资源浪费。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东软集团股份有限公司,未经东软集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210364763.5/2.html,转载请声明来源钻瓜专利网。





