CN101258478A - 高级图形流 - Google Patents

高级图形流 Download PDF

Info

Publication number
CN101258478A
CN101258478A CNA2006800327888A CN200680032788A CN101258478A CN 101258478 A CN101258478 A CN 101258478A CN A2006800327888 A CNA2006800327888 A CN A2006800327888A CN 200680032788 A CN200680032788 A CN 200680032788A CN 101258478 A CN101258478 A CN 101258478A
Authority
CN
China
Prior art keywords
channel
tree
packet
graphical stream
compositing engine
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
CNA2006800327888A
Other languages
English (en)
Other versions
CN101258478B (zh
Inventor
S·瑟伯拉玛尼亚
L·E·布兰科
A·百奥拉
O·D·厄格拉纽
S·萨姆帕斯
P·奥勒泽塔
G·科扎姆
J·奇克
P·戴维
I·雷齐特林
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101258478A publication Critical patent/CN101258478A/zh
Application granted granted Critical
Publication of CN101258478B publication Critical patent/CN101258478B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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

Abstract

向消耗进程提供表示图形或图像的图形命令的系统。图形命令由包括对象和描述对象的资源的视觉树表示。对象和资源被传送给创建类似于视觉树的类似合成树的合成引擎。合成树用于呈现图形或图像。

Description

高级图形流
本发明要求在35U.S.C.§119下2005年9月7日提交的美国临时专利申请No.60/714,880的优先权,所公开的内容被结合于此。
发明背景
当应用程序或进程提供要显示的图像或图形时,应用程序或进程可以向操作系统组件或其他进程发送图形命令,该操作系统组件或其它进程使用图形命令来呈现图像或图形。也称为高级图形命令或图元(primitives)的图形命令可以指定或定义色彩、线条、形状或其他图形构造。接收图形命令的操作系统组件或进程可以将图形命令翻译或转换成低级图形信息,诸如用于在显示设备上呈现图形的个别像素值或位图。
图形命令的一个示例是表示“图示设备接口”、“图形设备接口”或“图形显示接口”的GDI。在GDI实现中,接口(即GDI接口)可以是接收图形命令的组件或进程的部分或支持该组件或进程。具体地,GDI接口从应用程序接收参数,其中参数用于要示出的图像或图形。GDI接口通过将命令发送给进程或组件来生成图像,该进程或组件接着将图像呈现到显示器或诸如监视器、打印机等的输出设备上。
在某些实现中,发送这种图形命令的应用程序或进程驻留在独立于主存接收图形命令的操作系统组件或进程的设备或计算机的设备或计算机上。这些实现可以被称为跨机器系统,其示例包括终端服务系统,其中应用程序驻留在中央服务器计算机上,而远程客户机计算机接收在本地呈现(即在客户机计算机处)的图形命令。在其他实现中,接收图形命令的应用程序和操作系统组件(进程)驻留在相同的设备或计算机上,并且可以被称为跨进程系统。其他实现可以使用相同的进程来发送图形命令;然而,这种实现可以使用在其中传递图形命令的不同的线程。这些实现可以被称为跨线程系统。
不管特定的实现或系统是跨机器的、跨进程的或是跨线程的,应用程序发送的图形命令通常是短暂的。换言之,一旦应用程序发送了图形命令以供处理并被接收到,就马上被消耗或处理。在使用GDI时尤其如此,其中接口接收参数、创建图形命令,并且图形命令被马上消耗。因此,如果丢失了特定的图形或图像,那么应用程序或进程必须将图形命令(参数)重新发送给接收组件或进程。此外,由于图形命令可以在它们被接收到时消耗,因此如果用户期望复制为图形命令所特有的图形或图像,则必须重新发送特定的图形命令。
在某些情况下,最优化或压缩图形命令。这种最优化或压缩通常在诸如终端服务系统等跨机器实现中执行,其中中央服务器计算机和远程客户机计算机之间的通信是通过诸如网络等通信介质的。通信介质或网络上的带宽通常是有限的。由此,可能需要最优化或压缩。最优化或压缩会导致受损的图像质量。例如,在某些情况下,期望在接收计算机或设备处放大图形或图像;然而,由于图形命令已经过压缩,因此放大会导致图像降级。
此外,在某些情况下,不同的应用程序可以支持或提供不同类型或不同的图形命令。例如,一应用程序可以支持诸如GDI的传统图形命令格式,而另一应用程序可以支持新的或不同的图形命令格式。然而,可能期望支持不同的图形命令格式,并允许从使用不同图形命令格式的应用程序来处理图形。
发明内容
在图形流的数据分组中提供了图形命令。数据分组表示诸如视觉树等可编辑模型的对象和资源。通过专用的信道来发送图形流或数据分组,其中可以在信道中引入修改图形流和数据分组的应用程序。由创建类似于视觉树的合成树的合成引擎接收数据分组。
提供了本概述是为了以简化的形式引入将在以下具体实施方式中进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,它也不旨在用作协助确定所要求保护的主题的范围。
附图说明
参考附图描述了详细的描述。在附图中,参考标号的最左面的位标识了该参考标号首次出现所在的附图。在不同附图中相同参考标号的使用指示相似或相同的物品。
图1是实现用以提供视觉树形式的图形的信道的系统的框图。
图2是表示图形或图像的视觉树和类似的合成树的图示。
图3是实现视觉树和合成树以提供图形和图像的计算设备的框图。
图4是实现修改图形或图像的合成树的应用程序和应用程序编程接口的系统的框图。
图5是经修改的合成树的图示。
图6是示出一进程的流程图。
图7是示出一进程的流程图。
具体实施方式
图1示出了提供和呈现图形或图像的系统100。具体地,系统100实现使用视觉树和合成树来提供和呈现图形或图像。系统100可以被实现为跨机器系统,其中系统100的元件或进程驻留在一个以上的机器或设备中,并且机器或设备之间的通信通过诸如包括内联网和互联网的网络等通信介质。跨机器系统的示例包括终端服务系统,其中中央服务器计算机支持一个或多个客户机计算机。具体地,应用程序驻留在中央服务器计算机处,并且由客户机计算机访问或使用。系统100也可以被实现跨进程系统,其中元件或进程驻留在相同的机器或设备上。系统100的另一示例性实现是跨线程系统,其中图形通过相同进程中的不同线程发送。
为了简单起见,系统100示出了单个应用程序102;然而,系统100可以包括多个应用程序。系统100还包括框架104。框架104的一个示例包括微软公司提供的Presentation Foundation。框架104访问诸如应用程序102的一个和多个应用程序。具体地,应用程序102将图形命令提供给框架104。框架104可以实现或包括与应用程序102通信的特定应用程序编程接口(API)。
系统100包括从框架104接收图形命令并创建视觉树108的核心106。视觉树108是框架104提供的图形或图像的表示,其中图形或图像代表来自应用程序102的图形命令。
视觉树106由视觉对象和资源组成,如以下进一步详细描述的。视觉对象和资源可以被转换成组成数据或图形流的特定数据分组。图形流在专用信道110上被传送给合成引擎112。信道110是专用信道,即当系统100中包括其他应用程序时,每个应用程序具有它自己的专用信道。在跨线程系统中,其中图形流在不同的线程上传送,每个专用信道代表一特定的线程。如以下进一步描述的,信道110也可以被分成不同的功能部分,包括上半信道和下半信道。
可以用特定的格式提供图形流的数据分组。一示例性数据分组格式是32位数据分组大小值和32位无符号分组标识值,之后是一个和多个命令的分组数据。此外,当实现多个信道时,可以使每个信道与特定的连接相关联。数据分组可以提供指定信道连接的消息。这种消息可以用以下格式实现:包括示例性字段“连接ID”之后是“信道ID”,之后是“命令ID”,之后是“命令数据”。
可以提供返回信道114,以使合成引擎112能将消息发送回核心106、框架104和应用程序102。可以向每个专用信道(例如信道110)提供诸如返回信道114等返回信道。通过返回信道114发回的消息可以包括硬件状态和/或对合成引擎112支持的硬件或硬件配置的改变。由合成引擎112返回的消息的其他示例包括存储器外信息、帧频消耗信息、硬件改变等。
可以分批地安排数据分组,其中通过信道108将成批的数据分组发送给合成引擎112。例如,视觉树108的视觉对象和资源作为一批发送给合成引擎112。合成引擎112在创建类似的合成树116之前,等待接收整批的视觉对象和资源。除了在图形流中发送的对象和资源之外,图形流中包括命令或指令。这些命令或指令被特别地用于创建合成树116。当系统100包括多个应用程序时,由于每个应用程序具有其自身专用的信道,其中传送图形流、特别是成批的数据分组,因此合成引擎112不必等待在信道上传送的其他批或图形流。换言之,专用信道防止不同应用程序传送图形流(数据分组批次)的干扰。此外,专用信道允许图形流的内在同步,使得以它们的相关时序接收数据分组。
合成树116包括与视觉树108相同的信息(即类似的对象和资源);然而,合成树116被格式化以供进程/功能118使用。进程/功能118可以是使用合成树116呈现图形或图像的操作系统组件或应用程序组件。进程/功能118可以将合成树116翻译或转换成低级图形信息,诸如用于在显示设备(未示出)上呈现图形的个别像素值或位图。如以下进一步描述的,合成树116的对象和资源以及有关重建合成树116的其他命令或指令可以被作为一文件存储在本地存储器中,以供今后使用或在诸如当由合成表示的图形或图像丢失时“刷新”的情况下使用。
可以在经由信道110或其他信道发送图形流时对它们执行最优化或压缩。最优化或压缩可以实现各种最优化和/或压缩方法之一。此外,可以使用各种传输协议(例如RPC、RDP、TCP/IP等)和/或方法之一来传输图形流消息或图形流。
图2示出了示例性视觉树108和示例性合成树116。视觉树108由分层图形或视觉对象V1 200(1)到VN 200(N)组成。视觉树108表示图形或图像。每个视觉对象200还可以通过命令、指令或资源(统称为“资源”)描述。具体地,资源可用于描述如何画出视觉对象。资源可以具有更高顺序或更低顺序的资源。例如,图形对象V3 200(3)由“画线”资源202定义。“画线”资源202进一步地由“笔”资源204描述。“笔”资源204进一步地由“刷子”资源206描述。
如上所述,视觉对象V200与资源(例如资源202、204、206)一起被转换成数据分组并且在图形流中与命令或指令一起发送。命令或指令被用于使用类似的合成对象C1 208(1)到CN 208(N)和定义每个合成对象C 208(例如“画线”资源210、“笔”资源212和“刷子”资源214)的资源来构建合成树116。如上所述,接收视觉对象、资源、命令和指令的图形流的合成引擎可以在构建合成之前等待要接收的所有数据分组。因此,可以将视觉对象、资源、命令和指令作为一个批次发送。
图3示出了实现视觉树和合成树以便提供和呈现图形或图像的示例性计算设备300。计算设备300是跨进程系统的一种实现;然而,会变得显然的是计算设备300中的元件也可以被实现为跨机器和跨线程系统的一部分、或在其中具有类似的元素。计算设备300可以是常规的桌面个人计算机(PC),包括本地操作系统、处理单元或处理器302、以及存储系统或存储器304。作为一个示例,计算设备300是使用来自微软公司的
Figure A20068003278800081
品牌操作系统实现的通用PC。
在该示例中,应用程序306和传统应用程序308可以是驻留在存储器304中或独立于存储器304驻留的多个应用程序的一部分。程序306和308由处理器302特别地访问和控制。传统应用程序308可以包括实现诸如GDI等图形命令格式的应用程序。
计算设备300包括支持应用程序306的框架和核心310。框架和核心310包括上述的框架104和核心106。在该示例中,传统框架和核心312支持传统应用程序308。在其他实现中,可以使用单个框架和核心来支持多个应用程序。基于从各自的应用程序306和传统应用程序308接收到的命令,框架和核心310与传统框架和核心312可以被特别地配置以创建和提供诸如视觉树108的视觉树。
框架和核心310被连接到重定向器314,它可以是到支持应用程序306的专用信道“A”的接口。重定向器314可以被认为是信道“A”的“上半部分”。传统框架和核心312同样地被连接到传统重定向器316,传统重定向器316是到支持传统应用程序308的独立信道“B”的接口。同样地,重定向器316可以被视为信道“B”的“上半部分”。重定向器314和316可以被连接到或使用传输层或传输318。重定向器层320是信道“A”的下半部分,而重定向器层322是信道“B”的下半部分。
合成引擎“A”324通过信道“A”接收图形流,并创建合成树以供进程/功能“A”326使用。同样地,合成引擎“B”328通过信道“B”接收图形流,并创建合成树以供进程/功能“B”330使用。进程/功能“A”326和进程/功能“B”330的每一个使用所创建的合成树来向本地显示器或输出设备呈现或生成图形或图形。
图4示出了实现用于修改图形和图像的合成树的应用程序和应用程序编程接口。在该示例中,系统400是上述系统100的变体。在某些情况下,期望修改诸如应用程序306和传统应用程序308等应用程序提供的图形或图像。考虑到可能在发送图形流消息或图形流时发生最优化或压缩,尤其是在跨机器系统中,期望在发生修改时使得图形或图像的降级最小化。
在该示例中,应用程序402位于信道404的上半部分和信道406的下半部分之间。应用程序402可以执行图形或图像修改,或者在某些情况下应用程序402可以被配置成能够访问或查看通过信道(即信道半部分404和406之间)传递的图形流的可访问应用程序。一般地,应用程序402被认为是可置于信道内的中介。
图形或图像修改的一个示例是扩大或放大图形或图像。应用程序402特别地修改传递通过信道的图形流或特定数据分组,使得经修改的合成树408被创建。如以下进一步描述地,可以对合成树的一个特定节点或多个节点作出修改,而不管该节点或多个节点在合成中处于何层次。如果修改了相对高级的节点,就会影响到(即修改)合成树上其下的所有节点。
也可以提供图形流应用程序编程接口(API)410和回放API 412,并且向核心104和合成引擎110显示应用程序402。具体地,图形流API 410用于访问来自核心104的图形流,而回放API 412由合成引擎110用于打开来自应用程序402的图形流。
图形流API 410可以包括“图形流打开”API,用于打开图形流以供读取。此外,指针可以由“图形流打开”API实现并被提供给应用程序402,以用于合成引擎110支持的特定功能或进程。图形流API 410还可以包括“图形流关闭”API,用于关闭图形流不被读取。“图形流关闭”API使得关闭消息被发送给合成引擎110或合成引擎110所支持的特定功能或进程。
图形流API 410也可以包括“图形流集转换提示”API,用于向核心104、或在跨机器系统(例如终端服务系统)的情况下向图形服务器(即核心104驻留在图形服务器上)提供应用程序402想要对图形流执行动作或修改(例如放大)的提示或消息。例如,在放大的情况下,“图形流转换提示”API向应用程序102提供回消息以导致扩大或放大。此外,可以提供指向特定的经修改合成树404的指针。可以通过诸如返回信道114等返回信道发送消息。
回放API 412提供合成引擎112绘制或创建经修改的合成树408的能力。一般地,回放API 412向应用程序402展示信道406的下半部分和合成引擎112。
图5是经改进或修改的合成树的图示。具体地,示出了由应用程序402修改的经修改合成树408。在该示例中,修改是要扩大或放大现有的合成树(例如合成树116)。
当有关图形或图像发生修改时,对合成树,具体地是对合成树的一个节点或多个节点执行修改。取决于哪个或哪几个节点被修改,可能影响其他的节点。换言之,如果修改一特定节点,就会影响或修改该特定节点的分支的所有低级节点。在该示例中,由“放大”节点500修改节点C1 208(1)。因此,现有的合成树116被修改(即被放大)并且作为经修改合成树408提供。
图6示出了向进程或功能提供代表视觉树的图形流的进程600。进程600还可以被实现为支持对图形流的修改的API。进程600被示作逻辑流程图中框的集合,表示可以用硬件、软件、固件或其组合实现的一系列操作。在软件的环境中,框表示在由一个和多个处理器执行时执行所述的操作的计算机指令。虽然作为流程图描述,但是可构想某些框可以并发地或以不同的顺序发生。进程600可以由例如图1的系统100和/或图3中所讨论的计算设备300实现,虽然进程600可以由其他体系结构实现。
在框602,将图形命令发送给位于信道中的应用程序,并被其接收到。应用程序可以是可访问应用程序或执行修改的应用程序。这种应用程序的一个示例是应用程序402。图形流可以包括代表组成视觉树的视觉对象和资源的数据分组。
在框604,应用程序打开或访问图形流。打开可以仅与读取图形流和图形流的数据分组有关,或者可以对图形流执行修改。此外,可以向接收图形流的合成引擎所支持的功能或进程提供指针。
在框606,执行对图形流和/或数据分组的实际修改。修改的示例包括放大。在某些情况下,可以向提供图形流的核心提供消息,其中消息指示要发生诸如放大等修改。
在框608,将经修改的流传递给合成引擎,它可以基于原始的视觉树和来自修改的改变或修改来创建合成树。
在框610,可以关闭图形流。换言之,阻止应用程序读取图形流。可以将指示正在发生或已发生关闭的消息发送给合成引擎。
图7示出了允许框架和合成引擎之间的通信的进程700。进程700还可以被实现为提供这种通信的协议。进程700被示作逻辑流程图中框的集合,表示可以用硬件、软件、固件或其组合实现的一系列操作。在软件的环境中,框表示在由一个和多个处理器执行时执行所述的操作的计算机指令。虽然作为流程图描述,但是可构想某些框可以并发地或以不同的顺序发生。进程700可以由例如图1的系统100和/或图3中所讨论的计算设备300实现,虽然进程700可以由其他体系结构实现。
在框702,创建允许框架或核心与合成引擎之间的通信的专用信道。也可以创建专用返回信道,以允许合成引擎将消息发送回框架或核心。
在框704,在专用信道上发送或提供数据分组。数据分组可以是图形流的部分并且作为一个批次发送。数据分组的批次包括创建可编辑模型所需的所有对象和资源。模型代表图形或图像,例如可以是诸如上述的视觉树108的分层树。
在框706,可以在信道中引入应用程序以修改图形流或数据分组。应用程序的示例包括图形流读取器或放大器。可以将指示要执行修改的消息返回给框架或核心。
在框708,使用未经修改或经修改的数据分组构建可编辑模型。如所述的,可编辑模型可以是与在核心处创建的视觉树类似的分层树。具体地,可编辑模型被认为是或称为合成树,诸如合成树116和408。
结论
上述系统支持将诸如视觉树的可编辑模型传送给创建用于呈现图形或图像的合成树的合成引擎。虽然以特定于结构化特征和/或方法动作的语言描述了本发明,但是应该理解在所附权利要求书中限定的本发明不是必须限于上述的特定特征或动作。相反,上述特定的特征和动作是作为实现所要求保护的本发明的示例性形式来公开的。

Claims (20)

1.一种修改代表视觉树的图形命令的方法,包括:
接收图形流中的所述图形命令;
打开所述图形流;
将所述图形流修改成经修改的图形流;以及
将经修改的图形流传递给创建类似于所述视觉树的经修改合成树的合成引擎。
2.如权利要求1所述的方法,其特征在于,所述接收图形流中的图形命令包括代表组成所述视觉树的视觉对象和资源的数据分组。
3.如权利要求1所述的方法,其特征在于,所述打开是由可访问应用程序执行的。
4.如权利要求1所述的方法,其特征在于,所述打开包括向所述合成引擎支持的应用程序提供指针。
5.如权利要求1所述的方法,其特征在于,所述修改包括对所述图形流的放大操作。
6.如权利要求1所述的方法,还包括关闭所述图形流不被读取。
7.如权利要求6所述的方法,其特征在于,所述关闭还包括将正在关闭的消息发送给合成引擎。
8.如权利要求1所述的方法,还包括向所述核心提供有关修改所述图形流的消息。
9.一种在框架和合成引擎之间通信的方法,包括:
在所述框架和合成引擎之间创建专用信道;
在所述信道上提供数据分组,其中所述数据分组代表图形的可编辑模型的元素;以及
在所述合成引擎处构建所述图形的可编辑模型。
10.如权利要求9所述的方法,其特征在于,所述创建还包括为所述合成引擎创建返回信道,用于将状态信息发送给所述框架。
11.如权利要求9所述的方法,其特征在于,所述提供还包括将所述数据分组分批,其中仅在接收到完整批次的数据分组时所述合成引擎才构建所述可编辑模型。
12.如权利要求9所述的方法,其特征在于,所述提供包括在所述信道上发送包括所述数据分组的图形流。
13.如权利要求9所述的方法,还包括在所述构建之前访问和修改所述数据分组。
14.如权利要求9所述的方法,其特征在于,所述可编辑模型是包括在数据分组中表示的视觉元素和资源的树,并且命令在构建所述可编辑模型时在所述数据分组中提供。
15.一种系统,包括:
框架,从一个或多个应用程序访问表示图形或图像的图形命令;
核心,从所述框架接收所述图形命令并创建视觉树;
信道,从所述核心传送表示所述视觉树的对象和资源的数据分组;以及
连接到所述信道的合成引擎,用于创建类似于所述视觉树的合成树。
16.如权利要求15所述的系统,其特征在于,所述核心通过创建分层视觉对象和资源来创建所述视觉树,其中所述资源描述所述视觉对象。
17.如权利要求15所述的系统,其特征在于,所述信道是所述核心和合成引擎的专用信道。
18.如权利要求15所述的系统,其特征在于,所述信道是由上半部分和下半部分组成的,其中应用程序可以在所述上半部分和所述下半部分之间实现。
19.如权利要求15所述的系统,还包括返回信道,其中所述合成引擎通过所述返回信道将消息发送给所述核心。
20.如权利要求15所述的系统,其特征在于,所述系统是以下之一:跨机器系统、跨进程系统或跨线程系统。
CN2006800327888A 2005-09-07 2006-08-15 高级图形流 Expired - Fee Related CN101258478B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US71488005P 2005-09-07 2005-09-07
US60/714,880 2005-09-07
US11/279,194 2006-04-10
US11/279,194 US7609280B2 (en) 2005-09-07 2006-04-10 High level graphics stream
PCT/US2006/031718 WO2007030283A1 (en) 2005-09-07 2006-08-15 High level graphics stream

Publications (2)

Publication Number Publication Date
CN101258478A true CN101258478A (zh) 2008-09-03
CN101258478B CN101258478B (zh) 2012-06-27

Family

ID=37829623

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800327888A Expired - Fee Related CN101258478B (zh) 2005-09-07 2006-08-15 高级图形流

Country Status (11)

Country Link
US (1) US7609280B2 (zh)
EP (1) EP1922634B1 (zh)
JP (1) JP4827923B2 (zh)
KR (1) KR20080052574A (zh)
CN (1) CN101258478B (zh)
AU (1) AU2006287781A1 (zh)
BR (1) BRPI0615723A2 (zh)
CA (1) CA2621076A1 (zh)
NO (1) NO20080928L (zh)
RU (1) RU2431185C2 (zh)
WO (1) WO2007030283A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102301360A (zh) * 2009-01-29 2011-12-28 惠普开发有限公司 有选择地向多个发送计算机传送外围设备的数据
CN103562862A (zh) * 2011-06-02 2014-02-05 微软公司 全局合成系统

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8527563B2 (en) * 2005-09-12 2013-09-03 Microsoft Corporation Remoting redirection layer for graphics device interface
US8108799B2 (en) 2007-03-30 2012-01-31 Microsoft Corporation Remoting of windows presentation framework based applications in a non-composed desktop
CA2616324C (en) 2008-02-04 2015-06-16 Omnivex Corporation Digital signage display
CA2822771C (en) * 2008-02-04 2015-09-29 Omnivex Corporation Subscription based content delivery for a digital signage network
CA2620337C (en) * 2008-02-04 2012-11-27 Omnivex Corporation Digital signage network
US8230180B2 (en) * 2008-06-11 2012-07-24 Samsung Electronics Co., Ltd. Shared memory burst communications
KR101496340B1 (ko) * 2008-10-31 2015-03-04 삼성전자주식회사 프로세서 및 메모리 제어 방법
US8307103B2 (en) * 2009-03-09 2012-11-06 Microsoft Corporation Tear-free remote desktop protocol (RDP) display
US20130127849A1 (en) * 2011-05-26 2013-05-23 Sebastian Marketsmueller Common Rendering Framework and Common Event Model for Video, 2D, and 3D Content
US10031636B2 (en) * 2011-09-08 2018-07-24 Microsoft Technology Licensing, Llc Remoting desktop displays using move regions
TWI482118B (zh) * 2012-10-18 2015-04-21 Wistron Corp 處理圖形運算負載平衡之方法及系統
US9542906B2 (en) 2013-05-10 2017-01-10 Microsoft Technology Licensing, Llc Shared compositional resources
US10796397B2 (en) * 2015-06-12 2020-10-06 Intel Corporation Facilitating dynamic runtime transformation of graphics processing commands for improved graphics performance at computing devices

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5315698A (en) * 1991-08-21 1994-05-24 Digital Equipment Corporation Method and apparatus for varying command length in a computer graphics system
US5662383A (en) * 1995-08-11 1997-09-02 Bemis Manufacturing Company Apparatus for attaching fabric to a chair frame
US5657390A (en) 1995-08-25 1997-08-12 Netscape Communications Corporation Secure socket layer application program apparatus and method
US5842040A (en) 1996-06-18 1998-11-24 Storage Technology Corporation Policy caching method and apparatus for use in a communication device based on contents of one data unit in a subset of related data units
US6434578B1 (en) 1996-06-26 2002-08-13 Microsoft Corporation Generating instruction sequences using independently executable pane renderers
JPH1074137A (ja) 1996-08-30 1998-03-17 Hitachi Ltd グラフィックユーザーインターフェース変更システム
KR0175570B1 (ko) 1996-10-16 1999-04-01 양승택 Atm망의 정합을 위한 mpeg-2 ts 다중화장치
US5862383A (en) 1996-11-27 1999-01-19 Nokia Research Center Generation of code by graphical representation
US6388679B1 (en) * 1998-12-29 2002-05-14 Intel Corporation Multi-resolution computer display system
US7200809B1 (en) 1999-08-04 2007-04-03 Oracle International Corporation Multi-device support for mobile applications using XML
US6411301B1 (en) 1999-10-28 2002-06-25 Nintendo Co., Ltd. Graphics system interface
US6452600B1 (en) 1999-10-28 2002-09-17 Nintendo Co., Ltd. Graphics system interface
US6538656B1 (en) 1999-11-09 2003-03-25 Broadcom Corporation Video and graphics system with a data transport processor
JP2001273520A (ja) * 2000-03-23 2001-10-05 Famotik Ltd マルチメディアドキュメント統合表示システム
US6798418B1 (en) 2000-05-24 2004-09-28 Advanced Micro Devices, Inc. Graphics subsystem including a RAMDAC IC with digital video storage interface for connection to a graphics bus
US7630721B2 (en) 2000-06-27 2009-12-08 Ortiz & Associates Consulting, Llc Systems, methods and apparatuses for brokering data between wireless devices and data rendering devices
US7023442B2 (en) 2000-06-28 2006-04-04 Sun Microsystems, Inc. Transferring a digital video stream through a series of hardware modules
JP2002024298A (ja) * 2000-07-05 2002-01-25 Ricoh Co Ltd 3次元形状処理装置、3次元形状表示方法およびその方法を実施するためのプログラムを記憶した記憶媒体
US7274368B1 (en) 2000-07-31 2007-09-25 Silicon Graphics, Inc. System method and computer program product for remote graphics processing
US6867781B1 (en) 2000-08-23 2005-03-15 Nintendo Co., Ltd. Graphics pipeline token synchronization
US7196710B1 (en) 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US7002591B1 (en) 2000-08-23 2006-02-21 Nintendo Co., Ltd. Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system
US6697074B2 (en) 2000-11-28 2004-02-24 Nintendo Co., Ltd. Graphics system interface
US20020103935A1 (en) 2001-01-26 2002-08-01 Neil Fishman Pushing rich content information to mobile devices
US7379475B2 (en) 2002-01-25 2008-05-27 Nvidia Corporation Communications processor
JP4688316B2 (ja) * 2001-02-28 2011-05-25 独立行政法人産業技術総合研究所 シミュレーション装置とシミュレーション方法、及び映像生成装置と映像生成方法
AU2002256206A1 (en) 2001-04-13 2002-10-28 The Code Coproration System and method for encoding and decoding data and references to data in machine-readable graphical codes
US20030017846A1 (en) 2001-06-12 2003-01-23 Estevez Leonardo W. Wireless display
US7216288B2 (en) * 2001-06-27 2007-05-08 International Business Machines Corporation Dynamic scene description emulation for playback of audio/visual streams on a scene description based playback system
US7191233B2 (en) 2001-09-17 2007-03-13 Telecommunication Systems, Inc. System for automated, mid-session, user-directed, device-to-device session transfer system
US7161599B2 (en) * 2001-10-18 2007-01-09 Microsoft Corporation Multiple-level graphics processing system and method
US7064766B2 (en) * 2001-10-18 2006-06-20 Microsoft Corporation Intelligent caching data structure for immediate mode graphics
US7439982B2 (en) * 2002-05-31 2008-10-21 Envivio, Inc. Optimized scene graph change-based mixed media rendering
US7075538B2 (en) 2002-08-30 2006-07-11 Sun Microsystems, Inc. Methods and apparatus for faster line drawing on remote displays
US20040177373A1 (en) 2003-02-28 2004-09-09 Tsuyoshi Kawabe Graphic data distribution system and a data converter, and a graphic data distribution method
US7434166B2 (en) 2003-06-03 2008-10-07 Harman International Industries Incorporated Wireless presentation system
WO2005039185A1 (en) * 2003-10-06 2005-04-28 Mindego, Inc. System and method for creating and executing rich applications on multimedia terminals
US7643731B2 (en) 2004-01-23 2010-01-05 Osamu Kobayashi Low power DVD playback in a portable computing system
US7562131B2 (en) 2004-06-25 2009-07-14 Intel Corporation UPnP user interface system and method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102301360A (zh) * 2009-01-29 2011-12-28 惠普开发有限公司 有选择地向多个发送计算机传送外围设备的数据
US8762544B2 (en) 2009-01-29 2014-06-24 Hewlett-Packard Development Company, L.P. Selectively communicating data of a peripheral device to plural sending computers
CN102301360B (zh) * 2009-01-29 2015-08-05 惠普开发有限公司 有选择地向多个发送计算机传送外围设备的数据
CN103562862A (zh) * 2011-06-02 2014-02-05 微软公司 全局合成系统
CN103562862B (zh) * 2011-06-02 2017-04-26 微软技术许可有限责任公司 全局合成系统

Also Published As

Publication number Publication date
BRPI0615723A2 (pt) 2012-04-10
CA2621076A1 (en) 2007-03-15
EP1922634B1 (en) 2018-01-17
CN101258478B (zh) 2012-06-27
AU2006287781A1 (en) 2007-03-15
US20070052723A1 (en) 2007-03-08
JP4827923B2 (ja) 2011-11-30
NO20080928L (no) 2008-04-03
EP1922634A1 (en) 2008-05-21
RU2431185C2 (ru) 2011-10-10
EP1922634A4 (en) 2012-09-26
JP2009507306A (ja) 2009-02-19
WO2007030283A1 (en) 2007-03-15
RU2008108840A (ru) 2009-09-20
US7609280B2 (en) 2009-10-27
KR20080052574A (ko) 2008-06-11

Similar Documents

Publication Publication Date Title
CN101258478B (zh) 高级图形流
JP5373135B2 (ja) 代替的グラフィック・セットの効率的な符号化
US9852116B2 (en) System and method for processing messages using native data serialization/deserialization in a service-oriented pipeline architecture
US9369406B2 (en) Resource server providing a rapidly changing resource
US8918452B2 (en) Web API framework
US20060230432A1 (en) Policy algebra and compatibility model
US20030233477A1 (en) Extensible infrastructure for manipulating messages communicated over a distributed network
US20110004827A1 (en) Scalable, Cross-Platform Method for Multi-Tile Display Systems
JP2007510976A (ja) グラフィックス処理システムにおける統一された合成エンジンのためのシステムおよび方法
JP2011002905A (ja) 送信装置、その制御方法、プログラム及び情報処理システム
Oh et al. Optimizing Web Service messaging performance in mobile computing
CN101411164B (zh) 用于呈现远程可视合成的方法
US7818431B2 (en) Efficient exchange of service requests and responses
Coviello et al. Dataxe: A system for application self-optimization in serverless edge computing environments
Fox et al. Integration of Hand-Held Devices into Collaborative Environments.
Lee et al. Ubiquitous access for collaborative information system using SVG
JP2005107884A (ja) インタフェース定義記述を生成する方法、およびインタフェース定義記述生成装置
Tarboton Findable, Interoperable, and Reusable data and models in CUAHSI HydroShare
Bellinzona et al. Alembik—a framework for the adaptive transcoding of multimedia content in mobile environments: from requirements to architecture and performance evaluation
Zhang n-Screen Application Framework
Mohammed et al. Transcoding Aspects for Image Tele‐Collaboration

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150428

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150428

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

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

Granted publication date: 20120627

Termination date: 20210815

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