Patents by Inventor Ashraf Michail
Ashraf 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: 11146777Abstract: A method for efficiently populating a display is provided. The method can include identifying a point at which a world ray intersects a capture surface defined by capture points of a scene, identifying a capture point closest to the identified point, generating a motion vector based on the motion vectors for each of two directly adjacent capture points, identifying a vector in the generated motion vector at a location at which the world ray intersects an image surface, and providing a pixel value from the image data of the capture point, the pixel value corresponding to a location in the image surface at which a vector of the generated motion vector points to the location at which the world ray intersects the image surface within a threshold distance or after a specified number of iterations.Type: GrantFiled: February 15, 2019Date of Patent: October 12, 2021Assignee: Microsoft Technologv Licensing. LLCInventors: Ashraf A. Michail, Yang You, Michael G. Boulton
-
Publication number: 20200267375Abstract: A method for efficiently populating a display is provided. The method can include identifying a point at which a world ray intersects a capture surface defined by capture points of a scene, identifying a capture point closest to the identified point, generating a motion vector based on the motion vectors for each of two directly adjacent capture points, identifying a vector in the generated motion vector at a location at which the world ray intersects an image surface, and providing a pixel value from the image data of the capture point, the pixel value corresponding to a location in the image surface at which a vector of the generated motion vector points to the location at which the world ray intersects the image surface within a threshold distance or after a specified number of iterations.Type: ApplicationFiled: February 15, 2019Publication date: August 20, 2020Inventors: Ashraf A. Michail, Yang You, Michael G. Boulton
-
Patent number: 10049437Abstract: ClearType resolution recovery resampling of source content is performed as the source content is transformed from a source presentation format to a destination presentation format by at least distinguishing between pixels of a bitmap corresponding to the source content that are ClearType pixels and pixels of the same bitmap that are non-ClearType pixels. Identification of ClearType pixels is performed by identifying Alpha values of pixels that are less than 1, by identifying high frequency color fringing of pixels and/or by explicit declarations in the bitmap. The bitmap is resampled by applying transforms, such as convolution filters, in selective and discriminating ways, such that, for example, the ClearType pixels of the bitmap are resampled/transformed on a subpixel granularity and the non-ClearType pixels of the same bitmap are transformed on a pixel granularity.Type: GrantFiled: November 21, 2016Date of Patent: August 14, 2018Assignee: Microsoft Technology Licensing, LLCInventor: Ashraf Michail
-
Publication number: 20180144451Abstract: ClearType resolution recovery resampling of source content is performed as the source content is transformed from a source presentation format to a destination presentation format by at least distinguishing between pixels of a bitmap corresponding to the source content that are ClearType pixels and pixels of the same bitmap that are non-ClearType pixels. Identification of ClearType pixels is performed by identifying Alpha values of pixels that are less than 1, by identifying high frequency color fringing of pixels and/or by explicit declarations in the bitmap. The bitmap is resampled by applying transforms, such as convolution filters, in selective and discriminating ways, such that, for example, the ClearType pixels of the bitmap are resampled/transformed on a subpixel granularity and the non-ClearType pixels of the same bitmap are transformed on a pixel granularity.Type: ApplicationFiled: November 21, 2016Publication date: May 24, 2018Inventor: Ashraf Michail
-
Patent number: 9785549Abstract: 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: GrantFiled: April 27, 2007Date of Patent: October 10, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Michael J. Hillberg, Ashraf A. Michail, Sujal S. Parikh
-
Patent number: 9153193Abstract: Rendering different types of graphical content using a single primitive type. Embodiments enable graphical elements of different content types representing a scene to be rendered as a batch based on the single primitive type, thereby reducing data transfer and improving processing performance. For example, each graphical element in a batch of graphical elements can rendered based modifications to instances of a template shape, which represents a single primitive type usable for rendering different types of graphical content. The modifications to each instance can include modifying the instance according transformation data, clip data, and/or width and height data to position the instance in a scene, and filling the modified instance according to one or more of shape or brush data corresponding to the graphical element.Type: GrantFiled: September 9, 2011Date of Patent: October 6, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Gerhard Schneider, Bede Jordan, Ashraf Michail, Brendan J. Clark, Pawel Wiktor Olszta
-
Patent number: 8872838Abstract: Performing primitive composition within a user interface thread, enhancing the ability to scale a user interface framework to computing devices having limited resources. In one or more embodiments, a user interface thread walks a user interface hierarchy that describes elements of a program's user interface and directly generates static Graphics Processing Unit (GPU) data structures representing at least a portion of the user interface hierarchy. The user interface thread passes the static GPU data structures to a composition thread, which uses these static GPU data structures during generation of a plurality of video frames. This includes the composition thread, based on the static GPU data structures, sending GPU data and GPU commands for the plurality of video frames to a GPU for rendering.Type: GrantFiled: September 9, 2011Date of Patent: October 28, 2014Assignee: Microsoft CorporationInventors: Gerhard Schneider, Bede Jordan, Ashraf Michail, Brendan J. Clark, Pawel Wiktor Olszta
-
Patent number: 8872839Abstract: Performing real-time atlasing of graphics data and creation and maintenance of texture atlases for applications having dynamic graphics content. Embodiments include allocating a texture atlas configured to store textural elements for use in rendering graphical elements, and providing a graphics processing unit (GPU) access to the texture atlas. During subsequent execution of an application, when a graphical element of the application is to be rendered by the GPU, a block of space can be allocated within the texture atlas and a textural element corresponding to the graphical element can be stored within the allocated block. The GPU therefore has access to the textural element when rendering the graphical element.Type: GrantFiled: September 9, 2011Date of Patent: October 28, 2014Assignee: Microsoft CorporationInventors: Brendan J. Clark, Ashraf Michail, Bede Jordan, George Xin Gao
-
Publication number: 20140143700Abstract: 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: November 25, 2013Publication date: May 22, 2014Applicant: MICROSOFT CORPORATIONInventors: Mikhail Shatalin, Gunjan A. Shah, Shawn T. Oster, Jonathan D. Sheller, Ashraf A. Michail, Akhilesh Kaza, Alan C.T. Liu
-
Patent number: 8718408Abstract: 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: GrantFiled: October 23, 2013Date of Patent: May 6, 2014Assignee: Microsoft CorporationInventors: Donald D. Karlov, Ashraf A. Michail
-
Publication number: 20140043351Abstract: 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: October 23, 2013Publication date: February 13, 2014Applicant: Microsoft CorporationInventors: Donald D. Karlov, Ashraf A. Michail
-
Patent number: 8629886Abstract: 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: GrantFiled: December 7, 2010Date of Patent: January 14, 2014Assignee: Microsoft CorporationInventors: Ashraf Michail, Alan Liu
-
Patent number: 8624899Abstract: 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: GrantFiled: September 27, 2010Date of Patent: January 7, 2014Assignee: Microsoft CorporationInventors: Ashraf A. Michail, David B. Teitlebaum, Brandon C. Furtwangler
-
Patent number: 8595640Abstract: 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: GrantFiled: December 2, 2010Date of Patent: November 26, 2013Assignee: Microsoft CorporationInventors: Mikhail Shatalin, Gunjan A. Shah, Shawn T. Oster, Jonathan D. Sheller, Ashraf A. Michail, Akhilesh Kaza, Alan C. T. Liu
-
Patent number: 8594465Abstract: 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: GrantFiled: November 14, 2007Date of Patent: November 26, 2013Assignee: Microsoft CorporationInventors: Donald D. Karlov, Ashraf A. Michail
-
Patent number: 8510753Abstract: 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: GrantFiled: June 27, 2008Date of Patent: August 13, 2013Assignee: Microsoft CorporationInventors: Ashraf A. Michail, Akhilesh Kaza, Kevin T. Gallo, Sam J. George, Joseph P. Stegman, Michael R. Harsh, Mark Alcazar
-
Publication number: 20130063463Abstract: Performing real-time atlasing of graphics data and creation and maintenance of texture atlases for applications having dynamic graphics content. Embodiments include allocating a texture atlas configured to store textural elements for use in rendering graphical elements, and providing a graphics processing unit (GPU) access to the texture atlas. During subsequent execution of an application, when a graphical element of the application is to be rendered by the GPU, a block of space can be allocated within the texture atlas and a textural element corresponding to the graphical element can be stored within the allocated block. The GPU therefore has access to the textural element when rendering the graphical element.Type: ApplicationFiled: September 9, 2011Publication date: March 14, 2013Applicant: Microsoft CorporationInventors: Brendan J. Clark, Ashraf Michail, Bede Jordan, George Xin Gao
-
Publication number: 20130063464Abstract: Rendering different types of graphical content using a single primitive type. Embodiments enable graphical elements of different content types representing a scene to be rendered as a batch based on the single primitive type, thereby reducing data transfer and improving processing performance. For example, each graphical element in a batch of graphical elements can rendered based modifications to instances of a template shape, which represents a single primitive type usable for rendering different types of graphical content. The modifications to each instance can include modifying the instance according transformation data, clip data, and/or width and height data to position the instance in a scene, and filling the modified instance according to one or more of shape or brush data corresponding to the graphical element.Type: ApplicationFiled: September 9, 2011Publication date: March 14, 2013Applicant: Microsoft CorporationInventors: Gerhard Schneider, Bede Jordan, Ashraf Michail, Brendan J. Clark, Pawel Wiktor Olszta
-
Publication number: 20130063459Abstract: Performing primitive composition within a user interface thread, enhancing the ability to scale a user interface framework to computing devices having limited resources. In one or more embodiments, a user interface thread walks a user interface hierarchy that describes elements of a program's user interface and directly generates static Graphics Processing Unit (GPU) data structures representing at least a portion of the user interface hierarchy. The user interface thread passes the static GPU data structures to a composition thread, which uses these static GPU data structures during generation of a plurality of video frames. This includes the composition thread, based on the static GPU data structures, sending GPU data and GPU commands for the plurality of video frames to a GPU for rendering.Type: ApplicationFiled: September 9, 2011Publication date: March 14, 2013Applicant: Microsoft CorporationInventors: Gerhard Schneider, Bede Jordan, Ashraf Michail, Brendan J. Clark, Pawel Wiktor Olszta
-
Patent number: 8345045Abstract: 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: GrantFiled: March 4, 2008Date of Patent: January 1, 2013Assignee: Microsoft CorporationInventors: Greg D. Schechter, Gerhard Schneider, Ashraf A. Michail, Brendan Clark