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: 8274516Abstract: 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: GrantFiled: August 4, 2008Date of Patent: September 25, 2012Assignee: Microsoft CorporationInventors: Ashraf Michail, Gerhard Schneider
-
Publication number: 20120144333Abstract: 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: ApplicationFiled: December 2, 2010Publication date: June 7, 2012Applicant: Microsoft CorporationInventors: Mikhail Shatalin, Gunjan A. Shah, Shawn T. Oster, Jonathan D. Sheller, Ashraf A. Michail, Akhilesh Kaza, Alan C.T. Liu
-
Publication number: 20120139918Abstract: 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: ApplicationFiled: December 7, 2010Publication date: June 7, 2012Applicant: Microsoft CorporationInventors: Ashraf Michail, Alan Liu
-
Publication number: 20120075310Abstract: 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: ApplicationFiled: September 27, 2010Publication date: March 29, 2012Applicant: Microsoft CorporationInventors: Ashraf A. Michail, David B. Teitlebaum, Brandon C. Furtwangler
-
Patent number: 7808506Abstract: 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: August 27, 2009Date of Patent: October 5, 2010Assignee: Microsoft CorporationInventors: Joseph S. Beda, Adam M. Smith, Gerhard A. Schneider, Kevin T. Gallo, Ashraf A. Michail
-
Patent number: 7770182Abstract: 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: GrantFiled: July 20, 2004Date of Patent: August 3, 2010Assignee: Microsoft CorporationInventors: Ashraf A. Michail, John G. Bedworth, Mark A. Alcazar
-
Patent number: 7689911Abstract: 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: GrantFiled: March 7, 2006Date of Patent: March 30, 2010Assignee: Microsoft CorporationInventors: Ashraf A. Michail, Mark A. Alcazar, John G. Bedworth
-
Publication number: 20100026700Abstract: 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: ApplicationFiled: August 4, 2008Publication date: February 4, 2010Applicant: MICROSOFT CORPORATIONInventors: Ashraf Michail, Gerhard Schneider
-
Publication number: 20100013854Abstract: 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: ApplicationFiled: July 18, 2008Publication date: January 21, 2010Applicant: MICROSOFT CORPORATIONInventor: Ashraf Michail
-
Publication number: 20090328066Abstract: 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: ApplicationFiled: June 27, 2008Publication date: December 31, 2009Applicant: MICROSOFT CORPORATIONInventors: Ashraf A. Michail, Akhilesh Kaza, Kevin T. Gallo, Sam J. George, Joseph P. Stegman, Michael R. Harsh, Mark Alcazar
-
Publication number: 20090315902Abstract: 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: August 27, 2009Publication date: December 24, 2009Applicant: MICROSOFT CORPORTAIONInventors: Joseph S. Beda, Adam M. Smith, Gerhard A. Schneider, Kevin T. Gallo, Ashraf A. Michail
-
Patent number: 7619633Abstract: 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 16, 2006Date of Patent: November 17, 2009Assignee: Microsoft CorporationInventors: Joseph S. Beda, Adam M. Smith, Gerhard A. Schneider, Kevin T. Gallo, Ashraf A. Michail
-
Publication number: 20090225079Abstract: 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: ApplicationFiled: March 4, 2008Publication date: September 10, 2009Applicant: MICROSOFT CORPORATIONInventors: Greg D. Schechter, Gerhard Schneider, Ashraf A. Michail, Brendan Clark
-
Patent number: 7567258Abstract: 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: October 11, 2005Date of Patent: July 28, 2009Assignee: Microsoft CorporationInventors: Ashraf A. Michail, Kun Zhou, Gregory D. Swedberg, Adrian Secchia
-
Patent number: 7548237Abstract: 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: August 4, 2006Date of Patent: June 16, 2009Assignee: Microsoft CorporationInventors: Paul C. David, Gerhard A. Schneider, Matthew W. Calkins, Oreste Dorin Ungureanu, Ashraf Michail, Andrey E. Arsov, Leonardo E. Blanco
-
Patent number: 7542049Abstract: 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: March 16, 2006Date of Patent: June 2, 2009Assignee: Microsoft CorporationInventors: Christopher Raubacher, Gregory D. Swedberg, Ashraf A. Michail, Michael Kallay
-
Publication number: 20090123089Abstract: 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: ApplicationFiled: November 14, 2007Publication date: May 14, 2009Applicant: MICROSOFT CORPORATIONInventors: Donald D. Karlov, Ashraf A. Michail
-
Patent number: 7477259Abstract: 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 16, 2006Date of Patent: January 13, 2009Assignee: Microsoft CorporationInventors: Joseph S. Beda, Adam M. Smith, Gerhard A. Schneider, Kevin T. Gallo, Ashraf A. Michail
-
Publication number: 20080270482Abstract: 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: ApplicationFiled: April 27, 2007Publication date: October 30, 2008Applicant: MICROSOFT CORPORATIONInventors: Michael J. Hillberg, Ashraf A. Michail, Sujal S. Parikh
-
Patent number: 7444587Abstract: 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: GrantFiled: September 29, 2000Date of Patent: October 28, 2008Assignee: Microsoft CorporationInventors: Ashraf A. Michail, Mark A. Alcazar, John G. Bedworth