CN104272285A - 渲染多个远程图形应用程序 - Google Patents

渲染多个远程图形应用程序 Download PDF

Info

Publication number
CN104272285A
CN104272285A CN201280072811.1A CN201280072811A CN104272285A CN 104272285 A CN104272285 A CN 104272285A CN 201280072811 A CN201280072811 A CN 201280072811A CN 104272285 A CN104272285 A CN 104272285A
Authority
CN
China
Prior art keywords
client
agency
server
data
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201280072811.1A
Other languages
English (en)
Other versions
CN104272285B (zh
Inventor
C·赵
T·赵
J·C·韦斯特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN104272285A publication Critical patent/CN104272285A/zh
Application granted granted Critical
Publication of CN104272285B publication Critical patent/CN104272285B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6547Transmission by server directed to the client comprising parameters, e.g. for client setup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

在一些实施例中,可以通过使瘦客户端将数据缩减至对本地服务器使用适当的尺寸来促进远程图形渲染,所述瘦客户端将原始图形数据发送至本地服务器用于渲染。在一些实施例中,这避免了存储对于本地服务器无用的不需要的数据,因为本地服务器上的实际显示尺寸小于传输的原始数据许可的显示尺寸。

Description

渲染多个远程图形应用程序
背景技术
本文一般涉及渲染图形应用程序。
通常,当图形应用程序从瘦客户端在远程服务器上渲染内容时,该服务器负责与对于客户端渲染图形相关的所有任务。因此,通常客户端可以将要渲染的图形发送至服务器。具体而言,客户端可以将原始RGB数据和坐标发送至服务器。
然而,客户端发送至服务器的数据可能不必要地消耗图形存储器。对此一个原因在于,对于由服务器使用,被发送的数据没有被适当缩放。因此,服务器可能花费资源来存储以如下方式缩放的图形数据:许多存储的数据将永远不会以任何方式使用。当服务器上的实际的显示尺寸小于从客户端发送的数据导致的显示尺寸时尤为如此。
附图说明
使用下面的附图说明一些实施例:
图1是根据一个实施例的具有与耦接至电视屏幕的服务器通信的两个瘦客户端的一个实施例的概要图;
图2是根据本发明的一个实施例的在服务器上实现的序列的流程图;
图3是根据一个实施例的在客户端上实现的序列的流程图;
图4是用于一个实施例的系统描述;以及
图5是一个实施例的正视图。
具体实施方式
在一些实施例中,可以通过使将原始图形数据发送至本地服务器用于渲染的瘦客户端将数据缩减至适于本地服务器使用的尺寸,来促进远程图形渲染。在一些实施例中,这避免了存储对于本地服务器无用的不需要的数据,因为本地服务器上的实际显示尺寸小于传输的原始数据许可的显示尺寸。
在一些实施例中,该缩减可以通过使本地服务器通知远程瘦客户端缩减数据来完成。然后,发送的数据可以与显示在本地服务器上的实际尺寸保持一致。
在一个实施例中,在将命令发送至服务器用于渲染之前,代理可以由服务器植入客户端的图形库,以缩减应用程序接口(API)调用中的原始色彩空间(诸如RGB数据)和坐标。当渲染多个应用程序时,服务器可以要求每个代理和每个客户端缩减数据,以与屏幕上的显示尺寸保持一致。在一些实施例中,这可以节省服务器上的图形存储器和图形处理单元工作负荷。
因此,参考图1,在一些实施例中,在系统10中,两个瘦客户端12a和12b可以将色彩空间数据(诸如原始RGB数据)发送至本地服务器20,以在显示屏30上进行渲染。其他实施例可以涉及不同数量的瘦客户端。
每个客户端可以包含图形应用程序14a或14b以及数据缩减代理16a和16b。在一个实施例中,每个数据缩减代理可以由本地服务器20植入每个客户端上。在其他实施例中,各种数据缩减代理可以设置在每个客户端,并且对于给定的本地服务器适当的数据缩减代理可以由来自本地服务器的消息进行选择。并且在又一个示例中,数据缩减代理可以从另一个服务器、网站或者由该服务器指定的数据库下载。
每个客户端还包含图形渲染请求方18a或18b,图形渲染请求方18a或18b与本地服务器20上的调度器26通信。
在一些实施例中,本地服务器可以是片上系统(SOC),但是也可以考虑其他实施例。在一个实施例中,本地服务器20可以包含本地用户界面组成应用程序(LUCA)22,LUCA 22包含图形组成监听器(GCL)24。
服务器20中的调度器与电视显示屏30所关联的图形库28通信。还可以使用其他显示屏。
数据缩减代理16a或16b拦截瘦客户端中的API调用,并将命令发送至本地服务器用于渲染。当应用程序组成对于本地屏幕30为远程的应用程序时,图形组成监听器从本地用户界面组成应用程序监控图形API调用。如果组成应用程序试图调整对于用户界面组成的远程应用程序的大小,那么图形组成层将对其进行拦截,并将目标尺寸发送至数据缩减代理。
代理将瘦客户端中的图形API调用的所有相关参数进行缩减,以与新的目标尺寸保持一致,并将该信息保存在客户端中以再使用。组成应用程序仅需要分配足够存储缩减的应用程序面的存储器即可,因为缩减在由瘦客户端传输至服务器前已经完成。这可以减小被用于在组成应用程序中用来渲染的图形处理工作负荷的存储器。
数据缩减代理可以驻存在图形API库(未示出)与请求方之间。请求方可以用在客户端上,用于将图形API命令发送至服务器上的调度器。调度器对命令进行解析,并调用图形库28用于渲染。
当数据缩减代理从图形组成层接收到目标尺寸时,数据缩减代理对新的尺寸进行比较。如果调用了任何调整大小,那么数据缩减代理将数据缩减至新的尺寸。然后,代理将缩减的数据向下传递至请求方,将其以API命令发送至远程服务器。
例如,在DirectFB中,CreateSurface要求面(surface)的尺寸。在请求方将API命令发送至图形组成层之前,数据缩减代理拦截该API,并改变尺寸以允许为目标尺寸。另一个API示例是锁定(lock)。该函数被用于将原始RGB数据写入到面中。在以图形命令发送出去之前,代理拦截该API,并对原始数据适用缩减。
然后,数据缩减代理将新的目标尺寸和缩减的数据保存在本地客户端中。作为结果,在一些实施例中,代理能够再使用缩减的数据。
图形组成监听器可以以与组成应用程序22相同的处理运行。可以通过网络从远程应用程序执行图形API调用。当组成应用程序试图组成远程应用程序时,组成监听器拦截尺寸和位置相关的图形API调用,以得到期待显示在本地屏幕30上的应用程序的实际尺寸。代替进行调整大小其自身,组成监听器将目标尺寸发送至瘦客户端上的数据缩减代理。数据缩减代理改变包含位置和尺寸的输入参数,并且缩减API调用中的图像数据,以与期待的尺寸保持一致,以便组成代理能够直接将其组成。
参考图2,在服务器20上实现的序列40的流程图可以使用软件、固件和/或硬件来实现该序列。在软件和固件实施例中,该序列可以由存储在一个或多个非暂时计算机可读介质(诸如磁、半导体或者光学存储介质)的计算机执行指令实现。
参考图3,在客户端12上实现的序列42的流程图可以使用软件、固件和/或硬件来实现该序列。在软件和固件实施例中,该序列可以由存储在一个或多个非暂时计算机可读介质(诸如磁、半导体或者光学存储介质)的计算机执行指令实现。
图2的序列40如框44表明的那样,通过启动组成应用程序而开始。然后,如图3的框46表明的那样,图形应用程序在一个客户端上启动。接下来,如图2的框48表明的那样,组成应用程序在本地屏幕上设定第一客户端的应用程序的目标尺寸。之后,如图2的框50表明的那样,组成监听器将目标尺寸发送至代理16。如图3的框52表明的那样,数据缩减代理16a缩减图像数据,以与显示尺寸保持一致。
在DirectFB示例中,当IDFBSurface:Lock将原始数据写入面时,还会要求宽度和高度。在将API命令发送至图形组成层之前,数据缩减代理拦截该API,并缩减原始数据,以与目标尺寸保持一致。此外,该API的宽度和高度也改变以适合本地屏幕的目标尺寸。
然后如框54(图3)表明的那样,数据缩减代理将缩减的数据向下传递至瘦客户端内的请求方。请求方将API调用发送至服务器内的调度器(图3的框56)。如图2的框58表明的那样,调度器执行该API,以将应用程序渲染至屏幕30。然后,如菱形60(图2)表明的那样,启动另一个应用程序,并且流程重复。
图4示出系统700的实施例。在实施例中,系统700可以是介质系统,但是系统700不限于该背景。例如,系统700可以并入到个人计算机(PC)、膝上型计算机、超膝上型计算机、平板计算机、触摸板、便携计算机、手持型计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合的蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板计算机或者智能电视)、移动互联网设备(MID)、消息传送设备、数据通信设备等。
在实施例中,系统700包括耦接至显示器720的平台702。平台702可以从内容设备(诸如内容服务设备730、或者内容输送设备740、或者其他类似的内容源)接收内容。导航控制器750包括可以被用于例如与平台702和/或显示器720交互的一个或多个导航特征件。下文进一步具体说明这些组件中的每个。
在实施例中,平台702可以包括芯片组705、处理器710、存储器712、存储装置714、图形子系统715、应用程序716、全球定位系统(GPS)721、照相机723和/或无线电装置718的任何组合。芯片组705可以在处理器710、存储器712、存储装置714、图形子系统715、应用程序716和/或无线电装置718之间提供互相通信。例如,芯片组705可以包含能够提供与存储装置714互相通信的存储适配器(未绘出)。
此外,平台702可以包含操作系统770。对处理器的接口772可以对接操作系统和处理器710。
可以设置固件790来实现诸如引导序列的函数。可以设置能使固件从平台702的外部更新的更新模块。例如,更新模块可以包含代码来确定进行更新的尝试是否是可信的,并识别出固件790的最新更新,以利于确定何时需要更新。
在一些实施例中,平台702可以通过外部电源供电。在一些情况下,平台702还可以包含内部电池780,其在没有采用外部电源的实施例中或者在允许电池电源供电或者外部电源供电的实施例中用作电源。
在图2和图3中示出的序列可以以软件和固件实施例实现,通过将其并入到作为几个示例的存储装置714内、或者处理器710或图形子系统715内的存储器内。在一个实施例中,图形子系统715可以包含图形处理单元,并且处理器710可以是中央处理单元。
处理器710可以实现为复杂指令集计算机(CISC)或者精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核、或者任何其他微处理器或者中央处理单元(CPU)。在实施例中,处理器710可以包括双核处理器、双核移动处理器等。
存储器712可以实现为易失性存储器设备,诸如但是不限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM)、或者静态RAM(SRAM)。
存储装置714可以实现为非易失性存储设备,诸如但是不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附加存储设备、闪存存储器、电池备份的SDRAM(同步DRAM)、和/或网络可访问存储设备。在实施例中,存储装置714可以具有如下技术:例如当包含多个硬盘驱动器时,对于有价值的数字媒体增加存储性能增强的保护。
图形子系统715可以执行用于显示的图像(诸如静止图像或者视频)的处理。图形子系统715例如可以是图形处理单元(GPU)或者视觉处理单元(VPU)。模拟或者数字接口可以用于将图形子系统715与显示器720可通信地耦接。例如,接口可以是高清晰度多媒体接口、显示端口、无线HDMI、和/或无线HD兼容技术中的任一个。图形子系统715能够集成到处理器710或者芯片组705。图形子系统715可以是可通信地耦接至芯片组705的独立卡。
本文说明的图形和/或视频处理技术可以在各种硬件架构中实现。例如,图形和/或视频功能可以集成在芯片组中。替代地,可以使用独立图形和/或视频处理器。作为又一个实施例,图形和/或视频功能可以由包含多核处理器的通用处理器实现。在又一实施例中,该功能可以在消费者电子设备中实现。
无线电装置718可以包含能够使用各种适当的无线通信技术来传送并接收信号的一个或多个无线电装置。该技术可以涉及跨一个或多个无线网络的通信。示例性无线网络包含(但是不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨这种网络的通信中,无线电装置718可以依据任何版本的一个或多个适用标准来操作。
在实施例中,显示器720可以包括任何电视类监控器或者显示器。显示器720例如可以包括计算机显示屏、触摸屏显示器、视频监控器、类似电视的设备、和/或电视。显示器720可以是数字和/或模拟的。在实施例中,显示器720可以是全息显示器。另外,显示器720可以是可以接收视觉投影的透明表面。该投影可以传达各种形式的信息、图像和/或对象。例如,该投影可以是用于移动增强现实(MAR)应用程序的视觉叠加。在一个或多个软件应用程序716的控制下,平台702可以在显示器720上显示用户界面722。
在实施例中,内容服务设备730可以由任何国家、国际和/或独立服务托管,因此,例如可经由互联网访问平台702。内容服务设备730可以耦接至平台702和/或显示器720。平台702和/或内容服务设备730可以耦接至网络760来将媒体信息向/从网络760通信(例如发送和/或接收)。内容输送设备740也可以耦接至平台702和/或显示器720。
在实施例中,内容服务设备730可以包括有线电视盒、个人计算机、网络、电话、互联网支持设备、或者能够输送数字信息和/或内容的家电、以及能够经由网络760或者直接在内容提供商与平台702和/显示器720之间单向或者双向对内容进行通信的任何其他类似的设备。应该理解的是,可以经由网络760向/从系统700中的任何一个组件和内容提供商单向和/或双向通信内容。内容的示例可以包含任何媒体信息,例如包含视频、音乐、医疗和游戏信息等。
内容服务设备730接收诸如有线电视节目表的内容,包含媒体信息、数字信息和/或其他内容。内容提供商的示例可以包含任何有线或者卫星电视、或者无线电、或者互联网内容提供商。提供的示例不意味着限制本发明的实施例。
在实施例中,平台702可以从具有一个或多个导航特征件的导航控制器750接收控制信号。控制器750的导航特征件例如可以用于与用户界面722交互。在实施例中,导航控制器750可以是指向设备,该指向设备可以是允许用户向计算机输入空间(例如连续和多维)数据的计算机硬件部件(具体而言是人机接口设备)。诸如图形用户界面(GUI)和电视和监控器的很多系统允许用户使用物理手势控制并提供数据给计算机或者电视。
控制器750的导航特征件的移动可以通过指针、光标、聚焦环、或者显示在显示器上的其他视觉指示器的移动反应在显示器(例如显示器720)上。例如,在软件应用程序716的控制下,位于导航控制器750上的导航特征件例如可以映射至显示在用户界面722上的虚拟导航特征件。在实施例中,控制器750可能不是分离部件,而是集成到平台702和/或显示器720。然而,实施例不限于本文示出或者说明的要素或者背景。
在实施例中,驱动器(未示出)可以具有例如当启动时在初始引导后通过触摸按钮而使用户能够立即开启并关掉类似电视的平台702的技术。当平台被关掉时,程序逻辑可以允许平台702将内容流至媒体适配器、或者其他内容服务设备730、或者内容输送设备740。此外,芯片组705可以包括例如用于5.1环绕声音频和/或高清7.1环绕声音频的硬件和/或软件支持。驱动器可以包含用于集成图形平台的图形驱动器。在实施例中,图形驱动器可以包括外围部件互连(PCI)快速图形卡。
在各种实施例中,可以集成在系统700中示出的任何一个或多个部件。例如,可以集成平台702和内容服务设备730,或者可以集成平台702和内容输送设备740,或者例如可以集成平台702、内容服务设备730和内容输送设备740。在各种实施例中,平台702和显示器720可以是集成单元。例如可以集成显示器720和内容服务设备730,或者可以集成显示器720和内容输送设备740。这些示例不意味着限制本发明。
在各种实施例中,系统700可以实现为无线系统、有线系统、或者两者的组合。当实现为无线系统时,系统700可以包含适于在无线共享介质(诸如一个或多个天线、发射器、接收器、收发器、放大器、滤波器、控制逻辑等)上通信的部件和接口。无线共享介质的示例可以包含无线频谱的部分,诸如RF频谱等。当实现为有线系统时,系统700可以包含适于在有线通信介质(诸如输入/输出(I/O)适配器、将I/O适配器与对应的有线通信介质连接的物理连接器、网络接口卡(NIC)、磁盘控制器、视频控制器、音频控制器等)上通信的部件和接口。有线通信介质的示例可以包含布线、线缆、金属导线、印制电路板(PCB)、背板、交换结构、半导体材料、双绞线、共轴线缆、光纤等。
平台702可以建立一个或多个逻辑或者物理信道来对信息进行通信。信息可以包含媒体信息和控制信息。媒体信息可以指表示用于用户的内容的任何数据。内容的示例例如可以包含来自语音会话的数据、视频会议、流式视频、电子邮件(email)消息、语音信箱消息、字母数字符号、图形、图像、视频、文本等。来自语音会话的数据例如可以是话音信息、静默时段、背景噪声、舒适噪声、音调等。控制信息可以指表示用于自动化系统的命令、指令或者控制字的任何数据。例如,控制信息可以用于以预定的方式通过系统对媒体信息进行路由,或者指示节点来处理媒体信息。然而,实施例不限于图4示出或者说明的要素或者背景。
如上所述,系统700可以以变化的物理风格或者形式要素来实施。图4示出可以实施系统700的小形状因子设备800的实施例。例如,在实施例中,设备800可以实现为具有无线能力的移动计算设备。移动计算设备可以指例如具有处理系统和移动电源或者供电(诸如一个或多个电池)的任何设备。
如上所述,移动计算设备的示例可以包含个人计算机(PC)、膝上型计算机、超膝上型计算机、平板计算机、触摸板、便携计算机、手持型计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板计算机或者智能电视)、移动互联网设备(MID)、消息传送设备、数据通信设备等。
移动计算设备的示例还可以包含被布置为由人穿戴的计算机,诸如腕上计算机、指上计算机、戒指计算机、眼镜计算机、皮带夹计算机、臂带计算机、鞋计算机、衣服计算机、以及其他可穿戴计算机。在实施例中,例如,移动计算设备可以实现为能够执行计算机应用程序以及声音通信和/或数据通信的智能电话。尽管可以以示例的方式通过实现为智能电话的移动计算设备来描述一些实施例,但可以理解的是也可以使用其他无线移动计算设备来实现其他实施例。实施例不限于该背景。
如图5所示,设备800可以包括外壳802、显示器804、输入/输出(I/O)设备806和天线808。设备800还可以包括导航特征件812。显示器804可以包括用于显示对移动计算设备适当的信息的任何适当的显示器单元。I/O设备806可以包括用于向移动计算设备输入信息的任何适当的I/O设备。用于I/O设备806的示例可以包含字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、摇臂开关、麦克风、扬声器、声音识别设备和软件等。信息还可以通过麦克风输入至设备800。该信息可以由声音识别设备数字化。实施例不限于该背景。
各种实施例可以使用硬件元件、软件元件、或者两者的组合来实现。硬件元件的示例可以包含处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等。软件的示例可以包含软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或者其任何组合。确定是否使用硬件元件和/或软件元件实现了实施例可以依据任何数量的要素变化,诸如期望的计算速度、功率电平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度、以及其他设计或者性能约束。
至少一个实施例的一个或多个方面可以由存储在机器可读介质上的代表性指令实现,该代表性指令代表处理器内的各种逻辑,当由机器读出时,使机器生成执行本文说明的技术的逻辑。该代表被称为“IP核”,可以被存储在有形机器可读介质中,并供应至各种客户或者制造设施,以载入到实际上生成逻辑的生成机器或者处理器中。
各种实施例可以使用硬件元件、软件元件、或者两者的组合来实现。硬件元件的示例可以包含处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等。软件的示例可以包含软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或者其任何组合。确定是否使用硬件元件和/或软件元件实现了实施例可以依据任何数量的要素变化,诸如期望的计算速度、功率电平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度、以及其他设计或者性能约束。
至少一个实施例的一个或多个方面可以由存储在机器可读介质上的代表性指令实现,该代表性指令代表处理器内的各种逻辑,当由机器读出时,使机器生成执行本文说明的技术的逻辑。该代表被称为“IP核”,其可以存储在有形机器可读介质中,并供应至各种客户或者制造设施,以载入到实际上生成逻辑的生成机器或者处理器中。
本文说明的图形处理技术可以在各种硬件架构中实现。例如,图形功能可以集成在芯片组中。替代地,可以使用独立图形处理器。作为又一个实施例,图形功能可以由包含多核处理器的通用处理器实现。
下面的条款和/或示例涉及其他实施例:
一个示例实施例可以是包括由服务器命令瘦客户端来缩放被发送以用于在服务器上渲染的图形数据的方法。该方法还可以包含命令瘦客户端来缩减图形数据。该方法还可以包含从客户端提供对于视频数据的高度和宽度。该方法还可以包含在所述客户端上插入代理来缩减所述数据。该方法还可以包含在所述客户端上插入代理来拦截应用程序接口调用。该方法还可以包含插入代理来拦截本地用户界面组成应用程序调用,以对远程应用程序调整大小。该方法还可以包含在所述代理中从图形组成层接收目标尺寸。该方法还可以包含使代理能够存储并再使用所述目标尺寸。该方法还可以包含具有多个指令的至少一个机器可读介质,并且所述指令响应于在计算设备上被执行,而使计算设备执行方法。
至少一个机器可读介质包括多个指令,并且响应于在计算设备上执行,所述指令使计算设备执行之前段落记载的方法。
一个示例实施例可以是一种装置,包括:服务器,命令瘦客户端缩放被发送以用于在所述服务器上渲染的图形数据;以及存储器,耦接至所述服务器。所述服务器命令瘦客户端来缩减图形数据。所述服务器从客户端提供用于视频数据的高度和宽度。所述服务器在所述客户端上插入代理来缩减所述数据。所述服务器在所述客户端上插入代理来拦截应用程序接口调用。所述服务器插入代理来拦截本地用户界面组成应用程序调用,以调整远程应用程序的大小。该装置可以包含操作系统、电池、固件、以及更新所述固件的模块。
另一个示例实施例可以是瘦客户端,包括:代理,用于缩放在服务器上渲染的图形数据;以及请求方,耦接至所述代理。客户端缩减图形数据。代理可以从图形组成层接收目标尺寸。客户端可以存储并再使用所述目标尺寸。
遍及该说明书提到的“一个实施例”或者“实施例”是指结合实施例说明的特定特征、构造、或者特性包含在落入本发明内的至少一个实施方式中。因此,词组“一个实施例”或者“在实施例中”不一定是指相同的实施例。此外,特定特征、构造、或者特性可以组成为其他适当形式而非示出的特定实施例,并且所有该形式可以落入本申请的权利要求中。
本发明已相对于有限数量的实施例进行了说明,但本领域的技术人员会想到大量的修改和变化。预期的是随附的权利要求覆盖落入本发明真正精神和范围内的所有这种修改和变化。

