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: 11146777
    Abstract: 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: Grant
    Filed: February 15, 2019
    Date of Patent: October 12, 2021
    Assignee: Microsoft Technologv Licensing. LLC
    Inventors: Ashraf A. Michail, Yang You, Michael G. Boulton
  • Publication number: 20200267375
    Abstract: 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: Application
    Filed: February 15, 2019
    Publication date: August 20, 2020
    Inventors: Ashraf A. Michail, Yang You, Michael G. Boulton
  • Patent number: 10049437
    Abstract: 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: Grant
    Filed: November 21, 2016
    Date of Patent: August 14, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Ashraf Michail
  • Publication number: 20180144451
    Abstract: 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: Application
    Filed: November 21, 2016
    Publication date: May 24, 2018
    Inventor: Ashraf Michail
  • Patent number: 9785549
    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: Grant
    Filed: April 27, 2007
    Date of Patent: October 10, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael J. Hillberg, Ashraf A. Michail, Sujal S. Parikh
  • Patent number: 9153193
    Abstract: 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: Grant
    Filed: September 9, 2011
    Date of Patent: October 6, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gerhard Schneider, Bede Jordan, Ashraf Michail, Brendan J. Clark, Pawel Wiktor Olszta
  • Patent number: 8872838
    Abstract: 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: Grant
    Filed: September 9, 2011
    Date of Patent: October 28, 2014
    Assignee: Microsoft Corporation
    Inventors: Gerhard Schneider, Bede Jordan, Ashraf Michail, Brendan J. Clark, Pawel Wiktor Olszta
  • Patent number: 8872839
    Abstract: 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: Grant
    Filed: September 9, 2011
    Date of Patent: October 28, 2014
    Assignee: Microsoft Corporation
    Inventors: Brendan J. Clark, Ashraf Michail, Bede Jordan, George Xin Gao
  • Publication number: 20140143700
    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: November 25, 2013
    Publication date: May 22, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Mikhail Shatalin, Gunjan A. Shah, Shawn T. Oster, Jonathan D. Sheller, Ashraf A. Michail, Akhilesh Kaza, Alan C.T. Liu
  • Patent number: 8718408
    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: Grant
    Filed: October 23, 2013
    Date of Patent: May 6, 2014
    Assignee: Microsoft Corporation
    Inventors: Donald D. Karlov, Ashraf A. Michail
  • Publication number: 20140043351
    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: October 23, 2013
    Publication date: February 13, 2014
    Applicant: Microsoft Corporation
    Inventors: Donald D. Karlov, Ashraf A. Michail
  • Patent number: 8629886
    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: Grant
    Filed: December 7, 2010
    Date of Patent: January 14, 2014
    Assignee: Microsoft Corporation
    Inventors: Ashraf Michail, Alan Liu
  • Patent number: 8624899
    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: Grant
    Filed: September 27, 2010
    Date of Patent: January 7, 2014
    Assignee: Microsoft Corporation
    Inventors: Ashraf A. Michail, David B. Teitlebaum, Brandon C. Furtwangler
  • Patent number: 8595640
    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: Grant
    Filed: December 2, 2010
    Date of Patent: November 26, 2013
    Assignee: Microsoft Corporation
    Inventors: Mikhail Shatalin, Gunjan A. Shah, Shawn T. Oster, Jonathan D. Sheller, Ashraf A. Michail, Akhilesh Kaza, Alan C. T. Liu
  • Patent number: 8594465
    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: Grant
    Filed: November 14, 2007
    Date of Patent: November 26, 2013
    Assignee: Microsoft Corporation
    Inventors: Donald D. Karlov, Ashraf A. Michail
  • Patent number: 8510753
    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: Grant
    Filed: June 27, 2008
    Date of Patent: August 13, 2013
    Assignee: Microsoft Corporation
    Inventors: Ashraf A. Michail, Akhilesh Kaza, Kevin T. Gallo, Sam J. George, Joseph P. Stegman, Michael R. Harsh, Mark Alcazar
  • Publication number: 20130063463
    Abstract: 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: Application
    Filed: September 9, 2011
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Brendan J. Clark, Ashraf Michail, Bede Jordan, George Xin Gao
  • Publication number: 20130063464
    Abstract: 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: Application
    Filed: September 9, 2011
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Gerhard Schneider, Bede Jordan, Ashraf Michail, Brendan J. Clark, Pawel Wiktor Olszta
  • Publication number: 20130063459
    Abstract: 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: Application
    Filed: September 9, 2011
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Gerhard Schneider, Bede Jordan, Ashraf Michail, Brendan J. Clark, Pawel Wiktor Olszta
  • Patent number: 8345045
    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: Grant
    Filed: March 4, 2008
    Date of Patent: January 1, 2013
    Assignee: Microsoft Corporation
    Inventors: Greg D. Schechter, Gerhard Schneider, Ashraf A. Michail, Brendan Clark