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: 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: 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
  • 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: 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
  • 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
  • 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: 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: 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