Claims (22)

1.一种方法,包括:
通过服务器命令瘦客户端来缩放被发送以用于在所述服务器上进行渲染的图形数据。
2.如权利要求1所述的方法,包括:命令所述瘦客户端来缩减所述图形数据。
3.如权利要求1所述的方法,包括:从客户端提供用于视频数据的高度和宽度。
4.如权利要求1所述的方法,包括:在所述客户端上插入代理来缩减所述数据。
5.如权利要求4所述的方法,包括:在所述客户端上插入代理来拦截应用程序接口调用。
6.如权利要求5所述的方法,包括:插入代理来拦截本地用户界面组成应用程序调用,以对远程应用程序调整大小。
7.如权利要求4所述的方法,包括:在所述代理中从图形组成层接收目标尺寸。
8.如权利要求7所述的方法,包括:使所述代理能够存储并再使用所述目标尺寸。
9.至少一个机器可读介质,包括多个指令,响应于在计算设备上被执行,所述指令使所述计算设备执行根据权利要求1至8中任何一项所述的方法。
10.一种装置,包括:
服务器,用于命令瘦客户端缩放被发送以在所述服务器上进行渲染的图形数据;以及
存储器,其耦接至所述服务器。
11.如权利要求10所述的装置,所述服务器命令所述瘦客户端来缩减所述图形数据。
12.如权利要求10所述的装置,所述服务器从客户端提供用于视频数据的高度和宽度。
13.如权利要求10所述的装置,所述服务器在所述客户端上插入代理来缩减所述数据。
14.如权利要求13所述的装置,所述服务器在所述客户端上插入代理来拦截应用程序接口调用。
15.如权利要求14所述的装置,所述服务器插入代理来拦截本地用户界面组成应用程序调用,以对远程应用程序调整大小。
16.如权利要求10的所述装置,包括操作系统。
17.如权利要求10所述的装置,包括电池。
18.如权利要求10所述的装置,包括固件以及更新所述固件的模块。
19.一种瘦客户端,包括:
代理,用于缩放用于在服务器上进行渲染的图形数据;以及
请求方,其耦接至所述代理。
20.如权利要求19所述的客户端,用于缩减所述图形数据。
21.如权利要求19所述的客户端,所述代理从图形组成层接收目标尺寸。
22.如权利要求21所述的客户端,用于存储并再使用所述目标尺寸。
CN201280072811.1A 2012-05-31 2012-05-31 用于渲染图形应用程序的方法和装置 Expired - Fee Related CN104272285B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/040329 WO2013180729A1 (en) 2012-05-31 2012-05-31 Rendering multiple remote graphics applications

