《屏幕描述方法及装置.pdf》由会员分享,可在线阅读,更多相关《屏幕描述方法及装置.pdf(19页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102929570 A (43)申请公布日 2013.02.13 CN 102929570 A *CN102929570A* (21)申请号 201210364763.5 (22)申请日 2012.09.26 G06F 3/14(2006.01) G09G 5/00(2006.01) (71)申请人 东软集团股份有限公司 地址 110179 辽宁省沈阳市浑南新区新秀街 2 号 (72)发明人 聂山人 杨明 张翼 包蕊 (74)专利代理机构 北京鸿元知识产权代理有限 公司 11327 代理人 林锦辉 (54) 发明名称 屏幕描述方法及装置 (57) 摘要 本发明提供了一。
2、种屏幕描绘方法, 用于实现 在第一显示设备上显示第二显示设备上的屏幕显 示内容, 所述方法包括 : 通过网络接收从第二显 示设备发送的屏幕显示内容数据, 所述屏幕显示 内容数据是第二显示设备的屏幕显示区域中发生 变化的屏幕区域的屏幕显示内容的数据 ; 利用所 接收的屏幕显示内容数据覆盖第一显示设备的存 储装置中存储的全屏显示内容数据副本中的对应 区域 ; 以及将经过覆盖处理后得到的全屏显示内 容数据副本绘制到第一显示设备的主表面上进行 显示。利用本发明的方法, 可以降低对显存的要 求, 减少了描绘过程中的 Flip 等操作, 同时避免 出现双表面之间画面需要协调匹配的问题。 (51)Int.C。
3、l. 权利要求书 2 页 说明书 8 页 附图 8 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 8 页 附图 8 页 1/2 页 2 1. 一种屏幕描绘方法, 用于实现在第一显示设备上显示第二显示设备上的屏幕显示内 容, 所述方法包括 : 通过网络接收从第二显示设备发送的屏幕显示内容数据, 所述屏幕显示内容数据是第 二显示设备的屏幕显示区域中发生变化的屏幕区域的屏幕显示内容的数据 ; 在接收到所述屏幕显示内容数据后, 利用所接收的屏幕显示内容数据覆盖第一显示设 备的存储装置中存储的全屏显示内容数据副本中的对应区域, 所述存储装置中存储的全屏 显示。
4、内容数据副本是在接收到所述屏幕显示内容数据之前在第一显示设备的屏幕上当前 显示的全屏屏幕显示内容数据的副本 ; 以及 将经过覆盖处理后得到的全屏显示内容数据副本绘制到第一显示设备的主表面上进 行显示, 所述主表面是所述第一显示设备获取的唯一显示表面。 2. 如权利要求 1 所述的屏幕描绘方法, 其中, 所述屏幕显示内容数据仅仅在第二显示 设备上的屏幕显示内容发生变化时发送。 3. 如权利要求 1 所述的屏幕描述方法, 其中, 将经过覆盖处理后得到的全屏显示内容 数据副本绘制到所述主表面上进行显示时, 仅仅绘制与所述屏幕显示内容数据对应的屏幕 区域。 4. 如权利要求 1 所述的屏幕描绘方法, 。
5、其中, 所述第二显示设备的数据发送速率根据 所述第一显示设备的用于接收数据的缓冲器的实际剩余缓冲大小进行调整。 5. 一种屏幕描绘装置, 用于实现在第一显示设备上显示第二显示设备上的屏幕显示数 据, 所述屏幕描绘装置包括 : 接收单元, 用于通过网络接收从第二显示设备发送的屏幕显示内容数据, 所述屏幕显 示内容数据是第二显示设备的屏幕显示区域中发生变化的屏幕区域的屏幕显示内容的数 据 ; 存储单元, 用于存储全屏显示内容数据副本, 所述全屏显示内容数据副本是在接收到 所述屏幕显示内容数据之前在所述第一显示设备上当前显示的全屏屏幕显示内容数据的 副本 ; 覆盖单元, 用于在接收到所述屏幕显示内容。
6、数据后, 利用所接收的屏幕显示内容数据 覆盖所述存储单元中存储的全屏显示内容数据副本中的对应区域 ; 以及 屏幕绘制单元, 用于将经过覆盖处理后的全屏显示数据副本绘制在所述主表面上进行 显示, 所述主表面是所述第一显示设备获取的唯一显示表面。 6. 如权利要求 5 所述的屏幕描述装置, 其中, 所述屏幕显示内容数据仅仅在第二显示 设备上的屏幕显示发生变化时发送。 7. 如权利要求 5 所述的屏幕描述装置, 其中, 将经过覆盖处理后得到的全屏显示内容 数据副本绘制到所述主表面上进行显示时, 仅仅绘制与所述屏幕显示内容数据对应的屏幕 区域。 8. 如权利要求 5 所述的屏幕描绘装置, 其中, 所述。
7、第二显示设备的数据发送速率根据 所述第一显示设备的用于接收数据的缓冲器的实际剩余缓冲大小进行调整。 9. 一种屏幕描绘方法, 用于实现在第一显示设备上显示第二显示设备上的屏幕显示内 容, 所述方法包括 : 通过网络接收从第二显示设备发送的屏幕显示内容数据, 所述第二显示设备的屏幕显 权 利 要 求 书 CN 102929570 A 2 2/2 页 3 示区域被分块为多个分块区域, 并且所述屏幕显示内容数据是第二显示设备的屏幕显示区 域中发生变化的分块区域的屏幕显示内容的数据 ; 在接收到所述屏幕显示内容数据后, 利用所接收的屏幕显示内容数据覆盖第一显示设 备的存储装置中存储的全屏显示内容数据副。
8、本中的对应分块区域, 所述全屏显示内容数据 副本是在接收到所述屏幕显示内容数据之前在所述第一显示设备的屏幕上当前显示的全 屏屏幕显示内容数据的副本 ; 获取与所述屏幕显示内容数据对应的所有对应分块区域的并集 ; 将该并集对应的屏幕区域绘制到所述第一显示设备的主表面上进行显示, 所述主表面 是所述第一显示设备获取的唯一显示表面。 10. 一种屏幕描绘装置, 用于实现在第一显示设备上显示第二显示设备上的屏幕显示 内容, 所述屏幕描述装置包括 : 接收单元, 用于通过网络接收从第二显示设备发送的屏幕显示内容数据, 所述第二显 示设备的屏幕显示区域被分块为多个分块区域, 并且所述屏幕显示内容数据是第二。
9、显示设 备的屏幕显示区域中的发生变化的分块区域的屏幕显示内容的数据 ; 存储单元, 用于存储全屏显示内容数据副本, 所述全屏显示内容数据副本是在接收到 所述屏幕显示内容数据之前在所述第一显示设备上当前显示的全屏屏幕显示内容数据的 副本 ; 覆盖单元, 用于在接收到所述屏幕显示内容数据后, 利用所接收的屏幕显示内容数据 覆盖所述存储单元中存储的全屏显示内容数据副本中的对应分块区域 ; 并集获取单元, 用于获取与所述屏幕显示内容数据对应的所有对应分块区域的并集 ; 屏幕绘制单元, 用于将该并集对应的屏幕区域绘制到所述第一显示设备的主表面上进 行显示, 所述主表面是所述第一显示设备获取的唯一显示表面。
10、。 权 利 要 求 书 CN 102929570 A 3 1/8 页 4 屏幕描述方法及装置 技术领域 0001 本发明涉及屏幕镜像技术, 更为具体地, 涉及一种屏幕描述方法及装置。 背景技术 0002 屏幕镜像技术是指将某个设备 (比如, 智能手机) 的屏幕显示内容传输到另一个设 备 (如个人电脑) 上进行显示的技术。图 1 示出了屏幕镜像技术的一个应用的示意图。如图 1 所示, 智能手机上的屏幕显示内容可以通过 WiFi 传输到个人电脑的显示器上进行显示。 0003 图 2 示出了屏幕镜像技术的业务流程的流程图。如图 2 所示, 在该业务流程中, 首 先, 在设备 A 上获取屏幕显示内容并。
11、封装为数据包。接着, 通过网络传输 (无线传输和 / 或 有线传输, 通常是无线传输) , 将封装后的数据包传输到设备 B。然后, 在设备 B 接收到数据 包后, 对所接收的数据包进行解包处理, 并且在设备B的显示屏幕上描绘并显示设备A上所 显示的屏幕内容。 0004 依据不同的平台, 上述各个步骤的实现各不相同。为了提高描绘性能, 在设备 B 上 进行的 “描绘” 步骤在 Windows 平台下一般通过基于 DirectDraw 进行描绘来实现。在现有 技术中, 为了实现动画效果, 一般采用 Flip 方式进行描绘。Flip 的工作原理类似于电影胶 片的放映过程。胶片的每一页是一个静态的图片。
12、。当把这些胶片快速切换并依次投放到屏 幕上时, 就产生了动画。Flip 正是利用该原理来显示动画。具体而言, Flip 描绘方法主要 依靠两个表面之间的连续切换来显示动画。通常的做法是 : 申请两个表面 (Surface), 一个 为主表面 (Primary Surface), 该表面上存储的内容即为设备 A 的屏幕上显示的内容 ; 另一 个为副表面(Back Surface), 作为主表面的一个备用表面。 通过不断地更新副表面的内容, 并和主表面进行切换产生效果, 如图 3 所示。 0005 图4示出了Flip描述过程的示意图。 如图4所示, 在步骤S410, 当设备B通过网络 接收到从设备。
13、 A 传输的数据包后, 对所接收的数据包进行解包处理。将解包处理后得到的 数据拷贝到副表面 (步骤 S420) , 然后将屏幕更新通 知发送给窗口处理函数 (步骤 S430) 。 在发送完屏幕更新通知后, 网络端进行到步骤S470, 等待新的网络数据。 窗口处理函数在收 到屏幕更新通知 (步骤 S440) 后, 调用 Flip 函数, 将副表面切换到前台 (步骤 S450) , 成为主 表面显示在屏幕上。接着, 在步骤 S460, 窗口处理函数阻塞, 等待新的屏幕更新通知。在接 收到新的屏幕更新通知后, 返回到步骤S440。 与此同时, 原来的主表面切换为副表面隐藏起 来, 由此完成了从一帧到。
14、另一帧的过渡。整个描绘过程如图 4 所示。 0006 然而, 上述采用 Flip 方式的描绘方法存在下述问题。 0007 首先, 该描绘方法采用基于消息通知的异步描绘模式, 增大了描绘过程的开销, 不 能应对性能要求严格的场合。 在异步描绘模式中, 为了保护描绘过程的上下文环境, 在进入 描绘过程时需要加锁, 退出描绘过程时需要解锁, 锁操作属于读写内存的操作, 相比于一般 的 CPU 操作来说需要多花费近 300 倍的时间, 这种慢速操作对于快速描绘这种性能要求严 格的场合来说是不适用的。 0008 其次, 在该描绘方法中, 采用两个表面进行轮换。在这种情况下, 当屏幕只发生了 说 明 书 。
15、CN 102929570 A 4 2/8 页 5 部分变化时会出现问题。如图 5 所示。假设设备 A 上将依次显示帧 A、 帧 B 和帧 C, 其中帧 A 和帧 B 相比, 整个画面发生了变化, 而帧 B 和帧 C 相比仅变化了一小片区域, 即图中的粉红 色区域。在时刻 1 时, 设备 A 显示帧 A, 并将帧 A 通过网络传输给设备 B, 设备 B 接收到帧 A 后将其拷贝到副表面, 然后发送屏幕更新请求, 整个过程如图 5A 所示。在时刻 2 时, 设备 B 已经发生了主副表面切换, 将前一时刻的副表面的切换为主表面, 并显示在屏幕上。此时, 设备A正显示帧B, 并将帧B传输到设备B, 设。
16、备B接收到数据后将其拷贝至副表面, 如图5D 所示。在时刻 3 时, 同样, 设备 B 的主副表面发生了切换, 原来的副表面成为现在的主表面 并显示在屏幕上。此时, 设备 A 的屏幕只有一小部分发生了变化, 为了节省网络带宽, 设备 A 仅发送发生了变化的区域, 即图中的粉红色区域。设备 B 在接收到该区域后, 将其传输到 副表面, 如图 5C 所示。这样, 在时刻 4 时, 副表面中的内容将显示到屏幕上, 如图 5D 所示。 由此可见, 设备 A 上的帧 C 传输到设备 B 上后显示, 已经变成了帧 A 和粉红色变化区域的组 合, 出现了错误。 0009 此外, 在上述描绘方法中, 调用 F。
17、lip 函数来切换两个表面, 该函数的作 用是进行 主副表面的切换。该切换需要消耗一定的时间。另外, 在画面局部变化的情况下, 仍需要进 行整个表面的切换, 也造成了一定的资源浪费。 发明内容 0010 鉴于上述, 本发明的目的在于提供一种网络数据驱动的单表面描绘方法及装置, 其能够在接收到网络数据后, 使用同步描述机制来在单个表面上实现两个显示设置之间的 屏幕镜像。 0011 根据本发明的一个方面, 提供了一种屏幕描绘方法, 用于实现在第一显示设备上 显示第二显示设备上的屏幕显示内容, 所述方法包括 : 通过网络接收从第二显示设备发送 的屏幕显示内容数据, 所述屏幕显示内容数据是第二显示设备。
18、的屏幕显示区域中发生变化 的屏幕区域的屏幕显示内容的数据 ; 在接收到所述屏幕显示内容数据后, 利用所接收的屏 幕显示内容数据覆盖第一显示设备的存储装置中存储的全屏显示内容数据副本中的对应 区域, 所述存储装置中存储的全屏显示内容数据副本是在接收到所述屏幕显示内容数据之 前在第一显示设备的屏幕上当前显示的全屏屏幕显示内容数据的副本 ; 以及将经过覆盖处 理后得到的全屏显示内容数据副本绘制到第一显示设备的主表面上进行显示, 所述主表面 是所述第一显示设备获取的唯一显示表面。 0012 在上述方面的一个或多个示例中, 所述屏幕显示内容数据仅仅在第二显示设备上 的屏幕显示内容发生变化时发送。 001。
19、3 在上述方面的一个或多个示例中, 将经过覆盖处理后得到的全屏显示内容数据副 本绘制到所述主表面上进行显示时, 仅仅绘制与所述屏幕显示内容数据对应的屏幕区域。 0014 在上述方面的一个或多个示例中, 所述第二显示设备的数据发送速率根据所述第 一显示设备的用于接收数据的缓冲器的实际剩余缓冲大小进行调整。 0015 根据本发明的另一方面, 提供了一种屏幕描绘装置, 用于实现在第一显示设备上 显示第二显示设备上的屏幕显示数据, 所述屏幕描绘装置包括 : 接收单元, 用于通过网络接 收从第二显示设备发送的屏幕显示内容数据, 所述屏幕显示内容数据是第二显示设备的屏 幕显示区域中发生变化的屏幕区域的屏幕。
20、显示内容的数据 ; 存储单元, 用于存储全屏显示 说 明 书 CN 102929570 A 5 3/8 页 6 内容数据副本, 所述全 屏显示内容数据副本是在接收到所述屏幕显示内容数据之前在所 述第一显示设备上当前显示的全屏屏幕显示内容数据的副本 ; 覆盖单元, 用于在接收到所 述屏幕显示内容数据后, 利用所接收的屏幕显示内容数据覆盖所述存储单元中存储的全屏 显示内容数据副本中的对应区域 ; 以及屏幕绘制单元, 用于将经过覆盖处理后的全屏显示 数据副本绘制在所述主表面上进行显示, 所述主表面是所述第一显示设备获取的唯一显示 表面。 0016 在上述方面的一个或多个示例中, 所述屏幕显示内容数据。
21、仅仅在第二显示设备上 的屏幕显示发生变化时发送。 0017 在上述方面的一个或多个示例中, 将经过覆盖处理后得到的全屏显示内容数据副 本绘制到所述主表面上进行显示时, 仅仅绘制与所述屏幕显示内容数据对应的屏幕区域。 0018 在上述方面的一个或多个示例中, 所述第二显示设备的数据发送速率根据所述第 一显示设备的用于接收数据的缓冲器的实际剩余缓冲大小进行调整。 0019 根据本发明的另一方面, 提供了一种屏幕描绘方法, 用于实现在第一显示设备上 显示第二显示设备上的屏幕显示内容, 所述方法包括 : 通过网络接收从第二显示设备发送 的屏幕显示内容数据, 所述第二显示设备的屏幕显示区域被分块为多个分。
22、块区域, 并且所 述屏幕显示内容数据是第二显示设备的屏幕显示区域中发生变化的分块区域的屏幕显示 内容的数据 ; 在接收到所述屏幕显示内容数据后, 利用所接收的屏幕显示内容数据覆盖第 一显示设备的存储装置中存储的全屏显示内容数据副本中的对应分块区域, 所述全屏显示 内容数据副本是在接收到所述屏幕显示内容数据之前在所述第一显示设备的屏幕上当前 显示的全屏屏幕显示内容数据的副本 ; 获取与所述屏幕显示内容数据对应的所有对应分块 区域的并集 ; 以及将该并集对应的屏幕区域绘制到所述第一显示设备的主表面上进行显 示, 所述主表面是所述第一显示设备获取的唯一显示表面。 0020 根据本发明的另一方面, 提。
23、供了一种屏幕描绘装置, 用于实现在第一显示设备上 显示第二显示设备上的屏幕显示内容, 所述屏幕描述装置包括 : 接收单元, 用于通过网络接 收从第二显示设备发送的屏幕显示内容数据, 所述第二显示设备的屏幕显示区域被分块为 多个分块区域, 并且所述屏幕显示内 容数据是第二显示设备的屏幕显示区域中的发生变 化的分块区域的屏幕显示内容的数据 ; 存储单元, 用于存储全屏显示内容数据副本, 所述全 屏显示内容数据副本是在接收到所述屏幕显示内容数据之前在所述第一显示设备上当前 显示的全屏屏幕显示内容数据的副本 ; 覆盖单元, 用于在接收到所述屏幕显示内容数据后, 利用所接收的屏幕显示内容数据覆盖所述存储。
24、单元中存储的全屏显示内容数据副本中的 对应分块区域 ; 并集获取单元, 用于获取与所述屏幕显示内容数据对应的所有对应分块区 域的并集 ; 以及屏幕绘制单元, 用于将该并集对应的屏幕区域绘制到所述第一显示设备的 主表面上进行显示, 所述主表面是所述第一显示设备获取的唯一显示表面。 0021 利用上述单表面描绘方法及装置, 通过利用单表面进行描绘, 可以降低了对显存 的要求, 减少了描绘过程中的 Flip 等操作, 同时避免了双表面之间画面需要协调匹配的问 题。 0022 此外, 在本发明中, 采用网络驱动直接描绘, 避免使用消息触发, 简化了描绘流程, 也减少了对操作系统消息机制的依赖。 002。
25、3 此外, 在本发明中, 通过在第一显示设备的存储装置中存储在接收到发生变化的 说 明 书 CN 102929570 A 6 4/8 页 7 屏幕显示数据之前当前显示的屏幕的全屏显示数据副本, 并且在接收到发生变化的屏幕 显示数据之后, 利用该发生变化的屏幕显示数据覆盖所存储的全屏显示数据副本的对应区 域, 然后将覆盖后的全屏显示数据副本绘制在第一显示设备的主表面, 可以避免单表面描 绘出现马赛克的现象。 0024 为了实现上述以及相关目的, 本发明的一个或多个方面包括后面将详细说明并在 权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。 然而, 这些方面指示的仅仅。
26、是可使用本发明的原理的各种方式中的一些方式。 此外, 本发明 旨在包括所有这些方面以及它们的等同物。 附图说明 0025 根据下述参照附图进行的详细描述, 本发明的上述和其他目的、 特征和优点将变 得更加显而易见。在附图中 : 0026 图 1 示出了屏幕镜像技术的一个应用的示意图 ; 0027 图 2 示出了屏幕镜像技术的业务流程的流程图 ; 0028 图 3 示出了 Flip 描绘方法中的两个表面之间的连续切换过程的示意图 ; 0029 图 4 示出了 Flip 描述过程的示意图 ; 0030 图 5A-5D 示出当屏幕只发生部分变化时 Flip 描述方法中的各个过程的效果图 ; 0031。
27、 图 6 示出了根据本发明的第一实施例的屏幕描绘方法的流程图 ; 0032 图 7A 示出了当发送端只发送发生变化的区域时不进行马赛克消除处理时的示意 图 ; 0033 图 7B 示出了当发送端只发送发生变化的区域时进行马赛克消除处理时的示意 图 ; 0034 图 8 示出了通过调节接收端窗口大小的值来调节发送端发送数据的速率的流程 图 ; 0035 图 9 示出了根据本发明的第一实施例的屏幕描绘装置的方框示意图 ; 0036 图 10 示出了根据本发明的第二实施例的屏幕描绘方法的流程图 ; 和 0037 图 11 示出了根据本发明的第二实施例的屏幕描绘装置的方框示意图。 0038 在所有附图。
28、中相同的标号指示相似或相应的特征或功能。 具体实施方式 0039 下面描述本公开的各个方面。应该明白的是, 本文的教导可以以多种多样形式具 体体现, 并且在本文中公开的任何具体结构、 功能或两者仅仅是代表性的。基于本文的教 导, 本领域技术人员应该明白的是, 本文所公开的一个方面可以独立于任何其它方面实现, 并且这些方面中的两个或多个方面可以按照各种方式组合。例如, 可以使用本文所阐述的 任何数目的方面, 实现装置或实践方法。 另外, 可以使用其它结构、 功能、 或除了本文所阐述 的一个或多个方面之外或不是本文所阐述的一个或多个方面的结构和功能, 实现这种装置 或实践这种方法。此外, 本文所描。
29、述的任何方面可以包括权利要求的至少一个元素。 0040 下面将参照图 6 到图 11 描述本发明的各个实施例。 0041 第一实施例 说 明 书 CN 102929570 A 7 5/8 页 8 0042 图 6 示出了根据本发明的第一实施例的网络数据驱动的单表面描绘方法的流程 图, 该方法用于实现在第一显示设备上显示第二显示设备上的屏幕显 示数据, 并且该方法 由第一显示设备执行。 0043 如图6所示, 在步骤S610, 通过网络接收从第二显示设备发送的屏幕显示数据。 这 里, 所述屏幕显示内容数据是第二显示设备的屏幕显示区域中发生变化的屏幕区域的屏幕 显示内容的数据。 所述网络可以是无线。
30、网络或有线网络。 所述无线网络可以是WiFi、 蓝牙、 2G 通信网络、 3G 通信网络或者其它无线通信网络。所述有线网络可以是电信网络或有线电 视网络等。 0044 在接收到所述屏幕显示数据后, 在步骤 S620, 在接收到所述屏幕显示内容数据后, 利用所接收的屏幕显示内容数据覆盖第一显示设备的存储装置中存储的全屏显示内容数 据副本中的对应区域, 所述存储装置中存储的全屏显示内容数据副本是在接收到所述屏幕 显示内容数据之前在第一显示设备的屏幕上当前显示的全屏屏幕显示内容数据的副本。 如 果第一显示设备的屏幕上当前显示的全屏屏幕显示内容数据被更新, 则存储装置中存储的 副本也将更新。 0045。
31、 然后, 在步骤 S630, 将经过覆盖处理后得到的全屏显示内容数据副本绘制到第一 显示设备的主表面上进行显示, 从而在第一显示设备上显示第二显示设备上的屏幕显示数 据。所述主表面是第一显示设备获取的唯一显示表面。 0046 当屏幕变化范围很小时, 为了节省带宽, 发送端 (即, 第二显示设备) 只会发送发生 变化的区域, 这样, 在接收端 (即, 第一显示设备) 就有可能接收到属于同一帧的很多小矩 形。 0047 在这种情况下, 如果每次接收到一个小矩形即进行描绘, 则描绘过程受网络速率 的影响, 加上描绘过程是一个很快速的过程, 则将出现某些更新区域已经刷新, 而另一些更 新区域来不及刷新。
32、的情况。 这种处理方式也称为不进行马赛克消除处理的处理方式。 图7A 示出了当发送端只发送发生变化的区域时不进行马赛克消除处理时的示意图。如图 7A 所 示, 当在设备 A(即, 第二显示设备) 上的区域 1、 区域 2、 区域 3、 区域 4 和区域 5 中发生变化 时, 在设备 B(即, 第一显示设备) 上仅仅描绘出区域 1 和区域 2。 0048 而在图 6 中示出的处理过程中, 在完成在第一显示设备上绘制并显示全屏显示数 据后, 在第一显示设备的存储装置中保留该全屏显示数据的一个副本 (下文中称为全屏显 示数据副本) 。这样, 在接收到从第二显示设备发送的多个更新区域屏幕显示数据后, 。
33、无论 是一次同时接收到还是多次接收到, 都 在接收到更新区域屏幕显示数据后, 利用所接收的 更新区域屏幕显示数据覆盖全屏显示数据副本的相应区域。 例如, 在一次同时接收到时, 将 所有数据覆盖在相应区域上。 在多次接收到时, 每次接收到更新区域屏幕显示数据时, 都将 所接收的更新屏幕显示数据覆盖在上次经过覆盖处理后得到的全屏显示数据副本上。例 如, 当接收到第一个更新区域屏幕显示数据时, 将该第一个更新区域屏幕显示数据覆盖在 存储装置中存储的全屏显示数据副本上, 从而得到经过第一次覆盖处理后的全屏显示数据 副本。在接收到第二个更新区域屏幕显示数据时, 将该第二个屏幕显示数据覆盖在经过第 一次覆。
34、盖处理后的到的全屏显示数据副本上。依次类推, 直到完成所有更新区域屏幕显示 数据的覆盖, 由此得到完成所有更新的全屏显示数据副本。这样, 只需要进行一次描绘操 作, 就可以实现在第一显示设备上显示第二显示设备上的屏幕显示数据, 从而消除了部分 说 明 书 CN 102929570 A 8 6/8 页 9 描绘将形成马赛克的现象。 0049 图 7B 示出了当发送端只发送发生变化的区域时进行马赛克消除处理时的示意 图。当在设备 A(即, 第二显示设备) 上的区域 1、 区域 2、 区域 3、 区域 4 和区域 5 中发生变 化时, 在设备 B(即, 第一显示设备) 上描绘出整个全屏显示数据。 0。
35、050 如上参照图 6、 图 7A 和 7B 对根据本发明的第一实施例的屏幕描述方法进行了描 述。上述描述仅仅是例示性的, 而不是限制性的。还可以对第一实施例进行各种变型。 0051 在该实施例的一个变型中, 所述屏幕显示数据仅仅在所述第二显示设备上的屏幕 显示发生变化时发送。 0052 在该实施例的另一变型中, 在将经过覆盖处理后得到的全屏显示内容数据副本绘 制到所述主表面上进行显示时, 仅仅绘制与所述屏幕显示内容数据对应的屏幕区域。 0053 此外, 在该实施例的另一变型中, 从第二显示设备发送的屏幕显示数据可以是经 过打包处理的网络数据包括。 在这种情况下, 根据本发明的屏幕描绘方法还可。
36、以包括 : 在接 收到所述网络数据包后, 对所接收的网络数据包进行解包处理, 以得到第二显示设备上的 屏幕显示数据。 0054 此外, 在该实施例的另一变型中, 在利用网络数据驱动屏幕进行描绘时, 如果第一 显示设备上的描绘操作未完成, 则第一显示设备不会从网络端读取 新的数据。 在这种情况 下, 所述第二显示设备的数据发送速率可以根据所述第一显示设备的用于接收数据的缓冲 器的实际剩余缓冲大小进行调整。 0055 图 8 示出了通过调节接收端窗口大小的值来调节发送端发送数据的速率的流程 图, 所述接收端窗口大小即是第一显示设备的用于接收数据的缓冲器的实际剩余缓冲大 小。 例如, 假设在某一时刻。
37、, 第一显示设备处在屏幕描绘阶段, 此时没有从网络侧读取数据。 当网络数据源源不断地到达时, TCP 的缓冲区会因为数据的到达而逐渐占满, 即剩余缓冲区 大小逐渐变小。在这种情况下, 发送端会利用 TCP 协议中 “窗口大小” 数据位来通知发送端, 窗口大小的值表示缓冲区还能接收的数据量的多少。 0056 从图 8 中可以看出, 数据没有被取出, 则窗口大小逐渐变小, 发送端的发送速率也 逐渐变小, 当窗口大小变为 0 后, 则暂停数据发送。直到接收端描绘操作完成, 将网络缓冲 区数据取走, 则接收端又有新的缓冲空间可以用于接收数据。 因此, 接收端更新自己的窗口 大小, 通知发送端自己能够接。
38、收的数据量, 这样, 发送端又开始向接收端发送数据。 由此, 通 过 TCP 窗口大小调节机制, 可以将数据的接收速率调整到和屏幕描绘的速率一致, 从而实 现速率匹配。 0057 图 9 示出了根据本发明的第一实施例的屏幕描绘装置 900 的方框示意图。如图 9 所示, 屏幕描绘装置 900 可以包括接收单元 910、 覆盖单元 920、 存储单元 930 以及屏幕绘制 单元 940。 0058 接收单元 910 用于通过网络接收从第二显示设备发送的屏幕显示内容数据, 所述 屏幕显示内容数据是第二显示设备的屏幕显示区域中发生变化的屏幕区域的屏幕显示内 容的数据。 0059 存储单元 930 用。
39、于存储全屏显示内容数据副本, 所述全屏显示内容数据副本是在 接收到所述屏幕显示内容数据之前在所述第一显示设备上当前显示的全屏屏幕显示内容 数据的副本。 说 明 书 CN 102929570 A 9 7/8 页 10 0060 覆盖单元 920 用于在接收到所述屏幕显示内容数据后, 利用所接收的屏幕显示内 容数据覆盖所述存储单元中存储的全屏显示内容数据副本中的对应区域。 0061 屏幕绘制单元 940 用于将经过覆盖处理后的全屏显示数据副本绘制在所述主表 面上进行显示, 所述主表面是所述第一显示设备获取的唯一显示表面。 0062 此外, 在本发明的其它实施例中, 还可以对屏幕描绘装置 900 进。
40、行变型。例如, 在 从第二显示设备发送的屏幕显示数据是经过打包处理的网络数据包时, 所述屏幕描绘装置 还可以包括解包单元 (未示出) , 用于在接收到所述网络数据包后, 对所接收的网络数据包 进行解包处理, 以得到第二显示设备上的屏幕显示数据。 0063 在根据本发明的第一实施例中, 利用同步描绘机制替换异步描绘机制, 降低了消 息传递、 描绘过程需要防止竞争等额外消耗, 提高了描绘性能。 并且仅使用一个表面进行描 绘, 避免了使用双表面描绘带来的问题。最后, 由于采用同步描绘机制, 使得网络侧可以感 知描绘速度的快慢, 通过 TCP 窗口大小调节机制调整发送端发送数据的速率, 从而匹配描 绘。
41、速率和网络传输速率。 0064 在该实施例中, 使用单表面进行描绘。该方法是不停地在同一页上做快速的重绘 覆盖工作。 双表面也需要不断地做重绘覆盖操作, 只不过将该操作放到副表面进行, 等副表 面的准备工作做好后, 再将整页切换到前台显示。当重绘速度很快时, 双表面描绘的这种 工作机制就显得很累赘。而且, 在描绘数据的来源是网络端时, 相对于描绘速率而言, 网络 传输的速率一般较慢。 同时, 为了使屏幕内容经过网络传输后再显示的时间延迟最小, 接收 到网络数据后应立即进行描绘操作。 因此需要考虑减少数据从网络接口流向显存的时间消 耗。根据本发明的单表面描绘不仅可以减少 Flip 操作, 同时也。
42、降低了对显存的要求。而 且, 由于只需要一个主表面, 与双表面描绘相比节省了一个表面的数据存储空间, 特别适用 于嵌入式设备等显存不大的场合。 0065 此外, 在该实施例中, 使用同步描绘机制取代异步描绘机制。如上所述, 在本发明 中, 利用网络数据驱动单表面描绘, 也就是说, 在从第二显示设备接收到网络数据后, 就驱 动第一显示设备进行屏幕绘制, 这是一种同步描绘机制。异步描绘机制需要依靠消息机制 来通知描绘操作的进行, 因此依赖于操作系统的消息实现机制。 而使用同步描绘机制, 在存 在屏幕描绘需要时直接进行描绘, 而不依靠消息传递来进行告知。 因此, 同步操作节省了一 定的时间。 006。
43、6 此外, 在该实施例中, 通过利用单表面描绘装置中的存储单元存储在接收到第二 显示设备上的发生变化的屏幕显示数据之前在第一显示设备上当前 显示的屏幕的全屏显 示数据副本, 并且在接收到发生变化的屏幕显示数据后, 首先对所存储的全屏显示数据副 本进行覆盖处理, 然后利用覆盖处理后的全屏显示数据副本进行绘制, 由此只需要做一次 描绘操作, 从而消除了部分描绘将形成马赛克的现象。 0067 此外, 在该实施例中, 利用网络数据驱动屏幕刷新。 由于发送端设备仅在屏幕显示 内容有变化时, 才会触发数据包的发送。即, 静止的画面将不产生有效数据包 (有效数据包 是指包含了屏幕帧信息的数据包) , 因此接。
44、收端也不需要进行屏幕刷新。同样, 接收端收到 的任何有效数据包, 都表明发送端设备的屏幕数据帧发生了变化, 相应地, 接收端的屏幕也 需要进行刷新。正是网络数据接收与屏幕刷新两者之间的这种依赖关系, 使得接收到网络 数据的行为驱动屏幕刷新变得合理。 网络数据驱动屏幕刷新可以避免不必要的屏幕刷新操 说 明 书 CN 102929570 A 10 8/8 页 11 作。 0068 此外, 在该实施例中, 根据所述第一显示设备的用于接收数据的缓冲器的实际剩 余缓冲大小进行调整, 从而将数据的接收速率调整到和屏幕描绘的速率一致, 由此实现速 率匹配。 0069 第二实施例 0070 图 10 示出了根。
45、据本发明的第二实施例的屏幕描绘方法的流程图。 0071 如图10所示, 首先, 在步骤S1010中, 通过网络接收从第二显示设备发送的屏幕显 示内容数据, 所述第二显示设备的屏幕显示区域被分块为多个分块区域, 并且所述屏幕显 示内容数据是第二显示设备的屏幕显示区域中发生变化的分块区域的屏幕显示内容的数 据。 0072 在接收到所述屏幕显示内容数据后, 在步骤 S1020, 利用所接收的屏幕显示内容数 据覆盖第一显示设备的存储装置中存储的全屏显示内容数据副本中的对应分块区域, 所述 全屏显示内容数据副本是在接收到所述屏幕显示内容数据之前在所述第一显示设备的屏 幕上当前显示的全屏屏幕显示内容数据的。
46、副本。 0073 完成上述覆盖处理后, 在步骤 S1030, 获取与所述屏幕显示内容数据对应的所有对 应分块区域的并集。然后, 在步骤 S1040, 将该并集对应的屏幕区域绘制到所述第一显示设 备的主表面上进行显示, 所述主表面是所述第一显示 设备获取的唯一显示表面。 0074 图 11 示出了根据本发明的第二实施例的屏幕描绘装置 1100 的方框示意图。如图 11 所示, 屏幕描绘装置 1100 包括接收单元 1110、 覆盖单元 1120、 存储单元 1130、 并集获取 单元 1140 以及屏幕绘制单元 1150。 0075 接收单元 1110 用于通过网络接收从第二显示设备发送的屏幕显。
47、示内容数据, 所 述第二显示设备的屏幕显示区域被分块为多个分块区域, 并且所述屏幕显示内容数据是第 二显示设备的屏幕显示区域中的发生变化的分块区域的屏幕显示内容的数据。 0076 存储单元 1130 用于存储全屏显示内容数据副本, 所述全屏显示内容数据副本是 在接收到所述屏幕显示内容数据之前在所述第一显示设备上当前显示的全屏屏幕显示内 容数据的副本。覆盖单元 1120 用于在接收到所述屏幕显示内容数据后, 利用所接收的屏幕 显示内容数据覆盖所述存储单元中存储的全屏显示内容数据副本中的对应分块区域。 0077 并集获取单元 1140 用于获取与所述屏幕显示内容数据对应的所有对应分块区域 的并集。。
48、屏幕绘制单元 1150 用于将该并集对应的屏幕区域绘制到所述第一显示设备的主 表面上进行显示, 所述主表面是所述第一显示设备获取的唯一显示表面。 0078 根据第二实施例的屏幕描绘方法, 同样可以实现第一实施例的技术效果。 0079 尽管前面公开的内容示出了本发明的示例性实施例, 但是应当注意, 在不背离权 利要求限定的本发明的范围的前提下, 可以进行多种改变和修改。根据这里描述的发明实 施例的方法权利要求的功能、 步骤和 / 或动作不需以任何特定顺序执行。此外, 尽管本发明 的元素可以以个体形式描述或要求, 但是也可以设想多个, 除非明确限制为单数。 0080 虽然如上参照图描述了根据本发明。
49、的各个实施例进行了描述, 但是本领域技术人 员应当理解, 对上述本发明所提出的各个实施例, 还可以在不脱离本发明内容的基础上做 出各种改进。因此, 本发明的保护范围应当由所附的权利要求书的内容确定。 说 明 书 CN 102929570 A 11 1/8 页 12 图 1 图 2 说 明 书 附 图 CN 102929570 A 12 2/8 页 13 图 3 图 4 说 明 书 附 图 CN 102929570 A 13 3/8 页 14 图 5A 图 5B 说 明 书 附 图 CN 102929570 A 14 4/8 页 15 图 5C 图 5D 说 明 书 附 图 CN 102929570 A 15 5/8 页 16 图 6 图 7A 说 明 书 附 图 CN 102929570 A 16 6/8 页 17 图 7B 图 8 说 明 书 附 图 CN 102929570 A 17 7/8 页 18 图 9 图 10 说 明 书 附 图 C。