用于向客户端提供图形用户界面的服务器,以及客户端的制作方法_3

文档序号:9872772阅读:来源:国知局
务器703执行应用705,并且包括编码器707、虚拟机(virtual machine,VM)709和远程用户界面(remote userinterfaCe,RUI)服务器711。编码器101可包括视频服务器701和编码器707。检测器103可执行应用705,并且可包括虚拟机(virtual machine,VM)709和远程用户界面(remote userinterface,RUI)服务器711 ο
[0098]编码器707等编码器101可使用MPEG TS视频⑶I流等提供表示图形用户界面元素的元素形状的视频数据。编码器101还可使用MPEG TS视频流等提供表示图形用户界面的视频元素的其它视频数据。远程用户界面(remote user interfaCe,RUI)服务器711等检测器103可使用文本远程过程调用(remote procedure call,RPC)等提供表示图形用户界面元素的元素文本的元素文本数据。文本远程过程调用(remote procedure call,RPC)可开始元素文本在客户端200处的呈现。
[0099]客户端200包括视频解码器713、其它视频解码器715、文本呈现器717和远程用户界面(remote user interface,RUI)客户端719。组合器203可包括视频解码器713、其它视频解码器715、文本呈现器717和远程用户界面(remote user interface,RUI)客户端719。客户端200可为终端或机顶盒(set top box,STB)。客户端200的通信接口可将远程调用(remote call,RC)事件指示符等请求信号传输给服务器100。
[0100]在客户端200本地执行一部分呈现的混合方法是下文中描述的方法。可通过基于使用图形硬件加速器等在客户端200处增加本地呈现来运用双流架构,S卩,使用其它视频数据和视频数据的架构,其它视频数据包括视频元素的已压缩音视频流等,视频数据包括图形用户界面元素的已压缩音视频流。
[0101]MPEG TS视频GUI流等视频数据可与MPEG TS视频流等其它视频数据使用不同的编解码器,但可使用来自同一编解码器家族的编解码器,因为其可用于视频PIP(Picture inPicture,画中画)和/或视频PBP(Picture by Picture,画旁画)。这可能是大部分操控器使用的功能。因此,MPEG TS视频GUI流等视频数据可重用编解码器,并且可避免在机顶盒(settop box,STB)片上系统(system on a chip,SoC)等客户端200处使用更多特定技术以解码MPEG TS视频GUI流等视频数据。
[0102]下文示例性地描述了图形用户界面(graphical user interface,⑶I)中的菜单渐显和/或渐隐。可存在改进图形用户界面在客户端200上的呈现的若干选项。首先,可应用通过内插进行的失帧计算。其次,例如来自图形用户界面(graphical user interface,GUI)引擎应用编程接口(applicat1n programming interface ,API)的服务器 100处的“移至” (“moveto”)信息可用来提供给编码器101以及绕过运动估计。这两种方法可用于减少服务器100的负载,但例如如果视频解码机制在基于一种基于运动图像专家组(movingpicture experts group,MPEG)的编解码器时可能无法准确匹配像素,则可维持该视频解码机制。第三,可使用硬件传图函数将菜单等图形用户界面元素的图片以例如30fps的速度移动。挑战可在于,如果定期使用该方法,则可使用完整图形用户界面(graphical userinterface,GUI)呈现引擎。
[0103]如果该方法用于渐显和/或渐隐等,可能希望检测器103等检测与服务器100上的图形用户界面元素有关的变化。为了在客户端200处调用远程应用编程接口(applicat1nprogramming interface,API),检测器103等可阻拦本地应用编程接口(applicat1nprogramming interface,API)调用,但语义可能较复杂,例如将图形块从一个位置复制到另一个位置。在服务器100处使用图形用户界面(graphical user interface,GUI)呈现引擎解决零客户端技术的局限性可能无法与资源约束服务器100共同起作用。因此,可使用例如客户端200的组合器203中的完整本地图形用户界面(graphical user interface ,GUI)引擎。可减少图形用户界面(graphical user interface,⑶I)视频流等视频数据和纯视频流等其它视频数据之间的差异以在混合模式下使用零客户端技术。
[0104]视频数据的例如由编码器101使用的编码比特率可小于其它视频数据的编码比特率。这还可涉及服务器100上的编码负载。事实上,该结果可起因于编码期间的可消除低频分量的离散余弦转换(discrete cosine transform,DCT)量化。在图形用户界面元素中,可移除元素文本,这通常产生高频分量。客户端200处的文本呈现器等组合器203可能不提供完整图形能力。
[0105]从一般角度来看,检测器103可在服务器100中分析应用705等应用以何种方式生成图形用户界面元素,且图形用户界面可被分割为基本图形用户界面元素以实现在服务器100和客户端200处的处理负载最小的高性能富图形用户界面。可提供图形用户界面元素的应用中的性能,例如应用705中的性能,可涉及可用性和响应性两者。高性能富图形用户界面可向客户端200处的用户操作提供恰当、有用且直观的显示以及快速且顺利的响应。
[0106]换言之,可使用两个机制在服务器100和客户端200之间分配图形用户界面的提供和/或呈现。一个机制涉及使用MPEG TS视频GUI流等视频数据以提供和/或呈现图形用户界面元素的易于编码的一部分,这可发生在服务器100上。另一机制涉及组合器203等使用元素文本数据,例如使用典型图形用户界面引擎,以提供和/或呈现图形用户界面的像素精确的一部分,这可发生在客户端200上。
[0107]图形用户界面的像素精确的部分在客户端200处的本地提供和/或呈现的一个可能实施方式可基于客户端200上的硬件加速机制和元素文本数据的矢量图形表示,以便基于编码器101使用的矢量图形表示定义集来确定例如指示文本字体的纯文本数据和布局数据。矢量图形可从用于定义线条、形状和曲线的公式创建,其中形状可通过移动称为节点的点或绘制点来编辑。矢量图形可缩放或调整为任何分辨率。
[0108]更详细地,可通过由组合器203等客户端200将0penVG(0pen Vector Graphics,开放矢量图形)用作硬件加速技术以及将如W3C(World Wide Web Consortium,万维网联盟)等定义的SVG(Scalable Vector Graphics,可缩放矢量图形)用于矢量图形表示来实施元素文本的提供和/或呈现。EGL(Embedded System Graphics Library,嵌入式系统图形库)本地平台图形界面是用于图形资源管理的界面可移植层,并且可在OpenGL ES(0penGraphics Library for Embedded System,嵌入式系统的开放图形库)或0penVG(0penVector Graphics,开放矢量图形)等呈现应用编程接口(applicat1n programminginterface,API)和底层本地平台GPU(Graphics Processing Unit,图形处理单元)之间运作。EGL(Embedded System Graphics Library,嵌入式系统图形库)可由各个硬件制造商提供且可嵌入芯片组中。0penVG(0pen Vector Graphics,开放矢量图形)是跨平台应用编程接口(applicat1n programming interface,API),为矢量图形库提供了低层硬件加速接口。上述应用编程接口可由服务器100和/或客户端200使用。
[0109]在一项实施例中,元素文本数据和/或图像数据可以W3C(World Wide WebConsortium,万维网联盟)SVG(Scalable Vector Graphics,可缩放矢量图形)方式编码并可根据协议格式化,该协议可管理客户端200处的元素文本的布局、服务器100和客户端200之间的通信以及由组合器203等客户端200解码的不同图形用户界面元素的编排和效果。例如,以下富图形用户界面元素效果可用于在服务器100处具有最小处理的使用0penVG(0penVector Graphics,开放矢量图形)的以及使用硬件加速将处理传送给客户端200的元素文本:如用于地图和导航的反走样、路径行程和填充、轮廓字体、行程参数、图像效果、样本动画和/或绘制。
[0110]对于元素文本,可假设可在客户端200上,例如在组合器203中,利用适当的矢量字体。例如客户端200的组合器203中的W3C(World Wide Web Consortium,万维网联盟)SVG(Scalable Vector Graphics,可缩放矢量图形)客户端可将元素文本提供和/或呈现到使用该矢量字体的0penVG(0pen Vector Graphics,开放矢量图形)API (Appl icat1nprogramming interface,应用编程接口)中,且可例如基于CSS(Cascading Style Sheet,级联样式表)使用 0penVG(0pen Vector Graphics,开放矢量图形)API (Appl icat 1nprogramming interface,应用编程接口)添加样式层。可将元素文本移动到使用OpenVG(Open Vector Graphics,开放矢量图形)和硬件加速的文本的路径上,且可使用图像渐隐效果。许多其它图形用户界面元素效果会消耗服务器100上的编码资源,例如编码器101,这些效果在通过完整零客户端等提供和/或呈现时可使用,例如路径、混合、滤波器或阿尔法掩码处理。为了减轻服务器100的处理负载,组合器203等可以使用客户端200上的硬件加速在客户端200中直接执行这类函数。
[0111]此外,服务器100和/或客户端200可使用CSS(Cascading Style Sheet,级联样式表)XSS是用于描述写入标记语言中的文件的外观和格式的样式表语言。CSS可设计用于使文件内容与包括布局、颜色和字体等元素在内的文件呈现分离。通过使用CSS语言来提供和/或呈现客户端200上的元素文本,可在不将元素文本数据编码为图像数据的情况下实现主动富图形用户界面文本能力。
[0112]此外,如果在W3C(WorldWide Web Consortium,万维网联盟)CSS(CascadingStyle Sheet,级联样式表)内使用SVG(Scalable Vector Graphics,可缩放矢量图形),可使用标准布局标记语言,该语言可通过使用0penVG(0pen Vector Graphics,开放矢量图形)等在具有标准互联网浏览器、低CPU(Central Processing Unit,中央处理器)能力和适当的硬件加速的客户端200上提供和/或呈现。例如,组合器203内等的特定分量可包括OpenVG EGL(0pen Vector Graphics for Embedded Systems,嵌入式系统的开放矢量图形)和标准HTML5(Hypertext Markup Language 5,超文本标记语言5)互联网浏览器。然而,一些分量可能不会提供足够的CPU(Central Processing Unit,中央处理器)功率以在使用高分辨率呈现时提供富图形用户界面体验。通过使用标准SVG( Scalable VectorGraphics,可缩放矢量图形)和W3C(World Wide Web Consortium,万维网联盟)标记语言,在客户端200处使用现有硬件和软件的标准可能是可行的。
[0113]图8所示为根据实施例的用于由服务器100通过通信网络向客户端200提供图形用户界面的通信系统300的图。服务器100包括编码器101和检测器103。结合图1描述的通信接口 105未示出。客户端200包括组合器203。结合图2描述的通信接口 201未示出。服务器100组成如结合图1所描述的服务器100的可能实施方式。客户端200组成如结合图2所描述的客户端200的可能实施方式。本图基于矢量图形在可能实施方式的上下文内示出了图7中描述的元素的功能的更多细节。
[0114]服务器100包括视频服务器801和图形用户界面(graphical user interface,GUI)服务器803。图形用户界面(graphical user interface,GUI)服务器803包括虚拟机(virtual machine,VM) 805。虚拟机(virtual machine,VM )805 执行应用 807。虚拟机(virtual machine,VM)805包括虚拟表面809、覆盖管理器811、用户界面(user interface,UI)视频编码器813、文本编码器815和图像编码器817。编码器101可包括视频服务器801、覆盖管理器811、用户界面(user interface,UI)视频编码器813、文本编码器815和图像编码器817。检测器103可执行应用807,且可包括虚拟表面809。引入了可等同于虚拟帧缓冲器的虚拟表面809。虚拟表面809或虚拟帧缓冲器可表示存储器。覆盖管理器811可由远程用户界面(remote user interface,RUI)服务器组成,该服务器负责提供关于可如何在客户端200处向用户呈现视频层的规范。
[0115]客户端200可为机顶盒(set top box,STB)。客户端200包括零客户端(zeroclient,ZC)远程用户界面(remote user interface,RUI)客户端819、SVG(W3C)模块821、OpenVG模块823、0penMAX模块825、设备控制器EGL(Embedded System Graphics Library,嵌入式系统图形库)模块827、视频解码器831以及其它视频解码器833。客户端200可实现为硬件设备829ApenVG模块823包括OpenVG API 835、0penVG引擎837以及OpenVG实用模块839。组合器203可包括零客户端(zero client,ZC)远程用户界面(re mote userinterface,RUI)客户端 819、SVG(W3C)模块 821、0penVG 模块823、0penMAX 模块825、设备控制器EGL(Embedde
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1