Publications (2)

Publication Number Publication Date
CN104272285A true CN104272285A (zh) 2015-01-07
CN104272285B CN104272285B (zh) 2017-06-20

Family

ID=49673774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280072811.1A Expired - Fee Related CN104272285B (zh) 2012-05-31 2012-05-31 用于渲染图形应用程序的方法和装置

Country Status (3)

Country Link
CN (1) CN104272285B (zh)
TW (2) TWI493357B (zh)
WO (1) WO2013180729A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111552554A (zh) * 2020-05-09 2020-08-18 中瓴智行(成都)科技有限公司 基于图形库api代理的gpu虚拟化方法、系统及介质
CN112068908A (zh) * 2017-10-23 2020-12-11 华为技术有限公司 图形处理方法及相关装置和设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6343313B1 (en) * 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
US7446774B1 (en) * 1998-11-09 2008-11-04 Broadcom Corporation Video and graphics system with an integrated system bridge controller
TW480891B (en) * 2000-08-16 2002-03-21 Mitake Data Co Ltd Wireless transmission method and device of finance stock real-time chart
KR20020034347A (ko) * 2000-11-01 2002-05-09 강태구 서버-씬 클라이언트 시스템
KR20030061559A (ko) * 2002-01-14 2003-07-22 (주) 씨네티아 정보통신 씬 클라이언트 플랫폼을 위한 랜더링 방법
KR20040054493A (ko) * 2002-12-18 2004-06-25 텍사스 인스트루먼츠 인코포레이티드 스마트 폰 또는 pda용 보안 모드 지시기
US20040240752A1 (en) * 2003-05-13 2004-12-02 Dobbs Andrew Bruno Method and system for remote and adaptive visualization of graphical image data
JP2005045357A (ja) * 2003-07-23 2005-02-17 Hitachi Ltd リモートディスプレイプロトコル、映像表示システム及び端末装置
JP2008511057A (ja) * 2004-08-19 2008-04-10 クラリア コーポレイション エンドユーザの情報要求に応答するための方法及び装置
CA2669323A1 (en) * 2006-11-19 2008-05-29 Rmax, Llc Internet-based computer for mobile and thin client users
EP3471053B1 (en) * 2007-05-25 2020-07-08 Google LLC Rendering, viewing and annotating panoramic images, and applications thereof
EP2098994A1 (en) * 2008-03-04 2009-09-09 Agfa HealthCare NV System for real-time volume rendering on thin clients via a render server
US8164617B2 (en) * 2009-03-25 2012-04-24 Cisco Technology, Inc. Combining views of a plurality of cameras for a video conferencing endpoint with a display wall
JP5067409B2 (ja) * 2009-09-28 2012-11-07 カシオ計算機株式会社 シンクライアントシステム及びプログラム
US8907987B2 (en) * 2010-10-20 2014-12-09 Ncomputing Inc. System and method for downsizing video data for memory bandwidth optimization

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112068908A (zh) * 2017-10-23 2020-12-11 华为技术有限公司 图形处理方法及相关装置和设备
CN112068908B (zh) * 2017-10-23 2024-01-30 华为技术有限公司 图形处理方法及相关装置和设备
CN111552554A (zh) * 2020-05-09 2020-08-18 中瓴智行(成都)科技有限公司 基于图形库api代理的gpu虚拟化方法、系统及介质

