CN102047612A - 基于图像的远程访问系统 - Google Patents

基于图像的远程访问系统 Download PDF

Info

Publication number
CN102047612A
CN102047612A CN2008801293657A CN200880129365A CN102047612A CN 102047612 A CN102047612 A CN 102047612A CN 2008801293657 A CN2008801293657 A CN 2008801293657A CN 200880129365 A CN200880129365 A CN 200880129365A CN 102047612 A CN102047612 A CN 102047612A
Authority
CN
China
Prior art keywords
data
frame buffer
server
difference data
display
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.)
Pending
Application number
CN2008801293657A
Other languages
English (en)
Inventor
R·M·霍奇穆思
D·A·托马斯
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN102047612A publication Critical patent/CN102047612A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1431Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using a single graphics controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/04Partial updating of the display screen
    • 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/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/027Arrangements and methods specific for the display of internet documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Digital Computer Display Output (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文描述了基于图像的远程访问系统和方法。至少一些说明性实施例包括一种方法,该方法包括:将与图形适配器相关联的第一帧缓冲器(402)中的图形数据划分为多个子区域(所述子区域的每一个唯一地与多个显示器之一相关联,并且所述帧缓冲器内的每个位置包括待呈现在显示器上的像素数据),通过将也与所述图形适配器相关联并且包括先前呈现的显示数据的第二帧缓冲器中的数据与第一帧缓冲器中的数据相比较来生成差数据(404);以及在消息内通过网络将至少部分差数据(410)传输到包括所述多个显示器的客户端设备(所述消息包括与子区域(406)相关联的差数据以及子区域标识符)。所述差数据能够用于更新所述多个显示器上的图像。

Description

基于图像的远程访问系统
背景技术
随着广域网(WAN)持续扩张,客户端/服务器计算模型已经类似地看到多种企业和家庭用户对其应用的增加。在客户端/服务器模型中,一个或多个服务器计算机(通常是具有大量处理能力和诸如存储器和数据存储空间之类的其他资源的非常快的计算机)被设置在中心位置,所述服务器从该中心位置与若干较小的且功能不那么强的客户端计算机通过网络(例如,因特网)进行通信。所述服务器被配置为运行被设计为受操作所述客户端计算机的用户控制的软件应用。这些通常大且复杂的软件应用在服务器上执行并且实施完成用户发起的任务所需的大部分计算,因此利用(如与客户端的那些处理资源相比)服务器的优越的处理资源。
在客户端计算机上执行的软件将用户发出的命令转发到在服务器上执行的软件应用。所述软件还从服务器软件应用接收响应和/或结果以用于在客户端计算机处向用户呈现。客户端/服务器模型的示例是远程桌面客户端/服务器应用。所述服务器计算机执行完整操作系统的实例及其相关联的应用,以及服务器侧远程桌面应用,该服务器侧远程桌面应用将由服务器内的图形适配器在所述操作系统实例的控制下生成的显示输出重定向(redirect)到客户端计算机。所述客户端计算机执行客户端侧远程桌面应用,该客户端侧远程桌面应用显示由在所述服务器计算机上运行的操作系统生成的输出(例如,诸如微软Windows
Figure BPA00001258498600012
之类的窗口式操作系统中的桌面和窗口)。所述客户端侧远程桌面应用还接受来自用户(例如,来自键盘和鼠标)的输入,并且将在客户端计算机处接收的用户输入重定向到服务器计算机。客户端计算机与服务器计算机之间的通信通过诸如例如因特网之类的网络进行。
为了进一步将客户端的计算负担转移到服务器,并且因此进一步降低客户端的复杂性和成本,已经开发了将大量的图形处理从客户端转移到服务器的软件和硬件。在这样的系统中,所述服务器(例如,经由服务器内的图形处理单元(GPU))处理并格式化图形数据并且将该数据存储在帧缓冲器中。但是取代在本地附接的显示单元上为用户本地地呈现帧缓冲器数据,所述帧缓冲器数据通过网络被传输到瘦客户端、台式个人计算机(PC)或网络附接的显示设备,其显示所述数据而不需要由客户端本地GPU进行处理和/或格式化。参见例如,Stafford-Fraser等人(下文为“Stafford”)的标题为“Computer NetworkArchitecture and Method of Providing Display Data”的美国专利申请公布2005/0193396。这种系统中的图形适配器因此在服务器内被“虚拟化”。
尽管这种虚拟化的图形适配器用于简化客户端硬件和软件,但是相应地增加了对服务器硬件和软件的要求。尽管在客户端/服务器模型中将预期这一点(并且这实际上是所述模型的目标之一),但是当Stafford的虚拟化的图形适配器与需要多个显示器的客户端一起使用时所述效应得到倍增(multiplied)。例如,如果具有多个显示器的客户端PC被具有多个显示器的简化客户端(有时被称为“瘦客户端”)取代,并且Stafford的所述虚拟化的图形适配器被用在服务器侧,则必须在服务器处针对每个客户端执行多个虚拟化的图形适配器(每个显示器一个)。结果,当与针对每个客户端执行仅仅单个虚拟化适配器实例的服务器的需求相比时,针对每个客户端在服务器处所需的资源可能由于执行多个虚拟化的显示适配器实例而显著增加。
附图说明
为了详细描述本发明的示范性实施例,现在将参照附图,在附图中:
图1示出根据至少一些说明性实施例的远程访问客户端/服务器系统的硬件组件;
图2示出根据至少一些说明性实施例的图1的远程访问客户端/服务器系统的软件组件;
图3A示出根据至少一些说明性实施例的适合实现图1的服务器计算机的计算机系统;
图3B示出根据至少一些说明性实施例的图3A的计算机系统的框图;
图3C示出根据至少一些说明性实施例的适合实现图1的客户端设备的至少一部分的计算机系统的框图;以及
图4A和4B示出根据至少一些说明性实施例的用于使用图1和2的服务器计算机和客户端设备来分发、处理和显示图形数据的方法。
标记和命名法
某些术语贯穿下面的说明书和权利要求而被用于指代特定的系统组件。如本领域技术人员将理解的,计算机厂商可以以不同名称指代一个组件。该文档不打算区分名称不同但功能相同的组件。在下面的讨论和权利要求中,术语“包含”和“包括”是以开放式的方式使用的,并且因此应当被解释为意思是“包括,但不限于...”。而且,术语“耦合”意欲表示间接的、直接的、光学的或无线电连接。因此,如果第一设备耦合到第二设备,则该连接可以是通过直接电连接、通过经由其他设备和连接的间接电连接、通过光学电连接或通过无线电连接。此外,术语“系统”指代两个或更多硬件和/或软件组件的集合,并且可以用于指代电子设备,比如计算机、计算机的一部分、计算机的组合等等。而且,术语“软件”包括任何能够在处理器上运行的可执行代码,而不管用于存储所述软件的介质如何。因此,存储在非易失性存储器中的代码(有时被称为“嵌入式固件”)包含在软件的定义内。
具体实施方式
下面的讨论针对本发明的各种实施例。尽管这些实施例中的一个或多个可能是优选的,但是所公开的实施例不应当被解释为或以其他方式被使用为限制包含权利要求的本公开的范围。此外,本领域技术人员将理解,下面的描述具有广泛的应用,并且任何实施例的讨论仅意在例证该实施例,并且不打算暗示包含权利要求的本公开的范围被限于该实施例。
图1示出根据至少一些说明性实施例的适合用于实现基于图像的远程访问系统的客户端/服务器计算系统。服务器计算机110包括耦合到存储器112、网络接口(网络I/F)116和图形适配器120的处理器114。图形适配器120包括多个帧缓冲器(例如,用于存储如下面所解释的那样呈现在显示器上的处理的图像数据的帧缓冲器A(122)和帧缓冲器B(124))。图形适配器120还耦合到存储器112,从而允许图形适配器在处理器114很少介入或不介入的情况下(例如,经由直接存储器访问(DMA)传输)从存储器112传输待(例如由具有图形适配器120的图形处理单元(GPU)(未示出))处理的数据。在至少一些说明性实施例中,存储器112还可以包括帧缓冲器(未示出)。
服务器计算机110经由网络140(例如,因特网)耦合到客户端设备150。服务器计算机将存储在至少一个帧缓冲器122或124中的图形图像数据传输到客户端设备150以用于呈现为在客户端显示器168和178的每一个上显示的图像。客户端设备150包括网络接口和路由器(网络I/F和路由器)152,其耦合到图形控制单元(图形控制单元)160和170中的每一个。图形控制单元160和170中的每一个分别耦合到显示设备168和178。网络接口和路由器152还耦合到键盘154和鼠标156。所述图形控制单元160和170中的每一个包括耦合到网络接口和路由器152以及帧缓冲器(164,174)的处理器(162,172)。
每个帧缓冲器包括与来自服务器计算机110内的帧缓冲器的子区域的数据对应的数据。在图1的说明性实施例中,例如,客户端帧缓冲器164包括与来自服务器帧缓冲器124的左子区域的数据对应的左数据165。类似地,客户端帧缓冲器174包括与来自服务器帧缓冲器124的右子区域的数据对应的右数据175。来自每个帧缓冲器内的数据被对应的显示器接口(166,176)读出,所述显示器接口基于存储在对应的帧缓冲器中的数据生成在每个显示器168和178上呈现图像所必需的控制和数据信号。所述控制和数据信号可以是数字信号、模拟信号或数字和模拟信号二者的组合。
服务器计算机110和客户端设备150二者的帧缓冲器被用于存储已被(例如处理器114或图形适配器120)处理的图像数据。这种处理可以包括将诸如几何对象(例如,线、正方形、三角形)之类的对象转换为被显示的图像,并且/或者将高级的二维和三维变换应用到复杂的图像,比如照明、阴影、遮蔽和纹理映射,这些示例只是举几个例子。这样的操作的最终结果是待呈现在一个或多个显示设备上的所得图像的表示。这种表示可以存储在帧缓冲器中,所述帧缓冲器是用于存储与所表示的图像相关联的数据从而使得所述缓冲器内的每个位置对应于屏幕上的像素的专用存储器设备或存储器的区域。
例如,在至少一些说明性实施例中,单个像素由32位值表示(例如,由4个字节表示,每个字节分别表示像素的原色红、绿和蓝的8位强度值和不透明值alpha(RGBA))。因此,如果被显示的图像的每一行具有由2560个RGBA值表示的2560个像素(例如,作为大小为2560×1024像素的图像的一部分),则对于一个或多个显示器上的像素的每个扫描线而言,10240个数据字节被存储在所述帧缓冲器中、存储在所述帧缓冲器的存储器或存储器区域内连续寻址的位置中。通过连续地将所述数据存储为连续的RGBA值,所述数据可以以它将被呈现在显示设备上的次序被读出,从而简化从缓冲器中提取数据的过程。而且,每个扫描线的数据可被存储为使得单个存储器设备行对应于单个扫描线。因此,如果存储器行的大小被确定为超过扫描线所需的数据量的下一个最大的二进制倍数(binary multiple)(在所述示例中为16384个字节),则可以使用存储器地址的最高有效位或较高位来寻址单个扫描线,同时较低位可以用于寻址行或扫描线的像素数据。
由于图像数据被组织并存储在帧缓冲器内的方式,图像内的区域可被直接映射到存储所述图像的帧缓冲器的地址空间内的区域。因此,在示出了表示待显示的图像的左侧和右侧的两个区域的图1的说明性实施例中,所述帧缓冲器的每一行可以被划分为在对应于图像的左侧的第一地址范围(例如,所述行的前5120字节、即字节0-5120)内存储的像素值,和在对应于所述图像的右侧的第二地址范围(例如,所述行的接下来的5120字节、即字节5120-10239)内存储的像素值。
可以通过将一个或多个偏移值应用到区域相对像素x-y坐标来相对于区域引用该区域的像素值。在上述示例中,右区域的像素(0,0)(即右区域的原点处)的像素数据在帧缓冲器内被存储在缓冲器的第一行的位置5120-5123处(即行0的像素1280)。所述像素数据开始地址可以通过将合适的像素坐标偏移加到像素的区域相对x坐标、将所得的偏移像素坐标乘以每像素的字节数量、并且加上将每缓冲器行的字节乘以y坐标所得的乘积来确定(例如,开始字节地址=4*(x+1280)+16384*y)。也可以执行这些计算的逆运算以根据帧缓冲器地址确定区域相对像素坐标。行和偏移计算的相似分组也可以用于定义图像的垂直划分的区域。本领域普通技术人员将认识到,任意数量的垂直或水平区域或垂直和水平区域二者可被定义在帧缓冲器内,并且许多其他坐标到地址和地址到坐标变换可以被应用到本文所述的实施例。所有这样的区域数量(number)和区域组合以及所有这样的坐标和地址变换处于本公开的范围内。
继续参考图1的说明性实施例,服务器计算机110包括至少两个帧缓冲器(例如,帧缓冲器122和124)。交替地利用新显示数据来更新每个帧缓冲器,以便生成差数据,即识别在一个帧缓冲器的更新与另一个帧缓冲器的随后更新之间已经变化的数据。例如,在至少一些说明性实施例中,最初在预定义的间隔(例如,对应于60赫兹显示帧速率的16.67毫秒间隔)期间用图像数据装载帧缓冲器122。在所述间隔结束时,对图像的任何更新被重定向到帧缓冲器124(其也存储初始图像的拷贝),同时帧缓冲器122内的初始图像数据被传输给客户端设备150以供显示。
在下一个间隔结束时,将所述帧缓冲器122和124的内容进行(逐字节)比较以识别在所述间隔期间变化的那些数据字节。只有在所述间隔期间变化的那些数据字节(即,差数据)被传输到客户端设备150,这减少了针对从帧到帧变化不太大的图像所传输的数据的量。一旦所述差数据被识别,所述帧缓冲器就再次被交换(swap),并且来自帧缓冲器124的数据被拷贝到帧缓冲器122,从而使得可以利用较新的数据来更新帧缓冲器122,同时从帧缓冲器124提取所述差数据以用于传输到客户端设备150。在至少一些说明性实施例中,包括最新的数据的帧缓冲器的完整内容(针对所有区域)被周期性地传输到客户端设备150,而不生成差数据。这些“参考帧”(它们有时候被这样称呼)在某些差数据未被客户端设备150接收的情况下被传输(例如,如果无连接网络事务(比如IP数据报)被用于发送所述数据并且所述消息由于网络中断而丢失)。
仍然参照图1的说明性实施例,一旦已经生成差数据,它就被按子区域细分并且消息被从服务器计算机110发送到客户端设备150,其中每个消息仅仅包括用于特定子区域的数据。所述消息还包括子区域标识符。当具有差数据的消息被客户端设备150接收到时,网络接口和路由器152根据所述消息内的子区域标识符来确定所接收的差数据对应于哪个子区域。然后,所述差数据被发送到耦合到对应于所识别的子区域的显示器的图形控制单元。
在至少一些说明性实施例中,在转发差数据之前可以从用于通过网络传送所述数据的消息中解封装所述差数据。在其他说明性实施例中,可以转发整个消息并且由接收差数据的图形控制单元从网络消息中对其解封装。在至少一些说明性实施例中,所述差数据在根据传输控制协议/网际协议(TCP/IP)网络协议格式化的消息内被接收,并且通过使用网络接口和路由器152与每个图形控制单元之间的单独的通用串行总线(USB)通信链路而被传输到合适的图形控制单元。键盘154和鼠标156也经由单独的USB链路耦合到网络接口和路由器152,如图1所示。
继续参照图1,每个图形控制单元的处理器(图形控制单元160的处理器162,和图形控制单元170的处理器172)接收对应于耦合到相应的图形控制单元的显示器(显示器168或显示器178)的差数据,并且利用合适的数据来更新它们相应的客户端帧缓冲器。因此,从计算机服务器110接收的对应于帧缓冲器的左子区域的差数据被网络接口和路由器152路由到处理器162,处理器162使用所述差数据来更新帧缓冲器164内的左数据165。然后,所述数据被显示器接口166用来更新显示设备168上呈现的图像。针对来自服务器计算机110的右子区域帧缓冲器数据,由图形控制单元170、处理器172和显示器接口176执行类似的操作,这导致右数据在帧缓冲器174内被更新并且被呈现在显示设备178上。
如上面的描述所表明的,在客户端设备处执行的操作需要的图形计算能力比服务器计算机110所需的少。这是因为以下事实:计算上密集的图形处理操作由图形适配器120执行,该图像适配器然后向客户端设备传输需要少得多的处理的数据,甚至在压缩和解压缩被发送到客户端设备150的图像数据的实施例中也是如此。这导致有时所称的“瘦”客户端,所述“瘦”客户端是就实现客户端设备150的功能的硬件和软件两方面而言的。计算机服务器110与客户端设备150之间的帧缓冲器数据的使用,而不是需要大量图形处理的数据(例如几何对象数据)的使用,导致使用容易地且廉价地被缩放的瘦客户端进行操作的基于图像的远程访问系统。
在至少一些说明性实施例中,从服务器计算机110传输到客户端设备150的图像数据(包括差数据、参考帧或二者)在被传输之前被压缩以进一步减少传输图像数据所需的带宽。在至少一些说明性实施例中,所述压缩由处理器114执行,而在其他说明性实施例中,所述压缩由图形适配器120执行。解压缩由客户端设备150的处理器162和172执行,每个处理器解压缩对应于它们相应的子区域和显示器的所接收的数据。所述压缩/解压缩可以使用许多已知的压缩/解压缩(CODEC)算法中的任意一个来实现,可以包括有损和无损压缩/解压缩技术二者,并且可以包括硬件和软件实现方式二者以及硬件和软件实现方式的组合。所有这样的CODEC算法、技术和实现方式都在本公开的范围内。
图2示出根据至少一些说明性实施例的实现本文所描述的系统和方法的至少一些功能的软件组件的框图。主操作系统210在服务器计算机110上执行并且提供操作环境,服务器侧远程访问软件212在该操作环境下执行。客户操作系统214在服务器侧远程访问软件212提供的环境内执行,服务器侧远程访问软件212将图形适配器120暴露于在客户操作系统214下执行的视频设备驱动器216。
在至少一些说明性实施例(未示出)中,两个或更多客户操作系统在服务器侧远程访问软件212下并发地执行,所述服务器侧远程访问软件仲裁对图形适配器120的访问。作为这种仲裁的结果,图形适配器120作为专用资源被暴露于每个客户操作系统,即使它实际上在所述客户操作系统之间被共享。在至少一些说明性实施例中未被服务器计算机110用来在本地驱动显示设备的图形适配器因此作为“卸载(offload)”图形处理器来操作,该“卸载”图形处理器作为共享资源而被服务器侧远程访问软件212管理。在其他说明性实施例中,由服务器侧远程访问软件212为每个客户操作系统实例实现虚拟化的图形适配器。
继续参照图2,一旦帧缓冲器内的数据已经被更新,客户端接口软件(客户端I/F)218(服务器侧远程访问软件212的一部分)就生成如前所述的差数据(以及任何参考帧)、按子区域划分图像数据(差数据和/或参考帧数据)、以及生成待传输到客户端设备150的消息(具有适当的对应子区域标识符)。在其中图像数据压缩由图1的服务器处理器114执行的至少一些实施例中,所述图像数据(差数据和/或参考帧数据)由客户端接口软件218压缩。
在至少一些说明性实施例中,客户端接口软件218所传输的图像数据被在网络接口和路由器152上(例如网络接口和路由器152内的处理器(未示出)上)执行的网络接口和路由软件252接收并处理。客户端接口软件252实现网络协议栈(例如,TCP/IP协议栈),其中客户端设备150作为网络可寻址的TCP/IP设备而被访问。客户端路由软件252将所接收的图像数据消息转换为适合于向图形控制单元传输的格式(例如,USB事务),并且基于所接收的消息内的子区域标识符将所述图像数据路由到合适的图形控制单元。分别在客户端处理器162和172上执行的客户端远程访问软件260和270提取(并且如果需要,则解压缩)所接收的图像数据并且更新所对应的客户端帧缓冲器(164或174)。
在所述的说明性实施例中,在服务器计算机110和客户端设备150这二者中所存在的各种处理器上执行的软件实施本文所述的许多功能。然而,本领域普通技术人员将认识到,其他说明性实施例可以以软件或硬件(例如,使用专用集成电路(ASIC))或通过软件和硬件的组合实现至少一些所述功能,并且所有这样的实施例都在本公开的范围内。
在至少一些说明性实施例中,网络接口和路由器软件252与客户端接口软件218协力操作以向本文所描述的远程访问系统的用户提供配置接口。所述配置接口允许用户指定耦合到客户端设备150的每个图形控制单元的显示设备(图1的168和178)的布局、相对位置和分辨率。例如,如果两个显示器被组织为从左到右且每个显示设备的分辨率为1280×1024,则所述配置接口将允许使用客户端设备指定所述配置。所述配置信息(即,显示器分辨率、显示设备的数量和显示设备的相对位置)将被发送到服务器并且被用于分别配置所述子区域。在图1和2所描述和示出的示例中,服务器将具有由两个子区域构成的2560×1024的单个虚拟显示器分辨率,每个子区域的分辨率为1280×1024,且原点位置分别为(0,0)和(1280,0)。
因为图2中的示例的客户操作系统214被配置为仅仅识别单个图形适配器,所以可以独立于如客户操作系统214所看到的图形适配器的配置来完成对显示器数量和每个单独的显示器的分辨率的改变。在其他说明性实施例中,在客户操作系统级别处对图形适配器的配置的改变(例如,通过由客户操作系统所提供的实用工具改变屏幕分辨率)可以被客户端接口软件218关联到在服务器计算机110和客户端设备150二者处的子区域和显示器配置的改变。基于操作系统和基于远程访问软件的配置实用工具的其他配置和组合对本领域普通技术人员而言将变得显而易见,并且所有这样的配置和组合都在本公开的范围内。
图3A和3B示出适合用于实现图1的服务器计算机110的说明性计算机系统300。图3C类似地示出适合用于实现网络接口和路由器152以及图形控制单元160和170的每一个的至少一部分的简化的计算机系统390(相对于图3B的系统被简化)。如图3A和3B所示,说明性计算机系统300包括机箱380、显示器340和输入设备370。计算机系统300包括处理逻辑302、易失性储存装置310和非易失性储存装置364。图3C的计算机系统390类似地包括处理逻辑391、易失性储存装置393和非易失性储存装置397。继续参照图3A、3B和3C,处理逻辑302和处理逻辑391二者都可以以硬件(例如微处理器)、软件(例如微代码)或硬件和软件的组合实现。计算机系统300和391还包括计算机可读介质。所述计算机可读介质可以包括易失性储存装置310和393(例如,随机存取存储器(RAM))、非易失性储存装置364和397(例如,闪速RAM、只读存储器(ROM)、硬盘驱动器、软盘(例如软盘376)、紧致盘只读存储器(CD-ROM,例如CD378)),或其组合。
易失性储存装置310、易失性储存装置393、非易失性储存装置364和非易失性储存装置397中的任一个或所有这些包括例如分别由处理逻辑302或391执行的并且向计算机系统300和390提供本文所述的一些或所有功能的软件。计算机系统300还包括使得计算机系统300能够经由局域网和/或有线或无线广域网接收信息的网络接口(网络I/F)362,其在图3A的示例中用以太网插口392表示。计算机系统390包括通信接口(通信I/F)398,其执行与网络接口362的功能相似的功能。视频接口(视频I/F)342耦合到计算机系统300中的显示器340。在用于实现图形控制单元160和170的计算机系统390的至少一些说明性实施例中(在用于实现网络接口和路由器152的计算机系统390的至少一些说明性实施例中不存在图形控制单元160和170),显示器接口(显示器I/F)395耦合到显示器396。当在本地操作计算机系统300时,用户经由耦合到外设接口368的输入设备370(例如键盘)和/或点击设备372(例如鼠标)与所述系统进行交互。当操作计算机系统390时(例如,当用于实现网络接口和路由器152时),用户类似地经由耦合到外设接口399的输入设备394和点击设备392(在用于实现图形控制单元160和170的计算机系统390的至少一些说明性实施例中这些都不存在)与所述系统交互。计算机系统300的显示器340、连同输入设备370和/或点击设备372(以及类似地计算机系统390的显示器168和178、输入设备394和点击设备392)可以一起作为用户接口操作。
计算机系统300可以是基于总线的计算机,其具有多种总线,所述总线通过一系列包括存储器控制器集线器(MCH)304(有时被称为“北桥”)和接口控制器集线器(ICH)306(有时被称为“南桥”)的集线器或桥来互连图3B中示出的各种元件。图3B的说明性示例的总线包括:将处理逻辑302耦合到MCH 304的前端总线303;将视频接口342耦合到MCH 304的加速图形端口(AGP)总线341;将网络接口362、非易失性储存装置364、外设接口368和ICH 306彼此耦合的外围组件互连(PCI)总线361;将一个或多个高速PCI设备352耦合到MCH 304的高速PCI(PCIe)总线351;以及将MCH 304耦合到易失性储存装置310内的双列直插式存储器模块(DIMM)320和330的存储器总线311。
计算机系统390也可以是基于总线的计算机,其具有将图3C所示的各种元件彼此耦合的PCI总线394,所述元件包括处理器391、易失性储存装置393、显示器接口395、非易失性储存装置397、通信接口398和外设接口399。
计算机系统300的外设接口368接受来自输入设备370和诸如点击设备372之类的其他输入设备的信号,并且将所述信号变换为适合用于在PCI总线361上传送的形式。计算机系统390的外设接口399类似地接受来自输入设备394和诸如点击设备392之类的其他输入设备的信号,并且将所述信号变换为适合用于在PCI总线394上传送的形式。计算机系统300的显示器接口342可以包括接受来自AGP总线341的信息并且将它变换为适用于显示器340的形式的图形卡或其他合适的视频接口。计算机系统390的显示器接口395可以包括接受来自PCI总线394的帧缓冲器数据并且将它变换为适用于显示器396的形式的视频控制逻辑。
计算机系统300的处理逻辑302收集来自其他系统元件的信息,包括来自外设接口368的输入数据、和来自非易失性储存装置364或易失性储存装置310或来自经由网络接口362耦合到局域网或广域网的其他系统(例如用于存储并分发可执行代码的拷贝的服务器)的程序指令和其他数据。处理逻辑302执行所述程序指令(例如,服务器远程访问软件212)并相应地处理所述数据。所述程序指令可以进一步配置处理逻辑302以将数据发送到其他系统元件,所述数据比如经由视频接口342和显示器340呈现给用户的信息。网络接口362使得处理逻辑302能够经由网络(例如因特网)与其他系统进行通信。易失性储存装置310可以充当用于处理逻辑302的信息的低等待时间(low-latency)临时储存器,并且非易失性储存装置364可以充当信息的长期(但更高等待时间的)储存器。
计算机系统390的处理逻辑391类似地收集来自其他系统元件的信息,包括来自外设接口399的输入数据、和来自非易失性储存装置397或易失性储存装置393或来自可经由通信接口399被计算机系统390访问的其他外部系统(例如用于存储并分发可执行代码的拷贝的服务器)的程序指令和其他数据。处理逻辑391执行所述程序指令(例如,客户端远程访问软件260和270)并相应地处理所述数据。所述程序指令可以进一步配置处理逻辑391以将数据发送到其他系统元件,所述数据比如经由显示器接口395和显示器396呈现给用户的信息。通信接口398使得处理逻辑391能够与其他系统进行通信。易失性储存装置393可以充当用于处理逻辑391的信息的低等待时间临时储存器,并且非易失性储存装置397可以充当信息的长期(但更高等待时间的)储存器。
处理逻辑302并且因此作为整体的计算机系统300根据存储在非易失性储存装置364上或经由网络接口362接收的一个或多个程序操作。处理逻辑302可以将所述程序的部分拷贝到易失性储存装置310中以便更快速访问,并且可以响应于输入设备370的用户启动而在程序之间切换或执行附加程序。所述附加程序可以从非易失性储存装置364中取回或可以经由网络接口362而从其他位置取回或接收。这些程序的一个或多个在计算机系统300上执行,从而使得所述计算机系统执行本文公开的至少一些功能。
同样,处理逻辑391并且因此作为整体的计算机系统390根据存储在非易失性储存装置397上或经由通信接口398接收的一个或多个程序操作。处理逻辑391可以将所述程序的部分拷贝到易失性储存装置393中以便更快速访问,并且可以响应于输入设备394的用户启动而在程序之间切换或执行附加程序。所述附加程序可以从非易失性储存装置397中取回或可以经由通信接口398而从其他位置取回或接收。这些程序的一个或多个在计算机系统390上执行,从而使得所述计算机系统执行本文公开的至少一些功能。
尽管本文所述的说明性实施例使用2个显示器作为客户端设备150的一部分,但是本领域普通技术人员将认识到其他说明性实施例可以包括以多种配置组织的任意数量的显示器。示例可以包括被组织为整体显示器的上半部和下半部的2个显示器,或显示器的4×3矩阵,这只是举几个例子。显示器的所有这样的配置和数量都在本公开的范围内。
由于简化了客户端设备150的组件的设计,所以可以减小所述客户端设备的整体尺寸和轮廓(profile)。例如,在至少一些说明性实施例中,图形控制单元可被减小至类似USB存储棒(有时被称为“dongle”)的外壳,其用VGA连接器耦合到显示器并且用USB连接器耦合到网络接口和路由器。在其他说明性实施例中,所述图形控制单元可以集成在所述显示设备外壳内,其中USB电缆将网络接口和路由器耦合到每个组合的图形控制单元/显示设备。其他外壳配置对本领域普通技术人员而言将变得显而易见,并且所有这样的配置都在本公开的范围内。
图4A示出根据至少一些说明性实施例的用于在基于图像的远程访问系统的服务器内生成并分发图形图像数据的方法400。在服务器帧缓冲器内的图像数据被划分为子区域(块402)之后,通过将包括当前图像数据的帧缓冲器与包括较旧的帧数据的另一个帧缓冲器相比较来生成差数据(块404)。所述差数据基于包含所述数据的帧缓冲器子区域而被划分(块406),并且用于每个区域的数据被压缩(块408)。在至少一些说明性实施例中,省略了块408的压缩。一旦所述数据被压缩,就形成消息,其中每个消息包括对应于单个子区域的差数据,并且进一步包括对应的子区域标识符,并且将具有差数据的消息传输到客户端设备(块410),从而结束所述方法(块412)。在至少一些说明性实施例中,除了差数据之外,子区域特定的参考帧也被传输到客户端。
图4B示出根据至少一些说明性实施例的用于在基于图像的远程访问系统的客户端内接收并路由图形图像数据的方法450。在接收到与服务器帧缓冲器内的子区域相关联的图形图像数据后,所述图像数据被路由到耦合到与相同的子区域相关联的显示器的图形控制单元(块452)。在至少一些说明性实施例中,所接收的图形图像数据包括如由方法400描述的那样所生成的差数据,而在其他说明性实施例中,所接收的图形图像数据还可以包括参考帧数据。一旦所述图形图像数据被路由到图形控制单元,所述数据就被解压缩(块454)。在至少一些说明性实施例中,省略了块454的解压缩。在解压缩之后,图形图像数据被用于更新对应于与所述数据的子区域相关联的显示器的客户端帧缓冲器(块456),从而结束所述方法(块458)。
上面的讨论意欲说明本发明的原理和各种实施例。对于本领域技术人员来说,一旦完全理解上述公开,许多变形和修改将变得清楚。例如,尽管所述说明性实施例描述了使用USB接口在网络接口和路由器与其他客户端组件之间进行通信,但是其他说明性实施例包括其他合适的通信接口,并且所有这样的通信接口都在本公开的范围内。而且,尽管所述服务器计算机被描述为使用双缓冲的帧缓冲器,并且所述客户端设备被描述为使用单缓冲的帧缓冲器,但是任意数量的附加帧缓冲器可以在所述的服务器计算机和客户端设备内使用,并且所有这样的帧缓冲器配置都在本公开的范围内。此外,尽管在一些说明性实施例中可能仅仅描述了差数据,但是除了如本文所描述的那样生成和分发差数据之外,所描述的系统和方法也应用于参考帧和参考帧数据的附加分发。而且,尽管本文所描述的实施例包括主操作系统,但是其他说明性实施例包括不需要主操作系统的服务器远程访问软件,或者包括作为客户或主操作系统的服务执行的服务器远程访问软件。而且,尽管在所述的说明性实施例中示出配置有单个图形适配器的客户操作系统,但是其他说明性实施例可以包括配置有多个图形适配器(真实的或虚拟的)的客户操作系统,每个图形适配器配置有如本文所述的多个子区域和显示设备。下面的权利要求意欲被解释为包括所有这样的变形和修改。

Claims (20)

1.一种方法,包括:
将存储在与图形适配器相关联的第一帧缓冲器中的图形数据划分为多个子区域,所述多个子区域的每一个唯一地与多个显示器之一相关联,并且所述帧缓冲器内的每个位置包括与待呈现在显示器上的像素相关联的数据;
通过将也与所述图形适配器相关联并且包括先前呈现在所述多个显示器上的数据的第二帧缓冲器中存储的数据与第一帧缓冲器中存储的数据相比较来生成差数据;以及
在消息内通过网络将至少部分差数据传输到包括所述多个显示器的客户端设备,所述消息包括与子区域相关联的差数据,并且进一步包括与所述子区域相关联的标识符;
其中所述差数据能够用于更新所述多个显示器上所呈现的图像。
2.权利要求1的方法,进一步包括在所述传输之前压缩所述差数据。
3.权利要求2的方法,进一步包括在所述传输之后在客户端工作站处解压缩所述差数据。
4.权利要求1的方法,进一步包括:
在客户端设备处接收所述消息;
基于所述消息内的标识符将所述消息内的差数据路由到所述多个显示器中的显示器;以及
使用所述消息内的差数据来更新所述显示器上呈现的图像。
5.权利要求1的方法,进一步包括操作所述客户端设备以配置由所述图形适配器生成的图像的分辨率。
6.权利要求1的方法,进一步包括操作所述客户端设备以定义第一帧缓冲器内的所述多个子区域、将标识符与所述多个子区域中的每一个相关联、以及将所述多个子区域中的每一个与所述多个显示器之一唯一地相关联。
7.一种系统,包括:
服务器计算机,所述服务器计算机包括:
服务器处理逻辑;
服务器存储器,其耦合到所述服务器处理逻辑;以及
图形适配器,其耦合到所述服务器处理逻辑和服务器存储器,所述图形适配器包括多个服务器帧缓冲器,所述多个服务器帧缓冲器中的每一个内的每个位置包括与待呈现在显示器上的像素相关联的数据;
其中第一服务器帧缓冲器内存储的数据被分组为第一服务器帧缓冲器内的子区域,每个子区域唯一地与多个显示设备中的一个显示设备相关联;以及
其中通过确定第一服务器帧缓冲器中存储的数据与第二服务器帧缓冲器中存储的数据之间的差来生成用于更新呈现在所述多个显示设备中至少一个上的图像的差数据,第二服务器帧缓冲器中的数据先前已经被显示。
8.权利要求7的系统,其中所述差数据由所述服务器处理逻辑或所述图形适配器生成。
9.权利要求7的系统,其中所述图形适配器是包括图形处理逻辑并且进一步包括含有所述多个帧缓冲器的图形存储器的真实的图形适配器。
10.权利要求7的系统,其中所述图形适配器是虚拟的图形适配器并且所述服务器存储器包括所述多个帧缓冲器。
11.权利要求7的系统,进一步包括耦合到所述服务器处理逻辑的服务器网络接口,其中包括与所述多个子区域中的子区域相关联的差数据的消息由网络接口通过网络传输到客户端设备,所述消息进一步包括与所述子区域相关联的标识符。
12.权利要求11的系统,其中所述差数据在被传输到客户端设备之前被服务器处理逻辑压缩。
13.权利要求11的系统,其中所述客户端设备包括:
客户端网络接口和路由器;
多个图形控制单元,其耦合到所述客户端网络接口和路由器,每个图形控制单元生成视频控制和数据信号;以及
所述多个显示设备,每个显示设备耦合到所述多个图形控制单元中的图形控制单元;
其中所述客户端网络接口和路由器从服务器计算机接收消息并且基于所述消息内的标识符将该消息路由到所述多个图形控制单元之一;以及
其中所述图形控制单元使用所述消息内的差数据来更新耦合到所述图形控制单元的所述多个显示设备中的显示设备上呈现的图像。
14.权利要求13的系统,其中如果从客户端网络接口和路由器接收的消息内的差数据先前被服务器计算机压缩,则所述多个图形控制单元中的每一个解压缩所述差数据。
15.权利要求13的系统,进一步包括:
鼠标,其耦合到客户端网络接口和路由器;
键盘,其耦合到客户端网络接口和路由器;
其中来自键盘和鼠标的数据被客户端网络接口接收并且通过网络被传输到服务器计算机。
16.一种计算机可读介质,包括使得第一处理器进行下列操作的软件:
将存储在与图形适配器相关联的第一帧缓冲器中的图形数据划分为多个子区域,所述多个子区域中的每一个唯一地与多个显示器之一相关联,并且所述帧缓冲器内的每个位置包括与待呈现在显示器上的像素相关联的数据;
通过将也与所述图形适配器相关联并且包括先前呈现在所述多个显示器上的数据的第二帧缓冲器中存储的数据与第一帧缓冲器中存储的数据相比较来生成差数据;以及
通过网络在消息内将至少部分差数据传输到包括所述多个显示器的客户端设备,所述消息包括与子区域相关联的差数据,并且进一步包括与所述子区域相关联的标识符;
其中所述差数据能够用于更新所述多个显示器上所呈现的图像。
17.权利要求16的计算机可读介质,其中所述软件进一步使得第一处理器在传输之前压缩所述差数据。
18.权利要求17的计算机可读介质,其中所述软件使得第二处理器在传输之后在客户端工作站处解压缩所述差数据。
19.权利要求16的计算机可读介质,其中所述软件使得第二处理器使用所述消息内的差数据来更新所述多个显示器中的显示器上呈现的图像。
20.权利要求19的计算机可读介质,其中所述软件使得第三处理器在客户端设备处接收所述消息,并且基于所述消息内的标识符将所述消息内的差数据路由到与所述显示器相关联的图形控制单元。
CN2008801293657A 2008-03-24 2008-03-24 基于图像的远程访问系统 Pending CN102047612A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/058032 WO2009120185A1 (en) 2008-03-24 2008-03-24 Image-based remote access system

Publications (1)

Publication Number Publication Date
CN102047612A true CN102047612A (zh) 2011-05-04

Family

ID=41114209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801293657A Pending CN102047612A (zh) 2008-03-24 2008-03-24 基于图像的远程访问系统

Country Status (5)

Country Link
US (1) US20110047476A1 (zh)
EP (1) EP2266260A4 (zh)
CN (1) CN102047612A (zh)
TW (1) TW200943169A (zh)
WO (1) WO2009120185A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015154592A1 (zh) * 2014-10-15 2015-10-15 中兴通讯股份有限公司 一种更新虚拟桌面的方法和装置
CN108886513A (zh) * 2016-03-08 2018-11-23 巴科股份有限公司 具有经节制内容流的协作平台
CN109219832A (zh) * 2016-07-01 2019-01-15 英特尔公司 用于帧缓冲器压缩的方法和设备
CN110084877A (zh) * 2011-09-26 2019-08-02 谷歌有限责任公司 使用聚合特征标识符来管理地图元素
CN113791858A (zh) * 2021-09-10 2021-12-14 中国第一汽车股份有限公司 一种显示方法、装置、设备及存储介质
CN114125463A (zh) * 2021-11-14 2022-03-01 山东云海国创云计算装备产业创新中心有限公司 一种视频压缩的方法、系统、存储介质及设备

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8750490B2 (en) * 2007-08-22 2014-06-10 Citrix Systems, Inc. Systems and methods for establishing a communication session among end-points
US9137377B2 (en) * 2007-08-22 2015-09-15 Citrix Systems, Inc. Systems and methods for at least partially releasing an appliance from a private branch exchange
US8612614B2 (en) * 2008-07-17 2013-12-17 Citrix Systems, Inc. Method and system for establishing a dedicated session for a member of a common frame buffer group
US8375138B2 (en) * 2008-11-05 2013-02-12 Fh Innovations, Ltd Computer system with true video signals
US20110102442A1 (en) * 2009-11-04 2011-05-05 Ahmed Rafeek Bin Ahmad Ibrahim Recording Contents of Display Screens
US20110202845A1 (en) * 2010-02-17 2011-08-18 Anthony Jon Mountjoy System and method for generating and distributing three dimensional interactive content
US8754900B2 (en) * 2010-06-17 2014-06-17 Thinci, Inc. Processing of graphics data of a server system for transmission
US9373152B2 (en) * 2010-06-17 2016-06-21 Thinci, Inc. Processing of graphics data of a server system for transmission including multiple rendering passes
CN102446341A (zh) * 2010-09-30 2012-05-09 联想(北京)有限公司 服务器及其图像处理方法
JP5906667B2 (ja) * 2010-11-04 2016-04-20 ブラザー工業株式会社 端末装置、サーバ、画面制御方法、画面遷移方法及びコンピュータプログラム
TWI517728B (zh) * 2011-05-13 2016-01-11 晨星半導體股份有限公司 提供視效訊息的方法與相關通訊系統及其發訊端
CN102790829B (zh) * 2011-05-19 2015-06-24 晨星软件研发(深圳)有限公司 提供视效讯息的方法与相关通信系统及其发讯端
JP5662369B2 (ja) * 2012-03-29 2015-01-28 株式会社東芝 画面転送装置及び画面転送システム
CN103455292B (zh) * 2012-05-28 2016-09-21 展讯通信(上海)有限公司 业务数据显示处理方法与装置、用户设备
TWI550396B (zh) * 2013-06-17 2016-09-21 廣達電腦股份有限公司 電子裝置及其畫面更新方法
US9959842B2 (en) * 2016-07-06 2018-05-01 American Megatrends, Inc. On-screen display at thin client
GB201714876D0 (en) * 2017-09-15 2017-11-01 Previse Ltd Finance management platform and method
CN110225125A (zh) * 2019-06-14 2019-09-10 广州四维培基电子有限公司 一种基于网络的协同计算服务的系统及终端
CN112995681A (zh) * 2021-03-01 2021-06-18 合肥宏晶微电子科技股份有限公司 图像数据传输方法、电子设备和计算机可读介质
CN113840174B (zh) * 2021-09-23 2023-05-05 京东方科技集团股份有限公司 图像显示方法、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050025373A1 (en) * 2003-07-30 2005-02-03 Samsung Electronics Co, Ltd. MPEG-4 encoder using H.263 multimedia chip
US20050193396A1 (en) * 2004-02-27 2005-09-01 Stafford-Fraser James Q. Computer network architecture and method of providing display data
US20070097130A1 (en) * 2005-11-01 2007-05-03 Digital Display Innovations, Llc Multi-user terminal services accelerator

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020030635A1 (en) * 1998-11-16 2002-03-14 Mcgowan Scott J. Method and apparatus for phase-locking a plurality of display devices and multi-level driver for use therewith
KR100388502B1 (ko) * 2000-12-30 2003-06-25 쓰리알 주식회사 복수 채널의 동영상 전송이 가능한 인터넷 방송 시스템
US20030058248A1 (en) * 2001-09-21 2003-03-27 Hochmuth Roland M. System and method for communicating graphics over a network
EP1839177A4 (en) * 2005-01-05 2010-07-07 Divx Inc SYSTEM AND METHOD RELATING TO OFF-SITE USER INTERFACE
US20070097016A1 (en) * 2005-10-27 2007-05-03 Scott McGowan Triple Screen Video Arcade Circuit
US20070106959A1 (en) * 2005-11-05 2007-05-10 Scott McGowan Multi Internet Video Card
US7439937B2 (en) * 2006-04-14 2008-10-21 Microsoft Corporation Appropriately rendering terminal server graphical data at multiple client side monitors
US8127233B2 (en) * 2007-09-24 2012-02-28 Microsoft Corporation Remote user interface updates using difference and motion encoding
US20090102868A1 (en) * 2007-10-23 2009-04-23 Motorola, Inc. Method and apparatus for dynamically adjusting resolution of display device in mobile computing devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050025373A1 (en) * 2003-07-30 2005-02-03 Samsung Electronics Co, Ltd. MPEG-4 encoder using H.263 multimedia chip
US20050193396A1 (en) * 2004-02-27 2005-09-01 Stafford-Fraser James Q. Computer network architecture and method of providing display data
US20070097130A1 (en) * 2005-11-01 2007-05-03 Digital Display Innovations, Llc Multi-user terminal services accelerator

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110084877A (zh) * 2011-09-26 2019-08-02 谷歌有限责任公司 使用聚合特征标识符来管理地图元素
WO2015154592A1 (zh) * 2014-10-15 2015-10-15 中兴通讯股份有限公司 一种更新虚拟桌面的方法和装置
CN108886513A (zh) * 2016-03-08 2018-11-23 巴科股份有限公司 具有经节制内容流的协作平台
CN108886513B (zh) * 2016-03-08 2022-08-16 巴科股份有限公司 具有经节制内容流的协作平台
CN109219832A (zh) * 2016-07-01 2019-01-15 英特尔公司 用于帧缓冲器压缩的方法和设备
CN109219832B (zh) * 2016-07-01 2024-03-01 英特尔公司 用于帧缓冲器压缩的方法和设备
CN113791858A (zh) * 2021-09-10 2021-12-14 中国第一汽车股份有限公司 一种显示方法、装置、设备及存储介质
CN114125463A (zh) * 2021-11-14 2022-03-01 山东云海国创云计算装备产业创新中心有限公司 一种视频压缩的方法、系统、存储介质及设备
CN114125463B (zh) * 2021-11-14 2024-04-26 山东云海国创云计算装备产业创新中心有限公司 一种视频压缩的方法、系统、存储介质及设备

Also Published As

Publication number Publication date
EP2266260A4 (en) 2011-06-29
EP2266260A1 (en) 2010-12-29
US20110047476A1 (en) 2011-02-24
WO2009120185A1 (en) 2009-10-01
TW200943169A (en) 2009-10-16

Similar Documents

Publication Publication Date Title
CN102047612A (zh) 基于图像的远程访问系统
US10555010B2 (en) Network-enabled graphics processing module
CN101351785B (zh) 多用户终端服务加速器
US8896612B2 (en) System and method for on-the-fly key color generation
US20140285502A1 (en) Gpu and encoding apparatus for virtual machine environments
US20050021656A1 (en) System and method for network transmission of graphical data through a distributed application
US20050027896A1 (en) Method and system for transmitting data for a shared application
CN106575158B (zh) 环境映射虚拟化机构
WO2012159640A1 (en) Method for transmitting digital scene description data and transmitter and receiver scene processing device
US8749566B2 (en) System and method for an optimized on-the-fly table creation algorithm
EP3726838B1 (en) Management of memory for storing display data
US20060119602A1 (en) Address based graphics protocol
US10733954B2 (en) Method of processing display data
US20160098811A1 (en) Apparatus and method for combining video frame and graphics frame
GB2538797B (en) Managing display data
KR20160032936A (ko) 렌더링 데이터의 압축을 해제하는 장치, 방법 및 기록매체
EP2028864A2 (en) Image transfer device and method thereof, and computer readable medium
JP4592998B2 (ja) 画像情報の伝送方法及び伝送装置
CN114998504B (zh) 二维图像光照渲染方法、装置、系统和电子装置
AU2017363055B2 (en) Multi-pixel caching scheme for lossless encoding
CN114489552B (zh) 远程显示控制系统、远程控制界面显示方法及计算设备
CN105760338A (zh) 一种瘦客户端的图像显示方法、装置及电子设备
CN113613043A (zh) 屏幕显示和图像处理方法以及嵌入式设备和云服务器
CN113835816A (zh) 一种虚拟机桌面显示方法、装置、设备及可读存储介质
US8984167B1 (en) Real-time frame streaming from remote graphics processing unit

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110504