IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
UP-0499257
(2006-08-04)
|
등록번호 |
US-7548237
(2009-07-01)
|
발명자
/ 주소 |
- David, Paul C.
- Schneider, Gerhard A.
- Calkins, Matthew W.
- Ungureanu, Oreste Dorin
- Michail, Ashraf
- Arsov, Andrey E.
- Blanco, Leonardo E.
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
14 인용 특허 :
61 |
초록
▼
A visual tree structure as specified by a program is constructed and maintained by a visual system's user interface thread. As needed, the tree structure is traversed on the UI thread, with changes compiled into change queues. A secondary rendering thread that handles animation and graphical composi
A visual tree structure as specified by a program is constructed and maintained by a visual system's user interface thread. As needed, the tree structure is traversed on the UI thread, with changes compiled into change queues. A secondary rendering thread that handles animation and graphical composition takes the content from the change queues, to construct and maintain a condensed visual tree. Static visual subtrees are collapsed, leaving a condensed tree with only animated attributes such as transforms as parent nodes, such that animation data is managed on the secondary thread, with references into the visual tree. When run, the rendering thread processes the change queues, applies changes to the condensed trees, and updates the structure of the animation list as necessary by resampling animated values at their new times. Content in the condensed visual tree is then rendered and composed. Animation and a composition communication protocol are also provided.
대표청구항
▼
What is claimed is: 1. At a computer system, the computer system including a processor, a system memory, and a graphics subsystem, the computer system also including a compositor, the compositor configured to manage the composing, animation, and rendering of graphical scenes which are provided to t
What is claimed is: 1. At a computer system, the computer system including a processor, a system memory, and a graphics subsystem, the computer system also including a compositor, the compositor configured to manage the composing, animation, and rendering of graphical scenes which are provided to the graphics subsystem, the computer system also including a plurality of clients that can provide instructions to the compositor for modifying graphical scenes, a computer implemented method for receiving a structural update to a graphical scene, the computer implemented method comprising: receiving a compositing change request from a client program, the compositing chain request requesting a compositing chain between the client program, the compositor component, and a client manager; accessing a media instruction block containing rendering instructions representing a structural update to a graphical scene, the graphical scene represented in a tree data structure maintained by the compositor, the media instruction block referenced through a handle that was previously returned from a rendering call; in response to the request, communicating from the compositor to the client manager to register the media instruction block with the compositor; and asynchronously communicating the media instruction block to the compositor in accordance with flow control components that mediate the incoming instruction flow into the compositor between the plurality of clients; and updating a handle table in the compositor to include the handle for the media instruction block such that the handle can be resolved to the media instruction block for subsequent incorporation of the structural update into the tree data structure for the graphical scene. 2. The method of claim 1 wherein communicating at least one structural request to the client manager comprises communicating a request to insert data corresponding to a compositable object into the data structure. 3. The method of claim 1 wherein communicating at least one structural request to the client manager comprises communicating a request to insert data corresponding to a media instruction block into the data structure. 4. The method of claim 1 wherein the structural request corresponds to an item of a set of possible items, the set comprising: a compositable object insert media instruction block, a compositable object delete media instruction block, a compositable object replace media instruction block, a group insert compositable object, a group delete compositable object, a group replace compositable object, a tree insert compositable object, a tree delete compositable object, a tree replace compositable object, a tree insert group, a tree delete group, a tree replace group, or a target associate tree. 5. The method of claim 1 further comprising, in response to a call from the client program, asynchronously communicating at least one attribute request to the client manager, such that the client manager can modify an attribute related to data in the tree data structure. 6. The method of claim 5 wherein the attribute corresponds to an item of a set of possible items, the set comprising: a compositable object rectangle, a compositable object transform, a compositable object clip, a compositable object hit, a compositable object alpha, a compositable object blendmode, a compositable object media instruction blockcount, a compositable object media instruction block at, a group rectangle, a group transform, a group clip, a group hit, a group alpha, a group blendmode, a group compositable object count, a group compositable object at, a tree childcount, or a tree child at. 7. The method of claim 1 further comprising, in response to a call from the client program, asynchronously communicating at least one registration request to the client manager. 8. The method of claim 7 wherein the registration request corresponds to an item of a set of possible items, the set comprising the following items: a resource image, a resource brush, a resource pen, a resource video, a resource transform, a resource path, a media instruction block, a compositable object, a group, a tree, a target. 9. The method of claim 1 further comprising, in response to at least one call from the client program, asynchronously communicating a batch request to the client manager. 10. The method of claim 1 further comprising in response to at least one call from the client program, asynchronously communicating an update request to the client manager. 11. A computer system, the computer system comprising: one or more processors; system memory; and one or more physical storage media having stored thereon computer-executable instructions representing client program, a client manager, and a compositor component, wherein the client program is configured to: send a compositing change request to the compositor, the compositing chain request requesting a compositing chain between the client program, the compositor component, and the client manager; access a media instruction block containing rendering instructions representing a structural update to a graphical scene, the graphical scene represented in a tree data structure maintained by the compositor, the media instruction block referenced through a handle that was previously returned from a rendering call; and in response to the request, communicate with the compositor component to register the media instruction block with the compositor; asynchronously communicate the media instruction block to the compositor component in accordance with flow control components that mediate the incoming flow of instructions into the compositor component between a plurality of clients including the client program; and wherein the compositor component is configured to: receive the compositing change request from the client program; communicate with the client program to register the media instruction block with the compositor component: asynchronously communicate with the client program to receive the media instruction block in accordance with the flow control components; update a handle table in the compositor to include the handle for the media instruction block such that the handle can be resolved to the media instruction block for subsequent incorporation of the structural update into the tree data structure for the graphical scene; subsequently process the media instruction block to incorporate the structural update into the tree structure to change at least one timing value in the tree data structure to produce an animation effect for an image corresponding to data in the tree data structure that is output over at least two frames such that the client manager can maintain a tree data structure containing composited data corresponding to the structured content. 12. The system of claim 11 wherein the compositor component communicates a first set of data corresponding to at least one structural request to the client manager, a second set of data corresponding to at least one media instruction block request to the client manager, or both first and second sets of data. 13. The system of claim 11 wherein the compositor component communicates a first set of data corresponding to at least one attribute request to the client manager, a second set of data corresponding to at least one batch request to the client manager, a third set of data corresponding to at least one update request to the client manager, or any combination of first, second and third sets of data. 14. The system of claim 11 wherein the request includes a unique client identifier. 15. The system of claim 11 further comprising a compositing tree manager coupled to the client manager and at least one other client manager, for combining data maintained by each client manager. 16. A computer program product for use at a computer system including a processor, a system memory, and a graphics subsystem, the computer system also including a compositor, the compositor configured to manage the composing, animation, and rendering of graphical scenes which are provided to the graphics subsystem, the computer system also including a plurality of clients that can provide instructions to the compositor for modifying graphical scenes, the computer program product comprising physical storage medium storing computer-executable instructions, which when executed at the processor, cause the computer system to perform the method including the following: access a media instruction block containing rendering instructions representing a structural update to a graphical scene, the graphical scene represented in a tree data structure maintained by the compositor, the media instruction block referenced through a handle that was previously returned from a rendering call at client manager; communicate from the compositor to a client manager to register the media instruction block with the compositor with the; asynchronously communicate the media instruction block to the compositor in accordance with flow control components that mediate the incoming instruction flow into the compositor between the plurality of clients; update a handle table in the compositor to include the handle for the media instruction block such that the handle can be resolved to the media instruction block for subsequent incorporation of the structural update into the tree data structure for the graphical scene; and subsequently process the media instruction block to incorporate the structure update into the tree structure to change at least one timing value in the tree data structure to produce an animation effect for an image corresponding to data in the tree data structure that is output over at least two frames. 17. The computer program product of claim 16 wherein changing at least one value in the tree data structure occurs at the client manager, without a separate instruction to the client manager for each change. 18. The computer program product of claim 17 wherein the client manager changes the at least one value in the tree data structure by adjusting time-stamped data to correspond to a timeline.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.