Also Published As

Publication number Publication date
TWI493357B (zh) 2015-07-21
CN104272285B (zh) 2017-06-20
TW201409251A (zh) 2014-03-01
TWI607319B (zh) 2017-12-01
WO2013180729A1 (en) 2013-12-05
TW201533582A (zh) 2015-09-01

Similar Documents

Publication Publication Date Title
TWI666548B (zh) 用以共享虛擬記憶體的設備及方法以及機器可讀取媒體
CN110209460B (zh) 一种动态壁纸的实现方法、装置、存储介质及终端
CN107491560B (zh) 页面图片显示方法、装置、存储介质、服务器及移动终端
CN104782136B (zh) 在云中处理视频数据
US8687902B2 (en) System, method, and computer program product for decompression of block compressed images
CN104335231A (zh) 使用分形表面穿过金属机壳传输磁场
CN104704469B (zh) 动态地重新平衡图形处理器资源
TWI559217B (zh) 用於記憶體子系統之動態快取及記憶體分配技術
KR102336528B1 (ko) 캐시 메모리를 가지는 전자 장치 및 그의 운용 방법
CN104011623A (zh) 包括基于观看条件的动态用户接口在内的用于能量效率和能量节约的方法、装置和系统
CN104756150A (zh) 深度缓冲
CN104951263A (zh) 避免向显示器发送未改变的区域
CN104052791A (zh) 计算装置上的选择性内容共享
CN104067318A (zh) 使用三维光栅化的时间连续碰撞检测
CN104035540A (zh) 在图形渲染期间降低功耗
JP2016103288A (ja) カラーバッファ圧縮
CN105103512A (zh) 分布式图形处理
CN104704438A (zh) 降低处理器中与频率改变相关联的开销
JP6386099B2 (ja) 圧縮支援のための方法、装置、コンピュータプログラム及び記憶媒体
CN104094603A (zh) 用于在视频编码系统中进行集成元数据插入的系统和方法
CN104054049B (zh) 用于复制源数据从而实现对源数据的并行处理的方法和系统
JP5923589B2 (ja) 適応デプスオフセット圧縮
CN104272285A (zh) 渲染多个远程图形应用程序
CN104221393A (zh) 内容自适应视频处理
KR20160027699A (ko) 이미지 처리 방법 및 그 전자 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170620

Termination date: 20210531

CF01 Termination of patent right due to non-payment of annual fee