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: 20070216685
    Abstract: 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: Application
    Filed: March 15, 2006
    Publication date: September 20, 2007
    Applicant: Microsoft Corporation
    Inventors: Ashraf Michail, Christopher Raubacher, Donald Karlov
  • Patent number: 7265756
    Abstract: 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: Grant
    Filed: June 23, 2005
    Date of Patent: September 4, 2007
    Assignee: Microsoft Corporation
    Inventors: Gerhard A. Schneider, Joseph S. Beda, Adam M. Smith, Kevin T. Gallo, Ashraf A. Michail
  • Publication number: 20070035543
    Abstract: 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: Application
    Filed: August 4, 2006
    Publication date: February 15, 2007
    Applicant: Microsoft Corporation
    Inventors: Paul David, Gerhard Schneider, Matthew Calkins, Oreste Ungureanu, Ashraf Michail, Andrey Arsov, Leonardo Blanco
  • Publication number: 20060262125
    Abstract: 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: Application
    Filed: June 16, 2006
    Publication date: November 23, 2006
    Applicant: Microsoft Corporation
    Inventors: Joseph Beda, Adam Smith, Gerhard Schneider, Kevin Gallo, Ashraf Michail
  • Publication number: 20060244754
    Abstract: 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: Application
    Filed: June 16, 2006
    Publication date: November 2, 2006
    Applicant: MICROSOFT CORPORATION
    Inventors: Joseph Beda, Adam Smith, Gerhard Schneider, Kevin Gallo, Ashraf Michail
  • Publication number: 20060214946
    Abstract: 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: Application
    Filed: March 16, 2006
    Publication date: September 28, 2006
    Applicant: Microsoft Corporation
    Inventors: Christopher Raubacher, Gregory Swedberg, Ashraf Michail, Michael Kallay
  • Patent number: 7088374
    Abstract: 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: Grant
    Filed: March 27, 2003
    Date of Patent: August 8, 2006
    Assignee: Microsoft Corporation
    Inventors: Paul C. David, Gerhard A. Schneider, Matthew W. Calkins, Oreste Dorin Ungureanu, Ashraf Michail, Andrey E. Arsov, Leonardo E. Blanco
  • Publication number: 20060156231
    Abstract: 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: Application
    Filed: March 7, 2006
    Publication date: July 13, 2006
    Applicant: Microsoft Corporation
    Inventors: Ashraf Michail, Mark Alcazar, John Bedworth
  • Patent number: 7069507
    Abstract: 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: Grant
    Filed: September 29, 2000
    Date of Patent: June 27, 2006
    Assignee: Microsoft Corporation
    Inventors: Mark A. Alcazar, Ashraf A. Michail, John G. Bedworth
  • Patent number: 7064766
    Abstract: 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: Grant
    Filed: June 27, 2002
    Date of Patent: June 20, 2006
    Assignee: Microsoft Corporation
    Inventors: Joseph S. Beda, Adam M. Smith, Gerhard A. Schneider, Kevin T. Gallo, Ashraf A. Michail
  • Patent number: 7050067
    Abstract: 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: Grant
    Filed: January 13, 2003
    Date of Patent: May 23, 2006
    Assignee: Microsoft Corporation
    Inventors: Christopher Raubacher, Gregory D. Swedberg, Ashraf A. Michail, Michael Kallay
  • Patent number: 7036078
    Abstract: 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: Grant
    Filed: September 29, 2000
    Date of Patent: April 25, 2006
    Assignee: Microsoft Corporation
    Inventors: Ashraf A. Michail, Mark A. Alcazar, John G. Bedworth
  • Publication number: 20060082593
    Abstract: 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: Application
    Filed: October 19, 2004
    Publication date: April 20, 2006
    Applicant: Microsoft Corporation
    Inventors: Alexander Stevenson, Ashraf Michail
  • Publication number: 20060028472
    Abstract: 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: Application
    Filed: October 11, 2005
    Publication date: February 9, 2006
    Applicant: Microsoft Corporation
    Inventors: Ashraf Michail, Kun Zhou, Gregory Swedberg, Adrian Secchia
  • Publication number: 20050243090
    Abstract: 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: Application
    Filed: June 23, 2005
    Publication date: November 3, 2005
    Applicant: Microsoft Corporation
    Inventors: Gerhard Schneider, Joseph Beda, Adam Smith, Kevin Gallo, Ashraf Michail
  • Patent number: 6954211
    Abstract: 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: Grant
    Filed: June 30, 2003
    Date of Patent: October 11, 2005
    Assignee: Microsoft Corporation
    Inventors: Ashraf A. Michail, Kun Zhou, Gregory D. Swedberg, Adrian Secchia
  • Patent number: 6919891
    Abstract: 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: Grant
    Filed: June 27, 2002
    Date of Patent: July 19, 2005
    Assignee: Microsoft Corporation
    Inventors: Gerhard A. Schneider, Joseph S. Beda, Adam M. Smith, Kevin T. Gallo, Ashraf A. Michail
  • Publication number: 20040263516
    Abstract: 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: Application
    Filed: June 30, 2003
    Publication date: December 30, 2004
    Applicant: Microsoft Corporation
    Inventors: Ashraf A. Michail, Kun Zhou, Gregory D. Swedberg, Adrian Secchia
  • Publication number: 20040261083
    Abstract: 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: Application
    Filed: July 20, 2004
    Publication date: December 23, 2004
    Applicant: Microsoft Corporation
    Inventors: Mark A. Alcazar, Ashraf A. Michail, John G. Bedworth
  • Publication number: 20040189669
    Abstract: 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: Application
    Filed: March 27, 2003
    Publication date: September 30, 2004
    Inventors: Paul David, Gerhard A. Schneider, Matthew W. Calkins, Oreste Dorin Ungureanu, Ashraf Michail, Andrey E. Arsov, Leonardo E. Blanco