Patents by Inventor Ashraf A. Michail
Ashraf A. Michail has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20070216685Abstract: Described is a rasterizer that processes the graphics primitives of a frame's image to build an array of entries representing which scanlines are affected by which graphics primitives. When built, the array is then referenced to draw the data of more or more combined primitives, e.g., on a scanline-by-scanline basis. Each scanline may be divided into segments defined by the edges of the primitives that affect the scanline, with the segments drawn based on each primitive's drawing data, e.g., including brush information and drawing order. Aliased and anti-aliased rasterizing are described, as is three-dimensional triangle data, and applying effects to groups of primitives.Type: ApplicationFiled: March 15, 2006Publication date: September 20, 2007Applicant: Microsoft CorporationInventors: Ashraf Michail, Christopher Raubacher, Donald Karlov
-
Patent number: 7265756Abstract: A parameterized scene graph provides mutable (animated) values and parameterized graph containers such that an application program or the like can selectively change certain aspects of the scene graph description while leaving other aspects intact, and also reuse portions of the scene graph with different parameters. To this end, mutable values are provided, which provide the higher level code with hooks into the scene graph enabling the scene description to be changed. The mutable values may be varied over time to provide animation. A parameterized graph container is also described that enables a scene graph portion to be templatized for reuse throughout a scene in a generic way. In this manner, a single parameterized graph container may be efficiently reused in a scene graph, with different values for its parameters.Type: GrantFiled: June 23, 2005Date of Patent: September 4, 2007Assignee: Microsoft CorporationInventors: Gerhard A. Schneider, Joseph S. Beda, Adam M. Smith, Kevin T. Gallo, Ashraf A. Michail
-
Publication number: 20070035543Abstract: 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.Type: ApplicationFiled: August 4, 2006Publication date: February 15, 2007Applicant: Microsoft CorporationInventors: Paul David, Gerhard Schneider, Matthew Calkins, Oreste Ungureanu, Ashraf Michail, Andrey Arsov, Leonardo Blanco
-
Publication number: 20060262125Abstract: An intelligent caching data structure and mechanisms for storing visual information via objects and data representing graphics information. The data structure is generally associated with mechanisms that intelligently control how the visual information therein is populated and used. The cache data structure can be traversed for direct rendering, or traversed for pre-processing the visual information into an instruction stream for another entity. Much of the data typically has no external reference to it, thereby enabling more of the information stored in the data structure to be processed to conserve resources. A transaction/batching-like model for updating the data structure enables external modifications to the data structure without interrupting reading from the data structure, and such that changes received are atomically implemented. A method and mechanism are provided to call back to an application program in order to create or re-create portions of the data structure as needed, to conserve resources.Type: ApplicationFiled: June 16, 2006Publication date: November 23, 2006Applicant: Microsoft CorporationInventors: Joseph Beda, Adam Smith, Gerhard Schneider, Kevin Gallo, Ashraf Michail
-
Publication number: 20060244754Abstract: An intelligent caching data structure and mechanisms for storing visual information via objects and data representing graphics information. The data structure is generally associated with mechanisms that intelligently control how the visual information therein is populated and used. The cache data structure can be traversed for direct rendering, or traversed for pre-processing the visual information into an instruction stream for another entity. Much of the data typically has no external reference to it, thereby enabling more of the information stored in the data structure to be processed to conserve resources. A transaction/batching-like model for updating the data structure enables external modifications to the data structure without interrupting reading from the data structure, and such that changes received are atomically implemented. A method and mechanism are provided to call back to an application program in order to create or re-create portions of the data structure as needed, to conserve resources.Type: ApplicationFiled: June 16, 2006Publication date: November 2, 2006Applicant: MICROSOFT CORPORATIONInventors: Joseph Beda, Adam Smith, Gerhard Schneider, Kevin Gallo, Ashraf Michail
-
Publication number: 20060214946Abstract: Systems and methods are provided for providing anti-aliasing by introducing a falloff area around a graphics object to be rendered. The falloff area is shaded, using Gouraud shading or texture mapping to reduce the aliasing effects of the graphics object. The outside edge of the falloff area is set to be fully transparent, and the inside edge to an opacity matching the outer edge of the graphics object being rendered. To counteract bloating effects, the graphics object is shrunk by half the width of the falloff area. While the width of the falloff area may vary, generally, the width of the falloff area stays constant. In one embodiment, this width corresponds to the edge or diagonal of the square area mapped to each pixel.Type: ApplicationFiled: March 16, 2006Publication date: September 28, 2006Applicant: Microsoft CorporationInventors: Christopher Raubacher, Gregory Swedberg, Ashraf Michail, Michael Kallay
-
Patent number: 7088374Abstract: 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.Type: GrantFiled: March 27, 2003Date of Patent: August 8, 2006Assignee: Microsoft CorporationInventors: Paul C. David, Gerhard A. Schneider, Matthew W. Calkins, Oreste Dorin Ungureanu, Ashraf Michail, Andrey E. Arsov, Leonardo E. Blanco
-
Publication number: 20060156231Abstract: An extensible editor allows integration of extensions that modify the editor's default behavior and provide customized feedback to users. The editor includes interfaces through which extensions are connected to the editor and through which selection services and highlight rendering services are provided. The selection services interfaces provide a clear separation of a logical selection position in the document and the visual feedback provided for the selection, allowing extensions to be designed that provide customized selection feedback. The highlight rendering services interfaces provide an extension with the ability to augment an existing selection without modifying the actual document. The editor also includes an event routing model that works to decrease the occurrence of conflicts between the editor and extensions and between extensions. Upon the occurrence of an event, the editor routes the event to each extension before the editor's default handling of the event occurs.Type: ApplicationFiled: March 7, 2006Publication date: July 13, 2006Applicant: Microsoft CorporationInventors: Ashraf Michail, Mark Alcazar, John Bedworth
-
Patent number: 7069507Abstract: An extensible editor allows integration of extensions that modify the editor's default behavior and provide customized feedback to users. The editor includes an event routing model that works to decrease the occurrence of conflicts between the editor and extensions and between extensions. Upon the occurrence of an event, the editor routes the event to each extension before the editor's default handling of the event occurs. When an extension responds to an event, the extension may “consume” the event by indicating to the editor not to allow further processing of the event. After an event has been pre-processed by each extension, the default editor acts on the event. The editor then routes the event to each extension again, to allow each extension to process the event after the default editor has acted. When the post-processing is completed, each extension is notified of the actions taken by the editor and by each of the other extensions.Type: GrantFiled: September 29, 2000Date of Patent: June 27, 2006Assignee: Microsoft CorporationInventors: Mark A. Alcazar, Ashraf A. Michail, John G. Bedworth
-
Patent number: 7064766Abstract: An intelligent caching data structure and mechanisms for storing visual information via objects and data representing graphics information. The data structure is generally associated with mechanisms that intelligently control how the visual information therein is populated and used. The cache data structure can be traversed for direct rendering, or traversed for pre-processing the visual information into an instruction stream for another entity. Much of the data typically has no external reference to it, thereby enabling more of the information stored in the data structure to be processed to conserve resources. A transaction/batching-like model for updating the data structure enables external modifications to the data structure without interrupting reading from the data structure, and such that changes received are atomically implemented. A method and mechanism are provided to call back to an application program in order to create or re-create portions of the data structure as needed, to conserve resources.Type: GrantFiled: June 27, 2002Date of Patent: June 20, 2006Assignee: Microsoft CorporationInventors: Joseph S. Beda, Adam M. Smith, Gerhard A. Schneider, Kevin T. Gallo, Ashraf A. Michail
-
Patent number: 7050067Abstract: Systems and methods are provided for providing anti-aliasing by introducing a falloff area around a graphics object to be rendered. The falloff area is shaded, using Gouraud shading or texture mapping to reduce the aliasing effects of the graphics object. The outside edge of the falloff area is set to be fully transparent, and the inside edge to an opacity matching the outer edge of the graphics object being rendered. To counteract bloating effects, the graphics object is shrunk by half the width of the falloff area. While the width of the falloff area may vary, generally, the width of the falloff area stays constant. In one embodiment, this width corresponds to the edge or diagonal of the square area mapped to each pixel.Type: GrantFiled: January 13, 2003Date of Patent: May 23, 2006Assignee: Microsoft CorporationInventors: Christopher Raubacher, Gregory D. Swedberg, Ashraf A. Michail, Michael Kallay
-
Patent number: 7036078Abstract: An extensible editor allows integration of extensions that modify the editor's default behavior and provide customized feedback to users. The editor includes interfaces through which extensions are connected to the editor and through which selection services and highlight rendering services are provided. The selection services interfaces provide a clear separation of a logical selection position in the document and the visual feedback provided for the selection, allowing extensions to be designed that provide customized selection feedback. The highlight rendering services interfaces provide an extension with the ability to augment an existing selection without modifying the actual document. The editor also includes an event routing model that works to decrease the occurrence of conflicts between the editor and extensions and between extensions.Type: GrantFiled: September 29, 2000Date of Patent: April 25, 2006Assignee: Microsoft CorporationInventors: Ashraf A. Michail, Mark A. Alcazar, John G. Bedworth
-
Publication number: 20060082593Abstract: A method and system for anti-aliased rasterization of objects. From a particular viewpoint of an object represented by shapes, a shape is selected having an edge on a silhouette of the object. An edge geometry is created at the edge of the shape that is on the silhouette of the object. The edge geometry is rendered. Either the shape is rendered after the edge geometry is rendered with the depth test set so as to not allow portions of the shape to overlap the edge geometry, or the shape itself is modified to remove any portion that overlaps the edge geometry. This may be repeated for each edge of each shape that lies on the silhouette of the object.Type: ApplicationFiled: October 19, 2004Publication date: April 20, 2006Applicant: Microsoft CorporationInventors: Alexander Stevenson, Ashraf Michail
-
Publication number: 20060028472Abstract: In order to render a primitive, the primitive is subdivided into trapezoids and triangles. The subdivision occurs using scanline-aligned lines. These simple scanline-aligned regions are further subdivided so that the primitive is divided into simple scanline-boundaried trapezoids and other complex scan shapes. The simple scanline-boundaried trapezoids are rasterized. One rasterization method uses a texture map containing slope-based coverage information to edge areas. Gouraud shading may be used to provide the anti-aliasing effects on the scanline-boundaried trapezoids. The simple scanline-boundaried trapezoids may also be rasterized using a software rasterizer. Complex scans are rasterized using a software rasterizer. As data is already rasterized, it is thereby efficiently transferred to the GPU.Type: ApplicationFiled: October 11, 2005Publication date: February 9, 2006Applicant: Microsoft CorporationInventors: Ashraf Michail, Kun Zhou, Gregory Swedberg, Adrian Secchia
-
Publication number: 20050243090Abstract: A parameterized scene graph provides mutable (animated) values and parameterized graph containers such that an application program or the like can selectively change certain aspects of the scene graph description while leaving other aspects intact, and also reuse portions of the scene graph with different parameters. To this end, mutable values are provided, which provide the higher level code with hooks into the scene graph enabling the scene description to be changed. The mutable values may be varied over time to provide animation. A parameterized graph container is also described that enables a scene graph portion to be templatized for reuse throughout a scene in a generic way. In this manner, a single parameterized graph container may be efficiently reused in a scene graph, with different values for its parameters.Type: ApplicationFiled: June 23, 2005Publication date: November 3, 2005Applicant: Microsoft CorporationInventors: Gerhard Schneider, Joseph Beda, Adam Smith, Kevin Gallo, Ashraf Michail
-
Patent number: 6954211Abstract: In order to render a primitive, the primitive is subdivided into trapezoids and triangles. The subdivision occurs using scanline-aligned lines. These simple scanline-aligned regions are further subdivided so that the primitive is divided into simple scanline-boundaried trapezoids and other complex scan shapes. The simple scanline-boundaried trapezoids are rasterized. One rasterization method uses a texture map containing slope-based coverage information to edge areas. Gouraud shading may be used to provide the anti-aliasing effects on the scanline-boundaried trapezoids. The simple scanline-boundaried trapezoids may also be rasterized using a software rasterizer. Complex scans are rasterized using a software rasterizer. As data is already rasterized, it is thereby efficiently transferred to the GPU.Type: GrantFiled: June 30, 2003Date of Patent: October 11, 2005Assignee: Microsoft CorporationInventors: Ashraf A. Michail, Kun Zhou, Gregory D. Swedberg, Adrian Secchia
-
Patent number: 6919891Abstract: A parameterized scene graph provides mutable (animated) values and parameterized graph containers such that an application program or the like can selectively change certain aspects of the scene graph description while leaving other aspects intact, and also reuse portions of the scene graph with different parameters. To this end, mutable values are provided, which provide the higher level code with hooks into the scene graph enabling the scene description to be changed. The mutable values may be varied over time to provide animation. A parameterized graph container is also described that enables a scene graph portion to be templatized for reuse throughout a scene in a generic way. In this manner, a single parameterized graph container may be efficiently reused in a scene graph, with different values for its parameters.Type: GrantFiled: June 27, 2002Date of Patent: July 19, 2005Assignee: Microsoft CorporationInventors: Gerhard A. Schneider, Joseph S. Beda, Adam M. Smith, Kevin T. Gallo, Ashraf A. Michail
-
Publication number: 20040263516Abstract: In order to render a primitive, the primitive is subdivided into trapezoids and triangles. The subdivision occurs using scanline-aligned lines. These simple scanline-aligned regions are further subdivided so that the primitive is divided into simple scanline-boundaried trapezoids and other complex scan shapes. The simple scanline-boundaried trapezoids are rasterized. One rasterization method uses a texture map containing slope-based coverage information to edge areas. Gouraud shading may be used to provide the anti-aliasing effects on the scanline-boundaried trapezoids. The simple scanline-boundaried trapezoids may also be rasterized using a software rasterizer. Complex scans are rasterized using a software rasterizer. As data is already rasterized, it is thereby efficiently transferred to the GPU.Type: ApplicationFiled: June 30, 2003Publication date: December 30, 2004Applicant: Microsoft CorporationInventors: Ashraf A. Michail, Kun Zhou, Gregory D. Swedberg, Adrian Secchia
-
Publication number: 20040261083Abstract: An extensible editor allows integration of extensions that modify the editor's default behavior and provide customized feedback to users. The editor includes an event routing model that works to decrease the occurrence of conflicts between the editor and extensions and between extensions. Upon the occurrence of an event, the editor routes the event to each extension before the editor's default handling of the event occurs. When an extension responds to an event, the extension may “consume” the event by indicating to the editor not to allow further processing of the event. After an event has been pre-processed by each extension, the default editor acts on the event. The editor then routes the event to each extension again, to allow each extension to process the event after the default editor has acted. When the post-processing is completed, each extension is notified of the actions taken by the editor and by each of the other extensions.Type: ApplicationFiled: July 20, 2004Publication date: December 23, 2004Applicant: Microsoft CorporationInventors: Mark A. Alcazar, Ashraf A. Michail, John G. Bedworth
-
Publication number: 20040189669Abstract: 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.Type: ApplicationFiled: March 27, 2003Publication date: September 30, 2004Inventors: Paul David, Gerhard A. Schneider, Matthew W. Calkins, Oreste Dorin Ungureanu, Ashraf Michail, Andrey E. Arsov, Leonardo E. Blanco