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