屏幕映射以及用于屏幕内容编码的基于标准的渐进式编解码器的制造方法_2

文档序号:9621419阅读:来源:国知局
远程设备120。在各示例实施例中,视频编码器110可应用基于标 准的编解码器,诸如基于MPEG的编解码器。在特定示例中,视频编码器110可以是采用诸 如H. 264编解码器的一个或多个编解码器的MPEG编码器。其它类型的基于标准的编码方 案或编解码器也可被使用。
[0035] 如图1所示,经编码的屏幕内容可通过计算系统102的通信接口 114被传送到远 程系统120,该通信接口 114将经编码的屏幕内容经由通信连接116(例如,互联网)提供到 远程系统120的通信接口 134。通常,如以下所讨论的,例如归因于在形成通信连接116的 网络上发生的附加的流量,通信连接116可具有不可预测的可用带宽。因此,传送经编码的 屏幕内容的现有系统使用渐进式方案来这样做,其中这样的屏幕内容的初始传输提供那个 屏幕内容的低质量(例如,低分辨率)版本,并且随时间渐进式改善(即,随着屏幕保持不 变且带宽保持可用)。
[0036] 在本发明的上下文中,在某些实施例中,远程设备120包括主可编程电路124,诸 如CPU以及可编程电路125。在示例实施例中,专用可编程电路125是基于标准的解码器, 诸如设计来编码或解码具有特定标准(例如H. 264)的内容的MPEG解码器。在特定实施例 中,远程设备120对应于这样的客户端设备:其相对于计算设备102本地或远程,且用作可 用于接收屏幕内容的客户端设备。
[0037] 此外,远程设备包括存储器126和显示器128。存储器126包括远程桌面客户机端 130和显示缓冲器132。远程桌面客户端130可以是,例如,配置用于接收并解码接收自计 算设备102的屏幕内容的软件组件。在某些实施例中,远程桌面客户端130被配置来接收 并处理屏幕内容以供在显示器128上呈现远程屏幕。在某些实施例中,屏幕内容可以,根据 华盛顿州雷蒙德市的微软公司定义的远程桌面协议来传送。显示缓冲器132在存储器中将 要被显示在显示器128上的屏幕内容的当前副本存储为例如位图,其中各区域在需要更新 时可被选择或替代。
[0038] 如以下进一步讨论的,尽管现有系统利用用于屏幕内容的渐进式改善的专用压缩 编解码器,在本发明的上下文中,基于标准的编解码器(诸如基于MPEG编解码器)可被用 于这样的渐进式编码。屏幕映射结合了定义屏幕的各区域的特性(诸如其对于改善的可用 性,以及具体图像转变的存在、运动(和这样的运动的程度)、或其它特殊效果或呈现特性) 的元数据。因此,使用基于标准的编解码器允许接收设备,诸如设备120,将一般计算复杂的 解码过程卸载到专用可编程电路125,而不是需要使用主可编程电路124。注意到,由于图 像的解码可能是计算密集的,将此任务卸载到专用可编程电路125是有利的;但是其它类 型的内容,诸如文本内容可使用简单(非计算密集)编解码器来编码,并且因此可使用主可 编程电路124以相对高效的方式来解码。
[0039] 现在参考图2,示出根据一示例实施例的向远程设备递送屏幕内容的方法200的 流程图。方法200可例如,由各种类型的计算设备中的任意(诸如图1的计算设备102或 以下图12 - 14的计算设备)来执行。
[0040] 在所示的实施例中,在操作202,屏幕(例如,在特定时间点上的当前显示)被分段 成多个屏幕片段。定义屏幕内容或编码单元的子集的这些屏幕片段,可被单独分析、分类、 并使用多个类型的编码过程之一来编码。在示例实施例中,计算设备可以在运行RDP应用 时分析经分段的屏幕。
[0041] 注意,在不例实施例中,屏幕被分段成的片段数量可变。在一个不例实施例中,屏 幕可被分成16X16的屏幕区域阵列,每个屏幕区域对应于一个编码单元。在进一步的示例 实施例中,64 X 64阵列可被使用。在某种程度上,每个编码单元的尺寸将因变于所使用的片 段的数量以及屏幕内容针对其来进行处理的显示器的可操作分辨率。
[0042] 在操作204,编码单元的每一个编码单元被分析,并且其内容被分类。在示例实施 例中,包括与一区域相关联并且在一特定时间的屏幕内容的每个编码单元,可被评估以确 定它是否包含图像(例如,呈现)数据、视频数据、或文本数据。编码单元可随后相应地被 分类,从而允许屏幕内容的对应的子部分按类型分类,并可选地被高速缓存。注意,屏幕内 容的不同部分能够被不同地分类。在操作206从编码单元的集合生成屏幕映射,其对应于 定义特定屏幕的编码单元的逻辑安排和分类。屏幕映射可包括,针对每一个编码单元,与那 个编码单元相关联的屏幕内容以及与那个编码单元相关联的屏幕元数据,屏幕元数据可包 括关于屏幕内容的分类的信息以及关于那个屏幕内容如何已改变或正在改变的信息。在屏 幕映射内可用的示例元数据在图6A-B中示出,以下进一步详细讨论。
[0043] 基于与每个编码单元相关联的屏幕内容的分类,在操作208,那个编码单元的屏幕 内容根据与屏幕内容的各种类型相关联的编解码器来被编码。例如,基于标准(例如,基 于MPEG)的渐进式编解码器可被用于图像数据,而基于标准的直接编解码器可被用于视频 数据且文本编解码器可被用于文本数据。也可以使用相关于其它分类的类型的其它编解码 器。在操作210,经编码的屏幕内容随后被发送到在远程设备处的一个或多个期望的接收 方,作为经编码的编码单元的一部分。
[0044] 如上所述,作为编码过程的一部分,特定编码单元的低质量的经编码的版本可被 准备,其可被快速传送到远程系统。例如,基于观察到的带宽限制,并为了确保该编码单元 可被快速传送到远程系统,情况可能如此。因此,操作212确定屏幕映射中的编码单元是否 可被改善。此评估可例如基于与编码单元相关联的元数据来被作出。在示例实施例中,包 括在定义屏幕映射的与编码单元相关联的一部分的元数据中的质量比特可被检查,以检测 经编码的屏幕内容的质量是否在最高级别,或是否可以有某种改善。如果可有改善,操作回 到编码操作208,其执行对编码单元中屏幕内容的更高质量版本的进一步编码,并且其随后 在操作210中作为比特流被传送到远程系统。操作210还可包括区域信息到远程系统的传 输,例如,以允许远程系统在编码的各类型中洞悉以供路由到合适的对应处理系统,并确定 要被更新的显示的特定区域。如果编码单元中无一具有其质量可被改善的屏幕内容,则关 于那个特定帧的操作已完成。因此,操作流返回操作204,其中下一帧的内容被分析和分类 供后续编码。
[0045] 图3是用于将屏幕内容递送到远程设备的系统300的逻辑框图,其包括远程桌面 协议管道及相关联的基于标准的渐进式编码安排。系统300可以是,例如,实现在用于将屏 幕数据,诸如通过使用RDP和相关联的基于标准(诸如MPEG)的编码器(和编解码器),递 送到远程系统的计算系统中。
[0046] 如图3所示,屏幕帧通过捕捉组件302来捕捉,并被提供给RDP管道304。RDP管 道304通常输出经分类的,遵循RDP的屏幕数据和相关联的屏幕映射,供一个或多个相关联 的编码器来使用。在所示出的实施例中,RDP管道304包括差异/增量处理器306、高速缓 存处理器308,以及运动处理器310。差异/增量处理器306通常分析所捕捉的屏幕内容, 并且特别是确定每个编码单兀的当前帧和先前帧之间是否存在差异。尚速缓存处理器308 通常确定相同内容先前是否已经被高速缓存在高速缓存字典中,或将以其他方式不需要被 重新编码供传输(即,已经存在于远程设备的屏幕缓冲器中)。运动处理器310确定对于一 个编码单元中或各编码单元中特定对象而言全局运动是否已经发生,并且在这样的实施例 中可检测,屏幕内容中描绘的特定对象的垂直和水平移动,使得移动的对象不需要被重新 编码并发送到远程系统,而是关于其位置被更新。
[0047] 在处理器306 - 310之后,将编码单元中的基于上面的讨论不能排除在编码和/ 或重传之外(例如,未发生差异、先前高速缓存、或现有对象仅移动)的屏幕内容提供给分 类组件312,分类组件312将编码单元分类成具有视频类型314、图像类型316,或文本类型 318。如所示的,RDP管道304将各种类型的经分类的屏幕内容从编码单元传递到编码器, 每个编码器提供基于不同编解码器的编码。在所示的实施例中,具有视频类型314的编码 单元被传递到MPEG编码器320、具体图像类型316的编码单元被传递到渐进式MPEG编码 器322、而具有文本类型318的屏幕内容的编码单元被传递到应用文本编解码器的文本编 码器324。每个编码器的输出被返回到RDP管道304,其将经编码的屏幕数据从编码单元的 每一个编码单元路由到复用器和输出组件326,其定制(order)总体比特流并将编码单元 作为比特流传送到远程系统供显示。在示例实施例中,经编码(经压缩)屏幕数据还可被 例如高速缓存在历史字典或其它类型的屏幕数据高速缓存安排中。
[0048] 在某些实施例中,输出组件326随着比特流或结合比特流向远程系统递送区域信 息,其允许远程系统(例如,客户端设备)在要用经更新和经编码的屏幕内容的比特流打补 丁的各区域之间进行区分。这可包括,例如,来自MPEG编码器320、322的经编码矩形,以及 来自文本编码器324的经编码矩形。
[0049] 现在参考图4,根据示例实施例,解说通过如图3所示的系统的屏幕内容的行进的 逻辑数据流图400被示出。逻辑数据流图400被描绘为与编码单元一起使用,其需要基于 标准(例如,基于MPEG)的渐进式编码,并且如此可代表流经图3的系统的一部分的数据。
[0050] 如在数据流图400中所示,RDP管道304包括RDP调度器402,其协调屏幕映射生 成器404和编解码器预处理器406。RDP管道304还包括编解码器后处理器408。屏幕映射 生成器404生成可被提供给编码器
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1