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).

  • Patent number: 8274516
    Abstract: Architecture that expresses scene composition and animation in a form that can run entirely on the graphics processing unit (GPU). The architecture stores retained graph information (e.g., scene graph and animation information) as texture information, and uses shaders (e.g., vertex and pixel) to evaluate time information, evaluate animation, evaluate transforms, and rasterize paths. Additionally, the architecture provides the ability to compute animation positions and redraw entirely on the GPU without per primitive CPU intervention.
    Type: Grant
    Filed: August 4, 2008
    Date of Patent: September 25, 2012
    Assignee: Microsoft Corporation
    Inventors: Ashraf Michail, Gerhard Schneider
  • Publication number: 20120144333
    Abstract: An information display system is described herein that separates rendering of information from receiving that information so that the rendering portion can be quickly displayed to the user and the data can arrive as it is available to provide further detail. The rendering portion creates a hardware surface measured to fill the area to be consumed by the list box or other control. Independently, the information retrieval portion queries information from a server or other source and processes the information as it is received. The system can then perform a transformation on the previously created hardware surface to insert the information in the rendered control without re-laying out the entire control or recreating user interface elements. Moving a surface is a cheaper operation for a CPU and can easily be accelerated using a GPU.
    Type: Application
    Filed: December 2, 2010
    Publication date: June 7, 2012
    Applicant: Microsoft Corporation
    Inventors: Mikhail Shatalin, Gunjan A. Shah, Shawn T. Oster, Jonathan D. Sheller, Ashraf A. Michail, Akhilesh Kaza, Alan C.T. Liu
  • Publication number: 20120139918
    Abstract: A system and method for processing and rendering multiple layers of a two-dimensional scene. A system provides a mechanism to determine a number of scene surfaces and a mapping between scene layers and scene surfaces. The mechanisms may include combining and aggregating areas of layers to create one opaque surface, aggregating non-overlapping semi-transparent opaque areas of layers, or creating surfaces from overlapping semi-transparent surfaces. Moving objects are accommodated, so that layers below a moving object may be rendered properly in frames where the moving object is above the layer and frames where the moving object is not above the layer, for each pixel.
    Type: Application
    Filed: December 7, 2010
    Publication date: June 7, 2012
    Applicant: Microsoft Corporation
    Inventors: Ashraf Michail, Alan Liu
  • Publication number: 20120075310
    Abstract: A curve drawing system is described herein that rasterizes arc splines in the GPU of a computer for cubic Bezier drawing of strokes and thin features. The curve drawing system first converts a cubic Bezier representation into an arc spline representation. Then the curve drawing system uses a similar approach to Loop/Blinn modified to cause the pixel shader to perform a point-in-circular-arc test instead of a point-in-Bezier test. Calculating arc radius is a much simpler operation than the alternatives and can be easily and efficiently performed by the pixel shader. Since the stroke of an arc spline is also an arc spline, the drawing system provides a resolution-independent representation of strokes. Thus, the curve drawing system allows several previously difficult graphical features to be efficiently drawn by readily available legacy hardware and used in software programs that are designed to run on a wide variety of hardware.
    Type: Application
    Filed: September 27, 2010
    Publication date: March 29, 2012
    Applicant: Microsoft Corporation
    Inventors: Ashraf A. Michail, David B. Teitlebaum, Brandon C. Furtwangler
  • Patent number: 7808506
    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: August 27, 2009
    Date of Patent: October 5, 2010
    Assignee: Microsoft Corporation
    Inventors: Joseph S. Beda, Adam M. Smith, Gerhard A. Schneider, Kevin T. Gallo, Ashraf A. Michail
  • Patent number: 7770182
    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.
    Type: Grant
    Filed: July 20, 2004
    Date of Patent: August 3, 2010
    Assignee: Microsoft Corporation
    Inventors: Ashraf A. Michail, John G. Bedworth, Mark A. Alcazar
  • Patent number: 7689911
    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: Grant
    Filed: March 7, 2006
    Date of Patent: March 30, 2010
    Assignee: Microsoft Corporation
    Inventors: Ashraf A. Michail, Mark A. Alcazar, John G. Bedworth
  • Publication number: 20100026700
    Abstract: Architecture that expresses scene composition and animation in a form that can run entirely on the graphics processing unit (GPU). The architecture stores retained graph information (e.g., scene graph and animation information) as texture information, and uses shaders (e.g., vertex and pixel) to evaluate time information, evaluate animation, evaluate transforms, and rasterize paths. Additionally, the architecture provides the ability to compute animation positions and redraw entirely on the GPU without per primitive CPU intervention.
    Type: Application
    Filed: August 4, 2008
    Publication date: February 4, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Ashraf Michail, Gerhard Schneider
  • Publication number: 20100013854
    Abstract: Hybrid architecture of supersampling and computing distance from a feature edge or Bezier evaluation to address thin feature support in graphics systems. To avoid missing some features the technique creates a supersampling of a small number of supersamples to pick up the thin features. By supersampling, samples can be produced on both sides of a thin feature, which causes thin features to be detectable by some pixel. Now that the thin features hit some pixel, the quality is achieved by a distance-from-edge approach. For example, the technique can supersample four times in combination with the distance-from-edge approach, produce another four samples there resulting in a 16-sample result.
    Type: Application
    Filed: July 18, 2008
    Publication date: January 21, 2010
    Applicant: MICROSOFT CORPORATION
    Inventor: Ashraf Michail
  • Publication number: 20090328066
    Abstract: In a computing environment, one may wish to have interoperability between trusted and untrusted controls/plug-ins allowing for richer expression of content and control within a platform. This can be accomplished by allowing an untrusted plug-in to communicate with a trusted plug-in, while having the trusted plug-in exercise control over the platform. This allows for the creation of a layered secure approach of communication with a platform, thus allowing for increased application richness in untrusted third party applications.
    Type: Application
    Filed: June 27, 2008
    Publication date: December 31, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Ashraf A. Michail, Akhilesh Kaza, Kevin T. Gallo, Sam J. George, Joseph P. Stegman, Michael R. Harsh, Mark Alcazar
  • Publication number: 20090315902
    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: August 27, 2009
    Publication date: December 24, 2009
    Applicant: MICROSOFT CORPORTAION
    Inventors: Joseph S. Beda, Adam M. Smith, Gerhard A. Schneider, Kevin T. Gallo, Ashraf A. Michail
  • Patent number: 7619633
    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 16, 2006
    Date of Patent: November 17, 2009
    Assignee: Microsoft Corporation
    Inventors: Joseph S. Beda, Adam M. Smith, Gerhard A. Schneider, Kevin T. Gallo, Ashraf A. Michail
  • Publication number: 20090225079
    Abstract: Various technologies and techniques are disclosed for controlling a shader declaratively. A declarative programming model enables declarative statements to be used that control an instantiation of a shader in a declarative presentation framework. A shader-based effect that was specified declaratively is instantiated programmatically for rendering graphic effects for a software application. Declarative statements are sent to a shader processor to enable a shader to render the graphical effect customizations for the software application. A method is also described for utilizing a declarative programming model as a multiple pass effect that controls and encapsulates a set of shaders to be run during a multiple pass operation.
    Type: Application
    Filed: March 4, 2008
    Publication date: September 10, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Greg D. Schechter, Gerhard Schneider, Ashraf A. Michail, Brendan Clark
  • Patent number: 7567258
    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: October 11, 2005
    Date of Patent: July 28, 2009
    Assignee: Microsoft Corporation
    Inventors: Ashraf A. Michail, Kun Zhou, Gregory D. Swedberg, Adrian Secchia
  • Patent number: 7548237
    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: August 4, 2006
    Date of Patent: June 16, 2009
    Assignee: Microsoft Corporation
    Inventors: Paul C. David, Gerhard A. Schneider, Matthew W. Calkins, Oreste Dorin Ungureanu, Ashraf Michail, Andrey E. Arsov, Leonardo E. Blanco
  • Patent number: 7542049
    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: March 16, 2006
    Date of Patent: June 2, 2009
    Assignee: Microsoft Corporation
    Inventors: Christopher Raubacher, Gregory D. Swedberg, Ashraf A. Michail, Michael Kallay
  • Publication number: 20090123089
    Abstract: Adaptive filtering techniques are set forth that improve video playback performance. A color similarity metric is computed for source pixels undergoing an image transform operation to determine color values of a target pixel location. The value of the color similarity metric defines what algorithm is used to determine the color values of the target pixel location from the source pixels. While the computation of the color similarity metric introduces additional instructions for each pixel, going against conventional wisdom, enormous performance savings by avoiding unnecessarily complex sets of interpolation instructions where a simpler instruction set suffices, outweighs any such cost from additional instructions.
    Type: Application
    Filed: November 14, 2007
    Publication date: May 14, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Donald D. Karlov, Ashraf A. Michail
  • Patent number: 7477259
    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 16, 2006
    Date of Patent: January 13, 2009
    Assignee: Microsoft Corporation
    Inventors: Joseph S. Beda, Adam M. Smith, Gerhard A. Schneider, Kevin T. Gallo, Ashraf A. Michail
  • Publication number: 20080270482
    Abstract: A system that manages lifetime of an object is provided. The system analyzes references on multiple objects to determine reachability of a native peer and dynamically transitions between native and managed object lifetime management systems based on the analysis. When a native peer is not reachable by a native application reference, the system weakens references to a managed peer avoiding memory leaks and clones the native references to the managed side to avoid premature collection. The system performs an optimized cleanup during object system shutdown wherein the references between managed and native peers are released and SafeHandles are suppressed from finalization. The system employs a pending remove list that stores a reference to a weak reference of a managed peer to eliminate race conditions that occur during finalization.
    Type: Application
    Filed: April 27, 2007
    Publication date: October 30, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Michael J. Hillberg, Ashraf A. Michail, Sujal S. Parikh
  • Patent number: 7444587
    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: Grant
    Filed: September 29, 2000
    Date of Patent: October 28, 2008
    Assignee: Microsoft Corporation
    Inventors: Ashraf A. Michail, Mark A. Alcazar, John G. Bedworth